JP2014050993A - 画像形成装置及び方法及びプログラム及び記憶媒体 - Google Patents

画像形成装置及び方法及びプログラム及び記憶媒体 Download PDF

Info

Publication number
JP2014050993A
JP2014050993A JP2012195620A JP2012195620A JP2014050993A JP 2014050993 A JP2014050993 A JP 2014050993A JP 2012195620 A JP2012195620 A JP 2012195620A JP 2012195620 A JP2012195620 A JP 2012195620A JP 2014050993 A JP2014050993 A JP 2014050993A
Authority
JP
Japan
Prior art keywords
objects
determining whether
image forming
combined
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.)
Pending
Application number
JP2012195620A
Other languages
English (en)
Inventor
Hirokazu Tokumoto
宏和 徳元
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 JP2012195620A priority Critical patent/JP2014050993A/ja
Publication of JP2014050993A publication Critical patent/JP2014050993A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Record Information Processing For Printing (AREA)

Abstract

【課題】 アプリケーションから生成されるプリント画像データには、複雑な大量のオブジェクト(イメージ、グラフィック)が含まれ、ひとつひとつを逐次、中間データへの変換および画像データへの変換処理を行うため、パフォーマンス低下が課題である。
この対策として、単純にひとつのオブジェクト(イメージ、グラフィック)にまとめる処理が従来技術としてあるが、まとめる処理そのものにコストが掛かり十分な高速化の効果が出ていないといった課題がある。
【解決手段】 オブジェクト結合による効果を最大限にするために、結合のためにレンダリングが必要かどうかを判定し必要な場合にのみレンダリング処理を実施する。また、複数の同一オブジェクトに関しては、キャッシュすることで高速化が望めるため結合しない判定を行うことと、結合方式をオブジェクト群の特徴に沿って決定する。
【選択図】 図3

Description

