(57)【要約】【課題】処理負荷をかけず簡易に、ちらつきを抑えることが可能なプログラム、情報記憶媒体及び画像生成システムを提供する。【解決手段】ディザパターンを周期的に変更し、原画像の画素それぞれについて、画素の値と当該画素に対応する変更されたディザパターンの数値とに基づいて、所定条件を満たす画素の輝度を変化させる処理を行う。各ディザパターンは、複数の所定値以上の数値を連続して配置した数値群を各列に含むマトリクスであって、当該数値群が隣接する列間でずれていると共に各ディザパターンの同一列間でずれているマトリクスである。【選択図】図９
2010263427.tif 000002
【特許請求の範囲】
【請求項１】
ディザパターンに基づき原画像の画素の値を変換する処理を行う画像生成システムのためのプログラムであって、
ディザパターンを周期的に変更するディザパターン変更部と、
原画像の画素それぞれについて、画素の値と当該画素に対応するディザパターンの数値とに基づいて、所定条件を満たす画素の輝度を変化させる処理を行う変換部として、コンピュータを機能させ、
前記各ディザパターンが、
複数の所定値以上の数値を連続して配置した数値群を各列に含むマトリクスであって、当該数値群が隣接する列間でずれていると共に各ディザパターンの同一列間でずれているマトリクスであることを特徴とするプログラム。
【請求項２】
請求項１において、
前記各ディザパターンが、
複数の互いに異なる数値それぞれを同数配置したマトリクスであって、各ディザパターン間において同値の数値を同数配置したマトリクスであることを特徴とするプログラム。
【請求項３】
請求項１又は２において、
前記各ディザパターンが、
前記各ディザパターン間で同値の数値を、前記各ディザパターン間で異なる位置に配置したマトリクスであることを特徴とするプログラム。
【請求項４】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１〜３のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項５】
ディザパターンに基づき原画像の画素の値を変換する処理を行う画像生成システムであって、
ディザパターンを周期的に変更するディザパターン変更部と、
原画像の画素それぞれについて、画素の値と当該画素に対応するディザパターンの数値とに基づいて、所定条件を満たす画素の輝度を変化させる処理を行う変換部とを含み、
前記各ディザパターンが、
複数の所定値以上の数値を連続して配置した数値群を各列に含むマトリクスであって、当該数値群が隣接する列間でずれていると共に各ディザパターンの同一列間でずれているマトリクスであることを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体及び画像生成システムに関する。
【背景技術】
【０００２】
従来から、人間のもつ視覚特性を利用した色の中間調を表現するために、予め用意されたディザパターン（ディザマトリクス）を用いて、ディザパターンの数値と、原画像の各画素の画素値とを比較し、比較結果に基づいてその画素値を決定するディザ処理を行う画像生成システムが知られている。例えば、２５６階調の色で表現した原画像を、ディザパターンに基づき、白と黒のいずれかに変換することによって、擬似的に複数の階調があるように見える画像を表現する場合がある（特許文献１参照）。また、従来の画像生成シスでは、擬似的に色数を増やすために、一のディザパターンに基づいて画素値が変換された画像と他のディザパターンに基づいて画素値が変換された画像とを、錯覚が生じる速さで高速に交互に切り替えて表示部に表示するブリンク処理を行う場合がある。
【０００３】
このような従来の画像生成システムでは、種々の原因により、画面にちらつき（フリッカー）が生じてしまうことがある。例えば、インターレース方式による表示が起因となり画面にちらつきが生じてしまうことがある。かかる場合には、ちらつきを軽減するために、画素単位で画面全体に対して画素と上下に隣接する画素との輝度を平滑化する処理を行う手法がある（特許文献２参照）。しかし、全画素について平滑化処理を行うことは非常に処理負荷が高くなってしまう。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−１４６２０３号公報
【特許文献２】特開２００２−０４４４８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本願発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、処理負荷をかけず簡易に、画面のちらつきを抑えることが可能なプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【０００６】
（１）本発明は、ディザパターンに基づき原画像の画素の値を変換する処理を行う画像生成システムのためのプログラムであって、ディザパターンを周期的に変更するディザパターン変更部と、原画像の画素それぞれについて、画素の値と当該画素に対応するディザパターンの数値とに基づいて、所定条件を満たす画素の輝度を変化させる処理を行う変換部として、コンピュータを機能させ、前記各ディザパターンが、複数の所定値以上の数値を連続して配置した数値群を各列に含むマトリクスであって、当該数値群が隣接する列間でずれていると共に各ディザパターンの同一列間でずれているマトリクスであるプログラムに関する。また、本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記プログラムを記憶した情報記憶媒体、上記各部を含む画像生成システムに関する。
【０００７】
本発明は、処理負荷をかけず簡易に、画面のちらつきを抑えることができる。すなわち、本発明は、インターレース方式の画面に出力する場合に生じるちらつき（フリッカー）を抑えることができる。かかる場合に、本発明は、従来の画素単位で画素の輝度を平滑化する処理に比べて、処理負荷を大幅に軽減した処理によって、ちらつきを抑えることができる。
【０００８】
（２）また、本発明のプログラム、情報記憶媒体、画像生成システムは、前記各ディザパターンが、複数の互いに異なる数値それぞれを同数配置したマトリクスであって、各ディザパターン間において同値の数値を同数配置したマトリクスであってもよい。本発明によれば、各ディザパターン間において、輝度分散を同じにすることができ、更に画面のちらつきを抑えることができる。
【０００９】
（３）また、本発明のプログラム、情報記憶媒体、画像生成システムは、前記各ディザパターンが、前記各ディザパターン間で同値の数値を、前記各ディザパターン間で異なる位置に配置したマトリクスであってもよい。本発明によれば、更に画面のちらつきを抑えることができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態の画像生成システムの機能ブロック図の例。
【図２】本実施形態のディザパターンＡ、ディザパターンＢの説明図。
【図３】本実施形態の画素値変換処理の説明図。
【図４】本実施形態の画素値変換処理の説明図。
【図５】従来のディザパターンＣ、Ｄに基づく画素値変換処理の説明図。
【図６】従来のディザパターンＥ、Ｆに基づく画素値変換処理の説明図。
【図７】従来のディザパターンＧ、Ｈに基づく画素値変換処理の説明図。
【図８】従来のディザパターンＩ、Ｊに基づく画素値変換処理の説明図。
【図９】本実施形態のディザパターンＡ、Ｂに基づく画素値変換処理の説明図。
【図１０】フローチャート。
【図１１（Ａ）】本実施形態のディザパターンＡに基づいて画素値変換処理が施された画像。
【図１１（Ｂ）】本実施形態のディザパターンＢに基づいて画素値変換処理が施された画像。
【図１１（Ｃ）】本実施形態のディザパターンＡに基づいて画素値変換処理が施された画像と、ディザパターンＢに基づいて画素値変換処理が施された画像との補間画像。
【発明を実施するための形態】
【００１１】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００１２】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお、本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００１３】
操作部１６０は、プレーヤがオブジェクト（プレーヤキャラクタ、移動体）の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【００１４】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００１５】
例えば、記憶部１７０には、プレーヤの操作対象及び非操作対象のオブジェクト（プレーヤキャラクタや固定物等）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ、法線ベクトル、α値等）が記憶される。
【００１６】
また、ディザパターン記憶部１７５には、例えば、図２に示すディザパターン（ディザマトリクス）Ａ、Ｂとが記憶されている。より具体的に説明すると、本実施形態の各ディザパターンは、複数の所定値以上の数値を連続して配置した数値群を各列に含むマトリクスであって、当該数値群が隣接する列間でずれていると共に各ディザパターンの同一列間でずれているマトリクスである。また、各ディザパターンは、複数の互いに異なる数値それぞれを同数配置したマトリクスであって、各ディザパターン間において同値の数値を同数配置したマトリクスである。さらに、各ディザパターンは、各ディザパターン間で同値の数値を、各ディザパターン間で異なる位置に配置したマトリクスである。なお、ディザパターン記憶部１７５に、３つ以上の異なるディザパターンを記憶するようにしてもよい。例えば、ディザパターン記憶部１７５に、ディザパターンＣ〜Ｊを記憶するようにしてもよい。
【００１７】
なお、本実施形態のディザパターン記憶部１７５に記憶されるディザパターンの値は０〜７の数値がマトリクスの成分として定義されているが、変換部１１８の処理により、原画像の各画素について、ＲＧＢの各カラー値の輝度変化を生じさせる数値であればよい。例えば、−４〜３の数値であってもよい。
【００１８】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、コンピュータ読み取り可能な情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）を記憶することができる。
【００１９】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、液晶ディスプレイ（液晶モニタ）、ＣＲＴ（ブラウン管）、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。なお、表示部１９０は、１回の画面表示を奇数段目と偶数段目の２回の走査に分けて行うインターレース方式でもよいし、プログレッシブ方式（ノンインターレース方式）でもよい。本実施形態においてプログレッシブ方式の画面を採用する場合には、インターレース方式の表示が原因となるちらつきを軽減するという効果は無用となるもの、擬似的に色数を増やすという効果がある。
【００２０】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００２１】
通信部１９６は外部（例えば他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００２２】
なお、サーバが有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体１８０や記憶部１７０に記憶してもよい。このようにプログラムやデータを受信して画像生成システムを機能させる場合も本発明の範囲内に含む。
【００２３】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
【００２４】
この処理部１００は記憶部１７０内の主記憶部１７２をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００２５】
処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２、仮想カメラ制御部１１４、ディザパターン変更部１１６、変換部１１８、描画部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００２６】
オブジェクト空間設定部１１０は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。例えば、ワールド座標系でのオブジェクトの位置や回転角度を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００２７】
移動・動作処理部１１２は、オブジェクト（キャラクタ、移動体等）の移動・動作演算（移動・動作シミュレーション）を行う。すなわち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）、物理法則などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させたりする処理を行う。具体的に説明すると、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（オブジェクトを構成する各パーツの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００２８】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的に説明すると、ワールド座標系における仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度を制御する処理を行う。要するに、視点位置、視線方向、画角を制御する処理を行う。
【００２９】
例えば仮想カメラによりオブジェクト（例えばキャラクタ、移動体）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００３０】
ディザパターン変更部１１６は、ディザパターンを周期的に変更する処理を行う。例えば、描画のフレームレート（フレームの更新周期）と同期する周期でディザパターンを変更する処理を行う。より具体的に説明すると、描画のフレームレートが６０ｆｐｓ（ｆｒａｍｅｓ  ｐｅｒ  ｓｅｃｏｎｄ）である場合には、１／６０秒毎に、ディザパターンＡからディザパターンＢに変更する処理、或いは、ディザパターンＢからディザパターンＡに変更する処理を行う。
【００３１】
変換部１１８は、原画像の各画素のＲＧＢの各カラー値の階調数（量子化レベル）を８ビットから５ビットに変換する処理を行う。例えば、変換部１１８は、原画像の画素それぞれについて、ＲＧＢの各カラー値の８ビットのうち上位５ビットを取得する（下位３ビットを切り捨てる）ことによって、ＲＧＢの各カラー値を８ビットから５ビットに変換する処理を行う。
【００３２】
また、変換部１１８は、原画像の画素それぞれについて、画素の値と当該画素に対応する変更されたディザパターンの数値とに基づいて、所定条件を満たす画素の輝度を変化させる処理を行う。輝度を変化させる処理とは、画素にノイズを加える処理であり、具体的には画素の輝度を上げる処理を行うものである。
【００３３】
具体的に説明すると、変換部１１８は、原画像の画素それぞれについて、画素のＲＧＢの各カラー値（８ビット）に、当該画素に対応するディザパターンの数値（１０進数で０〜７までのいずれかの値）を加算し、加算された値のうち上位５ビットを取得する（下位３ビットを切り捨てる）ことによってＲＧＢの各カラー値を変換する処理を行っている。
【００３４】
例えば、変換部１１８は、原画像の各画素のＲＧＢの各カラー値について、カラー値（８ビット）のうち下位３ビットと画素に対応するディザパターンの数値とを加算した値が２進数で１０００（１０進数で８）以上である場合に、次桁（上位５ビット目）に「１」が繰り上がることによって、画素の輝度を上げる処理を行う。なお、カラー値（８ビット）のうち下位３ビットと画素に対応するディザパターンの数値とを加算した値が２進数で１０００（１０進数で８）未満である場合には、次桁（上位５ビット目）に「１」が繰り上がることはないので、画素の輝度変化は生じないことになる。
【００３５】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まずオブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理（頂点シェーダによるシェーディング）が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。
【００３６】
頂点処理では、頂点処理プログラム（頂点シェーダプログラム、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換、例えばワールド座標変換、視野変換（カメラ座標変換）、クリッピング処理、透視変換（投影変換）、ビューポート変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。
【００３７】
そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（ピクセルシェーダによるシェーディング、フラグメント処理）が行われる。ピクセル処理では、ピクセル処理プログラム（ピクセルシェーダプログラム、第２のシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を画像バッファ１７４（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット、フレームバッファ）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００３８】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００３９】
そして描画部１２０は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、半透明処理等を行う。
【００４０】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、オブジェクトデータ記憶部１７６に保存される。
【００４１】
テクスチャマッピングは、記憶部１７０のテクスチャ記憶部１７８に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理である。具体的に説明すると、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０のテクスチャ記憶部１７８からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００４２】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ１７９（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファ１７９に格納されるＺ値を参照する。そして参照されたＺバッファ１７９のＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファ１７９のＺ値を新たなＺ値に更新する。
【００４３】
半透明処理は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。つまり、半透明処理は、α値に基づいて、既に画像バッファ１７４に描画されている画素の色と、これから描画する画素の色とを合成する処理を行い、合成された色を画像バッファ１７４に描画する処理を行う。例えば、本実施形態では、変換部１１８によって、画素のカラー値が８ビットから５ビットに変換された場合には、α値に基づいて既に画像バッファ１７４に描画されている画素の値（ＲＧＢの各カラー値が５ビット）と、これから描画する画素の値（ＲＧＢの各カラー値が５ビット）とを合成する処理を行い、合成された色を画像バッファ１７４に描画する。
【００４４】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００４５】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００４６】
２．本実施形態のディザ処理
本実施形態の画像生成システムは、画像バッファ１７４（フレームバッファ）のカラー値を格納する使用量を節約するために、画素のＲＧＢの各カラー値を、８ビットから５ビットに変換する処理を行い、変換したＲＧＢの各カラー値を画像バッファ１７４に格納する処理を行っている。そして、本実施形態の画像生成システムは、ＲＧＢの各カラー値が５ビットに減色されたとしても、擬似的にＲＧＢの各カラー値が８ビットであるかのように見せるためにディザ処理を行う。ここで、ディザ処理とは、限られた階調数で、人間の目にはより多くの階調数があるように見えるようにする処理のことである。
【００４７】
まず、本実施形態のディザ処理で用いるディザパターンＡ、Ｂについて説明する。図２（Ａ）は、ディザパターンＡを示し、図２（Ｂ）は、ディザパターンＢを示す。ディザパターンＡ、Ｂは、４行４列の４次正方行列である。以下、ディザパターンの第ｍ行目、第ｎ列目を（ｍ，ｎ）として説明する。
【００４８】
図２（Ａ）（Ｂ）に示すように、ディザパターンＡ、Ｂは、複数の所定値以上の数値を連続して配置した数値群を各列に含むマトリクスであって、当該数値群が隣接する列間でずれていると共に各ディザパターンの同一列間でずれているマトリクスである。別の言い方で表現すると、ディザパターンＡ、Ｂは、複数の所定値以上（例えば４以上）の数値を縦方向（縦並び方向）に連続して配置した数値群（数値列）が、隣接する列間でずれていると共に各ディザパターンの同一列間でずれているマトリクスである。
【００４９】
例えば、「４」を所定値とすると、ディザパターンＡ、Ｂそれぞれは、４以上の数値を連続して配置した数値群を各列に含み、数値群が隣接する列間でずれている。例えば、ディザパターンＡでは、第１列において、数値７が（１，１）に配置され、数値４が（２，１）に配置されており、第２列において、数値６が（３，２）に配置され、数値５が（４，２）に配置されている。同様に、ディザパターンＡでは、第３列において数値４が（１，３）に配置され、数値７が（２，３）に配置されており、第４列において数値５が（３，４）に配置され、数値６が（４，４）に配置されている。つまり、第１列、第２列、第３列、第４列それぞれは、値が４以上の数値を連続して配置した数値群を含んでいる。そして、隣接する第１、２列間において、４以上の数値を連続して配置した数値群がずれている。同様に、隣接する第２、３列間、隣接する第３、４列間においても、４以上の数値を連続して配置した数値群がずれている。また、ディザパターンＢにおいても、４以上の数値を連続して配置した数値群を各列に含み、４以上の数値を連続して配置した数値群が、隣接する第１、第２列間、第２、３列間、第３、４列間においてずれている。
【００５０】
また、ディザパターンＡ、Ｂ間の同一列の第１列において、４以上の数値を連続して配置した数値群がずれている。例えば、ディザパターンＡでは、第１列において、数値７が（１，１）に配置され、数値４が（２，１）に配置されており、ディザパターンＢでは、第１列において数値７が（３，１）に配置され、数値４が（４，１）に配置されており、ディザパターンＡ、Ｂ間の第１列において、４以上の数値を連続して配置した数値群がずれている。同様に、ディザパターンＡ、Ｂ間の第２列において、４以上の数値を連続して配置した数値群がずれており、ディザパターンＡ、Ｂ間の第３列において、４以上の数値を連続して配置した数値群がずれており、ディザパターンＡ、Ｂ間の第４列において、４以上の数値を連続して配置した数値群がずれている。
【００５１】
なお、複数の所定値以上の数値を連続して配置した数値群が、隣接する列間でずれているとは、数値群の位置が縦方向に少なくとも１行以上ずれていることを意味している。例えば、ディザパターンＡ、Ｂは、第１列の４以上の数値を連続して配置した数値群の位置と、第２列の４以上の数値を連続して配置した数値群の位置とが、２行分縦方向にずれているが、１行分縦方向にずれていてもよいし、３行分縦方向にずれていてもよい。
【００５２】
同様に、複数の所定値以上の数値を連続して配置した数値群が、各ディザパターンの同一列間でずれているとは、数値群の位置が縦方向に少なくとも１行以上、各ディザパターンの同一列間においてずれていることを意味している。例えば、ディザパターンＡ、Ｂ間の第１列では、４以上の数値を連続して配置した数値群の位置が２行分縦方向にずれているが、１行分縦方向にずれていてもよいし、３行分縦方向にずれていてもよい。
【００５３】
なお、所定値について説明すると、ディザパターンの各成分の値が所定範囲内の値（例えば、０以上７以下の数値）である場合において、所定範囲内の最大値及び最小値を除く所定範囲内の値を所定値とする（例えば、０＜所定値＜７である）。例えば、マトリクスの各成分のうち最大値、最小値を除くいずれかの値（例えば、「４」）を所定値としてもよいし、所定範囲の中間値（例えば、「３．５」）を所定値としてもよい。
【００５４】
また、ディザパターンＡ、Ｂについて詳細に説明すると、複数の所定値以上（４以上）の数値を連続して配置した数値群と、複数の所定値未満（４未満）の数値を連続して配置した数値群とが、縦方向に交互に配列しており、複数の所定値以上（４以上）の数値を連続して配置した数値群と、複数の所定値未満（４未満）の数値を連続して配置した数値群とが、横方向（横並び方向）に交互に配列しているマトリクスである。
【００５５】
また、ディザパターンＡ、Ｂ間の関係について詳細に説明すると、ディザパターンＡにおいて所定値以上（４以上）の数値の位置（ｍ１，ｎ１）に対応するディザパターンＢの位置（ｍ１，ｎ１）には、所定値未満（４未満）の数値が配置されている。また、ディザパターンＡにおいて所定値未満（４未満）の数値の位置（ｍ２，ｎ２）に対応するディザパターンＢの位置（ｍ２，ｎ２）には、所定値以上（４以上）の数値が配置されている。
【００５６】
さらに、ディザパターンＡ、Ｂ間の関係について詳細に説明すると、ディザパターンＡ、Ｂ間において数値「０」と数値「６」との位置が逆である。また、ディザパターンＡ、Ｂ間において数値「１」と数値「７」との位置が逆である。また、ディザパターンＡ、Ｂ間において数値「２」と数値「４」との位置が逆であり、ディザパターンＡ、Ｂ間において、数値「３」と数値「５」との位置が逆である。
【００５７】
次に、図３（Ａ）〜（Ｃ）を用いて、本実施形態の画像生成システムのディザ処理について説明する。本実施形態の画像生成システムは、原画像の各画素のＲＧＢの各カラー値（８ビット）に、画像バッファ１７４のピクセル座標に対するディザパターンの数値（画像バッファ１７４にディザパターンの４×４のマトリクスを敷き詰めた場合のディザパターンの数値）を加算し、加算された値の上位５ビットを画像バッファ１７４に書き込む処理を行う。
【００５８】
より具体的に説明すると、図３（Ａ）に示すように画像バッファ１７４に描画されたＲＧＢの各カラー値が８ビットの原画像（例えば、４８０×２７２画素）を４×４画素のブロックに区分けする。そして、図３（Ｂ）に示すように、区分けされたブロックそれぞれに対して、ブロック内の画素それぞれに、当該画素に対応するディザパターンの数値を加算する。そして、加算された値の上位５ビットを取得し、画像バッファ１７４に書き込む処理を行う。
【００５９】
例えば、図３（Ｂ）（Ｃ）に示すように、ブロックの右上の画素Ｐ１のＲＧＢの各カラー値に、画素Ｐ１に対応するディザパターンのＤ１（１，４）の数値＝３（２進数で０１１）を加算する。そして、加算された値の上位５ビットを取得し、画像バッファ１７４に書き込む処理を行う。つまり、図３（Ｃ）に示すように、画素Ｐ１の「Ｒ」の８ビットのカラー値が「０００００１１０」である場合に、Ｒカラー値「０００００１１０」に画素Ｐ１に対応するディザパターンのＤ１（１，４）の数値＝３（２進数で０１１）を加算する。そして、加算された値「００００１００１」のうち、上位５ビット「００００１」を画像バッファ１７４に書き込む処理を行う。
【００６０】
なお、本実施形態では、原画像（ＲＧＢの各カラー値が８ビットの画像）が描画されている画像バッファ１７４の領域に、画素値変換後の画像（ＲＧＢの各カラー値が５ビットの画像）を上書きして描画してもよいし、原画像が描画されている画像バッファ１７４の領域とは異なる領域に、画素値変換後の画像を描画してもよい。
【００６１】
また、本実施形態では、図２に示すように、各ディザパターンＡ、Ｂには０〜７の数値をそれぞれ２個ずつマトリクスの成分として配置しているので、各画素のＲＧＢの各カラー値が５ビット（３２段階）である場合であっても、４×４の１６画素のブロックの面積上で擬似的に８ビット（２５６段階）の階調を表現できる。つまり、ＲＧＢの各カラー値が８ビットであるかのような擬似フルカラー画像を表現することができる。
【００６２】
つまり、ディザパターンＡ、Ｂの各数値は画素の輝度を変化させる確率に関しており、例えば、数値「７」は、数値「７」に対応する画素の輝度変化を７／８の確率で生じさせることを意味している。数値「０」は、数値「０」に対応する画素の輝度変化を０／８の確率で生じさせることを意味している（輝度変化は生じないことを意味している）。つまり、数値が大きい値ほど、その数値に対応する画素の輝度を変化させる確率が高くなり、数値が小さい値ほど、その数値に対応する画素の輝度を変化させる確率が低くなる。
【００６３】
また、本実施形態の画像生成システムは、描画のフレームレートと同じ周期でディザパターンＡ、Ｂとを交互に切り替え、切り替えられたディザパターンに基づきＲＧＢの各カラー値を８ビットから５ビットに変換する処理を行っている。例えば、図４に示すように、フレームレートが６０ｆｐｓの場合に、ｔ１時点において、ディザパターンＡに基づき原画像のＲＧＢの各カラー値を８ビットから５ビットに変換する。また、ｔ２時点において、ディザパターンをＡからＢに変更し、変更されたディザパターンＢに基づき原画像のＲＧＢの各カラー値を８ビットから５ビットに変換する。このようにすれば、毎フレーム、同一のディザパターンに基づき原画像の画素のＲＧＢの各カラー値を変換する場合に比べて、ディザパターンによる特有の幾何学的な模様が目立たなくなると共に、映像がインターレース出力の場合に生じるちらつきを抑えることができ、自然な画像を表示することができる。
【００６４】
以下、他のディザパターンに基づくディザ処理の説明をし、本実施形態のディザパターンＡ、Ｂに基づくディザ処理の詳細を説明する。
【００６５】
３．ディザパターンの例
（１）ディザパターンＣ、Ｄ
まず、ディザパターンＣ、Ｄを用いてディザ処理を行う例について説明する。図５は、ディザパターンＣ、Ｄと、多段階の階調の概念を示す図である。例えば、図５に示すように、ディザパターンＣ、Ｄは、互いに異なる複数の数値（０〜７の数値）それぞれを、各ディザパターン間において同数（２個ずつ）配置したマトリクスである。したがって、画素上では０と１の階調であるのに対し、ディザパターンＣに基づき画素値を変換すると、４×４の画素の面積上で、０／８、１／８、２／８、３／８、４／８、５／８、６／８、７／８、８／８の多段階の階調を表現することができる。また、ディザパターンＤに基づき画素値を変換すると、４×４の画素の面積上で、０／８、１／８、２／８、３／８、４／８、５／８、６／８、７／８、８／８の多段階の階調を表現することができる。また、ディザ処理では、描画のフレームレートと同じ周期で、ディザパターンＣ、Ｄを交互に変更して、変更されたディザパターンに基づき原画像の画素値を変換した画像を表示部１９０に出力することによって、ブリンク合成を行っている。その結果、人間の目には、直前フレームでの画像が残像として残ることになり、図５の下段に示すように、ディザパターンＣに基づき画素値が変換された画像と、ディザパターンＤに基づき画素値が変換された画像とを補間したかのような画像が見えるようになる。
【００６６】
なお、図５では、原画像の各画素について、画素のＲＧＢの各カラー値を８ビットから５ビットに変換される際に、ＲＧＢの各カラー値について、カラー値の８ビットのうち下位３ビットと画素位置に対応するディザパターンの数値とを加算することによって、カラー値の上位５ビット目に１が繰り上がることによって、輝度変化が生じる画素を白マス、カラー値の上位５ビット目に１が繰り上がらず輝度変化が生じない画素を黒マスで概念的に表現している。また、ブリンク合成により、人間の目によって、輝度が０．５変化する画素を灰色のマスで概念的に表現している（以下の図６〜９においても同様）。
【００６７】
ディザパターンＣ、Ｄに基づくディザ処理は、ちらつきを軽減でき、幾何学模様が見えないような画像を表示することができるが、縦縞模様が目立ちやすいという問題がある。
【００６８】
（２）ディザパターンＥ、Ｆ
次に、ディザパターンＥ、Ｆを用いてディザ処理を行う例について説明する。図６は、ディザパターンＥ、Ｆと、多段階の階調の概念を示す図である。例えば、図６に示すように、ディザパターンＥ、Ｆは、互いに異なる複数の数値（０〜７の数値）それぞれを、各ディザパターン間において同数（２個ずつ）配置したマトリクスである。したがって、画素上では０と１の階調であるのに対し、ディザパターンＥに基づき画素値を変換すると、４×４の画素の面積上で、０／８、１／８、２／８、３／８、４／８、５／８、６／８、７／８、８／８の多段階の階調を表現することができる。また、ディザパターンＦに基づき画素値を変換すると、４×４の画素の面積上で、０／８、１／８、２／８、３／８、４／８、５／８、６／８、７／８、８／８の多段階の階調を表現することができる。また、ディザ処理では、描画のフレームレートと同じ周期で、ディザパターンＥ、Ｆを交互に変更して、変更されたディザパターンに基づき原画像の画素値を変換した画像を表示部１９０に出力することによって、ブリンク合成を行っている。その結果、人間の目には、直前フレームでの画像が残像として残ることになり、図６の下段に示すように、ディザパターンＥに基づき画素値が変換された画像と、ディザパターンＦに基づき画素値が変換された画像とを補間したかのような画像が見えるようになる。
【００６９】
また、ディザパターンＥ、Ｆは、ディザパターンＥ、Ｆ間において、「２」と「３」の数値の位置が逆になり、「４」と「５」の数値の位置が逆になったマトリクスである。したがって、ブリンク合成した４×４画素の３／８の階調においては、「４」と「５」の数値の位置に対応する画素が、輝度０．５で変化する色（灰色のマス）に見えることになる。同様に、ブリンク合成した４×４画素の５／８の階調においては、「２」と「３」の数値の位置に対応する画素が、輝度０．５で変化する色（灰色のマス）に見えることになる。
【００７０】
その結果、ディザパターンＥ、Ｆに基づくディザ処理は、斜めの模様が目立たない自然な画像を表示することができる。しかし、ディザパターンＥ、Ｆに基づくディザ処理は、４×４の画素のうち、３／８、５／８の階調のみ、ブリンク合成により輝度０．５で変化する色に見える画素が存在することになる。したがって、ディザパターンＥ、Ｆに基づく処理は、１／８、２／８、３／８、４／８、５／８、６／８、７／８の階調でブリンク合成により輝度０．５で変化する色に見える画素が存在するディザパターン（例えば、ディザパターンＡ、Ｂ）に基づくディザ処理よりも、ちらついて見えてしまうという欠点がある。
【００７１】
（３）ディザパターンＧ、Ｈ
次に、ディザパターンＧ、Ｈを用いてディザ処理を行う例について説明する。図７は、ディザパターンＧ、Ｈと、多段階の階調の概念を示す図である。例えば、図７に示すように、ディザパターンＧ、Ｈは、互いに異なる複数の数値（０〜７の数値）それぞれを、各ディザパターン間において同数（２個ずつ）配置したマトリクスである。したがって、画素上では０と１の階調であるのに対し、ディザパターンＧに基づき画素値を変換すると、４×４の画素の面積上で、０／８、１／８、２／８、３／８、４／８、５／８、６／８、７／８、８／８の多段階の階調を表現することができる。また、ディザパターンＨに基づき画素値を変換すると、４×４の画素の面積上で、０／８、１／８、２／８、３／８、４／８、５／８、６／８、７／８、８／８の多段階の階調を表現することができる。また、ディザ処理では、描画のフレームレートと同じ周期で、ディザパターンＧ、Ｈを交互に変更して、変更されたディザパターンに基づき原画像の画素値を変換した画像を表示部１９０に出力することによって、ブリンク合成を行っている。その結果、人間の目には、直前フレームでの画像が残像として残ることになり、図７の下段に示すように、ディザパターンＧに基づき画素値が変換された画像と、ディザパターンＨに基づき画素値が変換された画像とを補間したかのような画像が見えるようになる。
【００７２】
また、ディザパターンＧ、Ｈは、ディザパターンＧ、Ｈ間において、「０」と「１」の数値の位置が逆になり、「２」と「３」の数値の位置が逆になり、「４」と「５」の数値の位置が逆になり、「６」と「７」の数値の位置が逆になったマトリクスである。したがって、ブリンク合成した４×４画素の１／８の階調においては、「６」と「７」の数値の位置に対応する画素が、輝度０．５で変化する色（灰色のマス）に見えることになる。同様に、ブリンク合成した４×４画素の３／８の階調においては、「４」と「５」の数値の位置に対応する画素が、輝度０．５で変化する色（灰色のマス）に見えることになり、５／８の階調においては、「２」と「３」の数値の位置に対応する画素が、輝度０．５で変化する色（灰色のマス）に見えることになる。また、７／８の階調においては、「０」と「１」の数値の位置に対応する画素が、輝度０．５で変化する色（灰色のマス）に見えることになる。
【００７３】
その結果、ディザパターンＧ、Ｈに基づくディザ処理は、斜めの模様が目立たない自然な画像を表示することができる。しかし、ディザパターンＧ、Ｈに基づくディザ処理は、４×４の画素のうち、１／８、３／８、５／８、７／８の階調のみ、ブリンク合成により輝度０．５で変化する色に見える画素が存在することになる。したがって、ディザパターンＧ、Ｈに基づく処理も、ディザパターンＥ、Ｆに基づくディザ処理と同様の理由で、１／８、２／８、３／８、４／８、５／８、６／８、７／８の階調でブリンク合成により輝度０．５で変化する色に見える画素が存在するディザパターン（例えば、ディザパターンＡ、Ｂ）に基づくディザ処理よりも、ちらついて見えてしまうという欠点がある。
【００７４】
（４）ディザパターンＩ、Ｊ
次に、ディザパターンＩ、Ｊを用いてディザ処理を行う例について説明する。図８は、ディザパターンＩ、Ｊと、多段階の階調の概念を示す図である。例えば図８に示すように、ディザパターンＩは、数値「２」「３」「４」「５」をそれぞれ４つ配置したマトリクスである。したがって、画素上では０と１の階調であるのに対し、ディザパターンＩに基づき画素値を変換すると、４×４の画素の面積上で、０／８、２／８、４／８、６／８、８／８の多段階の階調を表現することができる。また、ディザパターンＩは、数値「０」「１」「６」「７」をそれぞれ４つ配置したマトリクスであるので、画素上では０と１の階調であるのに対し、ディザパターンＪに基づき画素値を変換すると、４×４の画素の面積上で、０／８、２／８、４／８、６／８、８／８の多段階の階調を表現することができる。
【００７５】
また、ディザ処理では、描画のフレームレートと同じ周期で、ディザパターンＩ、Ｊを交互に変更して、変更されたディザパターンに基づき原画像の画素値を変換した画像を表示部１９０に出力することによって、ブリンク合成を行っている。その結果、人間の目には、直前フレームでの画像が残像として残ることになり、図８の下段に示すように、ディザパターンＩに基づき画素値が変換された画像と、ディザパターンＪに基づき画素値が変換された画像とを補間したかのような画像が見えるようになる。
【００７６】
そして、ディザパターンＩに基づき画素値が変換された画像と、ディザパターンＪに基づき画素値が変換された画像とをブリンク合成した４×４画素の面積上では、０／８、１／８、２／８、３／８、４／８、５／８、６／８、７／８、８／８の多段階の階調を表現できることになる。
【００７７】
ディザパターンＩ、Ｊに基づくディザ処理によれば、応答速度が遅いディスプレイにおいて、ちらつきが生じにくくなり適しているといえる。しかし、応答速度が速いディスプレイでは、ちらつきが生じてしまう難点がある。つまり、ディザパターンＩ、Ｊ間において輝度分散にムラがあるので、応答速度が速いディスプレイでは、ちらつきが生じやすい。つまり、ディザパターンＩは４×４画素面積における階調数が０／８、２／８、４／８、６／８、８／８であって、ディザパターンＪは４×４画素面積における階調数が０／８、２／８、４／８、６／８、８／８であるので、０（０／８）、１（８／８）を除く中間階調のレベルが異なり、さらに、各階調の出現確率にもムラがあるので、応答速度が速いディスプレイではちらつきが生じやすくなる。
【００７８】
４．本実施形態のディザパターンＡ、Ｂに基づくディザ処理の詳細な説明
本実施形態の、ディザパターンＡ、Ｂを用いてディザ処理を行う例について説明する。図９は、ディザパターンＡ、Ｂと、多段階の階調の概念を示す図である。例えば、図９に示すように、ディザパターンＡ、Ｂは、互いに異なる複数の数値（０〜７の数値）それぞれを、各ディザパターン間において同数（２個ずつ）配置したマトリクスである。したがって、画素上では０と１の階調であるのに対し、ディザパターンＡに基づき画素値を変換すると、４×４の画素の面積上で、０／８、１／８、２／８、３／８、４／８、５／８、６／８、７／８、８／８の多段階の階調を表現することができる。また、ディザパターンＢに基づき画素値を変換すると、４×４の画素の面積上で、０／８、１／８、２／８、３／８、４／８、５／８、６／８、７／８、８／８の多段階の階調を表現することができる。
【００７９】
また、ディザパターンＡ、Ｂに基づくディザ処理では、描画のフレームレートと同じ周期で、ディザパターンＡ、Ｂを交互に変更して、変更されたディザパターンに基づき原画像の画素値を変換した画像を表示部１９０に出力することによって、ブリンク合成を行っている。その結果、人間の目には、直前フレームでの画像が残像として残ることになり、図９の下段に示すように、ディザパターンＡに基づき画素値が変換された画像と、ディザパターンＢに基づき画素値が変換された画像とを補間したかのような画像が見えるようになる。
【００８０】
その結果、ディザパターンＡ、Ｂに基づくディザ処理では、例えば、ディスプレイの応答速度が速く残像感が減少してしまう場合であっても、画面のちらつきを抑えることができる。
【００８１】
つまり、ディザパターンＡ、Ｂは、互いに異なる複数の数値（０〜７の数値）それぞれを、各ディザパターン間において同数（２個ずつ）配置したマトリクスであるので、ディザパターンＡ、Ｂ間において、輝度分散が同じになる。要するに、ディザパターンＡ、Ｂに基づくディザ処理によれば、４×４画素面積における階調数が０／８、１／８、２／８、３／８、４／８、５／８、６／８、７／８、８／８と同じであって、各階調を出現させる確率が同じである。したがって、ディザパターンＡ、Ｂに基づくディザ処理によれば、ディザパターンＩ、Ｊに基づくディザ処理における、ディスプレイのちらつきが生じる問題を解消することができる。
【００８２】
また、ディザパターンＡ、Ｂ間で同値の数値を、ディザパターンＡ、Ｂ間で異なる位置に配置したマトリクスであるので、ディザパターンＡに基づき画素値が変換された画像と、ディザパターンＢに基づき画素値が変換された画像とをブリンクすることで、人間の目によれば、画素単位で輝度が０．５変化する色（灰色のマス）に見えるようになり、ディザパターンによる模様が目立たないようにすることができる。また、ディザパターンＡ、Ｂに基づくディザ処理は、縦縞模様を感じさせない自然な画像を表示することができる。
【００８３】
また、ディスプレイがインターレース方式である場合には、インターレース方式によるちらつきが生じる場合がある。このちらつきを抑えるために、画素単位で、画素の輝度を上下方向に隣接する画素の輝度と平滑化する処理が行われる場合がある。しかし、平滑化処理は、画素単位で画面全体に対して行う処理であるため、処理負荷が非常に高いという難点がある。
【００８４】
一方、ディザパターンＡ、Ｂに基づくディザ処理によれば、平滑化処理に比べて処理負荷を大幅に軽減して、インターレース方式のディスプレイに生じるちらつき（フリッカー）を抑えることができる。
【００８５】
さらに、ディスプレイをなす１つ１つの画素（ピクセル）を構成するＲＧＢ３原色のサブピクセルの並び方が、横ライン（主走査ライン）上で、ＲＧＢ３原色のいずれか１色が連続する並び方である場合には、横縞模様があるかのような画像に見えてしまう。しかし、ディザパターンＡ、Ｂに基づいて原画像の画素値を変換する処理を行うようにすれば、横ラインを分断するかのようなノイズを与えるので、横縞模様を感じさせない画像を表示することができる。
【００８６】
つまり、ディザパターンＡ、Ｂは、２つの「４」以上の数値を縦方向に連続して配置した数値群が隣接する列間でずれていると共に各ディザパターンの同一列間でずれているマトリクスであるので、ディザパターンＡ、Ｂに基づきディザ処理を行うと、同階調のピクセルが縦方向になるべく２画素並ぶようにすることができ、その結果、横ラインの並びを感じさせない画像を表示することができる。
【００８７】
このように、本実施形態のディザパターンＡ、Ｂに基づいて原画像の画素値を変換する処理を行うようにすれば、表示部１９０の仕様に考慮されずに、擬似的な中間調を再現しつつディザパターンによる幾何学的な模様を感じさせない自然な画像を表示部１９０に出力することができる。
【００８８】
５．半透明処理
本実施形態では、半透明処理など、同じ画像バッファ１７４に重ねて描画処理を行う場合には、描画処理を行う度に、ディザパターンを変更して画素値を変換する処理を行う。例えば、同じディザパターンを用いて半透明描画を行うと、同じ画素の輝度変化が繰り返し行われることになり、その結果、ディザパターンによる特有な模様が見えてしまうおそれがあるからである。
【００８９】
したがって、本実施形態の画像生成システムでは、同じ画像バッファ１７４に重ねて描画処理を行う場合に、描画処理を行う度にディザパターンを変更する処理を行っている。例えば、第１の画像と第２の画像とを半透明合成する場合には、ディザパターンＡに基づきＲＧＢの各カラー値を８ビットから５ビットに変換した第１の画像を画像バッファ１７４に書き込む。その後、ディザパターンをＡからＢに変更し、ディザパターンＢに基づき、ＲＧＢの各カラー値を８ビットから５ビットに変換する。そして、既に画像バッファ１７４に描画されているＲＧＢの各カラー値が５ビットの第１の画像に、これから描画するＲＧＢの各カラー値が５ビットの第２の画像を半透明合成して画像バッファ１７４に書き込む。
【００９０】
６．フローチャート
本実施形態のディザ処理の詳細な処理例について図１０のフローチャートを用いて説明する。
【００９１】
まず、フレーム更新タイミング（例えば、１／６０秒が経過した時点）が到来すると（ステップＳ１のＹ）、原画像をフレームバッファに描画する処理を行う（ステップＳ２）。つまり、ＲＧＢの各カラー値が８ビットの原画像をフレームバッファに描画する処理を行う。そして、ディザパターンを変更する処理を行う（ステップＳ３）。次に、フレームバッファに描画された各画素について、ＲＧＢの各カラー値それぞれについて、カラー値にフレームバッファピクセル座標に対するディザパターンの該当位置の数値を足した値の上位５ビットを取得し、取得したＲＧＢの各カラー値５ビットをフレームバッファに書き込む処理を行う（ステップＳ４）。そして、フレームバッファに書き込まれたＲＧＢの各カラー値５ビットの画像を表示部に出力する処理を行う（ステップＳ５）。以上で処理が終了する。
【００９２】
７．画像例
次に、画像の具体例を説明する。図１１（Ａ）は、ディザパターンＡに基づき、原画像の各画素のＲＧＢの各カラー値を８ビットから５ビットに変換したときの画像の一例である。また、図１１（Ｂ）は、ディザパターンＢに基づき、原画像の各画素のＲＧＢの各カラー値を８ビットから５ビットに変換したときの画像の一例である。そして、図１１（Ｃ）は、ディザパターンＡに基づき、原画像の各画素のＲＧＢの各カラー値を８ビットから５ビットに変換したときの画像（図１１（Ａ）の画像）と、ディザパターンＢに基づき、原画像の各画素のＲＧＢの各カラー値を８ビットから５ビットに変換したときの画像（図１１（Ｂ）の画像）とを補間した画像である。例えば、描画のフレームレートが６０ｆｐｓである場合に図１１（Ａ）の画像と、図１１（Ｂ）の画像とが交互に高速で表示されるので、人間の目には、図１１（Ｃ）のような画像が見えるようになる。
【符号の説明】
【００９３】
１００  処理部、１１０  オブジェクト空間設定部、１１２  移動・動作処理部、
１１４  仮想カメラ制御部、１１６  ディザパターン変更部、１１８  変換部、
１２０  描画部、１３０  音生成部、１６０  操作部、１７０  記憶部、
１７２  主記憶部、１７４  画像バッファ、１７５  ディザパターン記憶部、
１７６  オブジェクトデータ記憶部、１７８  テクスチャ記憶部、１７９  Ｚバッファ、
１８０  情報記憶媒体、１９０  表示部、１９２  音出力部、１９６  通信部
【図１】
2010263427.tif 000003
【図２】
2010263427.tif 000004
【図３】
2010263427.tif 000005
【図４】
2010263427.tif 000006
【図１０】
2010263427.tif 000007
【図５】
2010263427.tif 000008
【図６】
2010263427.tif 000009
【図７】
2010263427.tif 000010
【図８】
2010263427.tif 000011
【図９】
2010263427.tif 000012
【図１１（Ａ）】
2010263427.tif 000013
【図１１（Ｂ）】
2010263427.tif 000014
【図１１（Ｃ）】
2010263427.tif 000015