JP3467727B2 - Medium recording image processing program, image processing apparatus, and image processing method - Google Patents

Medium recording image processing program, image processing apparatus, and image processing method

Info

Publication number
JP3467727B2
JP3467727B2 JP24339999A JP24339999A JP3467727B2 JP 3467727 B2 JP3467727 B2 JP 3467727B2 JP 24339999 A JP24339999 A JP 24339999A JP 24339999 A JP24339999 A JP 24339999A JP 3467727 B2 JP3467727 B2 JP 3467727B2
Authority
JP
Japan
Prior art keywords
image
image processing
data
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.)
Expired - Fee Related
Application number
JP24339999A
Other languages
Japanese (ja)
Other versions
JP2000149008A (en
Inventor
正紀 石田
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 JP24339999A priority Critical patent/JP3467727B2/en
Publication of JP2000149008A publication Critical patent/JP2000149008A/en
Application granted granted Critical
Publication of JP3467727B2 publication Critical patent/JP3467727B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、画像処理プログラ
ムを記録した媒体、画像処理装置および画像処理方法に
関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a medium recording an image processing program, an image processing apparatus and an image processing method.

【0002】[0002]

【従来の技術】コンピュータなどでは、画像をドットマ
トリクス状に配置された画素で表しているが、近年、仮
想的なドットマトリクス状の領域に対して、オブジェク
ト画像を適宜配置して一枚の画像を表す手法が利用され
ている。すなわち、文字だけを表すオブジェクト画像
や、イメージを表すオブジェクト画像を個別に用意し、
所定の順番で重ね合わせて画像を完成させる。このよう
な画像を扱う際、コンピュータの処理の都合上、一つの
オブジェクト画像を複数に分割することが多い。例え
ば、オブジェクト画像が大きくなるのにつれてデータ量
も極めて多大となり、一体として処理するには処理資源
の負担が大きくなるからである。
2. Description of the Related Art In a computer or the like, an image is represented by pixels arranged in a dot matrix, but in recent years, an object image is appropriately arranged in a virtual dot matrix area to form a single image. Is used. That is, an object image representing only characters and an object image representing an image are individually prepared,
The images are completed by superimposing them in a predetermined order. When handling such an image, one object image is often divided into a plurality of images for the convenience of computer processing. This is because, for example, as the size of the object image becomes larger, the amount of data also becomes extremely large, and the processing resources become heavy to be processed integrally.

【0003】一方、コンピュータで複数の段階に分けて
画像を処理することも可能であり、アプリケーションの
ように内部において自由に処理できるものの他、オペレ
ーティングシステムの一部として機能するドライバやモ
ジュールによってメモリなどの制約を強く受けながら処
理しなければならないものもある。すなわち、分割され
たオブジェクトデータを連結して元のオブジェクト画像
を生成することなく、画像処理をしなければならないも
のがある。従来、モジュールがオブジェクトデータの処
理を実行する場合にドライバに対してオブジェクトデー
タへのアクセスを要求するが、それはモジュールで処理
しようとしている画像領域に過ぎなかった。
On the other hand, it is possible to process an image in a plurality of stages by a computer, and in addition to the one which can be freely processed inside like an application, a memory or the like is provided by a driver or a module which functions as a part of an operating system. There are things that must be processed while being strongly restricted by. That is, there is a case where image processing is required without connecting the divided object data to generate the original object image. Conventionally, when a module executes processing of object data, it requests a driver to access the object data, but it is only an image area that the module is going to process.

【0004】[0004]

【発明が解決しようとする課題】上述した従来のものに
おいては、オブジェクトデータがモジュールに提供する
のは本来の処理対象である画像領域に対応したものであ
った。しかし、画像処理が既存の単独画素だけに基づい
て処理を実行しているときには問題が生じないものの、
既存の画素についての処理を実行するためにはその周縁
の画素についての情報を取り入れておかなければならな
い場合もあり、そのような場合だと画像領域の周縁部分
で必要な画素の情報を参照できなくなるという課題があ
った。
In the above-mentioned conventional apparatus, the object data is provided to the module in correspondence with the image area which is the original processing target. However, although the problem does not occur when the image processing is executed based on only the existing single pixel,
In order to execute the processing for the existing pixels, it may be necessary to incorporate the information about the peripheral pixels, and in such a case, the information about the necessary pixels can be referred to in the peripheral area of the image area. There was a problem of disappearing.

【0005】本発明は、上記課題にかんがみてなされた
もので、画像処理の高度化に伴って画像処理を実行でき
なくするのを防止することが可能な画像処理プログラム
を記録した媒体、画像処理装置および画像処理方法の提
供を目的とする。
The present invention has been made in view of the above problems, and a medium and an image processing medium in which an image processing program capable of preventing the image processing from being disabled due to the sophistication of the image processing is recorded. An object is to provide an apparatus and an image processing method.

【0006】[0006]

【課題を解決するための手段】上記目的を達成するた
め、請求項1にかかる発明は、ドットマトリクス状に配
置された画素からなる画像を表す領域にオブジェクト画
像を適宜配置するにあたり、同オブジェクト画像を表現
するために複数の分割オブジェクトデータが生成され、
各オブジェクト画像ごとに所定の画像処理をコンピュー
タに実行させる画像処理プログラムを記録した媒体であ
って、同画像処理プログラムは、上記オブジェクト画像
の分割オブジェクトデータが入力されるドライバと、各
オブジェクト画像ごとに画像処理を実行するモジュール
とを具備し、かつ、上記モジュールは、個別の画像処理
を実行する複数の画像処理オブジェクトを有するととも
、上記ドライバは、上記分割オブジェクトデータをス
プールするとともに、上記モジュールが処理対象とする
画像領域のオブジェクトデータをスプールファイルから
メモリ上に展開して利用可能とする際、上記モジュール
の各画像処理オブジェクトが順次、自己の画像処理にお
いて必要とする周縁領域を処理対象とする画像領域に加
えて、残りの画像処理オブジェクトに通知していき、最
後の画像処理オブジェクトにおいて周縁領域が加えられ
た画像領域をメモリ上に展開する構成としてある。
In order to achieve the above object, the present invention according to claim 1 provides an object image in which an object image is appropriately arranged in an area representing an image composed of pixels arranged in a dot matrix. Multiple divided object data are generated to express
A medium for recording an image processing program for causing a computer to execute predetermined image processing for each object image, the image processing program including a driver to which the divided object data of the object image is input, and each object image. And a module for executing image processing, and the module is for performing individual image processing.
With multiple image processing objects to perform
In, the driver is adapted to spool the divided object data, when the available object data in the image area where the module is processed to expand from the spool file on the memory, the module
Each image processing object of
The required peripheral area to the image area to be processed.
Then, notify the remaining image processing objects and
In the later image processing object the marginal area was added
The image area is expanded on the memory .

【0007】上記のように構成した請求項1にかかる発
明においては、ドライバにオブジェクト画像の分割オブ
ジェクトデータが入力されると、モジュールが各オブジ
ェクト画像ごとに画像処理を実行するが、ここで上記ド
ライバは上記分割オブジェクトデータをスプールすると
ともに、上記モジュールが処理対象とする画像領域のオ
ブジェクトデータをスプールファイルからメモリ上に展
開して利用可能としている。そして、この際、同ドライ
バは同モジュールが処理対象とする画像領域に加えて各
画像処理において参照する周縁領域を加えて上記メモリ
上に展開している。すなわち、本画像処理プログラムで
は、ドットマトリクス状に配置された画素からなる画像
を表す領域にオブジェクト画像を適宜配置するにあた
り、同オブジェクト画像を表現するために複数の分割オ
ブジェクトデータが生成され、各オブジェクト画像ごと
に所定の画像処理を実行するが、処理の都合上、ドライ
バは分割オブジェクトデータをスプールし、モジュール
が処理対象とする画像領域のオブジェクトデータをスプ
ールファイルからメモリ上に展開しており、このときに
メモリ上に展開される領域は本来の処理対象とする画像
領域だけでなく、モジュールで実行する画像処理におい
て参照する周縁領域まで加えてある。
In the invention according to claim 1 configured as described above, when the divided object data of the object image is input to the driver, the module executes the image processing for each object image. Is capable of spooling the divided object data and expanding the object data of the image area to be processed by the module from the spool file onto the memory for use. At this time, the driver expands on the memory by adding the peripheral area referred to in each image processing in addition to the image area to be processed by the module. That is, in this image processing program, when appropriately arranging an object image in an area representing an image composed of pixels arranged in a dot matrix, a plurality of divided object data is generated to represent the same object image, and each divided object data is generated. Although predetermined image processing is executed for each image, for convenience of processing, the driver spools the divided object data and the module expands the object data of the image area to be processed from the spool file on the memory. The area that is sometimes expanded on the memory is not only the image area that is the original processing target but also the peripheral area that is referred to in the image processing executed by the module.

【0008】かかる場合、モジュールは必ずしも単独の
画像処理を実行するものに限られる必要はなく、複数の
画像処理を実行できるものであっても構わない。従っ
て、複数の画像処理オブジェクトにおけるそれぞれの画
像処理において必要とする周縁領域を予め加えておき、
上記ドライバはかかる周縁領域を含めた画像領域をメモ
リ上に展開している。
In such a case, the module is not necessarily limited to a module that executes a single image process, and may be a module that can execute a plurality of image processes. Therefore, a peripheral area required for each image processing in a plurality of image processing objects is added in advance,
The driver develops an image area including the peripheral area on the memory.

【0009】そして、このように各画像処理オブジェク
トの画像処理において必要とする周縁領域を予め加えて
おくにあたり、各画像処理オブジェクトが自己の画像処
理において必要とする周縁領域を処理対象とする画像領
域に加えることができ、複数の画像処理オブジェクトが
ある場合に、これを数珠つなぎとして、それぞれの画像
処理オブジェクトが次段の画像処理オブジェクトに対し
て周縁領域を加えた画像領域を通知していく。これによ
り、最後の画像処理オブジェクトにおいて周縁領域を加
えられた画像領域を参照すれば、全ての画像処理オブジ
ェクトにおいて必要となる周縁領域が加えられた画像領
域が分かり、ドライバはかかる最終の画像領域をメモリ
に展開すればよい。
When the peripheral area required for image processing of each image processing object is added in advance in this way, the image area for which the peripheral area required by each image processing object in its own image processing is to be processed. When there are a plurality of image processing objects, these image processing objects are linked to each other and each image processing object notifies the image area of the next image processing object including the peripheral area. Accordingly, by referring to the image area added with the peripheral area in the last image processing object, the image area added with the peripheral area necessary for all the image processing objects can be known, and the driver can determine the final image area. Just expand it in memory.

【0010】さらに、請求項2にかかる発明は、請求項
1に記載の画像処理プログラムを記録した媒体におい
て、上記ドライバは、周縁領域を加えた画像領域を含め
た上で分割オブジェクトデータ単位でメモリ上に展開す
る構成としてある。メモリ上に展開されるオブジェクト
データは必ずしも処理対象となる画像領域そのままであ
る必要はなく、余裕を持って展開されても構わない。す
なわち、参照される周縁領域も含めてメモリに展開され
ていなければ困るが、逆に余分に展開されていることは
支障がない。このため、上記のように構成した請求項2
にかかる発明においては、周縁領域を加えた画像領域を
含めた上でドライバが分割オブジェクトデータ単位でメ
モリ上に展開する。
According to a second aspect of the present invention, in the medium in which the image processing program according to the first aspect is recorded, the driver includes an image area including a peripheral area and a memory in divided object data units. It is designed to be deployed on top. The object data expanded in the memory does not necessarily have to be the image area to be processed as it is, and may be expanded with a margin. That is, it is inconvenient if it is not expanded in the memory including the peripheral region to be referred to, but conversely, it is not a problem that it is expanded in excess. For this reason, claim 2 configured as described above
In the invention according to the second aspect, the driver expands the divided object data unit in the memory including the image area including the peripheral area.

【0011】分割オブジェクトデータの数が極めて多く
なると、処理の低下を免れなくなるが、そのような場合
に好適な一例として、請求項3にかかる発明は、請求項
1または請求項2のいずれかに記載の画像処理プログラ
ムを記録した媒体において、上記ドライバは、メモリ上
に展開した分割オブジェクトデータのうちで利用頻度の
高いものを限定して利用可能にする構成としてある。メ
モリ上に展開した分割オブジェクトデータは必ずしも全
てを必要としないこともあるため、上記のように構成し
た請求項3にかかる発明においては、利用頻度の高い分
割オブジェクトデータを限定して利用可能にすることに
よって不要な分割オブジェクトデータを処理対象とする
ことなく、処理速度などの低下を防止する。
When the number of divided object data becomes extremely large, the processing is unavoidably deteriorated. However, as a suitable example in such a case, the invention according to claim 3 is one of claim 1 and claim 2. In the medium in which the described image processing program is recorded, the driver is configured to limit the use of frequently used divided object data expanded in the memory. Since the divided object data expanded on the memory may not necessarily be required in all cases, in the invention according to claim 3 configured as described above, the divided object data that is frequently used is limited to be usable. As a result, it is possible to prevent processing speed and the like from being lowered without targeting unnecessary divided object data.

【0012】以上においては、発明の思想の具現化例と
して、ソフトウェアを記録した記録媒体について説明し
た。むろん、その記録媒体は、磁気記録媒体であっても
よいし光磁気記録媒体であってもよいし、今後開発され
るいかなる記録媒体においても全く同様に考えることが
できる。また、一次複製品、二次複製品などの複製段階
については全く問う余地無く同等である。その他、供給
方法として通信回線を利用して行なう場合でも本発明が
利用されていることにはかわりない。さらに、一部がソ
フトウェアであって、一部がハードウェアで実現されて
いる場合においても発明の思想において全く異なるもの
ではなく、一部を記録媒体上に記憶しておいて必要に応
じて適宜読み込まれるような形態のものとしてあっても
よい。
In the above, a recording medium in which software is recorded has been described as an example of embodying the idea of the invention. Of course, the recording medium may be a magnetic recording medium or a magneto-optical recording medium, and any recording medium developed in the future can be considered in exactly the same manner. In addition, the duplication stage of the primary duplication product, the secondary duplication product, and the like is absolutely the same. In addition, even when the communication method is used as the supply method, the present invention is still used. Furthermore, even when a part is software and a part is realized by hardware, the idea of the invention does not differ at all, and a part is stored on a recording medium and appropriately stored as necessary. It may be in a form that can be read.

【0013】しかしながら、本発明がかかるソフトウェ
アとしてのみ利用されるというわけでないことは明らか
であり、その一例として、請求項4にかかる発明は、ド
ットマトリクス状に配置された画素からなる画像を表す
領域にオブジェクト画像を適宜配置するにあたり、同オ
ブジェクト画像を表現するために複数の分割オブジェク
トデータが生成され、各オブジェクト画像ごとに所定の
画像処理を実行する画像処理装置であって、上記オブジ
ェクト画像データの分割オブジェクトデータが入力され
るデータ管理手段と、各オブジェクト画像ごとに画像処
理を実行するデータ処理手段とを具備し、かつ、上記デ
ータ処理手段は、個別の画像処理を実行する複数の画像
処理オブジェクトを有するとともに、上記データ管理手
段は、上記分割オブジェクトデータをスプールするとと
もに、上記データ処理手段が処理対象とする画像領域の
オブジェクトデータをスプールファイルからメモリ上に
展開して利用可能とする際、上記データ処理手段が有す
る各画像処理オブジェクト が順次、自己の画像処理にお
いて必要とする周縁領域を処理対象とする画像領域に加
えて、残りの画像処理オブジェクトに通知していき、最
後の画像処理オブジェクトにおいて周縁領域が加えられ
た画像領域をメモリ上に展開する構成としてある。上記
のように構成した請求項4にかかる発明における動作は
プログラムにて実現される機能と同様である。
However, it is obvious that the present invention is not used only as such software, and as an example thereof, the invention according to claim 4 is an area representing an image composed of pixels arranged in a dot matrix. In appropriately arranging the object images in the image processing apparatus, an image processing apparatus that generates a plurality of divided object data for expressing the object images and executes predetermined image processing for each object image, The image processing apparatus further comprises a data management unit for inputting divided object data and a data processing unit for executing image processing for each object image, and the data processing unit includes a plurality of images for executing individual image processing.
In addition to having a processing object, the data management means spools the divided object data and expands the object data of the image area to be processed by the data processing means from the spool file on the memory to make it available. , The data processing means has
Each image processing object that
The required peripheral area to the image area to be processed.
Then, notify the remaining image processing objects and
In the later image processing object the marginal area was added
The image area is expanded on the memory . The operation in the invention according to claim 4 configured as described above is the same as the function realized by the program.

【0014】また、このような手法は必ずしも実体のあ
る装置に限られる必要はなく、その方法としても機能す
ることは容易に理解できる。このため、請求項5にかか
る発明は、ドットマトリクス状に配置された画素からな
る画像を表す領域にオブジェクト画像を適宜配置するに
あたり、同オブジェクト画像を表現するために複数の分
割オブジェクトデータが生成され、各オブジェクト画像
ごとに所定の画像処理を実行する画像処理方法であっ
て、上記オブジェクト画像データの分割オブジェクトデ
ータが入力されるデータ管理工程と、各オブジェクト画
像ごとに画像処理を実行するデータ処理工程とを具備
し、かつ、上記データ処理工程は、個別の画像処理を実
行する複数の画像処理オブジェクトを有するとともに
上記データ管理手段は、上記分割オブジェクトデータを
スプールするとともに、上記データ処理手段が処理対象
とする画像領域のオブジェクトデータをスプールファイ
ルからメモリ上に展開して利用可能とする際、上記デー
タ処理手段が有する各画像処理オブジェクトが順次、自
己の画像処理において必要とする周縁領域を処理対象と
する画像領域に加えて、残りの画像処理オブジェクトに
通知していき、最後の画像処理オブジェクトにおいて周
縁領域が加えられた画像領域をメモリ上に展開する構成
としてある。
Further, it is easy to understand that such a method does not necessarily have to be limited to a substantive device, and can also function as that method. Therefore, in the invention according to claim 5, when appropriately arranging an object image in an area representing an image composed of pixels arranged in a dot matrix, a plurality of divided object data are generated to represent the object image. An image processing method for executing a predetermined image processing for each object image, the data management step of inputting divided object data of the object image data, and the data processing step of executing image processing for each object image In addition, the above data processing step implements individual image processing.
With multiple image processing objects running ,
The data management unit is configured to spool the divided object data, when the available object data of an image area in which the data processing means is processed to expand from the spool file on the memory, the data
Each image processing object possessed by the data processing means
The peripheral area that is necessary for my image processing is to be processed
In addition to the image area to
Notification will be given and the last image processing object will
The image area added with the edge area is developed on the memory .

【0015】[0015]

【発明の効果】以上説明したように本発明は、画像処理
の高度化に伴って処理対象の画像領域の周縁領域まで参
照する必要が生じる場合であって、複数の画像処理によ
って参照する周縁領域が異なる場合も、各画像処理オブ
ジェクトが順次周縁領域を通知していくことにより、必
要な周縁領域の管理を行う煩わしさを減少させることが
できる画像処理プログラムを記録した媒体を提供するこ
とができる。さらに、請求項2にかかる発明によれば、
ドライバはオブジェクトデータ単位でスプールしてい
るため、さらに必要領域を考慮して切り出すということ
が必要でなくなり、処理速度は向上する。さらに、請求
項3にかかる発明によれば、利用頻度の低い分割オブジ
ェクトデータを処理対象としないことによって処理速度
の低下を防止することができる。さらに、請求項4にか
かる発明によれば、同様の効果を奏することが可能な画
像処理装置を提供でき、請求項5にかかる発明によれ
ば、画像処理方法を提供できる。
As described above, according to the present invention, when it becomes necessary to refer to the peripheral region of the image region to be processed as the image processing is advanced, the peripheral region referred to by a plurality of image processes. Even when the values are different, it is possible to provide a medium in which an image processing program capable of reducing the troublesomeness of managing the necessary peripheral area is provided by each image processing object sequentially reporting the peripheral area. . Further, according to the invention of claim 2,
Since the driver spools in object data units, it is not necessary to further consider the necessary area and cut out, and the processing speed is improved. Furthermore, according to the third aspect of the present invention, it is possible to prevent a decrease in processing speed by not processing the divided object data that is used less frequently. Further, according to the invention of claim 4, it is possible to provide an image processing apparatus capable of achieving the same effect, and according to the invention of claim 5, it is possible to provide an image processing method.

【0016】[0016]

【発明の実施の形態】以下、図面にもとづいて本発明の
実施形態を説明する。図1は本発明の一実施形態にかか
る画像処理プログラムを適用した画像処理システムを実
現するハードウェアの一例としてのコンピュータシステ
ム10をブロック図により示している。本コンピュータ
システム10は、画像データを直接的に入力する画像入
力デバイスとして、スキャナ11aとデジタルスチルカ
メラ11bとビデオカメラ11cとを備えており、コン
ピュータ本体12に接続されている。それぞれの入力デ
バイスは画像をドットマトリクス状の画素で表現した画
像データを生成してコンピュータ本体12に出力可能と
なっており、ここで同画像データはRGBの三原色にお
いてそれぞれ256階調表示することにより、約167
0万色を表現可能となっている。
BEST MODE FOR CARRYING OUT THE INVENTION 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 that realizes 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 the computer main body 12. Each input device can generate image data in which an image is expressed by pixels in a dot matrix shape and output the image data to the computer body 12. Here, the image data is displayed in 256 gradations in each of the three primary colors of RGB. , About 167
It is possible to express 0,000 colors.

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

【0018】ここで、外部補助記憶装置のうち、フロッ
ピーディスクドライブ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 are used.
As for 3c, the recording medium itself can be replaced, and by being supplied in a state where the image data is recorded on this recording medium, it can also be a means of the image input device. Further, when the network is accessed via the modem 14a or the LAN adapter, the image data may be supplied from this network, and in such a case, it may be a means of the image input device. In addition to this, a keyboard 15a for operating the computer main body 12 and a mouse 15b as a pointing device are also connected, and further, a speaker 18a and a microphone 18b are provided to support multimedia.
Is equipped with. 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 each pixel can display the above-mentioned 16.7 million colors. Of course, this resolution is just an example, 640 × 48
0 pixels or 1024 × 768 pixels,
It can be changed as appropriate.

【0019】また、印刷装置としてのカラープリンタ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 inkjet printer, which is capable of printing an image by using dots of CMYK four color inks to print dots on a printing paper as a recording medium. Image density is 360
High-density printing such as × 360 dpi or 720 × 720 dpi is possible, but the gradation table is represented by two gradations such as whether or not color ink is applied. Color inks are not limited to these four colors, but it is also possible to reduce the conspicuity of dots by six colors including light cyan and light magenta. It is also possible to adopt an electrophotographic method or the like. Since an image is input using such an image input device and displayed or output on the image output device, the computer main body 1
In 2, the predetermined program will be executed. Of these, the operating system (OS) 12a operates as a basic program, and a display driver (DSPDRV) that causes the operating system 12a to display on the display 17a.
A printer driver (PRT DRV) 12c for causing the 12b and the color printer 17b to perform print output is incorporated. These types of drivers 12b and 12c depend on the model of the display 17a and the color printer 17b, and can be added and changed to the operating system 12a according to the model. Also, depending on the model, it is possible to realize additional functions beyond the standard processing. That is, it is possible to realize various additional processes within an allowable range while maintaining a common processing system on the standard system called the operating system 12a.

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

【0021】図2は、アプリケーション12dから出力
されるオブジェクトデータである印刷イメージの処理単
位の変化を示している。同図において、アプリケーショ
ン12dにて生成された印刷イメージPIは、オペレー
ティングシステム12aに出力される。そして、オペレ
ーティングシステム12aは描画命令群12a1に基づ
いて、入力した印刷イメージPIを所定の描画命令に置
き換えて印刷データを生成する。ここで、オペレーティ
ングシステム12aが描画命令に置き換えた印刷データ
は、本来作画されたイメージをページ単位の座標をその
ままにして形成されている印刷イメージPIを、処理の
都合上、ランダムな矩形のオブジェクトデータに分割さ
れている。そして、オペレーティングシステム12a
は、この分割した矩形のオブジェクトデータをページ単
位の座標とは無関係に、すなわち、印刷イメージPIの
作画されたイメージに対応することなくランダムな位置
に配置し、分割オブジェクトデータa(1)〜a(n)
を形成する。
FIG. 2 shows a change in processing unit of a print image which is object data output from the application 12d. In the figure, the print image PI generated by the application 12d is output to the operating system 12a. Then, the operating system 12a replaces the input print image PI with a predetermined drawing command based on the drawing command group 12a1 to generate print data. Here, the print data replaced by the drawing command by the operating system 12a is, for convenience of processing, the print image PI formed by keeping the coordinates of the originally drawn image in page units as random rectangular object data. Is divided into Then, the operating system 12a
Arranges the divided rectangular object data at random positions irrespective of the page unit coordinates, that is, at random positions not corresponding to the image on which the print image PI is drawn. (N)
To form.

【0022】すなわち、それぞれの分割オブジェクトデ
ータa(1)〜a(n)において矩形で区分された領域
の内部データは、座標が連続している領域に対応したデ
ータを表わしているものの、相互に隣り合う分割オブジ
ェクトデータa(1)〜a(n)は座標に関しては何等
連続性を有するものではない。従って、隣り合う分割オ
ブジェクトデータa(1)〜a(n)は不連続なデータ
となっており、この形成された分割オブジェクトデータ
a(1)〜a(n)の並び順に基づいて印刷を行って
も、正常な印刷イメージPIを再現することは不可能に
なっている。このように分割オブジェクトデータa
(1)〜a(n)に分割された印刷イメージPIについ
て印刷を行うに場合、分割オブジェクトデータa(1)
〜a(n)は、プリンタドライバ12cに入力されると
ともに、適宜色調処理や拡大・縮小処理などの画像処理
が実行される。そして、これらの画像処理の後に、カラ
ープリンタ17bが処理可能なラスタデータb(1)〜
b(n)を形成して、カラープリンタ17dに出力す
る。
That is, although the internal data of the area divided by the rectangle in each of the divided object data a (1) to a (n) represents the data corresponding to the area where the coordinates are continuous, Adjacent divided object data a (1) to a (n) have no continuity in terms of coordinates. Therefore, the adjacent divided object data a (1) to a (n) are discontinuous data, and printing is performed based on the arrangement order of the formed divided object data a (1) to a (n). However, it is impossible to reproduce the normal print image PI. In this way, the divided object data a
When printing the print image PI divided into (1) to a (n), the divided object data a (1)
.. to a (n) are input to the printer driver 12c, and image processing such as color tone processing and enlargement / reduction processing is appropriately executed. After these image processings, the raster data b (1) to
b (n) is formed and output to the color printer 17d.

【0023】かかる場合、プリンタドライバ12cは、
上述したラスタデータb(1)〜b(m)をバンド単位
で順次形成するために、ランダムに配置された分割オブ
ジェクトデータa(1)〜a(n)から相互に関連のあ
る分割オブジェクトデータa(1)〜a(n)を選択し
スプールファイル12c1に格納する。そして、このス
プールファイル12c1に格納した分割オブジェクトデ
ータa(1)〜a(n)から所定のデータ領域を抽出し
てメモリ12c2上に展開し、上述した色調処理や拡大
・縮小処理などを実行する同プリンタドライバ12cが
備える画像処理を実行するモジュール12c3において
利用可能にする。このメモリ12c2はハードウェア化
されたプリンタドライバ12cに配設されている所定の
記憶領域であってもよいし、コンピュータ本体に取り付
けられた図示しないEEPROMなどの記録領域であっ
てもよい。
In such a case, the printer driver 12c is
In order to sequentially form the raster data b (1) to b (m) described above in band units, the divided object data a (1) to a (n) randomly arranged are related to the divided object data a. (1) to a (n) are selected and stored in the spool file 12c1. Then, a predetermined data area is extracted from the divided object data a (1) to a (n) stored in the spool file 12c1 and is expanded on the memory 12c2, and the above-mentioned color tone processing and enlargement / reduction processing are executed. The printer driver 12c can be used in the module 12c3 that executes image processing. The memory 12c2 may be a predetermined storage area provided in the hardware printer driver 12c, or a recording area such as an EEPROM (not shown) attached to the computer body.

【0024】図2は、アプリケーション12dから出力
されるオブジェクトデータである印刷イメージの処理単
位の変化を示している。同図において、アプリケーショ
ン12dにて生成された印刷イメージPIは、オペレー
ティングシステム12aに出力される。そして、オペレ
ーティングシステム12aは描画命令群12a1に基づ
いて、入力した印刷イメージPIを所定の描画命令に置
き換えて印刷データを生成する。ここで、オペレーティ
ングシステム12aが描画命令に置き換えた印刷データ
は、オペレーティングシステム12aでの処理の都合
上、複数の矩形からなるオブジェクトデータに分割され
る。そして、オペレーティングシステム12aは、この
分割した矩形のオブジェクトデータをページ単位の座標
とは無関係に、すなわち、印刷イメージPIの作画され
たイメージに対応することなくランダムな位置に配置
し、分割オブジェクトデータa(1)〜a(n)を形成
する。
FIG. 2 shows a change in processing unit of a print image which is object data output from the application 12d. In the figure, the print image PI generated by the application 12d is output to the operating system 12a. Then, the operating system 12a replaces the input print image PI with a predetermined drawing command based on the drawing command group 12a1 to generate print data. Here, the print data replaced by the drawing command by the operating system 12a is divided into object data composed of a plurality of rectangles for the convenience of processing in the operating system 12a. Then, the operating system 12a arranges the divided rectangular object data at a random position regardless of the coordinates of the page unit, that is, at a random position without corresponding to the image on which the print image PI is drawn. (1) to a (n) are formed.

【0025】すなわち、それぞれの分割オブジェクトデ
ータa(1)〜a(n)において矩形で区分された領域
の内部データは、作画座標が連続している領域に対応し
たデータを表わしているものの、相互に隣り合う分割オ
ブジェクトデータa(1)〜a(n)は座標に関しては
連続性を有するものあるとは限られない。従って、隣り
合う分割オブジェクトデータa(1)〜a(n)は不連
続なデータとなっており、この形成された分割オブジェ
クトデータa(1)〜a(n)の並び順に基づいて印刷
を行っても、正常な印刷イメージPIを再現することは
不可能になっている。このように分割オブジェクトデー
タa(1)〜a(n)に分割された印刷イメージPIに
ついて印刷を行うに場合、所定の分割オブジェクトデー
タa(1)〜a(n)がプリンタドライバ12cに入力
されるとともに、適宜色調処理や拡大・縮小処理などの
画像処理が実行される。そして、これらの画像処理の後
に、カラープリンタ17bが処理可能なラスタデータb
(1)〜b(n)を形成して、カラープリンタ17dに
出力する。
That is, although the internal data of the area divided by the rectangle in each of the divided object data a (1) to a (n) represents the data corresponding to the area in which the drawing coordinates are continuous, The divided object data a (1) to a (n) adjacent to each other are not necessarily continuous in terms of coordinates. Therefore, the adjacent divided object data a (1) to a (n) are discontinuous data, and printing is performed based on the arrangement order of the formed divided object data a (1) to a (n). However, it is impossible to reproduce the normal print image PI. When printing the print image PI divided into the divided object data a (1) to a (n), the predetermined divided object data a (1) to a (n) are input to the printer driver 12c. In addition, image processing such as color tone processing and enlargement / reduction processing is appropriately executed. Then, after these image processes, the raster data b that can be processed by the color printer 17b is processed.
(1) to b (n) are formed and output to the color printer 17d.

【0026】かかる場合、プリンタドライバ12cは、
上述したラスタデータb(1)〜b(m)をバンド単位
で順次形成するために、ランダムに配置された分割オブ
ジェクトデータa(1)〜a(n)から相互に関連のあ
る分割オブジェクトデータa(1)〜a(n)を選択し
てスプールファイル12c1に格納する。そして、この
スプールファイル12c1に格納した分割オブジェクト
データa(1)〜a(n)から上述した色調処理や拡大
・縮小処理などの画像処理を実行する同プリンタドライ
バ12cの備えるモジュール12c3が画像処理の処理
対象とするデータ領域を抽出し、同モジュール12c3
が利用可能な状態でメモリ12c2上に展開する。
In such a case, the printer driver 12c is
In order to sequentially form the raster data b (1) to b (m) described above in band units, the divided object data a (1) to a (n) randomly arranged are related to the divided object data a. (1) to a (n) are selected and stored in the spool file 12c1. Then, the module 12c3 included in the printer driver 12c for executing the image processing such as the color tone processing and the enlargement / reduction processing described above from the divided object data a (1) to a (n) stored in the spool file 12c1 performs the image processing. The data area to be processed is extracted, and the same module 12c3 is used.
Are expanded in the memory 12c2 in a usable state.

【0027】次に、プリンタドライバ12cがオペレー
ティングシステム12aに組み込まれた状態でのシステ
ム上の概略構成を図3に示す。同図において、アプリケ
ーション12dから印刷要求があると、API層から本
プリンタドライバ12cが提供する機能管理オブジェク
トP1にアクセスされる。この機能管理オブジェクトP
1は、分割画像管理オブジェクトP2によって上記分割
オブジェクトデータa(1)〜a(n)の管理を実行し
つつ、処理画像管理オブジェクトP3によって処理画像
を取得する。この処理画像を取得するにあたって機能管
理オブジェクトP1は同処理画像管理オブジェクトP3
に対して必要領域を要求するし、その処理の前提として
予め分割オブジェクトデータa(1)〜a(n)に関し
て分割画像登録の処理を実行する。
Next, FIG. 3 shows a schematic configuration of the system in which the printer driver 12c is incorporated in the operating system 12a. In the figure, when there is a print request from the application 12d, the API layer accesses the function management object P1 provided by the printer driver 12c. This function management object P
1 executes the management of the divided object data a (1) to a (n) by the divided image management object P2, and acquires the processed image by the processed image management object P3. When acquiring the processed image, the function management object P1 is the same as the processed image management object P3.
To the required area, and as a precondition for the processing, the divided image data a (1) to a (n) are subjected to the divided image registration processing in advance.

【0028】すなわち、処理画像管理オブジェクトP3
が実際の画像処理を実行する拡大処理オブジェクトP4
と強調処理オブジェクトP5を介して分割画像管理オブ
ジェクトP2に対して処理対象となる画像領域を通知す
るため、分割画像管理オブジェクトP2は既に登録され
ている分割オブジェクトデータa(1)〜a(n)のう
ちの必要なものだけをメモリ12c2上に展開して利用
可能とし、展開された結果を利用して強調処理オブジェ
クトP5と拡大処理オブジェクトP4が画像処理を実行
することになる。従って、本発明にかかる画像処理プロ
グラムにおいて、上述した機能管理オブジェクトP1
と、分割画像管理オブジェクトP2と、処理画像管理オ
ブジェクトP3とが本発明にかかるドライバを構成する
とともに、拡大処理オブジェクトP4と、強調処理オブ
ジェクトP5とが本発明にかかる画像処理を実行するモ
ジュールを構成する。
That is, the processed image management object P3
The enlargement processing object P4 that executes the actual image processing
Since the divided image management object P2 is notified of the image area to be processed via the emphasis processing object P5, the divided image management object P2 is already registered in the divided object data a (1) to a (n). Only the necessary ones are expanded on the memory 12c2 and made available, and the emphasized processing object P5 and the enlargement processing object P4 execute image processing using the expanded results. Therefore, in the image processing program according to the present invention, the function management object P1 described above is used.
The divided image management object P2 and the processed image management object P3 constitute a driver according to the present invention, and the enlargement processing object P4 and the emphasis processing object P5 constitute a module for executing the image processing according to the present invention. To do.

【0029】図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 the input divided object data and the acquired processed image. In the figure,
If the original image is called a source image and the image subjected to the enlargement processing and the emphasis processing 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 a unit, but in this case as well, it is assumed that the divided image is processed separately, and each divided image is processed by the D-Unit. Called A to C. D-Unit. A to C
It is necessary to be able to use the unprocessed image area in order to obtain S-Unit. a
It is not known whether or not all of them are available through ~ i. 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 thus made available by S-Area. a to c. However, this S-Area. a to c are D-Unit. It does not match A to C, but includes a peripheral region. The reason why the peripheral region is included in this way is that when the image processing is performed by the enlargement processing object P4 and the emphasis processing object P5, the processing cannot be performed only by the processing target pixel, and the surrounding pixels must be referred to. is there.

【0030】次に、各画像処理で参照する周縁領域を図
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, the peripheral area referred to in each image processing is shown in FIGS. Although details of specific processing are not described in detail, it is necessary to refer to one pixel on the upper and left sides and two pixels on the right and lower sides with respect to the target pixel in the enhancement processing shown in FIG. Further, in the enlargement processing shown in FIG. 6, it is necessary to refer to one pixel on the right and left sides and two pixels on the upper side with reference to the target pixel. Filtering is an example of a specific calculation that needs to refer to the peripheral region. If applied to the example of the emphasis process and the enlargement process in this case, a filter for 4 × 4 pixels is used in the emphasis process and a filter for 3 × 4 pixels is used in the enlargement process.
It can be said that a peripheral area is needed. FIG. 7 shows a process in which the processing image management object P3 notifies the divided image management object P2 of the required area. In the figure,
When the processing image management object P3 requests the area of the finally acquired processing image as the first required area S-Area ', the processing image management object P3 notifies the enlargement processing object P4 of this. Then, in the enlargement processing object P4, when the enlargement magnification of itself is 2 times, the image area which is the source of the necessary area S-Area 'is 1/2 times. However, the reference pixel is
The emphasis processing object P5 is notified that there are 1, 2, 2, and 1 pixel for each of the right side, the lower side, and the left side. Since the enhancement processing object P5 does not perform enlargement, what is originally required is the image area required by the enlargement processing object P4.
It is 1/2 times a ′ and (1,
2, 2, 1) pixels. However, it is necessary to refer to the peripheral area even in self, and further, (2
1, 1, 1) Pixel-added image management object P
Notify 2. That is, the image area S-Area that has been modified in this way is an area that is 1/2 times the required area S-Area 'and (3,3,3,2) pixels in the peripheral area thereof. . Of course, the size of such a peripheral area depends on the enlargement processing object P4 and the emphasis processing object P.
5 depends on the calculation method of No. 5, and in another calculation example, 2 pixels are required for all of the upper, lower, left and right sides in the emphasizing process, while one pixel is required for the upper and left sides and 2 pixels for the right and lower sides in the enlarging process There is also something like doing.

【0031】一方、分割画像管理オブジェクト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 is
Individual divided object data is input via the function management object P1, and while the information as an area is managed, the substance is stored in a spool file and the divided image registration is performed. Since the spool file is stored on the hard disk 13b, other processing objects cannot be directly referenced or used. However, the divided image management object P2 is expanded on the memory so that the image area S-Area notified as described above can be used by other objects. At this time, the required image area S-Area
8 is not expanded on the memory as it is, but as shown in FIG. 8, the S-Unit. a to i is investigated and all applicable S-Unit. Expand a to i on the memory. Here, if the number of divided object data is small, the S-Unit. a
It is easy to determine which is ~ i. Each S-
Unit. The actual data of a to i are stored in the hard disk 13
Although it is stored in b, the header information about each area is stored in a table as shown in FIG. The following S-Unit. A pointer next_ptr indicating the information start position of a to i is provided. Originally, by tracing this pointer, all S
-Unit. Although it is possible to refer to the header information of a to i, each S-Unit. a to i are image areas S-Area
It is necessary to repeat some comparison operations to determine whether or not some of them overlap, which results in a large number of operations. On the other hand, not all S-Unit. There is no need to compare with a to i, and in reality, S-Uni that should be referred to
t. a to i are limited. For example, in the case of the example shown in FIG. 9, when the S-Area is expanded, an S-
Unit. It suffices if only a to i can be referred to, and temporarily, the pointer next_pt in this table.
I try to transfer r.

【0032】本実施形態においては、ポインタ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 the present embodiment, the pointer next
S-Unit._referenced by _ptr. a-i is transferred to form S-Area indirectly to form S-Unit. a
~ I is specified and a configuration capable of generating S-Area at high speed is adopted, but of course, the method for enabling rapid generation of S-Area is 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 at a relatively high speed as compared with a hard disk, and may be referred to when the S-Area is generated. Unit. a to i
D 1 to 9 are distributed, and S-Unit. It is also possible to form an ID table that is arranged in such an order that a to i can form the original image of the source image and refer to the table when generating the S-Area.

【0033】以上のようにして分割画像管理オブジェク
ト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 S-Us in which the divided image management object P2 includes the image area S-Area.
nit. After expanding a to i on the memory, the emphasis processing object P5 executes the emphasis processing, and then the enlargement processing object P4 executes the enlargement processing. In the enhancement process, (2,1,1,1) pixels are required as the peripheral region of the target pixel, and the image region generated as a result of the enhancement process is shown in FIG.
As shown in 0, the peripheral area is an area within a broken line in which (2,1,1,1) pixels are omitted. Similarly, in the enlargement process, (1, 2, 2, 1) pixels are required as the peripheral region of the target pixel, and the image region generated as a result of the emphasis process is defined as the peripheral region as shown in FIG. 1, 2,
2, 1) It becomes an area within a broken line excluding pixels. Of course, since the enlargement processing interpolates and generates grid points inside,
The obtained processed image is vertically and horizontally doubled, and as a result, coincides with the first required area S-Area '.

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

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

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

