JP2014026541A - 画像形成装置及び仮想マシンプログラム - Google Patents
画像形成装置及び仮想マシンプログラム Download PDFInfo
- Publication number
- JP2014026541A JP2014026541A JP2012167648A JP2012167648A JP2014026541A JP 2014026541 A JP2014026541 A JP 2014026541A JP 2012167648 A JP2012167648 A JP 2012167648A JP 2012167648 A JP2012167648 A JP 2012167648A JP 2014026541 A JP2014026541 A JP 2014026541A
- Authority
- JP
- Japan
- Prior art keywords
- graphics
- character
- virtual machine
- processing
- processing request
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1297—Printer code translation, conversion, emulation, compression; Configuration of printer parameters
- G06F3/1298—Printer language recognition, e.g. programme control language, page description language
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1827—Accessing generic data, e.g. fonts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1848—Generation of the printable image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00127—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
- H04N1/00278—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a printing apparatus, e.g. a laser beam printer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/56—Processing of colour picture signals
- H04N1/60—Colour correction or control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0082—Architecture adapted for a particular function
- G06K2215/0094—Colour printing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
【解決手段】仮想マシンが、描画するコンテンツに応じて、透過処理をさせる、もしくは透過処理をさせないようにグラフィックスライブラリを利用する。また、GPUに対して有効な描画命令を発行するようにグラフィックスライブラリを利用する。
【選択図】図3
Description
一般的に、GPUの活用は表示処理能力を向上させ、それによって表示処理の高フレームレート化とともに、CPU(Central Processing Unit)の負荷を下げる効果がある。
前記表示部により表示する画像を描画するグラフィックスプロセッサを用いたグラフィックスドライバと、
APIを介した処理要求に応じて、前記グラフィックスドライバに対して描画要求を発行するグラフィックスライブラリと、
所定のプログラミング言語で記述されたプログラムを実行する仮想マシン手段であって、該仮想マシン手段は、実行するプログラムに応じて前記APIを介して前記グラフィックスライブラリに対する処理要求を発行して処理を遂行する仮想マシン手段と
を備え、
前記仮想マシン手段は、プログラムの実行により描画を行う場合には、フレームバッファに描かれた画像データの色に透過値が含まれるか否か判定し、透過値が含まれる場合には、前記グラフィックスライブラリとして透過処理対応のグラフィックスライブラリを選択し、該グラフィックスライブラリに対する描画の処理要求を発行し、透過値が含まれない場合には、前記グラフィックスライブラリとして、透過処理非対応のグラフィックスライブラリを選択し、該グラフィックスライブラリに対する描画の処理要求を発行する。
前記表示部により表示する画像を描画するグラフィックスプロセッサを用いたグラフィックスドライバと、
APIを介した処理要求に応じて、前記グラフィックスドライバに対して描画要求を発行するグラフィックスライブラリと、
所定のプログラミング言語で記述されたプログラムを実行する仮想マシン手段であって、該仮想マシン手段は、実行するプログラムに応じて前記APIを介して前記グラフィックスライブラリに対する処理要求を発行して処理を遂行する仮想マシン手段と
を備え、
前記仮想マシン手段は、プログラムの実行により、ラスタラインに平行または直交する直線の描画を行う場合には、前記直線の幅を短辺の長さとし、前記直線の長さを長辺の長さとする矩形領域を塗りつぶす描画の処理要求を前記グラフィックスライブラリに対して発行する。
前記表示部により表示する画像を描画するグラフィックスプロセッサを用いたグラフィックスドライバと、
APIを介した処理要求に応じて、前記グラフィックスドライバに対して描画要求を発行するグラフィックスライブラリと、
所定のプログラミング言語で記述されたプログラムを実行する仮想マシン手段であって、該仮想マシン手段は、実行するプログラムに応じて前記APIを介して前記グラフィックスライブラリに対する処理要求を発行して処理を遂行する仮想マシン手段と
を備え、
前記仮想マシン手段は、プログラムの実行により、文字の描画を行う場合には、前記文字に対応した文字画像を生成し、該文字画像のうち、文字を構成する画素を、画素ごとに描画する処理要求を前記グラフィックスライブラリに対して発行する。
前記仮想マシンプログラムは、所定のプログラミング言語で記述されたプログラムを実行し、実行するプログラムに応じて前記APIを介して前記グラフィックスライブラリに対する処理要求を発行して処理を遂行し、描画を行う場合には、フレームバッファに描かれた画像データの色に透過値が含まれるか否か判定し、透過値が含まれる場合には、前記グラフィックスライブラリとして透過処理対応のグラフィックスライブラリを選択し、該グラフィックスライブラリに対する描画の処理要求を発行し、透過値が含まれない場合には、前記グラフィックスライブラリとして、透過処理非対応のグラフィックスライブラリを選択し、該グラフィックスライブラリに対する描画の処理要求を発行する仮想マシンプログラム。
前記仮想マシンプログラムは、所定のプログラミング言語で記述されたプログラムを実行し、実行するプログラムに応じて前記APIを介して前記グラフィックスライブラリに対する処理要求を発行して処理を遂行し、ラスタラインに平行または直交する直線の描画を行う場合には、前記直線の幅を短辺の長さとし、前記直線の長さを長辺の長さとする矩形領域を塗りつぶす描画の処理要求を前記グラフィックスライブラリに対して発行する仮想マシンプログラム。
前記仮想マシンプログラムは、所定のプログラミング言語で記述されたプログラムを実行し、実行するプログラムに応じて前記APIを介して前記グラフィックスライブラリに対する処理要求を発行して処理を遂行し、文字の描画を行う場合には、前記文字に対応した文字画像を生成し、該文字画像のうち、文字を構成する画素を、画素ごとに描画する処理要求を前記グラフィックスライブラリに対して発行する仮想マシンプログラム。
<ハードウェア構成>
図1は、本発明の第1の実施形態に係る画像形成装置の内部構成の一例を示すハードウェア構成図である。図1に示す画像形成装置は、基本的な構成として、画像形成装置内の各部を制御するコントローラユニット100と、操作部112と、スキャナ部123と、プリンタ部125とを備える。操作部112は、例えば、数字を入力するためのテンキーや処理の実行を行うためのスタートキーなどのハードキーや液晶タッチパネルで構成され、ユーザが画像形成装置を操作するためのユーザインタフェースを提供する。操作部112のタッチパネルに表示される各設定項目を表すアイコンやボタン(もしくはハードキー)をタッチ(押下)することで、画像形成装置に設定や情報の入力を行うことが可能である。
図2は本発明の画像形成装置のソフトウェア構成図の一例である。なお、本図のソフトウェア構成図は説明の便宜上、階層構造で表現されているようにみえるが、必ずしも上位層と下位層が明確になっているわけではなく、機能によっては並列な関係をとりうることに注意されたい。つまり、本発明のソフトウェア構造の様態はこの形式に限定されるものではない。画像形成装置のソフトウェアは、HDD104に格納されている。
システムサービス264は、画像形成装置に事前に登録されているアプリであり、他のアプリに機能を提供するものや、単独で機能するものがある。他のアプリに機能を提供するものとして、例えば、エラー発生時の処理を代替するエラーリカバリーサービスや操作部112を制御するアプレットビューワーサービス(AVS)などがある。また、単独で機能するものとして、PCからブラウザを使用してアクセスされ、所定のアプリ・ファイルを受信するサービスマネジメントサービス(SMS)などがある。アプリA265は、SMSによってインストールされたアプリであり、画像形成装置上で様々な機能を提供するものである。アプリA265はAVSを実行時に参照し、操作部112を介してユーザとやり取りを行うことが可能である。また、アプリA265は、API263を介して、画像形成装置が提供するシステムライブラリ261や標準ライブラリ262の機能を利用できる。システムライブラリ261には、例えば、プリント処理やコピー処理やスキャン処理といったジョブを制御する機能も含まれる。アプリA265は、システムライブラリ261を利用することで画像形成装置が持つNetwork部109を介して、PCなどからデータを受信し、プリンタ部125を使って印刷することも可能である。標準ライブラリ262には計算処理や文字列処理、通信処理、画面制御処理、暗号処理などの画像形成装置上に限定されない汎用的な機能を提供するためのライブラリである。アプリフレームワーク260は、アプリのライフサイクルを管理する機能を提供するものである。
仮想マシン250は、Java(登録商標)に代表される所定のプログラミング言語で記述されたアプリの実行環境を提供するプログラム(仮想マシンプログラム)である。仮想マシン(あるいは仮想マシン部)250は、アプリ等のソースコードを仮想マシン用にコンパイルして得られたバイトコードを解釈するバイトコード解釈部251、解釈されたネイティブコマンドを制御するネイティブコマンド制御部252、仮想マシン250上で動作するアプリ用のリソース(たとえばアプリのバイトコードや生成したインスタンスなど)を管理する仮想マシンリソース管理部253、アプリからの操作部112への描画命令を処理するグラフィックス処理制御部254、コントローラユニット100・操作部112・スキャナ部123・プリンタ部125の状態変化をアプリに通知するための制御を行うイベント制御部255、仮想マシン250がネイティブ制御部201への処理を要求する際に必要となるリソースを管理するネイティブリソース管理部256を含む。バイトコード解釈部251は、解釈したバイトコードをネイティブコマンドに変換し、ネイティブコマンド制御部252に処理を要求する。ネイティブコマンド制御部252は、ネイティブコマンドの内容に基づいて、ネイティブ制御部201、グラフィックス処理制御部254、イベント制御部255、仮想マシンリソース管理部253、ネイティブリソース管理部256に処理を要求する。例えば、ネイティブコマンド制御部252は、アプリからオブジェクトの新規生成要求を受けた時、仮想マシンリソース管理部253に該当オブジェクトの生成とオブジェクトのライフサイクルの管理を要求する。なお、オブジェクトには変数や定数を格納するフィールドと呼ばれる領域や処理命令を格納するメソッドエリアからなり、これらも仮想マシンリソース管理部253で管理される。また、ネイティブコマンド制御部252は、アプリからの画面描画命令を受けた時、グラフィックス処理制御部254に画面の描画を要求する。グラフィックス処理制御部254は、ネイティブライブラリ220を用いて、描画の準備や制御を行うとともに、ネイティブグラフィックス制御部210に描画要求を行う。描画要求を発行して要求された処理を遂行する。また、ネイティブコマンド制御部252は、例えば、アプリによる操作部112に対する入力操作の検出要求を解釈した時、イベント制御部255に操作イベントの登録を要求する。イベント制御部255は、ウィンドウシステム214から入力イベントを検知すると、その入力イベントを登録している全てのアプリに通知する。なお、イベント制御部255は、コントローラユニット100が省電力状態に変化したときのイベントやスキャナ部123に用紙がセットされたときのイベントなども制御でき、操作部112に関するイベントの制御に限定されない。また、ネイティブコマンド制御部252は、仮想マシン250自身が必要とするリソースの管理をネイティブリソース管理部256に要求する。ネイティブリソース管理部256は、仮想マシン250が動作に必要とする領域の確保や、スレッドの確保などをネイティブライブラリ220に要求する。その他、ネイティブリソース管理部256は、グラフィックス処理制御部254がネイティブグラフィックスライブラリ211から確保した内部的に利用する領域の管理も行う。
ネイティブ制御部201は、仮想マシン201による要求を処理し、また、仮想マシン201に対してイベントを通知するなどの処理を行う。ネイティブ制御部201は、ネイティブグラフィックス制御部210、ネイティブライブラリ220、OS230、ドライバ240を含む。ネイティブグラフィックス制御部210は、グラフィックスライブラリ211、ウィンドウシステム214、グラフィックスドライバ215、フレームバッファドライバ216を含む。ネイティブグラフィックス制御部210は主に、RAM102上に確保された領域への画面情報の書き出しと、その情報を操作部112に出力する機能を提供する。ここで、これらの機能は、CPU101もしくはGPU130またはその両方により行われる。
図3は、仮想マシン250に含まれたグラフィックス処理制御部254の詳細を表すソフトウェア構成図の一例である。グラフィックス初期化部301は、仮想マシン250の起動時やオフスクリーン生成時にネイティブリソース管理部256に、対象となるスクリーンの領域の管理を要求する。なお、スクリーンとは、仮想マシン250が描画可能な領域のことである。また、グラフィックス初期化部301は、グラフィックスコンテキスト(以下、GCともいう)の生成を行う。ここで、グラフィックスコンテキストとは、スクリーンに紐づいた情報であり、描画する色や描画範囲など、描画に関する情報(描画属性)を格納しているリソースである。またたとえばJAVA(登録商標)においては、グラフィックスコンテキストは定義済みのクラスであり、情報に加えて例えば特定の項目の値を変更するメソッド等も併せて定義されている。なお、グラフィックスコンテキストは、1つのスクリーンに対して複数取得可能である。例えば、本発明では、スクリーンごとに透過処理を行うグラフィックスコンテキストと透過処理を行わないグラフィックスコンテキストの2つのグラフィックスコンテキストを生成する。そして、GC切り替え部304が、使用するグラフィックスコンテキストを切り替える。スクリーン情報管理部302は、グラフィックス初期化部301によって生成されたスクリーンとスクリーンに付随する情報(色、描画範囲など)を管理している。GC管理部303は、グラフィックス初期化部301によって生成されたグラフィックスコンテキストを管理している。グラフィックス描画制御部305は、コンテンツを描画するための準備を行い、線描画部306、文字描画部307、画像描画部308、矩形描画部309、点描画部310およびネイティブグラフィックス制御部210に描画の要求を行う。なお、コンテンツとは、スクリーンに描画する線、矩形、文字、画像などの描画オブジェクトの総称である。線描画部306は、スクリーンに線を描画する機能を有する。文字描画部307は、スクリーンに文字を描画する機能を有する。画像描画部308は、スクリーンに画像を描画する機能を有する。矩形描画部309は、スクリーンに矩形を描画する機能を有する。点描画部310は、スクリーンに点を描画する機能を有する。なお、円や多角形の描画は、線描画部306や点描画部310を組み合わせて実現可能である。それゆえ、仮想マシン250が描画可能なコンテンツは、本実施の形態であげている線や文字などに限定されるものではないことに注意されたい。
図4は、グラフィックス初期化部301によって行われる初期化処理のフローチャートを示した図である。本フローチャートは、仮想マシン250の起動時や仮想マシン250がオフスクリーンの生成処理の要求を検知した時の処理である。ステップ401では、バイトコード制御部251から解釈されたスクリーンの初期化に関するネイティブコマンドを、ネイティブコマンド制御部252がグラフィックス初期化部301に通知する。ステップ402では、グラフィックス初期化部301は、通知内容に即したサイズのスクリーンを生成するように、グラフィックスライブラリ211に要求する。そして、グラフィックス初期化部301は、生成されたスクリーンをネイティブリソース管理部256に格納するように要求する。ステップ403では、グラフィックス初期化部301は、生成したスクリーンに関連した透過処理を行う透過グラフィックスコンテキスト(透過GC)の生成をグラフィックスライブラリ211に要求する。そして、生成した透過GCをGC管理部303に格納するように要求する。ステップ404では、ステップ403と同様に、生成したスクリーンに関連した透過処理を行わない不透過GCの生成と格納とを行う。なお、本実施の形態では、透過GCに基づいた描画処理は透過対応グラフィックスライブラリ212で、不透過GCに基づいた描画処理は、透過未対応グラフィックスライブラリ213で描画することに対応する。ステップ402で生成されたスクリーンは、サイズのみならずたとえば色の指定もされる。色の指定には透過度の指定を含む。したがって生成されたスクリーンは、指定されたサイズを持ち指定された色を持つ。なおスクリーンやグラフィックスコンテキストは、前述したように例えばJAVA(登録商標)においては事前定義されたクラスであり、スクリーンやグラフィックスコンテキストの生成とはそのインスタンスの生成により実現できる。
図5は、仮想マシンリソース管理部253で管理されている描画処理に関するオブジェクトの情報を示す概念例である。この図では、CopyAppletClassというオブジェクトのpaintメソッドの内容を表している。図示されるg1やg2は、スクリーンに該当するものであり、g1.drawline(0,0,100,100)という処理は、g1スクリーンに2点間(0,0)、(100、100)に線を引くという処理にあたる。同様に、g2.drawRectangleはg2スクリーンに矩形を描画するという処理、g2.drawImageはg2スクリーンに画像やオフスクリーンを描画する処理にあたる。そして、g2.setColor(0,0,255)という処理は、これより後の処理でg2スクリーンに描画されるコンテンツの色を指定している。このメソッドは、グラフィックコンテキストとして設定された描画色を変更するメソッドである。このように、仮想マシンリソース管理部253には、コンテンツを描画する手順(メソッド)が事前定義されたオブジェクトが管理されている。このpaintメソッドを実行すると、図5に示した各命令が順次実行されてスクリーンg1、g2それぞれにラインや矩形が描画され、スクリーンg2がオフスクリーンで描画される。なお、図5は、あくまで説明上のものであり、仮想マシンリソース管理部253でのオブジェクトの管理形態が本概念図に限定されるものではない。
図6(A)は、コンテンツの描画処理のフローチャートを示している。ステップ601では、仮想マシン250は、アプリから描画の要求を受け付ける。なお、描画要求の発生するタイミングとして、アプリの起動時や操作部112に対する入力検知に基づいた画面遷移、ウィンドウシステム214が管理している仮想マシン250のウィンドウが最上面でない状態から最上面になったときなどがある。ステップ602では、バイトコード制御部251は、仮想マシンリソース管理部253からバイトコードの参照が完了するまで、バイトコードを逐次解釈し、ステップ603〜ステップ605の処理を繰り返す。ステップ603では、バイトコード制御部251は解釈したバイトコードをネイティブコマンドとしてネイティブコマンド制御部252に通知する。ステップ604では、ネイティブコマンド制御部252は、描画に関するネイティブコマンドを処理するようにグラフィックス制御部254に要求する。ステップ605では、グラフィックス制御254がコンテンツの描画を行う(詳細は後述する)。
図7は、ステップ605のコンテンツの描画処理の詳細なフローチャートを示す。ステップ701では、グラフィックス描画制御部305は、スクリーン情報管理部302から、コンテンツを描画するスクリーンに設定されている色情報を取得する。コンテンツを描画するスクリーンに設定されている色情報とは、たとえばスクリーンの背景色の色情報である。グラフィックス描画制御部305は、取得した色情報から透過値の有無を判別する。色情報には、たとえばRGBの各色成分を含むが、透過処理の対象となる色であればさらに透過値(あるいはアルファチャネル)を含む。スクリーンに設定されている色が透過値そのものを含まなければ、そのスクリーンに描画されるコンテンツに対する透過処理は不要と判断できる。逆に、色に透過値が含まれ、かつ透過値が0より大きい(あるいは不透過度が1より小さい)なら、透過処理が必要である。そこで、0より大きい透過値がある場合は、ステップ702に、透過値がない場合は、ステップ703に処理を移す。ステップ702では、GC切り替え部304は、GC管理部303に透過GCの取得を要求する。そして、取得した透過GCを現在のグラフィックスコンテキストにし、スクリーンの色情報をグラフィックスコンテキストにセットする。グラフィックスコンテキストは、それを用いた描画の際に参照されるため、透過GCをセットすれば、その後の描画では透過率を有する色で描画されることとなる。なお、ステップ701では、取得した色に透過値が含まれていても、その値が0(すなわち全く透過しない)であれば、透過処理不要としてステップ703に分岐するように構成してもよい。ステップ703では、GC切り替え部304は、GC管理部303に不透過GCの取得を要求する。そして、取得した不透過GCを現在のグラフィックスコンテキストにし、スクリーンの色情報をグラフィックスコンテキストにセットする。ステップ704では、グラフィックス描画制御部305は、描画するコンテンツの種類を判別する。コンテンツが線の場合はステップ705、文字の場合はステップ706、画像の場合はステップ707、矩形の場合はステップ708、点の場合はステップ709に処理を移す。ステップ705の線の描画、ステップ706の文字の描画の詳細は後述する。ステップ707では、画像描画部308は、仮想マシンリソース管理部253に格納されている画像オブジェクトを、バイトコード制御部251を介して取得する。画像描画部308は、取得した画像オブジェクトから画像サイズを取得し、グラフィックスライブラリ211に対して画像を描画するためのバッファの確保を要求する。そして、画像描画部308は、取得した画像バッファをネイティブリソース管理部256にいったん格納する。その後、画像描画部308は、画像バッファに画像オブジェクトのピクセルデータを格納し、現在のグラフィックスコンテキストに基づいてグラフィックスライブラリ211に画像バッファの描画を要求する。ステップ708では、矩形描画部309は、現在のグラフィックスコンテキストに基づいてグラフィックスライブラリ211に矩形の描画を要求する。ステップ709では、点描画部は、現在のグラフィックスコンテキストに基づいてグラフィックスライブラリ211に点の描画を要求する。
図8は、線描画部306の詳細を表すソフトウェア構成図である。線描画処理制御部801は、グラフィックス描画制御部305からコンテンツの描画要求を受け付け、線種判定部805の結果に基づいて直線描画要求部805もしくは矩形描画要求部806にコンテンツの描画を要求する。コンテンツ記憶部803は、線描画処理制御部801からの要求に伴いコンテンツを格納する。線種判定部805は、コンテンツが垂直線・水平線かどうかを判別する。直線描画要求部805は、グラフィックスライブラリ211に直線の描画を要求する。矩形描画要求部806は、グラフィックスライブラリ211に幅が1となる矩形を用いて垂直線・水平線の描画を要求する。
図10は、文字描画部307の詳細を表すソフトウェア構成図である。文字描画処理制御部1001は、グラフィックス描画制御部305からコンテンツの描画要求を受け付け、フォントデータ解釈部1002にコンテンツをフォントデータとして解釈させる。そして、文字描画処理制御部1001は、文字描画要求部1010にフォントデータの描画を要求する。フォントデータ解釈部1002は、コンテンツを読み取り、フォントデータとして解釈し、フォントデータ記憶部1003に格納する。なお、コンテンツをフォントデータとして解釈するということは、コンテンツが「A」という文字であった場合、「A」をスクリーンに出力するために、「A」をラスタライズされたピクセルの集まり(フォントデータ)として認識することである。文字描画部307は、グラフィックスライブラリ211にフォントデータ記憶部1003に格納されたフォントデータの描画要求を行う。点描画要求部1011は、フォントデータを構成するピクセルを解析し、不透過なピクセルをグラフィックスライブラリ211に描画するように要求する。
以上のように、本発明の仮想マシン250は、アプリをコンパイルして得られたバイトコードを仮想マシンリソース管理部253にロードし、バイトコード制御部251が逐次解釈する。そして、解釈されたネイティブコマンドをグラフィックス処理制御部254がグラフィックスライブラリ211に描画の要求を送ることで、操作部112への描画処理を実現している。さらに、描画処理の過程において、スクリーンの透過値に応じてグラフィックスコンテキストを切り替えて、適切なグラフィックスライブラリ211にコンテンツの描画を要求する。これにより、透過値のないコンテンツの描画には、透過未対応グラフィックスライブラリ213を使って描画することになる。このため、透過値がなくても必ず透過値を考慮して描画処理を行う透過対応グラフィックスライブラリ212で描画するよりも、描画時間を短縮できる。なぜならば、GPU130が透過処理に対応してない、もしくは、対応していてもグラフィックスドライバ215が対応していなければ、GPU130を使った透過処理の高速化は行えない。さらにいえば、ウィンドウシステム214が透過処理に対応した描画コマンドをグラフィックスドライバ215に発行する仕組みを利用していなければ、当然ながらGPU130の恩恵を享受できない。つまりは、このようなウィンドウシステム214上での動作を想定しているグラフィックスライブラリ211は、透過処理をCPU101で行うことになる。このため、本発明の仮想マシン250のように、適切に、不透過対応グラフィックスライブラリ212を利用して、不要な透過処理を省略することは、CPU101の負荷を下げることにつながり、画像形成装置のパフォーマンスを高められる。
本実施形態では、文字の描画について特に説明する。本実施形態では、GPU130及びグラフィックスドライバ215が透過処理対応であることが前提である。第1の実施の形態では、文字描画要求部1010は、点描画要求部1011を用いて、操作部112に文字の描画を行っていた。しかし、グラフィックスライブラリ211がGPU130を活用できている場合、点描画は、1ピクセルごとにGPU130を呼び出すような処理となる。このため、文字に含まれる不透過ピクセルの数が多くなればなるほど、CPU101とGPU130間の通信が増えるため、ユーザへの応答速度が遅くなる。このような、点描画におけるオーバーヘッドを抑えるための実施の形態について説明する。なお、図中に表示される構成要素の番号やステップが第1の実施の形態と同じものについては、同じ機能、もしくは、同じ処理を指すため、説明を省略する。
第2の実施の形態では、すべての文字を画像として描画することにより、文字描画処理の高速化を実現している。しかし、例えば「,」や「'」といった不透過のピクセルが少ないフォントデータに対しても、画像として描画することになる。不透過のピクセルが少なければ、GPU130のオーバーヘッドよりもCPU101による画像バッファの生成と、GPU130を用いた画像描画を合わせた処理時間の方が上回ることがある。このような、画像描画におけるオーバーヘッドを抑えるための実施の形態について説明する。なお、図中に表示される構成要素の番号やステップが第1および第2の実施の形態と同じものについては、同じ機能、もしくは、同じ処理を指すため、説明を省略する。
第3の実施の形態では、閾値によって、文字の描画方法を切り替えている。一方で、仮想マシン250がサポートするフォントサイズは複数あることが一般的である。このため、フォントサイズに応じた閾値を与えなければ、適切に描画方法を切り替えられない。これは、フォントサイズが複数種類にわたる場合、すべてのサイズについて適切な閾値を算出する必要があることを意味し、パフォーマンスチューニングの作業工数増加につながる。このような、複数のフォントサイズをサポートする仮想マシン250における文字の描画の切り替え方法について説明する。なお、図中に表示される構成要素の番号やステップが第1、第2および第3の実施の形態と同じものについては、同じ機能、もしくは、同じ処理を指すため、説明を省略する。
また、本実施形態のように所要時間の予測を行うと、予測処理自体のオーバーヘッドが発生する。そこで、例えば図17のステップ1101からステップ1703までの処理を予め行っておき、文字コード及びサイズごとに、ピクセル単位の処理か、あるいは画像としての処理か、いずれを行うか決定しておき、決定結果を文字コード及びサイズと関連付けて保存しておく。描画時には、ステップ1101,1102の後ステップ1703に進み、保存した前述の決定結果をステップ1703における判定基準として、ステップ1103またはステップ1301に分岐する。このように構成することも可能である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
Claims (21)
- 表示部を有する画像形成装置であって、
前記表示部により表示する画像を描画するグラフィックスプロセッサを用いたグラフィックスドライバと、
APIを介した処理要求に応じて、前記グラフィックスドライバに対して描画要求を発行するグラフィックスライブラリと、
所定のプログラミング言語で記述されたプログラムを実行する仮想マシン手段であって、該仮想マシン手段は、実行するプログラムに応じて前記APIを介して前記グラフィックスライブラリに対する処理要求を発行して処理を遂行する仮想マシン手段と
を備え、
前記仮想マシン手段は、プログラムの実行により描画を行う場合には、フレームバッファに描かれた画像データの色に透過値が含まれるか否か判定し、透過値が含まれる場合には、前記グラフィックスライブラリとして透過処理対応のグラフィックスライブラリを選択し、該グラフィックスライブラリに対する描画の処理要求を発行し、透過値が含まれない場合には、前記グラフィックスライブラリとして、透過処理非対応のグラフィックスライブラリを選択し、該グラフィックスライブラリに対する描画の処理要求を発行することを特徴とする画像形成装置。 - 前記透過処理対応のグラフィックスライブラリは、前記グラフィックスドライバに対して、透過処理を伴う描画要求を発行し、前記透過処理非対応のグラフィックスライブラリは、前記グラフィックスドライバに対して、透過処理を伴わない描画要求を発行することを特徴とする請求項1に記載の画像形成装置。
- 前記グラフィックスプロセッサを用いずに前記表示部により表示する画像を描画するフレームバッファドライバをさらに備え、
前記グラフィックスライブラリはまた、前記グラフィックスプロセッサが対応していない描画処理については、前記グラフィックスドライバに代えて、前記フレームバッファドライバに対して描画要求を発行することを特徴とする請求項1又は2に記載の画像形成装置。 - 前記仮想マシン手段はさらに、プログラムの実行により、ラスタラインに平行または直交する直線の描画を行う場合には、前記直線の幅を短辺の長さとし、前記直線の長さを長辺の長さとする矩形領域を塗りつぶす描画の処理要求を前記グラフィックスライブラリに対して発行することを特徴とする請求項1乃至3のいずれか一項に記載の画像形成装置。
- 前記直線の幅は所定値であるか、または前記仮想マシン手段が生成したグラフィックコンテキストに含まれた線幅の値であることを特徴とする請求項4に記載の画像形成装置。
- 前記仮想マシン手段はさらに、プログラムの実行により、文字の描画を行う場合には、前記文字に対応した文字画像を生成し、該文字画像のうち、文字を構成する画素を、画素ごとに描画する処理要求を前記グラフィックスライブラリに対して発行することを特徴とする請求項1乃至3のいずれか一項に記載の画像形成装置。
- 前記仮想マシン手段は、文字の描画を行う場合には、前記文字に対応した文字画像を生成し、画素ごとに描画する処理要求を発行することなく、前記文字画像を描画する処理要求を前記グラフィックスライブラリに対して発行することを特徴とする請求項6に記載の画像形成装置。
- 前記仮想マシン手段は、文字の描画を行う場合には、前記文字に対応した文字画像を生成し、該文字画像のうち、文字を構成する画素の数を閾値と比較し、閾値以下であれば画素ごとに描画する処理要求を前記グラフィックスライブラリに対して発行し、閾値を超えていれば、画素ごとに描画する処理要求を発行することなく、前記文字画像を描画する処理要求を前記グラフィックスライブラリに対して発行することを特徴とする請求項6に記載の画像形成装置。
- 前記仮想マシン手段は、文字の描画を行う場合には、前記文字に対応した文字画像を生成し、画素ごとに描画する処理要求を前記グラフィックスライブラリに対して発行した場合の処理時間の予測値と、画素ごとに描画する処理要求を発行することなく、前記文字画像を描画する処理要求を前記グラフィックスライブラリに対して発行した場合の処理時間の予測値とをそれぞれ求めて比較し、予測値が小さい方の処理要求を前記グラフィックスライブラリに対して発行することを特徴とする請求項6に記載の画像形成装置。
- 表示部を有する画像形成装置であって、
前記表示部により表示する画像を描画するグラフィックスプロセッサを用いたグラフィックスドライバと、
APIを介した処理要求に応じて、前記グラフィックスドライバに対して描画要求を発行するグラフィックスライブラリと、
所定のプログラミング言語で記述されたプログラムを実行する仮想マシン手段であって、該仮想マシン手段は、実行するプログラムに応じて前記APIを介して前記グラフィックスライブラリに対する処理要求を発行して処理を遂行する仮想マシン手段と
を備え、
前記仮想マシン手段は、プログラムの実行により、ラスタラインに平行または直交する直線の描画を行う場合には、前記直線の幅を短辺の長さとし、前記直線の長さを長辺の長さとする矩形領域を塗りつぶす描画の処理要求を前記グラフィックスライブラリに対して発行することを特徴とする画像形成装置。 - 前記直線の幅は所定値であるか、または前記仮想マシン手段が生成したグラフィックコンテキストに含まれた線幅の値であることを特徴とする請求項10に記載の画像形成装置。
- 表示部を有する画像形成装置であって、
前記表示部により表示する画像を描画するグラフィックスプロセッサを用いたグラフィックスドライバと、
APIを介した処理要求に応じて、前記グラフィックスドライバに対して描画要求を発行するグラフィックスライブラリと、
所定のプログラミング言語で記述されたプログラムを実行する仮想マシン手段であって、該仮想マシン手段は、実行するプログラムに応じて前記APIを介して前記グラフィックスライブラリに対する処理要求を発行して処理を遂行する仮想マシン手段と
を備え、
前記仮想マシン手段は、プログラムの実行により、文字の描画を行う場合には、前記文字に対応した文字画像を生成し、該文字画像のうち、文字を構成する画素を、画素ごとに描画する処理要求を前記グラフィックスライブラリに対して発行することを特徴とする画像形成装置。 - 前記仮想マシン手段は、文字の描画を行う場合には、前記文字に対応した文字画像を生成し、画素ごとに描画する処理要求を発行することなく、前記文字画像を描画する処理要求を前記グラフィックスライブラリに対して発行することを特徴とする請求項12に記載の画像形成装置。
- 前記仮想マシン手段は、文字の描画を行う場合には、前記文字に対応した文字画像を生成し、該文字画像のうち、文字を構成する画素の数を閾値と比較し、閾値以下であれば画素ごとに描画する処理要求を前記グラフィックスライブラリに対して発行し、閾値を超えていれば、画素ごとに描画する処理要求を発行することなく、前記文字画像を描画する処理要求を前記グラフィックスライブラリに対して発行することを特徴とする請求項12に記載の画像形成装置。
- 前記仮想マシン手段は、文字の描画を行う場合には、前記文字に対応した文字画像を生成し、画素ごとに描画する処理要求を前記グラフィックスライブラリに対して発行した場合の処理時間の予測値と、画素ごとに描画する処理要求を発行することなく、前記文字画像を描画する処理要求を前記グラフィックスライブラリに対して発行した場合の処理時間の予測値とをそれぞれ求めて比較し、予測値が小さい方の処理要求を前記グラフィックスライブラリに対して発行することを特徴とする請求項12に記載の画像形成装置。
- 表示部を有する画像形成装置のプロセッサにより実行される仮想マシンプログラムであって、前記画像形成装置は、前記表示部により表示する画像を描画するグラフィックスプロセッサを用いたグラフィックスドライバと、APIを介した処理要求に応じて、前記グラフィックスドライバに対して描画要求を発行するグラフィックスライブラリとを有しており、
前記仮想マシンプログラムは、所定のプログラミング言語で記述されたプログラムを実行し、実行するプログラムに応じて前記APIを介して前記グラフィックスライブラリに対する処理要求を発行して処理を遂行し、描画を行う場合には、フレームバッファに描かれた画像データの色に透過値が含まれるか否か判定し、透過値が含まれる場合には、前記グラフィックスライブラリとして透過処理対応のグラフィックスライブラリを選択し、該グラフィックスライブラリに対する描画の処理要求を発行し、透過値が含まれない場合には、前記グラフィックスライブラリとして、透過処理非対応のグラフィックスライブラリを選択し、該グラフィックスライブラリに対する描画の処理要求を発行することを特徴とする仮想マシンプログラム。 - 表示部を有する画像形成装置のプロセッサにより実行される仮想マシンプログラムであって、前記画像形成装置は、前記表示部により表示する画像を描画するグラフィックスプロセッサを用いたグラフィックスドライバと、APIを介した処理要求に応じて、前記グラフィックスドライバに対して描画要求を発行するグラフィックスライブラリとを有しており、
前記仮想マシンプログラムは、所定のプログラミング言語で記述されたプログラムを実行し、実行するプログラムに応じて前記APIを介して前記グラフィックスライブラリに対する処理要求を発行して処理を遂行し、ラスタラインに平行または直交する直線の描画を行う場合には、前記直線の幅を短辺の長さとし、前記直線の長さを長辺の長さとする矩形領域を塗りつぶす描画の処理要求を前記グラフィックスライブラリに対して発行することを特徴とする仮想マシンプログラム。 - 表示部を有する画像形成装置のプロセッサにより実行される仮想マシンプログラムであって、前記画像形成装置は、前記表示部により表示する画像を描画するグラフィックスプロセッサを用いたグラフィックスドライバと、APIを介した処理要求に応じて、前記グラフィックスドライバに対して描画要求を発行するグラフィックスライブラリとを有しており、
前記仮想マシンプログラムは、所定のプログラミング言語で記述されたプログラムを実行し、実行するプログラムに応じて前記APIを介して前記グラフィックスライブラリに対する処理要求を発行して処理を遂行し、文字の描画を行う場合には、前記文字に対応した文字画像を生成し、該文字画像のうち、文字を構成する画素を、画素ごとに描画する処理要求を前記グラフィックスライブラリに対して発行することを特徴とする仮想マシンプログラム。 - 文字の描画を行う場合には、前記文字に対応した文字画像を生成し、画素ごとに描画する処理要求を発行することなく、前記文字画像を描画する処理要求を前記グラフィックスライブラリに対して発行することを特徴とする請求項18に記載の仮想マシンプログラム。
- 文字の描画を行う場合には、前記文字に対応した文字画像を生成し、該文字画像のうち、文字を構成する画素の数を閾値と比較し、閾値以下であれば画素ごとに描画する処理要求を前記グラフィックスライブラリに対して発行し、閾値を超えていれば、画素ごとに描画する処理要求を発行することなく、前記文字画像を描画する処理要求を前記グラフィックスライブラリに対して発行することを特徴とする請求項18に記載の仮想マシンプログラム。
- 文字の描画を行う場合には、前記文字に対応した文字画像を生成し、画素ごとに描画する処理要求を前記グラフィックスライブラリに対して発行した場合の処理時間の予測値と、画素ごとに描画する処理要求を発行することなく、前記文字画像を描画する処理要求を前記グラフィックスライブラリに対して発行した場合の処理時間の予測値とをそれぞれ求めて比較し、予測値が小さい方の処理要求を前記グラフィックスライブラリに対して発行することを特徴とする請求項18に記載の仮想マシンプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012167648A JP5955148B2 (ja) | 2012-07-27 | 2012-07-27 | 画像形成装置及び仮想マシンプログラム |
US13/936,676 US8860957B2 (en) | 2012-07-27 | 2013-07-08 | Image forming apparatus having a virtual machine for performing processing by issuing a processing request to a graphics library via an API |
KR1020130085094A KR101571595B1 (ko) | 2012-07-27 | 2013-07-19 | 화상 형성 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012167648A JP5955148B2 (ja) | 2012-07-27 | 2012-07-27 | 画像形成装置及び仮想マシンプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014026541A true JP2014026541A (ja) | 2014-02-06 |
JP5955148B2 JP5955148B2 (ja) | 2016-07-20 |
Family
ID=49994597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012167648A Expired - Fee Related JP5955148B2 (ja) | 2012-07-27 | 2012-07-27 | 画像形成装置及び仮想マシンプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US8860957B2 (ja) |
JP (1) | JP5955148B2 (ja) |
KR (1) | KR101571595B1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016095580A (ja) * | 2014-11-12 | 2016-05-26 | キヤノン株式会社 | 画像形成装置、画像形成方法、プログラム |
JP2021012703A (ja) * | 2020-09-14 | 2021-02-04 | キヤノン株式会社 | アプリケーション実行装置及びその制御方法、並びにプログラム |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677858B (zh) * | 2012-08-30 | 2019-09-10 | 南京中兴新软件有限责任公司 | 一种云环境中虚拟机软件管理的方法、系统及设备 |
US10127062B2 (en) * | 2013-10-22 | 2018-11-13 | Citrix Systems, Inc. | Displaying graphics for local virtual machine by allocating textual buffer |
JP6771874B2 (ja) * | 2015-09-16 | 2020-10-21 | キヤノン株式会社 | 情報処理装置、その制御方法及びプログラム |
JP6700848B2 (ja) * | 2016-02-23 | 2020-05-27 | キヤノン株式会社 | 管理システム、制御方法 |
JP6812141B2 (ja) * | 2016-05-31 | 2021-01-13 | キヤノン株式会社 | 情報処理装置、情報処理方法およびプログラム |
KR102671404B1 (ko) | 2016-12-12 | 2024-05-31 | 삼성전자주식회사 | 모션 기반 영상을 처리하는 방법 및 장치 |
US10679314B2 (en) | 2017-03-15 | 2020-06-09 | Microsoft Technology Licensing, Llc | Techniques for reducing perceptible delay in rendering graphics |
KR20210009515A (ko) * | 2019-07-17 | 2021-01-27 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 사용자 정의 서비스 관리 |
CN116450363B (zh) * | 2023-06-13 | 2023-11-14 | 荣耀终端有限公司 | 一种资源调度方法及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH052459A (ja) * | 1991-06-24 | 1993-01-08 | Brother Ind Ltd | 描画装置 |
JP2001117750A (ja) * | 1999-10-22 | 2001-04-27 | Hitachi Ltd | 表示制御装置および表示方法 |
JP2003510717A (ja) * | 1999-09-27 | 2003-03-18 | カナル プラス ソシエテ アノニム | 複数ウィンドウ制御システム |
JP2005165160A (ja) * | 2003-12-05 | 2005-06-23 | Yutaka Wada | スケーラブルフォントの作成方法および表示方法 |
JP2006289851A (ja) * | 2005-04-13 | 2006-10-26 | Canon Inc | 画像形成装置及び画像形成方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5751289A (en) * | 1992-10-01 | 1998-05-12 | University Corporation For Atmospheric Research | Virtual reality imaging system with image replay |
JP2006171274A (ja) | 2004-12-15 | 2006-06-29 | Matsushita Electric Ind Co Ltd | アプリケーション描画端末、アプリケーション描画の表示方法およびアプリケーション描画プログラム |
US20070253006A1 (en) * | 2006-04-27 | 2007-11-01 | Xerox Corporation | Print user interface |
US8149242B2 (en) * | 2006-11-10 | 2012-04-03 | Sony Computer Entertainment Inc. | Graphics processing apparatus, graphics library module and graphics processing method |
US8266618B2 (en) * | 2008-11-21 | 2012-09-11 | International Business Machines Corporation | Graphics hardware resource usage in a fully virtualized computing environment |
US8966477B2 (en) * | 2011-04-18 | 2015-02-24 | Intel Corporation | Combined virtual graphics device |
-
2012
- 2012-07-27 JP JP2012167648A patent/JP5955148B2/ja not_active Expired - Fee Related
-
2013
- 2013-07-08 US US13/936,676 patent/US8860957B2/en not_active Expired - Fee Related
- 2013-07-19 KR KR1020130085094A patent/KR101571595B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH052459A (ja) * | 1991-06-24 | 1993-01-08 | Brother Ind Ltd | 描画装置 |
JP2003510717A (ja) * | 1999-09-27 | 2003-03-18 | カナル プラス ソシエテ アノニム | 複数ウィンドウ制御システム |
JP2001117750A (ja) * | 1999-10-22 | 2001-04-27 | Hitachi Ltd | 表示制御装置および表示方法 |
JP2005165160A (ja) * | 2003-12-05 | 2005-06-23 | Yutaka Wada | スケーラブルフォントの作成方法および表示方法 |
JP2006289851A (ja) * | 2005-04-13 | 2006-10-26 | Canon Inc | 画像形成装置及び画像形成方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016095580A (ja) * | 2014-11-12 | 2016-05-26 | キヤノン株式会社 | 画像形成装置、画像形成方法、プログラム |
JP2021012703A (ja) * | 2020-09-14 | 2021-02-04 | キヤノン株式会社 | アプリケーション実行装置及びその制御方法、並びにプログラム |
JP7277423B2 (ja) | 2020-09-14 | 2023-05-19 | キヤノン株式会社 | アプリケーション実行装置及びその制御方法、並びにプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20140029029A1 (en) | 2014-01-30 |
JP5955148B2 (ja) | 2016-07-20 |
KR101571595B1 (ko) | 2015-11-24 |
KR20140013949A (ko) | 2014-02-05 |
US8860957B2 (en) | 2014-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5955148B2 (ja) | 画像形成装置及び仮想マシンプログラム | |
US9412329B2 (en) | Methods and apparatuses for controlling display devices | |
KR100799019B1 (ko) | 디지털 문서 처리 | |
US8056006B2 (en) | Systems and methods for digital document processing | |
US8422105B2 (en) | Image forming apparatus including a display apparatus having a memory cofigured to retain settings concerning components forming a display component, a display control method, and a computer-readable recording medium thereof | |
US9137402B2 (en) | Displaying an operational screen of an image forming apparatus on a display screen of a client device in order to control the image forming apparatus from the client device | |
EP2515275A1 (en) | Device and method for image generation | |
JP5696721B2 (ja) | 表示処理装置、画像形成装置、リモート画面の表示処理システム及び表示処理方法 | |
EP1272922B1 (en) | Digital document processing | |
JP6107246B2 (ja) | 画像処理装置、画像処理装置の制御方法、および画像処理装置の制御プログラム | |
JP2010175638A (ja) | 表示装置及び表示装置の表示方法 | |
JP5430491B2 (ja) | 情報処理装置、表示装置、表示システム、情報処理装置の制御方法、及び表示装置の制御方法 | |
WO2017215516A1 (zh) | 确定解码任务的方法和装置 | |
KR101345726B1 (ko) | 웹페이지 캡쳐 화면 인쇄 방법 | |
JP2018026656A (ja) | 情報処理装置及びプログラム | |
JP2010164972A (ja) | 画像ドローイング方法及び装置 | |
JP2014120017A (ja) | 画像処理システム、画像処理装置、情報端末装置及びプログラム | |
US10788925B2 (en) | Touch panel sharing support apparatus, touch panel sharing method, and computer program | |
JP6784953B2 (ja) | 情報処理装置およびプログラム | |
JP2020205076A (ja) | 情報処理装置およびプログラム | |
JP2018156321A (ja) | 画像処理装置、情報処理方法及びプログラム | |
JP5444888B2 (ja) | 画像処理装置、描画制御方法及び描画制御プログラム | |
JPH117364A (ja) | 情報処理装置、情報処理方法、記憶媒体、及び、印刷システム | |
JP2009064330A (ja) | 外部処理装置と外部処理方法とプログラムとコンピュータ読み取り可能な記録媒体とシステム | |
JP2014120896A (ja) | 画像処理装置、画像処理方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150722 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160426 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160516 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160614 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5955148 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |