JP4818013B2 - 画像処理方法、画像処理装置、及び画像処理プログラム - Google Patents

画像処理方法、画像処理装置、及び画像処理プログラム Download PDF

Info

Publication number
JP4818013B2
JP4818013B2 JP2006202586A JP2006202586A JP4818013B2 JP 4818013 B2 JP4818013 B2 JP 4818013B2 JP 2006202586 A JP2006202586 A JP 2006202586A JP 2006202586 A JP2006202586 A JP 2006202586A JP 4818013 B2 JP4818013 B2 JP 4818013B2
Authority
JP
Japan
Prior art keywords
processing
image
data
drawing data
intermediate code
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
Application number
JP2006202586A
Other languages
English (en)
Other versions
JP2008027396A (ja
JP2008027396A5 (ja
Inventor
裕 妙木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2006202586A priority Critical patent/JP4818013B2/ja
Publication of JP2008027396A publication Critical patent/JP2008027396A/ja
Publication of JP2008027396A5 publication Critical patent/JP2008027396A5/ja
Application granted granted Critical
Publication of JP4818013B2 publication Critical patent/JP4818013B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Editing Of Facsimile Originals (AREA)

Description

本発明は、画像処理方法、画像処理装置、及び画像処理プログラムに関する。
従来、文書ファイルを拡大縮小して表示・印刷するには、まず通常の大きさでラスタデータに展開した後、指示倍率にしたがってラスタデータを拡大縮小処理していた。しかしこの手法ではラスタデータを補間したり間引いたりして拡大縮小を行なうので、ジャギーが発生したりドットが失われたりして、印刷品質が低下する。また、ラスタデータを操作するので高速処理に不向きであり、プリンタへの送信データ量も多くなる。この手法については、たとえば特開2000−83222号公報(特許文献1)に関連記載がある。
文書ファイルがページ記述言語(Page Description Language;以下PDL)で記述されていれば、文書ファイルそのものを書き換えることで拡大縮小を行なうことがきる。たとえばPostScriptでは座標系を変換するオペレータとして、translate(移動)・scale(拡大縮小)・rotate(回転)が用意されている。従って、これらを文書の先頭に記述することで、文書全体を移動・拡大縮小・回転させることができる。また、SVG(Scalable Vector Graphics)(非特許文献1)では<g>要素のtransform属性で移動・拡大縮小・回転を指定することができる。従って、SVG文書ファイルの全要素を包含するように<g>要素を記述することで、文書全体を移動・拡大縮小・回転させることができる。あるいは、拡大縮小のみであれば、もっとも外側の<svg>要素にviewBox属性を指定することでも可能である。
特開2000−83222号公報 特開平8−286861号公報 特開2001−130082号公報 特開2001−130083号公報 SVG 1.1 Specification <http://www.w3.org/TR/SVG11/>
しかし、上記の方法ではPDL文書ファイルそのものを書き換える必要がある。ディスプレイにPDL文書を表示してユーザの指示によりリアルタイムで移動・拡大縮小・回転したいような場合は、PDL文書ファイルを書き換えた後にパーズとレンダリングを行なう必要がある。これは、スムースな操作性を持ったシステムを提供するには不適切である。また、この方法はPDLごとに書き換え方が異なるので、複数のPDLに対応しようとすれば、それぞれのPDLに対して個別の処理を行なわなければならない。
ここで、すべての移動・拡大縮小・回転は、3x3の変換行列(そのうちの6つの値のみ使用)で数学的に表現することができる。従って、この変換行列をPDL文書とは別に用意しておいて、印刷時にPDL文書に適用することで、PDL文書の移動・回転・拡大縮小を行なうことができる。この手法についてはたとえば特開平8−286861号公報(特許文献2)に関連記載がある。しかし、この方法ではPDL文書全体に適用される変換操作しか実現できないので、たとえばPDL文書の一部をクリップして印刷するといった処理ができない。また、それぞれのPDLに対して個別の処理を行なわなければならない。
また、印刷データを一旦、中間コードに変換することで、印刷イメージのプレビュー表示を柔軟に行なうことができる。この手法についてはたとえば特開2001−130082号公報(特許文献3)や特開2001−130083号公報(特許文献4)に関連記載がある。
しかし、この方法ではプレビュー表示で拡大縮小や領域選択を行なっても、その操作を印刷に反映させることができない。反映させるためには印刷データを再作成する必要があり、処理コストがかかる。
本発明は以上の事情に鑑みてなされたものであり、少ない処理負荷で、表示された画像に対する加工処理を、印刷結果に反映させることを目的とする。
上記目的を達成するため、本発明に係る方法は、
画像処理装置の変換手段が、ページ記述言語で記述された第1描画データを中間コード表現の第2描画データに変換する変換工程と、
前記画像処理装置の表示手段が、前記第2描画データを用いて、画像を表示する表示工程と、
前記画像処理装置の加工処理手段が、前記表示工程で表示された画像に、入力した指示に応じた加工処理を施して表示する加工処理工程と、
前記画像処理装置の送信手段が、前記加工処理の内容を表わす加工処理データを前記第2描画データに付加して画像形成デバイスに送信する送信工程と、
を含むことを特徴とする。
上記目的を達成するため、本発明に係る装置は、
ページ記述言語で記述された第1描画データを中間コード表現の第2描画データに変換する変換手段と、
前記第2描画データを用いて、画像を表示する表示手段と、
前記表示手段で表示された画像に、入力した指示に応じた加工処理を施す加工処理手段と、
前記加工処理を表わす加工処理データを前記第2描画データに付加して画像形成デバイスに送信する送信手段と、
を含むことを特徴とする。
上記目的を達成するため、本発明に係るプログラムは、
コンピュータが実行することのできる画像処理プログラムであって、
ページ記述言語で記述された第1描画データから変換された中間コード表現の第2描画データを用いて、画像を表示する表示工程と、
前記表示工程で表示された画像に、入力した指示に応じた加工処理を施して表示する加工処理工程と、
前記加工処理を表わす加工処理データを前記第2描画データに付加して画像形成デバイスに送信する送信工程と、
をコンピュータに実行させることを特徴とする。
本発明によれば、少ない処理負荷で、表示された画像に対する加工処理を、印刷結果に反映させることができる。
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
(一実施形態)
本実施形態は、コンピュータネットワーク環境におけるPDL文書ファイルの表示・印刷方法に関する。特に、表示されたPDL文書ファイルを、拡大縮小処理し、上下左右移動処理し、領域の一部をクリップ(範囲指定処理)して表示し、かつ表示されたままの画像を少ない処理負荷で印刷する方法に関する。
本実施の形態では、PDLとしてSVG1.1を使用する。ユーザPC(クライアント)において、ユーザが選択したSVG文書ファイルを中間コードに変換し、ディスプレイに表示する。ユーザが上下左右移動、拡大縮小、領域選択(クリップ)を指示すると、ディスプレイの表示が更新される。ユーザが印刷を指示すると、ユーザPCからプリンタへ中間コードおよび上下左右移動、拡大縮小、クリップ情報が送信される。プリンタでは、上下左右移動、拡大縮小、クリップ情報を参照して中間コードの印刷を行なうことで、ディスプレイ上の表示と同じ印刷結果を得る。
[全体構成]
まず、図1を参照して本発明に係る画像処理方法の一実施形態を実現可能なシステムの全体構成を説明する。101はユーザが操作を行なうクライアントPCであり、ネットワークインタフェースを経由してネットワーク103に接続されている。102はネットワーク経由で印刷指示を受け付ける画像形成デバイスの一種としてのプリンタであり、同じくネットワークインタフェースを経由してネットワーク103に接続されている。PC101はネットワーク103を通じてプリンタ102に印刷指示を送信することが可能である。
[コンピュータ装置およびプリンタの構成]
次に、図2Aと図2Bを参照して、本実施の形態で使用するコンピュータ装置およびプリンタの構成について説明する。図2Aは、クライアント101の構成の一例を示すブロック図である。201はRAM202に格納されている制御プログラムに従って本装置全体の制御を行なうCPUである。202はCPU201が実行する本装置の制御プログラムや、文書画像等のデータを格納するRAM等の内部記憶部である。203はCPU201の制御の下にネットワークとの接続を行なってデータ等を送受信するネットワークインタフェースである。204はデータを保存する磁気ディスク等の外部記憶装置である。205はディスプレイ、206はキーボード、207はマウス等のポインティングデバイスである。RAM202に格納されているプログラムは、同じくRAM202に格納されているOS(Operating System)の機能を必要に応じて使用する。プログラムを実行するCPU201は、RAM202に一時記憶するデータの内容を読み書きしたり、外部記憶装置204上でデータを読み書きしたり、ネットワークインタフェースを通じてデータの送受信を行なったりする。また、キーボード206やポインティングデバイス207からの入力を受け取ったり、ディスプレイ205に表示を行なったりすることで、所定の動作を行なう。
図2Bは、プリンタ102の構成の一例を示すブロック図である。208、209、210、211は図2Aの201、202、203、204に示したのと同じくそれぞれCPU、RAM、ネットワークインタフェース、外部記憶装置である。212は印刷を行なうプリンタエンジンである。RAM209に格納されているプログラムは、ネットワークインタフェース210を通じて受信した印刷指示にしたがって、プリンタエンジン212を制御して印刷を行なう。その際、RAM209に一時記憶するデータの内容を読み書きしたり、外部記憶装置211上でデータを読み書きしたりすることができる。
[全体のブロック図]
次に、図3を参照して、本実施の形態で使用するコンピュータ装置内のブロック構成について説明する。
図3は、物理的に図1のような構成を取るクライアント101、プリンタ102、ネットワーク103において、本実施の形態の動作に主として関わる論理ブロックを示す図である。すなわちプログラムモジュール、ファイルエンティティ、メモリデータ、および通信経路の構成を示すブロック図である。
301はクライアント101のブロック境界を表わし、ここではOSの制御下にある環境を指す。中間コードコンバータ305とビューワプログラム306は、通常は外部記憶装置204に保存されているが、ユーザ、OS、あるいは別のプログラムから実行が指示されると、OSの制御によりRAM202に読み込まれ、実行可能な状態となる。302は外部記憶装置204に保存されているSVG文書ファイルであり、中間コードコンバータ305を含むプログラムはOSの機能を利用してSVG文書ファイル302の内容を読み書きすることが可能である。303はRAM202に格納される中間コードデータであり、中間コードコンバータ305を含むプログラムは同じくOSの機能を利用して中間コードデータ303の内容を読み書きすることが可能である。
中間コードコンバータ305はSVG文書ファイル302から中間コードデータ303への変換を行なう。つまり、中間コードコンバータ305は、ページ記述言語で記述された第1描画データを中間コード表現の第2描画データに変換する変換手段として機能する。この変換動作は両言語の仕様から機械的に決定できるものであるので、本実施の形態では中間コードコンバータ305の動作について詳述しない。
中間コードコンバータ305は、ビューワプログラム306を起動する前の任意の時点でユーザが実行し、SVG文書ファイル302を中間コードデータ303に変換する。
ビューワプログラム306は中間コードデータ303の内容をディスプレイ205に表示する。そして、キーボード206またはポインティングデバイス207を通じて、上下左右移動、拡大縮小(印刷倍率)、領域選択(印刷範囲)、印刷についてのユーザの指示を受け付ける。つまり、ビューワプログラム306は、中間コードコンバータ305が生成した第2描画データを用いて、画像を表示する表示手段、及び、表示された画像に、入力した指示に応じた加工処理を施して表示する加工処理手段として機能する。上下左右移動、拡大縮小(印刷倍率)、領域選択(印刷範囲)といった加工処理に関するユーザの指示は表示印刷情報304(加工処理データ)としてRAM202に格納される。ビューワプログラム306はユーザからの印刷指示を受け付けると、ネットワークインタフェース210を使用し、中間コードデータ303と表示印刷情報304をネットワーク103を経由してプリンタコントローラ307に送信する。つまり、ビューワプログラム306は、加工処理を表わす加工処理データを前記第2描画データに内的に付加して画像形成デバイスに送信する送信としても機能する。SVG文書ファイル302と中間コードデータ303の内容、およびビューワプログラム306の動作については図4〜図12を用いて後述する。
307はプリンタ102のブロック境界を表わす。コントローラ307はRAM209に格納され、常に実行可能な状態にあるプログラムである。コントローラ307はネットワークインタフェース210を通じてビューワプログラム306から中間コードデータ303と表示印刷情報304を受信すると、RAM209に中間コードデータ308および表示印刷情報309として格納する。そして、その情報にしたがってプリンタエンジン212を制御して印刷を行なう。コントローラ307の動作については図13〜図14を用いて後述する。
[SVG文書ファイル]
次に、図4〜図5を参照して、本実施の形態で使用するSVG文書ファイルについて説明する。
図4は、本実施の形態で使用するSVG文書ファイル302の内容を示す図である。1行目はXML宣言(XML Declaration)であり、本SVG文書ファイルがXML1.0仕様にしたがって記述されていることを示す。
2〜3行目は文書型宣言(Document Type Declaration)であり、外部サブセットとしてSVG1.1の文書型定義(Document Type Definition;DTD)を参照している。
4〜5行目はルート要素としての<svg>要素の開始タグである。<svg>要素の幅・高さとしてそれぞれ21.0cmと29.7cm(A4サイズ)、ユーザ座標系として(0,0)−(210,297)を指定しているほか、SVG名前空間と、準拠するSVGのバージョン番号を指定している。
6行目は<desc>要素であり、本SVG文書ファイルについての説明を記述する。<desc>要素の内容はSVG文書のレンダリングには使用されない。
7、10、13行目はコメント要素である。コメント要素の内容もSVG文書のレンダリングには使用されない。
8〜9行目は矩形をレンダリングするための<rect>要素である。左上座標の値はユーザ座標系において(30,30)を指定し、幅と高さの値は4行目のviewBoxに対する割合としてそれぞれ40%と30%を指定している。矩形内部の塗りつぶしの色は"yellow"(黄色)、矩形の外形線の色は"blue"(青色)、外形線の幅はユーザ座標系において2と指定している。
11〜12行目は円をレンダリングするための<circle>要素である。中心座標の値はユーザ座標系において(140,120)を指定し、半径の値はユーザ座標系において50を指定している。円内部の塗りつぶしの色は"red"(赤色)、円の外形線の色は"blue"(青色)、外形線の幅はユーザ座標系において2と指定している。
14〜15行目は三角形をレンダリングするための<path>要素である。パスはユーザ座標系における絶対座標の(100,140)から始まり、次にユーザ座標系における相対座標で(50,90)まで直線を引き、次にユーザ座標系における相対座標で(−100,0)まで直線を引き、最後にパスを閉じている。パス内部の塗りつぶしの色は"green"(緑色)、パスの外形線の色は"blue"(青色)、外形線の幅はユーザ座標系において2と指定している。
14行目はルート要素としての<svg>要素の終了タグであり、4〜5行目の開始タグに対応するものである。図4に示したSVG文書ファイルのファイルサイズは、文字コードとしてUTF−8、改行コードとしてMS−DOS(Windows(登録商標))形式の2バイト(0D0AH)を使用した場合、641バイトになる。
図4に示したSVG文書ファイルをレンダリングした結果を図5に示す。501が8〜9行目の<rect>要素に対応する矩形、502が11〜12行目の<circle>要素に対応する円、503が14〜15行目の<path>要素に対応する三角形である。504はSVG文書全体の外接矩形を示している。外接矩形504のサイズは幅21.0cm、高さ29.7cmである。
[中間コード]
次に、図6〜7を参照して、本実施の形態で使用する中間コードについて説明する。図6は、本実施の形態で使用する中間コードの仕様を示す図である。
601はレンダリング命令を表わすオペコードであり、数字で指定する。本実施の形態では10種類のオペコードを定義している。オペコードは1バイト整数として中間コードデータ303、308に格納される。
602はオペコードを人間が識別しやすくするためのニーモニックである。ニーモニックは中間コードの内容をダンプして示すような場合にのみ使用し、中間コードデータ303、308には含まれない。
603はオペコードに対する引数を表わすオペランドである。オペランドの数とその意味はオペコードによって異なる。オペランドは2バイト浮動小数点数として中間コードデータ303、308に格納される。
本実施の形態で使用する中間コードでは、単位系としてmmのみを使用する。オペランドに座標や長さを指定する場合は、すべてmmに換算した値を指定する。座標値はページ左上を原点とする絶対値で表わす。オペランドに色を指定する場合はRGB(赤・緑・青)で表わし、R(赤)、G(緑)、B(青)の値をそれぞれ0.0〜1.0の範囲で指定する。
オペコード0(ニーモニックPageStart)はページの開始を表わす。オペランドはページの幅(mm)とページの高さ(mm)である。
オペコード1(ニーモニックPageEnd)はページの終了を表わす。オペランドはない。
オペコード2(ニーモニックFill)は塗りつぶしの色の指定である。Fillで指定する塗りつぶしは以降のレンダリング命令すべてに適用される。オペランドは塗りつぶしの色(RGB)である。
オペコード3(ニーモニックStroke)は外形線の指定である。Strokeで指定する外形線は以降のレンダリング命令すべてに適用される。オペランドは外形線の色(RGB)と、外形線の幅(mm)である。
オペコード4(ニーモニックPathStart)はパスの開始を表わす。オペランドはない。
オペコード5(ニーモニックPathEnd)はパスの終了を表わす。オペランドはクローズフラグであり、"1"が指定された場合はパスの終了位置から開始位置まで直線をレンダリングすることで、パスを閉じることを表わす。"0"が指定された場合は何もしない。
オペコード6(ニーモニックPathMoveTo)はパスのレンダリング位置の移動を表わす。PathStart命令とPathEnd命令の間でのみ有効である。PathMoveToはレンダリング位置を移動するだけで、実際のレンダリングは行なわない。オペランドは移動位置座標をX(横方向)(mm)とY(縦方向)(mm)の値で指定する。
オペコード7(ニーモニックPathLineTo)はパスの現在位置からオペランドで指定された位置まで直線をレンダリングする。PathStart命令とPathEnd命令の間でのみ有効である。オペランドは直線終端座標をX(横方向)(mm)とY(縦方向)(mm)の値で指定する。
オペコード8(ニーモニックPathArc)はパスの現在位置から円弧をレンダリングする。PathStart命令とPathEnd命令の間でのみ有効である。PathArcは常に時計回り方向に円弧をレンダリングする。オペランドは円弧中心座標のX(横方向)(mm)とY(縦方向)(mm)の値、および、円弧の長さ(角度で指定する)である。
オペコード9(ニーモニックClip)はレンダリングのクリップの指定である。Clipで指定するクリップは以降のレンダリングすべてに適用される。オペランドはクリップ領域の左上座標のX(横方向)(mm)とY(縦方向)(mm)の値、および、クリップ領域の幅(mm)と高さ(mm)である。
図7は、図4に示した内容のSVG文書ファイル302を中間コードコンバータ305が変換した中間コードデータ303の内容を示す図である。中間コードデータ303は1バイト整数のオペコードと2バイト浮動小数点数のオペランドのみが格納されたバイナリデータであるが、図7に示すのはそれを人間が識別しやすくするためにダンプ表示し、ニーモニックも付記したものである。
1行目はページ開始命令で、オペランドでページの幅と高さを210.0mmと297.0mmに指定している。図4の<svg>要素の開始タグに相当し、長さ指定をcmからmmに換算している。
2行目は以降のレンダリングに使用する塗りつぶし命令で、オペランドで塗りつぶしの色を黄色、すなわち(R, G, B)=(1.0, 1.0, 0.0)に指定している。図4の<rect>要素のfill属性に相当し、色指定を文字列表記からRGB表記に変換している。
3行目は以降のレンダリングに使用する外形線命令で、オペランドで外形線の色を青色、すなわち(R, G, B)=(0.0, 0.0, 1.0)に指定し、線幅を2.0mmに指定している。図4の<rect>要素、<circle>要素、<path>要素のstroke属性およびstroke-width属性に相当し、色指定を文字列表記からRGB表記に変換するとともに、長さ指定をユーザ座標系からmmに換算している。
4〜9行目は矩形のレンダリングを行なう命令群である。5行目はレンダリング位置移動命令、6〜8行目は直線レンダリング命令、9行目はパス終了命令である。これにより、座標(30.0mm,30.0mm)→(114.0mm,30.0mm)→(114.0mm,119.1mm)→(30.0mm,119.1mm)→(30.0mm,30.0mm)を直線で結ぶ閉パスがレンダリングされる。矩形内部は2行目の命令により黄色で塗りつぶされ、外形線は3行目の命令により青色かつ線幅2mmでレンダリングされる。図4の<rect>要素および図5のレンダリング結果501に相当し、座標指定をユーザ座標系からmmに換算し、長さ指定をパーセント指定から絶対値指定に変換している。
10行目は以降の塗りつぶしに使用する塗りつぶし命令で、オペランドで塗りつぶしの色を赤色、すなわち(R, G, B)=(1.0, 0.0, 0.0)に指定している。図4の<circle>要素のfill属性に相当し、色指定を文字列表記からRGB表記に変換している。
11〜14行目は円のレンダリングを行なう命令群である。12行目のレンダリング位置移動命令および13行目の円弧レンダリング命令によって、座標(140.0mm, 120.0mm)を中心とし、座標(140.0mm, 70.0mm)から始まる、角度360.0度の円がレンダリングされる。円内部は10行目の命令により赤色で塗りつぶされ、外形線は3行目の命令により青色かつ線幅2mmでレンダリングされる。図4の<circle>要素および図5のレンダリング結果502に相当し、座標指定や長さ指定をユーザ座標系からmmに換算している。
15行目は以降の塗りつぶしに使用する塗りつぶし命令で、オペランドで塗りつぶしの色を緑色、すなわち(R, G, B)=(0.0, 1.0, 0.0)に指定している。図4の<path>要素のfill属性に相当し、色指定を文字列表記からRGB表記に変換している。
16〜20行目は三角形のレンダリングを行なう命令群である。17行目はレンダリング位置移動命令、18〜19行目は直線レンダリング命令、20行目はパス終了命令を表わすオペランドの指定である。これにより、座標(100.0mm,140.0mm)→(150.0mm,230.0mm)→(50.0mm,230.0mm)→(100.0mm,140.0mm)を直線で結ぶ閉パスがレンダリングされる。三角形内部は15行目の命令により緑色で塗りつぶされ、外形線は3行目の命令により青色かつ線幅2mmでレンダリングされる。図4の<path>要素および図5のレンダリング結果503に相当し、座標指定をユーザ座標系からmmに換算するとともに、相対座標指定を絶対座標指定に変換している。
この中間コードのサイズは、オペコード1バイト、オペランド各2バイトとして95バイトになる。SVG文書ファイルのサイズ641バイトと比較して約1/7に縮小されているため、ファイルやメモリに保持する際のコスト、ネットワーク経由で送信する際のコストが軽減される。また、SVG文書に対するような複雑なパーズが不要になるので、レンダリングも高速に行なうことができる。
[ビューワプログラムの表示・動作概要]
次に、図8〜図9を参照して、ビューワプログラム306の表示と動作の概要について説明する。
図8はビューワプログラム306が起動直後にクライアント101のディスプレイ205に表示したウィンドウを示す図である。801がウィンドウ全体を表わす。802がSVG文書ファイル302の表示領域である。803、804、805、806は表示領域802に表示されるSVG文書をそれぞれ上、左、下、右に移動(スクロール)するためのボタンである。
807、808は表示領域802に表示されるSVG文書をそれぞれ拡大(ズームイン)、縮小(ズームアウト)するためのボタンである。809はウィンドウ801をクローズしてビューワプログラム306を終了するためのボタンである。810は表示領域802に表示されているSVG文書を印刷するためのボタンである。
ユーザはクライアント101のキーボード206やポインティングデバイス207を使って804〜810のボタンを操作したり、表示領域802内でクリップ領域を指定したりすることができる。
図9は、ビューワプログラム306が行なう処理の、起動から終了までを表わすフローチャートを示す図である。ステップS901は開始である。ビューワプログラム306は、例えば、クライアントコンピュータ101のディスプレイ205に、アイコンなどとして表示される。ユーザがキーボード206やポインティングデバイス207を用いて表示されたアイコンなどをクリックすることによってビューワプログラム306は起動される。具体的には、外部記憶装置204に格納されたビューワプログラム306が読み出され、その一部または全部がRAM202に一時的に記憶され、CPU201によって実行される。ステップS902は第1描画データとしてのSVG文書ファイル302を変換した第2描画データとしての中間コードデータ303を読み込む処理である。ここでは図7に示した中間コードデータを使用して説明する。以降、ここで読み込んだ中間コードデータを変数dlcで参照する。
ステップS903は変数の初期化処理である。変数windowはビューワプログラム306の表示領域802のサイズをピクセルで表わす。要素xは横方向の長さで、ここでは例として400ピクセルである。要素yは縦方向の長さで、ここでは600ピクセルである。
変数originは表示領域802の左上がSVG文書の左上原点から見てどの座標に位置するかをピクセルで表わす。要素xは横方向の座標値、要素yは縦方向の座標値で、初期値はともに0である。originが(0, 0)ならばSVG文書の左上原点を表示領域802の左上位置に合わせて表示し、これが初期状態である。originがたとえば(100, 100)ならば、SVG文書の左上原点から(100, 100)ピクセル分だけ右下に移動した場所を表示領域802の左上位置に合わせて表示する。変数originを更新して表示領域802の再表示を行なうことで、SVG文書の上下左右移動表示が可能になる。変数originはユーザがボタン803〜806を操作すると更新される。変数originの更新についてはステップS908で後述する。表示の上下左右移動については図10を参照して後述する。
変数magは表示倍率を表わす。SVG文書(幅W(mm)高さH(mm))を表示領域802の幅window.x(ピクセル)にぴったり表示するのに必要な倍率と、高さwindow.y(ピクセル)にぴったり表示するのに必要な倍率のうち、小さい方を初期値とする。ここではW=210.0、window.x=400なので、W÷window.x=1.905となる。また、H=297.0、window.y=600なので、H÷window.y=2.02となる。よって、この例では、magは1.905で初期化される。変数magの更新についてはステップS908で後述する。倍率の変更については図11を参照して後述する。
変数clipはクリップ領域をピクセルで表わす。要素xと要素yはクリップ領域の左上原点で、表示領域802の左上位置からの相対座標で表わす。要素wと要素hはクリップ領域の横方向と縦方向の長さである。初期値(0, 0, 400, 600)は表示領域802と同じ位置・同じ大きさになる。変数clipの更新についてはステップS908で後述する。クリップ領域の指定については図12を参照して後述する。
ステップS904は、表示工程としての画面表示処理である。まず、表示領域802の左上位置を変数originが表わす位置に移動する。次に、中間コードのオペコードとオペランドの内容にしたがって表示領域802にレンダリングを行なうが、この際、各オペランドの座標値および線幅にすべてmagが表わす倍率を乗算する。実例については図10、図11を参照して後述する。
ステップS905はユーザの指示を示す入力があるまで待つ処理である。ユーザの入力を変数keyに格納する。
ステップS906はユーザの入力が終了ボタン809の操作だったかどうかを判定する処理である。終了ボタン809の操作であればステップS911に進んでビューワプログラム306を終了する。それ以外の場合はステップS907に進む。
ステップS907はユーザの入力が印刷ボタン810の操作だったかどうかを判定する処理である。印刷ボタン810の操作であればステップS909に進んで印刷処理を行なう。それ以外の場合はステップS908に進む。
ステップS908は、加工処理工程としての処理であって、ユーザの入力が上下左右移動ボタン803〜806か、拡大縮小ボタン807〜808か、あるいは領域指定だった場合の処理である。
ユーザの入力が上下左右移動ボタン803〜806であれば、変数originの更新を行なう。ユーザの入力が左移動ボタン804であれば、変数origin.xの値を20ピクセル減算する。ユーザの入力が上移動ボタン805であれば、変数origin.yの値を20ピクセル減算する。ユーザの入力が右移動ボタン806であれば、変数origin.xの値を20ピクセル加算する。ユーザの入力が下移動ボタン805であれば、変数origin.yの値を20ピクセル加算する。変数originを参照した上下左右移動表示については図10を参照して後述する。
ユーザの入力が拡大縮小ボタン807〜808であれば、変数magの更新を行なう。ユーザの入力が拡大ボタン807であれば、変数magの値を1.5倍に乗算する。ユーザの入力が縮小ボタン808であれば、変数magの値を1/1.5に除算する。変数magを参照した拡大縮小表示については図11を参照して後述する。
ユーザの入力が領域指定であれば、ユーザの指定した領域を変数clipに格納する。領域指定については図12を参照して後述する。
ステップS909はユーザが印刷を指示した場合に、クリップ領域を中間コードの座標値に換算する処理である。まず、現在の変数clipの左上座標clip.x、clip.yは表示領域802の左上位置からの相対座標であることから、表示領域802の左上位置座標値を示すoriginの値を加算する。結果の値はピクセルなので、これをmmに換算するために、現在の表示倍率magで除算する。次に、現在の変数clipのクリップ領域の幅と高さclip.w、clip.hの値はピクセルなので、これもmagで除算してmmに換算する。最後に、magをmagの初期値で除算して、初期値からの倍率に換算する。このようにプリンタに対して送信するための変数mag、clipは、加工処理を表わす加工処理データに相当する。
ステップS910はプリンタ102のコントローラ307に印刷データを送信する処理である。第2描画データである中間コードデータ303として変数dlcの内容、加工処理データである表示印刷情報304として変数magと変数clipの内容を送信する。プリンタ側の印刷処理については図13〜図14を参照して後述する。ステップS911は終了処理である。
[ビューワプログラムの上下左右移動表示]
次に、図10を参照して、ビューワプログラムの上下左右移動表示について説明する。図10は、図9で用いた数値(ウィンドウサイズ400×600など)を利用して具体的に例示する。また、図9で示したように変数magの値は、初期値1.905のまま、ユーザが上下左右移動ボタン803〜806を操作して変数originが更新されたものとする。
1005、1009、1013はビューワプログラム306の表示領域802の位置およびサイズを示す。1004、1008、1012は表示する中間コードデータ303の位置およびサイズを示す。1001と1002は中間コードデータ1004の左上原点を(0, 0)とする座標軸を表わす。
まず、図10(a)で1003に示すように変数originの値が初期値(0, 0)のままの場合を考える。この時、中間コードデータ1004の左上原点と表示領域1005の左上位置は一致している。また、変数magの初期値1.905はステップS903で中間コードデータの幅を表示領域の幅にぴったり表示するのに必要な倍率が選択されたものである。したがって、中間コードデータ1004のすべての座標値と線幅に変数magの値を乗算すると、中間コードデータ1004の横幅が表示領域1005とちょうど同じになるようにmmからピクセルへの換算が行なわれることになる。以上により、ステップS904で中間コードデータと表示領域の位置・サイズは1004と1005に示すように調整される。この位置・サイズで中間コードデータ1004をレンダリングし、表示領域1005でクリップされる結果、ビューワプログラムのウィンドウ801における表示は図10(b)の1006に示すようになる。
次に、ユーザが左移動ボタン804を5回操作した場合を考える。ステップS908の処理により、変数originの値は図10(c)の1007に示すように(−100, 0)になる。この時、表示領域1009の左上位置は中間コードデータ1008の左上原点から見てoriginの値に等しい座標(−100, 0)に位置する。また、変数magの値は初期値1.905のままである。以上により、ステップS904で中間コードデータと表示領域の位置・サイズは1008と1009に示すように調整される。この位置・サイズで中間コードデータ1008をレンダリングし、表示領域1009でクリップされる結果、ビューワプログラムのウィンドウ801における表示は図10(d)の1010に示すようになる。
次に、ユーザがさらに下移動ボタン805を8回操作した場合を考える。ステップS908の処理により、変数originの値は図10(e)の1011に示すように(−100, −160)になる。この時、表示領域1009の左上位置は中間コードデータ1012の左上原点から見て変数originの値に等しい座標に位置する。また、変数magの値は初期値1.905のままである。以上により、ステップS904で中間コードデータと表示領域の位置・サイズは1012と1013に示すように調整される。この位置・サイズで中間コード1012をレンダリングし、表示領域1013でクリップされる結果、ビューワプログラムのウィンドウ801における表示は図10(f)の1014に示すようになる。ユーザが右移動ボタン806や上移動ボタン803を操作した場合の表示動作も同様である。
[ビューワプログラムの拡大縮小表示]
次に、図11を参照して、ビューワプログラムの拡大縮小表示について説明する。図11は、変数originの値がそれぞれ(0, 0)と(−100, −160)である場合に、ユーザが拡大ボタン807を一回操作して変数magの値が初期値の1.5倍(1.905×1.5=2.857)になった場合の表示を示す図である。
図11において、1105、1109は、ビューワプログラム306の表示領域802の位置およびサイズを示す。1104、1108は、表示する中間コードデータ303の位置およびサイズを示す。1101と1102は中間コードデータ1104の左上原点を(0, 0)とする座標軸を表わす。
まず、図11(a)の1103に示すように変数originの値が初期値のまま(0, 0)の場合を考える。この時、中間コードデータ1104の左上原点と表示領域1105の左上位置は一致している。また、変数magの値は初期値の1.5倍なので、中間コードデータ1004のすべての座標値と線幅に変数magの値を乗算すると、中間コードデータ1004の横幅が表示領域1005のちょうど1.5倍になるようにmmからピクセルへの換算が行なわれる。以上により、ステップS904で中間コードデータと表示領域の位置・サイズは1104と1105に示すように調整される。この位置・サイズで中間コードデータ1104をレンダリングし、表示領域1105でクリップされる結果、ビューワプログラムのウィンドウ801における表示は図11(b)の1106に示すようになる。
次に、図11(c)の1107に示すように変数originが(−100, −160)になった場合を考える。この時、表示領域1109の左上位置は中間コードデータ1108の左上原点から見てoriginの値に等しい座標に位置する。また、変数magの値は初期値の1.5倍である。以上により、ステップS904で中間コードデータと表示領域の位置・サイズは1108と1109に示すように調整される。この位置・サイズで中間コードデータ1108をレンダリングし、表示領域1109でクリップされる結果、ビューワプログラムのウィンドウ801における表示は図11(d)の1110に示すようになる。縮小表示についても同様である。
[ビューワプログラムの領域選択]
次に、図12を参照して、ビューワプログラムの領域選択について説明する。図12は、変数originの値が(240, 240)、変数magの値が初期値の2倍(1.905×2=3.810)である場合の表示を示す図である。
図12(a)において、1205はビューワプログラム306の表示領域802の位置およびサイズを示す。1204は表示する中間コードデータ303の位置およびサイズを示す。1201と1202は中間コードデータ1204の左上原点を(0, 0)とする座標軸を表わす。ステップS904で中間コードデータと表示領域の位置・サイズは1204と1205に示すように調整される。この位置・サイズで中間コードデータ1204をレンダリングし、表示領域1205でクリップされる結果、ビューワプログラムのウィンドウ801における表示は図12(b)の1208に示すようになる。ユーザはキーボード206やポインティングデバイス207を使って、表示領域1208内の任意の矩形領域を選択することができる。選択した様子を1206に示す。この選択領域はステップS908で変数clipに格納される。ここではユーザがclip=(10, 20, 380, 550)に相当する領域を選択したとする。
ユーザがこの領域選択を行なった状態で印刷を指示すると、ステップS909で単位系の換算が行なわれる。ここではorigin=(240, 240)(単位はピクセル)、mag=3.810、clip=(10, 20, 380, 550)(単位はピクセル)である。これから、clip.x=(240+10)÷3.810=65.617、clip.y=(240+20)÷3.810=68.241、clip.w=380÷3.810=99.738、clip.h=550÷3.810=144.357となる。つまり、clip=(65.617, 68.241, 99.738, 144.357)(単位はmm)となる。また、mag=3.810÷1.905=2となる。したがって、ステップS910で、中間コード303として図7に示すコードと、表示印刷情報304としてmag=2及びclip=(65.617, 68.241, 99.738, 144.357)がプリンタコントローラ307に送信される。
[印刷]
最後に、図13〜図14を参照して、プリンタコントローラ307による印刷について説明する。図13はプリンタコントローラ307の動作を表わすフローチャートを示す図である。
ステップS1301は開始である。ステップS1302は変数の初期化処理である。ビューワプログラム306から受信した中間コードデータ308と表示印刷情報309を参照する変数として、中間コードデータ308を変数dlcで参照する。また、表示印刷情報309のうち倍率に関する情報を変数magで参照し、領域選択に関する情報を変数clipで参照する。
ステップS1303は中間コードデータdlcのレンダリング処理である。すべての座標値・線幅に変数magの値を乗じてレンダリングする。ステップS1304はレンダリング結果のクリップ処理である。変数clipの値にmagの値を乗じた位置・サイズでクリップを行なう。ステップS1305は出力処理である。レンダリング結果にしたがってプリンタエンジン212を制御し、出力を行なう。ステップS1306は終了処理である。
図14は、図7に示す中間コードデータと、図12に示した倍率mag=2および領域選択clip=(65.617,68.241,99.738,144.357)の表示印刷情報を受信した場合のレンダリングおよびクリップの様子を示す図である。
図14(a)の1401はステップS1303で中間コードデータ308をレンダリングした位置およびサイズを示す。変数magの値が乗算されているので、横方向は420.0mm、縦方向は594.0mmになる。1402は中間コード308の用紙サイズを図示したものである。1403は中間コードデータ308の用紙(210.0mm, 297.0mm)を中間コードデータ308の左上原点からclip情報の左上座標(65.617mm, 68.241mm)分だけ移動させた位置およびサイズを示す。
1403はステップS1304でレンダリング結果をクリップした位置およびサイズを示す。変数clipに変数magの値が乗算されているので、位置は中間コードデータの左上から(131.234mm, 136.482mm)、大きさは(136.482mm, 288.714mm)になる。ステップS1305で出力を行なった結果、図14(b)の1404に示すサイズの用紙に1405に示す出力結果を得る。
[実施形態の効果]
以上により、容易かつ少ない処理負荷で、ディスプレイ表示時に行なった移動・拡大縮小・領域選択処理を、印刷結果に反映させることができる。印刷指示の際にユーザがディスプレイ上で印刷領域を選択すれば、その選択に応じてクリップされた状態で印刷できる。
PDL文書をそのまま使用して表示・印刷する場合と比べ、画像変形処理ごとにPDL文書を書き換えたり、パーズ・レンダリングしたりする必要がないので、処理速度が向上する。特に、ユーザの指示によりリアルタイムで移動・拡大縮小表示を行なう際に効果がある。
また、中間コードを使用することで、PDL文書をプリンタに送信する必要がなく、もともとのPDL文書を書き換えることなく保持しておくことができる。プリンタに送信するデータのサイズも小さく、パーズも容易なので、送信速度も向上する。さらに、中間コードを使用することで、複数種類のPDL文書が対象であっても、同一のビューワプログラムで表示・印刷が可能である。
(他の実施の形態)
本実施の形態では中間コードデータと表示印刷情報を別途プリンタに送信したが、これ以外に、クライアントPC上で表示印刷情報を用いて中間コードデータそのものを書き換え、プリンタには中間コードデータのみを送信する実施の形態も考えられる。この場合、まず表示印刷情報のうちの倍率を中間コードデータのすべての座標値と線幅に乗算する。さらに、表示印刷情報のうち領域選択に関する情報をオペコード9(ニーモニックClip)命令として中間コードのオペコード9(ニーモニックPageStart)命令の直後に挿入する。前述の実施の形態で使用した中間コードデータ(図7)と表示印刷情報(図12)にしたがって中間コードデータを書き換えた例を図15に示す。
この場合、変数clipや変数magを用いた計算処理を、クライアント側で行なうので、プリンタ側の処理負担が軽減される。クライアント側の処理能力に対してプリンタ側の処理能力が低い場合には、全体として印刷速度が向上するという効果がある。
本実施の形態ではPDLとしてSVG1.1を使用したが、もちろんこれに限るものではなく、SVGのその他のバージョン、あるいは中間コードに変換可能なものであれば任意のPDLを使用することが可能である。
図1においてPCとプリンタはネットワーク接続されるとしたが、これ以外の接続形態であってもよく、たとえばPCとプリンタが直接接続されていても、本発明の実施を妨げるものではない。
図2でプログラムはRAM202に格納されるとしたが、これに限るものではない。他の実施の形態においてはプログラムを外部記憶装置204から読み込んで実行するようにしてもよいし、ネットワークインタフェース203を介して受信して実行するようにしてもよい。また、図2には示していないが、ROM等の読み出し専用の内部記憶部から読み込んで実行するようにしてもよい。また、キーボード206やポインティングデバイス207の代わりに、あるいはそれらに加えて、音声入力等の他の入力装置を備えることもできる。また、ディスプレイ205、キーボード206、ポインティングデバイス207を他のコンピュータ装置と共有する場合も考えられる。
図3で中間コードデータ303、308および表示印刷情報304、309はRAMに保持したが、これ以外に、ファイルやデータベースその他の永続記憶に保存してもよい。また、同じPDL文書に対する中間コードデータはキャッシュしておいて、次回以降の処理に利用する形態も考えられる。
図6において中間コードの仕様を示したが、使用可能な中間コードはこの仕様に限定されるものではない。たとえば単位系はmm以外の任意の単位系またはその組み合わせであってもよい。パスにはベジエ曲線、楕円弧、その他の数学的に表現可能な任意のパスを記述できるようにしてもよい。Fillは単色ではなくブラシ、イメージ、グラデーション等の複雑な塗りを行なえるようにしてもよい。色はRGB以外にアルファ値の追加、カラープロファイルによる指定、デバイスカラーによる指定、特色の指定なども行なえるようにしてもよい。また、オペコードとして1バイト整数、オペランドとして2バイト浮動小数点数を使うことも単なる一例であって、他のエンコード方法を使用しても構わない。
本実施の形態では1ページの表示・印刷を行なう例を示したが、PDLが複数ページに対応するものであれば、中間コード、ビューワプログラム、コントローラをそれに対応させてもよい。
また、本実施の形態では中間コードコンバータ305は、ビューワプログラム306を起動する前の任意の時点でユーザが実行し、SVG文書ファイル302を中間コードデータ303に変換した。しかしながら、ビューワプログラム306がステップS902でSVG文書ファイルを読み込む仕様とし、ビューワプログラム306が中間コードコンバータ305を呼び出して中間コードデータ303を生成することもできる。
図9において、一回あたりの移動量は必ずしも20ピクセルでなくてもよく、ユーザがあらかじめ指定できるようにしてもいい。ShiftキーやCtrlキーを併用して上下左右移動ボタンを操作することで、移動量がたとえば5倍になったりするユーザインタフェース仕様も考えられる。同様に、一回あたりの倍率変更は1.5倍単位でなくてもよい。ウィンドウの初期サイズももちろん400ピクセル×600ピクセルに限定されるものではない。
なお、本発明は、実施形態の機能を実現するソフトウェアのプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータがその供給されたプログラムコードを読み出して実行することによっても達成され得る。その場合、プログラムの機能を有していれば、その形態はプログラムである必要はない。
従って、本発明の機能処理をコンピュータで実現するために、そのコンピュータにインストールされるプログラムコード自体およびそのプログラムを格納した記憶媒体も本発明を構成することになる。つまり、本発明の特許請求の範囲には、本発明の機能処理を実現するためのコンピュータプログラム自体、およびそのプログラムを格納した記憶媒体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク等がある。また、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD-ROM、DVD-R)などがある。
その他、ブラウザを用いてインターネットのホームページに接続し、そのホームページからプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWebサーバも、本発明の請求の範囲に含まれるものである。
また、プログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布してもよい。所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
本発明の実施形態に係る画像処理システムの全体構成を示す図である。 本発明に係る画像処理装置を実現可能なコンピュータの構成を示す図である。 本発明の実施形態に係るプリンタ装置の構成を示す図である。 本発明の実施形態に係る画像処理システムの機能構成を示すブロック図である。 SVG文書ファイルの例を示す図である。 SVG文書ファイルのレンダリング結果の例を示す図である。 中間コード仕様の例を示す図である。 SVG文書ファイルを変換した中間コードのダンプ表示の例を示す図である。 ビューワプログラムの表示画面の例を示す図である。 ビューワプログラムの動作を示すフローチャートである。 ビューワプログラムの上下左右移動表示について説明する図である。 ビューワプログラムの拡大表示について説明する図である。 ビューワプログラムの領域指定について説明する図である。 プリンタコントローラの動作を示すフローチャートである。 印刷結果の例を示す図である。 中間コードを直接変換した例について示す図である。
符号の説明
101 クライアント
102 サーバ
103 ネットワーク
201 CPU
202 RAM
203 ネットワークインタフェース
204 外部記憶装置
205 ディスプレイ
206 キーボード
207 ポインティングデバイス
208 CPU
209 RAM
210 ネットワークインタフェース
211 外部記憶装置
212 プリンタエンジン

Claims (15)

  1. 画像処理装置の変換手段が、ページ記述言語で記述された第1描画データを中間コード表現の第2描画データに変換する変換工程と、
    前記画像処理装置の表示手段が、前記第2描画データを用いて、画像を表示する表示工程と、
    前記画像処理装置の加工処理手段が、前記表示工程で表示された画像に、入力した指示に応じた加工処理を施して表示する加工処理工程と、
    前記画像処理装置の送信手段が、前記加工処理の内容を表わす加工処理データを前記第2描画データに付加して画像形成デバイスに送信する送信工程と、
    を含むことを特徴とする画像処理方法。
  2. 前記送信工程において、前記加工処理データにより表された前記加工処理の内容を前記第2描画データに対して施した場合と同等となるように、前記第2描画データを書き換えて送信することを特徴とする請求項1に記載の画像処理方法。
  3. 前記加工処理は、表示された前記画像に対する移動処理、拡大縮小処理、または、範囲指定処理の少なくとも何れか一つであることを特徴とする請求項1に記載の画像処理方法。
  4. 前記送信工程によって送信された前記第2描画データと前記加工処理データとに基づいて前記画像形成デバイスで画像形成を行なう画像形成工程を更に含むことを特徴とする請求項1に記載の画像処理方法。
  5. 前記加工処理データは、前記第2描画データで表わされる画像に対する印刷範囲及び印刷倍率を示すデータであることを特徴とする請求項1に記載の画像処理方法。
  6. ページ記述言語で記述された第1描画データを中間コード表現の第2描画データに変換する変換手段と、
    前記第2描画データを用いて、画像を表示する表示手段と、
    前記表示手段で表示された画像に、入力した指示に応じた加工処理を施す加工処理手段と、
    前記加工処理の内容を表わす加工処理データを前記第2描画データに付加して画像形成デバイスに送信する送信手段と、
    を含むことを特徴とする画像処理装置。
  7. 前記送信手段は、前記加工処理データにより表された前記加工処理の内容を前記第2描画データに対して施した場合と同等となるように、前記第2描画データを書き換えて送信することを特徴とする請求項6に記載の画像処理装置。
  8. 前記加工処理は、表示された前記画像に対する移動処理、拡大縮小処理、または、範囲指定処理の少なくとも何れか一つであることを特徴とする請求項6に記載の画像処理装置。
  9. 前記送信手段によって送信された前記第2描画データと前記加工処理データとに基づいて前記画像形成デバイスで画像形成を行なう画像形成手段を更に含むことを特徴とする請求項6に記載の画像処理装置。
  10. 前記加工処理データは、前記第2描画データで表わされる画像に対する印刷範囲及び印刷倍率を示すデータであることを特徴とする請求項6に記載の画像処理装置。
  11. コンピュータが実行することのできる画像処理プログラムであって、
    ページ記述言語で記述された第1描画データから変換された中間コード表現の第2描画データを用いて、画像を表示する表示工程と、
    前記表示工程で表示された画像に、入力した指示に応じた加工処理を施して表示する加工処理工程と、
    前記加工処理を表わす加工処理データを前記第2描画データに付加して画像形成デバイスに送信する送信工程と、
    をコンピュータに実行させることを特徴とする画像処理プログラム。
  12. 前記送信工程において、前記加工処理データにより表された前記加工処理の内容を前記第2描画データに対して施した場合と同等となるように、前記第2描画データを書き換えて送信させることを特徴とする請求項11に記載の画像処理プログラム。
  13. 前記加工処理は、表示された前記画像に対する移動処理、拡大縮小処理、または、範囲指定処理の少なくとも何れか一つであることを特徴とする請求項11に記載の画像処理プログラム。
  14. 前記送信工程によって送信された前記第2描画データと前記加工処理データとに基づいて前記画像形成デバイスで画像形成を行なう画像形成工程として更に機能させることを特徴とする請求項11に記載の画像処理プログラム。
  15. 前記加工処理データは、前記第2描画データで表わされる画像に対する印刷範囲及び印刷倍率を示すデータであることを特徴とする請求項11に記載の画像処理プログラム。
JP2006202586A 2006-07-25 2006-07-25 画像処理方法、画像処理装置、及び画像処理プログラム Expired - Fee Related JP4818013B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006202586A JP4818013B2 (ja) 2006-07-25 2006-07-25 画像処理方法、画像処理装置、及び画像処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006202586A JP4818013B2 (ja) 2006-07-25 2006-07-25 画像処理方法、画像処理装置、及び画像処理プログラム

Publications (3)

Publication Number Publication Date
JP2008027396A JP2008027396A (ja) 2008-02-07
JP2008027396A5 JP2008027396A5 (ja) 2009-09-10
JP4818013B2 true JP4818013B2 (ja) 2011-11-16

Family

ID=39117932

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006202586A Expired - Fee Related JP4818013B2 (ja) 2006-07-25 2006-07-25 画像処理方法、画像処理装置、及び画像処理プログラム

Country Status (1)

Country Link
JP (1) JP4818013B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010088009A (ja) * 2008-10-02 2010-04-15 Seiko Epson Corp 印刷装置および印刷方法
JP5896610B2 (ja) * 2011-03-14 2016-03-30 キヤノン株式会社 装置、方法およびプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05270055A (ja) * 1992-03-30 1993-10-19 Canon Inc 画像記録方法及び装置及び情報処理方法
JP3991565B2 (ja) * 2000-09-06 2007-10-17 コニカミノルタビジネステクノロジーズ株式会社 データ処理装置及び方法
JP4345248B2 (ja) * 2001-07-25 2009-10-14 コニカミノルタビジネステクノロジーズ株式会社 印刷データ処理装置、印刷装置、印刷データ処理方法、及び、印刷データ処理プログラム
JP2006154912A (ja) * 2004-11-25 2006-06-15 Canon Inc ドキュメント表示および印刷システム、方法および記憶媒体

Also Published As

Publication number Publication date
JP2008027396A (ja) 2008-02-07

Similar Documents

Publication Publication Date Title
KR100743797B1 (ko) 디지털 문서 처리
US8056006B2 (en) Systems and methods for digital document processing
JP4667280B2 (ja) 情報処理装置及びその制御方法、プログラム
JP5901704B2 (ja) 情報処理装置、情報処理方法、プログラム
JP6157210B2 (ja) 文書変換装置、文書変換方法、及びプログラム
CN106055290B (zh) 图像处理设备和图像处理方法
KR20060128695A (ko) 촬상 장치, 제어 방법, 및 기억매체
WO2006012168A2 (en) Procedurally expressing graphic objects for web pages
JP4960900B2 (ja) 情報処理装置および画像形成装置
EP1272922B1 (en) Digital document processing
JP4656215B2 (ja) 印刷システム、この印刷システムを構成する印刷装置及び端末装置
JP4480160B2 (ja) 印刷装置、印刷装置の制御方法、印刷装置の制御プログラム、記憶媒体、並びに、Webサーバ
JP4818013B2 (ja) 画像処理方法、画像処理装置、及び画像処理プログラム
JP5991365B2 (ja) 帳票システム、情報処理装置と、その処理方法及びプログラム
JP2011013771A (ja) 印刷制御装置、印刷制御方法及びプログラム
JP2006341457A (ja) 印刷装置
JP2019117366A (ja) 情報処理装置、情報処理方法、および情報処理プログラム
JP2023020591A (ja) 情報処理装置、その制御方法及びプログラム
US5937144A (en) Rasterized proxy of a vector image
Dengler et al. Scalable vector graphics (SVG) 1.1
JP5171973B2 (ja) 情報処理装置及びその制御方法
JP2017097463A (ja) 印刷制御システム、印刷制御装置およびプログラム
JP2010125810A (ja) 情報処理装置、データ処理方法、プログラム及び記憶媒体
JP2004531000A (ja) 図形情報を操作する方法およびシステム
JP2006178622A (ja) 文書変換方法、文書変換装置、及びプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090727

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090727

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110603

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110728

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: 20110826

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: 20110830

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140909

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140909

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees