WO2009157233A1 - デバイスドライバを記憶したコンピュータ読み取り可能な媒体 - Google Patents

デバイスドライバを記憶したコンピュータ読み取り可能な媒体 Download PDF

Info

Publication number
WO2009157233A1
WO2009157233A1 PCT/JP2009/055732 JP2009055732W WO2009157233A1 WO 2009157233 A1 WO2009157233 A1 WO 2009157233A1 JP 2009055732 W JP2009055732 W JP 2009055732W WO 2009157233 A1 WO2009157233 A1 WO 2009157233A1
Authority
WO
WIPO (PCT)
Prior art keywords
image data
resolution
integer
display
driver
Prior art date
Application number
PCT/JP2009/055732
Other languages
English (en)
French (fr)
Inventor
博明 鈴木
昌平 伊藤
Original Assignee
ブラザー工業株式会社
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 ブラザー工業株式会社 filed Critical ブラザー工業株式会社
Publication of WO2009157233A1 publication Critical patent/WO2009157233A1/ja
Priority to US12/976,817 priority Critical patent/US20110090239A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting

Definitions

  • the present invention relates to a computer-readable medium storing a device driver that supplies image data for an image forming device to form an image.
  • a subroutine group called a universal driver has been provided in the OS.
  • the universal driver is provided for each type of peripheral device (device) such as a printer or a display, and is used in common between different devices.
  • a device-specific processing portion that is not supported by the universal driver is called a mini-driver, and is provided by a device developer separately from the universal driver.
  • processing for reducing the size of a spool file of drawing data is performed by a mini driver.
  • the universal driver itself supports only processing parts common to different devices. Specifically, at present, the universal driver acquires drawing data created by an application program and simply generates image data in accordance with the resolution of the image forming device. Therefore, it is impossible to cope with a problem peculiar to a low-resolution image forming device, such as a deterioration in image quality. Specifically, when the image forming device has a low resolution, there is a problem that stepped jaggedness (jaggy) occurs in the oblique lines and curved portions of the image. In particular, when the resolution of the character image data generated from the character code is reduced, the deterioration of the image quality becomes remarkable.
  • stepped jaggedness jaggy
  • the present invention has been made to solve the above-described problems.
  • Image data that can form a high-quality image even with a low-resolution image forming device is obtained using a universal driver provided in a general-purpose operation system.
  • Another object of the present invention is to provide a computer-readable medium storing device drivers that can be efficiently generated and output.
  • the computer executed by a computer, the computer is operated by a drawing data acquisition unit that acquires drawing data serving as a basis of output image data for an image forming device to form an image, and the drawing data acquisition unit.
  • a computer-readable medium storing a device driver having a universal driver provided in a general-purpose operation system that functions as image data generation means for generating first image data from the acquired drawing data.
  • a device driver storing device information storage means for storing a first resolution corresponding to an image that can be formed by the image generating device and a number of gradations that can be expressed by the image forming device; As the second resolution when the means generates the first image data, the first resolution stored in the device information storage means is multiplied by N (where N is an integer of 2 or more).
  • the image data First image data conversion for converting the first image data of the second resolution generated by the generation means into second image data
  • the third resolution which is a resolution obtained by dividing the second resolution by M (where M is an integer), and the number of gradations stored in the device information storage means
  • Second image data conversion means for converting the first image data of the second resolution generated by the data generation means into third image data
  • the first image data conversion means and the second image data conversion means The second image data and the third image data obtained by the conversion by the image data conversion means are functioned as output means for outputting the output image data to the image forming device.
  • FIG. 2 is a block diagram showing a configuration of a personal computer 1.
  • FIG. It is a processing flowchart which shows the flow of a data output process.
  • 3 is a flowchart of main processing of a device driver 210.
  • FIG. 6 is an explanatory diagram illustrating a relationship between sizes (number of pixels) of various image data generated by a device driver. It is explanatory drawing which shows the flow of the process which converts the intermediate image data 31 into the final image data 32 of the normal display size. It is explanatory drawing which shows the flow of a process which converts the intermediate image data 31 into the final image data 33 of the size for an enlarged display. It is explanatory drawing which shows the state at the time of displaying the image of normal size on the display terminal 2.
  • FIG. 6 is an explanatory diagram of image data generated by a normal rendering process using a universal driver 211.
  • FIG. It is explanatory drawing of the intermediate image data produced
  • FIGS. 1 and 2 are used for explaining the technical features that can be adopted by the present invention, and the configuration of the apparatus and the flowcharts of various processes described are not intended to be limited thereto. This is just an illustrative example.
  • PC 1 a personal computer 1 in which the device driver 210 is installed and an outline of the flow of data output processing to the display terminal 2 in the PC 1 will be described with reference to FIGS.
  • PC1 is a well-known personal computer and a general-purpose device. As shown in FIG. 1, the PC 1 includes a CPU 10 that controls the PC 1. Connected to the CPU 10 are a ROM 11 that stores BIOS and the like, and a RAM 12 that temporarily stores various data. Further, an input / output (I / O) interface 13 that mediates data transfer is connected to the CPU 10. A mouse controller 15, key controller 16, video controller 17, communication device 18, and hard disk device (hereinafter referred to as HDD) 20 are connected to the I / O interface 13.
  • I / O interface 13 an input / output interface 13 that mediates data transfer is connected to the CPU 10.
  • a mouse controller 15, key controller 16, video controller 17, communication device 18, and hard disk device (hereinafter referred to as HDD) 20 are connected to the I / O interface 13.
  • a mouse 151 is connected to the mouse controller 15 and is controlled by the mouse controller 15.
  • a keyboard 161 is connected to the key controller 16 and is controlled by the key controller 16.
  • a display 171 is connected to the video controller 17 and is controlled by the video controller 17.
  • the communication device 18 is connected to the LAN 5, and the PC 1 can communicate with an external device such as the display terminal 2 via the communication device 18.
  • the connection method between the PC 1 and the display terminal 2 may be a method other than the LAN 5 such as a USB cable, and may be wired or wireless.
  • the display terminal 2 connected to the PC 1 via the communication device 18 and the LAN 5 is a portable terminal device having a display screen 21 and a plurality of operation keys 22.
  • the user of the display terminal 2 can operate the operation key 22 to display and browse an image based on the image data transmitted from the PC 2 on the display screen 21.
  • the display terminal 2 connected to the PC 1 in this embodiment has a resolution of 100 dpi (dot per inch) and can express four gradations.
  • the number of pixels (pixels) constituting the display screen 21 is 1,188 pixels in the vertical direction and 840 pixels in the horizontal direction.
  • a general-purpose OS 200 a device driver 210 (to be described later), a GDI (Graphic Device Interface) 220, and various application software (hereinafter referred to as an application) 230 such as document creation and numerical calculation are installed in the HDD 20.
  • the GDI controls image processing for an image generation device such as a printing apparatus or display terminal 2 connected to the PC 1.
  • OS 200 for example, Windows (registered trademark) of Microsoft Corporation in the United States can be used.
  • the device driver 210, the GDI 220, and the application 230 all operate on the OS 200.
  • the device driver 210 includes a universal driver 211, a mini driver 212, and a filtering processing module 213.
  • the universal driver 211 is uniformly provided as a subsystem of the OS 200 together with the GDI 220, and manages a common processing part for various output devices. Specifically, the universal driver 211 performs, for example, processing for converting data created on the application 230 into raster image data in a format that the display terminal 2 can receive and display on the display screen 21. Let it be done.
  • the mini-driver 212 and the filtering processing module 213 are created by the developer of the display terminal 2 and provided together with the OS 200 or individually.
  • the mini-driver 212 is a GPD (General Printer Description) file that describes setting information such as output size, resolution, and number of gradations, which is necessary when the universal driver 211 generates raster image data.
  • the filtering processing module 213 is a module that causes the CPU 10 to generate final raster image data by performing resolution conversion and gradation conversion on the raster image data generated by the universal driver 211 and to output the raster image data to the display terminal 2.
  • raster image data generated by the universal driver 211 is referred to as intermediate image data.
  • the raster image data generated from the intermediate image data by the filtering processing module 213 is referred to as final image data.
  • the GDI 220 interprets a command from the application 230 and dynamically links to the universal driver 211. Intermediate image data is generated from the created data.
  • the universal driver 211 once generates intermediate image data having a resolution higher than that of the display terminal 2, that is, intermediate image data having a size larger than the size of the display screen 21 (having a larger number of pixels).
  • the intermediate image data is converted by the filtering processing module 213 into final image data having a normal display size that matches the resolution of the display terminal 2 and final image data having an enlarged display size larger than the normal display size. Is done.
  • final image data of two types of sizes are output to the display terminal 2 and can be displayed on the display screen 21.
  • illustration is omitted to mainly explain the characteristic part of the present embodiment, but data before output is temporarily stored between the GDI 220 and the device driver 210 or at the subsequent stage of the device driver 210.
  • a spool file may be provided and spool processing may be performed.
  • the universal driver 211 receives this via the GDI 220 (FIG. 3, S1).
  • the data received by the universal driver 211 is code data such as characters and coordinate information for document data, and original image data and coordinate information for image data.
  • the universal driver 211 upon receiving the data, refers to the setting information stored in the mini-driver 212 (S2).
  • the mini driver stores output size, resolution, number of gradations, and the like as setting information.
  • the output size is set to 1,188 pixels in the vertical direction corresponding to the size of the display screen 21 ⁇ 840 pixels in the horizontal direction, 400 dpi as the resolution, and 256 as the number of gradations.
  • the resolution of the display terminal 2 is 100 dpi, and the number of gradations that can be expressed is four. That is, the resolution and the number of gradations stored as setting information in the mini-driver 212 are not adapted to the display terminal 2.
  • anti-aliasing processing using a known oversampling method is performed in order to output image data of a high-quality image in which jaggy is not conspicuous to the low-resolution display terminal 2.
  • the image data is converted into low-resolution image data suitable for the display terminal 2.
  • the universal driver 211 performs high-resolution image data generation processing, which is the first half of the processing, a resolution higher than that of the display terminal 2 is stored in the mini-driver 212.
  • the resolution stored in the mini-driver 212 is an integral multiple of the resolution of the display terminal 2 (four times in this embodiment). In this way, by performing processing using an integer as the resolution conversion magnification, resolution conversion without image distortion can be easily performed.
  • the universal driver 211 performs a rendering process for generating intermediate image data from the received data in accordance with the setting information stored in the mini-driver 212 (S3).
  • the resolution when actually displayed later on the display terminal 2 is 100 dpi, but at this stage, 400 dpi intermediate image data that is four times the resolution of the display terminal 2 is generated. More specifically, rendering is performed by dividing each vertical 1,188 pixel ⁇ horizontal 840 pixel pixel corresponding to the size of the display screen 21 into four virtual pixels both vertically and horizontally. That is, as shown in FIG. 4, raster image data of a size (vertical 4,752 pixels ⁇ horizontal 3,360 pixels) obtained by enlarging the number of pixels by 16 times is generated as intermediate image data 31.
  • the intermediate image data generated in this way is output from the universal driver 211 to the filtering processing module 213 (see FIG. 2). Then, in the filtering processing module 213, a filtering process is performed in which the intermediate image data is converted in accordance with the resolution and the number of gradation levels of the display terminal 2 to generate final image data having a normal display size (S4).
  • the normal display size is a size of 1,188 pixels in the vertical direction and 840 pixels in the horizontal direction in accordance with the display screen 21.
  • the intermediate image data is generated by setting the resolution at the time of rendering by the universal driver 211 to 400 dpi, which is four times the resolution 100 dpi of the display terminal 2. Therefore, if the filtering process is performed with the resolution set to 1/4 times the rendering, that is, the resolution of the display terminal 2 is 100 dpi, and the number of gradations is 4, as shown in FIG.
  • the final image data 32 having a normal display size (vertical 1,188 pixels ⁇ horizontal 840 pixels) that matches the setting information of the display terminal 2 can be generated.
  • a filtering process is performed in which intermediate image data is separately converted in accordance with the setting information of the display terminal 2 to generate final image data having a size for enlarged display (S5).
  • a fixed size is used as the enlarged display size.
  • the intermediate image data is generated by dividing each pixel of vertical 1,188 pixels ⁇ horizontal 840 pixels corresponding to the normal display size into 16 virtual pixels. Therefore, if the intermediate image data is reduced to 1/9 times the number of pixels and a filtering process is performed to set the number of gradations to 4, as shown in FIG. 4, the enlarged display size (vertical 1,584 pixels ⁇ horizontal 1) is obtained. , 120 pixels) can be converted into final image data 33. That is, generating the final image data 33 having the enlarged display size is equivalent to converting the intermediate image data to a resolution obtained by multiplying 400 dpi, which is a resolution at the time of rendering, by 1/3.
  • the intermediate image data 31 is subjected to resolution conversion and gradation conversion through the processing in steps S4 and S5 described above, thereby obtaining final image data 32, 33 (two types of sizes).
  • a specific example in the case of generating (see FIG. 4) will be described.
  • step S4 for generating the final image data 32 of the normal display size the intermediate image data 31 is reduced to 1/16 times the number of pixels by setting the resolution to 1/4 times that at the time of rendering.
  • each of the 16 virtual pixel groups in the intermediate image data 31 in the vertical and horizontal directions is converted into one pixel.
  • each pixel is represented by 256 gradations from 0 to 255, but after conversion, it is represented by 4 gradations.
  • these 16 pixel groups are converted into one pixel having an averaged gradation level 79.5.
  • the gradation level 79.5 is converted to 1 in accordance with the gradation number 4 of the display terminal 2 by gradation conversion processing.
  • final image data 32 having a normal display size is generated.
  • step S5 for generating the final image data 33 of the enlarged display size the intermediate image data 31 is reduced to a size of 1/9 in terms of the number of pixels by setting the resolution to 1/3 times that during rendering. . That is, each of the nine virtual pixel groups of three in the intermediate image data 31 in the vertical and horizontal directions is converted into one pixel. Further, as described above, the 256 gradations of the intermediate image data 31 are converted into 4 gradations.
  • the final image data 32 and 33 of the normal display size and the enlarged display size respectively generated in steps S4 and S5 are transmitted via the I / O interface 13 and the communication device 18 (see FIG. 1). It is output to the display terminal 2 (S6). After the final image data 32 and 33 are output, the processing shown in FIG.
  • the outputted final image data 32 of the normal display size is generated in a length of 1,188 pixels ⁇ width of 840 pixels in accordance with the size of the display screen 21 of the display terminal 2. Accordingly, as shown in FIG. 7, the display terminal 2 can display a normal size image on the display screen 21 of the display terminal 2 based on the final image data 32.
  • the final image data 33 of the enlarged display size is generated with vertical length of 1,584 pixels ⁇ horizontal length of 1,120 pixels, which is 4/3 times the horizontal display size. Therefore, when an image based on the final image data 33 is displayed, for example, as shown in FIG. 8, the image of the enlarged size is divided vertically by rotating the direction of the display terminal 2 by 90 degrees. Can be displayed.
  • the normal size image can be displayed on the display screen 21 in the normal orientation of the display terminal 2, and the enlarged size image can be displayed vertically divided by rotating the display terminal 2 by 90 degrees. Therefore, in this embodiment, the enlargement ratio when generating the intermediate image data 31 and the reduction ratio when converting to the final image data 32 and 33 are determined in advance based on the aspect ratio of the display screen 21. Yes. Specifically, the number of pixels in the vertical direction 1,188 and the number of pixels in the horizontal direction 840 of the display screen 21 are approximated by an integer ratio of two integers, at least one of which is a single digit integer. Of the integers, the larger integer is N, and the smaller integer is M. At the time of approximation, for example, an integer ratio value using an integer from 1 to 20 and an integer from 1 to 9 is calculated, and compared to the value of the aspect ratio of the display screen 21, the closest value is obtained. A corresponding integer ratio may be selected.
  • the obtained integer N is used for the resolution when generating the intermediate image data 31 and the resolution when generating the final image data 32 of the normal display size.
  • the integer M is used as the resolution when generating the final image data 33 having the enlarged display size.
  • a resolution obtained by multiplying the resolution of the display terminal 2 by an integer N is stored in the mini-driver 212 as the resolution at the time of rendering.
  • the intermediate image data 31 having the number of pixels is generated.
  • the final image data 32 and 33 having the normal display size and the enlarged display size are generated by being multiplied by [1/3].
  • the display screen 21 By setting the enlargement ratio when generating the intermediate image data 31 and the reduction ratio when generating the final image data 32 and 33 based on the aspect ratio of the display screen 21, the display screen 21. Can be used efficiently to display an enlarged image.
  • each of P1 to P4 in FIGS. 9 to 11 corresponds to one of the pixels constituting the display screen 21 of the display terminal 2.
  • Image data generated from character code data by normal rendering processing using only the current universal driver 211 is expressed only by gradation levels 0 and 255 even if the number of gradations of the setting information is 256.
  • Two-color data Therefore, when an image based on this data is displayed, as shown in FIG. 9, the oblique curved portion existing in a part of the character is painted in two colors (white or black in the figure) stepwise. become. Therefore, jaggy is more conspicuous as it is displayed at a lower resolution.
  • the intermediate image data 31 is reduced to 1/16 times the number of pixels in accordance with the filtering process of step S4 in FIG. Furthermore, the gradation is converted into four levels according to the number of gradations 4 of the display terminal 2. Specifically, the gradations of the 16 virtual pixel groups constituting each of the pixels P1 to P4 are averaged and converted to one pixel having four-level data with gradation levels from 0 to 3.
  • the intermediate color of gradation level 2 is arranged in the pixels P2 and P3 where the oblique curve portion exists, jaggies are hardly noticeable and a smooth final image can be obtained.
  • the resolution of the intermediate image data 31 is the final image data 33 of the enlarged display size. Higher than the resolution. Therefore, similarly, the effect of making jaggies less noticeable can be obtained with respect to the final image data 33 having the enlarged display size.
  • the universal driver 211 once generates the intermediate image data 31 having a resolution higher than the resolution of the display terminal 2.
  • the filtering processing module 213 converts the intermediate image data 31 into a resolution and gradation in accordance with the display terminal 2, thereby obtaining the final image data 32 having the normal display size and the final image data 33 having the enlarged display size.
  • Each is generated and output to the display terminal 2.
  • the universal driver 211 provided by the OS 200 has a mini-driver 212 that sets a resolution higher than that of the display terminal 2 and final images of two sizes for normal display and enlarged display according to the display terminal 2.
  • Such processing can be realized with a simple configuration in which a filtering processing module 213 for converting the data 32 and 33 is added.
  • the processing until the generation of the intermediate image data 31 by the universal driver 211 is a common processing. Therefore, since it is not necessary to perform the process of generating the intermediate image data 31 at a high resolution twice for each of the normal display size and the enlarged display size, the final image data 32 of two types of sizes can be efficiently processed. 33 can be generated.
  • the configuration shown in the above-described embodiment is an example, and it goes without saying that the present invention can be modified in various ways.
  • the values of the integer N and the integer M are determined based on the aspect ratio of the display screen 21 of the display terminal 2, the enlargement ratio when the intermediate image data 31 is generated, and the final image data 32. , 33 is set.
  • an enlarged-size image can be divided into upper and lower parts in a state in which the display terminal 2 is rotated 90 degrees and turned horizontally.
  • the values of the integer N and integer M for setting the enlargement ratio when generating the intermediate image data 31 and the reduction ratio when converting to the final image data 32 and 33 are not necessarily the aspect ratio of the display screen 21. There is no need to make a decision based on it.
  • the integer N and the integer M are determined regardless of the aspect ratio of the display screen 21, for example, the integer N can be 6 and the integer M can be 3.
  • the example in which the final image data 32 having the normal display size and the final image data 33 having the enlarged display size are generated has been described.
  • the final image data having a reduced display size may be generated.
  • the values of the integer N and the integer M described in the above embodiment may be determined so as to satisfy the relationship of M> N.
  • the values of the integer N and the integer M must be M ⁇ N. It becomes.
  • M ⁇ N M is 2 or more, and N is 3 or more, the resolution of the final image data 33 of the enlarged display size is always higher than the resolution at the time of rendering the intermediate image data 31. That is, the final image data 33 having the enlarged display size is also generated by the anti-aliasing process. Therefore, both the normal size image and the enlarged size image can be made smooth and high-quality with less jaggy.
  • the resolution of the final image data 33 of the enlarged display size is equal to the resolution at the time of rendering of the intermediate image data 31, so that the jaggy of the enlarged image is reduced. There is little effect to do.
  • the final image data 33 of the enlarged display size has the same resolution as the intermediate image data 31 and the number of gradations is adjusted to the display terminal 2. Therefore, there is an advantage when the final image data 33 having an enlarged display size is edited by the PC 1 later. Specifically, in step S4 of FIG. 3, the edited final image data 33 for the enlarged display size is converted in the same manner as the final image data 32 for the normal display size is generated from the intermediate image data 31. By doing so, it is possible to easily generate the edited final image data of the normal display size.
  • the integer N and the integer M may be determined in consideration of an allowable processing speed. From this viewpoint, it is desirable that at least one of the integer N and the integer M is a one-digit integer. It is more desirable that both are single-digit integers.
  • the integers N and M do not necessarily have to be one fixed value, and the user selects a desired value flexibly from a plurality of candidates prepared in advance in consideration of image quality and processing speed. You can do it.
  • N can be selected from three candidates of 2, 4, and 8.
  • the values of the integers N and M are selected from a setting screen created by the user interface (not shown) of the device driver 10 created by the developer of the display terminal 2 in the same manner as the mini driver 212 and the filtering processing module 213. I can do it.
  • the resolution at the time of rendering the intermediate image data 31 based on the selected integer N is stored in the mini driver 212.
  • the resolutions of the final image data 32 and 33 having the normal display size and the enlarged display size based on the selected integers N and M are set in the filtering processing module.
  • the integer N that defines the resolution when generating the intermediate image data 31 is any integer. Rounding processing can be eliminated.
  • the resolution at the time of rendering for generating the intermediate image data 31 is N ⁇ M times the resolution of the display terminal 2 regardless of the number of pixels in the vertical and horizontal directions of the display screen 21,
  • the rounding process can be made unnecessary.
  • the integer M is not necessarily about the number of pixels in the vertical and horizontal directions of the intermediate image data 31. It need not be a number.
  • the output destination of the image data may be a printing apparatus that is an example of another image forming device. Good. Also in this case, as in the above-described embodiment, intermediate image data is once generated at a resolution higher than the resolution of the printing apparatus, and then the set paper size and enlargement are set in accordance with the resolution and the number of gradations of the printing apparatus. It is only necessary to perform conversion to two types of final image data of size and output.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

 デバイスドライバ(210)は、ユニバーサルドライバ(211)、ミニドライバ(212)及びフィルタリング処理モジュール(213)を備える。前記ユニバーサルドライバ(211)は、描画データをGDI(220)を経由して受信し、前記ミニドライバ(212)の設定情報を参照して、表示端末(2)の表示画面(21)の解像度にN(Nは2以上の整数)を乗じた解像度の中間イメージデータを生成する。前記フィルタリング処理モジュール(213)は、前記中間イメージデータを、前記表示画面(21)の解像度に合わせた通常表示用の最終イメージデータに変換するとともに、前記中間イメージデータの解像度をM(MはM<Nを満たす整数)で除した拡大表示用の解像度の最終イメージデータに変換する。前記2種類の最終イメージデータは、前記表示端末(2)に出力され、前記表示画面(21)における通常表示及び拡大表示に用いられる。

Description

デバイスドライバを記憶したコンピュータ読み取り可能な媒体
 本発明は、画像形成デバイスが画像を形成するための画像データを供給するデバイスドライバを記憶したコンピュータ読み取り可能な媒体に関する。
 近年、マイクロソフト社のWindows(登録商標)に代表される汎用のオペレーティングシステム(以下、OSという)の普及に伴い、ユニバーサルドライバと呼ばれるサブルーチン群がOSで提供されるようになった。ユニバーサルドライバは、プリンタ、ディスプレイ等の周辺機器(デバイス)の種類毎に提供され、異なるデバイス間でも共通して利用される。ユニバーサルドライバでサポートされないデバイス独自の処理部分はミニドライバと呼ばれ、ユニバーサルドライバとは別に、デバイス開発者によって提供される。例えば、特許文献1に開示されているユニバーサルドライバを用いた印刷システムでは、ミニドライバにより、描画データのスプールファイルのサイズを小さくする処理が行われる。
特開2005-148954号公報
 ユニバーサルドライバ自体は、異なるデバイスに共通の処理部分だけをサポートする。具体的には、現状では、ユニバーサルドライバは、アプリケーションプログラムで作成された描画データを取得し、単に画像形成デバイスの解像度に合わせてイメージデータを生成するのみである。したがって、画質の低下という、低解像度の画像形成デバイスに特有の問題に対応することができない。具体的には、画像形成デバイスが低解像度の場合には、画像の斜線や曲線部分に階段状のギザギザ(ジャギー)が発生してしまうという問題がある。特に、文字コードから生成された文字のイメージデータを低解像度化した場合に、画質の低下が顕著となる。また、ユーザが画像形成デバイスで通常サイズ(元の画像のピクセル数)以外のサイズ(非通常サイズ)の画像の表示や印刷を行いたい場合が考えられる。そこで、非通常サイズのイメージデータを別途生成し、通常サイズのイメージデータとともに画像形成デバイスに出力しておくことが考えられるが、同様の処理を2回繰り返して行えば、処理速度が低下するという問題がある。
 本発明は、上記問題点を解決するためになされたものであり、汎用のオペレーションシステムで提供されるユニバーサルドライバを利用して、低解像度の画像形成デバイスでも高画質な画像を形成できるイメージデータを、効率よく複数生成し、出力することが可能なデバイスドライバを記憶したコンピュータ読み取り可能な媒体を提供することを目的とする。
 本発明によれば、コンピュータ上で実行され、前記コンピュータを、画像形成デバイスが画像を形成するための出力画像データの基となる描画データを取得する描画データ取得手段、および前記描画データ取得手段によって取得された前記描画データから第1のイメージデータを生成するイメージデータ生成手段として機能させる、汎用のオペレーションシステムで提供されるユニバーサルドライバを備えたデバイスドライバを記憶したコンピュータ読み取り可能な媒体が提供される。デバイスドライバは、前記コンピュータを、前記画像生成デバイスが形成可能な画像に対応する第1の解像度、および、前記画像形成デバイスが表現可能な階調数を記憶するデバイス情報記憶手段、前記イメージデータ生成手段が前記第1のイメージデータを生成する際の第2の解像度として、前記デバイス情報記憶手段に記憶された前記第1の解像度にN(ただし、Nは2以上の整数である)を乗じた解像度を記憶する中間解像度記憶手段、前記第2の解像度をNで除した解像度である前記第1の解像度、および、前記デバイス情報記憶手段に記憶された前記階調数に基づいて、前記イメージデータ生成手段によって生成された前記第2の解像度の前記第1のイメージデータを、第2のイメージデータに変換する第1のイメージデータ変換手段、前記第2の解像度をM(ただし、Mは整数である)で除した解像度である第3の解像度、および、前記デバイス情報記憶手段に記憶された前記階調数に基づいて、前記イメージデータ生成手段によって生成された前記第2の解像度の前記第1のイメージデータを、第3のイメージデータに変換する第2のイメージデータ変換手段、ならびに前記第1のイメージデータ変換手段および前記第2のイメージデータ変換手段によって変換して得られた前記第2のイメージデータおよび前記第3のイメージデータを、前記出力画像データとして前記画像形成デバイスに出力する出力手段
