余白検出・印刷データ最適化印刷装置
【課題】印刷用紙の余白領域を有効に利用して、印刷用紙を節約することを可能にすると共に精度の高い余白領域の検出、検出した余白領域への印刷データの印刷、先に印刷された印刷データの識別を行う。
【解決手段】インクの吐出を行う印字ヘッド135と、印字ヘッドを搭載するキャリッジ134と、印刷用紙を搬送するエンジン部130とを有し、キャリッジの往復運動をしながら、印字ヘッドからインクを吐出することにより、受信した印刷データに従って所定の印刷データを前記印刷用紙に印刷するインクジェットプリンタにおいて、印刷用紙内の印刷済領域を読み取る手段136と、印刷済領域情報を記憶する手段と、記憶した前記印刷済領域情報を使用して、最大余白領域を検出することができ、印刷データを最大余白領域に印刷するコントローラ部120を有し、印刷用紙内の最大余白領域を検出し、検出された最大余白領域に印刷データを印刷する。
【解決手段】インクの吐出を行う印字ヘッド135と、印字ヘッドを搭載するキャリッジ134と、印刷用紙を搬送するエンジン部130とを有し、キャリッジの往復運動をしながら、印字ヘッドからインクを吐出することにより、受信した印刷データに従って所定の印刷データを前記印刷用紙に印刷するインクジェットプリンタにおいて、印刷用紙内の印刷済領域を読み取る手段136と、印刷済領域情報を記憶する手段と、記憶した前記印刷済領域情報を使用して、最大余白領域を検出することができ、印刷データを最大余白領域に印刷するコントローラ部120を有し、印刷用紙内の最大余白領域を検出し、検出された最大余白領域に印刷データを印刷する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷用紙内の最大余白領域を検出し、検出された最大余白領域に印刷データを印刷することで、余白領域を有効に活用することが出来るようにした印刷装置に関する。
【背景技術】
【0002】
従来のインクジェットプリンタは、ホスト側の端末(例えば、パーソナルコンピュータ)で生成された印刷データを受信し、印字ヘッドを搭載したキャリッジを往復運動させ、印字ヘッドからインクを吐出させることにより、受信した印刷データを給紙された印刷用紙に印刷する。しかしながら、従来のインクジェットプリンタでは、給紙された印刷用紙上に印刷済領域が存在するかどうかを判定せず、印刷用紙の左上から印刷を開始するため、印刷領域が印刷用紙に比べて小さい場合は、印刷用紙内に余白領域が多く残ることになる。このような問題点を改善するために、プリンタ側が、インクキャリッジに取り付けたCCD読み取り手段により、印刷用紙内の印刷済領域部、または、余白領域部を読み取り、新たな印刷データに従う画像が余白領域に印刷可能であるか否かを判定し、印刷可能であると判断された場合、新たな印刷データに従う画像を余白領域に印刷するシステム(例えば、特開2001-96834)が存在する。
【特許文献1】特開2001-96834号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、前記システム(例えば、特開2001-96834)を使用することで、印刷済領域の検出、余白領域への印刷は可能であるが、
a) 余白領域内に収まらない印刷データの印刷は不可能。
【0004】
b) 検出できた余白領域が、本当に、余白領域なのか(例えば、先に印刷されたテンプレートの印刷予定部分なのか)などといった精度の高い余白領域の検出が不可能。
【0005】
c) ユーザが先に印刷された印刷データとの識別を行うことが困難。
などという課題が残されている。
【0006】
そこで、本発明は、印刷用紙の余白領域を有効に利用して、印刷用紙を節約することを可能にすると共に、前記課題a)〜c)を解決するために創作されたものであり、本発明を使用することで、精度の高い余白領域の検出、検出した余白領域への印刷データの印刷、先に印刷された印刷データの識別を行うことが可能になる。
【課題を解決するための手段】
【0007】
本発明は、前記課題を解決するために、余白検出・印刷データ最適化印刷装置に以下の構成を採用する。
【0008】
インクの吐出を行う印字ヘッドと、前記印字ヘッドを搭載するキャリッジと、印刷用紙を搬送するエンジンとを有し、前記キャリッジの往復運動をしながら、前記印字ヘッドからインクを吐出することにより、受信した印刷データに従って所定の印刷データを前記印刷用紙に印刷するインクジェットプリンタにおいて、前記印刷用紙内の印刷済領域を読み取る手段と、前記印刷済領域情報を記憶する手段とを有し、記憶した前記印刷済領域情報を使用して、最大余白領域を検出することができ、前記印刷データを前記最大余白領域に印刷するコントローラ部を有する印刷装置。
【0009】
前記コントローラは、前記印刷済領域情報を使用して、前記印刷用紙を印刷済領域と、余白領域に分割し、余白領域の面積が最大になるものを前記最大余白領域と判定する。
【0010】
前記コントローラは、電子透かし技術を用いて、前記印刷データに電子透かしデータを埋め込み、前記印刷済領域を読み取る手段(例えば、CCDセンサなど)が、前記コントローラにより埋め込まれた電子透かしデータを、前記印刷用紙から検出することで、印刷済領域を検出する。
【0011】
前記コントローラは、前記印刷データが前記最大余白領域内に印刷可能であるかどうかの判定を、前記印刷データの幅と長さが、前記最大余白領域の幅及び長さ以下であるかどうかにより行い、印刷不可能と判定した場合、前記印刷データの幅と前記最大余白領域の幅の比率と、前記印刷データの長さと前記最大余白領域の長さの比率を算出し、比率が小さい方を基準に、前記印刷データを縮小化してから印刷する。
【0012】
前記コントローラは、記憶された前記印刷済領域情報を使用し、前記印刷済領域に枠線を印刷することが出来る。
【発明の効果】
【0013】
前記構成の本発明を使用することで、印刷用紙内に埋め込まれた電子透かしデータを元に、印刷用紙を印刷済領域と余白領域に分割し、検出したすべての余白領域の面積を比較することで、最大余白領域を検出し、検出した最大余白領域のサイズに対して印刷データを最適化することで、受信したすべての印刷データの印刷が可能になり、前記課題a)が解決する。また、電子透かしデータが埋め込まれた領域を印刷済領域と識別するため、前記課題b)が解決する。さらに、印刷済領域に対して、枠線を印刷するため、先に印刷された印刷データとの識別を行うことが容易となり、前記課題c)が解決する。
【発明を実施するための最良の形態】
【0014】
以下、本発明の実施の形態について実施例を図面を用いて説明する。しかし、かかる実施形態例が本発明の技術的範囲を限定するものではない。
【0015】
図 1は、発明にかかわる余白検出・印刷データ最適化印刷装置の構成の一例を示すブロック図である。余白検出・印刷データ最適化印刷装置(100)は、外部端末とのI/F部(110)と、コントローラ部(120)と、エンジン部(130)から構成される。コントローラ部(110)は、外部とのI/F部(110)から受信したデータの解析、エンジン部(130)の制御、記憶装置(122)とのアクセスを行う制御部(121)と、受信した印刷データに関するものの他に、印刷用紙内の印刷済領域と余白領域に関する情報も記憶しておく記憶装置(122)から構成される。エンジン部(130)は、紙搬送部(131)とヘッド駆動部(133)から構成されており、紙搬送部(131)は、印刷用紙を上下に搬送する紙搬送エンジン(132)から構成されている。また、ヘッド駆動部(133)は、キャリッジ(134)を左右に動作制御し、キャリッジ(134)に取り付けられている印字ヘッド(135)で、実際の印字を行う。また、キャリッジ(134)には、印刷済領域を読み取るためのセンサ(136)も取り付けられている。
【0016】
図 2、図 3、図 4、図 5は、本発明の流れを示すフローチャートである。以下では、このフローチャートに沿って本発明の実施の形態について説明する。しかし、かかる実施形態例が本発明の技術的範囲を限定するものではない。
【0017】
まず、1回目の印刷データを印刷用紙に印刷する場合について説明する。S1で、ユーザは、印刷用紙(図 6)を本発明印刷装置(100)に給紙する。印刷用紙(図 6)が給紙されると、制御部(121)は、S2で、記憶装置(122)に格納されている印刷済領域数と余白領域数を0に設定し、S3で、最大余白領域開始位置座標を印刷用紙の左上に位置する座標(0,0)に、最大余白領域終了位置座標を印刷用紙の右下に位置する座標(印刷用紙の幅(X)、印刷用紙の長さ(Y))に初期化する。次に、S4で、制御部(121)は、紙搬送部(131)とヘッド駆動部(133)を利用して、キャリッジ(134)を印刷用紙の左上に位置する座標(0,0)から順に右下に位置する座標(X,Y)まで移動させる。その際、印刷用紙内に電子透かしデータが埋め込まれていれば、キャリッジ(134)に取り付けられたセンサ(136)が電子透かしデータを読込み、電子透かしデータの開始位置座標、電子透かしデータの終了位置座標と、電子透かしデータ数をカウントし、制御部(121)へ受け渡し、制御部(121)が受け取ったデータを記憶装置(122)に記憶する。キャリッジ(134)が、印刷用紙の右下に位置する(X,Y)まで移動し、印刷用紙内のすべての電子透かしデータを読み取った後、制御部(121)が、紙搬送部(131)とヘッド駆動部(133)を利用して、印刷用紙を移動させ、キャリッジ(134)を印刷用紙の左上に位置する座標(0,0)へ移動させる。次に、S5で、制御部(121)が、S4で印刷済領域を検出できたかどうかを判定する。
【0018】
本実施例の1回目の印刷では、電子透かしデータが印刷用紙内に埋め込まれていないとすると、S7へ処理が流れ、制御部(121)が記憶装置(122)上に格納されている余白領域数をインクリメントすることで、余白領域数は1(=最大余白領域)となる。
【0019】
次に、制御部(121)が、S8で余白領域を検出できたかどうかを判定する。ここで、余白領域を検出できなかった(余白領域数=0)場合は、S1で給紙された印刷用紙内に余白領域が存在しないと判断し、S10で印刷データの受信を拒否し、処理が終了する。
【0020】
本実施例の1回目の印刷では、余白領域数が1(=最大余白領域)であるため、S9へ処理が流れる。
【0021】
次に、ユーザは、印刷したいデータを選定し、本発明印刷装置とネットワークケーブルで接続された端末(例えば、パーソナルコンピュータ)上からアプリケーションプログラムを使用して印刷データを本発明印刷装置へ送信する。本発明印刷装置は、S9で印刷データを受信する。
【0022】
本実施例では、S9で受信した1回目の印刷データのサイズを幅=x1(<X)、長さ=y1(<Y)とする。
【0023】
次に、制御部(121)は、S11で、再び、印刷済領域数を用いて、S4で印刷済領域を検出できたかどうかを判定する。S4で印刷済領域を検出した場合は、S12で、検出した印刷済領域に枠線を印刷する。
【0024】
本実施例の1回目の印刷では、S4で印刷済領域は検出しなかったため、S13へ処理が流れる。
【0025】
次に、制御部(121)は、S13で、S9で受信した印刷データが最大余白領域内に印刷可能かどうかを印刷データの幅と長さが最大余白領域の幅及び長さ以下であるかどうかにより判定する。制御部(121)が印刷出来ない場合と判定した場合、つまり、最大余白領域内に印刷データの印刷が出来ない場合は、制御部(121)が、S14で、S9で受信した印刷データに対して、縮小処理を施す。
【0026】
本実施例の1回目の印刷では、最大余白領域(幅=X、長さ=Y)内に印刷データ(幅=x1(<X)、長さ=y1(<Y))が印刷可能であるため、S14の縮小処理は行わない。
【0027】
次に、S15で制御部(121)は、印刷データ内に電子透かし技術を用いて電子透かしデータを埋め込む。電子透かしデータ内には、印刷済領域に関する情報とタイムスタンプを埋め込んでおく。次に、S16で制御部(121)は、紙搬送部(131)とヘッド駆動部(133)を利用して、キャリッジ(134)を最大余白領域開始位置へ移動させ、印刷データの印刷を開始する。
【0028】
本実施例では、1回目の印刷時、最大余白開始位置は、(0,0)であるため、(0,0)からS9で受信した印刷データの印刷を開始する。
【0029】
印刷終了後、S17で印刷用紙を排紙し、1回目の印刷が終了する。
【0030】
本実施例の1回目の印刷では、印刷終了後、印刷用紙は、図 7のようになる。ここで、p1x=x1,p1y=y1 である。また、以下では、本実施例で新たに印刷された領域を印刷済領域Aと呼ぶ。
【0031】
次に、2回目の印刷データを印刷用紙の余白領域に印刷する場合について説明する。S1で、ユーザは既に1回印刷データが印刷されている印刷用紙を本発明印刷装置に給紙する。
【0032】
本実施例の2回目の印刷では、給紙された印刷用紙(図 7)内の領域((0,0)〜(p1x,p1y))には、1回目の印刷データと共に、電子透かしデータが印刷されている。
【0033】
印刷用紙が給紙されると、1回目の印刷時と同様に、制御部(121)は、S2で、記憶装置(122)に格納されている印刷済領域数と余白領域数を0に設定し、S3で、最大余白領域開始位置座標を印刷用紙の左上に位置する座標(0,0)に、最大余白領域終了位置座標を印刷用紙の右下に位置する座標(印刷用紙の幅(X)、印刷用紙の長さ(Y))に初期化する。次に、S4で、制御部(121)は、紙搬送部(131)とヘッド駆動部(133)を利用して、キャリッジ(134)を印刷用紙の左上に位置する座標(0,0)から順に右下に位置する座標(X,Y)まで移動させる。その際、印刷用紙内に電子透かしデータが埋め込まれていれば、キャリッジ(134)に取り付けられたセンサ(136)が電子透かしデータを読込み、印刷済領域の開始位置座標、終了位置座標、電子透かしデータ内に埋め込まれたタイムスタンプ、電子透かしデータ数、つまり、印刷済領域数をカウントし、制御部(121)へ受け渡し、制御部(121)が受け取ったデータを記憶装置(122)に記憶する。
【0034】
本実施例では、2回目の印刷時には、電子透かしデータ数、つまり、印刷済領域数が1であり、印刷済領域開始位置と印刷済領域終了位置は、それぞれ、(0,0)と(p1x,p1y)である印刷済領域Aと、印刷済領域Aが印刷された時のタイムスタンプが検出でき、これらの値が記憶装置(122)に記憶される。
【0035】
キャリッジ(134)が、印刷用紙の右下に位置する(X,Y)まで移動し、印刷用紙内の全透かしデータを読み取った後、1回目の印刷時と同様に、制御部(121)が、紙搬送部(131)とヘッド駆動部(133)を利用して、印刷用紙を移動させ、キャリッジ(134)を印刷用紙の左上に位置する座標(0,0)へ移動させる。次にS5で、制御部(121)が、S4で印刷済領域を検出できたかどうかを判定する。
【0036】
本実施例の、2回目の印刷では、印刷済領域数が1であるため、S6の余白領域検出処理へ処理が流れる。
【0037】
以下、図 3の余白領域検出処理について説明する。制御部(121)は、S6.1で、S4で抽出できた印刷済領域数を余白領域検索回数に代入する。次に、S6.2へ流れ、このループ処理内で、最大余白領域の座標と余白領域数を検出する。制御部(121)が、S6.3で、S4で抽出できた印刷済領域開始位置座標と、印刷済領域終了位置座標を記憶装置(122)から取り出す。
【0038】
本実施例では、印刷済領域として印刷済領域A(開始位置座標(0,0)、終了位置座標(p1x、p1y))が記憶装置(122)から取り出される。
【0039】
次に、S6.4で、制御部(121)がS6.3で取り出した印刷済領域の右領域に余白領域が存在するかを印刷済領域の幅と最大余白領域の幅を比較することで判定する。印刷済領域の幅 < 最大余白領域の幅 の場合、S6.3で取り出した印刷済領域の右領域に余白領域が存在することになるため、S6.5に処理が流れ、制御部(121)が、余白領域開始位置座標と余白領域終了位置座標を算出し、S6.6で余白領域数をインクリメントし、それぞれの値を記憶装置(122)へ記憶させる。
【0040】
本実施例では、印刷済領域Aの幅(p1x)< 最大余白領域の幅(X)であるため、印刷済領域Aの右領域に余白領域が存在することになり、余白領域開始位置座標が(印刷済領域A終了位置のX座標=p1x、印刷済領域A開始位置のY座標=0)となり、余白領域終了位置座標が(最大余白領域終了位置のX座標=X、印刷済領域A終了位置のY座標=p1y))となる。ここで算出した余白領域を以下、余白領域Aと呼ぶ(図 8)。
【0041】
次に、S6.7で、制御部(121)がS6.3で取り出した印刷済領域の下領域に余白領域が存在するかを印刷済領域の長さと最大余白領域の長さを比較することで判定する。印刷済領域の長さ < 最大余白領域の長さ の場合、S6.3で取り出した印刷済領域Aの下領域に余白領域が存在することになるため、S6.8に処理が流れ、制御部(121)が、余白領域開始位置座標と余白領域終了位置座標を算出し、S6.9で余白領域数をインクリメントし、それぞれの値を記憶装置(122)へ記憶させる。
【0042】
本実施例では、印刷済領域Aの長さ(p1y)< 最大余白領域の長さ(Y)であるため、印刷済領域Aの下領域に余白領域が存在することになり、余白領域開始位置座標が(印刷済領域A開始位置のX座標=0、印刷済領域A終了位置のY座標=p1y)となり、余白領域終了位置座標が(最大余白領域終了位置のX座標=X、最大余白領域終了位置のY座標=Y)となる。ここで算出した余白領域を以下、余白領域Bと呼ぶ(図 9)。
【0043】
次に、制御部(121)が、S6.10で、検出できた余白領域を利用して、最大余白領域を検出する。
【0044】
本実施例では、余白領域Aと余白領域Bが検出されたので、上記2つの余白領域について最大余白領域を検出することになる。
【0045】
以下、図 4の最大余白領域検出処理について説明する。制御部(121)が、S6.10.1で、検出できた全ての余白領域に対して余白領域のサイズを 余白領域の幅×余白領域の長さ で算出する。次に、S6.10.2で、S6.10.1で算出した余白領域のサイズが最大になるものを最大余白領域に設定し、記憶装置(122)に記憶させる。
【0046】
本実施例では、余白領域A(サイズ=(X−p1x)×p1y)と余白領域B(サイズ=X×(Y−p1y))が検出できており、ここで、(X−p1x)×p1y < X×(Y−p1y)とすると、最大余白領域は余白領域Bと判定され、最大余白領域開始位置は、(0、p1y)となり、最大余白領域終了位置は、(X,Y)となる(図 9参照)。
【0047】
最大余白領域検出後、制御部(121)は、S6.11で、余白領域検索回数と、余白領域数をデクリメントし、S6.2に処理が流れる。
【0048】
本実施例では、S6.11で、余白領域検索回数をデクリメントした結果0となるため、S6.2のループ処理は抜け、図 2のS8に処理が移る。また、本実施例の2回目の印刷では、S6の余白領域検出処理で余白領域を検出できたため、S9へ流れる。
【0049】
次に、1回目の印刷時と同様に、ユーザは、印刷したいデータを選定し、プリンタとネットワークケーブルで接続された端末(例えば、パーソナルコンピュータ)上からアプリケーションプログラムを使用して本発明印刷装置へ送信する。本発明印刷装置は、S9で、印刷データを受信する。
【0050】
本実施例では、S9で受信した2回目の印刷データのサイズを幅=x2(<X)、長さ=y2(<Y−p1y)とする。
【0051】
次に、制御部(121)は、S11で、印刷済領域数を用いて、S4で印刷済領域を検出できたかどうかを判定する。印刷済領域を検出できていた場合は、S12で検出した印刷済領域上に枠線を印刷する。この枠線を印刷することで、ユーザは、前回の印刷箇所と今回の印刷箇所の違いを特定することが容易になる。
【0052】
本実施例の2回目の印刷では、S4で印刷済領域を検出できたため、S12へ処理が流れ、S4で検出した印刷済領域に枠線を印刷する。本実施例では、図 10のように、印刷済領域A(開始位置(0,0)、終了位置(p1x,p1y))に枠線が印刷される。
【0053】
S12で枠線を印刷した後、S13へ処理が流れ、制御部(121)が、S9で受信した印刷データが最大余白領域内に印刷可能かどうかを印刷データの幅と長さが最大余白領域の幅及び長さ以下であるかどうかにより判定する。制御部(121)が印刷出来ないと判定した場合は、制御部(121)が、S14でS9で受信した印刷データに対して、縮小処理を施す。
【0054】
本実施例の2回目の印刷では、最大余白領域(幅=X、長さ=Y−p1y)内に、印刷データ(幅=x2(<X)、長さ=y2(<Y−p1y))が印刷可能であるため、S14の縮小処理は行わない。
【0055】
次に、S15で制御部(121)は、印刷データ内に電子透かし技術を用いて電子透かしデータを埋め込む。1回目の印刷時と同様に、電子透かしデータ内には、印刷済領域に関する情報とタイムスタンプを埋め込んでおく。次に、S16で制御部(121)は、紙搬送部(131)とヘッド駆動部(133)を利用して、キャリッジ(134)を最大余白領域開始位置へ移動させ、印刷データの印刷を開始する。
【0056】
本実施例では、2回目の印刷時、最大余白開始位置は、(0,p1y)であるため、(0,p1y)から印刷データの印刷を開始する。
【0057】
印刷終了後、S17で印刷用紙を排紙し、2回目の印刷が終了する。
【0058】
本実施例では、2回目の印刷終了後、印刷用紙は図 11のようになる。ここで、p2x=x2,p2y=y2+p1y である。また、以下では、新たに印刷された領域を印刷済領域Bと呼ぶ。
【0059】
次に、3回目の印刷データを印刷用紙の余白領域に印刷する場合について説明する。S1で、ユーザは既に2回印刷データが印刷されている印刷用紙を本発明印刷装置に給紙する。
【0060】
本実施例の3回目の印刷では、給紙された印刷用紙(図 11)内の領域((0,0)〜(p1x,p1y)と(0,p1y)〜(p2x,p2y))には、印刷データと共に、電子透かしデータが印刷されている。
【0061】
印刷用紙(図 11)が給紙されると、1、2回目の印刷時と同様に、制御部(121)は、S2で、印刷済領域数と余白領域数を0に設定し、S3で、最大余白領域開始位置座標を印刷用紙の左上に位置する(0,0)に、最大余白領域終了位置座標を印刷用紙の右下に位置する(印刷用紙の幅(X)、印刷用紙の長さ(Y))に初期化する。次に、1、2回目の印刷時と同様に、S4で、制御部(121)は、紙搬送部(131)とヘッド駆動部(133)を利用して、キャリッジ(134)を印刷用紙の左上に位置する座標(0,0)から順に右下に位置する座標(X,Y)まで移動させる。 その際、2回目の印刷時と同様に、印刷用紙内に電子透かしデータが埋め込まれていれば、キャリッジ(134)に取り付けられたセンサ(136)が電子透かしデータを読込み、印刷済領域の開始位置座標、終了位置座標、電子透かしデータ内に埋め込まれたタイムスタンプ、電子透かしデータ数、つまり、印刷済領域数をカウントし、制御部(121)へ受け渡し、制御部(121)が受け取ったデータを記憶装置(122)に記憶する。
【0062】
本実施例では、3回目の印刷時には、印刷用紙には、印刷済領域Aと印刷済領域Bが印刷されている(図 11)ため、印刷済領域数が2となり、印刷済領域数、印刷済領域Aの開始位置、終了位置、印刷済領域Aが印刷された時のタイムスタンプと印刷済領域Bの開始位置、終了位置、印刷済領域Bが印刷された時のタイムスタンプが検出でき、これらの値が記憶装置(122)に記憶される。
【0063】
キャリッジ(134)が、印刷用紙の右下に位置する(X,Y)まで移動し、印刷用紙内のすべての電子透かしデータを読み取った後、1、2回目の印刷時と同様に、制御部(121)が、紙搬送部(131)とヘッド駆動部(133)を利用して、印刷用紙を移動させ、キャリッジ(134)を印刷用紙の左上に位置する座標(0,0)へ移動させる。次にS5で、制御部(121)が、S4で印刷済領域を検出できたかどうかを判定する。
【0064】
本実施例の、3回目の印刷では、印刷済領域数が2であるため、S6の余白領域検出処理へ処理が流れる。
【0065】
以下、2回目の印刷時と同様に、図 3の余白領域検出処理について説明する。制御部(121)は、S6.1で、S4で抽出できた印刷済領域数を余白領域検索回数に代入する。
【0066】
本実施例では、印刷済領域数は2であるため、余白領域検索回数は2になる。
【0067】
次に、S6.2の処理へ流れ、このループ処理内で、最大余白領域と余白領域数を検出する。制御部(121)は、S6.3で、S4で検出できた印刷済領域開始位置座標と、印刷済領域終了位置座標を記憶装置(122)から取り出す。次に、S6.4〜S6.9でS6.3で取り出した印刷済領域に対し、2回目の印刷時と同様に、印刷済領域の右領域と下領域に余白領域が存在するかを判定し、S6.10で最大余白領域を検出する。以降、S6.2のループ処理内で、制御部(121)が、検出できた最大余白領域をベースに再度、余白領域の検出、最大余白領域の更新を行っていく。
【0068】
本実施例では、S6.3で、まず、タイムスタンプの小さい印刷済領域Aを取り出し、S6.4〜S6.9で印刷済領域Aに対し、右領域の余白領域(開始位置(X,p1y)、終了位置(p1x,0))と下領域の余白領域(開始位置(0,p1y)、終了位置(X,Y))を検出することができ、S6.10で、最大余白領域は余白領域Bと判定され、最大余白領域開始位置(0,p1y)、最大余白領域終了位置(X,Y)となる。次に、S6.11で、余白領域数と余白領域検索回数をデクリメントし、S6.2の処理へ流れる。ここでは、デクリメントした結果、余白領域検索回数が1であるため、再度、S6.3へ処理が流れる。S6.3では、印刷済領域Bが記憶装置(122)から取り出されることになり、S6.4で印刷済領域Bの幅(p2x)と最大余白領域の幅(X)を比較するが、p2x<X であるため、印刷済領域Bの右領域に余白領域が存在すると判定され、S6.5,S6.6に処理が流れる。その結果、右領域の余白領域(開始位置(p2x,p1y)、終了位置(X,p2y))が検出される。以下、検出された印刷済領域Bに対する右領域の余白領域を余白領域B1と呼ぶ。次に、S6.7で、印刷済領域Bの長さ(p2y)と最大余白領域のY座標(Y)を比較するが、p2y<Yであるため、印刷済領域Bの下領域に余白領域(開始位置(0,p2y)、終了位置(X,Y))が検出される。以下、印刷済領域Bに対する下領域の余白領域を余白領域B2と呼ぶ。ここまでの処理の中で、検出できた余白領域は、図 12のように、余白領域A(開始位置(p1x,0)、終了位置(X,p1y))、余白領域B1(開始位置(p1x,0)、終了位置(X,p1y))、余白領域B2(開始位置(p1x,0)、終了位置(X,p1y))の3つである。検出できた3つの余白領域に関する情報を利用して、S6.10で最大余白領域をS6.10.1で検出できた上記3つの余白領域のサイズを余白領域の幅×余白領域の長さ を求め、それぞれのサイズを比較することで算出する。本実施例では、余白領域B2のサイズが最大であるとすると、S6.10.2で最大余白領域は余白領域B1と判定され、最大余白領域開始位置は、(p2x,p1y)となり、最大余白領域終了位置は、(X,p2y)となる(図 12)。次に、S6.11で余白領域数と余白領域検索回数をデクリメントし、再度S6.2の処理に流れるが、余白領域検索回数が0となるため、S6.2のループ処理には入らず、S8の処理に流れる。また、本実施例の3回目の印刷では、S6の余白領域検出処理で余白領域を検出できたため、S9へ流れる。
【0069】
次に、1、2回目の印刷時と同様に、ユーザは、印刷したいデータを選定し、印刷装置とネットワークケーブルで接続された端末(例えば、パーソナルコンピュータ)上からアプリケーションプログラムを使用して本発明印刷装置へ送信する。本発明印刷装置は、S9で、印刷データを受信する。
【0070】
本実施例では、S9で受信した3回目の印刷データのサイズを幅=x3(<X−p2x)、長さ=y3(>p2y−p1y)とする。
【0071】
次に、制御部(121)は、S11で、再び、印刷済領域数を用いて、S4で印刷済領域を検出できたかどうかを判定する。
【0072】
本実施例の3回目の印刷では、図 12のように、S4で印刷済領域A、印刷済領域Bを検出できたため、2回目の印刷時と同様に、S12へ処理が流れ、S4で検出した印刷済領域Aと印刷済領域Bに枠線を印刷する(図 13)。
【0073】
次に、S13へ処理が流れ、制御部(121)が、S13で、S9で受信した印刷データが最大余白領域内に印刷可能かどうかを判定する。
【0074】
本実施例では、S9で受信した3回目の印刷データの長さ(y3)が、最大余白領域の長さ(p2y−p1y)より大きいため、S14でS9で受信した印刷データに対して、制御部(121)が、縮小処理を施す。
【0075】
以下、図 5の印刷データ縮小処理について説明する。S14.1で、制御部(121)は、受信した印刷データの幅と最大余白領域の幅の比率と、印刷データの長さと最大余白領域の長さの比率を算出し、S14.2〜S14.4で、比率が小さい方の値をデータ縮小率と算出する。S14.5で、受信した印刷データを算出されたデータ縮小率に沿って縮小化する。
【0076】
本実施例では、(X−p2x)/x3 >(p2y−p1y)/y3 であるため、データ縮小率は、(p2y−p1y)/y3となり、この縮小率に沿って受信した印刷データを縮小化する。
【0077】
次に、S15で制御部(121)は、印刷データ内に電子透かし技術を用いて電子透かしデータを埋め込む。1、2回目の印刷時と同様に、電子透かしデータの内容は、センサ部が識別できるものならば、特に指定はしない。次に、S16で制御部(121)は、紙搬送部(131)とヘッド駆動部(133)を利用して、キャリッジ(134)を最大余白領域開始位置へ移動させ、印刷データの印刷を開始する。
【0078】
本実施例では、3回目の印刷時、最大余白開始位置は、(p2x,p1y)であるため、(p2x,p1y)から印刷データの印刷を開始する。
【0079】
印刷終了後、S17で印刷用紙を排紙し、3回目の印刷が終了する。
【0080】
本実施例では、印刷終了後、印刷用紙は、図 14のようになる。ここで、p3x=x3,p3y=y3+p1y である。
【0081】
4回目の印刷以降も、1〜3回目の印刷と同様に、S1〜S16の処理で、最大余白領域を検出し、検出した最大余白領域内にデータを印刷する形となる。
【図面の簡単な説明】
【0082】
【図1】本発明の一実施形態の構成を示すブロック図
【図2】本発明のメイン処理動作を説明するためのフローチャート
【図3】本発明の余白領域検出処理を説明するためのフローチャート
【図4】本発明の最大余白領域検出処理を説明するためのフローチャート
【図5】本発明の印刷データ縮小処理を説明するためのフローチャート
【図6】本発明のメイン処理動作を説明するためのフローチャート
【図7】本発明を使用して1回目の印刷データの印刷を行った場合の一例
【図8】本発明を使用して余白領域の検出を行った場合の一例
【図9】本発明を使用して余白領域の検出を行った場合の一例
【図10】本発明を使用して印刷済領域に枠線の印刷を行った場合の一例
【図11】本発明を使用して2回目の印刷データの印刷を行った場合の一例
【図12】本発明を使用して余白領域の検出を行った場合の一例
【図13】本発明を使用して印刷済領域に枠線の印刷を行った場合の一例
【図14】本発明を使用して3回目の印刷データの印刷を行った場合の一例
【技術分野】
【0001】
本発明は、印刷用紙内の最大余白領域を検出し、検出された最大余白領域に印刷データを印刷することで、余白領域を有効に活用することが出来るようにした印刷装置に関する。
【背景技術】
【0002】
従来のインクジェットプリンタは、ホスト側の端末(例えば、パーソナルコンピュータ)で生成された印刷データを受信し、印字ヘッドを搭載したキャリッジを往復運動させ、印字ヘッドからインクを吐出させることにより、受信した印刷データを給紙された印刷用紙に印刷する。しかしながら、従来のインクジェットプリンタでは、給紙された印刷用紙上に印刷済領域が存在するかどうかを判定せず、印刷用紙の左上から印刷を開始するため、印刷領域が印刷用紙に比べて小さい場合は、印刷用紙内に余白領域が多く残ることになる。このような問題点を改善するために、プリンタ側が、インクキャリッジに取り付けたCCD読み取り手段により、印刷用紙内の印刷済領域部、または、余白領域部を読み取り、新たな印刷データに従う画像が余白領域に印刷可能であるか否かを判定し、印刷可能であると判断された場合、新たな印刷データに従う画像を余白領域に印刷するシステム(例えば、特開2001-96834)が存在する。
【特許文献1】特開2001-96834号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、前記システム(例えば、特開2001-96834)を使用することで、印刷済領域の検出、余白領域への印刷は可能であるが、
a) 余白領域内に収まらない印刷データの印刷は不可能。
【0004】
b) 検出できた余白領域が、本当に、余白領域なのか(例えば、先に印刷されたテンプレートの印刷予定部分なのか)などといった精度の高い余白領域の検出が不可能。
【0005】
c) ユーザが先に印刷された印刷データとの識別を行うことが困難。
などという課題が残されている。
【0006】
そこで、本発明は、印刷用紙の余白領域を有効に利用して、印刷用紙を節約することを可能にすると共に、前記課題a)〜c)を解決するために創作されたものであり、本発明を使用することで、精度の高い余白領域の検出、検出した余白領域への印刷データの印刷、先に印刷された印刷データの識別を行うことが可能になる。
【課題を解決するための手段】
【0007】
本発明は、前記課題を解決するために、余白検出・印刷データ最適化印刷装置に以下の構成を採用する。
【0008】
インクの吐出を行う印字ヘッドと、前記印字ヘッドを搭載するキャリッジと、印刷用紙を搬送するエンジンとを有し、前記キャリッジの往復運動をしながら、前記印字ヘッドからインクを吐出することにより、受信した印刷データに従って所定の印刷データを前記印刷用紙に印刷するインクジェットプリンタにおいて、前記印刷用紙内の印刷済領域を読み取る手段と、前記印刷済領域情報を記憶する手段とを有し、記憶した前記印刷済領域情報を使用して、最大余白領域を検出することができ、前記印刷データを前記最大余白領域に印刷するコントローラ部を有する印刷装置。
【0009】
前記コントローラは、前記印刷済領域情報を使用して、前記印刷用紙を印刷済領域と、余白領域に分割し、余白領域の面積が最大になるものを前記最大余白領域と判定する。
【0010】
前記コントローラは、電子透かし技術を用いて、前記印刷データに電子透かしデータを埋め込み、前記印刷済領域を読み取る手段(例えば、CCDセンサなど)が、前記コントローラにより埋め込まれた電子透かしデータを、前記印刷用紙から検出することで、印刷済領域を検出する。
【0011】
前記コントローラは、前記印刷データが前記最大余白領域内に印刷可能であるかどうかの判定を、前記印刷データの幅と長さが、前記最大余白領域の幅及び長さ以下であるかどうかにより行い、印刷不可能と判定した場合、前記印刷データの幅と前記最大余白領域の幅の比率と、前記印刷データの長さと前記最大余白領域の長さの比率を算出し、比率が小さい方を基準に、前記印刷データを縮小化してから印刷する。
【0012】
前記コントローラは、記憶された前記印刷済領域情報を使用し、前記印刷済領域に枠線を印刷することが出来る。
【発明の効果】
【0013】
前記構成の本発明を使用することで、印刷用紙内に埋め込まれた電子透かしデータを元に、印刷用紙を印刷済領域と余白領域に分割し、検出したすべての余白領域の面積を比較することで、最大余白領域を検出し、検出した最大余白領域のサイズに対して印刷データを最適化することで、受信したすべての印刷データの印刷が可能になり、前記課題a)が解決する。また、電子透かしデータが埋め込まれた領域を印刷済領域と識別するため、前記課題b)が解決する。さらに、印刷済領域に対して、枠線を印刷するため、先に印刷された印刷データとの識別を行うことが容易となり、前記課題c)が解決する。
【発明を実施するための最良の形態】
【0014】
以下、本発明の実施の形態について実施例を図面を用いて説明する。しかし、かかる実施形態例が本発明の技術的範囲を限定するものではない。
【0015】
図 1は、発明にかかわる余白検出・印刷データ最適化印刷装置の構成の一例を示すブロック図である。余白検出・印刷データ最適化印刷装置(100)は、外部端末とのI/F部(110)と、コントローラ部(120)と、エンジン部(130)から構成される。コントローラ部(110)は、外部とのI/F部(110)から受信したデータの解析、エンジン部(130)の制御、記憶装置(122)とのアクセスを行う制御部(121)と、受信した印刷データに関するものの他に、印刷用紙内の印刷済領域と余白領域に関する情報も記憶しておく記憶装置(122)から構成される。エンジン部(130)は、紙搬送部(131)とヘッド駆動部(133)から構成されており、紙搬送部(131)は、印刷用紙を上下に搬送する紙搬送エンジン(132)から構成されている。また、ヘッド駆動部(133)は、キャリッジ(134)を左右に動作制御し、キャリッジ(134)に取り付けられている印字ヘッド(135)で、実際の印字を行う。また、キャリッジ(134)には、印刷済領域を読み取るためのセンサ(136)も取り付けられている。
【0016】
図 2、図 3、図 4、図 5は、本発明の流れを示すフローチャートである。以下では、このフローチャートに沿って本発明の実施の形態について説明する。しかし、かかる実施形態例が本発明の技術的範囲を限定するものではない。
【0017】
まず、1回目の印刷データを印刷用紙に印刷する場合について説明する。S1で、ユーザは、印刷用紙(図 6)を本発明印刷装置(100)に給紙する。印刷用紙(図 6)が給紙されると、制御部(121)は、S2で、記憶装置(122)に格納されている印刷済領域数と余白領域数を0に設定し、S3で、最大余白領域開始位置座標を印刷用紙の左上に位置する座標(0,0)に、最大余白領域終了位置座標を印刷用紙の右下に位置する座標(印刷用紙の幅(X)、印刷用紙の長さ(Y))に初期化する。次に、S4で、制御部(121)は、紙搬送部(131)とヘッド駆動部(133)を利用して、キャリッジ(134)を印刷用紙の左上に位置する座標(0,0)から順に右下に位置する座標(X,Y)まで移動させる。その際、印刷用紙内に電子透かしデータが埋め込まれていれば、キャリッジ(134)に取り付けられたセンサ(136)が電子透かしデータを読込み、電子透かしデータの開始位置座標、電子透かしデータの終了位置座標と、電子透かしデータ数をカウントし、制御部(121)へ受け渡し、制御部(121)が受け取ったデータを記憶装置(122)に記憶する。キャリッジ(134)が、印刷用紙の右下に位置する(X,Y)まで移動し、印刷用紙内のすべての電子透かしデータを読み取った後、制御部(121)が、紙搬送部(131)とヘッド駆動部(133)を利用して、印刷用紙を移動させ、キャリッジ(134)を印刷用紙の左上に位置する座標(0,0)へ移動させる。次に、S5で、制御部(121)が、S4で印刷済領域を検出できたかどうかを判定する。
【0018】
本実施例の1回目の印刷では、電子透かしデータが印刷用紙内に埋め込まれていないとすると、S7へ処理が流れ、制御部(121)が記憶装置(122)上に格納されている余白領域数をインクリメントすることで、余白領域数は1(=最大余白領域)となる。
【0019】
次に、制御部(121)が、S8で余白領域を検出できたかどうかを判定する。ここで、余白領域を検出できなかった(余白領域数=0)場合は、S1で給紙された印刷用紙内に余白領域が存在しないと判断し、S10で印刷データの受信を拒否し、処理が終了する。
【0020】
本実施例の1回目の印刷では、余白領域数が1(=最大余白領域)であるため、S9へ処理が流れる。
【0021】
次に、ユーザは、印刷したいデータを選定し、本発明印刷装置とネットワークケーブルで接続された端末(例えば、パーソナルコンピュータ)上からアプリケーションプログラムを使用して印刷データを本発明印刷装置へ送信する。本発明印刷装置は、S9で印刷データを受信する。
【0022】
本実施例では、S9で受信した1回目の印刷データのサイズを幅=x1(<X)、長さ=y1(<Y)とする。
【0023】
次に、制御部(121)は、S11で、再び、印刷済領域数を用いて、S4で印刷済領域を検出できたかどうかを判定する。S4で印刷済領域を検出した場合は、S12で、検出した印刷済領域に枠線を印刷する。
【0024】
本実施例の1回目の印刷では、S4で印刷済領域は検出しなかったため、S13へ処理が流れる。
【0025】
次に、制御部(121)は、S13で、S9で受信した印刷データが最大余白領域内に印刷可能かどうかを印刷データの幅と長さが最大余白領域の幅及び長さ以下であるかどうかにより判定する。制御部(121)が印刷出来ない場合と判定した場合、つまり、最大余白領域内に印刷データの印刷が出来ない場合は、制御部(121)が、S14で、S9で受信した印刷データに対して、縮小処理を施す。
【0026】
本実施例の1回目の印刷では、最大余白領域(幅=X、長さ=Y)内に印刷データ(幅=x1(<X)、長さ=y1(<Y))が印刷可能であるため、S14の縮小処理は行わない。
【0027】
次に、S15で制御部(121)は、印刷データ内に電子透かし技術を用いて電子透かしデータを埋め込む。電子透かしデータ内には、印刷済領域に関する情報とタイムスタンプを埋め込んでおく。次に、S16で制御部(121)は、紙搬送部(131)とヘッド駆動部(133)を利用して、キャリッジ(134)を最大余白領域開始位置へ移動させ、印刷データの印刷を開始する。
【0028】
本実施例では、1回目の印刷時、最大余白開始位置は、(0,0)であるため、(0,0)からS9で受信した印刷データの印刷を開始する。
【0029】
印刷終了後、S17で印刷用紙を排紙し、1回目の印刷が終了する。
【0030】
本実施例の1回目の印刷では、印刷終了後、印刷用紙は、図 7のようになる。ここで、p1x=x1,p1y=y1 である。また、以下では、本実施例で新たに印刷された領域を印刷済領域Aと呼ぶ。
【0031】
次に、2回目の印刷データを印刷用紙の余白領域に印刷する場合について説明する。S1で、ユーザは既に1回印刷データが印刷されている印刷用紙を本発明印刷装置に給紙する。
【0032】
本実施例の2回目の印刷では、給紙された印刷用紙(図 7)内の領域((0,0)〜(p1x,p1y))には、1回目の印刷データと共に、電子透かしデータが印刷されている。
【0033】
印刷用紙が給紙されると、1回目の印刷時と同様に、制御部(121)は、S2で、記憶装置(122)に格納されている印刷済領域数と余白領域数を0に設定し、S3で、最大余白領域開始位置座標を印刷用紙の左上に位置する座標(0,0)に、最大余白領域終了位置座標を印刷用紙の右下に位置する座標(印刷用紙の幅(X)、印刷用紙の長さ(Y))に初期化する。次に、S4で、制御部(121)は、紙搬送部(131)とヘッド駆動部(133)を利用して、キャリッジ(134)を印刷用紙の左上に位置する座標(0,0)から順に右下に位置する座標(X,Y)まで移動させる。その際、印刷用紙内に電子透かしデータが埋め込まれていれば、キャリッジ(134)に取り付けられたセンサ(136)が電子透かしデータを読込み、印刷済領域の開始位置座標、終了位置座標、電子透かしデータ内に埋め込まれたタイムスタンプ、電子透かしデータ数、つまり、印刷済領域数をカウントし、制御部(121)へ受け渡し、制御部(121)が受け取ったデータを記憶装置(122)に記憶する。
【0034】
本実施例では、2回目の印刷時には、電子透かしデータ数、つまり、印刷済領域数が1であり、印刷済領域開始位置と印刷済領域終了位置は、それぞれ、(0,0)と(p1x,p1y)である印刷済領域Aと、印刷済領域Aが印刷された時のタイムスタンプが検出でき、これらの値が記憶装置(122)に記憶される。
【0035】
キャリッジ(134)が、印刷用紙の右下に位置する(X,Y)まで移動し、印刷用紙内の全透かしデータを読み取った後、1回目の印刷時と同様に、制御部(121)が、紙搬送部(131)とヘッド駆動部(133)を利用して、印刷用紙を移動させ、キャリッジ(134)を印刷用紙の左上に位置する座標(0,0)へ移動させる。次にS5で、制御部(121)が、S4で印刷済領域を検出できたかどうかを判定する。
【0036】
本実施例の、2回目の印刷では、印刷済領域数が1であるため、S6の余白領域検出処理へ処理が流れる。
【0037】
以下、図 3の余白領域検出処理について説明する。制御部(121)は、S6.1で、S4で抽出できた印刷済領域数を余白領域検索回数に代入する。次に、S6.2へ流れ、このループ処理内で、最大余白領域の座標と余白領域数を検出する。制御部(121)が、S6.3で、S4で抽出できた印刷済領域開始位置座標と、印刷済領域終了位置座標を記憶装置(122)から取り出す。
【0038】
本実施例では、印刷済領域として印刷済領域A(開始位置座標(0,0)、終了位置座標(p1x、p1y))が記憶装置(122)から取り出される。
【0039】
次に、S6.4で、制御部(121)がS6.3で取り出した印刷済領域の右領域に余白領域が存在するかを印刷済領域の幅と最大余白領域の幅を比較することで判定する。印刷済領域の幅 < 最大余白領域の幅 の場合、S6.3で取り出した印刷済領域の右領域に余白領域が存在することになるため、S6.5に処理が流れ、制御部(121)が、余白領域開始位置座標と余白領域終了位置座標を算出し、S6.6で余白領域数をインクリメントし、それぞれの値を記憶装置(122)へ記憶させる。
【0040】
本実施例では、印刷済領域Aの幅(p1x)< 最大余白領域の幅(X)であるため、印刷済領域Aの右領域に余白領域が存在することになり、余白領域開始位置座標が(印刷済領域A終了位置のX座標=p1x、印刷済領域A開始位置のY座標=0)となり、余白領域終了位置座標が(最大余白領域終了位置のX座標=X、印刷済領域A終了位置のY座標=p1y))となる。ここで算出した余白領域を以下、余白領域Aと呼ぶ(図 8)。
【0041】
次に、S6.7で、制御部(121)がS6.3で取り出した印刷済領域の下領域に余白領域が存在するかを印刷済領域の長さと最大余白領域の長さを比較することで判定する。印刷済領域の長さ < 最大余白領域の長さ の場合、S6.3で取り出した印刷済領域Aの下領域に余白領域が存在することになるため、S6.8に処理が流れ、制御部(121)が、余白領域開始位置座標と余白領域終了位置座標を算出し、S6.9で余白領域数をインクリメントし、それぞれの値を記憶装置(122)へ記憶させる。
【0042】
本実施例では、印刷済領域Aの長さ(p1y)< 最大余白領域の長さ(Y)であるため、印刷済領域Aの下領域に余白領域が存在することになり、余白領域開始位置座標が(印刷済領域A開始位置のX座標=0、印刷済領域A終了位置のY座標=p1y)となり、余白領域終了位置座標が(最大余白領域終了位置のX座標=X、最大余白領域終了位置のY座標=Y)となる。ここで算出した余白領域を以下、余白領域Bと呼ぶ(図 9)。
【0043】
次に、制御部(121)が、S6.10で、検出できた余白領域を利用して、最大余白領域を検出する。
【0044】
本実施例では、余白領域Aと余白領域Bが検出されたので、上記2つの余白領域について最大余白領域を検出することになる。
【0045】
以下、図 4の最大余白領域検出処理について説明する。制御部(121)が、S6.10.1で、検出できた全ての余白領域に対して余白領域のサイズを 余白領域の幅×余白領域の長さ で算出する。次に、S6.10.2で、S6.10.1で算出した余白領域のサイズが最大になるものを最大余白領域に設定し、記憶装置(122)に記憶させる。
【0046】
本実施例では、余白領域A(サイズ=(X−p1x)×p1y)と余白領域B(サイズ=X×(Y−p1y))が検出できており、ここで、(X−p1x)×p1y < X×(Y−p1y)とすると、最大余白領域は余白領域Bと判定され、最大余白領域開始位置は、(0、p1y)となり、最大余白領域終了位置は、(X,Y)となる(図 9参照)。
【0047】
最大余白領域検出後、制御部(121)は、S6.11で、余白領域検索回数と、余白領域数をデクリメントし、S6.2に処理が流れる。
【0048】
本実施例では、S6.11で、余白領域検索回数をデクリメントした結果0となるため、S6.2のループ処理は抜け、図 2のS8に処理が移る。また、本実施例の2回目の印刷では、S6の余白領域検出処理で余白領域を検出できたため、S9へ流れる。
【0049】
次に、1回目の印刷時と同様に、ユーザは、印刷したいデータを選定し、プリンタとネットワークケーブルで接続された端末(例えば、パーソナルコンピュータ)上からアプリケーションプログラムを使用して本発明印刷装置へ送信する。本発明印刷装置は、S9で、印刷データを受信する。
【0050】
本実施例では、S9で受信した2回目の印刷データのサイズを幅=x2(<X)、長さ=y2(<Y−p1y)とする。
【0051】
次に、制御部(121)は、S11で、印刷済領域数を用いて、S4で印刷済領域を検出できたかどうかを判定する。印刷済領域を検出できていた場合は、S12で検出した印刷済領域上に枠線を印刷する。この枠線を印刷することで、ユーザは、前回の印刷箇所と今回の印刷箇所の違いを特定することが容易になる。
【0052】
本実施例の2回目の印刷では、S4で印刷済領域を検出できたため、S12へ処理が流れ、S4で検出した印刷済領域に枠線を印刷する。本実施例では、図 10のように、印刷済領域A(開始位置(0,0)、終了位置(p1x,p1y))に枠線が印刷される。
【0053】
S12で枠線を印刷した後、S13へ処理が流れ、制御部(121)が、S9で受信した印刷データが最大余白領域内に印刷可能かどうかを印刷データの幅と長さが最大余白領域の幅及び長さ以下であるかどうかにより判定する。制御部(121)が印刷出来ないと判定した場合は、制御部(121)が、S14でS9で受信した印刷データに対して、縮小処理を施す。
【0054】
本実施例の2回目の印刷では、最大余白領域(幅=X、長さ=Y−p1y)内に、印刷データ(幅=x2(<X)、長さ=y2(<Y−p1y))が印刷可能であるため、S14の縮小処理は行わない。
【0055】
次に、S15で制御部(121)は、印刷データ内に電子透かし技術を用いて電子透かしデータを埋め込む。1回目の印刷時と同様に、電子透かしデータ内には、印刷済領域に関する情報とタイムスタンプを埋め込んでおく。次に、S16で制御部(121)は、紙搬送部(131)とヘッド駆動部(133)を利用して、キャリッジ(134)を最大余白領域開始位置へ移動させ、印刷データの印刷を開始する。
【0056】
本実施例では、2回目の印刷時、最大余白開始位置は、(0,p1y)であるため、(0,p1y)から印刷データの印刷を開始する。
【0057】
印刷終了後、S17で印刷用紙を排紙し、2回目の印刷が終了する。
【0058】
本実施例では、2回目の印刷終了後、印刷用紙は図 11のようになる。ここで、p2x=x2,p2y=y2+p1y である。また、以下では、新たに印刷された領域を印刷済領域Bと呼ぶ。
【0059】
次に、3回目の印刷データを印刷用紙の余白領域に印刷する場合について説明する。S1で、ユーザは既に2回印刷データが印刷されている印刷用紙を本発明印刷装置に給紙する。
【0060】
本実施例の3回目の印刷では、給紙された印刷用紙(図 11)内の領域((0,0)〜(p1x,p1y)と(0,p1y)〜(p2x,p2y))には、印刷データと共に、電子透かしデータが印刷されている。
【0061】
印刷用紙(図 11)が給紙されると、1、2回目の印刷時と同様に、制御部(121)は、S2で、印刷済領域数と余白領域数を0に設定し、S3で、最大余白領域開始位置座標を印刷用紙の左上に位置する(0,0)に、最大余白領域終了位置座標を印刷用紙の右下に位置する(印刷用紙の幅(X)、印刷用紙の長さ(Y))に初期化する。次に、1、2回目の印刷時と同様に、S4で、制御部(121)は、紙搬送部(131)とヘッド駆動部(133)を利用して、キャリッジ(134)を印刷用紙の左上に位置する座標(0,0)から順に右下に位置する座標(X,Y)まで移動させる。 その際、2回目の印刷時と同様に、印刷用紙内に電子透かしデータが埋め込まれていれば、キャリッジ(134)に取り付けられたセンサ(136)が電子透かしデータを読込み、印刷済領域の開始位置座標、終了位置座標、電子透かしデータ内に埋め込まれたタイムスタンプ、電子透かしデータ数、つまり、印刷済領域数をカウントし、制御部(121)へ受け渡し、制御部(121)が受け取ったデータを記憶装置(122)に記憶する。
【0062】
本実施例では、3回目の印刷時には、印刷用紙には、印刷済領域Aと印刷済領域Bが印刷されている(図 11)ため、印刷済領域数が2となり、印刷済領域数、印刷済領域Aの開始位置、終了位置、印刷済領域Aが印刷された時のタイムスタンプと印刷済領域Bの開始位置、終了位置、印刷済領域Bが印刷された時のタイムスタンプが検出でき、これらの値が記憶装置(122)に記憶される。
【0063】
キャリッジ(134)が、印刷用紙の右下に位置する(X,Y)まで移動し、印刷用紙内のすべての電子透かしデータを読み取った後、1、2回目の印刷時と同様に、制御部(121)が、紙搬送部(131)とヘッド駆動部(133)を利用して、印刷用紙を移動させ、キャリッジ(134)を印刷用紙の左上に位置する座標(0,0)へ移動させる。次にS5で、制御部(121)が、S4で印刷済領域を検出できたかどうかを判定する。
【0064】
本実施例の、3回目の印刷では、印刷済領域数が2であるため、S6の余白領域検出処理へ処理が流れる。
【0065】
以下、2回目の印刷時と同様に、図 3の余白領域検出処理について説明する。制御部(121)は、S6.1で、S4で抽出できた印刷済領域数を余白領域検索回数に代入する。
【0066】
本実施例では、印刷済領域数は2であるため、余白領域検索回数は2になる。
【0067】
次に、S6.2の処理へ流れ、このループ処理内で、最大余白領域と余白領域数を検出する。制御部(121)は、S6.3で、S4で検出できた印刷済領域開始位置座標と、印刷済領域終了位置座標を記憶装置(122)から取り出す。次に、S6.4〜S6.9でS6.3で取り出した印刷済領域に対し、2回目の印刷時と同様に、印刷済領域の右領域と下領域に余白領域が存在するかを判定し、S6.10で最大余白領域を検出する。以降、S6.2のループ処理内で、制御部(121)が、検出できた最大余白領域をベースに再度、余白領域の検出、最大余白領域の更新を行っていく。
【0068】
本実施例では、S6.3で、まず、タイムスタンプの小さい印刷済領域Aを取り出し、S6.4〜S6.9で印刷済領域Aに対し、右領域の余白領域(開始位置(X,p1y)、終了位置(p1x,0))と下領域の余白領域(開始位置(0,p1y)、終了位置(X,Y))を検出することができ、S6.10で、最大余白領域は余白領域Bと判定され、最大余白領域開始位置(0,p1y)、最大余白領域終了位置(X,Y)となる。次に、S6.11で、余白領域数と余白領域検索回数をデクリメントし、S6.2の処理へ流れる。ここでは、デクリメントした結果、余白領域検索回数が1であるため、再度、S6.3へ処理が流れる。S6.3では、印刷済領域Bが記憶装置(122)から取り出されることになり、S6.4で印刷済領域Bの幅(p2x)と最大余白領域の幅(X)を比較するが、p2x<X であるため、印刷済領域Bの右領域に余白領域が存在すると判定され、S6.5,S6.6に処理が流れる。その結果、右領域の余白領域(開始位置(p2x,p1y)、終了位置(X,p2y))が検出される。以下、検出された印刷済領域Bに対する右領域の余白領域を余白領域B1と呼ぶ。次に、S6.7で、印刷済領域Bの長さ(p2y)と最大余白領域のY座標(Y)を比較するが、p2y<Yであるため、印刷済領域Bの下領域に余白領域(開始位置(0,p2y)、終了位置(X,Y))が検出される。以下、印刷済領域Bに対する下領域の余白領域を余白領域B2と呼ぶ。ここまでの処理の中で、検出できた余白領域は、図 12のように、余白領域A(開始位置(p1x,0)、終了位置(X,p1y))、余白領域B1(開始位置(p1x,0)、終了位置(X,p1y))、余白領域B2(開始位置(p1x,0)、終了位置(X,p1y))の3つである。検出できた3つの余白領域に関する情報を利用して、S6.10で最大余白領域をS6.10.1で検出できた上記3つの余白領域のサイズを余白領域の幅×余白領域の長さ を求め、それぞれのサイズを比較することで算出する。本実施例では、余白領域B2のサイズが最大であるとすると、S6.10.2で最大余白領域は余白領域B1と判定され、最大余白領域開始位置は、(p2x,p1y)となり、最大余白領域終了位置は、(X,p2y)となる(図 12)。次に、S6.11で余白領域数と余白領域検索回数をデクリメントし、再度S6.2の処理に流れるが、余白領域検索回数が0となるため、S6.2のループ処理には入らず、S8の処理に流れる。また、本実施例の3回目の印刷では、S6の余白領域検出処理で余白領域を検出できたため、S9へ流れる。
【0069】
次に、1、2回目の印刷時と同様に、ユーザは、印刷したいデータを選定し、印刷装置とネットワークケーブルで接続された端末(例えば、パーソナルコンピュータ)上からアプリケーションプログラムを使用して本発明印刷装置へ送信する。本発明印刷装置は、S9で、印刷データを受信する。
【0070】
本実施例では、S9で受信した3回目の印刷データのサイズを幅=x3(<X−p2x)、長さ=y3(>p2y−p1y)とする。
【0071】
次に、制御部(121)は、S11で、再び、印刷済領域数を用いて、S4で印刷済領域を検出できたかどうかを判定する。
【0072】
本実施例の3回目の印刷では、図 12のように、S4で印刷済領域A、印刷済領域Bを検出できたため、2回目の印刷時と同様に、S12へ処理が流れ、S4で検出した印刷済領域Aと印刷済領域Bに枠線を印刷する(図 13)。
【0073】
次に、S13へ処理が流れ、制御部(121)が、S13で、S9で受信した印刷データが最大余白領域内に印刷可能かどうかを判定する。
【0074】
本実施例では、S9で受信した3回目の印刷データの長さ(y3)が、最大余白領域の長さ(p2y−p1y)より大きいため、S14でS9で受信した印刷データに対して、制御部(121)が、縮小処理を施す。
【0075】
以下、図 5の印刷データ縮小処理について説明する。S14.1で、制御部(121)は、受信した印刷データの幅と最大余白領域の幅の比率と、印刷データの長さと最大余白領域の長さの比率を算出し、S14.2〜S14.4で、比率が小さい方の値をデータ縮小率と算出する。S14.5で、受信した印刷データを算出されたデータ縮小率に沿って縮小化する。
【0076】
本実施例では、(X−p2x)/x3 >(p2y−p1y)/y3 であるため、データ縮小率は、(p2y−p1y)/y3となり、この縮小率に沿って受信した印刷データを縮小化する。
【0077】
次に、S15で制御部(121)は、印刷データ内に電子透かし技術を用いて電子透かしデータを埋め込む。1、2回目の印刷時と同様に、電子透かしデータの内容は、センサ部が識別できるものならば、特に指定はしない。次に、S16で制御部(121)は、紙搬送部(131)とヘッド駆動部(133)を利用して、キャリッジ(134)を最大余白領域開始位置へ移動させ、印刷データの印刷を開始する。
【0078】
本実施例では、3回目の印刷時、最大余白開始位置は、(p2x,p1y)であるため、(p2x,p1y)から印刷データの印刷を開始する。
【0079】
印刷終了後、S17で印刷用紙を排紙し、3回目の印刷が終了する。
【0080】
本実施例では、印刷終了後、印刷用紙は、図 14のようになる。ここで、p3x=x3,p3y=y3+p1y である。
【0081】
4回目の印刷以降も、1〜3回目の印刷と同様に、S1〜S16の処理で、最大余白領域を検出し、検出した最大余白領域内にデータを印刷する形となる。
【図面の簡単な説明】
【0082】
【図1】本発明の一実施形態の構成を示すブロック図
【図2】本発明のメイン処理動作を説明するためのフローチャート
【図3】本発明の余白領域検出処理を説明するためのフローチャート
【図4】本発明の最大余白領域検出処理を説明するためのフローチャート
【図5】本発明の印刷データ縮小処理を説明するためのフローチャート
【図6】本発明のメイン処理動作を説明するためのフローチャート
【図7】本発明を使用して1回目の印刷データの印刷を行った場合の一例
【図8】本発明を使用して余白領域の検出を行った場合の一例
【図9】本発明を使用して余白領域の検出を行った場合の一例
【図10】本発明を使用して印刷済領域に枠線の印刷を行った場合の一例
【図11】本発明を使用して2回目の印刷データの印刷を行った場合の一例
【図12】本発明を使用して余白領域の検出を行った場合の一例
【図13】本発明を使用して印刷済領域に枠線の印刷を行った場合の一例
【図14】本発明を使用して3回目の印刷データの印刷を行った場合の一例
【特許請求の範囲】
【請求項1】
インクの吐出を行う印字ヘッドと、前記印字ヘッドを搭載するキャリッジと、印刷用紙を搬送するエンジンとを有し、前記キャリッジの往復運動をしながら、前記印字ヘッドからインクを吐出することにより、受信した印刷データに従って所定の印刷データを前記印刷用紙に印刷するインクジェットプリンタにおいて、前記印刷用紙内の印刷済領域を読み取る手段と、前記印刷済領域情報を記憶する手段とを有し、記憶した前記印刷済領域情報を使用して、最大余白領域を検出することができ、前記印刷データを前記最大余白領域に印刷するコントローラ部を有することを特徴とする印刷装置。
【請求項2】
請求項1において、前記コントローラは、前記印刷済領域情報を使用して、前記印刷用紙を印刷済領域と、余白領域に分割し、余白領域の面積が最大になるものを前記最大余白領域と判定することを特徴とする印刷装置。
【請求項3】
請求項1において、前記コントローラは、前記最大余白領域検出後、前記印刷データが前記最大余白領域に印刷可能かどうかを判定し、印刷可能と判定した場合は、前記印刷データのサイズを変更せずに、前記印刷用紙に印刷し、印刷不可能と判定した場合は、前記印刷データを、前記印刷用紙に印刷できるように縮小化してから印刷することを特徴とする印刷装置。
【請求項4】
請求項1において、前記コントローラは、前記印刷済領域に枠線を印刷することが出来ることを特徴とする印刷装置。
【請求項5】
請求項1において、前記コントローラは、電子透かし技術を用いて、前記印刷データに電子透かしデータを埋め込むことが出来ることを特徴とする印刷装置。
【請求項6】
請求項1において、前記印刷済領域を読み取る手段は、前記コントローラにより埋め込まれた電子透かしデータを、前記印刷用紙から検出することが出来ることを特徴とする印刷装置。
【請求項7】
請求項3において、前記コントローラは、前記印刷データが前記最大余白領域内に印刷可能であるかどうかの判定を、前記印刷データの幅と長さが、前記最大余白領域の幅及び長さ以下であるかどうかにより行うことを特徴とする印刷装置。
【請求項8】
請求項3において、前記コントローラは、前記印刷データの幅と前記最大余白領域の幅の比率と、前記印刷データの長さと前記最大余白領域の長さの比率を算出し、比率が小さい方を基準に、前記印刷データを縮小化することを特徴とする印刷装置。
【請求項9】
上記請求項1から上記請求項8を請求項1記載の印刷装置上で動作させるためのコンピュータプログラムを記憶した記憶媒体。
【請求項1】
インクの吐出を行う印字ヘッドと、前記印字ヘッドを搭載するキャリッジと、印刷用紙を搬送するエンジンとを有し、前記キャリッジの往復運動をしながら、前記印字ヘッドからインクを吐出することにより、受信した印刷データに従って所定の印刷データを前記印刷用紙に印刷するインクジェットプリンタにおいて、前記印刷用紙内の印刷済領域を読み取る手段と、前記印刷済領域情報を記憶する手段とを有し、記憶した前記印刷済領域情報を使用して、最大余白領域を検出することができ、前記印刷データを前記最大余白領域に印刷するコントローラ部を有することを特徴とする印刷装置。
【請求項2】
請求項1において、前記コントローラは、前記印刷済領域情報を使用して、前記印刷用紙を印刷済領域と、余白領域に分割し、余白領域の面積が最大になるものを前記最大余白領域と判定することを特徴とする印刷装置。
【請求項3】
請求項1において、前記コントローラは、前記最大余白領域検出後、前記印刷データが前記最大余白領域に印刷可能かどうかを判定し、印刷可能と判定した場合は、前記印刷データのサイズを変更せずに、前記印刷用紙に印刷し、印刷不可能と判定した場合は、前記印刷データを、前記印刷用紙に印刷できるように縮小化してから印刷することを特徴とする印刷装置。
【請求項4】
請求項1において、前記コントローラは、前記印刷済領域に枠線を印刷することが出来ることを特徴とする印刷装置。
【請求項5】
請求項1において、前記コントローラは、電子透かし技術を用いて、前記印刷データに電子透かしデータを埋め込むことが出来ることを特徴とする印刷装置。
【請求項6】
請求項1において、前記印刷済領域を読み取る手段は、前記コントローラにより埋め込まれた電子透かしデータを、前記印刷用紙から検出することが出来ることを特徴とする印刷装置。
【請求項7】
請求項3において、前記コントローラは、前記印刷データが前記最大余白領域内に印刷可能であるかどうかの判定を、前記印刷データの幅と長さが、前記最大余白領域の幅及び長さ以下であるかどうかにより行うことを特徴とする印刷装置。
【請求項8】
請求項3において、前記コントローラは、前記印刷データの幅と前記最大余白領域の幅の比率と、前記印刷データの長さと前記最大余白領域の長さの比率を算出し、比率が小さい方を基準に、前記印刷データを縮小化することを特徴とする印刷装置。
【請求項9】
上記請求項1から上記請求項8を請求項1記載の印刷装置上で動作させるためのコンピュータプログラムを記憶した記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2008−100411(P2008−100411A)
【公開日】平成20年5月1日(2008.5.1)
【国際特許分類】
【出願番号】特願2006−283896(P2006−283896)
【出願日】平成18年10月18日(2006.10.18)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成20年5月1日(2008.5.1)
【国際特許分類】
【出願日】平成18年10月18日(2006.10.18)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]