JP2004201192A - Image processor and image processing method - Google Patents

Image processor and image processing method Download PDF

Info

Publication number
JP2004201192A
JP2004201192A JP2002369793A JP2002369793A JP2004201192A JP 2004201192 A JP2004201192 A JP 2004201192A JP 2002369793 A JP2002369793 A JP 2002369793A JP 2002369793 A JP2002369793 A JP 2002369793A JP 2004201192 A JP2004201192 A JP 2004201192A
Authority
JP
Japan
Prior art keywords
image data
data
underrun
image
line
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.)
Withdrawn
Application number
JP2002369793A
Other languages
Japanese (ja)
Inventor
Nobukazu Miyoshi
伸和 三好
Yoshihiko Nemoto
嘉彦 根本
Masahiro Ishiwatari
雅広 石渡
Manabu Akamatsu
学 赤松
Seishiro Kato
征史郎 加藤
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2002369793A priority Critical patent/JP2004201192A/en
Publication of JP2004201192A publication Critical patent/JP2004201192A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)
  • Storing Facsimile Image Data (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image processor capable of surely printing out an image which is close to original image data as much as possible even when an under-run occurs (an error that write into a buffer is not in time for transferring data to a printer engine and printing can not be continued since data to be read from the buffer run out in the middle of printing a page). <P>SOLUTION: The image processing apparatus is provided with a FIFO processing part 11 for temporarily storing image data, a controller 12 having a transfer function for reading the image data stored in the FIFO processing part 11 for each line and transferring the image data to a print processing part 13, and an under-run detecting part 14 for detecting whether the under-run occurs when the controller 12 reads the image data from the FIFO processing part 11. When the under-run detecting part 14 detects occurrence of under-run, the controller 12 transfers substitutive data in place of the original image data which can not be read because of the occurrence of under-run to the print processing part 13 to avoid deviation of an image print position within the page. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、バッファ等のメモリから画像データを読み出して転送するデータ転送機能を有する画像処理装置及び画像処理方法に関する。
【0002】
【従来の技術】
ホストコンピュータにインタフェースを介して接続されるプリンタ等の画像処理装置では、ホストコンピュータからインターフェース経由で入力された画像データをビットマップデータに展開してプリンタエンジンに転送している。その際、画像データをビットマップデータに展開してバッファに書き込む速度は、主として、画像データのデータ量やビットマップ展開の処理速度などに依存するのに対し、バッファから画像データ(ビットマップデータ)を読み出してプリンタエンジンに転送する速度は、主として、プリンタエンジンの処理速度に依存する。そのため、バッファへの書き込み速度とプリンタエンジンへのデータ転送速度とは、互いに相違するのが普通である。
【0003】
したがって、例えば、データ量の多い画像データを処理する場合に、バッファへの書き込みがプリンタエンジンへのデータ転送時期に間に合わず、ページを印刷している途中でバッファから読み出すデータが無くなって印刷が続けられなくなるエラー、すなわちアンダーランが発生することがある。アンダーランの発生を防止する方法として、画像データを圧縮して全体のデータ量を減らす方法が知られている。しかしながら、1ページ分の画像データを複数のラインデータで構成する場合に、部分的に圧縮率が低くてデータ量の多いラインが存在すると、このラインデータを処理するときにアンダーランが発生しやすくなる。
【0004】
このようなアンダーランがページの印刷途中で発生すると、例えば、入力された画像データ(元の画像データ)が図15(A)に示すものであった場合に、アンダーランの発生地点を境にして画像の印刷位置に大きなずれが生じる。その結果、図15(B)に示すように、元の画像から大きくかけ離れた画像が印刷出力されてしまう。
【0005】
そこで従来においては、アンダーランが発生したラインデータについて、例えば階調数を落としてデータ量を少なくし、この状態で再び画像データの転送を行って用紙等の記録媒体に画像を再出力させるものが知られている(例えば、特許文献1参照)。
【0006】
【特許文献1】
特開平9−198203号公報
【0007】
【発明が解決しようとする課題】
しかしながら、上述のように階調数を落として画像を再出力させる場合でも、エラーの内容によっては再びアンダーランが発生し、結果的に画像の出力が不可になる恐れもある。そうした場合、ユーザーが所望する画像を出力することができなくなる。
【0008】
本発明は、上記課題を解決するためになされたもので、その目的とするところは、アンダーランが発生した場合でも、極力元の画像データに近い画像を確実に印刷出力させることができる画像処理装置及び画像処理方法を提供することにある。
【0009】
【課題を解決するための手段】
本発明に係る画像処理装置は、画像データを一時的に格納する格納手段と、この格納手段に格納された画像データをラインごとに読み出して画像印刷手段に転送する転送手段と、この転送手段が格納手段から画像データを読み出すときにアンダーランの発生有無を検知する検知手段とを備える画像処理装置であって、転送手段は、検知手段がアンダーランの発生を検知した場合に、当該アンダーランの発生によって読み出せなかった元の画像データに代わる代替データを画像印刷手段に転送するものである。
【0010】
上記構成の画像処理装置においては、格納手段からの画像データの読み出しが転送手段によって行われ、この転送手段による画像データの読み出し中に検知手段がアンダーランの発生を検知すると、アンダーランの発生によって読み出せなかった元の画像データに代わる代替データが転送手段から画像印刷手段へと転送される。これにより、画像印刷手段では、アンダーランの発生したラインが代替データに置き換えて印刷出力される。
【0011】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しつつ詳細に説明する。
【0012】
図1は本発明の第1実施形態に係る画像処理装置の構成例を示す概略図である。図示した画像処理装置は、FIFO(First-In First-Out)処理部11と、データ転送機能を有するコントローラ12と、プリント処理部(印刷処理部)13と、アンダーラン検知部14とを備えた構成となっている。
【0013】
FIFO処理部11は、ホストコンピュータ等の外部装置からインターフェース等を介して入力された画像データを図示しない描画処理部でビットマップデータに展開したときに、描画処理部から生成されるビットマップ形式の画像データを所定の領域に順に格納するとともに、コントローラ12からのデータ読み出し要求(データリード信号の出力)に応じて、上記所定の領域から上記格納した順に画像データを取り出してコントローラ12に出力するものである。このFIFO処理部11では、コントローラ12からデータ読み出し要求がなされた状態で、上記所定の領域に格納されている画像データがなくなると、その旨を通知するエンプティ信号をコントローラ12に出力する。
【0014】
コントローラ12は、予め与えられた制御プログラム等にしたがって画像処理装置全体の処理動作を統括的に制御するものである。コントローラ12は、プリント処理部13からのリクエスト信号にしたがってFIFO処理部11に画像データの読み出しを要求するデータリード信号を出力するとともに、このデータリード信号に応答してFIFO処理部11から出力された画像データをプリント処理部13に転送(出力)する。また、コントローラ12は、FIFO処理部11に対して1ライン分の画像データの読み出し要求を終えると、その旨を知らせる入力ラインエンド信号をアンダーラン検知部14に出力する。
【0015】
プリント処理部13は、コントローラ12から転送された画像データを用紙等の記録媒体に印刷出力するものである。このプリント処理部13では、ページ内を1ラインごとに走査し、このライン走査を繰り返すことにより、記録媒体にページ画像を印刷出力する。また、プリント処理部13は、ライン走査を行うのに先立って、1ライン分の画像データの転送を要求するリクエスト信号を一定周期で出力するとともに、このリクエスト信号に応答してコントローラ12から転送された画像データにしたがって記録媒体に印刷出力(ライン走査)を行う。
【0016】
アンダーラン検知部14は、FIFO処理部11からコントローラ12を経由してプリント処理部13に画像データを転送するにあたり、コントローラ12がFIFO処理部11から画像データを読み出すときにアンダーランの発生有無を検知するものである。このアンダーラン検知部14においては、実際にアンダーランの発生を検知するために、コントローラ12からFIFO処理部11に出力されるデータリード信号と、FIFO処理部11からコントローラ12に出力されるエンプティ信号とを監視する。また、アンダーラン検知部14は、アンダーランの発生を検知した場合に、その旨を通知するアンダーラン検知信号をコントローラ12に出力するとともに、このアンダーラン検知信号のオンオフ(立ち上がり、立ち下がり)状態を、コントローラ12から出力される入力ラインエンド信号にしたがって切り替える。
【0017】
続いて、本発明の第1実施形態に係る画像処理装置で画像データを処理する場合の手順について、図2のフローチャートを用いて説明する。先ず、コントローラ12で画像データの転送を開始する場合は、ライン数:Nの値をゼロにリセット(N=0)した後、Nの値をインクリメント(+1)する(ステップS11,S12)。
【0018】
次に、プリント処理部13がコントローラ12にNライン目の画像データの転送を要求するリクエスト信号を出力すると、このリクエスト信号を受けてコントローラ12がFIFO処理部11にNライン目の画像データの読み出しを要求するデータリード信号を出力する(ステップS13,S14)。
【0019】
次いで、FIFO処理部11は、コントローラ12からの読み出し要求に応答して所定の領域から画像データを取り出し、この画像データをコントローラ12に出力する(ステップS15)。このとき、アンダーラン検知部14は、FIFO処理部11からコントローラ12にエンプティ信号が出力されていないかどうかを監視し、出力されていない場合はアンダーランの発生を検知せず、出力された場合はアンダーランの発生を検知する(ステップS16)。
【0020】
その後、上記ステップS16でアンダーラン検知部14がアンダーランの発生を検知しなかった場合は、FIFO処理部11から入力された画像データをコントローラ12がプリント処理部13に転送する(ステップS17)。次いで、コントローラ12は、Nライン目の画像データの読み出しが終了したかどうかを判断し(ステップS18)、終了していないと判断した場合は上記ステップS14に戻ってFIFO処理部11へのデータ読み出し要求(データリード信号の出力)を継続し、終了したと判断した場合は、その旨を通知する入力ラインエンド信号をアンダーラン検知部14に出力してステップS19に進む。
【0021】
一方、上記ステップS16でアンダーラン検知部14がアンダーランの発生を検知した場合は、アンダーランのリカバリ処理(ステップS20)を実行した後、ステップS19に進む。ステップS19においては、コントローラ12がページ内の全ラインの画像データの転送を終了したかどうかを判断し、終了していないと判断した場合は上記ステップS12に戻り、終了したと判断した場合はその時点で画像データの転送に係る一連の処理を終了する。
【0022】
図3は上記ステップS20で行われるアンダーランのリカバリ処理の手順を示すフローチャートである。先ず、リカバリ処理が開始されると、コントローラ12は、プリント処理部13に対して、アンダーランの発生によって読み出せなかった元の画像データの代わりに代替データを出力する(ステップS201)。この代替データは、例えば、画像データの階調数が256階調(0〜255)であるとすると、白レベル(階調値が0近傍)の階調データ、又は黒レベル(階調値が255近傍)の階調データを採用する。
【0023】
次いで、コントローラ12は、プリント処理部13から(N+1)ライン目の画像データの転送を要求するリクエスト信号が出力されたかどうかを判断し(ステップS202)、出力されていないと判断した場合は、これに続いて、Nライン目の画像データの読み出しが終了したかどうかを判断する(ステップS203)。そして、Nライン目の画像データの読み出しが終了したと判断した場合は、その時点でリカバリ処理を抜ける。
【0024】
一方、上記ステップS202でプリント処理部13から(N+1)ライン目の画像データの転送を要求するリクエスト信号が出力されたとコントローラ12が判断すると、Nの値をインクリメントした後(ステップS204)、ステップS205に移行し、また上記ステップS203でNライン目の画像データの読み出しが終了していないと判断した場合もステップS205に移行する。ステップS205においては、コントローラ12がFIFO処理部11に対する画像データの読み出し要求(データリード信号の出力)を継続し、これに続くステップS206においては、FIFO処理部11がコントローラ12への画像データの出力(読み出し)を継続する。そして、ステップS206の後は上記ステップS201に戻って代替データの転送を継続する。これにより、アンダーランが発生したラインの終端まで代替データの転送が継続される。
【0025】
図4は、本発明の第1実施形態に係る画像処理装置において、ページ内の画像データのライン数が合計4ラインで、そのうちの2ライン目の画像データを転送するときにアンダーランが発生した場合の各信号の出力状態を示すタイミングチャートである。
【0026】
先ず、プリント処理部13が1ライン目の画像データの転送を要求するリクエスト信号を出力すると、これを受けてコントローラ12がデータリード信号をFIFO処理部11に出力する。これにより、FIFO処理部11からコントローラ12への1ライン目の画像データ(データ1)の読み出しが開始され、これに連動して、コントローラ12からプリント処理部13への1ライン目の画像データ(データ2)の転送が開始される。
【0027】
その後、コントローラ12は、FIFO処理部11への読み出し要求を終えてデータリード信号を立ち下げた後、FIFO処理部11からの1ライン目の画像データ(データ1)の読み出し終了タイミングに合わせてアンダーラン検知部14に入力ラインエンド信号を出力する。その後、FIFO処理部11からコントローラ12への1ライン目の画像データの読み出し終了に続いて、コントローラ12からプリント処理部13への1ライン目の画像データの転送が終了する。
【0028】
続いて、プリント処理部13が2ライン目の画像データの転送を要求するリクエスト信号を出力すると、これを受けてコントローラ12がデータリード信号をFIFO処理部11に出力する。これにより、FIFO処理部11からの2ライン目の画像データの読み出しと、プリント処理部13への2ライン目の画像データの転送が開始される。このとき、データリード信号が立ち上がった状態(つまり、コントローラ12がFIFO処理部11に画像データの読み出し要求を行っている状態)で、FIFO処理部11がエンプティ信号を出力すると、アンダーラン検知部14がアンダーランの発生を検知してアンダーラン検知信号を立ち上げる。このとき、コントローラ12からプリント処理部13に転送される画像データは、アンダーランの発生によって元の画像データが途切れるところから、これに連結するかたちで代替データに切り替わる。
【0029】
その後、FIFO処理部11からのエンプティ信号が立ち下がると、それと同時に画像データの読み出しが再開する。そして、プリント処理部13が3ライン目の画像データの転送を要求するリクエスト信号を出力する前に、2ライン目の画像データの読み出し終了を通知する入力ラインエンド信号をコントローラ12が出力すると、その時点でアンダーラン検知信号が立ち下がる。したがって、3ライン目と4ライン目については、上記1ライン目と同様に画像データの転送が行われる。
【0030】
これに対して、図5に示すように、2ライン目の画像データの読み出し終了を通知する入力ラインエンド信号をコントローラ12が出力する前に、プリント処理部13が3ライン目の画像データの転送を要求するリクエスト信号を出力した場合は、アンダーラン検知部14でアンダーラン検知信号の立ち上がり状態を維持する。そして、3ライン目の画像データについても、これに代わる代替データをコントローラ12がプリント処理部13に転送する。その後、プリント処理部13が4ライン目の画像データの転送を要求するリクエスト信号を出力する前に、3ライン目の画像データの読み出し終了を通知する入力ラインエンド信号をコントローラ12が出力すると、その時点でアンダーラン検知信号が立ち下がる。したがって、4ライン目については、上記1ライン目と同様に画像データの転送が行われる。
【0031】
その結果、プリント処理部13で記録媒体に印刷出力された画像(出力イメージ)は次のようになる。すなわち、上記図4に示すタイミングチャートが適用された場合は、図6(B)に示すように、2ライン目の画像データだけが部分的に代替データに置き換えて印刷出力される。また、上記図5に示すタイミングチャートが適用された場合は、図6(A)に示すように、2ライン目の画像データの一部と3ライン目の画像データの全部が代替データに置き換えて印刷出力される。
【0032】
このようにFIFO処理部11から読み出した画像データをプリント処理部13に転送するときにアンダーランが発生し、このアンダーランの発生をアンダーラン検知部14で検知した場合に、コントローラ12からプリント処理部13に白レベル又は黒レベルの階調データを代替データとして転送し、この代替データの転送を、アンダーランが発生したラインの終端まで継続することにより、プリント処理部13ではアンダーランの発生地点からライン終端までの区間が白又は黒のライン画像で印刷出力されるようになる。そのため、ページの印刷途中でアンダーランが発生しても、ページ内で印刷位置がずれることはなくなる。
【0033】
したがって、例えば、元の画像データが図7(A)に示すものであって、この画像データの転送途中の1ラインでアンダーランが発生するものとすると、従来の画像処理装置でデータ転送を行った場合は図7(B)に示すようにアンダーランの発生地点から画像の印刷位置に大きなずれが生じるものの、本発明の実施形態に係る画像処理装置でデータ転送を行った場合は図7(C)に示すようにアンダーランが発生したラインの画像データの一部が代替データで出力(印刷)されるだけで印刷位置にずれが生じることはない。
【0034】
また、元の画像データが図8(A)に示すものであって、この画像データの転送途中で複数ラインで連続的にアンダーランが発生するものとすると、従来の画像処理装置でデータ転送を行った場合は図8(B)に示すようにアンダーランの発生地点から画像の印刷位置に大きなずれが生じるものの、本発明の実施形態に係る画像処理装置でデータ転送を行った場合は図8(C)に示すようにアンダーランが発生した複数ラインの画像データがまとめて代替データで出力(印刷)されるだけで印刷位置にずれが生じることはない。
【0035】
また、元の画像データが図9(A)に示すものであって、この画像データの転送途中で複数ラインで断続的にアンダーランが発生するものとすると、従来の画像処理装置でデータ転送を行った場合は図9(B)に示すようにアンダーランの発生地点から画像の印刷位置に大きなずれが生じるものの、本発明の実施形態に係る画像処理装置でデータ転送を行った場合は図9(C)に示すようにアンダーランが発生した複数ラインの画像データの一部がそれぞれ代替データで出力(印刷)されるだけで印刷位置にずれが生じることはない。
【0036】
図10は本発明の第2実施形態に係る画像処理装置の構成例を示す概略図である。図示した画像処理装置は、ラインバッファ21と、データ転送機能を有するコントローラ22と、プリント処理部(印刷処理部)23と、アンダーラン検知部24とを備えた構成となっている。
【0037】
ラインバッファ21は、ホストコンピュータ等の外部装置からインターフェース等を介して入力された画像データを図示しない描画処理部でビットマップデータに展開したときに、描画処理部から生成されるビットマップ形式の画像データをライン単位に所定のアドレス領域に格納するとともに、コントローラ22からのデータ読み出し要求(データリード信号の出力)とデータ格納場所のアドレス領域を指定するアドレス情報(アドレス信号の出力)に応じて、当該アドレス情報で指定されるアドレス領域から画像データを取り出してコントローラ22に出力するものである。このラインバッファ21では、コントローラ22からデータ読み出し要求がなされた状態で、コントローラ22が指定したアドレス領域に画像データが格納されていないと、その旨を通知するエンプティ信号をコントローラ22に出力する。
【0038】
コントローラ22は、予め与えられた制御プログラム等にしたがって画像処理装置全体の処理動作を統括的に制御するものである。コントローラ22は、プリント処理部23からのリクエスト信号にしたがってラインバッファ21に画像データの読み出しを要求するデータリード信号と画像データの格納領域を指定するアドレス信号を出力するとともに、これらのデータリード信号とアドレス信号に応答してラインバッファ21から出力された画像データをプリント処理部23に転送(出力)する。また、コントローラ22は、プリント処理部23に対して1ライン分の画像データの出力(転送)を終えると、その旨を知らせる出力ラインエンド信号をアンダーラン検知部24に出力する。
【0039】
プリント処理部23は、コントローラ22から転送された画像データを用紙等の記録媒体に印刷出力するものである。このプリント処理部23では、ページ内を1ラインごとに走査し、このライン走査を繰り返すことにより、記録媒体にページ画像を印刷出力する。また、プリント処理部23は、ライン走査を行うのに先立って、1ライン分の画像データの転送を要求するリクエスト信号を一定周期で出力するとともに、このリクエスト信号に応答してコントローラ22から転送された画像データにしたがって記録媒体に印刷出力(ライン走査)を行う。
【0040】
アンダーラン検知部24は、ラインバッファ21からコントローラ22を経由してプリント処理部23に画像データを転送するにあたり、コントローラ22がラインバッファ21から画像データを読み出すときにアンダーランの発生有無を検知するものである。このアンダーラン検知部24においては、実際にアンダーランの発生を検知するために、コントローラ22からラインバッファ21に出力されるデータリード信号と、ラインバッファ21からコントローラ22に出力されるエンプティ信号とを監視する。また、アンダーラン検知部24は、アンダーランの発生を検知した場合に、その旨を通知するアンダーラン検知信号をコントローラ22に出力するとともに、このアンダーラン検知信号のオンオフ(立ち上がり、立ち下がり)状態を、コントローラ22から出力される出力ラインエンド信号にしたがって切り替える。
【0041】
続いて、本発明の第2実施形態に係る画像処理装置で画像データを処理する場合の手順について、図11のフローチャートを用いて説明する。先ず、コントローラ22で画像データの転送を開始する場合は、ライン数:Nの値をゼロにリセット(N=0)した後、Nの値をインクリメント(+1)する(ステップS21,S22)。
【0042】
次に、プリント処理部23がコントローラ22にNライン目の画像データの転送を要求するリクエスト信号を出力すると、このリクエスト信号を受けてコントローラ22がラインバッファ21にNライン目の画像データの読み出しを要求するデータリード信号と当該画像データの格納領域を指定するアドレス信号とを出力する(ステップS23,S24)。
【0043】
次いで、ラインバッファ21は、コントローラ22からの読み出し要求に応答して所定のアドレス領域から画像データを取り出し、この画像データをコントローラ22に出力する(ステップS25)。このとき、アンダーラン検知部24は、ラインバッファ21からコントローラ22にエンプティ信号が出力されていないかどうかを監視し、出力されていない場合はアンダーランの発生を検知せず、出力された場合はアンダーランの発生を検知する(ステップS26)。
【0044】
その後、上記ステップS26でアンダーラン検知部24がアンダーランの発生を検知しなかった場合は、ラインバッファ21から入力された画像データをコントローラ22がプリント処理部23に転送する(ステップS27)。次いで、コントローラ22は、Nライン目の画像データの転送出力が終了したかどうかを判断し(ステップS28)、終了していないと判断した場合は上記ステップS24に戻ってラインバッファ21へのデータ読み出し要求(データリード信号の出力)を継続し、終了したと判断した場合は、その旨を通知する出力ラインエンド信号をアンダーラン検知部24に出力してステップS29に進む。
【0045】
一方、上記ステップS26でアンダーラン検知部24がアンダーランの発生を検知した場合は、アンダーランのリカバリ処理(ステップS30)を実行した後、ステップS29に進む。ステップS29においては、コントローラ22がページ内の全ラインの画像データの転送を終了したかどうかを判断し、終了していないと判断した場合は上記ステップS22に戻り、終了したと判断した場合はその時点で画像データの転送に係る一連の処理を終了する。
【0046】
図12は上記ステップS30で行われるアンダーランのリカバリ処理の手順を示すフローチャートである。先ず、リカバリ処理が開始されると、コントローラ22は、ラインバッファ21からの画像データの読み出しを中止する(ステップS301)。次に、コントローラ22は、プリント処理部23に対して、アンダーランの発生によって読み出せなかった元の画像データの代わりに代替データを出力する(ステップS302)。この代替データは、例えば、画像データの階調数が256階調(0〜255)であるとすると、白レベル(階調値が0近傍)の階調データ、又は黒レベル(階調値が255近傍)の階調データを採用する。
【0047】
その後、次いで、コントローラ22は、Nライン目の画像データの転送出力が終了したかどうかを判断し(ステップS303)、終了していないと判断した場合は上記ステップS302に戻って代替データの出力を継続し、終了したと判断した場合は、その旨を通知する出力ラインエンド信号をアンダーラン検知部24に出力してリカバリ処理を抜ける。これにより、アンダーランが発生したラインの終端まで代替データの転送が継続される。
【0048】
図13は、本発明の第2実施形態に係る画像処理装置において、ページ内の画像データのライン数が合計4ラインで、そのうちの2ライン目の画像データを転送するときにアンダーランが発生した場合の各信号の出力状態を示すタイミングチャートである。
【0049】
先ず、プリント処理部23が1ライン目の画像データの転送を要求するリクエスト信号を出力すると、これを受けてコントローラ22がデータリード信号とアドレス信号をラインバッファ21に出力する。これにより、ラインバッファ21からコントローラ22への1ライン目の画像データ(データ1)の読み出しが開始され、これに連動して、コントローラ22からプリント処理部23への1ライン目の画像データ(データ2)の転送が開始される。
【0050】
その後、コントローラ22は、ラインバッファ21への読み出し要求を終えてデータリード信号を立ち下げた後、プリント処理部23への1ライン目の画像データ(データ2)の転送終了タイミングに合わせてアンダーラン検知部24に出力ラインエンド信号を出力する。
【0051】
続いて、プリント処理部23が2ライン目の画像データの転送を要求するリクエスト信号を出力すると、これを受けてコントローラ22がデータリード信号とアドレスをラインバッファ21に出力する。これにより、ラインバッファ21からの2ライン目の画像データの読み出しと、プリント処理部23への2ライン目の画像データの転送が開始される。このとき、データリード信号が立ち上がった状態(つまり、コントローラ22がラインバッファ21に画像データの読み出し要求を行っている状態)で、ラインバッファ21がエンプティ信号を出力すると、アンダーラン検知部24がアンダーランの発生を検知してアンダーラン検知信号を立ち上げる。このとき、コントローラ22からプリント処理部23に転送される画像データは、アンダーランの発生によって元の画像データが途切れるところから、これに連結するかたちで代替データに切り替わる。
【0052】
その後、代替データを用いたプリント処理部23へのデータ転送が終了すると、それと同時にコントローラ22が出力ラインエンド信号を出力するとともに、アンダーラン検知部24がアンダーラン検知信号を立ち下げる。次いで、プリント処理部23が3ライン目の画像データの転送を要求するリクエスト信号を出力し、これに応答してコントローラ22が3ライン目の画像データの読み出しを行った場合は、上記1ライン目と同様に画像データの転送を行う。また、プリント処理部23が4ライン目の画像データの転送を要求するリクエスト信号を出力し、これに応答してコントローラ22が4ライン目の画像データの読み出しを行った場合も、上記1ライン目と同様に画像データの転送を行う。
【0053】
これに対して、図14に示すように、プリント処理部23が3ライン目の画像データの転送を要求するリクエスト信号を出力し、これに応答してコントローラ22がラインバッファ21にデータリード信号とアドレス信号を出力したときに、ラインバッファ21がエンプティ信号を出力した場合は、アンダーラン検知部24がアンダーランの発生を検知してアンダーラン検知信号を立ち上げる。このとき、コントローラ22は、3ライン目の画像データの全部を先頭アドレスから代替データに置き換えてプリント処理部23に転送する。そして、このコントローラ22による3ライン目の画像データ(代替データ)の転送が終了すると、それと同時にコントローラ22が出力ラインエンド信号を出力するとともに、アンダーラン検知部24がアンダーラン検知信号を立ち下げる。次いで、プリント処理部23が4ライン目の画像データの転送を要求するリクエスト信号を出力し、これに応答してコントローラ22が4ライン目の画像データの読み出しを行った場合は、上記1ライン目と同様に画像データの転送を行う。
【0054】
その結果、プリント処理部23で記録媒体に印刷出力された画像(出力イメージ)は次のようになる。すなわち、上記図13に示すタイミングチャートが適用された場合は、上記図6(B)に示すように、2ライン目の画像データだけが部分的に代替データに置き換えて印刷出力される。また、上記図14に示すタイミングチャートが適用された場合は、上記図6(A)に示すように、2ライン目の画像データの一部と3ライン目の画像データの全部が代替データに置き換えて印刷出力される。
【0055】
このようにラインバッファ21から読み出した画像データをプリント処理部23に転送するときにアンダーランが発生し、このアンダーランの発生をアンダーラン検知部24で検知した場合に、コントローラ22からプリント処理部23に白レベル又は黒レベルの階調データを代替データとして転送し、この代替データの転送を、アンダーランが発生したラインの終端まで継続することにより、プリント処理部23ではアンダーランの発生地点からライン終端までの区間が白又は黒のライン画像で印刷出力されるようになる。そのため、ページの印刷途中でアンダーランが発生しても、ページ内で印刷位置がずれることはなくなる。したがって、上記第1実施形態と同様の出力(印刷)画像を得ることができる。
【0056】
なお、上記第1,第2実施形態においては、アンダーランが発生したときに、元の画像データに代わる代替データとして、白レベル又は黒レベルの階調データを転送するとしたが、本発明はこれに限らず、アンダーランが発生した地点の周辺の画像データの階調値に基づいて代替データの階調値を設定してもよい。具体的には、アンダーラン発生地点の周辺に存在する複数画素の階調値の平均値を求め、この平均値を代替データの階調値に設定してもよい。また、アンダーランが発生した地点の直上(1ライン前)の画像データの階調値を代替データの階調値に設定してもよい。
【0057】
さらに、本発明の応用例として、アンダーラン検知部(14,24)がアンダーランの発生を検知した場合に、アンダーランの発生によって元の画像データが代替データに置き換えられたことをユーザーに通知する手段を備えた構成としてもよい。具体的には、アンダーラン検知部(14,24)からアンダーラン検知信号が出力された場合に、これをコントローラ(12,22)で認識し、全ての画像データの転送及び印刷を終えた段階で、図示しない表示部(例えば、画像処理装置のコントロールパネル)にコントローラ(12,22)がメッセージの表示命令を出力し、この表示命令を受けて表示部が代替データによる置き換え印刷が行われた旨のメッセージを表示する構成とすればよい。
【0058】
また、本発明の他の応用例として、複数ページの印刷又は複数部の印刷が指示された一つの印刷ジョブの中で、アンダーラン検知部(14,24)が、1ページ内、複数ページ内又は複数部内で、アンダーランの発生を複数回にわたって検知した場合に、予め設定された所定の判定条件にしたがってコントローラ(12,22)がプリント処理部(13,23)への画像データの転送を自動的に中止(実質的に印刷処理を中止)する構成としてもよい。この場合の判定条件としては、例えば、アンダーランが発生したラインの数をコントローラ(12,22)で順にカウントし、このカウント数が予め設定された所定ライン数に達したときに、画像データの転送を中止するといった構成が考えられる。
【0059】
また、他の判定条件として、アンダーランが発生したラインで代替データに置き換えて出力した画素数を順にカウントし、このカウント数が予め設定された所定画素数に達したときに、画像データの転送を中止することが考えられる。また、アンダーランが発生したラインのうち、代替データに置き換えて出力した画素数が所定数以上となったラインの数を順にカウントし、このカウント数が予め設定された所定ライン数に達したときに、画像データの転送を中止することが考えられる。また、アンダーランが連続して発生したラインの数をカウントし、このカウント数が所定連続ライン数に達したときに、画像データの転送を中止することが考えられる。このような構成を採用することにより、一つの印刷ジョブの中で、アンダーランの多発により元の画像データから大きくかけ離れた画像が連続して印刷される恐れがある場合に、以降の印刷処理を自動的に中止して、用紙等の記録媒体やインク、トナー等の画像記録材料の無用な消費を未然に回避することができる。
【0060】
また、上記判定基準にしたがって画像データの転送(実質的に印刷処理)を中止した場合は、その旨を表示部へのメッセージ表示等によってユーザーに通知する手段を備える構成とするのが望ましい。さらに、上記判定基準にしたがって画像データの転送処理(印刷処理)を自動的に中止する処理モードと、上記判定基準に関係なく画像データの転送処理(印刷処理)を継続する処理モードをユーザ側で任意に選択できる構成とすることが望ましい。
【0061】
【発明の効果】
以上説明したように本発明によれば、画像データの転送途中でアンダーランが発生した場合でも、アンダーランの発生したラインが代替データに置き換えて印刷出力されるため、従来のように印刷位置にずれを生じることなく、元の画像データに近似した画像を確実に印刷出力させることができる。
【図面の簡単な説明】
【図1】本発明の第1実施形態に係る画像処理装置の構成例を示す概略図である。
【図2】本発明の第1実施形態に係る画像処理装置の処理手順を説明するフローチャート(その1)である。
【図3】本発明の第1実施形態に係る画像処理装置の処理手順を説明するフローチャート(その2)である。
【図4】本発明の第1実施形態に係る画像処理装置の処理手順を説明するタイミングチャート(その1)である。
【図5】本発明の第1実施形態に係る画像処理装置の処理手順を説明するタイミングチャート(その2)である。
【図6】本発明の画像処理装置によるページ画像の出力イメージを説明する図である。
【図7】画像出力結果の比較図(その1)である。
【図8】画像出力結果の比較図(その2)である。
【図9】画像出力結果の比較図(その3)である。
【図10】本発明の第2実施形態に係る画像処理装置の構成例を示す概略図である。
【図11】本発明の第2実施形態に係る画像処理装置の処理手順を説明するフローチャート(その1)である。
【図12】本発明の第2実施形態に係る画像処理装置の処理手順を説明するフローチャート(その2)である。
【図13】本発明の第2実施形態に係る画像処理装置の処理手順を説明するタイミングチャート(その1)である。
【図14】本発明の第2実施形態に係る画像処理装置の処理手順を説明するタイミングチャート(その2)である。
【図15】アンダーランの発生による印刷画像の位置ずれ状態を説明する図である。
【符号の説明】
11…FIFO処理部、12,22…コントローラ、13,23…プリント処理部、14,24…アンダーラン検知部、21…ラインバッファ
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image processing apparatus and an image processing method having a data transfer function of reading and transferring image data from a memory such as a buffer.
[0002]
[Prior art]
2. Description of the Related Art In an image processing apparatus such as a printer connected to a host computer via an interface, image data input from the host computer via the interface is developed into bitmap data and transferred to a printer engine. At this time, the speed at which the image data is expanded into bitmap data and written into the buffer mainly depends on the data amount of the image data, the processing speed of the bitmap expansion, and the like. Is read out and transferred to the printer engine mainly depends on the processing speed of the printer engine. Therefore, the writing speed to the buffer and the data transfer speed to the printer engine are usually different from each other.
[0003]
Therefore, for example, when processing image data with a large amount of data, writing to the buffer is not in time for data transfer to the printer engine, and there is no data to be read from the buffer during printing of the page, and printing continues. Error, that is, an underrun, may occur. As a method of preventing the occurrence of underrun, a method of compressing image data to reduce the entire data amount is known. However, when one page of image data is composed of a plurality of line data, if there is a line with a low compression ratio and a large amount of data, an underrun is likely to occur when processing this line data. Become.
[0004]
If such an underrun occurs during printing of a page, for example, if the input image data (original image data) is as shown in FIG. As a result, a large shift occurs in the image printing position. As a result, as shown in FIG. 15B, an image that is far from the original image is printed out.
[0005]
Therefore, conventionally, for line data in which an underrun has occurred, for example, the number of gradations is reduced to reduce the data amount, and in this state, the image data is transferred again and the image is output again to a recording medium such as paper. Is known (for example, see Patent Document 1).
[0006]
[Patent Document 1]
JP-A-9-198203
[0007]
[Problems to be solved by the invention]
However, even when the image is re-output with the number of gradations reduced as described above, underrun may occur again depending on the content of the error, and as a result, the image may not be output. In such a case, the user cannot output a desired image.
[0008]
SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problem, and an object of the present invention is to provide an image processing capable of reliably printing and outputting an image as close as possible to the original image data even when an underrun occurs. An apparatus and an image processing method are provided.
[0009]
[Means for Solving the Problems]
An image processing apparatus according to the present invention includes a storage unit that temporarily stores image data, a transfer unit that reads out the image data stored in the storage unit line by line, and transfers the image data to an image printing unit. A detection unit for detecting the occurrence of an underrun when reading image data from the storage unit, wherein the transfer unit detects the occurrence of the underrun when the detection unit detects the occurrence of the underrun. The substitute data is transferred to the image printing means in place of the original image data that could not be read due to the occurrence.
[0010]
In the image processing apparatus having the above configuration, reading of the image data from the storage unit is performed by the transfer unit. When the detection unit detects the occurrence of the underrun during the reading of the image data by the transfer unit, the underrun occurs. Alternative data replacing the original image data that could not be read is transferred from the transfer means to the image printing means. As a result, the image printing unit prints out the line in which the underrun has occurred by replacing it with the substitute data.
[0011]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0012]
FIG. 1 is a schematic diagram illustrating a configuration example of the image processing apparatus according to the first embodiment of the present invention. The illustrated image processing apparatus includes a FIFO (First-In First-Out) processing unit 11, a controller 12 having a data transfer function, a print processing unit (print processing unit) 13, and an underrun detection unit 14. It has a configuration.
[0013]
The FIFO processing unit 11 generates a bitmap format generated by the drawing processing unit when image data input from an external device such as a host computer via an interface or the like is developed into bitmap data by a drawing processing unit (not shown). Image data is sequentially stored in a predetermined area, and in response to a data read request (output of a data read signal) from the controller 12, the image data is extracted from the predetermined area in the stored order and output to the controller 12. It is. The FIFO processing unit 11 outputs an empty signal to the controller 12 when the image data stored in the predetermined area is exhausted in a state where the data reading request is issued from the controller 12.
[0014]
The controller 12 controls the overall processing operation of the image processing apparatus in accordance with a control program or the like given in advance. The controller 12 outputs a data read signal requesting the reading of image data to the FIFO processing unit 11 according to the request signal from the print processing unit 13, and outputs the data read signal from the FIFO processing unit 11 in response to the data read signal. The image data is transferred (output) to the print processing unit 13. When the controller 12 finishes the read request for the image data for one line to the FIFO processing unit 11, it outputs an input line end signal notifying the end to the underrun detection unit 14.
[0015]
The print processing unit 13 prints out the image data transferred from the controller 12 on a recording medium such as paper. The print processing unit 13 scans the page line by line and repeats the line scan to print out a page image on a recording medium. Prior to performing line scanning, the print processing unit 13 outputs a request signal for requesting transfer of one line of image data at a fixed period, and is transferred from the controller 12 in response to the request signal. The printout (line scan) is performed on the recording medium according to the image data.
[0016]
When transferring image data from the FIFO processing unit 11 to the print processing unit 13 via the controller 12, the underrun detection unit 14 determines whether an underrun has occurred when the controller 12 reads image data from the FIFO processing unit 11. It is to detect. In the underrun detection section 14, a data read signal output from the controller 12 to the FIFO processing section 11 and an empty signal output from the FIFO processing section 11 to the controller 12 in order to actually detect the occurrence of underrun. And monitor. When detecting the occurrence of underrun, the underrun detection unit 14 outputs an underrun detection signal notifying the underrun detection to the controller 12, and turns the underrun detection signal on / off (rising, falling). Is switched in accordance with the input line end signal output from the controller 12.
[0017]
Next, a procedure for processing image data by the image processing apparatus according to the first embodiment of the present invention will be described with reference to the flowchart of FIG. First, when the transfer of image data is started by the controller 12, the value of the number of lines: N is reset to zero (N = 0), and then the value of N is incremented (+1) (steps S11 and S12).
[0018]
Next, when the print processing unit 13 outputs a request signal for requesting the transfer of the image data of the Nth line to the controller 12, the controller 12 receives the request signal and causes the FIFO processing unit 11 to read out the image data of the Nth line. Is output (steps S13 and S14).
[0019]
Next, the FIFO processing unit 11 extracts image data from a predetermined area in response to the read request from the controller 12, and outputs the image data to the controller 12 (Step S15). At this time, the underrun detection unit 14 monitors whether an empty signal has been output from the FIFO processing unit 11 to the controller 12, and if the empty signal has not been output, does not detect the occurrence of underrun. Detects the occurrence of underrun (step S16).
[0020]
Thereafter, if the underrun detection unit 14 does not detect the occurrence of the underrun in step S16, the controller 12 transfers the image data input from the FIFO processing unit 11 to the print processing unit 13 (step S17). Next, the controller 12 determines whether the reading of the image data of the Nth line has been completed (step S18). If it is determined that the reading has not been completed, the process returns to the step S14 to read the data to the FIFO processing unit 11. If the request (output of the data read signal) is continued and it is determined that the processing has been completed, an input line end signal notifying the fact is output to the underrun detection unit 14, and the process proceeds to step S19.
[0021]
On the other hand, when the underrun detection unit 14 detects the occurrence of the underrun in step S16, the process proceeds to step S19 after executing the underrun recovery process (step S20). In step S19, the controller 12 determines whether or not the transfer of the image data of all the lines in the page has been completed. If not, the process returns to step S12. At this point, a series of processes related to the transfer of the image data ends.
[0022]
FIG. 3 is a flowchart showing the procedure of the underrun recovery process performed in step S20. First, when the recovery process is started, the controller 12 outputs substitute data to the print processing unit 13 instead of the original image data that could not be read due to the occurrence of the underrun (Step S201). For example, assuming that the number of gradations of the image data is 256 gradations (0 to 255), this substitute data is gradation data of a white level (gradation value is near 0) or black level (gradation value is 0). (Near 255).
[0023]
Next, the controller 12 determines whether or not a request signal for requesting the transfer of the image data of the (N + 1) th line has been output from the print processing unit 13 (step S202). Then, it is determined whether the reading of the image data of the Nth line is completed (step S203). If it is determined that the reading of the image data of the Nth line has been completed, the process exits the recovery process at that point.
[0024]
On the other hand, when the controller 12 determines that the request signal requesting the transfer of the image data of the (N + 1) th line has been output from the print processing unit 13 in step S202, the value of N is incremented (step S204), and then step S205 is performed. The process also proceeds to step S205 when it is determined in step S203 that the reading of the Nth line of image data has not been completed. In step S205, the controller 12 continues the image data read request (output of the data read signal) to the FIFO processing unit 11, and in step S206, the FIFO processing unit 11 outputs the image data to the controller 12. (Read) is continued. Then, after step S206, the process returns to step S201 to continue the transfer of the substitute data. As a result, the transfer of the substitute data is continued until the end of the line where the underrun has occurred.
[0025]
FIG. 4 shows that the image processing apparatus according to the first embodiment of the present invention has a total of four lines of image data in a page, and an underrun occurs when transferring the image data of the second of the four lines. 6 is a timing chart showing an output state of each signal in the case.
[0026]
First, when the print processing unit 13 outputs a request signal requesting transfer of image data of the first line, the controller 12 receives the request signal and outputs a data read signal to the FIFO processing unit 11. Thus, reading of the first line of image data (data 1) from the FIFO processing unit 11 to the controller 12 is started, and in conjunction with this, the first line of image data (data 1) from the controller 12 to the print processing unit 13 is started. Transfer of data 2) is started.
[0027]
After that, the controller 12 finishes the read request to the FIFO processing unit 11 and lowers the data read signal. Then, the controller 12 adjusts the timing of completion of reading of the first line of image data (data 1) from the FIFO processing unit 11. An input line end signal is output to the run detection unit 14. Then, following the end of reading the first line of image data from the FIFO processing unit 11 to the controller 12, the transfer of the first line of image data from the controller 12 to the print processing unit 13 ends.
[0028]
Subsequently, when the print processing unit 13 outputs a request signal requesting the transfer of the image data of the second line, the controller 12 receives the request signal and outputs a data read signal to the FIFO processing unit 11. As a result, reading of the image data of the second line from the FIFO processing unit 11 and transfer of the image data of the second line to the print processing unit 13 are started. At this time, when the FIFO processing unit 11 outputs an empty signal in a state where the data read signal has risen (that is, a state in which the controller 12 is requesting the FIFO processing unit 11 to read image data), the underrun detection unit 14 Detects the occurrence of underrun and raises an underrun detection signal. At this time, the image data transferred from the controller 12 to the print processing unit 13 is switched from the original image data to the substitute data in a manner linked to the original image data where the underrun occurs.
[0029]
Thereafter, when the empty signal from the FIFO processing unit 11 falls, the reading of the image data is restarted at the same time. When the controller 12 outputs an input line end signal notifying the end of reading of the image data of the second line before the print processing unit 13 outputs a request signal for requesting transfer of the image data of the third line, At this point, the underrun detection signal falls. Therefore, image data transfer is performed for the third and fourth lines in the same manner as in the first line.
[0030]
On the other hand, as shown in FIG. 5, before the controller 12 outputs the input line end signal for notifying the end of the reading of the image data of the second line, the print processing unit 13 transmits the image data of the third line. Is output, the underrun detection unit 14 maintains the rising state of the underrun detection signal. The controller 12 transfers the substitute data for the image data of the third line to the print processing unit 13. Thereafter, before the print processing unit 13 outputs a request signal for requesting transfer of the image data of the fourth line, when the controller 12 outputs an input line end signal for notifying the end of reading of the image data of the third line, At this point, the underrun detection signal falls. Therefore, for the fourth line, the image data is transferred in the same manner as in the first line.
[0031]
As a result, the image (output image) printed out on the recording medium by the print processing unit 13 is as follows. That is, when the timing chart shown in FIG. 4 is applied, as shown in FIG. 6B, only the image data on the second line is partially replaced with substitute data and printed out. When the timing chart shown in FIG. 5 is applied, as shown in FIG. 6A, part of the image data on the second line and all of the image data on the third line are replaced with substitute data. Print out.
[0032]
As described above, when the image data read from the FIFO processing unit 11 is transferred to the print processing unit 13, an underrun occurs. When the occurrence of the underrun is detected by the underrun detection unit 14, the print processing is performed by the controller 12. By transferring the gray level data of the white level or the black level as the substitute data to the unit 13 and continuing the transfer of the substitute data to the end of the line where the underrun has occurred, the print processing unit 13 determines the underrun occurrence point. The section from to the end of the line is printed out as a white or black line image. Therefore, even if an underrun occurs during printing of the page, the printing position does not shift within the page.
[0033]
Therefore, for example, if the original image data is as shown in FIG. 7A and an underrun occurs in one line during the transfer of the image data, the data transfer is performed by the conventional image processing apparatus. 7B, a large shift occurs in the printing position of the image from the point of occurrence of the underrun, as shown in FIG. 7B, but when data transfer is performed by the image processing apparatus according to the embodiment of the present invention, FIG. As shown in (C), only a part of the image data of the line in which the underrun has occurred is output (printed) as substitute data, and there is no shift in the printing position.
[0034]
Further, assuming that the original image data is as shown in FIG. 8A and that underrun occurs continuously in a plurality of lines during the transfer of the image data, the data transfer by the conventional image processing apparatus is performed. 8B, a large shift occurs in the printing position of the image from the underrun occurrence point, as shown in FIG. 8B. However, when data transfer is performed by the image processing apparatus according to the embodiment of the present invention, FIG. As shown in (C), the image data of a plurality of lines in which the underrun has occurred are simply output (printed) as substitute data at a time, and there is no shift in the printing position.
[0035]
Also, if the original image data is as shown in FIG. 9A and if an underrun occurs intermittently in a plurality of lines during the transfer of the image data, the data transfer is performed by the conventional image processing apparatus. 9B, a large shift occurs in the printing position of the image from the underrun occurrence point, as shown in FIG. 9B. However, when data transfer is performed by the image processing apparatus according to the embodiment of the present invention, FIG. As shown in (C), only a part of the image data of a plurality of lines in which an underrun has occurred is output (printed) as substitute data, and no deviation occurs in the printing position.
[0036]
FIG. 10 is a schematic diagram illustrating a configuration example of an image processing apparatus according to the second embodiment of the present invention. The illustrated image processing apparatus includes a line buffer 21, a controller 22 having a data transfer function, a print processing unit (print processing unit) 23, and an underrun detection unit 24.
[0037]
The line buffer 21 is a bitmap format image generated from the drawing processing unit when image data input from an external device such as a host computer via an interface or the like is developed into bitmap data by a drawing processing unit (not shown). Data is stored in a predetermined address area for each line, and in response to a data read request (output of a data read signal) from the controller 22 and address information (output of an address signal) designating an address area of a data storage location, The image data is extracted from the address area specified by the address information and output to the controller 22. The line buffer 21 outputs an empty signal to the controller 22 to notify that the image data is not stored in the address area designated by the controller 22 when the data read request is made from the controller 22.
[0038]
The controller 22 comprehensively controls the processing operation of the entire image processing apparatus according to a control program or the like given in advance. The controller 22 outputs a data read signal requesting reading of image data to the line buffer 21 and an address signal designating a storage area of image data to the line buffer 21 in accordance with a request signal from the print processing unit 23. The image data output from the line buffer 21 in response to the address signal is transferred (output) to the print processing unit 23. Further, when the output (transfer) of one line of image data to the print processing unit 23 is completed, the controller 22 outputs an output line end signal notifying the end to the underrun detection unit 24.
[0039]
The print processing unit 23 prints out the image data transferred from the controller 22 on a recording medium such as paper. The print processing unit 23 scans the page line by line and repeats the line scan to print out a page image on a recording medium. Prior to performing line scanning, the print processing unit 23 outputs a request signal for requesting transfer of one line of image data at a fixed period, and is transferred from the controller 22 in response to the request signal. The printout (line scan) is performed on the recording medium according to the image data.
[0040]
When transferring image data from the line buffer 21 to the print processing unit 23 via the controller 22, the underrun detection unit 24 detects whether an underrun has occurred when the controller 22 reads image data from the line buffer 21. Things. In the underrun detection section 24, in order to actually detect the occurrence of underrun, a data read signal output from the controller 22 to the line buffer 21 and an empty signal output from the line buffer 21 to the controller 22 are output. Monitor. When detecting the occurrence of an underrun, the underrun detection unit 24 outputs an underrun detection signal notifying the occurrence thereof to the controller 22, and the on / off (rising, falling) state of the underrun detection signal. Is switched according to the output line end signal output from the controller 22.
[0041]
Next, a procedure for processing image data by the image processing apparatus according to the second embodiment of the present invention will be described with reference to the flowchart in FIG. First, when the transfer of image data is started by the controller 22, the value of the number of lines: N is reset to zero (N = 0), and then the value of N is incremented (+1) (steps S21, S22).
[0042]
Next, when the print processing unit 23 outputs a request signal requesting the transfer of the image data of the Nth line to the controller 22, the controller 22 receives the request signal and reads out the image data of the Nth line to the line buffer 21. A requested data read signal and an address signal designating a storage area for the image data are output (steps S23 and S24).
[0043]
Next, the line buffer 21 extracts image data from a predetermined address area in response to a read request from the controller 22, and outputs the image data to the controller 22 (Step S25). At this time, the underrun detection unit 24 monitors whether an empty signal is output from the line buffer 21 to the controller 22. If the empty signal is not output, the underrun detection unit 24 does not detect the occurrence of underrun. The occurrence of an underrun is detected (step S26).
[0044]
Thereafter, if the underrun detection unit 24 does not detect the occurrence of the underrun in step S26, the controller 22 transfers the image data input from the line buffer 21 to the print processing unit 23 (step S27). Next, the controller 22 determines whether or not the transfer output of the image data of the Nth line has been completed (step S28). If it is determined that the transfer has not been completed, the process returns to step S24 to read the data to the line buffer 21. If the request (output of the data read signal) is continued and it is determined that the process has been completed, an output line end signal notifying the end is output to the underrun detection unit 24, and the process proceeds to step S29.
[0045]
On the other hand, when the underrun detection unit 24 detects the occurrence of the underrun in step S26, the process proceeds to step S29 after performing the underrun recovery process (step S30). In step S29, the controller 22 determines whether or not the transfer of the image data of all the lines in the page has been completed. If not, the process returns to step S22. At this point, a series of processes related to the transfer of the image data ends.
[0046]
FIG. 12 is a flowchart showing the procedure of the underrun recovery process performed in step S30. First, when the recovery process is started, the controller 22 stops reading image data from the line buffer 21 (Step S301). Next, the controller 22 outputs substitute data to the print processing unit 23 instead of the original image data that could not be read due to the occurrence of the underrun (Step S302). For example, assuming that the number of gradations of the image data is 256 gradations (0 to 255), this substitute data is gradation data of a white level (gradation value is near 0) or black level (gradation value is 0). (Near 255).
[0047]
Thereafter, next, the controller 22 determines whether or not the transfer output of the image data of the Nth line has been completed (step S303). If it is determined that the transfer output has not been completed, the process returns to the step S302 to output the substitute data. If it is determined that the process has been continued and the process has been completed, an output line end signal notifying the fact is output to the underrun detection unit 24 and the process exits the recovery process. As a result, the transfer of the substitute data is continued until the end of the line where the underrun has occurred.
[0048]
FIG. 13 shows that the image processing apparatus according to the second embodiment of the present invention has a total of four lines of image data in a page, and an underrun occurs when transferring the image data of the second of the four lines. 6 is a timing chart showing an output state of each signal in the case.
[0049]
First, when the print processing unit 23 outputs a request signal requesting transfer of image data of the first line, the controller 22 outputs a data read signal and an address signal to the line buffer 21 in response to the request signal. As a result, reading of the first line of image data (data 1) from the line buffer 21 to the controller 22 is started, and in conjunction with this, reading of the first line of image data (data 1) from the controller 22 to the print processing unit 23. The transfer of 2) is started.
[0050]
Thereafter, the controller 22 finishes the read request to the line buffer 21 and lowers the data read signal, and then underruns in accordance with the transfer end timing of the first line of image data (data 2) to the print processing unit 23. An output line end signal is output to the detector 24.
[0051]
Subsequently, when the print processing unit 23 outputs a request signal requesting transfer of the image data of the second line, the controller 22 outputs a data read signal and an address to the line buffer 21 in response to the request signal. As a result, reading of the second line of image data from the line buffer 21 and transfer of the second line of image data to the print processing unit 23 are started. At this time, if the line buffer 21 outputs an empty signal in a state where the data read signal has risen (that is, a state in which the controller 22 is making a request to read the image data to the line buffer 21), the under-run detecting section 24 turns the under-run detecting section 24 under. An underrun detection signal is generated by detecting the occurrence of a run. At this time, the image data transferred from the controller 22 to the print processing unit 23 is switched from the original image data to the substitute data in a manner linked to the original image data where the underrun occurs.
[0052]
Thereafter, when the data transfer to the print processing unit 23 using the substitute data is completed, at the same time, the controller 22 outputs an output line end signal, and the underrun detection unit 24 causes the underrun detection signal to fall. Next, when the print processing unit 23 outputs a request signal requesting transfer of the image data of the third line, and in response to this, the controller 22 reads out the image data of the third line, The image data is transferred in the same manner as described above. Also, when the print processing unit 23 outputs a request signal for requesting the transfer of the image data of the fourth line, and the controller 22 reads out the image data of the fourth line in response to the request signal, The image data is transferred in the same manner as described above.
[0053]
On the other hand, as shown in FIG. 14, the print processing unit 23 outputs a request signal requesting the transfer of the image data of the third line, and in response to this, the controller 22 sends the data read signal to the line buffer 21 and If the line buffer 21 outputs an empty signal when the address signal is output, the underrun detection unit 24 detects the occurrence of the underrun and raises the underrun detection signal. At this time, the controller 22 replaces all of the image data on the third line from the start address with the substitute data and transfers the substitute data to the print processing unit 23. Then, when the transfer of the image data (alternative data) of the third line by the controller 22 is completed, the controller 22 outputs an output line end signal at the same time, and the underrun detection unit 24 causes the underrun detection signal to fall. Next, when the print processing unit 23 outputs a request signal requesting the transfer of the image data of the fourth line, and in response to this, the controller 22 reads out the image data of the fourth line, The image data is transferred in the same manner as described above.
[0054]
As a result, the image (output image) printed out on the recording medium by the print processing unit 23 is as follows. That is, when the timing chart shown in FIG. 13 is applied, as shown in FIG. 6B, only the image data on the second line is partially replaced with substitute data and printed out. When the timing chart shown in FIG. 14 is applied, as shown in FIG. 6A, part of the image data on the second line and all of the image data on the third line are replaced with substitute data. Is printed out.
[0055]
When the image data read from the line buffer 21 is transferred to the print processing unit 23 as described above, an underrun occurs. When the underrun detection unit 24 detects the occurrence of the underrun, 23, the gray level data of the white level or the black level is transferred as substitute data, and the transfer of the substitute data is continued until the end of the line where the underrun has occurred. The section up to the end of the line is printed out as a white or black line image. Therefore, even if an underrun occurs during printing of the page, the printing position does not shift within the page. Accordingly, an output (print) image similar to that of the first embodiment can be obtained.
[0056]
In the first and second embodiments, when an underrun occurs, white-level or black-level gradation data is transferred as substitute data in place of the original image data. However, the gradation value of the substitute data may be set based on the gradation value of the image data around the point where the underrun has occurred. Specifically, an average value of the gradation values of a plurality of pixels existing around the underrun occurrence point may be obtained, and this average value may be set as the gradation value of the substitute data. Further, the gradation value of the image data immediately above the point where the underrun has occurred (one line before) may be set as the gradation value of the substitute data.
[0057]
Further, as an application example of the present invention, when the underrun detection section (14, 24) detects the occurrence of the underrun, the user is notified that the original image data has been replaced with the substitute data due to the occurrence of the underrun. It is good also as composition provided with the means which performs. Specifically, when an underrun detection signal is output from the underrun detection section (14, 24), the underrun detection signal is recognized by the controller (12, 22), and the transfer and printing of all image data are completed. Then, the controller (12, 22) outputs a message display instruction to a display unit (not shown) (for example, a control panel of the image processing apparatus), and in response to the display instruction, the display unit performs replacement printing with substitute data. A message to the effect may be displayed.
[0058]
Further, as another application example of the present invention, in one print job in which printing of a plurality of pages or printing of a plurality of copies is instructed, the under-run detection unit (14, 24) sets one or more pages in one or more pages. Alternatively, when the occurrence of underrun is detected a plurality of times in a plurality of copies, the controller (12, 22) transfers the image data to the print processing unit (13, 23) in accordance with a preset predetermined determination condition. It may be configured to automatically stop (substantially stop the printing process). As a determination condition in this case, for example, the number of lines in which an underrun has occurred is sequentially counted by the controller (12, 22), and when the counted number reaches a predetermined number of lines, the number of lines of the image data is reduced. A configuration in which the transfer is stopped may be considered.
[0059]
Further, as another determination condition, the number of pixels that are replaced with the substitute data and output on the line where the underrun has occurred is counted in order, and when the counted number reaches a predetermined number of pixels, the image data transfer is performed. It is possible to cancel. Also, among the lines in which the underrun has occurred, the number of lines in which the number of pixels replaced and output with the substitute data is equal to or more than a predetermined number is sequentially counted, and when the counted number reaches a predetermined predetermined number of lines. Next, the transfer of the image data may be stopped. It is also conceivable to count the number of lines in which the underrun has occurred continuously, and stop the transfer of the image data when the counted number reaches a predetermined number of continuous lines. By adopting such a configuration, when there is a possibility that an image greatly separated from the original image data may be continuously printed due to frequent occurrence of underrun in one print job, the subsequent print processing is performed. It is possible to stop automatically and prevent unnecessary consumption of a recording medium such as paper or an image recording material such as ink or toner.
[0060]
Further, when the transfer of the image data (substantially the printing process) is stopped in accordance with the above-described determination criteria, it is desirable to have a means for notifying the user of the fact by displaying a message on a display unit or the like. Further, the processing mode for automatically stopping the transfer processing (printing processing) of the image data according to the above criterion and the processing mode for continuing the transfer processing (printing processing) of the image data irrespective of the above criterion are set by the user. It is desirable that the configuration can be arbitrarily selected.
[0061]
【The invention's effect】
As described above, according to the present invention, even when an underrun occurs during the transfer of image data, the line in which the underrun has occurred is replaced with substitute data and printed out, so that the print position can be set as in the related art. An image similar to the original image data can be reliably printed out without any shift.
[Brief description of the drawings]
FIG. 1 is a schematic diagram illustrating a configuration example of an image processing apparatus according to a first embodiment of the present invention.
FIG. 2 is a flowchart (part 1) illustrating a processing procedure of the image processing apparatus according to the first embodiment of the present invention.
FIG. 3 is a flowchart (part 2) illustrating a processing procedure of the image processing apparatus according to the first embodiment of the present invention.
FIG. 4 is a timing chart (part 1) illustrating a processing procedure of the image processing apparatus according to the first embodiment of the present invention.
FIG. 5 is a timing chart (part 2) illustrating a processing procedure of the image processing apparatus according to the first embodiment of the present invention.
FIG. 6 is a diagram illustrating an output image of a page image by the image processing device of the present invention.
FIG. 7 is a comparison diagram (1) of an image output result.
FIG. 8 is a comparison diagram (part 2) of an image output result.
FIG. 9 is a comparison diagram (part 3) of an image output result.
FIG. 10 is a schematic diagram illustrating a configuration example of an image processing apparatus according to a second embodiment of the present invention.
FIG. 11 is a flowchart (part 1) illustrating a processing procedure of the image processing apparatus according to the second embodiment of the present invention.
FIG. 12 is a flowchart (part 2) illustrating a processing procedure of the image processing apparatus according to the second embodiment of the present invention.
FIG. 13 is a timing chart (part 1) illustrating a processing procedure of the image processing apparatus according to the second embodiment of the present invention.
FIG. 14 is a timing chart (part 2) illustrating a processing procedure of the image processing apparatus according to the second embodiment of the present invention.
FIG. 15 is a diagram illustrating a state of a position shift of a print image due to occurrence of an underrun.
[Explanation of symbols]
11: FIFO processing unit, 12, 22: controller, 13, 23: print processing unit, 14, 24: underrun detection unit, 21: line buffer