として機能させる。
パーソナルコンピュータ1の構成を示すブロック図である。 データ出力処理の流れを示す処理フロー図である。 デバイスドライバ210のメイン処理のフローチャートである。 デバイスドライバ210により生成される各種イメージデータのサイズ(ピクセル数)の関係を示す説明図である。 中間イメージデータ31を通常表示用サイズの最終イメージデータ32に変換する処理の流れを示す説明図である。 中間イメージデータ31を拡大表示用サイズの最終イメージデータ33に変換する処理の流れを示す説明図である。 表示端末2で通常サイズの画像を表示した場合の状態を示す説明図である。 表示端末2で拡大サイズの画像を表示した場合の状態を示す説明図である。 ユニバーサルドライバ211を用いた通常のレンダリング処理で生成されたイメージデータの説明図である。 本実施形態の処理で生成された中間イメージデータの説明図である。 本実施形態の処理で生成された通常表示用サイズの最終イメージデータの説明図である。
 以下、図1~図11を参照して、本発明の一実施の形態について説明する。なお、参照する図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている装置の構成、各種処理のフローチャートなどは、それのみに限定する趣旨ではなく、単なる説明例である。
 まず、図1および図2を参照して、デバイスドライバ210がインストールされるパーソナルコンピュータ(以下、PCという)1の構成と、PC1における表示端末2へのデータ出力処理の流れの概略について説明する。
 PC1は、周知のパーソナルコンピュータであり、汎用型の装置である。図1に示すように、PC1は、PC1の制御を司るCPU10を備えている。CPU10には、BIOS等を記憶したROM11と、各種のデータを一時的に記憶するRAM12が接続されている。さらにCPU10には、データの受け渡しの仲介を行う入出力(I/O)インターフェース13が接続されている。I/Oインターフェース13には、マウスコントローラ15、キーコントローラ16、ビデオコントローラ17、通信装置18、およびハードディスク装置(以下、HDDという)20が接続されている。
 マウスコントローラ15には、マウス151が接続されており、マウスコントローラ15によって制御されている。キーコントローラ16には、キーボード161が接続されており、キーコントローラ16によって制御されている。ビデオコントローラ17には、ディスプレイ171が接続されており、ビデオコントローラ17によって制御されている。
 通信装置18は、LAN5に接続されており、PC1は、通信装置18を介して、表示端末2等の外部機器と通信を行うことができる。なお、PC1と表示端末2の接続方法は、USBケーブル等、LAN5以外の他の方法であってもよく、有線、無線の別も問わない。通信装置18およびLAN5を介してPC1に接続される表示端末2は、表示画面21および複数の操作キー22を有する携帯型の端末装置である。表示端末2のユーザは、操作キー22を操作して、PC2から送信されたイメージデータに基づく画像を表示画面21に表示させ、閲覧することができる。なお、本実施形態でPC1に接続される表示端末2は、解像度が100dpi(dot per inch)であり、4階調の階調表現が可能である。また、表示画面21を構成する画素(ピクセル)の数は、縦方向1,188ピクセル、横方向840ピクセルである。
 HDD20には、図2に示す、汎用のOS200、後述するデバイスドライバ210、GDI(Graphic Device Interface)220、および、文書作成や数値計算等の各種のアプリケーションソフトウェア(以下、アプリケーションという)230等がインストールされている。GDIは、PC1に接続される印刷装置や表示端末2等の画像生成デバイスに対して画像処理をコントロールする。OS200としては、例えば、米国マイクロソフト社のWindows(登録商標)を使用することができる。デバイスドライバ210、GDI220、およびアプリケーション230は、すべてOS200上で動作する。
 図2に示すように、デバイスドライバ210は、ユニバーサルドライバ211、ミニドライバ212、およびフィルタリング処理モジュール213を備えている。ユニバーサルドライバ211は、GDI220とともに、OS200のサブシステムとして一律に提供され、様々な出力デバイスについて共通の処理部分を司る。具体的には、ユニバーサルドライバ211は、例えば、アプリケーション230上で作成されたデータを、表示端末2が受信して表示画面21に表示することができる形式のラスタイメージデータに変換する処理をCPU10に行わせる。
 ミニドライバ212およびフィルタリング処理モジュール213は、表示端末2の開発者により作成され、OS200とともに、あるいは個別に提供される。ミニドライバ212は、ユニバーサルドライバ211がラスタイメージデータを生成する際に必要な、出力サイズ、解像度、階調数等の設定情報を記述するGPD(General Printer Description)ファイルである。フィルタリング処理モジュール213は、CPU10に、ユニバーサルドライバ211で生成されたラスタイメージデータを解像度変換および階調変換することにより、最終的なラスタイメージデータを生成させ、表示端末2へ出力させるモジュールである。以下の説明では、ユニバーサルドライバ211によって生成されるラスタイメージデータを中間イメージデータという。フィルタリング処理モジュール213で中間イメージデータから生成されるラスタイメージデータを最終イメージデータという。
 次に、図2を参照して、PC1における表示端末2へのデータ出力処理の流れの概略について説明する(詳細は後述)。まず、アプリケーション230において、表示端末2への出力要求がなされると、GDI220は、アプリケーション230からのコマンドを解釈し、ユニバーサルドライバ211に動的にリンクして、ユニバーサルドライバ211において、アプリケーション230上で作成されたデータから中間イメージデータを生成させる。
 このとき、ユニバーサルドライバ211によってミニドライバ212に設定された情報が参照され、その設定情報に基づいて中間イメージデータが生成される。通常、ミニドライバ212が設定情報として有する解像度は、表示端末2の実際の解像度であるが、本実施形態では、ミニドライバ212には、表示端末2の解像度よりも高い解像度が設定されている。よって、ユニバーサルドライバ211によって、一旦、表示端末2の解像度よりも高い解像度の中間イメージデータ、すなわち、表示画面21のサイズよりも大きいサイズの(ピクセル数が多い)中間イメージデータが生成される。
 その後、この中間イメージデータは、フィルタリング処理モジュール213によって、表示端末2の解像度に合わせた通常表示用サイズの最終イメージデータ、および、通常表示用サイズよりも大きい拡大表示用サイズの最終イメージデータに変換される。そして、2種類のサイズの最終イメージデータが表示端末2に出力され、表示画面21での表示が可能となる。図2では、本実施形態の特徴部分を主として説明するために図示を省略しているが、GDI220とデバイスドライバ210の間、またはデバイスドライバ210の後段に、出力前のデータを一時的に保存するスプールファイルが設けられ、スプール処理が行われてもよい。
 次に、図3~図8を参照して、デバイスドライバ210がCPU10に実行させる処理の詳細について説明する。
 図2を参照して前述したように、アプリケーション230上で文書データ、画像データ等について出力要求がなされると、GDI220を経由して、ユニバーサルドライバ211がこれを受信する(図3、S1)。ここでユニバーサルドライバ211が受信するデータは、文書データについては文字等のコードデータおよび座標情報等であり、画像データについては原画像データおよび座標情報等である。
 図3に示すように、ユニバーサルドライバ211は、データを受信すると、ミニドライバ212に記憶された設定情報を参照する(S2)。ミニドライバには、設定情報として、出力サイズ、解像度、および階調数等が記憶されている。本実施形態では、出力サイズとして、表示画面21のサイズに対応する縦1,188ピクセル×横840ピクセル、解像度として400dpi、階調数として256が設定されている。前述したように、表示端末2の解像度は100dpiであり、表現可能な階調数は4である。すなわち、ミニドライバ212に設定情報として記憶される解像度および階調数は、表示端末2に合わせたものではない。
 本実施形態では、低解像度の表示端末2に対してジャギーが目立ちにくい高画質の画像のイメージデータを出力するために、公知のオーバーサンプリング法を用いたアンチエイリアス処理が行われる。具体的には、一旦、高解像度のイメージデータが生成された後、そのイメージデータが、表示端末2に合わせた低解像度のイメージデータに変換される。ユニバーサルドライバ211では、前半の処理である高解像度のイメージデータ生成処理が行われるため、表示端末2よりも高い解像度がミニドライバ212に記憶されている。ミニドライバ212に記憶される解像度は、表示端末2の解像度の整数倍(本実施形態では、4倍)である。このように、解像度の変換倍率に整数を用いた処理とすることで、画像の歪のない解像度変換を容易に行うことができる。
 ユニバーサルドライバ211は、ミニドライバ212に記憶された設定情報に合わせて、受信したデータから中間イメージデータを生成するレンダリング処理を行う(S3)。後に表示端末2で実際に表示されるときの解像度は100dpiであるが、この段階では、表示端末2の解像度の4倍である400dpiの中間イメージデータが生成される。より具体的には、表示画面21のサイズに対応する縦1,188ピクセル×横840ピクセルの各ピクセルを、縦横ともに4個ずつの仮想的なピクセルに分割して、レンダリングが行われる。つまり、図4に示すように、ピクセル数を16倍に拡大したサイズ(縦4,752ピクセル×横3,360ピクセル)のラスタイメージデータが、中間イメージデータ31として生成されることとなる。
 このようにして生成された中間イメージデータは、ユニバーサルドライバ211から、フィルタリング処理モジュール213(図2参照)に出力される。そして、フィルタリング処理モジュール213において、中間イメージデータを、表示端末2の解像度および階調数に合わせて変換することにより、通常表示用サイズの最終イメージデータを生成する、フィルタリング処理が行われる(S4)。通常表示用サイズとは、表示画面21に合わせた、縦1,188ピクセル×横840ピクセルのサイズである。
 前述したように、中間イメージデータは、ユニバーサルドライバ211によるレンダリング時の解像度を、表示端末2の解像度100dpiの4倍である400dpiとすることにより生成されている。よって、解像度をレンダリング時の1/4倍、すなわち、表示端末2の解像度である100dpiとし、階調数を4とするフィルタリング処理を行えば、図4に示すように、中間イメージデータ31から、表示端末2の設定情報に合わせた通常表示用サイズ(縦1,188ピクセル×横840ピクセル)の最終イメージデータ32を生成することができる。
 さらに、フィルタリング処理モジュール213において、別途、中間イメージデータを、表示端末2の設定情報に合わせて変換することにより、拡大表示用サイズの最終イメージデータを生成する、フィルタリング処理が行われる(S5)。本実施形態では、拡大表示用サイズに固定のサイズを用いている。具体的には、通常表示用サイズ(縦1,188ピクセル×横840ピクセル)の縦横各4/3倍である縦1,584ピクセル×横1,120ピクセルが拡大表示用サイズとして採用されている。
 前述したように、中間イメージデータは、通常表示用サイズに対応する縦1,188ピクセル×横840ピクセルの各ピクセルを、16個の仮想的なピクセルに分割して生成されている。よって、中間イメージデータをピクセル数で1/9倍に縮小し、階調数を4とするフィルタリング処理を行えば、図4に示すように、拡大表示用サイズ(縦1,584ピクセル×横1,120ピクセル)の最終イメージデータ33に変換することができる。すなわち、拡大表示用サイズの最終イメージデータ33を生成することは、中間イメージデータを、レンダリング時の解像度である400dpiに1/3を乗じた解像度に変換することに等しい。
 以下に、図5および図6を参照して、前述したステップS4およびS5の処理を通して、中間イメージデータ31を解像度変換および階調変換することにより、2種類のサイズの最終イメージデータ32、33(図4参照)を生成する場合の具体例について説明する。
 通常表示用サイズの最終イメージデータ32を生成するステップS4では、解像度をレンダリング時の1/4倍とすることにより、中間イメージデータ31は、ピクセル数で1/16倍のサイズに縮小される。つまり、中間イメージデータ31中の縦横各4個の16個の仮想的なピクセル群が、各々、1個のピクセルに変換されることになる。また、中間イメージデータ31では、各ピクセルが0~255までの256階調で表されているが、変換後は4階調で表されることになる。
 図5に示す、中間イメージデータ31の左上端に位置する、階調レベル255のピクセル4個、階調レベル63のピクセル4個、および階調レベル0のピクセル8個を含む16個のピクセル群を例とする。まず、解像度変換処理により、これら16個のピクセル群が、平均化された階調レベル79.5を有する1個のピクセルに変換される。続いて、階調変換処理によって、階調レベルの79.5が、表示端末2の階調数4に合わせて、1に変換される。中間イメージデータ31を構成するすべての仮想的なピクセルが同様に処理されることにより、通常表示用サイズの最終イメージデータ32が生成される。
 一方、拡大表示用サイズの最終イメージデータ33を生成するステップS5では、解像度をレンダリング時の1/3倍とすることにより、中間イメージデータ31は、ピクセル数で1/9のサイズに縮小される。つまり、中間イメージデータ31中の縦横各3個の9個の仮想的なピクセル群が、各々、1個のピクセルに変換されることになる。また、前述したように、中間イメージデータ31の256段階の階調が、4階調に変換される。
 図6に示す、中間イメージデータ31の左上端に位置する、階調レベル255のピクセル2個、階調レベル63のピクセル1個、および階調レベル0のピクセル6個を含む9個のピクセル群を例とする。まず、解像度変換処理により、これら9個のピクセル群が、平均化された階調レベル63.7を有する1個のピクセルに変換される。続いて、階調変換処理によって、階調レベルの63.7が、表示端末2の階調数4に合わせて、0に変換される。中間イメージデータ31を構成するすべての仮想的なピクセルが同様に処理されることにより、拡大表示用サイズの最終イメージデータ33が生成される。
 このようにして、ステップS4およびS5でそれぞれ生成された通常表示用サイズおよび拡大表示用サイズの最終イメージデータ32、33は、I/Oインターフェース13および通信装置18(図1参照)を介して、表示端末2に出力される(S6)。最終イメージデータ32、33の出力後、図3に示す処理は終了する。
 出力された通常表示用サイズの最終イメージデータ32は、表示端末2の表示画面21のサイズに合わせた縦1,188ピクセル×横840ピクセルで生成されている。よって、表示端末2では、図7に示すように、この最終イメージデータ32に基づいて、表示端末2の表示画面21いっぱいに通常サイズの画像を表示することができる。一方、拡大表示用サイズの最終イメージデータ33は、通常表示用サイズの縦横各4/3倍である縦1,584ピクセル×横1,120ピクセルで生成されている。よって、この最終イメージデータ33に基づく画像が表示される場合には、例えば、図8に示すように、表示端末2の向きを90度回転させることにより、拡大サイズの画像を上下に分割して表示することができる。
 このように、通常サイズの画像は表示端末2の通常の向きで表示画面21いっぱいに表示し、拡大サイズの画像は表示端末2の向きを90度回転させて上下分割表示することを可能とするために、本実施形態では、中間イメージデータ31を生成する際の拡大率と、最終イメージデータ32、33に変換する際の縮小率とを、表示画面21のアスペクト比に基づいて予め決定している。具体的には、表示画面21の縦方向のピクセル数1,188と横方向のピクセル数840が、少なくとも一方が1桁の整数である2つの整数による整数比で近似され、得られた2つの整数のうち大きい方の整数がN、小さい方の整数がMとされる。近似の際には、例えば、1~20までの整数と1~9までの整数とを用いた整数比の値が算出され、表示画面21の縦横比の値と比較して、最も近い値に対応する整数比が選択されればよい。
 得られた整数Nは、中間イメージデータ31を生成する時の解像度および通常表示用サイズの最終イメージデータ32を生成する際の解像度に使用される。整数Mは、拡大表示用サイズの最終イメージデータ33を生成する際の解像度に使用される。具体的には、表示端末2の解像度に整数Nを乗じた解像度が、レンダリング時の解像度としてミニドライバ212に記憶される。表示端末2の解像度(=レンダリング時の解像度×1/N)、および、表示端末2の解像度にN/Mを乗じた解像度(=レンダリング時の解像度×1/M)に応じた縮小率が、それぞれ、フィルタリング処理モジュール213に設定値として記憶される。
 本実施形態の場合、表示画面21の縦横比の値は、1.4142・・・であり、4:3の比の値である1.3333・・・に最も近い。よって、N=4、M=3と決定されている。そして、ステップS3で中間イメージデータ31が生成される際には、ミニドライバ212に記憶された、表示端末2の解像度(100dpi)の4倍の解像度(400dpi)を用いて、通常サイズの16(=4×4)倍のピクセル数の中間イメージデータ31が生成される。
 続いて、フィルタリング処理モジュールに記憶された設定値に応じて、中間イメージデータ31が、それぞれピクセル数で1/16(=1/4×1/4)倍および1/9(=1/3×1/3)倍されることにより、通常表示用サイズおよび拡大表示用サイズの最終イメージデータ32、33が生成される。このように、表示画面21のアスペクト比に基づいて、中間イメージデータ31を生成する際の拡大率と、最終イメージデータ32、33を生成する際の縮小率とを設定することにより、表示画面21を効率的に使用して、拡大された画像を表示することができる。
 以下に、図9~図11を参照して、文字のデータから通常表示用サイズの最終イメージデータ32が生成された場合を例として、本実施形態の処理によるジャギーの低減効果について説明する。図9~図11におけるP1~P4は、それぞれ、表示端末2の表示画面21を構成するピクセルの1つに対応している。
 現状のユニバーサルドライバ211のみを用いた通常のレンダリング処理によって文字のコードデータから生成されるイメージデータは、設定情報の階調数が256であっても、階調レベル0と255のみで表現される2色のデータとなる。よって、このデータに基づくイメージが表示されると、図9に示すように、文字の一部に存在する斜めの曲線部分は、階段状に2色(図の白または黒)に塗り分けられることになる。よって、低解像度で表示されるほどジャギーが目立ちやすい。
 図9が、表示端末2の解像度である100dpiでレンダリング処理した結果得られたイメージだとする。一方、図3のステップS3で、表示端末2の解像度の4倍の解像度である400dpiでレンダリング処理を行った場合、図9のP1~P4の各ピクセルは、図10に示すように、縦・横各4倍、すなわち16個の仮想的なピクセルに分割される。そして、各ピクセルが2色で表現された中間イメージデータ31が得られることになる。その結果、階段状のジャギーは、図9の場合よりも細かくなる。
 さらに、通常表示用サイズの最終イメージデータ32の場合、図3のステップS4のフィルタリング処理において、表示端末2の解像度である100dpiに合わせて中間イメージデータ31がピクセル数で1/16倍に縮小され、さらに、表示端末2の階調数4に合わせて4段階の階調に変換される。具体的には、各ピクセルP1~P4を構成する16個の仮想的なピクセル群の階調が平均化され、階調レベルが0~3までの4値のデータを有する1つのピクセルに変換される。
 この結果、図11に示すように、斜めの曲線部分が存在するピクセルP2およびP3には、階調レベル2の中間色が配置されるので、ジャギーが目立ちにくく、滑らかな最終イメージを得ることができる。なお、ここでは通常表示用サイズの最終イメージデータ32についてのみ説明しているが、拡大表示用サイズの最終イメージデータ33の場合も、中間イメージデータ31の解像度は拡大表示用サイズの最終イメージデータ33の解像度よりも高い。よって、同様に、拡大表示用サイズの最終イメージデータ33についてもジャギーを目立ちにくくする効果が得られる。
 以上説明したように、本実施形態のデバイスドライバ210によれば、ユニバーサルドライバ211が、一旦、表示端末2の解像度よりも高い解像度の中間イメージデータ31を生成する。その後、フィルタリング処理モジュール213が、中間イメージデータ31を、表示端末2に合わせた解像度と階調に変換することにより、通常表示用サイズの最終イメージデータ32および拡大表示用サイズの最終イメージデータ33をそれぞれ生成し、表示端末2に出力する。その結果、ユニバーサルドライバ211のみを用いて、最初から表示端末2に合わせた低解像度のイメージデータを生成する場合に比べ、高画質な画像を得られるイメージデータを出力することができる。また、OS200によって提供されるユニバーサルドライバ211に、表示端末2の解像度よりも高い解像度を設定するミニドライバ212と、表示端末2に合わせて通常表示用および拡大表示用の2種類のサイズの最終イメージデータ32、33に変換するフィルタリング処理モジュール213とを追加するという簡略な構成で、このような処理を実現することができる。
 さらに、通常表示用サイズの最終イメージデータ32および拡大表示用サイズの最終イメージデータ33を得るために行われる処理において、ユニバーサルドライバ211による中間イメージデータ31の生成までは、共通の処理である。したがって、中間イメージデータ31を高解像度で生成する処理を、通常表示用サイズおよび拡大表示用サイズのそれぞれについて個別に2回行う必要がないため、効率的に2種類のサイズの最終イメージデータ32、33を生成することができる。
 なお、前述の実施形態に示される構成は例示であり、本発明は各種の変形が可能なことはいうまでもない。例えば、前述の実施形態では、表示端末2の表示画面21のアスペクト比に基づいて、整数Nおよび整数Mの値が決定され、中間イメージデータ31を生成する際の拡大率と、最終イメージデータ32、33に変換する際の縮小率とが設定されている。この場合、表示端末2を90度回転させて横向きにした状態で、拡大サイズの画像を上下分割表示できるという利点がある。しかしながら、中間イメージデータ31を生成する際の拡大率と、最終イメージデータ32、33に変換する際の縮小率を設定するための整数Nおよび整数Mの値は、必ずしも表示画面21のアスペクト比に基づいて決定する必要はない。表示画面21のアスペクト比に関係なく、整数Nおよび整数Mの値を決定する場合、例えば、整数Nを6とし、整数Mを3とすることができる。この場合、拡大表示用サイズの最終イメージデータ33は、通常表示用の最終イメージデータ32に対して、縦横各2(=6/3)倍となるため、例えば、拡大サイズの画像を4分割表示することができる。
 また、前述の実施形態では、通常表示用サイズの最終イメージデータ32と、拡大表示用サイズの最終イメージデータ33が生成される例について説明しているが、通常表示用サイズの最終イメージデータ32と、縮小表示用サイズの最終イメージデータが生成されてもよい。この場合は、前述の実施形態で説明した整数Nおよび整数Mの値が、M>Nの関係を満たすように定められればよい。
 前述の実施形態のように、通常表示用サイズ以外のサイズとして拡大表示用サイズの最終イメージデータ33が出力される場合には、整数Nおよび整数Mの値は、M<Nであることが必要となる。M<N、且つ、Mは2以上、Nは3以上である場合には、拡大表示用サイズの最終イメージデータ33の解像度は、中間イメージデータ31のレンダリング時の解像度よりも常に高くなる。つまり、拡大表示用サイズの最終イメージデータ33もアンチエイリアス処理によって生成されることになる。したがって、通常サイズ、拡大サイズの画像の両方を、ジャギーが目立ちにくく、滑らかで高画質なものとすることができる。
 一方、M<N、且つ、M=1の場合には、拡大表示用サイズの最終イメージデータ33の解像度は、中間イメージデータ31のレンダリング時の解像度と等しいため、拡大サイズの画像のジャギーを低減する効果は少ない。しかしながら、この場合、拡大表示用サイズの最終イメージデータ33は、中間イメージデータ31と解像度が同じで、階調数が表示端末2に合わせられている。よって、後に拡大表示用サイズの最終イメージデータ33がPC1で編集された場合に利点が生じる。具体的には、図3のステップS4において、中間イメージデータ31から通常表示用サイズの最終イメージデータ32を生成したのと同様にして、編集された拡大表示用サイズの最終イメージデータ33を解像度変換することにより、編集された通常表示用サイズの最終イメージデータを容易に生成することができる。
 なお、拡大サイズ、縮小サイズのいずれの場合も、中間イメージデータ31を生成する際の解像度を決定する整数Nを大きくするほど、最終的に得られる通常サイズの画像の画質は向上するが、ユニバーサルドライバ211によるレンダリングの処理速度は遅くなる。よって、許容できる処理速度を考慮して、整数Nおよび整数Mを決定すればよい。この観点から、整数Nおよび整数Mの少なくとも一方は1桁の整数であることが望ましい。いずれも1桁の整数であることが、さらに望ましい。
 また、整数NおよびMは、必ずしも固定された1つの値である必要は無く、予め用意された複数の候補から、ユーザが、画質と処理速度を考慮して、所望の値を臨機応変に選択できても良い。例えば、Nとして、2、4、8の3つの候補から選択できるようにすることができる。なお、整数NおよびMの値は、ミニドライバ212およびフィルタリング処理モジュール213と同様に表示端末2の開発者により作成される、デバイスドライバ10のユーザインターフェース(図示外)によって表示される設定画面から選択できればよい。この場合、選択された整数Nに基づく中間イメージデータ31のレンダリング時の解像度が、ミニドライバ212に記憶される。また、選択された整数NおよびMに基づく通常表示用サイズおよび拡大表示用サイズの最終イメージデータ32、33の解像度が、フィルタリング処理モジュールに設定される。
 また、前述の実施形態では、表示端末2の表示画面21のピクセル数が、縦方向1,188ピクセル×横方向840ピクセルである。すなわち、いずれの方向のピクセル数も、中間イメージデータ31を拡大表示用サイズの最終イメージデータ33に変換する際の縮小率(レンダリング時の解像度×1/M)に使用される整数M=3の倍数である。よって、このサイズを基にして生成される中間イメージデータ31のサイズも、整数M=3の倍数である。したがって、図3のステップS5で端数処理を行う必要がなく、効率のよい簡便な処理とすることができる。
 このように、中間イメージデータ31の縦方向および横方向のピクセル数の約数を整数Mとすることにより、中間イメージデータ31生成時の解像度を定める整数Nがどのような整数であっても、端数処理を不要とすることができる。あるいは、表示画面21の縦方向および横方向のピクセル数に関係なく、中間イメージデータ31を生成するレンダリング時の解像度を、表示端末2の解像度のN×M倍とすれば、拡大表示用サイズの最終イメージデータ33に変換する際、必ず端数処理を不要とすることができる。ただし、処理効率の点では端数処理は行わないことが望ましいが、端数処理を行うこと自体は可能であるため、整数Mは、必ずしも、中間イメージデータ31の縦方向および横方向のピクセル数の約数である必要はない。
 また、前述の実施形態は、画像形成デバイスである表示端末2にイメージデータを出力する例について説明したが、イメージデータの出力先は、他の画像形成デバイスの例である印刷装置であってもよい。この場合も、前述の実施形態と同様に、印刷装置の解像度よりも高い解像度で一旦中間イメージデータを生成してから、印刷装置の解像度と階調数に合わせて、設定された用紙サイズと拡大サイズの2種類の最終イメージデータに変換し、出力する処理を行えばよい。