【0037】次に、図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 divided object data input and the acquired processed image. In the figure, the original image will be referred to as a source image, and the processed image subjected to the enlargement processing and the color tone processing will be referred to as a destination image. In addition, the input divided object data is S-Unit. A to I. here,
The destination image can be processed as a unit, but in the present embodiment, it is divided into line units and generated for each line, and the generated destination images are stacked for each final image. Shall be generated. In addition, each divided image for each line that divides the destination image is 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 for the enlargement processing object P400.
Notify the delivery of the line. Here, the enlargement processing object P400 needs the image data of 5 lines as described above in order to execute the enlargement processing of 1 line. Therefore, the next color tone processing object P500 is notified of the delivery of five lines. The color tone processing object P500 can process the color tone processing with one line of image data, and therefore notifies the divided image management object P200 of the delivery of one line of image data.

【0038】そして、分割画像管理オブジェクト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 indicates divided image data S-Unit. A predetermined line of image data is formed from A to I, and is transferred to the color tone processing object P500. Color tone processing object P500
Performs the tone processing on the delivered data of one line, and when the tone processing is completed, the enlargement processing object P4
Since 5 lines are requested from 00, the divided image management object P is displayed until the color tone processing for 5 lines is completed.
200 is notified of the delivery of one line, and the divided image management object sequentially produces one line according to the request and passes it to the tone processing object. Then, the color tone processing object P500 sequentially performs color tone processing on the delivered image data of one line. Color tone processing object P500
When the color tone processing for the five lines ends, the five lines are handed over to the enlargement processing object P400. The enlargement processing object P400 refers to the four back lines of the delivered five lines and performs the enhancement process of the first one line. Then, the color tone processing and the emphasis processing are performed 1
A line destination image is generated and delivered to the processed image management object P300.

