[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JPH08272981A - Image processor - Google Patents

Image processor

Info

Publication number
JPH08272981A
JPH08272981A JP7773795A JP7773795A JPH08272981A JP H08272981 A JPH08272981 A JP H08272981A JP 7773795 A JP7773795 A JP 7773795A JP 7773795 A JP7773795 A JP 7773795A JP H08272981 A JPH08272981 A JP H08272981A
Authority
JP
Japan
Prior art keywords
image processing
image
memory
processing
job
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.)
Pending
Application number
JP7773795A
Other languages
Japanese (ja)
Inventor
Kazuya Yamada
和也 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP7773795A priority Critical patent/JPH08272981A/en
Publication of JPH08272981A publication Critical patent/JPH08272981A/en
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)
  • Image Input (AREA)
  • Digital Computer Display Output (AREA)

Abstract

PURPOSE: To process a delay execution system image processing pipeline by using a memory efficiently on the whole by performing the image processing immediately by a process execution control means when an image processing means stores the whole image in the memory temporarily. CONSTITUTION: The image processor 11 consists of a process storage means 13 which stores image process instructions given from a host application 16, the image processing means 14 which processes an image stored in an image storage means 12 according to the image process instructions stored in the storage means 13, and the control means 15 which controls the execution of this image process. And, the control means 15 consists of a detecting means 21 which detects whether or not a given image process instruction requires a page buffer, a memory securing means 22 which secures the page buffer by using a system call of an OS when necessary, a process start means 234 which starts the actual image process by the processing means 14, and a postprocess means 14 which releases used resources that become unnecessary after the image process ends.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、複数の原始的な画像処
理モジュールを用意することによりその組合せにより多
種多様な画像処理機能を提供するような画像処理方式に
関する。これらの画像処理機能は、例えば文書エディタ
や描画ツール、あるいは画像伝送装置やプリンタ等、デ
ジタル画像を取り扱う様々なシステムにおいて利用され
る。例えばUNIX(登録商標)やDOSのようなオペ
レーティングシステム上で画像処理を行なう場合には、
処理を行なうために必要なメモリ領域を確保するために
システムコール等を用いてシステムより空きメモリを要
求する。メモリ領域の使用が終った時には、後のプロセ
スや他のプロセスがその領域を使用できるように使用の
終ったメモリ領域を解放する。メモリ資源の節約のため
には、不要となったメモリ領域をできるだけ早くシステ
ムに解放することが重要である。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image processing system in which a plurality of primitive image processing modules are prepared to provide various image processing functions by combining them. These image processing functions are used in various systems that handle digital images, such as a document editor, a drawing tool, an image transmission device and a printer. For example, when performing image processing on an operating system such as UNIX (registered trademark) or DOS,
A system call is used to request free memory from the system in order to secure the memory area necessary for processing. When the memory area is used up, the used memory area is released so that a later process or another process can use the area. To save memory resources, it is important to release unnecessary memory areas to the system as soon as possible.

【0002】このような画像処理機能は、しばしば画像
処理ライブラリファイルとして提供され、その場合には
画像処理機能を利用したいアプリケーションプログラム
とリンクすることによりその機能が利用される。本発明
は、特にこのようなメモリの要求や解放を伴うシステム
上で画像処理を行なう際に、従来方式の利点を損なうこ
となくメモリの有効利用を行なうために利用することが
できる。
Such an image processing function is often provided as an image processing library file, and in that case, the function is used by linking with an application program which wants to use the image processing function. INDUSTRIAL APPLICABILITY The present invention can be used for effective use of memory without impairing the advantages of the conventional method, particularly when performing image processing on a system that requires or releases such memory.

【0003】[0003]

【従来の技術】従来の画像処理方式においては、複数の
原始的な画像処理モジュールを、例えば、文献D.S.
Dyer,“A Dataflow Toolkit
forVisualization”,IEEE Co
mputer Graphics and Appli
cations 10(4),July 1990,p
p.62 ln.3−44に記載されているように、あ
る画像処理モジュールの出力が次の画像処理モジュール
の入力となるようなデータフローモデルに基づいてパイ
プライン化し、あるいは:文献MIT X Conso
rtium,“X Image Extention−
Protocol Reference Manua
l”,Public Review Draft,De
cember 23,1992,Version 4.
12,pp.5−1〜5−2に記載されているように、
例えば有向向閉路グラフ(DAG)のようなグラフ構造
を形成するように構成し、パイプラインあるいはグラフ
構造等に構成されたモジュール群を一つの画像処理モジ
ュールとして実行する方式がある。このような画像処理
方式をパイプライン方式と呼ぶことにする。また、構成
されたモジュール群をパイプライン、構成単位となる原
始的な画像処理をジョブと呼ぶことにする。
2. Description of the Related Art In a conventional image processing system, a plurality of primitive image processing modules are disclosed in, for example, Document D. S.
Dyer, "A Dataflow Toolkit
for Visualization ”, IEEE Co
mputer Graphics and Appli
situations 10 (4), July 1990, p.
p. 62 ln. As described in 3-44, pipelined based on a dataflow model such that the output of one image processing module becomes the input of the next image processing module, or: Document MIT X Conso.
rium, “X Image Extension-
Protocol Reference Manual
l ”, Public Review Draft, De
Cember 23, 1992, Version 4.
12, pp. As described in 5-1 and 5-2,
For example, there is a method in which a module group configured to form a graph structure such as a directed closed circuit graph (DAG) and configured as a pipeline or a graph structure is executed as one image processing module. Such an image processing method will be called a pipeline method. Further, the configured module group will be referred to as a pipeline, and the primitive image processing as a structural unit will be referred to as a job.

【0004】このような画像処理方式においては、原始
的なモジュールを十分に用意すれば高度な専用化された
モジュールをいくつも個別に開発することなく、必要な
機能を開発することができ、開発コストを上げることな
く汎用の画像処理機能を提供することが出来るという利
点がある。
In such an image processing system, if sufficient primitive modules are prepared, it is possible to develop necessary functions without individually developing a number of highly specialized modules. There is an advantage that a general-purpose image processing function can be provided without increasing the cost.

【0005】しかしながら、パイプライン方式において
は、例えば文献“SolarisXIL 1.0 Im
aging Libraray Programme
r’s Guide”, February 199
3,pp.297に記載されているように、複数の画像
処理モジュールを使って一つの画像データを処理する場
合等に、それぞれのジョブが逐次的に実行されるため、
中間結果を保持するために一時的にメモリに画像データ
を全面保持しなければならない。このような画像データ
を全面保持するためのメモリをページバッファと呼ぶこ
とにすると、ページバッファへのアクセス回数がパイプ
ラインを構成するジョブの数に比例して多くなり、通常
大量のメモリ空間を必要とするページバッファへの多量
のアクセスは大量のCPUパワーやメモリを消費し実行
速度を著しく低下させる。
However, in the pipeline system, for example, the document "Solaris XIL 1.0 Im" is used.
aging Libraray Program
r's Guide ”, February 199
3, pp. As described in H.297, when processing one image data using a plurality of image processing modules, each job is executed sequentially,
In order to hold the intermediate result, it is necessary to temporarily hold the entire image data in the memory. If we call a memory for holding such whole image data a page buffer, the number of accesses to the page buffer will increase in proportion to the number of jobs that make up the pipeline, and a large amount of memory space is usually required. Therefore, a large amount of access to the page buffer consumes a large amount of CPU power and memory and significantly reduces the execution speed.

【0006】このように画像処理を行なってきた後にそ
の出力結果が使用されるという保証はないので、例えば
パイプラインに新たに追加されたジョブにエラーが生じ
た場合や、出力結果を使用するジョブが接続されなかっ
た場合、それまでに大量の計算機資源を消費して行なっ
てきた計算がすべて無駄となってしまうという問題点を
有していた。
Since there is no guarantee that the output result will be used after image processing is performed in this way, for example, when an error occurs in a job newly added to the pipeline, or a job using the output result. However, there is a problem in that all the computations that have been performed by consuming a large amount of computer resources until then will be wasted.

【0007】このような問題点を解決するために、例え
ば文献MIT X Consortium,“X Im
age Extention−Protocol Re
ference Manual”,Public Re
view Draft,December 23,19
92,Version 4.12,pp.5−3や、文
献“Solaris XIL 1.0 Imaging
LibrarayProgrammer’s Gui
de”,February 1993,pp.298−
299に記載されているように、パイプラインあるいは
グラフ構造等を構成する段階では実際の画像処理を行な
わず、画像処理命令を記憶あるいはモジュールの初期化
等の比較的計算コストのかからない処理しか行なわず、
指示された段階、あるいは必要となった段階になってか
ら実際の処理を行なう方式がある。このようなパイプラ
イン方式を遅延実行方式と呼ぶことにする。
In order to solve such a problem, for example, the document MIT X Consortium, "X Im.
age Extension-Protocol Re
ference Manual ", Public Re
view draft, December 23, 19
92, Version 4.12, pp. 5-3 and the document "Solaris XIL 1.0 Imaging"
LibrayProgrammer's Gui
de ", February 1993, pp. 298-
As described in U.S.A. 299, no actual image processing is performed at the stage of constructing a pipeline or a graph structure, and only relatively inexpensive processing such as storing image processing instructions or initializing modules is performed. ,
There is a method in which the actual processing is performed after the designated stage or the required stage. Such a pipeline method will be called a delayed execution method.

【0008】遅延実行方式においては、各ジョブ内部で
行なわれる画像処理やページバッファ等の中間バッファ
へのアクセスは、指示された場合、あるいは必要となっ
た場合にしか行なわれないので、大量の計算機資源を消
費する画像処理が始まる前にパラメータ不良やメモリ不
足等の単純なエラーを検出することができ無駄が少なく
てすむ。また、特開平5−207266号公報に記載さ
れているように、画像処理を始める前に記憶している画
像処理ジョブの実行順序を入れ換える、或いは、パイプ
ライン中にある画像処理のシーケンスを検出した場合
に、より最適化されたジョブに置き換える等の画像処理
方法の変更を行なうことにより、より高速に処理した
り、より高画質の出力結果を得ることができるといった
利点を有する。
In the delayed execution method, image processing performed in each job and access to an intermediate buffer such as a page buffer are performed only when instructed or necessary, so that a large number of computers are required. A simple error such as a parameter defect or a memory shortage can be detected before the resource-consuming image processing is started, and the waste is reduced. Further, as described in JP-A-5-207266, the execution order of the image processing jobs stored before the image processing is started is changed, or the image processing sequence in the pipeline is detected. In this case, by changing the image processing method such as replacing the job with a more optimized job, there is an advantage that processing can be performed at higher speed and a higher quality output result can be obtained.

【0009】[0009]

【発明が解決しようとする課題】しかしながら、遅延実
行方式においては、内部ページバッファを保持するよう
なジョブがパイプラインに複数接続されている場合、接
続時に初期化を行なってページバッファの確保を行なっ
てしまうと大部分が同時に使用されないページバッファ
を数多く確保し、一つのジョブの実行がすべて完了して
から次のジョブの実行を始める方式に比べて非常に多く
のメモリを消費するという問題点を有する。あるいは、
接続時に初期化を行なわず実行時にページバッファの確
保を行い、ページバッファの使用が終了する都度解放を
なうと、非常に多くのメモリを消費すると言う問題点は
解決するものの、エラー検出を早期に行なえるという遅
延実行方式の利点が損なわれる。このような内部ページ
バッファを保持するようなジョブとしては、例えば回転
やアフィン変換のような座標変換処理や、フーリエ変換
等の画像解析処理が挙げられる。
However, in the delayed execution method, when a plurality of jobs holding the internal page buffer are connected to the pipeline, initialization is performed at the time of connection to secure the page buffer. The problem is that a large number of page buffers that are not used at the same time are secured, which consumes an extremely large amount of memory compared to the method in which execution of one job is completed and execution of the next job is started. Have. Alternatively,
Although the problem of consuming a lot of memory if the page buffer is secured at runtime without being initialized at the time of connection and released each time the page buffer is used up, error detection can be done early. The advantage of the delayed execution method that can be performed is lost. Examples of jobs that hold such an internal page buffer include coordinate conversion processing such as rotation and affine transformation, and image analysis processing such as Fourier transformation.

【0010】不必要なページバッファが多く確保されて
も正常に動作させるためにはシステム資源として大容量
のメモリを用意しなければならず、これはシステムのコ
ストアップにつながる。また、実行時にページバッファ
の確保を行なう方式では、大量の計算機資源を消費して
多くの画像処理を行なった後にページバッファを確保し
ようとして失敗した場合に、処理が継続できずそれまで
に行なった計算がすべて無駄となる。
Even if a large number of unnecessary page buffers are secured, a large-capacity memory must be prepared as a system resource for normal operation, which leads to an increase in system cost. In addition, in the method of allocating a page buffer at the time of execution, if an attempt to allocate a page buffer fails after consuming a large amount of computer resources and performing a lot of image processing, the processing cannot be continued until then. All calculations are wasted.

【0011】図20は、従来技術による画像処理の一例
である。画像処理装置が例えばホストアプリケーション
から画像処理命令と処理を行なう画像を与えられ、処理
結果の画像を出力するとすれば、まずホストアプリケー
ションは画像処理装置に画像処理命令を与え、これが処
理記憶手段に記憶される。先に述べた遅延実行方式の画
像処理装置を例にとると、例えばホストアプリケーショ
ンからの画像処理命令はステップ81において画像処理
ジョブとして処理記憶手段に記憶される。また、次の画
像処理命令が与えられると、次に実行する画像処理ジョ
ブとして処理記憶手段に追加される。以下同様に、画像
処理ジョブの追加が終了するまでこれらのステップが繰
り返され(ステップ84)、すべての画像処理ジョブが
処理記憶手段に追加された後、ステップ85において画
像処理が実行される。処理中には例えば中間結果を格納
するバッファメモリ等の資源が要求される場合があるの
で、このように処理のために資源を確保した場合には、
ステップ86において処理の終了後不要となった資源を
解放する。
FIG. 20 shows an example of image processing according to the prior art. If the image processing apparatus is given an image processing command and an image to be processed by the host application and outputs the image of the processing result, the host application first gives the image processing command to the image processing apparatus, and this is stored in the processing storage means. To be done. Taking the image processing apparatus of the delayed execution system described above as an example, for example, an image processing command from the host application is stored in the processing storage means as an image processing job in step 81. Further, when the next image processing command is given, it is added to the processing storage means as an image processing job to be executed next. Similarly, these steps are repeated until the addition of the image processing job is completed (step 84), and after all the image processing jobs are added to the processing storage means, the image processing is executed in step 85. Resources such as buffer memory for storing intermediate results may be required during processing, so if resources are secured for processing in this way,
In step 86, resources that are no longer needed after the processing is released are released.

【0012】このとき、例えば画像処理手段の内部状態
の初期化や処理に必要なメモリ等の資源の確保を行なっ
ておく(ステップ82)ことにより、パラメータ不良や
メモリ不足等によるエラーを早期に検出することができ
る。通常、デジタル画像処理は、大量のデータにアクセ
スする必要から時間がかかるものであり、複数の画像処
理ジョブを順次実行してきた後に初期化不良によるエラ
ーを検出すると(ステップ83)それまで大量の計算資
源を消費して実行してきた処理が無駄になる。
At this time, for example, by initializing the internal state of the image processing means and securing resources such as a memory necessary for processing (step 82), an error due to a parameter defect or a memory shortage can be detected early. can do. Normally, digital image processing requires time because it requires access to a large amount of data, and if an error due to initialization failure is detected after sequentially executing a plurality of image processing jobs (step 83), a large amount of calculation is performed until then. The processing that consumes resources and executes is wasted.

【0013】一方、図21は、処理実行制御手段を合わ
せ持つ従来技術による画像処理装置の一例である。同様
にホストアプリケーションからの指示等により画像処理
ジョブが処理記憶手段に記憶される(ステップ91)。
このとき、ホストアプリケーションから処理の即時実行
を指示されたり(ステップ92)、与えられた画像処理
ジョブが例えばヒストグラム等の値を出力するジョブで
あれば(ステップ93)、画像処理ジョブの追加が終了
する前であっても、それまで与えられた画像処理ジョブ
を実行する(ステップ94)。処理の即時実行の指示に
は、例えばジョブの追加を指示する手続きインターフェ
ースに即時実行を行なうか否かのフラグを設け、このフ
ラグが立っていれば即時実行を行なうと規定すればよ
い。また、値を出力するジョブであるかどうかを判断す
るには、たとえばあらかじめ画像処理手段の持つすべて
のジョブの種類をテーブルに記憶し、ジョブの種類の各
項目について値を出力するジョブであるかどうかを示す
フラグを用意すればよい。この場合には、例えば画像処
理ジョブが追加される毎にジョブの種類から前記テーブ
ルを参照して値を出力するジョブであるかどうかを判断
する。
On the other hand, FIG. 21 shows an example of an image processing apparatus according to the prior art which also has a processing execution control means. Similarly, the image processing job is stored in the processing storage means according to an instruction from the host application (step 91).
At this time, if the host application gives an instruction to execute the process immediately (step 92) or if the given image processing job is a job that outputs a value such as a histogram (step 93), the addition of the image processing job is completed. Even before the execution, the image processing job given up to that point is executed (step 94). The instruction for immediate execution of the process may be defined, for example, by providing a procedure interface for instructing the addition of a job with a flag indicating whether or not the immediate execution is performed, and if this flag is set, the immediate execution is performed. Further, in order to determine whether or not the job is a job that outputs a value, for example, is it a job that stores all job types of the image processing unit in advance in a table and outputs a value for each item of the job type? You just need to prepare a flag that indicates whether or not it is correct. In this case, for example, each time an image processing job is added, it is determined from the job type whether the job outputs a value by referring to the table.

【0014】しかしながら、例えば90°回転や縦方向
の鏡像等のページバッファを用意して入力画像を内部的
に保持する必要のあるような画像処理ジョブの初期化に
おいてページバッファの確保を行なった場合、処理記憶
手段に保持されている画像処理ジョブにこのようなペー
ジバッファを確保するジョブが複数存在すると、それぞ
れがページバッファを持つことになり、非常に多くのメ
モリ資源が同時に必要となる。しかも例えばそれぞれの
ページバッファを持つジョブが、入力ページバッファが
満たされるまで画像データを出力しないような場合に
は、2つ目のページバッファが処理結果のデータで満た
されるまでは3つ目のページバッファにはデータが送ら
れないので、3つ目以降のページバッファを初めから確
保するのは無駄となる。
However, when the page buffer is secured in the initialization of the image processing job that requires the page buffer for 90 ° rotation or the mirror image in the vertical direction to internally hold the input image, for example. If there are a plurality of jobs that secure such a page buffer in the image processing jobs held in the processing storage means, each of them has a page buffer, and a very large amount of memory resources are required at the same time. Moreover, for example, when a job having each page buffer does not output image data until the input page buffer is filled, the third page is filled until the second page buffer is filled with the processing result data. Since no data is sent to the buffer, it is useless to secure the third and subsequent page buffers from the beginning.

【0015】本発明は、このような従来方式の問題点に
鑑みてなされたもので、これらの問題点をできるだけ解
決しつつ複数の画像処理ジョブから構成される遅延実行
方式の画像処理パイプラインを全体的に効率良くメモリ
を使用して処理を行なう方式を提供することを目的とす
る。
The present invention has been made in view of the above problems of the conventional system. An image processing pipeline of a delayed execution system composed of a plurality of image processing jobs is provided while solving these problems as much as possible. It is an object of the present invention to provide a method of efficiently performing processing using a memory.

【0016】[0016]

【課題を解決するための手段】第1の発明においては、
従来の遅延実行方式の画像処理パイプラインに対して、
遅延実行を制御する遅延実行制御部を有し、この遅延実
行制御部が接続されたジョブがページバッファを必要と
するかどうかを検出して遅延実行を行なうかどうかを判
断するページバッフア検出手段と、遅延実行を行なわな
いと判断された場合に実際にページバッフアを確保する
ページバッフア確保手段と、ページバッファを確保した
後にパイプラインの前段に接続された画像処理を実行さ
せる画像処理起動手段と、前段の画像処理が終了した後
に前段の画像処理で用いるために確保された資源を解放
する後処理手段を含む点が異なる。
In the first invention,
For the conventional delayed execution type image processing pipeline,
A page buffer detection means having a delayed execution control unit for controlling delayed execution, and detecting whether a job to which the delayed execution control unit is connected requires a page buffer and determining whether to execute the delayed execution. And the page buffer securing means that actually secures the page buffer when it is determined not to execute the delayed execution, and the image processing start that executes the image processing connected to the preceding stage of the pipeline after securing the page buffer. It is different in that it includes a means and a post-processing means for releasing resources reserved for use in the image processing of the first stage after the image processing of the first stage is completed.

【0017】本発明の画像処理方式においては、ページ
バッファを保持するようなジョブをパイプラインに接続
する際には、ページバッファを確保した後直ちにそれよ
り前段の画像処理を行なってしまう。その結果は確保さ
れたページバッファに格納され、前段のジョブで使用す
るために確保されたメモリやファイル等のさまざまな計
算機資源は、処理がすべて終了するので解放することが
できる。
In the image processing system of the present invention, when a job holding a page buffer is connected to the pipeline, the image processing of the preceding stage is performed immediately after the page buffer is secured. The result is stored in the reserved page buffer, and various computer resources such as a memory and a file reserved for use in the preceding job can be released because the processing is completed.

【0018】次にいま一度ページバッファを保持するよ
うなジョブがパイプラインに接続された場合には、同様
にページバッファを確保した後直ちに画像処理を行な
い、その結果が新しいページバッファに格納される。こ
のとき、先に確保したページバッフアはこのジョブの前
段のジョブに属するものであり、処理がすべて終了して
いるので解放することができる。
Next, when a job that holds the page buffer once again is connected to the pipeline, image processing is performed immediately after securing the page buffer, and the result is stored in a new page buffer. . At this time, the page buffer previously secured belongs to the preceding job of this job and can be released because all the processing has been completed.

【0019】パイプラインがDAG構造を有し分岐を伴
う場合には、ページバッファを保持するジョブにおいて
画像処理を完了しても前段のジョブの有する計算機資源
をすべて解放できない場合がある。例えば、ページバッ
ファを保持するジョブの前段に分岐を行なうジョブがあ
り、この分岐ジョブ自身がページバッフアを保持する場
合である。このような場合、もしもこのページバッファ
を保持するジョブの画像処理が完了した時点で分岐ジョ
ブの有する資源を解放すると、もうーつの分岐先に接続
されたジョブが分岐ジョブに画像を要求した時に必要な
資源、この場合で言えばページバッファが解放されてい
るために処理を続けることができない。
When the pipeline has a DAG structure and is accompanied by branching, it may be impossible to release all the computer resources of the preceding job even if the image processing is completed in the job holding the page buffer. For example, this is a case where there is a job that branches before the job that holds the page buffer and the branch job itself holds the page buffer. In such a case, if the resources of the branch job are released when the image processing of the job holding this page buffer is completed, it is necessary when the job connected to the other branch destination requests an image from the branch job. Resource, in this case the page buffer, has been released and cannot continue.

【0020】そこでこのような場合には、ページバッフ
ァを保持するジョブから資源の解放の要求が前段に伝え
られる際に、分岐ジョブではその分岐パス上の処理が終
ったことを記憶して、分岐ジョブにおける資源の解放は
行なわない。ただし、分岐ジョブの更に前段に対して
は、処理が完了している筈であるので資源解放の要求を
伝達する。このために分岐ジョブを構成する画像処理手
段は、各分岐パスに対応する処理終了確認手段を有す
る。あるいは、単純に分岐パスの数を記憶し処理の終了
した、または、まだ終了しないパスの数をカウントする
カウンタを設け、これと比較を行なうことによりすべて
のジョブの終了を判断しても良い。あるいは、処理の進
行を監視する処理監視部を別に設け、処理監視部が処理
終了確認手段を有しても良い。
Therefore, in such a case, when the job holding the page buffer transmits a resource release request to the preceding stage, the branch job stores the fact that the processing on the branch path is completed and branches. Resources are not released in the job. However, since the processing should have been completed, the resource release request is transmitted to the preceding stage of the branch job. For this reason, the image processing means forming the branch job has a processing end confirmation means corresponding to each branch path. Alternatively, the end of all jobs may be determined by simply providing a counter that stores the number of branch paths and counts the number of paths that have completed processing or have not yet completed processing, and compare with this counter. Alternatively, a process monitoring unit for monitoring the progress of the process may be separately provided, and the process monitoring unit may have a process end confirmation unit.

【0021】分岐ジョブからのすべての分岐パスに対し
処理が終了したことが確認されたら、分岐ジョブの保持
するページバッファを含む該分岐ジョブにおける資源の
解放を行なう。
When it is confirmed that the processing has been completed for all branch paths from the branch job, resources in the branch job including the page buffer held by the branch job are released.

【0022】このようにページバッファを保持するよう
なジョブをパイプラインに接続する際には、ページバッ
ファを確保した後直ちに画像処理を行い、その前段のジ
ョブで使用するために確保された計算機資源を解放する
ことにより、その他のジョブの接続時には遅延実行方式
を用いてもパイプライン全体で同時に高々2面のページ
バッファしか保持することはない。
When a job holding a page buffer is connected to the pipeline in this way, image processing is performed immediately after the page buffer is reserved, and the computer resources reserved for use in the job in the preceding stage. By releasing the above, even if the delayed execution method is used when other jobs are connected, only at most two page buffers are simultaneously held in the entire pipeline.

【0023】またパイプラインがDAG構造を有し分岐
を伴う場合には、ページバッファを保持するジョブから
資源の解放の要求が前段に伝えられたときに分岐ジョブ
ではその分岐パス上の処理が終ったことを記憶し、分岐
ジョブからのすべての分岐パスに対し処理が終了したこ
とが確認されたら分岐ジョブの保持するページバッフア
を含む該分岐ジョブにおける資源の解放を行なうことに
より、その他のジョブの接続時には遅延実行方式を用い
てもパイプライン全体では同時に必要最小限のページバ
ッフアしか確保しない。したがって、従来は同時に使用
されない無駄なページバッファが確保され大量のメモリ
資源を必要とした遅延実行方式に対し、本方式ではエラ
ーの早期検出が可能であるという遅延実行形式の利点を
損なうことなく必要最小限のメモリしか消費しないの
で、メモリ資源の節約が期待できる。これはシステム全
体のコストダウンにつながる。
When the pipeline has a DAG structure and is accompanied by a branch, when the job holding the page buffer sends a resource release request to the preceding stage, the branch job finishes the processing on the branch path. When it is confirmed that processing has been completed for all branch paths from the branch job, other resources are released by releasing the resources in the branch job including the page buffer held by the branch job. Even if the delayed execution method is used when connecting, the entire pipeline simultaneously secures the minimum required page buffer. Therefore, in contrast to the delay execution method that used a large amount of memory resources by securing a wasteful page buffer that was not used at the same time, this method does not impair the advantage of the delay execution method that early detection of errors is possible. Since it consumes only a minimum amount of memory, it can be expected to save memory resources. This leads to cost reduction of the entire system.

【0024】また第2の発明においては、従来の遅延実
行方式の画像処理パイプラインに対して、特にページバ
ッファの割り当てを制御するメモリ割り当て制御部を有
し、このメモリ割り当て制御部が接続されたジョブがペ
ージバッファを必要とするかどうかを検出する検出手段
と、画像処理ジョブの初期化時あるいは実行時に実際に
ページバッファを確保するメモリ確保手段と、前段の画
像処理が終了した後に前段の画像処理で用いるために確
保された資源を解放する後処理手段を含む。
In the second aspect of the invention, a memory allocation control unit for controlling the allocation of the page buffer is provided for the image processing pipeline of the conventional delay execution system, and the memory allocation control unit is connected. Detecting means for detecting whether or not the job requires a page buffer, memory securing means for actually securing the page buffer at the time of initialization or execution of the image processing job, and the image of the preceding stage after the image processing of the preceding stage is completed. Includes post-processing means for releasing resources reserved for use in processing.

【0025】本発明の画像処理方式においては、ページ
バッファを保持するようなジョブをパイプラインに接続
する際には、直ちにページバッファを確保するとは限ら
ない。ページバッファはメモリ確保手段によって通常実
行時に確保されるが、それまでに接続された画像処理ジ
ョブに応じて初期化時にも確保される場合がある。ま
た、ある画像処理ジョブよりも前段の画像処理を終了し
た場合には、前段のジョブで使用するために確保された
メモリやファイル等のさまざまな計算機資源は、処理が
すべて終了するので解放する。あるいは、本発明のいま
ひとつの画像処理方式においては、ページバッファは通
常初期化時に確保されるが、各々の画像処理ジョブにつ
いて別々に確保されるとは限らず、共有可能なページバ
ッファを共有することにより全体のメモリ使用量を節約
する。
In the image processing method of the present invention, when a job that holds a page buffer is connected to the pipeline, the page buffer is not always secured immediately. The page buffer is secured by the memory securing unit at the time of normal execution, but may be secured at the time of initialization depending on the image processing job connected until then. Further, when the image processing of the preceding stage of a certain image processing job is completed, various computer resources such as memory and files secured for use in the preceding job are released since the processing is completed. Alternatively, in the other image processing method of the present invention, the page buffer is normally reserved at the time of initialization, but it is not always reserved separately for each image processing job, and a sharable page buffer is shared. Saves overall memory usage.

【0026】画像処理パイプラインが単純なリスト構造
を構成する場合、ページバッファが初期化時に確保され
るのは、すでに確保されたページバッファが1面以下の
場合である。2面目が確保された後に実行される画像処
理ジョブは、1面目を使用する画像処理ジョブのすべて
が終了してからでないと実行することは出来ない。そこ
で画像処理ジョブの初期化時ではなく実行時に、1面目
を使用する画像処理ジョブのすべてが終了して使用した
ページバッファメモリの解放を行なってから、3面目以
降のバッファの確保を行なえば、同時に3面以上のペー
ジバッファを確保することがなく、通常大容量のメモリ
資源を消費するページバッファを節約することが出来
る。
When the image processing pipeline has a simple list structure, the page buffer is reserved at the time of initialization when the number of already reserved page buffers is one or less. The image processing job executed after the second side is secured cannot be executed until all the image processing jobs using the first side are completed. Therefore, if the page buffer memory used is released after the completion of all image processing jobs that use the first side when the image processing job is executed, not at initialization, and then the buffers for the third side and thereafter are secured, At the same time, it is possible to save the page buffers that normally consume a large amount of memory resources without securing page buffers for three or more planes.

【0027】また、このように3面目のページバッファ
を使用する画像処理ジョブの実行時には1面目のページ
バッファは不要であり4面目のページバッファを使用す
る画像処理ジョブの実行時には2面目のページバッファ
は不要であるように、それぞれページバッファを使用す
るジョブの偶数番目同士および奇数番目同士は、同時に
ページバッファを使用しない。つまり、ぺージバッファ
を使用するジョブの偶数番目のものと奇数番目のもの
は、それぞれ同一のページバッファを使用しても差し支
えない。そこで、2面のページバッファを用意しそれぞ
れを交互に使用しても、同時に3面以上のページバッフ
ァを確保することがなく、ページバッファを節約するこ
とが出来る。この場合には、それぞれのページバッファ
を使用する画像処理ジョブのうち最も多くのメモリを使
用するジョブが必要とする大きさのページバッファを割
り当てる必要がある。そこで、ページバッファを割り当
てる都度ページバッファの大きさが十分であるかどうか
確認し、不足する場合には必要な大きさのメモリを再割
り当てする。それまでに該当するページバッファを割り
当てられていた画像処理ジョブは、再割り当て後のペー
ジバッファ容量よりも少ないメモリしか使用しないの
で、動作に支障はない。更には、画像処理パイプライン
全体で同時にそれ以上のページバッファメモリを使用し
ないので、実行時にページバッファメモリの割り当て失
敗によるエラーは発生しない。換言すれば、初期化時に
メモリ不足エラーを検出することができ、エラーの早期
発見につながる。
Further, when the image processing job using the page buffer of the third side is executed, the page buffer of the first side is unnecessary, and the page buffer of the second side is executed when the image processing job using the page buffer of the fourth side is executed. As such, the even-numbered jobs and the odd-numbered jobs that use the page buffers do not use the page buffers at the same time. That is, even-numbered jobs and odd-numbered jobs that use the page buffer may use the same page buffer. Therefore, even if two page buffers are prepared and used alternately, the page buffers can be saved without securing three or more page buffers at the same time. In this case, it is necessary to allocate a page buffer of a size required by the job that uses the most memory among the image processing jobs that use the page buffers. Therefore, each time the page buffer is allocated, it is confirmed whether the size of the page buffer is sufficient, and if it is insufficient, the memory of the required size is reallocated. The image processing job to which the relevant page buffer has been allocated up to that point uses less memory than the page buffer capacity after re-allocation, so there is no problem in operation. Furthermore, since no more page buffer memory is used at the same time in the entire image processing pipeline, no error due to page buffer memory allocation failure occurs at the time of execution. In other words, the memory shortage error can be detected at the time of initialization, which leads to early detection of the error.

【0028】パイプラインがDAG構造を有し分岐を伴
う場合には、ページバッファを保持するジョブにおいて
画像処理を完了しても前段のジョブの有する計算機資源
をすべて解放できない場合がある。例えば、ページバッ
ファを保持するジョブの前段に分岐を行なうジョブがあ
り、この分岐ジョブ自身がページバッファを保持する場
合である。このような場合、もしもこのページバッファ
を保持するジョブの画像処理が完了した時点で分岐ジョ
ブの有する資源を解放すると、もう一つの分岐先に接続
されたジョブが分岐ジョブに画像を要求した時に必要な
資源、この場合で言えばページバッファが解放されてい
るために処理を続けることができない。そこでこのよう
な場合には、ページバッファを保持するジョブから資源
の解放の要求が前段に伝えられる際に、分岐ジョブでは
その分岐パス上の処理が終ったことを記憶して、分岐ジ
ョブにおける資源の解放は行なわない。ただし、分岐ジ
ョブの更に前段に対しては、処理が完了している筈であ
るので資源解放の要求を伝達する。このために分岐ジョ
ブを構成する画像処理手段は、各分岐パスに対応する処
理終了確認手段を有する。あるいは、単純に分岐パスの
数を記憶し処理の終了したまたはまだ終了しないパスの
数をカウントするカウンタを設け、これと比較を行なう
ことによりすべてのジョブの終了を判断しても良い。あ
るいは、処理の進行を監視する処理監視部を別に設け、
処理監視部が処理終了確認手段を有しても良い。分岐ジ
ョブからのすべての分岐パスに対し処理が終了したこと
が確認されたら、分岐ジョブの保持するページバッファ
を含む該分岐ジョブにおける資源の解放を行なう。
When the pipeline has a DAG structure and is accompanied by branching, it may not be possible to release all the computer resources of the preceding job even if the image processing is completed in the job holding the page buffer. For example, there is a job that branches before the job that holds the page buffer, and this branch job itself holds the page buffer. In such a case, if the resources of the branch job are released when the image processing of the job holding this page buffer is completed, it is necessary when the job connected to another branch destination requests an image from the branch job. Resource, in this case the page buffer, has been released and cannot continue. Therefore, in such a case, when the job holding the page buffer sends a resource release request to the preceding stage, the branch job stores the fact that the processing on the branch path is completed, and the resource in the branch job is stored. Will not be released. However, since the processing should have been completed, the resource release request is transmitted to the preceding stage of the branch job. For this reason, the image processing means forming the branch job has a processing end confirmation means corresponding to each branch path. Alternatively, it is possible to determine the end of all jobs by simply providing a counter that stores the number of branch paths and counts the number of paths for which processing has been completed or has not yet completed, and to compare with this. Alternatively, a processing monitoring unit for monitoring the progress of processing is separately provided,
The process monitoring unit may have a process end confirmation unit. When it is confirmed that the processing has been completed for all branch paths from the branch job, the resources including the page buffer held by the branch job are released.

【0029】このようにページバッファを使用するよう
なジョブをパイプラインに接続する際には、そのページ
バッファの割り当てや解放を適切に制御することによ
り、特に単純なリスト構造を構成する画像処理パイプラ
インでは全体で同時に高々2面のページバッファしか保
持することはない。
When a job using a page buffer is connected to a pipeline in this way, an image processing pipe forming a particularly simple list structure is controlled by appropriately controlling allocation and release of the page buffer. The line holds at most two page buffers at the same time.

【0030】また、ページバッファを交互に使用し複数
の画像処理ジョブで共有することにより、初期化時にす
べてのページバッファを割り当てることができメモリ不
足によるエラー検出を早期に行なうことができる。さら
に画像処理パイプラインがDAG構造を有し分岐を伴う
場合には、ページバッファを保持するジョブから資源の
解放の要求が前段に伝えられたときに分岐ジョブではそ
の分岐パス上の処理が終ったことを記憶し、分岐ジョブ
からのすべての分岐パスに対し処理が終了したことが確
認されたら分岐ジョブの保持するページバッファを含む
該分岐ジョブにおける資源の解放を行なうことにより、
その他のジョブの接続時には遅延実行方式を用いてもパ
イプライン全体では同時に必要最小限のページバッファ
しか確保しない。したがって、従来は同時に使用されな
い無駄なページバッファが確保され大量のメモリ資源を
必要とした遅延実行方式に対し、本方式では必要最小限
のメモリしか消費しない。エラーの早期検出が可能であ
るという遅延実行形式の利点を損なうことなくこの利点
を生かすことができるので、メモリ資源のみならずCP
U資源の節約も期待できる。これらはシステム全体のコ
ストダウンにつながる。
Further, by alternately using the page buffers and sharing them among a plurality of image processing jobs, all the page buffers can be allocated at the time of initialization, and error detection due to insufficient memory can be performed early. Further, when the image processing pipeline has a DAG structure and is accompanied by a branch, when the job holding the page buffer sends a request for releasing the resource to the preceding stage, the branch job finishes the processing on the branch path. By memorizing that, when it is confirmed that the processing has been completed for all the branch paths from the branch job, by releasing the resources in the branch job including the page buffer held by the branch job,
Even if the delayed execution method is used when connecting other jobs, the minimum required page buffer is secured at the same time in the entire pipeline. Therefore, the conventional method consumes only the minimum required memory, whereas the conventional method uses a large amount of memory resources by securing a wasteful page buffer that is not used at the same time. Since this advantage can be utilized without impairing the advantage of the delayed execution format that early detection of errors is possible, not only memory resources but also CP
It can be expected to save U resources. These lead to cost reduction of the entire system.

【0031】[0031]

【実施例】【Example】

〔実施例1〕本発明は、例えば図1に示すようなハード
ウエア構成上で動作する。例えばスキャナ308等から
画像データが入力され、情報記憶メモリ304に蓄えら
れる。例えば操作者が表示装置307に表示された前記
画像データを参照しながら例えばキーボード、マウス等
の入力装置305により画像処理命令を与える。与えら
れた画像処理命令は情報記憶メモリ304に記憶され、
画像処理装置303が記憶された画像処理命令にしたが
って処理を行ない、プリンタ309等に出力する。例え
ばポストスクリプト(登録商標)のようなページ記述言
語によって与えられた画像処理命令および入力画像は、
画像処理装置303によって処理されプリントアウトさ
れる。なお、301はパーソナルコンピュータやワーク
ステーションのような計算機を示す。
[Embodiment 1] The present invention operates on a hardware configuration as shown in FIG. 1, for example. For example, image data is input from the scanner 308 or the like and stored in the information storage memory 304. For example, the operator gives an image processing command through the input device 305 such as a keyboard or a mouse while referring to the image data displayed on the display device 307. The given image processing command is stored in the information storage memory 304,
The image processing apparatus 303 performs processing in accordance with the stored image processing command and outputs it to the printer 309 or the like. Image processing instructions and input images provided by a page description language such as PostScript (registered trademark) are
The image is processed and printed out by the image processing apparatus 303. Reference numeral 301 denotes a computer such as a personal computer or a workstation.

【0032】また本発明は、例えば図2や図3に示すよ
うなスキャナやプリンタの画像処理システム上で動作す
る。
Further, the present invention operates on an image processing system of a scanner or a printer as shown in FIGS. 2 and 3, for example.

【0033】図2は、スキャナの詳細構成を説明するブ
ロック図である。光学系駆勤回路36により、CCDセ
ンサ32の読み取り方向と直角の方向に、原稿30、ま
たはレンズ31とCCDセンサ32が移動され、原稿3
0全体の画像が読み取られる。CCDセンサ32で読み
取られた画像は、A/D変換器33でアナログ・ディジ
タル変換され、バッファメモリ34に一時記億される。
バッファメモリ34に記憶された画像データは、画像デ
ータ送信回路35を介し、同期を取られ符号化され、画
像データ受信回路40に送信される。制御回路17は、
スキャナの全体の制御を行なう。なお、38はインタフ
ェース回路である。
FIG. 2 is a block diagram for explaining the detailed arrangement of the scanner. The optical system driving circuit 36 moves the original 30 or the lens 31 and the CCD sensor 32 in the direction perpendicular to the reading direction of the CCD sensor 32, and the original 3
The entire 0 image is read. The image read by the CCD sensor 32 is analog-digital converted by the A / D converter 33 and temporarily stored in the buffer memory 34.
The image data stored in the buffer memory 34 is synchronized and encoded via the image data transmission circuit 35 and transmitted to the image data reception circuit 40. The control circuit 17 is
Controls the entire scanner. Reference numeral 38 is an interface circuit.

【0034】また、図3は、プリンタの詳細構成を説明
するブロック図である。画像データ送信回路25から送
信されてくる画像データは、画像データ受信回路40に
より受信変換され、同期回路47で同期を取られ.レー
ザドライバ41,レーザ発信器42でレーザ光を出力す
る。また同期回路47は、モーター駆動回路48を制御
し、ポリゴンミラー43を回転させるモータ46の駆勤
及び停止を行なう。さらに、レーザ発信器42,ポリゴ
ンミラー43は、ビームディテクタ45で検出したレー
ザ光で同期回路47で同期をとられ、感光体44上に潜
像を形成する。本実施例においては画像形成手段として
電子写真方式の使用を想定している。レーザと電子写真
方式を組み合わせた画像形成方式は、既に閘知の方式で
あるので、ここでは詳細な説明を省略する。上記の同期
回路47は、プリンタ全体の制御を司る制御回路49に
より制御される。制御回路49は、さらに紙送り系駆勤
回路50を制御するとともに、インタフェース回路38
の指令を受け一連の制御を行なう。
FIG. 3 is a block diagram for explaining the detailed arrangement of the printer. The image data transmitted from the image data transmitting circuit 25 is received and converted by the image data receiving circuit 40, and synchronized by the synchronizing circuit 47. A laser driver 41 and a laser oscillator 42 output laser light. Further, the synchronizing circuit 47 controls the motor driving circuit 48 to start and stop the motor 46 that rotates the polygon mirror 43. Further, the laser oscillator 42 and the polygon mirror 43 are synchronized with the laser light detected by the beam detector 45 by the synchronizing circuit 47 to form a latent image on the photoconductor 44. In this embodiment, it is assumed that an electrophotographic system is used as the image forming means. An image forming method that combines a laser and an electrophotographic method is already known, and therefore a detailed description thereof is omitted here. The synchronization circuit 47 is controlled by a control circuit 49 which controls the entire printer. The control circuit 49 further controls the paper feed system driving circuit 50 and also the interface circuit 38.
A series of control is performed in response to the command of.

【0035】図4および図5は、画像処理パイプライン
の例である。図4の例では、画像処理ジョブ61により
例えばハードディスク等の外部記憶装置306上の画像
ファイルを読み込む。その出力が画像処理ジョブ62に
よって回転され、さらに画像処理ジョブ63によって鮮
鋭化され、最終的に画像処理ジョブ64により画像ファ
イルに書き込まれる。図5の例では、画像処理パイプラ
インが単純なリスト構造ではなく、DAG構造すなわち
有向無閉路グラフの構造を有している。同様に画像処理
ジョブ71が画像ファイルを読み込み、画像処理ジョブ
72で色調整を施した後、その出力は二つに分岐され、
その一方は画像処理ジョブ73により画像ファイルに書
き出されると共に、いま一方は画像処理ジョブ74によ
り解像度変換が施され画像処理ジョブ75によりCRT
等の表示装置307に出力される。
4 and 5 show examples of the image processing pipeline. In the example of FIG. 4, the image processing job 61 reads an image file on the external storage device 306 such as a hard disk. The output is rotated by the image processing job 62, sharpened by the image processing job 63, and finally written into the image file by the image processing job 64. In the example of FIG. 5, the image processing pipeline does not have a simple list structure but a DAG structure, that is, a directed acyclic graph structure. Similarly, after the image processing job 71 reads the image file and the image processing job 72 performs color adjustment, the output is branched into two,
One of them is written into an image file by the image processing job 73, and the other one is subjected to resolution conversion by the image processing job 74 and then CRT by the image processing job 75.
Is output to the display device 307.

【0036】本発明による画像処理装置11は、図6に
示すようにホストアプリケーション16から与えられた
画像処理命令を記憶する処理記憶手段13と、画像デー
タを記憶する画像記憶手段12と、画像記憶手段12に
記憶された画像を処理記憶手段13に記憶された画像処
理命令にしたがって画像処理を行なう画像処理手段14
と、この画像処理の実行を制御する制御手段15から構
成される。また、制御手段15は、図7に示すように、
与えられた画像処理命令がページバッファを必要とする
ものであるかどうかを検出する検出手段21と、必要に
応じてOSのシステムコール等を用いてページバッファ
を確保するメモリ確保手段22と、画像処理手段14に
より実際の画像処理を起動する処理起動手段23と、画
像処理の終了後、不要となった使用済みの資源を解放す
る後処理手段14から成る。
The image processing apparatus 11 according to the present invention, as shown in FIG. 6, has a processing storage means 13 for storing an image processing command given from a host application 16, an image storage means 12 for storing image data, and an image storage. Image processing means 14 for performing image processing on the image stored in the means 12 in accordance with the image processing command stored in the processing storage means 13.
And a control means 15 for controlling the execution of this image processing. In addition, the control means 15, as shown in FIG.
Detecting means 21 for detecting whether or not a given image processing instruction requires a page buffer, memory securing means 22 for securing a page buffer using an OS system call or the like as necessary, and an image The processing unit 14 includes a process starting unit 23 that starts actual image processing, and a post-processing unit 14 that releases used resources that have become unnecessary after the image processing is completed.

【0037】図8は、本発明による画像処理ジョブの一
実施例である。図8は従来技術の一例である図21の画
像処理ジョブの追加を行なう部分91についての流れを
説明したものである。残りの部分は図21と同様であ
る。
FIG. 8 shows an embodiment of the image processing job according to the present invention. FIG. 8 illustrates the flow of a portion 91 for adding the image processing job of FIG. 21, which is an example of the conventional technique. The remaining part is similar to that of FIG.

【0038】まず、画像処理ジョブが与えられた時に検
出手段21がその画像処理ジョブがページバッファを必
要とするかどうかを判断する。これは例えばあらかじめ
画像処理手段の持つすべてのジョブの種類をテーブルに
記憶し、ジョブの種類の各項目についてページバッファ
を必要とするジョブであるかどうかを示すフラグを用意
し、ジョブの種類からこのテーブルを参照してページバ
ッファを必要とするジョブであるかどうかを判断すれば
よい。ページバッファが必要でない場合には、そのまま
画像処理ジョブ追加のステップを終了する(ステップ1
01)。ページバツフアが必要な場合には、メモリ確保
手段22が必要な容量のページバッフアを確保し(ステ
ップ102)、処理起動手段23がそれまでに既に追加
されている画像処理ジョブを実行し(ステップ10
3)、その結果を確保したページバッファに保存する
(ステップ104)。結果がページバッファに保存され
れば、この時点でそれまでに既に追加されていた画像処
理ジョブは実行が完了しているため、後処理手段24が
これらの画像処理ジョブで使用するために確保された資
源を解放する(ステップ105)。
First, when an image processing job is given, the detecting means 21 determines whether the image processing job requires a page buffer. For example, all the job types of the image processing means are stored in a table in advance, and a flag indicating whether or not the job requires a page buffer is provided for each item of the job type. It is sufficient to refer to the table and determine whether the job requires a page buffer. If the page buffer is not needed, the step of adding the image processing job is finished as it is (step 1).
01). When the page buffer is required, the memory securing unit 22 secures the required page buffer (Step 102), and the process activation unit 23 executes the image processing job that has been added by then (Step 10).
3) The result is saved in the secured page buffer (step 104). If the results are saved in the page buffer, the post-processing means 24 has been reserved for use by these image processing jobs, since the image processing jobs that have been added up to that point have been completed at this point. Released resources (step 105).

【0039】このときに、例えばそれまでに追加されて
いた画像処理ジョブがページバッフアを保持していたと
しても、新たなページバッファへの保存が完了すると資
源が解放され、先に確保されていたページバッファは解
放される。同様にこの後にページバッフアを必要とする
ジョブが追加されても、その時点で新たなページバッフ
ァが確保され、直ちにそれまでの画像処理が実行される
ので現在のジョブが確保したページバッフアは不用とな
り解放される。
At this time, for example, even if the image processing job added until then holds the page buffer, the resources are released when the saving to the new page buffer is completed, and the page buffer is reserved first. Page buffer is released. Similarly, even if a job requiring a page buffer is added after this, a new page buffer is secured at that point and the image processing up to that point is executed immediately, so the page buffer secured by the current job is It becomes unnecessary and is released.

【0040】〔実施例2〕本実施例は、本発明における
後処理手段24について述べる。ホストアプリケーショ
ン16によって与えられ、処理記憶手段13に記憶され
た画像処理ジョブは、実際の画像処理が終了すると後処
理手段24によりそのジョブで使用した例えばフアイル
ハンドラやメモリなどの資源をシステムに解放する。画
像処理ジョブが単純なリスト構造を有する場合には、あ
る画像処理ジョブの出力が複数の画像処理ジョブの入力
となるような処理の分岐は行なわれないので、単純に前
段の画像処理ジョブからの後処理要求に応じて順次処理
に用いた資源を解放していけばよい。図9は、このよう
な後処理の流れを示す一例である。例えば制御手段15
が現在処理を行なっている画像処理ジョブの前段に別の
画像処理ジョブが存在するかどうかを判断し(ステップ
121)、存在すれば前段に後処理を要求する(ステッ
プ122)。最後にいずれの場合も現在処理を行なって
いる画像処理ジョブ自身が使用した使用済みの資源を解
放する(ステップ123)。
[Embodiment 2] This embodiment describes the post-processing means 24 in the present invention. The image processing job provided by the host application 16 and stored in the processing storage unit 13 releases resources such as a file handler and a memory used in the job to the system by the post-processing unit 24 when the actual image processing is completed. . When the image processing job has a simple list structure, there is no branching of the processing such that the output of a certain image processing job becomes the input of a plurality of image processing jobs. The resources used for the sequential processing may be released according to the post-processing request. FIG. 9 is an example showing the flow of such post-processing. For example, the control means 15
Judges whether or not another image processing job exists before the image processing job currently being processed (step 121), and if there is another image processing job, requests the previous processing for post processing (step 122). Finally, in either case, the used resources used by the image processing job which is currently processing are released (step 123).

