説明

情報処理装置、情報処理方法及びプログラム

【課題】クライアント端末からの画像のリクエストに対するレスポンスを最適化し、クライアント端末上で画像を効率よく表示させる。
【解決手段】記憶部と、通信部と、制御部とを有する情報処理装置が提供される。上記記憶部は、複数の画像データと、当該複数の画像データがレイアウトされるページデータとを記憶する。上記通信部は、他の情報処理装置から、上記複数の画像データの上記ページデータ上でのレイアウトを指定するレイアウト指定情報を含み、当該複数の画像データ及び上記ページデータの送信を要求するリクエストを受信する。上記制御部は、上記受信されたリクエストに応じて、上記記憶された複数の画像データを連結した連結画像データと、上記レイアウト指定情報に対応したレイアウトデータとを生成する。制御部は、上記ページデータと上記連結画像データと上記レイアウトデータとを上記他の情報処理装置へ送信するように上記通信部を制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本技術は、他の情報処理装置と通信可能な情報処理装置、当該情報処理装置のおける情報処理方法及びプログラムに関する。
【背景技術】
【0002】
近年、クライアント端末がネットワーク経由でウェブブラウザによりアプリケーションを実行するようになり、またクライアント端末の種類が増加したことに伴い、サーバでは、クライアント端末の画面への表示内容を構成要素データ(モデル)と表示方法データ(ビュー)とに分けて保持しておくことが一般的になっている。例えば、サーバはウェブページをHTML(HyperText Markup Language)とCSS(Cascading Style Sheets)とに分けてクライアント端末へ送信し表示させている。
【0003】
この方法では、クライアント端末がダウンロードする画像の数が大量になると、モデルの構成が複雑になり、クライアント端末でビューを作り上げるのに手間がかかるという問題がある。特に処理速度の観点からは、クライアント端末が携帯端末である場合には、表示が遅くなることもある。
【0004】
またサーバは、予め決まっている多くの画像を表示させるウェブページ(例えばユーザが頻繁にアクセスするトップページ)については、予め複数の画像を連結させて保存している場合もある。この場合サーバは、クライアント端末からリクエストがあった場合には、連結された1枚の画像とレイアウト記述ファイル(例えばCSSファイル)だけをネットワーク上でクライアント端末とやり取りする。クライアント端末では、ウェブページの描画時に当該1枚の画像が、あたかも複数の画像ファイルが存在するかのようにレイアウトされる。このような手法は一般的にCSS Spritesと呼ばれている(例えば、特許文献1参照)。この手法では、クライアント端末から送出されるリクエスト数が少なくなり、全体として描画までの速度が向上するメリットがある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2010−277501号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記CSS Spritesの手法では、予めどの画像を連結して保持しておくかはサーバが決定することになる。したがって、クライアント端末のユーザがある画像をリクエストした場合、当該リクエスト対象画像とその他の画像とが連結された連結画像がクライアント端末へ送信されるため、結果的にユーザが表示を欲しない画像も送信されることになる。すなわち、無駄なデータのやり取りが増え、表示効率も悪くなる。
【0007】
以上のような事情に鑑み、本技術の目的は、クライアント端末からの画像のリクエストに対するレスポンスを最適化し、クライアント端末のブラウザ上で画像を効率よく表示させることが可能な情報処理装置、情報処理方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0008】
上述の課題を解決するため、本技術の一形態に係る情報処理装置は、記憶部と、通信部と、制御部とを有する。上記記憶部は、複数の画像データと、当該複数の画像データがレイアウトされるページデータとを記憶する。上記通信部は、他の情報処理装置から、上記複数の画像データの上記ページデータ上でのレイアウトを指定するレイアウト指定情報を含み、当該複数の画像データ及び上記ページデータの送信を要求するリクエストを受信する。上記制御部は、上記受信されたリクエストに応じて、上記記憶された複数の画像データを連結した連結画像データと、上記レイアウト指定情報に対応したレイアウトデータとを生成する。また制御部は、上記ページデータと上記連結画像データと上記レイアウトデータとを上記他の情報処理装置へ送信するように上記通信部を制御する。
【0009】
これにより情報処理装置は、他の情報処理装置からのリクエストに応じて複数の画像データを連結して1枚の連結画像として返すことで、リクエストに対するレスポンスを最適化し、他の情報処理装置のブラウザ上で画像データを効率よく表示させることができる。当該情報処理装置は例えばサーバとして機能し、他の情報処理装置は例えばクライアントとして機能する。
【0010】
上記制御部は、上記リクエストに応じて、上記複数の画像データをそれぞれ所定数の画像データからなる複数のグループに分類して当該複数のグループ毎の複数の連結画像データを生成してもよい。そして制御部は、当該複数の連結画像データを上記他の情報処理装置へ送信するように上記通信部を制御してもよい。
【0011】
これにより情報処理装置は、リクエストされた複数の画像データを複数のグループに
分けてそれぞれ連結して送信することで、あまりに大量の画像が1枚に連結される場合に比べて他の情報処理装置における表示効率を向上させることができる。
【0012】
上記リクエストは、上記他の情報処理装置が有するまたは上記他の情報処理装置に接続された表示装置の画面サイズを示す情報を含んでもよい。この場合上記制御部は、上記画面サイズに応じて上記複数のグループに含まれる画像データの数を変更してもよい。
【0013】
これにより情報処理装置は、他の情報処理装置の画面サイズに最適な数の連結画像を生成して送信することで、他の情報処理装置における表示効率を向上させることができる。
【0014】
上記記憶部は、上記生成された連結画像を記憶してもよい。この場合上記制御部は、上記リクエストにより要求された画像データが上記記憶された連結画像データに含まれるか否かを判断してもよい。当該要求された画像データが当該記憶された連結画像データに含まれる場合、制御部は、当該記憶された連結画像データを上記他の情報処理装置へ送信するように上記通信部を制御してもよい。
【0015】
これにより情報処理装置は、リクエストされた画像データが既に連結画像として記憶されている場合には、それを送信することで、画像データの連結処理を省略することができる。
【0016】
上記リクエストは、所定の検索条件に合致する画像データの送信を要求する画像検索リクエストであってもよい。この場合上記制御部は、上記複数の画像データから上記検索条件に合致する複数の画像データを抽出し、当該抽出された複数の画像データを連結して上記連結画像データを生成してもよい。そして制御部は、当該連結画像データを検索結果データとして上記他の情報処理装置へ送信するように上記通信部を制御してもよい。
【0017】
これにより情報処理装置は、イメージ検索に対するレスポンスとして連結画像を送信することができ、他の情報処理装置における検索結果の表示処理の効率を向上させることができる。
【0018】
本技術の他の形態に係る情報処理装置は、映像出力部と、通信部と、制御部とを有する。上記通信部は、ページデータ上での複数の画像のレイアウトを指定するレイアウト指定情報を含み、当該複数の画像データ及び当該ページデータの送信を要求するリクエストを、他の情報処理装置へ送信可能である。また通信部は、当該リクエストに応じて上記他の情報処理装置において生成された、上記複数の画像データが連結された連結画像データと、上記レイアウト指定情報に対応したレイアウトデータと、上記ページデータとを、上記他の情報処理装置から受信可能である。上記制御部は、上記受信されたページデータ上に、上記受信された連結画像データに含まれるそれぞれの画像データを上記受信されたレイアウトデータに従ってレイアウトして当該ページデータを出力するように上記映像出力部を制御可能である。
【0019】
これにより情報処理装置は、ページデータ上でのレイアウトを指定してページ及び複数の画像のリクエストを送信することで、レイアウトデータとともに、複数の画像データを1枚の連結画像データとして受信できるため、他の情報処理装置からのレスポンスの数を減らして複数の画像データを効率よく表示することができる。
【0020】
本技術の他の形態に係る情報処理システムは、第1の情報処理装置と第2の情報処理装置とを有する。
【0021】
上記第1の情報処理装置は、記憶部と、第1の通信部と、第1の制御部とを有する。上記記憶部は、複数の画像データと、当該複数の画像データがレイアウトされるページデータとを記憶する。上記第1の通信部は、上記複数の画像データの上記ページデータ上でのレイアウトを指定するレイアウト指定情報を含み、当該複数の画像データ及び上記ページデータの送信を要求するリクエストを受信する。上記第1の制御部は、上記受信されたリクエストに応じて、上記記憶された複数の画像データを連結した連結画像データと、上記レイアウト指定情報に対応したレイアウトデータとを生成する。また第1の制御部は、上記ページデータと上記連結画像データと上記レイアウトデータとを送信するように上記通信部を制御する。
【0022】
上記第2の情報処理装置は、映像出力部と、第2の通信部と、第2の制御部とを有する。上記第2の通信部は、上記リクエストを上記第1の情報処理装置へ送信可能である。また第2の通信部は、当該リクエストに応じて上記第1の情報処理装置において生成された連結画像データと、上記レイアウトデータと、上記ページデータとを、上記第1の情報処理装置から受信可能である。上記第2の制御部は、上記受信されたページデータ上に、上記受信された連結画像データに含まれるそれぞれの画像データを上記受信されたレイアウトデータに従ってレイアウトして当該ページデータを出力するように上記映像出力部を制御可能である。
【0023】
本技術の他の形態に係る情報処理方法は、複数の画像データと、当該複数の画像データがレイアウトされるページデータとを記憶することを含む。他の情報処理装置から、上記複数の画像データの上記ページデータ上でのレイアウトを指定するレイアウト指定情報を含み、当該複数の画像データ及び上記ページデータの送信を要求するリクエストが受信される。上記受信されたリクエストに応じて、上記記憶された複数の画像データを連結した連結画像データと、上記レイアウト指定情報に対応したレイアウトデータとが生成される。そして上記ページデータと上記連結画像データと上記レイアウトデータとが上記他の情報処理装置へ送信される。
【0024】
本技術の他の形態に係る情報処理方法は、ページデータ上での複数の画像のレイアウトを指定するレイアウト指定情報を含み、当該複数の画像データ及び当該ページデータの送信を要求するリクエストを、他の情報処理装置へ送信することを含む。上記リクエストに応じて上記他の情報処理装置において生成された、上記複数の画像データが連結された連結画像データと、上記レイアウト指定情報に対応したレイアウトデータと、上記ページデータとが、上記他の情報処理装置から受信される。上記受信されたページデータ上に、上記受信された連結画像データに含まれるそれぞれの画像データが上記受信されたレイアウトデータに従ってレイアウトされて当該ページデータが出力される。
【0025】
本技術の他の形態に係るプログラムは、情報処理装置に、記憶ステップと、受信ステップと、生成ステップと、送信ステップとを実行させる。上記記憶ステップでは、複数の画像データと、当該複数の画像データがレイアウトされるページデータとが記憶される。上記受信ステップでは、他の情報処理装置から、上記複数の画像データの上記ページデータ上でのレイアウトを指定するレイアウト指定情報を含み、当該複数の画像データ及び上記ページデータの送信を要求するリクエストが受信される。上記生成ステップでは、上記受信されたリクエストに応じて、上記記憶された複数の画像データを連結した連結画像データと、上記レイアウト指定情報に対応したレイアウトデータとが生成される。上記送信ステップでは、上記ページデータと上記連結画像データと上記レイアウトデータとが上記他の情報処理装置へ送信される。
【0026】
本技術の他の形態に係るプログラムは、情報処理装置に、送信ステップと、受信ステップと、出力ステップとを実行させる。上記送信ステップでは、ページデータ上での複数の画像のレイアウトを指定するレイアウト指定情報を含み、当該複数の画像データ及び当該ページデータの送信を要求するリクエストが、他の情報処理装置へ送信される。上記受信ステップでは、上記リクエストに応じて上記他の情報処理装置において生成された、上記複数の画像データが連結された連結画像データと、上記レイアウト指定情報に対応したレイアウトデータと、上記ページデータとが、上記他の情報処理装置から受信される。上記出力ステップでは、上記受信されたページデータ上に、上記受信された連結画像データに含まれるそれぞれの画像データが上記受信されたレイアウトデータに従ってレイアウトされて当該ページデータが出力される。
【発明の効果】
【0027】
以上のように、本技術によれば、クライアント端末からの画像のリクエストに対するレスポンスを最適化し、クライアント端末のブラウザ上で画像を効率よく表示させることができる。
【図面の簡単な説明】
【0028】
【図1】本技術の一実施形態における画像表示システムの構成を示す図である。
【図2】上記画像表示システムにおけるサーバのハードウェア構成を示した図である。
【図3】上記画像表示システムにおけるPCのハードウェア構成を示した図である。
【図4】上記サーバが有するソフトウェアを示した機能ブロック図である。
【図5】上記サーバが有する連結画像ファイル情報データベースの構成を示した図である。
【図6】上記サーバとPCとの間でやり取りされるリクエストとレスポンスの流れの概要を示したシーケンス図である。
【図7】上記PCから送信される画像取得リクエストと、それに対する上記サーバのレスポンスとを模式的に示した図である。
【図8】上記画像取得リクエストの対象となる複数の画像の、PCの表示部における表示例(レイアウト例)を示した図である。
【図9】上記複数の画像が連結された連結画像ファイルの例を示した図である。
【図10】上記画像取得リクエストの例を示した図である。
【図11】上記サーバが画像取得リクエストを受信してからレスポンスを送信するまでの流れを示したフローチャートである。
【図12】上記連結画像ファイル中の各画像ファイルが縦一列に連結されている場合における、各画像ファイルの位置及びサイズを示した図である。
【図13】上記図9に示した連結画像ファイル中の各画像ファイルが、上記図8に示すように横一列にレイアウトされる場合における、各画像ファイルの位置座標及びサイズを示した図である。
【図14】上記図7(B)に示したサーバからのレスポンスをより詳細に示した図である。
【図15】上記図14で示した各グループの画像ファイルをツリー構造として模式化したものである。
【図16】上記サーバから送信される変換レイアウトファイルの詳細を示した図である。
【図17】上記PCが画像取得リクエストを送信し、サーバからレスポンスを受信して画像ファイルを表示するまでの流れを示したフローチャートである。
【発明を実施するための形態】
【0029】
以下、本技術に係る実施形態を、図面を参照しながら説明する。
【0030】
[システムの概要]
図1は、本技術の一実施形態における画像表示システムの構成を示す図である。
【0031】
同図に示すように、このシステムは、サーバ100とクライアントPC200(単にPC200と称する)とで構成される。PC200は複数存在しうる。
【0032】
PC200は、サーバ100へ、ウェブブラウザ(以下、単にブラウザと称する)を介して、複数の画像ファイルを含むウェブページをリクエストし、サーバ100は当該リクエストに応じて、ウェブページ及び画像ファイルを、当該画像ファイルのレイアウトデータと共にPC200へ送信する。
【0033】
本実施形態では、サーバ100は、PC200からのリクエストに応じて、複数の画像ファイルを連結して連結画像ファイルを生成し、それをレスポンスとしてPC200へ返すことが可能である。当該連結画像ファイルの生成処理の詳細については後述する。
【0034】
[サーバのハードウェア構成]
図2は、上記サーバ100のハードウェア構成を示した図である。同図に示すように、サーバ100は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、入出力インタフェース15、及び、これらを互いに接続するバス14を備える。
【0035】
CPU11は、必要に応じてRAM13等に適宜アクセスし、各種演算処理を行いながらサーバ100の各ブロック全体を統括的に制御する。ROM12は、CPU11に実行させるOS、プログラムや各種パラメータなどのファームウェアが固定的に記憶されている不揮発性のメモリである。RAM13は、CPU11の作業用領域等として用いられ、OS、実行中の各種アプリケーション、処理中の各種データを一時的に保持する。
【0036】
入出力インタフェース15には、表示部16、操作受付部17、記憶部18、通信部19等が接続される。
【0037】
表示部16は、例えばLCD、OELD、CRT(Cathode Ray Tube)等を用いた表示デバイスである。
【0038】
操作受付部17は、例えばマウス等のポインティングデバイス、キーボード、タッチパネル、その他の入力装置である。操作受付部17がタッチパネルである場合、そのタッチパネルは表示部16と一体となり得る。
【0039】
記憶部18は、例えばHDD(Hard Disk Drive)や、フラッシュメモリ(SSD;Solid State Drive)、その他の固体メモリ等の不揮発性メモリである。当該記憶部18には、上記OSや各種アプリケーション、各種データが記憶される。特に本実施形態では、記憶部18には、PC200のブラウザに表示させるウェブページファイル(以下、単にページファイルと称する)や当該ページファイル上でレイアウトされる複数の画像ファイルも記憶される。
【0040】
通信部19は、インターネット50やLANに有線接続するためのNIC等であり、PC200との間の通信処理(リクエストの受信やレスポンスの送信)を担う。
【0041】
[PCのハードウェア構成]
図3は、上記PC200のハードウェア構成を示した図である。同図に示すように、PC200のハードウェア構成も、上記サーバ100のハードウェア構成と基本的に同様である。すなわち、PC200は、CPU21、ROM22、RAM23、入出力インタフェース25、及び、これらを互いに接続するバス24、表示部26、操作受付部27、記憶部28、通信部29を備える。
【0042】
ここで表示部26は、PC200に内蔵されていてもよいし、PC200に外部接続されていてもよい。表示部26がPC200に外部接続される場合、映像信号は、PC200が有する映像出力部(映像出力端子等)を介して表示部26へ出力される。
【0043】
記憶部28には、サーバ100からウェブページファイル、画像ファイル及びレイアウトファイルを受信し、ウェブページに画像ファイルをレイアウトしてページを描画するブラウザが記憶されている。
【0044】
本実施形態において、PC200のブラウザは、一般的なウェブページ表示機能を有するほか、例えば時系列で並んだ大量の画像を一覧表示するアプリケーションとしての機能も有する。しかし、当該機能は、ブラウザとは別個のソフトウェアとしてPC200にインストールされていてもよい。当該アプリケーションは、より具体的には、例えば所定の場所に設置された監視カメラにより定期的に撮像された複数の画像を時系列に沿って表示するアプリケーションであってもよい。また当該アプリケーションは、あるユーザがある期間(例えば旅行中のある一日等)に撮り続けた複数の画像を時系列に沿って表示するアプリケーションであってもよい。
【0045】
[サーバのソフトウェア構成]
図4は、上記サーバ100が有するソフトウェアモジュールを示した機能ブロック図である。当該各ソフトウェアモジュールは、主にPC200からのリクエストに応答するためのモジュールであり、サーバ100は、これら以外にもソフトウェアモジュールを有し得る。
【0046】
同図に示すように、サーバ100は、ソフトウェアモジュールとして、リクエスト受信部41、レスポンス送信部42、連結画像ファイル生成部43、レイアウトファイル生成部44、連結ファイル情報データベース45及び画像ファイル連結方法決定部46とを有する。
【0047】
リクエスト受信部41は、PC200からリクエストを受信し、画像ファイル連結方法決定部46へその情報を伝える。
【0048】
画像ファイル連結方法決定部46は、受信されたリクエストを解析して、連結すべき画像ファイル及び当該連結の方法を決定する。
【0049】
連結画像ファイル生成部43は、上記画像ファイル連結方法決定部46によって決定された連結方法に従って複数の画像ファイルを連結し連結画像ファイルを生成する。
【0050】
レイアウトファイル生成部44は、上記連結画像ファイル生成部43によって生成された連結画像ファイル中の各画像ファイルをPC200がページファイル上にレイアウトするためのレイアウトファイルを生成する。
【0051】
連結ファイル情報データベース45は、生成された連結画像ファイルを記憶する。
【0052】
レスポンス送信部42は、上記生成された連結画像ファイル及びレイアウトファイルをPC200へレスポンスとして送信する。
【0053】
[連結画像ファイル情報データベースの構成]
図5は、上記連結ファイル情報データベース45の構成を示した図である。
【0054】
同図に示すように、連結ファイル情報データベース45は、画像ファイルを識別する画像キーと、当該画像ファイルのパスを示すファイルパスと、当該画像ファイルが連結画像ファイルか否かを示す連結ステータスの各データ項目を有する。
【0055】
当該連結ファイル情報データベース45では、単体の画像ファイルと連結画像ファイルとが混在して記憶されている。例えば、同図に示されている4つの画像のうち、上の2つの画像ファイルは単体ファイルである一方、下の2つの画像ファイルは連結画像ファイルである。
【0056】
[システムの動作]
次に、以上のように構成された画像表示システムにおけるサーバ100及びPC200の動作を説明する。この動作は、上記サーバ100のCPU11やPC200のCPU21の制御下において、他のハードウェア及びソフトウェア(PC200のブラウザ)と協働して行われる。
【0057】
図6は、本実施形態におけるサーバ100とPC200との間でやり取りされるリクエスト(HTTPリクエスト)とレスポンス(HTTPレスポンス)の流れの概要を示したシーケンス図である。
【0058】
同図に示すように、PC200はまず、ページファイルの全体(index.html)をサーバ100へリクエストし、サーバ100は当該リクエストに対するレスポンスとしてページファイル(HTMLファイル)をPC200へ送信する。上記リクエストには、当該ページファイルのURIが含まれる。また当該ページファイルには、当該ページファイルにレイアウトされるべき複数の画像ファイルの各URIが含まれる。
【0059】
続いてPC200は、上記ページファイル上における全体的なレイアウトを示すレイアウトファイルをサーバ100へリクエストし、サーバ100は当該リクエストに対するレスポンスとして全体レイアウトファイルをPC200へ送信する。
【0060】
続いてPC200は、上記ページファイルに含まれる各URIを基に、当該ページファイル上にレイアウトされるべき複数の画像ファイルのリクエスト(画像取得リクエスト)をサーバ100へ送信する。当該リクエストは画像ファイル分送信される。サーバ100は、当該複数のリクエストに対して、それらリクエストに対応する複数の画像ファイルを連結し、連結画像ファイルをレスポンスとしてPC200へ送信する。
【0061】
またサーバ100は、上記連結画像ファイルに含まれる各画像ファイルをページファイル上でどのようにレイアウトすべきかを示したレイアウトファイル(変換レイアウトファイル)を生成して、上記画像取得リクエストに対するレスポンスとして当該変換レイアウトファイルもPC200へ送信する。
【0062】
図7は、上記画像取得リクエストと、それに対するレスポンスとを模式的に示した図である。
【0063】
同図に示すように、PC200からのリクエストは画像ファイル数分存在するが、サーバ100からのレスポンスは1つの連結画像ファイルと1つの変換レイアウトファイルのみである。
【0064】
図8は、上記画像取得リクエストの対象となる複数の画像の、PC200の表示部26における表示例(レイアウト例)を示した図である。また図9は、当該複数の画像が連結された連結画像ファイルの例を示した図である。
【0065】
図9に示すように、連結画像ファイルは、複数の画像(画像A〜E)が例えば縦一列に連結されたものである。しかし、図8に示すように、PC200は、上記変換レイアウトファイルにしたがって、当該連結画像ファイルに含まれる各画像A〜Eを抽出して、それらを例えば横一列に所定間隔置きに別々の画像としてレイアウトして表示部26に表示する。
【0066】
図10は、上記画像取得リクエストの例を示した図である。同図に示すように、画像取得リクエストには、ユーザ名、検索条件、取得上限、レイアウト及び画面サイズの各項目が含まれる。
【0067】
上記検索条件は、例えば「昨日撮影した画像」といったように、サーバ100に(例えばユーザ毎に)記憶された画像ファイルのフィルタリング条件であり、ファイル作成日付や作成期間等を指定するものであるが、これに限られない。例えば検索条件は、所定のキーワードであってもよい。
【0068】
上記取得上限は、取得する画像ファイルの数の上限、すなわち表示部26に表示される(見かけ上の)画像ファイルの数の上限を示したものである。
【0069】
上記レイアウトは、例えば横一列、縦一列、横X枚×縦Y枚等、様々なものが考えられる。
【0070】
上記画面サイズは、PC200の表示部26のサイズを示す。詳細は後述するが、この情報は、サーバ100が、連結画像ファイルを所定枚数のグループ毎に作成する際の各グループに属する画像の数を決定する際に用いられる。
【0071】
(サーバの動作)
図11は、サーバ100が画像取得リクエストを受信してからレスポンスを送信するまでの大まかな流れを示したフローチャートである。当該フローチャートは、上記図6で示した一連のやり取りのうち、PC200からの画像取得リクエストの受信からの流れを示す。
【0072】
同図に示すように、サーバ100のCPU11はまず、PC200から画像取得リクエストを受信する(ステップ111)。
【0073】
続いてCPU11は、上記画像取得リクエストを解析し、当該画像取得リクエストに含まれる画像ファイルを含む連結画像ファイルが上記連結ファイル情報データベース45に存在するか否かを判断する(ステップ112)。
【0074】
上記連結画像ファイルが存在すると判断した場合(Yes)、CPU11は、上記画像取得リクエストに含まれるレイアウト情報を基に、取得対象の複数の画像ファイルをPC200において表示させるための変換レイアウトファイルを作成する(ステップ113)。
【0075】
上記連結画像ファイルが存在しないと判断した場合(No)、CPU11は、上記画像取得リクエスト対象の複数の画像ファイルを上記連結ファイル情報データベース45から読み出し、それらを連結して連結画像ファイルを生成する(ステップ115)。そしてCPU11は、当該生成した連結画像ファイル(の画像キー及びファイルパス)を連結ファイル情報データベース45に登録する(ステップ116)。
【0076】
続いてCPU11は、上記画像取得リクエストに含まれるレイアウト情報を基に、上記連結画像ファイル中の各画像ファイルをPC200の表示部26においてページファイル上にレイアウトさせるための変換レイアウトファイルを生成する(ステップ113)。
【0077】
そしてCPU11は、上記連結画像ファイルと変換レイアウトファイルを、上記画像取得リクエストに対するレスポンスとしてPC200へ送信する(ステップ114)。
【0078】
図12は、上記図9に示したように縦一列に連結されている連結画像ファイルにおける、各画像ファイルの座標及びサイズを示した図である。同図に示すように、各画像ファイルは縦方向に連結されているため、各画像ファイルA〜Eの開始位置はY軸方向にずれることになる。この座標は、連結画像ファイルの左上を基点とした相対座標である。
【0079】
図13は、上記図9に示した連結画像ファイル中の各画像ファイルが、上記図8に示すように横一列にレイアウトされる場合における、各画像ファイルの座標及びサイズを示した図である。同図に示すように、各画像ファイルが横一列に並んで表示されるように、各画像ファイルA〜Eの開始位置はX軸方向にずれている。
【0080】
CPU11は、これら図12及び図13で示した各画像ファイルの位置及びサイズを利用して、上記変換レイアウトファイルを作成する。この作成処理の詳細は後述する。
【0081】
上述したように、サーバ100は、PC200からの画像取得リクエストに対して、全ての画像ファイルを1枚に連結することができる。しかし、あまりに大量の画像ファイルが一枚に連結されてPC200へ送信されると、その画像サイズのために、かえってPC200における画像ファイルの表示効率が悪くなる可能性もある。そこで本実施形態において、サーバ100は、対象の複数の画像ファイルを所定枚数毎の複数のグループに分け、グループ毎に複数の連結画像ファイルを生成することも可能である。
【0082】
画像ファイルをどのような単位でグループ分けするかは、PC200の画面サイズや処理能力、ネットワーク帯域、PC200で実行されるアプリケーションの種類等によって柔軟に決定される。本実施形態では特に、PC200の画面サイズに応じて、上記グループに含まれる画像ファイルの数が変更される。PC200の画面サイズは、上述のように、画像取得リクエストに含まれており、サーバ100は、当該画面サイズを基に上記各グループ内の画像ファイルの数を決定する。
【0083】
図14は、上記図7(B)に示したサーバからのレスポンスをより詳細に示した図である。同図に示すように、A〜Zまでの画像ファイルが、5つのグループG1〜G5に分けられて、それぞれ連結画像ファイルが生成され、レスポンスとして返されている。各グループ内の画像ファイルの数(各連結画像ファイルにおいて連結される画像ファイルの数)は極力同数となるよう設定される。この例では、画像ファイルA〜Zの数である26を5で割ると1余ることから、グループG1〜G4内の画像ファイルの数は5つであるが、グループG5内の画像ファイルの数は6つとなっている。
【0084】
ここで、1つのグループに含まれる画像ファイルの数は、例えば、PC200の表示部26の画面に表示可能な画像ファイル数の2〜3倍とされるが、これに限られるものではない。
【0085】
このように、連結画像ファイルは複数生成されてレスポンスされる場合でも、変換レイアウトファイルの数は1つである。
【0086】
図15は、上記各グループの画像ファイルをツリー構造として模式化したものである。同図に示すように、複数の画像ファイルが複数のグループに階層化され、それぞれのグループに各画像ファイルが属する形となっている。
【0087】
図16は、上記変換レイアウトファイルの詳細を示した図である。同図に示すように、変換レイアウトファイルは、個々の画像ファイル毎に、画像ファイル名、連結画像内相対座標、縦/横サイズ、連結画像ファイル名、画像絶対座標、連結画像縦/横サイズの各項目を有する。
【0088】
連結画像内相対座標は、上記図12で示したように、連結画像ファイルの左上を基点とした場合の、連結された各画像ファイルの相対座標を示す。連結画像ファイル名は、各画像ファイルが連結された先の連結画像ファイルの名称を示す。画像絶対座標は、上記図13で示したように、上記画像取得リクエストに含まれるレイアウト情報を反映した、連結画像ファイルに含まれる各画像ファイルの絶対座標を示す。連結画像縦/横サイズは、各画像ファイルの連結先の連結画像ファイル全体の縦/横サイズを示す。
【0089】
(PCの動作)
PC200は、上記図16で示した変換レイアウトファイルを基に、ページファイル上に各画像ファイルをレイアウトして描画する。図17は、上記PC200が画像取得リクエストを送信し、サーバ100からレスポンスを受信して画像ファイルを表示するまでの流れを示したフローチャートである。
【0090】
ここで、当該フローチャートは、PC200が、連結画像ファイルに含まれる1つの画像を描画する場合の処理の流れを示している。また、上述では、画像ファイルは全て連結画像ファイルに含まれることを前提に説明がなされたが、本フローチャートでは、画像ファイルが連結画像ファイルに含まれずに単体でも存在しうることも想定されている。画像ファイルが連結画像ファイルに含まれない場合としては、例えば、連結対象の画像ファイルがまだ生成されていない場合(例えば、ユーザの写真撮影を待機している状態)等が考えられる。
【0091】
同図に示すように、まずPC200のCPU21は、特定の画像ファイルの描画が必要であると判断し、当該画像ファイルの描画処理を開始すると(ステップ171)、上記ページリクエスト及び画像取得リクエストをサーバ100へ送信する(ステップ172)。
【0092】
続いてCPU21は、上記レスポンスとしてのページファイル、全体レイアウトファイル、連結画像ファイル(または単体の画像ファイル)及び変換レイアウトファイルをサーバ100から受信する(ステップ173)。
【0093】
続いてCPU21は、上記変換レイアウトファイルを参照して、上記描画対象の画像ファイルが、連結画像ファイルに含まれるか否かを判断する(ステップ174)。
【0094】
上記画像ファイルが連結画像ファイルに含まれる場合(Yes)、CPU21は、上記変換レイアウトファイルを基に、画像ファイルの連結画像ファイル内における相対座標を、上記画像全体位置座標へと変換する(ステップ175)。
【0095】
上記画像ファイルが連結画像ファイルに含まれない場合(No)、CPU21は、上記全体レイアウトファイルを基に、画像ファイルの座標を決定する(ステップ176)。
【0096】
そしてCPU21は、上記ステップ175で変換された座標上または上記ステップ176で決定された座標上に画像ファイルを描画する(ステップ177)。
【0097】
例えば、上記図16における画像Mを描画する場合、CPU21は、画像Mが連結画像ファイルG3に属することを判断し、当該連結画像ファイルG3内の座標(100,0)から縦30×横40ピクセル分のデータを切り出し、それをウェブページ内で変換後の座標(500,0)上に描画する。
【0098】
CPU21は、以上の処理を、描画が必要な全ての画像ファイルについて繰り返す。
【0099】
[まとめ]
以上のように、本実施形態によれば、サーバ100は、PC200からのリクエストに応じて複数の画像ファイルを連結して1枚の連結画像ファイルとして返すことで、リクエストに対するレスポンスを最適化し、PC200のブラウザ上で複数の画像ファイルを効率よく表示させることができる。
【0100】
[変形例]
本技術は上述の実施形態にのみ限定されるものではなく、本開示の要旨を逸脱しない範囲内において種々変更され得る。
【0101】
上述の実施形態においては、クライアントPC200がサーバ100から画像ファイルを取得する例を示した。しかし、クライアントPC200の機能とサーバ100の機能とは、物理的に離れたそれぞれの装置で実行される必要はない。すなわち、クライアントPC200の機能とサーバ100の機能とが1つの機器内で論理的に役割分担されてもよい。
【0102】
例えば、クライアントPC200の機能がブラウザとして提供され、サーバ100の機能がデーモンとして提供されてもよい。この装置における動作は、上述した画像表示システムにおける動作と比較して、サーバ100とPC200との間のネットワークを介した通信処理が、装置内部におけるブラウザとデーモンとの信号処理に替わる以外は同様となる。
【0103】
上述の実施形態においては、時系列で並んだ大量の画像を一覧表示するアプリケーションによって画像ファイルが表示される例を示したが、本技術は、他のアプリケーションで実行されても構わない。例えば、本技術はイメージ検索アプリケーションにも応用できる。
【0104】
具体的には、PC200のユーザが、ブラウザに所定のキーワードを入力してイメージ検索を指示すると、PC200は、当該キーワードを検索条件として上述と同様の画像取得リクエストをサーバ100へ送信する。当該画像取得リクエストを受信したサーバ100は、キーワードに合致する画像ファイルを上述の実施形態と同様に連結して連結画像ファイル及び変換レイアウトファイルをレスポンスとしてPC200へ送信する。PC200は、当該レスポンスを受信すると、上述の実施形態と同様の流れで、連結画像ファイルから各画像ファイルを切り出して、イメージ検索結果として表示する。
【0105】
この場合、サーバ100は、特定のキーワードに合致する画像ファイルを予め連結した連結画像ファイルを生成していてもよい。連結画像ファイルは1つであってもよいし、上述の実施形態と同様、例えばPC200の画面サイズに応じて、複数のグループ毎に複数の連結画像ファイルが生成されてもよい。
【0106】
またサーバ100は、PC200からの画像取得リクエストに含まれるキーワードに合致する画像ファイルが既に連結画像ファイルとして存在していれば、改めて画像ファイルを連結することなく、当該連結画像ファイルをレスポンスとして送信する。また、PC200からのリクエストが複数のキーワードによるOR検索の場合、サーバ100は、それぞれのキーワードごとに連結画像ファイルの有無を判断する。キーワード毎に既に存在している、または、新たに生成された複数の連結画像ファイルがさらに連結された上で送信されてもよいし、そのまま複数の連結画像ファイルが送信されてもよい。
【0107】
上述の実施形態においては、本技術におけるクライアントがPC200である例を示した。しかし、本技術におけるクライアントは、携帯電話機、スマートフォン、オーディオプレイヤー、テレビジョン装置、ゲーム機器、カーナビゲーション装置、記録再生装置等、他のあらゆる情報処理装置であり得る。
【0108】
[その他]
本技術は以下のような構成も取ることができる。
(1)
複数の画像データと、当該複数の画像データがレイアウトされるページデータとを記憶可能な記憶部と、
他の情報処理装置から、前記複数の画像データの前記ページデータ上でのレイアウトを指定するレイアウト指定情報を含み、当該複数の画像データ及び前記ページデータの送信を要求するリクエストを受信可能な通信部と、
前記受信されたリクエストに応じて、前記記憶された複数の画像データを連結した連結画像データと、前記レイアウト指定情報に対応したレイアウトデータとを生成可能であり、前記ページデータと前記連結画像データと前記レイアウトデータとを前記他の情報処理装置へ送信するように前記通信部を制御可能な制御部と
を具備する情報処理装置。
(2)前記(1)に記載の情報処理装置であって、
前記制御部は、前記リクエストに応じて、前記複数の画像データをそれぞれ所定数の画像データからなる複数のグループに分類して当該複数のグループ毎の複数の連結画像データを生成し、当該複数の連結画像データを前記他の情報処理装置へ送信するように前記通信部を制御可能である
情報処理装置。
(3)前記(2)に記載の情報処理装置であって、
前記リクエストは、前記他の情報処理装置が有するまたは前記他の情報処理装置に接続された表示装置の画面サイズを示す情報を含み、
前記制御部は、前記画面サイズに応じて前記複数のグループに含まれる画像データの数を変更可能である
情報処理装置。
(4)前記(1)〜(3)のうちいずれかに記載の情報処理装置であって、
前記記憶部は、前記生成された連結画像を記憶可能であり、
前記制御部は、前記リクエストにより要求された画像データが前記記憶された連結画像データに含まれるか否かを判断可能であり、当該要求された画像データが当該記憶された連結画像データに含まれる場合、当該記憶された連結画像データを前記他の情報処理装置へ送信するように前記通信部を制御可能である
情報処理装置。
(5)前記(1)〜(4)のうちいずれかに記載の情報処理装置であって、
前記リクエストは、所定の検索条件に合致する画像データの送信を要求する画像検索リクエストであり、
前記制御部は、前記複数の画像データから前記検索条件に合致する複数の画像データを抽出し、当該抽出された複数の画像データを連結して前記連結画像データを生成可能であり、当該連結画像データを検索結果データとして前記他の情報処理装置へ送信するように前記通信部を制御可能である
情報処理装置。
【符号の説明】
【0109】
11、21…CPU
13、23…RAM
16、26…表示部
18、28…記憶部
19、29…通信部
41…リクエスト受信部
42…レスポンス送信部
43…連結画像ファイル生成部
44…レイアウトファイル生成部
45…連結ファイル情報データベース
46…画像ファイル連結方法決定部
50…インターネット
100…サーバ
200…クライアントPC(PC)