本発明は、画像形成装置に関する。印刷装置等の画像形成装置において、ページ記述言語(PDL)に含まれる複雑な印刷データをまとめ処理により高速で処理する手段を備えた画像形成装置に関するものである。
近年、ブロードバンドによるネットワーク技術やハードウェア技術の向上により、多種多様なアプリケーションおよびページ記述言語が市場に流通している。そのため、一般ユーザーの手によっても、複雑な描画コマンドや、多数の描画オブジェクトを含むアプリケーションデータの作成が可能となってきている。透過や繰り返しパターンなどの視覚効果を生み出すためには、細かい複数の描画オブジェクトを含むアプリケーションデータの流通が多くなっている。
このような複雑で大量の描画オブジェクトを含むアプリケーションデータの印刷には、ページ記述言語の解釈および中間データの生成処理、レンダリングといった一連の印刷内部処理に時間がかかることが多い。したがって、複雑で大量の描画オブジェクトを含むアプリケーションデータの印刷処理時間の短縮が望まれている。
特開平11−198489号公報
複雑で大量の描画オブジェクトを含むページ記述言語を解釈し、そのオブジェクトひとつひとつを逐次、中間データへの変換および画像データへの変換処理を行うため、印刷処理時間の増加が問題となっている。この対策として、単純に、複雑で大量の描画オブジェクトをひとつのオブジェクトにまとめる処理が従来技術としてあるが、まとめる処理そのものにコストが掛かり十分な高速化の効果が出ていないといった課題がある。
本発明に係る画像形成装置の構成は、複雑な大量のオブジェクトを描画するにあたり、一旦オブジェクトをスプールする手段を有し、スプールされたオブジェクト群をひとつにまとめるにあたりレンダリング処理が必要かどうかを判定する手段と、まとめることにより高速化されるかどうか判定する手段と、まとめた後の出力形式を自動判定する手段を有することを特徴とする。
複雑で大量の描画オブジェクトをひとつのオブジェクトにまとめる処理によって得られる効果が最大限になり、印刷内部処理時間が短縮化される。
本発明における画像形成装置102のシステム構成の一例を示した図 本発明における画像形成装置102のモジュール構成の一例を示した図 実施例1におけるPDL処理の最適化のフローチャートを示した図 実施例2、3、4における入出力データを示した図
以下、本発明を実施するための最良の形態について図面を用いて説明する。
図1は、本発明における画像形成装置102のシステム構成の一例を示す図である。
102は画像形成装置であり、202は外部デバイスと情報の入出力を行うためのネットワークI/Fであり、外部デバイスから送信された印刷データを受信する。203は様々な情報を一時格納するRAMである。RAM203は、受信バッファ204、ワークメモリ205、フレームバッファ206、ラスタメモリ207、共有メモリ220からなる。受信バッファ204は、ネットワークI/F202を介して受信した印刷データを格納するメモリである。205は、入力されたデータを中間コードに変換するときに一時的に使用するワークメモリである。206は、プリンタ内部の中間コードなどを格納するフレームバッファである。207は、中間コードを展開したデータを格納するラスタメモリである。220は、CPU1218、またはCPU2219で動作するROM208内のプログラムからアクセス可能な共有メモリである。
208は、画像形成装置102におけるCPU1 218またはCPU2 219の制御コードを格納するROMである。ROM208は、最適化処理部211、PDL解析部209、DL(中間データ)生成部210、展開処理部214、印刷制御部215からなる。209は、受信バッファ204から読み出したデータが、複数種のPDLのどのPDLかを特定し、PDLデータを解析し、所定の処理に振り分けるPDL解析部である。210は、PDL解析部209において解析したデータから中間データを生成し、フレームバッファ206に格納するDL生成部である。214は、フレームバッファ206に格納された中間データを展開したビットマップをラスタメモリ207に格納する展開処理部である。215は、CPU 218とCPU 219で動作する最適化処理部211、PDL解析部209、DL生成部210に、PDLデータの処理を依頼する印刷制御部である。218、219は画像形成装置201の演算処理や制御を行う中央演算処理装置(CPU)である。212はプリンタエンジン213との信号の入出力を行うエンジンI/Fである。213はイメージデータに基づいて、周知の電子写真プロセスによって感光ドラム上に潜像を形成し、用紙に転写して定着し印字を行うプリンタエンジンである。
図2は、本発明における画像形成装置102のモジュール図の一例を示す図である。
CPU 218上で動作するモジュール構成全体を示しており、印刷制御部215の指示・制御によって、最適化処理部211、PDL解析部209とDL生成部210が動作することを示す。これらの制御については、関数コール、プロセス間通信等により行う。CPU 218で動作する印刷制御部215は、印刷制御部215からの制御に従い、受信バッファ204に格納されたPDLデータを読み込み、解析処理を実行する。CPU 218で動作する最適化処理部211は、本発明の中心となるモジュールであり、描画データの内容や個数によってまとめ処理するしないを制御し、データ特性に応じた最適化処理を実施することでその後の処理の高速化を図る。DL生成部210は、印刷制御部215からの制御と最適化処理部211から渡されたデータにより処理を実行し、フレームバッファ206にDLを格納する。このようなモジュール構成により、PDLの解釈処理を実現している。
図3は、本実施例における印刷処理のフローチャートを示す図である。
まず、ステップS301で、ネットワーク204に接続されたPC等から送信されたデータをネットワーク204経由して、ネットワークI/F202が受信し、受信バッファ204に格納する。印刷制御部215は受信バッファ204を読み出し、その読み出し内容とともにPDL解析部209へ解析処理を依頼する。次にステップS303において、PDL解析部209により、読み出したPDL内に含まれるオブジェクトの描画命令を解釈し、その描画の実行を開始する。次に、ステップS303に進み、PDL解析部209が、最適化処理部211に対して描画命令を行う。描画命令に含まれるオブジェクトのサイズが最適化処理部211によって定義されている閾値以下かどうか判定する。閾値以下でない場合は、ステップS307に進む。閾値以下の場合は、ステップS304に進み、重複カウントをインクリメントする。重複カウントは、この後にスプールされたオブジェクトが幾つあるかカウントし、閾値以上オブジェクトがきた場合に最適化処理へと進むよう制御している。
次にステップS305へ進み、重複カウント数が閾値以上かどうかを判定する。まだ、重複カウントが閾値以下の場合は、オブジェクトを結合しないステップS317へ進み、まだ対象オブジェクト数が少ないため結合処理を実施しない。重複カウントが閾値以上の場合は、ステップS306へ進み、オブジェクトデータをスプールし、ステップS302の次のオブジェクト実行を待つ。その後、複数のオブジェクトに対して、描画が実行され、オブジェクトサイズが閾値以上のオブジェクトがきた場合、その前までにスプールされたオブジェクトを一斉に描画するため、ステップS307へ進む。
次に、ステップS308へ進み、スプールされた全オブジェクトにおいて、これらが同一の塗り指定で表現できるかどうかの判定を行う。同一の塗り指定で表現できる場合は、ステップS309に進み、スプールされた全オブジェクトにおいて、これらオブジェクト間で描画領域が重なっているかどうかを判定する。オブジェクト間が重なっていない場合は、ステップS310に進む。ステップS310では、スプールされた全オブジェクトにおいて、これらオブジェクト間で演算を要する論理和指定があるかどうかを判定する。論理和指定がない場合は、ステップS320に進み、レンダリングせずにオブジェクト結合処理を行う。
これらステップS308からS310は、オブジェクトを結合する際に、複雑な描画色の計算を行うレンダリング処理が必要かどうかを判定する処理である。これらの条件に当てはまらないオブジェクト群は、レンダリング処理を行わずしてオブジェクト群の結合が可能なため、単純なオブジェクト結合処理を実施する。次に、ステップS311に進み、同一のオブジェクトが一定比率以上存在するかどうかを判定する。同一オブジェクトが一定比率以上存在する場合は、これらのオブジェクトをまとめるよりも、DL生成部210におけるキャッシュの機構を利用したほうが高速化の見込めるためである。
次にステップS312に進み、オブジェクト群をレンダリングして1つのオブジェクトにまとめる処理にかかる実時間とまとめることによって得られる高速化時間とを比較し、高速化時間のほうが少ない場合はオブジェクト結合を行わない。高速化時間のほうが大きく、高速化の効果が見込める場合は、ステップS313に進む。これらステップS311からS312は、高速化の見込みを考慮して、オブジェクトを結合する、しないの判定を行っている。これらの条件に当てはまらないオブジェクト群は、オブジェクトを結合しないほうが、結果的に高速化が望めるため、結合処理そのものをスキップしている。ステップS313において、スプールされた全オブジェクトにおいてレンダリングを行い、オブジェクトを結合する。
次にステップS314に進み、オブジェクトの結合結果を格納する出力先のメモリが十分獲得可能かどうか判定する。結合結果の出力メモリが十分でない場合は、ステップS318に進み、結合結果をグラフィックパスとして出力する。次にステップS315の結合されたオブジェクトに対して、回転・拡縮命令を伴っているかどうかを判定するステップに進む。回転・拡縮命令を伴っている場合は、イメージに対して実施するよりも、グラフィックパスに対して回転・拡縮命令を実施するほうが高速化されるためである。
次に、ステップS316に進み、水平方向のエッジ数が閾値以上かどうか判定する。水平方向のエッジ数が閾値以上の場合は、その後のレンダリング処理に時間が掛かることが想定されるためにグラフィックパスで出力せずに、ステップS319yへ進みイメージデータに結合する。これら一連の判定・結合処理は、最適化処理部211によって実施される。次に、ステップS321へ進み、結合されたオブジェクトをDL生成部210へ送り、描画を行う中間データを生成する。
図4の(A)は、本実施例における入出力のデータを示す模式図である。本データは、同一のオブジェクトが複数存在する。このようなデータの場合、図3のステップS311によって同一オブジェクトが一定比率以上存在するかどうかの判定で、一定比率以上存在すると判定される。従って、このデータの場合はステップS317に進み、このオブジェクトは予めレンダリングされオブジェクト結合されない。これは、DL生成部210におけるキャッシュの機構を利用し、繰り返し描画したほうが高速化の見込めるためである。
図4の(B)は、本実施例における入出力のデータを示す模式図である。本データは、複数のオブジェクトが垂直に並んでいる。このようなデータが結合される場合、図3のステップS316によって、オブジェクトが保有する水平方向のエッジ数が閾値以上かどうか判定される。このデータの場合、水平方向のエッジ数が2つと少ないため、ステップS318に進み、グラフィックパスに結合される。結合されたグラフィックパスは、まとめられたオブジェクトとしてDL生成部210へと送られる。
図4の(C)は、本実施例における入出力のデータを示す模式図である。本データは、複数のオブジェクトが水平に並んでいる。このようなデータが結合される場合、図3のステップS316によって、オブジェクトが保有する水平方向のエッジ数が閾値以上かどうか判定される。このデータの場合、水平方向のエッジ数が多いため、ステップS319に進み、レンダリングされたイメージデータに結合される。結合されたイメージデータは、まとめられたオブジェクトとしてDL生成部210へと送られる。
図4の(D)は、本実施例における入出力のデータを示す模式図である。本データは、同一塗り指定のオブジェクトが、重ならずに上書きしていで並んでいる。このようなデータが最適化処理部211で処理される場合、図3のステップS308によって、オブジェクト間が同一の塗り指定で表現できるかどうか判定される。このデータの場合、同一の塗り指定で表現できるので、ステップS309へ進み、オブジェクト間で描画領域が重なっているかどうか判定する。このようなデータの場合、オブジェクト間での重なりがないため、ステップS310へ進み、演算を要する論理指定があるかどうか判定する。このデータは全て単純な上書き指定のため、そのままステップS320へ進み、レンダリングせずにオブジェクトをグラフィックパスとして結合される。
209 PDL解析部
210 DL生成部
211 最適化処理部
215 印刷制御部
218 CPU

