JP2013167798A - 画像生成装置及びその制御方法 - Google Patents

画像生成装置及びその制御方法 Download PDF

Info

Publication number
JP2013167798A
JP2013167798A JP2012031671A JP2012031671A JP2013167798A JP 2013167798 A JP2013167798 A JP 2013167798A JP 2012031671 A JP2012031671 A JP 2012031671A JP 2012031671 A JP2012031671 A JP 2012031671A JP 2013167798 A JP2013167798 A JP 2013167798A
Authority
JP
Japan
Prior art keywords
data
image data
image
display
area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
JP2012031671A
Other languages
English (en)
Inventor
Tomochika Murakami
友近 村上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2012031671A priority Critical patent/JP2013167798A/ja
Priority to EP13749262.5A priority patent/EP2815394A4/en
Priority to US14/363,831 priority patent/US20140327687A1/en
Priority to PCT/JP2013/000610 priority patent/WO2013121735A1/en
Publication of JP2013167798A publication Critical patent/JP2013167798A/ja
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N1/00Sampling; Preparing specimens for investigation
    • G01N1/28Preparing specimens for investigation including physical details of (bio-)chemical methods covered elsewhere, e.g. G01N33/50, C12Q
    • G01N1/30Staining; Impregnating ; Fixation; Dehydration; Multistep processes for preparing samples of tissue, cell or nucleic acid material and the like for analysis
    • G01N1/31Apparatus therefor
    • G01N1/312Apparatus therefor for samples mounted on planar substrates
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B21/00Microscopes
    • G02B21/36Microscopes arranged for photographic purposes or projection purposes or digital imaging or video purposes including associated control and data processing arrangements
    • G02B21/365Control or image processing arrangements for digital or video microscopes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/02Handling of images in compressed format, e.g. JPEG, MPEG
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/045Zooming at least part of an image, i.e. enlarging it or shrinking it
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2350/00Solving problems of bandwidth in display systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Investigating Or Analysing Materials By Optical Means (AREA)
  • Digital Computer Display Output (AREA)

Abstract

【課題】バッファメモリの使用効率の向上を図り、ユーザ操作に対する表示変更の応答速度を総合的に向上させるための技術を提供する。
【解決手段】ユーザの操作には、表示する領域を水平方向に移動する第1の変更操作、表示する領域を奥行き方向に移動する第2の変更操作、表示倍率を変更する第3の変更操作などがある。画像生成装置では、複数の変更操作のそれぞれについて、変更操作が行われた場合に表示用の画像データの更新に必要となるデータを予測し、変更操作ごとに予測したデータをメモリ領域に格納する。ここで、メモリ領域に格納可能なデータ量の変更操作ごとの配分が、現在の表示倍率、ユーザ設定モード、アノテーション情報、操作履歴、ユーザ情報、染色の種別などに応じて、適応的に変わる。
【選択図】図9

Description

本発明は、元の画像データから表示用の画像データを生成する画像生成装置、及び、その制御方法に関する。
病理分野において、病理診断のツールである光学顕微鏡の代替として、プレパラートに載置された被検試料を撮像しデジタル化してディスプレイ上での病理診断を可能とするバーチャル・スライド・システムがある。バーチャル・スライド・システムによる病理診断画像のデジタル化により、従来の被検試料の光学顕微鏡像をデジタルデータとして取り扱える。それによって、遠隔診断の迅速化、デジタル画像を使った患者への説明、希少症例の共有化、教育・実習の効率化、などのメリットが得られる。
バーチャル・スライド・システムで光学顕微鏡の操作を仮想化して実現するためには、プレパラート上の被検試料全体像をデジタル化する必要がある。被検試料全体像のデジタル化により、バーチャル・スライド・システムで作成したデジタルデータをPCやワークステーション上で動作するビューアソフトで観察することができる。被検試料全体像をデジタル化した場合の画素数は、通常、数億画素から数十億画素であり、非常に大きなデータ量となる。
バーチャル・スライド・システムで作成したデータの量は膨大であるが、それゆえ、ビューアで拡縮を行うことでミクロ(細部拡大像)からマクロ(全体俯瞰像)まで観察することができ、種々の利便性を提供する。必要な情報を予め全て取得しておくことで、低倍画像から高倍画像までユーザが欲する解像度・倍率による即時の表示が可能となる。
また、プレパラート内の標本は厚みを持っており、観察したい組織や細胞が存在する奥行き位置がプレパラートの(水平方向の)観察位置によって異なる。そのため、光軸方向に沿って焦点位置を変えて複数枚の画像を撮像する構成が存在する。(本明細書では、光軸方向に沿って焦点位置を変えて撮像することにより取得した複数枚の画像データを「Zスタック画像」と呼び、Zスタック画像を構成する各焦点位置の2次元画像データを「レイヤー画像」と呼ぶ。)
病理診断において病理医は光学顕微鏡を駆使して、高速に倍率変更・ステージ移動・焦点合わせ等を行い、プレパラート全体の観察と細部の確認を行っている。しかし、バーチャル・スライド・システムで撮影した高精細大容量画像データの表示速度は病理医の観察速度に追いついておらず、画像の病理診断のデジタル化を進める上での課題の一つとなっている。それゆえ、バーチャル・スライド・システムで利用されるビューアにおいては、表示領域の水平(XY)方向の変更、表示領域の奥行き(Z)方向の変更、表示倍率(M)の変更といったユーザ操作に対する表示応答性の向上が望まれている。
従来、解像度の異なる画像データから構成される階層画像データの高速表示技術に関して、以下の提案がされている。特許文献1では、まず、所定サイズのブロックに分割された圧縮画像データから、表示される可能性が高い画像領域のデータを圧縮したままメインメモリにロードする。続いて、ロードした圧縮画像データの中から、表示に必要あるいは必要と予測される領域の画像データをデコード(画像の圧縮符号化を解凍)し、デコードしたデータを高速アクセス可能なバッファメモリへ格納する構成を取っている。上記構成により表示画像の更新の応答速度を高めている。
特開2010−87904号公報
しかしながら上述した従来の技術においては、以下のような問題があった。
特許文献1における先読み処理の一例として、表示履歴に基づく予測が開示されている。しかし、初めて観察する領域(未表示の領域)には表示履歴が存在しないため、有効な先読みが実現できず、画像更新の応答速度向上ができないという課題があった。また、特許文献1では先読み処理の他の一例として、画像内容に基づく予測が開示されている。しかし、この予測では、表示と同時に画像解析を行うため、負荷が大きく、応答速度向上を実現しづらい課題があった。
また、特許文献1では、メインメモリにロードする画像ブロックとして、表示画像と同一階層内の画像ブロックより別の階層、すなわち拡大画像及び縮小画像の画像ブロックを優先させる規則を開示している。これは階層を移動すると、デコードしたメモリを全て更新するため、それを避ける必要性に基づく。しかし、この規則を適用すると、ユーザがもっぱら同一階層内で表示領域を移動させる場合や、表示領域を同一階層内で大きく移動させた場合に、バッファが有効に利かず応答速度が低下してしまうという課題がある。
一般に画像ビューアのユーザが次にどのような操作を指示するかを正確に予測するのは難しい。特に、水平(XY)方向の移動、奥行き(Z)方向の移動、倍率(M)の変更のように、画像ビューアにおける表示変更の自由度が高くなるほど、予測の困難性は高くなる。とはいえ、高速アクセス可能なメモリは高価であるとともに、バッファメモリの容量に物理的もしくは論理的な制約がある場合もあるため、起こり得る変更操作をすべてカバーできるほどのバッファメモリを用意することは現実的でない。したがって、限られた容量のバッファメモリを効率的に使うための工夫が望まれる。
本発明は上記課題に鑑みてなされたものであり、バッファメモリの使用効率の向上を図り、ユーザ操作に対する表示変更の応答速度を総合的に向上させるための技術を提供することを目的とする。
本発明の第一態様は、元の画像データの一部に対応する画像を表示し、その表示する部分をユーザの操作に従って変更する機能を有するビューアのために、元の画像データから表示用の画像データを生成する画像生成装置であって、元の画像データを記憶する第1の記憶手段と、前記元の画像データの一部のデータを一時的に格納可能であって且つ前記第1の記憶手段よりも高速にデータを読み出し可能である第2の記憶手段と、ユーザの操作に応じて、前記元の画像データから表示用の画像データを生成する生成手段であって、表示用の画像データの生成に必要なデータが前記第2の記憶手段に格納されている場合には前記第2の記憶手段に格納されているデータを用いる、生成手段と、前記生成手段で利用されるデータを予測して、前記元の画像データのうちどの部分のデータを前記第2の記憶手段に格納するかを制御する制御手段と、を備え、前記ユーザの操作には、表示する領域を水平方向に移動する第1の変更操作と、表示する領域を奥行き方向に移動する第2の変更操作および表示倍率を変更する第3の変更操作の少なくともいずれかと、を含む複数の変更操作があり、前記制御手段は、前記複数の変更操作のそれぞれについて、変更操作が行われた場合に表示用の画像データの更新に必要となるデータを予測し、変更操作ごとに予測したデータを前記第2の記憶手段に格納するものであり、前記第2の記憶手段に格納可能なデータ量の変更操作ごとの配分が変更可能であることを特徴とする画像生成装置である。
本発明の第二態様は、元の画像データを記憶する第1の記憶手段と、前記元の画像データの一部のデータを一時的に格納可能であって且つ前記第1の記憶手段よりも高速にデータを読み出し可能である第2の記憶手段と、前記元の画像データの一部に対応する画像を表示し、その表示する部分をユーザの操作に従って変更する機能を有するビューアのために、前記元の画像データから表示用の画像データを生成する生成手段であって、表示用の画像データの生成に必要なデータが前記第2の記憶手段に格納されている場合には前記第2の記憶手段に格納されているデータを用いる、生成手段と、を備える画像生成装置の制御方法であって、前記ユーザの操作には、表示する領域を水平方向に移動する第1の変更操作と、表示する領域を奥行き方向に移動する第2の変更操作および表示倍率を変更する第3の変更操作の少なくともいずれかと、を含む複数の変更操作があり、前記制御方法は、前記ビューアまたは前記元の画像データから取得される情報に応じて、前記第2の記憶手段に格納可能なデータ量の変更操作ごとの配分を変更するステップと、前記複数の変更操作のそれぞれについて、変更操作が行われた場合に表示用の画像データの更新に必要となるデータを予測し、変更操作ごとに予測したデータを前記配分に従って前記第2の記憶手段に格納するステップと、を含むことを特徴とする画像生成装置の制御方法である。
本発明の第三態様は、元の画像データを記憶する第1の記憶手段と、前記元の画像データの一部のデータを一時的に格納可能であって且つ前記第1の記憶手段よりも高速にデータを読み出し可能である第2の記憶手段と、前記元の画像データの一部に対応する画像を表示し、その表示する部分をユーザの操作に従って変更する機能を有するビューアのために、前記元の画像データから表示用の画像データを生成する生成手段であって、表示用の画像データの生成に必要なデータが前記第2の記憶手段に格納されている場合には前記第2の記憶手段に格納されているデータを用いる、生成手段と、備え、前記ユーザの操作には、表示する領域を水平方向に移動する第1の変更操作と、表示する領域を奥行き方向に移動する第2の変更操作および表示倍率を変更する第3の変更操作の少なくともいずれかと、を含む複数の変更操作がある、画像生成装置に対し、前記ビューアまたは前記元の画像データから取得される情報に応じて、前記第2の記憶手段に格納可能なデータ量の変更操作ごとの配分を変更するステップと、前記複数の変更操作のそれぞれについて、変更操作が行われた場合に表示用の画像データの更新に必要となるデータを予測し、変更操作ごとに予測したデータを前記配分に従って前記第2の記憶手段に格納するステップと、を実行させることを特徴とするプログラムである。
本発明によれば、バッファメモリの使用効率の向上を図り、ユーザ操作に対する表示変更の応答速度を総合的に向上させることができる。
画像表示システムの構成図。 画像ビューアの一表示例を示す模式図。 画像生成装置の内部構成を示す図。 被写体であるプレパラートを示す図。 プレパラート撮影の様子を示す図。 第1実施形態における階層画像データのデータ構造を表す模式図。 ユーザ操作に応じた表示更新とデータ先読みを実現する機能ブロック図。 図7の各部の入出力画像データの格納場所や構造を説明する為の模式図。 第1実施形態の先読み領域計算部の内部処理を示すフローチャート。 領域グループの分類結果を説明する模式図。 第1実施形態における奥行き領域グループの先読み領域を示す模式図。 第7実施形態における階層画像データのデータ構造を表す模式図。 第8実施形態における階層画像データのデータ構造を表す模式図。
<第1実施形態>
(全体構成)
図1は、本発明の実施形態に係る画像表示システムの構成を示している。
画像生成装置(ホストコンピュータ)100には、ユーザからの入力を受け付ける入力操作デバイス110と、画像生成装置100で処理した画像をユーザに表示する為のディスプレイ(表示装置)120が接続される。入力操作デバイス110には、キーボード111、マウス112、ユーザの操作性を高めるための専用コントローラ113(例えばトラックボール)などがある。また画像生成装置100には、ハードディスクや光学ドライブ、フラッシュメモリ等の記憶装置130、ネットワークI/Fを通じてアクセスできる他のコンピュータシステム140が接続されている。なお、図1では記憶装置130は画像生成装置100の外部に存在するが、画像生成装置100に内蔵しても良い。
画像生成装置100では、入力操作デバイス110から入力されたユーザの制御信号に従い、記憶装置130から画像データを取得し、表示用の画像データを生成・更新する。
画像表示アプリケーション(画像ビューア)は画像生成装置100で実行されるコンピュータプログラムである。このプログラムは画像生成装置100内の内部記憶装置(不図示)または記憶装置130に格納されている。画像生成装置100で生成した表示用の画像データは、画像表示アプリケーション(画像ビューア)によりディスプレイ120の画面に表示され、ユーザに提示される。
(表示画面)
図2は、画像生成装置100で生成した表示データを、画像表示アプリケーションを通じて、ディスプレイ120に表示した場合の一例である。
図2は画像表示アプリケーションの画面レイアウトの基本構成である。表示画面は、全体ウィンドウ201内に、表示や操作のステータスと画像の各種情報を示す情報エリア202、観察対象(検体)の全体を示すサムネイル画像203、詳細観察用の表示領域205、表示領域205の表示倍率206等が配置された構成である。サムネイル画像203には、詳細観察用の表示領域205に現在表示されている領域が枠線204で表示される。これにより、ユーザは、表示領域205で詳細観察している画像が検体全体の中のどの位置・大きさの部分に対応するのかを把握することができる。
ユーザは入力操作デバイス110を用いて、詳細観察用の表示領域205に表示する領域を水平(XY)方向に移動させたり、表示倍率(M)を拡大/縮小したり、表示する領域を奥行き(Z)方向に移動させたりといった、各種の変更操作を指示できる。表示領域205に表示する画像に対する変更操作としては、他にも、画像の回転、被写界深度の変更(深度合成)などを用意してもよい。また、ユーザは入力操作デバイス110を用いて、表示領域205に表示されている画像の任意の位置にアノテーション情報(コメント情報)207を付与することができる。
奥行き(Z)方向の移動とは、Zスタック画像の場合は焦点位置の異なるレイヤー画像への切り替えを意味する。あるいは、他の手段で得られた3次元画像データ(例えばボクセルデータ)の場合には、スライス位置を移動する操作に対応する。
水平方向の移動は、例えば、表示領域205内の画像またはサムネイル画像203上の枠線204をマウス112でドラッグする操作により指示できる。画像の拡大/縮小は、例えば、マウスホイールの回転操作によって実現できる(例えば、ホイールの前方回転を拡大、後方回転を縮小に割り当てる)。また、奥行き方向の移動は、例えば、所定のキー
(例えばCtrlキー)を押しながらのマウスホイールの回転操作で実現できる(例えば、ホイールの前方回転を奥行きが深い画像への移動に、後方回転を奥行きが浅い画像への移動に割り当てる)。
上記のようなユーザの表示画像の変更操作に伴い、表示領域205、表示倍率206、サムネイル画像203内の枠線204が更新される。このようにして、ユーザは所望する水平位置、奥行き位置、倍率の画像を観察できる。
(画像生成装置)
図3は画像生成装置100の内部のハードウェア構成を示す図である。
CPU301はメインメモリ302に格納されているプログラムやデータを用いて画像生成装置全体の制御を行う。またCPU301は、以降の実施形態で説明する各種演算処理及びデータ処理、例えば、符号化圧縮データのデコード、画像の拡大縮小や回転、画像ビューアの実行、表示画像の更新、データの先読み(バッファリング)等を行う。
メインメモリ302は記憶装置130からロードされたプログラムやデータ、他のコンピュータシステム140からネットワークI/F(インターフェース)304を介してダウンロードしたプログラムやデータを一時的に記憶するエリアを備える。またメインメモリ302は、CPU301が各種の処理を行うために必要とするワークエリアを備える。
入力操作デバイス110は、キーボード102、マウス103、専用コントローラ113などCPU301に各種の指示を入力することのできるデバイスにより構成される。ユーザは画像生成装置100の動作を制御する情報を入力操作デバイス110により入力する。305は入力操作デバイス110を介して入力された各種の指示等をCPU301に通知するためのI/Oである。記憶装置130はハードディスクやSSDなどの大容量情報記憶装置であり、OS(オペレーティングシステム)や以降の実施形態で説明する処理をCPU301に実行させるためのプログラムや画像データなどを記憶する。記憶装置130への情報の書き込みや記憶装置130からの情報の読み出しはI/O306を介して行われる。
ディスプレイ制御装置307は画像や文字等をディスプレイ120に表示させるための制御処理を行う。ディスプレイ120はユーザに入力を求めるための画面表示を行うとともに、記憶装置130や他のコンピュータシステム140から取得しCPU301で処理した画像データを画像表示する。
演算処理ボード303は、画像処理など特定の演算機能が強化されたプロセッサおよびバッファメモリ(不図示)を備えている。以降説明する本実施形態では、各種演算処理及びデータ処理にはCPU301を用い、画像データを一時的に格納するメモリ領域(バッファ)としてはメインメモリ302を用いる。ただし、演算処理ボード303内のプロセッサやバッファメモリを用いることも可能であり、その構成も本発明の範疇とする。なお、データを予め高速なメモリに読み込んでおく処理には「バッファリング」と「キャッシング」とがあるが、本明細書では両者を同じ意味で用いるものとする。
(被写体および撮像装置に関して)
図4は本発明における被写体の一例である病理標本のプレパラート400を表す。病理標本のプレパラート400では、スライドグラス410上に設置した検体401が封入剤(不図示)とその上に載せるカバーグラス411によって封入されている。検体401の大きさや厚みは検体毎によって異なっている。更にスライドグラス410上には検体401に関する情報を記載したラベルエリア412が存在する。
なお、以降の実施形態では、被写体として図4に示す病理標本のプレパラートを例に説明する。しかし、必ずしも被写体はそれに限定されない。顕微鏡で観察対象となる金属表面などの凹凸のある物体でも構わないし、透明な生物標本でも良い。また顕微鏡に限らず、他のイメージング装置で得られた生体もしくは物体の画像でもよいし、デジタルカメラで撮影する風景写真や人物写真などの自然画像でも構わない。
(撮像装置)
図5は被写体をデジタル化する撮像装置の構成の一部を表す。
プレパラート400をステージ502に置き、照明ユニット501から光を照射し、交換可能な対物レンズを含む結像光学系503によって、撮像センサ504上に結像させ、光電変換によって撮像センサ504上の像をデジタル化する。座標は図5に示すように、結像光学系503の光軸方向をZに割り当てる。
結像光学系503の倍率を変えて複数回の撮像を行えば、倍率の異なる複数枚の画像データを得ることができる。また、ステージ502をZ方向に所定ピッチで移動させながら複数回の撮像を行えば、焦点位置(奥行き位置)が異なる複数枚の画像データを得ることができる。さらに、一回の撮像では被写体全体を画角に収めることができない場合には、倍率及び奥行き位置を変えずに、ステージ502をX、Y、またはその両方向に移動させて複数回の撮像を行うことで、水平位置が異なる複数枚の画像データを得ることができる。
前述した画像表示アプリケーションにおける、表示領域の水平方向の移動、奥行き方向の移動、倍率の変更は、それぞれ、ステージ502のXY方向の移動、ステージ502のZ方向の移動、結像光学系503の倍率の変更に対応する。なお、図2の表示倍率206に示される値は図5の結像光学系503の倍率に対応させると分かりやすい。
(ファイル構成)
図6は被写体を撮影して構成した画像ファイルのデータ構造の一例を示す模式図である。図6に示すように、1つの被写体のデータは、水平(XY)位置、奥行き(Z)位置、及び、倍率(M)が異なる複数枚の2次元画像データから構成された、階層構造をもつ階層画像データとなっている。
図6の601〜604は、それぞれ、5倍、10倍、20倍、40倍の倍率で撮像した画像データ群を示している。画像データ群601は、奥行き(Z)位置の異なる3枚の2次元画像データから構成される。これは、被写体の奥行き(Z)方向に所定ピッチで焦点位置を変えつつ3回の撮像を行うことで得られたものであり、画像データ群601は「Zスタック画像」、Zスタック画像を構成する各々の2次元画像データは「レイヤー画像」と呼ばれる。他の画像データ群602、603、604も、3枚のレイヤー画像から構成されるZスタック画像である。なお、図6では、倍率の異なる4セットのZスタック画像があり、各Zスタック画像は3枚のレイヤー画像で構成されているが、Zスタック画像の数(倍率の数)やレイヤー画像の数は任意の値を取りうる。例えば被写体の標本が4μmの厚さをもつ場合に、標本の上端から0.5μmピッチで撮像すると、標本の厚み全体をカバーするには9枚のレイヤー画像が必要である。ピッチが1.0μm、2μm、4μmの場合は、それぞれ、5枚、3枚、2枚のレイヤー画像が必要である。
図6に示すように、Zスタック画像601〜604は倍率に従って画像サイズ(X方向、Y方向それぞれの画素数)が異なっている。これはデジタル画像データをディスプレイで表示する場合に、倍率に従って視野を変える為である。例えば、プレパラートの20mm角の領域を、結像光学系倍率40倍、センサ画素ピッチ0.25μm/pixelで撮像する場合、画像のサイズは80000×80000画素となる。次に、倍率20倍で撮
像する場合にはディスプレイ表示時に倍の視野を持たせるため、一辺が倍率40倍の半分となるように設定し、40000×40000画素となる。同様に倍率10倍、倍率5倍で撮像する場合には、それぞれ20000×20000画素、10000×10000画素となる。
これらの階層画像データは、実際に結像光学系503の倍率や焦点位置を変えて撮像することで生成しても良い。また、高倍の倍率、例えば40倍の画像データのみ実際に撮像し、その他のデータはデジタル画像処理で仮想的に生成しても良い。その場合、低倍の焦点位置を変えたZスタック画像は、高倍で撮影したZスタック画像に対し、被写界深度の拡大処理を施すことで生成でき、低倍の画像データは高倍の画像データに対して縮小を施すことで生成できる。
また図6に示す階層画像データにおいて、各Zスタック画像602〜604を構成するレイヤー画像は複数のブロックに分割されている。ブロックのサイズ、即ち分割ブロックイズはどのような値でも構わないが、本実施形態では一例として256×256画素の場合について説明する。
レイヤー画像中の1ブロックは、倍率40倍では検体401の一辺64μm(=0.25μm/pixel×256pixel)の範囲を表し、倍率20倍、10倍、5倍ではそれぞれ標本の一辺128μm、256μm、512μmの範囲を表す。例えば、表示倍率10倍の1ブロック(一辺256μm)は面積比で40倍の1ブロック(一辺64μm)の16倍の領域を表示できる。
また図6で示す階層画像データにおいては、レイヤー画像内の各ブロック単位で画像データが圧縮符号化されているとする。画像圧縮をブロック単位で実行することで、必要なブロック単位のデコードが可能となり、画面表示の高速化が実現できる。
なお、2次元画像を時間(T)方向に並べた階層画像データとして動画像データが存在する。しかし、動画像データにおいては、ユーザは2次元画像全体を時間の進行方向に観察する以外の閲覧を行う機会が少ない。そのため、動画像データの場合は、空間的な広がりをもつ階層画像データとは違い、水平位置、奥行き位置、倍率などの変更操作に従って表示画像の更新を高速に行うという本発明の方法を考慮する必要はなかった。
図6で一例を示した階層画像データを格納するファイルでは、ヘッダ情報に各Zスタック画像に対応する倍率(M)、水平(XY)方向の撮像範囲、奥行き(Z)方向の位置や位置を表す番号、ファイル中の各ブロック画像のインデックス情報やデータ格納位置などが記載される。上記ファイルヘッダ情報を参照することでファイルから指定する水平(XY)、奥行き(Z)、倍率(M)方向の各ブロック画像データを高速に取得できる。
(表示更新及びデータ先読み処理)
図7は、画像表示アプリケーションに対するユーザ操作に応じて、表示画像の更新ならびに階層画像データからのデータの先読み(バッファの制御)を行うための構成を示す機能ブロック図である。本実施形態では、プログラムを実行するCPU301によりこれらの機能を実現しているが、もちろん専用の演算処理ボードやロジック回路でこれらの機能を実現してもよい。図8は図7の各部の入出力画像データの格納場所や構造を説明する図である。以降、図7および図8を用いて、ユーザ操作に応じた表示更新及びデータ先読み処理について説明する。
ユーザ情報取得部701は、画像生成装置100上の画像表示アプリケーションに対するユーザ入力情報を取得する。ユーザ入力情報としては、入力操作デバイスであるマウス
112のカーソル位置や表示倍率、表示奥行き位置、階層画像データに格納されたアノテーション情報、画像表示アプリケーションに格納された各種設定情報等である。詳細は後述する。
表示領域計算部702は、マウス112のカーソル位置や表示倍率、表示奥行き位置等に基づき、画像表示アプリケーションの表示領域205に表示する画像の領域を計算する。詳細は後述する。表示領域計算部702で計算された表示領域情報は、後段の先読み領域計算部703、表示領域取得部706に出力される。
先読み領域計算部703、先読み画像データ取得部704、表示画像展開部705は、表示用画像の生成に必要となるデータを予測して、階層画像データのうちどの部分のデータを先読み(バッファリング)するかを制御する機能である。本実施形態では、ユーザ情報取得部701からの入力情報と表示領域計算部702からの表示領域情報を元に、先読み領域計算部703が次に表示される確率の高い画像領域を推定し、先読み領域(バッファに格納すべき領域)を計算する。詳細は後述する。先読み画像データ取得部704は、先読み領域計算部703で計算された先読み領域に対応する分割ブロックの画像データ812(ブロック画像データと呼ぶ)を、階層画像データ811から取得し、メモリ領域A802に出力する。メモリ領域A802は、圧縮符号化されているブロック画像データ812を一時的に格納するためのバッファである。
表示画像展開部705は、メモリ領域A802から圧縮符号化されているブロック画像データ812を取得し、それらをデコードして、メモリ領域B803に出力する。メモリ領域B803は、デコードされた展開画像データ813を一時的に格納するためのバッファである。ここでは、メモリ領域A802内のすべてのブロック画像データ812がメモリ領域B803に展開されるわけではなく、次に表示される確率が十分に高い分割ブロックの画像データのみが展開される。メモリ領域A802とメモリ領域B803のそれぞれに格納すべき領域(先読み領域)の決定手法の詳細は後述する。なお、図8に示すように、表示領域820に対して上下左右にマージンを持つように展開画像データ813を生成すると良い。例えば、表示領域820の上下左右それぞれ一列分のブロック画像データを余計に展開する。このようにマージンを持たせることで、多少の水平方向移動が起きても展開画像データを再生成する必要が無く、画面更新の応答性を高めることができる。
表示領域取得部706は、表示画像展開部705で生成した展開画像データ813から表示領域820に該当する範囲の画像データのみ抽出した表示用の画像データ814を生成し、ディスプレイ制御装置307内のフレームメモリ804に出力する。フレームメモリ804に出力された画像データはディスプレイ制御装置307を介してディスプレイ120に表示される。
メモリ領域A(802)、メモリ領域B(803)には、画像生成装置100のメインメモリ302内の一部領域を用いても良いし、表示処理高速化の為に追加した演算処理ボード303内のバッファメモリ(不図示)内の一部領域を用いても構わない。フレームメモリ804は画像生成装置100の構成により存在場所が異なるが、ディスプレイ制御装置307の内部やメインメモリ302の内部に領域を確保する。
また、先読み画像データ取得部704、表示画像展開部705、表示領域取得部706の処理は、直列で順番に行うのではなく、並列に行っても良い。例えば、先読み画像データ取得部704の処理は一定時間間隔で実行すると良い。表示画像展開部705の処理は、先読み画像データ取得部704でデコードに必要なデータが取得されていれば、先読み画像データ取得部704の処理と並行して行うと良い。表示領域取得部706の処理は、表示領域820内でデコード出来ていないデータが存在しても一定時間間隔で行っても良
いし、表示領域820内のデコードが全て完了した時点で実行しても良い。また、表示領域820の画像データの生成に必要なデータがメモリ領域A802、メモリ領域B803のいずれにも存在しない場合には、ハードディスク801から直接画像データを読み出し、デコード及び表示用画像の生成を行ってもよい。すなわち、表示更新及びデータ先読み処理の実行順序は、ユーザ操作に対する表示画面更新の応答性を高めるために、様々に工夫することが出来る。
なお、本実施形態では、ハードディスク801(記憶装置130)が、元の画像データを記憶する第1の記憶手段を構成する。また、メモリ領域A802及びメモリ領域B803が、元の画像データの一部のデータを一時的に格納し、高速にデータを読み出し可能な第2の記憶手段を構成する。また、表示領域取得部706が、ユーザの操作に応じて、元の画像データから表示用の画像データを生成する生成手段を構成する。そして、先読み領域計算部703、先読み画像データ取得部704、及び、表示画像展開部705が、生成手段で利用されるデータを予測し、第2の記憶手段に格納すべきデータを制御する制御手段を構成する。
(先読み領域計算処理)
続いて、先読み領域計算部703の内部処理について説明する。
図9は先読み領域計算部703の内部処理である先読み領域計算処理を示すフローチャートである。図9の処理により、画像表示アプリケーションからのユーザ入力情報に基づいて、ユーザが表示する可能性が高い先読み領域を計算し、画像更新の応答性を高めることが出来る。
前述のように、ユーザの操作には、表示領域の水平方向の移動(第1の変更操作)、表示領域の奥行き方向の移動(第2の変更操作)、表示倍率の変更(第3の変更操作)など、複数の変更操作がある。いずれの変更操作の場合も表示用画像を更新する必要があるが、変更操作ごとに表示用画像の生成に必要な画像データは異なっている。言い換えると、メモリ領域AおよびBに格納すべきデータ(つまり、階層画像データの内から先読みすべき領域)は変更操作ごとに異なる。そこで本実施形態では、変更操作ごとの先読み領域に対応する「領域グループ」という概念を導入する。以下、図9のフローチャートに沿って先読み領域計算部703の処理を説明する。
まず、領域グループ設定処理S901では、先読み領域計算部703は、階層画像データ内に含まれる各レイヤー画像(あるいは各分割ブロック)を所定の規則に基づいていずれかの領域グループに分類する。いずれの領域グループにも割り当てられないレイヤー画像(あるいは分割ブロック)が存在しても良い。上記の分類の結果、各領域グループにはそれぞれ1つ以上のレイヤー画像(あるいは分割ブロック)が割り当てられる。なお、領域グループおよび分類の規則の詳細は後述する。
次に、先読み領域データ量取得処理S902では、先読み領域計算部703は、先読み領域計算に必要とされる情報、具体的には画像生成装置100において先読み用に確保する先読みデータ量(メモリ量)を取得する。先読みデータ量とは、メモリ領域AとBのそれぞれに格納可能な先読みデータ(予測データとも呼ぶ)の容量(データサイズ)のことである。本実施形態ではメモリ領域AおよびBの2つに分けて、それぞれの先読みデータ量を計算するが、メモリ領域AおよびBを一つにまとめることも可能である。
ユーザ情報取得部701から取得した情報に変更が無い場合には、領域グループ設定処理S901および先読み領域データ量取得処理S902は省略することもできる。メモリ内に保存した前回の計算値を再利用することで計算負荷を減らすことができる。
領域グループ別データ配分決定処理S903では、先読み領域計算部703は、領域グループ別データ配分情報910を参照して、領域グループごとの先読みデータ量の配分を決定する。なお、先読みデータ量の配分決定に用いる領域グループ別データ配分情報910は、記憶装置130またはメインメモリ302の中に予め格納されている。
領域グループ別先読み領域決定処理S904では、先読み領域計算部703は、先読みデータ量の配分に基づいて、領域グループ毎に、メモリ領域Aに読み込むブロック(先読み領域Aと呼ぶ)、メモリ領域Bに読み込むブロック(先読み領域Bと呼ぶ)を決定する。
以下、図9の各処理についてさらに詳しく説明する。
(領域グループ設定処理S901)
領域グループ設定処理S901について詳しく説明する。
まず、階層画像データの領域の表現方法について説明する。倍率および奥行き位置で一意に指定できるレイヤー画像をI(Z,M)で表し、画像表示アプリケーションで表示する奥行き(Z)方向および倍率(M)方向の値をZpおよびMpとすると、表示するレイヤー画像はI(Zp,Mp)となる。
本実施形態では、画像観察における変更操作の主要な方向として、水平(XY)、奥行き(Z)、倍率(M)の3方向を想定する。この方向情報に基づき、各Zスタック画像のレイヤー画像を水平(XY)領域グループ、奥行き(Z)領域グループ、倍率(M)領域グループの3つに分類する。
3つの領域グループに関して図10を用いて具体的に説明する。現在、画像表示アプリケーションにおいて表示倍率が20倍であり、Zスタック画像1003の一番上のレイヤー画像(点模様)の一部領域を表示していると仮定する。その場合、水平(XY)領域グループには、Zスタック画像1003の一番上のレイヤー画像(点模様)が設定される。また奥行き(Z)領域グループには、Zスタック画像1003の一番上のレイヤー画像を除いたレイヤー画像群(チェック模様)が設定される。そして倍率(M)領域グループには、Zスタック画像1001、1002、1004の一番上のレイヤー画像群(縦線模様)が設定される。
より一般化すると、水平(XY)領域グループには、現在表示されている画像と表示倍率及び奥行き位置が同じレイヤー画像I(Zp,Mp)が分類される。また、奥行き(Z)領域グループには、現在表示されている画像と表示倍率は同じであるが、奥行き位置が異なる、レイヤー画像群{I(Zs,Mp)}が分類される。なお、Zsは、現在の奥行き位置Zp以外のすべての奥行き位置を表し、{I}は画像群を表している。また、倍率(M)領域グループには、現在表示されている画像と奥行き位置は同じであるが、表示倍率が異なる、レイヤー画像群{I(Zp,Mt)}が分類される。なお、Mtは、現在の表示倍率Mp以外のすべての表示倍率を表す。
なお、水平(XY)はさらに横(X)、縦(Y)に分割しても良いが、本実施形態では単一の方向として説明する。また、異なる倍率のZスタック画像に同じ奥行き位置Zpを持つレイヤー画像が存在しない場合には、Zpに最も近い位置(Zp’)におけるレイヤー画像で代用できる。
(先読み領域データ量取得処理S902)
続いて、本実施形態における先読み領域データ量取得処理S902の詳細を説明する。
本実施形態では、先読みデータ量として、メモリ領域A802およびメモリ領域B80
3に割り当てられたメモリ量を取得する。先読みデータ量全体として割り当て可能なメモリ量は、予め画像表示アプリケーションに設定されている。画像表示アプリケーションは、OS(Operating System)上の利用可能な最大メモリ量を参照し、その最大メモリ量を超えないように先読みデータ量を計算しているとする。
(領域グループ別データ配分決定処理S903)
続いて、表示倍率を用いた領域グループ別データ配分決定処理S903について説明する。
画像表示アプリケーションの表示領域205に現在表示されている画像が、図6の表示倍率20倍のZスタック画像603の一番上のレイヤー画像の一部であると仮定し、以下の説明を行う。
表1に領域グループ別データ配分決定処理S903で用いる、領域グループ別データ配分情報910の一例を示す。
Figure 2013167798

