JP4522216B2 - Image processing device - Google Patents
Image processing device Download PDFInfo
- Publication number
- JP4522216B2 JP4522216B2 JP2004297861A JP2004297861A JP4522216B2 JP 4522216 B2 JP4522216 B2 JP 4522216B2 JP 2004297861 A JP2004297861 A JP 2004297861A JP 2004297861 A JP2004297861 A JP 2004297861A JP 4522216 B2 JP4522216 B2 JP 4522216B2
- Authority
- JP
- Japan
- Prior art keywords
- rendering
- processing
- module
- clock
- extended
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Image Processing (AREA)
- Digital Computer Display Output (AREA)
- Image Generation (AREA)
Description
本発明は、ページ記述言語データを入力し、イメージデータを生成して出力する画像処理装置に関するものである。 The present invention receives the page description language data, and relates to an image processing equipment for generating and outputting image data.
ページ記述言語で記述されたデータを入力し、それをラスタ展開して画像を生成する画像処理装置が知られており、それによれば、入力したページ記述言語のセマンティクス(意味解析)を行い、その後レンダリング処理を行うという2つの手順を実施している。このレンダリング処理を実現する代表的なアルゴリズムとして、ペインタアルゴリズム、スキャンラインアルゴリズム等がある。従来の画像処理装置では、ページ記述言語で記述された入力データのセマンティクス処理後に、そのアルゴリズムを実装したハードウェアデバイス或はソフトウェアデバイスで画像処理を行っていた。これらアルゴリズムを実行するハードウェアの構成上の大きな違いは、必要とするメモリ容量の大小であり、スキャンラインアルゴリズムは、これらアルゴリズム中で、使用するメモリ容量が少ないレンダリングアルゴリズムである。 An image processing apparatus that inputs data described in a page description language and rasterizes it to generate an image is known. According to the image processing apparatus, semantics (semantic analysis) of the input page description language is performed, and then Two procedures of rendering processing are performed. Typical algorithms for realizing this rendering process include a painter algorithm and a scan line algorithm. In a conventional image processing apparatus, after semantic processing of input data described in a page description language, image processing is performed by a hardware device or software device that implements the algorithm. The major difference in the hardware configuration for executing these algorithms is the required memory capacity, and the scan line algorithm is a rendering algorithm that uses a small memory capacity among these algorithms.
このようなアルゴリズムを実行するレンダリング装置では、各オブジェクトのエッジをトラッキングし、X座標のエッジのソートを行うエッジ処理、各オブジェクトの表示位置レベルを処理するレベル処理、色生成処理、イメージ処理、色合成処理等の複数の処理モジュールを備えるベーシックレンダリング処理部と呼ばれる処理部を備えており、このベーシックレンダリング処理部は、複数のモジュールで構成されており、各モジュールはパイプライン接続されて画像処理に必要な処理を逐次行っている。 In a rendering device that executes such an algorithm, an edge process that tracks the edge of each object and sorts the edges of the X coordinate, a level process that processes the display position level of each object, a color generation process, an image process, a color A processing unit called a basic rendering processing unit having a plurality of processing modules such as compositing processing is provided, and this basic rendering processing unit is composed of a plurality of modules, and each module is pipeline-connected for image processing. Necessary processing is performed sequentially.
各処理モジュールの処理方法及び制御方法に関して、特許文献1には、高速ラスタ形式レンダリングのためのグラフィックオブジェクト処理方法及び装置が開示されている。これによれば、ベーシックレンダリング処理部では、ページ記述言語を解析した結果に基づいて発行された命令に応じて、パイプライン処理モジュール内での各種パラメータ設定やレンダリング処理を行う。また、これら処理モジュールのいくつかを担当する複数の拡張ソフトウェアモジュールが設けられており、各拡張ソフトウェアモジュールは、その内部にCPUを備えて、ソフトウェアによりレンダリングを行う機能を提供している。
しかし上述した従来の画像処理装置では、使用する機能に応じて使用する処理モジュールの動作を停止させたり、実行させたりするようには構成されていないため、使用される機能に応じた低消費電力化を実現することができなかった。ページ記述言語には、入力データに応じて、使用される機能と使用されない機能とが存在する。例えば、グラフィックのみの入力データに対して、文字処理用のモジュールを動作状態にしておくのは無駄である。特に上述の拡張ソフトウェアモジュールのCPUは、その内部にキャッシュやRAM等を備えており電力を大量に消費する。しかし、従来の画像処理装置では、入力データの種類を特定して、その入力データの処理に必要な拡張ソフトウェアモジュールだけを動作させるといった機能がないため無駄に電力を消費するといった問題があった。 However, the above-described conventional image processing apparatus is not configured to stop or execute the operation of the processing module to be used according to the function to be used. Therefore, low power consumption according to the function to be used. Could not be realized. In the page description language, there are functions that are used and functions that are not used depending on input data. For example, it is useless to leave a character processing module in an operating state for input data only for graphics. In particular, the CPU of the above-described extended software module includes a cache, a RAM, and the like therein, and consumes a large amount of power. However, the conventional image processing apparatus has a problem that power is wasted because there is no function of specifying the type of input data and operating only the extended software module necessary for processing the input data.
本発明は上記問題点に鑑みてなされたもので、全体的な消費電力を抑えるようにした画像処理装置を提供することにある。 The present invention has been made in view of the above problems, it is to provide an image processing equipment which is to suppress the entire electric power consumption.
本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
ページ記述言語データを入力し、イメージデータを生成して出力する画像処理装置であって、
入力されたページ記述言語データを解析する解析手段と、
前記解析手段による解析に基づいて、前記ページ記述言語データをレンダリングするレンダリング手段と、
前記レンダリング手段によるレンダリング機能の一部を実行し、それぞれがCPUを具備する複数の拡張ソフトウェアモジュールと、
前記ページ記述言語データに拡張ソフトウェアモジュールで処理すべき命令が含まれているか否かを判断する判断手段と、
前記判断手段による判断結果に基づいて、前記複数の拡張ソフトウェアモジュールの内の対応する拡張ソフトウェアモジュールのCPUにクロック信号を供給し、CPUにクロックを供給したことを示す信号を前記解析手段に送信する制御手段と、
前記レンダリング手段でレンダリングされた画像データを入力して出力装置に出力するとともに、前記レンダリング手段によるレンダリングが終了したことを示す信号を前記制御手段に供給する出力処理手段とを有し、
前記解析手段は、前記制御手段から前記CPUにクロックを供給したことを示す信号を受信すると、前記レンダリング手段によるレンダリングを開始させ、
前記制御手段は、前記レンダリングが終了したことを示す信号を受信すると、前記CPUへのクロックの供給を停止することを特徴とする。
An image processing apparatus according to an aspect of the present invention has the following configuration. That is,
An image processing apparatus for inputting page description language data, generating and outputting image data,
An analysis means for analyzing the input page description language data;
Rendering means for rendering the page description language data based on the analysis by the analysis means;
A plurality of extension software modules that execute a part of the rendering function by the rendering means, each of which includes a CPU;
Determining means for determining whether or not the page description language data includes an instruction to be processed by an extended software module;
Based on the determination result by the determining means, a clock signal is supplied to the CPU of the corresponding extended software module among the plurality of extended software modules, and a signal indicating that the clock is supplied to the CPU is transmitted to the analyzing means . Control means;
Output processing means for inputting the image data rendered by the rendering means and outputting the image data to an output device, and supplying a signal indicating that rendering by the rendering means is completed to the control means,
When the analysis means receives a signal indicating that a clock is supplied to the CPU from the control means, the rendering means starts rendering by the rendering means,
The control means stops the supply of a clock to the CPU upon receiving a signal indicating that the rendering has been completed .
本発明によれば、ページ記述言語データをレンダリングするのに必要なモジュールにクロック信号を供給することにより、消費電力の低減を実現することができる。 According to the present invention, power consumption can be reduced by supplying a clock signal to a module necessary for rendering page description language data.
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。 Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
図1は、本発明の実施の形態1に係る画像処理装置の一例を示すブロック図である。
FIG. 1 is a block diagram showing an example of an image processing apparatus according to
意味解析部1は、受信したページ記述言語データの内容を解析し、レンダリング処理部2に対して命令を発行する。この命令には、例えば、各種パラメータの設定処理や、グラフィックスデータからビットマップデータへの変換などが考えられる。レンダリング処理部2は複数のモジュールで構成されており、各モジュールはパイプライン接続され画像処理に必要な処理を逐次処理する。このパイプラインモジュールの機能としては、各オブジェクトのエッジをトラッキングし、X座標のエッジのソートを行うエッジ処理部3、各オブジェクトの表示位置レベルを処理するレベル処理部4、色生成を行う色生成処理部5、イメージデータを処理するイメージ処理部6、色合成を行う色合成部7などがある。
The
出力処理部8は、レンダリング部2でレンダリングされた画像データを入力して、プリンタや表示装置などの出力装置9に出力する。
The
拡張ソフトウェアモジュール60,61はそれぞれ各CPU24,27を有し、レンダリング処理部2のそれぞれ対応する処理部の機能を実現している。21〜23は拡張ソフトウェアモジュール60に設けられ、エッジ処理部3、レベル処理部4、色生成部5のそれぞれとのインターフェースを司るインターフェース部である。また同様に、25〜26は拡張ソフトウェアモジュール部61に設けられ、イメージ処理部6、色合成部7のそれぞれとのインターフェースを司るインターフェース部である。
The
PDLプリフェッチ部40は、入力したページ記述言語データをプリフェッチし、拡張ソフトウェアモジュール60,61で処理が必要な命令が入力データに含まれているかを調べ、その結果をクロック制御部41に送信する。クロック制御部41は、PDLプリフェッチ部40からの結果を基に、処理が必要な拡張ソフトウェアモジュールのCPUにクロック(50,51)を供給する。その後、意味解析部1にクロック切り替え終了信号52を送信する。
The
意味解析部1は、クロック制御部41から、このクロック切り替え終了信号52を受信すると、レンダリング処理部2に対して各種パラメータの設定命令、グラフィック処理命令を供給する。これによりレンダリング処理が開始される。またレンダリング処理が終了すると、レンダリング処理終了信号53が出力処理部8からクロック制御部41へ供給される。このレンダリング終了信号53を受信したクロック制御部41は、次の画像処理が開始されるまで、全ての拡張ソフトウェアモジュールのCPU24,27へのクロックの供給を停止する。
When the
図2は、本発明の実施の形態1に係る画像処理装置の処理を説明するフローチャートである。
FIG. 2 is a flowchart for explaining processing of the image processing apparatus according to
まずステップS101で、意味解析部1の言語解析ブロックにより、入力したページ記述言語データの言語解析を行う。次にステップS102で、上述したクロックの切り替えが終了しているかどうかを判定し、終了していないときは、クロックの切り替えが終了するまでステップS102を実行する。こうしてクロックの切替えが終了するとステップS103に進み、入力したページ記述言語を、ステップS101の言語解析に基づいて、パラメータ設定用命令と内部処理用の命令に変換する。次にステップS104で、ステップS103で生成した命令が、パイプラインモジュールで処理可能か否かが判断され、パイプラインモジュールで処理可能な場合はステップS105で処理される。またパイプラインモジュールで処理できないと判断された場合はステップS106で、拡張ソフトウェアモジュールで処理される。こうしてステップS105或はS106を実行した後ステップS107に進み、データの出力処理を行う。そしてステップS108で、拡張モジュールへのクロックの供給を停止する。
First, in step S101, the language analysis block of the
また前述のステップS101の言語解析処理と並行して、ステップS112で、PDLプリフェッチ部40により、入力したページ記述言語をフェッチし、ステップS113で、拡張ソフトウェアモジュール60,61での処理が必要な命令が入力データに含まれているかを調べ、その結果をクロック制御部41に送信する。こうしてクロック制御部41は、PDLプリフェッチ部40からの結果を基に、処理が必要な拡張ソフトウェアモジュールのCPUにクロック(50,51)を供給するクロック切替え処理を実行する。この切替え処理が終了しているか否かがステップS102で判定されて前述の処理が実行される。
In parallel with the language analysis processing in step S101 described above, in step S112, the
図3は、実施の形態1に係るクロックの切替え処理の詳細を説明するフローチャートである。 FIG. 3 is a flowchart for explaining details of the clock switching processing according to the first embodiment.
まずステップS121で、入力データの有無を判断し、入力データがある場合はステップS122で、入力データのプリフェッチ処理を行う。そしてステップS123で、そのプリフェッチした入力データの構文を解析し、入力データ処理に必要な機能を検索する。次にステップS124で、その検索結果に基づいて、拡張ソフトウェアモジュールで処理すべき機能があるか否かを調べ、拡張ソフトウェアモジュールで処理する必要がない場合はステップS126で、クロック切り替え処理終了信号を出力する。一方、拡張ソフトウェアモジュールで処理する必要がある場合はステップS125で、該当する拡張ソフトウェアモジュールのCPUにクロックを供給し、ステップS126で、クロック切り替え処理終了信号を出力する。 First, in step S121, the presence / absence of input data is determined. If there is input data, input data prefetch processing is performed in step S122. In step S123, the syntax of the prefetched input data is analyzed to search for a function necessary for input data processing. Next, in step S124, it is checked whether there is a function to be processed by the extended software module based on the search result. If there is no need to process in the extended software module, a clock switching process end signal is sent in step S126. Output. On the other hand, if it is necessary to perform processing by the extended software module, a clock is supplied to the CPU of the corresponding extended software module in step S125, and a clock switching process end signal is output in step S126.
またステップS121で、入力データが無いと判定されるとステップS127に進み、レンダリング処理終了信号の有無を判定し、レンダリング処理終了信号がある場合はステップS128で、全ての拡張ソフトウェアモジュールのCPUへのクロックの供給を停止する。 If it is determined in step S121 that there is no input data, the process advances to step S127 to determine whether or not there is a rendering process end signal. If there is a rendering process end signal, in step S128, the CPU of all the extended software modules is sent to the CPU. Stop supplying the clock.
図4は、本発明の実施の形態1に係る画像処理装置のベーシックレンダリング処理部2と拡張ソフトウェアモジュールのモジュール構成例を説明する図である。
FIG. 4 is a diagram for explaining a module configuration example of the basic
図において、例えばベーシックレンダリングモジュールのエッジ処理部と接続している拡張ソフトウェアモジュールNo1は、「Bitmap Font」(ビットマップフォント),「FastBitmapEncoding」(高速ビットマップ符号化),「Bezier」(ベジェ),「DirectSorting」(直接ソーティング)を処理可能であることが分かる。また拡張ソフトウェアモジュールに割り当てられた番号(No)とは、各ソフトウェアモジュールに割り振られた番号を示している。 In the figure, for example, the extended software module No. 1 connected to the edge processing unit of the basic rendering module includes “Bitmap Font” (bitmap font), “FastBitmapEncoding” (high-speed bitmap encoding), “Bezier” (Bézier), It can be seen that “DirectSorting” can be processed. The number (No) assigned to the extended software module indicates the number assigned to each software module.
本実施の形態1に係る画像処理装置に入力されるデータは、ページ記述言語で記述されたデータであり、この実施の形態では、ページ記述言語として代表的な言語であるポストスクリプト(PostScript)使用時のベジェ曲線処理の場合で説明する。以下、ベジェ曲線の一般的な説明と、ポストスクリプトにおけるベジェ曲線の記述例を説明する。 The data input to the image processing apparatus according to the first embodiment is data described in a page description language. In this embodiment, PostScript, which is a typical language as a page description language, is used. A case of Bezier curve processing will be described. Hereinafter, a general description of Bezier curves and description examples of Bezier curves in PostScript will be described.
ベジェ曲線は、曲線の描画に使用される制御方法の一つであり、ポストスクリプトは4点から制御されるベジェ曲線をサポートしている。4点から制御されるベジェ曲線とは、点Aから始まり、B,Cに制御され、D点で終端する曲線である。4点A,B,C,Dを制御点とするベジェ曲線は、次の式で生成される。尚,A,B,C,Dは位置ベクトルで、tは[0..1]のスカラーであるtを媒介変数とする3次式となっている。 A Bezier curve is one of the control methods used to draw a curve, and Postscript supports Bezier curves controlled from four points. A Bezier curve controlled from four points is a curve that starts at point A, is controlled by B and C, and ends at point D. A Bezier curve having four points A, B, C, and D as control points is generated by the following equation. A, B, C, and D are position vectors, and t is [0. . 1] is a cubic expression with t as a parameter.
r(t)=A・(1-t)3+3B・t・(1-t)2+3C・t2・(1-t)+D・t3
この式から、t=0のときr(t)=A、t=1のときr(t)=Dとなり、tが0から1に変化するに連れてr(t)の値は、A>B>C>Dの順に変化する。ベジェ曲線の性質として以下の性質が挙げられる。
r (t) = A. (1-t) 3 + 3B.t. (1-t) 2 + 3C.t2. (1-t) + D.t3
From this equation, r (t) = A when t = 0, r (t) = D when t = 1, and as t changes from 0 to 1, the value of r (t) becomes A> It changes in the order of B>C> D. The following properties are listed as the properties of the Bezier curve.
1.ベジェ曲線は、4点が凸多角形の場合、その中に入る。 1. A Bezier curve falls within a four-point convex polygon.
2.直線A−B,C−Dは、曲線の開始点と終端点で曲線の接線になる。 2. The straight lines AB and CD are tangent to the curve at the start and end points of the curve.
3.線分A−B,B−C,C−Dの各中点をP,Q,Rとする。線分P−Q,Q−Rの中点をそれぞれS,T,線分S−tの中点をWとすると、Wはt=1/2のベジェ曲線の点となる。一般に、各線分をm:nの比で分割した点Wは、ベジェ曲線の点となる。 3. Let P, Q, and R be the midpoints of line segments AB, BC, and CD, respectively. Line P-Q, Q-R a midpoints of, respectively it S, T, when the midpoint of the line segment S-t and W, W is the point of the Bezier curve in t = 1/2. In general, a point W obtained by dividing each line segment by a ratio of m: n is a point of a Bezier curve.
図5は、制御点が4点のベジェ曲線の中点W(t=1/2)を視覚的に表した図で、上記ベジェ曲線の公式における制御点A(38,120),B(54,136),C(82,143),D(104,134)とした時のベジェ曲線を示している。 FIG. 5 is a diagram visually representing the middle point W (t = 1/2) of the Bezier curve having four control points. The control points A (38, 120) and B (54) in the above Bezier curve formula are shown. 136), C (82, 143), and D (104, 134).
図6は、このベジェ曲線を記述するポストスクリプトの命令を示す図である。 FIG. 6 is a diagram showing PostScript commands describing this Bezier curve.
図6の3行目の「38 120 moveto」は、カレント座標を制御点Aとして(38,120)に移動することを意味し、4行目の「54 136 82 143 104 134 curveto」は、制御点B(54,136)、制御点C(82,143)、制御点D(104,134)を設定してベジェ曲線を描画するよう指示している。以上がベジェ曲線の一般的な説明と、ポストスクリプトにおけるベジェ曲線の記述方法である。 “38 120 moveto” in the third line in FIG. 6 means that the current coordinate is moved to (38, 120) as the control point A, and “54 136 82 143 104 134 curveto” in the fourth line is the control point. A point B (54, 136), a control point C (82, 143), and a control point D (104, 134) are set to instruct to draw a Bezier curve. The above is the general description of the Bezier curve and the description method of the Bezier curve in Postscript.
この例から明らかなように、ベジェ曲線を表すオペレータ「curveto」がポストスクリプトに含まれていれば、他の条件を考えずにベジェ曲線の描画であると判断できることが分かる。 As is clear from this example, if the operator “curveto” representing the Bezier curve is included in the postscript, it can be determined that the Bezier curve is drawn without considering other conditions.
そこでPDLプリフェッチ部40は、指定されたメインメモリのアドレスからPDLデータをフェッチしてページ記述言語データの意味を解析する。ここで「curveto」とマッチするオペレータが含まれていると、対象データにベジェ曲線が含まれていると判断し、その判定結果をクロック制御部41に送信する。これによりクロック制御部41は、図4に示すテーブルを参照して、ベジェ曲線に対応する拡張ソフトウェアモジュールが拡張ソフトウェアモジュールNo1であることを認識する。そして、拡張ソフトウェアモジュールNo1にクロック50を供給し、クロック供給終了信号52を意味解析部1に送信する。
Therefore, the
また意味解析部1は、入力されたページ記述言語データを解釈し、ベーシックレンダリング処理部2に対する命令を生成する。こうして生成された命令には、ループ処理や条件判定等の簡単な処理や、数値演算、パラメータ設定等も含まれている。更に意味解析部1は、クロック制御部41からのクロック切り替え終了信号がアサートされた後、生成した命令をベーシックレンダリング処理部2に対して出力する。ここで生成した命令がパラメータ設定の場合は、所定のテーブルにパラメータを設定する。また生成した命令がレンダリング処理に関する場合には、ベーシックレンダリング処理部2内の各パイプラインモジュールで処理が実施される(ステップS105)。更にまた、その生成されたレンダリング命令が各パイプラインモジュールで処理できない場合には拡張ソフトウェアモジュールに対して命令を発行する(ステップS106)。これにより各拡張ソフトウェアモジュールでは、その受信したレンダリング命令をデコードし、レンダリング命令をソフトウェア処理する。
The
ここでエッジ処理部3に入力された命令がベジェ曲線処理だった場合は、エッジ処理部3は、拡張ソフトウェアモジュールに対して命令を供給する(S125)。本実施の形態では、拡張ソフトウェアモジュールNo1がベジェ曲線処理を行うモジュールであるため(図4)、拡張ソフトウェアモジュールNo1は受信命令をデコードし、データがベジェに関する命令であると判断すると、それに対してソフトウェア処理を行う。
If the instruction input to the
このとき、パイプラインモジュールに接続された他の拡張ソフトウェアモジュールの内、入力データ処理に関係のない拡張ソフトウェアモジュールではクロックが供給されていないため動作が実行されない。また意味解析部1が生成した命令が出力処理に関する命令である場合には、出力処理部8に蓄えられたデータを出力装置9に出力することにより、印刷処理もしくは画面出力が行われる。また同時に、出力処理部8はレンダリング処理終了信号53をクロック制御部41へ供給する。これによりクロック制御部41は、レンダリング処理の終了信号53を受信した後、全ての拡張ソフトウェアモジュールのCPUへのクロックの供給を停止する(ステップS108)。
At this time, the operation is not executed because the clock is not supplied to the extension software module not related to the input data processing among the other extension software modules connected to the pipeline module. When the command generated by the
[実施の形態2]
図7は、本発明の実施の形態2に係る画像処理装置の構成を説明するブロック図で、前述の図1と共通する部分は同じ記号で示し、それらの説明を省略する。
[Embodiment 2]
FIG. 7 is a block diagram for explaining the configuration of the image processing apparatus according to the second embodiment of the present invention. The parts common to those in FIG.
図において、拡張レンダリングモジュール部11は、拡張ハードウェアモジュール部12,13,14,15,16,17,18,19と、拡張ソフトウェアモジュール部20とを備えている。
In the figure, the extended
PDLプリフェッチ部40は、入力したページ記述言語データのプリフェッチを行い、拡張レンダリングモジュール部11で処理が必要な命令が入力データに含まれているか検索し、その検索結果をクロック制御部41に供給する。クロック制御部41は、この検索結果を基に、拡張レンダリングモジュール部11内の該当するブロックにクロックを供給し、その後、意味解析部1にクロック切り替え終了信号を送信する。意味解析部1では、このクロック制御部41からのクロック切り替え終了信号を受信すると、レンダリング処理部2に対して各種パラメータの設定命令、グラフィック処理命令を送信して処理を開始する。
The
尚、拡張ハードウェアモジュール部のそれぞれを説明すると、12はビットマップフォントモジュール、13はベジェ処理モジュール、14はブロックレンダリングモジュール、15はビットマップモジュール、16はリニアランプモジュール、17はJPEGモジュール、18はJBIGモジュール、19はPDFモジュールである。 Each of the extended hardware module units will be described. 12 is a bitmap font module, 13 is a Bezier processing module, 14 is a block rendering module, 15 is a bitmap module, 16 is a linear lamp module, 17 is a JPEG module, 18 Is a JBIG module, and 19 is a PDF module.
またこの実施の形態2では、拡張ソフトウェアモジュール部20は一つのモジュールで構成されており、21〜26のそれぞれは、エッジ処理部3、レベル処理部4、色生成部5、イメージ処理部6、色合成部7のそれぞれとのインターフェースを制御するインターフェース部である。CPU24は、この拡張ソフトウェアモジュール部20の処理を制御している。
Further, in the second embodiment, the extended
図8は、本発明の実施の形態2に係る画像処理装置の処理を説明するフローチャートである。 FIG. 8 is a flowchart for explaining the processing of the image processing apparatus according to the second embodiment of the present invention.
まずステップS131で、意味解析部1の言語解析ブロックにより、入力したページ記述言語を言語解析する。次にステップS132で、上述したクロックの切り替えが終了しているかどうかを判定し、終了していないときは、クロックの切り替えが終了するまでステップS132を実行する。こうしてクロックの切替えが終了するとステップS133に進み、入力したページ記述言語を、ステップS131の言語解析に基づいて、パラメータ設定用命令と内部処理用の命令に変換する。次にステップS134で、ステップS133で生成した命令が、パイプラインモジュールで処理可能か判断され、処理可能な場合はステップS135で処理される。またパイプラインモジュールで処理できないと判断された場合はステップS137に進み、拡張ハードウェアモジュール12〜19で処理可能かどうかを判定する。処理可能であればステップS138に進み、対応する拡張ハードウェアモジュールによる処理を行う。一方、ステップS137で処理できないと判定されるとステップS139に進み、拡張ソフトウェアモジュールによる処理を実行する。こうしてステップS135、ステップS138或はS139を実行した後ステップS136に進み、データの出力処理を行う。
First, in step S131, the language analysis block of the
また前述のステップS131の言語解析処理と並行して、ステップS141で、PDLプリフェッチ部40により、入力したページ記述言語をフェッチし、ステップS142で、拡張レンダリングモジュール11での処理が必要な命令が入力データに含まれているかを調べ、その結果をクロック制御部41に送信する。こうしてクロック制御部41は、PDLプリフェッチ部40からの結果を基に、処理が必要な拡張レンダリングモジュール11のCPU24にクロックを供給するクロック切替え処理を実行する。この切替え処理が終了しているか否かがステップS132で判定されて前述の処理が実行される。
In parallel with the language analysis processing in step S131 described above, the input page description language is fetched by the
図9は、実施の形態2に係るクロックの切替え処理の詳細を説明するフローチャートである。 FIG. 9 is a flowchart for explaining the details of the clock switching process according to the second embodiment.
まずステップS151で、入力データのプリフェッチ処理を行う。そしてステップS152で、そのプリフェッチした入力データの構文を解析し、入力データ処理に必要な機能を検索する。次にステップS153で、その検索結果に基づいて、拡張レンダリングモジュール11で処理すべき機能があるか否かを調べ、拡張レンダリングモジュール11で処理する必要がない場合は、処理終了信号を出力して処理を終了する。
First, in step S151, input data prefetch processing is performed. In step S152, the syntax of the prefetched input data is analyzed, and a function necessary for input data processing is searched. Next, in step S153, it is checked whether or not there is a function to be processed by the
一方ステップS153で、拡張レンダリングモジュール11で処理する必要がある場合はステップS154に進み、該当する拡張ハードウェアモジュールがあるかどうかを調べ、あればステップS155で、その拡張ハードウェアモジュールにクロックを供給して処理を終了する。またステップS154で、拡張ハードウェアモジュールで処理する必要がないと判定するとステップS156で、拡張ソフトウェアモジュールの該当するインターフェースにクロックを供給する。
On the other hand, if it is necessary to perform processing in the
図10は、本実施の形態2に係る画像処理装置のベーシックレンダリング処理部と拡張レンダリング処理部のモジュール構成を説明する図である。 FIG. 10 is a diagram illustrating the module configuration of the basic rendering processing unit and the extended rendering processing unit of the image processing apparatus according to the second embodiment.
図において、例えばレンダリング処理部2のエッジ処理部3と接続している拡張レンダリングモジュールは、「BitmapFont」,「FastBitmapEncoding」,「Bezier」,「DiretSorting」であり、「BitmapFont」は拡張ハードウェアモジュールNo1、「FastBitmapEncoding」は拡張ソフトウェアモジュールインターフェースNo1、「Bezier」は拡張ハードウェアモジュールNo2、「DiretSorting」は、拡張ソフトウェアモジュールインターフェースNo1で処理することが分かる。尚、これら拡張レンダリングモジュールに割り当てられたNoは、各モジュールに割り振られた番号である。
In the figure, for example, the extended rendering modules connected to the
本実施の形態2に係る画像処理装置に入力されるデータは、前述の実施の形態1と同様に、ページ記述言語で記述されたデータであり、ページ記述言語として代表的な言語であるポストスクリプト使用時のベジェ曲線処理は、前述の実施の形態1の場合と同様にして実行される。 The data input to the image processing apparatus according to the second embodiment is data described in a page description language as in the first embodiment, and is a postscript that is a typical language as a page description language. The Bezier curve process at the time of use is executed in the same manner as in the first embodiment.
具体的には、PDLプリフェッチ部40は、指定されたメインメモリのアドレスからPDLデータをフェッチし、ページ記述言語の意味を解析し、「curveto」(図6)とマッチしたオペレータが存在する場合、その入力データにベジェ曲線が含まれていると判断し、その判断結果をクロック制御部41に送信する。クロック制御部41は、図10から、ベジェ曲線に対応する拡張レンダリングモジュールは拡張ハードウェアモジュールNo2であることが判明するので、拡張ハードウェアモジュールNo2にクロックを供給し、クロック供給終了信号を意味解析部1に送信する。
Specifically, the
意味解析部1は、この入力されたページ記述言語を解釈し、ベーシックレンダリング処理部2に対する命令を生成する。こうして生成された命令には、ループ処理や条件判定等の簡単な処理や、数値演算、パラメータ設定などもある。クロック制御部41からのクロック切り替え終了信号がアサートされた後、生成した命令をレンダリング処理部2に対して出力する。この生成した命令がパラメータ設定の場合は、所定のテーブルにパラメータを設定する。
The
一方、生成した命令が、パイプラインモジュールで処理可能なレンダリング処理に関する場合には、レンダリング処理部2内の各パイプラインモジュールで処理が実施される(ステップS135)。また生成されたレンダリング命令が各パイプラインモジュールで処理できない命令であり、拡張ハードウェアモジュールで処理可能な場合には(ステップS137)、パイプラインモジュールに接続している拡張ハードウェアモジュール全てに対して命令をブロードキャストする。こうして各拡張ハードウェアモジュールでは、受信したレンダリング命令をデコードし、自モジュールが処理する必要があるか判断し、自モジュールが処理する必要があると判断した場合は処理を行う(ステップS138)。 On the other hand, when the generated instruction relates to a rendering process that can be processed by the pipeline module, the process is performed in each pipeline module in the rendering processing unit 2 (step S135). If the generated rendering instruction is an instruction that cannot be processed by each pipeline module and can be processed by the extended hardware module (step S137), all of the extended hardware modules connected to the pipeline module are processed. Broadcast instructions. In this way, each extended hardware module decodes the received rendering command, determines whether the own module needs to be processed, and performs processing when it is determined that the own module needs to be processed (step S138).
また生成されたレンダリング命令が各パイプラインモジュールで処理できない命令であり、かつ拡張ハードウェアモジュールでも処理できない場合は、パイプラインモジュールに接続している拡張ソフトウェアモジュールインターフェースに対してレンダリング命令を供給する。これにより拡張ソフトウェアモジュールは、インターフェース21〜26に入力されたレンダリング命令を、CPU24を用いてソフトウェア処理する(ステップS139)。
If the generated rendering instruction cannot be processed by each pipeline module and cannot be processed by the extended hardware module, the rendering instruction is supplied to the extended software module interface connected to the pipeline module. As a result, the extended software module processes the rendering command input to the
例えば、エッジ処理部3に入力された命令がベジェ曲線処理だった場合は、エッジ処理部3は、拡張ハードウェアモジュールに対して命令のブロードキャストを行う。本実施の形態2では、拡張ハードウェアモジュールNo2がベジェ曲線処理を行うモジュールである。このため拡張ハードウェアモジュールNo2が、その受信した命令をデコードし、データがベジェに関する命令である場合のベジェ処理を行う。この場合、エッジ処理部3に接続された他の拡張ハードウェアモジュールは、入力データ処理に関係のない場合はクロックが供給されていないため、動作が行われていない。またクロックが供給されている他拡張ハードウェアモジュールが存在する場合でも、受信命令をデコードして、その命令が自モジュールで処理する必要がないと判断した場合は処理を行わない。
For example, when the instruction input to the
また意味解析部1が生成した命令が出力処理である場合は、出力処理部8に蓄えられたデータを出力装置9に対して出力し、印刷処理もしくは画面出力が行われる。
If the command generated by the
なお本発明は、複数の機器(例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。 Note that the present invention can be applied to a system (for example, a copier, a facsimile machine, etc.) composed of a single device even if it is applied to a system composed of a plurality of devices (for example, a host computer, interface device, reader, printer, etc.). May be.
また本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。 Another object of the present invention is to supply a storage medium (or recording medium) on which a program code of software for realizing the functions of the above-described embodiments is recorded to a system or apparatus, and to perform computer (or CPU or MPU) of the system or apparatus. ) Is also achieved by reading and executing the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention. Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an operating system (OS) running on the computer based on the instruction of the program code. A case where part or all of the actual processing is performed and the functions of the above-described embodiments are realized by the processing is also included.
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。 Furthermore, after the program code read from the storage medium is written into a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer, the function is determined based on the instruction of the program code. The case where the CPU of the expansion card or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing is also included.
Claims (2)
入力されたページ記述言語データを解析する解析手段と、
前記解析手段による解析に基づいて、前記ページ記述言語データをレンダリングするレンダリング手段と、
前記レンダリング手段によるレンダリング機能の一部を実行し、それぞれがCPUを具備する複数の拡張ソフトウェアモジュールと、
前記ページ記述言語データに拡張ソフトウェアモジュールで処理すべき命令が含まれているか否かを判断する判断手段と、
前記判断手段による判断結果に基づいて、前記複数の拡張ソフトウェアモジュールの内の対応する拡張ソフトウェアモジュールのCPUにクロック信号を供給し、CPUにクロックを供給したことを示す信号を前記解析手段に送信する制御手段と、
前記レンダリング手段でレンダリングされた画像データを入力して出力装置に出力するとともに、前記レンダリング手段によるレンダリングが終了したことを示す信号を前記制御手段に供給する出力処理手段とを有し、
前記解析手段は、前記制御手段から前記CPUにクロックを供給したことを示す信号を受信すると、前記レンダリング手段によるレンダリングを開始させ、
前記制御手段は、前記レンダリングが終了したことを示す信号を受信すると、前記CPUへのクロックの供給を停止することを特徴とする画像処理装置。 An image processing apparatus for inputting page description language data, generating and outputting image data,
An analysis means for analyzing the input page description language data;
Rendering means for rendering the page description language data based on the analysis by the analysis means;
A plurality of extension software modules that execute a part of the rendering function by the rendering means, each of which includes a CPU;
Determining means for determining whether or not the page description language data includes an instruction to be processed by an extended software module;
Based on the determination result by the determination means, a clock signal is supplied to the CPU of the corresponding extension software module among the plurality of extension software modules, and a signal indicating that the clock is supplied to the CPU is transmitted to the analysis means . Control means;
Output processing means for inputting the image data rendered by the rendering means and outputting the image data to an output device, and supplying a signal indicating that rendering by the rendering means is completed to the control means,
When the analysis means receives a signal indicating that a clock is supplied to the CPU from the control means, the rendering means starts rendering by the rendering means,
When the control means receives a signal indicating that the rendering has been completed, the control means stops the supply of a clock to the CPU .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004297861A JP4522216B2 (en) | 2004-10-12 | 2004-10-12 | Image processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004297861A JP4522216B2 (en) | 2004-10-12 | 2004-10-12 | Image processing device |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2006113672A JP2006113672A (en) | 2006-04-27 |
JP2006113672A5 JP2006113672A5 (en) | 2007-11-29 |
JP4522216B2 true JP4522216B2 (en) | 2010-08-11 |
Family
ID=36382161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004297861A Expired - Fee Related JP4522216B2 (en) | 2004-10-12 | 2004-10-12 | Image processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4522216B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011122079A1 (en) * | 2010-03-29 | 2011-10-06 | コニカミノルタホールディングス株式会社 | Image-forming apparatus, accelerator and image-forming method |
JP5643946B2 (en) * | 2010-06-25 | 2014-12-24 | ナルテック株式会社 | Device having a plurality of interface units |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11157161A (en) * | 1997-12-01 | 1999-06-15 | Fuji Xerox Co Ltd | Device and method for printing operation |
JP2001184495A (en) * | 1999-12-27 | 2001-07-06 | Ricoh Co Ltd | Image processor |
JP2003208607A (en) * | 2002-01-15 | 2003-07-25 | Canon Inc | Image processing device, method therefor, control program, and recording medium |
-
2004
- 2004-10-12 JP JP2004297861A patent/JP4522216B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11157161A (en) * | 1997-12-01 | 1999-06-15 | Fuji Xerox Co Ltd | Device and method for printing operation |
JP2001184495A (en) * | 1999-12-27 | 2001-07-06 | Ricoh Co Ltd | Image processor |
JP2003208607A (en) * | 2002-01-15 | 2003-07-25 | Canon Inc | Image processing device, method therefor, control program, and recording medium |
Also Published As
Publication number | Publication date |
---|---|
JP2006113672A (en) | 2006-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20160074154A (en) | Compiler | |
JP2003237149A (en) | Drawing processor, drawing processing method, computer readable storage medium, and program | |
US20220171630A1 (en) | Apparatus and method | |
JP4522216B2 (en) | Image processing device | |
US10049487B2 (en) | Identifying duplicate indices in an input index stream | |
US8289533B2 (en) | Printing system and printing method for increasing efficiency by selectively rasterizing print data in either a host device or a print device | |
JP2002268877A (en) | Clock control method and information processor using the same | |
US20030210410A1 (en) | Efficient implementation of raster operations flow | |
JP2011096109A (en) | Image processing apparatus and image processing program | |
JP2019204348A (en) | Information processing device, control method therefor, and program | |
JP2014032436A (en) | Image processing device, image processing method, image forming device, program and recording medium | |
JP2004303077A (en) | Information processor and page description language generating method, program and storage medium | |
JP2001270170A (en) | Printer controller | |
JP2008305093A (en) | Memory controller, control method for memory controller, program, and storage medium | |
JP2008269260A (en) | Data processor, data processing method and program | |
JP2008018577A (en) | Image forming apparatus, image forming method, and program | |
JPH10114113A (en) | Printing device, printing control, and storage medium storing program to be read by computer | |
JP2008071054A (en) | Data transfer control method, data processor, and image processor | |
JP2758875B2 (en) | Registered character display system | |
JP2009132082A (en) | Image forming device | |
JPH06110888A (en) | Method and device for document output | |
JP2001146048A (en) | Printer control device, printer control method and recording medium having printer control program recorded thereon | |
JP2004056446A (en) | Picture processor, picture processing method, computer readable storage medium and program | |
JP2001016443A (en) | Enlarging/reducing method of printing data and enlarging/reducing device | |
JP2007028449A (en) | Image processing apparatus, image processing method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071012 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071012 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20071012 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100219 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100226 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100420 |
|
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: 20100517 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100525 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130604 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |