(57)【要約】【課題】  表示応答性の向上を図ることができる画像形成装置を提供すること。【解決手段】  画像形成装置１０２は、格納部３０２と、バッファ部３０３と、元の画像データから表示用の画像データを形成して出力する出力部３０４であって、表示用の画像データの形成に必要なデータがバッファ部３０３に格納されている場合にはバッファ部３０３に格納されているデータを用いる、出力部３０４と、元の画像データを複数のブロックに分けて、複数のブロックのそれぞれに優先度を設定する優先度設定部３０９と、優先度が高いブロックの画像データが優先的にバッファ部３０３に格納されるように制御する制御部３０６と、元の画像データに複数のアノテーションのデータが付随していた場合に、複数のアノテーションの位置情報を解析する情報解析部３０８と、を備える。優先度設定部３０９は、情報解析部３０８の解析結果に基づいて、優先度を設定する。【選択図】  図３
2015219598.tif 000002
【特許請求の範囲】
【請求項１】
元の画像データから表示用の画像データを形成する画像形成装置であって、
前記元の画像データを格納する格納部と、
前記元の画像データの一部のデータを一時的に格納可能であって且つ前記格納部よりも高速にデータを読み出し可能であるバッファ部と、
前記元の画像データから前記表示用の画像データを形成して出力する出力部であって、前記表示用の画像データの形成に必要なデータが前記バッファ部に格納されている場合には前記バッファ部に格納されているデータを用いる、出力部と、
前記元の画像データを複数のブロックに分けて、前記複数のブロックのそれぞれに優先度を設定する優先度設定部と、
前記優先度が高い前記ブロックの画像データが優先的に前記バッファ部に格納されるように制御する制御部と、
前記元の画像データに複数のアノテーションのデータが付随していた場合に、前記複数のアノテーションの位置情報を解析する情報解析部と、を備え、
前記優先度設定部は、前記情報解析部の解析結果に基づいて、前記優先度を設定する
ことを特徴とする画像形成装置。
【請求項２】
前記情報解析部は、前記複数のアノテーションの位置と画像表示装置に表示されている前記表示用の画像データの位置との距離を求め、
前記優先度設定部は、前記距離に基づいて、前記優先度を設定する
ことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記情報解析部は、前記複数のアノテーションそれぞれに対して、その周辺に存在するアノテーションの数を表わす数密度を求め、
前記優先度設定部は、前記数密度に基づいて、前記優先度を設定する
ことを特徴とする請求項１に記載の画像形成装置。
【請求項４】
前記情報解析部は、前記複数のアノテーションの位置と画像表示装置に表示されている前記表示用の画像データの位置との距離と、前記数密度と、を求め、
前記優先度設定部は、前記距離と前記数密度とに基づいて、前記優先度を設定する
ことを特徴とする請求項３に記載の画像形成装置。
【請求項５】
前記元の画像データは、病理標本を撮影して得られた病理画像のデータであり、
前記複数のアノテーションのそれぞれは、前記元の画像のある位置に病理診断に関する情報を関連付けるためのものである
ことを特徴とする請求項１乃至４のいずれか１項に記載の画像形成装置。
【請求項６】
前記情報解析部は、前記複数のアノテーションのそれぞれの前記病理診断に関する情報を解析し、
前記優先度設定部は、前記位置情報の解析結果と前記病理診断に関する情報の解析結果とに基づいて、前記優先度を決定する
ことを特徴とする請求項５に記載の画像形成装置。
【請求項７】
前記病理診断に関する情報は、前記複数のアノテーションのそれぞれの、作成者、又は、作成日、作成日時、更新者、更新日、更新日時、コメント、自動診断情報である
ことを特徴とする請求項５又は６に記載の画像形成装置。
【請求項８】
前記情報解析部は、前記病理診断に関する情報を解析して、前記複数のアノテーションから所定の解析条件を満たす複数のアノテーションを抽出し、
前記情報解析部は、前記情報解析部によって抽出された複数のアノテーションの位置情報に基づいて、領域を定義し、
前記優先度設定部は、前記領域に対して優先度を設定する
ことを特徴とする請求項６に記載の画像形成装置。
【請求項９】
前記領域は、前記情報解析部によって抽出された複数のアノテーションを含む領域である
ことを特徴とする請求項８に記載の画像形成装置。
【請求項１０】
前記領域は、前記情報解析部によって抽出された複数のアノテーションを含まない領域である
ことを特徴とする請求項８に記載の画像形成装置。
【請求項１１】
前記情報解析部が２個のアノテーションを抽出した場合に、前記領域は、前記２個のアノテーションに挟まれている領域を含む
ことを特徴とする請求項８又は９に記載の画像形成装置。
【請求項１２】
前記情報解析部が３個以上のアノテーションを抽出した場合に、前記領域は、前記３個以上のアノテーションに囲まれている領域を含む
ことを特徴とする請求項８又は９に記載の画像形成装置。
【請求項１３】
元の画像データを格納する格納部と、
前記元の画像データの一部のデータを一時的に格納可能であって且つ前記格納部よりも高速にデータを読み出し可能であるバッファ部と、
前記元の画像データから表示用の画像データを形成して出力する出力部であって、前記表示用の画像データの形成に必要なデータが前記バッファ部に格納されている場合には前記バッファ部に格納されているデータを用いる、出力部と、を備える画像形成装置の制御方法であって、
前記元の画像データを複数のブロックに分けて、前記複数のブロックのそれぞれに優先度を設定する優先度設定ステップと、
前記優先度が高い前記ブロックの画像データが優先的に前記バッファ部に格納されるように制御する制御ステップと、
前記元の画像データに複数のアノテーションのデータが付随していた場合に、前記複数のアノテーションの位置情報を解析する情報解析ステップと、を有し、
前記優先度設定ステップでは、前記情報解析ステップでの解析結果に基づいて、前記優先度を設定する
ことを特徴とする画像形成装置の制御方法。
【請求項１４】
元の画像データを格納する格納部と、
前記元の画像データの一部のデータを一時的に格納可能であって且つ前記格納部よりも高速にデータを読み出し可能であるバッファ部と、
前記元の画像データから表示用の画像データを形成して出力する出力部であって、前記表示用の画像データの形成に必要なデータが前記バッファ部に格納されている場合には前記バッファ部に格納されているデータを用いる、出力部と、を備える画像形成装置に対し、
前記元の画像データを複数のブロックに分けて、前記複数のブロックのそれぞれに優先度を設定する優先度設定ステップと、
前記優先度が高い前記ブロックの画像データが優先的に前記バッファ部に格納されるように制御する制御ステップと、
前記元の画像データに複数のアノテーションのデータが付随していた場合に、前記複数のアノテーションの位置情報を解析する情報解析ステップと、を実行させ、
前記優先度設定ステップでは、前記情報解析ステップでの解析結果に基づいて、前記優先度を設定する
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置およびその制御方法に関する。
【背景技術】
【０００２】
病理分野において、病理診断のツールである光学顕微鏡の代替として、プレパラートに載置された被検試料を撮像し、デジタル化してディスプレイ上での病理診断を可能とするバーチャルスライドシステムがある。バーチャルスライドシステムによる病理診断のデジタル化により、従来の被検試料の光学顕微鏡像をデジタルデータとして取り扱える。それによって、デジタル画像を使った患者への説明、希少症例の共有化、遠隔診断の迅速化、教育・実習の効率化などの点で、利便性の向上が期待できる。
【０００３】
バーチャルスライドシステムによってデジタル化された画像データを可視化する画像ビューアは、システムとその使用者である病理医を直接繋ぐインターフェースとなるため、その使用感はシステムそのものの操作性に大きな影響を及ぼす。
【０００４】
しかし、従来の画像ビューアでは、その操作性が顕微鏡に劣る場合があった。例えば、病理画像データのサイズは、一般的に巨大であり、画面に表示される領域の大きさの数倍から時には数百倍にもなる。そのような巨大な画像データを画像ビューアで表示し、スクロールなどの指示を入力して表示データを更新した場合、入力に対する画面表示の応答が遅れる場合があった。このような応答の遅れは、画像ビューアの使用者のストレスの元となる場合が多く、時にはそれがバーチャルスライドシステムの普及を妨げる一因になる場合もあった。よって、画像ビューアの表示応答性を向上させることは、病理医がバーチャルスライドシステムを使用するための障壁の一つを取り払うことに繋がるため、非常に重要である。
【０００５】
ところで、画像ビューアの表示応答性の向上という課題は、バーチャルスライドシステムに限ったものではなく、広く一般的に認識されている課題である。この課題を解決するために、通常は画面表示領域以上の画像データを予めアクセス速度が比較的高速なバッファメモリ上に格納しておき、スクロール等による画面更新が生じた際には、そのバッファメモリから次の表示データを読み込むという処理が行われる。以下、画面表示の応答性向上のため、アクセス速度の速いバッファ領域にあらかじめ画像データまたはその一部を読み込んでおく処理のことを、「バッファリング」と称する。なお、このような処理を「キャッシング」と呼び、キャッシングのために使われるメモリのことを「キャッシュメモリ」または「キャッシュ」と呼ぶこともある。本明細書では、バッファとキャッシュを同じ意味で使うものとする。
【０００６】
バッファリングは従来から広く知られた処理方法であるが、一般的なバッファリングでは、画面表示領域よりも大きな領域を、上下左右各方向に対して均等な大きさだけ読み込むことが多い。つまりこの場合、バッファメモリに読み込まれた画像データ領域の中で、実際に画面に表示する領域はちょうど中央に位置する形になる。このような方法は、画面に表示される画像を変更する手段として上下左右へのスクロールを用いる場合には有効である。しかし、一度のスクロール量が大きい場合には、画像ビューアの応答性が低下する場合がある。この原因は、次に画面に表示する領域がバッファリングしている領域外まで移動することで、バッファメモリよりも低速な記憶装置から画像データを読み込まなければならなくなるためである。このような現象を回避するには、より多くのバッファ容量を確保すれば良いが、バッファメモリの使用効率が上がるわけではなく、バッファリングされたデータの大半が結果的に無駄になることに変わりはない。つまり一般的には、画像ビューアの表示応答性を向上させるためには、より多くのバッファメモリを使用する必要がある。
【０００７】
これらの問題が生じるそもそもの原因は、次の表示画像を精度良く予測できないことにある。言い換えれば、仮に次の表示画像を高い確率で予測できれば、バッファリングされたデータの使用効率をより向上させることができるようになる。
【０００８】
そのような例として、特許文献１では、画像データにテキストデータが含まれる場合、テキストが特定の方向に読まれるという特徴を利用して、画像の内容を解析した上でバッファリングを行うデータを選択する処理を行っている。これにより、特許文献１で示される手法は、スクロール表示の高速化と効率の良いメモリ使用を両立させている。
【０００９】
なお、その他にも、バッファリングされたデータの使用効率をより向上させる試みがなされている（特許文献２、特許文献３）。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００６−１１３８０１号公報
【特許文献２】特開２０１３−１６７７９７号公報
【特許文献３】特開２０１３−１６７７９８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
特許文献１で示される状況では、テキストは読まれる方向が決まっているため、この特徴を利用したバッファリングは有効である。しかしながら、テキストのような意味付けされたデータを含んでいない画像（例えば病理画像）においてはその方向性が画像の特徴からは一意に定まらないため、高速化と効率の良いメモリ使用とを両立させるバッファリングの制御方法がないという課題があった。また、特許文献１では、現在の表示画像と隣接する領域をスクロールによって表示させる際には効果があるが、現在の表示画像から遠く離れた位置にある画像を表示させる時には、その応答性が低下するという課題があった。
【００１２】
本発明は上記課題に鑑みてなされたものであり、表示応答性の向上とバッファメモリの使用効率の向上を図ることができる画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の一側面としての画像形成装置は、元の画像データから表示用の画像データを形成する画像形成装置であって、前記元の画像データを格納する格納部と、前記元の画像データの一部のデータを一時的に格納可能であって且つ前記格納部よりも高速にデータを読み出し可能であるバッファ部と、前記元の画像データから前記表示用の画像データを形成して出力する出力部であって、前記表示用の画像データの形成に必要なデータが前記バッファ部に格納されている場合には前記バッファ部に格納されているデータを用いる、出力部と、前記元の画像データを複数のブロックに分けて、前記複数のブロックのそれぞれに優先度を設定する優先度設定部と、前記優先度が高い前記ブロックの画像データが優先的に前記バッファ部に格納されるように制御する制御部と、前記元の画像データに複数のアノテーションのデータが付随していた場合に、前記複数のアノテーションの位置情報を解析する情報解析部と、を備え、前記優先度設定部は、前記情報解析部の解析結果に基づいて、前記優先度を設定することを特徴とする。
【発明の効果】
【００１４】
本発明の画像形成装置によれば、表示応答性の向上とバッファメモリの使用効率の向上を図ることができる。なお、本発明のその他の側面については、以下で説明する実施の形態で明らかにする。
【図面の簡単な説明】
【００１５】
【図１】第１実施形態における画像処理システムのシステム構成図。
【図２】第１実施形態における画像形成装置のハードウェア構成図。
【図３】第１実施形態における画像形成装置の機能ブロック図。
【図４】病理画像データの全体図。
【図５】病理画像データに含まれる画像データと各領域とアノテーションの関係図。
【図６】第１実施形態における画像形成処理の流れの概要を示すフローチャート。
【図７】第１実施形態における初期設定処理の流れを示すフローチャート。
【図８】第１実施形態における位置情報の解析の流れを示すフローチャート。
【図９】第１実施形態におけるバッファ内容更新処理の流れを示すフローチャート。
【図１０】第１実施形態における各領域のバッファリング優先度を示す模式図。
【図１１】第１実施形態におけるバッファリングの例を説明するための模式図。
【図１２】第２実施形態における位置情報の解析の流れを示すフローチャート。
【図１３】第２実施形態における各領域のバッファリング優先度を示す模式図。
【図１４】第２実施形態におけるバッファリングの例を説明するための模式図。
【図１５】第３実施形態における位置情報の解析の流れを示すフローチャート。
【図１６】第３実施形態における各領域のバッファリング優先度を示す模式図。
【図１７】第３実施形態におけるバッファリングの例を説明するための模式図。
【図１８】第４実施形態における位置情報の解析の流れを示すフローチャート。
【図１９】第４実施形態における画像データと各領域とアノテーションの関係図。
【図２０】第４実施形態における各領域のバッファリング優先度を示す模式図。
【図２１】画像処理システムの別の構成例を示す図。
【発明を実施するための形態】
【００１６】
本発明は、元の画像データの一部に対応する画像を表示し、その表示している画像をユーザーの操作に従って変更（スクロール、ジャンプ等）する機能を有する画像ビューアにおいて、表示領域移動時の表示応答性を向上させるための技術に関する。具体的には、本発明は、元の画像データから表示用の画像データ（表示画像データ）を生成する装置において、バッファリングするデータを適切に制御することで、バッファメモリの使用効率を向上し、結果として表示応答性を総合的に向上するものである。
【００１７】
より詳しくは、本発明では、元の画像データをブロック画像データ群として取り扱い、ブロック画像データごとにバッファリングの優先度を決定し、優先度が高いブロック画像データを優先的にバッファする。このバッファリング優先度は、元の画像データに付随するアノテーションの位置を解析した結果によって決定すると良い。もしくは、アノテーションの位置を解析した結果と、アノテーションに関連付けられた他の情報を解析した結果とを組み合わせて、決定すると良い。ここでアノテーションとは、画像中の特定の位置（点またはエリア）に付加されたマーカーのことである。個々のアノテーションには、画像中における位置情報及び、病理診断に関する情報を関連付けることができる。本明細書では、これらの情報をまとめて「アノテーション情報」と記す。この「アノテーション情報」は、「位置情報」と「病理診断情報」を含む。「病理診断情報」とは、例えばアノテーションが作成された日付情報及び、作成者情報、アノテーションの種別情報、重要度情報（病変の状態や病気の進行度）、診断の所見情報やその他のコメントの少なくともいずれかを含む情報のことである。また、自動診断ソフトウェア等によりアノテーションが作成される場合は、そのソフトウェアが作成した診断情報又は、ソフトウェアを特定する情報などが病理診断情報に含まれても良い。なお、本明細書では、「病理診断情報」のうち、コメント情報や自動診断ソフトウェア等によって作成された診断情報以外の各種情報のことを、まとめて「属性情報」と記す。また、文脈に応じて、マーカーとアノテーション情報をまとめたものを「アノテーション」と記す場合もある。
【００１８】
以下の実施形態で述べるバーチャルスライドシステムにおいては、アノテーションのコメントとして、例えば病理診断による所見などの重要な情報が記載されている。そのため、画像にアノテーションが含まれている場合、画像の他の部分と比較して、アノテーション周辺の画像は画像閲覧者から閲覧される可能性が高いと考えられる。以上より、アノテーション周辺の画像をあらかじめバッファリングしておけば、ユーザーによってその周辺領域の表示要求があった時でも、表示応答性を向上させることができる。その表示要求が、スクロール処理だけではすぐに表示を行えない、現在の表示領域から遠く離れた場所に対するものであれば、その効果が顕著に現れる。すなわち、アノテーションの位置情報をバッファすべきデータの予測に活用するのである。さらに、アノテーションの数が多かったり、バッファメモリの容量が限られている場合においても、ある条件を満たすアノテーションのみをバッファリング対象としておくことで、メモリ使用効率の良いバッファリングが可能となる。
【００１９】
＜第１実施形態＞
本発明の第１実施形態に係る画像処理システムを、図に従って説明する。本実施形態で示す手法は、図１のようなシステム構成の元で実現される。１０１は撮像装置であり、主にバーチャルスライドシステムにおける撮像部分に当たる。撮像装置１０１は、被写体としての病理標本のスライド（プレパラート）を高倍率かつ高解像度で撮影しデジタル画像データを取得する装置であり、デジタル顕微鏡とも呼ばれる。１０２は画像形成装置であり、本実施形態で示す手法を実現するための主要部分である。具体的には、画像形成装置１０２は、撮像装置１０１で生成された画像データを受け取り、表示画像データの生成処理を行う。１０３は画像表示装置（ディスプレイ、モニタ等）であり、画像形成装置１０２から受け取った表示画像データに基づく画像を画面に表示する。
【００２０】
本実施形態において、画像形成装置１０２は、例えば図２に示されるハードウェア構成から成るコンピュータと、後述する各種機能を提供するプログラムとで、実現可能である。２０１は入力部であり、キーボードやマウス等が該当する。２０２は記憶部であり、本実施形態で示す手法を実現するためのプログラムや、処理対象データなどを格納する部分であり、ＲＡＭ等が該当する。２０３は演算部であり、記憶部２０２に格納されたデータに対し、記憶部２０２に格納されたプログラムに従って各種演算処理を行う部分であり、ＣＰＵ等が該当する。２０４はＩ／Ｆ部であり、撮像装置１０１および画像表示装置１０３とのデータ入出力を制御するインターフェース部分である。２０５は外部記憶装置（または補助記憶装置）であり、ハードディスクやフラッシュメモリ等が該当する。２０６は上記２０１〜２０５を接続するデータバスである。
【００２１】
本実施形態における画像形成装置１０２の機能ブロック図を、図３に示す。３０１は画像データ入力部であり、撮像装置１０１から画像データを入力する部分である。３０２は画像データ格納部（以下、「格納部」と呼ぶ）であり、画像データ入力部３０１から入力した画像データを格納する記憶装置である。３０３は画像データバッファ部（以下、「バッファ部」と呼ぶ）であり、バッファリング制御命令を受けて格納部３０２から画像データの一部のデータを受け取り、一時的に格納可能である。またバッファ部３０３は、表示画像データの形成に必要な画像データを画像データ出力部（以下、「出力部」と呼ぶ）３０４へ送信する。格納部３０２は、画像データ全体を格納する必要があるため、容量の大きい記憶装置（例えば図２の外部記憶装置２０５）を用いて構成される。一方、バッファ部３０３は、画像データ用のバッファメモリとして機能する記憶装置であり、格納部３０２に比べて高速にデータを書き込み／読み出し可能なデバイスで構成される。本実施形態では記憶部２０２の中にバッファ部３０３を設定するが、記憶部２０２とは別に専用のバッファメモリを設けても良い。なお、バッファ部３０３の容量は、格納部３０２に比べて小さく、画像データの全体を格納することはできない。以下の説明においては、バッファ部３０３を、「バッファメモリ」または単に「バッファ」と呼ぶこともある。なお、画像データの入力について、画像データ入力部３０１がバッファリング制御部（以下、「制御部」と呼ぶ）３０６からのデータ転送命令を受信し、格納部３０２を経由せずに撮像装置１０１からの画像データを直接バッファ部３０３へ転送しても良い。
【００２２】
３０４は出力部であり、格納部３０２またはバッファ部３０３から受け取った画像データから、画像表示装置１０３へ出力するための表示画像データを形成する。３０５は画面更新情報入力部であり、例えばマウス等の入力デバイスからユーザー入力を受け付け、それに基づいて画面更新命令を制御部３０６へ送信する。制御部３０６は、バッファ部３０３に格納するデータを制御する機能である。制御部３０６は、格納部３０２へデータ転送命令を送信し、また、表示領域情報入力部３１０から表示領域情報を受信し、それに基づいてバッファ部３０３へバッファリング制御命令を送信する。さらに、制御部３０６は、画像データに付随するアノテーション情報を解析する命令をアノテーション情報解析部（以下、「情報解析部」と呼ぶ）３０８へ送信する。また、制御部３０６は、バッファリング優先度設定部（以下、「優先度設定部」と呼ぶ）３０９からはバッファリング優先度を受信する。
【００２３】
３０７はアノテーション解析条件設定部であり、例えばユーザー入力からアノテーション情報解析に必要な解析条件を生成し、情報解析部３０８へ送信する。なお、アノテーション解析条件設定部３０７は、ユーザー入力ではなく画像形成装置１０２内に保持される他の情報、例えば画像に付随する臓器情報や画像の閲覧者情報などを用いて、解析条件を生成しても良い。
【００２４】
情報解析部３０８は、制御部３０６から受信した解析命令によりアノテーション情報を解析し、その結果をバッファリング優先度設定部３０９へ送信する。また、情報解析部３０８は、優先度算出命令もバッファリング優先度設定部３０９へ送信する。バッファリング優先度設定部３０９は、これらの情報をもとにバッファリング優先度を算出し、その結果を制御部３０６へ送信する。表示領域情報入力部３１０は、ＯＳ等が保持している表示領域情報を取得し、その結果を制御部３０６へ送信する。
【００２５】
図４は、病理画像データの構造を示した全体図である。本実施形態では、図４に示す構造を持つ画像データを取り扱う。病理画像データ４０１には、撮像装置１０１によって撮像された被写体（病理標本）の画像が格納されている。病理画像データ４０１は、被写体の表示倍率が異なる深度画像群４０２〜４０５から構成されている。本実施形態では、４０２〜４０５はそれぞれ２．５倍相当、５倍相当、１０倍相当、２０倍相当の表示倍率をもつ深度画像群とする。なお、この「○○倍相当」という表現は、対応する画像に記録されている被写体の像が、○○倍の対物レンズを用いた光学顕微鏡で観察される像と同様である、という意味で使用する。各深度画像群４０２〜４０５は、異なる深度において撮像された複数の画像データから構成されている。深度とは、撮像装置１０１の光軸方向の焦点位置（深さ）である。例えば画像データ４０６〜４０９は、表示倍率は異なるが全て同じ深度で撮像されたものである。
【００２６】
病理画像データ４０１を構成する全ての画像データは、ブロック画像データ４１０を最小単位として構成される。本実施形態では、データ転送などの処理はこのブロック画像データ４１０を単位として実行する。ブロック画像データ４１０はそれぞれが独立した画像ファイルであっても良いし、もしくは画像データ４０６〜４０９のそれぞれが独立した画像ファイルであって、それを内部的に取り扱う単位としてブロック画像データ４１０を定義しても良い。そして、全てのブロック画像データは、複数の整数から構成されるインデックス（ｉ，ｊ，ｋ，ｌ）によって一意に特定することが可能である。ここで、ｉはｘ軸方向のインデックス、ｊはｙ軸方向のインデックス、ｋはｚ軸（深度）方向のインデックス、ｌは倍率方向のインデックスとする。例えば、インデックスｉとｊが同じである２つのブロック画像データが存在する場合、インデックスｌが同じであれば、それらはｘｙ平面上の同じ位置にあるブロック画像データであることを示す。また、同じ深度画像群に属するブロック画像データのインデックスｌは、全て同じ値を持つ。
【００２７】
図４に示す病理画像データは、一つの被写体（病理標本）を撮影倍率や光軸方向の焦点位置を変えながら撮像装置１０１により複数回撮影することで、生成することができる。病理画像データには、当該被写体あるいは画像群に付随する各種のデータを付加することができる。前述したアノテーションもその一つである。アノテーションデータは、少なくとも、アノテーション（マーカー）の位置情報と、そのアノテーションに関連付けられた病理診断情報とを含む。アノテーションの位置情報は、例えば、ブロック画像データを特定するインデックスと、当該ブロック画像データの中のｘｙ座標、もしくは画像データ４０８の中におけるｘｙ座標との組み合わせで定義できる。点ではなくある広がりをもつエリアに対してアノテーションを付す場合には、例えば、矩形エリアの対角２点の座標、円形エリアの中心座標と半径などを、アノテーションの位置情報として用いれば良い。一つの病理画像データに対して複数のアノテーションが付加された場合には、複数のアノテーションのそれぞれに対してアノテーションデータが作成される。アノテーションデータの例は後述する。
【００２８】
図５に、本実施形態における画像データの取り扱い方法を示す。図５では、病理画像データ４０１のうち、画像データ４０８が画面表示の対象になっている。５０１は画像表示装置１０３によって実際に画面表示が行われる領域である。以下、５０１を「画面表示領域」と記述する。５０２は、画面表示を行うために画像表示装置１０３へ転送を行う画像領域であり、以下５０２を「表示データ領域」と記述する。本実施形態では表示データ領域５０２を、画面表示領域５０１を完全に含み、かつ最も少ないブロック画像データ４１０で構成される領域として定義する。ただし、場合によっては表示データ領域５０２をこの定義よりも大きい領域と定義しても良い。また、画面表示領域５０１と表示データ領域５０２は一致していても良い。
【００２９】
５０３〜５０９は、画像上に関連付けられたアノテーションである。これらのアノテーションは円形の図形で表され、その大きさはブロック画像データ４１０よりも大きいとする。ただし、場合によってはアノテーションを表す図形を円形以外のものにしても良いし、その大きさもブロック画像データ４１０より小さいものにしても良い。画像データ４０８を含む病理画像データ４０１には、アノテーション５０３〜５０９に対応するアノテーションデータが付随している。本実施形態におけるアノテーションデータは、例えばＩＤ番号と画像上の位置（ｘ座標とｙ座標で指定）、作成者、作成日、コメントなどから構成される。アノテーションデータの例を、表１に示す。なお、表１のｘ座標とｙ座標は、画像データ４０８の左上隅を原点とし、単位はピクセルであるとする。
【００３０】
【表１】
2015219598.tif 000003
【００３１】
本実施形態においては、アノテーション５０３〜５０９と、アノテーションデータのＩＤ１〜７が、それぞれ対応する。
【００３２】
５１０〜５１７は、バッファリングの対象となる領域であり、領域の大きさ（どこまで余裕をもってバッファリングするか）はユーザーもしくはプログラムがあらかじめ指定または変更できる。以下、５１０〜５１７を「バッファリング対象領域」と記述する。バッファリング対象領域には、画面表示領域５０１と関連する第１のバッファリング対象領域５１０と、アノテーションが付加された位置と関連する第２のバッファリング対象領域５１１〜５１７との２種類がある。
【００３３】
本実施形態では、第１のバッファリング対象領域５１０を、表示データ領域５０２よりも上下左右方向それぞれブロック画像データ１つ分だけ広く、かつ表示データ領域５０２を除いた領域として定義する。つまり、第１のバッファリング対象領域５１０は、表示データ領域５０２の周囲の１列分のブロック画像データ群である。ただし、必要に応じて表示データ領域５０２がバッファリング対象領域５１０に含まれる構成を用いても良い。また、本実施形態では、第２のバッファリング対象領域５１１〜５１７を、アノテーション５０３〜５０９を完全に含むために必要となる最小の領域よりも、上下左右方向それぞれブロック画像データ１つ分だけ広い領域として定義する。
【００３４】
バッファリング対象領域の定義範囲は上記の例に限らず、適宜変更しても良い。例えば、図５では表示データ領域５０２やアノテーションの領域の周囲（上下左右）１列分をバッファのマージンとしているが、周囲２列分以上のブロックをバッファ対象領域に含めても良い。また、上・下・左・右それぞれのマージンの幅（ブロックの列数）を異ならせても良い。例えば、上下方向（ｙ方向）よりも左右方向（ｘ方向）のスクロールが多用されることが予め分かっている場合には、上下の１列と左右の２列のブロックをバッファリング対象領域に設定しても良い。
【００３５】
また、図５では、画像ビューアの表示画像と深度が同じ画像データ（画像データ４０８）の中からバッファすべきブロック画像データが選ばれているが、例えば、バッファリング対象領域を深度方向に広げても良い。つまり、表示画像と深度が同じ画像データ４０８におけるアノテーション部分のデータとともに、表示画像と深度が異なる画像データにおける対応部分のデータもバッファの対象に選ぶのである。例えば、アノテーション部分のブロック画像データのインデックスが（ｉ，ｊ，ｋ，ｌ）であった場合に、インデックスが（ｉ，ｊ，ｋ±ｐ，ｌ）であるブロック画像データをバッファリング対象領域に含めれば良い。このようなバッファリングは、画像ビューアが表示画像の深度方向への変更（深度スクロール）の機能を有する場合に有効である。なお、ｐは０以外の正整数である。さらに、バッファリング対象領域を倍率方向に広げても良い。つまり、表示画像と倍率が同じ画像データ４０８におけるアノテーション部分のデータとともに、表示画像と倍率が異なる画像データにおける対応部分のデータもバッファの対象に選ぶのである。例えば、アノテーション部分のブロック画像データのインデックスが（ｉ，ｊ，ｋ，ｌ）であった場合に、インデックスが（ｉ’，ｊ’，ｋ，ｌ±ｑ）であるブロック画像データをバッファリング対象領域に含めれば良い。このようなバッファリングは、画像ビューアが表示倍率の切り替え機能を有する場合に有効である。なお、ｑは０以外の正整数である。ｉとｉ’、ｊとｊ’は、たいていの場合異なる値を持つ。さらには、バッファリング対象領域を深度方向および倍率方向に同時に広げても良い。
【００３６】
（画像形成処理）
図６は、本実施形態における画像形成処理の流れの概要を示すフローチャートである。以下、図６に従って処理の流れを説明する。
【００３７】
まず、制御部３０６が、初期設定を行う（ステップＳ６０１）。Ｓ６０１の中では、さらに図７で示される処理を行う。初期設定の詳細な処理の流れについては後述する。
【００３８】
Ｓ６０１の次は、アノテーション解析条件設定部３０７が、アノテーションの位置情報解析条件の更新要求がユーザー入力等の形で画像形成装置１０２に入力されたかどうかを判定する（条件判定Ｓ６０２）。位置情報解析条件の更新要求とは、アノテーションの位置情報からどのような解析を行い、その結果に基づいてどのようなバッファリング優先度を設定するかを決める条件を変更する操作である。ユーザー入力の方法としては、例えば、画像表示装置に解析条件の入力画面を表示し、マウス等の入力デバイスを用いて、利用する解析方法と優先度を決める条件を選択ないし入力させれば良い。なお、アノテーション解析条件設定部３０７が解析条件を自動で設定することもできる。
【００３９】
条件判定Ｓ６０２で位置情報解析条件の更新要求が入力されたと判定されたら、その入力をもとに、アノテーション解析条件設定部３０７が、位置情報解析条件の更新を行う（ステップＳ６０３）。具体的には、記憶部２０２に保存されている位置情報解析条件のデータの書き換えが行われる。条件判定Ｓ６０２の判定が偽であれば、Ｓ６０７に進む。
【００４０】
次に、情報解析部３０８が、位置情報解析条件にしたがってアノテーション情報の解析を行う（ステップＳ６０４）。Ｓ６０４の具体的な処理内容は、Ｓ６０３によって設定された解析条件によって変わるが、本実施例では、画面表示領域から近い場所にあるアノテーション周辺のバッファリング優先度を上げる。その詳細な処理の流れについては後述する。これは、画面表示領域からの距離が近いアノテーションほど、現在の画面表示領域と関連性の高い情報が格納されており、よって他のアノテーションよりも参照される可能性が高いという仮定に基づいている。具体的には、例えばある病変に着目して画面表示を行っている場合、その周辺のアノテーションには表示領域と同じ病変に関する情報が格納されている、などのようなケースが想定される。情報解析部３０８の解析結果（例えば、抽出・ソートされたアノテーションのＩＤ番号のリスト）は、バッファリング優先度設定部３０９に渡される。
【００４１】
次に、バッファリング優先度設定部３０９が、Ｓ６０４の解析結果に基づいてバッファリング対象領域を決定する。つまり、Ｓ６０４で抽出されたアノテーションの位置情報を参照し、各々のアノテーションの部分を含むようにバッファリング対象領域５１１〜５１７を設定する。そして、バッファリング優先度設定部３０９は、バッファリング対象領域５１１〜５１７中に存在する各ブロック画像データのバッファリング優先度を決定し、既に作成してあるバッファリング優先度テーブルの内容を更新する（ステップＳ６０５）。なお、バッファリング優先度テーブルは、初期設定Ｓ６０１の中のＳ７０７にて作成されるテーブルである。Ｓ７０７については後述する。
【００４２】
バッファリング優先度テーブルは、バッファリング対象領域中の各ブロック画像データのＩＤ番号と、対応するバッファリング対象領域のＩＤ番号と、そのバッファリング優先度からなるテーブルである。なお、各ブロック画像データに対応するＩＤ番号は、同じく各ブロック画像データを一意に指定するインデックス番号と１対１で対応している。また、本実施形態では、バッファリング対象領域５１０のＩＤ番号を０とし、バッファリング対象領域５１１〜５１７のＩＤ番号は、これらが属するアノテーションのＩＤ番号と一致させる（つまり、順番に１〜７の整数を割り当てる）。また、本実施形態においては、バッファリング優先度の値は正の整数とし、値が大きいほど優先度が高いとするが、必要に応じてこの定義とは異なる優先度、例えば正負の実数、などの定義を用いても良い。表２に、バッファリング優先度テーブルの例を示す。
【００４３】
【表２】
2015219598.tif 000004
【００４４】
次に、Ｓ６０５で更新したバッファリング優先度テーブルの内容に基づき、制御部３０６が、バッファ部３０３に格納しているデータ（これを「バッファ内容」とよぶ）を更新する（ステップＳ６０６）。なお、更新された解析条件による結果が更新前の解析条件による結果と一致する場合など、必ずしもバッファ内容の更新をする必要がない場合は、処理の効率を重視して適切な範囲でＳ６０６の処理を省いても良い。また、Ｓ６０６の具体的な処理としてはいくつかの方法が考えられるが、図８にその一例を示す。図８の詳細な内容については後述する。
【００４５】
Ｓ６０６の次は、制御部３０６が、画面更新の要求が何らかの形で画像形成装置１０２に入力されたかどうかを判定する（条件判定Ｓ６０７）。画面更新の要求とは、例えばマウス等の入力デバイスから与えられる画面のスクロール指示や、画面切り替え指示などである。画面更新要求が入力されていない場合は、Ｓ６０２に戻る。
【００４６】
Ｓ６０７で画面更新要求が入力されたと判定されたら、その入力をもとに、制御部３０６が、画面表示領域情報の更新を行う（ステップＳ６０８）。ここで、「画面表示領域情報」とは、画像データ４０８に対する画面表示領域５０１の位置と表示面積の情報のことである。
【００４７】
次に、制御部３０６が、更新された画面表示領域情報から、表示データ領域情報の更新を行う（ステップＳ６０９）。ここで、「表示データ領域情報」とは、画像データ４０８に対する表示データ領域５０２の位置と面積の情報のことである。
【００４８】
次に、制御部３０６が、画面表示に必要なブロック画像データがバッファ部３０３内に存在するかどうかを判定する（条件判定Ｓ６１０）。条件判定Ｓ６１０の判定結果が真であれば、ステップＳ６１２に進み、出力部３０４はバッファ部３０３内のブロック画像データを読み出し、表示画像データを生成して画像表示装置１０３へ転送する。一方、条件判定Ｓ６１０の判定結果が偽であればステップＳ６１１に進み、出力部３０４は、格納部３０２からブロック画像データを読み出し、表示画像データを生成して画像表示装置１０３へ転送する。なお、ブロック画像データをそのまま表示画像データとして転送しても良いし、ブロック画像データに対して必要な画像処理（例えば解像度変換、階調補正、色補正、強調処理、合成処理、形式変換など）を施して表示画像データを生成しても良い。
【００４９】
次に、制御部３０６が、バッファリング対象領域情報の更新を行う（ステップＳ６１３）。ここで、「バッファリング対象領域情報」とは、画像データ４０８に対するバッファリング対象領域５１０の位置と形状とバッファリング領域範囲の情報のことである。なお、本実施形態では簡単のため、表示データ領域５０２とバッファリング対象領域５１０の位置関係、およびバッファリング対象領域５１０の形状は変化しないものとする。ただし、バッファリング対象領域５１０の位置が変わることで、バッファリング対象領域５１０と、他のバッファリング対象領域５１１〜５１７が重なることはあり得る。
【００５０】
次に、バッファリング優先度設定部３０９は、既に作成してあるバッファリング優先度テーブルの内容を更新する（ステップＳ６１４）。バッファリング対象領域５１０がバッファリング対象領域５１１〜５１７と重なっていない場合は、バッファリング対象領域５１０に属するブロック画像データに対して、あらかじめ決められた優先度を設定する。例えば、バッファリング対象領域５１０に属するブロック画像データには、他のブロック画像データよりも常に高い優先度を与える、という方法が考えられる。これは、画面表示領域５０１の移動について、上下左右へのスクロール移動の可能性の方が、その他の離れた領域へのジャンプ移動の可能性よりも高いという仮定に基づいている。バッファリング対象領域５１０がバッファリング対象領域５１１〜５１７と重なる場合は、重なった領域に存在するブロック画像データはバッファリング対象領域５１０に属するものとして、優先度を設定する。
【００５１】
次に、Ｓ６１４で更新したバッファリング優先度テーブルの内容に基づき、制御部３０６が、バッファ部３０３に格納しているバッファ内容を更新する（ステップＳ６１５）。なお、図６では画面更新要求が入力されれば必ずバッファ内容を更新するアルゴリズムとなっているが、スクロール量が小さいなど、必ずしもバッファ内容の更新をする必要がない場合は、処理の効率を重視して適切な範囲でＳ６１５の処理を省いても良い。Ｓ６１５の具体的な処理は、Ｓ６０６と同様であり、図８を用いて後述する。
【００５２】
Ｓ６１５の後は、制御部３０６は、プログラムを終了させる命令が入力されたかどうかをチェックする（条件判定Ｓ６１６）。条件判定Ｓ６１６の結果が真であればプログラムを終了させ、偽であれば条件判定Ｓ６０２に戻り、処理を続行する。
【００５３】
以上で、本実施形態における画像形成処理の流れの概要説明を終了する。
【００５４】
（初期設定Ｓ６０１）
図７は、本実施形態における初期設定Ｓ６０１の詳細な流れを示すフローチャートである。以下、図７に従って説明する。
【００５５】
まず、制御部３０６は、画面表示領域情報を、表示領域情報入力部３１０から取得する（ステップＳ７０１）。この情報は、表示画面解像度の情報のことである。
【００５６】
次に、制御部３０６は、表示対象となる深度及び倍率の画像データ４０８の中から、画面表示領域の位置を設定する（ステップＳ７０２）。Ｓ７０１で得られた表示画面解像度の情報と、このＳ７０２で設定する位置の情報により、画像データ４０８の中で画面表示領域が占める位置と面積が確定する。初期表示の深度、倍率、および領域は、例えば、病理画像データ４０１の中で真ん中の深度・倍率の画像データ４０８の中央の領域に設定すれば良い。
【００５７】
次に、制御部３０６は、Ｓ７０２によって確定した画面表示領域から、表示データ領域を設定する（ステップＳ７０３）。このＳ７０３で、表示データ領域の位置と面積が確定する。
【００５８】
次に、制御部３０６は、バッファメモリ容量を設定する（ステップＳ７０４）。バッファメモリ容量は、画像形成装置が搭載する記憶部２０２の容量などに応じて、ユーザーまたはプログラムが設定する。
【００５９】
次に、画像データ４０８と関連付けられているアノテーション５０３〜５０９の位置を取得する（ステップＳ７０５）。これは例えば、病理画像データ４０１に付随するアノテーションデータを取得し、画像データ４０８上におけるアノテーション５０３〜５０９の中心位置と半径を取得することに相当する。
【００６０】
次に、バッファリング対象領域５１０〜５１７の位置や面積および形状を設定する（ステップＳ７０６）。これらの設定の仕方は、先に述べたとおりである。
【００６１】
次に、制御部３０６は、バッファリング対象領域５１０〜５１７中に存在する各ブロック画像データのバッファリング優先度を格納するための、バッファリング優先度テーブルを作成する（ステップＳ７０７）。バッファリング優先度テーブルは、Ｓ６０５の説明で既に述べた通り、バッファリング対象領域５１０〜５１７中の各ブロック画像データのＩＤ番号と、対応するバッファリング対象領域のＩＤ番号と、そのバッファリング優先度からなるテーブルである。なお、この時点ではバッファリング優先度の値はまだ計算されていないため、例えばゼロなどの適当な値を設定しておく。
【００６２】
次に、制御部３０６の制御の下、出力部３０４が表示データ領域５０２に相当する領域のブロック画像データを、格納部３０２から読み出し、画像表示装置１０３へ転送する（ステップＳ７０８）。
【００６３】
次に、画像表示装置１０３へ転送された表示データ領域５０２の情報をもとに、バッファリング優先度設定部３０９が、バッファリング優先度テーブルの更新を行う（ステップＳ７０９）。Ｓ７０９では、バッファリング優先度テーブルの各要素のうち、バッファリング対象領域５１０に属するブロック画像データに対応する要素のみ（つまりＳ７０８で表示した領域の周囲のブロック画像データのみ）、あらかじめ決められた優先度を設定する。なお、このＳ７０９は、Ｓ６１４と同じ処理である。
【００６４】
次に、制御部３０６は、Ｓ７０９にて設定されたバッファリング優先度をもとに、バッファの内容を更新する（ステップＳ７１０）。なお、このＳ７１０は、Ｓ６０６およびＳ６１５と同じ処理である。
【００６５】
以上で、初期設定処理Ｓ６０１が終了する。
【００６６】
（位置情報の解析Ｓ６０４）
図８は、本実施形態における位置情報更新処理Ｓ６０４の詳細な流れの一例を示すフローチャートである。以下、図８に従って説明する。
【００６７】
まず、情報解析部３０８は、画面表示位置の中心座標を取得する（ステップＳ８０１）。この中心座標は、画像データ４０８の左上隅を原点として、ピクセルを単位とした座標系で表わされるとする。
【００６８】
次に、情報解析部３０８は、Ｓ８０１で取得された画面表示位置の中心座標と、各アノテーションの中心座標の間の距離を格納するための、アノテーション距離テーブル（以下、「距離テーブル」と呼ぶ）を作成する（ステップＳ８０２）。距離テーブルは、各アノテーションのＩＤ番号と、対応するアノテーションと画面表示位置の中心座標との間の距離からなるテーブルである。なお、この時点では距離の値はまだ計算されていないため、例えばゼロなどの適当な値を設定しておく。
【００６９】
次に、情報解析部３０８は、整数型変数ｉを用意し、変数ｉに１を設定する（ステップＳ８０３）。
【００７０】
次に、情報解析部３０８は、Ｓ８０１で取得された画面表示位置の中心座標と、ＩＤ番号がｉであるアノテーションの中心座標の間の距離を計算する（ステップＳ８０４）。
【００７１】
次に、情報解析部３０８は、Ｓ８０４で計算された距離の値を、距離テーブルに格納する（ステップＳ８０５）。
【００７２】
次に、情報解析部３０８は、変数ｉの値を１増やし（ステップＳ８０６）、変数ｉの値が距離テーブルの要素数（＝アノテーション数）を超えたかどうかをチェックする（条件判定Ｓ８０７）。条件判定Ｓ８０７の結果が偽であれば、位置情報解析処理を継続するため、ステップＳ８０４に戻る。条件判定Ｓ８０７の結果が真であれば、距離計算の対象となるアノテーションが残っていないことになるため、Ｓ８０８に進む。ステップＳ８０８では、情報解析部３０８は、距離テーブルの全要素を距離の値が小さい順にソートする。なお、情報解析部３０８は、このソート結果からアノテーションＩＤ番号のリストを作成し、バッファリング優先度設定部３０９に渡す。渡されたリストは、Ｓ６０５でバッファリング優先度テーブルを更新する際に使用される。
【００７３】
以上で、図８の詳細説明を終了する。
【００７４】
（バッファ内容更新Ｓ６０６、Ｓ６１５およびＳ７１０）
図９は、本実施形態におけるバッファ内容更新処理Ｓ６０６、Ｓ６１５およびＳ７１０の詳細な流れの一例を示すフローチャートである。以下、図９に従って説明する。
【００７５】
まず、制御部３０６は、バッファリング優先度テーブル（以下、「優先度テーブル」と呼ぶ）の全要素を優先度の高い順にソートする（ステップＳ９０１）。
【００７６】
次に、制御部３０６は、整数型変数ｉを用意し、変数ｉにゼロを設定する（ステップＳ９０２）。
【００７７】
制御部３０６は、優先度テーブル中のｉ番目の要素に該当するブロック画像データが、すでにバッファ内に存在しているかどうかをチェックする（条件判定Ｓ９０３）。具体的には、例えばあらかじめバッファ内に存在しているブロック画像データに対応するＩＤ番号のリストを作成しておき、前記ｉ番目のブロック画像データに対応するＩＤ番号をバッファ内画像のリストと照合すれば良い。条件判定Ｓ９０３の結果が真ならば、制御部３０６は、優先度テーブル中のｉ番目の要素にマークを付け（ステップＳ９０４）、バッファ中で見つかったブロック画像データにもマークを付ける（ステップＳ９０５）。このマークには、何らかのフラグを対応させれば良い。条件判定Ｓ９０３の結果が偽であれば、ステップＳ９０６に進む。
【００７８】
Ｓ９０６では、制御部３０６は、変数ｉの値を１増やす。
【００７９】
条件判定Ｓ９０７では、制御部３０６は、変数ｉの値が優先度テーブルの要素数以上かどうかをチェックする。条件判定Ｓ９０７の結果が偽であれば、条件判定Ｓ９０３の処理に戻る。条件判定Ｓ９０７の結果が真であれば、制御部３０６は、優先度テーブル中のマークされた要素を削除する（ステップＳ９０８）。この結果、優先度テーブルには、優先度が高いブロック画像データのうち、バッファ内に存在しないもの（つまり、バッファに追加すべきブロック画像データ）を示す要素のみが残る。Ｓ９０８の次は、制御部３０６は、バッファ中のマーク画像以外のブロック画像データを削除する（ステップＳ９０９）。この結果、バッファする必要のないブロック画像データが削除され、バッファに空きが作られる。
【００８０】
Ｓ９１０では、制御部３０６は、変数ｉにゼロを代入する。
【００８１】
制御部３０６は、バッファに空きがあるかどうかを確認する（条件判定Ｓ９１１）。条件判定Ｓ９１１の結果が真であれば、制御部３０６は、優先度テーブルのｉ番目要素に対応するブロック画像データを、格納部３０２から、バッファ部３０３へ転送する（ステップＳ９１２）。
【００８２】
次に、制御部３０６は、変数ｉの値を１増やし（ステップＳ９１３）、変数ｉの値が優先度テーブルの要素数未満かどうかをチェックする（条件判定Ｓ９１４）。条件判定Ｓ９１４の結果が真であれば、バッファ内容更新の処理を継続するため、ステップＳ９１１に戻る。条件判定Ｓ９１４の結果が偽であれば、バッファリングの対象となるブロック画像データが残っていないことになるため、バッファ内容更新の処理を終了する。なお、条件判定Ｓ９１１の判定結果が偽である場合は、これ以上バッファに画像データを格納できない状態であるため、バッファ内容更新の処理を終了する。
【００８３】
以上で、図９の詳細説明を終了する。なお、バッファ内容更新処理Ｓ６０６、Ｓ６１５およびＳ７１０については、図９に示した処理の他、例えば単純にバッファ中の内容を全消去してバッファリング優先度の高いブロック画像データ群を順次バッファへ読み込むなど、他の異なる処理を用いても良い。
【００８４】
（バッファリングの一例）
次に、図６〜図９の処理を行ったときに、バッファ部３０３へのブロック画像データの格納がどのように行われるかについて、例を用いて説明する。
【００８５】
例えば、バッファリング対象領域５１０〜５１７中に、図１０で示されるバッファリング優先度が設定されたブロック画像データ群があったとする。図１０は、表１のアノテーションデータの位置情報を用いて、画面表示領域からの距離の値が小さいアノテーションの周辺画像ほど、高い優先度を設定した状態を示す。また、バッファリング対象領域５１０に属するブロック画像データ、すなわち画像ビューアに表示されている部分の周辺領域に該当するブロック画像データには、他よりも高い優先度「９」を設定する。本実施形態では、以下の仮定に基づいて、この優先度を設定している。それは、画面表示領域５０１の移動について、上下左右へのスクロール移動の可能性の方が、その他の離れた領域、すなわちバッファリング対象領域５１１〜５１７の近傍にジャンプする可能性よりも高いという仮定である。よって、バッファリングが行われる優先度は、バッファリング対象領域５１１〜５１７に属するブロック画像データよりも、バッファリング対象領域５１０に属するブロック画像データの方が高い。なお、バッファリング対象領域５１０に属するブロック画像データの優先度は、バッファリング対象領域５１１〜５１７に属するブロック画像データの優先度よりも高ければ、「９」以外の数を設定しても良い。
【００８６】
このような優先度設定の場合に、ブロック画像データ群がバッファに格納される様子の例を、図１１に示す。１１０１はバッファ領域の模式図である。図１１で示す状況では、バッファ領域１００１の大きさが、バッファリングするブロック画像データの総和よりも小さいため、全てのブロック画像データをバッファに格納することができない。よってこの場合は、ブロック画像データ群１１０２、１１０３、１１０４、１１０５、１１０６の順にバッファリングが行われる。ブロック画像データ群１１０６と１１０７は、どちらもバッファリング対象領域５１１に属するデータであるが、バッファ領域１１０１の大きさが限られているため、実際にバッファリングされるのはブロック画像データ群１１０６のみとなる。
【００８７】
なお、バッファに格納されるブロック画像データは、圧縮データでも非圧縮データでも、どちらでも良い。表示処理の高速化に重点を置く場合には、プログラムの待ち時間のあいだ等で圧縮データを展開し、非圧縮データの形にしてバッファに格納しておくのが好ましい。一方、バッファメモリ容量の削減に重点を置く場合には、圧縮されたままのデータを格納しておくのが好ましい。
【００８８】
なお、本実施形態では、アノテーションの位置が２次元の座標で表わされるとしたが、取り扱う病理画像中に深度画像群が存在し、かつ同一の深度画像群の中の異なる深度画像に複数のアノテーションが分散して存在する場合もある。その場合には、アノテーションの位置を３次元の座標で表し、その３次元の座標に基づいて距離を算出しても良い。例えば、各深度画像の深度位置を、適切な方法でｚ座標に変換することが考えられる。
【００８９】
以上、本実施形態によって、従来技術と比較し、病理診断の特徴に応じたメモリ使用効率の良い画像データのバッファリングが可能となり、結果的に画像ビューアにおける表示応答性の向上に繋がる。具体的には、病理画像に付随するアノテーションデータの位置情報を解析し、現在の表示位置から近いアノテーション周辺の画像データのバッファリング優先度を高くすることで、従来よりもメモリ使用効率の良いバッファリング処理が可能となる。
【００９０】
＜第２実施形態＞
本発明の第２実施形態を、図に従って説明する。
【００９１】
システム構成、ハードウェア構成、機能ブロック、および処理のアルゴリズムの概要は第１実施形態のものと同様であるが、アノテーションの位置情報解析の条件と、画像データのバッファリング方法が異なる。
【００９２】
第１実施形態では、画面表示領域からの距離によってアノテーション周辺の画像のバッファリング優先度を決定した。それに対し、本実施形態では、アノテーション数密度の値が大きいアノテーション周辺の画像に、高いバッファリング優先度を設定する。これは、アノテーションが密集している領域の方が、他の領域よりも参照される確率が高いという仮定に基づいている。なお、アノテーション数密度とは、ある１つのアノテーションＡに着目した時に、自分以外のアノテーションが周りにどれだけ存在するかを表わす指標である。このアノテーション数密度は、例えば、アノテーションＡを中心とする半径Ｒを考え、その半径Ｒの中に存在するアノテーションＡ以外のアノテーション数として計算される。その他、アノテーション数密度を計算する時には、半径Ｒの円を考えずに、例えばアノテーションＡを中心としてある一定の大きさを持つ正方形や長方形を考え、その中に存在するアノテーションＡ以外のアノテーション数を計算しても良い。なお、それら以外の適切な方法を用いて計算してももちろん良い。
【００９３】
本実施形態では、第１実施形態と比較して、図６、図７、および図９に関しては共通の処理を用いる。しかし、位置情報の解析Ｓ６０４の具体的な処理内容については、第１実施形態と異なる。本実施形態におけるＳ６０４の流れについては後述する。
【００９４】
（位置情報の解析Ｓ６０４）
図１２は、本実施形態における位置情報更新処理Ｓ６０４の詳細な流れの一例を示すフローチャートである。以下、図１２に従って説明する。
【００９５】
まず、情報解析部３０８は、アノテーション数密度を格納するための、アノテーション数密度テーブル（以下、「数密度テーブル」と呼ぶ）を作成する（ステップＳ１２０１）。数密度テーブルは、各アノテーションのＩＤ番号と、対応するアノテーション周辺の数密度からなるテーブルである。なお、この時点では数密度の値はまだ計算されていないため、例えばゼロなどの適当な値を設定しておく。
【００９６】
次に、情報解析部３０８は、数密度計算に必要となる半径Ｒを設定する（ステップＳ１２０２）。この半径Ｒの値は、ユーザーがあらかじめ設定しても良いし、プログラムが何らかの情報を基にして自動で設定しても良い。
【００９７】
次に、情報解析部３０８は、整数型変数ｉを用意し、変数ｉに１を設定する（ステップＳ１２０３）。
【００９８】
次に、情報解析部３０８は、整数型変数ｋを用意し、変数ｋに０を設定する（ステップＳ１２０４）。
【００９９】
次に、情報解析部３０８は、整数型変数ｊを用意し、変数ｊに１を設定する（ステップＳ１２０５）。
【０１００】
次に、情報解析部３０８は、ｉとｊの値が異なっているかどうかを判定する（条件判定Ｓ１２０６）。Ｓ１２０６の判定結果が偽であれば、Ｓ１２１０に進む。Ｓ１２０６の判定結果が真であれば、情報解析部３０８は、アノテーションｉとアノテーションｊの中心間距離ｄを計算する（ステップＳ１２０７）。
【０１０１】
次に、情報解析部３０８は、ｄの値が半径Ｒよりも小さいかどうかを判定する（条件判定Ｓ１２０８）。Ｓ１２０８の判定結果が真であれば、情報解析部３０８は、アノテーションｊはアノテーションｉの近傍に存在すると判断し、変数ｋの値を１増やす（ステップＳ１２０９）。Ｓ１２０８の判定結果が偽であれば、Ｓ１２１０に進む。
【０１０２】
次に、情報解析部３０８は、変数ｊの値を１増やす（ステップＳ１２１０）。
【０１０３】
次に、情報解析部３０８は、変数ｊの値が数密度テーブルの要素数を超えたかどうかを判定する（条件判定Ｓ１２１１）。Ｓ１２１１の判定結果が偽であれば、Ｓ１２０６に戻る。Ｓ１２１１の判定結果が真であれば、情報解析部３０８は、数密度テーブルのアノテーションｉに対応する要素として、変数ｋの値を格納する（ステップＳ１２１２）。
【０１０４】
次に、情報解析部３０８は、変数ｉの値を１増やす（ステップＳ１２１３）。
【０１０５】
次に、情報解析部３０８は、変数ｉの値が数密度テーブルの要素数を超えたかどうかを判定する（条件判定Ｓ１２１４）。Ｓ１２１４の判定結果が偽であれば、数密度計算処理を継続するため、ステップＳ１２０４に戻る。Ｓ１２１４の結果が真であれば、数密度計算の対象となるアノテーションが残っていないことになるため、Ｓ１２１５に進む。ステップＳ１２１５では、情報解析部３０８は、数密度テーブルの全要素を数密度の値が大きい順にソートする。なお、情報解析部３０８は、このソート結果からアノテーションＩＤ番号のリストを作成し、バッファリング優先度設定部３０９に渡す。渡されたリストは、Ｓ６０５でバッファリング優先度テーブルを更新する際に使用される。
【０１０６】
以上で、図１２の詳細説明を終了する。
【０１０７】
なお、このＳ６０４を適用しても、処理前と比べて結果に変化がないことが明らかである場合は、適切な範囲でＳ６０４の処理自体を省略しても問題ない。これは具体的には、半径Ｒの値が変化しない場合や、もしくはアノテーションの数が変化しない場合などが該当する。
【０１０８】
（バッファリングの一例）
本実施形態で示す方法によってバッファリング優先度が設定された状態の模式図を、図１３に示す。図１３では、バッファリング対象領域５１５〜５１７に属するブロック画像データに優先度「２」が設定されている。これは、優先度の値として、図１２における半径Ｒを８００ピクセルに設定した時の、数密度の値をそのまま用いている。なお、第１実施形態と同様に、本実施形態においても、画面表示領域５０１の移動について、上下左右へのスクロール移動の可能性の方が、その他の離れた領域へのジャンプ移動の可能性よりも高いという仮定を採用する。
【０１０９】
上記の優先度を設定した場合に、ブロック画像データ群がバッファに格納される様子の例を、図１４に示す。１４０１はバッファ領域の模式図である。図１４で示す状況では、バッファ領域１４０１の大きさが、バッファリングするブロック画像データの総和よりも大きいため、全てのブロック画像データをバッファに格納しても空き領域１４０４が生じる。また、バッファへの格納順序は、バッファリング優先度の高いブロック画像データ群１４０２が先となり、その後でブロック画像データ群１４０３が格納される。
【０１１０】
なお、ブロック画像データ群１４０３は全て等しい優先度を持っているが、これらの優先度を再調整し、ブロック画像データ群１４０３の中であらためて優先度に差をつけても良い。これには例えば、各ブロック画像の過去の表示回数履歴を記録しておいて、その値に応じて優先度に差をつける方法が考えられる。具体的には、過去に多く参照されている画像ほど、再び参照される可能性が高いと仮定するならば、表示回数が多いブロック画像ほど高い優先度を割り当てれば良い。これは、通常の詳細診断において有効であると考えられる。また、過去に参照されていない画像ほど、再び参照される可能性が高いと仮定するならば、表示回数が少ないブロック画像ほど高い優先度を割り当てれば良い。これは、スクリーニングのように画像を順番にかつもれなく表示していくような場合に有効であると考えられる。
【０１１１】
なお、本実施形態でも、第１実施形態と同様に、アノテーションの位置を３次元の座標で表し、それを基に数密度を算出しても良い。
【０１１２】
以上、本実施形態のバッファリング制御によって、従来技術と比較し、病理診断の特徴に応じたメモリ使用効率の良い画像データのバッファリングが可能となり、結果的に画像ビューアにおける表示応答性の向上に繋がる。具体的には、病理画像に付随するアノテーションデータの位置情報を解析し、アノテーションが比較的密集している領域の画像データのバッファリング優先度を高くすることで、従来よりもメモリ使用効率の良いバッファリング処理が可能となる。
【０１１３】
＜第３実施形態＞
本発明の第３実施形態を、図に従って説明する。
【０１１４】
システム構成、ハードウェア構成、機能ブロック、および処理のアルゴリズムの概要は第１実施形態のものと同様であるが、アノテーションの位置情報解析の条件が異なる。
【０１１５】
第１実施形態では、画面表示領域からの距離によってアノテーション周辺の画像のバッファリング優先度を決定した。また第２実施形態では、アノテーション数密度の値によってアノテーション周辺の画像のバッファリング優先度を決定した。それに対し、本実施形態では、アノテーションの位置情報と、アノテーションに付随する病理情報とを組み合わせて、画像のバッファリング優先度を決定する。アノテーションに付随する病理情報には、病理診断に関する情報が複数含まれている。よって、これらの情報を加味することで、より病理診断用途に適した画像のバッファリングが可能になる。
【０１１６】
本実施形態では、第１実施形態と比較して、図６、図７、および図９に関しては共通の処理を用いる。しかし、位置情報の解析Ｓ６０４の具体的な処理内容については、第１実施形態と異なる。本実施形態におけるＳ６０４の流れについては後述する。
【０１１７】
（位置情報の解析Ｓ６０４）
図１５は、本実施形態における位置情報更新処理Ｓ６０４の詳細な流れの一例を示すフローチャートである。以下、図１５に従って、具体例を交えながら説明する。
【０１１８】
まず、アノテーション解析条件設定部３０７が、アノテーションの病理診断情報解析条件の更新要求がユーザー入力等の形で画像形成装置１０２に入力されたかどうかを判定する（条件判定Ｓ１５０１）。病理診断情報解析条件の更新要求とは、アノテーションに付随する病理診断情報からどのような解析を行い、その結果に基づいてどのようなバッファリング優先度を設定するかを決める条件を変更する操作である。ユーザー入力の方法については、Ｓ６０２で述べたものと同様である。
【０１１９】
条件判定Ｓ１５０１で病理診断情報解析条件の更新要求が入力されたと判定されたら、その入力をもとに、アノテーション解析条件設定部３０７が、病理診断情報解析条件の更新を行う（ステップＳ１５０２）。具体的には、記憶部２０２に保存されている病理診断情報解析条件のデータの書き換えが行われる。なお、本実施形態では、表１で示されるアノテーションデータの中から、作成者が「迫田」であるアノテーションを抽出する解析条件が設定されたとする。条件判定Ｓ１５０１の判定が偽であれば、Ｓ１５０３に進む。
【０１２０】
次に、情報解析部３０８が、病理診断情報解析条件にしたがって、アノテーションの抽出を行う（ステップＳ１５０３）。本実施形態では、この時点でアノテーションＩＤが１，２、および６である３つのアノテーションが抽出される。
【０１２１】
以下、図１５では、Ｓ８０１〜Ｓ８０８で示す処理を経て、位置情報の解析処理を終了する。ただし、第１実施形態におけるアノテーション距離テーブルの要素数は、アノテーション数と等しかったが、本実施形態では、テーブルの要素数は３である。
【０１２２】
以上で、図１５の詳細説明を終了する。
【０１２３】
なお、このＳ６０４を適用しても、処理前と比べて結果に変化がないことが明らかである場合は、適切な範囲でＳ６０４の処理自体を省略しても問題ない。
【０１２４】
（バッファリングの一例）
本実施形態で示す方法によってバッファリング優先度が設定された状態の模式図を、図１６に示す。図１６では、バッファリング対象領域５１２、５１１、および５１６に属するブロック画像データに、それぞれ優先度「８」、「７」、「６」が設定されている。なお、第１実施形態と同様に、本実施形態においても、画面表示領域５０１の移動について、上下左右へのスクロール移動の可能性の方が、その他の離れた領域へのジャンプ移動の可能性よりも高いという仮定を採用する。
【０１２５】
上記の優先度を設定した場合に、ブロック画像データ群がバッファに格納される様子の例を、図１７に示す。１７０１はバッファ領域の模式図である。図１７で示す状況では、バッファ領域１７０１の大きさが、バッファリングするブロック画像データの総和よりも大きいため、全てのブロック画像データをバッファに格納しても空き領域１７０６が生じる。また、バッファへの格納順序は、バッファリング優先度の高いブロック画像データ群１７０２が先となり、その後でブロック画像データ群１７０３、１７０４、および１７０５が格納される。
【０１２６】
なお、本実施形態では、ある作成者を指定してアノテーションを絞り込んだ後、距離情報を用いて優先度を設定したが、距離情報の代わりに数密度情報を用いて優先度を設定しても良い。また、作成者の代わりに診断コメントに対してキーワード検索を行ってアノテーションを絞り込んだ後、距離情報や数密度情報を用いて優先度を設定しても良い。さらに、他の病理診断情報、例えばアノテーションの作成日（作成日時）や自動診断情報、更新者、更新日（更新日時）、もしくはそれに類する複数の情報と位置情報を組み合わせて、優先度を設定しても良い。複数の病理診断情報を組み合わせる場合には、それらをＡＮＤ条件で組み合わせても良いし、ＯＲ条件で組み合わせても良い。
【０１２７】
また、本実施形態でも、第１実施形態と同様に、アノテーションの位置を３次元の座標で表し、それを基に数密度を算出しても良い。
【０１２８】
以上、本実施形態のバッファリング制御によって、従来技術と比較し、病理診断の特徴に応じたメモリ使用効率の良い画像データのバッファリングが可能となり、結果的に画像ビューアにおける表示応答性の向上に繋がる。具体的には、病理画像に付随するアノテーションデータの位置情報に加えて、病理診断情報も加味した上で画像データのバッファリング優先度を決定することで、従来よりもさらに病理診断に適した、メモリ使用効率の良いバッファリング処理が可能となる。
【０１２９】
＜第４実施形態＞
本発明の第４実施形態を、図に従って説明する。
【０１３０】
システム構成、ハードウェア構成、機能ブロック、および処理のアルゴリズムの概要は第１実施形態のものと同様であるが、アノテーションの位置情報解析の条件が異なる。
【０１３１】
第１実施形態では、画面表示領域からの距離によってアノテーション周辺の画像のバッファリング優先度を決定した。また第２実施形態では、アノテーション数密度の値によってアノテーション周辺の画像のバッファリング優先度を決定した。それに対し、本実施形態では、あらかじめ何らかの基準で選択された複数のアノテーションを包含する領域に対して、高いバッファリング優先度を設定する。これは、実際の病理診断において、技師などがプレパラート上にマジックで複数の印をつけ、病理医に対しその複数の印の内部に注目するよう注意を喚起する、という診断フローを模擬することを目的としている。つまりこの場合、複数の印の内部の領域は、他の領域と比較して参照される可能性が高い。本実施形態では、病理画像に関連付けられたアノテーションが、この「印」に対応するとみなす。
【０１３２】
本実施形態では、第１実施形態と比較して、図６、図７、および図９に関しては共通の処理を用いる。しかし、位置情報の解析Ｓ６０４の具体的な処理内容については、第１実施形態と異なる。本実施形態におけるＳ６０４の流れについては後述する。
【０１３３】
（位置情報の解析Ｓ６０４）
図１８は、本実施形態における位置情報更新処理Ｓ６０４の詳細な流れの一例を示すフローチャートである。以下、図１８に従って、具体例を交えながら説明する。
【０１３４】
まず、情報解析部３０８は、用意されているアノテーションデータから、ある条件を満たすアノテーションを抽出する（ステップＳ１８０１）。具体的には、例えば表１で示されるアノテーションデータの中から、作成者が「迫田」であり、かつ作成日が２０１２年１２月１８日であるアノテーションを抽出する。この処理により、表１のアノテーションデータから、ＩＤ番号が１と２であるアノテーションが抽出される。これらは、それぞれ図５における５０３と５０４に該当する。
【０１３５】
次に、情報解析部３０８は、Ｓ１８０１で抽出されたアノテーションと、それらに属するバッファリング対象領域すべてを包含する領域を、新たなバッファリング領域とする更新を行う（ステップＳ１８０２）。具体的には、５０３に関連付けられたバッファリング対象領域５１１と、５０４に関連付けられたバッファリング対象領域５１２を完全に包含し、かつその面積が最小となる長方形領域を、新たなバッファリング対象領域とする。その様子を、図１９に示す。バッファリング対象領域１９０１が、Ｓ１８０２により新たに設定されたバッファリング対象領域である。
【０１３６】
次に、情報解析部３０８は、Ｓ１８０２で設定された新たなバッファリング対象領域に含まれるブロック画像データＩＤのリストを生成する（ステップＳ１８０３）。具体的には、バッファリング対象領域１９０１に含まれるブロック画像データのＩＤ番号を取得し、そのリストを生成する。なお、情報解析部３０８は、このリストをバッファリング優先度設定部３０９に渡す。渡されたリストは、Ｓ６０５でバッファリング優先度テーブルを更新する際に使用される。
【０１３７】
以上で、図１８の詳細説明を終了する。
【０１３８】
（バッファリングの一例）
本実施形態で示す方法によってバッファリング優先度が設定された状態の模式図を、図２０に示す。図２０では、バッファリング対象領域５１１および５１２を包含するバッファリング対象領域１９０１に属するブロック画像データに優先度「１」が設定されている。なお、第１実施形態と同様に、本実施形態においても、画面表示領域５０１の移動について、上下左右へのスクロール移動の可能性の方が、その他の離れた領域へのジャンプ移動の可能性よりも高いという仮定を採用する。よって、バッファリング対象領域５１０に属するブロック画像データには優先度「９」を設定する。なお、バッファリング対象領域５１０に属するブロック画像データの優先度は、他のバッファリング対象領域５１１〜５１７に属するブロック画像データの優先度よりも高ければ、「９」以外の数を設定しても良い。
【０１３９】
上記の優先度を設定した場合、第１実施形態および第２実施形態と同様に、まず優先度「９」が割り当てられたブロック画像データ群がバッファに格納される。その後、バッファの残りの空き領域に、優先度「１」が割り当てられたブロック画像データ群がバッファに格納される。もし、優先度「１」が割り当てられたブロック画像データ群をバッファに格納している途中でバッファの空き領域がなくなったら、その時点でバッファリング処理は強制的に終了する。なお、優先度「１」のブロック画像データ群の中で、どのブロック画像を先にバッファリングするかについては、何らか別の基準を用意すれば良い。具体的には、ブロック画像データのＩＤ番号を利用するという最も単純な方法や、ブロック画像データと現在の画面表示領域との距離を用いる方法が考えられる。また、第２実施形態で述べたように、各ブロック画像データの表示回数履歴を用いる方法などが考えられる。
【０１４０】
なお、本実施形態では、所定の条件により抽出されたアノテーションとそれらに属するバッファリング対象領域すべてを包含する長方形領域を新たなバッファリング対象領域として設定したが、この方法以外を用いてバッファリング対象領域を設定しても良い。例えば、抽出された３個以上のアノテーションの中心座標を結ぶ多角形の内部に完全に包含されるブロック画像データ群を、新たなバッファリング対象領域としても良い。または、抽出されたアノテーションの中心座標を全て包含し、かつ半径が最小となる円の内部に完全に包含されるブロック画像データ群を、新たなバッファリング対象領域としても良い。さらには、新たなバッファリング対象領域の中には、必ずしも抽出されたアノテーション自身が含まれていなくても良いし、または抽出されたアノテーションを全て包含する領域よりも若干大きい領域を新たなバッファリング対象領域に設定しても良い。その他、これらに類する適切な方法を用いて、バッファリング対象領域を設定しても良い。なお、抽出されたアノテーションが２個だけの場合には、その２個のアノテーションに挟まれている領域を、新たなバッファリング対象領域と設定する等すれば良い。
【０１４１】
また、本実施形態でも、第３実施形態と同様に、複数の病理診断情報を組み合わせて解析を行っても良い。
【０１４２】
さらに、本実施形態でも、第１実施形態および第２実施形態と同様に、アノテーションの位置を３次元の座標で表し、それを基に新たなバッファリング対象領域を設定しても良い。
【０１４３】
以上、本実施形態のバッファリング制御によって、従来技術と比較し、病理診断の特徴に応じたメモリ使用効率の良い画像データのバッファリングが可能となり、結果的に画像ビューアにおける表示応答性の向上に繋がる。具体的には、複数のアノテーションを抽出した後、それらの周辺のブロック画像データを含む領域のバッファリング優先度を高くしている。そうすることで、病理診断で行われているマーキング操作を模擬することができ、従来よりもメモリ使用効率の良いバッファリング処理が可能となる。
【０１４４】
＜他のシステム構成＞
上記第１から第３実施形態では、図１に例示したように撮像装置と画像形成装置と画像表示装置で画像処理システムを構成したが、システム構成はこれに限らない。例えば図２１に示すように、複数の装置をネットワークで接続したシステム構成でも良い。２１０１は撮像装置であり、主にバーチャルスライドシステムにおける撮像部分に当たる。２１０２はサーバであり、２１０１によって撮像・生成された画像データなどを格納している大容量のストレージ（画像サーバ）である。２１０３は本実施形態で示す手法を実現するための主要部分である画像形成装置であり、２１０２に格納されている画像データを読み込み、処理を行う。２１０４は画像表示装置であり、２１０３で処理された画像データを受け取り、画面に表示する。２１０５，２１０８はネットワークに接続された一般的なＰＣ（パーソナル・コンピュータ）であり、２１０６，２１０７はＰＣに接続された画像表示装置である。２１０９はネットワーク回線であり、様々なデータのやり取りを行う。このようなシステム構成においても、第１から第３実施形態で述べたバッファリング制御を実行することで、各画像表示装置における表示応答性を向上することができる。
【０１４５】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【符号の説明】
【０１４６】
１０２  画像形成装置
３０２  画像データ格納部（格納部）
３０３  画像データバッファ部（バッファ部）
３０４  画像データ出力部（出力部）
３０６  バッファリング制御部（制御部）
３０８  アノテーション情報解析部（情報解析部）
３０９  バッファリング優先度設定部（優先度設定部）
【図１】
2015219598.tif 000005
【図２】
2015219598.tif 000006
【図３】
2015219598.tif 000007
【図４】
2015219598.tif 000008
【図５】
2015219598.tif 000009
【図６】
2015219598.tif 000010
【図７】
2015219598.tif 000011
【図８】
2015219598.tif 000012
【図９】
2015219598.tif 000013
【図１０】
2015219598.tif 000014
【図１１】
2015219598.tif 000015
【図１２】
2015219598.tif 000016
【図１３】
2015219598.tif 000017
【図１４】
2015219598.tif 000018
【図１５】
2015219598.tif 000019
【図１６】
2015219598.tif 000020
【図１７】
2015219598.tif 000021
【図１８】
2015219598.tif 000022
【図１９】
2015219598.tif 000023
【図２０】
2015219598.tif 000024
【図２１】
2015219598.tif 000025