JP2014206881A - 画像処理装置、画像処理方法、画像処理プログラム及び画像処理システム - Google Patents

画像処理装置、画像処理方法、画像処理プログラム及び画像処理システム Download PDF

Info

Publication number
JP2014206881A
JP2014206881A JP2013084383A JP2013084383A JP2014206881A JP 2014206881 A JP2014206881 A JP 2014206881A JP 2013084383 A JP2013084383 A JP 2013084383A JP 2013084383 A JP2013084383 A JP 2013084383A JP 2014206881 A JP2014206881 A JP 2014206881A
Authority
JP
Japan
Prior art keywords
buffer
physical
image information
unit
drawing area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
JP2013084383A
Other languages
English (en)
Inventor
美佳 峰松
Miyoshi Minematsu
美佳 峰松
後藤 真孝
Masataka Goto
真孝 後藤
会津 宏幸
Hiroyuki Aizu
宏幸 会津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2013084383A priority Critical patent/JP2014206881A/ja
Priority to US14/179,732 priority patent/US20140306977A1/en
Publication of JP2014206881A publication Critical patent/JP2014206881A/ja
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1415Digital output to display device ; Cooperation and interconnection of the display device with other functional units with means for detecting differences between the image stored in the host and the images displayed on the displays
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】実施形態によれば、画像処理装置は、描画すべき描画領域を決定し、描画を決定した描画領域に対して物理メモリを割り当てることにより、画像処理装置におけるメモリ消費量を軽減する。
【解決手段】第1の画像情報に基づき描画領域を決定し、前記第1の画像情報を仮想的に記憶する仮想バッファに仮想アドレスを割り当て、前記描画領域に対応する第2の画像情報を記憶する物理バッファに物理アドレスを割り当て、前記仮想バッファに割り当てた仮想アドレスを、前記物理バッファに割り当てた物理アドレスへ変換し、前記第2の画像情報を変換した前記物理アドレスに基づき前記物理バッファに記憶する。
【選択図】図1

Description

