(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-06-13
(54)【発明の名称】SL-HDRxシステム用のSDR及びHDR表示適合信号に対するクロマの増大
(51)【国際特許分類】
H04N 19/46 20140101AFI20230606BHJP
H04N 19/85 20140101ALI20230606BHJP
【FI】
H04N19/46
H04N19/85
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022566081
(86)(22)【出願日】2021-04-28
(85)【翻訳文提出日】2022-11-28
(86)【国際出願番号】 EP2021061060
(87)【国際公開番号】W WO2021224076
(87)【国際公開日】2021-11-11
(32)【優先日】2020-05-05
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】521438353
【氏名又は名称】インターデイジタル ヴィーシー ホールディングス フランス
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】トゥーゼ、デイヴィッド
(72)【発明者】
【氏名】コライティス、マリー-ジャン
(72)【発明者】
【氏名】セレ、カトリーヌ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LA02
5C159RC11
(57)【要約】
現在のRGB画像を取得すること(90)と、現在のRGB画像のピクセルの色を複数のクラスに分類すること(92)と、各色クラスについて、当該クラス内の色が優位であるルミナンスを表す優位ルミナンス値を含む、当該色クラスを表すデータを決定し(94)、当該色クラスを表す当該データから、当該色クラスのクロミナンス成分を増加させるためのマージンを表すクロミナンスのゲインを表す値を決定すること(95)と、ビットストリームにおける飽和ゲイン関数を表すメタデータとして各クラスに対応する優位ルミナンス値及びゲインを表す値を符号化すること(96)であって、当該関数が、ピクセルに適用される色補正を当該ピクセルのルミナンスの関数として定義する、符号化すること(96)と、を含む、方法。
【選択図】
図5
【特許請求の範囲】
【請求項1】
現在のRGB画像を取得すること(90)と、
前記現在のRGB画像のピクセルのトーンマッピングされたルマ成分及び補正された正規化クロミナンス成分を使用して、前記現在のRGB画像のピクセルの色を複数のクラスに分類すること(92)と、
各色クラスについて、前記クラス内の色が優位であるルミナンスを表す優位ルミナンス値を含む、前記色クラスを表すデータを決定し(94)、前記色クラスを表す前記データから、前記色クラスのクロミナンス成分を増加させるためのマージンを表すクロミナンスのゲインを表す値を決定すること(95)と、
ビットストリームにおける飽和ゲイン関数を表すメタデータとして各クラスに対応する前記優位ルミナンス値及び前記ゲインを表す値を符号化すること(96)であって、前記関数が、ピクセルに適用される色補正を前記ピクセルのルミナンスの関数として定義する、符号化すること(96)と、を含む、方法。
【請求項2】
前記現在のRGB画像のピクセルの前記トーンマッピングされたルマ成分及び前記補正された正規化クロミナンス成分が、前記現在のRGB画像のクロミナンス成分を分析すること(91)によって取得され、前記分析は、前記現在のRGB画像のピクセルの少なくともサブセットの各ピクセルについて、
●前記ピクセルのRGB成分からルマ成分を導出すること(601)と、
●導出された前記ルマ成分にトーンマッピングを適用して(602)、トーンマッピングされたルマ成分を取得することと、
●前記ピクセルの前記RGB成分からクロミナンス成分を導出すること(604)と、
●前記クロミナンス成分にジョイント正規化及び色補正を適用して(605)、補正された正規化クロミナンス成分を取得することと、を含む、請求項1に記載の方法。
【請求項3】
前記現在のRGB画像が、ビデオシーケンスに含まれ、時間フィルタリングが、前記現在のRGB画像に先行する前記ビデオシーケンスの画像について計算されたクロマゲインを表す情報に基づいて、前記クロマゲインを表す前記情報に適用される、請求項1又は2に記載の方法。
【請求項4】
前記時間フィルタリングが、前記ビデオシーケンスの開始時又はシーンカットが前記ビデオシーケンス内で識別されるときに再初期化される、請求項3に記載の方法。
【請求項5】
前記色クラスが、クロミナンス平面において純粋な原色及び/又は二次色の周りの色セクタである、請求項1~4のいずれか一項に記載の方法。
【請求項6】
前記セクタの組み合わせが、前記クロミナンス平面を一体的にカバーする、請求項5に記載の方法。
【請求項7】
前記色クラスを表すデータを決定することが、ピクセルのヒストグラムを前記色クラスについてのルミナンス値の関数として取得することを含む、請求項1~6のいずれか一項に記載の方法。
【請求項8】
前記ヒストグラムを取得するために、値の所定の範囲に含まれるルミナンス値に対応するピクセルのみが使用される、請求項7に記載の方法。
【請求項9】
前記優位ルミナンス値は、前記ヒストグラム内にピクセルの最大値が存在するルミナンス値又は最大クロミナンスエネルギーが存在するルミナンス値に対応し、クロミナンスエネルギーが、前記ヒストグラムのビンについて、そのビンに対応するピクセルの数に、そのビンに見られる最大クロマ値、又は最大平均クロミナンスエネルギーが存在するルミナンス値を乗算することによって計算され、平均クロミナンスエネルギーが、前記ヒストグラムのビンについて、そのビンに対応するピクセルの数に、そのビンに見られる最大クロマ値を乗算することによって計算される、請求項7又は8に記載の方法。
【請求項10】
デバイスであって、
現在のRGB画像を取得する(90)ための手段と、
前記現在のRGB画像のピクセルのトーンマッピングされたルマ成分及び補正された正規化クロミナンス成分を使用して、前記現在のRGB画像のピクセルの色を複数のクラスに分類する(92)ための手段と、
各色クラスについて、前記クラス内の色が優位であるルミナンスを表す優位ルミナンス値を含む、前記色クラスを表すデータを決定し(94)、前記色クラスを表す前記データから、前記色クラスのクロミナンス成分を増加させるためのマージンを表すクロミナンスのゲインを表す値を決定する(95)ための手段と、
ビットストリームにおける飽和ゲイン関数を表すメタデータとして各クラスに対応する前記優位ルミナンス値及び前記ゲインを表す値を符号化する(96)ための手段であって、前記関数が、ピクセルに適用される色補正を前記ピクセルのルミナンスの関数として定義する、手段と、を備える、デバイス。
【請求項11】
前記現在のRGB画像のピクセルの前記トーンマッピングされたルマ成分及び前記補正された正規化クロミナンス成分は、前記現在のRGB画像のピクセルの少なくともサブセットの各ピクセルについて適用される前記現在のRGB画像のクロミナンス成分を分析する(91)ための手段によって取得され、前記分析するための手段は、
●前記ピクセルの前記RGB成分からルマ成分を導出する(601)ための手段と、
●導出された前記ルマ成分にトーンマッピングを適用して(602)、トーンマッピングされたルマ成分を取得するための手段と、
●前記ピクセルの前記RGB成分からのクロミナンス成分を導出する(604)ための手段と、
●前記クロミナンス成分にジョイント正規化及び色補正を適用して(605)、補正された正規化クロミナンス成分を取得するための手段と、を備える、請求項10に記載のデバイス。
【請求項12】
前記現在のRGB画像が、ビデオシーケンスに含まれ、前記デバイスが、前記現在のRGB画像に先行する前記ビデオシーケンスの画像について計算されたクロマゲインを表す情報に基づいて、前記クロマゲインを表す前記情報に適用される時間フィルタリング手段を備える、請求項10又は11に記載のデバイス。
【請求項13】
前記時間フィルタリングが、前記ビデオシーケンスの開始時又はシーンカットが前記ビデオシーケンス内で識別されるときに再初期化される、請求項12に記載のデバイス。
【請求項14】
前記色クラスが、クロミナンス平面において純粋な原色及び/又は二次色の周りの色セクタである、請求項10~13のいずれか一項に記載のデバイス。
【請求項15】
前記セクタの組み合わせが、前記クロミナンス平面を一体的にカバーする、請求項14に記載のデバイス。
【請求項16】
前記色クラスを表すデータを決定することは、ピクセルのヒストグラムを前記色クラスのルミナンス値の関数として取得することを含む、請求項10~15のいずれか一項に記載のデバイス。
【請求項17】
前記ヒストグラムを取得するために、値の所定の範囲に含まれるルミナンス値に対応するピクセルのみが使用される、請求項16に記載のデバイス。
【請求項18】
前記優位ルミナンス値は、前記ヒストグラム内にピクセルの最大値が存在するルミナンス値又は最大クロミナンスエネルギーが存在するルミナンス値に対応し、クロミナンスエネルギーが、前記ヒストグラムのビンについて、そのビンに対応するピクセルの数に、そのビンに見られる最大クロマ値、又は最大平均クロミナンスエネルギーが存在するルミナンス値を乗算することによって計算され、平均クロミナンスエネルギーが、前記ヒストグラムのビンについて、そのビンに対応するピクセルの数に、そのビンに見られる最大クロマ値を乗算することによって計算される、請求項16又は17に記載のデバイス。
【請求項19】
請求項1~9のいずれか一項に記載の方法、又は請求項10~18のいずれか一項に記載のデバイスによって生成される信号。
【請求項20】
請求項1~9のいずれか一項に記載の方法を実装するためのプログラムコード命令を含む、コンピュータプログラム。
【請求項21】
請求項1~9のいずれか一項に記載の方法を実装するためのプログラムコード命令を記憶する、情報記憶手段。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態のうちの少なくとも1つは、概して、SL-HDRxシステム(x=1、2、又は3)を使用したHDRビデオの配給の分野に関する。
【背景技術】
【0002】
表示技術における最近の進歩によって、表示される画像における色、ルミナンス、及びコントラストの拡張ダイナミックレンジが使用可能になり始めている。画像という用語は、本明細書では、例えば、ビデオ又は静止ピクチャ若しくは画像であり得る画像コンテンツを指す。
【0003】
高ダイナミックレンジビデオ(High-dynamic-range video、HDRビデオ)は、標準ダイナミックレンジビデオ(standard-dynamic-range video、SDRビデオ)より大きいダイナミックレンジを有するビデオを表す。HDRビデオは、キャプチャ、プロダクション、コンテンツ/符号化、及びディスプレイを含む。HDRキャプチャ及びディスプレイは、より明るい白色及びより深い黒色を有することができる。このことに対処するために、HDR符号化基準では、この拡張範囲にわたって精度を維持するために、最大ルミナンスを高めることを可能にし、(非専門的なSDRビデオの場合の8ビット及び専門的なSDRビデオの場合の10ビットと比較して)少なくとも10ビットのダイナミックレンジを使用する。
【0004】
技術的に「HDR」は、最大ルミナンスと最小ルミナンスとの比率を厳密に指すが、「HDRビデオ」という用語は一般に、広い色域も意味すると理解される。
【0005】
いくつかのHDRディスプレイデバイス、並びに高められたダイナミックレンジで画像をキャプチャできる画像カメラが登場しているが、利用可能であるHDRコンテンツの数は依然として非常に限られている。既存のコンテンツのダイナミックレンジを拡張し、それによって、HDRディスプレイデバイス上でこれらのコンテンツを効率的に表示することを可能にするソリューションが必要である。
【0006】
標準SL-HDR1(ETSI TS 103433-1シリーズ、最新バージョンはv1.3.1)は、SDR配信ネットワーク及びすでに所定の位置にあるサービスを使用して配信することができるSDRビデオストリームからHDR信号を再構成することを可能にするメタデータを使用することによって、直接後方互換性を実現する。SL-HDR1は、単層ビデオストリームを使用して、HDRデバイス上でのHDRレンダリング及びSDRデバイス上でのSDRレンダリングを可能にする。
【0007】
標準SL-HDR2(ETSI TS 103433-2シリーズ、最新バージョンはv1.2.1である)はHDRデバイスに適合されている。標準SL-HDR2は、メタデータとともにST-2084(PQ(Perceptule Quantizer)又はHDR10とも呼ばれる)ストリームを伝送することを可能にする。ストリームが、ST-2084とのみ互換性があり、メタデータと互換性がないデバイスによって受信されると、デバイスはメタデータを無視し、その技術的詳細の全てを知ることなく画像を表示する(デバイスモデル及びその処理能力に応じて、色レンダリング及びレベルディテールでは元のソースを考慮しないことがある)。ST-2084フォーマット及びメタデータをサポートするデバイスは、ストリームを受信すると、コンテンツ制作者の意図を最もよく考慮した最適化画像を表示する。
【0008】
標準SL-HDR3(ETSI TS 103433-3v1.1.1)は、メタデータとともにHLG(ハイブリッドログガンマ)ストリームを伝送することを可能にする。SL-HDR3システムは、SL-HDR2 HDR/SDR再構成ブロックに基づくHDR/SDR再構成ブロックを含み、すなわち、HLG対ST-2084光電伝達関数(Opto-Electronic Transfer Function、OETF)コンバータ及びSL-HDR2 HDR/SDR再構成ブロックのカスケードを備える。OETFは、センサのアクションを表し、シーンルミナンスからデータに変換する。
【0009】
SL-HDRxシステムでは、SDR及びHDR表示適合信号のクロマは、SL-HDRxメタデータに含まれる色補正調整変数に起因して調整することができる。このような色補正調整変数メタデータは、任意のSL-HDRxプロセスにあるデフォルト色補正関数を修正するSGF(飽和ゲイン関数)として知られる区分関数を定義する。色補正は、ルミナンス(画像信号のY成分)に依存する。すなわち、色補正は、ピクセル(例えば、U及びVの構成要素)のルミナンスの関数として当該ピクセルの色を修正する。
【0010】
一般に、SGFメタデータは、座標(sgf_x、sgf_y)を用いて最大で6つの点を定義する。sgf_xはルミナンスを表し、sgf_yはこのルミナンスでの色補正を表す。sgf_x及びsgf_y座標は、例えば、「0」~「255」に含まれる値である。
【0011】
デフォルトでは、SGFは、各ルミナンス値について同一であるデフォルト色補正を実現する。このデフォルト色補正は、概して経験的に定義され、中性SDR及びHDR表示適合信号をもたらす。
【0012】
SDR及びHDR表示適合信号のクロマを増加させるための基本的な解決策は、ルミナンス値の各々について異なる色補正を有することによって、クロマをグローバルに増加させることである。この解決策は、いくつかの制限を伴う。
●すなわち、色はグローバルにのみ制御される。したがって、いくつかの色がすでに十分に飽和している場合、これらの色に色補正を加えると、それらの色は過度に飽和しているように見える。
●制御されていない色補正を色に加え、すなわち、U値及びV値を過度に増加させると、U値及びV値が範囲外になることがあり、これによって、U値及びV値が切り取られ、したがって、再構成エラーが生じる場合がある。
【0013】
上記の欠点を克服することが望ましい。
【0014】
SL-HDR1、SL-HDR2及びSL-HDR3システムにおいても、SL-HDRxシステムの任意の以後の変形例においても、色補正のより良好な制御を可能にする方法を定義することが特に望ましい。
【発明の概要】
【0015】
第1の態様では、本実施形態のうちの1つ以上は方法を提供し、この方法は、現在のRGB画像を取得することと、現在のRGB画像のクロミナンス成分を分析することであって、分析が、現在のRGB画像のピクセルの少なくともサブセットの各ピクセルについて、当該ピクセルのRGB成分からルマ成分を導出することを含む、分析することと、導出されたルマ成分にトーンマッピングを適用して、トーンマッピングされたルマ成分を取得することと、ピクセルのRGB成分からクロミナンス成分を導出し、ジョイント正規化及び色補正をクロミナンス成分に適用して、補正された正規化クロミナンス成分を取得することと、トーンマッピングされたルマ成分及び補正された正規化クロミナンス成分を使用して、現在のRGB画像のピクセルの色を複数のクラスに分類することと、各色クラスについて、当該クラス内の色が優位であるルミナンスを表す優位ルミナンス値を含む、当該色クラスを表すデータを決定し、当該色クラスを表すデータから、当該当該色クラス内のクロミナンス成分を増加させるためのマージンを表すクロミナンスのゲインを表す値を決定し、各クラスに対応する優位ルミナンス値及びゲインを表す値を、ビットストリーム内の飽和ゲイン関数を表すメタデータとして符号化することであって、当該関数が、ピクセルに適用される色補正を当該ピクセルのルミナンスの関数として定義する、符号化することと、を含む。
【0016】
一実施形態では、現在のRGB画像は、ビデオシーケンスに含まれ、時間フィルタリングが、現在のRGB画像に先行するビデオシーケンスの画像について計算されたクロマゲインを表す情報に基づいてクロマゲインを表す情報に適用される。
【0017】
一実施形態では、時間フィルタリングは、ビデオシーケンスの開始時又はシーンカットがビデオシーケンス内で識別されるときに再初期化される。
【0018】
一実施形態では、色クラスは、クロミナンス平面における純粋な原色及び/又は二次色の周りの色セクタである。
【0019】
一実施形態では、セクタの組み合わせは、クロミナンス平面を一体的にカバーする。
【0020】
一実施形態では、当該色クラスを表すデータを決定することは、ピクセルのヒストグラムを当該色クラスのルミナンス値の関数として取得することを含む。
【0021】
一実施形態では、値の所定の範囲に含まれるルミナンス値に対応するピクセルのみが、ヒストグラムを取得するために使用される。
【0022】
一実施形態では、優位ルミナンス値は、ヒストグラムにおいてピクセルの最大値が存在するルミナンス値又は最大クロミナンスエネルギーが存在するルミナンス値に対応し、クロミナンスエネルギーは、ヒストグラムのビンについて、そのビンに対応するピクセルの数に、そのビンに見られる最大クロマ値、又は最大平均クロミナンスエネルギーが存在するルミナンス値を乗算することによって計算され、平均クロミナンスエネルギーが、ヒストグラムのビンについて、そのビンに対応するピクセル数にそのビンに見られる最大クロマ値を乗算することによって計算される。
【0023】
第2の態様では、本実施形態のうちの1つ以上はデバイスを提供し、このデバイスは、現在のRGB画像を取得するための手段と、現在のRGB画像のクロミナンス成分を分析するための手段であって、分析するための手段が、現在のRGB画像のピクセルの少なくともサブセットの各ピクセルについて、当該ピクセルのRGB成分からルマ成分を導出するための手段を含む、手段と、導出された成分にトーンマッピングを適用して、トーンマッピングされたルマ成分を取得するための手段と、当該ピクセルのRGB成分からクロミナンス成分を導出するための手段と、ジョイント正規化及び色補正をクロミナンス成分に適用して補正された正規化クロミナンス成分を取得するための手段と、トーンマッピングされたルマ成分及び補正された正規化クロミナンス成分を使用して、現在のRGB画像のピクセルの色を複数のクラスに分類するための手段と、各色クラスについて、当該クラス内の色が優位であるルミナンスを表す優位ルミナンス値を含む、当該色クラスを表すデータを決定し、かつ当該色クラスを表す当該データから、当該色クラス内のクロミナンス成分を増加させるためのマージンを表すクロミナンスのゲインを表す値を決定し、各クラスに対応する優位ルミナンス値及びゲインを表す値を、ビットストリーム内の飽和ゲイン関数を表すメタデータとして符号化するための手段であって、当該関数が、ピクセルに適用される色補正を当該ピクセルのルミナンスの関数として定義する、手段と、を備える。
【0024】
一実施形態では、現在のRGB画像は、ビデオシーケンスに含まれ、デバイスは、現在のRGB画像に先行するビデオシーケンスの画像について計算されたクロマゲインを表す情報に基づいて、クロマゲインを表す情報に適用される時間フィルタリング手段を含む。
【0025】
一実施形態では、時間フィルタリングは、ビデオシーケンスの開始時又はシーンカットがビデオシーケンス内で識別されるときに再初期化される。
【0026】
一実施形態では、色クラスは、クロミナンスプランにおける純粋な原色及び/又は二次色の周りの色セクタである。
【0027】
一実施形態では、セクタの組み合わせは、クロミナンス平面を一体的にカバーする。
【0028】
一実施形態では、当該色クラスを表すデータを決定することは、ピクセルのヒストグラムを当該色クラスのルミナンス値の関数として取得することを含む。
【0029】
一実施形態では、値の所定の範囲に含まれるルミナンス値に対応するピクセルのみが、ヒストグラムを取得するために使用される。
【0030】
一実施形態では、優位ルミナンス値は、ヒストグラムにおいてピクセルの最大値が存在するルミナンス値又は最大クロミナンスエネルギーが存在するルミナンス値に対応し、クロミナンスエネルギーは、ヒストグラムのビンについて、そのビンに対応するピクセルの数に、そのビンに見られる最大クロマ値、又は最大平均クロミナンスエネルギーが存在するルミナンス値を乗算することによって計算され、平均クロミナンスエネルギーが、ヒストグラムのビンについて、そのビンに対応するピクセル数にそのビンに見られる最大クロマ値を乗算することによって計算される。
【0031】
第3の態様では、本実施形態のうちの1つ以上は、第1の態様の方法によって、又は第2の態様のデバイスによって生成される信号を提供する。
【0032】
第4の態様では、本実施形態のうちの1つ以上は、第1の態様による方法を実装するためのプログラムコード命令を含むコンピュータプログラムを提供する。
【0033】
第5の実施形態では、本実施形態のうちの1つ以上は、第1の態様による方法を実装するためのプログラムコード命令を記憶する情報記憶手段を提供する。
【図面の簡単な説明】
【0034】
【
図2】SL-HDRxシステムの後処理モジュールを概略的に示す。
【
図3】様々な態様及び実施形態を実装することができる処理モジュールのハードウェアアーキテクチャの例を概略的に示す。
【
図4】様々な態様及び実施形態が実施される第1のシステムの一例のブロック図を示す。
【
図5】様々な態様及び実施形態が実施される第2のシステムの一例のブロック図を示す。
【
図8】後処理プロセスの再構成プロセスの例を概略的に示す。
【
図9】SL-HDRxシステムにおける色補正を制御する方法を概略的に示す。
【
図10】三原色(赤、緑、青)及び二次(マゼンタ、黄色、シアン)色及び対応するセクタの位置を表す。
【
図12】時間安定化方法の初期化段階の例を概略的に示す。
【
図13】時間安定化方法のフィルタリング済みパラメータ計算プロセスの例を概略的に示す。
【
図14】SL-HDR2システムに適合された色補正を制御するための方法の実施形態を概略的に示す。
【
図15】SL-HDR2システムに適合された色補正を制御するための方法第1の詳細を示す。
【
図16】SL-HDR2システムに適合された色補正を制御するための方法の第2の詳細を示す。
【発明を実施するための形態】
【0035】
図1は、SL-HDRxシステムの例を示す。SL-HDRx(x=1、2又は3)は、前処理モジュール10、符号化モジュール12、及び後処理モジュール14を備える。前処理モジュール10は、通信リンク11によって、符号化モジュール12に通信可能に接続されている。SL-HDR2及びSL-HDR3システムでは、前処理モジュール10は、元のコンテンツからHDRコンテンツ及び動的メタデータを生成し、一方SL-HDR1システムでは、前処理モジュールは、オリジナルからSDRコンテンツ及び動的メタデータを生成する。前処理モジュール10は、出力HDR又はSDRコンテンツを生成する計算部分、及びコンテンツを分析し、動的メタデータを生成する分析部分を統合する。元のコンテンツは、カメラなどの取得デバイスによって生成しておくか、コンピュータグラフィックスシステムによって生成しておくか、又は取得デバイスとコンピュータグラフィックスシステムとの組み合わせによって取得しておくことができる。HDR又はSDRコンテンツは、例えば、取得デバイス(すなわち、カメラ)パラメータなどのHDR又はSDRコンテンツの取得コンテキストを表す静的メタデータを含むことができる。
【0036】
前処理モジュール10には、マスタービデオ及び静的メタデータを取得するために元のHDR又はSDRビデオに適用された後プロダクションプロセス中に生成されたHDRコンテンツが供給される。後プロダクションプロセスは、例えば、
・例えば、マスタービデオに芸術的効果を導入するためのカラーグレーディングプロセスと、
・マスタービデオに視覚効果を導入するためのVFX合成プロセスと、
・HDRビデオからSDRマスタービデオを生成することを可能にするトーンマッピングプロセスと、
・SDRビデオからHDRマスタービデオを生成することを可能にする逆トーンマッピングプロセスと、を含む。
【0037】
次いで、前処理モジュール10は、SL-HDRx使用ケースに適合させたコンテンツ及び動的メタデータを生成する。SL-HDR1システムでは、生成されるビデオは、SDRビデオである。SL-HDR2システムでは、生成されるビデオは、PQ HDRビデオである。SL-HDR3システムでは、生成されるビデオはHLG HDRビデオである。
【0038】
SL-HDR1システムにおいて実施される前処理プロセスの例について、
図6に関連して以下に説明する。
【0039】
符号化モジュール12は、生成されたビデオ、並びに後プロダクションからの静的メタデータとSL-HDRx前処理からの動的メタデータの両方を含むメタデータを前処理モジュール10から受信し、当該生成されたビデオ及びメタデータを符号化する役割を果たす。
【0040】
符号化モジュール12は、例えば、生成されたビデオ及びビデオ圧縮標準HEVC(ISO/IEC23008-2-MPEG-H Part 2、High Efficiency Video Coding/ITU-T H.265)又はAVC(ISO/IEC14496-10-MPEG-4 Part 10、Advanced Video Coding)又は開発中のVersatile Video Coding(VVC)という名称の標準に準拠したメタデータから符号化済みビデオストリームを生成する。メタデータは、例えば、HEVCカラーリマッピング情報(Color Remapping Information、CRI)又はマスタリングディスプレイカラーボリューム(Display Colour Volume、MDCV)SEIメッセージなどのSEIメッセージによって実行される。
【0041】
以下において、本発明者らは、前処理モジュール10と符号化モジュール12との組み合わせを入力モジュールと呼ぶ。
【0042】
符号化された生成済みビデオは、符号化されると、通信リンク13を使用して、後処理モジュール14に送信される。
【0043】
【0044】
後処理モジュール14は、符号化済みマスタービデオ及び関連するメタデータを復号するように適合されたデコーダ140を備える。
【0045】
SL-HDR1システムでは、符号化された生成済みビデオは、SDRビデオを表し、メタデータは、SDRビデオからHDRビデオを生成するために使用される。SDRビデオは、復号されると、SL-HDR1を統合しない後処理デバイスにおいて、通信リンク17を使用してSDRディスプレイデバイス18に送信される。次いで、SDRディスプレイデバイス18は、復号済みSDRビデオを表示する。SL-HDR1を統合する後処理デバイスでは、後処理モジュール14は、再構成モジュール141を含む。再構成モジュール141は、デコーダ140から復号済みSDRビデオを受信し、メタデータを使用して、当該復号済みSDRビデオからHDRビデオを再構成する。次いで、当該再構成されたHDRビデオは、それを表示するHDRディスプレイデバイス16に送信される。場合によっては、ディスプレイデバイス16は、HDRディスプレイデバイスではなく、SDRディスプレイデバイス又はSDRディスプレイデバイス及びHDRディスプレイデバイスの中間であるMDR(媒体ダイナミックレンジ)ディスプレイデバイスである。これらの場合、再構成モジュールは、MDRディスプレイデバイス16の表示能力を表す情報を取得し、再構成中にこれらの能力を考慮して、MDRディスプレイデバイスに適合されたビデオを再構成する。HDR(又はSDR又はMDR)ビデオは、再構成されると、通信リンク15を使用してHDR(又はSDR又はMDR)ディスプレイデバイス16に送信される。次いで、HDR(又はSDR又はMDR)ディスプレイデバイス16は、再構成されたHDR(又はSDR又はMDR)ビデオを表示する。
【0046】
SL-HDR2システムでは、符号化された生成済みビデオは、PQ HDRビデオを表し、メタデータは、復号済みPQ HDRビデオからSDR(又はMDR)ビデオを生成するために使用される。PQ HDRビデオは、復号されると、SL-HDR2を統合しない後処理デバイスにおいて、通信リンク17を使用してHDRディスプレイデバイス18に送信される。次いで、HDRディスプレイデバイス18は、復号済みPQ HDRビデオを表示する。SL-HDR2を一体化しない後処理デバイスでは、再構成モジュール141は、デコーダ140からの復号済みPQ HDRビデオ、メタデータ、及び場合によっては、SDRディスプレイデバイス又はMDRディスプレイデバイス又はHDRディスプレイデバイスであり得るディスプレイデバイス16の表示機能を受信する。これらのデータから、再構成モジュールは、ディスプレイデバイス16の能力(SDR又はMDR又はHDRビデオ)に適合されたビデオ信号を生成する。SDR(又はMDR又はHDR)ビデオは、再構成されると、通信リンク15を使用してSDR(又はMDR又はHDR)ディスプレイデバイス16に送信される。次いで、SDR(又はMDR又はHDR)ディスプレイデバイス16は、再構成されたSDR(又はMDR又はHDR)ビデオを表示する。
【0047】
SL-HDR3システムでは、符号化された生成済みビデオは、HLG HDRビデオを表し、メタデータは、復号済みHLG HDRビデオからSDR(又はMDR)ビデオを生成するために使用される。SL-HDR3システムにおける後処理モジュール14の機能は、SL-HDR2システムにおける後処理モジュール14の機能と非常に類似している。主な違いは、再構成モジュール141にある。実際、その場合、再構成モジュール141は、上述のように、HLG対ST-2084 OETFコンバータ及びSL-HDR2再構成モジュールのカスケードを備える。
【0048】
図3は、前処理モジュール10、符号化モジュール12、入力モジュール、又は後処理モジュール14に含まれ、異なる態様及び実施形態を実装することができる処理モジュール40のハードウェアアーキテクチャの例を概略的に示す。処理モジュール40は、通信バス405によって接続されており、非限定的な例として、1つ以上のマイクロプロセッサ、汎用コンピュータ、専用コンピュータ、及びマルチコアアーキテクチャに基づくプロセッサを包含するプロセッサ又はCPU(central processing unit、中央処理装置)400と、ランダムアクセスメモリ(Random Access Memory、RAM)401と、読み出し専用メモリ(read only memory、ROM)402と、電気的消去可能プログラマブル読み取り専用メモリ(Erasable Programmable Read-Only Memory、EEPROM)、読み取り専用メモリ(Read-Only Memory、ROM)、プログラマブル読み取り専用メモリ(Programmable Read-Only Memory、PROM)、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(Dynamic Random Access Memory、DRAM)、スタティックランダムアクセスメモリ(Static Random Access Memory、SRAM)、フラッシュ、磁気ディスクドライブ、及び/若しくは光ディスクドライブ、又はSD(secure digital、セキュアデジタル)カードリーダ及び/若しくはハードディスクドライブ(Hard Disc Drive、HDD)などの記憶媒体リーダ並びに/又はネットワークアクセス可能な記憶装置を含むがこれらに限定されない、不揮発性メモリ及び/又は揮発性メモリを含むことができる、記憶デバイス403と、データを他のモジュール、デバイス、システム又は機器と交換するための少なくとも1つの通信インターフェース404と、を備える。通信インターフェース404は、通信チャネル5を介してデータを送信及び受信するように構成された送受信機を含むことができるが、それに限定されない。通信インターフェース404は、モデム又はネットワークカードを含むことができるが、これらに限定されない。
【0049】
通信インターフェース404は、例えば、処理モジュール40が、
・SDR又はHDRコンテンツを受信し、処理モジュール40が前処理モジュール10に含まれるときにマスタービデオを出力することと、
・マスタービデオを受信し、処理モジュール40が符号化モジュール12に含まれるときにメタデータを含む符号化済みマスタービデオを出力することと、
・SDR又はHDRコンテンツを受信し、処理モジュール40が入力モジュールに含まれるときにメタデータを含む符号化済みマスタービデオを出力することと、
・メタデータを含む符号化済みマスタービデオを受信し、処理モジュール40が後処理モジュール40に含まれるときにSDR、MDR及び/又はHDRビデオを出力することと、を行うのを可能にする。
【0050】
プロセッサ400は、ROM402、外部メモリ(図示せず)から、記憶媒体から、又は通信ネットワークからRAM301にロードされた命令を実行することができる。処理モジュール40の電源が投入されると、プロセッサ400は、RAM 401から命令を読み出し、それらを実行することができる。これらの命令は、例えば、プロセッサ400によって前処理プロセス、符号化プロセス、復号プロセス、又は後処理プロセスを実施させるコンピュータプログラムを形成する。
【0051】
当該プロセスのアルゴリズム及びステップの全て又は一部は、デジタル信号プロセッサ(digital signal processor、DSP)又はマイクロコントローラなどのプログラマブルマシンによる命令セットの実行によってソフトウェア形式で実装されてもよく、又はフィールドプログラマブルゲートアレイ(field-programmable gate array、FPGA)又は特定用途向け集積回路(application-specific integrated circuit、ASIC)などのマシン又は専用コンポーネントによってハードウェア形式で実装されてもよい。
【0052】
図4は、前処理モジュール10、符号化モジュール12、又は入力モジュールを実装するように適合され、様々な態様及び実施形態が実施されるシステムAの例のブロック図を示す。システムAは、以下に説明する様々な構成要素を含むデバイスとして具現化することができ、本文書に説明する態様及び実施形態のうちの1つ以上を実行するように構成されている。そのようなデバイスの例としては、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、接続された家電機器、サーバ、及びカメラなどの様々な電子デバイスが挙げられるが、これらに限定されない。システムAの要素は、単独で又は組み合わせて、単一の集積回路(integrated circuit、IC)、複数のIC、及び/又は別個の構成要素において具現化することができる。例えば、少なくとも1つの実施形態では、システムAは、前処理モジュール、符号化モジュール、又は両方を実装する1つの処理モジュール40を備える。様々な実施形態では、システムAは、例えば、通信バスを介して、又は専用の入力ポート及び/若しくは出力ポートを通して、1つ以上の他のシステム又は他の電子デバイスに通信可能に結合される。
【0053】
処理モジュール40への入力は、ブロック52に示されるように様々な入力モジュールを通して提供することができる。そのような入力モジュールとしては、(i)例えば、放送局から無線で送信される無線周波数(radio frequency、RF)信号を受信するRFモジュール、(ii)構成要素(COMP)入力モジュール(又は一組のCOMP入力モジュール)、(iii)ユニバーサルシリアルバス(Universal Serial Bus、USB)入力モジュール、及び/又は(iv)高精細度マルチメディアインターフェース(High Definition Multimedia Interface、HDMI)入力モジュールが挙げられるが、これらに限定されない。他の例には、
図4には示されていないが、合成ビデオが含まれる。
【0054】
様々な実施形態において、ブロック52の入力モジュールは、当技術分野で既知であるように、関連するそれぞれの入力処理要素を有する。例えば、RFモジュールは、(i)所望の周波数を選択する(信号を選択する、又は信号を周波数帯域に帯域制限するとも称される)、(ii)選択された信号をダウンコンバートする、(iii)特定の実施形態で、(例えば)チャネルと称され得る信号周波数帯域を選択するために、再びより狭い周波数帯域に帯域制限する、(iv)ダウンコンバート及び帯域制限された信号を復調する、(v)誤り訂正を実施する、及び(vi)データパケットの所望のストリームを選択するために多重分離する、ために適切な要素と関連付けられ得る。様々な実施形態のRFモジュールは、これらの機能を実行する1つ以上の要素、例えば、周波数セレクタ、信号セレクタ、バンドリミッタ、チャネルセレクタ、フィルタ、ダウンコンバータ、復調器、エラー訂正器、及びデマルチプレクサを含む。RF部分は、例えば、受信信号をより低い周波数(例えば、中間周波数又はベースバンドに近い周波数)又はベースバンドにダウンコンバートすることを含む、これらの機能のうちの様々な機能を実行するチューナを含むことができる。様々な実施形態では、上で説明される(及び他の)要素の順序を並べ替える、これらの要素の一部を削除する、並びに/又は、類似若しくは異なる機能を実行する他の要素を追加する。要素を追加することは、例えば、増幅器及びアナログ-デジタル変換器を挿入するなど、既存の要素間に要素を挿入することを含み得る。様々な実施形態において、RFモジュールは、アンテナを含む。
【0055】
追加的に、USBモジュール及び/又はHDMIモジュールは、システム3をUSB接続及び/又はHDMI接続を介して他の電子デバイスに接続するためのそれぞれのインターフェースプロセッサを含むことができる。入力処理の様々な態様、例えば、リード-ソロモン誤り訂正は、必要に応じて、例えば、別個の入力処理IC内に、又は処理モジュール40内に実装することができることを理解されたい。同様に、USB又はHDMIインターフェース処理の態様は、必要に応じて、別個のインターフェースIC内に、又は処理モジュール40内に実装することができる。復調され、誤り訂正され、逆多重化されたストリームは、処理モジュール40に提供される。
【0056】
システムAの様々な要素を一体型ハウジング内に設けることができる。一体型ハウジング内で、様々な要素は、適切な接続配置、例えば、IC間(I2C)バス、配線、及びプリント回路基板を含む、当該技術分野で既知の内部バスを使用して、相互接続され、それらの間でデータを送信し得る。例えば、システムAでは、処理モジュール40は、バス405によって当該システムAの他の要素に相互接続される。
【0057】
処理モジュール40の通信インターフェース404は、システムAが通信チャネル5上で通信することを可能にする。通信チャネル5は、例えば、有線及び/又は無線媒体内に実装することができる。
【0058】
データは、様々な実施形態において、Wi-Fiネットワーク、例えば、IEEE802.11(IEEEは、米国電気電子技術者協会(the Institute of Electrical and Electronics Engineers)を指す)などの無線ネットワークを使用して、システムAにストリーミングされるか、又は別様に提供される。これらの実施形態のWi-Fi信号は、Wi-Fi通信用に適応した通信チャネル5及び通信インターフェース404を介して受信される。これらの実施形態の通信チャネル5は、典型的に、ストリーミングアプリケーション及び他のオーバザトップ通信を可能にするために、インターネットを含む外部ネットワークへのアクセスを提供するアクセスポイント又はルータに接続される。更に他の実施形態では、入力ブロック52のRF接続を使用して、システムAにストリーミングデータを提供する。上記のように、様々な実施形態は、例えば、システムAがカメラ、スマートフォン、又はタブレットであるときに、非ストリーミング形式でデータを提供する。追加的に、様々な実施形態は、Wi-Fi以外の無線ネットワーク、例えば、セルラネットワーク又はBluetoothネットワークを使用する。
【0059】
システムAは、通信チャネル5又はバス405を使用して、様々な出力デバイスに出力信号を提供することができる。例えば、前処理モジュール10を実装するとき、システムAは、バス405又は通信チャネル5を使用して、出力信号を符号化モジュール12に提供する。符号化モジュール12又は入力モジュールを実装するとき、システムAは、通信チャネル5を使用して、後処理モジュール14に出力信号を提供する。
【0060】
様々な実装形態は、前処理プロセス及び/又は符号化プロセスを適用することを含む。本出願で使用される前処理プロセス又は符号化プロセスは、例えば、受信されたSDR又はHDR画像又はビデオストリームに対して実行されるプロセスの全部又は一部を包含して、メタデータを有するマスタービデオ又は符号化済みマスタービデオを生成することができる。符号化プロセスに関連する様々な実施形態では、そのようなプロセスは、ビデオエンコーダ、例えば、Joint Video Experts Team(JVET)エンコーダとして知られるITU-T及びISO/IECの専門家の合同共同チームによって開発中であるJPEGデコーダ又はH.264/AVC(ISO/IEC14496-10-MPEG-4 Part10、Advanced Video Coding)、H.265/HEVC(ISO/IEC23008-2-MPEG-H Part2、High Efficiency Video Coding/ITU-T H.265)又はH.266/VVC(Versatile Video Coding)によって通常実行されるプロセスのうちの1つ以上を含む。
【0061】
図5は、後処理モジュール14を実装するように適合され、様々な態様及び実施形態が実施されるシステムBの例のブロック図を示す。システムBは、以下に説明する様々な構成要素を含むデバイスとして具現化することができ、本文書に説明する態様及び実施形態のうちの1つ以上を実行するように構成されている。このようなデバイスの例としては、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビ受信機、パーソナルビデオ録画システム、接続型家電、及びサーバなどの様々な電子デバイスが挙げられるが、これらに限定されない。システムBの要素は、単独で又は組み合わせて、単一の集積回路(integrated circuit、IC)、複数のIC、及び/又は別個の構成要素において具現化することができる。例えば、少なくとも1つの実施形態では、システムBは、後処理プロセスを実施する1つの処理モジュール40を備える。様々な実施形態では、システムBは、例えば、通信バスを介して、又は専用の入力ポート及び/若しくは出力ポートを通して、1つ以上の他のシステム又は他の電子デバイスに通信可能に結合される。
【0062】
処理モジュール40への入力は、ブロック52に示されるように様々な入力モジュールを通して提供することができる。そのような入力モジュールとしては、(i)例えば、放送局から無線で送信される無線周波数(radio frequency、RF)信号を受信するRFモジュール、(ii)構成要素(COMP)入力モジュール(又は一組のCOMP入力モジュール)、(iii)ユニバーサルシリアルバス(Universal Serial Bus、USB)入力モジュール、及び/又は(iv)高精細度マルチメディアインターフェース(High Definition Multimedia Interface、HDMI)入力モジュールが挙げられるが、これらに限定されない。他の例には、
図5には示されていないが、合成ビデオが含まれる。
【0063】
様々な実施形態において、ブロック52の入力モジュールは、当技術分野で既知であるように、関連するそれぞれの入力処理要素を有する。例えば、RFモジュールは、(i)所望の周波数を選択する(信号を選択する、又は信号を周波数帯域に帯域制限するとも称される)、(ii)選択された信号をダウンコンバートする、(iii)特定の実施形態で、(例えば)チャネルと称され得る信号周波数帯域を選択するために、再びより狭い周波数帯域に帯域制限する、(iv)ダウンコンバート及び帯域制限された信号を復調する、(v)誤り訂正を実施する、及び(vi)データパケットの所望のストリームを選択するために多重分離する、ために適切な要素と関連付けられ得る。様々な実施形態のRFモジュールは、これらの機能を実行する1つ以上の要素、例えば、周波数セレクタ、信号セレクタ、バンドリミッタ、チャネルセレクタ、フィルタ、ダウンコンバータ、復調器、エラー訂正器、及びデマルチプレクサを含む。RF部分は、例えば、受信信号をより低い周波数(例えば、中間周波数又はベースバンドに近い周波数)又はベースバンドにダウンコンバートすることを含む、これらの機能のうちの様々な機能を実行するチューナを含むことができる。セットトップボックスの一実施形態では、RFモジュール及びその関連する入力処理要素は、有線(例えば、ケーブル)媒体を介して送信されるRF信号を受信し、所望の周波数帯域にフィルタリング、ダウンコンバート、及び再フィルタリングすることによって周波数選択を実行する。様々な実施形態では、上で説明される(及び他の)要素の順序を並べ替える、これらの要素の一部を削除する、並びに/又は、類似若しくは異なる機能を実行する他の要素を追加する。要素を追加することは、例えば、増幅器及びアナログ-デジタル変換器を挿入するなど、既存の要素間に要素を挿入することを含み得る。様々な実施形態において、RFモジュールは、アンテナを含む。
【0064】
追加的に、USBモジュール及び/又はHDMIモジュールは、システムBをUSB接続及び/又はHDMI接続を介して他の電子デバイスに接続するためのそれぞれのインターフェースプロセッサを含むことができる。入力処理の様々な態様、例えば、リード-ソロモン誤り訂正は、必要に応じて、例えば、別個の入力処理IC内に、又は処理モジュール40内に実装することができることを理解されたい。同様に、USB又はHDMIインターフェース処理の態様は、必要に応じて、別個のインターフェースIC内に、又は処理モジュール40内に実装することができる。復調され、誤り訂正され、逆多重化されたストリームは、処理モジュール40に提供される。
【0065】
システムBの様々な要素を一体型ハウジング内に設けることができる。一体型ハウジング内で、様々な要素は、適切な接続配置、例えば、IC間(I2C)バス、配線、及びプリント回路基板を含む、当該技術分野で既知の内部バスを使用して、相互接続され、それらの間でデータを送信し得る。例えば、システムBでは、処理モジュール40は、バス405によって当該システムBの他の要素に相互接続される。
【0066】
処理モジュール40の通信インターフェース404は、システムBが通信チャネル5上で通信することを可能にする。通信チャネル5は、例えば、有線及び/又は無線媒体内に実装することができる。
【0067】
データは、様々な実施形態において、Wi-Fiネットワーク、例えば、IEEE802.11(IEEEは、米国電気電子技術者協会(the Institute of Electrical and Electronics Engineers)を指す)などの無線ネットワークを使用して、システムBにストリーミングされるか、又は別様に提供される。これらの実施形態のWi-Fi信号は、Wi-Fi通信用に適応した通信チャネル5及び通信インターフェース404を介して受信される。これらの実施形態の通信チャネル5は、典型的に、ストリーミングアプリケーション及び他のオーバザトップ通信を可能にするために、インターネットを含む外部ネットワークへのアクセスを提供するアクセスポイント又はルータに接続される。更に他の実施形態では、入力ブロック52のRF接続を使用して、システムBにストリーミングデータを提供する。上で示されるように、様々な実施形態は、データを非ストリーミングの様式で提供する。追加的に、様々な実施形態は、Wi-Fi以外の無線ネットワーク、例えば、セルラネットワーク又はBluetoothネットワークを使用する。
【0068】
システムBは、ディスプレイ5、スピーカ6、及び他の周辺デバイス7を含む様々な出力デバイスに出力信号を提供することができる。様々な実施形態のディスプレイ5は、例えば、タッチスクリーンディスプレイ、有機発光ダイオード(organic light-emitting diode、OLED)ディスプレイ、湾曲ディスプレイ、及び/又は折り畳み可能なディスプレイのうちの1つ以上を含む。ディスプレイ5は、例えば、
図1のディスプレイデバイス16又は18とすることができる。ディスプレイ5は、テレビジョン、タブレット、ラップトップ、携帯電話(移動電話)、又は他のデバイス用とすることができる。ディスプレイ5はまた、他の構成要素と統合するか(例えば、スマートフォンのように)、又は別々にする(例えば、ラップトップのための外部モニタ)ことができる。ディスプレイデバイス5は、SDR、MDR、又はHDRコンテンツと互換性がある。他の周辺デバイス7としては、実施形態の様々な例において、スタンドアロンデジタルビデオディスク(又はデジタル多用途ディスク)(両方の用語の略称としてDVR、digital versatile disc)、ディスクプレーヤ、ステレオシステム、及び/又は照明システムのうちの1つ以上が挙げられる。様々な実施形態は、システムBの出力に基づいて機能を提供する1つ以上の周辺デバイス7を使用する。例えば、ディスクプレーヤは、システムBの出力を再生する機能を実行する。
【0069】
様々な実施形態では、制御信号が、システムBとディスプレイ5、スピーカ6、又は他の周辺デバイス7との間で、AV.Link、家庭用電子制御(Consumer Electronics Control、CEC)、又はユーザ介入の有無にかかわらずデバイス間の制御を可能にする他の通信プロトコルなどのシグナリングを使用して通信される。出力デバイスは、それぞれのインターフェース53、54、及び55を通じた専用接続を介してシステムBに通信可能に結合することができる。代替的に、出力デバイスは、通信インターフェース404を介して通信チャネル5を使用してシステムBに接続することができる。ディスプレイ5及びスピーカ6は、例えば、テレビジョンなどの電子デバイス内のシステムBの他の構成要素と単一のユニットと統合することができる。様々な実施形態において、ディスプレイインターフェース5は、例えば、タイミングコントローラ(timing controller、T Con)チップなどのディスプレイドライバを含む。
【0070】
代替的に、例えば、入力52のRFモジュールが個別のセットトップボックスの一部である場合、ディスプレイ5及びスピーカ6を他の構成要素のうちの1つ以上から分離することができる。ディスプレイ5及びスピーカ6が外部構成要素である様々な実施形態では、出力信号は、例えば、HDMIポート、USBポート、又はCOMP出力を含む専用の出力接続を介して提供することができる。
【0071】
様々な実装形態は、復号プロセスを含む後処理プロセスを適用することを含む。本出願で使用される後処理プロセスは、例えば、表示に適したSDR、MDR、又はHDR出力を生成するために、受信された符号化済みマスタービデオに対して実行されるプロセスの全て又は一部を包含することができる。様々な実施形態では、そのようなプロセスは、画像又はビデオデコーダ、例えば、Joint Video Experts Team(JVET)デコーダとして知られるITU-T及びISO/IECの専門家の合同共同チームによって開発中であるH.264/AVC(ISO/IEC14496-10-MPEG-4 Part10、Advanced Video Coding)、H.265/HEVC(ISO/IEC23008-2-MPEG-H Part2、High Efficiency Video Coding/ITU-T H.265)又はH.266/VVC(Versatile Video Coding)によって通常実行されるプロセスのうちの1つ以上を含む。
【0072】
図がフローチャートとして提示されている場合、その図は対応する装置のブロック図も提供するものと理解されたい。同様に、図がブロック図として提示されている場合、その図は対応する方法/プロセスのフローチャートも提供するものと理解されたい。
【0073】
本明細書に説明された実装形態及び態様は、例えば、方法又はプロセス、装置、ソフトウェアプログラム、データストリーム、又は信号において実装することができる。たとえ単一の形態の実装形態の文脈でのみ考察される場合でも(例えば、方法としてのみ考察される)、考察された特徴の実装形態は、他の形態(例えば、装置又はプログラム)でも実装することができる。装置は、例えば、適切なハードウェア、ソフトウェア、及びファームウェアにおいて実装することができる。方法は、例えば、プロセッサにおいて実装することができ、プロセッサは、例えば、コンピュータ、マイクロプロセッサ、集積回路、又はプログラマブルロジックデバイスを含む一般的な処理デバイスを指す。プロセッサはまた、例えば、コンピュータ、携帯電話、携帯型/パーソナルデジタルアシスタント(「PDA、personal digital assistant」)及びエンドユーザ間の情報の通信を容易にする他のデバイスなどの通信デバイスを含む。
【0074】
「一実施形態」又は「実施形態」又は「一実装形態」又は「実装形態」、及びそれらの他の変形形態の言及は、実施形態に関連して説明される特定の特徴、構造、特性などが、少なくとも一実施形態に含まれることを意味する。したがって、本明細書の様々な場所に現れる「一実施形態では」又は「実施形態では」又は「一実装形態では」又は「実装形態では」という語句の出現、並びに任意の他の変形例は、必ずしも全てが同じ実施形態を指すものではない。
【0075】
追加的に、本出願は、様々な情報を「判定する」ことに言及し得る。情報を決定することは、例えば、情報を推定すること、情報を計算すること、情報を予測すること、メモリから情報を取得すること、又は、例えば、別のデバイス、モジュール若しくはユーザから情報を取得することのうちの1つ以上を含むことができる。
【0076】
更に、本出願は、様々な情報に「アクセスすること」に言及する場合がある。情報にアクセスすることは、例えば、情報を受信すること、(例えば、メモリから)情報を取得すること、情報を記憶すること、情報を移動すること、情報をコピーすること、情報を計算すること、情報を判定すること、情報を予測すること、又は情報を推定することのうちの1つ以上を含むことができる。
【0077】
追加的に、本出願は、様々な情報を「受信すること」に言及する場合がある。受信することは、「アクセスすること」と同様に、広義の用語であることを意図している。情報を受信することは、例えば、情報にアクセスすること、又は(例えば、メモリから)情報を取得することのうちの1つ以上を含むことができる。更に、「受信すること」は、一般には、例えば、情報を記憶する、情報を処理する、情報を送信する、情報を移動する、情報をコピーする、情報を消去する、情報を計算する、情報を判定する、情報を予測する、又は情報を推定するなどの操作時に、何らかの形で関与する。
【0078】
「/」、「及び/又は」、「のうちの少なくとも1つ」、「1つ以上」のいずれかの使用、例えば、「A/B」、「A及び/又はB」、「A及びBのうちの少なくとも1つ」、「A及びBの1つ以上」の場合、最初にリストされた選択肢(A)のみの選択、又は2番目にリストされた選択肢(B)のみの選択、又は両方の選択肢(A及びB)の選択を包含することを意図しているものと理解されたい。更なる例として、「A、B、及び/又はC」及び「A、B、及びCのうちの少なくとも1つ」、「A、B及びCのうちの1つ以上」の場合、このような句は、最初にリストされた選択肢(A)のみの選択、又は2番目にリストされた選択肢(B)のみの選択、又は3番目にリストされた選択肢(C)のみの選択、又は、最初及び2番目にリストされた選択肢(A及びB)のみの選択、又は、最初及び3番目にリストされた選択肢(A及びC)のみの選択、又は、2番目及び3番目にリストされた選択肢(B及びC)のみの選択、又は3つの選択肢(A及びB及びC)全ての選択を包含するように意図されている。このことは、当該技術分野及び関連技術分野の当業者に明らかであるように、リストされたアイテムの数だけ拡張され得る。
【0079】
当業者には明らかであるように、実装形態又は実施形態は、例えば、記憶又は送信することができる情報を搬送するようにフォーマットされた様々な信号を作ることができる。情報は、例えば、方法を実行するための命令、又は説明されている実装形態又は実施形態の1つによって作られるデータを含むことができる。例えば、説明されている実施形態のSDR若しくはHDR画像又はビデオシーケンスを伝えるように信号をフォーマットすることができる。このような信号は、例えば、電磁波として(例えば、スペクトルの無線周波数部分を使用する)、又はベースバンド信号としてフォーマットすることができる。フォーマットすることは、例えば、SDR若しくはHDR画像又はビデオシーケンスを符号化済みストリームに符号化すること、及び符号化済みストリームを用いてキャリアを変調することを含むことができる。信号が搬送する情報は、例えば、アナログ情報又はデジタル情報とすることができる。信号は、既知であるように、様々な異なる有線リンク又は無線リンクを介して送信することができる。信号は、プロセッサ可読媒体に記憶することができる。
【0080】
図6は、プレ処理プロセスの計算部分の例を概略的に示す。前処理プロセスの第1の例は、非一定ルミナンス(Non Constant Luminance、NCL)モードでSL-HDR1システムに適合される。この例では、前処理モジュール10は、HDRコンテンツを受信し、SDRコンテンツ及びメタデータを表すマスタービデオを生成する。前処理プロセスは、HDRコンテンツの各画像の各ピクセルに対して処理モジュール40によって実行される。
図6の例では、ピクセルは、原色赤(R)、緑(G)及び青(B)に対応する3つの色成分を含み、すなわち、ピクセルはRGB信号である。
【0081】
ステップ601において、処理モジュール40は、以下のようにRGB信号からルミナンス(ルマ)成分L’を導出する。
【0082】
【数1】
式中、A
1は、変換行列であり、γは、例えば、「2.4」に等しいガンマ因子である。
【0083】
ステップ602では、処理モジュール40は、以下のようにルマ成分L’にトーンマッピングを適用して、トーンマッピングされた値Ypre0を取得する。
Ypre0=LUTTM(L’)(数式2)
式中、Ypre0∈[0;1023]及びLUTTM()は、トーンマッピング関数を表すルックアップテーブルである。
【0084】
ステップ603では、処理モジュール40は、以下のように、RGB信号にガンマ補正を適用する。
【0085】
【0086】
ステップ604において、処理モジュール40は、以下のように、ガンマ補正済みRGB信号からクロミナンス(クロマ)成分(クロマ)を導出する。
【0087】
【数3】
式中、A
2及びA
3は、変換行列である。[A
1A
2A
3]
Tは例えば、標準3×3RGB-YUV変換行列(例えば、色空間に応じてITU-R Rec.BT.2020又はITU-R Rec.BT.709に指定されている)である。
【0088】
ステップ605において、処理モジュール40は、以下のように、ジョイント正規化及び色補正をクロマ成分Upre0及びVpre0に適用して正規化された補正済みクロマ成分Upre1及びVpre1を取得する。
【0089】
【数4】
U
pre1及びV
pre1は、[-512;511]にクリップされる。β
0(Y
pre0)スケーリング関数である。
【0090】
【数5】
β
0(Y
pre0)=lutCC[Y
post2]×L’×1024であって、
式中、lutCC[ ]は、例えば、文書ETSITS103433-1v1.3.1の第7.2.3.2節に定義される色補正ルックアップテーブルである。
【0091】
ステップ606において、処理モジュール40は、以下のように、トーンマッピングされたルマ値Ypre0に調整を適用し、トーンマッピングされたルマ値Ypre1を取得する。
Ypre1=Ypre0-max(0、a.Upre1+b.Vpre1)(数式6)
【0092】
ステップ607において、処理モジュール40は、ルマ値及びクロマ値Ypre1、Upre1及びVpre1を所与の出力形式に変換する。ステップ607は、例えば「512」に等しい値midsampleをクロマ成分Upre1及びVpre1に追加するサブステップ、任意選択で、クロマサンプルの数を低減させることによって信号を圧縮するクロマ成分をダウンサンプリングするサブステップ、並びに任意選択で、全範囲値(YUV成分は10ビットに符号化されると「0」~「1023」の範囲になる)から限定範囲値(Y成分は64~940の範囲であり、UV成分は64~960の範囲である)に変換して、SDR信号のピクセルを表すルマ成分及びクロマ成分Ysdr、Usdr、Vsdrを取得するサブステップを含む。ステップ607の目的は、例えば、全範囲YUV444信号を限定範囲YUV420信号に変換することである。
【0093】
図7は前処理プロセスの計算部分の第2の例を概略的に示す。前処理プロセスの計算部分の第2の例は、SL-HDR2システムに適合される。この例では、前処理モジュール10は、HDRコンテンツを受信し、HDRPQ信号及びメタデータを表すマスタービデオを生成する。前処理プロセスは、入力HDRコンテンツの各画像の各ピクセルに対して処理モジュール40によって実行される。
図7の例では、この場合も、ピクセルはRGB信号である。
【0094】
ステップ701において、処理モジュール40は、RGB信号からPQ信号のルマ成分及びクロマ成分Ypre0、Upre0、Vpre0を取得する。
【0095】
【数6】
式中、A
1は変換関数であり、R’’(それぞれG’’及びB’’)は、RGB対PQOETFコンバータを使用してRGB信号から取得される。
【0096】
ステップ702で、処理モジュール40は、ルマ値及びクロマ値Ypre0、Upre0及びVpre0を出力形式に変換する。ステップ702は、例えば「512」に等しい値midsampleをUpre0及びVpre0に追加するサブステップ、任意選択で、クロマサンプルの数を低減させることによって信号を圧縮する、クロマ成分をダウンサンプリングするサブステップ、及び任意選択で、全範囲値(YUV成分は、10ビットに符号化されると「0」から「1023」の範囲になる)から限定範囲値(Y成分は64~940の範囲であり、UV成分は64~960の範囲である)に変換して、HDR信号のピクセルを表すルマ成分及びクロマ成分Yhdr、Uhdr、Vhdrを取得するサブステップを含む。ステップ702の目的は、例えば、全範囲YUV444信号を限定範囲YUV420信号に変換することである。
【0097】
図8は、後処理プロセスの再構成プロセスの例を概略的に示す。
図8のプロセスは、処理モジュール40が後処理モジュール14、より具体的には再構成モジュール141を実装するときに、処理モジュール40によって実行される。再構成プロセスは、デコーダ140によって生成された復号済みマスタービデオの各ピクセルに適用される。以下のような再構成プロセスのSL-HDR1及びSL-HDR2への適合について説明する。SL-HDR3仕様はSL-HDR2仕様に基づいているので、全てのSL-HDR2仕様事項が、以下のSL-HDR3にも適用される。
図8の再構成プロセスは、例えば、
図6又は
図7の前処理プロセスに従う。したがって、前処理プロセスによって出力される信号は、再構成プロセスの入力信号である。したがって、再構成プロセスは、限定範囲YUV420信号を受信する。
【0098】
ステップ801では、処理モジュール40は、受信したYUV420信号を全範囲YUV444信号に変換する(ステップ607及び702の逆プロセス)。
【0099】
SL-HDR1システムの場合、YUV420信号はSDRピクセルである。SDRピクセルは、変換されると、ルマ成分及びクロマ成分SDRy、SDRcb、SDRcrによって表される。
【0100】
SL-HDR2システムの場合、YUV420信号はHDRピクセルである。HDRピクセルは、変換されると、ルマ成分及びクロマ成分HDRy、HDRcb、HDRcrによって表される。
【0101】
変換後、処理モジュール40は、クロマ成分の位置を調整して、中心クロマ成分Upost1及びVpost1を取得する。SL-HDR1システムの場合、位置調整は以下のように実行される。
【0102】
【0103】
SL-HDR2システムの場合、位置調整は以下のように実行される。
【0104】
【数8】
式中、midsampleは例えば、「512」に等しい。
【0105】
ステップ802では、処理モジュール40は、ルマ成分に再調整を適用する。SL-HDR1システムの場合、再調整演算は以下の通りである。
Ypost1=SDRy+max(0、mu0×Upost1+mu1×Vpost1)
式中、パラメータmu0及びmu1は、文書ETSITS103433-1v1.3.1の第7.2.4節に定義されており、max(x,y)はx及びyの最大値をとる。
【0106】
SL-HDR2システムの場合、再調整演算はより単純である。
Ypost1=HDRy
【0107】
SL-HDR1及びSL-HDR2では、次いでルマ値Ypost1が[0;1023]にクリップされ、Ypost2が取得される。
【0108】
ステップ803では、処理モジュール40は、色補正ルックアップテーブルlutCC[Y]を構成する。
【0109】
SL-HDR1の場合、色補正ルックアップテーブルの構成は、文書ETSITS103433-1v1.3.1の第7.2.3.2節に指定されている。
【0110】
【数9】
ここで、lutCC[0]=0.125であり、R
sgf、g(Y
n)、L(Y
n)は、文書ETSITS103433-1v1.2.1に指定されている。
【0111】
SL-HDR2の場合、色補正ルックアップテーブルの構成は、文書ETSITS103433-2v1.2.1の第7.2.3.2節に指定されている。
【0112】
【数10】
ここで、lutCC[0]=0.125であり、c(L
HDR、L
SDR、L
pdisp)、R
sgf、g(Y
n)、maxsampleValは、文書ETSITS103433-2v1.2.1に指定されている。
【0113】
SL-HDR1とSL-HDR2の両方では、g(Yn)は、以下のように定義される。
g(Yn)=fsgf(Yn)×modFactor+(1-modFactor)÷Rsgf
飽和ゲイン関数fsgf(Yn)は、文書ETSITS103433-1v1.3.1の第7.3節に詳述されるように、飽和ゲイン関数メタデータsgf_x及びsgf_yによって定義される区分線形ピボットポイントから導出される。
【0114】
ステップ804では、処理モジュール40は、構成済み色補正ルックアップテーブルlutCC[y]を使用して中心クロマ成分Upost1及びVpost1に逆色補正を適用する。
【0115】
SL-HDR1の場合、逆色補正は、文書ETSITS103433-1v1.3.1の第7.2.4節に記載されている。
【0116】
【0117】
SL-HDR2の場合、逆色補正は、文書ETSITS103433-2v1.2.1の第7.2.4節に記載されている。
【0118】
【0119】
ステップ805において、処理モジュールは中間値S0、Upost3及びVpost3を計算する。SL-HDR1の場合、変数Tを以下のように計算する。
T=ko×Upost2×Vpost2+k1×Upost2×Upost2+k2×Vpost2×Vpost2
k1及びk2は、文書ETSITS103433-1v1.2.1の第7.2.4節に記載されている。
T≦1である場合、
【0120】
【数13】
U
post3=U
post2及びV
post3=V
post2。
【0121】
そうでなければ、T>1である場合、S0=0、Upost3及びVpost3は以下のように導出される。
【0122】
【0123】
この最後の数式は、SL-HDR1「CL」モードのみについての数式である。SL-HDR1「NCLモード」及びSL-HDR2では、ko=k1=k2=0、S0=1及びUpost3=Upost2及びVpost3=Vpost2である。
【0124】
Ypost2がYpre0に対応し、Upost1及びVpost1がそれぞれUpred1及びVpred1に対応することに留意することができる。
【0125】
ステップ806において、処理モジュールは、中間RGB再構成値R2、G2及びB2を計算する。これは2つのステップで行われる。
【0126】
SL-HDR1の場合、R1、G1及びB1の計算は、文書ETSITS103433-1v1.3.1の第7.2.4節に記載されている。
【0127】
【数15】
式中、m
i=matrixCoefficient[i]は、文書ETSITS103433-1v1.3.1の第6.3.2.6節に記載されているSL-HDRxメタデータの一部である。
【0128】
SL-HDR2の場合、R1、G1及びB1の計算は、文書ETSITS103433-2v1.2.1の第7.2.4節に記載されている。
【0129】
【数16】
式中、m
i=matrixCoefficient[i]は、文書ETSITS103433-1v1.3.1の第6.3.2.6節に記載されているSL-HDRxメタデータの一部である。
【0130】
第2のステップでは、中間R2、G2及びB2を、SL-HDR1についてはETSITS103433-1v1.3.1の第7.2.4節に記載され、SL-HDR2についてはETSITS103433-2v1.2.1に記載されているように計算する。
【0131】
【0132】
LutMapYの計算は、SL-HDR1についてはETSITS103433-1v1.3.1の第7.2.3.1節に記載され、SL-HDR2についてはETSITS103433-2v1.2.1に記載されている。
【0133】
SL-HDR1の場合、LutMapYは、SL-HDR1ポストプロセッサのSDRSDRy入力ルマ信号を、ディスプレイに適合する場合に、HDR出力信号又はSDR又はMDR出力信号に変換する逆トーンマッピングルックアップテーブルとして作用する。
【0134】
SL-HDR2の場合、LutMapYは、SL-HDR2ポストプロセッサのHDRHDRy入力ルマ信号を、ディスプレイに適合する場合に、HDR出力信号又はSDR又はMDR出力信号に変換するトーンマッピングルックアップテーブルとして作用する。
【0135】
ステップ807において、出力HDRRGB再構成信号HDRR、HDRG及びHDRBを計算する。
【0136】
SL-HDR1の場合、計算は、文書ETSITS103433-1v1.3.1の第7.2.4節に記載されている。
【0137】
【0138】
SL-HDR2の場合、計算は、文書ETSITS103433-2v1.2.1の第7.2.4節に記載されている。
【0139】
【0140】
したがって、SL-HDRxシステムの色補正は、クロマ成分の飽和を制御する色補正ルックアップテーブルlutCC[Ypost2]に影響を与えるsgf_x及びsgf_yメタデータを使用して制御することができる。SL-HDR1の場合、sgf_x及びsgf_yメタデータは、HDR分解プロセスのステップ605におけるUpre1及びVpre1の生成を制御し、したがって、Usdr、VsdrSDR出力を制御する。SL-HDR2の場合、sgf_x及びsgf_yメタデータは、処理モジュール40のステップ804におけるUpost2及びVpost3の生成を制御し、したがって、SL-HDR2再構成プロセスのクロマ出力を制御する。
【0141】
図9は、SL-HDRxシステムにおける色補正を制御するための方法を概略的に示す。
図9に関連して説明する方法は、処理モジュール40が前処理モジュール10又は入力モジュールを実装するときに、処理モジュール40によって実行される。この方法は、画像又はビデオの各画像に適用される。
図9の方法については、NCLモードにおけるSL-HDR1システムの文脈で説明する。処理モジュール40は、HDRコンテンツを受信する。
【0142】
ステップ90では、処理モジュール40は、現在の入力HDR画像を取得する。
【0143】
ステップ91では、処理モジュール40は、現在の画像のクロマを分析する。そうするために、処理モジュール40は、
図6のプロセスをステップ605まで適用し、現在の画像の各ピクセルについて3つの色成分Y
pre0、U
pre1及びV
pre1を取得する。
【0144】
ステップ92では、処理モジュール40は、3つの成分Ypre0、Upre1及びVpre1によって表される、現在の画像のピクセルの色を色クラスに分類する。ステップ92の一実施形態では、6つのクラス、すなわち、
●三原色の赤、緑及び青に対応する3つのクラス、
●3つの二次色マゼンタ、シアン及び黄色に対応する3つのクラスが使用される。
【0145】
各色は、多くの異なる色空間で表すことができる。一実施形態では、RGB及びその極座標Hue(H)及びChroma(C)が使用される。Hue(H)及びChroma(C)は、以下のように計算される。
【0146】
【0147】
SL-HDR1の場合は以下のように計算される。
【0148】
【0149】
極座標における以下の式によって三原色及び3つの二次色の各々について方向が定義され、[0...1]の「c」は、RGB値の各々の正規化値である(c=1は、原色又は二次色に対応し、c=0は、UV平面の無彩色原点である)。
【0150】
赤色(R=1、G=0、B=0)に関しては以下のように定義される。
●UR=au×c
●VR=αv×c
【0151】
【数22】
●H
R=arctan(av/au)
式中、au及びavは、RGBからYUVへの変換を可能にする変換行列Aの係数:
【0152】
【0153】
【0154】
【0155】
緑色(R=0、G=1、B=0)に関しては以下のように定義される。
●UG=bu×c
●VG=bv×c
【0156】
【0157】
青色(R=0、G=0、B=1)に関しては以下のように定義される。
●UB=cu×c
●VB=cv×c
【0158】
【0159】
マゼンタ色(R=1、G=0、B=1)に関しては以下のように定義される。
●U_M=(au+cu)×c
●V_M=(av+cv)×c
【0160】
【数28】
●H
M=arctan((av/cv)/(au+cu))
【0161】
シアン色(R=0、G=1、B=1)に関しては以下のように定義される。
●U_C=(bu+cu)×c
●V_C=(bv+cv)×c
【0162】
【数29】
●H
C=arctan((bv+cv)/(bu+cu))
【0163】
黄色(R=1、G=1、B=0)に関しては以下のように定義される。
●UY=(au+bu)×c
●VY=(av+bv)×c
【0164】
【数30】
●H
Y=arctan((av+bv)/(au+bu))
【0165】
図10は、UV平面において上記の数式を用いて計算された三原色(赤、緑、青)及び二次(マゼンタ、黄色、シアン)色の位置を表す。
【0166】
Upre1及びVpre1によって表される所与のピクセルは、その色相H値が色相値HG、HR、HB、HM、HC、HYのうちの1つに等しい場合、原色又は二次色ラインの一方に属する。
【0167】
しかしながら、画像では、色は、「純粋な」原色又は二次色であることはほとんどない。したがって、各々が原色又は二次色のうちの1つに対応する6つのクラスを定義する代わりに、各々が6つの原色及び二次色のうちの1つを中心とする6つのセクタが定義される。各セクタについて、偏差角deltaが定義され、対応するセクタは、4つの点によって定義される。
●Up=Cmax
*cos(H+delta)
●Vp=Cmax
*sin(H+delta)
●Um=Cmax
*cos(H-delta)
●Vm=Cmax
*sin(H-delta)
式中、
●赤については
【0168】
【0169】
【0170】
【0171】
【0172】
【0173】
【0174】
Upre1及びVpre1と表された所与のピクセルがあるセクタに属するかどうかを調べる方法としては、以下のように当該ピクセルの正規化値の、このセクタの2つの限界との積ベクトルを計算する。
【0175】
【0176】
(PVp≧0)及び(PVm≦0)の場合、このピクセルはこのセクタに属する。
【0177】
一実施形態では、値deltaは全てのセクタについて固定することができ、かつ同じにすることができる。他の実施形態では、値deltaはセクタごとに異なる。
【0178】
一実施形態では、全てのセクタは隣接しており、このことはフレームの任意のピクセルがセクタのうちの1つに属することを意味する。他の実施形態では、少なくともいくつかのセクタは隣接しておらず、このことは、いくつかのピクセルがセクタのいずれにも属していない可能性があることを意味する。
【0179】
図10は、UV平面における三原色及び3つの二次色に対応する6つのセクタを表す。セクタは、破線1000~1005によって限定される。例えば、赤色に対応するセクタは、破線1000及び1001によって限定される。
【0180】
ステップ93では、処理モジュール40は、各セクタ(すなわち、各クラス)の統計的表現を生成する。一実施形態では、統計的表現は、
●SL-HDR1ケースにおいてYpre1を表す、ルマ値ごとにセクタに見られるピクセルの数を表すヒストグラムhistoと、
●ヒストグラムの各ルマ値lumについて、セクタにおいてルマ値lumを有する全てのピクセルの最大クロマ値を表すベクトルframe_chr_max[lum]と、
●ヒストグラムの各ルマ値lumについて、セクタにおいてルマ値lumを有する全てのピクセルの平均クロマ値を表す値frame_chr_av[lum]とを含む。
【0181】
現在のピクセルのクロマ値chr_currが以下のように計算されることに留意することができる。
【0182】
【数38】
式中、U
cur及びv
curは、現在のピクセルのU成分及びV成分である。
【0183】
一実施形態では、ヒストグラムhistoのビン番号及び2つのベクトルのエントリ番号が「64」に設定される。別の実施形態では、ビン番号及び2つのベクトルのエントリ番号は、飽和ゲイン関数メタデータについてのSL-HDRx標準において定義されたsgf_x値範囲に対応する「256」に設定される。別の実施形態では、ヒストグラムのビン番号及び2つのベクトルのエントリ番号は、「64」より低くすることも、又は「64」より高くすることもできる。
【0184】
ステップ94では、処理モジュール40は、各セクタについて(すなわち、各色クラスについて)、当該セクタを表すデータを決定する。一実施形態では、セクタを表すデータは、現在のセクタ内の色が優位であるルミナンスに対応する優位ルミナンス値である。セクタの優位ルミナンス値は、当該セクタに対応するヒストグラムhisto、及び当該セクタに対応するベクトルframe_chr_max[lum]及びframe_chr_av[lum]のうちの少なくとも1つを使用して決定される。
【0185】
ステップ94の第1の実施形態では、セクタの優位ルミナンス値は、当該セクタのヒストグラムhistoをスキャンし、最高数のピクセル(すなわち、最高数のピクセルに対応するルミナンス値)を有するビンを決定することによって決定される。
【0186】
ステップ94は、各原色及び二次色について(すなわち、各セクタについて)、優位クロミナンス値を含むベクトルを取得することを可能にするベクトルframe_idx_max_histoを取得するのを可能にする。各セクタについて、色のクロマは最終的に、SGF関数を使用して、その優位ルミナンス値で最終的に修正される。
【0187】
ステップ95では、処理モジュール40は、各色セクタについてのクロマ値に適用するクロマゲイン(すなわち、スケーリング値又は色補正)を決定する。そうするために、処理モジュール40は、各セクタの優位ルマ値に対応する色についての最大許容クロマ値を決定する。このクロマゲインは、その色のクロマ、及び間接的に各セクタ及び各ルミナンス値についての最大許容クロマ値を増加させるためのマージンを表す。
【0188】
上述のように、YUV値は、行列演算を使用してRGB値から導出することができる。
【0189】
【0190】
三原色及び3つの二次色の場合、正規化RGB値([0;1]における値)を扱う際、以下のようになる。
●原色の赤(成分R)に関しては、処理モジュール40は、以下の値を計算する。
●R=s及びG=B=0、
○Y=al×s及びYRmax=al(BT2020色域ではYRmax=0.2627、
○U=au×s=au/al×Y、
○V=av×s=av/al×Y、
【0191】
【数40】
(BT2020色域ではC
Rmax=0.519)、
【0192】
次いで、処理モジュール40は、赤色についての許容クロマ値のエンベロープを計算する。一実施形態では、このエンベロープは、2本の直線で作られる。
●座標(Y=0、C=0)の第1の点ARから座標(Y=YRmax、C=CRmax)の第2の点BRまでのYC(ルマ/クロマ)空間における増加直線。
●第2の点から座標(Y=1、C=0)の第3の点CRまでのYC(ルマ/クロマ)空間における減少直線。
●原色の緑(成分G)に関しては、処理モジュール40は、以下の値を計算する。
●G=s及びR=B=0、
○Y=bl×s及びYGmax=bl(BT2020色域ではYGmax=0.678、
○U=bu×s=bu/bl×Y、
○V=bv×s=bv/bl×Y、
【0193】
【数41】
(BT.2020色域ではC
Gmax=0.584)、
【0194】
次いで、処理モジュール40は、緑色の許容クロマ値のエンベロープを計算する。一実施形態では、このエンベロープは、2本の直線で作られる。
●座標(Y=0、C=0)の第1の点AGから座標(Y=YGmax、C=CGmax)の第2の点BRのYC(ルマ/クロマ)空間における増加直線。
●第2の点から座標(Y=1、C=0)の第3の点CGまでのYC(ルマ/クロマ)空間における減少直線。
●原色の青(成分B)に関しては、処理モジュール40は、以下の値を計算する。
●B=s及びR=G=0、
○Y=cl×s及びYBmax=cl(BT.2020色域ではYBmax=0.0593、
○U=cu×s=cu/cl×Y、
○V=cv×s=cv/cl×Y、
【0195】
【数42】
(BT.2020色域ではC
Bmax=0.502)、
【0196】
次いで、処理モジュール40は、青色についての許容クロマ値のエンベロープを計算する。一実施形態では、このエンベロープは、2本の直線で作られる。
●座標(Y=0、C=0)の第1の点ABから座標(Y=YBmax、C=CBmax)の第2の点BBまでのYC(ルマ/クロマ)空間における増加直線。
●第2の点から座標(Y=1、C=0)の第3の点CBまでのYC(ルマ/クロマ)空間における減少直線。
●二次色マゼンタに関して、処理モジュール40は、以下の値を計算する。
●R=B=s及びG=0、
○Y=al×s+cl×C=(au+cu)×R及びYMmax=al+cl(BT.2020色域ではYMmax=0.322)、
○U=au×s+cu×C=(au+cu)×s及びU=((au+cu))/((al+cl)×Y)、
○V=av×s+cv×C=(av+cv)×s及びV=((av+cv))/((al+cl)×Y)、
【0197】
【数43】
(BT.2020色域ではC
Mmax=0.584)、
【0198】
次いで、処理モジュール40は、マゼンタ色についての許容クロマ値のエンベロープを計算する。一実施形態では、このエンベロープは、2本の直線で作られる。
●座標(Y=0、C=0)の第1の点AMから座標(Y=YMmax、C=CMmax)の第2の点BMまでのYC(ルマ/クロマ)空間における増加直線。
●第2の点から座標(Y=1、C=0)の第3の点CBまでのYC(ルマ/クロマ)空間における減少直線。
●二次色シアンに関しては、処理モジュール40は、以下の値を計算する。
●G=B=s及びR=0、
○Y=bl×s+cl×C=(bl+cl)×s及びYCmax=bl+cl(BT.2020色域ではYCmax=0.7373)、
○U=bu×s+cu×C=(bu+cu)×s及びU=((bu+cu))/((bl+cl)×Y)
○V=bv×s+cv×C=(bv+cv)×s及びV=((bv+cv))/((bl+cl)×Y)
【0199】
【数44】
(BT.2020色域)C
Cmax=0.519)、
【0200】
次いで、処理モジュール40は、シアン色についての許容クロマ値のエンベロープを計算する。一実施形態では、このエンベロープは、2本の直線で作られる。
●座標(Y=0、C=0)の第1の点ACから座標(Y=YCmax、C=CCmax)の第2の点BCまでのYC(ルマ/クロマ)空間における増加直線。
●第2の点から座標(Y=1、C=0)の第3の点CCまでのYC(ルマ/クロマ)空間における減少直線。
●二次色黄色に関しては、処理モジュール40は、以下の値を計算する。
○G=R=s及びB=0、
■Y=al×s+bl×C=(al+bl)×s及びYYmax=al+bl(BT2020色域ではYYmax=0.9407)、
■U=au×s+bu×C=(au+bu)×s及びU=((au+bu))/((al+bl)×Y)、
■V=av×s+bv×C=(av+bv)×s及びV=((av+bv))/((al+bl)×Y)、
【0201】
【数45】
(BT.2020色域ではC
Ymax=0.502)、
【0202】
次いで、処理モジュール40は、シアン色についての許容クロマ値のエンベロープを計算する。一実施形態では、このエンベロープは、2本の直線で作られる。
○座標(Y=0、C=0)の第1の点AYから座標(Y=YYmax、C=CYmax)の第2の点BYまでのYC(ルマ/クロマ)空間における増加直線。
○第2の点から座標(Y=1、C=0)の第3の点CYまでのYC(ルマ/クロマ)空間における減少直線。
【0203】
一実施形態では、処理モジュール40は、6つの計算されたエンベロープを各セクタについて1つの(すなわち、各クラスについて1つの)6つのベクトルchr_envelop[S]によって表す。ここで、Sは、セクタのインデックスを表す。各セクタSについて、ベクトルchr_envelop[S]は、ヒストグラムhisto[S]の各ビンについての最大許容クロマ値を表す情報を含む。
【0204】
セクタにおいて、ベクトルchr_envelop[S]は、以下のように、最大許容スケーリング値(すなわち、最大許容ゲイン)scale_max[S]を決定するために処理モジュール40によって使用される。
cur_idx=frame_idx_max_histo[S]、
scale_max[S]=chr_envelop[S][cur_idx]/frame_chr_max[S][cur_idx]。
【0205】
最大許容スケーリング値scale_max[S]は、各セクタSにおいて、選択されたルミナンスでのクロマについての乗算係数を提供する。最大許容スケーリング値scale_max[S]は、より多くのクロマを有する必要がある色に関してより多くのクロマを有する画像を、制御された独立した方法で取得することを可能にする。
【0206】
ステップ96では、処理モジュールは、ビットストリーム内のメタデータとしてクロマゲインを表す情報を符号化する。メタデータはSL-HDR1に準拠している。一実施形態では、クロマゲインを表す情報は、ベクトルframe_idx_max_histo及び最大許容スケーリング値scale_maxのベクトルである。この情報は、SL-HDR1メタデータにおけるSGF関数の形態で符号化される。
【0207】
ヒストグラムhisto[S]内のビンの数が「256」である実施形態では、frame_idx_max_histo範囲は、飽和ゲイン関数メタデータについてのSL-HDRx標準において定義されたsgf_x値範囲と直接一致し、適合は必要とされず、すなわち、frame_idx_max_histoの値をSL-HDRxメタデータのsgf_x値のうちの1つに直接コピーすることができる。ビンの数が「256」とは異なり、例えば「64」である実施形態では、処理モジュール40は、ベクトルframe_idx_max_histoを、SGF関数を定義するsgf_xで符号化する前に「256」に再スケーリングする。
【0208】
次いで、処理モジュール40は、6つの利用可能なsgf_x値のうちの1つをインデックスcur_idx=frame_idx_max_histo[S]に対応するビン番号に割り当て、最大許容スケーリング値scale_max[S]を使用して対応するデフォルトsgf_y値(通常、SL-HDR1NCLケースの「118」に等しい)を修正する。ビンの数が「256」、6つのセクタ、すなわち三原色及び3つの二次色に等しいいくつかのビンを有する実施形態では、処理モジュール40は、6つの利用可能なsgf_x値のうちの1つをインデックスcur_idx=frame_idx_max_histo[S]のうちの1つに対応するビン番号に割り当て、最大許容スケーリング値scale_max[S]を使用して対応するデフォルトsgf_y値を修正する。
【0209】
各セクタSについて、
sgf_x[S]=frame_idx_max_histo[S]及びsgf_y[S]=scale_max[S]。
【0210】
次いで、処理モジュール40は、iが増加するにつれてsgf_x[i]値が単調増加するように、sgf_x及びsgf_y値を再順序付けする。sgf_x及びsgf_y 値を再順序付けすると、後処理モジュール14にメタデータの形で伝送されるSGF関数を定義することが可能になる。
【0211】
ステップ91の一実施形態では、分析は、現在の画像のサブサンプリングされたバージョンに対して実行される。
【0212】
ステップ92の他の実施形態では、異なる色相若しくは色を表す任意の他のクラス、又は異なる数のクラスが使用されてもよい。
【0213】
ステップ93の一実施形態では、色を暗さ値(低ルミナンス値)について区別することは困難であるので、ヒストグラムの構成中に暗さ値は考慮されない。例えば、第1のルミナンス閾値より低いルミナンス値は、考慮されない。
【0214】
ステップ93の一実施形態では、色を明るさ値(高ルミナンス値)について区別することは困難であるので、ヒストグラムの構成中に明るさ値は考慮されない。例えば、第1のルミナンス閾値より高いルミナンス値は、考慮されない。
【0215】
ステップ93の実施形態では、クロマ閾値を下回るクロマ値(chr_curr)はヒストグラムの構成において考慮されない。
【0216】
ステップ94の第2の実施形態では、処理モジュール40は、各ヒストグラムhistoについて(すなわち、各セクタについて)、セクタにおける最大クロミナンスエネルギーを表す値max_energy_chromaを計算する。それを行うために、各ヒストグラムhistoの各ビンについて、処理モジュール40は、そのビンにおけるピクセルの数に、対応するセクタにおいてそのビンに見られる最大クロマ値frame_chr_max[lum]を乗算することによって、クロマエネルギーを表す値energy_chroma[lum]を計算する。次いで、各セクタについて、処理モジュールは、energy_chroma[lum]の最大値を決定することによって、最大クロマエネルギーmax_energy_chromaを決定する。優位ルマ値は、最大クロマエネルギーmax_energy_chromaに対応するルマ値である。第2の実施形態の1つの利点は、最大クロマ値をビンのルミナンス値(又はビン番号)と相関させ、画像において最も魅力的な領域はどこかをより適切に示す。
【0217】
ステップ94の第3の実施形態では、処理モジュール40は、各ヒストグラムhistoについて(すなわち、各セクタについて)セクタにおける最大平均クロマエネルギーを表す値max_av_energy_chromaを計算する。そうするために、処理モジュール40は、第2の実施形態のプロセスにおいて、最大クロマ値frame_chr_max[lum]を平均クロマ値frame_chr_av[lum]で置き換える。優位ルマ値は、最大平均クロマエネルギーmax_av_energy_chromaに対応するルマ値である。
【0218】
ステップ94の第1、第2、及び第3の実施形態の変形例では、スキャン中に少なくとも最小数のピクセルを含むビンのみが考慮される。
【0219】
ステップ94の第1、第2、及び第3の実施形態の変形例では、最小クロマ値Chr_triggerより高い許容クロマ値のエンベロープの値に対応するビンのみが、スキャン中に考慮される。この実施形態は、ほとんど飽和していない色を考慮に入れることを回避する。ステップ94の第1、第2、及び第3の実施形態の変形例では、各ヒストグラムhistoは、優位ルマ値を探索する前に最終的なノイズを平滑にするか、又は過度に小さいピークを除去するように前処理される。
【0220】
ステップ95の実施形態では、最大許容スケーリング値scale_max[S]を最大値absolute_scale_max[S]に限定することができ、色の過度の飽和が回避される。一実施形態では、最大値absolute_scale_max[S]は、全ての色セクタについて同一であるか又はセクタごとに異なる。その場合、最大許容スケーリング値scale_max[S]を以下のように計算する。
scale_max[S]=min(scale_max[S]、absolute_scale_max[S])。
【0221】
ステップ95の実施形態では、最大許容スケーリング値scale_max[S]は、許容クロマ値のエンベロープが現在の最大クロマchr_max[S]より低いことを分析が示す場合でも、色の非飽和を回避する最小値を有する。
【0222】
ステップ95の実施形態では、セクタSについて最大許容スケーリング値scale_max[S]を決定する際、他の色セクタについてインデックスcur_idx=frame_idx_max_histo[S]において同じ計算を行うことができる。現在の色セクタとは異なる少なくとも1つのセクタS’が最大許容スケーリング値scale_max[S]より低い最大許容スケーリング値scale_max[S’]を有する場合、処理モジュール40は、最大許容スケーリング値scale_max[S]を、別のセクタに見られるより低い最大許容スケーリング値scale_max[S’]に制限する。
【0223】
ステップ95の実施形態では、現在のセクタSの最大許容スケーリング値scale_max[S]を、インデックスcur_idx=frame_idx_max_histo[S]において他のセクタS’に見られる最大許容スケーリング値scale_max[S’]の最小値に限定する代わりに、インデックスcur_idx=frame_idx_max_histo[S]における色セクタのクリッピングを回避する最大U値及びV値の更なる分析を行うことができる。この分析は、scale_max[S]を以下のように限定するために使用される値scale_max_UVを提供する。
scale_max[S]=min(scale_max[S]、scale_max_UV)。
【0224】
時間安定化(すなわち、時間フィルタリング)が適用されない場合、ベクトルframe_idx_max_histo[S]及びscale_max[S]は変動する恐れがある。これらの変動ベクトルによって、プレプロセッサ10は、SDRピクチャの不安定かつ許容できないシーケンスを発生させる恐れがある。
【0225】
任意選択のステップ97では、処理モジュールは、時間安定化方法を適用する。
【0226】
図11は、時間安定化の任意のステップ97の実施形態の例を詳細に示す。
【0227】
ステップ971では、処理モジュール40は、HDRコンテンツの現在の画像がシーンカットに対応するかどうかを判定する。そうするために、例えば、処理モジュール40は、現在の画像をHDRコンテンツ内の現在の画像に先行する画像と比較する。例えば、2つの画像の同時位置ピクセル間の絶対差の合計として計算された差が閾値を上回る場合、処理モジュール40は、現在の画像がシーンカットに対応すると判定する。その場合、ステップ971の後にステップ973が続く。そうでない場合、ステップ971の後にステップ972が続く。
【0228】
ステップ973では、処理モジュール40は、時間安定化方法のパラメータセットのセットを初期化する。言い換えれば、時間安定化は、ステップ973中に再初期化される。
【0229】
ステップ972では、処理モジュール40は、フィルタリング済みベクトルframe_idx_max_histo及びscale_maxを計算する。
【0230】
一実施形態では、ステップ971の間、処理モジュールは、シーンカットを探索する代わりに、現在の画像がHDRコンテンツの第1の画像であるかどうかを判定する。
【0231】
図12は、ステップ973の実施形態の例を詳細に示す。
【0232】
図12の例では、各パラメータframe_idx_max_histo[S](それぞれ、scale_max[S])について、構成可能な円形バッファframe_idx_max_histo_buf[S](それぞれ、scale_max[S])を使用して当該パラメータのフィルタリング済みバージョンが計算される。一実施形態では、各バッファは、対応するパラメータのフィルタリング済みバージョンを計算すると考えられる連続するフレームの数を表す同じサイズnを有する。一実施形態では、バッファサイズn=10である。無効な値frame_idx_max_histo_invalid(それぞれscale_max_invalid)が各パラメータframe_idx_max_histo[S](それぞれscale_max[S])について定義される。この無効な値が、
図9の色補正を決定するための方法によって生成されるとき、このことは、有効なヒストグラムインデックスがなく、その現在のフレームの現在の色セクタについてscale_max値が計算されており、すなわち、現在のフレームについて現在の色セクタのクロマをスケーリングする必要はない。例えば、「64」値がルマに対して定義される場合、frame_idx_max_histo[S]は、「0」~「63」である。Scale_max[S]はまた、例えば、「5」以下であるように定義することができる。赤色(S=赤)について、
図9の色補正を決定するための方法を使用する処理モジュール40が、赤を飽和させることができると判定した場合、frame_idx_max_histo[red]は[0、63]の範囲内であり、scale_max[red]は[0、5]の範囲内である。しかしながら、
図9の方法を使用する場合、処理モジュール40は、色を飽和させてはならないと判定しており、次いで無効な値がframe_idx_histo[red](例えば、「64」)及びscale_max[red](例えば、「10」)に割り当てられる。したがって、
図9の方法を使用して、処理モジュール40は、frame_idx_max_histo[red]及びscale_max[red]の値の関数として、これらの値が有効であるかどうかを認識し、したがって、これらの値を安定化する必要があるかどうかを認識する。
【0233】
結果として、無効な値を検出すると、現在のパラメータを時間に安定化する必要はない。各バッファの各値は、以下に記載されるように初期化される。
【0234】
上記のように、
図12のプロセスでは、全てのバッファが同じサイズnを有すると考えられる。
【0235】
ステップ973Aでは、処理モジュール40は、セクタを表す(すなわち、色を表す)変数Sをゼロに初期化する。
【0236】
ステップ973Bでは、処理モジュール40は、変数Sがセクタの数NumOfSectorsより低いかどうかを判定する。例えば、NumOfSets=6である。
【0237】
S=NumOfSectorsである場合、処理モジュール40は、初期化プロセス973を停止する。
【0238】
そうでなければ、処理モジュール40は、ステップ973Dにおいて変数iをゼロに初期化する。
【0239】
ステップ973Eでは、処理モジュール40は、がバッファサイズnを下回るかどうかを判定する。
【0240】
i=nである場合、処理モジュール40は、ステップ973Fにおいて変数Sを1単位増分する。
【0241】
そうでない場合、処理モジュール40は、パラメータframe_idx_max_histo[S]が無効な値frame_idx_max_histo_invalidと異なるかどうかを判定する。frame_idx_max_histo[S]=frame_idx_max_histo_invalidである場合、処理モジュール40は、ステップ973Hにおいてframe_idx_max_histo_buf[S][i]の値をframe_idx_max_invalidに設定する。そうでない場合、処理モジュール40は、ステップ973Iにおいてframe_idx_max_histo_buf[S][i]スの値をframe_idx_max_histo[S]に設定する。
【0242】
ステップ973H及び973Iの後にステップ973Jが続き、処理モジュール40がパラメータscale_max[S]を無効な値scale_max_invalidと比較する。scale_max[S]=scale_max_invalidである場合、処理モジュール40は、値scale_max_buf[S][i]をscale_max_invalidに設定する。そうでない場合、処理モジュール40は、ステップ973Lにおいて値scale_max_buf[S][i]をscale_max[S]に設定する。
【0243】
ステップ973Mでは、処理モジュール40は、値frame_idx_max_histo_buf[S][i]×W_iを累積値cum_frame_idx_max_histo[S]に加算する。累積値cum_frame_idx_max_histo[S]は対応するバッファの全ての値を表す。W_iは、重み付け係数である。一実施形態ではW_i=1である。別の実施形態では、W_iはiの各値について異なる。その場合、累積値cum_frame_idx_max_histo[S]はframe_idx_max_histo_buf[S][i]の加重和であるので、バッファ内の特定の位置により多くの重量が与えられる。
【0244】
ステップ973Nでは、処理モジュール40は、値scale_max_buf[S][i]×W_iを累積値cum_scale_max[S]に加算する。累積値cum_scale_max[S]は、対応するバッファの全ての値を表す。
【0245】
ステップ973Oでは、処理モジュール40は、バッファ内の現在の画像の位置を表すインデックスfilterIndexを初期化する。
【0246】
一実施形態では、全てのバッファが同じサイズを有する場合、filterIndex=0である。
【0247】
別の実施形態では、ベクトルframe_idx_max_histo及びscale_maxのパラメータに関連付けられた各バッファは、異なるサイズを有する。その場合、各バッファについてインデックスfilterIndexがある。
【0248】
図13は、ステップ972の実施形態の例を詳細に説明する。
【0249】
ステップ972の実施形態の例の目的は、ベクトルframe_idx_max_histo及びscale_maxのパラメータをフィルタリングすることである。
図13の方法は、処理モジュール40によって実行される。これらのパラメータは、以下のようにフィルタリングされる。
●各パラメータについて、累積値は、以下のことを行うことによって更新される。
○現在のインデックスに見られるパラメータ値に対応する最も古いパラメータ値を減算すること。減算は、最も古いパラメータ値と後続のパラメータ値のうちのいずれかとの組み合わせの単純減算又は加重減算とすることができる。
○受信した直後の最新のパラメータ値を加算すること。加算は、最新のパラメータ値と先行するパラメータ値のうちのいずれかとの組み合わせの単純加算又は加重付加とすることができる。
●受信した直後の最新のパラメータを用いて、バッファを現在のインデックスにおいて更新すること。
●各パラメータについてフィルタリングされた値を計算すること。フィルタリングされた値は、
○対応する累積値を対応するバッファのサイズによって単純に除算した値、
○累積値を計算するときに考慮された最新のパラメータ値と先行するパラメータ値のうちのいずれかとの組み合わせの加重加算の和に対応する数によって対応する累積値を除算した値とすることができる。
【0250】
このステップでは、処理モジュール40は、バッファがすでに初期化されているか、又は前に現在のカットにはなかったかを調べる。そうである場合、処理モジュール40は、現在の値が有効な値である場合には現在のバッファ値を更新する。そうでない場合、処理モジュール40は、ステップ973に記載されるようにバッファ及び累積値を初期化する。
【0251】
図13の実施形態の実施例は、バッファサイズnが全てのパラメータについて同じであり、現在のインデックスがiであり、累積値が全てのパラメータの単純な合計であり、フィルタリングされた値が、バッファサイズnによって単純に除算された値であるときに当てはまる。その場合、全てのフィルタリングされた値は以下のように計算される。
【0252】
ステップ972Aでは、処理モジュール40は、セクタを表す(すなわち、色を表す)変数Sを初期化する。
【0253】
ステップ972Bでは、処理モジュール40は、変数Sがセクタの数NumOfSectorsより低いかどうかを判定する。
【0254】
そうでない場合、処理モジュール40は、ステップ972Cにおいて
図13のプロセスを停止する。
【0255】
そうでない場合、処理モジュール40は、パラメータframe_idx_max_histo[S]がframe_idx_max_histo_invalidと異なるかどうかを判定する。frame_idx_max_histo[S]=frame_idx_max_histo_invalidである場合、ステップ972Dの後にステップ972Pが続き、ステップ972Pの間、処理モジュール40は全てのバッファ値frame_idx_max_histo_buf[S][x](xはゼロからバッファサイズnまで)をframe_idx_max_histo_invalidに再初期化する。この再初期化後、ステップ972Pの間、処理モジュール40は、変数Sを1単位増分する。加えて、ステップ972Pの間、ステップ972Pの後にステップ972Bが続く。
【0256】
frame_idx_max_histo[S]≠frame_idx__max_histo_invalidである場合、ステップ972Dの後にステップ972Eが続く。ステップ972Eの間、処理モジュール40は、バッファの値frame_idx_max_histo_buf[S][i]がframe_idx_max_invalidと異なるかどうかを判定する。
【0257】
frame_idx_max_histo_buf[S][i]=frame_idx_max_histo_invalidである場合、ステップ972Eの後にステップ972Fが続き、全てのバッファ値frame_idx_max_histo_buf[S][x](xはゼロからバッファサイズnまで)がframe_idx_max_histo[S]に初期化される。加えて、ステップ972Fの間、処理モジュール40は、値frame_idx_max_histo[S]をフィルタリングされた優位クロミナンス値filtered_frame_idx_max_histo[S]に与える。
【0258】
frame_idx_max_histo_buf[S][i]≠frame_idx_max_histo_invalidである場合、ステップ972E、ステップ972Eの後にステップ972Gが続き、処理モジュール40は、累積値cum_frame_idx_max_histo[S]を以下のように更新する。
cum_frame_idx_max_histo[S]=cum_frame_idx_max_histo[S]-frame_idx_max_histo_buf[S][i]+frame_idx_max_histo[S]。
【0259】
ステップ972Hでは、処理モジュール40は、バッファ値frame_idx_max_histo_buf[S][i]を以下のように更新する。
frame_idx_max_histo_buf[S][i]=frame_idx_max_histo[S]。
【0260】
ステップ972Iでは、処理モジュール40は、フィルタリングされた優位色差値filtered_frame_idx_max_histo[S]を取得する。
filtered_frame_idx_max_histo[S]=cum_frame_idx_max_histo[S]/n。
【0261】
ステップ972Iの後にステップ972Jが続く。
【0262】
ステップ972Jの間、処理モジュール40は、最大許容スケーリング値scale_max[S]がscale_max_invalidと異なるかどうかを判定する。
【0263】
scale_max[S]=scale_max_invalidである場合、処理モジュール40は、全てのバッファ値scale_max_buf[S]をscale_max_invalidに再初期化する。この再初期化の後、処理モジュール40は、ステップ972Pの間、変数Sを1単位増分する。
【0264】
そうでない場合、処理モジュール40は、ステップ972Kの間、バッファ値scale_max_buf[S][i]がscale_max_invalidと異なるかどうかを判定する。scale_max_buf[S][i]=scale_max_invalidである場合、ステップ972Lにおいて、処理モジュールは、バッファ値scale_max_buf[S][x]をscale_max[S]に設定し、フィルタリングされた最大許容スケーリング値filtered_scale_max[S]をscale_max[S]に設定する。ステップ972Lの後にステップ972Pが続く。
【0265】
そうでなければ、ステップ972Mでは、処理モジュールは、累積値cum_scale_max[S]を以下のように更新する。
cum_scale_max[S]=cum_scale_max[S]-scale_max_buf[S][i]+scale_max[S]。
【0266】
ステップ972Nでは、処理モジュール40は、バッファ値scale_max_buf[S][i]を以下のように更新する。
scale_max_buf[S][i]=scale_max[S]。
【0267】
ステップ972Oでは、処理モジュール40は、以下のようにフィルタリングされた最大許容スケーリング値を取得する。
filtered_scale_max[S]=cum_scale_max_histo[S]/n。
【0268】
ステップ972Oの後にステップ972Pが続く。
【0269】
次いで、各セクタSについて、フィルタリングされた値は、後処理モジュールにメタデータの形態で送信されるSGF関数の定義において非フィルタリング値に置き換わる。
sgf_x[S]=filtered_frame_idx_max_histo[S]及びsgf_y[S]=filtered_scale_max[S]。
【0270】
SL-HDR1の場合、SGF関数を決定することを目的とする全ての処理は、SL-HDR1前処理モジュールの出力、すなわちSDR信号を表すYpre0、Upre1及びVpre1中間信号に基づく。言い換えれば、全ての計算がSDRドメインで行われている。
【0271】
図14は、SL-HDR2システムに適合された色補正を制御するための方法の実施形態を概略的に説明する。
【0272】
図9に関連して説明する色補正を制御するための方法は、SL-HDR1システムに対処する。SL-HDR2プレプロセッサでは、SDR信号生成は行われない。
図14のSL-HDR2システムに適合された実施形態のステップ140では、現在の画像のクロマの分析が、変数HDR
R、HDR
G及びHDR
B、U
post2、V
post2が取得されるまで、
図8に関連して説明する再構成プロセスのステップ801からステップ807までSL-HDR2ポストプロセッサをエミュレートすることによって、SL-HDR2ポストプロセッサにおいて行われる(すなわち、処理モジュール40によって行われる)。再構成プロセスは、接続されたディスプレイがSDRディスプレイであることを考慮することによって行われる。したがって、再構成されたプロセスは、実際にはSDR信号であるHDR
R、HDR
G及びHDR
B信号を生成する。
【0273】
SL-HDR2後処理モジュール(より正確には再構成モジュール)は、HDR信号を取り込み、SDR又はMDR又はHDR信号を生成する。
図9に関連して説明する方法は、SDRドメインにおけるSGF点座標sgf_x及びsgf_yを決定することを可能にする。しかしながら、実際のSL-HDR2ポストプロセッサでは、これらの点は、入力HDR信号に適用される。したがって、SL-HDR2ケースでは、全ての計算されたSGF点がHDRドメインにマッピングされ、このことはSDR/HDR変換の推定を意味する。
【0274】
ステップ141では、処理モジュールは、SDR/HDR変換を計算する。このことは、2つの値Lhisto_cur_sdr及びLhisto_cur_hdr、並びに3つのベクトルLhisto_match_sdr_hdr_min、Lhisto_match_sdr_hdr_max及びLhisto_match_sdr_hdrを使用することによって2つのステップで行われる。第1のステップでは、HDRコンテンツの現在の画像の各ピクセルについて、Lhisto_match_sdr_hdr_min及びLhisto_match_sdr_hdr_maxが以下のように計算される。
【0275】
【数46】
HDR
R、HDR
G及びHDR
BはSDRドメイン内にあり、γは、「2.4」ガンマ因子である。
Lhisto_cur_sdr=CLAMP((Y
post2/16+5),0,NumBins-1)
Lhisto_cur_hdr=CLAMP((Y
post1/16+5),0,NumBins-1)
式中、CLAMP(x,y,z)は(min(max(x,y)z)をとり、NumBinsは、ヒストグラム内のビンの数である(例えば、NumBins=64)。
Lhisto_match_sdr_hdr_min[Lhisto_cur]=min(Lhisto_match_sdr_hdr_min[Lhisto_cur_sdr]、Lhisto_cur_hdr)
Lhisto_match_sdr_hdr_max[Lhisto_cur]=max(Lhisto_match_sdr_hdr_max[Lhisto_cur_sdr]、Lhisto_cur_hdr)
第2のステップでは、全てのピクセルが分析された後、
図15に示すように、推定されたSDR/HDR変換が計算される。
【0276】
ステップ1410では、処理モジュール40は、変数Last_correct_valueをゼロに初期化する。
【0277】
ステップ1411では、処理モジュール40は、変数lumをゼロに初期化する。
【0278】
ステップ1412では、処理モジュール40は、変数lumがNumBinsを下回るかどうかを判定する。
【0279】
lum=NumBinsである場合、処理モジュールは、
図15のプロセスを停止する。ステップ1404では、処理モジュール40は、以下のように値Lhisto_match_sdr_hdr[lum]を計算する。
Lhisto_match_sdr_hdr[lum]
=Lhisto_match_sdr_hdr_min[lum]+Lhisto_match_sdr_hdr_max[lum]/2。
【0280】
ステップ1415で、処理モジュール40は、値Lhisto_match_sdr_hdr[lum]がNumBinsに等しいかどうかを判定する。
【0281】
そうである場合、処理モジュール40は、ステップ1417において値Lhisto_match_sdr__hdr[lum]を以下のように計算する。
【0282】
Lhisto_match_sdr_hdr[lum]=last_correct_value。
【0283】
そうでない場合、ステップ1416において、処理モジュールは値last_correct_valueを以下のように計算する。
【0284】
last_correct_value=Lhisto_match_sdr_hdr[lum]。
【0285】
ステップ1416及び1417の後にステップ1418が続き、値lumが1単位増分される。
【0286】
ステップ142では、処理モジュール40は、ステップ90~96を適用して、ベクトルframe_idx_max_histo及びscale_maxを決定する。
【0287】
ステップ143では、処理モジュール40は、
図16に示すように、ベクトルframe_idx_max_histoのパラメータをHDRドメインにマッピングする。
【0288】
ステップ1430では、処理モジュール40は、変数Sをゼロに初期化する。
【0289】
ステップ1431では、処理モジュール40は、変数SがNumOfSectorsより低いかどうかを判定する。
【0290】
S=NumOfSectorsである場合、処理モジュール40は、ステップ1432において
図16のプロセスを停止する。
【0291】
そうでない場合、処理モジュールは、パラメータframe_idx_max_histo[S]がNumBins。より低いかどうかを判定する。
【0292】
frame_idx_max_histo[S]=NumBinsである場合、処理モジュール40は、ステップ1436において、変数Sを1単位増分する。ステップ1436の後にステップ1431が続く。
【0293】
そうでない場合、ステップ1434において、処理モジュール40は、変数Lhisto_sdrを以下のように計算する。
Lhisto_sdr=frame_idx_max_histo[S]。
【0294】
ステップ1435において、処理モジュール40は、パラメータframe_idx_max_histo[S}を以下のように計算する。
frame_idx_max_histo[S]=Lhisto_match_sdr_hdr[Lhisto_sdr]。
【0295】
ステップ1435の後にステップ1436が続く。
【0296】
図14に戻ると、ステップ143の後、処理モジュール40は、処理モジュール40がSGF関数を表すSGF点を計算するステップ144を実行する。各セクタSについて、
sgf_x[S]=frame_idx_max_histo[S]及びsgf_y_tmp[S]=scale_max[S]。
【0297】
次いで、処理モジュール40は、iが増加するにつれてsgf_x[i]値が単調増加するように、sgf_x及びsgf_y_tmp値を再順序付けする。sgf_x及びsgf_y_tmp値を再順序付けすると、後処理モジュール14にメタデータの形態で伝送されるSGF関数を定義することが可能になる。
【0298】
ステップ142では、全ての計算が行われて、ステップ90~ステップ96によって、SL-HDR1ケースにおける飽和を改善するSGF関数が生成される。最後に、SGF関数はSL-HDR1とSL-HDR12との間で異なる働きをするので、SL-HDR1ケースにおいてステップ96で計算された全てのsgf_y_tmp(Y)値をSL-HDR2ケースに適合させる必要がある。
【0299】
SL-HDR1では、SGFは、
図6のステップ605においてプレプロセッサ側に以下のように適用される。
【0300】
【0301】
【数48】
ここで、飽和ゲイン関数f
sgf(Y
n)は、文書ETSITS103433-1v1.3.1の第7.3節において詳細に説明されているように、飽和ゲイン関数メタデータsgf_x及びsgf_yによって定義される区分線形ピボットポイントから導出される。
【0302】
所与のルミナンスYにおいて、sgf(Y)を増分値incrだけ増加させる。
【0303】
【0304】
したがって、sgf(Y)をincrだけ増加させると、Upre1(それぞれVpre1)は以下のように修正される。
【0305】
【0306】
incrの任意の正の値はUpre1(それぞれ、Vpre1)を増加させ、したがって、ピクセルの飽和を増大させる。
【0307】
SL-HDR2では、SGFは、
図8のステップ804において、lutCC[Y]によってポストプロセッサ側に適用される。sgf(Y)をincrだけ増加させると、U
post2(それぞれV
post2)は以下のように修正される。
【0308】
【0309】
incrの任意の正の値は、Upost2(それぞれVpost2)を増加させ、したがって、対応するピクセルの飽和を低減させる。
【0310】
したがって、SL-HDR2では、増分incr_slhdr2は、対応するSL-HDR1増分incr_slhdr1の関数で計算され、それによって、以下のようになる。
【0311】
【数52】
最後に、これによって、最終SL-HDR2のsgf_y値が計算される。
【0312】
【手続補正書】
【提出日】2022-12-29
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
現在の多成分画像を取得することと、
前記現在の多成分画像から導出されたトーンマッピングされたルマ成分及び補正された正規化クロミナンス成分を使用して、前記現在の多成分画像のピクセルの色を複数の色クラスに分類すること(92)と、
各色クラスについて、前記クラス内の色が優位であるルミナンスを表す優位ルミナンス値を含む、前記色クラスを表すデータを決定し、前記色クラス内のクロミナンス成分についての最大許容クロマ値を表すクロミナンスのゲインを表す値を、前記色クラスを表す前記データから決定することと、
ビットストリームにおける飽和ゲイン関数を表すメタデータとして各クラスに対応する前記優位ルミナンス値及び前記ゲインを表す前記値を符号化することであって、前記関数が、前記ピクセルのルミナンスの関数として前記現在の多成分画像のピクセルに適用される色補正を定義する、符号化することと、を含む、方法。
【請求項2】
前記現在の多成分画像のピクセルの前記トーンマッピングされたルマ成分及び前記補正された正規化クロミナンス成分が、前記現在の多成分画像のクロミナンス成分を分析することによって取得され、前記分析は、前記現在の多成分画像のピクセルの少なくともサブセットの各ピクセルについて、
・前記ピクセルの前記成分からルマ成分を導出することと、
・前記導出されたルマ成分にトーンマッピングを適用して、トーンマッピングされたルマ成分を取得することと、
・前記ピクセルの前記成分からクロミナンス成分を導出することと、
・前記クロミナンス成分にジョイント正規化及び色補正を適用して、補正された正規化クロミナンス成分を取得することと、を含む、請求項1に記載の方法。
【請求項3】
前記現在の多成分画像は、ビデオシーケンスに含まれ、時間フィルタリングが、前記現在の多成分画像に先行する前記ビデオシーケンスの画像について計算されたクロマゲインを表す情報に基づいて、前記クロマゲインを表す前記情報に適用される、請求項1に記載の方法。
【請求項4】
前記時間フィルタリングは、前記ビデオシーケンスの開始時又はシーンカットが前記ビデオシーケンス内で識別されるときに再初期化される、請求項3に記載の方法。
【請求項5】
前記色クラスは、クロミナンス平面において純粋な原色及び/又は二次色の周りの色セクタである、請求項1に記載の方法。
【請求項6】
前記セクタの組み合わせが、前記クロミナンス平面を一体的にカバーする、請求項5に記載の方法。
【請求項7】
前記色クラスを表すデータを決定することは、前記色クラスについてのルミナンス値の関数として前記現在の多成分画像のピクセルのルミナンス値のヒストグラムを取得することを含む、請求項1に記載の方法。
【請求項8】
前記ヒストグラムを取得するために、ルミナンス値の所定の範囲に含まれるルミナンス値に対応するピクセルのみが使用される、請求項7に記載の方法。
【請求項9】
前記優位ルミナンス値は、前記ヒストグラムにおいてピクセルの最大値が存在するルミナンス値又は最大クロミナンスエネルギーが存在するルミナンス値に対応し、クロミナンスエネルギーが、前記ヒストグラムのビンについて、そのビンに対応するピクセルの数にそのビンに見られる最大クロマ値又は最大平均クロミナンスエネルギーが存在するルミナンス値を乗算することによって計算され、平均クロミナンスエネルギーが、前記ヒストグラムのビンについて、そのビンに対応するピクセルの数にそのビンに見られる最大クロマ値を乗算することによって計算される、請求項7に記載の方法。
【請求項10】
電子回路を備えるデバイスであって、前記電子回路は、
現在の多成分画像を取得することと、
前記現在の多成分画像から導出されたトーンマッピングされたルマ成分及び補正された正規化クロミナンス成分を使用して、前記現在の多成分画像のピクセルの色を複数の色クラスに分類するための手段と、
各色クラスについて、前記クラス内の色が優位であるルミナンスを表す優位ルミナンス値を含む、前記色クラスを表すデータを決定し、前記色クラスのクロミナンス成分についての最大許容クロマ値を表すクロミナンスのゲインを表す値を、前記色クラスを表す前記データから決定すること(95)と、
ビットストリームにおける飽和ゲイン関数を表すメタデータとして各クラスに対応する前記優位ルミナンス値及び前記ゲインを表す前記値を符号化することであって、前記関数が、前記ピクセルのルミナンスの関数として前記現在の多成分画像のピクセルに適用される色補正を定義する、符号化することと、を行うように構成されるデバイス。
【請求項11】
前記電子回路は、前記現在の多成分画像のピクセルの少なくともサブセットの各ピクセルについて適用される前記現在の多成分画像のクロミナンス成分を分析して、前記現在の多成分画像の前記トーンマッピングされたルマ成分及び前記補正された正規化クロミナンス成分を取得するように更に構成され、前記分析することは、
・前記ピクセルの前記成分からルマ成分を導出することと、
・前記導出されたルマ成分にトーンマッピングを適用して、トーンマッピングされたルマ成分を取得することと、
・前記ピクセルの前記成分からクロミナンス成分を導出することと、
・前記クロミナンス成分にジョイント正規化及び色補正を適用して、補正された正規化クロミナンス成分を取得することと、を含む、請求項10に記載のデバイス。
【請求項12】
前記現在の多成分画像は、ビデオシーケンスに含まれ、前記電子回路は、前記現在の多成分画像に先行する前記ビデオシーケンスの画像について計算されたクロマゲインを表す情報に基づいて、前記クロマゲインを表す前記情報に時間フィルタリングを適用するように更に構成される、請求項10に記載のデバイス。
【請求項13】
前記時間フィルタリングは、前記ビデオシーケンスの開始時又はシーンカットが前記ビデオシーケンス内で識別されるときに再初期化される、請求項12に記載のデバイス。
【請求項14】
前記色クラスは、クロミナンス平面において純粋な原色及び/又は二次色の周りの色セクタである、請求項10に記載のデバイス。
【請求項15】
前記セクタの組み合わせが、前記クロミナンス平面を一体的にカバーする、請求項14に記載のデバイス。
【請求項16】
前記色クラスを表すデータを決定することは、前記色クラスについてのルミナンス値の関数として前記現在の多成分画像のピクセルのルミナンス値のヒストグラムを取得することを含む、請求項10に記載のデバイス。
【請求項17】
前記ヒストグラムを取得するために、ルミナンス値の所定の範囲内に含まれるルミナンス値に対応するピクセルのみが使用される、請求項16に記載のデバイス。
【請求項18】
前記優位ルミナンス値は、前記ヒストグラムにおいてピクセルの最大値が存在するルミナンス値又は最大クロミナンスエネルギーが存在するルミナンス値に対応し、クロミナンスエネルギーが、前記ヒストグラムのビンについて、そのビンに対応するピクセルの数にそのビンに見られる最大クロマ値又は最大平均クロミナンスエネルギーが存在するルミナンス値を乗算することによって計算され、平均クロミナンスエネルギーが、前記ヒストグラムのビンについて、そのビンに対応するピクセルの数にそのビンに見られる最大クロマ値を乗算することによって計算される、請求項16に記載のデバイス。
【請求項19】
請求項1に記載の方法を実装するためのプログラムコード命令を記憶する非一時的情報記憶媒体。
【国際調査報告】