JP2002326401A - 描画処理装置および描画処理方法 - Google Patents

描画処理装置および描画処理方法

Info

Publication number
JP2002326401A
JP2002326401A JP2001133787A JP2001133787A JP2002326401A JP 2002326401 A JP2002326401 A JP 2002326401A JP 2001133787 A JP2001133787 A JP 2001133787A JP 2001133787 A JP2001133787 A JP 2001133787A JP 2002326401 A JP2002326401 A JP 2002326401A
Authority
JP
Japan
Prior art keywords
data
processing
intermediate code
compression
memory
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.)
Granted
Application number
JP2001133787A
Other languages
English (en)
Other versions
JP4423812B2 (ja
Inventor
Masao Morita
雅夫 森田
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2001133787A priority Critical patent/JP4423812B2/ja
Publication of JP2002326401A publication Critical patent/JP2002326401A/ja
Application granted granted Critical
Publication of JP4423812B2 publication Critical patent/JP4423812B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Record Information Processing For Printing (AREA)
  • Storing Facsimile Image Data (AREA)

Abstract

(57)【要約】 【課題】 従来よりも高画質なフォールバック処理を可
能にすることで、限られた容量のメモリを使用しつつも
高品位の画像出力を実現する。 【解決手段】 限られた容量のメモリで描画処理を行う
描画処理装置に、メモリ容量が不足する状態となるメモ
リあふれが生じるか否かを判断するメモリ管理手段13
と、メモリあふれが生じる場合にフォールバック処理を
行うフォールバック処理手段14とを備える。そして、
フォールバック処理手段14は、フォールバック処理に
あたって、前記メモリに保持蓄積させる中間コードを圧
縮するとともに、必要に応じて圧縮後データに対して伸
長処理を施して圧縮前の形式に戻しその伸長処理後の圧
縮前データを用いて再圧縮処理を行うように構成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プリンタ等に搭載
されて用いられ、いわゆるイメージ・レンダリングを行
うための描画処理装置および描画処理方法に関する。
【0002】
【従来の技術】近年、パーソナルコンピュータ(PC)
の高性能化により、手軽にカラー文書を作成することが
可能になっており、これによりプリンタから出力される
文書も高度化しつつある。そのため、文書の高度化に対
応すべくプリンタ自身の能力も向上させる必要が生じて
いるが、その一方ではPCの低価格化によりプリンタに
対しても低価格化が強く求められている。つまり、プリ
ンタについては、高性能化と低価格化とを両立させるこ
とが要求されている。
【0003】プリンタの能力は、一般に、処理速度、解
像度、階調で表現される。例えば、20PPM(Page P
er Minutes)、1200DPI(Dot Per Inch)、8ビ
ット/コンポーネントといった数字で表現される。これ
らの数値が大きい方がプリンタの能力が高いと評価でき
る。一方で、プリンタのコストを決定する要因は複数あ
るが、特に画像を形成する上で不可欠なCPU(Centra
l Processing Unit)およびメモリは、その中でも価格
構成比率が比較的高い方に分類される。ところが、CP
Uの高性能化は高速な処理速度の実現には必要不可欠な
ので、プリンタの高性能化と低価格化とを両立させるた
めには、必然的に搭載するメモリ容量を削減せざるを得
ない。さらに、解像度や階調が向上すると処理に必要な
データ量も増える。したがって、高性能化と低価格化と
の両立にあたっては、限られた容量のメモリでどのよう
に高品位な画像を形成するか(イメージ・レンダリング
を行うか)という技術的な問題が顕著になる。
【0004】このようなイメージ・レンダリングを行う
際の技術的な問題を解決する処理として、例えば特開平
10−116160号公報には、いわゆるフォールバッ
ク処理が提案されている。すなわち、当該公報において
は、フォールバック処理を行うことで、(1)画像を出
力する際の実時間性を確保しつつ、(2)限られた容量
のメモリ内で描画するデータを表現することを可能にし
ている。
【0005】ここで、このフォールバック処理につい
て、さらに詳しく説明する。ただし、フォールバック処
理は、本来、上記(1)および(2)という二つの目的
のために適用されるものであるが、ここでは上記(2)
の目的のために適用した場合を中心に説明する。
【0006】図22は、フォールバック処理を行う場合
におけるイメージ・レンダリング処理全体の手順を示す
フローチャートである。イメージ・レンダリング処理
は、例えば出力画像の1ページ分毎に行われる。すなわ
ち、イメージ・レンダリングすべき描画データの入力が
あると(ステップ601、以下ステップを「S」と略
す)、その描画データを順次所定形式の中間コード(グ
ラフィックスオーダとも呼ばれる)に変換する(S60
2)。そして、中間コードのデータ量がこれを保持蓄積
するメモリ容量よりも大きくなる、いわゆるメモリあふ
れが生じるか否かをチェックし(S603)、メモリあ
ふれが無ければ中間コードをそのままメモリ内に保持蓄
積する(S604)。ただし、メモリあふれが生じる場
合には、フォールバック処理を起動する(S605)。
この一連の処理を出力画像の1ページ分について終了す
るまで繰り返す(S606)。
【0007】図23は、従来におけるフォールバック処
理の手順を示すフローチャートである。従来のフォール
バック処理は、以下に述べる五つの処理ステップからな
る。すなわち、フォールバック処理が起動された場合に
は、先ず、処理対象となる中間コード(バンド単位に管
理している)内にラスタ状のイメージ部分があると、そ
のラスタ部分を無損失圧縮(可逆圧縮)する(S70
1)。これにより十分なメモリ容量を確保できなかった
場合には、そのラスタ部分を有損失圧縮(非可逆圧縮)
する(S702)。これによっても十分なメモリ容量を
確保できなかった場合(中間コードがバンドバッファよ
り大きい場合)には、バンド全体をプレレンダリングす
る(S703)。これによっても十分なメモリ容量を確
保できなかった場合には、バンド全体を無損失圧縮する
(S704)。これによっても十分なメモリ容量を確保
できなかった場合には、バンド全体を有損失圧縮する
(S705)。これら五つの処理ステップ(S701〜
S705)を順に経ることで、限られた容量のメモリで
あっても、出力画像の1ページ分に相当する中間コード
またはその圧縮後データの保持蓄積を可能にする。しか
も、ラスタ部分以外の文字・図形部分については、四番
目のステップ(S704)までは無損失のまま保たれる
ので、高品質な画像を生成することが期待できる。
【0008】このようなフォールバック処理によって、
またはフォールバック処理に依らずに、出力画像1ペー
ジ分の中間コード(フォールバック処理を行った場合は
圧縮後データを含む)の蓄積が行われると、その後は、
図22のように、ページの出力処理を行って(S60
7)、プリンタエンジン等に出力画像を形成させること
になる。なお、このときに、出力処理の対象となるペー
ジ内で有損失圧縮されたバンドが一つでもあった場合に
は、当該バンドを含むページ全体を有損失圧縮してから
出力する。これは、有損失圧縮されたバンドと無損失圧
縮されたバンドとの境界で、画像の質が変化することに
よるディフェクトが発生するのを防止するためである。
【0009】
【発明が解決しようとする課題】しかしながら、上述し
た従来のフォールバック処理では、限られた容量のメモ
リを有効活用する上では非常に有用であるが、以下に述
べるように高画質化を妨げる要因となり得る問題点が存
在するため、結果としてプリンタ等における高性能化と
低価格化との両立が困難になってしまうおそれがある。
【0010】例えば、従来のフォールバック処理では、
五つの処理ステップ(S701〜S705)のうちの四
番目のステップ(S704)で無損失圧縮を行うが、そ
の処理対象となる中間コード等が画像の属性に関するオ
ブジェクト情報(文字、図形、イメージ等を識別可能に
する情報)を含んでいても、そのオブジェクト情報が無
損失圧縮した段階で全て消えてしまう、といった問題点
がある。一般に、画像出力を行う場合には、オブジェク
ト情報に応じた出力処理を行うことが多く、例えば文字
や図形のエッジ部分は強調したり、ラスタ状のイメージ
部分は階調を豊かに表現したりする。ところが、オブジ
ェクト情報が消えてしまうと、このような処理を行うこ
とができないため、高品質な画像を実現することが困難
になると考えられる。
【0011】また、例えば、従来のフォールバック処理
では、ページ内に一つでも有損失圧縮されたバンドが存
在すると、ページ全体を有損失圧縮してしまう、といっ
た問題点がある。ページ全体に処理を及ぼすことは、バ
ンド単位で処理を行う場合においては一般的な問題であ
り、ページ全体での一貫性を保つためには避けられな
い。ところが、ページ全体を有損失圧縮すると、本来、
十分な画質と少ないデータ量で表現できている領域にま
で、画質劣化の発生する有損失圧縮を適用することにな
るので、高品質な画像を実現する上での大きな妨げとな
ってしまう。
【0012】そこで、本発明は、従来よりも高画質なフ
ォールバック処理を可能にすることで、限られた容量の
メモリを使用しつつも高品位の画像出力を実現すること
のできる描画処理装置および描画処理方法を提供するこ
とを目的とする。
【0013】
【課題を解決するための手段】本発明は、上記目的を達
成するために案出された描画処理装置で、画像を描画す
るための描画データを受け取ると当該描画データを所定
形式の中間コードに変換する中間コード生成手段と、前
記中間コード生成手段が変換した中間コードを順次保持
蓄積する中間コード蓄積手段と、前記中間コード蓄積手
段に保持蓄積させる中間コードを圧縮可能な形式に展開
して圧縮する圧縮処理手段と、前記圧縮処理手段による
圧縮後データを伸長して圧縮前の形式に戻す伸長処理手
段と、前記中間コード蓄積手段が使用し得るメモリ容量
が不足する状態となるメモリあふれが生じるか否かを判
断するメモリ管理手段と、前記メモリ管理手段によりメ
モリあふれが生じると判断されると前記圧縮処理手段を
動作させるとともに、必要に応じて前記伸長処理手段を
動作させた後に再度前記圧縮処理手段を動作させるフォ
ールバック処理手段と、前記中間コード蓄積手段が所定
画像量に相当する分だけ中間コードまたは圧縮後データ
を保持蓄積すると当該中間コードまたは圧縮後データに
ついての出力処理を行う出力転送手段とを備えることを
特徴とするものである。
【0014】また、本発明は、上記目的を達成するため
に案出された描画処理方法である。すなわち、限られた
容量のメモリで描画処理を行う際に用いられる描画処理
方法であって、画像を描画するための描画データを所定
形式の中間コードに変換し、変換後の中間コードを前記
メモリに順次保持蓄積させ、前記メモリの容量が不足す
る状態となるメモリあふれが生じるか否かを判断し、メ
モリあふれが生じると判断すると、前記メモリに保持蓄
積させる中間コードを圧縮可能な形式に展開して圧縮処
理するとともに、必要に応じて圧縮処理後の圧縮データ
に対して伸長処理を施して圧縮前の形式に戻し当該伸長
処理後の圧縮前データを用いて再圧縮処理を行い、前記
メモリ内に所定画像量に相当する分だけ中間コードまた
は圧縮後データを保持蓄積することを特徴とする。
【0015】上記構成の描画処理装置および上記手順の
描画処理方法によれば、メモリあふれが生じると、メモ
リに保持蓄積させるべき中間コードに対して圧縮処理を
行う。ただし、圧縮処理を行っても、その圧縮処理後の
圧縮データに対して伸長処理を施すことで、その圧縮デ
ータを圧縮前の形式に戻し得る。つまり、圧縮処理によ
って中間データに付随する特定の情報(例えば、画像の
属性に関するオブジェクト情報)が失われてしまった
り、中間データの全てが圧縮処理によって全く異なる形
式のデータ(例えば、ラスタ状のビットマップデータ)
に変換されてしまったりすることがない。したがって、
例えば、圧縮処理を行ってもメモリあふれが解消しない
場合には、その圧縮処理後の圧縮データを圧縮前の形式
に戻した圧縮前データを用いて、その圧縮前データの特
定部分(例えばイメージ部分)のみにさらに圧縮率の高
い有損失圧縮を施す、といったことが行えるようにな
る。
【0016】
【発明の実施の形態】以下、図面に基づき本発明に係る
描画処理装置および描画処理方法について説明する。
【0017】〔描画処理装置の概略構成の説明〕はじめ
に、描画処理装置の概略構成について説明する。図1は
本発明に係る描画処理装置の概略構成の一例を示すブロ
ック図であり、図2はその描画処理装置が用いられるシ
ステムの構成例を示す概略図である。
【0018】本実施形態で説明する描画処理装置は、例
えば図2(a)に示すように、クライアント1とプリン
タ2とがネットワーク回線3を介して互いに接続されて
なるシステムにおいて用いられる。ここで、描画処理装
置は、クライアント1内に搭載しても、プリンタ2内に
搭載しても、あるいはクライアント1とプリンタ2に分
散して搭載してもよい。また、例えば図2(b)に示す
ように、ネットワーク回線3上にプリントサーバ4が設
けられている場合には、そのプリントサーバ4内に搭載
したり、あるいはプリントサーバ4を含む各装置1,2
に分散して搭載しても良い。
【0019】このようなシステムにおいて用いられる描
画処理装置は、例えばクライアント1にインストールさ
れたアプリケーションソフトウエア(例えば、文書作成
ソフトウエア)により作成された描画データを受け取る
と、その描画データに基づいてイメージ・レンダリング
処理を行って出力し、プリンタ2のプリンタエンジンに
画像出力を行わせるものである。なお、このイメージ・
レンダリング処理を行う際の概略手順については、従来
と同様であるため(図22参照)、ここではその詳細な
説明を省く。
【0020】このようなイメージ・レンダリング処理お
よびこれに付随する処理を行うために、描画処理装置
は、例えば図1に示すように構成されている。すなわ
ち、描画処理装置は、中間コード生成部11と、中間コ
ード蓄積部12と、メモリ管理部13と、フォールバッ
ク処理部14と、中間コード展開部15と、圧縮処理部
16と、伸長処理部17と、圧縮データ蓄積部18と、
出力転送部19と、を備えて構成されている。
【0021】中間コード生成部11は、画像を描画する
ための描画データを受け取ると、その描画データを後述
するような所定形式の中間コードに変換するものであ
る。すなわち、中間コード生成部11は、図22におけ
るS602の処理を行うものである。
【0022】中間コード蓄積部12は、中間コード生成
部11によって変換された中間コードを順次保持蓄積す
るものである。すなわち、中間コード蓄積部12は、図
22におけるS604の処理を行うものである。
【0023】メモリ管理部13は、中間コード蓄積部1
2が使用し得るメモリ容量が不足する状態となるメモリ
あふれが生じるか否かを判断するものである。すなわ
ち、メモリ管理部13は、図22におけるS603の処
理を行うものである。
【0024】フォールバック処理部14は、メモリ管理
部13によりメモリあふれが生じると判断されると、圧
縮処理部16を動作させるとともに、必要に応じて伸長
処理部17を動作させた後に再度圧縮処理部16を動作
させるものである。すなわち、フォールバック処理部1
4は、図22におけるS605の処理を行うものであ
る。ただし、本実施形態で説明する描画処理装置におい
ては、このフォールバック処理部14が従来と大きく異
なる。
【0025】中間コード展開部15は、中間コード生成
部11によって変換された中間コードを、後述するよう
な圧縮可能な形式に展開するものである。
【0026】圧縮処理部16は、中間コード展開部15
による展開結果に対する圧縮処理を行い、そのデータ量
を削減するものである。
【0027】伸長処理部17は、必要に応じて、圧縮処
理部16が圧縮処理を行った後のデータ(以下「圧縮後
データ」という)に対する伸長処理を行い、その圧縮後
データを圧縮前の形式に戻すものである。
【0028】圧縮データ蓄積部18は、フォールバック
処理部14からの指示によって圧縮処理部16が圧縮処
理した圧縮後データを保持蓄積するものである。
【0029】出力転送部19は、中間コード蓄積部12
および圧縮データ蓄積部18が、合わせて所定画像量に
相当する分、例えば出力画像の1ページ分だけ、中間コ
ードまたは圧縮後データを保持蓄積すると、その中間コ
ードまたは圧縮後データについての出力処理を行うもの
である。すなわち、出力転送部19は、図22における
S607の処理を行うものである。
【0030】なお、出力転送部19による出力処理に
は、フォールバック処理部14からの指示による圧縮処
理等とは全く別に、中間コード展開部15および圧縮処
理部16を動作させ、中間コードを圧縮可能な形式に展
開して圧縮する処理が含まれるものとする。これは、中
間コードを直接プリンタエンジン等に出力しても、その
プリンタエンジン等を同期駆動することが難しいからで
ある。すなわち、中間コードの複雑さ(特に重なりの度
合いや描画面積等)が均一でなく、また中間コードの展
開処理の所要時間を予測することが難しい(そのため予
め間に合わない部分だけ展開してしまいたいがどこを展
開知ればよいか分からない)ので、プリンタエンジン等
における動作の実時間性を保証するためには、中間コー
ドの圧縮が有効(伸長時間は一般に実時間性を保証しや
すい)と考えられるからである。ただし、実時間性が保
証できれば、中間コードを編集して別の中間コード形式
に変換するようにしても、あるいはページメモリを持っ
てラスタ展開してから出力するようにしてもよい。
【0031】〔中間コードの説明〕次に、以上のように
構成された描画処理装置において、中間コード生成部1
1が変換する中間コードの形式および中間コード展開部
15による中間コードの展開方式について説明する。
【0032】中間コード生成部11が受け取る描画デー
タは、通常、その描画データによって特定される画像の
属性に関するオブジェクト情報(文字、図形、イメージ
等を識別可能にする情報)を含んでいる。また、中間コ
ードを圧縮可能な形式に展開する際の展開方式として
は、多種多様のものが知られている。ところが、例えば
中間コードをラスタ展開してしまうと、圧縮可能とはな
るが、データ量が増加してしまい、しかもその時点でオ
ブジェクト情報が消えてしまうため、望ましくない。
【0033】そこで、本実施形態の描画処理装置におい
ては、中間コードの展開結果を第二の中間コードとして
出力する形態を採用し、中間コード生成部11が描画デ
ータを中間コードに変換し、さらに中間コード展開部1
5が中間コードを圧縮可能な形式に展開しても、オブジ
ェクト情報が維持されたまま消えてしまうことがないよ
うにしている。つまり、本実施形態の描画処理装置で
は、中間コード生成部11が描画データを第一の中間コ
ードに変換し、さらに中間コード展開部15がその第一
の中間コードを圧縮可能な形式の第二の中間コードに展
開するようになっている。
【0034】このときの第一の中間コードの形式は、ス
キャンライン単位で取得できる形式であれば、ベクタ形
式、台形形式、ランレングス形式等、どのような形式で
あっても良い。スキャンライン単位で取得できる形式で
ある必要があるのは、中間コード展開部15が以下のよ
うな手順で展開処理を行うからである。図3は、中間コ
ードの展開処理の手順の一例を示すフローチャートであ
る。
【0035】すなわち、中間コード展開部15では、先
ず、最上部の(最下部でも可能)スキャンライン上のデ
ータを全て取得する(S101)。そして、そのうちの
最も左側の描画点(左から右に描画する場合。右から左
に描画する場合には最も右側の描画)を取得して(S1
02)、その描画点が描画開始点であるかどうかを判断
する(S103)。
【0036】描画開始点の場合、中間コード展開部15
は、この描画データが描画開始になったことを登録して
おく(S104)。そして、描画開始している描画デー
タ内で最も上側(描画順で後に描画された)データであ
るかどうか判断し(S105)、最も上側である場合に
は、さらにこの描画データより下(描画順で前に描画さ
れたデータ)があるかどうか判断し(S106)、ある
場合には下側の描画データの色で塗り開始点から注目点
(描画開始になった描画データの座標点)の左側の点ま
で塗り(S107)、塗り開始点を注目点に変更する
(S108)。ただし、描画開始しているデータ内で最
も上側でない場合、または下側で描画開始している描画
データが無い場合には、塗り開始点の変更までの処理を
スキップする。
【0037】一方、描画開始点でない場合(描画終了
点)、中間コード展開部15は、描画開始している描画
データ内で最も上側であるかどうか判断し(S10
9)、最も上側である場合この描画データの色で塗り開
始点から注目点の左側の点まで塗り(S110)、塗り
開始点を注目点に変更する(S108)。ただし、描画
開始している描画データ内で最も上側ではない場合、塗
り開始点の変更までの処理をスキップする。
【0038】その後、中間コード展開部15は、スキャ
ンライン上のデータを全て処理したかどうかを判断し
(S111)、まだ残っている場合には、最左の描画点
の取得まで戻って上述した処理(S102〜S110)
を繰り返す。全て処理した場合には、まだ所定の処理単
位であるバンド内に処理していないスキャンラインがあ
るかどうか判断し(S112)、まだ残っている場合に
は、スキャンライン上のデータ取得まで戻って上述した
処理(S101〜S111)を繰り返す。そして、全て
処理した場合には、一つのバンド内の処理を終了する。
【0039】ここで、以上のような手順の展開処理にて
扱われる第一の中間コードの形式について説明する。こ
こでは、第一の中間コードとしてベクタ形式を例に挙げ
る。
【0040】図4は、ベクタによるデータ表現形式の一
例を示す説明図である。図中において、「順序」は、描
画コマンドの描画順序である。「X」は、現在のスキャ
ンラインを横切るベクタのX切片の値を示す。「X変
位」は、次のスキャンラインに処理が移動した場合のX
切片の変化量を示している。「Y変位」は、当該ベクタ
に影響を受ける残りのスキャンライン数を示している。
「向き」は、当該ベクタの向きを示す。
【0041】このような構成のベクタをさらに詳しく説
明する。図5は、ベクタにより表現されるデータの一具
体例を示す説明図である。図中において、座標系は左上
方を原点とし、したがって図中の水平右方向にX座標値
は増加し、図面の垂直下方向にY座標値は増加するもの
とする。図例では、P1(0,300)、P2(60
0,0)、P3(300,600)の3点で表現される
三角形を示している。この3点から、ベクタの向きを考
慮して、P1P2、P2P3、P3P1の3つのベクタ
が生成される。P1P2は、「X」が600、「X変
位」が−2、「Y変位」が300、「向き」が−1とな
る。他のベクタも同様に図例の如くなる。
【0042】ところで、ベクタ形式の場合、図形の内部
/外部判定が必要となる。図6は、図形の内部/外部判
定に用いる規則の一具体例を示す説明図である。判定規
則には、図6(a)に示す非ゼロ巻き規則と、図6
(b)に示す奇偶規則との2種類がある。これらはいず
れも複数の外形(パス)で形成された一つの図形の内部
を判定する際に用いられる規則である。
【0043】図6(a)に示す非ゼロ巻き規則は、図形
を構成する外形がスキャンラインと交差する際の向きを
考慮したものである。すなわち、外形がスキャンライン
を上向きに交差する場合を正、下向きに交差する場合を
負としている。走査方向に向かって正の交差であれば1
を加算し、負の交差であれば1を減算することにし、合
計値が0でなくなった点から0に戻った点までが内部で
あると判定する。一方、図7(b)に示す奇偶規則は、
スキャンラインと交差するパスの個数をカウントして、
奇数の点から偶数の点までを内部と判定することにして
いる。
【0044】このような判定規則による内部判定処理
は、図3を用いて説明した展開処理における描画開始
点、描画終了点の判別のために使用される。ここで、内
部判定処理について、さらに詳しく説明する。図7は、
内部判定処理の手順の一例を示すフローチャートであ
る。なお、描画図形に対応した属性領域(内部判定規則
と内部判定値)が別途あり、これは描画順序を示す値か
ら取得できるものとする。
【0045】内部判定処理を行う場合は、先ず、ベクタ
の順序から、このベクタで構成される図形の内部判定規
則を取得する(S201)。内部判定規則の種類が非ゼ
ロ巻き規則であれば(S202)、続けて内部判定値を
取得し(S203)、その値が「0」であるか否かをチ
ェックする(S204)。値が「0」の場合には、ベク
タの向きを足し(S205)、「領域の開始」であると
判断する(S206)。一方、値が「0」でなければ、
ベクタの向きを足してから(S207)、再度値が
「0」であるか否かをチェックする(S208)。そし
て、値が「0」であれば「領域の終了」であると判断し
(S209)、値が「0」以外であれば領域が継続する
と判断する(S210)。
【0046】また、内部判定規則の種類が奇偶規則であ
った場合には(S202)、続けて内部判定値を取得
し、その値を「1」だけ増加させてから2の剰余を求め
る(S211)。そして、2の剰余の値が「1」であれ
ば、判定結果は奇数となり(S212)、図形が内部に
なるので、「領域の開始」と判断する(S213)。一
方、2の剰余が「0」であれば、判定結果は偶数とな
り、図形の外部となるので、「領域の終了」と判断する
(S214)。
【0047】このような手順の内部判定処理における
「領域の開始」は描画開始点に対応し、「領域の終了」
は描画終了点に対応するものである。したがって、取得
したベクタのそれぞれに対して、上述した内部判定処理
を適用すれば、描画開始点と描画終了点を判別すること
ができるようになる。
【0048】なお、ここでは、第一の中間コードとして
ベクタ形式を例に挙げて説明したが、第一の中間コード
の形式としては、他の形式(ランレングス形式等)が混
在してもよいことはいうまでもない。
【0049】続いて、上述した第一の中間コードに対し
て、図3を用いて説明した展開処理を行った結果であ
る、第二の中間コードの形式について説明する。ここで
は、第二の中間コードとしてランレングス形式を例に挙
げる。
【0050】図8は、ランレングスによるデータ表現形
式の一例を示す説明図である。図例では、2種類のラン
レングス形式が示しているが、共通の構造として、オブ
ジェクトの種類やデータ形式を表現するフィールド(種
別)と、スキャンライン上の開始座標値を表わすフィー
ルド(始点)と、スキャンライン上の終了座標を表わす
フィールド(終点)とを持っている。ただし、一方の
「種別1」においては色値がランレングスに埋め込まれ
ているが、他方の「種別2」では色値がポインタで別領
域に画素列が格納されている。通常、「種別1」の形式
は文字、図形を表現するために用いられ、「種別2」の
形式はラスタを表現するために用いられる。
【0051】以上のように、中間コード展開部15は、
中間コード生成部11が変換した第一の中間コードを、
圧縮可能な形式の第二の中間コードに展開するようにな
っているが、その展開処理の一環として、以下に述べる
データ重ね合わせ処理を行う機能をも有している。
【0052】図9は、中間コードの展開処理の一環とし
て行われるデータ重ね合わせ処理の手順の一例を示すフ
ローチャートである。ここでは、図中の上部に示すよう
に、あるスキャンライン上で互いに重なり合う3つの描
画データが入力され、その描画順序は下側が先に描画さ
れるデータ、上側が後から描画されるデータであり、各
描画データの内容は最下方が「青」の図形データ、中央
が「緑」のラスタデータ、最上方が「赤」の文字データ
である場合を例に挙げる。
【0053】この場合、先ず、最初のステップ(S30
1)では、描画開始点を取得するが、これ以前にどの描
画データも描画開始となっていないので、その描画開始
点の座標値を塗り開始点として一時的に保持するに留め
る。その後、次のステップ(S302)では、「緑」の
描画開始点を取得するが、既に緑より後に描画される
「赤」が描画開始となっているので何もしない。さらに
次のステップ(S303)では、「赤」の描画終了点を
取得し、描画開始している描画データの中で一番上なの
で塗り開始点「0」からその座標値「5」まで「赤」で
塗ることを決定し、「種別1、赤、0、5」といったラ
ンレングス形式のデータを出力し、塗り開始点を「6」
に更新する。
【0054】次のステップ(S304)では、「青」の
描画開始点を取得するが、既に「青」より後に描画され
る「緑」が描画開始となっているので何もしない。そし
て、次のステップ(S305)では、「緑」の描画終了
点を取得し、描画開始している描画データの中で一番上
なので、塗り開始点「6」からその座標値「9」まで
「緑」を塗ることを決定し、「種別2、緑の画素列、
6、9」といったランレングス形式のデータを出力し、
塗り開始点を「10」に更新する。さらに次のステップ
(S306)では、「青」の描画終了点を取得し、描画
開始している描画データの中で一番上なので、塗り開始
点「10」からその座標値「13」まで「青」で塗るこ
とを決定し、「種別1、青、10、13」といったラン
レングス形式のデータを出力し、塗り開始点を「14」
に更新する。
【0055】以上のようにして、中間コード展開部15
は、中間コード生成部11が変換した第一の中間コード
に対し、必要に応じてデータ重ね合わせ処理を行いつ
つ、圧縮可能な形式の一つであるランレングス形式の第
二の中間コードに展開するようになっている。
【0056】〔圧縮処理の説明〕次に、圧縮処理部16
が行う圧縮処理について説明する。圧縮可能な形式に展
開された中間コードに対する圧縮方式としても多種多様
のものが知られているが、ここでは以下に述べるカラー
画像符号化方式を適用した場合を例に挙げる。
【0057】図10は、圧縮処理部における機能構成の
一例を示すブロック図である。図例のように、本実施形
態における圧縮処理部16は、参照領域生成手段16a
と、同一画素値分布生成手段16bと、予測情報符号化
手段16cと、誤差算出符号化手段16dと、符号合成
手段16eと、を備えて構成されている。
【0058】参照領域生成手段16aは、ラスタ走査順
に1画素ずつ入力されるデータから、符号化すべき画素
データ、および、その周辺領域にある複数の画素データ
を抽出し、これらをそれぞれ注目画素データ、および参
照領域データとするものである。
【0059】同一画素値分布生成手段16bは、参照領
域生成手段16aが特定した注目画素データおよび参照
領域データに基づいて、注目画素の周辺にその注目画素
と同じ画素値を持つ画素がどのように分布しているかを
検出し、その結果を同一画素値分布として出力するもの
である。
【0060】予測情報符号化手段16cは、注目画素デ
ータを同一画素値分布だけで符号化可能であるならば、
同一画素値分布生成手段16bが検出した同一画素値分
布を基に注目画素値の符号化を行う一方、符号化不可能
であるならば符号化不可能という符号を生成し、これら
を選択的に予測情報符号データとして出力するものであ
る。
【0061】誤差算出符号化手段16dは、画素値デー
タから予測画素値を算出し、さらに予測画素値と画素値
データとの誤差を算出して符号化し、予測誤差符号デー
タとして出力するものである。
【0062】符号合成手段16eは、予測情報符号化手
段16cによる予測情報符号データと、誤差算出符号化
手段16dによる予測誤差符号データとを合成し、単一
の符号ストリームとして出力するものである。
【0063】このような構成の圧縮処理部16では、圧
縮処理の対象となるデータを受け取ると、参照領域生成
手段16aが、受け取ったデータ中における符号化すべ
き画素(注目画素)の画素値およびその周辺画素(例え
ば周辺四画素)の画素値を抽出し、これらをそれぞれ注
目画素データおよび参照領域データとして特定する。注
目画素およびその周辺画素の配置としては、例えば図1
1に示す具体例のようなものが考えられる。なお、注目
画素の位置は、画素の走査順と同様に、1ページ分の中
で順に走査されるものとする。
【0064】注目画素データおよび参照領域データが特
定されると、続いて、圧縮処理部16では、同一画素値
分布生成手段16bが、参照領域データの中に注目画素
データと同一の画素値があるか否かを比較し、その結果
をまとめて同一画素値分布として出力する。例えば、同
一画素値分布生成手段16bは、注目画素の画素値と同
一の画素値を持つ周辺画素を「1」に、そうでない周辺
画素を「0」に置き換え、置き換えられた周辺四画素を
まとめて同一画素値分布として出力する。したがって、
例えば図12に示す具体例の場合であれば、注目画素の
真上および左側が「1」となり、他は「0」となる同一
画素分布が生成される。
【0065】その後、圧縮処理部16では、同一画素値
分布生成手段16bが生成した同一画素分布に対して、
予測情報符号化手段16cが符号化を行って、その結果
を予測情報符号データとして出力する。このとき、予測
情報符号化手段16cは、同一画素分布に対する符号化
を、予め設定されている参照画素ラベルおよび符号生成
表に従って行う。参照画素ラベルおよび符号生成表とし
ては、例えば図13に示す具体例のようなものが挙げら
れる。
【0066】また、これと合わせて、圧縮処理部16で
は、同一画素値分布生成手段16bが生成した同一画素
分布に対して、誤差算出符号化手段16dが符号化を行
って、その結果を予測誤差符号データとして出力する。
このとき、誤差算出符号化手段16dは、同一画素分布
に対する符号化を、予め設定された演算式を用いた算術
符号化方式によって行う。演算式としては、例えば図1
4に示す具体例のようなものが挙げられる。
【0067】そして、予測情報符号化手段16cおよび
誤差算出符号化手段16dから予測情報符号データおよ
び予測誤差符号データがそれぞれ出力されると、圧縮処
理部16では、符号合成手段16eがこれらを合成して
単一の符号ストリームとして出力する。ただし、この際
に、例えば、符号合成手段16eでは、予測情報符号化
手段16cにより出力される予測情報符号データとして
同一のものが連続して出力される場合に、その連続する
回数をカウントして、符号が同一でなくなった後にカウ
ント結果と合わせて出力する。したがって、例えば図1
5(a)に示す具体例のような予測情報符号データおよ
び予測誤差符号データがそれぞれ出力された場合であれ
ば、符号合成手段16eでは、図15(b)に示すよう
な合成データを出力することになる。
【0068】〔伸長処理の説明〕次に、伸長処理部17
が行う伸長処理について説明する。伸長処理部17によ
る伸長処理は、圧縮処理部16による圧縮後データに対
して行われる。したがって、ここでは、上述した圧縮処
理の説明に対応して、伸長方式として以下に述べるカラ
ー画像復号化方式を適用した場合を例に挙げる。
【0069】図16は、伸長処理部における機能構成の
一例を示すブロック図である。図例のように、本実施形
態における伸長処理部17は、符号判別手段17aと、
予測情報復号化手段17bと、誤差復号加算手段17c
と、中間コード生成手段17dと、を備えて構成されて
いる。
【0070】符号判別手段17aは、圧縮処理部16に
よる圧縮後データを読み込んで、その圧縮後データを構
成する各符号が、予測情報符号データであるか、あるい
は予測誤差符号データであるかを判別するものである。
【0071】予測情報復号化手段17bは、圧縮後デー
タを構成する符号が予測情報符号データである場合に、
その予測情報符号データを復号して、符号化に対応付け
て、例えば図13に示した参照画素ラベルに関する情報
にまで戻すものである。さらには同一の予測情報符号デ
ータが何回連続するかを示す情報(カウント結果)も併
せて復号するようになっている。
【0072】誤差復号加算手段17cは、圧縮後データ
を構成する符号が予測誤差符号データである場合に、そ
の予測誤差符号データの誤差値に基づいて、注目画素の
値を算出するものである。算出方法としては、符号化時
に用いた演算式から注目画素値を算出する演算式を導
き、その演算式を使用することが考えられる。例えば図
14に示した演算式によって符号化した場合であれば、
注目画素=(A+B)/2+誤差といった演算式を用い
ればよい。
【0073】中間コード生成手段17dは、予測情報復
号化手段17bによって復号された予測情報および誤差
復号加算手段17cによって復号された誤差情報を用い
て、圧縮前の形式のデータ、例えばランレングス形式の
中間コードを生成するものである。
【0074】ここで、この中間コード生成手段17dに
よる中間コードを生成処理について、さらに詳しく説明
する。図17は、中間コード生成の手順の一例を示すフ
ローチャートである。
【0075】図例のように、中間コード生成手段17d
は、先ず、復号されたデータを取得し(S401)、そ
のデータの画素値が直左の画素(または現在のランレン
グスの画素値)と等しいか否かをチェックする(S40
2)。その結果、これらが等しければ、現在のランレン
グスの長さに、取得したデータの長さ(予測情報の場合
は同一画素値の連続する回数、誤差情報の場合は
「1」)を加算する(S403)。また、等しくない場
合には、現在のランレングスを出力するとともに、新し
いランレングスを開始する(S404)。このとき、新
しいランレングスは、取得したデータの画素値および長
さを初期値として持つ。そして、以上の処理を復号デー
タがなくなるまで繰り返して行うことで(S405)、
中間コード生成手段17dは、圧縮後データをランレン
グス形式の第二の中間データと同一状態に戻す。
【0076】〔フォールバック処理の説明〕次に、本実
施形態における描画処理装置において最も特徴的な処理
である、フォールバック処理部14によるフォールバッ
ク処理について説明する。フォールバック処理は、既に
説明した図22のフローチャートからも明らかなよう
に、メモリあふれが生じる際に行う処理である。したが
って、フォールバック処理では、メモリ内に保持蓄積す
べきデータ量を削減する必要がある。
【0077】データ量を削減する方法としては様々なも
のがあるが、本実施形態の描画処理装置では、上述した
圧縮処理部16による符号化方式によって、文字図形お
よびCG(Computer Graphics)画像については高い圧
縮率を保証できる。したがって、フォールバック処理部
14は、文字図形およびCG画像であれば、圧縮処理部
16を動作させることによって、そのデータ量を削減す
ることができる。これに対して、ビットマップ状のラス
タデータによって表現される自然画(イメージ)は、一
般的に言われているように、高画質を保ったまま高い圧
縮率で圧縮することは難しい。ところが、その反面、イ
メージは、画質を劣化させても人間の目には目立ち難
い。そのため、本実施形態では、イメージを圧縮する際
には、解像度を下げる処理を行って、高い圧縮率を確保
する場合を例に挙げる。ただし、これは説明を簡単にす
るためであって、別の方式を用いて高い圧縮率を確保す
るようにしても何ら問題はない。別の方式としては、例
えば、JPEG(Joint Photographic Experts Group)
等のさらに別の符号化方式を組み合わせたものが挙げら
れる。
【0078】このように、文字図形やイメージといった
画像のオブジェクト毎に異なる符号化方式を適用するこ
とは、オブジェクト情報を基にすることで実現できる。
そのため、本実施形態の描画処理装置では、オブジェク
ト情報を画素値と同様に扱い、圧縮処理および伸長処理
を経てもそのオブジェクト情報が復元されるようにす
る。具体的には、図18に示すように、オブジェクト情
報と画素情報とを一塊にして扱い、符号・復号化時の予
測情報の判断に使用する。すなわち、画素値が同じでも
オブジェクト情報が異なれば、異なるデータとして扱う
ようにする。
【0079】ここで、フォールバック処理部14による
フォールバック処理について、具体例を挙げて詳細に説
明する。図19は、処理対象となるページのオブジェク
トの構成の一具体例を示す説明図である。図19(a)
において、ハッチング(斜線)部は文字が記載された部
分、塗りつぶし(黒塗り)部はイメージの部分であり、
当該ページの右上四分の一をイメージが占めている。ま
た、これらの描画順序としては、文字の領域を描いた後
に、イメージの領域を描くものとする。さらに、当該ペ
ージは、図19(b)のように、4つのバンドに分割さ
れて処理されるものとする。
【0080】図20は、図19に示したオブジェクト構
成、特に最上部のバンドにおけるオブジェクト構成をさ
らに詳細に示した説明図である。図例のように、このバ
ンドは、主に、ページの余白部分(下地)、文字、下
地、イメージ、下地の順で構成されている。なお、より
詳細には、文字の部分の中には文字部と下地部とが混在
しているが、ここでは単に文字として扱い、説明を簡略
化する。
【0081】このようなオブジェクト構成のページを描
画するための描画データを受け取った場合に、本実施形
態の描画処理装置では、先ず、中間コード生成部11が
文字に関する描画データを第一の中間コードに変換し、
これを中間コード蓄積部12が保持蓄積する。そして、
その後に、中間コード生成部11がイメージに関する描
画データを第一の中間コードに変換し、これを中間コー
ド蓄積部12が保持蓄積するが、このとき(イメージの
中間コード化の段階)にメモリ管理部13によってメモ
リあふれが発生すると判断され、フォールバック処理部
14がフォールバック処理を行う場合を例に挙げて説明
する。
【0082】図21は、本実施形態におけるフォールバ
ック処理の手順の一例を示すフローチャートである。フ
ォールバック処理部14では、メモリあふれが発生し、
フォールバック処理を行う必要が生じた場合に、その処
理対象となる同一ページに対して、既にフォールバック
処理が行われたか否か、すなわち新たに行おうとするフ
ォールバック処理が二度目以降のもの(以下、二度目以
降に行う場合を「多重フォールバック処理」という)で
あるか否かを判断する(S501)。この判断は、圧縮
後データの有無や処理履歴等に基づいて行えばよい。
【0083】この判断の結果、多重フォールバック処理
である場合には、同一ページについての圧縮後データが
存在するので、フォールバック処理部14は、伸長処理
部17を動作させ、その圧縮後データに対する伸長処理
を行い、その圧縮後データをランレングス形式の第二の
中間データと同一状態に戻す(S502)。このときの
伸長処理部17による伸長処理は、既に説明した手順で
行われる(図16,17参照)。
【0084】そして、フォールバック処理部14は、伸
長処理後の中間データを下地絵柄についてのランレング
スデータとして扱い、そのランレングスデータに新たな
フォールバック処理の要因となる中間コードを合成する
データ重ね合わせ処理を、中間コード展開部15に行わ
せる(S503)。このときのデータ重ね合わせ処理
は、既に説明した手順で行われる(図9参照)。ただ
し、上述したように描画データは上下関係を持ってお
り、中間コードの生成は描画順に行われる。したがっ
て、データ重ね合わせ処理にあたって、フォールバック
処理部14は、伸長処理後のランレングスデータを、新
たなフォールバック処理の要因となる中間コードの下側
に入れるよう指示を与える。これにより、中間コード展
開部15は、上下関係を持つデータ形式の最も下側に、
前回までのフォールバック処理についての伸長結果を配
置することになる。
【0085】一方、多重フォールバック処理でないと判
断した場合には、これらの伸長処理(S502)および
データ重ね合わせ処理(S503)をスキップする。
【0086】その後は、データ重ね合わせ処理後の中間
コードまたは新たなフォールバック処理の要因となる中
間コードについて、中間コード展開部15に展開処理を
行わせ、ランレングス形式の第二の中間コードを作成さ
せる(S504)。このときの展開処理は、既に説明し
た手順で行われる(図3〜9参照)。そして、フォール
バック処理部14は、圧縮処理部16を動作させ、中間
コード展開部15が生成した中間コードに対する圧縮処
理を行わせる(S505)。このときの圧縮処理も、展
開処理と同様、既に説明した手順で行われる(図10〜
15参照)。
【0087】ここで、フォールバック処理部14は、上
述した一連の処理(S501〜S505)によって、メ
モリ容量に十分な空きができたか否かをメモリ管理部1
3に問い合わせる(S506)。その結果、十分な空き
ができていれば、フォールバック処理部14は、ページ
の終わりであるかどうかチェックし(S507)、まだ
終わりでなければ一連の処理(S501〜S507)を
繰り返す。そして、出力画像1ページ分についてのメモ
リ容量を確保して、中間コード蓄積部12または圧縮デ
ータ蓄積部18に中間コードまたは圧縮後データを保持
蓄積させる。
【0088】ただし、圧縮処理部16が圧縮処理を行っ
てもメモリ容量に十分な空きができない場合には、フォ
ールバック処理部14は、伸長処理部17を動作させ、
その圧縮処理によって得られた圧縮後データに対する伸
長処理を行う(S508)。このときの伸長処理も、既
に説明した手順で行われる(図16,17参照)。よっ
て、圧縮後データは、ランレングス形式の第二の中間コ
ードと同一状態に戻ることになる。しかも、このとき、
オブジェクト情報と画素値とが同様に扱われるので、圧
縮後データが中間コードに戻るのと同様に、その中間コ
ードについてのオブジェクト情報も復元される。
【0089】そこで、フォールバック処理部14は、そ
のオブジェクト情報に基づいて、イメージの部分のみを
抽出し、そのイメージの属性を持つ部分だけにデータ量
削減処理を行う(S509)。このときのデータ量削減
処理としては、上述したように、解像度変換処理が挙げ
られるが、JPEG等の符号化方式を利用してもよい。
そして、イメージ部分のデータ削減後、再び圧縮処理部
16を動作させ、上述した一連の処理(S505〜S5
09)を繰り返し、出力画像1ページ分についてのメモ
リ容量を確保して、フォールバック処理を終了する。
【0090】以上のように、本実施形態における描画処
理装置およびその描画処理装置が実施する描画処理方法
によれば、フォールバック処理時に必要に応じて圧縮処
理または伸長処理を行うが、その際に圧縮後データを圧
縮前の形式に戻し得るようになっている。つまり、従来
とは異なり、圧縮処理によって中間データに付随する特
定の情報(例えば、画像の属性に関するオブジェクト情
報)が失われてしまったり、中間データの全てが圧縮処
理によって全く異なる形式のデータ(例えば、ラスタ状
のビットマップデータ)に変換されてしまったりするこ
とがない。
【0091】そのため、本実施形態の描画処理装置およ
び描画処理方法によれば、フォールバック処理を行う場
合であっても、そのフォールバック処理およびその後に
行う処理をオブジェクト情報に応じて行うことが可能と
なり、フォールバック処理にあたってイメージ部分のみ
に圧縮率の高い圧縮処理(例えば有損失圧縮)を施すと
いったことが行えるようになる。また、オブジェクトに
応じて異なる圧縮処理を行えるので、ページ内に一つで
も有損失圧縮された部分が存在しても、ページ全体の有
損失圧縮を必要とすることがない。さらには、フォール
バック処理後においても、例えば文字や図形のエッジ部
分は強調したり、ラスタ状のイメージ部分は階調を豊か
に表現したりする、といったことが可能になる。
【0092】特に、本実施形態の描画処理装置および描
画処理方法では、無損失圧縮のみではメモリあふれが解
消しない場合に、イメージ部分のみに圧縮率の高い有損
失圧縮を施すようになっている。したがって、有損失圧
縮を施しても画質劣化が目立たない属性部分であるイメ
ージ部分に対してのみ有損失圧縮が適用され、他の部分
(文字や図形等)については無損失圧縮が適用されるこ
とになる。
【0093】これらのことから、本実施形態の描画処理
装置および描画処理方法によれば、限られた容量のメモ
リを有効に活用しつつも、出力画像の画質劣化を極力抑
えて高品位の画像出力を実現し得るようになるので、結
果としてプリンタ等における高性能化と低価格化との両
立に寄与し得るようになる。
【0094】このことは、圧縮後データを伸長して圧縮
前の形式に戻し得るようにしたことによって実現される
ものである。すなわち、圧縮後データを圧縮前の形式に
戻し得るので、オブジェクト情報と画素情報とを一塊に
して扱えば、伸長処理後にオブジェクト情報が失われて
しまうこともなくなり、上述したようなフォールバック
処理が実現可能となる。
【0095】なお、本実施形態では、圧縮後データを伸
長処理によってランレングス形式の第二の中間コードに
戻す場合を例に挙げて説明したが、本発明はこれに限定
されないことは勿論である。すなわち、中間コードはベ
クタ形式、台形形式、ランレングス形式、ラスタ形式等
といった各種形式のものが混在していることが考えられ
るので、圧縮後データを圧縮前の形式に戻し得れば、そ
の形式は特定のものに限定されるわけではない。ただ
し、フォールバック処理の一環として行われる圧縮処理
においてはオブジェクトに応じて有損失圧縮と無損失圧
縮とが選択的に施されるので、伸長処理後に行われる再
圧縮処理を考慮すれば、伸長処理にあたって、有損失圧
縮が適用された圧縮後データについてはラスタ表現によ
り、それ以外の無損失圧縮が適用された圧縮後データに
ついてはランレングス表現により、それぞれ復号するこ
とが好ましい。
【0096】
【発明の効果】以上に説明したように、本発明の描画処
理装置および描画処理方法によれば、従来よりも高画質
なフォールバック処理を可能にすることで、限られた容
量のメモリを使用しつつも高品位の画像出力を実現する
ことができる。
【図面の簡単な説明】
【図1】 本発明に係る描画処理装置の概略構成の一例
を示すブロック図である。
【図2】 本発明に係る描画処理装置が用いられるシス
テムの構成例を示す概略図であり、(a)はその一例を
示す図、(b)は他の例を示す図である。
【図3】 中間コードの展開処理の手順の一例を示すフ
ローチャートである。
【図4】 ベクタによるデータ表現形式の一例を示す説
明図である。
【図5】 ベクタにより表現されるデータの一具体例を
示す説明図である。
【図6】 図形の内部/外部判定に用いる規則の一具体
例を示す説明図であり、(a)は非ゼロ巻き規則を示す
図、(b)は奇偶規則を示す図である。
【図7】 内部判定処理の手順の一例を示すフローチャ
ートである。
【図8】 ランレングスによるデータ表現形式の一例を
示す説明図である。
【図9】 中間コードの展開処理の一環として行われる
データ重ね合わせ処理の手順の一例を示すフローチャー
トである。
【図10】 本発明に係る描画処理装置の圧縮処理部に
おける機能構成の一例を示すブロック図である。
【図11】 圧縮処理の際に用いられる参照領域データ
の一具体例を示す説明図である。
【図12】 圧縮処理の際に用いられる同一画素値分布
の一具体例を示す説明図である。
【図13】 圧縮処理の際に用いられる参照画素ラベル
および符号生成表の一具体例を示す説明図である。
【図14】 圧縮処理の際に用いられる誤差算出符号化
の演算式の一具体例を示す説明図である。
【図15】 符号化フォーマットの一具体例を示す説明
図であり、(a)は予測情報符号データおよび予測誤差
符号データを示す図、(b)はこれらの合成データを示
す図である。
【図16】 本発明に係る描画処理装置の伸長処理部に
おける機能構成の一例を示すブロック図である。
【図17】 中間コード生成の手順の一例を示すフロー
チャートである。
【図18】 オブジェクト情報と画素情報との扱いの概
要を示す説明図である。
【図19】 処理対象となるページのオブジェクトの構
成の一具体例を示す説明図である、(a)はページ全体
の様子を示す図、(b)はバンド分割状態を示す図であ
る。
【図20】 図19に示したオブジェクト構成、特に最
上部のバンドにおけるオブジェクト構成をさらに詳細に
示した説明図である。
【図21】 本発明におけるフォールバック処理の手順
の一例を示すフローチャートである。
【図22】 フォールバック処理を行う場合におけるイ
メージ・レンダリング処理全体の手順を示すフローチャ
ートである。
【図23】 従来におけるフォールバック処理の手順の
一例を示すフローチャートである。
【符号の説明】
11…中間コード生成部、12…中間コード蓄積部、1
3…メモリ管理部、14…フォールバック処理部、15
…中間コード展開部、16…圧縮処理部、17…伸長処
理部、18…圧縮データ蓄積部、19…出力転送部

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 画像を描画するための描画データを受け
    取ると当該描画データを所定形式の中間コードに変換す
    る中間コード生成手段と、 前記中間コード生成手段が変換した中間コードを順次保
    持蓄積する中間コード蓄積手段と、 前記中間コード蓄積手段に保持蓄積させる中間コードを
    圧縮可能な形式に展開して圧縮する圧縮処理手段と、 前記圧縮処理手段による圧縮後データを伸長して圧縮前
    の形式に戻す伸長処理手段と、 前記中間コード蓄積手段が使用し得るメモリ容量が不足
    する状態となるメモリあふれが生じるか否かを判断する
    メモリ管理手段と、 前記メモリ管理手段によりメモリあふれが生じると判断
    されると前記圧縮処理手段を動作させるとともに、必要
    に応じて前記伸長処理手段を動作させた後に再度前記圧
    縮処理手段を動作させるフォールバック処理手段と、 前記中間コード蓄積手段が所定画像量に相当する分だけ
    中間コードまたは圧縮後データを保持蓄積すると当該中
    間コードまたは圧縮後データについての出力処理を行う
    出力転送手段とを備えることを特徴とする描画処理装
    置。
  2. 【請求項2】 前記中間コード生成手段が変換する中間
    コードは、当該中間コードによって表される画像の属性
    に関するオブジェクト情報を含んでおり、 前記伸長処理手段は、圧縮後データを伸長して圧縮前の
    形式に戻す際に、前記オブジェクト情報も認識可能な状
    態に戻すものであり前記フォールバック処理手段は、前
    記オブジェクト情報に基づいて、前記圧縮処理手段によ
    る圧縮処理の対象を決定するものであることを特徴とす
    る請求項1記載の描画処理装置。
  3. 【請求項3】 前記フォールバック処理手段は、前記オ
    ブジェクト情報に基づいて、有損失圧縮を施しても画質
    劣化が目立たない属性の部分に対してのみ、前記圧縮処
    理手段による有損失圧縮処理を適用することを特徴とす
    る請求項2記載の描画処理装置。
  4. 【請求項4】 前記伸長処理手段は、前記圧縮処理手段
    による有損失圧縮処理が適用された圧縮後データについ
    てはラスタ表現により、それ以外の無損失圧縮処理が適
    用された圧縮後データについてはランレングス表現によ
    り、それぞれ復号するものであることを特徴とする請求
    項3記載の描画処理装置。
  5. 【請求項5】 限られた容量のメモリで描画処理を行う
    際に用いられる描画処理方法であって、 画像を描画するための描画データを所定形式の中間コー
    ドに変換し、 変換後の中間コードを前記メモリに順次保持蓄積させ、 前記メモリの容量が不足する状態となるメモリあふれが
    生じるか否かを判断し、 メモリあふれが生じると判断すると、前記メモリに保持
    蓄積させる中間コードを圧縮可能な形式に展開して圧縮
    処理するとともに、必要に応じて圧縮処理後の圧縮デー
    タに対して伸長処理を施して圧縮前の形式に戻し当該伸
    長処理後の圧縮前データを用いて再圧縮処理を行い、 前記メモリ内に所定画像量に相当する分だけ中間コード
    または圧縮後データを保持蓄積することを特徴とする描
    画処理方法。
JP2001133787A 2001-05-01 2001-05-01 描画処理装置および描画処理方法 Expired - Fee Related JP4423812B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001133787A JP4423812B2 (ja) 2001-05-01 2001-05-01 描画処理装置および描画処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001133787A JP4423812B2 (ja) 2001-05-01 2001-05-01 描画処理装置および描画処理方法

Publications (2)

Publication Number Publication Date
JP2002326401A true JP2002326401A (ja) 2002-11-12
JP4423812B2 JP4423812B2 (ja) 2010-03-03

Family

ID=18981587

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001133787A Expired - Fee Related JP4423812B2 (ja) 2001-05-01 2001-05-01 描画処理装置および描画処理方法

Country Status (1)

Country Link
JP (1) JP4423812B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010206564A (ja) * 2009-03-04 2010-09-16 Fuji Xerox Co Ltd 画像合成装置、画像形成装置およびプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010206564A (ja) * 2009-03-04 2010-09-16 Fuji Xerox Co Ltd 画像合成装置、画像形成装置およびプログラム
US8649051B2 (en) 2009-03-04 2014-02-11 Fuji Xerox Co., Ltd. Image composition device, image forming apparatus and computer readable medium storing program

Also Published As

Publication number Publication date
JP4423812B2 (ja) 2010-03-03

Similar Documents

Publication Publication Date Title
US7630099B1 (en) Reducing storage requirements for display data
KR20120065394A (ko) 화상처리장치 및 그 처리 방법
JP2001222392A (ja) 印刷制御装置及びその方法
JP4393319B2 (ja) 画像符号化装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JP2006121645A (ja) 画像圧縮装置および画像圧縮プログラム
JP3278298B2 (ja) ビットマップデータの圧縮方法及び圧縮装置
JP4633576B2 (ja) データ圧縮装置およびデータ圧縮プログラム
US7259891B2 (en) Image compression method, decompression method thereof and program therefor
JP2001245162A (ja) 画像処理装置
JP2003087558A (ja) 画像処理装置および方法
JP4423812B2 (ja) 描画処理装置および描画処理方法
JP4173498B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP2008078826A (ja) 画像処理装置及びその制御方法
JP2005277932A (ja) データ圧縮装置およびデータ圧縮プログラム
JP4629512B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4181147B2 (ja) データ圧縮装置およびデータ圧縮プログラム
US9049404B2 (en) Image processing apparatus and method that perform multiple image processes, and storage medium storing a program thereof, for decompressing a compressed image according to first and second information indicating image processing to be performed
JPH0531974A (ja) 画像処理装置
JPH1098620A (ja) 画像処理装置
JPH06113145A (ja) 画像処理装置
JP4435586B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4131969B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP2009111821A (ja) 画像符号化装置、画像復号化装置、画像データ処理装置、画像符号化方法、及び、画像復号化方法
JP2000078415A (ja) 画像処理システム、画像圧縮装置、および、記録媒体
JP3855731B2 (ja) 画像符号化装置および方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080819

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090421

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090825

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091022

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20091102

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4423812

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121218

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121218

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131218

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees