(57)【要約】【課題】  画像処理装置において、プロセッサーやメモリーなどのリソースに対する負荷を小さくしつつ、属性データと画像データとを仮想アドレス空間内でそれぞれ連続させる。【解決手段】  画像形成装置１において、データ生成部３２は、複数ページ画像のそれぞれについて、ページ画像内の各画素の色および／または階調を示す画像データとページ画像内の各画素の属性を示す属性データとを、順番に生成しＲＡＭ１２に記憶する。そして、マッピング設定部３３は、複数ページ画像についての属性データが仮想アドレス空間で連続するように、また、複数ページ画像についての画像データが仮想アドレス空間で連続するように、マッピングデータを設定する。【選択図】  図１
2014164358.tif 000002
【特許請求の範囲】
【請求項１】
第１プロセスと第２プロセスとに共有される共有メモリー領域が確保される記憶装置と、
複数ページ画像のそれぞれについて、前記ページ画像内の各画素の色および／または階調を示す画像データと前記ページ画像内の各画素の属性を示す属性データとを、順番に生成し前記記憶装置に記憶するデータ生成部と、
前記第１プロセスにおいて、前記記憶装置の物理アドレス空間と前記第１プロセスの仮想アドレス空間との対応関係を示すマッピングデータを、前記複数ページ画像についての前記画像データおよび／または前記属性データが前記仮想アドレス空間で連続するように設定し前記共有メモリー領域に記憶するマッピング設定部と、
前記第１プロセスとは異なる第２プロセスにおいて、あるデータ領域についての前記第１プロセスの仮想アドレス空間における領域特定情報を取得し、前記共有メモリー領域内の前記マッピングデータを参照して、取得した前記領域特定情報に基づき、前記データ領域に対応する前記物理アドレス空間での領域を特定し、特定した前記物理アドレス空間における領域を、前記第２プロセスの仮想アドレス空間にマッピングするマッピング参照部と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記マッピング設定部は、前記仮想アドレス空間内において所定サイズの仮想アドレス領域を確保し、前記画像データが前記仮想アドレス領域内の所定の第１の仮想アドレスから連続するように、前記属性データが前記仮想アドレス領域内の所定の第２の仮想アドレスから連続するように前記マッピングデータを設定し、
前記マッピング参照部は、前記領域特定情報として、前記第１プロセスの仮想アドレス空間における前記仮想アドレス領域の先頭から前記データ領域までのオフセット、および前記データ領域のサイズを取得し、取得した前記領域特定情報で前記マッピングデータを検索して、前記データ領域に対応する前記物理アドレス空間での領域を特定すること、
を特徴とする請求項１記載の画像処理装置。
【請求項３】
前記マッピング設定部は、前記マッピングデータを参照して前記オフセットおよび前記サイズを特定し、前記領域特定情報として前記マッピング参照部に供給することを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記マッピング参照部は、前記第２プロセス内で、前記データ領域に対するデータアクセス要求が発生したときに、特定した前記物理アドレス空間での領域を、前記第２プロセスの仮想アドレス空間にマッピングし、前記データアクセス要求によるデータアクセスが終了した後に、特定した前記物理アドレス空間での領域を、前記第２プロセスの仮想アドレス空間からアンマッピングすることを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記仮想アドレス領域は、前記データ生成部により生成される前記画像データおよび前記属性データに割り当てられる、前記記憶装置の物理アドレス領域より広いことを特徴とする請求項２記載の画像処理装置。
【請求項６】
前記第１の仮想アドレスおよび前記第２の仮想アドレスの一方は、前記画像データのサイズと前記属性データのサイズとに基づいて設定されることを特徴とする請求項２記載の画像処理装置。
【請求項７】
前記マッピング設定部は、前記仮想アドレス領域を確保する際に、その仮想アドレス領域において既に使用されている部分が存在する場合には、前記マッピングデータを変更して、前記既に使用されている部分の仮想アドレスを別の仮想アドレスに置き換えることを特徴とする請求項２記載の画像処理装置。
【請求項８】
前記データ生成部は、ページ記述言語で記述された印刷データからバンドごとに前記画像データと前記属性データとを生成し前記記憶装置に記憶することを特徴とする請求項１から請求項７のうちのいずれか１項記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関するものである。
【背景技術】
【０００２】
近年、複合機などの画像形成装置には、オペレーティングシステムが実装されており、オペレーティングシステムによる仮想記憶方式のメモリー管理が実現されている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−２１３０１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
画像形成装置などの画像処理装置では、ページ記述言語で記述された印刷データに対してラスタライズ処理を行うことで、色情報および／または階調情報を有する画像データと、属性情報を有する属性データとが順番に生成され、メモリーなどに記憶される。その際、ラスタライズ処理のページ順に沿って画像データおよび属性データが配列されて記憶される。
【０００５】
図７は、画像データおよび属性データの記憶状態の一例を示す図である。図７において、属性データ１０１ａ，１０２ａ，１０３ａは、第１ページから第３ページまでの各ページの属性データであり、画像データ１０１ｂ，１０２ｂ，１０３ｂは、第１ページから第３ページまでの各ページの画像データである。
【０００６】
上述のように属性データ１０１ａ〜１０３ａおよび画像データ１０１ｂ〜１０３ｂが配列されて記憶される場合、図７に示すように、属性データ１０１ａ〜１０３ａと画像データ１０１ｂ〜１０３ｂが交互に配列される。しかしながら、属性データ１０１ａ〜１０３ａと画像データ１０１ｂ〜１０３ｂとで異なる処理を行う場合、その処理を高速に行うために、属性データ１０１ａ〜１０３ａと画像データ１０１ｂ〜１０３ｂとを、仮想アドレス空間内でそれぞれ連続させておく必要がある。
【０００７】
このため、図７に示すように、ｍｅｍｃｐｙなどのシステムコールを使用して、それぞれが連続するように、属性データ１０１ａ〜１０３ａと画像データ１０１ｂ〜１０３ｂとを移動させている。
【０００８】
しかしながら、ｍｅｍｃｐｙなどのシステムコールを使用して属性データ１０１ａ〜１０３ａおよび画像データ１０１ｂ〜１０３ｂを移動させる場合、そのシステムコールの実行によるプロセッサーやメモリーなどのリソースに対する負荷が大きいため、他の処理が遅延する可能性がある。
【０００９】
本発明は、上記の問題に鑑みてなされたものであり、プロセッサーやメモリーなどのリソースに対する負荷を小さくしつつ、属性データと画像データとを仮想アドレス空間内でそれぞれ連続させるようにすることができる画像処理装置を得ることを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る画像処理装置は、第１プロセスと第２プロセスとに共有される共有メモリー領域が確保される記憶装置と、複数ページ画像のそれぞれについて、前記ページ画像内の各画素の色および／または階調を示す画像データと前記ページ画像内の各画素の属性を示す属性データとを、順番に生成し前記記憶装置に記憶するデータ生成部と、前記第１プロセスにおいて、前記記憶装置の物理アドレス空間と前記第１プロセスの仮想アドレス空間との対応関係を示すマッピングデータを、前記複数ページ画像についての前記画像データおよび／または前記属性データが前記仮想アドレス空間で連続するように設定し前記共有メモリー領域に記憶するマッピング設定部と、前記第１プロセスとは異なる第２プロセスにおいて、あるデータ領域についての前記第１プロセスの仮想アドレス空間における領域特定情報を取得し、前記共有メモリー領域内の前記マッピングデータを参照して、取得した前記領域特定情報に基づき、前記データ領域に対応する前記物理アドレス空間での領域を特定し、特定した前記物理アドレス空間における領域を、前記第２プロセスの仮想アドレス空間にマッピングするマッピング参照部とを備える。
【発明の効果】
【００１１】
本発明によれば、画像処理装置において、プロセッサーやメモリーなどのリソースに対する負荷を小さくしつつ、属性データと画像データとを仮想アドレス空間内でそれぞれ連続させるようにすることができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。
【図２】図２は、図１に示す画像処理装置におけるメインプロセスでのマッピング設定部の動作について説明するフローチャートである。
【図３】図３は、図１に示す画像処理装置によるメインプロセスでの仮想アドレスの再マッピングについて説明する図である。
【図４】図４は、図１に示す画像処理装置によるメインプロセスでの仮想アドレスの再マッピング前後の画像データおよび属性データの記憶状態の一例を示す図である。
【図５】図５は、図１に示す画像処理装置において、メインプロセスで管理されているデータを他のプロセスからのアクセスする際の処理について説明するシーケンス図である。
【図６】図６は、図５に示す他のプロセスの仮想アドレス空間へのデータ領域のマッピングの一例について説明する図である。
【図７】図７は、画像データおよび属性データの記憶状態の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図に基づいて本発明の実施の形態を説明する。
【００１４】
図１は、本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。図１に示す画像処理装置１は、プリンター、複合機などの画像形成装置に内蔵され、ネットワークインターフェイス２、印刷装置３などに接続されている。画像処理装置１は、コンピューター、ＡＳＩＣ（Application Specific Integrated Circuit）などで構成されている。ネットワークインターフェイス２は、図示せぬホスト装置などとネットワークを介して通信を行う通信装置である。ネットワークインターフェイス２は、例えば、図示せぬホスト装置から、ページ記述言語で記述された印刷データを受信する。印刷装置３は、画像処理装置１から画像データを供給され、その画像データに対する各種処理（ハーフトーニングなど）を行い、処理後のデータに基づいて印刷を実行する。
【００１５】
この画像処理装置１は、演算処理装置１１、ＲＡＭ（Random Access Memory）１２、および補助記憶装置１３を有する。
【００１６】
演算処理装置１１は、ＣＰＵ（Central Processing Unit）、ＡＳＩＣなどで、各種処理を実行する処理部を実現する。ＲＡＭ１２は、演算処理装置１１による処理に関連する各種データを一時的に記憶する揮発性の記憶装置である。補助記憶装置１３は、演算処理装置１１のＣＰＵにより実行されるプログラムや、各種データを記憶している不揮発性の記憶装置である。補助記憶装置１３としては、ＲＯＭ（Read Only Memory）、フラッシュメモリー、ハードディスクドライブなどが使用される。
【００１７】
演算処理装置１１では、例えば、Ｌｉｎｕｘ（登録商標）などのマルチプロセス方式のオペレーティングシステムが稼動し、メインプロセス２１において、アドレス管理部３１、データ生成部３２、およびマッピング設定部３３が実現され、他の１または複数のプロセス２２のそれぞれにおいて、マッピング参照部４１およびデータ処理部４２が実現される。
【００１８】
アドレス管理部３１は、ＲＡＭ１２の物理アドレス空間と仮想アドレス空間との対応関係を示すマッピングデータに基づいて、仮想アドレス空間と物理アドレス空間との間のアドレス変換を行う。このマッピングデータは、オペレーティングシステムによる共有メモリー領域に記憶される。
【００１９】
このマッピングデータには、各データ領域について、そのデータ領域の物理アドレス空間での領域特定情報と仮想アドレス空間での領域特定情報とが互いに関連付けられている。
【００２０】
通常、Ｌｉｎｕｘ（登録商標）などのマルチプロセス方式のオペレーティングシステムでは、複数のプロセスが、それぞれ、独立した仮想アドレス空間を使用し、それぞれの仮想アドレス空間を、互いに異なる物理アドレス領域に関連付けている。したがって、通常、あるプロセスは、他のプロセスの仮想アドレスを関知していないため、他のプロセスのデータに対するアクセスを直接的に行うことはできない。このため、複数のプロセスがアクセス可能な共有メモリー領域などを使用してプロセス間通信が実現されている。
【００２１】
この実施の形態では、メインプロセス２１およびプロセス２２に共有される共有メモリー領域がＲＡＭ１２に確保され、上述のマッピングデータが、その共有メモリー領域に記憶される。これにより、メインプロセス２１およびプロセス２２からマッピングデータがアクセス可能となっている。
【００２２】
データ生成部３２は、複数ページ画像のそれぞれについて、ページ画像内の各画素の色および／または階調を示す画像データとページ画像内の各画素の属性を示す属性データとを、順番に生成しＲＡＭ１２に記憶する。この実施の形態では、データ生成部３２は、ページ記述言語で記述された印刷データからバンドごとに画像データと属性データとを生成しＲＡＭ１２に記憶する。なお、属性データは、画像処理において色処理、階調処理などの設定に使用される。属性データは、例えば文字に属する画素か否かといった画素ごとの情報を含む。また、データ生成部３２は、予め指定されている物理アドレスに画像データおよび属性データを書き込むようにしてもよいし、予め指定されている仮想アドレスに画像データおよび属性データを書き込むようにしてもよい。
【００２３】
マッピング設定部３３は、メインプロセス２１において、複数ページ画像についての属性データおよび／または画像データが仮想アドレス空間で連続するように、共有メモリー領域内にマッピングデータを設定する。つまり、このマッピングデータは、メインプロセス２１のマッピングデータである。
【００２４】
この実施の形態では、マッピング設定部３３は、仮想アドレス空間内において所定サイズの仮想アドレス領域を確保し、画像データがその仮想アドレス領域内の所定の第１の仮想アドレスから連続するように、属性データがその仮想アドレス領域内の所定の第２の仮想アドレスから連続するようにマッピングデータを設定する。
【００２５】
マッピング参照部４１は、メインプロセス２１とは異なるプロセス２２において、（ａ）あるデータ領域（プログラム上では、あるデータ変数、あるデータ配列など）についてのメインプロセス２１の仮想アドレス空間における領域特定情報を取得し、（ｂ）共有メモリー領域内のマッピングデータを参照して、取得した領域特定情報に基づき、そのデータ領域に対応する物理アドレス空間での領域を特定し、（ｃ）特定した物理アドレス空間における領域を、当該プロセス２２の仮想アドレス空間にマッピングする。
【００２６】
なお、メインプロセス２１は、１つであるが、プロセス２２は、１つでも複数でもよい。
【００２７】
ここでは、データ領域は、例えば、上述の１ページ分の画像データまたは１ページ分の属性データの領域である。
【００２８】
データ処理部４２は、プロセス２２において、メインプロセス２１によって管理されているデータ（ここでは、上述の画像データおよび属性データの少なくとも一方）に対して所定の処理を実行する。データ処理部４２により実行される処理は、プロセス２２ごとに異なるものでもよいし、同一のものでもよい。
【００２９】
この実施の形態では、メインプロセス２１の仮想アドレス空間での注目領域についての領域特定情報として、マッピング設定部３３により確保される仮想アドレス領域の先頭から注目領域の先頭までのオフセットと、注目領域のサイズとの対が使用される。
【００３０】
そのため、この実施の形態では、マッピング参照部４１は、領域特定情報として、メインプロセス２１の仮想アドレス空間における仮想アドレス領域の先頭から、プロセス２２からアクセスしたいデータ領域の先頭までのオフセット、およびそのデータ領域のサイズを取得し、取得したオフセットおよびサイズを検索キーとして、マッピングデータ内に登録されている、メインプロセス２１の仮想アドレス空間での注目領域についての領域特定情報を検索し、ヒットした領域特定情報に関連付けられている物理アドレス領域の領域特定情報（例えば、領域の先頭アドレスと領域サイズ）を、そのプロセス２２からアクセスしたいデータ領域の領域特定情報として特定する。
【００３１】
さらに、この実施の形態では、マッピング設定部３３は、共有メモリー領域内のマッピングデータを参照して、指定されたデータ領域のオフセットおよびサイズを特定し、領域特定情報としてマッピング参照部４１に供給する。
【００３２】
さらに、この実施の形態では、マッピング参照部４１は、当該プロセス２２内で、データ処理部４２によるそのデータ領域に対するデータアクセス要求が発生したときに、上述のように特定した物理アドレス空間での領域を、プロセス２２の仮想アドレス空間にマッピングし、そのデータアクセス要求によるデータアクセスが終了した後に、その物理アドレス空間での領域を、当該プロセス２２の仮想アドレス空間からアンマッピングする。
【００３３】
また、この実施の形態では、この仮想アドレス領域は、データ生成部３２により生成される画像データおよび属性データに割り当てられる、ＲＡＭ１２の物理アドレス領域より広く確保される。
【００３４】
次に、上記画像処理装置１の動作について説明する。
【００３５】
ここでは、メインプロセス２１の仮想アドレス空間と物理アドレス空間とのマッピングと、他のプロセス２２によるデータアクセスについて説明する。
【００３６】
（１）メインプロセス２１の仮想アドレス空間と物理アドレス空間とのマッピング
【００３７】
まず、データ生成部３２は、ネットワークインターフェイス２により受信された印刷データに対してラスタライズ処理を行い、印刷データから画像データと属性データをバンドごとに生成し、印刷画像の１ページごとにＲＡＭ１２に記憶する。
【００３８】
印刷データに基づき全ページの画像データと属性データが生成され、ＲＡＭ１２に記憶されると、マッピング設定部３３は、マッピングデータの設定を次にようにして行う。
【００３９】
図２は、図１に示す画像処理装置１のメインプロセス２１でのマッピング設定部３３の動作について説明するフローチャートである。
【００４０】
まず、マッピング設定部３３は、先頭ページの属性データの先頭物理アドレスおよびデータ長を特定するとともに（ステップＳ１）、先頭ページの画像データの先頭物理アドレスおよびデータ長を特定する（ステップＳ２）。
【００４１】
次に、マッピング設定部３３は、後続のページのデータが存在するか否かを判定し（ステップＳ３）、後続のページのデータが存在すれば、次のページの属性データの先頭物理アドレスおよびデータ長を特定するとともに（ステップＳ４）、そのページの画像データの先頭物理アドレスおよびデータ長を特定する（ステップＳ５）。その後、ステップＳ３に戻り、最終ページまで、マッピング設定部３３は、各ページの、属性データの先頭物理アドレスおよびデータ長、並びに、画像データの先頭物理アドレスおよびデータ長を特定する。特定したアドレスおよびデータ長は、ＲＡＭ１２の所定の領域に記憶される。
【００４２】
なお、属性データおよび画像データのデータ長は、それぞれ固定であれば、最初に１度だけ特定すればよい。
【００４３】
そして、すべてのページについて、属性データの先頭アドレスおよびデータ長、並びに、画像データの先頭アドレスおよびデータ長を特定すると、マッピング設定部３３は、マッピングデータを変更して、先頭ページについての、属性データの仮想アドレスを再マッピングするとともに（ステップＳ６）、画像データの仮想アドレスを再マッピングする（ステップＳ７）。
【００４４】
図３は、図１に示す画像処理装置１のメインプロセス２１での仮想アドレスの再マッピングについて説明する図である。図３（Ａ）は、物理アドレス空間内の属性データ１０１ａ〜１０３ａと画像データ１０１ｂ〜１０３ｂを示す図である。図３（Ｂ）は、再マッピング前の、仮想アドレス空間内の属性データ１０１ａ〜１０３ａと画像データ１０１ｂ〜１０３ｂを示す図である。図３（Ｃ）は、再マッピング後の、仮想アドレス空間内の属性データ１０１ａ〜１０３ａと画像データ１０１ｂ〜１０３ｂを示す図である。
【００４５】
このとき、図３に示すように、先頭ページの属性データ１０１ａの先頭物理アドレスＰＡ１ａから属性データ１０１ａのデータ長Ｌ１ａ分の物理アドレスの範囲は、再マッピング前は仮想アドレスＶＡ１ａからデータ長Ｌ１ａ分の仮想アドレスの範囲に関連付けられているが、再マッピング後は仮想アドレスＶＡ１１ａ（つまり、上述の第２の仮想アドレス）からデータ長Ｌ１ａ分の仮想アドレスの範囲に関連付けられる。なお、先頭ページの属性データ１０１ａの仮想記憶領域を移動しない場合には、先頭ページの属性データ１０１ａについては再マッピングを行わないようにしてもよい（この場合、ＶＡ１ａ＝ＶＡ１１ａ）。
【００４６】
同様に、先頭ページの画像データ１０１ｂの先頭物理アドレスＰＡ１ｂから画像データ１０１ｂのデータ長Ｌ１ｂ分の物理アドレスの範囲は、再マッピング前は仮想アドレスＶＡ１ｂからデータ長Ｌ１ｂ分の仮想アドレスの範囲に関連付けられているが、再マッピング後は仮想アドレスＶＡ１１ｂ（つまり、上述の第１の仮想アドレス）からデータ長Ｌ１ｂ分の仮想アドレスの範囲に関連付けられる。
【００４７】
次に、マッピング設定部３３は、後続のページのデータが存在するか否かを判定し（ステップＳ８）、後続のページのデータが存在すれば、マッピング設定部３３は、マッピングデータを変更して、次のページについての、属性データの仮想アドレスを再マッピングするとともに（ステップＳ９）、画像データの仮想アドレスを再マッピングする（ステップＳ１０）。このとき、仮想アドレス空間において、このページの属性データが、１つ前のページの属性データに連続するように、再マッピングが行われる。また、同様に、仮想アドレス空間において、このページの画像データが、１つ前のページの画像データに連続するように、再マッピングが行われる。
【００４８】
そして、すべてのページについて再マッピングが行われると、マッピング設定部３３は、この処理を終了する。
【００４９】
図３（Ａ）および図３（Ｂ）に示す場合、第２ページの属性データ１０２ａの先頭物理アドレスＰＡ２ａから属性データ１０２ａのデータ長Ｌ２ａ分の物理アドレスの範囲は、再マッピング前は仮想アドレスＶＡ２ａからデータ長Ｌ２ａ分の仮想アドレスの範囲に関連付けられているが、再マッピング後は仮想アドレスＶＡ１２ａからデータ長Ｌ２ａ分の仮想アドレスの範囲に関連付けられる。再マッピング後の仮想アドレスＶＡ１２ａは、次式で、１つ前のページの属性データ１０１ａの仮想アドレスＶＡ１１ａおよびデータ長Ｌ１ａから特定される。
【００５０】
ＶＡ１２ａ＝ＶＡ１１ａ＋Ｌ１ａ
【００５１】
同様に、第２ページの画像データ１０２ｂの先頭物理アドレスＰＡ２ｂから画像データ１０２ｂのデータ長Ｌ２ｂ分の物理アドレスの範囲は、再マッピング前は仮想アドレスＶＡ２ｂからデータ長Ｌ２ｂ分の仮想アドレスの範囲に関連付けられているが、再マッピング後は仮想アドレスＶＡ１２ｂからデータ長Ｌ２ｂ分の仮想アドレスの範囲に関連付けられる。再マッピング後の仮想アドレスＶＡ１２ｂは、次式で、１つ前のページの画像データ１０１ｂの仮想アドレスＶＡ１１ｂおよびデータ長Ｌ１ｂから特定される。
【００５２】
ＶＡ１２ｂ＝ＶＡ１１ｂ＋Ｌ１ｂ
【００５３】
第３ページ以降の属性データおよび画像データについても同様に再マッピングが行われる。
【００５４】
図４は、図１に示す画像処理装置１によるメインプロセス２１での仮想アドレスの再マッピング前後の画像データおよび属性データの記憶状態の一例を示す図である。
【００５５】
図４に示すように、この実施の形態では、再マッピングは、所定サイズで予め確保された仮想アドレス領域１１１内で行われる。上述のようにして、マッピングデータを変更することで、物理アドレス空間では属性データ１０１ａ〜１０３ａを移動させることなく、仮想アドレス空間において属性データ１０１ａ〜１０３ａを連続させている。同様に、マッピングデータを変更することで、物理アドレス空間では画像データ１０１ｂ〜１０３ｂを移動させることなく、仮想アドレス空間において画像データ１０１ｂ〜１０３ｂを連続させている。
【００５６】
このようにして、メインプロセス２１における仮想アドレス空間と物理アドレス空間とのマッピングが行われる。
【００５７】
（２）他のプロセス２２によるデータアクセス
【００５８】
図５は、図１に示す画像処理装置において、メインプロセス２１で管理されているデータを他のプロセス２２からのアクセスする際の処理について説明するシーケンス図である。図６は、図５に示す他のプロセス２２の仮想アドレス空間へのデータ領域のマッピングの一例について説明する図である。
【００５９】
プロセス２２において、マッピング参照部４１は、データ処理部４２によるデータ領域（メインプロセス２１の管理するデータ領域）に対するデータアクセス要求を検出すると（あるいは、その前に予め）、そのデータ領域についてのメインプロセス２１の仮想アドレス空間における領域特定情報をマッピング設定部３３に要求する（ステップＳ２１）。
【００６０】
マッピング設定部３３は、そのデータ領域の領域特定情報の要求を受け付けると、そのデータ領域を特定し、共有メモリー領域内のマッピングデータを参照して、図６に示すように、メインプロセス２１内でのそのデータ領域（例えば図６における領域２０１）のオフセットおよびサイズを特定し（ステップＳ２２）、領域特定情報としてマッピング参照部４１に供給する（ステップＳ２３）。
【００６１】
マッピング参照部４１は、その領域特定情報を受け付けると、共有メモリー領域内のマッピングデータ内で、取得した領域特定情報を検索キーとして検索を行い、その領域特定情報に合致する仮想アドレス空間での領域に関連付けられている物理アドレス空間での領域を、指定したデータ領域に対応する物理アドレス空間での領域として特定する（ステップＳ２４）。
【００６２】
そして、マッピング参照部４１は、特定した物理アドレス空間での領域を、当該プロセス２２の仮想アドレス空間にマッピングする（ステップＳ２５）。図６に示す例では、ステップＳ２４およびステップＳ２５の処理において、プロセス２２のデータ処理部４２が物理アドレス空間の画像データ１０２ｂにアクセスしたい場合、まず、マッピング参照部４１は、メインプロセス２１の仮想アドレス内の領域２０１のオフセットおよびサイズを取得し、そのオフセットおよびサイズに関連付けてマッピングデータに登録されている物理アドレス空間での領域を特定し、その領域に対して仮想アドレス空間内の領域２０２をマッピングする。なお、このとき、データ処理部４２が参照する既知の仮想アドレスに、その領域をマッピングするようにしてもよい。
【００６３】
このようにしてマッピングが完了した後、データ処理部４２は、そのデータ領域の仮想アドレスを指定して、そのデータ領域内のデータにアクセスし、所定のデータ処理を実行する（ステップＳ２６）。このとき、その指定された仮想アドレスが、上述のマッピングに基づいて、物理アドレスに変換され、ＲＡＭ１２上のデータへのアクセスが実行される。
【００６４】
その後、マッピング参照部４１は、データアクセス要求によるデータアクセスの終了を検出すると、特定したその物理アドレス空間での領域を、プロセス２２の仮想アドレス空間からアンマッピングする（ステップＳ２７）。
【００６５】
このようにして、他のプロセス２２は、メインプロセス２１において管理されている画像データ、属性データなどにアクセスし、データ処理を実行する。
【００６６】
以上のように、上記実施の形態によれば、マッピング設定部３３は、複数ページ画像についての属性データが仮想アドレス空間で連続するように、また、複数ページ画像についての画像データが仮想アドレス空間で連続するように、マッピングデータを設定する。
【００６７】
これにより、物理アドレス空間における移動を伴うｍｅｍｃｐｙなどのシステムコールを使用しないため、プロセッサーやメモリーなどのリソースに対する負荷を小さくしつつ、属性データと画像データとを仮想アドレス空間内でそれぞれ連続させるようにすることができる。したがって、例えば、異なる圧縮方式で画像データおよび属性データを圧縮し次段の処理に渡す場合、特にそれぞれをバンドごとにパイプライン処理を行うときには、画像データおよび属性データをそれぞれ連続的に読み出せるため、高速に処理を行うことができる。
【００６８】
さらに、上記実施の形態によれば、マッピング参照部４１は、メインプロセス２１とは異なるプロセス２２において、（ａ）あるデータ領域についてのメインプロセス２１の仮想アドレス空間における領域特定情報を取得し、（ｂ）共有メモリー領域内のマッピングデータを参照して、取得した領域特定情報に基づき、そのデータ領域に対応する物理アドレス空間での領域を特定し、（ｃ）特定した物理アドレス空間における領域を、当該プロセス２２の仮想アドレス空間にマッピングする。
【００６９】
これにより、マルチプロセス環境下で上述のようにメインプロセス２１においてマッピングの最適化を行っても、他のプロセス２２から、メインプロセス２１で管理されているデータへのアクセスが可能となる。
【００７０】
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【００７１】
例えば、上記実施の形態において、マッピング設定部３３は、画像データおよび属性データに関するマッピングのために仮想アドレス空間を確保する際に、その仮想アドレス空間において既に使用されている部分が存在する場合には、マッピングデータを変更して、既に使用されている部分の仮想アドレスを別の仮想アドレスに置き換えるようにしてもよい。これにより、既存のデータを破壊することなく、属性データと画像データとを仮想アドレス空間内でそれぞれ連続させるようにすることができる。
【００７２】
また、上記実施の形態において、マッピング設定部３３は、上述の第１および第２の仮想アドレスの一方を、画像データのサイズと属性データのサイズとに基づいて設定するようにしてもよい。例えば、予め確保された仮想アドレス空間の先頭を第２の仮想アドレスとし、予め確保された仮想アドレス空間のサイズに１ページ分の画像データのサイズと１ページ分の画像データのサイズおよび属性データのサイズの和との比を乗じて得られるサイズだけ先頭からオフセットさせた位置を第１の仮想アドレスとする。これにより、予め確保された仮想アドレス領域に記憶可能な画像データおよび属性データのページ数が最大となる。
【００７３】
また、上記実施の形態において、属性データと画像データとを、別々に確保した２つの仮想アドレス領域に記憶するようにしてもよい。
【産業上の利用可能性】
【００７４】
本発明は、例えば、画像形成装置に適用可能である。
【符号の説明】
【００７５】
１  画像処理装置
１２  ＲＡＭ（記憶装置の一例）
２１  メインプロセス（第１プロセスの一例）
２２  プロセス（第２プロセスの一例）
３１  アドレス管理部
３２  データ生成部
３３  マッピング設定部
４１  マッピング参照部
１０１ａ〜１０３ａ  属性データ
１０１ｂ〜１０３ｂ  画像データ
１１１  仮想アドレス領域
【図１】
2014164358.tif 000003
【図２】
2014164358.tif 000004
【図３】
2014164358.tif 000005
【図４】
2014164358.tif 000006
【図５】
2014164358.tif 000007
【図６】
2014164358.tif 000008
【図７】
2014164358.tif 000009