JP5892961B2 - Image processing device - Google Patents
Image processing device Download PDFInfo
- Publication number
- JP5892961B2 JP5892961B2 JP2013032650A JP2013032650A JP5892961B2 JP 5892961 B2 JP5892961 B2 JP 5892961B2 JP 2013032650 A JP2013032650 A JP 2013032650A JP 2013032650 A JP2013032650 A JP 2013032650A JP 5892961 B2 JP5892961 B2 JP 5892961B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- area
- virtual address
- mapping
- address space
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Input (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
本発明は、画像処理装置に関するものである。 The present invention relates to an image processing apparatus.
近年、複合機などの画像形成装置には、オペレーティングシステムが実装されており、オペレーティングシステムによる仮想記憶方式のメモリー管理が実現されている(例えば特許文献1参照)。 2. Description of the Related Art In recent years, an operating system is mounted on an image forming apparatus such as a multifunction peripheral, and virtual storage type memory management by the operating system is realized (see, for example, Patent Document 1).
画像形成装置などの画像処理装置では、ページ記述言語で記述された印刷データに対してラスタライズ処理を行うことで、色情報および/または階調情報を有する画像データと、属性情報を有する属性データとが順番に生成され、メモリーなどに記憶される。その際、ラスタライズ処理のページ順に沿って画像データおよび属性データが配列されて記憶される。 In an image processing apparatus such as an image forming apparatus, rasterization processing is performed on print data described in a page description language, whereby image data having color information and / or gradation information, attribute data having attribute information, Are generated in order and stored in a memory or the like. At that time, the image data and the attribute data are arranged and stored along the page order of the rasterizing process.
図7は、画像データおよび属性データの記憶状態の一例を示す図である。図7において、属性データ101a,102a,103aは、第1ページから第3ページまでの各ページの属性データであり、画像データ101b,102b,103bは、第1ページから第3ページまでの各ページの画像データである。
FIG. 7 is a diagram illustrating an example of a storage state of image data and attribute data. In FIG. 7,
上述のように属性データ101a〜103aおよび画像データ101b〜103bが配列されて記憶される場合、図7に示すように、属性データ101a〜103aと画像データ101b〜103bが交互に配列される。しかしながら、属性データ101a〜103aと画像データ101b〜103bとで異なる処理を行う場合、その処理を高速に行うために、属性データ101a〜103aと画像データ101b〜103bとを、仮想アドレス空間内でそれぞれ連続させておく必要がある。
When the
このため、図7に示すように、memcpyなどのシステムコールを使用して、それぞれが連続するように、属性データ101a〜103aと画像データ101b〜103bとを移動させている。
Therefore, as shown in FIG. 7, the
しかしながら、memcpyなどのシステムコールを使用して属性データ101a〜103aおよび画像データ101b〜103bを移動させる場合、そのシステムコールの実行によるプロセッサーやメモリーなどのリソースに対する負荷が大きいため、他の処理が遅延する可能性がある。
However, when the
本発明は、上記の問題に鑑みてなされたものであり、プロセッサーやメモリーなどのリソースに対する負荷を小さくしつつ、属性データと画像データとを仮想アドレス空間内でそれぞれ連続させるようにすることができる画像処理装置を得ることを目的とする。 The present invention has been made in view of the above problems, and can reduce attribute loads on resources such as a processor and a memory while allowing attribute data and image data to continue in a virtual address space. An object is to obtain an image processing apparatus.
本発明に係る画像処理装置は、第1プロセスと第2プロセスとに共有される共有メモリー領域が確保される記憶装置と、複数ページ画像のそれぞれについて、前記ページ画像内の各画素の色および/または階調を示す画像データと前記ページ画像内の各画素の属性を示す属性データとを、順番に生成し前記記憶装置に記憶するデータ生成部と、前記第1プロセスにおいて、前記記憶装置の物理アドレス空間と前記第1プロセスの仮想アドレス空間との対応関係を示すマッピングデータを、前記複数ページ画像のそれぞれについての前記画像データおよび/または前記属性データのデータ領域が前記仮想アドレス空間で連続するように設定し前記共有メモリー領域に記憶するマッピング設定部と、前記第1プロセスとは異なる第2プロセスにおいて、前記第2プロセス内で、あるデータ領域に対するデータアクセス要求が発生したとき、あるデータ領域についての前記第1プロセスの仮想アドレス空間における領域特定情報を取得し、前記共有メモリー領域内の前記マッピングデータを参照して、取得した前記領域特定情報に基づき、前記データ領域に対応する前記物理アドレス空間での領域を特定し、特定した前記物理アドレス空間における領域を、前記第2プロセスの仮想アドレス空間にマッピングするマッピング参照部とを備える。
The image processing apparatus according to the present invention includes a storage device that secures a shared memory area shared by the first process and the second process, and a color of each pixel in the page image and / or a plurality of page images. Alternatively, image data indicating gradation and attribute data indicating the attribute of each pixel in the page image are generated in order and stored in the storage device, and in the first process, the physical of the storage device The mapping data indicating the correspondence between the address space and the virtual address space of the first process is set so that the data area of the image data and / or the attribute data for each of the plurality of page images is continuous in the virtual address space. And a mapping setting unit that stores the same in the shared memory area and a second process different from the first process. Te, in the second process, when the data access request is generated for a data area, acquires the region specifying information in the virtual address space of the first process for a data area, the mapping of the shared memory area Based on the acquired area specifying information with reference to data, an area in the physical address space corresponding to the data area is specified, and the specified area in the physical address space is set as the virtual address space of the second process. And a mapping reference unit for mapping to.
本発明によれば、画像処理装置において、プロセッサーやメモリーなどのリソースに対する負荷を小さくしつつ、属性データと画像データとを仮想アドレス空間内でそれぞれ連続させるようにすることができる。 According to the present invention, in an image processing apparatus, attribute data and image data can be made continuous in a virtual address space while reducing a load on resources such as a processor and a memory.
以下、図に基づいて本発明の実施の形態を説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図1は、本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。図1に示す画像処理装置1は、プリンター、複合機などの画像形成装置に内蔵され、ネットワークインターフェイス2、印刷装置3などに接続されている。画像処理装置1は、コンピューター、ASIC(Application Specific Integrated Circuit)などで構成されている。ネットワークインターフェイス2は、図示せぬホスト装置などとネットワークを介して通信を行う通信装置である。ネットワークインターフェイス2は、例えば、図示せぬホスト装置から、ページ記述言語で記述された印刷データを受信する。印刷装置3は、画像処理装置1から画像データを供給され、その画像データに対する各種処理(ハーフトーニングなど)を行い、処理後のデータに基づいて印刷を実行する。
FIG. 1 is a block diagram showing a configuration of an image processing apparatus according to an embodiment of the present invention. An image processing apparatus 1 shown in FIG. 1 is built in an image forming apparatus such as a printer or a multifunction peripheral, and is connected to a
この画像処理装置1は、演算処理装置11、RAM(Random Access Memory)12、および補助記憶装置13を有する。
The image processing device 1 includes an arithmetic processing device 11, a RAM (Random Access Memory) 12, and an
演算処理装置11は、CPU(Central Processing Unit)、ASICなどで、各種処理を実行する処理部を実現する。RAM12は、演算処理装置11による処理に関連する各種データを一時的に記憶する揮発性の記憶装置である。補助記憶装置13は、演算処理装置11のCPUにより実行されるプログラムや、各種データを記憶している不揮発性の記憶装置である。補助記憶装置13としては、ROM(Read Only Memory)、フラッシュメモリー、ハードディスクドライブなどが使用される。
The arithmetic processing unit 11 is a CPU (Central Processing Unit), an ASIC, or the like to realize a processing unit that executes various processes. The
演算処理装置11では、例えば、Linux(登録商標)などのマルチプロセス方式のオペレーティングシステムが稼動し、メインプロセス21において、アドレス管理部31、データ生成部32、およびマッピング設定部33が実現され、他の1または複数のプロセス22のそれぞれにおいて、マッピング参照部41およびデータ処理部42が実現される。
In the arithmetic processing unit 11, for example, a multi-process operating system such as Linux (registered trademark) is operated, and in the main process 21, an
アドレス管理部31は、RAM12の物理アドレス空間と仮想アドレス空間との対応関係を示すマッピングデータに基づいて、仮想アドレス空間と物理アドレス空間との間のアドレス変換を行う。このマッピングデータは、オペレーティングシステムによる共有メモリー領域に記憶される。
The
このマッピングデータには、各データ領域について、そのデータ領域の物理アドレス空間での領域特定情報と仮想アドレス空間での領域特定情報とが互いに関連付けられている。 In this mapping data, for each data area, area specifying information in the physical address space of the data area and area specifying information in the virtual address space are associated with each other.
通常、Linux(登録商標)などのマルチプロセス方式のオペレーティングシステムでは、複数のプロセスが、それぞれ、独立した仮想アドレス空間を使用し、それぞれの仮想アドレス空間を、互いに異なる物理アドレス領域に関連付けている。したがって、通常、あるプロセスは、他のプロセスの仮想アドレスを関知していないため、他のプロセスのデータに対するアクセスを直接的に行うことはできない。このため、複数のプロセスがアクセス可能な共有メモリー領域などを使用してプロセス間通信が実現されている。 Usually, in a multi-process operating system such as Linux (registered trademark), a plurality of processes each use an independent virtual address space, and each virtual address space is associated with a different physical address area. Therefore, usually, a certain process does not know the virtual address of another process, and therefore cannot directly access data of another process. For this reason, inter-process communication is realized using a shared memory area accessible by a plurality of processes.
この実施の形態では、メインプロセス21およびプロセス22に共有される共有メモリー領域がRAM12に確保され、上述のマッピングデータが、その共有メモリー領域に記憶される。これにより、メインプロセス21およびプロセス22からマッピングデータがアクセス可能となっている。
In this embodiment, a shared memory area shared by the main process 21 and the
データ生成部32は、複数ページ画像のそれぞれについて、ページ画像内の各画素の色および/または階調を示す画像データとページ画像内の各画素の属性を示す属性データとを、順番に生成しRAM12に記憶する。この実施の形態では、データ生成部32は、ページ記述言語で記述された印刷データからバンドごとに画像データと属性データとを生成しRAM12に記憶する。なお、属性データは、画像処理において色処理、階調処理などの設定に使用される。属性データは、例えば文字に属する画素か否かといった画素ごとの情報を含む。また、データ生成部32は、予め指定されている物理アドレスに画像データおよび属性データを書き込むようにしてもよいし、予め指定されている仮想アドレスに画像データおよび属性データを書き込むようにしてもよい。
The
マッピング設定部33は、メインプロセス21において、複数ページ画像についての属性データおよび/または画像データが仮想アドレス空間で連続するように、共有メモリー領域内にマッピングデータを設定する。つまり、このマッピングデータは、メインプロセス21のマッピングデータである。
In the main process 21, the
この実施の形態では、マッピング設定部33は、仮想アドレス空間内において所定サイズの仮想アドレス領域を確保し、画像データがその仮想アドレス領域内の所定の第1の仮想アドレスから連続するように、属性データがその仮想アドレス領域内の所定の第2の仮想アドレスから連続するようにマッピングデータを設定する。
In this embodiment, the
マッピング参照部41は、メインプロセス21とは異なるプロセス22において、(a)あるデータ領域(プログラム上では、あるデータ変数、あるデータ配列など)についてのメインプロセス21の仮想アドレス空間における領域特定情報を取得し、(b)共有メモリー領域内のマッピングデータを参照して、取得した領域特定情報に基づき、そのデータ領域に対応する物理アドレス空間での領域を特定し、(c)特定した物理アドレス空間における領域を、当該プロセス22の仮想アドレス空間にマッピングする。
In the
なお、メインプロセス21は、1つであるが、プロセス22は、1つでも複数でもよい。
The number of main processes 21 is one, but the number of
ここでは、データ領域は、例えば、上述の1ページ分の画像データまたは1ページ分の属性データの領域である。 Here, the data area is, for example, the above-mentioned image data for one page or attribute data for one page.
データ処理部42は、プロセス22において、メインプロセス21によって管理されているデータ(ここでは、上述の画像データおよび属性データの少なくとも一方)に対して所定の処理を実行する。データ処理部42により実行される処理は、プロセス22ごとに異なるものでもよいし、同一のものでもよい。
In the
この実施の形態では、メインプロセス21の仮想アドレス空間での注目領域についての領域特定情報として、マッピング設定部33により確保される仮想アドレス領域の先頭から注目領域の先頭までのオフセットと、注目領域のサイズとの対が使用される。
In this embodiment, as area specifying information about the attention area in the virtual address space of the main process 21, an offset from the beginning of the virtual address area to the beginning of the attention area secured by the
そのため、この実施の形態では、マッピング参照部41は、領域特定情報として、メインプロセス21の仮想アドレス空間における仮想アドレス領域の先頭から、プロセス22からアクセスしたいデータ領域の先頭までのオフセット、およびそのデータ領域のサイズを取得し、取得したオフセットおよびサイズを検索キーとして、マッピングデータ内に登録されている、メインプロセス21の仮想アドレス空間での注目領域についての領域特定情報を検索し、ヒットした領域特定情報に関連付けられている物理アドレス領域の領域特定情報(例えば、領域の先頭アドレスと領域サイズ)を、そのプロセス22からアクセスしたいデータ領域の領域特定情報として特定する。
Therefore, in this embodiment, the
さらに、この実施の形態では、マッピング設定部33は、共有メモリー領域内のマッピングデータを参照して、指定されたデータ領域のオフセットおよびサイズを特定し、領域特定情報としてマッピング参照部41に供給する。
Furthermore, in this embodiment, the
さらに、この実施の形態では、マッピング参照部41は、当該プロセス22内で、データ処理部42によるそのデータ領域に対するデータアクセス要求が発生したときに、上述のように特定した物理アドレス空間での領域を、プロセス22の仮想アドレス空間にマッピングし、そのデータアクセス要求によるデータアクセスが終了した後に、その物理アドレス空間での領域を、当該プロセス22の仮想アドレス空間からアンマッピングする。
Further, in this embodiment, the
また、この実施の形態では、この仮想アドレス領域は、データ生成部32により生成される画像データおよび属性データに割り当てられる、RAM12の物理アドレス領域より広く確保される。
In this embodiment, the virtual address area is secured wider than the physical address area of the
次に、上記画像処理装置1の動作について説明する。 Next, the operation of the image processing apparatus 1 will be described.
ここでは、メインプロセス21の仮想アドレス空間と物理アドレス空間とのマッピングと、他のプロセス22によるデータアクセスについて説明する。
Here, mapping between the virtual address space and the physical address space of the main process 21 and data access by
(1)メインプロセス21の仮想アドレス空間と物理アドレス空間とのマッピング (1) Mapping of virtual address space and physical address space of main process 21
まず、データ生成部32は、ネットワークインターフェイス2により受信された印刷データに対してラスタライズ処理を行い、印刷データから画像データと属性データをバンドごとに生成し、印刷画像の1ページごとにRAM12に記憶する。
First, the
印刷データに基づき全ページの画像データと属性データが生成され、RAM12に記憶されると、マッピング設定部33は、マッピングデータの設定を次にようにして行う。
When image data and attribute data of all pages are generated based on the print data and stored in the
図2は、図1に示す画像処理装置1のメインプロセス21でのマッピング設定部33の動作について説明するフローチャートである。
FIG. 2 is a flowchart for explaining the operation of the
まず、マッピング設定部33は、先頭ページの属性データの先頭物理アドレスおよびデータ長を特定するとともに(ステップS1)、先頭ページの画像データの先頭物理アドレスおよびデータ長を特定する(ステップS2)。
First, the
次に、マッピング設定部33は、後続のページのデータが存在するか否かを判定し(ステップS3)、後続のページのデータが存在すれば、次のページの属性データの先頭物理アドレスおよびデータ長を特定するとともに(ステップS4)、そのページの画像データの先頭物理アドレスおよびデータ長を特定する(ステップS5)。その後、ステップS3に戻り、最終ページまで、マッピング設定部33は、各ページの、属性データの先頭物理アドレスおよびデータ長、並びに、画像データの先頭物理アドレスおよびデータ長を特定する。特定したアドレスおよびデータ長は、RAM12の所定の領域に記憶される。
Next, the
なお、属性データおよび画像データのデータ長は、それぞれ固定であれば、最初に1度だけ特定すればよい。 If the data lengths of the attribute data and the image data are fixed, they need only be specified once at the beginning.
そして、すべてのページについて、属性データの先頭アドレスおよびデータ長、並びに、画像データの先頭アドレスおよびデータ長を特定すると、マッピング設定部33は、マッピングデータを変更して、先頭ページについての、属性データの仮想アドレスを再マッピングするとともに(ステップS6)、画像データの仮想アドレスを再マッピングする(ステップS7)。
When the start address and data length of the attribute data and the start address and data length of the image data are specified for all pages, the
図3は、図1に示す画像処理装置1のメインプロセス21での仮想アドレスの再マッピングについて説明する図である。図3(A)は、物理アドレス空間内の属性データ101a〜103aと画像データ101b〜103bを示す図である。図3(B)は、再マッピング前の、仮想アドレス空間内の属性データ101a〜103aと画像データ101b〜103bを示す図である。図3(C)は、再マッピング後の、仮想アドレス空間内の属性データ101a〜103aと画像データ101b〜103bを示す図である。
FIG. 3 is a diagram for explaining remapping of virtual addresses in the main process 21 of the image processing apparatus 1 shown in FIG. FIG. 3A shows
このとき、図3に示すように、先頭ページの属性データ101aの先頭物理アドレスPA1aから属性データ101aのデータ長L1a分の物理アドレスの範囲は、再マッピング前は仮想アドレスVA1aからデータ長L1a分の仮想アドレスの範囲に関連付けられているが、再マッピング後は仮想アドレスVA11a(つまり、上述の第2の仮想アドレス)からデータ長L1a分の仮想アドレスの範囲に関連付けられる。なお、先頭ページの属性データ101aの仮想記憶領域を移動しない場合には、先頭ページの属性データ101aについては再マッピングを行わないようにしてもよい(この場合、VA1a=VA11a)。
At this time, as shown in FIG. 3, the range of the physical address corresponding to the data length L1a of the
同様に、先頭ページの画像データ101bの先頭物理アドレスPA1bから画像データ101bのデータ長L1b分の物理アドレスの範囲は、再マッピング前は仮想アドレスVA1bからデータ長L1b分の仮想アドレスの範囲に関連付けられているが、再マッピング後は仮想アドレスVA11b(つまり、上述の第1の仮想アドレス)からデータ長L1b分の仮想アドレスの範囲に関連付けられる。
Similarly, the range of the physical address corresponding to the data length L1b of the
次に、マッピング設定部33は、後続のページのデータが存在するか否かを判定し(ステップS8)、後続のページのデータが存在すれば、マッピング設定部33は、マッピングデータを変更して、次のページについての、属性データの仮想アドレスを再マッピングするとともに(ステップS9)、画像データの仮想アドレスを再マッピングする(ステップS10)。このとき、仮想アドレス空間において、このページの属性データが、1つ前のページの属性データに連続するように、再マッピングが行われる。また、同様に、仮想アドレス空間において、このページの画像データが、1つ前のページの画像データに連続するように、再マッピングが行われる。
Next, the
そして、すべてのページについて再マッピングが行われると、マッピング設定部33は、この処理を終了する。
Then, when remapping is performed for all pages, the
図3(A)および図3(B)に示す場合、第2ページの属性データ102aの先頭物理アドレスPA2aから属性データ102aのデータ長L2a分の物理アドレスの範囲は、再マッピング前は仮想アドレスVA2aからデータ長L2a分の仮想アドレスの範囲に関連付けられているが、再マッピング後は仮想アドレスVA12aからデータ長L2a分の仮想アドレスの範囲に関連付けられる。再マッピング後の仮想アドレスVA12aは、次式で、1つ前のページの属性データ101aの仮想アドレスVA11aおよびデータ長L1aから特定される。
In the case shown in FIGS. 3A and 3B, the range of the physical address for the data length L2a of the
VA12a=VA11a+L1a VA12a = VA11a + L1a
同様に、第2ページの画像データ102bの先頭物理アドレスPA2bから画像データ102bのデータ長L2b分の物理アドレスの範囲は、再マッピング前は仮想アドレスVA2bからデータ長L2b分の仮想アドレスの範囲に関連付けられているが、再マッピング後は仮想アドレスVA12bからデータ長L2b分の仮想アドレスの範囲に関連付けられる。再マッピング後の仮想アドレスVA12bは、次式で、1つ前のページの画像データ101bの仮想アドレスVA11bおよびデータ長L1bから特定される。
Similarly, the range of the physical address corresponding to the data length L2b of the
VA12b=VA11b+L1b VA12b = VA11b + L1b
第3ページ以降の属性データおよび画像データについても同様に再マッピングが行われる。 The remapping is similarly performed on the attribute data and image data on the third page and thereafter.
図4は、図1に示す画像処理装置1によるメインプロセス21での仮想アドレスの再マッピング前後の画像データおよび属性データの記憶状態の一例を示す図である。 FIG. 4 is a diagram illustrating an example of storage states of image data and attribute data before and after remapping of virtual addresses in the main process 21 by the image processing apparatus 1 illustrated in FIG.
図4に示すように、この実施の形態では、再マッピングは、所定サイズで予め確保された仮想アドレス領域111内で行われる。上述のようにして、マッピングデータを変更することで、物理アドレス空間では属性データ101a〜103aを移動させることなく、仮想アドレス空間において属性データ101a〜103aを連続させている。同様に、マッピングデータを変更することで、物理アドレス空間では画像データ101b〜103bを移動させることなく、仮想アドレス空間において画像データ101b〜103bを連続させている。
As shown in FIG. 4, in this embodiment, the remapping is performed in a
このようにして、メインプロセス21における仮想アドレス空間と物理アドレス空間とのマッピングが行われる。 In this way, the mapping between the virtual address space and the physical address space in the main process 21 is performed.
(2)他のプロセス22によるデータアクセス
(2) Data access by
図5は、図1に示す画像処理装置において、メインプロセス21で管理されているデータを他のプロセス22からのアクセスする際の処理について説明するシーケンス図である。図6は、図5に示す他のプロセス22の仮想アドレス空間へのデータ領域のマッピングの一例について説明する図である。
FIG. 5 is a sequence diagram for explaining processing when data managed by the main process 21 is accessed from another
プロセス22において、マッピング参照部41は、データ処理部42によるデータ領域(メインプロセス21の管理するデータ領域)に対するデータアクセス要求を検出すると(あるいは、その前に予め)、そのデータ領域についてのメインプロセス21の仮想アドレス空間における領域特定情報をマッピング設定部33に要求する(ステップS21)。
In the
マッピング設定部33は、そのデータ領域の領域特定情報の要求を受け付けると、そのデータ領域を特定し、共有メモリー領域内のマッピングデータを参照して、図6に示すように、メインプロセス21内でのそのデータ領域(例えば図6における領域201)のオフセットおよびサイズを特定し(ステップS22)、領域特定情報としてマッピング参照部41に供給する(ステップS23)。
When the
マッピング参照部41は、その領域特定情報を受け付けると、共有メモリー領域内のマッピングデータ内で、取得した領域特定情報を検索キーとして検索を行い、その領域特定情報に合致する仮想アドレス空間での領域に関連付けられている物理アドレス空間での領域を、指定したデータ領域に対応する物理アドレス空間での領域として特定する(ステップS24)。
Upon receiving the area specifying information, the
そして、マッピング参照部41は、特定した物理アドレス空間での領域を、当該プロセス22の仮想アドレス空間にマッピングする(ステップS25)。図6に示す例では、ステップS24およびステップS25の処理において、プロセス22のデータ処理部42が物理アドレス空間の画像データ102bにアクセスしたい場合、まず、マッピング参照部41は、メインプロセス21の仮想アドレス内の領域201のオフセットおよびサイズを取得し、そのオフセットおよびサイズに関連付けてマッピングデータに登録されている物理アドレス空間での領域を特定し、その領域に対して仮想アドレス空間内の領域202をマッピングする。なお、このとき、データ処理部42が参照する既知の仮想アドレスに、その領域をマッピングするようにしてもよい。
Then, the
このようにしてマッピングが完了した後、データ処理部42は、そのデータ領域の仮想アドレスを指定して、そのデータ領域内のデータにアクセスし、所定のデータ処理を実行する(ステップS26)。このとき、その指定された仮想アドレスが、上述のマッピングに基づいて、物理アドレスに変換され、RAM12上のデータへのアクセスが実行される。
After the mapping is completed in this way, the
その後、マッピング参照部41は、データアクセス要求によるデータアクセスの終了を検出すると、特定したその物理アドレス空間での領域を、プロセス22の仮想アドレス空間からアンマッピングする(ステップS27)。
Thereafter, when the
このようにして、他のプロセス22は、メインプロセス21において管理されている画像データ、属性データなどにアクセスし、データ処理を実行する。
In this way, the
以上のように、上記実施の形態によれば、マッピング設定部33は、複数ページ画像についての属性データが仮想アドレス空間で連続するように、また、複数ページ画像についての画像データが仮想アドレス空間で連続するように、マッピングデータを設定する。
As described above, according to the above embodiment, the
これにより、物理アドレス空間における移動を伴うmemcpyなどのシステムコールを使用しないため、プロセッサーやメモリーなどのリソースに対する負荷を小さくしつつ、属性データと画像データとを仮想アドレス空間内でそれぞれ連続させるようにすることができる。したがって、例えば、異なる圧縮方式で画像データおよび属性データを圧縮し次段の処理に渡す場合、特にそれぞれをバンドごとにパイプライン処理を行うときには、画像データおよび属性データをそれぞれ連続的に読み出せるため、高速に処理を行うことができる。 As a result, since system calls such as memcpy that involve movement in the physical address space are not used, the attribute data and the image data are made continuous in the virtual address space while reducing the load on resources such as the processor and memory. can do. Therefore, for example, when image data and attribute data are compressed by different compression methods and passed to the next stage processing, especially when performing pipeline processing for each band, the image data and attribute data can be read continuously. , Can be processed at high speed.
さらに、上記実施の形態によれば、マッピング参照部41は、メインプロセス21とは異なるプロセス22において、(a)あるデータ領域についてのメインプロセス21の仮想アドレス空間における領域特定情報を取得し、(b)共有メモリー領域内のマッピングデータを参照して、取得した領域特定情報に基づき、そのデータ領域に対応する物理アドレス空間での領域を特定し、(c)特定した物理アドレス空間における領域を、当該プロセス22の仮想アドレス空間にマッピングする。
Furthermore, according to the above embodiment, the
これにより、マルチプロセス環境下で上述のようにメインプロセス21においてマッピングの最適化を行っても、他のプロセス22から、メインプロセス21で管理されているデータへのアクセスが可能となる。
As a result, even if the mapping is optimized in the main process 21 as described above in a multi-process environment, the data managed by the main process 21 can be accessed from
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。 The above-described embodiments are preferred examples of the present invention, but the present invention is not limited to these, and various modifications and changes can be made without departing from the scope of the present invention. is there.
例えば、上記実施の形態において、マッピング設定部33は、画像データおよび属性データに関するマッピングのために仮想アドレス空間を確保する際に、その仮想アドレス空間において既に使用されている部分が存在する場合には、マッピングデータを変更して、既に使用されている部分の仮想アドレスを別の仮想アドレスに置き換えるようにしてもよい。これにより、既存のデータを破壊することなく、属性データと画像データとを仮想アドレス空間内でそれぞれ連続させるようにすることができる。
For example, in the above embodiment, when the
また、上記実施の形態において、マッピング設定部33は、上述の第1および第2の仮想アドレスの一方を、画像データのサイズと属性データのサイズとに基づいて設定するようにしてもよい。例えば、予め確保された仮想アドレス空間の先頭を第2の仮想アドレスとし、予め確保された仮想アドレス空間のサイズに1ページ分の画像データのサイズと1ページ分の画像データのサイズおよび属性データのサイズの和との比を乗じて得られるサイズだけ先頭からオフセットさせた位置を第1の仮想アドレスとする。これにより、予め確保された仮想アドレス領域に記憶可能な画像データおよび属性データのページ数が最大となる。
In the above embodiment, the
また、上記実施の形態において、属性データと画像データとを、別々に確保した2つの仮想アドレス領域に記憶するようにしてもよい。 In the above embodiment, the attribute data and the image data may be stored in two virtual address areas secured separately.
本発明は、例えば、画像形成装置に適用可能である。 The present invention is applicable to, for example, an image forming apparatus.
1 画像処理装置
12 RAM(記憶装置の一例)
21 メインプロセス(第1プロセスの一例)
22 プロセス(第2プロセスの一例)
31 アドレス管理部
32 データ生成部
33 マッピング設定部
41 マッピング参照部
101a〜103a 属性データ
101b〜103b 画像データ
111 仮想アドレス領域
1
21 Main process (example of first process)
22 processes (example of second process)
31
Claims (8)
複数ページ画像のそれぞれについて、前記ページ画像内の各画素の色および/または階調を示す画像データと前記ページ画像内の各画素の属性を示す属性データとを、順番に生成し前記記憶装置に記憶するデータ生成部と、
前記第1プロセスにおいて、前記記憶装置の物理アドレス空間と前記第1プロセスの仮想アドレス空間との対応関係を示すマッピングデータを、前記複数ページ画像のそれぞれについての前記画像データおよび/または前記属性データのデータ領域が前記仮想アドレス空間で連続するように設定し前記共有メモリー領域に記憶するマッピング設定部と、
前記第1プロセスとは異なる第2プロセスにおいて、前記第2プロセス内で、あるデータ領域に対するデータアクセス要求が発生したとき、あるデータ領域についての前記第1プロセスの仮想アドレス空間における領域特定情報を取得し、前記共有メモリー領域内の前記マッピングデータを参照して、取得した前記領域特定情報に基づき、前記データ領域に対応する前記物理アドレス空間での領域を特定し、特定した前記物理アドレス空間における領域を、前記第2プロセスの仮想アドレス空間にマッピングするマッピング参照部と、
を備えることを特徴とする画像処理装置。 A storage device in which a shared memory area shared by the first process and the second process is secured;
For each of a plurality of page images, image data indicating the color and / or gradation of each pixel in the page image and attribute data indicating the attribute of each pixel in the page image are sequentially generated and stored in the storage device. A data generator for storing;
In the first process, mapping data indicating a correspondence relationship between the physical address space of the storage device and the virtual address space of the first process is used as the image data and / or attribute data of each of the plurality of page images . A mapping setting unit for setting the data area to be continuous in the virtual address space and storing the data area in the shared memory area;
In a second process different from the first process, when a data access request for a certain data area occurs in the second process, area specifying information in the virtual address space of the first process for the certain data area is acquired. Then, referring to the mapping data in the shared memory area, the area in the physical address space corresponding to the data area is specified based on the acquired area specifying information, and the specified area in the physical address space Mapping reference unit for mapping the virtual address space of the second process,
An image processing apparatus comprising:
前記マッピング参照部は、前記領域特定情報として、前記第1プロセスの仮想アドレス空間における前記仮想アドレス領域の先頭から前記データ領域までのオフセット、および前記データ領域のサイズを取得し、取得した前記領域特定情報で前記マッピングデータを検索して、前記データ領域に対応する前記物理アドレス空間での領域を特定すること、
を特徴とする請求項1記載の画像処理装置。 The mapping setting unit secures a virtual address area having a predetermined size in the virtual address space, and the attribute data is stored in the virtual address area so that the image data is continuous from a predetermined first virtual address in the virtual address area. Setting the mapping data to be continuous from a predetermined second virtual address in the virtual address area;
The mapping reference unit acquires, as the area specifying information, an offset from the top of the virtual address area to the data area in the virtual address space of the first process and the size of the data area, and acquires the acquired area specifying Searching the mapping data by information to identify an area in the physical address space corresponding to the data area;
The image processing apparatus according to claim 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013032650A JP5892961B2 (en) | 2013-02-21 | 2013-02-21 | Image processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013032650A JP5892961B2 (en) | 2013-02-21 | 2013-02-21 | Image processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014164358A JP2014164358A (en) | 2014-09-08 |
JP5892961B2 true JP5892961B2 (en) | 2016-03-23 |
Family
ID=51614942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013032650A Expired - Fee Related JP5892961B2 (en) | 2013-02-21 | 2013-02-21 | Image processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5892961B2 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4128468B2 (en) * | 2002-02-25 | 2008-07-30 | 株式会社リコー | Information processing apparatus and memory map method |
JP4136397B2 (en) * | 2002-02-25 | 2008-08-20 | 株式会社リコー | Image forming apparatus and memory management method |
US7055015B2 (en) * | 2002-02-25 | 2006-05-30 | Ricoh Company, Ltd. | Information processing apparatus in which processes can reduce overhead of memory access and efficiently share memory |
JP2004240616A (en) * | 2003-02-05 | 2004-08-26 | Mitsubishi Electric Corp | Memory controller and memory access control method |
JP5501298B2 (en) * | 2011-06-29 | 2014-05-21 | 京セラドキュメントソリューションズ株式会社 | Image processing device |
-
2013
- 2013-02-21 JP JP2013032650A patent/JP5892961B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2014164358A (en) | 2014-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4758794B2 (en) | Memory area allocation control device, memory area allocation control program, and memory area allocation control method | |
JP2011113234A (en) | Image processor, and method of operating the image processor | |
JP5706754B2 (en) | Data processing apparatus and data processing method | |
JP5832556B2 (en) | Image processing apparatus and image forming apparatus | |
JP4123368B2 (en) | Information processing device | |
JP2014044527A (en) | Information processing apparatus, control method therefor, program therefor, and storage medium | |
US20170039138A1 (en) | Information processing system, information processing method, and recording medium storing an information processing program | |
JP5892961B2 (en) | Image processing device | |
WO2013111769A1 (en) | Memory management device and image processing device | |
JP5501298B2 (en) | Image processing device | |
US10692171B2 (en) | Method of operating virtual address generator and method of operating system including the same | |
JP2022153614A5 (en) | ||
JP5958195B2 (en) | Virtual memory management system, virtual memory management apparatus, virtual memory initialization method, and virtual memory initialization program | |
JP2005100418A (en) | Data processor and system using it | |
JP5196249B2 (en) | Memory system, method and program for using cache memory | |
JP2017058738A (en) | Information processing apparatus and image forming apparatus | |
JP4350470B2 (en) | Image processing apparatus, image processing method, and program | |
JP6156635B2 (en) | Image processing apparatus and control program | |
US20140306977A1 (en) | Image processing apparatus, image processing method, image processing system, and computer readable storage medium | |
JP2008059452A (en) | Image processor and image processing method | |
JP2009147439A (en) | Image forming device | |
JP5787211B2 (en) | Image processing apparatus and image processing program | |
JP5662702B2 (en) | Image processing apparatus and image processing method | |
JP2015069619A (en) | Image processing apparatus | |
JP5511747B2 (en) | Image forming apparatus and image forming program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150119 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151021 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151029 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151208 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160128 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160223 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5892961 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |