JP4724517B2 - 画像処理システムおよび画像処理方法およびプログラムおよび記憶媒体 - Google Patents

画像処理システムおよび画像処理方法およびプログラムおよび記憶媒体 Download PDF

Info

Publication number
JP4724517B2
JP4724517B2 JP2005283296A JP2005283296A JP4724517B2 JP 4724517 B2 JP4724517 B2 JP 4724517B2 JP 2005283296 A JP2005283296 A JP 2005283296A JP 2005283296 A JP2005283296 A JP 2005283296A JP 4724517 B2 JP4724517 B2 JP 4724517B2
Authority
JP
Japan
Prior art keywords
rendering
drawing data
group
grouping
data
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
JP2005283296A
Other languages
English (en)
Other versions
JP2007094758A (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 JP2005283296A priority Critical patent/JP4724517B2/ja
Priority to US11/531,401 priority patent/US8248411B2/en
Publication of JP2007094758A publication Critical patent/JP2007094758A/ja
Application granted granted Critical
Publication of JP4724517B2 publication Critical patent/JP4724517B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/10Mixing of images, i.e. displayed pixel being the result of an operation, e.g. adding, on the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)
  • Record Information Processing For Printing (AREA)

Description

本発明は、パーソナルコンピュータなどの情報処理システムにおける画像処理でのグループ化に関するものである。
パーソナルコンピュータ、ワークステーション等の計算機端末では、近年マルチCPU等を用いた分散処理が利用されつつある。しかし、アプリケーションから渡される描画データは、処理プロセスが考慮されておらず、マルチCPUや複数のモジュールでの分散処理等を効率良く行うことが出来なかった。分散処理のためには、描画データのグループ(Group)化が必要である。
特許文献1では、領域の重なる描画データをひとくくりにするグループ化方法が記載されている。
図16は、従来の描画データのグループ化方法を示す図である。
特開2004−193876号公報
しかしながら、従来のグループ化方法では、領域の重なる描画データをひとくくりにするだけである。このようなグループ化では、生成されたグループに描画の分散処理等でのメリットはあまりなかった。
なお、描画データのレンダリング処理には、大きく2つの方法がある。scanline法とPainter法(ペインタ法)である。
scanline法(スキャンライン法;scanline algorithm)とは、各描画データをスクリーン上の各スキャンライン(横方向のピクセルの集まり)ごとに分割する(これをセグメントと呼ぶ)。そして、同じスキャンラインを共有するセグメント同士の奥行き(Z軸)値を比較して、手前にあるほう(Z軸上位)だけを描画する。これをスクリーン上の全スキャンラインについて行う方法である。
なお、このscanline法は、重なりが多い複雑な描画データをレンダリングするには有効である。しかし、Edge(輪郭)が多い文字等の処理は遅いといった特徴がある。
Painter法(ペインタ法;Painter algorithm)とは、視点から見て,奥(Z軸下位)にあるオブジェクトから順に描画していく方法である。
なお、このPainter法では、重なりが少ない描画データをレンダリングする場合には有効である。しかし、重なりが多い描画データをレンダリングする場合には、処理が遅く、透過等の処理が行えないといった特徴がある。
よって、従来のグループ化方法のように、領域の重なる描画データをひとくくりにしたグループでは、上記いずれのレンダリング方法を用いても、効率良く、また、適切に処理するとができないといった問題点があった。
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、画像処理でメリットがありマルチCPU等での分散処理を有効に使用できるように、描画データをグループ化する仕組を提供することである。
本発明の画像処理システムは、第1レンダリング手段でレンダリングされる第1グループと第2レンダリング手段でレンダリングされる第2グループとに描画データのグループ化を行うグループ化手段と、前記グループ化手段によりグループ化された第1グループの描画データに基づきレンダリングを行う第1レンダリング手段と、前記グループ化手段によりグループ化された第2グループの描画データに基づきレンダリングを行う第2レンダリング手段と、前記第1レンダリング手段によりレンダリングされた画像と前記第2レンダリング手段によりレンダリングされた画像との印刷を行う印刷手段と、を有し、前記第1グループは他のオブジェクトと重ならないオブジェクトを含み、前記第1レンダリング手段はペインター法のレンダリング手段を含み、前記第2グループは他のオブジェクトと重なるオブジェクトを含み、前記第2レンダリング手段はスキャンライン法のレンダリング手段を含むことを特徴とする。
また、本発明の画像処理システムは、第1レンダリング手段でレンダリングされる第1グループと第2レンダリング手段でレンダリングされる第2グループとに描画データのグループ化を行うグループ化手段と、前記グループ化手段によりグループ化された第1グループの描画データに基づきレンダリングを行う第1レンダリング手段と、前記第1レンダリング手段によりレンダリングされた画像と前記グループ化手段によりグループ化された第2グループの描画データに基づきレンダリングされた画像との印刷を行う印刷手段と、を有し、前記第2グループは他のオブジェクトと重ならない文字を含み、前記第1グループは他のオブジェクトと重ならない文字以外のオブジェクトを含み、前記第1レンダリング手段はスキャンライン法のレンダリング手段を含むことを特徴とする。
本発明によれば、描画データの処理をマルチCPUや複数のモジュールで分散処理することが可能なように、描画データをグループ化することができる等の効果を奏する。
また、グループ毎に各描画処理方法の特徴を生かした描画処理(異なる描画処理)を高速に実行可能なように、描画データをグループ化することができる等の効果を奏する。
従って、優れた描画データの処理環境を構築することができる。
〔第1実施形態〕
以下、本発明の実施形態を図面を参照し説明する。
図1は、本発明の一実施形態を示す画像処理装置(画像処理方法)における描画データグループ化処理部の全体構成を示すブロック図である。
図1に示すように、描画データグループ化処理部は、描画データ入力部101と、描画データ処理部102と、描画データ出力部103とから成る。
描画データ入力部101は、描画データを入力する。なお、この描画データには、Text,グラフィック,イメージ等のオブジェクトを描画するための個々の描画データが複数を含まれている。描画データ処理部102は、描画データ入力部101から入力された描画データをグループ(Group)化処理する。描画データ出力部103は、描画データ処理部102によりグループ化処理された描画データを出力する。
図2は、図1に示した描画データ処理部102の構成を詳細を示したブロック図である。
図2において、201はデータ抽出部であり、入力されたデータからText,グラフィック,イメージ等のオブジェクトを描画するための個々の描画データを抽出する。203はデータ外接領域保存部であり、データ抽出部201で抽出された個々の描画データの外接領域データを作成し保存する。
202は特定データ判断部であり、データ抽出部201で抽出された個々の描画データが予め設定されている特定描画データであるか否かをデータ外接領域保存部203で作成される外接領域データを用いて判断する。なお、予め設定されている特定描画データとは、例えば「最上位文字」に対応する描画データ等を示す。この例の場合、特定データ判断部202は、描画データが最上位文字であるかを後述する図3に示すように判断する。
204はデータ結合部であり、特定データ判断部202に判断された特定描画データとそれ以外の描画データ等をそれぞれひとまとめにする(グループ化する)。
図3は、図2に示した特定データ判断部202が外接領域データを用いて特定描画データとしての最上位文字を判断する方法の一例を示す図である。
図3に示す例では、データ抽出部201により、入力された描画データ群300から、円301、Text“A”302、三角形303、長方形304の各オブジェクトを描画する描画データが抽出されたものとする。また、データ外接領域保存部203で作成され保存される円301、Text“A”302、三角形303、長方形304の外接領域データを、301a,302a,303aで示す。
図3に示すように、Text“A”302が最上位であるか否かの判断は、外接領域で重なりのある他のオブジェクト(円301、三角形303、長方形304)とZ軸の位置を比較して判断する。図3に示した例では、Text“A”302の外接領域302aが、円301の外接領域301a,三角形303外接領域303aと重っている。よって、ここでは、Text“A”302が最上位であるか否かの判断は、Text“A”302と円301,三角形303のZ軸の位置を比較する。そして、Text“A”302が円301,三角形303に対してZ軸で上位であれば、特定データ判断部202はText“A”302を最上位文字と判断する。
なお、図3に示した例では、Text“A”302の外接領域302aは、長方形304の外接領域304aと重ならない。よって、Text“A”302と長方形304とのZ軸の上位関係は比較する必要がない。即ち、ここでは、特定データ判断部202は、Text“A”302と長方形304とのZ軸の上位関係は比較しない。
即ち、最上位文字とは、該最上位文字の外接領域の上に、他のオブジェクトの外接領域が重ねて描画されることのない文字を示す。
なお、特定描画データは、「最上位文字」の描画データに限られるものではない。例えば、単に「文字(Text)」の描画データを特定描画データとして設定してもよい。また、「円」「長方形」「三角形」等のいずれかの「グラフィック」の描画データを特定描画データとして設定してもよい。さらに、「イメージデータ」の描画データを特定描画データとして設定してもよい。また、「背景」の描画データを特定描画データとして設定してもよい。さらに、上記を組み合わせて特定描画データとして設定してもよい。例えば、「三角形」の描画データ及び「円」の描画データを特定データとして設定してもよい。
次に、図4〜図6を用いて、グループ化方法について説明する。
図4は、図2に示したデータ結合部204によるグループ化方法の一例を示す図である。
図4に示す例では、データ抽出部201により、入力された描画データ群400から、円401、text“A”402、三角形403、長方形404、text“B”405のオブジェクトを描画するための各描画データが抽出されたものとする。また、特定データ判断部202により、円401の描画データと長方形404の描画データが特定描画データと判断されたものとする。
図4に示すように、データ結合部204は、特定描画データである円401の描画データと長方形404の描画データを、特定描画データのグループ411としてグループ化している。また、データ結合部204は、text“A”402の描画データ、三角形403の描画データを、特定描画データの上位レイヤー410としてグループ化している。さらに、データ結合部204は、text“B”405の描画データを、特定描画データの下位レイヤー412としてグループ化している。
描画データ結合部は、このグループ化された描画データに描画順を示す情報を付加する。たとえば、グループ412に1、グループ411に2、グループ410に3を付加する。そして描画順の付加されたコマンド形式の各グループの描画データを出力部によりプリンタに出力する。プリンタのコントローラでは、受信したグループ410の描画データ、グループ411の描画データ、グループ412の描画データをそれぞれペインタ法で描画しビットマップイメージを生成する。描画された1番目のグループ412のビットマップに、描画された2番目のグループ411のビットマップを上書きし、次に描画された3番目のグループ410のビットマップを上書きすることにより3つのグループを合成する。そしてメモリ上で合成されたビットマップをプリントエンジンでプリントする。
また、別の実施形態として、描画データ結合部は、各グループに描画順を示す情報を付加する。たとえば、グループ412に1、グループ411に2、グループ410に3を付加する。そしてグループ410、グループ411、グループ412の描画データをそれぞれペインタ法でメモリに描画する。そして、描画順の付加されたビットマップ形式の各グループの描画データを出力部によりプリンタに出力する。そして、プリンタでは、受信した描画されている1番目のグループ412のビットマップに、描画されている2番目のグループ411のビットマップを上書きする。次に描画されている3番目のグループ410のビットマップを上書きすることにより3つのグループを合成する。このメモリ上で合成されたビットマップをプリントエンジンでプリントする。
また、別の実施形態として、描画データ結合部は、各グループに描画順を示す情報を付加する。たとえば、グループ412に1、グループ411に2、グループ410に3を付加する。そしてグループ410、グループ411、グループ412の描画データをそれぞれメモリに描画する。そして描画された1番目のグループ412のビットマップに、描画された2番目のグループ411のビットマップを上書きし、次に描画された3番目のグループ410のビットマップを上書きすることにより3つのグループを合成する。そして描画データ出力部は合成された1ページ分のビットマップイメージを描画データとしてプリンタに出力する。プリンタは受信したビットマップイメージの描画データをプリントエンジンでプリントする。
図4の例では、描画データ400を特定データのグループ411と特定データの上位レイヤー410と特定データの下位レイヤー412の3層にグループ化する場合について説明したが、上位レイヤーと下位レイヤーの2層にグループ化する例は効果的である。以下、その例について図5,図6を参照して説明する。なお、図5では背景とそれ以外の2層にグループ化する例を示し、図6では最上位文字とそれ以外の2層にグループ化する例を示す。
図5は、図2に示したデータ結合部204によるグループ化方法の一例を示す図である。
図5に示す例では、データ抽出部201により、入力された描画データ群500から、背景501、text“A”502、円503、三角形504、text“B”505、長方形506のオブジェクトを描画するための各描画データが抽出されたものとする。また、特定データ判断部202により、背景501の描画データが特定描画データと判断されたものとする。
図5に示すように、データ結合部204は、特定描画データである背景501の描画データを背景グループ510としてグループ化している。また、データ結合部204は、背景501以外の描画データ(text“A”502、円503、三角形504、text“B”505、長方形506の各描画データ)を背景以外のグループ511としてグループ化している。
描画データ結合部は、このグループ化された描画データに描画順を示す情報を付加する。たとえば、グループ510に1、グループ511に2を付加する。そして描画順の付加されたコマンド形式の各グループの描画データを出力部によりプリンタに出力する。プリンタのコントローラでは、受信したグループ510の描画データをペインタ法でメモリに描画し、グループ511の描画データをスキャンライン法でメモリに描画する。描画された1番目のグループ510のビットマップに、描画された2番目のグループ511のビットマップを上書きすることにより2つのグループを合成する。そしてメモリ上で合成されたビットマップをプリントエンジンでプリントする。
また、別の実施形態として、描画データ結合部は、各グループに描画順を示す情報を付加する。たとえば、グループ510に1、グループ511に2を付加する。そしてグループ510の描画データをペインタ法でメモリに描画し、グループ511の描画データをスキャンライン法でメモリに描画する。そして、描画順の付加されたビットマップ形式の各グループの描画データを出力部によりプリンタに出力する。そして、プリンタでは、受信した描画されている1番目のグループ510のビットマップに、描画されている2番目のグループ511のビットマップを上書きすることにより2つのグループを合成する。このメモリ上で合成されたビットマップをプリントエンジンでプリントする。
また、別の実施形態として、描画データ結合部は、グループ510の描画データをペインタ法でビットマップに描画し、グループ511の描画データをスキャンライン法でビットマップに描画し、描画された各グループに描画順を示す情報を付加する。たとえば、グループ510に1、グループ511に2を付加する。そして描画された1番目のグループ510のビットマップに、描画された2番目のグループ511のビットマップを上書きすることにより2つのグループを合成する。そして描画データ出力部は合成された1ページ分のビットマップイメージを描画データとしてプリンタに出力する。プリンタは受信したビットマップイメージの描画データをプリントエンジンでプリントする。
図6は、図2に示したデータ結合部204によるグループ化方法の一例を示す図である。
図6に示す例では、データ抽出部201により、入力された描画データ群600から、text“A”601、円602、長方形603、text“B”604、三角形605のオブジェクトを描画するための各描画データが抽出されたものとする。また、特定データ判断部202により、最上位文字であるtext“A”601、text“B”604の各描画データが特定描画データと判断されたものとする。
図6に示すように、データ結合部204は、特定描画データである最上位文字(text“A”601、text“B”604)の各描画データを最上位文字のグループ610としてグループ化している。また、データ結合部204は、最上位文字以外の描画データ(円602、長方形603、三角形605の各描画データ)を最上位文字以外のグループ611としてグループ化している。
描画データ結合部は、このグループ化された描画データに描画順を示す情報を付加する。たとえば、グループ611に1、グループ610に2を付加する。そして描画順の付加されたコマンド形式の各グループの描画データを出力部によりプリンタに出力する。プリンタのコントローラでは、受信したグループ610の描画データをペインタ法でメモリに描画し、受信したグループ611の描画データをスキャンライン法でメモリに描画する。描画された1番目のグループ611のビットマップに、描画された2番目のグループ610のビットマップを上書きすることにより2つのグループを合成する。そしてメモリ上で合成されたビットマップをプリントエンジンでプリントする。また、プリンタのコントローラでは、受信したグループ611の描画データをスキャンライン法でメモリに描画する。描画された1番目のグループ611のビットマップに、受信した2番目のグループ610の描画データをプリンタのフォントを用いて上書きすることにより印刷すべきビットマップを生成する。そしてメモリ上に生成されたビットマップをプリントエンジンでプリントする構成でも良い。
また、別の実施形態として、描画データ結合部は、各グループに描画順を示す情報を付加する。たとえば、グループ611に1、グループ610に2を付加する。そしてグループ610の描画データをペインタ法でビットマップに描画し、グループ611の描画データをスキャンライン法でビットマップに描画する。そして、描画順の付加された各グループのビットマップ形式の描画データを出力部によりプリンタに出力する。そして、プリンタでは、受信した描画されている1番目のグループ611のビットマップに、描画されている2番目のグループ610のビットマップを上書きすることにより2つのグループを合成する。このメモリ上で合成されたビットマップをプリントエンジンでプリントする。
また、別の実施形態として、描画データ結合部は、描画された各グループに描画順を示す情報を付加する。たとえば、グループ611に1、グループ610に2を付加する。そしてグループ610をペインタ法で描画し、グループ611をスキャンライン法で描画する。描画された1番目のグループ611のビットマップに、描画された2番目のグループ610のビットマップを上書きすることにより2つのグループを合成する。そして描画データ出力部は合成された1ページ分のビットマップイメージを描画データとしてプリンタに出力する。プリンタは受信したビットマップイメージの描画データをプリントエンジンでプリントする。
以下、図7,図8,図9を参照して、図1〜図6に示した本発明の描画データグループ化処理部によるグループ化処理を、印刷処理システム(特にプリンタドライバ内)に適用した場合の実施形態について説明する。
なお、このグループ化処理は、プリンタドライバではなく、印刷装置内で行っても同様に成立する。また、このグループ化処理は、ディスプレイ装置やその他ビットマップ処理を行うアプリケーションで行っても同様に成立する。
図7,図8,図9は、本発明の画像処理装置(画像処理方法)を適用可能な情報処理システムの構成の一例を示すブロック図であり、同一のものには同一の符号を付してある。
なお、図7は情報処理システムのハードウェア構成の一例を示すものに対応する。
図7において、1は中央処理装置である。この中央処理装置1は、複数のプロセッサ(CPU)で構成されていてもよい。即ち、中央処理装置1は、マルチプロセッサ構成であってもよい。マルチプロセッサ構成では、複数の処理を複数のプロセッサで分担して並行して処理することにより、処理性能を向上することが可能となる。
2は主記憶装置(RAM)であり、中央処理装置1の作業領域として使用される。3は補助記憶装置であり、中央処理装置1が実行する各種プログラムやデータ等を格納している。6は媒体読取装置であり、FD,CD-ROM,ICメモリカード等の記憶媒体からデータを読み取るためのものである。
中央処理装置1は、補助記憶装置3から、又は媒体読取装置6を介して記憶媒体からシステムプログラム,アプリケーションプログラム等を主記憶装置2に読み込んで実行する。そして、入力装置4から入力される情報を処理して、出力装置5や印刷装置(プリンタ)7に出力する。なお、プリンタ7は、電子写真方式であっても、インクジェット式、昇華式等の他の印刷方法を用いるものであってもよい。
なお、本実施形態では、出力装置5は、ディスプレイ等の表示装置とし、本来出力装置に含まれるプリンタ7と区別する。また、入力装置4は、キーボード,ポインティングデバイス等で構成されているものとする。さらに、補助記憶装置3は、ハードディスク、光磁気ディスク等で構成されるものであってもよいし、これらの組み合わせで構成されるものであってもよい。また、それぞれの装置がネットワークを介して接続されていようとも、本発明を制約するものではない。
図8は、記憶媒体から画像処理方法制御プログラムと関連するデータが中央処理演算装置1に読み込まれ、入力装置4から印刷命令が入力されて、プリンタ7へデータを送り印刷するまでの概念を表すものである。
図8において、9はオペレーションシステム(OS)、10はアプリケーションプログラム、11はプリンタドライバである。OS9、アプリケーションプログラム10、及びプリンタドライバ11は、中央処理演算装置1により主記憶装置2上に読み込まれて実行されている。
なお、OS9は、マルチプロセッサ構成をサポートするものであり、中央処理装置1がマルチプロセッサ構成の場合でも動作させることが可能である。
また、アプリケーションプログラム10、及びプリンタドライバ11は、ともにOS9の制御下で機能する。
図9は本発明の特徴を最もよく表す図面である。
図9において、30はホスト装置(本発明の印刷システムにおけるクライアントコンピュータ本体)を示すものであり、プリンタ7とはセントロニクスインタフェースやネットワーク等の所定のインタフェースを介して接続されている。
OS9はホスト装置30を制御している。プリンタドライバ11は、OS9上でプリンタ7を制御するアプリケーションソフトウェアである。
プリンタドライバ11において、12はユーザインタフェース部である。このユーザインタフェース部12は、本発明においてユーザがプリンタ7に対してグループ化処理を行う特定描画データ(例えば、最上位文字を描画するための描画データ)の設定等の各種印刷設定等を入力し、印刷開始指示を行うためのものである。
13は印刷データ制御部であり、アプリケーションプログラム10から指定される描画命令を受け、印刷装置において処理できるデータを作成する。この印刷データ制御部13は、本発明である印刷システムにおけるホスト装置側の重要な処理部(図1に示した描画データ処理部102)を含むものである。
印刷データ制御部13において、14はデータ抽出部で、入力される描画データ群から描画データをひとつひとつ抽出するものである。なお、このデータ抽出部14は、図2に示したデータ抽出部201に対応する。
15はデータ外接領域保存部で、データ抽出部14で抽出された個々の描画データの外接領域データを作成し、外接領域テーブル(後述する図11)として主記憶装置2内に保存するものである。なお、このデータ外接領域保存部15は、図2に示したデータ外接領域保存部203に対応する。
16は特定データ判断部で、データ抽出部201で抽出された個々の描画データが特定データであるかを判断するものであり、図2に示した特定データ判断部202に対応する。なお、この特定データ判断部16には、初期値により判定基準(例えば、最上位文字)が設定される、或いは、ユーザインタフェース部12にてユーザの指定により判定基準が設定される。
17はデータ結合部であり、特定データ判断部16で特定データと判断されたデータ群とそれ以外のデータ群を初期値又はユーザインタフェース部12にてユーザの指定により指定された方法でひとまとまりにする(グループ化する)。なお、このデータ結合部17は、図2に示したデータ結合部204に対応する。
18は印刷データ生成部であり、データ結合部17でグループ化された描画データのレンダリングを行い、ビットマップデータを作成する。なお、このレンダリング処理の際、印刷データ生成部18は、グループ毎にレンダリング処理を分散して並行処理する。この構成により、中央処理装置1がマルチプロセッサ構成の場合、処理性能を向上させることが可能である。
19は印刷コマンド制御部で、プリンタドライバ11の機能であり、印刷データ生成部18により作成された印刷データをプリンタ7に対応した印刷コマンドに変更する。また、印刷コマンド制御部19は、印刷コマンド全体を制御する。
20はデータ送受信部で、OS9の機能であり、セントロニクス接続やネットワーク接続等によりプリンタ7とのデータ送受信を行う。また、印刷装置(プリンタ)7は、接続されたホスト装置30からの指示に応じた印刷処理等を行う。
なお、プリンタドライバ11(特に、データ抽出部14,データ外接領域保存部15,特定データ判断部16,データ結合部17)によるグループ化処理は、図10に示されるグループ化処理方法のフローチャートに基づいてプログラム化されたものである。
なお、図1に示した描画データ入力部101,描画データ出力部103については、図示しないがOS9,プリンタドライバ11に含まれる。
以下、図10のフローチャートを参照しながら本発明に係るグループ化処理方法について説明する。
図10は、本発明の画像処理装置(画像処理方法)における第1の制御処理手順の一例を示すフローチャートであり、グループ化処理に対応する。なお、このフローチャートの処理は、図7に示した中央処理装置1が、補助記憶装置3等から読み出したプログラム(OS9,アプリケーションプログラム10,プリンタドライバ11等)を主記憶装置2上で実行することにより実現される。また、図10中、S101〜S109は各ステップを示す。
まず、図7に示した入力装置4から印刷を実行するように命令が入力されると、補助記憶装置3から主記憶装置2上に読み込まれたOS9、プリンタドライバ11やアプリケーションプログラム10のうち、OS9がそのメッセージを受け取る。OS9は現在アクティブであるアプリケーションプログラム10に印刷実行メッセージを送る。
アプリケーションプログラム10は、そのメッセージをOS9が認識できるコマンドに変換して印刷するデータやコマンドのメッセージを送る。OS9はプリンタドライバ11の認識できるコマンドに変換して、メッセージを送る。
プリンタドライバ11に初期化用のメッセージが送られてきたら、プリンタドライバ11は、ユーザインタフェース部12の設定、或いはデフォルト値により、特定描画データを決定する。
まず、データ抽出部14が、OS9からプリンタ11に入力されたデータから個々の描画データを抽出し、主記憶装置2内の所定領域に格納する。そして、プリンタドライバ11は、図10のフローチャートに示す処理を開始する。
処理が開始されると、まず、ステップS101において、特定データ判断部16が、主記憶装置2内に格納された描画データを所定の順序で1つ読み込む。例えば、最上位文字列が特定データと設定されている場合には、Z軸上位のデータから読み込むものとする。以下、この描画データをカレントの描画データと呼ぶ。
次に、ステップS102において、特定データ判断部16が、カレントの描画データが特定の描画データか否かを判断する。そして、カレントの描画データが特定の描画データであると判断した場合には、特定データ判断部16は、ステップS103において、カレントの描画データがグループ化条件を満たすか否かを判断する。この時、特定データ判断部16は、判断の基準として、既に、後述する図11に示す主記憶装置2内の外接領域テーブルに格納される描画データの外接領域データを用いる。
例えば、「最上位文字列」を描画するための描画データが特定描画データと設定されている場合には、ステップS102で、カレントの描画データが文字(text)を描画するための描画データであるか否かを判断する。そして、ステップS103で、該文字の描画データにより描画される文字の外接領域に、重なる外接領域を有するオブジェクトの描画データが既に外接領域テーブルにあるか判断する。
また、「背景」を描画するための描画データが特定描画データと設定されている場合には、ステップS102、S103で、カレントの描画データが「背景」を描画するための描画データであるか否かを判断する。
図11は、図9に示したデータ外接領域保持部15が生成し主記憶装置2内に保持する外接領域テーブルの構成を示す図である。
図11に示すように、外接領域テーブルは、少なくとも、描画データを識別するためのID1101,描画データの外形矩形を特定するデータ(ここでは外形矩形の左上座標1102,外形矩形の右下座標1103)を含む。なお、1104は描画データの種別(Text,グラフィック(円,三角形,長方形等),イメージ等)を示す。
以下、図10のフローチャートの説明に戻る。
そして、ステップS103で、カレントの描画データがグループ化条件を満たすと判断した場合には、特定データ判断部16は、カレントの描画データに特定描画データの印を付ける。即ち、特定描画データを示す情報をカレントの描画データに紐付けて主記憶装置2内の所定領域に格納する。そして、ステップS105に処理を進める。
なお、ステップS102で、特定データ判断部16が、カレントの描画データが特定データでないと判断した場合には、そのままステップS105に処理を進める。
また、ステップS103で、特定データ判断部16が、カレントの描画データがグループ化条件を満たしていないと判断した場合にも、そのままステップS105に処理を進める。
次に、ステップS105において、データ外接領域保持部15が、カレントの描画データの外接領域データ(外形矩形の左上座標,外形矩形の右下座標)を外接領域テーブルに格納する(外接領域テーブルを更新する)。
次に、ステップS106において、特定データ判断部16が、主記憶装置2内に格納された描画データを全て読み込み済か否かを判定し、まだ全て読み込み済でないと判定した場合には、ステップS101に処理を戻す。そして、次の描画データを読み込む。
一方、データ抽出部14が、全ての描画データを読み込み済と判定した場合には、ステップS107に処理を進める。
そして、ステップS107において、データ結合部17が、主記憶装置2内に格納された描画データを所定の順序で1つ読み込む。以下、この描画データをカレントの描画データと呼ぶ。そしてステップS108において、データ結合部17は、カレントの描画データを、ステップS104で付加した印のついた特定描画データを基準にグループ化する。
例えば、図5,図6に示したように、特定描画データのグループと特定描画データ以外のグループの2層にグループ化する場合には、以下のようにグループ化する。データ結合部17は、カレント描画データが特定データである場合には、特定描画データのグループと決定し、一方、カレント描画データが特定データでない場合には、特定描画データ以外のグループと決定する。そして、決定したグループを識別可能な情報をカレントの描画データに紐付けて主記憶装置2内に格納する。
また、図4に示したように、特定描画データのグループ、特定描画データの上位グループ、特定描画データの下位グループの3層にグループ化する場合には、以下のようにグループ化する。まず、データ結合部17は、カレント描画データが特定データである場合には、特定描画データのグループと決定する。一方、カレント描画データが特定描画データでない場合には、特定描画データよりZ軸上位か下位を判断して、特定描画データの上位グループ又は特定描画データの下位グループと決定する。そして、決定したグループを識別可能な情報をカレントの描画データに紐付けて主記憶装置2内に格納する。
次に、ステップS109において、データ結合部17が、主記憶装置2内に格納された描画データを全て読み込み済か否かを判定し、まだ全て読み込み済でないと判定した場合には、ステップS107に処理を戻す。そして、次の描画データを読み込む。
一方、データ結合部17が、全ての描画データを読み込み済と判定した場合には、グループ化に関する処理を終了する。
なお、ここでは、2層,3層にグループ化する場合を例にして説明したが、2層,3層のグループ化に限定されるものではなく、4層以上にグループ化してもよい。
以下、図12のフローチャートを参照しながら本発明に係るレンダリング処理方法について説明する。
図12は、本発明の画像処理装置(画像処理方法)における第2の制御処理手順の一例を示すフローチャートであり、図10に示したグループ化処理後に実行されるレンダリング処理に対応する。なお、このフローチャートの処理は、図7に示した中央処理装置1が、補助記憶装置3等から読み出したプログラム(OS9,アプリケーションプログラム10,プリンタドライバ11等)を主記憶装置2上で実行することにより実現される。また、図10中、S401〜S404は各ステップを示す。
なお、プリンタドライバ11では前述のグループ化処理を行い、グループ化されたデータをプリンタに出力する実施形態も考えられる。その場合は図12の処理はプリンタ7のコントローラで実施され、コントローラでレンダリングされた画像はプリンタ7のプリントエンジンによりプリントされる。
まず、図10に示したグループ化処理が終了すると、プリンタドライバ11は、図12のフローチャートに示す処理を開始する。
処理が開始されると、まず、ステップS401において、印刷データ生成部18が、グループ化されて主記憶装置2内に格納されている描画データを1グループ分読み込む。以下、この1グループの描画データをカレントグループの描画データと呼ぶ。
次に、ステップS402において、印刷データ生成部18は、カレントグループの描画データを、グループに応じたレンダリング法でレンダリングする処理を並列処理として開始する(スレッド生成)。例えば、下位レイヤーのグループには、重なり等を考慮したScanline法でレンダリング処理する。また、上位レイヤーのグループには速度が速いPainter法を用いてレンダリング処理する。
以下、より具体的に説明する。図5に示したように、背景のグループ510と背景以外のグループ511にグループ化されている例では、背景のグループ510の描画データはPainter法を用いてレンダリング処理する。一方、背景以外のグループ511の描画データはScanline法でレンダリング処理する。
また、図6に示したように、最上位文字のグループ610と最上位文字以外のグループ611にグループ化されている例では、最上位文字のグループ610の描画データはPainter法を用いてレンダリング処理する。一方、最上位文字以外のグループ611の描画データはScanline法でレンダリング処理する。
このように、各グループのレンダリング処理を、各グループに応じたレンダリング法で並列して処理することにより、それぞれのレンダリング法の長所を生かした処理を効率良く行うことができる。
また、図6に示したように、上位レイヤーのグループを最上位の文字と設定すると、下位レイヤーのグループには圧縮や解像度を下げる等の処理が行え、レンダリング処理速度の向上が見込まれる。
また、全ての文字が最上位であるなら、DeviceFontを使用することも可能である。このように、DeviceFontを使用することでユーザが望む文字書体を確実に使用することが出来る。なお、デバイスフォント(DeviceFont)とは、デバイス(ここではホスト装置30)に標準的に用意されているフォントを示す。なお、プリンタ7において、レンダリング処理する場合には、プリンタ7に標準的に用意されているフォントを示す。
次に、ステップS403において、印刷データ生成部18は、主記憶装置2内に格納された全グループの描画データを読み込み済か否かを判定する。そして、まだ全グループの描画データを読み込み済でないと判定した場合には、ステップS401に処理を戻す。そして、次のグループの描画データを読み込む。
一方、印刷データ生成部18が、全グループの描画データを読み込み済と判定した場合には、ステップS404に進み、ステップS403でグループごとにレンダリングされた画像の合成処理を行い、レンダリング処理を終了する。
たとえば、図6の例では、ステップS403で最上位文字のグループはペインター法でメモリにレンダリングされ、最上位以外のグループは、スキャンライン法でメモリにレンダリングされる。ステップS404の合成処理では、メモリにレンダリングされた最上位のグループの画像がメモリにレンダリングされた最上位以外のグループの画像に上書きされ合成される。
なお、本フローチャートのレンダリング処理が終了すると、プリンタドライバ11の印刷コマンド制御部19は、印刷データ生成部18のレンダリング処理により作成された印刷データをプリンタ7に対応した印刷コマンドに変更する。さらに、OS9のデータ送受信部20は、該変更された印刷コマンドをプリンタ7に送信する。そして、プリンタ7では、ホスト装置30から送信された印刷コマンドに応じた印刷処理が実行される。
なお、上述のように、印刷データ生成部18は、マルチスレッド設計されており、ステップS403でグループ毎に実行開始される各レンダリング処理は、並列処理される。即ち、中央処理装置1がマルチプロセッサ構成の場合、グループ毎にレンダリング処理を複数のプロセッサで分担して並行して処理することができ、レンダリング処理を効率良く行うことが可能となる。
特に、上位レイヤーと下位レイヤーの2層のグループ化は効果的である。例えば、図5に示したように、背景のグループと背景以外のグループに分けるグループ化や、図6に示したように、最上位文字のグループと最上位文字以外のグループに分けるグループ化等がある。
以上示したように、描画データから特定描画データを抜き出し、該特定描画データを基準にグループ化することで、マルチCPUや複数のモジュールでの分散処理が可能となり処理の高速化が見込まれる。
また、描画データから上位レイヤーと下位レイヤーにグループ化し、上位レイヤーにはPainter法、下位レイヤーにはScanline法を適用することで、それぞれのレンダリング法の長所を生かした処理が行える。
さらに、上位レイヤーのグループを最上位の文字と設定すると、下位レイヤーのグループには圧縮や解像度を下げる等の処理が行え、レンダリング処理速度の向上が見込まれる。
また、最上位文字にDeviceFontを使用することで、ユーザが望む文字書体を確実に使用することが出来る。
以上のように、描画データを特定描画データを基準にグループ化することにより、重なりのある描画データを分散レンダリング処理可能に分割することができる。これにより、マルチプロセッサ構成の装置によりレンダリング処理する際の効率を向上することができる。結果として、効率良く印刷処理することができる。
〔他の実施形態〕
本実施形態では、描画データが最上位文字かどうかの判断方法をZ軸ソート、Y軸ソートそれぞれで行う構成について説明する。
以下、図13,図14のフローチャートを参照しながら本発明に係る特定描画データとしての最上位文字の判断処理方法について説明する。即ち、図13,図14に示す処理は、図10に示したステップS101〜S106の他の実施形態に対応する。なお、その他の構成に関しては、上記第1実施形態と同様である。
まず、図13を用いて、描画データをZ軸ソートして最上位文字(特定描画データ)か判断する処理について説明する。
図13は、本発明の画像処理装置(画像処理方法)における第3の制御処理手順の一例を示すフローチャートであり、描画データをZ軸ソートして最上位文字(特定描画データ)か判断する処理に対応する。なお、このフローチャートの処理は、図7に示した中央処理装置1が、補助記憶装置3等から読み出したプログラム(OS9,アプリケーションプログラム10,プリンタドライバ11等)を主記憶装置2上で実行することにより実現される。また、図13中、S201〜S207は各ステップを示す。
図13のフローチャートに示す処理が開始されると、まず、ステップS201において、特定データ判断部16は、主記憶装置2内に格納された描画データをZ軸ソートする。
次に、ステップS202において、特定データ判断部16は、Z軸ソートされた主記憶装置2内の描画データをZ軸上位のデータから1つ読み込む。以下、この描画データをカレントの描画データと呼ぶ。
次に、ステップS203において、特定データ判断部16は、カレントの描画データが文字を描画するための描画データ(文字(text)データ)か否かを判断する。そして、カレントの描画データが文字データであると判断した場合には、ステップS204に処理を以降させる。ステップS204において、特定データ判断部16は、カレントの描画データにより描画される文字の外接領域に重なる外接領域を有するオブジェクトの描画データが既に読み込み済みの描画データ内に存在しないか否かを判断する。この判断は、カレントの描画データにより描画される文字の外接領域に重なる外接領域データが外接領域テーブル(図11)内に既に格納されていないか否かにより判断する。
そして、ステップS204で、カレントの描画データにより描画される文字の外接領域に重なる外接領域を有するオブジェクトの描画データが既に読み込み済の描画データ内に存在しないと判断した場合には、ステップS205に処理を進める。
そして、ステップS205において、特定データ判断部16は、カレントの描画データに、最上位文字(特定描画データ)の印を付ける。即ち、最上位文字(特定描画データ)を示す情報をカレントの描画データに紐付けて主記憶装置2内の所定領域に格納する。そして、ステップS206に処理を進める。
なお、ステップS203で、特定データ判断部16が、カレントの描画データが文字データでないと判断した場合には、そのままステップS206に処理を進める。
また、ステップS204で、特定データ判断部16が、カレントの描画データにより描画される文字の外接領域に重なる外接領域を有するオブジェクトの描画データが既に読み込み済の描画データ内に存在する場合にも、ステップS206に処理を進める。
次に、ステップS206において、データ外接領域保持部15が、カレントの描画データの外接領域データ(外形矩形の左上座標,外形矩形の右下座標)を外接領域テーブルに格納する(外接領域テーブルを更新する)。
次に、ステップS207において、特定データ判断部16が、主記憶装置2内に格納された描画データを全て読み込み済か否かを判定し、まだ全て読み込み済でないと判定した場合には、ステップS202に処理を戻す。そして、次の描画データを読み込む。
一方、データ抽出部14が、全ての描画データを読み込み済と判定した場合には、本フローチャートの処理を終了し、図13に示したステップS107に処理を進める。
次に、図14を用いて、描画データをY軸ソートして最上位文字(特定描画データ)か判断する処理について説明する。
図14は、本発明の画像処理装置(画像処理方法)における第4の制御処理手順の一例を示すフローチャートであり、描画データをY軸ソートして最上位文字(特定描画データ)か判断する処理に対応する。なお、このフローチャートの処理は、図7に示した中央処理装置1が、補助記憶装置3等から読み出したプログラム(OS9,アプリケーションプログラム10,プリンタドライバ11等)を主記憶装置2上で実行することにより実現される。また、図14中、S301〜S307は各ステップを示す。
図14のフローチャートに示す処理が開始されると、まず、ステップS301において、特定データ判断部16は、主記憶装置2内に格納された描画データをY軸ソートする。また、データ外接領域保持部15が、各描画データの外接領域データ(外形矩形の左上座標,外形矩形の右下座標)を外接領域テーブルに格納する(外接領域テーブルを作成する)。
次に、ステップS302において、特定データ判断部16は、Y軸ソートされた主記憶装置2内の描画データをY軸上位のデータから1つ読み込む。以下、この描画データをカレントの描画データと呼ぶ。
次に、ステップS303において、特定データ判断部16は、カレントの描画データが文字を描画するための描画データ(文字(text)データ)か否かを判断する。そして、カレントの描画データが文字データであると判断した場合には、ステップS304に処理を進める。ステップS304において、特定データ判断部16は、カレントの描画データにより描画される文字の外接領域に重なる外接領域を有するオブジェクトを描画する他の描画データが既に読み込み済の描画データ内に存在しないか否かを判断する。この判断は、カレントの描画データにより描画される文字の外接領域に重なる外接領域データが既に外接領域テーブル(図11)内に格納されていないか否かにより判断する。
そして、ステップS304で、カレントの描画データにより描画される文字の外接領域に重なる外接領域を有するオブジェクトを描画する他の描画データが既に読み込み済の描画データ内に存在しないと判断した場合には、ステップS306に処理を進める。
次に、ステップS306において、特定データ判断部16は、カレントの描画データに最上位文字(特定描画データ)の印を付ける。即ち、最上位文字(特定描画データ)を示す情報をカレントの描画データに紐付けて主記憶装置2内の所定領域に格納する。そして、ステップS307に処理を進める。
一方、ステップS304で、特定データ判断部16が、カレントの描画データにより描画される文字の外接領域に重なる外接領域を有するオブジェクトの描画データが既に読み込み済の描画データ内に存在する場合には、ステップS305に処理を進める。そして、ステップS305において、特定データ判断部16は、カレントの描画データにより描画される文字が、重なる外接領域を有する他の描画データにより描画されるオブジェクトより、Z軸上位か否かを判断する。そして、カレントの描画データにより描画される文字が、重なる外接領域を有する他の描画データにより描画されるオブジェクトより、Z軸上位であると判断した場合には、ステップS306に処理を進める。そして、カレントの描画データに最上位文字(特定描画データ)の印を付ける。そして、ステップS307に処理を進める。
一方、カレントの描画データにより描画される文字が、重なる外接領域を有する他の描画データにより描画されるオブジェクトより、Z軸上位でないと判断した場合には、そのままステップS307に処理を進める。
また、ステップS303で、特定データ判断部16が、カレントの描画データが文字データでないと判断した場合にも、そのままステップS307に処理を進める。
次に、ステップS307において、特定データ判断部16が、主記憶装置2内に格納された描画データを全て読み込み済か否かを判定し、まだ全て読み込み済でないと判定した場合には、ステップS302に処理を戻す。そして、次の描画データを読み込む。
一方、データ抽出部14が、全ての描画データを読み込み済と判定した場合には、本フローチャートの処理を終了し、図13に示したステップS107に処理を進める。
以上、図13,図14に示したように、描画データから特定描画データとしての「最上位文字」を抜き出し、該特定描画データを基準にグループ化することで、マルチCPUや複数のモジュールでの分散処理が可能となり処理の高速化が見込まれる。
また、他の実施形態として、図4に示したように、まず、特定データ判断部16が、特定の種別の描画データ(図4では、円の描画データと長方形の描画データ)を特定描画データと決定する。そして、データ結合部17が、データ概説領域保存部に保存される外接矩形領域を判断基準とし、特定データのグループ411、特定データの上位レイヤーのグループ410、特定データの下位レイヤーのグループ412にグループ化する構成がある。そして、印刷データ生成部18が、特定データのグループ411、上位レイヤーのグループ410、下位レイヤーのグループ412にそれぞれに適したレンダリング処理を並列に行う。これにより、処理を高速化できる。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
なお、上述したグループ化処理,レンダリング処理は、プリンタドライバ11ではなく、プリンタ7内で行っても同様に成立する。また、グループ処理のみをプリンタドライバ11で行い、レンダリング処理をプリンタ7内でおこなってもよい。さらに、このグループ化処理,レンダリング処理は、ディスプレイ装置やその他ビットマップ処理を行うアプリケーション内で行っても同様に成立する。
また、上記各実施形態では、特定データ判断部16が、各描画データにより描画されるオブジェクトの外接領域に基づいて特定描画データを決定する構成について説明した。しかし、特定データ判断部16は、各描画データにより描画されるオブジェクトの描画領域そのものに基づいて特定描画データを決定するように構成してもよい。一例として、最上位文字を描画する描画データを特定描画データとする場合について説明する。この場合、文字の描画領域上に、他のオブジェクトの描画領域そのものが重ねて描画されることのない文字を描画するための描画データを特定データに決定するように構成する。
なお、本発明の描画データのグループ化処理,レンダリング処理は、3次元グラフィックスにおける描画データに関しても適用可能である。
以下、図15に示すメモリマップを参照して、本発明に係る画像処理装置(画像処理方法)を適用可能な装置(コンピュータ)で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップの構成について説明する。
図15は、本発明に係る画像処理装置(画像処理方法)を適用可能な装置(コンピュータ)で読み取り可能な各種データ処理プログラムを格納する記憶媒体(記録媒体)のメモリマップを説明する図である。
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
本実施形態における図10,図12,図13,図14に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD-ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のプログラムそのものをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また、該ホームページから圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやFTPサーバ等も本発明の請求項に含まれるものである。
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布する。さらに、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。さらに、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、以下のような構成も含まれることは言うまでもない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードを、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込む。そして、該メモリに書き込まれたプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から排除するものではない。
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
上述したグループ化処理,レンダリング処理は、ディスプレイ装置に画像出力するアプリケーション装置やその他ビットマップ処理を行うアプリケーション内で行う用途にも適用可能である。これにより、重なりのある描画データの処理処理効率を向上することができる。
本発明の一実施形態を示す画像処理装置(画像処理方法)における描画データグループ化処理部の全体構成を示すブロック図である。 図1に示した描画データ処理部の構成を詳細を示したブロック図である。 図2に示した特定データ判断部が外接領域データを用いて特定データとしての最上位文字を判断する方法の一例を示す図である。 図2に示したデータ結合部によるグループ化方法の一例を示す図である。 図2に示したデータ結合部によるグループ化方法の一例を示す図である。 図2に示したデータ結合部によるグループ化方法の一例を示す図である。 本発明の画像処理装置(画像処理方法)を適用可能な情報処理システムの構成の一例を示すブロック図である。 本発明の画像処理装置(画像処理方法)を適用可能な情報処理システムの構成の一例を示すブロック図である。 本発明の画像処理装置(画像処理方法)を適用可能な情報処理システムの構成の一例を示すブロック図である。 本発明の画像処理装置(画像処理方法)における第1の制御処理手順の一例を示すフローチャートである。 図9に示したデータ外接領域保持部が生成し主記憶装置内に保持する外接領域テーブルの構成を示す図である。 本発明の画像処理装置(画像処理方法)における第2の制御処理手順の一例を示すフローチャートである。 本発明の画像処理装置(画像処理方法)における第3の制御処理手順の一例を示すフローチャートである。 本発明の画像処理装置(画像処理方法)における第4の制御処理手順の一例を示すフローチャートである。 本発明に係る画像処理装置(画像処理方法)を適用可能な装置(コンピュータ)で読み取り可能な各種データ処理プログラムを格納する記憶媒体(記録媒体)のメモリマップを説明する図である。 図16は、従来の描画データのグループ化方法を示す図である。
符号の説明
1 中央処理装置
2 主記憶装置
3 補助記憶装置
1 入力装置
5 出力装置
6 媒体読取装置
7 印刷装置(プリンタ)
8 ROM
9 OS
10 アプリケーションプログラム
11 プリンタドライバ
12 ユーザインタフェース部
13 印刷データ制御部
14 データ抽出部
15 データ外接領域保存部
16 特定データ判断部
17 データ結合部
18 印刷データ生成部
19 印刷コマンド制御部
20 データ送受信部

Claims (8)

  1. 第1レンダリング手段でレンダリングされる第1グループと第2レンダリング手段でレンダリングされる第2グループとに描画データのグループ化を行うグループ化手段と、
    前記グループ化手段によりグループ化された第1グループの描画データに基づきレンダリングを行う第1レンダリング手段と、
    前記グループ化手段によりグループ化された第2グループの描画データに基づきレンダリングを行う第2レンダリング手段と、
    前記第1レンダリング手段によりレンダリングされた画像と前記第2レンダリング手段によりレンダリングされた画像との印刷を行う印刷手段と、
    を有し、
    前記第1グループは他のオブジェクトと重ならないオブジェクトを含み、
    前記第1レンダリング手段はペインター法のレンダリング手段を含み、
    前記第2グループは他のオブジェクトと重なるオブジェクトを含み、
    前記第2レンダリング手段はスキャンライン法のレンダリング手段を含むことを特徴とする像処理システム。
  2. 第1レンダリング手段でレンダリングされる第1グループと第2レンダリング手段でレンダリングされる第2グループとに描画データのグループ化を行うグループ化手段と、
    前記グループ化手段によりグループ化された第1グループの描画データに基づきレンダリングを行う第1レンダリング手段と、
    前記第1レンダリング手段によりレンダリングされた画像と前記グループ化手段によりグループ化された第2グループの描画データに基づきレンダリングされた画像との印刷を行う印刷手段と、
    を有し、
    前記第2グループは他のオブジェクトと重ならない文字を含み、
    前記第1グループは他のオブジェクトと重ならない文字以外のオブジェクトを含み、
    前記第1レンダリング手段はスキャンライン法のレンダリング手段を含むことを特徴とする像処理システム。
  3. 画像処理システムにおける画像処理方法であって、
    グループ化手段が、第1レンダリングステップでレンダリングされる第1グループと第2レンダリングステップでレンダリングされる第2グループとに描画データのグループ化を行うグループ化ステップと、
    第1レンダリング手段が、前記グループ化ステップによりグループ化された第1グループの描画データに基づきレンダリングを行う第1レンダリングステップと、
    第2レンダリング手段が、前記グループ化ステップによりグループ化された第2グループの描画データに基づきレンダリングを行う第2レンダリングステップと、
    処理手段が、前記第1レンダリングステップによりレンダリングされた画像と前記第2レンダリングステップによりレンダリングされた画像との印刷用の処理を行う処理ステップと、
    を有し、
    前記第1グループは他のオブジェクトと重ならないオブジェクトを含み、
    前記第1レンダリングステップはペインター法のレンダリングステップを含み、
    前記第2グループは他のオブジェクトと重なるオブジェクトを含み、
    前記第2レンダリングステップはスキャンライン法のレンダリングステップを含むことを特徴とする像処理方法。
  4. 画像処理システムにおける画像処理方法であって、
    グループ化手段が、第1レンダリングステップでレンダリングされる第1グループと第2レンダリングステップでレンダリングされる第2グループとに描画データのグループ化を行うグループ化ステップと、
    第1レンダリング手段が、前記グループ化ステップによりグループ化された第1グループの描画データに基づきレンダリングを行う第1レンダリングステップと、
    処理手段が、前記第1レンダリングステップによりレンダリングされた画像と前記グループ化ステップによりグループ化された第2グループの描画データに基づきレンダリングされた画像との印刷用の処理を行う処理ステップと、
    を有し、
    前記第2グループは他のオブジェクトと重ならない文字を含み、
    前記第1グループは他のオブジェクトと重ならない文字以外のオブジェクトを含み、
    前記第1レンダリングステップはスキャンライン法のレンダリングステップを含むことを特徴とする像処理方法。
  5. 第1レンダリング手段でレンダリングされる第1グループと第2レンダリング手段でレンダリングされる第2グループとに描画データのグループ化を行うグループ化手段と、
    前記グループ化手段によりグループ化された第1グループの描画データに基づきレンダリングを行う第1レンダリング手段と、
    前記グループ化手段によりグループ化された第2グループの描画データに基づきレンダリングを行う第2レンダリング手段と、
    前記第1レンダリング手段によりレンダリングされた画像と前記第2レンダリング手段によりレンダリングされた画像との印刷を行う印刷手段としてコンピュータを機能させるためのプログラムであって、
    前記第1グループは他のオブジェクトと重ならないオブジェクトを含み、
    前記第1レンダリング手段はペインター法のレンダリング手段を含み、
    前記第2グループは他のオブジェクトと重なるオブジェクトを含み、
    前記第2レンダリング手段はスキャンライン法のレンダリング手段を含むことを特徴とするプログラム。
  6. 第1レンダリング手段でレンダリングされる第1グループと第2レンダリング手段でレンダリングされる第2グループとに描画データのグループ化を行うグループ化手段と、
    前記グループ化手段によりグループ化された第1グループの描画データに基づきレンダリングを行う第1レンダリング手段と、
    前記第1レンダリング手段によりレンダリングされた画像と前記グループ化手段によりグループ化された第2グループの描画データに基づきレンダリングされた画像との印刷を行う印刷手段としてコンピュータを機能させるためのプログラムであって、
    前記第2グループは他のオブジェクトと重ならない文字を含み、
    前記第1グループは他のオブジェクトと重ならない文字以外のオブジェクトを含み、
    前記第1レンダリング手段はスキャンライン法のレンダリング手段を含むことを特徴とするプログラム。
  7. 第1レンダリング手段でレンダリングされる第1グループと第2レンダリング手段でレンダリングされる第2グループとに描画データのグループ化を行うグループ化手段と、
    前記グループ化手段によりグループ化された第1グループの描画データに基づきレンダリングを行う第1レンダリング手段と、
    前記グループ化手段によりグループ化された第2グループの描画データに基づきレンダリングを行う第2レンダリング手段と、
    前記第1レンダリング手段によりレンダリングされた画像と前記第2レンダリング手段によりレンダリングされた画像との印刷を行う印刷手段としてコンピュータを機能させるためのプログラムを記憶した記憶媒体であって、
    前記第1グループは他のオブジェクトと重ならないオブジェクトを含み、
    前記第1レンダリング手段はペインター法のレンダリング手段を含み、
    前記第2グループは他のオブジェクトと重なるオブジェクトを含み、
    前記第2レンダリング手段はスキャンライン法のレンダリング手段を含むことを特徴とする記憶媒体。
  8. 第1レンダリング手段でレンダリングされる第1グループと第2レンダリング手段でレンダリングされる第2グループとに描画データのグループ化を行うグループ化手段と、
    前記グループ化手段によりグループ化された第1グループの描画データに基づきレンダリングを行う第1レンダリング手段と、
    前記第1レンダリング手段によりレンダリングされた画像と前記グループ化手段によりグループ化された第2グループの描画データに基づきレンダリングされた画像との印刷を行う印刷手段としてコンピュータを機能させるためのプログラムを記憶した記憶媒体であって、
    前記第2グループは他のオブジェクトと重ならない文字を含み、
    前記第1グループは他のオブジェクトと重ならない文字以外のオブジェクトを含み、
    前記第1レンダリング手段はスキャンライン法のレンダリング手段を含むことを特徴とする記憶媒体。
JP2005283296A 2005-09-29 2005-09-29 画像処理システムおよび画像処理方法およびプログラムおよび記憶媒体 Expired - Fee Related JP4724517B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005283296A JP4724517B2 (ja) 2005-09-29 2005-09-29 画像処理システムおよび画像処理方法およびプログラムおよび記憶媒体
US11/531,401 US8248411B2 (en) 2005-09-29 2006-09-13 Image processing apparatus, image processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005283296A JP4724517B2 (ja) 2005-09-29 2005-09-29 画像処理システムおよび画像処理方法およびプログラムおよび記憶媒体

Publications (2)

Publication Number Publication Date
JP2007094758A JP2007094758A (ja) 2007-04-12
JP4724517B2 true JP4724517B2 (ja) 2011-07-13

Family

ID=37893278

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005283296A Expired - Fee Related JP4724517B2 (ja) 2005-09-29 2005-09-29 画像処理システムおよび画像処理方法およびプログラムおよび記憶媒体

Country Status (2)

Country Link
US (1) US8248411B2 (ja)
JP (1) JP4724517B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8201102B2 (en) * 2007-09-04 2012-06-12 Apple Inc. Opaque views for graphical user interfaces
JP4885904B2 (ja) * 2008-04-15 2012-02-29 コニカミノルタビジネステクノロジーズ株式会社 画像処理方法、画像処理プログラム、および画像処理装置
US20100245918A1 (en) * 2009-03-30 2010-09-30 Nguyen Uoc H Methods and Systems for Rendering Data
US8339671B2 (en) * 2009-03-30 2012-12-25 Sharp Laboratories Of America, Inc. Methods and systems for rendering data by partitioning a graphics list
US8339653B2 (en) * 2009-03-30 2012-12-25 Sharp Laboratories Of America, Inc. Methods and systems for rendering data based on overlap characteristics
JP2010238236A (ja) * 2009-03-30 2010-10-21 Sharp Corp 印刷システムおよび印刷システムの制御方法
US8339672B2 (en) * 2009-03-30 2012-12-25 Sharp Laboratories Of America, Inc. Methods and systems for rendering data using graphic-list partitions and associated rendering processors
US8339670B2 (en) * 2009-03-30 2012-12-25 Sharp Laboratories Of America, Inc. Methods and systems for rendering data based on graphic-list partitioning
US20100245889A1 (en) * 2009-03-30 2010-09-30 Nguyen Uoc H Methods and Systems for Rendering Data
US8411319B2 (en) * 2009-03-30 2013-04-02 Sharp Laboratories Of America, Inc. Methods and systems for concurrent rendering of graphic-list elements
US20110234591A1 (en) * 2010-03-26 2011-09-29 Microsoft Corporation Personalized Apparel and Accessories Inventory and Display
JP5641825B2 (ja) 2010-08-26 2014-12-17 キヤノン株式会社 装置およびその制御方法、並びにプログラム
JP5808195B2 (ja) * 2011-08-19 2015-11-10 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
US8818092B1 (en) * 2011-09-29 2014-08-26 Google, Inc. Multi-threaded text rendering
US10810327B2 (en) * 2018-01-05 2020-10-20 Intel Corporation Enforcing secure display view for trusted transactions

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09305791A (ja) * 1996-05-13 1997-11-28 Nec Corp 立体画像生成装置および立体画像生成方法
JPH10162163A (ja) * 1996-12-02 1998-06-19 Takasago Thermal Eng Co Ltd 図形の重畳表示方法
JP2002279442A (ja) * 2001-03-19 2002-09-27 Sony Corp 画像処理装置及び画像処理方法
JP2004013510A (ja) * 2002-06-06 2004-01-15 Sony Computer Entertainment Inc 描画処理プログラム,描画処理プログラムを記憶させた記憶媒体,描画処理装置、及び描画処理方法
JP2004348702A (ja) * 2002-09-06 2004-12-09 Sony Computer Entertainment Inc 画像処理方法、画像処理装置、および画像処理システム
JP2006504191A (ja) * 2002-10-30 2006-02-02 キヤノン株式会社 ポーター・ダフ合成法のための背景色除去方法
JP2006331191A (ja) * 2005-05-27 2006-12-07 Canon Inc 画像形成装置、印刷装置、表示装置、描画処理方法、及びプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0695273B2 (ja) * 1984-12-22 1994-11-24 株式会社日立製作所 デイスプレイ制御装置
US5717880A (en) * 1993-09-06 1998-02-10 Kabushiki Kaisha Toshiba Method and apparatus for relaying events and requests in a windows systems
US6006013A (en) * 1994-05-18 1999-12-21 Xerox Corporation Object optimized printing system and method
US6016150A (en) * 1995-08-04 2000-01-18 Microsoft Corporation Sprite compositor and method for performing lighting and shading operations using a compositor to combine factored image layers
JP2000500887A (ja) * 1995-09-25 2000-01-25 アドビ システムズ インコーポレイテッド 電子文書への最適アクセス
US5574836A (en) * 1996-01-22 1996-11-12 Broemmelsiek; Raymond M. Interactive display apparatus and method with viewer position compensation
US5767978A (en) * 1997-01-21 1998-06-16 Xerox Corporation Image segmentation system
US6266068B1 (en) * 1998-03-13 2001-07-24 Compaq Computer Corporation Multi-layer image-based rendering for video synthesis
JP3646969B2 (ja) * 1998-05-25 2005-05-11 富士通株式会社 3次元画像表示装置
US6480205B1 (en) * 1998-07-22 2002-11-12 Nvidia Corporation Method and apparatus for occlusion culling in graphics systems
WO2000052645A1 (fr) * 1999-03-01 2000-09-08 Matsushita Electric Industrial Co., Ltd. Dispositif de traitement d'image document, procede d'extraction de titre de document et procede d'information d'etiquetage de document
US6664961B2 (en) * 2000-12-20 2003-12-16 Rutgers, The State University Of Nj Resample and composite engine for real-time volume rendering
US7453459B2 (en) * 2001-02-26 2008-11-18 Adobe Systems Incorporated Composite rendering 3-D graphical objects
JP2004193876A (ja) 2002-12-10 2004-07-08 Canon Inc 画像処理方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09305791A (ja) * 1996-05-13 1997-11-28 Nec Corp 立体画像生成装置および立体画像生成方法
JPH10162163A (ja) * 1996-12-02 1998-06-19 Takasago Thermal Eng Co Ltd 図形の重畳表示方法
JP2002279442A (ja) * 2001-03-19 2002-09-27 Sony Corp 画像処理装置及び画像処理方法
JP2004013510A (ja) * 2002-06-06 2004-01-15 Sony Computer Entertainment Inc 描画処理プログラム,描画処理プログラムを記憶させた記憶媒体,描画処理装置、及び描画処理方法
JP2004348702A (ja) * 2002-09-06 2004-12-09 Sony Computer Entertainment Inc 画像処理方法、画像処理装置、および画像処理システム
JP2006504191A (ja) * 2002-10-30 2006-02-02 キヤノン株式会社 ポーター・ダフ合成法のための背景色除去方法
JP2006331191A (ja) * 2005-05-27 2006-12-07 Canon Inc 画像形成装置、印刷装置、表示装置、描画処理方法、及びプログラム

Also Published As

Publication number Publication date
US20070070088A1 (en) 2007-03-29
JP2007094758A (ja) 2007-04-12
US8248411B2 (en) 2012-08-21

Similar Documents

Publication Publication Date Title
JP4724517B2 (ja) 画像処理システムおよび画像処理方法およびプログラムおよび記憶媒体
US7495803B2 (en) Method and system for creating print data of superimposed document and pattern page read from spool file
EP1698968B1 (en) Print control apparatus, control method thereof, and device driver
JP2006050547A (ja) カラー画像形成装置
JP4673200B2 (ja) 印刷処理システムおよび印刷処理方法
JP2009266087A (ja) 画像処理装置、画像処理方法及びプログラム
JP2911470B2 (ja) 文字処理装置及び方法
US7664290B2 (en) Image processor, image processing method, and storage medium storing program for the combining of coded images into print images
JP2006244248A (ja) 画像処理装置及び画像処理方法ならびに画像処理方法を実行するプログラム
US7113309B2 (en) Image processing method, image processing apparatus, and image processing system
JP4479617B2 (ja) 任意図文字挿入コンピュータ、画像形成装置、方法及びプログラム
JPH10312407A (ja) 図面表示装置
JP2006318208A (ja) 画像処理方法および画像処理システム
JP4509173B2 (ja) 情報処理装置及びその制御方法、プログラム、並びに、コンピュータ読み取り可能な記憶媒体
JP2009141525A (ja) 画像処理装置及び画像処理方法
JP2004030386A (ja) 画像処理方法および画像処理装置
JP2008118364A (ja) 画像処理装置および画像処理プログラム
JP2007299321A (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び、情報記憶媒体
JP2002091957A (ja) 編集装置および編集プログラム記憶媒体
JP2006331259A (ja) 情報処理装置
JP4072423B2 (ja) 印刷装置およびその制御方法、ならびに、ホストコンピュータおよびその制御方法
JP2005208694A (ja) 画像処理装置および画像処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP2010129023A (ja) 情報処理装置、文字処理方法、プログラム及び記憶媒体
JP2001127979A (ja) 画像処理方法及びその装置、画像処理システム及び記録媒体
JP3715799B2 (ja) 印刷制御装置および印刷制御装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080108

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080219

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080925

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110315

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

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

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

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4724517

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees