(57)【特許請求の範囲】
【請求項１】
印刷対象として選択された第１の画像データを特定するための第１の特定情報としてハッシュ値を印刷処理が中断される前に算出し、前記ハッシュ値である第１の特定情報を取得する第１の取得手段と、
前記第１の取得手段により取得された前記第１の特定情報を印刷処理が中断される前に記憶装置に記憶させる記憶手段と、
印刷処理が中断された後の印刷処理の再開時において第２の画像データを取得し、前記第２の画像データを特定するためのハッシュ値である第２の特定情報を取得する第２の取得手段と、
印刷対象として選択された前記第１の画像データのうちの印刷未完了の画像データの前記第１の特定情報が、印刷処理が中断した状態において、前記第１の取得手段により取得され、前記取得された印刷未完了の画像データの前記第１の特定情報と前記第２の特定情報とに基づいて、前記第２の画像データから前記第１の画像データの印刷未完了の画像データと一致する画像データを特定する特定手段と、
印刷対象として選択された前記第１の画像データの印刷設定を示す印刷設定情報に従って、前記特定手段により前記第１の画像データの印刷未完了の画像データと一致する画像データとして特定された前記第２の画像データの印刷処理を実行させる印刷制御手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記第２の取得手段は、前記第２の画像データの特徴量を算出し、当該特徴量を前記第２の特定情報として取得することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１の取得手段により取得された前記第１の特定情報のうち、印刷処理が完了した前記第１の画像データに対応する情報を削除する削除手段を更に有し、
前記特定手段は、前記第１の取得手段により取得された前記第１の特定情報のうち、前記削除手段により削除されなかった情報と前記第２の特定情報とに基づいて、前記第２の画像データから前記第１の画像データと一致する画像データを特定することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
印刷処理の再開時において、前記第１の取得手段を実施するかをユーザに選択させる特定情報の取得処理の続行選択手段を更に有することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記第１の画像データの印刷未完了の画像データに一致する前記第２の画像データが複数存在する場合、当該複数の前記第２の画像データから任意の画像データをユーザに選択させる第２の選択手段を更に有することを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
情報処理装置によって実行される情報処理方法であって、
印刷対象として選択された第１の画像データを特定するための第１の特定情報としてハッシュ値を印刷処理が中断される前に算出し、前記ハッシュ値である第１の特定情報を取得する第１の取得ステップと、
前記第１の取得ステップにおいて取得された前記第１の特定情報を印刷処理が中断される前に記憶装置に記憶させる記憶ステップと、
印刷処理が中断された後の印刷処理の再開時において第２の画像データを取得し、前記第２の画像データを特定するためのハッシュ値である第２の特定情報を取得する第２の取得ステップと、
印刷対象として選択された前記第１の画像データのうちの印刷未完了の画像データの前記第１の特定情報が、印刷処理が中断した状態において、前記第１の取得ステップにおいて取得され、前記取得された印刷未完了の画像データの前記第１の特定情報と前記第２の特定情報とに基づいて、前記第２の画像データから前記第１の画像データの印刷未完了の画像データと一致する画像データを特定する特定ステップと、
印刷対象として選択された前記第１の画像データの印刷設定を示す印刷設定情報に従って、前記特定ステップにおいて前記第１の画像データの印刷未完了の画像データと一致する画像データとして特定された前記第２の画像データの印刷処理を実行させる印刷制御ステップと、
を含むことを特徴とする情報処理方法。
【請求項７】
印刷対象として選択された第１の画像データを特定するための第１の特定情報としてハッシュ値を印刷処理が中断される前に算出し、前記ハッシュ値である第１の特定情報を取得する第１の取得ステップと、
前記第１の取得ステップにおいて取得された前記第１の特定情報を印刷処理が中断される前に記憶装置に記憶させる記憶ステップと、
印刷処理が中断された後の印刷処理の再開時において第２の画像データを取得し、前記第２の画像データを特定するためのハッシュ値である第２の特定情報を取得する第２の取得ステップと、
印刷対象として選択された前記第１の画像データのうちの印刷未完了の画像データの前記第１の特定情報が、印刷処理が中断した状態において、前記第１の取得ステップにおいて取得され、前記取得された印刷未完了の画像データの前記第１の特定情報と前記第２の特定情報とに基づいて、前記第２の画像データから前記第１の画像データの印刷未完了の画像データと一致する画像データを特定する特定ステップと、
印刷対象として選択された前記第１の画像データの印刷設定を示す印刷設定情報に従って、前記特定ステップにおいて前記第１の画像データの印刷未完了の画像データと一致する画像データとして特定された前記第２の画像データの印刷処理を実行させる印刷制御ステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷処理が中断された後の印刷再開時において、印刷対象として選択されていた画像データを特定するための技術に関するものである。
【背景技術】
【０００２】
従来、画像データの印刷処理が中断され、印刷ジョブとしての画像データが削除された場合に、ユーザに画像データの再選択等を行わせることなく印刷を再開するものとして、画像データを複製して保持しておく技術が知られている。即ち、印刷処理中にエラー発生によって印刷が中断し、その際に電源がオフにされると、エラー発生時に処理していたＲＡＭ内の画像データが消去されてしまい、ユーザに画像データの再選択を行わせる必要が生じる。そこで、特許文献１に開示される技術では、ＲＡＭ内に保持される印刷対象の画像データを外部の記憶装置にも記憶させておき、電源を再起動する際に外部の記憶装置から画像データをダウンロードして印刷を再開する。これにより、ユーザによる画像データの再選択の手間を省くことを可能としている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−０４１３８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、画像データの複製処理には、複製された画像データを保存するための保存容量を要するとともに、画像データの複製処理自体も重い処理である。従って、例えば携帯端末等の処理能力が低い装置では画像データの複製処理に時間がかかり、ユーザビリティを損なうという問題があった。
【０００５】
また、オペレーティングシステムによって一括管理されている画像データの中から指定された任意の画像データを、アプリケーションが一時的にオペレーティングシステムから受け取ってＲＡＭに展開し、印刷を実行する装置が知られている。このような装置において、例えばパスや画像ＩＤのような画像データを特定する手段のないものが存在する。また、印刷処理が中断されてアプリケーションが終了された場合にはＲＡＭに展開されていた画像データは破棄される。そのため、アプリケーションの再起動による印刷処理の再開時には選択されていた画像データを容易に特定することができず、画像データの選択状態を印刷処理の中断前の状態に復元することが困難であるという問題があった。
【０００６】
そこで、本発明の目的は、印刷処理が中断された後の印刷処理の再開時において、印刷対象として選択されていた画像データを特定する処理を、画像データの複製処理と比べて処理時間が短く、且つ少ない記憶容量で実行することにある。
【課題を解決するための手段】
【０００７】
本発明の情報処理装置は、印刷対象として選択された第１の画像データを特定するための第１の特定情報としてハッシュ値を印刷処理が中断される前に算出し、前記ハッシュ値である第１の特定情報を取得する第１の取得手段と、前記第１の取得手段により取得された前記第１の特定情報を印刷処理が中断される前に記憶装置に記憶させる記憶手段と、印刷処理が中断された後の印刷処理の再開時において第２の画像データを取得し、前記第２の画像データを特定するためのハッシュ値である第２の特定情報を取得する第２の取得手段と、印刷対象として選択された前記第１の画像データのうちの印刷未完了の画像データの前記第１の特定情報が、印刷処理が中断した状態において、前記第１の取得手段により取得され、前記取得された印刷未完了の画像データの前記第１の特定情報と前記第２の特定情報とに基づいて、前記第２の画像データから前記第１の画像データの印刷未完了の画像データと一致する画像データを特定する特定手段と、印刷対象として選択された前記第１の画像データの印刷設定を示す印刷設定情報に従って、前記特定手段により前記第１の画像データの印刷未完了の画像データと一致する画像データとして特定された前記第２の画像データの印刷処理を実行させる印刷制御手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、印刷処理が中断された後の印刷処理の再開時において、印刷対象として選択されていた画像データを特定する処理を、画像データの複製処理と比べて処理時間が短く、且つ少ない記憶容量で実行することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係る印刷システムの構成を概略的に示す図である。
【図２】ユーザ端末のソフトウェア構成を示す図である。
【図３】本発明の実施形態に係る印刷システムの処理を示すフローチャートである。
【図４】図３のステップＳ３０５における画像再選択処理の詳細を示すフローチャートである。
【図５】本発明の他の実施形態に係る印刷システムの処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。なお、以下に説明する実施形態は本発明を限定するものでなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明に必須のものとは限らない。
【００１１】
先ず、本発明の第１の実施形態について説明する。図１は、本発明の第１の実施形態に係る印刷システムの構成を概略的に示す図である。図１において、本実施形態に係る印刷システムは、ユーザ端末１０１とプリンタ１０２とをネットワーク１０３を介して接続している。なお、図１では、ユーザ端末１０１とプリンタ１０２とが夫々一台のネットワーク構成を示しているが、本発明に適用可能なネットワーク構成がこれに限定されないことは勿論である。また、ユーザ端末１０１は、本発明の情報処理装置の適用例となる構成である。
【００１２】
本実施形態に係る印刷システムにおいて、ユーザ端末１０１とプリンタ１０２とは、ＴＣＰ／ＩＰプロトコルに従って通信を行う。ユーザ端末１０１は、ユーザ端末１０１の全体制御を行うＣＰＵ１１１、ユーザ端末１０１にユーザが指示を与えるための操作部１１２、ユーザ端末１０１をネットワーク１０３に接続するＬＡＮポート１１３、メモリ１１４、液晶パネル等の表示部１１５及びハードディスク等の記憶装置１１６を備える。
【００１３】
メモリ１１４は、ＣＰＵ１１１の作業領域としてのランダムアクセスメモリ（ＲＡＭ）である。記憶装置１１６は、後述のプリンタドライバ、アプリケーション、オペレーティングシステム等の各種制御プログラムを格納する。ＬＡＮポート１１３はネットワーク１０３に接続され、ネットワーク１０３を介してユーザ端末１０１をプリンタ１０２と接続している。
【００１４】
図２は、ユーザ端末１０１のソフトウェア構成を示す図である。ユーザ端末１０１は、オペレーティングシステム（以下、ＯＳと称す）２０１、アプリケーション（以下、ＡＰと称す）２０２及びプリンタドライバ２０３を備える。これらのソフトウェアは記憶装置１１６に格納されており、メモリ１１４に展開されてＣＰＵ１１１によって実行される。
【００１５】
ＯＳ２０１は、ユーザ端末１０１内においてメモリ１１４や記憶装置１１６に画像データを記憶させる画像記憶部２１１と、ユーザが印刷対象として選択した画像データを記憶装置１１６から取得し、メモリ１１４に展開する画像選択部２１６とを備える。
【００１６】
ＡＰ２０２は、選択画像取得部２１２、特定情報算出部２１３、情報記憶部２１４及び画像特定部２１５を備える。選択画像取得部２１２は、ユーザが印刷対象として選択した画像データを取得する。仮にユーザが記憶装置１１６に記憶される全ての画像データを選択した場合、選択画像取得部２１２は当該全ての画像データを取得する。特定情報算出部２１３は、選択画像取得部２１２によって取得された画像データを特定するための特定情報を算出する。なお、特定情報の詳細については後述する。
【００１７】
情報記憶部２１４は、画像データ毎に、画像データについてユーザが設定した任意の印刷設定情報と当該画像データの特定情報との組み合わせを画像情報としてメモリ１１４や記憶装置１１６に記憶する。情報記憶部２１４は、処理に応じて、印刷設定情報や特定情報の記録先をメモリ１１４と記憶装置１１６との間で切り替える。画像特定部２１５は、各画像データの特定情報に基づいて、選択画像取得部２１２によって取得された画像データを特定する。プリンタドライバ２０３は、ユーザが印刷対象として選択した画像データをＡＰ２０２から受け取り、印刷可能な形式に変換してプリンタ１０２に送信する。
【００１８】
図３は、本発明の第１の実施形態に係る印刷システムの処理を示すフローチャートであり、図３に示すフローチャートは、ユーザによる印刷対象の画像データの選択から、画像データ印刷処理の中断、画像データ印刷処理の再開までの処理を示している。なお、図３に示す処理は、ＣＰＵ１１１がＯＳ２０１、ＡＰ２０２を実行することにより実現される。また、ユーザへの情報提示のための手段とユーザからの入力を求めるための手段として、本実施形態ではグラフィカルなＵＩを用いるものとする。但し、これに限定されるものではなく、例えばターミナルソフトを用いたテキストベースのＵＩによって実現することも可能である。
【００１９】
先ず、ユーザによる印刷対象の画像データの選択から画像データ印刷処理の中断までの処理について説明する。ユーザによりＡＰ２０２が実行されると、ＡＰ２０２は、印刷が完了していない画像データの画像情報が存在するか否かを判定する（ステップＳ３０１）。印刷再開時でない場合、印刷未完了の画像データが存在せず、それらの画像情報も消去されて存在しないため、処理はステップＳ３０２に移行する。一方、印刷再開時である場合、印刷未完了の画像データが存在し、それらの画像情報もまだ管理されているため、処理はステップＳ３０５に移行する。
【００２０】
ステップＳ３０２において、ＯＳ２０１の画像選択部２１６は、ユーザが印刷対象として選択した画像データを記憶装置１１６から取得し、メモリ１１４に展開する。ここで、本実施形態では、ＯＳ２０１のシステム制限により、メモリ１１４に画像データが展開された状態でしか、ＡＰ２０２がＯＳ２０１から画像データを取得することができないものとする。即ち、本実施形態では、ＡＰ２０２は、ユーザが印刷対象として選択した画像データを特定することのできる、当該画像データのパス、ファイル名、画像ＩＤ等の情報を取得することができないことを前提としている。そのため、ＡＰ２０２は記憶装置１１６から画像データを特定して取得することができない。
【００２１】
次にユーザは、印刷指示画面上で印刷開始ボタンを押下することにより、印刷対象の画像データの印刷開始をＡＰ２０２に指示する。すると、ステップＳ３０３において、選択画像取得部２１２はメモリ１１４に展開される印刷対象の画像データを取得する。ステップＳ３０４において、特定情報取得部２１３は、選択画像取得部２１２によって取得された画像データの特定情報を算出する。本実施形態では、画像データの特定情報として画像データの特徴量が算出されるものとする。画像データの特徴量として適切なものとしてハッシュ値が知られている。ハッシュ値を計算するためのハッシュ関数は、任意長のデータから固定長のデータを算出する関数であり、異なる画像データが入力されると、異なる百数十ビットのデータが算出される。このようなハッシュ関数の代表例として、ＭＤ５(Message Digest 5)、ＳＨＡ(Secure Hash Algorithm)等が挙げられる。ここで計算されるハッシュ値をＨＡnとする。ステップＳ３０７において、情報記憶部２１４は、画像データの特定情報であるハッシュ値ＨＡnと当該画像データの印刷設定情報Ｓnとの組み合わせを画像情報として記憶させる。ここでの画像情報の記憶先はメモリ１１４でもよいし、記憶装置１１６でもよい。ｎは選択されている画像データの番号であり、重複や抜けのないように１〜ｎＭａｘまでの番号が存在する。例えばユーザが選択した画像データの数が１０であれば、ｎＭａｘ＝１０であり、１番目の画像データのハッシュ値はＨＡ1、２番目の画像データのハッシュ値はＨＡ2、１０番目の画像データのハッシュ値はＨＡ10となる。同様にして１番目の画像データの印刷設定情報はＳ1、１０番目の画像データの印刷設定情報はＳ10となる。以降、ＨＡnはメモリ１１４や記憶装置１１６に記憶されているハッシュ値の全てのことを意味し、同様にＳnも、メモリ１１４や記憶装置１１６に記憶されている印刷設定情報の全てのことを意味するものとする。なお、ステップＳ３０４において算出される特定情報は、本発明における第１の特定情報の適用例である。また、ステップＳ３０３において取得される画像データは、本発明における第１の画像データの適用例である。さらに、ステップＳ３０３は、本発明における第１の取得手段の処理例であり、ステップＳ３０７は、本発明における記憶手段の処理例である。
【００２２】
ステップＳ３０８において、ＡＰ２０２は、印刷対象の画像データの番号ｘをｘ＝１で初期化する。ステップＳ３０９において、ＡＰ２０２は、画像データの印刷が中断されたか否かを判定する。画像データの印刷が中断されていない場合、処理はステップＳ３１０に移行する。一方、画像データの印刷が中断された場合、処理はステップＳ３１５に移行する。ステップＳ３１０において、プリンタドライバ２０３は、ｘ番目の印刷対象の画像データをＡＰ２０２から受け取り、印刷可能な形式に変換してプリンタ１０２へ送信する。ステップＳ３１１において、プリンタドライバ２０３は、プリンタ１０２へのｘ番目の印刷対象の画像データの送信が完了したか否かを判定する。プリンタ１０２への画像データの送信が完了した場合、処理はステップＳ３１２に移行する。一方、プリンタ１０２への画像データの送信が完了していない場合、処理はステップＳ３０９に戻る。
【００２３】
ステップＳ３１２において、ＡＰ２０２は、印刷が完了した画像データの画像情報を削除する。つまり、本実施形態では、印刷が完了したｘ番目の印刷対象の画像データのハッシュ値ＨＡxと印刷設定情報Ｓxとの組み合わせ（画像情報）を削除することにより印刷状態を管理する。ステップＳ３１３において、ＡＰ２０２は、印刷対象として選択された全ての画像データの印刷が完了したか否かを判定する。印刷対象として選択された全ての画像データの印刷が完了していない場合、処理はステップＳ３１４に移行する。一方、印刷対象として選択された全ての画像データの印刷が完了した場合、処理は終了する。ステップＳ３１４において、ＡＰ２０２は、印刷対象の画像データの番号ｘを１インクリメントする。なお、ステップＳ３１２は、本発明における削除手段の処理例である。
【００２４】
ところで、ステップＳ３０９にて印刷が中断されたと判定された場合、ステップＳ３１５において、ＡＰ２０２の情報記憶部２１４は、印刷未完了の画像データのハッシュ値ＨＡx〜ＨＡnMax、印刷設定情報Ｓx〜ＳnMaxを、それぞれＨＡ1〜ＨＡnMax-x+1、Ｓ1〜ＳnMax-x+1に番号を振りなおして記憶させる。ここで情報記憶部２１４は、印刷未完了のハッシュ値と印刷設定情報との組み合わせである画像情報をメモリ１１４ではなく記憶装置１１６に記憶させる。これにより、印刷処理の中断後にＡＰ２０２が終了されても、記憶装置１１６に記憶される画像情報は破棄されない。また、画像情報はハッシュ値及び印刷設定情報だけなので、画像データ自体を記憶させる場合と比較して、記憶容量の消費と記憶処理に要する時間とを抑えることができる。記憶装置１１６での画像情報の保持が完了すると、ＡＰ２０２は処理を終了する。
【００２５】
次に、画像データ印刷の再開処理について説明する。ユーザにより再度ＡＰ２０２が実行されると、ＡＰ２０２は、図３のステップＳ３０１にて印刷未完了の画像データの画像情報が存在するか否かを判定する。印刷未完了の画像データの画像情報が存在する場合、ＡＰ２０２は、ステップＳ３０５にて画像再選択処理を行う。
【００２６】
図４は、図３のステップＳ３０５における画像再選択処理の詳細を示すフローチャートである。ステップＳ４０１において、選択画像取得部２１２は、記憶装置１１６に記憶されている全ての画像データを取得する。以下、ステップＳ４０１で取得された画像データを再取得画像データと称す。このとき、ＡＰ２０２は、画像データを特定することができる、当該画像データのパス、ファイル名、画像ＩＤ等の情報を取得することができない。従って、この段階では、ＡＰ２０２は、再取得画像データとユーザによって印刷対象として選択されていた画像データとを対応付けることはできない。ここで、再取得画像データ数をｓＭａｘとする。ステップＳ４０２において、特定情報算出部２１３は、全ての再取得画像データそれぞれに対して、画像データの特定情報としてハッシュ値ＨＢｓを計算する。ｓは画像データの番号であり、重複や抜けのないようにそれぞれ１〜ｓＭａｘまでの番号をとる。例えばステップＳ４０１で取得された画像データ数が２０であれば、ｓＭａｘ＝２０であり、１番目の画像データのハッシュ値はＨＢ1、２番目の画像データのハッシュ値はＨＢ2、２０番目の画像データのハッシュ値はＨＢ20となる。なお、ステップＳ４０２において算出される特定情報は、本発明における第２の特定情報の適用例である。また、ステップＳ４０１において取得される画像データは、本発明における第２の画像データの適用例である。さらに、ステップＳ４０２は、本発明における第２の取得手段の処理例である。
【００２７】
ステップＳ４０３において、ＡＰ２０２は、ステップＳ３１５で記憶されたハッシュ値ＨＡnと、ステップＳ４０２で計算されたハッシュ値ＨＢsとの比較処理に必要な変数ｘとｙ及び再選択画像数ｒを、ｘ＝１、ｙ＝１、ｒ＝０で初期化する。ステップＳ４０４において、ＡＰ２０２は、ｘ番目の印刷未完了の画像データのハッシュ値ＨＡxとｙ番目の再取得画像データのハッシュ値ＨＢyとの比較処理を行う。ステップＳ４０５において、ＡＰ２０２は、ｘ番目のハッシュ値ＨＡxとｙ番目のハッシュ値ＨＢyとが一致したか否かを判定する。ハッシュ値ＨＡxとハッシュ値ＨＢyとが一致した場合、処理はステップＳ４０６に移行する。ハッシュ値ＨＡxとハッシュ値ＨＢyとが一致しなかった場合、ステップＳ４０６は実行されずに処理はステップＳ４０７に移行する。ステップＳ４０６において、ＡＰ２０２は、印刷設定情報Ｓxで印刷される印刷未完了のｘ番目の画像データとして、ｙ番目の再取得画像データを選択し、当該ｙ番目の再取得画像データと印刷設定情報Ｓxとを対応付ける。それとともにＡＰ２０２は、再選択画像数ｒを１インクリメントする。以下、ステップＳ４０６で選択された再取得画像データを再選択画像データと称す。なお、ステップＳ４０５、Ｓ４０６は、本発明における特定手段の処理例である。
【００２８】
ステップＳ４０７において、ＡＰ２０２は、全ての印刷未完了の画像データのハッシュ値ＨＡnと、
ｙ番目の再取得画像データのハッシュ値ＨＢyとの比較処理が完了したか否かを判定する。全ての印刷未完了の画像データのハッシュ値ＨＡnと、ｙ番目の再取得画像データのハッシュ値ＨＢyとの比較処理が完了した場合、処理はステップＳ４０９に移行する。一方、全ての印刷未完了の画像データのハッシュ値ＨＡnとｙ番目の再取得画像データのハッシュ値ＨＢyとの比較処理が完了していない場合、処理はステップＳ４０８に移行する。ステップＳ４０８において、ＡＰ２０２は、変数ｘを１インクリメントし、次の印刷未完了の画像データのハッシュ値ＨＡxを再取得画像データのハッシュ値ＨＢyとの比較処理の対象として設定する。そして、処理はステップＳ４０４に戻り、次の印刷未完了の画像データのハッシュ値ＨＡxと再取得画像データのハッシュ値ＨＢyとの比較処理が実行される。
【００２９】
ステップＳ４０９において、ＡＰ２０２は、全ての再取得画像データのハッシュ値ＨＢsに対して比較処理が完了したか否かを判定する。全ての再取得画像データのハッシュ値ＨＢsに対して比較が完了していない場合、処理はステップＳ４１０に移行する。一方、全ての再取得画像データのハッシュ値ＨＢsに対して比較が完了した場合、処理はステップＳ４１１に移行する。ステップＳ４１０において、ＡＰ２０２は、次の再取得画像データのハッシュ値ＨＢyと先頭の印刷未完了の画像データのハッシュ値ＨＡnとを比較するために、ｙを１インクリメントし、ｘ＝１で初期化する。そして、処理はステップＳ４０４に戻り、次の再取得画像データのハッシュ値ＨＢyと先頭の印刷未完了の画像データのハッシュ値ＨＡnとの比較処理が実行される。ステップＳ４１１において、ＡＰ２０２は、選択画像数ｎＭａｘを再選択画像数ｒで更新する。そして、処理は図３のステップＳ３０６に移行する。ステップＳ３０６において、特定情報算出部２１３は、再選択画像データを印刷設定情報と対応付け、印刷対象の画像データの番号として１〜ｎＭａｘまでの番号を振りなおす。ｎＭａｘはステップＳ４１１で更新された値である。ステップＳ３０７以降は、再選択画像データを印刷対象とし、ステップＳ３０６にて再度振り直された番号に対応するハッシュ値ＨＡnと印刷設定情報Ｓnとに基づき、印刷処理が再開される。即ち、ステップＳ３０７以降では、印刷設定情報Ｓnに従って、ハッシュ値ＨＡnに該当する再選択画像データの印刷制御がなされる。なお、本処理は、本発明における印刷制御手段の処理例である。
【００３０】
本実施形態では、印刷未完了の全ての画像データのハッシュ値ＨＡnとｙ番目の再取得画像データのハッシュ値ＨＢyとの比較処理（ステップＳ４０７）が完了したとき、複数の再取得画像データのハッシュ値ＨＢyが或る印刷未完了の画像データのハッシュ値ＨＡnと一致する場合がある。即ち、或る印刷未完了の画像データと一致する再取得画像データが複数存在する場合がある。このような場合、本実施形態においては、一致した複数の再取得画像データを全て再選択画像データとしている。これに限らず、一つの印刷未完了の画像データに対しては必ず一つの再選択画像データを対応付けるため、或る印刷未完了の画像データと一致する再取得画像データが複数存在する場合、複数の再取得画像データから一つの再取得画像データをユーザに選択させてもよい。なお、本処理は、本発明における第２の選択手段の処理例である。
【００３１】
本実施形態では、印刷未完了の全ての画像データのハッシュ値ＨＡnとｙ番目の再取得画像データのハッシュ値ＨＢyとの比較処理（ステップＳ４０７）が完了したとき、印刷未完了の画像データのハッシュ値ＨＡnと一致する再取得画像データのハッシュ値ＨＢyが存在しない場合がある。即ち、印刷再開前に画像データが削除された等の理由によって、印刷未完了の画像データと一致する再取得画像データがない場合がある。このような場合、本実施形態では、特にユーザにその旨を通知することなく処理を進める。但し、これに限らず、印刷未完了の画像データと一致する再取得画像データが存在しない場合、印刷未完了の画像データのうち、再選択することができない画像データが存在した旨をユーザに通知するようにしてもよい。
【００３２】
また本実施形態では、ステップＳ４０４〜Ｓ４０８において、一つの再取得画像データのハッシュ値ＨＢyについて印刷未完了の全ての画像データのハッシュ値ＨＡnと比較するようにしている。これに対し、比較処理にかかる時間を短縮するために、既に再取得画像データのハッシュ値ＨＢyと一致すると判定され、画像データの再選択が行われた印刷未完了の画像データのハッシュ値は比較対象から除外するようにしてもよい。
【００３３】
本実施形態では、印刷実行時に対象となる全ての画像データのハッシュ値を計算しているため、印刷が完了しているか否かに関わらず、印刷対象として選択された全ての画像データを特定することが可能である。しかしながら、印刷が完了していない画像データのみを再選択した方が利便性の面で効果が高いため、印刷状態として印刷が完了した画像データに関する画像情報は随時削除していく。そうすることで、特定する画像データを印刷未完了の画像データのみに絞ることができる。これにより、自動的に印刷が完了していない画像データのみを特定し、印刷を再開することが可能となる。つまり、印刷中断後の印刷再開時において、ユーザが印刷未完了の画像データを探す必要がなくなり、ユーザの負担を低減する効果がある。これに対し、印刷が完了しているか否かに関わらず、印刷対象として選択された画像データを改めて全て印刷したい場合には、Ｓ３１２において印刷済み画像データの画像情報の削除を実行しないことと、Ｓ３１５において印刷対象として選択された全ての画像データのハッシュ値ＨＡx〜ＨＡnMax、印刷設定情報Ｓx〜ＳnMaxを保持しておくことで、印刷対象として選択された全ての画像データを再選択することが可能となる。印刷未完了の画像データのみを再選択するか、印刷対象として選択された画像データを全て再選択するかはユーザの指示によって切り替えてもよい。なお、本処理は、本発明における第１の選択手段の処理例である。また本実施形態では、画像情報の削除することによって印刷対象として選択された各画像データの印刷状態を管理している。但し、印刷が完了しているかどうかを判断することができれば特にこの手法に限られない。例えば印刷が完了した画像データの画像情報に印刷完了のフラグを付加してもよいし、現在印刷中の画像データの画像番号ｘに基づいて判断してもよい。また本実施形態では、画像データ印刷の再開処理において、印刷未完了の画像データの画像情報が存在する場合、即座に特定情報の取得処理を行っているが、画像数が多いほど特定情報の取得に要する時間は増加する。これは、画像の再選択を行わないユーザにとっては負荷となるため、画像データの再選択処理を行うかどうかをユーザに選択させてもよい。本処理は、本発明の続行選択手段の処理例である。
【００３４】
さらに本実施形態では、画像データの特定情報である特徴量としてハッシュ値を用いているが、ハッシュ値の計算方法は代表例として前述したＭＤ５やＳＨＡ以外のハッシュ関数を用いてもよい。その他、ハッシュ値を求める際には、元画像データを任意のサイズに縮小した画像データを用いてもよい。また、縮小された画像データから求められたハッシュ値が一致した場合であっても、元画像データが必ずしも一致しない場合もある。そのため、再選択画像データが前に印刷対象として選択された画像データであるかを特定するために、再選択画像データを表示部１１５でユーザに提示する構成としてもよい。本構成は、本発明における提示手段の適用例である。ユーザに再選択画像データを提示するタイミングは、ステップＳ４０１において再選択画像データを発見したら随時提示する構成とすることも、ステップＳ３０５以降の印刷開始前までに全ての再選択画像データを提示する構成とすることも可能である。再選択画像データを提示した後は、印刷の再開又は画像データの変更、或いは印刷のキャンセル等の処理はユーザの指示に従って行われる。また、ハッシュ値の計算対象範囲は画像データ全体でなくても、画像データの一部とする構成としてもよい。
【００３５】
次に、本発明の第２の実施形態について説明する。上述した第１の実施形態では、ステップＳ３０４にてハッシュ値の計算を行っている。このタイミングでハッシュ値の計算を行うことで印刷が完了しているか否かに関わらず、印刷対象として選択された画像データ全てを再選択することが可能であった。また、ステップＳ３１２にて印刷が完了した画像情報を削除していくことで、印刷未完了の画像データのみを再選択することが可能となる。これに対し、第２の実施形態では、印刷が中断された状態で印刷未完了の画像データのハッシュ値だけを計算する。そうすることで不要なハッシュ値の計算を行う必要がなく、印刷未完了の画像データのみを再選択することができる。なお、第２の実施形態に係る印刷システムの構成及びユーザ端末のソフトウェア構成は、図１及び図２に示す構成と同様である。
【００３６】
以下、図５を参照しながら、本実施形態に係る印刷システムの処理について説明するが、第１の実施形態と同様の処理については説明を省略する。
【００３７】
先ず印刷が中断されるまでの処理を説明する。図５において、Ｓ３０１、Ｓ３０２、Ｓ３０３は第１の実施形態と同様の処理である。この時点ではハッシュ値の計算及び画像情報であるハッシュ値と印刷設定情報の保持は行わずに印刷処理へと進む。また、図５において、Ｓ３０８、Ｓ３０９、Ｓ３１０、Ｓ３１１、Ｓ３１３、Ｓ３１４も第１の実施形態と同様の処理である。
【００３８】
印刷が中断されるまでの処理において画像情報はまだ保持していないので、画像情報の削除処理は不要である。Ｓ３０９にて印刷が中断されたと判定された場合、ステップＳ５０１において、特定情報算出部２１３は、印刷未完了の画像データそれぞれに対して特定情報を計算する。ここでの特定情報の計算手法は第１の実施形態の図３のＳ３０４と同様であり、画像データの特徴量であるハッシュ値が特定情報として算出される。従って、第２の実施形態ではステップＳ５０１においてハッシュ値ＨＡnが計算される。また、第２の実施形態では印刷未完了の画像データに１〜ｎＭａｘまでの番号付けを行う。ｎは画像番号であり、ｎＭａｘは印刷未完了の画像データ数である。ステップＳ５０２では、ＡＰ２０２は、印刷未完了の画像データのハッシュ値ＨＡnと印刷設定Ｓnとを対応付けた画像情報を記憶装置１１６に保持する。ここで第１の実施形態のＳ３１５と同様に画像情報はメモリ１１４ではなく、記憶装置１１６に保持される。
【００３９】
次に印刷処理を再開する際の処理について説明する。印刷処理を再開する処理において、Ｓ３０１、Ｓ３０５、Ｓ３０６は第１の実施形態と同様の処理となる。また、Ｓ３０８、Ｓ３０９、Ｓ３１０、Ｓ３１１、Ｓ３１３、Ｓ３１４、Ｓ５０１、Ｓ５０２の流れは、本実施形態における印刷が完了するか、中断されるまでの処理となる。
【００４０】
以上のように、印刷が中断された際にＳ５０１にてハッシュ値を計算することによって、印刷が完了したかどうかの印刷状態を管理する必要がなく、印刷未完了の画像データのみを特定して印刷再開することが可能となる。また、本実施形態においても画像データの特定情報としてハッシュ値を用いたが、第１の実施形態と同様に画像データの特定情報はハッシュ値に限定されない。さらに、第１の実施形態と同様に再選択画像データをユーザに提示して確認させるようにしてもよい。
【００４１】
次に、本発明の第３の実施形態について説明する。第１及び第２の実施形態では、ハッシュ値を計算する際に画像データ全体のハッシュ値を計算した。しかし、画像データ全体のハッシュ値を計算する時間は、画像データの複製に比べて短いとはいえ、負荷が少なくない。本実施形態では、先ず画像データの一部分のハッシュ値で比較を行い、一致した場合に画像データ全体のハッシュ値で比較を行うことで、画像データ全体のハッシュ値を計算する対象の画像数を絞ることでハッシュ値の計算量を減らし、処理時間を低減する。なお、第３の実施形態に係る印刷システムの構成及びユーザ端末のソフトウェア構成は、図１及び図２に示す構成と同様である。
【００４２】
以下、本実施形態の具体的な処理を、図３、図４を用いて説明するが、第１の実施形態と同様となる処理については説明を省略する。先ず印刷が中断されるまでの処理について説明する。Ｓ３０３までは第１の実施形態と同様の処理である。ステップＳ３０４で印刷対象として選択された画像データのハッシュ値を計算する際に、画像データ全体のハッシュ値だけではなく、画像データの一部分のハッシュ値も算出する。本実施形態では画像データの一部分として画像データの先頭１０Ｂｙｔｅをハッシュ値の算出対象とする。選択画像データの画像データ全体に対するハッシュ値を特徴量Ａ１とし、画像データの先頭１０Ｂｙｔｅのハッシュ値を特徴量Ａ２とする。ステップＳ３０７において、ＡＰ２０２は、特徴量Ａ１と特徴量Ａ２を印刷設定情報と対応付けて画像情報として記憶する。ステップＳ３０９以降は、第１の実施形態と同様の処理を行う。
【００４３】
次に印刷処理の再開時の処理について説明する。ステップＳ３０５の画像データの再選択処理において、ステップＳ４０１は第１の実施形態と同様の処理である。ステップＳ４０２において、特定情報算出部２１３は、再取得画像データの先頭１０Ｂｙｔｅのハッシュ値を算出し、これを特徴量Ｂ２とする。また、ここでは再取得画像データ全体のハッシュ値の算出は行わない。ステップＳ４０４において、ＡＰ２０２は、Ｓ４０２で算出した特徴量Ｂ２とステップＳ３０７で記憶された特徴量Ａ２とを比較する。特徴量Ａ２と特徴量Ｂ２とが一致しない場合、ステップＳ４０５において特徴量は一致しないと判定され、ステップＳ４０７に処理は移行する。一方、特徴量Ａ２と特徴量Ｂ２とが一致する場合、ＡＰ２０２は、特徴量が一致した再取得画像データ全体に対するハッシュ値を算出し、これを特徴量Ｂ１として特徴量Ａ１と比較する。特徴量Ａ１と特徴量Ｂ１とが一致する場合、ステップＳ４０５において特徴量が一致したと判定され、ステップＳ４０６に処理は移行する。特徴量Ａ１と特徴量Ｂ１とが一致しない場合、ステップＳ４０５において特徴量が一致しないと判定され、ステップＳ４０７に処理は移行する。ステップＳ４０７以降及びＳ４０６以降は、第１の実施形態と同様の処理が行われる。また、ステップＳ３０６以降は第１の実施形態と同様の処理が行われる。
【００４４】
以上のように、先ず画像データの一部分のハッシュ値で比較を行い、画像データ全体のハッシュ値を計算する対象の画像データを絞ることによって、ハッシュ値の計算量を低減できる。従って、印刷処理の再開時における画像データの再選択処理に要する時間を低減することができる。
【００４５】
本実施形態は、ハッシュ値算出対象となる画像データの一部分として画像データの先頭１０Ｂｙｔｅを用いた。これに限らず、ステップＳ３０４及びＳ４０２で算出対象の画像データの領域が同一であれば、例えば先頭から３０Ｂｙｔｅ目を基準とした２０Ｂｙｔｅ等の任意の部分でもよい。
【００４６】
本実施形態では、画像データ全体のハッシュ値を計算する画像データ数を絞る手段として、画像データの一部分を用いた。これに限らず、例えばＥＸＩＦ（Exchangeable Image Format）等の情報が取得可能であれば、ＥＸＩＦに含まれる撮影日時や撮影位置（ＧＰＳ情報）等を用いて画像データ数を絞ることも可能である。また、例えば画像データの先頭１０Ｂｙｔｅで絞った後、さらに先頭３０Ｂｙｔｅで絞る等、複数段階で絞る構成とすることも可能である。
【００４７】
以上、上述した実施形態によれば、印刷処理が中断された後の印刷処理の再開時において、印刷対象として選択されていた画像データを特定する処理を、画像データの複製処理と比べて処理時間が短く、且つ少ない記憶容量で実行することが可能となる。
【００４８】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００４９】
１０１：ユーザ端末、１０２：プリンタ、２０１：オペレーティングシステム、２０２：アプリケーション、２０３：プリンタドライバ、２１１：画像記憶部、２１６：画像選択部、２１２：選択画像取得部、２１３：特定情報算出部、２１４：情報記憶部、２１５：画像特定部
【図１】
0005839776.tif 000002
【図２】
0005839776.tif 000003
【図３】
0005839776.tif 000004
【図４】
0005839776.tif 000005
【図５】
0005839776.tif 000006