JP2021115764A - 画像処理装置、画像処理方法 - Google Patents

画像処理装置、画像処理方法 Download PDF

Info

Publication number
JP2021115764A
JP2021115764A JP2020010327A JP2020010327A JP2021115764A JP 2021115764 A JP2021115764 A JP 2021115764A JP 2020010327 A JP2020010327 A JP 2020010327A JP 2020010327 A JP2020010327 A JP 2020010327A JP 2021115764 A JP2021115764 A JP 2021115764A
Authority
JP
Japan
Prior art keywords
image processing
intermediate data
information group
data
generated
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
JP2020010327A
Other languages
English (en)
Other versions
JP2021115764A5 (ja
Inventor
貴士 宮ノ前
Takashi Miyanomae
貴士 宮ノ前
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 JP2020010327A priority Critical patent/JP2021115764A/ja
Priority to US17/148,936 priority patent/US11405520B2/en
Publication of JP2021115764A publication Critical patent/JP2021115764A/ja
Priority to US17/838,484 priority patent/US11637944B2/en
Publication of JP2021115764A5 publication Critical patent/JP2021115764A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/21Intermediate information storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1803Receiving particular commands
    • G06K15/1806Receiving job control commands
    • G06K15/1809Receiving job control commands relating to the printing process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1827Accessing generic data, e.g. fonts
    • G06K15/1828Accessing generic data, e.g. fonts characterized by the kind of storage accessed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1849Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1867Post-processing of the composed and rasterized print image
    • G06K15/1869Depleting the print image
    • G06K15/1871Depleting the print image with provisions for image features conservation or enhancement, e.g. conservation or enhancement of zone edges

Abstract

【課題】 メモリが不足して画像処理を継続できないような印刷データであっても、該印刷データに基づく中間データの生成を可能にする技術を提供すること。【解決手段】 印刷データに基づく中間データの生成で用いる情報群を該印刷データに基づいて生成し、該情報群を外部記憶装置に格納する。情報群を用いて中間データを生成し、該生成した中間データに基づいてレンダリングを行うことでラスタ画像を生成する。【選択図】 図1

Description

本発明は、印刷データに基づく中間データの生成に関するものである。
大判機等、使用する印刷用紙のサイズが特別に大きいプリンタ装置の場合は、印刷ジョブを投入しても印刷が困難なケースが存在する。特に、ジョブのページ中に極めて大きな画像が埋め込まれている場合や、非常に多くの図形データ等が含まれる場合等は、該ページを処理する途中の段階でメモリ不足に陥ってしまい、処理が続行できない場合がある。一般に、プリンタドライバやプリンタコントローラは、いずれも定められたハードウェアリソース(例えばプロセスに割り当てられるメモリには制限がある)で処理するように構成されているために、何らかの対策を講じる必要がある。
従来、印刷ジョブの処理時にメモリが不足し、処理を継続できない場合の対策の一例として、特許文献1や特許文献4に記載の方法が知られている。特許文献1には、メモリが不足した時点(メモリアロックが出来ない等)で、処理プログラムがメモリに記録されている内部データ(中間データ等)を用いて画像形成(レンダリング)を実施することによりそれまでに蓄えたデータを解放することでデータサイズを削減する等の方法が開示されている。これらの技術に加え、合成処理によってデータサイズを削減する方法(フラット化)も提案されている(特許文献2、特許文献3)。
従来の印刷システムの構成例について、図2(A)のブロック図を用いて説明する。図2(A)に示す印刷システムは、コンピュータ200と、画像処理装置100と、を有する。
コンピュータ200が有する生成部201は、印刷対象データ202から印刷データ203を生成する。画像処理装置100は、入力部204と、解析部205と、処理部206と、出力部207と、を有する。入力部204は、生成部201が生成した印刷データ203を受け取る。解析部205は、入力部204が受け取った印刷データ203を解析して、描画命令を抽出する。処理部206は、生成部208と、レンダリング部209と、を有する。生成部208は、解析部205で抽出した描画命令から描画情報210と画像211とを抽出して中間データを生成する。該中間データを生成する時、生成部208は、中間データ生成のための内部データを生成する。このようなデータは、通常は、画像処理装置100内のRAMに格納されている。図4は、フラット化によってメモリが削減される様子を示す図である。フラット化を実施することでメモリが削減され、処理を継続することが可能となる。
特開2011−61555号公報 特開2018−152113号公報 特開2017−194932号公報 特開平06−261202号公報
上述のように、画像処理を継続するために内部メモリの縮退処理(中間データを処理する際に利用する内部データを、最終的にスプールアウトする中間データと類似の構造として保持し、メモリが不足した場合にフラット化と呼ばれる処理で統合する処理等)によりデータ削減を実施している。しかしながら、この方式では、利用可能なメモリが徐々に少なくなってくると再びフラット化を実施する必要がある。ワーストケースではフラット化が繰り返される。
図6は、フラット化を繰り返した結果、メモリが不足する例を示したグラフである。縦軸はメモリの使用量(GB)を示しており、横軸は処理時間(分)を示している。なお、縦軸の最大値2GBが、この例におけるメモリ最大容量としている。3回のフラット化が発生してメモリ使用量が削減されているが、処理時間T時点ではメモリ使用量が最大値2GBに到達しており、メモリ不足が発生している。このようにフラット化を実施してもメモリ不足が発生し、処理を継続出来ないケースが存在する。本発明では、メモリが不足して画像処理を継続できないような印刷データであっても、該印刷データに基づく中間データの生成を可能にする技術を提供する。
本発明の一様態では、画像処理装置であって、印刷データに基づく中間データの生成で用いる情報群を該印刷データに基づいて生成し、該情報群を、前記画像処理装置に接続されている外部記憶装置に格納する生成手段と、前記情報群を用いて前記中間データを生成し、該生成した中間データに基づいてレンダリングを行うことでラスタ画像を生成するレンダリング手段とを備えることを特徴とする。
本発明の構成によれば、メモリが不足して画像処理を継続できないような印刷データであっても、該印刷データに基づく中間データの生成ができる。
コンピュータ装置のハードウェア構成例を示すブロック図。 (A)は従来の印刷システムの構成例を示すブロック図、(B)は第1の実施形態に係る印刷システムの構成例を示すブロック図。 内部データの構成例を示す図。 フラット化によってメモリが削減される様子を示す図。 画像処理装置100の動作を示すフローチャート。 フラット化を繰り返した結果、メモリが不足する例を示したグラフ。 画像処理装置100の動作を示すフローチャート。 画像処理装置100の動作を示すフローチャート。 ステップS2002をステップS3000に置き換えたことによる性能の改善の一例を示す図。 画像処理装置100の動作を示すフローチャート。
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
[第1の実施形態]
まず、本実施形態に係る印刷システムの構成例について、図2(B)のブロック図を用いて説明する。図2(B)に示す如く、本実施形態に係る印刷システムは、コンピュータ200と画像処理装置100とを有する。コンピュータ200および画像処理装置100は、無線および/または有線のネットワークに接続されており、該ネットワークを介して互いにデータ通信が可能なように構成されている。
まず、コンピュータ200について説明する。印刷対象データ202は、画像やテキストなどの印刷対象のデータである。生成部201は、このような印刷対象データ202から印刷データ203を生成し、該生成した印刷データ203を画像処理装置100に対して出力する。
次に、画像処理装置100について説明する。入力部204は、コンピュータ200から出力された印刷データ203を取得する。解析部205は、該印刷データ203を解析して、描画命令(描画コマンド)を生成する。
処理部250は、生成部251およびレンダリング部252を有する。生成部251は描画コマンドから描画情報210と画像211を抽出して中間データを生成するが、中間データを生成する際に用いる情報群を適宜外部記憶装置としてのHD(ハードディスク)114に格納し、該格納された情報群を用いて中間データを生成する。この情報群を以下では内部データと称する場合がある。レンダリング部252は、生成部251が生成した中間データに基づいてレンダリングを行うことでラスタ画像を生成する。
出力部207は、レンダリング部252により生成されたラスタ画像を出力データ212として出力する。出力データの出力先は特定の出力先に限らない。例えば、出力部207は、出力データ212を、画像処理装置100内もしくは画像処理装置100外の印刷部に出力して、該出力データ212に基づく画像や文字を紙などの印刷媒体に印刷させてもよい。また、出力部207は、出力データ212を画像処理装置100内もしくは画像処理装置100外のメモリに対して出力してもよい。
画像処理装置100の上記の各機能部はハードウェアで実装してもよいが、ソフトウェア(コンピュータプログラム)で実装してもよい。後者の場合、このコンピュータプログラムを実行可能なコンピュータ装置は、画像処理装置100に適用することができる。本実施形態では、後者のケースについて説明する。このようなコンピュータ装置のハードウェア構成例について、図1のブロック図を用いて説明する。
CPU101は、RAM102やROM(フォントROM103、プログラムROM104、データROM105)に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりCPU101は、画像処理装置100全体の動作制御を行うとともに、画像処理装置100が行うものとして説明する各処理を実行もしくは制御する。なお、本実施形態のCPU101は、マルチコアのCPUであるものとするが、画像処理装置100が複数のCPUを有していても良い。
RAM102は、ROM(フォントROM103、プログラムROM104、データROM105)やHD114からロードされたコンピュータプログラムやデータを格納するためのエリアを有する。さらにRAM102は、通信部110により外部(例えば上記のコンピュータ200)から受信したコンピュータプログラムやデータを格納するためのエリアを有する。さらにRAM102は、CPU101が各種の処理を実行する際に用いるワークエリアを有する。このようにRAM102は、各種のエリアを適宜提供することができる。
フォントROM103には、各種のフォントのデータが格納されている。プログラムROM104には、画像処理装置100が行うものとして説明する各処理をCPU101に実行もしくは制御させるためのコンピュータプログラムが格納されている。データROM105には、画像処理装置100が行うものとして説明する各処理をCPU101に実行もしくは制御させるためのデータが格納されている。
KBC(キーボードコントローラ)107は、ユーザがKB112を操作することで入力した指示や情報をCPU101に通知する。なお、画像処理装置100において使用可能なユーザインターフェースはキーボードに限らず、マウスやタッチパネル画面なども適用可能である。
表示制御部108は、表示部113の表示制御を行う。表示部113は液晶画面やタッチパネル画面などの表示画面を有する表示装置であり、CPU101による処理結果を画像や文字などでもって表示することができる。なお、表示部113は、画像や文字を投影するプロジェクタなどの投影装置であってもよい。
HD制御部109は、HD114に対するコンピュータプログラムやデータの読み書きを制御する。HD114には、各種のコンピュータプログラムやデータを格納することができる。なおHD114は画像処理装置100に接続されている外部記憶装置の一例であり、他の種類のメモリ装置を用いても構わない。
通信部110は、コンピュータ200との間のデータ通信を行う。CPU101、RAM102、フォントROM103、プログラムROM104、データROM105、KBC107、表示制御部108、HD制御部109、通信部110、は何れもバス106に接続されている。
次に、画像処理装置100の動作について、図5のフローチャートに従って説明する。ステップS1000における処理は、解析部205において行われる。ステップS1000では、解析部205は、印刷データ203を解析して、ページごとの描画命令(描画コマンド)を生成する。
ステップS1001〜S1008における処理は、生成部251において行われる。ステップS1001では、生成部251は、ページの描画コマンドから、該ページにおける塗りに関する塗り情報を生成し、該生成した塗り情報をHD114に格納する。
ステップS1002では、生成部251は、ステップS1001で生成したページにおける塗り情報の数が閾値を超えるか否かを判断する。この判断の結果、ステップS1001で生成したページにおける塗り情報の数が閾値を超える場合には、処理はステップS1004に進み、ステップS1001で生成したページにおける塗り情報の数が閾値を超えない場合には、処理はステップS1003に進む。
ステップS1003では、生成部251は、まだステップS1001の対象となっていないページの描画コマンドが残っているか否かを判断する。この判断の結果、まだステップS1001の対象となっていないページの描画コマンドが残っている場合には、処理はステップS1001に進む。一方、ステップS1001の対象となっていないページの描画コマンドはもう残っていない場合には、処理はステップS1004に進む。
ステップS1004では、生成部251は、ページの描画コマンドから、該ページ上のオブジェクトの合成に係る合成情報を生成し、該生成した合成情報をHD114に格納する。
ステップS1005では、生成部251は、ページの描画コマンドから、該ページ上のオブジェクトのエッジに関するエッジ情報を生成し、該生成したエッジ情報をHD114に格納する。
このように、本実施形態では、描画コマンドから中間データを生成するために用いられる情報群(塗り情報、合成情報、エッジ情報)を内部データとしてHD114に格納する。内部データの構成例を図3に示す。図3に示す如く、内部データ300は、エッジ情報213、合成情報214、塗り情報215を含む。
ステップS1005gでは、生成部251は、HD114に格納した上記の内部データを適宜参照してページの中間データを生成し、該生成した中間データをHD114に格納する。
ステップS1006では、生成部251は、まだステップS1001の対象となっていないページの描画コマンドが残っているか否かを判断する。この判断の結果、まだステップS1001の対象となっていないページの描画コマンドが残っている場合には、処理はステップS1001に進む。一方、ステップS1001の対象となっていないページの描画コマンドはもう残っていない場合には、処理はステップS1007に進む。
ステップS1007では、生成部251は、生成した中間データが複数あるか否かを判断する。この判断の結果、生成した中間データが複数ある場合には、処理はステップS1008に進み、生成した中間データが1つの場合には、処理はステップS1009に進む。
ステップS1008では、生成部251は、HD114に格納されている「複数の中間データ」を1つの中間データにマージし、該マージにより生成された1つの中間データをHD114に格納する。
ステップS1009では、レンダリング部252は、HD114に格納されている中間データを用いてレンダリングを行うことでラスタ画像を生成する。この生成されたラスタ画像は、出力部207によって適当な出力先に出力データ212として出力される。
[第2の実施形態]
本実施形態を含む以下の各実施形態では、第1の実施形態との差分について説明し、以下で特に触れない限りは、第1の実施形態と同様であるものとする。本実施形態に係る画像処理装置100は、内部データをHD114に退避させることなくメモリ(RAM102)で保持しながら中間データを生成する第1のモードと、内部データをHD114に退避させて中間データを生成する第2のモードと、を有する。そして、画像処理装置100は、最初のページから第1のモードで動作し、ジョブ処理中の途中のページでメモリが不足した場合に、該ページに関しては第2のモードに切り替えて動作する。なお、本実施形態では、RAM102を「メモリ」と称するが、「メモリ」は他の種類の揮発性メモリであってもよい。
本実施形態に係る画像処理装置100の動作について、図7のフローチャートに従って説明する。図7のフローチャートに従った処理の開始時点では、画像処理装置100には第1のモードが設定されている。
ステップS1000aでは、解析部205は、印刷データ203を解析して、ページごとの描画命令(描画コマンド)を生成する。ステップS1001aでは、生成部251は、ページの描画コマンドから、該ページにおける塗りに関する塗り情報を生成し、該該生成した塗り情報をRAM102で保持しておく。
ステップS1002aでは、生成部251は、ステップS1001aで生成したページにおける塗り情報の数が閾値を超えるか否かを判断する。この判断の結果、ステップS1001aで生成したページにおける塗り情報の数が閾値を超える場合には、処理はステップS1004aに進む。一方、ステップS1001aで生成したページにおける塗り情報の数が閾値を超えない場合には、処理はステップS1003aに進む。
ステップS1003aでは、生成部251は、まだステップS1001aの対象となっていないページの描画コマンドが残っているか否かを判断する。この判断の結果、まだステップS1001aの対象となっていないページの描画コマンドが残っている場合には、処理はステップS1001aに進む。一方、ステップS1001aの対象となっていないページの描画コマンドはもう残っていない場合には、処理はステップS1004aに進む。
ステップS1004aでは、生成部251は、ページの描画コマンドから、該ページ上のオブジェクトの合成に係る合成情報を生成し、該生成した合成情報をRAM102で保持しておく。
ステップS1005aでは、生成部251は、ページの描画コマンドから、該ページ上のオブジェクトのエッジに関するエッジ情報を生成し、該生成したエッジ情報をRAM102で保持しておく。
ステップS1005gでは、生成部251は、RAM102で保持している内部データを適宜参照してページの中間データを生成し、該生成した中間データをRAM102で保持しておく。
ステップS2000では、生成部251は、ステップS1005gで生成した中間データのサイズが閾値以上であるか否かを判断する。この判断の結果、ステップS1005gで生成した中間データのサイズが閾値以上である場合には、処理はステップS2001aに進む。一方、ステップS1005gで生成した中間データのサイズが閾値未満である場合には、処理はステップS2002aに進む。ステップS2001aでは、生成部251は、ステップS1005gで生成した中間データに対して上記のフラット化を行う。
ステップS2002aでは、生成部251は、メモリが不足していないこと(CURRENT_USAGE)を確認する。この確認の結果、メモリ不足である場合(RAM102に割り当てられているメモリ領域に、もうこれ以上の中間データや内部データを格納することができない場合)には、処理はステップS2100に進む。ステップS2100に処理が進んだ時点で、画像処理装置100は第2のモードに設定される。
一方、メモリ不足ではない場合(RAM102に割り当てられているメモリ領域に、まだ中間データや内部データを格納することができる場合)には、処理はステップS1006aに進む。
ステップS1006aでは、生成部251は、まだステップS1001aの対象となっていないページの描画コマンドが残っているか否かを判断する。この判断の結果、まだステップS1001aの対象となっていないページの描画コマンドが残っている場合には、処理はステップS1001aに進む。一方、ステップS1001aの対象となっていないページの描画コマンドはもう残っていない場合には、処理はステップS1007aに進む。
ステップS1007aでは、生成部251は、生成した中間データが複数あるか否かを判断する。この判断の結果、生成した中間データが複数ある場合には、処理はステップS1008aに進み、生成した中間データが1つの場合には、処理はステップS2003aに進む。
ステップS1008aでは、生成部251は、HD114に格納されている「複数の中間データ」を1つの中間データにマージし、該マージにより生成された1つの中間データをHD114に格納する。
ステップS2003aでは、生成部251は、中間データに対してフラット化を行うか否かを判断する。この判断の結果、中間データに対してフラット化を行う場合には、処理はステップS2004aに進み、中間データに対してフラット化を行わない場合には、処理はステップS1009aに進む。
ステップS2004では、生成部251は、中間データに対してフラット化を行う。ステップS1009aでは、レンダリング部252は、HD114に格納されている中間データを用いてレンダリングを行うことでラスタ画像を生成する。この生成されたラスタ画像は、出力部207によって適当な出力先に出力データ212として出力される。
ステップS2100では、CPU101は、画像処理の初期化を行う。この初期化は、画像処理装置100を第2のモードに設定する処理や、RAM102に保持している中間データを削除(クリア)する処理、を含む。
ステップS2101では、CPU101は、内部データの保存先をRAM102からHD114に変更する。以降の処理は第1の実施形態(図5)と同様であるため、説明を省略する。
[第3の実施形態]
第2の実施形態では、RAM102におけるメモリ不足が発生すると、第1のモードから第2のモードに切り替えた。本実施形態では、中間データの生成処理を開始してから閾値時間が経過すると、第1のモードから第2のモードに切り替える。
本実施形態に係る画像処理装置100の動作について、図8のフローチャートに従って説明する。以下では、図7のフローチャートに従った処理との差分について説明し、以下で特に触れない限りは、第2の実施形態と同様である。
ステップS3000では、生成部251は、中間データの生成処理を開始してからの経過時間(CPU101が有するタイマ機能により計時)が閾値時間(閾値)以上となったか否かを判断する。この判断の結果、中間データの生成処理を開始してからの経過時間が閾値時間以上となった場合には、処理はステップS2100に進む。一方、中間データの生成処理を開始してからの経過時間が閾値時間未満である場合には、処理はステップS1006aに進む。
なお、「中間データの生成処理を開始してからの経過時間」の計時開始タイミングは特定のタイミングに限らず、例えば、ステップS1000aの処理を開始したタイミングであってもよいし、ステップS1001aの処理を開始したタイミングであってもよい。
図9は、ステップS2002をステップS3000に置き換えたことによる性能の改善の一例を示す図である。図4と同様に、縦軸は、RAM102の使用量(GB)を示しており、横軸は、処理時間(分)を示している。なお、縦軸の最大値2GBがRAM102の最大容量としている。ここであらかじめ定めた閾値時間はt分としている。
図6では処理時間がTの時点でメモリ使用量が最大値2GBに到達しており、メモリ不足が発生してステップS2100に移行していた。一方、図9では、図6の時よりも早くステップS2100に移行することが可能となり、総印刷時間を短縮することが可能となる。
以上説明したように、あらかじめ定めた閾値時間tに応じて第1のモードから第2のモードに移行することで、フラット化によりRAM102のメモリ不足に至るまでの時間がかかる印刷データに対しても、総印刷時間を短縮することが可能となる。
[第4の実施形態]
画像処理装置100はマルチスレッドで動作することも可能である。本実施形態に係る画像処理装置100の動作について、図10のフローチャートに従って説明する。以下では、図7のフローチャートに従った処理との差分について説明し、以下で特に触れない限りは、第2の実施形態と同様である。
ステップS4000aでは、CPU101は、マルチスレッドを設定する。これにより、第1のモードでは、画像処理装置100はマルチスレッドで動作する。ステップS4000bでは、CPU101は、は、シングルスレッドを設定する。これにより第2のモードでは、画像処理装置100はシングルスレッドで動作する。
マルチスレッドで動作する場合、シングルスレッドで動作するときよりもRAM102を使用する傾向がある。よって、RAM102においてメモリが不足しないように第2のモードではシングルスレッドで動作させてRAM102の容量を節約するということも可能である。
また、内部データの保存先として、RAM102およびHD114の両方を使用しても良い。例えば、RAM102に対してメモリ不足を発生させやすい描画命令(例えば大きな画像を含むオブジェクトの描画等)はHD114へ保存し、それ以外の描画命令はRAM102に保存しても良い。
HD114に保存するタイミングとしては、中間データの生成処理中に、RAM102の使用状況をリアルタイムに確認し、問題がないことが確認出来た場合は、内部データをRAM102に保存した上で処理を続行する。そして、メモリ不足が発生する状況になったと判断された場合に、保存先をHD114に変更する構成としても良い。
また、上記の各実施形態において使用した数値、各処理の実行タイミング、各処理の実行順序等は、具体的な説明を行うために一例として挙げたものであり、各実施形態がこれらの一例に限定されることを意図したものではない。
また、以上説明した各実施形態の一部若しくは全部を適宜組み合わせて使用しても構わない。また、以上説明した各実施形態の一部若しくは全部を選択的に使用しても構わない。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
101:CPU 102:RAM 103:フォントROM 104:プログラムROM 105:データROM 106:バス 107:KBC 108:表示制御部 109:HD制御部 110:通信部

Claims (10)

  1. 画像処理装置であって、
    印刷データに基づく中間データの生成で用いる情報群を該印刷データに基づいて生成し、該情報群を、前記画像処理装置に接続されている外部記憶装置に格納する生成手段と、
    前記情報群を用いて前記中間データを生成し、該生成した中間データに基づいてレンダリングを行うことでラスタ画像を生成するレンダリング手段と
    を備えることを特徴とする画像処理装置。
  2. 前記レンダリング手段は、前記生成した中間データを前記外部記憶装置に格納し、該格納した中間データに基づいてレンダリングを行うことでラスタ画像を生成することを特徴とする請求項1に記載の画像処理装置。
  3. 前記生成手段は、前記印刷データから生成した描画コマンドに基づいて前記情報群を生成することを特徴とする請求項1または2に記載の画像処理装置。
  4. 前記情報群は、ページにおける塗りに関する塗り情報、ページ上のオブジェクトの合成に係る合成情報、ページ上のオブジェクトのエッジに関するエッジ情報、を含むことを特徴とする請求項1ないし3の何れか1項に記載の画像処理装置。
  5. 前記生成手段は、前記情報群を生成すると、該情報群を前記画像処理装置の揮発性メモリに格納し、前記生成手段は、該情報群を用いて前記中間データを生成し、該生成した中間データを該揮発性メモリに格納し、
    前記揮発性メモリにおけるメモリ不足が発生すると、
    前記生成手段は前記揮発性メモリをクリアしてから、前記情報群を前記外部記憶装置に格納し、前記レンダリング手段は、該情報群を用いて前記中間データを生成し、該生成した中間データを該外部記憶装置に格納する
    ことを特徴とする請求項1ないし4の何れか1項に記載の画像処理装置。
  6. 前記画像処理装置は、前記揮発性メモリにおけるメモリ不足が発生するまではマルチスレッドで動作し、前記揮発性メモリにおけるメモリ不足が発生するとシングルスレッドで動作する、ことを特徴とする請求項5に記載の画像処理装置。
  7. 前記生成手段は、前記情報群を生成すると、該情報群を前記画像処理装置の揮発性メモリに格納し、前記生成手段は、該情報群を用いて前記中間データを生成し、該生成した中間データを該揮発性メモリに格納し、
    前記中間データの生成処理を開始してからの経過時間が閾値時間以上となった場合には、
    前記生成手段は前記揮発性メモリをクリアしてから、前記情報群を前記外部記憶装置に格納し、前記レンダリング手段は、該情報群を用いて前記中間データを生成し、該生成した中間データを該外部記憶装置に格納する
    ことを特徴とする請求項1ないし4の何れか1項に記載の画像処理装置。
  8. さらに、
    前記レンダリング手段により生成されたラスタ画像を印刷する印刷手段を備えることを特徴とする請求項1ないし7の何れか1項に記載の画像処理装置。
  9. 画像処理装置が行う画像処理方法であって、
    前記画像処理装置の生成手段が、印刷データに基づく中間データの生成で用いる情報群を該印刷データに基づいて生成し、該情報群を、前記画像処理装置に接続されている外部記憶装置に格納する生成工程と、
    前記画像処理装置のレンダリング手段が、前記情報群を用いて前記中間データを生成し、該生成した中間データに基づいてレンダリングを行うことでラスタ画像を生成するレンダリング工程と
    を備えることを特徴とする画像処理方法。
  10. コンピュータを、請求項1ないし8の何れか1項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
JP2020010327A 2020-01-24 2020-01-24 画像処理装置、画像処理方法 Pending JP2021115764A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020010327A JP2021115764A (ja) 2020-01-24 2020-01-24 画像処理装置、画像処理方法
US17/148,936 US11405520B2 (en) 2020-01-24 2021-01-14 Image processing apparatus, image processing method, and non-transitory computer-readable storage medium for generating intermediate data based on print data
US17/838,484 US11637944B2 (en) 2020-01-24 2022-06-13 Image processing apparatus, image processing method, and non-transitory computer-readable storage medium for generating intermediate data based on print data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020010327A JP2021115764A (ja) 2020-01-24 2020-01-24 画像処理装置、画像処理方法

Publications (2)

Publication Number Publication Date
JP2021115764A true JP2021115764A (ja) 2021-08-10
JP2021115764A5 JP2021115764A5 (ja) 2023-01-31

Family

ID=76971063

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020010327A Pending JP2021115764A (ja) 2020-01-24 2020-01-24 画像処理装置、画像処理方法

Country Status (2)

Country Link
US (2) US11405520B2 (ja)
JP (1) JP2021115764A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024053295A1 (ja) * 2022-09-09 2024-03-14 キヤノン株式会社 記録装置とその制御方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5801716A (en) 1990-08-16 1998-09-01 Canon Kabushiki Kaisha Pipeline structures for full-color computer graphics
WO2001077809A1 (fr) * 2000-04-07 2001-10-18 Seiko Epson Corporation Controle d'imprimantes distribuees
JP4813843B2 (ja) * 2005-08-04 2011-11-09 株式会社日立製作所 ストレージ装置、ディスクキャッシュ制御方法及びディスクキャッシュの容量割当方法
JP5596938B2 (ja) * 2009-06-02 2014-09-24 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP5523031B2 (ja) 2009-09-10 2014-06-18 キヤノン株式会社 画像形成装置及びその制御方法
JP6746326B2 (ja) * 2016-02-19 2020-08-26 キヤノン株式会社 印刷データの解釈を複数の解釈手段で行う印刷装置、印刷方法、プログラム
JP6741463B2 (ja) 2016-04-22 2020-08-19 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP6636083B2 (ja) 2018-05-17 2020-01-29 キヤノン株式会社 画像処理装置、制御方法、及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024053295A1 (ja) * 2022-09-09 2024-03-14 キヤノン株式会社 記録装置とその制御方法

Also Published As

Publication number Publication date
US11637944B2 (en) 2023-04-25
US11405520B2 (en) 2022-08-02
US20210232876A1 (en) 2021-07-29
US20220311900A1 (en) 2022-09-29

Similar Documents

Publication Publication Date Title
US20130155456A1 (en) Dynamically adjusting the complexity of worker tasks in a multi-threaded application
JP5482238B2 (ja) 画像処理装置、画像形成装置、画像処理方法、画像形成方法及びプログラム
JP2021115764A (ja) 画像処理装置、画像処理方法
WO2007055067A1 (ja) 情報処理装置、グラフィックプロセッサ、制御用プロセッサおよび情報処理方法
JP5232728B2 (ja) 画像形成装置
CN102198765B (zh) 图像形成设备和图像形成方法
JP5936363B2 (ja) 画像処理装置及び画像処理方法
JP2022017931A (ja) 画像形成処理装置、画像形成処理装置の処理方法およびプログラム
JP2006338194A (ja) データ処理システム、データ処理プログラム及びデータ処理方法
JP2007237510A (ja) 画像形成装置、並びに当該装置で実行される画像形成方法及び画像形成プログラム
CN117742977B (zh) 芯片内存数据拷贝方法、电子设备和介质
JP6226604B2 (ja) ディスプレイリストを生成する装置、方法、プログラム
JP7086772B2 (ja) 画像形成装置、画像形成装置の制御方法、及び、プログラム
JP5501298B2 (ja) 画像処理装置
US11205242B2 (en) Memory error recovery for complex page RIP
JP5471696B2 (ja) 画像処理装置、及び画像処理プログラム
JP2022094793A (ja) 画像形成装置、画像形成方法及びプログラム
JP2007011736A (ja) 印刷制御装置および印刷制御方法およびプログラム
JP2006155307A (ja) 負荷分散処理を行う画像処理システム
JP6078954B2 (ja) 画像処理装置
JP2016055536A (ja) 画像形成装置、プログラム、および画像形成装置の制御方法
JP2019191896A (ja) 情報処理装置、情報処理方法およびコンピュータプログラム
JP2008181306A (ja) データ処理装置および方法ならびにプログラム
JP2006092125A (ja) 画像処理装置、画像処理方法、プログラムおよび記憶媒体
JP2001160148A (ja) 画像処理装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230123

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230123

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230815

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231101

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20240119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240417

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20240424