(57)【特許請求の範囲】
【請求項１】
画像生成装置と、当該画像生成装置に接続されたサーバ装置と、当該サーバ装置に接続されたクライアント装置とを備え、上記クライアント装置から出力された画像取得要求に応じて上記画像生成装置で生成された画像データを上記サーバ装置から上記クライアント装置に送信するように成された画像送信システムであって、
上記画像生成装置は、
上記クライアント装置から上記サーバ装置を経由して送られてくる上記画像取得要求に応じて画像データを生成する画像生成部と、
上記画像生成部により生成された画像データを圧縮して第１の圧縮画像データを生成する第１の画像圧縮部と、
上記第１の画像圧縮部により生成された上記第１の圧縮画像データの同一性を特定可能な特徴量が上記サーバ装置に記憶されているか否かを判定する第１の特徴量判定部と、
上記第１の特徴量判定部により上記第１の圧縮画像データの同一性を特定可能な特徴量が上記サーバ装置に記憶されていないと判定された場合に限り、上記第１の圧縮画像データおよび上記特徴量を上記サーバ装置に送信する第１の送信部とを備え、
上記サーバ装置は、
上記第１の送信部により送信された上記第１の圧縮画像データを記憶する第１の圧縮画像記憶部と、
上記第１の送信部により送信された上記特徴量を第１のリストとして記憶する第１のリスト記憶部と、
上記第１の圧縮画像記憶部に記憶された上記第１の圧縮画像データを圧縮して第２の圧縮画像データを生成する第２の画像圧縮部と、
上記第２の画像圧縮部により生成された上記第２の圧縮画像データの同一性を特定可能な特徴量が上記クライアント装置に記憶されているか否かを判定する第２の特徴量判定部と、
上記第２の特徴量判定部により上記第２の圧縮画像データの同一性を特定可能な特徴量が上記クライアント装置に記憶されていないと判定された場合に限り、上記第２の圧縮画像データおよび上記特徴量を上記クライアント装置に送信する第２の送信部とを備え、
上記クライアント装置は、
上記第２の送信部により送信された上記第２の圧縮画像データを記憶する第２の圧縮画像記憶部と、
上記第２の送信部により送信された上記特徴量を第２のリストとして記憶する第２のリスト記憶部とを備えたことを特徴とする画像送信システム。
【請求項２】
上記画像生成装置は、上記第１の画像圧縮部により生成された上記第１の圧縮画像データに対してハッシュ演算を行い、上記第１の圧縮画像データの同一性を特定可能な特徴量として第１のハッシュ値を算出する第１のハッシュ演算部を更に備え、
上記第１の特徴量判定部は、上記第１のハッシュ演算部により算出された上記第１のハッシュ値が上記サーバ装置に記憶されているか否かを判定し、
上記第１の送信部は、上記第１の特徴量判定部により上記第１のハッシュ値が上記サーバ装置に記憶されていないと判定された場合に限り、上記第１の圧縮画像データおよび上記第１のハッシュ値を上記サーバ装置に送信するようになされ、
上記サーバ装置は、上記第２の画像圧縮部により生成された上記第２の圧縮画像データに対してハッシュ演算を行い、上記第２の圧縮画像データの同一性を特定可能な特徴量として第２のハッシュ値を算出する第２のハッシュ演算部を更に備え、
上記第１のリスト記憶部は、上記第１の送信部により送信された上記第１のハッシュ値を第１のハッシュリストとして記憶し、
上記第２の特徴量判定部は、上記第２の圧縮画像データの同一性を特定可能な特徴量として上記第２のハッシュ値が上記クライアント装置に記憶されているか否かを判定し、
上記第２の送信部は、上記第２の特徴量判定部により上記第２のハッシュ値が上記クライアント装置に記憶されていないと判定された場合に限り、上記第２の圧縮画像データおよび上記第２のハッシュ値を上記クライアント装置に送信するようになされ、
上記クライアント装置の上記第２のリスト記憶部は、上記第２の送信部により送信された上記第２のハッシュ値を第２のハッシュリストとして記憶することを特徴とする請求項１に記載の画像送信システム。
【請求項３】
上記画像生成装置は、上記第１の画像圧縮部により生成された上記第１の圧縮画像データに対してハッシュ演算を行い、上記第１の圧縮画像データの同一性を特定可能な特徴量として第１のハッシュ値を算出する第１のハッシュ演算部を更に備え、
上記第１の特徴量判定部は、上記第１のハッシュ演算部により算出された上記第１のハッシュ値が上記サーバ装置に記憶されているか否かを判定し、
上記第１の送信部は、上記第１の特徴量判定部により上記第１のハッシュ値が上記サーバ装置に記憶されていないと判定された場合に限り、上記第１の圧縮画像データおよび上記第１のハッシュ値を上記サーバ装置に送信するようになされ、
上記サーバ装置の上記第１のリスト記憶部は、上記第１の送信部により送信された上記第１のハッシュ値を第１のハッシュリストとして記憶し、
上記第２の特徴量判定部は、上記第２の圧縮画像データの同一性を特定可能な特徴量として上記第１のハッシュ値が上記クライアント装置に記憶されているか否かを判定し、
上記第２の送信部は、上記第２の特徴量判定部により上記第１のハッシュ値が上記クライアント装置に記憶されていないと判定された場合に限り、上記第２の圧縮画像データおよび上記第１のハッシュ値を上記クライアント装置に送信するようになされ、
上記クライアント装置の上記第２のリスト記憶部は、上記第２の送信部により送信された上記第１のハッシュ値を第２のハッシュリストとして記憶することを特徴とする請求項１に記載の画像送信システム。
【請求項４】
上記サーバ装置は、上記第２の送信部により上記クライアント装置に送信された上記第２のハッシュ値を第３のハッシュリストとして記憶する第３のリスト記憶部を更に備え、
上記第２の特徴量判定部は、上記第３のハッシュリストを参照することにより、上記第２のハッシュ値が上記クライアント装置に記憶されているか否かを判定することを特徴とする請求項２に記載の画像送信システム。
【請求項５】
上記第２の画像圧縮部は、上記第２の圧縮画像データの同一性を特定可能な特徴量として上記第１のハッシュ値が上記クライアント装置に記憶されていないと上記第２の特徴量判定部により判定された場合に限り、上記第１の圧縮画像データを圧縮して第２の圧縮画像データを生成することを特徴とする請求項３に記載の画像送信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像送信システムに関し、特に、クライアント装置から出力された画像取得要求に応じて画像生成装置で生成された画像データをサーバ装置からクライアント装置に送信するように成された画像送信システムに用いて好適なものである。
【背景技術】
【０００２】
従来、クライアント装置とサーバ装置とをインターネット等の通信ネットワークを介して接続し、クライアント装置とサーバ装置との間でデータ通信を行うようになされたシステムが広く提供されている。例えば、クライアント装置からサーバ装置に対して画像取得要求を送信すると、サーバ装置においてこの要求に基づいて画像データを生成し、生成した画像データをクライアント装置に送信して表示させるシステムが存在する。【０００３】
ここで、サーバ装置からクライアント装置に送信される画像データはデータ量が大きいため、通信ネットワークの負荷が重くなり、データ送信に長い時間がかかってしまう。そのため、このデータ送信にかかる時間を短縮することが求められており、そのための技術が種々提供されている。例えば、送信する画像データを圧縮する技術が存在する（例えば、特許文献１参照）。また、ハッシュ値を用いて画像データの送信の有無を制御する技術も存在する（例えば、特許文献２参照）。【０００４】
上記特許文献１，２に記載の技術は何れも、同一の画像データが繰り返し送信される場合があることを考慮して工夫された技術に関するものである。
【特許文献１】特開２００９−２１２７４８号公報
【特許文献２】特開２００７−２０１８６１号公報
【０００５】
すなわち、特許文献１に記載の画像圧縮装置は、サーバ装置より送られた画像情報を受け付け、画像情報の受付頻度を記憶する。ここで、画像圧縮装置は、受け付けた画像情報についてハッシュ演算を行い、ハッシュ値を生成する。そして、ハッシュ保存用ＲＡＭの「ハッシュ値」に同一ハッシュ値が有るか否かを検索し、有ると判別された場合は、当該画像情報を受け付けた回数を示すハッシュ保存用ＲＡＭの「頻度」をカウントアップする。一方、無いと判別された場合は、初めて当該画像情報を受け付けたので、ハッシュ保存用ＲＡＭの「ハッシュ値」に生成されたハッシュ値を記憶し、「頻度」に“１”を記憶する。【０００６】
また、画像圧縮装置は、画像情報を圧縮し、圧縮された圧縮画像情報を記憶し出力する。サーバ装置は、この圧縮画像情報をクライアント装置に送信する。ここで、画像圧縮装置は、サーバ装置より画像情報を受け付けていない間に頻度が多い画像情報に対応する圧縮画像情報を繰り返し圧縮し、再圧縮画像情報として記憶しておく。この画像圧縮装置は、サーバ装置より画像情報を新たに受け付けた際に、その画像情報に対応する再圧縮画像情報を取り出して出力し、サーバ装置はこの再圧縮画像情報をクライアント装置に送信する。【０００７】
また、特許文献２に記載のカメラシステムでは、カメラからサーバに画像ファイルを転送する場合は、予め、両者で重複している画像ファイルの有無を判断する。画像ファイルの一致性を判断する際には、画像ファイルの先頭部分を要約した部分ハッシュ値を算出し、これを比較する。部分ハッシュ値が一致すれば、さらに、画像ファイル全体を要約した全ハッシュ値を算出し、これを比較する。部分ハッシュ値および全ハッシュ値の全てが一致する画像ファイルは同一ファイルと判断する。一方、いずれか一つが不一致の画像ファイルは別ファイルと判断し、当該画像ファイルの送信をカメラに要求する。【０００８】
ところで、近年では従来型の携帯電話に代わり、スマートフォン（スマホ）が急速に普及している。ユーザにとって、様々なアプリケーション（以下、スマホアプリという）を自由にダウンロードして利用できることがスマホの魅力の１つとなっている。【０００９】
しかしながら、スマホに搭載されるＯＳは、Android（登録商標）やiPhone iOS（iPhoneは登録商標）、BlackBerry OS（BlackBerryは登録商標）、Windows Phone 8（Windows Phoneは登録商標）など多種多様であり、以前に比べて機種も多数に増えてきている。このような環境は、スマホアプリの開発や検証に携わる業者にとっては悩みの種となっている。次々と機種が発売される度に全てを購入していては費用が掛かり過ぎるからである。【００１０】
このような実情に鑑みて、スマホのレンタルサービスが提供されている。レンタルの形態としては、スマホの実機をアプリ開発業者に貸し出すタイプや、レンタルルーム内でスマホを利用できるようにしたタイプの他、インターネットを経由してリモートアクセスすることによってスマホを利用できるようにしたタイプ（リモートレンタルサービス）も存在する。【００１１】
リモートレンタルサービスでは、所望のスマホアプリを指定してスマホにリモートインストールし、各種のコマンド実行やデバッグなどのリモート操作を行う機能が提供されている。リモート操作によって実行可能な機能の１つとして、スマホでカメラ撮影を行い、その撮影画像を送信する機能が提供されている。この機能を利用することで、撮影が問題なく行われているか否かを検証することが可能である。また、リモート操作によってスマホの画面を遷移させ、各画面のキャプチャ画像を取得して送信する機能も提供されている。この機能を利用することで、画面遷移が問題なく行われているか否か、スマホアプリが正常に動作しているか否かなどを検証することが可能である。【００１２】
このようなリモートレンタルサービスを提供する場合、各ＯＳおよび各機種に対応する多数のスマホと、これらのスマホと無線または有線で接続されるサーバ装置とを備え、スマホで生成された画像データをサーバ装置からインターネットを経由してクライアント装置に送信する必要がある。この場合、クライアント装置においてスマホの画像取得に関するリモート操作を行ったときに、該当する画像データがサーバ装置から送られてくるまでのレスポンス時間を短くすることが望まれる。
【発明の開示】
【００１３】
本発明は、このような実情に鑑みて成されたものであり、スマホのような画像生成装置で生成された画像データをサーバ装置からクライアント装置に送信するシステムにおいて、クライアント装置が画像取得要求を出してから画像データを取得するまでのレスポンス時間をできるだけ短くすることができるようにすることを目的とする。
【００１４】
上記した課題を解決するために、本発明では、画像生成装置において第１の圧縮画像データを生成し、当該第１の圧縮画像データの同一性を特定可能な特徴量がサーバ装置に記憶されているか否かを判定して、記憶されていない場合に限り、第１の圧縮画像データおよび特徴量をサーバ装置に送信して記憶させるようにしている。これに加えて、本発明では、サーバ装置において、第１の圧縮画像データから第２の圧縮画像記憶部を生成し、当該第２の圧縮画像データの同一性を特定可能な特徴量がクライアント装置に記憶されているか否かを判定して、記憶されていない場合に限り、第２の圧縮画像データおよび特徴量をクライアント装置に送信して記憶させるようにしている。
【００１５】
上記のように構成した本発明によれば、画像生成装置からサーバ装置に一度送られた画像データの取得が再び要求されている場合は、特徴量を用いた判定により、当該画像データが画像生成装置からサーバ装置に再び送られることはない。同様に、サーバ装置からクライアント装置に一度送られた画像データの取得が再び要求されている場合は、特徴量を用いた判定により、当該画像データがサーバ装置からクライアント装置に再び送られることはない。これにより、画像生成装置とサーバ装置との間およびサーバ装置とクライアント装置との間の２段階にわたり、同じ画像データが繰り替えし送信される無駄を省き、データ送信にかかる時間を省略することができる。
【００１６】
また、本発明によれば、画像生成装置およびサーバ装置の２段階にわたって画像データの圧縮が行われるので、仮に画像データの送信が行われる場合でも、送信する画像データのデータ量を大幅に削減することができ、これによってデータ送信にかかる時間を短縮することができる。以上のように、画像データの送信の有無を決定する処理と、画像データの圧縮処理とがそれぞれ２段階にわたって行われることにより、クライアント装置が画像取得要求を出してから画像データを取得するまでのレスポンス時間をできるだけ短くすることができる。
【図面の簡単な説明】
【００１７】
【図１】本実施形態による画像送信システムの全体構成例を示す図である。
【図２】本実施形態によるスマホ（画像生成装置）の機能構成例を示すブロック図である。
【図３】本実施形態によるサーバ装置の機能構成例を示すブロック図である。
【図４】本実施形態によるクライアント装置の機能構成例を示すブロック図である。
【図５】本実施形態による画像送信システムの動作例を示すフローチャートである。
【図６】本実施形態によるサーバ装置の他の機能構成例を示すブロック図である。
【図７】本実施形態によるサーバ装置の他の機能構成例を示すブロック図である。
【図８】本実施形態によるサーバ装置の他の機能構成例を示すブロック図である。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の一実施形態を図面に基づいて説明する。図１は、本実施形態による画像送信システムの全体構成例を示す図である。図１に示すように、本実施形態の画像送信システムは、画像生成装置１０と、当該画像生成装置１０にローカルエリアネットワーク（ＬＡＮ）で接続されたサーバ装置２０と、当該サーバ装置２０にインターネット４０等のワイドエリアネットワーク（ＷＡＮ）で接続されたクライアント装置３０とを備えて構成されている。【００１９】
画像生成装置１０は、例えばスマートフォン（スマホ）により構成される。スマホ１０は、カメラ撮影を行う機能、表示中の画面をキャプチャする機能を有しており、これらの機能を用いて画像データを生成することが可能である。本実施形態の画像送信システムは、クライアント装置３０から出力された画像取得要求に応じてスマホ１０でカメラ撮影や画面キャプチャを行い、これによって生成された画像データをサーバ装置２０からクライアント装置３０に送信するように成されている。【００２０】
ここで、スマホ１０におけるカメラ撮影や画面キャプチャは、クライアント装置３０から出力される１回の画像取得要求に対して１回だけ行うようにしてもよいし、１回の画像取得要求に対して複数回連続して行うようにしてもよい。後者の場合、サーバ装置２０は、クライアント装置３０からの１回の画像取得要求に応じて、スマホ１０で生成された複数の画像データを順次クライアント装置３０に送信する。【００２１】
１回の画像取得要求に対して複数の画像データを送信する場合、画像取得要求で示される所定数の画像データの送信が終わった時点で処理を終了するようにしてもよいし、次に処理停止命令がクライアント装置３０から出力されるまで処理を継続するようにしてもよい。あるいは、サーバ装置２０とクライアント装置３０とのコネクションが切断されるまで処理を継続するようにしてもよい。【００２２】
なお、スマホ１０とサーバ装置２０との間の接続は簡略化して示しているが、この間はＬＡＮケーブルやＵＳＢケーブル等によって接続されている。あるいは、スマホ１０とサーバ装置２０との間に無線アクセスポイントを設けて、スマホ１０と無線アクセスポイントとの間を無線で接続するようにしてもよい。本実施形態では、スマホ１０とサーバ装置２０との接続形態を限定するものではない。【００２３】
本実施形態の画像送信システムは、スマホ１０のリモートレンタルサービスに利用することが可能である。この場合、実際にはサーバ装置２０に対して複数のスマホ１０が接続されている。また、サーバ装置２０は、インターネット４０上にある任意のクライアント装置３０からアクセスが行われて接続される。すなわち、任意のクライアント装置３０と任意のスマホ１０との間がサーバ装置２０を介して接続される。【００２４】
図２は、本実施形態によるスマホ１０の機能構成例を示すブロック図である。図２に示すように、本実施形態のスマホ１０は、その機能構成として、通信Ｉ／Ｆ部１１、要求受信部１２、画像生成部１３、第１の画像圧縮部１４、第１のハッシュ演算部１５、第１の特徴量判定部１６および第１の送信部１７を備えて構成されている。【００２５】
上記各機能ブロック１１〜１７は、ハードウェア、ＤＳＰ（Digital Signal Processor）、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック１１〜１７は、実際にはコンピュータのＣＰＵ、ＲＡＭ、ＲＯＭなどを備えて構成され、ＲＡＭやＲＯＭ、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。【００２６】
通信Ｉ／Ｆ部１１は、サーバ装置２０との間で通信を行うものである。要求受信部１２は、クライアント装置３０からインターネット４０およびサーバ装置２０を介して送られてきた画像取得要求を受信する。この画像取得要求は、例えば、スマホ１０のカメラ撮影を行ってその撮影画像を取得することを要求するリモート操作信号である。あるいは、スマホ１０の画面を遷移させて、遷移させた画面のキャプチャ画像を取得することを要求するリモート操作信号である。【００２７】
画像生成部１３は、要求受信部１２にて受信した画像取得要求に応じて、カメラ撮影や画面キャプチャを行うことによって画像データを生成する。第１の画像圧縮部１４は、画像生成部１３により生成された画像データを圧縮して第１の圧縮画像データを生成する。【００２８】
本実施形態のように画像送信システムをスマホ１０のリモートレンタルサービスに利用する場合、画像圧縮は、スマホ１０が通常装備している機能を用いて行うのが好ましい。また、スマホ１０はサーバ装置２０に比べて処理能力の点で劣るので、処理負荷が比較的小さい方式で画像圧縮を行うのが好ましい。例えば、第１の画像圧縮部１４は、ＪＰＥＧの方式によって画像データを圧縮する。【００２９】
また、順次画面遷移した画像をキャプチャしていく場合、特に、特定のコマンドをスマホ１０に実行させて画面遷移した画像をキャプチャする場合、遷移前後で画面内の一部のみが変化し、その他の部分は変わらないことがある。そこで、第１の画像圧縮部１４は、画面遷移後のキャプチャ画像を圧縮する際に、画面遷移前の画像データとの差分を抽出し、その差分データのみをＪＰＥＧで圧縮するようにしてもよい。【００３０】
第１のハッシュ演算部１５は、第１の画像圧縮部１４により生成された第１の圧縮画像データに対してハッシュ演算を行い、第１の圧縮画像データの同一性を特定可能な特徴量として、第１のハッシュ値を算出する。なお、ハッシュ演算そのものに関しては、公知の手法を適用することが可能である。【００３１】
第１の特徴量判定部１６は、第１のハッシュ演算部１５により算出された第１のハッシュ値がサーバ装置２０に記憶されているか否かを判定する。具体的には、第１の特徴量判定部１６は、第１のハッシュ演算部１５により算出された第１のハッシュ値を、通信Ｉ／Ｆ部１１を介してサーバ装置２０に送信し、それと同じハッシュ値がサーバ装置２０に記憶されているかを問い合わせる。そして、その結果としてサーバ装置２０から送られてくる応答内容に基づいて、第１のハッシュ値がサーバ装置２０に記憶されているか否かを判定する。そして、その判定結果を第１の送信部１７に通知する。【００３２】
第１の送信部１７は、第１の特徴量判定部１６により第１のハッシュ値がサーバ装置２０に記憶されていないと判定された場合に限り、第１の圧縮画像データおよび第１のハッシュ値を、通信Ｉ／Ｆ部１１を介してサーバ装置２０に送信する。なお、第１の特徴量判定部１６による問い合わせの際に既に第１のハッシュ値は送信されているので、第１の圧縮画像データのみを追加で送信するようにしてもよい。【００３３】
図３は、本実施形態によるサーバ装置２０の機能構成例を示すブロック図である。図３に示すように、本実施形態のサーバ装置２０は、その機能構成として、通信Ｉ／Ｆ部２１、第１の圧縮画像記憶部２２、第１のリスト記憶部２３、第１の問い合わせ応答部２４、第１の受信部２５、第２の画像圧縮部２６、第２のハッシュ演算部２７、第２の特徴量判定部２８および第２の送信部２９を備えて構成されている。【００３４】
上記各機能ブロック２１，２４〜２９は、ハードウェア、ＤＳＰ、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック２１，２４〜２９は、実際にはコンピュータのＣＰＵ、ＲＡＭ、ＲＯＭなどを備えて構成され、ＲＡＭやＲＯＭ、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。【００３５】
通信Ｉ／Ｆ部２１は、スマホ１０およびクライアント装置３０との間で通信を行うものである。第１の圧縮画像記憶部２２は、スマホ１０の第１の送信部１７により送信された第１の圧縮画像データを記憶する。第１のリスト記憶部２３は、第１の送信部１７により送信された第１のハッシュ値を第１のハッシュリストとして記憶する。【００３６】
第１の問い合わせ応答部２４は、スマホ１０の第１の特徴量判定部１６から送信されてくる問い合わせに対して応答する処理を行う。すなわち、第１の問い合わせ応答部２４は、第１の特徴量判定部１６から送信されてくる第１のハッシュ値を受信し、これが第１のリスト記憶部２３に既に記憶されているかどうかを確認する。そして、記憶されているか否かの確認結果をスマホ１０の第１の特徴量判定部１６に返信する。また、第１の問い合わせ応答部２４は、この確認結果を第２の画像圧縮部２６に通知する。【００３７】
第１の受信部２５は、スマホ１０の第１の送信部１７から送信されてくる第１の圧縮画像データおよび第１のハッシュ値を受信する。そして、第１の受信部２５は、第１の圧縮画像データを第１の圧縮画像記憶部２２に記憶させるとともに、第１のハッシュ値を第１のリスト記憶部２３に記憶させる。このとき、第１の圧縮画像データと第１のハッシュ値との関連付けが分かるような形態で記憶させる。【００３８】
第２の画像圧縮部２６は、第１の圧縮画像記憶部２２に記憶された第１の圧縮画像データを圧縮して第２の圧縮画像データを生成する。具体的には、第２の画像圧縮部２６は、第１の問い合わせ応答部２４から通知される確認結果の内容に応じて、第１の圧縮画像記憶部２２から該当する第１の圧縮画像データを読み出して圧縮処理を行う。【００３９】
すなわち、スマホ１０の第１の特徴量判定部１６から送られてきた第１のハッシュ値が第１のリスト記憶部２３に記憶されていないことが第１の問い合わせ応答部２４により確認された場合、その後すぐにスマホ１０の第１の送信部１７から第１の圧縮画像データおよび第１のハッシュ値が送信されてきて、それが第１の圧縮画像記憶部２２および第１のリスト記憶部２３に記憶される。この場合、第２の画像圧縮部２６は、第１の圧縮画像記憶部２２に新たに記憶された第１の圧縮画像データを圧縮して第２の圧縮画像データを生成する。なお、第２の画像圧縮部２６は、第１の受信部２５により受信された第１の圧縮画像データを直接取得して圧縮処理を行うようにしてもよい。【００４０】
一方、スマホ１０の第１の特徴量判定部１６から送られてきた第１のハッシュ値が第１のリスト記憶部２３に既に記憶されていることが第１の問い合わせ応答部２４により確認された場合は、その第１のハッシュ値に対応する第１の圧縮画像データが既に第１の圧縮画像記憶部２２に記憶されているということである。この場合、第２の画像圧縮部２６は、その第１のハッシュ値に関連付けて第１の圧縮画像記憶部２２に記憶されている第１の圧縮画像データを読み出して、読み出した第１の圧縮画像データを圧縮して第２の圧縮画像データを生成する。【００４１】
ここで、サーバ装置２０は、スマホ１０に比べて高い処理能力を有している。そこで、第２の画像圧縮部２６は、ＪＰＥＧに比べて圧縮率の高い方式で第１の圧縮画像データを圧縮することが可能であり、そのようにするのが好ましい。例えば、第２の画像圧縮部２６は、ＪＰＥＧ２０００やＷｅｂＰ、ＨＥＶＣ−ＭＳＰなどの方式によって第１の圧縮画像データをさらに圧縮する。【００４２】
第２のハッシュ演算部２７は、第２の画像圧縮部２６により生成された第２の圧縮画像データに対してハッシュ演算を行い、第２の圧縮画像データの同一性を特定可能な特徴量として、第２のハッシュ値を算出する。なお、この場合のハッシュ演算そのものに関しても、公知の手法を適用することが可能である。【００４３】
第２の特徴量判定部２８は、第２のハッシュ演算部２７により算出された第２のハッシュ値がクライアント装置３０に記憶されているか否かを判定する。具体的には、第２の特徴量判定部２８は、第２のハッシュ演算部２７により算出された第２のハッシュ値を、通信Ｉ／Ｆ部２１を介してクライアント装置３０に送信し、それと同じハッシュ値がクライアント装置３０に記憶されているかを問い合わせる。そして、その結果としてクライアント装置３０から送られてくる応答内容に基づいて、第２のハッシュ値がクライアント装置３０に記憶されているか否かを判定する。【００４４】
第２の送信部２９は、第２の特徴量判定部２８により第２のハッシュ値がクライアント装置３０に記憶されていないと判定された場合に限り、第２の圧縮画像データおよび第２のハッシュ値を、通信Ｉ／Ｆ部２１を介してクライアント装置３０に送信する。なお、第２の特徴量判定部２８による問い合わせの際に既に第２のハッシュ値は送信されているので、第２の圧縮画像データのみを追加で送信するようにしてもよい。【００４５】
図４は、本実施形態によるクライアント装置３０の機能構成例を示すブロック図である。図４に示すように、本実施形態のクライアント装置３０は、その機能構成として、通信Ｉ／Ｆ部３１、第２の圧縮画像記憶部３２、第２のリスト記憶部３３、要求送信部３４、第２の問い合わせ応答部３５、第２の受信部３６および画像表示部３７を備えて構成されている。【００４６】
上記各機能ブロック３１，３４〜３７は、ハードウェア、ＤＳＰ、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック３１，３４〜３７は、実際にはコンピュータのＣＰＵ、ＲＡＭ、ＲＯＭなどを備えて構成され、ＲＡＭやＲＯＭ、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。【００４７】
通信Ｉ／Ｆ部３１は、サーバ装置２０との間で通信を行うものである。第２の圧縮画像記憶部３２は、サーバ装置２０の第２の送信部２９により送信された第２の圧縮画像データを記憶する。第２のリスト記憶部３３は、第２の送信部２９により送信された第２のハッシュ値を第２のハッシュリストとして記憶する。【００４８】
要求送信部３４は、上述した画像取得要求を、インターネット４０およびサーバ装置２０を介してスマホ１０に送信する。第２の問い合わせ応答部３５は、サーバ装置２０の第２の特徴量判定部２８から送信されてくる問い合わせに対して応答する処理を行う。すなわち、第２の問い合わせ応答部３５は、第２の特徴量判定部２８から送信されてくる第２のハッシュ値を受信し、これが第２のリスト記憶部３３に既に記憶されているかどうかを確認する。そして、記憶されているか否かの確認結果をサーバ装置２０の第２の特徴量判定部２８に返信する。また、第２の問い合わせ応答部３５は、この確認結果を画像表示部３７に通知する。【００４９】
第２の受信部３６は、サーバ装置２０の第２の送信部２９から送信されてくる第２の圧縮画像データおよび第２のハッシュ値を受信する。そして、第２の受信部３６は、第２の圧縮画像データを第２の圧縮画像記憶部３２に記憶させるとともに、第２のハッシュ値を第２のリスト記憶部３３に記憶させる。このとき、第２の圧縮画像データと第２のハッシュ値との関連付けが分かるような形態で記憶させる。【００５０】
画像表示部３７は、第２の圧縮画像記憶部３２に記憶された第２の圧縮画像データをクライアント装置３０の画面上に表示させる。具体的には、画像表示部３７は、第２の問い合わせ応答部３５から通知される確認結果の内容に応じて、第２の圧縮画像記憶部３２から該当する第２の圧縮画像データを読み出して表示処理を行う。【００５１】
すなわち、サーバ装置２０の第２の特徴量判定部２８から送られてきた第２のハッシュ値が第２のリスト記憶部３３に記憶されていないことが第２の問い合わせ応答部３５により確認された場合、その後すぐにサーバ装置２０の第２の送信部２９から第２の圧縮画像データおよび第２のハッシュ値が送信されてきて、それが第２の圧縮画像記憶部３２および第２のリスト記憶部３３に記憶される。この場合、画像表示部３７は、第２の圧縮画像記憶部３２に新たに記憶された第２の圧縮画像データを画面上に表示させる。なお、画像表示部３７は、第２の受信部３６により受信された第２の圧縮画像データを直接取得して表示処理を行うようにしてもよい。【００５２】
一方、サーバ装置２０の第２の特徴量判定部２８から送られてきた第２のハッシュ値が第２のリスト記憶部３３に既に記憶されていることが第２の問い合わせ応答部３５により確認された場合は、その第２のハッシュ値に対応する第２の圧縮画像データが既に第２の圧縮画像記憶部３２に記憶されているということである。この場合、画像表示部３７は、その第２のハッシュ値に関連付けて第２の圧縮画像記憶部３２に記憶されている第２の圧縮画像データを読み出して、読み出した第２の圧縮画像データを画面上に表示させる。【００５３】
図５は、以上のように構成した本実施形態による画像送信システムの動作例を示すフローチャートである。まず、クライアント装置３０の要求送信部３４は、インターネット４０およびサーバ装置２０を介してスマホ１０に画像取得要求を送信する（ステップＳ１）。スマホ１０では、この画像取得要求を要求受信部１２にて受信すると、画像生成部１３が画像取得要求に応じた画像データを生成する（ステップＳ２）。【００５４】
次に、第１の画像圧縮部１４は、画像生成部１３により生成された画像データを圧縮して第１の圧縮画像データを生成する（ステップＳ３）。また、第１のハッシュ演算部１５は、第１の画像圧縮部１４により生成された第１の圧縮画像データに対してハッシュ演算を行い、第１のハッシュ値を算出する（ステップＳ４）。【００５５】
第１の特徴量判定部１６は、第１のハッシュ演算部１５により算出された第１のハッシュ値をサーバ装置２０に送信し、それと同じハッシュ値がサーバ装置２０に既に記憶されているかを問い合わせる（ステップＳ５）。サーバ装置２０の第１の問い合わせ応答部２４は、スマホ１０から受信した第１のハッシュ値が第１のリスト記憶部２３に既に記憶されているかどうかを確認する（ステップＳ６）。【００５６】
ここで、第１のハッシュ値が第１のリスト記憶部２３に記憶されている場合、第１の問い合わせ応答部２４は、第１のハッシュ値が第１のリスト記憶部２３に記憶されていることを、問い合わせに対する確認結果としてスマホ１０の第１の特徴量判定部１６に返信するとともに、第２の画像圧縮部２６に通知する（ステップＳ７）。その後、処理はステップＳ１３に遷移する。【００５７】
一方、第１のハッシュ値が第１のリスト記憶部２３に記憶されていない場合、第１の問い合わせ応答部２４は、第１のハッシュ値が第１のリスト記憶部２３に記憶されていないことを、問い合わせに対する確認結果としてスマホ１０の第１の特徴量判定部１６に返信するとともに、第２の画像圧縮部２６に通知する（ステップＳ８）。【００５８】
サーバ装置２０から問い合わせに対する応答を受け取ったスマホ１０では、第１の特徴量判定部１６が、その応答内容に基づいて、第１のハッシュ値がサーバ装置２０に記憶されているか否かを判定する（ステップＳ９）。ここで、第１のハッシュ値がサーバ装置２０に記憶されていると第１の特徴量判定部１６にて判定された場合、その後は特に何もせずに、スマホ１０における処理を終了する。【００５９】
一方、第１のハッシュ値がサーバ装置２０に記憶されていないと第１の特徴量判定部１６にて判定された場合、第１の送信部１７は、第１の圧縮画像データおよび第１のハッシュ値をサーバ装置２０に送信する（ステップＳ１０）。これにより、スマホ１０における処理を終了する。【００６０】
サーバ装置２０では、上記ステップＳ８において記憶無しの応答を行った後、第１の受信部２５は、スマホ１０から送信されてくる第１の圧縮画像データおよび第１のハッシュ値を受信する（ステップＳ１１）。そして、第１の受信部２５は、第１の圧縮画像データを第１の圧縮画像記憶部２２に記憶させるとともに、第１のハッシュ値を第１のリスト記憶部２３に記憶させる（ステップＳ１２）。【００６１】
次に、第２の画像圧縮部２６は、ステップＳ１２で第１の圧縮画像記憶部２２に新たに記憶された第１の圧縮画像データを圧縮して第２の圧縮画像データを生成する（ステップＳ１３）。なお、ステップＳ７からステップＳ１３に遷移した場合、第２の画像圧縮部２６は、スマホ１０から第１の圧縮画像データが送られてくるのを待つことなく、スマホ１０の第１の特徴量判定部１６から問い合わせられた第１のハッシュ値に関連付けて第１の圧縮画像記憶部２２に記憶されている第１の圧縮画像データを読み出して、読み出した第１の圧縮画像データを圧縮して第２の圧縮画像データを生成する。【００６２】
第２のハッシュ演算部２７は、第２の画像圧縮部２６により生成された第２の圧縮画像データに対してハッシュ演算を行い、第２のハッシュ値を算出する（ステップＳ１４）。そして、第２の特徴量判定部２８は、第２のハッシュ演算部２７により算出された第２のハッシュ値をクライアント装置３０に送信し、それと同じハッシュ値がクライアント装置３０に既に記憶されているかを問い合わせる（ステップＳ１５）。【００６３】
クライアント装置３０の第２の問い合わせ応答部３５は、サーバ装置２０から受信した第２のハッシュ値が第２のリスト記憶部３３に既に記憶されているかどうかを確認する（ステップＳ１６）。ここで、第２のハッシュ値が第２のリスト記憶部３３に記憶されている場合、第２の問い合わせ応答部３５は、第２のハッシュ値が第２のリスト記憶部３３に記憶されていることをサーバ装置２０の第２の特徴量判定部２８に返信するとともに、画像表示部３７に通知する（ステップＳ１７）。その後、処理はステップＳ２３に遷移する。【００６４】
一方、第２のハッシュ値が第２のリスト記憶部３３に記憶されていない場合、第２の問い合わせ応答部３５は、第２のハッシュ値が第２のリスト記憶部３３に記憶されていないことをサーバ装置２０の第２の特徴量判定部２８に返信するとともに、画像表示部３７に通知する（ステップＳ１８）。【００６５】
クライアント装置３０から問い合わせに対する応答を受け取ったサーバ装置２０では、第２の特徴量判定部２８が、その応答内容に基づいて、第２のハッシュ値がクライアント装置３０に記憶されているか否かを判定する（ステップＳ１９）。ここで、第２のハッシュ値がクライアント装置３０に記憶されていると第２の特徴量判定部２８にて判定された場合、その後は特に何もせずに、サーバ装置２０における処理を終了する。【００６６】
一方、第２のハッシュ値がクライアント装置３０に記憶されていないと第２の特徴量判定部２８にて判定された場合、第２の送信部２９は、第２の圧縮画像データおよび第２のハッシュ値をクライアント装置３０に送信する（ステップＳ２０）。これにより、サーバ装置２０における処理を終了する。【００６７】
クライアント装置３０では、上記ステップＳ１８において記憶無しの応答を行った後、第２の受信部３６は、サーバ装置２０から送信されてくる第２の圧縮画像データおよび第２のハッシュ値を受信する（ステップＳ２１）。そして、第２の受信部３６は、第２の圧縮画像データを第２の圧縮画像記憶部３２に記憶させるとともに、第２のハッシュ値を第２のリスト記憶部３３に記憶させる（ステップＳ２２）。【００６８】
次に、画像表示部３７は、ステップＳ２２で第２の圧縮画像記憶部３２に新たに記憶された第２の圧縮画像データをクライアント装置３０の画面上に表示させる（ステップＳ２３）。なお、ステップＳ１７からステップＳ２３に遷移した場合、画像表示部３７は、サーバ装置２０から第２の圧縮画像データが送られてくるのを待つことなく、サーバ装置２０の第２の特徴量判定部２８から問い合わせられた第２のハッシュ値に関連付けて第２の圧縮画像記憶部３２に記憶されている第２の圧縮画像データを読み出して、読み出した第２の圧縮画像データを画面上に表示させる。これにより、図５に示すフローチャートの処理を終了する。【００６９】
以上詳しく説明したように、本実施形態の画像送信システムによれば、クライアント装置３０からの画像取得要求に応じてスマホ１０にて生成された第１の圧縮画像データが、それより前の時点でスマホ１０からサーバ装置２０に既に送信されて第１の圧縮画像記憶部２２に記憶されている場合は、第１のハッシュ値を用いた判定結果に基づいて、当該第１の圧縮画像データがスマホ１０からサーバ装置２０に再び送られることはない。【００７０】
同様に、クライアント装置３０からの画像取得要求に応じてサーバ装置２０にて生成された第２の圧縮画像データが、それより前の時点でサーバ装置２０からクライアント装置３０に既に送信されて第２の圧縮画像記憶部３２に記憶されている場合は、第２のハッシュ値を用いた判定結果に基づいて、当該第２の圧縮画像データがサーバ装置２０からクライアント装置３０に再び送られることはない。【００７１】
これにより、スマホ１０とサーバ装置２０との間およびサーバ装置２０とクライアント装置３０との間の２段階にわたり、同じ画像データが繰り替えし送信される無駄を省き、データ送信にかかる時間を省略することができる。例えば、同じクライアント装置３０から以前と同じ画像データの取得要求を行った場合には、スマホ１０とサーバ装置２０との間およびサーバ装置２０とクライアント装置３０との間の両方において、同じ画像データが繰り替えし送信される無駄を省くことができる。【００７２】
本実施形態では、画像送信システムをスマホ１０のリモートレンタルサービスに利用することを想定しているので、あるクライアント装置３０があるスマホ１０からある画像データを取得した後、別のクライアント装置３０からそれと同じ画像データの取得要求を行う場合もあり得る。この場合には、スマホ１０とサーバ装置２０との間において、同じ画像データが繰り替えし送信される無駄を省くことができる。これにより、別のクライアント装置３０がスマホ１０から始めて取得する画像データであっても、スマホ１０とサーバ装置２０との間における画像データの送信を省略して、そのデータ送信にかかる時間分を短縮することができる。【００７３】
また、あるクライアント装置３０があるスマホ１０からある画像データを取得した後、同じクライアント装置３０からそれと同じ画像データの取得要求を別のスマホ１０に対して行う場合もあり得る。この場合には、スマホ１０とサーバ装置２０との間およびサーバ装置２０とクライアント装置３０との間の両方において、同じ画像データが繰り替えし送信される無駄を省くことができる。これにより、クライアント装置３０が別のスマホ１０から始めて取得する画像データであっても、その別のスマホ１０とクライアント装置３０との間における２段階の画像データの送信を省略し、そのデータ送信にかかる時間分を短縮することができる。【００７４】
また、本実施形態の画像送信システムによれば、スマホ１０およびサーバ装置２０の２段階にわたって画像データの圧縮が行われるので、仮に画像データの送信が行われる場合でも、送信する画像データのデータ量を大幅に削減することができ、これによってデータ送信にかかる時間を短縮することができる。【００７５】
以上のように、本実施形態の画像送信システムによれば、画像データの送信の有無を決定する処理と、画像データの圧縮処理とがそれぞれ２段階にわたって行われることにより、クライアント装置３０がスマホ１０に対して画像取得要求を出してから画像データを取得するまでのレスポンス時間をできるだけ短くすることができる。【００７６】
なお、上記実施形態では、第２の圧縮画像データの同一性を特定可能な特徴量として第２のハッシュ値を用いる例について説明したが、第１のハッシュ値を用いるようにしてもよい。この場合、サーバ装置２０の第２のハッシュ演算部２７を省略し、クライアント装置３０がスマホ１０に対して画像取得要求を出してから画像データを取得するまでのレスポンス時間に関して、第２のハッシュ値を演算する時間分を更に短縮することができる。【００７７】
図６は、この場合におけるサーバ装置２０の機能構成例を示すブロック図である。図６の構成例において、サーバ装置２０の第２の特徴量判定部２８’は、第２の圧縮画像データの同一性を特定可能な特徴量として第１のハッシュ値がクライアント装置３０に記憶されているか否かを判定する。この判定に用いる第１のハッシュ値は、第２の圧縮画像データの生成元である第１の圧縮画像データに関連付けて第１のリスト記憶部２３に記憶されているものである。【００７８】
そして、第２の送信部２９’は、第２の特徴量判定部２８’により第１のハッシュ値がクライアント装置３０に記憶されていないと判定された場合に限り、第２の圧縮画像データおよび第１のハッシュ値をクライアント装置３０に送信する。また、クライアント装置３０の第２のリスト記憶部３３は、サーバ装置２０の第２の送信部２９’により送信された第１のハッシュ値を第２のハッシュリストとして記憶する。【００７９】
また、上記実施形態では、サーバ装置２０の第２の特徴量判定部２８がクライアント装置３０に問い合わせを行うことによって第２のハッシュ値がクライアント装置３０に既に記憶されているか否かを判定する例について説明したが、本発明はこれに限定されない。例えば、クライアント装置３０に問い合わせを行うことなく、サーバ装置２０の内部処理によって第２のハッシュ値がクライアント装置３０に既に記憶されているか否かを判定するようにしてもよい。【００８０】
図７は、この場合におけるサーバ装置２０の機能構成例を示すブロック図である。図７の構成例において、サーバ装置２０は、第２の送信部２９によりクライアント装置３０に送信された第２のハッシュ値を第３のハッシュリストとして記憶する第３のリスト記憶部２０１を更に備える。つまり、サーバ装置２０は、クライアント装置３０の第２のリスト記憶部３３と同じ第２のハッシュ値のリストを記憶した第３のリスト記憶部２０１を備えている。【００８１】
第２の特徴量判定部２８”は、第３のリスト記憶部２０１に記憶された第３のハッシュリストを参照することにより、第２のハッシュ値がクライアント装置３０に記憶されているか否かを判定する。この図７のように構成すれば、サーバ装置２０がクライアント装置３０に問い合わせを行うための通信時間を省略することができるので、クライアント装置３０がスマホ１０に対して画像取得要求を出してから画像データを取得するまでのレスポンス時間を更に短くすることができる。【００８２】
なお、これと同様に、スマホ１０がサーバ装置２０に問い合わせを行うことなく、スマホ１０の内部処理によって第１のハッシュ値がサーバ装置２０に既に記憶されているか否かを判定するようにしてもよい。ただし、第１のハッシュ値がサーバ装置２０に既に記憶されているか否かの判定に関しては、スマホ１０からサーバ装置２０への問い合わせによって行うのが好ましい。その理由は以下の通りである。【００８３】
すなわち、スマホ１０とサーバ装置２０との間はケーブルで接続されているのに対し、サーバ装置２０とクライアント装置３０との間はインターネット４０で接続されている。そのため、問い合わせにかかる通信時間は、サーバ装置２０とクライアント装置３０との間の方が長くなり、スマホ１０とサーバ装置２０との間はそれほど長くはならない。【００８４】
また、スマホ１０の内部処理によって第１のハッシュ値がサーバ装置２０に既に記憶されているか否かを判定するためには、第１のハッシュ値のリストをスマホ１０に記憶させる必要がある。しかし、スマホ１０はサーバ装置２０に比べてメモリ容量が少なく、使えるリソースが限られている。【００８５】
以上のことから、第１のハッシュ値に関しては、スマホ１０がサーバ装置２０に問い合わせを行うことによってサーバ装置２０に記憶されているか否かを判定する一方、第２のハッシュ値に関しては、サーバ装置２０の内部処理によって第２のハッシュ値がクライアント装置３０に記憶されているか否かを判定するのが好ましい。【００８６】
ここで、サーバ装置２０の内部処理によって第２のハッシュ値がクライアント装置３０に記憶されているか否かを判定することができるのは、クライアント装置３０の第２のリスト記憶部３３に記憶される第２のハッシュリストと、サーバ装置２０の第３のリスト記憶部２０１に記憶される第３のハッシュリストとが同じ内容になる場合、つまり、同じクライアント装置３０からサーバ装置２０にアクセスが行われている場合である。しかし、スマホ１０のリモートレンタルサービスを想定した場合、常に同じクライアント装置３０からサーバ装置２０にアクセスが行われるとは限らない。【００８７】
そこで、例えば、第３のリスト記憶部２０１に記憶される第３のハッシュリストを異なるクライアント装置３０ごとに分けて管理し、現在アクセスが行われているクライアント装置３０に関する第３のハッシュリストを参照して、第２のハッシュ値がクライアント装置３０に記憶されているか否かを判定するようにする。現在アクセス中のクライアント装置３０は、例えばＩＰアドレスによって識別することが可能である。【００８８】
なお、図７の構成例において、第２のハッシュ演算部２７を省略して、第２の圧縮画像データの同一性を特定可能な特徴量として第１のハッシュ値を用いるようにしてもよい。このようにすれば、サーバ装置２０は第３のリスト記憶部２０１を備える必要がない。すなわち、第２の特徴量判定部２８”は、第１のリスト記憶部２３に記憶された第１のハッシュリストを参照することにより、第１のハッシュ値がクライアント装置３０に記憶されているか否かを判定することができる。【００８９】
ただし、第３のリスト記憶部２０１を省略可能なのは、スマホ１０からサーバ装置２０に第１の圧縮画像データが第１のハッシュ値と共に送られたときに、第１の圧縮画像データから生成された第２の圧縮画像データが第１のハッシュ値と共に必ずサーバ装置２０からクライアント装置３０にも送られる場合である。この場合は、第１のリスト記憶部２３に記憶される第１のハッシュリストと第３のリスト記憶部２０１に記憶される第３のハッシュリストとが同じ内容になるからである。【００９０】
第１のリスト記憶部２３に記憶される第１のハッシュリストと第３のリスト記憶部２０１に記憶される第３のハッシュリストとが同一内容にならないと想定される場合は、第２のハッシュ演算部２７を省略して、第２の圧縮画像データの同一性を特定可能な特徴量として第１のハッシュ値を用いたとしても、第３のリスト記憶部２０１は欠かせない。【００９１】
例えば、スマホ１０とサーバ装置２０との間およびサーバ装置２０クライアント装置３０との間の通信が非同期で実行され、かつ、スマホ１０からサーバ装置２０に順次送信される複数の第１の圧縮画像データのうち、一部の第１の圧縮画像データに対する第２の圧縮画像データがサーバ装置２０からクライアント装置３０に送信されないことがあり得るケースでは、第３のリスト記憶部２０１は欠かせない。このようなケースとして、例えば、スマホ１０とサーバ装置２０との間の転送速度に比べて、サーバ装置２０クライアント装置３０との間の転送速度が低速の場合が考えられる。【００９２】
また、上記実施形態では、第２の画像圧縮部２６が第２の圧縮画像データを必ず生成する例について説明したが、本発明はこれに限定されない。例えば、図６のように第２の圧縮画像データの同一性を特定可能な特徴量として第１のハッシュ値を用いる場合において、第２の画像圧縮部２６は、第１のハッシュ値がクライアント装置３０に記憶されていないと第２の特徴量判定部２８’により判定された場合に限り、第１の圧縮画像データを圧縮して第２の圧縮画像データを生成するようにしてもよい。【００９３】
このようにすれば、第１のハッシュ値がクライアント装置３０に記憶されていて第２の圧縮画像データをサーバ装置２０からクライアント装置３０に送信する必要がない場合に、第２の圧縮画像データを生成する処理自体を省略することができ、その分、クライアント装置３０がスマホ１０に対して画像取得要求を出してから画像データを取得するまでのレスポンス時間を更に短くすることができる。【００９４】
また、上記実施形態では、スマホ１０から問い合わせられた第１のハッシュ値が第１のリスト記憶部２３に既に記憶されている場合に、第２の画像圧縮部２６が、その第１のハッシュ値に関連付けて第１の圧縮画像記憶部２２に記憶されている第１の圧縮画像データを読み出して圧縮し、第２の圧縮画像データを生成する例について説明したが、本発明はこれに限定されない。【００９５】
例えば、スマホ１０から問い合わせられた第１のハッシュ値が第１のリスト記憶部２３に記憶されていない場合に、第２の画像圧縮部２６がスマホ１０から送られてくる第１の圧縮画像データを圧縮して最初に第２の圧縮画像データを生成した時点で、その第２の圧縮画像データをサーバ装置２０に保存しておく。その後、スマホ１０から問い合わせられた第１のハッシュ値が第１のリスト記憶部２３に既に記憶されていると判定される２回目以降は、サーバ装置２０に保存しておいた第２の圧縮画像データを利用して第２のハッシュ値を演算することにより、第２の圧縮画像データの生成を省略できるようにしてもよい。【００９６】
図８は、この場合におけるサーバ装置２０の機能構成例を示すブロック図である。図８の構成例において、サーバ装置２０は、図３に示した第１の問い合わせ応答部２４、第２の画像圧縮部２６、第２のハッシュ演算部２７に代えて、第１の問い合わせ応答部２４’、第２の画像圧縮部２６’、第２のハッシュ演算部２７’を備える。また、第２の圧縮画像データ記憶部２０２を更に備える。【００９７】
第１の問い合わせ応答部２４’は、スマホ１０から送信された第１のハッシュ値が第１のリスト記憶部２３に記憶されている否かの判定結果を、問い合わせに対する確認結果としてスマホ１０の第１の特徴量判定部１６に返信するとともに、第２の画像圧縮部２６’および第２のハッシュ演算部２７’に通知する。【００９８】
ここで、第１のハッシュ値が第１のリスト記憶部２３に記憶されていないことが第１の問い合わせ応答部２４’より通知された場合、第２の画像圧縮部２６’は、スマホ１０から送られてくる第１の圧縮画像データから第２の圧縮画像データを生成し、それを第１のハッシュ値と関連付けて第２の圧縮画像データ記憶部２０２に記憶させる。また、第２のハッシュ演算部２７’は、第２の画像圧縮部２６’により生成された第２の圧縮画像データに対してハッシュ演算を行い、第２のハッシュ値を算出する。【００９９】
一方、第１のハッシュ値が第１のリスト記憶部２３に記憶されていることが第１の問い合わせ応答部２４’より通知された場合、第２の画像圧縮部２６’は、第２の圧縮画像データの生成処理を行わない。また、第２のハッシュ演算部２７’は、第１のハッシュ値に関連付けて第２の圧縮画像データ記憶部２０２に記憶されている第２の圧縮画像データを読み出し、読み出した第２の圧縮画像データに対してハッシュ演算を行い、第２のハッシュ値を算出する。このように構成した場合、図５のフローチャートにおいてステップＳ７からステップＳ１４に遷移する。【０１００】
なお、ここでは第２の圧縮画像データをサーバ装置２０に保存して２回目以降に利用できるようにする例について説明したが、第２の圧縮画像データと共に第２のハッシュ値もサーバ装置２０に保存しておくことにより、２回目以降は第２のハッシュ値の演算も省略できるようにしてもよい。この場合、図５のフローチャートにおいてステップＳ７からステップＳ１５に遷移する。【０１０１】
図８のように構成した場合、スマホ１０から問い合わせられた第１のハッシュ値が第１のリスト記憶部２３に既に記憶されていると判定される２回目以降は、第２の圧縮画像データの生成（および第２のハッシュ値の演算）を省略することができるので、クライアント装置３０が画像取得要求を出してから画像データを取得するまでのレスポンス時間をさらに短くすることができる。なお、図７に示した構成と図８に示した構成とを組み合わせて適用することにより、レスポンス時間をより一層短くすることも可能である。【０１０２】
また、上記実施形態では、画像送信システムをスマホ１０のリモートレンタルサービスに適用する例について説明したが、本発明はこれに限定されない。すなわち、クライアント装置から出力された画像取得要求に応じて画像生成装置で生成された画像データをサーバ装置からクライアント装置に送信するように成された画像送信システムであれば、何れにも適用することが可能である。【０１０３】
また、上記実施形態では、サーバ装置２０とクライアント装置３０の間をインターネット４０で接続する例について示しているが、本発明はこれに限定されない。例えば、サーバ装置２０とクライアント装置３０の間は、有線・無線、ＬＡＮ・ＷＡＮ等を問わず、あらゆる通信ネットワークで接続することが可能である。【０１０４】
また、上記実施形態では、第１の画像圧縮部１４がＪＰＥＧの方式によって画像圧縮を行い、第２の画像圧縮部２６がＪＰＥＧ２０００やＷｅｂＰ、ＨＥＶＣ−ＭＳＰ等の方式によって画像圧縮を行う例について説明したが、本発明はこれに限定されない。すなわち、画像圧縮を行う際の処理負荷が、第１の画像圧縮部１４の方が第２の画像圧縮部２６に比べて小さくなればよく、圧縮方式を特に限定するものではない。また、第１の画像圧縮部１４と第２の画像圧縮部２６とで同じ圧縮方式を適用し、圧縮パラメータの調整によって、第１の画像圧縮部１４の方が第２の画像圧縮部２６に比べて処理負荷が小さくなるようにしてもよい。【０１０５】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１０６】
１０  スマートフォン（画像生成装置）
１３  画像生成部
１４  第１の画像圧縮部
１５  第１のハッシュ演算部
１６  第１の特徴量判定部
１７  第１の送信部
２０  サーバ装置
２２  第１の圧縮画像記憶部
２３  第１のリスト記憶部
２６，２６’  第２の画像圧縮部
２７，２７’  第２のハッシュ演算部
２８，２８’，２８”  第２の特徴量判定部
２９，２９’  第２の送信部
２０１  第３のリスト記憶部
２０２  第２の圧縮画像データ記憶部
３０  クライアント装置
３２  第２の圧縮画像記憶部
３３  第２のリスト記憶部
【要約】
スマホ１０において第１の圧縮画像データを生成し、それから算出した第１のハッシュ値がサーバ装置２０に記憶されているか否かを判定して、記憶されていない場合に限り、第１の圧縮画像データおよび第１のハッシュ値をサーバ装置２０に送信して記憶させるとともに、サーバ装置２０において、第１の圧縮画像データから第２の圧縮画像記憶部を生成し、それから算出した第２のハッシュ値がクライアント装置３０に記憶されているか否かを判定して、記憶されていない場合に限り、第２の圧縮画像データおよび第２のハッシュ値をクライアント装置３０に送信して記憶させることにより、画像データの送信の有無を決定する処理と、画像データの圧縮処理とがそれぞれ２段階にわたって行われるようにして、クライアント装置３０が画像取得要求を出してから画像データを取得するまでのレスポンス時間をできるだけ短くすることができるようにする。【図１】
0005553950.tif 000002
【図２】
0005553950.tif 000003
【図３】
0005553950.tif 000004
【図４】
0005553950.tif 000005
【図５】
0005553950.tif 000006
【図６】
0005553950.tif 000007
【図７】
0005553950.tif 000008
【図８】
0005553950.tif 000009