(57)【要約】【課題】  効率よく割付を実施することが望まれていた。【解決手段】  複数の印刷ジョブにおける印刷対象を所定の印刷可能領域に割り付けて印刷を実行するにあたり、印刷対象の印刷サイズが指定された複数の印刷ジョブにかかる印刷データを取得し、同取得した印刷データが示す複数の印刷ジョブにおける印刷対象を異なる配置で印刷可能領域に割り付けることにより複数の割付候補を生成し、同割付候補において印刷対象が印刷媒体上の印刷領域に占める占有率を算出するとともに所定の閾値以上の占有率となる割付候補を選択して割付を確定し、確定した割付で印刷装置に印刷を実行させる。【選択図】  図２
2005275682.tif 000002
【特許請求の範囲】
【請求項１】
複数の印刷ジョブにおける印刷対象を所定の印刷可能領域に割り付けて印刷を実行する印刷制御装置であって、
印刷対象の印刷サイズが指定された複数の印刷ジョブにかかる印刷データを取得する印刷データ取得手段と、
同取得した印刷データが示す複数の印刷ジョブにおける印刷対象を異なる配置で印刷可能領域に割り付けることにより複数の割付候補を生成する割付候補生成手段と、
同割付候補において印刷対象が印刷媒体上の印刷領域に占める占有率を算出するとともに所定の閾値以上の占有率となる割付候補を選択して割付を確定する割付確定手段と、
確定した割付で印刷装置に印刷を実行させる印刷実行手段とを具備することを特徴とする印刷制御装置。
【請求項２】
上記割付確定手段は、上記割付候補生成手段が生成した割付候補のうち最高の占有率となる割付候補を保持し、上記割付候補生成手段が所定の手順によって複数の割付候補を生成した後に、当該最高の占有率が所定の下限占有率を超えている場合には、その割付候補を選択して割付を確定することを特徴とする上記請求項１に記載の印刷制御装置。
【請求項３】
上記割付確定手段は、上記割付候補生成手段が所定の手順によって複数の割付候補を生成する過程で、上記占有率が所定の許容占有率を超えるような割付候補が生成された場合には、その割付候補を選択して割付を確定することを特徴とする上記請求項１または請求項２のいずれかに記載の印刷制御装置。
【請求項４】
上記割付候補生成手段は、印刷媒体上の印刷領域から割付済みの領域を除いた余白から重複を許容して矩形の印刷可能領域を抽出し、抽出された印刷可能領域に順序を付すとともにその順序通りに割付を行うことを特徴とする上記請求項１〜請求項３のいずれかに記載の印刷制御装置。
【請求項５】
上記割付候補生成手段は、矩形の印刷対象を印刷可能領域に割り付ける際に長辺の向きを所定の基準に基づいて決定して割付候補を生成することを特徴とする上記請求項１〜請求項４のいずれかに記載の印刷制御装置。
【請求項６】
上記所定の基準は、割り付け後の余白の印刷可能領域に対する比が所定の閾値以下であるときに割付を行うよう判断するための基準であることを特徴とする上記請求項５に記載の印刷制御装置。
【請求項７】
上記所定の基準は、印刷対象の短辺あるいは長辺を整数倍したときに印刷可能領域におけるいずれかの辺と略等しくなるときに割付を行うよう判断するための基準であることを特徴とする上記請求項５または請求項６のいずれかに記載の印刷制御装置。
【請求項８】
上記所定の基準は、割り付け後の余白の印刷可能領域に対する比が所定の閾値以上であるときに割付を行うよう判断するための基準であることを特徴とする上記請求項５〜請求項７のいずれかに記載の印刷制御装置。
【請求項９】
上記割付候補生成手段は、矩形の印刷対象を印刷可能領域に割り付ける際に長辺が縦に配向する割付と横に配向する割付との双方を試みて割付候補を生成することを特徴とする上記請求項１〜請求項８のいずれかに記載の印刷制御装置。
【請求項１０】
上記割付確定手段は上記割付候補生成手段が生成した割付候補のうち最高の占有率となる割付候補を保持し、上記割付確定手段は割付候補生成手段による処理の実行時間が所定の閾値を超えたか否かを判別し、当該閾値を超えたときには上記保持されている割付候補を選択して割付を確定することを特徴とする上記請求項１〜請求項９のいずれかに記載の印刷制御装置。
【請求項１１】
上記割付候補生成手段は、印刷装置にて使用する印刷媒体より小さな仮想的な印刷媒体を想定して上記印刷可能領域を定義することを特徴とする上記請求項１〜請求項１０のいずれかに記載の印刷制御装置。
【請求項１２】
複数の印刷ジョブにおける印刷対象を所定の印刷可能領域に割り付けて印刷を実行する印刷制御方法であって、
印刷対象の印刷サイズが指定された複数の印刷ジョブにかかる印刷データを取得する印刷データ取得工程と、
同取得した印刷データが示す複数の印刷ジョブにおける印刷対象を異なる配置で印刷可能領域に割り付けることにより複数の割付候補を生成する割付候補生成工程と、
同割付候補において印刷対象が印刷媒体上の印刷領域に占める占有率を算出するとともに所定の閾値以上の占有率となる割付候補を選択して割付を確定する割付確定工程と、
確定した割付で印刷装置に印刷を実行させる印刷実行工程とを具備することを特徴とする印刷制御方法。
【請求項１３】
複数の印刷ジョブにおける印刷対象を所定の印刷可能領域に割り付けて印刷を実行する印刷制御プログラムであって、
印刷対象の印刷サイズが指定された複数の印刷ジョブにかかる印刷データを取得する印刷データ取得機能と、
同取得した印刷データが示す複数の印刷ジョブにおける印刷対象を異なる配置で印刷可能領域に割り付けることにより複数の割付候補を生成する割付候補生成機能と、
同割付候補において印刷対象が印刷媒体上の印刷領域に占める占有率を算出するとともに所定の閾値以上の占有率となる割付候補を選択して割付を確定する割付確定機能と、
確定した割付で印刷装置に印刷を実行させる印刷実行機能とをコンピュータに実現させることを特徴とする印刷制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動でレイアウトを決定して印刷を実行する印刷制御装置、印刷制御方法および印刷制御プログラムに関する。
【背景技術】
【０００２】
近年、大版と呼ばれるＡ１サイズ等の印刷用紙を印刷可能な印刷装置が使用されるようになってきた。大版に対する印刷では、大きな画像を印刷する他、印刷用紙より小さな画像を印刷用紙に対して複数個配置して印刷を実行することがある。このような印刷を実行するために、複数の印刷ジョブにおける複数の印刷対象を印刷用紙に対して自動で割り付ける技術が開発されている（例えば、特許文献１）。
【特許文献１】特開２００２−８６８３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述した従来の自動割付において、さらに効率よく割付を実施することが望まれていた。特に、ＤＰＥショップにおいてデジタル写真画像をプリントするなど、業務用の印刷では、印刷用紙に対して無駄なく画像を配置することが価格競争力に直結するため、余白の少ない効率的な印刷を行うことが非常に重要である。
本発明は、上記課題にかんがみてなされたもので、印刷媒体の余白を効率的に低減することが可能な印刷制御装置、印刷制御方法および印刷制御プログラムの提供を目的とする。
【課題を解決するための手段】
【０００４】
上記目的を達成するため、本発明では、複数の割付候補を生成し、割付候補において印刷対象が印刷媒体上の印刷領域に占める占有率が所定の閾値以上になる場合にその割付で印刷を実行する。所定の閾値は予め決めることができるので、意図に反する低い占有率で印刷が実行されるのを防止することができ、印刷媒体の余白を確実に低減することができる。また、複数の割付候補を生成するので、その中で最も高い占有率となる割付を選択することで、できるだけ余白を減らして効率的に印刷を行うことができる。
【０００５】
ここで、印刷ジョブは印刷の実行指示によって行われる印刷の実行単位であり、その印刷対象としては単一のページであってもよいし複数のページであっても良い。割付を行うに際しては、所定の割付単位毎に割付を実施できればよく、ページ単位で割付を行っても良いし、画像毎に割付を行っても良い。また、一つのジョブに含まれる印刷対象を割付単位としても良いし、一つのジョブに含まれる印刷対象を分割して割付単位としても良く、種々の構成を採用可能である。印刷可能領域は、印刷対象が割り付けられていない領域である。従って、最初の割付に際しては印刷媒体の全体が印刷可能領域になるし、割付が実施されるとその時点での余白が印刷可能領域となる。
【０００６】
印刷データは印刷対象の内容を示すデータであるとともに印刷対象の印刷サイズを示している。すなわち、印刷可能領域に対して印刷対象を配置するためには、印刷対象をどのような実サイズで印刷すべきかを特定する必要があるので、本発明における印刷データでは印刷サイズを特定するようにしている。むろん、実質的に印刷サイズを指定してれば良く、直接的に画像の縦横の長さを指定する他、特定の画素数によって構成する画像について解像度を指定することによって間接的に印刷サイズを特定しても良く、種々の構成を採用可能である。
【０００７】
割付候補生成手段は、異なる配置によって印刷可能領域に対する割付を行うことにより、複数の印刷対象を異なる配置で印刷媒体上の印刷領域に対して割り付けた複数の割付候補を生成することができればよい。すなわち、割付確定手段によって割付が確定されるまで割付候補を繰り返し生成することができればよい。異なる配置の割付候補を生成するための構成は種々の構成が採用可能であり、例えば、複数の印刷対象を所定の順序で割付対象にすることとし、所定のアルゴリズムに従って各印刷対象が印刷可能領域に割付可能であるかを判断する。
【０００８】
このとき、印刷対象の順序を変更したり、アルゴリズムを変更したり、印刷可能領域の選び方を変えるなどすれば、複数の印刷対象から異なる配置の割付候補を生成することが可能になる。割付においては、各印刷対象を重ならないように配置して印刷を行うためのデータを生成することができれば良く、各印刷対象と印刷媒体上の位置を示す座標データとを対応づけるなど、種々の手法を採用可能である。
【０００９】
割付確定手段は、印刷媒体上の印刷領域の面積に対し、割り付けられた印刷対象の面積の和がどのような比率になっているのかを示す占有率を算出し、予め決められた閾値と占有率とを比較することができればよい。尚、印刷媒体上の印刷領域は、印刷対象を割付可能な領域であり、この割付によって画像を印刷可能な領域である。例えば、一枚のカットシート上でインクを記録可能な領域等が印刷領域に該当する。印刷実行手段は、この比較によって確定した割付によって印刷を実行することができればよい。例えば、印刷対象と割付位置とを対応づけるデータに基づいて各印刷対象を適切な位置に配置した画像データを生成し、当該画像データに基づいて印刷を実行する構成等を採用可能である。
【００１０】
上記割付確定手段における閾値としては、種々の閾値を採用可能である。例えば、割付を確定して印刷を実行するために必要な最低の占有率（下限占有率）を予め特定し、閾値とする構成を採用可能である。すなわち、割付候補生成手段では所定の手順によって複数の割付候補を生成するように構成し、この手順にて逐次候補を生成する際に最高の占有率となる配置の割付が生成された場合には、その割付候補を保持し、他の割付候補は保持しない。
【００１１】
この結果、最終的には、所定の手順によって生成される割付候補のうち、最高の占有率となる割付候補を抽出することが可能になる。従って、できるだけ占有率の大きな割付を選択することが可能になる。ただし、予め下限占有率が決められているので、抽出された割付候補によってこの下限占有率より低い占有率となるのであれば割付を確定せず、印刷は実行しない。従って、占有率が低いまま印刷が実施されるのを未然に防ぐことができ、印刷媒体の無駄を確実に省くことができる。尚、複数の割付候補を生成するための規則を予め規定することによって上記所定の手順を決めることができれば良く、例えば、複数の印刷対象を所定の順序で割付対象にすることとし、所定のアルゴリズムに従って各印刷対象が印刷可能領域に割付可能であるかを判断するなど、種々の手順を採用可能である。
【００１２】
さらに、複数の割付候補を生成する過程であっても特定の占有率（許容占有率）を超えたら印刷を実行することとし、この許容占有率を所定の閾値で規定しても良い。すなわち、割付候補生成手段が所定の手順によって複数の割付候補を生成するように構成し、この過程で許容占有率を超える割付候補が生成されたときには、割付候補の生成処理が途中であっても中断し、割付を確定して印刷を行う。この結果、割付候補を生成するために多くの演算をすることなく、充分高い値の占有率で印刷を実行することが可能になる。従って、印刷媒体の無駄防止と高速での処理を両立することができる。
【００１３】
むろん、上記下限占有率と許容占有率とを併用する構成を採用しても良い。すなわち、所定の手順に従って割付候補を生成する過程において許容占有率を超える割付候補が得られた場合には、当該候補による割付で印刷を実行する。一方、所定の手順に従って割付候補を生成する過程において許容占有率を超える割付候補が得られなかった場合には、最高の占有率が下限占有率を超えているときにその候補による割付で印刷を実行する。尚、この場合には、下限占有率＜許容占有率となる。
【００１４】
割付候補生成手段においては、印刷対象を異なる配置によって印刷可能領域に割り付けることができれば良く、種々の構成を採用可能である。例えば、印刷可能領域を抽出するにあたり、余白から重複を許容して矩形の領域を抽出して印刷可能領域し、印刷可能領域に対して順序を付す構成を採用可能である。すなわち、印刷領域に対して印刷対象を割り付けると、ほとんどの場合、余白は非矩形の領域となるが、印刷装置にて扱う印刷対象はほとんどの場合、矩形として定義することができる。
【００１５】
この場合、矩形の印刷可能領域を定義すると非常に簡単に矩形の印刷対象を割り付けることが可能である。また、重複を許容して矩形の印刷可能領域を定義することにより、余白内で想定し得る最大の矩形を抽出することができるので、より効率的に余白に対して印刷対象を割り付けることができる。さらに、複数の割付候補を生成する際には、同じ割付候補を生成することなく処理を進めていく必要がある。
【００１６】
そこで、上述のように、複数の印刷可能領域が抽出されたときに各領域に対して順序を付すことにより、体系的に印刷可能領域に対する割付を行うことが非常に容易になる。尚、印刷可能領域の順序を変更して割付を行うことによって、非常に容易に異なる複数の割付候補を生成することが可能になる。印刷可能領域に付した順序を変更するに際しては、順序として採用し得る総ての順序について割付を行っても良いし、その一部の順序について割付を行っても良い。また、以上の構成において、印刷可能領域に対して印刷対象を割り付けた後には、その後の余白から再度印刷可能領域を再構築して順序を付す処理を繰り返す。
【００１７】
割付候補生成手段によって割付を行う際の規則としては、種々の規則を採用可能である。例えば、長辺と短辺を有する矩形の印刷対象であれば、その割付方向を工夫することによって印刷領域内に印刷対象を詰めながら配置し得る。そこで、印刷可能領域に割り付ける際に長辺の向きを所定の基準に基づいて決定する。このように、所定の基準に従うことにより、自動で割付を行うことが可能になる。尚、ここでは、矩形の印刷対象における長辺の向きを調整することができれば良い。矩形の印刷可能領域に対して割り付けるのであれば、当該印刷可能領域の特定の辺に対して長辺を平行あるいは直角にすることによって調整する構成が単純であって好ましい。
【００１８】
この所定の基準としては、種々の基準を採用可能である。例えば、割り付け後の余白の印刷可能領域に対する比（余白／印刷可能領域）が所定の閾値以下であるときに割付を行うように基準を決める構成を採用可能である。この基準によれば、余白を所定以下にすることができ、余白をできるだけ小さくしながら割付を行うことができる。閾値の値としては、値が小さいほど無駄になる余白を少なくすることができるが、値を小さくしすぎると過度に厳しい条件になってしまう。そこで、両者の兼ね合いで値を決定すればよく、例えば０．１を採用可能である。
【００１９】
ここで、割り付け後の余白の印刷可能領域に対する比としては、余白と印刷可能領域とを比較する値であれば良く、印刷可能領域における辺と割り付け後の余白における辺との比でも良いし、面積比でも良く種々の値を採用可能である。尚、前者においては、印刷可能領域と余白とについて、上下方向の辺と左右方向の辺とのいずれについて比を算出しても良い。
【００２０】
さらに、所定の基準の例として、印刷対象の短辺あるいは長辺を整数倍したときに印刷可能領域におけるいずれかの辺と略等しくなるときに割付を行うように基準を決めても良い。すなわち、印刷装置においては、定型の印刷媒体および定型サイズの印刷対象を印刷することが多い。この場合、印刷対象の短辺あるいは長辺を整数倍すると、印刷可能領域におけるいずれかの辺と等しくなるとともに、無駄な余白を発生させることなく印刷対象を配置することができる。
【００２１】
従って、かかる基準に合致する場合に割付を行うことで、非常に効率的に割付を行うことができる。尚、印刷対象の短辺あるいは長辺の整数倍が印刷可能領域におけるいずれかの辺と厳密に等しくなることを要求すると、過度に厳しい条件になり得るので、両者が略等しい場合に割付を行うようにすることが好ましい。この場合であっても非常に効率的に印刷対象を配置することができる。
【００２２】
さらに、割り付け後の余白の印刷可能領域に対する比が所定の閾値以上であるときに割付を行うように基準を決める構成を採用可能である。この基準によれば、余白を所定以上確保することができ、できるだけ大きな余白を設けながら割付を行うことができる。閾値の値としては、値が大きいほど大きな余白を確保することができるが、値を大きくしすぎると過度に厳しい条件になってしまう。そこで、両者の兼ね合いで値を決定すればよく、例えば０．５を採用可能である。ここでも、比の定義は上述の定義と同様である。
【００２３】
尚、余白に関する閾値としては、余白をできるだけ小さくするための閾値と余白をできるだけ大きくするための閾値とを採用可能である。すなわち、中途半端な大きさの余白が生成されるのが最も都合が悪い。そこで、印刷媒体を効率的に利用するためにはできるだけ余白を小さくするような閾値で判定を行い、この閾値による基準に合致しなければ、逆にできるだけ余白を大きくするような閾値で判定を行うのが好ましい。この判定によれば、大きな余白が確保できるので、さらに他の印刷対象を並べて配置できる可能性が高く、高い占有率を実現しやすくなる。この意味で、前者の閾値は後者の閾値より小さくなる。
【００２４】
以上の規則によれば、割付を行う際に矩形の印刷対象の長辺をどのように配向させるのかを予め決めることができるので、同じ印刷対象について長辺の配向方向を変更して複数の割付候補を生成することは行わない。しかし、高い占有率を確実に確保することに着目すれば、できるだけ多くの割付を試行し、割付候補とするのが好ましい。
【００２５】
そこで、割付候補生成手段によって割付を行う際の規則として、矩形の印刷対象を印刷可能領域に割り付ける際に長辺が縦に配向する割付と横に配向する割付との双方を試みて割付候補を生成してもよい。すなわち、矩形の印刷対象の辺を印刷可能領域の上下方向および左右方向に平行に配向させる場合、長辺を上下方向に平行に配向させる縦の配置と長辺を左右方向に平行に配向させる横の配置との２通りを採用し得る。そこで、双方を試みて、割付が可能であれば（印刷対象を印刷可能領域内に含めることができれば）それを割付候補とする。これにより、割付として採用し得る配置の多くを候補にすることができる。従って、確実に高い占有率での割付を行うことができる。
【００２６】
さらに、割付確定手段によって割付を確定するにあたり、上述の占有率についての閾値を使った判定に加えて処理の実行時間を規定した閾値に基づく判定を行っても良い。かかる構成によれば、割付候補生成手段における割付候補の探索に所定以上の時間がかかるとき、あまりに長時間の処理をすることなく印刷を実行することができる。これにより、高占有率の確保と処理時間の高速化とを同時に実現可能である。尚、ここでも割付候補生成手段が生成した割付候補のうち最高の占有率となる割付候補を保持し、処理の実行時間が所定の閾値を超えたときに当該最高の占有率となっている割付候補を選択することで、その時点での最高の占有率で割付を確定することができる。
【００２７】
さらに、大きな印刷媒体に対する割付を行う際に好適な構成例として、印刷装置にて使用する印刷媒体より小さな仮想的な印刷媒体を想定して上記印刷可能領域を定義する構成を採用しても良い。すなわち、割付対象の印刷領域が大きくなるほど割付候補の数が飛躍的に増加するので、印刷領域を限定することにより、割付候補の数が過度に増加するのを防止し、高速に処理を終えることが可能になる。また、ロール紙など、一方に連続的な印刷媒体においては、この構成を採用することにより、割付を実施することが可能になる。
【００２８】
以上の構成は、割付候補から所望の占有率となっている割付を選択するための構成であるが、同様の技術的思想に基づく方法の発明も成立する。従って、請求項１２にかかる発明においても、基本的には上記と同様の作用となる。また、コンピュータにて所定のプログラムを実行させて本発明を実施する場合もある。従って、本発明はそのプログラムとしても適用可能であり、請求項１３にかかる発明においても、基本的には上記と同様の作用となる。
【００２９】
むろん、請求項２〜請求項１１に記載された構成を上記方法やプログラムに対応させることも可能である。また、いかなる記憶媒体もプログラムを提供するために使用可能である。例えば、磁気記録媒体や光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一部がソフトウェアであって、一部がハードウェアで実現される場合においても本発明の思想において全く異なるものではなく、一部を記録媒体上に記録しておいて必要に応じて適宜読み込む形態のものも含まれる。
【発明を実施するための最良の形態】
【００３０】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
（１）本発明の構成：
（２）印刷制御処理：
（３）実施例：
（３−１）単方向割付処理：
（３−２）双方向割付処理：
（４）他の実施例：
【００３１】
（１）本発明の構成：
図１は本発明にかかる印刷制御装置となるコンピュータの概略構成を示すブロック図である。コンピュータ１０は演算処理の中枢をなす図示しないＣＰＵや記憶媒体としてのＲＯＭやＲＡＭ等を備えており、ＨＤＤ１５等の周辺機器を利用しながら所定のプログラムを実行することができる。コンピュータ１０にはシリアル通信用Ｉ／Ｆ（インタフェース）１９ａを介してキーボード３１やマウス３２等の操作用入力機器が接続されており、図示しないビデオボードを介して表示用のディスプレイ１８も接続されている。さらに、コンピュータ１０はＵＳＢ用Ｉ／Ｆ１９ｂを介してプリンタ４０と接続され、通信Ｉ／Ｆ１９ｃを介して他のコンピュータ１００と接続される。
【００３２】
本実施形態におけるプリンタ４０は複数色のインクを充填するインクカートリッジを色毎に着脱可能な機構を備えており、この機構にＣＭＹＫｌｃｌｍ（シアン、マゼンタ、イエロー、ブラック、ライトシアン、ライトマゼンタ）の各インクのカートリッジを搭載する。プリンタ４０においては、これらのインク色を組み合わせて多数の色を形成可能であり、これにより印刷媒体上にカラー画像を形成する。尚、本実施形態におけるプリンタ４０はインクジェット方式のプリンタであるが、インクジェット方式の他にもレーザー方式等、種々のプリンタに対して本発明を適用可能である。
【００３３】
また、プリンタ４０では、各インク毎にインク滴を記録可能であれば良く、単一量のインク滴を吐出する構成の他、インクの吐出量を変更可能な構成、例えば、異なる３種のインク量でインク滴を吐出する構成等を採用しても良い。さらに、ＣＭＹＫｌｃｌｍの６色の有色インクを使用する構成が必須というわけではなく、ＣＭＹＫの４色やＣＭＹＫｌｃｌｍＤＹ（ダークイエロー）の７色を使用する構成であってもよい。むろん、他の色、例えばＲ（レッド）やＶ（バイオレット）をｌｃｌｍインクの代わりに使用してもよいし、ＣＭＹ以外の色、例えばＫインクについて濃淡インクを使用してもよい。
【００３４】
また、コンピュータ１０とプリンタ４０の接続インタフェースも上述のものに限る必要はなくパラレルインタフェースやＳＣＳＩ接続，無線接続など種々の接続態様を採用可能であるし、今後開発されるいかなる接続態様であっても同様である。さらに、本実施形態においてはコンピュータ１０によって印刷制御装置を構成しているが、プリンタ４０に搭載するプログラム実行環境によって本発明にかかる印刷制御処理を実施可能に構成し、プリンタ４０にスプールされる印刷ジョブについて割付を行って印刷制御処理を行ってもよい。むろん、他にも分散処理によって本発明にかかる印刷制御処理を実施するなど種々の構成を採用可能である。画像を取り込むスキャナと画像を印刷するプリンタ等が一体となったいわゆる複合機において本発明にかかる印刷制御処理を行ってもよい。
【００３５】
本実施形態にかかるコンピュータ１０では、図１に示すように、プリンタドライバ（ＰＲＴＤＲＶ）２１と入力機器ドライバ（ＤＲＶ）２２とディスプレイドライバ（ＤＲＶ）２３とがＯＳ２０に組み込まれている。ディスプレイＤＲＶ２３はディスプレイ１８における画像やプリンタのプロパティ画面等の表示を制御するドライバであり、入力機器ＤＲＶ２２はシリアル通信用Ｉ／Ｆ１９ａを介して入力される上記キーボード３１やマウス３２からのコード信号を受信して所定の入力操作を受け付けるドライバである。
【００３６】
ＰＲＴＤＲＶ２１ではアプリケーションプログラム（ＡＰＬ）２５やコンピュータ１００によって印刷指示が行われた印刷ジョブの印刷対象について割付など所定の処理を行って印刷を実行可能である。このために、ＰＲＴＤＲＶ２１は、印刷ジョブデータ取得モジュール２１ａとスプールモジュール２１ｂとソートモジュール２１ｃと割付候補生成モジュール２１ｄと割付確定モジュール２１ｅと印刷実行モジュール２１ｆとを備えている。
【００３７】
（２）印刷制御処理：
図２は、本発明における処理のゼネラルフローチャートであり、以下、このフローに沿って、上記各モジュールを説明する。上述のＡＰＬ２５による印刷指示あるいはコンピュータ１００による印刷指示がなされると、印刷ジョブデータ取得モジュール２１ａは、ステップＳ１００において印刷ジョブの内容（画像データや印刷条件等）を示す印刷ジョブデータを取得する。尚、コンピュータ１００による印刷指示がなされたときには通信Ｉ／Ｆ１９ｃを介して印刷ジョブデータを取得する。
【００３８】
また、この印刷ジョブデータには、印刷時の印刷条件として、割付を実施するか否かを示すデータおよび割付時の優先度を示すデータおよび印刷時の大きさを示すデータが記述される。これらのデータの生成は、上記キーボード３１やマウス３２の操作に従って行われる。すなわち、上記ＡＰＬ２５はディスプレイＤＲＶ２３にデータを送出して、ディスプレイ１８上に、印刷媒体や画質，印刷速度など印刷条件の入力や割付を実施するか否かの入力、割付時の優先度の入力、印刷サイズの入力を行うための図示しないＵＩを表示する。このＵＩ上でのキーボード３１やマウス３２等の操作入力は入力機器ＤＲＶ２２によって受け付けられ、操作入力に従って上記印刷条件等の設定がなされる。この設定の結果を示すデータが上記印刷ジョブデータのヘッダ等に付記される。
【００３９】
上記印刷ジョブデータ取得モジュール２１ａがこのような印刷ジョブデータを受け付けると、ステップＳ１０５にてスプールモジュール２１ｂがこれらの印刷ジョブデータをＨＤＤ１５にスプールする（スプールデータ１５ａ）。ソートモジュール２１ｃは、上記優先度を示すデータに基づいてスプールデータ１５ａをソートするモジュールである。すなわち、ステップＳ１１０においてスプールデータ１５ａを参照して優先度を示すデータを取得し、優先度順に印刷ジョブの印刷対象をソートする。
【００４０】
ここでは、印刷ジョブの印刷対象に対して割付を行う順序を与えることができれば良く、順序を示すデータをソートデータ１５ｂとしてＨＤＤ１５に記録する。尚、優先度は印刷対象を印刷用紙に割り付ける際の優先度を示していればよく、種々の形式で定義可能である。また、同じ優先度の印刷対象についてはジョブの投入時間が早いほうを高優先度とするなど、種々の手法によってソートを行うことができる。
【００４１】
尚、以下の説明では、一つの印刷ジョブに１枚の印刷ページが存在することを想定しており、印刷ジョブの印刷対象を単に印刷ジョブと記述する場合もある。むろん、印刷対象が複数のページとなる場合には、複数のページをまとめて割付単位としても良いし、ページ毎に分割して割付単位としても良く、種々の構成を採用可能である。以上のように、印刷ジョブの投入がなされたときには、ステップＳ１００〜Ｓ１１０の処理が実施され、印刷ジョブが投入されるたびにこれらのステップＳ１００〜Ｓ１１０が実施される。
【００４２】
割付候補生成モジュール２１ｄは、ソートされた順にスプールデータを印刷媒体に割り付ける処理を行うモジュールであり、ソート順に従いつつも想定し得る複数の配置で割付を行う試行を繰り返すようになっている。このために、まずステップＳ１１５では、プリンタ４０に蓄積された所定の大きさの印刷用紙に対して上記ソートされたスプールデータの印刷ジョブを割り付ける。このとき、予め決められた割付条件データ１５ｃを参照し、予め決められた割付アルゴリズムに従って割付を実施するようになっている。
【００４３】
この割付アルゴリズムにおいては、上記ソートされた順序や割付条件データ１５ｃの条件を変更することによって異なる配置による複数の割付候補を生成することが可能である。ステップＳ１１５においては一回の割付処理によって一つの割付候補を生成するようになっており、一つの割付候補が生成されると割付確定モジュール２１ｅはステップＳ１２０にて割付条件データ１５ｃを参照し、それまでに得られた割付候補の中で最高の占有率となっているか否かを判別する。
【００４４】
同ステップＳ１２０にて最高占有率であると判別されなければ上記ステップＳ１１５にて生成した割付候補を破棄（ステップＳ１２５）し、ステップＳ１２０にて最高占有率であると判別されれば上記ステップＳ１１５にて生成した割付候補を割付データ１５ｄとして保持（ステップＳ１３０）する。すなわち、以上の処理によって、常に処理段階において最高の占有率となる割付候補が保持されることになる。
【００４５】
尚、ここでの占有率は、割付候補によって割り付けられた印刷ジョブが印刷媒体上で占める面積の比率であり、割付結果に基づいて割付確定モジュール２１ｅが算出する。また、上記割付条件データ１５ｃは、割付を行う際に参照すべきデータであって、本実施形態では、許容占有率や最低占有率等のデータである。詳細な具体例は後述する実施例における許容占有率や最低占有率、最大割付数、配置方向判定１〜３の判定基準等である。
【００４６】
ステップＳ１２０〜Ｓ１３０にてその時点で最高の占有率となっている割付候補を割付データ１５ｄとして保持する処理を行うと、割付確定モジュール２１ｅは、ステップＳ１３５において割付データ１５ｄを参照し、その占有率が予め決められた許容占有率を超えたか否かを判別する。ここで、許容占有率は、予め決められたアルゴリズムに従って複数の割付候補を生成する処理を、最後まで実施しないで印刷を実施することを許容するための閾値である。
【００４７】
すなわち、ステップＳ１３５にて占有率が予め決められた許容占有率を超えたと判別されたときにはステップＳ１５０にて印刷を実施し、ステップＳ１３５にて占有率が予め決められた許容占有率を超えたと判別されないときには、ステップＳ１４０以降の処理を実施する。本発明では、印刷媒体の余白を効率的に低減することを目的としているが、上記処理により、充分に高い占有率が得られているのであればそれ以上割付候補の生成を繰り返すことなく印刷を実施することになる。この結果、冗長な割付候補の生成処理を防止し、高速に処理を終えることができるとともに、充分に高い占有率で印刷を実施することが可能になる。許容占有率としては、例えば９０％あるいはそれ以上の閾値を採用可能である。
【００４８】
ステップＳ１４０では、予め決められたアルゴリズムに従って割付候補を生成するための処理が終了したか否かを判別する。同ステップＳ１４０にて割付候補を生成するための処理が終了したと判別されなければ、ステップＳ１１５に戻り、ソートされた順序や割付条件データ１５ｃの条件を変更することによって割付候補を生成する処理を繰り返す。ステップＳ１４０にて割付候補を生成するための処理が終了したと判別されたときには、ステップＳ１４５にて割付データ１５ｄを参照し、現在保持されている割付による占有率が所定の最低占有率を超えるか否かを判別する。
【００４９】
ここで、最低占有率は、印刷を実施するために最低限必要な占有率となっているか否かを判定するための閾値である。すなわち、ステップＳ１４５にて占有率が予め決められた最低占有率を超えたと判別されたときにはステップＳ１５０にて印刷を実施し、ステップＳ１４５にて占有率が予め決められた最低占有率を超えたと判別されないときには、処理を終了する。本発明では印刷媒体の余白を効率的に低減することを目的としているが、上記処理により、予め決められた最低限の占有率にならない場合には印刷を実行しないようにすることができる。最低占有率としては、例えば７５％程度の閾値を採用可能である。
【００５０】
ステップＳ１５０における印刷では、上記割付データ１５ｄに従って割付を行いながら画像を記録するように制御できればよい。印刷実行モジュール２１ｆは、この印刷を実行するためのモジュールであり、スプールデータ１５ａに基づいて印刷ジョブにおける印刷対象の画像を描画するとともに、割付データ１５ｄに従って各画像を印刷媒体上の適切な位置に配置する。この結果、印刷媒体上の印刷領域に対応したドットマトリクス状の画素に対して各色を特定した画像データが生成される。
【００５１】
印刷実行モジュール２１ｆは、さらにこの画像データに対して色変換処理やハーフトーン処理等を施し、処理後のデータによってプリンタ４０が印刷を実行するための印刷データを作成する。当該印刷データはＵＳＢＩ／Ｆ１９ｂを介してプリンタ４０に出力される。この結果、プリンタ４０においては、割付データ１５ｄに従った画像の配置で画像を記録する。
【００５２】
（３）実施例：
以上のように、本発明においては、許容占有率に基づく判定によって高速な処理と充分に高い占有率での印刷を可能にし、最低占有率に基づく判定によって大きな余白を含む無駄の多い印刷が実行されることを防止している。すなわち、これら２つの閾値を利用して実質的に上記図２示すフローと同等の処理を行えば、本発明を利用しており、各種の実施例によって本発明を実現可能である。そこで、以下においては、上記図２のフローと実質的に同等の処理を行う一実施例を詳細に説明する。
【００５３】
図３は、割付のアルゴリズムとして、単方向割付と双方向割付の２種類を実施する際のフローチャートであり、上記図１に示すような汎用的なコンピュータによって実現可能である。このフローは、上記図２におけるステップＳ１００〜Ｓ１１０のように、印刷ジョブのソートを行った後に実施される。尚、この実施例では、予め単方向割付と双方向割付とのいずれを実行するのかをＰＲＴＤＲＶ２１のプロパティ画面等において設定できるようになっており、ステップＳ２００においては、まず、単方向割付を実施するように指定されているか否かを判別する。
【００５４】
ステップＳ２００にて単方向割付を実施するように指定されていると判別したときには、ステップＳ２１０にて単方向割付による割付の試行処理を実施する。割付の試行処理が終了すると、ステップＳ２２０にて割付が確定したか否かを判別する。尚、本実施例では、ステップＳ２１０の処理によって生成された割付が確定されている場合に、割付が確定している旨を示すフラグをオンにする。従って、ステップＳ２２０では当該フラグに基づいて割付が確定しているか否かを判別すればよく、同ステップＳ２２０において割付が確定していると判別されたときには、ステップＳ２６０以降の処理を実施する。すなわち、ステップＳ２６０にて割付データ１５ｄを参照し、ステップＳ２７０にて印刷を実施する。
【００５５】
ステップＳ２００にて単方向割付を実施するように指定されていると判別しなければ、ステップＳ２１０，Ｓ２２０はスキップしてステップＳ２３０における判別を行う。また、ステップＳ２２０にて割付が確定していると判別されないときにも、ステップＳ２３０以降の処理を実施する。ステップＳ２３０においては、双方向割付を実施するように指定されているか否かを判別する。ステップＳ２３０にて双方向割付を実施するように指定されていると判別したときには、ステップＳ２４０にて双方向割付による割付の試行処理を実施する。
【００５６】
割付の試行処理が終了すると、ステップＳ２５０にて割付が確定したか否かを判別する。ステップＳ２４０の処理においても、割付が確定すると割付が確定している旨を示すフラグをオンにする。従って、ステップＳ２５０では当該フラグに基づいて判別を行い、同ステップＳ２５０において割付が確定していると判別されたときには、ステップＳ２６０以降の処理を実施する。ステップＳ２３０にて双方向割付を実施するように指定されていると判別しないとき、およびステップＳ２５０にて割付が確定したと判別しないときには、処理を終了する。
【００５７】
尚、本実施例においては、単方向割付と双方向割付との２種類を選択できるように構成することで、できるだけ高速に処理を進めて高い占有率による印刷を実施するようにしながらも、割付候補を生成する試行過程でより確実に許容占有率を満たす割付を探索できるように構成してある。すなわち、単方向割付の方が高速であり双方向割付の方が低速であるが、双方向割付の方が、割付を試行した結果最終的に許容占有率あるいは最低占有率に満たない結果が得られる可能性が少ない。そこで、先に単方向割付を行うことで高速での処理を担保し、後に双方向割付を行うことで確実に占有率を高くすることを担保できるようにしてある。
【００５８】
図４は、本実施例における単方向割付と双方向割付との概略を説明する説明図である。本実施形態においては、印刷媒体および印刷ジョブにおける印刷対象が矩形であり、後述するように印刷可能領域を矩形で抽出して割付を行う。印刷ジョブにおける印刷対象の大きさとしては、各種の大きさがあり得るが、通常、矩形であれば、長辺と短辺とを備えている。図４では、同じ印刷対象について４つの矩形を示しており、印刷対象の配向を明示するため、印刷対象の一部に三角形を付している。
【００５９】
すなわち、矩形の短辺と接する三角形の頂点が紙面上下方向を指す縦状態（長辺が上下に配向している）と当該三角形が紙面左右方向を指す横状態（長辺が左右に配向している）とが存在し、印刷可能領域の幅および高さが充分であれば、縦状態と横状態とのいずれであっても印刷対象を印刷可能領域に割り付けることができる。単方向割付は、複数の割付候補を生成する際に、一つの印刷ジョブについて縦状態あるいは横状態のいずれかのみで割付を行うアルゴリズムである。
【００６０】
本実施例では、後述する配置方向判定１〜３の基準に基づいて配置方向を決定する。双方向割付は、複数の割付候補を生成する際に、一つの印刷ジョブについて縦状態および横状態の双方ともを割付候補とするアルゴリズムである。従って、単方向割付であれば、想定し得る総ての割付を候補としてはいないが、処理速度は双方向割付より高速である。
【００６１】
（３−１）単方向割付処理：
次に、単方向割付の詳細を説明する。図５は、上記ステップＳ２１０において呼び出される単方向割付処理のルーチンである。本実施例においては、割付を行った後の余白を矩形で抽出し印刷可能領域とするが、重複を許してできるだけ大きな矩形を抽出するため、印刷可能領域が複数存在し得る。そこで、本実施例では、複数の印刷可能領域を割付可能矩形リストとしてソートしながら扱うようにしており、ステップＳ３００では、まずこの割付可能矩形リストを空に（初期化）する。割付可能矩形リストは、印刷可能領域の大きさとその順序とを示すデータであればよい。
【００６２】
また、本実施例では、上述のように優先度に従ってソートした結果をできるだけ使用するようにしており、ソートされた印刷ジョブの先頭は必ず割り付けるようにしている。このために、ステップＳ３１０，Ｓ３２０の処理を行っており、ステップＳ３１０では、割付可能矩形リストに印刷用紙の印刷領域を登録する。すなわち、割付が行われていない段階では、印刷用紙の印刷領域が唯一の印刷可能領域となるので、印刷領域を割付可能矩形リストに登録する。
【００６３】
ステップＳ３２０では、仮割付処理を実施する。この仮割付処理は、割付可能矩形リストの先頭の印刷可能領域に対してソートされた順に印刷ジョブの割付を試みる処理であり、詳細は後述する。ステップＳ３２０にて印刷領域に対して先頭の印刷ジョブにおける印刷対象の割付を試みたら、ステップＳ３３０にて割付がなされたか否かを判別し、割付がなされたと判別されなければ最高優先度の印刷ジョブが割り付けられなかったとしてステップＳ３４０〜Ｓ３６０をスキップする。
【００６４】
ステップＳ３３０にて割付がなされたと判別されたときには、さらに、占有率を高めるためにステップＳ３４０にて単方向割付メイン処理を実施する。この単方向割付メイン処理は、残りの印刷可能領域に対して残りの印刷ジョブにかかる印刷対象を割り付ける処理であり、複数の割付候補を生成し、その時点で最高の占有率となる割付候補を常に保持する。ステップＳ３４０では、複数の割付候補について占有率を計算し、許容占有率を超えていればその割付候補で割付が確定されている（フラグがオンになっている）。しかし、いずれの割付候補も許容占有率を超えていなければステップＳ３４０にて割付が確定していない。
【００６５】
そこで、ステップＳ３５０においては、ステップＳ３４０で生成された割付データ１５ｄを参照し、割り付け後の占有率を算出するとともに、占有率が最低占有率を超えているか否かを判別する。ステップＳ３５０にて占有率が最低占有率を超えていると判別されたときには、ステップＳ３６０にて割付を確定する。すなわち、上記ステップＳ３４０で生成された割付候補の占有率は許容占有率を超えていないが、最低占有率を超えているので、この時点で割付を確定するためのフラグをオンにする。ステップＳ３５０にて占有率が最低占有率を超えていると判別されないときには、ステップＳ３６０をスキップし、図３に示す処理に復帰する。
【００６６】
次に、上記ステップＳ３４０における単方向割付メイン処理を詳説する。図６は、当該単方向割付メイン処理のフローチャートである。まず、ステップＳ４００では、その時点における割付可能矩形リストをＲＡＭ等に一時記憶する。すなわち、単方向割付メイン処理においては、後述するように割付可能矩形リストを更新しながら処理を進めていくが、このとき当該単方向割付メイン処理を再帰的に呼び出して複数の割付候補を生成している。この過程では、ある段階での割付をキャンセルし、その前の段階に戻す必要があるため、割付可能矩形リストを以前のものに復元できるようにステップＳ４００で一時記憶している。
【００６７】
ステップＳ４０５では、上記ソートされた印刷ジョブのうち、割付が確定していないジョブ（印刷ジョブリストと呼ぶ）から先頭の印刷ジョブを取得する。そして、ステップＳ４１０では、その印刷ジョブが割付の試行対象であるか否かを判別する。すなわち、仮割付フラグがセットされていない場合に試行対象であると判別する。すなわち、後述する仮割付処理によって仮割付がなされた印刷ジョブについては、仮割付フラグをオンにセットし、この仮割付フラグによって同じジョブについて再度割付を行わないようにする。
【００６８】
ステップＳ４１０にて試行対象の印刷ジョブであると判別されないときには、ステップＳ４１５にて印刷ジョブリストで次の順序となっている印刷ジョブを取得する。ステップＳ４２０では、当該ステップＳ４１５における印刷ジョブの取得過程で印刷ジョブリストに印刷ジョブが存在したか否かを判別する。同ステップＳ４２０で印刷ジョブが存在したと判別されたときには、ステップＳ４１０に戻って処理を繰り返す。同ステップＳ４２０にて印刷ジョブが存在したと判別されなければ図６に示す単方向割付メイン処理から図５に示す単方向割付処理に復帰する。すなわち、以上の処理によって、印刷ジョブリストに記述された順序に沿って各印刷ジョブを仮割付処理の対象として割付を行い、割付を試行する。
【００６９】
ステップＳ４１０にて試行対象の印刷ジョブであると判別されると、ステップＳ４２５の仮割付処理を行う。ここでは、その時点における割付可能矩形リストの先頭に対して試行対象の印刷ジョブを割り付ける処理および割り付けた結果得られる余白から割付可能矩形リストを再構築する処理を実施する。ステップＳ４３０では、この処理の結果、試行対象の印刷ジョブが割付対象の矩形に割り付けられたか否かを判別しており、割付がなされなかった場合には、上記ステップＳ４１５以降の処理を行って、印刷ジョブリストの次の候補について試行を続ける。
【００７０】
ステップＳ４３０において割付がなされたと判別されたときには、仮割付がなされたことを示すため、ステップＳ４３５において試行対象の印刷ジョブについて仮割付フラグをオンにセットする。また、割付を行った数をカウントするための変数（割付数）をインクリメントする。本実施例においては、再帰呼び出しを行うにあたり際限なく割付を行うのではなく、最大割付数を予め定義しており、当該最大割付数に達したらそれ以上の数の割付は実施しないようにしている。そこで、仮割付を行った後には、上述のように割付数をインクリメントしている。
【００７１】
ステップＳ４４０では占有率最大化処理を行う。すなわち、仮割付を行った結果を割付候補としたとき、その占有率が上記許容占有率を超えれていれば割付を確定できるし、最終的に割付を超えなければ、最高の占有率の割付結果について最低占有率を超えているか否かを判定する必要がある。そこで、ステップＳ４４０では、割付候補のうち最高の占有率となっているものを常に保持するために占有率最大化処理を行っている。
【００７２】
図７は、占有率最大化処理のフローチャートである。ステップＳ４４２では、仮割付後の占有率を算出し、前回の試行までで保持されている割付の占有率より大きいか否かを判別する。ここで、仮割付後の占有率は、仮割付後にその時点で仮割付済みの印刷ジョブが占める全面積を算出し、この面積の印刷領域に対する比率を算出することによって得られる。また、前回の試行までで保持されている割付の占有率は、前回の試行までで記憶済みの割付データ１５ｄから算出される占有率である。
【００７３】
ステップＳ４４２にて仮割付後の占有率が前回の試行までに得られた割付候補の占有率より大きいと判別されれば、ステップＳ４４４において、仮割付後のデータで割付データ１５ｄを更新する。また、ステップＳ４４６では、当該更新後の割付データ１５ｄによる占有率が許容占有率を超えているか否かを判別し、許容占有率を超えていたら割付確定のフラグをオンにセットする。ステップＳ４４２にて仮割付後の占有率が前回の試行までに得られた割付候補の占有率より大きいと判別されない場合、およびステップＳ４４６の後には、図６に示す処理に復帰する。
【００７４】
ステップＳ４４０の占有率最大化処理を行うと、図６のステップＳ４５０にて、割付が確定したか否かを判定し、同ステップＳ４５０にて割付が確定していると判定されたときには、図６に示す処理を抜けて図５に示す処理に復帰する。すなわち、許容占有率を超える割付が得られたので、割付を確定するために図６の処理を抜ける。ステップＳ４５０にて割付が確定していると判定されなかったときには、許容占有率を超える割付が得られていないので、さらなる試行を続けるか否かを判別するため、ステップＳ４５５にて割付数が予め決められた最大割付数に達しているか否かを判別する。
【００７５】
ステップＳ４５５にて割付数が予め決められた最大割付数に達していると判別されなければ、ステップＳ４６０にて単方向割付メイン処理の再帰呼び出しを行い、さらに割付を行う。ステップＳ４５５にて割付数が予め決められた最大割付数に達していると判別されたときには、それ以上の割付数で試行することを避けるため、ステップＳ４６０の再帰呼び出しをスキップする。尚、上述のＳ４２５における仮割付処理にては、割付可能矩形リストを再構築している。従って、単方向割付メイン処理を再帰呼び出ししている場合のステップＳ４００では、再構築後の割付可能矩形リストを一時記憶することになる。また、仮割付済みの印刷ジョブには仮割付フラグがセットされているため、ステップＳ４０５〜Ｓ４２０の処理によって、仮割付が行われていない印刷ジョブを印刷ジョブリストから抽出して仮割付処理を繰り返すことになる。
【００７６】
ステップＳ４５５の判別および再帰呼び出しにより、割付数が最大割付数に達している場合と再帰呼び出しが終了した場合のみにステップＳ４６５以降を実施する。これらの場合は、割付数が最大割付数に達していても許容占有率には達していない場合かあるいは再帰呼び出しを繰り返しても割付が確定していない場合である。この場合、現在の処理で試行対象となっていた印刷ジョブより後の順序となるようにソートされていた印刷ジョブで割付を試行すれば、より高い占有率が得られる可能性がある。
【００７７】
そこで、現在の処理で試行対象とされていた印刷ジョブより後ろの順序の印刷ジョブで試行を繰り返す。このため、ステップＳ４６５では、割付数をデクリメントすることによってさらなる試行を続行可能な状況とし、それまで試行対象となっていた印刷ジョブの仮割付フラグをリセットする。さらに、ＲＡＭに一時記憶された割付可能矩形リストを抽出し、上記ステップＳ４２５にて再構築される前の状態に割付可能矩形リストを戻す。この後に、ステップＳ４１５の処理を繰り返すことにより、後ろの順序の印刷ジョブを試行対象として処理を続行する。
【００７８】
図８は図６における処理の例を説明する説明図である。同図に示す例においては、印刷ジョブリストがＡＢＣＤＥＦという順であり、最大割付数が４である場合について説明する。割付可能矩形リストに登録される各印刷可能領域はアルファベットの小文字で示している。図６に示す処理において割付の初期には最高優先度の印刷ジョブを割り付けた後の印刷可能領域が割付可能矩形リストに登録され、これをａ，ａ’と示している。
【００７９】
この印刷可能領域ａ，ａ’に対して印刷ジョブＡを割り付けると割付数がインクリメントされて１となる。図８に示す例では、この割付で得られる余白に基づいて印刷可能領域が再構築され、印刷可能領域ｂ，ｃとなる。また、図８に示す例ではこの割付による占有率は許容占有率を超えない。そこで、単方向割付メイン処理の再帰呼び出しを行い、印刷ジョブＢを試行対象として割付を繰り返す。
【００８０】
この結果、印刷ジョブＢが印刷可能領域ｂ，ｃのいずれかに割り付けられ、仮割付済みの印刷ジョブはＡ，Ｂとなる。この結果、割付数がインクリメントされて２になるとともに印刷可能領域が再構築されてｄ，ｅ，ｆとなる。以降、このような処理を繰り返し、印刷ジョブＣを割り付け、割付数を３とし、印刷可能領域をｇ，ｆ，ｉ，ｊとする。さらに、印刷ジョブＤを割り付け、割付数を４とし、印刷可能領域をｋ，ｌ，ｍ，ｎ，ｏとする。このとき、仮割付済みの印刷ジョブはＡ，Ｂ，Ｃ，Ｄである。
【００８１】
図８では、印刷ジョブＡ，Ｂ，Ｃ，Ｄの面積が印刷領域の面積に対して占める比率（占有率）が許容占有率を超えていない場合について示す。印刷ジョブＡ，Ｂ，Ｃ，Ｄにおける占有率が許容占有率を超えていない場合、再帰呼び出しをスキップして上記ステップＳ４６５を行う。従って、仮割付済みの印刷ジョブＤの仮割付フラグがリセットされ、割付数が３，割付可能矩形リストがｇ，ｈ，ｉ，ｊとなる。この状態にてステップＳ４１５以降を繰り返すので、次の印刷ジョブＥによって試行が行われる。
【００８２】
この結果、印刷ジョブＥが割付可能矩形リストｇ，ｈ，ｉ，ｊのいずれかに割り付けられ、仮割付済みの印刷ジョブがＡ，Ｂ，Ｃ，Ｅとなる。図８に示すように、この割付でも占有率が許容占有率を超えない場合、同様の処理を繰り返し、印刷ジョブＦが割付可能矩形リストｇ，ｈ，ｉ，ｊのいずれかに割り付けられる。この割付の占有率が許容占有率を超えれば、図８に示すようにこの割付で確定される。従って、図６に示す処理を抜けて印刷が実行される。
【００８３】
次に、図９に示すフローチャートに従って、上記ステップＳ４２５における仮割付処理を詳説する。この仮割付処理では、割付可能矩形リストの先頭の印刷可能領域に対して印刷ジョブの割付を試みる処理と、割付がなされた場合の余白に基づいて割付可能矩形リストを再構築する処理を行う。このために、まずステップＳ５００では現在扱っている割付可能矩形リストから先頭の順序に相当する印刷可能領域を取得し、ステップＳ５１０にて印刷可能領域が取得できたか否かを判別する。
【００８４】
ステップＳ５１０にて印刷可能領域が取得できたと判別されない場合、すなわち、割付可能矩形リスト上に印刷可能領域が存在しない場合には、仮割付を実行できないので、ステップＳ５２０〜Ｓ５５０をスキップして図６に示す処理に復帰する。ステップＳ５１０にて印刷可能領域が取得できたと判別された場合には、ステップＳ５２０にて割付方向決定処理を行う。この処理は、当該取得された印刷可能領域に対して印刷ジョブをどのような方向（縦あるいは横）で配置するのかを決定する処理であり、詳細は後述する。
【００８５】
ステップＳ５３０では、ステップＳ５２０における割付方向決定処理で割付がなされたか否かを判別する。同ステップＳ５３０で割付がなされたと判別されなければ、ステップＳ５４０にて割付可能矩形リストにおける次の印刷可能領域を取得し、ステップＳ５１０以降の処理を繰り返す。すなわち、割付可能矩形リストの順序に従って印刷可能領域を抽出し、試行対象の印刷ジョブを割り付ける処理を繰り返す。ステップＳ５３０にて割付がなされたと判別されると、Ｓ５５０にて割付可能矩形リストの更新処理を行う。すなわち、余白から割付可能矩形リストを再構築する。
【００８６】
図１０は、上記ステップＳ５２０における割付方向決定処理のフローチャートである。この処理では、印刷可能領域に対して印刷ジョブを縦方向あるいは横方向のみに配置可能である場合は、可能な配置で割付を行うが、両方向で割付可能である場合に、いずれの方向で配置すべきかを判別して仮割付を行う。このために、まずステップＳ６００では、印刷ジョブを印刷可能領域に配置可能であるか否かを判別する。すなわち、印刷可能領域が印刷ジョブより広く、印刷ジョブがはみ出さないように配置可能であるか否かを判別する。
【００８７】
ステップＳ６００において、印刷ジョブを印刷可能領域に配置可能であると判別されなければ、割付方向決定処理をスキップし、図９に示す処理に復帰する。ステップＳ６００において、印刷ジョブを印刷可能領域に配置可能であると判別されると、ステップＳ６０５にて、どの方向で配置可能であるのかを判別する。同ステップＳ６０５にて縦方向のみで配置可能であると判別されたときには、ステップＳ６２５にて配置方向を縦方向に決定する。ステップＳ６０５にて横方向のみで配置可能であると判別されたときには、ステップＳ６３０にて配置方向を横方向に決定する。
【００８８】
ステップＳ６０５にて、縦方向および横方向の両方で配置可能であると判別されたときには、ステップＳ６１０〜Ｓ６２０における配置方向判定１〜３に基づいて配置方向を決定する。すなわち、ステップＳ６１０では配置方向判定１の判定基準により、縦方向あるいは横方向のいずれの配置を行うべきかを判定し、縦方向と判定されればステップＳ６２５、横方向と判定されればステップＳ６３０を行う。いずれの方向であるとも確定されなければステップＳ６１５に進む。
【００８９】
ステップＳ６１５では配置方向判定２の判定基準により、縦方向あるいは横方向のいずれの配置を行うべきかを判定し、縦方向と判定されればステップＳ６２５、横方向と判定されればステップＳ６３０を行う。いずれの方向であるとも確定されなければステップＳ６２０に進む。ステップＳ６２０では配置方向判定１の判定基準により、縦方向あるいは横方向のいずれの配置を行うべきかを判定し、縦方向と判定されればステップＳ６２５、横方向と判定されればステップＳ６３０を行う。
【００９０】
いずれの方向であるとも確定されなければ、縦あるいは横のいずれかに強制的に配置方向を決定しても良いし、仮割付が不可能であるとしても良いし、さらに他の判定基準によって判定を行っても良く、種々の構成を採用可能である。ステップＳ６３５においては、ステップＳ６２５，Ｓ６３０にて決定された配置方向に従って、仮割付を行う。すなわち、印刷可能領域に対して印刷ジョブを割り付けてその配置を示すデータとして割付データ１５ｄを作成する。尚、本実施例においては、各印刷ジョブを印刷可能領域の左上詰めで配置するようにしてある。
【００９１】
図１１は、上記配置方向判定１〜３を説明する説明図である。配置方向判定１は、割り付け後の余白ができるだけ小さくなるように配置するための基準である。本実施例においては、印刷可能領域の横方向の幅をｗ0，縦方向の高さをｈ0とし、横方向の余白の幅をｗ1，縦方向の余白の高さをｈ1としている。そして、破線で示す印刷ジョブＪ1を縦あるいは横で配置したとき（図１１では横配置）の余白と印刷可能領域との比を横幅および縦高さについて算出し、この比が０．１以下になるようにする。
【００９２】
すなわち、印刷ジョブＪ1を縦方向に配置したときのｗ1／ｗ0あるいはｈ1／ｈ0を算出し、これらのいずれかが０．１以下であれば余白ができるだけ小さくなるように配置できるとして配置方向を縦方向とする。さらに、印刷ジョブＪ1を横方向に配置したときのｗ1／ｗ0あるいはｈ1／ｈ0を算出し、これらのいずれかが０．１以下であれば余白ができるだけ小さくなるように配置できるとして配置方向を横方向とする。
【００９３】
配置方向判定２は印刷ジョブの短辺あるいは長辺の整数倍が印刷可能領域におけるいずれかの辺と等しくなるか否かを判定するための基準である。すなわち、図１１において破線で示す印刷ジョブＪ2を縦方向あるいは横方向で配置したとき、各配置における横方向の幅をｗ2，縦方向の高さをｈ2としたとする。そして、ｗ0／ｗ2あるいはｈ0／ｈ2が略整数であればその方向で配置するように決定する。
【００９４】
具体的には、縦方向に配置したときにｗ0／ｗ2とｈ0／ｈ2との双方が整数であれば縦配置とするし、横方向に配置したときにｗ0／ｗ2とｈ0／ｈ2との双方が整数であれば横配置とする。また、双方が整数倍となっていない場合、縦方向に配置したときにｗ0／ｗ2あるいはｈ0／ｈ2のいずれかが整数であれば縦配置とするし、横方向に配置したときにｗ0／ｗ2あるいはｈ0／ｈ2のいずれかが整数であれば横配置とする。尚、ここでは、縦配置のｗ2＝横配置のｈ2である。
【００９５】
また、上述の比が厳密に整数倍であることを要求しても良いが、本実施例では、印刷可能領域がある程度（例えば２０mm程度）印刷ジョブより大きい場合には、整数倍であると見なしている。すなわち、印刷ジョブの整数倍が印刷可能領域に重なるか否かを判定することによって、非常に高い占有率であるか否かを判定しているので、厳密に整数倍であることを要求するよりも、高い占有率であることを要求することを優先し、略整数倍であっても良いこととしている。
【００９６】
配置方向判定３は、割り付け後の余白ができるだけ大きくなるように配置するための基準である。ここでは、横方向の余白の幅をｗ3，縦方向の余白の高さをｈ3とし、破線で示す印刷ジョブＪ3を縦あるいは横で配置したとき（図１１では縦配置）の余白と印刷可能領域との比を横幅および縦高さについて算出し、この比が０．５以上になるようにする。
【００９７】
すなわち、印刷ジョブＪ3を縦方向に配置したときのｗ3／ｗ0あるいはｈ3／ｈ0を算出し、これらのいずれかが０．５以上であれば余白ができるだけ大きくなるように配置できるとして配置方向を縦方向とする。さらに、印刷ジョブＪ3を横方向に配置したときのｗ3／ｗ0あるいはｈ3／ｈ0を算出し、これらのいずれかが０．５以上であれば余白ができるだけ大きくなるように配置できるとして配置方向を横方向とする。以上の処理により、配置方向判定１，２にて余白をできるだけ小さくすることを試み、この判定基準で配置できないときには、逆に後の割付を行いやすくするため、配置方向判定３にて余白ができるだけ大きくなるように配置を行うことになる。
【００９８】
図１２は、上記ステップＳ５５０における割付可能矩形リスト更新処理のフローチャートである。まずステップＳ７００では現在扱っている割付可能矩形リストから先頭の順序に相当する印刷可能領域を取得する。ステップＳ７１０では印刷可能領域が取得できたか否かを判別し、印刷可能領域が取得できたと判別されなければ、ステップＳ７６０にて割付可能矩形リストを幅または高さの値が小さい順にソートする。すなわち、ステップＳ７１０を最初に実行したときには印刷可能領域を取得できるので、最初の実行ではステップＳ７２０以降を実施し、ステップＳ７２０〜Ｓ７５０のループを行う過程で割付可能な印刷可能領域を取得できなくなった段階でステップＳ７６０を実施することになる。
【００９９】
ステップＳ７２０では、取得した印刷可能領域が、割り付けられたジョブの配置位置と重なるか否かを判別する。すなわち、割付がなされた印刷可能領域である場合には、割付後の余白に基づいて印刷可能領域が再構築される必要がある。また、印刷可能領域は重複を許してできるだけ大きな矩形となるように抽出されているので、割付が行われた印刷可能領域以外でも印刷ジョブと重なる領域を含む場合がある。そこで、印刷可能領域を逐次抽出して、ステップＳ７２０において、印刷可能領域が割付後のジョブに重なるか否かを判別する。
【０１００】
ステップＳ７２０にて印刷可能領域が割付後のジョブに重なると判別されると、ステップＳ７３０にて割付可能矩形リストから当該印刷可能領域を取り除く。そして、ステップＳ７４０にてこの印刷可能領域からジョブと重なる領域を除去し、残る余白から印刷可能領域を生成し、割付可能矩形リストに加える。尚、縦横いずれかの長さが１００mm以下の余白は、割付を行う面積としては小さいため、本実施例においては印刷可能領域に加えないこととしている。
【０１０１】
ステップＳ７２０にて印刷可能領域が割付後のジョブに重なると判別されない場合およびステップＳ７４０を実施した場合には、ステップＳ７５０にて割付可能矩形リストにおける次の印刷可能領域を取得し、ステップＳ７１０以降の処理を繰り返す。このようにして印刷可能領域が取得できなくなるまでステップＳ７１０を繰り返し、ステップＳ７６０にて割付可能矩形リストをソートすることにより、上記ステップＳ５２０にて割り付けられた部位を除いて印刷可能領域を再構築したことになる。
【０１０２】
図１３は、割付可能矩形リスト更新処理の例を説明する説明図である。同図左端に示す大きな矩形は一つの大きな印刷領域を示し、この印刷領域に対して印刷ジョブＪ4，Ｊ5を逐次割り付ける例を説明する。印刷領域に対して印刷ジョブＪ4を割り付けると、余白は矩形ではなくなるが、本実施例では、できるだけ大きな矩形を印刷可能領域として抽出して割付可能矩形リストを再構築する。
【０１０３】
従って、印刷ジョブＪ4を割り付けた後には、点Ｐ0を対角の頂点とする矩形と点Ｐ1および点Ｐ0を対角の頂点とする矩形の２つが次の割付可能矩形リストに登録される。図１３の中央はこの２つの矩形による割付可能矩形リストを示している。この割付可能矩形リストに対して印刷ジョブＪ5を割り付けると、その余白から印刷可能領域が構築される。点Ｐ0を対角の頂点とする矩形に印刷ジョブＪ5を割り付けたとすると、点Ｐ2および点Ｐ0を対角の頂点とする矩形と点Ｐ3および点Ｐ0を対角の頂点とする矩形の２つが構築される。
【０１０４】
一方、点Ｐ1および点Ｐ0を対角の頂点とする矩形においては、その中央上部（図１３でハッチを示した部位）に印刷ジョブＪ5と重なる部位があるので、この部位を除いて印刷可能領域を再構築する。ただし、本実施例ではできるだけ大きな矩形となるように印刷可能領域を抽出するので、抽出済みの印刷可能領域との関係を考慮する。すなわち、点Ｐ1および点Ｐ0を対角の頂点とする矩形のみを考えると、その余白から、点Ｐ1および点Ｐ5を対角の頂点とする矩形と点Ｐ6および点Ｐ0を対角の頂点とする矩形と点Ｐ7および点Ｐ0を対角の頂点とする矩形が抽出される。
【０１０５】
しかし、点Ｐ7および点Ｐ0を対角の頂点とする矩形は、上記抽出済みの矩形（点Ｐ2および点Ｐ0を対角の頂点とする矩形）の一部である。従って、印刷可能領域を生成する際に、点Ｐ7および点Ｐ0を対角の頂点とする矩形は印刷可能領域としない。この結果、図１３の右側に示すように点Ｐ2および点Ｐ0を対角の頂点とする矩形と点Ｐ1および点Ｐ5を対角の頂点とする矩形と点Ｐ6および点Ｐ0を対角の頂点とする３つの矩形が抽出される。以上のようにして割付可能矩形リストを再構築することにより、余白をできるだけ有効に利用した割付が実施可能である。
【０１０６】
（３−２）双方向割付処理：
次に、双方向割付の詳細を説明する。図１４は、上記ステップＳ２４０において呼び出される双方向割付処理のルーチンである。双方向割付処理においては、上述した単方向割付処理と共通の処理も多く、共通の処理は上述の符号（ステップＳ３００等）と同じ符号を示すことによって詳細な説明は省略する。単方向割付処理と異なる処理については符号に’を付けるかあるいは異なる番号で示しており、以降、主に単方向割付処理と異なる処理について詳説する。
【０１０７】
双方向割付処理においては、単方向割付処理と同様にステップＳ３００，Ｓ３１０を実施した後、ステップＳ３２０’において最高優先度の印刷ジョブの割付を行う。但し、このステップＳ３２０’においては、印刷ジョブを割り付ける際の方向を縦方向に限定する。すなわち、ステップＳ３２０’における仮割付処理は上記図９に示す処理とほぼ同様であるが、ステップＳ５２０のように割付方向を決定する処理を実施するのではなく、方向を指定して仮割付処理を実施できるようになっている。
【０１０８】
すなわち、印刷可能領域に対して印刷ジョブが指定された方向で配置できるか否かを判別し、配置できるようであれば、その方向で割付を行う。ステップＳ３２０’においては縦方向に限定されており、縦方向についてのみ仮割付を行う。但し、この後のステップＳ３４４にて配置方向を横方向に限定した仮割付処理を実施するので、結局、双方向での割付を試行することになる。
【０１０９】
ステップＳ３２０’の処理を終えると、ステップＳ３３０を経てステップＳ３４０’にて双方向割付メイン処理を実行する。この処理は後述するが、ここでは、各印刷ジョブについて双方向の割付を行う。ステップＳ３４２においては、当該ステップＳ３４０’にて得られた割付が確定したか否か、すなわち許容占有率を超える占有率の割付が得られたか否かを判別し、割付が確定していれば図３に示す処理に復帰する。
【０１１０】
ステップＳ３４４では、上述の通り、配置方向を横方向に限定して図９とほぼ同様の処理を行うことで仮割付処理を実施する。そして、ステップＳ３４５〜Ｓ３４８にて上記ステップＳ３３０〜Ｓ３４２と同様の処理を行う。この処理の後、上記ステップＳ３５０，Ｓ３６０と同様の処理を行う。すなわち、占有率が最低占有率を超えていれば、その割付を使用して印刷を行うため、割付を確定する。
【０１１１】
図１５は、上記双方向割付メイン処理のフローチャートである。同図に示すように、双方向割付メイン処理では、上記図６と共通の処理、ステップＳ４００〜Ｓ４２０を含んでいる。但し、ステップＳ４１０の判別によって印刷ジョブが試行対象であると判別されたときには、ステップＳ４２１にて配置方向を縦方向に指定した状態で双方向割付サブルーチンを呼び出す。配置方向を縦方向に指定した状態での双方向割付サブルーチンによれば、配置方向を縦に限定した状態で印刷ジョブリスト中のジョブを割付可能矩形リストに割り付ける処理がなされ、割り付けた結果が許容占有率を超えれば割付が確定される。
【０１１２】
そこで、ステップＳ４２２においては割付が確定したか否かを判別し、割付が確定したと判別されたときには、図１４に示す処理に復帰する。また、ステップＳ４２３では、配置方向を縦方向に指定した状態で双方向割付サブルーチンを呼び出す。この処理においては、配置方向を横に限定した状態で印刷ジョブリスト中のジョブを割付可能矩形リストに割り付ける処理がなされ、割り付けた結果が許容占有率を超えれば割付が確定される。そこで、ステップＳ４２４においては割付が確定したか否かを判別し、割付が確定したと判別されたときには、図１４に示す処理に復帰する。割付が確定したと判別されなければ、ステップＳ４１５に戻って処理を繰り返す。
【０１１３】
図１６は、双方向割付サブルーチンのフローチャートである。この処理において、ステップＳ４２５’では指定された配置方向での仮割付処理を行う。すなわち、ステップＳ４２１あるいはステップＳ４２３で指定された配置方向で仮割付を行うこととし、図９と同様の処理を実施する。当該図９と同様の処理において、ステップＳ５２０に相当する処理は図９と異なり、指定された方向で印刷ジョブが印刷可能領域に配置できるか否かを判別し、配置できるようであれば、その方向で割付を行う。
【０１１４】
この結果、仮割付と割付可能矩形リストの再構築処理が実施され、ステップＳ４３０’では、この処理の結果、試行対象の印刷ジョブが割付対象の矩形に割り付けられたか否かを判別する。同ステップＳ４３０’で割付がなされたと判別されなければ図１５に示す処理に復帰する。ステップＳ４３０’で割付がなされたと判別されたときには、上記図６に示す単方向割付メイン処理と同様にステップＳ４３５〜Ｓ４６５を実施する。但し、ステップＳ４６０’に示すように、再帰呼び出しで呼び出されるのは双方向割付メイン処理である。
【０１１５】
すなわち、割付がなされると割付数のインクリメントおよび仮割付フラグのセットを行い、占有率が最大の割付が得られたのであれば、その割付を保持する。また、占有率が許容占有率を超えていれば、その割付で確定する。許容占有率を超えていなければ、割付数が最大割付数を超えるまで双方向割付メイン処理を再帰呼び出しする。そして、割付が確定しなければ、割付数のデクリメントや仮割付フラグのリセット、割付可能矩形リストの復帰等を行って図１５に示す処理に復帰する。
【０１１６】
以上の処理により、許容占有率を超えるまで縦方向の割付および横方向の割付双方を実施することができる。また、許容占有率を超えなければ、最大の占有率が得られる割付を保持し続け、最終的に最低占有率を超えていれば、その状態で割付を確定する。従って、印刷可能領域に対して割付を実施し得るより多くの配置について試行を行って占有率をより確実に高めることができる。
【０１１７】
（４）他の実施例：
以上の実施例は、本発明を実現するための例であり、むろん他の構成を採用することも可能である。例えば、上述の実施例では、印刷媒体上の印刷領域と印刷媒体の大きさが略同一である場合を想定していたが、印刷媒体上に仮想の印刷領域を想定して割付を行っても良い。例えば、大きな印刷媒体上への割付は、割付候補の数が多くなり、処理に時間を要するので、印刷媒体上でそれより小さな仮想的な印刷媒体の大きさを想定する。
【０１１８】
当該仮想的な印刷媒体が印刷領域であるとして割付を行えば、より少ない割付候補を試行するのみで割付を確定させることができ、高速に処理をおけることができる。また、このような構成は、ロール紙を搭載するプリンタに使用して好適である。すなわち、ロール紙は軸に巻回された非常に長い印刷媒体であるため、印刷を行うためには、ロール紙上で仮想的に印刷媒体を想定し、その印刷媒体への印刷を実行した後、ロール紙を切断する。そこで、この仮想的な印刷媒体に対して割付を行えば、ロール紙においても無駄の少ない印刷を実施可能である。
【０１１９】
また、上記実施例では、印刷ジョブリストの順序にできるだけ忠実になるように、最高優先度の印刷ジョブは必ず割付を行うようにしていたが、むろん、最高優先度の印刷ジョブが割り付けられなかったときに、他の印刷ジョブを割り付けて割付の試行を行うことも可能である。この構成によれば、割付の自由度が高くなり、高い占有率での割付が実施できる可能性が高くなる。
【０１２０】
さらに、上述の実施例では、印刷ジョブにおける割付単位が矩形であったが、むろん印刷対象の形状は矩形に限られない。例えば、三角形や五角形以上の形状をした印刷ジョブであっても割付を実施可能である。この場合、単方向の仮割付処理と多方向の仮割付処理とを実施することになる。また、上述のように割付に際して左上の隅に詰めて配置をすることが必須ではなく、右上の隅に詰めても良く種々の構成を採用可能である。
【０１２１】
さらに、上記実施例では、配置方向判定１〜３や最大割付数、許容占有率、最低占有率などに各種閾値を用いているが、その値は上述のものに限定されず、各種の値を採用可能である。さらに、上述の実施例では割付の試行対象であるか否かを仮割付フラグによって判定していたが、割付を行うべきか否かを判定するにあたり、試行済みの割付と同じサイズの印刷ジョブは除外する構成を採用可能である。すなわち、同じサイズの印刷ジョブであれば、割付によって得られる占有率は同じ結果となるため、試行をする必要がない。
【０１２２】
さらに、上述の実施例においては、許容占有率および最低占有率によって割付を確定するか否かを判定していたが、これらの占有率によって割付を確定することを原則としつつも、他の判定基準を導入することが可能である。例えば、割付を行うための処理を開始してからの経過時間を計測し、所定の時間が経過したら、許容占有率あるいは最低占有率を超えていなくても割付を確定し、印刷を実行する構成を採用可能である。
【０１２３】
すなわち、多数の印刷ジョブがスプールされている状態において、割付の試行を繰り返すと、多数の印刷ジョブが印刷されないまま維持されてしまうので、所定の時間を経過したら印刷を行うこととすれば、高い占有率での印刷を実行しつつも、過度の待ち時間が発生することを防止することができる。むろん、上記所定の時間としては、種々の基準によって規定することができ、例えば、各印刷ジョブが投入されてから所定の時間以上が経過したらその印刷ジョブについては上記占有率より高い割付ができなかったとしても印刷を行う構成等種々の構成を採用可能である。また、上記所定の時間は利用者の指示によって決定しても良いし、コンピュータ１０のリソースによって決定しても良く、種々の手法によって決定することができる。
【図面の簡単な説明】
【０１２４】
【図１】本発明にかかる印刷制御装置を示す図である。
【図２】本発明における処理のゼネラルフローチャートである。
【図３】単方向割付と双方向割付を実施する例のフローチャートである。
【図４】単方向割付と双方向割付との概略を説明する説明図である。
【図５】単方向割付処理のフローチャートである。
【図６】単方向割付メイン処理のフローチャートである。
【図７】占有率最大化処理のフローチャートである。
【図８】単方向割付メイン処理の処理例を説明する説明図である。
【図９】仮割付処理のフローチャートである。
【図１０】割付方向決定処理のフローチャートである。
【図１１】配置方向判定１〜３を説明する説明図である。
【図１２】割付可能矩形リスト更新処理のフローチャートである。
【図１３】割付可能矩形リスト更新処理の例を説明する説明図である。
【図１４】双方向割付処理のフローチャートである。
【図１５】双方向割付メイン処理のフローチャートである。
【図１６】双方向割付サブルーチンのフローチャートである。
【符号の説明】
【０１２５】
１０…コンピュータ、１５…ＨＤＤ、１５ａ…スプールデータ、１５ｂ…ソートデータ、１５ｃ…割付条件データ、１５ｄ…割付データ、２１ａ…印刷ジョブデータ取得モジュール、２１ｂ…スプールモジュール、２１ｃ…ソートモジュール、２１ｄ…割付候補生成モジュール、２１ｅ…割付確定モジュール、２１ｆ…印刷実行モジュール、４０…プリンタ
【図１】
2005275682.tif 000003
【図２】
2005275682.tif 000004
【図３】
2005275682.tif 000005
【図４】
2005275682.tif 000006
【図５】
2005275682.tif 000007
【図６】
2005275682.tif 000008
【図７】
2005275682.tif 000009
【図８】
2005275682.tif 000010
【図９】
2005275682.tif 000011
【図１０】
2005275682.tif 000012
【図１１】
2005275682.tif 000013
【図１２】
2005275682.tif 000014
【図１３】
2005275682.tif 000015
【図１４】
2005275682.tif 000016
【図１５】
2005275682.tif 000017
【図１６】
2005275682.tif 000018