Nothing Special   »   [go: up one dir, main page]

JP7551405B2 - Apparatus, method, and program - Google Patents

Apparatus, method, and program Download PDF

Info

Publication number
JP7551405B2
JP7551405B2 JP2020146873A JP2020146873A JP7551405B2 JP 7551405 B2 JP7551405 B2 JP 7551405B2 JP 2020146873 A JP2020146873 A JP 2020146873A JP 2020146873 A JP2020146873 A JP 2020146873A JP 7551405 B2 JP7551405 B2 JP 7551405B2
Authority
JP
Japan
Prior art keywords
image processing
lines
band
magnification ratio
magnification
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.)
Active
Application number
JP2020146873A
Other languages
Japanese (ja)
Other versions
JP2022041586A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2020146873A priority Critical patent/JP7551405B2/en
Publication of JP2022041586A publication Critical patent/JP2022041586A/en
Application granted granted Critical
Publication of JP7551405B2 publication Critical patent/JP7551405B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Facsimile Image Signal Circuits (AREA)

Description

本発明は、変倍処理を含む画像処理を行う装置、方法、およびプログラムに関する。 The present invention relates to an apparatus, method, and program for performing image processing, including variable magnification processing.

画像処理装置は、入力された画像データに対して、フィルタ処理などの処理を施す処理回路を有する。一般的に、スキャナなどの読み取り機器、プリンタなどの印刷機器、ディスプレイなどの表示装置の多くは、カラー画像およびカラー原稿に対応可能である。このため、このような機器の多くに搭載される画像処理装置は、基本的にカラー処理を行う装置として構成されることが多い。画像処理装置は、例えばRGBカラー画像に対しては3色を、CMYKカラー画像に対しては4色を、処理する回路を有する。これらの回路は、各色で同一の機能を有してよい。つまり、画像処理装置は、3基または4基の回路を並列に有することができる。また近年のインクジェットプリンタのように、さらに多色(例えば12色)を同時に扱える製品も存在する。 The image processing device has a processing circuit that performs processing such as filtering on input image data. Generally, many reading devices such as scanners, printing devices such as printers, and display devices such as monitors are capable of handling color images and color originals. For this reason, the image processing devices installed in many of these devices are often configured as devices that basically perform color processing. The image processing device has circuits that process three colors for RGB color images, and four colors for CMYK color images, for example. These circuits may have the same function for each color. In other words, the image processing device can have three or four circuits in parallel. There are also products that can handle even more colors (for example, 12 colors) simultaneously, such as recent inkjet printers.

このようなカラー処理を基本とした画像処理装置に、モノクロ(単色)画像データが入力された場合、上述のように並列化された処理単位を効率的に利用することが考えられる。これにより、モノクロ(単色)画像データの処理速度を向上できる。 When monochrome (single-color) image data is input to such an image processing device based on color processing, it is possible to efficiently use the parallelized processing units described above. This can improve the processing speed of monochrome (single-color) image data.

特許文献1には、点順次形式のカラー画像データに対応した画像処理を基本とする画像処理装置において、モノクロ(単色)画像データを処理する際に、画像処理を並列化して高速化する手法が記載されている。 Patent document 1 describes a method for parallelizing and speeding up image processing when processing monochrome (single-color) image data in an image processing device that is based on image processing compatible with dot-sequential color image data.

特開2015-115837号公報JP 2015-115837 A

しかしながら、特許文献1は、モノクロ画像のサイズを変更する変倍処理を想定しておらず、変倍処理の並列化に関わる記載がない。そこで本発明の一実施形態は、変倍処理を含む画像処理を並列化することで、処理時間を短縮することを目的とする。 However, Patent Document 1 does not anticipate scaling processes that change the size of monochrome images, and does not mention parallelization of scaling processes. Therefore, one embodiment of the present invention aims to reduce processing time by parallelizing image processing, including scaling processes.

本発明の一実施形態は、モノクロ画像データの領域を複数のバンド領域に分割する分割手段と、前記分割手段により取得される前記バンド領域に対して、所定の変倍率に従ってサイズを変更する変倍処理を含む画像処理を行う画像処理手段であって、それぞれが同じ動作をする複数の画像処理回路が並列に搭載されている画像処理手段と、を有する装置であって、前記所定の変倍率に基づいて、前記画像処理回路に入力される前記バンド領域のライン数を示す入力ライン数と、前記画像処理回路から出力される前記バンド領域のライン数を示す出力ライン数とを算出する算出手段を更に有し、前記入力ライン数と前記出力ライン数との両方が、前記画像処理回路が処理可能な前記バンド領域のライン数の最大値を示す最大ライン数より小さい場合、前記画像処理手段は、複数の前記バンド領域に対する画像処理を並列して行う、ことを特徴とする装置である。 One embodiment of the present invention is an apparatus having a division means for dividing an area of monochrome image data into a plurality of band areas, and an image processing means for performing image processing including a scaling process for changing the size of the band areas acquired by the division means according to a predetermined scaling factor, the image processing means being equipped with a plurality of image processing circuits that perform the same operation in parallel, and further having a calculation means for calculating an input line number indicating the number of lines of the band area input to the image processing circuit and an output line number indicating the number of lines of the band area output from the image processing circuit based on the predetermined scaling factor, and when both the input line number and the output line number are smaller than a maximum line number indicating the maximum number of lines of the band area that the image processing circuit can process, the image processing means performs image processing on the plurality of band areas in parallel.

本発明の一実施形態によれば、変倍処理を含む画像処理を並列化することが可能になり、処理時間を短縮することが可能になる。 According to one embodiment of the present invention, it becomes possible to parallelize image processing, including scaling processing, thereby shortening processing time.

第1の実施形態における画像処理装置の構成を示すブロック図FIG. 1 is a block diagram showing a configuration of an image processing apparatus according to a first embodiment. 第1の実施形態における画像データの分割処理を説明する図FIG. 1 is a diagram for explaining a division process of image data in the first embodiment; 第1の実施形態における変倍処理を説明する図FIG. 1 is a diagram for explaining a magnification change process in the first embodiment; 第1の実施形態における画像処理回路の入出力データのタイミングチャート1 is a timing chart of input/output data of an image processing circuit according to a first embodiment; 第1の実施形態における画像処理部の模式図Schematic diagram of an image processing unit in the first embodiment. 第1の実施形態における画像処理のフローチャートFlowchart of image processing in the first embodiment 第1の実施形態における画像処理部によって実行される、連続領域の並列処理を説明する図FIG. 1 is a diagram for explaining parallel processing of continuous regions, which is executed by an image processing unit in the first embodiment; 第1の実施形態における画像処理部によって実行される、間欠領域の並列処理を説明する図FIG. 1 is a diagram for explaining parallel processing of intermittent regions, which is executed by an image processing unit in the first embodiment; 第1の実施形態における画像処理部によって実行される、連続領域の逐次処理を説明する図FIG. 1 is a diagram for explaining sequential processing of continuous regions, which is executed by an image processing unit in the first embodiment; 第2の実施形態における画像処理のフローチャートFlowchart of image processing in the second embodiment 第2の実施形態の変形例における画像処理のフローチャート11 is a flowchart of image processing according to a modified example of the second embodiment. 第3の実施形態における画像処理のフローチャートFlowchart of image processing in the third embodiment

以下、本発明の実施形態を詳細に説明する。尚、以下の実施形態は、本発明を説明するための例示であり、本発明をその形態のみに限定する趣旨ではない。また、本発明は、その要旨を逸脱しない限り、様々な変形が可能である。
[第1の実施形態]
Hereinafter, the embodiments of the present invention will be described in detail. Note that the following embodiments are merely examples for explaining the present invention, and are not intended to limit the present invention to the embodiments. Furthermore, the present invention can be modified in various ways without departing from the gist of the present invention.
[First embodiment]

<画像処理装置の構成>
図1は、本実施形態における画像処理装置10の構成を示すブロック図である。画像処理装置10は、CPU100と、RAM101と、ROM102と、操作部103と、表示部104と、画像処理部105と、インターフェース(以下I/Fとする)部106と、バス107とを有する。
<Configuration of image processing device>
1 is a block diagram showing the configuration of an image processing device 10 according to this embodiment. The image processing device 10 includes a CPU 100, a RAM 101, a ROM 102, an operation unit 103, a display unit 104, an image processing unit 105, an interface (hereinafter referred to as I/F) unit 106, and a bus 107.

