JP2000149002A - Medium with image processing program recorded therein, image processor and image processing method - Google Patents

Medium with image processing program recorded therein, image processor and image processing method

Info

Publication number
JP2000149002A
JP2000149002A JP11186788A JP18678899A JP2000149002A JP 2000149002 A JP2000149002 A JP 2000149002A JP 11186788 A JP11186788 A JP 11186788A JP 18678899 A JP18678899 A JP 18678899A JP 2000149002 A JP2000149002 A JP 2000149002A
Authority
JP
Japan
Prior art keywords
image processing
processing
image
area
processing area
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.)
Granted
Application number
JP11186788A
Other languages
Japanese (ja)
Other versions
JP3467753B2 (en
Inventor
Masanori Ishida
正紀 石田
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP18678899A priority Critical patent/JP3467753B2/en
Publication of JP2000149002A publication Critical patent/JP2000149002A/en
Application granted granted Critical
Publication of JP3467753B2 publication Critical patent/JP3467753B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To reduce loads on a processing area management module and to obtain flexibility by successively preparing processing areas required for image processings for prestages in each image processing module. SOLUTION: A processed image is acquired at a processed image managing object P3, while executing management of divided object data at a divided image managing object P2 by a function managing object P1. A necessary area is requested for the processed image managing object P3, and divided image registration of the divided object data is executed beforehand as premises of the processing by the function managing object P1. Necessary pieces of registered divided object data are developed in a memory by the divided image managing object P2 with which information on an image area to be processed is received from the processed image managing object P3 via an magnification processing object P4, an enhancement processing object 5, and the image processing is executed by the enhancement processing object P5 and the magnification processing object P4.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、画像処理プログラ
ムを記録した媒体、画像処理装置および画像処理方法に
関し、特に、少なくとも2つ以上の画像処理モジュール
が相互に接続し、各画像処理を実行する画像処理プログ
ラムを記録した媒体、画像処理装置および画像処理方法
に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a medium on which an image processing program is recorded, an image processing apparatus and an image processing method, and in particular, at least two or more image processing modules are interconnected to execute each image processing. The present invention relates to a medium recording an image processing program, an image processing device, and an image processing method.

【0002】[0002]

【従来の技術】コンピュータなどでは、画像をドットマ
トリクス状に配置された画素にて構成する画像データと
して表し、この画像データに対して所定の画像処理を実
行してている。一方、近年、仮想的なドットマトリクス
状の領域に対して、オブジェクト画像を適宜配置して一
枚の画像を表す手法が利用されている。すなわち、文字
だけを表すオブジェクト画像や、イメージを表すオブジ
ェクト画像を個別に用意し、所定の順番で重ね合わせて
画像を完成させる。このような画像を扱う際、コンピュ
ータの処理の都合上、一つのオブジェクト画像を複数に
分割することが多い。例えば、オブジェクト画像が大き
くなるのにつれてデータ量も極めて多大となり、一体と
して処理するには処理資源の負担が大きくなるからであ
る。一方、コンピュータで複数の段階に分けて画像を処
理することも可能であり、アプリケーションのように内
部において自由に処理できるものの他、オペレーティン
グシステムの一部として機能するドライバやモジュール
によってメモリなどの制約を強く受けながら処理しなけ
ればならないものもある。すなわち、メモリなどの制約
を受ける場合、分割されたオブジェクトデータを連結し
て元のオブジェクト画像を生成することなく、画像処理
をしなければならないものがある。従来、画像処理を実
行するモジュールはオブジェクトデータの処理を実行す
る場合に、ドライバに対してオブジェクトデータへのア
クセスを要求する。そして、要求を受け付けたドライバ
はオブジェクトデータから所定の処理領域を形成し、こ
の処理領域を要求のあったモジュールに引き渡してい
る。
2. Description of the Related Art In a computer or the like, an image is represented as image data composed of pixels arranged in a dot matrix, and predetermined image processing is executed on the image data. On the other hand, in recent years, a technique of appropriately arranging object images in a virtual dot matrix area to represent one image has been used. That is, an object image representing only a character or an object image representing an image is individually prepared, and the images are completed by overlapping in a predetermined order. When handling such images, one object image is often divided into a plurality of objects for the convenience of computer processing. This is because, for example, as the size of the object image increases, the amount of data becomes extremely large, and the processing resources are burdened to perform the processing as one. On the other hand, it is also possible for a computer to process images in a plurality of stages, and in addition to those that can be freely processed internally like applications, memory and other restrictions are imposed by drivers and modules that function as part of the operating system. Some things must be dealt with strongly. That is, when there is a restriction on a memory or the like, there is a case where image processing must be performed without connecting divided object data to generate an original object image. 2. Description of the Related Art Conventionally, a module that executes image processing requests a driver to access object data when executing processing of object data. Then, the driver that has received the request forms a predetermined processing area from the object data, and transfers this processing area to the module that has requested.

【0003】[0003]

【発明が解決しようとする課題】上述した従来のものに
おいては、画像処理を実行するモジュールは一つしかな
く、ドライバは単にこのモジュールに提供する画像領域
を形成し引き渡してしていた。しかし、異なる画像処理
を実行するモジュールが複数ある場合、ドライバは各モ
ジュールの要求に応じて所定の処理領域を形成しなけれ
ばならないため、処理が煩雑になっていた。本発明は、
上記課題にかんがみてなされたもので、各モジュールを
実行して所定の画像データを生成する場合、各モジュー
ル間にて画像処理に必要な処理領域を通知しつつ用意さ
せるため、ドライバの処理負荷を低減させることが可能
であるとともに、画像処理を実行するモジュールを適宜
増加減することができることにより柔軟な画像処理シス
テムを構築することが可能な画像処理プログラムを記録
した媒体、画像処理装置および画像処理方法の提供を目
的とする。
In the prior art described above, there is only one module for executing image processing, and the driver simply forms and delivers an image area to be provided to this module. However, when there are a plurality of modules that execute different image processing, the driver has to form a predetermined processing area in accordance with a request of each module, so that the processing is complicated. The present invention
In view of the above-described problem, when each module is executed to generate predetermined image data, the processing load of the driver is reduced by preparing between the modules while notifying a processing area required for image processing. A medium, an image processing apparatus, and an image processing apparatus which record an image processing program capable of constructing a flexible image processing system by being able to appropriately reduce and increase the number of modules for executing image processing. The purpose is to provide a method.

【0004】[0004]

【課題を解決するための手段】上記目的を達成するた
め、請求項1にかかる発明は、それぞれが所定の画像処
理を実行する少なくとも2つ以上の画像処理モジュール
が相互に接続し、処理領域管理モジュールが元画像デー
タから画像処理の対象となる所定の処理領域を形成する
とともに、所定の画像処理モジュールに引き渡し、適宜
各画像処理モジュールにて画像処理を実行し修整画像デ
ータを生成するコンピュータにて読取り可能な画像処理
プログラムを記録した媒体であって、上記各画像処理モ
ジュールは、自己の画像処理に必要な処理領域を通知す
る画像処理領域通知ステップと、上記画像処理領域通知
ステップにおける通知に基づいて引き渡された処理領域
に対し、所定の画像処理を実行し修整画像データを生成
する画像処理実行ステップと、上記画像処理実行ステッ
プにて画像処理した処理領域を積み上げて通知に対応す
る処理領域を形成し、同処理領域を同通知を受けた画像
処理モジュールに引き渡す画像処理領域引渡ステップと
を具備する構成としてある。
According to a first aspect of the present invention, at least two or more image processing modules, each of which executes predetermined image processing, are connected to each other, and processing area management is performed. The module forms a predetermined processing area to be subjected to image processing from the original image data, transfers the processing area to the predetermined image processing module, executes image processing in each image processing module as appropriate, and generates modified image data by a computer. A medium in which a readable image processing program is recorded, wherein each of the image processing modules is based on an image processing area notification step of notifying a processing area required for its own image processing, and a notification in the image processing area notification step. Image processing execution processing for executing predetermined image processing on the transferred processing area and generating modified image data. And an image processing area transfer step of stacking the processing areas subjected to the image processing in the image processing execution step to form a processing area corresponding to the notification, and transferring the processing area to the image processing module receiving the notification. There is a configuration to have.

【0005】上記のように構成した請求項1にかかる発
明において、本画像処理プログラムを記録した媒体は、
処理画像管理モジュールと少なくとも2つ以上の画像処
理モジュールとから構成される。処理画像管理モジュー
ルは、画像処理の対象となる元画像データを管理しつ
つ、画像処理モジュールへ処理領域を引き渡す際に、元
画像データから処理領域を抽出して形成する。従って、
画像処理モジュールは、元画像データのデータ構成など
に関知することなく、処理領域管理モジュールが形成し
たデータについて画像処理を実行すればよい。また、画
像処理モジュールは相互に接続され、相互に画像処理し
た処理領域の受け渡し可能であるとともに、所定の応答
を実現可能になっている。
[0005] In the invention according to claim 1 configured as described above, the medium on which the image processing program is recorded is:
It comprises a processed image management module and at least two or more image processing modules. The processing image management module extracts and forms a processing area from the original image data when delivering the processing area to the image processing module while managing the original image data to be subjected to image processing. Therefore,
The image processing module may execute the image processing on the data formed by the processing area management module without knowing the data configuration of the original image data. Further, the image processing modules are connected to each other so that the processing areas subjected to the image processing can be exchanged with each other, and a predetermined response can be realized.

【0006】上述した元画像データは、画像全体を構成
するものであってもよいし、画像から抽出したオブジェ
クト画像により構成されるものであってもよい。また、
元画像データのデータ形式は、ドットマトリクス状の画
素にて形成されるビットマップデータであってもよい
し、描画されている図形などが所定の描画命令にて記述
されたベクターデータであってもよいし、適宜変更可能
である。ここで、処理領域管理モジュールが処理領域を
形成するとは、例えば、元画像データが画像に含まれる
オブジェクト画像についてのものであって、ランダムに
分割されて形成されているものである場合、ランダムに
分割されているデータのなかから画像処理モジュールに
て画像処理の対象となるある特定の連続した領域を検索
して、連結し処理領域を形成することである。むろん、
分割された元画像データがランダムに配置されていない
ときは、上述した検索等の処理は必要ではなく、所定の
位置から必要となる領域を区分して処理領域を形成する
こととなる。
[0006] The above-mentioned original image data may constitute the entire image, or may comprise object images extracted from the image. Also,
The data format of the original image data may be bitmap data formed by dot matrix pixels, or vector data in which a drawn figure or the like is described by a predetermined drawing command. Yes, and can be changed as appropriate. Here, the processing area management module forms a processing area means, for example, that the original image data is for an object image included in the image and is formed by being randomly divided, An image processing module searches for a specific continuous area to be subjected to image processing from among the divided data, and connects them to form a processing area. Of course,
When the divided original image data is not randomly arranged, the above-described processing such as the search is not necessary, and the required area is divided from a predetermined position to form a processing area.

【0007】また、各画像処理モジュールは、単独にて
画像処理に必要となる処理領域を処理領域管理モジュー
ルに通知し、この通知に従って処理領域管理モジュール
が形成した処理領域を受けて所定の画像処理を実行し修
整画像データを生成することが可能になっている。一
方、処理領域管理モジュールが形成した処理領域に対し
て、複数の画像処理モジュールを順次適用し、修整画像
データを生成することがある。かかる場合、任意の画像
処理モジュールは、複数の画像処理モジュールが画像処
理した処理領域を適宜利用して、自己の画像処理を実行
する。ここで、画像処理モジュールは他の画像処理モジ
ュールが画像処理した処理領域を適宜利用する際、ある
いは、各画像処理モジュール間に処理対象の処理領域が
存在しない場合であって画像処理を実行する際に、画像
処理領域通知ステップにて自己の画像処理に必要な処理
領域を他の画像処理モジュールあるいは処理領域管理モ
ジュールに通知する。また、画像処理実行ステップは、
上述した画像処理領域通知ステップにおける通知に基づ
いて、他の画像処理モジュールあるいは処理領域管理モ
ジュールから引き渡された処理領域に対し、所定の画像
処理を実行し修整画像データを生成する。
Each image processing module independently notifies a processing area management module of a processing area required for image processing, and receives a processing area formed by the processing area management module according to the notification, and receives a predetermined image processing. To generate modified image data. On the other hand, a plurality of image processing modules may be sequentially applied to a processing area formed by the processing area management module to generate modified image data. In such a case, an arbitrary image processing module executes its own image processing by appropriately using a processing area on which image processing has been performed by a plurality of image processing modules. Here, when the image processing module appropriately uses a processing area on which image processing has been performed by another image processing module, or when image processing is performed when there is no processing area to be processed between the image processing modules. Then, in the image processing area notifying step, the processing area necessary for its own image processing is notified to another image processing module or processing area management module. The image processing execution step includes:
Based on the notification in the above-described image processing area notification step, predetermined image processing is performed on the processing area transferred from another image processing module or the processing area management module to generate modified image data.

【0008】通知を受けた画像処理モジュール側では、
画像処理領域引渡ステップが自己の画像処理実行ステッ
プにて画像処理した処理領域を積み上げて通知に対応す
る処理領域を形成する。そして、同処理領域を同通知し
てきた画像処理モジュールに引き渡す。従って、引き渡
された画像処理モジュールにおいては、上述した画像処
理実行ステップにてこの処理領域を受け付け、所定の画
像処理を実行する。そして、この画像処理モジュールも
他の画像処理モジュールから処理領域の通知を受けてい
るならば、画像処理した処理領域を積み上げて通知に対
応する処理領域を形成するとともに引き渡す。すなわ
ち、各画像処理モジュールが自己の画像処理を施す処理
領域を持ち得ないときに、前段階の画像処理を実行する
画像処理モジュールに必要な処理領域を通知し、この通
知を受けた画像処理モジュールは、自己の画像処理を実
行しつつ、通知してきた画像処理モジュールが必要な処
理領域を形成し引き渡す。むろん、いずれの画像処理モ
ジュールにおいても処理領域を持ち得ないときは、所定
の順序にて実行される各画像処理モジュールの画像処理
にて、最後順の画像処理モジュールが処理領域管理モジ
ュールに自己の必要な処理領域を通知することになる。
On the image processing module side receiving the notification,
The image processing area delivery step stacks the processing areas subjected to image processing in its own image processing execution step to form a processing area corresponding to the notification. Then, the processing area is delivered to the image processing module that has sent the notification. Therefore, the transferred image processing module accepts this processing area in the above-described image processing execution step and executes predetermined image processing. If this image processing module has also received a notification of a processing area from another image processing module, the image processing modules stack the processing areas subjected to image processing to form a processing area corresponding to the notification and deliver the processing area. That is, when each image processing module cannot have a processing area for performing its own image processing, the image processing module that performs the preceding image processing is notified of the necessary processing area, and the image processing module that has received the notification is notified. While executing its own image processing, the notified image processing module forms and delivers a required processing area. Of course, when none of the image processing modules can have a processing area, in the image processing of each of the image processing modules executed in a predetermined order, the last image processing module has its own processing area management module. The required processing area will be notified.

【0009】画像処理領域通知ステップは、他の画像処
理モジュールや処理領域管理モジュールに対して必要な
処理領域を示した通知を実施することができればよく、
その通知する手法は多種の方法が採用できる。例えば、
各モジュール間にて所定のデータの送受を実行可能なプ
ロセス間通信により実施してもよいし、各モジュールが
共有にアクセス利用できる共有メモリを使用して実施し
てもよい。むろん、これらに限定されるものではなく、
各モジュールが共有して使用可能なリソースを使用して
実施すればよく、適宜採用可能である。画像処理実行ス
テップは、引き渡された処理領域に対して各モジュール
が備える所定の画像処理を実行することができればよ
く、その画像処理の内容は特に限定されない。例えば、
強調処理、拡大処理、 色調処理などがある。むろん、
それぞれ強調に使用するパラメータ、拡大に使用するパ
ラメータなどを変更することによって、各処理を複数に
してもよい。画像処理領域引渡ステップは、通知をして
きた画像処理モジュールに対して同画像処理モジュール
が必要としている処理領域を引き渡すことができればよ
く、その引き渡し方法は特に限定されるものではなく、
処理領域の画像データの実体を引き渡す方法であっても
よいし、実体そのものを引き渡すのではなく、実体が格
納された位置などを間接的に示し、画像データを引き渡
す方法であってもよい。
In the image processing area notifying step, it is sufficient that a notification indicating a necessary processing area can be performed to another image processing module or a processing area management module.
Various methods can be adopted as the notification method. For example,
Transmission and reception of predetermined data between the modules may be performed by inter-process communication that can be executed, or may be performed using a shared memory that can be used by each module to access the share. Of course, it is not limited to these,
What is necessary is just to implement using the resource which can be shared by each module, and can be employ | adopted suitably. The image processing execution step only needs to be able to execute predetermined image processing provided in each module on the transferred processing area, and the content of the image processing is not particularly limited. For example,
There are enhancement processing, enlargement processing, and color tone processing. Of course,
By changing parameters used for emphasis, parameters used for enlargement, and the like, each process may be plural. The image processing area delivery step is only required to be able to deliver the processing area required by the image processing module to the image processing module that has sent the notification, and the delivery method is not particularly limited,
A method of delivering the entity of the image data in the processing area may be used, or a method of delivering the image data by indirectly indicating the position where the entity is stored, instead of delivering the entity itself.

【0010】ここで、その記録媒体は、磁気記録媒体で
あってもよいし光磁気記録媒体であってもよいし、今後
開発されるいかなる記録媒体においても全く同様に考え
ることができる。また、一次複製品、二次複製品などの
複製段階については全く問う余地無く同等である。その
他、供給方法として通信回線を利用して行なう場合でも
本発明が利用されていることにはかわりない。さらに、
一部がソフトウェアであって、一部がハードウェアで実
現されている場合においても発明の思想において全く異
なるものではなく、一部を記録媒体上に記憶しておいて
必要に応じて適宜読み込まれるような形態のものとして
あってもよい。
Here, the recording medium may be a magnetic recording medium, a magneto-optical recording medium, or any recording medium to be developed in the future. Also, the duplication stages of the primary duplicated product, the secondary duplicated product, and the like are equivalent without any question. In addition, the present invention is not limited to the case where the present invention is used even when the supply is performed using a communication line. further,
The concept of the present invention is not completely different even when part is software and part is realized by hardware, and part is stored on a recording medium and read as needed as needed. Such a form may be adopted.

【0011】画像処理領域通知ステップが他の画像処理
モジュールあるいは処理領域管理モジュールに必要な処
理領域を通知する際の単位の一例として、請求項2にか
かる発明は、請求項1に記載の画像処理プログラムを記
録した媒体において、上記処理領域管理モジュールは、
上記元画像データがドットマトリクス状に配置された画
素から構成されるとき、複数の画素を有するライン単位
により処理領域を形成し、上記画像処理領域通知ステッ
プは、同ライン単位により必要な処理領域を通知する構
成としてある。上記のように構成した請求項2にかかる
発明において、処理領域管理モジュールは、元画像デー
タがドットマトリクス状に配置された画素から構成され
るとき、複数の画素を有するライン単位により処理領域
を形成し、画像処理領域通知ステップは、同ライン単位
により必要な処理領域を通知する。例えば、画像処理モ
ジュールA,Bがあり、処理領域の通知が画像処理モジ
ュールAから画像処理モジュールBへ、そして、画像処
理モジュールBから処理領域管理モジュールへと行われ
るとする。かかる場合、画像処理モジュールAは自己の
画像処理にて1ラインの修整画像データを生成するとき
であって参照するデータも含めて5ラインの画像データ
を必要とする。従って、画像処理モジュールBに対して
5ラインの処理領域を引き渡すように通知する。一方、
画像処理モジュールBは自己の画像処理にて1ラインの
修整画像データを生成するときに1ラインの画像データ
しか必要ない場合、処理領域管理モジュールに対して1
ラインの処理領域を引渡すように通知する。ここで、処
理領域管理モジュールは元画像データより1ラインの画
像データを生成し、画像処理モジュールBに引き渡す。
そして、画像処理モジュールBは、処理領域管理モジュ
ールへの1ラインの引き渡し通知と、画像処理を5ライ
ン分繰り返し、5ライン分の画像処理が完了したら画像
処理モジュールAに引き渡す。このように、各画像処理
モジュールおよび処理領域管理モジュール間にて実行さ
れる「通知」や「引き渡し」をライン単位にて実施す
る。
The invention according to claim 2 is an example of a unit when the image processing area notifying step notifies another image processing module or a processing area management module of a necessary processing area. In the medium on which the program is recorded, the processing area management module includes:
When the original image data is composed of pixels arranged in a dot matrix, a processing region is formed in units of lines having a plurality of pixels, and the image processing region notification step includes a step of notifying a necessary processing region in units of the lines. It is configured to notify. In the invention according to claim 2 configured as described above, the processing area management module forms the processing area by a line unit having a plurality of pixels when the original image data is configured by pixels arranged in a dot matrix. In the image processing area notification step, a required processing area is notified on a line-by-line basis. For example, it is assumed that there are image processing modules A and B, and a notification of a processing area is sent from the image processing module A to the image processing module B and from the image processing module B to the processing area management module. In such a case, the image processing module A needs five lines of image data including the data to be referred to when generating the one-line modified image data by its own image processing. Accordingly, the image processing module B is notified to deliver a 5-line processing area. on the other hand,
If the image processing module B needs only one line of image data to generate one line of modified image data in its own image processing, the image processing module B
Notifies that the line processing area is to be delivered. Here, the processing area management module generates one line of image data from the original image data, and transfers it to the image processing module B.
Then, the image processing module B repeats the notification of the transfer of one line to the processing area management module and the image processing for five lines, and transfers the image processing to the image processing module A when the image processing for five lines is completed. As described above, the “notification” and “delivery” executed between each image processing module and the processing area management module are performed in line units.

【0012】また、画像処理領域通知ステップが他の画
像処理モジュールあるいは処理領域管理モジュールに必
要な処理領域を通知する際の単位の他の一例として、請
求項3にかかる発明は、請求項1または請求項2のいず
れかに記載の画像処理プログラムを記録した媒体におい
て、上記処理領域管理モジュールは、上記元画像データ
がドットマトリクス状に配置された画素から構成される
とき、所定数の画素単位により処理領域を形成し、上記
画像処理領域通知ステップは、同画素単位により必要な
処理領域を通知する構成としてある。上記のように構成
した請求項3にかかる発明において、処理領域管理モジ
ュールは、元画像データがドットマトリクス状に配置さ
れた画素から構成されるとき、所定数の画素単位により
処理領域を形成し、画像処理領域通知ステップは、同画
素単位により必要な処理領域を通知する。かかる場合、
上述したライン単位による処理領域の形成および引き渡
しが画素単位で実施される。よって、より小さい範囲に
て処理領域を形成することが可能になる。
Further, as another example of the unit in which the image processing area notifying step notifies another image processing module or a processing area management module of a necessary processing area, the invention according to claim 3 is the invention according to claim 1 or 2. 3. The medium in which the image processing program according to claim 2 is recorded, wherein the processing area management module uses a predetermined number of pixel units when the original image data is composed of pixels arranged in a dot matrix. A processing area is formed, and the image processing area notification step notifies a required processing area in the same pixel unit. In the invention according to claim 3 configured as described above, the processing area management module forms a processing area in a predetermined number of pixel units when the original image data is composed of pixels arranged in a dot matrix, The image processing area notification step notifies a required processing area in the same pixel unit. In such cases,
The above-described formation and delivery of the processing area in units of lines are performed in units of pixels. Therefore, a processing region can be formed in a smaller range.

【0013】画像処理モジュールあるいは処理領域管理
モジュールが形成した処理領域を展開して相手の画像処
理モジュールに引き渡す手法の一例として、請求項4に
かかる発明は、請求項1〜請求項3のいずれかに記載の
画像処理プログラムを記録した媒体において、上記処理
領域管理モジュールおよび各画像処理モジュールは、所
定の記憶領域に個別に処理領域を展開して形成し、上記
画像処理実行ステップは、他の画像処理モジュールの記
憶領域に形成された処理領域を参照しつつ、同個別の記
憶領域にて画像処理を実行し修整画像データを生成する
構成としてある。上記のように構成した請求項4にかか
る発明において、処理領域管理モジュールおよび各画像
処理モジュールは、所定の記憶領域に個別に処理領域を
展開して形成し、画像処理実行ステップは、他の画像処
理モジュールの記憶領域に形成された処理領域を参照し
つつ、同個別の記憶領域にて画像処理を実行し修整画像
データを生成する。すなわち、画像処理モジュールは、
自己が画像処理した処理領域を確保すればよく、他の画
像処理モジュールにて形成された処理領域を自己の記憶
領域に取り込む必要がないため、記憶領域を有効に利用
することができるようになる。
The invention according to claim 4 is an example of a technique for expanding a processing area formed by the image processing module or the processing area management module and transferring the processing area to a partner image processing module. Wherein the processing area management module and each of the image processing modules individually form and form a processing area in a predetermined storage area. With reference to the processing area formed in the storage area of the processing module, image processing is executed in the individual storage area to generate modified image data. In the invention according to claim 4 configured as described above, the processing area management module and each image processing module develop and form a processing area individually in a predetermined storage area, and the image processing execution step includes the step of executing another image processing. Image processing is executed in the individual storage area while referring to the processing area formed in the storage area of the processing module to generate modified image data. That is, the image processing module
It suffices to secure a processing area that has been subjected to image processing by itself, and there is no need to import a processing area formed by another image processing module into its own storage area, so that the storage area can be used effectively. .

【0014】各画像処理モジュールはそれぞれ単独で修
整画像データを生成することが可能である。しかし、所
定の順序で画像処理を実行し、一の修整画像データを生
成する場合、上述したように順番が最後でない各画像処
理モジュールは自己の画像処理が終われば、処理対象か
ら外れた処理領域は必要なくなる。この必要のない処理
領域を順次記憶領域から解放することができれば好適で
ある。そこで、請求項5にかかる発明は、請求項1〜請
求項4のいずれかに記載の画像処理プログラムを記録し
た媒体において、上記各画像処理モジュールは、複数の
画像処理モジュールを所定の順序にて接続し順次画像処
理を実行しつつ一の修整画像データを生成する場合、自
己の画像処理が最後でないとき、個別の記憶領域から画
像処理に不要な処理領域を順次解放する構成としてあ
る。上記のように構成した請求項5にかかる発明におい
て、各画像処理モジュールは、複数の画像処理モジュー
ルを連結して所定の順序にて利用し、一の修整画像デー
タを生成する場合、自己の画像処理が最後でないとき
は、画像処理が終わると処理対象から外れた処理領域を
個別の記憶領域から解放する。これにより、順序が最後
でない画像処理モジュールは画像処理が終了した処理領
域を全て記憶領域に展開しておく必要がなくなるため、
画像処理に必要とする最低限の記憶領域を確保するもに
でよい。従って、記憶領域を有効かつ効率的に利用する
ことが可能になる。
Each image processing module can independently generate modified image data. However, when performing image processing in a predetermined order and generating one modified image data, as described above, each of the image processing modules whose order is not the last, if its own image processing is completed, a processing area outside the processing target. Is no longer needed. It is preferable that the unnecessary processing areas can be sequentially released from the storage areas. According to a fifth aspect of the present invention, in the medium storing the image processing program according to any one of the first to fourth aspects, each of the image processing modules includes a plurality of image processing modules arranged in a predetermined order. In the case where one modified image data is generated while performing sequential image processing while being connected, when its own image processing is not the last, processing areas unnecessary for image processing are sequentially released from individual storage areas. In the invention according to claim 5 configured as described above, when each image processing module connects a plurality of image processing modules and uses them in a predetermined order to generate one modified image data, each image processing module has its own image. If the processing is not the last, when the image processing is completed, the processing area outside the processing target is released from the individual storage area. As a result, the image processing module whose order is not the last does not need to expand all the processing areas in which the image processing has been completed in the storage area.
The minimum storage area required for image processing may be secured. Therefore, the storage area can be used effectively and efficiently.

【0015】処理領域管理モジュールが管理する元画像
データは、画像のイメージそのままに形成されている場
合もあれば、画像がランダムに分割されるとともに、こ
の分割データがランダムに配置されて元画像データを形
成する場合もある。このようにランダムに配置されて元
画像データが形成されている場合に好適な処理領域管理
モジュールの機能の一例として、請求項6にかかる発明
は、請求項1〜請求項5のいずれかに記載の画像処理プ
ログラムを記録した媒体において、上記処理領域管理モ
ジュールは、上記元画像データから処理領域を形成する
に際し、利用頻度の高いものを限定して利用可能にする
構成としてある。上記のように構成した請求項6にかか
る発明において、処理領域管理モジュールは、元画像デ
ータから処理領域を形成するに際し、利用頻度の高いも
のを限定して利用可能にする。従来、ランダムに分割さ
れた分割データから所定の処理領域を形成する場合、す
べての分割データを検索しつつ、この処理領域に該当す
る箇所を抽出して処理領域を形成する。従って、処理領
域管理モジュールは処理領域の通知を受けるごとに検索
を実行し該当する処理領域を形成しなければならなかっ
た。しかし、任意の処理領域を形成した後は、この処理
領域を含む分割データが次の処理領域の形成に利用する
確率は高いため、このうような利用頻度が高い分割デー
タを限定して利用可能にする。この利用可能にする手法
は、この分割データを他の記憶領域に確保しておき、検
索する際はこの記憶領域のみを検索する手法にて実現し
てもよいし、この分割データが元画像データにて存在す
る位置を示すポインタを保持して実現してもよい。
The original image data managed by the processing area management module may be formed as it is, or the image may be divided at random, and the divided data may be randomly arranged to form the original image data. May be formed. The invention according to claim 6 is an example of a function of the processing area management module that is suitable when the original image data is formed by being randomly arranged as described above, according to any one of claims 1 to 5. In the medium in which the image processing program is recorded, the processing area management module is configured such that, when forming a processing area from the original image data, a processing area having a high use frequency is limited and can be used. In the invention according to claim 6 configured as described above, when forming a processing area from original image data, the processing area management module limits the frequently used ones to use. Conventionally, when a predetermined processing area is formed from randomly divided data, a processing area is formed by searching for all the divided data and extracting a portion corresponding to the processing area. Therefore, each time the processing area management module receives the notification of the processing area, it has to execute a search and form a corresponding processing area. However, after forming an arbitrary processing area, there is a high probability that the divided data including this processing area will be used for the formation of the next processing area. To The method for making this available may be realized by securing this divided data in another storage area and performing a search by searching only this storage area when searching. May be realized by holding a pointer indicating a position where the information exists.

【0016】任意の画像処理モジュールが自己の画像処
理を実行して1ラインの領域を形成するために必要とす
る処理領域が5ラインの場合であって、この画像処理モ
ジュールが未だ処理領域を引き渡されていない場合、最
初の通知では5ライン必要となるが、この5ラインによ
って画像処理を実行し1ラインを形成した後は、順次1
ラインの引き渡しを通知して先頭の1ラインを処理対象
から除外し新規な5ラインにて画像処理を実行する。か
かる場合、5ラインを通知する処理と1ラインを通知す
る処理を個別にするとよい。そこで、請求項7にかかる
発明は、請求項1〜請求項6のいずれかに記載の画像処
理プログラムを記録した媒体において、上記画像処理領
域通知ステップは、初期画像処理時に必要な処理領域を
通知する初期画像処理領域通知ステップと、初期画像処
理以降の通常時に必要な処理領域を通知する通常画像処
理領域通知ステップを備える構成としてある。上記のよ
うに構成した請求項7にかかる発明において、初期画像
処理領域通知ステップは、初期画像処理時に必要な処理
領域を通知する。上述した例によると5ラインを通知す
る。また、通常画像処理領域通知ステップは、初期画像
処理以降の通常時に必要な処理領域を通知する。上述し
た例によると1ラインを通知する。ここで、初期画像処
理時とは、上述したように画像処理モジュールが画像処
理の対象となる処理領域を全く保持していない場合をい
う。
In the case where the number of processing areas required for an arbitrary image processing module to execute its own image processing to form an area of one line is five, this image processing module still delivers the processing area. If not, the first notification requires five lines, but after performing image processing with these five lines to form one line, one line is sequentially set.
The transfer of the line is notified, and the first line is excluded from the processing target, and the image processing is executed with five new lines. In such a case, the process of notifying five lines and the process of notifying one line may be performed separately. According to a seventh aspect of the present invention, in the medium storing the image processing program according to any one of the first to sixth aspects, the image processing area notifying step notifies a processing area necessary for initial image processing. And a normal image processing area notifying step of notifying a processing area necessary at a normal time after the initial image processing. In the invention according to claim 7 configured as described above, the initial image processing area notification step notifies a processing area necessary for initial image processing. According to the above example, five lines are notified. In the normal image processing area notification step, a processing area required at normal times after the initial image processing is notified. According to the above example, one line is notified. Here, the time of the initial image processing refers to a case where the image processing module does not hold a processing area to be subjected to image processing at all, as described above.

【0017】ところで、このような画像処理プログラム
を記録した媒体はある機器に組み込まれた状態で利用さ
れることもあるなど、発明の思想としては、記録媒体に
限らず、各種の態様を含むものである。従って、ソフト
ウェアであったりハードウェアであったりするなど、適
宜変更可能である。そして、発明の思想の具現化例とし
て、画像処理の実行がコンピュータなどにより構築され
る場合には、ソフトウェアやハードウェアを適宜利用し
て所定の画像処理を実行し、元画像データから修整画像
データを生成する画像処理装置としても当然に存在し利
用されるといわざるをえない。その一例として、請求項
8にかかる発明は、それぞれが所定の画像処理を実行す
る少なくとも2つ以上の画像処理モジュールが相互に接
続し、処理領域管理モジュールが元画像データから画像
処理の対象となる所定の処理領域を形成するとともに、
所定の画像処理モジュールに引き渡し、適宜各画像処理
モジュールにて画像処理を実行しつつ修整画像データを
生成する画像処理装置であって、上記各画像処理モジュ
ールは、自己の画像処理に必要な処理領域を通知する画
像処理領域通知手段と、上記画像処理領域通知手段の通
知に基づいて引き渡された処理領域に対し、所定の画像
処理を実行し修整画像データを生成する画像処理実行手
段と、上記画像処理実行手段にて画像処理した処理領域
を積み上げて通知に対応する処理領域を形成し、同処理
領域を同通知を受けた画像処理モジュールに引き渡す画
像処理領域引渡手段とを具備する構成としてある。すな
わち、必ずしも画像処理プログラムを記録した媒体にて
具現化されるとともに提供することに限定されるもので
はなく、画像処理装置としても提供することも有効であ
ることに相違はない。
By the way, the idea of the invention is not limited to a recording medium, but includes various aspects. For example, a medium in which such an image processing program is recorded may be used in a state of being incorporated in a certain device. . Therefore, it can be changed as appropriate, such as software or hardware. As an example of realizing the idea of the present invention, when image processing is executed by a computer or the like, predetermined image processing is executed by appropriately using software or hardware, and modified image data is converted from original image data. Is naturally present and used as an image processing apparatus for generating the image data. As an example, according to the invention according to claim 8, at least two or more image processing modules each executing predetermined image processing are connected to each other, and the processing area management module is subjected to image processing from original image data. While forming a predetermined processing area,
An image processing device that generates modified image data while transferring image data to a predetermined image processing module and appropriately performing image processing in each image processing module, wherein each of the image processing modules has a processing area required for its own image processing. Image processing area notification means for notifying the image processing area, image processing execution means for executing predetermined image processing on the processing area delivered based on the notification of the image processing area notification means, and generating modified image data, Image processing area transfer means for stacking the processing areas image-processed by the processing execution means to form a processing area corresponding to the notification, and transferring the processing area to the image processing module having received the notification. That is, the present invention is not necessarily limited to being embodied and provided in a medium in which the image processing program is recorded, and there is no difference that providing as an image processing apparatus is effective.

【0018】このように、それぞれが所定の画像処理を
実行する少なくとも2つ以上の画像処理モジュールが相
互に接続し、処理領域管理モジュールが元画像データか
ら画像処理の対象となる所定の処理領域を形成するとと
もに、所定の画像処理モジュールに引き渡し、適宜各画
像処理モジュールにて画像処理を実行しつつ修整画像デ
ータを生成する手法は必ずしも実体のある装置に限られ
る必要はなく、その方法としても機能することは容易に
理解できる。このため、請求項9にかかる発明は、それ
ぞれが所定の画像処理を実行する少なくとも2つ以上の
画像処理モジュールが相互に接続し、処理領域管理モジ
ュールが元画像データから画像処理の対象となる所定の
処理領域を形成するとともに、所定の画像処理モジュー
ルに引き渡し、適宜各画像処理モジュールにて画像処理
を実行し修整画像データを生成する画像処理方法であっ
て、上記各画像処理モジュールは、自己の画像処理に必
要な処理領域を通知する画像処理領域通知工程と、上記
画像処理領域通知工程における通知に基づいて引き渡さ
れた処理領域に対し、所定の画像処理を実行し修整画像
データを生成する画像処理実行工程と、上記画像処理実
行工程にて画像処理した処理領域を積み上げて通知に対
応する処理領域を形成し、同処理領域を同通知を受けた
画像処理モジュールに引き渡す画像処理領域引渡工程と
を具備する構成としてある。すなわち、必ずしも実体の
ある画像処理装置に限らず、その画像処理方法としても
有効であることに相違はない。
As described above, at least two or more image processing modules, each of which executes predetermined image processing, are connected to each other, and the processing area management module determines a predetermined processing area to be subjected to image processing from the original image data. The method of forming and transferring the image data to a predetermined image processing module, and generating the modified image data while executing the image processing in each image processing module as appropriate is not necessarily limited to a substantial device, and also functions as the method. It is easy to understand. Therefore, according to the ninth aspect of the present invention, at least two or more image processing modules each performing predetermined image processing are connected to each other, and the processing area management module is configured to execute a predetermined image processing target from the original image data. An image processing method for forming modified processing areas, transferring the image data to a predetermined image processing module, and appropriately executing image processing in each image processing module to generate modified image data. An image processing area notifying step for notifying a processing area required for image processing, and an image for performing predetermined image processing on the processing area delivered based on the notification in the image processing area notifying step to generate modified image data A processing execution step and a processing area subjected to the image processing in the image processing execution step are stacked to form a processing area corresponding to the notification. It is constituted comprising an image processing area delivery step to be passed to an image processing module receiving the same notification area. That is, there is no difference that the present invention is not necessarily limited to a substantial image processing apparatus but is also effective as an image processing method.

【0019】[0019]

【発明の効果】以上説明したように本発明は、複数の画
像処理モジュールを順次実行して修整画像データを生成
する場合、各画像処理モジュールにて画像処理に必要な
処理領域を順次前段階の画像処理モジュールに用意させ
るため、処理領域管理モジュールの負荷を低減すること
ができるとともに、一義的に画像処理の順序を固定する
必要が無く、柔軟な画像処理システムを構築することが
可能なコンピュータにて読取り可能な画像処理プログラ
ムを記録した媒体を提供することができる。また、請求
項2にかかる発明によれば、ライン単位で処理領域を特
定するため、処理領域を確保する領域を小さくすること
ができる。さらに、請求項3にかかる発明によれば、画
素単位で処理領域を特定するため処理領域を確保する領
域をより小さくすることができる。さらに、請求項4に
かかる発明によれば、各画像処理モジュールが個別の記
憶領域に画像処理を実行した修整画像データを保存する
ため、各画像処理モジュールでの処理結果を利用するこ
とが可能になる。さらに、請求項5にかかる発明によれ
ば、各画像処理モジュールにて画像処理に必要のない処
理領域を確保する記憶領域を解放するため、記憶領域を
有効かつ効率的に利用することが可能になる。
As described above, according to the present invention, when modified image data is generated by sequentially executing a plurality of image processing modules, the processing areas required for image processing in each image processing module are sequentially determined in the preceding stage. Since the image processing module is provided, the load on the processing area management module can be reduced, and there is no need to uniquely fix the order of image processing, and a computer capable of constructing a flexible image processing system can be provided. And a medium storing an image processing program which can be read. According to the second aspect of the present invention, since the processing area is specified in units of lines, the area for securing the processing area can be reduced. Furthermore, according to the third aspect of the present invention, since the processing area is specified in pixel units, the area for securing the processing area can be made smaller. Further, according to the invention of claim 4, since each image processing module saves the modified image data that has been subjected to the image processing in the individual storage area, it is possible to use the processing result of each image processing module. Become. Further, according to the fifth aspect of the present invention, since the storage area for securing a processing area unnecessary for image processing in each image processing module is released, the storage area can be used effectively and efficiently. Become.

【0020】さらに、請求項6にかかる発明によれば、
処理領域管理モジュールは高速に処理領域を形成するこ
とが可能になる。さらに、請求項7にかかる発明によれ
ば、初期画像処理時と通常画像処理時に使用する通知機
能を別個にするため、処理を高速化することが可能にな
る。さらに、請求項8にかかる発明によれば、複数の画
像処理モジュールを順次実行して修整画像データを生成
する場合、各画像処理モジュールにて画像処理に必要な
処理領域を順次前段階の画像処理モジュールに用意させ
るため、処理領域管理モジュールの負荷を低減すること
ができるとともに、一義的に画像処理の順序を固定する
必要が無く、柔軟な画像処理システムを構築することが
可能な画像処理装置を提供することができる。さらに、
請求項9にかかる発明によれば、複数の画像処理モジュ
ールを順次実行して修整画像データを生成する場合、各
画像処理モジュールにて画像処理に必要な処理領域を順
次前段階の画像処理モジュールに用意させるため、処理
領域管理モジュールの負荷を低減することができるとと
もに、一義的に画像処理の順序を固定する必要が無く、
柔軟な画像処理システムを構築することが可能な画像処
理方法を提供することができる。
Further, according to the invention according to claim 6,
The processing area management module can form a processing area at high speed. Furthermore, according to the invention of claim 7, the notification function used at the time of the initial image processing and the notification function used at the time of the normal image processing are separated, so that the processing can be sped up. Further, according to the invention of claim 8, when the modified image data is generated by sequentially executing the plurality of image processing modules, the processing areas required for the image processing in each of the image processing modules are sequentially processed in the previous stage of the image processing. An image processing apparatus that can reduce the load on the processing area management module because it is prepared by the module, and does not need to unambiguously fix the order of image processing, and can construct a flexible image processing system. Can be provided. further,
According to the ninth aspect of the invention, when the modified image data is generated by sequentially executing the plurality of image processing modules, the processing areas necessary for the image processing in each image processing module are sequentially stored in the preceding image processing module. Because it is prepared, the load on the processing area management module can be reduced, and there is no need to uniquely fix the order of image processing.
An image processing method capable of constructing a flexible image processing system can be provided.

【0021】[0021]

【発明の実施の形態】以下、図面にもとづいて本発明の
実施形態を説明する。図1は本発明の一実施形態にかか
る画像処理プログラムを適用した画像処理システムを実
現するハードウェアの一例としてのコンピュータシステ
ム10をブロック図により示している。本コンピュータ
システム10は、画像データを直接的に入力する画像入
力デバイスとして、スキャナ11aとデジタルスチルカ
メラ11bとビデオカメラ11cとを備えており、コン
ピュータ本体12に接続されている。それぞれの入力デ
バイスは画像をドットマトリクス状の画素で表現した画
像データを生成してコンピュータ本体12に出力可能と
なっており、ここで同画像データはRGBの三原色にお
いてそれぞれ256階調表示することにより、約167
0万色を表現可能となっている。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing a computer system 10 as an example of hardware for realizing an image processing system to which an image processing program according to an embodiment of the present invention is applied. The computer system 10 includes a scanner 11a, a digital still camera 11b, and a video camera 11c as image input devices for directly inputting image data, and is connected to a computer main body 12. Each input device is capable of generating image data representing an image by dot matrix pixels and outputting the image data to the computer main unit 12. Here, the image data is displayed in 256 gradations in three primary colors of RGB. , About 167
It is possible to express 10,000 colors.

【0022】コンピュータ本体12には、外部補助記憶
装置としてのフロッピーディスクドライブ13aとハー
ドディスク13bとCD−ROMドライブ13cとが接
続されており、ハードディスク13bにはシステム関連
の主要プログラムが記録されており、フロッピーディス
クやCD−ROMなどから適宜必要なプログラムなどを
読み込み可能となっている。また、コンピュータ本体1
2を外部のネットワークなどに接続するための通信デバ
イスとしてモデム14aが接続されており、外部のネッ
トワークに同公衆通信回線を介して接続し、ソフトウェ
アやデータをダウンロードして導入可能となっている。
この例ではモデム14aにて電話回線を介して外部にア
クセスするようにしているが、LANアダプタを介して
ネットワークに対してアクセスする構成とすることも可
能である。
The computer main body 12 is connected to a floppy disk drive 13a, a hard disk 13b, and a CD-ROM drive 13c as external auxiliary storage devices. The hard disk 13b stores main system-related programs. Necessary programs and the like can be read from a floppy disk or a CD-ROM as needed. The computer body 1
A modem 14a is connected as a communication device for connecting the 2 to an external network or the like. The modem 14a is connected to the external network via the same public communication line, and software and data can be downloaded and introduced.
In this example, the modem 14a accesses the outside via a telephone line. However, a configuration in which a network is accessed via a LAN adapter is also possible.

【0023】ここで、外部補助記憶装置のうち、フロッ
ピーディスクドライブ13aやCD−ROMドライブ1
3cについては、記録媒体自身が交換可能であり、この
記録媒体に画像データが記録された状態で供給されるこ
とにより、画像入力デバイスの一手段ともなりうる。ま
た、モデム14aやLANアダプタを介してネットワー
クにアクセスした場合、このネットワークから画像デー
タが供給されることもあり、このような場合も画像入力
デバイスの一手段となりうる。この他、コンピュータ本
体12の操作用にキーボード15aやポインティングデ
バイスとしてのマウス15bも接続され、さらに、マル
チメディア対応のためにスピーカ18aやマイク18b
を備えている。一方、画像出力デバイスとして、ディス
プレイ17aとカラープリンタ17bとを備えている。
ディスプレイ17aについては水平方向に800画素と
垂直方向に600画素の表示エリアを備えており、各画
素毎に上述した1670万色の表示が可能となってい
る。むろん、この解像度は一例に過ぎず、640×48
0画素であったり、1024×768画素であるなど、
適宜、変更可能である。
Here, among the external auxiliary storage devices, the floppy disk drive 13a and the CD-ROM drive 1
Regarding 3c, the recording medium itself can be exchanged, and when supplied in a state where image data is recorded on this recording medium, it can also be a means of an image input device. Further, when accessing a network via the modem 14a or a LAN adapter, image data may be supplied from the network, and in such a case, the image data can be used as a means of an image input device. In addition, a keyboard 15a and a mouse 15b as a pointing device are connected to operate the computer main body 12, and a speaker 18a and a microphone 18b are used for multimedia.
It has. On the other hand, a display 17a and a color printer 17b are provided as image output devices.
The display 17a has a display area of 800 pixels in the horizontal direction and 600 pixels in the vertical direction, and can display the above-mentioned 16.7 million colors for each pixel. Of course, this resolution is only an example, 640 × 48
0 pixels or 1024 x 768 pixels
It can be changed as appropriate.

【0024】また、印刷装置としてのカラープリンタ1
7bはインクジェットプリンタであり、CMYKの四色
の色インクを用いて記録媒体たる印刷用紙上にドットを
付して画像を印刷可能となっている。画像密度は360
×360dpiや720×720dpiといった高密度
印刷が可能となっているが、階調表限については色イン
クを付すか否かといった2階調表現となっている。色イ
ンクについては、かかる四色のものに限らず、色の薄い
ライトシアンやライトマゼンタを加えた六色によってド
ットの目立ちを低減させることも可能であるしインクジ
ェット方式に限らずカラートナーを利用した静電写真方
式などを採用することも可能である。このような画像入
力デバイスを使用して画像を入力しつつ、画像出力デバ
イスに表示あるいは出力するため、コンピュータ本体1
2内では所定のプログラムが実行されることになる。そ
のうち、基本プログラムとして稼働しているのはオペレ
ーティングシステム(OS)12aであり、このオペレ
ーティングシステム12aにはディスプレイ17aでの
表示を行わせるディスプレイドライバ(DSPDRV)
12bとカラープリンタ17bに印刷出力を行わせるプ
リンタドライバ(PRT DRV)12cが組み込まれ
ている。これらのドライバ12b,12cの類はディス
プレイ17aやカラープリンタ17bの機種に依存して
おり、それぞれの機種に応じてオペレーティングシステ
ム12aに対して追加変更可能である。また、機種に依
存して標準処理以上の付加機能を実現することもできる
ようになっている。すなわち、オペレーティングシステ
ム12aという標準システム上で共通化した処理体系を
維持しつつ、許容される範囲内での各種の追加的処理を
実現できる。
A color printer 1 as a printing device
Reference numeral 7b denotes an ink-jet printer which can print an image by adding dots to printing paper as a recording medium using four color inks of CMYK. Image density is 360
High-density printing such as × 360 dpi or 720 × 720 dpi is possible, but the gradation table has a two-gradation expression such as whether or not to apply color ink. The color ink is not limited to the four color inks, and it is also possible to reduce the conspicuousness of dots by using six colors including light cyan and light magenta, which are not limited to the ink jet method. It is also possible to adopt an electrophotographic method or the like. The computer main body 1 is used for displaying or outputting to an image output device while inputting an image using such an image input device.
2, a predetermined program is executed. Of these, an operating system (OS) 12a is operating as a basic program, and the operating system 12a has a display driver (DSPDRV) for displaying on the display 17a.
A printer driver (PRT DRV) 12c that causes the printer 12b and the color printer 17b to perform print output is incorporated. These drivers 12b and 12c depend on the models of the display 17a and the color printer 17b, and can be additionally changed to the operating system 12a according to each model. Further, depending on the model, additional functions beyond the standard processing can be realized. That is, it is possible to realize various additional processes within an allowable range while maintaining a common processing system on the standard system of the operating system 12a.

【0025】この基本プログラムとしてのオペレーティ
ングシステム12a上でアプリケーション12dが実行
される。アプリケーション12dの処理内容は様々であ
り、操作デバイスとしてのキーボード15aやマウス1
5bの操作を監視し、操作された場合には各種の外部機
器を適切に制御して対応する演算処理などを実行し、さ
らには、処理結果をディスプレイ17aに表示したり、
カラープリンタ17bに出力したりすることになる。か
かるコンピュータシステム10では、画像入力デバイス
であるスキャナ11aなどで写真などを読み取って画像
データを取得することができる他、デジタルスチルカメ
ラ11bで撮影した画像データを取得したり、ビデオカ
メラ11cで撮影した動画としての画像データを取得す
ることができる。このような画像データは最終的に画像
出力デバイスとしてのディスプレイ17aで表示した
り、カラープリンタ17bで印刷することになるが、元
の画像データのままでは写りが悪いなどの問題があるこ
とが多く、そのような場合には、何らかの修正が行われ
る。この修正を行うのは、一般的にはフォトレタッチな
どのアプリケーション12dなどであるが、本画像処理
システムではアプリケーション12dが印刷処理を実行
するときに出力されるオブジェクトデータに対してプリ
ンタドライバ12cが同修正処理を実行する。
The application 12d is executed on the operating system 12a as the basic program. The processing contents of the application 12d are various, and include a keyboard 15a and a mouse 1 as operation devices.
5b is monitored, and when it is operated, various external devices are appropriately controlled to execute corresponding arithmetic processing and the like. Further, the processing result is displayed on the display 17a,
For example, the data is output to the color printer 17b. In such a computer system 10, image data can be acquired by reading a photograph or the like with a scanner 11a or the like, which is an image input device, and image data photographed by a digital still camera 11b or photographed by a video camera 11c can be acquired. Image data as a moving image can be obtained. Such image data is finally displayed on the display 17a as an image output device or printed by the color printer 17b. However, there are many problems such as poor image quality if the original image data is not used. In such cases, some modifications are made. This correction is generally performed by an application 12d such as photo retouching. However, in the present image processing system, the printer driver 12c performs the same processing on the object data output when the application 12d executes the printing process. Execute the correction process.

【0026】印刷処理の際、アプリケーション12dは
オペレーティングシステム12aに対してオブジェクト
データを出力する。図2は、印刷イメージの処理単位の
変化を示しており、本来、一つの印刷イメージP.I.
は処理の都合上、分割オブジェクトデータa(1)〜a
(n)に分割され、さらにプリンタドライバ12cの処
理を経てカラープリンタ17bが処理可能なラスタデー
タb(1)〜b(n)として出力される。このプリンタ
ドライバ12cがオペレーティングシステム12aに組
み込まれた状態でのシステム上の概略構成を図3に示し
ており、API層から本プリンタドライバ12cが提供
する機能管理オブジェクトP1にアクセスされ、この機
能管理オブジェクトP1は、分割画像管理オブジェクト
P2によって上記分割オブジェクトデータの管理を実行
しつつ、処理画像管理オブジェクトP3によって処理画
像を取得する。この処理画像を取得するにあたって機能
管理オブジェクトP1は同処理画像管理オブジェクトP
3に対して必要領域を要求するし、その処理の前提とし
て予め分割オブジェクトデータに関して分割画像登録の
処理を実行する。すなわち、処理画像管理オブジェクト
P3が実際の画像処理を実行する拡大処理オブジェクト
P4と強調処理オブジェクトP5を介して分割画像管理
オブジェクトP2に対して処理対象となる画像領域を通
知するため、分割画像管理オブジェクトP2は既に登録
されている分割オブジェクトデータのうちの必要なもの
だけをメモリ上に展開して利用可能とし、展開された結
果を利用して強調処理オブジェクトP5と拡大処理オブ
ジェクトP4が画像処理を実行することになる。
During the printing process, the application 12d outputs object data to the operating system 12a. FIG. 2 shows a change in the processing unit of a print image. I.
Are divided object data a (1) to a for convenience of processing.
(N), and is output as raster data b (1) to b (n) that can be processed by the color printer 17b through the processing of the printer driver 12c. FIG. 3 shows a schematic configuration of the system in a state where the printer driver 12c is incorporated in the operating system 12a. The function management object P1 provided by the printer driver 12c is accessed from the API layer. P1 acquires a processed image by the processed image management object P3 while managing the divided object data by the divided image management object P2. When acquiring this processed image, the function management object P1
A required area is requested for the divided object data, and a divided image registration process is executed in advance on the divided object data as a premise of the process. That is, in order for the processed image management object P3 to notify the divided image management object P2 of the image area to be processed via the enlargement processing object P4 and the enhancement processing object P5 for executing the actual image processing, the divided image management object P3 In P2, only necessary ones of the already registered divided object data are expanded on the memory to be usable, and the expanded processing object P5 and the enlarged processing object P4 execute image processing using the expanded result. Will do.

【0027】図4は入力される分割オブジェクトデータ
と取得される処理画像とを示している。同図において、
元の画像をソース(Source)画像と呼ぶととも
に、拡大処理と強調処理を実施された画像をデスティネ
イション(Destination)画像と呼ぶことに
すると、入力される分割オブジェクトデータは9分割さ
れたS−Unit.a〜iである。ここで、デスティネ
イション画像は、一体として処理することも可能である
が、この場合も分割して処理するものとし、各分割画像
をD−Unit.A〜Cと呼ぶ。D−Unit.A〜C
を得るためには処理前の画像領域を利用可能であること
が必要であるが、入力されているのはS−Unit.a
〜iであって、全てを利用可能となっているか否かは分
からない。従って、処理画像管理オブジェクトP3から
分割画像管理オブジェクトP2に対して対応するS−U
nit.a〜iを利用可能とするように要求し、そのよ
うにして利用可能にされるのがS−Area.a〜cで
ある。ただし、このS−Area.a〜cは領域として
は拡大前のD−Unit.A〜Cと一致するものではな
く、周縁領域を含むものとなっている。このように周縁
領域を含むのは、拡大処理オブジェクトP4と強調処理
オブジェクトP5で画像処理する際に処理対象の画素だ
けでは処理が不可能であり、その周囲の画素も参照しな
ければならないからである。
FIG. 4 shows input divided object data and acquired processed images. In the figure,
When the original image is called a source image and the image on which the enlargement processing and the enhancement processing are performed is called a destination image, the input divided object data is divided into nine S-Units. . a to i. Here, the destination image can be processed as one, but in this case as well, it is assumed that the destination image is divided and processed, and each divided image is referred to as D-Unit. Call them AC. D-Unit. AC
It is necessary that the image area before processing is available to obtain the image data, but what is input is S-Unit. a
To i, and it is not known whether all are available. Therefore, the corresponding S-U from the processed image management object P3 to the divided image management object P2
nit. a-i are requested to be made available, and the S-Area. a to c. However, this S-Area. a to c are D-Unit. It does not coincide with A to C but includes the peripheral region. The reason why the peripheral area is included is that the image cannot be processed only by the processing target pixel when performing the image processing by the enlargement processing object P4 and the enhancement processing object P5, and the surrounding pixels must be referred to. is there.

【0028】次に、各画像処理で参照する周縁領域を図
5および図6に示す。具体的な処理内容については詳述
しないが、図5に示す強調処理では対象画素を基準とし
て上方と左方に1画素、右方と下方に2画素を参照する
必要がある。また、図6に示す拡大処理では、対象画素
を基準として右方左方と下方に1画素、上方に2画素を
参照する必要がある。周縁領域を参照する必要がある具
体的な演算例として、フィルタ処理が上げられる。この
場合の強調処理と拡大処理の例にあてはめれば、強調処
理においては4×4画素分のフィルタを利用し、拡大処
理においては3×4画素分のフィルタを利用するので、
周縁領域が必要になるといえる。図7は処理画像管理オ
ブジェクトP3から分割画像管理オブジェクトP2に必
要領域が通知される過程を示している。同図において、
最終的に取得される処理画像の領域が、最初の必要領域
S−Area’として処理画像管理オブジェクトP3に
要求されると、同処理画像管理オブジェクトP3は、拡
大処理オブジェクトP4にこれを通知する。すると、拡
大処理オブジェクトP4では自己の拡大倍率が2倍であ
るときには上記必要領域S−Area’の元となる画像
領域は1/2倍である。ただし、参照する画素は上方、
右方、下方、左方に対してそれぞれ1、2、2、1画素
づつであることを強調処理オブジェクトP5に通知す
る。この強調処理オブジェクトP5では拡大を行わない
ため、本来的に必要なのは拡大処理オブジェクトP4で
必要とする画像領域であり、上記必要領域S−Are
a’の1/2倍であるとともに、その周縁領域の(1,
2,2,1)画素である。しかし、自己においても周縁
領域を参照する必要があり、さらに周縁領域の(2,
1,1,1)画素を加えて分割画像管理オブジェクトP
2に通知する。すなわち、このような修正を加えた画像
領域S−Areaは必要領域S−Area’の1/2倍
の領域と、その周縁領域の(3,3,3,2)画素を加
えた領域となる。むろん、このような周縁領域の大きさ
は拡大処理オブジェクトP4や強調処理オブジェクトP
5の演算手法に依存しており、他の演算例では強調処理
において上下左右の全てに2画素を要求しつつ、拡大処
理で上方と左方に1画素、右方と下方に2画素を要求す
るというようなものもある。
Next, FIG. 5 and FIG. 6 show the peripheral area referred to in each image processing. Although specific processing contents are not described in detail, in the enhancement processing shown in FIG. 5, it is necessary to refer to one pixel upward and left and two pixels right and downward with respect to the target pixel. In addition, in the enlargement processing shown in FIG. 6, it is necessary to refer to one pixel rightward and leftward and downward, and two pixels upward, based on the target pixel. As a specific example of a calculation that needs to refer to the peripheral region, a filtering process is given. Applying to the example of the enhancement process and the enlargement process in this case, a filter for 4 × 4 pixels is used in the enhancement process, and a filter for 3 × 4 pixels is used in the enlargement process.
It can be said that a peripheral area is required. FIG. 7 shows a process in which a required area is notified from the processed image management object P3 to the divided image management object P2. In the figure,
When the finally acquired area of the processed image is requested to the processed image management object P3 as the first required area S-Area ', the processed image management object P3 notifies the enlarged processing object P4 of the request. Then, in the enlargement processing object P4, when its own enlargement magnification is 2 times, the image area which is the source of the necessary area S-Area 'is 1/2 times. However, the pixel to refer to is above,
The emphasis processing object P5 is notified that the right, lower, and left pixels are 1, 2, 2, and 1 pixels, respectively. Since the enhancement processing object P5 does not perform enlargement, what is originally required is an image area required for the enlargement processing object P4.
a ′, and (1, 1)
2, 2, 1) pixels. However, it is necessary to refer to the peripheral region by itself, and (2,
(1,1,1) The divided image management object P by adding pixels
Notify 2. That is, the image area S-Area to which such correction has been made is an area obtained by adding a half area of the necessary area S-Area 'and (3,3,3,2) pixels of the peripheral area thereof. . Of course, the size of such a peripheral area is determined by the enlargement processing object P4 and the enhancement processing object P.
In the other calculation examples, two pixels are required for the upper, lower, left, and right in the enhancement processing, while one pixel is required for the upper and left sides and two pixels for the right and lower parts in the enlargement processing. Some do.

【0029】一方、分割画像管理オブジェクトP2は、
機能管理オブジェクトP1を介して個々の分割オブジェ
クトデータが入力されており、領域としての情報を管理
しながら実体についてはスプールファイルに格納して分
割画像登録を実施している。スプールファイルはハード
ディスク13b上に格納されるため、他の処理オブジェ
クトは直接的に参照したり利用することはできない。し
かしながら、この分割画像管理オブジェクトP2は以上
のようにして通知された画像領域S−Areaを他のオ
ブジェクトから利用できるようにするため、メモリ上に
展開する。この際、必要とされた画像領域S−Area
のそのままをメモリ上に展開するのではなく、図8に示
すように、あくまでも画像領域S−Areaを包含する
に足るS−Unit.a〜iがどれにあたるかを調査
し、該当する全てのS−Unit.a〜iをメモリ上に
展開する。ここで分割オブジェクトデータの数が少なけ
れば画像領域S−Areaを包含するS−Unit.a
〜iがどれであるかを判断するのは容易である。各S−
Unit.a〜iの実体データは、ハードディスク13
b上に格納されるものの、各領域に関するヘッダ情報
は、図9に示すようなテーブルに格納されている。各テ
ーブルには次のS−Unit.a〜iの情報開始位置を
示すポインタnext_ptrが備えられている。本来
であれば、このポインタをたどることによって全てのS
−Unit.a〜iのヘッダ情報を参照することができ
るが、各S−Unit.a〜iが画像領域S−Area
の一部とでも重なり合うか否かを判断するのはいくつか
の比較演算を繰り返さなければならず、演算回数が多大
となってしまう。一方、分割オブジェクトユニットの配
置情報などから必ずしも全てのS−Unit.a〜iと
対比する必要もなく、現実的には参照すべきS−Uni
t.a〜iは限られている。例えば、図9に示す例であ
れば、S−Areaを展開するに際し、斜線を示すS−
Unit.a〜iだけを参照できればよく、一時的にで
はあるがこのテーブルにおけるポインタnext_pt
rを振り替えておくようにしている。
On the other hand, the divided image management object P2
Individual divided object data is input via the function management object P1, and while managing information as an area, the entity is stored in a spool file to register a divided image. Since the spool file is stored on the hard disk 13b, other processing objects cannot be directly referred to or used. However, the divided image management object P2 is developed on a memory so that the image area S-Area notified as described above can be used by another object. At this time, the required image area S-Area
Is not developed on the memory as it is, as shown in FIG. 8, S-Unit. Is sufficient to include the image area S-Area. a to i are checked, and all applicable S-Unit. a to i are expanded on the memory. Here, if the number of divided object data is small, S-Unit. That includes the image area S-Area. a
It is easy to determine which i is. Each S-
Unit. The entity data of a to i is stored in the hard disk 13
b, the header information on each area is stored in a table as shown in FIG. Each table has the following S-Unit. A pointer next_ptr indicating the information start position of a to i is provided. Originally, by following this pointer, all S
-Unit. a to i can be referred to, but each S-Unit. a to i are image areas S-Area
It is necessary to repeat some comparison operations to determine whether or not they overlap with a part of, and the number of operations becomes large. On the other hand, not all S-Unit. There is no need to compare with a to i, and in reality S-Uni to be referred to
t. a to i are limited. For example, in the example shown in FIG. 9, when the S-Area is developed,
Unit. It is only necessary to refer to a to i, and the pointer next_pt in this table is temporarily
r is changed.

【0030】本実施形態においては、ポインタnext
_ptrにより参照するS−Unit.a〜iを振り替
えて間接的にS−Areaを形成するS−Unit.a
〜iを指定し、S−Areaを高速に生成可能な構成を
採用しているが、むろん、S−Areaを高速に生成可
能にする手法は限定されるものではない。図21に示す
ようにS−Areaの生成に必要なS−Unit.a〜
iをハードディスクと比較して相対的に高速アクセス可
能な主メモリやキャッシュメモリなどのメモリに格納さ
せ、S−Areaの生成時に参照させるようにしてもよ
いし、図22に示すように各S−Unit.a〜iにI
D1〜9を振り分けるとともに、このID1〜9により
順不同に配置されたS−Unit.a〜iがソース画像
の元画像を形成できるような順番に配置するIDテーブ
ルを形成し、S−Areaの生成時に参照するようにし
てもよい。
In this embodiment, the pointer next
_Ptr to refer to the S-Unit. a-i are transferred to form an S-Area indirectly. a
Ii is specified, and a configuration capable of generating an S-Area at a high speed is adopted. However, a method of generating an S-Area at a high speed is, of course, not limited. As shown in FIG. 21, the S-Unit. a ~
i may be stored in a memory such as a main memory or a cache memory that can be accessed relatively faster than a hard disk, and may be referred to when the S-Area is generated. Alternatively, as shown in FIG. Unit. a to i
D1 to D9, and the S-Units. It is also possible to form an ID table in which a to i are arranged in such an order that an original image of a source image can be formed, and refer to the ID table when generating an S-Area.

【0031】以上のようにして分割画像管理オブジェク
トP2が画像領域S−Areaを包含する全てのS−U
nit.a〜iをメモリ上に展開したら、強調処理オブ
ジェクトP5が強調処理を実行し、次いで拡大処理オブ
ジェクトP4が拡大処理を実行する。強調処理では対象
画素の周縁領域として(2,1,1,1)画素が必要で
あり、強調処理の結果として生成される画像領域は図1
0に示すように周縁領域として(2,1,1,1)画素
を省いた破線内の領域となる。また、同様にして拡大処
理では対象画素の周縁領域として(1,2,2,1)画
素が必要であり、強調処理の結果として生成される画像
領域は図11に示すように周縁領域として(1,2,
2,1)画素を省いた破線内の領域となる。むろん、拡
大処理は内部に格子点を補間生成するものであるから、
得られる処理画像は縦横2倍に拡大される結果、最初の
必要領域S−Area’と一致することになる。
As described above, all the SUs including the image area S-Area when the divided image management object P2 includes the image area S-Area
nit. When a to i are expanded on the memory, the enhancement processing object P5 executes the enhancement processing, and then the enlargement processing object P4 executes the enlargement processing. In the enhancement processing, (2, 1, 1, 1) pixels are required as the peripheral area of the target pixel, and the image area generated as a result of the enhancement processing is shown in FIG.
As shown by 0, the peripheral area is an area within a broken line excluding (2, 1, 1, 1) pixels. Similarly, in the enlargement processing, (1, 2, 2, 1) pixels are required as the peripheral area of the target pixel, and the image area generated as a result of the enhancement processing is defined as the peripheral area as shown in FIG. 1,2,
(2, 1) This is the area within the broken line with the pixels omitted. Of course, since the enlargement process generates interpolation of grid points inside,
The obtained processed image is enlarged twice in length and width, and as a result, it coincides with the first necessary area S-Area '.

【0032】次に、分割画像管理オブジェクトP2がメ
モリ上にS−Areaを展開する他の実施例を説明す
る。かかる実施例におけるプリンタドライバ12cがオ
ペレーティングシステム12aに組み込まれた状態での
システム上の概略構成を図23に示す。同図において、
API層から本プリンタドライバ12cが提供する機能
管理オブジェクトP100にアクセスされ、この機能管
理オブジェクトP100は、分割画像管理オブジェクト
P200によって分割オブジェクトデータの管理を実行
しつつ、処理画像管理オブジェクトP300より拡大お
よび色調に関する画像処理が実施された画像データを1
ラインごと取得し、取得したライン単位の画像データを
積み上げてデスティネーション画像を形成する画像デー
タを生成する。
Next, another embodiment in which the divided image management object P2 develops the S-Area on the memory will be described. FIG. 23 shows a schematic configuration of the system in a state where the printer driver 12c in this embodiment is incorporated in the operating system 12a. In the figure,
The API management layer accesses the function management object P100 provided by the printer driver 12c from the API layer. The function management object P100 manages the divided object data by the divided image management object P200 and enlarges and adjusts the color tone from the processed image management object P300. Image data on which the image processing related to
The image data for each line is acquired, and the acquired image data for each line is stacked to generate image data for forming a destination image.

【0033】具体的には、各モジュールにおいて色調処
理オブジェクトP500が分割画像管理オブジェクトP
200より引き渡された所定のライン単位の画像データ
に対して色調処理を実施し、所定のライン単位の画像デ
ータを形成し拡大処理オブジェクトP400に引き渡
す。次に、拡大処理オブジェクトP400は、この色調
処理が為された画像データに対して拡大処理を実施し、
1ラインの画像データを形成し処理画像管理オブジェク
トP400に引き渡し、機能管理オブジェクトP100
は処理画像管理オブジェクトP300より1ラインごと
に画像データを取得しつつ積み上げてデスティネーショ
ン画像を生成する。
More specifically, in each module, the color tone processing object P500 is
A color tone process is performed on the predetermined line-unit image data transferred from the unit 200 to form predetermined line-unit image data and transferred to the enlargement processing object P400. Next, the enlargement processing object P400 performs enlargement processing on the image data on which the color tone processing has been performed,
One line of image data is formed and transferred to the processed image management object P400, and the function management object P100
Generates a destination image by acquiring and accumulating image data line by line from the processed image management object P300.

【0034】ここで、本実施形態においては、拡大処理
オブジェクトP400は、1ラインの拡大処理後の画像
データを生成するため、同1ラインと参照ラインとを含
め5ラインの画像データを必要とする。従って、色調処
理オブジェクトP500に対して5ラインの画像データ
の引き渡しを通知することになる。また、色調処理オブ
ジェクトP500は、1ラインの色調処理後の画像デー
タを生成するため、当該1ラインの画像データのみでよ
い。従って、分割画像管理オブジェクトP200に対し
て1ラインの画像データの引き渡しを要求することにな
る。むろん、これらの処理にて必要とするライン数は、
特に限定されるものではなく、各オブジェクトの処理内
容に応じて適宜変更可能である。
Here, in the present embodiment, the enlargement processing object P400 needs five lines of image data including the one line and the reference line in order to generate one line of image data after the enlargement processing. . Accordingly, the delivery of the five lines of image data is notified to the color tone processing object P500. In addition, since the tone processing object P500 generates image data of one line after the tone processing, only the image data of the one line may be used. Therefore, it is requested that the divided image management object P200 deliver one line of image data. Of course, the number of lines required in these processes is
It is not particularly limited, and can be appropriately changed according to the processing content of each object.

【0035】次に、図24に入力される分割オブジェク
トデータと取得される処理画像とを示す。同図におい
て、元の画像をソース(Source)画像と呼ぶとと
もに、拡大処理と色調処理を実施された処理画像をデス
ティネイション(Destination)画像と呼ぶ
ことにする。また、入力される分割オブジェクトデータ
は9分割されたS−Unit.A〜Iである。ここで、
デスティネイション画像は、一体として処理することも
可能であるが、本実施例においてはライン単位に分割し
てラインごとに生成され、このラインごとに生成された
ものを積み上げて最終的なデスティネーション画像が生
成されるものとする。また、デスティネーション画像を
分割するライン単位の各分割画像をD−ライン.0〜n
と呼ぶ。ここで、nは整数であり、生成されるデスティ
ネーション画像の総ライン数を示している。最初に、D
−ライン.0を得るために、処理画像管理オブジェクト
P300は、拡大処理オブジェクトP400に対して1
ラインの引き渡しを通知する。ここで、拡大処理オブジ
ェクトP400は、1ラインの拡大処理を実行するため
に、上述したように5ラインの画像データを必要とす
る。従って、次の色調処理オブジェクトP500に対し
て5ラインの引き渡しを通知する。色調処理オブジェク
トP500は、色調処理を実行するにあたり1ラインの
画像データにて処理可能であるため、分割画像管理オブ
ジェクトP200に1ラインの画像データの引き渡しを
通知する。
Next, FIG. 24 shows the input divided object data and the obtained processed image. In the figure, the original image is called a source image, and the processed image that has been subjected to the enlargement process and the color tone process is called a destination image. The input divided object data is divided into nine S-Units. A to I. here,
Although the destination image can be processed integrally, in the present embodiment, the destination image is divided into lines and generated for each line, and the images generated for each line are stacked to form the final destination image. Is generated. Also, each divided image in units of lines that divides the destination image is referred to as a D-line. 0-n
Call. Here, n is an integer and indicates the total number of lines of the generated destination image. First, D
-Line. In order to obtain 0, the processed image management object P300 sets 1
Notify the delivery of the line. Here, the enlargement processing object P400 needs the image data of five lines as described above to execute the enlargement processing of one line. Therefore, the transfer of the five lines is notified to the next color tone processing object P500. Since the color tone processing object P500 can process one line of image data when executing the color tone processing, it notifies the divided image management object P200 of the delivery of the one line of image data.

【0036】そして、分割画像管理オブジェクトP20
0は、分割画像データS−Unit.A〜Iより所定の
1ラインの画像データを形成し、色調処理オブジェクト
P500に引き渡す。色調処理オブジェクトP500
は、この引き渡された1ラインのデータに色調処理を実
施し、色調処理が終わると、拡大処理オブジェクトP4
00からは5ラインを要求されているため、5ライン分
の色調処理が終わるまで、分割画像管理オブジェクトP
200に1ラインを引き渡しを通知し、分割画像管理オ
ブジェクトは、要求に従い順次1ラインを生成し、色調
処理オブジェクトに渡す。そして、色調処理オブジェク
トP500は、引き渡された1ラインの画像データに順
次色調処理を実行する。色調処理オブジェクトP500
は、5ラインに対する色調処理が終わると、拡大処理オ
ブジェクトP400にこの5ラインを引き渡す。拡大処
理オブジェクトP400は、この引き渡された5ライン
の内後ろ4ラインを参照して先頭1ラインの強調処理を
実施する。そして、色調処理も強調処理も実施された1
ラインのデスティネーション画像が生成され、処理画像
管理オブジェクトP300に引き渡される。
Then, the divided image management object P20
0 is the divided image data S-Unit. A predetermined image data of one line is formed from A to I and transferred to the color tone processing object P500. Color tone processing object P500
Performs color tone processing on the transferred one-line data, and when the color tone processing is completed, the enlargement processing object P4
Since five lines are requested from 00, the divided image management object P
Notifying 200 that one line has been delivered, the divided image management object sequentially generates one line in accordance with the request and delivers it to the color tone processing object. Then, the color tone processing object P500 sequentially executes color tone processing on the transferred one-line image data. Color tone processing object P500
Transfers the five lines to the enlargement processing object P400 when the color tone processing for the five lines is completed. The enlargement processing object P400 performs the emphasis processing of the first line with reference to the last four lines of the transferred five lines. Then, both the color tone processing and the emphasis processing were performed.
A destination image of the line is generated and transferred to the processed image management object P300.

【0037】最初の1ラインのデスティネーション画像
が生成されると、以降、順次nラインまで、1ラインご
とデスティネーション画像が生成される。この1ライン
の画像を生成するにあたり、処理画像管理オブジェクト
P300は、拡大処理オブジェクトP400に1ライン
の引き渡しを通知する。ここで、拡大処理オブジェクト
P400は、既に、色調処理が終わっている5ラインを
引き渡されている。従って、この5ラインのうち先頭の
1ラインを不参照の扱いとし、2番目のラインについて
拡大処理を実施するために、色調処理オブジェクトP5
00に1ラインの引き渡しを通知する。この通知を受け
ると色調処理オブジェクトP500は、分割画像管理オ
ブジェクトP200に1ラインの引き渡しを通知する。
分割画像管理オブジェクトP200は、S−Unit.
A〜Iより所定の1ラインを形成し、色調処理オブジェ
クトP500に引き渡す。色調処理オブジェクトP50
0は、この引き渡された1ラインに対して色調処理を実
施し、拡大処理オブジェクトP400に引き渡す。拡大
処理オブジェクトP400は、この引き渡された1ライ
ンを既に引き渡されている4ラインの最後尾に付加し
て、5ラインの処理領域を形成し、上述した2番目のラ
インについて拡大処理を実施する。この2番目の1ライ
ンについて拡大処理が終わると、処理画像管理オブジェ
クトP300に引き渡す。機能管理オブジェクトP10
0は、このように処理画像管理オブジェクトP300が
取得した各オブジェクトにて各処理が実施されたライン
単位の画像データを順次積み上げてデスティネーション
画像を生成する。
When a destination image of the first one line is generated, a destination image is generated for each line up to n lines. In generating this one-line image, the processed image management object P300 notifies the enlargement processing object P400 of the delivery of one line. Here, the enlargement processing object P400 has already delivered the five lines for which the color tone processing has been completed. Therefore, in order to treat the first one of the five lines as unreferenced and to perform the enlarging process on the second line, the tone processing object P5
00 is notified of the delivery of one line. Upon receiving this notification, the color tone processing object P500 notifies the divided image management object P200 of the delivery of one line.
The divided image management object P200 includes the S-Unit.
A predetermined line is formed from A to I, and transferred to the tone processing object P500. Color tone processing object P50
0 performs the color tone processing on the transferred one line and transfers it to the enlargement processing object P400. The enlargement processing object P400 adds the transferred one line to the end of the already transferred four lines to form a processing area of five lines, and performs the enlargement processing on the second line described above. When the enlarging process is completed for the second one line, it is transferred to the processed image management object P300. Function management object P10
A value 0 indicates that the destination image is generated by sequentially stacking the line-by-line image data on which each process has been performed by each object acquired by the processed image management object P300.

【0038】以上のようにして、最初に分割画像管理オ
ブジェクトP200が色調処理オブジェクトP500に
対して1ラインの画像領域をメモリ上に展開して引き渡
し、色調処理オブジェクトP500が色調処理を実行
し、色調処理オブジェクトP500において5ラインの
画像データを生成すると、拡大処理オブジェクトP40
0に引き渡し、拡大処理を実行する。そして、5ライン
より生成された1ラインの画像データを処理画像管理オ
ブジェクトP300に引き渡す。そして、以降は、処理
画像管理オブジェクトP300,拡大処理オブジェクト
P400,色調処理オブジェクトP500,分割画像管
理オブジェクトP200間にて1ラインの引き渡し通知
および形成し、あるいは、画像処理を実行した1ライン
の画像データを逆方向にて順次引き渡し、機能管理オブ
ジェクトP100にて積み上げることによりデスティネ
ーション画像を生成する。本実施形態においては、分割
画像管理オブジェクトP200から色調処理オブジェク
トP500に引き渡される1ラインの画像データおよび
色調処理オブジェクトP500から拡大処理オブジェク
トP400に引き渡される5ラインあるいは1ラインの
画像データがS−Areaを構成することはいうまでも
ない。また、本実施形態においては、画像処理を実行す
る順番を色調処理オブジェクトP500→拡大処理オブ
ジェクトP400としているが、むろん、これに限定さ
れるものではなく、拡大処理オブジェクトP400→色
調処理オブジェクトP500としてもよいし、所定の設
定により、拡大処理オブジェクトP400あるいは色調
処理オブジェクトP500のいずれか一方のみを実行す
るようにしてもよい。
As described above, first, the divided image management object P200 develops and transfers a one-line image area on the memory to the tone processing object P500, and the tone processing object P500 executes the tone processing, and When five lines of image data are generated in the processing object P500, the enlargement processing object P40
0 and execute the enlargement process. Then, one line of image data generated from five lines is delivered to the processed image management object P300. Thereafter, a one-line delivery notification and formation between the processed image management object P300, the enlargement processing object P400, the color processing object P500, and the divided image management object P200, or the one-line image data on which the image processing has been executed Are successively delivered in the reverse direction, and are stacked by the function management object P100 to generate a destination image. In the present embodiment, one line of image data transferred from the divided image management object P200 to the color processing object P500 and five lines or one line of image data transferred from the color processing object P500 to the enlargement processing object P400 are S-Area. Needless to say, it constitutes. Further, in the present embodiment, the order in which the image processing is executed is set as the color processing object P500 → the enlargement processing object P400. However, the present invention is not limited to this. Alternatively, only one of the enlargement processing object P400 and the color tone processing object P500 may be executed by a predetermined setting.

【0039】ここで、図12にプリンタドライバ12c
における手続の流れを示す。同図においては、オペレー
ティングシステム12aに組み込まれた状態でのプリン
タドライバ12cの概略構成を示しているが、図3では
プリンタドライバ12c単独での視点で示しており、さ
らにプリンタドライバ12c内を本来のドライバの機能
に近い処理と、付加的な機能に近い処理とに分割し、左
欄にドライバ機能をまとめ、右欄にモジュール機能をま
とめている。すなわち、手順1においてはドライバ機能
としてソース画像の取得処理があり、これは機能管理オ
ブジェクトP1と分割画像管理オブジェクトP2の機能
といえる。次に、手順2はフォトインスタンス取得処理
があるが、これは各オブジェクト画像ごとに別個・並行
に処理するために現在の実行処理対象を確認するための
ものである。
FIG. 12 shows the printer driver 12c.
Shows the flow of the procedure in. Although FIG. 3 shows a schematic configuration of the printer driver 12c in a state where the printer driver 12c is incorporated in the operating system 12a, FIG. The process is divided into a process close to the function of the driver and a process close to the additional function, and the driver function is summarized in the left column, and the module function is summarized in the right column. That is, in procedure 1, there is a source image acquisition process as a driver function, which can be said to be a function of the function management object P1 and the divided image management object P2. Next, the procedure 2 includes a photo instance acquisition process, which is for confirming a current execution target to be processed separately and in parallel for each object image.

【0040】以上が前処理に対応し、処理の流れとして
は手順3においてモジュールの側からドライバの側に向
けて処理画像領域を上述したように通知する 一方、手順4では要求された処理画像領域を含むソース
画像(S−Unit.a〜i)をドライバ側が登録し、
これに続いて手順5では画像処理として強調処理および
拡大処理を実行することになる。なお、画像処理は、オ
ブジェクト画像全体についての評価を行っておき、その
評価結果に基づいて処理を実行する。例えば、あるオブ
ジェクト画像が全体的に暗いのであれば、画像処理で明
るく修整すればよい。この場合、オブジェクト画像は分
割オブジェクトデータに分割されてしまっているから、
それぞれのオブジェクトデータをまとめて評価するか、
個別的にオブジェクトデータについて評価しつつも、最
終的には各オブジェクト画像ごとに評価をまとめる必要
がある。
The above corresponds to the pre-processing, and the processing flow is as follows. In step 3, the processing image area is notified from the module side to the driver side as described above. The driver registers the source images (S-Unit. A to i) including
Subsequently, in procedure 5, an emphasis process and an enlargement process are executed as image processing. In the image processing, evaluation is performed on the entire object image, and processing is performed based on the evaluation result. For example, if a certain object image is entirely dark, it may be adjusted to be bright by image processing. In this case, since the object image has been divided into divided object data,
Evaluate each object data at once,
While individually evaluating object data, it is necessary to finally summarize the evaluation for each object image.

【0041】本来、分割オブジェクトデータとオブジェ
クト画像との対応関係は付けられていないのが通常であ
り、この対応付けはプリンタドライバ12cの側で行わ
なければならない。この対応付けの一つの手法として、
仮想領域に分割オブジェクトデータを展開してオブジェ
クト画像を連結する手法があるし、別の手法として分割
オブジェクトデータ同士の重なり合いや隣接具合から同
じオブジェクト画像であるか否かを判断する手法があ
る。いずれの手法を採用するかはシステムの相違によっ
てまちまちである。
Originally, the correspondence between the divided object data and the object image is usually not assigned, and this association must be performed by the printer driver 12c. As one method of this association,
There is a method of expanding the divided object data in the virtual area to connect the object images, and another method of judging whether or not the divided object data is the same object image based on the overlapping or adjacent state of the divided object data. Which method is adopted depends on the difference of the system.

【0042】一方、上述したように画像処理のためにオ
ブジェクト画像を評価するには、オブジェクト画像全体
にわたって画素の情報をサンプリングすることが有効で
あり、簡易である。このようなサンプリングは、オブジ
ェクト画像と分割オブジェクトデータとの対応関係が分
かる前後のどちらで実行しても良い。すなわち、対応関
係が分かる前に分割オブジェクトデータごとにサンプリ
ングしておき、対応関係が分かってからサンプリング結
果を統合することもできるし、対応関係が分かってから
各オブジェクト画像ごとに対応する分割オブジェクトデ
ータをサンプリングすることもできる。このようにサン
プリングの実行タイミングは条件に応じてさまざまであ
り、図12においても実行可能な三つのタイミングに対
応して破線で示している。なお、ドライバの側で行うと
いってもサンプリング用のモジュールを用意することも
可能である。
On the other hand, as described above, in order to evaluate an object image for image processing, it is effective and simple to sample pixel information over the entire object image. Such sampling may be performed before or after the correspondence between the object image and the divided object data is known. That is, sampling can be performed for each divided object data before the corresponding relationship is known, and the sampling results can be integrated after the corresponding relationship is known. Can also be sampled. As described above, the execution timing of the sampling varies depending on the conditions, and is indicated by broken lines in FIG. 12 corresponding to the three executable timings. It should be noted that it is also possible to prepare a sampling module, even if it is performed on the driver side.

【0043】手順5の画像処理は、このサンプリング結
果を利用して実行され、生成された画像がデスティネー
ション画像となって手順6にて登録される。そして、登
録されたデスティネーション画像は手順7でドライバ側
にて出力されることになる。そして、最終的にデスティ
ネーション画像が取得されたら手順8でソース画像をメ
モリから解放する。ここでソース画像の解放タイミング
は特に制限されるものではない。例えば、一つのS−A
reaごとに登録・解放を実行するとすれば使用メモリ
領域を低減できる反面、作業が煩わしい。これに対して
使用メモリ領域の制限が少ない場合は、登録・解放の作
業をこまめに行わなくても良いと言える。
The image processing in step 5 is executed using this sampling result, and the generated image is registered as a destination image in step 6. Then, the registered destination image is output on the driver side in step 7. Then, when the destination image is finally obtained, the source image is released from the memory in step 8. Here, the release timing of the source image is not particularly limited. For example, one SA
If registration / release is performed for each area, the memory area used can be reduced, but the operation is troublesome. On the other hand, when the used memory area is less limited, it can be said that the work of registration / release need not be performed frequently.

【0044】なお、上述した例では、デスティネーショ
ン画像を取得する意味で必要領域を通知しており、生成
されるデスティネーション画像は任意のメモり領域に展
開されればよい。これに対してスプールファイル自体に
対して拡大処理を実行したい場合もある。この場合は、
拡大処理された画像をスプールファイルに対して付加
し、元画像ファイルのポインタを拡大処理された画像フ
ァイルにリンクさせればよい。例えばスプールファイル
から読み出して仮想画像を構築し、画像処理を施してか
ら元のスプールファイルを書き換えたいという処理があ
るとする。かかる場合に、拡大処理をスプールファイル
中の画像ファイルに施してしまえば仮想画像上で拡大処
理を実現しなくても良くなる。しかしながら、拡大処理
すればスプールファイル中の画像ファイルよりも大きく
なるから、拡大後の画像ファイルで書き換えることはで
きない。従って、拡大後の画像データをスプールファイ
ルの後に付加していき、ポインタのリンクを張り替える
ようにするのである。
In the above-described example, the necessary area is notified in the sense of acquiring the destination image, and the generated destination image may be expanded to an arbitrary memory area. On the other hand, there are cases where it is desired to execute the enlargement processing on the spool file itself. in this case,
The enlarged image may be added to the spool file, and the pointer of the original image file may be linked to the enlarged image file. For example, it is assumed that there is a process of reading a spool file to construct a virtual image, performing image processing, and then rewriting the original spool file. In such a case, if the enlargement processing is performed on the image file in the spool file, it is not necessary to realize the enlargement processing on the virtual image. However, if the enlargement process is performed, the image file becomes larger than the image file in the spool file, and cannot be rewritten with the enlarged image file. Therefore, the enlarged image data is added after the spool file, and the pointer link is changed.

【0045】次に、拡大処理の具体的手法について説明
する。一般に、ドットマトリクス状の画素からなる画像
についてその格子間に新たに画素を生成する処理を拡大
処理と呼んで広く実行されている。これは、ディスプレ
イ17aの解像度とカラープリンタ17bの解像度に相
違があるような場合、画素単位で割り当ててしまうと一
定の大きさに表示されなくなるといった不具合を解消す
るためである。ここで、拡大処理には、次に示す手法が
知られている。 1.最近隣内挿法(単純水増しコピー)
Next, a specific method of the enlargement processing will be described. Generally, a process of generating a new pixel between lattices of an image composed of pixels in a dot matrix is widely called an enlarging process. This is to solve the problem that when the resolution of the display 17a and the resolution of the color printer 17b are different from each other, they are not displayed in a certain size if assigned in pixel units. Here, the following method is known for the enlargement processing. 1. Nearest neighbor interpolation method (simple inflated copy)

【0046】2.3次たたみ込み補間(以下、3次補間
という) 前者のものは数学的に最も高速な拡大手法であるし、後
者のものはきれいな拡大結果を得られる反面で数学的に
は大量の演算を必要として時間がかかるという特徴を有
している。いずれにしても、これらは画像処理の技術用
語としてはフィルタ処理と呼ばれている。ここで、図1
3や図14は別々のフィルタ[1],[2]を使用して
拡大前の画像aから拡大後の画像Aを生成する原理を示
している。この場合、拡大前の画像aの数点を利用して
フィルタ[1],[2]にかけることにより、拡大後の
画像Aのある1点を求めることができる。従って、拡大
後の画像Aの全画素について本来的には演算を繰り返す
ことになる。
2.3 Third-order convolution interpolation (hereinafter referred to as cubic interpolation) The former method is the mathematically fastest enlargement method, and the latter method is capable of obtaining a beautiful enlargement result. It has a feature that it requires a large amount of calculation and takes time. In any case, these are called filter processing in the technical term of image processing. Here, FIG.
3 and FIG. 14 show the principle of generating an enlarged image A from an unenlarged image a using separate filters [1] and [2]. In this case, one point of the image A after the enlargement can be obtained by applying the filters [1] and [2] using the several points of the image a before the enlargement. Therefore, the calculation is essentially repeated for all the pixels of the enlarged image A.

【0047】ところで、フィルタ[1],[2]には処
理結果について差があるはずである。すなわち、前者は
荒く見え、後者は滑らかに見えるように思われる。しか
しながら、拡大結果を使用して印刷した場合、人間の目
の認識の限界により必ずしもその差を認識することがで
きない。すなわち、高度な演算を要するフィルタ[2]
だけで拡大した場合と、フィルタ[1],[2]を併用
して拡大した場合とにおいて、拡大結果の差を認識でき
ない場合がある。図15は、後者の手順を示しており、
元の画像aに対してフィルタ[2]を利用して拡大処理
を実行し、一度、画像a’を生成した後に、今度はフィ
ルタ[1]を利用して拡大処理を実行し画像Aを得てい
る。むろん、先のフィルタ[2]の拡大処理は3次補間
を要するのでモジュールで実行し、フィルタ[1]の拡
大処理はドライバで実現するようにしてもよい。この場
合、もちろんフィルタ[1]とフィルタ[2]の拡大倍
率によっては肉眼でも差が分かるが、そのような差が分
からない範囲の組合せであるならば、処理時間のかかる
フィルタ[2]にて生成する画像a’の面積は小さいた
め高速な処理を期待できる。なぜなら、拡大処理後の画
像の面積に比例して演算量も多くなるからである。
By the way, there should be a difference between the processing results of the filters [1] and [2]. That is, the former appears to be rough and the latter appears to be smooth. However, when printing is performed using the enlargement result, the difference cannot always be recognized due to the limit of human eye recognition. That is, the filter [2] which requires an advanced operation
There is a case where the difference between the enlargement results cannot be recognized between the case where the enlargement is performed only by one and the case where the enlargement is performed using both the filters [1] and [2]. FIG. 15 illustrates the latter procedure,
An enlargement process is performed on the original image a using the filter [2] to generate an image a 'once, and then an enlargement process is performed using the filter [1] to obtain the image A. ing. Needless to say, the enlargement process of the filter [2] requires cubic interpolation, so that the enlargement process of the filter [1] may be realized by a driver. In this case, of course, a difference can be seen by the naked eye depending on the magnification of the filter [1] and the filter [2]. However, if the combination is in a range where such a difference is not known, the filter [2] requiring a long processing time is used. Since the area of the generated image a 'is small, high-speed processing can be expected. This is because the amount of calculation increases in proportion to the area of the image after the enlargement processing.

【0048】図16は、3次補間の場合の既存の格子点
と補間点との配置を示すとともに、数1は、この3次補
間のフィルタ処理を行列演算式で示している。
FIG. 16 shows the arrangement of existing grid points and interpolation points in the case of cubic interpolation, and Expression 1 shows the filter processing of the cubic interpolation by a matrix operation formula.

【数1】 なお、関数f(t)については、 f(t) = {sin(πt)}/πt で表され、UまたはVをWに置き換えることにより、 t0 = 1+(W−|W|) t1 = (W−|W|) t2 = 1−(W−|W|) t3 = 2−(W−|W|) で表すことができる。(Equation 1) Note that the function f (t) is represented by f (t) = {sin (πt) π / πt, and by replacing U or V with W, t0 = 1 + (W− | W |) t1 = ( W− | W |) t2 = 1− (W− | W |) t3 = 2− (W− | W |)

【0049】このような3次補間演算は、一般的に多く
の演算量を要することになるが、補間点の位置によって
は高速化が可能であり、より具体的には整数倍の拡大に
限れば処理量はかなり低減することができる。なお、こ
こでいう整数倍とは原点が格子線の交差点上に置かれる
ようになる倍率のことであって、拡大処理前後の格子点
数の比を意味するものではない。図17は、この定義で
いうところの2倍の拡大であり、図18は、3倍の拡大
である。図中、大きな白丸が原点で、小さい黒丸が補間
点である。これらの図から分かるように、整数倍の拡大
においては、補間点のいくつかは格子線上に配置され
る。以下、具体的な高速化手段について説明する。
Such a tertiary interpolation operation generally requires a large amount of operation, but can be speeded up depending on the position of the interpolation point, and more specifically, is limited to an integral multiple. Throughput can be significantly reduced. Here, the integral multiple is a magnification at which the origin is placed on the intersection of the grid lines, and does not mean the ratio of the number of grid points before and after the enlargement processing. FIG. 17 is a two-fold enlargement in this definition, and FIG. 18 is a three-fold enlargement. In the figure, the large white circle is the origin, and the small black circle is the interpolation point. As can be seen from these figures, at the magnification of an integral multiple, some of the interpolation points are arranged on the grid lines. Hereinafter, specific speed-up means will be described.

【0050】(1) 格子線上の補間点の演算簡易化 整数倍の拡大においては、補間点のいくつかは格子線上
に配置される。従って、数1は、簡易化(演算量が減
る)される。すなわち、補間点が格子線上に存在すると
いうことは、W(UあるいはVのいずれか)が0になる
ことを意味する。よって、 t0 = 1、 t1 = 0、 t2 = 1、 t3 = 2 となる。このとき、 f(t) は、上式より以下のよう
になる。 f(0) = 1、 f(1) = 0、 f(2) = 0 よって、Y軸に関しては格子線上に存在する場合のX軸
上の補間点は、
(1) Simplification of Calculation of Interpolation Points on Grid Lines In the case of enlargement by an integral multiple, some interpolation points are arranged on grid lines. Therefore, Equation 1 is simplified (the amount of calculation is reduced). That is, the fact that the interpolation point exists on the grid line means that W (either U or V) becomes zero. Therefore, t0 = 1, t1 = 0, t2 = 1, and t3 = 2. At this time, f (t) is as follows from the above equation. f (0) = 1, f (1) = 0, f (2) = 0 Therefore, the interpolation point on the X axis when the Y axis is on the grid line is

【数2】 によって算出することになり、X軸に関しては格子線上
に存在する場合のY軸上の補間点は、
(Equation 2) The interpolation point on the Y-axis when it is on the grid line with respect to the X-axis is

【数3】 によって算出することになる。この数2、数3から明ら
かなように拡大処理の演算を簡易化することが可能にな
る。
(Equation 3) Will be calculated by As is clear from the equations (2) and (3), it is possible to simplify the calculation of the enlargement processing.

【0051】(2) 複数のフィルタを用意することに
よる高速化 整数倍のときに格子線上に位置する補間点はもっとも特
異な例であるが、格子線上にない場合でも倍率を固定す
るとともに、補間点ごとのフィルタ処理を用意すれば、
f(t) は定数化できるので演算処理を高速化できる。か
かる場合、f(t) を定数化すると、
(2) Speedup by Preparing a Plurality of Filters Interpolation points located on a grid line at integer multiples are the most unique example. By providing point-by-point filtering,
Since f (t) can be converted to a constant, arithmetic processing can be sped up. In such a case, if f (t) is converted into a constant,

【数4】 により表されることになる。ここにおいて、A〜D、K
〜N は、補間点の場所Wによって一意的に決定されう
るものであり、予め演算してテーブルに保存しておけば
よい。
(Equation 4) Will be represented by Here, A to D, K
NN can be uniquely determined by the location W of the interpolation point, and may be calculated in advance and stored in a table.

【0052】ここで、拡大処理において2倍の場合につ
いて図17を参照してみると、局所的には4個の点を補
間しなければならないので拡大処理前の画像aを画像A
に拡大する場合、4つのフィルタを用意することにな
る。これを図で表したものが図19であり、複数のフィ
ルタ処理を用意することを前提とすれば、f(t) の
定数化が可能になる。f(t) の定数化が実現する具
体的な高速化は以下のような理由による。まず、f
(t) の定数化そのこと自体による高速化が可能であ
る。なぜならば、f(t) の定数化は、f(t) で表
せられる3次補間関数の演算の除去を意味するからであ
る。次に、演算種別の変化によって高速化が可能であ
る。一般に、CPUにとって同じ1回の掛け算でも、
“変数 * 変数” より “定数 * 変数”の方が高速な
処理となる。従って、数1と数4とを比較した場合、数
4の方が高速化されることが分かる。さらに、一方の定
数化によって“定数 * 変数”のかけ算を演算テーブル
にて代用することにより、高速化することができる。
Here, referring to FIG. 17 for the case of double magnification in the enlargement processing, it is necessary to interpolate four points locally.
In case of enlargement, four filters are prepared. FIG. 19 shows this in a diagram. Assuming that a plurality of filter processes are prepared, f (t) can be made constant. The concrete speed-up realized by making f (t) constant is based on the following reasons. First, f
(T) can be made constant, and the speed itself can be increased. This is because conversion of f (t) into a constant means removal of the operation of the cubic interpolation function represented by f (t). Next, it is possible to increase the speed by changing the operation type. In general, even for the same multiplication for the CPU,
"Constant * variable" is faster than "variable * variable". Therefore, it can be seen from the comparison of Equations 1 and 4 that Equation 4 is faster. Further, the speed can be increased by substituting the multiplication of “constant * variable” in the operation table by conversion to one constant.

【0053】以上の高速化の効果をまとめると次のよう
になる。1つの補間点を求めるために、1つのフィルタ
処理を行なう従来の手法によれば、 ・3次補間関数の演算 ・20回の“変数 * 変数”の演算 が必要である。しかしながら、上に述べたように複数の
フィルタ処理を前提とした場合には、 ・16回の演算テーブルへのアクセス ・4回の“定数 * 変数”の演算 により実現できる。従って、複数のフィルタを用意した
方が高速化を実現できる。また、先に述べた格子線上の
補間点の演算簡略化についても、同様にして複数のフィ
ルタ処理を用意して実現可能である。そして、このよう
な複数のフィルタ処理を用意することによる高速化と、
格子線上にある補間点の式の簡略化による高速化は、整
数倍であれば何倍でも有効である。
The effects of the above speeding up can be summarized as follows. According to the conventional method of performing one filter process in order to obtain one interpolation point, calculation of a cubic interpolation function and calculation of “variable * variable” 20 times are required. However, as described above, when a plurality of filter processes are assumed, it can be realized by 16 accesses to the operation table and 4 operations of “constant * variable”. Therefore, speedup can be realized by preparing a plurality of filters. In addition, the simplification of the calculation of the interpolation points on the grid lines described above can be realized by preparing a plurality of filter processes in the same manner. And speedup by preparing such a plurality of filter processes,
Speeding up by simplifying the equation for the interpolation point on the grid line is effective for any multiple that is an integer multiple.

【0054】(3)その他の高速化 (a)2のn乗倍の拡大における特異な補間点の演算式
の簡略化2のn乗倍の拡大においては(nは1以上の整
数)、最近傍の原点と原点の2分の1にある場所の点を
結んだ格子線(図17の破線)に補間点が置かれるが、
X軸上の場合は、
(3) Other high-speed operations (a) Simplification of the arithmetic expression of a unique interpolation point in 2 n-times magnification In 2 n-times magnification (n is an integer of 1 or more), The interpolation point is placed on a grid line (dashed line in FIG. 17) connecting the origin at the side and a point at a half of the origin.
On the X axis,

【数5】 により表され、Y軸上の場合は、(Equation 5) And on the Y axis,

【数6】 により表されることになる。この場合、ベクトルの対称
性を利用することにより、 ・16回の演算テーブルへのアクセス ・2回の“定数 * 変数”の演算 だけで補間点を求めることができる。
(Equation 6) Will be represented by In this case, by utilizing the symmetry of the vector, it is possible to: • access the calculation table sixteen times;

【0055】(b) 各フィルタ間で共用できる演算の
保存による演算量の節約 補間点数分のフィルタを用意することによって、高速化
できることはすでに述べたが、各フィルタ間で共用でき
る演算を保存することによって演算量を節約することが
できる。 (c)4倍拡大における高速化の例 図20は、4倍拡大におけるコーディング例を示してい
る。上述した高速化が具体的に適用されている行に注釈
を付している。すなわち、高速化は、 ・原点のコピー ・格子線上の簡易式 ・各フィルタ間で共用できる演算の保存 ・2のn乗倍の特異点の簡易式 という手法で表れている。
(B) Saving of Operation Amount by Saving Operations Common to Each Filter As described above, it is possible to increase the speed by preparing filters for the number of interpolation points. As a result, the amount of calculation can be reduced. (C) Example of speeding up in quadruple magnification FIG. 20 shows a coding example in quadruple magnification. The lines to which the above-described acceleration is specifically applied are annotated. In other words, the speed-up is expressed by the following techniques: copy of origin, simplified formula on grid lines, storage of computations that can be shared between filters, and simplified formula of singular point multiplied by 2 n.

【0056】上述してきたように整数倍の補間拡大に限
れば処理量はかなり低減することができる。従って、局
所的に補間位置を特定することが高速化に有効であるこ
とが分かった。かかる整数倍による補間拡大の方法を適
用する場合、整数倍の補間に限定せず、少数倍の補間拡
大についても応用することが考えられる。ここでは、拡
大処理の他の実施例について、少数倍、具体的には1.
25倍の補間拡大について考察する。この1.25倍の
補間拡大における局所的な作用を図25に示す。同図に
おいて、局所的な1.25倍とは、4点の原点を補間点
の1点を含めて5点にすることである。すなわち、平面
において、16点の原点を補間点を含めて25点に拡大
することをいう。
As described above, the processing amount can be considerably reduced by limiting the interpolation to an integral multiple. Therefore, it has been found that locally specifying the interpolation position is effective for speeding up. In the case of applying the method of interpolation expansion by such an integral multiple, it is conceivable that the present invention is not limited to the interpolation of an integral multiple, but may be applied to the interpolation of a small number of times. Here, in another embodiment of the enlargement processing, a small number of times, specifically 1.
Consider a 25-fold interpolation magnification. FIG. 25 shows the local operation in the 1.25-fold interpolation enlargement. In the figure, the local 1.25 times means that the origin of four points is made five points including one interpolation point. That is, this means that the origin of 16 points is enlarged to 25 points including the interpolation points on the plane.

【0057】従って、図25に示すように補間点の座標
は予め推測することが可能であり、そのことによる演算
の効率化および演算量の低減は上述した整数倍の補間拡
大による実施例と同様である。よって、それぞれの補間
点ごとに最適なフィルタを用意すればよいことになる。
ここでは、それぞれの補間点ごとのフィルタを子フィル
タと呼び、16点の原点から補間点を含め25点の画素
を生成する。これらの子フィルタを使用した全体のフィ
ルタをフィルタ16to25と呼ぶ。ここで、フィルタ
16to25を構成する子フィルタに必要なベクトル要
素を示す。 ・P1〜P5を求めるために必要な1024倍されたベ
クトル要素 P1:{0,1024,0,0} P2:{VA,VB,VC,VD} P3:{VE,VF,VG,VH} P4:{VH,VG,VF,VE} P5:{VD,VC,VB,VA} なお、VA〜VHは3次元補間関数とその補間位置から
予め求められる定数である。
Therefore, as shown in FIG. 25, the coordinates of the interpolation point can be estimated in advance, and the efficiency of the operation and the reduction of the amount of operation can be reduced in the same manner as in the above-described embodiment using the integral multiple of interpolation. It is. Therefore, it is sufficient to prepare an optimum filter for each interpolation point.
Here, a filter for each interpolation point is called a child filter, and 25 pixels including the interpolation points are generated from the 16 origins. The whole filter using these child filters is called a filter 16to25. Here, the vector elements required for the child filters forming the filters 16 to 25 are shown. 1024 multiplied vector elements required for obtaining P1 to P5 P1: {0, 1024, 0, 0} P2: {VA, VB, VC, VD} P3: {VE, VF, VG, VH} P4 : {VH, VG, VF, VE} P5: {VD, VC, VB, VA} VA to VH are constants previously obtained from the three-dimensional interpolation function and its interpolation position.

【0058】このように、ある画像を1.25倍にする
ことを考えた場合、フィルタ16to25を16点ずつ
周期的に通すことになる。しかし、一般的にはフィルタ
16to25を通すことができない余りの領域が出るこ
とは自明である。従って、フィルタ16to25を適用
する場合、参照画素の影響も考えなければならない。こ
の余った領域は別のフィルタを通すことになるので、均
一性がなくなり、歪みが生じる。ただし、これは人間の
目の誤差の範囲内であることを前提とする。
As described above, in order to increase a certain image by 1.25 times, the filters 16 to 25 are periodically passed through 16 points. However, it is self-evident that, in general, there is an extra area that cannot pass through the filters 16 to 25. Therefore, when applying the filter 16to25, the influence of the reference pixel must be considered. Since the surplus area passes through another filter, the uniformity is lost and distortion occurs. However, it is assumed that this is within the error range of the human eye.

【0059】ここで、フィルタ16to25を通した場
合のソース画像とデスティネーション画像の大きさの関
係を示す。ソース画像1辺の長さをsLとすると、フィ
ルタ16to25を通して得られるデスティネーション
画像の1辺の長さdLは、以下のようになる。 ・dL = {(sLー1)/4}*5+1 { }は整数部分 ・・・・式(1) となる。ただし、複数の連続した局所的な箇所であっ
て、参照画素の影響がなければ、 ・dL = {sL/4}*5 ・・・・式(2) となる。
Here, the relationship between the size of the source image and the size of the destination image when passing through the filters 16 to 25 will be described. Assuming that the length of one side of the source image is sL, the length dL of one side of the destination image obtained through the filter 16to25 is as follows. DL = {(sL-1) / 4 {* 5 + 1}} is an integer part... However, if there are a plurality of continuous local places and there is no influence of the reference pixel, dL = {sL / 4} * 5 (2)

【0060】次に、画像データを形成する画素数が4の
倍数である場合に、1.25倍の補間拡大を実施するこ
とについて検証する。具体的に、本実施形態においては
デジタルカメラの補間拡大などにより必要とされてい
る、「1280画素*960画素」を1.25倍により
補間拡大し、「1600画素*1200画素」に修正す
るということについて検証する。かかる場合、X座標お
よびY座標は、Nを整数とすると、4*Nの画素数を5
*Nの画素数に変換することを示している。式(2)を
使用して、sLに4*Nを代入すると、 ・dL_1=[4*N/4]*5 ・・・・(3) =[N]*5 =5*N となり、局所的な1.25倍が利用可能であることが分
かる。ただし、全体の大きさを考えた場合は、式(1)
に基づいて考えなければならないので、 ・dL_2=[4*(N−1)/4]*5+1 ・・・・(4) =[N−1/4]*5+1 ・・・・(4−1) =5*N−4 ・・・・(4−2) となる。式(4−2)は、デスティネーション画像とし
て4画素足りない状態を示し、式(4−1)は(N−
1)回しか、フィルタ16to25を通していないこと
を示している。このことから、ソース画像でフィルタ1
6to25を適用することができる画素は、4*(N−
1)点であり、4N−4(N−1)=4点は未処理のま
まであることが分かる。また、デスティネーション画像
としてフィルタ16to25により取り出せる画素は、
5*(N−1)であり、5N−5(N−1)=5点が生
成できないことになる。従って、ソース画像の残りの4
点からデスティネーション画像における不足分5点を生
成する方法を考える必要がある。
Next, it will be verified that 1.25-times interpolation enlargement is performed when the number of pixels forming the image data is a multiple of four. Specifically, in the present embodiment, "1280 pixels * 960 pixels", which is required due to interpolation expansion of a digital camera, is interpolated / expanded by 1.25 times, and corrected to "1600 pixels * 1200 pixels". Verify that In such a case, when N is an integer, the X coordinate and the Y coordinate are 4 * N pixels equal to 5
* N is converted to the number of pixels. Substituting 4 * N for sL using equation (2), dL_1 = [4 * N / 4] * 5 (3) = [N] * 5 = 5 * N It can be seen that a typical 1.25 times is available. However, when considering the overall size, equation (1)
DL_2 = [4 * (N-1) / 4] * 5 + 1 (4) = [N-1 / 4] * 5 + 1 (4-1) ) = 5 * N−4 (4-2) Equation (4-2) shows a state where four pixels are insufficient as the destination image, and equation (4-1) shows (N−
1) This indicates that the light passes through the filter 16 to 25 only once. From this, filter 1 in the source image
Pixels to which 6to25 can be applied are 4 * (N−
It can be seen that 1) point and 4N−4 (N−1) = 4 points remain unprocessed. The pixels that can be extracted by the filters 16 to 25 as the destination image are:
5 * (N-1), which means that 5N-5 (N-1) = 5 points cannot be generated. Therefore, the remaining 4
It is necessary to consider a method of generating five missing points in the destination image from the points.

【0061】このソース画像の残りの4点からデスティ
ネーション画像における不足分5点を生成する方法を図
26示す。同図において、局所的には3点を4点にす
る、すなわち、4/3=1.3333・・・・倍(以
下、1.3倍)の補間拡大になる。ここで、この局所的
な1.3倍の補間拡大に必要となるベクトル要素は以下
のようになる。 ・P1〜P4を求めるために必要な1024倍されたベ
クトル要素 P1:{0,1024,0,0} P2:{VK,VL,VM,VN} P3:{VX,VY,VY,VX} P4:{VN,VM,VL,VK} なお、VK〜VN,VX,VYは3次元補間関数とその
補間位置から予め求められる定数である。
FIG. 26 shows a method for generating five missing points in the destination image from the remaining four points in the source image. In the figure, three points are locally changed to four points, that is, interpolation enlargement of 4/3 = 1.333... Times (hereinafter 1.3 times). Here, the vector elements necessary for the local 1.3 times interpolation enlargement are as follows. 1024 vector elements required for obtaining P1 to P4 P1: {0, 1024, 0, 0} P2: {VK, VL, VM, VN} P3: {VX, VY, VY, VX} P4 : {VN, VM, VL, VK} VK to VN, VX, VY are constants previously obtained from the three-dimensional interpolation function and its interpolation position.

【0062】以上のことから、フィルタ16to25で
処理できなかった箇所については、X方向には、フィル
タ12to25X、Y方向にはフィルタ12to25Y
を使用する。また、X,Y方向ともに1.25倍できな
い箇所はフィルタ9to16を使用する。ここで、この
フィルタ12to15Yを使用する際の原点と補間点の
相関を示した相関図を図27に示す(フィルタ12to
25Xは90度回転した図になる。)。このように、
1.25倍の補間拡大では、局所的には1.25倍と
1.3倍の補間拡大を実行する。かかる場合、フィルタ
16to25、フィルタ12to20X、フィルタ12
to20X、フィルタ9to16を使用すると補間拡大
が可能となり、これに伴い補間拡大処理の高速化を実現
することが可能になる。
From the above, for the portion that could not be processed by the filter 16to25, the filter 12to25X in the X direction and the filter 12to25Y in the Y direction.
Use In addition, a filter 9to16 is used for a portion that cannot be multiplied by 1.25 in both the X and Y directions. Here, a correlation diagram showing the correlation between the origin and the interpolation point when using the filter 12to15Y is shown in FIG.
25X is a figure rotated 90 degrees. ). in this way,
In the 1.25-times interpolation enlargement, 1.25-times and 1.3-times interpolation enlargement is performed locally. In such a case, the filter 16to25, the filter 12to20X, the filter 12
When to20X and the filter 9to16 are used, interpolation enlargement becomes possible, and accordingly, it is possible to realize high-speed interpolation enlargement processing.

【0063】これらのフィルタで必要なベクトル要素を
まとめると、14個のベクトル要素が必要になる。よっ
て、それぞれのベクトル要素に0〜255を掛けた、2
56個の要素から形成される14個の演算テーブルを使
用することにより演算数を減らすことが可能になる。こ
こで、この演算テーブルの要素1個の大きさを4バイト
とすると、1個の演算テーブルの大きさは、1024バ
イト(1KB)である。これが14個あるので、演算テ
ーブルに必要なメモリは14KBとなる。
If necessary vector elements are collected by these filters, 14 vector elements are required. Therefore, each vector element is multiplied by 0 to 255, 2
The number of operations can be reduced by using 14 operation tables formed from 56 elements. Here, assuming that the size of one element of this operation table is 4 bytes, the size of one operation table is 1024 bytes (1 KB). Since there are 14 of these, the memory required for the operation table is 14 KB.

【0064】このように、各管理オブジェクトP100
〜P300と、各画像処理オブジェクトP400,P5
00を組み合わせた画像処理システムにおいて、各オブ
ジェクトP300〜P500は自己の画像処理に必要な
処理領域を前のオブジェクトP200,P400,P5
00に要求する。そして、要求を受けたオブジェクトは
分割画像管理オブジェクトP200が形成した所定の領
域の引き渡しを受けたり、各オブジェクトP400,P
500が自己の画像処理を実行したものを積み上げて形
成した処理領域の引き渡しを受ける。従って、各オブジ
ェクトは前後のオブジェクトと接続し、要求のあった処
理領域を引き渡すのみでよく処理構成を簡易にすること
が可能になる。また、各オブジェクトは前後に接続する
オブジェクトと相互にデータの授受を可能にすればよ
く、オブジェクトが増加減しても、管理オブジェクトP
100〜P300を修正する必要がないため、柔軟な画
像処理システムを構築することが可能になる。
As described above, each management object P100
To P300, and each image processing object P400, P5
00, the objects P300 to P500 define processing areas necessary for their own image processing as objects P200, P400, and P5.
Request 00. Then, the requested object receives a predetermined area formed by the divided image management object P200 or receives the object P400, P
500 receives a delivery of a processing area formed by stacking image processing performed by itself. Therefore, each object only needs to connect to the preceding and succeeding objects and deliver the requested processing area, and the processing configuration can be simplified. In addition, each object only needs to be able to exchange data with the object connected before and after.
Since there is no need to modify 100 to P300, a flexible image processing system can be constructed.

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

【図1】本発明の一実施形態にかかる画像処理プログラ
ムを実行するコンピュータシステムのブロック図であ
る。
FIG. 1 is a block diagram of a computer system that executes an image processing program according to an embodiment of the present invention.

【図2】印刷イメージの処理単位の変化を示す図であ
る。
FIG. 2 is a diagram illustrating a change in a processing unit of a print image.

【図3】オペレーティングシステムに組み込まれた状態
でのプリンタドライバの概略構成を示す図である。
FIG. 3 is a diagram illustrating a schematic configuration of a printer driver in a state where the printer driver is incorporated in an operating system.

【図4】画像の処理単位を示す図である。FIG. 4 is a diagram showing a processing unit of an image.

【図5】強調処理で必要な周縁領域を示す図である。FIG. 5 is a diagram showing a peripheral area necessary for the emphasis processing.

【図6】拡大処理で必要な周縁領域を示す図である。FIG. 6 is a diagram illustrating a peripheral area necessary for the enlargement processing.

【図7】モジュール側からドライバ側に必要領域を通知
する過程を示す図である。
FIG. 7 is a diagram showing a process of notifying a necessary area from a module side to a driver side.

【図8】S−AreaとS−Unitの関係を示す図で
ある。
FIG. 8 is a diagram showing a relationship between S-Area and S-Unit.