【0039】最初の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 the first one-line destination image is generated, the destination images are sequentially generated line by line up to n lines. In generating the image of one line, 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 been handed over five lines for which the color tone processing has been completed. Therefore, in order to treat the first one of the five lines as a non-reference and to perform the enlargement process for 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 is S-Unit.
A predetermined one line is formed from A to I and delivered to the color tone processing object P500. Color tone processing object P50
0 performs color tone processing on the delivered one line and delivers it to the enlargement processing object P400. The enlargement processing object P400 adds the delivered one line to the end of the already delivered four lines to form a processing area of five lines, and performs the enlargement processing on the second line described above. When the enlargement processing is completed for this second one line, it is delivered to the processed image management object P300. Function management object P10
0 sequentially accumulates the image data of each line in which each process is performed by each object acquired by the process image management object P300 in this way to generate a destination image.

【0040】以上のようにして、最初に分割画像管理オ
ブジェクト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 delivers a one-line image area to the color tone processing object P500 on the memory, and the color tone processing object P500 executes the color tone processing to obtain the color tone. When the image data of 5 lines is generated in the processing object P500, the enlargement processing object P40 is generated.
Deliver to 0 and execute enlargement processing. Then, the image data of one line generated from the five lines is transferred to the processed image management object P300. Then, after that, one line of transfer notification and formation is performed among the processed image management object P300, the enlargement processing object P400, the color tone processing object P500, and the divided image management object P200, or one line of image data for which image processing has been executed. Are sequentially delivered in the reverse direction, and are stacked in the function management object P100 to generate a destination image. In the present embodiment, the image data of one line delivered from the divided image management object P200 to the color tone processing object P500 and the image data of five lines or one line delivered from the color tone processing object P500 to the enlargement processing object P400 are S-Area. It goes without saying that it will be configured. Further, in the present embodiment, the order in which the image processing is executed is the tone processing object P500 → enlargement processing object P400, but of course, the present invention is not limited to this, and the enlargement processing object P400 → the tone processing object P500 may be used. Alternatively, only one of the enlargement processing object P400 and the color tone processing object P500 may be executed according to a predetermined setting.

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

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

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