CPU100は、RAM101やROM102に格納されているコンピュータプログラムやデータを用いて、画像処理装置10全体の動作制御を行い、以下で説明する画像処理の制御方法を実施する。 The CPU 100 uses computer programs and data stored in the RAM 101 and ROM 102 to control the operation of the entire image processing device 10 and implements the image processing control method described below.

RAM101は、I/F部106を介して外部の記憶装置からロードされたコンピュータプログラムやデータを一時的に記憶するための記憶領域を有する。また、RAM101は、CPU100が各種の処理を実行する際に用いる記憶領域や画像処理部105が画像処理を実施する際に用いる記憶領域を有する。即ち、RAM101は、各種の記憶領域を適宜提供することができる。 RAM 101 has a storage area for temporarily storing computer programs and data loaded from an external storage device via I/F unit 106. RAM 101 also has a storage area used by CPU 100 when executing various processes and a storage area used by image processing unit 105 when performing image processing. In other words, RAM 101 can provide various storage areas as appropriate.

ROM102には、画像処理装置10の設定データやブートプログラムなどが格納されている。 ROM 102 stores configuration data and boot programs for the image processing device 10.

操作部103は、キーボードやマウスなどの入力装置により構成されている。操作部103を介して、画像処理装置10の操作者は、各種の指示を入力することができ、CPU100は、該入力された指示を受け取ることができる。 The operation unit 103 is composed of input devices such as a keyboard and a mouse. Through the operation unit 103, the operator of the image processing device 10 can input various instructions, and the CPU 100 can receive the input instructions.

表示部104は、CRTや液晶画面などにより構成されており、CPU100による処理結果を画像や文字などで表示することができる。 The display unit 104 is composed of a CRT or LCD screen, and can display the results of processing by the CPU 100 as images or text.

画像処理部105は、コンピュータプログラムを実行可能なプロセッサや専用の画像処理回路から構成される(図5参照)。画像処理部105は、例えば、CPU100から画像処理を実行する命令(ジョブ)を受け付けると、RAM101に格納された入力画像に変倍処理(変倍率に従う画像サイズ変更処理)やデバイス補正処理、色変換などを施した上で、処理結果を出力する。また、画像処理部105は、画像処理の際には、RAM101の記憶領域を利用しながら処理を実施する。 The image processing unit 105 is composed of a processor capable of executing a computer program and a dedicated image processing circuit (see FIG. 5). For example, when the image processing unit 105 receives a command (job) to execute image processing from the CPU 100, it performs magnification processing (image resizing processing according to the magnification ratio), device correction processing, color conversion, etc. on the input image stored in the RAM 101, and then outputs the processing results. Furthermore, when performing image processing, the image processing unit 105 performs the processing while utilizing the storage area of the RAM 101.

I/F部106は、外部記憶装置やインターネットに画像処理装置10を接続するためのインターフェースとして機能する。I/F部106を介して、外部記憶装置に格納されているCPU100に処理させるためのプログラムや画像データ、画像処理パラメータなどがRAM101に適宜ロードされる。 The I/F unit 106 functions as an interface for connecting the image processing device 10 to an external storage device or the Internet. Programs, image data, image processing parameters, and the like stored in the external storage device and to be processed by the CPU 100 are loaded appropriately into the RAM 101 via the I/F unit 106.

前述した画像処理装置10の構成要素の各々は、バス107を介して互いに接続されており、構成要素間でデータを送信および受信することが可能である。 Each of the components of the image processing device 10 described above is connected to each other via a bus 107, making it possible to transmit and receive data between the components.

<画像データの分割処理>
次に、本実施形態で用いられる、画像データの領域分割処理について説明する。尚、以降では、画像データの領域分割処理を「バンド分割処理」、バンド分割処理を伴うバンド領域ごとの画像処理を「バンド処理」と呼ぶ。
<Image data division processing>
Next, the region division process of image data used in this embodiment will be described. Note that, hereinafter, the region division process of image data will be referred to as "band division process", and image processing for each band region involving the band division process will be referred to as "band processing".

バンド処理では、例えば図2に示すように、1枚の画像データ200の画像領域を帯状のバンド領域201~20xに分割し、この分割したバンド領域毎に逐次的に各種の画像処理(逐次処理と呼ぶ)が実行される。 In band processing, for example as shown in FIG. 2, the image area of a single piece of image data 200 is divided into strip-shaped band areas 201 to 20x, and various types of image processing (called sequential processing) are performed sequentially on each of these divided band areas.

各バンド領域の高さは、画像処理の内容によって変動する場合がある。また、画像処理回路の内臓メモリの都合により、通常、バンド領域の高さの最大値が予め決まっている。 The height of each band area may vary depending on the content of the image processing. Also, due to the built-in memory of the image processing circuit, the maximum value of the height of the band area is usually predetermined.

<変倍処理>
次に、変倍処理について、図3と図4を用いて説明する。ここでは、変倍率が縦方向1.5倍の場合を例に挙げて説明する。
<Magnification processing>
Next, the magnification change process will be described with reference to Fig. 3 and Fig. 4. Here, the magnification change process will be described with an example in which the magnification change rate is 1.5 times in the vertical direction.

まず1つ目のバンド領域を変倍回路(具体的には例えば、図5の画像処理回路501)へ入力した場合に出力されるバンド領域について、図3(a)を用いて説明する。尚、入力画像データを構成する1つ目のバンド領域における入力画素データをI1と表し、出力画像データを構成する1つ目のバンド領域における出力画素データをO1と表す。また、他のバンド領域(つまり2つ目以降のバンド領域)における画素データも同様に表すものとする。 First, the band area that is output when the first band area is input to a magnification circuit (specifically, for example, image processing circuit 501 in FIG. 5) will be described with reference to FIG. 3(a). Note that the input pixel data in the first band area that constitutes the input image data is represented as I1, and the output pixel data in the first band area that constitutes the output image data is represented as O1. The pixel data in the other band areas (i.e. the second and subsequent band areas) will be represented in the same manner.

変倍回路は、変倍処理を実行し、内部座標にて0~1で表現されるバンド領域を1.5倍に拡大し、該拡大した領域における画素値を領域0~1.5における画素値として保持する。変倍回路は、入力画素データをどこまで変倍したかを示す内部座標(この場合1.5)を記憶しておく。この変倍処理の後に、変倍回路は、画素値を出力可能か否か判定するための出力判定を行う。 The scaling circuit executes a scaling process, enlarging the band region, represented by 0 to 1 in internal coordinates, by 1.5 times, and holds the pixel values in the enlarged region as pixel values in the region 0 to 1.5. The scaling circuit stores the internal coordinates (1.5 in this case) that indicate to what extent the input pixel data has been scaled. After this scaling process, the scaling circuit performs an output decision to determine whether or not the pixel values can be output.

出力判定では、補間処理に使用する範囲のデータが揃っているかの判定が行われる。内部座標0~1の領域については、画素値を保持しているので出力可能と判定し、この領域に存在する画素値が必要に応じて加重平均されて出力される。図3(a)の場合、入力画像における内部座標0と1との間の領域に存在する画素値はI1のみである。従って、出力画像における内部座標0と1との間の領域に存在する画素値は、I1と一致するO1のみとなる。 In the output determination, a determination is made as to whether all the data in the range to be used for the interpolation process is available. For the area between internal coordinates 0 and 1, it is determined that output is possible since pixel values are held, and the pixel values in this area are weighted-averaged as necessary and output. In the case of Figure 3(a), the only pixel value in the area between internal coordinates 0 and 1 in the input image is I1. Therefore, the only pixel value in the area between internal coordinates 0 and 1 in the output image is O1, which matches I1.

続けて、内部座標1~2の領域についての画素データを出力可能かの判定が行われる。図3(a)の場合、変倍回路は、次(つまり2つ目)のバンド領域の画素データをまだ受け取ってないことから、変倍後の画像(変倍画像と呼ぶ)における内部座標1~2の部分の画素値が揃っていないので、出力不可と判定する。また、この際、出力対象の変倍画像においてどこまで変倍されているかを示す内部座標(この場合1)を保持しておく。 Next, a determination is made as to whether pixel data for the area of internal coordinates 1-2 can be output. In the case of FIG. 3(a), the scaling circuit has not yet received pixel data for the next (i.e., second) band area, and therefore determines that output is not possible because the pixel values for the area of internal coordinates 1-2 in the scaled image (called the scaled image) are not complete. At this time, the internal coordinate (1 in this case) indicating how far the scaled image to be output has been scaled is also retained.

