(57)【要約】  【課題】  異なる解像度の画像データを合成でき、かつ、合成の順番が予め定められている場合であっても、合成の順番に関係なく、複数の画像データを所望の表示優先順位にて合成できる画像合成装置及びピクセルミキサを提供する。  【解決手段】選択ピクセル決定回路１１０は、２つのピクセルデータに含まれるデプスＺｃ及びＺｂのうち、ピクセルが前面側に位置することを示すデプスを含むピクセルデータを選択する。ただし、ピクセルが透明であることを示す色相を持つピクセルデータは選択されず他のピクセルデータが選択される。マルチプレクサ１１２〜１１６は選択ピクセル決定回路１１０が選択したピクセルデータ（色相Ｈｍ／色飽和度Ｓｍ／明度Ｌｍ）を出力する。マルチプレクサ１１２〜１１６には、異なる出力レートでピクセルデータが入力されるので解像度の異なる画像を合成できる。【選択図】  図１
2011060304.tif 000002
【特許請求の範囲】
【請求項１】
表示画面においてピクセルの幅の異なる複数の画像を前記表示画面上で合成する画像合成装置であって、
各々が、設定された出力レートで、対応する前記画像の色情報とデプス情報とを含むピクセルデータを出力する複数のピクセル出力手段と、
前記複数のピクセル出力手段から出力された複数の前記ピクセルデータを入力とし、入力された前記複数のピクセルデータに含まれる複数の前記デプス情報のうち、ピクセルが最も前面側に位置することを示す前記デプス情報を含む前記ピクセルデータに含まれる色情報を出力するピクセルミキサと、を備え、
前記デプス情報は、対応する前記画像の前記表示画面におけるピクセルの奥行きを表す情報であり、
前記色情報は、対応する前記画像を構成するピクセルの色を表す情報であり、
少なくとも２つの前記ピクセル出力手段の前記出力レートは互いに異なる値に設定され、
前記出力レートは、１ピクセル分のデータ出力期間である、画像合成装置。
【請求項２】
表示画面においてピクセルの幅の異なる複数の画像を前記表示画面上で合成する画像合成装置であって、
各々が、設定された出力レートで、対応する前記画像の色情報とデプス情報とを含むピクセルデータを出力する複数のピクセル出力手段と、
前記複数のピクセル出力手段から出力された複数の前記ピクセルデータを入力とし、入力された前記複数のピクセルデータに含まれる複数の前記デプス情報のうち、ピクセルが最も前面側に位置することを示す前記デプス情報を含む前記ピクセルデータに含まれる色情報を出力するピクセルミキサと、を備え、
前記デプス情報は、対応する前記画像の前記表示画面におけるピクセルの奥行きを表す情報であり、
前記色情報は、対応する前記画像を構成するピクセルの色を表す情報であり、
少なくとも１つの前記ピクセル出力手段は、外部装置から書き換え可能な、前記出力レートを設定する記憶手段を含み、
前記出力レートは、１ピクセル分のデータ出力期間である、画像合成装置。
【請求項３】
前記ピクセルミキサは、入力された前記ピクセルデータに含まれる前記色情報が、ピクセルが透明であることを示している場合は、そのピクセルデータに含まれる前記デプス情報の如何に関係なく、その色情報を出力せず、非透明の色を示す前記色情報を含む前記ピクセルデータの前記デプス情報のうち、ピクセルが最も前面側に位置することを示す前記デプス情報を含む前記ピクセルデータの前記色情報を出力する、請求項１又は２に記載の画像合成装置。
【請求項４】
第１のカウンタを含み、前記第１のカウンタのカウント値により第１の走査位置を示す第１の走査カウント情報を生成するタイミングジェネレータと、
第２のカウンタを含み、前記第２のカウンタのカウント値により第２の走査位置を示す第２の走査カウント情報を生成し、前記第１の走査カウント情報が示す前記カウント値が、オフセット値に一致したときに、前記第２のカウンタを初期化するビデオポジションアジャスタと、をさらに備え、
前記複数のピクセル出力手段のうち、少なくとも一つの前記ピクセル出力手段は、前記第１の走査カウント情報に従った出力タイミングで、前記ピクセルデータを設定された前記出力レートで出力し、他の前記ピクセル出力手段は、前記第２の走査カウント情報に従った出力タイミングで、前記ピクセルデータを設定された前記出力レートで出力する、請求項１から３のいずれかに記載の画像合成装置。
【請求項５】
第１のカウンタ及び第２のカウンタを含み、前記第１のカウンタのカウント値により第１の水平走査位置を示す第１の水平走査カウント情報を生成し、かつ、前記第１の水平走査カウント情報に基づき動作する前記第２のカウンタのカウント値により第１の垂直走査位置を示す第１の垂直走査カウント情報を生成するタイミングジェネレータと、
第３のカウンタ及び第４のカウンタを含み、前記第３のカウンタのカウント値により第２の水平走査位置を示す第２の水平走査カウント情報を生成し、前記第１の水平走査カウント情報が示すカウント値が、水平オフセット値に一致したときに、前記第３のカウンタを初期化し、かつ、前記第４のカウンタのカウント値により第２の垂直走査位置を示す第２の垂直走査カウント情報を生成し、前記第１の垂直走査カウント情報が示すカウント値が、垂直オフセット値に一致したときに、前記第４のカウンタを初期化するビデオポジションアジャスタと、をさらに備え、
前記複数のピクセル出力手段のうち、少なくとも一つの前記ピクセル出力手段は、前記第１の水平走査カウント情報及び前記第１の垂直走査カウント情報に従った出力タイミングで、前記ピクセルデータを設定された前記出力レートで出力し、他の前記ピクセル出力手段は、前記第２の垂直走査カウント情報に従った出力タイミングで、前記ピクセルデータを設定された前記出力レートで出力する、請求項１から３のいずれかに記載の画像合成装置。
【請求項６】
第１のカウンタを含み、前記第１のカウンタのカウント値により第１の走査位置を示す第１の走査カウント情報を生成するタイミングジェネレータと、
第２のカウンタを含み、前記第２のカウンタのカウント値により第２の走査位置を示す第２の走査カウント情報を生成し、前記第１の走査カウント情報が示す前記カウント値が、オフセット値に一致したときに、前記第２のカウンタを初期化するビデオポジションアジャスタと、をさらに備え、
前記複数のピクセル出力手段のうち、少なくとも一つの前記ピクセル出力手段は、ピクセルの前記色情報を特定する色番号を前記第１の走査カウント情報に従って第１のメモリ領域から読み出し、その色番号を前記色情報に変換して、前記デプス情報とともに、前記ピクセルデータとして、前記出力レートで出力し、他の前記ピクセル出力手段は、ピクセルの前記色情報を特定する色番号を前記第２の走査カウント情報に従って第２のメモリ領域から読み出し、その色番号を前記色情報に変換して、前記デプス情報とともに、前記ピクセルデータとして、設定された前記出力レートで出力する、請求項１から３のいずれかに記載の画像合成装置。
【請求項７】
第１のカウンタ及び第２のカウンタを含み、前記第１のカウンタのカウント値により第１の水平走査位置を示す第１の水平走査カウント情報を生成し、かつ、前記第１の水平走査カウント情報に基づき動作する前記第２のカウンタのカウント値により第１の垂直走査位置を示す第１の垂直走査カウント情報を生成するタイミングジェネレータと、
第３のカウンタ及び第４のカウンタを含み、前記第３のカウンタのカウント値により第２の水平走査位置を示す第２の水平走査カウント情報を生成し、前記第１の水平走査カウント情報が示すカウント値が、設定された水平オフセット値に一致したときに、前記第３のカウンタを初期化し、かつ、前記第４のカウンタのカウント値により第２の垂直走査位置を示す第２の垂直走査カウント情報を生成し、前記第１の垂直走査カウント情報が示すカウント値が、設定された垂直オフセット値に一致したときに、前記第４のカウンタを初期化するビデオポジションアジャスタと、をさらに備え、
前記複数のピクセル出力手段のうち、少なくとも一つの前記ピクセル出力手段は、ピクセルの前記色情報を特定する色番号を前記第１の水平走査カウント情報及び前記第１の垂直走査カウント情報に従って第１のメモリ領域から読み出し、その色番号を前記色情報に変換して、前記デプス情報とともに、前記ピクセルデータとして、設定された前記出力レートで出力し、他の前記ピクセル出力手段は、ピクセルの前記色情報を特定する色番号を前記第２の水平走査カウント情報及び前記第２の垂直走査カウント情報に従って第２のメモリ領域から読み出し、その色番号を前記色情報に変換して、前記デプス情報とともに、前記ピクセルデータとして、設定された前記出力レートで出力する、請求項１から３のいずれかに記載の画像合成装置。
【請求項８】
前記複数のピクセル出力手段に対応して設けられ、各々が、複数の色番号に関連付けられた複数の色情報を格納する複数のカラーパレットをさらに備え、
前記ピクセル出力手段は、走査位置情報に基づいて、前記色番号をメモリから読み出し、読み出した前記色番号に関連付けられた前記色情報を、対応する前記カラーパレットから取得して、取得した前記色情報を前記デプス情報とともに、前記ピクセルデータとして、設定された前記出力レートで、前記ピクセルミキサに出力する、請求項１から７のいずれかに記載の画像合成装置。
【請求項９】
前記ピクセル出力手段は、
前記表示画面上での前記画像の水平位置を調整するための値を設定する第１のレジスタと、
水平方向のピクセル解像度を設定する第２のレジスタと、
前記第２のレジスタに設定された前記ピクセル解像度に応じた周波数のピクセルクロック信号を生成するピクセルクロック生成回路と、
前記ピクセルクロック信号の周期でカウントを実行し、そのカウント値により、前記表示画面上の前記画像の水平位置を規定する水平カウンタと、を含み、
前記水平カウンタは、前記第１の水平走査カウント情報が示す前記カウント値が、前記第１のレジスタに設定された前記値に一致したときに、初期化される、請求項５記載の画像合成装置。
【請求項１０】
前記ピクセル出力手段は、
前記表示画面上での前記画像の水平位置を調整するための値を設定する第１のレジスタと、
水平方向のピクセル解像度を設定する第２のレジスタと、
前記第２のレジスタに設定された前記ピクセル解像度に応じた周波数のピクセルクロック信号を生成するピクセルクロック生成回路と、
前記ピクセルクロック信号の周期でカウントを実行し、そのカウント値により、前記表示画面上の前記画像の水平位置を規定する水平カウンタと、を含み、
前記水平カウンタは、前記第１の水平走査カウント情報が示す前記カウント値が、前記第１のレジスタに設定された前記値に一致したときに、初期化される、請求項７記載の画像合成装置。
【請求項１１】
少なくとも１つの前記ピクセル出力手段は、１ワードがＮビット（Ｎは２以上の整数）からなるメモリからワード単位でデータを読み出し、読み出したデータから、１ピクセル当りＭビット（Ｍは１以上の整数）からなり前記メモリ内に隙間無く並べられた、１ピクセルの前記色情報を特定する色番号をピクセル単位で抽出し、抽出した前記色番号を前記色情報に変換して、前記デプス情報とともに、前記ピクセルミキサへ前記出力レートで出力する、請求項１から１０のいずれかに記載の画像合成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像データを表示画面上でリアルタイムに合成する画像合成装置及びピクセルミキサに関する。
【背景技術】
【０００２】
図１８は、特開平７−１０４７３３号公報の図１１に開示されている従来の画像処理装置の説明図である。図１８に示すように、外部装置５５０は、画像データ５９０、画像データ５９０が外部装置５６０の画像データ６２０に対し上の面か下の面かを示す優先順位情報６００、及び画像データ５９０の各画素が透明か非透明かを示す情報６１０を出力する。一方、外部装置５６０は、画像データ６２０、及び画像データ６２０の各画素が透明か非透明を示す情報６３０を出力する。
【０００３】
表示画像データ決定回路５８０は、優先順位情報６００並びに透明か非透明かの情報６１０及び６３０に基づいて、画像データ５９０及び６２０のうち、どちらの画像データを選択するかを、１画素ごとに決定する。そして、セレクタ５７０は、入力される画像データ５９０及び６２０から、表示画像データ決定回路５８０が決定した画像データを選択して出力する。これにより、リアルタイムで画像データを合成し出力できる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−１０４７３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の画像処理装置では、異なる解像度の画像データを合成することができない。また、画像の表示優先順位の設定は画像合成の順序に左右され、自由な表示優先順位の設定ができない。この点を詳しく述べると、以下の通りとなる。
【０００６】
上記の画像処理装置を例に挙げると、上記と同様の構成を複数用意すれば、より多くの画像データの合成が可能となる。ここで、第１の画像データと第２の画像データとを合成した合成画像データに対して、さらに、第３の画像データを合成する場合を考える。この場合、第１の画像データと第２の画像データとの合成画像データは、結果だけを見れば、１つの画像データに過ぎない。従って、この合成画像データを第３の画像データと合成する場合は、２つの画像データを合成する場合と全く同じであり、３つの画像データの合成ではない。それ故、このような合成の場合、例えば、第１の画像データが後面に、第２の画像データが前面に、第３の画像データが中間になるような合成を行うことができない。なぜなら、合成の順番が予め定められているからである。
【０００７】
そこで、本発明の目的は、異なる解像度の画像データを合成でき、かつ、合成の順番が予め定められている場合であっても、合成の順番に関係なく、複数の画像データを所望の表示優先順位にて合成できる画像合成装置及びピクセルミキサを提供することである。
【課題を解決するための手段】
【０００８】
本発明の第１の形態によると、画像合成装置は、表示画面においてピクセルの幅の異なる複数の画像を前記表示画面上で合成する画像合成装置であって、各々が、設定された出力レートで、対応する前記画像の色情報とデプス情報とを含むピクセルデータを出力する複数のピクセル出力手段と、前記複数のピクセル出力手段から出力された複数の前記ピクセルデータを入力とし、入力された前記複数のピクセルデータに含まれる複数の前記デプス情報のうち、ピクセルが最も前面側に位置することを示す前記デプス情報を含む前記ピクセルデータに含まれる色情報を出力するピクセルミキサと、を備え、前記デプス情報は、対応する前記画像の前記表示画面におけるピクセルの奥行きを表す情報であり、前記色情報は、対応する前記画像を構成するピクセルの色を表す情報であり、少なくとも２つの前記ピクセル出力手段の前記出力レートは互いに異なる値に設定される。
【０００９】
この構成によれば、ピクセルミキサは、各ピクセル出力手段が出力するピクセルのデプス情報に従って、出力するピクセルの色情報を決定し、複数の画像を合成する。この場合、ピクセルミキサには、各ピクセル出力手段から異なる出力レートでピクセルデータが入力されるので、ピクセル幅の異なる画像、つまり、解像度の異なる画像を合成できる。
【００１０】
また、各ピクセル出力手段が出力するピクセルデータには、デプス情報が含まれる。つまり、合成対象の複数の画像の各々において、ピクセルごとにデプス情報が付随している。そして、ピクセルミキサでは、ピクセルが重なる場合、各ピクセルのデプス情報に基づいて、ピクセルの取捨選択が行われる。このため、合成対象の画像単位で、前面か後面かが決定されるのではない。つまり、合成対象の複数の画像のピクセル単位で、前面か後面かが決定される。
【００１１】
従って、合成対象の画像の第１領域の後面であって、第２領域の前面に、合成対象の別の画像を配置するように合成できる。このように、合成対象の画像全体での表示優先順位の設定だけでなく、画像を構成する部分毎での表示優先順位の設定が可能である。
【００１２】
さらに、デプス情報に基づく画像合成を行った合成画像を他の画像と合成する場合においても、その合成画像がピクセル毎のデプス情報を保持しているので、合成の順番に関係なく、複数の画像を所望の表示優先順位にて合成できる。
【００１３】
本発明の第２の形態によると、画像合成装置は、表示画面においてピクセルの幅の異なる複数の画像を前記表示画面上で合成する画像合成装置であって、各々が、設定された出力レートで、対応する前記画像の色情報とデプス情報とを含むピクセルデータを出力する複数のピクセル出力手段と、前記複数のピクセル出力手段から出力された複数の前記ピクセルデータを入力とし、入力された前記複数のピクセルデータに含まれる複数の前記デプス情報のうち、ピクセルが最も前面側に位置することを示す前記デプス情報を含む前記ピクセルデータに含まれる色情報を出力するピクセルミキサと、を備え、前記デプス情報は、対応する前記画像の前記表示画面におけるピクセルの奥行きを表す情報であり、前記色情報は、対応する前記画像を構成するピクセルの色を表す情報であり、少なくとも１つの前記ピクセル出力手段は、外部装置から書き換え可能な、前記出力レートを設定する記憶手段を含む。
【００１４】
この構成によれば、ピクセル出力手段の出力レートを任意に設定でき、他のピクセル出力手段の出力レートと異ならせることもできる。ピクセルミキサは、各ピクセル出力手段が出力するピクセルのデプス情報に従って、出力するピクセルの色情報を決定し、複数の画像を合成する。この場合、ピクセルミキサに、各ピクセル出力手段から異なる出力レートでピクセルデータを入力できるので、ピクセル幅の異なる画像、つまり、解像度の異なる画像を合成できる。
【００１５】
また、本発明の第１の形態による画像合成装置と同様に、合成対象の画像全体での表示優先順位の設定だけでなく、画像を構成する部分毎での表示優先順位の設定が可能である。
【００１６】
さらに、本発明の第１の形態による画像合成装置と同様に、画像合成の順番が固定であっても、合成の順番に関係なく、複数の画像を所望の表示優先順位にて合成できる。
【００１７】
上記本発明の第１及び第２の形態による画像合成装置において、前記ピクセルミキサは、入力された前記ピクセルデータに含まれる前記色情報が、ピクセルが透明であることを示している場合は、そのピクセルデータに含まれる前記デプス情報の如何に関係なく、その色情報を出力せず、非透明の色を示す前記色情報を含む前記ピクセルデータの前記デプス情報のうち、ピクセルが最も前面側に位置することを示す前記デプス情報を含む前記ピクセルデータの前記色情報を出力する。
【００１８】
この構成によれば、ピクセルが透明の場合、常に選択／出力されないため、デプス情報に基づいて、取捨選択を行う場合でも、最も前面だからといって、透明のピクセルが選択／出力されることはなく、表示を意図する適切なピクセルの選択／出力が可能になる。
【００１９】
上記本発明の第１及び第２の形態による画像合成装置は、第１のカウンタを含み、前記第１のカウンタのカウント値により第１の走査位置を示す第１の走査カウント情報を生成するタイミングジェネレータと、第２のカウンタを含み、前記第２のカウンタのカウント値により第２の走査位置を示す第２の走査カウント情報を生成し、前記第１の走査カウント情報が示す前記カウント値が、オフセット値に一致したときに、前記第２のカウンタを初期化するビデオポジションアジャスタと、をさらに備え、前記複数のピクセル出力手段のうち、少なくとも一つの前記ピクセル出力手段は、前記第１の走査カウント情報に従った出力タイミングで、前記ピクセルデータを設定された前記出力レートで出力し、他の前記ピクセル出力手段は、前記第２の走査カウント情報に従った出力タイミングで、前記ピクセルデータを設定された前記出力レートで出力する。
【００２０】
この構成によれば、オフセット値を調整することで、第２の走査カウント情報に従って出力される画像の表示画面上の位置を任意に調整できる。また、第１の走査カウント情報に従って出力される画像と、第２の走査カウント情報に従って出力される画像との相対的な表示位置を調整できる。
【００２１】
上記本発明の第１及び第２の形態による画像合成装置は、第１のカウンタ及び第２のカウンタを含み、前記第１のカウンタのカウント値により第１の水平走査位置を示す第１の水平走査カウント情報を生成し、かつ、前記第１の水平走査カウント情報に基づき動作する前記第２のカウンタのカウント値により第１の垂直走査位置を示す第１の垂直走査カウント情報を生成するタイミングジェネレータと、第３のカウンタ及び第４のカウンタを含み、前記第３のカウンタのカウント値により第２の水平走査位置を示す第２の水平走査カウント情報を生成し、前記第１の水平走査カウント情報が示すカウント値が、水平オフセット値に一致したときに、前記第３のカウンタを初期化し、かつ、前記第４のカウンタのカウント値により第２の垂直走査位置を示す第２の垂直走査カウント情報を生成し、前記第１の垂直走査カウント情報が示すカウント値が、垂直オフセット値に一致したときに、前記第４のカウンタを初期化するビデオポジションアジャスタと、をさらに備え、前記複数のピクセル出力手段のうち、少なくとも一つの前記ピクセル出力手段は、前記第１の水平走査カウント情報及び前記第１の垂直走査カウント情報に従った出力タイミングで、前記ピクセルデータを設定された前記出力レートで出力し、他の前記ピクセル出力手段は、前記第２の垂直走査カウント情報に従った出力タイミングで、前記ピクセルデータを設定された前記出力レートで出力する。
【００２２】
この構成によれば、水平オフセット値及び垂直オフセット値を調整することで、第２の水平走査カウント情報及び第２の垂直走査カウント情報に従って出力される画像の表示画面上の位置を任意に調整できる。また、第１の水平走査カウント情報及び第１の垂直走査カウント情報に従って出力される画像と、第２の水平走査カウント情報及び第２の垂直走査カウント情報に従って出力される画像との相対的な表示位置を調整できる。
【００２３】
上記本発明の第１及び第２の形態による画像合成装置は、第１のカウンタを含み、前記第１のカウンタのカウント値により第１の走査位置を示す第１の走査カウント情報を生成するタイミングジェネレータと、第２のカウンタを含み、前記第２のカウンタのカウント値により第２の走査位置を示す第２の走査カウント情報を生成し、前記第１の走査カウント情報が示す前記カウント値が、オフセット値に一致したときに、前記第２のカウンタを初期化するビデオポジションアジャスタと、をさらに備え、前記複数のピクセル出力手段のうち、少なくとも一つの前記ピクセル出力手段は、ピクセルの前記色情報を特定する色番号を前記第１の走査カウント情報に従って第１のメモリ領域から読み出し、その色番号を前記色情報に変換して、前記デプス情報とともに、前記ピクセルデータとして、前記出力レートで出力し、他の前記ピクセル出力手段は、ピクセルの前記色情報を特定する色番号を前記第２の走査カウント情報に従って第２のメモリ領域から読み出し、その色番号を前記色情報に変換して、前記デプス情報とともに、前記ピクセルデータとして、設定された前記出力レートで出力する。
【００２４】
この構成によれば、オフセット値を調整することで、第２の走査カウント情報に従って第２のメモリ領域から読み出される色番号により構成される画像の表示画面上の位置を任意に調整できる。また、第１の走査カウント情報に従って第１のメモリ領域から読み出される色番号により構成される画像と、第２の走査カウント情報に従って第２のメモリ領域から読み出される色番号により構成される画像との相対的な表示位置を調整できる。
【００２５】
上記本発明の第１及び第２の形態による画像合成装置は、第１のカウンタ及び第２のカウンタを含み、前記第１のカウンタのカウント値により第１の水平走査位置を示す第１の水平走査カウント情報を生成し、かつ、前記第１の水平走査カウント情報に基づき動作する前記第２のカウンタのカウント値により第１の垂直走査位置を示す第１の垂直走査カウント情報を生成するタイミングジェネレータと、第３のカウンタ及び第４のカウンタを含み、前記第３のカウンタのカウント値により第２の水平走査位置を示す第２の水平走査カウント情報を生成し、前記第１の水平走査カウント情報が示すカウント値が、設定された水平オフセット値に一致したときに、前記第３のカウンタを初期化し、かつ、前記第４のカウンタのカウント値により第２の垂直走査位置を示す第２の垂直走査カウント情報を生成し、前記第１の垂直走査カウント情報が示すカウント値が、設定された垂直オフセット値に一致したときに、前記第４のカウンタを初期化するビデオポジションアジャスタと、をさらに備え、前記複数のピクセル出力手段のうち、第１の所定数の前記ピクセル出力手段は、ピクセルの前記色情報を特定する色番号を前記第１の水平走査カウント情報及び前記第１の垂直走査カウント情報に従って第１のメモリ領域から読み出し、その色番号を前記色情報に変換して、前記デプス情報とともに、前記ピクセルデータとして、設定された前記出力レートで出力し、前記第１の所定数の前記ピクセル出力手段を除く第２の所定数の前記ピクセル出力手段は、ピクセルの前記色情報を特定する色番号を前記第２の水平走査カウント情報及び前記第２の垂直走査カウント情報に従って第２のメモリ領域から読み出し、その色番号を前記色情報に変換して、前記デプス情報とともに、前記ピクセルデータとして、設定された前記出力レートで出力する。
【００２６】
この構成によれば、水平オフセット値及び垂直オフセット値を調整することで、第２の水平走査カウント情報及び第２の垂直走査カウント情報に従って第２のメモリ領域から読み出される色番号により構成される画像の表示画面上の位置を任意に調整できる。また、第１の水平走査カウント情報及び第１の垂直走査カウント情報に従って第１のメモリ領域から読み出される色番号により構成される画像と、第２の水平走査カウント情報及び第２の垂直走査カウント情報に従って第２のメモリ領域から読み出される色番号により構成される画像との相対的な表示位置を調整できる。
【００２７】
上記本発明の第１及び第２の形態による画像合成装置は、前記複数のピクセル出力手段に対応して設けられ、各々が、複数の色番号に関連付けられた複数の色情報を格納する複数のカラーパレットをさらに備え、前記ピクセル出力手段は、走査位置情報に基づいて、前記色番号をメモリから読み出し、読み出した前記色番号に関連付けられた前記色情報を、対応する前記カラーパレットから取得して、取得した前記色情報を前記デプス情報とともに、前記ピクセルデータとして、設定された前記出力レートで、前記ピクセルミキサに出力する。
【００２８】
この構成によれば、ピクセル出力手段ごと、つまり、合成対象の画像ごとに、カラーパレットが用意される。一般的に色番号は色情報に比べてビット数が少ないので、色番号を色情報に変換するカラーパレットを備えるシステムにおいては、メモリに格納される画像データのサイズが小さくなるというメリットがある反面、同時に発色可能な色の通り数が少なくなるというデメリットがある。しかしながら、この構成による画像合成装置は、ピクセル出力手段毎に独立したカラーパレットを有するので、画像データのサイズを大きくせずに、同時発色可能な色の通り数が増えるので、より豊かな色表現が可能になる。
【００２９】
上記画像合成装置において、前記ピクセル出力手段は、前記表示画面上での前記画像の水平位置を調整するための値を設定する第１のレジスタと、水平方向のピクセル解像度を設定する第２のレジスタと、前記第２のレジスタに設定された前記ピクセル解像度に応じた周波数のピクセルクロック信号を生成するピクセルクロック生成回路と、前記ピクセルクロック信号の周期でカウントを実行し、そのカウント値により、前記表示画面上の前記画像の水平位置を規定する水平カウンタと、を含み、前記水平カウンタは、前記第１の水平走査カウント情報が示す前記カウント値が、前記第１のレジスタに設定された前記値に一致したときに、初期化される。
【００３０】
この構成によれば、合成対象の画像の水平位置を規定する水平カウンタが、第１のレジスタに設定された水平位置調整値に応じて初期化されるため、水平位置調整値を所望の値に設定することで、当該画像の水平位置を微調整できる。
【００３１】
上記本発明の第１及び第２の形態による画像合成装置において、少なくとも１つの前記ピクセル出力手段は、１ワードがＮビット（Ｎは２以上の整数）からなるメモリからワード単位でデータを読み出し、読み出したデータから、１ピクセル当りＭビット（Ｍは１以上の整数）からなり前記メモリ内に隙間無く並べられた、１ピクセルの前記色情報を特定する色番号をピクセル単位で抽出し、抽出した前記色番号を前記色情報に変換して、前記デプス情報とともに、前記ピクセルミキサへ前記出力レートで出力する。
【００３２】
ピクセル出力手段が、メモリから読み出したデータから１ピクセルのデータを抽出するので、データをメモリに格納する際に、１ピクセルのビット数（カラーモード）に関係なく、メモリの各ワード内に隙間なくデータを敷き詰めることができる。つまり、Ｎ／ＭおよびＭ／Ｎが整数か否かに関係なく、メモリの各ワード内に隙間なくデータを敷き詰めることができる。このため、メモリ領域の節約及び効率的な利用が可能となる。
【００３３】
本発明の第３の形態によると、ピクセルミキサは、夫々ピクセル値とデプス値で表現されるピクセルを複数個持つ複数の画像を合成するピクセルミキサであって、前記複数の画像の少なくとも２つは、異なる解像度を有し、前記ピクセルミキサは、夫々の解像度に応じた入力周期に従って、少なくとも２つの画像については異なる入力周期で、前記複数の画像のデプス値を順次並行して入力し、少なくとも１つのデプス値が変化する毎に、前記複数の画像の現在入力しているピクセルのデプス値を比較して、現在同時に入力中のピクセルの何れが最前面であるかを決定し、この決定された現在入力中の最前面のピクセルを示す選択信号を出力する選択ピクセル決定回路と、前記選択ピクセル決定回路に接続され、前記選択ピクセル決定回路へのデプス値の入力と同期して、前記選択信号と前記複数の画像のピクセル値を順次並行して入力し、前記選択信号に基づいて、現在同時に入力中の前記ピクセル値の１つを選択し、選択されたピクセル値を出力する選択回路とを備える。
【００３４】
この構成によるピクセルミキサを用いれば、異なる解像度の画像であっても、表示画面上に同時に表示する画像合成装置を容易に構成することが出来る。
【図面の簡単な説明】
【００３５】
付随する図面を使用した好ましい実施例の下記説明を参照することによって、本発明の前述の及び他の特徴と目的並びにそれらの達成方法は、より明らかになり、そして、その発明そのものも、最も良く理解できるであろう。
【００３６】
【図１】図１は、本発明の実施の形態によるデータ処理装置としてのプロセッサ１０００の全体構成を示すブロック図である。
【図２】図２Ａは、図１のプロセッサ１０００による画像合成の概念図である。図２Ｂは、図１のプロセッサ１０００による合成画像の例示図である。
【図３】図３は、図１のプロセッサ１０００が生成するビットマップスクリーンの説明図である。
【図４】図４は、本実施の形態によるビットマップスクリーンＢＳの水平位置微調整の説明図である。
【図５】図５Ａは、図３の表示対象領域ＤＡを、水平解像度８クロック／ピクセルで表示したときの表示画像の例示図である。図５Ｂは、図３の表示対象領域ＤＡを、水平解像度４クロック／ピクセルで表示したときの表示画像の例示図である。
【図６】図６は、本実施の形態によるビットマップスクリーンＢＳを構成するビットマップデータを取得する際のアドレスの設定方法の説明図である。
【図７】図７は、図１のプロセッサ１０００によるキャラクタスクリーンの表示位置調整機能の説明図である。
【図８】図８は、図１のグラフィックスプロセッサ３の内部構成の前段部分を示すブロック図である。
【図９】図９は、図１のグラフィックスプロセッサ３の内部構成の後段部分を示すブロック図である。
【図１０】図１０は、図９のピクセルミキサ９０の内部構成を示すブロック図である。
【図１１】図１１は、図９のピクセルミキサ９０による選択ピクセル決定のための真理値表である。
【図１２】図１２は、図９のピクセルミキサ９０による画像合成の様子の１例を示すタイミングチャート。
【図１３】図１３は、図９のカラーパレットコントローラ８２の内部構成を示すブロック図である。
【図１４】図１４は、図１３のピクセル出力制御回路１４４の動作を説明するためのタイミングチャート。
【図１５】図１５は、図９のビットマップジェネレータ８６の内部構成を示すブロック図である。
【図１６】図１６は、図１５のファネルシフタ２１６及び上位ビットマスク回路２１８の動作説明図である。
【図１７】図１７は、図９のビデオポジションアジャスタ１０２の内部構成を示すブロック図である。
【図１８】図１８は、従来の画像処理装置の説明図である。
【発明を実施するための形態】
【００３７】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、図中、同一または相当部分については同一の参照符号を付してその説明を援用する。また、本明細書及び図面において、信号のどのビットかを示す必要があるときは、信号名の後に、［ａ：ｂ］あるいは［ａ］を付する。［ａ：ｂ］は、その信号の第ａ番目のビットから第ｂ番目のビットを意味し、［ａ］は、その信号の第ａ番目のビットを意味する。１６進数の表現に関しては、１０進数と区別するために数字の末尾に「Ｈ」を付けて表記する。また、「０ｂ」は２進数を、「０ｘ」は１６進数を意味する。
【００３８】
図１は、本発明の実施の形態によるデータ処理装置としてのプロセッサ１０００の全体構成を示すブロック図である。図１に示すように、このプロセッサ１０００は、中央演算処理装置（ＣＰＵ）１、グラフィックスプロセッサ３、ピクセルプロッタ５、サウンドプロセッサ７、ＤＭＡ（ｄｉｒｅｃｔ  ｍｅｍｏｒｙ  ａｃｃｅｓｓ）コントローラ９、第１バスアービタ１３、第２バスアービタ１４、バックアップコントロール回路１５、メインメモリ１７、タイマ回路１９、ＡＤコンバータ（ＡＤＣ）２０、入出力制御回路２１、外部メモリインタフェース回路２３、クロックドライバ２９、ＰＬＬ（ｐｈａｓｅ−ｌｏｃｋｅｄ  ｌｏｏｐ）回路２７、低電圧検出回路２５、第１バス３１、及び第２バス３３を含む。
【００３９】
本実施の形態では、メインメモリ１７及び外部メモリ４５を区別して説明する必要がないときは、「メモリＭＥＭ」と表記する。
【００４０】
ＣＰＵ１は、メモリＭＥＭに格納されたプログラムに従い、各種演算やシステム全体の制御を行う。ＣＰＵ１は、第１バス３１及び第２バス３３のバスマスタであり、それぞれのバスに接続された資源にアクセスが可能である。
【００４１】
グラフィックスプロセッサ３は、第１バス３１及び第２バス３３のバスマスタであり、メモリＭＥＭに格納されたデータをグラフィックデータに変換し、このグラフィックデータを基にテレビジョン受像機（図示せず）に合わせたビデオ信号ＶＤを生成して出力する。
【００４２】
ここで、グラフィックデータは、バックグラウンドスクリーンとスプライトとビットマップスクリーンとから合成される。バックグラウンドスクリーンは、二次元配列からなり、テレビジョン受像機のスクリーンを全て覆う大きさを持つ。そして、各配列要素は、矩形の画素集合からなる。奥行きのある背景を形成できるように、バックグラウンドスクリーンとして、第１のバックグラウンドスクリーンと第２のバックグラウンドスクリーンとが用意される。スプライトは、テレビジョン受像機のスクリーンのいずれの位置にでも配置可能な１つの矩形の画素集合からなる。バックグラウンドスクリーンやスプライトを構成する矩形の画素集合を、キャラクタと呼ぶ。ビットマップスクリーンは自由に大きさと位置を設定可能な二次元ピクセル配列からなる。
【００４３】
また、グラフィックスプロセッサ３は、第１バス３１を通じて、ＣＰＵ１により制御され、また、ＣＰＵ１に対して、割込み要求信号ＩＮＲＱを発生する機能を有する。
【００４４】
ピクセルプロッタ５は、第１バス３１を通じて、ＣＰＵ１により制御され、ＣＰＵ１から与えられたピクセルデータの描画を実行する。この場合、ピクセル単位での描画が可能である。ここで言うピクセルデータは、１ピクセルの表示色をＭビット（Ｍは１以上の整数）で表したデータである。本実施の形態では、Ｍ＝１〜８の例を挙げる。
【００４５】
また、ピクセルプロッタ５は、キャッシュシステムにより、高速な描画と効率的なバス（第１バス３１及び第２バス３３）の使用を実現している。さらに、ピクセルプロッタ５は、第１バス３１及び第２バス３３のバスマスタであり、キャッシュ（図示せず）からメモリＭＥＭへのライト及びメモリＭＥＭからキャッシュへのライトを自律的に行うことができる。
【００４６】
サウンドプロセッサ７は、第１バス３１及び第２バス３３のバスマスタであり、メモリＭＥＭに格納されたデータをサウンドデータに変換し、このサウンドデータを基にオーディオ信号ＡＵを生成して出力する。
【００４７】
サウンドデータは、基本の音色となるＰＣＭ（パルスコードモジュレーション）データに対し、ピッチ変換及び振幅変調を行い合成される。振幅変調では、ＣＰＵ１によって指示されるボリューム制御の他に、楽器の波形を再現するためのエンベロープ制御の機能が用意される。
【００４８】
また、サウンドプロセッサ７は、第１バス３１を通じて、ＣＰＵ１により制御され、また、ＣＰＵ１に対して、割込み要求信号ＩＮＲＱを発生する機能を有する。
【００４９】
ＤＭＡコントローラ９は、外部バス４３に接続された外部メモリ４５から、メインメモリ１７へのデータ転送を司る。外部メモリ４５として、例えば、ＳＲＡＭ（ｓｔａｔｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ＤＲＡＭ（ｄｙｎａｍｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、若しくはＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）等、任意のメモリを用いることができるし、その数も問わない。また、ＤＭＡコントローラ９は、データ転送の完了を通知するために、ＣＰＵ１に対する割込み要求信号ＩＮＲＱを発生する機能を有する。さらに、ＤＭＡコントローラ９は、第１バス３１及び第２バス３３のバスマスタであり、また、第１バス３１を通じてＣＰＵ１により制御される。
【００５０】
メインメモリ１７は、マスクＲＯＭ、ＳＲＡＭ、及び、ＤＲＡＭのうち、必要なものを備える。本実施の形態では、メインメモリ１７をＳＲＡＭで構成する。
【００５１】
バックアップコントロール回路１５は、後述の低電圧検出回路２５が低電圧を検知した場合に、メインメモリ１７を非活性化する。そして、メインメモリ１７には、バッテリ４１から電源電圧が供給される。従って、電源電圧Ｖｃｃ０及びＶｃｃ１の供給が停止された場合でも、ＳＲＡＭたるメインメモリ１７のデータが保持される。
【００５２】
第１バスアービタ１３は、第１バス３１の各バスマスタからの第１バス使用要求信号を受け付け、調停を行って、バスサイクル毎に１つのバスマスタに対して第１バス使用許可信号を発行する。具体的には、複数のバスマスタの第１バス３１に対する優先順位を定めた優先順位情報セットが複数用意され、第１バスアービタ１３は、複数の優先順位情報セットを順次的かつ巡回的に選択して、選択した優先順位情報セットに従って調停を行う。
【００５３】
各バスマスタは、第１バス使用許可信号を受領することによって第１バス３１の使用が許可される。ここで、第１バス使用要求信号及び第１バス使用許可信号は、図１では、第１バス調停信号ＦＡＢとして示されている。
【００５４】
第１バス３１は、例えば、８ビットの第１データバス、１５ビットの第１アドレスバス、及び第１コントロールバスを含む（図示せず）。
【００５５】
第２バスアービタ１４は、第２バス３３の各バスマスタからの第２バス使用要求信号を受け付け、調停を行って、要求されたバイト数に対応する１または複数のバスサイクル毎に１つのバスマスタに第２バス使用許可信号を発行する。具体的には、複数のバスマスタの第２バス３３に対する優先順位を定めた優先順位情報セットが複数用意され、第２バスアービタ１４は、その複数の優先順位情報セットを順次的かつ巡回的に選択して、選択した優先順位情報セットに従って調停を行う。
【００５６】
各バスマスタは、第２バス使用許可信号を受領することによって第２バス３３の使用が許可される。ここで、第２バス使用要求信号及び第２バス使用許可信号は、図１では、第２バス調停信号ＳＡＢとして示されている。
【００５７】
第２バス３３は、例えば、１６ビットの第２データバス、２７ビットの第２アドレスバス、及び第２コントロールバスを含む（図示せず）。
【００５８】
タイマ回路１９は、設定された時間間隔に基づき、ＣＰＵ１に対する割込み要求信号ＩＮＲＱを発生する機能を有する。時間間隔等の設定は、第１バス３１を介してＣＰＵ１によって行われる。
【００５９】
ＡＤＣ２０は、アナログ入力信号をデジタル信号に変換する。このデジタル信号は、第１バス３１を介してＣＰＵ１によってリードされる。また、ＡＤＣ２０は、ＣＰＵ１に対して、割込み要求信号ＩＮＲＱを発生する機能を有する。なお、外部からのアナログ信号は、例えば、６つのアナログポートＡＩＮ０〜５（図示せず）を介して、ＡＤＣ２０へ入力される。
【００６０】
入出力制御回路２１は、外部入出力装置や外部の半導体素子との通信等を、入出力信号を介して行う。入出力信号は、第１バス３１を介して、ＣＰＵ１からリード／ライトされる。また、入出力制御回路２１は、ＣＰＵ１に対して、割込み要求信号ＩＮＲＱを発生する機能を有する。なお、入出力信号は、例えば、プログラマブルな入出力ポートＩＯ０〜ＩＯ２３（図示せず）を介して入出力される。
【００６１】
低電圧検出回路２５は、電源電圧Ｖｃｃ０及びＶｃｃ１を監視し、いずれかの電源電圧がそれぞれについて定められた電圧以下になったときに、ＰＬＬ回路２７等のリセット信号ＬＰＷ、その他のシステム全体のリセット信号ＲＥＳを発行する。リセット信号ＬＰＷは、電源の投入時や切断時にシステムの保護と初期化を実行するために発行される。リセット信号ＲＥＳは、電源の投入時やシステムの再起動時にシステムを初期化するために発行される。リセット信号ＬＰＷがアクティブになるときは、リセット信号ＲＥＳも同時にアクティブになり、リセット信号ＬＰＷを解除しても、暫くはリセット信号ＲＥＳを解除しないように設定されている。
【００６２】
ここで、電源電圧Ｖｃｃ０は、例えば、＋２．５Ｖであり、主にプロセッサ１０００内のデジタル回路に供給される。また、電源電圧Ｖｃｃ１は、例えば、＋３．３Ｖであり、主にプロセッサ１０００内のアナログ回路及びＩ／Ｏ部に供給される。
【００６３】
ＰＬＬ回路２７は、水晶振動子３７より得られる正弦波信号を逓倍した高周波クロック信号を生成する。水晶振動子３７の周波数は、これを基にＮＴＳＣあるいはＰＡＬの標準信号を生成するために必然的に決まってくる。しかも、水晶振動子の価格が最も低くなる周波数として、ＮＴＳＣあるいはＰＡＬのカラーサブキャリアの周波数そのものを採用している。すなわち、水晶振動子３７の周波数は、ＮＴＳＣの場合は、３．５７９５４５ＭＨｚとし、ＰＡＬの場合は、４．４３３６１８７５ＭＨｚとしている。
【００６４】
ＮＴＳＣとＰＡＬとで水晶振動子の周波数が異なるので、ＰＬＬ回路２７では、ＮＴＳＣとＰＡＬとで逓倍率を変えて、出力クロック信号の周波数が大体同じになるようにしている。具体的には、ＮＴＳＣの場合は、入力信号の９６／８倍の周波数のクロックｃｋ４０を、ＰＡＬの場合は、入力信号の９６／１０倍の周波数のクロックｃｋ４０を生成する。さらに、ＰＬＬ回路２７は、クロックｃｋ４０を２分周したクロックｃｋ２０を生成する。
【００６５】
クロックドライバ２９は、ＰＬＬ回路２７より受け取った高周波クロック信号ｃｋ４０及びｃｋ２０を、十分な信号強度へ増幅して、それぞれ内部クロックＣＫ４０及びＣＫ２０として、各ブロックへ供給する。
【００６６】
外部メモリインタフェース回路２３は、第２バス３３を外部バス４３に接続するための機能を有する。
【００６７】
図１のプロセッサ１０００におけるデータの転送経路を説明する。例えば、バスマスタたるＣＰＵ１が、バススレイブとして第１バス３１に接続されている他の機能ブロック（グラフィックスプロセッサ３、ピクセルプロッタ５、サウンドプロセッサ７、ＤＭＡコントローラ９、第１バスアービタ１３、第２バスアービタ１４、等）を制御する場合は、これら機能ブロックの制御レジスタ等へのライトデータは、第１バスアービタ１３へ与えられ、調停後に、第１バス３１から、各機能ブロックに与えられ、一方、これら機能ブロックの制御レジスタ等からのリードデータは、調停後に、第１バス３１及び第１バスアービタ１３を介して、ＣＰＵ１に与えられる。但し、グラフィックスプロセッサ３、ピクセルプロッタ５、サウンドプロセッサ７、ＤＭＡコントローラ９は、第１バス３１のバスマスタとして、第１バスアービタ１３へバス使用要求を行う機能を備える。
【００６８】
バスマスタが、メインメモリ１７に対してアクセスする場合は、ライトデータは、第１バスアービタ１３に与えられ、調停後に、第１バス３１から、メインメモリ１７に与えられ、一方、リードデータは、調停後に、第１バス３１及び第１バスアービタ１３を介して、バスマスタに与えられる。また、バスマスタが、外部メモリ４５に対してアクセスする場合は、ライトデータは、第２バスアービタ１４に与えられ、調停後に、第２バス３３から、外部メモリインタフェース回路２３及び外部バス４３を介して、外部メモリ４５に与えられ、一方、リードデータは、調停後に、外部バス４３、外部メモリインタフェース回路２３、第２バス３３及び第２バスアービタ１４を介して、バスマスタに与えられる。
【００６９】
さて、本実施の形態では、プロセッサ１０００は、異なる解像度の画像データを合成でき、かつ、合成の順番が予め定められている場合であっても、合成の順番に関係なく、複数の画像データを所望の表示優先順位にて合成できる。その概要を図面を用いて説明する。
【００７０】
図２Ａは、図１のプロセッサ１０００による画像合成の概念図であり、図２Ｂは、合成画像の例示図である。図２Ａに示すように、縦６４ピクセル×横３２ピクセルのスプライト３０４、縦２５６ピクセル×横１０２４ピクセルのビットマップスクリーン３００、及び縦２５６ピクセル×横２５６ピクセルのバックグラウンドスクリーン３０２を考える。また、スプライト３０４及びバックグラウンドスクリーン３０２を構成するキャラクタは、縦１６ピクセル×横１６ピクセルとする。
【００７１】
さらに、スプライト３０４、ビットマップスクリーン３００、及びバックグラウンドスクリーン３０２のデプス情報Ｚを、それぞれ、ＦＨ、９Ｈ、及び３Ｈとする。ここで、デプス情報Ｚは、ピクセルの奥行きを表す情報であり、４ビットで表現する。つまり、デプス情報Ｚは、０Ｈ（最後面）〜ＦＨ（最前面）の範囲で指定できる。複数のピクセルが重なるときは、最も大きいデプス情報Ｚを持つピクセルが選択される。
【００７２】
図２Ａに示すように、プロセッサ１０００は、まず、デプス情報Ｚに従って、スプライト３０４及びバックグラウンドスクリーン３０２を合成する。
【００７３】
ここで、説明の便宜上、スプライト３０４とバックグラウンドスクリーン３０２とを合成して生成されたスクリーンを、キャラクタスクリーンと呼ぶ。スプライト３０４のピクセルとバックグラウンドスクリーン３０２のピクセルとは同じサイズであり、表示される全てのスプライトとバックグラウンドスクリーンとは、縦２２４ピクセル×横２５６ピクセルで表されるキャラクタスクリーンへと合成される。従って、この例では、ビットマップスクリーン３００の水平解像度は、キャラクタスクリーンの水平解像度の４倍である。
【００７４】
また、キャラクタスクリーンを構成する各ピクセルには、元のスプライト３０４あるいは元のバックグラウンドスクリーン３０２のデプス情報Ｚが付随している。
【００７５】
次に、プロセッサ１０００は、各ピクセルのデプス情報Ｚに従って、キャラクタスクリーンとビットマップスクリーン３００とを合成する。具体的には、グラフィックスプロセッサ３は、重なっている複数のピクセルのうち、デプス情報Ｚが最も大きいピクセルを選択して出力する。ただし、プロセッサ１０００は、ピクセルの透明情報を参照して、そのピクセルが透明色であれば、デプス情報Ｚの如何に関係なく、そのピクセルは選択せず、次に大きいデプス情報Ｚを持つピクセルを選択する。
【００７６】
例えば、キャラクタスクリーンのあるピクセルのデプス情報ＺがＦＨであり、それに重なるビットマップスクリーン３００のピクセルのデプス情報Ｚが９Ｈの場合は、キャラクタスクリーンのピクセルが選択される。ただし、例えば、キャラクタスクリーンのピクセルのデプス情報ＺがＦＨであり、それに重なるビットマップスクリーン３００のピクセルのデプス情報Ｚが９Ｈの場合であっても、キャラクタスクリーンのピクセルが透明色であれば、ビットマップスクリーン３００のピクセルが選択される。
【００７７】
以上のように、プロセッサ１０００は、デプス情報Ｚ及び透明情報に基づいて、異なる解像度のキャラクタスクリーンとビットマップスクリーン３００とを合成する。その結果、図２Ｂに示すような合成画像が生成される。なお、図２Ｂでは、生成された合成画像のうちの表示領域のみを図示している。画像合成の詳細は後述する。
【００７８】
また、以上のように、合成の順番は、スプライト３０４とバックグラウンドスクリーン３０２との合成をまず行い、その次に、その合成結果であるキャラクタスクリーンとビットマップスクリーン３００との合成を行う。このように、合成の順番が固定されている。しかし、キャラクタスクリーンの各ピクセルには、元のスプライト３０４あるいは元のバックグラウンドスクリーン３０２のデプス情報Ｚが付随しており、このデプス情報Ｚとビットマップスクリーン３００のデプス情報Ｚとに基づいて、ピクセルの取捨選択が行われる。従って、最後に合成されるビットマップスクリーン３００のレイヤを、最初に合成されるスプライト３０４のレイヤとバックグラウンドスクリーン３０２のレイヤとの間に配置できる。
【００７９】
例えば、図２Ｂに示すように、ビットマップスクリーン３００の風車ｏｂｊ２を、スプライト３０４の気球ｏｂｊ３とバックグラウンドスクリーン３０２の雲ｏｂｊ１との間に配置できる。従来では、最後に合成されるビットマップスクリーン３００の風車ｏｂｊ２は、最初に合成されるスプライト３０４の気球ｏｂｊ３とバックグラウンドスクリーン３０２の雲ｏｂｊ１との間に配置することはできず、気球ｏｂｊ３及び雲ｏｂｊ１の合成画像の前面か後面のいずれかにしか配置できない。
【００８０】
さて、上記のように、プロセッサ１０００は、ビットマップスクリーンを生成できる。この点の概要を図面を用いて説明する。
【００８１】
図３は、図１のプロセッサ１０００が生成するビットマップスクリーンの説明図である。図３に示すように、ビットマップイメージＢＷのうちの表示対象領域ＤＡを表示する場合を例に挙げる。
【００８２】
ビットマップスクリーンＢＳの座標系は、左上を原点ＯＲＢ（０，０）とし、水平１０ビット（０〜１０２３）、及び垂直９ビット（０〜５１１）で表される。
【００８３】
ＣＰＵ１は、グラフィックスプロセッサ３内の制御レジスタ１６６，１６８，１６２，１６４（後述の図１５参照）に、ビットマップスクリーンＢＳ上の表示上端座標ＢＰＴ、表示下端座標ＢＰＢ、表示左端座標ＢＰＬ、及び表示右端座標ＢＰＲを設定する。この設定に応じて、表示対象領域ＤＡが、表示画面（テレビフレーム）に表示される。
【００８４】
ビットマップスクリーンＢＳの座標系は、スプライトやバックグラウンドスクリーン、つまり、キャラクタスクリーンの座標系とは独立している。また、ビットマップスクリーンＢＳの座標系は、後述のオフセットなしの水平走査カウントＨＣ（以下、「水平走査カウントＨＣ」あるいは「水平走査カウント信号ＨＣ」と呼ぶ。）及びオフセットなしの垂直走査カウントＶＣ（以下、「垂直走査カウントＶＣ」あるいは「垂直走査カウント信号ＶＣ」と呼ぶ。）に基づいているため、ビットマップスクリーンＢＳの座標系の原点と表示画面（テレビフレーム）との相対的な位置関係は固定されている。ただし、ビットマップスクリーンＢＳの水平表示位置に関しては、微調整が可能である。
【００８５】
図４は、本実施の形態によるビットマップスクリーンＢＳの水平位置微調整の説明図である。図４に示すように、ＣＰＵ１は、グラフィックスプロセッサ３内の制御レジスタ１５８（後述の図１５参照）に値Ｈｆｉｎを設定することで、ビットマップスクリーンＢＳの水平位置を０〜１５の範囲で微調整できる。
【００８６】
ビットマップスクリーンＢＳの解像度について説明する。ＣＰＵ１は、グラフィックスプロセッサ３内の制御レジスタ１６０（後述の図１５参照）にアクセスすることで、ビットマップスクリーンＢＳの水平解像度を、２クロック／ピクセル（１０２４ピクセル／水平ライン相当）〜１６クロック／ピクセル（１２８ピクセル／水平ライン相当）の範囲で、任意に設定できる。以下に例を示す。なお、キャラクタスクリーン（スプライトやバックグラウンドスクリーンにより構成）の水平解像度は、８クロック／ピクセル（２５６ピクセル／水平ライン）で一定である。
【００８７】
図５Ａは、図３の表示対象領域ＤＡを、水平解像度８クロック／ピクセルで表示したときの表示画像の例示図、図５Ｂは、表示対象領域ＤＡを、水平解像度４クロック／ピクセルで表示したときの表示画像の例示図である。図５Ａ及び図５Ｂから分かるように、ビットマップスクリーンＢＳの水平解像度を２倍にすると、表示画面（テレビフレーム）ＴＶＳにおいて、表示画像の水平方向の幅が２分の１になる。これは一例であり、水平解像度の変更により、表示画像を水平方向に伸縮させることができる。
【００８８】
ビットマップスクリーンＢＳのデータ取得アドレスの設定について説明する。
【００８９】
図６は、本実施の形態によるビットマップスクリーンＢＳを構成するビットマップデータを取得する際のアドレスの設定方法の説明図である。図６に示すように、ビットマップスクリーンＢＳを構成するビットマップデータＢＷは、第０水平ラインのデータＨＬＤ０，第１水平ラインのデータＨＬＤ１，…，最終水平ラインのデータＨＬＤｎからなるとする。また、データＨＬＤ０，ＨＬＤ１，…，ＨＬＤｎのうち、表示される水平ラインのデータを、表示水平ラインデータＤＨＬＤ０，ＤＨＬＤ１，…，ＤＨＬＤｋとする。
【００９０】
ここで、第０水平ラインのデータＨＬＤ０，第１水平ラインのデータＨＬＤ１，…，最終水平ラインのデータＨＬＤｎを包括して表現するときは、「データＨＬＤＮ（Ｎ＝０〜ｎ）」と表記する。また、表示水平ラインデータＤＨＬＤ０，ＤＨＬＤ１，…，ＤＨＬＤｋを包括して表現するときは、表示水平ラインデータＤＨＬＤＫ（Ｋ＝０〜ｋ）と表記する。
【００９１】
ＣＰＵ１は、制御レジスタ１８０，１７６，１７４，１７２，１７８に、ベースアドレスＢＢＳ、上端アドレスＢＡＴ、左端アドレスＢＡＬ、右端アドレスＢＡＲ、及びアドレスステップＢＡＳをそれぞれ設定する。
【００９２】
ベースアドレスＢＢＳは、他の設定値の基底となるものであり、通常はビットマップデータ全体の先頭アドレスを指し示すように設定される。つまり、ベースアドレスＢＢＳは、第０水平ラインのデータＨＬＤ０の先頭アドレスを指し示す。アドレスステップＢＡＳには、ビットマップデータＢＷの１水平ライン分のバイト数を設定する。
【００９３】
上端アドレスＢＡＴは、ベースアドレスＢＢＳからのオフセット値であり、表示水平ラインデータＤＨＬＤ０の先頭アドレスを指し示すように設定される。つまり、（ベースアドレスＢＢＳ＋上端アドレスＢＡＴ）が、表示水平ラインデータＤＨＬＤ０の先頭アドレスを指し示すことになる。
【００９４】
左端アドレスＢＡＬは、表示水平ラインデータＤＨＬＤＫ中の表示対象データ（図では斜線で示している。）の先頭アドレスを、表示水平ラインデータＤＨＬＤＫの先頭アドレスからのオフセット値で示すものである。つまり、各表示水平ラインデータＤＨＬＤＫにおいて、表示対象データの先頭アドレスは、（表示水平ラインデータＤＨＬＤＫの先頭アドレス＋左端アドレスＢＡＬ）で示される。
【００９５】
右端アドレスＢＡＲは、表示水平ラインデータＤＨＬＤＫ中の表示対象データ（図では斜線で示している。）の終端アドレスを、表示水平ラインデータＤＨＬＤＫの先頭アドレスからのオフセット値で示すものである。つまり、各表示水平ラインデータＤＨＬＤＫにおいて、表示対象データの終端アドレスは、（表示水平ラインデータＤＨＬＤＫの先頭アドレス＋右端アドレスＢＡＲ）で示される。
【００９６】
表示水平ラインデータＤＨＬＤＫの先頭アドレスは、（表示水平ラインデータＤＨＬＤ０の先頭アドレス＋アドレスステップＢＡＳ×Ｋ）で示される。
【００９７】
以上のように、ＣＰＵ１が、ベースアドレスＢＢＳ、上端アドレスＢＡＴ、左端アドレスＢＡＬ、右端アドレスＢＡＲ、及びアドレスステップＢＡＳをそれぞれ設定することにより、メモリＭＥＭ上に構成されているビットマップイメージＢＷ（２次元ピクセル配列）の一部分のみを切り出して表示することができる（図３参照）。
【００９８】
さて、プロセッサ１０００は、キャラクタスクリーン（スプライトやバックグラウンドスクリーンにより構成）の表示位置の調整機能を有する。この点を図面を用いて説明する。
【００９９】
図７は、図１のプロセッサ１０００によるキャラクタスクリーンの表示位置調整機能の説明図である。図７に示すように、ＣＰＵ１は、表示画面（テレビフレーム）ＴＶＳに対するキャラクタスクリーンＣＳの位置を調整できる。具体的には、水平カウント参照値ＶＨＲ、垂直カウント参照値ＶＶＲ、水平ポジション左端値ＶＬＰ、及び垂直ポジション上端値ＶＴＰを、それぞれ、制御レジスタ２５０，２４２，２５２，及び２４４（後述の図１７参照）に設定することにより、キャラクタスクリーンＣＳの表示位置の調整を行う。この点を詳しく説明する。
【０１００】
上記のように、ビットマップスクリーンの座標系は、オフセットなしの水平走査カウントＨＣ及び垂直走査カウントＶＣに基づいている。水平走査カウントＨＣ及び垂直走査カウントＶＣの原点ＯＲＶは、表示画面ＴＶＳの左上にある。表示画面ＴＶＳの左上頂点と水平走査カウントＨＣ及び垂直走査カウントＶＣの原点ＯＲＶの間の非表示区間に、垂直帰線区間と水平帰線区間が含まれる。水平右方向が水平軸の正であり、垂直下方向が垂直軸の正となっている。
【０１０１】
水平走査カウントＨＣは、原点ＯＲＶを開始点とし、水平右方向に行われる走査に従ってインクリメントされる。そして、グラフィックスプロセッサ３内の制御レジスタ（図示せず）に設定された水平周期に達すると「０」にリセットされる。垂直走査カウントＶＣは、原点ＯＲＶを開始点とし、走査とともに順次インクリメントされ、制御レジスタ（図示せず）に設定された垂直周期に達すると「０」にリセットされる。
【０１０２】
一方、キャラクタスクリーンＣＳの座標系は、オフセット付きの水平走査カウントＨＰ（以下、「水平走査カウントＨＰ」あるいは「水平走査カウント信号ＨＰ」と呼ぶ。）及びオフセット付きの垂直走査カウントＶＰ（以下、「垂直走査カウントＶＰ」あるいは「垂直走査カウント信号ＶＰ」と呼ぶ。）に基づいている。水平走査カウントＨＰ及び垂直走査カウントＶＰの原点ＯＲＣは、キャラクタスクリーンＣＳの左端外部にある。水平右方向が水平軸Ｈの正であり、垂直下方向が垂直軸Ｖの正となっている。
【０１０３】
水平走査カウントＨＣが、水平カウント参照値ＶＨＲに一致した場合に、水平ポジション左端値ＶＬＰが水平走査カウントＨＰの値としてロードされる。また、垂直走査カウントＶＣが垂直カウント参照値ＶＶＲに一致した場合に、水平ポジション上端値ＶＴＰが垂直走査カウントＶＰの値としてロードされる。
【０１０４】
水平走査カウントＨＰは、水平ポジション左端値ＶＬＰを開始点とし、水平右方向に行われる走査に従ってインクリメントされる。垂直走査カウントＶＰは、垂直ポジション上端値ＶＴＰを開始点とし、走査とともに順次インクリメントされる。
【０１０５】
以上の結果、キャラクタスクリーンＣＳのうち、斜線で示した領域が、表示画面ＴＶＳに表示される。つまり、表示画面ＴＶＳに対するキャラクタスクリーンＣＳの位置を調整できる。
【０１０６】
なお、水平走査カウントＨＰの「５１２」がキャラクタスクリーンのＸ座標の「０」に相当し、垂直走査カウントＶＰの「１２７」がキャラクタスクリーンのＹ座標の「０」に相当する。
【０１０７】
図８は、図１のグラフィックスプロセッサ３の内部構成の前段部分を示すブロック図である。図９は、図１のグラフィックスプロセッサ３の内部構成の後段部分を示すブロック図である。
【０１０８】
図８及び図９に示すように、グラフィックスプロセッサ３は、スプライトＤＭＡコントローラ５０、スプライトメモリ５２、スプライトジェネレータ５４、第１のバックグラウンドジェネレータ５６、第１のピクチャパラメータミキサ５８、第２のバックグラウンドジェネレータ６０、第２のピクチャパラメータミキサ６２、アドレスジェネレータ６４、ストリップジェネレータ６６、キャラクタフェッチャ６８、ピクセルジェネレータ７０、トランスペアレントコントローラ７２、ドロードライバ７４、ピクセルバッファコントローラ７６、ピクセルバッファ７８、ビュードライバ８０、カラーパレットコントローラ８２、キャラクタ用カラーパレット８４、ビットマップジェネレータ８６、ビットマップ用カラーパレット８８、ピクセルミキサ９０、カラーモジュレータ９２、ノイズジェネレータ９４、ウィンドウジェネレータ９６、ビデオエンコーダ９８、ビデオタイミングジェネレータ１００、ビデオポジションアジャスタ１０２、及びビデオファンクションジェネレータ１０４を含む。
【０１０９】
スプライトメモリ５２は、２５６エントリ×５６ビットのローカルメモリであり、１つのエントリに１つのスプライトの各パラメータ（スプライトパラメータ、と呼ぶこともある。）が格納される。また、１つのエントリにおいて、各スプライトパラメータの格納位置は決まっている。
【０１１０】
各スプライトパラメータは、１ピクセルのビット数Ｂ０［２：０］、サイズ情報Ｓ０［１：０］、フリップ情報Ｆ０［１：０］、水平位置情報Ｘ０［８：０］、垂直位置情報Ｙ０［７：０］、デプス情報Ｚ０［３：０］、パレット情報Ｐ０［３：０］、及びアドレス情報Ａ０［２３：０］である。
【０１１１】
ビット数Ｂ０は、スプライトを構成するキャラクタの１ピクセルのビット数（ビット／ピクセル：カラーモード）である。サイズ情報Ｓ０は、スプライトを構成するキャラクタのサイズを示す情報であり、キャラクタのサイズが、横８ピクセル×縦８ピクセルの場合、例えば、サイズ情報Ｓ０を「００」とする。
【０１１２】
フリップ情報Ｆ０は、スプライトを構成するキャラクタの反転情報であり、例えば、「００」が反転なし、「０１」が水平方向の反転、「１０」が垂直方向の反転、「１１」が水平及び垂直方向の反転、を示す。
【０１１３】
水平位置情報Ｘ０は、キャラクタスクリーンの座標系におけるスプライトの水平座標であり、垂直位置情報Ｙ０は、キャラクタスクリーンの座標系におけるスプライトの垂直座標である（図７参照）。
【０１１４】
デプス情報Ｚ０は、スプライトを構成するキャラクタの奥行きを示す情報である。
【０１１５】
パレット情報Ｐ０は、パレットを指定する情報である。後述するが、本実施の形態では、キャラクタ用カラーパレット８４は、２５６色を格納するローカルメモリにより構成される。パレット情報Ｐ０は、カラーパレット８４のエントリを指し示す８ビットアドレスの上位４ビットに相当する。但し、選択されたカラーモードによっては、パレット情報Ｐ０の下位側からの１〜４ビットは、ピクセルのカラーコードの一部に置き換えられる。
【０１１６】
アドレス情報Ａ０は、スプライトを構成するキャラクタのパターンデータ（キャラクタパターンデータ、と呼ぶこともある。）のメモリＭＥＭ上での格納位置を示す情報（先頭アドレス情報）である。キャラクタパターンデータは、キャラクタを構成する各ピクセルのカラーコードからなる。同様に、第１及び第２のバックグラウンドスクリーンを構成するキャラクタパターンデータは、キャラクタを構成する各ピクセルのカラーコードからなる。
【０１１７】
スプライトＤＭＡコントローラ５０は、メインメモリ１７上に配置された各スプライトパラメータをスプライトメモリ５２にＤＭＡ転送する。詳しくは次の通りである。
【０１１８】
メインメモリ１７には、表示対象の全スプライトについて、各スプライトパラメータが格納される。この場合、メインメモリ１７に７つのデータ配列を設ける。各スプライトの全スプライトパラメータ（５６ビット）は、８ビットのブロックに分割されるところ、７つのデータ配列は、この７つのブロックに対応している。
【０１１９】
また、各データ配列の要素数は、表示対象の全スプライトの数と同じである。従って、スプライトパラメータの各ブロックは、対応するデータ配列の対応する要素に格納される。一方、上記のように、スプライトメモリ５２には、１つのエントリにおいて、各スプライトパラメータの格納位置は決まっている。
【０１２０】
このように、メインメモリ１７とスプライトメモリ５２とで、スプライトパラメータの格納形態が異なるので、スプライトＤＭＡコントローラ５０は、メインメモリ１７上に配置された各スプライトパラメータを、スプライトメモリ５２への格納形態に合わせて整列しつつ、スプライトメモリ５２にＤＭＡ転送する。
【０１２１】
なお、スプライトＤＭＡコントローラ５０は、データをリード／ライトするときは、アドレスＦＡ、及びリード／ライトコントロール信号ＦＷをスプライトメモリ５２に与える。これらの信号に従って、スプライトメモリ５２にライトデータＦＩが書き込まれ、あるいは、スプライトメモリ５２からリードデータＦＯが読み出される。
【０１２２】
また、スプライトＤＭＡコントローラ５０は、ＤＭＡ転送によるスプライトメモリ５２へのライトと、ＣＰＵ１からのスプライトメモリ５２へのアクセスと、スプライトジェネレータ５４からのスプライトメモリ５２のリードと、を調停し、スプライトメモリ５２へのアクセスを一元的に管理する。
【０１２３】
スプライトジェネレータ５４は、画像表示処理時では、アドレスＳＡを次々にインクリメントしていって、常にスプライトメモリ５２内の各エントリのデータを連続して読み出し、水平走査カウント信号ＨＰ及び垂直走査カウント信号ＶＰに従って、表示処理範囲内に位置する（ピクセルバッファ７８に重なっている（重なりつつある））スプライトの各パラメータＢ０，Ｓ０，Ｆ０，Ｘ０，Ｙ０，Ｚ０，Ｐ０，Ａ０を第１のピクチャパラメータミキサ５８に出力する。ここで、「スプライトがピクセルバッファ７８に重なる」という意味は、後述の通り、ピクセルバッファ７８が水平座標の或る範囲に関連付けられ、スプライトがこの範囲にオーバーラップするという意味である。但し、スプライトジェネレータ５４から出力される垂直位置情報Ｙ０は、全ビットではなく下位５ビット、すなわちＹ０［４：０］となる。なお、アドレスＳＡは、スプライトＤＭＡコントローラ５０により、アドレスＦＡとして、スプライトメモリ５２に与えられる。
【０１２４】
また、スプライトジェネレータ５４は、ＣＰＵ１からアクセス可能なレジスタ（図示せず）を含み、このレジスタには、スプライトのアドレス情報の形式Ｔ０［２：０］が格納されている。アドレス情報の形式Ｔ０は、スプライトのキャラクタパターンデータのフェッチにおけるアドレッシングモードを示す情報である。ここで言うところのアトリビュート情報は、ビット数Ｂ０、フリップ情報Ｆ０、及びパレット情報Ｐ０のことである。このアトリビュート情報は、スプライトメモリ５２に格納される。スプライトジェネレータ５４は、上記各スプライトパラメータとともに、アドレス情報の形式Ｔ０も、第１のピクチャパラメータミキサ５８に出力する。
【０１２５】
ここで、信号ＶＡＬＩＤと信号ＷＩＳＨという前段から後段へデータを伝送するときのハンドシェーク信号がある。信号ＶＡＬＩＤは、送り手から受け手へ伝達する制御信号で、送るデータが準備できるとデータと共にアクティブになる。信号ＷＩＳＨは逆に受け手から送り手へ伝達する制御信号であり、データが受け入れられる状態のときアクティブになる。両信号ＶＡＬＩＤ，ＷＩＳＨがアクティブの期間（１クロック）に１バイトのデータが伝送される。
【０１２６】
第１のバックグラウンドジェネレータ５６には、ＣＰＵ１からアクセス可能なレジスタ（図示せず）が備えられており、そのレジスタには、第１のバックグラウンドスクリーンの情報を記憶しているメインメモリ１７上の配列を指し示すポインタＬ１，Ｈ１，Ｕ１、並びに、第１のバックグラウンドスクリーンに適用される１ピクセルのビット数Ｂ１［２：０］、サイズ情報Ｓ１［１：０］、フリップ情報Ｆ１［１：０］、水平位置情報ＴＸ１［７：０］、垂直位置情報ＴＹ１［７：０］、デプス情報Ｚ１［３：０］、パレット情報Ｐ１［３：０］、アドレス情報の形式Ｔ１［２：０］、及びアトリビュートの所在Ｗ１が格納される。
【０１２７】
ポインタＬ１，Ｈ１，Ｕ１で指し示されるメインメモリ１７上の配列には、第１のバックグラウンドスクリーンに使用するキャラクタパターンデータのメモリＭＥＭ上での位置を示すアドレス情報Ａ１と、パレット情報Ｐ１及びデプス情報Ｚ１の２つのアトリビュート情報とが格納されている。このアドレス情報Ａ１は、アドレス情報の形式Ｔ１に従ったサイズ（１から３バイト）を持ち、このアトリビュート情報は、アトリビュートの所在Ｗ１で配列が指定されると有効になる。
【０１２８】
ここで、ビット数Ｂ１、サイズ情報Ｓ１、フリップ情報Ｆ１、デプス情報Ｚ１、パレット情報Ｐ１、及びアドレス情報の形式Ｔ１は、これらが、第１のバックグラウンドスクリーンを構成するキャラクタについてのものというだけで、上記のスプライトを構成するキャラクタについてのビット数Ｂ０、サイズ情報Ｓ０、フリップ情報Ｆ０、デプス情報Ｚ０、パレット情報Ｐ０、及びアドレス情報の形式Ｔ０と同様である。
【０１２９】
また、第１のバックグラウンドジェネレータ５６は、水平走査カウント信号ＨＰ及び垂直走査カウント信号ＶＰに従って、表示処理範囲内に位置する（ピクセルバッファ７８に重なっている（重なりつつある））キャラクタの情報（つまり、配列の要素、さらに換言すると、キャラクタのアドレス情報Ａ１、デプス情報Ｚ１及びパレット情報Ｐ１）を第１バス３１を通してメインメモリ１７から読み出して、第１のピクチャパラメータミキサ５８へ出力するとともに、そのキャラクタの他の情報（ビット数Ｂ１、サイズ情報Ｓ１、フリップ情報Ｆ１、水平位置情報Ｘ１、垂直位置情報Ｙ１、デプス情報Ｚ１、パレット情報Ｐ１、及びアドレス情報の形式Ｔ１）も第１のピクチャパラメータミキサ５８へ出力する。ただし、アトリビュートの所在Ｗ１は、後段では使用しないので送出しない。ここで、アトリビュートの所在Ｗ１が「０」の場合には、第１のバックグラウンドジェネレータ５６のレジスタに格納されているデプス情報Ｚ１及びパレット情報Ｐ１が出力され、Ｗ１が「１」の場合には、メインメモリ１７から読み出されたデプス情報Ｚ１及びパレット情報Ｐ１が出力される。また、水平位置情報Ｘ１及び垂直位置情報Ｙ１については、バックグラウンドスクリーンの水平位置情報ＴＸ１及び垂直位置情報ＴＹ１から、各キャラクタの水平位置情報Ｘ１［８：０］及び垂直位置情報Ｙ１［４：０］が算出され、第１のピクチャパラメータミキサ５８に出力される。
【０１３０】
加えて、第１のバックグラウンドジェネレータ５６は、第１のピクチャパラメータミキサ５８へ信号ＶＡＬＩＤ及び緊急信号Ｅを出力し、また、第１のピクチャパラメータミキサ５８から信号ＷＩＳＨが入力される。緊急信号Ｅは、後段にデータの受信を催促する信号であり、出力したデータが後段になかなか伝送されずにいるとき、アクティブにされる。
【０１３１】
具体的には、第１のバックグラウンドジェネレータ５６は、出力したデータの位置情報（水平位置情報Ｘ１及び垂直位置情報Ｙ１）と、水平走査カウント信号ＨＰ及び垂直走査カウント信号ＶＰにより示される位置情報と、の差が広がったことを検出して緊急信号Ｅをアクティブにする。
【０１３２】
第１のピクチャパラメータミキサ５８は、スプライトジェネレータ５４が出力したスプライトを定義する信号Ｔ０，Ｂ０，Ｓ０，Ｆ０，Ｘ０，Ｙ０，Ｚ０，Ｐ０，Ａ０及び第１のバックグラウンドジェネレータ５６が出力した第１のバックグラウンドスクリーンを定義する信号Ｔ１，Ｂ１，Ｓ１，Ｆ１，Ｘ１，Ｙ１，Ｚ１，Ｐ１，Ａ１から、次の規則に従って、信号を選択／統合して、信号Ｔ２，Ｂ２，Ｓ２，Ｆ２，Ｘ２，Ｙ２，Ｚ２，Ｐ２，Ａ２として、第２のピクチャパラメータミキサ６２に出力する。
【０１３３】
この場合、第１のピクチャパラメータミキサ５８は、原則として、スプライトを定義する信号Ｔ０，Ｂ０，Ｓ０，Ｆ０，Ｘ０，Ｙ０，Ｚ０，Ｐ０，Ａ０を優先して選択する。ただし、第１のピクチャパラメータミキサ５８は、緊急信号Ｅがアクティブのときは、第１のバックグラウンドスクリーンを定義する信号Ｔ１，Ｂ１，Ｓ１，Ｆ１，Ｘ１，Ｙ１，Ｚ１，Ｐ１，Ａ１を選択する。もちろん、緊急信号Ｅがアクティブでないときでも、スプライトを定義する信号Ｔ０，Ｂ０，Ｓ０，Ｆ０，Ｘ０，Ｙ０，Ｚ０，Ｐ０，Ａ０が入力されていない場合は、第１のバックグラウンドスクリーンを定義する信号Ｔ１，Ｂ１，Ｓ１，Ｆ１，Ｘ１，Ｙ１，Ｚ１，Ｐ１，Ａ１が選択される。
【０１３４】
また、第１のピクチャパラメータミキサ５８は、信号ＶＡＬＩＤを、第２のピクチャパラメータミキサ６２に与え、第２のピクチャパラメータミキサ６２から、信号ＷＩＳＨが入力される。
【０１３５】
第２のバックグラウンドジェネレータ６０には、ＣＰＵ１からアクセス可能なレジスタ（図示せず）が備えられており、そのレジスタには、第２のバックグラウンドスクリーンの情報を記憶しているメインメモリ１７上の配列を指し示すポインタＬ２，Ｈ２，Ｕ２、並びに、第２のバックグラウンドスクリーンに適用される１ピクセルのビット数Ｂ３［２：０］、サイズ情報Ｓ３［１：０］、フリップ情報Ｆ３［１：０］、水平位置情報ＴＸ３［７：０］、垂直位置情報ＴＹ３［７：０］、デプス情報Ｚ３［３：０］、パレット情報Ｐ３［３：０］、アドレス情報の形式Ｔ３［２：０］、及びアトリビュートの所在Ｗ３が格納される。
【０１３６】
ポインタＬ２，Ｈ２，Ｕ２で指し示されるメインメモリ１７上の配列には、第２のバックグラウンドスクリーンに使用するキャラクタパターンデータのメモリＭＥＭ上での位置を示すアドレス情報Ａ３と、パレット情報Ｐ３及びデプス情報Ｚ３の２つのアトリビュート情報とが格納されている。このアドレス情報Ａ３は、アドレス情報の形式Ｔ３に従ったサイズ（１から３バイト）を持ち、このアトリビュート情報は、アトリビュートの所在Ｗ３で配列が指定されると有効になる。
【０１３７】
ここで、ビット数Ｂ３、サイズ情報Ｓ３、フリップ情報Ｆ３、デプス情報Ｚ３、パレット情報Ｐ３、及びアドレス情報の形式Ｔ３は、これらが、第２のバックグラウンドスクリーンを構成するキャラクタについてのものというだけで、上記の第２のバックグラウンドスクリーンを構成するキャラクタについてのビット数Ｂ１、サイズ情報Ｓ１、フリップ情報Ｆ１、デプス情報Ｚ１、パレット情報Ｐ１、及びアドレス情報の形式Ｔ１と同様である。
【０１３８】
また、第２のバックグラウンドジェネレータ６０は、水平走査カウント信号ＨＰ及び垂直走査カウント信号ＶＰに従って、表示処理範囲内に位置する（ピクセルバッファ７８に重なっている（重なりつつある））キャラクタの情報（つまり、配列の要素、さらに換言すると、キャラクタのアドレス情報Ａ３、デプス情報Ｚ３及びパレット情報Ｐ３）を第１バス３１を通してメインメモリ１７から読み出して、第２のピクチャパラメータミキサ６２へ出力するとともに、そのキャラクタの他の情報（ビット数Ｂ３、サイズ情報Ｓ３、フリップ情報Ｆ３、水平位置情報Ｘ３、垂直位置情報Ｙ３、デプス情報Ｚ３、パレット情報Ｐ３、及びアドレス情報の形式Ｔ３）も第２のピクチャパラメータミキサ６２へ出力する。ただし、アトリビュートの所在Ｗ３は、後段では使用しないので送出しない。ここで、アトリビュートの所在Ｗ３が「０」の場合には、第２のバックグラウンドジェネレータ６０のレジスタに格納されているデプス情報Ｚ３及びパレット情報Ｐ３が出力され、Ｗ３が「１」の場合には、メインメモリ１７から読み出されたデプス情報Ｚ３及びパレット情報Ｐ３が出力される。また、水平位置情報Ｘ３及び垂直位置情報Ｙ３については、バックグラウンドスクリーンの水平位置情報ＴＸ３及び垂直位置情報ＴＹ３から、各キャラクタの水平位置情報Ｘ３［８：０］及び垂直位置情報Ｙ３［４：０］が算出され、第２のピクチャパラメータミキサ６２に出力される
【０１３９】
加えて、第２のバックグラウンドジェネレータ６０は、第２のピクチャパラメータミキサ６２へ信号ＶＡＬＩＤ及び緊急信号Ｅを出力し、また、第２のピクチャパラメータミキサ６２から信号ＷＩＳＨが入力される。
【０１４０】
第２のピクチャパラメータミキサ６２は、第１のピクチャパラメータミキサ５８が出力したスプライト及び／又は第１のバックグラウンドスクリーンを定義する信号Ｔ２，Ｂ２，Ｓ２，Ｆ２，Ｘ２，Ｙ２，Ｚ２，Ｐ２，Ａ２及び第２のバックグラウンドジェネレータ６０が出力した第２のバックグラウンドスクリーンを定義する信号Ｔ３，Ｂ３，Ｓ３，Ｆ３，Ｘ３，Ｙ３，Ｚ３，Ｐ３，Ａ３から、次の規則に従って、信号を選択／統合して、信号Ｔｓ，Ｂｓ，Ｓｓ，Ｆｓ，Ｘｓ，Ｙｓ，Ｚｓ，Ｐｓ，Ａｓとして、アドレスジェネレータ６４に出力する。
【０１４１】
この場合、第２のピクチャパラメータミキサ６２は、原則として、第１のピクチャパラメータミキサ５８が出力した信号Ｔ２，Ｂ２，Ｓ２，Ｆ２，Ｘ２，Ｙ２，Ｚ２，Ｐ２，Ａ２を優先して選択する。ただし、第２のピクチャパラメータミキサ６２は、緊急信号Ｅがアクティブのときは、第２のバックグラウンドスクリーンを定義する信号Ｔ３，Ｂ３，Ｓ３，Ｆ３，Ｘ３，Ｙ３，Ｚ３，Ｐ３，Ａ３を選択する。もちろん、緊急信号Ｅがアクティブでないときでも、第１のピクチャパラメータミキサ５８から信号Ｔ２，Ｂ２，Ｓ２，Ｆ２，Ｘ２，Ｙ２，Ｚ２，Ｐ２，Ａ２が入力されていない場合は、第２のバックグラウンドスクリーンを定義する信号Ｔ３，Ｂ３，Ｓ３，Ｆ３，Ｘ３，Ｙ３，Ｚ３，Ｐ３，Ａ３が選択される。
【０１４２】
また、第２のピクチャパラメータミキサ６２は、信号ＶＡＬＩＤを、アドレスジェネレータ６４に与え、アドレスジェネレータ６４から、信号ＷＩＳＨが入力される。
【０１４３】
アドレスジェネレータ６４は、第２のピクチャパラメータミキサ６２からのアドレス情報の形式Ｔｓに従って、アドレス情報Ａｓを２７ビットの実アドレスＡｒに変換する回路である。アドレスジェネレータ６４には、ＣＰＵ１からアクセスできる１６×１６ビットのセグメントレジスタ（図示せず）があり、これにはアドレス情報Ａｓを変換する上で必要なベースアドレスやセグメントアドレスが格納されている。
【０１４４】
本実施の形態では、アドレス情報の形式Ｔｓにより示されるアドレッシングモードが、８種類用意される。即ち、８ビットキャラクタ番号モード、１６ビットキャラクタ番号モード、アラインメント付き１６ビットポインタモード、１６ビットアドレスポインタモード、２４ビットアドレスポインタモード、１６ビット拡張キャラクタ番号モード、１６ビット拡張アドレスポインタモード、及びアラインメント付き２４ビットポインタモードが用意される。
【０１４５】
８ビットキャラクタ番号モードは、キャラクタの選択を８ビットの番号Ａｓで行う。１６ビットキャラクタ番号モードは、キャラクタの選択を１６ビットの番号Ａｓで行う。これらのモードでは、セグメントレジスタの０番地に格納されたベースアドレス（２５６バイトアラインメント）をベースに、第２のピクチャパラメータミキサ５６からのビット数Ｂｓとサイズ情報Ｓｓとで示される１キャラクタのサイズから実アドレスＡｒが計算される。具体的には、実アドレスＡｒは、（ベースアドレス）＋（アドレス情報Ａｓが示すキャラクタの番号）×（ビット数Ｂｓが示す１ピクセルのビット数）×（サイズ情報Ｓｓが示す１キャラクタのピクセル数）／８、により算出される。なお、「８」で除算しているのは、実アドレスＡｒがバイトアドレスだからである。
【０１４６】
アラインメント付き１６ビットポインタモードは、キャラクタの選択を、１６ビットでアラインメント付きのポインタＡｓで行う。具体的には、アラインメント付き１６ビットポインタＡｓの上位３ビットで示されるセグメントレジスタに格納されたセグメントアドレス（２５６バイトアラインメント）とＡｓの下位１３ビット（８バイトアラインメント）との和に夫々「０」の上位３ビットを加えて２７ビットの実アドレスＡｒとなる。
【０１４７】
１６ビットアドレスポインタモードは、キャラクタの選択を、１６ビットのポインタＡｓで行う。具体的には、１６ビットアドレスポインタＡｓの上位４ビットで示されるセグメントレジスタに格納されたセグメントアドレス（２５６バイトアラインメント）とＡｓの下位１２ビットとの和に夫々「０」の上位３ビットを加えて２７ビットの実アドレスＡｒとなる。
【０１４８】
２４ビットアドレスポインタモードは、キャラクタの選択を、２４ビットのポインタＡｓで行う。具体的には、２４ビットアドレスポインタＡｓの値に夫々「０」の上位３ビットを加えるだけで２７ビットの実アドレスＡｒとなる。
【０１４９】
１６ビット拡張キャラクタ番号モードは、１６ビットキャラクタ番号モードを拡張したモードである。このモードでは、セグメントレジスタの０番地に格納された２７ビットのベースアドレス（２Ｋバイトアラインメント）をベースに、第２のピクチャパラメータミキサ５６からのビット数Ｂｓとサイズ情報Ｓｓで示される１キャラクタのサイズから実アドレスＡｒが計算される。具体的な計算方法は、１６ビットキャラクタ番号モードと同様である。
【０１５０】
１６ビット拡張アドレスポインタモードは、１６ビットアドレスポインタモードを拡張したモードである。具体的には、１６ビットアドレスポインタＡｓの上位４ビットで示されるセグメントレジスタに格納された２７ビットのベースアドレス（２Ｋバイトアラインメント）とＡｓの下位１２ビットとの和が実アドレスＡｒとなる。
【０１５１】
アラインメント付き２４ビットポインタモードは、２４ビットのポインタＡｓが、２７ビットの実アドレスＡｒの上位２４ビットとなり、下位３ビットは「０」で占められる（８バイトアラインメント）。
【０１５２】
以上のようにして、アドレスジェネレータ６４は、アドレス情報Ａｓを実アドレスＡｒ（以下、アドレス情報Ａｒと呼ぶ。）に変換し、他の信号Ｂｓ，Ｓｓ，Ｆｓ，Ｘｓ，Ｙｓ，Ｚｓ，Ｐｓとともに、ストリップジェネレータ６６に出力する。ただし、アドレス情報の形式Ｔｓは、後段で使われないので送出することはしない。
【０１５３】
また、アドレスジェネレータ６４は、信号ＶＡＬＩＤを、ストリップジェネレータ６６に与え、ストリップジェネレータ６６から、信号ＷＩＳＨが入力される。
【０１５４】
ストリップジェネレータ６６は、水平走査カウント信号ＨＰ及び垂直走査カウント信号ＶＰに従って、表示処理範囲内に位置する（ピクセルバッファ７８に重なっている（重なりつつある））キャラクタを選択する。
【０１５５】
そして、ストリップジェネレータ６６は、選択したキャラクタ（二次元配列）から、今描画されようとしている横一列の１次元配列（ストリップ、と呼ぶこともある。）を抽出する。例えば、キャラクタが、１６ピクセル×１６ピクセルであれば、横一列の１６ピクセルがストリップである。具体的には、次の通りである。
【０１５６】
ストリップジェネレータ６６は、垂直位置情報Ｙｓ、垂直方向の反転を示すフリップ情報Ｆｓ、及び垂直走査カウント信号ＶＰに基づいて、抽出するストリップを特定する。
【０１５７】
そして、ストリップジェネレータ６６は、特定したストリップのアドレス情報（先頭アドレス）Ａｓｐを、キャラクタパターンデータのアドレス情報Ａｓ（先頭アドレス）、ビット数Ｂｓ、及びキャラクタのサイズ情報Ｓｓが示す横サイズを基に算出する。これがストリップの抽出である。ここでのストリップの抽出は、キャラクタパターンデータから、特定したストリップのカラーコードの抽出を意味するのではない。
【０１５８】
ストリップジェネレータ６６は、算出したアドレス情報Ａｓｐを、他の信号Ｂｓ，Ｓｓ，Ｆｓ，Ｘｓ，Ｚｓ，Ｐｓとともに、キャラクタフェッチャ６８に出力する。ただし、垂直方向の反転を示すフリップ情報Ｆｓ、及び垂直位置情報Ｙｓは、後段で使われないので送出することはしない。
【０１５９】
また、ストリップジェネレータ６６は、信号ＶＡＬＩＤを、キャラクタフェッチャ６８に与え、キャラクタフェッチャ６８から、信号ＷＩＳＨが入力される。
【０１６０】
キャラクタフェッチャ６８は、アドレス情報Ａｓｐとして伝送されてきたキャラクタをカラーコードに変換する。具体的には、キャラクタフェッチャ６８は、アドレス情報Ａｓｐで指し示されるメモリＭＥＭ上の位置から、１ピクセルのビット数Ｂｓとサイズ情報Ｓｓが示す横サイズとで表される容量分のデータＤ（つまり、ストリップを構成する各ピクセルのカラーコード）をバイト単位で読み出し、バイト単位、リトルエンディアンの順序で順次ピクセルジェネレータ７０へ出力する。以下では、データＤを、ストリップパターンデータＤと呼ぶ。
【０１６１】
キャラクタフェッチャ６８は、ストリップパターンデータＤだけでなく、他の信号Ｂｓ，Ｓｓ，Ｆｓ，Ｘｓ，Ｚｓ，Ｐｓも、ピクセルジェネレータ７０に出力する。また、キャラクタフェッチャ６８は、信号ＶＡＬＩＤを、ピクセルジェネレータ７０に与え、ピクセルジェネレータ７０から、信号ＷＩＳＨが入力される。
【０１６２】
ピクセルジェネレータ７０は、順番に入力されるバイトデータ（ストリップパターンＤの一部あるいは全部）をリトルエンディアンに並べ、その下位からＢｓが示す１ピクセルのビット数（Ｍビット／ピクセル：Ｍ＝１〜８）分のデータ（１ピクセルのカラーコード）を取り出す。そして、ピクセルジェネレータ７０は、取り出した１ピクセルのカラーコードを、パレット情報Ｐｓと合成して、８ビットのカラーコードＣを生成する。この場合の合成の方法は次の通りである。まず、８ビットの上位４ビットをパレット情報Ｐｓで埋め、次にビット数Ｍ分の下位を、取り出した１ピクセルのカラーコードで埋める。残ったビットは「０」で埋めるようにする。ビット数Ｍが５ビット以上のときは、取り出した１ピクセルのカラーコードにより、パレット情報Ｐｓが下位から侵食される。
【０１６３】
以上のようにして、ピクセルジェネレータ７０は、バイト単位で与えられるストリップパターンデータＤを基に、ピクセル単位のカラーコードＣ（以下、ピクセルカラーコードＣと呼ぶ。）を生成する。なぜなら、ストリップパターンデータＤは、バイト単位で与えられ、多くの場合１ピクセルのビット数Ｂｓは８ビット（１バイト）ではないからである。
【０１６４】
また、ピクセルジェネレータ７０は、キャラクタの水平位置情報Ｘｓに基づいて、ピクセルごとの水平位置情報Ｘｐを算出する。この場合、フリップ情報Ｆｓが、水平方向の反転を示しているときは、サイズ情報Ｓｓが示す水平サイズ分進んだところから逆に減少するように計算を行って、水平位置情報Ｘｐを求める。
【０１６５】
ピクセルジェネレータ７０は、以上のようにして求めたピクセルカラーコードＣ及び水平位置情報Ｘｐを、デプス情報Ｚｓとともに、トランスペアレントコントローラ７２に出力する。ただし、ビット数Ｂｓ、サイズ情報Ｓｓ、フリップ情報Ｆｓ、及びパレット情報Ｐｓは、後段で使われないので送出はしない。また、ピクセルジェネレータ７０は、信号ＶＡＬＩＤを、トランスペアレントコントローラ７２に与え、トランスペアレントコントローラ７２から、信号ＷＩＳＨが入力される。
【０１６６】
トランスペアレントコントローラ７２は、ＣＰＵ１から間接的にアクセスできる１６エントリ×５ビットの透明制御メモリ（図示せず）を備える。後述のキャラクタ用カラーパレット８４は、２５６エントリ×１６ビットのローカルメモリにより構成され、これを１６エントリごとの１６ブロックとみなすと、各ブロックに最大１つの透明色を設定できる。透明制御メモリの各エントリは、キャラクタ用カラーパレット８４の各ブロックに対応している。ＣＰＵ１が、キャラクタ用カラーパレット８４のあるエントリに色データを書き込んだとき、その色が透明色であれば、そのエントリを含むブロックに対応する透明制御メモリのエントリは、ブロック内のどのエントリが透明色かを４ビットで記憶するとともに、残りの１ビット（以下、透明有効ビット、と呼ぶ。）に「１」をセットする。ここで、透明色に設定されているキャラクタ用カラーパレット８４のエントリに非透明の色データを書き込むと、透明有効ビットの値は「０」にクリアされ、そのエントリは透明色でなくなる。
【０１６７】
トランスペアレントコントローラ７２は、ピクセルジェネレータ７０から入力されたピクセルカラーコードＣの上位４ビット（つまり、パレット情報Ｐｓ）で透明制御メモリをアクセスし、アクセスしたエントリの透明有効ビットが「１」であって、かつ、アクセスしたエントリの残り４ビットとピクセルカラーコードＣの下位４ビットとが一致していれば、そのピクセルを透明と判断する。
【０１６８】
トランスペアレントコントローラ７２は、非透明と判断したピクセルの情報（水平位置情報Ｘｐ、デプス情報Ｚｓ、及びピクセルカラーコードＣ）は、ドロードライバ７４へ出力し、透明と判断したピクセルの情報は、出力せず、ここで捨てる。また、トランスペアレントコントローラ７２は、信号ＶＡＬＩＤを、ドロードライバ７４に与え、ドロードライバ７４から、信号ＷＩＳＨが入力される。
【０１６９】
ドロードライバ７４は、水平位置情報Ｘｐと水平走査カウント信号ＨＰとから、その水平位置情報Ｘｐで表示位置が示されるピクセルがピクセルバッファ７８と重なっているか否かを判断し、重なっている場合は、ピクセルバッファコントローラ７６に対して、そのピクセルのデプス情報Ｚｓ及びピクセルカラーコードＣを、ピクセルバッファ７８へ書き込むことを要求（つまり、描画要求）する。要求してから受諾されるまでに、水平走査カウント信号ＨＰが１ステップ進む可能性があるので、ドロードライバ７４は、１ピクセル少ないピクセルバッファ７８の領域で重なりを判定する。
【０１７０】
つまり、ドロードライバ７４は、ピクセルがピクセルバッファ７８と重なっていると判断したときは、描画要求信号ＲＥＱをピクセルバッファコントローラ７６に出力し、ピクセルバッファコントローラ７６から、信号ＷＩＳＨが入力されたときに、水平位置情報Ｘｐ、デプス情報Ｚｓ、及びピクセルカラーコードＣを、ピクセルバッファコントローラ７６に出力する。
【０１７１】
ピクセルバッファコントローラ７６は、ドロードライバ７４からの描画要求とビュードライバ８０からの読み出し要求とを調停する。この場合、ビュードライバ８０からの読み出し要求が優先される。ピクセルバッファコントローラ７６は、調停の結果、許可した要求に応じた処理を実行する。この場合、ピクセルバッファコントローラ７６は、リード／ライト信号ＢＷを生成し、ピクセルバッファ７８を駆動して、アドレス情報ＢＡが指し示す位置からリードデータＢＯを読み出し、あるいは、アドレス情報ＢＡが指し示す位置にライトデータＢＩを書き込む。要求（描画／読み出し）ごとの処理の詳細は次の通りである。
【０１７２】
ピクセルバッファコントローラ７６は、ドロードライバ７４からの描画要求を許可したときは、ピクセルバッファ７８から読み出したリードデータ（デプス情報Ｚｐｂ及びピクセルカラーコードＣｐｂ）ＢＯに含まれるデプス情報Ｚｐｂとドロードライバ７４から入力されたデプス情報Ｚｓとを比較する。そして、ピクセルバッファコントローラ７６は、比較結果に応じて、ピクセルバッファ７８に書き込むデータＢＩを、読み出したリードデータ（デプス情報Ｚｐｂ及びピクセルカラーコードＣｐｂ）ＢＯにするか入力されたデータ（デプス情報Ｚｓ及びピクセルカラーコードＣ）にするかを決める。この場合、デプス情報が大きい方が、ライトデータＢＩとして、ピクセルバッファ７８に書き込まれる。なお、ピクセルバッファ７８に与えるアドレス情報ＢＡは、水平位置情報Ｘｐに基づいて生成される。
【０１７３】
一方、ピクセルバッファコントローラ７６は、ビュードライバ８０からの読み出し要求を許可したときは、ピクセルバッファ７８から読み出したリードデータ（デプス情報Ｚｐｂ及びピクセルカラーコードＣｐｂ）ＢＯをビュードライバ８０に出力する。なお、ビュードライバ８０へのリードデータＢＯの出力後に、ピクセルバッファ７８の該当位置をクリアするために書き込むデータは０固定（最も奥の位置を示すデプス情報に対応）である。また、ピクセルバッファ７８に与えるアドレス情報ＢＡは、ビュードライバ８０から入力されるアドレス情報Ｘａである。
【０１７４】
ピクセルバッファ７８は、デプスバッファ及びコードバッファからなり（図示せず）、それぞれ、１２８ピクセル×４ビット及び１２８ピクセル×８ビットである。ここで、ピクセルバッファ７８の１ピクセル分をピクセルバッファ単位（デプス情報Ｚｐｂを格納する４ビット及びピクセルカラーコードＣｐｂを格納する８ビットの計１２ビット）と呼ぶ。
【０１７５】
ピクセルバッファ７８は、走査位置（つまり、ビュードライバ８０による読み出し位置）のピクセルバッファ単位を末尾とし、その走査位置からピクセルバッファ７８の容量分先のピクセルバッファ単位が先頭となるように、デプス情報Ｚｐｂ及びピクセルカラーコードＣｐｂをピクセル単位で順次的に格納する。走査位置が移動したときは、末尾のピクセルバッファ単位が先頭の格納位置になるように、ピクセルバッファ単位を巡回させる。
【０１７６】
ビュードライバ８０は、水平走査カウント信号ＨＰに基づいて、ピクセルバッファコントローラ７６に対して、ピクセルバッファ７８からのデータの読み出しを要求する。この読み出し要求は、水平走査カウント信号ＨＰに基づいて生成したアドレス情報Ｘａと信号ＲＥＱとを、ピクセルバッファコントローラ７６に出力することにより行われる。ビュードライバ８０からの読み出し要求は、ピクセルバッファコントローラ７６により優先的に扱われるので、読み出し要求を待機させる信号は無い。
【０１７７】
また、ビュードライバ８０は、読み出したデプス情報Ｚｐｂ及びピクセルカラーコードＣｐｂをカラーパレットコントローラ８２に出力する。
【０１７８】
キャラクタ用カラーパレット８４は、２５６エントリ×１６ビットのローカルメモリであり、各エントリのデータは、色相（６ビット）／色飽和度（４ビット）／明度（６ビット）を示している。つまり、１エントリが１色に対応し、１６ビットで１色を表現する。
【０１７９】
色相は０〜４７までの整数で、色飽和度は０〜１５までの整数で、明度は０〜４７までの整数である。透明色の設定は、色相に４８〜６３の値を設定することにより行う。
【０１８０】
カラーパレットコントローラ８２は、ビュードライバ８０から入力されるピクセルカラーコードＣｐｂをアドレスＰ１Ａとして、キャラクタ用カラーパレット８４にアクセスし、ピクセルカラーコードＣｐｂを、色相Ｈｃ、色飽和度Ｓｃ、及び明度Ｌｃに変換して、デプス情報Ｚｓ（以下、このデプス情報Ｚｓをデプス情報Ｚｃと呼ぶ。）とともに、ピクセルミキサ９０に出力する。この場合の出力レートは、本実施の形態では、８クロック／ピクセルとする。カラーパレットコントローラ８２の詳細は後述する。
【０１８１】
ここで、色相Ｈｃ、色飽和度Ｓｃ、明度Ｌｃ、及びデプス情報Ｚｃからなるデータを、「ピクセルデータＰＤＣ」と呼ぶこともある。
【０１８２】
カラーパレットコントローラ８２が出力するピクセルデータＰＤＣにより表されるピクセルの二次元配列が、上述したキャラクタスクリーン（スプライト＋バックグラウンドスクリーン）である。
【０１８３】
本発明の特徴の１つであるビットマップジェネレータ８６は、後述のビデオタイミングジェネレータ１００が生成した水平走査カウント信号ＨＣ及び垂直走査カウント信号ＶＣに従って、メモリＭＥＭに格納されたビットマップデータを読み出して、ビットマップスクリーンを構成するピクセルデータＰＤＢ（色相Ｈｂ、色飽和度Ｓｂ、明度Ｌｂ、及びデプス情報Ｚｂからなるデータ）を生成して、水平解像度に応じた出力レートで、ピクセルミキサ９０に出力する。なお、上記のように、ビットマップスクリーンの水平解像度はプログラマブルであり、最大１水平当たり１０２４ピクセル相当までの解像度をサポートしている。ビットマップジェネレータ８６の詳細は後述する。
【０１８４】
ビットマップ用カラーパレット８８は、キャラクタ用カラーパレット８４と同じ構成を有する。ただし、透明色の設定は、色相に４７、色飽和度に０、明度に０の値を設定することにより行う。
【０１８５】
本発明の特徴の１つであるピクセルミキサ９０は、カラーパレットコントローラ８２から入力されるキャラクタスクリーンのピクセルデータＰＤＣとビットマップジェネレータ８６から入力されるビットマップスクリーンのピクセルデータＰＤＢとを合成する。ピクセルミキサ９０は、表示画面（テレビフレーム）上での奥行きを示すデプス情報Ｚｃ，Ｚｂに基づいて、出力するピクセルデータ（色相、色飽和度、及び明度からなるデータ）を決定する。ただし、デプス情報が手前を示している場合でも、色相が透明色を示している場合には、他方のピクセルデータが選択される。ピクセルミキサ９０の詳細は後述する。
【０１８６】
ここで、ピクセルミキサ９０が出力するピクセルデータを構成する色相、色飽和度、及び明度を、それぞれ、色相Ｈｍ、色飽和度Ｓｍ、及び明度Ｌｍと表記する。
【０１８７】
ウィンドウジェネレータ９６は、ビットマップスクリーンと合成されたキャラクタスクリーンに特殊効果を与えるための回路であり、それをマスク領域と非マスク領域に分割する。マスク領域に対しては、後述のカラーモジュレータ９２で特殊効果を与えることができる。このウィンドウジェネレータ９６は、ＣＰＵ１からアクセスできるレジスタを備えており、１水平ラインにおけるマスク開始点の座標、マスク終了点の座標、及びキャラクタスクリーン左端の論理を設定できる。キャラクタスクリーン左端の論理とは、左端の状態、つまり、左端がマスクありかマスクなしかを示す論理である。
【０１８８】
ウィンドウジェネレータ９６は、設定されたキャラクタスクリーン左端の論理に従って、信号ＷＩＮの出力を開始し、水平走査カウント信号ＨＰがマスク開始点と一致するとアサートされ、マスク終了点に一致するとネゲートされる。また、信号ＷＩＮがマスク開始点またはマスク終了点に一致するたびに、ＣＰＵ１に対し割り込みを発生でき、マスク開始点及びマスク終了点を逐次的に変更できるようになっている。これにより、ビットマップスクリーンと合成されたキャラクタスクリーンのマスク領域を様々な形状に設定することができる。
【０１８９】
ノイズジェネレータ９４は、カラーモジュレータ９２で実現する視覚的色効果の１つを演出するためのノイズを生成する。具体的には、ノイズジェネレータ９４は、Ｍ系列（ポリノミナルカウンタ）を用いたデジタル擬似乱数系列発生器であり、Ｍ系列の下位３ビットをノイズ成分Ｎ［２：０］として出力する。なお、ノイズジェネレータ９４は、リセット信号ＬＰＷでリセットされ、異常なループで巡回しないようにしている。
【０１９０】
カラーモジュレータ９２は、入力された色（色相Ｈｍ／色飽和度Ｓｍ／明度Ｌｍ）に種々の視覚的効果を与える回路である。カラーモジュレータ９２は、信号ＷＩＮがアサートされているときに、活性化され、ネゲートされているときに非活性化される。
【０１９１】
カラーモジュレータ９２は、ＣＰＵ１からアクセスできる様々なレジスタ及びフラグを備えており、これで視覚的効果を設定することができる。設定できる効果として次の４つがある。
【０１９２】
第１は、色相、色飽和度、及び明度の各要素を固定できる。各要素の値は、対応するレジスタ（図示せず）に設定する。このレジスタの値は、対応するフラグ（図示せず）が「１」のとき有効になる。このフラグは、要素ごとに設けられているので、固定値を使用するか否かを要素ごとに設定できる。
【０１９３】
第２は、ハーフトーン表示を行うべく、対応するフラグ（図示せず）を「１」にすることで、明度Ｌｍと色飽和度Ｓｍの値をそれぞれ半分にすることができる。
【０１９４】
第３は、ネガ／ポジを反転することができる。具体的には、色相Ｈｍに値２４を加算し結果が４７を越えたら０に巡回するように値４８を引き、明度Ｌｍを値４７から引くことで明暗を逆にする。
【０１９５】
第４は、輝度に適当なノイズを加えることができる。具体的には、明度Ｌｍの下位３ビットとノイズジェネレータ９４からのノイズ成分Ｎ［２：０］とをビット単位で排他的論理和演算する。この演算を行うか否かを設定できるフラグ（図示せず）が、３ビットのそれぞれに対して設けられており、これによりノイズが加わる量を加減できる。
【０１９６】
ここで、カラーモジュレータ９２により、視覚的効果を与えた後の色相Ｈｍ、色飽和度Ｓｍ、及び明度Ｌｍを、それぞれ色相Ｈｆ、色飽和度Ｓｆ、及び明度Ｌｆと呼ぶ。ただし、この視覚的効果は、必ずしも与えられるものではないため、カラーモジュレータ９２が、視覚的効果を与えずにそのまま出力する色相Ｈｍ、色飽和度Ｓｍ、及び明度Ｌｍも、それぞれ色相Ｈｆ、色飽和度Ｓｆ、及び明度Ｌｆと表記する。
【０１９７】
ビデオエンコーダ９８は、カラーモジュレータ９２から入力された色情報（色相Ｈｆ、色飽和度Ｓｆ、及び明度Ｌｆ）と、ビデオタイミングジェネレータ１００から入力されたタイミング情報（複合同期信号ＳＹＮ、複合ブランキング信号ＢＬＫ、バーストフラグ信号ＢＳＴ、及びライン交番信号ＬＡ等）と、を入力される信号ＶＳに対応したコンポジットビデオ信号ＶＤに変換する。信号ＶＳは、テレビジョン方式（ＮＴＳＣ／ＰＡＬ）を指示する信号である。なお、ライン交番信号ＬＡは、信号ＶＳにより、テレビジョン方式として、ＰＡＬが指示されたときに使用される。ビデオエンコーダ９８の詳細は、次の通りである。
【０１９８】
ビデオエンコーダ９８は、値４７の次が値０になるように巡回する６ビットで４８進のカウンタを有しており、このカウンタは、４３ＭＨｚのクロックＣＫ４０に応じて、ＮＴＳＣは４つずつ、ＰＡＬは５つずつ進む。従って、ＮＴＳＣは、１２回で１周し、ＰＡＬは９．６回で１周する。
【０１９９】
このカウンタは、ちょうどサブキャリアの周期で巡回するので、サブキャリア発振器とみなせ、このカウンタの値は位相を表すことになる。なお、ＮＴＳＣの場合、カウンタの下位２ビットが変化しなくなるので、これが漸近的に０になるようにして、同一のパターンに集束するようにしている。
【０２００】
ビデオエンコーダ９８は、色相Ｈｆとこのサブキャリアの位相データとを加算し、サブキャリアを色相Ｈｆで位相変調した位相データである位相変調位相データを作成する。そして、ビデオエンコーダ９８は、この位相変調位相データを波形ＲＯＭで振幅データに変換する。さらに、ビデオエンコーダ９８は、その振幅データと色飽和度Ｓｆとを掛け合わせ、色飽和度Ｓｆで振幅変調した信号（つまり、変調色信号）にする。一方、ビデオエンコーダ９８は、明度Ｌｆに、値８のオフセットを加え輝度信号とする。
【０２０１】
ビデオエンコーダ９８は、この変調色信号と輝度信号とを加えて、デジタルのコンポジットビデオ信号とし、これをＡＤコンバータ（図示せず）でアナログ信号に変換し、アナログのコンポジットビデオ信号ＶＤとして外部に出力する。
【０２０２】
ビデオエンコーダ９８は、複合ブランキング信号ＢＬＫがアサートされているときは、輝度信号を黒レベル＝値８にし、複合同期信号ＳＹＮがアサートされているときは、輝度信号を同期レベル＝値０にする。また、ビデオエンコーダ９８は、色相及び色飽和度を、複合ブランキング信号ＢＬＫがアサートされているときは値０に、バーストフラグ信号ＢＳＴがアサートされているときは一定の値になるように制御する。従って、これらの場合は、カラーモジュレータ９２から入力された色相Ｈｆ及び色飽和度Ｓｆは使用しない。さらに、ビデオエンコーダ９８は、複合ブランキング信号ＢＬＫがアサートされているときは、輝度信号に変調色信号を加えず、輝度信号のみをコンポジットビデオ信号ＶＤとして出力する。ただし、ビデオエンコーダ９８は、複合ブランキング信号ＢＬＫがアサートされている場合でも、所定のタイミングでカラーバースト信号を出現させる。
【０２０３】
ビデオタイミングジェネレータ１００は、クロックＣＫ４０を基に、水平走査カウント信号ＨＣ及び垂直走査カウント信号ＶＣ、並びに、複合同期信号ＳＹＮ、複合ブランキング信号ＢＬＫ、バーストフラグ信号ＢＳＴ、及びライン交番信号ＬＡ等のタイミング信号を生成する。
【０２０４】
ビデオタイミングジェネレータ１００は、分周器で構成され、信号ＶＳに従って、つまり、ＮＴＳＣかＰＡＬかで、分周率を変えている。ビデオタイミングジェネレータ１００の生成するタイミングは、ＣＰＵ１によって設定変更が可能であるが、初期設定では、ＮＴＳＣの場合に、ＣＫ４０の２７３０クロックを１水平周期とし、２６３水平周期を１垂直周期とする。また、ＰＡＬでは、ＣＫ４０の２７２４クロックを１水平周期とし、３１４水平周期を１垂直周期とする。
【０２０５】
このような分周率にしたのは、ＮＴＳＣ／ＰＡＬの標準信号に近い水平／垂直周波数と、標準信号に合わせたインターリーブ方式と、を提供するためである。ＮＴＳＣは、ライン／フレームともインターリーブが１８０度、ＰＡＬは、ラインインターリーブを２７０度にしている。ただし、ＰＡＬのフレームインターリーブは、標準と違って１８０度にしている。これはノンインターレース方式において、サブキャリアが輝度に与えるドット妨害を軽減するためである。
【０２０６】
ここで、図示していないが、ビデオタイミングジェネレータ１００は、水平周期を設定するためのレジスタ、水平同期パルスの左端を設定するレジスタ、等価パルスの右端を設定するレジスタ、水平同期パルスの右端を設定するレジスタ、カラーバーストの左端を設定するレジスタ、カラーバーストの右端を設定するレジスタ、ビデオフィールドの左端を設定するレジスタ、垂直同期パルスの右端を設定するレジスタ、ビデオフィールドの右端を設定するレジスタ、垂直周期を設定するためのレジスタ、ビデオフィールドの下端を設定するレジスタ、カラーバーストの下端を設定するレジスタ、等価パルスの上端を設定するレジスタ、垂直同期パルスの上端を設定するレジスタ、垂直同期パルスの下端を設定するレジスタ、等価パルスの下端を設定するレジスタ、カラーバーストの上端を設定するレジスタ、及び、ビデオフィールドの上端を設定するレジスタを具備する。従って、ＣＰＵ１は、これらのレジスタにアクセスすることで、コンポジットビデオ信号ＶＤのフォームを調整できる。
【０２０７】
本発明の特徴の１つであるビデオポジションアジャスタ１０２は、表示画面（テレビフレーム）に対するキャラクタスクリーンの位置を調整する。具体的には次の通りである。
【０２０８】
ビデオポジションアジャスタ１０２は、入力される水平走査カウント信号ＨＣ及び垂直走査カウント信号ＶＣに対して、それぞれオフセットを与え、水平走査カウント信号ＨＰ及び垂直走査カウント信号ＶＰを生成する。水平走査カウント信号ＨＰ及び垂直走査カウント信号ＶＰは、上記のように、キャラクタスクリーンの生成に関わる各機能ブロックに対して出力される。オフセットは、ビデオポジションアジャスタ１０２に内蔵される制御レジスタ２４２，２４４，２５０，２５２（後述の図１７参照）に対し、ＣＰＵ１がアクセスすることで設定される。詳細は後述する。
【０２０９】
ここで、上記のように、ビットマップジェネレータ８６では、ビデオタイミングジェネレータ１００で生成された水平走査カウント信号ＨＣ及び垂直走査カウント信号ＶＣが使用される。従って、ビデオポジションアジャスタ１０２により、キャラクタスクリーンとビットマップスクリーンとの相対的な位置関係の調整が可能になる。
【０２１０】
ビデオファンクションジェネレータ１０４は、水平走査カウント信号ＨＰ及び垂直走査カウント信号ＶＰを基に、キャラクタスクリーンの１フレーム分の描画終了タイミングを認識し、そのタイミングでマスク不可割込み信号ＮＭＩ（Ｎｏｎ−Ｍａｓｋａｂｌｅ  Ｉｎｔｅｒｒｕｐｔ）をＣＰＵ１に与える。これにより、ＣＰＵ１は、キャラクタスクリーンの１フレーム分の描画終了を認識できる。また、ビデオファンクションジェネレータ１０４は、水平走査カウント信号ＨＰ及び垂直走査カウント信号ＶＰが、制御レジスタ（図示せず）に設定された値と一致したときに、割込み要求信号ＩＲＱ（Ｉｎｔｅｒｒｕｐｔ  Ｒｅｑｕｅｓｔ）を発生させる。この制御レジスタに対して、ＣＰＵ１はアクセス可能であり、割込み要求信号ＩＲＱの発生タイミングを制御できる。さらに、ビデオファンクションジェネレータ１０４は、ライトペン入力信号ＬＰ０，ＬＰ１のエッジで、水平走査カウント信号ＨＰ及び垂直走査カウント信号ＶＰの値をラッチする。
【０２１１】
ＣＰＵ１は、第１バス３１を通じてラッチされた値を読み出すことができる。なお、マスク不可割込み信号ＮＭＩ及び割込み要求信号ＩＲＱは、グラフィックスプロセッサ３からＣＰＵ１への割込み要求信号ＩＮＲＱを構成するものである。
【０２１２】
また、スプライトＤＭＡコントローラ５０、第１のバックグラウンドジェネレータ５６、及び第２のバックグラウンドジェネレータ６０は、第１バス３１へのバス要求機能を備えており、メインメモリ１７から能動的にデータを取得できる。また、キャラクタフェッチャ６８及びビットマップジェネレータ８６は、第１バス３１及び第２バス３３へのバス要求機能を備えており、メインメモリ１７及び外部メモリ４５から能動的にデータを取得できる。
【０２１３】
さて、次に、ピクセルミキサ９０の詳細を説明する。
【０２１４】
図１０は、図９のピクセルミキサ９０の内部構成を示すブロック図である。図１１は、図９のピクセルミキサ９０による選択ピクセル決定のための真理値表である。
【０２１５】
図１０に示すように、ピクセルミキサ９０は、選択ピクセル決定回路１１０、およびマルチプレクサ１１２，１１４，１１６により構成される。選択ピクセル決定回路１１０には、図９のカラーパレットコントローラ８２から、キャラクタスクリーンのピクセルデータＰＤＣに含まれるデプス情報Ｚｃおよび色相情報Ｈｃが入力される。また、図９のビットマップジェネレータ８６からは、選択ピクセル決定回路１１０に、ビットマップスクリーンのピクセルデータＰＤＢに含まれるデプス情報Ｚｂ及び色相情報Ｈｂが入力される。
【０２１６】
選択ピクセル決定回路１１０は、図１１の真理値表にしたがって、キャラクタスクリーンのピクセルデータＰＤＣ（色相Ｈｃ／色飽和度Ｓｃ／明度Ｌｃ）あるいはビットマップスクリーンのピクセルデータＰＤＢ（色相Ｈｂ／色飽和度Ｓｂ／明度Ｌｂ）のいずれか一方を選択する選択信号ＳＥＬＰをマルチプレクサ１１２，１１４，１１６に出力する。具体的には次の通りである。
【０２１７】
図１１に示すように、選択ピクセル決定回路１１０は、デプス情報Ｚｃ≧デプス情報Ｚｂであって、色相Ｈｃ≧０ｘ３０（つまり、色相Ｈｃが透明色を示す場合）の場合は、色相Ｈｂ、色飽和度Ｓｂ、及び明度Ｌｂを選択する選択信号ＳＥＬＰを出力する。また、選択ピクセル決定回路１１０は、デプス情報Ｚｃ≧デプス情報Ｚｂであって、色相Ｈｃ＜０ｘ３０（つまり、色相Ｈｃが非透明色を示す場合）の場合は、色相Ｈｃ、色飽和度Ｓｃ、及び明度Ｌｃを選択する選択信号ＳＥＬＰを出力する。
【０２１８】
選択ピクセル決定回路１１０は、デプス情報Ｚｃ＜デプス情報Ｚｂであって、色相Ｈｂ≧０ｘ３０（つまり、色相Ｈｂが透明色を示す場合）の場合は、色相Ｈｃ、色飽和度Ｓｃ、及び明度Ｌｃを選択する選択信号ＳＥＬＰを出力する。また、選択ピクセル決定回路１１０は、デプス情報Ｚｃ＜デプス情報Ｚｂであって、色相Ｈｂ＜０ｘ３０（つまり、色相Ｈｂが非透明色を示す場合）の場合は、色相Ｈｂ、色飽和度Ｓｂ、及び明度Ｌｂを選択する選択信号ＳＥＬＰを出力する。
【０２１９】
以上のように、選択ピクセル決定回路１１０は、デプス情報の大きい（つまり、前面側の）ピクセルデータ（Ｈ／Ｓ／Ｌ）を選択する選択信号ＳＥＬＰを生成する。ただし、選択ピクセル決定回路１１０は、色相が透明色を示しているときは、デプス情報の如何に関係なく、他方のピクセルデータ（Ｈ／Ｓ／Ｌ）を選択する選択信号ＳＥＬＰを生成する。
【０２２０】
マルチプレクサ１１２は、選択信号ＳＥＬＰに従って、入力されるキャラクタスクリーンの色相情報Ｈｃあるいはビットマップスクリーンの色相情報Ｈｂのいずれかを選択して、色相情報Ｈｍとして、カラーモジュレータ９２へ出力する。マルチプレクサ１１４は、選択信号ＳＥＬＰに従って、入力されるキャラクタスクリーンの色飽和度情報Ｓｃあるいはビットマップスクリーンの色飽和度情報Ｓｂのいずれかを選択して、色飽和度情報Ｓｍとして、カラーモジュレータ９２へ出力する。マルチプレクサ１１６は、選択信号ＳＥＬＰに従って、入力されるキャラクタスクリーンの明度情報Ｌｃあるいはビットマップスクリーンの明度情報Ｌｂのいずれかを選択して、明度情報Ｌｍとして、カラーモジュレータ９２へ出力する。
【０２２１】
以上のようにして、ピクセルミキサ９０は、デプス情報Ｚｃ，Ｚｂ及び色相情報Ｈｃ，Ｈｂに基づいて、キャラクタスクリーンのピクセルデータＰＤＣあるいはビットマップスクリーンのピクセルデータＰＤＢのいずれかを選択／出力していって、キャラクタスクリーンとビットマップスクリーンとを合成する。
【０２２２】
図１２は、図９のピクセルミキサ９０による画像合成の様子の１例を示すタイミングチャートである。図１２（信号（ａ）〜（ｅ））に示すように、キャラクタスクリーンの１ピクセル分のデータ出力期間がＣＫ４０の８クロックに相当するため、カラーパレットコントローラ８２は、ＣＫ４０の８クロック／ピクセルの出力レートで、キャラクタスクリーンの色相Ｈｃ、色飽和度Ｓｃ、明度Ｌｃ、及びデプス情報Ｚｃを出力する。
【０２２３】
一方、ビットマップスクリーンの水平解像度はプログラマブルであり、図１２では、１ピクセル分のデータ出力レートはＣＫ４０の３クロック／ピクセルとする。従って、図１２（信号（ａ）及び信号（ｆ）〜（ｉ））に示すように、ビットマップジェネレータ８６は、ＣＫ４０の３クロック／ピクセルの出力レートで、ビットマップスクリーンの色相Ｈｂ、色飽和度Ｓｂ、明度Ｌｂ、及びデプス情報Ｚｂを出力する。
【０２２４】
期間Ｔ０では、Ｚｃ＞Ｚｂであるため、図１２（信号（ｊ）〜（ｌ））に示すように、（Ｈｍ，Ｓｍ，Ｌｍ）＝（Ｈｃ，Ｓｃ，Ｌｃ）となる。期間Ｔ１では、Ｚｃ＜Ｚｂであるため、（Ｈｍ，Ｓｍ，Ｌｍ）＝（Ｈｂ，Ｓｂ，Ｌｂ）となる。期間Ｔ２では、Ｚｃ＜Ｚｂであるため、（Ｈｍ，Ｓｍ，Ｌｍ）＝（Ｈｂ，Ｓｂ，Ｌｂ）となる。期間Ｔ３では、Ｚｃ＞Ｚｂであるため、（Ｈｍ，Ｓｍ，Ｌｍ）＝（Ｈｃ，Ｓｃ，Ｌｃ）となる。期間Ｔ４では、Ｚｃ＜Ｚｂであるが、色相Ｈｂが透明色（３ＦＨ）を示しているため、（Ｈｍ，Ｓｍ，Ｌｍ）＝（Ｈｃ，Ｓｃ，Ｌｃ）となる。
【０２２５】
以上のように、ピクセルミキサ９０の選択ピクセル決定回路１１０は、ピクセルデータＰＤＣ及びＰＤＢが入力されるたびに、デプス情報Ｚｃ及びＺｂ、並びに色相Ｈｃ及びＨｂに基づいて、選択するピクセルデータ（Ｈ／Ｓ／Ｌ）を決定して、マルチプレクサ１１２，１１４，１１６に決定したピクセルデータ（Ｈ／Ｓ／Ｌ）を選択させる。
【０２２６】
さて、次に、図９のカラーパレットコントローラ８２の詳細を説明する。
【０２２７】
図１３は、図９のカラーパレットコントローラ８２の内部構成を示すブロック図である。図１３に示すように、カラーパレットコントローラ８２は、マルチプレクサ１２０，１２４，１２６，１３０，１３２，１３４，１３６，１４２、テンポラリアドレスレジスタ１２２、テンポラリデータレジスタ１２８、アドレスデコーダ１４０、制御論理ブロック１３８、及びピクセル出力制御回路１４４を含む。
【０２２８】
アドレスデコーダ１４０は、第１バス３１のアドレスＦＢＡＤ［１４：０］のデコード結果及び内部リード／ライト信号ＦＢＲＷに基づいて、マルチプレクサ１２０，１２４，１２６，１３０，１３２，１３４，１３６を制御するための制御信号を制御論理ブロック１３８に出力する。制御論理ブロック１３８は、この制御信号に基づいて、マルチプレクサ１２０，１２４，１２６，１３０，１３２，１３４，１３６に選択信号を出力する。また、アドレスデコーダ１４０は、第１バス３１のアドレスＦＢＡＤ［１４：０］のデコード結果及び内部リード／ライト信号ＦＢＲＷに基づいて、マルチプレクサ１４２に選択信号を出力する。マルチプレクサ１２０，１２４，１２６，１３０，１３２，１３４，１３６，１４２の各々は、入力された選択信号に従って、入力される複数の信号から１つの信号を選択して出力する。
【０２２９】
キャラクタ用カラーパレット８４へのアクセスモードには、大きく分けて以下の３つが存在する。第１のアクセスモードは、第１バス３１のアドレス空間にマッピングされたカラーパレット８４のデータを更新するモードである。第２のアクセスモードは、カラーコンポーネントアクセスポートを通じてのカラーパレット８４のデータを更新するモードである。第３のアクセスモードは、表示のためにカラーパレット８４のデータをリードするモードである。
【０２３０】
ここで、カラーパレット８４の各エントリは、１６ビットであり、１６ビットのカラーパレットデータ［１５：０］（色相Ｈ［５：０］／色飽和度Ｓ［３：０］／明度Ｌ［５：０］）が格納されている。カラーパレットデータ［４：０］及び［１３］がそれぞれ色相Ｈ［５：１］及び［０］であり、カラーパレットデータ［７：５］及び［１４］がそれぞれ色飽和度Ｓ［３：１］及び［０］であり、カラーパレットデータ［１２：８］及び［１５］がそれぞれ明度Ｌ［５：１］及び［０］である。
【０２３１】
第１のアクセスモードについて説明する。ＣＰＵ１が第１のアクセスモードにてカラーパレット８４にアクセスする場合、カラーパレット８４の内容が全て異なるアドレスにマッピングされているというメリットがある反面、色相／色飽和度／明度のコンポーネントが１６ビットに隙間無く配置されているため、通常はＣＰＵ１自身でリード・モディファイ・ライトの処理を行う必要があるというデメリットがある。但し、１６ビットの色データを単に書き込むだけであれば、ライトの処理だけでよい。
【０２３２】
カラーパレット８４の各エントリには、１６ビットのデータが隙間無く配置されている。このため、色相Ｈ、色飽和度Ｓおよび明度Ｌの内一若しくは二つを更新する場合、又は、これら三つのカラーコンポーネントの全てを更新するときでも、それらに演算処理を施す場合には、ＣＰＵ１が、リード・モディファイ・ライトを行わなければならない。また、色相Ｈ、色飽和度Ｓおよび明度ＬのＬＳＢは、それぞれ、カラーパレット８４のエントリのビット１３，１４，１５に格納されているため、ビット並び替えの処理も必要となる。
【０２３３】
リード・モディファイ・ライトが必要な場合、ＣＰＵ１は、まず、カラーパレット８４から、カラーパレットデータをリードする。この点を詳しく説明する。
【０２３４】
第１バス３１のアドレスＦＢＡＤ［１４：０］が、０ｘ６８００〜０ｘ６８ＦＦのいずれかを示している場合、カラーパレット８４のエントリの下位バイトデータへのアクセスが行われる。また、第１バス３１のアドレスＦＢＡＤ［１４：０］が、０ｘ６９００〜０ｘ６９ＦＦのいずれかを示している場合、カラーパレット８４のエントリの上位バイトデータへのアクセスが行われる。
【０２３５】
アドレスＦＢＡＤが上記のいずれかを示し、かつ、内部リード／ライト信号ＦＢＲＷがリードを示している場合は、制御論理ブロック１３８は、アドレスデコーダ１４０からの制御信号に応じて、マルチプレクサ１２０及び１２４に対して、アドレスＦＢＡＤ［７：０］を選択する選択信号を出力する。これにより、テンポラリアドレスレジスタ１２２には、アドレスＦＢＡＤ［７：０］が保持され、マルチプレクサ１２４は、テンポラリアドレスレジスタ１２２に保持されたアドレスＦＢＡＤ［７：０］を、カラーパレットアドレスＰ１Ａ［７：０］として、カラーパレット８４へ出力する。
【０２３６】
内部リード／ライト信号ＦＢＲＷがリードを示している場合は、制御論理ブロック１３８は、アドレスデコーダ１４０からの制御信号に応じて、カラーパレット８４に対して、リードを示すカラーパレットリード／ライト信号Ｐ１Ｗを、カラーパレット８４へ出力する。その結果、カラーパレットアドレスＰ１Ａ［７：０］が指し示す位置から、カラーパレットデータＰ１Ｉが読み出される。
【０２３７】
ここで、カラーパレット８４は、２５６のエントリからなり、第１バス３１のアドレスＦＢＡＤの下位８ビットが、カラーパレット８４のエントリ番号（色番号）に対応するように、カラーパレット８４は、第１バス３１のアドレス空間にマッピングされる。このため、上記のように、アドレスＦＢＡＤ［７：０］が、カラーパレットアドレスＰ１Ａ［７：０］として、カラーパレット８４へ出力される。
【０２３８】
アドレスＦＢＡＤが、０ｘ６８００〜０ｘ６８ＦＦのいずれかを示し、かつ、内部リード／ライト信号ＦＢＲＷがリードを示している場合は、制御論理ブロック１３８は、アドレスデコーダ１４０からの制御信号に応じて、マルチプレクサ１２６に対して、カラーパレット８４から読み出されたカラーパレットデータＰ１Ｉ［７：０］を選択する選択信号を出力する。これにより、マルチプレクサ１２６から、テンポラリデータレジスタ１２８へカラーパレットデータＰ１Ｉ［７：０］が与えられ、一旦保持される。
【０２３９】
従って、このリードサイクルでは、カラーパレットデータＰ１Ｉ［７：０］を読み出すことができない。０ｘ６８００〜０ｘ６８ＦＦのアドレス空間からの次のリードサイクルにおいて、アドレスデコーダ１４０が、テンポラリデータレジスタ１２８に保持されたカラーパレットデータＰ１Ｉ［７：０］を選択する選択信号をマルチプレクサ１４２に出力することにより、マルチプレクサ１４２は、カラーパレットデータＰ１Ｉ［７：０］を内部データＦＢＤＯ［７：０］として出力する。
【０２４０】
なお、０ｘ６９００〜０ｘ６９ＦＦのアドレス空間からのデータリードにおいては、マルチプレクサ１２６は、制御論理ブロック１３８からの制御信号に従って、カラーパレットデータＰ１Ｉ［１５：８］を選択し、テンポラリデータレジスタ１２８に出力する。これ以外の点は、０ｘ６８００〜０ｘ６８ＦＦのアドレス空間からのデータリードと同様であり、説明を省略する。
【０２４１】
ＣＰＵ１は、内部データＦＢＤＯとして読み出したカラーパレットデータＰ１Ｉを更新し、次にライトを行う。このライト動作は、三つのカラーコンポーネントの全てを更新する場合でも同様に行われる。詳しくは次の通りである。ＣＰＵ１は、更新したカラーパレットデータを内部データＦＢＤＩとして、マルチプレクサ１２６に与える。アドレスＦＢＡＤが０ｘ６８００〜０ｘ６８ＦＦ，０ｘ６９００〜０ｘ６９ＦＦを示し、かつ、内部リード／ライト信号ＦＢＲＷがライトを示している場合は、制御論理ブロック１３８は、アドレスデコーダ１４０からの制御信号に応じて、マルチプレクサ１２６に対して、内部データＦＢＤＩ［７：０］を選択する選択信号を出力する。これにより、テンポラリデータレジスタ１２８には、内部データＦＢＤＩ［７：０］が保持され、マルチプレクサ１３０，１３２，１３４，１３６に与えられる。
【０２４２】
アドレスＦＢＡＤが、０ｘ６８００〜０ｘ６８ＦＦのいずれかを示し、かつ、内部リード／ライト信号ＦＢＲＷがライトを示している場合は、制御論理ブロック１３８は、先ず、第１のサイクルでカラーパレット８４からのリードを行う。これは、カラーパレット８４の１エントリが１６ビットで構成されており、ここではエントリの下位バイトしか書き換えられないため、エントリの現在値を読み出し、下位バイトを置き換えた後に再度エントリに書き込む必要があるからである。制御論理ブロック１３８は、マルチプレクサ１２０に対してアドレスＦＢＡＤ［７：０］を、マルチプレクサ１２４に対してテンポラリアドレスレジスタ１２２［７：０］を選択する選択信号を出力するとともに、カラーパレットリード／ライト信号Ｐ１Ｗをリードに設定する。このサイクルで、カラーパレットアドレスＰ１Ａ［７：０］により選択されたエントリのデータがカラーパレットデータＰ１Ｉ［１５：０］として読み出される。
【０２４３】
第２のサイクルでは、制御論理ブロック１３８は、マルチプレクサ１３０，１３２，１３４及び１３６に対して、それぞれ、カラーパレットデータＰ１Ｉ［１５：１３］、Ｐ１Ｉ［１２：８］、テンポラリデータレジスタ１２８の内部データＦＢＤＩ［７：５］及びＦＢＤＩ［４：０］を選択する選択信号を出力する。これにより、マルチプレクサ１３０，１３２，１３４及び１３６から、更新されたカラーパレットデータＰ１Ｏ［１５：０］が、カラーパレット８４に出力され、ライトを示すカラーパレットリード／ライト信号Ｐ１Ｗに従って、カラーパレットアドレスＰ１Ａが指し示す位置に書き込まれる。
【０２４４】
アドレスＦＢＡＤが、０ｘ６９００〜０ｘ６９ＦＦのいずれかを示し、かつ、内部リード／ライト信号ＦＢＲＷがライトを示している場合も、制御論理ブロック１３８は、先ず、第１のサイクルでカラーパレット８４からのリードを行う。これは、カラーパレット８４の１エントリが１６ビットで構成されており、ここではエントリの上位バイトしか書き換えられないため、エントリの現在値を読み出し、上位バイトを置き換えた後に再度エントリに書き込む必要があるからである。制御論理ブロック１３８は、マルチプレクサ１２０に対してアドレスＦＢＡＤ［７：０］を、マルチプレクサ１２４に対してテンポラリアドレスレジスタ１２２［７：０］を選択する選択信号を出力するとともに、カラーパレットリード／ライト信号Ｐ１Ｗをリードに設定する。このサイクルで、カラーパレットアドレスＰ１Ａ［７：０］により選択されたエントリのデータがカラーパレットデータＰ１Ｉ［１５：０］として読み出される。
【０２４５】
第２のサイクルでは、制御論理ブロック１３８は、マルチプレクサ１３０，１３２，１３４及び１３６に対して、それぞれ、テンポラリデータレジスタ１２８の内部データＦＢＤＩ［７：５］、ＦＢＤＩ［４：０］、カラーパレットデータＰ１Ｉ［７：５］、及びＰ１Ｉ［４：０］を選択する選択信号を出力する。これにより、マルチプレクサ１３０，１３２，１３４及び１３６から、更新後のカラーパレットデータＰ１Ｏ［１５：０］が、カラーパレット８４に出力され、ライトを示すカラーパレットリード／ライト信号Ｐ１Ｗに従って、カラーパレットアドレスＰ１Ａが指し示す位置に書き込まれる。
【０２４６】
第２のアクセスモードについて説明する。第１のアクセスモードでは、一つ又は二つのカラーコンポーネントを更新する場合などでは、ＣＰＵ１によるリード・モディファイ・ライトが必要であり、ＣＰＵ１の処理負担が増加する。そこで、第２のアクセスモードでは、色相Ｈ、色飽和度Ｓ、及び明度Ｌ（つまり３つのカラーコンポーネント）ごとに独立したアクセスポートを設けることで、処理負担の軽減を図っている。
【０２４７】
第１バス３１のアドレス空間において、０ｘ６Ｆ７８がカラーパレット８４のエントリ番号を入力するためのアクセスポートとして設定され、また、０ｘ６Ｆ７９が色相Ｈ、０ｘ６Ｆ７Ａが色飽和度Ｓ、及び０ｘ６Ｆ７Ｂが明度Ｌを更新／リードするためのアクセスポートとしてそれぞれ設定される。
【０２４８】
アドレスＦＢＡＤが、０ｘ６Ｆ７８を示している場合は、制御論理ブロック１３８は、アドレスデコーダ１４０からの制御信号に応じて、マルチプレクサ１２０及び１２４に対して、内部データＦＢＤＩを選択する選択信号を出力する。これにより、内部データＦＢＤＩが、マルチプレクサ１２０から、テンポラリアドレスレジスタ１２２に与えられ、保持される。この場合、内部データＦＢＤＩは、カラーパレット８４のエントリ番号（つまり、アドレス）を示している。テンポラリアドレスレジスタ１２２に保持された内部データＦＢＤＩは、マルチプレクサ１２４により選択され、カラーパレットアドレスＰ１Ａとして、カラーパレット８４に出力される。そして、制御論理ブロック１３８が出力するリードを示すカラーパレットリード／ライト信号Ｐ１Ｗに応じて、アドレスＰ１Ａが指し示す位置から、カラーパレットデータＰ１Ｉが読み出され、マルチプレクサ１２６，１３０，１３２，１３４，１３６，１４２に与えられる。この点は、色相Ｈ、色飽和度Ｓ、及び明度Ｌを更新／リードする場合で同じである。
【０２４９】
まず、更新について説明する。アドレスＦＢＡＤが、０ｘ６Ｆ７９を示しており（色相Ｈを更新）、かつ、内部リード／ライト信号ＦＢＲＷが、ライトを示している場合は、制御論理ブロック１３８は、先ず、第１のサイクルでカラーパレット８４からのリードを行う。これは、カラーパレット８４の１エントリにおける色相Ｈのみを更新するため、エントリの現在値を読み出し、色相Ｈを置き換えた後に再度エントリに書き込む必要があるからである。制御論理ブロック１３８は、マルチプレクサ１２０に対して内部データＦＢＤＩ［７：０］を、マルチプレクサ１２４に対してテンポラリアドレスレジスタ１２２［７：０］を選択する選択信号を出力するとともに、カラーパレットリード／ライト信号Ｐ１Ｗをリードに設定する。このサイクルで、カラーパレットアドレスＰ１Ａ［７：０］により選択されたエントリのデータがカラーパレットデータＰ１Ｉ［１５：０］として読み出される。また、制御論理ブロック１３８は、マルチプレクサ１２６に対して、内部データＦＢＤＩを選択する選択信号を出力する。これにより、内部データＦＢＤＩが、マルチプレクサ１２６から、テンポラリデータレジスタ１２８に与えられ、保持される。この場合、内部データＦＢＤＩは、更新する色相情報Ｈからなる。内部データＦＢＤＩ［７：０］のうち、上位６ビットが色相情報Ｈであり、下位２ビットは「０」で埋められている。
【０２５０】
第２のサイクルでは、制御論理ブロック１３８は、マルチプレクサ１３０に対して、カラーパレットデータＰ１Ｉ［１５］［１４］及びテンポラリデータレジスタ１２８の内部データＦＢＤＩ［２］を選択する選択信号を出力する。これにより、これらのデータが、マルチプレクサ１３０から、カラーパレットデータＰ１Ｏ［１５：１３］として、カラーパレット８４に出力される。
【０２５１】
さらに、この場合は、制御論理ブロック１３８は、マルチプレクサ１３２，１３４，及び１３６に対して、それぞれ、カラーパレットデータＰ１Ｉ［１２：８］、カラーパレットデータＰ１Ｉ［７：５］、及びテンポラリデータレジスタ１２８の内部データＦＢＤＩ［７：３］を選択する選択信号を出力する。これにより、これらのデータが、マルチプレクサ１３２，１３４及び１３６から、カラーパレットデータＰ１Ｏ［１２：８］，［７：５］及び［４：０］として、それぞれカラーパレット８４に出力される。また、第２のサイクルでは、制御論理ブロック１３８は、カラーパレットリード／ライト信号Ｐ１Ｗをライトに設定する。これにより、マルチプレクサ１３０，１３２，１３４，１３６から出力されたカラーパレットデータＰ１Ｏ［１５：０］が、カラーパレット８４のカラーパレットアドレスＰ１Ａが指し示す位置に書き込まれる。
【０２５２】
一方、アドレスＦＢＡＤが、０ｘ６Ｆ７Ａを示しており（色飽和度Ｓを更新）、かつ、内部リード／ライト信号ＦＢＲＷが、ライトを示している場合は、制御論理ブロック１３８は、先ず、第１のサイクルでカラーパレット８４からのリードを行う。これは、カラーパレット８４の１エントリにおける色飽和度Ｓのみを更新するため、エントリの現在値を読み出し、色飽和度Ｓを置き換えた後に再度エントリに書き込む必要があるからである。制御論理ブロック１３８は、マルチプレクサ１２０に対して内部データＦＢＤＩ［７：０］を、マルチプレクサ１２４に対してテンポラリアドレスレジスタ１２２［７：０］を選択する選択信号を出力するとともに、カラーパレットリード／ライト信号Ｐ１Ｗをリードに設定する。このサイクルで、カラーパレットアドレスＰ１Ａ［７：０］により選択されたエントリのデータがカラーパレットデータＰ１Ｉ［１５：０］として読み出される。また、制御論理ブロック１３８は、マルチプレクサ１２６に対して、内部データＦＢＤＩを選択する選択信号を出力する。これにより、内部データＦＢＤＩが、マルチプレクサ１２６から、テンポラリデータレジスタ１２８に与えられ、保持される。この場合、内部データＦＢＤＩは、更新する色飽和度情報Ｓからなる。内部データＦＢＤＩ［７：０］のうち、上位４ビットが色飽和度情報Ｓであり、下位４ビットは「０」で埋められている。
【０２５３】
第２のサイクルでは、制御論理ブロック１３８は、マルチプレクサ１３０に対して、カラーパレットデータＰ１Ｉ［１５］、テンポラリデータレジスタ１２８の内部データＦＢＤＩ［４］、及びカラーパレットデータＰ１Ｉ［１３］を選択する選択信号を出力する。これにより、これらのデータが、マルチプレクサ１３０から、カラーパレットデータＰ１Ｏ［１５：１３］として、カラーパレット８４に出力される。
【０２５４】
さらに、この場合は、制御論理ブロック１３８は、マルチプレクサ１３２，１３４，及び１３６に対して、それぞれ、カラーパレットデータＰ１Ｉ［１２：８］、テンポラリデータレジスタ１２８の内部データＦＢＤＩ［７：５］、及びカラーパレットデータＰ１Ｉ［４：０］を選択する選択信号を出力する。これにより、これらのデータが、マルチプレクサ１３２，１３４及び１３６から、カラーパレットデータＰ１Ｏ［１２：８］，［７：５］及び［４：０］として、それぞれカラーパレット８４に出力される。また、第２のサイクルでは、制御論理ブロック１３８は、カラーパレットリード／ライト信号Ｐ１Ｗをライトに設定する。これにより、マルチプレクサ１３０，１３２，１３４，１３６から出力されたカラーパレットデータＰ１Ｏ［１５：０］が、カラーパレット８４のカラーパレットアドレスＰ１Ａが指し示す位置に書き込まれる。
【０２５５】
さらに、一方、アドレスＦＢＡＤが、０ｘ６Ｆ７Ｂを示しており（明度Ｌを更新）、かつ、内部リード／ライト信号ＦＢＲＷが、ライトを示している場合は、制御論理ブロック１３８は、先ず、第１のサイクルでカラーパレット８４からのリードを行う。これは、カラーパレット８４の１エントリにおける明度Ｌのみを更新するため、エントリの現在値を読み出し、明度Ｌを置き換えた後に再度エントリに書き込む必要があるからである。制御論理ブロック１３８は、マルチプレクサ１２０に対して内部データＦＢＤＩ［７：０］を、マルチプレクサ１２４に対してテンポラリアドレスレジスタ１２２［７：０］を選択する選択信号を出力するとともに、カラーパレットリード／ライト信号Ｐ１Ｗをリードに設定する。このサイクルで、カラーパレットアドレスＰ１Ａ［７：０］により選択されたエントリのデータがカラーパレットデータＰ１Ｉ［１５：０］として読み出される。また、制御論理ブロック１３８は、マルチプレクサ１２６に対して、内部データＦＢＤＩを選択する選択信号を出力する。これにより、内部データＦＢＤＩが、マルチプレクサ１２６から、テンポラリデータレジスタ１２８に与えられ、保持される。この場合、内部データＦＢＤＩは、更新する明度情報Ｌからなる。内部データＦＢＤＩ［７：０］のうち、上位６ビットが明度情報Ｌであり、下位２ビットは「０」で埋められている。
【０２５６】
第２のサイクルでは、制御論理ブロック１３８は、マルチプレクサ１３０に対して、テンポラリデータレジスタ１２８の内部データＦＢＤＩ［２］、カラーパレットデータＰ１Ｉ［１４］、及びカラーパレットデータＰ１Ｉ［１３］を選択する選択信号を出力する。これにより、これらのデータが、マルチプレクサ１３０から、カラーパレットデータＰ１Ｏ［１５：１３］として、カラーパレット８４に出力される。
【０２５７】
さらに、この場合は、制御論理ブロック１３８は、マルチプレクサ１３２，１３４，及び１３６に対して、それぞれ、テンポラリデータレジスタ１２８の内部データＦＢＤＩ［４：０］、カラーパレットデータＰ１Ｉ［７：５］、及びカラーパレットデータＰ１Ｉ［４：０］を選択する選択信号を出力する。これにより、これらのデータが、マルチプレクサ１３２，１３４及び１３６から、カラーパレットデータＰ１Ｏ［１２：８］，［７：５］及び［４：０］として、それぞれカラーパレット８４に出力される。また、第２のサイクルでは、制御論理ブロック１３８は、カラーパレットリード／ライト信号Ｐ１Ｗをライトに設定する。これにより、マルチプレクサ１３０，１３２，１３４，１３６から出力されたカラーパレットデータＰ１Ｏ［１５：０］が、カラーパレット８４のカラーパレットアドレスＰ１Ａが指し示す位置に書き込まれる。
【０２５８】
次に、リードを説明する。アドレスＦＢＡＤが、０ｘ６Ｆ７９を示しており（色相Ｈをリード）、かつ、内部リード／ライト信号ＦＢＲＷが、リードを示している場合は、制御論理ブロック１３８は、アドレスデコーダ１４０からの制御信号に応じて、マルチプレクサ１４２に対して、カラーパレットデータＰ１Ｉ［４：０］，［１３］及び｛０ｂ００｝を選択する選択信号を出力する。これにより、これらのデータが、内部データＦＢＤＯ［７：０］として出力される。この場合、内部データＦＢＤＯ［７：２］が色相Ｈ［５：０］を表す。
【０２５９】
アドレスＦＢＡＤが、０ｘ６Ｆ７Ａを示しており（色飽和度Ｓをリード）、かつ、内部リード／ライト信号ＦＢＲＷが、リードを示している場合は、制御論理ブロック１３８は、アドレスデコーダ１４０からの制御信号に応じて、マルチプレクサ１４２に対して、カラーパレットデータＰ１Ｉ［７：５］，［１４］及び｛０ｂ００００｝を選択する選択信号を出力する。これにより、これらのデータが、内部データＦＢＤＯ［７：０］として出力される。この場合、内部データＦＢＤＯ［７：４］が色飽和度Ｓ［３：０］を表す。
【０２６０】
アドレスＦＢＡＤが、０ｘ６Ｆ７Ｂを示しており（明度Ｌをリード）、かつ、内部リード／ライト信号ＦＢＲＷが、リードを示している場合は、制御論理ブロック１３８は、アドレスデコーダ１４０からの制御信号に応じて、マルチプレクサ１４２に対して、カラーパレットデータＰ１Ｉ［１２：８］，［１５］及び｛０ｂ００｝を選択する選択信号を出力する。これにより、これらのデータが、内部データＦＢＤＯ［７：０］として出力される。この場合、内部データＦＢＤＯ［７：２］が明度Ｌ［５：０］を表す。
【０２６１】
第３のアクセスモードについて説明する。第１のアクセスモード及び第２のアクセスモードのいずれにも該当しない場合、制御論理ブロック１３８は、マルチプレクサ１２４に対して、ピクセルカラーコードＣｐｂを選択する選択信号を出力するとともに、カラーパレット８４に、リードを示すカラーパレットリード／ライト信号Ｐ１Ｗを出力する。これにより、ピクセルカラーコードＣｐｂが、カラーパレットアドレスＰＩＡとして、カラーパレット８４に与えられ、カラーパレットアドレスＰＩＡが指し示す位置から、カラーパレットデータＰ１Ｉが読み出されて、ピクセル出力制御回路１４４に与えられる。
【０２６２】
図１４は、図１３のピクセル出力制御回路１４４の動作を説明するためのタイミングチャートである。図１４（信号（ａ）〜（ｇ））に示すように、ピクセル出力制御回路１４４は、水平走査カウント信号ＨＰ［１：０］が｛０ｂ００｝であり、かつ、内部クロックＣＫ２０が「０」のとき、内部クロックＣＫ４０の立ち下がりエッジで、カラーパレットデータＰ１Ｉ［１５：０］及びデプス情報Ｚｐｂをラッチする。
【０２６３】
そして、図１４（信号（ｈ）〜（ｋ））に示すように、ピクセル出力制御回路１４４は、ラッチしたカラーパレットデータＰ１Ｉ［４：０］，［１３］を、色相情報Ｈｃとして、ラッチしたカラーパレットデータＰ１Ｉ［７：５］，［１４］を、色飽和度Ｓｃとして、ラッチしたカラーパレットデータＰ１Ｉ［１２：８］，［１５］を、明度Ｌｃとして、ピクセルミキサ９０に出力する。また、ラッチしたデプス情報Ｚｐｂを、デプス情報Ｚｃとして、ピクセルミキサ９０に出力する。
【０２６４】
以上のようにして、ピクセル出力制御回路１４４は、ＣＫ４０の８クロック／ピクセル（水平ピクセル解像度）という出力レートで、色相情報Ｈｃ、色飽和度Ｓｃ、明度Ｌｃ及びデプス情報Ｚｃを、ピクセルミキサ９０に出力する。
【０２６５】
ここで、カラーパレットデータＰ１Ｉ［１５：０］をラッチする条件として、水平走査カウント信号ＨＰ［１：０］が｛０ｂ００｝であることを条件としたのは、各水平ラインのピクセルの水平位置が、ずれ無く垂直方向に揃うようにするためである。
【０２６６】
さて、次に、図９のビットマップジェネレータ８６の詳細を説明する。
【０２６７】
図１５は、図９のビットマップジェネレータ８６の内部構成を示すブロック図である。図１５に示すように、ビットマップジェネレータ８６は、ビットマップスクリーンの水平位置を微調整するための値Ｈｆｉｎ（図４参照）を設定するための制御レジスタ１５８、水平ピクセル解像度（ＣＫ４０のｊクロック／ピクセル（ｊ＝２〜１６））を設定するための制御レジスタ１６０、表示左端座標ＢＰＬ（図３参照）を設定するための制御レジスタ１６２、表示右端座標ＢＰＲを設定するための制御レジスタ１６４、表示上端座標ＢＰＴを設定するための制御レジスタ１６６、表示下端座標ＢＰＢを設定するための制御レジスタ１６８、及びビットマップ表示をアクティブにするか否かを示す表示制御ビットを設定する制御レジスタ１７０を含む。
【０２６８】
また、ビットマップジェネレータ８６は、右端アドレスＢＡＲ（図６参照）を設定するための制御レジスタ１７２、左端アドレスＢＡＬを設定するための制御レジスタ１７４、上端アドレスＢＡＴを設定するための制御レジスタ１７６、アドレスステップＢＡＳを設定するための制御レジスタ１７８、ベースアドレスＢＢＳを設定するための制御レジスタ１８０、ビットマップスクリーンのカラーモード（１ピクセルのビット数、つまりＭビット／ピクセル）を設定するための制御レジスタ２２６、及びビットマップスクリーンのデプス情報Ｚｂを設定するための制御レジスタ２３２を含む。
【０２６９】
ＣＰＵ１は、第１バス３１及び第１バスインタフェース回路１５６を通じて、上記制御レジスタ１５８〜１８０，２２６及び２３２にアクセスすることができ、値の設定や設定変更を行うことができる。
【０２７０】
さらに、ビットマップジェネレータ８６は、コンパレータ１５２，１５４からなる基点信号生成回路１５０、ピクセルクロック生成回路１８２、水平座標カウンタ１８４、水平座標表示範囲内判定回路１８６、垂直座標カウンタ１８８、垂直座標表示範囲内判定回路１９０、水平アドレスカウンタ１９４、垂直アドレスカウンタ１９８、水平アドレスインクリメント制御回路２０４、ライト制御回路２０６、ＦＩＦＯ（ｆｉｒｓｔ−ｉｎ−ｆｉｒｓｔ−ｏｕｔ）レジスタ２０８、リード制御回路２１０、ファネルシフタ２１６、ビットアドレスカウンタ２２８、上位ビットマスク回路２１８、カラーパレットアクセスポート２３０、カラーパレットインタフェース回路２２０、ピクセル出力制御回路２３４、ＡＮＤ回路１９２，２２２、コンパレータ１９６、バス使用要求信号生成回路２２４、加算器２００，２０２、及び減算器２１２を含む。
【０２７１】
基点信号生成回路１５０のコンパレータ１５４は、水平走査カウント信号ＨＣ［１２：５］の値が｛０ｘ００｝となり、及び水平走査カウント信号ＨＣ［４：１］の値が水平位置微調整レジスタ［３：０］の値Ｈｆｉｎと同じになった時、水平座標基点信号ＨＢＰをアサートする。また、基点信号生成回路１５０のコンパレータ１５２は、垂直走査カウント信号ＶＣ［９：１］の値が｛０ｘ２０｝となった時、垂直座標基点信号ＶＢＰをアサートする。
【０２７２】
ピクセルクロック生成回路１８２は、水平座標基点信号ＨＢＰがアサートされた時、あるいは、４ビットのピクセルクロックカウンタ（図示せず）の値が｛０ｂ００００｝になった時、水平ピクセル解像度レジスタ１６０の値をピクセルクロックカウンタにロードする。ピクセルクロックカウンタは、内部クロックＣＫ４０の立下りごとにデクリメントを実行し、ピクセルクロックカウンタの値が｛０ｂ００００｝になった時、ピクセルクロック信号ＰＣＫをアサートする。
【０２７３】
水平座標カウンタ１８４は、水平座標基点信号ＨＢＰがアサートされた時に値を「０」にクリアし、ピクセルクロック信号ＰＣＫがアサートされるたびにインクリメントを実行する。
【０２７４】
垂直座標カウンタ１８８は、水平座標基点信号ＨＢＰがアサートされた時に、垂直座標基点信号ＶＢＰがアサートされている場合は、値を「０」にクリアし、垂直座標基点信号ＶＢＰがアサートされていなければ、水平座標基点信号ＨＢＰがアサートされるたびにインクリメントを実行する。
【０２７５】
水平座標表示範囲内判定回路１８６は、ピクセルクロックＰＣＫがアサートされた時、水平座標カウンタ１８４の値が表示左端座標レジスタ１６２の値ＢＰＬに一致していれば、水平座標範囲内信号ＨＷＩをアサートする。また、水平座標表示範囲内判定回路１８６は、ピクセルクロックＰＣＫがアサートされた時、水平座標カウンタ１８４の値が表示右端座標レジスタ１６４の値ＢＰＲに一致していれば、水平座標範囲内信号ＨＷＩをネゲートする。水平座標表示範囲内判定回路１８６は、水平座標カウンタ１８４の値が、表示左端座標レジスタ１６２及び表示右端座標レジスタ１６４のいずれの値にも一致していない場合は、水平座標範囲内信号ＨＷＩの論理を維持する。
【０２７６】
垂直座標表示範囲内判定回路１９０は、水平座標基点信号ＨＢＰがアサートされた時、垂直座標カウンタ１８８の値が表示上端座標レジスタ１６６の値ＢＰＴに一致していれば、垂直座標範囲内信号ＶＷＩをアサートする。また、垂直座標表示範囲内判定回路１９０は、水平座標基点信号ＨＢＰがアサートされた時、垂直座標カウンタ１８８の値が表示下端座標レジスタ１６８の値ＢＰＢに一致していれば、垂直座標範囲内信号ＶＷＩをネゲートする。垂直座標表示範囲内判定回路１９０は、表示上端座標レジスタ１６６及び表示下端座標レジスタ１６８のいずれの値にも一致していない場合は、垂直座標範囲内信号ＶＷＩの論理を維持する。
【０２７７】
水平アドレスカウンタ１９４は、水平座標基点信号ＨＢＰがアサートされた時、左端アドレスレジスタ１７４の値ＢＡＬをロードする。水平アドレスカウンタ１９４は、水平アドレスインクリメント制御回路２０４からの制御に従って、インクリメントを実行する。
【０２７８】
水平アドレスインクリメント制御回路２０４は、第２バス３３から１６ビット分の外部データＳＢＤＩをリードした場合、すなわち、第２バス下位バイトリード許可信号ＳＬＲＧ及び第２バス上位バイトリード許可信号ＳＵＲＧの双方がアサートされている場合、水平アドレスカウンタ１９４を「２」インクリメントするように制御する。
【０２７９】
水平アドレスインクリメント制御回路２０４は、第１バス３１または第２バス３３から８ビット分のデータＦＢＤＩ又はＳＢＤＩをリードした場合、すなわち、第２バス下位バイトリード許可信号ＳＬＲＧ若しくは第２バス上位バイトリード許可信号ＳＵＲＧのいずれか一方がアサートされている場合、又は、第１バスリード許可信号ＦＢＲＧがアサートされている場合、水平アドレスカウンタ１９４を「１」インクリメントするように制御する。
【０２８０】
垂直アドレスカウンタ１９８は、水平座標基点信号ＨＢＰがアサートされた時、垂直座標基点信号ＶＢＰがアサートされていれば、上端アドレスレジスタ１７６の値ＢＡＴをロードする。また、垂直アドレスカウンタ１９８は、垂直座標基点信号ＶＢＰがネゲートされ、かつ、垂直座標範囲内信号ＶＷＩがアサートされていれば、現在のカウント値に、アドレスステップレジスタ１７８の値ＢＡＳを加算する。
【０２８１】
ビットアドレスカウンタ２２８は、水平座標基点信号ＨＢＰがアサートされた時、カウント値を「０」にクリアする。また、ビットアドレスカウンタ２２８は、水平座標範囲内信号ＨＷＩがアサートされている期間中に、ピクセルクロック信号ＰＣＫがアサートされるたびに、インクリメントを実行する。この場合、ビットアドレスカウンタ２２８は、カラーモード設定レジスタ２２６が示すカラーモードの値（Ｍビット／ピクセル：Ｍ＝１〜８）を１ステップとしてインクリメントを実行する。これにより、ビットアドレスカウンタ２２８の下位３ビットは、バイト内でのピクセルデータ（１ピクセルのカラーコードからなるデータ）の先頭ビットの位置を示すことになる。
【０２８２】
ＦＩＦＯレジスタ２０８は、第１バス３１に接続されたメモリ１７からリードした内部データＦＢＤＩあるいは第２バス３３に接続されたメモリ４５からリードした外部データＳＢＤＩをバイト単位で格納する。このＦＩＦＯレジスタ２０８は、メモリＭＥＭからのデータリードと表示のためのピクセルデータ（１ピクセルのＨｂ／Ｓｂ／Ｌｂからなるデータ）出力との時間差を吸収するためのバッファとして機能する。なお、ＦＩＦＯレジスタ２０８の段数は１６段である。
【０２８３】
ライト制御回路２０６は、第１バス３１に接続されたメモリ１７からリードした内部データＦＢＤＩあるいは第２バス３３に接続されたメモリ４５からリードした外部データＳＢＤＩを、ＦＩＦＯレジスタ２０８に書き込む。具体的には次の通りである。
【０２８４】
ライト制御回路２０６は、第１バスリード許可信号ＦＢＧＲがアサートされているときに、第１バス３１から内部データＦＢＤＩ［７：０］を取り込み、第２バス下位バイトリード許可信号ＳＬＲＧがアサートされているときに、第２バス３３から外部データＳＢＤＩ［７：０］を取り込み、第２バス上位バイトリード許可信号ＳＵＲＧがアサートされているときに、第２バス３３から外部データＦＢＤＩ［１５：８］を取り込む。
【０２８５】
また、ライト制御回路２０６は、水平アドレスカウンタ１９４の下位４ビットを、ＦＩＦＯレジスタ２０８のライトポインタとして扱う。
【０２８６】
リード制御回路２１０は、ビットアドレスカウンタ２２８のカウント値［６：３］をＦＩＦＯレジスタ２０８のリードポインタとして扱い、リードポインタの指し示す１バイトと続く１バイトの計２バイトをＦＩＦＯレジスタ２０８から読み出し、ファネルシフタ２１６に出力する。２バイト読み出すのは、カラーモード設定レジスタ２２６に設定されたカラーモードによっては、ピクセルデータ（１ピクセルのカラーコードからなるデータ）が、２バイトに跨る場合もあるからである。なお、ビットアドレスカウンタ２２８のカウント値［２：０］は、バイト内のピクセルデータ（１ピクセルのカラーコードからなるデータ）の先頭ビットの位置を示す。
【０２８７】
図１６は、図１５のファネルシフタ２１６及び上位ビットマスク回路２１８の説明図である。図１６に示すように、ファネルシフタ２１６は、リード制御回路２１０から入力された１６ビットデータから、ビットアドレスカウンタ２２８のカウント値［３：０］が示す位置を始端とする８ビットを取り出し、上位ビットマスク回路２１８へ出力する。図１６では、ハッチングを施した部分がピクセルデータ（１ピクセルのカラーコードからなるデータ）である。
【０２８８】
上位ビットマスク回路２１８は、カラーモード設定レジスタ２２６に設定されたカラーモードに応じて、ファネルシフタ２１６から入力された８ビット中の上位１〜７ビットをマスクし、入力値に関わりなく出力値を「０」にする。図１６の例では、カラーモードは、５ビット／ピクセルであり、上位３ビットをマスクして、「０」にしている。
【０２８９】
図１５に戻って、カラーパレットインタフェース回路２２０は、上位ビットマスク回路２１８から入力される８ビットデータを、ビットマップ用カラーパレット８８に対するアドレス（以下、カラーパレットアドレスＰ２Ａと呼ぶ。）として、カラーパレット８８に出力する。すると、カラーパレット８８から、カラーパレットデータ（色相Ｈｂ／色飽和度Ｓｂ／明度Ｌｂ）Ｐ２Ｉが読み出され、カラーパレットインタフェース回路２２０は、これをピクセル出力制御回路２３４に出力する。なお、この場合、カラーパレットリード／ライト信号Ｐ２Ｗは、常にリードを示している。
【０２９０】
また、カラーパレットインタフェース回路２２０は、カラーパレットアクセスポート２３０を通じて、カラーパレット８８に対するアクセス要求を受け付けた場合、このアクセスが優先されて、カラーパレット８８に対するリードまたはライト動作を行う。したがって、カラーパレットアクセスポート２３０を通じてのカラーパレット８８のデータ更新は、ビットマップスクリーンを表示していない期間に行うことが望ましい。なお、ＣＰＵ１は、カラーパレットアクセスポート２３０に対して、第１バス３１及び第１バスインタフェース回路１５６を通じてアクセスできる。
【０２９１】
ピクセル出力制御回路２３４は、後述の座標範囲内信号ＨＶＷＩがアサートされている期間、カラーパレットインタフェース回路２２０から入力された１６ビットデータＰ２Ｉを、ピクセルの色相データＨｂ［５：０］、色飽和度データＳｂ［３：０］、及び明度データＬｂ［５：０］として、ピクセルミキサ９０に出力する。但し、ピクセル出力制御回路２３４は、座標範囲内信号ＨＶＷＩがネゲートされている期間は、色相データＨｂ［５：０］を｛０ｂ１１１１１１｝、色飽和度データＳｂ［３：０］を｛０ｂ００００｝、明度データＬｂ［５：０］を｛０ｂ００００００｝として出力する。このデータの組み合わせは、ピクセルが透明色であることを示す。
【０２９２】
また、デプス設定レジスタ２３２に設定されている値が、ピクセルのデプスデータＺｂ［３：０］として常にピクセルミキサ９０に出力される。
【０２９３】
以上のように、ビットアドレスカウンタ２２８が、水平ピクセル解像度に応じた周波数のピクセルクロックＰＣＫがアサートされるたびにインクリメントされ、このカウント値に応じて、カラーパレットデータＰ２Ｉが読み出され、ピクセル出力制御回路２３４から出力される。従って、カラーパレットデータ（色相Ｈｂ／色飽和度Ｓｂ／明度Ｌｂ）Ｐ２Ｉは、ビットマップスクリーンの水平ピクセル解像度に応じた出力レートで、ピクセルミキサ９０へ出力される。
【０２９４】
ＡＮＤ回路１９２は、水平座標範囲内信号ＨＷＩ及び垂直座標範囲内信号ＶＷＩの双方がアサートされているときに、座標範囲内信号ＨＶＷＩをアサートする。
【０２９５】
コンパレータ１９６は、水平アドレスカウンタ１９４のカウント値が、右端アドレスレジスタ１７２の値ＢＡＲと、左端アドレスレジスタ１７４の値ＢＡＬと、の間にあるか否かを判断して、範囲内の場合に、範囲内信号ＲＡＮをアサートする。
【０２９６】
減算回路２１２は、ライト制御回路２０６から与えられる、水平アドレスカウンタ１９４の下位４ビット（ＦＩＦＯレジスタ２０８のライトポインタ）から、リード制御回路２１０から与えられる、ビットアドレスカウンタ［６：３］（ＦＩＦＯレジスタ２０８のリードポインタ）を減算して、減算結果をコンパレータ２１４に出力する。
【０２９７】
コンパレータ２１４は、「８」と、減算回路２１２の減算結果と、を比較して、減算結果が「８」以下の時に比較結果信号ＬＥをアサートする。
【０２９８】
ＡＮＤ回路２２２は、座標範囲内信号ＨＶＷＩがアサートされ、表示アクティブレジスタ１７０の表示制御ビットが「真」であり、範囲内信号ＲＡＮがアサートされており（つまり、水平アドレスカウンタ１９４のカウント値が左端アドレスレジスタ１７４及び右端アドレスレジスタ１７２にて示される範囲内にあり）、かつ、比較結果信号ＬＥがアサートされているとき（ＦＩＦＯレジスタ２０８のライトポインタとリードポインタとの差が「８」以内の場合）、バス使用要求信号ＢＲＱをアサートする。
【０２９９】
ここで、ＦＩＦＯレジスタ２０８はリングバッファであり、ライトポインタが１周してリードポインタを追い越すと、適切な表示ができなくなるので、ライトポインタがリードポインタを追い越さないように、ライトポインタとリードポインタとの差が「８」以内のときに、メモリＭＥＭからビットマップデータを読み出すこととした。
【０３００】
バス使用要求信号生成回路２２４は、バス使用要求信号ＢＲＱがアサートされたとき、後述のアドレスＥＩＡＤ［２３］およびＥＩＡＤ［１５］がともに「０」であれば、第１バス使用要求信号ＦＢＲＱをアサートし、アドレスＥＩＡＤ［２３］およびＥＩＡＤ［１５］の少なくとも一方が「１」であれば、第２バス使用要求信号ＳＢＲＱをアサートする。第１バス３１の物理アドレス空間は、論理アドレス空間の第２３ビットと第１５ビットが「０」の領域にマッピングされており、第２バス１４の物理アドレス空間は、論理アドレス空間のそれ以外の領域にマッピングされている。
【０３０１】
加算回路２００は、水平アドレスカウンタ１９４の値と、垂直アドレスカウンタ１９８の値のＬＳＢに３ビットの「０」を連接することによって３ビット左シフトした値と、を加算しその加算結果を、加算回路２０２に与える。
【０３０２】
加算回路２０２は、加算回路２００の加算結果と、ベースアドレスレジスタ１８０の値ＢＢＳのＬＳＢに１１ビットの「０」を連接した値と、を加算し、その加算結果を、アドレスＥＩＤＡ［２６：０］として出力する。
【０３０３】
従って、ビットマップデータのリード要求を行う際のアドレスＥＩＤＡ［２６：０］は、｛ベースアドレス［１５：０］，０ｂ０００００００００００｝、｛垂直アドレス［１４：０］，０ｂ０００｝及び｛水平アドレス［９：０］｝の加算結果より生成される。
【０３０４】
さて、次に、図９のビデオポジションアジャスタ１０２の詳細を説明する。
【０３０５】
図１７は、図９のビデオポジションアジャスタ１０２の内部構成を示すブロック図である。図１７に示すように、ビデオポジションアジャスタは、垂直カウント参照値レジスタ２４２、垂直ポジション上端値レジスタ２４４、水平カウント参照値レジスタ２５０、水平ポジション左端値レジスタ２５２、垂直ポジションカウンタ２４８、水平ポジションカウンタ２５６、コンパレータ２４６、２５４、及び第１バスインタフェース回路２４０を含む。
【０３０６】
コンパレータ２５４は、ビデオタイミングジェネレータ１００から入力される水平走査カウント信号ＨＣ［１２：１］と、水平カウント参照値レジスタ２５０の値ＶＨＲ（図７参照）と、が同じになったとき、一致信号ＨＥＱをアサートする。
【０３０７】
水平ポジションカウンタ２５６は、一致信号ＨＥＱがアサートされた時、水平ポジション左端値レジスタ２５２の値ＶＬＰを、水平走査カウント信号ＨＰ［１１：０］としてロードする。この条件が発生しない限り、水平走査カウント信号ＨＰは、内部クロックＣＫ４０の１周期ごとにインクリメントされる。
【０３０８】
一方、コンパレータ２４６は、ビデオタイミングジェネレータ１００から入力される垂直走査カウント信号ＶＣ［９：１］と、垂直カウント参照値レジスタ２４２の値ＶＶＲと、が同じである時、一致信号ＶＥＱをアサートする。
【０３０９】
垂直ポジションカウンタ２４８は、一致信号ＶＥＱ及び一致信号ＨＥＱの双方がアサートされた時、垂直ポジション上端値レジスタ２４４の値ＶＴＰを、垂直走査カウント信号ＶＰ［８：０］の値としてロードする。この条件が発生しない限り、垂直走査カウント信号ＶＰの値は、一致信号ＨＥＱがアサートされるたびにインクリメントされる。
【０３１０】
ＣＰＵ１は、第１バス３１及び第１バスインタフェース回路２４０を介して、垂直カウント参照値レジスタ２４２、垂直ポジション上端値レジスタ２４４、水平カウント参照値レジスタ２５０、及び水平ポジション左端値レジスタ２５２にアクセスすることができ、これらの値の設定及び設定変更ができる。
【０３１１】
以上のように、水平走査カウント信号ＨＣ及び垂直走査カウント信号ＶＣにそれぞれオフセットを付加して、水平走査カウント信号ＨＰ及び垂直走査カウント信号ＶＰを生成し、これらの信号ＨＰ，ＶＰに基づいて、キャラクタスクリーンを表示する。これにより、キャラクタスクリーンの表示位置の調整が可能になる。
【０３１２】
さて、以上のように、ピクセルミキサ９０には、カラーパレットコントローラ８２及びビットマップジェネレータ８６から、それぞれ設定された出力レートでピクセルデータ（色相Ｈｃ／色飽和度Ｓｃ／明度Ｌｃ、色相Ｈｂ／色飽和度Ｓｂ／明度Ｌｂ）が入力される。そして、ピクセルミキサ９０は、カラーパレットコントローラ８２及びビットマップジェネレータ８６がそれぞれ出力するピクセルのデプス情報Ｚｃ及びＺｂに従って、出力するピクセルの色情報（色相Ｈｍ／色飽和度Ｓｍ／明度Ｌｍ）を決定し、キャラクタスクリーンとビットマップスクリーンとを合成する。この合成の際、カラーパレットコントローラ８２は、ピクセルミキサ９０に対して、キャラクタスクリーンの水平ピクセル解像度に応じた出力レート（８クロック／ピクセル）で、ピクセルデータ（デプス情報Ｚｃ、色相Ｈｃ／色飽和度Ｓｃ／明度Ｌｃ）を出力する。一方、ビットマップジェネレータ８６は、ピクセルミキサ９０に対して、水平ピクセル解像度レジスタ１６０に設定された水平ピクセル解像度に応じた出力レート（２クロック／ピクセル〜１６クロック／ピクセル）で、ピクセルデータ（デプス情報Ｚｂ、色相Ｈｂ／色飽和度Ｓｂ／明度Ｌｂ）を出力する。従って、キャラクタスクリーンのピクセル幅とビットマップスクリーンのピクセル幅とが異なる場合でも、つまり、両者の水平解像度が異なる場合でも、合成が可能となる。
【０３１３】
また、カラーパレットコントローラ８２及びビットマップジェネレータ８６がそれぞれ出力するピクセルデータには、デプス情報Ｚｃ及びＺｂが含まれる。つまり、合成対象のキャラクタスクリーン及びビットマップスクリーンの各々において、ピクセルごとにデプス情報が付随している。ちなみに、キャラクタスクリーンは、スプライトと第１のバックグラウンドスクリーンと第２のバックグラウンドスクリーンとを合成したものであり、各ピクセルのデプス情報Ｚｃは、表示対象のスプライトごとに定められたデプス情報Ｚ０、第１のバックグラウンドスクリーンのキャラクタごとに定められたデプス情報Ｚ１、及び第２のバックグラウンドスクリーンのキャラクタごとに定められたデプス情報Ｚ３のいずれでもとり得る。もちろん、各スプライトやキャラクタには、一般に異なる値のデプス情報が設定されることができる。そして、ピクセルミキサ９０では、ピクセルが重なる場合、各ピクセルのデプス情報Ｚｃ，Ｚｂに基づいて、ピクセルの取捨選択が行われる。このため、合成対象の画像単位で、前面か後面かが決定されるのではない。つまり、キャラクタスクリーン及びビットマップスクリーンのピクセル単位で、前面か後面かが決定される。
【０３１４】
従って、キャラクタスクリーンの第１領域の後面であって、第２領域の前面に、ビットマップスクリーンを配置するように合成できる。このように、合成対象の画像全体での表示優先順位の設定だけでなく、画像を構成する部分毎での表示優先順位の設定が可能である。
【０３１５】
さらに、キャラクタスクリーンは、デプス情報Ｚ０，Ｚ１，Ｚ３に基づき合成を行った合成画像である。しかし、キャラクタスクリーンがピクセル毎のデプス情報Ｚｃを保持しているので、合成の順番に関係なく、キャラクタスクリーンとビットマップスクリーンとを所望の表示優先順位にて合成できる。つまり、この場合、キャラクタスクリーンが最初に合成され、その後、ビットマップスクリーンと合成されるが、例えば、キャラクタスクリーンのあるオブジェクトｏｂｊ３とキャラクタスクリーンのあるオブジェクトｏｂｊ１との間に、ビットマップスクリーンのあるオブジェクトｏｂｊ２を配置するように合成できる（図２参照）。
【０３１６】
また、本実施の形態では、ピクセルミキサ９０は、ピクセルが透明の場合、常に選択／出力しないため、デプス情報Ｚｃ，Ｚｂに基づいて、取捨選択を行う場合でも、最も前面だからといって、透明のピクセルが選択／出力されることはなく、表示を意図する適切なピクセルの選択／出力が可能になる。
【０３１７】
さらに、本実施の形態では、水平カウント参照値レジスタ２５０、水平ポジション左端値レジスタ２５２、垂直カウント参照値レジスタ２４２、及び垂直ポジション上端値レジスタ２４４に設定する値を調整することで、水平走査カウント信号ＨＰ及び垂直走査カウント信号ＶＰに従ってメモリＭＥＭから読み出されるカラーコードにより構成されるキャラクタスクリーンの表示画面上の位置を任意に調整できる。また、水平走査カウント信号ＨＣ及び垂直走査カウント信号ＶＣに従ってメモリＭＥＭから読み出されるカラーコードにより構成されるビットマップスクリーンと、水平走査カウント信号ＨＰ及び垂直走査カウント信号ＶＰに従ってメモリＭＥＭから読み出されるカラーコードにより構成されるキャラクタスクリーンとの相対的な表示位置を調整できる。
【０３１８】
さらに、本実施の形態によれば、カラーパレットコントローラ８２及びビットマップジェネレータ８６の各々に対して、つまり、合成対象のキャラクタスクリーン及びビットマップスクリーンの各々に対して、カラーパレット８４及び８８が用意される。一般的にカラーコードは色情報（色相／色飽和度／明度）に比べてビット数が少ないので、カラーコードを色情報に変換するカラーパレットを備えるシステムにおいては、メモリに格納される画像データのサイズが小さくなるというメリットがある反面、同時に発色可能な色の通り数が少なくなるというデメリットがある。しかしながら、本実施の形態では、カラーパレットコントローラ８２及びビットマップジェネレータ８６の各々に対して独立したカラーパレット８４及び８８を有するので、画像データのサイズを大きくせずに、同時発色可能な色の通り数が増えるので、より豊かな色表現が可能になる。
【０３１９】
さらに、本実施の形態では、ビットマップスクリーンの水平位置を規定する水平座標カウンタ１８４が、水平位置微調整レジスタ１５８に設定された値に応じて初期化されるため、水平位置微調整レジスタ１５８に所望の値を設定することで、ビットマップスクリーンの水平位置を微調整できる。
【０３２０】
さらに、本実施の形態では、ビットマップジェネレータ８６は、１ワードがＮビット（Ｎは２以上の整数）からなるメモリＭＥＭからワード単位でデータを読み出し、読み出したデータから、１ピクセル当りＭビット（Ｍは１以上の整数）からなりメモリＭＥＭ内に隙間無く並べられた、１ピクセルのカラーコードをピクセル単位で抽出し、抽出したカラーコードを色情報（色相Ｈｂ／色飽和度Ｓｂ／明度Ｌｂ）に変換して、デプス情報Ｚｂとともに、ピクセルミキサ９０へ出力する。
【０３２１】
このように、ビットマップジェネレータ８６が、メモリＭＥＭから読み出したデータから１ピクセルのカラーコードを抽出するので、カラーコードをメモリに格納する際に、１ピクセルのビット数（カラーモード）に関係なく、メモリＭＥＭの各ワード内に隙間なくデータを敷き詰めることができる。つまり、Ｎ／ＭおよびＭ／Ｎが整数か否かに関係なく、メモリＭＥＭの各ワード内に隙間なくデータを敷き詰めることができる。このため、メモリ領域の節約及び効率的な利用が可能となる。
【０３２２】
なお、本発明は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。
【０３２３】
上記では、カラーパレット８４，８８を通じて表示色を指定する間接指定方式を採用した。つまり、キャラクタパターンデータやビットマップデータをカラーコードで表した。ただし、色の表現形式はこれに限定されず、キャラクタパターンデータやビットマップデータを色相Ｈ／色飽和度Ｓ／明度Ｌ等の色情報で表した場合でも、本発明を同様に適用できる。この場合、メモリＭＥＭから、ビットマップデータを構成する色情報を読み出してくることもできるし、グラフィックスプロセッサ３内部で生成することもできる。また、この場合、例えば、ピクセルミキサ９０には、水平走査カウント信号ＨＰ及び垂直走査カウント信号ＶＰに従った出力タイミングで、かつ、キャラクタスクリーンの水平ピクセル解像度に応じた出力レート（８クロック／ピクセル）で、ピクセルデータ（デプス情報Ｚｃ、色相Ｈｃ／色飽和度Ｓｃ／明度Ｌｃ）が入力され、また、水平走査カウント信号ＨＣ及び垂直走査カウント信号ＶＣに従った出力タイミングで、かつ、ビットマップスクリーンの水平ピクセル解像度に応じた出力レート（２クロック／ピクセル〜１６クロック／ピクセル）で、ピクセルデータ（デプス情報Ｚｂ、色相Ｈｂ／色飽和度Ｓｂ／明度Ｌｂ）が入力される。
【０３２４】
前述した実施例の説明は、例示説明の目的のために提示された。それは、説明された厳密な形式に発明を限定することを意図しておらず、上記教示を踏まえた変形が可能である。実施例は、発明の原理を最も明瞭に説明するために選択され、それによって当業者は、その現実的な適用が可能になり、意図された特定使用に向けられた様々な変形と形態で発明を最も効果的に利用することができる。
【図１】
2011060304.tif 000003
【図４】
2011060304.tif 000004
【図６】
2011060304.tif 000005
【図７】
2011060304.tif 000006
【図８】
2011060304.tif 000007
【図９】
2011060304.tif 000008
【図１０】
2011060304.tif 000009
【図１１】
2011060304.tif 000010
【図１２】
2011060304.tif 000011
【図１３】
2011060304.tif 000012
【図１４】
2011060304.tif 000013
【図１５】
2011060304.tif 000014
【図１６】
2011060304.tif 000015
【図１７】
2011060304.tif 000016
【図１８】
2011060304.tif 000017
【図２】
2011060304.tif 000018
【図３】
2011060304.tif 000019
【図５】
2011060304.tif 000020