領域グループ別データ配分情報910には、表示倍率に対する、水平(XY)領域グループ、奥行き(Z)領域グループ、倍率(M)領域グループそれぞれの先読みデータ量の配分率が記載されている。表1の例は、現在の表示倍率が5倍のとき、水平(XY)領域グループには80%の、奥行き(Z)領域グループには0%の、倍率(M)領域グループには20%のメモリ量を割り当てることを示している。また、現在の表示倍率が40倍のときは、水平(XY)領域グループには20%の、奥行き(Z)領域グループには60%の、倍率(M)領域グループには20%のメモリ量が割り当てられる。
この配分率は、病理医の病理診断における観察フローに基づいて導出されている。例えば、5倍という低倍率の画像は、病理医が検体全体を網羅的に観察し、詳細観察の必要な関心箇所を見つけるために利用されることが多い。よって、低倍率の画像が表示されているときは、もっぱら水平(XY)方向の移動が行われ、奥行き(Z)方向の移動は稀である。そのため、この場合は、水平(XY)領域グループに多くのメモリ量を割り当てる。一方、40倍という高倍率で画像が表示される場合は、既に関心箇所の絞り込みが終わり、詳細観察を行っている段階にあることが多い。そのため、水平(XY)方向への移動量は少ないと予測される。そのため、水平(XY)領域グループに比べ、奥行き(Z)領域グループに多くのメモリ(60%)を割り当てる。表1の例では、倍率(M)領域グループの先読みデータ量の配分率は固定(20%)しているが、これはユーザが倍率変更を容易とするためである。現在の表示倍率に応じて、倍率(M)領域グループへの配分を変更することも可能である。
仮に、先読み領域データ量取得処理S902で取得した、メモリ領域A,Bに割り当てられたメモリ量はそれぞれ125MBであるとする。表1に従えば、現在の表示倍率が20倍のとき、水平(XY)領域グループ、奥行き(Z)領域グループ、倍率(M)領域グループへのメモリ割り当て量はそれぞれ、50MB、50MB、25MBと計算される。
(領域グループ別先読み領域決定処理S904)
続いて、領域グループ別先読み領域決定処理S904の詳細を説明する。メモリ領域A
802に格納する先読み領域Aは、メモリ領域B803に格納する先読み領域Bとほぼ同様に計算出来るため、先に先読み領域Bの決定方法について説明する。なお、以下では、水平(XY)領域グループに対する先読み領域を「水平(XY)先読み領域」と呼ぶ。同様に、奥行き(Z)領域グループ、倍率(M)領域グループに対する先読み領域をそれぞれ「奥行き(Z)先読み領域」、「倍率(M)先読み領域」と呼ぶ。
まず、倍率(M)先読み領域の計算方法について述べる。
階層画像データに含まれる、倍率(M)の異なるZスタック画像の数をWとすると、図10ではW=4となる。倍率(M)領域グループには、現在の表示倍率を除く、W−1枚のレイヤー画像が含まれている。本実施形態では、W−1枚のレイヤー画像のそれぞれに対し、等しいサイズの先読み領域を確保する。
S903の処理で倍率(M)領域グループに割り当てられたメモリ量は25MBであるため、倍率(M)領域グループに属するレイヤー画像1枚当たりのメモリ量は、25/(W−1)=25/3=8.3[MB]となる。
先読み領域を横M画素、縦N画素とし、MとNの比は画面表示サイズ(1920×1200画素)のアスペクト比と同じM=1.6×Nとすると、M=2154、N=1346となる。M,Nを超えない分割ブロックサイズの整数倍の横、縦の画素数を求めると、横2048画素、縦1280画素となる。なお、分割ブロックの縦、横のサイズは256画素として計算した。
次に、水平(XY)先読み領域と奥行き(Z)先読み領域の計算方法について述べる。
図11(a)および(b)は、前述のメモリ配分率を用いて定めた、メモリ領域Bにロードする水平(XY)先読み領域および奥行き(Z)先読み領域を示す模式図である。図11(a)はすべての奥行き位置で同じサイズの画像データをロードする例、図11(b)は奥行き位置に応じて画像データのサイズを変化させる例を示している。
割り当てられたメモリ量を最大限使って、水平(XY)先読み領域(1100a)を計算すると、横M、縦Nのサイズは下記で計算できる。
N=sqrt(asign_mem_xy/pix_Byte/aspect) …<1>式
M=1.6×N …<2>式
続いて、M,Nを超えないように、分割ブロックサイズの整数倍となるX方向の画素数Sx、Y方向の画素数Syを下記の式で計算する。
Sx=floor(aspect×N/block_x)×block_x …<3>式
Sy=floor(N/block_y)×block_y …<4>式
ここで、floor(x)はxを超えない最大の整数を求める関数、sqrt(x)はxの平方
根を求める関数を表す。なお、上記の各変数の意味は下記の通りである。
N:画面表示サイズのアスペクト比となるように先読み領域を計算した場合のY方向の最大長(分割ブロックを考慮しない値)
block_x:分割ブロックのX方向の長さ
block_y:分割ブロックのY方向の長さ
asign_mem_xy:水平(XY)領域グループに割り当てられたメモリ量[Byte]
pix_Byte:1画素のバイト数
aspect:画面表示サイズのアスペクト比(横/縦)
また、図11(a)の場合、画像表示アプリケーションで現在表示されている画像の奥行き位置(Zp)を中心とした奥行き(Z)先読み領域(1101aおよび1102a)の奥行き方向の枚数(D)は、下記の式で計算できる。
Sx=ceil(x_disp/block_x)×block_x …<5>式
Sy=ceil(y_disp/block_y)×block_y …<6>式
D=floor(asign_mem_z/(Sx×Sy×pix_Byte)) …<7>式
ここで、Ceil(x)はxを超える最小の整数を求める関数を表す。
各変数の意味は下記の通りである。
x_disp:先読みしたいX方向の画素数(分割ブロックを考慮しない値)
y_disp:先読みしたいY方向の画素数(同上)
asign_mem_z:奥行き(Z)領域グループに割り当てられたメモリ量[Byte]
上記の式に対して、一例として下記の想定値を代入する。
block_x=block_y=256
pix_Byte=3(RGBカラーを想定し、3バイトに設定)
aspect=1920/1200
x_disp=1920
y_disp=1200
なお、現在の表示倍率は5倍と仮定し、水平(XY)領域グループ、奥行き(Z)領域グループそれぞれのメモリ割り当ては以下のとおりとする。
asign_mem_xy=104857600(=100MB)
asign_mem_z=0
その結果、表2に示すように水平(XY)先読み領域と奥行き(Z)先読み領域が決定出来る。
Figure 2013167798