次に、入力画像データにおける2つ目のバンド領域の画素データI2を変倍回路へ入力した場合に出力される画素データについて、図3(b)を用いて説明する。 Next, we will use Figure 3(b) to explain the pixel data that is output when pixel data I2 of the second band area in the input image data is input to the magnification circuit.

変倍回路は、変倍処理を実行し、内部座標にて1~2で表現されるバンド領域を1.5倍に拡大し、該拡大した領域における画素値を領域1.5~3における画素値として保持する。変倍回路は、入力画素データをどこまで変倍したかを示す内部座標(この場合3)を記憶しておく。 The scaling circuit executes a scaling process, enlarging the band area represented by 1 to 2 in the internal coordinates by 1.5 times, and stores the pixel values in the enlarged area as pixel values in the area 1.5 to 3. The scaling circuit stores the internal coordinates (3 in this case) that indicate to what extent the input pixel data has been scaled.

出力判定では、変倍画像における内部座標1~2の領域に対応する画素値を保持しているか否かの判定が行われる。図3(b)の場合、I1およびI2が存在し、変倍画像における内部座標1~2の領域の画素値を保持していると判定される。その後、これらの画素値の加重平均をとることで、O2を生成する。O2の生成では、変倍画像の内部座標1~2の領域における、画素値がI1の部分と、画素値がI2の部分との比に応じた加重平均がとられる。 In the output determination, a determination is made as to whether pixel values corresponding to the area of internal coordinates 1-2 in the scaled image are held. In the case of Figure 3(b), I1 and I2 exist, and it is determined that they hold pixel values from the area of internal coordinates 1-2 in the scaled image. O2 is then generated by taking a weighted average of these pixel values. In generating O2, a weighted average is taken according to the ratio between the part with pixel value I1 and the part with pixel value I2 in the area of internal coordinates 1-2 in the scaled image.

更に、次の出力バンド領域についても、内部座標2~3の領域の画素値I2が保持されていることから出力可能である。図3(b)の場合、出力画素データO3を出力するとともに、図4に示すようにSTALL信号をアサートし、入力画素データを受け取らず保留する。保留された入力画素データI3は次のクロックサイクルで再度入力されるよう制御される。 Furthermore, the pixel value I2 in the area between internal coordinates 2 and 3 is also held for the next output band area, so it can be output. In the case of Figure 3(b), the output pixel data O3 is output, and the STALL signal is asserted as shown in Figure 4, so that the input pixel data is not received and is reserved. The reserved input pixel data I3 is controlled so that it is input again in the next clock cycle.

以降、同様に、変倍率が1.5倍の場合には、2ライン入力するたびに3ライン出力を繰り返す。 Similarly, if the scaling factor is 1.5x, 3 lines will be output every time 2 lines are input.

以上のことを一般化すると、変倍率を分数で表現した結果をn/m(m,nはともに整数)とした場合、分母側が入力ライン数、分子側が出力ライン数となり、nまたはmの大きい方のライン数を単位として変倍処理が繰り返される。 To generalize the above, if the magnification ratio expressed as a fraction is n/m (where m and n are both integers), the denominator is the number of input lines and the numerator is the number of output lines, and the magnification process is repeated using the larger number of lines, n or m, as a unit.

<画像処理回路の構成>
図5は、RGBカラー画像データに対する画像処理を行う画像処理部の模式図である。画像処理部105には、同じ動作をする複数の画像処理回路501が並列に搭載されている。
<Configuration of image processing circuit>
5 is a schematic diagram of an image processing section that performs image processing on RGB color image data. The image processing section 105 has a plurality of image processing circuits 501 that are arranged in parallel and perform the same operation.

図5のケースでは、赤色成分画像データ502Rからデータを1画素ごとに取り出し、該取り出したデータが画像処理回路501Rに画素データとして入力され、画像処理回路501Rにて画像処理が施されて、該画像処理が施された画素データが出力される。入力データである赤色成分画像データ502Rの全画素についての画像処理回路501Rによる画像処理が完了したとき、出力データとして赤色成分画像データ503Rが得られる。 In the case of FIG. 5, data is extracted pixel by pixel from red component image data 502R, the extracted data is input as pixel data to image processing circuit 501R, image processing is performed in image processing circuit 501R, and the processed pixel data is output. When image processing by image processing circuit 501R is completed for all pixels of red component image data 502R, which is the input data, red component image data 503R is obtained as output data.

同様に、緑色成分画像データ502Gからデータを1画素ごとに取り出し、該取り出したデータが画像処理回路501Gに画素データとして入力され、画像処理回路501Gにて画像処理が施されて、該画像処理が施された画素データが出力される。入力データである緑色成分画像データ502Gの全画素についての画像処理回路501Gによる画像処理が完了したとき、出力データとして緑色成分画像データ503Gが得られる。 Similarly, data is extracted pixel by pixel from green component image data 502G, the extracted data is input as pixel data to image processing circuit 501G, image processing is performed in image processing circuit 501G, and the processed pixel data is output. When image processing by image processing circuit 501G is completed for all pixels of green component image data 502G, which is the input data, green component image data 503G is obtained as output data.

また同様に、黄色成分画像データ502Bからデータを1画素ごとに取り出し、該取り出したデータが画像処理回路501Bに画素データとして入力され、画像処理回路501Bにて画像処理が施されて、該画像処理が施された画素データが出力される。入力データである黄色成分画像データ502Bの全画素についての画像処理回路501Bによる画像処理が完了したとき、出力データとして黄色成分画像データ503Bが得られる。 Similarly, data is extracted pixel by pixel from yellow component image data 502B, the extracted data is input as pixel data to image processing circuit 501B, image processing is performed in image processing circuit 501B, and the processed pixel data is output. When image processing circuit 501B has completed image processing for all pixels of yellow component image data 502B, which is the input data, yellow component image data 503B is obtained as output data.

尚、図5は、3つの画像処理回路を用いて、画像処理を並列実施する形態を示しているが、画像処理回路の数は3に限定されず、2以上の任意の整数でよい。 Note that while FIG. 5 shows an embodiment in which image processing is performed in parallel using three image processing circuits, the number of image processing circuits is not limited to three and may be any integer equal to or greater than two.

本実施形態に示す画像処理回路において、特許文献1に開示される技術を適用することで、モノクロ画像データ処理時に画像処理を並列化して高速化することができる。 By applying the technology disclosed in Patent Document 1 to the image processing circuit shown in this embodiment, it is possible to parallelize and speed up image processing when processing monochrome image data.

本実施形態の以降の説明では、画像処理部105に対して入出力されるバンド領域のライン数(以降、バンドライン数と呼ぶ)の最大値(以降、最大ライン数とする)は16とする。16ライン以下のバンド領域であれば画像処理回路501にて処理可能であるが、17ライン以上のバンド領域は受け付けないものとする。尚、このライン数は、画像処理回路の内部で保持可能なデータ量を増加させることで、増やすことが可能である。 In the following description of this embodiment, the maximum number of lines in the band area (hereinafter referred to as the band line number) input/output to the image processing unit 105 (hereinafter referred to as the maximum line number) is 16. Band areas of 16 lines or less can be processed by the image processing circuit 501, but band areas of 17 lines or more will not be accepted. Note that this number of lines can be increased by increasing the amount of data that can be held inside the image processing circuit.

<変倍処理を含む画像処理>
本実施形態における変倍処理を含む画像処理について、図6を用いて説明する。尚、以降では、一連の処理における各ステップを「S~」と表記する。
<Image processing including magnification change processing>
Image processing including the magnification change processing in this embodiment will be described with reference to Fig. 6. In the following, each step in a series of processes will be represented as "S~".

S600にて、CPU100は、変倍率に基づいて処理ライン数を算出する。以下、S600における処理ライン数の算出について詳しく説明する。 In S600, the CPU 100 calculates the number of lines to be processed based on the magnification ratio. The calculation of the number of lines to be processed in S600 is described in detail below.