【図9】S−Unitのポインタテーブルを示す図であ
る。
FIG. 9 is a diagram showing an S-Unit pointer table.

【図10】強調処理を実行する場合の実質的処理対象領
域を示す図である。
FIG. 10 is a diagram illustrating a substantial processing target area when an emphasis process is performed.

【図11】拡大処理を実行する場合の実質的処理対象領
域を示す図である。
FIG. 11 is a diagram illustrating a substantial processing target area when the enlargement processing is performed.

【図12】プリンタドライバにおける手続の流れを示す
図である。
FIG. 12 is a diagram showing a procedure flow in a printer driver.

【図13】第1のフィルタ処理による拡大処理を示す図
である。
FIG. 13 is a diagram showing an enlargement process by a first filter process.

【図14】第2のフィルタ処理による拡大処理を示す図
である。
FIG. 14 is a diagram illustrating an enlargement process by a second filter process.

【図15】二段階のフィルタ処理による拡大処理を示す
図である。
FIG. 15 is a diagram illustrating an enlargement process by two-stage filtering.

【図16】3次補間の格子点と補間点の関係を示す図で
ある。
FIG. 16 is a diagram illustrating the relationship between grid points and interpolation points for cubic interpolation.

【図17】2倍補間の格子点と補間点の関係を示す図で
ある。
FIG. 17 is a diagram showing the relationship between grid points and interpolation points for double interpolation.