なお「画面カバー率」は、メモリ領域Bにおいて水平(XY)先読み領域として確保した画素数が画面表示の縦横サイズの何%に相当する領域をカバーするかを示している。この数字が大きい程、水平方向もしくは奥行き方向への移動に対して高速に画面更新できる領域が広いこと、即ち低速のメモリや記憶媒体へのアクセスが少なくて済むことを示している。
表2の結果から、低倍率(5倍)では水平(XY)方向の移動に対する画面更新の応答性能が高いことが分かる。続いて表3、表4、表5に表示倍率10倍、20倍、40倍における領域グループ毎の先読み領域を示す。
倍率10倍におけるメモリ割り当ては、
asign_mem_xy=78643200(=75MB)
asign_mem_z=26214400(=25MB)
であり、倍率20倍におけるメモリ割り当ては、
asign_mem_xy=52428800(=50MB)
asign_mem_z=52428800(=50MB)
であり、倍率40倍におけるメモリ割り当ては、
asign_mem_xy=26214400(=25MB)
asign_mem_z=78643200(=75MB)
である。
Figure 2013167798

Figure 2013167798

Figure 2013167798

上記の表3〜表5より10倍、20倍、40倍と高倍になるにつれ、水平方向の画面カバー率を下げつつも、奥行き方向の画像の先読み枚数を増やしていることが分かる。これは、ユーザのニーズと良く合致している。低倍では概要確認を行うため、水平方向の移動に対する画面更新の応答性能が重要である。一方、倍率が大きくなるにつれ、被写界深度が浅くなる為、奥行き方向の観察の頻度が上がり、奥行き方向の画面更新の応答性能が重要となる。
以上、表1に示す領域グループ別データ配分情報910を用いた先読み領域について実例を用いて説明したが、領域グループ別先読み領域決定処理S904における計算方法は上記の例に限られない。以下、その変形例について述べる。
図11(b)は、現在表示している奥行き位置(Zp)から離れるに従って、先読み領域のサイズを小さくした例である。図11(b)では、現在表示している奥行き位置(Zp)を「0」、そこからプラス方向に一段階ずつ離れた奥行き位置を「+1」、「+2」・・・で示し、マイナス方向に一段階ずつ離れた奥行き位置を「−1」、「−2」・・・で示している。
例えば、現在の奥行き位置(Zp)から一段階離れた奥行き位置(Zp+1)および(Zp−1)に割り当てるメモリ量をa[MB]とし、それぞれ奥行き位置が一段階ずつ離れるにつれ、割り当てるメモリ量がr倍(r<1)になるとする。
そのとき、奥行き位置(Z)における先読み領域のメモリ量b[MB]は、下記のとおりとなる。
Figure 2013167798
奥行き先読み領域をすべて格納するのに必要なメモリ量は、<8>式と<9>式で表される各奥行き位置のメモリ量bの総和となる。ここで、<8>式の和、<9>式の和はいずれも等比級数であることから、奥行き方向に存在するレイヤー画像の数が多くても、最大のメモリ量d[MB]は以下の通りとなる。
Figure 2013167798
例えば、<10>式においてr=1/2のときは最大でも4a[MB]となる。奥行き(Z)領域グループに4a[MB]のメモリ量が割り当てられた時、図11(a)のように各奥行き位置から同じデータ量a[MB]のデータを読み込むとしたら、4枚分の画像データしか先読みできない。しかし、奥行き位置に従って先読み領域のサイズを可変にすることにより、より広い範囲の奥行き方向の先読みが可能となる。なお、サイズの変更方法は図11(b)の例に限らず、現在表示されている奥行き位置(Zp)から離れるに従って徐々にまたは段階的にサイズが減少していくようにすれば、同様の効果が得られる。なお、サイズを減少していく際、図11(b)のように各奥行き位置の先読み領域の水平(XY)方向の中心を合わせることが好ましい。これにより、少なくとも画面中央部に関しては高速な画像更新が可能となる。画面中央部はユーザが関心を持って観察している可能性が高いため、画面端部の表示が遅れたとしても、画面中央部の表示が応答性良く更新できていれば、奥行き画像観察時の待ち時間やそれに伴うストレスを低減できる効果が実現できる。
(計算方法変形例)
また、領域グループ別先読み領域決定処理S904における別の計算方法として、表示倍率における奥行き方向の枚数(D)を用いて、全ての奥行き方向の画像が表示できるように先読み領域を決定しても良い。
例えば、倍率40倍における奥行き方向の枚数がD=26で、奥行き(Z)領域グループのメモリ割当が75MBとすると、奥行き(Z)領域グループに割り当てられる枚数はD−1となり、1枚当たりのメモリ量は75/(26−1)=3[MB]となる。仮に、先読み領域を横M画素、縦N画素とし、MとNの比は画面表示サイズのアスペクト比と同じM=1.6×Nとすると、M=1295、N=810となる。M,Nを超えない分割ブロックサイズの整数倍の横、縦の画素数を求めると、横1280画素、縦768画素となる。
なお、前述の領域グループ別データ配分決定処理S903における計算方法は、画像表示アプリケーションの設定と連動して定めても良い。その場合にはユーザが画像表示アプリケーションの設定画面から設定できるようにしても良い。
次に、メモリ領域A802に格納する先読み領域Aの先読み領域決定方法について述べる。メモリ領域A802に格納する先読み領域Aについても、上述したメモリ領域B803の場合と同じ方法で決定することができる。違いは、メモリ領域A802には元の階層
画像データにおける圧縮符号化された画像データを格納するので、メモリ領域A802のみかけのメモリ量が大きくなるという点だけである。メモリ領域AとBが同じメモリ量である場合に、例えば圧縮率が1/10であれば、メモリ領域Aの方が10倍の分割ブロックの画像データを格納することができる。
このとき、ある領域グループに割り当てられたメモリ量が、当該領域グループに分類された分割ブロックの総データ量よりも多い場合には、幾つかの対処方法がある。一つは余剰分を他の領域グループに再割り当てする方法であり、もう一つは余剰分を他の領域グループに割り当てずにメモリ領域Aから解放する方法である。前者は他の領域グループで先読み範囲を広げ、画面更新の応答速度を高める効果が実現できる。後者は画像表示アプリケーションの使用メモリを抑えることで、他のコンピュータプログラムに割り当て可能なメモリを増やし、その動作を軽快にする効果が実現できる。用途に応じていずれの方法を適用しても良い。
なお、元の階層画像データの圧縮率は、階層画像データのファイルヘッダに記載されたデータ圧縮率の情報を用いるとする。なお、ヘッダ情報にデータ圧縮率の記載が無い場合でも、ヘッダ情報に記載の画像データの水平(XY)方向の画素数、倍率(M)方向および奥行き(Z)方向の枚数から非圧縮での画像データサイズを計算できる。そのため、前述の非圧縮での画像データのサイズとヘッダ情報に記載の圧縮後のファイルサイズとを比較することで画像データの圧縮率を求めることが可能である。
以上、先読み領域計算部703の内部処理について説明した。
(先読み画像データ取得部704の内部処理)
続いて先読み画像データ取得部704の内部処理について述べる。
先読み画像データ取得部704は、階層画像データが格納されたファイルから、先読み領域計算部703で求めた先読み領域Aの画像データを取得する。この際、既にメモリ領域A802には、以前のユーザの入力情報に従って取得した分割ブロックの画像データ群が存在する場合がある。そのため、先読み画像データ取得部704は、データ取得に当たり、まず取得予定の全ての分割ブロックのインデックス情報を記録した「メモリ領域A取得予定画像リスト」を作成する。また、メモリ領域A802に現在格納されている分割ブロックのインデックス情報は、「メモリ領域A取得済み画像リスト」に記載されている。先読み画像データ取得部704は、メモリ領域A802に分割ブロックの画像データを書き込んだり、メモリ領域A802から画像データを消去したりするたびに、メモリ領域A取得済み画像リストの内容を更新する。
先読み画像データ取得部704は、メモリ領域A取得済み画像リストとメモリ領域A取得予定画像リストとを比較し、「メモリ領域A維持予定画像リスト」、「メモリ領域A解放予定画像リスト」、「メモリ領域A更新予定画像リスト」を作成する。メモリ領域A維持予定画像リストは、メモリ領域A取得済み画像リストとメモリ領域A取得予定画像リストの双方に存在する分割ブロックのインデックス情報が記載されたリストである。また、メモリ領域A解放予定画像リストは、メモリ領域A取得済み画像リストに含まれるが、メモリ領域A取得予定画像リストには含まれていない分割ブロックのインデックス情報を記載したリストである。逆に、メモリ領域A更新予定画像リストは、メモリ領域A取得予定画像リストには含まれるが、メモリ領域A取得済み画像リストには含まれていない分割ブロックのインデックス情報を記載したリストである。
そして、先読み画像データ取得部704は、メモリ領域A解放予定画像リストに記載の分割ブロックの画像データをメモリ領域Aから解放し、同時にメモリ領域A更新予定画像リストに記載の分割ブロックの画像データをメモリ領域Aに書き込む。これにより、メモリ領域Aに現在存在しない分割ブロックの画像データのみを効率的に取得し、応答速度を
高めることが出来る。
また、画面更新の応答性を高める為には、ユーザが閲覧する可能性の高い情報を優先的に取得できるよう、領域グループおよび分割ブロック毎に取得順序を定めることが望ましい。まずは、先読み領域Bに含まれる分割ブロックの画像データの取得順位はそれ以外と比べて高く設定することが好ましい。また、領域グループ別の取得順序の一例としては、水平(XY)領域グループ、倍率(M)領域グループ、奥行き(Z)領域グループの順に取得すると良い。更に、各領域グループの中では、現在表示している領域の境界線からの最短距離に応じて、すなわち、現在表示している領域に近い分割ブロックから先に読み込まれるように、画像データの取得順序を定めるとよい。取得順序に対しては上記以外にも様々な設定が可能である。また、メモリ領域Aから解放するブロック画像データの解放順位は、上記の取得順序と逆に定めると良い。また、分割ブロックの取得を並列的に実行できる場合には、前述の取得順序の上位から順に並列的に取得することで画面更新の応答速度を高められる。
以上、先読み画像データ取得部704の内部処理について説明した。
(表示画像展開部705の内部処理)
続いて、表示画像展開部705の内部処理について説明する。
表示画像展開部705においても先読み画像データ取得部704と同様に処理前後のリストを作成、比較することにより、デコードしていない分割ブロックの画像データのみを効率的に処理し、応答速度を高めることが出来る。
表示画像展開部705は、メモリ領域Aに格納されている圧縮符号化された分割ブロックの画像データのうち、先読み領域計算部703で求めた先読み領域Bに該当する分割ブロックの画像データをデコードし、メモリ領域Bに展開する。
表示画像展開部705は、分割ブロックの画像データのデコードにあたり、まずデコード予定の全ての分割ブロックのインデックス情報を記録した「メモリ領域Bデコード予定画像リスト」を作成する。一方、メモリ領域Bに現在格納されている分割ブロックのインデックス情報は「メモリ領域Bデコード済み画像リスト」に記録されており、表示画像展開部705は、メモリ領域Bの画像データを更新する度に、そのデコード済み画像リストの内容を更新する。
表示画像展開部705は、メモリ領域Bデコード済み画像リストとメモリ領域Bデコード予定画像リストとを比較し、「メモリ領域B維持予定画像リスト」、「メモリ領域B解放予定画像リスト」、「メモリ領域B更新予定画像リスト」を作成する。メモリ領域B維持予定画像リストは、メモリ領域Bデコード済み画像リストとメモリ領域Bデコード予定画像リストの双方に存在する分割ブロックのインデックス情報が記載されたリストである。また、メモリ領域B解放予定画像リストは、メモリ領域Bデコード済み画像リストに含まれるが、メモリ領域Bデコード予定画像リストには含まれていない分割ブロックのインデックス情報を記載したリストである。逆に、メモリ領域B更新予定画像リストは、メモリ領域Bデコード予定画像リストには含まれるが、メモリ領域Bデコード済み画像リストには含まれていない分割ブロックのインデックス情報を記載したリストである。
そして、表示画像展開部705は、メモリ領域B解放予定画像リストに記載の分割ブロックの画像データをメモリ領域Bから解放し、同時にメモリ領域B更新予定画像リストに記載の分割ブロックの画像データをデコードしてメモリ領域Bに書き込む。これにより、メモリ領域Bに現在存在しない分割ブロックの画像データのみを効率的にデコードし、応答速度を高めることが出来る。
また、先読み画像データ取得部704の処理と同様に、領域グループ毎および分割ブロック毎の取得順序および解放順序を定めたり、処理の並列化を行ったりすることで、画面更新の応答速度を高められる。なお、メモリ領域Bにおいては、図8に示すように1枚の画像のデータに限らず、複数枚の画像のデータを展開することが可能である。例えば、奥行き方向にa枚、倍率方向にb枚の画像を先読みした場合には、現在表示している画像を含め、a+b+1枚の画像のデータがメモリ領域Bに格納される。1枚の画像を構成する複数の分割ブロックの画像データがメモリ領域Bの中で不連続なアドレスに展開されている場合には、適宜、メモリの再配置処理を行い、同じ画像を構成するデータがなるべくメモリ上で連続したアドレスに格納されるようにすると良い。これにより、後段の表示領域取得処理の高速化を図ることができ、表示応答性を一層高めることができる。
以上、表示画像展開部705の内部処理について説明した。
(表示領域取得部706の内部処理)
続いて、表示領域取得部706の内部処理について説明する。
表示領域取得部706はメモリ領域Bに展開された画像データの中から、表示領域820に該当する範囲の画像データを取得し、表示用の画像データとしてフレームメモリ804に転送する。
メモリ領域Bに展開された画像データは、表示領域820に対して若干のマージンを持っているために水平方向の平行移動に対する画面更新の応答性は高い。
また、画像表示アプリケーションの表示設定で拡大縮小や回転がある場合もある。画像の拡大縮小や回転は、表示領域取得部706が、拡大縮小あるいは回転前の座標を計算し、その座標に対応する画素値を補間処理によって計算し、新たなメモリに展開した上で、フレームメモリ804に転送することで実現できる。ただし、この場合、表示領域計算部702では拡大縮小あるいは回転前の座標を計算する必要がある。
拡大は階層画像データに存在しない中間倍率の画像、例えば、倍率30倍の画像データを表示する際に用いる。その場合、その倍率を超えない最大の倍率の画像データを用いて拡大を行うと、少ないメモリ量で広い領域の画面表示までカバーできる。一方縮小も階層画像データに存在しない中間倍率の画像を表示する際に用いることができる。その場合、その倍率を超える最小の倍率の画像データを用いて縮小を行うと良い。拡大率が極端に大きくなる場合に縮小を用いた方が画質を維持できるメリットがある。
なお、上記の処理は、CPU301や演算処理ボード303以外にもディスプレイ制御装置307内に存在する高度な演算処理能力を持つGPU(Graphics Processing Unit)の機能を用いて実現しても良い。
(本実施形態の利点)
以上述べたように、本実施形態では、水平方向移動、奥行き方向移動、倍率変更といったユーザによる変更操作のそれぞれに対応する領域グループごとに先読みすべきデータを予測し、予測したデータを高速なメモリ領域A及びBへ予めロードしておく。したがって、ユーザによる変更操作が行われた時に、元の階層画像データが格納されている低速なデバイス(ハードディスクや画像サーバなど)の代わりに、高速なメモリから必要なデータを読み出すことができ、表示画像の更新の応答性を高めることができる。また、本実施形態では、領域グループごと(変更操作ごと)のメモリ容量の配分を変更可能としたので、発生確率の高い変更操作に対して適応的に多くのメモリを割り当てるといった柔軟な制御が可能となる。これにより、バッファメモリの使用効率を向上し、低速なデバイスへのアクセス頻度を減らすことができるので、画像表示アプリケーションの応答速度を高めることができる。特に本実施形態では、病理診断等の画像観察におけるユーザの操作傾向に着目し、現在の表示倍率に応じてメモリ容量の配分を自動的に変更するよう制御したので、
ユーザの操作に対する応答性が一層向上するものと期待できる。
なお、本実施形態では、メモリ容量の配分を自動で変更したが、ユーザ自身が画像表示アプリケーション上でメモリ容量の配分を直接指定したり、領域グループ別データ配分情報910の内容を編集したりできるようにしてもよい。
<第2実施形態>
第2実施形態では、ユーザが設定可能な設定モードに基づいて、領域グループ毎の先読みデータの配分率を決定する方法について説明する。
病理診断には、主に組織診と細胞診がある。一般に、組織診では、一定の厚みでスライスされた薄い標本が用いられ、個々の細胞の形状よりも複数の細胞や組織の形状が観察される。そのため、組織診を行う病理医は、比較的低倍率の画像を利用して、水平方向に表示領域を移動させながら観察を行うことが多い。それに対し、細胞診では、剥離等により取得した比較的厚みのある標本が用いられ、高倍率での観察や奥行き位置の変更が行われることが多い。
そこで、画像表示アプリケーションにおいて診断モードをユーザに設定させる機能を用意し(例えば、組織診または細胞診を選択可能にする)、先読み領域計算部703が、設定された診断モードに応じて、領域グループごとのメモリ容量の配分を変更するとよい。
表6は、本実施形態で用いられる領域グループ別データ配分情報910の一例である。診断モードごとに、それぞれの領域グループに割り当てるメモリ容量の割合が設定されている。組織診モードの場合は、水平方向の移動が多用される傾向にあるので、水平(XY)領域グループの割り当てを増やしている。一方、細胞診モードの場合は、奥行き方向の移動も利用される傾向にあるので、水平(XY)領域グループと奥行き(Z)領域グループの両方に同じメモリ容量を割り当てる。
Figure 2013167798
診断モード以外にも、例えば、複数の変更操作のうち優先すべき操作を指定可能なモード(先読みモードと呼ぶ)を用意し、画像表示アプリケーション上でユーザに先読みモードを選択させるようにしてもよい。表7は、先読みモードのための領域グループ別データ配分情報910の一例である。
Figure 2013167798
表7の例では、ユーザは4つの先読みモードの中から所望のモードを選択できる。例えば、ユーザが奥行き方向に画像を切り替えて検体の3次元構造を把握したい場合には、「奥行き重視」モードに設定するとよい。また、ユーザが水平方向の移動を多用するのであれば、「水平のみ」モードあるいは「水平重視」モードに設定するとよい。また、水平方向の観察と奥行き方向の観察の両方を行うのであれば、「バランス」モードに設定すると
よい。
なお、モードの切り替えは、画像表示アプリケーションが提供するモード設定画面(不図示)において、キーボード111やマウス112で指定できるようにするとよい。また、画像表示アプリケーションが複数の画像を表示できる場合は、画像ごとにモードを設定できるようにしてもよい。
以上述べた本実施形態の構成によれば、ユーザが選んだモードに応じてメモリ容量の配分を変更するようにしたので、ユーザが閲覧する可能性が高い領域のデータを先読みできるため、バッファメモリの使用効率をより一層高めることができる。また、ユーザが自らモードを選択できるため、通常とは異なる方法で観察を行う場合(例えば、組織診用の画像や低倍率の画像で奥行き位置の切り替えを多用するなど)でも、画像更新の応答性向上を図ることができる。
<第3実施形態>
第3実施形態では、画像データに付与されたアノテーション情報に基づき、領域グループ毎の先読みデータの配分率を決定する方法について説明する。
図2に示したように、画像表示アプリケーションに現在表示されている画像に対し、アノテーション情報207が付されている場合がある。アノテーション情報207とは、ユーザによって作成されるコメント情報であり、画像中の注目領域(例えば、画像の中で異常が認められた箇所や、詳細観察が必要と判断した箇所など)に対して付されることが多い。このようなアノテーション情報207が存在する場合、ユーザは画像の表示倍率を上げて、詳細観察を行う可能性が高い。その為、倍率(M)領域グループの先読み領域を広げる規則を適用すると良い。
表8に、領域グループ別データ配分情報910の一例を示す。
Figure 2013167798