S600ではまず、変倍率を分母と分子が整数となるよう分数化する。尚、変倍率の分数化の手法として、どのような手法を採用してもよい。例えば、変倍率の分解能が1%であれば、変倍率Xを分数X/1と見立て、且つ、分母分子に分解能の逆数を乗じることで分数100X/100を得ることができる。この分数を約分することで、分母と分子とがともに整数の分数で表される変倍率を得ることができる。 In S600, the scaling factor is first converted into a fraction with integer numerators and denominators. Any method may be used to convert the scaling factor into a fraction. For example, if the resolution of the scaling factor is 1%, the scaling factor X can be regarded as a fraction X/1, and the fraction 100X/100 can be obtained by multiplying the numerator and denominator by the reciprocal of the resolution. By simplifying this fraction, it is possible to obtain a scaling factor whose numerator and denominator are both expressed as a fraction with integers.

このようにして得た分数の分母と分子とに基づき、入力ライン数および出力ライン数が求まる。つまり、分母が入力ライン数となり、分子が出力ライン数となる。具体的には、変倍率が1.5倍(150%)の場合の分数は2分の3で、変倍処理の単位は3(分母と分子の大きい方)ラインとなる。変倍率が101%の場合の分数は100分の101で、変倍処理の単位は101ラインとなる。 The number of input lines and the number of output lines are calculated based on the numerator and denominator of the fraction obtained in this way. In other words, the denominator is the number of input lines, and the numerator is the number of output lines. Specifically, when the scaling factor is 1.5x (150%), the fraction is 3/2, and the unit of scaling is 3 lines (the larger of the numerator and denominator). When the scaling factor is 101%, the fraction is 101/100, and the unit of scaling is 101 lines.

S601にて、CPU100は、変倍処理を並列化可能か判定する。S601の判定結果が真の場合、S602に進む。一方、S601の判定結果が偽の場合、S603に進む。 In S601, the CPU 100 determines whether the scaling process can be parallelized. If the determination result in S601 is true, the process proceeds to S602. On the other hand, if the determination result in S601 is false, the process proceeds to S603.

S601で並列化可能か判定するために用いられる条件(第1の条件とする)とは、前述の入力ライン数と出力ライン数との両方が、最大ライン数以下であることである。ここで、本実施形態では前述したように、最大ライン数を16としている。従って、例えば、変倍率が1.5倍の場合、入力ライン数が2、出力ライン数が3であり、入力ライン数、出力ライン数ともに16以下であることから、S601の判定結果が真となり、S602に進む。また例えば、変倍率が101%倍の場合、入力ライン数が100、出力ライン数が101であり、入力ライン数、出力ライン数ともに16以下でないことから、S601の判定結果が偽となり、S603に進む。 The condition (first condition) used to determine whether parallelization is possible in S601 is that both the number of input lines and the number of output lines are equal to or less than the maximum number of lines. In this embodiment, as described above, the maximum number of lines is 16. Therefore, for example, when the scaling factor is 1.5 times, the number of input lines is 2 and the number of output lines is 3, and both the number of input lines and the number of output lines are equal to or less than 16, so the determination result in S601 is true and the process proceeds to S602. Also, for example, when the scaling factor is 101% times, the number of input lines is 100 and the number of output lines is 101, and both the number of input lines and the number of output lines are not equal to or less than 16, so the determination result in S601 is false and the process proceeds to S603.

尚、変倍率が1.5倍の場合、後続のS602にて画像処理回路による処理が3ライン単位で繰り返されることになる。しかしながら、1バンドを3ラインにしてしまうと、分割されるバンド数が多くなり、画像処理実行にかかる制御時間のオーバーヘッドが増加する。そのため、1バンドあたりのライン数をできるだけ多くして処理を行う方が好ましい。本実施形態では、最大ライン数を16にしたので、出力ライン数を3ラインの整数倍で16に最も近い15ラインとし、この出力ライン数に合わせて入力ライン数を2ラインの5倍の10ラインとする。このように入力ライン数、出力ライン数を設定すると、効率的な変倍処理が可能となる。 When the scaling factor is 1.5x, the image processing circuit will repeat processing in units of 3 lines in the subsequent step S602. However, if one band is divided into 3 lines, the number of divided bands will increase, and the overhead of the control time required to execute image processing will increase. For this reason, it is preferable to perform processing with as many lines per band as possible. In this embodiment, the maximum number of lines is set to 16, so the number of output lines is set to 15 lines, which is an integer multiple of 3 lines and closest to 16, and the number of input lines is set to 10 lines, which is 5 times 2 lines, to match this output line number. Setting the number of input lines and the number of output lines in this way enables efficient scaling processing.

また、変倍処理と同時に実施する画像処理に、フィルタ処理のように注目画素周辺の画素群を参照して処理する画像処理がある場合には、オーバーラップ領域を考慮して入力ラインおよび出力ラインを決定する必要がある。変倍率を、分母分子が整数の分数に変換する計算にはオーバーラップライン数は影響しないが、画像処理回路における最大ライン数には影響する。そのため、オーバーラップ領域が存在する場合には、画像処理回路で処理可能な最大ライン数からオーバーラップライン数を除いたライン数に基づいて、変倍処理を並列化可能か否かの判定を行う必要がある。 Furthermore, when image processing that is performed simultaneously with the scaling process involves image processing that references a group of pixels around a pixel of interest, such as filter processing, the input and output lines must be determined taking into account the overlapping areas. The number of overlapping lines does not affect the calculation that converts the scaling factor into a fraction whose numerator and denominator are integers, but it does affect the maximum number of lines in the image processing circuit. Therefore, when an overlapping area exists, it is necessary to determine whether the scaling process can be parallelized based on the number of lines obtained by subtracting the number of overlapping lines from the maximum number of lines that can be processed by the image processing circuit.

S602にて、画像処理部105は、並列処理を行う。具体的には、CPU100は、画像処理部105における画像処理回路501のそれぞれに対して、入力画像データおよび変倍率などのパラメータを設定して並列処理を実行する。図7は、連続した3バンド(計30ライン)を入力とし、連続した3バンド(計45ライン)を出力として設定した例を示す。 In S602, the image processing unit 105 performs parallel processing. Specifically, the CPU 100 sets parameters such as input image data and a magnification ratio for each of the image processing circuits 501 in the image processing unit 105, and performs parallel processing. FIG. 7 shows an example in which three consecutive bands (30 lines in total) are set as input, and three consecutive bands (45 lines in total) are set as output.

S603にて、画像処理部105は、並列化を伴わない通常の逐次処理を行う。 At S603, the image processing unit 105 performs normal sequential processing without parallelization.

例えば、変倍率が101%のときの出力ライン数101は、本実施形態の最大ライン数16を超えているので、この出力ライン数をそのまま用いることはできない。従って、出力ライン数を最大ライン数と等しく16にする。また、入力ライン数を出力ライン数に変倍率の逆数(101分の100)を乗じて小数部を切り捨てた15にする。 For example, when the scaling factor is 101%, the number of output lines is 101, which exceeds the maximum number of lines of 16 in this embodiment, and so this number of output lines cannot be used as is. Therefore, the number of output lines is set to 16, which is the same as the maximum number of lines. Also, the number of input lines is set to 15, which is calculated by multiplying the number of output lines by the inverse of the scaling factor (100/101) and truncating the decimal part.

そして、CPU100は、前述したパラメータをハードウェアに設定して逐次処理を実行する。図9は、S603における逐次処理の一例として、15ラインの入力に対して、101の倍数をまたぐ出力範囲の場合だけ16ライン出力し、それ以外は15ライン出力することで、101%拡大を実現している様子を示している。 Then, the CPU 100 sets the above-mentioned parameters in the hardware and executes sequential processing. Figure 9 shows an example of sequential processing in S603, in which, for an input of 15 lines, 16 lines are output only when the output range is a multiple of 101, and 15 lines are output otherwise, thereby achieving 101% enlargement.

<本実施形態の効果など>
本実施形態では、変倍率に関する第1の条件として、変倍前後のライン数としての入力ライン数と出力ライン数との両方が整数で表現可能であり、且つ、最大ライン数以下であることを採用した。この条件を用いることで、画像データに変倍処理を含む画像処理を施す際に、画像処理部において、並列に実行するか、それとも逐次的に実行するかを適切に選択することが可能となる。よって、処理の実行時間を最適に選択することが可能となる。
<Effects of this embodiment>
In this embodiment, the first condition regarding the magnification ratio is that both the number of input lines and the number of output lines as the number of lines before and after magnification can be expressed as integers and are equal to or less than the maximum number of lines. By using this condition, when performing image processing including magnification processing on image data, it becomes possible to appropriately select whether to execute the processing in parallel or sequentially in the image processing unit. Therefore, it becomes possible to optimally select the execution time of the processing.