【0041】しかしながら、処理記憶手段13に記憶さ
れた画像処理ジョブがDAG構造を有し処理の分岐が行
なわれる場合には、分岐パスのーつから後処理要求を受
けても他の分岐パスの処理が終了しているとは限らない
ので、直ちに後処理を行なうことができない。図10
は、本発明においてこのような分岐を伴うジョブ112
が処理記憶手段13に記憶されている場合の後処理の一
実施例である。実線の矢印の方向は画像データの流れを
示す。分岐ジョブ112は、分岐パス113〜115の
それぞれに対応するフラグ116を有する。図11は、
本発明におけるこのような分岐ジョブの後処理の流れの
一実施例である。ある分岐パスから後処理要求が伝えら
れると、分岐ジョブ112においては直ちに後処理を開
始せず、後処理要求のあった分岐パスに対応するフラグ
を立てる(ステップ131)。次にすべてのフラグが立
ったかどうか検査し(ステップ132)、すべてのフラ
グが立つていれば図9に示した通常の後処理を行なう
(ステップ133)。すべてのフラグが立っていない場
合は、そのまま処理を終了し、次の後処理要求が与えら
れるのを待つ。
However, when the image processing job stored in the processing storage means 13 has a DAG structure and processing is branched, even if a post-processing request is received from one of the branching paths, the other branching path is processed. Since the processing is not always completed, the post-processing cannot be performed immediately. Figure 10
Is a job 112 with such a branch in the present invention.
Is an example of post-processing when is stored in the processing storage unit 13. The direction of the solid line arrow indicates the flow of image data. The branch job 112 has a flag 116 corresponding to each of the branch paths 113 to 115. FIG.
It is an example of the flow of the post-processing of such a branched job in the present invention. When the post-processing request is transmitted from a certain branch path, the post-processing is not immediately started in the branch job 112, but a flag corresponding to the branch path for which the post-processing request is made is set (step 131). Next, it is checked whether all the flags are set (step 132), and if all the flags are set, the normal post-processing shown in FIG. 9 is performed (step 133). If all the flags are not set, the process is terminated as it is and waits for the next post-processing request.

【0042】すべての分岐パス113〜115から後処
理要求が発生すれば、いずれの分岐パスもそれ以上入力
画像データを必要としないことが分かるので分岐ジョブ
112およびそれより前段のジョブ111等は後処理を
行なうことができる。
If post-processing requests are issued from all the branch paths 113 to 115, it can be seen that none of the branch paths requires any more input image data. Processing can be performed.

【0043】〔実施例3〕また、前記分岐ジョブの別の
実施例として、分岐パスの一つ一つに対応するフラグを
持つ代わりに、後処理要求のカウンタを設ける方法もあ
る。カウンタは0に初期化する。分岐ジョブがある分岐
パスから後処理要求を受けた場合には、カウンタをイン
クリメントし、カウンタが分岐パス数の合計に達してい
れば後処理を行なう。カウンタが分岐パス数の合計に達
していなければ、そのまま処理を終了し、次の後処理要
求が与えられるのを待つ。
[Third Embodiment] As another embodiment of the branch job, there is also a method of providing a post-processing request counter instead of having a flag corresponding to each branch path. The counter is initialized to 0. When a branch job receives a post-processing request from a branch path, the counter is incremented, and if the counter reaches the total number of branch paths, the post-processing is performed. If the counter has not reached the total number of branch paths, the processing is terminated and waits for the next post-processing request.

【0044】カウンタが分岐パス数の合計に達していれ
ば、すべての分岐パスから後処理要求が発生したことに
なり、いずれの分岐パスもそれ以上入力画像データを必
要としないことが分かるので分岐ジョブおよびそれより
前段のジョブは後処理を行なうことができる。
If the counter has reached the total number of branch paths, it means that post-processing requests have been issued from all the branch paths, and it is known that none of the branch paths requires any more input image data. Jobs and jobs preceding them can be post-processed.

【0045】〔実施例4〕次に、本発明の更に第4の実
施例について説明する。なお、先の述べた各実施例と対
応する部分には同一符号を付し重複説明は省略する。
[Fourth Embodiment] Next, a fourth embodiment of the present invention will be described. The parts corresponding to those of the above-described embodiments are designated by the same reference numerals, and the duplicated description will be omitted.

【0046】第4の実施例における画像処理装置11
は、図12に示すようにホストアプリケーション16か
ら与えられた画像処理命令を記憶する処理記憶手段13
と、画像データを記憶する画像記憶手段12と画像記憶
手段12に記憶された画像を処理記憶手段に記憶された
画像処理命令にしたがって画像処理を行なう画像処理手
段14と、この画像処理の実行に当たり必要なメモリの
割り当てを制御するメモリ割り当て制御手段16から構
成される。また、メモリ割り当て制御手段16は、図1
3に示すように、与えられた画像処理命令がページバッ
ファを必要とするものであるかどうかを検出する検出手
段21と、必要に応じて例えばOSのシステムコール等
を用いてページバッファを確保するメモリ確保手段22
と、画像処理の終了後、不要となった使用済みの資源を
解放する後処理手段24から成る。
Image processing apparatus 11 in the fourth embodiment
Is a processing storage means 13 for storing an image processing command given from the host application 16 as shown in FIG.
An image storage means 12 for storing image data, an image processing means 14 for performing image processing on an image stored in the image storage means 12 in accordance with an image processing command stored in the processing storage means, and for executing this image processing. It comprises a memory allocation control means 16 for controlling allocation of required memory. In addition, the memory allocation control means 16 is configured as shown in FIG.
As shown in FIG. 3, a detecting means 21 for detecting whether or not a given image processing instruction requires a page buffer, and if necessary, a page buffer is secured by using, for example, an OS system call or the like. Memory securing means 22
After the image processing, the post-processing unit 24 releases the used resources that are no longer needed.

【0047】図14は、本発明による画像処理装置の一
実施例である。図14は従来技術の一実施例である図2
0の画像処理ジョブの初期化を行なうステップ82につ
いての流れを説明したものである。
FIG. 14 shows an embodiment of the image processing apparatus according to the present invention. FIG. 14 shows an embodiment of the prior art shown in FIG.
The flow of step 82 for initializing an image processing job of 0 is described.

【0048】まず、画像処理ジョブが与えられた時に検
出手段21がその画像処理ジョブがページバッファを必
要とするかどうかを判断する (ステップ181)。これ
は例えばあらかじめ画像処理手段の持つすべてのジョブ
の種類をテーブルに記憶し、ジョブの種類の各項目につ
いてページバッファを必要とするジョブであるかどうか
を示すフラグを用意し、ジョブの種類からこのテーブル
を参照してページバッファを必要とするジョブであるか
どうかを判断すればよい。ページバッファが必要でない
場合には、ページバッファに関する初期化のステップを
省略しその他の初期化を行なう(ステップ184)。ペ
ージバッファが必要な場合には、既に確保したページバ
ッファが1面以下かどうかを検査し(ステップ18
2)、1面以下であった場合にのみメモリ確保手段22
が必要な容量のページバッファを確保する(ステップ1
83)。ステップ184では、ページバッファに関する
初期化以外の初期化を行なう。例えば色空間変換のよう
な画像処理ジョブにおいてはページバッファを確保する
必要はないので、例えばスキャンライン単位で処理を行
い、次段のジョブに結果を渡す構成とすれば、1ライン
分のバッファメモリを確保すればよい。
First, when an image processing job is given, the detecting means 21 determines whether the image processing job requires a page buffer (step 181). For example, all the job types of the image processing means are stored in a table in advance, and a flag indicating whether or not the job requires a page buffer is provided for each item of the job type. It is sufficient to refer to the table and determine whether the job requires a page buffer. If the page buffer is not required, the initialization step relating to the page buffer is omitted and other initialization is performed (step 184). If the page buffer is required, it is inspected whether the already reserved page buffer is one side or less (step 18).
2) Memory securing means 22 only when the number of pages is one or less
Secure a page buffer of the required capacity (Step 1
83). At step 184, initialization other than initialization related to the page buffer is performed. For example, since it is not necessary to secure a page buffer in an image processing job such as color space conversion, if processing is performed in scan line units and the result is passed to the job of the next stage, the buffer memory for one line is used. Should be secured.

【0049】本発明は、特にこのような通常は1ライン
分のバッファメモリを割り当てる画像処理方式において
やむを得ずページバッファが複数必要となる場合に効果
が大きい。あるいは、3×3のカーネルを用いた畳み込
みフィルタのような処理では、あるスキャンラインの処
理結果を得るために対象画素の前後各1ラインのデータ
も必要であるため、3ライン分のバンドバッファを確保
する。あるいは、トーンリプロダクションカーブの適用
など処理高速化のためテーブルを参照して出力画素値を
決定するようなジョブでは、ルックアップテーブル用の
メモリを確保してテーブルを初期化する。
The present invention is particularly effective when it is unavoidable that a plurality of page buffers are required in such an image processing system that normally allocates a buffer memory for one line. Alternatively, in a process such as a convolution filter using a 3 × 3 kernel, data of one line before and after the target pixel is also required to obtain a processing result of a certain scan line, and therefore a band buffer for three lines is used. Secure. Alternatively, in a job in which an output pixel value is determined by referring to a table for speeding up processing such as application of a tone reproduction curve, a memory for a lookup table is secured and the table is initialized.

【0050】これを図15に示すような画像処理命令列
について適用した例を考えてみる。ここでは、処理記憶
手段13に主走査方向の鏡像、色調整、90度回転、フ
ーリエ変換の順で画像処理命令が記憶されているとす
る。これらの画像処理命令のうち、鏡像と90度回転と
フーリエ変換の各処理は処理の性質上、入力画像の全面
を一時的に記憶するページバッファを必要とする。まず
はじめに鏡像を実行する画像処理ジョブ1101が初期
化される際には、ステップ181で検出手段21がペー
ジバッファを必要とするか検査し、ページバッファを必
要とするのでステップ182に進む。ステップ182で
は、これまでに確保されたページバッファの数が検査さ
れ、まだ1面も確保されていないのでステップ183に
進む。これまでに確保されたページバッファの数は、例
えばカウンタを用意することにより容易に検査すること
ができる。ステップ183では、メモリ確保手段22に
より入力画像を保持するに十分な大きさのページバッフ
ァ1109が画像処理ジョブ1101に割り当てられ
る。次に色調整を実行する画像処理ジョブ1102が初
期化される際には、ステップ181におけるページバッ
ファを使用しないと判定され、ページバッファを確保す
るステップ183は実行されずに、ステップ184にお
いて例えばルックアップテーブルの初期化等その他の初
期化が行なわれる。次に90度回転を行なう画像処理ジ
ョブ1103が初期化される際には、ステップ181に
おいてページバッファが必要と判定されステップ182
に進み、ステップ182においてこれまでに1つのペー
ジバッファ1109しか確保されていないのでステップ
183に進み、ステップ183においてページバッファ
1110が確保される。次にフーリエ変換を行なう画像
処理ジョブ1104が初期化される際には、ステップ1
81においてページバッファが必要と判定されステップ
182に進み、ステップ182においてはこれまでに既
に2つのページバッファ1109および1110が確保
されているのでステップ184に進み画像処理ジョブ1
104のためのページバッファ1111は初期化時には
確保されない。
Consider an example in which this is applied to an image processing instruction sequence as shown in FIG. Here, it is assumed that the image storage instructions are stored in the processing storage means 13 in the order of the mirror image in the main scanning direction, the color adjustment, the 90 degree rotation, and the Fourier transform. Among these image processing commands, the mirror image, the 90-degree rotation, and the Fourier transform each require a page buffer for temporarily storing the entire surface of the input image due to the nature of the processing. First, when the image processing job 1101 that executes a mirror image is initialized, it is checked in step 181 whether the detection unit 21 needs a page buffer, and since the page buffer is required, the process proceeds to step 182. In step 182, the number of page buffers that have been secured so far is inspected, and since no surface has been secured yet, the process proceeds to step 183. The number of page buffers secured so far can be easily checked by preparing a counter, for example. In step 183, the memory securing unit 22 allocates a page buffer 1109 having a sufficient size to hold the input image to the image processing job 1101. Next, when the image processing job 1102 that executes color adjustment is initialized, it is determined that the page buffer is not used in step 181, and the step 183 of allocating the page buffer is not executed. Other initializations such as initialization of the up table are performed. Next, when the image processing job 1103 that rotates 90 degrees is initialized, it is determined in step 181 that a page buffer is necessary and step 182.
Going to step 182, since only one page buffer 1109 has been secured so far in step 182, the process proceeds to step 183 and the page buffer 1110 is secured in step 183. Next, when the image processing job 1104 for performing the Fourier transform is initialized, step 1
At 81, it is determined that a page buffer is necessary, and the process proceeds to step 182. At step 182, since the two page buffers 1109 and 1110 have already been reserved, the process proceeds to step 184 and the image processing job 1
The page buffer 1111 for 104 is not secured at initialization.

