(57)【要約】【課題】オブジェクトの描画が表示に間に合わなくなる可能性を低減することを目的とする。【解決手段】メモリを有する画像処理装置であって、表示部に表示されるオブジェクトの表示情報を取得する第１の取得手段と、オブジェクトの描画時間を取得する第２の取得手段と、メモリの空き容量を抽出する抽出手段と、オブジェクトの表示情報とオブジェクトの描画時間と空き容量とに基づいて、メモリのオブジェクトのオフスクリーン領域を解放するか否かを制御する制御手段と、を有する。【選択図】図２
2018156321.tif 000002
【特許請求の範囲】
【請求項１】
メモリを有する画像処理装置であって、
表示部に表示されるオブジェクトの表示情報を取得する第１の取得手段と、
前記オブジェクトの描画時間を取得する第２の取得手段と、
前記メモリの空き容量を抽出する抽出手段と、
前記オブジェクトの表示情報と前記オブジェクトの描画時間と前記空き容量とに基づいて、前記メモリの前記オブジェクトのオフスクリーン領域を解放するか否かを制御する制御手段と、
を有する画像処理装置。
【請求項２】
前記オブジェクトの表示情報と前記オブジェクトの描画時間と前記空き容量とに基づいて、前記メモリの前記オブジェクトのオフスクリーン領域を解放するか否かを判定する判定手段を更に有し、
前記制御手段は、前記判定手段により前記メモリの前記オブジェクトのオフスクリーン領域を解放すると判定された場合、前記オフスクリーン領域を解放し、前記判定手段により前記メモリの前記オブジェクトのオフスクリーン領域を解放しないと判定された場合、前記オフスクリーン領域を保持する請求項１記載の画像処理装置。
【請求項３】
前記第１の取得手段は、描画命令に記載の前記オブジェクトのサイズと位置と移動情報とに基づいて、前記オブジェクトの表示情報を取得する請求項１又は２記載の画像処理装置。
【請求項４】
前記第１の取得手段は、更に、前記描画命令に記載の前記オブジェクトの透過性の情報に基づいて、前記オブジェクトの表示情報を取得する請求項３記載の画像処理装置。
【請求項５】
前記第１の取得手段は、前記オブジェクトが画面に表示されない期間を前記表示情報として取得する請求項１乃至４何れか１項記載の画像処理装置。
【請求項６】
メモリを有する画像処理装置が実行する情報処理方法であって、
表示部に表示されるオブジェクトの表示情報を取得する第１の取得工程と、
前記オブジェクトの描画時間を取得する第２の取得工程と、
前記メモリの空き容量を抽出する抽出工程と、
前記オブジェクトの表示情報と前記オブジェクトの描画時間と前記空き容量とに基づいて、前記メモリの前記オブジェクトのオフスクリーン領域を解放するか否かを制御する制御工程と、
を含む情報処理方法。
【請求項７】
メモリを有するコンピュータを、請求項１乃至５何れか１項記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
グラフィックス記述言語を読み込んで、メモリ上に確保したオフスクリーン領域にオブジェクトを描画し、一旦、オフスクリーン領域に描画したオブジェクトを、ユーザが指定した描画倍率に合わせてディスプレイに表示する画像形成装置がある。
特許文献１には、既に表示されており、内容が変更されない、又は更新頻度の少ないオブジェクトのオフスクリーン領域を解放し、中間データの状態にして保持することで、オフスクリーン領域の消費量を抑制する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２９３０６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１ではオブジェクトの再描画処理にかかる時間を考慮していなかったため、オブジェクトの更新要求があった際に、オブジェクトの再描画が間に合わず、表示できない可能性があった。
【課題を解決するための手段】
【０００５】
本発明の画像処理装置は、メモリを有する画像処理装置であって、表示部に表示されるオブジェクトの表示情報を取得する第１の取得手段と、前記オブジェクトの描画時間を取得する第２の取得手段と、前記メモリの空き容量を抽出する抽出手段と、前記オブジェクトの表示情報と前記オブジェクトの描画時間と前記空き容量とに基づいて、前記メモリの前記オブジェクトのオフスクリーン領域を解放するか否かを制御する制御手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、オブジェクトの描画が表示に間に合わなくなる可能性を低減できる。
【図面の簡単な説明】
【０００７】
【図１】複合機のハードウェア構成の一例を示す図である。
【図２】複合機のソフトウェア構成等の一例を示す図である。
【図３】複合機が読み込むグラフィックス記述言語の一例を示す図である。
【図４】スクリーンオブジェクトの一例を示す図である。
【図５】情報処理の一例を示すフローチャートである。
【図６】定数ｋを示す図である。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づいて説明する。
【０００９】
図１は、複合機１１０のハードウェア構成の一例を示す図である。複合機１１０は、ハードウェア構成として、コントローラユニット２００、操作部２２０、スキャナ２３０、プリンタ２４０を含む。複合機１１０は、画像処理装置の一例である。操作部２２０は、表示部の一例である。
コントローラユニット２００は、より具体的にはＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０２を有する。ＣＰＵ２０２は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０６に格納されているブートプログラムによりＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を立ち上げる。コントローラユニット２００は、このＯＳ上でＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２０５に格納されているアプリケーションプログラムを実行し、これによって各種処理を実行する。このＣＰＵ２０２の作業領域としては、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３が用いられる。ＨＤＤ２０５は、アプリケーションプログラムや各種データを格納する。
ＣＰＵ２０２には、システムバス２１０を介して、ＲＡＭ２０３及びＲＯＭ２０６と共に、操作部Ｉ／Ｆ２０１、デバイスＩ／Ｆ２０４、ネットワークＩ／Ｆ２０７、画像処理部２０８が接続される。
操作部Ｉ／Ｆ２０１は、タッチパネルを有する操作部２２０とのインタフェースである。操作部Ｉ／Ｆ２０１は、操作部２２０に表示する各種データ等の情報を送出したり、ユーザにより入力された情報をＣＰＵ２０２に送出したりする。デバイスＩ／Ｆ２０４には、スキャナ２３０及びプリンタ２４０が接続され、データや制御信号の入出力が行われる。ネットワークＩ／Ｆ２０７は、ネットワーク１００に接続され、ネットワーク１００を介してネットワーク１００上の装置と複合機１１０との間で入出力を行う。画像処理部２０８では、スキャナからの入力画像処理やプリンタへの出力画像処理、画像回転、画像圧縮、解像度変換、色空間変換、階調変換等の処理を行う。
ＣＰＵ２０２がＲＯＭ２０６、ＨＤＤ２０５に記憶されているプログラムに基づき処理を実行することによって、後述する図２に示す複合機１１０のソフトウェア構成及び後述する図５に示すフローチャートの処理が実現される。
【００１０】
図２は、複合機１１０のソフトウェア構成等の一例を示す図である。複合機１１０は、ソフトウェア構成として、レンダラ部１０２、描画時間測定部１０３、オブジェクト表示情報抽出部１０４、メモリ情報抽出部１０５、オフスクリーン判定部１０６、オフスクリーン制御部１０７を含む。メモリ１０８は、図１のＲＡＭ２０３等である。
レンダラ部１０２は、描画命令１０１を読み込み、描画処理を行い、描画したオブジェクトをメモリ１０８のオフスクリーン領域に格納する。このとき、描画時間測定部１０３は、各オブジェクトの描画処理に要した時間を測定し、オフスクリーン判定部１０６へ送信する。一方で、オブジェクト表示情報抽出部１０４は、描画命令１０１を読み込み、各オブジェクトの画面への表示期間を抽出し、オフスクリーン判定部１０６へ送信する。また、メモリ情報抽出部１０５は、メモリ１０８からメモリの空き容量を抽出し、オフスクリーン判定部１０６に送信する。オフスクリーン判定部１０６は、描画時間測定部１０３の測定結果、オブジェクト表示情報抽出部１０４、メモリ情報抽出部１０５の抽出結果に基づいて、オブジェクトのオフスクリーン領域の解放の要非判定を行い、結果をオフスクリーン制御部１０７に送信する。オフスクリーン制御部１０７は、オフスクリーン判定部１０６の判定結果に基づいて、該当するオブジェクトが操作部２２０のタッチパネルに表示されない期間の開始時刻に、メモリ１０８の該当するオブジェクトのオフスクリーン領域を解放する。オブジェクト表示情報抽出部１０４の処理は、第１の取得の処理の一例である。描画時間測定部１０３の処理は、第２の取得の処理の一例である。
【００１１】
オブジェクト表示情報抽出部１０４の抽出するオブジェクト表示情報について説明する。オブジェクト表示情報抽出部１０４は、オブジェクト表示情報を、グラフィックス記述言語のオブジェクトの記述より抽出する。図３は、複合機１１０が読み込むグラフィックス記述言語の１つであるＳｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｉｃｓの一例を示す図である。Ｓｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｉｃｓにおいては、描画処理順序は描画記述の順である。したがって、最後のオブジェクトの記述に対応するオブジェクトが表示画面の最前面に表示される。以下、グラフィックス記述言語Ｓｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｉｃｓのことを描画命令とする。
図３の描画命令はオブジェクトの記述５０、５２、５３とそれ以外の記述５１とに分類できる。また、図３の描画命令の描画結果における最初のフレーム画像を図４に示す。記述５０は幅５００ｐｉｘｅｌ、高さ５００ｐｉｘｅｌのスクリーンを定義する記述であり、図４のスクリーンオブジェクト３００に対応する記述である。記述５１は赤色とオレンジ色とのグラデーションを作成する記述である。記述５２は（１）の記述の先頭のｃｉｒｃｌｅが表すように矩形オブジェクトを描画するための記述である。記述５２の中の（１）の記述は、座標Ｘ＝５０、Ｙ＝２００を中心として半径５０ｐｉｘｅｌ、記述５１で定義した赤色とオレンジ色のグラデーションで塗られた円オブジェクト３０１に対応する記述である。そして、記述５２の中の（２）の記述は、図４の矢印に示すように表示開始から５０ｐｉｘｅｌ／ｓで円オブジェクト３０１が座標Ｘ＝５０、Ｙ＝２００から座標Ｘ＝４５０、Ｙ＝２００まで移動するという動作を行うことを表す記述である。記述５３は座標Ｘ＝１５０、Ｙ＝１５０を左上端座標として幅２００ｐｉｘｅｌ、高さ１００ｐｉｘｅｌ、青色の矩形オブジェクト３０２に対応する記述である。
したがって、これらの記述より、最初の表示フレームから３．０秒後〜５．０秒後のフレームにおいては、円オブジェクト３０１は矩形オブジェクト３０２と重なり、後方に配置されるため、画面に表示されない。また、スクリーンオブジェクト３００及び矩形オブジェクト３０２は画面に表示されたままである。ゆえにオブジェクト表示情報抽出部１０４は、円オブジェクト３０１が表示開始から３．０秒後〜５．０秒後の２秒間は画面に表示されない、スクリーンオブジェクト３００及び矩形オブジェクト３０２は画面に表示されたままであるという情報を抽出する。また、本実施形態では、オブジェクトのサイズ、位置、移動情報からオブジェクトの画面への表示情報を抽出したが、オブジェクト表示情報抽出部１０４は、透過性等の情報に基づいて抽出してもよい。
【００１２】
次に、図３に示す描画命令を描画した際のオフスクリーン判定部１０６の判定方法について、図５のフローチャート及び図６を用いて説明する。図５は、情報処理の一例を示すフローチャートである。図６は、定数ｋを示す図である。
Ｓ４００において、オフスクリーン判定部１０６は、各オブジェクトの表示情報をオブジェクト表示情報抽出部１０４より受領する。各オブジェクトの表示情報とは、スクリーンオブジェクト３００及び矩形オブジェクト３０２は画面に表示されたままで、円オブジェクト３０１は表示開始から３．０秒後〜５．０秒後の２秒間は画面に表示されないという情報である。Ｓ４０１において、オフスクリーン判定部１０６は、実際に各オブジェクトの描画処理に要した時間の測定結果を描画時間測定部１０３より受領する。スクリーンオブジェクト３００は１フレーム描画するのに５０ｍｓ、矩形オブジェクト３０２は１フレーム描画するのに３０ｍｓ、円オブジェクト３０１は１フレーム描画するのに１００ｍｓ要したとする。Ｓ４０２において、オフスクリーン判定部１０６は、現在のメモリの空き容量をメモリ情報抽出部１０５より受領する。Ｓ４０３において、オフスクリーン判定部１０６は、現在のメモリの空き容量に対して、後のＳ４０４で評価する評価式の定数ｋを決定する。ここで、定数ｋについて図６を用いて説明する。図６のグラフ５００は縦軸に定数ｋ、横軸にメモリの空き容量を表したグラフである。メモリの空き容量が少ないときは、他の処理の遅延を低減させないために定数ｋは１とする。メモリの空きに余裕ができるにしたがって、定数ｋの値は単調減少する。
【００１３】
Ｓ４０４において、オフスクリーン判定部１０６は、Ｓ４００で受領したオブジェクトが画面に表示されない時間、Ｓ４０１で受領したオブジェクトの描画に要する時間、及びＳ４０３で決定した定数ｋを用いて、各オブジェクトに対して、以下の式（１）
オブジェクトの描画に要する時間  ＞  ｋ×オブジェクトが画面に表示されない時間  ・・・式（１）
を評価する。スクリーンオブジェクト３００は画面に表示されない時間が０なので、式（１）の右辺が０となり、式（１）を満たす。式（１）を満たす場合、Ｓ４０５に遷移し、オフスクリーン判定部１０６は、スクリーンオブジェクト３００のオフスクリーン領域はそのまま保持すると判定する。同様にして、矩形オブジェクト３０２も画面に表示されない時間が０なので、式（１）を満たす。式（１）を満たす場合、Ｓ４０５に遷移し、オフスクリーン判定部１０６は、矩形オブジェクト３０２のオフスクリーン領域はそのまま保持すると判定する。円オブジェクト３０１は、画面に表示されない時間が２秒間である。また、１フレーム描画するのに要する時間は１００ｍｓ＝０．１秒である。したがって、メモリの空き容量が少ないときは定数ｋは１に近づき、式（１）を満たさない。式（１）を満たさない場合、Ｓ４０６に遷移し、オフスクリーン判定部１０６は、円オブジェクト３０１のオフスクリーン領域を解放すると判定する。逆に、メモリがほとんど空いている状態では、定数ｋは限りなく０に近づくため、式（１）を満たす。式（１）を満たす場合、Ｓ４０５に遷移し、オフスクリーン判定部１０６は、円オブジェクト３０１のオフスクリーン領域はそのまま保持すると判定する。
オフスクリーン制御部１０７は、オフスクリーン判定部１０６が判定した結果に基づいて、該当するオブジェクトが画面に表示されなくなるタイミングで、該当するオブジェクトのオフスクリーン領域を解放する。
【００１４】
以上説明したように、複合機１１０は、各オブジェクトの表示情報と描画時間とメモリの空き容量とに基づき、メモリのオフスクリーン領域を制御して消費量を抑制することで、他のタスク処理の遅延を低減することができる。また、メモリに余裕があるときは、オフスクリーン領域を解放しないことで、レンダラの描画処理負荷を軽減することができる。
【００１５】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００１６】
以上、本発明の実施形態の一例について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
上述した複合機１１０のソフトウェア構成の一部又は全てはハードウェア構成として複合機１１０に実装してもよい。
また、複合機１１０のハードウェア構成として、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＨＤＤ、ネットワークＩ／Ｆ等は１つである必要はない。複数のＣＰＵがプログラムに基づき、複数のＲＡＭ、ＲＯＭ、ＨＤＤに記憶されたデータ等を用いながら処理を実行することで複合機１１０の機能等を実現するようにしてもよい。
【００１７】
上述した各実施形態によれば、メモリを効率的に使用しながら、他のタスク処理の遅延を低減することができる。また、オブジェクトの描画が表示に間に合わなくなる可能性を低減できる。
【符号の説明】
【００１８】
１１０  複合機
２００  コントローラユニット
２０２  ＣＰＵ
２０３  ＲＡＭ
【図１】
2018156321.tif 000003
【図２】
2018156321.tif 000004
【図３】
2018156321.tif 000005
【図４】
2018156321.tif 000006
【図５】
2018156321.tif 000007
【図６】
2018156321.tif 000008