(57)【特許請求の範囲】
【請求項１】
ネットワークを介して接続された端末装置に画面を表示させるための画像情報を生成して送信する画像処理装置であって、
前記端末装置に送信する前記画像情報を記憶可能な第１画像記憶部と、
前記画面に含まれる予め定められた大きさの矩形領域に対応して前記第１画像記憶部の記憶領域に設定されるページごとに、前記第１画像記憶部の仮想アドレスを物理アドレスに変換するためのエントリを有する変換テーブルを記憶するテーブル記憶部と、
前記矩形領域に含まれる画素に対する仮想アドレスを算出するアドレス算出部と、
前記変換テーブルを参照して、書込みが要求された前記画像情報の各画素に対して算出された前記仮想アドレスに対応する前記物理アドレスを取得する取得部と、
取得された前記物理アドレスに、書込みが要求された前記画像情報を書込む書込み部と、
前記取得部が前記物理アドレスを取得する際に参照した前記エントリに対応するページを、書込み前後で前記画像情報が一致しない部分を表す前記画像情報の更新部分を含むページとして検出する検出部と、
検出された前記ページに含まれる前記更新部分の前記画像情報を圧縮する圧縮部と、
を備えたことを特徴とする画像処理装置。
【請求項２】
前記ページ単位で前記画像情報を記憶可能な第２画像記憶部と、
書込みが要求された前記画像情報の前記仮想アドレスを含む前記ページに対して、前記ページの書込みが要求された場合に、ページ例外の割込みを発生する例外発生部と、
前記ページ例外が発生した前記ページに記憶された前記画像情報であって、前記書込み部によって書込む前の前記画像情報を前記第２画像記憶部に保存する保存部と、をさらに備え、
前記検出部は、さらに、前記画像情報が前記第２画像記憶部に保存された前記ページを、前記画像情報が更新された前記ページとして検出すること、
を特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記検出部は、更新された前記ページそれぞれについて、前記第２画像記憶部の前記画像情報と、前記書込み部によって書込まれた後の前記第１画像記憶部の前記画像情報とを比較して前記更新部分を検出すること、
を特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記テーブル記憶部は、前記ページごとに、前記ページに対する書込みの有無を表す第１判定情報をさらに記憶し、
書込みが要求された前記画像情報の前記仮想アドレスを含む前記ページの前記第１判定情報を書込み有りに変更する変更部をさらに備え、
前記検出部は、さらに、前記第１判定情報が書込み有りである前記ページを、前記画像情報が更新された前記ページとして検出すること、
を特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記書込み部によって書込む前の前記画像情報を記憶する第２画像記憶部と、
前記書込み部によって前記画像情報が書込まれた後に、書込み後の前記画像情報を前記第２画像記憶部に保存する保存部と、をさらに備え、
前記検出部は、更新された前記ページそれぞれについて、前記第２画像記憶部の前記画像情報と、前記書込み部によって書込まれた後の前記第１画像記憶部の前記画像情報とを比較して前記更新部分を検出すること、
を特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記テーブル記憶部は、予め定められた個数の前記ページのグループごとに、前記グループに含まれる前記ページに対する参照の有無を表す第２判定情報をさらに記憶し、
前記変更部は、さらに、書込みが要求された前記画像情報の前記仮想アドレスを含む前記ページを含む前記グループの前記第２判定情報を参照有りに変更し、
前記検出部は、前記第２判定情報が参照有りである前記グループを検出し、検出した前記グループに含まれる前記ページを対象として、前記第１判定情報が書込み有りである前記ページを、前記画像情報が更新された前記ページとして検出すること、
を特徴とする請求項４に記載の画像処理装置。
【請求項７】
前記テーブル記憶部は、前記画面を分割した分割領域に含まれる前記矩形領域それぞれに対応する前記ページの前記グループごとに、前記第２判定情報を記憶すること、
を特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記アドレス算出部は、前記矩形領域内の水平または垂直の方向である特定方向に隣接する各画素を含むラインに対し、前記ライン内の画素間で前記特定方向に連続し、かつ、隣接するライン間で連続する前記仮想アドレスを算出すること、
を特徴とする請求項１に記載の画像処理装置。
【請求項９】
前記アドレス算出部は、同一の前記画像情報に対して、書込みが要求された場合に第１仮想アドレスを算出し、読出しが要求された場合に第２仮想アドレスを算出し、
前記テーブル記憶部は、前記第１仮想アドレスおよび前記第２仮想アドレスをそれぞれ同一の前記物理アドレスに変換するための前記変換テーブルを記憶し、
前記ページ単位で前記画像情報を記憶可能な第２画像記憶部と、
前記第１仮想アドレスを含む前記ページに対して書込みが要求された場合に、ページ例外の割込みを発生する例外発生部と、
前記ページ例外が発生した前記ページに記憶された前記画像情報であって、前記書込み部によって書込む前の前記画像情報を前記第２画像記憶部に保存する保存部と、をさらに備え、
前記検出部は、さらに、前記画像情報が前記第２画像記憶部に保存された前記ページを、前記画像情報が更新された前記ページとして検出すること、
を特徴とする請求項１に記載の画像処理装置。
【請求項１０】
ネットワークを介して接続された端末装置に画面を表示させるための画像情報を生成して送信する画像処理装置における画像情報の更新検出方法であって、
前記画像処理装置は、
前記端末装置に送信する前記画像情報を記憶可能な第１画像記憶部と、
前記画面に含まれる予め定められた大きさの矩形領域に対応して前記第１画像記憶部の記憶領域に設定されるページごとに、前記第１画像記憶部の仮想アドレスを物理アドレスに変換するためのエントリを有する変換テーブルを記憶するテーブル記憶部と、を備え、
アドレス算出部が、前記矩形領域に含まれる画素に対する仮想アドレスを算出するアドレス算出ステップと、
取得部が、前記変換テーブルを参照して、書込みが要求された前記画像情報の各画素に対して算出された前記仮想アドレスに対応する前記物理アドレスを取得する取得ステップと、
書込み部が、取得された前記物理アドレスに、書込みが要求された前記画像情報を書込む書込みステップと、
検出部が、前記取得部が前記物理アドレスを取得する際に参照した前記エントリに対応するページを、書込み前後で前記画像情報が一致しない部分を表す前記画像情報の更新部分を含むページとして検出する検出ステップと、
を備えたことを特徴とする更新検出方法。
【請求項１１】
ネットワークを介して接続された端末装置に画面を表示させるための画像情報を生成して送信する画像処理装置における画像情報の更新検出プログラムであって、
前記画像処理装置は、
前記端末装置に送信する前記画像情報を記憶可能な第１画像記憶部と、
前記画面に含まれる予め定められた大きさの矩形領域に対応して前記第１画像記憶部の記憶領域に設定されるページごとに、前記第１画像記憶部の仮想アドレスを物理アドレスに変換するためのエントリを有する変換テーブルを記憶するテーブル記憶部と、を備え、
前記矩形領域に含まれる画素に対する仮想アドレスを算出するアドレス算出手順と、
前記変換テーブルを参照して、書込みが要求された前記画像情報の各画素に対して算出された前記仮想アドレスに対応する前記物理アドレスを取得する取得手順と、
取得された前記物理アドレスに、書込みが要求された前記画像情報を書込む書込み手順と、
前記取得手順で前記物理アドレスを取得する際に参照した前記エントリに対応するページを、書込み前後で前記画像情報が一致しない部分を表す前記画像情報の更新部分を含むページとして検出する検出手順と、
をコンピュータに実行させる更新検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワークを介して接続された端末装置に転送する画像情報を生成する装置、画像の更新を検出する方法およびプログラムに関するものである。
【背景技術】
【０００２】
一般に、ＰＣ（Personal Computer）などのように画像を表示する機能を有する計算機は、ディスプレイに表示するグラフィックデータ（画像情報）を保持するＶＲＡＭ（Video Random Access Memory）などのフレームバッファを備えている。フレームバッファはＸ−Ｙ座標に対応したメモリ領域であり、ラスタスキャン方式に従った順序でリニアに並んだアドレスを有する。ＬＣＤ（Liquid Crystal Display）コントローラやＣＲＴ（Cathode Ray Tube）コントローラは、ラスタスキャンに合わせてフレームバッファから画像情報を取得してモニタに表示する。
【０００３】
このように、従来の計算機のグラフィックデバイスのフレームバッファは、計算機に接続されたモニタに表示するときに有利となるように、画面表示のラスタ方向に線形に画面データを配置する構成となっている。
【０００４】
一方、仮想計算機サーバ上で動作しているアプリケーション等の表示画面を端末装置上に表示するシステムや、他の端末装置を遠隔操作するシステムなどが開発されている。このようなシステムでは、フレームバッファから取得した画像情報を外部装置に転送する必要がある。
【０００５】
例えば、特許文献１では、ローカル端末からリモート端末を遠隔操作するリモート操作システムに関する技術が提案されている。具体的には、特許文献１は、セキュリティ向上、省電力化を目的として、リモート操作中に操作対象となるリモート端末の画面を省電力モードとするとともに、操作元の端末側でのパスフレーズの入力でリモート端末のロック状態を解除する方法を開示している。
【０００６】
一般に、特許文献１を含む従来の技術では、デスクトップ画面の更新でフレームバッファに書き込まれるべきデータと遠隔操作用端末に転送されるべきデータを判断し、更新された部分の画像情報のみを転送する。このようにして、ハイスペックなグラフィック機能を有する計算機における通信負荷の増大に対処している。また、通信負荷を軽減するために転送時に画像圧縮を行う方法も知られている。
【０００７】
フレームバッファに記憶された画像情報の更新部分の検出方法としては、フレームバッファへ書き込みを行うソフトウェアが更新部分の座標情報を申告する方法が存在する。しかし、更新部分の座標情報を申告するようにソフトウェアの手続きを変更する必要があることや、申告のためのオーバヘッドが増大することなどの欠点がある。
【０００８】
また、仮想メモリ管理の機能を有するプロセッサの場合であれば、メモリ管理ユニット（ＭＭＵ：Memory Management Unit）を用いて、画像情報の更新部分を検出する方法も考えられる。ＭＭＵは、通常、仮想アドレスから物理アドレスを求めるための変換テーブルを備えている。そして、変換テーブルには、ページごとの書込み有無を判断するためのビット値（ｄｉｒｔｙ  ｂｉｔ）が設定される。そこで、ＭＭＵを用いる方法では、ｄｉｒｔｙ  ｂｉｔの値によって更新されたページを検出し、検出したページを対象として画像情報の更新部分を検出する。
【０００９】
【特許文献１】特開２００３−８５１３５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、変換テーブルのｄｉｒｔｙ  ｂｉｔを用いる方法では、更新部分の検出効率が悪化する場合があるという問題があった。例えば、１０２４×７６８ピクセルの画面で、１ピクセルあたりのデータ量が４バイトであり、かつ、１ページが４０９６バイトであるようなフレームバッファの構造の場合、ラスタ方向の１ラインが１ページに相当する。
【００１１】
このため、例えば矩形の図形を比較的多く扱うデスクトップアプリケーションなどで、矩形領域が更新された場合であれば、この矩形の高さに相当するラインと同数のページの更新が検出されることになる。そして、検出された更新ページそれぞれを用いて矩形の更新部分を検出する必要が生じる。すなわち、更新ページに占める更新部分の割合が小さくなるため、より多くの更新ページを対象として更新部分の検出処理を実行しなければならない。
【００１２】
本発明は、上記に鑑みてなされたものであって、仮想メモリ方式でフレームバッファを管理する場合の、画像の更新部分検出に関する処理の負荷を軽減することができる装置、画像の更新を検出する方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するために、本発明は、ネットワークを介して接続された端末装置に画面を表示させるための画像情報を生成して送信する画像処理装置であって、前記端末装置に送信する前記画像情報を記憶可能な第１画像記憶部と、前記画面に含まれる予め定められた大きさの矩形領域に対応して前記第１画像記憶部の記憶領域に設定されるページごとに、前記第１画像記憶部の仮想アドレスを物理アドレスに変換するためのエントリを有する変換テーブルを記憶するテーブル記憶部と、前記矩形領域に含まれる画素に対する仮想アドレスを算出するアドレス算出部と、前記変換テーブルを参照して、書込みが要求された前記画像情報の各画素に対して算出された前記仮想アドレスに対応する前記物理アドレスを取得する取得部と、取得された前記物理アドレスに、書込みが要求された前記画像情報を書込む書込み部と、前記取得部が前記物理アドレスを取得する際に参照した前記エントリに対応するページを、書込み前後で前記画像情報が一致しない部分を表す前記画像情報の更新部分を含むページとして検出する検出部と、検出された前記ページに含まれる前記更新部分の前記画像情報を圧縮する圧縮部と、を備えたことを特徴とする。
【００１４】
また、本発明は、ネットワークを介して接続された端末装置に画面を表示させるための画像情報を生成して送信する画像処理装置における画像情報の更新検出方法であって、前記画像処理装置は、前記端末装置に送信する前記画像情報を記憶可能な第１画像記憶部と、前記画面に含まれる予め定められた大きさの矩形領域に対応して前記第１画像記憶部の記憶領域に設定されるページごとに、前記第１画像記憶部の仮想アドレスを物理アドレスに変換するためのエントリを有する変換テーブルを記憶するテーブル記憶部と、を備え、アドレス算出部が、前記矩形領域に含まれる画素に対する仮想アドレスを算出するアドレス算出ステップと、取得部が、前記変換テーブルを参照して、書込みが要求された前記画像情報の各画素に対して算出された前記仮想アドレスに対応する前記物理アドレスを取得する取得ステップと、書込み部が、取得された前記物理アドレスに、書込みが要求された前記画像情報を書込む書込みステップと、検出部が、前記取得部が前記物理アドレスを取得する際に参照した前記エントリに対応するページを、書込み前後で前記画像情報が一致しない部分を表す前記画像情報の更新部分を含むページとして検出する検出ステップと、を備えたことを特徴とする。
【００１５】
また、本発明は、ネットワークを介して接続された端末装置に画面を表示させるための画像情報を生成して送信する画像処理装置における画像情報の更新検出プログラムであって、前記画像処理装置は、前記端末装置に送信する前記画像情報を記憶可能な第１画像記憶部と、前記画面に含まれる予め定められた大きさの矩形領域に対応して前記第１画像記憶部の記憶領域に設定されるページごとに、前記第１画像記憶部の仮想アドレスを物理アドレスに変換するためのエントリを有する変換テーブルを記憶するテーブル記憶部と、を備え、前記矩形領域に含まれる画素に対する仮想アドレスを算出するアドレス算出手順と、前記変換テーブルを参照して、書込みが要求された前記画像情報の各画素に対して算出された前記仮想アドレスに対応する前記物理アドレスを取得する取得手順と、取得された前記物理アドレスに、書込みが要求された前記画像情報を書込む書込み手順と、前記取得手順で前記物理アドレスを取得する際に参照した前記エントリに対応するページを、書込み前後で前記画像情報が一致しない部分を表す前記画像情報の更新部分を含むページとして検出する検出手順と、をコンピュータに実行させる更新検出プログラムである。
【発明の効果】
【００１６】
本発明によれば、仮想メモリ方式でフレームバッファを管理する場合の、画像の更新部分検出に関する処理の負荷を軽減することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１７】
以下に添付図面を参照して、この発明にかかる画像処理する装置、画像の更新を検出する方法およびプログラムの最良な実施の形態を詳細に説明する。
【００１８】
（第１の実施の形態）
第１の実施の形態にかかる画像処理装置は、画面の矩形領域が１ページに対応するようにフレームバッファのアドレスを構成するとともに、仮想メモリ方式でページ更新時にページ例外が発生することを利用して更新ページを検出し、画像情報の更新部分を効率的に検出するものである。
【００１９】
以下では、端末装置に対して各種処理を提供するために仮想的な計算機環境を作成し、当該計算機環境で実行された処理の結果を表示するための画像情報を端末装置に提供する仮想計算機サーバとして画像処理装置を実現した例について説明する。なお、適用可能な装置はこのような仮想計算機サーバに限られるものではなく、フレームバッファに格納した画面の画像情報から更新部分を検出する装置であればあらゆる装置に適用できる。
【００２０】
図１は、第１の実施の形態にかかる画像処理装置１００を含むネットワーク構成の概要を示すブロック図である。同図に示すように、画像処理装置１００は、インターネットやＬＡＮ（Local  Area  Network）などのネットワーク３００を介して、ユーザが操作を行う端末装置２００と接続されている。
【００２１】
端末装置２００は、画像処理装置１００から転送された画像情報を自装置内のディスプレイなどの表示装置に表示する機能を有する。また、端末装置２００は、画像処理装置１００から転送された画面の更新部分のみの画像情報を受信し、受信した画像情報によって更新部分のみを表示する機能を有することを前提とする。
【００２２】
画像処理装置１００は、画像処理装置１００を動作させる基盤となるホストＯＳ１１０と、アプリケーション１２０と、ゲストＯＳ１３０と、仮想表示部１４０と、バックエンド仮想表示部１５０とを備えている。
【００２３】
ゲストＯＳ１３０は、端末装置２００に対応する仮想的な計算機環境を動作させるＯＳであり、ホストＯＳ１１０上で動作する。アプリケーション１２０は、ゲストＯＳ１３０上で動作する各種処理を提供するプログラムである。
【００２４】
仮想表示部１４０は、ゲストＯＳ１３０が生成する画像情報を出力するための仮想的な表示装置であり、後述するように画像情報を記憶するフレームバッファ１４２を含んでいる。バックエンド仮想表示部１５０は、画像表示に関する共通処理を実行するものであり、ホストＯＳ１１０上で動作する。
【００２５】
次に、画像処理装置１００の各構成部の詳細な機能について説明する。図２は、第１の実施の形態にかかる画像処理装置１００の構成を示すブロック図である。
【００２６】
ゲストＯＳ１３０は、画像表示に関する機能として、グラフィックライブラリ１３１を備えている。なお、ゲストＯＳ１３０は、画像表示に関する機能以外にも、仮想的な計算機環境を動作するために必要なあらゆる機能を備えている。
【００２７】
グラフィックライブラリ１３１は、レンダラ１３２と、アドレス算出部１３３とを備えている。
【００２８】
レンダラ１３２は、アプリケーション１２０などから指定された描画命令に従い、各種画像処理を行ってその結果である画像情報を出力するものである。例えば、レンダラ１３２は、ある領域を拡大・縮小する描画命令を受けた場合、描画命令に含まれる座標情報などから拡大・縮小する領域を特定し、当該領域に対して拡大・縮小を行った結果である領域の座標情報などを含む画像情報を出力する。なお、座標情報とは、例えば、１０２４×７６８ピクセルの画面の場合、画面左上を（０、０）、画面右下を（１０２３、７６７）とするような座標系で表された情報をいう。このように、第１の実施の形態では、画面右方向をＸ座標方向、画面下方向をＹ座標方向としたＸ−Ｙ座標によって画面上の画素の座標情報を表す。
【００２９】
アドレス算出部１３３は、レンダラ１３２が出力した画像情報を入力し、画像情報の座標情報をフレームバッファ１４２（後述）のアドレスに変換する処理を行うものである。第１の実施の形態では、アドレス算出部１３３は、端末装置２００に表示する表示画面を３２×３２画素の矩形領域に分割し、分割した矩形領域内の各画素に、１ページ（４０９６バイト）の仮想アドレスが対応するように、フレームバッファ１４２の仮想アドレスを算出する。
【００３０】
具体的には、アドレス算出部１３３は、従来の算出式である以下の（１）式に代わり、以下の（２）式に従って、座標情報（Ｘ、Ｙ）をフレームバッファ１４２のアドレスａｄｄｒに変換する。なお、ＯＦＦＳＥＴとは、画像情報の格納を開始する開始アドレスまでのオフセットの値を表す。
ａｄｄｒ＝ＯＦＦＳＥＴ＋（Ｘ＜＜２）＋（Ｙ＜＜１２）・・・（１）
ａｄｄｒ＝ＯＦＦＳＥＴ＋（（Ｘ＆~０ｘ１ｆ）＜＜１０）×３＋（（Ｘ＆０ｘ１ｆ）＜＜２）＋（Ｙ＜＜７）・・・（２）
【００３１】
また、ディスプレイモードや、アドレス算出部１３３の演算能力により、実際の算出式の最適化の方式は異なる。
【００３２】
仮想表示部１４０は、メモリ管理部１４１と、フレームバッファ１４２とを備えている。メモリ管理部１４１は、仮想メモリ方式でフレームバッファ１４２に対するアクセスを管理するものであり、テーブル記憶部１４１ａと、取得部１４１ｂと、変更部１４１ｃと、書込み部１４１ｄと、例外発生部１４１ｅと、を備えている。
【００３３】
テーブル記憶部１４１ａは、仮想アドレスを物理アドレスに変換するための変換テーブルを記憶するものである。ここで、変換テーブルの構造の詳細と、メモリ管理部１４１による変換テーブルを用いたアドレス変換の流れについて図３を用いて説明する。図３は、メモリ管理部１４１による仮想アドレスから物理アドレスへの変換の流れを示す説明図である。
【００３４】
仮想メモリ方式の場合、ソフトウェアは仮想アドレスによって、仮想アドレス空間上の論理的にリニアなメモリ空間をアクセスする。本実施の形態では、３２ビット長の仮想アドレスを用いる。また、３２ビット長の仮想アドレスは、１０ビット、１０ビット、１２ビットで区切られ、各ビットはそれぞれ以下のような意味を有する。
【００３５】
仮想アドレスの上位１０ビットは、２段階の階層構造で表された変換テーブルの上位のテーブルであるＰａｇｅＤｉｒｅｃｔｏｒｙ（以下、ｐｄという）内のエントリを特定するために利用される。特定したエントリには、下位のテーブルである複数のＰａｇｅＴａｂｌｅのうちいずれかを特定するためのポインタが含まれる。図３では、ｐｔ２で表されるＰａｇｅＴａｂｌｅが特定された例が示されている。
【００３６】
仮想アドレスの中位１０ビットは、このポインタにより特定されるＰａｇｅＴａｂｌｅ内のエントリを特定するために利用される。特定したエントリには、物理アドレス空間上のページブロック（以下、単にページという）を特定するためのポインタが含まれる。なお、ページとは、仮想アドレスにマッピングできる物理メモリの最小単位をいい、連続する物理メモリがページに割り当てられる。
【００３７】
仮想アドレスの下位１２ビットは、このポインタにより特定されるページ内のオフセットを表す。このようにして、３２ビット長の仮想アドレスから物理アドレスへ変換することができる。
【００３８】
以下に、ＰａｇｅＤｉｒｅｃｔｏｒｙおよびＰａｇｅＴａｂｌｅのエントリの詳細について説明する。
【００３９】
ＰａｇｅＤｉｒｅｃｔｏｒｙのエントリは、ＰａｇｅＴａｂｌｅへのポインタと、同エントリの有効／無効を示すＥｎａｂｌｅビットと、仮想アドレスから物理アドレスへの変換過程で同エントリを参照した場合に１が設定されるＡｃｃｅｓｓｅｄビットとを含む。
【００４０】
ＰａｇｅＴａｂｌｅのエントリは、物理メモリのページへのポインタと、同エントリの有効／無効を示すＥｎａｂｌｅビットと、同ページへの書き込みの可／不可を示すＷｒｉｔａｂｌｅビットと、同ページへのデータ書き込みが行なわれた場合に１が設定されるＤｉｒｔｙビットと、仮想アドレスから物理アドレスへの変換過程で同エントリを参照した場合に１が設定されるＡｃｃｅｓｓｅｄビットとを含む。
【００４１】
なお、プロセッサの種類によりビットの名称が異なる場合や、正論理か負論理かで異なる場合があるが、通常は上記のような情報を含むエントリが存在する。
【００４２】
図２に戻り、取得部１４１ｂは、このように構成された変換テーブルを用いて、フレームバッファ１４２への書込みが要求された画像情報の仮想アドレスに対応する物理アドレスを取得するものである。
【００４３】
変更部１４１ｃは、フレームバッファ１４２へのアクセス要求に応じて、変換テーブルの各エントリの情報を変更するものである。例えば、変更部１４１ｃは、書込みが要求された画像情報の仮想アドレスを含むページに対するＰａｇｅＴａｂｌｅのＡｃｃｅｓｓｅｄビットおよびＤｉｒｔｙビットを１に変更する。同時に、変更部１４１ｃは、ＰａｇｅＤｉｒｅｃｔｏｒｙのＡｃｃｅｓｓｅｄビットを１に変更する。
【００４４】
書込み部１４１ｄは、取得部１４１ｂにより取得された物理アドレスに、書込みが要求された画像情報を書込むものである。
【００４５】
例外発生部１４１ｅは、書込みが要求されたページに対するページ例外を発生するものである。具体的には、例外発生部１４１ｅは、Ｗｒｉｔａｂｌｅビットが不可であるページに対して書込みが要求された場合にページ例外を発生する。なお、Ｗｒｉｔａｂｌｅビットは、予めすべて不可に設定しておく。これにより、書込みが要求された場合に必ずページ例外を発生させることができる。
【００４６】
また、例外発生部１４１ｅは、一般的な仮想メモリ方式で扱われるその他の例外も発生させる。例えば、仮想アドレス空間に対するアクセスが要求され、取得部１４１ｂによって変換テーブルが検索されたとき、例外発生部１４１ｅは、検索されたＰａｇｅＤｉｒｅｃｔｏｒｙのエントリ、または、ＰａｇｅＴａｂｌｅのエントリのＥｎａｂｌｅビットが無効である場合に、プロセッサ（図示せず）に対してページ例外を発生する。
【００４７】
なお、ページ例外が発生した場合、プロセッサは、いずれの仮想アドレスに対してアクセスされたかを検出することができる。また、ページ例外発生時、プロセッサはページのマッピングなどの必要に応じた処理を行う。また、プロセッサは必要に応じて変換テーブルの更新を行って例外から復帰する。
【００４８】
フレームバッファ１４２は、端末装置２００に表示する画面の１画面分の画像情報を記憶する記憶部である。フレームバッファ１４２には、取得部１４１ｂによって取得された物理アドレスに従って画像情報が保存される。
【００４９】
ここで、フレームバッファ１４２のアドレス配置の詳細について説明する。まず、従来の計算機で一般に用いられているフレームバッファのアドレス配置について図４〜図６を用いて説明する。図４は、従来の計算機で用いられているフレームバッファのアドレス配置の一例を示す説明図である。
【００５０】
同図は、１０２４×７６８ピクセルの画面で１ピクセルあたりのデータ量を４バイトであるとした場合のアドレス配置例を示している。同図に示すように、従来のフレームバッファは、画面の左上を基点として水平方向に連続したアドレス配置となっている。
【００５１】
図５は、従来のフレームバッファのアドレスの順序を示した模式図である。図５に示すように、従来のフレームバッファでは、モニタなどの表示部へ出力することを考慮し、ラスタスキャン方向に線形にアドレスが配置されている。
【００５２】
図６は、従来のフレームバッファにおける画面の領域とページとの対応を示した模式図である。１ページが４０９６バイトとすると、１ラスタのデータ量である４０９６バイト（＝１０２４×４バイト）と一致するため、１ラスタが１ページに対応する。このため、７６８個のページが上下方向に並べられて１画面が構成される。
【００５３】
次に、第１の実施の形態における画像処理装置１００で用いるフレームバッファ１４２のアドレス配置について図７を用いて説明する。図７は、第１の実施の形態における画像処理装置１００で用いるフレームバッファ１４２のアドレス配置の一例を示す説明図である。
【００５４】
同図の上部に示すように、第１の実施の形態では、３２×３２ピクセルの矩形領域内でアドレスが線形に配置される。そして、同図の下部に示すように、この矩形領域を３２×２４個敷き詰めることにより、１画面が構成される。
【００５５】
なお、矩形領域は３２×３２ピクセルに限られず、矩形領域それぞれが各ページのアドレスと対応づけられるものであればどのようなものでもよい。また、矩形領域内のアドレス配置は、Ｘ座標方向に連続に配置する方法に限られない。例えば、Ｙ座標方向に連続したアドレスを付与し、所定の画素数に達した場合に隣接する列の画素についてさらにＹ座標方向に連続したアドレスを付与するような順序でアドレスを配置するように構成してもよい。
【００５６】
図２に戻り、バックエンド仮想表示部１５０は、バックアップ記憶部１５１と、保存部１５２と、検出部１５３と、圧縮部１５４と、転送部１５５とを備えている。
【００５７】
バックアップ記憶部１５１は、更新されたページそれぞれについて画像情報のバックアップデータを記憶可能な記憶部である。
【００５８】
保存部１５２は、例外発生部１４１ｅによりＷｒｉｔａｂｌｅビットが不可であるページに書込みが要求されたことによるページ例外が発生したときに、当該ページ例外が発生したページの画像情報をバックアップ記憶部１５１に保存するものである。
【００５９】
検出部１５３は、メモリ管理部１４１が管理するページ単位で、画像情報の更新部分を検出するものである。具体的には、検出部１５３は、まず、画像情報がバックアップされているページを、画像情報が更新されたページとして検出する。そして、検出部１５３は、更新されたページそれぞれについて、バックアップ記憶部１５１の画像情報と、書込み部１４１ｄによってフレームバッファ１４２に書込まれた後の最新の画像情報とを比較し、相違点を含む矩形を更新部分として検出する。
【００６０】
圧縮部１５４は、検出部１５３により検出された更新部分に対してＪＰＥＧ方式などによる画像圧縮処理を行うものである。なお、圧縮部１５４による圧縮方法は、ＪＰＥＧ方式に限られるものではない。
【００６１】
転送部１５５は、圧縮部１５４が圧縮した画像情報（圧縮画像情報）を端末装置２００に転送するものである。
【００６２】
なお、フレームバッファ１４２およびバックアップ記憶部１５１は、ＲＡＭ（Random Access Memory）、ＨＤＤ（Hard Disk Drive）、光ディスク、メモリカードなどの一般的に利用されているあらゆる記憶媒体により構成することができる。また、バックアップ記憶部１５１をバックエンド仮想表示部１５０以外の、例えば、仮想表示部１４０内に備えるように構成してもよい。
【００６３】
次に、このように構成された第１の実施の形態にかかる画像処理装置１００による画像処理について説明する。画像処理は、画像情報をフレームバッファ１４２およびバックアップ記憶部１５１に書込む画像書込み処理と、バックアップした画像情報と最新の画像情報とを比較して画像情報の更新部分を検出する更新部分検出処理に分けられる。
【００６４】
最初に、画像書込み処理および更新部分検出処理の概要について図８を用いて説明する。図８は、第１の実施の形態における画像書込み処理および更新部分検出処理の概要を示す説明図である。
【００６５】
画像書込み処理では、まず、予めフレームバッファ１４２のメモリ領域に関するすべてのＰａｇｅＴａｂｌｅのＷｒｉｔａｂｌｅビットを不可に設定する。これにより、以後、グラフィックライブラリ１３１がフレームバッファ１４２のいずれかの領域に書き込みを行うと、該当するページに関するページ例外が発生する。
【００６６】
この状態から、アプリケーション１２０が画面表示のためにグラフィックライブラリ１３１を介してフレームバッファ１４２に対する描画命令を送る（１）。メモリ管理部１４１は、変換テーブルを参照して、グラフィックライブラリ１３１からの描画命令で指定された仮想アドレスを物理アドレスに変換する（２）。
【００６７】
ＰａｇｅＴａｂｌｅのＷｒｉｔａｂｌｅビットが予め不可に設定されていたため、変換テーブルが参照されると、例外発生部１４１ｅがページ例外を発生する（３）。発生したページ例外により、保存部１５２は、グラフィックライブラリ１３１が更新を要求したフレームバッファ１４２の該当ページを検知し、当該ページの内容のバックアップを残す（４）。
【００６８】
一方、変更部１４１ｃは、当該ページのＰａｇｅＴａｂｌｅのＷｒｉｔａｂｌｅビットを可に変更する（５）。この後、グラフィックライブラリ１３１による画像書き込みが続行される。以後、当該ページに対する画像書き込みについては、さらにページ例外を発生することなく書込みが行なわれる。別ページに対する画像書き込みについては、ページ例外が発生し（３）、当該ページの内容のバックアップ（４）、ＰａｇｅＴａｂｌｅのＷｒｉｔａｂｌｅビットの変更（５）が順次実行される。
【００６９】
このように、画面上の矩形領域に適合したページを構成し、画像の書き込みが要求されたページのみに対して、当該ページへの最初の書き込み時にのみページ例外を発生し、画像書き込みが発生する前の画像情報のバックアップを残すことが可能となる。すなわち、必要最小限のページのみを対象として、無駄のない効率的な処理が実行できる。
【００７０】
次に、検出部１５３は、例えばタイマからの定期的の割り込みにより、画像情報の更新部分検出処理を実行する。更新部分検出処理とは、バックアップを残したページについて、バックアップした画像情報と現状のページの画像情報とを比較して、そのページ内で差分が存在する矩形を切り出す処理である。タイマは、例えば、端末装置２００の画面更新を１秒間に６０回行う場合であれば、１／６０秒間隔で割り込みを発生するように設定する。
【００７１】
まず、検出部１５３は、タイマからのトリガにより更新部分検出処理を開始する（６）。次に、検出部１５３は、上記（４）でバックアップが保存されているページを更新ページとして検出する（７）。次に、検出部１５３は、バックアップした画像情報と、フレームバッファ１４２に書込まれた最新の画像情報とを比較し、更新部分の矩形を検出する（８）。なお、同図に示すように、検出部１５３は、複数の隣接するページから、更新された領域を含む最小の矩形領域を更新部分として検出することができる。
【００７２】
検出した更新部分の画像情報は、圧縮部１５４により圧縮される。また、圧縮後の圧縮画像情報は転送部１５５によって端末装置２００に送信される（９）。
【００７３】
なお、同図では省略しているが、端末装置２００に更新部分の圧縮画像情報を転送後、バックアップ記憶部１５１にバックアップされた画像情報はすべて破棄される。また、フレームバッファ１４２のメモリ領域に関するすべてのＰａｇｅＴａｂｌｅのＷｒｉｔａｂｌｅビットは不可に変更される。また、同図では、ページ例外（３）、バックアップ（４）、およびＷｒｉｔａｂｌｅビットの変更（５）は、４ページ分を一括して表現しているが、実際には、グラフィックライブラリ１３１からの書き込みを契機にそれぞれ４回実行される。
【００７４】
このように、画面上の矩形領域に適合したページを構成することにより、ページごとに発生可能なページ例外を利用してページ単位で更新部分を検出することが可能となる。
【００７５】
次に、画像書込み処理および更新部分検出処理の詳細な流れについて図９および図１０を用いて説明する。図９は、第１の実施の形態における画像書込み処理の全体の流れを示すフローチャートである。
【００７６】
まず、アプリケーション１２０が、実行した処理に関連する画面情報の更新などが発生した場合に、表示画面の描画を要求する描画命令を出力する（ステップＳ９０１）。次に、レンダラ１３２が、描画命令に応じて画像処理を行い、その結果である画像情報を生成する（ステップＳ９０２）。画像情報には、更新する領域に対応する開始座標と終了座標の情報が含まれる。
【００７７】
次に、アドレス算出部１３３が、画面の矩形領域とページとが対応するように構成されたアドレッシングのフレームバッファ１４２に合わせて、更新する画素の座標情報をアドレス変換して仮想アドレスを算出する（ステップＳ９０３）。具体的には、アドレス算出部１３３は、上述の（２）式によって仮想アドレスを算出する。
【００７８】
次に、グラフィックライブラリ１３１は、算出された仮想アドレスを指定して、フレームバッファ１４２に対する画像情報の書き込みを要求する（ステップＳ９０４）。
【００７９】
次に、取得部１４１ｂが、テーブル記憶部１４１ａに記憶された変換テーブルを参照して、指定された仮想アドレスに対応する物理アドレスを取得する（ステップＳ９０５）。変換テーブルが参照されたとき、例外発生部１４１ｅは、書込みが要求されたページについてページ例外を発生する（ステップＳ９０６）。
【００８０】
ページ例外を検出した保存部１５２は、ページ例外が発生したページに対応する画像情報をバックアップ記憶部１５１に保存する（ステップＳ９０７）。
【００８１】
一方、書込み部１４１ｄは、ステップＳ９０５で取得部１４１ｂが取得した物理アドレスに対して、要求された画像情報を書込み（ステップＳ９０８）、画像書込み処理を終了する。
【００８２】
次に、更新部分検出処理の詳細な流れについて説明する。図１０は、第１の実施の形態における更新部分検出処理の全体の流れを示すフローチャートである。更新部分検出処理は、上述のようにタイマからの割り込み等により開始される。
【００８３】
まず、検出部１５３は、バックアップ記憶部１５１にバックアップが保存されているページ（更新ページ）を検出する（ステップＳ１００１）。次に、検出部１５３は、検出した更新ページに対して、図９のステップＳ９０８で書込まれた最新の画像情報とバックアップ記憶部１５１に保存した画像情報とを比較し、相違箇所を更新部分として検出する（ステップＳ１００２）。
【００８４】
次に、圧縮部１５４が、検出部１５３により検出された更新部分を圧縮する（ステップＳ１００３）。そして、転送部１５５が、圧縮した画像情報をパケット化し、端末装置２００に転送して（ステップＳ１００４）、更新部分検出処理を終了する。
【００８５】
このように、第１の実施の形態にかかる画像処理装置では、画面の矩形領域が１ページに対応するようにフレームバッファのアドレスを構成し、仮想メモリ方式でページ更新時に発生するページ例外によって更新ページを検出することができる。これにより、画像情報の更新部分を効率的に検出し、仮想メモリ方式でフレームバッファを管理する場合の、画像の更新部分検出に関する処理の負荷を軽減することができる。
【００８６】
（第２の実施の形態）
第１の実施の形態では、ページ例外を利用して更新ページを検出していた。これに対し、第２の実施の形態にかかる画像処理装置は、ページ更新時に変更される変換テーブルのビット値を参照することにより更新ページを検出するものである。
【００８７】
図１１は、第２の実施の形態にかかる画像処理装置１１００の構成を示すブロック図である。図１１に示すように、画像処理装置１１００は、ホストＯＳ１１０と、アプリケーション１２０と、ゲストＯＳ１３０と、仮想表示部１１４０と、バックエンド仮想表示部１１５０とを備えている。
【００８８】
第２の実施の形態では、仮想表示部１１４０およびバックエンド仮想表示部１１５０の機能が第１の実施の形態と異なっている。その他の構成および機能は、第１の実施の形態にかかる画像処理装置１００の構成を表すブロック図である図２と同様であるので、同一符号を付し、ここでの説明は省略する。
【００８９】
仮想表示部１１４０は、メモリ管理部１１４１と、フレームバッファ１４２と、を備えている。フレームバッファ１４２の構成は、第１の実施の形態と同様であるので、同一符号を付し、ここでの説明は省略する。
【００９０】
メモリ管理部１１４１は、テーブル記憶部１４１ａと、取得部１４１ｂと、変更部１４１ｃと、書込み部１４１ｄと、例外発生部１１４１ｅと、を備えている。例外発生部１１４１ｅ以外の構成および機能は、第１の実施の形態にかかる画像処理装置１００の構成を表すブロック図である図２と同様であるので、同一符号を付し、ここでの説明は省略する。
【００９１】
例外発生部１１４１ｅは、書込みが要求されたページに対するページ例外を発生する機能が削除された点が、第１の実施の形態の例外発生部１４１ｅと異なっている。
【００９２】
バックエンド仮想表示部１１５０は、バックアップ記憶部１１５１と、保存部１１５２と、検出部１１５３と、圧縮部１５４と、転送部１５５とを備えている。
【００９３】
第２の実施の形態では、バックアップ記憶部１１５１への保存方式と、保存部１１５２および検出部１１５３の機能とが第１の実施の形態と異なっている。その他の構成および機能は、第１の実施の形態にかかる画像処理装置１００の構成を表すブロック図である図２と同様であるので、同一符号を付し、ここでの説明は省略する。
【００９４】
第１の実施の形態では、ページごとに画像情報のバックアップデータを記憶していたが、第２の実施の形態のバックアップ記憶部１１５１は、フレームバッファ１４２全体の画像情報のバックアップを記憶するものである。
【００９５】
保存部１１５２は、画像処理装置１１００の初期状態で、または更新部分の転送が完了した後に、フレームバッファ１４２全体の画像情報をバックアップ記憶部１１５１に記憶するものである。
【００９６】
検出部１１５３は、ＰａｇｅＤｉｒｅｃｔｏｒｙのＡｃｃｅｓｓｅｄビット、ＰａｇｅＴａｂｌｅのＡｃｃｅｓｓｅｄビット、およびＰａｇｅＴａｂｌｅのＤｉｒｔｙビットを参照することにより、更新ページを検出する点が、第１の実施の形態の検出部１５３と異なっている。
【００９７】
次に、このように構成された第２の実施の形態にかかる画像処理装置１１００による画像処理について説明する。最初に、画像書込み処理および更新部分検出処理の概要について図１２を用いて説明する。図１２は、第２の実施の形態における画像書込み処理および更新部分検出処理の概要を示す説明図である。
【００９８】
画像書込み処理では、まず、予めフレームバッファ１４２の全体のバックアップをバックアップ記憶部１１５１に保存する。フレームバッファ１４２のピクセルの値によって初期状態か否かを判断できる場合は、この時点でのバックアップの保持を省略するように構成してもよい。例えば、初期状態ですべてのピクセルが黒の場合であれば、ピクセルがすべて黒の場合はバックアップが存在しない初期状態であることを判断できるため、バックアップの保持を省略できる。
【００９９】
この状態から、アプリケーション１２０が画面表示のためにグラフィックライブラリ１３１を介してフレームバッファ１４２に対する描画命令を送る（１）。メモリ管理部１１４１は、変換テーブルを参照して、グラフィックライブラリ１３１からの描画命令で指定された仮想アドレスを物理アドレスに変換する。
【０１００】
メモリ管理部１１４１による変換テーブルの参照に伴い、変更部１４１ｃは、当該仮想アドレスの上位１０ビットに対応するＰａｇｅＤｉｒｅｃｔｏｒｙのエントリのＡｃｃｅｓｓｅｄビットを１に変更する。さらに、変更部１４１ｃは、そのエントリが示すＰａｇｅＴａｂｌｅに関して当該仮想アドレスの中位１０ビットに対応するエントリのＡｃｃｅｓｓｅｄビットとＤｉｒｔｙビットを１に変更する（２）。この後、グラフィックライブラリ１３１による画像書き込みが続行される。
【０１０１】
次に、検出部１１５３は、例えばタイマからの定期的の割り込みにより、画像情報の更新部分検出処理を実行する。まず、検出部１１５３は、タイマからのトリガにより更新部分検出処理を開始する（３）。検出部１１５３は、まず、変換テーブルのＡｃｃｅｓｓｅｄビットおよびＤｉｒｔｙビットを参照し、各ビットが１に設定されているページを検索する（４）。することにより更新ページを検出する（５）。すなわち、検出部１１５３は、まず、ＰａｇｅＤｉｒｅｃｔｏｒｙのフレームバッファ１４２に関係するエントリをサーチして、Ａｃｃｅｓｓｅｄビットが１であるＰａｇｅＴａｂｌｅを洗い出す。そして、検出部１１５３は、そのＰａｇｅＴａｂｌｅのフレームバッファ１４２に関係するエントリをサーチして、Ｄｉｒｔｙビットが１であるページを求めることで、画像更新が行なわれたページを検出する。
【０１０２】
次に、検出部１１５３は、検出した更新ページに対して、バックアップした画像情報と、フレームバッファ１４２に書込まれた最新の画像情報とを比較し、更新部分の矩形を検出する（６）。
【０１０３】
検出した更新部分の画像情報は、圧縮部１５４により圧縮される。また、圧縮後の圧縮画像情報は転送部１５５によって端末装置２００に送信される（７）。
【０１０４】
なお、同図では省略しているが、端末装置２００に更新部分の圧縮画像情報を転送後、当該ページの画像情報のバックアップが現在の内容で更新される。また、変換テーブルのＡｃｃｅｓｓｅｄビットとＤｉｒｔｙビットが１に変更される。
【０１０５】
次に、画像書込み処理および更新部分検出処理の詳細な流れについて図１３および図１４を用いて説明する。図１３は、第２の実施の形態における画像書込み処理の全体の流れを示すフローチャートである。
【０１０６】
ステップＳ１３０１からステップＳ１３０５までの、描画命令処理、アドレス算出処理、および物理アドレス取得処理は、第１の実施の形態にかかる画像処理装置１００におけるステップＳ９０１からステップＳ９０５までと同様の処理なので、その説明を省略する。
【０１０７】
取得部１４１ｂにより物理アドレスが取得された後、変更部１４１ｃは、変換テーブルのＡｃｃｅｓｓｅｄビットおよびＤｉｒｔｙビットを１に変更する（ステップＳ１３０６）。なお、第１の実施の形態の画像書込み処理を表す図９では、ＡｃｃｅｓｓｅｄビットおよびＤｉｒｔｙビットの変更処理は記載を省略したが、実際にはステップＳ１３０６と同様の変更処理が実行される。
【０１０８】
次に、書込み部１４１ｄは、ステップＳ１３０５で取得部１４１ｂが取得した物理アドレスに対して、要求された画像情報を書込み（ステップＳ１３０７）、画像書込み処理を終了する。
【０１０９】
このように、第２の実施の形態の画像書込み処理では、ページ例外を発生させ、ページ例外が発生したページのバックアップを保存する処理が削除された点が、第１の実施の形態と異なっている。
【０１１０】
次に、更新部分検出処理の詳細な流れについて説明する。図１４は、第２の実施の形態における更新部分検出処理の全体の流れを示すフローチャートである。
【０１１１】
まず、検出部１１５３は、ＡｃｃｅｓｓｅｄビットおよびＤｉｒｔｙビットが１であるページ（更新ページ）を検出する（ステップＳ１４０１）。次に、検出部１１５３は、検出した更新ページに対応する画像情報をバックアップ記憶部１１５１から取得し、取得した画像情報と、最新の画像情報とを比較し、相違箇所を更新部分として検出する（ステップＳ１４０２）。
【０１１２】
ステップＳ１４０３からステップＳ１４０４までの、画像圧縮処理および画像転送処理は、第１の実施の形態にかかる画像処理装置１００におけるステップＳ１００３からステップＳ１００４までと同様の処理なので、その説明を省略する。
【０１１３】
圧縮画像情報を転送した後、保存部１１５２は、フレームバッファ１４２に書込んだ最新の画像情報のバックアップを、バックアップ記憶部１１５１に保存し（ステップＳ１４０５）、更新部分検出処理を終了する。
【０１１４】
このように、第２の実施の形態にかかる画像処理装置では、画面の矩形領域が１ページに対応するようにフレームバッファのアドレスを構成し、ページ更新時に変更される変換テーブルのビット値を参照することにより更新ページを検出することができる。これにより、画像情報の更新部分を効率的に検出し、仮想メモリ方式でフレームバッファを管理する場合の、画像の更新部分検出に関する処理の負荷を軽減することができる。
【０１１５】
（変形例）
図７のような構造のフレームバッファ１４２は、３２×２４ページ分、すなわち、仮想アドレス上の３Ｍバイト（＝３２×２４×４０９６バイト）の連続領域となることが前提であった。
【０１１６】
一方、図３に示すように１０ビット、１０ビット、１２ビットで区切られる仮想アドレスの場合、ＰａｇｅＤｉｒｅｃｔｏｒｙは１０２４エントリ（１０ビットに相当）を有する。同様に、ＰａｇｅＴａｂｌｅも１０２４エントリを有する。１ページが４０９６バイトで構成されているため、ＰａｇｅＤｉｒｅｃｔｏｒｙの各々のエントリは、４Ｍバイト（＝４０９６×１０２４）の領域を管理していることになる。
【０１１７】
従って、３Ｍバイトの連続領域であるフレームバッファ１４２は、ＰａｇｅＤｉｒｅｃｔｏｒｙのエントリの境界を跨ぐ形で仮想アドレス空間上に配置しない限り、多くの場合、ＰａｇｅＤｉｒｅｃｔｏｒｙの１エントリで管理される。また、当該１エントリのＰａｇｅＤｉｒｅｃｔｏｒｙが示すＰａｇｅＴａｂｌｅの１０２４エントリのうち、７６８エントリ分で、すべてのページへの対応が示される。
【０１１８】
図１５は、このような変換テーブルとフレームバッファ１４２との対応を示す模式図である。図１５に示すように、仮想アドレスの連続領域にフレームバッファ１４２を配置する方法では、ＰａｇｅＤｉｒｅｃｔｏｒｙのフレームバッファ１４２に対応するエントリのＡｃｃｅｓｓｅｄビットは、フレームバッファ１４２のいずれかにメモリアクセスが存在したか否かを示すフラグとなる。さらに、このフラグは書込みによるメモリアクセスのみでなく、読み出しによるメモリアクセスでも更新される。
【０１１９】
このため、何らかのメモリアクセスが生じる度に、対応するＰａｇｅＴａｂｌｅの７６８エントリが毎回サーチ対象となり、更新部分を検出する処理の負荷が増大するという問題があった。
【０１２０】
このように、フレームバッファ１４２を仮想アドレス空間のいずれの領域に分散させて配置するかによって、フレームバッファ１４２に関する変換テーブル（ＰａｇｅＤｉｒｅｃｔｏｒｙとＰａｇｅＴａｂｌｅ）の構造が変わり、更新部分検索のサーチの手間に影響する。
【０１２１】
そこで、本変形例では、画面を所定の個数の領域に分割し、分割した各領域が、ＰａｇｅＤｉｒｅｃｔｏｒｙの１エントリに対応するようにフレームバッファ１４２の仮想アドレス空間上に配置する。なお、このように配置するために仮想アドレス空間上でフレームバッファ１４２全体のアドレスが不連続になってもよい。
【０１２２】
図１６は、本変形例における変換テーブルとフレームバッファ１４２との対応を示す模式図である。図１６は、画面を８つの領域に区分けし、その区分けがそれぞれＰａｇｅＤｉｒｅｃｔｏｒｙの１エントリに対応するように配置する場合の例を示している。
【０１２３】
このように配置することにより、例えば画面の左端の区域（ＰａｇｅＴａｂｌｅのｐｔ１に対応する区域）のみで画面が更新された場合は、ＰａｇｅＤｉｒｅｃｔｏｒｙの８つのエントリのうち該当する１つのエントリのＡｃｃｅｓｓｅｄビットのみが１に変更される。そして、このエントリに対応するＰａｇｅＴａｂｌｅ内の９６エントリのみをサーチすれば、更新ページを検出できる。
【０１２４】
画面の区切り方は、上記に限られず、画面の上下や左右で区切る方法、４×４などの矩形に区切る方法、中心部とそれ以外で区切る方法など、想定するアプリケーションの画面の更新パターンなどを考慮したあらゆる方法を適用できる。また、区切る単位についても、荒く区切る方法や、細かく区切る方法などを設計に合わせて変更できる。
【０１２５】
また、これまでは、ＰａｇｅＤｉｒｅｃｔｏｒｙとＰａｇｅＴａｂｌｅの２段階で構成された変換テーブルを対象としていたが、２段階以上で構成された変換テーブルに適用することも可能である。例えば３段階であれば、まず画面を左右に区切って上位のテーブルに対応づけ、区切った区域のそれぞれをさらに２×２の領域で区切って中位のテーブルに対応づけるように構成することができる。このように、利用する変換テーブルの構造に合わせた効率の良いフレームバッファ１４２の区切り方を採用することができる。
【０１２６】
（第３の実施の形態）
第１の実施の形態では、ページへの書き込みの可／不可を示すＷｒｉｔａｂｌｅビットを利用して、書込みが要求されたページのページ例外を発生させていた。ところが、変換テーブルの構成方法によっては、Ｗｒｉｔａｂｌｅビットによる例外発生方式を採用できない場合がある。
【０１２７】
例えば、ハードウェアレベルで仮想化を支援するＡｄｖａｎｃｅｄ  Ｍｉｃｒｏ  Ｄｅｖｉｃｅｓ社のＳＶＭ（Ｓｅｃｕｒｅ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）という仮想化支援機能を実装したプロセッサは、ＧｕｅｓｔＰａｇｅＴａｂｌｅおよびＮｅｓｔｅｄＰａｇｅＴａｂｌｅという２つの変換テーブルを利用している。そして、このプロセッサでは、ＮｅｓｔｅｄＰａｇｅＴａｂｌｅへのアクセスが、常に書込みとして扱われる仕様となっている。このため、予めすべて不可に設定したＷｒｉｔａｂｌｅビットを利用する方法では、読み出しアクセスであってもアクセスが不可と判定され、アクセスできなくなるという問題があった。
【０１２８】
そこで、第３の実施の形態では、Ｗｒｉｔａｂｌｅビットを利用する代わりに、書き込み時と読み出し時とで異なる仮想アドレスを算出するとともに、Ｅｎａｂｌｅビットを利用して、アクセスが要求された書込み用のページのページ例外を発生させるものである。
【０１２９】
なお、第３の実施の形態では、上述のように２つの変換テーブルを利用する画像処理装置を例として説明する。すなわち、第３の実施の形態では、メモリ管理部によるメモリアドレスの論実変換が、第１の実施の形態のように仮想アドレスから物理アドレスへの１段階ではなく、ゲスト仮想アドレスからゲスト物理アドレスを経てホスト物理アドレスへ変換する２段階で実行される手法を前提とする。
【０１３０】
図１７は、第３の実施の形態にかかる画像処理装置１７００の構成を示すブロック図である。図１７に示すように、画像処理装置１７００は、ホストＯＳ１１０と、アプリケーション１２０と、ゲストＯＳ１７３０と、仮想表示部１７４０と、バックエンド仮想表示部１７５０とを備えている。
【０１３１】
第３の実施の形態では、ゲストＯＳ１７３０、仮想表示部１７４０、およびバックエンド仮想表示部１７５０の機能が第１の実施の形態と異なっている。その他の構成および機能は、第１の実施の形態にかかる画像処理装置１００の構成を表すブロック図である図２と同様であるので、同一符号を付し、ここでの説明は省略する。
【０１３２】
ゲストＯＳ１７３０は、画像表示に関する機能であるグラフィックライブラリ１７３１の機能が、第１の実施の形態のゲストＯＳ１３０と異なっている。
【０１３３】
グラフィックライブラリ１７３１は、レンダラ１３２と、アドレス算出部１７３３とを備えている。レンダラ１３２の機能は、第１の実施の形態と同様であるので、同一符号を付し、ここでの説明は省略する。
【０１３４】
第１の実施の形態のアドレス算出部１３３は、フレームバッファ１４２へ書き込む際とフレームバッファ１４２から読み出す際で同じアドレスを算出していた。これに対し、第３の実施の形態のアドレス算出部１７３３は、フレームバッファ１４２へ書き込む際とフレームバッファ１４２から読み出す際で異なるアドレスを算出するものである。
【０１３５】
例えば、図７のような構造のフレームバッファ１４２は、３２×２４ページ分、すなわち、仮想アドレス上の３Ｍバイト（＝３２×２４×４０９６バイト）の領域となる。従って、アドレス算出部１７３３は、例えば、フレームバッファ１４２へ書き込む際とフレームバッファ１４２から読み出す際で、３Ｍバイト分異なるアドレスを算出する。
【０１３６】
また、アドレス算出部１７３３は、第１の実施の形態のアドレス算出部１３３と同様に、端末装置２００に表示する表示画面を３２×３２画素の矩形領域に分割し、分割した矩形領域内の各画素に、１ページ（４０９６バイト）の仮想アドレスが対応するように、フレームバッファ１４２の仮想アドレスを算出する。
【０１３７】
具体的には、例えば、アドレス算出部１７３３は、読み出しの場合は、第１の実施の形態の算出式である前述の（２）式に従って、座標情報（Ｘ、Ｙ）をフレームバッファ１４２のアドレスａｄｄｒに変換する。一方、書き込みの場合は、アドレス算出部１７３３は、以下の（３）式に従って、座標情報（Ｘ、Ｙ）をフレームバッファ１４２のアドレスａｄｄｒに変換する。
ａｄｄｒ＝ＯＦＦＳＥＴ＋３Ｍバイト＋（（Ｘ＆~０ｘ１ｆ）＜＜１０）×３＋（（Ｘ＆０ｘ１ｆ）＜＜２）＋（Ｙ＜＜７）・・・（３）
【０１３８】
なお、書き出し用と読み出し用とで異なるアドレスを算出できるものであれば、加算する値は３Ｍバイトでなくてもよい。また、ディスプレイモードや、アドレス算出部１７３３の演算能力により、実際の算出式の最適化の方式は異なる。
【０１３９】
仮想表示部１７４０は、メモリ管理部１７４１と、フレームバッファ１４２と、を備えている。フレームバッファ１４２の構成は、第１の実施の形態と同様であるので、同一符号を付し、ここでの説明は省略する。
【０１４０】
メモリ管理部１７４１は、テーブル記憶部１７４１ａと、取得部１４１ｂと、変更部１４１ｃと、書込み部１４１ｄと、例外発生部１７４１ｅと、を備えている。テーブル記憶部１７４１ａおよび例外発生部１７４１ｅ以外の構成および機能は、第１の実施の形態にかかる画像処理装置１００の構成を表すブロック図である図２と同様であるので、同一符号を付し、ここでの説明は省略する。
【０１４１】
第１の実施の形態のテーブル記憶部１４１ａは、仮想アドレスを物理アドレスに変換するための変換テーブルを１つのみ記憶していた。これに対し、第３の実施の形態のテーブル記憶部１７４１ａは、仮想アドレスを物理アドレスに変換するための変換テーブルを２つ記憶する。
【０１４２】
ここで、ゲスト仮想アドレスからゲスト物理アドレス、およびゲスト物理アドレスからホスト物理アドレスへの、２つの変換テーブルを用いた２段階変換の流れについて、図１８を用いて説明する。図１８は、２つの変換テーブルを用いたアドレスの２段階変換の流れの概要を示す図である。
【０１４３】
同図は、ゲスト仮想アドレス空間１８０１のゲスト仮想アドレス１８１１を、ゲスト物理アドレス空間１８０２のゲスト物理アドレス１８１２に変換し、さらに、ホスト物理アドレス空間１８０３のホスト物理アドレス１８１３に変換した例を表している。１段階目の変換では、ｇＣＲ３レジスタで指定される第１変換テーブル１８２１が参照される。第１変換テーブル１８２１は、ゲストＯＳ１７３０ごとの変換テーブルである。実際には、ホスト物理アドレス空間１８０３上に存在しており、第１変換テーブル１８２１および第１変換テーブル１８２３は同一のものである。また、２段階目の変換では、ｎＣＲ３レジスタで指定される第２変換テーブル１８２２が参照される。
【０１４４】
なお、第１変換テーブル１８２３は、ゲストＯＳ１７３０の個数に応じて複数存在しうる。また、上述のＧｕｅｓｔＰａｇｅＴａｂｌｅおよびＮｅｓｔｅｄＰａｇｅＴａｂｌｅは、それぞれ第１変換テーブルおよび第２変換テーブルに相当する。
【０１４５】
このように、テーブル記憶部１７４１ａは、第１変換テーブルおよび第２変換テーブルという２つの変換テーブルを記憶している。各変換テーブルを構成するＰａｇｅＤｉｒｅｃｔｏｒｙおよびＰａｇｅＴａｂｌｅのエントリの詳細や、変換に利用するエントリの特定方法については、第１の実施の形態と同様であるので、ここでの説明は省略する。
【０１４６】
一般に、変換テーブルがアクセスされたとき、アクセス要求内に含まれる情報等によって、書き込み要求および読み出し要求のいずれであるかを区別できるようになっている。しかし、上述のように、第２変換テーブルへのアクセスが、常に書き込みとして扱われる仕様になっている場合がある。
【０１４７】
第３の実施の形態では、このような場合であっても書き込みおよび読み出しを区別可能とするために、フレームバッファ１４２の同一のページに対するＰａｇｅＴａｂｌｅのエントリが、書き込み用と読み出し用で２つ存在するようにアドレスが算出される。
【０１４８】
図１９は、第２変換テーブルにおけるフレームバッファ１４２に対するＰａｇｅＴａｂｌｅの一例を示す図である。図１９に示すように、物理的には１つであるフレームバッファ１４２の各領域に対し、それぞれ２つの仮想アドレスが対応づけられている。
【０１４９】
例えば、同図のＰａｇｅＤｉｒｅｃｔｏｒｙのエントリ１９０１および１９０２は、それぞれ読み出し用および書き込み用として算出された仮想アドレスに対応するエントリである。そして、エントリ１９０１および１９０２は、それぞれ読み出し用のＰａｇｅＴａｂｌｅ１９１１、および書き込み用のＰａｇｅＴａｂｌｅ１９１２へのポインタを含んでいる。なお、以下では、第２変換テーブルにおけるフレームバッファ１４２に対する書き込み用のＰａｇｅＴａｂｌｅを、単に書き込み用ＰａｇｅＴａｂｌｅという。
【０１５０】
同図では、例えば、ＰａｇｅＴａｂｌｅ１９１１および１９１２の最初のエントリは、それぞれホスト物理アドレス空間１８０３上の同一のホスト物理アドレス１９２１に対応することが示されている。
【０１５１】
前述のように、アドレス算出部１７３３は、フレームバッファ１４２へ書き込む際とフレームバッファ１４２から読み出す際で異なるアドレスを算出するため、同一のホスト物理アドレスにアクセスする場合であっても、書き込みおよび読み出しに応じて、異なるＰａｇｅＴａｂｌｅにアクセスすることができる。これにより、変換テーブルへのアクセスが常に書き込みとして扱われるような場合であっても、実際のアクセスが書き込みであるか読み出しであるかを、アクセスするＰａｇｅＴａｂｌｅによって判別し、ページの更新を適切に検出することが可能となる。
【０１５２】
図１７に戻り、例外発生部１７４１ｅについて説明する。第１の実施の形態の例外発生部１４１ｅは、Ｗｒｉｔａｂｌｅビットが不可であるページに対して書き込みが要求された場合にページ例外を発生させていた。これに対し、第３の実施の形態の例外発生部１７４１ｅは、Ｅｎａｂｌｅビットが無効である書き込み用ＰａｇｅＴａｂｌｅのエントリに対して書き込みが要求された場合にページ例外を発生するものである。なお、Ｅｎａｂｌｅビットは、予めすべて無効に設定しておく。これにより、書き込みが要求された場合に必ずページ例外を発生させることができる。
【０１５３】
バックエンド仮想表示部１７５０は、バックアップ記憶部１５１と、保存部１７５２と、検出部１５３と、圧縮部１５４と、転送部１５５とを備えている。保存部１７５２以外の構成および機能は、第１の実施の形態にかかる画像処理装置１００の構成を表すブロック図である図２と同様であるので、同一符号を付し、ここでの説明は省略する。
【０１５４】
第１の実施の形態の保存部１５２は、Ｗｒｉｔａｂｌｅビットが不可であるページに書き込みが要求されたことによるページ例外が発生したときに、当該ページ例外が発生したページの画像情報を保存していた。これに対し、第３の実施の形態の保存部１７５２は、例外発生部１７４１ｅによりＥｎａｂｌｅビットが無効であるページに書き込みが要求されたことによるページ例外が発生されたときに、当該ページ例外が発生したページの画像情報をバックアップ記憶部１５１に保存するものである。
【０１５５】
次に、このように構成された第３の実施の形態にかかる画像処理装置１７００による画像処理について説明する。最初に、画像書込み処理および更新部分検出処理の概要について図２０を用いて説明する。図２０は、第３の実施の形態における画像書込み処理および更新部分検出処理の概要を示す説明図である。
【０１５６】
画像書込み処理では、まず、予め第２変換テーブルにおけるフレームバッファ１４２に対するすべての書き込み用ＰａｇｅＴａｂｌｅのＥｎａｂｌｅビットを無効に設定する。これにより、以後、グラフィックライブラリ１７３１がフレームバッファ１４２のいずれかの領域に書き込みを行うと、該当するページに関するページ例外が発生する。
【０１５７】
この状態から、アプリケーション１２０が画面表示のためにグラフィックライブラリ１７３１を介してフレームバッファ１４２に対する描画命令を送る（１）。メモリ管理部１７４１は、２つの変換テーブルを参照して、グラフィックライブラリ１７３１からの描画命令で指定された仮想アドレスを物理アドレスに変換する（２）。
【０１５８】
書き込み用ＰａｇｅＴａｂｌｅのＥｎａｂｌｅビットが予め無効に設定されていたため、第２変換テーブルが参照されると、例外発生部１７４１ｅがページ例外を発生する（３）。発生したページ例外により、保存部１７５２は、グラフィックライブラリ１７３１が更新を要求したフレームバッファ１４２の該当ページを検知し、当該ページの内容のバックアップを残す（４）。
【０１５９】
一方、変更部１４１ｃは、当該ページのＰａｇｅＴａｂｌｅのＥｎａｂｌｅビットを有効に変更する（５）。この後、グラフィックライブラリ１７３１による画像書き込みが続行される。以後、当該ページに対する画像書き込みについては、さらにページ例外を発生することなく書き込みが行なわれる。別ページに対する画像書き込みについては、ページ例外が発生し（３）、当該ページの内容のバックアップ（４）、ＰａｇｅＴａｂｌｅのＥｎａｂｌｅビットの変更（５）が順次実行される。
【０１６０】
次に、検出部１５３は、タイマからのトリガにより更新部分検出処理を開始する（６）。次に、検出部１５３は、上記（４）でバックアップが保存されているページを更新ページとして検出する（７）。次に、検出部１５３は、バックアップした画像情報と、フレームバッファ１４２に書込まれた最新の画像情報とを比較し、更新部分の矩形を検出する（８）。なお、同図に示すように、検出部１５３は、複数の隣接するページから、更新された領域を含む最小の矩形領域を更新部分として検出することができる。
【０１６１】
検出した更新部分の画像情報は、圧縮部１５４により圧縮される。また、圧縮後の圧縮画像情報は転送部１５５によって端末装置２００に送信される（９）。
【０１６２】
なお、同図では省略しているが、端末装置２００に更新部分の圧縮画像情報を転送後、バックアップ記憶部１５１にバックアップされた画像情報はすべて破棄される。また、第２変換テーブルにおけるフレームバッファ１４２に対するすべての書き込み用ＰａｇｅＴａｂｌｅのＥｎａｂｌｅビットは無効に変更される。また、同図では、ページ例外（３）、バックアップ（４）、およびＥｎａｂｌｅビットの変更（５）は、４ページ分を一括して表現しているが、実際には、グラフィックライブラリ１７３１からの書き込みを契機にそれぞれ４回実行される。
【０１６３】
次に、画像書込み処理の流れについて、図２１を用いて説明する。図２１は、第３の実施の形態における画像書込み処理の全体の流れを示すフローチャートである。なお、第１の実施の形態の画像書込み処理の全体の流れを示す図９と比較すると、ステップＳ２１０３での処理内容が、図９のステップＳ９０３と異なるのみであるため、ステップＳ２１０３以外の説明は省略する。
【０１６４】
ステップＳ２１０３では、アドレス算出部１７３３が、アクセス要求が読み出しおよび書き込みのいずれであるかに応じて、上述の（２）式または（３）式によって仮想アドレスを算出する。アドレス算出部１７３３は、アクセス要求が読み出しおよび書き込みのいずれであるかは、描画命令によって判別することができる。
【０１６５】
なお、更新部分検出処理の流れについては、第１の実施の形態の更新部分検出処理を表す図１０と同様であるので、ここでの説明は省略する。
【０１６６】
このように、第３の実施の形態にかかる画像処理装置では、書き込み時と読み出し時とで異なる仮想アドレスを算出するとともに、Ｅｎａｂｌｅビットを利用して、アクセスが要求された書込み用のページのページ例外を発生させ、このページ例外によって更新ページを検出することができる。これにより、Ｗｒｉｔａｂｌｅビットによる例外発生が利用できない場合であっても、画像情報の更新部分を効率的に検出し、仮想メモリ方式でフレームバッファを管理する場合の、画像の更新部分検出に関する処理の負荷を軽減することができる。
【０１６７】
次に、第１〜第３の実施の形態にかかる画像処理装置のハードウェア構成について図２２を用いて説明する。図２２は、第１〜第３の実施の形態にかかる画像処理装置のハードウェア構成を示す説明図である。
【０１６８】
第１〜第３の実施の形態にかかる画像処理装置は、ＣＰＵ（Central Processing Unit）５１などの制御装置と、ＲＯＭ（Read Only Memory）５２やＲＡＭ５３などの記憶装置と、ネットワークに接続して通信を行う通信Ｉ／Ｆ５４と、ＨＤＤ（Hard Disk Drive）、ＣＤ（Compact Disc）ドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置と、各部を接続するバス６１を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【０１６９】
第１〜第３の実施の形態にかかる画像処理装置で実行される画像処理プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact Disk Read Only Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact Disk Recordable）、ＤＶＤ（Digital Versatile Disk）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【０１７０】
また、第１〜第３の実施の形態にかかる画像処理装置で実行される画像処理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第１〜第３の実施の形態にかかる画像処理装置で実行される画像処理プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１７１】
また、第１〜第３の実施の形態の画像処理プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０１７２】
第１〜第３の実施の形態にかかる画像処理装置で実行される画像処理プログラムは、上述した各部（アドレス算出部、取得部、書込み部、検出部、圧縮部）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ５１（プロセッサ）が上記記憶媒体から画像処理プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上述した各部が主記憶装置上に生成されるようになっている。
【産業上の利用可能性】
【０１７３】
以上のように、本発明にかかる画像を処理する装置、画像の更新を検出する方法およびプログラムは、端末装置に表示する画面の画像情報を生成して端末装置に転送する仮想計算機サーバに適している。
【図面の簡単な説明】
【０１７４】
【図１】第１の実施の形態にかかる画像処理装置を含むネットワーク構成の概要を示すブロック図である。
【図２】第１の実施の形態にかかる画像処理装置の構成を示すブロック図である。
【図３】仮想アドレスから物理アドレスへの変換の流れを示す説明図である。
【図４】従来の計算機で用いられているフレームバッファのアドレス配置の一例を示す説明図である。
【図５】従来のフレームバッファのアドレスの順序を示した模式図である。
【図６】従来のフレームバッファにおける画面の領域とページとの対応を示した模式図である。
【図７】第１の実施の形態における画像処理装置で用いるフレームバッファのアドレス配置の一例を示す説明図である。
【図８】第１の実施の形態における画像書込み処理および更新部分検出処理の概要を示す説明図である。
【図９】第１の実施の形態における画像書込み処理の全体の流れを示すフローチャートである。
【図１０】第１の実施の形態における更新部分検出処理の全体の流れを示すフローチャートである。
【図１１】第２の実施の形態にかかる画像処理装置の構成を示すブロック図である。
【図１２】第２の実施の形態における画像書込み処理および更新部分検出処理の概要を示す説明図である。
【図１３】第２の実施の形態における画像書込み処理の全体の流れを示すフローチャートである。
【図１４】第２の実施の形態における更新部分検出処理の全体の流れを示すフローチャートである。
【図１５】変換テーブルとフレームバッファとの対応を示す模式図である。
【図１６】変形例における変換テーブルとフレームバッファとの対応を示す模式図である。
【図１７】第３の実施の形態にかかる画像処理装置の構成を示すブロック図である。
【図１８】アドレスの２段階変換の流れの概要を示す図である。
【図１９】第３の実施の形態におけるＰａｇｅＴａｂｌｅの一例を示す図である。
【図２０】第３の実施の形態における画像書込み処理および更新部分検出処理の概要を示す説明図である。
【図２１】第３の実施の形態における画像書込み処理の全体の流れを示すフローチャートである。
【図２２】第１〜第３の実施の形態にかかる画像処理装置のハードウェア構成を示す説明図である。
【符号の説明】
【０１７５】
５１  ＣＰＵ
５２  ＲＯＭ
５３  ＲＡＭ
５４  通信Ｉ／Ｆ
６１  バス
１００  画像処理装置
１１０  ホストＯＳ
１２０  アプリケーション
１３０  ゲストＯＳ
１３１  グラフィックライブラリ
１３２  レンダラ
１３３  アドレス算出部
１４０  仮想表示部
１４１  メモリ管理部
１４１ａ  テーブル記憶部
１４１ｂ  取得部
１４１ｃ  変更部
１４１ｄ  書込み部
１４１ｅ  例外発生部
１４２  フレームバッファ
１５０  バックエンド仮想表示部
１５１  バックアップ記憶部
１５２  保存部
１５３  検出部
１５４  圧縮部
１５５  転送部
２００  端末装置
３００  ネットワーク
１１００  画像処理装置
１１４０  仮想表示部
１１４１  メモリ管理部
１１４１ｅ  例外発生部
１１５０  バックエンド仮想表示部
１１５１  バックアップ記憶部
１１５２  保存部
１１５３  検出部
１７００  画像処理装置
１７３０  ゲストＯＳ
１７３１  グラフィックライブラリ
１７３３  アドレス算出部
１７４０  仮想表示部
１７４１  メモリ管理部
１７４１ａ  テーブル記憶部
１７４１ｅ  例外発生部
１７５０  バックエンド仮想表示部
１７５２  保存部
１８０１  ゲスト仮想アドレス空間
１８０２  ゲスト物理アドレス空間
１８０３  ホスト物理アドレス空間
１８１１  ゲスト仮想アドレス
１８１２  ゲスト物理アドレス
１８１３  ホスト物理アドレス
１８２１、１８２３  第１変換テーブル
１８２２  第２変換テーブル
１９０１、１９０２  エントリ
１９１１、１９１２  ＰａｇｅＴａｂｌｅ
１９２１  ホスト物理アドレス
【図１】
0004852012.tif 000002
【図２】
0004852012.tif 000003
【図３】
0004852012.tif 000004
【図４】
0004852012.tif 000005
【図５】
0004852012.tif 000006
【図６】
0004852012.tif 000007
【図７】
0004852012.tif 000008
【図８】
0004852012.tif 000009
【図９】
0004852012.tif 000010
【図１０】
0004852012.tif 000011
【図１１】
0004852012.tif 000012
【図１２】
0004852012.tif 000013
【図１３】
0004852012.tif 000014
【図１４】
0004852012.tif 000015
【図１５】
0004852012.tif 000016
【図１６】
0004852012.tif 000017
【図１７】
0004852012.tif 000018
【図１８】
0004852012.tif 000019
【図１９】
0004852012.tif 000020
【図２０】
0004852012.tif 000021
【図２１】
0004852012.tif 000022
【図２２】
0004852012.tif 000023