【0051】図16は、本発明による画像処理装置の処
理記憶手段13に記憶された画像処理命令に対応する各
画像処理ジョブが初期化された後の、画像処理実行時の
流れを説明したものである。まずステップ1001にお
いてそのジョブがページバッファを使用するかどうかを
判定する。使用する場合にはステップ1002に、使用
しない場合にはステップ1008に進む。ステップ10
02では、初期化時にこのジョブのためにページバッフ
ァが確保されているかどうかを判定する。図15におけ
る先の例のジョブ1101やジョブ1103のように、
初期化時にページバッファが確保されている場合にはス
テップ1008に進み、ジョブ1104のようにページ
バッファが確保されていない場合には、ステップ100
3に進む。ステップ1003では、必要なページバッフ
ァを確保する。このページバッファの確保に失敗した場
合にはステップ1004においてエラー処理を行ない処
理を中断する。そうでない場合にはステップ1005に
進みその画像処理ジョブの前段までの画像処理を行い、
ステップ1006で処理結果をステップ1003で確保
したページバッファに保存する。この時点で前段までの
画像処理はすべて完了しているのでステップ1007で
前段までの画像処理ジョブで使用した資源を解放する。
ステップ1008では、ステップ1006でページバッ
ファに保存された入力画像データを使用して画像処理を
行ない、ステップ1009で全スキャンラインの処理済
みデータを出力したかどうかを判定する。すべてのデー
タを出力した場合にはステップ1010に進み使用した
資源の解放を行なう。これには、ステップ1006で使
用したページバッファも含まれてよい。そうでない場合
には、資源は解放せずに処理を終了し、次の出力要求に
備える。
FIG. 16 illustrates a flow when image processing is executed after each image processing job corresponding to the image processing command stored in the processing storage means 13 of the image processing apparatus according to the present invention is initialized. Is. First, in step 1001, it is determined whether the job uses the page buffer. If it is used, the process proceeds to step 1002, and if it is not used, the process proceeds to step 1008. Step 10
In 02, it is determined whether a page buffer is reserved for this job at the time of initialization. Like the job 1101 and the job 1103 in the previous example in FIG.
If the page buffer is secured at the time of initialization, the process proceeds to step 1008, and if the page buffer is not secured as in job 1104, step 100 is performed.
Go to 3. In step 1003, a necessary page buffer is secured. If the page buffer cannot be secured, error processing is performed in step 1004 and the processing is interrupted. If not, the process proceeds to step 1005 to perform the image processing up to the preceding stage of the image processing job,
In step 1006, the processing result is saved in the page buffer secured in step 1003. At this point, all the image processing up to the previous stage has been completed, so in step 1007, the resources used in the image processing jobs up to the previous stage are released.
In step 1008, image processing is performed using the input image data stored in the page buffer in step 1006, and it is determined in step 1009 whether processed data of all scan lines has been output. If all the data has been output, the process proceeds to step 1010 to release the used resources. This may also include the page buffer used in step 1006. Otherwise, the resource is not released and the processing is terminated to prepare for the next output request.

【0052】図15のステップ1106、1107、1
108は、実行時のページバッファの使用状況を示す。
初期化終了時にはステップ1105のように1番目にペ
ージバッファを使用する画像処理ジョブ1101にペー
ジバッファ1109が、2番目にページバッファを使用
するジョブ1103にページバッファ1110がそれぞ
れ割り当てられている。ジョブ1101を実行する時点
では、前段の画像処理ジョブからページバッファ110
9に入力データが読み込まれ、その結果がジョブ110
2に渡される。色調整を行なう画像処理ジョブ1102
は、座標変換や近傍画素参照を行なわないジョブのため
ページバッファを必要とせず処理結果を次のジョブ11
03に渡すことができる。次にページバッファを用いる
90度回転を行なう画像処理ジョブ1103では、第1
のスキャンラインを出力するのに入力画像の最終スキャ
ンラインを必要とするのでページバッファ1110に画
像データを全面読み込む(ステップ1106)この時点
でジョブ1103より前段のジョブ1101のために割
り当てられたページバッファ1109は不要となるので
解放され、次にページバッファを必要とするジョブ11
04のために新たなページバッファ1111が割り当て
られる(ステップ1107)。フーリエ変換画像を出力
するジョブ1104もページバッファに入力画像を必要
とするため、ジョブ1103の出力が割り当てられたペ
ージバッファ1111に読み込まれる(ステップ110
8)。このように本発明の画像処理装置においては、画
像処理の各々のステップ(1105〜1108)ではペ
ージバッファは高々2面しか確保されず、使用するメモ
リを節約することができる。
Steps 1106, 1107 and 1 in FIG.
Reference numeral 108 indicates the usage status of the page buffer during execution.
At the end of initialization, as in step 1105, the page buffer 1109 is assigned to the image processing job 1101 that uses the page buffer first, and the page buffer 1110 is assigned to the job 1103 that uses the page buffer second. When the job 1101 is executed, the page buffer 110
The input data is read in 9 and the result is job 110
Passed to 2. Image processing job 1102 for color adjustment
Is a job that does not perform coordinate conversion or reference to neighboring pixels, does not require a page buffer and outputs the processing result to the next job 11.
Can be passed to 03. Next, in the image processing job 1103 that performs 90-degree rotation using the page buffer,
Since the last scan line of the input image is necessary to output the scan line of the input image, the entire image data is read into the page buffer 1110 (step 1106). At this point, the page buffer allocated for the job 1101 preceding the job 1103. Job 1109 is released because it is no longer needed, and the page buffer is needed next.
A new page buffer 1111 is allocated for 04 (step 1107). Since the job 1104 that outputs the Fourier transform image also needs the input image in the page buffer, the output of the job 1103 is read into the allocated page buffer 1111 (step 110).
8). As described above, in the image processing apparatus of the present invention, only two page buffers are secured at each step (1105 to 1108) of image processing, and the memory used can be saved.

【0053】〔実施例5〕本実施例は、本発明における
ページバッファ割当のいま一つの実施例について述べ
る。図17は、図14と同様に従来技術による画像処理
実施例を示す図20ステップ82の部分の詳細を示す本
発明における初期化時の流れ図である。まずステップ1
21において、検出手段21によって与えられた画像処
理ジョブがページバッファを使用するかどうか検査され
る。ページバッファを必要とする場合にはステップ12
2に進み、そうでない場合にはステップ127に進む。
ステップ122では、この画像処理ジョブがページバッ
ファを使用する画像処理ジョブのうち奇数番目か偶数番
目かを判断する。これば、例えばメモリ割り当て制御手
段16にカウンタを用意してページバッファを使用する
ジョブが初期化される毎にカウンタを増加させ、カウン
タの値が奇数か偶数か判断すればよい。奇数の場合に
は、ステップ123において第1のページバッファを割
り当て、偶数の場合にはステップ124において第2の
ページバッファを割り当てる。ステップ125では、ス
テップ123またはステップ124において割り当てら
れたページバッファの大きさが当該画像処理ジョブで必
要とする大きさに十分かどうかを検査する。不十分な場
合にはステップ126に進み必要な大きさのページバッ
ファを再割当する。これには例えばANSI Cの標準
ライブラリ関数realloc()等を用いることがで
きる。再割当てにあたっては、領域は同一のまま割り当
て領域の大きさが変更される場合と別の領域が割り当て
られる場合があるが、割り当て後のページバッファ領域
が前のページバッファ領域と異なる場合には、前のペー
ジバッファ領域は解放する。ステップ124で検査され
たページバッファ容量が十分な場合にはステップ127
に進む。ステップ127では、例えばラインバッファの
確保、内部変数の初期化等、ページバッファに関する初
期化以外の初期化を行なう。
[Embodiment 5] This embodiment describes another embodiment of page buffer allocation in the present invention. FIG. 17 is a flow chart at the time of initialization in the present invention, which shows the details of the step 82 in FIG. 20 showing the image processing embodiment according to the prior art similar to FIG. First step 1
At 21, it is checked whether the image processing job provided by the detection means 21 uses a page buffer. Step 12 if a page buffer is needed
2; otherwise, proceed to step 127.
In step 122, it is determined whether the image processing job is an odd-numbered or even-numbered image processing job using the page buffer. In this case, for example, a counter may be prepared in the memory allocation control means 16 and the counter may be incremented every time a job using the page buffer is initialized, and it may be determined whether the counter value is an odd number or an even number. If it is odd, the first page buffer is allocated in step 123, and if it is even, the second page buffer is allocated in step 124. In step 125, it is checked whether the size of the page buffer allocated in step 123 or step 124 is sufficient for the image processing job. If it is insufficient, the process proceeds to step 126 to reallocate the required page buffer. For this, for example, the ANSI C standard library function realloc () or the like can be used. When reallocating, the size of the allocated region may be changed or a different region may be allocated while the region remains the same, but if the page buffer area after allocation is different from the previous page buffer area, The previous page buffer area is released. If the page buffer capacity checked in step 124 is sufficient, step 127
Proceed to. In step 127, initialization other than initialization relating to the page buffer is performed, such as securing a line buffer and initializing internal variables.

【0054】図18は、このようにして初期化された画
像処理パイプラインの一例である。ここでは、図15に
示した例と同様に鏡像141、色調整142、90度回
転143、ヒストグラム正規化144の各ジョブが直列
に接続されている。この内、ページバッファを使用する
画像処理ジョブは、鏡像141、90度回転143、ヒ
ストグラム正規化144の3つである。画像処理パイプ
ライン全体の初期化に際して、はじめに空のページバッ
ファ領域を2つ確保しておき、第1のページバッファ1
25、第2のページバッファ126とする。まず鏡像を
得る画像処理ジョブ141が初期化される際には、ステ
ップ121でページバッファが必要とされることが判断
され、ステップ122に進む。ステップ132では、こ
のジョブはページバッファを使用する第1番目のジョブ
であるので奇数番目のジョブであることが分かりステッ
プ123に進む。ステップ123ではあらかじめ大きさ
0で確保されている第1のページバッファが割り当てら
れる。ところが必要とするページバッファの大きさは0
より大きいため、ステップ126で必要な大きさが再割
当される。次に色調整を行なう画像処理ジョブ142が
初期化される場合は、ステップ121においてページバ
ッファを必要としないことが検査され、ステップ127
に進んでページバッファ以外に関する初期化のみが行な
われる。次に90度回転を行なう画像処理ジョブ143
が初期化される際には、画像処理ジョブ141の初期化
と同様にページバッファの割当が行なわれるが、2番目
にページバッファを使用するジョブであるためステップ
122において偶数と判断されステップ124において
第2のページバッファが割り当てられる点が異なる。次
にヒストグラム正規化を行なう画像処理ジョブ144が
初期化される場合には、画像処理ジョブ141の初期化
と同様に行なわれる。この際、画像処理ジョブ141で
必要とされるページバッファの大きさより画像処理ジョ
ブ144で必要とされるページバッファの大きさの方が
大きい場合には、第1のページバッファの大きさは再割
当により修正される。
FIG. 18 shows an example of the image processing pipeline initialized in this way. Here, each job of the mirror image 141, the color adjustment 142, the 90-degree rotation 143, and the histogram normalization 144 is connected in series as in the example shown in FIG. Among these, three image processing jobs that use the page buffer are a mirror image 141, a 90-degree rotation 143, and a histogram normalization 144. When initializing the entire image processing pipeline, first, two empty page buffer areas are reserved, and the first page buffer 1
25 and the second page buffer 126. First, when the image processing job 141 for obtaining a mirror image is initialized, it is determined in step 121 that a page buffer is required, and the process proceeds to step 122. In step 132, since this job is the first job using the page buffer, it is found that it is an odd-numbered job, and the process proceeds to step 123. In step 123, the first page buffer which is secured in advance with the size 0 is allocated. However, the size of the page buffer required is 0
Since it is larger, step 126 reallocates the required size. If the image processing job 142 for color adjustment is then initialized, it is checked in step 121 that the page buffer is not required, and step 127 is executed.
Proceed to and only the initialization except for the page buffer is performed. Next, an image processing job 143 for rotating 90 degrees
Is initialized, the page buffer is allocated similarly to the initialization of the image processing job 141, but since it is the second job to use the page buffer, it is determined to be an even number in step 122 and is determined in step 124. The difference is that a second page buffer is allocated. Next, when the image processing job 144 for normalizing the histogram is initialized, the initialization is performed in the same manner as the initialization of the image processing job 141. At this time, if the size of the page buffer required by the image processing job 144 is larger than the size of the page buffer required by the image processing job 141, the size of the first page buffer is reallocated. It is corrected by.