本発明の実施形態は、画像処理装置、画像処理方法、画像処理プログラム及び画像処理システムに関する。
デスクトップ画面上の一部分のみの画像情報が必要とされる場合がある。
例えば、非特許文献1では、クライアントのデスクトップ上に、サーバ上の特定のアプリケーションのみを統合的に表示することができる。この場合、サーバでは、該アプリケーションの画像情報のみが必要とされる。
Microsoft TechNet Library: Overview of RemoteApp
しかしながら、非特許文献1では、全てのアプリケーションの描画を、個別のオフスクリーンバッファへピクセル化したデータを記憶させることにより、特定のアプリケーションのみの画像情報を提供することで実現しており、サーバにおけるメモリ消費量が多いという問題がある。
また、提供する画像情報は、アプリケーション単位でしか指定できず、アプリケーションより小さい領域を指定することはできない。
本発明が解決する課題は、サーバ(画像処理装置)において、サーバで描画すべき描画領域を決定し、描画を決定した描画領域に対して物理メモリを割り当てることにより、サーバにおけるメモリ消費量を軽減することを目的とする。
上述した課題を解決し、目的を達成するために実施形態の画像処理装置は、第1の画像情報に基づき描画領域を決定する描画領域決定部と、前記第1の画像情報を仮想的に記憶する仮想バッファに仮想アドレスを割り当てる仮想バッファ割当部と、前記描画領域決定部で描画を決定した描画領域に対応する第2の画像情報を記憶する物理バッファに物理アドレスを割り当てる物理バッファ割当部と、前記仮想バッファに割り当てた仮想アドレスを前記物理バッファに割り当てた物理アドレスへ変換する第1の変換部と、前記第2の画像情報を前記第1の変換部で変換した物理アドレスに基づき前記物理バッファに記憶する描画部と、を備える。
第1の実施形態に係る画像処理装置の構成例を示す図。 第1の実施形態に係る仮想アドレスから物理アドレスへの変換の流れを示す図。 第1の実施形態に係るアプリケーション画面例を示す図。 第1の実施形態に係る物理バッファへの描画例を示す図。 第1の実施形態に係るバッファ割当処理の概要を示すフローチャート。 第1の実施形態に係る画像処理の概要を示すフローチャート。 第2の実施形態に係る画像処理装置の構成例を示す図。 第2の実施形態に係るアプリケーション画面例を示す図。 第2の実施形態に係る物理バッファへの描画例を示す図。 第2の実施形態に係る物理メモリへの描画例を示す図。 第2の実施形態に係るバッファ割当処理の概要を示すフローチャート。 第2の実施形態に係る画像処理の概要を示すフローチャート。 第3の実施形態に係る画像処理装置の構成例を示す図。 第3の実施形態に係る画像処理の概要を示すフローチャート。 第3の実施形態に係る動画像送信処理の例を示す図。
以下、実施形態に係る画像処理装置を図面を参照して説明する。
(実施例1)(描画決定領域の画像情報を物理メモリに記憶、それ以外はダミーページに記憶する例)
図1に、実施例1に係る画像処理装置100の構成例を示す。図1に示すように、実施例1に係る画像処理装置100は、アプリケーション300と、仮想ディスプレイデバイス400と、ウィンドウマネージャ200と、ハードウェア500を備えている。
アプリケーション300は、画像処理装置100上で動作する各種処理を提供するプログラムである。アプリケーション300は、描画領域決定部301を備えている。
描画領域決定部301は、画像処理装置100で描画すべき領域を決定する。描画領域の決定方法は、どのようなものでもよい。例えば、ユーザが指定した領域を描画領域としてもよいし、描画命令がある閾値よりも高頻度で発生する領域を描画領域としてもよいし、ブラウザアプリケーションの場合はCanvas要素に対応する領域を描画領域とするなどアプリケーションの種類ごとに特定の条件を設定してもよい。
仮想ディスプレイデバイス400は、仮想バッファ割当部402と、物理バッファ割当部401を備えている。
仮想バッファ割当部402は、画像処理装置100で生成する画像情報を記憶するバッファを仮想的に割り当て、ここで割り当てた仮想バッファに応じたサイズ分の仮想アドレスを仮想バッファへ割り当てる。仮想バッファは、クライアント側のディスプレイの解像度の設定に従って確保される。例えば、ディスプレイの解像度がXGA(1024×768ピクセル)となっている場合は、1024×768ピクセルのサイズの仮想バッファが割り当てられる。なお、仮想バッファのサイズは、ディスプレイに対応するサイズではなく、アプリケーション300が指定したサイズの仮想バッファを割り当ててもよい。
物理バッファ割当部401は、画像処理装置100で生成する画像情報を記憶するバッファ502を物理的に割り当てる。なお、このバッファ502(物理バッファ)は、描画領域に従って確保される。例えば、描画領域の大きさが1024×4ピクセルの場合は、1024×4ピクセルのサイズの物理バッファが割り当てられる。なお、物理バッファは、RAM(Random Access Memory)、HDD(Hard Disk Drive)、光ディスク、メモリカードなどの一般的に利用されているあらゆる記憶媒体により構成することができる。
ここで、仮想バッファの仮想アドレスから物理バッファの物理アドレスへのアドレス変換の流れについて図2を用いて説明する。
アプリケーション300は、仮想アドレスによって、仮想アドレス空間上の論理的にリニアなメモリ空間をアクセスする。本実施の形態では、32ビット長の仮想アドレスを用いる。32ビット長の仮想アドレスは、10ビット、10ビット、12ビットで区切られ、各ビットはそれぞれ以下のような意味を有する。
仮想アドレスの上位10ビットは、2段階の階層構造で表された変換テーブルの上位のテーブルであるPageDirectory内のエントリを特定するために利用される。特定したエントリには、下位のテーブルである複数のPageTableのうちいずれかを特定するためのポインタが含まれる。図2では、pt1で表されるPageTableが特定された例が示されている。
仮想アドレスの中位10ビットは、このポインタにより特定されるPageTable内のエントリを特定するために利用される。特定したエントリには、物理アドレス空間上のページブロック(以下、単にページという)を特定するためのポインタが含まれる。なお、ページとは、仮想アドレスにマッピングできる物理メモリの最小単位をいい、連続する物理メモリがページに割り当てられる。
仮想アドレスの下位12ビットは、このポインタにより特定されるページ内のオフセットを表す。オフセットとは、ページ内の位置を特定するために利用される。例えば、1ページが4096バイトの場合は、オフセットは0から4095の値を取る。図2の例では、オフセットが0の場合は、物理アドレス空間上の網掛けされたページの左上の位置が特定される。
このようにして、32ビット長の仮想アドレスから物理アドレスへと変換することができる。
実施例1に係る物理バッファ割当部401は、描画領域に対応する仮想アドレスに対しては新たに物理アドレスを割り当て、描画領域外に対応する仮想アドレスに対しては全て同一のダミーページを割り当てる。なお、ダミーページは、複数のアプリケーション300で共用してもよい。
例えば、1024×768ピクセルの画面で、1ピクセルあたりのデータ量が4バイトであり、かつ、1ページが4096バイトの場合は、ラスタ(横)方向の1ラインが1ページに相当する。そのため、1024×4ピクセルのサイズの物理バッファとは、4ページ分の物理アドレスを割り当てることを意味する。
図2の例では、pt1のエントリA、B、C、Dに対しては新たに物理アドレスを割り当て、エントリE、Fに対しては同一のダミーページを割り当てている。なお、1024×768ピクセルの画面のうち1024×4ピクセルのみが描画領域の場合、768から4を引いた764ページ分が同一のダミーページに割り当てられる。
ウィンドウマネージャ200は、描画部201を備えている。
描画部201は、アプリケーション300から描画命令を受け取り、描画命令に含まれる座標情報などから特定した仮想アドレスに対して、描画命令に従い各種画像処理を行った結果の画像情報の書き込み要求を発行する。なお、座標情報とは、例えば、1024×768ピクセルの画面の場合、画面左上を(0、0)、画面右下を(1023、767)とするような座標系で表された情報をいう。
ハードウェア500は、第1の変換部501及び物理バッファ502を備えている。
第1の変換部501は、仮想バッファの仮想アドレスを物理バッファの物理アドレスに変換を行なう。第1の変換部から物理アドレスを取得した描画部は、物理バッファ502上の物理アドレスへ画像情報を書き込む。
図3に、アプリケーション画面例を示す。また、図4に、図3に対応する、物理バッファへの描画例を示す。図3に示すように、画面の上部1024×4ピクセルの領域が描画領域であり、描画領域に黒い円、描画領域外に黒い矩形を描画する場合、図4に示すように、描画領域に対応する物理バッファへ黒い円が描画され、黒い矩形はダミーページに描画される。
次に、このように構成された実施例1の実施形態にかかる画像処理装置100によるバッファ割当処理および画像処理について説明する。
最初に、バッファ割当処理の概要について、図5を用いて説明する。
まず、仮想バッファ割当部402が、ディスプレイの解像度の設定に従い、仮想バッファを割り当てる(ステップS100)。例えば、1024×768ピクセルの画面の場合、仮想バッファの仮想アドレスは、例えば、0x00000000〜0x002fffffとなる。
次に、描画領域決定部301が、描画領域を決定する(ステップS101)。
最後に、物理バッファ割当部401が、描画領域の大きさに従い、物理バッファを割り当てる(ステップS102)。この際、PageTableにおいて、描画領域に対応するエントリには物理バッファのアドレスを特定するためのポインタを含め、描画領域外に対応するエントリにはダミーページへのポインタを含める。例えば、1024×768ピクセルの画面の上部1024×4の領域のみが描画領域の場合、描画領域に対応する、仮想アドレスの0x00000000〜0x00003fffに対応するエントリに対しては、物理バッファのアドレスを特定するためのポインタが含まれ、描画領域外に対応する、仮想アドレスの0x00004000〜0x002fffffに対応するエントリに対しては、ダミーページへのポインタが含まれる。
次に、画像処理の概要について、図6を用いて説明する。
まず、アプリケーション300が、描画命令を発行する(ステップS200)。
次に、描画部201が、描画命令に含まれる座標情報などから仮想バッファの仮想アドレスを特定し、画像情報の書き込み要求を発行する。描画領域内の描画であれば物理バッファ内の物理アドレスに、描画領域外の描画であればダミーページの物理アドレスに画像情報の書き込み要求を行う(ステップS201)。
次に、第1の変換部501が、仮想バッファの仮想アドレスを物理バッファの物理アドレスに変換し、物理バッファ上の物理アドレスへ書き込む(ステップS202)。例えば、画面の(0、0)から幅1024ピクセル、高さ1ピクセルの矩形に対応する仮想アドレスは、0x00000000〜0x00001fffとなる。この仮想アドレスを、PageTableを用いて、物理アドレスに変換する。描画領域内の描画であれば物理バッファ内の物理アドレスに、描画領域外の描画であればダミーページの物理アドレスに変換されて描画される。
このように、実施例1の実施形態にかかる画像処理装置100では、描画領域に対してのみ物理バッファを割り当て、描画領域外に対しては全て同一のダミーページを割り当てることにより、画像処理装置100におけるメモリ消費量を抑えることができる。
(実施例2)(描画領域外の描画命令は描画せずに廃棄する例)
次に、実施例2について説明する。
実施例1の実施形態では、描画領域外の描画はダミーページに行っていた。
実施例2の実施形態では、描画領域外の描画命令は描画せずに廃棄する例について説明する。
以下、実施例1の実施形態と共通する部分については、同一の符号を付して適宜に説明を省略する。
図7に、実施例2の実施形態に係る画像処理装置100の構成例を示す。
実施例2の実施形態では、仮想バッファ割当部402と、物理バッファ割当部401と、判断部202と、第2の変換部203の機能が実施例1の実施形態と異なっている。その他の構成は、実施例1の実施形態に係る画像処理装置100の構成と同様であるので、ここでの説明は省略する。
実施例1の実施形態では、仮想バッファ割当部402は、PageTableに設定される実際の仮想アドレスを割り当てていた。実施例2の実施形態では、仮想バッファ割当部402は、ダミーの仮想アドレスを割り当てる。例えば、1024×768ピクセルの画面の場合、0x00000000〜0x002fffffのダミーの仮想アドレスを割り当てる。アプリケーション300には、ダミーの仮想アドレスが通知される。
物理バッファ割当部401は、描画領域に対応する実際の仮想アドレスおよび物理アドレスを割り当てる。例えば、画面の(0、0)から幅64ピクセル、高さ64ピクセルの領域が描画領域の場合、64×64ピクセル分の物理アドレスを割り当てる。例えば、0x00300000〜0x00300ffcの物理アドレスを割り当てる。この際、実際の仮想アドレスも割り当てる。例えば、0x00400000〜0x00400ffcの仮想アドレスを割り当てる。
判断部202は、アプリケーション300から描画命令を受け取り、描画領域に対する描画命令であるか否かを判断し、描画領域に対応する場合は描画命令を第2の変換部203に渡し、対応しない場合は描画命令を廃棄する。例えば、描画領域が画面の(0、0)から幅64ピクセル、高さ64ピクセルであり、(100、0)から幅1024ピクセル、高さ100ピクセルの矩形を描画するための描画命令が発行された場合、描画命令は廃棄される。
第2の変換部203は、描画命令が描画領域と描画領域外に跨がる場合は、描画領域にのみ描画が発生するように描画命令を変換する。例えば、描画領域が画面の(0、0)から幅64ピクセル、高さ64ピクセルであり、(0、0)から幅1024ピクセル、高さ100ピクセルの矩形を描画するための描画命令が発行された場合、(0、0)から幅64ピクセル、高さ64ピクセルの矩形を描画するための描画命令へ変換する。また、ダミーの仮想アドレスから実際の仮想アドレスへのアドレス変換を行う。
図8に、アプリケーション画面例を示す。ダミーの仮想アドレス空間は、レイアウト計算のために用いられる。例えば、ディスプレイサイズの仮想バッファを割り当てており、アプリケーション300を仮想バッファ上の(10、10)に描画している場合、アプリケーション画面の(0、0)から幅64ピクセル、高さ64ピクセルの矩形を描画するための描画命令は、仮想バッファ上の(10、10)から幅64ピクセル、高さ64ピクセルの矩形を描画するための描画命令として発行される。なお、アプリケーション300に対応するウィンドウの描画位置やサイズの情報を含むウィンドウ情報は、ウィンドウマネージャ200が管理している。
また、図8に対応する、物理バッファおよび物理アドレスへの描画例を、図9および図10に示す。物理アドレスは、連続したアドレスが割り当てられる。例えば、64×64ピクセルのサイズの物理バッファには、図10に示すように、1ページ分の連続した物理アドレスが割り当てられる。
ここで、アドレス変換処理および描画処理の概要について説明する。
アドレスは、以下の式で計算される。ここで、x、yはバッファ502上の位置情報、bufWはバッファ502のピクセル単位の横幅、Bppは1ピクセル当たりのバイト数とする。
y×bufW×Bpp+x×Bpp+開始アドレス。
例えば、1024×768ピクセルのサイズの仮想バッファに、0x00000000〜0x002fffffのダミーの仮想アドレスが割り当てられ、アプリケーション画面の(0、0)から幅64ピクセル、高さ64ピクセルの描画領域に、0x00300000〜0x00300ffcの物理アドレスと0x00400000〜0x00400ffcの実際の仮想アドレスが割り当てられているとする。また、アプリケーション300は、仮想バッファの(10、10)の位置に描画されているとする。
この場合、アプリケーション画面の(0、0)から幅64ピクセル、高さ64ピクセルの矩形を描画するための描画命令は、仮想バッファ上の(10、10)から幅64ピクセル、高さ64ピクセルの矩形を描画するための描画命令として発行される。描画部201は、横幅ごとに書き込み要求を発行する。そのため、まず、(10、10)から幅64ピクセルの書き込み要求が発行される。次に、第2の変換部203で、まず、x=10、y=10、bufW=1024、開始アドレス=0x00000000を上述の式に代入し、(10、10)に対応する0x00009028のダミーの仮想アドレスが計算される。次に、物理バッファは、描画領域のみを含むため、x=0、y=0、bufW=64、開始アドレス=0x00400000を上述の式に代入し、0x00400000の実際の仮想アドレスが計算されて、ダミーの仮想アドレスが実際の仮想アドレスに変換される。
次に、第1の変換部501で、x=0、y=0、bufW=64、開始アドレス=0x00300000を上述の式に代入し、0x00300000の物理アドレスが計算され、実際の仮想アドレスが物理アドレスに変換される。この物理アドレスに対して、描画部201が生成した幅64ピクセル、高さ1ピクセル分の画像情報が書き込まれる。次に、(10、11)から幅64ピクセルの書き込み要求が発行され、第2の変換部203で、x=10、y=11、bufW=1024、開始アドレス=0x00000000を上述の式に代入し、(10、11)に対応する0x0000a028のダミーの仮想アドレスが計算され、x=0、y=1、bufW=64、開始アドレス=0x00400000を上述の式に代入し、0x00400100の実際の仮想アドレスが計算されて変換され、第1の変換部501で、x=0、y=1、bufW=64、開始アドレス=0x00300000を上述の式に代入し、0x00300100の物理アドレスが計算されて変換される。このように、アドレス変換処理を行いながら、描画処理を行う。
なお、動作途中で描画領域が変わってもよい。この場合、描画領域の変更に伴い、ダミーの仮想アドレスから実際の仮想アドレスへの変換処理を合わせて変更する。また、アプリケーションごとに物理バッファを割り当てなくても、共有物理バッファを割り当て、複数のアプリケーションの描画領域を並べて描画してもよい。
次に、このように構成された実施例2の実施形態にかかる画像処理装置100によるバッファ割当処理および画像処理について説明する。
最初に、バッファ割当処理の概要について図11を用いて説明する。実施例2の実施形態では、仮想バッファ割当部402と物理バッファ割当部401の機能が実施例1の実施形態と異なっている。その他の機能は、実施例1の実施形態に係る画像処理装置100の機能と同様であるので、ここでの説明は省略する。
まず、実施例1の実施形態では、仮想バッファ割当部402は、実際の仮想アドレスを割り当てていた。
実施例2の実施形態では、仮想バッファ割当部402は、ダミーの仮想アドレスを割り当てる(ステップS300)。
次に、実施例1の実施形態では、物理バッファ割当部401は、仮想バッファに対応するPageTableのエントリを作成し、描画領域外に対しては、ダミーページを割り当てていた。
実施例2の実施形態では、物理バッファ割当部401は、物理バッファに対応するPageTableのエントリのみを作成し、描画領域決定部301で決定(ステップ301)された描画領域に対して物理バッファを割り当て、描画領域外に対しては、何も割り当てない(ステップS302)。
次に、画像処理の概要について図12を用いて説明する。実施例2の実施形態では、判断部202と第2の変換部203の機能が実施例1の実施形態と異なっている。その他の機能は、実施例1の実施形態に係る画像処理装置100の機能と同様であるので、ここでの説明は省略する。
実施例2の実施形態では、まず、判断部202が、アプリケーション300からの描画命令を受け(ステップS400)、描画領域に対する描画命令であるか否かを判断し(ステップS401)、描画領域に対応する場合は描画命令を第2の変換部203に渡し、対応しない場合は描画命令を廃棄する(ステップS406)。
次に、第2の変換部203が、描画命令が描画領域と描画領域外に跨がる場合(ステップS402)は、描画領域にのみ描画が発生するように描画命令を変換(ステップS403)する。また、ダミーの仮想アドレスを実際の仮想アドレスに変換し(ステップS404)、物理バッファに描画領域に対応する画像情報を書き込む(ステップS405)。
このように、実施例2の実施形態にかかる画像処理装置100では、描画領域外に対しては物理アドレスを割り当てず、描画領域外に対する描画命令は描画せずに廃棄することにより、画像処理装置100におけるメモリ消費量を抑えることができる。
(実施例3)(画像情報を表示装置に送信する例)
次に、実施例3の実施形態について説明する。
実施例3の実施形態では、描画領域の画像情報をクライアントに送信する例について説明する。以下、実施例1の実施形態と共通する部分については、同一の符号を付して適宜に説明を省略する。
図13に、実施例3の実施形態に係る画像処理装置100の構成例を示す。
実施例3の実施形態では、動画像生成部204と送信部503の機能が実施例1の実施形態と異なっている。その他の構成は、実施例1の実施形態に係る画像処理装置100の構成と同様であるので、ここでの説明は省略する。
動画像生成部204は、描画領域の画像情報を物理バッファから取得し、動画像を生成する。
なお、動画像は、どのような形式のものでもよい。例えば、H.264形式の動画を生成してもよい。また、更新画像のみを送信してもよい。例えば、描画部201から描画情報を取得し、新たに描画が発生した領域の画像情報のみを物理バッファから取得し、JPEG画像を生成してもよい。また、物理バッファとクライアントに送信済みのバックアップ画像を比較して、実際に変化のあった差分領域の画像情報のみを物理バッファから取得し、PNG画像を生成してもよい。
送信部503は、動画像生成部204が生成した動画像をクライアントへ送信する。
次に、画像処理の概要について図14を用いて説明する。実施例3の実施形態では、動画像生成部204と送信部503の機能が実施例1の実施形態と異なっている。その他の機能は、実施例1の実施形態に係る画像処理装置100の機能と同様であり、ステップS500〜ステップ503の処理は、ステップS200〜ステップS203に対応するため、ここでの処理説明は省略する。
まず、動画像生成部204が描画領域に対応する画像情報を物理バッファから取得して動画像を生成する(ステップS503)。
次に、送信部503が動画像をクライアントに送信する(ステップS504)。
図15に、動画像送信処理の例を示す。図15の例では、クライアントにおいて、クライアントの画面上の左下部分は画像処理装置100で描画した画像情報を動画または画像として受信し、残りの部分はクライアントで描画して、合成して表示している。
クライアントは、画像処理装置100からネットワークを介し、画像情報を受信する図示しない受信部を備えるともに、この受信部で受け取った画像情報を表示する表示部を備える。
このように、実施例3の実施形態にかかる画像処理装置100では、画像処理装置100とクライアントで描画処理を分担する分散処理システムに応用することができる。
これまで、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100 画像処理装置
200 ウィンドウマネージャ
300 アプリケーション
400 仮想ディスプレイデバイス
500 ハードウェア
201 描画部
301 描画領域決定部
401 物理バッファ割当部
402 仮想バッファ割当部
501 第1の変換部
502 バッファ。

Claims (10)

  1. 第1の画像情報に基づき描画領域を決定する描画領域決定部と、
    前記第1の画像情報を仮想的に記憶する仮想バッファに仮想アドレスを割り当てる仮想バッファ割当部と、
    前記描画領域決定部で描画を決定した描画領域に対応する第2の画像情報を記憶する物理バッファに物理アドレスを割り当てる物理バッファ割当部と、
    前記仮想バッファに割り当てた仮想アドレスを前記物理バッファに割り当てた物理アドレスへ変換する第1の変換部と、
    前記第2の画像情報を前記第1の変換部で変換した物理アドレスに基づき前記物理バッファに記憶する描画部と、
    を備えることを特徴とする画像処理装置。
  2. 前記物理バッファ割当部は、前記描画領域決定部で決定した描画領域外の第3の画像情報に対応する物理アドレスを割り当て、前記描画部は、この割り当てられた物理アドレスに基づき前記物理バッファのダミーページに前記第3の画像情報を記憶することを特徴とする請求項1に記載の画像処理装置。
  3. 前記描画部は、前記第3の画像情報を全て同一の前記ダミーページに記憶させることを特徴とする請求項2に記載の画像処理装置。
  4. アプリケーションからの描画命令が前記描画領域に対応する描画命令であるか否かを判断する判断部と、
    前記描画命令が、前記描画領域と描画領域外に跨がる場合は、前記描画領域のみ描画するように前記描画命令を変換する第2の変換部とを備え、
    前記描画部は、前記第2の変換部と前記第1の変換部の指示に従い前記第2の画像情報を前記物理バッファに記憶することを特徴とする請求項1に記載の画像処理装置。
  5. 前記判断部は、前記描画命令が前記描画領域に対応する描画命令である場合、前記描画命令を前記第2の変換部に通知することを特徴とする請求項4に記載の画像処理装置。
  6. 前記判断部は、前記描画命令が前記描画領域に対応する描画命令でない場合、前記描画命令を廃棄することを特徴とする請求項4に記載の画像処理装置。
  7. 前記物理バッファから前記第2の画像情報を取得し動画像を生成する動画像生成部と、前記動画像生成部が生成した動画像を送信する送信部と、を備えることを特徴とする請求項1に記載の画像処理装置。
  8. 第1の画像情報に基づき描画領域を決定する描画領域決定ステップと、
    前記第1の画像情報を仮想的に記憶する仮想バッファに、仮想アドレスを割り当てる仮想バッファ割り当てステップと、
    前記描画領域に対応する第2の画像情報を記憶する物理バッファに、物理アドレスを割り当てる物理バッファ割り当てステップと、
    前記仮想バッファに割り当てた仮想アドレスを、前記物理バッファに割り当てた物理アドレスへ変換する第1の変換ステップと、
    前記第2の画像情報を変換した前記物理アドレスに基づき前記物理バッファに記憶する描画ステップと、
    を備えることを特徴とする画像処理方法。
  9. コンピュータに、画像情報を記憶させる画像処理プログラムであって、
    第1の画像情報に基づき描画領域を決定する描画領域決定ステップと、
    前記第1の画像情報を仮想的に記憶する仮想バッファに仮想アドレスを割り当てる仮想バッファ割り当てステップと、
    前記描画領域に対応する第2の画像情報を記憶する物理バッファに物理アドレスを割り当てる物理バッファ割り当てステップと、
    前記仮想バッファに割り当てた仮想アドレスを、前記物理バッファに割り当てた物理アドレスへ変換する第1の変換ステップと、
    前記第2の画像情報を変換した前記物理アドレスに基づき前記物理バッファに記憶する描画ステップと、をコンピュータに実行させる画像処理プログラム。
  10. 画像処理装置で生成した画像情報をネットワークを介し接続するクライアント装置に表示させる画像処理システムであって、
    前記画像処理装置は、
    第1の画像情報に基づき描画領域を決定する描画領域決定部と、
    前記第1の画像情報を仮想的に記憶する仮想バッファに仮想アドレスを割り当てる仮想バッファ割当部と、
    前記描画領域決定部で描画を決定した描画領域に対応する第2の画像情報を記憶する物理バッファに物理アドレスを割り当てる物理バッファ割当部と、
    前記仮想バッファに割り当てた仮想アドレスを前記物理バッファに割り当てた物理アドレスへ変換する第1の変換部と、
    前記第2の画像情報を前記第1の変換部で変換した物理アドレスに基づき前記物理バッファに記憶する描画部と、
    前記物理バッファから取得した前記第2の画像情報を外部へ送信する送信部と、を備え、
    前記クライアント装置は、
    前記画像処理装置からネットワークを介し前記第2の画像情報を受信する受信部と、
    前記受信部で受け取った画像情報を表示する表示部と、を備えることを特徴とする画像処理システム。
JP2013084383A 2013-04-12 2013-04-12 画像処理装置、画像処理方法、画像処理プログラム及び画像処理システム Abandoned JP2014206881A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013084383A JP2014206881A (ja) 2013-04-12 2013-04-12 画像処理装置、画像処理方法、画像処理プログラム及び画像処理システム
US14/179,732 US20140306977A1 (en) 2013-04-12 2014-02-13 Image processing apparatus, image processing method, image processing system, and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013084383A JP2014206881A (ja) 2013-04-12 2013-04-12 画像処理装置、画像処理方法、画像処理プログラム及び画像処理システム

Publications (1)

Publication Number Publication Date
JP2014206881A true JP2014206881A (ja) 2014-10-30

Family

ID=51686485

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013084383A Abandoned JP2014206881A (ja) 2013-04-12 2013-04-12 画像処理装置、画像処理方法、画像処理プログラム及び画像処理システム

Country Status (2)

Country Link
US (1) US20140306977A1 (ja)
JP (1) JP2014206881A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020042558A (ja) * 2018-09-11 2020-03-19 株式会社東芝 画像描画装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020042558A (ja) * 2018-09-11 2020-03-19 株式会社東芝 画像描画装置
JP7074626B2 (ja) 2018-09-11 2022-05-24 株式会社東芝 画像描画装置

Also Published As

Publication number Publication date
US20140306977A1 (en) 2014-10-16

Similar Documents

Publication Publication Date Title
US6911983B2 (en) Double-buffering of pixel data using copy-on-write semantics
CN103679785B (zh) 用于部分帧缓冲区更新的系统和方法
JP2009187379A (ja) 仮想計算機サーバ装置、更新画像検出方法およびプログラム
US10163180B2 (en) Adaptive memory address scanning based on surface format for graphics processing
US20180300080A1 (en) Storage management method, device and computer-readable medium
JP4852012B2 (ja) 画像を処理する装置、画像の更新を検出する方法およびプログラム
JP2008033688A (ja) キャッシュメモリ制御方法、及び装置
CN109766179B (zh) 一种显存分配方法以及装置
US9934145B2 (en) Organizing memory to optimize memory accesses of compressed data
US10402323B2 (en) Organizing memory to optimize memory accesses of compressed data
JP7058658B2 (ja) 映像表示方法、装置、電子機器及びコンピュータプログラム製品
JP2014206881A (ja) 画像処理装置、画像処理方法、画像処理プログラム及び画像処理システム
JP6884073B2 (ja) メモリを管理する方法及びその装置
CN105378645B (zh) 用于信息显示的系统和方法
EP2453360A2 (en) Method and apparatus for translating memory access address
JP2020042558A (ja) 画像描画装置
JP5797920B2 (ja) キャッシュメモリ装置及び制御方法
TWI663540B (zh) 改進圖形介面的渲染的方法和處理器
CN108255568B (zh) 一种终端界面显示方法及装置、终端、存储介质
JP6562419B2 (ja) 情報処理装置、及び情報処理システム
US20150154732A1 (en) Compositing of surface buffers using page table manipulation
JP6320652B2 (ja) データ処理装置、データ処理方法及びデータ処理プログラム
US20210174571A1 (en) Kernel software driven color remapping of rendered primary surfaces
KR20220032736A (ko) 복수의 그래픽 처리 유닛 기반의 분산 렌더링 방법 및 이를 위한 장치
JP2013205898A (ja) データ処理装置およびプログラム

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20150216

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150218

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160325

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20160325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160510

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20160629