(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-06
(45)【発行日】2023-06-14
(54)【発明の名称】輝度範囲が限定されたディスプレイのための効果的な電気光学伝達関数の符号化
(51)【国際特許分類】
H04N 19/85 20140101AFI20230607BHJP
【FI】
H04N19/85
(21)【出願番号】P 2021505210
(86)(22)【出願日】2019-06-25
(86)【国際出願番号】 IB2019055353
(87)【国際公開番号】W WO2020026048
(87)【国際公開日】2020-02-06
【審査請求日】2021-03-22
(32)【優先日】2018-07-31
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】508301087
【氏名又は名称】エーティーアイ・テクノロジーズ・ユーエルシー
【氏名又は名称原語表記】ATI TECHNOLOGIES ULC
【住所又は居所原語表記】One Commerce Valley Drive East, Markham, Ontario, L3T 7X6 Canada
(74)【代理人】
【識別番号】100108833
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100111615
【氏名又は名称】佐野 良太
(74)【代理人】
【識別番号】100162156
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】アンソニー ワイ ラップ クー
(72)【発明者】
【氏名】サイド アザー フセイン
(72)【発明者】
【氏名】クルノスラブ コバック
【審査官】岩井 健二
(56)【参考文献】
【文献】特開2017-050840(JP,A)
【文献】特開2016-058848(JP,A)
【文献】国際公開第2016/120261(WO,A1)
【文献】国際公開第2013/086169(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
メモリと、
ディスプレイコントローラと、
前記メモリ及び前記ディスプレイコントローラに接続されたプロセッサと、
を備えるシステムであって、
前記プロセッサは、
表示されるピクセルデータを符号化する要求を検出することと、
対象ディスプレイの有効輝度範囲を決定することと、
複数の利用可能な伝達関数のうち、前記対象ディスプレイの前記有効輝度範囲に適合する第1の伝達関数を特定することと、
前記第1の伝達関数で前記ピクセルデータを符号化すること
であって、前記第1の伝達関数は、隣接する符号語が、人間の視覚によって知覚可能な少なくとも所定の差の輝度を有するように選択されるように、符号語を分布させることと、
前記第1の伝達関数で符号化された前記ピクセルデータを前記ディスプレイコントローラに提供して、前記対象ディスプレイに送ることと、
を行うように構成されている、
システム。
【請求項2】
前記第1の伝達関数は、第2の伝達関数をスケーリングしたバージョンである、
請求項1のシステム。
【請求項3】
前記第2の伝達関数は、符号語のサブセットを、前記対象ディスプレイの前記有効輝度範囲外の輝度値にマッピングする、
請求項2のシステム。
【請求項4】
前記第1の伝達関数は、
最小符号語を、前記対象ディスプレイによって表示可能な最小輝度出力にマッピングし、
最大符号語を、前記対象ディスプレイによって表示可能な最大輝度出力にマッピングし、
スケーリングされた知覚量子化電気光学伝達関数を用いて、符号語を前記最小符号語と前記最大符号語との間に分布させる、請求項1に記載のシステム。
【請求項5】
前記プロセッサは、前記対象ディスプレイの前記有効輝度範囲の指標を受信するように構成されている、
請求項1のシステム。
【請求項6】
前記第1の伝達関数で前記ピクセルデータを符号化することによって、符号語の全ての範囲が、前記対象ディスプレイが生成可能な輝度値にマッピングされる、
請求項1のシステム。
【請求項7】
前記プロセッサは、前記ピクセルデータが前記第1の伝達関数で符号化されたという指標を復号器に伝えるように構成されている、
請求項1のシステム。
【請求項8】
表示されるピクセルデータを符号化する要求を検出することと、
対象ディスプレイの有効輝度範囲を決定することと、
複数の利用可能な伝達関数のうち、前記対象ディスプレイの前記有効輝度範囲に適合する第1の伝達関数を特定することと、
前記第1の伝達関数で前記ピクセルデータを符号化すること
であって、前記第1の伝達関数は、隣接する符号語が、人間の視覚によって知覚可能な少なくとも所定の差の輝度を有するように選択されるように、符号語を分布させることと、
前記第1の伝達関数で符号化された前記ピクセルデータをディスプレイコントローラに提供して、前記対象ディスプレイに送ることと、を含む、
方法。
【請求項9】
前記第1の伝達関数は、第2の伝達関数をスケーリングしたバージョンである、
請求項8の方法。
【請求項10】
前記第2の伝達関数は、符号語のサブセットを、前記対象ディスプレイの前記有効輝度範囲外の輝度値にマッピングする、
請求項9の方法。
【請求項11】
前記第1の伝達関数は、
最小符号語を、前記対象ディスプレイによって表示可能な最小輝度出力にマッピングし、
最大符号語を、前記対象ディスプレイによって表示可能な最大輝度出力にマッピングし、
スケーリングされた知覚量子化電気光学伝達関数を用いて、符号語を前記最小符号語と前記最大符号語との間に分布させる、
請求項8の方法。
【請求項12】
前記対象ディスプレイの前記有効輝度範囲の指標を受信することを含む、
請求項8の方法。
【請求項13】
前記第1の伝達関数で前記ピクセルデータを符号化することによって、符号語の全ての範囲が、前記対象ディスプレイが生成可能な輝度値にマッピングされる、
請求項8の方法。
【請求項14】
前記ピクセルデータが前記第1の伝達関数で符号化されたという指標を復号器に伝えることを含む、
請求項8の方法。
【請求項15】
メモリと、
複数の計算ユニットと、
を備えるプロセッサであって、
表示されるピクセルデータを符号化する要求を検出することと、
対象ディスプレイの有効輝度範囲を決定することと、
複数の利用可能な伝達関数のうち、前記対象ディスプレイの前記有効輝度範囲に適合する第1の伝達関数を特定することと、
前記第1の伝達関数で前記ピクセルデータを符号化すること
であって、前記第1の伝達関数は、隣接する符号語が、人間の視覚によって知覚可能な少なくとも所定の差の輝度を有するように選択されるように、符号語を分布させることと、
前記第1の伝達関数で符号化された前記ピクセルデータをディスプレイコントローラに提供して、前記対象ディスプレイに送ることと、
を行うように構成されている、
プロセッサ。
【請求項16】
前記第1の伝達関数は、第2の伝達関数をスケーリングしたバージョンである、
請求項15のプロセッサ。
【請求項17】
前記第2の伝達関数は、符号語のサブセットを、前記対象ディスプレイの前記有効輝度範囲外の輝度値にマッピングする、
請求項16のプロセッサ。
【請求項18】
前記第1の伝達関数は、
最小符号語を、前記対象ディスプレイによって表示可能な最小輝度出力にマッピングし、
最大符号語を、前記対象ディスプレイによって表示可能な最大輝度出力にマッピングし、
スケーリングされた知覚量子化電気光学伝達関数を用いて、符号語を前記最小符号語と前記最大符号語との間に分布させる、
請求項15のプロセッサ。
【請求項19】
前記プロセッサは、前記対象ディスプレイの前記有効輝度範囲の指標を受信するように構成されている、
請求項15のプロセッサ。
【請求項20】
前記第1の伝達関数で前記ピクセルデータを符号化することによって、符号語の全ての範囲が、前記対象ディスプレイが生成可能な輝度値にマッピングされる、
請求項15のプロセッサ。
【発明の詳細な説明】
【背景技術】
【0001】
(関連技術の説明)
多くのタイプのコンピュータシステムは、画像、ビデオストリーム及びデータを表示するディスプレイデバイスを含む。したがって、これらのシステムは、通常、画像及びビデオ情報を生成及び/又は操作するための機能を含む。デジタル画像においては、画像内の最小の情報項目は「画素」と呼ばれ、より一般的には「ピクセル」と呼ばれる。一般的な電子ディスプレイ上で特定の色を表現するために、各ピクセルは、所望の色に存在する赤、緑、青の各々の量に対応する3つの値を有することができる。電子ディスプレイの一部のフォーマットには、ピクセルの透明度を表すアルファと呼ばれる4番目の値が含まれる場合がある。このフォーマットは、一般にARGB又はRGBAと呼ばれる。ピクセルの色を表す別のフォーマットはYCbCrであり、Yはピクセルの輝度すなわち明るさに対応し、CbとCrは、青色差(Cb)と赤色差(Cr)を表す2つの色差(クロミナンス)成分に対応する。
【0002】
輝度は、所定の方向に進む光の単位面積当たりの光度の測光測定値である。輝度は、特定の領域から放出又は反射される光の量を表す。輝度は、特定のビューアングルから表面を見る目によって検出される光量を示す。輝度の測定に使用される単位は、カンデラ/平方メートルである。平方メートルあたりのカンデラは「ニト(nit)」とも呼ばれる。
【0003】
人間の視覚の研究に基づくと、人間が輝度の差を検出するためには、最小限の輝度の変化がある。高ダイナミックレンジ(HDR)タイプのコンテンツの場合、ビデオフレームは、隣接する符号語が知覚可能な明るさの最小ステップに近くなるように、通常、知覚量子化(Perceptual Quantizer)電気光学伝達関数(PQ-EOTF)を使用して符号化される。一般的なHDRディスプレイは、10ビットの色深度を使用する。つまり、各色成分は0~1023の値の範囲となる。10ビットで符号化されたPQ-EOTFでは、1024の符号語の各々が0~10000nitの輝度を表すが、人間の知覚に基づいて、これらの1024個のレベルと区別することができるより多くの輝度レベルを有することができる。成分当たり8ビットの色深度では符号語が256しかなく、8ビットのみを使用して0~10000nitの範囲全体を記述すると、輝度の各ジャンプ(jump)がより明確になる。PQ-EOTFを使用してビデオフレームを符号化する場合、出力ピクセル値0は最小輝度0nitを表し、最大出力ピクセル値(例えば、10ビット出力値の場合には1023)は最大輝度10,000nitを表す。ただし、現在使用されている一般的なディスプレイは、その輝度レベルに達することができない。したがって、ディスプレイは、ビデオフレーム内で符号化される輝度値の一部を表現することができない。
【0004】
添付の図面と共に以下の説明を参照することによって、本明細書に記載される方法及びメカニズムの利点をより良く理解することができる。
【図面の簡単な説明】
【0005】
【
図1】コンピューティングシステムの一実施形態のブロック図である。
【
図2】ネットワークを介して送信されるビデオビットストリームを符号化するためのシステムの一実施形態のブロック図である。
【
図3】コンピューティングシステムの別の実施形態のブロック図である。
【
図4】10ビットのビデオ出力ピクセル値対輝度をプロットするグラフの一実施形態を示す図である。
【
図5】ガンマ及び知覚量子化(PQ)電気光学伝達関数(EOTF)曲線のグラフの一実施形態を示す図である。
【
図6】ピクセル値を、対象ディスプレイ(target display)に適合するフォーマットに再マッピングするためのグラフの一実施形態を示す図である。
【
図7】輝度範囲が限られたディスプレイのために効果的な電気光学伝達関数を使用する方法の一実施形態を示す一般化されたフロー図である。
【
図8】ピクセルデータのフォーマット変換を実行する方法の一実施形態を示す一般化されたフロー図である。
【
図9】ピクセルデータを処理する方法の一実施形態を示す一般化されたフロー図である。
【
図10】ピクセルデータを符号化するための伝達関数を選択する方法の一実施形態を示す一般化されたフロー図である。
【
図11】コンピューティングシステムの一実施形態のブロック図である。
【発明を実施するための形態】
【0006】
以下の説明では、本明細書に提示される方法及びメカニズムの十分な理解を提供するために、多くの具体的な詳細が記載される。しかしながら、当業者は、これらの具体的な詳細無しに様々な実施形態が実施され得ることを認識すべきである。場合によっては、本明細書で説明するアプローチを曖昧にすることを回避するために、周知の構造、構成要素、信号、コンピュータプログラム命令及び技術が詳細に示されていない。説明を簡単且つ明確にするために、図に示される要素は必ずしも縮尺通りに描かれていないことが理解されよう。例えば、一部の要素の寸法は、他の要素と比較して誇張される場合がある。
【0007】
輝度範囲が限られたディスプレイのための効果的な電気光学伝達関数を実装するための様々なシステム、装置及び方法が本明細書に開示されている。プロセッサ(例えば、グラフィックスプロセッシングユニット(GPU))は、表示するピクセルデータを符号化する要求を検出する。また、プロセッサは、対象ディスプレイの有効輝度範囲の指標を受信する。指標を受信したことに応じて、プロセッサは、対象ディスプレイの有効輝度範囲にマッピングするフォーマットでピクセルデータを符号化する。言い換えると、フォーマットは、対象ディスプレイによって表示可能な最小輝度値にマッピングされる最小の出力ピクセル値を有し、対象ディスプレイによって表示可能な最大輝度値にマッピングされる最大の出力ピクセル値を有する。
【0008】
一実施形態では、プロセッサは、対象ディスプレイの有効輝度範囲外の輝度値にマッピングされる1つ以上の出力ピクセル値を有する第1のフォーマットのピクセルデータを受信する。したがって、これらの出力ピクセル値は、有用な情報を伝えることができない。プロセッサは、ピクセルデータを、第1のフォーマットから、対象ディスプレイの有効輝度範囲に適合する第2のフォーマットに変換する。言い換えると、プロセッサは、対象ディスプレイに送信される全ての値が、対象ディスプレイが実際に出力できる値になるように、ピクセル表現曲線をリスケール(rescales)する。次に、復号器は、第2のフォーマットのピクセルデータを復号化し、復号化されたピクセルデータが対象ディスプレイに送られる。
【0009】
図1を参照すると、コンピューティングシステム100の一実施形態のブロック図が示されている。一実施形態では、コンピューティングシステム100は、少なくともプロセッサ105A~105Nと、入力/出力(I/O)インターフェース120と、バス125と、メモリコントローラ(複数可)130と、ネットワークインターフェース135と、メモリデバイス(複数可)140と、ディスプレイコントローラ(150)と、ディスプレイ155と、を含む。他の実施形態では、コンピューティングシステム100は他の構成要素を含み、及び/又は、コンピューティングシステム100は異なる構成とされる。プロセッサ105A~105Nは、システム100に含まれる任意の数のプロセッサを表す。
【0010】
一実施形態では、プロセッサ105Aは、中央処理装置(CPU)等の汎用プロセッサである。一実施形態では、プロセッサ105Nは、高並列アーキテクチャを有するデータ並列プロセッサである。データ並列プロセッサは、グラフィックスプロセッシングユニット(GPU)、デジタルシグナルプロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)等を含む。いくつかの実施形態では、プロセッサ105A~105Nは、複数のデータ並列プロセッサを含む。一実施形態では、プロセッサ105Nは、ディスプレイ155に送られる複数のピクセルをディスプレイコントローラ150に提供するGPUである。
【0011】
メモリコントローラ(複数可)130は、I/Oインターフェース120に接続されたプロセッサ105A~105N及びI/Oデバイス(図示省略)によってアクセス可能な任意の数及びタイプのメモリコントローラを表す。メモリコントローラ(複数可)130は、任意の数及びタイプのメモリデバイス(複数可)140に接続されている。メモリデバイス(複数可)140は、任意の数及びタイプのメモリデバイスを表す。例えば、メモリデバイス(複数可)140内のメモリのタイプには、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、NANDフラッシュメモリ、NORフラッシュメモリ、強誘電体ランダムアクセスメモリ(FeRAM)等が含まれる。
【0012】
I/Oインターフェース120は、任意の数及びタイプのI/Oインターフェース(例えば、PCI(peripheral component interconnect)バス、PCI-X(PCI-Extended)、PCIE(PCI Express)バス、ギガビットイーサネット(登録商標)(GBE)バス、ユニバーサルシリアルバス(USB))を表す。様々な周辺デバイス(図示省略)がI/Oインターフェース120に接続されている。このような周辺機器デバイスは、ディスプレイ、キーボード、マウス、プリンタ、スキャナ、ジョイスティック又は他のタイプのゲームコントローラ、メディア記録デバイス、外部記憶装置、ネットワークインターフェースカード等を含む(がこれらに限定されない)。ネットワークインターフェース135は、ネットワークを介してネットワークメッセージを送受信するために使用される。
【0013】
様々な実施形態では、コンピューティングシステム100は、コンピュータ、ラップトップ、モバイルデバイス、ゲームコンソール、サーバ、ストリーミングデバイス、ウェアラブルデバイス、又は、任意の様々な他のタイプのコンピューティングシステム若しくはコンピューティングデバイスである。コンピューティングシステム100の構成要素の数は、実施形態によって異なることに留意されたい。例えば、他の実施形態では、
図1に示す数よりも多い又は少ない構成要素が存在する。他の実施形態では、コンピューティングシステム100は、
図1に示されていない他の構成要素を含むことに留意されたい。さらに、他の実施形態では、コンピューティングシステム100は、
図1に示されている以外の方法で構成される。
【0014】
図2を参照すると、ネットワークを介して送信されるビデオビットストリームを符号化するシステム200の一実施形態のブロック図が示されている。システム200は、サーバ205と、ネットワーク210と、クライアント215と、ディスプレイ220と、を含む。他の実施形態では、システム200は、ネットワーク210を介してサーバ205に接続される複数のクライアントを含むことができ、複数のクライアントは、サーバ205によって生成された同じビットストリーム又は異なるビットストリームを受信する。また、システム200は、複数のクライアントのために複数のビットストリームを生成する複数のサーバ205を含むことができる。一実施形態では、システム200は、ビデオコンテンツのリアルタイムレンダリング及び符号化を実施するように構成されている。他の実施形態では、システム200は、他のタイプのアプリケーションを実装するように構成されている。一実施形態では、サーバ205は、ビデオ又は画像フレームをレンダリングし、符号化器230は、これらのフレームをビットストリームに符号化する。次に、符号化されたビットストリームは、ネットワーク210を介してクライアント215に伝達される。クライアント215上の復号器240は、符号化されたビットストリームを復号化し、ビデオフレーム又は画像を生成してディスプレイ250に送る。
【0015】
ネットワーク210は、無線接続、直接ローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、ワイドエリアネットワーク(WAN)、イントラネット、インターネット、ケーブルネットワーク、パケット交換網、光ファイバネットワーク、ルータ、ストレージエリアネットワーク、若しくは、他のタイプのネットワークを含む、任意のタイプのネットワーク又はネットワークの組み合わせを表す。LANの例には、イーサネット(登録商標)ネットワーク、FDDI(Fiber Distributed Data Interface)ネットワーク、トークンリングネットワーク等が含まれる。様々な実施形態では、ネットワーク210は、リモートダイレクトメモリアクセス(RDMA)ハードウェア及び/若しくはソフトウェア、伝送制御プロトコル/インターネットプロトコル(TCP/IP)ハードウェア及び/若しくはソフトウェア、ルータ、リピータ、スイッチ、グリッド、並びに/又は、他の構成要素を含む。
【0016】
サーバ205は、ビデオ/画像フレームをレンダリングし、フレームをビットストリームに符号化するためのソフトウェア及び/又はハードウェアの任意の組み合わせを含む。一実施形態では、サーバ205は、1つ以上のサーバの1つ以上のプロセッサ上で実行される1つ以上のソフトウェアアプリケーションを含む。また、サーバ205は、ネットワーク通信機能、1つ以上の入出力デバイス、及び/又は、他の構成要素を含む。サーバ205のプロセッサ(複数可)は、任意の数及びタイプ(例えば、グラフィックスプロセッシングユニット(GPU)、CPU、DSP、FPGA、ASIC)のプロセッサを含む。プロセッサ(複数可)は、プロセッサ(複数可)によって実行可能なプログラム命令を記憶する1つ以上のメモリデバイスに接続されている。同様に、クライアント215は、ビットストリームを復号し、フレームをディスプレイ250に送るためのソフトウェア及び/又はハードウェアの任意の組み合わせを含む。一実施形態において、クライアント215は、1つ以上のコンピューティングデバイスの1つ以上のプロセッサ上で実行される1つ以上のソフトウェアアプリケーションを含む。クライアント215は、コンピューティングデバイス、ゲームコンソール、モバイルデバイス、ストリーミングメディアプレーヤー、又は、他のタイプのデバイスとすることができる。
【0017】
図3を参照すると、コンピューティングシステム300の別の実施形態のブロック図が示されている。一実施形態では、システム300は、GPU305と、システムメモリ325と、ローカルメモリ330と、を含む。また、システム300は、図を曖昧にすることを回避するために図示されていない他の構成要素を含む。GPU305は、少なくとも、コマンドプロセッサ335と、ディスパッチユニット350と、計算ユニット355A~355Nと、メモリコントローラ320と、グローバルデータシェア370と、レベル1(L1)キャッシュ365と、レベル2(L2)キャッシュ360と、を含む。他の実施形態では、GPU305は、他の構成要素を含み、図示された構成要素のうち1つ以上を省略し、
図3に1つのインスタンスのみが示されている場合でも構成要素の複数のインスタンスを有し、及び/又は、他の適切な方法で構成されている。
【0018】
様々な実施形態において、コンピューティングシステム300は、任意の様々なタイプのソフトウェアアプリケーションを実行する。一実施形態では、所定のソフトウェアアプリケーションを実行する一部として、コンピューティングシステム300のホストCPU(図示省略)が、GPU305上で実行されるカーネルを起動する。コマンドプロセッサ335は、ホストCPUからカーネルを受け取り、計算ユニット355A~355Nにディスパッチされるカーネルを、ディスパッチユニット350に発行する。計算ユニット355A~355N上で実行されるカーネル内のスレッドは、GPU305内のグローバルデータシェア370、L1キャッシュ365及びL2キャッシュ360からデータを読み出し、これらにデータを書き込む。
図3には示されていないが、一実施形態では、計算ユニット355A~355Nは、各計算ユニット355A~355N内に1つ以上のキャッシュ及び/又はローカルメモリを含む。
【0019】
図4を参照すると、10ビットのビデオ出力ピクセル値対輝度をプロットするグラフ400の一実施形態の図が示されている。一実施形態では、ビデオソースによって生成された10ビットのビデオ出力ピクセル値は、0nitにマッピングされる最小の出力値と、10000nitにマッピングされる最大の出力値と、を含む。nitの輝度に対してプロットされたこの10ビットビデオ出力ピクセル値がグラフ400に示されている。本明細書では、「出力ピクセル値」が「符号語」とも呼ばれることに留意されたい。
【0020】
多くのディスプレイは、10000nitの最大輝度を生成することができない。例えば、一部のディスプレイは、600nitの最大輝度しか生成することができない。グラフ400に示されている曲線を使用すると、600nitの輝度は10ビットピクセル値713に対応する。これは、最大輝度が600nitのディスプレイの場合、713を超える全ての出力ピクセル値が600nitの輝度出力となるので無駄になることを意味する。別の例では、他のタイプのディスプレイは、1000nitの最大輝度しか生成することができない。ピクセル値768が1000nitの輝度に対応するため、最大輝度出力が1000nitのディスプレイの場合、768を超える全ての出力ピクセル値が無駄になる。
【0021】
図5を参照すると、ガンマ及び知覚量子化(PQ)電気光学伝達関数(EOTF)曲線のグラフ500の一実施形態の図が示されている。グラフ500の実線は、y軸のnitの輝度に対して、10ビットのビデオ出力ピクセル値であるx軸上にプロットされたガンマ2.2曲線を表す。グラフ500の破線はPQ曲線を表し、PQ曲線はST.2084標準とも呼ばれ、0~10,000nitをカバーする。高ダイナミックレンジ(HDR)ディスプレイの場合、ガンマ符号化によって量子化エラーが発生することがよくある。したがって、一実施形態では、PQ EOTF符号化を使用して量子化エラーを低減する。ガンマ2.2曲線と比較すると、PQ曲線は、低輝度範囲において、より多くのレベルでよりゆっくりと増加する。
【0022】
図6を参照すると、ピクセル値を、対象ディスプレイに適合されたフォーマットに再マッピングするためのグラフ600の一実施形態の図が示されている。グラフ600は、ピクセルデータを表示するための符号化に使用可能な3つの異なるPQ曲線を示している。これらの曲線は、10ビットの出力ピクセル値に対して示されている。他の実施形態では、出力ピクセル値の他のビットサイズに対する同様のPQ曲線が利用される。
【0023】
PQ曲線605は、輝度範囲が限られたディスプレイでは表示できない輝度値にマッピングされる無駄な符号語をもたらす典型的なPQ EOTF符号化を示している。PQ曲線605は、(
図5の)グラフ500に示される破線曲線と同じ曲線を示している。最大輝度が1000nitの対象ディスプレイの場合、部分的PQ曲線610を利用して、10ビット出力ピクセル値を輝度値にマッピングする。部分的PQ曲線610の場合、最大10ビット出力ピクセル値1024が、1000nitの輝度にマッピングされる。これにより、出力ピクセル値の全範囲を、対象ディスプレイが実際に生成することができる輝度値にマッピングすることができる。一実施形態では、PQ曲線605を係数10(10000÷1000nit)でスケーリング(scaling)することによって部分的PQ曲線610が生成される。
【0024】
最大輝度が1000nitの対象ディスプレイの場合、部分的PQ曲線610を利用して、10ビット出力ピクセル値を輝度値にマッピングする。部分的PQ曲線610の場合、最大10ビット出力ピクセル値1024は、600nitの輝度にマッピングされる。このマッピングにより、出力ピクセル値の全範囲で、対象ディスプレイが実際に表示可能な輝度値が生成される。一実施形態では、PQ曲線605を係数50/3(1000÷600nit)でスケーリングすることによって部分的PQ曲線615が生成される。他の実施形態では、600又は1000nit以外の他の最大輝度値を有するディスプレイの輝度値に出力ピクセル値をマッピングするために、他の同様のタイプの部分的PQ曲線が生成される。
【0025】
図7を参照すると、輝度範囲が限られたディスプレイのために効果的な電気光学伝達関数を使用する方法700の一実施形態が示されている。説明のために、本実施形態でのステップ及び
図8~
図10のステップを順次示す。しかしながら、記載された方法の様々な実施形態では、記載された要素の1つ以上は、同時に実行され、図示された順序と異なる順序で実行され、又は、完全に省略されることに留意されたい。必要に応じて、他の追加の要素も実行される。本明細書に記載される様々なシステム又は装置の何れも、方法700を実施するように構成されている。
【0026】
プロセッサは、表示用のピクセルデータを生成する要求を検出する(ブロック705)。実施形態に応じて、ピクセルデータは、表示される画像の一部であるか、表示されるビデオシーケンスのビデオフレームの一部である。また、プロセッサは、対象ディスプレイの有効輝度範囲を決定する(ブロック710)。一実施形態では、プロセッサは、対象ディスプレイの有効輝度範囲の指標を受信する。他の実施形態では、プロセッサは、他の適切な技術を使用して、対象ディスプレイの有効輝度範囲を決定する。一実施形態では、対象ディスプレイの有効輝度範囲は、対象ディスプレイによって生成可能な最小輝度及び最大輝度を示す値のペアとして特定される。
【0027】
次に、プロセッサは、電気光学伝達関数(EOTF)を用いてピクセルデータを符号化して、対象ディスプレイの有効輝度範囲に適合させる(ブロック715)。一実施形態では、対象ディスプレイの有効輝度範囲に適合するようにピクセルデータを符号化することは、最小出力ピクセル値(例えば、0)を対象ディスプレイの最小輝度値にマッピングし、最大出力ピクセル値(例えば、10ビットフォーマットで0x3FF)を対象ディスプレイの最大輝度値にマッピングすることを含む。次に、最小値と最大値との間の出力ピクセル値は、任意の適切な知覚量子化伝達関数又は他のタイプの伝達関数を使用して、その間でスケーリングされる。知覚量子化伝達関数は、出力ピクセル値を、最小出力ピクセル値と最大出力ピクセル値との間に分布させて、人間の目の知覚に対して最適化する。一実施形態では、プロセッサは、スケーリングされたPQ EOTFを使用して、ピクセルデータを最小値と最大値との間で符号化する。方法700は、ブロック715の後に終了する。
【0028】
図8を参照すると、ピクセルデータのフォーマット変換を実行する方法800の一実施形態が示されている。プロセッサは、表示用のピクセルデータを生成する要求を検出する(ブロック805)。プロセッサは、対象ディスプレイの有効輝度範囲の指標を受信する(ブロック810)。次に、プロセッサは、対象ディスプレイの有効輝度範囲と適合しない第1のフォーマットで符号化されたピクセルデータを受信する(ブロック815)。言い換えると、第1のフォーマットの符号語範囲の一部は、対象ディスプレイの有効輝度範囲外の輝度値にマッピングされる。一実施形態では、第1のフォーマットは、ガンマ2.2曲線に基づいている。他の実施形態では、第1のフォーマットは、他の様々なタイプのフォーマットである。
【0029】
次に、プロセッサは、受信したピクセルデータを、第1のフォーマットから、対象ディスプレイの有効輝度範囲に適合する第2のフォーマットに変換する(ブロック820)。一実施形態では、第2のフォーマットは、第1のフォーマットと同じ又はそれ以下のピクセル当たりのビット数の構成要素値を使用する。対象ディスプレイの有効輝度範囲を適合させることにより、第2のフォーマットは、ピクセルデータのより帯域幅効率の高い符号化である。一実施形態では、第2のフォーマットは、スケーリングされたPQ EOTFに基づいている。他の実施形態では、第2のフォーマットは、他の様々なタイプのフォーマットである。次に、第2のフォーマットで符号化されたピクセルデータが対象ディスプレイに送られる(ブロック825)。方法800は、ブロック825の後に終了する。或いは、第2のフォーマットのピクセルデータは、対象ディスプレイに送られるのではなく、ブロック820の後に、別のユニットに記憶されるか送信される。
【0030】
図9を参照すると、ピクセルデータを処理する方法900の一実施形態が示されている。プロセッサは、表示用のピクセルデータを符号化する要求を検出する(ブロック905)。次に、プロセッサは、第1のフォーマットのピクセルデータを受信する(ブロック910)。或いは、ブロック910において、プロセッサは、第1のフォーマットのピクセルデータをメモリから取得する。プロセッサは、対象ディスプレイの有効輝度範囲の指標を受信する(ブロック915)。プロセッサは、ピクセルデータを分析して、第1のフォーマットが対象ディスプレイの有効輝度範囲と適合するかどうかを判別する(条件付きブロック920)。言い換えれば、条件付きブロック920において、プロセッサは、第1のフォーマットが、出力値範囲のかなりの部分において、対象ディスプレイの有効輝度範囲外の輝度値にマッピングされるかどうかを判別する。一実施形態では、「かなりの部分」は、プログラム可能な閾値よりも大きい部分として定義される。
【0031】
第1のフォーマットが対象ディスプレイの有効輝度範囲と適合する場合(条件付きブロック920:「はい」)、プロセッサは、ピクセルデータを第1のフォーマットで保持する(ブロック925)。方法900は、ブロック925の後に終了する。そうではなく、第1のフォーマットが対象ディスプレイの有効輝度範囲と適合しない場合(条件付きブロック920:「いいえ」)、プロセッサは、受信したピクセルデータを、第1のフォーマットから、対象ディスプレイの有効輝度範囲と適合する第2のフォーマットに変換する(ブロック930)。方法900は、ブロック930の後に終了する。
【0032】
図10を参照すると、ピクセルデータを符号化するための伝達関数を選択する方法1000の一実施形態が示されている。プロセッサは、表示用のピクセルデータを符号化する要求を検出する(ブロック1005)。要求の検出に応じて、プロセッサは、複数の伝達関数のうち、ピクセルデータを符号化するために選択する伝達関数を決定する(ブロック1010)。次に、プロセッサは、対象ディスプレイの有効輝度範囲に適合する第1の伝達関数を用いてピクセルデータを符号化する(ブロック1015)。一実施形態では、第1の伝達関数は、第2の伝達関数のスケーリングされたバージョンである。例えば、一実施形態では、第1の伝達関数は、符号語を第1の有効輝度範囲(0~600nit)にマッピングし、第2の伝達関数は、符号語を第2の有効輝度範囲(0~10,000nit)にマッピングする。次に、プロセッサは、第1の伝達関数で符号化されたピクセルデータをディスプレイコントローラに提供して、対象ディスプレイに送る(ブロック1020)。方法1000は、ブロック1020の後に終了する。
【0033】
図11を参照すると、コンピューティングシステム1100の一実施形態のブロック図が示されている。一実施形態では、コンピューティングシステム1100は、ディスプレイデバイス1120に接続された符号化器1110を含む。実施形態に応じて、符号化器1110は、ディスプレイデバイス1120に直接接続されるか、1つ以上のネットワーク及び/又はデバイスを介してディスプレイデバイス1120に接続される。一実施形態では、復号器1130は、ディスプレイデバイス1120内に統合されている。様々な実装形態では、符号化器1110は、ビデオストリームを符号化し、ビデオストリームをディスプレイデバイス1120に伝達する。復号器1130は、符号化されたビデオストリームを受信し、ディスプレイデバイス1120に表示可能なフォーマットに復号化する。
【0034】
一実施形態では、符号化器1110は、GPUを備えたコンピュータに実装され、コンピュータは、ディスプレイポート(DisplayPort)又は高解像度マルチメディアインターフェース(HDMI(登録商標))等のインターフェースを介してディスプレイデバイス1120に直接接続される。この実施形態では、符号化器1110からディスプレイデバイス1120に送信されるビデオストリームの帯域幅制限は、ディスプレイポート又はHDMI(登録商標)ケーブルの最大ビットレートになる。ビデオストリームが低ビット深度を使用して符号化される、帯域幅が制限されたシナリオでは、本開示全体を通して説明する符号化技術が有利になり得る。
【0035】
様々な実施形態では、本明細書で説明した方法及び/又はメカニズムを実施するために、ソフトウェアアプリケーションのプログラム命令が使用される。例えば、汎用プロセッサ又は専用プロセッサによって実行可能なプログラム命令が考えられる。様々な実施形態では、このようなプログラム命令は、高水準プログラミング言語によって表されている。他の実施形態では、プログラム命令は、高水準プログラミング言語からバイナリ形式、中間形式、又は、他の形式にコンパイルされる。或いは、ハードウェアの動作及び設計を記述するプログラム命令が記述される。このようなプログラム命令は、C言語等の高水準プログラミング言語で表される。或いは、Verilog等のハードウェア設計言語(HDL)が用いられる。様々な実施形態では、プログラム命令は、様々な非一時的なコンピュータ可読記憶媒体に記憶される。記憶媒体は、使用中にコンピューティングシステムによってアクセスされ、プログラムを実行するためにコンピューティングシステムにプログラム命令を提供する。一般的に、このようなコンピューティングシステムは、少なくとも1つ以上のメモリと、プログラム命令を実行するように構成された1つ以上のプロセッサと、を含む。
【0036】
上述した実施形態は、実施形態の非限定的な例に過ぎないことを強調しておきたい。上記の開示が十分に理解されれば、多くの変形及び修正が当業者に明らかになるであろう。以下の特許請求の範囲は、このような変形及び修正の全てを包含するように解釈されることが意図される。