Claims (4)

  1. 複雑な大量のオブジェクトを描画するにあたり、一旦オブジェクトをスプールする手段を有し、スプールされたオブジェクト群をひとつにまとめるにあたりレンダリング処理が必要かどうかを判定する手段と、まとめることにより高速化されるかどうか判定する手段と、まとめた後の出力形式を自動判定する手段を有することを特徴とする画像形成装置。
  2. スプールされたオブジェクト群をひとつにまとめるにあたりレンダリング処理が必要かどうかを判定する手段とは、まとめ対象となるオブジェクト群が同一の塗り指定で表現できるか判定する手段と、まとめ対象となるオブジェクト群の描画領域が重なっているかどうか判定する手段と、まとめ対象となるオブジェクト群が演算を有する論理和指定となっているか判定し、これらの判定結果からレンダリングせずにオブジェクトを結合する手段を有することを特徴とする請求項1に記載の画像形成装置。
  3. まとめることにより高速化されるかどうか判定する手段とは、まとめ対象となるオブジェクト群に、同一のオブジェクトが一定比率以上存在するかどうか判定する手段と、まとめ処理に掛かる時間のほうが高速化によって得られる効果のほうが大きいかどうか推定する手段と、これらの判定結果からオブジェクトを結合するしないを決定する手段を有することを特徴とする請求項1に記載の画像形成装置。
  4. まとめた後の出力形式を自動判定する手段とは、まとめ対象となるオブジェクト群に、回転・拡大・縮小命令を伴っているかどうか判定する手段と、水平方向のエッジ数が閾値以上かどうか判定する手段と、これらの判定結果から結合したオブジェクトをグラフィックスで出力するか、イメージで出力するか決定する手段を有することを特徴とする請求項1に記載の画像形成装置。