また、画像処理回路による並列化が可能か否かを簡易的に判定する判定基準としては、入力ライン数に変倍率を乗じた結果が整数となるか否か、もしくは、変倍率が整数か否か、という判定基準が考えられる。前者を第1の条件として採用した場合には、入力ライン数が固定された状態にあっては、入力ライン数に変倍率を乗じるだけで簡便に判定を行うことが可能で、画像処理回路の最適な制御方法を選択することができる。一方、後者を第1の条件として採用した場合には、拡大処理において、変倍率をそのまま判定するだけで画像処理回路の最適な制御方法を選択することができる。 In addition, possible criteria for simply determining whether parallelization by an image processing circuit is possible are whether the result of multiplying the number of input lines by the scaling factor is an integer, or whether the scaling factor is an integer. If the former is adopted as the first condition, when the number of input lines is fixed, it is possible to easily make a determination by simply multiplying the number of input lines by the scaling factor, and the optimal control method for the image processing circuit can be selected. On the other hand, if the latter is adopted as the first condition, it is possible to select the optimal control method for the image processing circuit in the enlargement process by simply determining the scaling factor as it is.

尚、本実施形態では、図7に示すように、連続したバンド領域に対して並列処理を実行する例を説明した。しかし、図8に示すように、1ページ分の画像データ702を並列処理可能な数(いわゆる並列度。図8では、画像処理部105が3個の画像処理回路501を有するので並列度は3)で分割した後、連続しないバンド領域に対して並列処理を実行してもよい。 In this embodiment, as shown in FIG. 7, an example has been described in which parallel processing is performed on consecutive band areas. However, as shown in FIG. 8, after dividing one page of image data 702 into the number of pieces that can be processed in parallel (the so-called parallelism; in FIG. 8, the image processing unit 105 has three image processing circuits 501, so the parallelism is 3), parallel processing may be performed on non-consecutive band areas.

[第2の実施形態]
第1の実施形態では、並列処理と逐次処理との何れかを選択的に実行する形態を示した(図6参照)。これに対し、本実施形態では、1回目の画像処理として並列処理を実行し、2回目の画像処理として逐次処理を実行する形態を示す。尚、以降の説明では、前述の実施形態と同様の内容に関しては適宜省略し、前述の実施形態と異なる点を重点的に説明する。
Second Embodiment
In the first embodiment, a configuration in which either parallel processing or sequential processing is selectively performed is shown (see FIG. 6). In contrast, in the present embodiment, a configuration in which parallel processing is performed as the first image processing and sequential processing is performed as the second image processing is shown. In the following description, the same content as in the previous embodiment will be omitted as appropriate, and the description will focus on the differences from the previous embodiment.

<変倍処理を含む画像処理>
以下、本実施形態における変倍処理を含む画像処理について、図10を用いて説明する。尚、本実施形態でも、第1の実施形態と同じ構成の画像処理装置10、画像処理部105を用いるものとする(図1、図5参照)。
<Image processing including magnification change processing>
Image processing including the variable magnification process in this embodiment will be described below with reference to Fig. 10. Note that this embodiment also uses the image processing device 10 and the image processing unit 105 having the same configuration as those in the first embodiment (see Figs. 1 and 5).

S1000~S1002は、第1の実施形態のS600~S602と同様である(図6参照)。 S1000 to S1002 are similar to S600 to S602 in the first embodiment (see Figure 6).

S1003にて、CPU100は、第2の条件として式(1)を満たすか判定する。 At S1003, the CPU 100 determines whether the second condition is satisfied.

Figure 0007551405000001
Figure 0007551405000001

このように第2の条件は、変倍率および並列度(画像処理回路の数)に基づいて決まる。S1003の判定結果が真の場合、S1004に進む。一方、S1003の判定結果が偽の場合、S1006に進む。 In this way, the second condition is determined based on the magnification ratio and the degree of parallelism (the number of image processing circuits). If the determination result of S1003 is true, the process proceeds to S1004. On the other hand, if the determination result of S1003 is false, the process proceeds to S1006.

例えば3並列のケースでは、ハードによる1回目の画像処理としての並列処理に要する時間は、並列処理を行わない逐次処理の場合の3分の1で済むことから、仮に逐次処理を行ったらかかっていたはずの時間の3分の2に相当する時間を短縮できる。従って、ハードによる2回目の画像処理としての逐次処理に要する時間を、この3分の2に相当する時間より短くできれば、画像データ全体を逐次処理するより効率的と言える。つまり、ハードによる1回目の画像処理としての並列処理の結果、画像データにおける未処理の画素数が画像データ全体の3分の2未満に減少すれば、S1003の条件を満たす。 For example, in the case of triple parallel processing, the time required for parallel processing as the first round of image processing by hardware is one-third of the time required for sequential processing without parallel processing, thereby reducing the time equivalent to two-thirds of the time that would have been required if sequential processing had been performed. Therefore, if the time required for sequential processing as the second round of image processing by hardware can be reduced to less than this two-thirds of the time, it can be said to be more efficient than sequential processing of the entire image data. In other words, if the number of unprocessed pixels in the image data is reduced to less than two-thirds of the total image data as a result of parallel processing as the first round of image processing by hardware, the condition of S1003 is met.

ここでは、変倍率が0.51倍の場合、第1の条件を満たさず第2の条件を満たすため、S1001でNO、S1003でYESとなり、S1004に進む。また、変倍率が0.99倍の場合、第1の条件と第2との条件の両方を満たさないため、S1001でNO、S1003でNOとなり、S1006に進む。 Here, if the scaling factor is 0.51x, the first condition is not met but the second condition is met, so the result is NO in S1001 and YES in S1003, and the process proceeds to S1004. Also, if the scaling factor is 0.99x, the result is NO in S1001 and NO in S1003, and the process proceeds to S1006, so neither the first nor the second condition is met.

S1004にて、CPU100は、ユーザが所望する変倍率(以降、所望の変倍率とする)を、第1変倍率と第2変倍率とに分割する。ここで、第1変倍率は、分母および分子がともに整数で表される変倍率であり、第2変倍率は、所望の変倍率を第1変倍率で除算することで導出される。所望の変倍率の分割後、画像処理部105は、第1変倍率を用いて並列処理を実行し、画像処理を高速に実行する。そして、画像処理部105による並列処理で取得される画像データは、RAM101に一旦保存される。 At S1004, the CPU 100 divides the user's desired scaling factor (hereinafter referred to as the desired scaling factor) into a first scaling factor and a second scaling factor. Here, the first scaling factor is a scaling factor whose numerator and denominator are both expressed as integers, and the second scaling factor is derived by dividing the desired scaling factor by the first scaling factor. After dividing the desired scaling factor, the image processing unit 105 executes parallel processing using the first scaling factor to perform high-speed image processing. Then, the image data obtained by the parallel processing by the image processing unit 105 is temporarily stored in the RAM 101.

尚、ここでは、第1変倍率における分母を最大ライン数の16に固定し、第1変倍率と第2変倍率とによる変倍が、所望の変倍率による変倍以上となるようにする。例えば、所望の変倍率が51%の場合、第1変倍率は16分の9となり、第2変倍率は0.51÷(9÷16)=0.91倍となる。 Here, the denominator in the first magnification ratio is fixed at 16, the maximum number of lines, and the magnification ratio resulting from the first and second magnification ratios is equal to or greater than the magnification ratio resulting from the desired magnification ratio. For example, if the desired magnification ratio is 51%, the first magnification ratio will be 9/16, and the second magnification ratio will be 0.51÷(9÷16)=0.91.

S1005にて、画像処理部105は、S1004で一旦保存された画像データをRAM101から読み出し、該読み出した画像データに対しての第2変倍率に従う変倍処理を含む画像処理を逐次的に実行する。 In S1005, the image processing unit 105 reads the image data temporarily stored in S1004 from the RAM 101, and sequentially performs image processing on the read image data, including magnification processing according to the second magnification ratio.

S1006にて、画像処理部105は、所望の変倍率に従う変倍処理を含む画像処理を逐次的に実行する。 At S1006, the image processing unit 105 sequentially performs image processing including scaling processing according to the desired scaling factor.

