JP2005077522A - 画像処理装置および画像処理方法 - Google Patents

画像処理装置および画像処理方法 Download PDF

Info

Publication number
JP2005077522A
JP2005077522A JP2003305273A JP2003305273A JP2005077522A JP 2005077522 A JP2005077522 A JP 2005077522A JP 2003305273 A JP2003305273 A JP 2003305273A JP 2003305273 A JP2003305273 A JP 2003305273A JP 2005077522 A JP2005077522 A JP 2005077522A
Authority
JP
Japan
Prior art keywords
coefficient
data
sprite
buffer
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003305273A
Other languages
English (en)
Other versions
JP2005077522A5 (ja
Inventor
Mitsuhiro Motome
光弘 本目
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2003305273A priority Critical patent/JP2005077522A/ja
Priority to US10/927,558 priority patent/US20050046635A1/en
Publication of JP2005077522A publication Critical patent/JP2005077522A/ja
Publication of JP2005077522A5 publication Critical patent/JP2005077522A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/126The frame memory having additional data ports, not inclusive of standard details of the output serial port of a VRAM

Abstract

【課題】 表示優先順位の高いスプライトから描画することができ、かつ複数面についてのカラー演算を行うこともできる画像処理装置および画像処理方法を提供する。
【解決手段】 表示画像の各画素に対応させてα係数を格納するα係数バッファ72と、ブレンディング実行時に下位面に対するα係数を計算しそのα係数をα係数バッファ72に格納させるα係数計算モジュール71と、下位面描画時に描画データ、描画済みデータ及びα係数バッファに格納されているデータを用いてαブレンディングを行うαブレンディングモジュール73とを有することを特徴とする。
【選択図】 図6

Description

本発明は、画像処理装置および画像処理方法に関する。
従来、ビデオゲーム装置などに適用される画像表示装置では、スプライト表示方式が用いられている。ここで、スプライト表示方式とは、画面に表示されるキャラクタ毎に表示位置などの属性(スプライト属性)を持ち、そのスプライト属性に従いキャラクタを配置することで画面全体を構成する方式である。そして、表示位置などのスプライト属性を持ったキャラクタをスプライトという。ビデオゲーム装置などのように、インタラクティブに高速にキャラクタを動かす場合、スプライト表示方式では動かすキャラクタのスプライト属性を変更するだけで画面の書き換えをすることができる。
また、従来の画像表示装置では、2つ以上の画像を係数(アルファ値又はα係数)を使って半透明合成するαブレンディング(アルファブレンド)機能を備えるものがある。このαブレンディング機能では、画像の全画素に共通のα係数を指定することもあるが、画像の各画素に対応させてα係数の情報を持たせてそれを利用することによって画素ごとの半透明合成を行うこともできる(例えば、特許文献1参照)。
特開2002−341859号公報
しかしながら、特許文献1などに記載されている従来の画像処理装置では、αブレンディングを行うためには、複数のスプライトにおいて表示優先順位の低いスプライトから順番にフレームバッファに描画する必要がある。カラー演算を行う場合もあるが、基本的には、優先順位の高いスプライトは優先順位の低いスプライトの上に上書きされるからである。
フレームバッファに表示優先順位の低いスプライトから順番に描画する場合は、全てのスプライトをフレームバッファに描画する必要がある。ここで、描画性能は、単位時間に描画できるドット数で表されるが、従来の画像処理装置では、表示優先順位の低いスプライトから全てのスプライトを順番にフレームバッファに描画する必要があるため、描画性能の向上が阻害されているという問題点があった。
本発明は、上記問題点を解決するためになされたものであり、表示優先順位の高いスプライトから描画することができ、かつ複数面についてのカラー演算を行うこともできる画像処理装置および画像処理方法を提供するものである。
上記課題を解決するため、この発明は以下の構成を有する。
即ち、請求項1に記載された発明に係る画像処理装置は、表示手段に出力される表示画像データをビットマップ形式で保持するフレームバッファと、前記表示画像データの各画素に対応させて設定されている係数データであると共に、各画素位置の透過度情報を示す係数データであるα係数を格納するα係数バッファと、前記α係数を使って2つの画像を半透明合成する処理であるαブレンディングの実行時に、該2つの画像における表示優先度が低い方の画像である下位面に対するα係数を計算し、該α係数を前記α係数バッファに格納させるα係数計算モジュールと、前記2つの画像における表示優先度が高い方の画像である上位面又は前記下位面を前記フレームバッファに描画するときに、描画データ、描画済みデータ及び前記α係数バッファに格納されているデータを用いてαブレンディングを行うと共に、該上位面のスプライトを前記フレームバッファに描画した後に、該下位面のスプライトを該フレームバッファに描画するαブレンディングモジュールとを有することを特徴とする。
また、請求項2に記載された発明に係る画像処理装置は、表示手段に出力される表示画像データをビットマップ形式で保持するフレームバッファと、前記表示画像データの各画素に対応させて設定されている係数データであると共に、2つの画像を重ねてなる合成画像の各画素データを算出するピクセル演算に用いる係数データを格納する係数バッファと、前記ピクセル演算を算出するときに、前記2つの画像における表示優先度が低い方の画像である下位面に対する前記係数データを計算し、該係数データを前記係数バッファに格納させる係数計算モジュールと、前記2つの画像における表示優先度が高い方の画像である上位面又は前記下位面を前記フレームバッファに描画するときに、描画データ、描画済みデータ及び前記係数バッファに格納されているデータを用いて前記ピクセル演算を行うと共に、該上位面のスプライトを前記フレームバッファに描画した後に、該下位面のスプライトを該フレームバッファに描画するピクセル演算モジュールとを有することを特徴とする。
また、請求項3に記載された発明に係る画像処理方法は、表示画像の各画素に対応させて設定されている係数データであると共に、各画素位置の透過度情報を示す係数データであるα係数を格納するα係数バッファを用いて、前記表示画像をフレームバッファに一旦保持させて表示手段に表示させる画像処理方法であって、前記α係数を使って2つの画像を半透明合成する処理であるαブレンディング実行時は、該2つの画像における表示優先度が低い方の画像である下位面に対するα係数を計算し、該α係数を前記α係数バッファに格納し、前記2つの画像における表示優先度が高い方の画像である上位面又は前記下位面を前記フレームバッファに描画するときは、描画データ、描画済みデータ及び前記α係数バッファに格納されているデータを用いてαブレンディングを行うと共に、該上位面のスプライトを前記フレームバッファに描画した後に、該下位面のスプライトを該フレームバッファに描画することを特徴とする。
また、請求項4に記載された発明に係る画像処理方法は、表示画像の各画素に対応させて設定されている係数データであると共に、2つの画像を重ねてなる合成画像の各画素データを算出するピクセル演算に用いる係数データを格納する係数バッファを用いて、前記表示画像をフレームバッファに一旦保持させて表示手段に表示させる画像処理方法であって、前記合成画像を算出するときに、前記2つの画像における表示優先度が低い方の画像である下位面に対する前記係数データを計算し、該係数データを前記係数バッファに格納し、前記2つの画像における表示優先度が高い方の画像である上位面又は前記下位面を前記フレームバッファに描画するときは、描画データ、描画済みデータ及び前記係数バッファに格納されているデータを用いて前記ピクセル演算を行うと共に、該上位面のスプライトを前記フレームバッファに描画した後に、該下位面のスプライトを該フレームバッファに描画することを特徴とする。
本発明によれば、表示優先順位の高いスプライトから描画することができ、かつ複数面についてのカラー演算を行うこともできる。
以下、図面を参照し、本発明の実施形態について説明する。
(第1実施形態)
図1は、本発明の実施形態に係る画像処理装置の構成例を示すブロック図である。本発明の実施形態に係る画像処理装置20は、画像表示装置1の構成要素となる。画像表示装置1は、CGメモリ11と、CPU12と、モニタ13と、本発明の実施形態に係る画像処理装置20とで構成されている。CPU12は、画像処理装置20の動作を制御し、CGメモリ11に格納されているキャラクタデータを用いて、モニタ13に所望の画面を表示させる。モニタ13は、LCDパネル又はCRTモニタなどの表示手段である。
画像処理装置20は、CGメモリインターフェース21、リアルタイムデコーダ22、スプライトバッファ23、レンダリングプロセッサ24、フレームバッファ25、フレームデータ制御回路26、D/Aコンバータ27、スプライト・プレーン・ジェネレータ28、CPUインターフェース29、DMA制御回路30、カラーパレット31、汎用データテーブル32、レジスタ33、モニタ制御回路34及びクロック生成回路35で構成されている。
まず、画像処理装置20の主要概略動作について説明する。画像処理装置20は、CPU12の指示(汎用データテーブル32内のスプライト属性テーブルへのスプライト属性データの書き込み)にしたがって動作する。すなわち、画像処理装置20は、1フレーム期間内において、汎用データテーブル32内のスプライト属性テーブルからスプライト属性データを順次読み出し、そのスプライト属性データに基づき、CGメモリ11に記憶されたキャラクタを使用してスプライトを生成し、フレームバッファ25に描画する。なお、詳細は後述するが、本発明の画像処理装置では、上記スプライト属性テーブルからのスプライト属性データの読み出し(すなわち、スプライトのフレームバッファ25への描画)は、表示優先順位の高いスプライトから行うこともできる。そのために、描画の際のαブレンディング処理が従来とは異なり特徴的になっている。所定フレームにおいてフレームバッファ25に描画された画像データは次のフレームにおいてモニタ13に出力され表示される。
次に、画像処理装置20の詳細について説明する。
CGメモリインターフェース21は、CGメモリ11に対する読み出しを制御する回路である。リアルタイムデコーダ22は、CGメモリインターフェース21を介してCGメモリ11から読み出されたキャラクタデータであって圧縮されたキャラクタデータを解凍してRGBデータに変換する回路である。スプライトバッファ23は、1ないし複数のキャラクタデータのテンポラリバッファである。そのキャラクタデータはビットマップ形式で格納されている。
レンダリングプロセッサ24は、スプライトの拡大・縮小・変形及びカラー演算を行う回路である。フレームバッファ25は、複数のスプライトで構成される画面データ(フレームデータ)を保持するためのバッファである。フレームデータは、フレームバッファ25上にスプライトを描画することで作られている。このフレームバッファ25は、例えばダブルバッファ構成となっており、表示スキャンにあわせてフレームデータを読み出し中であっても、次のフレームの画面データを描画することができる。
フレームデータ制御回路26は、モニタ制御回路34で生成されたモニタのスキャンタイミングにしたがって、フレームバッファ25からフレームデータを読み出し、4倍拡大フィルタ処理又はモザイク処理などを実施してドットデータとしてモニタ13へ送出する回路である。カラーパレット31は、カラーコードをRGBデータに変換する変換テーブルである。したがって、パレットモードではキャラクタを構成する各ドットがカラーコードで記憶されており、通常モード(RGBモード)のときよりもデータ圧縮が可能になる。D/Aコンバータ27は、フレームデータ制御回路26から出力されたデジタル信号をアナログ信号に変換してモニタ13へ出力する回路である。
スプライト・プレーン・ジェネレータ28は、リアルタイムデコーダ22、スプライトバッファ23、及びレンダリングプロセッサ24の動作を制御する回路である。CPUインターフェース29は、CPU12から、汎用データテーブル32、カラーパレット31、レジスタ33及びCGメモリ11へのアクセスを制御する回路である。DMA制御回路30は、CPUバスを介してのアクセスとは独立して、CGメモリ11及び汎用データテーブル32から画像処理装置20内部の各テーブル及びレジスタへデータを転送するローカルDMA機能を制御する回路である。
汎用データテーブル32は、画像処理装置20に内蔵されている書換可能な記憶回路である。汎用データテーブル32は、スプライト属性テーブル、4頂点変形テーブル、スプライト・ラインテーブルなどを格納するものとする。レジスタ33は、スプライト表示を制御する制御データを設定するレジスタである。モニタ制御回路34は、レジスタ33の設定に基づいてモニタ13の走査タイミングを生成する回路である。クロック生成回路35は、画像処理装置20の内部動作クロックを生成する回路である。
次に、上記構成の画像処理装置20の動作について説明する。
先ず、CPU12は、画像処理装置20に内蔵されているレジスタ33及び汎用データテーブル32に制御データを設定することにより、モニタ13に表示させる画面(フレーム)を制御する。ここで、制御データは、スプライト属性データなどのスプライト表示するためのデータである。モニタ13に表示される画面(フレーム)は、複数のスプライトが組み合わされて構成されるものとする。そして、フレーム上のどの位置にどのような形でスプライトを表示するかといった表示属性は、汎用データテーブル32にマッピングされるスプライト属性テーブルに設定される。
画像処理装置20のスプライト・プレーン・ジェネレータ28は、フレーム毎にスプライト属性テーブルのスプライト属性データを所定の順序で読み出し、そこに設定されたスプライト表示属性にしたがってCGメモリ11に格納されているキャラクタを読み出す。キャラクタは、CGメモリ11に予め格納されている。CGメモリ11上のキャラクタは、通常圧縮された形で格納されているが、非圧縮で格納されていてもよい。CGメモリ11から読み出されたキャラクタは、リアルタイムに解凍されRGBデータに変換された後、スプライトバッファ23に一旦格納される。
スプライトバッファ23に格納されたスプライトは、スプライト属性データにしたがい、レンダリングプロセッサ24により、拡大、縮小、反転、変形又はカラー演算などの処理が施され、スプライト属性データにしたがい、フレームバッファ25上のスプライト表示位置に転送される。
これらの処理はモニタ13に表示するスプライトの個数分だけ実施され、フレームバッファ25上に画面データを構成する。
フレームバッファ25はダブルバッファ構造となっているので、スプライトにより画面を構築中においても、フレームバッファ25で既に構築された画面データをモニタ13へ表示させることができる。画面データは、モニタ制御回路34で生成されたモニタの走査タイミングに基づいて、フレームバッファ25から読み出され、4倍拡大フィルタ処理又はモザイク処理を施されながら、モニタ13へドットデータとして送出される。モニタ13がアナログ信号を入力信号とするものであるときは、フレームバッファ25の出力はD/Aコンバータ27を介してモニタ13へ送出される。なお、モニタ13がデジタル信号を入力信号とするときは、フレームバッファ25の出力が直接モニタ13へ送出される。
次に、画像処理装置20のレンダリングプロセッサ24で行われるαブレンディングについて、図2から図4を参照して説明する。図2から図4に示すαブレンディングは、従来から用いられている手法である。本発明に係る画像処理装置20は、図2から図4に示す従来のαブレンディングを実現できると共に、さらに従来の画像処理装置を改良して、表示優先順位の高いスプライトから描画することができようにしたものである。そこで、まずαブレンディングについて説明する。
図2は、α係数に対応した演算式を示す図である。α係数は、汎用データテーブル32にマッピングされているスプライト属性テーブルに設定されている。αブレンディングは、複数の画像をα係数を使って半透明合成する処理である。具体的には、次のように行う。
フレームバッファ25へスプライトを描画するときに、フレームバッファ25に描画しようとするデータ(前レイヤ:fore layerのカラーデータ)とすでに描画されているデータ(後レイヤ:back layerのカラーデータ)との間で、α係数に従い図2に示す演算を行う。この演算を行った結果を描画する機能がαブレンディングである。例えば、α係数が「00000」の場合、図2に示す複数の演算式における1番上の演算式が用いられ、その演算結果を描画する。
次に、上記αブレンディングを行う回路構成について、図3及び図4を参照して説明する。図3は、画像処理装置20内のレンダリングプロセッサ24で構成されているαブレンディング回路を示すブロックである。αブレンディング回路は、上記フレームバッファ25と、αブレンディングモジュール41とで構成されている。αブレンディングモジュール41は、上記レンダリングプロセッサ24の一部として構成されている。
αブレンディングモジュール41は、先ず、フレームバッファ25における描画しようとする位置にすでに描画されているデータ(後レイヤのカラーデータ=リードデータ)を、そのフレームバッファ25から読み出す。次いで、αブレンディングモジュール41は、フレームバッファ25に描画しようとするデータ(前レイヤのカラーデータ=レンダリングデータ)と、フレームバッファ25から読み出されたリードデータとの間で、α係数に従いαブレンディングを実行する。そして、αブレンディングモジュール41は、αブレンディングされたデータをフレームバッファ25に書き込む。
αブレンディングモジュール41は、αブレンディングとして例えば下記数式(1)の計算を行う。
(32−α)/32×(rendering data)+α/32×(read data) …(1)
図4は、αブレンディングモジュール41の具体的な構成例を示す回路図である。αブレンディングモジュール41は、上記数式(1)の計算を実行する回路である。αブレンディングモジュール41は、セレクタ51,52,53,54,55と、全加算機56,57,58,59,60と、シフター61,62,63,64,65とを有して構成されている。セレクタ51,52,53,54,55は、レンダリングデータとリードデータとのうちで、α係数で指定される方を選択して出力する。
具体的にはセレクタ51は、レンダリングデータとリードデータとのうち、α係数の最下位ビットで指定される方を出力する。すなわち、α係数の最下位ビットが「0」を示せばレンダリングデータを、「1」を示せばリードデータを選択して出力する。同様に、セレクタ52,53,54,55は、レンダリングデータとリードデータとのうち、α係数の第1,2,3,4ビットで指定される方をそれぞれ出力する。
全加算機56は、レンダリングデータとセレクタ51の出力とを加算して出力する。シフター61は、全加算機56の7ビットの出力の上位側の6ビットを出力する。同様に、全加算機57,58,59,60は、シフター61,62,63,64の出力とセレクタ52,53,54,55の出力とを加算してそれぞれ出力する。シフター65は、全加算機60の7ビットの出力の上位側の6ビットを出力する。
そして、シフター65の出力がαブレンディングモジュール41の出力、すなわち上記数式(1)の計算結果となる。
例えばα係数が「00000」の場合は、レンダリングデータのカラーデータをそのままαブレンディングモジュール41が出力する。α係数が「00001」の場合は、レンダリングデータ×31/32+リードデータ×1/32がαブレンディングモジュール41の出力となる。そして、α係数の値が大きくなるほどレンダリングデータが小さくリードデータが大きく重み付けされてαブレンディングモジュール41の出力となる。α係数が「11111」の場合は、レンダリングデータ×1/32+リードデータ×31/32がαブレンディングモジュール41の出力となる。
したがって、αブレンディングモジュール41の出力は、レンダリングデータとリードデータとをα係数を重み付けとしてカラー合成し、その合成結果をカラーデータとして出力する。
(第1カラー演算方法)
次に、本実施形態に係る画像処理装置20で実行される第1カラー演算方法(処理)であって、表示優先順位の高いスプライトから描画した場合の複数スプライトのカラー演算方法(処理)について説明する。
図5は、4つのスプライトが重なった状態を示す模式概念図である。図5に示すように、4つのスプライトが重なった場合の第1カラー演算方法について説明する。SpriteAは最上位スプライトすなわち優先順位が1番高いスプライトである。SpriteBは、優先順位が2番目のスプライトである。SpriteCは、優先順位が3番目のスプライトである。SpriteDは、最下位スプライトすなわち優先順位が4番目のスプライトである。
まず、第1カラー演算方法を実現するための回路構成について図6を参照して説明する。図6は、表示優先順位の高いスプライトから描画した場合の複数スプライトのカラー演算処理を行う回路、すなわち第1カラー演算処理実行回路を示すブロック図である。
第1カラー演算処理回路は、フレームバッファ25と、α係数計算モジュール71と、α係数バッファ72と、αブレンディングモジュール73とで構成されている。第1カラー演算回路は、図1に示す画像処理装置20の構成要素として形成されているものである。フレームバッファ25は、上述のように複数のキャラクタで構成される画面データ(フレームデータ)を保持するためのバッファである。
α係数計算モジュール71は、ブレンディング実行時に下位面(下位層)に対するα係数を計算し、その計算結果のα係数をα係数バッファ72に格納させるモジュールである。α係数バッファ72は、表示画像の各画素に対応させてα係数を格納するバッファである。αブレンディングモジュール73は、下位面描画時に描画データ、描画済みデータ及びα係数バッファ72に格納されているデータを用いてαブレンディングを行うモジュールである。ここで、α係数計算モジュール71、α係数バッファ72及びαブレンディングモジュール73は、上記レンダリングプロセッサ24の構成要素としてもよい。α係数バッファ72は、汎用データテーブル32にマッピングされているものとしてもよい。
次に、図5に示すように4つのスプライトが重なった場合の第1カラー演算方法について説明する。
SpriteAのRGBデータをDa、SpriteAのα係数をαa、SpriteBのRGBデータをDb、SpriteBのα係数をαb、SpriteCのRGBデータをDc、SpriteCのα係数をαc、SpriteDのRGBデータをDdとする。SpriteDは、最下位スプライトであるためαブレンディングは実行しない。
そして、図5に示すように4つのスプライトが重なった場合の第1カラー演算方法に係るカラー演算式は下記数式(2)のようになる。
(32−αa)/32×Da+
αa/32×{(32−αb)/32×Db+
αb/32×〔(32−αc)/32×Dc+
αc/32×Dd〕} …(2)
上記数式(2)を展開すると下記数式(3)のようになる。
(32−αa)/32×Da+
αa/32×(32−αb)/32×Db+
αa/32×αb/32×(32−αc)/32×Dc+
αa/32×αb/32×αc/32×Dd …(3)
次に、図6に示す第1カラー演算処理実行回路を用いた第1カラー演算方法について具体的に説明する。
最初に、αブレンディングモジュール73は、SpriteAをフレームバッファ25に描画する。第1カラー演算方法では、フレームバッファ25へは表示優先順位の高いスプライトから描画する。このときSpriteAはカラー演算が有効であるので、αブレンディングモジュール73は、SpriteAのデータとα係数との間で計算を行いその計算結果をフレームバッファ25に書き込む。このフレームバッファ25に書き込むデータFDaは下記数式(4)により計算される。
FDa=(32−αa)/32×Da …(4)
同時に、α係数計算モジュール71は、α係数バッファ72にSpriteAのα係数(αa)を書き込む。
次いで、SpriteBを描画する。このとき、SpriteBはカラー演算が有効であるので、αブレンディングモジュール73及びα係数計算モジュール71は、SpriteBのデータと、SpriteBのα係数と、フレームバッファ25に書き込まれているデータFDaとを用いて、下記数式(5)、数式(6)に示す計算を行い、その計算結果をフレームバッファ25及びα係数バッファ72に書き込む。下記数式(5)はαブレンディングモジュール73で行われる計算であり、その計算結果であるデータFDabはフレームバッファ25に書き込まれる。
FDab=FDa+αa/32×(32−αb)/32×Db …(5)
下記数式(6)はα係数計算モジュール71で行われる計算であり、その計算結果であるα係数はα係数バッファ72に書き込まれる。
α係数=αa×αb …(6)
次いで、SpriteCを描画する。このとき、SpriteCはカラー演算が有効であるので、αブレンディングモジュール73及びα係数計算モジュール71は、SpriteCのデータと、SpriteCのα係数と、フレームバッファ25に書き込まれているデータFDabと、α係数バッファ72に書き込まれているデータ(α係数=αa×αb)とを用いて、下記数式(7)、数式(8)に示す計算を行い、その計算結果をフレームバッファ25及びα係数バッファ72に書き込む。下記数式(7)はαブレンディングモジュール73で行われる計算であり、その計算結果であるデータFDabcはフレームバッファ25に書き込まれる。
FDabc=FDab+
αa/32×αb/32×(32−αc)/32×Dc …(7)
下記数式(11)はα係数計算モジュール71で行われる計算であり、その計算結果であるα係数はα係数バッファ72に書き込まれる。
α係数=αa×αb×αc …(8)
最後に、最上位面のSpriteDを描画する。このとき、SpriteDはカラー演算が無効であるので、αブレンディングモジュール73及びα係数計算モジュール71は、SpriteDのデータと、SpriteDのα係数と、フレームバッファ25に書き込まれているデータFDabcと、α係数バッファ72に書き込まれているデータ(α係数=αa×αb×αc)とを用いて、下記数式(9)に示す計算を行い、その計算結果をフレームバッファ25に書き込む。下記数式(9)はαブレンディングモジュール73で行われる計算であり、その計算結果であるデータFDabcdはフレームバッファ25に書き込まれる。
FDabcd=FDabc+
αa/32×αb/32×αc/32×Dd …(9)
また、α係数計算モジュール71は、α係数バッファ72へ「0」を示すデータを書き込む。
これらにより、第1カラー演算方法では、フレームバッファ25に対して表示優先順位の高いスプライトから描画することができ、かつ、カラー演算(αブレンディング)をすることができる。また、カラー演算しない場合には、すでに描画済の領域の描画は不要になるため、第1カラー演算方法によれば従来よりも描画性能を向上させることができる。
(第2カラー演算方法)
次に、表示優先順位の低いスプライトから描画した場合の複数スプライトのカラー表示方法(第2カラー演算方法)について説明する。第2カラー演算方法は従来の画像処理装置で用いられているカラー演算方法である。本実施形態に係る画像処理装置20は、この表示優先順位の低いスプライトから描画した場合の複数スプライトのカラー表示方法を実行することもできるが、上記第1カラー演算方法によって従来の画像処理装置よりも描画性能を向上させることができる。
図5に示すように、SpriteAのRGBデータをDa、SpriteAのα係数をαa、SpriteBのRGBデータをDb、SpriteBのα係数をαb、SpriteCのRGBデータをDc、SpriteCのα係数をαc、SpriteDのRGBデータをDdとする。SpriteDは、最下位スプライトであるためαブレンディングは実行しない。
最初に、SpriteDをフレームバッファ25に描画する。第2カラー演算方法では、フレームバッファ25へは表示優先順位の低いスプライトから描画する。
次いで、SpriteCを描画する。このとき、SpriteCはカラー演算が有効であるので、SpriteDとSpriteCとについてカラー演算を実行した結果をフレームバッファ25に書き込む。このときフレームバッファ25に書き込む値をDcdとする。Dcdの演算は下記数式(10)のように行う。
Dcd=(32−αc)/32×Dc+αc/32×Dd …(10)
次いで、SpriteBを描画する。このとき、SpriteBはカラー演算が有効であるので、現在フレームバッファ25に描画されている値(Dcd)とSpriteBとについてカラー演算した結果をフレームバッファ25に書き込む。このときフレームバッファ25に書き込む値をDbcdとする。Dbcdの演算は下記数式(11)のように行う。
Dbcd=(32−αb)/32×Db+αb/32×Dcd …(11)
最後に、最上位面のSpriteAを描画する。このとき、SpriteAはカラー演算が有効であるので、現在フレームバッファ25に描画されている値(Dbcd)とSpriteAとについてカラー演算した結果をフレームバッファ25に書き込む。このときフレームバッファ25に書き込む値をDabcdとする。Dabcdの演算は下記数式(12)のように行う。
Dabcd=(32−αa)/32×Da+αa/32×Dbcd …(12)
このように、表示優先順位の低いスプライトから描画することにより、複数面のカラー演算を実現することができる。
上記第2カラー演算方法のように、表示優先順位の低いスプライトから描画すると、必ず全スプライトをフレームバッファ25に描画する必要がある。このため、描画性能が上がらないというデメリットがある。一方、上記第1カラー演算方法のように、表示優先順位の高いスプライトから描画すると、カラー演算を行わない場合には、既に描画済みのドットは描画しなくてもよいため、描画性能を向上させることができるというメリットが生じる。しかし、従来においては、表示優先順位の高いスプライトから描画すると、複数面のカラー演算を実現することができなかった。
そこで、本発明の実施形態に係る画像処理装置20は、上記第1カラー演算方法により、表示優先順位の高いスプライトから描画することができ、かつ複数面についてのカラー演算を実行できるので、上記第2カラー演算方法しか実行できない従来の画像処理装置よりも描画性能を向上させることができる。
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
以上の説明では、本発明に係る画像処理装置20がカラー演算(αブレンディング)を行う実施形態について説明したが、本発明はこれに限定されるものではなく、画像処理装置20がカラー演算の代わりに(又はカラー演算とともに)ピクセル演算を行うものとしてもよい。すなわち、画像処理装置20は、表示優先順位の高いスプライトから描画することができ、かつ、複数面についてのピクセル演算を行うことができるものとしてもよい。なお、ピクセル演算とは、乗算演算、加算演算などである。
また、上記実施形態では、画像処理装置20をすべてハードウェアで構成することとしたが、本発明はこれに限定されるものではなく、本発明に係る画像処理装置の一部構成をソフトウェアで実現してもよい。
本発明の実施形態に係る画像処理装置の構成例を示すブロック図である。 α係数に対応した演算式を示す図である。 本発明の実施形態に係る画像処理装置内で構成されているαブレンディング回路を示すブロックである。 本発明の実施形態に係る画像処理装置内で構成されているαブレンディングモジュールの構成例を示す回路図である。 4つのスプライトが重なった状態を示す模式概念図である。 本発明の実施形態に係る画像処理装置内で構成されている第1カラー演算処理実行回路を示すブロック図である。
符号の説明
1…画像表示装置、11…CGメモリ、12…CPU、13…モニタ、20…画像処理装置、21…CGメモリインターフェース、22…リアルタイムデコーダ、23…スプライトバッファ、24…レンダリングプロセッサ、25…フレームバッファ、26…フレームデータ制御回路、27…D/Aコンバータ、28…スプライト・プレーン・ジェネレータ、29…CPUインターフェース、30…DMA制御回路、31…カラーパレット、32…汎用データテーブル、33…レジスタ、34…モニタ制御回路、35…クロック生成回路、41…αブレンディングモジュール、51,52,53,54,55…セレクタ、56,57,58,59,60…全加算機、61,62,63,64,65…シフター、71…α係数計算モジュール、72…α係数バッファ、73…αブレンディングモジュール

Claims (4)

  1. 表示手段に出力される表示画像データをビットマップ形式で保持するフレームバッファと、
    前記表示画像データの各画素に対応させて設定されている係数データであると共に、各画素位置の透過度情報を示す係数データであるα係数を格納するα係数バッファと、
    前記α係数を使って2つの画像を半透明合成する処理であるαブレンディングの実行時に、該2つの画像における表示優先度が低い方の画像である下位面に対するα係数を計算し、該α係数を前記α係数バッファに格納させるα係数計算モジュールと、
    前記2つの画像における表示優先度が高い方の画像である上位面又は前記下位面を前記フレームバッファに描画するときに、描画データ、描画済みデータ及び前記α係数バッファに格納されているデータを用いてαブレンディングを行うと共に、該上位面のスプライトを前記フレームバッファに描画した後に、該下位面のスプライトを該フレームバッファに描画するαブレンディングモジュールとを有することを特徴とする画像処理装置。
  2. 表示手段に出力される表示画像データをビットマップ形式で保持するフレームバッファと、
    前記表示画像データの各画素に対応させて設定されている係数データであると共に、2つの画像を重ねてなる合成画像の各画素データを算出するピクセル演算に用いる係数データを格納する係数バッファと、
    前記ピクセル演算を算出するときに、前記2つの画像における表示優先度が低い方の画像である下位面に対する前記係数データを計算し、該係数データを前記係数バッファに格納させる係数計算モジュールと、
    前記2つの画像における表示優先度が高い方の画像である上位面又は前記下位面を前記フレームバッファに描画するときに、描画データ、描画済みデータ及び前記係数バッファに格納されているデータを用いて前記ピクセル演算を行うと共に、該上位面のスプライトを前記フレームバッファに描画した後に、該下位面のスプライトを該フレームバッファに描画するピクセル演算モジュールとを有することを特徴とする画像処理装置。
  3. 表示画像の各画素に対応させて設定されている係数データであると共に、各画素位置の透過度情報を示す係数データであるα係数を格納するα係数バッファを用いて、前記表示画像をフレームバッファに一旦保持させて表示手段に表示させる画像処理方法であって、
    前記α係数を使って2つの画像を半透明合成する処理であるαブレンディング実行時は、該2つの画像における表示優先度が低い方の画像である下位面に対するα係数を計算し、該α係数を前記α係数バッファに格納し、
    前記2つの画像における表示優先度が高い方の画像である上位面又は前記下位面を前記フレームバッファに描画するときは、描画データ、描画済みデータ及び前記α係数バッファに格納されているデータを用いてαブレンディングを行うと共に、該上位面のスプライトを前記フレームバッファに描画した後に、該下位面のスプライトを該フレームバッファに描画することを特徴とする画像処理方法。
  4. 表示画像の各画素に対応させて設定されている係数データであると共に、2つの画像を重ねてなる合成画像の各画素データを算出するピクセル演算に用いる係数データを格納する係数バッファを用いて、前記表示画像をフレームバッファに一旦保持させて表示手段に表示させる画像処理方法であって、
    前記合成画像を算出するときに、前記2つの画像における表示優先度が低い方の画像である下位面に対する前記係数データを計算し、該係数データを前記係数バッファに格納し、
    前記2つの画像における表示優先度が高い方の画像である上位面又は前記下位面を前記フレームバッファに描画するときは、描画データ、描画済みデータ及び前記係数バッファに格納されているデータを用いて前記ピクセル演算を行うと共に、該上位面のスプライトを前記フレームバッファに描画した後に、該下位面のスプライトを該フレームバッファに描画することを特徴とする画像処理方法。
JP2003305273A 2003-08-28 2003-08-28 画像処理装置および画像処理方法 Pending JP2005077522A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003305273A JP2005077522A (ja) 2003-08-28 2003-08-28 画像処理装置および画像処理方法
US10/927,558 US20050046635A1 (en) 2003-08-28 2004-08-26 Apparatus and method for processing images and drawing sprites in priority order by alfa blending on display screen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003305273A JP2005077522A (ja) 2003-08-28 2003-08-28 画像処理装置および画像処理方法

Publications (2)

Publication Number Publication Date
JP2005077522A true JP2005077522A (ja) 2005-03-24
JP2005077522A5 JP2005077522A5 (ja) 2005-11-04

Family

ID=34214052

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003305273A Pending JP2005077522A (ja) 2003-08-28 2003-08-28 画像処理装置および画像処理方法

Country Status (2)

Country Link
US (1) US20050046635A1 (ja)
JP (1) JP2005077522A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007226444A (ja) * 2006-02-22 2007-09-06 Nec Electronics Corp 画像合成装置及びその画像合成方法
JP2010039139A (ja) * 2008-08-04 2010-02-18 Toshiba Corp 携帯端末
JP2010514012A (ja) * 2006-12-15 2010-04-30 クゥアルコム・インコーポレイテッド ポストレンダー・グラフィックス透明度
JP2011033651A (ja) * 2009-07-29 2011-02-17 Yamaha Corp 画像処理装置
JP5384713B1 (ja) * 2012-10-29 2014-01-08 株式会社藤商事 遊技機
WO2014097482A1 (ja) * 2012-12-21 2014-06-26 三菱電機株式会社 ピクセル合成装置
US9305251B2 (en) 2012-12-04 2016-04-05 Konica Minolta, Inc. Image processing apparatus and computer readable storage medium stored with control program of image processing apparatus
JP2018005226A (ja) * 2016-07-05 2018-01-11 ユビタス インコーポレイテッドUbitus Inc. Vramでマルチソースメディアをオーバーレイするシステム及び方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060268014A1 (en) * 2005-05-27 2006-11-30 Jiliang Song System and method for efficiently supporting image deformation procedures in an electronic device
US20100225667A1 (en) * 2006-01-31 2010-09-09 Nec Corporation Content Display Method Content Display Device and Program
JP2008244981A (ja) * 2007-03-28 2008-10-09 Seiko Epson Corp 映像合成装置および映像出力装置
KR101769150B1 (ko) 2010-11-08 2017-08-17 삼성전자주식회사 휴대단말기에서 미디어 데이터베이스를 갱신하는 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5625764A (en) * 1993-03-16 1997-04-29 Matsushita Electric Industrial Co., Ltd. Weighted average circuit using digit shifting
JP4399910B2 (ja) * 1998-09-10 2010-01-20 株式会社セガ ブレンディング処理を含む画像処理装置及びその方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007226444A (ja) * 2006-02-22 2007-09-06 Nec Electronics Corp 画像合成装置及びその画像合成方法
JP2010514012A (ja) * 2006-12-15 2010-04-30 クゥアルコム・インコーポレイテッド ポストレンダー・グラフィックス透明度
JP2010039139A (ja) * 2008-08-04 2010-02-18 Toshiba Corp 携帯端末
JP2011033651A (ja) * 2009-07-29 2011-02-17 Yamaha Corp 画像処理装置
JP5384713B1 (ja) * 2012-10-29 2014-01-08 株式会社藤商事 遊技機
JP2014087402A (ja) * 2012-10-29 2014-05-15 Fujishoji Co Ltd 遊技機
US9305251B2 (en) 2012-12-04 2016-04-05 Konica Minolta, Inc. Image processing apparatus and computer readable storage medium stored with control program of image processing apparatus
WO2014097482A1 (ja) * 2012-12-21 2014-06-26 三菱電機株式会社 ピクセル合成装置
JP2018005226A (ja) * 2016-07-05 2018-01-11 ユビタス インコーポレイテッドUbitus Inc. Vramでマルチソースメディアをオーバーレイするシステム及び方法

Also Published As

Publication number Publication date
US20050046635A1 (en) 2005-03-03

Similar Documents

Publication Publication Date Title
JPH05307610A (ja) テクスチャマッピング方法およびその装置
US7554554B2 (en) Rendering apparatus
JP2005077522A (ja) 画像処理装置および画像処理方法
JP3770121B2 (ja) 画像処理装置
JP5515487B2 (ja) 画像処理装置
JP2001209789A (ja) グラフィックアクセラレータおよび描画方法
JP2012032456A (ja) 画像処理装置
JP2003051023A (ja) 描画装置、描画方法、描画プログラム、及び描画プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2003308537A (ja) 図形描画装置
JP3481913B2 (ja) 画像処理装置
JPH10247241A (ja) 畳み込み走査ラインレンダリング
JP3910259B2 (ja) 画像処理装置および方法、並びにレンダリング装置および方法
JPH09319892A (ja) 画像処理装置及びその処理方法
JP2004213464A (ja) 画像処理装置
JP3556517B2 (ja) 3次元画像処理装置
JP3872056B2 (ja) 描画方法
JPH08286658A (ja) 解像度変換装置および解像度変換方法
JP3652586B2 (ja) 画像描画システム
JP3971448B2 (ja) 描画装置及び描画方法
JP2989627B2 (ja) 動画表示装置
JP4194605B2 (ja) 画像処理装置および方法、並びにレンダリング装置および方法
JPH041356B2 (ja)
JP4563070B2 (ja) ゲーム装置及びゲームプログラム
JPH08129368A (ja) グラフィックスサブシステムおよびその制御方法
JPH1139473A (ja) 画像処理装置、画像処理方法及びこれを用いたゲーム装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060228

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060704