【0044】一方、上述したように画像処理のためにオ
ブジェクト画像を評価するには、オブジェクト画像全体
にわたって画素の情報をサンプリングすることが有効で
あり、簡易である。このようなサンプリングは、オブジ
ェクト画像と分割オブジェクトデータとの対応関係が分
かる前後のどちらで実行しても良い。すなわち、対応関
係が分かる前に分割オブジェクトデータごとにサンプリ
ングしておき、対応関係が分かってからサンプリング結
果を統合することもできるし、対応関係が分かってから
各オブジェクト画像ごとに対応する分割オブジェクトデ
ータをサンプリングすることもできる。このようにサン
プリングの実行タイミングは条件に応じてさまざまであ
り、図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, it is possible to sample each divided object data before the correspondence is known, and integrate the sampling results after the correspondence is known, or the divided object data corresponding to each object image after the correspondence is known. Can also be sampled. As described above, the execution timing of sampling varies depending on the conditions, and in FIG. 12 as well, it is indicated by a broken line corresponding to three executable timings. It should be noted that it is possible to prepare a module for sampling even if it is performed on the driver side.

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

【0046】なお、上述した例では、デスティネーショ
ン画像を取得する意味で必要領域を通知しており、生成
されるデスティネーション画像は任意のメモり領域に展
開されればよい。これに対してスプールファイル自体に
対して拡大処理を実行したい場合もある。この場合は、
拡大処理された画像をスプールファイルに対して付加
し、元画像ファイルのポインタを拡大処理された画像フ
ァイルにリンクさせればよい。例えばスプールファイル
から読み出して仮想画像を構築し、画像処理を施してか
ら元のスプールファイルを書き換えたいという処理があ
るとする。かかる場合に、拡大処理をスプールファイル
中の画像ファイルに施してしまえば仮想画像上で拡大処
理を実現しなくても良くなる。しかしながら、拡大処理
すればスプールファイル中の画像ファイルよりも大きく
なるから、拡大後の画像ファイルで書き換えることはで
きない。従って、拡大後の画像データをスプールファイ
ルの後に付加していき、ポインタのリンクを張り替える
ようにするのである。
In the above example, the required area is notified in the sense of acquiring the destination image, and the generated destination image may be expanded in any memory area. On the other hand, there are cases in which it is desired to perform 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, suppose that there is a process in which a virtual image is constructed by reading from a spool file, image processing is performed, and then the original spool file is rewritten. In this case, if the enlargement process is applied to the image file in the spool file, the enlargement process need not be realized on the virtual image. However, since the enlargement process makes the image file larger than the image file in the spool file, it cannot be rewritten with the enlarged image file. Therefore, the enlarged image data is added after the spool file so that the pointer links are switched.

