JP2015090429A - 画像形成装置およびその制御方法 - Google Patents
画像形成装置およびその制御方法 Download PDFInfo
- Publication number
- JP2015090429A JP2015090429A JP2013230366A JP2013230366A JP2015090429A JP 2015090429 A JP2015090429 A JP 2015090429A JP 2013230366 A JP2013230366 A JP 2013230366A JP 2013230366 A JP2013230366 A JP 2013230366A JP 2015090429 A JP2015090429 A JP 2015090429A
- Authority
- JP
- Japan
- Prior art keywords
- image data
- data
- annotation
- buffering
- image
- 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.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
【課題】表示応答性の向上とバッファメモリの使用効率の向上を図るための技術を提供する。【解決手段】画像形成装置が、元の画像データを格納する画像データ格納部と、画像データ格納部よりも高速にデータを読み出し可能である画像データバッファ部と、を有する。画像データ出力部は、元の画像データから表示用の画像データを形成する際に、表示用の画像データの形成に必要なデータが画像データバッファ部に格納されている場合には画像データバッファ部に格納されているデータを用いる。元の画像データには、画像中のある位置に付加されたアノテーションのデータが付随している。バッファリング制御部は、アノテーションが付加されている部分のデータの方がアノテーションが付加されていない部分のデータよりも優先的に画像データバッファ部に格納されるように、バッファリングを制御する。【選択図】図6
Description
本発明は、画像ビューアにおける表示領域の変更を高速化する技術に関するものである。
病理分野において、病理診断のツールである光学顕微鏡の代替として、プレパラートに載置された被検試料を撮像し、デジタル化してディスプレイ上での病理診断を可能とするバーチャルスライドシステムがある。バーチャルスライドシステムによる病理診断のデジタル化により、従来の被検試料の光学顕微鏡像をデジタルデータとして取り扱える。それによって、デジタル画像を使った患者への説明、希少症例の共有化、遠隔診断の迅速化、教育・実習の効率化などの点で、利便性の向上が期待できる。
バーチャルスライドシステムによってデジタル化された画像データを可視化する画像ビューアは、システムとその使用者である病理医を直接繋ぐインターフェースとなるため、その使用感はシステムそのものの操作性に大きな影響を及ぼす。
しかし、従来の画像ビューアでは、その操作性が顕微鏡に劣る場合があった。例えば、病理画像データのサイズは、一般的に巨大であり、画面に表示される領域の大きさの数倍から時には数百倍にもなる。そのような巨大な画像データを画像ビューアで表示し、スクロールなどの指示を入力して表示データを更新した場合、入力に対する画面表示の応答が遅れる場合があった。このような応答の遅れは、画像ビューアの使用者のストレスの元となる場合が多く、時にはそれがバーチャルスライドシステムの普及を妨げる一因になる場合もあった。よって、画像ビューアの表示応答性を向上させることは、病理医がバーチャルスライドシステムを使用するための障壁の一つを取り払うことに繋がるため、非常に重要である。
ところで、画像ビューアの表示応答性の向上という課題は、バーチャルスライドシステムに限ったものではなく、広く一般的に認識されている課題である。この課題を解決するために、通常は画面表示領域以上の画像データを予めアクセス速度が比較的高速なバッファメモリ上に格納しておき、スクロール等による画面更新が生じた際には、そのバッファメモリから次の表示データを読み込むという処理が行われる。以下、画面表示の応答性向上のため、アクセス速度の速いバッファ領域にあらかじめ画像データまたはその一部を読み込んでおく処理のことを、「バッファリング」と称する。なお、このような処理を「キャッシング」と呼び、キャッシングのために使われるメモリのことを「キャッシュメモリ」または「キャッシュ」と呼ぶこともある。本明細書では、バッファとキャッシュを同じ意味で使うものとする。
バッファリングは従来から広く知られた処理方法であるが、一般的なバッファリングでは、画面表示領域よりも大きな領域を、上下左右各方向に対して均等な大きさだけ読み込むことが多い。つまりこの場合、バッファメモリに読み込まれた画像データ領域の中で、実際に画面に表示する領域はちょうど中央に位置する形になる。このような方法は、画面に表示される画像を変更する手段として上下左右へのスクロールを用いる場合には有効である。しかし、一度のスクロール量が大きい場合には、画像ビューアの応答性が低下する場合がある。この原因は、次に画面に表示する領域がバッファリングしている領域外まで移動することで、バッファメモリよりも低速な記憶装置から画像データを読み込まなければならなくなるためである。このような現象を回避するには、より多くのバッファ容量を確保すれば良いが、バッファメモリの使用効率が上がるわけではなく、バッファリングさ
れたデータの大半が結果的に無駄になることに変わりはない。つまり一般的には、画像ビューアの表示応答性を向上させるためには、より多くのバッファメモリを使用する必要がある。
れたデータの大半が結果的に無駄になることに変わりはない。つまり一般的には、画像ビューアの表示応答性を向上させるためには、より多くのバッファメモリを使用する必要がある。
これらの問題が生じるそもそもの原因は、次の表示画像を精度良く予測できないことにある。言い換えれば、仮に次の表示画像を高い確率で予測できれば、バッファリングされたデータの使用効率をより向上させることができるようになる。
そのような例として、例えば特許文献1では、画像データにテキストデータが含まれる場合、テキストが特定の方向に読まれるという特徴を利用して、画像の内容を解析した上でバッファリングを行うデータを選択する処理を行っている。これにより、特許文献1で示される手法は、スクロール表示の高速化と効率の良いメモリ使用を両立させている。
特許文献1で示される状況では、テキストは読まれる方向が決まっているため、この特徴を利用したバッファリングは有効である。しかしながら、テキストのような意味付けされたデータを含んでいない画像(例えば病理画像)においてはその方向性が画像の特徴からは一意に定まらないため、高速化と効率の良いメモリ使用とを両立させるバッファリングの制御方法がないという課題があった。また、特許文献1では、現在の表示画像と隣接する領域をスクロールによって表示させる際には効果があるが、現在の表示画像から遠く離れた位置にある画像を表示させる時には、その応答性が低下するという課題があった。
本発明は上記課題に鑑みてなされたものであり、病理診断における表示応答性の向上とバッファメモリの使用効率の向上を図るための技術を提供することを目的とする。
本発明の第一態様は、元の画像データの一部に対応する画像を表示し、その表示する部分をユーザーの操作に従って変更する機能を有するビューアのために、元の画像データから表示用の画像データを生成する画像形成装置であって、元の画像データを格納する画像データ格納部と、前記元の画像データの一部のデータを一時的に格納可能であって且つ前記画像データ格納部よりも高速にデータを読み出し可能である画像データバッファ部と、前記元の画像データから表示用の画像データを形成する画像データ出力部であって、表示用の画像データの形成に必要なデータが前記画像データバッファ部に格納されている場合には前記画像データバッファ部に格納されているデータを用いる、画像データ出力部と、前記元の画像データのうちのどの部分のデータを前記画像データバッファ部に格納するかを制御するバッファリング制御部と、を有し、前記元の画像データには、画像中のある位置に付加されたアノテーションのデータが付随しており、前記バッファリング制御部は、アノテーションが付加されている部分のデータの方がアノテーションが付加されていない部分のデータよりも優先的に前記画像データバッファ部に格納されるように、バッファリングを制御する画像形成装置を提供する。
本発明の第二態様は、元の画像データを格納する画像データ格納部と、前記元の画像データの一部のデータを一時的に格納可能であって且つ前記画像データ格納部よりも高速にデータを読み出し可能である画像データバッファ部と、前記元の画像データの一部に対応する画像を表示し、その表示する部分をユーザーの操作に従って変更する機能を有するビ
ューアのために、前記元の画像データから表示用の画像データを形成する画像データ出力部であって、表示用の画像データの形成に必要なデータが前記画像データバッファ部に格納されている場合には前記画像データバッファ部に格納されているデータを用いる、画像データ出力部と、を備える画像形成装置の制御方法であって、前記元の画像データに付随する、画像中のある位置に付加されたアノテーションのデータを取得するステップと、アノテーションが付加されている部分のデータの方がアノテーションが付加されていない部分のデータよりも優先的に前記画像データバッファ部に格納されるように、前記元の画像データのうちのどの部分のデータを前記画像データバッファ部に格納するかを制御するステップと、を有する画像形成装置の制御方法を提供する。
ューアのために、前記元の画像データから表示用の画像データを形成する画像データ出力部であって、表示用の画像データの形成に必要なデータが前記画像データバッファ部に格納されている場合には前記画像データバッファ部に格納されているデータを用いる、画像データ出力部と、を備える画像形成装置の制御方法であって、前記元の画像データに付随する、画像中のある位置に付加されたアノテーションのデータを取得するステップと、アノテーションが付加されている部分のデータの方がアノテーションが付加されていない部分のデータよりも優先的に前記画像データバッファ部に格納されるように、前記元の画像データのうちのどの部分のデータを前記画像データバッファ部に格納するかを制御するステップと、を有する画像形成装置の制御方法を提供する。
本発明の第三態様は、元の画像データを格納する画像データ格納部と、前記元の画像データの一部のデータを一時的に格納可能であって且つ前記画像データ格納部よりも高速にデータを読み出し可能である画像データバッファ部と、前記元の画像データの一部に対応する画像を表示し、その表示する部分をユーザーの操作に従って変更する機能を有するビューアのために、前記元の画像データから表示用の画像データを形成する画像データ出力部であって、表示用の画像データの形成に必要なデータが前記画像データバッファ部に格納されている場合には前記画像データバッファ部に格納されているデータを用いる、画像データ出力部と、を備える画像形成装置に対し、前記元の画像データに付随する、画像中のある位置に付加されたアノテーションのデータを取得するステップと、アノテーションが付加されている部分のデータの方がアノテーションが付加されていない部分のデータよりも優先的に前記画像データバッファ部に格納されるように、前記元の画像データのうちのどの部分のデータを前記画像データバッファ部に格納するかを制御するステップと、を実行させるプログラムを提供する。
本発明によれば、病理診断における表示応答性の向上とバッファメモリの使用効率の向上を図ることができる。
本発明は、元の画像データの一部に対応する画像を表示し、その表示部分をユーザーの操作に従って変更(スクロール、ジャンプ等)する機能を有する画像ビューアにおいて、表示領域移動時の表示応答性を向上させるための技術に関する。具体的には、本発明は、元の画像データから表示用の画像データ(表示画像データ)を生成する装置において、バ
ッファリングするデータを適切に制御することで、バッファメモリの使用効率を向上し、結果として表示応答性を総合的に向上するものである。
ッファリングするデータを適切に制御することで、バッファメモリの使用効率を向上し、結果として表示応答性を総合的に向上するものである。
より詳しくは、本発明では、元の画像データをブロック画像データ群として取り扱い、ブロック画像データごとにバッファリングの優先度を決定し、優先度が高いブロック画像データを優先的にバッファする。このバッファリング優先度は、画像に付随するアノテーションの情報を解析した結果によって決定するとよい。ここでアノテーションとは、画像中の特定の位置(点またはエリア)に付加されたマーカーのことである。個々のアノテーションには、病理診断に関するいくつかの情報を関連付けることができる(アノテーションに関連付けられた情報を「アノテーション情報」と記す。)。アノテーション情報にはいかなる種類の情報を含めてよい。典型的な例としては、アノテーションが作成された日付情報や、作成者情報、アノテーションの種別情報、重要度情報(病変の状態や病気の進行度)、診断の所見情報やその他のコメント等が挙げられる。また、自動診断ソフトウェア等によりアノテーションが作成される場合は、そのソフトウェアが作成した診断情報や、ソフトウェアを特定する情報などがアノテーション情報に含まれてもよい。なお、本明細書では、コメント情報以外の各種情報のことを「属性情報」と記す。また、文脈に応じて、マーカーとアノテーション情報をまとめたものを「アノテーション」と記す場合もある。
以下の実施形態で述べるバーチャルスライドシステムにおいては、アノテーションのコメントとして、例えば病理診断による所見などの重要な情報が記載されている。(なお、本明細書では、この病理診断による所見情報や関連する属性情報のことを、まとめて「病理診断情報」と記す。)そのため、画像にアノテーションが含まれている場合、画像の他の部分と比較して、アノテーション周辺の画像は画像閲覧者から閲覧される可能性が高いと考えられる。以上より、アノテーション周辺の画像をあらかじめバッファリングしておけば、ユーザーによってその周辺領域の表示要求があった時でも、表示応答性を向上させることができる。その表示要求が、スクロール処理だけではすぐに表示を行えない、現在の表示領域から遠く離れた場所に対するものであれば、その効果が顕著に現れる。すなわち、アノテーションの位置情報をバッファすべきデータの予測に活用するのである。さらに、アノテーションの数が多かったり、バッファメモリの容量が限られている場合においても、ある条件を満たすアノテーションのみをバッファリング対象としておくことで、メモリ使用効率の良いバッファリングが可能となる。
<第1実施形態>
本発明の第1実施形態に係る画像処理システムを、図に従って説明する。本実施形態で示す手法は、図1のようなシステム構成の元で実現される。101は撮像装置であり、主にバーチャルスライドシステムにおける撮像部分に当たる。撮像装置101は、被写体としての病理標本のスライド(プレパラート)を高倍率かつ高解像度で撮影しデジタル画像データを取得する装置であり、デジタル顕微鏡とも呼ばれる。102は画像形成装置であり、本実施形態で示す手法を実現するための主要部分である。具体的には、画像形成装置102は、撮像装置101で生成された画像データを受け取り、表示画像データの生成処理を行う。103は画像表示装置であり、画像形成装置102から受け取った表示画像データに基づく画像を画面に表示する。
本発明の第1実施形態に係る画像処理システムを、図に従って説明する。本実施形態で示す手法は、図1のようなシステム構成の元で実現される。101は撮像装置であり、主にバーチャルスライドシステムにおける撮像部分に当たる。撮像装置101は、被写体としての病理標本のスライド(プレパラート)を高倍率かつ高解像度で撮影しデジタル画像データを取得する装置であり、デジタル顕微鏡とも呼ばれる。102は画像形成装置であり、本実施形態で示す手法を実現するための主要部分である。具体的には、画像形成装置102は、撮像装置101で生成された画像データを受け取り、表示画像データの生成処理を行う。103は画像表示装置であり、画像形成装置102から受け取った表示画像データに基づく画像を画面に表示する。
本実施形態において、画像形成装置102は、例えば図2に示されるハードウェア構成から成るコンピュータと、後述する各種機能を提供するプログラムとで、実現可能である。201は入力部であり、キーボードやマウス等が該当する。202は記憶部であり、本実施形態で示す手法を実現するためのプログラムや、処理対象データなどを格納する部分であり、RAM等が該当する。203は演算部であり、記憶部202に格納されたデータに対し、記憶部202に格納されたプログラムに従って各種演算処理を行う部分であり、
CPU等が該当する。204はI/F部であり、撮像装置101および画像表示装置103とのデータ入出力を制御するインターフェース部分である。205は補助記憶装置(または外部記憶装置)であり、ハードディスクやフラッシュメモリ等が該当する。206は上記201〜205を接続するデータバスである。
CPU等が該当する。204はI/F部であり、撮像装置101および画像表示装置103とのデータ入出力を制御するインターフェース部分である。205は補助記憶装置(または外部記憶装置)であり、ハードディスクやフラッシュメモリ等が該当する。206は上記201〜205を接続するデータバスである。
本実施形態における画像形成装置102の機能ブロック図を、図3に示す。301は画像データ入力部であり、撮像装置101から画像データを入力する部分である。302は画像データ格納部であり、画像データ入力部301から入力した画像データを格納する記憶装置である。303は画像データバッファ部であり、バッファリング制御命令を受けて画像データ格納部302から画像データの一部のデータを受け取り、一時的に格納可能である。また画像データバッファ部303は、表示画像データの形成に必要な画像データを画像データ出力部304へ送信する。画像データ格納部302は、画像データ全体を格納する必要があるため、容量の大きい記憶装置(例えば図2の外部記憶装置205)を用いて構成される。一方、画像データバッファ部303は、画像データ用のバッファメモリとして機能する記憶装置であり、画像データ格納部302に比べて高速にデータを書き込み/読み出し可能なデバイスで構成される。本実施形態では記憶部202の中に画像データバッファ部303を設定するが、記憶部202とは別に専用のバッファメモリを設けてもよい。なお、画像データバッファ部303の容量は、画像データ格納部302に比べて小さく、画像データの全体を格納することはできない。以下の説明においては、画像データバッファ部303を、「バッファメモリ」または単に「バッファ」と呼ぶこともある。なお、画像データの入力については、画像データ入力部301がバッファリング制御部306からのデータ転送命令を受信し、画像データ格納部302を経由せずに撮像装置101からの画像データを直接画像データバッファ部303へ転送する構成でも良い。
304は画像データ出力部であり、画像データ格納部302または画像データバッファ部303から受け取った画像データから、画像表示装置103へ出力するための表示画像データを形成する。305は画面更新情報入力部であり、例えばマウス等の入力デバイスからユーザー入力を受け付け、それに基づいて画面更新命令をバッファリング制御部306へ送信する。バッファリング制御部306は、画像データバッファ部303に格納するデータを制御する機能である。バッファリング制御部306は、画像データ格納部302へデータ転送命令を送信し、また、表示領域情報入力部310から表示領域情報を受信し、それに基づいて画像データバッファ部303へバッファリング制御命令を送信する。さらに、バッファリング制御部306は、画像データに付随するアノテーション情報を解析する命令をアノテーション情報解析部308へ送信し、バッファリング優先度設定部309からはバッファリング優先度を受信する。
307はアノテーション解析条件設定部であり、例えばユーザー入力からアノテーション情報解析に必要な解析条件を生成し、アノテーション情報解析部308へ送信する。なお、アノテーション解析条件設定部307は、ユーザー入力ではなく画像形成装置102内に保持される他の情報、例えば画像に付随する臓器情報や画像の閲覧者情報などを用いて、解析条件を生成しても良い。
アノテーション情報解析部308は、バッファリング制御部306から受信した解析命令によりアノテーション情報を解析し、その結果をバッファリング優先度設定部309へ送信する。また、アノテーション情報解析部308は、優先度算出命令もバッファリング優先度設定部309へ送信する。バッファリング優先度設定部309は、これらの情報をもとにバッファリング優先度を算出し、その結果をバッファリング制御部306へ送信する。表示領域情報入力部310は、OS等が保持している表示領域情報を取得し、その結果をバッファリング制御部306へ送信する。
図4は、病理画像データの構造を示した全体図である。本実施形態では、図4に示す構造を持つ画像データを取り扱う。病理画像データ401には、撮像装置101によって撮像された被写体(病理標本)の画像が格納されている。病理画像データ401は、被写体の表示倍率が異なる深度画像群402〜405から構成されている。本実施形態では、402〜405はそれぞれ2.5倍相当、5倍相当、10倍相当、20倍相当の表示倍率をもつ深度画像群とする。なお、この「○○倍相当」という表現は、対応する画像に記録されている被写体の大きさが、○○倍の対物レンズを用いた光学顕微鏡で観察される大きさと同程度である、という意味で使用する。各深度画像群402〜405は、異なる深度において撮像された複数の画像データから構成されている。深度とは、撮像装置101の光軸方向の焦点位置(深さ)である。例えば画像データ406〜409は、表示倍率は異なるが全て同じ深度で撮像されたものである。
病理画像データ401を構成する全ての画像データは、ブロック画像データ410を最小単位として構成される。本実施形態では、データ転送などの処理はこのブロック画像データ410を単位として実行する。ブロック画像データ410はそれぞれが独立した画像ファイルであっても良いし、もしくは画像データ406〜409等が独立した画像ファイルであって、それを内部的に取り扱う単位としてブロック画像データ410を定義しても良い。そして、全てのブロック画像データは、複数の整数から構成されるインデックス(i,j,k,l)によって一意に特定することが可能である。ここで、iはx軸方向のインデックス、jはy軸方向のインデックス、kはz軸(深度)方向のインデックス、lは倍率方向のインデックスとする。インデックスiとjが同じである2つのブロック画像データが存在する場合、インデックスlが同じであれば、それらはxy平面上の同じ位置にあるブロック画像データであることを示す。また、同じ深度画像群に属するブロック画像データのインデックスlは、全て同じ値を持つ。
図4に示す病理画像データは、一つの被写体(病理標本)を撮影倍率や光軸方向の焦点位置を変えながら撮像装置101により複数回撮影することで、生成することができる。病理画像データには、当該被写体あるいは画像群に付随する各種のデータを付加することができる。前述したアノテーションもその一つである。アノテーションデータは、少なくとも、アノテーション(マーカー)の位置情報と、そのアノテーションに関連付けられたアノテーション情報とを含む。アノテーションの位置情報は、例えば、ブロック画像データを特定するインデックスと、当該ブロック画像データの中のxy座標との組み合わせで定義できる。点ではなくある広がりをもつエリアに対してアノテーションを付す場合には、例えば、矩形エリアの対角2点の座標、円形エリアの中心座標と半径などを、アノテーションの位置情報として用いればよい。一つの病理画像データに対して複数のアノテーションが付加された場合には、アノテーションごとにアノテーションデータが作成される。アノテーションデータの例は後述する。
図5に、本実施形態における画像データの取り扱い方法を示す。図5では、病理画像データ401のうち、画像データ408が画面表示の対象になっている。501は画像表示装置によって実際に画面表示が行われる領域である。以下、501を「画面表示領域」と記述する。502は、画面表示を行うために画像表示装置103へ転送を行う画像領域であり、以下502を「表示データ領域」と記述する。本実施形態では表示データ領域502を、画面表示領域501を完全に含み、かつ最も少ないブロック画像データ410で構成される領域として定義する。ただし、場合によっては表示データ領域502をこの定義よりも大きい領域と定義しても良い。また、画面表示領域501と表示データ領域502は一致していても良い。
503〜508は、画像上に関連付けられたアノテーションである。これらのアノテーションは円形の図形で表され、その大きさはブロック画像データ410よりも大きいとす
る。ただし、場合によってはアノテーションを表す図形を円形以外のものにしても良いし、その大きさもブロック画像データ410より小さいものにしても良い。画像データ408を含む病理画像データ401には、アノテーション503〜508に対応するアノテーションデータが付随している。本実施形態におけるアノテーションデータは、例えばID番号や作成者、作成日、最終更新者、最終更新日、コメントなどから構成される。アノテーションデータの例を、表1に示す。
本実施形態においては、アノテーション503〜508と、アノテーションデータのID1〜6が、それぞれ対応する。
る。ただし、場合によってはアノテーションを表す図形を円形以外のものにしても良いし、その大きさもブロック画像データ410より小さいものにしても良い。画像データ408を含む病理画像データ401には、アノテーション503〜508に対応するアノテーションデータが付随している。本実施形態におけるアノテーションデータは、例えばID番号や作成者、作成日、最終更新者、最終更新日、コメントなどから構成される。アノテーションデータの例を、表1に示す。
本実施形態においては、アノテーション503〜508と、アノテーションデータのID1〜6が、それぞれ対応する。
509〜515は、バッファリングの対象となる領域であり、領域の大きさ(どこまで余裕をもってバッファリングするか)はユーザーもしくはプログラムがあらかじめ指定または変更できる。以下、509〜515を「バッファリング対象領域」と記述する。バッファリング対象領域には、画面表示領域501と関連する第1のバッファリング対象領域509と、アノテーションが付加された位置と関連する第2のバッファリング対象領域510〜515との2種類がある。
本実施形態では、第1のバッファリング対象領域509を、表示データ領域502よりも上下左右方向それぞれブロック画像データ1つ分だけ広く、かつ表示データ領域502を除いた領域として定義する。つまり、第1のバッファリング対象領域509は、表示データ領域502の周囲の1列分のブロック画像データ群である。ただし、必要に応じて表示データ領域502がバッファリング対象領域509に含まれる構成を用いても良い。また、本実施形態では、第2のバッファリング対象領域510〜515を、アノテーション503〜508を完全に含むために必要となる最小の領域よりも、上下左右方向それぞれブロック画像データ1つ分だけ広い領域として定義する。
バッファリング対象領域の定義範囲は上記の例に限らず、適宜変更しても良い。例えば、図5では表示データ領域502やアノテーションの領域の周囲(上下左右)1列分をバッファのマージンとしているが、周囲2列分以上のブロックをバッファ対象領域に含めてもよい。また、上・下・左・右それぞれのマージンの幅(ブロックの列数)を異ならせてもよい。例えば、上下方向(y方向)よりも左右方向(x方向)のスクロールが多用されることが予め分かっている場合には、上下の1列と左右の2列のブロックをバッファリング対象領域に設定してもよい。
また、図5では、画像ビューアの表示画像と深度が同じ画像データ(画像データ408)の中からバッファすべきブロック画像データが選ばれているが、例えば、バッファリング対象領域を深度方向に広げてもよい。つまり、表示画像と深度が同じ画像データ408におけるアノテーション部分のデータとともに、表示画像と深度が異なる画像データにおける対応部分のデータもバッファの対象に選ぶのである。例えば、アノテーション部分のブロック画像データのインデックスが(i,j,k,l)であった場合に、インデックスが(i,j,k+p,l)であるブロック画像データをバッファリング対象領域に含めれ
ばよい。このようなバッファリングは、画像ビューアが表示画像の深度方向への変更(深度スクロール)の機能を有する場合に有効である。なお、pは0以外の整数である。さらに、バッファリング対象領域を倍率方向に広げてもよい。つまり、表示画像と倍率が同じ画像データ408におけるアノテーション部分のデータとともに、表示画像と倍率が異なる画像データにおける対応部分のデータもバッファの対象に選ぶのである。例えば、アノテーション部分のブロック画像データのインデックスが(i,j,k,l)であった場合に、インデックスが(i’,j’,k,l+q)であるブロック画像データをバッファリング対象領域に含めればよい。このようなバッファリングは、画像ビューアが表示倍率の切り替え機能を有する場合に有効である。なお、qは0以外の整数である。iとi’、jとj’は、たいていの場合異なる値を持つ。さらには、バッファリング対象領域を深度方向および倍率方向に同時に広げても良い。
ばよい。このようなバッファリングは、画像ビューアが表示画像の深度方向への変更(深度スクロール)の機能を有する場合に有効である。なお、pは0以外の整数である。さらに、バッファリング対象領域を倍率方向に広げてもよい。つまり、表示画像と倍率が同じ画像データ408におけるアノテーション部分のデータとともに、表示画像と倍率が異なる画像データにおける対応部分のデータもバッファの対象に選ぶのである。例えば、アノテーション部分のブロック画像データのインデックスが(i,j,k,l)であった場合に、インデックスが(i’,j’,k,l+q)であるブロック画像データをバッファリング対象領域に含めればよい。このようなバッファリングは、画像ビューアが表示倍率の切り替え機能を有する場合に有効である。なお、qは0以外の整数である。iとi’、jとj’は、たいていの場合異なる値を持つ。さらには、バッファリング対象領域を深度方向および倍率方向に同時に広げても良い。
(画像形成処理)
図6は、本実施形態における画像形成処理の流れの概要を示すフローチャートである。以下、図6に従って処理の流れを説明する。
図6は、本実施形態における画像形成処理の流れの概要を示すフローチャートである。以下、図6に従って処理の流れを説明する。
まず、バッファリング制御部306が、初期設定を行う(ステップS601)。S601の中では、さらに図7で示される処理を行う。初期設定の詳細な処理の流れについては後述する。
S601の次は、アノテーション解析条件設定部307が、アノテーション解析条件の更新要求がユーザー入力等の形で画像形成装置102に入力されたかどうかを判定する(条件判定S602)。アノテーション解析条件の更新要求とは、アノテーション情報に含まれるどのような情報に注目するか(優先度を上げるか)を決める条件を変更する操作である。例えば、注目する情報(アノテーションの作成者、作成日や作成日時、更新日や更新日時、コメントに含まれるキーワードなど)と優先度を決める条件とをアノテーション解析条件として与えるとよい。具体的には、作成者「○○医師」が作成したアノテーションの優先度を上げる、作成日時が新しいアノテーションの優先度を上げる、コメントにある特定のキーワードが含まれているアノテーションの優先度を上げるなど、様々な指定方法をとり得る。ユーザー入力の方法としては、例えば、画像表示装置に解析条件の入力画面を表示し、マウス等の入力デバイスを用いて注目する情報と優先度を決める条件を選択ないし入力させればよい。なお、アノテーション解析条件設定部307が解析条件を自動で設定することもできる。例えば、病理画像データに付加された情報(例えば標本の染色方法、臓器の種類など)を抽出し、その情報に対応したキーワードなどを解析条件に設定する方法などが考えられる。
条件判定S602でアノテーション解析条件の更新要求が入力されたと判定されたら、その入力をもとに、アノテーション解析条件設定部307が、アノテーション解析条件の更新を行う(ステップS603)。具体的には、記憶部202に保存されているアノテーション解析条件のデータの書き換えが行われる。条件判定S602の判定が偽であれば、S607に進む。
次に、アノテーション情報解析部308が、アノテーション解析条件にしたがってアノテーション情報の解析を行う(ステップS604)。すなわち、アノテーション情報解析部308が、病理画像データに含まれている全てのアノテーションのアノテーション情報を探索し、解析条件に合致するアノテーションを抽出する。具体的な解析手順及びその解析結果は、与えられた解析条件の内容によって異なり得る。例えば、解析条件が「アノテーションの作成者」を指定する条件であった場合は、全てのアノテーションの中から指定作成者のアノテーションのみを選び出せばよい。解析条件が「最終更新日の新しいもの」であった場合は、全てのアノテーションを最終更新日の順に並べ替え(ソート)すればよ
い。解析条件がコメント中のキーワードであった場合は、キーワードを含むアノテーションのみを選び出してもよいし、キーワードとのマッチング度合が高い順にアノテーションをソートしてもよい。アノテーション情報解析部308の解析結果(例えば、抽出・ソートされたアノテーションのID番号のリスト)は、バッファリング優先度設定部309に渡される。
い。解析条件がコメント中のキーワードであった場合は、キーワードを含むアノテーションのみを選び出してもよいし、キーワードとのマッチング度合が高い順にアノテーションをソートしてもよい。アノテーション情報解析部308の解析結果(例えば、抽出・ソートされたアノテーションのID番号のリスト)は、バッファリング優先度設定部309に渡される。
次に、バッファリング優先度設定部309が、S604の解析結果に基づいてバッファリング対象領域を決定する。つまり、S604で抽出されたアノテーションの位置情報を参照し、各々のアノテーションの部分を含むようにバッファリング対象領域510〜515を設定する。そして、バッファリング優先度設定部309は、バッファリング対象領域510〜515中に存在する各ブロック画像データのバッファリング優先度を決定し、既に作成してあるバッファリング優先度テーブルの内容を更新する(ステップS605)。なお、バッファリング優先度テーブルは、初期設定S601の中のS707にて作成されるテーブルである。S707については後述する。
バッファリング優先度テーブルは、バッファリング対象領域中の各ブロック画像データのID番号と、対応するバッファリング対象領域のID番号と、そのバッファリング優先度からなるテーブルである。なお、各ブロック画像データに対応するID番号は、同じく各ブロック画像データを一意に指定するインデックス番号と1対1で対応している。また、本実施形態では、バッファリング対象領域509のID番号を0とし、バッファリング対象領域510〜515のID番号は、これらが属するアノテーションのID番号と一致させる(つまり、順番に1〜6の整数を割り当てる)。また、本実施形態においては、バッファリング優先度の値は正の整数とし、値が大きいほど優先度が高いとするが、必要に応じてこの定義とは異なる優先度、例えば正負の実数、などの定義を用いても良い。表2に、バッファリング優先度テーブルの例を示す。
次に、S605で更新したバッファリング優先度テーブルの内容に基づき、バッファリング制御部306が、画像データバッファ部303に格納しているデータ(これを「バッファ内容」とよぶ)を更新する(ステップS606)。なお、更新された解析条件による結果が更新前の解析条件による結果と一致する場合など、必ずしもバッファ内容の更新をする必要がない場合は、処理の効率を重視して適切な範囲でS606の処理を省いても良い。また、S606の具体的な処理としてはいくつかの方法が考えられるが、図8にその一例を示す。図8の詳細な内容については後述する。
S606の次は、バッファリング制御部306が、画面更新の要求が何らかの形で画像形成装置102に入力されたかどうかを判定する(条件判定S607)。画面更新の要求とは、例えばマウス等の入力デバイスから与えられる画面のスクロール指示や、画面切り替え指示などである。画面更新要求が入力されていない場合は、S602に戻る。
S607で画面更新要求が入力されたと判定されたら、その入力をもとに、バッファリング制御部306が、画面表示領域情報の更新を行う(ステップS608)。ここで、「画面表示領域情報」とは、画像データ408に対する画面表示領域501の位置と表示面積の情報のことである。
次に、バッファリング制御部306が、更新された画面表示領域情報から、表示データ領域情報の更新を行う(ステップS609)。ここで、「表示データ領域情報」とは、画像データ408に対する表示データ領域502の位置と面積の情報のことである。
次に、バッファリング制御部306が、画面表示に必要なブロック画像データが画像データバッファ部303内に存在するかどうかを判定する(条件判定S610)。条件判定S610の判定結果が真であれば、ステップS612に進み、画像データ出力部304は画像データバッファ部303内のブロック画像データを読み出し、表示画像データを生成して画像表示装置103へ転送する。一方、条件判定S610の判定結果が偽であればステップS611に進み、画像データ出力部304は、画像データ格納部302からブロック画像データを読み出し、表示画像データを生成して画像表示装置103へ転送する。なお、ブロック画像データをそのまま表示画像データとして転送してもよいし、ブロック画像データに対して必要な画像処理(例えば解像度変換、階調補正、色補正、強調処理、合成処理、形式変換など)を施して表示画像データを生成してもよい。
次に、バッファリング制御部306が、バッファリング対象領域情報の更新を行う(ステップS613)。ここで、「バッファリング対象領域情報」とは、画像データ408に対するバッファリング対象領域509の位置と形状とバッファリング領域範囲の情報のことである。なお、本実施形態では簡単のため、表示データ領域502とバッファリング対象領域509の位置関係、およびバッファリング対象領域509の形状は変化しないものとする。ただし、バッファリング対象領域509の位置が変わることで、バッファリング対象領域509と、他のバッファリング対象領域510〜515が重なることはあり得る。
次に、バッファリング優先度設定部309は、既に作成してあるバッファリング優先度テーブルの内容を更新する(ステップS614)。バッファリング対象領域509がバッファリング対象領域510〜515と重なっていない場合は、バッファリング対象領域509に属するブロック画像データに対して、あらかじめ決められた優先度を設定する。例えば、バッファリング対象領域509に属するブロック画像データには、他のブロック画像データよりも常に高い優先度を与える、という方法が考えられる。これは、画面表示領域501の移動について、上下左右へのスクロール移動の可能性の方が、その他の離れた領域へのジャンプ移動の可能性よりも高いという仮定に基づいている。バッファリング対象領域509がバッファリング対象領域510〜515と重なる場合は、重なった領域に存在するブロック画像データはバッファリング対象領域509に属するものとして、優先度を設定する。
次に、S614で更新したバッファリング優先度テーブルの内容に基づき、バッファリング制御部306が、画像データバッファ部303に格納しているバッファ内容を更新する(ステップS615)。なお、図6では画面更新要求が入力されれば必ずバッファ内容を更新するアルゴリズムとなっているが、スクロール量が小さいなど、必ずしもバッファ内容の更新をする必要がない場合は、処理の効率を重視して適切な範囲でS615の処理を省いても良い。S615の具体的な処理は、S606と同様であり、図8を用いて後述する。
S615の後は、バッファリング制御部306は、プログラムを終了させる命令が入力されたかどうかをチェックする(条件判定S616)。条件判定S616の結果が真であればプログラムを終了させ、偽であれば条件判定S602に戻り、処理を続行する。
以上で、本実施形態における画像形成処理の流れの概要説明を終了する。
以上で、本実施形態における画像形成処理の流れの概要説明を終了する。
(初期設定S601)
図7は、本実施形態における初期設定S601の詳細な流れを示すフローチャートである。以下、図7に従って説明する。
図7は、本実施形態における初期設定S601の詳細な流れを示すフローチャートである。以下、図7に従って説明する。
まず、バッファリング制御部306は、画面表示領域情報を、表示領域情報入力部310から取得する(ステップS701)。この情報は、表示画面解像度の情報のことである。
次に、バッファリング制御部306は、表示対象となる深度及び倍率の画像データ408の中から、画面表示領域の位置を設定する(ステップS702)。S701で得られた表示画面解像度の情報と、このS702で設定する位置の情報により、画像データ408の中で画面表示領域が占める位置と面積が確定する。初期表示の深度、倍率、領域は、例えば、病理画像データ401の中で真ん中の深度・倍率の画像データ408の中央の領域に設定すればよい。
次に、バッファリング制御部306は、S702によって確定した画面表示領域から、表示データ領域を設定する(ステップS703)。このS703で、表示データ領域の位置と面積が確定する。
次に、バッファリング制御部306は、表示対象となる深度及び倍率の画像データ408の中から、画面表示領域の位置を設定する(ステップS702)。S701で得られた表示画面解像度の情報と、このS702で設定する位置の情報により、画像データ408の中で画面表示領域が占める位置と面積が確定する。初期表示の深度、倍率、領域は、例えば、病理画像データ401の中で真ん中の深度・倍率の画像データ408の中央の領域に設定すればよい。
次に、バッファリング制御部306は、S702によって確定した画面表示領域から、表示データ領域を設定する(ステップS703)。このS703で、表示データ領域の位置と面積が確定する。
次に、バッファリング制御部306は、バッファメモリ容量を設定する(ステップS704)。バッファメモリ容量は、画像形成装置が搭載する記憶部202の容量などに応じて、ユーザーまたはプログラムが設定する。
次に、画像データ408と関連付けられているアノテーション503〜508の位置を取得する(ステップS705)。これは例えば、病理画像データ401に付随するアノテーションデータを取得し、画像データ408上におけるアノテーション503〜508の中心位置と半径を取得することに相当する。
次に、バッファリング対象領域509〜515の位置や面積および形状を設定する(ステップS706)。これらの設定の仕方は、先に述べたとおりである。
次に、バッファリング対象領域509〜515の位置や面積および形状を設定する(ステップS706)。これらの設定の仕方は、先に述べたとおりである。
次に、バッファリング制御部306は、バッファリング対象領域509〜515中に存在する各ブロック画像データのバッファリング優先度を格納するための、バッファリング優先度テーブルを作成する(ステップS707)。バッファリング優先度テーブルは、S605の説明で既に述べた通り、バッファリング対象領域509〜515中の各ブロック画像データのID番号と、対応するバッファリング対象領域のID番号と、そのバッファリング優先度からなるテーブルである。なお、この時点ではバッファリング優先度の値はまだ計算されていないため、例えばゼロなどの適当な値を設定しておく。
次に、バッファリング制御部306の制御の下、画像データ出力部304が表示データ領域502に相当する領域のブロック画像データを、画像データ格納部302から読み出し、画像表示装置103へ転送する(ステップS708)。
次に、画像表示装置103へ転送された表示データ領域502の情報をもとに、バッファリング優先度設定部309が、バッファリング優先度テーブルの更新を行う(ステップS709)。S709では、バッファリング優先度テーブルの各要素のうち、バッファリング対象領域509に属するブロック画像データに対応する要素のみ(つまりS708で表示した領域の周囲のブロック画像データのみ)、あらかじめ決められた優先度を設定す
る。なお、このS709は、S614と同じ処理である。
る。なお、このS709は、S614と同じ処理である。
次に、バッファリング制御部306は、S709にて設定されたバッファリング優先度をもとに、バッファの内容を更新する(ステップS710)。なお、このS710は、S606およびS615と同じ処理である。
以上で、初期設定処理S601が終了する。
以上で、初期設定処理S601が終了する。
(バッファ内容更新S606、S615およびS710)
図8は、本実施形態におけるバッファ内容更新処理S606、S615およびS710の詳細な流れの一例を示すフローチャートである。以下、図8に従って説明する。
図8は、本実施形態におけるバッファ内容更新処理S606、S615およびS710の詳細な流れの一例を示すフローチャートである。以下、図8に従って説明する。
まず、バッファリング制御部306は、バッファリング優先度テーブル(以下、単に「優先度テーブル」と呼ぶ)の全要素を優先度の高い順にソートする(ステップS801)。
次に、バッファリング制御部306は、整数型変数iを用意し、変数iにゼロを設定する(ステップS802)。
次に、バッファリング制御部306は、整数型変数iを用意し、変数iにゼロを設定する(ステップS802)。
バッファリング制御部306は、優先度テーブル中のi番目の要素に該当するブロック画像データが、すでにバッファ内に存在しているかどうかをチェックする(条件判定S803)。具体的には、例えばあらかじめバッファ内に存在しているブロック画像データに対応するID番号のリストを作成しておき、前記i番目のブロック画像データに対応するID番号をバッファ内画像のリストと照合すれば良い。条件判定S803の結果が真ならば、バッファリング制御部306は、優先度テーブル中のi番目の要素にマークを付け(ステップS804)、バッファ中で見つかったブロック画像データにもマークを付ける(ステップS805)。このマークには、何らかのフラグを対応させれば良い。条件判定S803の結果が偽であれば、ステップS806に進む。
S806では、バッファリング制御部306は、変数iの値を1増やす。
条件判定S807では、バッファリング制御部306は、変数iの値が優先度テーブルの要素数以上かどうかをチェックする。条件判定S807の結果が偽であれば、条件判定S803の処理に戻る。条件判定S807の結果が真であれば、バッファリング制御部306は、優先度テーブル中のマークされた要素を削除する(ステップS808)。この結果、優先度テーブルには、優先度が高いブロック画像データのうち、バッファ内に存在しないもの(つまり、バッファに追加すべきブロック画像データ)を示す要素のみが残る。
S808の次は、バッファリング制御部306は、バッファ中のマーク画像以外のブロック画像データを削除する(ステップS809)。この結果、バッファする必要のないブロック画像データが削除され、バッファに空きが作られる。
条件判定S807では、バッファリング制御部306は、変数iの値が優先度テーブルの要素数以上かどうかをチェックする。条件判定S807の結果が偽であれば、条件判定S803の処理に戻る。条件判定S807の結果が真であれば、バッファリング制御部306は、優先度テーブル中のマークされた要素を削除する(ステップS808)。この結果、優先度テーブルには、優先度が高いブロック画像データのうち、バッファ内に存在しないもの(つまり、バッファに追加すべきブロック画像データ)を示す要素のみが残る。
S808の次は、バッファリング制御部306は、バッファ中のマーク画像以外のブロック画像データを削除する(ステップS809)。この結果、バッファする必要のないブロック画像データが削除され、バッファに空きが作られる。
S810では、バッファリング制御部306は、変数iにゼロを代入する。
バッファリング制御部306は、バッファに空きがあるかどうかを確認する(条件判定S811)。条件判定S811の結果が真であれば、バッファリング制御部306は、優先度テーブルのi番目要素に対応するブロック画像データを、画像データ格納部302から、画像データバッファ部303へ転送する(ステップS812)。
次に、バッファリング制御部306は、変数iの値を1増やし(ステップS813)、変数iの値が優先度テーブルの要素数未満かどうかをチェックする(条件判定S814)。条件判定S814の結果が真であれば、バッファ内容更新の処理を継続するため、ステップS811に戻る。条件判定S814の結果が偽であれば、バッファリングの対象となるブロック画像データが残っていないことになるため、バッファ内容更新の処理を終了する。なお、条件判定S811の判定結果が偽である場合は、これ以上バッファに画像データを格納できない状態であるため、バッファ内容更新の処理を終了する。
バッファリング制御部306は、バッファに空きがあるかどうかを確認する(条件判定S811)。条件判定S811の結果が真であれば、バッファリング制御部306は、優先度テーブルのi番目要素に対応するブロック画像データを、画像データ格納部302から、画像データバッファ部303へ転送する(ステップS812)。
次に、バッファリング制御部306は、変数iの値を1増やし(ステップS813)、変数iの値が優先度テーブルの要素数未満かどうかをチェックする(条件判定S814)。条件判定S814の結果が真であれば、バッファ内容更新の処理を継続するため、ステップS811に戻る。条件判定S814の結果が偽であれば、バッファリングの対象となるブロック画像データが残っていないことになるため、バッファ内容更新の処理を終了する。なお、条件判定S811の判定結果が偽である場合は、これ以上バッファに画像データを格納できない状態であるため、バッファ内容更新の処理を終了する。
以上で、図8の詳細説明を終了する。なお、バッファ内容更新処理S606、S615およびS710については、図8に示した処理の他、例えば単純にバッファ中の内容を全消去してバッファリング優先度の高いブロック画像データ群を順次バッファへ読み込むなど、他の異なる処理を用いても良い。
(バッファリングの一例)
次に、図6〜図8の処理を行ったときに、画像データバッファ部303へのブロック画像データの格納がどのように行われるかについて、例を用いて説明する。
次に、図6〜図8の処理を行ったときに、画像データバッファ部303へのブロック画像データの格納がどのように行われるかについて、例を用いて説明する。
例えば、バッファリング対象領域509〜515中に、図9で示されるバッファリング優先度が設定されたブロック画像データ群があったとする。図9は、表1のアノテーションデータに対して、作成者が「迫田」であるアノテーションを検索し、該当するアノテーションと関連するバッファリング対象領域513および514に属するブロック画像データの優先度に「1」を設定した状態を示す。また、バッファリング対象領域509に属するブロック画像データ、すなわち画像ビューアに表示されている部分の周辺領域に該当するブロック画像データには、他よりも高い優先度「9」を設定する。本実施形態では、以下の仮定に基づいて、この優先度を設定している。それは、画面表示領域501の移動について、上下左右へのスクロール移動の可能性の方が、その他の離れた領域、例えばバッファリング対象領域513などの近傍にジャンプする可能性よりも高いという仮定である。よって、バッファリングが行われる優先度は、バッファリング対象領域513および514に属するブロック画像データよりも、バッファリング対象領域509に属するブロック画像データの方が高い。なお、バッファリング対象領域509に属するブロック画像データの優先度は、バッファリング対象領域513および514に属するブロック画像データの優先度よりも高ければ、「9」以外の数を設定しても良い。
このような優先度設定の場合に、ブロック画像データ群がバッファに格納される様子の例を、図10に示す。1001はバッファ領域の模式図である。図10で示す状況では、バッファ領域1001の大きさが、バッファリングするブロック画像データの総和よりも大きいため、全てのブロック画像データをバッファに格納しても空き領域1005が生じる。また、バッファへの格納順序は、バッファリング優先度の高いブロック画像データ群1002が先となり、その後でブロック画像データ群1003および1004が格納される。
なお、バッファに格納されるブロック画像データは、圧縮データでも非圧縮データでも、どちらでも良い。表示処理の高速化に重点を置く場合には、プログラムの待ち時間のあいだ等で圧縮データを展開し、非圧縮データの形にしてバッファに格納しておくのが好ましい。一方、バッファメモリ容量の削減に重点を置く場合には、圧縮されたままのデータを格納しておくのが好ましい。
本実施形態では、作成者というある一つの属性情報のみを用いてバッファリング優先度を設定したが、複数の属性情報を組み合わせて解析を行っても良い。例えば、複数の作成者を指定してもよいし、作成者情報、日付情報、アノテーション種別情報などを指定してもよい。複数の属性情報を組み合わせる場合には、それらをAND条件で組み合わせてもよいし、OR条件で組み合わせてもよい。
この本実施形態によって、従来技術と比較し、病理診断の特徴に応じたメモリ使用効率の良い画像データのバッファリングが可能となり、結果的に画像ビューアにおける表示応答性の向上に繋がる。具体的には、病理画像に付随するアノテーションデータを解析し、ユーザーにとって重要度が高いと推測されるアノテーション周辺の画像データのバッファ
リング優先度を高くすることで、従来よりもメモリ使用効率の良いバッファリング処理が可能となる。
リング優先度を高くすることで、従来よりもメモリ使用効率の良いバッファリング処理が可能となる。
<第2実施形態>
本発明の第2実施形態を、図に従って説明する。
システム構成、ハードウェア構成、機能ブロック、および処理のアルゴリズムは第1実施形態のものと同様であるが、アノテーション解析の条件と、画像データのバッファリング方法が異なる。
本発明の第2実施形態を、図に従って説明する。
システム構成、ハードウェア構成、機能ブロック、および処理のアルゴリズムは第1実施形態のものと同様であるが、アノテーション解析の条件と、画像データのバッファリング方法が異なる。
本実施形態では、表1のアノテーションデータを解析し、最終更新日が新しいアノテーションの周辺の画像データほど、より高いバッファリング優先度を設定する。このような方法によってバッファリング優先度が設定された状態の模式図を、図11に示す。図11では、バッファリング対象領域511および512に属するブロック画像データに優先度「4」が設定され、バッファリング対象領域510に属するブロック画像データに優先度「3」が設定されている。バッファリング対象領域515に属するブロック画像データに優先度「2」が設定され、バッファリング対象領域513および514に属するブロック画像データに優先度「1」が設定されている。なお、第1実施形態と同様に、本実施形態においても、画面表示領域501の移動について、上下左右へのスクロール移動の可能性の方が、その他の離れた領域へのジャンプ移動の可能性よりも高いという仮定を採用する。よって、バッファリング対象領域509に属するブロック画像データには優先度「9」を設定する。なお、バッファリング対象領域509に属するブロック画像データの優先度は、他のバッファリング対象領域510〜515に属するブロック画像データの優先度よりも高ければ、「9」以外の数を設定しても良い。
上記の優先度を設定した場合に、ブロック画像データ群がバッファに格納される様子の例を、図12に示す。図12で示す状況では、バッファ領域1001の大きさが、バッファリングするブロック画像データの総和よりも小さいため、全てのブロック画像データをバッファに格納することができない。よってこの場合は、ブロック画像データ群1201、1202、1203、1204、1205の順にバッファリングが行われる。ブロック画像データ群1205と1206は、どちらもバッファリング対象領域515に属するデータであるが、バッファ領域1001の大きさが限られているため、実際にバッファリングされるのはブロック画像データ群1205のみとなる。
本実施形態のバッファリング制御によって、従来技術や第1実施形態の方法と比較してさらにメモリ使用効率の良いバッファリング処理が可能となる。具体的には、バッファ領域の大きさに応じて、より優先度の高いアノテーション周辺の画像データをバッファリングすることができる。特に、病理画像に関連付けられたアノテーションの数が非常に多い場合には、より効果が高くなる。
<第3実施形態>
本発明の第3実施形態を、図に従って説明する。
システム構成、ハードウェア構成、機能ブロック、および処理のアルゴリズムは第1実施形態および第2実施形態と同様であるが、アノテーション解析方法と、画像データのバッファリング方法が異なる。
本発明の第3実施形態を、図に従って説明する。
システム構成、ハードウェア構成、機能ブロック、および処理のアルゴリズムは第1実施形態および第2実施形態と同様であるが、アノテーション解析方法と、画像データのバッファリング方法が異なる。
第1実施形態や第2実施形態では、アノテーションの作成者や最終更新日などの属性情報を用いて、アノテーションの解析を行っていたが、本実施形態では、コメント情報を用いてアノテーションの解析を行う。
本実施形態では、表3のコメントを解析し、コメント中に「肝細胞」もしくは「脂肪沈着」という単語を含んだアノテーション周辺の画像データほど、より高いバッファリング優先度を設定する。さらに、この両方の単語を同時に含むアノテーションには、片方の単語しか含まないアノテーションよりも高い優先度を設定する。このような方法によってバッファリング優先度が設定された状態の模式図を、図13に示す。図13では、バッファリング対象領域510および515に属するブロック画像データに優先度「2」が設定され、バッファリング対象領域513に属するブロック画像データに優先度「1」が設定されている。なお、第1実施形態および第2実施形態と同様に、本実施形態においても、バッファリング対象領域509に属するブロック画像データには優先度「9」を設定する。
上記の優先度を設定した場合に、ブロック画像データ群がバッファに格納される様子の例を、図14に示す。実施形態2と同様に、図14で示す状況では、バッファ領域1001の大きさが、バッファリングするブロック画像データの総和よりも小さいため、全てのブロック画像データをバッファに格納することができない。よってこの場合は、ブロック画像データ群1401、1402,1403、1404順にバッファリングが行われる。ブロック画像データ群1404と1405は、どちらもバッファリング対象領域513に属するデータであるが、バッファ領域1001の大きさが限られているため、実際にバッファリングされるのはブロック画像データ群1404のみとなる。
本実施形態では、アノテーション中のコメント情報のみを用いてバッファリング優先度を設定したが、コメント情報と属性情報を組み合わせて解析を行っても良い。また、属性情報は複数組み合わせても良い。
本実施形態のバッファリング制御によって、従来技術や第1実施形態および第2実施形態の方法と比較して、さらにメモリ使用効率の良いバッファリング処理が可能となる。具体的には、アノテーション中のコメントに記載された所見情報を用いてバッファリングを行うことで、より参照可能性の高いアノテーション周辺の画像データをバッファリングすることができる。特に、病理画像に関連付けられたアノテーションの数が非常に多い場合には、より効果が高くなる。
<他のシステム構成>
上記第1から第3実施形態では、図1に例示したように撮像装置と画像形成装置と画像表示装置で画像処理システムを構成したが、システム構成はこれに限らない。例えば図15に示すように、複数の装置をネットワークで接続したシステム構成でもよい。1501は撮像装置であり、主にバーチャルスライドシステムにおける撮像部分に当たる。1502はサーバであり、1501によって撮像・生成された画像データなどを格納している大容量のストレージ(画像サーバ)である。1503は本実施形態で示す手法を実現するた
めの主要部分である画像形成装置であり、1502に格納されている画像データを読み込み、処理を行う。1504は画像表示装置であり、1503で処理された画像データを受け取り、画面に表示する。1505,1508はネットワークに接続された一般的なPC(パーソナル・コンピュータ)であり、1506,1507はPCに接続された画像表示装置である。1509はネットワーク回線であり、様々なデータのやり取りを行う。このようなシステム構成においても、第1から第3実施形態で述べたバッファリング制御を実行することで、各画像表示装置における表示応答性を向上することができる。
上記第1から第3実施形態では、図1に例示したように撮像装置と画像形成装置と画像表示装置で画像処理システムを構成したが、システム構成はこれに限らない。例えば図15に示すように、複数の装置をネットワークで接続したシステム構成でもよい。1501は撮像装置であり、主にバーチャルスライドシステムにおける撮像部分に当たる。1502はサーバであり、1501によって撮像・生成された画像データなどを格納している大容量のストレージ(画像サーバ)である。1503は本実施形態で示す手法を実現するた
めの主要部分である画像形成装置であり、1502に格納されている画像データを読み込み、処理を行う。1504は画像表示装置であり、1503で処理された画像データを受け取り、画面に表示する。1505,1508はネットワークに接続された一般的なPC(パーソナル・コンピュータ)であり、1506,1507はPCに接続された画像表示装置である。1509はネットワーク回線であり、様々なデータのやり取りを行う。このようなシステム構成においても、第1から第3実施形態で述べたバッファリング制御を実行することで、各画像表示装置における表示応答性を向上することができる。
503〜508:アノテーション
509〜515:バッファリング対象領域
509〜515:バッファリング対象領域
Claims (11)
- 元の画像データの一部に対応する画像を表示し、その表示する部分をユーザーの操作に従って変更する機能を有するビューアのために、元の画像データから表示用の画像データを生成する画像形成装置であって、
元の画像データを格納する画像データ格納部と、
前記元の画像データの一部のデータを一時的に格納可能であって且つ前記画像データ格納部よりも高速にデータを読み出し可能である画像データバッファ部と、
前記元の画像データから表示用の画像データを形成する画像データ出力部であって、表示用の画像データの形成に必要なデータが前記画像データバッファ部に格納されている場合には前記画像データバッファ部に格納されているデータを用いる、画像データ出力部と、
前記元の画像データのうちのどの部分のデータを前記画像データバッファ部に格納するかを制御するバッファリング制御部と、を有し、
前記元の画像データには、画像中のある位置に付加されたアノテーションのデータが付随しており、
前記バッファリング制御部は、アノテーションが付加されている部分のデータの方がアノテーションが付加されていない部分のデータよりも優先的に前記画像データバッファ部に格納されるように、バッファリングを制御する
ことを特徴とする画像形成装置。 - 前記元の画像データは、病理標本を撮影して得られた病理画像のデータであり、
前記アノテーションは、当該アノテーションを付加した画像中の位置に対し、病理診断に関する情報を関連付けるためのものである
ことを特徴とする請求項1に記載の画像形成装置。 - 前記元の画像データには、複数のアノテーションのデータが付随しており、
前記複数のアノテーションそれぞれに関連付けられた病理診断に関する情報を解析することにより、与えられた解析条件に合致するアノテーションを抽出するアノテーション情報解析部を有し、
前記アノテーション情報解析部の解析結果に基づいて、前記複数のアノテーションのあいだのバッファリングの優先度が決定される
ことを特徴とする請求項2に記載の画像形成装置。 - 前記解析条件は、アノテーションの作成者、アノテーションが作成もしくは更新された日または日時、および、アノテーションに関連付けられた病理診断に関する情報に含まれるキーワードのうち、少なくともいずれかを含む
ことを特徴とする請求項3に記載の画像形成装置。 - 前記バッファリング制御部は、前記解析条件が変更されたときに前記画像データバッファ部に格納されたデータの更新を行う
ことを特徴とする請求項3または4に記載の画像形成装置。 - 前記バッファリング制御部は、アノテーションが付加されている部分のデータよりも、前記ビューアに表示されている表示領域の周辺領域に該当するデータの方がさらに優先的に前記画像データバッファ部に格納されるように、バッファリングを制御する
ことを特徴とする請求項1〜5のうちいずれか1項に記載の画像形成装置。 - 前記元の画像データの全体が複数のブロックの画像データに分けられており、
前記ブロックの単位で前記画像データバッファ部へのバッファリングが制御される
ことを特徴とする請求項1〜6のうちいずれか1項に記載の画像形成装置。 - 前記元の画像データは、深度が異なる画像データを含んでおり、
前記バッファリング制御部は、前記ビューアに表示されている表示画像と深度が同じ画像データにおけるアノテーションが付加されている部分のデータとともに、前記表示画像と深度が異なる画像データにおける対応する部分のデータも前記画像データバッファ部へ格納されるように、バッファリングを制御する
ことを特徴とする請求項1〜7のうちいずれか1項に記載の画像形成装置。 - 前記元の画像データは、倍率が異なる画像データを含んでおり、
前記バッファリング制御部は、前記ビューアに表示されている表示画像と倍率が同じ画像データにおけるアノテーションが付加されている部分のデータとともに、前記表示画像と倍率が異なる画像データにおける対応する部分のデータも前記画像データバッファ部へ格納されるように、バッファリングを制御する
ことを特徴とする請求項1〜8のうちいずれか1項に記載の画像形成装置。 - 元の画像データを格納する画像データ格納部と、
前記元の画像データの一部のデータを一時的に格納可能であって且つ前記画像データ格納部よりも高速にデータを読み出し可能である画像データバッファ部と、
前記元の画像データの一部に対応する画像を表示し、その表示する部分をユーザーの操作に従って変更する機能を有するビューアのために、前記元の画像データから表示用の画像データを形成する画像データ出力部であって、表示用の画像データの形成に必要なデータが前記画像データバッファ部に格納されている場合には前記画像データバッファ部に格納されているデータを用いる、画像データ出力部と、
を備える画像形成装置の制御方法であって、
前記元の画像データに付随する、画像中のある位置に付加されたアノテーションのデータを取得するステップと、
アノテーションが付加されている部分のデータの方がアノテーションが付加されていない部分のデータよりも優先的に前記画像データバッファ部に格納されるように、前記元の画像データのうちのどの部分のデータを前記画像データバッファ部に格納するかを制御するステップと、を有する
ことを特徴とする画像形成装置の制御方法。 - 元の画像データを格納する画像データ格納部と、
前記元の画像データの一部のデータを一時的に格納可能であって且つ前記画像データ格納部よりも高速にデータを読み出し可能である画像データバッファ部と、
前記元の画像データの一部に対応する画像を表示し、その表示する部分をユーザーの操作に従って変更する機能を有するビューアのために、前記元の画像データから表示用の画像データを形成する画像データ出力部であって、表示用の画像データの形成に必要なデータが前記画像データバッファ部に格納されている場合には前記画像データバッファ部に格納されているデータを用いる、画像データ出力部と、
を備える画像形成装置に対し、
前記元の画像データに付随する、画像中のある位置に付加されたアノテーションのデータを取得するステップと、
アノテーションが付加されている部分のデータの方がアノテーションが付加されていない部分のデータよりも優先的に前記画像データバッファ部に格納されるように、前記元の画像データのうちのどの部分のデータを前記画像データバッファ部に格納するかを制御するステップと、を実行させる
ことを特徴とするプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013230366A JP2015090429A (ja) | 2013-11-06 | 2013-11-06 | 画像形成装置およびその制御方法 |
US14/527,975 US20150124079A1 (en) | 2013-11-06 | 2014-10-30 | Image data forming apparatus and control method thereof |
US14/531,871 US20150123981A1 (en) | 2013-11-06 | 2014-11-03 | Image data forming apparatus and control method therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013230366A JP2015090429A (ja) | 2013-11-06 | 2013-11-06 | 画像形成装置およびその制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015090429A true JP2015090429A (ja) | 2015-05-11 |
Family
ID=53193975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013230366A Pending JP2015090429A (ja) | 2013-11-06 | 2013-11-06 | 画像形成装置およびその制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015090429A (ja) |
-
2013
- 2013-11-06 JP JP2013230366A patent/JP2015090429A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6348504B2 (ja) | 生体試料の分割画面表示及びその記録を取り込むためのシステム及び方法 | |
JP5062884B2 (ja) | 画像検索装置、画像検索方法及びプログラム | |
JP2013167798A (ja) | 画像生成装置及びその制御方法 | |
EP3489733B1 (en) | Virtual microscopy | |
US20070250491A1 (en) | Method for referencing image data | |
US10694071B2 (en) | Techniques for viewing and searching documents from collections of documents | |
JP2007280125A (ja) | 情報処理装置、情報処理方法 | |
JP2013198817A (ja) | 情報処理装置、情報処理方法、プログラムおよび記憶媒体 | |
JP2013167797A (ja) | 画像形成装置およびその制御方法 | |
Puttapirat et al. | OpenHI-An open source framework for annotating histopathological image | |
JP6815741B2 (ja) | 画像処理装置および画像処理方法 | |
Jin et al. | Pai-wsit: An AI service platform with support for storing and sharing whole-slide images with metadata and annotations | |
JP2008282099A (ja) | 画像検索装置および画像検索方法ならびにそのプログラムおよび記憶媒体 | |
US20150124079A1 (en) | Image data forming apparatus and control method thereof | |
JP3369734B2 (ja) | 3次元計算機支援設計装置及び方法 | |
JP2010039932A (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2015090429A (ja) | 画像形成装置およびその制御方法 | |
US20120239662A1 (en) | Document management apparatus and document management method | |
JP2015219598A (ja) | 画像形成装置およびその制御方法 | |
JP2014010640A (ja) | 画像検索装置、情報処理方法、プログラム | |
Ashwini et al. | Image processing pipeline for web-based real-time 3d visualization of teravoxel volumes | |
JP2013050970A (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2009110151A (ja) | 画像処理装置、画像処理方法、プログラムおよび記録媒体 | |
JP5309560B2 (ja) | 描画データ管理装置 | |
JP2009199164A (ja) | 文書管理装置、文書管理方法及び記録媒体 |