(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-18
(45)【発行日】2022-03-01
(54)【発明の名称】画像処理装置、画像処理プログラム、画像処理方法および画像処理システム
(51)【国際特許分類】
G06T 3/40 20060101AFI20220221BHJP
A63F 13/52 20140101ALI20220221BHJP
【FI】
G06T3/40 705
A63F13/52
(21)【出願番号】P 2020044948
(22)【出願日】2020-03-16
【審査請求日】2020-10-15
(73)【特許権者】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
(74)【代理人】
【識別番号】100090181
【氏名又は名称】山田 義人
(74)【代理人】
【識別番号】100130269
【氏名又は名称】石原 盛規
(72)【発明者】
【氏名】伊藤 邦朗
(72)【発明者】
【氏名】川瀬 智広
【審査官】佐藤 実
(56)【参考文献】
【文献】特開2002-027237(JP,A)
【文献】特開2009-094902(JP,A)
【文献】国際公開第2005/096624(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00 - 7/90
A63F 13/52
(57)【特許請求の範囲】
【請求項1】
元画像データを、横方向にM個の第1ピクセル毎に分割した場合の各第1領域について、横方向にM個よりも多いN個の第2ピクセルとなるように対応する各第2領域を生成することによって、横方向のピクセル数が当該元画像データよりも多い2つの中間画像データを生成する中間画像生成部と、
前記2つの中間画像データから、それぞれの当該中間画像データにおいて対応する位置の前記第2ピクセル同士の色を混合することで、1つの出力画像データを生成する出力画像生成部と、を備え、
前記中間画像生成部
は、生成する前記2つの中間画像データの各々の前記第2領域において、
両端に位置する前記第2ピクセルについては、
生成する前記2つの中間画像データにおいて対応する位置の当該第2ピクセルの色を混合した結果が、前記元画像データの前記第1領域の両端の前記第1ピクセルの色と一致するように
、当該第2ピクセルの色を設定し、
両端の間に位置する前記第2ピクセルについては、
生成する前記2つの中間画像データにおいて対応する位置の当該第2ピクセルの色
を、前記元画像データの前記第1領域内で隣り合った2つの前記第1ピクセルの色
を所定の比率に応じた透明度で設定して、
前記2つの中間画像データを生成する、画像処理装置。
【請求項2】
前記出力画像生成部は、前面側の第1中間画像データと後面側の第2中間画像データとを重ね合わせることで前記出力画像データを生成するものであり、
前記第1中間画像データの一部の前記第2ピクセルの色は、前記元画像データの一部の前記第1ピクセルの色に対して透明度が反映された色である、請求項1記載の画像処理装置。
【請求項3】
前記元画像データの第1ピクセルに用いられる各色に対応する第1カラーパレットと、当該各色に対して1または複数の異なる所定の透明度が設定された1または複数の第2カラーパレットを含むルックアップテーブルを記憶する記憶手段をさらに備え、
前記出力画像生成部は、前記第1中間画像データおよび前記第2中間画像データのピクセルの色の少なくとも一部を、前記第2カラーパレットを参照して取得する、請求項2記載の画像処理装置。
【請求項4】
前記所定の透明度がα(0<α<1)に相当する第2カラーパレットを備える一方、1-αの透明度に相当する第2カラーパレットを備えず、
前記第1中間画像データの前記第2ピクセルの第1の色に1-αの透明度を反映した第2の色と、前記第2中間画像データの前記第2ピクセルの第3の色が混合されることによって生成される第4の色と実質的に等しい第5の色が、当該第1中間画像データの前記第2ピクセルの前記第3の色にαの透明度を反映した第6の色と、当該第2中間画像の前記第2ピクセルの前記第1の色が混合されることによって生成される、請求項3記載の画像処理装置。
【請求項5】
元画像データを、横方向に5個の第1ピクセル毎に分割した場合の各第1領域について、横方向に6個の第2ピクセルとなるように対応する各第2領域を生成することによって、横方向のピクセル数が当該元画像データよりも多い2つの中間画像データを生成する中間画像生成部と、
前記2つの中間画像データから、それぞれの当該中間画像データにおいて対応する位置の前記第2ピクセル同士の色を混合することで、1つの出力画像データを生成する出力画像生成部と、を備え、
前記5個の第1ピクセルの色が左から順に、a色、b色、c色、d色およびe色である場合に、
前記中間画像生成部は、生成する前記2つの中間画像データの各々の前記第2領域に対応する6個の前記第2ピクセルにおいて、
両端に位置する前記第2ピクセルの色
を、生成する前記2つの中間画像データにおいて対応する位置の当該第2ピクセルの色を混合した結果が、前記元画像データの前記第1領域の両端の前記第1ピクセルの前記a色および前記e色と一致
するように設定し、
両端の間に位置する前記第2ピクセル
については、生成する前記2つの中間画像データにおいて対応する位置の当該第2ピクセルの色を、左から順に、(b,a)、(c,b)、(c,d)、(d,e)の組毎に所定の比率
に応じた透明度で設定して、
前記2つの中間画像データを生成する、画像処理装置。
【請求項6】
前記2つの中間画像データのうちの第1中間画像データの前記各第2領域における両端の前記第2ピクセルを除いた前記第2ピクセルの色は、それぞれ、透明度が80%であるb色、透明度が60%であるc色、透明度が60%であるc色、および、透明度が80%であるd色であり、前記2つの中間画像のうちの第2中間画像データの両端の前記第2ピクセルを除いた前記第2ピクセルの色は、透明度が20%であるa色、透明度が40%であるb色、透明度が40%であるd色および透明度が20%であるe色である、請求項5記載の画像形成装置。
【請求項7】
前記2つの中間画像データのうちの前面側の前記第1中間画像データの前記各第2領域における両端の前記第2ピクセルの色は、透明度が0%であるa色およびe色である、請求項6記載の画像形成装置。
【請求項8】
元画像データを、横方向にM個の第1ピクセル毎に分割した場合の各第1領域について、横方向にM個よりも多いN個の第2ピクセルとなるように対応する各第2領域を生成することによって、横方向のピクセル数が当該元画像データよりも多い2つの中間画像データを生成する中間画像生成部と、
前記2つの中間画像データから、それぞれの当該中間画像データにおいて対応する位置の前記第2ピクセル同士の色を混合することで、1つの出力画像データを生成する出力画像生成部と、を備え、
前記中間画像生成部
は、生成する前記2つの中間画像データの各々の前記第2領域において、
両端に位置する前記第2ピクセルについては、
生成する前記2つの中間画像データにおいて対応する位置の当該第2ピクセルの色を混合した結果が、前記元画像データの前記第1領域の両端の前記第1ピクセルの色と一致するように
、当該第2ピクセルの色を設定し、
両端の間に位置する前記第2ピクセルについては、
生成する前記2つの中間画像データにおいて対応する位置の当該第2ピクセルの色
を、前記元画像データの前記第1領域内で隣り合った2つの前記第1ピクセルの色を、当該2つの第1ピクセルの各々と当該第2ピクセルが対応する部分の面積の比率で混合
するように決定して、
前記2つの中間画像データを生成する、画像処理装置。
【請求項9】
元画像データを、横方向にM個の第1ピクセル毎に分割した場合の各第1領域について、横方向にM個よりも多いN個の第2ピクセルとなるように対応する各第2領域を生成することによって、横方向のピクセル数が当該元画像データよりも多い2つの中間画像データを生成するプロセッサと、
前記2つの中間画像データから、それぞれの当該中間画像データにおいて対応する位置の前記第2ピクセル同士の色を混合することで、1つの出力画像データを生成するマイクロコントローラと、
前記マイクロコントローラによって生成された出力画像データを出力する表示部を備え、
前記プロセッサ
は、生成する前記2つの中間画像データの各々の前記第2領域において、
両端に位置する前記第2ピクセルについては、
生成する前記2つの中間画像データにおいて対応する位置の当該第2ピクセルの色を混合した結果が、前記元画像データの前記第1領域の両端の前記第1ピクセルの色と一致するように
、当該第2ピクセルの色を設定し、
両端の間に位置する前記第2ピクセルについては、
生成する前記2つの中間画像データにおいて対応する位置の当該第2ピクセルの色
を、前記元画像データの前記第1領域内で隣り合った2つの前記第1ピクセルの色
を所定の比率に応じた透明度で設定して、
前記2つの中間画像データを生成する、画像処理装置。
【請求項10】
2つの中間画像データから、それぞれの当該中間画像データにおいて対応する位置のピクセル同士の色を混合することで、1つの出力画像データを生成する出力画像生成部を備える画像処理装置の画像処理プログラムであって、
前記画像処理装置のプロセッサに、
元画像データを、横方向にM個の第1ピクセル毎に分割した場合の各第1領域について、横方向にM個よりも多いN個の第2ピクセルとなるように対応する各第2領域を生成することによって、横方向のピクセル数が当該元画像データよりも多い前記2つの中間画像データを生成する中間画像生成ステップと、
中間画像生成ステップにおいて生成した前記2つの中間画像データを前記出力画像生成部に出力する出力ステップを実行させ、
前記中間画像生成
ステップは、生成する前記2つの中間画像データの各々の前記第2領域において、
両端に位置する前記第2ピクセルについては、
生成する前記2つの中間画像データにおいて対応する位置の当該第2ピクセルの色を混合した結果が、前記元画像データの前記第1領域の両端の前記第1ピクセルの色と一致するように
、当該第2ピクセルの色を設定し、
両端の間に位置する前記第2ピクセルについては、
生成する前記2つの中間画像データにおいて対応する位置の当該第2ピクセルの色
を、前記元画像データの前記第1領域内で隣り合った2つの前記第1ピクセルの色
を所定の比率に応じた透明度で設定して、
前記2つの中間画像データを生成する、画像処理プログラム。
【請求項11】
画像処理方法であって、
(a)元画像データを、横方向にM個の第1ピクセル毎に分割した場合の各第1領域について、横方向にM個よりも多いN個の第2ピクセルとなるように対応する各第2領域を生成することによって、横方向のピクセル数が元画像データよりも多い2つの中間画像データを生成するステップと、
(b)前記2つの中間画像データから、それぞれの当該中間画像データにおいて対応する位置の前記第2ピクセル同士の色を混合することで、1つの出力画像データを生成するステップを含み、
前記ステップ(a)は、生成する前記2つの中間画像データの各々の前記第2領域において、
両端に位置する前記第2ピクセルについては、
生成する前記2つの中間画像データにおいて対応する位置の当該第2ピクセルの色を混合した結果が、前記元画像データの前記第1領域の両端の前記第1ピクセルの色と一致するように
、当該第2ピクセルの色を設定し、
両端の間に位置する前記第2ピクセルについては、
生成する前記2つの中間画像データにおいて対応する位置の当該第2ピクセルの色
を、前記元画像データの前記第1領域内で隣り合った2つの前記第1ピクセルの色
を所定の比率に応じた透明度で設定して、
前記2つの中間画像データを生成する、画像処理方法。
【請求項12】
表示装置と、
元画像データを、横方向にMピクセルの領域毎に分割した場合の各第1領域について、横方向にM個よりも多いNピクセルとなるように対応する各第2領域を生成することによって、横方向のピクセル数が前記元画像データよりも多い2つの中間画像データを生成する中間画像生成部と、
前記2つの中間画像データから、それぞれの当該中間画像データにおいて対応する位置の前記第2ピクセル同士の色を混合することで、1つの出力画像データを生成する出力画像生成部と、
前記出力画像生成部によって生成された出力画像データを前記表示装置に出力する出力部と、を備え、
前記中間画像生成部
は、生成する前記2つの中間画像データの各々の前記第2領域において、
両端に位置する前記第2ピクセルについては、
生成する前記2つの中間画像データにおいて対応する位置の当該第2ピクセルの色を混合した結果が、前記元画像データの前記第1領域の両端の前記第1ピクセルの色と一致するように
、当該第2ピクセルの色を設定し、
両端の間に位置する前記第2ピクセルについては、
生成する前記2つの中間画像データにおいて対応する位置の当該第2ピクセルの色
を、前記元画像データの前記第1領域内で隣り合った2つの前記第1ピクセルの色
を所定の比率に応じた透明度で設定して、
前記2つの中間画像データを生成する、画像処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は画像処理装置、画像処理プログラム、画像処理方法および画像処理システムに関し、特にたとえば、画像を表示装置に表示する、画像処理装置、画像処理プログラム、画像処理方法および画像処理システムに関する。
【背景技術】
【0002】
過去のデバイスで遊ばれていたゲームアプリケーションを、近年のデバイスを用いて遊べるようにすることが行われている。この種の画像処理装置の一例が特許文献1に開示されている。この特許文献1のゲーム画像処理装置では、低解像度のゲーム画像を高解像度のゲーム画像に変換する場合に、ジャギー補間処理および色強調処理を施すことにより、低解像度の従来のゲーム画像の見た目を向上させている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、過去のデバイスでは、ブラウン管のテレビジョン受像機のようなモニタに接続されてゲームをプレイするのが一般的であり、ゲーム画像を構成するピクセルは、縦に比べて横が長い。
【0005】
一方で、近年のデバイスでは、ゲーム画像を構成するピクセルは、縦横比が実質的に等しく設定されていることが多い。このため、従来のデバイスで遊ばれていたゲームソフトにおける各ピクセルの指定色をそのまま近年の表示装置に表示すると、従来のテレビで表示されていた画像に比べて、全体的に縦長の表示となってしまう。その結果、当時と同じ映像体験を得たいと考えるユーザは違和感を覚える可能性があった。
【0006】
つまり、背景技術のゲーム画像処理装置では、ジャギーを低減するに留まっており、改善の余地があった。
【0007】
それゆえに、この発明の主たる目的は、新規な、画像処理装置、画像処理プログラム、画像処理方法および画像処理システムを提供することである。
【0008】
また、この発明の他の目的は、ユーザが違和感を覚えることを出来る限り防止することができる、画像処理装置、画像処理プログラム、画像処理方法および画像処理システムを提供することである。
【課題を解決するための手段】
【0009】
第1の発明は、元画像データを、横方向にM個の第1ピクセル毎に分割した場合の各第1領域について、横方向にM個よりも多いN個の第2ピクセルとなるように対応する各第2領域を生成することによって、横方向のピクセル数が当該元画像データよりも多い2つの中間画像データを生成する中間画像生成部と、2つの中間画像データから、それぞれの当該中間画像データにおいて対応する位置の第2ピクセル同士の色を混合することで、1つの出力画像データを生成する出力画像生成部と、を備え、中間画像生成部は、生成する2つの中間画像データの各々の第2領域において、両端に位置する第2ピクセルについては、生成する2つの中間画像データにおいて対応する位置の当該第2ピクセルの色を混合した結果が、元画像データの第1領域の両端の第1ピクセルの色と一致するように、当該第2ピクセルの色を設定し、両端の間に位置する第2ピクセルについては、生成する2つの中間画像データにおいて対応する位置の当該第2ピクセルの色を、元画像データの第1領域内で隣り合った2つの第1ピクセルの色を所定の比率に応じた透明度で設定して、2つの中間画像データを生成する、画像処理装置である。
【0010】
第2の発明は、第1の発明に従属し、出力画像生成部は、前面側の第1中間画像データと後面側の第2中間画像データとを重ね合わせることで出力画像データを生成するものであり、第1中間画像データの一部の第2ピクセルの色は、元画像データの一部の第1ピクセルの色に対して透明度が反映された色である。
【0011】
第3の発明は、第2の発明に従属し、元画像データの第1ピクセルに用いられる各色に対応する第1カラーパレットと、当該各色に対して1または複数の異なる所定の透明度が設定された1または複数の第2カラーパレットを含むルックアップテーブルを記憶する記憶手段をさらに備え、出力画像生成部は、第1中間画像データおよび第2中間画像データのピクセルの色の少なくとも一部を、第2カラーパレットを参照して取得する。
【0012】
第4の発明は、第3の発明に従属し、所定の透明度がα(0<α<1)に相当する第2カラーパレットを備える一方、1-αの透明度に相当する第2カラーパレットを備えず、第1中間画像データの第2ピクセルの第1の色に1-αの透明度を反映した第2の色と、第2中間画像データの第2ピクセルの第3の色が混合されることによって生成される第4の色と実質的に等しい第5の色が、当該第1中間画像データの第2ピクセルの第3の色にαの透明度を反映した第6の色と、当該第2中間画像の第2ピクセルの第1の色が混合されることによって生成される。
【0013】
第5の発明は、元画像データを、横方向に5個の第1ピクセル毎に分割した場合の各第1領域について、横方向に6個の第2ピクセルとなるように対応する各第2領域を生成することによって、横方向のピクセル数が当該元画像データよりも多い2つの中間画像データを生成する中間画像生成部と、2つの中間画像データから、それぞれの当該中間画像データにおいて対応する位置の第2ピクセル同士の色を混合することで、1つの出力画像データを生成する出力画像生成部と、を備え、5個の第1ピクセルの色が左から順に、a色、b色、c色、d色およびe色である場合に、中間画像生成部は、生成する2つの中間画像データの各々の第2領域に対応する6個の第2ピクセルにおいて、両端に位置する第2ピクセルの色を、生成する2つの中間画像データにおいて対応する位置の当該第2ピクセルの色を混合した結果が、元画像データの第1領域の両端の第1ピクセルのa色およびe色と一致するように設定し、両端の間に位置する第2ピクセルについては、生成する2つの中間画像データにおいて対応する位置の当該第2ピクセルの色を、左から順に、(b,a)、(c,b)、(c,d)、(d,e)の組毎に所定の比率に応じた透明度で設定して、2つの中間画像データを生成する、画像処理装置である。
【0014】
第6の発明は、第5の発明に従属し、2つの中間画像データのうちの第1中間画像データの各第2領域における両端の第2ピクセルを除いた第2ピクセルの色は、それぞれ、透明度が80%であるb色、透明度が60%であるc色、透明度が60%であるc色、および、透明度が80%であるd色であり、2つの中間画像のうちの第2中間画像データの両端の第2ピクセルを除いた第2ピクセルの色は、透明度が20%であるa色、透明度が40%であるb色、透明度が40%であるd色および透明度が20%であるe色である。
【0015】
第7の発明は、第6の発明に従属し、2つの中間画像データのうちの前面側の第1中間画像データの各第2領域における両端の第2ピクセルの色は、透明度が0%であるa色およびe色である。
【0016】
第8の発明は、元画像データを、横方向にM個の第1ピクセル毎に分割した場合の各第1領域について、横方向にM個よりも多いN個の第2ピクセルとなるように対応する各第2領域を生成することによって、横方向のピクセル数が当該元画像データよりも多い2つの中間画像データを生成する中間画像生成部と、2つの中間画像データから、それぞれの当該中間画像データにおいて対応する位置の第2ピクセル同士の色を混合することで、1つの出力画像データを生成する出力画像生成部と、を備え、中間画像生成部は、生成する2つの中間画像データの各々の第2領域において、両端に位置する第2ピクセルについては、生成する2つの中間画像データにおいて対応する位置の当該第2ピクセルの色を混合した結果が、元画像データの第1領域の両端の第1ピクセルの色と一致するように、当該第2ピクセルの色を設定し、両端の間に位置する第2ピクセルについては、生成する2つの中間画像データにおいて対応する位置の当該第2ピクセルの色を、元画像データの第1領域内で隣り合った2つの第1ピクセルの色を、当該2つの第1ピクセルの各々と当該第2ピクセルが対応する部分の面積の比率で混合するように決定して、2つの中間画像データを生成する、画像処理装置である。
【0017】
第9の発明は、元画像データを、横方向にM個の第1ピクセル毎に分割した場合の各第1領域について、横方向にM個よりも多いN個の第2ピクセルとなるように対応する各第2領域を生成することによって、横方向のピクセル数が当該元画像データよりも多い2つの中間画像データを生成するプロセッサと、2つの中間画像データから、それぞれの当該中間画像データにおいて対応する位置の第2ピクセル同士の色を混合することで、1つの出力画像データを生成するマイクロコントローラと、マイクロコントローラによって生成された出力画像データを出力する表示部を備え、プロセッサは、生成する2つの中間画像データの各々の第2領域において、両端に位置する第2ピクセルについては、生成する2つの中間画像データにおいて対応する位置の当該第2ピクセルの色を混合した結果が、元画像データの第1領域の両端の第1ピクセルの色と一致するように、当該第2ピクセルの色を設定し、両端の間に位置する第2ピクセルについては、生成する2つの中間画像データにおいて対応する位置の当該第2ピクセルの色を、元画像データの第1領域内で隣り合った2つの第1ピクセルの色を所定の比率に応じた透明度で設定して、2つの中間画像データを生成する、画像処理装置である。
【0018】
第10の発明は、2つの中間画像データから、それぞれの当該中間画像データにおいて対応する位置のピクセル同士の色を混合することで、1つの出力画像データを生成する出力画像生成部を備える画像処理装置の画像処理プログラムであって、画像処理装置のプロセッサに、元画像データを、横方向にM個の第1ピクセル毎に分割した場合の各第1領域について、横方向にM個よりも多いN個の第2ピクセルとなるように対応する各第2領域を生成することによって、横方向のピクセル数が当該元画像データよりも多い2つの中間画像データを生成する中間画像生成ステップと、中間画像生成ステップにおいて生成した2つの中間画像データを出力画像生成部に出力する出力ステップを実行させ、中間画像生成ステップは、生成する2つの中間画像データの各々の第2領域において、両端に位置する第2ピクセルについては、生成する2つの中間画像データにおいて対応する位置の当該第2ピクセルの色を混合した結果が、元画像データの第1領域の両端の第1ピクセルの色と一致するように、当該第2ピクセルの色を設定し、両端の間に位置する第2ピクセルについては、生成する2つの中間画像データにおいて対応する位置の当該第2ピクセルの色を、元画像データの第1領域内で隣り合った2つの第1ピクセルの色を所定の比率に応じた透明度で設定して、2つの中間画像データを生成する、画像処理プログラムである。
【0019】
第11の発明は、画像処理方法であって、(a)元画像データを、横方向にM個の第1ピクセル毎に分割した場合の各第1領域について、横方向にM個よりも多いN個の第2ピクセルとなるように対応する各第2領域を生成することによって、横方向のピクセル数が当該元画像データよりも多い2つの中間画像データを生成するステップと、(b)2つの中間画像データから、それぞれの当該中間画像データにおいて対応する位置の第2ピクセル同士の色を混合することで、1つの出力画像データを生成するステップを含み、ステップ(a)は、生成する2つの中間画像データの各々の第2領域において、両端に位置する第2ピクセルについては、生成する2つの中間画像データにおいて対応する位置の当該第2ピクセルの色を混合した結果が、元画像データの第1領域の両端の第1ピクセルの色と一致するように、当該第2ピクセルの色を設定し、両端の間に位置する第2ピクセルについては、生成する2つの中間画像データにおいて対応する位置の当該第2ピクセルの色を、元画像データの第1領域内で隣り合った2つの第1ピクセルの色を所定の比率に応じた透明度で設定して、2つの中間画像データを生成する、画像処理方法である。
【0020】
第12の発明は、表示装置と、元画像データを、横方向にMピクセルの領域毎に分割した場合の各第1領域について、横方向にM個よりも多いNピクセルとなるように対応する各第2領域を生成することによって、横方向のピクセル数が当該元画像データよりも多い2つの中間画像データを生成する中間画像生成部と、2つの中間画像データから、それぞれの当該中間画像データにおいて対応する位置の第2ピクセル同士の色を混合することで、1つの出力画像データを生成する出力画像生成部と、出力画像生成部によって生成された出力画像データを表示装置に出力する出力部と、を備え、中間画像生成部は、生成する2つの中間画像データの各々の第2領域において、両端に位置する第2ピクセルについては、生成する2つの中間画像データにおいて対応する位置の当該第2ピクセルの色を混合した結果が、元画像データの第1領域の両端の第1ピクセルの色と一致するように、当該第2ピクセルの色を設定し、両端の間に位置する第2ピクセルについては、生成する2つの中間画像データにおいて対応する位置の当該第2ピクセルの色を、元画像データの第1領域内で隣り合った2つの第1ピクセルの色を所定の比率に応じた透明度で設定して、2つの中間画像データを生成する。
【発明の効果】
【0021】
この発明によれば、ユーザが見た目の違和感を覚えることを出来る限り防止することができる。
【図面の簡単な説明】
【0022】
【
図1】
図1は情報処理装置の電気的な構成の限定しない一例を示すブロック図である。
【
図2】
図2(A)は横長のピクセルで描画される画像の一部の限定しない一例を示す図であり、
図2(B)は
図2(A)に示す画像を同じ数の正方形のピクセルで描画した場合の画像を示す図であり、
図2(C)は
図2(A)に示す画像を個数を増やして正方形のピクセルで描画した場合の画像を示す図である。
【
図3】
図3(A)は横長のピクセルで画像を描画した場合の第1領域の限定しない一例を示す図であり、
図3(B)は正方形のピクセルで
図3(A)に示した画像に対応する出力画像を描画した場合の第2領域の限定しない一例を示す図であり、
図3(C)は正方形のピクセルで
図3(A)に示した画像に基づく第1中間画像を描画した場合の第2領域の限定しない一例を示す図であり、
図3(D)は正方形のピクセルで
図3(A)に示した画像に基づく第2中間画像を描画した場合の第2領域の限定しない一例を示す図である。
【
図4】
図4は
図1に示す情報処理装置の表示制御装置の電気的な構成の限定しない一例を示すブロック図である。
【
図5】
図5は
図1に示す情報処理装置のRAMのメモリマップの限定しない一例を示す図である。
【
図6】
図6は
図1に示す情報処理装置のプロセッサの情報処理の限定しない一例のフロー図である。
【発明を実施するための形態】
【0023】
図1を参照して、限定しない一例の情報処理装置10は、画像処理装置としても機能し、プロセッサ20を含む。プロセッサ20は、RAM22、フラッシュメモリ24、通信モジュール26、入力装置30、表示制御装置32およびD/A変換器34に接続される。また、表示制御装置32は、表示装置36に接続され、D/A変換器34は、スピーカ38に接続される。
【0024】
プロセッサ20は、情報処理装置10の全体制御を司る。具体的には、プロセッサ20は、CPUやGPUの機能を内蔵したSoC(System-on-a-chip)である。RAM22は、揮発性の記憶媒体であり、プロセッサ20のワークメモリやバッファメモリとして使用される。また、RAM22は、情報処理装置10のメインメモリであり、2つのフレームバッファ304cおよび304dを有している(
図5参照)。この実施例では、フォアグラウンド(以下、「FG」という)側のフレームバッファ304cおよびバックグラウンド(以下、「BG」という)側のフレームバッファ304dが設けられる。
【0025】
ただし、フレームバッファ304cおよびフレームバッファ304dは、RAM22以外の1つのメモリに設けられてもよいし、RAM22以外の2つのメモリに分けて設けられてもよい。
【0026】
フラッシュメモリ24は、不揮発性の記憶媒体であり、各種のアプリケーションのプログラムを記憶したり、各種のデータを記憶(セーブ)したりするために使用される。たとえば、アプリケーションのプログラムおよび必要なデータは、フラッシュメモリ24から読み出され、RAM22に記憶される。
【0027】
ただし、アプリケーションとしては、ゲームのアプリケーション、マニュアル表示のアプリケーション、文書作成のアプリケーション、電子メールのアプリケーション、お絵描きのアプリケーション、文字練習用のアプリケーション、語学トレーニングのアプリケーション、学習のアプリケーションなどの様々な情報処理についてのアプリケーションが該当する。
【0028】
通信モジュール26は、たとえばIEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。したがって、たとえば、プロセッサ20は、通信モジュール26を用いて、アクセスポイントおよびインターネットなどのネットワークを介して他の機器との間でデータを送受信する。たとえば、他の機器は、コンピュータまたは他の情報処理装置10などである。ただし、通信モジュール26を用いて、他の機器との間で直接データを送受信することもできる。
【0029】
ただし、通信モジュール26は、イーサネット(登録商標)の通信方式を利用して、有線LANに接続する機能を有していてもよい。
【0030】
また、通信モジュール26は、無線LANまたは有線LANに接続する機能とは異なり、近距離無線通信を行う機能を有していてもよい。具体的には、通信モジュール26は、所定の通信方式(たとえば、赤外線方式)により、他の機器との間で赤外線信号の送受信を行う機能、および所定の通信プロトコル(たとえば、マルチリンクプロトコル)に従って、同種の情報処理装置との間で無線通信を行う機能を有する。この場合、たとえば、プロセッサ20は、通信モジュール26を用いて、同種の他の情報処理装置との間でデータを直接送受信することができる。ただし、赤外線方式の近距離無線通信に代えて、Bluetooth(登録商標)のような他の無線通信規格に従う近距離無線通信を行うようにしてもよい。
【0031】
入力装置30は、たとえば、情報処理装置10に設けられるタッチパネルおよび各種の押しボタンまたはスイッチであり、ユーザによって、メニュー選択およびアプリケーションにおける指示などの各種の操作に用いられる。ただし、入力装置30としては、コンピュータマウスのようなタッチパネル以外のポインティングデバイス、マイクおよびカメラなどの入力手段が、タッチパネルおよび押しボタンに代えて、または、タッチパネルおよび押しボタンとともに設けられてもよい。また、タッチパネルは、後述する表示装置36に組み込まれる場合もある。この場合の表示装置36は、タッチパネル一体型表示装置である。
【0032】
表示制御装置32は、プロセッサ20の指示の下、表示装置36に各種の表示画像を表示するために使用される。表示画像としては、上記のアプリケーションを実行している場合の実行画面または上記のアプリケーションの実行を選択する場合のメニュー画面などが該当する。表示制御装置32の詳細については後述する。表示装置36は、典型的には、LCDである。ただし、表示装置36としては、有機ELディスプレイを用いることもできる。
【0033】
D/A変換器34は、プロセッサ20から与えられる音声データをアナログの音声信号に変換し、スピーカ38に出力する。ただし、音声データは、キャラクタないしオブジェクトが発生する音、効果音、BGMなどの音楽についてのデータである。
【0034】
なお、
図1に示す情報処理装置10の電気的な構成は単なる一例であり、これに限定される必要はない。たとえば、通信モジュール26は無くてもよい。
【0035】
このような構成の情報処理装置10では、従来のゲーム機用のゲームソフト(つまり、ゲームのアプリケーションのプログラム)をエミュレータなどによってそのまま実行したり、ストーリなどの一部を改変したリメイクソフトによってプレイしたりすることができる。
【0036】
従来のゲーム画像処理装置では、低解像度のゲーム画像を高解像度のゲーム画像に変換する場合に、ジャギー補間処理および色強調処理を施すことにより、低解像度の従来のゲーム画像の見た目を向上させている。
【0037】
しかし、従来のゲーム機では、横長のピクセル(以下、「第1ピクセル」という。)でゲーム画像のデータが描画されており、これに対して、近年では、正方形のピクセル(以下、「第2ピクセル」という。)でゲーム画像のデータが描画される場合がある。したがって、上記のように、従来の仮想のゲームのアプリケーションをエミュレータなどによってそのまま実行し、各ピクセルの指定色をそのまま表示装置36に表示すると、従来のテレビジョン受像機のモニタで表示されていた画像に比べて、ゲーム画像が縦長に表示されてしまう。このため、当時と同じ映像体験を得たいユーザは違和感を覚える虞があった。
【0038】
ただし、この明細書において、「ピクセル」は、デジタル画像を構成する最小単位を意味し、「画素」とも呼ばれる。
【0039】
なお、過去のゲーム機例えばファミリーコンピュータ(登録商標)およびスーパーファミコン(登録商標)などは、従来のテレビジョン受像機のように、ブラウン管(または、陰極線管)を用いたモニタに接続され、このモニタは横長の形状であるため、第1ピクセルでゲーム画像のデータは描画されていた。一例として、従来のゲーム機では、フレームバッファの大きさは、横256ピクセル×縦240ピクセルである。また、従来のモニタの画面アスペクト比は4:3であり、従来の第1ピクセルのピクセルアスペクト比(「ピクセル比」ともいう)は1.2:1である。
【0040】
ここでは、分かり易く説明するために、ゲームソフトをエミュレーション実行してゲーム画像のデータを描画する場合について説明したが、画像(以下、「元画像」という)データが第1ピクセルで描画されており、この元画像データを第2ピクセルで描画する場合であれば、ゲームソフトおよびゲーム画像に限定される必要はない。
【0041】
ただし、元画像データは、第1ピクセルで描画されていない場合もある。たとえば、元画像データが第2ピクセルで描画されている場合には、後述するようなブレンドの処理は不要である。
【0042】
ここで、
図2(A)および
図2(B)を参照しながら、上記のように、ゲーム画像が縦長に表示されてしまう理由について具体的に説明する。
図2(A)は第1ピクセルで描画した元画像データの一部を示す図である。
図2(B)は
図2(A)に示す元画像データの一部を第2ピクセルで描画した場合の画像を示す図である。
【0043】
上記のとおり、
図2(A)に示すピクセルのピクセルアスペクト比は1.2:1であり、
図2(B)に示すピクセルのピクセルアスペクト比は1:1である。また、
図2(A)および
図2(B)では、縦方向および横方向に、それぞれ、5個のピクセルが並んでいる。また、この実施例では、分かり易く示すために、第1ピクセルおよび第2ピクセルの縦の長さを同じ長さにしてある。
【0044】
なお、
図2(A)および
図2(B)では、各ピクセルを四角形の枠で示してあるが、実際には、枠を示す線が描画されることはない。このことは、後述する
図2(C)についても同じである。
【0045】
図2(A)および
図2(B)を参照して分かるように、元画像データを、第1ピクセルと同じ個数の第2ピクセルでそのまま描画すると、第2ピクセルは第1ピクセルよりも横幅が短いため、第2ピクセルで描画された場合には、第1ピクセルで描画された元画像に比べて縦長に見える。
【0046】
したがって、この実施例では、上記のような不都合を回避するべく、第1ピクセルで描画された元画像データを、第2ピクセルで描画する場合に、横方向において、N/M倍の個数の第2ピクセルで描画した2つの中間画像データ(以下、「中間画像データ」という)を生成し、これらを合成する。簡単に言うと、横方向において、第1ピクセルよりも多い数の第2ピクセルを用いて元画像データを描画する。つまり、
図2(A)に示す元画像データの一部を第2ピクセルで描画する場合に、
図2(C)に示すように、横方向のピクセルの数が増加される。この実施例では、M=5であり、N=6である。したがって、N/M倍は1.2倍である。また、N/M倍は整数倍ではない。整数倍であれば、2つの中間画像データを合成する必要はなく、単に、各第1ピクセルで描画された画像を、横方向に整数倍した個数の第2ピクセルで描画すれば良いからである。
【0047】
ただし、この実施例では、中間画像データは、元画像データに基づいて生成された画像のデータであって、一部の第2ピクセルに、色を混合する場合の所定の比率に応じた透明度が設定された画像のデータである。
【0048】
図3(A)-
図3(D)を参照して、2つの中間画像データを生成し、これらを合成する方法について説明する。
図3(A)は、元画像データが描画された第1ピクセルを5個横方向に並べた図であり、
図3(B)は、表示装置36への出力画像のデータ(以下、「出力画像データ」という)のうち、
図3(A)の5個の第1ピクセルに対応する位置の6個の第2ピクセルを示す図であり、
図3(C)はFG側のフレームバッファ304cに描画された中間画像(以下、「第1中間画像」という)データのうち、
図3(A)の5個の第1ピクセルに対応する位置の6個の第2ピクセルを示す図であり、そして、
図3(D)はBG側のフレームバッファ304dに描画された中間画像(以下、「第2中間画像」という)データのうち、
図3(A)の5個の第1ピクセルに対応する位置の6個の第2ピクセルを示す図である。
【0049】
なお、
図3(C)に示す第1中間画像データの6個の第2ピクセルと、
図3(D)に示す第2中間画像データの6個の第2ピクセルは、それぞれ、
図3(B)に示す出力画像データの6個の第2ピクセルと同じ位置のピクセルである。
【0050】
また、フレームバッファ304cおよび304dの大きさは、横307ピクセル×縦240ピクセルであり、この実施例では、第1ピクセルと第2ピクセルの縦の長さを同じにしてあるため、第1ピクセルを用いた場合の従来のフレームバッファと略同じ大きさである。
【0051】
さらに、この実施例では、画像のデータはラスタスキャン方式で描画され、画像の左上から右方向に順次描画され、右端まで描画されると、一列下の段の左端から右方向に順次描画され、このような処理が繰り返し実行される。
【0052】
図3(A)に示すように、5個の第1ピクセルが横方向に並んでおり、各第1ピクセルに記載したa、b、c、dおよびeは対応する第1ピクセルの色を示す。具体的には、1番目(
図3(A)において、左端)の第1ピクセルはa色であり、2番目の第1ピクセルはb色であり、3番目の第1ピクセルはc色であり、4番目の第1ピクセルはd色であり、そして、5番目(
図3(A)において、右端)の第1ピクセルはe色である。
【0053】
この実施例では、第1ピクセルで描画された元画像データを第2ピクセルで描画する場合に、上記のとおり、1.2倍の個数の第2ピクセルが用いられる。これは、第1ピクセルのピクセルアスペクト比が1.2:1だからであり、1.2倍の個数の第2ピクセルを用いることにより、横方向にM個の第1ピクセル毎に分割した場合の各領域(以下、「第1領域」という)について、横方向にN(1.2×M)個の第2ピクセルとなるように対応する各領域(以下、「第2領域」という)を生成することができるからである。
【0054】
ただし、説明の便宜上、「分割」と表現しているだけであり、実際の処理において、元画像データを分割している訳ではない。
【0055】
上述したように、
図3(B)は、表示装置36に出力される出力画像データのうち、
図3(A)に示す5個の第1ピクセルに対応する位置の6個の第2ピクセルである。
【0056】
なお、この実施例において、第1ピクセルで描画された画像と第2ピクセルで描画された画像を仮想的に重ねた場合に、着目する第1ピクセルと重なる位置に配置された第2ピクセルを、「第1ピクセルに対応する位置の第2ピクセル」と呼び、着目する第2ピクセルと重なる位置に配置された第1ピクセルを「第2ピクセルに対応する位置の第1ピクセル」と呼ぶこととする。
【0057】
また、
図3(A)および
図3(B)を参照して分かるように、この実施例では、出力画像データは、6個の第2ピクセルのうち、両端(1番目と6番目)の第2ピクセルについては、元画像データの色でそのまま描画される。また、6個の第2ピクセルのうち、両端の第2ピクセルの間の第2ピクセルについては、5個の第1ピクセルのうち、対応する位置において隣接する2つの第1ピクセルの色を所定の比率で混合して描画される。ただし、所定の比率は、2つの第1ピクセルの色の透明度についての比率である。
【0058】
したがって、
図3(B)に示すように、6個の第2ピクセルのうち、1番目(左端)の第2ピクセルはa色であり、6番目(右端)の第2ピクセルはe色である。6個の第2ピクセルのうち、2番目の第2ピクセルはa色とb色を所定の比率P1で混合した色であり、3番目の第2ピクセルはb色とc色を所定の比率P2で混合した色であり、4番目の第2ピクセルはc色とd色を所定の比率P3で混合した色であり、5番目の第2ピクセルはd色とe色を所定の比率P4で混合した色である。つまり、出力画像データにおいて、6個の第2ピクセルのうち、両端の間に位置する第2ピクセルの色は、左から順に、(b,a)、(c,b)、(c,d)、(d,e)の組毎に所定の比率で混合して生成される。
【0059】
所定の比率P1、P2、P3、P4は、色の配分比率であって、2番目-5番目の第2ピクセルの各々に対応する位置において、隣接する2つの第1ピクセルに重ねた場合に、当該2つの第1ピクセルと当該第2ピクセルが重なる部分の面積の比率で決定される。
【0060】
図3(A)および
図3(B)に示すように、2番目の第2ピクセルは、その全体の面積のうちの2割について1番目の第1ピクセルと重なり、残りの8割について2番目の第1ピクセルと重なる。面積が重なる割合については、
図3(A)および
図3(B)の間に示してある。したがって、所定の比率P1は、1対4であり、2番目の第2ピクセルは0.2a+0.8b色である。ここで、「+」は混合(または、合成)を意味する。また、係数は所定の比率P1に基づく数値であり、この実施例では、透明度を用いて設定される。透明度は、0%から100%の数値であり、この数値が0から1の数値で表される。ただし、透明度が100%(つまり、完全透明)である場合には、α値は0であり、透明度が0%(つまり、不透明)である場合には、α値は1である。これらのことは、他の第2ピクセルの色の場合についても同様である。
【0061】
したがって、3番目の第2ピクセルは、その全体の面積のうちの4割について2番目の第1ピクセルと重なり、残りの6割について3番目の第1ピクセルと重なる。したがって、所定の比率P2は、2対3であり、3番目の第2ピクセルは0.4b+0.6c色である。
【0062】
また、4番目の第2ピクセルは、その全体の面積のうちの6割について3番目の第1ピクセルと重なり、残りの4割について4番目の第1ピクセルと重なる。したがって、所定の比率P3は、3対2であり、4番目の第2ピクセルは0.6c+0.4d色である。
【0063】
さらに、5番目の第2ピクセルは、その全体の面積のうちの8割について4番目の第1ピクセルと重なり、残りの2割について5番目の第1ピクセルと重なる。したがって、所定の比率P4は、4対1であり、5番目の第2ピクセルは0.8d+0.2e色である。
【0064】
図3(B)に示すように色を混合した出力画像を生成するために、上述したように、この実施例では、混合前の2つの中間画像データが生成される。
図3(C)が第1中間画像データの一部であり、
図3(D)が第2中間画像データの一部である。
【0065】
図3(C)に示すように、第1中間画像データでは、1番目の第2ピクセルはa色であり、2番目の第2ピクセルは0.8b色であり、3番目の第2ピクセルは0.6c色であり、4番目の第2ピクセルは0.6c色であり、5番目の第2ピクセルは0.8d色であり、6番目の第2ピクセルはe色である。
【0066】
また、
図3(D)に示すように、第2中間画像データでは、1番目および6番目の第2ピクセルには、色が無く、2番目の第2ピクセルは0.2a色であり、3番目の第2ピクセルは0.4b色であり、4番目の第2ピクセルは0.4d色であり、5番目の第2ピクセルは0.2e色である。
【0067】
第2中間画像データにおいて、両端の第2ピクセルの色が無いのは、第1中間画像データの両端の第2ピクセルの色が、第1中間画像データと第2中間画像データを合成した後の色になっているからである。したがって、第1中間画像データにおいて、両端の第2ピクセルの透明度を100%(すなわち、α=0)にした場合には、第2中間画像データにおいて、両端の第2ピクセルの色がa色とe色に設定される。また、他の例では、第1中間画像データにおいて、両端の第2ピクセルの色が、透明度が50%(すなわち、α=0.5)のa色とe色に設定された場合には、第2中間画像データにおいて、両端の第2ピクセルの色が、透明度が50%(すなわち、α=0.5)のa色とe色に設定に設定される。
【0068】
また、この実施例では、混合する色の配分比率を分かり易く示すために、第2中間画像データについても所定の比率P1-P4に従って係数を設定するようにしてあるが、第2中間画像データは後面側であるため、不透明である。つまり、第2中間画像データの各ピクセルの色については、透明度はすべて0%(すなわち、α=1)である。このため、第1中間画像データの一部の第2ピクセルの色が、元画像データの一部の第1ピクセルの色に対して透明度が反映された色である。
【0069】
したがって、この実施例では、第2領域の両端の第2ピクセルを除いて、所定の比率P1-P4に従って係数を設定された透明な色の第1中間画像データと、不透明な色の第2中間画像データとが合成され、出力画像データにおいては、結果的に、所定の比率P1-P4に従って設定された配分比率の色が実現される。
【0070】
さらに、
図3(C)および
図3(D)に示す第1中間画像データおよび第2中間画像データは一例であり、第1中間画像データに設定される色と第2中間画像データに設定される色は入れ替えてもよい。この場合、第2中間画像データの両端の間の第2ピクセルの色は、透明度が0%の色に設定される。また、この場合、第1中間画像データの両端の第2ピクセルには、透明度が100%である任意の色を設定することもできる。
【0071】
上述したように、この実施例では、FG側のフレームバッファ304cに第1中間画像データが描画(または、生成)され、BG側のフレームバッファ304eに第2中間画像データが描画(または、生成)され、第1中間画像データおよび第2中間画像データが合成される。
【0072】
つまり、第1ピクセルで描画していた元画像データを第2ピクセルで描画する場合に、横方向における第2ピクセルの個数を増やし、横方向に5個の第1ピクセル毎に分割した場合の各第1領域について、横方向に6個の第2ピクセルとなるように対応する各第2領域を生成することによって、横方向のピクセル数が当該元画像データの1.2倍となるよう2つの中間画像データが生成される。そして、生成された2つの中間画像データにおいては、それぞれの先頭の第2ピクセルから順番に、対応する位置の2つの第2ピクセルの色が混合される。
【0073】
ただし、2つの中間画像データの各々の第2領域において、両端に位置する第2ピクセルについては、当該2つの中間画像データにおいて対応する位置の当該第2ピクセルの色を混合した結果が、元画像データの第1領域の両端の第1ピクセルの色と一致するように設定される。また、2つの中間画像データの各々の第2領域において、両端の間に位置する第2ピクセルについては、混合される、つまり、当該2つの中間画像データにおいて対応する位置に在る2つの当該第2ピクセルの色は、それぞれ、元画像データにおいて当該第2領域に対応する位置の第1領域内で隣り合った2つの第1ピクセルの色に基づいて生成される。
【0074】
また、上述したように、フレームバッファ304cおよび304dの大きさは、横307ピクセル×縦240ピクセルであるため、実際には、第1中間画像データおよび第2中間画像データでは、横方向の第2ピクセルの個数が元画像データのN/M倍ではない。
【0075】
なお、表示装置36では、表示画像データの一部(たとえば、両端の数~数十ピクセル分)は表示されないため、第1中間画像データおよび第2中間画像データにおいて、第2ピクセルの個数は、元画像データの個数よりも多ければ、N/M倍にならなくてもよい。
【0076】
図4は、
図1に示した表示制御装置32の構成を示すブロック図である。表示制御装置32は、マイクロコントローラ(または、コントロールIC)であり、一例として、STマイクロエレクトロニクス社製のChrom-Art Accelerator コントローラ(DMA2D)を使用することができる。
【0077】
図4は
図1に示した表示制御装置32の限定しない一例のブロック図である。
図4に示すように、表示制御装置32は、FG側のPFC(以下、「FGPFC」という)320およびBG側のPFC(以下、「BGPFC」という)を含む。FGPFC320は、RAM324に接続されるとともに、ブレンダ328の一方入力端に接続される。BGPEC322は、RAM326に接続されるとともに、ブレンダ328の他方入力端に接続される。
【0078】
FGPFC320は、前面側のピクセルフォーマット変換回路であり、フレームバッファ304cから入力される第1中間画像データすなわち各第2ピクセルのデータ(以下、「ピクセルデータ」という)を色データに変換する。色データは、後述する色情報と付加情報で表される色についてのデータである。この実施例では、ピクセルデータは、RAM324に記憶されたルックアップテーブルに記載された識別番号(または、識別情報)についてのデータである。
【0079】
ルックアップテーブルは、一例として、従来のゲーム機で使用可能な不透明の複数の色(この実施例では、64色)についてのカラーパレット(以下、「不透明カラーパレット」ということがある)を含む。また、この実施例では、ルックアップテーブルは、上記の複数の色(64色)を20%の透明度で表した色についてのカラーパレット(以下、「透明度20%カラーパレット」ということがある)と、上記の複数の色(64色)を40%の透明度で表した色についてのカラーパレット(以下、「透明度40%カラーパレット」ということがある)を含む。
【0080】
ルックアップテーブルでは、上記の3つのカラーパレットに含まれる各色情報およびこの各色情報に対応する各付加情報が、識別番号に対応して記載される。色情報は、R、G、Bのそれぞれの値についてのデータである。また、付加情報は、α値についてのデータである。この実施例では、R、G、Bおよびαのそれぞれが8ビットのデータで指定される。α値は、透明度についてのデータであり、1(“11111111”)と0(“00000000”)間の数値で設定される。上記の不透明カラーパレットでは、64色は不透明であるため、α値は1に設定される。また、透明度20%カラーパレットでは、透明度が20%であるため、α値は0.8に設定される。さらに、透明度40%カラーパレットでは、透明度が40%であるため、α値は0.6に設定される。
【0081】
この実施例では、透明度がα(0<α<1)である透明度20%カラーパレットおよび透明度40%カラーパレットを備えているが、透明度が1-αであるカラーパレットを備えていない。これは、透明度が1-αである場合には、FG側とBG側とで色を入れ替えれば良いからである。したがって、本来は、透明度が20%、40%、60%および80%である4種類のカラーパレットが必要であるところ、この実施例の情報処理装置10(または、表示制御装置32)は、透明度20%カラーパレットおよび透明度40%カラーパレットだけを備えて、透明度が60%および80%のカラーパレットについては省略してある。
【0082】
上述したように、
図3(C)および
図3(D)において、第1中間画像データに設定される色と第2中間画像データに設定される色は入れ替えてもよいが、数式を用いて色を表現した場合は同じ色として表現されるが、実際には、全く同じ色が生成されるとは限らない。
【0083】
つまり、第1中間画像データの第2ピクセルの第1の色に1-αの透明度を反映した第2の色と、第2中間画像データの対応する第2ピクセルの第3の色が混合されることによって生成される第4の色と、当該第1中間画像データの当該第2ピクセルを第3の色にαの透明度を反映した第6の色として、当該第2中間画像データの対応する第2ピクセルを第1の色としてこれらを混合されることによって生成される第5の色とは、実質的に等しいが全く同じ色が生成されるとは限らない。
【0084】
なお、この実施例では、1つのルックアップテーブルに3つのカラーパレットを設けるようにしたが、これに限定される必要はない。3つのカラーパレットを、それぞれ、個別のルックアップテーブルに設けるようにしてもよい。
【0085】
図4に戻って、BGPFC322は、後面側のピクセルフォーマット変換回路であり、フレームバッファ304dから入力される第2中間画像データすなわち各ピクセルのピクセルデータを色データに変換する。このピクセルデータは、RAM326に記憶されたルックアップテーブルの識別番号を指定するデータである。この実施例では、RAM326に記憶されるルックアップテーブルは、上述したRAM324に記憶されるルックアップテーブルと同じである。したがって、ルックアップテーブルの内容等についての重複する説明は省略する。
【0086】
各ピクセルのピクセルデータが色データに変換された第1中間画像データおよび第2中間画像データは、ブレンダ328で混合(または、合成)される。上述したように、表示装置36に出力される出力画像は、第1中間画像データの色および第2中間画像データの色が、それぞれの先頭の第2ピクセルから順に、対応する位置の2つの第2ピクセルの色を混合することにより、生成される。
【0087】
色の混合は、上述したとおりであり、具体的には、出力画像の各ピクセルの色が数1に従って算出される。ただし、Cは、R、GまたはBである。また、上記のとおり、FGはフォアグラウンド(または、第1中間画像データ)を意味し、BGはバックグラウンド(または、第2中間画像データ)を意味し、OUTは出力を意味する。ただし、混合されるのは、第1中間画像データの第2ピクセルの色と、これに対応する位置の第2中間画像データの第2ピクセルの色である。
【0088】
[数1]
COUT = CFG * αFG + CBG * αBG
ただし、上述したように、この実施例では、αFG = 0.6、0.8または1であり、αBG = 1である。
【0089】
なお、フレームバッファ304cおよびフレームバッファ304dは、横方向の幅が307ビットであり、6の倍数ではないため、各行の307ビット目については色は算出されない。
【0090】
以上より、横方向における第2ピクセルの個数を1.2倍にすることにより、第1ピクセルとのピクセルアスペクト比の違いを吸収するとともに、6個のうちの両端以外の第2ピクセルについては、元画像データが描画された5個の第1ピクセルのうち、隣接する2つの第1ピクセルの色を面積比に応じた透明度の比率で混合した色に設定するので、第1ピクセルで描画された元画像に似た見た目の出力画像を第2ピクセルで描画することができる。したがって、ユーザが違和感を覚えるのを、できる限り防止することができる。
【0091】
図5は
図1に示した情報処理装置10のRAM22のメモリマップ300の一例を示す図である。
図5に示すように、RAM22は、プログラム記憶領域302およびデータ記憶領域304を含む。プログラム記憶領域302には、上述した第1中間画像データおよび第2中間画像データを生成および合成する画像処理を含む情報処理プログラムの一例であるゲームプログラムが記憶される。
【0092】
ゲームプログラムは、ゲームメイン処理プログラム302a、画像生成プログラム302bおよび画像表示プログラム302cを含む。
【0093】
なお、情報処理プログラム(ここでは、ゲームプログラム)は、予めフラッシュメモリ24に記憶されていてもよいし、外部の情報処理装置からインターネットのようなネットワークを介して取得してもよい。また、情報処理プログラムは、情報処理装置10に着脱可能な光ディスクまたはメディアカードのような外部メモリから取得してもよい。ただし、情報処理プログラムの一部をフラッシュメモリ24に記憶しておき、他の一部を外部の情報処理装置または外部メモリから取得するようにしてもよい。これらのことは、後述する画像生成用データ304aについても同様である。
【0094】
ゲームメイン処理プログラム302aは、仮想のゲームのメインルーチンを処理するためのプログラムである。画像生成プログラム302bは、画像生成用データ304aを用いてゲーム画像などの様々な表示画像のデータ(以下、「表示画像データ」という)を生成するためのプログラムである。この実施例では、元画像データが第2ピクセルで描画されている場合には、画像生成プログラムは、表示画像データをフレームバッファ304cに描画する。また、画像生成プログラム302bは、元画像データが第1ピクセルで描画されている場合には、表示画像データとして、第1中間画像データをフレームバッファ304cに描画するとともに、第2中間画像データをフレームバッファ304dに描画する。ただし、表示画像データは、ピクセル毎にピクセルデータを指定したデータである。第1中間画像データおよび第2中間画像データもまた、ピクセル毎のピクセルデータを指定したデータである。
【0095】
画像表示プログラム302cは、画像生成プログラム302bに従って生成された表示画像データを表示制御装置32に出力するためのプログラムである。この実施例では、表示画像データ(第1中間画像データおよび第2中間画像データの場合もある)は、表示制御装置32に出力され、出力画像データが表示制御装置32から表示装置36に出力される。ただし、出力画像データは、フレームバッファ304cに描画された表示画像データまたはフレームバッファ304cに描画された第1中間画像データおよび第2中間画像データを合成したデータである。
【0096】
図示は省略するが、プログラム記憶領域302には、ユーザないしプレイヤの操作を検出するための操作検出プログラム、他の情報処理装置(10)と通信するための通信プログラム、ゲーム処理の際に必要な音を生成および出力するための音出力プログラムなどの他のプログラムも記憶される。
【0097】
データ記憶領域304には、画像生成用データ304aおよびブレンドフラグ304bが記憶される。また、データ記憶領域304には、フレームバッファ304cおよびフレームバッファ304dが設けられる。
【0098】
画像生成用データ304a、表示画像データを生成するためのポリゴンデータおよびテクスチャデータなどのデータを含む。ブレンドフラグ304bは、第1ピクセルで描画された元画像データを第2ピクセルで描画するかどうかを示すフラグである。ブレンドフラグ304bがオンであれば、第1ピクセルで描画された元画像データを第2ピクセルで描画することが判断される。一方、ブレンドフラグ304bがオフであれば、第1ピクセルで描画された元画像データを第2ピクセルで描画しないこと、すなわち、第1中間画像データおよび第2中間画像データを生成せずに、第2ピクセルで描画された元画像データを描画する通常の描画処理を実行することが判断される。
【0099】
フレームバッファ304cは、第1中間画像データを生成するためのバッファ(VRAM)である。フレームバッファ304dは、第2中間画像データを生成するためのバッファ(VRAM)である。
【0100】
図示は省略するが、データ記憶領域には、ゲーム処理を実行するための操作データおよびゲーム処理における画像処理に必要な他のデータが記憶されたり、カウンタまたはタイマが設けられたりする。
【0101】
図6は、仮想のゲームのゲーム全体処理の限定しない一例を示すフロー図である。
図6に示すように、プロセッサ20は、ゲーム全体処理を開始すると、ステップS1で、ゲーム初期化処理を実行する。ここでは、仮想のゲームを最初から開始する場合には、RAM22のバッファ領域(たとえば、フレームバッファ304cおよび304d)をクリアしたり、各フラグ(たとえば、ブレンドフラグ304b)を初期設定したりする。この実施例では、ブレンドフラグ304bは、プレイヤが選択した仮想のゲームのゲーム画像が第1ピクセルで描画されているかどうか、たとえば、従来の仮想のゲームをエミュレーション実行するかどうかに応じてオン/オフされる。
【0102】
続くステップS3では、ゲーム制御処理を実行する。たとえば、プロセッサ20は、プレイヤオブジェクトの2次元または3次元位置をプレイヤの操作入力に従って更新したり、敵オブジェクトの2次元または3次元位置を更新したりする。また、必要に応じて、プロセッサ20は、仮想カメラ(視点)を切り換える。
【0103】
次のステップS5では、ブレンドを行うかどうかを判断する。ここでは、プロセッサ20は、ブレンドフラグ304bがオンであるかどうかを判断する。ステップS5で“NO”であれば、つまり、ブレンドを行わない場合には、ステップS7で、第2ピクセルで描画された元画像データ、ここでは、ゲーム画像のデータ(すなわち、表示画像データ)をフレームバッファ304cに描画し、ステップS13に進む。たとえば、新規に作成されたゲームシーンのゲーム画像または当初から第2ピクセルを想定して作成された仮想のゲームのゲーム画像を生成する場合には、プロセッサ20は、ステップS5で“NO”と判断する。
【0104】
一方、ステップS5で“YES”であれば、つまり、ブレンドを行う場合には、ステップS9で、第1中間画像データをフレームバッファ304cに描画し、ステップS11で、第2中間画像データをフレームバッファ304dに描画して、ステップS13に進む。
【0105】
ステップS13では、ゲーム画像を表示する。ここでは、プロセッサ20は、フレームバッファ304cに記憶されている表示画像データ、または、フレームバッファ304cに記憶されている第1中間画像データおよびフレームバッファ304dに記憶されている第2中間画像データを表示制御装置32に出力して、表示装置36にゲーム画面を表示させる。または、表示装置36に表示されたゲーム画面が更新される。
【0106】
そして、ステップS15では、ゲーム終了かどうかを判断する。ここでは、プレイヤがゲーム終了を指示したり、ゲームオーバになったりしたかどうかを判断する。ステップS15で“NO”であれば、つまりゲーム終了でなければ、ステップS3に戻る。一方、ステップS15で“YES”であれば、つまりゲーム終了であれば、ゲーム全体処理を終了する。
【0107】
なお、
図6に示す例では、仮想のゲームのアプリケーションが実行された場合について説明してあるが、これに限定される必要はない。第1ピクセルで描画した元画像データを第2ピクセルで描画する場合には、他の種類のアプリケーションについても同様の処理が実行される。その場合、
図6のフロー図およびその説明において、仮想のゲームが他の種類のアプリケーションに変更され、当該他の種類のアプリケーションに応じた処理が実行される。
【0108】
この実施例によれば、第1ピクセルで描画された元画像データを第2ピクセルで描画する場合に、横方向に並ぶピクセル数を増加することにより、第1ピクセルよりも横幅が短くなったことを補うとともに、第2ピクセルに対応する位置において隣接する2つの第1ピクセルの色を当該第2ピクセルと重なる部分の面積比に応じた透明度の色を混合した色を当該第2ピクセルに設定するので、第1ピクセルで描画された元画像に近似した画像を表示することができる。したがって、ユーザが見た目の違和感を覚えることを出来る限り防止することができる。
【0109】
また、この実施例によれば、2つの中間画像データを合成し、合成した出力画像を表示装置36に出力するのは、表示制御装置32であるため、合成する処理をプロセッサ20が実行する必要がない。したがって、プロセッサ20の処理負荷を軽減することができる。ただし、プロセッサ20の処理能力が十分に高い場合には、2つの中間画像データを合成する処理もプロセッサ20が実行することもできる。
【0110】
なお、この実施例では、プロセッサ20は、フレームバッファ304cおよび304dにゲーム画像を描画する場合、第2ピクセル毎にルックアップテーブルの識別番号をピクセルデータとして記載するようにしたが、第2ピクセル毎に色データを直接記載するようにしてもよい。かかる場合には、表示制御装置32は、第1中間画像データと第2中間画像データを混合して、出力画像を表示装置36に出力するだけでよい。
【0111】
また、この実施例では、横方向に5個の第1ピクセルが並んだ領域または部分を、横方向に並んだ6個の第2ピクセルで描画するようにしたが、これは一例であり、限定されるべきではない。他の例では、元画像データのうち、横方向に10個の第1ピクセルが並んだ領域または部分を、横方向に並んだ12個の第2ピクセルで描画するようにしてもよい。
【0112】
また、N/M倍は、1.2倍にする必要はなく、他の倍率でもよい。たとえば、第1ピクセルのピクセルアスペクト比が1.4:1であり、第2ピクセルのピクセルアスペクト比が1:1であれば、N/M倍を1.4倍に設定することができる。
【0113】
また、第2ピクセルは正方形に限定される必要はなく、縦の長さを第1ピクセルと同じ長さに設定した場合に、横幅が第1ピクセルよりも短い横長の形状でもよい。たとえば、元画像データが描画された第1ピクセルのピクセルアスペクト比が1.2:1であり、第2ピクセルのピクセルアスペクト比が1.1:1であると仮定すると、N/M倍を10/9倍に設定することができる。この場合には、9個の第1ピクセルの横幅と、10個の第2ピクセルの横幅とは一致しないが、ほぼ同じであるため、上記の実施例と同様に、第1中間画像データおよび第2中間画像データを生成し、これらを合成することにより、出力画像を元画像の見た目に近似させることができる。
【0114】
さらに、この実施例では、第1ピクセルと第2ピクセルの縦の長さが同じであることを前提として説明したが、これに限定される必要はない。縦の長さが異なる場合には、ピクセルアスペクト比を維持した状態で、第1ピクセルと第2ピクセルの縦の長さが同じになるように、第1ピクセルまたは第2ピクセルを拡大または縮小して、N/M倍を決定して、第2領域の両端以外の第2ピクセルの色を算出するのに使用する、対応する2つの第1ピクセルの色を混合する比率を決定すればよい。
【0115】
また、この実施例では、表示装置36を備える情報処理装置10について説明したが、表示装置36は情報処理装置10とは別に設けるようにしてもよい。かかる場合には、情報処理装置10と表示装置36によって、情報処理システム(または、画像処理システム)が構成される。また、情報処理装置10としては、ゲーム装置、デスクトップPC、ノートPC、PDA、タブレットPCおよびスマートフォンなどの他の電子機器を用いることもできる。
【0116】
さらに、この実施例で示した情報処理装置の構成、混合処理および具体的な数値は単なる例示であり、限定されるべきでなく、実際の製品に応じて適宜変更可能である。
【0117】
さらにまた、同じ効果または結果が得られる場合には、フロー図に示した各ステップの順番は適宜変更されてもよい。たとえば、ステップS13とS15が処理される順番は逆でもよい。
【符号の説明】
【0118】
10 …情報処理装置
20 …プロセッサ
22 …RAM
24 …フラッシュメモリ
26 …通信モジュール
30 …入力装置
34 …表示制御装置
36 …表示装置
38 …スピーカ