Claims (5)

  1.  コンピュータ上で実行され、前記コンピュータを、画像形成デバイスが画像を形成するための出力画像データの基となる描画データを取得する描画データ取得手段、および前記描画データ取得手段によって取得された前記描画データから第1のイメージデータを生成するイメージデータ生成手段として機能させる、汎用のオペレーションシステムで提供されるユニバーサルドライバを備えたデバイスドライバを記憶したコンピュータ読み取り可能な媒体であって、
     前記コンピュータを
     前記画像生成デバイスが形成可能な画像に対応する第1の解像度、および、前記画像形成デバイスが表現可能な階調数を記憶するデバイス情報記憶手段、
     前記イメージデータ生成手段が前記第1のイメージデータを生成する際の第2の解像度として、前記デバイス情報記憶手段に記憶された前記第1の解像度にN(ただし、Nは2以上の整数である)を乗じた解像度を記憶する中間解像度記憶手段、
     前記第2の解像度をNで除した解像度である前記第1の解像度、および、前記デバイス情報記憶手段に記憶された前記階調数に基づいて、前記イメージデータ生成手段によって生成された前記第2の解像度の前記第1のイメージデータを、第2のイメージデータに変換する第1のイメージデータ変換手段、
     前記第2の解像度をM(ただし、Mは整数である)で除した解像度である第3の解像度、および、前記デバイス情報記憶手段に記憶された前記階調数に基づいて、前記イメージデータ生成手段によって生成された前記第2の解像度の前記第1のイメージデータを、第3のイメージデータに変換する第2のイメージデータ変換手段、ならびに
     前記第1のイメージデータ変換手段および前記第2のイメージデータ変換手段によって変換して得られた前記第2のイメージデータおよび前記第3のイメージデータを、前記出力画像データとして前記画像形成デバイスに出力する出力手段
    として機能させることを特徴とするデバイスドライバを記憶したコンピュータ読み取り可能な媒体。
  2.  前記中間解像度記憶手段は、前記第2の解像度として、前記第1の解像度にN×Mを乗じた解像度を記憶することを特徴とする請求項1に記載のデバイスドライバを記憶したコンピュータ読み取り可能な媒体。
  3.  前記整数Nは、3以上の整数であり、
     前記整数Mは、M<Nを満たす2以上の整数であることを特徴とする請求項1または2に記載のデバイスドライバを記憶したコンピュータ読み取り可能な媒体。
  4.  前記整数Nおよび前記整数Mは、前記画像生成デバイスが形成可能な画像の縦横比を、少なくとも1つが1桁の整数である2つの整数による整数比に近似した場合に、それぞれ、前記2つの整数のうち大きい方の整数と、小さい方の整数であることを特徴とする請求項3に記載のデバイスドライバを記憶したコンピュータ読み取り可能な媒体。
  5.  前記整数Mは1であることを特徴とする請求項1または2に記載のデバイスドライバを記憶したコンピュータ読み取り可能な媒体。
