(57)【要約】【課題】  画面に表示し、ユーザに提示する表示画像の描画を効率よく行うための一手法を提供する。【解決手段】  上記課題を解決するために、本発明に係る情報処理装置は、取得部０４００が取得した前後関係を有する複数のオブジェクトを、描画オブジェクトと省略オブジェクトとに分類し、前記描画オブジェクトを描画して保持する第一描画部０４０１と、前記描画オブジェクトを前記前後関係を維持して１つの画像に合成する第一合成部０４０３と、前記合成後、前記省略オブジェクトを描画する第二描画部０４０２と、前記省略オブジェクト及び、前記描画され保持されていた描画オブジェクトを前記前後関係を維持して１つの画像に合成する第二合成部０４０４とを備え、前記第一描画部０４０１は、前記前後関係において前後に隣接する少なくとも１つの描画オブジェクトをグループ化し、該グループ毎に独立したバッファに描画して保持することを特徴とする。【選択図】  図２
2013083822.tif 000002
【特許請求の範囲】
【請求項１】
前後関係を有する複数のオブジェクトを取得する取得手段と、
前記複数のオブジェクトを、優先的に描画する描画オブジェクトと、非優先的に描画する省略オブジェクトとに分類する分類手段と、
前記描画オブジェクトを描画して保持する第一の描画手段と、
前記複数のオブジェクトが有する前後関係を示す情報を参照し、前記描画された描画オブジェクトを、前記前後関係を維持した状態で１つの画像として合成し、表示部に表示させる第一の合成手段と、
前記第一の合成手段による合成の後、前記省略オブジェクトを描画する第二の描画手段と、
前記前後関係を示す情報を参照し、前記第二の描画手段により描画された省略オブジェクトと、前記第一の描画手段により描画され保持されていた描画オブジェクトとを、前記前後関係を維持した状態で１つの画像として合成し、前記表示部に表示させる第二の合成手段とを備え、
前記第一の描画手段は、前記複数のオブジェクトが有する前後関係において、前後に隣接する少なくとも１つの描画オブジェクトをグループ化し、該グループ毎に独立したバッファに描画して保持することを特徴とする情報処理装置。
【請求項２】
前記第二の描画手段は、描画の対象となる少なくとも１つの省略オブジェクトの大きさに応じた大きさのバッファを生成し、該バッファに前記描画の対象となる少なくとも１つの省略オブジェクトを描画することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記分類手段は、前記複数のオブジェクトのそれぞれに対して、描画オブジェクトであるか、省略オブジェクトであるかを任意に指定する操作の結果に基づいて、前記複数のオブジェクトを分類することを特徴とする請求項１乃至２のいずれか１項に記載の情報処理装置。
【請求項４】
前記分類手段は、前記複数のオブジェクトのそれぞれが１つ以上の省略条件に合致するか否かを判定することによって、優先的に描画する描画オブジェクトと、非優先的に描画する省略オブジェクトとに分類することを特徴とする請求項１乃至２のいずれか１項に記載の情報処理装置。
【請求項５】
前記分類手段では、前記少なくとも１つの省略条件のうちの１つとして、前記複数のオブジェクトのそれぞれについて、該オブジェクトを描画するため要する描画時間が閾値を超えるかを判定し、前記閾値以上の描画時間を要しないオブジェクトを描画オブジェクト、前記閾値以上の描画時間を要するオブジェクトを省略オブジェクトとして分類することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記分類手段では、前記複数のオブジェクトのそれぞれについて、前記少なくとも１つの省略条件に合致するか否かを判定した結果を組み合わせて評価値を算出し、該評価値が予め定められた条件を満たす場合に、該オブジェクトを省略オブジェクトとして分類することを特徴とする請求項４乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記複数のオブジェクトのうち、前記分類手段によって省略オブジェクトに分類されるオブジェクトが存在するか否かを判定する判定手段を更に備え、
前記判定手段により、省略オブジェクトが存在すると判定された場合にのみ動作することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
コンピュータに読み込み込ませ実行させることで、前記コンピュータを請求項１乃至７のいずれか１項に記載の情報処理装置として機能させることを特徴とするプログラム。
【請求項９】
取得手段により、前後関係を有する複数のオブジェクトを取得する取得工程と、
分類手段により、前記複数のオブジェクトを、優先的に描画する描画オブジェクトと、非優先的に描画する省略オブジェクトとに分類する分類工程と、
第一の描画手段により、前記描画オブジェクトを描画して保持する第一の描画工程と、
第一の合成手段により、前記複数のオブジェクトが有する前後関係を示す情報を参照し、前記描画された描画オブジェクトを、前記前後関係を維持した状態で１つの画像として合成し、表示部に表示させる第一の合成工程と、
前記第一の合成工程の後、第二の描画手段により、前記省略オブジェクトを描画する第二の描画工程と、
第二の合成手段により、前記前後関係を示す情報を参照し、前記第二の描画手段により描画された省略オブジェクトと、前記第一の描画手段により描画され保持されていた描画オブジェクトとを、前記前後関係を維持した状態で１つの画像として合成し、前記表示部に表示させる第二の合成工程とを備え、
前記第一の描画工程では、前記複数のオブジェクトが有する前後関係において、前後に隣接する少なくとも１つの描画オブジェクトをグループ化し、該グループ毎に独立したバッファに描画して保持することを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクトを描画することによって画面に表示する画像を形成する技術に関する。
【背景技術】
【０００２】
近年普及している様々な情報処理端末では、様々なアプリケーションを利用したり書籍や辞書等といった情報コンテンツを閲覧したりする環境において、グラフィカル・ユーザ・インタフェース（以下、ＧＵＩ）が広く利用されている。ＧＵＩは、一般に、利用者に提示するボタン、テキスト、リスト、イメージといった個々のオブジェクトを、画像処理装置の表示部に表示させる画像上の特定の位置に配置することで作成される。この配置時には、複数のオブジェクトの前後関係も決定されており、画像処理装置は、後ろにあるオブジェクトに重畳して前にあるオブジェクトを描画し、利用者に提示する。画像処理装置がこのようなオブジェクトを描画する方法は様々であるが、例えば、最も後方に配置されたオブジェクトから描画を開始し、順に手前に配置されたオブジェクトを描画していくアルゴリズムがある。これは、絵描きがキャンバス上に絵を描いていくのと同じ手順であることから、Ｐａｉｎｔｅｒ’ｓ  Ａｌｇｏｒｉｔｈｍと呼ばれ、ＧＵＩの描画方法として一般に広く採用されている。
【０００３】
ここで、各オブジェクトの描画に要する時間は、その対象によって様々である。例えば、オブジェクトが複雑なパスや巨大なビットマップで表現されている場合、一般に、そのオブジェクトの描画には長い時間を要する。また、オブジェクトを描画するために、画像処理装置の外部からデータを取得する必要がある場合、その処理によって、オブジェクトの描画処理全体が遅延してしまうことがある。このように、特定オブジェクトの描画時間の増大によって、表示画像の描画が遅延することを回避するため、次のような発明が開示されている。
【０００４】
例えば、特許文献１では、表示していたＧＵＩ画面に変更が生じた際に、変更により修復する必要がある領域を基に、再描画を必要とするオブジェクトを特定する。そして、Ｐａｉｎｔｅｒ’ｓ  Ａｌｇｏｒｉｔｈｍに従い、後方から順に描画が必要なオブジェクトのみを描画し、不必要なオブジェクトの描画を抑制することで効率的な表示処理を行う。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−１０２３４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１では、再描画が必要なオブジェクトか否かの判定は、直前に表示していた画像の内容から変更が生じたかをチェックすることによって、決定するものである。従って、最初に表示画像を描画する際には、前回の描画結果が存在しないために、効率化した描画処理は機能せず、通常のＰａｉｎｔｅｒ’ｓ  Ａｌｇｏｒｉｔｈｍに従って描画を行うのみである。このため、表示画像の初回描画時にはデバイスのユーザビリティを向上させることはできない。
本発明は上記課題を考慮してなされたものであり、ユーザに提示する表示画像の描画を効率よく行うための一手法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係る情報処理装置は、前後関係を有する複数のオブジェクトを取得する取得手段と、前記複数のオブジェクトを、優先的に描画する描画オブジェクトと、非優先的に描画する省略オブジェクトとに分類する分類手段と、前記描画オブジェクトを描画して保持する第一の描画手段と、前記複数のオブジェクトが有する前後関係を示す情報を参照し、前記描画された描画オブジェクトを、前記前後関係を維持した状態で１つの画像として合成し、表示部に表示させる第一の合成手段と、前記第一の合成手段による合成の後、前記省略オブジェクトを描画する第二の描画手段と、前記前後関係を示す情報を参照し、前記第二の描画手段により描画された省略オブジェクトと、前記第一の描画手段により描画され保持されていた描画オブジェクトとを、前記前後関係を維持した状態で１つの画像として合成し、前記表示部に表示させる第二の合成手段とを備え、前記第一の描画手段は、前記複数のオブジェクトが有する前後関係において、前後に隣接する少なくとも１つの描画オブジェクトをグループ化し、該グループ毎に独立したバッファに描画して保持することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、一部のオブジェクトの描画を省略した表示画像を生成することで、ユーザの操作に対する表示上の反応が遅延することを低減する。さらに、省略されたオブジェクトを描画し、既に描画済みであったオブジェクトと合成して完全な表示画像に合成するので、ユーザに提示する表示画像の生成を効率よく行うことが可能となる。
【図面の簡単な説明】
【０００９】
【図１】ユーザにＧＵＩを提供する表示画像の一例を示す図
【図２】情報処理装置のハードウェア及び機能を示すブロック図
【図３】省略オブジェクトの決定方法の一例を示す図
【図４】表示画像生成処理を示すフローチャート
【図５】第一描画処理の一例を示すフローチャート
【図６】オブジェクト描画されたバッファの前後関係を示す図
【図７】第二描画処理を示すフローチャート
【図８】オブジェクト描画されたバッファの前後関係を示す図
【図９】第一描画処理の一例を示すフローチャート
【図１０】第一描画処理の一例を示すフローチャート
【発明を実施するための形態】
【００１０】
以下、本実施例の実施形態について図面を参照して詳細に説明する。尚、以下説明する実施形態は、本実施例を具体的に実施した場合の一例を示すものであり、これに限るものではない。
【００１１】
＜実施例１＞
本実施例では、電子辞書デバイスにおいて、利用者が表示部に表示されたメニュー上で特定の辞書を選択した後、指定された辞書で単語を検索するためのＧＵＩ画面を提示する例を示す。ここでＧＵＩ画面とは、電子辞書デバイスの表示部に表示させ、ユーザに対してＧＵＩを提供するために表示する表示画像である。
【００１２】
図１（Ａ）は、本実施例の説明において、本実施例の利用者にＧＵＩを提供する表示画像の一例を示す図である。利用者が、辞書選択メニューを提供する表示画像（メニュー画面）０１００において、和英辞典アイテム０１０１を選択すると、和英辞典を提供する表示画像（和英辞書画面）０１０２に遷移する。和英辞典画面０１０２には複数のオブジェクトが存在する。このうち、タイトルラベル０１０３、辞書アイコン０１０４、辞書名ラベル０１０５を表示するためには、大量の情報が保存された外部の辞書データを探索して、具体的な辞書名や画像ファイルパスを取得する必要がある。そのため、描画を完了するまでにその他のオブジェクトよりも長い時間を要する。
【００１３】
図１（Ｂ）は、本実施例の利用者に提示する和英辞典画面１０２のうち、一部のオブジェクトを省略した表示画像（和英辞典省略画面）の一例を示す図である。本実施例では、ユーザが和英辞典アイテム０１０１を選択後、和英辞典画面０１０２の表示まで長く待たされることを避けるため、和英辞典画面０１０２を表示する前に、和英辞典省略画面０２００を提示する。和英辞典省略画面０２００は、和英辞典画面０１０２の中で描画に時間のかかるタイトルラベル０１０３、辞書アイコン０１０４、辞書名ラベル０１０５の描画を省略したもので、和英辞典画面０１０２よりも高速に描画することができる。以下、和英辞典画面０１０２に含まれるオブジェクトのうち、優先的に描画されるオブジェクトを描画オブジェクトと称し、非優先的に描画するオブジェクト、すなわち描画を一旦省略するオブジェクトを省略オブジェクトと称する。ここで、省略オブジェクトはタイトルラベル０１０３、辞書アイコン０１０４、辞書名ラベル０１０５である。
【００１４】
さらに、本実施例は、和英辞典省略画面０２００を利用者に提示した後に、優先されなかった（非優先された）省略オブジェクトの描画を行い、優先的に描画した描画オブジェクトの描画結果と合成して和英辞典画面０１０２を提示する。このとき、描画オブジェクトは既存の描画結果を再利用するため、描画処理をはじめからやり直す場合と比較して、省略されていない本来の表示画像を高速に提示することができる。
【００１５】
図２（Ａ）は、本実施例のハードウェア構成の一例を示す図である。ＣＰＵ０３００は、表示画像生成に係るプログラムに基づいて処理を実行する。ＲＯＭ０３０１には、前述の処理や基本Ｉ／Ｏなどに係る各種プログラム、表示画像の各オブジェクト情報（オブジェクトのアートワーク、配置情報など）が読み取り専用データとして格納されている。ＲＡＭ０３０２は、ＣＰＵ０３００のワークエリア（メインメモリ）として機能する。記憶装置０３０３には、各辞書データなどが格納されている。さらに、本実施例は、ディスプレイ０３０４を備え、ＲＯＭ０３０１に格納されたコンテンツデータに基づいて描画されたビットマップを、表示画像として出力する。システムバス０３０５は、本実施例内のデータの流れを司る。
【００１６】
図２（Ｂ）は、本実施例の機能ブロックの一例を示す図である。本実施例は、取得部０４００を備え、ＲＯＭ０３０１から各オブジェクト情報を取得して、第一描画部０４０１、及び、第二描画部０４０２に渡す。第一描画部０４０１は、取得部０４００から渡されたオブジェクト情報をもとに、描画オブジェクトを描画オブジェクトバッファに描画するとともに、省略オブジェクトを描画するための省略オブジェクトバッファを確保して第二描画部０４０２に渡す。第二描画部０４０２は、取得部０４００から渡されたオブジェクト情報をもとに、第一描画部０４０１から受け取った省略オブジェクトバッファに省略オブジェクトを描画する。さらに、本実施例は第一合成部０４０３を備え、第一描画部０４０１で描画された描画オブジェクトバッファを、各バッファ内に描かれたオブジェクトの前後関係を維持した状態で合成し、最終的に利用者に提示するビットマップを作成する。同様に、第二合成部０４０４は、描画オブジェクトバッファと省略オブジェクトバッファの両方を受け取り、各バッファ内に描かれたオブジェクト同士の前後関係を維持した状態で合成し、利用者に提示するビットマップを作成する。第一合成部０４０３及び第二合成部０４０４で生成されたビットマップは、ディスプレイ０３０４に出力される。なお、本実施例では、取得部０４００、第一描画部０４０１、第二描画部０４０２、第一合成部０４０３、第二合成部０４０４の各機能ブロックは、ＣＰＵ０３００の機能部であり、各機能部のワークエリア及びバッファとしてＲＡＭ０３０２が用いられる。ただし、本発明は、これらの機能部をハードウェアで実現する情報処理装置によっても同様に実現可能である。
【００１７】
次に、本実施例の動作を実現する処理の一例を、フローチャートやデータ構造図などを用いて詳細に説明する。本実施例では、表示画像を構成するオブジェクトのうち、いずれを省略オブジェクトとするかを、ＧＵＩの開発環境において任意に設定可能とする例を示す。図３（Ａ）は、本実施例において、和英辞典画面０１０２を開発者が開発する際のオーサリングツールの表示画像を示す図である。現在開発中の画面を示す編集領域０５００が存在し、その中に和英辞典画面０１０２が表示されている。本実施例のＧＵＩの開発者は、このオーサリングツールを用い、和英辞典画面０１０２の中に存在するオブジェクトを選択してコンテキストメニュー０５０１を開き、当該オブジェクトを省略オブジェクトとして指定することができる。ここで指定されたオブジェクトは、和英辞典省略画面０２００に含まれない省略オブジェクトとして、編集領域０５００内の表示様態を変更される。この変更方法は任意であるが、例えば、該オブジェクトの表示を半透明に変更する。本実施例では、上述したように、描画に時間がかかるタイトルラベル０１０３、辞書アイコン０１０４、辞書名ラベル０１０５を省略オブジェクトとして指定する。それ以外のオブジェクトは、和英辞典省略画面０２００に含まれる描画オブジェクトとなる。オーサリングツールでは、取得部０４００によってＲＯＭ０３０１から取得されたオブジェクト情報に、オーサリングツール上で指定された情報を付加して、それぞれが描画オブジェクトか指定オブジェクトであることを示す分類情報を示すテーブルを生成する。ユーザの操作によって省略オブジェクトが指定されると、取得部０４００はオブジェクト分類情報を更新し、ＲＯＭ０３０１にオブジェクトとともに保存する。図３（Ｂ）は、オブジェクト分類情報の一例を示すテーブルを示す図である。図３（Ａ）の例で指定したオブジェクトの分類情報は、テーブルとしてＲＡＭ０３０２上に保持される。本実施例では、図３（Ｂ）のように、オブジェクトの前後関係（後方からの順序）を示すナンバー０６００、オブジェクトを一意に特定するオブジェクトＩＤ０６０１、オブジェクトの外接矩形情報０６０２、と省略オブジェクトフラグ０６０３が定義される。ここで、オブジェクトの外接矩形情報とは、対応するオブジェクトが表示されるのに必要十分な外接矩形の、表示画像上の位置（画面左上を原点とする座標）と幅・高さを示す情報である。本実施例では、タイトルラベル０１０３、辞書アイコン０１０４、辞書名ラベル０１０５に対応して、辞書名ラベルデータ０６０４、タイトルラベルデータ０６０５、辞書アイコンデータ０６０６の省略オブジェクトフラグ０６０３がＴＲＵＥとなっている。それ以外のオブジェクトは省略オブジェクトとして指定されていないため、省略オブジェクトフラグ０６０３はＦＡＬＳＥであり、描画オブジェクトとみなされる。
【００１８】
図４は、本実施例のＧＵＩの表示画像を生成する処理の全体を示すフローチャートである。はじめに、ステップＳ７００において、第一描画処理を実行する。第一描画処理とは、少なくとも１つの描画オブジェクトを描画し、オブジェクトが有する前後関係を維持した状態で描画オブジェクトのみからなる合成した表示画像を表示させる処理である。ここでは、第一描画部０４０１及び第一合成部０４０３が、和英辞典省略画面０２００を描画し、ディスプレイ０３０４に出力して利用者に提示する。図５は、本実施例の第一描画処理（ステップＳ７００）の詳細を示すフローチャートである。ここでの処理は、一般的なＰａｉｎｔｅｒ’ｓ  Ａｌｇｏｒｉｔｈｍに基づいており、後方に配置されたオブジェクトから前方に配置されたオブジェクトの順に処理を行う。
【００１９】
まず、ステップＳ８００において、取得部０４００は、ＲＯＭ３０１から、図３（Ｂ）で示したオブジェクト分類情報を取得し、ＲＡＭ０３０２上に保持する。次にステップＳ８０１において、第一描画部０４０１は、ＲＡＭ０３０２から得たオブジェクト情報を参照して一番後方のオブジェクトを描画対象に設定する。
【００２０】
次に、ステップＳ８０２において、第一描画部０４０１は、図３（Ｂ）のオブジェクト分類情報に示される省略オブジェクトフラグ０６０３の値を参照し、現在の描画対象が省略オブジェクトか否かの判定を行う。ここで、処理対象が省略オブジェクトだった場合（ステップＳ８０２でＹＥＳ）には、ステップＳ８０３に進む。ステップＳ８０３では、省略オブジェクトバッファを確保する。ここでは、図３（Ｂ）のオブジェクト分類情報に示されるオブジェクトの外接矩形情報を参照して、処理対象のオブジェクトを描画するのに必要十分なサイズのバッファを、メモリ領域に確保し、ステップＳ８０９に進む。ここで確保された省略オブジェクトバッファは、のちに第二描画部０４０２によって使用される。一方、処理対象が省略オブジェクトでない場合（ステップＳ８０２でＮＯ）の場合には、ステップＳ８０４に進む。
【００２１】
ステップＳ８０４において、第一描画部０４０１は、ＲＡＭ０３０２に保持されている情報から、その前に処理対象であったオブジェクトの描画が行われているか否かの判定を行う。ここで、描画されていなかった場合は（ステップＳ８０４でＮＯ）、ステップＳ８０５に進み、新たに描画用のバッファを作成し、カレントバッファに設定する。ここで生成するバッファの大きさは、ディスプレイ０３０４に表示する表示画像全体を描画できるのに十分な大きさのものとする。また、カレントバッファとは、現在処理対象となっているオブジェクトを描画するバッファである。なお、第一描画処理において最初に処理する一番後方のオブジェクトが対象の場合も、前の処理対象オブジェクトそのものが存在しないため、ステップＳ８０４の判定はＮＯとなり、ステップＳ８０５に進んで描画オブジェクトバッファの新規作成処理を行う。描画用バッファをカレントバッファに設定したら、ステップＳ８０６に進む。一方、前に処理対象だったオブジェクトが描画済みである場合は（ステップＳ８０４でＹＥＳ）、新たなバッファの作成は行なわず、ステップＳ８０６に進む。ステップＳ８０６では、取得部４００が、ＲＯＭ０３０１から、処理対象となっているオブジェクトのオブジェクト情報を取得し、ＲＡＭ０３０２上に保持する。ここで取得するオブジェクト情報は、オブジェクトのアートワークなど、当該オブジェクトを描画するのに必要な情報である。次にステップＳ８０７では、第一描画部０４０１が、取得したオブジェクト情報を基に、カレントバッファに処理対象のオブジェクトを描画し、更にステップＳ８０８において、描画済みであることを示すフラグをオブジェクト情報に設定する。
【００２２】
次に、ステップＳ８０９において、第一描画部０４０１は、オブジェクト情報を基に、全てのオブジェクトを処理し終えたか否かの判定を行う。ここで、まだ未処理のオブジェクトがある場合は（ステップＳ８０９でＮＯ）、ステップＳ８１０に進み、処理対象を１つ手前に配置されたオブジェクトに設定して、ステップＳ８０２の処理に戻る。一方、すべてのオブジェクトを処理し終えた場合（ステップＳ８０９でＹＥＳ）、ステップＳ８１１に進む。ステップＳ８１１では、最後に、第一合成部０４０３が、これまで描画オブジェクトを描画した全てのバッファを、前後関係を維持した状態で１つの画像に合成する。具体的には、第一合成部０４０３は、取得部０４００が取得したオブジェクト情報に示された前後関係を参照し、後方に存在するオブジェクトの上に前方に存在するオブジェクトが描かれるよう、後方から順にバッファを合成し、表示画像を生成する。本実施例では、表示画像（和英辞典省略画面０２００）が生成される。このとき、省略オブジェクトバッファには、まだ何も描画が行われていないため、第一合成部０４０３による合成対象には含まれない。そして、ステップＳ８１２において、第一合成部０４０３が、生成した表示画像をディスプレイ０３０４に出力する。
【００２３】
図６は、本実施例の第一描画処理（ステップＳ７００）の後、図３（Ｂ）のオブジェクト分類情報に示される各オブジェクトに対応するＲＡＭ０３０２上のバッファの様子を示した概念図である。図中の括弧内の数字は、各バッファの前後関係を示しており、値が小さいほど、後方に存在するオブジェクトが描かれることを示す。本実施例では、タイトルラベル０１０３、辞書アイコン０１０４、辞書名ラベル０１０５の３つのオブジェクトが省略オブジェクトとして指定されている。従って、これらのオブジェクトは、第一描画処理（ステップＳ７００）では描画されず、独立したバッファの生成のみが行われる。図６において、それぞれ、点線で示した矩形０９０３〜０９０５は表示画像全体のサイズを示している。それに対し、各省略オブジェクトに対応して生成された省略オブジェクトバッファが、辞書名ラベル用バッファ０９０７、タイトルラベル用バッファ０９０８、辞書アイコン用バッファ０９０９で示されている。一方、その他の描画オブジェクトは、描画オブジェクトバッファ０９００〜０９０２のいずれかに描画されている。これらは、図３（Ｂ）のオブジェクト分類情報で示された前後関係を有する各オブジェクトを、後方に存在するものから順に、かつ前後に隣接するオブジェクトはグループ化して、そのグループ毎に１つの独立したバッファに描画したものである。本実施例では、処理対象が前回の処理対象が描画されていない、すなわち省略オブジェクトであった場合（ステップＳ８０２でＮＯ）、次に描画するオブジェクトに対しては新しいバッファが生成される（ステップＳ８０３）。このため、隣接する描画オブジェクトは、間に省略オブジェクトを挟んで別々のバッファに分かれて描画される。これは、後に行う第二描画処理（ステップＳ７０２）において、省略オブジェクトを描画した後、今回の描画結果の間に挿入して合成するためである。第ニ描画処理とは、省略オブジェクトを描画して、既に描画され保持されている描画オブジェクトと、オブジェクトの前後関係を維持した状態で合成することにより、完全な表示画像を生成し表示させる処理である。その詳細は、後に第二描画処理（ステップＳ７０２）の説明で述べる。第一合成部０４０３は、ステップＳ８１１において、描画済みのバッファのみを合成する。すなわち、ここでは、描画オブジェクトバッファ０９００〜０９０２の３つのバッファを合成する。これにより図２で示した和英辞典省略画面０２００の表示画像を作成し、ディスプレイ０３０４に出力して利用者に提示する。以上が、第一描画処理（ステップＳ７００）の詳細である。
【００２４】
第一描画処理（Ｓ７００）が終了すると、処理ステップは呼び出し元にリターンされ、図４のフローチャートにおけるステップＳ７０１に進む。ステップＳ７０１では、今回の処理において省略オブジェクトが１つ以上あるかを判定する。この判定は、第二描画部０４０２が、ＲＡＭ０３０２上の情報を参照し、図３（Ｂ）で示したオブジェクト分類情報において、省略オブジェクトのフラグが設定されたオブジェクトがあるかを確認することで可能になる。また、第二描画部０４０２が、ＲＡＭ０３０２上の情報省略オブジェクトバッファが生成されているかを確認することでも判定できる。省略オブジェクトが１つ以上存在する場合（Ｓ７０１でＹＥＳ）、ステップＳ７０２の第二描画処理に進む。省略オブジェクトが存在しない場合（Ｓ７０１でＮＯ）、全てのオブジェクトが描画済みであるので、処理を終了する。本実施例では、１つ以上の省略オブジェクトが存在するため、第二描画処理（ステップＳ７０２）に移行する。
【００２５】
図７は、本実施例の第二描画処理（ステップＳ７０２）の詳細を示すフローチャートである。はじめに、ステップＳ１０００において、第二描画部０４０２が、ＲＡＭ０３０２上に保持されているオブジェクト分類情報を参照し、処理対象を一番後方のオブジェクトに設定する。そしてステップＳ１００１において、オブジェクトが省略オブジェクトか否かの判定を行う。この判定は、第一描画処理のステップＳ８０７において、描画済みオブジェクトに対して設定されたフラグの値をチェックすることで行う。処理対象が描画オブジェクトで、既に描画済みであった場合（ステップＳ１００１でＹＥＳ）、当該オブジェクトに対しては何も処理を行なわず、ステップＳ１００４に進む。一方、処理対象が省略オブジェクトに指定されており、まだ未描画である場合は（ステップＳ１００１でＮＯ）、ステップＳ１００２に進む。ステップＳ１００２において、取得部０４００が、０４０２が、ＲＯＭ０３０１から、省略オブジェクトの描画に必要なオブジェクト情報を取得する。ステップＳ１００３では、処理対象のオブジェクトを、ステップＳ８０３において生成された対応する省略オブジェクトバッファに描画する。省略オブジェクトバッファは、第一描画部０４０１によって、対応する省略オブジェクトの外接矩形を含むのに必要十分な領域としてＲＡＭ０３０２上に確保されているものである。次にステップＳ１００４において、全オブジェクトを処理し終えたか否かの判定を行い、未処理のオブジェクトがある場合（ステップＳ１００４でＮＯ）、ステップＳ１００５において処理対象を１つ手前のオブジェクトに設定し、ステップＳ１００１の処理に戻る。一方、全オブジェクトを処理し終えた場合（ステップＳ１００４でＹＥＳ）、ステップＳ１００６に進む。ステップＳ１００６では、第二合成部０４０４が、第二描画処理において描画された省略オブジェクトバッファと、第一描画処理において描画されて第一描画部０４０１によってＲＡＭ０３０２上に保持されていた描画オブジェクトバッファを１つ画像に合成する。このとき、第二合成部０４０４は、取得部０４００が取得したオブジェクトの前後関係を示す情報を参照し、後方に存在するオブジェクトの上に前方に存在するオブジェクトが描かれるよう、順に描画オブジェクトバッファと省略オブジェクトバッファを合成する。また、省略オブジェクトバッファに対しては、ＲＡＭ０３０２上に保持された各オブジェクトの外接矩形情報を参照し、各オブジェクトの位置を合わせて、１つの表示画像として合成する。第二合成部０４０４によって、本実施例では、和英辞典画面０１０２の表示画像が生成される。そして、ステップＳ１００７において、生成された表示画像をディスプレイ０３０４に出力する。なお、ワークエリアに余裕がある場合には、複数の描画オブジェクトバッファに対して、それぞれの前方に存在する省略オブジェクトバッファを合成する処理を並行して行い、最終的に全て前後関係を維持した１つの画像としてそれらのバッファを合成しもよい。
【００２６】
以上が、第二描画処理（ステップＳ７０２）の詳細である。ステップＳ７０２の第二描画処理が終了すると、呼び出し元にリターンされ、本実施例のＧＵＩを表示する表示画像を生成する処理が終了する。
【００２７】
図８は、第二描画処理（ステップＳ７０２）のにおいて全てのバッファにおける描画か完了した後の、ＲＡＭ０３０２上で保持された各バッファを示した概念図である。図６で示した、本実施例の第一描画処理（ステップＳ７００）の後のバッファとの差異は、辞書名ラベル用バッファ１１０６、タイトルラベル用バッファ１１０７、辞書アイコン用バッファ１１０８に、省略オブジェクトが描画されている点にある。第一描画処理（ステップＳ７００）では、上段の描画オブジェクトバッファにしかオブジェクトが描画されていなかったが、ここではすべてのバッファにオブジェクトが描画されており、第二合成部０４０４はそれらすべてを合成する。ここで、既に第一描画処理（ステップＳ７００）において描画済みの３つのバッファは、以前の描画結果を再利用するため、オブジェクトの描画処理自体は行われず、合成に利用されるだけである。
【００２８】
以上で説明した実施例によれば、辞書選択メニュー画面０１００から和英辞典画面０１０２の遷移時に、描画に時間のかかるオブジェクトを省略した和英辞典省略画面０２００を提示し、ユーザの操作に対するデバイスの反応を素早くユーザに示すことができる。従って、ユーザは操作が有効に受け付けられたことを早く認識できる。また、省略画面において表示される描画オブジェクトに、例えば「全画面に戻る」ためのボタンや文字入力スペースのように、ユーザの操作とのインタラクションが可能な操作用のオブジェクトが含まれている場合がある。その場合、ユーザは省略オブジェクトの描画終了を待つ必要なく、操作を行うことができる。従って、ユーザの操作に対するデバイスの反応を示すために、前回終了時の表示画像等の仮の静止画像を表示させる場合に比較して、表示画面がフリーズしてしまったような不安を低減するという効果もある。これに加えて、本実施例では、和英辞典省略画面０２００でされた描画オブジェクトの描画結果を再利用して、省略のない本来の和英辞典画面０１０２を生成する。従って、仮の画像を描画した後に、改めて描画するのに比較して、高速に最終的な表示画像を提示することができ、効率のよい表示画像の生成が可能となる。また、本実施例では、省略オブジェクトバッファを確保にする際に、各処理対象オブジェクトを描画するのに必要十分な領域を確保する。常に画面サイズと同じ大きさのバッファを確保した場合、組み込み機器などの低リソースデバイスでは、ワークエリア（ＲＡＭ０３０２の容量）が不足する可能性があるが、本実施例によれば、ワークエリアの使用量を抑えることができる。
【００２９】
実施例１では、各省略オブジェクトを描画するのに必要十分な大きさの省略オブジェクトバッファを確保するため、それら描画オブジェクトバッファと合成して１つの画像を生成する（ステップＳ１００６）際に、位置合わせをする必要がある。次に、実施例１の変形例１として、描画オブジェクトに対してと同様に、オブジェクトの前後関係において前後に隣接する省略オブジェクトはグループ化し、グループ毎に独立した省略オブジェクトバッファに描画する例を示す。変形例１では、描画オブジェクトバッファと同様に、表示画像全体を描画するのに十分な大きさの省略オブジェクトバッファを確保するため、位置合わせをすることなくバッファを合成できる。図９は、変形例１における第一描画処理（ステップＳ７００）を示すフローチャートである。図５のフローチャートとの差異はステップＳ８０２ａ〜８０５ａの処理にある。図９では、オブジェクト分類情報を取得し（ステップＳ８００），処理対象のオブジェクトを設定した（ステップＳ８０１）後、ステップＳ８０２ａに進む。ステップＳ８０２ａでは、第一描画部０４０１がＲＡＭ０３０２上の情報を参照し、現在の処理対象オブジェクトが、前回の処理対象オブジェクトと同じ分類か否かを判定する。そして、前回の処理対象オブジェクトと同じ分類ではない場合（ステップＳ８０２ａでＮＯ）、ステップＳ８０３ａに進み、描画用バッファを新規に生成して、カレントバッファに設定し、ステップＳ８０４ａに進む。ここで生成するバッファは、表示画像全体を描画するための大きさをもったバッファである。一方、処理対象が前回の処理対象オブジェクトと同じ分類である場合（ステップＳ８０２ａでＹＥＳ）には、バッファを作成せず、ステップＳ８０４ａに進む。一番後方のオブジェクトを処理対象としている場合には、前の処理の対象が存在しないので、ステップＳ０８０２ａの判定はＮＯとなる。ステップＳ８０４ａでは、第一描画部０４０１が、ＲＡＭ０３０２上のオブジェクト情報を参照して、処理対象のオブジェクトが省略オブジェクトかどうかを判定する。処理対象オブジェクトが省略オブジェクトではない場合（ステップＳ８０４ａでＮＯ）、ステップＳ８０６に進む。処理対象オブジェクトが省略オブジェクトであった場合（ステップ８０４ａでＹＥＳ）は、ステップＳ８０５ａに進み、カレントバッファを省略オブジェクトバッファとして、第二描画処理（ステップＳ７０２）まで保持する。以降は、実施例１と同様の処理に従う。この場合、第二描画処理（ステップＳ７０２）のステップＳ１００３において、第二描画部０４０２は、前後に隣接する省略オブジェクトは後方に存在する省略オブジェクトから順に同じバッファに描画する。このように、変形例１においては、前後に隣接する少なくとも１つの省略オブジェクトをグループ化して、グループ毎に同じバッファに描画を行う。従って、省略オブジェクトバッファと描画オブジェクトバッファを合成する際に、位置合わせを必要としない。さらに、前後に隣接する省略オブジェクトが多数存在する場合には、各省略オブジェクトに対して別々にバッファを確保するのに比べて、メモリの使用領域を抑えることができる。
【００３０】
また、ワークエリアの使用量を削減のための変形例２として、第一描画処理（ステップＳ７００）において省略オブジェクトバッファを確保せずに、本発明の目的を実現することもできる。この場合には、ステップＳ８０５においては、カレントバッファを解放する。そして、第二描画処理（ステップＳ７０２）のステップＳ１００３において、第二描画部０４０２が、処理対象の省略オブジェクトの後方に相当する描画オブジェクトバッファを確保する。そして、その描画オブジェクトバッファの前方に存在する省略オブジェクトを順に描画していくことで、オブジェクトの前後関係を維持して全てのオブジェクトを描画することが可能になる。そして、追加して省略オブジェクトが描画された複数の描画オブジェクトバッファを、第二合成部０４０４によって、後方から重ねて合成することで、表示画像を生成することができる。
【００３１】
なお、本実施例の説明においては、図１や図２で示したような電子辞書において和英辞書を選択するためのＧＵＩを例に説明を行ったが、本実施例は、利用者に提示するＧＵＩの内容（オブジェクトのアートワークや配置位置など）によって限定されるものではない。例えば、電子辞書における、語句の検索結果を表示する際の表示画像や、地図や電子書籍等の各種アプリケーションで提供されるＧＵＩや、Ｐａｉｎｔｅｒ’ｓ  Ａｌｇｏｒｉｔｈｍによって描画される他の表示画像にも、本実施例は適応することができる。また、図３で示したオーサリングツールの景観、構成にも限定されず、表示画像を描画するよりも前の何らかの工程で、省略オブジェクトを予め指定することが可能であれば、実施例１の発明は適応される。
【００３２】
＜実施例２＞
本実施例では、描画に時間がかかるオブジェクトを画像処理装置が自動で判別し、ＧＵＩ開発者による明示的な指定作業を不要とする例を示す。
【００３３】
実施例１では、省略オブジェクトを、ＧＵＩ開発者がオーサリングツール上で明示的に指定する例を示した。この構成では、省略されるオブジェクトをＧＵＩ開発者のコントロール下に置くことが可能な反面、別途、オーサリングツールを利用して指定作業を行う必要があった。また、近年では、利用者が製品を購入後、外部メディアやネットワークなどを介して、コンテンツを追加または更新する機能を備えたデバイスが普及している。この場合、ＧＵＩ開発時に、全ての省略オブジェクトを指定することは困難である。
【００３４】
このように、ＧＵＩ開発者が明示的に省略オブジェクトを指定するよりも、画像処理装置が省略オブジェクトを自動的に判別し、指定作業をすることなく省略画面を提示できた方が、より有用な場合がある。本実施例では、実施例１で示した第一描画処理（ステップＳ７００）を変更することで、これを実現する。
【００３５】
本実施例では、図５で示した第一描画処理（ステップＳ７００）の詳細以外の構成及び処理は、実施例１と同様であるので、説明を省略する。また、上述したように、図３で説明したオーサリングツールを利用した事前の省略オブジェクトの指定作業は行う必要はない。
【００３６】
図１０は、本実施例における第一描画処理（ステップＳ７００）の詳細を示すフローチャートである。実施例１と同様、ここでの処理は、Ｐａｉｎｔｅｒ’ｓ  Ａｌｇｏｒｉｔｈｍをベースとし、後方に配置されたオブジェクトから前方に配置されたオブジェクトの順に処理を行う。
【００３７】
はじめに、ステップＳ１２００において、取得部０４００は、ＲＯＭ３０１から、オブジェクトの種類と外接矩形（位置と幅・高さ）、前後関係を示すオブジェクト情報を取得し、ＲＡＭ０３０２上に保持する。ここでオブジェクトの種類とは、テキスト、イメージ、ラベルなどといった、表示画像であるＧＵＩ画面における要素を示す種類ものである。本実施例では、これらのオブジェクト情報を、テーブルで取得するものとする。ステップＳ１２０１において、第一描画部０４０１がＲＡＭ３０２上のオブジェクト情報を参照し、処理対象を一番後方のオブジェクトに設定する。ステップＳ１２０２において、第一描画部０４０１が、この一つ前に処理対象だったオブジェクトが描画済みかどうかを判定する。一つ前の処理対象のオブジェクトが描画されていない、あるいは初回の処理だった場合には（ステップＳ１２０２でＮＯ）、ステップＳ１２０３に進み、新しく描画オブジェクトバッファを生成してカレントバッファに設定して、ステップＳ１２０４に進む。ここで生成するバッファの大きさは、ディスプレイ０３０４に表示する表示画像全体を描画できるのに十分な大きさのものとする。一方、一つ前の処理対象のオブジェクトが描画済みであった場合には（ステップＳ１２０２でＹＥＳ）、そのままステップＳ１２０４に進む。
【００３８】
次に、本実施例では、ステップＳ１２０４において、第一描画部０４０１が、ＲＡＭ０３０２上に保持された情報から、処理対象のオブジェクトの種類がラベル、または、イメージであるか否かの判定を行う。これは、本実施例で生成する表示画像が提供する電子辞書のＧＵＩでは、描画時間の長いオブジェクトが、サイズの大きい辞書データのロードを要するラベルかイメージに限定されるためである。処理対象であるオブジェクトが、ラベルでもイメージでもなかった場合（ステップＳ１２０４でＮＯ）、処理はステップＳ１２０５に進む。ステップＳ１２０５において、取得部４００は、オブジェクトのアートワーク等、処理対象のオブジェクトを描画するために必要なオブジェクト情報を取得し、ＲＡＭ０３０２に上に保持する。第一描画部０４０１は、ステップＳ１２０６において、ＲＡＭ０３０２上のオブジェクト情報に基づき、カレントバッファに処理対象のオブジェクトを描画し、ステップＳ１２０７において、オブジェクトに描画済みであることを示すフラグを立てる。そして、ステップＳ１２１１に進む。ここで示した描画オブジェクトに対する処理は、実施例１と同様である。
【００３９】
一方、処理対象のオブジェクトがラベル、または、イメージであった場合（ステップＳ１２０４でＹＥＳ）、処理はステップＳ１２０８に進む。ステップＳ１２０８では、取得部４００が、具体的に利用者に提示するテキストやイメージ名を取得するため、辞書データをロードして、描画に用いるオブジェクト情報を取得する。そしてステップＳ１２０９において、本実施例では、第一描画部０４０１が、処理対象であるオブジェクトに対する描画処理がさらなる省略条件に合致するか否かの判定を行う。本実施例では、オブジェクト情報を含む辞書データのロードに２００ミリ秒という閾値以上を要するものとする。ここで用いる省略条件は、合致する場合に、第一描画部０４０１での描画処理を省略するもので、条件に合致するオブジェクトを省略オブジェクトと分類するための条件である。処理対象となっているオブジェクトが省略オブジェクトに分類された場合は、第二描画部０４０２での第二描画処理（ステップＳ７０２）まで描画を行わない。本実施例では、ステップＳ１２０８において、辞書データのロード開始から２００ミリ秒経過後にポーリング（問い合わせ）を行い、辞書データのロードが完了したか否かを判定する（ステップＳ１２０９）。これは、例えば、辞書データのロードが完了した際に立てられるフラグなどをチェックすれば良い。ここで、省略条件に合致しなかった場合（ステップＳ１２０９でＮＯ）、処理対象のオブジェクトがラベルやイメージでなかった場合と同様、描画オブジェクトであるとみなし、ステップＳ１２０６に進んでカレントバッファにオブジェクトを描画する。省略条件に合致した場合（ステップＳ１２０９でＹＥＳ）、処理対象のオブジェクトを省略オブジェクトとして指定し、ステップＳ１２１０に進む。ステップＳ１２１０では、カレントバッファを省略オブジェクトバッファとして、描画を行わずに第二描画処理まで保持する。このとき、第一描画部０４０１は、ステップＳ１２００で取得部４００が取得したオブジェクト情報のうち、外接矩形の位置（画面左上を原点とする座標）と幅・高さの情報を参照する。そして、カレントバッファのメモリ領域のうち、対応する外接矩形を描画するのに必要十分な大きさの領域を確保して、残りを解放する。
【００４０】
その後、ステップＳ１２１１において、第一描画部０４０１は、すべてのオブジェクトを処理したか否かの判定を行う。ここで、まだ未処理のオブジェクトが存在する場合（ステップＳ１２１０でＮＯ）は、ステップＳ１２１２で描画対象を１つ手前のオブジェクトに設定し、ステップＳ１２０２の処理に戻り、次のオブジェクトに対して同様の処理を行う。一方、すべてのオブジェクトを処理し終えた場合（ステップＳ１２１１でＹＥＳ）、ステップＳ１２１３に進む。ステップＳ１２１３では、第一合成部０４０３が、描画オブジェクトが有する前後関係を維持したまま、全ての描画オブジェクトバッファを合成する。このとき、第一描画処理において第一描画部０４０１によって描画されてＲＡＭ０３０２上に保持されていた描画オブジェクトバッファを１つ画像に合成する。このとき、第一合成部０４０３は、取得部０４００が取得したオブジェクトの前後関係を示す情報を参照し、後方に存在するオブジェクトの上に前方に存在するオブジェクトが描かれるよう、順に描画オブジェクトバッファを合成する。本実施例では、和英辞典省略画面０２００の表示画像が生成される。そして、ステップＳ１２１４において、生成された表示画像をディスプレイ０３０４に出力する。以上が、本実施例における第一描画処理（Ｓ７００）である。この後に続くステップＳ７０１、及び第二描画処理（Ｓ７０２）は、既に説明した実施例１の場合と同様であるので、説明を省略する。
【００４１】
以上で説明した本実施例では、事前にオブジェクトの省略条件を設定しておくことで、省略オブジェクトを画像処理装置が自動的に判定することが可能となる。従って、ＧＵＩの開発者は、オーサリング環境において省略対象の全てのオブジェクトを指定する作業を行わなくても良い。また、利用者が製品を購入後に追加したコンテンツに対しても、本実施例の描画処理を適応し、条件に合致するオブジェクトの描画を省略して、素早く機器の反応を利用者に示すことができる。従って、ユーザは操作が有効に受け付けられたことを早く認識できる。また、省略画面において表示される描画オブジェクトに、ユーザの操作とのインタラクションが可能な操作用のオブジェクトが含まれている場合には、ユーザは省略オブジェクトの描画終了を待つ必要なく、操作を行える。さらに、本実施例では、省略オブジェクトを描画する際に、和英辞典省略画面０２００でされた描画オブジェクトの描画結果を再利用して、省略のない本来の和英辞典画面０１０２を生成する。従って、仮の静止画像を表示することでユーザの操作の有効性を示し、全てのオブジェクト情報をロードした後に改めて表示画像を生成する場合に比べて、高速に最終的な表示画像を提示することが可能となる。また、本実施例においても、省略オブジェクトバッファを確保する際に、各処理対象オブジェクトを描画するのに必要十分な領域を確保する。常に画面サイズと同じ大きさのバッファを確保した場合、組み込み機器などの低リソースデバイスでは、ワークエリアが不足する可能性があるが、本実施例によれば、ワークエリアの使用量を抑えることができる。
【００４２】
なお、本実施例の説明においては、省略オブジェクトである可能性が高いものに対してのみ省略条件に合致するか否かを判定し、省略オブジェクトである可能性が低いものは描画オブジェクトと決定して処理することで、判定処理の付加を低減した。その一例として、省略条件に合致するか否かを判定するオブジェクトの種類をラベル、または、イメージに限定したが、本発明の実施の態様はこれによって限定されるものではない。他の種類のオブジェクトを、省略条件を判定する対象としてもよく、もちろん全てのオブジェクトに省略条件を設定してもよい。また、処理対象とするオブジェクトがラベル、イメージであるか否かを、省略オブジェクトであるか否かを判定する省略条件とし、さらなる詳細な省略条件での判断は省略することもできる。さらに、本実施例では、省略条件として、オブジェクト情報を取得して描画するための時間が２００ミリ秒という閾値以上に至ることを条件とする例を挙げたが、その他の条件を用いることもできる。他の例として、例えば、処理対象のオブジェクトの描画面積が一定の大きさを超えることを省略条件として設定しても良い。これは、描画面積の大きいオブジェクトは、一般に、描画処理により長い時間を要する傾向にあることを踏まえたものである。また、ここで設定する条件は複数であっても良い。また、複数条件を設定した場合に、それぞれの条件に重み付けを行い、各条件の判定結果から評価値を算出する評価関数を構築しても良い。この場合、図１０のステップＳ１２０６で示した、省略条件に合致したか否かの判定は、各オブジェクトの評価値が、予め定められた閾値を上回るか否かで決定する。これにより、例えば、ボタンやリストなど、ユーザが機器操作を行うために必要なコントロールオブジェクトを、他のオブジェクトよりも描画の優先度を高くするなど、より柔軟に省略オブジェクトの決定条件を定めることができる。このように、省略条件は、実現するＧＵＩやデバイスの特性に応じて、任意に設定可能なものである。
【００４３】
実施例２においても、各省略オブジェクトを描画するのに必要十分な大きさの省略オブジェクトバッファを確保するため、それら描画オブジェクトバッファと合成して１つの画像を生成する（ステップＳ１００６）際に、位置合わせをする必要がある。次に、実施例２の変形例１として、描画オブジェクトに対してと同様に、オブジェクトの前後関係において前後に隣接する省略オブジェクトはグループ化し、グループ毎に独立した省略オブジェクトバッファに描画することもできる。変形例１では、描画オブジェクトバッファと同様に、表示画像全体を描画するのに十分な大きさの省略オブジェクトバッファを確保するため、位置合わせをすることなくバッファを合成できる。変形例１は、例えば以下のようにして実現される。一例として、図１０のフローチャートのステップＳ１２１０の前に、第一描画部０４０１が、ＲＡＭ０３０２上の情報を参照し、前回の処理で省略オブジェクトバッファが確保されたかを判定する処理ステップを設ける。そして、ＲＡＭ０３０２上に、前回の処理で確保された省略オブジェクトバッファが存在しない場合にのみステップＳ１２１０に進む。そしてＳ１２１０では、カレントバッファを表示画面全体の描画が可能な大きさのまま、省略オブジェクトバッファとしてＲＡＭ０３０２上に保持する。前回の処理で省略オブジェクトバッファが確保されていれば、ステップＳ１２１０をスキップしてステップＳ１２１１に進む。この場合、第二描画部０４０２が、第二描画処理（ステップＳ７０２）において、前後に隣接する省略オブジェクトは後方に存在する省略オブジェクトから順に同じバッファに描画する。このような処理ステップにより、実施例２の変形例１では、オブジェクトの前後関係において前後に隣接する省略オブジェクトはグループ化し、グループ毎に独立した省略オブジェクトバッファに描画することができる。従って、省略オブジェクトバッファと描画オブジェクトバッファを合成する際に、位置合わせを必要としない。さらに、前後に隣接する省略オブジェクトが多数存在する場合には、各省略オブジェクトに対して別々にバッファを確保するのに比べて、メモリの使用領域を抑えることができる。
【００４４】
また、ワークエリアの使用量を削減のための変形例２として、第一描画処理（ステップＳ７００）において省略オブジェクトバッファを確保せずに、本発明の目的を実現することもできる。この場合には、ステップＳ１２１０においては、カレントバッファを解放する。そして、第二描画処理（ステップＳ７０２）のステップＳ１００３において、第二描画部０４０２が、処理対象の省略オブジェクトの後方に相当する描画オブジェクトバッファを確保する。そして、その描画オブジェクトバッファの前方に存在する省略オブジェクトを順に描画していくことで、オブジェクトの前後関係を維持して全てのオブジェクトを描画することが可能になる。そして、省略オブジェクトが追加して描画された複数の描画オブジェクトバッファを、第二合成部０４０４によって、後方から重ねて合成することで、表示画像を生成することができる。
【００４５】
なお、本実施例の説明においては、図１や図２で示したような電子辞書において和英辞書を選択するためのＧＵＩを例に説明を行ったが、本実施例は、利用者に提示するＧＵＩの内容（オブジェクトのアートワークや配置位置など）によって限定されるものではない。例えば、電子辞書における、語句の検索結果を表示する際の表示画像や、地図や電子書籍等の各種アプリケーションで提供されるＧＵＩや、Ｐａｉｎｔｅｒ’ｓ  Ａｌｇｏｒｉｔｈｍによって描画される他の表示画像にも、本実施例は適応することができる。
【００４６】
＜その他の実施例＞
これまでに説明した実施例では、すべてのオブジェクトが省略条件に合致しなかった場合、最初から省略のない画面を利用者に提示することが可能である。しかし、第一描画部０４０１での第一描画処理（ステップＳ７００）において、省略オブジェクトか否かの判定処理が行われるため、従来の描画処理と比較して、描画処理全体が僅かに長くなる可能性がある。これを回避するため、描画を行う表示画像、省略オブジェクトが含まれないことが明らかである場合、本実施例による省略画面の描画処理を行わず、通常の描画処理を行っても良い。このためには、ＲＯＭ０３０１に保持されているコンテンツデータ内に、省略オブジェクトを含む表示画像を用いたＧＵＩであることを示すフラグを設定しておく。そして、第一描画部０４０１が第一描画処理（ステップＳ７００）のはじめにそれをチェックすれば、容易に実現可能である。
【００４７】
本発明は、これまでに説明したような制御方法に従って動作する情報処理装置であっても良い。また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2013083822.tif 000003
【図２】
2013083822.tif 000004
【図３】
2013083822.tif 000005
【図４】
2013083822.tif 000006
【図５】
2013083822.tif 000007
【図６】
2013083822.tif 000008
【図７】
2013083822.tif 000009
【図８】
2013083822.tif 000010
【図９】
2013083822.tif 000011
【図１０】
2013083822.tif 000012