JP2012195620A 2012-09-06 2012-09-06 画像形成装置及び方法及びプログラム及び記憶媒体 Pending JP2014050993A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012195620A JP2014050993A (ja) 2012-09-06 2012-09-06 画像形成装置及び方法及びプログラム及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012195620A JP2014050993A (ja) 2012-09-06 2012-09-06 画像形成装置及び方法及びプログラム及び記憶媒体

Publications (1)

Publication Number Publication Date
JP2014050993A true JP2014050993A (ja) 2014-03-20

Family

ID=50609941

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012195620A Pending JP2014050993A (ja) 2012-09-06 2012-09-06 画像形成装置及び方法及びプログラム及び記憶媒体

Country Status (1)

Country Link
JP (1) JP2014050993A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016038801A (ja) * 2014-08-08 2016-03-22 キヤノン株式会社 画像処理装置、画像処理方法、プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016038801A (ja) * 2014-08-08 2016-03-22 キヤノン株式会社 画像処理装置、画像処理方法、プログラム
US9619740B2 (en) 2014-08-08 2017-04-11 Canon Kabushiki Kaisha Image processing apparatus and image processing method

Similar Documents

Publication Publication Date Title
US11727527B2 (en) Programmable coarse grained and sparse matrix compute hardware with advanced scheduling
DE102018110380A1 (de) Tool zum Ermöglichen der Effizienz beim Maschinenlernen
DE102020124932A1 (de) Vorrichtung und Verfahren zur Echtzeit-Grafikverarbeitung mittels lokaler und cloudbasierter Grafikverarbeitungsbetriebsmittel
DE102018119225A1 (de) System und Verfahren für einen optimierten Winograd-Faltungsbeschleuniger
CN116362310A (zh) 在推断期间中对图形处理器的协调和增加利用
CN108805793A (zh) 乘法-累加"0"数据门控
CN117556868A (zh) 用于自主机器的机器学习中的即时深度学习
CN108694080A (zh) 高效线程组调度
CN108734642A (zh) 对机器学习模型的动态分布训练
DE102018110687A1 (de) Dynamisches Genauigkeitsmanagement für Deep-Learning-Ganzzahlprimitive
DE102018110371A1 (de) Intelligente speicherhandhabung und datenmanagement für maschinenlernnetzwerke
DE102020115026A1 (de) Systeme und Verfahren zur Tonabbildung von Bildern mit hohem Dynamikumfang für auf tiefem Lernen basierende Verarbeitung von hoher Qualität
CN109643461B (zh) 用于在光线追踪架构内对多个连续光线-表面相交点进行正确排序和枚举的方法和设备
CN108805281A (zh) 图形处理单元生成对抗网络
CN108734298A (zh) 扩展gpu/cpu一致性到多gpu核
CN110326021A (zh) 用于图形处理器上的加速计算的执行单元共享混合技术
DE102020108476A1 (de) Mechanismus zum Ausführen nichtlinearer Funktionen in einem Beschleuniger des maschinellen Lernens
DE112017003234T5 (de) Reduzieren von Speicherzugrifflatenzen während der Strahltraversierung
DE112020000854T5 (de) Thread-gruppen-planung für die grafikverarbeitung
DE112017000864T5 (de) Strahlenkomprimierung für effizientes Verarbeiten von Grafikdaten bei Rechenvorrichtungen
DE102018110346A1 (de) Speichersystem für dnn-ausgaben für die black box
US11720769B2 (en) Methods and systems for enhancing raster image processing using artificial intelligence
DE102020130865A1 (de) Anweisungen und logik für vektor-multiplikation-addition mit zero-skipping
DE112020000848T5 (de) Skalarkernintegration
DE102018110719A1 (de) Hardwareimplementierte Punkt-zu-Punkt-Kommunikationsprimitive zum Maschinenlernen