【図18】3倍補間の格子点と補間点の関係を示す図で
ある。
FIG. 18 is a diagram illustrating the relationship between grid points and interpolation points for triple interpolation.

【図19】4つのフィルタ処理を利用した3次補間によ
る拡大処理を示す図である。
FIG. 19 is a diagram illustrating an enlargement process by cubic interpolation using four filter processes.

【図20】4倍拡大におけるコーディング例を示す図で
ある。
FIG. 20 is a diagram illustrating a coding example in quadruple magnification.

【図21】S−Unitについて処理対象となるものを
分離格納した場合の図である。
FIG. 21 is a diagram in a case where an S-Unit to be processed is separately stored.

【図22】S−Unitの処理領域テーブルを示す図で
ある。
FIG. 22 is a diagram showing a processing area table of S-Unit.

【図23】他の実施の形態におけるオペレーティングシ
ステムに組み込まれた状態でのプリンタドライバの構成
を示す図である。
FIG. 23 is a diagram illustrating a configuration of a printer driver in a state where the printer driver is incorporated in an operating system according to another embodiment.

【図24】他の実施の形態おける画像の処理単位を示す
図である。
FIG. 24 is a diagram showing a processing unit of an image in another embodiment.

【図25】1.25倍補間の格子点と補間点の関係を示
す図である。
FIG. 25 is a diagram showing the relationship between grid points and interpolation points for 1.25-times interpolation.

【図26】1.3倍補間の格子点と補間点の関係を示す
図である。
FIG. 26 is a diagram illustrating a relationship between grid points and interpolation points of 1.3-times interpolation.

【図27】フィルタ12to15Yを使用する際の原点
と補間点の相関を示した相関図である。
FIG. 27 is a correlation diagram showing a correlation between an origin and an interpolation point when using filters 12to15Y.

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

10…コンピュータシステム 11a…スキャナ 11a2…スキャナ 11b…デジタルスチルカメラ 11b1…デジタルスチルカメラ 11b2…デジタルスチルカメラ 11c…ビデオカメラ 12…コンピュータ本体 12a…オペレーティングシステム 12b…ディスプレイドライバ 12c…プリンタドライバ 12d…アプリケーション 13a…フロッピーディスクドライブ 13b…ハードディスク 13c…CD−ROMドライブ 14a…モデム 14a2…モデム 15a…キーボード 15b…マウス 17a…ディスプレイ 17b…カラープリンタ 18a…スピーカ 18b…マイク 10 Computer System 11a Scanner 11a2 Scanner 11b Digital Still Camera 11b1 Digital Still Camera 11b2 Digital Still Camera 11c Video Camera 12 Computer Body 12a Operating System 12b Display Driver 12c Printer Driver 12d Application 13a Floppy disk drive 13b Hard disk 13c CD-ROM drive 14a Modem 14a2 Modem 15a Keyboard 15b Mouse 17a Display 17b Color printer 18a Speaker 18b Microphone

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) ──────────────────────────────────────────────────続 き Continued on the front page (51) Int.Cl. 7 Identification code FI Theme coat ゛ (Reference)

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】 それぞれが所定の画像処理を実行する少
なくとも2つ以上の画像処理モジュールが相互に接続
し、処理領域管理モジュールが元画像データから画像処
理の対象となる所定の処理領域を形成するとともに、所
定の画像処理モジュールに引き渡し、適宜各画像処理モ
ジュールにて画像処理を実行し修整画像データを生成す
るコンピュータにて読取り可能な画像処理プログラムを
記録した媒体であって、 上記各画像処理モジュールは、 自己の画像処理に必要な処理領域を通知する画像処理領
域通知ステップと、 上記画像処理領域通知ステップにおける通知に基づいて
引き渡された処理領域に対し、所定の画像処理を実行し
修整画像データを生成する画像処理実行ステップと、 上記画像処理実行ステップにて画像処理した処理領域を
積み上げて通知に対応する処理領域を形成し、同処理領
域を同通知を受けた画像処理モジュールに引き渡す画像
処理領域引渡ステップとを具備することを特徴とするコ
ンピュータにて読取り可能な画像処理プログラムを記録
した媒体。
At least two or more image processing modules each performing predetermined image processing are connected to each other, and a processing area management module forms a predetermined processing area to be subjected to image processing from original image data. And a computer-readable image processing program that transfers the image processing module to a predetermined image processing module, executes image processing in each image processing module as appropriate, and generates modified image data. The image processing area notification step of notifying the processing area required for its own image processing, and the predetermined image processing is performed on the processing area delivered based on the notification in the image processing area notification step, and the modified image data Image processing execution step of generating A computer-readable image processing program, comprising: an image processing area transfer step of forming a processing area corresponding to the notification by looking up, and transferring the processing area to the image processing module receiving the notification. Medium on which is recorded.
【請求項2】 上記請求項1に記載の画像処理プログラ
ムを記録した媒体において、 上記処理領域管理モジュールは、上記元画像データがド
ットマトリクス状に配置された画素から構成されると
き、複数の画素を有するライン単位により処理領域を形
成し、上記画像処理領域通知ステップは、同ライン単位
により必要な処理領域を通知することを特徴とする画像
処理プログラムを記録した媒体。
2. The medium in which the image processing program according to claim 1 is recorded, wherein the processing area management module includes a plurality of pixels when the original image data is composed of pixels arranged in a dot matrix. A recording medium for recording an image processing program, wherein a processing area is formed in units of lines having the following, and the image processing area notification step notifies a required processing area in units of the line.
【請求項3】 上記請求項1に記載の画像処理プログラ
ムを記録した媒体において、 上記処理領域管理モジュールは、上記元画像データがド
ットマトリクス状に配置された画素から構成されると
き、所定数の画素単位により処理領域を形成し、上記画
像処理領域通知ステップは、同画素単位により必要な処
理領域を通知することを特徴とする画像処理プログラム
を記録した媒体。
3. The medium in which the image processing program according to claim 1 is recorded, wherein the processing area management module, when the original image data is composed of pixels arranged in a dot matrix, a predetermined number of pixels. A medium in which an image processing program is recorded, wherein a processing area is formed in pixel units, and the image processing area notification step notifies a required processing area in the pixel units.
【請求項4】 上記請求項1〜請求項3のいずれかに記
載の画像処理プログラムを記録した媒体において、 上記処理領域管理モジュールおよび各画像処理モジュー
ルは、所定の記憶領域に個別に処理領域を展開して形成
し、上記画像処理実行ステップは、他の画像処理モジュ
ールの記憶領域に形成された処理領域を参照しつつ、同
個別の記憶領域にて画像処理を実行し修整画像データを
生成することを特徴とする画像処理プログラムを記録し
た媒体。
4. A medium in which the image processing program according to claim 1 is recorded, wherein the processing area management module and each image processing module individually store processing areas in a predetermined storage area. The image processing execution step generates image data by executing image processing in the individual storage area while referring to the processing area formed in the storage area of another image processing module. A medium having recorded thereon an image processing program.
【請求項5】 上記請求項1〜請求項4のいずれかに記
載の画像処理プログラムを記録した媒体において、 上記各画像処理モジュールは、複数の画像処理モジュー
ルを所定の順序にて接続し順次画像処理を実行しつつ一
の修整画像データを生成する場合、自己の画像処理が最
後でないとき、個別の記憶領域から画像処理に不要な処
理領域を順次解放することを特徴とする画像処理プログ
ラムを記録した媒体。
5. A medium in which the image processing program according to claim 1 is recorded, wherein each of the image processing modules connects a plurality of image processing modules in a predetermined order and sequentially executes image processing. In the case of generating one modified image data while executing the processing, when the self image processing is not the last, an image processing program characterized by sequentially releasing processing areas unnecessary for image processing from individual storage areas is recorded. Medium.
【請求項6】 上記請求項1〜請求項5のいずれかに記
載の画像処理プログラムを記録した媒体において、 上記処理領域管理モジュールは、上記元画像データから
処理領域を形成するに際し、利用頻度の高いものを限定
して利用可能にすることを特徴とする画像処理プログラ
ムを記録した媒体。
6. A medium in which an image processing program according to claim 1 is recorded, wherein said processing area management module determines a use frequency when forming a processing area from said original image data. A medium on which an image processing program is recorded, which is limited to those expensive.
【請求項7】 上記請求項1〜請求項6のいずれかに記
載の画像処理プログラムを記録した媒体において、 上記画像処理領域通知ステップは、初期画像処理時に必
要な処理領域を通知する初期画像処理領域通知ステップ
と、初期画像処理以降の通常時に必要な処理領域を通知
する通常画像処理領域通知ステップを備えることをを特
徴とする画像処理プログラムを記録した媒体。
7. A medium on which the image processing program according to claim 1 is recorded, wherein said image processing area notifying step notifies an image processing area necessary for initial image processing. A medium in which an image processing program is recorded, comprising: an area notifying step; and a normal image processing area notifying step of notifying a normal processing area required after the initial image processing.
【請求項8】 それぞれが所定の画像処理を実行する少
なくとも2つ以上の画像処理モジュールが相互に接続
し、処理領域管理モジュールが元画像データから画像処
理の対象となる所定の処理領域を形成するとともに、所
定の画像処理モジュールに引き渡し、適宜各画像処理モ
ジュールにて画像処理を実行しつつ修整画像データを生
成する画像処理装置であって、 上記各画像処理モジュールは、 自己の画像処理に必要な処理領域を通知する画像処理領
域通知手段と、 上記画像処理領域通知手段の通知に基づいて引き渡され
た処理領域に対し、所定の画像処理を実行し修整画像デ
ータを生成する画像処理実行手段と、 上記画像処理実行手段にて画像処理した処理領域を積み
上げて通知に対応する処理領域を形成し、同処理領域を
同通知を受けた画像処理モジュールに引き渡す画像処理
領域引渡手段とを具備することを特徴とする画像処理装
置。
8. At least two or more image processing modules each performing a predetermined image processing are connected to each other, and a processing area management module forms a predetermined processing area to be subjected to image processing from original image data. And an image processing device that passes the image processing module to a predetermined image processing module and generates modified image data while appropriately performing image processing in each image processing module. Image processing area notifying means for notifying a processing area, and image processing executing means for executing predetermined image processing to generate modified image data for the processing area delivered based on the notification of the image processing area notifying means, The processing areas subjected to image processing by the image processing execution means are stacked to form a processing area corresponding to the notification, and the processing area is received by the notification. The image processing apparatus characterized by comprising an image processing area delivery means to be passed to the image processing module.
【請求項9】 それぞれが所定の画像処理を実行する少
なくとも2つ以上の画像処理モジュールが相互に接続
し、処理領域管理モジュールが元画像データから画像処
理の対象となる所定の処理領域を形成するとともに、所
定の画像処理モジュールに引き渡し、適宜各画像処理モ
ジュールにて画像処理を実行し修整画像データを生成す
る画像処理方法であって、 上記各画像処理モジュールは、 自己の画像処理に必要な処理領域を通知する画像処理領
域通知工程と、 上記画像処理領域通知工程における通知に基づいて引き
渡された処理領域に対し、所定の画像処理を実行し修整
画像データを生成する画像処理実行工程と、 上記画像処理実行工程にて画像処理した処理領域を積み
上げて通知に対応する処理領域を形成し、同処理領域を
同通知を受けた画像処理モジュールに引き渡す画像処理
領域引渡工程とを具備することを特徴とする画像処理方
法。
9. At least two or more image processing modules each performing predetermined image processing are connected to each other, and a processing area management module forms a predetermined processing area to be subjected to image processing from original image data. An image processing method for transferring the image processing module to a predetermined image processing module, executing image processing in each image processing module as appropriate, and generating modified image data. An image processing area notification step of notifying an area; an image processing execution step of executing predetermined image processing to generate modified image data for the processing area delivered based on the notification in the image processing area notification step; The processing areas subjected to image processing in the image processing execution step are stacked to form a processing area corresponding to the notification, and the processing area is received the notification. An image processing method characterized by comprising an image processing area delivery step to be passed to the image processing module.
JP18678899A 1998-08-31 1999-06-30 Image processing system, image processing method, and medium recording image processing module Expired - Fee Related JP3467753B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18678899A JP3467753B2 (en) 1998-08-31 1999-06-30 Image processing system, image processing method, and medium recording image processing module

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP24533798 1998-08-31
JP10-245337 1998-08-31
JP18678899A JP3467753B2 (en) 1998-08-31 1999-06-30 Image processing system, image processing method, and medium recording image processing module

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2003196715A Division JP2004102989A (en) 1998-08-31 2003-07-14 Image processing system, image processing method, and medium recording image processing module

