説明

画像形成装置

【課題】 画像形成装置おけるイメージデータの回転処理において、ソースイメージが格納されるアドレスへの離散した値へのアクセスによりキャッシュヒット率が低下し、メモリアクセス回数が増加して前記回転処理速度が低下することを防ぐ。
【解決手段】 PDL(ページ記述言語)データを入力として、バンド単位にラスタライズを行い印刷出力する画像形成装置に関して、イメージの拡大処理を行い、かつ90度回転の処理が必要とするデータが存在するかを判断し、該当する場合にはソースイメージを予め回転しておき、その後に拡大処理を行う方法により、イメージを逆マッピングして描画する際にソースイメージ領域へのキャッシュヒット率を高めることが可能となり、結果としてイメージ処理速度が向上した。

【発明の詳細な説明】
【技術分野】
【0001】
画像形成装置において、逆マッピング処理におけるイメージ処理時にアクセスデータのキャッシュヒット率を高めて処理を高速に行う技術に関するものである。
【背景技術】
【0002】
PDL(ページ記述言語)を中間言語に変換し、該中間言語をバンド単位にラスタライズする画像形成装置において、入力したソースイメージを拡大、縮小および回転などの変形を実現するとき、イメージ処理結果となるデスティネーションイメージのピクセルからソースイメージのどのピクセルに該当するかを探索して、デスティネーションに割り当てる逆マッピング処理(リバースマッピング処理)と呼ばれる手法がある。
【0003】
この逆マッピング処理について、バンド単位にラスタライズするプリンタシステムでは、中間言語であるディスプレイリストをバンド境界で分割して描画する。また、イメージを90度もしくは270度で回転する処理を実行するときには、ソースイメージが格納されるメモリアドレスに対して、飛び飛びのアドレスにアクセスすることになり、キャッシュヒットが成功せず結果的にメモリアクセス回数が増えて処理速度が遅くなる問題がある。
【0004】
印刷物に画像が用いられることは一般的であり、プリンタ処理が遅いイメージ処理について高速に処理する方法が必要である。
【0005】
従来技術として、逆マッピング関数変換を使用したイメージデータの画像変換処理において、逆マッピング関数変換の対象となるデータの最も外側のイメージデータをその外側にあらかじめコピーし格納した後、逆マッピング変換を行う方法がある。この方法によれば、逆マッピング関数変換の誤差によりイメージ座標の領域外に出たデータをイメージ空間上のピクセルデータとしてそのまま使用することが可能である(特許文献1参照)。
【0006】
また、他の従来技術として、イメージ回転処理の高速化のためにイメージをあらかじめ分割して、ワードバウンダリに合わせてデフォルメすることによりイメージ処理を行う方法がある(特許文献2参照)。
【0007】
しかし、これらのいずれの方法によっても、イメージ回転処理に伴うソースイメージデータのとびとびの値へのアクセスによりキャッシュヒット率が低下する問題を解決することはできない。
【特許文献1】特開平07−44730号公報
【特許文献2】特開2008−6803号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
解決しようとする問題点は、画像形成装置おけるイメージデータの回転処理において、ソースイメージが格納されるアドレスへの離散した値へのアクセスによりキャッシュヒット率が低下し、メモリアクセス回数が増加して前記回転処理速度が低下することを防げない点である。
【課題を解決するための手段】
【0009】
本発明の画像形成装置は、印刷データの描画処理を行って印刷出力する画像形成装置であって、前記印刷データ中に90度又は270度のいずれか一方の回転処理と拡大処理との両方を行うイメージデータが存在するかどうかを判断する回転拡大判断部と、前記回転拡大判断部において前記回転処理と前記拡大処理との両方を行うイメージデータが存在すると判断した場合に、拡大を伴わない前記90度又は270度のいずれか一方の回転処理を行うイメージ回転部と、前記イメージ回転部により前記回転処理の行われたイメージデータの拡大処理を行うイメージ拡大部とを有することを特徴とする。
【0010】
また、本発明の画像形成装置の前記イメージ回転部は、逆マッピング処理による前記回転処理を行い、前記イメージ拡大部は、逆マッピング処理による前記拡大処理を行うことを特徴とするとしてもよい。
【0011】
また、本発明の画像形成装置の前記イメージ回転部による回転処理と、前記イメージ拡大部による拡大処理は、バンド幅単位毎に行われることを特徴としてもよい。
【発明の効果】
【0012】
本発明の画像形成装置は、印刷データの描画処理を行って印刷出力する画像形成装置であって、前記印刷データ中に90度又は270度のいずれか一方の回転処理と拡大処理との両方を行うイメージデータが存在するかどうかを判断する回転拡大判断部と、前記回転拡大判断部において、前記回転処理と前記拡大処理との両方を行うイメージデータが存在すると判断した場合に、拡大を伴わない前記90度又は270度のいずれか一方の回転処理を行うイメージ回転部と、前記イメージ回転部により前記回転処理の行われたイメージデータの拡大処理を行うイメージ拡大部とを有することを特徴とする。
【0013】
このため、あらかじめ回転されたイメージデータを拡大するときには、アクセスするデータが連続して並ぶために、キャッシュのヒット率が低下することなく拡大処理が行われ、回転・拡大のトータルの描画処理の速度が向上した。
【0014】
また、本発明の画像形成装置の前記イメージ回転部は、逆マッピング処理による前記回転処理を行い、前記イメージ拡大部は、逆マッピング処理による前記拡大処理を行うことを特徴とするとしてもよい。
【0015】
このため、イメージ拡大部が逆マッピング処理によってアクセスするソースデータがあらかじめ回転処理により連続に並んでいるため、キャッシュのヒット率が上がる。
【0016】
また、本発明の画像形成装置の前記イメージ回転部による回転処理と、前記イメージ拡大部による拡大処理は、バンド幅単位毎に行われることを特徴としてもよい。
【0017】
このため、バンド幅によりデータサイズが区切られるためにアクセスされるデータ量が制限され、キャッシュヒット率が高まる。
【発明を実施するための最良の形態】
【0018】
画像形成装置おけるイメージデータの回転処理において、ソースイメージが格納されるアドレスへの離散した値へのアクセスによりキャッシュヒット率が低下して処理速度が遅くなるという問題をイメージデータの90度又は270度の回転処理と拡大処理が伴う場合には、最初に前記回転処理を行った後に、前記拡大処理を行う方法により解決した。
【実施例】
【0019】
[逆マッピング処理について]
逆マッピング処理は、処理後に得られるイメージであるデスティネーションイメージの先頭から順にピクセルを参照して処理される元イメージであるソースイメージのどのピクセルに該当するかを計算で求める手法である。これは、予めデスティネーションでピクセルを1ずらしたとき、ソースイメージ上での現在位置からどれだけ移動したピクセルを参照するかの変化量(ベクトル)を求めておいて特定する。
【0020】
例えば、図1に示すようにイメージを左90度回転する場合について、デスティネーションのピクセル位置(x, y)に対応するソースのピクセル(s, t)とする。90度回転のときは、変化量(sx, sy) = (0, 1)である。デスティネーションのピクセル位置(x+1, y)を求めるとき、ソースイメージ上の位置は(s, t) = (s+sx, t+sy)で求めることができる。
【0021】
この場合、90度回転処理時の各イメージデータのRAM(Random Access Memory)上でのアドレスは図2のようになる。ここで、デスティネーションイメージへは図2(B)のように連続した領域を順次アクセスするのに対して、ソースイメージは図2(A)のようにアクセスピクセル毎にアドレスが飛んでいる。
【0022】
またハードウェア構成上、図3に示すようにCPUとキャッシュ間のアクセス速度(データ転送速度)v1と、CPUとRAM間のアクセス速度v2は、v1>v2の関係であることが通常である。
【0023】
そのため、イメージデータがキャッシュ内に含まれていれば、RAMにアクセスすることなく、高速のキャッシュへのアクセスだけで処理が進行するため、処理速度が高速化するが、キャッシュの量には上限があり、図2(A)のように離散したデータにアクセスする場合には、離散したデータ領域がキャッシュデータの上限内に収まらず、キャッシュヒット率が低下してしまう。
【0024】
そこで、キャッシュヒット率を高めるために、90度又は270度回転処理と拡大処理とを伴うイメージデータについては、先に拡大処理を伴わない同率の回転処理を行っておき、その後に拡大処理を行う方法により、拡大処理時のキャッシュヒット率を高めて、トータルでの処理の高速化を実現する。
【0025】
[構成]
本発明実施例に係る画像形成装置10の機能ブロック図を図4に示す。以下に各機能部について説明する。
【0026】
通信インターフェース11は、ホストコンピュータ等との通信を行う。
【0027】
データ受信部12は、通信インターフェースを介してデータを受信する。
【0028】
データ解析部13は、送られてきたデータの解析を行なう。このデータ(入力データ、又は印刷データとも呼ばれる)は、一般的にPDL(ページ記述言語)により記載されており、データ解析部13によりその内容が解析される。
【0029】
描画データ処理部14は、データ解析部13が解析した結果に基づいて前記データを処理する。具体的にはPDL(ページ記述言語)で記載されているデータをバンド単位毎に区切って、中間言語である、ディスプレイリストに変換する。
【0030】
レンダリング処理部15は、描画データ処理部14で作成されたディスプレイリストからVRAM(Video Random Access Memory)にビットマップを作成するレンダリング処理を行う。レンダリング処理は、バンド幅単位毎に行われる。
【0031】
レンダリング処理部15は、さらに本発明の本質的な機能を担う回転拡大判断部21、イメージ回転部22、イメージ拡大部23、ビットマップ生成部24の各機能部を有する。
【0032】
回転拡大判断部21は、ディスプレイリスト中に90度又は270度のいずれか一方の回転処理が伴うイメージデータが存在するかどうか、さらにそのイメージデータを拡大処理するかどうかについて判断する。
【0033】
イメージ回転部22は、前記回転拡大判断部21によって、ディスプレイリスト中に90度又は270度の回転処理を伴い、かつ、拡大処理するイメージデータの存在することを判断したときには、あらかじめ拡大処理を伴わない1対1(同率)の回転処理を行う。この回転処理は前記した逆マッピング処理によって行われる。
【0034】
イメージ拡大部23は、前記イメージ回転部22によりあらかじめ回転処理を終えたイメージの拡大処理を行う。この拡大処理は前記した逆マッピング処理によって行われる。
【0035】
ビットマップ生成部24は、前記イメージ回転部22及びイメージ拡大部23で処理されたイメージデータ及びその他のデータを含む全ての中間言語データについての描画処理を行って、出力部16で出力するためのビットマップデータを生成する。
【0036】
出力部16は、実際に紙などの記録媒体に印刷を行なう。
【0037】
[回転処理]
前記したデータ解析部13及び描画データ処理部14において、PDL(ページ記述言語)を解釈しディスプレイリストを生成するが、その際に回転拡大判断部21がイメージデータの変形処理を検知する。つまり、入力されるイメージの変倍率から、イメージを拡大する場合、さらにディスプレイリスト作成で計算するイメージ処理の変換量(スキャンベクトル)を求めるとき、90度、270度で回転するかどうかを判断する。つまり、スキャンベクトルが次にあてはまるときに、イメージ回転部22でソースイメージを回転しておく(図5参照)。
【0038】
(sx, sy) = (0, ty) (t:拡大要素)
90度回転したデータは、スキャンベクトルに反映させる、
(sx, sy) = (tx, 0)
回転処理を終えた後、レンダリング処理部15でディスプレイリストを解釈して、拡大処理を行う。
【0039】
縦2倍、横2倍への拡大処理の例についての説明を図6に示す。拡大されるデスティネーション側のデータを示す図6(B)においては、デスティネーションデータのビットマップ上でのピクセルd1a、d1b、d1c、d1dは、ソース側のデータを示す図6(A)のソースデータのピクセルs1を参照する(以下、d2からd6でも同様)。
【0040】
この場合のこれらの関連データ(各ピクセルのデータ)のアドレス上のマップを図7に示す。デスティネーション(図7(B))が参照するソースの値(図7(A))は、すでに回転処理を終えているためにデータの並びが連続である。
【0041】
このため、図2(A)で示したようなとびとびのソースの値にアクセスすることがなくなり、キャッシュのヒット率の低下がない。
【0042】
ここで、拡大時のみに予め回転をする理由は、ソースイメージのサイズに起因する。拡大処理時には、
ソースイメージサイズ < デスティネーションサイズ
であるので、ソースイメージを予め回転しても、処理速度が下がることは少ないためである。
【0043】
逆に縮小時は、ソースイメージサイズが大きいので、予めソースイメージを回転すると、メモリアクセス数が多くなり処理に時間がかかる。さらに、一時的に必要となるメモリ量も多くなるため、縮小時はレンダリング処理部15において、従来どおり逆マッピング処理を実施する。
【0044】
[フローチャート]
図8は、画像形成装置10におけるイメージ処理についてのフローチャートである。
【0045】
S601:データ受信部12は、PDL(ページ記述言語)により記載された印刷データを受信する。
【0046】
S602:S606までの間、ジョブの終わり、ファイルの終端までループを形成する。
【0047】
S603:回転拡大判断部21は、描画データを処理する際にデータがイメージ処理かどうかを判断する。イメージデータの処理であれば、動作をS604に移行する。そうでなければ、S606に移行する。
【0048】
S604: 回転拡大判断部21は、S603でイメージ処理の場合、当該イメージデータに対して90度、又は270度のいずれか一方の回転処理が伴うか、さらに、当該イメージの拡大処理が伴うかを判断する。上記の条件を満たす場合には、動作をS605に移行する。そうでなければ、S606に移行する。
【0049】
S605:S604の条件が満たされたので、イメージ回転部22は、逆マッピング処理によりソースのイメージデータを指定の回転角(90度、又は270度)で回転する。回転処理後、イメージ拡大部23は、逆マッピング処理により回転処理の終わったイメージデータの拡大処理を行う。
【0050】
S606: データ解析部13および描画データ処理部14でPDL(ページ記述言語)を解釈して、描画命令に対するディスプレイリストを作成する。
【0051】
以上により、描画データ処理部14及びレンダリング処理部15による、イメージデータの回転及び拡大、中間言語の生成が終了し、この後、ビットマップ生成部24により、中間言語データがビットマップ化され、ビットマップデータは、出力部16に渡されて印刷出力される。
【0052】
[実施例の効果]
90度又は270度回転、拡大のイメージに対して、レンダリング部での逆マッピング処理での拡大処理の前に予めソースイメージを回転しておくことで、イメージを描画する各バンドからソースイメージへのアクセス時のデータキャッシュヒット率が上がり、イメージ処理を高速にできる。高価なRAMの使用効率を上げることは組込みシステムにおいては必須項目である。
【0053】
回転処理及び拡大処理ともバンド幅毎に区切られて行われるために、扱うデータの容量が制限されて、キャッシュのヒット率が高まる。
【図面の簡単な説明】
【0054】
【図1】逆マッピング処理による90度イメージ回転の説明において、ソースのイメージデータ(A)とデスティネーションのイメージデータ(B)のビットマップ図である。
【図2】図1におけるイメージデータのソース側でのメモリ上のアドレス位置(A)とデスティネーション側でのメモリ上のアドレス位置(B)である。
【図3】キャッシュとRAMへのアクセススピードの違いの説明図である。
【図4】本発明実施例の画像形成装置の機能ブロック図である。
【図5】回転拡大処理での拡大前の同率の逆マッピング処理による90度イメージ回転の説明において、ソースのイメージデータ(A)とデスティネーションのイメージデータ(B)のビットマップ図である。
【図6】図5における回転処理後のソースのイメージデータ(A)と該ソースを元に拡大処理を行ったイメージデータ(B)のビットマップ図である。
【図7】図6におけるソース側のメモリ上のアドレス位置(A)とデスティネーション側でのメモリ上のアドレス位置(B)である。
【図8】本発明実施例の画像形成装置のイメージ処理におけるフローチャートである。
【符号の説明】
【0055】
10 画像形成装置
11 通信インターフェース
12 データ受信部
13 データ解析部
14 描画データ処理部
15 レンダリング処理部
16 出力部
21 回転拡大判断部
22 イメージ回転部
23 イメージ拡大部
24 ビットマップ生成部

【特許請求の範囲】
【請求項1】
印刷データの描画処理を行って印刷出力する画像形成装置であって、
前記印刷データ中に90度又は270度のいずれか一方の回転処理と拡大処理との両方を行うイメージデータが存在するかどうかを判断する回転拡大判断部と、
前記回転拡大判断部において、前記回転処理と前記拡大処理との両方を行うイメージデータが存在すると判断した場合に、拡大を伴わない前記90度又は270度のいずれか一方の回転処理を行うイメージ回転部と、
前記イメージ回転部により前記回転処理の行われたイメージデータの拡大処理を行うイメージ拡大部とを有する
ことを特徴とする画像形成装置。
【請求項2】
請求項1の画像形成装置であって、
前記イメージ回転部は、逆マッピング処理による前記回転処理を行い、
前記イメージ拡大部は、逆マッピング処理による前記拡大処理を行う
ことを特徴とする画像形成装置。
【請求項3】
請求項1又は2の画像形成装置であって、
前記イメージ回転部による回転処理と、前記イメージ拡大部による拡大処理は、バンド幅単位毎に行われる
ことを特徴とする画像形成装置。

【図3】
image rotate

【図4】
image rotate

【図8】
image rotate

【図1】
image rotate

【図2】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2010−130373(P2010−130373A)
【公開日】平成22年6月10日(2010.6.10)
【国際特許分類】
【出願番号】特願2008−303245(P2008−303245)
【出願日】平成20年11月27日(2008.11.27)
【出願人】(000006150)京セラミタ株式会社 (13,173)
【Fターム(参考)】