IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

特表2024-543288低ダイナミックレンジと互換性を有する高ダイナミックレンジ画像フォーマット
<>
  • 特表-低ダイナミックレンジと互換性を有する高ダイナミックレンジ画像フォーマット 図1
  • 特表-低ダイナミックレンジと互換性を有する高ダイナミックレンジ画像フォーマット 図2
  • 特表-低ダイナミックレンジと互換性を有する高ダイナミックレンジ画像フォーマット 図3
  • 特表-低ダイナミックレンジと互換性を有する高ダイナミックレンジ画像フォーマット 図4
  • 特表-低ダイナミックレンジと互換性を有する高ダイナミックレンジ画像フォーマット 図5
  • 特表-低ダイナミックレンジと互換性を有する高ダイナミックレンジ画像フォーマット 図6
  • 特表-低ダイナミックレンジと互換性を有する高ダイナミックレンジ画像フォーマット 図7
  • 特表-低ダイナミックレンジと互換性を有する高ダイナミックレンジ画像フォーマット 図8
  • 特表-低ダイナミックレンジと互換性を有する高ダイナミックレンジ画像フォーマット 図9
  • 特表-低ダイナミックレンジと互換性を有する高ダイナミックレンジ画像フォーマット 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-21
(54)【発明の名称】低ダイナミックレンジと互換性を有する高ダイナミックレンジ画像フォーマット
(51)【国際特許分類】
   G06T 5/92 20240101AFI20241114BHJP
   G06T 5/50 20060101ALI20241114BHJP
