(57)【要約】      （修正有）【課題】作業メモリ内のデータのサイズを削減することにより、作業メモリの空き領域を増加させると共に、アプリケーションプログラムが作業メモリ内のデータを使用する場合に、ＣＰＵの処理負荷の増加を低く抑えることができるメモリ管理プログラムを提供する。【解決手段】画像データをディスプレイ１２に表示させる画像表示装置１４が有する作業メモリ１４０のヒープ領域を管理するメモリ管理プログラムであって、外部記憶装置１４４から作業メモリ１４０のヒープ領域にロードされた画像データがアプリケーションプログラムによって最後に参照されてからの経過時間である非参照期間が、予め定められた削減閾値以上の場合に、ヒープ領域内の画像データの情報量を削減する。【選択図】図１
2006127280.tif 000002
【特許請求の範囲】
【請求項１】
画像データをディスプレイに表示させる画像表示装置が有する作業メモリのヒープ領域を管理するメモリ管理プログラムであって、
前記画像表示装置に、
外部記憶装置から前記作業メモリの前記ヒープ領域にロードされた前記画像データがアプリケーションプログラムによって最後に参照されてからの経過時間である非参照期間を計測する非参照期間計測手段と、
前記非参照期間計測手段が計測した前記非参照期間が、予め定められた削減閾値以上の場合に、前記ヒープ領域内の前記画像データの情報量を削減する情報量削減手段と
を実現させることを特徴とするメモリ管理プログラム。
【請求項２】
請求項１に記載のメモリ管理プログラムであって、
前記画像表示装置に
前記ヒープ領域にロードされた前記画像データの画像サイズを、前記画像データのそれぞれについて算出する画像サイズ算出手段
をさらに実現させ、
前記情報量削減手段は、
前記ヒープ領域内の前記画像データの情報量を削減する場合に、前記表示サイズ算出手段が算出した前記画像サイズを参照して、前記画像サイズのより大きな前記画像データほど、より多くの情報量を削減することを特徴とするメモリ管理プログラム。
【請求項３】
請求項１または２に記載のメモリ管理プログラムであって、
前記情報量削減手段は、
前記非参照期間計測手段が計測した前記非参照期間が、予め定められた削減閾値以上の場合に、前記ヒープ領域内の前記画像データが有する色の種類を減少させることを特徴とするメモリ管理プログラム。
【請求項４】
請求項１または２に記載のメモリ管理プログラムであって、
前記情報量削減手段は、
前記非参照期間計測手段が計測した前記非参照期間が、予め定められた削減閾値以上の場合に、前記ヒープ領域内の前記画像データの解像度を減少させることを特徴とするメモリ管理プログラム。
【請求項５】
請求項１または２に記載のメモリ管理プログラムであって、
前記画像データは、動画像データであり、
前記情報量削減手段は、
前記非参照期間計測手段が計測した前記非参照期間が、予め定められた削減閾値以上の場合に、前記ヒープ領域内の前記動画像データのフレーム数を減少させることを特徴とするメモリ管理プログラム。
【請求項６】
請求項１から５のいずれかに記載のメモリ管理プログラムであって、
前記画像表示装置に、
前記情報量削減手段によって、前回、前記画像データの情報量が削減されてから、前記アプリケーションプログラムによって情報量が削減された前記画像データが参照された回数である参照回数を計数する参照回数計数手段と、
前記参照回数計数手段が計数した前記参照回数が、予め定められた回復閾値以上になった場合に、前記参照回数が前記回復閾値以上になった前記画像データを前記外部記憶装置から前記ヒープ領域に再びロードする再ロード手段と
をさらに実現させることを特徴とするメモリ管理プログラム。
【請求項７】
請求項１から６のいずれかに記載のメモリ管理プログラムであって、
前記端末装置に、
前記情報量削減手段によって前記画像データの削減処理を行うか否かを示す削減処理フラグを、前記アプリケーションプログラムのそれぞれを識別するアプリケーションプログラム識別情報に対応付けて格納する削減処理フラグ格納手段
をさらに実現させ、
前記情報量削減手段は、
前記削減処理フラグ格納手段に格納された前記削減処理フラグを参照して、前記画像データの削減処理を行う旨が示されている前記アプリケーションプログラムが扱う前記画像データについて、前記削減処理を行うことを特徴とするメモリ管理プログラム。
【請求項８】
請求項１から７のいずれかに記載のメモリ管理プログラムであって、
前記端末装置に、
前記情報量削減手段が前記画像データの情報量を削減した場合に、情報量が削減された旨を示す削減情報を、情報量が削減された前記画像データを識別する画像識別情報に対応付けて格納する削減情報格納手段
をさらに実現させ、
前記情報量削減手段は、
前記ヒープ領域に前回ロードされた前記画像データが、前記アプリケーションプログラムによって再び前記外部記憶装置から前記ヒープ領域にロードされた場合に、前記非参照期間計測手段が計測した前記非参照期間に基づいて前記画像の情報量を削減するよりも前に、前記削減情報格納手段に格納された前記削減情報を参照して、前記画像データに前回施された削減処理と同一の削減処理を、再びロードされた前記画像データに施すことを特徴とするメモリ管理プログラム。
【請求項９】
請求項１から７のいずれかに記載のメモリ管理プログラムであって、
アプリケーションプログラムのコードがＪａｖａ言語で記述されていることを特徴とするメモリ管理プログラム。
【請求項１０】
画像データをディスプレイに表示させる画像表示装置であって、
圧縮された複数の前記画像データを格納する外部記憶部と、
前記外部記憶部が格納する複数の前記画像データのいずれかがロードされた場合に、ロードされた前記画像データを展開して保持する作業メモリと、
アプリケーションプログラムに基づいて動作し、前記アプリケーションプログラムの指示に応じて、圧縮された前記画像データを前記外部記憶部から前記作業メモリのヒープ領域にロードし、ロードした前記圧縮された画像データを前記ヒープ領域に展開し、前記ヒープ領域に展開した前記画像データを、前記アプリケーションプログラムの指示に応じて前記ディスプレイに表示させる表示制御部と、
前記ヒープ領域内の前記画像データを管理するメモリ管理部と
を備え、
前記メモリ管理部は、
前記表示制御部によって、前記画像データが外部記憶装置から前記ヒープ領域にロードされた後に、前記表示制御部によって最後に参照されてからの経過時間である非参照期間を計測する非参照期間計測部と、
前記非参照期間計測部によって計測された前記非参照期間が、予め定められた削減閾値以上の場合に、前記ヒープ領域内の前記画像データの情報量を削減する情報量削減部と
を有することを特徴とするが画像表示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを表示する画像表示技術に関する。
【背景技術】
【０００２】
計算機システムにおいて、作業メモリの管理は、アプリケーションプログラムの実行性能や信頼性を大きく左右する極めて重要な要素である。Ｃ言語は、ハードウェアの詳細な制御が可能であり、アプリケーションプログラムの実行性能を高めることができる場合がある反面、制御項目が多岐にわたり、ハードウェアを最適に制御することが難しい場合がある。例えば、Ｃ言語では、作業メモリの領域を使用した後には、使用した作業メモリの領域を明示的に開放する必要があり、この開放の処理が行われないアプリケーションプログラムが多く実行される場合には、作業メモリの空き領域の減少、いわゆるメモリ不足が起こり、システムの動作が不安定になる場合があった。また、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｅｔｒ）等に比べて、ＣＰＵの処理速度や作業メモリの容量等が少ない組み込み機器においては、アプリケーションプログラムの実行性能を高める前に、少なくとも、限られたハードウェア資源を利用して確実に動作し続けることが要求されるため、作業メモリの管理が特に重要である。
【０００３】
作業メモリの使用済み領域を開放し忘れることにより起こるメモリ不足を抑えるために、外部記憶装置に圧縮された状態で格納されているデータを作業メモリにロードする際に、データを圧縮した状態で作業メモリにロードし、実際に使用する段階でアプリケーションプログラムがロードしたデータを展開することにより、作業メモリにロードされるデータ量を削減する技術が知られている（例えば、特許文献１参照。）。
【０００４】
【特許文献１】特開２００２−１６９６９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に記載の技術では、アプリケーションプログラムが実際に使用する段階でデータを展開する必要があり、データを処理するタイミングでＣＰＵの処理負荷が増大する場合があった。また、特許文献１に記載の技術では、圧縮されたデータを展開するための領域が作業メモリ内に必要となり、必要となる領域は展開すべきデータに依存することから、全てのデータの展開に対応できるように十分に大きな領域を確保する必要があり、作業用メモリの使用効率が低下する場合があった。
【０００６】
そこで本発明は、上記の課題を解決することのできるメモリ管理プログラムおよび画像表示装置を提供することを目的とする。例えば、作業メモリ上のデータのサイズを小さすると共に、アプリケーションプログラムが作業メモリ上のデータを使用する場合に、ＣＰＵの処理負荷の増加を低く抑えるようにする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のメモリ管理プログラムは、ヒープ領域内にロードされた画像データが最後に参照されてからの経過時間である非参照期間が、予め定められた削減閾値以下の場合に、ヒープ領域内の当該画像データの情報量を削減する。
【０００８】
例えば、画像データをディスプレイに表示させる画像表示装置が有する作業メモリのヒープ領域を管理するメモリ管理プログラムであって、画像表示装置に、外部記憶装置から作業メモリのヒープ領域にロードされた画像データがアプリケーションプログラムによって最後に参照されてからの経過時間である非参照期間を計測する非参照期間計測手段と、非参照期間計測手段が計測した非参照期間が、予め定められた削減閾値以上の場合に、ヒープ領域内の画像データの情報量を削減する情報量削減手段とを実現させることを特徴とするメモリ管理プログラムを提供する。
【発明の効果】
【０００９】
本発明によれば、参照頻度の少ない画像データの情報量をメモリ上で削減することができるので、作業メモリの空き領域の減少を抑えることができる。
【発明を実施するための最良の形態】
【００１０】
以下に、本発明の実施の形態を説明する。
【００１１】
図１は、本発明の一実施形態に係る画像表示システム１０のハードウェア構成の一例を示す。画像表示システム１０は、ディスプレイ１２および画像表示装置１４を備える。ディスプレイ１２は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）やＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）等のモニタであり、画像表示装置１４が出力する画像データを表示する。
【００１２】
画像表示装置１４は、作業メモリ１４０、ビデオメモリ１４２、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の外部記憶装置１４４、ＣＰＵ１４６、およびバス１４８を備える。外部記憶装置１４４は、画像表示装置１４を動作させるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や、アプリケーションプログラム、ＯＳやアプリケーションプログラムが取り扱う設定データおよび画像データ等を格納する。外部記憶装置１４４は、ＨＤＤ以外に、ＲＯＭや着脱可能な記憶媒体等であってもよい。
【００１３】
作業メモリ１４０は、外部記憶装置１４４に格納されたアプリケーションプログラムの中で、実行中のアプリケーションプログラムを保持する。また、作業メモリ１４０は、実行中のアプリケーションプログラムが使用する設定データおよび画像データ等を保持する。ビデオメモリ１４２は、実行中のＯＳやアプリケーションプログラムの動作に応じて、作業メモリ１４０が保持している画像データの中で、表示が必要となった画像データを保持する。ビデオメモリ１４２は、ディスプレイ１２と接続されており、ビデオメモリ１４２に書き込まれた画像データは、ディスプレイ１２に表示される。
【００１４】
ＣＰＵ１４６は、外部記憶装置１４４に格納されたアプリケーションプログラムと共に、当該アプリケーションプログラムで使用される設定データや画像データを作業メモリ１４０のヒープ領域にロードし、当該アプリケーションプログラムを実行する。そして、ＣＰＵ１４６は、当該アプリケーションプログラムの動作に応じて表示が必要となった画像データを、作業メモリ１４０のヒープ領域から読み出して、ビデオメモリ１４２へコピーすることにより、当該画像データをディスプレイ１２に表示させる。バス１４８は、作業メモリ１４０、ビデオメモリ１４２、外部記憶装置１４４、およびＣＰＵ１４６を互いに接続する。
【００１５】
なお、本例において、画像データは圧縮された状態で外部記憶装置１４４内に格納されており、ＣＰＵ１４６は、当該圧縮された画像データを作業メモリ１４０のヒープ領域にロードした後に、当該圧縮された画像データを展開して、作業メモリ１４０のヒープ領域に格納する。また、本例において、アプリケーションプログラムや画像データ等は、画像表示装置１４内の外部記憶装置１４４に格納されているが、他の例として、画像表示装置１４は、アプリケーションプログラムや画像データ等を、ネットワークを介して他の機器から取得してもよい。
【００１６】
図２は、画像表示装置１４の機能構成の一例を示すブロック図である。画像表示装置１４は、表示制御部１５０、画像出力部１５２、画像取得部１５４、画像格納部１５６、記録媒体１５８およびメモリ管理部１６０を備える。画像格納部１５６は、ＯＳやアプリケーションプログラムで使用される画像データを格納する。
【００１７】
表示制御部１５０は、記録媒体１５８に格納されたＯＳやアプリケーションプログラムに基づいて動作し、当該アプリケーションプログラムで使用される画像データを画像格納部１５６から画像取得部１５４へロードさせる。そして、表示制御部１５０は、当該アプリケーションプログラムの動作に応じて、画像取得部１５４にロードさせた画像データの中でディスプレイ１２に表示させるタイミングになった画像データを、画像取得部１５４から画像出力部１５２へコピーする。
【００１８】
画像取得部１５４は、実行中のアプリケーションプログラムが使用する画像データを画像格納部１５６から読み出して保持する。画像出力部１５２は、ディスプレイ１２に表示させるタイミングの画像データを画像取得部１５４から取得し、ディスプレイ１２に表示させる。メモリ管理部１６０は、画像取得部１５４が保持する画像データを管理し、アプリケーションプログラムによって最後に参照されてから所定時間以上経過した画像データの情報量を削減することにより、画像取得部１５４の空きメモリの容量を増加させる。
【００１９】
記録媒体１５８は、画像表示装置１４に、表示制御部１５０、画像出力部１５２、画像取得部１５４、画像格納部１５６、およびメモリ管理部１６０として機能させるプログラムや、ＯＳ、アプリケーションプログラム、これらのプログラムで使用される設定データ等を格納する。記録媒体１５８は、例えばＤＶＤ、ＰＤ等の光学記録媒体、ＭＤ等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体記録装置等であってよい。画像表示装置１４は、これらのプログラムを、記録媒体１５８から読み取って実行する。また、画像表示装置１４は、例えばインターネット網等の通信回線を介して、これらのプログラムを取得してもよい。また、記録媒体１５８に格納されており、画像表示装置１４に、表示制御部１５０、画像出力部１５２、画像取得部１５４、画像格納部１５６、およびメモリ管理部１６０として機能させるプログラムは、Ｊａｖａ言語で記述されることが好ましい。
【００２０】
図３は、画像格納部１５６に格納されるデータの構造の一例を示す。画像格納部１５６は、画像データ本体１５６２を、それぞれの画像データを識別する画像ＩＤ１５６０に対応付けて格納する。画像格納部１５６を参照することにより、画像取得部１５４は、それぞれの画像データを区別することができる。また、表示制御部１５０は、それぞれの画像データを、当該画像ＩＤ１５６０を用いて識別する。これにより、表示制御部１５０は、表示させるタイミングになった画像データを、画像取得部１５４から画像出力部１５２へコピーするように、画像取得部１５４へ指示することができる。
【００２１】
図４は、メモリ管理部１６０の機能構成の一例を示すブロック図である。メモリ管理部１６０は、参照情報格納部１６２、適用フラグ格納部１６４、非参照期間計測部１６６、画像サイズ検出部１６８、情報量削減部１７０、参照回数計数部１７２、および再ロード指示部１７４を備える。適用フラグ格納部１６４は、画像取得部１５４にロードされた後に、最後に画像出力部１５２へコピーされてから所定時間経過した場合に、当該画像データの情報量を削減するか否かを示す削減処理適用フラグを、画像データを識別する画像ＩＤに対応付けて格納している。
【００２２】
非参照期間計測部１６６は、画像データが画像格納部１５６から画像取得部１５４へロードされた場合に、画像取得部１５４へロードされた画像データの画像ＩＤを参照して、当該画像ＩＤに対応する削減処理適用フラグを適用フラグ格納部１６４から読み出す。そして、適用フラグ格納部１６４から読み出した削減処理適用フラグが、画像データの情報量を削減すべき旨を示す場合に、非参照期間計測部１６６は、対応する画像データがディスプレイ１２に表示されるために画像取得部１５４から画像出力部１５２へ最後にコピーされてからの経過時間である非参照期間を計測し、計測した非参照時間を、対応する画像データの画像ＩＤに対応付けて参照情報格納部１６２に格納する。
【００２３】
画像サイズ検出部１６８は、画像取得部１５４にロードされた画像データの画像サイズを算出し、算出した画像サイズを、対応する画像データの画像ＩＤに対応付けて参照情報格納部１６２に格納する。画像サイズ検出部１６８は、画像サイズとして、例えば、画像データのデータサイズを算出する。また、他の例として画像サイズ検出部１６８は、画像サイズとして、画像データの表示領域の大きさや、色の種類を算出してもよい。
【００２４】
参照情報格納部１６２は、非参照期間計測部１６６が計測した非参照期間および画像サイズ検出部１６８が算出した画像サイズを、画像ＩＤに対応付けて格納する。また、参照情報格納部１６２は、画像データに対してどのような情報量の削減処理が施されたかという情報、および画像データが最後に情報量を削減されてから、ディスプレイ１２に表示されるために画像取得部１５４から画像出力部１５２へ何回コピーされたかという情報を、画像ＩＤにさらに対応付けて格納する。
【００２５】
情報量削減部１７０は、参照情報格納部１６２に格納されたそれぞれの画像ＩＤの非参照期間を参照し、予め定められた削減閾値以上の非参照期間が参照情報格納部１６２内に存在する場合、当該非参照期間に対応する画像データであって、画像取得部１５４内に存在する画像データの情報量を削減する。情報量削減部１７０は、参照情報格納部１６２内の画像サイズを参照して、画像サイズが予め定められたサイズ閾値よりも大きい場合、当該画像データに対して、より多くの情報量を削減する。情報量削減部１７０は、例えば、画像データの色の種類を減少させることにより、画像データの情報量を削減する。
【００２６】
また他の例として、情報量削減部１７０は、画像データの輝度や解像度を減少させてもよい。画像データの解像度を減少させる場合、情報量削減部１７０は、例えば、隣接する４個の画素データを、当該４個の画素データの画像情報を平均した１個の平均画素データに変換することにより、画像データの画素数を半分に減少させてよい。この場合、情報量削減部１７０は、４個の画素データの輝度および色情報を平均化することにより、当該４個の画素データ３０を１個の画素データ３０に変換してよい。また、情報量削減部１７０は、隣接するｘ２個の画素データを１個の画素データに変換することにより、画素数を１／ｘ倍に減少させてもよい。また、画像データが動画像である場合、情報量削減部１７０は、動画像データのフレーム数を減少させることにより、画像データの情報量を削減してもよい。
【００２７】
また、情報量削減部１７０は、画像取得部１５４内の画像データの情報量を削減した場合に、参照情報格納部１６２に格納された参照回数であって、削減した画像データに対応する参照回数を０クリアする。さらに、情報量削減部１７０は、画像データが画像取得部１５４内にロードされた場合に、当該画像データの画像ＩＤを参照し、対応する画像ＩＤが参照情報格納部１６２内に存在するか否かを判定する。対応する画像ＩＤが参照情報格納部１６２内に存在する場合、情報量削減部１７０は、当該画像ＩＤに対応付けられている画像データに対して前回適用した削減処理を、画像取得部１５４内にロードされた画像データに対しても適用する。
【００２８】
参照回数計数部１７２は、情報量削減部１７０によって、情報量が削減された画像取得部１５４内の画像データの参照回数を計数し、計数した参照回数を対応する画像データの画像ＩＤに対応付けて参照情報格納部１６２に格納する。
【００２９】
再ロード指示部１７４は、参照情報格納部１６２に格納された参照回数を参照して、当該参照回数が予め定められた回復閾値以上である場合に、当該参照回数の画像ＩＤに対応する画像データを、画像取得部１５４に、画像格納部１５６からロードさせる。
【００３０】
図５は、参照情報格納部１６２に格納されるデータの構造の一例を示す。参照情報格納部１６２は、画像データがディスプレイ１２に表示されるために画像取得部１５４から画像出力部１５２へ最後にコピーされてからの経過時間である非参照期間１６２２、画像サイズ１６２４、情報量が削減された後に、ディスプレイ１２に表示されるために画像取得部１５４から画像出力部１５２へコピーされた回数である参照回数１６２６、および情報量削減部１７０によってどのような情報量の削減処理が施されたかを示す情報である適用削減処理１６２８を、画像データを識別する画像ＩＤ１６２０に対応付けて格納する。
【００３１】
図６は、画素データ３０の情報量の削減処理の一例を説明するための概念図である。画像データは、例えば複数の画素データ３０を有する。それぞれの画素データ３０は、パディング３１、Ｒ（赤）３２、Ｇ（緑）３３、およびＢ（青）３４を有する。情報量削減部１７０は、参照情報格納部１６２に格納されたそれぞれの画像ＩＤの非参照期間を参照し、非参照期間が削減閾値以上の画像データの情報量を削減する。この場合、情報量削減部１７０は、例えば、Ｒ３２、Ｇ３３、およびＢ３４の下位３ｂｉｔをそれぞれ削除し、１ｂｉｔのパディング３１を付加することにより、３２ｂｉｔの画素データ３０の情報量を、１６ｂｉｔに削減する削減処理１を行う。
【００３２】
また、情報量削減部１７０は、前回削減した画像データの非参照期間が削減閾値以上となった場合に、例えば、Ｒ３２、Ｇ３３、およびＢ３４の下位３ｂｉｔをそれぞれ削除し、２ｂｉｔのパディング３１を付加することにより、１６ｂｉｔの画素データ３０の情報量を、さらに８ｂｉｔに削減する削減処理２を行う。このように、非参照期間が予め定められた削減閾値以上になった場合に、情報量削減部１７０は、画像取得部１５４内の対応する画像データの情報量を削減するので、作業メモリ１４０の空き領域の減少を抑えることができる。
【００３３】
なお、情報量削減部１７０は、参照情報格納部１６２内の画像サイズを参照して、削減対象の画像データの画像サイズが、予め定められたサイズ閾値以上の場合、初回の削減処理であっても、対応する３２ｂｉｔの画像データの情報量を８ｂｉｔに削減してもよい。これにより、画像サイズの大きい画像データほど多くの情報を削減することができるので、作業メモリ１４０の空き領域を迅速に増加させることができる。
【００３４】
また、情報量削減部１７０は、画像データ内の複数の画素データ３０のそれぞれを１ずつ処理するので、ＣＰＵ１４６のスタック領域やＣＰＵ１４６のレジスタ内で処理することができる。そのため、従来のように、作業メモリ１４０内に圧縮された画像データを格納し、表示する段階で展開してビデオメモリ１４２に書き込む構成と比較して、処理するための作業領域が小さくてすみ、ヒープ領域に特別な処理領域を設ける必要がない。従って、作業メモリ１４０の空き領域の減少を抑えることができる。
【００３５】
また、情報量削減部１７０は、前回削減した画像データの非参照期間が削減閾値以上となった場合に、対応する画像データの情報量を削減するので、情報量が削減された画像データを表示する段階では、画像取得部１５４に格納された画像データをそのまま画像出力部１５２へコピーすればよい。そのため、従来のように、圧縮された画像データを作業メモリ１４０に格納し、表示する段階で対応する画像データを展開する場合に比べて、画像データを表示する段階でＣＰＵ１４６にかかる負荷が少ない。従って、画像データをより適切にディスプレイ１２に表示させることができる。
【００３６】
なお、画像出力部１５２は、情報量削減部１７０によって、例えば３２ｂｉｔから１６または８ｂｉｔに削減された画素データ３０の色情報のそれぞれの下位ビットにパディングを挿入することによって、情報量が削減された画素データ３０を３２ｂｉｔに補完する。これにより、画像出力部１５２は、情報量が削減された画素データ３０であっても、色情報を削減されていない他の３２ｂｉｔの画素データ３０と共にディスプレイ１２に表示することができる。
【００３７】
また、他の例として、隣接するｘ２個の画素データを１個の画素データに変換することにより画素数を１／ｘ倍に減少させた場合、画像出力部１５２は、それぞれの画素データをコピーすることにより同一の画素データをｘ２個生成し、生成した同一の画素データを隣接させて配置することにより、画素数が１／ｘ倍に減少した画像データを、当該画像データの元の画素数でディスプレイ１２に表示させてよい。
【００３８】
図７は、適用フラグ格納部１６４に格納されるデータの構造の一例を示す。適用フラグ格納部１６４は、情報量の削減処理を対応する画像データに適用するか否かを示す適用フラグ１６４２を、画像データを識別する画像ＩＤ１６４０に対応付けて格納する。本例では、画像データに情報量の削減処理を適用する場合に、適用フラグ１６４２に１を格納する。
【００３９】
このように、情報量の削減処理を適用するか否かを画像データ毎に設定するので、絵画等の色や解像度が問題となるような画像データに対して、情報量の削減処理を行わないようにすることができる。そのため、アプリケーションプログラムが提供するサービスに影響が少ない画像データに対してのみ削減処理を行うことができ、アプリケーションプログラムを使用するユーザに違和感を与えることなく、作業メモリ１４０の空き容量の減少を抑えることができる。
【００４０】
なお、本例では、画像データ毎に適用フラグ１６４２を設けたが、他の例として、アプリケーションプログラム毎に、適用フラグ１６４２を設けてもよい。これにより、画像編集アプリケーションプログラム等の画像データの品質が問題となるアプリケーションプログラムにおいて、当該アプリケーションプログラムが扱う全ての画像データに対して情報量の削減処理を禁止することができる。
【００４１】
図８は、メモリ管理部１６０の動作の一例を示すフローチャートである。電源投入等の所定のタイミングで、本フローチャートに記載のメモリ管理部１６０の動作が始まる。まず、非参照期間計測部１６６および参照回数計数部１７２は、参照情報格納部１６２に格納される非参照期間および参照回数を０クリアする（Ｓ１００）。
【００４２】
次に、表示制御部１５０は、記録媒体１５８に格納されたアプリケーションプログラムに従って動作し、画像データをディスプレイ１２に表示させるタイミングか否かを判定する（Ｓ１０２）。画像データをディスプレイ１２に表示させるタイミングでない場合（Ｓ１０２：Ｎｏ）、非参照期間計測部１６６は、画像取得部１５４内のヒープ領域にロードされている画像データに対応する非参照期間を更新する（Ｓ１２４）。次に、情報量削減部１７０は、参照情報格納部１６２に格納されたそれぞれの画像ＩＤの非参照期間を参照し、非参照期間が予め定められた削減閾値以上の画像ＩＤが参照情報格納部１６２内に存在するか否かを判定する（Ｓ１２６）。削減閾値以上の画像ＩＤが参照情報格納部１６２内に存在しない場合（Ｓ１２６：Ｎｏ）、表示制御部１５０は、再びステップ１０２に示した処理を行う。なお、非参照期間計測部１６６は、ステップ１２４の処理を、例えば１０ｍｓ等の所定の時間間隔で行う。
【００４３】
ステップ１０２において、画像データをディスプレイ１２に表示させるタイミングである場合（Ｓ１０２：Ｙｅｓ）、表示制御部１５０は、表示させる画像データを画像出力部１５２にコピーするよう画像取得部１５４に指示する。画像取得部１５４は、対応する画像データがヒープ領域にロードされているか否かを判定する（Ｓ１０４）。対応する画像データがヒープ領域にロードされていない場合（Ｓ１０４：Ｎｏ）、画像取得部１５４は、対応する画像データを画像格納部１５６から読み出してヒープ領域にロードする（Ｓ１０６）。次に、情報量削減部１７０は、画像取得部１５４にロードされた画像データの画像ＩＤを参照し、対応する画像ＩＤが参照情報格納部１６２内に存在するか否かを判定する（Ｓ１０８）。対応する画像ＩＤが参照情報格納部１６２内に存在しない場合（Ｓ１０８：Ｎｏ）、表示制御部１５０は、再びステップ１０２に示した処理を行う。
【００４４】
ステップ１０８において、対応する画像ＩＤが参照情報格納部１６２内に存在する場合（Ｓ１０８：Ｙｅｓ）、情報量削減部１７０は、当該画像ＩＤに対応付けられている画像データに対して前回適用した削減処理を、画像取得部１５４内にロードされた画像データに対して適用した後（Ｓ１１０）、表示制御部１５０は、再びステップ１０２に示した処理を行う。
【００４５】
ステップ１０４において、対応する画像データがヒープ領域にロードされている場合（Ｓ１０４：Ｙｅｓ）、参照回数計数部１７２は、画像取得部１５４内にロードされている画像データの画像ＩＤおよび参照情報格納部１６２に格納された適用削減処理を参照して、表示すべき画像データに削減処理が既に適用されているか否かを判定する（Ｓ１１２）。削減処理が適用されていない場合（Ｓ１１２：Ｎｏ）、非参照期間計測部１６６は、対応する画像ＩＤの参照情報格納部１６２内の非参照期間を０クリアする（Ｓ１１２）。
【００４６】
ステップ１１２において、削減処理が既に適用されている場合（Ｓ１１２：Ｙｅｓ）、参照回数計数部１７２は、対応する画像データの参照回数を１増やす（Ｓ１１４）。そして、再ロード指示部１７４は、参照情報格納部１６２内の参照回数を参照して、対応する画像データの参照回数が、予め定められた回復閾値以上か否かを判定する（Ｓ１１６）。対応する画像データの参照回数が回復閾値未満である場合（Ｓ１１６：Ｎｏ）、非参照期間計測部１６６は、対応する画像ＩＤの参照情報格納部１６２内の非参照期間を０クリアする（Ｓ１１２）。
【００４７】
ステップ１１６において、対応する画像データの参照回数が回復閾値以上である場合（Ｓ１１６：Ｙｅｓ）、再ロード指示部１７４は、画像取得部１５４に、対応する画像データを画像格納部１５６から再びロードするよう指示する。画像取得部１５４は、再ロード指示部１７４からの指示に応じて、画像データを画像格納部１５６から再ロードする（Ｓ１１８）。そして、再ロード指示部１７４は、参照情報格納部１６２に格納された参照回数であって、画像取得部１５４に再ロードさせた画像データに対応する参照回数を０クリアする（Ｓ１２０）。次に、非参照期間計測部１６６は、参照情報格納部１６２に格納された非参照期間であって、対応する画像データの非参照期間を０クリアし（Ｓ１２２）、表示制御部１５０は、再びステップ１０２に示した処理を行う。
【００４８】
ステップ１２６において、削減閾値以上の画像ＩＤが参照情報格納部１６２内に存在する場合（Ｓ１２６：Ｙｅｓ）、情報量削減部１７０は、当該画像ＩＤに対応する画像取得部１５４内の画像データの情報量を削減する（Ｓ１２８）。ステップ１２８において、情報量削減部１７０は、参照情報格納部１６２内の画像サイズを参照して、削減対象の画像データの画像サイズが、予め定められたサイズ閾値以上の場合、初回の削減処理であっても、対応する画像データに対して削減処理２を行う。またこの場合、参照情報格納部１６２を参照して、削減対象の画像データの画像サイズがサイズ閾値未満であって、かつ前回削減処理を施していない場合、例えば、削減対象の画像データが３２ｂｉｔであるとすると、情報量削減部１７０は、３２ｂｉｔの画像データを、１６ｂｉｔに削減することが好ましい。このように、段階的に画像データの情報量を削減することにより、ユーザに与える違和感を抑えることができる。また、他の例として、作業メモリ１４０の空き容量が予め定められた閾値よりも少なくなった場合、情報量削減部１７０は、画像データの情報量を削減する場合に、３２ｂｉｔの画像データであっても、１６ｂｉｔの画像データであっても、８ｂｉｔに削減してもよい。これにより、作業メモリ１４０の空き容量を迅速に増やすことができる。
【００４９】
画像データの情報量を削減した後、情報量削減部１７０は、参照情報格納部１６２に格納された適用削減処理であって、対応する画像データの適用削減処理を、施した削減処理で更新する（Ｓ１３０）。次に、再ロード指示部１７４は、参照情報格納部１６２に格納された参照回数であって、削減処理を施した画像データに対応する参照回数を０クリアし、非参照期間計測部１６６は、参照情報格納部１６２に格納された非参照期間であって、削減処理を施した画像データの非参照期間を０クリアし（Ｓ１３２）、表示制御部１５０は、再びステップ１０２に示した処理を行う。
【００５０】
上記説明から明らかなように、本実施形態のメモリ管理部１６０は、作業メモリ１４０内のデータのサイズを削減することにより、作業メモリ１４０の空き領域を増加させると共に、アプリケーションプログラムが作業メモリ１４０内のデータを使用する場合に、ＣＰＵの処理負荷の増加を低く抑えることができる。
【００５１】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記した実施の形態に記載の範囲には限定されない。例えば、本実施形態では、情報量削減部１７０は、３２ｂｉｔの画像データを、１６ｂｉｔ、８ｂｉｔと段階的に削減することにより、ユーザに与える違和感を抑えるように作用するが、他の例として、３２ｂｉｔから８ｂｉｔへ画像データの情報量を削減したり、カラーの画像データの色情報を削減することにより、画像データを白黒にしたりすることにより、長い間参照されていない画像データを目立たせ、ユーザに認識させてもよい。これにより、長い間参照されていない画像データを扱わないような処理をアプリケーションプログラムに行わせるように、ユーザに操作を促すことができ、ひいては、アプリケーションプログラムをユーザの嗜好に沿って効率的に動作させることができる。
【００５２】
また、本実施形態では、情報量削減部１７０が、１０ｍｓ等の所定の時間間隔で、非参照期間が削減閾値以上か否かを判定し、非参照期間が削減閾値以上になった場合に、対応する画像データの情報量を削減したが、本発明はこれに限られない。他の例として、画像表示装置１４が、プログラムが使用しなくなったメモリ領域や、プログラム間の隙間のメモリ領域を集めて、連続した利用可能なメモリ領域とするガーベジコレクションの機能を有する場合、情報量削減部１７０は、非参照期間が削減閾値以上になった場合に、対応する画像データの情報量を削減する旨をテーブルに登録し、ガーベジコレクションが実行される直前に、画像データの情報量を削減してもよい。ここで、ＣＰＵがガーベジコレクションを実行している間は、アプリケーションプログラムの実行が停止してしまうか、あるいは、アプリケーションプログラムの実行速度が低下する場合がある。しかし、ガーベジコレクションを行う直前に情報量削減部１７０が画像データの情報量の削減処理を行うと、情報量削減部１７０が画像データの情報量を削減することによって新たにメモリ内に空き領域を生成することができるので、ガーベジコレクションの実行を先延ばしすることができる可能性が高まる。従って、アプリケーションプログラムをより適切に動作させることができる。
【図面の簡単な説明】
【００５３】
【図１】本発明の一実施形態に係る画像表示システム１０のハードウェア構成の一例を示す図である。
【図２】画像表示装置１４の機能構成の一例を示すブロック図である。
【図３】画像格納部１５６に格納されるデータの構造の一例を示す図である。
【図４】メモリ管理部１６０の機能構成の一例を示すブロック図である。
【図５】参照情報格納部１６２に格納されるデータの構造の一例を示す図である。
【図６】画素データ３０の情報量の削減処理の一例を説明するための概念図である。
【図７】適用フラグ格納部１６４に格納されるデータの構造の一例を示す図である。
【図８】メモリ管理部１６０の動作の一例を示すフローチャートである。
【符号の説明】
【００５４】
１０・・・画像表示システム、１２・・・ディスプレイ、１４・・・画像表示装置、１４０・・・作業メモリ、１４２・・・ビデオメモリ、１４４・・・外部記憶装置、１４６・・・ＣＰＵ、１４８・・・バス、１５０・・・表示制御部、１５２・・・画像出力部、１５４・・・画像取得部、１５６・・・画像格納部、１５６０、１６２０、１６４０・・・画像ＩＤ、１５６２・・・画像データ本体、１５８・・・記録媒体、１６０・・・メモリ管理部、１６２・・・参照情報格納部、１６２２・・・非参照期間、１６２４・・・画像サイズ、１６２６・・・参照回数、１６２８・・・適用削減処理、１６４・・・適用フラグ格納部、１６４２・・・適用フラグ、１６６・・・非参照期間計測部、１６８・・・画像サイズ検出部、１７０・・・情報量削減部、１７２・・・参照回数計数部、１７４・・・再ロード指示部、３０・・・画素データ、３１・・・パディング、３２・・・Ｒ、３３・・・Ｇ、３４・・・Ｂ
【図１】
2006127280.tif 000003
【図２】
2006127280.tif 000004
【図３】
2006127280.tif 000005
【図４】
2006127280.tif 000006
【図５】
2006127280.tif 000007
【図６】
2006127280.tif 000008
【図７】
2006127280.tif 000009
【図８】
2006127280.tif 000010