【0047】次に、拡大処理の具体的手法について説明
する。一般に、ドットマトリクス状の画素からなる画像
についてその格子間に新たに画素を生成する処理を拡大
処理と呼んで広く実行されている。これは、ディスプレ
イ17aの解像度とカラープリンタ17bの解像度に相
違があるような場合、画素単位で割り当ててしまうと一
定の大きさに表示されなくなるといった不具合を解消す
るためである。ここで、拡大処理には、次に示す手法が
知られている。 1.最近隣内挿法(単純水増しコピー) 2.3次たたみ込み補間(以下、3次補間という) 前者のものは数学的に最も高速な拡大手法であるし、後
者のものはきれいな拡大結果を得られる反面で数学的に
は大量の演算を必要として時間がかかるという特徴を有
している。いずれにしても、これらは画像処理の技術用
語としてはフィルタ処理と呼ばれている。ここで、図1
3や図14は別々のフィルタ[1],[2]を使用して
拡大前の画像aから拡大後の画像Aを生成する原理を示
している。この場合、拡大前の画像aの数点を利用して
フィルタ[1],[2]にかけることにより、拡大後の
画像Aのある1点を求めることができる。従って、拡大
後の画像Aの全画素について本来的には演算を繰り返す
ことになる。
Next, a specific method of enlargement processing will be described. In general, a process of newly generating pixels between lattices of an image composed of dot matrix pixels is called an enlargement process and is widely executed. This is to solve the problem that, when the resolution of the display 17a and the resolution of the color printer 17b are different, if they are assigned in pixel units, they are not displayed in a certain size. Here, the following method is known for the enlargement processing. 1. Nearest-neighbor interpolation method (simple padding copy) 2.3 Convolutional convolutional interpolation (hereinafter referred to as cubic interpolation) The former one is the mathematically fastest enlargement method, and the latter one obtains a clean enlargement result. On the other hand, it has a feature that it requires a large amount of calculation mathematically 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 the enlarged image A from the unenlarged image a by using separate filters [1] and [2]. In this case, one point of the image A after enlargement can be obtained by applying the filters [1] and [2] using several points of the image a before enlargement. Therefore, the calculation is essentially repeated for all the pixels of the image A after enlargement.

【0048】ところで、フィルタ[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 in the processing results between the filters [1] and [2]. That is, the former looks rough and the latter looks smooth. However, when printing is performed using the enlargement result, the difference cannot always be recognized due to the limit of recognition of human eyes. That is, a filter that requires a high degree of computation [2]
In some cases, it is not possible to recognize the difference in the enlargement result between the case of enlargement by itself and the case of enlargement by using the filters [1] and [2] together. FIG. 15 shows the latter procedure,
Enlargement processing is performed on the original image a by using the filter [2], and once the image a ′ is generated, enlargement processing is executed by using the filter [1] to obtain the image A. ing. Needless to say, the enlargement process of the filter [2] requires cubic interpolation and therefore may be executed by a module, and the enlargement process of the filter [1] may be realized by a driver. In this case, of course, the difference can be seen with the naked eye depending on the magnification of the filter [1] and the filter [2]. However, if the combination is in a range in which such a difference is unknown, the filter [2] that requires a long processing time can be used. Since the area of the generated image a'is small, high-speed processing can be expected. This is because the calculation amount increases in proportion to the area of the image after the enlargement processing.

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

【数1】----shiki---- なお、関数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] ---- shiki ---- Regarding the function f (t), f (t) = {sin (πt)} / πt , By replacing U or V with W, t0 = 1+ (W- | W |) t1 = (W- | W |) t2 = 1- (W- | W |) t3 = 2- (W- | W |) Can be expressed as

【0050】このような3次補間演算は、一般的に多く
の演算量を要することになるが、補間点の位置によって
は高速化が可能であり、より具体的には整数倍の拡大に
限れば処理量はかなり低減することができる。なお、こ
こでいう整数倍とは原点が格子線の交差点上に置かれる
ようになる倍率のことであって、拡大処理前後の格子点
数の比を意味するものではない。図17は、この定義で
いうところの2倍の拡大であり、図18は、3倍の拡大
である。図中、大きな白丸が原点で、小さい黒丸が補間
点である。これらの図から分かるように、整数倍の拡大
においては、補間点のいくつかは格子線上に配置され
る。以下、具体的な高速化手段について説明する。
Although such a cubic interpolation calculation generally requires a large amount of calculation, it can be speeded up depending on the position of the interpolation point, and more specifically, it is limited to an integral multiple expansion. The throughput can be reduced considerably. It should be noted that the integer multiple referred to here 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 process. 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, in the case of integer multiple enlargement, some of the interpolation points are arranged on the grid line. The specific speed-up means will be described below.

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

【数2】----shiki---- によって算出することになり、X軸に関しては格子線上
に存在する場合のY軸上の補間点は、
[Expression 2] ---- shiki ---- will be calculated, and the interpolation points on the Y axis when they are on the grid line with respect to the X axis are

【数3】----shiki---- によって算出することになる。この数2、数3から明ら
かなように拡大処理の演算を簡易化することが可能にな
る。
[Equation 3] It will be calculated by ---- shiki ----. As is clear from the equations 2 and 3, the calculation of the enlargement processing can be simplified.

【0052】(2) 複数のフィルタを用意することに
よる高速化 整数倍のときに格子線上に位置する補間点はもっとも特
異な例であるが、格子線上にない場合でも倍率を固定す
るとともに、補間点ごとのフィルタ処理を用意すれば、
f(t) は定数化できるので演算処理を高速化できる。か
かる場合、f(t) を定数化すると、
(2) Speed-up by preparing a plurality of filters The interpolation point located on the grid line at the time of integer multiple is the most peculiar example, but the magnification is fixed and the interpolation is performed even when it is not on the grid line. If you prepare filter processing for each point,
Since f (t) can be made constant, the arithmetic processing can be speeded up. In such a case, if f (t) is made constant,

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

【0053】ここで、拡大処理において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 doubling in the enlarging process, it is necessary to locally interpolate four points.
In case of expanding to, four filters will be prepared. This is shown in FIG. 19, and assuming that a plurality of filter processes are prepared, f (t) can be made constant. The specific speed-up that realizes the constant f (t) is as follows. First, f
(T) can be made constant and the speed can be increased by itself. This is because the constantization of f (t) means removal of the operation of the cubic interpolation function represented by f (t). Next, the speed can be increased by changing the calculation type. Generally, the same one-time multiplication for the CPU
“Constant * Variable” is faster than “Variable * Variable.” Therefore, when comparing Equation 1 and Equation 4, Equation 4
It turns out that is faster. Furthermore, by using one of the constants and substituting the multiplication of "constant * variable" with the operation table, the speed can be increased.

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

【0055】(3)その他の高速化 (a)2のn乗倍の拡大における特異な補間点の演算式
の簡略化 2のn乗倍の拡大においては(nは1以上の整数)、最
近傍の原点と原点の2分の1にある場所の点を結んだ格
子線(図17の破線)に補間点が置かれるが、X軸上の
場合は、
(3) Other speedups (a) Simplification of arithmetic expression of peculiar interpolation point in n-th power expansion of 2 In n-th power expansion of 2 (n is an integer of 1 or more), Interpolation points are placed on the grid line (broken line in FIG. 17) that connects the origin on the side and the point at a location that is half the origin, but on the X axis,

【数5】----shiki---- により表され、Y軸上の場合は、[Equation 5] ---- shiki ---- Is represented by, and on the Y-axis,