【FI】
G06T5/92
G06T5/50
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023576390
(86)(22)【出願日】2023-05-31
(85)【翻訳文提出日】2023-12-12
(86)【国際出願番号】 US2023023998
(87)【国際公開番号】W WO2024096931
(87)【国際公開日】2024-05-10
(31)【優先権主張番号】63/421,155
(32)【優先日】2022-10-31
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/439,271
(32)【優先日】2023-01-16
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ディーキン,ニコラス
(72)【発明者】
【氏名】アルハッセン,フェアーズ
(72)【発明者】
【氏名】スティーブンス,アブラハム・ジェイ
(72)【発明者】
【氏名】ガイス,ライアン
(72)【発明者】
【氏名】ムルティー,キラン・クマール
(72)【発明者】
【氏名】ピーブ,エミリアン
【テーマコード(参考)】
5B057
【Fターム(参考)】
5B057BA02
5B057CA01
5B057CA08
5B057CA12
5B057CA16
5B057CB01
5B057CB08
5B057CB12
5B057CB16
5B057CC01
5B057CE11
5B057CG07
(57)【要約】
実装形態は、低ダイナミックレンジ互換性を有するHDR画像フォーマットの提供に関する。いくつかの実装形態では、コンピュータが実行する方法は、第1のダイナミックレンジを有してシーンを描写する第1の画像の取得と、第1のダイナミックレンジと異なる第2のダイナミックレンジを有してシーンを描写する第2の画像の取得と、第1の画像および第2の画像に基づいた回復マップの生成とを含む。回復マップは、第1の画像と第2の画像との対応する部分の間の輝度の差を符号化するものであり、この差は、第2の画像の最高輝度と第1の画像の最高輝度との比を含むレンジスケーリング係数によりスケーリングされる。第1の画像および回復マップは画像コンテナに供給され、画像コンテナは派生画像の表示のために読取可能であり、派生画像は、第1の画像に回復マップを適用することに基づき、第1のダイナミックレンジと異なるダイナミックレンジを有する。
【特許請求の範囲】
【請求項1】
コンピュータが実行する方法であって、
第1のダイナミックレンジを有して特定のシーンを描写する第1の画像を取得するステップと、
前記第1のダイナミックレンジと異なる第2のダイナミックレンジを有して特定のシーンを描写する第2の画像を取得するステップと、
前記第1の画像および前記第2の画像に基づいて、回復マップを生成するステップとを含み、前記回復マップは、前記第1の画像の一部と前記第2の画像の対応する部分との間の輝度の差を符号化し、前記差は、前記第2の画像の最高輝度と前記第1の画像の最高輝度との比を含むレンジスケーリング係数によってスケーリングされ、
前記方法は、
画像コンテナに前記第1の画像および前記回復マップを供給するステップを含み、前記画像コンテナは、前記第1の画像に前記回復マップを適用することに基づいて派生画像を表示するために、読取り可能であり、前記派生画像は、前記第1のダイナミックレンジと異なるダイナミックレンジを有する、
方法。
【請求項2】
前記第2のダイナミックレンジは前記第1のダイナミックレンジよりも大きく、前記派生画像のダイナミックレンジは前記第1のダイナミックレンジよりも大きい、請求項1に記載の方法。
【請求項3】
前記画像コンテナは、
前記第1のダイナミックレンジを表示することができる第1の表示装置によって前記第1の画像を表示して、
前記第1のダイナミックレンジよりも大きなダイナミックレンジを表示することができる第2の表示装置によって前記派生画像を表示する
ように読取り可能である、請求項2に記載の方法。
【請求項4】
前記第1の画像を取得するステップは、前記第2の画像に対するレンジ圧縮を実行するステップを含む、請求項2に記載の方法。
【請求項5】
前記回復マップを生成するステップは、前記第1の画像の個別の画素の輝度に輝度利得を適用することが、前記第2の画像に対応する画素をもたらすように、輝度利得を符号化するステップを含む、請求項1に記載の方法。
【請求項6】
前記回復マップを生成するステップは、対数空間において前記輝度利得を符号化するステップを含み、回復マップ値は、前記輝度の対数の差を前記レンジスケーリング係数の対数で割った値に比例する、請求項5に記載の方法。
【請求項7】
前記回復マップを生成するステップは、次式に基づくものであり、
recovery(x,y)=log(pixel_gain(x,y))/log(range_scaling_factor)
recovery(x,y)は、前記第2の画像の画素位置(x,y)の前記回復マップであって、pixel_gain(x,y)は、位置(x,y)における前記第2の画像の輝度と前記第1の画像の輝度との比である、
請求項5に記載の方法。
【請求項8】
前記回復マップを生成するステップは、前記回復マップを双方向グリッドへと符号化するステップを含み、前記符号化するステップは、グリッドセルの3次元データ構造を決定するステップを含み、各グリッドセルは、前記第1の画像の複数の画素にマッピングされるベクトル要素である、請求項1に記載の方法。
【請求項9】
前記回復マップを回復画像に符号化するステップをさらに含み、前記画像コンテナに前記回復マップを供給するステップは、前記画像コンテナに前記回復画像を供給するステップを含み、前記回復マップを前記回復画像に符号化するステップは、前記レンジスケーリング係数を前記回復画像へとメタデータとして符号化するステップを含む、請求項1に記載の方法。
【請求項10】
前記回復画像は前記第1の画像の縦横比と同一の縦横比を有する、請求項9に記載の方法。
【請求項11】
前記画像コンテナを取得するステップと、
表示装置によって前記第2の画像を表示するように決定するステップと、
前記派生画像を取得するために、前記表示装置の特定の輝度出力および前記回復マップに基づき、前記画像コンテナにおける前記第1の画像の複数の画素輝度をスケーリングするステップと、
前記スケーリングするステップの後に、前記表示装置が、前記派生画像を、前記第1の画像とは異なるダイナミックレンジを有する出力画像として表示するステップと
をさらに含む、請求項1に記載の方法。
【請求項12】
前記表示装置の最高輝度表示能力を判定するステップをさらに含み、前記複数の画素輝度をスケーリングするステップは、前記第1の画像における高輝部の輝度を、前記最高輝度表示能力以下の輝度レベルまで増加するステップを含む、請求項11に記載の方法。
【請求項13】
前記第2のダイナミックレンジは前記第1のダイナミックレンジよりも小さく、前記派生画像のダイナミックレンジは前記第1のダイナミックレンジよりも小さい、請求項1に記載の方法。
【請求項14】
前記第2の画像を取得するステップは、前記第1の画像に対するレンジ圧縮を実行するステップを含む、請求項13に記載の方法。
【請求項15】
前記画像コンテナは、
前記第1のダイナミックレンジを表示することができる第1の表示装置によって前記第1の画像を表示し、
前記第1のダイナミックレンジよりも小さいダイナミックレンジしか表示できない第2の表示装置によって前記派生画像を表示する
ように読取り可能である、請求項13に記載の方法。
【請求項16】
画像コンテナを取得するステップを含む、コンピュータが実行する方法であって、
前記画像コンテナは、
第1のダイナミックレンジを有する第1の画像、および
第2の画像の最高輝度と前記第1の画像の最高輝度との比を含むレンジスケーリング係数によってスケーリングされる前記第1の画像の画素の輝度利得を符号化する回復マップを有し、前記第2の画像は、描写される主題の前記第1の画像に対応し、かつ、前記第1のダイナミックレンジと異なる第2のダイナミックレンジを有し、
前記方法は、
前記第1の画像または前記第1のダイナミックレンジとは異なるダイナミックレンジを有する派生画像のうち1つを表示するべきかどうかを判定するステップと、
前記第1の画像を表示すると判定することに応答して、
表示装置によって前記第1の画像が表示されるようにするステップと、
前記派生画像を表示すると判定することに応答して、
前記第1の画像の画素の輝度に前記回復マップの前記輝度利得を適用して、前記派生画像のそれぞれの対応する画素値を決定するステップと、
前記表示装置によって前記派生画像が表示されるようにするステップと
を含む、方法。
【請求項17】
前記第2のダイナミックレンジは前記第1のダイナミックレンジよりも大きく、前記派生画像のダイナミックレンジは前記第1のダイナミックレンジよりも大きい、請求項16に記載の方法。
【請求項18】
前記表示装置の最高輝度表示能力を判定するステップをさらに含み、前記表示装置は前記第1のダイナミックレンジ以下の表示ダイナミックレンジしか表示できないと判定することに応答して、前記第1の画像を表示すると決定する、請求項17に記載の方法。
【請求項19】
前記表示装置の最高輝度表示能力を判定するステップをさらに含み、前記表示装置は前記第1のダイナミックレンジよりも大きな表示ダイナミックレンジを表示できると判定することに応答して、前記派生画像を表示すると決定する、請求項17に記載の方法。
【請求項20】
前記表示装置は、前記第1のダイナミックレンジよりも大きな表示ダイナミックレンジを表示することができ、前記回復マップの前記輝度利得を適用するステップは、前記派生画像の前記画素値の前記輝度を表示装置の表示ダイナミックレンジに適合させるステップを含む、請求項17に記載の方法。
【請求項21】
前記派生画像の前記ダイナミックレンジの最大値は、前記表示装置の最高輝度および前記第2の画像のダイナミックレンジの最高輝度より低い、請求項17に記載の方法。
【請求項22】
前記第1の画像の前記画素の前記輝度に前記回復マップの前記輝度利得を適用するステップは、
前記表示装置の特定の輝度出力および前記回復マップに基づいて前記第1の画像の前記輝度をスケーリングするステップを含む、請求項17に記載の方法。
【請求項23】
前記第1の画像の前記輝度の前記スケーリングは次式に基づいて実行され、
derived_image(x,y)=first_image(x,y)+log(display_factor)*recovery(x,y)
derived_image(x,y)は前記派生画像の対数空間バージョンであり、
first_image(x,y)は、前記画像コンテナから回復される第1の画像の対数空間バージョンであり、display_factorは、前記レンジスケーリング係数と前記表示装置の最高の表示輝度とのうち小さい方であり、recovery(x,y)は前記第1の画像の画素位置(x,y)の回復マップであり、前記レンジスケーリング係数は、前記第2の画像の最高輝度と前記第1の画像の最高輝度との比である、
請求項17に記載の方法。
【請求項24】
前記派生画像を表示すると決定することに応答して、前記画像コンテナから前記レンジスケーリング係数を復号するステップをさらに含む、請求項16に記載の方法。
【請求項25】
前記画像コンテナに含まれる回復画像から前記回復マップを復号するステップをさらに含む、請求項16に記載の方法。
【請求項26】
前記画像コンテナに記憶されている双方向グリッドから前記回復マップを抽出するステップをさらに含む、請求項16に記載の方法。
【請求項27】
サーバ装置が、クライアント装置に含まれているかまたは結合されている表示装置の表示ダイナミックレンジに基づいて、前記第1の画像または前記派生画像のうち1つを表示するべきかどうかを判定し、
前記表示装置が前記第1の画像を表示するステップは、前記クライアント装置が前記第1の画像を表示するように、前記サーバ装置から前記クライアント装置に前記第1の画像を送るステップを含み、
前記表示装置が前記派生画像を表示するステップは、前記クライアント装置が前記派生画像を表示するように、前記サーバ装置から前記クライアント装置に前記派生画像を送るステップを含む、
請求項16に記載の方法。
【請求項28】
前記表示装置が前記派生画像を表示するステップは、前記派生画像を表示させる装置のシステム設定に基づいて、前記表示される派生画像の最大輝度レベルを下げるステップを含み、前記システム設定はユーザが選択する、請求項16に記載の方法。
【請求項29】
前記表示装置が前記派生画像を表示するステップは、
前記輝度利得を適用することによって、前記派生画像の前記画素値用に判定された第2の最大輝度レベル未満になった第1の最大輝度レベルで、前記派生画像を表示するステップと、
前記派生画像の前記第1の最大輝度レベルを、前記第2の最大輝度レベルまで、特定の期間にわたって漸進的に増加するステップとを含む、
請求項16に記載の方法。
【請求項30】
プロセッサと、
命令を記憶して前記プロセッサに結合されているメモリとを備えるシステムであって、前記プロセッサが、前記命令を実行することにより、
第1のダイナミックレンジを有する第1の画像、および
前記第1の画像の画素の輝度利得を符号化する回復マップ
を含む画像コンテナを取得するステップと、
表示装置に派生画像を表示することを決定するステップとを含む動作を実施し、
前記派生画像は、描写される主題の前記第1の画像に対応し、かつ、前記第1のダイナミックレンジと異なるダイナミックレンジを有し、
前記動作は、
前記表示装置に前記派生画像を表示すると決定することに応答して、
前記第1の画像の画素の輝度に前記回復マップの前記輝度利得を適用して、前記派生画像のそれぞれの対応する画素値を決定するステップを含み、前記輝度利得を適用することは、前記表示装置の特定の輝度出力および前記回復マップに基づいて前記第1の画像の前記輝度をスケーリングすることを含み、
前記表示装置によって前記派生画像が表示されるようにするステップを含む、
システム。
【請求項31】
前記派生画像の前記ダイナミックレンジは前記第1のダイナミックレンジよりも大きく、前記命令は、前記プロセッサに、
前記表示装置の最高輝度表示能力を判定するステップを含む動作をさらに実施させ、
前記表示装置は第1のダイナミックレンジよりも大きな表示ダイナミックレンジを表示できると判定することに応答して、前記派生画像を表示すると決定する、
請求項30に記載のシステム。
【請求項32】
前記派生画像の前記ダイナミックレンジの最大値は、
前記表示装置の最高輝度と、
前記回復マップの生成に使用される元の画像のダイナミックレンジの最高輝度とのうち小さい方である、
請求項31に記載のシステム。
【請求項33】
前記回復マップは、第2の画像の最高輝度と前記第1の画像の最高輝度との比を含むレンジスケーリング係数によってスケーリングされる前記第1の画像の前記画素の前記輝度利得を符号化し、前記第2の画像は、描写される主題の前記第1の画像に対応し、かつ、前記第1のダイナミックレンジと異なる第2のダイナミックレンジを有する、請求項30に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
この出願は、2022年10月31日出願のHIGH DYNAMIC RANGE IMAGE FORMAT WITH LOW DYNAMIC RANGE COMPATIBILITYという名称の米国特許仮出願第63/421,155号、および2023年1月16日出願のHIGH DYNAMIC RANGE IMAGE AND VIDEO FORMATS WITH LOW DYNAMIC RANGE COMPATIBILITYという名称の米国特許仮出願第63/439,271号の優先権を主張するものであり、両出願の内容の全体が、参照によって本明細書に組み込まれる。
【背景技術】
【0002】
背景
スマートフォンまたは他のデジタルカメラ装置などの装置のユーザは、画像ライブラリに多数の写真を取り込んで記憶する。いくつかのカメラは、他の多くの(たとえば旧式の)カメラが取り込んだ低ダイナミックレンジ(LDR)画像よりも大きなダイナミックレンジおよびより現実味のある画像品位を提示する高ダイナミックレンジ(HDR)画像を取り込むことができる。HDR画像を見るのなら、HDR画像のフルダイナミックレンジを表示することができる表示装置が最善である。
【0003】
本明細書で提供される、発明の背景の説明は、本開示の状況を全体的に提示するためのものである。この発明の背景の節に記述されている範囲における本発明者の成果、ならびに出願時点において従来技術として適格ではない記述の態様は、明示的にも暗示的にも本開示に対する従来技術とは認められない。
【発明の概要】
【0004】
概要
本明細書で説明される実装形態は、低ダイナミックレンジとの互換性を有するHDR画像フォーマットを提供するための方法、装置、およびコンピュータ可読媒体に関する。いくつかの実装形態では、コンピュータが実行する方法は、第1のダイナミックレンジを有して特定のシーンを描写する第1の画像を取得するステップと、第1のダイナミックレンジと異なる第2のダイナミックレンジを有して特定のシーンを描写する第2の画像を取得するステップと、第1の画像および第2の画像に基づいて、回復マップを生成するステップとを含む。回復マップは、第1の画像の一部と第2の画像の対応する部分との間の輝度の差を符号化し、差は、第2の画像の最高輝度と第1の画像の最高輝度との比を含むレンジスケーリング係数によってスケーリングされる。第1の画像および回復マップは、第1の画像に回復マップを適用することに基づいて派生画像を表示するために読取り可能な画像コンテナに供給され、派生画像は、第1のダイナミックレンジと異なるダイナミックレンジを有する。
【0005】
方法の様々な実装形態が説明される。いくつかの実装形態では、第2のダイナミックレンジは第1のダイナミックレンジよりも大きく、派生画像のダイナミックレンジは第1のダイナミックレンジよりも大きい。いくつかの実装形態では、画像コンテナは、第1のダイナミックレンジを表示することができる第1の表示装置によって第1の画像を表示し、また、派生画像を、第1のダイナミックレンジよりも大きなダイナミックレンジを表示することができる第2の表示装置によって表示するように読取り可能である。いくつかの実装形態では、第1の画像を取得するステップは、第2の画像に対するレンジ圧縮を実行するステップを含む。いくつかの実装形態では、回復マップを生成するステップは、第1の画像の個別の画素の輝度に輝度利得を適用することが、第2の画像に対応する画素をもたらすように、輝度利得を符号化するステップを含む。いくつかの実装形態では、回復マップを生成するステップは、輝度利得を対数空間において符号化するステップを含み得、回復マップ値は、輝度の対数の差をレンジスケーリング係数の対数で割った値に比例する。いくつかの実装形態では、回復マップを生成するステップは、recovery(x,y)=log(pixel_gain(x,y))/log(range_scaling_factor)という式に基づき、ここで、recovery(x,y)は、第2の画像の画素位置(x,y)の回復マップであり、pixel_gain(x,y)は、位置(x,y)における第2の画像の輝度と第1の画像の輝度との比である。
【0006】
方法のいくつかの実装形態では、回復マップを生成するステップは、回復マップを双方向グリッドへと符号化するステップを含み、これは、いくつかの例において、グリッドセルの3次元データ構造を決定するステップを含み、各グリッドセルは、第1の画像の複数の画素にマッピングされるベクトル要素である。いくつかの実装形態では、方法は、回復マップを、画像コンテナに供給される回復画像へと符号化するステップをさらに含む。いくつかの実装形態では、レンジスケーリング係数は、メタデータとして回復画像へと符号化される。いくつかの実装形態では、回復画像は第1の画像の縦横比と同一の縦横比を有する。
【0007】
いくつかの実装形態では、方法は、画像コンテナを取得するステップと、表示装置によって第2の画像を表示するように決定するステップと、派生画像を取得するために、表示装置の特定の輝度出力および回復マップに基づいて、画像コンテナにおける第1の画像の複数の画素輝度をスケーリングするステップと、スケーリングするステップの後に、派生画像を、第1の画像よりも大きなダイナミックレンジを有する出力画像として表示装置が表示するステップとをさらに含む。いくつかの実装形態では、方法は、表示装置の最高輝度表示能力を判定するステップを含み、画素輝度のスケーリングは、第1の画像における高輝部の輝度を、最高輝度表示能力以下の輝度レベルまで増加するステップを含む。いくつかの実装形態では、派生画像の輝度は、第2の画像の最高輝度まで増加される。いくつかの実装形態では、複数の画素輝度をスケーリングするステップは、第1の画像における暗部のレンジを、表示装置が表示可能なレベルまで増加するステップを含む。
【0008】
方法のいくつかの実装形態では、第2のダイナミックレンジは第1のダイナミックレンジよりも小さく、派生画像のダイナミックレンジは第1のダイナミックレンジよりも小さい。いくつかの実装形態では、第2の画像を取得するステップは、第1の画像に対するレンジ圧縮を実行するステップを含む。いくつかの実装形態では、画像コンテナは、第1のダイナミックレンジを表示することができる第1の表示装置によって第1の画像を表示し、また、派生画像を、第1のダイナミックレンジよりも小さいダイナミックレンジしか表示できない第2の表示装置によって表示するように読取り可能である。
【0009】
いくつかの実装形態では、コンピュータが実行する方法は、第1のダイナミックレンジを有する第1の画像と回復マップとを含む画像コンテナを取得するステップを含む。回復マップは、第2の画像の最高輝度と第1の画像の最高輝度との比を含むレンジスケーリング係数によってスケーリングされる第1の画像の画素の輝度利得を符号化する。第2の画像は、第1のダイナミックレンジと異なる第2のダイナミックレンジを有し、描写される主題の第1の画像に対応する。方法は、第1の画像または第1のダイナミックレンジよりも大きなダイナミックレンジを有する派生画像のうち1つを表示するべきかどうかを判定する。第1の画像を表示すると判定することに応答して、第1の画像が表示装置に表示される。派生画像を表示すると判定することに応答して、第1の画像の画素の輝度に回復マップの輝度利得が適用されて派生画像のそれぞれの対応する画素値が決定され、派生画像は表示装置に表示される。
【0010】
方法の様々な実装形態が説明される。いくつかの実装形態では、第2のダイナミックレンジは第1のダイナミックレンジよりも大きく、派生画像のダイナミックレンジは第1のダイナミックレンジよりも大きい。いくつかの実装形態では、方法は、表示装置の最高輝度表示能力を判定するステップを含む。いくつかの実装形態では、表示装置は第1のダイナミックレンジ以下の表示ダイナミックレンジしか表示できないと判定することに応答して、第1の画像を表示すると決定する。いくつかの実装形態では、表示装置は第1のダイナミックレンジよりも大きな表示ダイナミックレンジを表示できると判定することに応答して、派生画像を表示すると決定する。いくつかの実装形態では、表示装置は、第1のダイナミックレンジよりも大きな表示ダイナミックレンジを表示することができ、回復マップの利得を適用するステップは、派生画像の画素値の輝度を表示装置の表示ダイナミックレンジに適合させるステップを含む。
【0011】
いくつかの実装形態では、表示装置は、第1のダイナミックレンジよりも大きな表示ダイナミックレンジを表示することができ、回復マップの利得を適用するステップは、派生画像の画素値の輝度を表示装置の表示ダイナミックレンジに適合させるステップを含む。いくつかの実装形態では、派生画像のダイナミックレンジの最大値は、表示装置の最高輝度や第2の画像のダイナミックレンジの最高輝度より低い。
【0012】
いくつかの実装形態では、回復マップの利得を適用するステップは、表示装置の特定の輝度出力および回復マップに基づいて、第1の画像の輝度をスケーリングするステップを含む。いくつかの実装形態では、第1の画像の輝度をスケーリングするステップは次式に基づいて実行され、derived_image(x,y)=first_image(x,y)+log(display_factor)*recovery(x,y)ここで、derived_image(x,y)は派生画像の対数空間バージョンであり、first_image(x,y)は、画像コンテナから回復される第1の画像の対数空間バージョンであり、display_factorは、レンジスケーリング係数と表示装置の最高の(または所望の)表示輝度とのうち小さい方であり、recovery(x,y)は第1の画像の画素位置(x,y)の回復マップであって、レンジスケーリング係数は、第2の画像の最高輝度と第1の画像の最高輝度との比である。
【0013】
いくつかの実装形態では、方法は、派生画像を表示すると決定することに応答して、画像コンテナからレンジスケーリング係数を復号するステップをさらに含む。いくつかの実装形態では、方法は、画像コンテナに含まれている回復画像から回復マップを復号するステップをさらに含む。いくつかの実装形態では、方法は、画像コンテナに記憶されている双方向グリッドから回復マップを抽出するステップをさらに含む。
【0014】
いくつかの実装形態では、クライアント装置に含まれているかまたはクライアント装置に結合されている表示装置の表示ダイナミックレンジに基づいて、第1の画像または派生画像のうち1つを表示するべきかどうかを判定するステップが、サーバ装置によって実行され、表示装置が第1の画像を表示するステップは、クライアント装置が第1の画像を表示するように、サーバ装置からクライアント装置に第1の画像を送るステップを含み、表示装置が派生画像を表示するステップは、クライアント装置が派生画像を表示するように、サーバ装置からクライアント装置に派生画像を送るステップを含む。
【0015】
いくつかの実装形態では、表示装置が派生画像を表示するステップは、派生画像を表示させる装置のシステム設定に基づいて、表示される派生画像の最大輝度レベルを下げるステップを含み、システム設定はユーザが選択する。いくつかの実装形態では、表示装置が派生画像を表示するステップは、輝度利得を適用することによって、派生画像の画素値用に判定された第2の最大輝度レベル未満になった第1の最大輝度レベルで、派生画像を表示するステップと、派生画像の第1の最大輝度レベルを、第2の最大輝度レベルまで、特定の期間にわたって漸進的に増加するステップとを含む。
【0016】
いくつかの実装形態では、システムは、プロセッサと、命令を記憶してプロセッサに結合されているメモリとを含み、プロセッサは、命令を実行することにより、第1のダイナミックレンジを有する第1の画像と、第1の画像の画素の輝度利得を符号化する回復マップとを含む、画像コンテナを取得するステップを含む動作を実行する。方法は、描写される主題の第1の画像に対応し、第1のダイナミックレンジと異なるダイナミックレンジを有する派生画像を、表示装置に表示すると決定する。表示装置に派生画像を表示すると決定することに応答して、第1の画像の画素の輝度に回復マップの利得が適用されて派生画像のそれぞれの対応する画素値が決定され、第1の画像の輝度は、表示装置の特定の輝度出力および回復マップに基づいてスケーリングされる。派生画像は表示装置に表示される。
【0017】
システムの様々な実装形態が説明される。いくつかの実装形態では、派生画像のダイナミックレンジは第1のダイナミックレンジよりも大きく、プロセッサは、命令によって、表示装置の最高輝度表示能力を判定するステップをさらに含む動作を実行し、表示装置は第1のダイナミックレンジよりも大きな表示ダイナミックレンジを表示できると判定することに応答して、派生画像を表示すると決定する。いくつかの実装形態では、派生画像のダイナミックレンジの最大値は、表示装置の最高輝度と回復マップ生成に使用される元の画像のダイナミックレンジの最高輝度とのうち小さい方である。いくつかの実装形態では、回復マップは、第2の画像の最高輝度と第1の画像の最高輝度との比を含むレンジスケーリング係数によってスケーリングされる第1の画像の画素の輝度利得を符号化し、第2の画像は、第1のダイナミックレンジよりも大きな第2のダイナミックレンジを有し、描写される主題の第1の画像に対応する。いくつかの実装形態では、プロセッサは、画像コンテナに記憶されている双方向グリッドから回復マップを抽出するステップを含む動作をさらに実行する。いくつかの実装形態では、システムは、上記で説明された方法の動作および/または機能のうち1つまたは複数を含む。
【0018】
いくつかの実装形態は、プロセッサと、プロセッサに結合されているメモリとを含む、コンピューティングデバイスを含み得る。メモリは命令を記憶しており、プロセッサは、命令を実行することにより、上記で説明されている方法の動作および/または機能のうち1つまたは複数を含む動作を実行する。
【0019】
いくつかの実装形態は、命令を記憶している非一時的コンピュータ可読媒体を含み、プロセッサは、命令を実行することにより、上記で説明されている方法、システム、および/またはコンピューティングデバイスの動作および/または機能に類似であり得る動作を実行する。
【図面の簡単な説明】
【0020】
図1】本明細書で説明される1つまたは複数の実装形態のために使用され得る例示のネットワーク環境のブロック図である。
図2】いくつかの実装形態による、画像を、上位互換の高ダイナミックレンジ画像フォーマットに符号化するための例示の方法を示す流れ図である。
図3】いくつかの実装形態による、HDR画像およびLDR画像に基づいて回復マップを生成するための例示の方法を示す流れ図である。
図4】いくつかの実装形態による、回復マップを双方向グリッドへと符号化するための例示の方法を示す流れ図である。
図5】いくつかの実装形態による、上位互換の高ダイナミックレンジ画像フォーマットの画像を復号して、HDR画像を表示するための例示の方法を示す流れ図である。
図6】いくつかの実装形態による、高ダイナミックレンジを表す例示の画像を示す図である。
図7】いくつかの実装形態による、低ダイナミックレンジを表す例示の画像を示す図である。
図8】いくつかの実装形態による、低ダイナミックレンジを表す例示の画像を示す図である。
図9】いくつかの実装形態による、低ダイナミックレンジを表す例示の画像を示す図である。
図10】本明細書で説明される1つまたは複数の機能を実施するために使用され得る例示のコンピューティングデバイスのブロック図である。
【発明を実施するための形態】
【0021】
詳細な説明
本開示は、上位互換のHDR画像フォーマットに関する。この画像フォーマットが提供するコンテナから、低ダイナミックレンジ(LDR)画像と高ダイナミックレンジ(HDR)画像との両方が、取得され、かつ表示され得る。画像フォーマットは、LDR表示装置によってLDRバージョンの画像を表示するように使用され得、HDR表示装置によってHDRバージョンの画像を表示するように使用され得る。
【0022】
いくつかの実装形態では、画像フォーマットを実施する画像コンテナが生成される。より小さいダイナミックレンジ(たとえばLDR画像)の画像およびより大きな(たとえばより高い)ダイナミックレンジの対応する画像(たとえばHDR画像)が取得される。いくつかの例では、HDR画像はカメラによって取り込まれ、LDR画像は、HDR画像から、たとえばトーンマッピングまたは他の処理を使用して生成される。LDR画像は、JPEGまたは他のフォーマットなどの標準的な画像フォーマットであり得る。HDR画像およびLDR画像に基づいて生成される回復マップは、LDR画像の一部(たとえば画素または画素値)とHDR画像の対応する部分(たとえば画素または画素値)との間の輝度における差(たとえば利得)を符号化するものであり、差をスケーリングするレンジスケーリング係数は、HDR画像の最高輝度とLDR画像の最高輝度との比を含む。いくつかの例示の実装形態では、回復マップはスカラ関数であり得、対数空間において輝度利得を符号化し、回復マップ値は、輝度の対数の差をレンジスケーリング係数の対数で割った値に比例する。いくつかの実装形態では、回復マップは、回復マップを記憶するのに必要な記憶空間を縮小することができるデータ構造または画像表現へと符号化され得る。たとえば、データ構造は、グリッドセルの3次元データ構造が使用される双方向グリッドであり得る。回復画像およびLDR画像は、たとえば新規のHDR画像フォーマットとして記憶され得る画像コンテナに供給される。
【0023】
画像コンテナは、LDR画像または出力HDR画像(たとえば派生画像)である出力画像を表示する装置によって、読み出され処理され得る。上記画像フォーマットで記憶されている画像を読み出して表示する装置は、LDR画像を表示することができるLDR表示装置(たとえば表示画面)を使用し得、たとえば、LDR表示装置の表示ダイナミックレンジは、LDR画像の低ダイナミックレンジまでなら表示することができるが、HDR画像のより大きなダイナミックレンジを表示することはできない。そのようなLDR表示装置は、画像コンテナ内のLDR画像にのみアクセスし、回復画像を無視する。LDR画像は標準フォーマットであるので、装置はLDR画像を容易に表示することができる。したがって、いくつかの実装形態では、LDR画像は、回復画像を検知するかまたは適用するための符号化を実施しない装置によって、引き続き表示され得る。アクセスする装置は、HDR画像を表示可能な表示装置(たとえば、その出力において、LDR画像の最高輝度よりも大きな輝度領域を表示することができる表示装置)を使用することができる場合には、画像コンテナの中のLDR画像および回復マップにアクセスし、回復マップにおいて符号化されている輝度利得をLDR画像の画素に適用して、表示されるべき出力HDR画像のそれぞれの対応する画素値を決定する。いくつかの例では、この装置は、HDR表示装置の輝度出力(たとえば表示装置の最高輝度出力)ならびに回復マップに記憶されている輝度利得にも基づいて、LDR画像の画素輝度をスケーリングする。出力HDR画像は、高ダイナミックレンジを有するHDR表示装置に表示される。他の実装形態では、HDR画像および回復マップは画像コンテナに記憶され得て、回復マップは、回復マップによって局所的にトーンマッピングされて高い視覚品質を有する低ダイナミックレンジのLDR画像を取得するために、HDR画像に適用され得る。
【0024】
上記機能は、広範な装置によって、および単一の画像フォーマットを使用することによって、高ダイナミックレンジの画像または小さい(たとえば標準的な)ダイナミックレンジの画像の、効率的な記憶および高品質の表示を可能にすることを含むいくつかの技術的利点をもたらした。たとえば、あらゆる装置がその表示能力に適したダイナミックレンジの画像を表示することを可能にする画像フォーマットが提供される。さらに、これらのフォーマットから表示される画像は、あるダイナミックレンジから別のダイナミックレンジに変換することによる(たとえば、特にそれらの詳細な局所的コントラストにおける)視覚品質の損失がない。様々な実装形態において、画像コンテナから生成される出力HDR画像は、画像コンテナを生成するために使用される元のHDR画像の、無損失の正確なバージョンになり得、またはこの出力HDR画像は、回復マップが輝度情報を記憶しているので、元のHDR画像に(視覚的に)よく似たバージョンになり得る。
【0025】
上記機能は、LDR画像から導出した回復マップを使用して、出力HDR画像をもたらすことを含み得る。回復マップは、レンジスケーリング係数によってスケーリングされる輝度利得比に基づく値を含み得、レンジスケーリング係数は、元のHDR画像の最高輝度とLDR画像の最高輝度との比である。たとえば、回復マップは各画素をスケーリングする相対量を指示し、レンジスケーリング係数は、実行される特定の量のスケーリングを指示し、このことは、回復マップにおける相対値に前後関係をもたらす(たとえば画素が特定の画像に関してスケーリングされ得るように、量の範囲を拡張する)。レンジスケーリング係数は、回復マップ値の、正規化されている範囲における、効率的で正確かつ簡潔な仕様を可能にし、これが、次いで、レンジスケーリング係数を使用して、特定の出力ダイナミックレンジ用に効率的に調節され得るという点において有利である。レンジスケーリング係数を使用すると、回復マップを記憶するためのすべてビットが効率的に使用され、したがって、より多様な画像の正確な符号化が可能になる。
【0026】
その上、いくつかの実装形態またはいくつかの事例では、出力HDR画像を表示するとき、LDR画像の画素輝度も表示係数に基づいてスケーリングされる。表示係数は、出力画像を表示するHDR表示装置の輝度出力に基づき得る。これによって、LDRよりも高い任意の便宜的なダイナミックレンジを有するHDR画像を、表示装置の表示能力に基づいてコンテナから生成することが可能になる。出力HDR画像のダイナミックレンジは、いかなる標準的な高ダイナミックレンジにも元のHDR画像のダイナミックレンジにも拘束されない。HDR表示装置は、画像を表示することができる明るさにかなりのばらつきがあり得るので、この機能の利益は、画像が、いかなるダイナミックレンジの表示装置にも高品質の表現で表示され得ることである。その上、上記機能は、たとえばユーザの視覚的なストレスや疲労を低減するため、または他の用途のために、ユーザ入力または他の条件に基づいて、出力HDR画像の(たとえばLDRよりも高い)ダイナミックレンジの変化をリアルタイムで可能にする。この表示スケーリングは、出力HDR画像が、LDR画像のレンジよりも大きな任意のダイナミックレンジを有することを可能にする。
【0027】
対照的に、従来の技術は、HDR画像を、特定かつ不変のダイナミックレンジまたは最大明度を有するディスプレイ向けに符号化する可能性がある。そのような技術は、符号化されるダイナミックレンジよりも大きなダイナミックレンジまたは明度を有するHDR表示装置を利用することができない。加えて、HDR表示装置が、元のHDR画像において符号化されているものほど高いダイナミックレンジを表示することができなければ、そのような従来の技術は、より低い品質の画像をもたらす可能性があるので、たとえば、HDR画像のダイナミックレンジを、このHDR表示装置に表示するために縮小する、ロールオフ曲線などの技術が必要になることがあり、これは、たとえば、画像における局所的コントラストを望ましくないやり方で低減させ、しばしば画像の視覚品質が低下する。
【0028】
上記機能は、現在のフォーマット以上の高ダイナミックレンジ(HDR)コンテンツを含有する画像を生成してレンダリングするための、共有可能かつ上位互換の機構を提供するものである。上記画像フォーマットは、次世代の消費者HDRコンテンツを可能にし、また、いくつかの実装形態では、復号/符号化用に特化されているハードウェアコーデックを必要とすることなく、専門の画像ワークフローのサポートを可能にし得る。HDRフォーマットの1つまたは複数の上記実装形態は、グローバルトーンマッピングを想定する現在のHDR伝達関数に伴う問題に対処する。対照的に、上記機能はローカルトーンマッピングを可能にし、これは、異なるレベルの明度を有するシーンにおける詳細を維持するのに、より優れている。したがって、上記HDRフォーマットは、従来のHDRフォーマットと比較して、より高忠実度かつ高品質の、HDRレンダリングされているコンテンツを生成することができる。
【0029】
加えて、上記機能により、画像フォーマットの必要記憶量を小さくすることが可能になる。たとえば、この画像フォーマットによって、単一のLDR画像は、必要記憶量が小さい回復マップとともに記憶され得、したがって複数のフル画像を記憶するフォーマットに対してかなりの記憶空間を節約する。たとえば、いくつかの実装形態は、回復マップを圧縮することを含み、これらの例のうちいくつかにおいて、回復マップは双方向グリッドへと符号化され得る。そのようなグリッドは、必要な記憶空間を大幅に縮小して回復マップを記憶することができ、回復マップから、元のHDR画像と比較して視覚品質の損失がほとんどない出力HDR画像を提供することを可能にする。
【0030】
1つまたは複数の上記実装形態の技術的な効果は、従来のシステムと比較して、装置が、画像を表示するために使用されている特定の出力表示装置のダイナミックレンジによりよく対応するダイナミックレンジを有する画像を表示することができることである。たとえば、そのような従来のシステムが提供し得る画像には、表示装置のダイナミックレンジに対応するダイナミックレンジがなく、より劣った画像表示品質をもたらす。本明細書で説明される機能は、画像のダイナミックレンジを特定の表示装置によりよく適合するように設定するために、たとえば、その画像のフォーマットで回復マップを提供し、かつ/または画像出力をスケーリングすることによって、そのような不都合を軽減することができる。その上、1つまたは複数の上記実装形態の技術的な効果には、装置が結果を得るために消費する計算リソースがより少なくなることがある。たとえば、上記技術の技術的な効果には、上記の技術または機能のうち1つまたは複数が提供されない従来のシステムと比較して、システムの処理リソースおよび/または記憶リソースの消費が減少することがある。たとえば、従来のシステムは、特定の表示装置に適したダイナミックレンジを有する画像を表示するために、フルLDR画像およびフルHDR画像を記憶し、かつ/または供給する必要があり得、このことは、上記技術と比較して、追加のメモリおよび通信帯域幅のリソースを必要とする。別の例では、従来のシステムはHDR画像のみを記憶し、次いで、HDR画像を、LDRディスプレイ向けに、より小さいダイナミックレンジへとトーンマッピングすることに頼るが、そのようなトーンマッピングは、LDRディスプレイに多種多様なHDR画像を表現する際に視覚品質を低下させる可能性がある。
【0031】
本明細書で言及されたように、ダイナミックレンジは、シーンの最も明るい部分と最も暗い部分との比に関連する。LDRフォーマットのダイナミックレンジは、通常は、低レンジの色空間/カラープロファイルの標準的なダイナミックレンジ(SDR)ファイルなどの特定の低レンジを超過しない。同様に、LDR表示装置の表示されるダイナミックレンジ出力は低い。本明細書で言及されたように、LDR画像(たとえばJPEG)よりも大きな(またはより高い)ダイナミックレンジを有する画像はHDR画像と見なされ、その大きなダイナミックレンジを表示することができる表示装置はHDR表示装置と見なされる。HDR画像は、LDRよりも大きな階調範囲に及ぶ画素値を記憶することができる。いくつかの例では、HDR画像は、現実のシーンのダイナミックレンジを表示することができ、より正確に、かつ/またはLDR画像のダイナミックレンジよりも大きい、低ダイナミックレンジを有し得る(たとえば、HDR画像は、一般に1つの色チャネルごとに8ビット超を有し得る)。
【0032】
この説明における「log」の使用は、特定の底の対数を指し、たとえば本明細書のすべてのlogは、底が2の対数、底が10の対数など、任意の底数であり得る。
【0033】
本明細書の説明にさらに加えて、ユーザは、本明細書で説明されているシステム、プログラム、または機能が、ユーザ情報(たとえば、ユーザのライブラリからの画像、社会的ネットワーク、社会活動、または事業、職業、ユーザの選好、ユーザの現在の位置、ユーザのメッセージ、またはユーザの装置の特性)を収集することを許容するかどうか、許容するならいつか、ということと、サーバからコンテンツまたは通信を送られるかどうか、送られるならいつか、ということとの、どちらの選択も可能にする制御を提供される。加えて、ある特定のデータは、記憶されるかまたは使用される前に個人情報が削除されるように、1つまたは複数のやり方で処理されてよい。たとえば、ユーザの識別情報は、ユーザに関する個人情報が判定されないように処理されてよく、または位置情報(都市、郵便番号、または州レベルなど)が取得される場合には、ユーザの特定の位置を判定できないように、ユーザの地理的な位置は一般化されてよい。したがって、ユーザは、ユーザに関して収集される情報は何か、その情報はどのように使用されるか、ユーザに提供される情報は何か、といったことを制御し得る。
【0034】
図1は、本明細書で説明されるいくつかの実装形態において使用され得る例示のネットワーク環境100のブロック図を示す。いくつかの実装形態では、ネットワーク環境100は、たとえば図1の例におけるサーバシステム102といった1つまたは複数のサーバシステムと、たとえばクライアント装置120~126といった複数のクライアント装置とを含み、各々が、ユーザU1~U4のそれぞれのユーザに関連付けられている。サーバシステム102およびクライアント装置120~126の各々が、ネットワーク130と通信するように構成され得る。
【0035】
サーバシステム102は、サーバ装置104および画像データベース110を含み得る。いくつかの実装形態では、サーバ装置104は画像アプリケーション106aを提供し得る。図1および残りの図において、参照番号の後の文字(たとえば「106a」)は、その特定の参照番号を有する要素に対する参照を表す。たとえば「106」といった、テキストにおいて続く文字がない参照番号は、その参照番号を持つ要素の実施形態に対する全般的な参照を表す。
【0036】
画像データベース110は、サーバシステム102の一部である記憶装置に記憶され得る。いくつかの実装形態では、画像データベース110は、リレーショナルデータベース、キー値構造、または他のタイプのデータベース構造を使用して実施され得る。いくつかの実装形態では、画像データベース110は、ユーザ1~4の各々について、各々がそれぞれの画像ライブラリに対応する複数の区分を含み得る。たとえば、図1に見られるように、画像データベース110は、ユーザ1に関する第1の画像ライブラリ(画像ライブラリ1、108a)と、様々な他のユーザに関する他の画像ライブラリ(画像ライブラリ2、...、画像ライブラリn)とを含み得る。図1は単一の画像データベース110を示しているが、画像データベース110は、たとえば複数のデータベースサーバにわたる分散型データベースとして実施され得ることが理解されよう。さらに、図1は、各ユーザにつき1つの、複数の区分を示しているが、いくつかの実装形態では、各画像ライブラリは個別のデータベースとして実施され得る。
【0037】
画像ライブラリ108aは、ユーザ1に関連する複数の画像(映像を含む)と、複数の画像に関連付けられるメタデータと、複数の画像に関連して記憶される1つまたは複数の他のデータベースフィールドとを記憶し得る。画像ライブラリ108aに対するアクセス権は、ユーザ1が、画像ライブラリ108aの中の画像および他のデータに対する、たとえば、画像アプリケーション106、他のアプリケーション、および/または1人もしくは複数の他のユーザによるアクセス方法を制御することができるように、制限され得る。サーバシステム102は、特定のユーザの画像データには、そのユーザによって許容されていなければアクセスできないように、アクセス権を実施するように構成され得る。
【0038】
本明細書で参照される画像は、1つまたは複数の画素値(たとえば色値、明度値など)を有する画素を有するデジタル画像を含み得る。画像は、静止画像(たとえばスチール写真、単一フレームを有する画像など)、動画像(たとえばアニメーション、アニメーションGIF、画像の一部は動きを含むが他の部分は静止画像であるシネマグラフなど)、または映像(たとえば任意選択で音声を含み得る一連の画像または画像のフレーム)であり得る。本明細書で使用される画像は、上記のうち任意のものと理解され得る。たとえば、本明細書で説明される実装形態は、静止画像(たとえば写真、または他の画像)、映像、または動画像とともに使用され得る。
【0039】
ネットワーク環境100は、たとえばクライアント装置120、122、124、および126といった1つまたは複数のクライアント装置を含み得、これらは、互いに通信し得、かつ/またはネットワーク130を通じてサーバシステム102と通信し得る。ネットワーク130は任意のタイプの通信ネットワークであり得、インターネット、ローカルエリアネットワーク(LAN)、無線ネットワーク、スイッチ、またはハブ接続などのうち1つまたは複数を含む。いくつかの実装形態では、ネットワーク130は、たとえばピアツーピア無線プロトコル(たとえばBluetooth(登録商標)、Wi-Fiダイレクトなど)を使用する装置間のピアツーピア通信などを含み得る。2つのクライアント装置120と122との間のピアツーピア通信の一例が、矢印132によって示されている。
【0040】
様々な実装形態において、ユーザ1、2、3、および4は、それぞれのクライアント装置120、122、124、および126を使用して、サーバシステム102と通信し得、かつ/または互いに通信し得る。いくつかの例では、ユーザ1、2、3、および4は、それぞれのクライアント装置で動作中のアプリケーションによって相互作用し得、かつ/または、たとえばソーシャルネットワークサービスといったネットワークサービスもしくはサーバシステム102において実施されている他のタイプのネットワークサービスを通じてサーバシステム102と相互作用し得る。たとえば、それぞれのクライアント装置120、122、124、および126は、たとえばサーバシステム102といった1つまたは複数のサーバシステムとデータを通信し得る。
【0041】
いくつかの実装形態では、サーバシステム102は、各クライアント装置が、サーバシステム102および/またはネットワークサービスにアップロードされている通信コンテンツまたは共有コンテンツを受け取ることができるように、クライアント装置に適切なデータを供給し得る。いくつかの例では、ユーザ1~4は、画像共有、音声またはビデオの会議、音声、映像、またはテキストのチャット、または他の通信モードもしくはアプリケーションによって対話することができる。
【0042】
サーバシステム102によって実施されるネットワークサービスは、ユーザが、様々な通信を実行すること、リンクや交際を形成すること、画像、テキスト、音声、および他のタイプのコンテンツなどの共有コンテンツをアップロードしたり投稿したりすること、および/または他の機能を実行することを可能にするシステムを含み得る。たとえば、クライアント装置は、別々のクライアント装置、サーバシステムおよび/またはネットワークサービスから、サーバおよび/またはネットワークサービスを介して(または別々のクライアント装置から直接)、クライアント装置に投稿、送信、またはストリーミングされるコンテンツなどの受信データを表示することができる。いくつかの実装形態では、クライアント装置は、たとえば上記で説明されたようにクライアント装置間のピアツーピア通信を使用して、互いに直接通信することができる。いくつかの実装形態では、「ユーザ」は、1つまたは複数のプログラムまたは仮想エンティティ、ならびに、システムまたはネットワークとインターフェースする人を含み得る。
【0043】
いくつかの実装形態では、クライアント装置120、122、124、および/または126のうち任意のものが、1つまたは複数のアプリケーションを提供することができる。たとえば、図1に示されるように、クライアント装置120は画像アプリケーション106bを提供し得る。クライアント装置122~126も、類似のアプリケーションを提供し得る。画像アプリケーション106aは、クライアント装置120のハードウェアおよび/またはソフトウェアを使用して実施され得る。種々の実装形態において、画像アプリケーション106aは、たとえばクライアント装置120~124のうち任意のもので実行されるスタンドアロンのクライアントアプリケーションでよく、またはサーバシステム102上に提供される画像アプリケーション106bと協力して作動してもよい。
【0044】
画像アプリケーション106は、ユーザ許可を伴って実施される、画像(映像を含む)に関連する様々な機能を提供し得る。たとえば、そのような機能は、カメラを使用して画像を取り込むこと、画像を修正すること、(たとえば、表面サイズ、汚れ、表面の数、画像構成、照明、露光などの要因に基づいて)画像品質を判定すること、画像ライブラリ108に画像を記憶すること、画像および映像を、(本明細書で説明されているフォーマットを含む)様々な画像および映像のフォーマットのうち任意のものに、符号化したり復号したりすること、表示される画像または画像ベースの生成もしくは収集などを見るためのユーザインターフェースを提供すること、のうち1つまたは複数を含み得る。
【0045】
クライアント装置120は、スタンドアロンの画像ライブラリであり得るユーザ1の画像ライブラリ108bを含み得る。いくつかの実装形態では、画像ライブラリ108bは、サーバシステム102の画像ライブラリ108aと組み合わせて使用可能であり得る。たとえば、ユーザ許可を伴って、画像ライブラリ108aと画像ライブラリ108bとはネットワーク130を通じて同期され得る。いくつかの実装形態では、画像ライブラリ108は、たとえばユーザが(たとえばクライアント装置120または他の装置のカメラを使用して)取り込んだ画像、ユーザ1と共有される(たとえば他のユーザ2~4のそれぞれの画像ライブラリからの)画像、ユーザ1が(たとえばウェブサイト、メッセージングアプリケーションなどから)ダウンロードした画像、スクリーンショット、および他の画像といった、ユーザ1に関連する複数の画像を含み得る。いくつかの実装形態では、クライアント装置120上の画像ライブラリ108bは、サーバシステム102上の画像ライブラリ108aにおける画像のサブセットを含み得る。たとえば、クライアント装置120上の利用可能な記憶空間の量が限られているときには、そのような実装形態が有利であり得る。
【0046】
様々な実装形態において、クライアント装置120および/またはサーバシステム102は、様々なタイプの機能性をもたらすアプリケーションであり得る他のアプリケーション(図示せず)を含み得る。クライアント装置120、122、124、および/または126上のユーザインターフェースは、画像、画像ベースの生成、データ、および他のコンテンツ、ならびに、通信、プライバシー設定、通知、および他のデータを含む、ユーザコンテンツおよび他のコンテンツの表示を可能にし得る。そのようなユーザインターフェースは、クライアント装置上のソフトウェア、サーバ装置上のソフトウェア、および/またはクライアントソフトウエアと、たとえばサーバシステム102と通信するアプリケーションソフトウェアまたはクライアントソフトウエアといった、サーバ装置104上で実行するサーバソフトウェアとの組合せを使用して表示され得る。ユーザインターフェースは、クライアント装置またはサーバ装置の、たとえばタッチスクリーン、他の表示画面、プロジェクタなどの表示装置によって表示され得る。いくつかの実装形態では、サーバシステム上で動作中のアプリケーションプログラムは、クライアント装置と通信して、クライアント装置上のユーザ入力を受け取ったり、可視データ、音声データなどのデータをクライアント装置に出力したりすることができる。
【0047】
解説の容易さのために、図1は、サーバシステム102の1つのブロック、サーバ装置104、画像データベース110と、クライアント装置の4つのブロック120、122、124、および126とを示す。サーバブロック102、104、および110は、複数のシステム、サーバ装置、およびネットワークデータベースを表し得、ブロックは、示されているものと異なる構成で用意され得る。たとえば、サーバシステム102は、ネットワーク130を通じて他のサーバシステムと通信し得る複数のサーバシステムを表すことができる。いくつかの実装形態では、サーバシステム102は、たとえばクラウドホスティングサーバを含み得る。いくつかの例では、画像データベース110は、ネットワーク130を通じてサーバ装置104および他のサーバシステムと通信することができる、サーバ装置104とは別個のサーバシステムブロックの中に用意されている記憶装置に記憶され得る。
【0048】
また、任意数のクライアント装置が存在し得る。各クライアント装置は、たとえば、デスクトップコンピュータ、ラップトップコンピュータ、携帯機器またはモバイルデバイス、携帯電話、スマートフォン、タブレットコンピュータ、テレビ、テレビ用のセットトップボックスまたは娯楽装置、ウェアラブルデバイス(たとえば、ディスプレイ付き眼鏡またはゴーグル、腕時計、ヘッドセット、アームバンド、宝石など)、個人用デジタル情報処理端末(PDA)、メディアプレーヤ、ゲーム機器など、任意のタイプの電子機器であり得る。いくつかの実装形態では、ネットワーク環境100は、示された構成要素のすべてを有するわけではなく、かつ/または、本明細書で説明されているものの代りに、もしくはそれに加えて、他のタイプの要素を含む他の要素を有し得る。
【0049】
本明細書で説明される機能の他の実装形態は、任意のタイプのシステムおよび/またはサービスを使用することができる。たとえば、ソーシャルネットワーキングサービスの代わりに、またはそれに加えて、他のネットワーク化されている(たとえばインターネットに接続されている)サービスが使用され得る。任意のタイプの電子機器が、本明細書で説明されている機能を利用することができる。いくつかの実装形態は、コンピュータネットワークと切り離されているかまたは断続的に接続される1つまたは複数のクライアント装置またはサーバ装置上に、本明細書で説明されている1つまたは複数の機能を用意することができる。いくつかの例では、表示装置を含むかまたはこれに接続されているクライアント装置は、たとえば通信ネットワークを通じて以前に受け取られてクライアント装置に対してローカルの記憶装置に記憶されているコンテンツ投稿を表示することができる。
【0050】
図2は、いくつかの実装形態による、たとえば低ダイナミックレンジ互換性を有するHDR画像フォーマットといった、上位互換の高ダイナミックレンジ画像フォーマットに画像を符号化する例示の方法200を示す流れ図である。いくつかの実装形態では、方法200は、たとえば図1に示されているサーバシステム102上で実行され得る。いくつかの実装形態では、方法200のいくらかまたはすべては、図1のクライアント装置120、122、124、または126などの1つまたは複数のクライアント装置、図1のサーバ装置104などの1つまたは複数のサーバ装置、および/またはサーバ装置とクライアント装置との両方において実施され得る。上記の例では、実施するシステムは、1つまたは複数のデジタルプロセッサまたは処理回路(「プロセッサ」)、および1つまたは複数の記憶装置(たとえばデータベースまたは他の記憶機構)を含む。いくつかの実装形態では、1つまたは複数のサーバおよび/またはクライアントの別々の構成要素は、方法200の別々のブロックまたは他の部分を実行することができる。いくつかの例では、装置は、方法200のブロックを実行するものとして説明される。いくつかの実装形態は、結果またはデータを第1の装置に送ることができる1つまたは複数の他の装置(たとえば他のクライアント装置またはサーバ装置)によって実行される方法200の1つまたは複数のブロックを有し得る。
【0051】
いくつかの実装形態では、方法200またはその一部は、システムによって自動的に開始され得る。たとえば、方法(またはその一部)は、定期的に実行され得、または、たとえばクライアント装置による画像アプリケーション106の開始、クライアント装置の画像取込み装置による新規画像の取込み、装置によるネットワークを通じた画像の受取り、サーバシステム102への新規画像のアップロード、方法200の最後の動作から所定期間の満了、ならびに/あるいは方法200によって読み出される設定で指定され得る1つまたは複数の他の状態の生起、といった1つまたは複数の特定のイベントまたは条件に基づいて実行され得る。
【0052】
方法200(ブロック210~220)においてユーザデータを使用するために、ユーザ許可が取得され得る。たとえば、許可を得られるユーザデータは、クライアント装置(たとえばクライアント装置120~126のうち任意のもの)および/またはサーバ装置に記憶されている画像、画像メタデータ、画像アプリケーションの使用に関連するユーザデータ、他の画像ベースの生成などを含み得る。ユーザは、ユーザデータのすべてもしくは任意のサブセットへのアクセスを選択的に許可するため、または許可しないためのオプションを提供される。ユーザ許可が、特定のユーザデータに関して不十分であると、方法200は、たとえばそのユーザデータは使用せずに、他のデータ(たとえばユーザと無関係の画像)を使用して実行され得る。
【0053】
方法200は、ブロック210から始まり得る。ブロック210において、特定のシーンを描写する高ダイナミックレンジ(HDR)画像(「元のHDR画像」)が、装置によって取得される。いくつかの実装形態では、HDR画像は、高ダイナミックレンジ画像用の複数の標準的なフォーマットのうち任意のもので供給される。いくつかの例では、HDR画像は、たとえばクライアント装置または他の装置のカメラといった画像取込み装置によって取り込まれ得る。さらなる例では、HDR画像は、ネットワークを通じて別の装置から受け取られるか、または装置によってアクセス可能な記憶機構から取得される。いくつかの実装形態では、HDR画像は、たとえば光線追跡などの複数の画像生成技術のうち任意のものに基づいて生成され得る。
【0054】
ブロック212において、装置によって、低ダイナミックレンジ(LDR)画像(たとえば「元のLDR画像」)が取得され、LDR画像は、たとえば描写される主題のHDR画像に対応する、HDR画像と同一のシーンおよび/または主題を描写する。LDR画像はHDR画像よりも小さいダイナミックレンジを有する。いくつかの実装形態では、LDR画像は、標準的なLDR画像フォーマットのダイナミックレンジを有し得、またはHDR画像よりもいくらか小さいダイナミックレンジを有し得る。たとえば、LDR画像は、たとえばJPEG、AV1画像ファイルフォーマット(AVIF)、TIFFなどの標準的な画像フォーマットで供給され得る。いくつかの例では、LDR画像は、画素あたりのチャネルに8ビットで与えられるダイナミックレンジを有し、HDR画像は、LDR画像のダイナミックレンジよりも高いダイナミックレンジ(たとえば、一般に、10ビット以上のビット深度、広範囲の色空間、およびHDR指向の伝達関数)を有する。
【0055】
様々な実装形態において、ブロック210のHDR画像は、LDR画像取得の以前または以後に取得され得る。たとえば、いくつかの実装形態では、HDR画像が取得されて、HDR画像からLDR画像が導出される。いくつかの例では、LDR画像は、HDR画像に基づき、ローカルトーンマッピングまたは他の処理を使用して生成され得る。ローカルトーンマッピングは、たとえば、(各画素を同一のやり方で変化させるグローバルトーンマッピング機能に従うのではなく)各画素を、画像におけるその局所的特徴に応じて変化させる。HDR画像の諧調値を、より小さいダイナミックレンジを有するLDR画像に適したものに減少させるために、様々なローカルトーンマッピング技術のうち任意のものが使用され得る。たとえば、トーンマッピング処理において、ローカルラプラシアンフィルタリングおよび/または他の技術が使用され得る。いくつかの実装形態では、画像の別々の領域において別々のグローバルトーンカーブ(またはデジタル利得)が使用され得る。いくつかの実装形態では、別々のタイプの画像データに別々のトーンマッピング技術が使用され得、たとえば静止画像とビデオ画像では別々の技術が使用され得る。他の例では、HDR画像および/または複数の取込み画像もしくは生成画像からLDR画像を生成するために露出融合技術が使用され得、たとえば異なる露出レベルで取り込まれている、または合成的に生成されている、複数の画像の部分を組み合わせて、これらの部分を含む組合せLDR画像を生成する。いくつかの例示の実装形態において、LDR画像を生成する(たとえば、ラプラシアントーンマッピングピラミッドを使用して、別々の露出レベルを有する別々の画像から、ピラミッドの重み付きブレンドをもたらし、ブレンドされているピラミッドを崩壊させる)ために、トーンマッピング技術と露出融合技術との組合せが使用され得る。
【0056】
他の例では、LDR画像は他のソースから取得され得る。たとえば、HDR画像はカメラ装置によって取り込まれ得、LDR画像は、たとえばHDR画像の取込みの直前もしくは直後に、または少なくとも部分的に同時に、同一のカメラ装置によって取り込まれ得る。いくつかの例では、カメラ装置は、カメラ設定に基づき、たとえばカメラ設定またはユーザ選択の設定で指示されるダイナミックレンジを用いて、HDR画像およびLDR画像を取り込むことができる。ブロック212にはブロック214が続き得る。
【0057】
ブロック214において、HDR画像およびLDR画像に基づいて回復マップが生成される。回復マップは、HDR画像の部分(たとえば画素)とLDR画像の対応する部分(たとえば画素)との間の輝度の差を符号化する。回復マップは、LDR画像の輝度をHDR画像の輝度に変換するために使用される。たとえば、LDR画像の個々の画素の輝度値に輝度利得を適用すればHDR画像の対応する画素をもたらすように、輝度利得およびレンジスケーリング係数は回復マップにおいて符号化され得る。回復マップを生成する例は、図3を参照しながら以下でより詳細に説明される。ブロック214にはブロック216が続き得る。
【0058】
ブロック216において、回復マップは回復要素へと符号化され得る。様々な実装形態において、回復要素は、回復マップ情報を含むかまたは供給する、画像、データ構造、アルゴリズム、ニューラルネットワークなどであり得る。たとえば、回復要素は、標準フォーマットへと圧縮される回復画像であり得、LDR画像の縦横比と同一の縦横比を有する。回復画像は、たとえばLDR画像と同一の、または異なる、任意の解像度を有し得る。たとえば、回復画像は、たとえばLDR画像の解像度の4分の1といった、LDR画像よりも低い解像度を有し得る(たとえば、LDR画像の1920×1080に対して回復画像は480×270である)。
【0059】
いくつかの例では、回復画像は、単一チャネルの8ビット符号なし整数値として符号化され得、各値は、回復値を表し、回復画像の1つの画素に記憶される。いくつかの例示の実装形態において、符号化は-2.0~2.0の連続的な表現をもたらすことができ、これは圧縮され得、たとえばJPEG圧縮され得る。いくつかの実装形態では、符号化は、マップ値の正/負を示す1ビットを含み、残りのビットは、(たとえば-1~+1の範囲の)回復マップ値の大きさとして解釈され得る。この例などのいくつかの実装形態では、いくつかの画素は、元のHDR画像の輝度領域を正確に回復するかまたは表すために、レンジスケーリング係数によって表されるものよりも大きな減衰または利得が必要になることがあるので、大きさ表現は1.0や-1.0を超える可能性がある。
【0060】
単一チャネル符号化では、チャネルは、ターゲット画像に対する、輝度(明度)に基づく調節を指定することができる。したがって、ターゲット画像の色度または色相は、その画像に対する回復マップの適用中には変化しないはずである。単一チャネル符号化は、ターゲット画像の既存の色度または色相を維持し得(たとえばRGB比率を維持し得)、通常は、必要な記憶空間が多チャネル符号化よりも小さい。いくつかの実装形態では、回復画像は多チャネル値として符号化され得る。多チャネル符号化では、ターゲット画像に対する回復マップの適用中に、ターゲット画像の色(たとえば色度または色相)の調節が可能になり得る。多チャネル符号化は、たとえば高明度における色のロールオフといった、LDR画像で生じてしまう色の損失を補償することができる。これによって、正確な色ばかりでなくHDR輝度の回復も可能になる(たとえば、空が白く見えるだけの明度増加ではなく、空を青色の色相に再飽和させる)。いくつかの実装形態では、多チャネル符号化の回復マップは、ターゲット画像においてより広い色域を回復する(または色域の損失を補償する)ために使用され得る。たとえば、標準的なRGB(sRGB)/BT.709色域のLDR画像から、ITU-R勧告BT.2020色域が回復され得る。
【0061】
いくつかの実装形態では、回復マップの値には、たとえば8ビットよりも大きなビット深度といった、別のビット深度が使用され得る。たとえば、いくつかの実装形態では、8ビットの深度は、8ビットの単一チャネル利得マップと組み合わせたHDR表現が可能になる最小限のビット深度であり得、ビット深度がより小さければ、バンディングなどのアーチファクトなしでHDR画像コンテンツを提供するための十分な情報が得られない可能性がある。いくつかの実装形態では、回復画像は、整数ではなく浮動小数点値として符号化され得る。いくつかの実装形態では、回復要素は、回復マップの値を符号化する、データ構造、アルゴリズム、ニューラルネットワークなどであり得る。たとえば、回復マップは、回復要素として使用される、小さいニューラルネットワークの重みに符号化され得る。ブロック216にはブロック218が続き得る。
【0062】
ブロック218において、新規のHDR画像フォーマットとして記憶され得る画像コンテナに、LDR画像および回復要素が供給される。いくつかの実装形態では、LDR画像は、画像コンテナにおけるベース画像と見なされ得る。画像コンテナは、LDR画像またはHDR画像を表示するために、装置によって読み出され得る。いくつかの実装形態では、画像コンテナは、たとえばAVIF(AV1画像ファイルフォーマット)画像コンテナといった標準的な画像コンテナであり得る。
【0063】
いくつかの実装形態では、回復マップは、回復マップが配置される画像コンテナの精度に量子化され得る。たとえば、LDR画像がJPEG画像(または8ビットの符号なし整数値が使用される他のフォーマット)であるいくつかの実装形態では、回復マップの値は、記憶するために8ビットのフォーマットに量子化され得る。いくつかの例では、各値は、回復値を表すことができ、回復画像の1つの画素に記憶される。いくつかの例では、各々の符号化される値は、
encode(x,y)=recovery(x,y)*63.75+127.5
と定義され得る。この符号化では、たとえば、各値が、256の可能な符号化値のうち1つに量子化され、-2.0~2.0の範囲の表現をもたらす。他の実装形態では、たとえば-1.0~1.0または他の範囲といった他の範囲および量子化が使用され得る。
【0064】
画像コンテナは、画像コンテナのコンテンツに基づく出力HDR画像の表示に関連する付加情報を含み得る。たとえば、付加情報は、画像コンテナ、回復要素、および/またはLDR画像において供給されるメタデータを含み得る。メタデータは、LDR画像および/またはそれから導出されるHDR画像を表示装置に提示するやり方に関する情報を符号化することができる。そのようなメタデータは、たとえば、コンテナにおいて使用される回復マップフォーマットのバージョン、回復マップにおいて使用されるレンジスケーリング係数、記憶方法(たとえば、回復マップは双方向グリッドまたは他のデータ構造に符号化されるかどうか、または指定の圧縮技術によって圧縮されるかどうか、といったこと)、回復マップおよび/または回復画像の解像度、双方向グリッドストレージ用のガイド重み、ならびに/あるいは他の回復マップ特性または画像特性を含むことができる。
【0065】
いくつかの例では、LDR画像は、画像コンテナの中のアイテム(たとえばファイル)の順序および特性を定義する、メタデータのデータ構造またはディレクトリを含み得、コンテナの中の各ファイルが、データ構造の中に対応するメディアアイテムを有し得る。メディアアイテムは、画像コンテナの中の関連するファイルの位置および関連するファイルの基本的特性を記述することができる。たとえば、コンテナ要素は、LDR画像のメタデータへと符号化され得、ここで、コンテナの中のメディアアイテムのフォーマットバージョンおよびデータ構造を定義する。いくつかの例では、メタデータは、メタデータをサポートしない、メタデータを読み取ることもできない装置またはアプリケーションがLDR画像を読み取ることを可能にするデータモデルに従って記憶される。たとえば、メタデータは、拡張可能なメタデータプラットフォーム(XMP)データモードに従って、回復画像および/またはLDR画像に記憶され得る。ブロック218にはブロック220が続き得る。
【0066】
ブロック220において、画像コンテナは、1つまたは複数の装置によってアクセスされるように、たとえば記憶機構に記憶され得る。たとえば、画像コンテナは、ネットワークを通じて1つまたは複数のサーバシステムに送られ得て、サーバシステムにアクセスすることができる複数のクライアント装置によるアクセスが可能になる。
【0067】
いくつかの実装形態では、サーバ装置は、メタデータなどの付加情報を含むクラウド記憶機構(または他の記憶機構)に、画像コンテナを保存することができる。サーバは、LDR画像を、コンテナの中に任意のフォーマットで記憶することができる。サーバ装置は、クライアント装置から画像を求める要求を受け取ることに応答して、システム設定、ユーザ選好、クライアント装置のタイプ(たとえば、モバイルクライアント装置、デスクトップコンピュータクライアント装置)などのクライアント装置の特性、ダイナミックレンジ、解像度などのクライアント装置の表示装置の特性などに基づいて、要求しているクライアント装置に供給する画像データを決定することができる。たとえば、いくつかのクライアント装置については、サーバ装置はクライアント装置に画像コンテナを供給することができ、クライアント装置は、画像コンテナを復号して、クライアントの表示装置に適切なダイナミックレンジで表示するための画像(ベース画像または派生画像)を取得することができる。他のクライアント装置(たとえば、サーバ装置は、クライアント装置の表示装置のダイナミックレンジなど、このクライアント装置の特性を記述する情報を有する)については、サーバ装置は、画像コンテナから画像を抽出して復号し、クライアント装置に画像を供給することができ、供給される画像は、サーバ装置によって決定された、クライアントの表示装置向けの適切なダイナミックレンジを有する。いくつかの実装形態では、サーバ装置は、画像コンテナからのベース画像および派生画像を決定してクライアント装置に両画像を供給することができ、クライアント装置は、その表示装置のダイナミックレンジに基づいて、これらの画像のどちらを表示するか選択することができる。
【0068】
いくつかの実装形態では、画像コンテナには複数の回復マップ(たとえば回復要素)が含まれ得る。各回復マップは、本明細書で説明されているように、回復マップに基づく出力画像に1つまたは複数の異なる特性を供給するための異なる値を含み得る。たとえば、複数の回復マップのうち特定の1つが選択され、選択された回復マップに基づく特性を有する出力画像を供給するように適用され得、したがって、たとえば、画像コンテナの中の他の回復マップよりも、特定の用途またはアプリケーションにより適したものになり得る。たとえば、複数の回復マップのうちいくつかまたはすべてが、ターゲットの出力表示装置の特定の異なる物理的表示装置特性に関連付けられ得る。いくつかの例では、ユーザは、異なるダイナミックレンジ(たとえば異なるピーク明度)または異なる色域を有する表示装置にLDRまたはHDRの画像を表示するか、または異なる画像復号器を使用するときには、異なる回復マップを使用することを選択し得る。
【0069】
いくつかの実装形態では、それぞれのレンジスケーリング係数は、これらの回復マップの各々とともに使用するように、画像コンテナに記憶され得る。いくつかの実装形態では、図5を参照しながら説明されるように、回復要素のうち1つまたは複数が、ターゲット表示装置の特定の表示装置特性の記憶されている指示に関連付けられ得、表示用に使用される特定のターゲット表示装置に基づいて回復マップトラックのうち1つを選択することを可能にする。いくつかの実装形態では、単一のレンジスケーリング係数が複数の回復マップとともに使用され得る。たとえば、画像コンテナに記憶されている複数の画像にそれぞれ関連付けられている複数の回復マップについて、汎用レンジスケーリング係数が使用され得る。
【0070】
いくつかの実装形態では、回復マップの意図される使用法を指示するさらなるメタデータが、画像コンテナに記憶され得る。画像コンテナに複数の回復マップを記憶するいくつかの実装形態では、そのようなメタデータは、複数の回復マップの各々について、意図される使用法の指示を含み得る。たとえば、回復マップ1がLDR画像にマッピングするように意図されている場合には、マップ1のキーを有するマップ、表、またはインデックスは、回復マップに関連して指定される出力フォーマットのリストである値を指示することができる。いくつかの例では、メタデータは、出力レンジの指示を指定することができる(たとえば、「LDR」もしくは「HDR」、またはHDRがLDRレンジの乗数として指定され得る)。いくつかの例では、メタデータは、たとえば「output metadata:bit_depth X,」と、ビット深度を指定することができ、Xは8、10、12などであり得る。いくつかの実装形態では、指定されるbit_depthは、最小ビット深度であり得、たとえば、「LDR」は、光電伝達関数(OETF)を介した出力については8ビット以上、線形/拡張レンジの出力については12ビット以上を指示することができ、「HDR」は、OETFを介した出力については10ビット以上を、また線形/拡張レンジの出力については16ビット以上を指示することができる。色空間が変化する可能性があって、意図される出力色空間の指示がメタデータに含まれ得る多チャネル回復マップについても、このタイプのメタデータは使用され得る。たとえば、メタデータは、「output metadata:bit_depth X,color_space,」として指定され得、color_spaceは、たとえばRec.709、Rec.2020などであり得る。
【0071】
図3は、いくつかの実装形態による、HDR画像およびLDR画像に基づいて回復マップを生成するための例示の方法300を示す流れ図である。たとえば、方法300は、図2の方法200のブロック214に関して実施され得、または他の実装形態において実行され得る。いくつかの実装形態では、図2を参照しながら説明されているように、LDR画像および(元の)HDR画像が取得されている。
【0072】
方法300は、ブロック302から始まり得、ここで、LDR画像の線形輝度が決定され得る。いくつかの実装形態では、(たとえば図2のブロック212で取得される)元のLDR画像は、非線形画像またはガンマ補正画像であり得、たとえば、非線形LDR画像の一次画像色空間を線形バージョンに変換することによってLDR画像の線形バージョンが生成され得る。たとえば、標準的なRGB(sRGB)伝達関数を有する色空間は、sRGB原色を維持する線形色空間に変換される。
【0073】
線形LDR画像の線形輝度が決定される。たとえば、輝度(Y)関数は次式で定義され得、
ldr(x,y)=primary_color_profile_to_luminance(LDR(x,y))
ここで、Yldrは、0.0~1.0の範囲で定義される低ダイナミックレンジ画像の線形輝度であり、primary_color_profile_to_luminanceは、画像(LDR画像)の原色を、LDR画像の座標(x,y)における各画素の線形輝度値Yに変換する関数である。ブロック302にはブロック304が続き得る。
【0074】
ブロック304において、HDR画像の線形輝度が決定される。いくつかの実装形態では、(たとえば図2のブロック210で取得される)元のHDR画像は、非線形画像および/または3チャネル符号化画像(たとえば、知覚量子化器(PQ)符号化画像またはハイブリッドログガンマ(HLG)符号化画像)であり得、HDR画像の3チャネル線形バージョンは、たとえば非線形HDR画像を線形バージョンに変換することによって生成され得る。他の実装形態では、任意の他の色空間および色プロファイルが使用され得る。
【0075】
線形HDR画像の線形輝度が決定される。たとえば、輝度(Y)関数は次式で定義され得、
hdr(x,y)=primary_color_profile_to_luminance(HDR(x,y))
ここで、Yhdrは、0.0からレンジスケーリング係数までの範囲で定義される、高ダイナミックレンジ画像の線形輝度であり、primary_color_profile_to_luminanceは、画像(HDR画像)の原色を、HDR画像の座標(x,y)における各画素の線形輝度値Yに変換する関数である。ブロック304にはブロック306が続き得る。
【0076】
ブロック306において、ブロック302および304で決定されている線形輝度に基づいて画素利得関数が決定される。画素利得関数は、Yhdr関数とYldr関数との比として定義される。たとえば、
pixel_gain(x,y)=Yhdr(x,y)/Yldr(x,y)
であり、
Yhdrは、0.0からレンジスケーリング係数までの範囲で定義される、高ダイナミックレンジ画像の線形輝度であり、primary_color_profile_to_luminanceは、画像(HDR画像)の原色を、HDR画像の座標(x,y)における各画素の線形輝度値Yに変換する関数である。
【0077】
ゼロが有効な輝度値であるので、YhdrまたはYldrはゼロになる可能性があり、上記の式または以下で説明するように対数を決定するとき問題になる可能性がある。いくつかの実装形態では、Yhdrおよび/またはYldrがゼロである事例は、たとえばpixel_gain関数を1と定義すること、またはたとえば次式におけるイプシロン(ε)として表される十分に小さい追加の要素を使用して(たとえば、εを追加するか、またはεにクランプして)、この事例を回避するように計算を調節することによって対処され得る。
【0078】
pixel_gain(x,y)=(Yhdr(x,y)+ε)/(Yldr(x,y)+ε)
いくつかの実装形態では、上記の式の分子と分母とでイプシロン(ε)の別々の値が使用され得る。ブロック306にはブロック308が続き得る。
【0079】
ブロック308において、レンジスケーリング係数は、LDR画像の最高輝度に対するHDR画像の最高輝度に基づいて決定される。たとえば、レンジスケーリング係数は、HDR画像の最高輝度とLDR画像の最高輝度との比であり得る。レンジスケーリング係数は、本明細書では、レンジ圧縮係数および/またはレンジ圧縮係数の逆数であるレンジ拡張係数と称されることもある。たとえば、LDR画像がHDR画像から決定される場合には、レンジスケーリング係数は、LDR画像を生成するために圧縮されている全HDRレンジの量から導出され得る。たとえば、この係数は、HDR画像をLDRダイナミックレンジにマッピングするためにHDR画像の高輝部の輝度を減少させる量、またはHDR画像をLDRダイナミックレンジにマッピングするためにHDR画像の暗部の輝度を増加させる量を指示することができる。レンジスケーリング係数は、線形空間における全HDRレンジを得るために全LDRレンジに掛ける線形値であり得る。いくつかの例では、レンジスケーリング係数が3であれば、HDR画像の暗部は3倍され、またはHDR画像の高輝部は1/3にされる(あるいは、そのような暗部の輝度の強化と高輝部の輝度の減少とが混合して実行される)。いくつかの実装形態では、レンジスケーリング係数は、レンジスケーリング係数から導出される出力画像の様相を変化させ得る特定の視覚効果をもたらすために、他のやり方で(たとえば、カメラアプリケーションもしくは他のアプリケーション、ユーザ、または他のコンテンツ生成器によって)定義され得る。ブロック308にはブロック310が続き得る。
【0080】
ブロック310において、レンジスケーリング係数によってスケーリングされる画素利得関数を符号化する回復マップが決定される。したがって、回復マップは、画素利得関数を介して、所望のHDR画像輝度(Yhdr)およびLDR画像輝度(Yldr)を含有している2つの線形画像に基づく。いくつかの実装形態では、回復マップは、正規化されている画素利得を対数空間において符号化するものであり、レンジスケーリング係数によってスケーリングされる(たとえばレンジスケーリング係数の逆数を掛けられる)スカラ関数である。いくつかの例では、回復マップ値は、HDR輝度の対数とLDR輝度の対数との差を、レンジスケーリング係数の対数で割った値に比例する。たとえば、回復マップは次式で定義され得る。
【0081】
recovery(x,y)=log(pixel_gain(x,y))/log(range_scaling_factor)
いくつかの例示の実装形態では、recovery(x,y)は-1~+1の範囲に入る傾向があり得る。HDR表示装置のディスプレイに関して、ゼロ未満の値は(LDR画像の)画素をより暗くし、ゼロを超える値は画素をより明るくする。回復マップレンジの影響のいくつかの例では、HDRディスプレイに画像を表示するとき高輝部を強化する(例は図5を参照しながら説明される)ために、これらの値は、通常は、ほぼ[0..1]の範囲にあり得(たとえば、この回復マップを適用すると、暗部は一定に保って高輝部を強化する)、そのため、画像の最も明るい領域は1に近い値を有し得、画像のより暗い領域は、通常は0に近い値を有し得る。いくつかの実装形態では、HDR表示装置に表示するとき暗部を押し下げる(より暗くする)ために、これらの値は、通常は、ほぼ[-1..0]の範囲にあり得(たとえば、この回復マップを適用すると、高輝部を一定に保って暗部を再暗黒化する)。いくつかの実装形態では、HDR表示装置に表示するとき、高輝部の強化と暗部の再暗黒化との組合せをもたらすために、これらの値は[-1..1]の全範囲を包含することができる。
【0082】
いくつかの実装形態では、上記で説明されているように、操作の容易さのために、画像を対数空間に変換してから処理が実行される。いくつかの実装形態では、この処理は、線形空間における指数化と指数の補間とによって実行され得、これは対数空間の処理と数学的に等価である。いくつかの実装形態では、この処理は、指数化せずに、たとえば線形空間において素朴に内挿/外挿することで実行され得る。
【0083】
表示のためにLDR画像に回復マップを適用するとき、レンジスケーリング係数は、一般に画素の明度を増加するための量を指示し、マップは、いくつかの画素が、より明るくされるかまたはより暗くされることを示す。回復マップは各画素をスケーリングする相対量を指示し、レンジスケーリング係数は、実行される特定の量のスケーリングを指示する。レンジスケーリング係数は、回復マップにおける相対値に、正規化および文脈を提供する。レンジスケーリング係数は、回復マップによって適用するスケーリングの量に関係なく、回復マップを記憶するために使用されるすべてのビットの効率的な使用を可能にする。これは、より多様な画像を正確に符号化できることを意味する。たとえば、すべてのマップが、たとえば-1~1の範囲の値を含有し得、この値の範囲がより大きな全範囲(たとえば2または8)にスケーリング可能なマップを同様に表現し得るように、値は、レンジスケーリング係数によって文脈を与えられる。たとえば、上記フォーマットの1つの画像は2のレンジスケーリング係数を有し得、第2の画像は8のレンジスケーリング係数を有し得る。レンジスケーリング係数なしで、マップにおいて最大/最小の絶対利得値が決定される。この値がたとえば2であれば、8のレンジスケールを有する第2の画像は表現され得ない。この値がたとえば8であれば、2のレンジスケールを有する画像を記憶するとき、回復マップにおけるすべての画素について2ビットの情報が無駄になる。レンジスケーリング係数を用いないそのような実装形態は、符号化用に使用される元のHDR画像と比較して、表示される出力HDR画像に(望ましくない)視覚的な差異が生じやすくなる可能性がある(たとえば、そのような差異のひどい形態にはバンディングがあり得る)。
【0084】
いくつかの実装形態では、pixel_gainが0.0であるとき、回復関数は-2.0に定義され得、これは表現可能な最大の減衰である。画像における1つまたは複数の領域または位置が元のHDR画像を回復するためにレンジスケーリング係数によって表現されるよりも大きなスケーリング(減衰または利得)を必要とすることがあるので、回復関数は-1.0~+1.0の範囲の外にある可能性がある。-2.0~+2.0の範囲は、そのような、より大きなスケーリング(減衰または利得)をもたらすのに十分なものであり得る。ブロック310にはブロック312が続き得る。
【0085】
ブロック312において、回復マップは圧縮形式へと符号化され得る。これによって、回復マップが占有する記憶空間を縮小することが可能になる。圧縮形式は、様々な異なる圧縮、フォーマットなどのうち任意のものであり得る。いくつかの実装形態では、図4を参照しながらより詳細に説明されるように、回復マップが決定されて双方向グリッドへと符号化される。いくつかの実装形態では、回復マップは、圧縮され得、そうでなければ1つまたは複数の追加または代替の圧縮技術に基づいて必要記憶量を低減される。いくつかの実装形態では、回復マップは、ブロック310において決定された回復画像よりも低い解像度を有するより低い解像度の回復画像に圧縮され得る。この回復画像が占有する記憶空間は、全解像度回復マップのものよりも小さくなり得る。たとえば、JPEGフォーマットのLDR画像をもたらす実装形態ではJPEG圧縮が使用され得、または他の圧縮タイプ(たとえばランレングス符号化(RLE))もしくは他の画像フォーマット圧縮(たとえばHEIC、AVIF、PNGなど)が使用され得る。
【0086】
図4は、いくつかの実装形態による、回復マップを双方向グリッドへと符号化するための例示の方法400を示す流れ図である。たとえば、方法400は、たとえば図3の方法300のブロック310および312として実施され得、ここで、回復マップはHDR画像およびLDR画像の輝度に基づいて決定されて圧縮形式で記憶され、これは、図4で説明される実装形態では双方向グリッドである。双方向グリッドは、以下で説明されるように、ガイド重みに基づいてLDR画像の画素にマッピングされるグリッドセルの3次元データ構造である。
【0087】
方法400はブロック402から始まり得、グリッドセルの3次元データ構造が定義される。3次元データ構造は、複数のセルにおいて幅、高さ、および深さを有し、サイズW×H×Dとして指示され、幅および高さはLDR画像の幅および高さに対応し、深さはW×Hのセルの層の数に対応する。グリッドのセルは、(幅,高さ)における長さDのベクトル要素として定義され、複数のLDR画像画素にマッピングされる。したがって、グリッドにおけるセルの数は、LDR画像における画素の数よりもはるかに少なくなり得る。いくつかの例では、幅および高さはLDR画像サイズの約3%であり、深さは16であり得る。たとえば、1920×1080のLDR画像は、約64×36×16サイズのグリッドを有し得る。ブロック402にはブロック404が続き得る。
【0088】
ブロック404においてガイド重みのセットが定義される。いくつかの実装形態では、ガイド重みのセットは、浮動小数点値の複数要素のベクトルとして定義され得、双方向グリッドの生成および復号のために使用され得る。ガイド重みは、LDR画像の入力画素LDR(x,y)にマッピングされるセルの対応する深さDを決定するための、この入力画素のそれぞれの要素の重みを表現する。たとえば、ガイド重みのセットは、次式のように、5つの要素のベクトルとして定義され得る。
【0089】
guide_weights={weight_r,weight_g,weight_b,weight_min,weight_max}
ここで、weight_r、weight_g、およびweight_bは、それぞれの入力画素の色成分(赤、緑、または青)の重みを指し、weight_minおよびweight_maxは、それぞれr、g、およびb値の最小成分値の重みおよびr、g、b値の最大成分値(たとえばmin(r,g,b)およびmax(r,g,b))の重みを指す。
【0090】
一例では、LDR画像はRec.709色空間にあり、ガイド重みは、たとえば、LDR(x,y)画素の輝度のバランスならびにこの画素の最小成分値および最大成分値を表現するために、以下の値に設定され得る。
【0091】
guide_weights={0.1495,0.2935,0.057,0.125,0.375}
この例では、これらのガイド重み値は、グリッド深さ検索において、画素輝度(r、g、b値)に50%、最小成分値に12.5%、画素の最大成分値に37.5%だけ重み付けする。いくつかの実装形態では、これらの値の合計は1.0になり、そのため、たとえば、(値の合計が1.0未満の場合と異なって)すべてのグリッドセルが常に検索され得、また、(値の合計が1.0よりも大きくなる場合と異なって)画素の深さが、グリッドにおける最終的な深度レベルを超えて溢れ出ることはあり得ない。ガイド重み値は、たとえば、人が、結果を視覚的に評価することによって、実践的に決定され得る。いくつかの実装形態では、画素輝度(r、g、b値)に対して、たとえばたった3つといった、異なる数のガイド重みが使用され得る。
【0092】
ブロック404にはブロック406が続き得る。
ブロック406において、グリッドセルが、ガイド重みに基づいて、LDR画像の画素にマッピングされる。ガイド重みは、入力画素にマッピングされるセルに対応する深さDを決定するために使用される。
【0093】
いくつかの実装形態では、グリッドセルの幅(x)および高さ(y)がLDR画像の画素(x,y)にマッピングされる。たとえば、LDR画像の画素x、yは、以下のようにグリッドセルのx、y座標に変換され得、
grid_x=ldr_x/ldr_W*(grid_W-1)
grid_y=ldr_y/ldr_H*(grid_H-1)
ここで、grid_xおよびgrid_yはグリッドセルのx位置およびy位置であり、ldr_xおよびldr_yは、グリッドセルにマッピングされるLDR画像の画素のx座標およびy座標であり、ldr_Wおよびldr_Hは、LDR画像の合計の画素幅および画素高さであって、grid_Wおよびgrid_Hは、それぞれ、双方向グリッドの合計の幅および高さのセル寸法である。
【0094】
いくつかの実装形態では、LDR画像にマッピングされるグリッドセルの深さについては次式が使用され得、
z_idx(x,y)=(D-1)*(guide_weights・{r,g,b,min(r,g,b),max(r,g,b)})
ここで、Dは、グリッドの合計のセル奥行き寸法であって、z_idx(x,y)は、LDR画像画素(x,y)にマッピングされるセルの双方向グリッドにおける深さである。この式は、ガイド重みのベクトルとLDR画像の特定の画素の対応する値のベクトルとの内積を決定し、次いで、結果を、グリッドの奥行き寸法のサイズによってスケーリングして、その特定の画素の対応するセルの深さを指示する。たとえば、ガイド重みの乗算結果は0.0~1.0(両端を含む)の値になり得、この結果は、グリッドの様々な深度レベル(バケット)にスケーリングされる。たとえば、Dが16であれば、0.0の乗算値はバケット0へのマッピングをもたらし、0.5の値はバケット7へのマッピングをもたらし、1.0の値はバケット15(最後のバケットである)へのマッピングをもたらす。ブロック406にはブロック408が続き得る。
【0095】
ブロック408において、一次方程式のセットの解を使用して回復マップ値が決定される。たとえば、いくつかの実装形態では、双方向グリッドに対する入力は次式を使用して定義され、
pixel_gain(x,y)=bilateral_grid_linear(x,y,z_idx(x,y))
ここで、pixel_gain(x,y)は、図3の方法300を参照しながら上記で説明されているpixel_gain関数の画素(x,y)における値である。Bilateral_grid_linearは、線形空間における画素利得を表す、双方向グリッドのコンテンツである。座標x、y、およびz_idxは、双方向グリッドの座標であり、LDR画像のx、y座標とは異なる。z_idxによって、ガイド重みは、そのpixel_gainがLDR画像の各画素が双方向グリッドのどの深さに位置しているかを通知し、これが、ブロック410において解くべき線形方程式のセットを設定するやり方を通知する。ブロック408にはブロック410が続き得る。
【0096】
いくつかの実装形態では、符号化は、各グリッドセルについて次式を最小化する一次方程式のセットの解として定義される。
【0097】
(pixel_gain(x,y)*Yldr(x,y)-Yhdr(x,y))
Yldr値およびYhdr値は、それぞれ、LDR画像の(x,y)画素位置におけるLDR画像およびHDR画像の輝度値である。上記の式の値を最小化するpixel_gain(x,y)値は、上記の式で指示されているように、各画素がどこで深度ベクトルへと検索されるかということに基づいて解かれ、これは、ガイド重みに基づいて前もって定義されている。
【0098】
結果の値は次式で定義される。
For{x,y,z}over{[0,W),[0,H),[0,D)}:bilateral_grid_linear(x,y,z)
この定義は、双方向グリッドが、xについては0から合計のグリッド幅まで、yについては0から合計のグリッド高さまで、zについては0から合計のグリッド深さまで、定義されることを規定する。たとえば、双方向グリッドが64×36×16であるなら、グリッド値は、xについては0~63(両端を含む)、yについては0~35(両端を含む)、zについては0~15(両端を含む)と定義される。ブロック408にはブロック410が続き得る。
【0099】
ブロック410において、解の値が変換されて双方向グリッドに記憶される。たとえば、解の値は次式で変換され得る。
【0100】
bilateral_grid(x,y,z)=log(pixel_gain(x,y))/log(range_scaling_factor)
または
bilateral_grid(x,y,z)=log(bilateral_grid_linear)/log(range_scaling_factor)
Bilateral_gridは、対数空間における画素利得を表す、双方向グリッドのコンテンツである。これらの値は符号化されている回復マップとして記憶される。これらの式で指示されているように、LDR画像とHDR画像との間の正規化されている画素利得は、図3のブロック310を参照しながら上記で説明されたのと同様に、対数空間において符号化され、レンジスケーリング係数によってスケーリングされる。
【0101】
LDR画像よりも大きなダイナミックレンジを有するHDR画像を表示するために、双方向グリッドから回復マップを復号するとき、(図5を参照しながら詳細に説明されたように)各回復マップ値は双方向グリッドから抽出される。以下の式において、r、g、およびbは、LDR画像の画素LDR(x,y)のそれぞれの成分値である。
【0102】
z_idx(x,y)=(D-1)*(guide_weights・{r,g,b,min(r,g,b),max(r,g,b)})
recovery(x,y)=bilateral_grid(x,y,z_idx(x,y))
ここで、recovery(x,y)は抽出される回復マップである。いくつかの実装形態では、第1の式において決定されるz_idxは、第2の式のbilateral_grid(x,y,z)に入力される前に、最も近い整数に丸められ得る。
【0103】
図5は、いくつかの実装形態による、画像を、上位互換の高ダイナミックレンジ画像フォーマットに復号して表示するための例示の方法500を示す流れ図である。いくつかの実装形態では、方法500は、たとえば図1に示されるサーバシステム102上で実行され得る。いくつかの実装形態では、方法500のいくらかまたはすべては、図1のクライアント装置120、122、124、または126などの1つまたは複数のクライアント装置、図1のサーバ装置104などの1つまたは複数のサーバ装置、および/またはサーバ装置とクライアント装置との両方において実施され得る。上記の例では、実施するシステムは、1つまたは複数のデジタルプロセッサまたは処理回路(「プロセッサ」)、および1つまたは複数の記憶装置(たとえばデータベースまたは他の記憶機構)を含む。いくつかの実装形態では、1つまたは複数のサーバおよび/またはクライアントの異なる構成要素は、方法500の異なるブロックまたは他の部分を実行することができる。いくつかの例では、装置は、方法500のブロックを実行するものとして説明される。いくつかの実装形態は、結果またはデータを第1の装置に送ることができる1つまたは複数の他の装置(たとえば他のクライアント装置またはサーバ装置)によって実行される方法500の1つまたは複数のブロックを有し得る。
【0104】
いくつかの実装形態では、方法500またはその一部は、システムによって自動的に開始され得る。たとえば、方法(またはその一部)は、定期的に実行され得、または、たとえばクライアント装置による画像アプリケーション106の開始、クライアント装置による新規画像の取込みまたは受取り、サーバシステム102への新規画像のアップロード、方法500の最後の動作から所定期間の満了、ならびに/あるいは方法500を実行するシステムによって読み出されるかまたは受け取られる設定で指定され得る1つまたは複数の他の状態の生起、といった1つまたは複数の特定のイベントまたは条件に基づいて実行され得る。
【0105】
方法500は、画像コンテナを生成した装置とは別の装置によって実行され得る。たとえば、第1の装置は、画像コンテナを生成して、第1の装置とは別の第2の装置によってアクセス可能な記憶位置(たとえばサーバ装置)に記憶することができる。第2の装置は、方法500によって、画像コンテナにアクセスしてこの画像を表示することができる。いくつかの例では、回復マップは、ハードウェア復号器ならびに/あるいは第2の装置のCPUおよび/またはGPUによって、ベース画像に適用され得る。いくつかの実装形態では、単一の装置が、方法200において説明されているように画像コンテナを生成することができ、方法500において説明されているように画像コンテナを復号して表示することができる。いくつかの実装形態では、第1の装置は、方法500に基づいて画像コンテナから画像を復号し、復号画像を表示するために第2の装置に供給することができる。
【0106】
同様に、図2を参照しながら上記で説明されたように、いくつかの実装形態では、第1の装置(たとえばクラウドにおけるサーバ装置)が、画像コンテナから2つの画像(たとえば、ベース画像ならびにベース画像および回復マップに基づく派生画像)を復号して、第2の装置に2つの画像を送り、第2の装置によって決定されて、たとえば第2の装置の表示装置の特性に基づいて、画像のうち1つを選択して表示する。
【0107】
方法500(ブロック510~534)においてユーザデータを使用するために、ユーザ許可が取得され得る。たとえば、許可を得られているユーザデータは、クライアント装置(たとえばクライアント装置120~126のうち任意のもの)および/またはサーバ装置に記憶されている画像、画像メタデータ、画像アプリケーションの使用に関連するユーザデータ、他の画像ベースの生成などを含み得る。ユーザは、ユーザデータのすべてもしくは任意のサブセットへのアクセスを選択的に許可するため、または許可しないためのオプションを提供される。ユーザ許可が、特定のユーザデータに関して不十分であると、方法500は、たとえばそのユーザデータは使用せずに、他のデータ(たとえばユーザと無関係の画像)を使用して実行され得る。
【0108】
方法500は、ブロック502から始まり得る。ブロック510において、LDR画像および回復マップを含む画像コンテナが取得される。たとえば、画像コンテナは、図2の、LDR画像とLDR画像よりも大きなダイナミックレンジを有するHDR画像とから回復マップを生成する方法200によって生成される、コンテナであり得る。回復マップは、回復画像などの回復要素としてコンテナに供給され得る。画像コンテナは、たとえば、JPEG用のコンテナ、カスタムJPEGマーカ(たとえばJPEG/Exifファイルにメタデータを記憶するためのAPP1セグメント、またはデータのチャンクを記憶するためのマーカ)、国際標準化機構ベースメディアファイルフォーマット(ISOBMFF)、AV1画像ファイルフォーマット(AVIF)用のコンテナ、HEIF(高効率画像ファイル)、マルチピクチャフォーマット(MPF)コンテナ、拡張可能メタデータプラットフォーム(XMP)符号化データなど、方法500を実行する装置によってサポートされ、かつ認識される、標準化されているフォーマットを有し得る。いくつかの実装形態では、回復マップは、規格(たとえばAVIF、HEIF)に従う副画像として、または新規タイプの副画像(たとえば、画像アイテムが利得マップであり、したがって、たとえばヘッダにおけるレンジスケーリング係数を定義するように使用されるということを読取り装置に信号伝送する、AV1利得マップ画像アイテムを定義する)として記憶され得る。ブロック510にはブロック512が続き得る。
【0109】
ブロック512において、画像コンテナの中のLDR画像が抽出される。いくつかの例示の実装形態では、この抽出は、LDR画像を、その標準ファイルフォーマット(たとえばJPEG)から、表示および/または処理のために使用する未処理の画像フォーマットまたは他のフォーマットに復号するステップを含み得る。符号化マップからの復号値は次式で決定され得、各回復マップ値において、rはレンジであり、nはビット数である。
【0110】
recovery(x,y)=(encode(x,y)-(2^n-1)/2)/((2^n-1)/2r)
いくつかの例示の実装形態では、図2のブロック218に関して上記で説明した量子化されている符号化マップ(encode(x,y))の例に関連して、符号化マップからの復号値は次式で決定され得る。
【0111】
recovery(x,y)=(encode(x,y)-127.5)/63.75
これは、-2~2であって8ビットとして記憶される回復マップ値の範囲に関するスケールおよびオフセットをもたらす。別の例では、回復マップに記憶される値が-1~1であるなら、復号値は次式で決定され得る。
【0112】
recovery(x,y)=(encode(x,y)-127.5)/127.5
他の実装形態では、他の範囲、スケール、オフセット、記憶のビット数などが使用され得る。ブロック512にはブロック514が続き得る。
【0113】
ブロック514において、抽出LDR画像から導出したHDR画像(たとえば派生画像)である出力画像と、LDR画像である出力画像とのどちらを表示するべきか、ということが判定される。出力画像は、画像コンテナにアクセスして方法500を実行する装置に関連するかまたはこれと通信する少なくとも1つのターゲット表示装置に表示される。ターゲット表示装置は、たとえば、表示画面、タッチスクリーン、プロジェクタ、ディスプレイ付きゴーグルまたは眼鏡などの任意の適切な出力表示装置であり得る。表示される出力HDR画像は、(たとえば図2のブロック210の)画像コンテナを生成するのに使用される元のHDR画像のダイナミックレンジまでの、コンテナにおけるLDR画像より高い任意のダイナミックレンジを有し得る。
【0114】
出力HDR画像を表示するべきかどうかの判定は、出力画像を表示するターゲット表示装置の1つまたは複数の特性に基づき得る。たとえば、ターゲット表示装置のダイナミックレンジが、出力画像としてHDR画像またはLDR画像を表示するべきかどうかを判定することができる。いくつかの例では、ターゲット表示装置が、画像コンテナの中のLDR画像のダイナミックレンジよりも大きなダイナミックレンジを表示することができる場合には、HDR画像を表示するように判定される。ターゲット表示装置がコンテナの中のLDR画像の低ダイナミックレンジしか表示することができなければ、HDR画像は表示されない。
【0115】
いくつかの実装形態または事例では、ターゲット表示装置がLDR画像よりも大きなダイナミックレンジが可能であっても、HDR画像を表示しないことが判定される。たとえば、ユーザの設定または選好が、より小さいダイナミックレンジを有する画像を表示することや、画像を、視覚的に他のLDR画像と比較するために、LDR画像として表示することを、指示することなどがある。
【0116】
ブロック514において、HDR画像を表示しないと判定された場合には、方法はブロック516に進み、画像コンテナからの抽出LDR画像がターゲット表示装置によって表示される。一般的には、LDR画像は、LDR画像のレンジよりも大きなダイナミックレンジを表示することはできないLDR互換のターゲット出力装置によって表示される。LDR画像は、ターゲット表示装置によって直接出力され得、画像コンテナの中の回復マップおよびHDR画像フォーマットに関するあらゆるメタデータが無視される。いくつかの実装形態では、LDR画像は、標準フォーマットで提供され、したがって、標準フォーマットを読み出すことができるあらゆる装置によって読取りおよび表示が可能である。
【0117】
ブロック514において、出力画像としてHDR画像を表示すると判定されたら、方法はブロック518に進み、画像コンテナの中の回復要素が抽出される。回復要素に基づいて出力HDR画像を表示することに関連するメタデータは、画像コンテナから取得することもできる。たとえば、回復要素は、上記で説明されたような回復画像であり得、上記で説明されたようなメタデータを含むこと、および/またはこれを伴うことができる。コンテナに、および/または画像コンテナからのLDR画像に、メタデータも含まれ得、またはメタデータが代わりに含まれ得る。
【0118】
いくつかの実装形態では、上記で説明されたように、画像コンテナには複数の回復マップ(たとえば回復要素)が含まれ得る。これらの実装形態のうちいくつかでは、ブロック518において、複数の回復要素のうち1つが、以下の処理のために選択され得る。いくつかの実装形態では、選択される回復要素は、ユーザ入力またはユーザ設定によって指定され得、または、いくつかの実装形態では、処理を実行する装置によって、たとえばターゲット出力表示装置または他の出力表示構成要素のうち1つまたは複数の特性に基づいて(たとえば現在のユーザ入力なしで)自動的に選択され得、そのような特性は、オペレーティングシステムコールまたは他の利用可能なソースを使用して取得され得る。たとえば、いくつかの実装形態では、回復要素のうち1つまたは複数が、画像コンテナに記憶されている特定の表示装置特性の指示に関連付けられ得る(またはブロック518を実行する装置にアクセス可能である)。ターゲット表示装置が1つまたは複数の特定の特性(たとえば、ダイナミックレンジ、ピーク明度、色域など)を有すると判定されている場合には、ブロック518において、それらの特性に関連する特定の回復要素が選択され得る。複数の回復要素が別のレンジスケーリング係数に関連する場合には、このレンジスケーリング係数も選択して取り出される。ブロック518にはブロック520が続き得る。
【0119】
ブロック520において、回復マップは、回復要素から任意選択で復号される。たとえば、回復マップは、回復要素における圧縮形式または他の符号化形式でよく、解凍または復号され得る。たとえば、いくつかの実装形態では、回復マップは、上記で説明されたように双方向グリッドへと符号化され得、双方向グリッドから復号される。ブロック520にはブロック522が続き得る。
【0120】
ブロック524において、抽出LDR画像の輝度を出力HDR画像用にスケーリングするかどうかが判定される。いくつかの実装形態では、このスケーリングは、ターゲット表示装置の表示出力能力に基づく。たとえば、いくつかの実装形態または事例では、出力HDR画像の生成は、ターゲット表示装置が表示可能な特定の輝度に、部分的に基づく。いくつかの実装形態または事例では、この特定の輝度は、ターゲット表示装置が表示可能な最高輝度であり得、表示装置の最高輝度が出力HDR画像の輝度の上限を定める。いくつかの実装形態または事例では、ブロック524において、たとえば、出力HDR画像の生成がターゲット表示装置の輝度能力を考慮に入れず、LDR画像の輝度をスケーリングしないことが判定される。
【0121】
ブロック524において、ターゲット表示装置の能力に基づいて、出力画像の輝度をスケーリングしないことが判定されると、方法は、ブロック526に進み、ここにおいて、LDR画像の画素に回復マップの輝度利得が適用され、画素は、レンジスケーリング係数に基づいてスケーリングされ、出力HDR画像の対応する画素を決定する。たとえば、LDR画像の画素の輝度に輝度利得およびスケーリングが適用され、表示される出力HDR画像のそれぞれの対応する画素値を決定する。これによって、出力HDR画像は、元のHDR画像が画像コンテナを生成したときに使用したものと同一のダイナミックレンジを得る。
【0122】
いくつかの例示の実装形態では、LDR画像およびレンジスケーリング係数は対数空間に変換され、次式が使用され得、
HDR*(x,y)=LDR*(x,y)+log(range_scaling_factor)*recovery(x,y)
ここで、HDR*(x,y)は対数空間における回復HDR画像(出力画像)の画素(x,y)であり、LDR*(x,y)は、抽出LDR画像(たとえばlog(LDR(x,y))の対数空間バージョンの画素(x,y)であり、log(range_scaling_factor)は対数空間におけるレンジスケーリング係数であって、recovery(x,y)は画素(x,y)における回復マップ値である。たとえば、recovery(x,y)は対数空間における、正規化されている画素利得である。
【0123】
いくつかの例では、たとえばrecovery(x,y)*range_scaling_factorと、画素ごとの利得が適用されるとき、画像のLDRバージョンとHDRバージョンとの間が内挿される。これは、基本的に、画像の元のバージョンとレンジ圧縮バージョンとの間の内挿であり、補間量は、レンジスケーリング係数に依拠するという意味で、画素ごとにも、全体的にも、動的である。いくつかの例では、これは、回復マップ値が0未満であるかまたは1を超える場合には外挿と見なされ得る。
【0124】
いくつかの実装形態では、画像コンテナからのLDR画像が非線形に符号化され、たとえばガンマ符号化され、非線形LDR画像の一次画像色空間は、LDR画像が上記の式のために対数空間においてLDR*(x,y)に変換される前に、線形バージョンに変換される。たとえば、標準的なRGB(sRGB)伝達関数を有する色空間は、図3のブロック302に関する上記の説明と同様に、sRGB原色を維持する線形色空間に変換され得る。いくつかの実装形態では、コンテナの中のLDR画像は線形に符号化され得、非線形色空間からのそのような変換は使用されない。
【0125】
LDR画像の個々の画素の輝度に輝度利得を適用すると、元の(たとえば元々符号化されている)HDR画像に対応する画素をもたらす。LDR画像が無損失で記憶され、回復マップが与えられると、出力HDR画像は、(たとえば回復マップがLDR画像と同一の解像度を有する場合には)元のHDR画像と同一の画素値を有し得る。そうでなければ、ブロック532から生じる出力HDR画像は、元のHDR画像に非常に近い近似になり得、ユーザは、通常、出力画像の表示において差があることに視覚的に気づかない。
【0126】
いくつかの実装形態では、出力画像は、表示するために、対数空間から出力色空間に変換され得る。いくつかの実装形態では、たとえば、出力画像色空間は、多チャネル回復マップを使用する場合には、画像コンテナから抽出LDR画像の色空間と異なり得る。ブロック526には以下のブロック534が続き得る。
【0127】
ブロック524においてターゲット表示装置の出力に基づいて画像の輝度をスケーリングすることが判定されると、方法はブロック528に進み、ここで、ターゲット表示装置の最高輝度出力が決定される。ターゲット表示装置はHDR表示装置であり得、これらのタイプの装置は、表示装置のモデル、製造業者などに基づいて変化する可能性がある最高輝度値を表示することができる。いくつかの実装形態では、ターゲット表示装置の最高輝度出力は、オペレーティングシステムコールまたは他のソースを介して取得され得る。ブロック528には以下のブロック530が続き得る。
【0128】
ブロック530において表示係数が決定される。表示係数は、以下で説明されるように、表示される出力HDR画像のダイナミックレンジをスケーリングするように使用される。いくつかの実装形態では、表示係数は、ターゲット表示装置の輝度出力とレンジスケーリング係数とのうち小さい方以下であるように決定される。たとえば、このことは次式のように規定され得る。
【0129】
display factor≦min(maximum display luminance,range scaling factor)
この決定により、出力画像の輝度スケーリングの上限は、ターゲット表示装置の最高の表示輝度に定められ得る。これは、出力画像を、画像コンテナ生成の元になったHDR画像には存在するもののターゲット表示装置の最高輝度出力レンジよりも高い輝度範囲に(レンジスケーリング係数で指示されるように)スケーリングするのを防止する。いくつかの実装形態では、最高の表示輝度は、ターゲット表示装置の動特性であり得、たとえば、ユーザ設定、アプリケーションプログラムなどによって調節可能であり得る。
【0130】
いくつかの実装形態では、表示係数は、レンジスケーリング係数よりも大きく、最高の表示輝度以下の輝度に設定され得る。たとえば、これは、ターゲット表示装置が元のHDR画像に存在するダイナミックレンジ(これはレンジスケーリング係数で指示され得る)よりも大きなダイナミックレンジを出力することができる場合には、実行され得る。いくつかの例では、ユーザは、(ユーザ設定または選択入力によって)出力画像を明るくするように指示し得る。
【0131】
いくつかの実装形態では、表示係数は、ターゲット表示装置の最高の表示輝度や元のHDR画像の最高輝度よりも低い輝度に設定され得る。たとえば、表示係数は、1つまたは複数の表示条件、ユーザの入力、選好または設定などによって指示される、表示装置の特定の表示輝度に基づいて設定され得、たとえば、以下で説明されるようないくつかの事例またはアプリケーションにおいて望まれ得る、より低い輝度レベルの出力をもたらす。ブロック530には以下のブロック532が続き得る。
【0132】
ブロック532において、回復マップの輝度利得がLDR画像に適用され、LDR画像の輝度が表示係数に基づいてスケーリングされて、HDR画像の対応する画素を決定する。たとえば、回復画像に符号化されている輝度利得がLDR画像の画素輝度に適用され、表示される出力画像のそれぞれの対応する画素値を決定する。これらの画素値は、たとえばターゲット表示装置の特定の輝度出力(ターゲット表示装置の最高輝度出力であり得る)といった、ブロック530で決定されている表示係数に基づいてスケーリングされる。いくつかの実装形態では、これによって、LDR画像における高輝部の輝度が、表示装置が表示可能なレベルへと、元のHDR画像のダイナミックレンジに基づいて最大レベルまで増加され得、または、LDR画像における暗部の輝度が、表示装置が表示可能なレベルへと、元のHDR画像のダイナミックレンジに基づいて下限まで減少され得る。
【0133】
いくつかの例示の実装形態では、LDR画像および表示係数は対数空間に変換され、次式が使用され得、
HDR*(x,y)=LDR*(x,y)+log(display_factor)*recovery(x,y)
ここで、HDR*(x,y)は対数空間における回復HDR画像(出力画像)の画素(x,y)であり、LDR*(x,y)は、抽出LDR画像(たとえばlog(LDR(x,y))の対数空間バージョンの画素(x,y)であり、log(display_factor)は対数空間における表示係数であって、recovery(x,y)は画素(x,y)における回復マップ値である。たとえば、recovery(x,y)は対数空間における、正規化されている画素利得である。
【0134】
いくつかの例では、画素ごとの利得が適用されるとき、たとえばrecovery_map(x,y)*display_factorと、画像のLDRバージョンとHDRバージョンとの間を内挿することが検討され得る。これは、基本的に、画像の元のバージョンとレンジ圧縮バージョンとの間の内挿と考えられ得、補間量は、表示係数に依拠するという意味で、画素ごとにも、全体的にも、動的である。いくつかの例では、これは、回復マップ値が0未満であるかまたは1を超える場合には外挿と見なされ得る。
【0135】
いくつかの実装形態では、画像コンテナからのLDR画像が非線形に符号化され、たとえばガンマ符号化され、非線形LDR画像の一次画像色空間は、LDR画像が上記の式のために対数空間においてLDR*(x,y)に変換される前に、線形バージョンに変換される。たとえば、標準的なRGB(sRGB)伝達関数を有する色空間は、図3のブロック302に関する上記の説明と同様に、sRGB原色を維持する線形色空間に変換され得る。いくつかの実装形態では、コンテナの中のLDR画像は線形に符号化され得、非線形色空間からのそのような変換は使用されない。
【0136】
LDR画像の個々の画素の輝度に輝度利得を適用すると、元の(たとえば元々符号化されている)HDR画像に対応する画素をもたらす。LDR画像が無損失で記憶され、回復マップが与えられると、出力HDR画像は、(たとえば回復マップがLDR画像と同一の解像度を有する場合には)元のHDR画像と同一の画素値を有し得る。そうでなければ、ブロック532をから生じる出力HDR画像は、元のHDR画像に非常に近い近似になり得、ユーザは、通常、出力画像の表示において差があることに視覚的に気づかない。
【0137】
いくつかの実装形態では、出力画像は、表示するために、対数空間から出力色空間に変換され得る。いくつかの実装形態では、たとえば、出力画像色空間は、多チャネル回復マップを使用する場合には、画像コンテナから抽出されるLDR画像の色空間と異なり得る。ブロック532にはブロック534が続き得る。
【0138】
ブロック534において、ブロック526またはブロック532において決定されている出力HDR画像が、ターゲット表示装置によって表示される。出力HDR画像は、LDR画像のレンジよりも大きなダイナミックレンジを表示することができるHDR互換の表示装置によって表示される。画像コンテナから生成される出力HDR画像は、回復マップが輝度情報を記憶しているので、画像コンテナを生成するために使用された元のHDR画像と同一になり得、またはほぼ同一になり得て、一般的には、元のHDR画像との視覚的判別は不可能である。
【0139】
いくつかの実装形態では、(ブロック526またはブロック532からの)出力HDR画像は、たとえば線形画像または他の出力HDR画像フォーマットとしてターゲット表示装置に表示するのに適切であり得る。たとえば、出力HDR画像は、ブロック532の表示係数によって処理されていてよく、回復マップを適用することから生じる出力HDR画像が表示用に直接レンダリングされるように、表示のためのさらなる変更は不要になり得る。
【0140】
いくつかの実装形態または事例では、出力HDR画像は、ターゲット表示装置に表示するために、たとえば、ターゲット表示装置による表示に、出力HDR画像よりも適切であり得る画像フォーマットといった、別のフォーマットに変換され得る。たとえば、ブロック526からの(またはいくつかの実装形態ではブロック532からの)出力HDR画像は、ターゲットディスプレイの能力に適する輝度範囲に変換され得る(これは、いくつかの実装形態では、ブロック532における表示係数の使用に追加され得る)。いくつかの実装形態では、出力HDR画像は、たとえば、HLG/PQまたは他の標準的なHDRフォーマットといった標準画像フォーマットを有する標準画像に変換され得る。これらの例のいくつかにおいて、ターゲット表示装置によって表示するために、そのような標準画像に汎用のトーンマッピング技術が適用され得る。
【0141】
いくつかの実装形態または事例では、ブロック532の表示係数によってターゲット表示装置向けに処理されている出力HDR画像は、標準フォーマットへのさらなる変換や、表示のために汎用トーンマッピング技術を使用する処理はなしで、汎用トーンマッピング技術によってそのように変換して処理されている出力HDR画像よりも、ターゲット装置における高品質の画像表示をもたらし得る。たとえば、回復マップによってもたらされるローカルトーンマッピングは汎用またはグローバルのトーンマッピングよりも、たとえばより詳細で、より高品質の画像をもたらすことができる。その上、異なる装置仕様および実装形態に基づくグローバルトーンマッピング技術を使用する、HDR画像から何らかの標準フォーマットへの変換には、曖昧さや差異がある可能性がある。
【0142】
いくつかの実装形態では、表示装置に、たとえば拡張レンジフォーマットといった線形フォーマットの画像を出力するための技術が使用され得、このフォーマットでは、0は黒を表現し、1はSDR白を表現し、1を超える値はHDR明度を表現する。そのような技術は、ターゲット表示装置の表示能力を扱うためのグローバルトーンマッピング技術に伴う問題を回避することができる。本明細書で説明されている1つまたは複数の技術は、上記で説明されているような表示係数によって回復マップを適用することにより、表示装置の表示能力を扱うことができ、そのため、拡張されるレンジ値が表示装置の表示能力を超過することはない。
【0143】
前述のように、装置は、HDR表示装置の最高輝度出力および回復マップに記憶されている輝度利得に基づいて、LDR画像の画素輝度をスケーリングすることができる。いくつかの実装形態では、たとえば多くの写真や映像の用途において、HDR出力画像を生成するために、(ターゲット表示装置が元のHDR画像の全範囲を表示することができる場合には)画像コンテナを生成するために使用された元のHDR画像のフルダイナミックレンジを再現する、LDR画像のスケーリングが使用され得る。いくつかの実装形態では、LDR画像のスケーリングは、出力HDR画像用に、LDR画像のレンジよりも高い任意のダイナミックレンジを設定することができる。いくつかの実装形態では、ダイナミックレンジは、元のHDR画像のレンジより小さくなることもできる。たとえば、出力画像輝度は、ターゲット表示装置の能力および/または他の基準に基づいてスケーリングされ得、あるいは、たとえば見る人が視覚的に不快になるかまたは疲労する恐れのある、画像の表示明度を低減するために、元のHDR画像および/またはターゲット表示装置の最高の能力よりも低くスケーリングされ得る。たとえば、表示装置のまわりの周囲光、時間帯などの様々な要因のうち1つまたは複数を検知して、出力画像用に、低減されるダイナミックレンジまたは低減される最高輝度を決定するために、疲労軽減アルゴリズムと、このアルゴリズムを実施する装置と通信する1つまたは複数の光センサとが使用され得る。たとえば、出力画像の輝度レベルは、本明細書でいくつかの実装形態に関して説明されているように、HDR画像を決定するのに使用される回復マップ値および/または表示係数をスケーリングすることによって、たとえば、上記に示されている例示の式におけるrange_scaling_factorおよび/または表示係数をスケーリングすることによって、減少され得る。別の例では、装置は、装置のバッテリー電力レベルが閾値レベル未満になったので(たとえば高い表示明度を回避することによって)バッテリー電力を節約するべきであると判定することがあり、その場合、HDR画像を、元のHDR画像の明度未満で表示する。
【0144】
いくつかの実装形態では、(たとえばターゲット表示装置が元のHDR画像よりも大きなダイナミックレンジを有する場合には)LDR画像の輝度は、元のHDR画像のダイナミックレンジよりも大きく(たとえばより高く)スケーリングされ得る。出力HDR画像のダイナミックレンジは、元のHDR画像のダイナミックレンジに拘束されず、いかなる特定の高ダイナミックレンジにも拘束されない。いくつかの例では、出力HDR画像の最大のダイナミックレンジは、元のHDR画像の最大のダイナミックレンジおよび/またはターゲット出力装置の最大のダイナミックレンジよりも小さくなり得る。
【0145】
いくつかの実装形態では、出力HDR画像の表示は、より低い輝度レベルから出力HDR画像の全(最大の)輝度レベル(前述のように決定されている最大輝度レベル)まで漸進的にスケーリングされ得る。たとえば、2~4秒などの特定の期間(いくつかの実装形態ではユーザ構成可能である)にわたって漸進的にスケーリングされ得る。漸進的にスケーリングすると、低輝度(たとえばLDR画像)を表示した後により高い輝度のHDR画像を表示するとき、明度が突然大きく増加することによるユーザの不快感を回避することができる。本明細書で説明されたように、たとえばHDR画像を決定する際に使用される回復マップ値および/または表示係数をスケーリングして、LDR画像を、そのHDRバージョンまで、たとえば複数のステップで漸進的に明るくすることにより、LDR画像がそのHDRバージョンまで漸進的にスケーリングされ得る。たとえば、range_scaling_factorおよび/またはdisplay_factorは、前述の式でスケーリングされ得る。他の実装形態では、その期間にわたって、より高いダイナミックレンジの中間画像を漸進的に取得するために、複数のスケーリング動作が連続して実行され得る。HDRフォーマットに関して本明細書で説明されたようなローカルトーンマッピングではなく、前述のようにグローバルトーンマッピング技術を使用してLDR画像をHDR画像へとスケーリングする他のHDR画像フォーマットは、そのような漸進的スケーリングを実行するとき表示品位がより低くなる可能性、または漸進的スケーリングをサポートしない可能性がある。
【0146】
いくつかの例では、HDR画像輝度のこの漸進的スケーリングは、特定の表示条件に関して実行または起動され得る。そのような条件には、たとえば、表示装置にLDR画像を表示した直後に出力HDR画像を表示することが含まれ得る。いくつかの例では、LDR画像のグリッドが表示され得て、ユーザは、これらの画像のうち1つを選択し、この選択画像のHDRバージョンを画面に表示する(前述のように、HDR画像は、関連する画像コンテナから、回復要素に基づいて判定され得る)。LDR画像表示からHDR画像表示に切り換えるとき、明度が突然大きく増加するのを回避するために、HDR画像は、当初はLDR画像の低い輝度レベルで表示されて漸進的に更新され得る(たとえば、高いダイナミックレンジを有する画像コンテンツを累進的に表示することにより、増分においてその最大輝度レベルまで増加する。たとえば、フェードイン、フェードアウトのアニメーション)。別の例では、漸進的スケーリングを起動するための表示条件は、本明細書で説明されているように、(たとえば装置のまわりの低い周囲光レベルに基づいて)低レベルに設定される全体的な画面明度を含み得る。たとえば、全体的な画面明度は、HDR輝度の漸進的スケーリングを起動するための特定の閾値レベルを下回る輝度レベルを有し得る。
【0147】
いくつかの事例または条件において、たとえば、1つまたは複数のHDR画像が表示されて、出力HDR画像によって置換されるときには、出力HDR画像は、漸進的スケーリングなしで、直ちにその最高輝度で表示され得る。たとえば、第1のHDR画像の表示に続いて第2のHDR画像が表示されるとき、ユーザが第1のHDR画像の高輝度を見ることに既に慣れているので、第2のHDR画像はその最高輝度で直ちに表示され得る。
【0148】
いくつかの実装形態では、出力画像(たとえばLDR出力画像またはHDR出力画像のいずれか)を表示した後、出力画像を表示した装置は、ユーザ(または、たとえば他の装置といった他のソース)から、出力画像の表示を修正して、表示のダイナミックレンジを、たとえば表示装置および/または元のHDR画像の、最高のダイナミックレンジまで増加または減少させるように命令するユーザ入力を受け取ることができる。たとえば、装置は、表示を修正するユーザ入力を受け取ることに応答して、ユーザ入力に従って(前述の)表示係数を修正することができ、このことは、表示される出力画像のダイナミックレンジを変化させる。いくつかの例では、ユーザがダイナミックレンジを減少すると、表示係数が対応する量だけ減少され得て、出力画像は、もたらされるより小さいダイナミックレンジで表示される。表示のこの変化は、ユーザ入力に応答して、リアルタイムで提供され得る。
【0149】
いくつかの実装形態では、出力画像を表示する装置は、出力画像を表示した後に、たとえばユーザまたはたとえば他の装置といった他のソースから、出力画像を修正するかまたは編集するように命令する入力を受け取ることができる。いくつかの実装形態では、そのような修正の後に、回復マップは、たとえば、もはやLDR画像に適切に適用し得ないので、棄却され得る。いくつかの実装形態では、回復マップはそのような修正の後に維持され得る。いくつかの実装形態では、回復マップは、LDR画像の修正バージョンを反映するために、出力画像に対する修正に基づいて更新され得る。
【0150】
いくつかの例では、HDRディスプレイのユーザおよび/またはHDRを認識する編集アプリケーションプログラムによって修正が実行されると、修正の特性はより大きなダイナミックレンジにおいて知られ、編集画像に基づいて回復マップが決定され得る。たとえば、いくつかの実装形態では、画像の画像編集インターフェースへのロード時間において、回復マップは、全解像度画像に復号され、アルファチャネル、他のチャネル、または出力画像に関連付けられているデータとして、エディタに提示され得る。たとえば、回復マップは、エディタにおいて、画像用チャネルのリストの中に追加のチャネルとして表示され得る。LDR画像とHDR出力画像との両方がエディタに表示され得て、両方のバージョンにおける画像に対する修正が可視化される。ユーザがエディタのツールを使用して画像を編集するとき、対応する編集は、回復マップおよびLDR画像(ベース画像)に対して行われる。いくつかの例では、ユーザは、画像のRGBまたはRGBA(赤緑青アルファ)を編集するかどうかを決定することができる。いくつかの実装形態では、ユーザは、回復マップ(たとえばアルファチャネル)を手動で編集して、表示されているLDR画像が同一のままである間は、表示されているHDR画像の変化を観察することができる。
【0151】
いくつかの実装形態では、レンジスケーリング係数の増減を調節することができる画像編集インターフェースにおいて、全体的なダイナミックレンジ制御が提供され得る。画像に対するクロッピング、リサンプリングなどの操作を編集すると、アルファチャネルがRGBチャネルと同様に更新され得る。LDR画像は、保存するとき、画像コンテナに再び保存され得る。保存されるLDR画像は、インターフェースにおいて編集されたものでよく、または編集済みのHDR画像からローカルトーンマッピングによって生成されるか、もしくは回復マップによって各画素においてスケーリング(たとえば分割)して編集済みのHDR画像に基づいて生成される、新規のLDR画像でもよい。編集済みの回復マップは、画像コンテナに再び保存され得る。様々な実装形態において、回復マップは、そのような符号化が使用される場合には、双方向グリッドに再処理され得、または、画像および回復マップは、たとえば画像がさらに編集される場合には、より大きな必要記憶量を用いて無損失で保存され得る。
【0152】
いくつかの実装形態では、エディタまたは他のプログラムは、説明されている画像フォーマットのLDR画像および回復マップを、たとえば10ビットのHDR AVIF画像または別のHDRフォーマットの画像といった標準的なHDR画像へと変換することができる。
【0153】
様々な実装形態において、方法200、300、400、および/または500の様々なブロックは、組み合わされてよく、複数のブロックに分割されてよく、並行して実行されてよく、または非同期で実行されてもよい。いくつかの実装形態では、これらの方法の1つまたは複数のブロックが実行される順序は、これらの図に示されているものと同じでも異なってもよい。たとえば、様々な実装形態において、図2のブロック210および212および/または図3のブロック302および304は、異なる順序で、または並行して実行され得る。方法200、300、400、および/または500、あるいはその一部は、さらなる入力を使用して、任意の回数繰り返され得る。たとえば、いくつかの実装形態では、1つまたは複数の新規画像が、方法を実行する装置によって受け取られるとき、および/またはユーザの画像ライブラリに記憶されるとき、方法200が実行され得る。
【0154】
いくつかの実装形態では、HDR画像とLDR画像とは、上記で説明されているそれぞれの役割を逆にされ得る。たとえば、HDR画像よりもダイナミックレンジが小さい元のLDR画像ではなく、元のHDR画像が、(たとえばブロック218において、ベース画像として)画像コンテナに記憶され得る。回復マップは、決定されて、HDR画像のダイナミックレンジよりも小さい、低ダイナミックレンジしか表示することができないLDR表示装置のために、ベースHDR画像から派生出力LDR画像を決定するやり方を指示する画像コンテナに記憶され得る。回復マップは、ベースHDR画像および元のLDR画像に基づく利得および/またはスケーリング係数を含み得、いくつかの実装形態では、元のLDR画像は、上記で説明されたのと同様にトーンマッピング画像(そうでなければHDR画像のレンジ変換)になり得る。
【0155】
説明されている実装形態のうちいくつかは、全体画像に対するグローバルまたは汎用のトーンマッピングをもたらす現在の技術(たとえばHLG/PQ伝達関数)の制約なしで、HDR画像のトーンマッピングに基づいて、より高品質のLDR画像を取得して出力するためのHDR画像をもたらすアプリケーションを使用可能にすることができる。本明細書で説明されている、回復マップ技術を使用することによって提供されるローカルトーンマッピングは、たとえば、画像の共有、またはLDR画像しかサポートしないサービスまたはアプリケーションに対する画像のアップロードなどの用途のために、グローバルまたは汎用のトーンマッピングを適用することなく、HDR画像からLDR画像への、より高い忠実度の変換を可能にすることができる。
【0156】
いくつかの実装形態では、本明細書で説明されているHDR画像などのHDR画像の表示のために、輝度制御が提供され得る。装置のユーザは、HDR輝度制御を調節して、表示装置がHDR画像を表示する最高輝度(たとえば明度)を指定することができる。いくつかの実装形態では、HDR画像の最高輝度は、HDR画像の表示される画素の最高の平均輝度として決定され得、というのは、そのような平均は、ユーザに知覚される画像明度を示し得るからである。他の実装形態では、最高輝度は、HDR画像の最も明るい画素の最大値として、HDR画像の1つまたは複数の特定の各画素の最大値(またはそのような特定の各画素の平均の最大値)として、かつ/またはHDR画像の1つまたは複数の他の特性に基づいて、決定され得る。輝度制御が、HDR画像の表示可能な最高輝度未満の値に設定されると、装置は、出力HDR画像の最高輝度を、輝度制御に基づくより低い輝度レベルに減少させる。これによって、ユーザは、より低い最大輝度レベルを好むなら、たとえば、高輝度HDR画像の眩しさによる不快感または疲労を回避するため、および/または、高輝度HDR画像と、HDR画像の外部の表示画面の他のコンテンツ(たとえばLDR画像、ユーザインターフェース要素など、より低い輝度で表示され得る)との間のコントラストを減少させるために、表示されるHDR画像の最高輝度を調節することができる。場合によっては、HDR画像の最大輝度レベルを減少させると、表示の明度を減少させるによって、表示装置によるバッテリー電力の消費を低減することができる。
【0157】
たとえば、HDR輝度制御は、HDR画像を表示する装置上で実行するアプリケーションのためにHDR画像輝度を制御する装置による(たとえば装置上で実行するオペレーティングシステムによる)全体的輝度制御またはシステム輝度制御として実施され得る。いくつかの例では、輝度制御は、装置上で実行するすべてのアプリケーション、装置上で実行する特定のタイプのすべてのアプリケーション(たとえば画像観察アプリケーションおよび画像編集アプリケーション)、および/またはユーザによって指定された特定のアプリケーションに適用され得る。これによって、ユーザは、たとえば、表示される個々のHDR画像に対する輝度調節を必要とすることなく、装置が表示するすべての(または多くの)HDR画像に対して単一の輝度調節を指定することが可能になる。そのようなシステム輝度制御は、装置上で実行するすべてのアプリケーションによる表示の整合性をもたらすことができ、ユーザに、表示されるHDR画像の最高輝度に関するそれ以上の制御を提供することもできる。いくつかの実装形態では、HDR輝度制御は、たとえばアクセス可能性制御、ユーザ選好、ユーザ設定などのような、装置上の他のシステム制御を用いて実施され得る。システム輝度制御によって設定される値は、その画像を表示するために使用される、たとえば、上記で説明されたような最高の表示装置輝度、画像に関する個々の輝度設定などに基づく表示係数といった他のスケーリング係数に加えて、HDR画像出力の出力を調節するために使用され得る。
【0158】
いくつかの例では、システム輝度制御は、たとえば、表示装置がHDR画像に関して表示可能な最高輝度値または最高輝度の割合(たとえば、最高輝度が、HDR画像の画素の平均輝度の最大値として決定され得る場合には、HDR画像の最も明るい画素もしくは特定の画素の最大値、または1つまたは複数の他の画像特性に基づく最大値)を指示する、ユーザが調節可能なスライダまたは値として実施され得る。たとえば、輝度制御が、ユーザによって70%(たとえば、前述のように最高輝度を決定するために使用される場合には、表示装置の最高輝度の70%)に設定される場合には、各HDR画像は、それらの最高輝度の70%で表示され得る。いくつかの実装形態では、ユーザは、システム輝度制御によって、種々の画面輝度に関して種々の最高のHDR画像輝度を指定することができる。たとえば、全体の画面が高い画面輝度でコンテンツを表示している場合には、全体的な画面輝度とHDR画像輝度との間にはあまりコントラストがないので、最高のHDR画像輝度は、たとえば90%または100%と、より高くされ得る。低い画面輝度では、最高のHDR画像輝度は、全体的な画面輝度とHDR画像輝度との間のコントラストを減少させるために、たとえば50%または60%と、より低くされ得る。いくつかの実装形態では、システム輝度制御は、(たとえばスライダまたは他のインターフェース制御部によって)最高のSDR画像輝度と相関する設定として与えられ得る。たとえば、設定は、最高のHDR輝度値を、最高のSDR画像輝度のN倍の値に設定することができ、Nは、画像を表示するように使用される表示装置の最高輝度に基づく最大の設定可能な値を有する。いくつかの例では、設定値1は、SDR(ベース)画像の最高輝度を指示することができ、輝度制御の最大の値または設定である設定値は、表示装置の最高輝度において表示するように指示する。
【0159】
いくつかの実装形態では、HDR画像輝度に関するこれらの変数設定は、ユーザインターフェース制御を介して入力され得る。たとえば、ユーザは、現在の画面輝度に対する可変の最高HDR輝度を有するグラフを定義することができる。いくつかの実装形態では、ユーザインターフェースにおいて複数の所定のHDR輝度構成が提供され得て、ユーザは、これらの構成のうち1つを装置で使用するように選択することができる。たとえば、各構成は、画面輝度値の特定のレンジに関連する、最高のHDR輝度値の別々のセットをもたらすことができる。いくつかの実装形態では、ユーザによって選択されたら、HDR画像をLDR輝度で表示するようにHDR輝度を除去するトグル制御が提供され得る。たとえば、ユーザによってトグルが選択されると、関連する回復マップまたは回復要素が(本明細書で説明されているように)無視され得て、ベース画像が表示される。
【0160】
図6は、高ダイナミックレンジを有する画像600の例示的近似(HDR画像のフルダイナミックレンジは、これでは表現できない。たとえば、これはHDRシーンのLDR描写である)の具体例である。たとえば、HDR画像600は、HDR画像を取り込むことができるカメラで取り込んだものでよい。画像600において、画像領域602、604、および606は、詳細に示されており、これらの領域は、観測者には自然に見えるので、より大きなダイナミックレンジで描写され得る。
【0161】
図7は、標準的なJPEG画像の低ダイナミックレンジなど、HDR画像600よりも小さいダイナミックレンジを有する、LDR画像700の表現の一例を示す。LDR画像700は、画像600と同一のシーンを描写している。たとえば、画像700は、カメラが取り込んだLDR画像でよい。この例では、空の画像領域702は適切に露光されているが、前景画像領域704および706は、画像におけるレンジ圧縮の不足によって露光が不十分な暗部であり、したがって、これらの領域は暗すぎて視覚的詳細を失っている。
【0162】
図8は、画像800の別の例であり、LDR画像700と同様に、HDR画像600よりも小さいダイナミックレンジを有し、画像600や700と同一のシーンを描写している。たとえば、画像800は、カメラが取り込んだLDR画像でよい。この例では、画像におけるレンジ圧縮の不足によって空の画像領域802は過度に露光され、詳細は失われているが、前景画像領域804および806は、適切に露光され、適切な詳細を含む。
【0163】
図9は、レンジ圧縮LDR画像900の例である。たとえば、画像900は、HDR画像600からローカルトーンマッピングされ得る。ローカルトーンマッピングは様々なトーンマッピング技術のうち任意のものを使用して実行され得る。たとえば、画像700の暗部は、画像の縁部のコントラストを維持しながら輝度を増加され得る。したがって、画像900は、画像600よりもより小さいダイナミックレンジを有する(このことは、これらの図では知覚不可能である)が、図7の画像700および図8の画像800を上回って、画像の詳細を維持することができる。画像900などのレンジ圧縮画像は、本明細書で説明されている画像フォーマットにおけるLDR画像として使用され得、与えられるHDR画像のLDRバージョンとして、説明されている画像コンテナに含まれ得る。
【0164】
図10は、本明細書で説明される1つまたは複数の機能を実施するために使用され得る例示の装置1400のブロック図である。一例では、装置1000は、たとえば図1に示されているクライアント装置120~126のうち任意のものといったクライアント装置を実施するために使用され得る。あるいは、装置1000は、たとえばサーバ装置104といったサーバ装置を実施することができる。いくつかの実装形態では、装置1000は、クライアント装置、サーバ装置、またはクライアント装置とサーバ装置との両方を実施するために使用され得る。装置1000は、前述のように、任意の適切なコンピュータシステム、サーバ、または他の電子装置もしくはハードウェア装置であり得る。
【0165】
本明細書で説明されている1つまたは複数の方法は、たとえば、任意のタイプのコンピューティングデバイス上で実行され得るスタンドアロンのコンピュータプログラム、ウェブページを有するウェブアプリケーション、ウェブブラウザ上で動作するプログラム、モバイルコンピューティングデバイス(たとえば、携帯電話、スマートフォン、タブレットコンピュータ、ウェアラブルデバイス(腕時計、アームバンド、宝石、帽子、仮想現実ゴーグルまたは眼鏡、拡張現実ゴーグルまたは眼鏡、ヘッドマウントディスプレイなど)、ラップトップコンピュータなど)上で動作するモバイルアプリケーション(「app」)として、いくつかの環境およびプラットフォームにおいて動作することができる。一例では、クライアント/サーバアーキテクチャが使用され得、たとえば、(クライアント装置としての)モバイルコンピューティングデバイスが、サーバ装置にユーザ入力データを送り、サーバから、出力用の(たとえば表示用の)最終的な出力データを受け取る。別の例では、すべての計算が、モバイルコンピューティングデバイス上のモバイルapp(および/または他のapp)の内部で実行され得る。別の例では、計算は、モバイルコンピューティングデバイスと1つまたは複数のサーバ装置との間に分割され得る。
【0166】
いくつかの実装形態では、装置1000は、プロセッサ1002、メモリ1004、および入出力(I/O)インターフェース1006を含む。プロセッサ1002は、プログラムコードを実行して装置1000の基本動作を制御するための、1つまたは複数のプロセッサおよび/または処理回路であり得る。「プロセッサ」は、データ、信号または他の情報を処理する、任意の適切なハードウェアシステム、機構または構成要素を含む。プロセッサが含み得るシステムは、1つまたは複数のコア(たとえば単一コア、デュアルコア、またはマルチコア構成)を有する汎用中央処理装置(CPU)、(たとえばマルチプロセッサ構成における)複数の処理ユニット、グラフィック処理ユニット(GPU)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、複雑なプログラム可能論理デバイス(CPLD)、機能性を実現するための専用回路(たとえば1つまたは複数のハードウェア画像復号器および/またはビデオ復号器)、ニューラルネットワークモデルに基づく処理を実施するための専用プロセッサ、ニューラル回路、マトリクス計算(たとえばマトリクス乗算)用に最適化したプロセッサ、または他のシステムを有する。いくつかの実装形態では、プロセッサ1002は、ニューラルネットワーク処理を実施する1つまたは複数のコプロセッサを含み得る。いくつかの実装形態では、プロセッサ1002は、データを処理して確率的出力を生成するプロセッサでよく、たとえば、プロセッサ1002によって生成される出力は、不正確であるか、または予期される出力から、ある範囲内で正確であり得る。処理は、特定の地理的な位置に制限される必要はなく、時間的な制限もなくてよい。たとえば、プロセッサの機能は、「リアルタイム」、「オフライン」、「バッチモード」などで実行され得る。処理の一部は、別々の(または同一の)処理システムによって、別々の時間および別々の位置において実行され得る。コンピュータは、メモリと通信する任意のプロセッサでよい。
【0167】
メモリ1004は、一般的には、プロセッサ1002によってアクセスされるように装置1000の中に用意され、プロセッサが実行する命令を記憶するのに適した、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、電気的消去可能読出し専用メモリ(EEPROM)、フラッシュメモリなどの任意の適切なプロセッサ読取り可能な記憶媒体でよく、プロセッサ1002から分離して配置されてよく、またはプロセッサ1002に組み込まれてもよい。メモリ1004に記憶され得るソフトウェアは、オペレーティングシステム1008、画像アプリケーション1010(たとえば図1の画像アプリケーション106であり得る)、他のアプリケーション1012、およびアプリケーションデータ1014を含み、プロセッサ1002によってサーバ装置1000上で動作する。他のアプリケーション1012は、データ表示エンジン、ウェブホスティングエンジン、地図アプリケーション、画像表示エンジン、通知エンジン、ソーシャルネットワーキングエンジン、メディア表示アプリケーション、通信アプリケーション、ウェブホスティングエンジンまたはアプリケーション、メディア共有アプリケーションなどのアプリケーションを含み得る。いくつかの実装形態では、画像アプリケーション1010は、プロセッサ1002が、たとえば図2図5および/または図10図12の方法のうちいくつかまたはすべてといった、本明細書で説明されている機能を実行することを可能にする命令を含み得る。いくつかの実装形態では、本明細書で説明されているフォーマットで記憶される画像(回復マップ、メタデータなどを含む)は、アプリケーションデータ1014または他のデータとして、メモリ1004、および/または装置1000と通信する1つまたは複数の他の装置の他の記憶装置に記憶され得る。いくつかの例では、メモリ1004に記憶される画像アプリケーション1010または他のアプリケーションは、画像符号化/映像符号化およびコンテナ生成のモジュール(たとえば図2図4の方法を実行する)および/または画像復号/映像復号モジュール(たとえば図5の方法を実行する)を含み得、あるいは、そのようなモジュールは、少数または単一のモジュールまたはアプリケーションに組み込まれ得る。
【0168】
メモリ1004の中のあらゆるソフトウェアが、代わりに、他の適切な記憶位置またはコンピュータ可読媒体に記憶され得る。加えて、メモリ1004(および/または他の接続されている記憶装置)は、1つまたは複数のメッセージ、1つまたは複数の分類法、電子百科事典、辞書、デジタル地図、シソーラス、知識ベース、メッセージデータ、文法、ユーザ選好、ならびに/あるいは、本明細書で説明されている機能において使用される他の命令およびデータを記憶することができる。メモリ1004および他のタイプの記憶機構(磁気ディスク、光ディスク、磁気テープ、または他の有体のメディア)は、「記憶機構」または「記憶装置」と見なされ得る。
【0169】
I/Oインターフェース1006は、サーバ装置1000を他のシステムおよび装置とインターフェースすることを可能にする機能をもたらし得る。インターフェースされる装置は、装置1000の一部として含まれ得、または分離して、装置1000と通信することができる。たとえば、ネットワーク通信装置、記憶装置(たとえばメモリおよび/またはデータベース)、および入出力装置は、I/Oインターフェース1006を介して通信することができる。いくつかの実装形態では、I/Oインターフェースは、入力装置(キーボード、ポインティングデバイス、タッチスクリーン、マイクロフォン、カメラ、スキャナ、センサなど)および/または出力装置(表示装置、スピーカ装置、プリンタ、モータなど)などのインターフェース装置に接続することができる。
【0170】
I/Oインターフェース1006に接続可能なインターフェースされる装置のいくつかの例は、たとえば画像、映像、および/または本明細書で説明されているようなアプリケーションのユーザインターフェースといったコンテンツを表示するために使用され得る1つまたは複数の表示装置1020を含み得る。表示装置1020は、任意の適切な表示装置であり得、ローカル接続(たとえば表示バス)および/またはネットワーク接続によって装置1000に接続され得る。表示装置1020は、LCD、LED、またはプラズマディスプレイスクリーン、CRT、テレビ、モニタ、タッチスクリーン、3D表示画面、または他の視覚表示装置などの任意の適切な表示装置を含み得る。表示装置1020は、たとえばタッチスクリーン入力装置といった入力装置としても作用し得る。たとえば、表示装置1020は、モバイルデバイスのフラットディスプレイスクリーン、眼鏡またはヘッドセット装置の複数の表示画面、またはコンピュータデバイスのモニタ画面であり得る。
【0171】
I/Oインターフェース1006は、他の入力装置や出力装置にインターフェースすることができる。いくつかの例は、画像を取り込むことおよび/またはジェスチャを検知することができる1つまたは複数のカメラを含む。いくつかの実装形態は、(たとえば取り込まれる画像、音声命令などの一部としての)音を取り込むためのマイクロフォン、ジェスチャを検知するためのレーダまたは他のセンサ、音を出力するための音声スピーカ装置または他の入力装置や出力装置を用意することができる。
【0172】
図示の容易さのために、図10は、プロセッサ1002、メモリ1004、I/Oインターフェース1006、およびソフトウェアブロック1008~1014の各々の、1つのブロックを示す。これらのブロックは、1つまたは複数のプロセッサまたは処理回路、オペレーティングシステム、メモリ、I/Oインターフェース、アプリケーション、および/またはソフトウェアモジュールを表現し得る。他の実装形態では、装置1000は、示された構成要素のすべてを有するわけではなく、かつ/または、本明細書で示されているものの代りに、もしくはそれに加えて、他のタイプの要素を含む他の要素を有し得る。いくつかの構成要素は、本明細書で説明されているいくつかの実装形態においてブロックおよび動作を実行するものとして説明されているが、環境100、装置1000、類似のシステム、またはそのようなシステムに関連する任意の適切なプロセッサの任意の適切な構成要素もしくは構成要素の組合せが、説明されているブロックおよび動作を実行し得る。
【0173】
本明細書で説明されている方法は、コンピュータ上で実行され得るコンピュータプログラム命令またはコードによって実施され得る。たとえば、コードは、1つまたは複数のデジタルプロセッサ(たとえばマイクロプロセッサまたは他の処理回路)によって実施され得、磁気テープ、取外し可能なコンピュータディスケット、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、フラッシュメモリ、剛性磁気ディスク、光ディスク、ソリッドステートメモリドライブなどを含む、磁気記憶媒体、光記憶媒体、電磁記憶媒体、または半導体記憶媒体、半導体メモリすなわちソリッドステートメモリなどの非一時的コンピュータ可読媒体(たとえば記憶媒体)を含むコンピュータプログラム製品に記憶され得る。プログラム命令はまた、たとえば、サーバ(たとえば分散システムおよび/またはクラウドコンピューティングシステム)から配信されるサービス(SaaS)としてのソフトウェアの形態で、電子信号に含有され得て、電子信号として供給され得る。あるいは、1つまたは複数の方法が、ハードウェア(論理ゲートなど)、またはハードウェアとソフトウェアとの組合せで実施され得る。例示のハードウェアは、プログラマブルプロセッサ(たとえばフィールドプログラマブルゲートアレイ(FPGA)、複雑なプログラム可能論理デバイス)、汎用プロセッサ、グラフィックスプロセッサ、特定用途向け集積回路(ASIC)などであり得る。1つまたは複数の方法は、システム上で動作するアプリケーションの一部もしくは構成要素、または他のアプリケーションおよびオペレーティングシステムに関連して動作するアプリケーションもしくはソフトウェアとして実行され得る。
【0174】
特定の実装形態を参照しながら説明されてきたが、これらの特定の実装形態は、単なる実例であって、限定するものではない。例に示されている概念は、他の例や実装形態に適用され得る。
【0175】
上記説明に加えて、ユーザには、本明細書で説明されているシステム、プログラム、または機能は、ユーザ情報(たとえば、ユーザの社会的ネットワーク、社会活動、または事業、職業、に関する、情報、ユーザの選好、またはユーザの現在の位置)の収集を可能にするか、可能にするならいつか、ということと、ユーザは、サーバからコンテンツまたは通信を送られるか、ということとの、両方に関する選択を可能にする制御が提供され得る。加えて、ある特定のデータは、記憶されるかまたは使用される前に個人情報が削除されるように、1つまたは複数のやり方で処理されてよい。たとえば、ユーザの識別情報は、ユーザに関する個人情報が判定されないように処理されてよく、または位置情報(都市、郵便番号、または州レベルなど)が取得される場合には、ユーザの特定の位置を判定できないように、ユーザの地理的な位置は一般化されてよい。したがって、ユーザは、ユーザに関して収集される情報は何か、その情報はどのように使用されるか、ユーザに提供される情報は何か、といったことを制御し得る。
【0176】
本開示で説明されている機能ブロック、動作、機能、方法、装置、およびシステムは、当業者に既知の、システム、装置、および機能ブロックの種々の組合せとして統合され得、または分割され得ることに留意されたい。特定の実装形態のルーチンを実施するために、任意の適切なプログラム言語およびプログラミング技術が使用され得る。たとえば手続き型またはオブジェクト指向の、種々のプログラミング技術が採用され得る。ルーチンは、単一の処理装置または複数のプロセッサ上で実行してよい。ステップ、動作、または計算は、特定の順序で提示されていることがあるが、別の特定の実装形態では、順序が変更される可能性がある。いくつかの実装形態では、本明細書では順次に実行されるものとして示されている複数のステップまたは動作は、同時に実行されてもよい。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
【手続補正書】
【提出日】2024-02-02
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータが実行する方法であって、
第1のダイナミックレンジを有して特定のシーンを描写する第1の画像を取得するステップと、
前記第1のダイナミックレンジと異なる第2のダイナミックレンジを有して特定のシーンを描写する第2の画像を取得するステップと、
前記第1の画像および前記第2の画像に基づいて、回復マップを生成するステップとを含み、前記回復マップは、前記第1の画像の一部と前記第2の画像の対応する部分との間の輝度の差を符号化し、前記差は、前記第2の画像の最高輝度と前記第1の画像の最高輝度との比を含むレンジスケーリング係数によってスケーリングされ、
前記方法は、
画像コンテナに前記第1の画像および前記回復マップを供給するステップを含み、前記画像コンテナは、前記第1の画像に前記回復マップを適用することに基づいて派生画像を表示するために、読取り可能であり、前記派生画像は、前記第1のダイナミックレンジと異なるダイナミックレンジを有する、
方法。
【請求項2】
前記第2のダイナミックレンジは前記第1のダイナミックレンジよりも大きく、前記派生画像のダイナミックレンジは前記第1のダイナミックレンジよりも大きい、請求項1に記載の方法。
【請求項3】
前記画像コンテナは、
前記第1のダイナミックレンジを表示することができる第1の表示装置によって前記第1の画像を表示して、
前記第1のダイナミックレンジよりも大きなダイナミックレンジを表示することができる第2の表示装置によって前記派生画像を表示する
ように読取り可能である、請求項2に記載の方法。
【請求項4】
前記第1の画像を取得するステップは、前記第2の画像に対するレンジ圧縮を実行するステップを含む、請求項2に記載の方法。
【請求項5】
前記回復マップを生成するステップは、前記第1の画像の個別の画素の輝度に輝度利得を適用することが、前記第2の画像に対応する画素をもたらすように、輝度利得を符号化するステップを含む、請求項1に記載の方法。
【請求項6】
前記回復マップを生成するステップは、対数空間において前記輝度利得を符号化するステップを含み、回復マップ値は、前記輝度の対数の差を前記レンジスケーリング係数の対数で割った値に比例する、請求項5に記載の方法。
【請求項7】
前記回復マップを生成するステップは、前記回復マップを双方向グリッドへと符号化するステップを含み、前記符号化するステップは、グリッドセルの3次元データ構造を決定するステップを含み、各グリッドセルは、前記第1の画像の複数の画素にマッピングされるベクトル要素である、請求項1に記載の方法。
【請求項8】
前記画像コンテナを取得するステップと、
表示装置によって前記第2の画像を表示するように決定するステップと、
前記派生画像を取得するために、前記表示装置の特定の輝度出力および前記回復マップに基づき、前記画像コンテナにおける前記第1の画像の複数の画素輝度をスケーリングするステップと、
前記スケーリングするステップの後に、前記表示装置が、前記派生画像を、前記第1の画像とは異なるダイナミックレンジを有する出力画像として表示するステップと
をさらに含む、請求項1に記載の方法。
【請求項9】
前記第2のダイナミックレンジは前記第1のダイナミックレンジよりも小さく、前記派生画像のダイナミックレンジは前記第1のダイナミックレンジよりも小さい、請求項1に記載の方法。
【請求項10】
前記第2の画像を取得するステップは、前記第1の画像に対するレンジ圧縮を実行するステップを含む、請求項に記載の方法。
【請求項11】
前記画像コンテナは、
前記第1のダイナミックレンジを表示することができる第1の表示装置によって前記第1の画像を表示し、
前記第1のダイナミックレンジよりも小さいダイナミックレンジしか表示できない第2の表示装置によって前記派生画像を表示する
ように読取り可能である、請求項に記載の方法。
【請求項12】
画像コンテナを取得するステップを含む、コンピュータが実行する方法であって、
前記画像コンテナは、
第1のダイナミックレンジを有する第1の画像、および
第2の画像の最高輝度と前記第1の画像の最高輝度との比を含むレンジスケーリング係数によってスケーリングされる前記第1の画像の画素の輝度利得を符号化する回復マップを有し、前記第2の画像は、描写される主題の前記第1の画像に対応し、かつ、前記第1のダイナミックレンジと異なる第2のダイナミックレンジを有し、
前記方法は、
前記第1の画像または前記第1のダイナミックレンジとは異なるダイナミックレンジを有する派生画像のうち1つを表示するべきかどうかを判定するステップと、
前記第1の画像を表示すると判定することに応答して、
表示装置によって前記第1の画像が表示されるようにするステップと、
前記派生画像を表示すると判定することに応答して、
前記第1の画像の画素の輝度に前記回復マップの前記輝度利得を適用して、前記派生画像のそれぞれの対応する画素値を決定するステップと、
前記表示装置によって前記派生画像が表示されるようにするステップと
を含む、方法。
【請求項13】
前記第2のダイナミックレンジは前記第1のダイナミックレンジよりも大きく、前記派生画像のダイナミックレンジは前記第1のダイナミックレンジよりも大きい、請求項12に記載の方法。
【請求項14】
前記表示装置の最高輝度表示能力を判定するステップをさらに含み、前記表示装置は前記第1のダイナミックレンジ以下の表示ダイナミックレンジしか表示できないと判定することに応答して、前記第1の画像を表示すると決定する、請求項13に記載の方法。
【請求項15】
前記表示装置の最高輝度表示能力を判定するステップをさらに含み、前記表示装置は前記第1のダイナミックレンジよりも大きな表示ダイナミックレンジを表示できると判定することに応答して、前記派生画像を表示すると決定する、請求項13に記載の方法。
【請求項16】
前記表示装置は、前記第1のダイナミックレンジよりも大きな表示ダイナミックレンジを表示することができ、前記回復マップの前記輝度利得を適用するステップは、前記派生画像の前記画素値の前記輝度を表示装置の表示ダイナミックレンジに適合させるステップを含む、請求項13に記載の方法。
【請求項17】
前記第1の画像の前記画素の前記輝度に前記回復マップの前記輝度利得を適用するステップは、
前記表示装置の特定の輝度出力および前記回復マップに基づいて前記第1の画像の前記輝度をスケーリングするステップを含む、請求項13に記載の方法。
【請求項18】
前記第1の画像の前記輝度の前記スケーリングは次式に基づいて実行され、
derived_image(x,y)=first_image(x,y)+log(display_factor)*recovery(x,y)
derived_image(x,y)は前記派生画像の対数空間バージョンであり、
first_image(x,y)は、前記画像コンテナから回復される第1の画像の対数空間バージョンであり、display_factorは、前記レンジスケーリング係数と前記表示装置の最高の表示輝度とのうち小さい方であり、recovery(x,y)は前記第1の画像の画素位置(x,y)の回復マップであり、前記レンジスケーリング係数は、前記第2の画像の最高輝度と前記第1の画像の最高輝度との比である、
請求項13に記載の方法。
【請求項19】
前記画像コンテナに記憶されている双方向グリッドから前記回復マップを抽出するステップをさらに含む、請求項12に記載の方法。
【請求項20】
前記表示装置が前記派生画像を表示するステップは、前記派生画像を表示させる装置のシステム設定に基づいて、前記表示される派生画像の最大輝度レベルを下げるステップを含み、前記システム設定はユーザが選択する、請求項12に記載の方法。
【請求項21】
前記表示装置が前記派生画像を表示するステップは、
前記輝度利得を適用することによって、前記派生画像の前記画素値用に判定された第2の最大輝度レベル未満になった第1の最大輝度レベルで、前記派生画像を表示するステップと、
前記派生画像の前記第1の最大輝度レベルを、前記第2の最大輝度レベルまで、特定の期間にわたって漸進的に増加するステップとを含む、
請求項12に記載の方法。
【請求項22】
プロセッサと、
命令を記憶して前記プロセッサに結合されているメモリとを備えるシステムであって、前記プロセッサが、前記命令を実行することにより、
第1のダイナミックレンジを有する第1の画像、および
前記第1の画像の画素の輝度利得を符号化する回復マップ
を含む画像コンテナを取得するステップと、
表示装置に派生画像を表示することを決定するステップとを含む動作を実施し、
前記派生画像は、描写される主題の前記第1の画像に対応し、かつ、前記第1のダイナミックレンジと異なるダイナミックレンジを有し、
前記動作は、
前記表示装置に前記派生画像を表示すると決定することに応答して、
前記第1の画像の画素の輝度に前記回復マップの前記輝度利得を適用して、前記派生画像のそれぞれの対応する画素値を決定するステップを含み、前記輝度利得を適用することは、前記表示装置の特定の輝度出力および前記回復マップに基づいて前記第1の画像の前記輝度をスケーリングすることを含み、
前記表示装置によって前記派生画像が表示されるようにするステップを含む、
システム。
【請求項23】
前記回復マップは、第2の画像の最高輝度と前記第1の画像の最高輝度との比を含むレンジスケーリング係数によってスケーリングされる前記第1の画像の前記画素の前記輝度利得を符号化し、前記第2の画像は、描写される主題の前記第1の画像に対応し、かつ、前記第1のダイナミックレンジと異なる第2のダイナミックレンジを有し、
前記派生画像の前記ダイナミックレンジは前記第1のダイナミックレンジよりも大きく、前記命令は、前記プロセッサに、
前記表示装置の最高輝度表示能力を判定するステップを含む動作をさらに実施させ、
前記表示装置は第1のダイナミックレンジよりも大きな表示ダイナミックレンジを表示できると判定することに応答して、前記派生画像を表示すると決定する、
請求項22に記載のシステム。
【請求項24】
コンピュータのプロセッサによって実行されることにより、前記コンピュータに、請求項1~請求項21のいずれか1項に記載の方法を実施させる、プログラム。
【国際調査報告】