【0055】このようにして画像処理ジョブの初期化が
行なわれた後、実際の画像処理が実行される時の各画像
処理ジョブの処理の流れを示したものが図19である。
まずステップ131において、それぞれのジョブに応じ
た種類の画像処理が行なわれる。ステップ132では出
力画像のすべてのスキャンラインが出力されたかどうか
が検査される。すべてのスキャンラインが出力された場
合にはステップ133に進む。そうでない場合には処理
を終了する。ステップ133以降では当該画像処理ジョ
ブの処理は終了しているため、後処理手段23が後処理
を行なう。まずステップ133では、ページバッファを
除く資源の解放が行なわれる。例えば、ヒストグラム正
規化を行なうためにヒストグラムデータを保持するテー
ブル領域をメモリ割り当てしたとすれば、この領域を解
放する。次にステップ134では、ページバッファを共
有する他のすべての画像処理ジョブが終了しているかど
うかを検査する。例えば図18に示した画像処理パイプ
ラインの例では、画像処理ジョブ141の後処理を行な
う際に、画像処理ジョブ144は処理を終了していない
のでページバッファ145を解放することはできない。
しかし画像処理ジョブ143が終了すれば他にページバ
ッファ146を使用するジョブは存在しないので即座に
ページバッファ146の領域を解放することができる。
通常は画像処理パイプラインの先頭から画像処理ジョブ
が完了していくので、ページバッファを使用するジョブ
の奇数番目のものと偶数番目のものそれぞれについてパ
イプラインの最後段に属するものがページバッファの解
放を行なうことになる。ステップ134におけるページ
バッファを共有するすべてのジョブが終了したかどうか
の判断は、そのジョブがページバッファを使用するジョ
ブの奇数番目のものと偶数番目のものそれぞれにおける
パイプラインの最後段に属するかどうかを記憶しておい
て、それを参照することによって判断してもよい。
FIG. 19 shows the processing flow of each image processing job when the actual image processing is executed after the initialization of the image processing job in this way.
First, at step 131, image processing of a type corresponding to each job is performed. In step 132 it is checked whether all scan lines of the output image have been output. When all scan lines have been output, the process proceeds to step 133. If not, the process ends. After step 133, the processing of the image processing job has been completed, so the post-processing unit 23 performs post-processing. First, in step 133, resources other than the page buffer are released. For example, if a memory is allocated to the table area holding the histogram data for normalizing the histogram, this area is released. Next, in step 134, it is checked whether all other image processing jobs sharing the page buffer are finished. For example, in the example of the image processing pipeline shown in FIG. 18, when the post-processing of the image processing job 141 is performed, the image processing job 144 has not finished processing, and therefore the page buffer 145 cannot be released.
However, when the image processing job 143 ends, there is no other job that uses the page buffer 146, so the area of the page buffer 146 can be released immediately.
Normally, image processing jobs are completed from the beginning of the image processing pipeline, so for the odd-numbered and even-numbered jobs that use the page buffer, the ones that belong to the last stage of the pipeline release the page buffer. Will be done. Whether all jobs sharing the page buffer in step 134 have ended is determined by whether the job belongs to the last stage of the pipeline in the odd-numbered job and the even-numbered job using the page buffer, respectively. May be stored and the determination may be made by referring to it.

【0056】このように本発明における画像処理方式に
おいては、画像処理パイプラインに複数のページバッフ
ァを利用するジョブが接続された場合でも、特にパイプ
ラインが単純なリスト構造を有する場合には高々2つの
ページバッファしか確保することなく、システムのメモ
リ資源を有効に活用することができる。また、ページバ
ッファメモリの割り当てはすべて初期化時に行なうこと
ができるため、エラーの早期検出ができるという遅延実
行方式の利点を損なうことはない。
As described above, in the image processing method according to the present invention, even when a job utilizing a plurality of page buffers is connected to the image processing pipeline, especially at most 2 if the pipeline has a simple list structure. The system's memory resources can be effectively used by securing only one page buffer. Further, since the page buffer memory can be allocated all at the time of initialization, the advantage of the delayed execution method that early detection of an error is not impaired.

【0057】[0057]

【発明の効果】このように、本発明の画像処理装置にお
いては、特にリスト構造のように分岐のない画像処理パ
イプラインにおいては同時に高々2面のページバッファ
しか確保することがなく、無駄なメモリを消費せずに効
率よく処理を行なうことができる。
As described above, in the image processing apparatus of the present invention, particularly in the image processing pipeline without branching like the list structure, only two page buffers are reserved at the same time, which is a wasteful memory. The processing can be performed efficiently without consuming.

【0058】また、分岐のある画像処理パイプラインに
おいても同時に必要最小限のページバッフアしか確保す
ることがなく、無駄なメモリを消費せずに効率よく処理
を行なうことができる。
Further, even in the image processing pipeline having a branch, only the minimum required page buffer is secured at the same time, and efficient processing can be performed without wasting memory.

【0059】さらに、画像処理初期化時にページバッフ
ァを確保するため、メモリ不足によるエラーを早期に検
出することができる。
Further, since the page buffer is secured when the image processing is initialized, it is possible to detect an error due to a memory shortage at an early stage.

【図面の簡単な説明】[Brief description of drawings]

【図1】 本発明の画像処理装置が動作するハードウエ
ア構成の一実施例のブロック図である。
FIG. 1 is a block diagram of an embodiment of a hardware configuration in which an image processing apparatus of the present invention operates.

【図2】 本発明の画像処理装置が動作するスキャナの
実施例の構成図である。
FIG. 2 is a configuration diagram of an embodiment of a scanner in which the image processing apparatus of the present invention operates.

【図3】 本発明の画像処理装置が動作するプリンタの
実施例の構成図である。
FIG. 3 is a configuration diagram of an embodiment of a printer in which the image processing apparatus of the present invention operates.

【図4】 本発明の画像処理装置によって実施する画像
処理パイプラインの構成例である。
FIG. 4 is a configuration example of an image processing pipeline implemented by the image processing apparatus of the present invention.

【図5】 本発明の画像処理装置によって実施する分岐
を伴う画像処理パイプラインの構成例である。
FIG. 5 is a configuration example of an image processing pipeline with branching executed by the image processing apparatus of the present invention.

【図6】 本発明における画像処理装置の一実施例ブロ
ック図である。
FIG. 6 is a block diagram of an embodiment of an image processing apparatus according to the present invention.

【図7】 本発明の画像処理装置の一実施例のブロック
図である。
FIG. 7 is a block diagram of an embodiment of the image processing apparatus of the present invention.

【図8】 本発明の画像処理装置における画像処理ジョ
ブの追加方式を示す一実施例の流れ図である。
FIG. 8 is a flow chart of an embodiment showing an addition method of an image processing job in the image processing apparatus of the present invention.

【図9】 従来技術による後処理の一実施例を示す流れ
図である。
FIG. 9 is a flowchart illustrating an example of post-processing according to the related art.

【図10】 本発明の画像処理装置における分岐ジョブ
の一実施例の構成図である。
FIG. 10 is a configuration diagram of an embodiment of a branch job in the image processing apparatus of the present invention.

【図11】 本発明の画像処理装置における後処理の一
実施例を示す流れ図である。
FIG. 11 is a flowchart showing an example of post-processing in the image processing apparatus of the present invention.

【図12】 本発明における画像処理装置の一実施例の
ブロック図である。
FIG. 12 is a block diagram of an embodiment of an image processing apparatus according to the present invention.

【図13】 本発明の画像処理装置の他の実施例のブロ
ック図である。
FIG. 13 is a block diagram of another embodiment of the image processing apparatus of the present invention.

【図14】 本発明の画像処理装置における画像処理ジ
ョブの初期化方式を示す一実施例の流れ図である。
FIG. 14 is a flowchart of an embodiment showing an initialization method of an image processing job in the image processing apparatus of the present invention.

【図15】 本発明の画像処理装置におけるページバッ
ファの使用例を示す一実施例の流れ図である。
FIG. 15 is a flowchart of an embodiment showing an example of using a page buffer in the image processing apparatus of the present invention.

【図16】 本発明の画像処理装置における画像処理ジ
ョブの実行方式を示す一実施例の流れ図である。
FIG. 16 is a flowchart of an embodiment showing an execution method of an image processing job in the image processing apparatus of the present invention.

【図17】 本発明の画像処理装置における画像処理ジ
ョブの初期化方式を示す一実施例の流れ図である。
FIG. 17 is a flowchart of an embodiment showing an initialization method of an image processing job in the image processing apparatus of the present invention.

【図18】 本発明の画像処理装置におけるページバッ
ファの使用例を示す一実施例の流れ図である。
FIG. 18 is a flowchart of an embodiment showing a usage example of a page buffer in the image processing apparatus of the present invention.

【図19】 本発明の画像処理装置における画像処理ジ
ョブの実行方式を示す一実施例の流れ図である。
FIG. 19 is a flowchart of an embodiment showing an image processing job execution method in the image processing apparatus of the present invention.

【図20】 従来技術によるパイプライン方式の画像処
理の実施例を示す流れ図である。
FIG. 20 is a flowchart showing an example of pipeline type image processing according to a conventional technique.

【図21】 従来技術による遅延実行方式の画像処理の
実施例を示す流れ図である。
FIG. 21 is a flowchart showing an example of image processing of a delay execution system according to a conventional technique.

【符号の説明】[Explanation of symbols]