PCT/JP2009/055732 2008-06-24 2009-03-24 デバイスドライバを記憶したコンピュータ読み取り可能な媒体 WO2009157233A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/976,817 US20110090239A1 (en) 2008-06-24 2010-12-22 Non-transitory computer-readable medium storing device driver

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-163938 2008-06-24
JP2008163938A JP2010008439A (ja) 2008-06-24 2008-06-24 デバイスドライバ

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/976,817 Continuation-In-Part US20110090239A1 (en) 2008-06-24 2010-12-22 Non-transitory computer-readable medium storing device driver

Publications (1)

Publication Number Publication Date
WO2009157233A1 true WO2009157233A1 (ja) 2009-12-30

Family

ID=41444305

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/055732 WO2009157233A1 (ja) 2008-06-24 2009-03-24 デバイスドライバを記憶したコンピュータ読み取り可能な媒体

Country Status (3)

Country Link
US (1) US20110090239A1 (ja)
JP (1) JP2010008439A (ja)
WO (1) WO2009157233A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5202352B2 (ja) * 2009-01-21 2013-06-05 キヤノン株式会社 画像拡大方法、画像拡大装置および画像形成装置
KR101975906B1 (ko) * 2012-01-09 2019-05-08 삼성전자주식회사 영상 표시 장치에서 응용 프로그램의 레이아웃을 스케일링하기 위한 장치 및 방법
JP5590203B2 (ja) * 2013-08-27 2014-09-17 ブラザー工業株式会社 可搬型の端末装置に搭載される制御装置
JP2015122691A (ja) * 2013-12-25 2015-07-02 セイコーエプソン株式会社 画像処理装置、画像処理方法および印刷システム
JP6570164B1 (ja) * 2018-11-28 2019-09-04 株式会社ツバサファクトリー コンピュータプログラム、画像処理方法、及び画像処理装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005341345A (ja) * 2004-05-28 2005-12-08 Victor Co Of Japan Ltd 画像表示装置
JP2009031878A (ja) * 2007-07-25 2009-02-12 Brother Ind Ltd デバイスドライバ

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0645736B1 (en) * 1993-09-27 2003-02-05 Canon Kabushiki Kaisha Image processing apparatus
US5644682A (en) * 1994-12-21 1997-07-01 Joseph Weinberger Method and system for incorporating indicia into a document generated by a computer application
US6825941B1 (en) * 1998-09-21 2004-11-30 Microsoft Corporation Modular and extensible printer device driver and text based method for characterizing printer devices for use therewith
US6411302B1 (en) * 1999-01-06 2002-06-25 Concise Multimedia And Communications Inc. Method and apparatus for addressing multiple frame buffers
EP1253548A1 (en) * 2001-04-26 2002-10-30 Hewlett-Packard Company, A Delaware Corporation Multi resolution printing
JP4971610B2 (ja) * 2005-09-01 2012-07-11 キヤノン株式会社 デバイスドライバを管理するためのプログラムおよび方法と情報処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005341345A (ja) * 2004-05-28 2005-12-08 Victor Co Of Japan Ltd 画像表示装置
JP2009031878A (ja) * 2007-07-25 2009-02-12 Brother Ind Ltd デバイスドライバ

Also Published As

Publication number Publication date
JP2010008439A (ja) 2010-01-14
US20110090239A1 (en) 2011-04-21

Similar Documents

Publication Publication Date Title
JP4941153B2 (ja) デバイスドライバ
JP6824052B2 (ja) 画像処理装置、その制御方法、及びプログラム
WO2009157233A1 (ja) デバイスドライバを記憶したコンピュータ読み取り可能な媒体
US6275303B1 (en) Method and system for processing multi-level tone value images including text, graphic images and continuous tone images by using halftoning technique
JP2013146926A (ja) 画像形成装置及び画像形成プログラム
US20140016141A1 (en) Image processing apparatus, image processing method, and program
JP4564986B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
CN103049227B (zh) 图像缩放打印控制方法及装置和打印系统
JP2001325087A (ja) 書き換え可能なコマンド記憶部を利用したコマンド解析
JP5025338B2 (ja) 画像処理装置、プリンタ、画像処理方法及び画像処理プログラム
JP2011077628A (ja) 画像処理装置、画像処理方法、及びコンピュータプログラム
JP4460093B2 (ja) カラー印刷装置およびカラー印刷システム
JP4174971B2 (ja) 画像処理装置および画像処理方法
JP5017241B2 (ja) 画像形成装置
JP4853504B2 (ja) 画像処理プログラム及び画像処理システム
JP2000242461A (ja) 画像処理装置
JP3985568B2 (ja) プリンタホスト、プリンタドライバおよび印刷システム
JP2011076197A (ja) 画像処理装置、画像処理方法、及びコンピュータプログラム
US20100007897A1 (en) Document processing method and apparatus
JP2004348405A (ja) 情報処理装置及びプログラム
JP6155604B2 (ja) 画像処理装置および画像処理方法
JP4161975B2 (ja) 縮小変倍時の画素補間処理装置及び画素補間処理プログラム
JP4123293B2 (ja) 表示制御装置、表示制御プログラム及び印刷システム
JP2007141162A (ja) プリンタドライバ、プリンタ制御プログラム及びプリントシステム
JP6051526B2 (ja) 画像処理システム、画像形成装置、画像処理プログラム、および画像処理方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09769943

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09769943

Country of ref document: EP

Kind code of ref document: A1