Publications (2)

Publication Number Publication Date
JP2000149002A true JP2000149002A (en) 2000-05-30
JP3467753B2 JP3467753B2 (en) 2003-11-17

Family

ID=26503975

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18678899A Expired - Fee Related JP3467753B2 (en) 1998-08-31 1999-06-30 Image processing system, image processing method, and medium recording image processing module

Country Status (1)

Country Link
JP (1) JP3467753B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007055067A1 (en) * 2005-11-08 2007-05-18 Sony Computer Entertainment Inc. Information processing device, graphic processor, control processor, and information processing method
US7286720B2 (en) 2001-08-21 2007-10-23 Canon Kabushiki Kaisha Image processing apparatus, image input/output apparatus, scaling method and memory control method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7286720B2 (en) 2001-08-21 2007-10-23 Canon Kabushiki Kaisha Image processing apparatus, image input/output apparatus, scaling method and memory control method
WO2007055067A1 (en) * 2005-11-08 2007-05-18 Sony Computer Entertainment Inc. Information processing device, graphic processor, control processor, and information processing method
US7999814B2 (en) 2005-11-08 2011-08-16 Sony Computer Entertainment Inc. Information processing apparatus, graphics processor, control processor and information processing methods

Also Published As

Publication number Publication date
JP3467753B2 (en) 2003-11-17