尚、前述の実施形態では、制御におけるオーバーヘッドを無視している。従って、実際には、ハードによる1回目の画像処理にて逐次処理を行った場合の3分の2に相当する時間に対応する所定の閾値よりも小さい閾値を用いた方が、高速化を確実に実現できる。 In the above embodiment, overhead in control is ignored. Therefore, in practice, faster processing can be achieved more reliably by using a threshold smaller than the predetermined threshold that corresponds to two-thirds of the time required for sequential processing in the first image processing run by hardware.

また、前述の実施形態では、並列度が3、つまり、画像処理部が3個の画像処理回路を有する例を示したが、並列度を多くすればするほど、ハードによる2回目の画像処理の時間を稼ぐことが可能である。 In addition, in the above embodiment, an example was shown in which the parallelism was three, i.e., the image processing unit had three image processing circuits, but the more parallelism there is, the more time it is possible to save for the second image processing by hardware.

また、画像を縮小してコピーするユースケースとして、2枚の原稿を1枚の用紙にまとめてコピーする形態がある(いわゆる2in1)。このようなケースでは、S1003で用いる条件として、画像変倍により元画像が縮小されるか、という簡易な条件を採用してもよい。このような条件を採用すれば、ユーザが変倍率を別途設定しないで済む。 As another use case for reducing and copying an image, there is a case where two original pages are copied onto one sheet of paper (so-called 2-in-1). In such a case, the condition used in S1003 may be a simple condition of whether the original image is reduced by image scaling. If such a condition is used, the user does not need to separately set the scaling factor.

<本実施形態の効果など>
本実施形態では、1つの画像処理回路(ハード)によって、並列処理と逐次処理とを実行する形態(図10のS1004→S1005)を説明した。しかし、ハード処理の間CPU100が何もしていない状態(いわゆるアイドル状態)にある場合があり、その場合は、リソースを有効活用できていないことになる。そこで、図11に示すように、2回目の画像処理をCPU100に行わせるソフト処理(S1105)とし、ハード処理とソフト処理とを並行して走らせることで、処理の高速化を実現できる。但し、CPUで画像処理を行う場合、画像処理回路で画像処理を行う場合より処理パフォーマンスが落ちることが考えられるため、前述した3分の2に相当する時間未満という判定条件を見直し、CPUやメモリの性能などに基づき作される判定条件を用いてよい。
<Effects of this embodiment>
In this embodiment, a form in which parallel processing and sequential processing are executed by one image processing circuit (hardware) (S1004 to S1005 in FIG. 10) has been described. However, there are cases in which the CPU 100 is in a state of not doing anything (so-called idle state) during the hardware processing, in which case resources are not effectively utilized. Therefore, as shown in FIG. 11, the second image processing is made to be executed by the CPU 100 as software processing (S1105), and the hardware processing and software processing are run in parallel, thereby realizing high-speed processing. However, since it is considered that the processing performance is lower when the image processing is executed by the CPU than when the image processing is executed by the image processing circuit, the above-mentioned judgment condition of less than two-thirds of the time may be reviewed, and a judgment condition based on the performance of the CPU and memory may be used.

また、近年のCPUはマルチコアとなっている場合が多い。一方で、画像処理装置では複数のジョブを並列で実行する場合があり、処理を高速化している。複数のCPUコアのうち半分以上がアイドル状態の場合(具体的に例えばCPUの使用率が50%未満の場合)、並列実行しているジョブが存在しないか、負荷の少ないジョブを実行している可能性が高い。そこで、このような場合に、CPUを使用して変倍処理を含む画像処理を逐次的に行うことで、リソースを有効に活用することも考えられる。 Moreover, recent CPUs are often multi-core. On the other hand, image processing devices may execute multiple jobs in parallel to speed up processing. When more than half of the multiple CPU cores are idle (specifically, for example, when the CPU usage rate is less than 50%), it is highly likely that there are no jobs being executed in parallel, or that a job with a low load is being executed. Therefore, in such cases, it is possible to make effective use of resources by using the CPU to perform image processing, including magnification processing, sequentially.

以上説明したように本実施形態では、変倍率に関する第2の条件として、式(1)を満たすことを採用した。この条件を用いることで、画像データに変倍処理を含む画像処理を施す際に、画像処理回路によって、まず並列処理を実行し、次に逐次的に処理を実行することが可能となり、処理の実行時間を短縮することが可能となる。 As described above, in this embodiment, the second condition regarding the magnification ratio is that the formula (1) is satisfied. By using this condition, when performing image processing including magnification processing on image data, the image processing circuit can first execute parallel processing and then execute sequential processing, thereby shortening the execution time of the processing.

[第3の実施形態]
前述の実施形態では、所望の変倍率で画像を変倍する例を示したが、変倍率によっては並列処理を実行できない場合があった(図6のS603、図10の1006)。そこで本実施形態では、特定の動作モードにおいては、常に並列処理を行うことで、高速処理要求に対応する。
[Third embodiment]
In the above embodiment, an example was shown in which an image was scaled at a desired scale, but there were cases in which parallel processing could not be performed depending on the scale (S603 in FIG. 6, 1006 in FIG. 10). Therefore, in this embodiment, in a specific operation mode, parallel processing is always performed to meet high-speed processing requirements.

<変倍処理を含む画像処理>
以下、本実施形態における変倍処理を含む画像処理について、図12を用いて説明する。尚、本実施形態でも、第1の実施形態と同じ構成の画像処理装置10、画像処理部105を用いるものとする(図1、図5参照)。
<Image processing including magnification change processing>
Image processing including the variable magnification process in this embodiment will be described below with reference to Fig. 12. Note that this embodiment also uses the image processing device 10 and image processing unit 105 having the same configuration as in the first embodiment (see Figs. 1 and 5).

S1200にて、CPU100は、画像処理装置10が特定の動作モードで動作しているか判定する。S1200の判定結果が真の場合、S1201に進む。一方、S1200の判定結果が偽の場合、前述した第1の実施形態または第2の実施形態の処理へ進む。尚、特定の動作モードとしては、例えば、画像処理装置10がプリンタの場合のドラフトモードや、画像処理装置10がスキャナの場合のプレスキャンモードや高圧縮PDF作成モードなどの、処理速度を優先するモードが考えられる。 At S1200, the CPU 100 determines whether the image processing device 10 is operating in a specific operation mode. If the determination result at S1200 is true, the process proceeds to S1201. On the other hand, if the determination result at S1200 is false, the process proceeds to the processing of the first or second embodiment described above. Note that the specific operation mode may be, for example, a mode that prioritizes processing speed, such as a draft mode when the image processing device 10 is a printer, or a pre-scan mode or a high-compression PDF creation mode when the image processing device 10 is a scanner.

S1202にて、CPU100は、第1の実施形態のS601と同じ判定を行う(図6参照)。S1202の判定結果が真の場合、S1204に進む。一方、S1202の判定結果が偽の場合、S1203に進む。 In S1202, the CPU 100 performs the same determination as in S601 in the first embodiment (see FIG. 6). If the determination result in S1202 is true, the process proceeds to S1204. On the other hand, if the determination result in S1202 is false, the process proceeds to S1203.

S1203にて、CPU100は、所望の変倍率を、画像処理部105が並列処理可能な変倍率に近似する変換処理(近似変換と呼ぶ)を行う。近似変換の方法は、例えば、入力ライン数を分母に、出力ライン数を分子に割り当て、さらに、その分母を1~最大ライン数に変化させる。そして、変化させたそれぞれの分母に対して分子を1~最大ライン数に変更することで、所望の変倍率との誤差が最も少なくなる分母および分子を選択する。例えば、第1の実施形態で例に挙げた101%の拡大であれば、画像処理部105が並列処理可能な変倍率として1分の1を用いる。また、第2の実施形態で例に挙げた51%の縮小であれば、画像処理部105が並列処理可能な変倍率として2分の1を用いる。 At S1203, the CPU 100 performs a conversion process (called approximate conversion) that approximates the desired magnification ratio to a magnification ratio that can be processed in parallel by the image processing unit 105. The approximate conversion method, for example, assigns the number of input lines to the denominator and the number of output lines to the numerator, and further changes the denominator from 1 to the maximum number of lines. Then, by changing the numerator from 1 to the maximum number of lines for each changed denominator, the denominator and numerator that minimize the error from the desired magnification ratio are selected. For example, in the case of 101% enlargement as exemplified in the first embodiment, 1/1 is used as the magnification ratio that can be processed in parallel by the image processing unit 105. Also, in the case of 51% reduction as exemplified in the second embodiment, 1/2 is used as the magnification ratio that can be processed in parallel by the image processing unit 105.

S1204にて、画像処理部105は、並列処理を行う。本ステップでは、S1202の判定が真だった場合、所望の変倍率がそのまま用いられる一方、該判定が偽だった場合、S1203で近似変換された変倍率が用いられる。 In S1204, the image processing unit 105 performs parallel processing. In this step, if the determination in S1202 is true, the desired scaling factor is used as is, whereas if the determination is false, the scaling factor approximated in S1203 is used.

<本実施形態の効果>
以上説明したように本実施形態では、第3の条件として、画像処理装置が特定の動作モードで動作していることを採用した。この条件を用いることで、画像データに変倍処理を含む画像処理を施す際に、動作モードによっては常に画像処理回路による並列処理を実行するようになる。よって、画像処理の実行時間を、動作モードに応じて最適化することが可能となる。
<Effects of this embodiment>
As described above, in this embodiment, the third condition is that the image processing device is operating in a specific operation mode. By using this condition, when image processing including magnification processing is performed on image data, parallel processing is always performed by the image processing circuit depending on the operation mode. Therefore, it is possible to optimize the execution time of image processing depending on the operation mode.

[その他の実施形態]
本発明は、前述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。尚、前述の実施形態を適宜組み合わせて用いても良い。
[Other embodiments]
The present invention can also be realized by a process in which a program for realizing one or more functions of the above-mentioned embodiments is supplied to a system or device via a network or a storage medium, and one or more processors in a computer of the system or device read and execute the program. The present invention can also be realized by a circuit (e.g., ASIC) for realizing one or more functions. The above-mentioned embodiments may be used in appropriate combination.

10 画像処理装置
100 CPU
105 画像処理部
10 Image processing device 100 CPU
105 Image processing unit

Claims (15)

モノクロ画像データの領域を複数のバンド領域に分割する分割手段と、
前記分割手段により取得される前記バンド領域に対して、所定の変倍率に従ってサイズを変更する変倍処理を含む画像処理を行う画像処理手段であって、それぞれが同じ動作をする複数の画像処理回路が並列に搭載されている画像処理手段と、
を有する装置であって、
前記所定の変倍率に基づいて、前記画像処理回路に入力される前記バンド領域のライン数を示す入力ライン数と、前記画像処理回路から出力される前記バンド領域のライン数を示す出力ライン数とを算出する算出手段
を更に有し、
前記入力ライン数と前記出力ライン数との両方が、前記画像処理回路が処理可能な前記バンド領域のライン数の最大値を示す最大ライン数より小さい場合、前記画像処理手段は、複数の前記バンド領域に対する画像処理を並列して行う、
ことを特徴とする装置。
A dividing means for dividing an area of monochrome image data into a plurality of band areas;
an image processing means for performing image processing including a magnification process for changing a size of the band area acquired by the dividing means according to a predetermined magnification, the image processing means including a plurality of image processing circuits each performing the same operation, in parallel;
An apparatus having
a calculation means for calculating an input line number indicating the number of lines of the band area input to the image processing circuit and an output line number indicating the number of lines of the band area output from the image processing circuit, based on the predetermined magnification ratio;
when both the number of input lines and the number of output lines are smaller than a maximum number of lines indicating a maximum number of lines of the band area that can be processed by the image processing circuit, the image processing means performs image processing on a plurality of the band areas in parallel;
An apparatus comprising:
前記入力ライン数と前記出力ライン数とのそれぞれは、整数である、
ことを特徴とする請求項1に記載の装置。
each of the number of input lines and the number of output lines is an integer;
2. The apparatus of claim 1 .
前記算出手段は、前記所定の変倍率を分母と分子との両方が整数の分数に変換し、該分母と該分子とを整数倍することにより、前記入力ライン数と前記出力ライン数とを算出する、
ことを特徴とする請求項1または2に記載の装置。
the calculation means converts the predetermined scaling factor into a fraction whose numerator and denominator are both integers, and calculates the number of input lines and the number of output lines by multiplying the numerator and denominator by an integer.
3. Apparatus according to claim 1 or 2.
前記整数倍された前記分母と前記整数倍された前記分子とが、前記最大ライン数以下である、
ことを特徴とする請求項3に記載の装置。
the integer-multiplied denominator and the integer-multiplied numerator are equal to or less than the maximum number of lines;
4. The apparatus according to claim 3.
モノクロ画像データの領域を複数のバンド領域に分割する分割手段と、
前記分割手段により取得される前記バンド領域に対して、所定の変倍率に従ってサイズを変更する変倍処理を含む画像処理を行う画像処理手段であって、それぞれが同じ動作をする複数の画像処理回路が並列に搭載されている画像処理手段と、
を有する装置であって、
前記画像処理回路に入力される前記バンド領域のライン数を示す入力ライン数に前記所定の変倍率を乗じた値が整数の場合、前記画像処理手段は、複数の前記バンド領域に対する画像処理を並列して行う、
ことを特徴とする装置。
A dividing means for dividing an area of monochrome image data into a plurality of band areas;
an image processing means for performing image processing including a magnification process for changing a size of the band area acquired by the dividing means according to a predetermined magnification, the image processing means including a plurality of image processing circuits each performing the same operation, in parallel;
An apparatus having
when a value obtained by multiplying the input line number indicating the number of lines of the band area input to the image processing circuit by the predetermined magnification is an integer, the image processing means performs image processing on the plurality of band areas in parallel.
An apparatus comprising:
モノクロ画像データの領域を複数のバンド領域に分割する分割手段と、
前記分割手段により取得される前記バンド領域に対して、所定の変倍率に従ってサイズを変更する変倍処理を含む画像処理を行う画像処理手段であって、それぞれが同じ動作をする複数の画像処理回路が並列に搭載されている画像処理手段と、
を有する装置であって、
前記所定の変倍率が整数の場合、前記画像処理手段は、複数の前記バンド領域に対する画像処理を並列して行う、
ことを特徴とする装置。
A dividing means for dividing an area of monochrome image data into a plurality of band areas;
an image processing means for performing image processing including a magnification process for changing a size of the band area acquired by the dividing means according to a predetermined magnification, the image processing means including a plurality of image processing circuits each performing the same operation, in parallel;
An apparatus having
When the predetermined magnification ratio is an integer, the image processing means performs image processing on the plurality of band regions in parallel.
An apparatus comprising:
以下の式(1)を満たすか判定する第1判定手段を更に有することを特徴とする請求項1乃至6の何れか1項に記載の装置。
Figure 0007551405000002
7. The apparatus according to claim 1, further comprising a first determination means for determining whether the following formula (1) is satisfied:
Figure 0007551405000002
前記変倍率に従うサイズ変更により、元の画像が縮小されるか判定する第1判定手段を更に有することを特徴とする請求項1乃至6の何れか1項に記載の装置。 The device according to any one of claims 1 to 6, further comprising a first determination means for determining whether the original image is reduced by resizing according to the magnification ratio. 前記第1判定手段による判定結果が真の場合、前記所定の変倍率に基づく第1変倍率と第2変倍率とを導出する導出手段を更に有し、
前記第1変倍率は、分母および分子がともに整数で表される変倍率であり、
前記第2変倍率は、前記所定の変倍率を前記第1変倍率で除算することで導出される、
ことを特徴とする請求項7または8に記載の装置。
a derivation unit that derives a first magnification ratio and a second magnification ratio based on the predetermined magnification ratio when the result of the determination by the first determination unit is true,
the first magnification factor is a magnification factor whose numerator and denominator are both expressed as integers,
The second magnification ratio is derived by dividing the predetermined magnification ratio by the first magnification ratio.
9. Apparatus according to claim 7 or 8.
前記画像処理手段は、
前記第1変倍率を用いた複数の前記バンド領域に対する前記画像処理を並列化して、同時に行い、
前記第2変倍率を用いた前記画像処理を逐次的に行う、
ことを特徴とする請求項9に記載の装置。
The image processing means includes:
the image processing for the plurality of band regions using the first magnification ratio is performed in parallel at the same time;
performing the image processing using the second magnification ratio sequentially;
10. The apparatus of claim 9.
CPUと、
前記CPUの使用率が所定の閾値より小さいか判定する第1判定手段と、
前記第1判定手段による判定結果が真の場合、前記所定の変倍率に基づく第1変倍率と第2変倍率とを導出する導出手段と、
を更に有し、
前記画像処理手段は、前記第1変倍率を用いた複数の前記バンド領域に対する前記画像処理を並列化して、同時に行い、
前記CPUは、前記第2変倍率を用いた前記画像処理を逐次的に行う、
ことを特徴とする請求項1乃至6の何れか1項に記載の装置。
A CPU,
a first determination means for determining whether the CPU usage rate is less than a predetermined threshold;
a derivation means for deriving a first magnification ratio and a second magnification ratio based on the predetermined magnification ratio when a result of the determination by the first determination means is true;
and
the image processing means performs the image processing for the plurality of band regions using the first magnification ratio in parallel and simultaneously;
the CPU sequentially performs the image processing using the second magnification ratio;
7. Apparatus according to any one of the preceding claims.
特定の動作モードで動作しているか判定する第2判定手段と、
前記第2判定手段による判定結果が真の場合、前記所定の変倍率を、前記画像処理手段が処理可能な値に変換する変換手段と、
を更に有することを特徴とする請求項7乃至11の何れか1項に記載の装置。
A second determination means for determining whether the device is operating in a specific operation mode;
a conversion means for converting the predetermined magnification ratio into a value that can be processed by the image processing means when the result of the determination by the second determination means is true;
12. Apparatus according to any one of claims 7 to 11, further comprising:
前記画像処理手段には、前記複数の画像処理回路として、第1画像処理回路、第2画像処理回路、および第3画像処理回路が搭載されており、
入力画像データがRGBカラー画像データの場合、
前記第1画像処理回路は、Rのカラー画像データに対する前記画像処理を行い、
前記第2画像処理回路は、Gのカラー画像データに対する前記画像処理を行い、
前記第3画像処理回路は、Bのカラー画像データに対する前記画像処理を行う、
ことを特徴とする請求項1乃至12の何れか1項に記載の装置。
the image processing means is provided with a first image processing circuit, a second image processing circuit, and a third image processing circuit as the plurality of image processing circuits;
If the input image data is RGB color image data,
the first image processing circuit performs the image processing on the R color image data,
the second image processing circuit performs the image processing on the G color image data,
the third image processing circuit performs the image processing on the B color image data;
13. Apparatus according to any one of the preceding claims.
モノクロ画像データの領域を複数のバンド領域に分割する分割手段と、
前記分割手段により取得される前記バンド領域に対して、所定の変倍率に従ってサイズを変更する変倍処理を含む画像処理を行う画像処理手段であって、それぞれが同じ動作をする複数の画像処理回路が並列に搭載されている画像処理手段と、
を有する装置において実行される方法であって、
前記所定の変倍率に基づいて、前記画像処理回路に入力される前記バンド領域のライン数を示す入力ライン数と、前記画像処理回路から出力される前記バンド領域のライン数を示す出力ライン数とを算出するステップと、
前記入力ライン数と前記出力ライン数との両方が、前記画像処理回路が処理可能な前記バンド領域のライン数の最大値を示す最大ライン数より小さい場合、前記画像処理手段が、複数の前記バンド領域に対する画像処理を並列して行うステップと、
を有することを特徴とする方法。
A dividing means for dividing an area of monochrome image data into a plurality of band areas;
an image processing means for performing image processing including a magnification process for changing a size of the band area acquired by the dividing means according to a predetermined magnification, the image processing means including a plurality of image processing circuits each performing the same operation, in parallel;
1. A method carried out in an apparatus having
calculating an input line number indicating the number of lines of the band area input to the image processing circuit and an output line number indicating the number of lines of the band area output from the image processing circuit based on the predetermined magnification ratio;
when both the number of input lines and the number of output lines are smaller than a maximum number of lines that indicates a maximum number of lines of the band area that can be processed by the image processing circuit, the image processing means performs image processing on a plurality of the band areas in parallel;
The method according to claim 1, further comprising:
コンピュータに請求項14に記載の方法を実行させるためのプログラム。 A program for causing a computer to execute the method according to claim 14.
JP2020146873A 2020-09-01 2020-09-01 Apparatus, method, and program Active JP7551405B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020146873A JP7551405B2 (en) 2020-09-01 2020-09-01 Apparatus, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020146873A JP7551405B2 (en) 2020-09-01 2020-09-01 Apparatus, method, and program

Publications (2)

Publication Number Publication Date
JP2022041586A JP2022041586A (en) 2022-03-11
JP7551405B2 true JP7551405B2 (en) 2024-09-17

Family

ID=80499920

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020146873A Active JP7551405B2 (en) 2020-09-01 2020-09-01 Apparatus, method, and program

Country Status (1)

Country Link
JP (1) JP7551405B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007200170A (en) 2006-01-30 2007-08-09 Brother Ind Ltd Image processor and image processing program
JP2009141430A (en) 2007-12-03 2009-06-25 Murata Mach Ltd Image processor
JP2010021932A (en) 2008-07-14 2010-01-28 Ricoh Co Ltd Image processing apparatus, image processing method, and program
JP2011135302A (en) 2009-12-24 2011-07-07 Fuji Xerox Co Ltd Image processor, and image processing program
JP2015115837A (en) 2013-12-12 2015-06-22 キヤノン株式会社 Control device, image processing apparatus, control method and program
JP2015222932A (en) 2014-05-23 2015-12-10 キヤノン株式会社 Apparatus and method for image processing

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007200170A (en) 2006-01-30 2007-08-09 Brother Ind Ltd Image processor and image processing program
JP2009141430A (en) 2007-12-03 2009-06-25 Murata Mach Ltd Image processor
JP2010021932A (en) 2008-07-14 2010-01-28 Ricoh Co Ltd Image processing apparatus, image processing method, and program
JP2011135302A (en) 2009-12-24 2011-07-07 Fuji Xerox Co Ltd Image processor, and image processing program
JP2015115837A (en) 2013-12-12 2015-06-22 キヤノン株式会社 Control device, image processing apparatus, control method and program
JP2015222932A (en) 2014-05-23 2015-12-10 キヤノン株式会社 Apparatus and method for image processing

Also Published As

Publication number Publication date
JP2022041586A (en) 2022-03-11

Similar Documents

Publication Publication Date Title
JP4090908B2 (en) Image processing apparatus and image forming apparatus
JP5643574B2 (en) Image processing apparatus and image processing method
JP6029344B2 (en) Image processing apparatus, image processing method, and program
US8169656B2 (en) Image processing devices and methods for resizing an original image therefor
JP5051327B1 (en) Image processing apparatus and program
US9218554B2 (en) Image processing apparatus, image processing method, and storage medium
JP5171461B2 (en) Information processing apparatus, information processing method, information processing system, and program
US10762401B2 (en) Image processing apparatus controlling the order of storing decompressed data, and method thereof
US9781295B2 (en) Image processing apparatus, a method for performing specific process on an image processing apparatus, and a computer-readable storage medium for a program to be executed by an image processing apparatus
US8334989B2 (en) Printing device and method for parallel processing of data
JP5393168B2 (en) Image forming apparatus and control method thereof
JP7551405B2 (en) Apparatus, method, and program
US8860971B2 (en) Printing device and printing method of printing device
JPH1131052A (en) Document processing system
US7170628B2 (en) Efficient processing of images in printers
JP5879912B2 (en) Print data generation program, printing system, and printing method
US10552717B2 (en) Image processing apparatus, control method thereof, and storage medium
JP6904717B2 (en) Image processing equipment, its control method, and programs
JP2011053944A (en) Image forming device, image forming method, and control program
JP2013119242A (en) Image forming apparatus, image forming method, and program
JP4720236B2 (en) Image processing device
JP7172193B2 (en) Image forming device and program
JP6809158B2 (en) Image processing equipment and programs
JP6040690B2 (en) Drawing processing apparatus, image forming apparatus, computer program, and drawing processing method
JP2019077133A (en) Image formation apparatus, image formation method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230901

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240725

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240806

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240904

R150 Certificate of patent or registration of utility model

Ref document number: 7551405

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150