(57)【要約】【課題】画質の低下を伴うことなく、フレームバッファのメモリ使用量を減らすことを目的とする。【解決手段】選択手段で選択されたデータフォーマット及びフレームバッファ上のデスティネーションデータのデータフォーマットに応じてデスティネーションデータを変換するか否か判定しデスティネーションデータを変換すると判定した場合、デスティネーションデータを選択手段で選択されたデータフォーマットのデータに変換する変換手段と、変換手段でデスティネーションデータを変換された場合、ソースデータフォーマット変換手段によって変換された後のソースデータと変換手段によって変換された後のデスティネーションデータとを合成し合成したデータをデスティネーションデータとする合成手段と、を有する。【選択図】図１
2011022278.tif 000002
【特許請求の範囲】
【請求項１】
ソースデータに応じて複数のデータフォーマットからデータフォーマットを選択する選択手段と、
前記ソースデータを前記選択手段で選択されたデータフォーマットのデータに変換するソースデータフォーマット変換手段と、
前記選択手段で選択されたデータフォーマット及びフレームバッファ上のデスティネーションデータのデータフォーマットに応じて前記デスティネーションデータを変換するか否か判定し、前記デスティネーションデータを変換すると判定した場合、前記デスティネーションデータを前記選択手段で選択されたデータフォーマットのデータに変換するデスティネーションデータフォーマット変換手段と、
前記デスティネーションデータフォーマット変換手段で前記デスティネーションデータを変換された場合、前記ソースデータフォーマット変換手段によって変換された後のソースデータと、前記デスティネーションデータフォーマット変換手段によって変換された後のデスティネーションデータと、を合成し、合成したデータをデスティネーションデータとする合成手段と、
を有する情報処理装置。
【請求項２】
前記合成手段は、前記デスティネーションデータフォーマット変換手段で前記デスティネーションデータを変換しないと判定された場合、前記選択手段で選択されたデータフォーマットに応じて、前記ソースデータフォーマット変換手段によって変換された後のソースデータをデスティネーションデータとする、又は前記ソースデータフォーマット変換手段によって変換された後のソースデータと、フレームバッファ上のデスティネーションデータのデータと、を合成し、合成したデータをデスティネーションデータとする、請求項１記載の情報処理装置。
【請求項３】
前記デスティネーションデータのデータフォーマットを前記選択手段によって選択されたデータフォーマットに更新するデータフォーマット更新手段を更に有する、請求項１記載の情報処理装置。
【請求項４】
前記ソースデータは、不透明度の値を含むデータであって、
前記選択手段は、前記不透明度の値を基に、複数のデータフォーマットからデータフォーマットを選択する、請求項１乃至３何れか１項記載の情報処理装置。
【請求項５】
前記選択手段は、前記不透明度の値を基に、データフォーマットして、入力されたソースデータのデータフォーマットより保持することができるデータ量の少ない、不透明度の値を保持することができる第一のデータフォーマットか、又は入力されたソースデータのデータフォーマットより保持することができるデータ量の少ない、不透明度の値を保持することができない第二のデータフォーマットか、を選択し、
前記デスティネーションデータフォーマット変換手段は、前記選択手段で選択されたデータフォーマットが前記第一のデータフォーマットであり、かつ、フレームバッファ上のデスティネーションデータのデータフォーマットが前記第二のデータフォーマットの場合、前記デスティネーションデータを変換すると判定し、前記デスティネーションデータを前記第一のデータフォーマットのデータに変換する、請求項４記載の情報処理装置。
【請求項６】
前記合成手段は、前記デスティネーションデータフォーマット変換手段で前記デスティネーションデータを変換しないと判定された場合、前記選択手段で選択されたデータフォーマットが前記第二のデータフォーマットのときは、前記ソースデータフォーマット変換手段によって変換された後のソースデータをデスティネーションデータとし、前記選択手段で選択されたデータフォーマットが前記第一のデータフォーマットのときは、前記ソースデータフォーマット変換手段によって変換された後のソースデータと、フレームバッファ上のデスティネーションデータのデータと、を合成し、合成したデータをデスティネーションデータとする、請求項５記載の情報処理装置。
【請求項７】
ソースデータに応じて複数のデータフォーマットからデータフォーマットを選択する選択ステップと、
前記ソースデータを前記選択ステップで選択されたデータフォーマットのデータに変換するソースデータフォーマット変換ステップと、
前記選択ステップで選択されたデータフォーマット及びフレームバッファ上のデスティネーションデータのデータフォーマットに応じて前記デスティネーションデータを変換するか否か判定し、前記デスティネーションデータを変換すると判定した場合、前記デスティネーションデータを前記選択ステップで選択されたデータフォーマットのデータに変換するデスティネーションデータフォーマット変換ステップと、
前記デスティネーションデータフォーマット変換ステップで前記デスティネーションデータを変換された場合、前記ソースデータフォーマット変換ステップによって変換された後のソースデータと、前記デスティネーションデータフォーマット変換ステップによって変換された後のデスティネーションデータと、を合成し、合成したデータをデスティネーションデータとする合成ステップと、
を有する情報処理方法。
【請求項８】
前記合成ステップでは、前記デスティネーションデータフォーマット変換ステップで前記デスティネーションデータを変換しないと判定された場合、前記選択ステップで選択されたデータフォーマットに応じて、前記ソースデータフォーマット変換ステップによって変換された後のソースデータをデスティネーションデータとする、又は前記ソースデータフォーマット変換ステップによって変換された後のソースデータと、フレームバッファ上のデスティネーションデータのデータと、を合成し、合成したデータをデスティネーションデータとする、請求項７記載の情報処理方法。
【請求項９】
コンピュータを、
ソースデータに応じて複数のデータフォーマットからデータフォーマットを選択する選択手段と、
前記ソースデータを前記選択手段で選択されたデータフォーマットのデータに変換するソースデータフォーマット変換手段と、
前記選択手段によって選択されたデータフォーマットと、フレームバッファ上のデスティネーションデータのデータフォーマットと、が異なる場合には、前記デスティネーションデータを前記選択手段によって選択されたデータフォーマットのデータに変換するデスティネーションデータフォーマット変換手段と、
前記ソースデータフォーマット変換手段によって変換された後のソースデータと、フレームバッファ上のデスティネーションデータ又は前記デスティネーションデータフォーマット変換手段によって変換された後のデスティネーションデータと、を合成する合成手段と、
して機能させるプログラム。
【請求項１０】
請求項９記載のプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理方法に関する。
【背景技術】
【０００２】
一般に、グラフィックス処理においては、グラフィックスデータを読み込んで画像処理を行った結果をフレームバッファに書き込んだ後に、フレームバッファをＶＲＡＭに転送することで画面に表示させている。ここで、フレームバッファは１画面分のバッファをメモリ上に確保するため、その容量はフレームバッファの解像度とフレームバッファの１ピクセルあたりのビット数とに依存する。コストの面では使用するメモリはより少ないほうが望ましい。例えば、解像度がＶＧＡサイズ（６４０ｘ４８０）の場合、１ピクセルあたり３２ビットのフレームバッファは、約１．２メガバイトの容量を要する。それに対して、１ピクセルあたり１６ビットのフレームバッファでは、半分の約６００キロバイトで済む。ここで、１ピクセルあたり３２ビットのフレームバッファは、通常、赤、緑、青に８ビットずつ割り当て、１６７７万色を表現できる。更に残りの８ビットに不透明度を割り当てたものをＡＲＧＢ８８８８とする。
【０００３】
一方、１ピクセルあたり１６ビットのフレームバッファには、複数の割り当て方が存在する。例えば、赤、緑、青に４ビットずつ割り当て、残りの４ビットに不透明度を割り当てたものをＡＲＧＢ４４４４とする。更に、赤、緑、青に５ビットずつ割り当て、残りの１ビットに不透明度を割り当てたものをＡＲＧＢ１５５５とする。ＡＲＧＢ４４４４では、４０９６色とそれぞれの色に対し、１６段階の不透明度を割り当てることができる。ＡＲＧＢ１５５５では、３万２７６８色とそれぞれの色に対し２段階の不透明度を割り当てることができる。ＡＲＧＢ４４４４では不透明度に４ビット割り当てられているため、アンチエイリアスを表現できるが、赤、緑、青が４ビットずつの割り当てなのでグラデーションを綺麗に表現できない。一方、ＡＲＧＢ１５５５では、不透明度に２ビットしか割り当てられていないため、アンチエイリアスを表現できないが、赤、緑、青に５ビットずつ割り当てられているのでＡＲＧＢ４４４４よりグラデーションを綺麗に表現できる。
従来、フレームバッファのカラーフォーマットは、フレームバッファ内で一定だったため、１６ビットカラーシステムではＡＲＧＢ４４４４か、ＡＲＧＢ１５５５かを選択するしかなかった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１０８４３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明はこのような問題点に鑑みなされたもので、画質の低下を伴うことなく、フレームバッファのメモリ使用量を減らすことを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明の情報処理装置は、ソースデータに応じて複数のデータフォーマットからデータフォーマットを選択する選択手段と、前記ソースデータを前記選択手段で選択されたデータフォーマットのデータに変換するソースデータフォーマット変換手段と、前記選択手段で選択されたデータフォーマット及びフレームバッファ上のデスティネーションデータのデータフォーマットに応じて前記デスティネーションデータを変換するか否か判定し、前記デスティネーションデータを変換すると判定した場合、前記デスティネーションデータを前記選択手段で選択されたデータフォーマットのデータに変換するデスティネーションデータフォーマット変換手段と、前記デスティネーションデータフォーマット変換手段で前記デスティネーションデータを変換された場合、前記ソースデータフォーマット変換手段によって変換された後のソースデータと、前記デスティネーションデータフォーマット変換手段によって変換された後のデスティネーションデータと、を合成し、合成したデータをデスティネーションデータとする合成手段と、を有する。
【発明の効果】
【０００７】
本発明によれば、画質の低下を伴うことなく、フレームバッファのメモリ使用量を減らすことができる。
【図面の簡単な説明】
【０００８】
【図１】情報処理装置（コンピュータ）の一例であるグラフィックス描画装置の構成の一例を示す図である。
【図２】カラーフォーマットの一例を示す図である。
【図３】本実施形態の全体処理の一例を示すフローチャートである。
【図４】合成の一例を示す図（その１）である。
【図５】合成処理を説明するための図である。
【図６】合成の一例を示す図（その２）である。
【図７】合成の一例を示す図（その３）である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
＜実施形態１＞
図１は、情報処理装置（コンピュータ）の一例であるグラフィックス描画装置の構成の一例を示す図である。
図１において、グラフィックス描画装置１００は、メモリ１１０、ＣＰＵ１２０を備える。また、グラフィックス描画装置１００は、ディスプレイ２００、入力装置３００と接続されている。
ＣＰＵ１２０が、メモリ１１０に記憶されているプログラムに基づき処理を実行することによって、図１のメモリ内に記載されている各機能及び後述するフローチャートの各ステップの処理が実現される。
【００１１】
本実施形態では、画像処理は、３２ビットカラーシステムで行うものとする。また、メモリ１１０内に存在するバッファメモリ（フレームバッファ）は、１ピクセルあたり１６ビットの１６ビットカラーシステムでデータを保持する。３２ビットカラーシステムは、不透明度、赤、緑、青それぞれに８ビットを割り当てたカラーフォーマットとし、これをＡＲＧＢ８８８８とする。一方、１６ビットカラーシステムは、２種類のカラーフォーマットを持つ。２種類のカラーフォーマットを図２に示す。図２は、カラーフォーマットの一例を示す図である。カラーフォーマットの１つは不透明度に３ビット、赤、緑、青それぞれに４ビット、更にカラーフォーマット識別用に１ビットを割り当てたもので、これをＡＲＧＢ３４４４（第一のデータフォーマット）とする。カラーフォーマットのもう１つは、赤、緑、青それぞれに５ビット、更にカラーフォーマット識別用に１ビットを割り当てたもので、これをＲＧＢ５５５（第二のデータフォーマット）とする。つまり、カラーフォーマットは、入力されたソースデータのデータフォーマットより保持することができるデータ量の少ないデータフォーマットである。
【００１２】
本実施形態では、ＣＰＵ１２０は、入力されたＡＲＧＢ８８８８データの不透明度が２５５である場合には、ＡＲＧＢ３４４４に変換し、それ以外の場合にはＲＧＢ５５５に変換するものとする。更に、カラーフォーマット識別用ビットはＡＲＧＢ３４４４の時に０、ＲＧＢ５５５のときに１とする。以下、図３〜図７を用いて本実施形態における全体の処理の流れを説明する。図３は、本実施形態の全体処理の一例を示すフローチャートである。図４は、合成の一例を示す図（その１）である。図５は、合成処理を説明するための図である。図６は、合成の一例を示す図（その２）である。図７は、合成の一例を示す図（その３）である。
１つ目の例におけるバッファの様子を図４に示す。まず、ソースデータ解析部１１１がＡＲＧＢ８８８８データを解析する（Ｓ２００１）。入力されるデータ（ソースデータ）は、（Ａ，Ｒ，Ｇ，Ｂ）＝（２５５，２５５，０，０）である。次に、フォーマット選択部１１２が入力データをＡＲＧＢ３４４４とＲＧＢ５５５とのどちらに変換するかを選択する（Ｓ２００２）。本実施形態では、フォーマット選択部１１２は、ソースデータの不透明度の値に基づき、ＡＲＧＢ３４４４とＲＧＢ５５５とのどちらに変換するかを選択する。より具体的に説明すると、フォーマット選択部１１２は、ソースデータの不透明度の値が２５５である場合にＲＧＢ５５５を選択し、そうでない場合にＡＲＧＢ３４４４を選択する。図４の例では、入力されるデータの不透明度の値は２５５なので、ＲＧＢ５５５が選択される。
【００１３】
次に、ソースデータフォーマット変換部１１３が、ソースデータを選択されたデータフォーマットのデータに変換する（Ｓ２００３）。ここでは、ソースデータフォーマット変換部１１３は、ＲＧＢ各８ビットを５ビットに変換する。この変換では、ソースデータフォーマット変換部１１３は、論理右シフトを適用する。その結果、変換後のＲＧＢ５５５データは（Ｒ，Ｇ，Ｂ）＝（３１，０，０）となり、カラーフォーマット識別用ビットには１が入る。一方、フレームバッファ上のデスティネーションデータはゼロクリアされる。
続いて、デスティネーションデータフォーマット変換部１１４がフレームバッファ上のデスティネーションデータを必要に応じて変換処理を行う（Ｓ２００４）。この処理では、デスティネーションデータフォーマット変換部１１４は、変換後のソースデータのデータフォーマットがＲＧＢ５５５かどうかを判定し、ＲＧＢ５５５である場合には何も処理を行わない。ＲＧＢ５５５でない場合、デスティネーションデータフォーマット変換部１１４は、フレームバッファ上のデスティネーションデータのデータフォーマットがＲＧＢ５５５かどうかを判定する。フレームバッファ上のデスティネーションデータのデータフォーマットがＲＧＢ５５５である場合には、フレームバッファ上のデスティネーションデータをＡＲＧＢ３４４４に変換する。図４の例では、変換後のソースデータはＲＧＢ５５５（つまり、フォーマット選択部１１２で選択されたフォーマットはＲＧＢ５５５）なので、何も処理をしない。
【００１４】
続いて、合成処理部１１５が合成処理を行う（Ｓ２００５）。変換後のソースデータがＲＧＢ５５５である場合、合成処理部１１５は、変換後のソースデータをそのままデスティネーションデータとする。一方、変換後のソースデータがＡＲＧＢ３４４４である場合、合成処理部１１５は、ＡＲＧＢ３４４４同士の合成処理を行い、合成結果をデスティネーションデータとする。合成処理部１１５は、合成処理の計算を図５に示す式に従って行なう。図５において、アルファ値の範囲は０〜１とする。図４の例では、ソースデータがＲＧＢ５５５なので、合成処理部１１５は、ソースデータをそのままデスティネーションデータとする。その結果、デスティネーションデータは（Ｒ，Ｇ，Ｂ）＝（３１，０，０，０）となる。
最後に、フォーマット識別データ更新部１１６が、フォーマット識別データを更新（データフォーマット更新）する（Ｓ２００６）。図４の例では、デスティネーションデータのデータフォーマットがＲＧＢ５５５なので、フォーマット識別データ更新部１１６は、フォーマット識別フラグを１とする。
【００１５】
２つ目の例におけるバッファの様子を図６に示す。入力されるデータ（ソースデータ）は、（Ａ，Ｒ，Ｇ，Ｂ）＝（１２７，２５５，０，０）である。Ａが２５５ではないので、フォーマット選択部１１２は、ＡＲＧＢ３４４４を選択する。そして、ソースデータフォーマット変換部１１３は、ＡＲＧＢ３４４４へのフォーマット変換を行い、その結果、（Ａ，Ｒ，Ｇ，Ｂ）＝（３，１５，０，０）となる。一方、デスティネーションデータはゼロクリアされているため、データフォーマットはＡＲＧＢ３４４４で（Ａ，Ｒ，Ｇ，Ｂ）＝（０，０，０，０）である。デスティネーションデータフォーマット変換部１１４は、ソースデータがＲＧＢ５５５でなく、更に、デスティネーションデータもＲＧＢ５５５ではないため、ここでは何も処理を行わない。そして、合成処理部１１５は、ＡＲＧＢ３４４４同士の合成処理を行う。合成処理部１１５が図５に示す合成方法に従った処理の結果、デスティネーションデータは（Ａ，Ｒ，Ｇ，Ｂ）＝（３，１５，０，０）となる。最後に、フォーマット識別データ更新部１１６が、フォーマット識別フラグを０とする。
【００１６】
３つ目の例におけるバッファの様子を図７に示す。入力されるデータ（ソースデータ）は、（Ａ，Ｒ，Ｇ，Ｂ）＝（１２７，２５５，０，０）である。Ａが２５５ではないので、フォーマット選択部１１２は、ＡＲＧＢ３４４４を選択する。そして、２つ目の例と同様にソースデータフォーマット変換部１１３は、ＡＲＧＢ３４４４へのフォーマット変換を行い、その結果、（Ａ，Ｒ，Ｇ，Ｂ）＝（３，１５，０，０）となる。一方、デスティネーションのデータフォーマットはＲＧＢ５５５であり、その値は（Ｒ，Ｇ，Ｂ）＝（０，０，３１）である。デスティネーションデータフォーマット変換部１１４は、ソースデータがＲＧＢ５５５でなく、デスティネーションデータがＲＧＢ５５５であるため、デスティネーションデータのＡＲＧＢ３４４４へのフォーマット変換を行う。ここで、ＲＧＢ５５５からＡＲＧＢ３４４４の変換について説明する。ＲＧＢ５５５は不透明度が２５５の場合に選択されるフォーマットなので、ＡＲＧＢ３４４４への変換後の不透明度の値は３ビット全てを埋める７となる。その他の赤、緑、青についてはそれぞれ論理右シフトを１ビット行う。その結果、変換後のデスティネーションデータの値は（Ａ，Ｒ，Ｇ，Ｂ）＝（７，０，０，１５）となる。そして、合成処理部１１５は、ＡＲＧＢ３４４４同士の合成処理を行う。合成処理部１１５が図５に示す合成方法に従った処理の結果、デスティネーションデータは（Ａ，Ｒ，Ｇ，Ｂ）＝（７，１５，０，８）となる。最後に、フォーマット識別データ更新部１１６が、フォーマット識別フラグを０とする。
【００１７】
このように、グラフィックス描画装置１００は、ピクセル単位で複数のデータフォーマットを選択的に保持することで、不透明の図形を描画するときは、オブジェクト内部にはＲＧＢ５５５をフォーマットとして選択する。そのため、ＡＲＧＢ４４４４よりも多くの色を表現できる。一方、グラフィックス描画装置１００は、オブジェクトの境界線部分にはＡＲＧＢ３４４４をフォーマットとして選択する。そのため、グラフィックス描画装置１００は、透明度を持たせてアンチエイリアスを表現することができる。その結果、例えば、グラデーションがかかった図形の本実施形態による描画結果は、ＡＲＧＢ４４４４よりもグラデーションを綺麗に、ＡＲＧＢ１５５５よりもアンチエイリアスを綺麗に表現することができる。
【００１８】
本実施形態では、メモリバッファの一部をフォーマット識別用領域に割り当てたが、メモリバッファとは別の領域に持つようにしてもよい。
また、本実施形態では、２種類のカラーフォーマットを選択したが、より多くのカラーフォーマットを選択的に使用するようにしてもよい。
また、本実施形態では、ＡＲＧＢ３４４４とＲＧＢ５５５との２種類のカラーフォーマットを使用して説明を行なったが、これとは異なるカラーフォーマット、例えばＡＲＧＢ６３３３等を使用してもよい。
また、本実施形態では、ソースデータの不透明度の値をフォーマット選択の基準としたが、ソースデータの別の値を基準として選択するようにしてもよい。
また、本実施形態では、３２ビットカラーを１６ビットに変換する方法を示したが、この方法を用いれば、例えば、３２ビット以上のビット数で表現される拡張カラーを３２ビットに変換して表現することもできる。
【００１９】
＜その他の実施形態＞
また、上述した実施形態の目的は、以下のようにすることによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（又は記録媒体）を、システム或いは装置に供給する。そして、そのシステム或いは装置の中央演算処理手段（ＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、プログラムコードを記録した記憶媒体は上述した実施形態を構成することになる。
【００２０】
また、システム或いは装置の中央演算処理手段が読み出したプログラムコードを実行することにより、プログラムコードの指示に基づき、システム或いは装置上で稼働しているオペレーティングシステム（ＯＳ）等が実際の処理の一部又は全部を行う。この処理によって上述した実施形態の機能が実現される場合も実施形態の構成に含まれる。
【００２１】
更に、記憶媒体から読み出されたプログラムコードが、システム或いは装置に挿入された機能拡張カードや、接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、プログラムコードの指示に基づき、機能拡張カードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、この処理によって上述した実施形態の機能が実現される場合も実施形態の構成に含まれる。
【００２２】
上述した実施形態を記憶媒体に適用する場合、記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【００２３】
以上、上述した各実施形態によれば、画質の低下を伴うことなく、フレームバッファのメモリ使用量を減らすことができる。
また、上述した各実施形態によれば、ＡＲＧＢ４４４４よりもグラデーションを綺麗に、ＡＲＧＢ１５５５よりもアンチエイリアスを綺麗に、描画結果を表現することができる。
【００２４】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００２５】
１００  グラフィックス描画装置，１２０  ＣＰＵ，１１０  メモリ
【図１】
2011022278.tif 000003
【図２】
2011022278.tif 000004
【図３】
2011022278.tif 000005
【図４】
2011022278.tif 000006
【図５】
2011022278.tif 000007
【図６】
2011022278.tif 000008
【図７】
2011022278.tif 000009