表8に従えば、現在表示されている画像上にアノテーション情報が存在しない場合には、メモリ領域Bに割り当てられた100MBのメモリ量はそのまま水平(XY)領域グループに割り当てられる。その結果、表2と同様の先読み領域が得られる。
一方、現在表示されている画像上にアノテーション情報が存在する場合には、水平(XY)領域グループには75MB,倍率(M)領域グループには25MBのメモリが割り当てられる。表8に基づいて計算すると、水平(XY)領域グループの先読み領域はX方向の画素数は6400、Y方向の画素数は3840となる。
また倍率(M)領域グループの先読み領域は、現在の表示倍率以外のW個の倍率に対して等しい領域を確保するとして計算すると、1枚当たりのメモリ量は25/3=8.3[MB]で、先読み領域を横M、縦N画素とし、NとMのアスペクト比は画面表示サイズと等しく、M=1.6×Nとすると、M=2154、N=1346となる。M,Nを超えない分割ブロックサイズの整数倍の横、縦の画素数を求めると、横2048画素、縦1280画素となる。
表8以外にも様々な配分率が考えられる。
例えば、アノテーション情報が存在する場合に奥行き方向の画像を閲覧する可能性が高い場合には、倍率(M)領域グループだけでなく奥行き(Z)領域グループの先読みデータ量を増やすと良い。
またアノテーション情報が付加されたときの表示画像の倍率または奥行き位置と、現在の表示倍率または奥行き位置との関係に応じて、領域グループ毎の先読み領域を制御しても良い。例えば、アノテーション情報が現在の表示倍率と異なる表示倍率に対して付与された情報である場合には、倍率(M)領域グループの配分率を増やすと良い。同様にアノテーション情報が現在の奥行き位置と異なる奥行き位置に対して付与された情報である場合には、奥行き(Z)領域グループの配分率を増やすと良い。ユーザがアノテーション情報が付与されたときの表示倍率あるいは奥行き位置の画像を確認するために、表示倍率あるいは奥行き位置を変更する可能性が高いからである。
また、表示領域205に現在表示されている画像上(領域内)にアノテーション情報が存在していなくても、階層画像データ内のどこかにアノテーション情報が付与されている場合は、そのアノテーション情報に基づいて領域グループ毎のメモリの配分率を制御してもよい。例えば、アノテーション情報の付与位置が水平方向に分散している場合には水平(XY)領域グループの配分率を増やすと良い。また、アノテーション情報の付与位置が倍率方向に分散している場合には倍率(M)領域グループの配分率を増やすと良い。なお、階層画像データに付与された全てのアノテーション情報の付与位置が、階層画像データのヘッダ情報内に記録されていると、上記のような処理が高速にできる。
以上述べた本実施形態の構成によれば、画像に付与されたアノテーション情報の有無や位置などに応じてメモリ容量の配分を変更するようにしたので、アノテーション情報に注目した観察が行われる場合において、画像更新の応答性をさらに高めることができる。
<第4実施形態>
第4実施形態では、ユーザの変更操作履歴に応じて、領域グループ毎の先読みデータの配分率を決定する方法について説明する。
画像表示アプリケーションに表示する画像の閲覧操作において、被写体の特徴や観察するユーザの特性に応じて、拡大や縮小、奥行き位置の変更の頻度は影響を受ける。従って、本実施形態では、被写体毎あるいはユーザ毎に、画像表示アプリケーションで行われた変更操作を蓄積し、その履歴情報に基づいて領域グループ毎のメモリの配分を変更する。これにより、被写体の特徴や観察するユーザの傾向に合わせた、適切なデータの先読みが実現できる。
ユーザによる変更操作の履歴情報としては、例えば、表示する階層画像データにおける水平位置、奥行き位置、表示倍率の変更回数を計測した情報が挙げられる。一例として、表9に階層画像データの奥行き方向の表示位置の変更回数に対応した領域グループ別データ配分情報を示す。
Figure 2013167798

表9では、奥行き位置の変更が0回の場合には奥行き(Z)領域グループへ割り当てるメモリ量の比率は0%であるが、奥行き位置の変更が少なくとも1回以上行われた場合には、奥行き(Z)領域グループに割り当てるメモリ量の比率を20%に上げている。これ
により奥行き(Z)方向の画像の先読み領域を広げ、奥行き位置の変更に対する画面更新の応答性を高めることが出来る。
<第5実施形態>
第5実施形態では、ユーザの識別情報、例えば、画像生成装置100にログインするユーザIDや画像表示アプリケーションで設定するユーザIDに応じて、領域グループ毎の先読みデータの配分率を決定する方法について説明する。
被写体に患部が存在するか否かを判定するスクリーニング作業を行う技師は、一般に、定められた倍率の画像を用い、表示領域を水平方向に少しずつ移動させながら、見落としが無いように観察を行う。その為、技師による観察では水平方向の先読みを重視する。一方、患部の詳細観察と病理診断を行う病理医は、技師に比べ、倍率や奥行き位置の変更を頻繁に行う傾向がある。そこで、ユーザIDによりスクリーニング作業を行う者(例えば技師)か詳細観察を行う者(例えば病理医)かが判別できるようにしておき、前者の場合は水平重視の配分にし、後者の場合は奥行き方向の移動や倍率変更も考慮した配分となるよう制御するとよい。
表10はユーザが所属するグループによって各領域グループに割り当てる配分率を変更する場合の領域グループ別データ配分情報910の例である。前述の観察特性に合わせて、技師グループでは水平(XY)方向の先読み領域を、病理医グループでは奥行き(Z)方向の先読み領域を広げている。
Figure 2013167798

上記のように、ユーザ毎に領域グループ別のデータ配分量を変更することで、ユーザの操作傾向に適合した先読みが可能となり、画像更新の応答性を高めることが出来る。
<第6実施形態>
第6実施形態では検体401の種別により、領域グループ毎の先読みデータの配分率を決定する方法について説明する。
第2実施形態では組織診または細胞診の診断モードにより、領域グループ別の先読み領域を変更する方法について説明した。組織診ではHE染色、細胞診ではパパニコロウ染色やギムザ染色を用いることが多い。したがって、検体401に施された染色の種別が分かれば、階層画像データが組織診のためのデータか細胞診のためのデータかを判断することができる。これを利用し、本実施形態では、検体401に施された染色、具体的には、HE染色、パパニコロウ染色やギムザ染色等に対応する領域グループ別データ配分情報910を用いることにより、ユーザによる診断モードの設定を不要にする。
表11は検体に施された染色によって各領域グループに割り当てる配分率を変更する場合の領域グループ別データ配分情報910の一例である。第2実施形態で説明した観察特性に合わせて、HE染色では水平(XY)方向の先読み領域を、パパニコロウ染色およびギムザ染色では奥行き(Z)方向の先読み領域を広げている。
Figure 2013167798
検体401に施された染色方法の情報は、図4で示すプレパラートのラベルエリア412にバーコードの形式で記載される場合がある。その場合、画像表示アプリケーションがその情報を読み取ると良い。また、染色方法が階層画像データのファイルのヘッダ情報に記載されている場合にも同様に、画像表示アプリケーション経由でその情報を取得できる。また、ラベルエリア412やファイルのヘッダ情報に記載されていない場合でも、画像表示アプリケーションがサムネイル画像203のデータや表示領域205のデータを解析し、彩度などの情報から染色方法を推定することができる。また、検体401に施された染色以外にも、ラベルエリア412に記載された情報、例えば検体を採取した臓器の情報を利用することが可能である。例えば、拡大観察を頻繁に行う必要がある臓器では、倍率(M)領域グループのデータ配分量を増やすと良い。
以上のように、検体の種別、例えば、検体に施された染色の情報や臓器の情報を用いて、領域グループ別の先読み領域を変更することにより画像更新の応答性を高めることできる。
<第7実施形態>
第7実施形態では、奥行き位置(焦点位置)の異なる複数枚の2次元画像データから構成される階層画像データを用いる場合について説明する。
図12は横(X)、縦(Y)方向を持つ2次元画像データが奥行き(Z)方向に並ぶ階層型の画像構造を持つ階層画像データの模式図である。図12の画像データは、1210に示す大きさを持つ分割ブロックから構成されており、分割ブロック毎にZスタック画像を持つ形となっている。
このような構造の階層画像データに対するユーザの変更操作として、水平方向の移動と奥行き方向の移動の2つが利用できる場合、その2つの変更操作に対応する先読みを行えばよい。具体的には、水平(XY)領域グループと奥行き(Z)領域グループの2つの領域グループが設けられる。例えば画像表示アプリケーションにレイヤー画像群1203内の一部領域の画像が表示されている場合は、水平(XY)領域グループにはレイヤー画像群1203が分類され、奥行き(Z)領域グループにはレイヤー画像群1204、1202、1201が分類される。
本実施形態では図12に示す階層画像データにおいて、画像データは分割ブロック単位のZスタック画像で圧縮符号化されている。圧縮符号化方式には様々な方式が適用可能である。例えば、JPEGやJPEG2000、JPEG−XR等の良く知られた静止画圧縮符号化方式が適用できる。
また同じ水平(XY)位置にある分割ブロックを奥行き(Z)方向に複数枚束ねたZスタック画像単位で圧縮符号化を適用することもできる。この場合、MPEG等の動画像の圧縮符号化方式が適用可能であり、また3次元の周波数演算、例えばDFT(離散フーリエ変換)やDCT(離散コサイン変換)、DWT(離散ウェーブレット変換)を用いて圧縮符号化を行っても良い。奥行き(Z)方向の画像は類似度が高く、分割ブロックのZスタック画像単位で圧縮符号化することで、階層画像データのサイズを小さくできる。
Zスタック画像単位で圧縮符号化されたデータをデコードする場合には、メモリ領域Aに圧縮符号化した3次元画像データを読み出し、メモリ領域Bに先読み領域に該当する画像データを展開して配置すると良い。
また、本実施形態のような階層画像データの場合でも、各分割ブロックから縮小または拡大画像を生成することで、倍率(Z)方向の画像データを生成することが出来る。例えば、メモリ領域Aにある圧縮符号化された画像データから、低周波成分を抽出してデコードし、メモリ領域Bに展開することにより、縮小画像が容易に作れる。例えばJPEG2000では、低域側で分割を繰り返し階層画像データを生成するDWTを用いているため、縮小画像が容易に取得できる。その為、図12に示す階層画像データを用いた場合でも、水平(XY)、奥行き(Z)、倍率(M)の3つの領域グループを定め、各変更操作に応じた先読みを実行してもよい。また、画像の拡大縮小や回転表示に関しても第1実施形態と同様の構成で実現できる。
本実施形態の階層画像データの場合も、第1〜第6実施形態で述べたのと同じ方法で画像データの先読み(バッファリング)及びメモリ容量の配分制御を行うことで、各実施形態と同様の作用効果を得ることができる。
<第8実施形態>
第8実施形態では、倍率(解像度)の異なる複数枚の2次元画像データから構成される階層画像データを用いる場合について説明する。
図13は横(X)、縦(Y)方向を持つ2次元画像データが倍率(M)方向に並ぶ階層型の画像構造を持つ階層画像データの模式図である。図13の階層画像データは、1301〜1304に示す4枚の2次元画像データで構成されている。画像データ1301の1つの分割ブロックに対応する被写体の範囲は、画像データ1302では2×2、画像データ1303では4×4、画像データ1304では8×8のブロックに対応する。
このような構造の階層画像データに対するユーザの変更操作として、水平方向の移動と表示倍率の変更の2つが利用できる場合、その2つの変更操作に対応する先読みを行えばよい。具体的には、水平(XY)領域グループと倍率(M)領域グループの2つの領域グループが設けられる。例えば画像表示アプリケーションにブロック画像群1303内の一部領域の画像が表示されている場合は、水平(XY)領域グループにはブロック画像群1303が分類され、倍率(M)領域グループにはブロック画像群1301、1302、1304が分類される。
図13に示す階層画像データでは、分割ブロック画像単位でJPEG、JPEG−XR,JPEG2000等の圧縮符号化方式を適用すると良い。その場合、メモリ領域Aに圧縮符号化された画像データを読み出し、メモリ領域Bにデコードした画像データを展開すると良い。
本実施形態の階層画像データの場合も、第1〜第6実施形態で述べたのと同じ方法で画像データの先読み(バッファリング)及びメモリ容量の配分制御を行うことで、各実施形態と同様の作用効果を得ることができる。
なお、第1〜第8実施形態では、図6、図12、図13に示すように階層画像データを構成する各2次元画像データが複数のブロックで構成されている例を示したが、ブロックに分割されていない2次元画像データの場合にも本発明は適用可能である。その場合、ブロック単位ではなく画素単位で先読み領域の大きさを決定してもよいし、画像表示アプリ
ケーションで画像を表示する際に、事前に各2次元画像データを所定サイズのブロックに分割し、上記実施形態と同じ処理を適用してもよい。
100:画像生成装置、110:入力操作デバイス、120:ディスプレイ、130:記憶装置、302:メインメモリ
703:先読み領域計算部、704:先読み画像データ取得部、705:表示画像展開部、706:表示領域取得部
801:ハードディスク、802:メモリ領域A、803:メモリ領域B

Claims (17)

  1. 元の画像データの一部に対応する画像を表示し、その表示する部分をユーザの操作に従って変更する機能を有するビューアのために、元の画像データから表示用の画像データを生成する画像生成装置であって、
    元の画像データを記憶する第1の記憶手段と、
    前記元の画像データの一部のデータを一時的に格納可能であって且つ前記第1の記憶手段よりも高速にデータを読み出し可能である第2の記憶手段と、
    ユーザの操作に応じて、前記元の画像データから表示用の画像データを生成する生成手段であって、表示用の画像データの生成に必要なデータが前記第2の記憶手段に格納されている場合には前記第2の記憶手段に格納されているデータを用いる、生成手段と、
    前記生成手段で利用されるデータを予測して、前記元の画像データのうちどの部分のデータを前記第2の記憶手段に格納するかを制御する制御手段と、
    を備え、
    前記ユーザの操作には、表示する領域を水平方向に移動する第1の変更操作と、表示する領域を奥行き方向に移動する第2の変更操作および表示倍率を変更する第3の変更操作の少なくともいずれかと、を含む複数の変更操作があり、
    前記制御手段は、前記複数の変更操作のそれぞれについて、変更操作が行われた場合に表示用の画像データの更新に必要となるデータを予測し、変更操作ごとに予測したデータを前記第2の記憶手段に格納するものであり、
    前記第2の記憶手段に格納可能なデータ量の変更操作ごとの配分が変更可能である
    ことを特徴とする画像生成装置。
  2. 前記制御手段が、前記ビューアまたは前記元の画像データから取得される情報に応じて、前記第2の記憶手段に格納可能なデータ量の変更操作ごとの配分を自動的に変更する
    ことを特徴とする請求項1に記載の画像生成装置。
  3. 前記情報は、前記ビューアに現在表示されている画像の表示倍率の情報である
    ことを特徴とする請求項2に記載の画像生成装置。
  4. 前記制御手段は、前記表示倍率が低いほど、前記第1の変更操作に対する配分を多くする
    ことを特徴とする請求項3に記載の画像生成装置。
  5. 前記情報は、前記ビューアにおいてユーザにより設定されるモードの情報である
    ことを特徴とする請求項2に記載の画像生成装置。
  6. 前記モードは、組織診か細胞診かを指定するためのものであり、
    前記制御手段は、組織診が指定された場合に、細胞診が指定された場合よりも、前記第1の変更操作に対する配分を多くする
    ことを特徴とする請求項5に記載の画像生成装置。
  7. 前記モードは、前記複数の変更操作のうち優先すべき操作を指定するためのものであり、
    前記制御手段は、優先すべき操作として指定された変更操作に対する配分を、他の変更操作に対する配分よりも多くする
    ことを特徴とする請求項5に記載の画像生成装置。
  8. 前記情報は、前記元の画像データの中の注目領域に対して付されたアノテーション情報である
    ことを特徴とする請求項2に記載の画像生成装置。
  9. 前記制御手段は、前記ビューアに現在表示されている画像上にアノテーション情報が存在する場合に、アノテーション情報が存在しない場合よりも、前記第2または第3の変更操作に対する配分を多くする
    ことを特徴とする請求項8に記載の画像生成装置。
  10. 前記情報は、前記元の画像データを前記ビューアで表示する際にユーザにより行われた変更操作の履歴情報である
    ことを特徴とする請求項2に記載の画像生成装置。
  11. 前記制御手段は、前記第2の変更操作が1回以上行われていた場合に、前記第2の変更操作が1回も行われていない場合よりも、前記第2の変更操作に対する配分を多くする
    ことを特徴とする請求項10に記載の画像生成装置。
  12. 前記情報は、前記ユーザを識別するための情報である
    ことを特徴とする請求項2に記載の画像生成装置。
  13. 前記制御手段は、前記情報によって前記ユーザがスクリーニング作業を行う者か詳細観察を行う者かを判別し、スクリーニング作業を行う者である場合に、詳細観察を行う者である場合よりも、前記第1の変更操作に対する配分を多くする
    ことを特徴とする請求項12に記載の画像生成装置。
  14. 前記情報は、前記元の画像データの中の被写体に施された染色の種別である
    ことを特徴とする請求項2に記載の画像生成装置。
  15. 前記制御手段は、前記染色の種別によって前記元の画像データが組織診のためのデータか細胞診のためのデータかを判断し、組織診のためのデータである場合に、細胞診のためのデータである場合よりも、前記第1の変更操作に対する配分を多くする
    ことを特徴とする請求項14に記載の画像生成装置。
  16. 元の画像データを記憶する第1の記憶手段と、
    前記元の画像データの一部のデータを一時的に格納可能であって且つ前記第1の記憶手段よりも高速にデータを読み出し可能である第2の記憶手段と、
    前記元の画像データの一部に対応する画像を表示し、その表示する部分をユーザの操作に従って変更する機能を有するビューアのために、前記元の画像データから表示用の画像データを生成する生成手段であって、表示用の画像データの生成に必要なデータが前記第2の記憶手段に格納されている場合には前記第2の記憶手段に格納されているデータを用いる、生成手段と、
    を備える画像生成装置の制御方法であって、
    前記ユーザの操作には、表示する領域を水平方向に移動する第1の変更操作と、表示する領域を奥行き方向に移動する第2の変更操作および表示倍率を変更する第3の変更操作の少なくともいずれかと、を含む複数の変更操作があり、
    前記制御方法は、
    前記ビューアまたは前記元の画像データから取得される情報に応じて、前記第2の記憶手段に格納可能なデータ量の変更操作ごとの配分を変更するステップと、
    前記複数の変更操作のそれぞれについて、変更操作が行われた場合に表示用の画像データの更新に必要となるデータを予測し、変更操作ごとに予測したデータを前記配分に従って前記第2の記憶手段に格納するステップと、
    を含むことを特徴とする画像生成装置の制御方法。
  17. 元の画像データを記憶する第1の記憶手段と、
    前記元の画像データの一部のデータを一時的に格納可能であって且つ前記第1の記憶手段よりも高速にデータを読み出し可能である第2の記憶手段と、
    前記元の画像データの一部に対応する画像を表示し、その表示する部分をユーザの操作に従って変更する機能を有するビューアのために、前記元の画像データから表示用の画像データを生成する生成手段であって、表示用の画像データの生成に必要なデータが前記第2の記憶手段に格納されている場合には前記第2の記憶手段に格納されているデータを用いる、生成手段と、備え、
    前記ユーザの操作には、表示する領域を水平方向に移動する第1の変更操作と、表示する領域を奥行き方向に移動する第2の変更操作および表示倍率を変更する第3の変更操作の少なくともいずれかと、を含む複数の変更操作がある、
    画像生成装置に対し、
    前記ビューアまたは前記元の画像データから取得される情報に応じて、前記第2の記憶手段に格納可能なデータ量の変更操作ごとの配分を変更するステップと、
    前記複数の変更操作のそれぞれについて、変更操作が行われた場合に表示用の画像データの更新に必要となるデータを予測し、変更操作ごとに予測したデータを前記配分に従って前記第2の記憶手段に格納するステップと、
    を実行させることを特徴とするプログラム。
JP2012031671A 2012-02-16 2012-02-16 画像生成装置及びその制御方法 Ceased JP2013167798A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2012031671A JP2013167798A (ja) 2012-02-16 2012-02-16 画像生成装置及びその制御方法
EP13749262.5A EP2815394A4 (en) 2012-02-16 2013-02-05 IMAGE GENERATING APPARATUS AND METHOD FOR CONTROLLING THE SAME
US14/363,831 US20140327687A1 (en) 2012-02-16 2013-02-05 Image generating apparatus and method for controlling the same
PCT/JP2013/000610 WO2013121735A1 (en) 2012-02-16 2013-02-05 Image generating apparatus and method for controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012031671A JP2013167798A (ja) 2012-02-16 2012-02-16 画像生成装置及びその制御方法

Publications (1)

Publication Number Publication Date
JP2013167798A true JP2013167798A (ja) 2013-08-29

Family

ID=48983872

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012031671A Ceased JP2013167798A (ja) 2012-02-16 2012-02-16 画像生成装置及びその制御方法

Country Status (4)

Country Link
US (1) US20140327687A1 (ja)
EP (1) EP2815394A4 (ja)
JP (1) JP2013167798A (ja)
WO (1) WO2013121735A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016139397A (ja) * 2015-01-23 2016-08-04 パナソニックIpマネジメント株式会社 画像処理装置、画像処理方法、画像表示装置およびコンピュータプログラム
CN110188020A (zh) * 2018-02-22 2019-08-30 欧姆龙株式会社 I/o管理装置

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6455829B2 (ja) * 2013-04-01 2019-01-23 キヤノン株式会社 画像処理装置、画像処理方法、およびプログラム
CN117259959A (zh) 2015-02-12 2023-12-22 格罗弗治公司 用于激光加工的视觉预览
US10509390B2 (en) 2015-02-12 2019-12-17 Glowforge Inc. Safety and reliability guarantees for laser fabrication
JP6333871B2 (ja) * 2016-02-25 2018-05-30 ファナック株式会社 入力画像から検出した対象物を表示する画像処理装置
US10768406B2 (en) * 2016-06-20 2020-09-08 Scanogen Inc. Imaging system
WO2018098399A1 (en) 2016-11-25 2018-05-31 Glowforge Inc. Controlled deceleration of moveable components in a computer numerically controlled machine
WO2018098397A1 (en) 2016-11-25 2018-05-31 Glowforge Inc. Calibration of computer-numerically-controlled machine
WO2018098394A1 (en) 2016-11-25 2018-05-31 Glowforge Inc. Fabrication with image tracing
US11389896B2 (en) 2017-04-04 2022-07-19 Nlight, Inc. Calibration test piece for galvanometric laser calibration
US11579440B2 (en) 2019-03-14 2023-02-14 Nlight, Inc. Focus assessment in dynamically focused laser system
US11525968B2 (en) * 2019-03-14 2022-12-13 Nlight, Inc. Calibration validation using geometric features in galvanometric scanning systems

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009072311A1 (ja) * 2007-12-05 2009-06-11 Sharp Kabushiki Kaisha 表示装置及び表示方法
WO2010038337A1 (ja) * 2008-09-30 2010-04-08 株式会社ソニー・コンピュータエンタテインメント 画像処理装置および画像処理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6396941B1 (en) * 1996-08-23 2002-05-28 Bacus Research Laboratories, Inc. Method and apparatus for internet, intranet, and local viewing of virtual microscope slides
US7738688B2 (en) * 2000-05-03 2010-06-15 Aperio Technologies, Inc. System and method for viewing virtual slides

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009072311A1 (ja) * 2007-12-05 2009-06-11 Sharp Kabushiki Kaisha 表示装置及び表示方法
WO2010038337A1 (ja) * 2008-09-30 2010-04-08 株式会社ソニー・コンピュータエンタテインメント 画像処理装置および画像処理方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016139397A (ja) * 2015-01-23 2016-08-04 パナソニックIpマネジメント株式会社 画像処理装置、画像処理方法、画像表示装置およびコンピュータプログラム
CN110188020A (zh) * 2018-02-22 2019-08-30 欧姆龙株式会社 I/o管理装置
CN110188020B (zh) * 2018-02-22 2023-06-16 欧姆龙株式会社 I/o管理装置

Also Published As

Publication number Publication date
EP2815394A1 (en) 2014-12-24
US20140327687A1 (en) 2014-11-06
WO2013121735A1 (en) 2013-08-22
EP2815394A4 (en) 2015-11-25

Similar Documents

Publication Publication Date Title
JP2013167798A (ja) 画像生成装置及びその制御方法
US20220076411A1 (en) Neural netork based identification of areas of interest in digital pathology images
JP6348504B2 (ja) 生体試料の分割画面表示及びその記録を取り込むためのシステム及び方法
US9891804B2 (en) Selection and display of biomarker expressions
JP2013117848A (ja) 画像処理装置及び画像処理方法
EP2535757B1 (en) Virtual microscopy
US20120162228A1 (en) Information processor, image data optimization method and program
JP2008535528A (ja) スライドの可変品質画像を形成するためのシステムおよび方法
EP2402812B1 (en) Microscope control device, image management server, image processing method, program, and image management system
JP5568970B2 (ja) 情報処理装置、情報処理方法及びそのプログラム
US9159117B2 (en) Drawing data generation apparatus, drawing data generation method, program, and drawing data generation system for changing magnification of displayed images
CN115410693A (zh) 一种数字病理切片的存储系统、浏览系统及方法
JP2020038600A (ja) 医療システム、医療装置および医療方法
JP2013068706A (ja) 情報処理装置、情報処理方法、プログラム及び記録媒体
US20130216096A1 (en) Information processing apparatus, information processing method, program, and information processing system
JP2016139397A (ja) 画像処理装置、画像処理方法、画像表示装置およびコンピュータプログラム
US20150123981A1 (en) Image data forming apparatus and control method therefor
US20230334621A1 (en) Technologies for Improved Whole Slide Imaging
US11875893B2 (en) Method and apparatus for outputting information related to a pathological slide image
WO2024045819A1 (zh) 病变区域确定方法、模型训练方法及装置
JP2015090429A (ja) 画像形成装置およびその制御方法
Jesus et al. Vendor Neutral Cloud Platform for 4D Digital Pathology
JP2015219598A (ja) 画像形成装置およびその制御方法
Choi Knife-Edge Scanning Microscope Mouse Brain Atlas In Vector Graphics For Enhanced Performance

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160125

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160329

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20160726