(57)【要約】【課題】複数の画像を合成して表示する際、条件によらず合成結果を適切に制御する。【解決手段】画像生成装置１０において入力情報取得部５０は入力装置１４からユーザ操作の内容を取得する。画像データ生成部５２は、２つの画像を合成する際、状況に応じて画像データの空間を切り替え、当該空間で合成した画像のデータをフレームバッファ５６に格納する。フォーマット制御部５４は、決定された空間に対応するデータフォーマットをフレームバッファ５６に設定する。出力部５８は、フレームバッファ５６から読み出したデータを、ディスプレイ１６に応じた映像信号として出力する。【選択図】図８
2020177086.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)カーブと呼ばれる変換関数である。以後、このような関数により量子化されたカラー値の空間を「ＰＱ空間」と呼ぶ。ただしＨＤＲの画像に適用するカーブを限定する趣旨ではない。（ａ）と（ｂ）のように、量子化後のカラー値の、輝度に対する特性が異なると、式１における２項の重みづけにその特性の差が影響を与え、合成する画像のバランスがα値の設定により意図したものからずれてしまう。
【００３１】
図７は、量子化時に用いる変換関数の差による合成画像への影響を模式図で例示している。図示する（ａ）、（ｂ）は、図２で示したメイン画像２００ａと付加画像２００ｂをアルファ合成する場合を想定しており、（ａ）は図５の（ａ）のようにメイン画像と付加画像の双方がＳＤＲ、ディスプレイもＳＤＲの場合であり、全てがｓＲＧＢ空間で処理される。（ｂ）は図５の（ｂ）のように、メイン画像がＨＤＲ、付加画像がＳＤＲで生成され、これをＨＤＲのディスプレイで表示させるため、付加画像をＨＤＲの輝度レンジでのデータに変換している。
【００３２】
この際、一般的には輝度レンジの変換とともに輝度に対する特性も変換する。例えばＳＤＲである付加画像をｓＲＧＢ空間でのデータからＰＱ空間でのデータに変換したうえで合成する。これにより式１を用いて、同じ空間での重みづけ和により合成画像のカラー値を算出できる。しかしながら（ａ）と比較すると（ｂ）の合成画像は、付加画像が暗い領域でメイン画像の透過が少ない。これは、ｓＲＧＢのカーブと比較しＰＱカーブが、低い輝度領域でカラー値の増加率を上げているため、合成対象の画像のうち輝度が低い方に実質的に大きな重みがかかることによる。
【００３３】
このように、接続されるディスプレイに依存させて変換関数を決定すると、アプリケーションやシステムが想定しない状態の合成画像が表示される場合がある。また、同じコンテンツを表示しているにもかかわらず、接続しているディスプレイによって表示の印象が変化してしまうことにもなる。そこで本実施の形態では、ディスプレイの輝度レンジと独立に変換関数を決定し、その空間で画像を合成できるようにする。
【００３４】
図８は、本実施の形態における画像生成装置１０の機能ブロックの構成を示している。図８に示す各機能ブロックは、ハードウェア的には、図３に示したＣＰＵ、ＧＰＵ、各種メモリ、データバスなどの構成で実現でき、ソフトウェア的には、記録媒体などからメモリにロードした、データ入力機能、データ保持機能、演算機能、画像処理機能、通信機能などの諸機能を発揮するプログラムで実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００３５】
画像生成装置１０は、入力装置１４からの入力情報を取得する入力情報取得部５０、表示画像のデータを生成する画像データ生成部５２、生成した画像のデータを格納するフレームバッファ５６、フレームバッファ５６に格納する画素値のデータフォーマットを切り替えるフォーマット制御部５４、および、表示画像のデータをディスプレイ１６に出力する出力部５８を含む。
【００３６】
入力情報取得部５０は図３の入力部３８、ＣＰＵ２２などで実現され、ユーザ操作の内容を示すデータを入力装置１４から取得する。ここでユーザ操作とは、実行するアプリケーションやコンテンツの選択、処理の開始／終了、コマンド入力など、一般的な情報処理装置や携帯端末、ゲーム装置に対しなされるものでよい。入力情報取得部５０はまた、動画など電子コンテンツのデータを、ネットワーク８を介してサーバから取得してもよい。入力情報取得部５０は取得したデータを画像データ生成部５２やフォーマット制御部５４に適宜供給する。
【００３７】
画像データ生成部５２は図３のＣＰＵ２２、ＧＰＵ２４などで実現され、ユーザ操作の内容などに応じて表示すべき画像を生成する。詳細には画像データ生成部５２は画像描画部６０とデータ変換部６２を含む。画像描画部６０は、複数の画像を合成するか否かに関わらず、表示画像を構成する画像を生成する。例えば画像描画部６０は、ユーザ操作に応じて電子ゲームを進捗させ、その画像を所定のフレームレートで描画する。あるいは画像描画部６０は、ユーザが指定した動画のデータを復号、伸張してもよい。
【００３８】
動画は入力装置１４たる撮像装置から取得されたものでもよいし、ネットワーク８を介してサーバから配信されたものや、接続された外部記憶装置に格納されたものなどでもよい。以後、このようにして生成したゲーム画像や動画像を第１画像とする。画像描画部６０は生成した第１画像の画素ごとの輝度を量子化してなるカラー値を、フレームバッファ５６に格納する。
【００３９】
画像描画部６０はさらに、必要に応じて第２画像を生成する。第２画像はユーザが呼び出すことにより随時表示されるものでもよいし、ゲームや動画の進捗に応じて決定したタイミングで表示されるものでもよい。または画面の片隅などに常時表示されるものでもよい。いずれにしろ第２画像は、第１画像上に重畳表示させる画像であり、どのような透過度で表示するかをα値で設定しておく。α値は画素ごとや領域ごとに設定してもよいし、画像全体で固定値としてもよい。また当該設定値を時間変化させてもよい。
【００４０】
第２画像を重畳させる必要がある期間、画像描画部６０はまず第１画像の量子化後のカラー値をフレームバッファ５６に格納し、それと第２画像の量子化後のカラー値の重みづけ和を計算してデータを上書きする。データ変換部６２は、合成対象の画像データの輝度レンジを必要に応じて変換する。データ変換部６２はまた、合成対象の画像データの空間を必要に応じて変換する。すなわち第１画像、第２画像のデータが、輝度に対する共通の特性を有する値となるように変換する。例えばＳＤＲの画像とＨＤＲの画像を合成する場合、ＳＤＲの画像をｓＲＧＢ空間からＰＱ空間に変換する。あるいはＨＤＲの画像をＰＱ空間からｓＲＧＢ空間に変換する。
【００４１】
データ変換部６２はこの際、接続されているディスプレイ１６が映像信号を処理する際に設定する空間、ひいては用いるＥＯＴＦとは独立に、変換先の空間を決定する。例えばＨＤＲのディスプレイが接続されていたとしても、ＨＤＲの第１画像をｓＲＧＢ空間に変換する場合を許容する。これにより図７の（ａ）に示すように、双方がＳＤＲの画像を合成してＳＤＲのディスプレイに表示した場合と同様の透け感で合成画像を表示できる。
【００４２】
あるいはＨＤＲの第１画像を変換せずに、ＳＤＲの第２画像をＰＱ空間に変換する。これにより図７の（ｂ）に示すように、（ａ）の画像とは印象の異なる合成画像となったとしても、合成による第１画像への影響を抑えＨＤＲの画像表現を維持できる。このように、どの空間で画像を合成するかによって合成結果が変化するため、データ変換部６２は画像を表示させているアプリケーションやシステムにおける設定に基づき、合成画像の再現性と元の画像の再現性のうち優先度の高い方を決定し、それに対応する空間を変換先として選択する。
【００４３】
フォーマット制御部５４は図３のＣＰＵ２２で実現され、データ変換部６２が選択した変換先の空間に応じて、フレームバッファに格納する画素値のデータフォーマットを切り替える。一般的にＳＲＤの画像、ＨＤＲの画像の画素値はそれぞれ、対応する変換関数により主に高輝度領域で階調圧縮され、各色が所定のビット数に収まるように変換される。ここで本来対応している変換関数とは異なる関数を用いることにより、同じデータフォーマットでは変換後の値を格納できない場合が生じる。このようなデータをフレームバッファ５６に格納するため、フォーマット制御部５４は、各色のビット深度と、小数点を固定とするか浮動とするか、の少なくともいずれかを切り替える。
【００４４】
画像データ生成部５２がアルファ合成をしない場合、あるいはアルファ合成をしても一般的なフォーマットで充足する場合、フォーマット制御部５４がフレームバッファ５６のフォーマットを切り替える必要はない。フレームバッファ５６は、画像描画部６０が生成したり合成したりした画像のデータを格納する。第２画像を合成する場合、まず第１画像が格納され、その画素値と第２画像の画素値が演算された結果が格納される。これらはフォーマット制御部５４の制御のもと、同じデータフォーマット上で実施される。
【００４５】
出力部５８は図３のＧＰＵ２４、出力部３６などで実現され、フレームバッファ５６から画像のデータを読み出し、順次ディスプレイ１６に出力する。ここでフレームバッファ５６に格納されたデータが、ディスプレイ１６の輝度レンジに対応するデータフォーマットと異なる場合、出力部３６は当該データをさらに空間変換し、ディスプレイ１６に適したフォーマットの映像信号として出力する。
【００４６】
図９は本実施の形態の一例として、ＨＤＲの画像をｓＲＧＢ空間に変換した場合の変換後のカラー値の範囲について説明するための図である。図のグラフは図６の（ａ）と同様、ｓＲＧＢで用いられる変換関数を表している。ただし横軸に示す画素値Ｐ、すなわち本来の輝度の範囲は、ＳＤＲのピーク輝度Ｐｓより大きい、ＨＤＲのピーク輝度Ｐｈを上限としている。ＨＤＲのピーク輝度ＰｈはＳＤＲのピーク輝度Ｐｓの１００倍程度であるが、図ではわかりやすさのために模式的に示している。
【００４７】
ｓＲＧＢの変換関数は、０〜Ｐｓの輝度を０〜１．０のカラー値に変換する。一方、ＨＤＲの広域な輝度を同じ関数で変換すると、当然、その最大値Ｃｈは１．０より大きくなる。ＨＤＲの画像で一般に用いられるＰＱカーブも１〜１．０のカラー値に変換するため、そのような一般的な処理で設定されるデータフォーマットのフレームバッファでは、ＨＤＲの画像をｓＲＧＢの関数で変換した値が格納しきれない。そのためフォーマット制御部５４は、ＨＤＲの画像をｓＲＧＢ空間に変換するのに対応させて、フレームバッファ５６のフォーマットを切り替える。
【００４８】
本実施の形態で設定される、合成対象の画像の輝度レンジとディスプレイの輝度レンジの組み合わせに対する、空間変換とデータフォーマットの代表例を下表に示す。
【００４９】
【表１】
2020177086.tif 000003
【００５０】
ＳＤＲの画像をＳＤＲのディスプレイで表す場合、表の２列目に示すように、赤緑青のカラー値にそれぞれ８ビット、α値に８ビットの計３２ビットの固定小数点のデータフォーマットを設定する。表ではそれを「Ｒ８Ｇ８Ｂ８Ａ８Ｕｎｏｒｍ」と表している。この環境においてＳＤＲの画像とＨＤＲの画像を合成して表示する場合、ＳＤＲの画像は変換せず、マッピングなどによりＨＤＲのカラー値をＳＤＲの輝度レンジでの値に変換する。
【００５１】
一方、ＨＤＲの画像をＨＤＲのディスプレイで表す場合、ある状況においては、表の３列目に示すように、赤緑青のカラー値にそれぞれ１０ビット、α値に２ビットの計３２ビットの固定小数点のデータフォーマットを設定する。表ではそれを「Ｒ１０Ｇ１０Ｂ１０Ａ２Ｕｎｏｒｍ」と表している。この環境においてＳＤＲの画像とＨＤＲの画像を合成して表示する場合、ＨＤＲの画像は変換せず、マッピングなどによりＳＤＲのカラー値をＨＤＲの輝度レンジでの値に変換する。
【００５２】
このとき、元々ｓＲＧＢ空間で表されていたカラー値を、ＰＱ空間に変換する。これにより式１を用いた合成によって、合成後のカラー値がＰＱ空間で得られる。また変換後のＳＤＲのカラー値が１．０を超えることはないため、合成後のカラー値も１．０を超えず、元々設定されていたデータフォーマットで充足する。ただしこの場合、図７の（ｂ）で示したように、ＳＤＲの画像同士を合成した結果から合成結果が変化する。
【００５３】
そのため、上述のとおりｓＲＧＢ空間で合成する処理経路を設ける。このとき表の３列目のデータフォーマットを用いると、１．０を超える値がクランプされ全て１．０となって記録されるため、結局は合成画像が大きく変化してしまう。そこで表の４列目に示すように、赤緑のカラー値にそれぞれ１１ビット、青のカラー値に１０ビットの計３２ビットの浮動小数点のデータフォーマットを準備する。表ではそれを「Ｒ１１Ｇ１１Ｂ１０Ｆｌｏａｔ」と表している。
【００５４】
合計３２ビットといった制限下では、視覚的な感度の高さを踏まえ緑、赤、青の順で優先的にビット数を割り当てる。またこの例ではα値の格納領域を設けていないが、フレームバッファ５６に書き出した合成画像に、さらに画像を合成する場合など、合成対象の画像ごとにαプレーンを保持する必要がある場合は、α値にも割り当てが必要となる。したがって表に示した例以外に、合成時の各種設定や各画素に準備できるビット数に応じて、データフォーマットを適切に選択する。
【００５５】
例えばこれまで述べた例では主に、アルファ合成する空間をＰＱ空間またはｓＲＧＢ空間としていたが、合成を同じ空間で実施する限り実際に適用するカーブは限定されない。１画素に準備できるビット数によっては線形の空間で合成することも考えられる。また上述したガンマ２．２やガンマ２．４などの空間で合成してもよい。データ変換部６２がそれらのいずれかを選択すると、フォーマット制御部５４は、それによって量子化された値が格納できるように、フレームバッファ５６のデータフォーマットを切り替える。
【００５６】
いずれにしろデータフォーマットの切り替えにより、ＨＤＲの画像の変換後のカラー値が１．０を大きく超える値となっても、フレームバッファへの格納が可能になる。この場合、ＨＤＲの画像自体には誤差が生じるが、合成画像の透け感を好適に再現できる。
【００５７】
図１０は、ＨＤＲのディスプレイに表示させるため、ＳＤＲの画像とＨＤＲの画像の合成画像を生成する手順を、ＰＱ空間およびｓＲＧＢ空間で比較している。（ａ）はＰＱ空間で合成する場合であり、上述のとおりＨＤＲの画像については変換しない（Ｓ１０）。ＳＤＲの画像は、ｓＲＧＢ空間のガンマカーブの変換が施されているため、データ変換部６２は当該データを一旦、カーブのない線形空間に戻す（Ｓ１２）。これには図４で示したＥＯＴＦを用いることができる。
【００５８】
データ変換部６２は、そのようにして得られた元の輝度に比例する値を、ＨＤＲの一部の輝度レンジにマッピングすることにより、ＨＤＲの輝度レンジでの値に変換する（Ｓ１４）。この処理は実際には、行列演算により色域を拡張する処理であり、公知の演算手法を用いることができる。そしてデータ変換部６２は、そのように輝度レンジが変換されたデータに対しＰＱカーブによる変換を施すことにより、ＰＱ空間でのデータとする（Ｓ１６）。これにより、合成対象の画像の双方がＰＱ空間で表されたため、式１によりアルファ合成し、「Ｒ１０Ｇ１０Ｂ１０Ａ２Ｕｎｏｒｍ」のフレームバッファにそのデータを格納する。
【００５９】
（ｂ）はｓＲＧＢ空間で合成する場合であり、データ変換部６２はＨＤＲの画像も変換する。すなわち、ＨＤＲの画像は、ＰＱカーブの変換が施されているため、当該画像のデータを一旦、ＥＯＴＦによりカーブのない線形空間に戻す（Ｓ２０）。そしてデータ変換部６２は、当該データに対しｓＲＧＢのカーブによる変換を施すことにより、ｓＲＧＢ空間でのデータとする（Ｓ２２）。
【００６０】
一方、ＳＤＲの画像は（ａ）の場合と同様、一旦、線形空間に戻したあと（Ｓ２４）、ＨＤＲの輝度レンジでの値に変換する（Ｓ２６）。そのうえでデータ変換部６２は、輝度レンジが変換されたデータに対しｓＲＧＢのカーブによる変換を施すことにより、ｓＲＧＢ空間でのデータとする（Ｓ２８）。これにより、合成対象の画像の双方がｓＲＧＢ空間で表されたため、式１によりアルファ合成し、「Ｒ１１Ｇ１１Ｂ１０Ｆｌｏａｔ」のフレームバッファにそのデータを格納する。
【００６１】
次に、以上の構成によって実現される画像生成装置１０の動作について説明する。図１１は、画像生成装置１０が表示画像を生成しディスプレイに出力する処理の手順を示すフローチャートである。この処理手順は、電子ゲームなど主たる画像をＨＤＲで生成してＨＤＲのディスプレイに表示させることを前提としているが、これまで述べたように本実施の形態をその組み合わせに限定する趣旨ではない。
【００６２】
まず入力情報取得部５０がユーザ操作の内容を取得すると、画像データ生成部５２は、当該操作内容に応じてＨＤＲの画像を生成し、出力部５８がフレームバッファ５６からそのデータを読み出しディスプレイに出力する（Ｓ４０）。ただしこの表示画像の生成処理は、ユーザ操作に応じてその場で描画するのに限らず、それまでに記録された動画データを復号するなどでもよい。またＨＤＲの画像のみを表示するため、フレームバッファ５６はＰＱ空間に対応するデータフォーマットを使用する。
【００６３】
当該ＨＤＲの画像にＳＤＲの画像を合成する必要がなければ、ＨＤＲの画像の生成、出力処理を継続する（Ｓ４２のＮ）。ＳＤＲの画像を合成する必要が生じたら（Ｓ４２のＹ）、データ変換部６２は、合成画像の再現性とＨＤＲ画像の再現性のどちらを優先するかを決定する（Ｓ４４）。例えば電子ゲームを実施中、設定を変更するなどの目的でシステムが提供するメニュー画像が呼び出された場合などに、メインの画像がＳＤＲかＨＤＲによらず同様の合成状態とするには合成画像の再現性を優先する。
【００６４】
一方、電子ゲームのプレイ中の模様を静止画または動画で保存し、後から閲覧したり配信したりする場合などに、メインの画像を常時高品質に見せるにはＨＤＲの画像の再現性を優先する。動画コンテンツを再生する場合も同様である。このように、同じコンテンツでも状況によって優先順位が変化するため、データ変換部６２は入力情報取得部５０が取得したユーザ操作などに応じて当該状況を検出し、優先順位を決定する。この処理は実際には、どちらの優先度が高いかを判定するロジック回路によって実現してもよい。
【００６５】
合成画像の再現性を優先する場合（Ｓ４４のＹ）、フォーマット制御部５４はフレームバッファ５６のデータフォーマットを、ｓＲＧＢ空間に対応するものに切り替え、１．０以上のカラー値を格納できるようにする（Ｓ４６）。そして画像データ生成部５２は、フォーマットが切り替えられたフレームバッファ５６に、ｓＲＧＢ空間に変換されたＨＤＲ画像とＳＤＲ画像をアルファ合成した結果を格納し、出力部５８がそれを読み出し出力する（Ｓ４８）。このとき出力部５８は、ｓＲＧＢ空間で表現されている合成画像をＰＱ空間での映像信号に変換して出力する。
【００６６】
合成画像の再現性を優先しない場合、すなわちＨＤＲの画像の再現性を優先する場合（Ｓ４４のＮ）、ＨＤＲの画像のみを表示していたときにフレームバッファ５６に設定されていた、ＰＱ空間に対応したデータフォーマットのままとする。そして画像データ生成部５２は、ＳＤＲの画像のデータをＨＤＲの輝度レンジでのデータに変換し、ＰＱ空間でＨＤＲの画像とアルファ合成した結果をフレームバッファ５６に格納し、出力部５８がそれを読み出し出力する（Ｓ４８）。
【００６７】
ＳＤＲの合成を継続している期間は（Ｓ５０のＮ）、同じデータフォーマットのフレームバッファ５６に合成画像を格納し、出力する処理を所定のフレームレートで繰り返す（Ｓ４８）。合成を終了させる必要が生じたら（Ｓ５０のＹ）、表示自体が継続している間は（Ｓ５２のＮ）、Ｓ４０のＨＤＲの画像の生成、出力に処理を戻す。以後、Ｓ４０〜Ｓ５０の処理を繰り返し、表示を終了させる必要が生じたら全ての処理を終了させる（Ｓ５２のＹ）。
【００６８】
次に、ＳＤＲの画像とＨＤＲの画像をＰＱ空間で合成する場合とｓＲＧＢ空間で合成する場合の切り替えの判断基準を例示する。上述のとおりＰＱ空間で合成することによりＨＤＲ画像の品質が維持され、ｓＲＧＢ空間で合成することにより合成画像に再現性が得られるため、以下、前者を「画質重視モード」、後者を「合成重視モード」と呼ぶ。それらのモードを切り替えるため、例えば次のような基準を設定する。
【００６９】
１．システムが提供するアプリケーションのうち、ＨＤＲの色再現性を損ないたくないアプリケーションを実行している場合は画質重視モード、それ以外の場合は合成重視モードとする。
２．表示画像内に、半透明で表現されている要素がないか、少ない場合は画質重視モードとし、半透明で表現されている要素が多くある場合は合成重視モードとする。
３．システム制御下にないコンテンツ内での指定に応じて、画像重視モードと合成重視モードを切り替える。
【００７０】
図１２は、本実施の形態を適用した場合に表示される画像の変遷を例示している。この例は上記１を適用する状況である。画像１００はシステムが提供するアプリケーションを選択するホーム画面であり、このような構成の画像を表示している期間は合成重視モードとする。この画像１００において、「キャプチャーギャラリー」なるアプリケーションが選択されたとする。
【００７１】
「キャプチャーギャラリー」は、以前のゲームプレイ中に撮影された、プレイの様子を表すキャプチャー画像を後のタイミングで閲覧するアプリケーションであり、例えば画像１０２のようなゲーム中の画像が表示される。このような画像を表示している期間は、ゲームの様子を正確に再現することが望まれるため、図の左側に示すように、画面構成を切り代える際に画質重視モードへ切り替える。そして閲覧し終えたユーザが画像１０２を閉じる操作を行うと、再びホーム画面の画像１０４が表示される。この際、ホーム画面への切り替えとともに、合成重視モードへ戻す。
【００７２】
図１３は、本実施の形態を適用した場合に表示される画像の変遷の別の例を示している。この例は上記２を適用する状況である。画像１０６は、画像を構成する部品画像（要素）のうち半透明で表現されている要素が多くある場合である。この場合、合成結果が変化すると見た目の印象が大きく変わるため、合成重視モードとすることにより安定した表示を実現する。
【００７３】
これに対し画像１０８は、半透明で表現される要素が少ない場合である。この場合は合成結果が変化しても印象はそれほど変わらないため、画質重視モードとして高品質な画像表示を維持する。両者の切り替えは、例えば半透明で表現される要素の数、半透明で表現される画像の面積などにしきい値を設けることによって判定する。
【００７４】
図１４は、本実施の形態を適用した場合に表示される画像の変遷の別の例を示している。この例は上記３を適用する状況であるが、画質重視モードと合成重視モードの遷移に限定していない。ここで画像１１０はシステムが提供するメニュー画面であり、画像１１２は実行中のゲームコンテンツで生成されるゲーム画面である。画像１１０と画像１１２を合成した画像が、画像１１４、画像１１６である。
【００７５】
このうち画像１１４は、コンテンツが線形空間での合成を指定した場合の合成画像である。これに応じてデータ変換部６２は、画像１１０と画像１１２のデータを、ＥＯＴＦなどにより線形空間に変換して合成する。一方、フォーマット制御部５４は、線形に量子化された値を格納できるようなデータフォーマットをフレームバッファ５６に設定する。例えば各原色に１６ビット、α値に１６ビットの浮動小数点のフォーマットを設定する。ただしデータフォーマットはこれに限らない。
【００７６】
画像１１５は、コンテンツがガンマ２．２の空間での合成を指定した場合の合成画像である。これに応じてデータ変換部６２は、図１０の（ｂ）における最終的な変換先をガンマ２．２の空間とする。一方、フォーマット制御部５４は、例えば各原色に８ビット、α値に８ビットの固定小数点のフォーマットを設定する。ただしデータフォーマットはこれに限らない。このようにコンテンツ内で、合成する空間を指定できるようにすることにより、コンテンツ作成者の意図を常時反映させることができる。そのためシステムにおいて、コンテンツ作成者が空間を指定するためのＡＰＩを提供してもよい。
【００７７】
以上述べた本実施の形態によれば、表示画像を生成する装置において、フレームバッファのデータフォーマットを状況に応じて切り替える。これにより、画素値の量子化に用いる変換関数を切り替え、一般に得られていた数値範囲を超える値が発生しても、フレームバッファへそのまま書き込むことが可能になる。この構成を利用すると、ＳＤＲの画像とｓＲＧＢなどのガンマカーブ、あるいはＨＤＲの画像とＰＱカーブ、といった輝度レンジと変換関数の組み合わせの制限を緩和することができる。
【００７８】
結果として、ＨＤＲの画像をガンマカーブにより変換し、ＳＤＲの画像と合成することにより、ＳＤＲの画像同士を合成した場合と同様の表現を実現できる。また、そのような合成画像の再現性より元のＨＤＲの画像のダイナミックな表現を優先させたい状況においては、データフォーマットを切り替えずにＰＱ空間で合成できる。このように、元の画像やディスプレイの輝度レンジが様々に変化しても、表示画像の態様を好適に制御できる。
【００７９】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【００８０】
８  ネットワーク、  １０  画像生成装置、  １４  入力装置、  １６  ディスプレイ、  ２２  ＣＰＵ、  ２４  ＧＰＵ、  ２６  メインメモリ、  ３６  出力部、  ３８  入力部、  ５０  入力情報取得部、  ５２  画像データ生成部、  ５４  フォーマット制御部、  ５６  フレームバッファ、  ５８  出力部、  ６０  画像描画部、  ６２  データ変換部、  ７０  フレームバッファ。
【図１】
2020177086.tif 000004
【図２】
2020177086.tif 000005
【図３】
2020177086.tif 000006
【図４】
2020177086.tif 000007
【図５】
2020177086.tif 000008
【図６】
2020177086.tif 000009
【図７】
2020177086.tif 000010
【図８】
2020177086.tif 000011
【図９】
2020177086.tif 000012
【図１０】
2020177086.tif 000013
【図１１】
2020177086.tif 000014
【図１２】
2020177086.tif 000015
【図１３】
2020177086.tif 000016
【図１４】
2020177086.tif 000017