【数6】----shiki---- により表されることになる。この場合、ベクトルの対称
性を利用することにより、 ・16回の演算テーブルへのアクセス ・2回の”定数 * 変数”の演算 だけで補間点を求めることができる。
[Equation 6] It is represented by ---- shiki ----. In this case, by utilizing the symmetry of the vector, it is possible to obtain the interpolation point by only accessing the calculation table 16 times and calculating the "constant * variable" twice.

【0056】(b) 各フィルタ間で共用できる演算の
保存による演算量の節約 補間点数分のフィルタを用意することによって、高速化
できることはすでに述べたが、各フィルタ間で共用でき
る演算を保存することによって演算量を節約することが
できる。 (c)4倍拡大における高速化の例 図20は、4倍拡大におけるコーディング例を示してい
る。上述した高速化が具体的に適用されている行に注釈
を付している。すなわち、高速化は、 ・原点のコピー ・格子線上の簡易式 ・各フィルタ間で共用できる演算の保存 ・2のn乗倍の特異点の簡易式 という手法で表れている。
(B) Saving the operation amount by saving the operations that can be shared between the filters It has already been described that the speed can be increased by preparing the filters for the number of interpolation points, but the operations that can be shared by the filters are saved. By doing so, the amount of calculation can be saved. (C) Example of speeding up in 4 times expansion FIG. 20 shows a coding example in 4 times expansion. The lines to which the above-mentioned speedup is specifically applied are annotated. That is, the speedup is represented by the following methods: -copying the origin-simplified formula on the grid line-storing operations that can be shared between filters-simplified formula with a singularity of n times the power of 2.

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

【0058】従って、図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 preliminarily estimated, and the efficiency of the calculation and the reduction of the calculation amount by that are the same as those in the embodiment by the above-described integral multiplication by the integral multiple. Is. Therefore, it suffices to prepare an optimum filter for each interpolation point.
Here, the filter for each interpolation point is called a child filter, and 25 points of pixels including interpolation points are generated from the origin of 16 points. The entire filter using these child filters is called a filter 16to25. Here, the vector elements required for the child filters that form the filter 16to25 are shown. 1024-times vector element P1: {0, 1024, 0, 0} required to obtain P1 to P5 P2: {VA, VB, VC, VD} P3: {VE, VF, VG, VH} P4 : {VH, VG, VF, VE} P5: {VD, VC, VB, VA} Note that VA to VH are constants that are obtained in advance from the three-dimensional interpolation function and its interpolation position.

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

【0060】ここで、フィルタ16to25を通した場
合のソース画像とデスティネーション画像の大きさの関
係を示す。ソース画像1辺の長さをsLとすると、フィ
ルタ16to25を通して得られるデスティネーション
画像の1辺の長さdLは、以下のようになる。 ・dL = {(sLー1)/4}*5+1 { }は整数部分 ・・・・式(1) となる。ただし、複数の連続した局所的な箇所であっ
て、参照画素の影響がなければ、 ・dL = {sL/4}*5 ・・・・式(2) となる。
Here, the relationship between the sizes of the source image and the destination image when passing through the filter 16to25 will be shown. If 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 ... Formula (1). However, if there are a plurality of continuous local portions and there is no influence of the reference pixel, then: dL = {sL / 4} * 5 ... Equation (2).

【0061】次に、画像データを形成する画素数が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, when the number of pixels forming the image data is a multiple of 4, it will be verified that 1.25 times the interpolation enlargement is performed. Specifically, in this embodiment, it is said that “1280 pixels * 960 pixels”, which is required for interpolation enlargement of a digital camera, is interpolated and enlarged by 1.25 times, and is corrected to “1600 pixels * 1200 pixels”. Verify that. In such a case, the X coordinate and the Y coordinate have a pixel number of 4 * N of 5 when N is an integer.
It indicates that the number of pixels is converted to * N. Substituting 4 * N into sL using the 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)
Since it must be considered based on the following, dL_2 = [4 * (N-1) / 4] * 5 + 1 ... (4) = [N-1 / 4] * 5 + 1 ... (4-1 ) = 5 * N-4 ... (4-2). Expression (4-2) shows a state where the destination image is insufficient by four pixels, and Expression (4-1) is (N−
1) Indicates that the filter 16to25 is passed 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. In addition, the pixels that can be extracted by the filter 16to25 as the destination image are
5 * (N-1), which means that 5N-5 (N-1) = 5 points cannot be generated. Therefore, the remaining 4 of the source image
It is necessary to consider a method for generating the missing 5 points in the destination image from the points.

【0062】このソース画像の残りの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 of generating the insufficient 5 points in the destination image from the remaining 4 points of the source image. In the figure, three points are locally set to four points, that is, 4/3 = 1.3333 ... Here, the vector elements required for this local 1.3-fold interpolation enlargement are as follows. 1024 multiplied vector elements P1: {0, 1024, 0, 0} required to obtain P1 to P4 P2: {VK, VL, VM, VN} P3: {VX, VY, VY, VX} P4 : {VN, VM, VL, VK} Note that VK to VN, VX, VY are constants obtained in advance from the three-dimensional interpolation function and its interpolation position.

【0063】以上のことから、フィルタ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, with respect to the part which cannot be processed by the filter 16to25, the filter 12to25X is in the X direction and the filter 12to25Y is in the Y direction.
To use. In addition, the 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 this filter 12to15Y is shown in FIG. 27 (filter 12to
25X is a figure rotated 90 degrees. ). in this way,
In the 1.25 times interpolation enlargement, the 1.25 times and 1.3 times interpolation enlargements are locally executed. In such a case, the filter 16to25, the filter 12to20X, the filter 12
When the to20X and the filter 9 to 16 are used, the interpolation enlargement can be performed, and accordingly, the interpolation enlargement processing can be speeded up.

【0064】これらのフィルタで必要なベクトル要素を
まとめると、14個のベクトル要素が必要になる。よっ
て、それぞれのベクトル要素に0〜255を掛けた、2
56個の要素から形成される14個の演算テーブルを使
用することにより演算数を減らすことが可能になる。こ
こで、この演算テーブルの要素1個の大きさを4バイト
とすると、1個の演算テーブルの大きさは、1024バ
イト(1KB)である。これが14個あるので、演算テ
ーブルに必要なメモリは14KBとなる。
When the vector elements required by these filters are put together, 14 vector elements are required. Therefore, multiplying each vector element by 0-255, 2
It is possible to reduce the number of operations by using 14 operation tables formed of 56 elements. Here, if 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.

【0065】このように、ソース画像の取得処理後(手
順1)、フォトインスタンス取得処理(手順2)を経た
ら、モジュールの側からドライバの側に向けて処理画像
領域を通知するが(手順3)、このときに各画像処理モ
ジュールで必要な周縁領域を加えていくことにより、要
求された処理画像領域に必要な周縁領域を加えた上でソ
ース画像(S−Unit)をドライバの側が登録し(手
順4)、これを利用して順次画像処理(強調処理と拡大
処理(手順5))を実行することになり、画像処理が周
縁領域を必要とする場合にも極めてシンプルに必要領域
を確保して処理を実行することができる。
In this way, after the source image acquisition processing (procedure 1) and the photo instance acquisition processing (procedure 2), the module side notifies the driver of the processed image area (procedure 3). ) At this time, by adding the necessary peripheral area to each image processing module, the driver side registers the source image (S-Unit) after adding the necessary peripheral area to the requested processed image area. (Procedure 4), the image processing (enhancement processing and enlargement processing (Procedure 5)) is sequentially executed using this, and even when the image processing requires the peripheral area, the necessary area is secured very simply. Then, the processing can be executed.

