(57)【要約】【課題】複数の部数に亘って繰り返されるデータを１つに結合したジョブを効率良く分割処理して、部数ごとに分割配布可能な処理結果を提供すること。【解決手段】データ処理装置は、データ出力の設定を指示する出力モードの情報および出力部数Ｎの情報を取得する（Ｓ１０１）。複数のデータの全頁数Ｔを計数し、これを出力部数Ｎで除算することで１部数の頁数Ｘが算出される（Ｓ１０３）。データ処理装置は、頁数Ｘが整数であると判定した場合、１部数の頁数Ｘごとに区切ってジョブの分割処理を行いつつ、出力部数Ｎのデータを出力する制御を行う（Ｓ１０８−Ｓ１１３）。また、部数の間に白紙頁の挿し込みが行われている場合には、全頁数Ｔに調整値を加算した値を出力部数Ｎで除算した頁数Ｘ（Ｓ１０６）が整数であると判定された場合（Ｓ１０７）、Ｘ頁ごとにジョブを区切って画像出力装置に送信する制御が行われる。【選択図】  図３
2014026461.tif 000002
【特許請求の範囲】
【請求項１】
複数の部数に亘って繰り返される複数のデータに係るジョブを分割処理して部数ごとの出力を得ることができるデータ処理装置であって、
データ出力の設定を指示する出力モードの情報および出力部数の情報を取得する取得手段と、
前記複数のデータの全頁数を計数し、計数した全頁数を前記出力部数で除算することで１部数の頁数を算出するとともに、算出結果が整数であると判定した場合、前記１部数の頁数ごとに区切って前記ジョブの分割処理を行いつつ、前記出力部数のデータを出力する制御を行う制御手段を備えることを特徴とするデータ処理装置。
【請求項２】
前記制御手段は、前記出力モードが片面印刷の設定であって、かつ前記１部数の頁数が奇数である場合、当該奇数の倍数の頁ごとに前記ジョブの分割処理を行うことを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記制御手段は、算出した前記１部数の頁数が整数でないと判定した場合、前記出力モードが片面印刷の設定であるか、または両面印刷の設定であるかを判定し、前記出力モードが両面印刷の設定であって、かつ計数した全頁数に調整値を加算した値を前記出力部数で除算した頁数が整数であると判定した場合、当該頁数の倍数の頁ごとに区切って前記ジョブの分割処理を行うことを特徴とする請求項２に記載のデータ処理装置。
【請求項４】
前記制御手段は、前記出力モードが両面印刷の設定でないと判定し、かつ前記除算で得た頁数が整数でないと判定した場合、前記ジョブの分割処理を行わずに、前記複数のデータを全体で１部数として出力することを特徴とする請求項３に記載のデータ処理装置。
【請求項５】
複数の部数に亘って繰り返される複数のデータに係るジョブを分割処理して部数ごとの出力を得ることができるデータ処理装置にて実行される制御方法であって、
データ出力の設定を指示する出力モードの情報および出力部数の情報を取得する取得ステップと、
前記複数のデータの全頁数を計数し、計数した全頁数を前記出力部数で除算することで１部数の頁数を算出するとともに、算出結果が整数であるか否かを判定する判定ステップと、
前記判定ステップにて前記１部数の頁数が整数であると判定された場合、当該頁数ごとに区切って前記ジョブの分割処理を行いつつ、前記出力部数のデータを出力する制御を行う制御ステップを有することを特徴とするデータ処理装置の制御方法。
【請求項６】
複数の部数に亘って繰り返される複数のデータに係るジョブを分割処理して部数ごとの出力を得ることができるデータ処理装置にてコンピュータにより実行されるデータ処理プログラムであって、
データ出力の設定を指示する出力モードの情報および出力部数の情報を取得する取得ステップと、
前記複数のデータの全頁数を計数し、計数した全頁数を前記出力部数で除算することで１部数の頁数を算出するとともに、算出結果が整数であるか否かを判定する判定ステップと、
前記判定ステップにて前記１部数の頁数が整数であると判定された場合、当該頁数ごとに区切って前記ジョブの分割処理を行いつつ、前記出力部数のデータを出力する制御を行う制御ステップを有することを特徴とするデータ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の部数に亘って繰り返されて全体で１つのジョブにまとめられたデータを部数ごとに分割処理して出力する技術に関する。
【背景技術】
【０００２】
印刷処理等で複数の部数分のソート出力が指定された場合、１部数分のデータを複数回繰り返して出力する方法により、指定された部数分のソート出力が行われる。複数の部数分の印刷データが１つの印刷ジョブとしてまとめてプリンタ等に送信された場合、印刷データは複数の部数に亘って繰り返されるデータから構成されるので、部数ごとにジョブを分割する必要が生じる。例えば、コンピュータ上で動作するオペレーティングシステム（以下、ＯＳと記す）やアプリケーションによっては、画像データの出力に関して画像出力装置のソート機能を使用しないか、または当該機能を使用できない状況がある。この場合、複数の部数のソート出力がコンピュータから画像出力装置に指定される際には、複数の部数に亘って繰り返されるデータがひとまとまりのジョブに結合されて送信される。ジョブを受信した画像出力装置は、１度だけ出力することで指定された部数分のソート出力、つまり部数ごとに繰り返されたデータの印刷処理を行う。
【０００３】
しかし、このような方法では、両面印刷やＮ−ＵＰ(N in 1)印刷、ステープル等を併せて実施した場合、複数の部数の出力が１部数として取り扱われることにより、ユーザの期待通りの処理結果が得られないことが起り得る。例えば、１部目の最終頁の裏面に２部目の１頁目が印刷され、あるいは１部目の最終頁の論理頁が面付けされる物理頁上に、２部目の１頁目以降の論理頁が面付けされるといったことが起る。あるいは、全出力による印刷結果（印刷済み用紙）がまとめてステープルされると、部数ごとに分割して配布できなくなってしまう。特許文献１には、与えられるデータに関して１頁目と２頁目以降の全頁とを比較して、１頁目と同一内容の頁を見つけ出してその頁の前で部数ごとに区切って分割処理する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−５６９４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の技術では、複数の部数に亘って繰り返されるデータがひとまとまりのジョブに結合された結合ジョブとして送信される情報を効率良く分割処理することができないという問題がある。前記特許文献１の装置では、全ての頁のデータ内容を比較して分割処理する必要があるため、処理負荷が重くなり、画像出力の遅滞を招くおそれがある。
本発明は、複数の部数に亘って繰り返されるデータを１つに結合したジョブを効率良く分割処理して、部数ごとに分割配布可能な処理結果を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る装置は、複数の部数に亘って繰り返される複数のデータに係るジョブを分割処理して部数ごとの出力を得ることができるデータ処理装置であって、データ出力の設定を指示する出力モードの情報および出力部数の情報を取得する取得手段と、前記複数のデータの全頁数を計数し、計数した全頁数を前記出力部数で除算することで１部数の頁数を算出するとともに、算出結果が整数であると判定した場合、前記１部数の頁数ごとに区切って前記ジョブの分割処理を行いつつ、前記出力部数のデータを出力する制御を行う制御手段を備える。または算出結果が整数ではないと判定した場合、ＯＳやアプリケーションによる白紙頁の自動差し込みを予測して、整数である筈の１部数の頁数を算出し直し、前記１部数の頁数ごとに区切って前記ジョブの分割処理を行いつつ、前記出力部数のデータを出力する制御を行う制御手段を備える。
【発明の効果】
【０００７】
本発明は、複数部に亘って繰り返されるデータを１つに結合したジョブを効率良く分割処理して、部数ごとに分割配布可能な処理結果を提供できる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態に係る装置の構成例を示すブロック図である。
【図２】原稿データと画像出力結果との関係を説明する模式図である。
【図３】分割処理例を説明するフローチャートである。
【図４】分割処理例のアルゴリズムを説明する模式図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について添付図面を参照して説明する。なお、本実施形態に示すデータ処理装置は、コンピュータ等の情報処理装置においてアプリケーション等によりデータ処理を行う機能を有するものとする。
図１（Ａ）は、本実施形態に係る装置のハードウェア構成例を示すブロック図である。コンピュータ１００は、全体の制御を司るＣＰＵ（中央演算処理装置）１０２を備えており、ＣＰＵ１０２はシステム・バス１０１に接続された各構成部を制御する。各構成部は、システム・バス１０１を介して互いにデータを送受し合う。
【００１０】
ＲＯＭ（Read Only Memory）１０３は固定的なデータ及びプログラムを記憶し、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０４は主記憶装置として機能し、ＣＰＵ１０２のワークエリアを提供する。User Interface（以下、ＵＩと記す）コントローラ１０５は、操作および表示部１１０との間で送受される情報を処理して、システム・バス１０１を介してＣＰＵ１０２に伝える。操作および表示部１１０は、キーボードやポインティングデバイス、操作スイッチ等の操作入力用デバイスと、液晶パネル（LCD）や発光ダイオード（LED）表示器等の表示用デバイスを備える。また、不揮発性記憶装置コントローラ１０６は、ハードディスクドライブ等を用いた不揮発性記憶装置１２０を制御する。USB/Networkコントローラ１０７は、コンピュータ１００と画像出力装置１３０との接続や通信処理を制御する。コンピュータ１００はネットワーク１０００またはＵＳＢ（Universal Serial Bus）１００１を介して画像出力装置１３０と通信する。画像出力装置１３０はプリンタやファクシミリ等の画像形成装置である。
【００１１】
図１（Ｂ）は、不揮発性記憶装置１２０が記憶する情報を例示した概念図である。ＣＰＵ１０２はＲＯＭ１０３に記憶されているブート（Boot）プログラムを実行し、不揮発性記憶装置１２０に記憶されているＯＳプログラム１２１をＲＡＭ１０４上にロードして起動処理を行う。その後、ＣＰＵ１０２はユーザの操作指示に従って、不揮発性記憶装置１２０に記憶されているアプリケーションプログラム１２２を実行し、文書作成や表計算等の情報処理環境をユーザに提供する。ＯＳプログラム１２１またはアプリケーションプログラム１２２は必要に応じて、画像処理システムプログラム１２３を呼び出し、画像出力装置１３０に画像データを送信する。この時、画像出力装置１３０に送信される画像データは、画像処理システムプログラム１２３によって、処理対象の画像データのスプーラ１２４に格納される。よって、ＯＳプログラム１２１またはアプリケーションプログラム１２２は画像出力処理から早期に解放される。
【００１２】
次に図２を参照して、画像出力処理について説明する。原稿３０１はコンピュータ１００上でユーザが作成または編集したデータであり、図２には３頁のデータＡ、Ｂ、Ｃからなる場合を例示する。ユーザは２−ＵＰ印刷で３部の画像出力処理を行おうとしており、期待される処理結果を出力例３０２に示す。ユーザが望む出力は、１枚目の物理頁に１頁目の論理頁データＡと２頁目の論理頁データＢが左右に配され、かつ２枚目の物理頁には３頁目の論理頁データＣのみが配された状態で面付けが行われた結果物である。つまりユーザは、全６枚の物理頁において、（Ａ，Ｂ）と（Ｃ，φ）をそれぞれに含む部数の画像出力を期待する。なお、（Ｘ，Ｙ）は２−ＵＰ印刷で１枚の物理用紙に配置される左側の論理頁データＸと右側の論理頁データＹを表す。φはデータがない白紙部分を表す。
【００１３】
ところで、３頁３部分の画像データが全９頁で１部を構成するジョブとして取り扱われた場合、３部のデータ列は、論理頁データＡ，Ｂ，Ｃ，Ａ，Ｂ，Ｃ，Ａ，Ｂ，Ｃであって、ＡからＣを３回繰り返したものである。このままで処理を行った場合の出力例３０３は、ユーザが望む出力とは違う結果になる。つまり、１枚目の物理頁は（Ａ，Ｂ）の配置であるが、２枚目以降は（Ｃ，Ａ），（Ｂ，Ｃ），・・・という具合にずれた配置になっていく。これは、２枚目の物理頁には１部目の３頁目の論理頁データＣと、２部目の１頁目の論理頁データＡが配されるためであり、（Ｃ，φ）の配置にはならず、右側に論理頁データＡが入り込む。よって、３枚目の物理頁には２部目の２頁目の論理頁データＢと３頁目の論理頁データＣが左右に配されるので、（Ｂ，Ｃ）に示す配置となる。以下、同様にして、（Ａ，Ｂ）、（Ｃ，φ）というように配された面付けが行われるので、全５枚の物理頁からなる、ユーザの予期しない処理結果が得られる。以下では、複数の部数に亘って繰り返されるデータが全体で１つのジョブにまとめて与えられた場合でも、ジョブを部数ごとに分割する処理を行い、ユーザの意図する処理結果を得ることができる画像処理について説明する。
【００１４】
図３は画像データの分割処理例を説明するフローチャートである。ＣＰＵ１０２が不揮発性記憶装置１２０に格納された画像処理システムプログラム１２３を読み出して実行することにより処理が実現される。アプリケーションプログラム１２２が起動してから、画像処理システムプログラム１２３を呼び出して、画像出力装置１３０に対する画像出力処理が指示されることで、以下の処理が実行される。処理の主体はＣＰＵ１０２であり、画像処理システムプログラム１２３の記述内容に従って処理が決定される。図３には各処理と、画像データのスプーラ１２４および画像出力装置１３０との関係を点線の矢印で併記する。
【００１５】
図４はジョブ分割処理の説明図であり、複数の部数分の画像データが連結して与えられた時にデータを分割する処理例を示す模式図である。図４（Ａ）はデータ出力モード（以下、単に出力モードという）が２−ＵＰ印刷および片面印刷に設定されている場合のアルゴリズムを説明する図である。矩形枠４０１内に示すように、Ａ，Ｂ，Ｃの３頁の論理頁データについて３部の片面印刷を行う例であり、Ａ，Ｂ，Ｃ，Ａ，Ｂ，Ｃ，Ａ，Ｂ，Ｃの計９頁のデータが分割処理される。図４（Ａ）にて右側に処理結果を示す。なお、１部当たりの頁数が奇数の場合を例示するが、片面または両面印刷の設定で１部当たりの頁数が偶数の場合も同様である。また、図４（Ｂ）は出力モードが２−ＵＰ印刷および両面印刷に設定されている場合のアルゴリズムを説明する図である。矩形枠４０２内に示すように、Ａ，Ｂ，Ｃの３頁の論理頁データについて３部の両面印刷を行う例であり、Ａ，Ｂ，Ｃ，白紙，Ａ，Ｂ，Ｃ，白紙，Ａ，Ｂ，Ｃの計１１頁のデータが分割処理される。図４（Ｂ）にて右側に処理結果を示す。
【００１６】
図３では、まず、出力モードと画像出力の部数（Ｎと記す）の各情報を取得する処理が実行される（Ｓ１０１）。ＣＰＵ１０２は出力モードを判別して、Ｎ−ＵＰ出力や両面／片面印刷の違い等を把握し、部数Ｎの情報を保持する。これらの情報は一般的に、アプリケーションプログラム１２２やＯＳプログラム１２１による印刷ダイアログから取得できる。あるいはユーザに対して、ＵＩコントローラ１０５を介してＵＩ画面を表示し、ポインティングデバイスやキーボードの操作での選択入力を求める処理を行ってもよい。
【００１７】
次にＣＰＵ１０２は画像データの入力を受け付けて、画像データのスプーラ１２４に格納しつつ、全頁数（Ｔと記す）をカウントする（Ｓ１０２）。次に、１部数分の頁数をＸとして、これが「Ｘ＝Ｔ÷Ｎ」の式を用いて算出される。また出力部数を計数するためのカウント変数（ＣＮと記す）の値が１に初期化される（Ｓ１０３）。次のＳ１０４は、Ｓ１０３での算出結果であるＸの値が整数であるか否かの判定処理である。つまり、ＴがＮで割り切れるか否かが判定される。Ｘの値が整数であると判定された場合、Ｓ１０８へ処理を進める。これは、図４（Ａ）の矩形枠４０１で示す場合であり、Ｘ頁分のジョブデータが部数Ｎ分連結されて、全部でＴ頁出力されることが確認される。図４（Ａ）の例では、Ｘ＝３、Ｔ＝９であるため、３の倍数の次の頁で分割処理が行われる。一方、Ｓ１０４でＸの値が整数でないと判定された場合、Ｓ１０５へ処理を進める。
【００１８】
Ｓ１０５は、出力モードが両面印刷に設定されているか否かの判定処理である。両面印刷が設定されている場合、Ｓ１０６へ処理を進め、１部数分の頁数を示すＸを、「Ｘ＝(Ｔ＋１)÷Ｎ」の式で算出する処理が行われる。また、Ｓ１０５で両面印刷が設定されていないと判定された場合、Ｓ１１４へ処理を進める。
Ｓ１０６の次に、Ｘの値が整数であるか否かについて判定される（Ｓ１０７）。Ｔ＋１がＮで割り切れる場合、つまり、剰余がゼロであればＸの値は整数である。これは、図４（Ｂ）の矩形枠４０２に示す場合であり、Ｎ＝３でＴ＝１１である。（Ｔ＋１）÷Ｎ＝４の例を示しており、４の倍数の次の頁で分割処理が行われる。両面印刷に対して１部当たりの頁数が奇数であるため、ＯＳプログラム１２１またはアプリケーションプログラム１２２によって、データＡ乃至Ｃと次のデータＡ乃至Ｃとの間に１頁分の白紙頁が挿入される。白紙頁を含むＸ頁のジョブデータとして、部数(Ｎ−１)分のデータ（４×２＝８頁分）と、白紙を除く(Ｘ−１)頁分のデータ（４−１＝３頁分）が連結されて、全部でＴ頁のデータが出力されることが確認される。Ｓ１０７での除算結果に関して剰余がゼロであれば、Ｓ１０８へ処理を進め、剰余がゼロでない場合にはＳ１１４へ処理を進める。
【００１９】
Ｓ１０８では、画像出力装置１３０に対して出力モード（両面／片面印刷やＮ−ＵＰ印刷等）の指示を含むジョブのオープン処理が実行されるとともに、カウント変数ＣＸの値が１に初期化される。この変数ＣＸ１は１部当たりの頁数を計数するために用いる。次に画像データのスプーラ１２４から、１頁分の画像データを取得し、画像出力装置１３０に出力する処理が行われる（Ｓ１０９）。そしてＣＸの値に１が加算（インクリメント）され（Ｓ１１０）、その後、Ｓ１１１へ処理を進める。
Ｓ１１１は２つの条件式を論理和演算した結果に基づく判定処理である。第１式は「Ｘ＜ＣＸ」であり、１部数分の出力処理の終りか否かの判定式である。また、第２式は「Ｔ＜Ｘ×（ＣＮ−１）＋ＣＸ」であり、全頁を出力済みか否かの判定式である。第１式または第２式を満たす場合、Ｓ１１２へ処理を進めるが、第１式および第２式を満たさない場合、Ｓ１０９へ処理を戻す。Ｓ１１１で肯定的判定結果（Yes）が得られるまでの間、Ｓ１０９およびＳ１１０の処理が繰り返される。
【００２０】
Ｓ１１２でＣＰＵ１０２は、画像出力装置１３０に対してジョブの終了を伝える、ジョブクローズ処理を行うとともに、出力部数のカウント変数ＣＮの値に１を加算（インクリメント）する。そして、「Ｎ＜ＣＮ」の判定式を用いて、全部数が出力済みであるか否かにについて判定処理が行われる（Ｓ１１３）。Ｎ＜ＣＮの場合、一連の処理を終了し、Ｎ≧ＣＮの場合、Ｓ１０８に戻って処理を続行する。
また、Ｓ１０５やＳ１０７で否定的判定結果（No）が得られた場合、Ｓ１１４へ処理を進める。これは、「１部数分の頁数×部数＝全頁数」という関係式が成り立たない特異な場合であり、分割処理をキャンセルして画像出力処理が行われる。Ｓ１１４では、画像出力装置１３０に対して出力モード（両面／片面印刷やＮ−ＵＰ印刷等）の指示を含むジョブのオープン処理が行われるとともに、カウント変数ＣＸの値が１に初期化される。次に、画像データのスプーラ１２４から、１頁分の画像処理データを取得して画像出力装置１３０に出力する処理が実行される（Ｓ１１５）。そしてＣＸの値に１が加算され（Ｓ１１６）、「Ｔ＜ＣＸ」の判定式を用いて、全頁が出力済みであるか否かについて判定処理が行われる（Ｓ１１７）。Ｔ＜ＣＸの場合、Ｓ１１８へ処理を進め、Ｔ≧ＣＸの場合、Ｓ１１５に戻って処理を続行する。Ｓ１１８で画像出力装置１３０に対してジョブの終了を伝える、ジョブクローズ処理が実行された後、一連の処理を終了する。
【００２１】
なお、図３のＳ１０６では全頁数Ｔに加算する調整値を１としたが、この調整値は出力モードに応じて変更される。例えば、両面での４−ＵＰ印刷の設定において、Ａ乃至Ｅ，φ，φ，φ，Ａ乃至Ｅ，φ，φ，φ，Ａ乃至Ｅの計２１頁のデータ（Ｎ＝３）に係るジョブを分割処理する場合、調整値はφ（白紙頁）の数に相当する３である。つまり、（Ｔ＋１）÷Ｎでは剰余がゼロにならず、（Ｔ＋３）÷Ｎ＝８で割り切れるため、８の倍数ごとに分割処理が実行される。
本実施形態では、複数の部数に亘って繰り返されるデータを１つにまとめて結合したジョブが与えられた場合、部数ごとにデータを分割したデータ出力を得ることができる。つまり、出力モードおよび出力部数Ｎの情報と、記憶装置に一旦スプールされるデータの全頁数Ｔを取得した上で、出力モードに応じた１部数分の頁数Ｘが算出される。１つの結合ジョブとしてＴ頁分与えられたデータに係るジョブの分割処理により、Ｘ頁ごとにデータを区切って画像出力装置に送信することができる。
【００２２】
［その他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するデータ処理プログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００２３】
１００  コンピュータ（データ処理装置）
１０２  ＣＰＵ
１２０  不揮発性記憶装置
１３０  画像出力装置
【図１】
2014026461.tif 000003
【図２】
2014026461.tif 000004
【図３】
2014026461.tif 000005
【図４】
2014026461.tif 000006