(57)【要約】【課題】並列動作する第２変換手段が、受け取った転送情報のうち割り当てられていないページが画像を含むか解析しなくて済むようにする。【解決手段】各第１変換部２１０は、ジョブ４００を転送情報４１０Ａに変換する際各ページ中の画像を画像ＩＤに置き換える。転送情報４１０Ａを対応する第２変換部２２０に転送する。各第１変換部２１０は、ジョブ４００を処理する中で画像を見つけると、その画像を画像ＩＤと対応付けて、転送情報４１０Ａとは別経路で画像データ管理部２３０に転送する。画像データ管理部２３０は、受け取った画像と画像ＩＤを対応付けて保存する。第２変換部２２０は、転送情報４１０Ａのうち割り当てられたページ中に画像ＩＤがあれば、画像データ管理部２３０からそれに対応する画像を取得し、画像ＩＤをこの画像に置き換える。第２変換部２２０は、割り当てられていないページに画像があるかどうかを確認しなくてよい。【選択図】図１０
2018043378.tif 000002
【特許請求の範囲】
【請求項１】
並列動作する複数の処理手段を含み、
前記複数の処理手段は、それぞれ、
入力情報を転送情報に変換する第１の変換手段と、
前記第１の変換手段が変換した前記転送情報のうち制御部から割り当てられた処理単位を出力情報に変換する第２の変換手段と、
第１の変換手段と第２の変換手段との間で情報を転送する第１の経路及び第２の経路と、
を含み、
前記第１の変換手段は、前記入力情報を、前記入力情報に含まれる画像については画像識別子に置き換えた前記転送情報に変換して前記第１の経路を用いて前記第２の変換手段に転送すると共に、前記画像を前記画像識別子と共に前記第２の経路を用いて前記第２の変換手段に転送し、
前記第２の変換手段は、前記第２の経路を用いて転送された前記画像と前記画像識別子とを対応付けて蓄積部に蓄積し、前記転送情報のうち割り当てられた処理単位を変換する際にその処理単位に含まれる前記画像識別子を前記蓄積部内の前記画像識別子に対応する画像に置き換える、
ことを特徴とする画像処理装置。
【請求項２】
前記変換手段は、前記入力情報に含まれる画像のデータサイズが閾値以上である場合に、その画像を画像識別子に置き換えて前記転送情報に含め、前記データサイズが閾値未満である場合は、その画像を画像識別に置き換えずにその画像を前記転送情報に含める、ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
コンピュータを、並列動作する複数の処理手段として機能させるためのプログラムであって、
前記複数の処理手段は、それぞれ、
入力情報を転送情報に変換する第１の変換手段と、
前記第１の変換手段が変換した前記転送情報のうち制御部から割り当てられた処理単位を出力情報に変換する第２の変換手段と、
第１の変換手段と第２の変換手段との間で情報を転送する第１の経路及び第２の経路と、
を含み、
前記第１の変換手段は、前記入力情報を、前記入力情報に含まれる画像については画像識別子に置き換えた前記転送情報に変換して前記第１の経路を用いて前記第２の変換手段に転送すると共に、前記画像を前記画像識別子と共に前記第２の経路を用いて前記第２の変換手段に転送し、
前記第２の変換手段は、前記第２の経路を用いて転送された前記画像と前記画像識別子とを対応付けて蓄積部に蓄積し、前記転送情報のうち割り当てられた処理単位を変換する際にその処理単位に含まれる前記画像識別子を前記蓄積部内の前記画像識別子に対応する画像に置き換える、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びプログラムに関する。
【背景技術】
【０００２】
入力情報から実際に出力する画像を生成する際に、入力情報を一旦、中間的な転送情報に変換して転送し、転送されてきた転送情報を更に変換して出力情報を生成する場合がある。例えば転送情報を出力情報に変換するシステムがすでに存在している場合、入力情報を転送情報に変換して、既存の出力情報への変換システムに転送すれば実際に出力する画像が得られることになる。このような入力情報を転送情報に変換する構成と、転送情報を出力情報に変換する構成とは、それぞれが個別に作成されており、それぞれ非同期で動作している。
【０００３】
例えば、よく知られたシステムでは、ＰＤＦ形式の出力対象の情報を、まず第１の変換部により内部通信用のＰｏｓｔＳｃｒｉｐｔ（登録商標）（以下、ＰＳとする）データに変換し、第２の変換部に転送する。第２の変換部は、転送されてきたＰＳデータを、例えば、実際に出力する際に用いられるラスターデータに変換する。あるいは、第２の変換部がＰＳデータを中間データに変換するシステムも知られている。この場合、中間データは、後で、印刷装置が取扱可能なラスターデータ等に変換される。
【０００４】
特許文献１に開示された装置もこの種の仕組みを採用したものである。
【０００５】
特許文献２に示された方法では、ＰＤＬジョブを単一パスでパーシングし、クリエータスニファを用いそのジョブのプロデューサを検出し、リソーススニファを用いそのジョブから共有リソースを検出し、ページ情報スニファを用いそのジョブからページ境界を検出し、そしてデータ及びリソースの順序が変わらないようそのジョブの整然化表現を生成する。このシステムでは、そのストリームの順序変更無しでＰＤＬデータストリームが効率的に且つページ、データ又はリソース単位で整頓される。
【０００６】
特許文献３に開示された印刷システムは、文書データを端末装置が解釈できる記述言語データに編集する編集部と、予め設定されたコマンドを変換するための変換表に基づいて記述言語データの一部を抽出データとして抽出する抽出部と、その抽出データを前記変換表に基づき変換データに変換する変換部と、元の記述言語データに前記変換データをコメント形式で付加して送信データを生成する生成部とを備える画像処理装置を有し、変換された送信データに基づきコメント形式を除去した上で印刷を行う画像形成装置を備える。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１５−１８２２２８号公報
【特許文献２】特表２０１２−５１７６３５号公報
【特許文献３】特開２００９−２２５２６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
入力情報を第１の変換手段が転送情報に変換して第２の変換手段に転送し、入力情報中の画像を１回だけ転送情報に含め、入力情報内の後続の同じ画像は転送情報から省略し、第２の変換手段が転送情報に含まれたその画像を蓄積して再利用する装置、を複数並列に動作させることで処理速度を向上させることを考える。この場合、各装置の第２の手段は、それぞれ異なる処理単位（ページやバンド等）の変換処理を割り当てられる。それら第２の変換手段の各々は、転送情報のうち一部の割り当てられた処理単位しか変換しなくてよいが、割り当てられた処理単位に含まれるもののその処理単位の転送情報からは省略されている画像を処理するためには、その処理単位の前のいずれかの処理単位の転送情報に含まれていたその画像を前もって蓄積しておく必要がある。その画像を含んだページがその第２の変換手段に割り当てられた処理単位であれば問題はないが、割り当てられていない場合、第２の変換手段は転送情報内のその画像を含む処理単位のデータを解析してその画像を見つけ、蓄積しておく必要がある。転送情報のどの処理単位に蓄積すべき画像が含まれているかは前もって分からない（前もって分かるようにすることもできるが、それには入力情報の事前解析のために多大の処理コストがかかる）ので、結局第２の変換手段は、転送情報のすべてのデータ内容を解析して画像の有無を確認する必要がある。このように、上述の装置を並列構成した場合、第２の変換手段は、転送情報の出力情報への変換については割り当てられた処理単位についてのみ実行すればよいが、出力情報に組み込むべき画像を見つけるためにすべてのページについてデータ内容を解析することが必要になる。
【０００９】
本発明は、並列動作する第２の変換手段が画像を見つけるためにすべての処理単位についてデータ内容を解析する構成と比べて、それら第２の変換手段の解析の負荷を低減する仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１０】
請求項１に係る発明は、並列動作する複数の処理手段を含み、前記複数の処理手段は、それぞれ、入力情報を転送情報に変換する第１の変換手段と、前記第１の変換手段が変換した前記転送情報のうち制御部から割り当てられた処理単位を出力情報に変換する第２の変換手段と、第１の変換手段と第２の変換手段との間で情報を転送する第１の経路及び第２の経路と、を含み、前記第１の変換手段は、前記入力情報を、前記入力情報に含まれる画像については画像識別子に置き換えた前記転送情報に変換して前記第１の経路を用いて前記第２の変換手段に転送すると共に、前記画像を前記画像識別子と共に前記第２の経路を用いて前記第２の変換手段に転送し、前記第２の変換手段は、前記第２の経路を用いて転送された前記画像と前記画像識別子とを対応付けて蓄積部に蓄積し、前記転送情報のうち割り当てられた処理単位を変換する際にその処理単位に含まれる前記画像識別子を前記蓄積部内の前記画像識別子に対応する画像に置き換える、ことを特徴とする画像処理装置である。
【００１１】
請求項２に係る発明は、前記変換手段は、前記入力情報に含まれる画像のデータサイズが閾値以上である場合に、その画像を画像識別子に置き換えて前記転送情報に含め、前記データサイズが閾値未満である場合は、その画像を画像識別に置き換えずにその画像を前記転送情報に含める、ことを特徴とする請求項１に記載の画像処理装置である。
【００１２】
請求項３に係る発明は、コンピュータを、並列動作する複数の処理手段として機能させるためのプログラムであって、前記複数の処理手段は、それぞれ、入力情報を転送情報に変換する第１の変換手段と、前記第１の変換手段が変換した前記転送情報のうち制御部から割り当てられた処理単位を出力情報に変換する第２の変換手段と、第１の変換手段と第２の変換手段との間で情報を転送する第１の経路及び第２の経路と、を含み、前記第１の変換手段は、前記入力情報を、前記入力情報に含まれる画像については画像識別子に置き換えた前記転送情報に変換して前記第１の経路を用いて前記第２の変換手段に転送すると共に、前記画像を前記画像識別子と共に前記第２の経路を用いて前記第２の変換手段に転送し、前記第２の変換手段は、前記第２の経路を用いて転送された前記画像と前記画像識別子とを対応付けて蓄積部に蓄積し、前記転送情報のうち割り当てられた処理単位を変換する際にその処理単位に含まれる前記画像識別子を前記蓄積部内の前記画像識別子に対応する画像に置き換える、ことを特徴とするプログラムである。
【発明の効果】
【００１３】
請求項１又は３に係る発明によれば、並列動作する第２の変換手段が画像を見つけるためにすべての処理単位についてデータ内容を解析する構成と比べて、それら第２の変換手段の解析の負荷を低減することができる。
【００１４】
請求項２に係る発明によれば、入力情報中の個々の画像につき、転送情報から除いて第２の経路で転送して第２の変換手段側で蓄積した画像を再利用する仕組みを用いる方式と、毎回転送情報に含めて転送する方式のうち、処理効率のよい方を用いることができる。
【図面の簡単な説明】
【００１５】
【図１】比較例の装置の動作を説明するための図である。
【図２】実施形態の画像処理装置の構成の一例を示す図である。
【図３】実施形態の画像処理装置内の各第２変換部の内部構成の一例を示す図である。
【図４】画像ＩＤ管理テーブルのデータ内容の一例を示す図である。
【図５】画像データ管理テーブルのデータ内容の一例を示す図である。
【図６】画像データ保存域のデータ内容の一例を示す図である。
【図７】第１変換部の処理手順の一例を示す図である。
【図８】第１変換部が画像オブジェクトについて転送情報に組み込むイメージ辞書のデータ内容の一例を示す図である。
【図９】第２変換部の処理手順の一例を示す図である。
【図１０】実施例の装置の動作を説明するための図である。
【図１１】変形例の画像処理装置内の各第２変換部の内部構成の一例を示す図である。
【図１２】変形例の第１変換部の処理手順の一例を示す図である。
【発明を実施するための形態】
【００１６】
上述のように、上位装置から受け取った入力情報（例えばページ記述言語で記述された印刷データ）をいったん第１変換部で別のデータ形式である中間的な転送情報に変換して第２変換部に転送し、第２変換部がその転送情報を更に別のデータ形式である出力情報（例えばラスターデータ又は中間データ）に変換する方式が知られている。またこの方式において、第１変換部がある画像を転送情報に含めて転送し、第２変換部がその画像を蓄積部に蓄積して再利用する仕組みも知られている。この仕組みでは、第１変換部は、いったん蓄積部に蓄積された画像が、入力情報の後のページに現れた場合、その画像の転送を省略することで、転送情報のデータ量を低減する。ここで、処理速度向上等のためにこのような仕組みを持つ装置を複数並列に動作させたシステムを考える。図１にこのようなシステムの一例を示す。後で説明する本実施形態の画像処理装置に対する比較例として、図１のシステムの動作について説明する。
【００１７】
図１に示す比較例のシステムは、例えば２つの処理部３００を含んでいる。処理部３００が３以上あってもよいが、個々の処理部３００の動作は２つの場合と同じなので、ここでは説明を簡潔にするために処理部３００が２つの場合（それぞれ処理部＃１，＃２と呼ぶ）で説明する。以下では、処理部＃１と＃２とがページ単位で並列処理を行う場合を例示する。ただし、並列処理の処理単位はページに限らず、バンド等の他の単位であってもよい。バンドは、ページを複数の矩形領域に分割した場合の個々の矩形領域のことである。
【００１８】
このシステムに、例えばＰＤＦ形式のジョブ（入力情報）４００が入力されたとする。このジョブ４００は、４ページ以上のページを含んでおり、第１ページに第１画像オブジェクト４０２を、第２〜４ページに第２画像オブジェクト４０４を含んでいる。
【００１９】
各処理部＃１及び＃２の第１変換部３１０は、入力されたジョブ４００（例えばＰＤＦ形式）を転送情報４１０（例えばＰＳ形式）に変換して、それぞれ対応する第２変換部３２０に転送する。ここで各第１変換部３１０は、第１画像オブジェクト４０２のデータをその初出である転送情報４１０の第１ページ（Page 1）に含めて転送し、第２画像オブジェクト４０４をその初出である転送情報４１０の第２ページ（Page 2）に含めて転送する。それら初出ページの後続のページに第１画像オブジェクト４０２又は第２画像オブジェクト４０４が含まれていても、第１変換部３１０は、転送情報４１０のその後続のページでは第１画像オブジェクト４０２又は第２画像オブジェクト４０４のデータを省略する。そして、その代わりに第１画像オブジェクト４０２又は第２画像オブジェクト４０４のＩＤ（識別情報）を転送情報４１０に含める。
【００２０】
各処理部＃１及び＃２の第２変換部３２０は、受け取った転送情報４１０を別のデータ形式である出力情報（例えばラスター形式又は中間データ形式の出力画像）に変換する。このとき第２変換部３２０は、受け取った転送情報４１０のあるページのデータに画像オブジェクトが含まれている場合、その画像オブジェクトを画像データ管理部３３０に登録する。そして、転送情報４１０の後続のページに同じ画像オブジェクトのＩＤが含まれていれば、そのＩＤに対応する画像オブジェクトを画像データ管理部３３０から取り出して用いる。画像オブジェクトの実体データはデータ量が大きいため、転送の回数を減らすことで、第１変換部３１０と第２変換部３２０との間のデータ転送量が大幅に低減される。
【００２１】
このシステムにおいて、処理部＃１の第２変換部３２０にはジョブ４００の第１、３ページの処理が割り当てられ、処理部＃２の第２変換部３２０にはジョブ４００の第２、４ページの処理が割り当てられたとする。
【００２２】
この場合、処理部＃１の第２変換部３２０は、第３ページの第２画像オブジェクト４０４を上述の仕組みで変換するためには、割り当てられていない転送情報４１０の第２ページを処理して第２画像オブジェクト４０４の実体データを画像データ管理部３３０に登録しておかなければならない。この処理では、第２ページのデータを先頭から解析して画像オブジェクトの実体データを見つけると、その実体データの形式を翻訳して画像データ管理部３３０に登録することとなる。
【００２３】
また、処理部＃２の第２変換部３２０は、割り当てられていない転送情報４１０の第１ページを処理し、第１ページに含まれる第１画像オブジェクト４０２を画像データ管理部３３０に登録しておく必要がある。これは、転送情報４１０の第１ページに含まれる第１画像オブジェクト４０２が５ページ目以降の変換で利用される可能性があるからである。
【００２４】
このように、図１のシステムでは、各処理部＃１及び＃２の第２変換部３２０は、割り当てられていないページについてもその中に初出の画像オブジェクトが含まれているか解析する必要がある。
【００２５】
なお、各処理部＃１及び＃２の第２変換部３２０に割り当てるページを事前に決めておき、上流側（例えば第１変換部３１０）が、下流の第２変換部３２０に割り当てるページに必要なデータを含めておくことも考えられる。例えば、処理部＃１の第２変換部３２０に奇数ページ（第１，３，・・・ページ）を割り当てると事前に決めておき、処理部＃１の第１変換部３１０が、第２画像オブジェクト４０４の実体データを転送情報４１０の第３ページに含めれば、その第２変換部３２０は第２ページに初出の画像オブジェクトが含まれるかを確認する必要がない。
【００２６】
しかし、転送情報（例えばＰＳ形式）を出力情報（例えば中間データ形式）に変換する処理に要する時間はページ毎にまちまちなので、各第２変換部３２０に割り当てるページを事前に決めてしまうと、割り当てられたページの処理が終わった第２変換部３２０が、出力するページの順序を守るために、他の第２変換部３２０の処理が終わるまで、次の割り当てページの処理を待つ場合が出てくる。このような待ち時間は処理速度の点で好ましくない。
【００２７】
これに対し、各第２変換部３２０が、それぞれあるページの処理を終えるごとに、ジョブ中の未処理の先頭ページの割り当てを受ける方式を用いれば、そのような待ち時間は生じない。その代わりに各処理部＃１及び＃２の第２変換部３２０にどのページが割り当てられるかが事前に（すなわちジョブを実行する前に）分からないので、割り当て予定のページに事前に必要なデータを持たせておくという対処ができない。したがって、図１に示したように、各第１変換部３１０はそれぞれジョブ４００の全データを変換した転送情報４１０を対応する第２変換部３２０に送り、各第２変換部３２０は、割り当てられていないページも処理して画像オブジェクトのデータを画像データ管理部３３０に登録する必要が出てくる。
【００２８】
このように、第１変換部３１０がジョブ中の画像オブジェクトを１回だけ転送情報４１０に含めて第２変換部３２０に転送する方式では、処理部３００を並列構成とした場合に、各第２変換部３２０が自分の割り当て以外のページを解析してそのページに画像オブジェクトが含まれているかどうかを確認する必要が出てくる。
【００２９】
これに対し、以下に示す本実施形態の仕組みでは、各第２変換部が実質的に自分の割り当てのページのみを処理すればよい（すなわち割り当てられていないページに画像オブジェクトが含まれているかどうか確認しなくてよい）ようにする。
【００３０】
図２に、実施形態の画像処理装置の構成の一例を示す。この画像処理装置は、上位装置（例えばパーソナルコンピュータ）から入力情報（例えばページ記述言語で記述された印刷データ）を受け取る。そしてその入力情報を、後段の装置（例えば、中間データをラスターデータに変換する装置、又はラスターデータを印刷するプリントエンジン）が取扱可能なデータ形式の出力情報（例えば中間データ又はラスターデータ）に変換する。
【００３１】
画像処理装置は、入力制御部１０、処理システム２０、出力制御部３０を備える。入力制御部１０は、上位装置から入力情報の入力を受け付ける。入力情報は、入力スプール１５に入れられ、処理システム２０がその入力情報の処理が可能になった段階で、入力スプール１５から処理システム２０に渡される。処理システム２０は、受け取った入力情報を出力情報に変換する。得られた出力情報は出力スプール２５に入れられる。出力制御部３０は、後段の装置とのインタフェースであり、後段の装置が次のジョブの処理が可能になると、出力スプール２５内の先頭ジョブの出力情報を取り出して後段の装置に転送する。
【００３２】
処理システム２０は、ページ制御部２２と３つの処理部２００（３つはあくまで一例）を備えている。各処理部２００は、１つの例では、以下に説明する第１変換部２１０及び第２変換部２２０の機能を記述したプログラムをコンピュータで実行することにより実現される。各処理部２００が実行されるハードウエアの構成は特に限定されない。例えば各処理部２２０は、別々のＣＰＵ（中央演算装置）で実行されてもよいし、単一ＣＰＵ上の別々のコアで実行されてもよい。あるいは、単一ＣＰＵでのマルチタスク処理として実現されてもよい。
以下では、処理部＃１、＃２、＃３がページ単位で並列処理を行う場合を代表例にとって説明する。ただし、並列処理の処理単位はページに限らず、バンド等の他の単位であってもよい。
【００３３】
ページ制御部２２は、入力された入力情報の各ページの処理を各処理部＃１，＃２，＃３の第２変換部２２０に割り当てる。例えば、ページ制御部２２が持つページキュー２４には、処理中の入力情報の各ページについての処理依頼データがページ番号順に保持されている。各処理部２００の第２変換部２２０は、あるページの処理が終わるとページ制御部２２にページの割り当てを要求する。この要求を受けたページ制御部２２は、ページキュー２４の先頭の処理依頼データ（これはその時点で未処理の先頭のページの処理を依頼する旨の情報を含む）を取り出し、要求元の第２変換部２２０に渡す。第２変換部２２０は、この処理依頼データで指示されたページの描画を実行する。
【００３４】
各処理部２００は、第１変換部２１０と第２変換部２２０を備える。
【００３５】
第１変換部２１０は、入力されたジョブ４００（例えばＰＤＦ形式）を転送情報（例えばＰＳ形式）に変換して、同じ処理部２００内の第２変換部２２０に転送する。図１に示した比較例の第１変換部３１０は、入力情報に含まれる画像オブジェクトを、その画像オブジェクトの初出のページの転送情報に含めて第２変換部３２０に転送した。これに対して、この実施形態の第１変換部２１０は、生成する転送情報には画像オブジェクトは含めない。すなわち、第１変換部２１０は、入力情報を変換して生成した転送情報の中のすべての画像オブジェクトを、それぞれその画像オブジェクトのＩＤに置き換える。そして、このように画像オブジェクトの実体データが抜かれた転送情報が、第１変換部２１０から第２変換部２２０に転送される。図２では、この転送情報の転送経路を、転送情報のうち画像オブジェクトを除く各ページのデータを含んでいるという意味で、「ページストリーム」と名付けている。図１に示した比較例の装置は、画像オブジェクトの実体データをページストリームで転送している。
【００３６】
また、第１変換部２１０は、転送情報から除いた画像オブジェクトの実体データを、ページストリームとは別の画像ストリームで、第２変換部２２０に付属する画像データ管理部２３０に転送する。画像データ管理部２３０は、画像オブジェクトのデータを受け入れるインタフェース（例えばＡＰＩ：Application Programming Interface）を外部に提供しており、第１変換部２１０はそのインタフェースを用いて画像オブジェクトの実体データを画像データ管理部２３０に渡す。
【００３７】
第１変換部２１０は、入力情報を処理していく中で各画像オブジェクトを最初に検出した際に、その画像オブジェクトを画像ストリーム経由で画像データ管理部２３０に転送する。同じ画像オブジェクトの２回目以降の検出時点では、その画像オブジェクトの転送は行わない。
【００３８】
第２変換部２２０は、第１変換部２１０から受け取った転送情報を順に処理して各ページの出力画像データを生成していく。この処理の中で、第２変換部２２０は、転送情報の中から画像オブジェクトのＩＤを見つけると、そのＩＤに対応する画像オブジェクトの実体データを画像データ管理部２３０から取得し、その実体データを用いてその画像オブジェクトの出力情報を生成する。
【００３９】
本実施形態では、ページストリーム経由で第２変換部２２０に転送されてくる転送情報には画像オブジェクトが含まれていない。したがって、第２変換部２２０は、自分に割り当てられたページ以外のページを、画像オブジェクトを取り出して画像データ管理部２３０に保存するという目的で処理する必要はない。したがって、第２変換部２２０は、自分に割り当てられていないページについては、画像オブジェクトの有無を確認するためのデータ解析を行わなくてよい。
【００４０】
以上、実施形態の画像処理装置の概要を説明した。次に、図３を参照して、処理部２１０の詳細について説明する。
【００４１】
図３に示すように、第１変換部２１０と第２変換部２２０とは内部通信バッファ２４０を介してデータの受け渡しを行う。第１変換部２１０は、画像オブジェクトの実体データについては、例えば、前述した第２変換部２２０が提供する画像ストリームの受付インタフェースに対する転送コマンドの形で内部通信バッファ２４０に送出する。また、画像オブジェクトの実体データを抜いた転送情報については、第２変換部２２０が提供するページストリームの受付インタフェースに対する転送コマンドの形で内部通信バッファ２４０に送出する。第２変換部２２０（及び画像データ管理部２３０）は、内部通信バッファ２４０に保持された転送コマンドを取得し、そのコマンドに応じて第１変換部２１０から転送されるデータ（転送情報又は画像オブジェクト）を受け取る。
【００４２】
第１変換部２１０は、画像ＩＤ生成部２１２、出力判定部２１４及び画像ＩＤ管理テーブル２１６を含む。
【００４３】
画像ＩＤ生成部２１２は、第１変換部２１０が入力情報から検出して第２変換部２２０に渡そうとする画像オブジェクトに対して、一意なＩＤ（画像ＩＤと呼ぶ）を付与する。画像ＩＤは、ジョブ（入力情報）内で画像オブジェクトを一意に識別可能なものであればどのようなものを用いてもよい。画像ＩＤは、入力情報内に同じ画像オブジェクトが複数ある場合は、それら複数の画像オブジェクトの画像ＩＤが同一の値となる方法で生成する。例えば、入力情報がＰＤＦファイルであり、第１変換部２１０がこれをＰＳデータに変換する場合、画像ＩＤは、ＰＤＦファイル内の当該画像オブジェクトのオブジェクトＩＤから生成してもよいし、そのファイル内の当該画像オブジェクトのアドレス情報をもとに生成してもよい。この例では、生成された画像ＩＤは、その画像オブジェクトの変換結果であるＰｏｓｔＳｃｒｉｐｔのイメージ辞書のイメージ識別子として用いられる。
【００４４】
出力判定部２１４は、第１変換部２１０が入力情報を先頭から順に処理していく中で検出した画像オブジェクトを、第２変換部２２０の画像データ管理部２３０へと出力するかどうかを判定する。この判定は、画像ＩＤ管理テーブル２１６を参照して行う。画像ＩＤ管理テーブル２１６は、入力情報から検出した画像オブジェクトに付与した画像ＩＤを記憶している。画像ＩＤ管理テーブル２１６には、図４に例示するように、付与済みの画像ＩＤ群が登録されている。出力判定部２１４は、画像オブジェクトが検出されると、その画像オブジェクトの情報から画像ＩＤ生成部２１２が生成した画像ＩＤが、既に画像ＩＤ管理テーブル２１６内に登録されているかどうかを調べる。登録されていない場合には、その画像オブジェクトを画像ストリーム経由で画像データ管理部２３０に出力すると判定すると共に、その画像ＩＤを画像ＩＤ管理テーブル２１６に登録する。出力する旨の判定結果の場合、第１変換部２１０は、その画像オブジェクトの変換結果を、画像ＩＤに対応付けて、画像ストリーム経由で第２変換部２２０側の画像データ管理部２３０に転送する。一方、画像ＩＤ生成部２１２が生成した画像ＩＤが画像ＩＤ管理テーブル２１６に登録済である場合、出力判定部２１４は、その画像オブジェクトの変換結果の画像データ管理部２３０への出力は行わないと判定する。
【００４５】
第２変換部２２０は、画像データ管理部２３０，画像データ管理テーブル２３２及び画像データ保存域２３４を有する。
【００４６】
画像データ管理部２３０は、第１変換部２１０から送られてくる画像オブジェクトの実体データを受け取り、保存する。より詳しくは、画像データ管理部２３０は、受け取った画像オブジェクトの実体データを画像データ保存域２３４（例えば処理部２００のメインメモリ上に確保される）に格納すると共に、格納した画像オブジェクトの管理情報を画像データ管理テーブル２３２に登録する。
【００４７】
図５に、画像データ管理テーブル２３２のデータ内容の一例を示す。この例では、画像データ管理テーブル２３２には、各画像オブジェクトの画像ＩＤに対応付けて、画像データ保存域２３４に格納した当該画像オブジェクトの実体データのデータサイズと、その実体データの画像データ保存域２３４における格納先アドレスとが登録される。
【００４８】
図６に画像データ保存域２３４におけるデータの格納状況を模式的に示す。この例では、画像データ保存域２３４内のアドレス１には画像ＩＤ１の画像オブジェクトのデータが格納され、アドレス２には画像ＩＤ２の画像オブジェクトのデータが格納されている。
【００４９】
また画像データ管理部２３０は、管理している画像オブジェクトのデータを第２変換部２２０からの要求に応じて提供する。例えば第２変換部２２０から画像ＩＤ１のオブジェクトのデータを要求された場合、画像データ管理部２３０は、画像データ管理テーブル２３２からその画像ＩＤ１に対応するデータサイズ及び画像データ格納先のアドレス１を検索し、画像データ保存域２３４のアドレス１からそのデータサイズ分のデータを第２変換部２２０に渡す。
【００５０】
次に図７を参照して、第１変換部２１０が実行する処理手順の一例を説明する。図７は、ジョブ（入力情報）中のページ毎の処理手順のうち、特に画像オブジェクトについての処理を示している。またこの例は、入力情報がＰＤＦファイルであり、第１変換部２１０はこれをＰＳ形式の転送情報に変換する場合の例である。
【００５１】
第１変換部２１０は、入力情報のあるページについての処理を開始すると（Ｓ１０）、そのページのデータを先頭から順に読み取り、読み取ったデータを転送情報の形式に変換していく。ページ内のデータのうち画像オブジェクト以外のオブジェクトのデータについての処理は従来通りでよいので、図７では図示を省略している。
【００５２】
第１変換部２１０が処理対象のページから画像オブジェクトのデータを見つけた場合、その画像オブジェクトのイメージ辞書を作成し（Ｓ１２）、その画像オブジェクトのデータから画像ＩＤ（イメージ識別子）を生成してイメージ辞書に組み込む（Ｓ１４）。この例では、ＰＤＦファイル中のその画像オブジェクトのオブジェクトＩＤに基づいて所定の規則で生成した値を画像ＩＤとしている。このイメージ辞書は、当該画像オブジェクトを表すデータとして、第２変換部２２０に転送される転送情報の、現在処理中のページについての情報の中に組み込まれる。
【００５３】
次に第１変換部２１０の出力判定部２１４は、Ｓ１４で生成した画像ＩＤが、画像ＩＤ管理テーブル２１６にあるかどうかを判定する（Ｓ１６）。ない場合は、今回の画像オブジェクトは、入力情報を先頭から処理していく中で最初に出現したものである。この場合、第１変換部２１０は、その画像オブジェクトの実体データをＰＳの規格に従って表現したデータソースに変換し、このデータソースを画像ストリームのＡＰＩを用いて、画像データ管理部２３０の管理下にある画像データ保存域２３４に書き込む（Ｓ１８）。
【００５４】
次に第１変換部２１０は、その書き込みが成功したか否かを判定する（Ｓ２０）。例えば画像データ保存域２３４の空き容量が足りない場合等に、その書き込みは失敗する。書き込みが失敗した場合は、Ｓ１２で作成したイメージ辞書の中にそのデータソースを出力する（Ｓ２２）。この場合、転送されるイメージ辞書には、画像ＩＤは含まれず、画像オブジェクトの実体を表すデータソースが含まれることになる。
【００５５】
Ｓ２０の判定結果が書き込み成功の場合は、第１変換部２１０は、イメージ辞書中にＳ１４で生成した画像ＩＤを示すキーを出力し（Ｓ２４）、更に空のデータソースを出力する（Ｓ２６）。
【００５６】
また、Ｓ１４で生成した画像ＩＤが画像ＩＤ管理テーブル２１６内にあると判定した場合（Ｓ１６）も、第１変換部２１０は、Ｓ１２で生成したイメージ辞書中にＳ１４で生成した画像ＩＤのキーを出力し（Ｓ２４）、空のデータソースを出力する（Ｓ２６）。
【００５７】
図８に、検出された画像オブジェクトについてＳ１２からＳ２６までの処理で最終的に出力されるイメージ辞書の例を示す。このイメージ辞書における記述５０２は、Ｓ２４で出力された画像ＩＤである。また記述５０４は、Ｓ２６で出力された空のデータソースである。
【００５８】
このように、図７の手順では、第１変換部２１０は、画像オブジェクトの初出時にその画像オブジェクトのデータソースを、出力すべきページ群を規定する本体データ（転送情報）とは別の経路（すなわち画像ストリーム）を介して第２変換部２２０側に書き込む。そして、その初出の時点で、転送情報中の画像オブジェクトのデータソースは空とし、画像ＩＤのみを転送する。もちろん、同じ画像オブジェクトの２回目以降の出現時にも、転送されるその画像オブジェクトのイメージ辞書のデータソースは空であり、その変わりに画像ＩＤを転送する。
【００５９】
以上の処理を当該ページ中の最後のオブジェクトまで完了すると、第１変換部２１０はそのページについての処理を終了し（Ｓ２８）、入力情報中に後続のページがあれば、その後続ページについて図７の処理を実行する。
【００６０】
次に、図９を参照して、第２変換部２２０の処理手順の一例を説明する。この手順は、図７の手順で生成された転送情報を処理する手順であり、ページ毎の処理手順のうち、特に画像オブジェクト（この場合は転送情報に含まれるイメージ辞書）についての処理を示している。すなわち第２変換部２２０は、ページ中から画像オブジェクトを見つけるごとに、図９の処理を実行する。
【００６１】
この処理では、第２変換部２２０は、入力される転送情報を処理していく中で、イメージ辞書を見つけると、そのイメージ辞書から画像ＩＤの取得を試みる（Ｓ３０）。
【００６２】
画像ＩＤが取得できた場合は、第２変換部２２０は、画像データ管理部２３０にその画像ＩＤに対応するデータソースを要求する。画像データ管理部２３０は、要求された画像ＩＤに対応するデータサイズ及びアドレスを画像データ管理テーブル２３２から求め、そのアドレスからそのデータサイズ分のデータ、すなわち要求されたデータソースを画像データ保存域２３４から取り出し、第２変換部２２０に渡す（Ｓ３２）。第２変換部２２０は、受け取ったデータソースをそのイメージ辞書に追加する。
【００６３】
Ｓ３０で画像ＩＤが取得できなかった場合は、そのイメージ辞書中のデータソースを用いる（Ｓ３４）。
【００６４】
そして第２変換部２２０は、Ｓ３２又はＳ３４の処理結果であるイメージ辞書を処理する（Ｓ３６）。すなわち、イメージ辞書に対して通常のＰＳデータについての変換処理を行う。これにより、そのイメージ辞書が示す画像を表す処理結果（例えばラスター形式又は中間データ形式）が生成される。
【００６５】
以上、第１変換部２１０及び第２変換部２２０の処理手順を例示した。第１変換部２１０及び第２変換部２２０は、画像ＩＤ管理テーブル２１６、画像データ管理テーブル２３２及び画像データ保存域２３４を、ジョブ（入力情報）の処理が終わって別のジョブの処理が開始される際に初期化する。
【００６６】
次に図１０を参照して、本実施形態の仕組みによる作用について説明する。図１０には、図１の比較例と同様、２つの処理部２００（それぞれ処理部＃１，＃２と表記して区別する）を持つ画像処理装置の要部が示されている。各処理部２００は、上述した実施形態の構成を有している。
【００６７】
この画像処理装置に、図１の比較例の場合と同様のジョブ４００が投入され、処理部＃１の第２変換部２２０にそのジョブの第１，３，・・・ページが、処理部＃２の第２変換部２２０に第２，４，・・・ページが、それぞれ順に割り当てられるものとする。この場合、処理部＃１及び＃２の第１変換部２１０がジョブ４００から生成して第２変換部２２０に転送する転送情報４１０Ａには、画像オブジェクトの実体データが含まれない。例えば、転送情報４１０Ａには、画像オブジェクト４０２の初出の第１ページにも、画像オブジェクト４０４の初出の第２ページにも、それら第１画像オブジェクト４０２、及び第２画像オブジェクト４０４の実体データは含まれない。その代わりに、各画像オブジェクト４０２及び４０４の実体データは、転送情報４１０Ａの転送経路（ページストリーム）とは別経路である画像ストリームを介して、第２変換部２２０側の画像データ管理部２３０に渡され、画像データ保存域２３４に保存される。
【００６８】
処理部＃１及び＃２の第２変換部２２０は、それぞれ自分に割り当てられたページのみを処理する。例えば、処理部＃１の第２変換部２２０は、まず割り当てられた第１ページを処理し、この中に含まれる第１画像オブジェクト４０２の画像ＩＤについては、これに対応する実体データを画像データ管理部２３０から取得してその画像ＩＤと置き換える。次の第２ページは割り当てられていないので、例えば次の第３ページについての処理依頼を受け取った際に、読み飛ばす。次にその第２変換部２２０は、割り当てられた第３ページを処理し、この中に含まれる第２画像オブジェクト４０４の画像ＩＤに対応する実体データを画像データ管理部２３０から取得して処理する。またその第２変換部２２０は、その次の第４ページは割り当てられていないので読み飛ばす。
【００６９】
このように、本実施形態では、並列動作する各第２変換部２２０は、割り当てられていないページの転送情報（例えばＰＳデータ）を読み飛ばすことができる。あるいは、割り当てられていないページを完全に読み飛ばせない場合でも、そのページに画像オブジェクトが含まれているかどうかの解析は少なくとも実行しなくてよい。また、ページストリームでは画像オブジェクトの実体データを送らないため、ページストリームの必要通信帯域が少なくて済む。
【００７０】
さて、例えば転送情報のデータ形式としてＰＳ形式を用いる場合、画像オブジェクトのデータソースは、データ圧縮等のために所定のエンコードがなされた状態となっている。上述の実施形態では、そのようにエンコードされた状態のデータソースが画像データ保存域２３４に格納されるので、第２変換部２２０はそのデータソースを変換する際にまずそのエンコードに対応する所定のデコード処理を行い、デコード結果を用いて出力情報への変換を行う。
【００７１】
ここで、第２変換部２２０は、データソースを最初にデコードした際、そのデコード結果を画像ＩＤに対応付けて画像データ管理部２３０に返してもよい。この場合、画像データ管理部２３０がそのデコード結果を画像ＩＤに対応付けて画像データ保存域２３４に書き込むなどして、それら両者を対応付けて管理する。そして、その画像オブジェクトの２回目以降の処理では、画像データ管理部２３０は、第２変換部２２０から要求された画像ＩＤに対応付けられたデコード結果を、第２変換部２２０に提供する。これにより、デコード処理の分だけ第２変換部２２０の処理負荷が低減される。
以上では、第１変換部３１０がＰＤＦ形式の入力情報をＰＳ形式の転送情報に変換し、第２変換部３２０がその転送情報を中間データ形式の出力情報に変換する場合を主たる例にとって説明したが、これは一例に過ぎない。入力情報の形式はＰＤＦに限らないし、転送情報の形式もＰＳに限らない。また、出力情報は中間データ形式に限らず、ラスター形式であってもよい。
【００７２】
次に、上記実施形態の１つの変形例を説明する。
【００７３】
上記実施形態では、ジョブ（入力情報）に含まれる画像オブジェクトの実体データはすべて画像データ管理部２３０に登録し、第２変換部２２０は転送情報中の画像オブジェクトを変換する際には、画像データ管理部２３０から実体データを取得した。
【００７４】
しかし、このような仕組みを機能させるためには、第１変換部２１０（出力判定部２１４）での画像ＩＤ管理テーブル２１６の検索、画像データ管理部２３０での画像データ保存域２３４へのデータの入出力等の処理が必要となる。この処理にはある程度の時間がかかる。したがって、この処理時間に見合わない程度の利益しか得られない画像オブジェクトにこの仕組みを適用すると、かえってシステム全体の処理効率が悪くなる可能性がある。画像オブジェクトの実体データのデータサイズが非常に小さい場合、ページストリームの必要帯域が小さくて済むので、その分だけ上記実施形態の仕組みにより得られる利益が減り、その仕組みのための処理のオーバーヘッドの不利益がその仕組みの利益を上回ることとなる。
【００７５】
そこで、この変形例では、入力情報中の画像オブジェクトのデータサイズが予め定めた閾値より小さい場合、上述の実施形態の仕組みを利用しないよう制御する。
【００７６】
この変形例の画像処理装置の全体構成は、図２に示したものでよい。この変形例における各処理部２００は、図１１に示す構成を有する。
【００７７】
図１１に例示する処理部２００は、図３に示した実施形態の処理部２００の構成に対して、第１変換部２１０に画像保存可否フラグ２１８及び閾値保存域２１９を追加したものである。
【００７８】
第１変換部２１０は、ジョブの開始時に、上位装置から閾値（実施形態の仕組みを適用する最小の画像データサイズ）の通知を受け、この閾値を閾値保存域２１９に保存する。そして、ジョブ開始後は、図１２に示す手順により入力情報の各ページを処理する。図１２のうち、図７に示した手順のステップと同様のステップには、同一符号を付して説明を省略する。
【００７９】
図１２の手順では、Ｓ１２の後、第１変換部２１０は、当該画像オブジェクトの実体データのデータサイズを閾値保存域２１９に保存した閾値と比較する。そして、データサイズが閾値以上であれば、上述の実施形態の仕組みを適用する（「保存可」）と判定し、そうでなければその仕組みを適用しない（「保存不可」）と判定する。この判定結果を示す２値のフラグを、画像保存可否フラグ２１８として保存する。
【００８０】
第１変換部２１０は、「保存可」のフラグに対応付けられた画像オブジェクトについては、上述した実施形態と同様にＳ１４〜Ｓ２６の処理を実行する。
【００８１】
一方「保存不可」のフラグに対応付けられた画像オブジェクトについては、第１変換部２１０は、イメージ辞書にその画像オブジェクトの実体データ（データソース）を出力する（Ｓ２０）。この場合、その画像オブジェクトには、上記実施形態の仕組みが適用されない。すなわち、その画像オブジェクトのデータは、ページストリームを通る転送情報の一部として第２変換部２２０に転送され、画像ストリーム経由での転送は適用されない。
【００８２】
この変形例における第２変換部２２０の動作は、上記実施形態のものと同様でよい。すなわち、閾値未満のサイズの画像は、同じ画像が複数回現れる場合も毎回転送情報に含まれて転送されるため、第２変換部２２０は、単に割り当てられたページを処理し、その中に閾値未満のサイズの画像のデータが含まれていれば、単にそれを用いればよい。
【００８３】
以上に例示した各処理部２００は、例えば、コンピュータにそれら各装置についての上述の機能を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、ＣＰＵ等のマイクロプロセッサ、ランダムアクセスメモリ（ＲＡＭ）およびリードオンリメモリ（ＲＯＭ）等のメモリ（一次記憶）、フラッシュメモリやＳＳＤ（ソリッドステートドライブ）、ＨＤＤ（ハードディスクドライブ）や等の固定記憶装置を制御するコントローラ、各種Ｉ／Ｏ（入出力）インタフェース、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース等が、たとえばバス等を介して接続された回路構成を有する。それら各機能の処理内容が記述されたプログラムがネットワーク等の経由でフラッシュメモリ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがＲＡＭに読み出されＣＰＵ等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。
【符号の説明】
【００８４】
１０  入力制御部、１５  入力スプール、２０  処理システム、２２  ページ制御部、２４  ページキュー、２５  出力スプール、３０  出力制御部、２００  処理部、２１０  第１変換部、２１２  画像ＩＤ生成部、２１４  出力判定部、２１６  画像ＩＤ管理テーブル、２１８  画像保存可否フラグ、２１９  閾値保存域、２２０  第２変換部、２３０  画像データ管理部、２３２  画像データ管理テーブル、２３４  画像データ保存域、２４０  内部通信バッファ、３００  処理部、３１０  第１変換部、３２０  第２変換部、３３０  画像データ管理部、４００  ジョブ（入力情報）、４０２  第１画像オブジェクト、４０４  第２画像オブジェクト、４１０，４１０Ａ  転送情報。
【図１】
2018043378.tif 000003
【図２】
2018043378.tif 000004
【図３】
2018043378.tif 000005
【図４】
2018043378.tif 000006
【図５】
2018043378.tif 000007
【図６】
2018043378.tif 000008
【図７】
2018043378.tif 000009
【図８】
2018043378.tif 000010
【図９】
2018043378.tif 000011
【図１０】
2018043378.tif 000012
【図１１】
2018043378.tif 000013
【図１２】
2018043378.tif 000014