(57)【要約】【課題】  サーバとクライアントがそれぞれ時計を持っていて、サーバの時計の方がクライアントの時計よりも１時間進んでいる場合、クライアントから１２時の画像を検索しようとすると、サーバは１１時の画像を検索してしまう。【解決手段】  クライアントは、クライアントの現在時刻Ｔ１を用いて、指定された時刻、期間を相対時刻に修正し、検索条件として、相対値による時刻もしくは期間をサーバに送信し（Ｓ１１１１）、サーバは、サーバの現在時刻Ｔ２と、相対値による時刻、期間を用いて、検索を行う（Ｓ１１０４）。【選択図】  図１１
2005204348.tif 000002
【特許請求の範囲】
【請求項１】
サーバ画像通信装置に保持されている第１の画像データファイルの検索を要求するクライアント画像通信装置であって、
時刻発生手段と、
前記時刻発生手段により発生された時刻と関連付けて、第２の画像データファイルを保持する保持手段と、
前記保持手段により保持されている第２の画像データファイルを選択する選択手段と、
前記選択手段により選択された第２の画像データファイルにより定められる時刻を、前記時刻発生手段から取得される現在時刻に対する相対時刻に変換する変換手段と、
前記変換手段による変換後の相対時刻による検索条件を送信する送信手段とを有することを特徴とするクライアント画像通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ画像通信装置に保持されている第１の画像データファイルの検索を要求するクライアント画像通信装置に関する。
【背景技術】
【０００２】
従来、フィルム方式のカメラで撮影した写真を他者と交換する場合には、フィルムをプリントした写真を見て、所望の写真を焼き増しするなどして交換をしてきた。
【０００３】
一方で近年デジタルカメラの普及により、焼き増しした写真を交換するのではなくデジタルカメラが作成する電子的な画像データを交換するケースも増加しつつある。
【０００４】
特にデジタルカメラによる撮影の場合、紙などに印刷せずに例えばコンピュータなどで閲覧するのみで良い場合には、フィルム代、現像代などがかからないため気軽に大量に撮影することができる。
【０００５】
例えば画像データの交換を目的とする場合、その大量に撮影した画像より目的の画像を選択する必要がある。
【０００６】
例えば撮影した画像データをパーソナルコンピュータに転送して画像表示ようのアプリケーションなどで閲覧するのであればよいが、例えばデジタルカメラ装置に装備されている小さな液晶ディスプレイで表示する場合には、パーソナルコンピュータを使う場合や、あるいはフィルムを現像した写真を見る場合に比べて閲覧性が著しく低下する。
【０００７】
これを解決するためには、大量の画像をある基準を用いて検索、あるいはフィルタリングする方式が考えられる。
【０００８】
例えば、この基準の一つとして時刻による検索が考えられる。
【０００９】
公知のデジタルカメラ装置には、内部に公知時刻発生機能があって撮影した時刻を画像データに関連付けて記憶することができるものがある。
【００１０】
例えば、あるイベント（例えば運動会のゴールシーンなど）を撮影した（画像１）場合、同じイベント他の角度から撮影した画像（画像２）が欲しい、というような場合がある。
【００１１】
この場合、同じイベントを撮影したのであれば、画像１の撮影時刻と画像２の撮影時刻は同一、もしくは比較的近いことが考えられる。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、例えば複数のデジタルカメラを持ち寄って時刻によって画像を検索するような場合に、各デジタルカメラの時刻発生機能が保持している時刻が同一であるという保証がない、という問題がある。
【００１３】
したがって、例えば１２：００頃の画像を１４：００頃に探そうと思っても、あるデジタルカメラでは現在の時刻が１５：００を指していて、１２：００頃の時刻が記録されている画像は、実は１１：００頃に撮影された画像である、という可能性がある。
【００１４】
すなわち、サーバとクライアントがそれぞれ時計を持っていて、サーバの時計の方がクライアントの時計よりも１時間進んでいる場合、クライアントから１２時の画像を検索しようとすると、サーバは１１時の画像を検索してしまう。
【００１５】
時刻の差を考慮して検索を行う例としては、例えば特開平１１−２６１９７５が公開されている。
【００１６】
特開平１１−２６１９７５は、文字放送信号に含まれるテレビ番組ガイドに書かれた番組時刻を、文字放送信号のヘッダに含まれる局側の時刻情報と受信装置側の時刻情報の差分を用いて番組時刻を補正して検索表示する方式である。
【００１７】
しかしながら、この方式の場合、コンテンツを保持する側が保持するコンテンツの一覧を、要求する側に送信する必要がある。コンテンツの一覧には要求する側が意図するものとは異なるコンテンツについてのデータも含まれており、結果として冗長な情報を通信することになる。
【００１８】
これは例えば情報をやりとりする通信路の通信速度が高くない場合には、通信時間が長くなるという問題が発生する。特に、機器がバッテリなどで駆動しているような場合には、大きなデメリットとなる。
【課題を解決するための手段】
【００１９】
上記問題に鑑み、本発明によるクライアント画像通信装置は、サーバ画像通信装置に保持されている第１の画像データファイルの検索を要求するクライアント画像通信装置であって、時刻発生手段と、前記時刻発生手段により発生された時刻と関連付けて、第２の画像データファイルを保持する保持手段と、前記保持手段により保持されている第２の画像データファイルを選択する選択手段と、前記選択手段により選択された第２の画像データファイルにより定められる時刻を、前記時刻発生手段から取得される現在時刻に対する相対時刻に変換する変換手段と、前記変換手段による変換後の相対時刻による検索条件を送信する送信手段とを有することを特徴とする。
【発明の効果】
【００２０】
以上説明したように、サーバ画像通信装置に保持されている画像データファイルのうち、クライアント画像通信装置で保持されている画像データファイルに関連付けられた時刻に対応する画像データファイルを、サーバ画像通信装置の時刻とクライアント画像通信装置の時刻の違いに関わらず、簡単に、検索することができる。
【００２１】
また、本発明では、サーバの保持する画像に関する全ての情報をクライアントに送付するのではなく、ユーザ所望の検索条件による検索結果のみを通信するので、通信時間の短縮、通信コストの軽減が図れるという利得がある。
【発明を実施するための最良の形態】
【００２２】
本発明の実施の形態を、図を参照して詳細に説明する。
【００２３】
図１は、本発明による画像通信方法を実現可能な画像通信装置の一構成例を示すブロック図である。
【００２４】
図１の入力部１０１は、ユーザからの指示や、データを入力する装置で、キーボードやポインティング装置を含む。なお、ポインティング装置としては、マウス、トラックボール、トラックパッド、タブレット等が挙げられる。あるいは、本例を例えば公知のデジタルカメラ装置に適用した場合には、ボタンやモードダイヤル等で構成されるのであっても良い。
【００２５】
データ保存部１０２は、画像データを保持する部分で、通常はハードディスク、ＣＤ−ＲＯＭやＣＤ−Ｒ、メモリーカード等で構成される。また、データ保存部１０２にプログラムやその他のデータを保存することも可能である。
【００２６】
通信部１０７は、イーサネット（登録商標）やモデムなどの通信を制御する部分である。通信方式は任意であって公知のＵＳＢ、ＩＥＥＥ１２８４、ＩＥＥＥ１３９４などの有線による通信方式であってもよいし、あるいは赤外線、ＩＥＥＥ８０２．１１ｂ等の無線通信方式であっても良い。通信部１０７はこれらの通信路制御装置部分である。
【００２７】
表示部１０３は、ＧＵＩ（グラフィックユーザインターフェース）等の画像を表示する装置で、一般的にはＣＲＴや液晶ディスプレイなどが用いられる。
【００２８】
１０４はＣＰＵであり、上述した各構成の処理の全てに関わる。
【００２９】
ＲＯＭ１０５とＲＡＭ１０６は、そのＣＰＵ１０４の処理に必要なプログラム、データ、作業領域などをＣＰＵ１０４に提供する。また、後述する処理に必要な制御プログラムは、データ保存部１０２に格納されているか、ＲＯＭ１０５に格納されている場合は、一旦ＲＡＭ１０６に読み込まれてから実行される。
【００３０】
時刻発生部１０８は時刻を表す値を保持するとともに、一定期間毎（例えば１秒毎）に時刻を表す値を更新する公知の計時手段である。また、表示部１０３と入力部１０２を用いて、ユーザが時刻を変更可能であるようにしても良い。
【００３１】
あるいは、図示しないが、さらに公知のＣＣＤなどの画像入力手段を設けて、画像を入力してデータ保存部１０２に蓄える、というようにしてもよい。
【００３２】
なお、システム構成については、上記以外にも、様々な構成要素が存在するが、本発明の主眼ではないので、その説明は省略する。
【００３３】
図２は、本発明による画像通信方式による画像通信システムの例を示す図である。
【００３４】
図２では、例えば図１の構成による画像通信装置である２０１と２０２が通信路２０３によって接続している状態を示している。
【００３５】
通信路２０３は通信方式が公知のイーサネット（登録商標）、モデム、ＵＳＢ，ＩＥＥＥ１２８４，ＩＥＥＥ１３９４などの有線による方式の場合には物理的な形状を持つケーブルであるが、あるいは赤外線、ＩＥＥＥ８０２．１１ｂなどの無線である場合には、概念的な通信経路である。本件による発明は通信経路の種類に依存しないが、図２では説明の便利のため通信経路２０３を図示している。
【００３６】
また、画像通信装置２０１の２１１は十字キー、２１２、２１３ボタンを示しており、図１の入力部１０１を構成している。十字キー、ボタンはあくまでも一例であって、その種類や数は本発明による方式には依存しないし、また本発明による方式を制限するものでもない。
【００３７】
本実施形態では、ユーザは画像通信装置２０１を操作し、画像通信装置２０２内部に保存されている画像を探す場合を例にして説明する。説明の便利のため、ユーザが操作する画像通信装置２０１をクライアント、画像を保持する画像通信装置２０２をサーバとも呼び区別することとする。
【００３８】
本発明による方式では、サーバ側に表示部や入力部は必須ではないので省略しても良い。図２の場合、本実施例での説明とは逆に画像通信装置２０１がサーバで画像通信装置２０２がクライアントにもなれるような構成の例を示しているだけである。
【００３９】
クライアント２０１とサーバ２０２は、それぞれ内部のデータ保存部１０２に幾つかの画像データファイルを保持している。また、各画像は、それぞれの装置内部の時刻発生部１０８に従い、画像生成を行った時刻が画像データファイルと関連付けされて記録されているとする。
【００４０】
これは例えばクライアント２０１およびサーバ２０２がデジタルカメラ装置である場合には、ユーザによる撮影時に画像データをデータ保持部１０２にファイル化して保存するとともに、時刻発生部１０８より時刻を取り出し、画像データファイルのタイムスタンプとして保持する。
【００４１】
ユーザがクライアント２０１のＧＵＩを操作して検索を指示して検索モードに入った場合、クライアント２０１側でユーザは、例えば図３に示すような操作の流れを行う。
【００４２】
検索モードでは、まずステップＳ３０１で時刻、または時刻の範囲を指定する。時刻の指定は表示部１０３によるＧＵＩと入力部１０２からの指示で、時刻を表す数値を入力する。
【００４３】
また、入力部１０１の十字キー２１１などを操作して、クライアント２０１のデータ保存部１０２にある画像、もしくはその一覧を表示部１０３に表示して、そのうちから一枚もしくは複数毎の画像を選択し、その選択した画像に関連付けられた時刻（例えば、選択された画像がデジタルカメラで撮影された画像の場合、その撮影時刻）を用いて、時刻もしくは時刻の範囲を指定する。
【００４４】
時刻の範囲の一例は、複数枚の画像が選択された場合、それらの画像のうちの時刻が最も古いものから新しいものまでの時刻の範囲である。また、時刻の範囲の他の例は、選択された一枚の画像に対応する時刻の前後所定範囲、または、選択された複数枚の画像に対応する時刻のうちの時刻が最も古いものの所定時間前から新しいものの所定時間後までの範囲である。
【００４５】
ここで言う時刻とは、時分秒の情報の他に年月日の情報を含むものであって良い。
【００４６】
図４は、時刻と装置内部での時刻の関係、また時刻の範囲について説明する概念図である。図４の４５１は例えば正確な時刻を表しており、４５２はクライアント２０１内部での、時刻発生部１０８による時刻を表している。４５１と４５２の間には｜Ｔ０−Ｔ１｜の時刻の違いがあるとする。
【００４７】
また、４０１〜４１０は撮影を行って得た画像データファイルを意味しており、それぞれＴ１からｔ１〜ｔ１０経った時刻に撮影したので、それぞれ画像データファイルのタイムスタンプが、（Ｔ１＋ｔ１）〜（Ｔ１＋ｔ１０）となっているということを表している。
【００４８】
さて、画像を探す範囲の時刻を、ユーザが数値入力によって入力した場合、それは図４における４５１による時刻なのか４５２による時刻なのか、あるいはその他の時刻、例えばユーザが身につけている腕時計による時刻なのかが明確ではない。
【００４９】
例えば、ユーザが正確な時刻、すなわち４５１における時刻を指定した場合、各画像ファイルのタイムスタンプとは｜Ｔ０−Ｔ１｜のずれがある。したがって、ユーザが目的とした時刻を指定するためには、何らかの方法によりユーザが時刻の差｜Ｔ０−Ｔ１｜を算出した上でその時刻差を考慮して時刻の指定を行う必要がある。
【００５０】
一方、例えば画像、もしくはその一覧を表示して、ユーザが画像を選択する場合には、ユーザに明示的に時刻を提示することなく４５２上での時刻を指定することができる。例えば、図４では、画像４０４を起点、画像４０７を終点として、４５２上で時間範囲（Ｔ１＋ｔ４）〜（Ｔ１＋ｔ７）を指定した例を図示している。
【００５１】
また、他の形態では、上記方式による範囲指定に加えて、さらにその範囲の前後に範囲を拡張する指定が可能である。
【００５２】
例えば、ユーザが画像４０４、４０５、４０６、４０７を撮影したのは何らかのイベント、例えば運動会におけるゴールシーンなどを記録するためであるような場合がある。ユーザがそのイベントの全てを記録したとも限らない。すなわち、イベントに対して撮影開始が遅れたりあるいはイベントの最後の部分が撮影できなかった、という場合があり得る。したがって、ユーザが撮影した画像による時刻範囲指定に加えて、さらにユーザが前後のオフセット（図４の△ｔ０、△ｔ１）を指定することが可能である。
【００５３】
図５は、例えばこの時刻範囲指定処理のＧＵＩの例を示す模式図である。
【００５４】
図５の５０１、５０２中の４０１〜４０９は画像を表しており、図４の４０１〜４０９に対応する。５０１、５０２は、表示部１０３に表示されるＧＵＩの画面を表わす。
【００５５】
ユーザが範囲の指定を行う場合、例えばまず５０１のように画像の一覧を表示するとともに、その画像のうち１つを範囲の起点として指定させる。ユーザは入力部１０１を操作して画像を選択する。図５の５０１は例えば画像４０４を選択している状態を例示している。
【００５６】
ユーザが範囲の起点となる一枚目の画像を指定すると、ＧＵＩは５０２のように範囲の終点となる画像の指定を促す。ユーザは同様に入力部１０１を操作して画像を選択する。図５の５０２は例えば画像４０８を選択している状態を例示している。
【００５７】
例えば５０２において、５０１で指定した画像４０４の選択を禁止する理由は特にない。５０２で４０４を指定した場合は、単に時刻の範囲が０となるだけである。
【００５８】
５０２でユーザが範囲の終点となる二枚目の画像を指定すると、ＧＵＩは５０３のようにさらに５０１、５０２で指定した範囲の前後オフセットの入力を促す。ユーザは入力部１０１を操作して所望のオフセット値を設定する。５０３の例の場合、さらにＧＵＩ上にセットボタンを設けており、入力部１０１を操作してセットボタン５０３Ｓを選択することにより、５０１〜５０３で指定した範囲を確定させるようにしてある。
【００５９】
５０１〜５０３のＧＵＩはあくまでも一例であって、この他の表現であってもかまわない。また５０３ではオフセット値を分で入力したが、これが時間や秒のような他の時間単位であっても構わない。さらには、予めこの値は設定されているか、あるいはシステム側で決定しているのであってもよいが、その場合は、５０３の処理は冗長であり省略するのであっても構わない。
【００６０】
例えば以上のようなシーケンスによって、図３のステップＳ３０１における時刻範囲の指定が実現される。
【００６１】
次にユーザは入力部１０１を操作し、検索を指示する（ステップＳ３０２）。ここでは、指定した時刻の画像、または指定した時刻の範囲の画像の検索を指示する。例えば図２の場合、サーバ２０２に対して検索を依頼することになるが、この部分の通信手順、サーバ２０２側での処理等は後述する。
【００６２】
次にクライアント２０１はサーバ２０２側での検索結果を受け取るので、その検索結果を提示する（ステップＳ３０３）。最も単純には、サーバ２０２側の画像の識別子、たとえば画像ファイル名を表示部１０３に表示する。あるいは、サーバ２０２側に該当する画像が一枚もなかった場合には、「該当する画像はありませんでした」等のメッセージを表示するなどして、その旨をユーザに通知する。
【００６３】
ステップＳ３０４では、Ｓ３０３で受け取った検索結果に応じて処理を振り分けている。サーバ２０２が返した検索結果で該当する画像が一枚もなかった場合には処理をステップＳ３０９に流し、そうでない場合には処理をステップＳ３０５に流す。
【００６４】
ステップＳ３０５では、実際にサーバ２０２から受け取る画像を指定する。ユーザが選択する場合には、ユーザは入力部１０１を操作して、ステップＳ３０３で表示された画像より所望のものを選択する。あるいは、ユーザの操作を介さず、自動的に全ての画像を選択するのであっても良い。
【００６５】
ステップＳ３０６では、ステップＳ３０５でのユーザの選択に応じて処理を振り分けている。ユーザが一枚以上の画像を選択した場合には処理はステップＳ３０７に流れ、画像の通信処理を行って、選択した画像をサーバ２０２から取得するが、ユーザが一枚も画像を選択しなかった場合には、ステップＳ３０７をスキップしてステップＳ３０８に処理は流れる。
【００６６】
ステップＳ３０８では、ステップＳ３０３で受け取った検索結果に対して、Ｓ３０５〜Ｓ３０７による処理を再度行うかどうかを判断している。これは表示部１０３にメッセージを表示して、ユーザが入力部１０１を操作して再度行うかどうかの指示を行い、その指示に応じて処理を振り分ける。再度行う場合には、処理はステップＳ３０３へ、そうでない場合には、処理はステップＳ３０９に流れる。
【００６７】
最後にステップＳ３０９では、検索処理をもう一度行うかどうかを判定して処理を分岐している。これもステップＳ３０８同様にメッセージを表示してユーザの指示に応じて処理を振り分ける。再度検索処理を行う指示の場合には処理はステップＳ３０１に戻り再度検索を行う。そうでない場合は、図３の流れ図による検索モードの処理は終了する。
【００６８】
図６は、クライアント２０１とサーバ２０２の処理と通信の流れを表す図である。
【００６９】
クライアント２０１およびサーバ２０２は、それぞれ、コンピュータであるＣＰＵ１０４の制御の元に以下の動作を行う。ＲＡＭ１０６は、このプログラムをＣＰＵ１０４により読み出し可能に記憶した記憶媒体である。また、このプログラムを、不図示のフロッピー（登録商標）ディスク、コンパクトディスクからＲＡＭ１０６に読み込むように構成した場合、この不図示のフロッピー（登録商標）ディスク、コンパクトディスクが、このプログラムをＣＰＵ１０４により読み出し可能に記憶した記憶媒体に相当する。また、このプログラムは、インターネット等の通信媒体を介して、ＲＡＭ１０６に読み込むようにしてもよい。
【００７０】
まず、クライアント２０１はクライアント２０１内部の時刻発生部１０８より現在の時刻（Ｔ１）を取得して（Ｓ６０１）、直ちにＴ１をサーバ２０２に送信する（ステップＳ６１１）。
【００７１】
次に、サーバ２０２はクライアント２０１からの時刻送信に応じて、サーバ２０２内部の時刻発生部１０８より現在の時刻（Ｔ２）を取得して、クライアント２０１とサーバ２０２の時差（Ｔ２−Ｔ１）を算出して保持する（ステップＳ６０２）。また、クライアント２０１に対してＡＣＫを返す（Ｓ６１２）。
【００７２】
時差（Ｔ２−Ｔ１）には、実際にはクライアント２０１とサーバ２０２の間の通信に要する時間も含まれるが、通信が十分に高速であれば誤差として許容できるので構わない。また、この通信に要する時間Ｔ０を考慮し、（Ｔ２−Ｔ１−Ｔ０）を時差とする。この時間Ｔ０は、固定の値でよい。この時間Ｔ０を考慮する形態については、後述する。
【００７３】
ＡＣＫを受け取ったクライアント２０１は、次に時刻もしくは期間（時刻の範囲）を検索条件としてサーバ２０２に送信する（Ｓ６１３）。時刻もしくは期間は、例えば図３で示した処理や図５で示したようなＧＵＩにより、クライアント２０１を操作するユーザが指定する。ユーザが時刻もしくは期間を指定するタイミングは、サーバ２０２よりＡＣＫを受信した後でも構わないし、あるいはステップＳ６０１の処理の前に行っておくのでも構わない。すなわち、クライアント２０１の時刻は、クライアント２０１でサーバ２０２へ検索要求を行うための操作がなされたときに、クライアント２０１からサーバ２０２へ送信してもよいし、また、クライアント２０１での検索の操作とは無関係に、定期的、あるいは、ランダムなタイミングで、クライアント２０１からサーバ２０２へ送信してもよい。
【００７４】
ここで指定された時刻もしくは期間（すなわち、クライアント２０１がサーバ２０２に送信した検索条件の時刻もしくは期間）は、クライアント２０１内部の時刻発生部１０８に基づいた値である。
【００７５】
検索要求を受け取ったサーバ２０２は、検索要求内部にある時刻もしくは期間を、先にＳ６０２で算出した時差を用いて修正する（Ｓ６０３）。
【００７６】
図７は、この処理を説明する図である。
【００７７】
図７で２０１、２０２は図２のクライアント２０１、サーバ２０２と同一である。
【００７８】
図７の例の場合、サーバ２０２には７０１〜７０５の５枚の画像ファイルがあり、それぞれ撮影時刻が画像とともに関連付けられてサーバ２０２内部のデータ保存部１０２に記録されている。また、図７におけるクライアント２０１側の時刻Ｔ１、サーバ２０２側の時刻Ｔ２は、それぞれ２００１年４月１１日１７時０５分２０秒、２００１年４月１１日１７時０２分２５秒であるとする。
【００７９】
クライアント２０１の現在時刻Ｔ１が、クライアント２０１からサーバ２０２に送信されると、サーバ２０２は時差Ｔｄ＝（Ｔ２−Ｔ１）を算出する。図７の例の場合、−２分５５秒という時差が得られる。ここで、時差の定義としてＴ２、Ｔ１でどちらからどちらを引くかということはあまり問題ではない。逆の場合は以下に説明する時刻修正処理において足し算、引き算が入れ替わるだけである。
【００８０】
つぎに、クライアント２０１側でユーザが指定した検索の条件の期間（時刻範囲）が２００１年４月１１日０８時２３分００秒から２００１年４月１１日１１時１８分００秒までであったとする。
【００８１】
この検索条件は、クライアント２０１内部の時刻発生部１０８に基づく時刻、すなわち言い換えればクライアント２０１側での時刻であって、サーバ２０２内部の時刻発生部１０８に基づく時刻、つまりサーバ２０２側での時刻ではない。一方で、サーバ２０２が保持する各画像７０１〜７０５に関連づけられている時刻はサーバ２０２側の時刻である。したがって、先に算出した時差Ｔｄを用いて、この検索条件の時刻、期間を修正する。すなわち、この条件に対してＴｄを加える処理を行う。
修正前：    ２００１年４月１１日０８時２７分００秒から２００１年４月１１日１１時１８分００秒まで
修正後：    ２００１年４月１１日０８時２４分０５秒から２００１年４月１１日１１時１５分０５秒まで
上記例で説明されるように、検索条件の時刻、期間の修正をステップＳ６０３で行う。
【００８２】
次に、ステップＳ６０４で、この修正後の検索条件を用いて画像を検索する。例えば図７の例においては、修正後の検索条件が２００１年４月１１日０８時２４分０５秒から２００１年４月１１日１１時１５分０５秒までなので、画像７０２、７０３がヒットする。すなわち、サーバ２０２は、サーバ２０２の時刻とクライアント２０１の時刻の時差を考慮して、検索を行う。さらにサーバ２０２はこの検索結果をクライアント２０１に返す（ステップＳ６１４）。なお、ステップＳ６０３での修正を行わない場合、クライアント２０１からの検索要求に対応するのは、７０３、７０４であり、ステップＳ６０３での修正を行ったステップ６０４での検索結果とは異なる。
【００８３】
このサーバ２０２がクライアント２０１に返す検索結果は、少なくとも検索結果の画像の識別子（例えばファイル名など）を含む任意の形式でよい。
【００８４】
図８は、このサーバ２０２がクライアント２０１に返す検索結果の一例を示す図である。
【００８５】
８０１は、例えば図７で説明した検索結果の例である。ここでは例えば画像７０２、７０３の識別子として画像ファイル名がそれぞれｉｍｇ０７０２．ｊｐｇ，ｉｍｇ０７０３．ｊｐｇであるとして例を示している。また、この例では画像の識別子の他に画像に関連付けられた時刻を付与している。例えば８０１の２行目のＴｉｍｅ：の右側にある「２００１０４１１０８２５１２」は、２００１年４月１１日８時２５分１２秒であることを意味している。
【００８６】
８０２は８０１と同じ結果であるが、先に用いたＴｄを用いて検索結果の画像に関連付けられた時刻を修正して返す場合の例である。８０２の場合、サーバ２０２は、ｉｍｇ０７０２．ｊｐｇに関連付けられた時刻を、時差Ｔｄ（−２分５５秒）を用いて修正し、「２００１０４１１０８２８０７」、すなわち２００１年４月１１日８時２８分７秒になっている。
【００８７】
また、８０３は８０２の内容をＸＭＬの形式で記述した例である。８０３において、ｉｍａｇｅタグは個々の検索結果の画像を意味し、その識別子はｈａｎｄｌｅ属性、関連付けられた時刻はｃｒｅａｔｅｄ属性の値として格納されている。ｉｍａｇｅ−ｌｉｓｔｉｎｇタグは、各ｉｍａｇｅタグをまとめるためのものである。
【００８８】
なお、以上の説明では、検索条件の時刻を修正したが、図７の画像７０１〜７０５の時刻を、クライアント２０１とサーバ２０２の時刻の差に応じて変更したリストを作り、クライアント２０１から送られた検索条件に応じて、そのリストの中の検索条件に合う時刻を検索し、対応する画像を検索結果とすることもできる。
【００８９】
この検索結果を受け取ったクライアント２０１は、検索結果をユーザに提示して選択を行う（ステップＳ６０５）。この処理は図３のＳ３０３〜Ｓ３０５に相当する。
【００９０】
さらに、画像の選択を基にクライアント２０１は、画像の送信要求をサーバ２０２に送信する（Ｓ６１５）。すなわち、クライアント２０１は、選択に応じて対応する画像の識別子を検索結果より取り出し、画像の識別子とともに画像送信の要求をサーバ２０２に送信する。
【００９１】
サーバ２０２は画像送信の要求を受け取り、要求内部より画像の識別子を取り出し、識別子を基にデータ保存部１０２より対応する画像を取り出し、クライアント１０１に送信する（Ｓ６１６）。
【００９２】
以上説明したように、クライアント２０１とサーバ２０２の時刻が合致していない場合にも、クライアント２０１を操作するユーザが所望する時刻の画像をサーバ２０２で検索することができる。
【００９３】
本実施形態においては、検索結果として画像の識別子と時刻を返す例を説明したが、この他にも例えば、サムネイル画像を用いてクライアントを操作するユーザは検索結果の画像を概観することができるようにすれば、さらに使い勝手が向上する。
【００９４】
このようにするには、以下の様にすればよい。
【００９５】
サーバ側は、各画像のサムネイル画像データを返し、クライアント側では受け取ったサムネイル画像をユーザに提示して選択させる。
【００９６】
あるいは、クライアントが、受け取った検索結果の各画像の識別子をもとにサーバに対してサムネイル画像を要求し、受け取ったサムネイル画像の一覧を提示しユーザに選択させる。
【００９７】
またあるいは、サーバは、検索結果において画像の識別子と対応するようにサムネイル画像の識別子を付与し、クライアントは、検索結果の各画像に対応付けられたサムネイル画像の識別子を用いてサムネイル画像をサーバに要求して得て、受け取ったサムネイル画像の一覧を提示してユーザに選択させる、などサムネイル画像を容易に得られるように構成するのであっても良い。
【００９８】
以上の説明では、時差による時刻修正処理を全てサーバ側で行ったが、クライアント側で行うことも可能である。
【００９９】
次に、クライアント側で時刻修正処理を行う例を説明する。
【０１００】
図９は、本実施形態でのクライアントとサーバの処理と通信の流れを示す図である。
【０１０１】
クライアント２０１およびサーバ２０２は、それぞれ、コンピュータであるＣＰＵ１０４の制御の元に以下の動作を行う。ＲＡＭ１０６は、このプログラムをＣＰＵ１０４により読み出し可能に記憶した記憶媒体である。また、このプログラムを、不図示のフロッピー（登録商標）ディスク、コンパクトディスクからＲＡＭ１０６に読み込むように構成した場合、この不図示のフロッピー（登録商標）ディスク、コンパクトディスクが、このプログラムをＣＰＵ１０４により読み出し可能に記憶した記憶媒体に相当する。また、このプログラムは、インターネット等の通信媒体を介して、ＲＡＭ１０６に読み込むようにしてもよい。
【０１０２】
クライアント２０１（図２）は、処理を開始するにあたってまずサーバ２０２（図２）に対して時刻の要求を送信する（ステップＳ９１１）。この要求は、クライアント２０１で検索操作が行われたときに、送信してもよいし、クライアント２０１での検索操作とは関係なく、定期的に、あるいは、ランダムなタイミングで、送信してもよい。
【０１０３】
サーバ２０２はクライアント２０１からの時刻送信の要求に応じて時刻発生部１０８より現在の時刻（Ｔ２）を取得して（ステップＳ９０１）、直ちにクライアント２０１に送信する（ステップＳ９１２）。
【０１０４】
サーバ２０２よりの時刻応答を受け取ったクライアント２０１は、時刻発生部１０８より現在の時刻（Ｔ１）を取得し、クライアント２０１とサーバ２０２の時差を算出する（ステップＳ９０２）。なお、図６の形態と同様に、この時差は、クライアント２０１とサーバ２０２の間の時間Ｔ０を考慮して、求めてもよい。
【０１０５】
さらに、ユーザが指定した時刻もしくは期間（時刻の範囲）を、算出した時差を用いて内部的に変換し（ステップＳ９０３）、変換後の時刻もしくは期間を検索条件としてサーバ２０２に検索要求を送信する（ステップＳ９１３）。すなわち、クライアント２０１は、サーバ２０２の時刻とクライアント２０１の時刻の時差を考慮して、検索を要求する。図７の形態と同様の検索条件がユーザにより指定された場合、検索範囲は、「８時２７分００秒から１１時１８分００秒まで」だったものが、時差（−２分５５秒）により、「８時２４分５秒から１１時１５分５秒まで」になる。
【０１０６】
サーバ２０２は受け取った条件を基に画像を検索し（ステップＳ９０４）、検索結果をクライアント２０１に送信する（ステップＳ９１４）。
【０１０７】
クライアント２０１は検索結果をユーザに提示して、その結果を基に所望の画像を指定し（ステップＳ９０５）、画像送信の要求をサーバ２０２に送る（ステップＳ９１５）。この時、サーバが図８の様に画像の識別子の他に各画像に対応付けられた時刻の情報を送信してくる場合、好ましい実施形態では、クライアント２０１は、先に算出した時差（−２分５５秒）を考慮して、画像に対応する時刻を修正して、表示部１０３からユーザに提示する。先の例では、画像７０２の時刻は、８時２５分１２秒が、８時２８分０７秒に、画像７０３の時刻は、８時４８分３７秒が、８時５１分３２秒になる。
【０１０８】
クライアント２０１からの画像送信要求を受け取ったサーバ２０２は、送られてきた要求に書かれた画像の識別子を基にデータ保存部１０２より対応する画像を取り出し、クライアント１０１に送信する（ステップＳ９１６）。
【０１０９】
本実施例の場合、主な時刻変換等の処理をクライアント側で行うので、サーバ側のリソース、たとえばＣＰＵ性能やＲＯＭ，ＲＡＭの領域の大きさに制限がある場合にも適用可能である。
【０１１０】
次に、図６のステップＳ６０２、図９のステップＳ９０２では、サーバ・クライアント間の通信速度が十分に高速で、通信時間は十分に無視できる場合の例を示したが、本実施例はそうでない場合に対応する形態を説明する。
【０１１１】
図１０は、通信時間推定方式の例を示す図である。図１０はサーバ側で通信時間の推定を行う場合の例であるが、クライアント側で行う場合には、図１０においてサーバとクライアントを入れ替えれば良い。
【０１１２】
図１０での処理は、サーバは、まずステップＳ１００１において時刻発生部１０８の現在時刻（Ｔｓ）を取得する。次に、クライアントに対して返答を要求し（ステップＳ１０１１）、要求されたクライアントはサーバに対してＡＣＫを返す（ステップＳ１０１２）。ＡＣＫを受け取ったサーバは再度現在時刻（ＴＥ）を取得する（ステップＳ１００２）。この２つの時刻の差（ＴＥ−Ｔｓ）は、実際にはサーバ側の処理時間やクライアント側の時間を含むものの、ステップＳ１００１、Ｓ１００２の処理が十分に軽く、またサーバ・クライアント間の通信量を小さくすることによって、サーバ・クライアント間一往復に要する通信時間に近似できる。
【０１１３】
サーバ・クライアント間の通信速度が対称であれば、（ＴＥ−Ｔｓ）を２で割ることによりサーバからクライアント、もしくはクライアントからサーバへの通信時間として、図６のステップＳ６０２、図９のステップＳ９０２で説明した時差とともに考慮して時刻の修正処理を行う。
【０１１４】
また、サーバ・クライアント間の通信速度が非対称であっても、その速度比を考慮することによって同様に通信時間が推定できることは自明である。
【０１１５】
さらに、図１０で説明したような処理を複数回行い、その結果を平均などの統計的手法によってさらに通信時間の推定の確度をあげるようにしてもよい。
【０１１６】
図１０で説明したような処理は、例えば図６の例えばＳ６０１の処理の前や、あるいはＳ６０２の後に行うことにより、より検索の精度を向上させることができる。
【０１１７】
図１０の場合、図６とは異なり、サーバ側が主体的に通信を開始するようになっているが、必要であれば図１０による処理を開始するための要求をクライアントがサーバに送信し、サーバはその要求に応じて図１０に示した処理を行うように構成すれば良い。
【０１１８】
以上説明したように、通信時間を推定するための処理を設けることにより、通信が高速でない場合にも、ユーザの意図した検索を行うことが可能となる。
【０１１９】
なお、サーバ、クライアント双方の時刻発生部１０８が保持する時刻値は、この時刻発生部に時刻値を与えて時刻の修正をすることも可能である。
【０１２０】
そのように修正する場合、例えば時刻修正時に修正前の時刻値（Ｔｂｅｆｏｒｅ）と修正に用いる時刻値（Ｔａｆｔｅｒ）より時刻修正の時間差（Ｔａｆｔｅｒ−Ｔｂｅｆｏｒｅ）を算出し、データ保存部１０２にある各画像に対応付けられた時刻値を修正する。このような処理を設けることにより矛盾なく処理を行うことができる。
【０１２１】
このようにすれば、ユーザが装置の時刻を変更した場合においても矛盾なくユーザの意図した検索を行うことが可能となる。
【０１２２】
図９の形態では、クライアント２０１が、サーバ２０２の時刻を取得して、検索条件に含まれる時間を修正したが、サーバ、クライアント間の時差を算出するのではなく、検索条件を相対時刻にすることによって正しく検索を実行する形態を図１１を参照して説明する。
【０１２３】
クライアント２０１およびサーバ２０２は、それぞれ、コンピュータであるＣＰＵ１０４の制御の元に以下の動作を行う。ＲＡＭ１０６は、このプログラムをＣＰＵ１０４により読み出し可能に記憶した記憶媒体である。また、このプログラムを、不図示のフロッピー（登録商標）ディスク、コンパクトディスクからＲＡＭ１０６に読み込むように構成した場合、この不図示のフロッピー（登録商標）ディスク、コンパクトディスクが、このプログラムをＣＰＵ１０４により読み出し可能に記憶した記憶媒体に相当する。また、このプログラムは、インターネット等の通信媒体を介して、ＲＡＭ１０６に読み込むようにしてもよい。
【０１２４】
まず、クライアント２０１は、時刻発生部１０８の現在の時刻（Ｔ１）を取得する（ステップＳ１１０１）。続いて、ユーザが指定した時刻もしくは期間を、時刻Ｔ１を用いて現在の時刻に対する相対時刻に変換し（ステップＳ１１０２）、サーバ２０２に送信する（ステップＳ１１１１）。
【０１２５】
サーバ２０２は、相対時刻による検索リクエストを受け取ると、まず、サーバ２０２の時刻発生部１０８の現在の時刻（Ｔ２）を取得し（ステップＳ１１０３）、時刻Ｔ２を用いて、検索リクエストによって与えられた相対時刻による検索条件を通常の時刻に変換して、画像の検索を行う（ステップＳ１１０４）。
【０１２６】
ここで、図７を参照して説明すると、サーバ２０２は、画像データ７０１〜７０５の時刻を、サーバ２０２の時刻発生部１０８を基準とした相対時刻として記憶している場合には、サーバ２０２は、検索のために、時刻を相対時刻から通常の時刻に変換する必要はない。
【０１２７】
検索結果はサーバ２０２よりクライアント２０１に返される（ステップＳ１１１２）。クライアント２０１は検索結果一覧をユーザに提示して選択させ（ステップＳ１１０５）、選択結果に応じてサーバに画像送信のリクエストを発する（ステップＳ１１１３）。サーバはクライアントの画像送信のリクエストに応じて画像をデータ保存部１０２より取り出し、クライアントに返す（ステップＳ１１１４）。
【０１２８】
検索結果に時刻を含むような場合には、好ましい形態では、検索結果の画像に関連付けられた時刻をサーバ２０２側でＴ２を用いて相対時間に変換してクライアント２０１に返し、結果を受け取ったクライアント側がＴ１を用いて通常の時刻データに戻す。
【０１２９】
本実施形態では、図１１のステップＳ１１０１〜Ｓ１１０５による処理全てを検索毎に行う必要があるで、サーバ・クライアント間の時差算出のための通信処理を省略できる。
【図面の簡単な説明】
【０１３０】
【図１】本発明による画像通信システムを構成する画像通信装置の構成例を示す図である。
【図２】本発明による画像通信システムの構成例を示す図である。
【図３】本発明による第一の実施形態における画像通信システムでのクライアント側でのユーザ操作の処理の流れを示す図である。
【図４】時刻と装置内部での時刻の関係、また時刻の範囲について説明する概念図である。
【図５】時刻範囲指定処理のＧＵＩの例を示す模式図である。
【図６】クライアントとサーバの処理と通信の流れを表す図である。
【図７】サーバ側の時刻修正処理の例を説明する図である。
【図８】検索結果の例を示す図である。
【図９】本発明による第二の実施形態における画像通信システムでのクライアント側でのユーザ操作の処理の流れを示す図である。
【図１０】クライアントとサーバ間の通信時間推定のための通信手順を示す図である。
【図１１】本発明による他の実施形態における画像通信システムでのクライアント側でのユーザ操作の処理の流れを示す図である。
【符号の説明】
【０１３１】
２０１  クライアント
２０２  サーバ
【図１】
2005204348.tif 000003
【図２】
2005204348.tif 000004
【図３】
2005204348.tif 000005
【図４】
2005204348.tif 000006
【図５】
2005204348.tif 000007
【図６】
2005204348.tif 000008
【図７】
2005204348.tif 000009
【図８】
2005204348.tif 000010
【図９】
2005204348.tif 000011
【図１０】
2005204348.tif 000012
【図１１】
2005204348.tif 000013