Similar Documents

Publication Publication Date Title
JP5643574B2 (en) Image processing apparatus and image processing method
US20080273218A1 (en) Image Processing Apparatus, Control Method Thereof, and Program
JPH07262360A (en) Device and method for image processing
JPH03280154A (en) Integrated image recorder
JP3285930B2 (en) Image processing device
JP4063918B2 (en) Apparatus and method for creating an image containing graphics information for display
JP3467753B2 (en) Image processing system, image processing method, and medium recording image processing module
US7257274B2 (en) System and method for scaling an image
JP2000149006A (en) Medium in which image processing program is recorded, image processor and image processing method
JP2004102989A (en) Image processing system, image processing method, and medium recording image processing module
JP3467727B2 (en) Medium recording image processing program, image processing apparatus, and image processing method
JP2004062894A (en) Medium recorded with image processing program, image processor and image processing method
JPH0457570A (en) Picture processor
JP2000149007A (en) Medium in which image data interpolation processing program is recorded, image data interpolation processor and image data interpolation processing method
JP3507685B2 (en) Image communication display system and its program storage medium
JP2000013601A (en) Print information processor and device and method for generating intermediate data
JP3396413B2 (en) Image data transfer method
JPH1011593A (en) Image forming device
JP3741183B2 (en) Image data interpolation apparatus, image data interpolation method, and medium on which image data interpolation program is recorded
JP3651214B2 (en) Print processing apparatus and print processing method
JP2000255125A (en) Printing processing device and method
JPH10333852A (en) Plotting processor
JP2000184197A (en) Image processor
JPH09154009A (en) Printer system
JP3365068B2 (en) Image processing device

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080905

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080905

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090905

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090905

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100905

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100905

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110905

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120905

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130905

Year of fee payment: 10

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees