(57)【要約】【課題】  画像形成装置おけるイメージデータの回転処理において、ソースイメージが格納されるアドレスへの離散した値へのアクセスによりキャッシュヒット率が低下し、メモリアクセス回数が増加して前記回転処理速度が低下することを防ぐ。【解決手段】  ＰＤＬ（ページ記述言語）データを入力として、バンド単位にラスタライズを行い印刷出力する画像形成装置に関して、イメージの拡大処理を行い、かつ９０度回転の処理が必要とするデータが存在するかを判断し、該当する場合にはソースイメージを予め回転しておき、その後に拡大処理を行う方法により、イメージを逆マッピングして描画する際にソースイメージ領域へのキャッシュヒット率を高めることが可能となり、結果としてイメージ処理速度が向上した。【選択図】図１
2010130373.tif 000002
【特許請求の範囲】
【請求項１】
印刷データの描画処理を行って印刷出力する画像形成装置であって、
前記印刷データ中に９０度又は２７０度のいずれか一方の回転処理と拡大処理との両方を行うイメージデータが存在するかどうかを判断する回転拡大判断部と、
前記回転拡大判断部において、前記回転処理と前記拡大処理との両方を行うイメージデータが存在すると判断した場合に、拡大を伴わない前記９０度又は２７０度のいずれか一方の回転処理を行うイメージ回転部と、
前記イメージ回転部により前記回転処理の行われたイメージデータの拡大処理を行うイメージ拡大部とを有する
ことを特徴とする画像形成装置。
【請求項２】
請求項１の画像形成装置であって、
前記イメージ回転部は、逆マッピング処理による前記回転処理を行い、
前記イメージ拡大部は、逆マッピング処理による前記拡大処理を行う
ことを特徴とする画像形成装置。
【請求項３】
請求項１又は２の画像形成装置であって、
前記イメージ回転部による回転処理と、前記イメージ拡大部による拡大処理は、バンド幅単位毎に行われる
ことを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
画像形成装置において、逆マッピング処理におけるイメージ処理時にアクセスデータのキャッシュヒット率を高めて処理を高速に行う技術に関するものである。
【背景技術】
【０００２】
ＰＤＬ（ページ記述言語）を中間言語に変換し、該中間言語をバンド単位にラスタライズする画像形成装置において、入力したソースイメージを拡大、縮小および回転などの変形を実現するとき、イメージ処理結果となるデスティネーションイメージのピクセルからソースイメージのどのピクセルに該当するかを探索して、デスティネーションに割り当てる逆マッピング処理（リバースマッピング処理）と呼ばれる手法がある。
【０００３】
この逆マッピング処理について、バンド単位にラスタライズするプリンタシステムでは、中間言語であるディスプレイリストをバンド境界で分割して描画する。また、イメージを９０度もしくは２７０度で回転する処理を実行するときには、ソースイメージが格納されるメモリアドレスに対して、飛び飛びのアドレスにアクセスすることになり、キャッシュヒットが成功せず結果的にメモリアクセス回数が増えて処理速度が遅くなる問題がある。
【０００４】
印刷物に画像が用いられることは一般的であり、プリンタ処理が遅いイメージ処理について高速に処理する方法が必要である。
【０００５】
従来技術として、逆マッピング関数変換を使用したイメージデータの画像変換処理において、逆マッピング関数変換の対象となるデータの最も外側のイメージデータをその外側にあらかじめコピーし格納した後、逆マッピング変換を行う方法がある。この方法によれば、逆マッピング関数変換の誤差によりイメージ座標の領域外に出たデータをイメージ空間上のピクセルデータとしてそのまま使用することが可能である（特許文献１参照）。
【０００６】
また、他の従来技術として、イメージ回転処理の高速化のためにイメージをあらかじめ分割して、ワードバウンダリに合わせてデフォルメすることによりイメージ処理を行う方法がある（特許文献２参照）。
【０００７】
しかし、これらのいずれの方法によっても、イメージ回転処理に伴うソースイメージデータのとびとびの値へのアクセスによりキャッシュヒット率が低下する問題を解決することはできない。
【特許文献１】特開平０７−４４７３０号公報
【特許文献２】特開２００８−６８０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
解決しようとする問題点は、画像形成装置おけるイメージデータの回転処理において、ソースイメージが格納されるアドレスへの離散した値へのアクセスによりキャッシュヒット率が低下し、メモリアクセス回数が増加して前記回転処理速度が低下することを防げない点である。
【課題を解決するための手段】
【０００９】
本発明の画像形成装置は、印刷データの描画処理を行って印刷出力する画像形成装置であって、前記印刷データ中に９０度又は２７０度のいずれか一方の回転処理と拡大処理との両方を行うイメージデータが存在するかどうかを判断する回転拡大判断部と、前記回転拡大判断部において前記回転処理と前記拡大処理との両方を行うイメージデータが存在すると判断した場合に、拡大を伴わない前記９０度又は２７０度のいずれか一方の回転処理を行うイメージ回転部と、前記イメージ回転部により前記回転処理の行われたイメージデータの拡大処理を行うイメージ拡大部とを有することを特徴とする。
【００１０】
また、本発明の画像形成装置の前記イメージ回転部は、逆マッピング処理による前記回転処理を行い、前記イメージ拡大部は、逆マッピング処理による前記拡大処理を行うことを特徴とするとしてもよい。
【００１１】
また、本発明の画像形成装置の前記イメージ回転部による回転処理と、前記イメージ拡大部による拡大処理は、バンド幅単位毎に行われることを特徴としてもよい。
【発明の効果】
【００１２】
本発明の画像形成装置は、印刷データの描画処理を行って印刷出力する画像形成装置であって、前記印刷データ中に９０度又は２７０度のいずれか一方の回転処理と拡大処理との両方を行うイメージデータが存在するかどうかを判断する回転拡大判断部と、前記回転拡大判断部において、前記回転処理と前記拡大処理との両方を行うイメージデータが存在すると判断した場合に、拡大を伴わない前記９０度又は２７０度のいずれか一方の回転処理を行うイメージ回転部と、前記イメージ回転部により前記回転処理の行われたイメージデータの拡大処理を行うイメージ拡大部とを有することを特徴とする。
【００１３】
このため、あらかじめ回転されたイメージデータを拡大するときには、アクセスするデータが連続して並ぶために、キャッシュのヒット率が低下することなく拡大処理が行われ、回転・拡大のトータルの描画処理の速度が向上した。
【００１４】
また、本発明の画像形成装置の前記イメージ回転部は、逆マッピング処理による前記回転処理を行い、前記イメージ拡大部は、逆マッピング処理による前記拡大処理を行うことを特徴とするとしてもよい。
【００１５】
このため、イメージ拡大部が逆マッピング処理によってアクセスするソースデータがあらかじめ回転処理により連続に並んでいるため、キャッシュのヒット率が上がる。
【００１６】
また、本発明の画像形成装置の前記イメージ回転部による回転処理と、前記イメージ拡大部による拡大処理は、バンド幅単位毎に行われることを特徴としてもよい。
【００１７】
このため、バンド幅によりデータサイズが区切られるためにアクセスされるデータ量が制限され、キャッシュヒット率が高まる。
【発明を実施するための最良の形態】
【００１８】
画像形成装置おけるイメージデータの回転処理において、ソースイメージが格納されるアドレスへの離散した値へのアクセスによりキャッシュヒット率が低下して処理速度が遅くなるという問題をイメージデータの９０度又は２７０度の回転処理と拡大処理が伴う場合には、最初に前記回転処理を行った後に、前記拡大処理を行う方法により解決した。
【実施例】
【００１９】
［逆マッピング処理について］
逆マッピング処理は、処理後に得られるイメージであるデスティネーションイメージの先頭から順にピクセルを参照して処理される元イメージであるソースイメージのどのピクセルに該当するかを計算で求める手法である。これは、予めデスティネーションでピクセルを１ずらしたとき、ソースイメージ上での現在位置からどれだけ移動したピクセルを参照するかの変化量（ベクトル）を求めておいて特定する。
【００２０】
例えば、図１に示すようにイメージを左９０度回転する場合について、デスティネーションのピクセル位置(x, y)に対応するソースのピクセル(s, t)とする。９０度回転のときは、変化量(sx, sy) = (０, １)である。デスティネーションのピクセル位置(x+１, y)を求めるとき、ソースイメージ上の位置は(s, t) = (s+sx, t+sy)で求めることができる。
【００２１】
この場合、９０度回転処理時の各イメージデータのＲＡＭ（Random Access Memory）上でのアドレスは図２のようになる。ここで、デスティネーションイメージへは図２（Ｂ）のように連続した領域を順次アクセスするのに対して、ソースイメージは図２（Ａ）のようにアクセスピクセル毎にアドレスが飛んでいる。
【００２２】
またハードウェア構成上、図３に示すようにＣＰＵとキャッシュ間のアクセス速度（データ転送速度）ｖ１と、ＣＰＵとＲＡＭ間のアクセス速度ｖ２は、ｖ１＞ｖ２の関係であることが通常である。
【００２３】
そのため、イメージデータがキャッシュ内に含まれていれば、ＲＡＭにアクセスすることなく、高速のキャッシュへのアクセスだけで処理が進行するため、処理速度が高速化するが、キャッシュの量には上限があり、図２（Ａ）のように離散したデータにアクセスする場合には、離散したデータ領域がキャッシュデータの上限内に収まらず、キャッシュヒット率が低下してしまう。
【００２４】
そこで、キャッシュヒット率を高めるために、９０度又は２７０度回転処理と拡大処理とを伴うイメージデータについては、先に拡大処理を伴わない同率の回転処理を行っておき、その後に拡大処理を行う方法により、拡大処理時のキャッシュヒット率を高めて、トータルでの処理の高速化を実現する。
【００２５】
［構成］
本発明実施例に係る画像形成装置１０の機能ブロック図を図４に示す。以下に各機能部について説明する。
【００２６】
通信インターフェース１１は、ホストコンピュータ等との通信を行う。
【００２７】
データ受信部１２は、通信インターフェースを介してデータを受信する。
【００２８】
データ解析部１３は、送られてきたデータの解析を行なう。このデータ（入力データ、又は印刷データとも呼ばれる）は、一般的にＰＤＬ（ページ記述言語）により記載されており、データ解析部１３によりその内容が解析される。
【００２９】
描画データ処理部１４は、データ解析部１３が解析した結果に基づいて前記データを処理する。具体的にはＰＤＬ（ページ記述言語）で記載されているデータをバンド単位毎に区切って、中間言語である、ディスプレイリストに変換する。
【００３０】
レンダリング処理部１５は、描画データ処理部１４で作成されたディスプレイリストからＶＲＡＭ（Video Random Access Memory）にビットマップを作成するレンダリング処理を行う。レンダリング処理は、バンド幅単位毎に行われる。
【００３１】
レンダリング処理部１５は、さらに本発明の本質的な機能を担う回転拡大判断部２１、イメージ回転部２２、イメージ拡大部２３、ビットマップ生成部２４の各機能部を有する。
【００３２】
回転拡大判断部２１は、ディスプレイリスト中に９０度又は２７０度のいずれか一方の回転処理が伴うイメージデータが存在するかどうか、さらにそのイメージデータを拡大処理するかどうかについて判断する。
【００３３】
イメージ回転部２２は、前記回転拡大判断部２１によって、ディスプレイリスト中に９０度又は２７０度の回転処理を伴い、かつ、拡大処理するイメージデータの存在することを判断したときには、あらかじめ拡大処理を伴わない１対１（同率）の回転処理を行う。この回転処理は前記した逆マッピング処理によって行われる。
【００３４】
イメージ拡大部２３は、前記イメージ回転部２２によりあらかじめ回転処理を終えたイメージの拡大処理を行う。この拡大処理は前記した逆マッピング処理によって行われる。
【００３５】
ビットマップ生成部２４は、前記イメージ回転部２２及びイメージ拡大部２３で処理されたイメージデータ及びその他のデータを含む全ての中間言語データについての描画処理を行って、出力部１６で出力するためのビットマップデータを生成する。
【００３６】
出力部１６は、実際に紙などの記録媒体に印刷を行なう。
【００３７】
［回転処理］
前記したデータ解析部１３及び描画データ処理部１４において、ＰＤＬ（ページ記述言語）を解釈しディスプレイリストを生成するが、その際に回転拡大判断部２１がイメージデータの変形処理を検知する。つまり、入力されるイメージの変倍率から、イメージを拡大する場合、さらにディスプレイリスト作成で計算するイメージ処理の変換量（スキャンベクトル）を求めるとき、９０度、２７０度で回転するかどうかを判断する。つまり、スキャンベクトルが次にあてはまるときに、イメージ回転部２２でソースイメージを回転しておく（図５参照）。
【００３８】
(sx, sy) = (０, ty)  (t：拡大要素)
９０度回転したデータは、スキャンベクトルに反映させる、
(sx, sy) = (tx, ０)
回転処理を終えた後、レンダリング処理部１５でディスプレイリストを解釈して、拡大処理を行う。
【００３９】
縦２倍、横２倍への拡大処理の例についての説明を図６に示す。拡大されるデスティネーション側のデータを示す図６（Ｂ）においては、デスティネーションデータのビットマップ上でのピクセルｄ１ａ、ｄ１ｂ、ｄ１ｃ、ｄ１ｄは、ソース側のデータを示す図６（Ａ）のソースデータのピクセルｓ１を参照する（以下、ｄ２からｄ６でも同様）。
【００４０】
この場合のこれらの関連データ（各ピクセルのデータ）のアドレス上のマップを図７に示す。デスティネーション（図７（Ｂ））が参照するソースの値（図７（Ａ））は、すでに回転処理を終えているためにデータの並びが連続である。
【００４１】
このため、図２（Ａ）で示したようなとびとびのソースの値にアクセスすることがなくなり、キャッシュのヒット率の低下がない。
【００４２】
ここで、拡大時のみに予め回転をする理由は、ソースイメージのサイズに起因する。拡大処理時には、
ソースイメージサイズ  ＜  デスティネーションサイズ
であるので、ソースイメージを予め回転しても、処理速度が下がることは少ないためである。
【００４３】
逆に縮小時は、ソースイメージサイズが大きいので、予めソースイメージを回転すると、メモリアクセス数が多くなり処理に時間がかかる。さらに、一時的に必要となるメモリ量も多くなるため、縮小時はレンダリング処理部１５において、従来どおり逆マッピング処理を実施する。
【００４４】
［フローチャート］
図８は、画像形成装置１０におけるイメージ処理についてのフローチャートである。
【００４５】
Ｓ６０１:データ受信部１２は、ＰＤＬ（ページ記述言語）により記載された印刷データを受信する。
【００４６】
Ｓ６０２:Ｓ６０６までの間、ジョブの終わり、ファイルの終端までループを形成する。
【００４７】
Ｓ６０３:回転拡大判断部２１は、描画データを処理する際にデータがイメージ処理かどうかを判断する。イメージデータの処理であれば、動作をＳ６０４に移行する。そうでなければ、Ｓ６０６に移行する。
【００４８】
Ｓ６０４: 回転拡大判断部２１は、Ｓ６０３でイメージ処理の場合、当該イメージデータに対して９０度、又は２７０度のいずれか一方の回転処理が伴うか、さらに、当該イメージの拡大処理が伴うかを判断する。上記の条件を満たす場合には、動作をＳ６０５に移行する。そうでなければ、Ｓ６０６に移行する。
【００４９】
Ｓ６０５:Ｓ６０４の条件が満たされたので、イメージ回転部２２は、逆マッピング処理によりソースのイメージデータを指定の回転角（９０度、又は２７０度）で回転する。回転処理後、イメージ拡大部２３は、逆マッピング処理により回転処理の終わったイメージデータの拡大処理を行う。
【００５０】
Ｓ６０６: データ解析部１３および描画データ処理部１４でＰＤＬ（ページ記述言語）を解釈して、描画命令に対するディスプレイリストを作成する。
【００５１】
以上により、描画データ処理部１４及びレンダリング処理部１５による、イメージデータの回転及び拡大、中間言語の生成が終了し、この後、ビットマップ生成部２４により、中間言語データがビットマップ化され、ビットマップデータは、出力部１６に渡されて印刷出力される。
【００５２】
［実施例の効果］
９０度又は２７０度回転、拡大のイメージに対して、レンダリング部での逆マッピング処理での拡大処理の前に予めソースイメージを回転しておくことで、イメージを描画する各バンドからソースイメージへのアクセス時のデータキャッシュヒット率が上がり、イメージ処理を高速にできる。高価なＲＡＭの使用効率を上げることは組込みシステムにおいては必須項目である。
【００５３】
回転処理及び拡大処理ともバンド幅毎に区切られて行われるために、扱うデータの容量が制限されて、キャッシュのヒット率が高まる。
【図面の簡単な説明】
【００５４】
【図１】逆マッピング処理による９０度イメージ回転の説明において、ソースのイメージデータ（Ａ）とデスティネーションのイメージデータ（Ｂ）のビットマップ図である。
【図２】図１におけるイメージデータのソース側でのメモリ上のアドレス位置（Ａ）とデスティネーション側でのメモリ上のアドレス位置（Ｂ）である。
【図３】キャッシュとＲＡＭへのアクセススピードの違いの説明図である。
【図４】本発明実施例の画像形成装置の機能ブロック図である。
【図５】回転拡大処理での拡大前の同率の逆マッピング処理による９０度イメージ回転の説明において、ソースのイメージデータ（Ａ）とデスティネーションのイメージデータ（Ｂ）のビットマップ図である。
【図６】図５における回転処理後のソースのイメージデータ（Ａ）と該ソースを元に拡大処理を行ったイメージデータ（Ｂ）のビットマップ図である。
【図７】図６におけるソース側のメモリ上のアドレス位置（Ａ）とデスティネーション側でのメモリ上のアドレス位置（Ｂ）である。
【図８】本発明実施例の画像形成装置のイメージ処理におけるフローチャートである。
【符号の説明】
【００５５】
１０  画像形成装置
１１  通信インターフェース
１２  データ受信部
１３  データ解析部
１４  描画データ処理部
１５  レンダリング処理部
１６  出力部
２１  回転拡大判断部
２２  イメージ回転部
２３  イメージ拡大部
２４  ビットマップ生成部
【図３】
2010130373.tif 000003
【図４】
2010130373.tif 000004
【図８】
2010130373.tif 000005
【図１】
2010130373.tif 000006
【図２】
2010130373.tif 000007
【図５】
2010130373.tif 000008
【図６】
2010130373.tif 000009
【図７】
2010130373.tif 000010