【特許請求の範囲】
【請求項1】
複数の画像データと、当該複数の画像データがレイアウトされるページデータとを記憶可能な記憶部と、
他の情報処理装置から、前記複数の画像データの前記ページデータ上でのレイアウトを指定するレイアウト指定情報を含み、当該複数の画像データ及び前記ページデータの送信を要求するリクエストを受信可能な通信部と、
前記受信されたリクエストに応じて、前記記憶された複数の画像データを連結した連結画像データと、前記レイアウト指定情報に対応したレイアウトデータとを生成可能であり、前記ページデータと前記連結画像データと前記レイアウトデータとを前記他の情報処理装置へ送信するように前記通信部を制御可能な制御部と
を具備する情報処理装置。
【請求項2】
請求項1に記載の情報処理装置であって、
前記制御部は、前記リクエストに応じて、前記複数の画像データをそれぞれ所定数の画像データからなる複数のグループに分類して当該複数のグループ毎の複数の連結画像データを生成し、当該複数の連結画像データを前記他の情報処理装置へ送信するように前記通信部を制御可能である
情報処理装置。
【請求項3】
請求項2に記載の情報処理装置であって、
前記リクエストは、前記他の情報処理装置が有するまたは前記他の情報処理装置に接続された表示装置の画面サイズを示す情報を含み、
前記制御部は、前記画面サイズに応じて前記複数のグループに含まれる画像データの数を変更可能である
情報処理装置。
【請求項4】
請求項1に記載の情報処理装置であって、
前記記憶部は、前記生成された連結画像を記憶可能であり、
前記制御部は、前記リクエストにより要求された画像データが前記記憶された連結画像データに含まれるか否かを判断可能であり、当該要求された画像データが当該記憶された連結画像データに含まれる場合、当該記憶された連結画像データを前記他の情報処理装置へ送信するように前記通信部を制御可能である
情報処理装置。
【請求項5】
請求項1に記載の情報処理装置であって、
前記リクエストは、所定の検索条件に合致する画像データの送信を要求する画像検索リクエストであり、
前記制御部は、前記複数の画像データから前記検索条件に合致する複数の画像データを抽出し、当該抽出された複数の画像データを連結して前記連結画像データを生成可能であり、当該連結画像データを検索結果データとして前記他の情報処理装置へ送信するように前記通信部を制御可能である
情報処理装置。
【請求項6】
映像出力部と、
ページデータ上での複数の画像のレイアウトを指定するレイアウト指定情報を含み、当該複数の画像データ及び当該ページデータの送信を要求するリクエストを、他の情報処理装置へ送信可能であり、当該リクエストに応じて前記他の情報処理装置において生成された、前記複数の画像データが連結された連結画像データと、前記レイアウト指定情報に対応したレイアウトデータと、前記ページデータとを、前記他の情報処理装置から受信可能な通信部と、
前記受信されたページデータ上に、前記受信された連結画像データに含まれるそれぞれの画像データを前記受信されたレイアウトデータに従ってレイアウトして当該ページデータを出力するように前記映像出力部を制御可能な制御部と
を具備する情報処理装置。
【請求項7】
複数の画像データと、当該複数の画像データがレイアウトされるページデータとを記憶可能な記憶部と、
前記複数の画像データの前記ページデータ上でのレイアウトを指定するレイアウト指定情報を含み、当該複数の画像データ及び前記ページデータの送信を要求するリクエストを受信可能な第1の通信部と、
前記受信されたリクエストに応じて、前記記憶された複数の画像データを連結した連結画像データと、前記レイアウト指定情報に対応したレイアウトデータとを生成可能であり、前記ページデータと前記連結画像データと前記レイアウトデータとを送信するように前記通信部を制御可能な第1の制御部と
を有する第1の情報処理装置と、
映像出力部と、
前記リクエストを前記第1の情報処理装置へ送信可能であり、当該リクエストに応じて前記第1の情報処理装置において生成された連結画像データと、前記レイアウトデータと、前記ページデータとを、前記第1の情報処理装置から受信可能な第2の通信部と、
前記受信されたページデータ上に、前記受信された連結画像データに含まれるそれぞれの画像データを前記受信されたレイアウトデータに従ってレイアウトして当該ページデータを出力するように前記映像出力部を制御可能な第2の制御部と
を有する第2の情報処理装置と
を具備する情報処理システム。
【請求項8】
複数の画像データと、当該複数の画像データがレイアウトされるページデータとを記憶し、
他の情報処理装置から、前記複数の画像データの前記ページデータ上でのレイアウトを指定するレイアウト指定情報を含み、当該複数の画像データ及び前記ページデータの送信を要求するリクエストを受信し、
前記受信されたリクエストに応じて、前記記憶された複数の画像データを連結した連結画像データと、前記レイアウト指定情報に対応したレイアウトデータとを生成し、
前記ページデータと前記連結画像データと前記レイアウトデータとを前記他の情報処理装置へ送信する
情報処理方法。
【請求項9】
ページデータ上での複数の画像のレイアウトを指定するレイアウト指定情報を含み、当該複数の画像データ及び当該ページデータの送信を要求するリクエストを、他の情報処理装置へ送信し、
前記リクエストに応じて前記他の情報処理装置において生成された、前記複数の画像データが連結された連結画像データと、前記レイアウト指定情報に対応したレイアウトデータと、前記ページデータとを、前記他の情報処理装置から受信し、
前記受信されたページデータ上に、前記受信された連結画像データに含まれるそれぞれの画像データを前記受信されたレイアウトデータに従ってレイアウトして当該ページデータを出力する
情報処理方法。
【請求項10】
情報処理装置に、
複数の画像データと、当該複数の画像データがレイアウトされるページデータとを記憶するステップと、
他の情報処理装置から、前記複数の画像データの前記ページデータ上でのレイアウトを指定するレイアウト指定情報を含み、当該複数の画像データ及び前記ページデータの送信を要求するリクエストを受信するステップと、
前記受信されたリクエストに応じて、前記記憶された複数の画像データを連結した連結画像データと、前記レイアウト指定情報に対応したレイアウトデータとを生成するステップと、
前記ページデータと前記連結画像データと前記レイアウトデータとを前記他の情報処理装置へ送信するステップと
を実行させるプログラム。
【請求項11】
情報処理装置に、
ページデータ上での複数の画像のレイアウトを指定するレイアウト指定情報を含み、当該複数の画像データ及び当該ページデータの送信を要求するリクエストを、他の情報処理装置へ送信するステップと、
前記リクエストに応じて前記他の情報処理装置において生成された、前記複数の画像データが連結された連結画像データと、前記レイアウト指定情報に対応したレイアウトデータと、前記ページデータとを、前記他の情報処理装置から受信するステップと、
前記受信されたページデータ上に、前記受信された連結画像データに含まれるそれぞれの画像データを前記受信されたレイアウトデータに従ってレイアウトして当該ページデータを出力するステップと
を実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2012−242918(P2012−242918A)
【公開日】平成24年12月10日(2012.12.10)
【国際特許分類】
【出願番号】特願2011−109985(P2011−109985)
【出願日】平成23年5月17日(2011.5.17)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】