11…画像処理装置、12…画像記憶手段、13…処理
記憶手段、14…画像処理手段、15…制御手段、16
…メモリ割り当て制御手段、21…検出手段、22…メ
モリ確保手段、23…処理起動手段、24…後処理手
段、30…原稿、31…レンズ、32…CCDセンサ、
33…A/D変換器、34…バッファメモリ、35…画
像データ送信回路、36…光学系駆動回路、37…制御
回路、38…インターフェース、40…画像データ受信
回路、41…レーザドライバ、42…レーザ発信器、4
3…ポリゴンミラー、44…感光体、45…ビームディ
テクタ、46…モータ、47…同期回路、48…モータ
駆動回路、49…制御回路、50…紙送り系駆動回路、
61〜64…画像処理ジョブ、71〜75…画像処理ジ
ョブ、302…中央演算処理装置、303…画像処理装
置、304…情報記憶メモリ、305…入力装置、30
6…外部記憶装置、307…表示装置、308…スキャ
ナ、309…プリンタ
11 ... Image processing device, 12 ... Image storage means, 13 ... Processing storage means, 14 ... Image processing means, 15 ... Control means, 16
... memory allocation control means, 21 ... detection means, 22 ... memory securing means, 23 ... process starting means, 24 ... post-processing means, 30 ... original, 31 ... lens, 32 ... CCD sensor,
33 ... A / D converter, 34 ... Buffer memory, 35 ... Image data transmitting circuit, 36 ... Optical system drive circuit, 37 ... Control circuit, 38 ... Interface, 40 ... Image data receiving circuit, 41 ... Laser driver, 42 ... Laser oscillator, 4
3 ... Polygon mirror, 44 ... Photoconductor, 45 ... Beam detector, 46 ... Motor, 47 ... Synchronous circuit, 48 ... Motor drive circuit, 49 ... Control circuit, 50 ... Paper feed system drive circuit,
61-64 ... Image processing jobs, 71-75 ... Image processing jobs, 302 ... Central processing unit, 303 ... Image processing device, 304 ... Information storage memory, 305 ... Input device, 30
6 ... External storage device, 307 ... Display device, 308 ... Scanner, 309 ... Printer

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】 画像を記憶する画像記憶手段と、該画像
記憶手段に記憶された画像を処理するための情報を入力
して記憶する処理記憶手段と、該処理記憶手段に記憶さ
れた画像処理情報にしたがって画像を処理する画像処理
手段と、前記処理記憶手段に入力された画像処理命令の
種類によって画像処理を実行するタイミングを制御する
処理実行制御手段とを備えた画像処理装置において、 前記処理実行制御手段は、入力された画像処理命令を実
行する画像処理手段が画像全面を一時的にメモリに蓄え
る場合に、その画像処理を直ちに行なうことを特徴とす
る画像処理装置
1. An image storage means for storing an image, a processing storage means for inputting and storing information for processing an image stored in the image storage means, and an image processing stored in the processing storage means. An image processing apparatus comprising image processing means for processing an image according to information, and processing execution control means for controlling the timing of executing image processing according to the type of image processing command input to the processing storage means, The image processing apparatus is characterized in that the execution control means immediately performs the image processing when the image processing means for executing the input image processing instruction temporarily stores the entire image in the memory.
【請求項2】 前記処理実行制御手段は、入力された画
像処理命令を実行する画像処理手段が画像全面を一時的
にメモリに蓄えるかどうかを検出する検出手段と、入力
された画像処理命令を実行する画像処理手段が画像全面
を一時的にメモリに蓄えることが検出された場合に画像
を蓄えるためのメモリを確保するメモリ確保手段と、前
記画像を蓄えるためのメモリを確保した後に、前記画像
処理記憶手段に記憶された画像処理を実行させる処理起
動手段と、前記画像処理が完了した時にこれら画像処理
で用いるために確保された資源を解放する後処理手段と
を含むことを特徴とする請求項1記載の画像処理装置。
2. The processing execution control means detects the input image processing instruction by detecting means for detecting whether the image processing means for executing the input image processing instruction temporarily stores the entire image in the memory. When it is detected that the image processing means to be executed temporarily stores the entire surface of the image in the memory, the memory securing means for securing the memory for storing the image, and the memory after securing the memory for storing the image, It is characterized by including processing starting means for executing the image processing stored in the processing storage means, and post-processing means for releasing the resources reserved for use in the image processing when the image processing is completed. The image processing apparatus according to item 1.
【請求項3】 前記画像処理手段は、ある画像処理の出
力を分岐して複数の画像処理の入力とする分岐手段を有
し該分岐手段は、前記後処理手段から資源の解放を要求
されたときに直ちに資源の解放を行なわず、すベての分
岐先についての資源の解放要求が揃った場合に資源を解
放することを特徴とする請求項2記載の画像処理装置。
3. The image processing means has a branching means for branching an output of a certain image processing into an input of a plurality of image processings, and the branching means is requested by the post-processing means to release resources. The image processing apparatus according to claim 2, wherein the resources are not released immediately at all times, and the resources are released when the release requests for all the branch destinations are completed.
【請求項4】 前記分岐手段は、すべての分岐先につい
てのフラグを持ち、資源の解放要求に応じて該フラグを
立て、すべてのフラグが立った場合に資源を解放するこ
とを特徴とする請求項3記載の画像処理装置。
4. The branching means has flags for all branch destinations, sets the flags in response to a resource release request, and releases the resources when all the flags are set. Item 3. The image processing device according to item 3.
【請求項5】 前記分岐手段は、資源の解放要求にかか
るカウンタを有し、資源の解放要求がある毎に該カウン
タを増加し、カウンタの値が分岐先数に達した場合に資
源を解放することを特徴とする請求項3記載の画像処理
装置。
5. The branching means has a counter related to a resource release request, increments the counter each time there is a resource release request, and releases the resource when the value of the counter reaches the number of branch destinations. The image processing apparatus according to claim 3, wherein:
【請求項6】 画像を記憶する画像記憶手段と、該画像
記憶手段に記憶された画像を処理するための情報を入力
して記憶する処理記憶手段と、該処理記憶手段に記憶さ
れた画像処理情報にしたがって画像を処理する画像処理
手段と、前記処理記憶手段に入力された画像処理命令を
前記画像処理手段が実行する際に必要とするメモリ割り
当てを制御するメモリ割り当て制御手段とを備えた画像
処理装置において、 前記メモリ割り当て制御手段は、入力された画像処理命
令を実行する画像処理手段が画像全面を一時的にメモリ
に蓄える場合に画像を蓄えるためのメモリの割り当てを
処理実行時まで遅延させることを特徴とする画像処理装
置。
6. An image storage means for storing an image, a processing storage means for inputting and storing information for processing an image stored in the image storage means, and an image processing stored in the processing storage means. An image including image processing means for processing an image in accordance with information, and memory allocation control means for controlling memory allocation required when the image processing means executes the image processing command input to the processing storage means. In the processing device, the memory allocation control means delays the allocation of the memory for storing the image until the processing is executed when the image processing means for executing the input image processing instruction temporarily stores the entire image in the memory. An image processing device characterized by the above.
【請求項7】 前記メモリ割り当て制御手段は、画像処
理手段を処理パラメータや入力画像の特徴に応じて初期
化する際に、入力された画像処理命令の実行時にこれを
実行する画像処理手段が画像全面を一時的にメモリに蓄
えるかどうかを検出し、前記検出手段により検出された
画像処理命令より前段に一つ以下の画像全面を一時的に
蓄える画像処理命令しかない場合には、画像処理手段を
処理パラメータや入力画像の特徴に応じて初期化する際
に、1ライン分のバッファメモリではなく画像全面を蓄
えるためのメモリを割り当てることを特徴とする請求項
6記載の画像処理装置。
7. The memory allocation control means executes the input image processing command when the image processing means initializes the image processing means according to the processing parameters and the characteristics of the input image. If there is only one image processing command for temporarily storing the entire image surface before the image processing command detected by the detection means, whether or not the entire surface is temporarily stored in the memory is detected. 7. The image processing apparatus according to claim 6, wherein a memory for storing the entire surface of the image is allocated instead of the buffer memory for one line when the image is initialized according to the processing parameters and the characteristics of the input image.
【請求項8】 前記メモリ割り当て制御手段は、入力さ
れた画像処理命令の実行時にこれを実行する画像処理手
段が画像全面を一時的にメモリに蓄えるかどうかを検出
し、画像全面を一時的にメモリに蓄える場合には、前記
メモリ確保手段によって画像全面を一時的に蓄えるため
のメモリを確保し、該メモリを既に割り当てられている
1ライン分のバッファメモリに代用し、該画像処理命令
よりも前段の画像処理手段に該メモリを満たすのに必要
な出力画像データを要求し、該メモリが画像データで満
たされた後、前記後処理手段によって該画像処理命令よ
りも前段の画像処理命令に割り当てられている画像を一
時的に蓄えるためのメモリを解放することを特徴とする
請求項7記載の画像処理装置。
8. The memory allocation control means detects whether or not the image processing means for executing an input image processing command when executing the input image processing instruction temporarily stores the entire image in the memory, and temporarily stores the entire image. In the case of storing in the memory, a memory for temporarily storing the entire surface of the image is secured by the memory securing means, and the memory is substituted for the already allocated buffer memory for one line, Output image data required to fill the memory is requested to the image processing unit in the previous stage, and after the memory is filled with image data, the post-processing unit assigns it to the image processing command in the stage before the image processing command. 8. The image processing apparatus according to claim 7, wherein a memory for temporarily storing the stored image is released.
【請求項9】 前記画像処理手段は、同時に最大2つの
画像全面を一時的に蓄えるためのメモリを有し、前記メ
モリ割り当て制御手段は、前記検出手段により画像処理
手段を処理パラメータや入力画像の特徴に応じて初期化
する際に、入力された画像処理命令の実行時にこれを実
行する画像処理手段が画像全面を一時的にメモリに蓄え
るかどうかを検出し、前段に0または偶数個の画像全面
を一時的にメモリに蓄える画像処理命令がある画像全面
を一時的にメモリに蓄える画像処理命令が第1の画像全
面を一時的に蓄えるメモリを共有し、前段に奇数個の画
像全面を一時的にメモリに蓄える画像処理命令がある画
像全面を一時的にメモリに蓄える画像処理命令が第2の
画像全面を一時的に蓄えるメモリを共有することを特徴
とする請求項7記載の画像処理装置。
9. The image processing means has a memory for temporarily storing a maximum of two image entire surfaces at the same time, and the memory allocation control means controls the image processing means by the detecting means for processing parameters and input images. At the time of initialization according to the characteristics, it is detected whether the image processing means for executing the input image processing command at the time of executing the input image processing command temporarily stores the entire surface of the image in the memory, and 0 or an even number of images in the preceding stage. There is an image processing instruction that temporarily stores the entire surface in memory. An image processing instruction that temporarily stores the entire surface in memory shares the memory that temporarily stores the entire first image, and temporarily stores an odd number of images in the previous stage. 8. The image processing instruction for temporarily storing the entire image surface in which there is an image processing instruction for temporarily storing in the memory shares the memory for temporarily storing the second image entire surface. Image processing device.
【請求項10】 前記メモリ割り当て制御手段は、前記
検出手段により検出された画像処理命令より前段に2つ
以上の画像全面を一時的にメモリに蓄える画像処理命令
があるときに、該画像処理命令より前段に偶数個の画像
全面を一時的に蓄える画像処理命令がある場合には、第
1の画像全面を一時的に蓄える画像処理命令に割り当て
たメモリと同じメモリを割り当て、該画像処理命令より
前段に奇数個の画像全面を一時的に蓄える画像処理命令
がある場合には、第2の画像全面を一時的に蓄える画像
処理命令に割り当てたメモリと同じメモリを割り当て、
それぞれのメモリが必要とする容量に満たない場合に
は、必要な大きさのメモリを再割り当てすることを特徴
とする請求項9記載の画像処理装置。
10. The image processing instruction, when the memory allocation control means has an image processing instruction for temporarily storing two or more whole images in a memory before the image processing instruction detected by the detecting means. If there is an image processing command for temporarily storing the entire surface of an even number of images in the preceding stage, the same memory as the memory allocated to the image processing command for temporarily storing the entire surface of the first image is allocated, and If there is an image processing instruction that temporarily stores the entire surface of an odd number of images in the previous stage, allocate the same memory as the memory assigned to the image processing instruction that temporarily stores the entire surface of the second image,
10. The image processing apparatus according to claim 9, wherein the required amount of memory is reallocated when the respective memories do not reach the required capacity.
JP7773795A 1995-04-03 1995-04-03 Image processor Pending JPH08272981A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7773795A JPH08272981A (en) 1995-04-03 1995-04-03 Image processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7773795A JPH08272981A (en) 1995-04-03 1995-04-03 Image processor

Publications (1)

Publication Number Publication Date
JPH08272981A true JPH08272981A (en) 1996-10-18

Family

ID=13642229

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7773795A Pending JPH08272981A (en) 1995-04-03 1995-04-03 Image processor

Country Status (1)

Country Link
JP (1) JPH08272981A (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338503A (en) * 2005-06-03 2006-12-14 Fuji Xerox Co Ltd Image processing device, method, and program
US7254284B2 (en) 2002-03-20 2007-08-07 Fuji Xerox Co., Ltd. Image processing apparatus and image processing method for processing digitized image data
US7595803B2 (en) 2005-06-03 2009-09-29 Fuji Xerox Co., Ltd. Image processing device, method, and storage medium which stores a program
US7602391B2 (en) 2005-06-03 2009-10-13 Fuji Xerox Co., Ltd. Image processing device, method, and storage medium which stores a program
US7602392B2 (en) 2005-06-03 2009-10-13 Fuji Xerox Co., Ltd. Image processing device, method, and storage medium which stores a program
US7602394B2 (en) 2005-06-03 2009-10-13 Fuji Xerox Co., Ltd. Image processing device, method, and storage medium which stores a program
US7602393B2 (en) 2005-06-03 2009-10-13 Fuji Xerox Co., Ltd. Image processing device, method, and storage medium which stores a program
US7605819B2 (en) 2005-06-03 2009-10-20 Fuji Xerox Co., Ltd. Image processing device, method, and storage medium which stores a program
US7605818B2 (en) 2005-06-03 2009-10-20 Fuji Xerox Co., Ltd. Image processing device, method, and storage medium which stores a program
JP2011054123A (en) * 2009-09-04 2011-03-17 Canon Inc Image processing apparatus, image processing method and computer program
US8203733B2 (en) 2006-07-14 2012-06-19 Fuji Xerox Co., Ltd. Image processing apparatus, storage medium in which image processing program is stored, and image processing method

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7254284B2 (en) 2002-03-20 2007-08-07 Fuji Xerox Co., Ltd. Image processing apparatus and image processing method for processing digitized image data
JP2006338503A (en) * 2005-06-03 2006-12-14 Fuji Xerox Co Ltd Image processing device, method, and program
US7595803B2 (en) 2005-06-03 2009-09-29 Fuji Xerox Co., Ltd. Image processing device, method, and storage medium which stores a program
US7598957B2 (en) 2005-06-03 2009-10-06 Fuji Xerox Co., Ltd. Image processing device, method, and storage medium which stores a program
US7602391B2 (en) 2005-06-03 2009-10-13 Fuji Xerox Co., Ltd. Image processing device, method, and storage medium which stores a program
US7602392B2 (en) 2005-06-03 2009-10-13 Fuji Xerox Co., Ltd. Image processing device, method, and storage medium which stores a program
US7602394B2 (en) 2005-06-03 2009-10-13 Fuji Xerox Co., Ltd. Image processing device, method, and storage medium which stores a program
US7602393B2 (en) 2005-06-03 2009-10-13 Fuji Xerox Co., Ltd. Image processing device, method, and storage medium which stores a program
US7605819B2 (en) 2005-06-03 2009-10-20 Fuji Xerox Co., Ltd. Image processing device, method, and storage medium which stores a program
US7605818B2 (en) 2005-06-03 2009-10-20 Fuji Xerox Co., Ltd. Image processing device, method, and storage medium which stores a program
US8203733B2 (en) 2006-07-14 2012-06-19 Fuji Xerox Co., Ltd. Image processing apparatus, storage medium in which image processing program is stored, and image processing method
JP2011054123A (en) * 2009-09-04 2011-03-17 Canon Inc Image processing apparatus, image processing method and computer program

Similar Documents

Publication Publication Date Title
US7602394B2 (en) Image processing device, method, and storage medium which stores a program
US9064324B2 (en) Image processing device, image processing method, and recording medium on which an image processing program is recorded
US7602392B2 (en) Image processing device, method, and storage medium which stores a program
US20070248288A1 (en) Image processing device, and recording medium
JPH09284509A (en) Picture processor
US7605819B2 (en) Image processing device, method, and storage medium which stores a program
US7605818B2 (en) Image processing device, method, and storage medium which stores a program
US20080129740A1 (en) Image processing apparatus, storage medium that stores image processing program, and image processing method
JPH08272981A (en) Image processor
US9672063B2 (en) Scheduling, interpreting and rasterising tasks in a multi-threaded raster image processor
US7602391B2 (en) Image processing device, method, and storage medium which stores a program
US7595803B2 (en) Image processing device, method, and storage medium which stores a program
US7602393B2 (en) Image processing device, method, and storage medium which stores a program
US7598957B2 (en) Image processing device, method, and storage medium which stores a program
US5495339A (en) Scheduling multiple disk requests and writing data buffers to disk
JP4964219B2 (en) Image processing apparatus, method, and program
US8582153B2 (en) Image forming apparatus and method
JP2008011513A (en) System and method for pipelined dataflow document processing
JP2000311071A (en) Output controller, output control method, and storage medium stored with computer readable program
JP4762865B2 (en) Image processing apparatus and image processing program
JPH0746568A (en) Information processor
US11205242B2 (en) Memory error recovery for complex page RIP
JPH11115278A (en) Printer
JP2009053829A (en) Information processor and information processing program
JP7186541B2 (en) IMAGE PROCESSING DEVICE, CONTROL METHOD THEREOF, AND PROGRAM