JP2007122621A - Information processor, information processing method - Google Patents
Information processor, information processing method Download PDFInfo
- Publication number
- JP2007122621A JP2007122621A JP2005317112A JP2005317112A JP2007122621A JP 2007122621 A JP2007122621 A JP 2007122621A JP 2005317112 A JP2005317112 A JP 2005317112A JP 2005317112 A JP2005317112 A JP 2005317112A JP 2007122621 A JP2007122621 A JP 2007122621A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- intermediate data
- alpha
- alpha blend
- image forming
- 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.)
- Withdrawn
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
Description
本発明は、アルファブレンド処理を必要とする中間データを取り扱う印刷技術に関するものである。 The present invention relates to a printing technique that handles intermediate data that requires alpha blend processing.
複数の画像オブジェクト(例えば文字やイメージやグラフィック)で構成されている電子ドキュメント、及びPDLデータ等の画像形成を省メモリで行う場合の技術として、フレームメモリへの画像形成をハーフトーン状態で行うのが一般的である。例えばRGBそれぞれが8ビット階調のピクセルにくらべて、CMYKそれぞれが2ビット階調のものでは、フレームメモリ容量に4倍の差が出る。 As a technique for forming an image of an electronic document composed of a plurality of image objects (for example, characters, images, and graphics) and PDL data in a memory-saving manner, the image formation to the frame memory is performed in a halftone state. Is common. For example, when each of R, G, and B has a 2-bit gradation compared to an 8-bit gradation pixel, there is a four-fold difference in frame memory capacity.
しかしながら、このような画像形成をハーフトーン状態で行う場合、アルファブレンド処理を行うことができない。この問題を解決するために、入力された描画コマンドをビットマップイメージに描画する描画手段と、描画コマンドとして入力オブジェクトをビットマップに描画する際のアルファブレンド指定(透明度指定)を行う描画方法指定手段とを有する印刷制御装置および画像制御装置のデータ処理方法において、アルファブレンド指定をアルファ値に応じた面積情報に置換するアルファ値置換手段と、描画コマンドを面積情報に応じた処理を行うための描画コマンドに変換する描画コマンド変換するものがあった(特許文献1を参照)。 However, when such image formation is performed in a halftone state, alpha blend processing cannot be performed. In order to solve this problem, a drawing means for drawing an input drawing command on a bitmap image and a drawing method specifying means for specifying an alpha blend (transparency specification) when drawing an input object on a bitmap as a drawing command. In the data processing method of the print control apparatus and the image control apparatus, the alpha value replacement means for replacing the alpha blend designation with the area information corresponding to the alpha value, and the drawing command for performing processing according to the area information There is one that converts a drawing command into a command (see Patent Document 1).
しかしながら、上記従来技術は擬似アルファブレンド処理であり、入力データの内容によっては本来のアルファブレンド処理による描画結果とは異なってしまう。上記問題を解決するためには以下の方法が考案されている。 However, the above prior art is a pseudo-alpha blend process, and depending on the contents of the input data, the rendering result by the original alpha blend process may be different. In order to solve the above problems, the following methods have been devised.
即ち、フレームメモリの容量を十分用意し、コントーンで画像形成を行うか、中間データを生成する。その生成時あるいは生成後に中間データを検索し、アルファブレンドが必要なオブジェクトに関してはアルファブレンド処理を行ってしまい、アルファブレンド処理が無い中間データ(フレームメモリの描画処理においてアルファブレンド処理が必要ない)にする。そして、フレームメモリに描画する。 That is, a sufficient capacity of the frame memory is prepared, and image formation is performed with contone or intermediate data is generated. Intermediate data is searched at the time of generation or after generation, and alpha blending processing is performed for objects that require alpha blending, and there is no alpha blending processing (no alpha blending processing is required in the frame memory rendering process). To do. Then, drawing is performed in the frame memory.
図1は、一般的なアルファブレンド処理を含む電子ドキュメントの作成の様子を示す図である。ユーザは、ホストコンピュータ上のアプリケーションを用いて101に示す如く図形の一部を選択するか、102に示す如く図形の全体を選択する。ユーザが用いるのは大抵の場合、上書き(図形が重なった場合、上の図形のみが見える)で作成するのを要望しているため、アプリケーションで単純に図形の作成操作をした場合、101,102で示す図形には上書きのアルファブレンド値が設定される。たとえば図形が赤い四角形であった場合、RGBA=(255,0,0,255)となる(RGBAのAはアルファブレンド値)。ここで、上書きの場合のアルファブレンド値が255となるのはアルファブレンド処理が以下の式に基づいて行われるためである。 FIG. 1 is a diagram illustrating how an electronic document including a general alpha blend process is created. The user uses the application on the host computer to select a part of the graphic as shown at 101 or the entire graphic as shown at 102. In most cases, the user wants to create by overwriting (when the figure overlaps, only the above figure can be seen), so if the application simply creates a figure, 101, 102 An overwritten alpha blend value is set for the figure indicated by. For example, when the figure is a red square, RGBA = (255, 0, 0, 255) (A in RGBA is an alpha blend value). Here, the alpha blend value in the case of overwriting is 255 because the alpha blend process is performed based on the following equation.
R=(α/255)×SrcR+(1−(α/255))×DestR
G=(α/255)×SrcG+(1−(α/255))×DestG
B=(α/255)×SrcB+(1−(α/255))×DestB
Srcは描画しようとしている図形で、Destが下地となる。
R = (α / 255) × SrcR + (1− (α / 255)) × DestR
G = (α / 255) × SrcG + (1− (α / 255)) × DestG
B = (α / 255) × SrcB + (1− (α / 255)) × DestB
Src is a figure to be drawn, and Dest is the background.
図形をSrcとすると、αの部分に255を代入し計算すればよい。255を代入すると、Srcに掛ける(α/255)は1となり、Destに掛ける(1−(α/255))は0となるので、Srcの値が計算結果となる。すなわち上書き処理である。逆にアルファブレンド値として0を指定すれば。Destの値が計算結果となる。すなわち完全な透過である。 If the figure is Src, 255 may be substituted for α and calculated. When 255 is substituted, Src multiplied by (α / 255) becomes 1, and Dest multiplied by (1- (α / 255)) becomes 0, so the value of Src becomes the calculation result. That is, it is an overwrite process. Conversely, if you specify 0 as the alpha blend value. The value of Dest is the calculation result. That is, complete transmission.
上述したようにユーザが使うのは大抵が上書きであるので、アルファブレンド値=255が最も多く用いられる。 As described above, since the user uses mostly overwrite, alpha blend value = 255 is most frequently used.
なお、図形の選択を行うと、105に示す透過設定メニューを開くことにより、透過に係る設定を行うことができる。透過設定のメニューを開く方法についてはアプリケーションごとに異なるが、アプリケーションの画面上のボタンや、キーボード、マウスの操作によって開くことが出来るのが一般的である。 When a graphic is selected, a setting relating to transparency can be made by opening a transparency setting menu shown at 105. Although the method for opening the transparent setting menu differs depending on the application, it can be opened by operating a button on the application screen, a keyboard, or a mouse.
最初に透過設定メニュー105を開いた場合には、透過する/しないの選択を行うためのチェックボタン106のみが表示される。それは下地が透過して見えるということが重要であり、どの位透過しているかという点については考慮しないユーザが多いためである。この場合の透過率は50%の透過(アルファブレンド値=128)にするのが普通である。透過として50%というのは、ユーザとして理解しやすいのと、画像形成装置の能力によっては微妙な透過率が表現できないものもあり、50%にしておくことにより安定的に透過効果を得られるといった点が理由である。チェックボタン106を有効にすると、103に示す如く、下地が透過して見えるようになる。103では、RGBA=(255,0,0,128)となる。
When the
50%の透過率によって表示された結果に満足できないユーザは、透過設定メニュー105上の透過詳細設定のチェックボタン108を有効にすることにより、透過率を自由に設定できるメニューバー110を表示させ、設定することが出来る。メニューバー110によって75%に設定されていれば、104に示す如く(255,0,0,192)となる。だたしアプリケーションによってはチェックボタン108,110のような詳細設定を持っておらず、チェックボタン106のみであることも多い。
A user who is not satisfied with the result displayed by the transmittance of 50% displays the
以上のことによりアルファブレンドが含まれる電子ドキュメントの特徴として、ほとんどのアルファブレンド値が上書きを意味する255で上げられる。次に透過を意図した場合でも固定アルファブレンド値が(殆どが128)が使われることが多い。それ以外の詳細なアルファブレンド値が指定されることは少なく、アプリケーションによっては不可能である場合も多い。
上述した擬似アルファブレンド処理する技術では、省メモリで高速に処理できる。しかし、入力データの内容によっては描画不正を生じてしまう。フレームメモリにコントーンで描画する技術については、メモリ容量が大量に必要になる。中間データでのアルファブレンド処理する技術は、ある程度省メモリで正常な描画結果を得ることが出来る。しかし、アルファブレンドが指定されたオブジェクトと、ページ内に存在する全てのオブジェクトとの重なりを判定する必要があるため処理に時間が掛かってしまう。 With the above-described pseudo-alpha blend processing technology, processing can be performed at high speed with less memory. However, depending on the content of the input data, drawing fraud may occur. A large amount of memory capacity is required for a technique for drawing a frame memory in a contone. The technique of performing the alpha blend process with the intermediate data can obtain a normal drawing result with a certain amount of memory saving. However, since it is necessary to determine the overlap between an object for which alpha blending is specified and all objects existing in the page, the processing takes time.
また、モノクロ印刷、試し印刷(ドラフト印刷)、省トナー印刷、といった印刷設定がなされた場合、ユーザは画質よりも印刷速度を重視し、カラー印刷、高画質印刷といった印刷設定がなされた場合にはユーザは印刷速度より画質を重視している。 Also, when print settings such as monochrome printing, trial printing (draft printing), and toner-saving printing are made, the user places more importance on printing speed than image quality, and when print settings such as color printing and high-quality printing are made. Users place more importance on image quality than printing speed.
本発明は以上の問題に鑑みてなされたものであり、アルファブレンド処理が必要な中間データに基づく印刷処理を行う場合に、印刷設定に応じた適切な印刷処理を行うための技術を提供することを目的とする。 The present invention has been made in view of the above problems, and provides a technique for performing appropriate print processing according to print settings when performing print processing based on intermediate data that requires alpha blending processing. With the goal.
本発明の目的を達成するために、例えば本発明の画像形成装置は以下の構成を備える。 In order to achieve the object of the present invention, for example, an image forming apparatus of the present invention comprises the following arrangement.
即ち、アルファブレンド処理の対象部分を含むオブジェクトを1以上含むオブジェクト群で構成されている電子データを取得する第1の取得手段と、
前記電子データを印刷する際の設定を示す印刷設定情報を取得する第2の取得手段と、
前記印刷設定情報に基づくフォーマットでもって、前記電子データの中間データを作成する作成手段と、
前記印刷設定情報を参照し、高速印刷を重視する旨の設定が成されている場合には、前記オブジェクトに対して擬似アルファブレンド処理を行う第1の処理手段と、
前記印刷設定情報を参照し、印刷結果の品質を重視する旨の設定が成されている場合には、前記オブジェクトに対してアルファブレンド処理を行う第2の処理手段と、
前記第1の処理手段、若しくは前記第2の処理手段による処理後の中間データに基づいて印刷処理を行う印刷手段と
を備えることを特徴とする。
That is, a first acquisition unit that acquires electronic data composed of an object group including one or more objects including a target portion of alpha blend processing;
Second acquisition means for acquiring print setting information indicating settings for printing the electronic data;
Creating means for creating intermediate data of the electronic data in a format based on the print setting information;
A first processing means for performing a pseudo-alpha blending process on the object when the print setting information is referred to and a setting for emphasizing high-speed printing is made;
A second processing means for performing alpha blending processing on the object when the print setting information is referred to and setting of emphasizing the quality of the print result is made;
And a printing unit that performs a printing process based on the intermediate data that has been processed by the first processing unit or the second processing unit.
本発明の目的を達成するために、例えば本発明の画像形成方法は以下の構成を備える。 In order to achieve the object of the present invention, for example, an image forming method of the present invention comprises the following arrangement.
即ち、アルファブレンド処理の対象部分を含むオブジェクトを1以上含むオブジェクト群で構成されている電子データを取得する第1の取得工程と、
前記電子データを印刷する際の設定を示す印刷設定情報を取得する第2の取得工程と、
前記印刷設定情報に基づくフォーマットでもって、前記電子データの中間データを作成する作成工程と、
前記印刷設定情報を参照し、高速印刷を重視する旨の設定が成されている場合には、前記オブジェクトに対して擬似アルファブレンド処理を行う第1の処理工程と、
前記印刷設定情報を参照し、印刷結果の品質を重視する旨の設定が成されている場合には、前記オブジェクトに対してアルファブレンド処理を行う第2の処理工程と、
前記第1の処理工程、若しくは前記第2の処理工程による処理後の中間データに基づいて印刷処理を行う印刷工程と
を備えることを特徴とする。
That is, a first acquisition step of acquiring electronic data composed of an object group including one or more objects including a target portion of alpha blend processing;
A second acquisition step of acquiring print setting information indicating a setting when printing the electronic data;
A creation step of creating intermediate data of the electronic data in a format based on the print setting information;
A first processing step of performing a pseudo-alpha blending process on the object when a setting for emphasizing high-speed printing is made with reference to the print setting information;
A second processing step of performing an alpha blending process on the object when the print setting information is referred to and the setting of emphasizing the quality of the print result is made;
And a printing step of performing a printing process based on the intermediate data after the processing by the first processing step or the second processing step.
本発明の目的を達成するために、例えば本発明の画像形成装置は以下の構成を備える。 In order to achieve the object of the present invention, for example, an image forming apparatus of the present invention comprises the following arrangement.
即ち、設定されているアルファブレンド値が所定値であるか否かを判別する判別手段と、
前記判別手段によりアルファブレンド値が所定値であると判別された場合、簡易フォーマットの中間データを生成し、前記判別手段によりアルファブレンド値が所定値でないと判別された場合、詳細フォーマットの中間データを生成する生成手段と、
前記生成手段により生成された中間データに基づき印刷を行う印刷手段とを有することを特徴とする。
That is, determination means for determining whether the set alpha blend value is a predetermined value,
When the determining unit determines that the alpha blend value is a predetermined value, it generates intermediate data in a simple format. When the determining unit determines that the alpha blend value is not a predetermined value, the intermediate data in the detailed format is generated. Generating means for generating;
Printing means for performing printing based on the intermediate data generated by the generating means.
本発明の目的を達成するために、例えば本発明の画像形成方法は以下の構成を備える。 In order to achieve the object of the present invention, for example, an image forming method of the present invention comprises the following arrangement.
即ち、設定されているアルファブレンド値が所定値であるか否かを判別する判別ステップと、
前記判別ステップによりアルファブレンド値が所定値であると判別された場合、簡易フォーマットの中間データを生成し、前記判別ステップによりアルファブレンド値が所定値でないと判別された場合、詳細フォーマットの中間データを生成する生成ステップと、
前記生成ステップにより生成された中間データに基づき画像を形成する形成ステップとを有することを特徴とする。
That is, a determination step of determining whether or not the set alpha blend value is a predetermined value;
If it is determined that the alpha blend value is a predetermined value in the determination step, intermediate data in a simple format is generated. If the alpha blend value is determined not to be a predetermined value in the determination step, intermediate data in a detailed format is generated. A generation step to generate;
A forming step of forming an image based on the intermediate data generated by the generating step.
本発明の構成により、アルファブレンド処理が必要な中間データに基づく印刷処理を行う場合に、印刷設定に応じた適切な印刷処理を行うことができる。 With the configuration of the present invention, when performing a printing process based on intermediate data that requires an alpha blending process, an appropriate printing process according to the print setting can be performed.
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。 Hereinafter, the present invention will be described in detail according to preferred embodiments with reference to the accompanying drawings.
[第1の実施形態]
本実施形態では、アルファブレンド処理が必要なオブジェクトの中間データを取得し、この中間データに基づく印刷処理を行う場合について説明する。
[First Embodiment]
In the present embodiment, a case will be described in which intermediate data of an object that requires alpha blending processing is acquired, and printing processing based on this intermediate data is performed.
先ず、図2を用いて、アルファブレンド処理が必要な中間データにおいて、アルファブレンド処理が必要な部分について以下説明する処理を行い、アルファブレンド処理を必要としない中間データを作成する為の処理について説明する。 First, with reference to FIG. 2, in the intermediate data that requires alpha blending processing, processing that will be described below is performed for a portion that requires alpha blending processing, and processing for creating intermediate data that does not require alpha blending processing is described. To do.
図2は、アルファブレンド処理が必要な中間データから、アルファブレンド処理を必要としない中間データを作成する処理を説明する図である。 FIG. 2 is a diagram illustrating processing for creating intermediate data that does not require alpha blending processing from intermediate data that requires alpha blending processing.
また、同図を用いた説明では、前提として、フレームメモリの下地は白(R=G=B=255)であるとする。同図において200は、211から213に示す各オブジェクト(の中間データ)を順次描画することで得られる描画結果を示す。
Further, in the description using the same figure, it is assumed that the background of the frame memory is white (R = G = B = 255) as a premise. In the figure,
オブジェクト211は、同図に示す如く、左上隅の座標が座標(1,1)で、縦、横のサイズが5である矩形であり、且つこの矩形のR、G、B値はそれぞれ0である。ここで、オブジェクト211についてはアルファブレンド処理が指定されていない(α値が指定されていない)。そこで、このオブジェクト211を描画すると、座標(1,1)、座標(6,6)の2点を対角とする矩形領域内はR=G=B=0となる。
As shown in the figure, the
次にオブジェクト212は、同図に示す如く、左上隅の座標が座標(2,2)で、縦、横のサイズが5である矩形であり、且つこの矩形のR、G、B値はそれぞれ128である。ここで、オブジェクト211についてはアルファブレンド処理が指定されている(α値=128と指定されている)。そこで、このオブジェクト212を同図240に示す計算式に従って描画するので、座標(2,2)と座標(6,6)の2点を対角とする矩形領域内のR、G、B値はそれぞれ、
R=(128/255)×128+(1−(128/255))×0=64
G=(128/255)×128+(1−(128/255))×0=64
B=(128/255)×128+(1−(128/255))×0=64
となる。この矩形領域は即ち、オブジェクト211とオブジェクト212とが互いに重なる領域である。
Next, as shown in the figure, the
R = (128/255) × 128 + (1− (128/255)) × 0 = 64
G = (128/255) × 128 + (1− (128/255)) × 0 = 64
B = (128/255) × 128 + (1− (128/255)) × 0 = 64
It becomes. That is, this rectangular area is an area where the
また、座標(2,2)と座標(7,7)を対角とする矩形領域(オブジェクト212)から座標(2,2)と座標(6,6)とを対角とする矩形領域を除いた部分202のR、G、B値はそれぞれ、
R=(128/255)×128+(1−(128/255))×255=192
G=(128/255)×128+(1−(128/255))×255=192
B=(128/255)×128+(1−(128/255))×255=192
となる。
Further, a rectangular area having the coordinates (2, 2) and the coordinates (6, 6) as diagonal lines is excluded from the rectangular area (object 212) having the coordinates (2, 2) and coordinates (7, 7) as diagonal lines. The R, G, and B values of the
R = (128/255) × 128 + (1− (128/255)) × 255 = 192
G = (128/255) × 128 + (1− (128/255)) × 255 = 192
B = (128/255) × 128 + (1− (128/255)) × 255 = 192
It becomes.
次にオブジェクト213は、同図に示す如く、左上隅の座標が座標(3,3)で、縦、横のサイズが2である矩形であり、且つこの矩形のR、G、B値はそれぞれ255である。ここで、オブジェクト213についてはアルファブレンド処理が指定されている(α値=128と指定されている)。そこで、このオブジェクト213を同図240に示す計算式に従って描画するので、座標(3,3)と座標(5,5)の2点を対角とする矩形領域内のR、G、B値はそれぞれ、
R=(128/255)×255+(1−(128/255))×64=160
G=(128/255)×255+(1−(128/255))×64=160
B=(128/255)×255+(1−(128/255))×64=160
となる。この矩形領域は即ち、オブジェクト211〜213が互いに重なる領域である。以上の処理から、同図201で示す部分のR、G、B値は0,202で示す部分のR、G、B値は192、203で示す部分のR、G、B値は64、204で示す部分のR、G、B値160となる。
Next, as shown in the figure, the
R = (128/255) × 255 + (1− (128/255)) × 64 = 160
G = (128/255) × 255 + (1− (128/255)) × 64 = 160
B = (128/255) × 255 + (1− (128/255)) × 64 = 160
It becomes. This rectangular area is an area where the
以上の原理を用いて、アルファブレンド処理が必要な中間データから、アルファブレンド処理を必要としない中間データを作成する処理について説明する。オブジェクト211〜213をこの順に描画する場合に、先ず、最初にアルファブレンド処理を行って描画処理を行うオブジェクト212に着目する。
A process for creating intermediate data that does not require alpha blending processing from intermediate data that requires alpha blending processing will be described using the above principle. When drawing the
オブジェクト212よりも先に描画するオブジェクトはアルファブレンド処理を用いないオブジェクトであり、ここではオブジェクト211である。そこで、オブジェクト212とオブジェクト211とで重なる部分を検索する。これはそれぞれの矩形のサイズを参照し、縦方向、横方法で互いに重なる部分を検索することにより成される。ここでは左上隅の座標を(2,2)、縦横のサイズを4とする矩形領域が、オブジェクト211とオブジェクト212とが互いに重なる領域となる。この重なる領域は同図222に示すものとなる。なお、この矩形領域222のR、G、B値は上述の説明により、オブジェクト211とオブジェクト212とでアルファブレンド処理を行うことで得られ、その結果、64となる。
An object that is drawn before the
次に、オブジェクト211から、この重なる矩形領域222を取り除いた領域221を生成し、更に、オブジェクト212から、この重なる矩形領域222を取り除いた領域223を生成する。また、矩形領域223のR、G、B値は上述の説明により、フレームメモリの下地とアルファブレンド処理を行うことで得られ、その結果、192となる。
Next, an
以上の処理でもって、オブジェクト211、212のそれぞれにおいて、互いに重なる部分と重ならない部分とに分割し、互いに重なる部分についてはアルファブレンド処理を施している。その結果が221から223となる。また、この時点でオブジェクト213については何も行っておらず、オブジェクト224として示している。
With the above processing, each of the
次に、オブジェクト224に着目する。先ず、先に生成したオブジェクト221〜223のうち、オブジェクト224と重なる部分を検索する。ここではオブジェクト222がオブジェクト224と重なるオブジェクトとして検索される。
Next, focus on the
よって、次に、オブジェクト222から、この重なる矩形領域224を取り除いた領域232を生成する。また、矩形領域224のR、G、B値は上述の説明により、オブジェクト222とオブジェクト224とでアルファブレンド処理を行うことで得られ、その結果、160となり、領域234となる。また、オブジェクト221、223については、オブジェクト224とは重なっていないので、そのままオブジェクト231、233となる。
Therefore, next, an
以上の処理により、元々のオブジェクト211〜213を、互いに重なる部分と重ならない部分とに分割し、且つ重なる部分についてアルファブレンド処理を行うと指定されている場合には、アルファブレンド処理を行う。これにより、231〜234に示す如く、アルファ値の指定のないオブジェクト中間データが得られる。即ち、それぞれのオブジェクト231〜234の描画にはアルファブレンド処理は必要ない。
With the above processing, when the
因みに、オブジェクト231〜234を描画すると、200に示すものとなる。以上の処理を行えば、フレームメモリに描画を行う際にアルファブレンド処理を行う能力のない装置であっても正常な描画が得られる。このように、中間データの段階でアルファブレンド処理を除去する処理はオブジェクトを1つ1つ検索し、分割処理などを施す必要があり処理に時間が掛かる。逆に擬似アルファブレンド処理では、アルファブレンド値に相当するパターンを生成する処理だけで高速に処理することが可能になる。
Incidentally, when the
次に、図3を用いて、擬似アルファブレンド処理を行う場合と、中間データの段階でアルファブレンド除去処理を行う場合とで、メモリに保持しておく中間データの量が異なる点について説明する。 Next, the difference in the amount of intermediate data stored in the memory between the case where the pseudo-alpha blend process is performed and the case where the alpha blend removal process is performed at the intermediate data stage will be described with reference to FIG.
図3(a)は、重なり部分を有している2つのオブジェクトを描画した場合の例を示す図である。中間データの段階でアルファブレンド除去処理を行う場合、2つのオブジェクト301,302同士の重なりを比較しなければならない。
FIG. 3A is a diagram illustrating an example in which two objects having overlapping portions are drawn. When the alpha blend removal process is performed at the intermediate data stage, the overlap between the two
図3(b)は、重なり部分の検索処理のフローチャートである。なお、オブジェクト301,302は、オブジェクトの左右エッジのx座標位置をy座標方向の高さ分保持することにより表現され、さらにデータ量を小さくするために圧縮コードで記載されているものとする。
FIG. 3B is a flowchart of the overlapping portion search process. The
先ず、ステップS303では、オブジェクト301,302の重なっている部分のy座標の開始点と終了点を取得する。次に、ステップS304において、上記y座標の開始点から終了点まで全てのyについて、重なり判断処理を行ったか否かを判断する。全て行った場合には本処理を終了するのであるが、全て行っていない場合には処理をステップS305に進める。
First, in step S303, the start point and end point of the y coordinate of the overlapping portion of the
ステップS305では、オブジェクト301のエッジ情報を伸張し、注目y座標における左右のエッジのx座標値を取得する。同様に、ステップS306では、オブジェクト302のエッジ情報を伸張し、注目y座標における左右のエッジのx座標値を取得する。
In step S305, the edge information of the object 301 is expanded, and the x coordinate values of the left and right edges in the target y coordinate are acquired. Similarly, in step S306, the edge information of the
そしてステップS307では、ステップS305,S306のそれぞれで取得したx座標値を用いて、x方向におけるそれぞれのオブジェクト301,302の重なりがあるか否かを判断する。
In step S307, the x-coordinate values acquired in steps S305 and S306 are used to determine whether or not there is an overlap between the
電子ドキュメント、及びPDLデータには1万個以上のオブジェクトが存在することも普通であるから、ステップS305,S306における伸張処理をその都度行っていたのでは非常に時間が掛かってしまう。そのため、中間データによるアルファブレンド除去処理を行う場合はエッジ情報は非圧縮で持つようにする必要がある。そのため、メモリ容量が増加する。 Since it is normal that there are 10,000 or more objects in the electronic document and PDL data, if the decompression process in steps S305 and S306 is performed each time, it takes a very long time. Therefore, when performing alpha blend removal processing using intermediate data, it is necessary to have the edge information uncompressed. Therefore, the memory capacity increases.
図3(c)は、複数のオブジェクトを含む画像の一例を示す図である。同図に示すような画像310を中間データに変換する場合、図3(d)に示すような、画像310中の各文字や絵等のオブジェクトを管理するためのディスプレイリスト312を作成する必要がある。更には、313a〜313dに示すような、オブジェクト毎、若しくはオブジェクト群(グループ)毎に、画像310上における存在領域を示す情報(グループ範囲情報)も作成する必要がある。例えば、図3(c)に示す文字群311の存在領域(点線で囲まれた領域)を示す情報をグループ範囲情報313aとして作成する。また、アルファブレンド処理を行うと指定されたオブジェクトの中間データにおける位置情報314も作成しておく。
FIG. 3C is a diagram illustrating an example of an image including a plurality of objects. When converting the image 310 as shown in the figure to intermediate data, it is necessary to create a display list 312 for managing objects such as characters and pictures in the image 310 as shown in FIG. is there. Further, it is necessary to create information (group range information) indicating an existing area on the image 310 for each object or each object group (group) as shown in 313a to 313d. For example, information indicating the existence area (area surrounded by a dotted line) of the
このように、各情報を作成しておくことで、アルファブレンド処理が指定されたオブジェクトを探す処理時間が要らなくなる。また、オブジェクト同士の重なり部分の検索処理を行う前に、情報313を参照して、グループ同士で重なり部分を有しているものを特定する。そして、重なり部分を有するグループに含まれているオブジェクト同士で重なり部分を検索する。これにより、重なり部分を検索する処理時間を大幅に短縮することができる。 Thus, by creating each piece of information, processing time for searching for an object for which alpha blending processing is specified is not required. Also, before performing the process of searching for overlapping portions between objects, the information 313 is referenced to identify those having overlapping portions between groups. Then, the overlapping portion is searched for among the objects included in the group having the overlapping portion. Thereby, the processing time for searching for the overlapping portion can be greatly shortened.
なお、アルファブレンド処理を除去する処理を行わないのであれば、ディスプレイリスト312、及びエッジ情報等を(中間データに対する)付加情報として作成し、保持すればよい。なお、この付加情報は圧縮する。このような中間データが「簡易フォーマットの中間データ」である。簡易フォーマットの中間データの作成は高速に行うことができると共に、作成した中間データを保持するメモリの量を軽減させることができる。 If the process for removing the alpha blend process is not performed, the display list 312 and edge information and the like may be created and held as additional information (for intermediate data). This additional information is compressed. Such intermediate data is “intermediate data in a simple format”. The intermediate data in the simple format can be created at high speed, and the amount of memory for holding the created intermediate data can be reduced.
一方、アルファブレンド処理を除去する処理を行うのであれば、更に、グループ範囲情報313や情報314を上記付加情報に含めればよい。この場合、エッジ情報は不圧縮データとする。このような中間データが「詳細フォーマットの中間データ」である。しかし、この場合、作成した中間データを保持するメモリの量が大きくなり、且つこの付加情報の作成時間も長くなる。
On the other hand, if the process for removing the alpha blend process is performed, the group range information 313 and the
次に図4を用いて、コントーンで描画する処理、擬似アルファブレンド処理を介して描画する処理、中間データにおいてアルファブレンド処理を除去した後に描画する処理の3つについて説明する。更には、中間データを生成する処理に比べて、コントーンでフレームメモリに直接描画する処理の方がメモリを多く必要とする理由について説明する。 Next, with reference to FIG. 4, three processes will be described: a process of drawing with a contone, a process of drawing through a pseudo alpha blend process, and a process of drawing after removing the alpha blend process in intermediate data. Furthermore, the reason why the process of directly drawing in the frame memory with a contone requires more memory than the process of generating intermediate data will be described.
図4(a)は、この3つの処理を行う画像形成装置の機能構成を示すブロック図である。400は電子ドキュメントデータである。以下の説明では特に断らない限りは、「電子ドキュメント」が差す対象に、PDLデータも含まれているものとする。電子ドキュメント400のデータは電子ドキュメント解釈部401によってその内容が解釈される。解釈結果は後段の描画処理部406、中間データ生成処理&バンド分割部402に送出される。
FIG. 4A is a block diagram illustrating a functional configuration of an image forming apparatus that performs these three processes.
描画処理部406は、電子ドキュメント解釈部401から受けた解釈内容に基づき、コントーンでフレームメモリに直接画像を描画する処理を行う。フレームメモリは、1ページ分の画像を保持するためのメモリであり、フレームメモリページ407内に設けられている。電子ドキュメント400は一般的にはy座標方向にソートされていないため、1ページ分のメモリが必要となる。
The
一方、中間データ生成処理&バンド分割部402は、電子ドキュメント解釈部401から受けた解釈内容に基づき、オブジェクトのy座標に対するソート処理を行い、オブジェクトをバンドごとの中間データとして生成する処理を行う。この中間データは、簡易フォーマットの中間データ、詳細フォーマットの中間データの何れかである。
On the other hand, the intermediate data generation process &
403は、中間データ生成処理&バンド分割部402により生成されたバンド毎のオブジェクトの中間データである。描画処理部404は、中間データ403に基づいて描画処理を行う。描画結果はフレームメモリバンド405に書き込まれる。ここで、中間データ403は上述の通りバンド毎のものであるので、描画処理部404は、バンド毎の描画処理を行う。従って、フレームメモリバンド405には最低1バンド分の画像を保持するためのエリアがあれば良いことになる。
ここで、上述の通り、フレームメモリページ407が1ページ分のエリアが必要なのに対して、フレームメモリバンド405には1バンド分のエリアがあればよい。即ち、電子ドキュメント400をコントーンで直接描画する方がメモリ使用量は大きなものとなる。しかし、電子ドキュメント400がバンドソートされている場合には、フレームメモリページ407には1バンド分のエリアがあればよい。この場合、バンドソートされている電子ドキュメント400に関してはバンドソート情報を付加し、バンドソートされているものに関してはコントーンでフレームメモリに直接描画する方法を選択することも考えてよい。
Here, as described above, the
フレームメモリページ407、若しくはフレームメモリバンド405に描画された画像は圧縮処理部408によって圧縮される。この圧縮のアルゴリズムについては特に限定するものではないが、例えば、JPEG圧縮などがある。圧縮することで得られるデータ(圧縮データ)は後段のスプール409に送出され、そこに保持される。
An image drawn on the
スプール409は、電子ドキュメント解釈部401に電子ドキュメント400が入力されてから圧縮処理部408で圧縮処理を行うまでの処理と、伸張処理部410以降の処理との間に非同期を作りだすことを目的とするものである。即ち、伸張処理部410、ビデオ出力部411、間引き回路412、プリンタ部413によるプリント処理を休みなく動作させるためには、スプール409には現在プリント中のページの次のページが既に保持されていなくてはいけない。従って、スプール409に画像を送出するまでの画像形成処理は、伸張処理部410以降によるプリント処理とは非同期に動作し、かつプリント処理よりも高速に出来るように構成する。
The purpose of the
更に、スプール409に現在プリント中のページの次以降の複数ページを保持させる為には、保持させるページ数に応じた大きな容量が必要となる。そこで、スプール409が保持するデータは圧縮することが好ましい。
Furthermore, in order for the
次に、伸張処理部410は、スプール409に保持されている画像を順次読み出して伸張し、ビデオ出力部411に送出する。ビデオ出力部411は、受けた画像に基づく画像信号をプリンタ部413に出力する。プリンタ部413は受けた画像信号に基づいて、紙などの記録媒体上に画像の形成(プリント)を行う。
Next, the
なお、本実施形態では、プリントの形式については特に限定するものではなく、インクジェット方式、レーザービーム方式等、の何れを用いても良い。なお、ここで、プリントの設定において、省トナー印刷が指定されていた場合には、ビデオ出力部411による画像信号は間引き回路412に出力される。間引き回路412は、ビデオ信号に対して間引き処理を行い、間引き処理後の画像信号をプリンタ部413に送出する。
In the present embodiment, the print format is not particularly limited, and any of an ink jet method, a laser beam method, and the like may be used. Here, when toner-saving printing is designated in the print settings, the image signal from the
図4(b)は、電子ドキュメント400に対して上記3つの処理の何れを介して処理を行うのか決定するための条件の一例を示す図である。同図に示す如く、電子ドキュメント400に対する付加情報に記述されているアルファブレンド情報、電子ドキュメント400に記載されている印刷設定情報、画像形成装置内のメモリ容量に基づいて、電子ドキュメント400に基づく画像形成処理を行う。
FIG. 4B is a diagram illustrating an example of a condition for determining which of the three processes is performed on the
例えば、アルファブレンド処理が指定されておらず、且つオブジェクトがカラーである場合には、簡易フォーマットの中間データを作成するし、モノクロであれば、コントーンで直接描画する。 For example, if alpha blend processing is not specified and the object is color, intermediate data in a simple format is created, and if it is monochrome, it is drawn directly in contone.
図5は、本実施形態で用いる電子ドキュメントの構成例を示す図である。500は電子ドキュメントの全体を示す。電子ドキュメント500は、ドキュメント全体に対して有効な印刷設定情報501と、各ページの情報504とで構成されている。各ページの情報504には、印刷ヒント情報502が含まれており、更に、「<アルファブレンド>〜</アルファブレンド>」で囲まれた部分(アルファブレンドのヒント情報)がこの印刷ヒント情報502内に記述されている。この印刷ヒント情報502には、各ページに共通する情報もあれば、ドキュメント全体に対して有効な情報もある。
FIG. 5 is a diagram illustrating a configuration example of an electronic document used in the present embodiment.
アルファブレンドのヒント情報は同図に示す如く、アルファブレンドの有無、アルファブレンドの内容、アルファブレンドの座標位置等を示すものである。本実施形態の特徴の1つは、この印刷設定情報501、印刷ヒント情報502に基づいて、印刷に係る処理を切り替える点にある。
As shown in the figure, the alpha blend hint information indicates the presence / absence of alpha blend, the content of alpha blend, the coordinate position of alpha blend, and the like. One of the features of this embodiment is that the processing related to printing is switched based on the
503は、実際に紙などの記録媒体上に記録される画像に係るデータ(各ページの印字情報)である。
図12は、本実施形態に係る画像形成装置のハードウェア構成図である。なお、同図に示す構成は一例であり、その構成は適宜変形例が考えられる。 FIG. 12 is a hardware configuration diagram of the image forming apparatus according to the present embodiment. Note that the configuration shown in the figure is an example, and the configuration can be modified as appropriate.
1201はCPUで、RAM1202やROM1203に格納されているプログラムやデータを用いて画像形成装置全体の制御を行うと共に、プリント処理に係る全体を制御する。
A
1202はRAMで、ハードディスク1204からロードしたプログラムやデータ、I/F1206を介して外部のコンピュータから受信した電子ドキュメントのデータを一時的に記憶するためのエリアを適宜提供することができる。更に、CPU1201が、各種の処理を実行する際に用いるワークエリアも適宜提供することができる。
A
1203はROMで、プリント処理に係る全体の制御処理をCPU1201に実行させるためのプログラムやデータ、画像形成装置の設定データなどを格納する。
A
1204はハードディスクで、I/F1206を介して外部のコンピュータから受信した電子ドキュメントや、これに基づいて作成する中間データ等を一時的に記憶するためのエリアを有する。即ち、図4(a)に示した構成において、メモリ部分に相当する。なお、本実施形態において、各種のデータを一時的に記憶する為に用いるメモリとしては、RAM1202、ハードディスク1204の何れを用いても良いし、適宜それぞれを用いるようにしても良い。
A
1205はプリント部で、中間データに基づいて描画された画像を紙などの記録媒体上にプリントする為の機構を有している。例えば、図4(a)の構成に示したビデオ出力部411、間引き回路412、プリンタ部413により構成されている。
A
1206はI/Fで、外部のコンピュータから送信された電子ドキュメントのデータ(例えば図5に示した構成を有するデータ)は、このI/F1206を介してRAM1202、若しくはハードディスク1204に入力され、そこで一時的に格納される。
1207は上述の各部を繋ぐバスである。
次に、この様な構成を有する画像形成装置により行うプリント処理全体の流れについて説明する。図6(a)は、プリント対象のページの中間データを、RAM1202、若しくはハードディスク1204内に設けられたスプール内に蓄積する為の処理のフローチャートである。なお、同図のフローチャートに従った処理をCPU1201に実行させるためのプログラムやデータはROM1203に格納されている。そして、このプログラムやデータはCPU1201による制御に従って適宜RAM1202にロードされ、CPU1201による処理対象となる。
Next, the overall flow of print processing performed by the image forming apparatus having such a configuration will be described. FIG. 6A is a flowchart of a process for storing intermediate data of a page to be printed in the
先ず、電子ドキュメントのデータをI/F1206を介してRAM1202、若しくはハードディスク1204に取得すると、CPU1201はこの電子ドキュメント中に印刷設定情報が含まれているのかチェックする(ステップS601)。含まれていない場合には処理をステップS605に進める。一方、含まれている場合には処理をステップS602に進め、印刷設定情報をRAM1202、若しくはハードディスク1204に取得する(ステップS602)。
First, when data of an electronic document is acquired in the
次に、CPU1201はこの取得した印刷設定情報を参照し、ドラフト印刷や省トナー印刷等、高画質よりも高速性を重視した印刷設定が成されている場合には、処理をステップS603を介してステップS604に進める。そして、より高速に中間データを生成すべく、簡易フォーマットの中間データを生成するよう設定すると共に、アルファブレンド処理として、擬似アルファブレンド処理を行うよう、設定する(ステップS604)。
Next, the
一方、CPU1201が印刷設定情報を参照した結果、高速性を重視した印刷設定が成されていない場合には処理をステップS603を介してステップS613に進める。そして印刷結果の品質を重視した設定(高階調、高解像度などの高画質を重視した設定)が成されていない場合には処理をステップS613を介してステップS605に進める。
On the other hand, as a result of the
一方、印刷結果の品質を重視した設定が成されている場合には、処理をステップS613を介してステップS614に進める。そして、詳細フォーマットの中間データを生成するよう設定すると共に、アルファブレンド処理として、アルファブレンド除去処理を行うよう、設定する(ステップS614)。 On the other hand, if the setting is made with emphasis on the quality of the print result, the process proceeds to step S614 via step S613. Then, it is set to generate intermediate data in a detailed format, and is set to perform alpha blend removal processing as alpha blend processing (step S614).
以上の処理によって、印刷設定に応じた中間データのフォーマット、及びアルファブレンド処理の種類を切り替えることができる。 Through the above processing, the format of the intermediate data and the type of alpha blending processing according to the print settings can be switched.
そして次に、ステップS605〜S612の処理を、印刷対象ページ毎に行う。 Next, the processes in steps S605 to S612 are performed for each page to be printed.
先ず、全ての印刷対象ページについて中間データをスプール内に蓄積したか否かをチェックし、蓄積した場合には本処理を終了する。一方、蓄積していない場合には処理をステップS605を介してステップS606に進める。そして、RAM1202、若しくはハードディスク1204内のメモリ容量が所定量以上である、若しくは電子ドキュメントがバンドソートされている場合には処理をステップS606を介してステップS608に進める。なお、電子ドキュメントがバンドソートされているか否かは、電子ドキュメントデータ中の「バンドソート」項目を参照することでチェックすることができ、この項目の設定が「済」である場合には、バンドソートされているものと判断する。
First, it is checked whether or not intermediate data has been accumulated in the spool for all pages to be printed. If accumulated, this processing is terminated. On the other hand, if not, the process proceeds to step S606 via step S605. If the memory capacity in the
そして、RAM1202、若しくはハードディスク1204内に設けられたページフレームメモリ内に、電子ドキュメントのデータに基づく画像をコントーンでフレームメモリに直接描画する(ステップS608)。そして描画した画像を圧縮し、スプール内に格納する(ステップS609)。
Then, an image based on the data of the electronic document is directly drawn on the frame memory in a contone manner in the page frame memory provided in the
一方、RAM1202、若しくはハードディスク1204内のメモリ容量が所定量以上ではなく、且つ電子ドキュメントがバンドソートされていない場合には処理をステップS606を介してステップS607に進める。そして、ステップS604,若しくはステップS614で設定された内容に従って、電子ドキュメントを中間データに変換する(ステップS607)。ステップS607における処理の詳細については後述する。
On the other hand, if the memory capacity in the
次に、全てのバンドについて後述する描画処理、圧縮処理を行ったかを判断し、行っている場合には処理をステップS610を介してステップS605に戻し、次のページについて以降の処理を行う。一方、全てのバンドについて後述する描画処理、圧縮処理を行っていない場合には処理をステップS610を介してステップS611に進める。そして、ステップS607で作成した中間データに基づいて、バンド毎に、RAM1202、若しくはハードディスク1204内に設けられたバンドフレームメモリに描画する処理を行う(ステップS611)。そして、描画した画像を圧縮し、スプール内に格納する処理を行う(ステップS612)。
Next, it is determined whether drawing processing and compression processing to be described later have been performed for all the bands. If so, the processing returns to step S605 via step S610, and the subsequent processing is performed for the next page. On the other hand, if drawing processing and compression processing to be described later are not performed for all bands, the processing proceeds to step S611 via step S610. Then, based on the intermediate data created in step S607, a drawing process is performed for each band in the
以上の処理によって、メモリ容量に応じて、省メモリを重視したアルファブレンド処理を行うことができると共に、メモリ容量があればアルファブレンドを確実に処理することができる。 With the above processing, it is possible to perform alpha blending processing with an emphasis on memory saving according to the memory capacity, and it is possible to reliably process alpha blending if there is a memory capacity.
次に、スプール内に格納した圧縮画像データを伸張してプリントする一連の処理について、同処理のフローチャートを示す図6(b)を用いて説明する。先ず、スプール内に圧縮画像データが存在するかをチェックし、存在する場合には処理をステップS621を介してステップS622に進め、これを伸張する(ステップS622)。次に、上記ステップS603における処理で印刷設定情報を参照した結果、ドラフト印刷や省トナー印刷等、高画質よりも高速性を重視した印刷設定が成されている場合には、処理をステップS623を介してステップS625に進める。 Next, a series of processes for decompressing and printing the compressed image data stored in the spool will be described with reference to FIG. 6B showing a flowchart of the process. First, it is checked whether or not there is compressed image data in the spool. If it exists, the process proceeds to step S622 via step S621, and this is expanded (step S622). Next, as a result of referring to the print setting information in the processing in step S603, if print settings that emphasize high speed rather than high image quality, such as draft printing and toner-saving printing, have been made, the process proceeds to step S623. Then, the process proceeds to step S625.
そして、間引き回路412によって、伸張画像に基づく画像信号を間引き、間引き済みの画像信号をプリント部1205に送出する(ステップS625)。一方、このような設定が成されていない場合には処理をステップS623を介してステップS624に進め、伸張画像に基づく画像信号をそのままプリント部1205に送出する(ステップS624)。
Then, the thinning circuit 412 thins out the image signal based on the expanded image, and sends the thinned image signal to the printing unit 1205 (step S625). On the other hand, if such a setting has not been made, the process proceeds to step S624 via step S623, and an image signal based on the expanded image is sent to the
これにより、プリント部1205は送出された画像信号に基づいた画像を紙などの記録媒体上に形成することができる。
Accordingly, the
次に、上記ステップS607における処理の詳細について、図7を用いて説明する。図7は、ステップS607における処理の詳細を示すフローチャートである。 Next, details of the processing in step S607 will be described with reference to FIG. FIG. 7 is a flowchart showing details of the processing in step S607.
先ず、作成する中間データのフォーマットの設定が、簡易フォーマットであるのかをチェックする(ステップS700)。これは、ステップS604,S614の何れの処理を行ったのかをチェックすることに等価である。チェックの結果、簡易フォーマットで中間データを作成すると設定されている場合には、処理をステップS710に進め、簡易フォーマットの中間データを作成すると共に、中間データの生成時には擬似アルファブレンド処理を行う(ステップS710)。 First, it is checked whether the format setting of the intermediate data to be created is a simple format (step S700). This is equivalent to checking which process in steps S604 and S614 has been performed. If it is determined that the intermediate data is to be created in the simple format as a result of the check, the process proceeds to step S710 to create the intermediate data in the simple format and perform the pseudo alpha blending process when generating the intermediate data (step S710). S710).
一方、簡易なフォーマットで中間データを作成すると設定されていない場合には、処理をステップS701に進め、作成する中間データのフォーマットの設定が、詳細フォーマットであるのかをチェックする(ステップS701)。チェックの結果、詳細フォーマットで中間データを作成すると設定されていない場合には、処理をステップS707に進める。一方、設定されている場合には処理をステップS702に進め、電子ドキュメントを参照し、アルファブレンドのヒント情報が含まれているか否かをチェックする(ステップS702)。含まれていない場合には処理をステップS707に進める。 On the other hand, if it is not set to create intermediate data in a simple format, the process advances to step S701 to check whether the format setting of the intermediate data to be created is a detailed format (step S701). As a result of the check, if it is not set to create intermediate data in the detailed format, the process proceeds to step S707. On the other hand, if it is set, the process proceeds to step S702, where the electronic document is referenced to check whether alpha blend hint information is included (step S702). If not included, the process proceeds to step S707.
一方、含まれている場合には、処理をステップS703に進め、ヒント情報を取得する(ステップS703)。そして、取り込んだヒント情報中の「アルファブレンド」の項目を参照し、「あり」であるか「なし」であるかをチェックする(ステップS704)。チェックの結果、「なし」の場合には処理をステップS710に進める。一方、「あり」である場合には処理をステップS705に進める。 On the other hand, if it is included, the process proceeds to step S703 to obtain hint information (step S703). Then, with reference to the item “alpha blend” in the fetched hint information, it is checked whether it is “present” or “none” (step S704). If the result of the check is “none”, the process proceeds to step S710. On the other hand, if “Yes”, the process proceeds to step S705.
そして、次に、ヒント情報中の「アルファブレンド値」の項目を参照し、「0%」と「100%」のみが設定されているのか否かをチェックする(ステップS705)。チェックの結果、「0%」と「100%」のみが設定されている場合には処理をステップS710に進める。一方、「0%」と「100%」のみが設定されているわけではない場合には処理をステップS706に進める。 Next, with reference to the item “alpha blend value” in the hint information, it is checked whether only “0%” and “100%” are set (step S705). If only “0%” and “100%” are set as a result of the check, the process proceeds to step S710. On the other hand, if only “0%” and “100%” are not set, the process proceeds to step S706.
そして、次に、ヒント情報中の「アルファブレンド値」の項目を参照する(ステップS706)。その結果、「0%」、「100%」以外の数値であって、且つ同じ値(多くの場合50%)であり、更に、印刷設定情報中の印刷モードが「モノクロ固定」である場合には、処理をステップS710に進める。一方、この条件を満たしていない場合には処理をステップS707に進め、詳細フォーマットの中間データを作成する(ステップS707)。 Next, the “alpha blend value” item in the hint information is referenced (step S706). As a result, when the values are values other than “0%” and “100%” and the same value (in many cases, 50%), and the print mode in the print setting information is “monochrome fixed”. Advances the process to step S710. On the other hand, if this condition is not satisfied, the process proceeds to step S707 to create intermediate data in the detailed format (step S707).
次に、上記ステップS702において、ヒント情報中の「アルファブレンド」の項目が「あり」であると判断した場合には処理をステップS708を介してステップS709に進める。そして、ステップS707で作成した中間データに対してアルファブレンド処理を除去する上記処理を行う(ステップS709)。 Next, when it is determined in step S702 that the “alpha blend” item in the hint information is “present”, the process proceeds to step S709 via step S708. Then, the above process for removing the alpha blend process is performed on the intermediate data created in step S707 (step S709).
以上の処理でもって、アルファブレンドのヒント情報に応じて、アルファブレンド処理の種類を切り替えることができる。 With the above processing, the type of alpha blending process can be switched according to the hint information of alpha blending.
ここで、上記ステップS706では、ヒント情報を参照し、『「0%」、「100%」以外の数値であって、且つ同じ値(多くの場合50%)であり、更に、印刷設定情報中の印刷モードが「モノクロ固定」である』か否かをチェックした。ここでこの条件に「モノクロ固定である」という条件を含めた点について図8を用いて説明する。 Here, in the above step S706, the hint information is referred to, “a numerical value other than“ 0% ”and“ 100% ”and the same value (in many cases, 50%). Whether the print mode is “monochrome fixed” or not. Here, the point that the condition “monochrome fixed” is included in this condition will be described with reference to FIG.
擬似アルファブレンド処理では、ハーフトーンで表現された色を、アルファブレンド値に基づいて生成された面積パターンで合成することになる。同図において800はハーフトーンで表現された色が占める画像上の領域を示す。この領域800は、ディザマトリックスを使用したハーフトーン処理において、一般的にディザ線801の数やディザ角度802といった要素によって特徴付けられる。例えば、50%の透過だからといって、単純な市松模様のパターンでは透過を正常に表現できず、ある程度ディザマトリックスの特徴に応じたパターンを生成することになる。
In the pseudo-alpha blend process, the color expressed in halftone is synthesized with the area pattern generated based on the alpha blend value. In the figure,
モノクロの場合、ディザマトリックスは1つなので、例えば50%のパターンを作り出すことも比較的容易ではある。しかし、カラーではKYMCそれぞれの色において異なったディザマトリックスが使用されることが多く、KYMCに共通の50%のパターンを作ることは困難である。また、KYMCそれぞれに対して50%パターンを作成することは比較的簡単ではあるが、KYMCそれぞれのパターンで擬似アルファブレンド処理された後のKYMC合成結果は、元のKYMCの50%とは色味等が大きく異なってしまう問題が発生する。810〜813に上述した状況を示す。つまり擬似アルファブレンド処理はモノクロには適用しやすいがカラーには適応し難い。 In the case of monochrome, since there is one dither matrix, it is relatively easy to create, for example, a 50% pattern. However, different dither matrices are often used for each color of KYMC, and it is difficult to create a 50% pattern common to KYMC. In addition, it is relatively easy to create a 50% pattern for each KYMC, but the KYMC synthesis result after the pseudo alpha blending process with each KYMC pattern is different from 50% of the original KYMC. The problem that etc. differ greatly occurs. The situation described above is shown at 810-813. In other words, the pseudo alpha blending process is easy to apply to monochrome but difficult to apply to color.
次に、電子ドキュメントに対して、アルファブレンド情報(ヒント情報)を付加する処理について、図9,10を用いて説明する。 Next, processing for adding alpha blend information (hint information) to an electronic document will be described with reference to FIGS.
図9は、コンピュータ900と、画像形成装置911との機能構成を示すブロック図である。
FIG. 9 is a block diagram illustrating functional configurations of the
コンピュータ900上ではアプリケーション901が動作しており、このアプリケーション901により電子ドキュメント903を作成することができる。作成した電子ドキュメント903はデータベース登録部904を動作させることによりデータベース906内に登録することもできるし、送信部ユーティリティー908を動作させ、送信部907により画像形成装置911に送信することもできる。なお、送信部907は、電子ドキュメント903がPDLデータではない場合には、PDLデータに変換するようにしても良い。
An
ここで、電子ドキュメント903にはアルファブレンド情報を付加することができるのであるが、その付加のタイミングは902,905,909,910に示す如く、様々なタイミングで付加することができる。即ち、902で示す如く、アプリケーション901を動作させ、電子ドキュメント903を作成する際に付加したり、905で示す如く、データベース登録部904により電子ドキュメント903をデータベース906に登録する際に付加したりすることができる。更には、909で示す如く、送信部ユーティリティー908により送信部907に電子ドキュメント903を渡す際に付加してもよいし、送信部907によって電子ドキュメント903を画像形成装置911に送信する際に付加するようにしてもよい。
Here, alpha blend information can be added to the
一方、画像形成装置911には、受信部912、画像形成処理部951、プリンタ部952が備わっている。受信部912は、送信部907から送出された電子ドキュメント903を受信し、後段の画像形成処理部951に渡す。画像形成処理部951は、この電子ドキュメント903に基づいて上述の中間データ生成処理、描画処理を行い、描画結果を画像信号としてプリンタ部952に渡す。プリンタ部952は、この画像信号に従って、電子ドキュメント903の画像を紙などの記録媒体上に記録する処理を行う。
On the other hand, the
ここで、上記アルファブレンド情報を電子ドキュメント903に付加する処理は、画像形成装置911側で行うようにしても良い。即ち、913で示す如く、受信部912で電子ドキュメント903を受信した際に付加するようにしてもよい。画像形成装置911側でアルファブレンド情報を付加するようにすれば、例えば、処理能力の低い装置(PDAや携帯電話等)から電子ドキュメント903が送信された場合に有効である。
Here, the process of adding the alpha blend information to the
図10は、電子ドキュメントにアルファブレンド情報を付加する処理のフローチャートである。 FIG. 10 is a flowchart of processing for adding alpha blend information to an electronic document.
先ず、全ての電子ドキュメントについてアルファブレンド情報の付加処理を行ったかをチェックし(ステップS1001)、行ったのであれば本処理を終了する。一方、全ての電子ドキュメントについてアルファブレンド情報の付加処理を行っていないのであれば、処理をステップS1002に進め、現在のページに対する「アルファブレンド」成る項目に「なし」を設定する(ステップS1002)。 First, it is checked whether alpha blend information addition processing has been performed for all electronic documents (step S1001). If so, this processing ends. On the other hand, if alpha blend information addition processing has not been performed for all electronic documents, the process proceeds to step S1002, and “None” is set in the item “alpha blend” for the current page (step S1002).
次に、全てのページについて処理を行ったか否かをチェックし(ステップS1003)、行っているのであれば、処理をステップS1010に進める。ステップS1010以降の処理については後述する。一方、全てのページについて処理を行っていないのであれば、処理をステップS1004に進め、現在のページ内における全てのオブジェクトについて処理を行ったのかをチェックする(ステップS1004)。このチェックの結果、全てのオブジェクトについて処理を行ったのであれば、処理をステップS1003に戻し、次のページについて以降の処理を行う。 Next, it is checked whether or not processing has been performed for all pages (step S1003). If so, the process proceeds to step S1010. The processing after step S1010 will be described later. On the other hand, if processing has not been performed for all pages, the process proceeds to step S1004 to check whether processing has been performed for all objects in the current page (step S1004). If all the objects have been processed as a result of this check, the process returns to step S1003 to perform the subsequent processes for the next page.
一方、現在のページ内における全てのオブジェクトについて処理を行っていないのであれば、処理をステップS1005に進め、現在のオブジェクトを構成している全ての画素について処理を行ったかをチェックする(ステップS1005)。このチェックの結果、現在のオブジェクトを構成している全ての画素について処理を行ったのであれば、処理をステップS1004に戻し、次のオブジェクトについて以降の処理を行う。 On the other hand, if all the objects in the current page have not been processed, the process proceeds to step S1005, and it is checked whether all the pixels constituting the current object have been processed (step S1005). . As a result of this check, if processing has been performed for all the pixels constituting the current object, the processing returns to step S1004, and the subsequent processing is performed for the next object.
一方、現在のオブジェクトを構成している全ての画素について処理を行っていないのであれば、処理をステップS1006に進め、現在の画素についてアルファブレンド処理を行う旨の指定がなされているか否かをチェックする(ステップS1006)。これは、アルファ成分が含まれている画素値を有する画素については、アルファブレンド処理を行う旨の指定が成されていると判断する。 On the other hand, if the processing has not been performed for all the pixels constituting the current object, the process proceeds to step S1006, and it is checked whether the alpha blending processing has been specified for the current pixel. (Step S1006). This determines that the designation of performing the alpha blending process is made for the pixel having the pixel value including the alpha component.
そして、指定が成されていない場合には処理をステップS1005に戻し、次の画素について以降の処理を行う。一方、指定が成されている場合には処理をステップS1007に進め、現在のページに対する「アルファブレンド」成る項目に「あり」を設定する(ステップS1007)。 If no designation is made, the process returns to step S1005 to perform the subsequent processes for the next pixel. On the other hand, if the designation is made, the process advances to step S1007 to set “present” in the item “alpha blend” for the current page (step S1007).
次に、現在のページに対する「アルファブレンド値」成る項目に、現在の画素のアルファ値を設定する(ステップS1008)。そして、このアルファ値が0,255以外である場合には、この画素の位置を一時的にメモリに保存する(ステップS1009)。そしてステップS1005に処理を戻し、次の画素について以降の処理を行う。 Next, the alpha value of the current pixel is set in the item “alpha blend value” for the current page (step S1008). If the alpha value is other than 0, 255, the pixel position is temporarily stored in the memory (step S1009). Then, the process returns to step S1005 to perform the subsequent processes for the next pixel.
一方、ステップS1003において、全てのページについて処理を行ったのであれば、処理をステップS1010に進める。そして、各ページについて設定した「アルファブレンド」の項目を、各ページのヒント情報における「アルファブレンド」成る項目に設定する(ステップS1010)。 On the other hand, if all pages have been processed in step S1003, the process proceeds to step S1010. Then, the item “alpha blend” set for each page is set to the item “alpha blend” in the hint information of each page (step S1010).
次に、ステップS1008で設定した各アルファブレンド値を、ヒント情報に記録する処理を行う(ステップS1011)。そして最後に、ステップS1009においてメモリに記録した画素位置をヒント情報に記録する処理を行う(ステップS1012)。 Next, a process for recording each alpha blend value set in step S1008 in the hint information is performed (step S1011). Finally, a process of recording the pixel position recorded in the memory in step S1009 in the hint information is performed (step S1012).
なお、ステップS1011,S1012では、ステップS1009においてメモリに記録したページ内における画素位置、及びステップS1008で設定したアルファブレンド値を参照し、同じアルファ値を設定された位置範囲をヒント情報に記録する。 In steps S1011 and S1012, the pixel position in the page recorded in the memory in step S1009 and the alpha blend value set in step S1008 are referenced, and the position range where the same alpha value is set is recorded in the hint information.
次に、このアルファブレンドの描画位置(範囲)の使用方法について、図11を用いて簡単に説明する。図11は、1つのページ内における範囲毎のアルファブレンド処理について説明する図である。 Next, a method of using this alpha blend drawing position (range) will be briefly described with reference to FIG. FIG. 11 is a diagram illustrating alpha blend processing for each range in one page.
描画位置(範囲)の情報があれば、ページ内でも処理の切り替えを行うことが出来る。例えば、同図において1101,1103に示す範囲については簡易フォーマットで中間データを作成し、高速に画像形成を行う。また、1102で示す範囲については詳細フォーマットで中間データを作成し、アルファブレンドを正常に描画する。 If there is information on the drawing position (range), processing can be switched even within the page. For example, intermediate data is created in a simple format for the ranges indicated by 1101 and 1103 in FIG. For the range indicated by 1102, intermediate data is created in a detailed format, and alpha blending is normally rendered.
以上の説明により、本実施形態によれば、中間データからのアルファブレンド除去処理が高速にかつ省メモリが実現できる。これにより、ユーザがアルファブレンド処理を含むドキュメントあるはPDLデータを表示あるいは印刷する場合に高速にかつ省メモリでかつ描画不正ない表示あるいは印字結果を得ることが出来る。 As described above, according to the present embodiment, alpha blend removal processing from intermediate data can be performed at high speed and memory saving can be realized. As a result, when the user displays or prints a document including alpha blend processing or PDL data, it is possible to obtain a display or print result with high speed, memory saving, and non-rendering.
なお、上記画像形成装置に適用可能な装置としては、一般に、画像を紙などの記録媒体上に記録する機能を有するものであれば良く、例えば、プリンタや複写機、複合機などである。更に、電子ドキュメントの供給形態としては、コンピュータから供給されること以外にも、例えば、画像形成装置を複合機でもって構成する場合、スキャナでもって画像を取り込み、これを、画像形成部に供給するようにしても良い。この場合、上記説明における一連の処理はこの画像形成部が行うことになる。 An apparatus applicable to the above-described image forming apparatus generally only needs to have a function of recording an image on a recording medium such as paper, and is, for example, a printer, a copier, or a multifunction machine. Further, as an electronic document supply form, in addition to being supplied from a computer, for example, when the image forming apparatus is configured as a multifunction peripheral, an image is captured by a scanner and supplied to the image forming unit. You may do it. In this case, a series of processing in the above description is performed by the image forming unit.
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。 Needless to say, the object of the present invention can be achieved as follows. That is, a recording medium (or storage medium) that records a program code of software that implements the functions of the above-described embodiments is supplied to a system or apparatus. Then, the computer (or CPU or MPU) of the system or apparatus reads and executes the program code stored in the recording medium. In this case, the program code itself read from the recording medium realizes the functions of the above-described embodiment, and the recording medium on which the program code is recorded constitutes the present invention.
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Further, by executing the program code read by the computer, an operating system (OS) or the like running on the computer performs part or all of the actual processing based on the instruction of the program code. Needless to say, the process includes the case where the functions of the above-described embodiments are realized.
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Furthermore, it is assumed that the program code read from the recording medium is written in a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer. After that, based on the instruction of the program code, the CPU included in the function expansion card or function expansion unit performs part or all of the actual processing, and the function of the above-described embodiment is realized by the processing. Needless to say.
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。 When the present invention is applied to the recording medium, program code corresponding to the flowchart described above is stored in the recording medium.
Claims (13)
前記電子データを印刷する際の設定を示す印刷設定情報を取得する第2の取得手段と、
前記印刷設定情報に基づくフォーマットでもって、前記電子データの中間データを作成する作成手段と、
前記印刷設定情報を参照し、高速印刷を重視する旨の設定が成されている場合には、前記オブジェクトに対して擬似アルファブレンド処理を行う第1の処理手段と、
前記印刷設定情報を参照し、印刷結果の品質を重視する旨の設定が成されている場合には、前記オブジェクトに対してアルファブレンド処理を行う第2の処理手段と、
前記第1の処理手段、若しくは前記第2の処理手段による処理後の中間データに基づいて印刷処理を行う印刷手段と
を備えることを特徴とする画像形成装置。 First acquisition means for acquiring electronic data composed of an object group including one or more objects including a target portion of alpha blend processing;
Second acquisition means for acquiring print setting information indicating settings for printing the electronic data;
Creating means for creating intermediate data of the electronic data in a format based on the print setting information;
A first processing means for performing a pseudo-alpha blending process on the object when the print setting information is referred to and a setting for emphasizing high-speed printing is made;
A second processing means for performing alpha blending processing on the object when the print setting information is referred to and setting of emphasizing the quality of the print result is made;
An image forming apparatus comprising: a printing unit that performs a printing process based on intermediate data that has been processed by the first processing unit or the second processing unit.
前記電子データを印刷する際の設定を示す印刷設定情報を取得する第2の取得工程と、
前記印刷設定情報に基づくフォーマットでもって、前記電子データの中間データを作成する作成工程と、
前記印刷設定情報を参照し、高速印刷を重視する旨の設定が成されている場合には、前記オブジェクトに対して擬似アルファブレンド処理を行う第1の処理工程と、
前記印刷設定情報を参照し、印刷結果の品質を重視する旨の設定が成されている場合には、前記オブジェクトに対してアルファブレンド処理を行う第2の処理工程と、
前記第1の処理工程、若しくは前記第2の処理工程による処理後の中間データに基づいて印刷処理を行う印刷工程と
を備えることを特徴とする画像形成方法。 A first acquisition step of acquiring electronic data composed of an object group including one or more objects including a target portion of alpha blend processing;
A second acquisition step of acquiring print setting information indicating a setting when printing the electronic data;
A creation step of creating intermediate data of the electronic data in a format based on the print setting information;
A first processing step of performing a pseudo-alpha blending process on the object when a setting for emphasizing high-speed printing is made with reference to the print setting information;
A second processing step of performing an alpha blending process on the object when the print setting information is referred to and the setting of emphasizing the quality of the print result is made;
An image forming method comprising: a printing step of performing a printing process based on intermediate data after the processing by the first processing step or the second processing step.
前記判別手段によりアルファブレンド値が所定値であると判別された場合、簡易フォーマットの中間データを生成し、前記判別手段によりアルファブレンド値が所定値でないと判別された場合、詳細フォーマットの中間データを生成する生成手段と、
前記生成手段により生成された中間データに基づき印刷を行う印刷手段とを有することを特徴とする画像形成装置。 A discriminating means for discriminating whether or not the set alpha blend value is a predetermined value;
When the determining unit determines that the alpha blend value is a predetermined value, it generates intermediate data in a simple format. When the determining unit determines that the alpha blend value is not a predetermined value, the intermediate data in the detailed format is generated. Generating means for generating;
An image forming apparatus comprising: a printing unit that performs printing based on the intermediate data generated by the generation unit.
前記判別ステップによりアルファブレンド値が所定値であると判別された場合、簡易フォーマットの中間データを生成し、前記判別ステップによりアルファブレンド値が所定値でないと判別された場合、詳細フォーマットの中間データを生成する生成ステップと、
前記生成ステップにより生成された中間データに基づき画像を形成する形成ステップとを有することを特徴とする画像形成方法。 A determination step of determining whether or not the set alpha blend value is a predetermined value;
If it is determined that the alpha blend value is a predetermined value in the determination step, intermediate data in a simple format is generated. If the alpha blend value is determined not to be a predetermined value in the determination step, intermediate data in a detailed format is generated. A generation step to generate;
And a forming step of forming an image based on the intermediate data generated by the generating step.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005317112A JP2007122621A (en) | 2005-10-31 | 2005-10-31 | Information processor, information processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005317112A JP2007122621A (en) | 2005-10-31 | 2005-10-31 | Information processor, information processing method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007122621A true JP2007122621A (en) | 2007-05-17 |
Family
ID=38146363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005317112A Withdrawn JP2007122621A (en) | 2005-10-31 | 2005-10-31 | Information processor, information processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007122621A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009154365A (en) * | 2007-12-26 | 2009-07-16 | Ricoh Co Ltd | Image processing apparatus, image processing method, image processing program and recording medium |
US8289560B2 (en) | 2006-06-26 | 2012-10-16 | Brother Kogyo Kabushiki Kaisha | Transparency and overlay processing for print data |
-
2005
- 2005-10-31 JP JP2005317112A patent/JP2007122621A/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8289560B2 (en) | 2006-06-26 | 2012-10-16 | Brother Kogyo Kabushiki Kaisha | Transparency and overlay processing for print data |
JP2009154365A (en) * | 2007-12-26 | 2009-07-16 | Ricoh Co Ltd | Image processing apparatus, image processing method, image processing program and recording medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4995057B2 (en) | Drawing apparatus, printing apparatus, drawing method, and program | |
US5315693A (en) | Method and system for integrating in a single image, character and graphical information by employing data of different pixel resolution | |
US6252677B1 (en) | Method and apparatus for rendering object oriented image data using multiple rendering states selected based on imaging operator type | |
JP2009032186A (en) | Image processor, control method thereof, program therefor, and storage medium | |
US6247028B1 (en) | Controlling attributes of pre-registered form data to match those of data to be printed with the form data | |
US20060075362A1 (en) | Image processing apparatus, method, and recording medium on which program is recorded for displaying thumbnail/preview image | |
JP2000224414A (en) | Information processing system, control method therefor, information processing device, control method therefor and computer readable memory | |
JP6018398B2 (en) | Image processing apparatus and processing method thereof | |
JP2004214991A (en) | Document image data management system, its program, its apparatus, and its method | |
JP2008042345A (en) | Image processing method and image processor | |
JP2007122621A (en) | Information processor, information processing method | |
JPH041862A (en) | Graphic selecting method | |
JP2001169120A (en) | Method, device, and system for image processing | |
JP2010092141A (en) | Image processing system, image reader, image processor, and image processing program | |
JPH0581397A (en) | Page scroll method and image processor | |
JP5800217B2 (en) | Rendering method | |
JP2019111677A (en) | Image processing device, image processing device control method, image forming device and program | |
JP2000324331A (en) | Image processor and method therefor | |
JP2001127975A (en) | Image processing, control method therefor and storage medium | |
JP4006124B2 (en) | Information processing system, information processing apparatus, control method therefor, and recording medium | |
JP4006123B2 (en) | Information processing system, information processing apparatus, control method therefor, and recording medium | |
JP2001078036A (en) | Device and method for processing image | |
JPH0713541A (en) | Method for processing image and its device | |
JPH106553A (en) | Printer and its control method | |
JPH0696183A (en) | Method and device for image processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090106 |