(57)【要約】【課題】条件によらず複数の画像を好適に合成し容易に表示する。【解決手段】ディスプレイコントローラは、フレームバッファから第１画像５２ａ、第２画像５２ｂのデータを読み出し、それらが有する輝度に対する特性に依存した変換式により、共通の特性を有するブレンド空間Ａでのデータに変換する（Ｓ１０ａ）。そして変換したデータをブレンド空間Ａでアルファ合成し（Ｓ１２）、ディスプレイに適した特性を有する空間にさらに変換して（Ｓ１４）、ディスプレイに出力する。【選択図】図８
2020177087.tif 000002
【特許請求の範囲】
【請求項１】
メモリから読み出した複数の画像のデータを、輝度に対し共通の特性を有するデータにそれぞれ変換する複数の合成用変換回路と、
前記合成用変換回路から出力された、前記共通の特性を有する複数の画像のデータをアルファ合成する合成回路と、
合成された画像のデータをディスプレイ用の信号として出力する出力用変換回路と、
を備えたことを特徴とするディスプレイコントローラ。
【請求項２】
前記合成回路は、別の前記合成回路から出力された合成画像のデータと、前記合成用変換回路から出力された画像のデータを合成し、
前記別の合成回路は、合成した画像を、輝度に対する別の特性を有するデータに変換する合成画像用変換回路を備えることを特徴とする請求項１に記載のディスプレイコントローラ。
【請求項３】
前記合成用変換回路は、読み出した画像のデータがアプリケーションにより生成されるデータであるとき、当該アプリケーションから指定された前記特性を有するデータに変換することを特徴とする請求項１または２に記載のディスプレイコントローラ。
【請求項４】
前記複数の画像のデータを、接続されたディスプレイが対応する輝度レンジで表されたデータにそれぞれ変換する複数の輝度レンジ変換回路をさらに備え、
前記合成用変換回路は、前記ディスプレイが対応する輝度レンジで表された画像のデータを、前記共通の特性を有するデータに変換することを特徴とする請求項１から３のいずれかに記載のディスプレイコントローラ。
【請求項５】
前記合成用変換回路は、前記画像のデータに与えられていた、輝度に対する非線形な特性を解消したうえ、あらかじめ設定された特性の変換処理を施すことにより、前記複数の画像のデータを前記共通の特性を有するデータに変換することを特徴とする請求項１から４のいずれかに記載のディスプレイコントローラ。
【請求項６】
前記合成用変換回路は、前記画像のデータが定義される輝度レンジに応じて、異なる変換式によりデータを変換することを特徴とする請求項１から５のいずれかに記載のディスプレイコントローラ。
【請求項７】
前記合成用変換回路は、前記共通の特性として、輝度に対し線形な特性またはガンマ特性を有するデータに変換することを特徴とする請求項１から５のいずれかに記載のディスプレイコントローラ。
【請求項８】
メモリから読み出した複数の画像のデータを、輝度に対し共通の特性を有するデータにそれぞれ変換するステップと、
前記共通の特性を有する複数の画像のデータをアルファ合成するステップと、
合成された画像のデータをディスプレイ用の信号としてディスプレイに出力するステップと、
を含むことを特徴とするディスプレイコントローラによる画像表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示装置に画像を表示させるディスプレイコントローラおよび画像表示方法に関する。
【背景技術】
【０００２】
従来、テレビジョン放送や配信動画などの映像表示において画質を向上させるための様々な技術が開発されてきた。近年では解像度や色域を向上させる技術に加え、輝度のレンジを拡大したＨＤＲ（High Dynamic Range）の信号を処理する技術が普及しつつある。従来のＳＤＲ（Standard Dynamic Range）と比較し、ＨＤＲは輝度の許容範囲が１００倍程になるため、太陽光の反射光など実世界で眩しいと感じるような対象を、画像上でもよりリアルに表現することができる。テレビジョン放送や配信動画のみならず、ゲーム画像などコンピュータグラフィクスの世界でも、ＨＤＲで表現することによって仮想世界により臨場感を与えられる（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−５８８４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
元の画像データがどの輝度レンジで定義されているか、接続されているディスプレイがどの輝度レンジに対応しているか、など様々な条件の組み合わせが生じた結果、画像表示に必要な処理が複雑化している。特に複数の画像を合成して表示する場合、それらの条件の変化によって合成結果が変化し、本来の意図と異なる画像が表示されてしまうことがある。
【０００５】
本発明はこうした課題に鑑みてなされたものであり、その目的は、複数の画像を合成して表示する際、条件によらず合成結果を適切に制御できる技術を提供することにある。
【課題を解決するための手段】
【０００６】
本発明のある態様はディスプレイコントローラに関する。このディスプレイコントローラは、メモリから読み出した複数の画像のデータを、輝度に対し共通の特性を有するデータにそれぞれ変換する複数の合成用変換回路と、合成用変換回路から出力された、共通の特性を有する複数の画像のデータをアルファ合成する合成回路と、合成された画像のデータをディスプレイ用の信号として出力する出力用変換回路と、を備えたことを特徴とする。
【０００７】
本発明の別の態様は画像表示方法に関する。この画像表示方法は、ディスプレイコントローラが、メモリから読み出した複数の画像のデータを、輝度に対し共通の特性を有するデータにそれぞれ変換するステップと、共通の特性を有する複数の画像のデータをアルファ合成するステップと、合成された画像のデータをディスプレイ用の信号としてディスプレイに出力するステップと、を含むことを特徴とする。
【０００８】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを記録した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００９】
本発明によると、複数の画像を合成して表示する際、条件によらず合成結果を適切に制御できる。
【図面の簡単な説明】
【００１０】
【図１】本実施の形態における情報処理システムの構成例を示す図である。
【図２】本実施の形態において情報処理装置が生成する画像の一例を模式的に示す図である。
【図３】本実施の形態における情報処理装置の内部回路構成を示す図である。
【図４】映像信号に係る一般的な処理の流れを説明するための図である。
【図５】ディスプレイコントローラが、２つのフレームバッファから画像を読み出し、アルファ合成してディスプレイに出力する処理の例を示す図である。
【図６】本実施の形態において画像データの画素値を量子化する際の変換関数を例示する図である。
【図７】本実施の形態において生成される、線形空間での合成画像とガンマ空間での合成画像を比較する図である。
【図８】本実施の形態においてディスプレイコントローラが、２つの画像を合成し出力する処理の手順を示す図である。
【図９】図８の手順により合成された画像を例示する図である。
【図１０】本実施の形態においてディスプレイコントローラが、３つの画像を合成し出力する処理の手順を例示する図である。
【図１１】図１０の手順により合成された画像を例示する図である。
【図１２】本実施の形態においてＨＤＲ画像で用いられる変換式の特性と、これにより変換された画像の合成結果を示す図である。
【図１３】ガンマ空間の特性を様々な輝度レンジで比較する図である。
【図１４】本実施の形態においてディスプレイコントローラが、ＨＤＲ対応のディスプレイに合成画像を表示させる処理の手順を例示する図である。
【図１５】本実施の形態においてディスプレイコントローラが、ＳＤＲ対応のディスプレイに合成画像を表示させる処理の手順を例示する図である。
【図１６】本実施の形態におけるディスプレイコントローラの回路構成を模式的に示す図である。
【図１７】本実施の形態において、ブレンド空間を線形空間およびガンマ空間として合成した画像を、ＳＤＲおよびＨＤＲのディスプレイで表示させたときの画像を比較する図である。
【発明を実施するための形態】
【００１１】
図１は、本実施の形態における情報処理システムの構成例を示す。情報処理システムは、情報処理装置１０、入力装置１４、ディスプレイ１６を含む。図示するように情報処理装置１０はインターネットなどのネットワーク８を介して各種コンテンツを提供するサーバ等と接続可能としてもよい。入力装置１４はコントローラ、キーボード、マウス、ジョイスティック、タッチパッドなどユーザ操作が可能な一般的な入力装置のほか、ユーザなど実世界を撮影する撮像装置、音声を取得するマイク、各種物理値を検出するセンサや、それらのうちいずれかの組み合わせでもよい。
【００１２】
ディスプレイ１６は、画像を表示する液晶ディスプレイ、プラズマディスプレイ、有機ＥＬディスプレイなどで実現する。さらに音声を出力するスピーカを備えていてもよい。入力装置１４およびディスプレイ１６は、情報処理装置１０と有線ケーブルで接続されてよく、また無線ＬＡＮ（Local Area Network）などにより無線接続されてもよい。また入力装置１４、ディスプレイ１６、情報処理装置１０の外観形状は図示するものに限らず、例えばそれらのうち２つ以上が一体的に形成されていてもよい。
【００１３】
情報処理装置１０は、ユーザ操作に係る信号を入力装置１４から受信し、それに応じた処理を実施して表示画像のデータを生成し、ディスプレイ１６に出力する。情報処理装置１０はゲーム機、パーソナルコンピュータ、タブレット端末、携帯端末、携帯電話などのいずれであってもよい。そのような情報処理装置１０の形態や、ユーザが選択したアプリケーションなどに応じて、情報処理装置１０が行う処理の内容は様々であってよい。
【００１４】
例えば情報処理装置１０は、ユーザが指定した電子ゲームをユーザ操作に応じて進捗させ、そのゲーム画面のデータを所定のフレームレートで生成し出力する。あるいはネットワーク８を介して動画のデータをサーバから取得し、それを逐次復号して出力してもよい。このように情報処理装置１０の使用目的は様々であってよく、それに応じて実施する情報処理の内容も異なるため、詳細な説明は省略する。以後、そのような情報処理の結果として生成されたコンテンツの画像や、提示すべき情報を表した画像などを好適に表示させる手法に主眼を置いて説明する。
【００１５】
図２は、本実施の形態において情報処理装置１０が生成する画像の一例を模式的に示している。この例においてメイン画像２００ａは例えばゲームや動画など、主として表示される画像である。付加画像２００ｂは必要に応じて一時的に表示される画像であり、図示する例はユーザにログインのためのアドレスとパスワードを入力させるダイアログボックスを含む。このようなダイアログボックスを表示させる必要が生じると、情報処理装置１０は、元から表示させていたメイン画像２００ａにダイアログボックスを含む付加画像２００ｂを重畳させ、表示画像２０２を生成して出力する。
【００１６】
このときなるべく広い領域で、付加画像２００ｂを介してメイン画像２００ａが透けて見えるようにすることで、ゲームや動画などメイン画像２００ａの世界観が途切れることなく必要な情報を好適に融合させることができる。さらに付加画像２００ｂの透明度を時間変化させれば、ダイアログボックスが徐々に出現したり消滅したりする演出もできる。
【００１７】
複数の画像を重ねて表示させるケースは、図示する例以外にも様々に考えられることは当業者には理解されるところである。例えばレースゲームの場合、ドライバの視野を示すメイン画像に、コース全体を俯瞰した付加画像を追加で表示することが考えられる。映画を表示させる場合は、あらすじや出演者などの書誌情報を示す画像や、再生、一時停止、早送りなどの操作パネルを付加的に表示することが考えられる。
【００１８】
このような表示画像２０２を生成する場合、次式で表されるアルファ合成の演算により、表示画像２０２の各画素のカラー値Ｃｏｕｔを決定できる。
Ｃｏｕｔ＝（１−α）Ｃ１＋αＣ２        （式１）
ここでＣ１、Ｃ２はそれぞれ、メイン画像２００ａ、付加画像２００ｂにおける対応する画素のカラー値、αは付加画像２００ｂの当該画素に設定された一般的なα値、すなわち透過度を示す０以上１．０以下の値である。
【００１９】
例えば画像全体においてα値を０から１．０まで変化させると、メイン画像２００ａのみが表示されている状態から徐々に付加画像２００ｂの色が濃くなっていき、最終的に付加画像２００ｂが不透明に表示されることになる。α値を０より大きく１．０より小さい中間値とすれば、付加画像２００ｂがその数値に応じた濃さで半透明の状態となり、メイン画像２００ａが透けて見えることになる。
【００２０】
なおメイン画像２００ａ、付加画像２００ｂがＲＧＢ画像であれば、カラー値Ｃ１、Ｃ２は当該３チャンネルのそれぞれに設定されるが、本実施の形態ではそれらを総称してカラー値Ｃ１、Ｃ２と表す。またカラー値Ｃ１、Ｃ２およびα値はそれぞれ、画素ごとに設定されるため、厳密には画像平面における２次元の位置座標（ｘ，ｙ）に依存するが、式１は同じ位置の画素に係る計算を前提としているため位置座標は示していない。以下の記載も同様である。
【００２１】
図３は、情報処理装置１０の内部回路構成を示している。情報処理装置１０は、ＣＰＵ（Central Processing Unit）２２、ＧＰＵ（Graphics Processing Unit)２４、メインメモリ２６を含む。これらの各部は、バス３０を介して相互に接続されている。バス３０にはさらに、ＵＳＢやＩＥＥＥ１３９４などの周辺機器インターフェースや、ネットワーク８などへ接続する有線または無線ＬＡＮのネットワークインターフェースからなる通信部３２、ハードディスクドライブや不揮発性メモリなどの記憶部３４、ディスプレイ１６へ映像信号を出力するディスプレイコントローラ３６、入力装置１４からデータを入力する入力部３８、磁気ディスク、光ディスクまたは半導体メモリなどのリムーバブル記録媒体を駆動する記録媒体駆動部４０が接続される。
【００２２】
ＣＰＵ２２は、記憶部３４に記憶されているオペレーティングシステムを実行することにより情報処理装置１０の全体を制御する。ＣＰＵ２２はまた、リムーバブル記録媒体から読み出されてメインメモリ２６にロードされた、あるいは通信部３２を介してダウンロードされた各種プログラムを実行する。通信部３２はまた、ネットワーク８を介してサーバなど外部の装置と通信を確立し、動画像など電子コンテンツのデータを取得したり、情報処理装置１０内部で生成されたデータを送信したりしてもよい。
【００２３】
メインメモリ２６はＲＡＭ（Random Access Memory）により構成され、表示対象の画像データを格納するフレームバッファ７０ａ、７０ｂを含む。ただしフレームバッファの数は限定されない。格納する画像のデータには、アルファ合成のためのα値を画像平面に表したαプレーンが含まれる。α値は画素ごとや領域ごとに設定してもよいし、画像全体で固定値としてもよい。また当該設定を時間変化させてもよい。またメインメモリ２６は、処理に必要なプログラムやデータも記憶する。
【００２４】
ＧＰＵ２４は、ジオメトリエンジンの機能とレンダリングプロセッサの機能とを有し、ＣＰＵ２２からの描画命令に従って描画処理を行い、フレームバッファ７０ａ、７０ｂにそのデータを格納する。ディスプレイコントローラ３６は、フレームバッファ７０ａなどから画像のデータを取得し、映像信号として適切なタイミングでディスプレイ１６へ出力する。ディスプレイコントローラ３６はさらに、必要に応じて上述したような画像の合成処理を実施する。
【００２５】
図４は、映像信号に係る一般的な処理の流れを説明するための図である。（ａ）は、情報処理装置１０のＧＰＵ２４などにより描画された画像の量子化前の画素値を入力値、それによって表現されるべきカラー値を出力値としており、両者は当然、線形の関係を有する。そのような線形特性を有するデータは、情報処理装置１０のフレームバッファ７０ａに格納される際、（ｂ）に示すような光−電気伝達関数（ＯＥＴＦ：Optical-Electro Transfer Function）により量子化される。輝度レンジがＳＤＲで定義されている画像とＨＤＲで定義されている画像で異なる関数を用いることにより、所定の色深度を有するＳＤＲまたはＨＤＲの映像信号が生成される。
【００２６】
ディスプレイコントローラ３６は当該映像信号をフレームバッファ７０ａから読み出し、ディスプレイ１６に供給する。ディスプレイ１６は、（ｃ）に示すような電気−光伝達関数（ＥＯＴＦ：Electro-Optical Transfer Function）により映像信号を輝度値に変換する。ＥＯＴＦを適切に選択することにより、同じ色深度の信号であっても、ＳＤＲの画像は０〜１００ｎｉｔ、ＨＤＲの画像は０〜１００００ｎｉｔなど異なるレンジの輝度値が画素ごとに得られる。この輝度値を、ディスプレイパネルの輝度特性に応じてさらに補正したうえ、適切なタイミングで順次出力していくことにより、各輝度レンジで画像が表示される。
【００２７】
図５は、ディスプレイコントローラ３６が、２つのフレームバッファ７０ａ、７０ｂから第１画像と第２画像を読み出し、画素ごとにアルファ合成してディスプレイ１６に出力する処理の例を示す。ここで第１画像、第２画像はそれぞれ、図２のメイン画像２００ａ、付加画像２００ｂに対応し、第２画像の輝度レンジがＳＤＲで固定されている場合を想定する。また各画像の画素値は一般的に、０〜１．０の範囲内の値に量子化されている。（ａ）は、対応輝度レンジがＳＤＲのディスプレイが接続されている場合であり、第１画像もＳＤＲで生成されている。この場合、ディスプレイコントローラ３６は、両者の対応する画素の値を式１にそのまま代入することで、合成画像のカラー値を取得しディスプレイ１６に出力することができる。
【００２８】
（ｂ）は対応輝度レンジがＨＤＲのディスプレイが接続されている場合であり、第１画像もＨＤＲで生成されている。一方、上述のとおり第２画像はＳＤＲで生成されているため、ディスプレイコントローラ３６は、第２画像の輝度レンジをＨＤＲでの値に変換したうえで式１に代入することにより、合成画像のカラー値を取得する。ＳＤＲからＨＤＲへの輝度レンジの変換は、ＳＤＲの輝度レンジをＨＤＲの輝度レンジの一部にマッピングすることによって実現できる。例えばＳＤＲのピーク輝度（１．０）を、２６０ｎｉｔｓ程度の明るさに対応づけ、ＳＤＲの０〜１．０の値をＨＤＲの０〜２６０ｎｉｔｓの範囲にマッピングする。ただし対応づける明るさは限定されない。
【００２９】
（ｂ）に示す図では、ＨＤＲの輝度レンジで表された信号を太線、ＳＤＲの輝度レンジで表された信号を細線で示している。しかしながらディスプレイコントローラ３６が読み出す値は、上述のＯＥＴＦにより量子化されたものであるため、合成対象の２つの画像が異なるＯＥＴＦで変換されていると、合成結果にその影響が生じる。このことは、輝度レンジがＳＤＲかＨＤＲかによらず起こり得る。次にその原理を説明する。
【００３０】
図６は、画像データの画素値を量子化する際の変換関数を例示している。（ａ）は、元の画像が表す画素値Ｐに正比例するように量子化後のカラー値Ｃを決定する線形の変換関数であり、変換前後の値を正規化すればＣ＝Ｐの関係を有する。以後、このような関数により量子化されたカラー値の空間を「線形空間」と呼ぶ。（ｂ）はγ＝２．２のガンマカーブであり、Ｃ＝Ｐ（１／２．２）の関係を有する。以後、このような関数により量子化されたカラー値の空間を「ガンマ空間」と呼ぶ。
【００３１】
式１は一般的には画素値Ｐを想定しているが、（ａ）に示す１次式により変換された線形空間のカラー値同士を式１により合成しても、同様の結果が得られる。一方、（ｂ）に示す非線形な関数により変換された画像では、画素値Ｐの範囲に依存してカラー値Ｃの特性が変化する。このような非線形の変換が、式１を用いた合成に影響を与える。
【００３２】
図７は、線形空間での合成画像とガンマ空間での合成画像を比較している。（ａ）は図６の（ａ）に示すような線形空間で表された２つの画像の合成結果であり、（ｂ）は図６の（ｂ）に示すようなガンマ空間で表された２つの画像の合成結果である。それぞれの画像の上に示すように、元の画素値Ｐに対するカラー値Ｃの割合Ｃ／Ｐは、（ａ）の場合は画素値の範囲によらず１．０であるのに対し、（ｂ）の場合は画素値Ｐが小さいほど大きな値となる。そのため式１により合成した場合、暗い像がある画像の方が、実質的に大きな重みとなり、それに合成される明るい像は相対的に重みが小さくなる。
【００３３】
例えばあるシーンを表す第１画像の散乱光の領域と、システムメニューなどの第２画像の暗い領域を半透明に合成している領域５０ａ、５０ｂを比較すると、（ａ）の場合は第１画像がよく透過しているのに対し、（ｂ）の場合は殆ど透過していない。上述のとおり（ａ）は元の画素Ｐを合成した結果と同様となるが、（ａ）と（ｂ）のどちらが好ましいかはアプリケーションによって異なる。例えば人は視覚刺激が弱いほど輝度変化に対する感度が高くなるため、非線形の変換とした方が視覚との親和性が高い場合がある。
【００３４】
また、異なる変換式によって生成された画像を合成する場合はさらに、合成結果に様々な変化が生じ得る。そこで本実施の形態のディスプレイコントローラ３６は、フレームバッファ７０ａ、７０ｂに格納された合成対象の画像のカラー値を、共通の空間での値に変換したうえで合成する。この際の共通の空間をアプリケーションが指定できるようにすることで、図７の（ａ）や（ｂ）に示すような合成画像のいずれかを、意図的に表示させることができる。以後、合成のために変換されたカラー値が有する共通の空間を「ブレンド空間」と呼ぶ。
【００３５】
図８は、本実施の形態のディスプレイコントローラ３６が、２つの画像を合成し出力する処理の手順を示している。まずフレームバッファ７０ａ、７０ｂには、第１画像５２ａと第２画像５２ｂのデータがそれぞれ格納されている。このデータは、図６に例示したような何らかの変換式により変換され量子化されたカラー値Ｃを表す。ディスプレイコントローラ３６は、これらを共通のブレンド空間Ａでのデータへ変換する（Ｓ１０ａ、Ｓ１０ｂ）。
【００３６】
ここでブレンド空間「Ａ」とは、例えば図６の（ａ）で示した線形空間、あるいは（ｂ）で示したガンマ空間である。フレームバッファ７０ａ、７０ｂに格納されている元の画像が、図４で示したＯＥＴＦによって変換された非線形のデータである場合、一旦、その非線形な特性を解消したうえで、すなわち画素値（輝度）に対し線形な変化を有するカラー値に戻したうえで、共通のブレンド空間へ変換する。特性を解消する処理は定性的には、図４で示したＥＯＴＦによる変換と同等である。これにより、ディスプレイパネルにおける出力輝度に比例するカラー値が得られる。
【００３７】
フレームバッファ７０ａ、７０ｂに格納されている元の画像が図４の（ａ）で示した線形のデータである場合は、図４で示したＯＥＴＦによって非線形なデータに変換したあとに、ＥＯＴＦによる変換を行ったうえで、共通のブレンド空間へと変換する。これは、一般的にＥＯＴＦはＯＥＴＦの逆変換ではなく、図４の（ａ）はディスプレイパネルにおける出力輝度に比例するカラー値とは異なるからである。
【００３８】
ブレンド空間「Ａ」を線形空間とすると、ディスプレイパネルにおける出力輝度に比例するカラー値Ｃ（線形）は、次の計算により、ブレンド空間でのカラー値Ｃ（ブレンド空間）に変換できる。
Ｃ（ブレンド空間）＝Ｃ（線形）    （式２）
ブレンド空間「Ａ」をガンマ空間とした場合は次の計算式となる。
Ｃ（ブレンド空間）＝（Ｃ（線形））（１／γ）    （式３）
【００３９】
つまり、ガンマ空間のカラー値Ｃ（ガンマ空間）と線形空間のカラー値Ｃ（線形空間）は、次の計算により相互に変換できる。
Ｃ（ガンマ空間）＝（Ｃ（線形空間））（１／γ）  （式４）
Ｃ（線形空間）＝（Ｃ（ガンマ空間））γ  （式５）
ディスプレイコントローラ３６はＣＰＵ２２から、実施しているアプリケーションが指定するブレンド空間の情報を取得し、それに応じて変換式を切り替える。そしてディスプレイコントローラ３６は、共通のブレンド空間Ａに変換された２つの画像を、式１により画素ごとに合成する（Ｓ１２）。これにより、合成結果を適切に制御できる。
【００４０】
さらにディスプレイコントローラ３６は、それをディスプレイ１６に適した空間に変換する（Ｓ１４）。すなわちブレンド空間からディスプレイパネルにおける出力輝度に比例するカラー値を求め、それに対して図４で示したＥＯＴＦの逆変換を行うことにより、ＯＥＴＦによる変換の出力に相当するデータを求める。ディスプレイコントローラ３６は、そのように変換したカラー値をディスプレイ１６に供給することにより、ディスプレイ１６では合成画像か否かに関わらず同様の処理で画像を表示させることができる。
【００４１】
図９は、図８の手順により合成された画像を例示している。（ａ）はブレンド空間を線形空間とした場合、（ｂ）はγ＝２．２のガンマ空間とした場合の合成画像を示している。第１画像と第２画像が半透明に合成されている領域５４ａ、５４ｂを見ると、線形空間で合成した画像の領域５４ａは第１画像がよく透過しているのに対し、ガンマ空間で合成した画像の領域５４ｂは第２画像の黒が強く表れ、第１画像があまり見えない。このように、フレームバッファ７０ａ、７０ｂにどのような空間のカラー値が入っていても、ブレンド空間を指定することで、合成結果を好適に制御できる。
【００４２】
図１０は、本実施の形態のディスプレイコントローラ３６が、３つの画像を合成し出力する処理の手順を例示している。フレームバッファ７０ａなど３つのフレームバッファには、第１画像５６ａ、第２画像５６ｂ、第３画像５６ｃがそれぞれ格納されている。このうち第１画像５６ａおよび第２画像５６ｂは、アプリケーションにより生成される画像であり、第３画像５６ｃはアプリケーションとは独立に、例えばシステムなどにより提供される画像とする。この場合、アプリケーションが生成する第１画像５６ａと第２画像５６ｂの合成は、図８の手順と同様に、アプリケーションから指定されたブレンド空間において実施する。
【００４３】
すなわちディスプレイコントローラ３６は、これらを共通のブレンド空間Ａでのデータへ変換したうえ（Ｓ１６ａ、Ｓ１６ｂ）、式１により画素ごとに合成する（Ｓ１８）。これにより、アプリケーション作成者が意図した合成画像が生成される。一方、アプリケーションが指定するブレンド空間に自由度を持たせても、システムが提供する画像にはその変化による影響が出ないようにすることが望ましい。そこで図示するように、第３画像５６ｃは独自のブレンド空間Ｂでのデータに変換したうえ、それがアプリケーション画像のブレンド空間Ａと異なる場合は、両者のブレンド空間が共通するようにさらに変換する。
【００４４】
すなわちディスプレイコントローラ３６は、第３画像５６ｃをブレンド空間Ｂに変換し（Ｓ２０）、Ｓ１８で合成した画像を、ブレンド空間Ａからブレンド空間Ｂでのデータに変換する（Ｓ２２）。そのうえで、アプリケーションの合成画像と第３画像５６ｃを合成する（Ｓ２４）。ブレンド空間Ａからブレンド空間Ｂへの変換も上述の式２〜５のいずれかにより計算できる。ディスプレイコントローラ３６はさらに、ブレンド空間Ｂで合成された画像をディスプレイ１６に適した空間に変換し（Ｓ２６）出力する。
【００４５】
図１１は、図１０の手順により合成された画像を例示している。（ａ）、（ｂ）はそれぞれ、図９で示した（ａ）、（ｂ）の合成画像に、別途生成した半透明の塗りつぶし画像を重畳させた画像を示している。半透明の画像を重畳させても、その下に透けて見える画像は、図９の（ａ）、（ｂ）の画像から変化していない。すなわち第１画像と第２画像が半透明に合成されている領域５７ａ、５７ｂを見ると、（ａ）に示す線形空間での合成では第１画像がよく透過しているのに対し、（ｂ）に示すガンマ空間では第１画像があまり透けていない。さらに、追加で重畳させた、全面が半透明の第３画像による画像全体の透け感は、（ａ）、（ｂ）でほぼ差がない。このように、複数のブレンド空間を使い分けることで、アプリケーションでの表現に自由度を与えつつ、システム画像への影響がない合成画像を生成できる。
【００４６】
ＳＤＲとＨＤＲなど元の画像の輝度レンジの差を考慮すると、さらに変換式が多様化する。図１２は、ＨＤＲ画像で用いられる変換式の特性と、これにより変換された画像の合成結果を示している。（ａ）に示すようにＨＤＲは一般に、ＰＱ(Perceptual Quantization)カーブと呼ばれる関数により量子化される。ＰＱカーブはガンマカーブと比較しても低輝度領域においてカラー値の増加割合が大きい。したがってこのような変換がなされた画像を合成すると（ｂ）に示すように、図７の（ｂ）で示した合成結果よりさらに第２画像が支配的となり第１画像が透けなくなる（例えば領域５８）。
【００４７】
したがって上述と同様、ＰＱカーブによる変換がなされたデータに対し、その特性を一旦解消し、アプリケーションが指定するブレンド空間などに変換したうえ合成処理を施す。さらに上述のように、ディスプレイが対応する輝度レンジによって、ＨＤＲの画像をＳＤＲの輝度レンジに変換したり、ＳＤＲの画像をＨＤＲの輝度レンジに変換したりする必要もある。
【００４８】
図１３は、ガンマ空間の特性を様々な輝度レンジで比較している。なおγ＝２．２としている。（ａ）はＳＤＲの画像をガンマ空間に変換する場合、（ｂ）はＳＤＲの画像をＨＤＲの輝度レンジで表したうえガンマ空間に変換する場合、（ｃ）は、ＨＤＲの画像をガンマ空間に変換する場合の特性を示している。例えば（ｃ）における横軸の輝度のうち０〜２６０ｎｉｔｓをＳＤＲの０〜１．０に対応づけてマッピングすることにより、ＳＤＲの画像の画素値をＨＤＲの輝度レンジでの値に変換できる。（ｂ）の横軸はそのように変換された輝度を表す。
【００４９】
図示するようにどのケースにおいても、変換前のカラー値に対する変換後のカラー値の挙動は同一である。このことは、同じガンマ空間をブレンド空間として与える限り、輝度レンジを変換したか否かは、変換後のカラー値に影響を与えず、ひいては式１に代入した際の画像の重みが変化することはないことを意味する。結果として輝度レンジを変換しても、合成後のカラー値を適切に制御できる。ブレンド空間を線形空間とした場合も当然、輝度レンジの変換は合成結果に影響を与えない。したがって図５に示したように、元の画像の輝度レンジを、ディスプレイが対応する輝度レンジに変換する以外は、これまで述べたブレンド空間における合成処理をそのまま適用できる。
【００５０】
図１４は、本実施の形態のディスプレイコントローラ３６が、ＨＤＲ対応のディスプレイ１６に合成画像を表示させる処理の手順を例示している。この例でフレームバッファ７０ａなど３つのフレームバッファにはそれぞれ、第１画像６０ａ、第２画像６０ｂ、第３画像６０ｃが格納されている。このうち第１画像６０ａおよび第２画像６０ｂは、アプリケーションにより生成される画像であり、第３画像６０ｃはアプリケーションとは独立に、例えばシステムなどにより提供される画像とする。各画像の輝度レンジはＳＤＲであってもＨＤＲであってもよい。
【００５１】
接続されたディスプレイ１６がＨＤＲ対応であることを検知すると、ディスプレイコントローラ３６は、フレームバッファに格納されたこれらの画像のうちＳＤＲの画像を、ＨＤＲの輝度レンジでの画像に変換する（Ｓ３０ａ、３０ｂ、３０ｃ）。元からＨＤＲの画像であれば当然、変換の必要はない。さらにディスプレイコントローラ３６は、第１画像６０ａと第２画像６０ｂを、アプリケーションが指定したブレンド空間のデータに変換したうえ（Ｓ３２ａ、Ｓ３２ｂ）、式１により画素ごとに合成する（Ｓ３４）。図示する例では、アプリケーションが線形空間を指定しているため、合成画像は線形空間のデータである。
【００５２】
一方、ディスプレイコントローラ３６は、さらに合成する第３画像６０ｃを、システムに設定されているブレンド空間のデータに変換する（Ｓ３６）。図示する例ではガンマ空間のデータに変換されている。この場合、Ｓ３４で生成された合成画像と第３画像６０ｃで空間が異なるため、前者の空間を線形空間からガンマ空間に変換したうえで（Ｓ３８）、両者を合成する（Ｓ４０）。ディスプレイコントローラ３６はさらに、ガンマ空間で合成された画像をディスプレイに適した空間に変換して（Ｓ４２）出力する。
【００５３】
元の画像がＨＤＲである場合、ＰＱカーブによる変換がなされているため、その特性を一旦解消してブレンド空間の特性を与えるには、ブレンド空間が線形空間の場合、次の式を用いる。
Ｃ（ブレンド空間）＝ＰＱ＿ＥＯＴＦ（Ｃ（ＰＱ））      （式６）
ブレンド空間がガンマ空間の場合は次の式を用いる。
Ｃ（ブレンド空間）＝ＰＱ＿ＥＯＴＦ（Ｃ（ＰＱ））（１／γ）  （式７）
【００５４】
ここでＣ（ＰＱ）はＰＱカーブの変換により得られたカラー値、ＰＱ＿ＥＯＴＦは図４のＥＯＴＦに対応し、ＰＱカーブで量子化された信号から輝度値を得るための関数である。ディスプレイコントローラ３６は、元の画像がＨＤＲであるかＳＤＲであるか、ＳＤＲの場合は元の画像に適用された変換式が線形かガンマカーブか、および、ブレンド空間が線形空間かガンマ空間か、によって、式２〜７から適切な式を選択して空間変換する。
【００５５】
図１５は、本実施の形態のディスプレイコントローラ３６が、ＳＤＲ対応のディスプレイに合成画像を表示させる処理の手順を例示している。図１４と同様、フレームバッファ７０ａなどには第１画像６２ａ、第２画像６２ｂ、第３画像６２ｃが格納されており、そのうち第１画像６２ａと第２画像６２ｂはアプリケーションにより生成され、第３画像６２ｃはシステムなどにより提供される画像とする。それぞれの輝度レンジは限定されない。
【００５６】
接続されたディスプレイ１６がＳＤＲ対応であることを検知すると、ディスプレイコントローラ３６は、フレームバッファに格納されたこれらの画像のうちＨＤＲの画像を、ＳＤＲの輝度レンジでの値に変換する（Ｓ５０ａ、５０ｂ、５０ｃ）。そしてディスプレイコントローラ３６は、第１画像６２ａと第２画像６２ｂを、アプリケーションが指定した空間、図示する例では線形空間のデータに変換したうえ（Ｓ５２ａ、Ｓ５２ｂ）、式１により画素ごとに合成する（Ｓ５４）。
【００５７】
一方、ディスプレイコントローラ３６は、さらに合成する第３画像６２ｃを、システムに設定されているブレンド空間、図示する例ではガンマ空間に変換する（Ｓ５６）。この例でもＳ５４で生成された合成画像と第３画像６２ｃで空間が異なるため、前者の空間を線形空間からガンマ空間に変換したうえで（Ｓ５８）。両者を合成する（Ｓ６０）。ディスプレイコントローラ３６はさらに、ガンマ空間で合成された画像をディスプレイに適した空間に変換して（Ｓ６２）出力する。
【００５８】
図１４と図１５の手順を比較すると、必要に応じた輝度レンジの変換と、ブレンド空間への変換に用いる式以外、同様でよいことがわかる。接続されたディスプレイ１６の性能に応じて、ディスプレイコントローラ３６のドライバが変換先の輝度レンジを適切に設定することにより、図１４の手順と図１５の手順を容易に切り替えることができる。例えば電子ゲームの進捗中に、異なる輝度レンジに対応する別のディスプレイ１６につなぎ替えられたとしても、合成結果そのものには影響を与えずに、表示される輝度のレンジを適応させることができる。
【００５９】
なお図１４、１５で示したブレンド空間はあくまで例示であり、アプリケーション制作者やシステムの設定などに応じて様々に変化し得る。またＳＤＲやＨＤＲの元の画像で量子化に用いられる変換式は線形、ガンマカーブ、ＰＱカーブに限らない。どのような変換式であっても、ＥＯＴＦを用いディスプレイの出力輝度に対し比例関係にあるカラー値が得られれば、その後の変換は同様である。さらに、合成前に共通のブレンド空間に変換すれば、合成する画像の数によらず同様の効果が得られる。
【００６０】
図１６は、本実施の形態のディスプレイコントローラ３６の回路構成を模式的に示している。図示する例ではメインメモリ２６に４つのフレームバッファ７０ａ、７０ｂ、７０ｃ、７０ｄを設けている。これに対しディスプレイコントローラ３６は、フレームバッファ７０ａ、７０ｂ、７０ｃ、７０ｄのそれぞれに対し輝度レンジ変換回路７２ａ、７２ｂ、７２ｃ、７２ｄを備えるとともに、その出力値を順次重みづけ加算する合成回路７８ａ、７８ｂ、７８ｃを備える。ただし輝度レンジ変換回路と合成回路の数は限定されない。
【００６１】
輝度レンジ変換回路７２ａ、７２ｂ、７２ｃ、７２ｄはそれぞれ、フレームバッファ７０ａ、７０ｂ、７０ｃ、７０ｄから画像のデータを画素ごとに読み出し、必要に応じて、接続されたディスプレイ１６が対応する輝度レンジでの値に変換する。また輝度レンジ変換回路７２ａ、７２ｂ、７２ｃ、７２ｄは、合成用変換回路７６ａ、７６ｂ、７６ｃ、７６ｄを備え、ディスプレイ１６の輝度レンジに対応させたカラー値を、所定のブレンド空間での値に変換する。
【００６２】
合成回路７８ｃは、輝度レンジ変換回路７２ｄ、７２ｃから出力された対応する画素のカラー値を、α値に応じた重みづけで加算することにより、ブレンド空間での合成画像のカラー値を算出する。合成回路７８ｂは、輝度レンジ変換回路７２ｂから出力された画素のカラー値と、前段の合成回路７８ｃから出力された合成画像の画素のカラー値を重みづけ加算することにより、合成画像のカラー値を算出する。合成回路７８ａは、輝度レンジ変換回路７２ａから出力された画素のカラー値と、前段の合成回路７８ｂから出力された合成画像の画素のカラー値を重みづけ加算することにより、合成画像のカラー値を算出する。
【００６３】
合成回路７８ａは、そのようにして得られた最終的な合成画像のカラー値を、順次ディスプレイ１６に出力する。ここで合成回路７８ｂ、７８ｃはそれぞれ、合成画像用変換回路８０ａ、８０ｂを備え、自らが合成した画像の空間を、後段で合成する画像のブレンド空間に合わせて変換する。合成した画像が、後段で合成する画像と同じブレンド空間であれば、合成画像用変換回路８０ａ、８０ｂの処理を省略する。図示する例では、合成画像用変換回路８０ｂが、輝度レンジ変換回路７２ｂにおける合成用変換回路７６ｂと同じブレンド空間に変換することを白抜きで、合成画像用変換回路８０ａが、輝度レンジ変換回路７２ａにおける合成用変換回路７６ａと同じブレンド空間に変換することを網掛けで示している。
【００６４】
また合成回路７８ａは出力用変換回路８２を備え、最終的な合成画像の画素のカラー値を、ディスプレイ１６への出力に適した空間での値に変換する。合成用変換回路７６ａ、７６ｂ、７６ｃ、７６ｄ、合成画像用変換回路８０ａ、８０ｂ、および出力用変換回路８２は、画素のカラー値である赤、緑、青の値のそれぞれに対し、図示しないルックアップテーブルを参照し、一般的な補間回路によって空間変換を行う。またそれらの回路における変換先のブレンド空間や変換の要否は、ＣＰＵ２２によって制御される。
【００６５】
図１７は、ブレンド空間を線形空間およびガンマ空間として合成した画像を、ＳＤＲおよびＨＤＲのディスプレイで表示させたときの画像を比較している。第１画像と第２画像を半透明に合成した中央部分に着目すると、上述のとおり、ガンマ空間での合成結果は線形空間での合成結果より暗い領域に重みがつき、この例では第１画像の透過が少なくなる。一方、同じブレンド空間で合成すれば、表示がＳＤＲかＨＤＲかによらず、同様の透過具合となることがわかる。すなわちブレンド空間を選択することにより、輝度レンジによらず透過の具合を好適に制御できる。
【００６６】
以上述べた本実施の形態によれば、ディスプレイコントローラにおいて複数の画像を合成する際、量子化に用いた変換特性を一旦、解消し、合成のための共通した特性で変換し直す。これにより、一般的なアルファ合成の計算において、設定されたα値以外の要因で合成対象の画素値のバランスが変化し、意図しない透過具合の合成画像が表示されるのを防ぐことができる。またアプリケーションの画像の合成についてはアプリケーション自体が合成用の空間を指定できるようにする一方、それにより合成された画像の空間をさらに変換し、別途提供されるシステムなどの画像の空間に合わせる。
【００６７】
これにより、重畳表示するシステムの画像などには影響を与えずに、アプリケーションの画像について合成具合の自由度を許容できる。さらに非線形の変換式であっても、ＳＤＲ／ＨＤＲ間の輝度レンジの変換前後で特性自体には変化がないことを利用し、輝度レンジの変換後に合成用の空間に変換する。これにより、性能の異なるディスプレイが接続されても容易な切り替えで、ディスプレイ性能の影響をうけない合成画像を安定的に表示できる。各種条件に対応した合成を、ディスプレイコントローラのハードウェアで実現できることから、アプリケーション制作者が様々なユーザ環境を勘案する必要がなくなる。
【００６８】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【００６９】
８  ネットワーク、  １０  情報処理装置、  １４  入力装置、  １６  ディスプレイ、  ２２  ＣＰＵ、  ２４  ＧＰＵ、  ２６  メインメモリ、  ３６  ディスプレイコントローラ、  ３８  入力部、  ７０ａ  フレームバッファ、  ７２ａ  輝度レンジ変換回路、  ７６ａ  合成用変換回路、  ７８ａ  合成回路、  ８０ａ  合成画像用変換回路、  ８２  出力用変換回路。
【図１】
2020177087.tif 000003
【図２】
2020177087.tif 000004
【図３】
2020177087.tif 000005
【図４】
2020177087.tif 000006
【図５】
2020177087.tif 000007
【図６】
2020177087.tif 000008
【図７】
2020177087.tif 000009
【図８】
2020177087.tif 000010
【図９】
2020177087.tif 000011
【図１０】
2020177087.tif 000012
【図１１】
2020177087.tif 000013
【図１２】
2020177087.tif 000014
【図１３】
2020177087.tif 000015
【図１４】
2020177087.tif 000016
【図１５】
2020177087.tif 000017
【図１６】
2020177087.tif 000018
【図１７】
2020177087.tif 000019