JP6886338B2 - 画像形成装置とその制御方法、及びプログラム - Google Patents

画像形成装置とその制御方法、及びプログラム Download PDF

Info

Publication number
JP6886338B2
JP6886338B2 JP2017085611A JP2017085611A JP6886338B2 JP 6886338 B2 JP6886338 B2 JP 6886338B2 JP 2017085611 A JP2017085611 A JP 2017085611A JP 2017085611 A JP2017085611 A JP 2017085611A JP 6886338 B2 JP6886338 B2 JP 6886338B2
Authority
JP
Japan
Prior art keywords
image
data
image data
rip
forming apparatus
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.)
Active
Application number
JP2017085611A
Other languages
English (en)
Other versions
JP2018183897A (ja
Inventor
辰昇 鈴木
辰昇 鈴木
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 JP2017085611A priority Critical patent/JP6886338B2/ja
Priority to US15/955,027 priority patent/US10255532B2/en
Publication of JP2018183897A publication Critical patent/JP2018183897A/ja
Application granted granted Critical
Publication of JP6886338B2 publication Critical patent/JP6886338B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1856Generation of the printable image characterized by its workflow
    • G06K15/1861Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time
    • G06K15/1865Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time by compressing the rasterized print data
    • 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/41Bandwidth or redundancy reduction
    • H04N1/411Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1208Improving or facilitating administration, e.g. print management resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1274Deleting of print job
    • 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/1856Generation of the printable image characterized by its workflow
    • 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/40Details not directly involved in printing, e.g. machine management, management of the arrangement as a whole or of its constitutive parts
    • G06K15/408Handling exceptions, e.g. faults
    • 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/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/6058Reduction of colour to a range of reproducible colours, e.g. to ink- reproducible colour gamut
    • H04N1/6063Reduction of colour to a range of reproducible colours, e.g. to ink- reproducible colour gamut dependent on the contents of the image to be reproduced

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Record Information Processing For Printing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、画像形成装置とその制御方法、及びプログラムに関する。
ホストコンピュータ等から、複数のオブジェクトを含むPDL(ページ記述言語)データや電子ドキュメント等の電子データを受信し、その電子データに基づいて印刷を行う印刷装置がある。このような印刷装置において、印刷中に、ユーザからジョブのキャンセル要求が入力されると、印刷装置内部のモジュールは、現在行なっている処理を強制的に停止しなければならない。このとき、ユーザからジョブのキャンセル要求が入力されても強制停止させずに、一通りの処理を実行させる強制停止不可な画像処理モジュールが印刷装置に存在する。特許文献1には、強制停止可能な描画処理モジュールと、強制停止できない画像処理モジュールが直に接続されている構成での安全なジョブの停止方法が提案されている。これによれば、強制停止できない画像処理モジュールに対して、予め定められた色値の画素データを送信させることで、その強制停止できない画像処理モジュールを安全に停止させている。
特開2012−86450公報
しかしながら、上述の強制停止可能な描画処理モジュールと強制停止できない画像処理モジュールが直に接続されている構成の中には、強制停止できない画像処理モジュールから送信される画素データを描画処理モジュールが受け取る構成もある。このような場合、強制停止できない画像処理モジュールから送信される画素データを受け取らないまま描画処理モジュールが停止すると、未送信の画素データが残り、停止完了後の描画処理において描画不正が発生するという課題があった。
本発明の目的は、上記従来技術の課題を解決することにある。
本発明の目的は、強制停止できない画像処理手段が処理中であっても、印刷ジョブのキャンセル要求に応じて描画処理を停止できる技術を提供することにある。
上記目的を達成するために本発明の一態様に係る画像形成装置は以下のような構成を備える。即ち、
印刷ジョブの印刷データに基づく中間データを生成する生成手段と、
画像データを処理する画像処理手段と、
前記中間データに基づいて画像を描画するとともに、前記中間データに基づいて描画した画像データと、前記画像処理手段で処理された画像データとを合成して出力する描画手段と、を有し、
前記描画手段は、前記印刷ジョブの印刷データを受け取って描画する処理を実行中に前記生成手段が当該印刷ジョブのキャンセル要求を行ったことに応じて、前記画像処理手段で処理された画像データを受け取って破棄し、未処理の画像データを所定の画素データを含む画像データで出力した後、描画処理を停止することを特徴とする。
本発明によれば、強制停止できない画像処理手段が処理中であっても、印刷ジョブのキャンセル要求に応じて描画処理を停止でき、停止後の描画処理において描画不正の発生を防止できるという効果がある。
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
本発明の実施形態に係る画像形成装置の構成を説明するブロック図。 実施形態1に係る画像形成装置による像形成処理を説明するフローチャート。 実施形態1に係る画像形成装置のRIPが割込みメッセージを受信したときの割込みハンドラによる処理を説明するフローチャート。 図3の割込みハンドラから元の処理に戻った後のRIP120の処理を説明するフローチャート。 実施形態に係るフォールバック処理時のデータフローを説明する図。 実施形態1に係る画像形成装置における伸張処理の一例を説明する図。 実施形態1に係る画像形成装置による画像処理時の停止処理を説明するフローチャート。 本発明の実施形態2に係る画像形成装置の構成を説明するブロック図。 実施形態2に係る画像形成装置の第一RIPと第二RIPの分担領域を説明する図。 実施形態2に係る画像形成装置の第一RIPによる前述の図2のS204とS208の画像生成処理を説明するフローチャート。 実施形態2に係る画像形成装置の第二RIPによる前述の図2のS204とS208の画像生成処理を説明するフローチャート。 実施形態3に係る画像形成装置のRIPの処理を説明するフローチャート。 実施形態3に係る画像形成装置のRIPの割込み処理を説明するフローチャート。 実施形態3に係る描画オブジェクトの一例を示す図。
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
図1は、本発明の実施形態に係る画像形成装置100の構成を説明するブロック図である。
この画像形成装置100は、LAN102を介してホストコンピュータ101と接続されている。ユーザは、印刷するページ情報を示すPDLデータをホストコンピュータ101で生成し、ホストコンピュータ101からLAN102を介して画像形成装置100に送信する。実施形態に係る画像形成装置100は、複合機(MFP:Multi Function Printer)であっても、SFP(Single Function Printer)のうちいずれのプリンタであってもよい。また画像形成装置100は、MFPやSFP以外のプリンタであってもよい。
この画像形成装置100は、例えば、画像出力デバイスであるプリンタ部(プリントエンジン)111を含む。また画像形成装置100は、ホストコンピュータ101からLAN102を介してPDLデータ(ページ記述言語で記述された印刷ジョブ)を受信するとプリンタ部111により印刷する。プリンタ部111は、デバイスI/F123と接続され、CPU110で生成された画像データをシート(紙)に印刷する。CPU110は、画像形成装置100の全体を制御するための中央処理部である。RAM112は、CPU110が動作するためのワークメモリとして使用される。またRAM112は、取得したPDLデータや、画像形成処理のために生成される中間データ、レンダリング処理を行う際の作業領域であるワーク領域や、入力された画像データを一時的に格納するためのメモリでもある。ROM115は例えばブートROMであり、この装置のブートプログラムを格納している。記憶部116は、例えばハードディスクドライブであり、各種処理のためのプログラム、及び取得したPDLデータや画像データ等を格納する。CPU110は、ROM115に格納されているブートプログラムを実行して記憶部116にインストールされているプログラムをRAM112に展開し、その展開したプログラムを実行することで、この画像形成装置100の動作を制御する。
操作部I/F114は、各種メニューや印刷データ等の情報等を表示するための表示部を有する操作部113のインターフェース部であり、操作部113に対して操作画面データを出力する。また操作部I/F114は、操作部113を介してユーザが入力した情報をCPU110に伝える。尚、ここで操作部113はタッチパネル機能を有していても良い。ネットワークI/F118は、LAN102を介して外部装置(例えばホストコンピュータ101)との間で情報のやり取りを行うためのインターフェースである。これらCPU110、ROM115、RAM112、記憶部116、操作部I/F114およびネットワークI/F118は、システムバス119に接続されている。
イメージバスI/F117は、システムバス119と画像データを高速に転送する画像バス124とを接続するためのインターフェースであり、データ構造を変換するバスブリッジである。画像バス124には、RIP(ラスタイメージプロセッサ)120、画像圧縮部121、画像伸張部122、デバイスI/F123が接続されている。RIP120は、CPU110からの指示に基づき、PDLデータコードや中間データ(ディスプレイリスト)を解析して画像データに展開する。画像圧縮部121は、印刷処理に応じてRIP120により展開された画像データを圧縮し、イメージバスI/F117を通してRAM112に格納する。画像伸張部122は、RAM112に格納された画像データを伸張し、印刷処理に応じて画像バス124を通してRIP120やデバイスI/F123に伸張結果を転送する。デバイスI/F123は、プリンタ部111にデータを送信するためのインターフェースである。
次に、以下に説明する実施形態における用語の定義について説明する。
スキャンラインとは、画像形成処理において画像データが連続的にメモリ走査される主走査方向のラインであり、スキャンラインの高さは1ピクセルである。そして複数のスキャンラインを束ねたものをバンドと呼ぶ。またこれらバンドを複数の矩形に分割した各矩形領域をブロックと呼ぶ。
次に実施形態1に係る画像形成装置100による像形成処理を図2と図5、図6を参照して説明する。
図2は、実施形態1に係る画像形成装置100による像形成処理を説明するフローチャートである。尚、このフローチャートで示す処理は、CPU110がRAM112に展開したプログラムを実行することにより実現される。
まずS201でCPU110は、ホストコンピュータ101から受信したPDLデータを記憶部116に格納し、そのPDLデータの解析を行う。次にS202に進みCPU110は、解析したPDLデータの情報を基に、ビットマップ画像データを生成するために必要な中間データの生成を行う。このとき通常は、中間データに1ページ分の描画命令が含まれる。しかし、S202で生成中の中間データが、RAM112に格納しきれないサイズになった場合、或いは、中間データに含まれる描画命令が、格納できる上限値を超える場合がある。このとき、生成した中間データに対してビットマップ画像データを生成する(以降、フォールバック(Fallback)処理)。そしてS203でCPU110は、フォールバック処理に入っているかどうかを判定し、その判定結果に応じてそれ以降の処理を切り替える。
S203でCPU110は、フォールバック処理に入っていないと判定するとS204に処理を進める。S204でCPU110は、生成した中間データに基づいて、RIP120にラスタライズを指示する。これによりRIP120はビットマップ画像データを生成する。そしてS205に進みCPU110は、RIP120が生成したビットマップ画像データを画像圧縮部121により圧縮させ、イメージバスI/F117を通してRAM112に格納する。次にS206に進みCPU110は、RAM112に格納された圧縮画像データを画像伸張部122により伸張させ、印刷処理に応じて画像バス124を通して、伸張したビットマップ画像データをデバイスI/F123に転送する。そしてS207でCPU110は、プリンタ部111により、そのビットマップ画像データに従って印刷させる。
このとき画像圧縮部121と画像伸張部122は、RIP120から制御することも、CPU110から制御することも可能である。また画像伸張部122は、圧縮画像データを直ちに伸張しているが、RAM112に格納された圧縮画像データを一旦記憶部116に移動し、ユーザからの指示等に応じて圧縮画像データを伸張して印刷するようにしても良い。
一方、S203でCPU110は、フォールバック処理に入っていると判定するとS208に進む。S208でCPU110は、生成した中間データに基づいて、RIP120にラスタライズを指示し、RIP120はビットマップ画像データを生成する。次にS209に進みCPU110は、RIP120が生成したビットマップ画像データを画像圧縮部121により圧縮させ、イメージバスI/F117を通してRAM112に格納する。次にS210に進みCPU110は、S209で得られた圧縮画像データを背景画像とし、フォールバック処理に入る前のS202で中間データに含まれなかった描画命令と合成するような中間データを生成できるよう背景登録処理を行う。従って、S210を実行した後のS202では、RAM112に格納された圧縮画像データを伸張して利用する描画命令が、中間データに含まれることになる。
図5は、実施形態に係るフォールバック処理時のデータフローを説明する図である。
図5では、中間データ503に画像500を描画する描画命令があり、圧縮画像504には圧縮されたビットマップ画像501がある。RIP120は、画像500とビットマップ画像501とを合成した合成ビットマップ画像502を生成する。
次に図2のS204とS208の画像生成処理を図3及び図4のフローチャートを参照して説明する。
図3は、実施形態1に係る画像形成装置100のRIP120が割込みメッセージを受信したときの割込みハンドラによる処理を説明するフローチャートである。ここではCPU110がRIP120にビットマップ画像データの生成の中止を指示した場合の処理とともに後述する。
図4は、図3の割込みハンドラから元の処理に戻った後のRIP120の処理を説明するフローチャートである。
図3において、まずS301でRIP120は、CPU110からの割込みメッセージを読み込む。次にS302に進みRIP120は、CPU110からの割込みメッセージがキャンセル指示かどうか判定し、キャンセル指示であればS303に進んでキャンセルフラグをオンにして、キャンセル処理を実行する。S303でRIP120はR、IP120内の所定のレジスタ、或いは、RAM112のキャンセルフラグをオンにする。また、キャンセル指示ではなかった場合は、何も処理せず割込みハンドラから元の処理に戻る。
次に図4のフローチャートを説明する。
先ずS401でRIP120は、図2のS202で生成された中間データを読み込む。次にS402に進みRIP120は、画像圧縮部121に対して、生成するビットマップ画像データを圧縮するように指示する。より具体的には、S401で読み込んだ中間データに含まれる指示から、生成するビットマップ画像データの幅、高さ情報、色空間情報、圧縮画像を格納するRAM112のアドレスを画像圧縮部121に対して設定する。次にS403に進みRIP120はキャンセルフラグがオンかどうか判定する。ここでキャンセルフラグがオンであればS409に進み、そうでないときはS404に進む。
S404でRIP120は、中間データに背景が登録されているかどうか判定する。図2のS210後のS202で生成される中間データの場合は、中間データに背景が登録されている。従って中間データに背景が登録されているときはS405に進み、RIP120は、登録された背景を使用できるよう、画像伸張部122に、RAM112に格納された圧縮画像データの伸張を開始するように指示してS406に進む。またS404で中間データに背景が登録されていないときはS406に進む。
S406でRIP120は、S403と同様に、キャンセルフラグがオンかどうか判定し、キャンセルフラグがオフ、即ち、キャンセル指示が無い場合はS407に進む。S407でRIP120は、中間データに含まれる描画命令と画像伸張部122から受け取る伸張結果を合成したビットマップ画像データを生成する。このときRIP120は、画像バス124を通して画像伸張部122から伸張結果を受け取る。そしてS408に進みRIP120は、全領域の描画を終了したかどうか判定し、終了していないときはS406に進む。そして全領域の描画を終了すると、この処理を終了する。従って、画像伸張部122は、伸張結果をRAM112には書き出さない。こうしてRIP120は、中間データによって指定される幅と高さの全領域のビットマップ画像データを生成するまでS406〜S408の処理をくり返す。
また画像伸張部122は、S405の伸張指示に従ってRIP120のビットマップ画像データを生成する単位に応じた伸張結果を提供する。例えば、RIP120が1スキャンライン毎にビットマップ画像データを生成する場合、画像伸張部122は同スキャンラインの背景画像を1ピクセル単位、或いは、1スキャンライン単位で伸張結果として提供する。RIP120が1ブロック単位でビットマップ画像データを生成する場合、画像伸張部122は同じブロックの背景画像を1ピクセル単位、或いは、1ブロック単位で伸張してその結果を提供する。ここで画像伸張部122は、RIP120が伸張結果を受け取ってから次の領域の伸張結果を提供する。
図6は、実施形態1に係る画像形成装置100における伸張処理の一例を説明する図である。
ビットマップ画像データ610は、RIP120が生成するビットマップ画像データであり、この画像データ610は、RIP120が生成するビットマップ画像データのページ幅と高さ、バンド幅と高さ、ブロック幅と高さを示す。このときRIP120は、ブロックの領域毎に順番にビットマップ画像データを生成するものとするが、バンド毎、或いは、ページの上部から1スキャンライン単位で生成することも可能とする。
画像圧縮部121は、RIP120の図3、図4に示す処理によって、ブロックの領域毎に生成されたビットマップ画像データを圧縮し、圧縮した画像データをRAM112に順次格納し、最終的に1ページ分の圧縮画像データが格納される。このとき画像圧縮部121は、RAM112の予め割り当てられた所定の領域に圧縮画像データを格納するが、各ブロックの圧縮画像データの格納先を管理する管理テーブル620をRAM112の所定領域に作成する。またこの管理テーブル620の先頭には、この管理テーブル620で管理されるブロック数が格納される。
画像伸張部122は、RAM112に格納された圧縮画像データをブロック毎に順次伸張する。画像伸張部122は、伸張前に、RAM112の所定領域にある伸張するブロックの管理テーブル620の場所(アドレス)をRIP120から設定され、RIP120の開始指示により伸張を開始する。画像伸張部122は、1ブロック毎に圧縮画像データを伸張し、RIP120が伸張したブロックの受信を完了すると、次のブロックの画像データを伸張し、この処理を管理テーブル620で管理されるブロック数だけ繰り返す。これによりRIP120は、中間データからビットマップ画像データを生成する際に、必要な単位(ブロック)の背景画像を、必要とするタイミングで受け取る。
図6の611〜614は、ビットマップ画像データ610の1バンド目のブロック1〜4の画像データの一例を示している。
実施形態に係る画像形成装置100では、図1に示すようにRIP120と画像伸張部122が画像バス124で接続されている。いま画像伸張部122が画像データを伸張しているときにRIP120が動作を停止すると、画像バス124や画像伸張部122の内部に、伸張中或いは伸張後の画像データが残ったままになる。これにより、次にRIP120が動作する際に、画像バス124や画像伸張部122の内部に残っている誤ったデータを受信することになる。
次に、図3及び図4の処理中にCPU110がRIP120にビットマップ画像データの生成中止を指示した場合の処理について図3、図4と図7とを参照して説明する。尚、CPU110は、RIP120への割込みメッセージを用いて、RIP120に対してビットマップ画像データの生成中止を指示する。
図7は、実施形態1に係る画像形成装置100による画像処理時の停止処理を説明するフローチャートである。尚、このフローチャートで示す処理は、CPU110がRAM112に展開したプログラムを実行することにより実現される。
先ずS701でCPU110は、ユーザからのジョブキャンセル指示を受信する。このジョブキャンセル指示は、操作部113を介してユーザがジョブキャンセルを指示し、操作部I/F114を介してCPU110が受信する。或いは、ユーザによってホストコンピュータ101からジョブキャンセルが指示され、LAN102とネットワークI/F118を介してCPU110が受信する。そしてS702に進みCPU110は、そのキャンセルを指示受けたジョブの画像データの生成処理が開始されているか判定する。ここでRIP120が既に動作していて画像データの生成処理が開始されている場合はS703に進みCPU110は、RIP120に停止を指示する。これによりRIP120は図3の処理を実行して、CPU110からの割込みメッセージを受信する。そしてRIP120は、その割込みメッセージを受信すると割込みハンドラにおいてメッセージ内容に応じた処理を実行することになる。尚、このS703によるRIP120の画像生成の停止処理は、図4のフローチャートを参照して後述する。そしてS704に進みCPU110は、生成中、或いは生成済みのキャンセルを指示受けたジョブに関するRAM112の中間データを破棄して、この処理を終了する。
図4のS403及びS406でRIP120は、RIP120の所定のレジスタ、或いは、RAM112のキャンセルフラグがオンかどうか判定する。ここでキャンセルフラグがオンと判定するとS409に進む。S409でRIP120は、画像伸張部122に既に画像データの伸張指示を出しているかどうか判定する。既に伸張指示を出している場合はS410に進みRIP120は、指示した分の伸張データを全て受信する。このとき、その受信したデータは背景画像として合成することなく破棄してS411に進む。またS409でRIP120が画像伸張部122に画像データの伸張指示を出していないときもS411に進む。S411でRIP120は、ページ内の処理が完了していない領域の画素値を、予め決められた色値にして、後段の例えば画像圧縮部121等に出力する。
以上説明したように実施形態1によれば、強制停止できない画像処理モジュール(画像伸張部)で処理されたデータに基づいて描画を行う描画処理モジュール(RIP)が処理を実行中にキャンセル指示が入力されたときでも、安全に処理を停止できる。
[実施形態2]
次に本発明の実施形態2に係る画像形成装置100について説明する。尚、実施形態2に係る画像形成装置100のハードウェア構成、画像形成装置100におけるソフトウェア構成について、前述の実施形態1と同じものは、その説明を省略する。
図8は、本発明の実施形態2に係る画像形成装置100の構成を説明するブロック図である。図8において、前述の図1の構成と同じものは同じ参照番号で示し、それらの説明を省略する。
この画像形成装置100では、画像バス124に、第一RIP801と第二RIP802が接続されている点が前述の実施形態1の構成と異なっている。
いずれのRIPも、CPU110からの指示に基づき、PDLデータコードや中間データを解析してイメージデータに展開する。第一RIP801と第二RIP802は、中間データで指定される幅と高さの1ページ分の担当領域を分担して処理する。実施形態2では、図6に示す各ブロックについて、ブロックの上部領域(幅1024×高さ512(画素))を第一RIP801が担当し、ブロックの下部(幅1024×高さ512(画素))を第二RIP802が担当する。
図9は、実施形態2に係る画像形成装置100の第一RIP801と第二RIP802の分担領域を説明する図である。
領域911と領域921は、図6のブロック1に描画される画像領域であり、このブロック1の上部に位置する領域911を第一RIP801が担当し、ブロック1の下部に位置する領域921を第二RIP802が担当する。領域912〜914,922〜924も同様に分担し、第一RIP801と第二RIP802は、合わせて1ブロックになるように画像データを生成する。
実施形態2に係る画像形成装置100における画像形成処理のフローチャートは、前述の図2のS204とS208の処理以外は図2と同じであるため、その説明を省略する。
図10は、実施形態2に係る画像形成装置100の第一RIP801による前述の図2のS204とS208の画像生成処理を説明するフローチャートである。
また図11は、実施形態2に係る画像形成装置100の第二RIP802による前述の図2のS204とS208の画像生成処理を説明するフローチャートである。尚、第一RIP801及び第二RIP802による割込みメッセージを受信したときの割込みハンドラによる処理は、前述の図3のフローチャートと同じであるため、そのフローチャート及び説明を省略する。
まず図10を参照して、実施形態2に係る画像形成装置100の第一RIP801によるS204とS208の画像生成処理を説明する。尚、図10において、前述の図4と共通する部分は同じ符号で示し、それらの説明を省略する。
S406でキャンセルフラグがオフのときはS1001に進み第一RIP801は、S401で読み込んだ中間データに基づき、第二RIP802が担当せず、第一RIP801が担当する描画領域を求める。次にS1002に進み第一RIP801は、ビットマップ画像データの生成で合成する背景画像があるか否か判定する。ここで背景画像があると判定するとS1003に進み第一RIP801は、画像伸張部122から伸張結果を受信してS1004に進む。またS1002で背景画像がないと判定するとS1004に進む。
S1004で第一RIP801は、担当する描画領域についての中間データに含まれる描画命令に応じてビットマップ画像データを生成する。このとき第一RIP801は、画像伸張部122に伸張を指示している場合は、画像バス124から描画領域に応じた1ブロック分の伸張結果を受信した中の、第一RIP801が担当しない領域の画像データを破棄する。このとき画像伸張部122は、1ブロック内の第一RIP801が担当する領域分のみの画像データを、画像バス124を介して第一RIP801に渡すようにしても良い。そしてS1005に進み第一RIP801は、ビットマップ画像データの生成が完了した、第一RIP801が担当する領域情報を更新する。具体的には、ビットマップ画像データの生成が完了したブロック数をカウントする。そしてS1006に進み第一RIP801は、全領域の描画を終了したかどうか判定し、中間データによって指定される幅と高さの全領域のビットマップ画像データの生成を完了するまでS1001からS1006の処理を繰り返す。
一方、S406でキャンセルフラグがオンのときはS1007に進み第一RIP801は、S1001と同様に、S401で読み込んだ中間データに基づき、第二RIP802が担当せず、第一RIP801が担当する描画領域を求める。次にS409〜S410で、第一RIP801は伸張済みのデータを受信して破棄する。そしてS411で第一RIP801は、ページ内の処理が完了していない未処理の領域の画素値を、予め決められた色値にして出力する。そしてS1008に進み第一RIP801は、描画処理が完了した、第一RIP801が担当する領域情報を更新する。そしてS1009で全領域の描画処理が完了していない判定するとS1007に戻り、中間データによって指定される幅と高さの全領域のビットマップ画像データの生成と破棄を完了するまでS1007からS1006の処理を繰り返す。
図11は、実施形態2に係る第二RIP802の処理を説明するフローチャートである。尚、ここでは、画像圧縮部121に対し生成するビットマップ画像データを圧縮する指示は第一RIP801が行っているため第二RIP802は指示を行わない。同様に、第二RIP802は画像伸張部122に対する伸張指示も行わない。
S1101で第二RIP802は中間データを読込んでS1102に進み、第二RIP802はキャンセルフラグがオンかどうか判定する。ここでオンでないと判定するとS1103に進み、オンのときはS1110に進む。S1103で第二RIP802は、S11001で読み込んだ中間データに基づき、第一RIP801が担当せず、第二RIP802が担当する描画領域を求める。次にS1104に進み第二RIP802は、S1103で算出した担当する領域の内、これから描画するブロックが、第一RIP801によって描画済みかどうか判定する。これにより画像伸張部122は、第一RIP801からの指示に応じて渡す伸張結果を、第一RIP801と第二RIP802の進捗に合わせることなく、同時に双方に出力できる。また第一RIP801の画像伸張部122への出力に応じて、第二RIP802は残りの領域を画像伸張部122へ出力できる。
そして第一RIP801によって描画済みと判定するとS1105に進み第二RIP802は、ビットマップ画像データの生成で合成する背景画像があるか否か判定する。ここで背景画像があると判定するとS1106に進み第二RIP802は、画像伸張部122から伸張結果を受信してS1107に進む。実施形態2では、第二RIP802は画像バス124を介して描画領域に応じた1ブロック分の伸張結果を受信し、そのうち、第二RIP802が担当しない領域の画像データを破棄する。またS1105で背景画像がないと判定するとS1107に進む。S1107で第二RIP802は、第二RIP802が担当する描画領域の中間データに含まれる描画命令に応じてビットマップ画像データを生成する。そしてS1108に進み第二RIP802は、生成が完了した画像データの内、第二RIP802が担当する領域情報を更新する。具体的には、生成が完了した画像データのブロック数をカウントする。こうして第二RIP802は、中間データによって指定される幅と高さの全領域をビットマップ画像の生成を完了するまでS1102〜S1109の処理をくり返す。
次に図10〜図11の処理中にCPU110が第一RIP801と第二RIP802にビットマップ画像生成の中止を指示した場合の処理について説明する。
このときのCPU110の処理は、第一RIP801と第二RIP802に割込みメッセージを用いてビットマップ画像データの生成の中止を指示する以外、図7のフローチャートと差異が無いため、その説明を省略する。
第一RIP801と第二RIP802は、割込みメッセージを受け取ると、それぞれ図10及び図11の処理を実行し、完了すると元の処理に戻る。
図11を参照して第二RIP802の処理を説明する。
S1102で第二RIP802は、第二RIP802内の所定のレジスタ、或いは、メモリのキャンセルフラグがオンかどうか判定する。キャンセルフラグがオンの場合はS1110に進み担当領域を求める。次にS1111に進み第二RIP802は、S1110で算出した担当する領域の内、これから描画するブロックが、第一RIP801によって描画済みであるか判定する。ここで描画済みと判定するとS1112に進み第二RIP802は、第一RIP801が画像伸張部122に既に伸張指示を出しているかどうか判定する。既に伸張指示を出している場合はS1113に進み、伸張結果を受信してS1114に進む。このとき、その受信した伸張データは、背景画像として合成することなく破棄する。またS1112で、伸張指示を出していないときはS1114に処理を進める。S1114で第二RIP802は、領域のピクセル分を予め決められた色値で出力する。そしてS1115に進み第二RIP802は、上述の処理が完了した、第二RIP802が担当する領域情報を更新する。具体的には、描画処理が完了したブロック数をカウントする。こうして第二RIP802は、中間データによって指定される幅と高さの全領域をビットマップ画像データの描画処理を完了するまでS1110〜S1116の処理をくり返す。
以上説明したように実施形態2によれば、描画処理モジュールを複数有し、それぞれが並行して動作し、かつ、強制停止できない画像処理モジュールからの画像データを処理している場合でも、ジョブキャンセル要求に応じて安全に停止させることができる。
[実施形態3]
本発明に係る第3実施形態の画像形成装置について説明する。実施形態3の装置構成は実施形態1の構成と同じである。また画像形成装置100におけるソフトウェア構成について実施形態1と同じ箇所については説明を省略する。
図12は、実施形態3に係る画像形成装置100のRIP120の処理を説明するフローチャートである。
S401でRIP120は、図2のS202で生成された中間データを読み込む。次にS1201に進みRIP120は、中間データ内の描画命令数を取得する。またS1201以降の処理は、前述の図4の処理と同じであるため、図4と同じ参照番号を用いて、その説明を省略する。
図12の処理中にCPU110がRIP120にビットマップ画像生成の中止を指示した場合の処理についても、実施形態1と同様にRIP120はCPU110からの割込みメッセージを受けて停止処理を実行する。このとき、RIP120は割込みメッセージを受けて図13の処理を実行する。
図13は、実施形態3に係る画像形成装置100のRIP120の割込み処理を説明するフローチャートである。
S1301でRIP120は、CPU110からの割込みメッセージを読み込む。次にS1302に進みRIP120は、CPU110からの割込みメッセージがキャンセル指示かどうか判定し、キャンセル指示のときはS1303に進んで、キャンセル処理を実行する。また、キャンセル指示ではなかった場合、何も処理せず割込みハンドラから元の処理に戻ることになる。S1303でRIP120は、図12のS1201で取得した中間データ内の描画命令数が所定の閾値以上かどうか判定する。ここで閾値以上であると判定するとS1304に進みRIP120は、RIP120内の所定のレジスタ、或いは、メモリのキャンセルフラグをオンにする。ここで判定に用いる閾値は、具体的には中間データ内の描画オブジェクト数である。
図14は、実施形態3に係る描画オブジェクトの一例を示す図である。
例えば、図14に示すように中間データで指定されるページ幅と高さの描画領域1400と1402に、矩形描画オブジェクト1401や画像1403のみが存在する場合、キャンセルフラグをオンにしない。即ち、描画オブジェクトの数が閾値よりも少ない場合は、キャンセルフラグをオンにしない。この閾値は、RIP120の性能に応じて所定の値に設定でき、例えば、RIP120のビットマップ画像データの生成速度が画像圧縮部121の性能を上回るような所定の値に設定する。
以上説明したように実施形態3によれば、強制停止できない画像処理モジュールで処理されたデータに基づいて描画を行う描画処理モジュールが処理を実行中にキャンセル指示が入力されたときでも、安全に処理を停止できる。
更に、中間データの描画命令数が閾値以下のときにジョブキャンセル要求に応じてキャンセル処理を行うため、速やかに安全にジョブを停止できる。
また中間データの描画命令数が閾値以下のときは、ジョブキャンセルが指示された中間データの展開処理が完了しているため、その中間データに対し再度ビットマップ画像データへの展開が要求されても、再度、ビットマップ画像データを生成し直す必要がない。
また上記実施形態では、RIPは、キャンセル要求に応じて描画処理を停止する前に、画像伸張部122からデータを受取って破棄するようにしたが、本発明はこれに限定されない。例えば、RIP120から画像伸張部122をリセットするための専用の信号線を設け、例えば図4のS410で伸張結果を受信して破棄する代わりに、その信号線により画像伸張部122をリセットさせても良い。これによりRIP120が、直ぐに処理を停止しても、画像伸張部122に未処理のデータが残ったままになることがなくなる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。上記実施形態ではユーザからのジョブキャンセル指示を受信したCPUがRIPに停止を指示するが、RIPへのキャンセル要求の要因は、制限されない。例えば、コピージョブなど優先度の高いジョブの割り込みによるキャンセルでも当然実現可能である。
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
100…画像形成装置、101…ホストコンピュータ、110…CPU、112…RAM、120…RIP、121…画像圧縮部、122…画像伸張部、810…第一RIP、802…第二RIP

Claims (11)

  1. 印刷ジョブの印刷データに基づく中間データを生成する生成手段と、
    画像データを処理する画像処理手段と、
    前記中間データに基づいて画像を描画するとともに、前記中間データに基づいて描画した画像データと、前記画像処理手段で処理された画像データとを合成して出力する描画手段と、を有し、
    前記描画手段は、前記印刷ジョブの印刷データを受け取って描画する処理を実行中に前記生成手段が当該印刷ジョブのキャンセル要求を行ったことに応じて、前記画像処理手段で処理された画像データを受け取って破棄し、未処理の画像データを所定の画素データを含む画像データで出力した後、描画処理を停止することを特徴とする画像形成装置。
  2. 前記画像処理手段は、圧縮された画像データを伸張する伸張手段を有し、
    前記描画手段は、前記描画する処理を実行中に前記キャンセル要求を受け付けると、前記伸張手段で伸張された画像データを受け取って破棄し、未処理の画像データを所定の画素データを含む画像データで出力することを特徴とする請求項1に記載の画像形成装置。
  3. 前記描画手段から出力される画像データを圧縮する圧縮手段と、
    前記圧縮手段により圧縮された画像データを記憶する記憶手段と、を更に有し、
    前記伸張手段は、前記記憶手段に記憶された前記圧縮された画像データを、前記描画手段が画像データを描画する単位に応じて伸張することを特徴とする請求項2に記載の画像形成装置。
  4. 前記描画手段は、
    前記印刷データに含まれる所定の幅の幅と高さを有する画像データを複数の領域に分割し、前記複数の領域のそれぞれの単位で画像を描画することを特徴とする請求項1乃至3のいずれか1項に記載の画像形成装置。
  5. 前記伸張手段は、前記描画手段からの伸張指示に応じて、前記圧縮された画像データを伸張することを特徴とする請求項2又は3に記載の画像形成装置。
  6. 前記描画手段を複数有し、
    複数の描画手段のそれぞれは、分割された前記複数の領域のそれぞれを更に分割し、当該分割された領域の単位で描画し、
    前記印刷ジョブのキャンセル要求を受け付けると、前記画像処理手段で処理された画像データのうち、それぞれの描画手段が担当する領域の画像データを受け取って破棄し、未処理の画像データを所定の画素データを含む画像データで出力した後、処理を停止することを特徴とする請求項に記載の画像形成装置。
  7. 前記印刷データに含まれる描画命令数を取得する取得手段を更に有し、
    前記描画手段は、前記取得手段が取得した前記描画命令数が所定の閾値以下の場合に、前記印刷ジョブのキャンセル要求を受け付けないことを特徴とする請求項1乃至6のいずれか1項に記載の画像形成装置。
  8. 前記画像処理手段は、実行中の処理を強制的に停止できないことを特徴とする請求項1に記載の画像形成装置。
  9. 前記生成手段は、前記キャンセル要求に応じて、生成した中間データを破棄することを特徴とする請求項1に記載の画像形成装置。
  10. 画像形成装置を制御する制御方法であって、
    印刷ジョブの印刷データに基づく中間データを生成する生成工程と、
    画像データを処理する画像処理工程と、
    前記中間データに基づいて画像を描画するとともに、前記中間データに基づいて描画した画像データと、前記画像処理工程で処理された画像データとを合成して出力する描画工程と、を有し、
    前記描画工程は、前記印刷ジョブの印刷データを受け取って描画する処理を実行中に前記生成工程が当該印刷ジョブのキャンセル要求を行ったことに応じて、前記画像処理工程で処理された画像データを受け取って破棄し、未処理の画像データを所定の画素データを含む画像データで出力した後、描画処理を停止することを特徴とする画像形成装置の制御方法。
  11. コンピュータを、請求項1乃至9のいずれか1項に記載の画像形成装置の各手段として機能させるためのプログラム。
JP2017085611A 2017-04-24 2017-04-24 画像形成装置とその制御方法、及びプログラム Active JP6886338B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017085611A JP6886338B2 (ja) 2017-04-24 2017-04-24 画像形成装置とその制御方法、及びプログラム
US15/955,027 US10255532B2 (en) 2017-04-24 2018-04-17 Image forming apparatus, and method of controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017085611A JP6886338B2 (ja) 2017-04-24 2017-04-24 画像形成装置とその制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2018183897A JP2018183897A (ja) 2018-11-22
JP6886338B2 true JP6886338B2 (ja) 2021-06-16

Family

ID=63853983

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017085611A Active JP6886338B2 (ja) 2017-04-24 2017-04-24 画像形成装置とその制御方法、及びプログラム

Country Status (2)

Country Link
US (1) US10255532B2 (ja)
JP (1) JP6886338B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3559713B2 (ja) * 1997-10-27 2004-09-02 キヤノン株式会社 印刷処理装置、及び、印刷処理方法、並びに、処理プログラムが格納された記憶媒体
JP2008165381A (ja) * 2006-12-27 2008-07-17 Ricoh Co Ltd 画像処理装置及び画像処理方法
JP5523031B2 (ja) * 2009-09-10 2014-06-18 キヤノン株式会社 画像形成装置及びその制御方法
JP5739639B2 (ja) 2010-10-19 2015-06-24 キヤノン株式会社 画像形成装置、画像形成方法、およびプログラム

Also Published As

Publication number Publication date
US10255532B2 (en) 2019-04-09
JP2018183897A (ja) 2018-11-22
US20180307953A1 (en) 2018-10-25

Similar Documents

Publication Publication Date Title
JP5538792B2 (ja) 画像処理装置、その制御方法、及びプログラム
US8400646B2 (en) Image processing apparatus and computer readable medium
JP6385406B2 (ja) 画像処理装置、画像処理方法、及びプログラム
US20110235080A1 (en) Image processing apparatus and image forming apparatus
US20140157115A1 (en) Image processing apparatus capable of displaying preview image, method of displaying preview image, and storage medium
JP6886338B2 (ja) 画像形成装置とその制御方法、及びプログラム
CN107203354B (zh) 图像处理设备及其控制方法
JP6904717B2 (ja) 画像処理装置、その制御方法、およびプログラム
JP6772020B2 (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
JP2017098918A (ja) 画像処理装置、画像処理装置の制御方法。
JP5232728B2 (ja) 画像形成装置
JP2012060401A (ja) 画像形成装置及び描画制御方法
JP6789716B2 (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
JP2016071545A (ja) 画像処理装置、画像処理方法、プログラム
JP7383462B2 (ja) 画像処理装置、画像処理装置の制御方法、プログラム
JP2000335021A (ja) 画像処理装置及び画像処理方法
JPH11203070A (ja) プリンタ制御装置
JPH10173897A (ja) 画像処理装置、画像処理システム及び画像処理方法
JP6809158B2 (ja) 画像処理装置及びプログラム
JP2018110327A (ja) 画像処理装置及びプログラム
JP2016055536A (ja) 画像形成装置、プログラム、および画像形成装置の制御方法
JP6287516B2 (ja) 印刷制御装置及びプログラム
JP2011120115A (ja) 画像処理装置及びその制御方法
JP2022030549A (ja) 情報処理置、情報処理方法、画像形成装置、及びプログラム
JPH10171612A (ja) 画像処理装置及び圧縮処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200401

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210305

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210402

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210514

R151 Written notification of patent or utility model registration

Ref document number: 6886338

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151