(57)【要約】【課題】バッファメモリの使用効率の向上を図り、ユーザ操作に対する表示変更の応答速度を総合的に向上させるための技術を提供する。【解決手段】ユーザの操作には、表示する領域を水平方向に移動する第１の変更操作、表示する領域を奥行き方向に移動する第２の変更操作、表示倍率を変更する第３の変更操作などがある。画像生成装置では、複数の変更操作のそれぞれについて、変更操作が行われた場合に表示用の画像データの更新に必要となるデータを予測し、変更操作ごとに予測したデータをメモリ領域に格納する。ここで、メモリ領域に格納可能なデータ量の変更操作ごとの配分が、現在の表示倍率、ユーザ設定モード、アノテーション情報、操作履歴、ユーザ情報、染色の種別などに応じて、適応的に変わる。【選択図】図９
2013167798.tif 000002
【特許請求の範囲】
【請求項１】
元の画像データの一部に対応する画像を表示し、その表示する部分をユーザの操作に従って変更する機能を有するビューアのために、元の画像データから表示用の画像データを生成する画像生成装置であって、
元の画像データを記憶する第１の記憶手段と、
前記元の画像データの一部のデータを一時的に格納可能であって且つ前記第１の記憶手段よりも高速にデータを読み出し可能である第２の記憶手段と、
ユーザの操作に応じて、前記元の画像データから表示用の画像データを生成する生成手段であって、表示用の画像データの生成に必要なデータが前記第２の記憶手段に格納されている場合には前記第２の記憶手段に格納されているデータを用いる、生成手段と、
前記生成手段で利用されるデータを予測して、前記元の画像データのうちどの部分のデータを前記第２の記憶手段に格納するかを制御する制御手段と、
を備え、
前記ユーザの操作には、表示する領域を水平方向に移動する第１の変更操作と、表示する領域を奥行き方向に移動する第２の変更操作および表示倍率を変更する第３の変更操作の少なくともいずれかと、を含む複数の変更操作があり、
前記制御手段は、前記複数の変更操作のそれぞれについて、変更操作が行われた場合に表示用の画像データの更新に必要となるデータを予測し、変更操作ごとに予測したデータを前記第２の記憶手段に格納するものであり、
前記第２の記憶手段に格納可能なデータ量の変更操作ごとの配分が変更可能である
ことを特徴とする画像生成装置。
【請求項２】
前記制御手段が、前記ビューアまたは前記元の画像データから取得される情報に応じて、前記第２の記憶手段に格納可能なデータ量の変更操作ごとの配分を自動的に変更する
ことを特徴とする請求項１に記載の画像生成装置。
【請求項３】
前記情報は、前記ビューアに現在表示されている画像の表示倍率の情報である
ことを特徴とする請求項２に記載の画像生成装置。
【請求項４】
前記制御手段は、前記表示倍率が低いほど、前記第１の変更操作に対する配分を多くする
ことを特徴とする請求項３に記載の画像生成装置。
【請求項５】
前記情報は、前記ビューアにおいてユーザにより設定されるモードの情報である
ことを特徴とする請求項２に記載の画像生成装置。
【請求項６】
前記モードは、組織診か細胞診かを指定するためのものであり、
前記制御手段は、組織診が指定された場合に、細胞診が指定された場合よりも、前記第１の変更操作に対する配分を多くする
ことを特徴とする請求項５に記載の画像生成装置。
【請求項７】
前記モードは、前記複数の変更操作のうち優先すべき操作を指定するためのものであり、
前記制御手段は、優先すべき操作として指定された変更操作に対する配分を、他の変更操作に対する配分よりも多くする
ことを特徴とする請求項５に記載の画像生成装置。
【請求項８】
前記情報は、前記元の画像データの中の注目領域に対して付されたアノテーション情報である
ことを特徴とする請求項２に記載の画像生成装置。
【請求項９】
前記制御手段は、前記ビューアに現在表示されている画像上にアノテーション情報が存在する場合に、アノテーション情報が存在しない場合よりも、前記第２または第３の変更操作に対する配分を多くする
ことを特徴とする請求項８に記載の画像生成装置。
【請求項１０】
前記情報は、前記元の画像データを前記ビューアで表示する際にユーザにより行われた変更操作の履歴情報である
ことを特徴とする請求項２に記載の画像生成装置。
【請求項１１】
前記制御手段は、前記第２の変更操作が１回以上行われていた場合に、前記第２の変更操作が１回も行われていない場合よりも、前記第２の変更操作に対する配分を多くする
ことを特徴とする請求項１０に記載の画像生成装置。
【請求項１２】
前記情報は、前記ユーザを識別するための情報である
ことを特徴とする請求項２に記載の画像生成装置。
【請求項１３】
前記制御手段は、前記情報によって前記ユーザがスクリーニング作業を行う者か詳細観察を行う者かを判別し、スクリーニング作業を行う者である場合に、詳細観察を行う者である場合よりも、前記第１の変更操作に対する配分を多くする
ことを特徴とする請求項１２に記載の画像生成装置。
【請求項１４】
前記情報は、前記元の画像データの中の被写体に施された染色の種別である
ことを特徴とする請求項２に記載の画像生成装置。
【請求項１５】
前記制御手段は、前記染色の種別によって前記元の画像データが組織診のためのデータか細胞診のためのデータかを判断し、組織診のためのデータである場合に、細胞診のためのデータである場合よりも、前記第１の変更操作に対する配分を多くする
ことを特徴とする請求項１４に記載の画像生成装置。
【請求項１６】
元の画像データを記憶する第１の記憶手段と、
前記元の画像データの一部のデータを一時的に格納可能であって且つ前記第１の記憶手段よりも高速にデータを読み出し可能である第２の記憶手段と、
前記元の画像データの一部に対応する画像を表示し、その表示する部分をユーザの操作に従って変更する機能を有するビューアのために、前記元の画像データから表示用の画像データを生成する生成手段であって、表示用の画像データの生成に必要なデータが前記第２の記憶手段に格納されている場合には前記第２の記憶手段に格納されているデータを用いる、生成手段と、
を備える画像生成装置の制御方法であって、
前記ユーザの操作には、表示する領域を水平方向に移動する第１の変更操作と、表示する領域を奥行き方向に移動する第２の変更操作および表示倍率を変更する第３の変更操作の少なくともいずれかと、を含む複数の変更操作があり、
前記制御方法は、
前記ビューアまたは前記元の画像データから取得される情報に応じて、前記第２の記憶手段に格納可能なデータ量の変更操作ごとの配分を変更するステップと、
前記複数の変更操作のそれぞれについて、変更操作が行われた場合に表示用の画像データの更新に必要となるデータを予測し、変更操作ごとに予測したデータを前記配分に従って前記第２の記憶手段に格納するステップと、
を含むことを特徴とする画像生成装置の制御方法。
【請求項１７】
元の画像データを記憶する第１の記憶手段と、
前記元の画像データの一部のデータを一時的に格納可能であって且つ前記第１の記憶手段よりも高速にデータを読み出し可能である第２の記憶手段と、
前記元の画像データの一部に対応する画像を表示し、その表示する部分をユーザの操作に従って変更する機能を有するビューアのために、前記元の画像データから表示用の画像データを生成する生成手段であって、表示用の画像データの生成に必要なデータが前記第２の記憶手段に格納されている場合には前記第２の記憶手段に格納されているデータを用いる、生成手段と、備え、
前記ユーザの操作には、表示する領域を水平方向に移動する第１の変更操作と、表示する領域を奥行き方向に移動する第２の変更操作および表示倍率を変更する第３の変更操作の少なくともいずれかと、を含む複数の変更操作がある、
画像生成装置に対し、
前記ビューアまたは前記元の画像データから取得される情報に応じて、前記第２の記憶手段に格納可能なデータ量の変更操作ごとの配分を変更するステップと、
前記複数の変更操作のそれぞれについて、変更操作が行われた場合に表示用の画像データの更新に必要となるデータを予測し、変更操作ごとに予測したデータを前記配分に従って前記第２の記憶手段に格納するステップと、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、元の画像データから表示用の画像データを生成する画像生成装置、及び、その制御方法に関する。
【背景技術】
【０００２】
病理分野において、病理診断のツールである光学顕微鏡の代替として、プレパラートに載置された被検試料を撮像しデジタル化してディスプレイ上での病理診断を可能とするバーチャル・スライド・システムがある。バーチャル・スライド・システムによる病理診断画像のデジタル化により、従来の被検試料の光学顕微鏡像をデジタルデータとして取り扱える。それによって、遠隔診断の迅速化、デジタル画像を使った患者への説明、希少症例の共有化、教育・実習の効率化、などのメリットが得られる。
【０００３】
バーチャル・スライド・システムで光学顕微鏡の操作を仮想化して実現するためには、プレパラート上の被検試料全体像をデジタル化する必要がある。被検試料全体像のデジタル化により、バーチャル・スライド・システムで作成したデジタルデータをＰＣやワークステーション上で動作するビューアソフトで観察することができる。被検試料全体像をデジタル化した場合の画素数は、通常、数億画素から数十億画素であり、非常に大きなデータ量となる。
バーチャル・スライド・システムで作成したデータの量は膨大であるが、それゆえ、ビューアで拡縮を行うことでミクロ（細部拡大像）からマクロ（全体俯瞰像）まで観察することができ、種々の利便性を提供する。必要な情報を予め全て取得しておくことで、低倍画像から高倍画像までユーザが欲する解像度・倍率による即時の表示が可能となる。
【０００４】
また、プレパラート内の標本は厚みを持っており、観察したい組織や細胞が存在する奥行き位置がプレパラートの（水平方向の）観察位置によって異なる。そのため、光軸方向に沿って焦点位置を変えて複数枚の画像を撮像する構成が存在する。（本明細書では、光軸方向に沿って焦点位置を変えて撮像することにより取得した複数枚の画像データを「Ｚスタック画像」と呼び、Ｚスタック画像を構成する各焦点位置の２次元画像データを「レイヤー画像」と呼ぶ。）
【０００５】
病理診断において病理医は光学顕微鏡を駆使して、高速に倍率変更・ステージ移動・焦点合わせ等を行い、プレパラート全体の観察と細部の確認を行っている。しかし、バーチャル・スライド・システムで撮影した高精細大容量画像データの表示速度は病理医の観察速度に追いついておらず、画像の病理診断のデジタル化を進める上での課題の一つとなっている。それゆえ、バーチャル・スライド・システムで利用されるビューアにおいては、表示領域の水平（ＸＹ）方向の変更、表示領域の奥行き（Ｚ）方向の変更、表示倍率（Ｍ）の変更といったユーザ操作に対する表示応答性の向上が望まれている。
【０００６】
従来、解像度の異なる画像データから構成される階層画像データの高速表示技術に関して、以下の提案がされている。特許文献１では、まず、所定サイズのブロックに分割された圧縮画像データから、表示される可能性が高い画像領域のデータを圧縮したままメインメモリにロードする。続いて、ロードした圧縮画像データの中から、表示に必要あるいは必要と予測される領域の画像データをデコード（画像の圧縮符号化を解凍）し、デコードしたデータを高速アクセス可能なバッファメモリへ格納する構成を取っている。上記構成により表示画像の更新の応答速度を高めている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−８７９０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら上述した従来の技術においては、以下のような問題があった。
特許文献１における先読み処理の一例として、表示履歴に基づく予測が開示されている。しかし、初めて観察する領域（未表示の領域）には表示履歴が存在しないため、有効な先読みが実現できず、画像更新の応答速度向上ができないという課題があった。また、特許文献１では先読み処理の他の一例として、画像内容に基づく予測が開示されている。しかし、この予測では、表示と同時に画像解析を行うため、負荷が大きく、応答速度向上を実現しづらい課題があった。
また、特許文献１では、メインメモリにロードする画像ブロックとして、表示画像と同一階層内の画像ブロックより別の階層、すなわち拡大画像及び縮小画像の画像ブロックを優先させる規則を開示している。これは階層を移動すると、デコードしたメモリを全て更新するため、それを避ける必要性に基づく。しかし、この規則を適用すると、ユーザがもっぱら同一階層内で表示領域を移動させる場合や、表示領域を同一階層内で大きく移動させた場合に、バッファが有効に利かず応答速度が低下してしまうという課題がある。
【０００９】
一般に画像ビューアのユーザが次にどのような操作を指示するかを正確に予測するのは難しい。特に、水平（ＸＹ）方向の移動、奥行き（Ｚ）方向の移動、倍率（Ｍ）の変更のように、画像ビューアにおける表示変更の自由度が高くなるほど、予測の困難性は高くなる。とはいえ、高速アクセス可能なメモリは高価であるとともに、バッファメモリの容量に物理的もしくは論理的な制約がある場合もあるため、起こり得る変更操作をすべてカバーできるほどのバッファメモリを用意することは現実的でない。したがって、限られた容量のバッファメモリを効率的に使うための工夫が望まれる。
【００１０】
本発明は上記課題に鑑みてなされたものであり、バッファメモリの使用効率の向上を図り、ユーザ操作に対する表示変更の応答速度を総合的に向上させるための技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の第一態様は、元の画像データの一部に対応する画像を表示し、その表示する部分をユーザの操作に従って変更する機能を有するビューアのために、元の画像データから表示用の画像データを生成する画像生成装置であって、元の画像データを記憶する第１の記憶手段と、前記元の画像データの一部のデータを一時的に格納可能であって且つ前記第１の記憶手段よりも高速にデータを読み出し可能である第２の記憶手段と、ユーザの操作に応じて、前記元の画像データから表示用の画像データを生成する生成手段であって、表示用の画像データの生成に必要なデータが前記第２の記憶手段に格納されている場合には前記第２の記憶手段に格納されているデータを用いる、生成手段と、前記生成手段で利用されるデータを予測して、前記元の画像データのうちどの部分のデータを前記第２の記憶手段に格納するかを制御する制御手段と、を備え、前記ユーザの操作には、表示する領域を水平方向に移動する第１の変更操作と、表示する領域を奥行き方向に移動する第２の変更操作および表示倍率を変更する第３の変更操作の少なくともいずれかと、を含む複数の変更操作があり、前記制御手段は、前記複数の変更操作のそれぞれについて、変更操作が行われた場合に表示用の画像データの更新に必要となるデータを予測し、変更操作ごとに予測したデータを前記第２の記憶手段に格納するものであり、前記第２の記憶手段に格納可能なデータ量の変更操作ごとの配分が変更可能であることを特徴とする画像生成装置である。
【００１２】
本発明の第二態様は、元の画像データを記憶する第１の記憶手段と、前記元の画像データの一部のデータを一時的に格納可能であって且つ前記第１の記憶手段よりも高速にデータを読み出し可能である第２の記憶手段と、前記元の画像データの一部に対応する画像を表示し、その表示する部分をユーザの操作に従って変更する機能を有するビューアのために、前記元の画像データから表示用の画像データを生成する生成手段であって、表示用の画像データの生成に必要なデータが前記第２の記憶手段に格納されている場合には前記第２の記憶手段に格納されているデータを用いる、生成手段と、を備える画像生成装置の制御方法であって、前記ユーザの操作には、表示する領域を水平方向に移動する第１の変更操作と、表示する領域を奥行き方向に移動する第２の変更操作および表示倍率を変更する第３の変更操作の少なくともいずれかと、を含む複数の変更操作があり、前記制御方法は、前記ビューアまたは前記元の画像データから取得される情報に応じて、前記第２の記憶手段に格納可能なデータ量の変更操作ごとの配分を変更するステップと、前記複数の変更操作のそれぞれについて、変更操作が行われた場合に表示用の画像データの更新に必要となるデータを予測し、変更操作ごとに予測したデータを前記配分に従って前記第２の記憶手段に格納するステップと、を含むことを特徴とする画像生成装置の制御方法である。
【００１３】
本発明の第三態様は、元の画像データを記憶する第１の記憶手段と、前記元の画像データの一部のデータを一時的に格納可能であって且つ前記第１の記憶手段よりも高速にデータを読み出し可能である第２の記憶手段と、前記元の画像データの一部に対応する画像を表示し、その表示する部分をユーザの操作に従って変更する機能を有するビューアのために、前記元の画像データから表示用の画像データを生成する生成手段であって、表示用の画像データの生成に必要なデータが前記第２の記憶手段に格納されている場合には前記第２の記憶手段に格納されているデータを用いる、生成手段と、備え、前記ユーザの操作には、表示する領域を水平方向に移動する第１の変更操作と、表示する領域を奥行き方向に移動する第２の変更操作および表示倍率を変更する第３の変更操作の少なくともいずれかと、を含む複数の変更操作がある、画像生成装置に対し、前記ビューアまたは前記元の画像データから取得される情報に応じて、前記第２の記憶手段に格納可能なデータ量の変更操作ごとの配分を変更するステップと、前記複数の変更操作のそれぞれについて、変更操作が行われた場合に表示用の画像データの更新に必要となるデータを予測し、変更操作ごとに予測したデータを前記配分に従って前記第２の記憶手段に格納するステップと、を実行させることを特徴とするプログラムである。
【発明の効果】
【００１４】
本発明によれば、バッファメモリの使用効率の向上を図り、ユーザ操作に対する表示変更の応答速度を総合的に向上させることができる。
【図面の簡単な説明】
【００１５】
【図１】画像表示システムの構成図。
【図２】画像ビューアの一表示例を示す模式図。
【図３】画像生成装置の内部構成を示す図。
【図４】被写体であるプレパラートを示す図。
【図５】プレパラート撮影の様子を示す図。
【図６】第１実施形態における階層画像データのデータ構造を表す模式図。
【図７】ユーザ操作に応じた表示更新とデータ先読みを実現する機能ブロック図。
【図８】図７の各部の入出力画像データの格納場所や構造を説明する為の模式図。
【図９】第１実施形態の先読み領域計算部の内部処理を示すフローチャート。
【図１０】領域グループの分類結果を説明する模式図。
【図１１】第１実施形態における奥行き領域グループの先読み領域を示す模式図。
【図１２】第７実施形態における階層画像データのデータ構造を表す模式図。
【図１３】第８実施形態における階層画像データのデータ構造を表す模式図。
【発明を実施するための形態】
【００１６】
＜第１実施形態＞
（全体構成）
図１は、本発明の実施形態に係る画像表示システムの構成を示している。
画像生成装置（ホストコンピュータ）１００には、ユーザからの入力を受け付ける入力操作デバイス１１０と、画像生成装置１００で処理した画像をユーザに表示する為のディスプレイ（表示装置）１２０が接続される。入力操作デバイス１１０には、キーボード１１１、マウス１１２、ユーザの操作性を高めるための専用コントローラ１１３（例えばトラックボール）などがある。また画像生成装置１００には、ハードディスクや光学ドライブ、フラッシュメモリ等の記憶装置１３０、ネットワークＩ／Ｆを通じてアクセスできる他のコンピュータシステム１４０が接続されている。なお、図１では記憶装置１３０は画像生成装置１００の外部に存在するが、画像生成装置１００に内蔵しても良い。
画像生成装置１００では、入力操作デバイス１１０から入力されたユーザの制御信号に従い、記憶装置１３０から画像データを取得し、表示用の画像データを生成・更新する。
【００１７】
画像表示アプリケーション（画像ビューア）は画像生成装置１００で実行されるコンピュータプログラムである。このプログラムは画像生成装置１００内の内部記憶装置（不図示）または記憶装置１３０に格納されている。画像生成装置１００で生成した表示用の画像データは、画像表示アプリケーション（画像ビューア）によりディスプレイ１２０の画面に表示され、ユーザに提示される。
【００１８】
（表示画面）
図２は、画像生成装置１００で生成した表示データを、画像表示アプリケーションを通じて、ディスプレイ１２０に表示した場合の一例である。
【００１９】
図２は画像表示アプリケーションの画面レイアウトの基本構成である。表示画面は、全体ウィンドウ２０１内に、表示や操作のステータスと画像の各種情報を示す情報エリア２０２、観察対象（検体）の全体を示すサムネイル画像２０３、詳細観察用の表示領域２０５、表示領域２０５の表示倍率２０６等が配置された構成である。サムネイル画像２０３には、詳細観察用の表示領域２０５に現在表示されている領域が枠線２０４で表示される。これにより、ユーザは、表示領域２０５で詳細観察している画像が検体全体の中のどの位置・大きさの部分に対応するのかを把握することができる。
【００２０】
ユーザは入力操作デバイス１１０を用いて、詳細観察用の表示領域２０５に表示する領域を水平（ＸＹ）方向に移動させたり、表示倍率（Ｍ）を拡大／縮小したり、表示する領域を奥行き（Ｚ）方向に移動させたりといった、各種の変更操作を指示できる。表示領域２０５に表示する画像に対する変更操作としては、他にも、画像の回転、被写界深度の変更（深度合成）などを用意してもよい。また、ユーザは入力操作デバイス１１０を用いて、表示領域２０５に表示されている画像の任意の位置にアノテーション情報（コメント情報）２０７を付与することができる。
【００２１】
奥行き（Ｚ）方向の移動とは、Ｚスタック画像の場合は焦点位置の異なるレイヤー画像への切り替えを意味する。あるいは、他の手段で得られた３次元画像データ（例えばボクセルデータ）の場合には、スライス位置を移動する操作に対応する。
【００２２】
水平方向の移動は、例えば、表示領域２０５内の画像またはサムネイル画像２０３上の枠線２０４をマウス１１２でドラッグする操作により指示できる。画像の拡大／縮小は、例えば、マウスホイールの回転操作によって実現できる（例えば、ホイールの前方回転を拡大、後方回転を縮小に割り当てる）。また、奥行き方向の移動は、例えば、所定のキー
（例えばＣｔｒｌキー）を押しながらのマウスホイールの回転操作で実現できる（例えば、ホイールの前方回転を奥行きが深い画像への移動に、後方回転を奥行きが浅い画像への移動に割り当てる）。
【００２３】
上記のようなユーザの表示画像の変更操作に伴い、表示領域２０５、表示倍率２０６、サムネイル画像２０３内の枠線２０４が更新される。このようにして、ユーザは所望する水平位置、奥行き位置、倍率の画像を観察できる。
【００２４】
（画像生成装置）
図３は画像生成装置１００の内部のハードウェア構成を示す図である。
ＣＰＵ３０１はメインメモリ３０２に格納されているプログラムやデータを用いて画像生成装置全体の制御を行う。またＣＰＵ３０１は、以降の実施形態で説明する各種演算処理及びデータ処理、例えば、符号化圧縮データのデコード、画像の拡大縮小や回転、画像ビューアの実行、表示画像の更新、データの先読み（バッファリング）等を行う。
【００２５】
メインメモリ３０２は記憶装置１３０からロードされたプログラムやデータ、他のコンピュータシステム１４０からネットワークＩ／Ｆ（インターフェース）３０４を介してダウンロードしたプログラムやデータを一時的に記憶するエリアを備える。またメインメモリ３０２は、ＣＰＵ３０１が各種の処理を行うために必要とするワークエリアを備える。
【００２６】
入力操作デバイス１１０は、キーボード１０２、マウス１０３、専用コントローラ１１３などＣＰＵ３０１に各種の指示を入力することのできるデバイスにより構成される。ユーザは画像生成装置１００の動作を制御する情報を入力操作デバイス１１０により入力する。３０５は入力操作デバイス１１０を介して入力された各種の指示等をＣＰＵ３０１に通知するためのＩ／Ｏである。記憶装置１３０はハードディスクやＳＳＤなどの大容量情報記憶装置であり、ＯＳ（オペレーティングシステム）や以降の実施形態で説明する処理をＣＰＵ３０１に実行させるためのプログラムや画像データなどを記憶する。記憶装置１３０への情報の書き込みや記憶装置１３０からの情報の読み出しはＩ／Ｏ３０６を介して行われる。
【００２７】
ディスプレイ制御装置３０７は画像や文字等をディスプレイ１２０に表示させるための制御処理を行う。ディスプレイ１２０はユーザに入力を求めるための画面表示を行うとともに、記憶装置１３０や他のコンピュータシステム１４０から取得しＣＰＵ３０１で処理した画像データを画像表示する。
【００２８】
演算処理ボード３０３は、画像処理など特定の演算機能が強化されたプロセッサおよびバッファメモリ（不図示）を備えている。以降説明する本実施形態では、各種演算処理及びデータ処理にはＣＰＵ３０１を用い、画像データを一時的に格納するメモリ領域（バッファ）としてはメインメモリ３０２を用いる。ただし、演算処理ボード３０３内のプロセッサやバッファメモリを用いることも可能であり、その構成も本発明の範疇とする。なお、データを予め高速なメモリに読み込んでおく処理には「バッファリング」と「キャッシング」とがあるが、本明細書では両者を同じ意味で用いるものとする。
【００２９】
（被写体および撮像装置に関して）
図４は本発明における被写体の一例である病理標本のプレパラート４００を表す。病理標本のプレパラート４００では、スライドグラス４１０上に設置した検体４０１が封入剤（不図示）とその上に載せるカバーグラス４１１によって封入されている。検体４０１の大きさや厚みは検体毎によって異なっている。更にスライドグラス４１０上には検体４０１に関する情報を記載したラベルエリア４１２が存在する。
【００３０】
なお、以降の実施形態では、被写体として図４に示す病理標本のプレパラートを例に説明する。しかし、必ずしも被写体はそれに限定されない。顕微鏡で観察対象となる金属表面などの凹凸のある物体でも構わないし、透明な生物標本でも良い。また顕微鏡に限らず、他のイメージング装置で得られた生体もしくは物体の画像でもよいし、デジタルカメラで撮影する風景写真や人物写真などの自然画像でも構わない。
【００３１】
（撮像装置）
図５は被写体をデジタル化する撮像装置の構成の一部を表す。
プレパラート４００をステージ５０２に置き、照明ユニット５０１から光を照射し、交換可能な対物レンズを含む結像光学系５０３によって、撮像センサ５０４上に結像させ、光電変換によって撮像センサ５０４上の像をデジタル化する。座標は図５に示すように、結像光学系５０３の光軸方向をＺに割り当てる。
【００３２】
結像光学系５０３の倍率を変えて複数回の撮像を行えば、倍率の異なる複数枚の画像データを得ることができる。また、ステージ５０２をＺ方向に所定ピッチで移動させながら複数回の撮像を行えば、焦点位置（奥行き位置）が異なる複数枚の画像データを得ることができる。さらに、一回の撮像では被写体全体を画角に収めることができない場合には、倍率及び奥行き位置を変えずに、ステージ５０２をＸ、Ｙ、またはその両方向に移動させて複数回の撮像を行うことで、水平位置が異なる複数枚の画像データを得ることができる。
【００３３】
前述した画像表示アプリケーションにおける、表示領域の水平方向の移動、奥行き方向の移動、倍率の変更は、それぞれ、ステージ５０２のＸＹ方向の移動、ステージ５０２のＺ方向の移動、結像光学系５０３の倍率の変更に対応する。なお、図２の表示倍率２０６に示される値は図５の結像光学系５０３の倍率に対応させると分かりやすい。
【００３４】
（ファイル構成）
図６は被写体を撮影して構成した画像ファイルのデータ構造の一例を示す模式図である。図６に示すように、１つの被写体のデータは、水平（ＸＹ）位置、奥行き（Ｚ）位置、及び、倍率（Ｍ）が異なる複数枚の２次元画像データから構成された、階層構造をもつ階層画像データとなっている。
【００３５】
図６の６０１〜６０４は、それぞれ、５倍、１０倍、２０倍、４０倍の倍率で撮像した画像データ群を示している。画像データ群６０１は、奥行き（Ｚ）位置の異なる３枚の２次元画像データから構成される。これは、被写体の奥行き（Ｚ）方向に所定ピッチで焦点位置を変えつつ３回の撮像を行うことで得られたものであり、画像データ群６０１は「Ｚスタック画像」、Ｚスタック画像を構成する各々の２次元画像データは「レイヤー画像」と呼ばれる。他の画像データ群６０２、６０３、６０４も、３枚のレイヤー画像から構成されるＺスタック画像である。なお、図６では、倍率の異なる４セットのＺスタック画像があり、各Ｚスタック画像は３枚のレイヤー画像で構成されているが、Ｚスタック画像の数（倍率の数）やレイヤー画像の数は任意の値を取りうる。例えば被写体の標本が４μｍの厚さをもつ場合に、標本の上端から０．５μｍピッチで撮像すると、標本の厚み全体をカバーするには９枚のレイヤー画像が必要である。ピッチが１．０μｍ、２μｍ、４μｍの場合は、それぞれ、５枚、３枚、２枚のレイヤー画像が必要である。
【００３６】
図６に示すように、Ｚスタック画像６０１〜６０４は倍率に従って画像サイズ（Ｘ方向、Ｙ方向それぞれの画素数）が異なっている。これはデジタル画像データをディスプレイで表示する場合に、倍率に従って視野を変える為である。例えば、プレパラートの２０ｍｍ角の領域を、結像光学系倍率４０倍、センサ画素ピッチ０．２５μｍ／ｐｉｘｅｌで撮像する場合、画像のサイズは８００００×８００００画素となる。次に、倍率２０倍で撮
像する場合にはディスプレイ表示時に倍の視野を持たせるため、一辺が倍率４０倍の半分となるように設定し、４００００×４００００画素となる。同様に倍率１０倍、倍率５倍で撮像する場合には、それぞれ２００００×２００００画素、１００００×１００００画素となる。
【００３７】
これらの階層画像データは、実際に結像光学系５０３の倍率や焦点位置を変えて撮像することで生成しても良い。また、高倍の倍率、例えば４０倍の画像データのみ実際に撮像し、その他のデータはデジタル画像処理で仮想的に生成しても良い。その場合、低倍の焦点位置を変えたＺスタック画像は、高倍で撮影したＺスタック画像に対し、被写界深度の拡大処理を施すことで生成でき、低倍の画像データは高倍の画像データに対して縮小を施すことで生成できる。
【００３８】
また図６に示す階層画像データにおいて、各Ｚスタック画像６０２〜６０４を構成するレイヤー画像は複数のブロックに分割されている。ブロックのサイズ、即ち分割ブロックイズはどのような値でも構わないが、本実施形態では一例として２５６×２５６画素の場合について説明する。
【００３９】
レイヤー画像中の１ブロックは、倍率４０倍では検体４０１の一辺６４μｍ（＝０．２５μｍ／ｐｉｘｅｌ×２５６ｐｉｘｅｌ）の範囲を表し、倍率２０倍、１０倍、５倍ではそれぞれ標本の一辺１２８μｍ、２５６μｍ、５１２μｍの範囲を表す。例えば、表示倍率１０倍の１ブロック（一辺２５６μｍ）は面積比で４０倍の１ブロック（一辺６４μｍ）の１６倍の領域を表示できる。
【００４０】
また図６で示す階層画像データにおいては、レイヤー画像内の各ブロック単位で画像データが圧縮符号化されているとする。画像圧縮をブロック単位で実行することで、必要なブロック単位のデコードが可能となり、画面表示の高速化が実現できる。
【００４１】
なお、２次元画像を時間（Ｔ）方向に並べた階層画像データとして動画像データが存在する。しかし、動画像データにおいては、ユーザは２次元画像全体を時間の進行方向に観察する以外の閲覧を行う機会が少ない。そのため、動画像データの場合は、空間的な広がりをもつ階層画像データとは違い、水平位置、奥行き位置、倍率などの変更操作に従って表示画像の更新を高速に行うという本発明の方法を考慮する必要はなかった。
【００４２】
図６で一例を示した階層画像データを格納するファイルでは、ヘッダ情報に各Ｚスタック画像に対応する倍率（Ｍ）、水平（ＸＹ）方向の撮像範囲、奥行き（Ｚ）方向の位置や位置を表す番号、ファイル中の各ブロック画像のインデックス情報やデータ格納位置などが記載される。上記ファイルヘッダ情報を参照することでファイルから指定する水平（ＸＹ）、奥行き（Ｚ）、倍率（Ｍ）方向の各ブロック画像データを高速に取得できる。
【００４３】
（表示更新及びデータ先読み処理）
図７は、画像表示アプリケーションに対するユーザ操作に応じて、表示画像の更新ならびに階層画像データからのデータの先読み（バッファの制御）を行うための構成を示す機能ブロック図である。本実施形態では、プログラムを実行するＣＰＵ３０１によりこれらの機能を実現しているが、もちろん専用の演算処理ボードやロジック回路でこれらの機能を実現してもよい。図８は図７の各部の入出力画像データの格納場所や構造を説明する図である。以降、図７および図８を用いて、ユーザ操作に応じた表示更新及びデータ先読み処理について説明する。
【００４４】
ユーザ情報取得部７０１は、画像生成装置１００上の画像表示アプリケーションに対するユーザ入力情報を取得する。ユーザ入力情報としては、入力操作デバイスであるマウス
１１２のカーソル位置や表示倍率、表示奥行き位置、階層画像データに格納されたアノテーション情報、画像表示アプリケーションに格納された各種設定情報等である。詳細は後述する。
【００４５】
表示領域計算部７０２は、マウス１１２のカーソル位置や表示倍率、表示奥行き位置等に基づき、画像表示アプリケーションの表示領域２０５に表示する画像の領域を計算する。詳細は後述する。表示領域計算部７０２で計算された表示領域情報は、後段の先読み領域計算部７０３、表示領域取得部７０６に出力される。
【００４６】
先読み領域計算部７０３、先読み画像データ取得部７０４、表示画像展開部７０５は、表示用画像の生成に必要となるデータを予測して、階層画像データのうちどの部分のデータを先読み（バッファリング）するかを制御する機能である。本実施形態では、ユーザ情報取得部７０１からの入力情報と表示領域計算部７０２からの表示領域情報を元に、先読み領域計算部７０３が次に表示される確率の高い画像領域を推定し、先読み領域（バッファに格納すべき領域）を計算する。詳細は後述する。先読み画像データ取得部７０４は、先読み領域計算部７０３で計算された先読み領域に対応する分割ブロックの画像データ８１２（ブロック画像データと呼ぶ）を、階層画像データ８１１から取得し、メモリ領域Ａ８０２に出力する。メモリ領域Ａ８０２は、圧縮符号化されているブロック画像データ８１２を一時的に格納するためのバッファである。
【００４７】
表示画像展開部７０５は、メモリ領域Ａ８０２から圧縮符号化されているブロック画像データ８１２を取得し、それらをデコードして、メモリ領域Ｂ８０３に出力する。メモリ領域Ｂ８０３は、デコードされた展開画像データ８１３を一時的に格納するためのバッファである。ここでは、メモリ領域Ａ８０２内のすべてのブロック画像データ８１２がメモリ領域Ｂ８０３に展開されるわけではなく、次に表示される確率が十分に高い分割ブロックの画像データのみが展開される。メモリ領域Ａ８０２とメモリ領域Ｂ８０３のそれぞれに格納すべき領域（先読み領域）の決定手法の詳細は後述する。なお、図８に示すように、表示領域８２０に対して上下左右にマージンを持つように展開画像データ８１３を生成すると良い。例えば、表示領域８２０の上下左右それぞれ一列分のブロック画像データを余計に展開する。このようにマージンを持たせることで、多少の水平方向移動が起きても展開画像データを再生成する必要が無く、画面更新の応答性を高めることができる。
【００４８】
表示領域取得部７０６は、表示画像展開部７０５で生成した展開画像データ８１３から表示領域８２０に該当する範囲の画像データのみ抽出した表示用の画像データ８１４を生成し、ディスプレイ制御装置３０７内のフレームメモリ８０４に出力する。フレームメモリ８０４に出力された画像データはディスプレイ制御装置３０７を介してディスプレイ１２０に表示される。
【００４９】
メモリ領域Ａ（８０２）、メモリ領域Ｂ（８０３）には、画像生成装置１００のメインメモリ３０２内の一部領域を用いても良いし、表示処理高速化の為に追加した演算処理ボード３０３内のバッファメモリ（不図示）内の一部領域を用いても構わない。フレームメモリ８０４は画像生成装置１００の構成により存在場所が異なるが、ディスプレイ制御装置３０７の内部やメインメモリ３０２の内部に領域を確保する。
【００５０】
また、先読み画像データ取得部７０４、表示画像展開部７０５、表示領域取得部７０６の処理は、直列で順番に行うのではなく、並列に行っても良い。例えば、先読み画像データ取得部７０４の処理は一定時間間隔で実行すると良い。表示画像展開部７０５の処理は、先読み画像データ取得部７０４でデコードに必要なデータが取得されていれば、先読み画像データ取得部７０４の処理と並行して行うと良い。表示領域取得部７０６の処理は、表示領域８２０内でデコード出来ていないデータが存在しても一定時間間隔で行っても良
いし、表示領域８２０内のデコードが全て完了した時点で実行しても良い。また、表示領域８２０の画像データの生成に必要なデータがメモリ領域Ａ８０２、メモリ領域Ｂ８０３のいずれにも存在しない場合には、ハードディスク８０１から直接画像データを読み出し、デコード及び表示用画像の生成を行ってもよい。すなわち、表示更新及びデータ先読み処理の実行順序は、ユーザ操作に対する表示画面更新の応答性を高めるために、様々に工夫することが出来る。
【００５１】
なお、本実施形態では、ハードディスク８０１（記憶装置１３０）が、元の画像データを記憶する第１の記憶手段を構成する。また、メモリ領域Ａ８０２及びメモリ領域Ｂ８０３が、元の画像データの一部のデータを一時的に格納し、高速にデータを読み出し可能な第２の記憶手段を構成する。また、表示領域取得部７０６が、ユーザの操作に応じて、元の画像データから表示用の画像データを生成する生成手段を構成する。そして、先読み領域計算部７０３、先読み画像データ取得部７０４、及び、表示画像展開部７０５が、生成手段で利用されるデータを予測し、第２の記憶手段に格納すべきデータを制御する制御手段を構成する。
【００５２】
（先読み領域計算処理）
続いて、先読み領域計算部７０３の内部処理について説明する。
図９は先読み領域計算部７０３の内部処理である先読み領域計算処理を示すフローチャートである。図９の処理により、画像表示アプリケーションからのユーザ入力情報に基づいて、ユーザが表示する可能性が高い先読み領域を計算し、画像更新の応答性を高めることが出来る。
【００５３】
前述のように、ユーザの操作には、表示領域の水平方向の移動（第１の変更操作）、表示領域の奥行き方向の移動（第２の変更操作）、表示倍率の変更（第３の変更操作）など、複数の変更操作がある。いずれの変更操作の場合も表示用画像を更新する必要があるが、変更操作ごとに表示用画像の生成に必要な画像データは異なっている。言い換えると、メモリ領域ＡおよびＢに格納すべきデータ（つまり、階層画像データの内から先読みすべき領域）は変更操作ごとに異なる。そこで本実施形態では、変更操作ごとの先読み領域に対応する「領域グループ」という概念を導入する。以下、図９のフローチャートに沿って先読み領域計算部７０３の処理を説明する。
【００５４】
まず、領域グループ設定処理Ｓ９０１では、先読み領域計算部７０３は、階層画像データ内に含まれる各レイヤー画像（あるいは各分割ブロック）を所定の規則に基づいていずれかの領域グループに分類する。いずれの領域グループにも割り当てられないレイヤー画像（あるいは分割ブロック）が存在しても良い。上記の分類の結果、各領域グループにはそれぞれ１つ以上のレイヤー画像（あるいは分割ブロック）が割り当てられる。なお、領域グループおよび分類の規則の詳細は後述する。
【００５５】
次に、先読み領域データ量取得処理Ｓ９０２では、先読み領域計算部７０３は、先読み領域計算に必要とされる情報、具体的には画像生成装置１００において先読み用に確保する先読みデータ量（メモリ量）を取得する。先読みデータ量とは、メモリ領域ＡとＢのそれぞれに格納可能な先読みデータ（予測データとも呼ぶ）の容量（データサイズ）のことである。本実施形態ではメモリ領域ＡおよびＢの２つに分けて、それぞれの先読みデータ量を計算するが、メモリ領域ＡおよびＢを一つにまとめることも可能である。
【００５６】
ユーザ情報取得部７０１から取得した情報に変更が無い場合には、領域グループ設定処理Ｓ９０１および先読み領域データ量取得処理Ｓ９０２は省略することもできる。メモリ内に保存した前回の計算値を再利用することで計算負荷を減らすことができる。
【００５７】
領域グループ別データ配分決定処理Ｓ９０３では、先読み領域計算部７０３は、領域グループ別データ配分情報９１０を参照して、領域グループごとの先読みデータ量の配分を決定する。なお、先読みデータ量の配分決定に用いる領域グループ別データ配分情報９１０は、記憶装置１３０またはメインメモリ３０２の中に予め格納されている。
【００５８】
領域グループ別先読み領域決定処理Ｓ９０４では、先読み領域計算部７０３は、先読みデータ量の配分に基づいて、領域グループ毎に、メモリ領域Ａに読み込むブロック（先読み領域Ａと呼ぶ）、メモリ領域Ｂに読み込むブロック（先読み領域Ｂと呼ぶ）を決定する。
【００５９】
以下、図９の各処理についてさらに詳しく説明する。
【００６０】
（領域グループ設定処理Ｓ９０１）
領域グループ設定処理Ｓ９０１について詳しく説明する。
まず、階層画像データの領域の表現方法について説明する。倍率および奥行き位置で一意に指定できるレイヤー画像をＩ（Ｚ，Ｍ）で表し、画像表示アプリケーションで表示する奥行き（Ｚ）方向および倍率（Ｍ）方向の値をＺｐおよびＭｐとすると、表示するレイヤー画像はＩ（Ｚｐ，Ｍｐ）となる。
【００６１】
本実施形態では、画像観察における変更操作の主要な方向として、水平（ＸＹ）、奥行き（Ｚ）、倍率（Ｍ）の３方向を想定する。この方向情報に基づき、各Ｚスタック画像のレイヤー画像を水平（ＸＹ）領域グループ、奥行き（Ｚ）領域グループ、倍率（Ｍ）領域グループの３つに分類する。
【００６２】
３つの領域グループに関して図１０を用いて具体的に説明する。現在、画像表示アプリケーションにおいて表示倍率が２０倍であり、Ｚスタック画像１００３の一番上のレイヤー画像（点模様）の一部領域を表示していると仮定する。その場合、水平（ＸＹ）領域グループには、Ｚスタック画像１００３の一番上のレイヤー画像（点模様）が設定される。また奥行き（Ｚ）領域グループには、Ｚスタック画像１００３の一番上のレイヤー画像を除いたレイヤー画像群（チェック模様）が設定される。そして倍率（Ｍ）領域グループには、Ｚスタック画像１００１、１００２、１００４の一番上のレイヤー画像群（縦線模様）が設定される。
【００６３】
より一般化すると、水平（ＸＹ）領域グループには、現在表示されている画像と表示倍率及び奥行き位置が同じレイヤー画像Ｉ（Ｚｐ，Ｍｐ）が分類される。また、奥行き（Ｚ）領域グループには、現在表示されている画像と表示倍率は同じであるが、奥行き位置が異なる、レイヤー画像群｛Ｉ（Ｚｓ，Ｍｐ）｝が分類される。なお、Ｚｓは、現在の奥行き位置Ｚｐ以外のすべての奥行き位置を表し、｛Ｉ｝は画像群を表している。また、倍率（Ｍ）領域グループには、現在表示されている画像と奥行き位置は同じであるが、表示倍率が異なる、レイヤー画像群｛Ｉ（Ｚｐ，Ｍｔ）｝が分類される。なお、Ｍｔは、現在の表示倍率Ｍｐ以外のすべての表示倍率を表す。
【００６４】
なお、水平（ＸＹ）はさらに横（Ｘ）、縦（Ｙ）に分割しても良いが、本実施形態では単一の方向として説明する。また、異なる倍率のＺスタック画像に同じ奥行き位置Ｚｐを持つレイヤー画像が存在しない場合には、Ｚｐに最も近い位置（Ｚｐ’）におけるレイヤー画像で代用できる。
【００６５】
（先読み領域データ量取得処理Ｓ９０２）
続いて、本実施形態における先読み領域データ量取得処理Ｓ９０２の詳細を説明する。
本実施形態では、先読みデータ量として、メモリ領域Ａ８０２およびメモリ領域Ｂ８０
３に割り当てられたメモリ量を取得する。先読みデータ量全体として割り当て可能なメモリ量は、予め画像表示アプリケーションに設定されている。画像表示アプリケーションは、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）上の利用可能な最大メモリ量を参照し、その最大メモリ量を超えないように先読みデータ量を計算しているとする。
【００６６】
（領域グループ別データ配分決定処理Ｓ９０３）
続いて、表示倍率を用いた領域グループ別データ配分決定処理Ｓ９０３について説明する。
画像表示アプリケーションの表示領域２０５に現在表示されている画像が、図６の表示倍率２０倍のＺスタック画像６０３の一番上のレイヤー画像の一部であると仮定し、以下の説明を行う。
【００６７】
表１に領域グループ別データ配分決定処理Ｓ９０３で用いる、領域グループ別データ配分情報９１０の一例を示す。
【表１】
2013167798.tif 000003
領域グループ別データ配分情報９１０には、表示倍率に対する、水平（ＸＹ）領域グループ、奥行き（Ｚ）領域グループ、倍率（Ｍ）領域グループそれぞれの先読みデータ量の配分率が記載されている。表１の例は、現在の表示倍率が５倍のとき、水平（ＸＹ）領域グループには８０％の、奥行き（Ｚ）領域グループには０％の、倍率（Ｍ）領域グループには２０％のメモリ量を割り当てることを示している。また、現在の表示倍率が４０倍のときは、水平（ＸＹ）領域グループには２０％の、奥行き（Ｚ）領域グループには６０％の、倍率（Ｍ）領域グループには２０％のメモリ量が割り当てられる。
【００６８】
この配分率は、病理医の病理診断における観察フローに基づいて導出されている。例えば、５倍という低倍率の画像は、病理医が検体全体を網羅的に観察し、詳細観察の必要な関心箇所を見つけるために利用されることが多い。よって、低倍率の画像が表示されているときは、もっぱら水平（ＸＹ）方向の移動が行われ、奥行き（Ｚ）方向の移動は稀である。そのため、この場合は、水平（ＸＹ）領域グループに多くのメモリ量を割り当てる。一方、４０倍という高倍率で画像が表示される場合は、既に関心箇所の絞り込みが終わり、詳細観察を行っている段階にあることが多い。そのため、水平（ＸＹ）方向への移動量は少ないと予測される。そのため、水平（ＸＹ）領域グループに比べ、奥行き（Ｚ）領域グループに多くのメモリ（６０％）を割り当てる。表１の例では、倍率（Ｍ）領域グループの先読みデータ量の配分率は固定（２０％）しているが、これはユーザが倍率変更を容易とするためである。現在の表示倍率に応じて、倍率（Ｍ）領域グループへの配分を変更することも可能である。
【００６９】
仮に、先読み領域データ量取得処理Ｓ９０２で取得した、メモリ領域Ａ，Ｂに割り当てられたメモリ量はそれぞれ１２５ＭＢであるとする。表１に従えば、現在の表示倍率が２０倍のとき、水平（ＸＹ）領域グループ、奥行き（Ｚ）領域グループ、倍率（Ｍ）領域グループへのメモリ割り当て量はそれぞれ、５０ＭＢ、５０ＭＢ、２５ＭＢと計算される。
【００７０】
（領域グループ別先読み領域決定処理Ｓ９０４）
続いて、領域グループ別先読み領域決定処理Ｓ９０４の詳細を説明する。メモリ領域Ａ
８０２に格納する先読み領域Ａは、メモリ領域Ｂ８０３に格納する先読み領域Ｂとほぼ同様に計算出来るため、先に先読み領域Ｂの決定方法について説明する。なお、以下では、水平（ＸＹ）領域グループに対する先読み領域を「水平（ＸＹ）先読み領域」と呼ぶ。同様に、奥行き（Ｚ）領域グループ、倍率（Ｍ）領域グループに対する先読み領域をそれぞれ「奥行き（Ｚ）先読み領域」、「倍率（Ｍ）先読み領域」と呼ぶ。
【００７１】
まず、倍率（Ｍ）先読み領域の計算方法について述べる。
階層画像データに含まれる、倍率（Ｍ）の異なるＺスタック画像の数をＷとすると、図１０ではＷ＝４となる。倍率（Ｍ）領域グループには、現在の表示倍率を除く、Ｗ−１枚のレイヤー画像が含まれている。本実施形態では、Ｗ−１枚のレイヤー画像のそれぞれに対し、等しいサイズの先読み領域を確保する。
【００７２】
Ｓ９０３の処理で倍率（Ｍ）領域グループに割り当てられたメモリ量は２５ＭＢであるため、倍率（Ｍ）領域グループに属するレイヤー画像１枚当たりのメモリ量は、２５／（Ｗ−１）＝２５／３＝８．３［ＭＢ］となる。
【００７３】
先読み領域を横Ｍ画素、縦Ｎ画素とし、ＭとＮの比は画面表示サイズ（１９２０×１２００画素）のアスペクト比と同じＭ＝１．６×Ｎとすると、Ｍ＝２１５４、Ｎ＝１３４６となる。Ｍ，Ｎを超えない分割ブロックサイズの整数倍の横、縦の画素数を求めると、横２０４８画素、縦１２８０画素となる。なお、分割ブロックの縦、横のサイズは２５６画素として計算した。
【００７４】
次に、水平（ＸＹ）先読み領域と奥行き（Ｚ）先読み領域の計算方法について述べる。
図１１（ａ）および（ｂ）は、前述のメモリ配分率を用いて定めた、メモリ領域Ｂにロードする水平（ＸＹ）先読み領域および奥行き（Ｚ）先読み領域を示す模式図である。図１１（ａ）はすべての奥行き位置で同じサイズの画像データをロードする例、図１１（ｂ）は奥行き位置に応じて画像データのサイズを変化させる例を示している。
【００７５】
割り当てられたメモリ量を最大限使って、水平（ＸＹ）先読み領域（１１００ａ）を計算すると、横Ｍ、縦Ｎのサイズは下記で計算できる。
Ｎ＝sqrt（asign_mem_xy／pix_Byte／aspect）  …<1>式
Ｍ＝１．６×Ｎ  …<2>式
【００７６】
続いて、Ｍ，Ｎを超えないように、分割ブロックサイズの整数倍となるＸ方向の画素数Ｓｘ、Ｙ方向の画素数Ｓｙを下記の式で計算する。
Ｓｘ＝floor（aspect×Ｎ／block_x）×block_x  …<3>式
Ｓｙ＝floor（Ｎ／block_y）×block_y  …<4>式
ここで、floor（ｘ）はｘを超えない最大の整数を求める関数、sqrt（ｘ）はｘの平方
根を求める関数を表す。なお、上記の各変数の意味は下記の通りである。
Ｎ：画面表示サイズのアスペクト比となるように先読み領域を計算した場合のＹ方向の最大長（分割ブロックを考慮しない値）
block_x：分割ブロックのＸ方向の長さ
block_y：分割ブロックのＹ方向の長さ
asign_mem_xy：水平（ＸＹ）領域グループに割り当てられたメモリ量［Ｂｙｔｅ］
pix_Byte：１画素のバイト数
aspect：画面表示サイズのアスペクト比（横／縦）
【００７７】
また、図１１（ａ）の場合、画像表示アプリケーションで現在表示されている画像の奥行き位置（Ｚｐ）を中心とした奥行き（Ｚ）先読み領域（１１０１ａおよび１１０２ａ）の奥行き方向の枚数（Ｄ）は、下記の式で計算できる。
Ｓｘ＝ceil（x_disp／block_x）×block_x  …<5>式
Ｓｙ＝ceil（y_disp／block_y）×block_y  …<6>式
Ｄ＝floor（asign_mem_z／（Ｓｘ×Ｓｙ×pix_Byte））  …<7>式
ここで、Ceil（ｘ）はｘを超える最小の整数を求める関数を表す。
各変数の意味は下記の通りである。
x_disp：先読みしたいＸ方向の画素数（分割ブロックを考慮しない値）
y_disp：先読みしたいＹ方向の画素数（同上）
asign_mem_z：奥行き（Ｚ）領域グループに割り当てられたメモリ量［Ｂｙｔｅ］
【００７８】
上記の式に対して、一例として下記の想定値を代入する。
block_x＝block_y＝２５６
pix_Byte＝３（ＲＧＢカラーを想定し、３バイトに設定）
aspect＝１９２０／１２００
x_disp＝１９２０
y_disp＝１２００
なお、現在の表示倍率は５倍と仮定し、水平（ＸＹ）領域グループ、奥行き（Ｚ）領域グループそれぞれのメモリ割り当ては以下のとおりとする。
asign_mem_xy＝１０４８５７６００（＝１００ＭＢ）
asign_mem_z＝０
【００７９】
その結果、表２に示すように水平（ＸＹ）先読み領域と奥行き（Ｚ）先読み領域が決定出来る。
【表２】
2013167798.tif 000004
なお「画面カバー率」は、メモリ領域Ｂにおいて水平（ＸＹ）先読み領域として確保した画素数が画面表示の縦横サイズの何％に相当する領域をカバーするかを示している。この数字が大きい程、水平方向もしくは奥行き方向への移動に対して高速に画面更新できる領域が広いこと、即ち低速のメモリや記憶媒体へのアクセスが少なくて済むことを示している。
【００８０】
表２の結果から、低倍率（５倍）では水平（ＸＹ）方向の移動に対する画面更新の応答性能が高いことが分かる。続いて表３、表４、表５に表示倍率１０倍、２０倍、４０倍における領域グループ毎の先読み領域を示す。
【００８１】
倍率１０倍におけるメモリ割り当ては、
asign_mem_xy＝７８６４３２００（＝７５ＭＢ）
asign_mem_z＝２６２１４４００（＝２５ＭＢ）
であり、倍率２０倍におけるメモリ割り当ては、
asign_mem_xy＝５２４２８８００（＝５０ＭＢ）
asign_mem_z＝５２４２８８００（＝５０ＭＢ）
であり、倍率４０倍におけるメモリ割り当ては、
asign_mem_xy＝２６２１４４００（＝２５ＭＢ）
asign_mem_z＝７８６４３２００（＝７５ＭＢ）
である。
【００８２】
【表３】
2013167798.tif 000005
【表４】
2013167798.tif 000006
【表５】
2013167798.tif 000007
上記の表３〜表５より１０倍、２０倍、４０倍と高倍になるにつれ、水平方向の画面カバー率を下げつつも、奥行き方向の画像の先読み枚数を増やしていることが分かる。これは、ユーザのニーズと良く合致している。低倍では概要確認を行うため、水平方向の移動に対する画面更新の応答性能が重要である。一方、倍率が大きくなるにつれ、被写界深度が浅くなる為、奥行き方向の観察の頻度が上がり、奥行き方向の画面更新の応答性能が重要となる。
【００８３】
以上、表１に示す領域グループ別データ配分情報９１０を用いた先読み領域について実例を用いて説明したが、領域グループ別先読み領域決定処理Ｓ９０４における計算方法は上記の例に限られない。以下、その変形例について述べる。
【００８４】
図１１（ｂ）は、現在表示している奥行き位置（Ｚｐ）から離れるに従って、先読み領域のサイズを小さくした例である。図１１（ｂ）では、現在表示している奥行き位置（Ｚｐ）を「０」、そこからプラス方向に一段階ずつ離れた奥行き位置を「＋１」、「＋２」・・・で示し、マイナス方向に一段階ずつ離れた奥行き位置を「−１」、「−２」・・・で示している。
【００８５】
例えば、現在の奥行き位置（Ｚｐ）から一段階離れた奥行き位置（Ｚｐ＋１）および（Ｚｐ−１）に割り当てるメモリ量をａ［ＭＢ］とし、それぞれ奥行き位置が一段階ずつ離れるにつれ、割り当てるメモリ量がｒ倍（ｒ＜１）になるとする。
【００８６】
そのとき、奥行き位置（Ｚ）における先読み領域のメモリ量ｂ［ＭＢ］は、下記のとおりとなる。
【数１】
2013167798.tif 000008
【００８７】
奥行き先読み領域をすべて格納するのに必要なメモリ量は、<8>式と<9>式で表される各奥行き位置のメモリ量ｂの総和となる。ここで、<8>式の和、<9>式の和はいずれも等比級数であることから、奥行き方向に存在するレイヤー画像の数が多くても、最大のメモリ量ｄ［ＭＢ］は以下の通りとなる。
【数２】
2013167798.tif 000009
【００８８】
例えば、<10>式においてｒ＝１／２のときは最大でも４ａ［ＭＢ］となる。奥行き（Ｚ）領域グループに４ａ［ＭＢ］のメモリ量が割り当てられた時、図１１（ａ）のように各奥行き位置から同じデータ量ａ［ＭＢ］のデータを読み込むとしたら、４枚分の画像データしか先読みできない。しかし、奥行き位置に従って先読み領域のサイズを可変にすることにより、より広い範囲の奥行き方向の先読みが可能となる。なお、サイズの変更方法は図１１（ｂ）の例に限らず、現在表示されている奥行き位置（Ｚｐ）から離れるに従って徐々にまたは段階的にサイズが減少していくようにすれば、同様の効果が得られる。なお、サイズを減少していく際、図１１（ｂ）のように各奥行き位置の先読み領域の水平（ＸＹ）方向の中心を合わせることが好ましい。これにより、少なくとも画面中央部に関しては高速な画像更新が可能となる。画面中央部はユーザが関心を持って観察している可能性が高いため、画面端部の表示が遅れたとしても、画面中央部の表示が応答性良く更新できていれば、奥行き画像観察時の待ち時間やそれに伴うストレスを低減できる効果が実現できる。
【００８９】
（計算方法変形例）
また、領域グループ別先読み領域決定処理Ｓ９０４における別の計算方法として、表示倍率における奥行き方向の枚数（Ｄ）を用いて、全ての奥行き方向の画像が表示できるように先読み領域を決定しても良い。
【００９０】
例えば、倍率４０倍における奥行き方向の枚数がＤ＝２６で、奥行き（Ｚ）領域グループのメモリ割当が７５ＭＢとすると、奥行き（Ｚ）領域グループに割り当てられる枚数はＤ−１となり、１枚当たりのメモリ量は７５／（２６−１）＝３［ＭＢ］となる。仮に、先読み領域を横Ｍ画素、縦Ｎ画素とし、ＭとＮの比は画面表示サイズのアスペクト比と同じＭ＝１．６×Ｎとすると、Ｍ＝１２９５、Ｎ＝８１０となる。Ｍ，Ｎを超えない分割ブロックサイズの整数倍の横、縦の画素数を求めると、横１２８０画素、縦７６８画素となる。
【００９１】
なお、前述の領域グループ別データ配分決定処理Ｓ９０３における計算方法は、画像表示アプリケーションの設定と連動して定めても良い。その場合にはユーザが画像表示アプリケーションの設定画面から設定できるようにしても良い。
【００９２】
次に、メモリ領域Ａ８０２に格納する先読み領域Ａの先読み領域決定方法について述べる。メモリ領域Ａ８０２に格納する先読み領域Ａについても、上述したメモリ領域Ｂ８０３の場合と同じ方法で決定することができる。違いは、メモリ領域Ａ８０２には元の階層
画像データにおける圧縮符号化された画像データを格納するので、メモリ領域Ａ８０２のみかけのメモリ量が大きくなるという点だけである。メモリ領域ＡとＢが同じメモリ量である場合に、例えば圧縮率が１／１０であれば、メモリ領域Ａの方が１０倍の分割ブロックの画像データを格納することができる。
【００９３】
このとき、ある領域グループに割り当てられたメモリ量が、当該領域グループに分類された分割ブロックの総データ量よりも多い場合には、幾つかの対処方法がある。一つは余剰分を他の領域グループに再割り当てする方法であり、もう一つは余剰分を他の領域グループに割り当てずにメモリ領域Ａから解放する方法である。前者は他の領域グループで先読み範囲を広げ、画面更新の応答速度を高める効果が実現できる。後者は画像表示アプリケーションの使用メモリを抑えることで、他のコンピュータプログラムに割り当て可能なメモリを増やし、その動作を軽快にする効果が実現できる。用途に応じていずれの方法を適用しても良い。
【００９４】
なお、元の階層画像データの圧縮率は、階層画像データのファイルヘッダに記載されたデータ圧縮率の情報を用いるとする。なお、ヘッダ情報にデータ圧縮率の記載が無い場合でも、ヘッダ情報に記載の画像データの水平（ＸＹ）方向の画素数、倍率（Ｍ）方向および奥行き（Ｚ）方向の枚数から非圧縮での画像データサイズを計算できる。そのため、前述の非圧縮での画像データのサイズとヘッダ情報に記載の圧縮後のファイルサイズとを比較することで画像データの圧縮率を求めることが可能である。
以上、先読み領域計算部７０３の内部処理について説明した。
【００９５】
（先読み画像データ取得部７０４の内部処理）
続いて先読み画像データ取得部７０４の内部処理について述べる。
先読み画像データ取得部７０４は、階層画像データが格納されたファイルから、先読み領域計算部７０３で求めた先読み領域Ａの画像データを取得する。この際、既にメモリ領域Ａ８０２には、以前のユーザの入力情報に従って取得した分割ブロックの画像データ群が存在する場合がある。そのため、先読み画像データ取得部７０４は、データ取得に当たり、まず取得予定の全ての分割ブロックのインデックス情報を記録した「メモリ領域Ａ取得予定画像リスト」を作成する。また、メモリ領域Ａ８０２に現在格納されている分割ブロックのインデックス情報は、「メモリ領域Ａ取得済み画像リスト」に記載されている。先読み画像データ取得部７０４は、メモリ領域Ａ８０２に分割ブロックの画像データを書き込んだり、メモリ領域Ａ８０２から画像データを消去したりするたびに、メモリ領域Ａ取得済み画像リストの内容を更新する。
【００９６】
先読み画像データ取得部７０４は、メモリ領域Ａ取得済み画像リストとメモリ領域Ａ取得予定画像リストとを比較し、「メモリ領域Ａ維持予定画像リスト」、「メモリ領域Ａ解放予定画像リスト」、「メモリ領域Ａ更新予定画像リスト」を作成する。メモリ領域Ａ維持予定画像リストは、メモリ領域Ａ取得済み画像リストとメモリ領域Ａ取得予定画像リストの双方に存在する分割ブロックのインデックス情報が記載されたリストである。また、メモリ領域Ａ解放予定画像リストは、メモリ領域Ａ取得済み画像リストに含まれるが、メモリ領域Ａ取得予定画像リストには含まれていない分割ブロックのインデックス情報を記載したリストである。逆に、メモリ領域Ａ更新予定画像リストは、メモリ領域Ａ取得予定画像リストには含まれるが、メモリ領域Ａ取得済み画像リストには含まれていない分割ブロックのインデックス情報を記載したリストである。
【００９７】
そして、先読み画像データ取得部７０４は、メモリ領域Ａ解放予定画像リストに記載の分割ブロックの画像データをメモリ領域Ａから解放し、同時にメモリ領域Ａ更新予定画像リストに記載の分割ブロックの画像データをメモリ領域Ａに書き込む。これにより、メモリ領域Ａに現在存在しない分割ブロックの画像データのみを効率的に取得し、応答速度を
高めることが出来る。
【００９８】
また、画面更新の応答性を高める為には、ユーザが閲覧する可能性の高い情報を優先的に取得できるよう、領域グループおよび分割ブロック毎に取得順序を定めることが望ましい。まずは、先読み領域Ｂに含まれる分割ブロックの画像データの取得順位はそれ以外と比べて高く設定することが好ましい。また、領域グループ別の取得順序の一例としては、水平（ＸＹ）領域グループ、倍率（Ｍ）領域グループ、奥行き（Ｚ）領域グループの順に取得すると良い。更に、各領域グループの中では、現在表示している領域の境界線からの最短距離に応じて、すなわち、現在表示している領域に近い分割ブロックから先に読み込まれるように、画像データの取得順序を定めるとよい。取得順序に対しては上記以外にも様々な設定が可能である。また、メモリ領域Ａから解放するブロック画像データの解放順位は、上記の取得順序と逆に定めると良い。また、分割ブロックの取得を並列的に実行できる場合には、前述の取得順序の上位から順に並列的に取得することで画面更新の応答速度を高められる。
以上、先読み画像データ取得部７０４の内部処理について説明した。
【００９９】
（表示画像展開部７０５の内部処理）
続いて、表示画像展開部７０５の内部処理について説明する。
表示画像展開部７０５においても先読み画像データ取得部７０４と同様に処理前後のリストを作成、比較することにより、デコードしていない分割ブロックの画像データのみを効率的に処理し、応答速度を高めることが出来る。
【０１００】
表示画像展開部７０５は、メモリ領域Ａに格納されている圧縮符号化された分割ブロックの画像データのうち、先読み領域計算部７０３で求めた先読み領域Ｂに該当する分割ブロックの画像データをデコードし、メモリ領域Ｂに展開する。
【０１０１】
表示画像展開部７０５は、分割ブロックの画像データのデコードにあたり、まずデコード予定の全ての分割ブロックのインデックス情報を記録した「メモリ領域Ｂデコード予定画像リスト」を作成する。一方、メモリ領域Ｂに現在格納されている分割ブロックのインデックス情報は「メモリ領域Ｂデコード済み画像リスト」に記録されており、表示画像展開部７０５は、メモリ領域Ｂの画像データを更新する度に、そのデコード済み画像リストの内容を更新する。
【０１０２】
表示画像展開部７０５は、メモリ領域Ｂデコード済み画像リストとメモリ領域Ｂデコード予定画像リストとを比較し、「メモリ領域Ｂ維持予定画像リスト」、「メモリ領域Ｂ解放予定画像リスト」、「メモリ領域Ｂ更新予定画像リスト」を作成する。メモリ領域Ｂ維持予定画像リストは、メモリ領域Ｂデコード済み画像リストとメモリ領域Ｂデコード予定画像リストの双方に存在する分割ブロックのインデックス情報が記載されたリストである。また、メモリ領域Ｂ解放予定画像リストは、メモリ領域Ｂデコード済み画像リストに含まれるが、メモリ領域Ｂデコード予定画像リストには含まれていない分割ブロックのインデックス情報を記載したリストである。逆に、メモリ領域Ｂ更新予定画像リストは、メモリ領域Ｂデコード予定画像リストには含まれるが、メモリ領域Ｂデコード済み画像リストには含まれていない分割ブロックのインデックス情報を記載したリストである。
【０１０３】
そして、表示画像展開部７０５は、メモリ領域Ｂ解放予定画像リストに記載の分割ブロックの画像データをメモリ領域Ｂから解放し、同時にメモリ領域Ｂ更新予定画像リストに記載の分割ブロックの画像データをデコードしてメモリ領域Ｂに書き込む。これにより、メモリ領域Ｂに現在存在しない分割ブロックの画像データのみを効率的にデコードし、応答速度を高めることが出来る。
【０１０４】
また、先読み画像データ取得部７０４の処理と同様に、領域グループ毎および分割ブロック毎の取得順序および解放順序を定めたり、処理の並列化を行ったりすることで、画面更新の応答速度を高められる。なお、メモリ領域Ｂにおいては、図８に示すように１枚の画像のデータに限らず、複数枚の画像のデータを展開することが可能である。例えば、奥行き方向にａ枚、倍率方向にｂ枚の画像を先読みした場合には、現在表示している画像を含め、ａ＋ｂ＋１枚の画像のデータがメモリ領域Ｂに格納される。１枚の画像を構成する複数の分割ブロックの画像データがメモリ領域Ｂの中で不連続なアドレスに展開されている場合には、適宜、メモリの再配置処理を行い、同じ画像を構成するデータがなるべくメモリ上で連続したアドレスに格納されるようにすると良い。これにより、後段の表示領域取得処理の高速化を図ることができ、表示応答性を一層高めることができる。
以上、表示画像展開部７０５の内部処理について説明した。
【０１０５】
（表示領域取得部７０６の内部処理）
続いて、表示領域取得部７０６の内部処理について説明する。
表示領域取得部７０６はメモリ領域Ｂに展開された画像データの中から、表示領域８２０に該当する範囲の画像データを取得し、表示用の画像データとしてフレームメモリ８０４に転送する。
メモリ領域Ｂに展開された画像データは、表示領域８２０に対して若干のマージンを持っているために水平方向の平行移動に対する画面更新の応答性は高い。
【０１０６】
また、画像表示アプリケーションの表示設定で拡大縮小や回転がある場合もある。画像の拡大縮小や回転は、表示領域取得部７０６が、拡大縮小あるいは回転前の座標を計算し、その座標に対応する画素値を補間処理によって計算し、新たなメモリに展開した上で、フレームメモリ８０４に転送することで実現できる。ただし、この場合、表示領域計算部７０２では拡大縮小あるいは回転前の座標を計算する必要がある。
【０１０７】
拡大は階層画像データに存在しない中間倍率の画像、例えば、倍率３０倍の画像データを表示する際に用いる。その場合、その倍率を超えない最大の倍率の画像データを用いて拡大を行うと、少ないメモリ量で広い領域の画面表示までカバーできる。一方縮小も階層画像データに存在しない中間倍率の画像を表示する際に用いることができる。その場合、その倍率を超える最小の倍率の画像データを用いて縮小を行うと良い。拡大率が極端に大きくなる場合に縮小を用いた方が画質を維持できるメリットがある。
【０１０８】
なお、上記の処理は、ＣＰＵ３０１や演算処理ボード３０３以外にもディスプレイ制御装置３０７内に存在する高度な演算処理能力を持つＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の機能を用いて実現しても良い。
【０１０９】
（本実施形態の利点）
以上述べたように、本実施形態では、水平方向移動、奥行き方向移動、倍率変更といったユーザによる変更操作のそれぞれに対応する領域グループごとに先読みすべきデータを予測し、予測したデータを高速なメモリ領域Ａ及びＢへ予めロードしておく。したがって、ユーザによる変更操作が行われた時に、元の階層画像データが格納されている低速なデバイス（ハードディスクや画像サーバなど）の代わりに、高速なメモリから必要なデータを読み出すことができ、表示画像の更新の応答性を高めることができる。また、本実施形態では、領域グループごと（変更操作ごと）のメモリ容量の配分を変更可能としたので、発生確率の高い変更操作に対して適応的に多くのメモリを割り当てるといった柔軟な制御が可能となる。これにより、バッファメモリの使用効率を向上し、低速なデバイスへのアクセス頻度を減らすことができるので、画像表示アプリケーションの応答速度を高めることができる。特に本実施形態では、病理診断等の画像観察におけるユーザの操作傾向に着目し、現在の表示倍率に応じてメモリ容量の配分を自動的に変更するよう制御したので、
ユーザの操作に対する応答性が一層向上するものと期待できる。
【０１１０】
なお、本実施形態では、メモリ容量の配分を自動で変更したが、ユーザ自身が画像表示アプリケーション上でメモリ容量の配分を直接指定したり、領域グループ別データ配分情報９１０の内容を編集したりできるようにしてもよい。
【０１１１】
＜第２実施形態＞
第２実施形態では、ユーザが設定可能な設定モードに基づいて、領域グループ毎の先読みデータの配分率を決定する方法について説明する。
【０１１２】
病理診断には、主に組織診と細胞診がある。一般に、組織診では、一定の厚みでスライスされた薄い標本が用いられ、個々の細胞の形状よりも複数の細胞や組織の形状が観察される。そのため、組織診を行う病理医は、比較的低倍率の画像を利用して、水平方向に表示領域を移動させながら観察を行うことが多い。それに対し、細胞診では、剥離等により取得した比較的厚みのある標本が用いられ、高倍率での観察や奥行き位置の変更が行われることが多い。
【０１１３】
そこで、画像表示アプリケーションにおいて診断モードをユーザに設定させる機能を用意し（例えば、組織診または細胞診を選択可能にする）、先読み領域計算部７０３が、設定された診断モードに応じて、領域グループごとのメモリ容量の配分を変更するとよい。
【０１１４】
表６は、本実施形態で用いられる領域グループ別データ配分情報９１０の一例である。診断モードごとに、それぞれの領域グループに割り当てるメモリ容量の割合が設定されている。組織診モードの場合は、水平方向の移動が多用される傾向にあるので、水平（ＸＹ）領域グループの割り当てを増やしている。一方、細胞診モードの場合は、奥行き方向の移動も利用される傾向にあるので、水平（ＸＹ）領域グループと奥行き（Ｚ）領域グループの両方に同じメモリ容量を割り当てる。
【表６】
2013167798.tif 000010
【０１１５】
診断モード以外にも、例えば、複数の変更操作のうち優先すべき操作を指定可能なモード（先読みモードと呼ぶ）を用意し、画像表示アプリケーション上でユーザに先読みモードを選択させるようにしてもよい。表７は、先読みモードのための領域グループ別データ配分情報９１０の一例である。
【表７】
2013167798.tif 000011
【０１１６】
表７の例では、ユーザは４つの先読みモードの中から所望のモードを選択できる。例えば、ユーザが奥行き方向に画像を切り替えて検体の３次元構造を把握したい場合には、「奥行き重視」モードに設定するとよい。また、ユーザが水平方向の移動を多用するのであれば、「水平のみ」モードあるいは「水平重視」モードに設定するとよい。また、水平方向の観察と奥行き方向の観察の両方を行うのであれば、「バランス」モードに設定すると
よい。
【０１１７】
なお、モードの切り替えは、画像表示アプリケーションが提供するモード設定画面（不図示）において、キーボード１１１やマウス１１２で指定できるようにするとよい。また、画像表示アプリケーションが複数の画像を表示できる場合は、画像ごとにモードを設定できるようにしてもよい。
【０１１８】
以上述べた本実施形態の構成によれば、ユーザが選んだモードに応じてメモリ容量の配分を変更するようにしたので、ユーザが閲覧する可能性が高い領域のデータを先読みできるため、バッファメモリの使用効率をより一層高めることができる。また、ユーザが自らモードを選択できるため、通常とは異なる方法で観察を行う場合（例えば、組織診用の画像や低倍率の画像で奥行き位置の切り替えを多用するなど）でも、画像更新の応答性向上を図ることができる。
【０１１９】
＜第３実施形態＞
第３実施形態では、画像データに付与されたアノテーション情報に基づき、領域グループ毎の先読みデータの配分率を決定する方法について説明する。
【０１２０】
図２に示したように、画像表示アプリケーションに現在表示されている画像に対し、アノテーション情報２０７が付されている場合がある。アノテーション情報２０７とは、ユーザによって作成されるコメント情報であり、画像中の注目領域（例えば、画像の中で異常が認められた箇所や、詳細観察が必要と判断した箇所など）に対して付されることが多い。このようなアノテーション情報２０７が存在する場合、ユーザは画像の表示倍率を上げて、詳細観察を行う可能性が高い。その為、倍率（Ｍ）領域グループの先読み領域を広げる規則を適用すると良い。
【０１２１】
表８に、領域グループ別データ配分情報９１０の一例を示す。
【表８】
2013167798.tif 000012
表８に従えば、現在表示されている画像上にアノテーション情報が存在しない場合には、メモリ領域Ｂに割り当てられた１００ＭＢのメモリ量はそのまま水平（ＸＹ）領域グループに割り当てられる。その結果、表２と同様の先読み領域が得られる。
【０１２２】
一方、現在表示されている画像上にアノテーション情報が存在する場合には、水平（ＸＹ）領域グループには７５ＭＢ，倍率（Ｍ）領域グループには２５ＭＢのメモリが割り当てられる。表８に基づいて計算すると、水平（ＸＹ）領域グループの先読み領域はＸ方向の画素数は６４００、Ｙ方向の画素数は３８４０となる。
【０１２３】
また倍率（Ｍ）領域グループの先読み領域は、現在の表示倍率以外のＷ個の倍率に対して等しい領域を確保するとして計算すると、１枚当たりのメモリ量は２５／３＝８．３［ＭＢ］で、先読み領域を横Ｍ、縦Ｎ画素とし、ＮとＭのアスペクト比は画面表示サイズと等しく、Ｍ＝１．６×Ｎとすると、Ｍ＝２１５４、Ｎ＝１３４６となる。Ｍ，Ｎを超えない分割ブロックサイズの整数倍の横、縦の画素数を求めると、横２０４８画素、縦１２８０画素となる。
【０１２４】
表８以外にも様々な配分率が考えられる。
例えば、アノテーション情報が存在する場合に奥行き方向の画像を閲覧する可能性が高い場合には、倍率（Ｍ）領域グループだけでなく奥行き（Ｚ）領域グループの先読みデータ量を増やすと良い。
【０１２５】
またアノテーション情報が付加されたときの表示画像の倍率または奥行き位置と、現在の表示倍率または奥行き位置との関係に応じて、領域グループ毎の先読み領域を制御しても良い。例えば、アノテーション情報が現在の表示倍率と異なる表示倍率に対して付与された情報である場合には、倍率（Ｍ）領域グループの配分率を増やすと良い。同様にアノテーション情報が現在の奥行き位置と異なる奥行き位置に対して付与された情報である場合には、奥行き（Ｚ）領域グループの配分率を増やすと良い。ユーザがアノテーション情報が付与されたときの表示倍率あるいは奥行き位置の画像を確認するために、表示倍率あるいは奥行き位置を変更する可能性が高いからである。
【０１２６】
また、表示領域２０５に現在表示されている画像上（領域内）にアノテーション情報が存在していなくても、階層画像データ内のどこかにアノテーション情報が付与されている場合は、そのアノテーション情報に基づいて領域グループ毎のメモリの配分率を制御してもよい。例えば、アノテーション情報の付与位置が水平方向に分散している場合には水平（ＸＹ）領域グループの配分率を増やすと良い。また、アノテーション情報の付与位置が倍率方向に分散している場合には倍率（Ｍ）領域グループの配分率を増やすと良い。なお、階層画像データに付与された全てのアノテーション情報の付与位置が、階層画像データのヘッダ情報内に記録されていると、上記のような処理が高速にできる。
【０１２７】
以上述べた本実施形態の構成によれば、画像に付与されたアノテーション情報の有無や位置などに応じてメモリ容量の配分を変更するようにしたので、アノテーション情報に注目した観察が行われる場合において、画像更新の応答性をさらに高めることができる。
【０１２８】
＜第４実施形態＞
第４実施形態では、ユーザの変更操作履歴に応じて、領域グループ毎の先読みデータの配分率を決定する方法について説明する。
【０１２９】
画像表示アプリケーションに表示する画像の閲覧操作において、被写体の特徴や観察するユーザの特性に応じて、拡大や縮小、奥行き位置の変更の頻度は影響を受ける。従って、本実施形態では、被写体毎あるいはユーザ毎に、画像表示アプリケーションで行われた変更操作を蓄積し、その履歴情報に基づいて領域グループ毎のメモリの配分を変更する。これにより、被写体の特徴や観察するユーザの傾向に合わせた、適切なデータの先読みが実現できる。
【０１３０】
ユーザによる変更操作の履歴情報としては、例えば、表示する階層画像データにおける水平位置、奥行き位置、表示倍率の変更回数を計測した情報が挙げられる。一例として、表９に階層画像データの奥行き方向の表示位置の変更回数に対応した領域グループ別データ配分情報を示す。
【表９】
2013167798.tif 000013
表９では、奥行き位置の変更が０回の場合には奥行き（Ｚ）領域グループへ割り当てるメモリ量の比率は０％であるが、奥行き位置の変更が少なくとも１回以上行われた場合には、奥行き（Ｚ）領域グループに割り当てるメモリ量の比率を２０％に上げている。これ
により奥行き（Ｚ）方向の画像の先読み領域を広げ、奥行き位置の変更に対する画面更新の応答性を高めることが出来る。
【０１３１】
＜第５実施形態＞
第５実施形態では、ユーザの識別情報、例えば、画像生成装置１００にログインするユーザＩＤや画像表示アプリケーションで設定するユーザＩＤに応じて、領域グループ毎の先読みデータの配分率を決定する方法について説明する。
【０１３２】
被写体に患部が存在するか否かを判定するスクリーニング作業を行う技師は、一般に、定められた倍率の画像を用い、表示領域を水平方向に少しずつ移動させながら、見落としが無いように観察を行う。その為、技師による観察では水平方向の先読みを重視する。一方、患部の詳細観察と病理診断を行う病理医は、技師に比べ、倍率や奥行き位置の変更を頻繁に行う傾向がある。そこで、ユーザＩＤによりスクリーニング作業を行う者（例えば技師）か詳細観察を行う者（例えば病理医）かが判別できるようにしておき、前者の場合は水平重視の配分にし、後者の場合は奥行き方向の移動や倍率変更も考慮した配分となるよう制御するとよい。
【０１３３】
表１０はユーザが所属するグループによって各領域グループに割り当てる配分率を変更する場合の領域グループ別データ配分情報９１０の例である。前述の観察特性に合わせて、技師グループでは水平（ＸＹ）方向の先読み領域を、病理医グループでは奥行き（Ｚ）方向の先読み領域を広げている。
【表１０】
2013167798.tif 000014
上記のように、ユーザ毎に領域グループ別のデータ配分量を変更することで、ユーザの操作傾向に適合した先読みが可能となり、画像更新の応答性を高めることが出来る。
【０１３４】
＜第６実施形態＞
第６実施形態では検体４０１の種別により、領域グループ毎の先読みデータの配分率を決定する方法について説明する。
【０１３５】
第２実施形態では組織診または細胞診の診断モードにより、領域グループ別の先読み領域を変更する方法について説明した。組織診ではＨＥ染色、細胞診ではパパニコロウ染色やギムザ染色を用いることが多い。したがって、検体４０１に施された染色の種別が分かれば、階層画像データが組織診のためのデータか細胞診のためのデータかを判断することができる。これを利用し、本実施形態では、検体４０１に施された染色、具体的には、ＨＥ染色、パパニコロウ染色やギムザ染色等に対応する領域グループ別データ配分情報９１０を用いることにより、ユーザによる診断モードの設定を不要にする。
【０１３６】
表１１は検体に施された染色によって各領域グループに割り当てる配分率を変更する場合の領域グループ別データ配分情報９１０の一例である。第２実施形態で説明した観察特性に合わせて、ＨＥ染色では水平（ＸＹ）方向の先読み領域を、パパニコロウ染色およびギムザ染色では奥行き（Ｚ）方向の先読み領域を広げている。
【表１１】
2013167798.tif 000015
【０１３７】
検体４０１に施された染色方法の情報は、図４で示すプレパラートのラベルエリア４１２にバーコードの形式で記載される場合がある。その場合、画像表示アプリケーションがその情報を読み取ると良い。また、染色方法が階層画像データのファイルのヘッダ情報に記載されている場合にも同様に、画像表示アプリケーション経由でその情報を取得できる。また、ラベルエリア４１２やファイルのヘッダ情報に記載されていない場合でも、画像表示アプリケーションがサムネイル画像２０３のデータや表示領域２０５のデータを解析し、彩度などの情報から染色方法を推定することができる。また、検体４０１に施された染色以外にも、ラベルエリア４１２に記載された情報、例えば検体を採取した臓器の情報を利用することが可能である。例えば、拡大観察を頻繁に行う必要がある臓器では、倍率（Ｍ）領域グループのデータ配分量を増やすと良い。
【０１３８】
以上のように、検体の種別、例えば、検体に施された染色の情報や臓器の情報を用いて、領域グループ別の先読み領域を変更することにより画像更新の応答性を高めることできる。
【０１３９】
＜第７実施形態＞
第７実施形態では、奥行き位置（焦点位置）の異なる複数枚の２次元画像データから構成される階層画像データを用いる場合について説明する。
【０１４０】
図１２は横（Ｘ）、縦（Ｙ）方向を持つ２次元画像データが奥行き（Ｚ）方向に並ぶ階層型の画像構造を持つ階層画像データの模式図である。図１２の画像データは、１２１０に示す大きさを持つ分割ブロックから構成されており、分割ブロック毎にＺスタック画像を持つ形となっている。
【０１４１】
このような構造の階層画像データに対するユーザの変更操作として、水平方向の移動と奥行き方向の移動の２つが利用できる場合、その２つの変更操作に対応する先読みを行えばよい。具体的には、水平（ＸＹ）領域グループと奥行き（Ｚ）領域グループの２つの領域グループが設けられる。例えば画像表示アプリケーションにレイヤー画像群１２０３内の一部領域の画像が表示されている場合は、水平（ＸＹ）領域グループにはレイヤー画像群１２０３が分類され、奥行き（Ｚ）領域グループにはレイヤー画像群１２０４、１２０２、１２０１が分類される。
【０１４２】
本実施形態では図１２に示す階層画像データにおいて、画像データは分割ブロック単位のＺスタック画像で圧縮符号化されている。圧縮符号化方式には様々な方式が適用可能である。例えば、ＪＰＥＧやＪＰＥＧ２０００、ＪＰＥＧ−ＸＲ等の良く知られた静止画圧縮符号化方式が適用できる。
【０１４３】
また同じ水平（ＸＹ）位置にある分割ブロックを奥行き（Ｚ）方向に複数枚束ねたＺスタック画像単位で圧縮符号化を適用することもできる。この場合、ＭＰＥＧ等の動画像の圧縮符号化方式が適用可能であり、また３次元の周波数演算、例えばＤＦＴ（離散フーリエ変換）やＤＣＴ（離散コサイン変換）、ＤＷＴ（離散ウェーブレット変換）を用いて圧縮符号化を行っても良い。奥行き（Ｚ）方向の画像は類似度が高く、分割ブロックのＺスタック画像単位で圧縮符号化することで、階層画像データのサイズを小さくできる。
【０１４４】
Ｚスタック画像単位で圧縮符号化されたデータをデコードする場合には、メモリ領域Ａに圧縮符号化した３次元画像データを読み出し、メモリ領域Ｂに先読み領域に該当する画像データを展開して配置すると良い。
【０１４５】
また、本実施形態のような階層画像データの場合でも、各分割ブロックから縮小または拡大画像を生成することで、倍率（Ｚ）方向の画像データを生成することが出来る。例えば、メモリ領域Ａにある圧縮符号化された画像データから、低周波成分を抽出してデコードし、メモリ領域Ｂに展開することにより、縮小画像が容易に作れる。例えばＪＰＥＧ２０００では、低域側で分割を繰り返し階層画像データを生成するＤＷＴを用いているため、縮小画像が容易に取得できる。その為、図１２に示す階層画像データを用いた場合でも、水平（ＸＹ）、奥行き（Ｚ）、倍率（Ｍ）の３つの領域グループを定め、各変更操作に応じた先読みを実行してもよい。また、画像の拡大縮小や回転表示に関しても第１実施形態と同様の構成で実現できる。
【０１４６】
本実施形態の階層画像データの場合も、第１〜第６実施形態で述べたのと同じ方法で画像データの先読み（バッファリング）及びメモリ容量の配分制御を行うことで、各実施形態と同様の作用効果を得ることができる。
【０１４７】
＜第８実施形態＞
第８実施形態では、倍率（解像度）の異なる複数枚の２次元画像データから構成される階層画像データを用いる場合について説明する。
【０１４８】
図１３は横（Ｘ）、縦（Ｙ）方向を持つ２次元画像データが倍率（Ｍ）方向に並ぶ階層型の画像構造を持つ階層画像データの模式図である。図１３の階層画像データは、１３０１〜１３０４に示す４枚の２次元画像データで構成されている。画像データ１３０１の１つの分割ブロックに対応する被写体の範囲は、画像データ１３０２では２×２、画像データ１３０３では４×４、画像データ１３０４では８×８のブロックに対応する。
【０１４９】
このような構造の階層画像データに対するユーザの変更操作として、水平方向の移動と表示倍率の変更の２つが利用できる場合、その２つの変更操作に対応する先読みを行えばよい。具体的には、水平（ＸＹ）領域グループと倍率（Ｍ）領域グループの２つの領域グループが設けられる。例えば画像表示アプリケーションにブロック画像群１３０３内の一部領域の画像が表示されている場合は、水平（ＸＹ）領域グループにはブロック画像群１３０３が分類され、倍率（Ｍ）領域グループにはブロック画像群１３０１、１３０２、１３０４が分類される。
【０１５０】
図１３に示す階層画像データでは、分割ブロック画像単位でＪＰＥＧ、ＪＰＥＧ−ＸＲ，ＪＰＥＧ２０００等の圧縮符号化方式を適用すると良い。その場合、メモリ領域Ａに圧縮符号化された画像データを読み出し、メモリ領域Ｂにデコードした画像データを展開すると良い。
【０１５１】
本実施形態の階層画像データの場合も、第１〜第６実施形態で述べたのと同じ方法で画像データの先読み（バッファリング）及びメモリ容量の配分制御を行うことで、各実施形態と同様の作用効果を得ることができる。
【０１５２】
なお、第１〜第８実施形態では、図６、図１２、図１３に示すように階層画像データを構成する各２次元画像データが複数のブロックで構成されている例を示したが、ブロックに分割されていない２次元画像データの場合にも本発明は適用可能である。その場合、ブロック単位ではなく画素単位で先読み領域の大きさを決定してもよいし、画像表示アプリ
ケーションで画像を表示する際に、事前に各２次元画像データを所定サイズのブロックに分割し、上記実施形態と同じ処理を適用してもよい。
【符号の説明】
【０１５３】
１００：画像生成装置、１１０：入力操作デバイス、１２０：ディスプレイ、１３０：記憶装置、３０２：メインメモリ
７０３：先読み領域計算部、７０４：先読み画像データ取得部、７０５：表示画像展開部、７０６：表示領域取得部
８０１：ハードディスク、８０２：メモリ領域Ａ、８０３：メモリ領域Ｂ
【図１】
2013167798.tif 000016
【図２】
2013167798.tif 000017
【図３】
2013167798.tif 000018
【図４】
2013167798.tif 000019
【図５】
2013167798.tif 000020
【図６】
2013167798.tif 000021
【図７】
2013167798.tif 000022
【図８】
2013167798.tif 000023
【図９】
2013167798.tif 000024
【図１０】
2013167798.tif 000025
【図１１】
2013167798.tif 000026
【図１２】
2013167798.tif 000027
【図１３】
2013167798.tif 000028