Claims (8)

画像データを一時的に格納する格納手段と、前記格納手段に格納された前記画像データをラインごとに読み出して画像印刷手段に転送する転送手段と、前記転送手段が前記格納手段から前記画像データを読み出すときにアンダーランの発生有無を検知する検知手段とを備える画像処理装置であって、
前記転送手段は、前記検知手段が前記アンダーランの発生を検知した場合に、当該アンダーランの発生によって読み出せなかった元の画像データに代わる代替データを前記画像印刷手段に転送する
ことを特徴とする画像処理装置。
Storage means for temporarily storing image data, transfer means for reading out the image data stored in the storage means line by line, and transferring the image data to image printing means, wherein the transfer means transfers the image data from the storage means Detecting means for detecting the occurrence of underrun when reading, the image processing apparatus,
The transfer unit, when the detection unit detects the occurrence of the underrun, transfers to the image printing unit, alternative data that replaces the original image data that could not be read due to the occurrence of the underrun. Image processing device.
前記転送手段は、前記アンダーランが発生したラインの終端まで前記代替データの転送を継続する
ことを特徴とする請求項1記載の画像処理装置。
2. The image processing apparatus according to claim 1, wherein the transfer unit continues transferring the substitute data until the end of the line where the underrun has occurred.
前記転送手段は、前記代替データとして、白レベル又は黒レベルの階調データを転送する
ことを特徴とする請求項1記載の画像処理装置。
2. The image processing apparatus according to claim 1, wherein the transfer unit transfers white-level or black-level gradation data as the substitute data.
前記転送手段は、前記代替データの階調値を、前記アンダーランが発生した地点の周辺の画像データの階調値に基づいて設定する
ことを特徴とする請求項1記載の画像処理装置。
2. The image processing apparatus according to claim 1, wherein the transfer unit sets the gradation value of the substitute data based on a gradation value of image data around a point where the underrun has occurred.
前記検知手段が前記アンダーランの発生を検知した場合に、当該アンダーランの発生によって元の画像データが前記代替データに置き換えられたことをユーザーに通知する手段を有する
ことを特徴とする請求項1記載の画像処理装置。
2. The image processing apparatus according to claim 1, wherein when the detection unit detects the occurrence of the underrun, the unit notifies the user that the original image data has been replaced with the substitute data due to the occurrence of the underrun. The image processing apparatus according to any one of the preceding claims.
前記転送手段は、前記検知手段が複数回にわたってアンダーランの発生を検知した場合に、予め設定された所定の判定条件にしたがって画像データの転送処理を中止する
ことを特徴とする請求項1記載の画像処理装置。
2. The image forming apparatus according to claim 1, wherein when the detecting unit detects the occurrence of the underrun a plurality of times, the transferring unit stops the transfer process of the image data according to a predetermined determination condition set in advance. Image processing device.
前記転送手段が前記画像データの転送処理を中止した場合に、その旨をユーザーに通知する手段を有する
ことを特徴とする請求項6記載の画像処理装置。
7. The image processing apparatus according to claim 6, further comprising means for notifying a user when the transfer means has stopped the transfer processing of the image data.
画像データを一時的に格納し、この格納した画像データをラインごとに読み出して画像印刷手段に転送するときにアンダーランが発生した場合、当該アンダーランの発生によって読み出せなかった元の画像データに代わる代替データを前記画像印刷手段に転送する
ことを特徴とする画像処理方法。
Image data is temporarily stored, and when an underrun occurs when the stored image data is read out line by line and transferred to the image printing unit, the original image data that could not be read out due to the occurrence of the underrun is added to the original image data. An image processing method, wherein alternative data is transferred to the image printing means.
JP2002369793A 2002-12-20 2002-12-20 Image processor and image processing method Withdrawn JP2004201192A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002369793A JP2004201192A (en) 2002-12-20 2002-12-20 Image processor and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002369793A JP2004201192A (en) 2002-12-20 2002-12-20 Image processor and image processing method

Publications (1)

Publication Number Publication Date
JP2004201192A true JP2004201192A (en) 2004-07-15

Family

ID=32765908

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002369793A Withdrawn JP2004201192A (en) 2002-12-20 2002-12-20 Image processor and image processing method

Country Status (1)

Country Link
JP (1) JP2004201192A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012123620A (en) * 2010-12-08 2012-06-28 Fujitsu Semiconductor Ltd Data transfer device, data transfer method and semiconductor device
JP2013222040A (en) * 2012-04-16 2013-10-28 Fujitsu Semiconductor Ltd Data transfer device, data transfer method, and semiconductor device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012123620A (en) * 2010-12-08 2012-06-28 Fujitsu Semiconductor Ltd Data transfer device, data transfer method and semiconductor device
JP2013222040A (en) * 2012-04-16 2013-10-28 Fujitsu Semiconductor Ltd Data transfer device, data transfer method, and semiconductor device

Similar Documents

Publication Publication Date Title
JP3161031B2 (en) Image processing device
US9087292B2 (en) Image processing apparatus, control method, and computer program for detecting a failure and showing a handling procedure for eliminating the failure
JP7073634B2 (en) Electronic devices and programs
JP4928497B2 (en) Image processing apparatus, image processing method, image processing program, and storage medium
JP2008006718A (en) Image forming device
JP2004201192A (en) Image processor and image processing method
US8502994B2 (en) Image forming apparatus and method of controlling printing job
JP2007334555A (en) Data transfer device and electronic apparatus
US7023574B2 (en) Multifunctional printer
JP2006263966A (en) Image forming device
JP2004229178A (en) Original image reading and recording device
JP2000177188A (en) Duplicator and memory medium
JP3305079B2 (en) Printing apparatus, information processing apparatus, and control method therefor
JP4323068B2 (en) Image forming apparatus
JP2003211747A (en) Imaging apparatus
JPH09307593A (en) Information processing unit and storage medium
JPH08216484A (en) Method and apparatus for recovering jam of printer
JP3613431B2 (en) Printing apparatus and recording medium recording printing control program
JP2007230020A (en) Image-forming apparatus and control program
JP3109450B2 (en) Computer-readable recording medium recording a data transfer program to a communication terminal device with a printer function
JP2004181769A (en) Printing device
JP2007283528A (en) Image processor and image processing method
JP2010284810A (en) Printer, printer driver, and printing system
JP2005231374A (en) Printer, method for managing memory of the printer and record medium recording program
JP2000187567A (en) Method and device for printing control

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051124

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20070801