JP2006244248A - Image processing device, image processing method, and program for executing image processing method - Google Patents
Image processing device, image processing method, and program for executing image processing method Download PDFInfo
- Publication number
- JP2006244248A JP2006244248A JP2005060709A JP2005060709A JP2006244248A JP 2006244248 A JP2006244248 A JP 2006244248A JP 2005060709 A JP2005060709 A JP 2005060709A JP 2005060709 A JP2005060709 A JP 2005060709A JP 2006244248 A JP2006244248 A JP 2006244248A
- Authority
- JP
- Japan
- Prior art keywords
- alpha
- processing
- intermediate data
- alpha value
- information
- 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
Abstract
Description
本発明は、プリンタにプリント動作を行わせる情報処理装置、及び情報処理方法に関するものである。 The present invention relates to an information processing apparatus and an information processing method for causing a printer to perform a printing operation.
従来、フレームメモリに描画する処理部分はハードウェアを用いて高速化するような方法が一般的である。ハードウェアにすることにより高速化の効果が得られるが、その分高度な描画機能をサポートし難いという問題が発生する。この問題はソフトウェアで高速に描画処理しようとした場合にも発生する。フレームメモリに描画する処理に関するソフトウェアに関しては、なるべく単純な構成にし高速化する必要があるが、高度な描画機能をサポートしようとした場合、構成が複雑化し高速に処理することが出来ないためである。その機能の1つとしてアルファブレンド処理がある。アルファブレンド処理をサポートしていない場合、アルファブレンド処理を行うことができない。ビットマップイメージのビット深さがアルファブレンド値のビット深さよりも少ない場合(一般にハーフトーンされた状態での描画処理)でも、アルファブレンド処理を行うことができない。この問題を解決するために入力された描画コマンドをビットマップイメージに描画する描画手段と、前記描画コマンドとして入力オブジェクトをビットマップに描画する際のアルファブレンド指定(透明度指定)を行う描画方法指定手段とを有する印刷制御装置および画像制御装置のデータ処理方法において、前記アルファブレンド指定をアルファ値に応じた面積情報に置換するアルファ値置換手段と、前記描画コマンドを面積情報に応じた処理を行うための描画コマンドに変換する描画コマンド変換するものがあった(例えば、特許文献1参照)。 Conventionally, a method for speeding up a processing portion to be drawn in a frame memory by using hardware is generally used. Although speeding up effect can be obtained by using hardware, there is a problem that it is difficult to support advanced drawing functions. This problem also occurs when trying to draw at high speed with software. Software related to the drawing process in the frame memory needs to be as simple as possible to speed up, but if you try to support an advanced drawing function, the structure will be complicated and cannot be processed at high speed. . One of the functions is alpha blend processing. If the alpha blend process is not supported, the alpha blend process cannot be performed. Even when the bit depth of the bitmap image is smaller than the bit depth of the alpha blend value (generally, drawing processing in a halftoned state), the alpha blend processing cannot be performed. In order to solve this problem, a drawing unit that draws an input drawing command on a bitmap image, and a drawing method designation unit that performs alpha blend specification (transparency specification) when drawing an input object on a bitmap as the 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 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 to be converted into a drawing command (see, for example, Patent Document 1).
しかしながら、上記従来技術は擬似アルファブレンド処理であり、本来のアルファブレンド処理をした描画結果とは異なってしまう。そこで一度中間データを生成した後に、中間データを検索しアルファブレンドが必要なオブジェクトに関してはアルファブレンド処理を行ってしまい、中間データをアルファブレンド処理が無い状態にしてから、フレームメモリに描画する処理に受け渡す方法が考えられる。なお、本特許では1つのピクセルは8ビットの階調を持つものとし、アルファ値も8ビットの深さを持つとして説明するが、任意のビット数(例えば16ビット)の時にも適応可能であることは言うまでも無い。
しかしながら、上述した中間データをアルファブレンドが無い状態にする技術は、アルファブレンドが指定されたオブジェクトと、ページ内に存在する全てのオブジェクトとの重なりを判定する必要があるため処理に時間が掛かってしまうという問題点があった。 However, the above-described technique for making the intermediate data in the state without alpha blending requires time to process because it is necessary to determine the overlap between the object for which alpha blending is specified and all the objects existing in the page. There was a problem of end.
また、中間データ生成時にピクセルごとにアルファブレンドが指定されているデータを単純に保存してしまうと情報量が膨大になり中間データを保存するためのRAMが多量に必要になってしまうとういう問題点があった。 In addition, if you simply save the data with alpha blend specified for each pixel when generating the intermediate data, the amount of information will be enormous and a lot of RAM will be required to store the intermediate data. There was a point.
本発明は上記問題点を解決し、主にCPUの能力や多量のメモリを持たない装置においても不正の無いアルファブレンド処理を可能にすることを課題とする。 SUMMARY OF THE INVENTION An object of the present invention is to solve the above problems, and to enable an alpha blend process without fraud even in an apparatus that does not have a CPU capability or a large amount of memory.
フレームメモリに描画する処理がアルファブレンド処理不可能な場合、中間データ生成時点でアルファブレンド処理を前処理してしまい、中間データをアルファブレンド処理が含まれない状態にしてしまう処理を有する印刷装置において、中間データ生成時には描画に用いるデータと、アルファブレンド情報を記述したテーブルをもって中間データ生成とする生成手段を有し、アルファブレンド情報を記述したテーブルを元に中間データからアルファブレンド処理を除去する処理を行うことにより効率良く除去処理を行う手段を有する。 In a printing apparatus having a process of pre-processing the alpha blend process at the time of generating intermediate data and making the intermediate data not include the alpha blend process when the process of drawing in the frame memory is impossible. In addition, when generating intermediate data, there is a generation means for generating intermediate data using a table describing alpha blend information and data used for drawing, and processing to remove alpha blend processing from the intermediate data based on the table describing alpha blend information Means for efficiently performing the removal process.
描画に用いるデータは複数のオブジェクトのグループにし、その描画範囲を管理するテーブルを生成する手段を有し、除去処理におけるオブジェクト同士の重なり判断は先ずグループの描画範囲に対して重なり判断をすることにより重なり判断の回数を減らし高速に除去処理を行う処理手段を有する。 The data used for drawing is grouped into a plurality of objects, and has a means for generating a table for managing the drawing range. In the removal process, the overlapping determination between objects is first performed by determining the overlapping of the drawing range of the group. Processing means for reducing the number of overlap determinations and performing removal processing at high speed is provided.
ピクセルごとにアルファ値が指定されたオブジェクトをイメージとアルファ値に分離する処理手段を有し、そのアルファ値の状態に従って最適な情報に変換してから中間データに保存することにより省メモリを図る処理手段を有する。 Processing that saves memory by having processing means that separates an object with an alpha value specified for each pixel into an image and an alpha value, and converting it into optimal information according to the state of the alpha value and then saving it to intermediate data Have means.
上記、アルファ値を変換する手段は完全透過を示す値(アルファ値=0)の場合はオブジェクトその物の描画自体を中止してしまう手段、完全上書き(アルファ値=255)である場合はアルファ値の保存を中止し、イメージ部をラスターオペレーションの上書きでの描画に置き換える手段、完全透過と完全上書きで構成されたアルファ値に関してはマスク処理であると判断し、1ビットマスクイメージや多角形クリップ情報に置き換える手段、用いられているアルファ値の種類が限られている場合は少ないビットに各アルファ値を割り当てるテーブルを作成しアルファ値は少ないビット数にする置き換え手段、表示あるいは印刷装置の表現を超えた詳細なアルファ値の指定がされている場合は、表示あるいは印刷装置の表現できる情報まで間引く置き換え手段を有する。 The means for converting the alpha value is a means for stopping the drawing of the object itself when the value indicates complete transparency (alpha value = 0), and the alpha value when the complete overwriting (alpha value = 255). Is saved, and the image part is replaced with drawing by overwriting the raster operation, and alpha values composed of complete transparency and complete overwriting are determined to be mask processing, and 1-bit mask image and polygon clip information If the type of alpha value used is limited, create a table that assigns each alpha value to a small number of bits, and replace the alpha value with a small number of bits, exceeding the representation of the display or printing device If detailed alpha values are specified, information that can be displayed or displayed on the printing device is thinned out. It has a replacement means.
通常、中間データを生成する場合のオブジェクトの処理順番は、最下位に描画されるオブジェクトから処理するが、アルファブレンド処理が含まれるドキュメントおよびPDLデータに関しては最上位に描画されるオブジェクトから処理することにより効率的にアルファブレンド処理の除去処理を行う処理手段を有する。 Normally, the processing order of objects when generating intermediate data is processed from the object drawn at the bottom, but for documents including alpha blending processing and PDL data, processing from the object drawn at the top And processing means for efficiently removing the alpha blend process.
本発明によって、中間データからのアルファブレンド除去処理が高速にかつ省メモリが実現できるため、ユーザがアルファブレンド処理を含むドキュメントあるはPDLデータを表示あるいは印刷する場合に高速にかつ省メモリでかつ描画不正ない表示あるいは印字結果を得ることが出来る。 According to the present invention, the alpha blend removal process from the intermediate data can be performed at high speed and memory saving, so that when the user displays or prints the document or PDL data including the alpha blend process, drawing at high speed, memory saving, and drawing. Incorrect display or printing results can be obtained.
本実施例を適用するに好適なレーザビームプリンタの構成について説明する。なお、本実施例を適用するプリンタは、レーザビームプリンタおよびインクジェットプリンタに限られるものでなく、他のプリント方式のプリンタでもよいことは言うまでもない。 A configuration of a laser beam printer suitable for applying this embodiment will be described. Needless to say, the printer to which the present embodiment is applied is not limited to the laser beam printer and the ink jet printer, and may be a printer of another printing method.
図1は本発明を適用可能な第1の出力装置の構成を示す断面図であり、例えばレーザビームプリンタ(LBP)の場合を示す。 FIG. 1 is a cross-sectional view showing a configuration of a first output device to which the present invention can be applied. For example, a laser beam printer (LBP) is shown.
図において、100はLBP本体であり、外部に接続されているホストコンピュータから供給される印刷情報(文字コード等)やフォーム情報あるいはマクロ命令等を入力して記憶するとともに、それらの情報にしたがって対応する文字パターンやフォームパターン等を作成し、記録媒体である記録紙等に像を形成する。112は操作の為のスイッチおよびLED表示器等が配されている操作パネル、101はLBP本体100全体の制御およびホストコンピュータから供給される文字情報等を解析するプリンタ制御ユニットである。このプリンタの制御ユニット101は、主に文字情報を対応する文字パターンのビデオ信号に変換してレーザドライバ102出力する。レーザドライバ102は半導体レーザ103を駆動する為の回路であり、入力されたビデオ信号に応じて半導体レーザ103から発射されるレーザ光104をオン・オフ切り換えする。レーザ光104は回転多面鏡105で左右方向に振らされて静電ドラム106上を走査露光する。これにより、静電ドラム106上には文字パターンの静電潜像が形成されることになる。この潜像は、静電ドラム106周囲に配設された現像ユニット107により現像された後、記録紙に転写される。この記録紙にはカットシートを用い、カットシート記録紙はLBP100に装着した用紙カセット108に収納され、給紙ローラ111により装置内に取り込まれ、静電ドラム106に供給される。また、LBP本体100には、図示しないカードスロットを少なくとも1個以上備え、内臓フォントに加えてオプションフォントカード、言語系の異なる制御カード(エミュレーションカード)を接続できるように構成されている。
In the figure,
図2は本発明の実施例を示すプリンタ制御システムの構成を説明するブロック図である。ここでは、レーザビームプリンタ(図1)を例に説明する。図において、200はホストコンピュータで、ROM204のプログラム用ROMに記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表(表計算等を含む)等が混在して文書を実行するCPU202を備え、システムデバイス205に接続される各デバイスをCPU202が総括的に制御する。また、本発明における図7〜図11および図14〜15で示される各種変換処理はフレキシブルディスクやCD−ROMあるいはDVD−ROMといったメディアで供給され同様に実行される。
FIG. 2 is a block diagram illustrating the configuration of the printer control system according to the embodiment of the present invention. Here, a laser beam printer (FIG. 1) will be described as an example. In the figure,
また、このROM204のプログラム用のROMには、CPU202の制御プログラム等を記憶し、ROM204のフォント用ROMには上記文書処理の際に使用するフォントデータ等を記憶し、ROM204のデータ用ROMは上記文書処理等を行う際に使用する各種データを記憶する。203はRAMでCPU202の主メモリ、ワークエリア等として機能する。206はキーボードコントローラ(KBC)で、キーボード210や不図示のポインティングデバイスからのキー入力を制御する。207はCRTコントローラ(CRTC)で、CRTディスプレイ(CRT)211の表示を制御する。208はメモリコントローラ(MC)で、ブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、編集ファイル用を記憶するハードディスク(HD)、フレキシブルディスク(FD)等の外部メモリ212とのアクセスを制御する。209、226はデバイス間のI/Oを制御する処理部で、具体例としてIEEE1394の様なインターフェースが挙げられるが、双方向通信が可能なインターフェースであれば、その種類は問わない。また、プリンタ220において、222はプリンタCPUで、ROM224のプログラム用ROMに記憶された制御プログラム等或いは外部メモリ231に記憶された制御プログラム等に基づいてシステムバス225に接続される各種のデバイスとのアクセスを総括的に制御し、印刷部インターフェース227を介して接続される印刷部(プリンタエンジン)228に出力情報としての画像信号を出力する。また、このROM224のプログラムROMには、CPU222の制御プログラム等を記憶する。ROM224のデータ用ROMにはハードディスク等の外部メモリ2031が無いプリンタの場合には、ホストコンピュータ上で利用される情報等を記憶している。CPU222は入力部226を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ200に通知可能に構成されている。223はCPU222の主メモリ、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張できるように設計されている。RAM223は、印刷データの格納、出力情報展開、環境データ格納領域、NVRAM等に用いられる。前述したハードディスク(HD)、ICカード等の外部メモリ231は、メモリコントローラ(MC)228によりアクセスを制御される。230は前述した操作パネルで操作の為のスイッチおよびLED表示機機等が配されている。
The ROM 204 program ROM stores a control program of the
また、前述した外部メモリは1個に限らず、少なくとも1個以上備え、内臓フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。さらに、図示しないNVRAMを有し、操作パネル230からのプリンタモード設定情報を記憶するようにしてもよい。
Further, the number of external memories is not limited to one, but at least one external memory is provided, and in addition to the built-in font, an optional card and a plurality of external memories storing programs for interpreting printer control languages with different language systems can be connected. May be. Further, an NVRAM (not shown) may be provided to store printer mode setting information from the
図3および図4を用いて本発明におけるフレームメモリに描画する処理がアルファブレンド処理不可能な場合、中間データ生成時点でアルファブレンド処理を前処理してしまい、中間データをアルファブレンド処理が含まれない状態にしてしまう処理を有する印刷装置において、中間データ生成時には描画に用いるデータと、アルファブレンド情報を記述したテーブルをもって中間データ生成とする生成手段を有し、アルファブレンド情報を記述したテーブルを元に中間データからアルファブレンド処理を除去する処理を行方法について説明する。 When the process of drawing in the frame memory in the present invention using FIG. 3 and FIG. 4 cannot perform the alpha blend process, the alpha blend process is pre-processed at the time of generating the intermediate data, and the intermediate data includes the alpha blend process. In a printing apparatus that has a process that causes the data to be in a non-existent state, when generating intermediate data, it has generation means for generating intermediate data using a table describing alpha blend information and data used for drawing, and based on the table describing alpha blend information. Next, a method for performing the process of removing the alpha blend process from the intermediate data will be described.
先ず図3を用いてアルファブレンド処理を含む中間データから、アルファブレンド処理の除去処理を行い、アルファブレンド処理が含まれない中間データにする処理の流れを説明する。また前提としてフレームメモリの下地は白(RGB(255,255,255)であるとする。300は305から307の描画用の中間データと308から309のアルファブレンド用中間データの描画結果である。また307から309が本発明においてアルファブレンド処理を除去する処理に好適な描画用中間データとアルファブレンド用中間データを含む中間データ形式で、アルファブレンド用中間データには関係する描画用中間データを指すポインタ(ここではアドレス)と実際のアルファ値が記載される。305はアルファブレンド処理が指定されていないので上書き処理すると座標(1,1)、座標(6,6)の2点を対角とする矩形はRGB(0,0,0)となる。次に306はアルファブレンド値=128が指定されているので、アルファブレンド処理を行いながら描画する。アルファブレンド処理は320に示す式によって行われるから。座標(2,2)と座標(6,6)の2点を対角とする矩形は
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
となる。
First, the flow of processing for performing alpha blending process removal processing from intermediate data including alpha blending processing to generate intermediate data not including alpha blending processing will be described with reference to FIG. Further, it is assumed that the background of the frame memory is white (RGB (255, 255, 255). 300 is the rendering result of the intermediate data for rendering from 305 to 307 and the intermediate data for alpha blending from 308 to 309. Also, from 307 to 309. Is an intermediate data format including the intermediate data for drawing and the intermediate data for alpha blending suitable for the process of removing the alpha blending processing in the present invention, and the intermediate data for alpha blending is a pointer (here, a pointer to the related intermediate data for drawing) Address) and the actual alpha value are described.No alpha blending processing is specified for 305. When overwriting, the rectangle with the coordinates (1,1) and coordinates (6,6) as the diagonal is RGB Next, since alpha blend value = 128 is designated in 306, drawing is performed while performing alpha blend processing. The blending process is performed by the equation shown at 320. A rectangle whose diagonals are the coordinates (2, 2) and coordinates (6, 6) is 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.
対して座標(2,2)と座標(7,7)を対角とする矩形から座標(2,2)と座標(6,6)を対角とする矩形を除いた部分は
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
となる。
On the other hand, a portion obtained by excluding the rectangle having the coordinates (2, 2) and the coordinates (6, 6) from the rectangle having the coordinates (2, 2) and the coordinates (7, 7) as the diagonal is 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.
次に307は再びアルファブレンド処理が必要でアルファ値=128が指定されているから、座標(3,3)と座標(5,5)を対角とする矩形は
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
となる。
Next, since the alpha blend process is required again for 307 and alpha value = 128 is designated, the rectangle whose coordinates are (3,3) and coordinates (5,5) is 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.
よって301で示される部分はRGB(0,0,0)、302で示される部分はRGB(192,192,192)、303で示される部分はRGB(64,64,64)、304で示される部分はRGB(160,160,160)となる。 Therefore, the portion indicated by 301 is RGB (0,0,0), the portion indicated by 302 is RGB (192,192,192), the portion indicated by 303 is RGB (64,64,64), and the portion indicated by 304 is RGB ( 160,160,160).
上記処理を中間データに施す流れを305から317を用いて説明する。まず最初にアルファブレンド処理が必要になる306のオブジェクトに注目する。306より前(描画層的には下層)に描画されるオブジェクトであって、306の描画領域と重なるオブジェクトを検索する。305が該当するので重なった領域を求める。重なる領域は座標(2,2)を左上とする幅(4,4)の矩形になるので、305からその領域を切り取った310を生成し、307からも同様に切り取った312を生成する。重なった領域は311として生成し、その領域の色はRGB(128,128,128)とRGB(0,0,0)をアルファ値=128でアルファブレンド処理を行ったRGB(64,64,64)とする。これ以上前にオブジェクトは存在しないので、311はフレームメモリの下地とアルファブレンド処理することになる。よってRGB(128,128,128)とRGB(255,255,255)をアルファ値=255でアルファブレンド処理した値になるので、RGB(192,192,192)を311に書き込む。306に対する処理を終了した状態が310から311である。この時点で307は何も処理していないので313と内容は変わっていない。次にアルファブレンド処理が必要なのは313であるので307と同様な条件で描画領域が重なるオブジェクトを検索する。311は描画領域が重なっているので、重なっている領域を切り抜いた315を生成する。313と重なった領域は完全に一致しているので317のみを生成する。317の領域の色はRGB(255,255,255)とRGB(64,64,64)をアルファ値=128でアルファブレンド処理した色なのでRGB(160,160,160)を317に書き込む。313で処理されていない領域は存在しないので処理を終了する。310と312は313と領域が重なってないので、314と316はそれぞれ内容は変わらない。314から317の状態の中間データにはアルファブレンド処理が存在しない。この中間データを全て上書きで描画しても300と同様な結果が得られる。よってこの中間データはフレームメモリに描画する処理にアルファブレンド処理する能力が無くても、正常な描画が得られるアルファブレンド処理が除去された中間データとなる。
The flow of applying the above processing to intermediate data will be described using 305 to 317. First, focus on 306 objects that require alpha blending. An object that is drawn before 306 (lower layer in the drawing layer) and that overlaps the drawing area of 306 is searched. Since 305 corresponds, the overlapping area is obtained. Since the overlapping area is a rectangle having a width (4, 4) with coordinates (2, 2) at the upper left, 310 is generated by cutting out the area from 305, and 312 is also generated from 307 in the same manner. The overlapped area is generated as 311 and the color of the area is RGB (128, 128, 128) and RGB (0, 0, 0) which is RGB (64, 64, 64) obtained by performing alpha blend processing with an alpha value = 128. Since there is no object before this, 311 performs alpha blend processing with the frame memory background. Therefore, since RGB (128, 128, 128) and RGB (255, 255, 255) are alpha blended with alpha value = 255, RGB (192, 192, 192) is written in 311. The state in which the processing for 306 is completed is 310 to 311. At this point, 307 has not processed anything, so the content has not changed from 313. Next, since it is 313 that requires alpha blending processing, an object having overlapping drawing areas is searched under the same conditions as in 307. Since the
次に図4を用いてアルファブレンド用の中間データを持つことによってアルファブレンド処理の除去処理の時間を短縮できる理由を説明する。400を最終的に構成したい画像とする。400の中には301から305のオブジェクトが含まれる。その中でアルファブレンド処理が必要なのは302と305である。よって中間データは301から305のオブジェクトに対応する描画用中間データ311から315が生成される。さらにアルファブレンド処理が必要な302(または312)と305(または315)にはアルファブレンド用中間データ316,317がそれぞれ生成される。321がアルファブレンド用中間データを生成しなかった場合のオブジェクト検索順番であるが、アルファブレンド用中間データが無い場合、先ずアルファブレンド処理が必要なオブジェクトを検索する必要があるため、角丸の矩形で囲まれた部分の検索が発生してしまう。逆にアルファブレンド用中間データを持つ検索順番においては、アルファブレンド用中間データを参照するだけで良いので検索を省くことが出来るので高速に処理可能になる。本実施でオブジェクトの数が少ないため差が出ない印象を受けるが、実際の描画処理においては1ページに2から3万個程度のオブジェクトが存在するのも普通であり表示や印刷速度に大きな違いが出ることになる。
Next, the reason why it is possible to shorten the time of the alpha blend process removal process by having the intermediate data for alpha blend will be described with reference to FIG. 400 is an image to be finally composed. 400 includes
次に図5と図6を用いてアルファブレンド処理を含むドキュメントまたはPDLデータから中間データを生成する時に中間データのサイズを小さくし省メモリを実現する方法について説明する。 Next, a method for realizing memory saving by reducing the size of the intermediate data when generating the intermediate data from the document including the alpha blend process or the PDL data will be described with reference to FIGS.
アルファ値は501に示すようにピクセルごとに指定する方法とオブジェクトごとにアルファ値が指定される方法(全てのピクセルに対して同じアルファ値を使用)とが存在する。ピクセルごとにアルファ値が指定された場合502の実際の色値と503のアルファ値に分割して管理する。その場合のアルファブレンド用中間データは504の透過データの形式をイメージとし、分割したイメージ状のアルファ値506が格納されたアドレスを505に記載する。オブジェクトごとにアルファ値が指定されている場合には507に透過データ形式をアルファ値として、508に実際のアルファ値(ここでは128)を書き込む。110は分離されたイメージ状のアルファ値の例である。上記処理に従うと111から113のように保存されるが、110の内容を見ると全てのピクセルに対して同じアルファ値が指定されておりオブジェクトごとにアルファ値が指定されたのと同様である。114から115に示すようにオブジェクトごとにアルファ値が指定されたときの方法で保存することにより113のイメージ状のアルファ値を保存するためのメモリが必要なくなり省メモリでのアルファブレンド処理を含むドキュメントまたはPDLデータの中間データを生成することが可能になる。なお110がオブジェクトごとにアルファ値を指定した状態かを判断するのは101から103への分離処理の時に判断することにより処理を高速に出来る。さらに分離処理事態も装置ごとの色空間へのマッチィングを行う処理等と同時に行うことによって処理時間を無視することが出来る。
As shown in 501, there are a method of specifying an alpha value for each pixel and a method of specifying an alpha value for each object (the same alpha value is used for all pixels). When an alpha value is designated for each pixel, it is divided into an actual color value 502 and an
図6は図4を用いて説明したイメージ状のアルファ値を、内容に従って簡易なデータに置き換える方法において、その置き換える判断の元になる内容について幾つか説明する。 FIG. 6 illustrates some of the contents that are the basis for the replacement in the method of replacing the image-like alpha value described with reference to FIG. 4 with simple data according to the contents.
601は全てのピクセルに対するアルファ値が同じであり、かつアルファ値が0まはた255であった場合である。全てが0である場合は描画しないのと同じことであるので、描画用中間データもアルファブレンド用中間データも作成しない。アルファ値が255であった場合は、完全な上書きになるため描画用の中間データのみを作成し、アルファブレンド用の中間データは作成しない。これによって上書きで描画されることとなる。
602はイメージ状のアルファ値が0と255のみで構成されている場合は、マスク処理と同等である。その場合255を形成する形状が簡単であった場合605に示すようにエッジリスト(多角形情報)として保存し、形状が複雑であった場合は1ビットマスクイメージとして保存する。603にはエッジリストまたはマスク情報と記載され604にはエッジリストまたは1ビットマスクイメージへのポインタが記載される。
If the image-like alpha value is composed of only 0 and 255, 602 is equivalent to the mask process. In this case, when the shape forming 255 is simple, it is stored as an edge list (polygon information) as shown at 605, and when the shape is complicated, it is stored as a 1-bit mask image.
606は実際の8ビットのアルファ値が記載されたものであるが、実際の装置の表示あるいは印刷能力としてアルファ値の細かい違いを表現する能力が無いものが存在する。その場合、607は64階調しか表現できない装置の例であるが4ビットに間引いた状態で保存する。その時608に透過データ形式はイメージ4ビットとし、609にはイメージ状でかつアルファ値の1つは4ビットで表現されたデータへのポインタを記載する。
図7は描画用の中間データを描画位置が近いオブジェクトごとにグループに分けて管理しておくことにより、さらに検索手順を減らし高速化を測った様子を示した図である。701は最終的に形成される画像である。形成に使用されるオブジェクトは702に示されるように描画位置、描画範囲がまとまっているオブジェクトごとに管理される。その場合、描画用中間データは703の上述してきた描画用中間データと704のグループ範囲情報とで構成される。グループ範囲情報とは702の図の破線図示された矩形のことであり開始点情報と幅高で構成される。705のアルファブレンド用中間データを処理する場合、オブジェクトとの重なりを判断するのでは無く、まず704のグループ範囲情報と比較する。このグループ範囲情報と描画範囲が重なっている場合のみ、そのグループに属するオブジェクトとの詳細な重なり判定を行っていく。図7に示した例は一番好適な例で、グループ範囲情報との重なりは存在しないので、オブジェクトとの重なり判定は行われず、グループ範囲情報との重なり比較(この場合は4回)のみ行えばよいこととなる。これによって中間データでのアルファブレンド除去処理が高速に行えるようになる。また本実施例では任意の範囲でオブジェクトをグループ化したがバンドのような固定した領域で管理しても良い。
FIG. 7 is a diagram showing a state in which the search procedure is further reduced and the speed is measured by managing the drawing intermediate data in groups for each object having a drawing position close to each other. An
図8はアルファブレンド処理が含まれるドキュメントまたはPDLデータのオブジェクトを逆順で処理することにより中間データでのアルファブレンド除去処理を高速化する様子を示した図である。 FIG. 8 is a diagram showing a state in which alpha blend removal processing with intermediate data is speeded up by processing a document or an object of PDL data including alpha blend processing in reverse order.
801は最終的に形成する画像であり、その画像に含まれるオブジェクト順番は802に示すように通常描画層における最下層に描画されるものから並んでおり、またその順番で処理するのが普通である。アルファブレンド処理が含まれたドキュメントまたはPDLデータから中間データを生成する場合、最上位層に描画されるものから処理することにより、中間データでのアルファブレンド除去処理を効率化できる。804のアルファブレンド用の中間データを最初に生成して置くことにより、各オブジェクトとの描画範囲の重なり判定は、各オブジェクトの生成時に行えば良く、中間データ生成後に改めて検索しなおす必要がなくなるためである。
なお812の印刷装置は装置内に十分なメモリが無くデータが送られてきた順番にしか処理できない。その場合送信元のPC等811においてオブジェクト順番の入れ替えを行ってから印刷装置に送信する方法が考えられる。
Note that the
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005060709A JP2006244248A (en) | 2005-03-04 | 2005-03-04 | Image processing device, image processing method, and program for executing image processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005060709A JP2006244248A (en) | 2005-03-04 | 2005-03-04 | Image processing device, image processing method, and program for executing image processing method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006244248A true JP2006244248A (en) | 2006-09-14 |
Family
ID=37050595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005060709A Withdrawn JP2006244248A (en) | 2005-03-04 | 2005-03-04 | Image processing device, image processing method, and program for executing image processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006244248A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009157495A1 (en) * | 2008-06-25 | 2009-12-30 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, and program |
JP2010274534A (en) * | 2009-05-28 | 2010-12-09 | Kyocera Mita Corp | Image forming device and image forming program |
JP2011096109A (en) * | 2009-10-30 | 2011-05-12 | Kyocera Mita Corp | Image processing apparatus and image processing program |
JP2016095580A (en) * | 2014-11-12 | 2016-05-26 | キヤノン株式会社 | Image forming apparatus, image forming method, and program |
US10235612B2 (en) | 2016-07-29 | 2019-03-19 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, storage medium, and image forming apparatus for converting drawing data of a transparent object that does not overlap another drawing object into drawing data of a drawing object that does not have an alpha channel as color information |
-
2005
- 2005-03-04 JP JP2005060709A patent/JP2006244248A/en not_active Withdrawn
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009157495A1 (en) * | 2008-06-25 | 2009-12-30 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, and program |
JP2010009216A (en) * | 2008-06-25 | 2010-01-14 | Canon Inc | Information processing apparatus, information processing method, and program |
US9240057B2 (en) | 2008-06-25 | 2016-01-19 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, and program |
US9886778B2 (en) | 2008-06-25 | 2018-02-06 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, and program |
JP2010274534A (en) * | 2009-05-28 | 2010-12-09 | Kyocera Mita Corp | Image forming device and image forming program |
JP2011096109A (en) * | 2009-10-30 | 2011-05-12 | Kyocera Mita Corp | Image processing apparatus and image processing program |
JP2016095580A (en) * | 2014-11-12 | 2016-05-26 | キヤノン株式会社 | Image forming apparatus, image forming method, and program |
US10002459B2 (en) | 2014-11-12 | 2018-06-19 | Canon Kabushiki Kaisha | Image processing apparatus |
US10586381B2 (en) | 2014-11-12 | 2020-03-10 | Canon Kabushiki Kaisha | Image processing apparatus |
US10235612B2 (en) | 2016-07-29 | 2019-03-19 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, storage medium, and image forming apparatus for converting drawing data of a transparent object that does not overlap another drawing object into drawing data of a drawing object that does not have an alpha channel as color information |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4995057B2 (en) | Drawing apparatus, printing apparatus, drawing method, and program | |
JP5531531B2 (en) | Image processing system and image processing program | |
US7869075B2 (en) | Image processing apparatus and method thereof | |
US10762401B2 (en) | Image processing apparatus controlling the order of storing decompressed data, and method thereof | |
JP2006244248A (en) | Image processing device, image processing method, and program for executing image processing method | |
JP5732935B2 (en) | Information processing apparatus, print control program, and computer-readable recording medium | |
US10593030B2 (en) | Image forming apparatus capable of changing thickness of character, control method therefor, and storage medium storing control program therefor | |
JP6904717B2 (en) | Image processing equipment, its control method, and programs | |
US8537425B2 (en) | Method for optimizing the search for trapping regions | |
JP2006159738A (en) | Print controller, its data processing method, and storage medium | |
JP4706884B2 (en) | Image processing apparatus, image processing program, and printing apparatus | |
JPH08234949A (en) | Image processor and drawing method therefor | |
JP2004030386A (en) | Image processing method and image processor | |
JP2001169120A (en) | Method, device, and system for image processing | |
JP3636891B2 (en) | Color image output method | |
JP2010009146A (en) | Document processing method and document processor | |
JP2006159458A (en) | Image output device | |
JP2006140597A (en) | Device and method for printing control, computer program, and storage medium | |
JP2006079475A (en) | Print processing system, program and recording medium | |
JP2006155307A (en) | Image processing system performing load distributed processing | |
US20120200896A1 (en) | Method for Optimizing the Search for Trapping Regions | |
JP2023077248A (en) | Image forming device, control method thereof and program | |
JP2004230726A (en) | Processing method of plotting and plotting processor | |
JP4840604B2 (en) | Image processing apparatus, image processing method, and program | |
JP2814709B2 (en) | Drawing data creation device |
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: 20080513 |