説明

情報処理装置、ビューワ装置及び情報処理方法

【課題】複数の画像データの取得要求に対する応答速度の向上を図ることのできる情報処理装置を提供する。
【解決手段】この情報処理装置は、縦横に連結されることで1つの画像を構成する画像タイルの系列が前記線状に連なった記憶領域に沿って互いに異なる順序で記録された複数のストレージと、前記画像を構成する画像タイルの系列中の複数の画像タイルに関する取得要求を受信する要求受信部と、前記取得要求を受信したとき、前記複数の画像タイルを最速に読み出し可能な一の前記ストレージを最速ストレージとして判定する判定部と、前記判定された最速ストレージから読み出された前記複数の画像タイルを応答する応答部とを具備する。

【発明の詳細な説明】
【技術分野】
【0001】
本技術は、画像データを保存し、情報処理装置、ビューワ装置及び情報処理方法に関する。
【背景技術】
【0002】
医療又は病理等の分野において、光学顕微鏡により得られた、生体の細胞、組織、臓器等の標本の画像をデジタル化し、そのデジタル画像に基づき、医師や病理学者等がその組織等を検査したり、診断したりするシステムが提案されている。
【0003】
例えば、特許文献1に記載の方法では、顕微鏡により光学的に得られた画像が、CCD(Charge Coupled Device)を搭載したビデオカメラによりデジタル化され、そのデジタル信号が制御コンピュータシステムに入力され、モニタに可視化される。(例えば、特許文献1の段落[0027]、[0028]、図5参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−37250号公報
【特許文献2】特開2007−237421号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記のような顕微鏡システムでは、観察画像から細胞組織の状態を目視により診断するために、高倍率に拡大された標本の顕微像を膨大な解像度をもつCCDなどのイメージセンサにより撮像する。撮像された画像(元画像)は、例えばHDDなどのストレージに保存される。また、元画像は、タイルと呼ばれる256×256(pixel)、256×512(pixel)程度の所定の解像度の単位で管理されており、タイルIDの指定によって、任意の倍率の任意のタイルを一意に選択できるようになっている。
【0006】
また、近年、顕微鏡により撮影した画像データをサーバ装置にて一元管理し、サーバ装置にネットワークを通じて接続されたビューワ装置からの画像リクエストに対して必要な画像データを応答する仕組みが検討されている。このようなシステムによると、複数のビューワ装置からサーバ装置にアクセスすることで同時に複数の観察者による画像の観察が可能になり、診断の効率化を期待できる。
【0007】
しかしながら、顕微鏡により撮像される画像のサイズは膨大である。近年HDD(Hard Disc Drive)などに代表されるストレージおよびそのインタフェースのデータ転送速度も高くなってきたものの、まだまだ実用上十分な応答性が得られているとは言えない。特に、顕微鏡画像のように、縦横に複数の画像データ(タイル)が連結されることによって全体の画像が構成されるような大容量画像の場合、ストレージに対する画像の読み出しはタイル単位となる。読み出しの対象となる複数のタイルの組み合わせによっては、ストレージの記憶媒体の離散した記憶領域からの不連続な読み出しが発生し、これがデータ転送速度の低下の大きな要因ともなる。
【0008】
HDDに対するデータのアクセス速度の向上を図る方式として、RAID0(Redundant Arrays of Inexpensive Disks 0)に規定されるストライピングがある。ストライピングでは、1回のアクセスの対象となるデータを複数のHDDに分散して記録しておき、アクセス要求に対して複数のHDDから並列にデータを読み出して転送する。複数のHDDから同時にデータが転送されるので、データ転送速度の向上を期待することができる。特許文献2には、このようなストライピングを、高速化よりも主に画像データの漏洩防止を目的に採用したことが記載されている。実際のところ、ストライピングそのものによるデータ転送の高速化には限界があり、記憶媒体の離散した記憶領域からの不連続な読み出しによる速度低下分により、全体的なデータ転送速度の向上はあまり期待できない。
【0009】
以上のような事情に鑑み、本技術の目的は、複数の画像データの取得要求に対する応答速度の向上を図ることのできる情報処理装置、ビューワ装置及び情報処理方法を提供することにある。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本技術の一形態に係る情報処理装置は、縦横に連結されることで1つの画像を構成する画像タイルの系列が前記線状に連なった記憶領域に沿って互いに異なる順序で記録された複数のストレージと、前記画像を構成する画像タイルの系列中の複数の画像タイルに関する取得要求を受信する要求受信部と、前記取得要求を受信したとき、前記複数の画像タイルを最速に読み出し可能な一の前記ストレージを最速ストレージとして判定する判定部と、前記判定された最速ストレージから読み出された前記複数の画像タイルを応答する応答部とを具備する。
【0011】
本技術の一形態に係る情報処理装置では、複数のストレージに同一の画像タイルの系列が多重化して記録されているのみならず、ストレージ毎に線状に連なった記憶領域に沿って画像タイルの系列が異なった順序で記録されている。このため、要求された複数の画像タイルの組み合わせによって、それぞれのストレージから目的の複数の画像タイルの読み出し時間に違いが生じる。判定部は、複数の画像タイルに関する取得要求を受信すると、複数のストレージの中から、複数の画像タイルを最速に読み出し可能な一のストレージを最速ストレージとして判定し、続いて応答部が、判定された最速ストレージから読み出された複数の画像タイルを応答する。これにより、複数の画像タイルに関する取得要求に対する応答速度が向上する。
【0012】
前記複数のストレージは、前記画像における横方向の画像タイルの並びの順序で前記複数の画像タイルが前記線状に連なった記憶領域に連続して記録された第1のストレージと、前記画像における縦方向の画像タイルの並びの順序で前記複数の画像タイルが前記線状に連なった記憶領域に連続して記録された第2のストレージとを含むようにしてもよい。これにより、画像において横方向に連続する複数のタイルの要求に対しては、第1のストレージからの読み出しにより応答し、縦に連続する複数のタイルの要求に対しては第2のストレージから読み出しにより応答することによって、高速な応答性が得られる。
【0013】
前記判定部は、前記複数のストレージにそれぞれ同時に、前記複数の画像タイルの読み出し要求を送信し、この読み出し要求に対して最初に応答を送信したストレージを前記最速ストレージとして判定するものであってよい。これによると、最速に応答を返すストレージを予測することが困難な複数の画像タイルの組み合わせに対しても、最速ストレージを確実に判定することができる。
【0014】
前記情報処理装置は、前記判定部の判定結果を履歴として蓄積することが可能な履歴蓄積部をさらに具備し、前記判定部は、前記履歴蓄積部に蓄積された前記履歴を参照して前記最速ストレージを判定するものであってよい。過去の判定結果の履歴を用いることで、画像タイルの読み出し要求先を、履歴が示す1つのストレージに絞ることができるので、ストレージからの画像タイルの無駄な読み出しの回数を低減することができ、消費電力を低減することができる。
【0015】
前記判定部は、前記複数のストレージそれぞれの、前記複数の画像タイルの読み出し予測時間を計算し、この読み出し予測時間が最短のストレージを前記最速ストレージとして判定するものであってよい。
【0016】
前記要求受信部は、前記画像を構成する画像タイルの系列中の複数の画像タイルから表示画像を生成し、前記表示画像の更新に関するユーザからの操作を受け付け、受け付けた前記表示画像の更新に関するユーザの操作をもとに、当該表示画像を更新するために新たに必要な複数の画像タイルを判定し、これら複数の画像タイルに関する取得要求を生成することが可能なビューワ装置より、前記取得要求を受信するものであってよい。これにより、ビューワ装置での表示画像の更新の操作に対する応答性を高めることができる。
【0017】
前記ビューワ装置は、前記表示画像に対するユーザの操作の種別を判定し、当該操作の種別情報を含む前記取得要求を送信し、前記情報処理装置の前記判定部は、前記ビューワ装置より受信した前記取得要求に含まれる前記操作の種別情報をもとに前記最速ストレージの判定を行うものであってよい。これによっても、画像タイルの読み出し要求先を、履歴が示す1つのストレージに絞ることができるので、ストレージからの画像タイルの無駄な読み出しの回数を低減することができ、消費電力を低減することができる。
【0018】
本技術の他の形態に係るビューワ装置は、縦横に連結されることで1つの画像を構成する画像タイルの系列が前記線状に連なった記憶領域に沿って互いに異なる順序で記録された複数のストレージと、前記画像を構成する画像タイルの系列中の複数の画像タイルに関する取得要求を受信する要求受信部と、前記取得要求を受信したとき、前記複数の画像タイルを最速に読み出し可能な一の前記ストレージを最速ストレージとして判定する判定部と、前記判定された最速ストレージから読み出された前記複数の画像タイルを応答する応答部とを具備する情報処理装置に、前記取得要求を送信するビューワ装置であって、前記画像を構成する画像タイルの系列中の複数の画像タイルから表示画像を生成する表示画像生成部と、前記表示画像の更新に関するユーザからの操作を受け付ける入力部と、受け付けた前記表示画像の更新に関するユーザの操作をもとに、当該表示画像を更新するために新たに必要な複数の画像タイルを判定し、これら複数の画像タイルに関する取得要求を生成して前記情報処理装置に送信する画像取得部とを具備する。これにより、表示画像の更新の操作に対する応答性に優れたビューワ装置を提供することができる。
【0019】
本技術のさらに他の形態に係る情報処理方法は、縦横に連結されることで1つの画像を構成する画像タイルの系列が前記線状に連なった記憶領域に沿って互いに異なる順序で記録された複数のストレージを設け、前記画像を構成する画像タイルの系列中の複数の画像タイルに関する取得要求を受信し、前記取得要求を受信したとき、前記複数の画像タイルを最速に読み出し可能な一の前記ストレージを最速ストレージとして判定し、前記判定された最速ストレージから読み出された前記複数の画像タイルを応答する、というものである。
【0020】
本技術のさらに他の形態に係る情報処理装置は、縦横に連結されることで1つの画像を構成する画像タイルの系列が分散されて記録された複数のストレージと、前記画像を構成する画像タイルの系列中の複数の画像タイルに関する取得要求を受信する要求受信部と、前記取得要求を受信したとき、前記複数の画像タイルが記録された複数のストレージを判定する判定部と、前記判定された複数のストレージから並列に読み出された複数の画像タイルを応答する応答部とを具備する。
【0021】
この情報処理装置によれば、要求される複数の画像タイルを別々のストレージから並列に読み出すことにより、複数の画像タイルに関する取得要求に対する応答速度が向上する。
【0022】
前記画像における画像タイルの座標を(X,Y)、前記ストレージのIDをSID、前記ストレージの数をSNとすると、各画像タイルがそれぞれ、
SID=(X―Y) MOD SN
の式によって求められるストレージIDに対応するストレージに記録されるものとしてよい。
【0023】
これにより、画像において縦一列分のタイル群および横一列分のタイル群が全てのストレージに平均的に分散して記録されることで、要求される複数のタイルを別々のストレージから並列に読み出すことができる確率が高くなり、複数の画像タイルに関する取得要求に対する応答速度が向上する。
【0024】
前記画像において縦一列分の複数の画像タイルおよび横一列分の複数の画像タイルが前記複数のストレージに平均的に記録されるとともに、前記画像において一つの斜め方向に連続する複数の画像タイルが同一のストレージの線状に連なった記憶領域に沿って記録されるものとしてよい。表示画像を縦または横に、2つの画像タイル分移動させた場合に、個々のストレージから2つの画像タイルを連続して読み出すことのできる確率が高くなる。これによっても表示画像の更新の操作に対する応答性の向上を図ることができる。
【0025】
本技術のさらに他の形態に係る情報処理方法は、縦横に連結されることで1つの画像を構成する画像タイルの系列が分散されて記録された複数のストレージを設け、前記画像を構成する画像タイルの系列中の複数の画像タイルに関する取得要求を受信し、前記取得要求を受信したとき、前記複数の画像タイルが記録された複数のストレージを判定し、前記判定された複数のストレージから並列に読み出された複数の画像タイルを応答することを特徴とする。
【発明の効果】
【0026】
本技術により、1つの画像を構成する画像タイルの系列中の複数の画像タイルに関する取得要求に対する応答速度が向上する。
【図面の簡単な説明】
【0027】
【図1】本技術の第1の実施形態に係る情報処理システムの構成を示すブロック図である。
【図2】タイル系列に割り当てられたタイルIDを示す図である。
【図3】タイル系列が2つのストレージデバイスに記録されることによって多重化される場合の、ストレージデバイス毎のタイル系列記録順序の例を示す図である。
【図4】他のタイル系列の記録順序を示す図である。
【図5】図4のタイル系列の記録順序を採用した場合の利点を説明するための図である。
【図6】第1の実施形態の情報処理システムにおけるサーバ装置の機能的な構成を示すブロック図である。
【図7】第1の実施形態の情報処理システムにおけるビューワ装置の機能的な構成を示すブロック図である。
【図8】第1の実施形態の情報処理システムにおけるサーバ装置の動作を示すフローチャートである。
【図9】ビューワ装置における表示画像の移動操作の例を示す図である。
【図10】第2の実施形態の情報処理システムにおけるサーバ装置の機能的な構成を示すブロック図である。
【図11】第2の実施形態の情報処理システムにおけるサーバ装置の動作を示すフローチャートである。
【図12】第2の実施形態の情報処理システムにおけるサーバ装置の動作を示すフローチャートである。
【図13】第3の実施形態の情報処理システムにおけるサーバ装置の機能的な構成を示すブロック図である。
【図14】第3の実施形態の情報処理システムにおけるサーバ装置の動作を示すフローチャートである。
【図15】第4の実施形態の情報処理システムにおけるサーバ装置の機能的な構成を示すブロック図である。
【図16】第4の実施形態の情報処理システムにおけるサーバ装置の動作を示すフローチャートである。
【図17】第4の実施形態において操作と最速ストレージとの対応テーブルの例を示す図である。
【図18】本技術に係る第5の実施形態の情報処理システムの構成を示すブロック図である。
【図19】第5の実施形態の情報処理システムにおけるサーバ装置の機能的な構成を示すブロック図である。
【図20】第5の実施形態において被写体画像を構成する複数のタイルに割り当てられたタイルIDおよびタイル座標と、各タイルの記録先のストレージIDとの関係を示す図である。
【図21】第5の実施形態においてストレージの数を"4"とした場合の各タイルの記録先のストレージIDを示す図である。
【図22】表示画像の移動をストレージIDのマップ上に置き換えて示す図である。。
【図23】ズームアウトの操作による表示画像の拡張をストレージIDのマップ上に置き換えて示す図である。
【図24】表示画像の2タイル分の移動をストレージIDのマップ上に置き換えて示す図である。
【図25】情報処理システムの変形例1を示すブロック図である。
【図26】情報処理システムの変形例2を示すブロック図である。
【図27】情報処理システムの変形例3を示すブロック図である。
【図28】ビューワ装置およびサーバ装置に採用されたコンピュータのハードウェア構成を示す図である。
【発明を実施するための形態】
【0028】
以下、図面を参照しながら、本技術の実施形態を説明する。
<第1の実施形態>
【0029】
[情報処理システム]
図1は、本技術の第1の実施形態に係る情報処理システムの構成を示すブロック図である。
この情報処理システム1は、サーバ装置10、複数のストレージデバイス20、ビューワ装置30を備える。なお、以降の説明において、ストレージデバイス20は「ストレージ20」と略称する。また、ストレージ20を個別に特定する場合には「ストレージ20−1」、「ストレージ20−2」のように符号を分けて示し、個別に特定しない場合には単に「ストレージ20」と表記する。サーバ装置10と複数のストレージデバイス20とで本技術の特許請求の範囲の請求項1の「情報処理装置」が構成される。
【0030】
サーバ装置10には複数のストレージ20の接続が可能とされている。複数のストレージ20には、縦横に連結されることで1つの被写体画像を構成する画像データ(画像タイル)の系列がそれぞれ記録される。すなわち、複数のストレージ20には、同一の画像データ(画像タイル)の系列が多重化して記録される。サーバ装置10とビューワ装置30は例えば、インターネット、ローカルエリアネットワークなどのネットワーク2を通じて互いに接続可能である。
【0031】
ビューワ装置30は、サーバ装置10を通じてストレージ20に蓄積された画像データを取得し、表示部に表示させることができる。サーバ装置10は、ビューワ装置30からの画像データの取得要求(タイル取得要求)に応じて、複数のストレージ20に対して目的の画像データを読み出すための要求(タイル読み出し要求)を出し、複数のストレージ20から読み出された画像データをビューワ装置30に応答(タイル取得応答)として返信することが可能である。
【0032】
[画像データについて]
ストレージ20には、縦横に連結されることで1つの被写体画像を構成する画像データ(画像タイル)の系列がそれぞれ記録される。個々の画像データはそれぞれファイルの形式でストレージ20に蓄積されている。このように画像データ(画像タイル)の系列で構成される被写体画像としては、例えば、病理検体の顕微鏡画像などが知られる。被写体画像の解像度はビューワ装置30のもつ表示画面の解像度よりも大きく、ファイル単位の画像データ(画像タイル)の解像度は表示画面の解像度よりも小さい。顕微鏡画像においてファイル単位の画像データの解像度は、縦横が256×256(pixel)、236×512(pixel)程度である。このようにファイル単位の画像データは「タイル」と呼ばれる。それぞれのタイルにはタイルIDが割り当てられている。タイルIDは1つの被写体画像におけるタイルの座標情報と対応付けられる。
【0033】
図2は、被写体画像を構成するタイル系列に対して割り当てられたタイルIDを示す図である。説明の簡単化のため、ここでは縦(Y軸方向)に4つ、横(X軸方向)に4つの計16個のタイルで1つの被写体画像が構成される場合を示す。
【0034】
左上端のタイルにはタイルIDとして"0"が与えられ、そこから右方向に"1"、"2"、"3"のタイルIDが順次割り当てられる。次に1つ下の行の左端から順に各タイルに"4"、"5"、"6"、"7"のタイルIDが割り当てられ、以下の行の各タイルにも同様のルールでタイルIDが割り当てられる。したがって、横一列分のタイル群のタイルIDは連続した値となり、縦一列分のタイル群のタイルIDは一定間隔毎の値となる。
【0035】
ビューワ装置30は、複数のタイルIDを指定したタイル取得要求をサーバ装置10に送信する。サーバ装置10は、このタイル取得要求を受けると、この要求に含まれる複数のタイルIDを抽出し、これらのタイルIDを格納したタイル読み出し要求を生成してストレージ20に送信する。そしてサーバ装置10は、ストレージ20から読み出された複数のタイルを格納したタイル読み出し応答を受信し、ここから複数のタイルを取り出してビューワ装置30にタイル取得応答として返信する。
【0036】
[ストレージ20とタイル系列の記録順序]
次に、ストレージ20とタイル系列の記録順序について説明する。
ストレージ20は、例えばHDD(Hard Disk Drive)などの記憶媒体を備える。HDDに限らず、ブルーレイ(登録商標)ディスク、DVD(Digital Versatile Disc)などの光学ディスク、光磁気ディスクなどを用いることも可能である。
【0037】
この種の記憶媒体は、例えば「トラック」など、線状に連なった記憶領域を有する。読み出し対象となる複数のタイルが、その線状に連なった記憶領域に連続して記録されている場合には最も高速にデータを読み出すことができる。逆に、読み出しの対象となる複数のタイルが線状に連なった記憶領域に離散的に記録されている場合には、シークやトラックジャンプなどが発生し、データ読み出しの速度は落ちる。
【0038】
例えば、タイルIDが図2のように割り当てられている場合を考える。この場合、被写体画像の中でビューワ装置30の表示画面に表示された画像部分(以下「表示画像」と呼ぶ。)を1タイル分縦方向に移動させるには、タイルIDが連続する複数のタイルが読み出しの対象となる。したがって、縦横に連結されることで1つの被写体画像を構成するタイル系列がタイルIDの順序で、ストレージ20の線状に連なった記憶領域に連続して記録されている場合には、ストレージ20から効率良く目的の複数のタイルを読み出すことができる。ところが、表示画像を横方向に移動させる場合には、タイルIDが不連続の複数のタイルが読み出し対象となるため、ストレージ20の線状に連なった記憶領域から飛び飛びに目的の複数のタイルを読み出すこととなり、読み出しに時間がかかる。
【0039】
本実施形態の情報処理システム1は、縦横に連結されることで1つの被写体画像を構成するタイル系列が、線状に連なった記憶領域に沿って互いに異なる順序で記録された複数のストレージ20を用いることによって、上記の課題を解決するものである。以降、縦横に連結されることで1つの被写体画像を構成するタイル系列を単に「タイル系列」と表記する。
【0040】
図3はタイル系列が2つのストレージ20に記録されることによって多重化される場合の、ストレージ毎のタイル系列の記録順序の例を示す図である。
2つのストレージ20のうち第1のストレージ20−1においては、被写体画像において横方向のタイルの並びの順序(タイルIDの順序)でタイル系列が線状に連なった記憶領域に沿って連続して記録されている。第2のストレージ20−2においては、被写体画像において縦方向のタイルの並びの順序でタイル系列が線状に連なった記憶領域に沿って連続して記録されている。
【0041】
これにより、被写体画像において横方向に連続する複数のタイルの要求に対しては、第1のストレージ20−1からの読み出しにより応答し、縦に連続する複数のタイルの要求に対しては第2のストレージ20−2から読み出しにより応答することによって、表示画像の上下左右どの方向への移動の指示に対しても、高速な応答性が得られる。
【0042】
なお、本技術は、図3に示したタイル系列の記録順序が異なる2つのストレージ20−1,20−2を採用することに限定されるものではない。例えば、図4に示すように、ビルベルト曲線順にタイル系列が記録された第3のストレージ20などを図3の2つのストレージ20−1,20−2にさらに加えてもよい。さらに、その他のタイル系列の記録順序を採用したストレージを加えて4つ以上のストレージとしてもよい。
【0043】
ビルベルト曲線順の有効性について説明する。例えば、図5に示すように、タイルIDが"5"、"6"、"9"、"10"の部分から"8"、"9"、"12"、"13"の部分に表示画像を移動させる場合を考える。この場合、タイルIDが"8"、"12"、"13"の3つのタイルをビューワ装置30が新たに取得しなければならない。ビルベルト曲線順にタイル系列が記録されたストレージにおいては、タイルIDが"8"、"12"、"13"の3つのタイルが記憶媒体の線状に連なった記憶領域に沿って並んで記録されている。よって、図5に示した表示画像の移動操作に対しては、ビルベルト曲線順が最速であることが分かる。
【0044】
本実施形態の情報処理システム1において、サーバ装置10は、ビューワ装置30からのタイル取得要求に対して、複数のストレージ20の中で、当該タイル取得要求に含まれる複数のタイルを最速に読み出し可能な最速のストレージを判定し、この最速のストレージから読み出された複数のタイルをビューワ装置30にタイル取得応答として返信する。次に、このサーバ装置10の詳細を説明する。
【0045】
[サーバ装置10の構成]
図6はサーバ装置10の機能的な構成を示すブロック図である。
サーバ装置10は、ビューワI/O11(要求受信部、応答部)、ストレージI/O13、及び判定部15を備える。
【0046】
ビューワI/O11は、ビューワ装置30とネットワーク2を通じてタイル取得要求およびタイル取得応答などの入出力を行う。すなわち、ビューワI/O11は、ビューワ装置30よりネットワーク2を通じて複数のタイルIDを含むタイル取得要求を受信して判定部15にわたす。また、ビューワI/O11は、判定部15からの指示に従って、複数のタイルを格納したタイル取得応答をネットワーク2を通じてビューワ装置30に返信する。
【0047】
ストレージI/O13は、複数のストレージ20との間でタイル読み出し要求およびタイル読み出し応答などの入出力を行うインタフェースである。すなわち、ストレージI/O13は、判定部15からの指示に従って、複数のタイルIDを格納したタイル読み出し要求を各ストレージ20に送信する。また、ストレージI/O13は、各ストレージ20より複数のタイルを格納したタイル読み出し応答を受信し、判定部15にわたす。
【0048】
判定部15は、ビューワ装置30からのタイル取得要求に含まれる複数のタイルIDに対応する複数のタイルを最速に読み出し可能なストレージ20を最速ストレージとして判定する。判定部15は、この最速ストレージから読み出された複数のタイルをビューワ装置30にタイル取得応答として応答するようにビューワI/O11を制御する。
【0049】
最速ストレージを判定する方法には、
1.複数のストレージに同一のタスク読み出し要求を同時に送信し、最初にタイル読み出し応答を送信したストレージを最速ストレージとして判定する方法。
2.最速ストレージの判定結果を応答履歴として蓄積し、この応答履歴をもとに、以後のタイル取得要求に対して最速ストレージを一意に決定する方法(第2の実施形態)。
3.ストレージそれぞれのタイル読み出し予測時間を計算し、このタイル読み出し予測時間が最短のストレージを最速ストレージとして判定する方法(第3の実施形態)。
4.表示画像に対するユーザの操作の種別に応じて最速ストレージを一意に判定する方法(第4の実施形態)。
などがある。なお、本実施形態では1の方法が採用されている。
【0050】
[ビューワ装置30の構成]
図7は第1の実施形態の情報処理システム1におけるビューワ装置30の機能的な構成を示すブロック図である。
ビューワ装置30は、入力部31、画像取得部33、表示画像生成部35、表示部37およびサーバI/O39を備える。
【0051】
表示部37は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置などのディスプレイデバイスである。
【0052】
入力部31は、表示部37に出力された表示画像の移動やズームアウトなどの更新に関するユーザからの操作を受け付ける。入力部31は、例えば、マウス、キーボード、タッチパネルなどユーザが情報を入力するための入力デバイスと、入力デバイスからの入力に基づいて入力信号を生成して画像取得部33に出力する入力制御回路などから構成されている。
【0053】
画像取得部33は、表示画像の更新に関するユーザの操作に対応する入力信号を入力部31より入力し、この入力信号をもとに、当該表示画像を更新するために新たに必要な複数のタイルそれぞれのタイルIDを求める。画像取得部33は、求めた複数のタイルIDを含むタイル取得要求を生成して、サーバI/O39を用いてネットワーク2を通じてサーバ装置10に送信する。画像取得部33は、サーバ装置10より目的の複数のタイルが格納されたタイル取得応答をサーバI/O39を用いて受信し、その中の複数のタイルを表示画像生成部35に供給する。
【0054】
表示画像生成部35は、画像取得部33より供給された複数のタイルと、必要に応じて既に取得している複数のタイルとを用いて新たな表示画像を生成し、表示部37に供給する。
【0055】
サーバI/O39は、サーバ装置10との間でタイル取得要求およびタイル取得応答の送受信を行う。
【0056】
[情報処理システム1の動作]
次に、本実施形態の情報処理システム1の動作を説明する。
図8は第1の実施形態の情報処理システム1におけるサーバ装置10の動作を示すフローチャートである。
なお、ストレージ20の数は"2"として説明するが、本実施形態においては、ストレージ20の数は複数であればよい。
【0057】
まず、ビューワ装置30において、表示部37に出力された表示画像に対して移動、ズームアウトなど、表示画像を更新するためのユーザからの指示が入力部31から入力される。ビューワ装置30の画像取得部33は、このユーザからの指示をもとに、表示画像を更新するうえで新たに必要な複数のタイルのタイルIDを計算する。
【0058】
なお、ここで「複数のタイル」としたが、実際には1つのタイルだけが読み出される場合もある。但し、1つのタイルが読み出されるとき、タイル系列の記録順序の違いに起因した読み出し時間の違いが生じることはない。本技術の効果が得られるのは、縦または横に連続する複数のタイルが読み出し対象となっている場合である。そこで、本明細書においては「複数のタイル」という表現を使用する。
【0059】
次に、ビューワ装置30の画像取得部33は、新たに必要と判定された複数のタイルIDを含むタイル取得要求をネットワーク2を通じてサーバ装置10に送信する。
【0060】
サーバ装置10の判定部15は、ビューワI/O11を通じてビューワ装置30からのタイル取得要求を受信すると(ステップS101)、このタイル取得要求から複数のタイルIDを抽出してタイル読み出し要求を生成し、ストレージI/O13を通じて2つのストレージ20に送信する(ステップS102、S103)。以降、2つのストレージ20の一方を「第1のストレージ20−1」、他方を「第2のストレージ20−2」とする。
【0061】
この後、判定部15は、第1のストレージ20−1および第2のストレージ20−2からのタイル読み出し応答を待つ(ステップS104)。判定部15は、第1のストレージ20−1からのタイル読み出し応答を第2のストレージ20−2からのタイル読み出し応答に対して先に受信した場合(ステップS105のYES)、第1のストレージ20−1を最速ストレージとして判定する。判定部15は、最速ストレージとして判定した第1のストレージ20−1から受信したタイル読み出し応答から複数のタイルを取り出し、これら複数のタイルを格納したタイル取得応答をビューワI/O11を通じてビューワ装置30に送信する(ステップS106)。この後、判定部15は、もしも第2のストレージ20−2からのタイル読み出し応答も受信していた場合には、これを破棄する(ステップS107)。
【0062】
また、判定部15は、第2のストレージ20−2からのタイル読み出し応答が第1のストレージ20−1からのタイル読み出し応答に対して先に受信した場合(ステップS108のYES)、第2のストレージ20−2を最速ストレージとして判定する。そして判定部15は、この最速ストレージとして判定した第2のストレージ20−2から受信したタイル読み出し応答から複数のタイルを取り出し、これら複数のタイルを格納したタイル取得応答をビューワI/O11を通じてビューワ装置30に送信する(ステップS109)。この後、判定部15は、もしも第1のストレージ20−1からのタイル読み出し応答を既に受信していた場合には、これを破棄する(ステップS110)。
【0063】
[動作の具体例]
図9はビューワ装置30における表示画像の移動操作の例を示す図である。
図9の中央は、被写体画像81中の移動前の表示画像82の位置を示している。移動前においては、タイルIDが"5","6","9","10"の4つのタイルが表示画像82としてビューワ装置30の表示部37に表示されている。
【0064】
ビューワ装置30のユーザより、表示画像82を右へ1タイル分移動させる指示が与えられると、ビューワ装置30の画像取得部33は、移動後の表示画像82を表示するうえで新たに必要な複数のタイルのタイルIDを"7","11"と判定し、これらのタイルIDを含むタイル取得要求をサーバ装置10に送信する。
【0065】
また、ユーザによって表示画像82を左へ1タイル分移動させる指示、下へ1タイル分の移動の指示、上へ1タイル分の移動の指示が与えられた場合も同様に、新たに必要な複数のタイルのタイルIDを含むタイル取得要求がビューワ装置30からサーバ装置10に送信される。
【0066】
ここで、第1のストレージ20−1には、被写体画像において横方向に並ぶ複数のタイルが当該第1のストレージ20−1の線状に連なった記憶領域に連続して記録されていることとする。また、第2のストレージ20−2には、被写体画像において縦方向に並ぶ複数のタイルが、当該第2のストレージ20−2の線状に連なった記憶領域に連続して記録されていることとする。
【0067】
この場合、表示画像の右または左への1タイル分の移動に対して新たに必要となる複数のタイルは、被写体画像において縦方向に並ぶ複数のタイルである。したがって、この場合には、第2のストレージ20−2が第1のストレージ20−1よりも先に目的の複数のタイルを読み出してサーバ装置10に返信する。また、表示画像の下または上への1タイル分の移動の指示に対して新たに必要となる複数のタイルは、被写体画像において横方向に並ぶ複数のタイルである。したがって、この場合には、第1のストレージ20−1が第2のストレージ20−2よりも先に目的の複数のタイルを読み出してサーバ装置10に返信する。このようにしてサーバ装置10の判定部15は複数のストレージ20間で最速に目的の複数のタイルを読み出すことのできたストレージ20を最速ストレージとして判定し、この最速ストレージから応答された複数のタイルをビューワ装置30にタイル取得応答として返信する。これによりビューワ装置30での表示画像の操作に対する応答速度の向上を図ることができる。
【0068】
<第2の実施形態>
次に、本技術に係る第2の実施形態を説明する。第2の実施形態の情報処理システムにおいては、サーバ装置が、最速ストレージの判定結果を応答履歴として蓄積し、この応答履歴をもとに、以後のタイル取得要求に対して最速ストレージを一意に決定することに特徴がある。
【0069】
図10は、第2の実施形態の情報処理システムにおけるサーバ装置10Aの機能的な構成を示すブロック図である。本実施形態のサーバ装置10Aは、上記の応答履歴を蓄積する履歴データベース70Aを備える点と、判定部15Aによる最速ストレージの判定方法の点で、第1の実施形態のサーバ装置10と相違する。その他の構成は第1の実施形態のサーバ装置10と同じである。また、ビューワ装置30の構成は第1の実施形態と同じである。
【0070】
図11および図12は、第2の実施形態の情報処理システムにおけるサーバ装置10Aの動作を示すフローチャートである。
【0071】
まず、ビューワ装置30において、表示部37に出力された表示画像に対して移動、ズームアウトなど、表示画像を更新するためのユーザからの指示が入力部31から入力される。ビューワ装置30の画像取得部33は、このユーザからの指示をもとに、表示画像を更新するうえで新たに必要な複数のタイルのタイルIDを計算する。次に、ビューワ装置30の画像取得部33は、新たに必要と判定された複数のタイルIDを含むタイル取得要求をネットワーク2を通じてサーバ装置10Aに送信する。
【0072】
サーバ装置10Aの判定部15Aは、ビューワI/O11Aを通じてビューワ装置30からのタイル取得要求を受信すると(ステップS201)、このタイル取得要求から複数のタイルIDを抽出し、これらのタイルIDの組み合わせに該当する応答履歴を履歴データベース70Aから検索する(ステップS202)。該当する応答履歴が履歴データベース70Aに存在しない場合(ステップS203のNO)、図11のステップS211、S212に移行する。ステップS211、S212において、サーバ装置10Aの判定部15Aは、タイル取得要求から複数のタイルIDを抽出し、抽出したタイルIDを格納したタイル読み出し要求を生成し、ストレージI/O13Aを通じて第1のストレージ20−1と第2のストレージ20−2に送信する。
【0073】
この後、判定部15Aは、第1のストレージ20−1および第2のストレージ20−2からのタイル読み出し応答を待つ(ステップS213)。判定部15Aは、第1のストレージ20−1からのタイル読み出し応答を第2のストレージ20−2からのタイル読み出し応答よりも先に受信した場合(ステップS214のYES)、第1のストレージ20−1を最速ストレージとして判定する。判定部15Aは、この最速ストレージである第1のストレージ20−1から受信したタイル読み出し応答から複数のタイルを取り出し、これらのタイルを格納したタイル取得応答をビューワI/O11Aを通じてビューワ装置30に送信する(ステップS215)。
【0074】
続いて判定部15Aは、今回読み出しの対象とした複数のタイルIDと第1のストレージ20−1との組み合わせを応答履歴として履歴データベース70Aに記録する(ステップS216)。この後、判定部15Aは、もしも第2のストレージ20−2からのタイル読み出し応答を既に受信していた場合には、これを破棄する(ステップS217)。以上で今回のタイル取得要求に対する処理が終了となる。
【0075】
また、判定部15Aは、第2のストレージ20−2からのタイル読み出し応答が第1のストレージ20−1からのタイル読み出し応答よりも先に受信した場合(ステップS218のYES)、第2のストレージ20−2を最速ストレージとして判定する。判定部15Aは、この最速ストレージである第2のストレージ20−2から受信したタイル読み出し応答から複数のタイルを取り出し、これらのタイルを格納したタイル取得応答をビューワI/O11Aを通じてビューワ装置30に送信する(ステップS219)。
【0076】
続いて判定部15Aは、今回読み出しの対象とした複数のタイルIDと第2のストレージ20−2との組み合わせを応答履歴として履歴データベース70Aに記録する(ステップS220)。この後、判定部15Aは、もしも第1のストレージ20−1からのタイル読み出し応答を既に受信していた場合には、これを破棄する。以上で今回のタイル取得要求に対する処理が終了となる。
【0077】
次に、図10のステップS203に戻って、該当する応答履歴が履歴データベース70Aから検索された場合(ステップS203のYES)について説明する。
サーバ装置10Aの判定部15Aは、検索された応答履歴から最速のストレージ20が第1のストレージ20−1と第2のストレージ20−2のどちらであるかを確認する(ステップS204)。
【0078】
判定部15Aは、第1のストレージ20−1が最速であることを知ると(ステップS204のYES)、ストレージI/O13Aを通じて第1のストレージ20−1にタイル読み出し要求を送信する(ステップS205)。判定部15Aは、第1のストレージ20−1から目的のタイルが格納されたタイル読み出し応答を受信し(ステップS206)、このタイル読み出し応答から複数のタイルを取り出す。そして判定部15Aは、取り出した複数のタイルを格納したタイル取得応答をビューワI/O11Aによってビューワ装置30に送信する(ステップS207)。
【0079】
また、判定部15Aは、第2のストレージ20−2が最速であることを知ると(ステップS204のNO)、ストレージI/O13Aを通じて第2のストレージ20−2にタイル読み出し要求を送信する(ステップS208)。判定部15Aは、第2のストレージ20−2から目的のタイルが格納されたタイル読み出し応答を受信し(ステップS209)、このタイル読み出し応答から複数のタイルを取り出す。そして判定部15Aは、取り出した複数のタイルを格納したタイル取得応答をビューワI/O11Aによってビューワ装置30に送信する(ステップS210)。
【0080】
以上、本実施形態によれば、サーバ装置10Aの判定部15Aは、ビューワ装置30より要求された複数のタイルを、より高速に読み出すことのできるストレージ20を履歴データベース70Aを参照して判定する。判定部15Aは、判定されたストレージ20に読み出し要求を送信し、そのストレージ20より読み出された複数のタイルをビューワ装置30に転送する。これにより、第1の実施形態に比較して、ストレージ20による無駄なタイル読み出しの回数を低減することができ、消費電力を低減できる。
【0081】
<第3の実施形態>
次に、本技術に係る第3の実施形態を説明する。
図13は、第3の実施形態の情報処理システムにおけるサーバ装置の機能的な構成を示すブロック図である。本実施形態のサーバ装置10Bは、判定部15Bが、ビューワ装置30から要求された複数のタイルをそれぞれのストレージ20から読み出すために必要な時間であるタイル読み出し予測時間を計算し、このタイル読み出し予測時間が最短である最速ストレージから目的の複数のタイルを読み出す、という点で第1の実施形態のサーバ装置10と相違する。その他の構成は第1の実施形態のサーバ装置10と同じである。また、ビューワ装置30の構成は第1の実施形態と同じである。
【0082】
図14は、第3の実施形態の情報処理システムにおけるサーバ装置の動作を示すフローチャートである。
【0083】
まず、ビューワ装置30において、表示部37に出力された表示画像に対して移動、ズームアウトなど、表示画像を更新するためのユーザからの指示が入力部31から入力される。ビューワ装置30の画像取得部33は、このユーザからの指示をもとに、表示画像を更新するうえで新たに必要な複数のタイルのタイルIDを計算する。次に、ビューワ装置30の画像取得部33は、新たに必要と判定された複数のタイルIDを含むタイル取得要求をネットワーク2を通じてサーバ装置10Bに送信する。
【0084】
サーバ装置10Bの判定部15Bは、ビューワI/O11Bを通じてビューワ装置30からの当該タイル取得要求を受信すると(ステップS301)、このタイル取得要求から複数のタイルIDを抽出する。判定部15Bは、これら複数のタイルIDに対応する複数のタイルを、それぞれのストレージ20から読み出すために必要な時間であるタイル読み出し予測時間を計算する(ステップS302)。
【0085】
判定部15Bは、第1のストレージ20−1のタイル読み出し予測時間と第2のストレージ20−2のタイル読み出し予測時間との比較し、タイル読み出し予測時間が短い方のストレージ20を最速ストレージとして判定する。判定部15Bは、第1のストレージ20−1が最速ストレージであることを判定すると(ステップS303のYES)、ストレージI/O13Bを通じて第1のストレージ20−1にタイル読み出し要求を送信する(ステップS304)。続いて判定部15Bは、第1のストレージ20−1から目的のタイルが格納されたタイル読み出し応答を受信し(ステップS305)、このタイル読み出し応答から複数のタイルを取り出す。そして判定部15Bは、取り出した複数のタイルを格納したタイル取得応答をビューワI/O11Bによってビューワ装置30に送信する(ステップS306)。
【0086】
また、判定部15Bは、第2のストレージ20−2が最速ストレージであることを判定すると(ステップS303のNO)、ストレージI/O13Bを通じて第2のストレージ20−2にタイル読み出し要求を送信する(ステップS307)。続いて判定部15Bは、第2のストレージ20−2から目的の複数のタイルが格納されたタイル読み出し応答を受信し(ステップS308)、このタイル読み出し応答から複数のタイルを取り出す。そして判定部15Bは、取り出した複数のタイルを格納したタイル取得応答をビューワI/O11Bによってビューワ装置30に送信する(ステップS309)。
【0087】
タイル読み出し予測時間は、例えば、次のようにして計算することが可能である。
ストレージ20の種類をHDDとする。HDDからの画像データの読み出し時間であるTread(us)は、ヘッドを1回シークさせるのに必要な時間をTseek(us)、ディスクから連続領域にあるデータを読み出すデータレートをS(byte/us)、要求された画像ファイルを読み出すために必要なヘッドのシーク回数をn、要求された画像ファイルの合計サイズをb(byte)として、以下の式により計算される。
Tread=(b/S)+Tseek×n
【0088】
ここでタイル読み出し時間に実効的に影響するのはシーク回数である。シーク回数を得るためには、それぞれのストレージ20について、トラック毎に記録されているセクタのセクタIDの情報があればよい。
【0089】
<第4の実施形態>
次に、本技術に係る第4の実施形態を説明する。
図15は、第4の実施形態の情報処理システムにおけるサーバ装置の機能的な構成を示すブロック図である。本実施形態のサーバ装置10Cは、判定部15Cが、ビューワ装置30からのタイル取得要求に含まれるユーザの操作の種別の情報に応じて最速ストレージを判定し、この最速ストレージから目的の複数のタイルを読み出す、という点で第1の実施形態のサーバ装置10と相違する。その他の構成は第1の実施形態のサーバ装置10と同じである。また、第4の実施形態において、ビューワ装置30は、表示画像に対するユーザによる操作の種類を判定し、この操作をもとに表示画像を更新するために新たに必要な複数のタイルのタイルIDを判定する。また、ビューワ装置30は、判定した複数のタイルIDと操作の種別の情報を含むタイル取得要求を送信する。
【0090】
図16は、第4の実施形態の情報処理システムにおけるサーバ装置10Cの動作を示すフローチャートである。
【0091】
まず、ビューワ装置30において、表示部37に出力された表示画像に対して移動、ズームアウトなど、表示画像を更新するためのユーザからの指示が入力部31から入力される。ビューワ装置30の画像取得部33は、このユーザからの指示をもとに、表示画像を更新するうえで新たに必要な複数のタイルのタイルIDを計算する。次に、ビューワ装置30の画像取得部33は、新たに必要と判定された複数のタイルIDとユーザの操作の種別の情報を含むタイル取得要求をネットワーク2を通じてサーバ装置10Cに送信する。
【0092】
サーバ装置10Cの判定部15Cは、ビューワI/O11Cを通じてビューワ装置30からの当該タイル取得要求を受信すると(ステップS401)、このタイル取得要求から操作の種別情報を抽出する(ステップS402)。判定部15Cは、操作の種別情報をもとに最速ストレージとしてのストレージ20を判定する(ステップS402)。判定部15Cは、ストレージI/O13Cを通じて、最速ストレージとして判定されたストレージ20にタイル読み出し要求を送信する(ステップS403)。続いて判定部15Cは、そのストレージ20から目的のタイルが格納されたタイル読み出し応答を受信し(ステップS404)、このタイル読み出し応答から複数のタイルを取り出す。そして判定部15Cは、取り出した複数のタイルを格納したタイル取得応答をビューワI/O11Cによってビューワ装置30に送信する(ステップS405)。
【0093】
図17は、操作と最速ストレージとの対応テーブルの例を示す図である。判定部15Cは、このテーブルを参照して、タイル取得要求に含まれる操作の種別に対して予め割り当てられたストレージ20を最速ストレージとして判定する。
【0094】
ここで、第1のストレージ20−1には、被写体画像において横方向に並ぶ複数のタイルが、当該第1のストレージ20−1の線状に連なった記憶領域に沿って並ぶように記録されている。したがって、ズームアウトの上下の移動の操作に対しては、この第1のストレージ20−1が最速ストレージとしてテーブルに設定される。また、第2のストレージ20−2には、被写体画像において縦方向に並ぶ複数のタイルが、当該第2のストレージ20−2の線状に連なった記憶領域に沿って並ぶように記録されている。したがって、ズームアウトの左右の移動の操作に対しては、この第2のストレージ20−2が最速ストレージとしてテーブルに設定される。ズームアウトの場合、ズームアウトの上下左右の外側のタイル群が新たに必要となることから、上下に追加されるタイル群に対しては第1のストレージ20−1が最速ストレージとして設定され、左右に追加されるタイル群に対しては第2のストレージ20−2が最速ストレージとして設定される。ズームイン、ジャンプ(表示するタイルの全置換)、新規オープンなどの操作について、第1のストレージ20−1と第2のストレージ20−2との間での応答性にこれといった違いはないので、どちらを最速ストレージとして設定してもよい。
【0095】
本実施形態によると、操作と最速ストレージとの相関が既知である範囲において、タイル読み出し要求先を1つのストレージ20に絞ることができるので、第1の実施形態に比較して、ストレージ20が画像を無駄に読み出す動作を回避することができる。
【0096】
<第5の実施形態>
次に、本技術に係る第5の実施形態を説明する。
図18は、本技術に係る第5の実施形態の情報処理システム1Dの構成を示す図である。
この第5の実施形態の情報処理システム1Dにおいては、縦横に連結されることで1つの被写体画像を構成するタイル系列が複数のストレージに分散して記録されている。
【0097】
図19は、第5の実施形態の情報処理システム1Dにおけるサーバ装置10Dの機能的な構成を示すブロック図である。本実施形態のサーバ装置10Dでは、判定部15Dが、ビューワ装置30から要求された複数のタイルが分散して記録されている複数のストレージ20を、分散ルール記憶部19Dに記憶されている分散ルールに基づいて判定する。判定部15Dは、判定した複数のストレージ20にストレージI/O13Dを通じてタイル読み出し要求を送信し、それぞれのストレージ20から読み出された複数のファイルをビューワI/O11Dを通じてビューワ装置30にタイル取得応答として返信する。その他の構成は第1の実施形態のサーバ装置10と同じである。また、ビューワ装置30の構成は第1の実施形態と同じである。
【0098】
図20は、被写体画像を構成する複数のタイルに割り当てられたタイルIDおよびタイル座標と、各タイルの記録先のストレージIDとの関係を示す図である。ここで、被写体画像を構成するタイルの数は"64"である。それぞれのタイルには"0"から"63"までのタイルIDが、それぞれのタイルの被写体画像上の座標データとともに予め割り当てられている。一方、ストレージ20の数は"8"とされ、それぞれのストレージ20には"0"から"7"までの数値がストレージIDとして予め与えられているものとする。
【0099】
タイル系列を複数のストレージ20に分散するルールとしては、例えば、次のようなものがある。
被写体画像おけるタイルの座標を(X,Y)、ストレージIDをSID、ストレージ20の台数をSNとすると、各タイルは以下の式によって求められるストレージIDに保存される。
SID=(X―Y) MOD SN
すなわち、タイルの座標(X,Y)をストレージ20の台数(SN)で割ったときの余りの値が、そのタイルの記録先のストレージ20のストレージIDとなる。これにより、各ストレージ20に平均的にタイル系列を分散できる。
【0100】
さらに、被写体画像において縦一列分のタイル群および横一列分のタイル群が複数のストレージ20に平均的に分散して記録されるとともに、被写体画像において一つの斜め方向に連続するタイル群が同一のストレージ20の記憶媒体の線状に連なった記憶領域に沿って記録されるようにしてある。例えば、被写体画像におけるタイルの座標とストレージとの関係は次のように規定される。
SID=0のストレージに記録されるタイル
(0,0)→(1,1)→(2,2)→・・・
(SN,0)→(SN+1,1)→(SN+2,2)→・・・
(SN*2,0)→(SN*2+1,1)→(SN*2+2,2)→・・・
SID=1のストレージ20に記録されるタイル
(1,0)→(2,1)→(3,2)→・・・
(SN+1,0)→(SN+2,1)→(SN+3,2)→・・・
(SN*2+1,0)→(SN*2+2,1)→(SN*2+3,2)→・・・
SID=2のストレージ20に記録されるタイル
(2,0)→(3,1)→(4,2)→・・・
(SN+2,0)→(SN+3,1)→(SN+4,2)→・・・
(SN*2+2,0)→(SN*2+3,1)→(SN*2+4,2)→・・・
・・・
SID=SN−1のストレージ20に記録されるタイル
(SN―1,0)→(SN,1)→(SN+1,2)→・・・
(SN*2−1,0)→(SN*2,1)→(SN*2+1,2)→・・・
(SN*3−1,0)→(SN*3,1)→(SN*3+1,2)→・・・
【0101】
図21はストレージ20の数を"4"とした場合の各タイルの記録先のストレージIDを示す図である。以上の分散ルールによれば、ストレージ20の数を"4"とした場合においても、被写体画像において縦一列分のタイル群および横一列分のタイル群が複数のストレージ20に平均的に記録されるとともに、被写体画像において一つの斜め方向に連続するタイル群が同一のストレージ20の記憶媒体の線状に連なった記憶領域に沿って記録される。
【0102】
このように被写体画像において縦一列分のタイル群および横一列分のタイル群が全てのストレージ20に平均的に分散して記録されることで、要求される複数のタイルを別々のストレージから並列に読み出すことができる確率が高くなる。この結果、表示画像の更新の操作に対する応答性が向上する。また、被写体画像において一つの斜め方向に連続するタイル群が同一のストレージ20の記憶媒体の線状に連なった記憶領域に沿って並んで記録されるようにしたことで、表示画像を縦または横に2タイル分移動させた場合に、個々のストレージから2つのタイルを連続して読み出すことのできる確率が高くなる。これによっても表示画像の更新の操作に対する応答性の向上を図ることができる。
【0103】
図22は表示画像の移動をストレージIDのマップ上に置き換えて示す図である。
図22の中央は、移動前の被写体画像における表示画像182の位置を示すマップ181を示している。ビューワ装置30のユーザによって左右上下いずれかの方向への1タイル分の移動の指示が与えられると、ビューワ装置30の画像取得部33(図7参照)は、表示画像を更新するうえで新たに必要な複数のタイルのタイルIDを判定し、これら複数のタイルIDを含むタイル取得要求をサーバ装置10Dに送信する。
【0104】
図22の例では、左右上下のどの方向へ表示画像182を移動させても、新たに必要とされる複数のタイルは全て別々のストレージIDのストレージ20に記録されたものとなる。このため、要求される複数のタイルをそのタイル数分の別々のストレージから並列に読み出すことができ、表示画像の更新の操作に対する応答性が向上する。
【0105】
図23はズームアウトの操作による表示画像192の拡張をストレージIDのマップ191上に置き換えて示す図である。この場合にも、全てのストレージ20から並列に複数のタイルが読み出されることによって、応答速度の向上が期待できる。
【0106】
図24は表示画像192の2タイル分の移動をストレージIDのマップ上に置き換えて示す図である。このように表示画像192を2タイル分以上移動させた場合には、個々のストレージ20の記憶媒体の線状に連なった記憶領域に沿って連続して2つ以上のタイルが読み出される。したがって、表示画像の更新の操作に対する応答性が向上する。
【0107】
<変形例1>
次に、上記の実施形態の情報処理システムの変形例を説明する。
図25は情報処理システムの構成の変形例1を示す図である。
上記の実施形態の情報処理システム1においては、サーバ装置10に複数のストレージ20から接続され、サーバ装置10が複数のストレージ20に直接タイル読み出し要求を送信することによってタイルを取得していた。変形例1では、ネットワーク2上に、ストレージ20毎のストレージサーバ装置50E−1、50E−2が設けられる。それぞれのストレージサーバ装置50E−1、50E−2は、サーバ装置10Dからの要求に従って、自身に接続されているストレージ20にタイル読み出し要求を出し、ストレージ20から複数のタイルを受け取り、サーバ装置10Eに応答として返す。この変形例によれば、ストレージ20に対する処理をストレージサーバ装置50E−1、50E−2が担うことによって、サーバ装置10Eの負担を軽減することが可能である。このため、サーバ装置10Eに同時に接続してタイルを取得可能なビューワ装置30の数を増やすことなどが可能になる。なお、図25において、2つのネットワーク2は2つの別々のネットワークであってもよいし、1つのネットワークであってもよい。
【0108】
<変形例2>
図26は情報処理システムの構成の変形例2を示す図である。この変形例2では、履歴データベース70Fの接続されたサーバ装置10Fと2機のストレージサーバ装置50F−1、50F−2とがネットワーク2を通じて接続されたものである。基本的な動作は第2の実施形態と同じである。この構成によっても、サーバ装置10Fの負担を軽減することができ、サーバ装置10Fに同時に接続してタイルを取得可能なビューワ装置30の数を増やすことなどが可能になる。なお、図26において、2つのネットワーク2は2つの別々のネットワークであってもよいし、1つのネットワークであってもよい。
【0109】
<変形例3>
図27は情報処理システムの構成の変形例3を示す図である。この変形例3では、ビューワ装置30Gにネットワーク2を通じて、ストレージ20毎のストレージサーバ装置50G−1、50G−2が接続される。ビューワ装置30Gはサーバ装置10Gに対してどちらのストレージ20からタイルを取得すべきかを問い合せる。サーバ装置10Gは、例えば、第3の実施形態によるストレージ毎のタイル読み出し予測時間を計算し、タイル読み出し予測時間が短い方のストレージ20からタイルを取得するようにビューワ装置30Gに応答する。ビューワ装置30Gは、この応答に従ってネットワーク2を通じて一方のストレージサーバ装置50Gにタイル取得要求を送信し、そのストレージサーバ装置50Gから複数のタイルを取得する。
【0110】
<変形例4>
以上、サーバ装置とビューワ装置とが分離したシステムについて説明したが、サーバ装置とビューワ装置は一体の情報処理装置として実現するようにしてもよい。但し、複数のユーザが同時に画像データを利用できるようにするためには、実施形態で述べたように、サーバ/クライアントシステムとすべきである。サーバ装置と複数のストレージも一体の情報処理装置であってもよい。サーバ装置と履歴データベースも一体の情報処理装置であってもよい。
【0111】
[ビューワ装置、サーバ装置のハードウェア構成]
次に、以上の実施形態のビューワ装置、サーバ装置のハードウェア構成を説明する。
以上の実施形態のビューワ装置、サーバ装置は、それぞれ典型的なコンピュータのハードウェアを備える。
【0112】
図28は、典型的なコンピュータ200のハードウェア構成を示す図である。
同図に示すように、コンピュータ200は、CPU(Central Processing Unit)201と、ROM(Read Only Memory)202と、RAM(Random Access Memory)203とを備える。また、コンピュータ200は、入力装置204と、出力装置205と、記録装置206と、メディアインタフェース装置207と、ネットワーク接続装置208と、これらを接続するバス209とを備える。
【0113】
CPU201は、演算処理装置および制御装置として機能し、各種プログラムに従ってコンピュータ200の動作全般を制御する。ROM202は、CPU201が使用するプログラムや演算パラメータ等を記憶する。RAM203は、CPU201により実行されるプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。
【0114】
例えば、図6に示したサーバ装置10の機能的な構成および図7に示したビューワ装置30の機能的な構成などは、例えば、当該コンピュータ200のハードウェア構成において、CPU201と、ROM202に格納されたプログラムと、RAM203のワーキング領域などによって実現されるものである。
【0115】
入力装置204は、マウス、キーボード、タッチパネルなどユーザが情報を入力するための装置である。図7に示したビューワ装置30の入力部31はこの入力装置204である。
【0116】
出力装置205は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置などである。図7に示したビューワ装置30の表示部37はこの出力装置205である。
【0117】
記録装置206は、プログラムやユーザデータ格納用の装置である。記録装置206は、記憶媒体と、記憶媒体にデータを書き込んだり読み出したりする読み書き装置などで構成される。記録装置106は、例えば、HDD(Hard Disk Drive)などで構成される。上記の各実施形態のストレージ20として、この記録装置206を利用するようにしてもよい。
【0118】
メディアインタフェース装置207は、記憶媒体用リーダライタである。メディアインタフェース装置207は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体4に対してデータの読み書きを行う。
【0119】
ネットワーク接続装置208は、例えば、ネットワーク2に接続するためのインタフェースである。ネットワーク接続装置208は、無線LAN(Local Area Network)対応の装置であっても、ワイヤレスUSB対応の装置であっても、有線による通信を行うワイヤー通信装置であってもよい。
【0120】
なお、本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【0121】
本技術は以下のような構成も採ることができる。
(1)縦横に連結されることで1つの画像を構成する画像タイルの系列が前記線状に連なった記憶領域に沿って互いに異なる順序で記録された複数のストレージと、
前記画像を構成する画像タイルの系列中の複数の画像タイルに関する取得要求を受信する要求受信部と、
前記取得要求を受信したとき、前記複数の画像タイルを最速に読み出し可能な一の前記ストレージを最速ストレージとして判定する判定部と、
前記判定された最速ストレージから読み出された前記複数の画像タイルを応答する応答部とを具備する
情報処理装置。
(2)前記(1)に記載の情報処理装置であって、
前記複数のストレージは、
前記画像における横方向の画像タイルの並びの順序で前記複数の画像タイルが前記線状に連なった記憶領域に連続して記録された第1のストレージと、
前記画像における縦方向の画像タイルの並びの順序で前記複数の画像タイルが前記線状に連なった記憶領域に連続して記録された第2のストレージとを含む
情報処理装置。
(3)前記(1)または(2)に記載の情報処理装置であって、
前記判定部は、前記複数のストレージにそれぞれ同時に、前記複数の画像タイルの読み出し要求を送信し、この読み出し要求に対して最初に応答を送信したストレージを前記最速ストレージとして判定する
情報処理装置。
(4)前記(1)から(3)のいずれかに記載の情報処理装置であって
前記情報処理装置は、前記判定部の判定結果を履歴として蓄積することが可能な履歴蓄積部をさらに具備し、
前記判定部は、前記履歴蓄積部に蓄積された前記履歴を参照して前記最速ストレージを判定する
情報処理装置。
(5)前記(1)または(2)に記載の情報処理装置であって、
前記判定部は、前記複数のストレージそれぞれの、前記複数の画像タイルの読み出し予測時間を計算し、この読み出し予測時間が最短のストレージを前記最速ストレージとして判定する
情報処理装置。
(6)前記(1)から(5)のいずれかに記載の情報処理装置であって、
前記要求受信部は、前記画像を構成する画像タイルの系列中の複数の画像タイルから表示画像を生成し、前記表示画像の更新に関するユーザからの操作を受け付け、受け付けた前記表示画像の更新に関するユーザの操作をもとに、当該表示画像を更新するために新たに必要な複数の画像タイルを判定し、これら複数の画像タイルに関する取得要求を生成することが可能なビューワ装置より前記取得要求を受信する
情報処理装置。
【符号の説明】
【0122】
1…情報処理システム
2…ネットワーク
10…サーバ装置
11…ビューワI/O
13…ストレージI/O
15…判定部
20…ストレージデバイス
30…ビューワ装置
31…入力部
33…表示画像生成部
35…画像取得部
37…表示部
70A…履歴データベース

【特許請求の範囲】
【請求項1】
縦横に連結されることで1つの画像を構成する画像タイルの系列が線状に連なった記憶領域に沿って互いに異なる順序で記録された複数のストレージと、
前記画像を構成する画像タイルの系列中の複数の画像タイルに関する取得要求を受信する要求受信部と、
前記取得要求を受信したとき、前記複数の画像タイルを最速に読み出し可能な一の前記ストレージを最速ストレージとして判定する判定部と、
前記判定された最速ストレージから読み出された前記複数の画像タイルを応答する応答部とを具備する
情報処理装置。
【請求項2】
請求項1に記載の情報処理装置であって、
前記複数のストレージは、
前記画像における横方向の画像タイルの並びの順序で前記複数の画像タイルが前記線状に連なった記憶領域に連続して記録された第1のストレージと、
前記画像における縦方向の画像タイルの並びの順序で前記複数の画像タイルが前記線状に連なった記憶領域に連続して記録された第2のストレージとを含む
情報処理装置。
【請求項3】
請求項1に記載の情報処理装置であって、
前記判定部は、前記複数のストレージにそれぞれ同時に、前記複数の画像タイルの読み出し要求を送信し、この読み出し要求に対して最初に応答を送信したストレージを前記最速ストレージとして判定する
情報処理装置。
【請求項4】
請求項1に記載の情報処理装置であって、
前記情報処理装置は、前記判定部の判定結果を履歴として蓄積することが可能な履歴蓄積部をさらに具備し、
前記判定部は、前記履歴蓄積部に蓄積された前記履歴を参照して前記最速ストレージを判定する
情報処理装置。
【請求項5】
請求項1に記載の情報処理装置であって、
前記判定部は、前記複数のストレージそれぞれの、前記複数の画像タイルの読み出し予測時間を計算し、この読み出し予測時間が最短のストレージを前記最速ストレージとして判定する
情報処理装置。
【請求項6】
請求項1に記載の情報処理装置であって、
前記要求受信部は、前記画像を構成する画像タイルの系列中の複数の画像タイルから表示画像を生成し、前記表示画像の更新に関するユーザからの操作を受け付け、受け付けた前記表示画像の更新に関するユーザの操作をもとに、当該表示画像を更新するために新たに必要な複数の画像タイルを判定し、これら複数の画像タイルに関する取得要求を生成することが可能なビューワ装置より前記取得要求を受信する
情報処理装置。
【請求項7】
請求項6に記載の情報処理装置であって、
前記ビューワ装置は、前記表示画像に対するユーザの操作の種別を判定し、当該操作の種別情報を含む前記取得要求を送信し、
前記情報処理装置の前記判定部は、
前記ビューワ装置より受信した前記取得要求に含まれる前記操作の種別情報をもとに前記最速ストレージの判定を行う
情報処理装置。
【請求項8】
縦横に連結されることで1つの画像を構成する画像タイルの系列が前記線状に連なった記憶領域に沿って互いに異なる順序で記録された複数のストレージと、
前記画像を構成する画像タイルの系列中の複数の画像タイルに関する取得要求を受信する要求受信部と、
前記取得要求を受信したとき、前記複数の画像タイルを最速に読み出し可能な一の前記ストレージを最速ストレージとして判定する判定部と、
前記判定された最速ストレージから読み出された前記複数の画像タイルを応答する応答部とを具備する情報処理装置に、前記取得要求を送信するビューワ装置であって、
前記画像を構成する画像タイルの系列中の複数の画像タイルから表示画像を生成する表示画像生成部と、
前記表示画像の更新に関するユーザからの操作を受け付ける入力部と、
受け付けた前記表示画像の更新に関するユーザの操作をもとに、当該表示画像を更新するために新たに必要な複数の画像タイルを判定し、これら複数の画像タイルに関する取得要求を生成して前記情報処理装置に送信する画像取得部と
を具備するビューワ装置。
【請求項9】
縦横に連結されることで1つの画像を構成する画像タイルの系列が前記線状に連なった記憶領域に沿って互いに異なる順序で記録された複数のストレージを設け、
前記画像を構成する画像タイルの系列中の複数の画像タイルに関する取得要求を受信し、
前記取得要求を受信したとき、前記複数の画像タイルを最速に読み出し可能な一の前記ストレージを最速ストレージとして判定し、
前記判定された最速ストレージから読み出された前記複数の画像タイルを応答する
情報処理方法。
【請求項10】
縦横に連結されることで1つの画像を構成する画像タイルの系列が分散されて記録された複数のストレージと、
前記画像を構成する画像タイルの系列中の複数の画像タイルに関する取得要求を受信する要求受信部と、
前記取得要求を受信したとき、前記複数の画像タイルが記録された複数のストレージを判定する判定部と、
前記判定された複数のストレージから並列に読み出された複数の画像タイルを応答する応答部とを具備する
情報処理装置。
【請求項11】
請求項10に記載の情報処理装置であって、
前記画像における画像タイルの座標を(X,Y)、前記ストレージのIDをSID、前記ストレージの数をSNとすると、各画像タイルがそれぞれ、
SID=(X―Y) MOD SN
の式によって求められるストレージIDに対応するストレージに記録される
情報処理装置。
【請求項12】
請求項11に記載の情報処理装置であって、
前記画像において縦一列分の複数の画像タイルおよび横一列分の複数の画像タイルが前記複数のストレージに平均的に記録されるとともに、前記画像において一つの斜め方向に連続する複数の画像タイルが同一のストレージの線状に連なった記憶領域に沿って記録される
情報処理装置。
【請求項13】
縦横に連結されることで1つの画像を構成する画像タイルの系列が分散されて記録された複数のストレージを設け、
前記画像を構成する画像タイルの系列中の複数の画像タイルに関する取得要求を受信し、
前記取得要求を受信したとき、前記複数の画像タイルが記録された複数のストレージを判定し、
前記判定された複数のストレージから並列に読み出された複数の画像タイルを応答する
情報処理方法。

【図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

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate


【公開番号】特開2013−46219(P2013−46219A)
【公開日】平成25年3月4日(2013.3.4)
【国際特許分類】
【出願番号】特願2011−182614(P2011−182614)
【出願日】平成23年8月24日(2011.8.24)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】