【図面の簡単な説明】[Brief description of 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 showing a change in a processing unit of a print image.

【図3】オペレーティングシステムに組み込まれた状態
でのプリンタドライバの概略構成を示す図である。
FIG. 3 is a diagram showing a schematic configuration of a printer driver installed 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 an emphasis process.

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

【図7】モジュール側からドライバ側に必要領域を通知
する過程を示す図である。
FIG. 7 is a diagram showing a process of notifying a required 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 a pointer table of S-Unit.

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

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

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

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

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

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

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

【図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 showing a relationship between grid points and interpolation points for triple interpolation.

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

【図20】4倍拡大におけるコーディング例を示す図で
ある。
[Fig. 20] Fig. 20 is a diagram illustrating a coding example in a 4-fold enlargement.

【図21】S−Unitについて処理対象となるものを
分離格納した場合の図である。
[Fig. 21] Fig. 21 is a diagram when S-Units to be processed are separated and stored.

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

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

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

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

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

【図27】フィルタ12to15Yを使用する際の原点
と補間点の相関を示した相関図である。
FIG. 27 is a correlation diagram showing the correlation between the origin and the interpolation point when using the filter 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 ... Mike

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06T 1/20 G06T 5/00 ─────────────────────────────────────────────────── --Continued from the front page (58) Fields surveyed (Int.Cl. 7 , DB name) G06T 1/20 G06T 5/00

Claims (5)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 ドットマトリクス状に配置された画素か
らなる画像を表す領域にオブジェクト画像を適宜配置す
るにあたり、同オブジェクト画像を表現するために複数
の分割オブジェクトデータが生成され、各オブジェクト
画像ごとに所定の画像処理をコンピュータに実行させる
画像処理プログラムを記録した媒体であって、 同画像処理プログラムは、 上記オブジェクト画像の分割オブジェクトデータが入力
されるドライバと、 各オブジェクト画像ごとに画像処理を実行するモジュー
ルとを具備し、 かつ、 上記モジュールは、個別の画像処理を実行する複数の画像処理オブジェクト
を有するとともに 、 上記ドライバは、 上記分割オブジェクトデータをスプールするとともに、 上記モジュールが処理対象とする画像領域のオブジェク
トデータをスプールファイルからメモリ上に展開して利
用可能とする際、上記モジュールの各画像処理オブジェクトが順次、自己
の画像処理において必要とする周縁領域を処理対象とす
る画像領域に加えて、残りの画像処理オブジェクトに通
知していき、最後の画像処理オブジェクトにおいて周縁
領域が加えられた画像領域をメモリ上に展開する ことを
特徴とする画像処理プログラムを記録した媒体。
1. When appropriately arranging an object image in a region representing an image composed of pixels arranged in a dot matrix, a plurality of divided object data are generated to represent the same object image, and each object image is generated. A medium for recording an image processing program for causing a computer to execute predetermined image processing, the image processing program executing a image processing for each object image with a driver to which the divided object data of the object image is input. A plurality of image processing objects for executing individual image processing.
In addition, the driver spools the divided object data, and when the object data of the image area to be processed by the module is expanded from the spool file on the memory and made available , each image of the module is used. Processing objects sequentially, self
The peripheral area required for image processing of
Of the remaining image processing objects in addition to the image area
Knowing, the edge in the last image processing object
A medium on which an image processing program is recorded, in which an image area added with an area is expanded on a memory .
【請求項2】 上記請求項1に記載の画像処理プログラ
ムを記録した媒体において、 上記ドライバは、周縁領域を加えた画像領域を含めた上
で分割オブジェクトデータ単位でメモリ上に展開するこ
とを特徴とする画像処理プログラムを記録した媒体。
2. The medium on which the image processing program according to claim 1 is recorded, wherein the driver includes an image area including a peripheral area and expands the divided object data unit on a memory. A medium on which the image processing program is recorded.
【請求項3】 上記請求項1または請求項2のいずれか
に記載の画像処理プログラムを記録した媒体において、 上記ドライバは、メモリ上に展開した分割オブジェクト
データのうちで利用頻度の高いものを限定して利用可能
にすることを特徴とする画像処理プログラムを記録した
媒体。
3. A medium having the image processing program according to claim 1 or 2 recorded therein, wherein the driver limits the frequently-used divided object data expanded on the memory. A medium having an image processing program recorded thereon, which is characterized by being made available.
【請求項4】 ドットマトリクス状に配置された画素か
らなる画像を表す領域にオブジェクト画像を適宜配置す
るにあたり、同オブジェクト画像を表現するために複数
の分割オブジェクトデータが生成され、各オブジェクト
画像ごとに所定の画像処理を実行する画像処理装置であ
って、 上記オブジェクト画像データの分割オブジェクトデータ
が入力されるデータ管理手段と、 各オブジェクト画像ごとに画像処理を実行するデータ処
理手段とを具備し、 かつ、 上記データ処理手段は、個別の画像処理を実行する複数の画像処理オブジェクト
を有するとともに 、 上記データ管理手段は、 上記分割オブジェクトデータをスプールするとともに、 上記データ処理手段が処理対象とする画像領域のオブジ
ェクトデータをスプールファイルからメモリ上に展開し
て利用可能とする際、上記データ処理手段が有する各画像処理オブジェクトが
順次、自己の画像処理において必要とする周縁領域を処
理対象とする画像領域に加えて、残りの画像処理オブジ
ェクトに通知していき、最後の画像処理オブジェクトに
おいて周縁領域が加えられた画像領域をメモリ上に展開
する ことを特徴とする画像処理装置
4. When appropriately arranging an object image in a region representing an image composed of pixels arranged in a dot matrix, a plurality of divided object data is generated to represent the same object image, and each divided object data is generated. An image processing apparatus for executing a predetermined image processing, comprising: a data management unit to which the divided object data of the object image data is input; and a data processing unit for executing the image processing for each object image, , The data processing means includes a plurality of image processing objects for executing individual image processing.
And has a, the data management unit is configured to spool the divided object data, when the available object data of an image area in which the data processing means is processed to expand from the spool file on the memory, the Each image processing object that the data processing means has
Sequentially, the peripheral area required for self image processing is processed.
In addition to the target image area, the remaining image processing objects
The last image processing object.
The image area to which the peripheral area has been added is expanded on the memory.
The image processing apparatus characterized by
【請求項5】 ドットマトリクス状に配置された画素か
らなる画像を表す領域にオブジェクト画像を適宜配置す
るにあたり、同オブジェクト画像を表現するために複数
の分割オブジェクトデータが生成され、各オブジェクト
画像ごとに所定の画像処理を実行する画像処理方法であ
って、 上記オブジェクト画像データの分割オブジェクトデータ
が入力されるデータ管理工程と、 各オブジェクト画像ごとに画像処理を実行するデータ処
理工程とを具備し、 かつ、 上記データ処理工程は、個別の画像処理を実行する複数の画像処理オブジェクト
を有するとともに 、 上記データ管理手段は、 上記分割オブジェクトデータをスプールするとともに、 上記データ処理手段が処理対象とする画像領域のオブジ
ェクトデータをスプールファイルからメモリ上に展開し
て利用可能とする際、上記データ処理手段が有する各画像処理オブジェクトが
順次、自己の画像処理において必要とする周縁領域を処
理対象とする画像領域に加えて、残りの画像処理オブジ
ェクトに通知していき、最後の画像処理オブジェクトに
おいて周縁領域が加えられた画像領域をメモリ上に展開
する ことを特徴とする画像処理方法。
5. When appropriately arranging an object image in a region representing an image composed of pixels arranged in a dot matrix, a plurality of divided object data are generated to represent the same object image, and each divided object data is generated. An image processing method for executing predetermined image processing, comprising: a data management step of inputting divided object data of the object image data; and a data processing step of executing image processing for each object image, and , The data processing step is a plurality of image processing objects for performing individual image processing.
And has a, the data management unit is configured to spool the divided object data, when the available object data of an image area in which the data processing means is processed to expand from the spool file on the memory, the Each image processing object that the data processing means has
Sequentially, the peripheral area required for self image processing is processed.
In addition to the target image area, the remaining image processing objects
The last image processing object.
The image area to which the peripheral area has been added is expanded on the memory.
An image processing method characterized by:
JP24339999A 1998-08-31 1999-08-30 Medium recording image processing program, image processing apparatus, and image processing method Expired - Fee Related JP3467727B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24339999A JP3467727B2 (en) 1998-08-31 1999-08-30 Medium recording image processing program, image processing apparatus, and image processing method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP24533798 1998-08-31
JP10-245337 1998-08-31
JP24339999A JP3467727B2 (en) 1998-08-31 1999-08-30 Medium recording image processing program, image processing apparatus, and image processing method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2003192383A Division JP2004062894A (en) 1998-08-31 2003-07-04 Medium recorded with image processing program, image processor and image processing method

Publications (2)

Publication Number Publication Date
JP2000149008A JP2000149008A (en) 2000-05-30
JP3467727B2 true JP3467727B2 (en) 2003-11-17

Family

ID=26536237

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24339999A Expired - Fee Related JP3467727B2 (en) 1998-08-31 1999-08-30 Medium recording image processing program, image processing apparatus, and image processing method

Country Status (1)

Country Link
JP (1) JP3467727B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4055927B2 (en) 2000-08-25 2008-03-05 シャープ株式会社 Image processing apparatus and digital camera

Also Published As

Publication number Publication date
JP2000149008A (en) 2000-05-30

Similar Documents

Publication Publication Date Title
JP5643574B2 (en) Image processing apparatus and image processing method
JP4917104B2 (en) System and method for printing artwork including transparency
JP2528376B2 (en) Image contour correction method
JPH07262360A (en) Device and method for image processing
JPH03280154A (en) Integrated image recorder
JP4328926B2 (en) Image data interpolation method, image data interpolation apparatus, and medium on which pixel interpolation program is recorded
US20020060675A1 (en) Method of and system for visually selecting process area for efficient image processing
JP3467727B2 (en) Medium recording image processing program, image processing apparatus, and image processing method
JP4063918B2 (en) Apparatus and method for creating an image containing graphics information for display
JP4089862B2 (en) Image forming apparatus, image forming method, and recording medium
JP2008035489A (en) Image processing apparatus, image processing method and image processing program
JP3467753B2 (en) Image processing system, image processing method, and medium recording image processing module
US9036212B2 (en) Halftone screen generation mechanism
JP4164215B2 (en) Image processing method, apparatus, and recording medium
JPH05342314A (en) Picture processor
JP2004062894A (en) Medium recorded with image processing program, image processor and image processing method
JP2000149006A (en) Medium in which image processing program is recorded, image processor and image processing method
JP3111971B2 (en) Image data interpolation apparatus, image data interpolation method, and medium recording image data interpolation program
JP2004102989A (en) Image processing system, image processing method, and medium recording image processing module
JP2000149007A (en) Medium in which image data interpolation processing program is recorded, image data interpolation processor and image data interpolation processing method
JP3815514B2 (en) High-speed pixel interpolation method and image processing apparatus for enlarged image
JP3809373B2 (en) Printing processing method and apparatus
JP3741183B2 (en) Image data interpolation apparatus, image data interpolation method, and medium on which image data interpolation program is recorded
JP4649097B2 (en) Medium on which image processing control program is recorded
JP4096650B2 (en) Printer driver, computer readable medium, and image data conversion apparatus

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