(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-24
(45)【発行日】2024-11-01
(54)【発明の名称】統合された画像再構成及び映像符号化
(51)【国際特許分類】
H04N 19/70 20140101AFI20241025BHJP
H04N 19/186 20140101ALI20241025BHJP
H04N 19/85 20140101ALI20241025BHJP
【FI】
H04N19/70
H04N19/186
H04N19/85
【外国語出願】
(21)【出願番号】P 2022168510
(22)【出願日】2022-10-20
(62)【分割の表示】P 2019543897の分割
【原出願日】2018-06-29
【審査請求日】2022-11-14
(32)【優先日】2017-06-29
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2017-09-21
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2018-02-12
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2018-06-05
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2018-06-19
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】507236292
【氏名又は名称】ドルビー ラボラトリーズ ライセンシング コーポレイション
(74)【代理人】
【識別番号】100101683
【氏名又は名称】奥田 誠司
(74)【代理人】
【識別番号】100155000
【氏名又は名称】喜多 修市
(74)【代理人】
【識別番号】100188813
【氏名又は名称】川喜田 徹
(74)【代理人】
【識別番号】100202197
【氏名又は名称】村瀬 成康
(72)【発明者】
【氏名】ルー,タオラン
(72)【発明者】
【氏名】プゥー,ファンジュン
(72)【発明者】
【氏名】イン,ペン
(72)【発明者】
【氏名】チェン,タオ
(72)【発明者】
【氏名】フサーク,ウォールター ジェイ.
【審査官】田中 純一
(56)【参考文献】
【文献】国際公開第2010/038587(WO,A1)
【文献】国際公開第2016/164235(WO,A1)
【文献】国際公開第2017/201066(WO,A1)
【文献】Taoran Lu, et al.,Adaptive Reshaper for High Dynamic Range and Wide Color Gamut Video Compression,Applications of Digital Image Processing XXXIX,SPIE Digital Library [online],2016年09月27日,Proc. of SPIE Vol. 9971, 99710B,pp.1-14,SPIE Digital Library [online] インターネット<https://www.spiedigitallibrary.org/proceedings/Download?urlId=10.1117%2F12.2236050>
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00 - 19/98
SPIE Digital Library
(57)【特許請求の範囲】
【請求項1】
画像を符号化する装置であって、
第1の符号語表現の入力画像にアクセスする入力部と、プロセッサと、を備え、
前記プロセッサは、
前記入力画像のピクセルを第2の符号語表現にマッピングする順方向再構成関数を生成し、
前記第2の符号語表現から前記第1の符号語表現にピクセルをマッピングする逆方向再構成関数を前記順方向再構成関数に基づいて生成し、
前記入力画像における入力ピクセル領域、前記順方向再構成関数、および前記逆方向再構成関数に基づいて、前記入力画像の符号化ピクセル領域を生成し、
区分線形表現に基づく前記順方向再構成関数を特徴付ける再構成メタデータを生成し、
前記入力画像の前記符号化ピクセル領域および前記再構成メタデータに基づいて出力ビットストリームを生成
し、
前記入力画像における入力ピクセル領域について、符号化ピクセル領域を生成するために、前記プロセッサは、
基準フレームバッファ又は事前に符号化された近傍空間内のピクセルデータに基づいて、予測領域を計算することと、
前記入力ピクセル領域、前記予測領域、及び前記順方向再構成関数に基づいて、再構成された残差領域を生成することであって、前記再構成された残差領域における再構成された残差サンプルは、少なくとも部分的に、前記予測領域におけるそれぞれの予測サンプルを順方向再構成することに基づいて得られる、再構成された残差領域を生成することと、
前記再構成された残差領域に基づいて、量子化された残差領域を生成することと、
量子化された前記残差領域に基づいて、量子化解除された残差領域を生成することと、
前記量子化解除された残差領域、前記予測領域、前記順方向再構成関数、及び前記逆方向再構成関数に基づいて、復元されたピクセル領域を生成することと、
前記復元されたピクセル領域に基づいて、前記基準フレームバッファに記憶される基準ピクセル領域を生成することと、
を実行する、
装置。
【請求項2】
前記量子化された残差領域を生成することは、
前記再構成された残差領域に順方向符号化変換を適用して、変換されたデータを生成することと、
前記変換されたデータに順方向符号化量子化器を適用して、量子化されたデータを生成することと、
を含む、請求項
1に記載の装置。
【請求項3】
前記量子化解除された残差領域を生成することは、
前記量子化されたデータに逆符号化量子化器を適用して、逆量子化されたデータを生成することと、
前記逆量子化されたデータに逆符号化変換を適用して、前記量子化解除された残差領域を生成することと、
を含む、請求項
2に記載の装置。
【請求項4】
前記基準フレームバッファに記憶される前記基準ピクセル領域を生成することは、前記復元されたピクセル領域にループフィルターを適用することを含む、請求項
1に記載の装置。
【請求項5】
前記再構成された残差領域を生成することは、
Res_r(i) = Fwd(Orig_sample(i)) - Fwd(Pred_sample(i))
を計算することを含み、
ここで、Fwd()は、前記順方向再構成関数を表し、Res_r(i)は、前記再構成された残差領域のピクセルを表し、Orig_sample(i)は、前記入力ピクセル領域のピクセルを表し、Pred_sample(i)は、前記予測領域のピクセルを表す、
請求項
1に記載の装置。
【請求項6】
前記復元されたピクセル領域を生成することは、
Reco_sample (i) = Inv(Res_d(i) + Fwd(Pred_sample(i)))
を計算することを含み、
ここで、Inv()は、前記逆方向再構成関数を表し、Reco_sample(i)は、前記復元されたピクセル領域のピクセルを表し、Res_d(i)は、前記Res_r(i)ピクセルの密接近似値を表す前記量子化解除された残差領域のピクセルを表す、請求項
5に記載の装置。
【請求項7】
前記順方向再構成関数の区分線形表現の各セグメントについて、前記再構成メタデータは、デルタ絶対値と前記デルタ絶対値の正負符号とを含む、請求項1に記載の装置。
【請求項8】
セグメントiについての前記デルタ絶対値を表すbin_cw_delta_abs[i]について、その値は、セグメントi-1に割り当てられた符号語(bin_cw_delta_abs[i-1])に対するセグメントiに割り当てられた符号語の差を表す、請求項
7に記載の装置。
【請求項9】
符号化ビットストリームを復号して第1の符号語表現の出力画像を生成する装置であって、
第2の符号語表現で部分的に符号化された符号化画像を受信する入力部と、プロセッサと、を備え、
前記プロセッサは、
前記符号化画像についての再構成メタデータを受け取り、
前記再構成メタデータに基づいて、前記第1の符号語表現から前記第2の符号語表現にピクセルをマッピングする順方向再構成関数を生成し、
前記再構成メタデータに基づいて、前記第2の符号語表現から前記第1の符号語表現にピクセルをマッピングする逆方向再構成関数を生成し、
前記符号化画像の符号化領域を、前記順方向再構成関数および前記逆方向再構成関数に基づいて復号して出力ピクセル領域を生成する、
装置。
【請求項10】
前記プロセッサは、ループ内再構成に基づいて、前記符号化画像の前記符号化領域を復号する、請求項
9に記載の装置。
【請求項11】
符号化領域を復号するために、前記プロセッサは、
復号された再構成残差領域を生成することと、
基準ピクセルバッファ又は事前に復号された近傍空間内のピクセルに基づいて、予測領域を生成することと、
前記復号された再構成残差領域、前記予測領域、前記順方向再構成関数、及び前記逆方向再構成関数に基づいて、復元されたピクセル領域を生成することであって、前記復元されたピクセル領域における復元されたサンプルは、少なくとも部分的に、前記予測領域におけるそれぞれの予測サンプルを順方向再構成することに基づいて得られる、復元されたピクセル領域を生成することと、
前記復元されたピクセル領域に基づいて、前記出力画像の出力ピクセル領域を生成することと、
前記出力ピクセル領域を前記基準ピクセルバッファに記憶することと、
を実行する、請求項
9に記載の装置。
【請求項12】
前記復元されたピクセル領域を生成することは、
Reco_sample (i) = Inv(Res_d(i) + Fwd(Pred_sample(i)))
を計算することを含み、
ここで、Reco_sample(i)は、前記復元されたピクセル領域のピクセルを表し、Res_d(i)は、前記復号された再構成残差領域のピクセルを表し、Inv()は、前記逆方向再構成関数を表し、Fwd()は、前記順方向再構成関数を表し、Pred_sample(i)は、前記予測領域のピクセルを表す、請求項
11に記載の装置。
【請求項13】
前記再構成メタデータは、区分線形表現に基づく前記順方向再構成関数を特徴付け、
前記順方向再構成関数の前記区分線形表現の各セグメントについて、前記再構成メタデータは、デルタ絶対値と、前記デルタ絶対値の正負符号とを含む、
請求項
9に記載の装置。
【請求項14】
セグメントiについての前記デルタ絶対値を表すbin_cw_delta_abs[i]について、その値は、セグメントi-1に割り当てられた符号語(bin_cw_delta_abs[i-1])に対するセグメントiに割り当てられた符号語の差を表す、請求項
13に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本願は、2018年6月19日に出願された米国仮特許出願第62/686,738号、2018年6月5日に出願された米国仮特許出願第62/680,710号、2018年2月12日に出願された米国仮特許出願第62/629,313号、2017年9月21日に出願された米国仮特許出願第62/561,561号、及び2017年6月29日に出願された米国仮特許出願第62/526,577号の優先権を主張する。これらの出願のそれぞれは、その全内容が本明細書に援用される。
【0002】
本発明は、包括的には、画像及び映像の符号化に関する。より具体的には、本発明の一実施形態は、統合された画像再構成(image reshaping)及び映像符号化に関する。
【背景技術】
【0003】
2013年に、国際標準化機構(ISO)内のMPEGグループは、国際電気通信連合(ITU)と共同で、HEVC(H.265としても知られている)映像符号化規格の最初の案を公開した。更に最近では、同グループは、既存の映像符号化技術を上回る改善された符号化性能を提供する次世代符号化規格の開発をサポートする技術公募(call for evidence)を行った。
【0004】
本明細書において、「ビット深度(bit depth)」という用語は、画像の色成分の1つ
を表すために用いられるピクセル数を意味する。従来、画像は、1ピクセルあたり1つの色成分につき8ビット(例えば、1ピクセルあたり24ビット)で符号化されていた。しかし、最近のアーキテクチャは、現在のところ、10ビット、12ビット、又はそれ以上といったより高いビット深度をサポートすることができる。
【0005】
従来の画像パイプラインでは、キャプチャされた画像は、線形のシーン光を非線形の映像信号(例えば、ガンマ符号化されたRGB又はYCbCr)に変換する非線形の光-電伝達関数(OETF)を用いて量子化される。その後、受信機では、この信号は、ディスプレイに表示される前に、映像信号値を出力画面の色の値に変換する電-光伝達関数(EOTF)によって処理される。そのような非線形関数は、ITU-R Rec.BT.709及びBT.2020に規定されている伝統的な「ガンマ」曲線と、SMPTE ST
2084及びRec.ITU-R BT.2100に記載されている「PQ」(perceptual quantization)曲線とを含む。
【発明の概要】
【0006】
本明細書において、「順方向再構成(forward reshaping)」という用語は、デジタル
画像の元のビット深度及び元の符号語分布又は符号語表現(例えば、ガンマ又はPQ等)から、それと同じ又は異なるビット深度及び異なる符号語分布又は符号語表現の画像への、デジタル画像のサンプルからサンプルへのマッピング、又は符号語から符号語へのマッピングの処理を意味する。再構成によって、固定のビットレートにおいて圧縮率の改善又は画質の改善が可能になる。例えば、この例に限定されないが、10ビットの映像符号化アーキテクチャにおいて、再構成を10ビット又は12ビットのPQ符号化HDR映像に適用して、符号化効率を改善することができる。受信機では、再構成された信号を伸張した後、受信機は、「逆方向再構成関数(inverse reshaping function)」を適用して、信号を元の符号語分布に復元することができる。本発明者らの認識では、次世代の映像符号化規格の開発が始まる中で、画像の統合された再構成及び符号化のための改良技術が求められている。本発明の方法は、様々な映像コンテンツに適用可能である。そのような映像
コンテンツには、標準ダイナミックレンジ(SDR)及び/又はハイダイナミックレンジ(HDR)におけるコンテンツが含まれるが、これらに限定されるものではない。
【0007】
本節において説明されるアプローチは、追求され得たものではあるが、必ずしもこれまでに着想又は追求されたアプローチではない。したがって、別段の指定がない限り、本節において説明されるアプローチのいずれも、本節に含まれるというだけの理由で従来技術として認められると想定されるべきでない。同様に、1つ以上のアプローチに関して特定される課題は、別段の指定がない限り、本節に基づいて、何らかの従来技術において認識されていたものと想定されるべきでない。
【0008】
本発明の一実施形態は、添付図面における図において、限定ではなく例として示されている。図において、同様の参照符号は同様の要素を表す。
【図面の簡単な説明】
【0009】
【
図1A】映像配信パイプラインについての例示の処理を示す図である。
【
図1B】従来技術による信号再構成を用いたデータ圧縮の例示の処理を示す図である。
【
図2A】本発明の一実施形態によるノーマティブループ外(normative out-of-loop)再構成を用いたエンコーダの例示のアーキテクチャを示す図である。
【
図2B】本発明の一実施形態によるノーマティブループ外再構成を用いたデコーダーの例示のアーキテクチャを示す図である。
【
図2C】本発明の一実施形態によるノーマティブイントラオンリーループ内(normative intra-only in-loop)再構成を用いたエンコーダの例示のアーキテクチャを示す図である。
【
図2D】本発明の一実施形態によるノーマティブイントラオンリーループ内再構成を用いたデコーダの例示のアーキテクチャを示す図である。
【
図2E】本発明の一実施形態による予測残差のループ内再構成を用いたエンコーダの例示のアーキテクチャを示す図である。
【
図2F】本発明の一実施形態による予測残差のループ内再構成を用いたデコーダの例示のアーキテクチャを示す図である。
【
図2G】本発明の一実施形態によるハイブリッドループ内再構成を用いたエンコーダの例示のアーキテクチャを示す図である。
【
図2H】本発明の一実施形態によるハイブリッドループ内再構成を用いたデコーダの例示のアーキテクチャを示す図である。
【
図3A】本発明の一実施形態によるループ外再構成アーキテクチャを用いて映像を符号化する例示の処理を示す図である。
【
図3B】本発明の一実施形態によるループ外再構成アーキテクチャを用いて映像を復号化する例示の処理を示す図である。
【
図3C】本発明の一実施形態によるイントラオンリーループ内再構成アーキテクチャを用いて映像を符号化する例示の処理を示す図である。
【
図3D】本発明の一実施形態によるイントラオンリーループ内再構成アーキテクチャを用いて映像を復号化する例示の処理を示す図である。
【
図3E】本発明の一実施形態による予測残差のループ内再構成アーキテクチャを用いて映像を符号化する例示の処理を示す図である。
【
図3F】本発明の一実施形態による予測残差のループ内再構成アーキテクチャを用いて映像を復号化する例示の処理を示す図である。
【
図4A】本発明の一実施形態による、3つの再構成ベースのアーキテクチャのうちの任意の1つ又は組み合わせを用いて映像を符号化する例示の処理を示す図である。
【
図4B】本発明の一実施形態による、3つの再構成ベースアーキテクチャのうちの任意の1つ又は組み合わせを用いて映像を復号化する例示の処理を示す図である。
【
図5A】本発明の一実施形態による映像デコーダにおける再構成関数復元処理を示す図である。
【
図5B】本発明の一実施形態による映像デコーダにおける再構成関数復元処理を示す図である。
【
図6A】本発明の一実施形態による、彩度QPオフセット値がPQ符号化信号及びHLG符号化信号の輝度量子化パラメータ(QP)に従ってどのように変化するかについての例を示す図である。
【
図6B】本発明の一実施形態による、彩度QPオフセット値がPQ符号化信号及びHLG符号化信号の輝度量子化パラメータ(QP)に従ってどのように変化するかについての例を示す図である。
【
図7】本発明の一実施形態による、再構成関数のピボットベースの表現の一例を示す図である。
【発明を実施するための形態】
【0010】
画像を圧縮するためのノーマティブループ外及びループ内統合型信号再構成符号化の技術が本明細書において説明される。以下の記載では、説明のために、非常に多くの具体的な詳細が、本発明の十分な理解を提供するために述べられている。しかしながら、本発明は、これらの具体的な詳細がなくても実施することができることは明らかである。他の例では、本発明を不必要に不鮮明、不明瞭、又は難読化することがないように、周知の構造及びデバイスは、網羅するほど詳細には記載されていない。
【0011】
[概要]
本明細書において説明される例示の実施形態は、映像の統合された信号再構成及び符号化に関する。エンコーダでは、プロセッサが、入力ビット深度N及び入力符号語マッピング(例えば、ガンマ、PQ等)によって表された第1の符号語表現の入力画像を受信する。プロセッサは、第1の符号語表現よりも効率的な圧縮を可能にする第2の符号語表現を用いて入力画像を圧縮する2つ以上の候補のエンコーダアーキテクチャの中から1つのエンコーダアーキテクチャ(エンコーダの構成部分であるリシェーパを有する)を選択する。これらの2つ以上の候補のエンコーダアーキテクチャは、ループ外再構成アーキテクチャ、イントラピクチャ用のみのループ内再構成アーキテクチャ、又は予測残差用のループ内アーキテクチャを含む。また、プロセッサは、選択されたエンコーダアーキテクチャに従って入力画像を圧縮する。
【0012】
別の実施形態では、第1の符号語表現の出力画像を生成するデコーダが、符号化画像の少なくとも一部分が第2の符号語表現で圧縮された符号化ビットストリームを受信する。このデコーダは、関連する再構成情報も受信する。プロセッサは、入力符号化ビットストリームを伸張する2つ以上の候補のデコーダアーキテクチャの中からデコーダアーキテクチャを示すシグナリングを受信する。これらの2つ以上の候補のデコーダアーキテクチャは、ループ外再構成アーキテクチャ、イントラピクチャ用のみのループ内再構成アーキテクチャ、又は予測残差用のループ内アーキテクチャを含む。また、プロセッサは、受信された再構成アーキテクチャに従って、符号化画像を伸張し、出力画像を生成する。
【0013】
別の実施形態では、予測残差用のループ内アーキテクチャに従って画像を圧縮するエンコーダにおいて、プロセッサは、第1の符号語表現の入力画像にアクセスし、入力画像のピクセルを上記第1の符号語表現から第2の符号語表現にマッピングする順方向再構成関数を生成する。上記プロセッサは、ピクセルを上記第2の符号語表現から上記第1の符号語表現にマッピングする逆方向再構成関数を上記順方向再構成関数に基づいて生成する。次に、上記入力画像における入力ピクセル領域について、上記プロセッサは、
基準フレームバッファ又は事前に符号化された近傍空間内のピクセルデータに基づいて、少なくとも1つの予測領域を計算し、
上記入力ピクセル領域、上記予測領域、及び上記順方向再構成関数に基づいて、再構成された残差領域を生成し、
上記再構成された残差領域に基づいて、符号化された(変換及び量子化された)残差領域を生成し、
上記符号化された残差領域に基づいて、復号化された(逆量子化及び変換された)残差領域を生成し、
上記復号化された残差領域、上記予測領域、上記順方向再構成関数、及び上記逆方向再構成関数に基づいて、復元されたピクセル領域を生成し、
上記復元されたピクセル領域に基づいて、上記基準フレームバッファに記憶される基準ピクセル領域を生成する。
【0014】
別の実施形態では、予測残差用のループ内アーキテクチャに従って第1の符号語表現で出力画像を生成するデコーダにおいて、上記プロセッサは、第2の符号語表現で部分的に符号化された符号化ビットストリームを受信する。上記プロセッサは、関連する再構成情報も受信する。上記プロセッサは、上記再構成情報に基づいて、上記第1の符号語表現から上記第2の符号語表現にピクセルをマッピングする順方向再構成関数と、上記第2の符号語表現から上記第1の符号語表現にピクセルをマッピングする逆方向再構成関数とを生成する。上記符号化画像の領域について、上記プロセッサは、
上記符号化された画像に基づいて、復号化された再構成残差領域を生成し、
基準ピクセルバッファ又は事前に復号化された近傍空間内のピクセルに基づいて予測領域を生成し、
上記復号化された再構成された残差領域、上記予測領域、上記順方向再構成関数、及び上記逆方向再構成関数に基づいて、復元されたピクセル領域を生成し、
上記復元されたピクセル領域に基づいて、出力ピクセル領域を生成し、
上記出力ピクセル領域を上記基準ピクセルバッファに記憶する。
【0015】
[例示の映像配信処理パイプライン]
図1Aは、映像のキャプチャから映像コンテンツの表示までの様々な段階を示す従来の映像配信パイプライン100の例示の処理を示している。映像フレーム102のシーケンスが、画像生成ブロック105を用いてキャプチャされるか、又は生成される。映像フレーム102は、デジタル方式で(例えば、デジタルカメラによって)キャプチャされ、又は、コンピュータによって(例えば、コンピュータアニメーションを用いて)生成され、映像データ107を提供することができる。或いは、映像フレーム102は、フィルムカメラによってフィルム上にキャプチャされてもよい。このフィルムは、デジタルフォーマットに変換されて、映像データ107を提供する。プロダクションフェーズ110では、映像データ107が編集され、映像プロダクションストリーム112を提供する。
【0016】
プロダクションストリーム112の映像データは、次に、ポストプロダクション用のブロック115においてプロセッサに提供される。ブロック115のポストプロダクションは、映像クリエーターの創作意図に従って、画像の特定のエリア内の色又は明度を調整又は変更して、画質を向上し又は画像の特定の外観を実現することを含み得る。これは、「カラータイミング(color timing)」又は「カラーグレーディング(color grading)」
と呼ばれることがある。他の編集(例えば、シーン選択及びシーケーシング、画像クロッピング、コンピュータ生成された視覚特殊効果の追加等)をブロック115において行い、配信用のプロダクションの最終バージョン117を得ることができる。ポストプロダクション115において、映像イメージは、リファレンスディスプレイ125上で視聴される。
【0017】
ポストプロダクション115に続いて、最終プロダクションの映像データ117は、テレビ受像機、セットトップボックス、映画館等の下流側の復号化デバイス及び再生デバイ
スに配信する符号化ブロック120に配信することができる。幾つかの実施形態では、符号化ブロック120は、ATSCフォーマット、DVBフォーマット、DVDフォーマット、Blu-Rayフォーマット、及び他の配信フォーマットによって規定されるような、符号化されたビットストリーム122を生成するオーディオエンコーダ及び映像エンコーダを備えていてもよい。受信機では、符号化されたビットストリーム122は、復号化ユニット130によって復号化され、信号117と同一又はこれに近い近似を表す復号化された信号132が生成される。受信機は、リファレンスディスプレイ125と全く異なる特性を有し得るターゲットディスプレイ140に取り付けることができる。その場合、ディスプレイマネジメントブロック135を用いることにより、ディスプレイマッピングされた信号137を生成して、復号化された信号132のダイナミックレンジをターゲットディスプレイ140の特性にマッピングすることができる。
【0018】
信号再構成
図1Bは、従来技術の引用文献[1]による信号再構成の例示の処理を示している。入力フレーム117が与えられると、順方向再構成ブロック150は、入力及び符号化制約を解析し、入力フレーム117を再量子化された出力フレーム152にマッピングする符号語マッピング関数を生成する。例えば、ある電-光伝達関数(EOTF)(例えば、ガンマ)に従って入力117を符号化することができる。幾つかの実施形態では、再構成処理についての情報を、メタデータを用いて下流側デバイス(デコーダ等)に伝えることができる。本明細書において、「メタデータ」という用語は、符号化ビットストリームの一部として送信され、デコーダが復号化画像をレンダリングすることを補助する任意の付加情報に関する。そのようなメタデータは、本明細書において説明されるような色空間情報又は色域情報、リファレンスディスプレイパラメータ、及び付加信号パラメータを含み得るが、これらに限定されるものではない。
【0019】
符号化120及び復号化130に続いて、復号化されたフレーム132は、逆方向(backward)(又は逆)再構成関数160によって処理され得る。この関数は、再量子化されたフレーム132を、前述したディスプレイマネジメント処理135といった更に下流の処理のためにEOTF領域(例えば、ガンマ)に再び変換する。幾つかの実施形態では、逆方向再構成関数160は、例えば、AVC映像デコーダ又はHEVC映像デコーダにおける量子化解除器の一部として、デコーダ130における量子化解除器と統合することができる。
【0020】
本明細書において、「リシェーパ」という用語は、デジタル画像を符号化及び/又は復号化するときに用いられる順方向再構成関数又は逆方向再構成関数を意味し得る。再構成関数の例は、引用文献[1]及び[2]で議論されている。本発明において、当業者は、入力映像信号の特性と、符号化アーキテクチャ及び復号化アーキテクチャの利用可能なビット深度とに従って、適当な順方向再構成関数及び逆方向再構成関数を導出することができるものと仮定している。
【0021】
引用文献[1]では、ハイダイナミックレンジ映像符号化用のループ内ブロックベースの画像再構成方法が提案されている。その設計は、符号化ループの内部でブロックベースの再構成を可能にしているが、複雑さが増してしまうというコストを伴う。具体的には、この設計では、復号化画像バッファを2セット保持することが必要となる。一方のセットは、逆方向再構成された(又は非再構成の)復号化ピクチャ用であり、再構成を伴わない予測用とディスプレイへの出力用との双方に用いることができる。他方のセットは、順方向再構成された復号化ピクチャ用であり、再構成を伴う予測用にのみ用いられる。順方向再構成された復号化映像は、動作中に計算することができるが、特にインター予測(サブピクセル補間を含む動き補償)の場合に複雑さのコストが非常に高い。一般に、ディスプレイピクチャバッファ(DPB)のマネジメントは複雑であり、細心の注意を必要とする
。このため、本発明者らの認識によれば、映像を符号化する単純化された方法が望まれている。
【0022】
本明細書において提示される再構成ベースのコーデックアーキテクチャの実施形態は、次のように分けることができる。すなわち、外部のループ外リシェーパを有するアーキテクチャと、イントラオンリーループ内リシェーパを有するアーキテクチャと、略して「ループ内残差リシェーパ」とも呼ばれる予測残差用のループ内リシェーパを有するアーキテクチャとに分けることができる。映像エンコーダ又は映像デコーダは、これらのアーキテクチャのうちの任意の1つ又はそれらの組み合わせをサポートすることができる。これらのアーキテクチャのそれぞれは、そのままで適用することもできるし、他の任意の1つと組み合わせて適用することもできる。各アーキテクチャは、輝度成分、彩度成分、又は輝度成分及び1つ以上の彩度成分の組み合わせについて適用することができる。
【0023】
これらの3つのアーキテクチャに加えて、追加の実施形態は、再構成に関連するメタデータの効率的なシグナリング方法と、再構成が適用されるときに符号化効率を改善する幾つかのエンコーダベースの最適化ツールとを記載している。
【0024】
ノーマティブループ外リシェーパ
図2A及び
図2Bは、「ノーマティブ」ループ外リシェーパを有する映像エンコーダ200A_E及び対応する映像デコーダ200A_Dのアーキテクチャを示している。「ノーマティブ」という用語は、これまでの設計では、再構成が前処理ステップと考えられていたために、AVC、HEVC等の符号化規格のノーマティブな(normative)記述の範
囲外であったのと異なり、本実施形態においては、順方向再構成及び逆方向再構成がノーマティブな要件の一部であることを表す。規格に従ったビットストリーム適応性が復号化130の後に検査される
図1Bのアーキテクチャと異なり、
図2Bでは、適応性は、逆方向再構成ブロック265の後に(例えば、
図1Bにおける出力162において)検査される。
【0025】
エンコーダ200A_Eでは、2つの新たなブロック、すなわち、順方向再構成関数を推定するブロック205と、入力映像117の1つ以上の色成分に順方向再構成を適用する順方向ピクチャ再構成ブロック210とが、従来のブロックベースのエンコーダ(例えば、HEVC)に追加される。幾つかの実施形態では、これらの2つの動作は、単一の画像再構成ブロックの一部として実行され得る。デコーダにおいて逆方向再構成関数を求めることに関連するパラメータ207を、映像エンコーダ(例えば、CABAC220)の可逆エンコーダブロックに渡すことにより、符号化ビットストリーム122に埋め込むことができる。イントラ予測又はインター予測225、変換及び量子化(T&Q)、逆変換及び量子化(Q-1&T-1)並びにループフィルタリングに関連する全ての動作は、DPB215に記憶された、再構成されたピクチャを用いて行われる。
【0026】
デコーダ200A_Dでは、2つの新たなノーマティブブロック、すなわち、符号化再構成関数パラメータ207に基づいて逆方向再構成関数を復元するブロック250と、復号化データ262に逆方向再構成関数を適用して復号化映像信号162を生成するブロック265とが、従来のブロックベースのデコーダに追加される。幾つかの実施形態では、ブロック250及び265に関連する動作を、単一の処理ブロックに組み合わせることができる。
【0027】
図3Aは、本発明の一実施形態によるループ外再構成アーキテクチャ200A_Eを用いて映像を符号化する例示の処理300A_Eを示している。再構成が有効にされていない場合(経路305)、符号化は、従来技術のエンコーダ(例えば、HEVC)において知られているように進行する。再構成が有効にされている場合(経路310)、エンコー
ダは、所定(デフォルト)の再構成関数を適用するという選択肢315、又は、ピクチャ解析320に基づいて新たな再構成関数325を適応的に求めるという選択肢(例えば、引用文献[1]~[3]に記載)を持つことができる。順方向再構成330に続いて、符号化の残りの部分は、従来の符号化パイプラインに従う(335)。適応的再構成312が用いられる場合、逆方向再構成関数に関連するメタデータが、「符号化リシェーパ(Encode Reshaper)」ステップ327の一部として生成される。
【0028】
図3Bは、本発明の一実施形態によるループ外再構成アーキテクチャ200A_Dを用いて映像を復号化する例示の処理300A_Dを示している。再構成が有効にされていない場合(経路355)、従来の復号化パイプラインと同様に、ピクチャを復号化した(350)後、出力フレームが生成される(390)。再構成が有効にされている場合(経路360)、ステップ370において、デコーダは、所定(デフォルト)の再構成関数を適用する(375)のか、又は、受信パラメータ(例えば、207)に基づいて逆方向再構成関数を適応的に求める(380)のかを決定する。逆方向再構成385に続いて、復号化の残りの部分は従来の復号化パイプラインに従う。
【0029】
ノーマティブイントラオンリーループ内リシェーパ
図2Cは、本発明の一実施形態によるノーマティブイントラオンリーループ内再構成を用いたエンコーダ200B_Eの例示のアーキテクチャを示している。この設計は、引用文献[1]において提案されている設計とかなり類似しているが、特にDPBメモリ215及び260の使用に関わる複雑度を低減するために、イントラピクチャのみがこのアーキテクチャを用いて符号化される。
【0030】
ループ外再構成200A_Eと比較すると、エンコーダ200B_Eにおける主な相違は、DPB215が、再構成されたピクチャではなく逆方向再構成されたピクチャを記憶することである。換言すれば、復号化イントラピクチャを、DPBに記憶する前に(逆方向再構成ユニット265によって)逆方向再構成する必要がある。このアプローチの背後にある理由は、イントラピクチャが再構成を伴って符号化された場合、イントラピクチャの改善された符号化性能が伝播し、インターピクチャが再構成を伴わずに符号化されていても、インターピクチャの符号化も同様に(暗に)改善されるということである。このように、インターピクチャのループ内再構成の複雑度を取り扱うことなく再構成を利用することができる。逆方向再構成265は、内部ループの一部であるので、ループ内フィルター270の前に実施することができる。ループ内フィルターの前に逆方向再構成を追加する利点は、この場合、順方向再構成されたピクチャではなく原ピクチャの特性に基づいてループ内フィルターの設計を最適化することができるということである。
【0031】
図2Dは、本発明の一実施形態によるノーマティブイントラオンリーループ内再構成を用いたデコーダ200B_Dの例示のアーキテクチャを示している。
図2Dに示すように、ここで、ループ内フィルタリング270の前に、逆方向再構成関数を求めること(250)と、逆方向再構成を適用すること(265)とが実行される。
【0032】
図3Cは、本発明の一実施形態によるイントラオンリーループ内再構成アーキテクチャを用いて映像を符号化する例示の処理300B_Eを示している。図示されるように、
図3Cにおける動作のフローは、
図3Aにおける動作のフローと多くの要素を共有する。この例では、デフォルトで、インター符号化には再構成が適用されない。イントラ符号化ピクチャについては、再構成が有効にされている場合、エンコーダは、この場合も、デフォルト再構成曲線を用いるか、又は、適応的再構成を適用するかの選択肢を有する(312)。ピクチャが再構成される場合、逆方向再構成385が処理に含まれ、ステップ327において関連するパラメータが符号化される。対応する復号化処理300B_Dが、
図3Dに示されている。
【0033】
図3Dに示すように、再構成に関連する動作は、イントラ再構成がエンコーダにおいて適用された場合にのみ、受信されたイントラピクチャに対してのみ有効にされる。
【0034】
予測残差のループ内リシェーパ
符号化において、「残差」という用語は、サンプルすなわちデータ要素の予測値とその元の値又は復号化値との間の差を意味する。例えば、Orig_sampleとして表記される入力映像117からの原サンプルが与えられると、イントラ予測又はインター予測225は、Pred_sampleとして表記される対応する予測サンプル227を生成することができる。再構成が行われていない場合、未再構成残差Res_uは、以下の式として定義することができる。
Res_u = Orig_sample - Pred_sample. (1)
【0035】
幾つかの実施形態では、残差領域内に再構成を適用することが有益であり得る。
図2Eは、本発明の一実施形態による、予測残差にループ内再構成を用いたエンコーダ200C_Eの例示のアーキテクチャを示している。順方向再構成関数をFwd()と表記し、対応する逆方向再構成関数をInv()と表記することにする。一実施形態では、再構成された残差232は、以下の式として定義することができる。
Res_r = Fwd(Orig_sample) - Fwd(Pred_sample). (2)
【0036】
これに対応して、逆方向リシェーパ265の出力267において、Reco_sample267として表記される復元されたサンプルは、以下のように表すことができる。
Reco_sample= Inv(Res_d + Fwd(Pred_sample)), (3)
ここで、Res_dは、200C_Eにおけるループ内符号化及び復号化の後のRes_rの密接近似値である残差234を表す。
【0037】
なお、再構成は残差に適用されるが、実際の入力映像ピクセルは再構成されない。
図2Fは、対応するデコーダ200C_Dを示している。
図2Fに示すように、式(3)に基づくと、デコーダは、受信されたメタデータ207及び「リシェーパ復号化」ブロック250を用いて抽出することができる順方向再構成関数及び逆方向再構成関数の双方へのアクセスを必要とすることに留意されたい。
【0038】
一実施形態では、複雑度を低減するために、式(2)及び(3)を簡略化することができる。例えば、順方向再構成関数を区分的線形関数によって近似することができるとともに、Pred_sampleとOrig_sampleとの間の絶対差が相対的に小さいと仮定すると、式(2)は、以下のように近似することができる。
Res_r = a(Pred_sample)*(Orig_sample -Pred_sample), (4)
ここで、a(Pred_sample)は、Pred_sampleの値に基づくスケーリングファクターを表す。式(3)及び(4)から、式(3)は、以下のように近似することができる。
Reco_sample= Pred_sample + (1/a(Pred_sample))*Res_r, (5)
したがって、一実施形態では、区分的線形モデルのスケーリングファクターa(Pred_sample)のみをデコーダに伝える必要がある。
【0039】
図3E及び
図3Fは、予測残差のループ内再構成を用いて映像を符号化する例示の処理フロー300C_E及び映像を復号化する例示の処理フロー300C_Dを示している。これらの処理は、
図3A及び
図3Bに示されている処理とかなり類似している。このため、説明を要しない。
【0040】
表1は、3つの提案アーキテクチャの重要な特徴を要約したものである。
【0041】
【0042】
図4A及び
図4Bは、3つの提案アーキテクチャの組み合わせを用いて符号化する例示の符号化処理フロー及び復号化する例示の復号化処理フローを示している。
図4Aに示すように、再構成が有効にされていない場合、入力映像は、再構成を用いることなく既知の映像符号化技術(例えば、HEVC等)に従って符号化される。再構成が有効にされている場合、エンコーダは、ターゲットの受信機の能力及び/又は入力特性に応じて、3つの
主な提案方法のうちのいずれか1つを選択することができる。例えば、一実施形態では、エンコーダは、シーンレベルにおいてこれらの方法を切り替えることができる。ここで、「シーン」は、同様の輝度特性を有する連続フレームからなるシーケンスを表す。別の実施形態では、高レベルパラメータが、シーケンスパラメータセット(SPS)レベルにおいて定義される。
【0043】
図4Bに示すように、デコーダは、再構成情報の受信した信号に応じて、対応する復号化処理のうちのいずれかを呼び出して、送られてくる符号化されたビットストリームを復号化することができる。
【0044】
ハイブリッドループ内再構成
図2Gは、ハイブリッドループ内再構成アーキテクチャを用いたエンコーダの例示のアーキテクチャ200D_Eを示している。このアーキテクチャは、前述のイントラオンリーループ内再構成アーキテクチャ200B_E及びループ内残差アーキテクチャ200C_Eの双方からの要素を組み合わせたものである。このアーキテクチャの下では、イントラスライスは、1つの相違点を除いて、ループ内イントラ再構成符号化アーキテクチャ(例えば、
図2Cにおける200B_E)に従って符号化される。1つの相違点とは、イントラスライスについて、逆方向ピクチャ再構成265-1がループフィルタリング270-1の後に実行されることである。別の実施形態では、イントラスライスのループ内フィルタリングが逆方向再構成の後に実行され得る。しかし、実験結果は、そのような構成が、逆方向再構成がループフィルタリングの後に実行されたときよりも符号化効率の悪化をもたらし得ることを示している。残りの動作は、前述したものと同じである。
【0045】
インタースライスは、前述のように、ループ内残差符号化アーキテクチャ(例えば、
図2Eにおける200C_E)に従って符号化される。
図2Gに示すように、イントラ/インタースライススイッチにより、符号化されるスライスタイプに応じた2つのアーキテクチャ間の切り替えが可能である。
【0046】
図2Hは、ハイブリッドループ内再構成を用いたデコーダの例示のアーキテクチャ200D_Dを示している。この場合も、イントラスライスは、ループ内イントラ再構成デコーダアーキテクチャ(例えば、
図2Dにおける200B_D)に従って復号化される。この場合も、イントラスライスについて、ループフィルタリング270-1は、逆方向ピクチャ再構成265-1よりも前に行われる。インタースライスは、ループ内残差復号化アーキテクチャ(例えば、
図2Fにおける200C_D)に従って復号化される。
図2Hに示すように、イントラ/インタースライススイッチにより、符号化映像のピクチャにおけるスライスタイプに応じた2つのアーキテクチャ間の切り替えが可能である。
【0047】
図4Aは、
図2Gに示す符号化処理300D-Eを呼び出すことによってハイブリッドループ内再構成符号化の方法も含むように容易に拡張することができる。同様に、
図4Bは、
図2Hに示す復号化処理300D-Dを呼び出すことによってハイブリッドループ内再構成復号化の方法も含むように容易に拡張することができる。
【0048】
スライスレベルでの再構成
本発明の実施形態は、様々なスライスレベルの適応調整を可能にする。例えば、計算量を削減するために、再構成は、イントラスライスについてのみ、又はインタースライスについてのみ有効にすることができる。別の実施形態では、再構成は、時間ID(例えば、HEVCの変数TemporalId(引用文献[11])であり、TemporalId=nuh_temporal_id_plus1-1である)の値に基づいて可能にすることができる。例えば、現在のスライスのTemporalIdが既定値以下である場合には、現在のスライスのslice_reshaper_enable_flagを1
に設定することができ、そうでない場合には、slice_reshaper_enable_flagは0になる。スライスごとにslice_reshaper_enable_flagパラメータを送信することを回避するために、SPSレベルにおいてsps_reshaper_temporal_idパラメータを指定することができ、したがって、その値を推定することができる。
【0049】
再構成が有効にされているスライスについて、デコーダは、どの再構成モデルを用いるのかを知る必要がある。ある実施形態では、デコーダは、SPSレベルにおいて定められた再構成モデルを常に用いることができる。別の実施形態では、デコーダは、スライスヘッダーにおいて定められた再構成モデルを常に用いることができる。再構成モデルが現在のスライスにおいて定められていない場合、デコーダは、再構成を用いた、直近に復号化されたスライスにおいて用いられた再構成モデルを適用することができる。別の実施形態では、再構成がイントラスライスに用いられるか否かを問わず、再構成モデルをイントラスライスにおいて常に指定することができる。そのような実施態様では、パラメータslice_reshaper_enable_flag及びslice_reshaper_model_present_flagを分離する必要がある。そのようなスライスシンタックスの一例は表5に示されている。
【0050】
再構成情報のシグナリング
順方向再構成及び/又は逆方向再構成に関連する情報は、種々の情報レイヤー、例えば、映像パラメータセット(VPS)、シーケンスパラメータセット(SPS)、映像パラメータセット(PPS)、スライスヘッダー、補足情報(SEI)、又は他の任意の高レベルシンタックスに存在することができる。限定ではなく一例として、表2は、再構成が可能にされているか否か、再構成が適応できるか否か、及び3つのアーキテクチャのいずれが用いられているのかに関するシグナリングのSPSにおける高レベルのシンタックスの一例を提供している。
【0051】
【0052】
追加の情報も、他のあるレイヤー、例えば、スライスヘッダーに保持することができる。再構成関数は、ルックアップテーブル(LUT)、区分的多項式、又は他の種類のパラメトリックモデルによって記述することができる。再構成関数を伝えるために用いられている再構成モデルのタイプは、追加のシンタックス要素、例えば、reshaping_model_typeフラグによってシグナリングすることができる。例えば、2つの異なる表現を用いるシステムを考えることにする。すなわち、model_A(例えば、reshaping_model_type=0)は、再構成関数を区分的多項式の集合として表す(例えば、引用文献[4]参照)一方、model_B(例えば、reshaping_model_type=1)では、再構成関数は、映像輝度特性及び視覚的重要度に基づいて符号語を異なる輝度帯域に割り当てることによって適応的に導出される(例
えば、引用文献[3]参照)。表3は、用いられる適切な再構成モデルをデコーダが決定することを補助する、映像のスライスヘッダーにおけるシンタックス要素の一例を提供している。
【0053】
【0054】
以下の3つの表は、シーケンスレイヤー、スライスレイヤー、又は符号化ツリーユニット(CTU)レイヤーにおける信号再構成のビットストリームシンタックスの代替例を記載している。
【0055】
【0056】
【0057】
【0058】
表4~表6について、例示のセマンティクスは、以下のように表すことができる。
1に等しいsps_reshaper_enable_flagは、リシェーパが、符号化映像シーケンス(CVS)に用いられることを指定する。0に等しいsps_reshaper_enabled_flagは、リシェーパがCVSに用いられないことを指定する。
1に等しいslice_reshaper_enable_flagは、リシェーパが現在のスライスについて有効にされていることを指定する。0に等しいslice_reshaper_enable_flagは、リシェーパが現在のスライスについて有効にされていないことを指定する。
sps_reshaper_signal_typeは、元の符号語の分布又は表現を示す。限定ではなく一例として、0に等しいsps_reshaper_signal_typeはSDR(ガンマ)を指定し、1に等しいsps_reshaper_signal_typeはPQを指定し、2に等しいsps_reshaper_signal_typeはHLGを指定する。
1に等しいreshaper_CTU_control_flagは、リシェーパを各CTUに適応させることが可能であることを示す。0に等しいreshaper_CTU_control_flagは、リシェーパを各CTUに適応させることが可能でないことを示す。reshaper_CUT_control_flagが存在しないとき、その値は0であると推定されるものとする。
1に等しいreshaper_CTU_flagは、リシェーパが現在のCTUに用いられることを指定する。0に等しいreshaper_CUT_flagは、リシェーパ
が現在のCTUに用いられないことを指定する。reshaper_CTU_flagが存在しないとき、その値はslice_reshaper_enabled_flagに等しいと推定されるものとする。
1に等しいsps_reshaper_model_present_flagは、sps_reshaper_model()がSPSに存在することを示す。0に等しいsps_reshaper_model_present_flagは、sps_reshaper_model()がSPSに存在しないことを示す。
1に等しいslice_reshaper_model_present_flagは、slice_reshaper_model()がスライスヘッダーに存在することを示す。0に等しいslice_reshaper_model_present_flagは、slice_reshaper_model()がスライスヘッダーに存在しないことを示す。
1に等しいsps_reshaper_chromaAdjは、彩度QP調整がchromaDQPを用いて行われることを示す。2に等しいsps_reshaper_chromaAdjは、彩度QP調整が彩度スケーリングを用いて行われることを示す。
sps_reshaper_ILF_optは、ループ内フィルターが、イントラスライス及びインタースライスについて元の領域において適用されるべきか又は再構成領域において適用されるべきかを示す。例えば、最下位ビットがイントラスライスに関係する2
ビットシンタックスを用いると、以下の表のとおりとなる。
【0059】
【0060】
幾つかの実施形態では、このパラメータは、スライスレベルにおいて調整することができる。例えば、一実施形態では、スライスは、slice_reshaper_enable_flagが1に設定されているとき、slice_reshape_ILFOPT_flagを含み得る。別の実施形態では、SPSには、sps_reshaper_ILF_optが有効にされている場合、sps_reshaper_ILF_Tidパラメータを含めることができる。現在のスライスのTemporalID≦sps_reshaper_ILF_Tidであり、かつ、slice_reshaper_enable_flagが1に設定されている場合、ループ内フィルターは、再構成領域において適用される。そうでない場合、ループ内フィルターは、非再構成領域において適用される。
【0061】
表4では、彩度QP調整は、SPSレベルにおいて制御される。一実施形態では、彩度QP調整は、スライスレベルにおいても制御することができる。例えば、各スライスにおいて、slice_reshaper_enable_flagが1に設定されているとき、シンタックス要素slice_reshape_chromaAdj_flagを追加することができる。別の実施形態では、SPSにおいて、sps_reshaper_chromaAdjが有効にされているとき、シンタックス要素sps_reshaper_ChromaAdj_Tidを追加することができる。現在のスライスのTemporalID≦sps_reshaper_ChromaAdj_Tidであり、かつ、slice_reshaper_enable_flagが1に設定されている場合、彩度調整が適用される。そうでない場合、彩度調整は適用されない。表4Bは、前述したシンタックスを用いた表4の例示の変形形態を示している。
【0062】
【0063】
sps_reshaper_ILF_Tidは、ループ内フィルターが再構成領域において再構成されたスライスについて適用される最も高いTemporalIDを指定する。
sps_reshaper_chromaAdj_Tidは、彩度調整が再構成されたスライスについて適用される最も高いTemporalIDを指定する。
【0064】
別の実施形態では、再構成モデルは、例えばslice_reshape_model()関数の一部として、再構成モデルID、例えばreshape_model_idを用いて定義することができる。再構成モデルは、SPSレベル、PPSレベル、又はスライスヘッダーレベルにおいてシグナリングすることができる。SPS又はPPSにおいてシグナリングされる場合、reshape_model_idの値は、sps_seq_parameter_set_id又はpps_pic_parameter_set_idから推定することもできる。slice_reshape_model()を保持していない(例えば、slice_reshaper_model_present_flagが0に等しい)スライスにreshape_model_idをどのように用いるのかの一例が、表5の変形形態である以下の表5Bに示されている。
【0065】
【0066】
例示のシンタックスでは、パラメータreshape_model_idは、用いられているreshape_modelの値を指定する。reshape_model_idのこの値は、0~15の範囲にあるものとする。
【0067】
提案されたシンタックスの一使用例として、再構成がSPSレベルにおいて用いられ、特定の再構成がスライスレベルにおいて用いられず(再構成は全てのスライスに用いられる)、CTU適応がインタースライスについてのみ可能にされる場合にPQ EOTFを用いて符号化されるHDR信号を考えることにする。その場合、以下となる。
sps_reshaper_signal_type=1(PQ);
sps_reshaper_model_present_flag=1;
//注:slice_reshaper_enable_flagを操作して、インタースライスについてリシェーパを有効及び無効にすることができる。
slice_reshaper_enable_flag=1;
if(CTUAdp)
{
if(I_slice)
slice_reshaper_model_present_flag=0;
reshaper_CTU_control_flag=0;
else
slice_reshaper_model_present_flag=0;
reshaper_CTU_control_flag=1;
}
else
{
slice_reshaper_model_present_flag=0;
reshaper_CTU_control_flag=0;
}
【0068】
別の例として、再構成がスライスレベルのみにおいて、イントラスライスのみについて適用される場合のSDR信号を考えることにする。CTU再構成適応は、インタースライスのみについて可能にされる。その場合、以下となる。
sps_reshaper_signal_type=0(SDR);
sps_reshaper_model_present_flag=0;
slice_reshaper_enable_flag=1;
if(I_slice)
{
slice_reshaper_model_present_flag=1;
reshaper_CTU_control_flag=0;
}
else
{
slice_reshaper_model_present_flag=0;
if(CTUAdp)
reshape_CTU_control_flag=1;
else
reshaper_CTU_control_flag=0;
}
【0069】
CTUレベルにおいて、一実施形態では、CTUレベル再構成は、CTUの輝度特性に基づいて有効にすることができる。例えば、各CTUについて、平均輝度(例えば、CTU_avg_lum_value)を計算し、この平均輝度を1つ以上の閾値と比較し、それらの比較の結果に基づいて再構成をオンにするのか又はオフにするのかを決定することができる。例えば、
CTU_avg_lum_value<THR1である場合、又は
CTU_avg_lum_value>THR2である場合、又は
THR3<CTU_avg_lum_value<THR4である場合、
このCTUについて、reshaper_CTU_Flag=1である。
一実施形態では、平均輝度を用いる代わりに、最小輝度、最大輝度、又は平均輝度、分散等のCTUの他のある輝度特性を用いることができる。CTUの彩度ベースの特性を適用することもできるし、輝度特性及び彩度特性並びに閾値を組み合わせることもできる。
【0070】
上述(例えば、
図3A、
図3B、及び
図3Cにおけるステップについて上述)したように、実施形態は、デフォルト再構成関数若しくは静的再構成関数、又は適応的再構成の双方をサポートすることができる。「デフォルトリシェーパ」は、既定の再構成関数を実行するために用いることができ、したがって、再構成曲線を導出する際に各映像又は各シーンを解析する複雑度を低減することができる。この場合、シーンレベルにおいても、映像レベルにおいても、スライスレベルにおいても逆方向再構成関数をシグナリングする必要はない。デフォルトリシェーパは、シグナリングを回避するためにデコーダに記憶された固定マッピング曲線を用いることによって実施することもできるし、シーケンスレベルパラメータセットの一部として1回シグナリングすることもできる。別の実施形態では、事前に復号化された適応的再構成関数を符号化順において後の映像に再利用することができる。別の実施形態では、再構成曲線は、以前に復号化されたものとの差分としてシグナリングすることができる。他の実施形態では、(例えば、Inv()関数及びFwd()関数の双方が逆方向再構成を行うために必要とされているループ内残差再構成について)、Inv()関数又はFwd()関数のうちの一方のみをビットストリームでシグナリングすることもできるし、代替的に、デコーダの複雑度を低減するために、双方をシグナリングすることもできる。表7及び表8は、再構成情報をシグナリングする2つの例を提供している。
【0071】
表7では、再構成関数は、2次多項式のセットとして伝えられる。再構成関数は、探査実験モデル(ETM)の単純化されたシンタックスである(引用文献[5])。これまでの変形形態は引用文献[4]にも見ることができる。
【0072】
【0073】
reshape_input_luma_bit_depth_minus8は、再構成処理の入力輝度成分のサンプルビット深度を指定する。
coeff_log2_offset_minus2は、輝度成分の再構成関連係数の計算の小数ビットの数を指定する。coeff_log2_offset_minus2の値は、0以上3以下の範囲にあるものとする。
reshape_num_ranges_minus1に1を加えたものは、区分的再構成関数における範囲の数を指定する。存在しないとき、reshape_num_ranges_minus1の値は、0であると推定される。reshape_num_ranges_minuslは、輝度成分の場合、0以上7以下の範囲にあるものとする。
1に等しいreshape_equal_ranges_flagは、区分的再構成関数が、ほぼ等しい長さを有するNumberRanges個の部分に分割され、各範囲の長さが明示的にシグナリングされないことを指定する。0に等しいreshape_equal_ranges_flagは、各範囲の長さが明示的にシグナリングされることを指定する。
reshape_global_offset_valは、第0の範囲の開始点を指定するために用いられるオフセット値を得るために用いられる。
reshape_range_val[i]は、輝度成分の第iの範囲の長さを得るために用いられる。
reshape_continuity_flagは、輝度成分の再構成関数の連続性特性を指定する。reshape_continuity_flagが0に等しい場合、0次連続性が、連続したピボット点の間の区分的線形逆方向再構成関数に適用される。reshape_continuity_flagが1に等しい場合、1次平滑を用いて、連続したピボット点の間の完全2次多項式逆方向再構成関数が導出される。
reshape_poly_coeff_order0_int[i]は、輝度成分の第iの部分の0次多項式係数の整数値を指定する。
reshape_poly_coeff_order0_frac[i]は、輝度成分の第iの部分の0次多項式係数の小数値を指定する。
reshape_poly_coeff_orderl_intは、輝度成分の1次多
項式係数の整数値を指定する。
reshape_poly_coeff_orderl_fracは、輝度成分の1次多項式係数の小数値を指定する。
【0074】
表8は、前述したmodel_B(引用文献[3])による代替のパラメトリック表現の例示の実施形態を記載している。
【0075】
【0076】
表8において、一実施形態では、シンタックスパラメータは、以下のように定義することができる。
reshape_model_profile_typeは、リシェーパ構築処理において用いられるプロファイルタイプを指定する。
reshape_model_scale_idxは、リシェーパ構築処理において用いられるスケール係数(ScaleFactorとして表される)のインデックス値を指定する。ScaleFactorの値によって、全体的な符号化効率を改善する再構成関数の制御の改善が可能になる。このScaleFactorの使用に関する更に詳細な内容は、再構成関数復元処理(例えば、
図5A及び
図5Bに示す)に関する議論と関連して提供される。限定ではなく一例として、reshape_model_scale_idxの値は、0以上3以下の範囲にあるものとする。一実施形態では、以下の表に示すようなscale_idxとScaleFactorとの間のマッピング関係は、
ScaleFactor = 1.0 - 0.05* reshape_model_scale_idx.
によって与えられる。
【0077】
【0078】
別の実施形態では、より効率的な固定小数点の実施態様の場合、マッピング関係は、
ScaleFactor = 1 - 1/16* reshape_model_scale_idx
によって与えられる。
【0079】
【0080】
reshape_model_min_bin_idxは、リシェーパ構築処理において用いられる最小ビンインデックスを指定する。reshape_model_min_bin_idxの値は、0以上31以下の範囲にあるものとする。
reshape_model_max_bin_idxは、リシェーパ構築処理において用いられる最大ビンインデックスを指定する。reshape_model_max_bin_idxの値は、0以上31以下の範囲にあるものとする。
reshape_model_num_bandは、リシェーパ構築処理において用いられる帯域の数を指定する。reshape_model_num_bandの値は、0以上15以下の範囲にあるものとする。
reshape_model_band_profile_delta[i]は、リシェーパ構築処理において第iの帯域のプロファイルを調整するために用いられるデルタ値を指定する。reshape_model_band_profile_delta[i]の値は、0以上1以下の範囲にあるものとする。
【0081】
引用文献[3]と比較すると、表8におけるシンタックスは、「デフォルトプロファイルタイプ」のセット、例えば、ハイライト、中間調及び暗色を定義することによってはるかに効率的である。一実施形態では、各タイプは、既定の視覚帯域重要度プロファイルを有する。既定の帯域及び対応するプロファイルは、固定値としてデコーダに実装することができるし、高レベルシンタックス(シーケンスパラメータセット等)を用いてシグナリングすることもできる。エンコーダにおいて、各画像は、最初に解析され、プロファイル化タイプのうちの1つにカテゴリー化される。プロファイルタイプは、シンタックス要素「reshape_model_profile_type」によってシグナリングされる。適応的再構成では、画像ダイナミクスの全範囲をキャプチャするために、デフォルトプロファイリングが、輝度帯域のそれぞれ又はサブセットのデルタによって更に調整される。デルタ値は、輝度帯域の視覚的重要度に基づいて導出され、シンタックス要素「reshape_model_band_profile_delta」によってシグナリングされる。
【0082】
1つの実施形態では、デルタ値は、0又は1の値のみを取ることができる。エンコーダにおいて、視覚的重要度は、全体画像における帯域ピクセルのパーセンテージを「支配的帯域」内の帯域ピクセルのパーセンテージと比較することによって求められる。ここで、支配的帯域は、局所的なヒストグラムを用いて検出することができる。帯域内のピクセルが小さな局所ブロックに集中している場合、その帯域は、そのブロックにおいて視覚的に重要である可能性が最も高い。支配的帯域のカウントは、各帯域のデルタ値を得る意味のある比較をなすために合計され、正規化される。
【0083】
デコーダでは、リシェーパ関数復元処理を呼び出して、引用文献[3]に記載された方法に基づいて再構成LUTを導出しなければならない。したがって、LUTを計算するために区分的多項式関数の値のみを求めることが必要であるより単純な区分近似モデルと比較すると、複雑度はより高い。パラメトリックモデルシンタックスを用いることの利点は
、リシェーパを用いるビットレートを大幅に削減することができることである。例えば、一般的なテストコンテンツに基づくと、表7に示すモデルは、リシェーパをシグナリングするために200ビット~300ビットを必要とする一方、パラメトリックモデル(表8にあるような)は約40ビットしか用いない。
【0084】
別の実施形態では、表9に示すように、dQP値のパラメトリックモデルに従って順方向再構成ルックアップテーブルを導出することができる。例えば、一実施形態では、
dQP = clip3(min, max, scale*X+offset)
となる。ここで、min及びmaxは、dQPの境界を表し、scale及びoffsetは、モデルの2つのパラメータであり、Xは、信号輝度(例えば、ピクセルの輝度値、又は、ブロックの場合、ブロック輝度のメトリック、例えば、その最小、最大、平均、分散、標準偏差等)に基づいて導出されるパラメータを表す。例えば、これに限定されないが、
dQP = clip3(-3, 6, 0.015*X - 7.5)
である。
【0085】
【0086】
一実施形態では、表9におけるパラメータは、以下のように定義することができる。
full_range_input_flagは、入力映像信号の範囲を指定する。0のfull_range_input_flagは、標準ダイナミックレンジの入力映像信号に対応する。1のfull_range_input_flagは、フルレンジの入
力映像信号に対応する。存在しない場合、full_range_input_flagは0であると推定される。
【0087】
注:本明細書において、「フルレンジ映像」という用語は、映像における有効な符号語が「制限」されていないことを意味する。例えば、10ビットフルレンジ映像の場合、有効な符号語は、0~1023であり、0は最低輝度レベルにマッピングされる。対照的に、10ビット「標準レンジ映像」の場合、有効な符号語は64~940であり、64は最低輝度レベルにマッピングされる。
【0088】
例えば、「フルレンジ」及び「標準レンジ」の計算は、以下のように行うことができる。
[0 1]における正規化された輝度値Ey’がBDビット(例えば、BD=10、12等)で符号化する場合、以下となる。
フルレンジ:Y=clip3(0,(1≪BD)-1,Ey’*((1≪BD)-1)))
標準レンジ:Y=clip3(0,(1≪BD)-1,round(l≪(BD-8)*(219*Ey’+16)))
【0089】
このシンタックスは、HEVC(H.265)仕様書(引用文献[11])のセクションE.2.1に記載されているHEVC VUIパラメータにおける「video_fu
ll_range_flag」シンタックスと同様である。
dQP_model_scale_int_precは、dQP_model_scale_intを表すために用いられるビット数を指定する。0に等しいdQP_model_scale_int_precは、dQP_model_scale_intがシグナリングされず、0であると推定されることを示す。
dQP_model_scale_intは、dQPモデルスケールの整数値を指定する。
dQP_model_scale_frac_prec_minus16に16を加えたものは、dQP_model_scale_fracを表すために用いられるビット数を指定する。
dQP_model_scale_fracは、dQPモデルスケールの小数値を指定する。
【0090】
変数dQPModelScaleAbsは、以下のように導出される。
dQPModelScaleAbs = dQP_model_scale_int << (dQP_model_scale_frac_prec_minus16 + 16) + dQP_model_scale_frac
dQP_model_scale_signは、dQPモデルスケールの正負符号を指定する。dQPModelScaleAbsが0に等しいとき、dQP_model_scale_signはシグナリングされず、0であると推定される。
dQP_model_offset_int_prec_minus3に3を加えたものは、dQP_model_offset_intを表すために用いられるビット数を指定する。
dQP_model_offset_intは、dQPモデルオフセットの整数値を指定する。
dQP_model_offset_frac_prec_minuslに1を加えたものは、dQP_model_offset_fracを表すために用いられるビット数を指定する。
dQP_model_offset_fracは、dQPモデルオフセットの小数値を指定する。
【0091】
変数dQPModelOffsetAbsは、以下のように導出される。
dQPModelOffsetAbs = dQP_model_offset_int << (dQP_model_offset_frac_prec_minus1 +
1) + dQP_model_offset_frac
dQP_model_offset_signは、dQPモデルオフセットの正負符号を指定する。dQPModelOffsetAbsが0に等しいとき、dQP_model_offset_signはシグナリングされず、0に等しいと推定される。
dQP_model_abs_prec_minus3に3を加えたものは、dQP_model_max_abs及びdQP_model_min_absを表すために用いられるビット数を指定する。
dQP_model_max_absは、dQPモデルmaxの整数値を指定する。
dQP_model_max_signは、dQPモデルmaxの正負符号を指定する。dQP_model_max_absが0に等しいとき、dQP_model_max_signはシグナリングされず、0に等しいと推定される。
dQP_model_min_absは、dQPモデルminの整数値を指定する。
dQP_model_min_signは、dQPモデルminの正負符号を指定する。dQP_model_min_absが0に等しいとき、dQP_model_min_signはシグナリングされず、0に等しいと推定される。
【0092】
モデルCの復号化処理
表9のシンタックス要素が与えられると、再構成LUTは、以下のように導出することができる。
変数dQPModelScaleFPは、以下のように導出される。
dQPModelScaleFP = ((1- 2*dQP_model_scale_sign) * dQPModelScaleAbs ) << (dQP_ model_offset_frac_prec_minus1 + 1).
変数dQPModelOffsetFPは、以下のように導出される。
dQPModelOffsetFP = ((1-2* dQP_model_offset_sign) * dQPModelOffsetAbs ) << (d QP_model_scale_frac_prec_minus16 + 16).
変数dQPModelShiftは、以下のように導出される。
dQPModelShift = (dQP_model_offset_frac_prec_minus1 + 1) + (dQP_model_scale_f rac_prec_minus16 + 16).
変数dQPModelMaxFPは、以下のように導出される。
dQPModelMaxFP = ((1- 2*dQP_model_max_sign) * dQP_model_max_abs) << dQPModelS hift.
変数dQPModelMinFPは、以下のように導出される。
dQPModelMinFP = ((1- 2*dQP_model_min_sign) * dQP_model_min_abs) << dQPModelS hift.
for Y=0:maxY //例えば、10ビット映像の場合、maxY=1023
{
dQP[Y]=clip3(dQPModelMinFP, dQPModelMaxFP, dQPModelScaleFP*Y+dQPModelOffsetFP);
slope[Y]=exp2((dQP[Y]+3)/6); //固定小数点のexp2を実施。ここで、exp2(x)=2^(x)である;
}
If(full_range_input_flag==0) //入力が標準レンジ映像である場合
標準レンジ外のY(すなわち、Y=[0:63]及び[940:1023])について
、slope[Y]=0を設定する;
CDF[0]=slope[0];
for Y=0:maxY-1
{
CDF[Y+1]=CDF[Y]+slope[Y];//CDF[Y]は、slope[Y]の積分である
}
for Y=0:maxY
{
FwdLUT[Y]=round(CDF[Y]*maxY/CDF[maxY]); //丸め及び正規化を行ってFwdLU
Tを得る
}
【0093】
別の実施形態では、表10に示すように、順方向再構成関数は、輝度ピボット点(In_Y)及びそれらの対応する符号語(Out_Y)の集合体として表すことができる。符号化を簡略化するために、入力輝度範囲は、線形区分表現を用いた開始ピボット及びその後に続く等間隔のピボットのシーケンスによって記述される。10ビット入力データの順方向再構成関数を表した一例が
図7に示されている。
【0094】
【0095】
一実施形態では、表10におけるパラメータは、以下のように定義することができる。
full_range_input_flagは、入力映像信号の範囲を指定する。0のfull_range_input_flagは、標準レンジ入力映像信号に対応する。1のfull_range_input_flagは、フルレンジ入力映像信号に対応する。存在しないとき、full_range_input_flagは0であると推定される。
bin_pivot_startは、最初の等長ビンのピボット値(710)を指定する。full_range_input_flagが0に等しいとき、bin_pivot_startは、最小の標準レンジ入力以上であるものとし、最大の標準レンジ入力よりも小さいものとする。(例えば、10ビットSDR入力の場合、bin_pivot_start(710)は、64~940であるものとする)。
bin_cw_startは、bin_pivot_start(710)のマッピングされた値(715)を指定する(例えば、bin_cw_start=FwdLUT[bin_pivot_start])。
log2_num_equal_bins_minus3に3を加えたものは、開始ピボット(710)に続く等長ビンの数を指定する。変数NumEqualBins及びNumTotalBinsは、以下の式によって定義される。
NumEqualBins = 1<<(log2_num_equal_bins_minus3+3)
if(full_range_input_flag==0)
NumTotalBins=NumEqualBins+4
else
NumTotalBins=NumEqualBins+2
注:実験結果では、ほとんどの順方向再構成関数は、8つの等長セグメントを用いて表すことができるが、複雑な再構成関数は、それよりも多くのセグメント(例えば、16個以上)を必要とし得ることが示されている。
equal_bin_pivot_deltaは、等長ビン(例えば、720-1、720-N)の長さを指定する。NumEqualBins*equal_bin_pivot_deltaは、有効入力範囲以下であるものとする。(例えば、full_range_input_flagが0である場合、10ビット入力の有効入力範囲は、940-64=876である。full_range_input_flagが1である場合、10ビット入力の有効入力範囲は、0~1023である。)
bin_cw_in_first_equal_binは、最初の等長ビン(720-1)におけるマッピングされる符号語(725)の数を指定する。
bin_cw_delta_abs_prec_minus4に4を加えたものは、後続の各等長ビンのbin_cw_delta_abs[i]を表すために用いられるビット数を指定する。
bin_cw_delta_abs[i]は、後続の各等長ビンのbin_cw_delta_abs[i]の値を指定する。bin_cw_delta[i](例えば、735)は、直前の等長ビンi-1における符号語(例えば、730)と比較した現在の等長ビンi(例えば、720-N)における符号語(例えば、740)の相違である。
bin_cw_delta_sign[i]は、bin_cw_delta_abs[i]の正負符号を指定する。bin_cw_delta_abs[i]が0に等しいとき、bin_cw_delta_sign[i]はシグナリングされず、0であると推定される。変数bin_cw_delta[i]=(1-2*bin_cw_delta_sign[i])*bin_cw_delta_abs[i]である。
【0096】
モデルDの復号化処理
表10のシンタックス要素が与えられると、再構成LUTは、10ビット入力について以下のように導出することができる。
定数定義:
minIN=minOUT=0;
maxIN=maxOUT=2^BD-1=1023 10ビットの場合 //BD=ビット深度
minStdIN=64 10ビットの場合
maxStdIN=940 10ビットの場合
ステップ1:j=0について、ピボット値In_Y[j]を導出する:NumTotalBins
In_Y[0]=0;
In_Y[NumTotalBins]=maxIN;
if(full_range_input_flag==0)
{
In_Y[1]=minStdIN;
In_Y[2]=bin_pivot_start;
for(j=3:NumTotalBins-2)
In_Y[j]=In_Y[j-1]+equal_bin_pivot_delta;
In_Y[NumTotalBins-1]=maxStdIN;
}
else
{
In_Y[1]=bin_pivot_start;
for j=2:NumTotalBins-1
In_Y[j]=In_Y[j-1]+equal_bin_pivot_delta;
}
ステップ2:j=0についてマッピングされた値Out_Y[j]を導出する:NumTotalBins
Out_Y[0]=0;
Out_Y[NumTotalBins]=maxOUT;
if(full_range_input_flag==0)
{
Out_Y[1]=0;
Out_Y[2]=bin_cw_start;
Out_Y[3]=bin_cw_start+bin_cw_in_first_equal_bin;
bin_cw[3]=bin_cw_in_first_equal_bin;
for j=(4:NumTotalBins-2)
bin_cw[j]=bin_cw[j-1]+bin_cw_delta[j-4];//bin_cw_delta[i]はidx 0から開始する
for j=(4:NumTotalBins-2)
Out_Y[j]=Out_Y[j-1]+bin_cw[j];
Out_Y[NumTotalBins-1]=maxOUT;
}
else
{
Out_Y[1]=bin_cw_start;
Out_Y[2]=bin_cw_start+bin_cw_in_first_equal_bin;
bin_cw[2]=bin_cw_in_first_equal_bin;
for j=(3:NumTotalBins-1)
bin_cw[j]=bin_cw[j-1]+bin_cw_delta[j-3];//bin_cw_delta[i
]はidx 0から開始する
for j=3:NumTotalBins-1
Out_Y[j]=Out_Y[j-1]+bin_cw[j];
}
ステップ3:全てのLUTエントリーを得る線形補間
Init:FwdLUT[]
for(j=0:NumTotalBins-1)
{
InS=In_Y[j];
InE=In_Y[j+1];
OutS=Out_Y[j];
OutE=Out_Y[j+1];
for(i=In_Y[j]:In_Y[j+1]-1)
{
FwdLUT[i]=OutS+round((OutE-OutS)*(i-InS)/(InE-InS));
}
}
FwdLUT[In_Y[NumTotalBins]]=Out_Y[NumTotalBins];
【0097】
一般に、スライスごとに再構成をオン又はオフに切り替えることができる。例えば、イントラスライスの再構成のみを有効にし、インタースライスの再構成を無効にすることができる。別の例では、最も高い時間的レベルを有するインタースライスの再構成を無効にすることができる。(注:一例として、本明細書において、時間的サブレイヤーは、HEVCにおける時間的サブレイヤーの定義と一致するものとしてもよい。)リシェーパモデルにおいて、1つの例では、SPSにおけるリシェーパモデルのみをシグナリングしてもよいが、別の例では、イントラスライスにおけるスライスリシェーパモデルをシグナリングしてもよい。或いは、SPSにおけるリシェーパモデルをシグナリングし、スライスリシェーパモデルが全てのスライスについてSPSリシェーパモデルを更新することを可能にしてもよいし、スライスリシェーパモデルがイントラスライスについてのみSPSリシェーパモデルを更新することを可能にしてもよい。イントラスライスに続くインタースライスについて、SPSリシェーパモデル又はイントラスライスリシェーパモデルのいずれかを適用することができる。
【0098】
別の例として、
図5A及び
図5Bは、一実施形態によるデコーダにおける再構成関数復元処理を示している。この処理は、[0 5]における視覚等級範囲(visual rating range)を用いた本明細書及び引用文献[3]に記載されている方法を用いる。
【0099】
図5Aに示すように、最初に(ステップ510)、デコーダは、reshape_model_profile_type変数を抽出し、各ビンについて、適切な初期帯域プロファイルを設定する(ステップ515、520、及び525)。例えば、擬似コードでは、以下となる。
if(reshape_model_profile_type==0)R[b
i]=R
bright[b
i];
elseif(reshape_model_profile_type==1)R[b
i]=R
dark[b
i];
else R[b
i]=R
mid[b
i].
【0100】
ステップ530において、デコーダは、以下のように、受信されたreshape_model_band_profile_delta[bi]値を用いて各帯域プロファイ
ルを調整する。
for(i=0:reshape_model_num_band-l)
{R[bi]=R[bi]+reshape_model_band_profile_delta[bi]}.
【0101】
ステップ535において、デコーダは、以下のように、調整された値を各ビンプロファイルに反映させる。
bin[j]が帯域biに属する場合、R_bin[j]=R[bi]である。
【0102】
ステップ540において、ビンプロファイルは、以下のように変更される。
if(j>reshape_model_max_bin_idx) or (j<reshape_model_min_bin_idx)
{R_bin[j]=0}.
【0103】
並行して、ステップ545及び550において、デコーダは、パラメータを抽出して、以下のように、各bin[j]のスケール係数値及び候補の符号語を計算することができる。
ScaleFactor=1.0-0.05*reshape_model_scale_idx
CW_dft[j]=デフォルト再構成を用いる場合には、ビンにおける符号語
CW_PQ[j]=TotalCW/TotalNumBins.
【0104】
固定小数点の実施態様についてScaleFactor値を計算する際に、スケーラー0.05を用いる代わりに、1/16=0.0625を用いることができる。
【0105】
図5Bに進んで、ステップ560において、デコーダは、以下のように、ビンプロファイルに基づいて各ビンについて符号語(CW)事前割り当てを開始する。
If(R_bin[j]==0) CW[j]=0
If(R_bin[j]==1) CW[j]=CW_dft[j]/2;
If(R_bin[j]==2) CW[j]=min(CW_PQ[j], CW_dft[j]);
If(R_bin[j]==3) CW[j]=(CW_PQ[j]+CW_dft[j])/2;
If(R_bin[j]>=4) CW[j]=max(CW_PQ[j], CW_dft[j]);
【0106】
ステップ565において、デコーダは、以下のように、用いられる全符号語を計算し、符号語(CW)割り当てを精緻化/完了する。
CWused=Sum(CW[j]):
if(CWused>TotalCW) CW[j]=CW[j]/(CWused/TotalCW)をリバランスする;
else
{
CW_remain=TotalCW-CWused;
CW_remainは最大のR_bin[j]を有するビンに割り当てられる;
}
【0107】
最後に、ステップ565において、デコーダは、a)CW[j]値を累算することによって
順方向再構成関数(例えば、FwdLUT)を生成し、b)ScaleFactor値にFwdLUT値を乗算して、最終的なFwdLUT(FFwdLUT)を形成し、c)FFwdLUTに基づいて逆方向再構成関数InvLUTを生成する。
【0108】
固定小数点の実施態様では、ScaleFactor及びFFwdLUTの計算は、以下のように表すことができる。
ScaleFactor = (1<< SF_PREC) - reshape_model_scale_idx
FFwdLUT = (FwdLUT * ScaleFactor + (1 << (FP_PREC + SF_PREC - 1))) >> (FP_PREC + SF_PREC),
ここで、SF_PREC及びFP_PRECは、既定の精度に関する変数であり(例えば、SF_PREC=4、及びFP_PREC=14)、「c=a≪n」は、aをnビットだけ2進左シフトする演算を表し(又はc=a*(2n))、「c=a≫n」は、aをn
ビットだけ2進右シフトする演算を表す(又はc=a/(2n))。
【0109】
彩度QPの導出
彩度符号化性能は、輝度符号化性能に密接に関係している。例えば、AVC及びHEVCでは、輝度成分及び彩度成分の量子化パラメータ(QP)の間又は輝度及びクロミナンスの間の関係を指定する表が定められている。これらの指定によって、輝度及び彩度の間のQP関係を規定する際に更なる柔軟性を与える1つ以上の彩度QPオフセットを用いることも可能になる。再構成が用いられると、輝度値が変更され、したがって、ルミナンスとクロミナンスとの間の関係も同様に変更され得る。再構成中の符号化効率を維持し、更に改善するために、一実施形態では、符号化ユニット(CU)レベルにおいて、彩度QPオフセットが再構成曲線に基づいて導出される。この動作は、デコーダ及びエンコーダの双方において行う必要がある。
【0110】
本明細書において、「符号化ユニット」(CU)という用語は、符号化ブロック(例えば、マクロブロック等)を意味する。限定ではなく例として、HEVCでは、CUは、「
3つのサンプルアレイを有する映像の輝度サンプルの1つの符号化ブロック、彩度サンプルの2つの対応する符号化ブロック、又は、モノクロ映像若しくはサンプルを符号化するために用いられる3つの個別の色平面及びシンタックス構造を用いて符号化される映像のサンプルの符号化ブロック」と定義される。
【0111】
一実施形態では、彩度量子化パラメータ(QP)(chromaQP)値は、以下のように導出することができる。
1)再構成曲線に基づいて、等価輝度dQPマッピングdQPLUTを導出する:
for CW=0:MAX_CW_VALUE-1
dQPLUT[CW]=-6*log2(slope[CW]);
ここで、slope[CW]は、各CW(符号語)点における順方向再構成曲線の勾配を表し、MAX_CW_VALUEは、所与のビット深度の最大符号語値であり、例えば、10ビット信号の場合、MAX_CW_VALUE=1024(210)である。
次に、各符号化ユニット(CU)について:
2)AvgYとして表記される符号化ユニットの平均輝度を計算する:
3)以下の表11に示すように、dQPLUT[]、AvgY、再構成アーキテクチャ、逆方向再構成関数Inv()、及びスライスタイプに基づいてchromaDQP値を計算する。
【0112】
【0113】
4)以下のようにchromaQPを計算する:
chromaQP = QP_luma + chromaQPOffset + chromaDQP;
ここで、chromaQPOffsetは、符号化ユニットの彩度QPオフセットを表し、QP_lumaは、符号化ユニットの輝度QPを表す。彩度QPオフセットの値は、彩度成分(例えば、Cb及びCr)ごとに異なる場合があり、彩度QPオフセット値は、符号化ビットストリームの一部としてデコーダに伝えられることに留意されたい。
【0114】
一実施形態では、dQPLUT[]は、既定のLUTとして実装することができる。全ての符号語をN(例えば、N=32)個のビンに分割し、各ビンがM=MAX_CW_VALUE/N(例えば、M=1024/32=32)個の符号語を含むと仮定する。各ビンに新たな符号語を割り当てるとき、符号語の数を1~2*Mになるように制限することができ、そのため、dQPLUT[1...2*M]を事前に計算し、これをLUTとして保存することができる。この手法は、浮動小数点計算又は固定小数点計算の近似を回避することができる。この手法は、符号化/復号化時間を節約することもできる。ビンごとに、1つの定まったchromaQPOffsetがこのビン内の全ての符号語に用いられる。DQP値は、dQPLUT[L]に等しく設定される。ここで、Lは、このビンの符号語の数であり、1≦L≦2*Mである。
【0115】
dQPLUT値は、以下のように事前計算することができる。
for i=l:2*M
slope[i]=i/M;
dQPLUT[i]=-6*log2(slope[i]);
end
【0116】
dQPLUT[x]を計算するとき、round()、ceil()、floor()又はそれらを混合したもの等の種々の量子化方式を用いて、整数QP値を得ることができる。例えば、閾値THを設定し、Y<THである場合、floor()を用いてdQP値を量子化し、Y≧THであるとき、ceil()を用いてdQP値を量子化することができる。そのような量子化方式及び対応するパラメータの使用法は、コーデックに事前に定めておくこともできるし、ビットストリームでシグナリングして適応させることもできる。前述のような量子化方式と1つの閾値との混合を可能にする例示のシンタックスが以下のように示されている。
【0117】
【0118】
quant_scheme_signal_table()関数は、適応の必要性に応じて、再構成シンタックスの種々のレベル(例えば、シーケンスレベル、スライスレベル等)において定義することができる。
【0119】
別の実施形態では、chromaDQP値は、各符号化ユニット(より具体的には、変換ユニット)において残余信号にスケーリングファクターを適用することによって計算することができる。このスケーリングファクターは、輝度依存値とすることができ、a)例えば、順方向再構成LUTの1次導関数(勾配)として(例えば、次節の式(6)参照)又はb)
【数1】
として数値的に計算することができる。dQP(x)を用いてSlope(x)を計算するとき、dQPは、整数量子化を伴わず、浮動小数点精度に維持することができる。或いは、様々な異なる量子化方式を用いて、量子化された整数dQP値を計算することもできる。幾つかの実施形態では、そのようなスケーリングは、ブロックレベルではなくピクセルレベルにおいて行うことができ、各彩度残余を、その彩度サンプルの同じ場所に配置された輝度予測値を用いて導出された異なるスケール係数によってスケーリングすることができる。したがって、以下のとおりである。
【0120】
【0121】
例えば、CSCALE_FP_PREC=16である場合、
・順方向スケーリング:彩度残差が生成された後であって、変換及び量子化の前:
- C_Res = C_orig - C_pred
- C_Res_scaled = C_Res * S + (1 << (CSCALE_FP_PREC - 1))) >> CSCALE_FP_PREC
・逆スケーリング:彩度逆量子化及び逆変換後であるが、復元の前:
- C_Res_inv = (C_Res_scaled << CSCALE_FP_PREC) / S
- C_Reco = C_Pred + C_Res_inv;
ここで、SはS_cu又はS_pxのいずれかである。
注:表12において、Scuの計算において、ブロックの平均輝度(AvgY)は、逆方向再構成を適用する前に計算される。或いは、平均輝度、例えば、Scu=SlopeLUT[Avg(Inv[Y])]を形算する前に逆方向再構成を適用することができる。この代替の計算順序は、表11内の値を計算することにも適用される。すなわち、Inv(AvgY)を計算することは、Avg(Inv[Y])値を計算することに置き換えることができる。後者の手法は、より正確であると考えることができるが、計算複雑度が増加する。
【0122】
再構成に関するエンコーダ最適化
この節では、再構成がノーマティブ復号化処理(3つの候補のアーキテクチャのうちの1つにおいて説明される)の一部であるとき、再構成及びエンコーダパラメータを併せて最適化することによって、エンコーダにおける符号化効率を改善する幾つかの技術を議論する。一般に、エンコーダ最適化及び再構成は、それぞれ制限を有する種々の場所で符号化問題に取り組んでいる。従来の画像化及び符号化システムでは、2つのタイプの量子化、すなわち、a)ベースバンド信号におけるサンプル量子化(例えば、ガンマ又はPQ符号化)と、b)変換関連量子化(圧縮の一部)とがある。再構成は中間に位置する。映像ベースの再構成は、一般に、映像ごとに更新され、空間情報を考慮することなく、その輝度レベルに基づくサンプル値マッピングのみを可能にする。ブロックベースのコーデック(HEVC等)では、変換量子化(例えば、輝度の変換量子化)が、空間ブロック内で適用され、空間的に調整することができ、したがって、エンコーダ最適化方法は、異なる輝度値を有するサンプルを含むブロック全体について、同じパラメータのセットを適用しなければならない。本発明者らによって認識され、本明細書において説明されるように、再構成及びエンコーダ最適化を結合することによって、符号化効率を更に改善することができる。
【0123】
インター/イントラモード決定
従来の符号化では、インター/イントラモード決定は、元のサンプルと予測サンプルとの間の歪み関数(dfunc())を計算することに基づいている。そのような関数の例には、2乗誤差和(SSE)、差分絶対値和(SAD)等が含まれる。一実施形態では、
そのような歪みメトリックは、再構成されたピクセル値を用いて使用することができる。例えば、再構成が適用されるとき、元のdfunct()がOrig_sample(i)及びPred_sample(i)を用いる場合、dfunct()は、それらの対応する再構成された値Fwd(Orig_sample(i))及びFwd(Pred_sample(i))を用いることができる。この手法は、より正確なインター/イントラ決定を可能にし、したがって、符号化効率を改善する。
【0124】
再構成を用いたLumaDQP
JCTVC HDR共通検査条件(CTC)文書(引用文献[6])では、lumaDQP及びchromaQPオフセットは、輝度成分及び彩度成分の量子化(QP)パラメータを変更してHDR符号化効率を改善するために用いられる2つのエンコーダ設定値である。本発明において、当初の提案を更に改善する幾つかの新たなエンコーダアルゴリズムが提案される。各lumaDQP適応ユニット(例えば、64×64CTU)について、(引用文献[6]の表3のように)そのユニットの平均入力輝度値に基づいてdQP値が計算される。このlumaDQP適応ユニット内の各符号化ユニットに用いられる最終的な量子化パラメータQPは、このdQPを減算することによって調整されるべきである。dQPマッピング表は、エンコーダ入力構成において構成可能である。この入力構成は、dQPinpとして表記される。
【0125】
引用文献[6]及び[7]において議論されているように、既存の符号化方式では、イントラピクチャ及びインターピクチャの双方に、同じlumaDQP LUTのdQPinpが用いられる。イントラピクチャ及びインターピクチャは、異なる性質及び品質特性を
有する場合がある。本発明では、映像符号化タイプに基づいてlumaDQP設定値を適応させることが提案される。したがって、2つのdQPマッピング表は、エンコーダ入力構成において構成可能であり、dQPinpIntra及びdQPinpInterとして表記される。
【0126】
前述したように、ループ内イントラ再構成方法を用いるとき、再構成はインターピクチャに対して行われないので、あるlumaDQP設定値が、インター符号化映像に適用されて、インターピクチャがイントラピクチャに用いられる同じリシェーパによって再構成されたように同様の品質を実現することが重要である。1つの実施形態では、インターピクチャ用のlumaDQP設定値は、イントラピクチャにおいて用いられる再構成曲線の特性と一致すべきである。順方向再構成関数の1次導関数を
Slope(x) = Fwd'(x) = (Fwd(x+dx)- Fwd(x-dx))/(2dx), (6)
として表すことにすると、その場合、一実施形態では、この式は、自動的に導出されるdQPauto(x)値を以下のように計算することができることを表している。
If Slope(x) = 0, then dQPauto(x) = 0, otherwise
dQPauto(x) = 6log2(Slope(x)), (7)
ここで、dQPauto(x)は、妥当な範囲、例えば、[-6 6]にクリッピングすることができる。
【0127】
lumaDQPが、再構成を用いてイントラピクチャについて有効にされている(すなわち、外部のdQPinpIntraが設定されている)場合、インターピクチャのlumaDQPは、それを考慮に入れるべきである。一実施形態では、最終的なインターdQPfinal
は、リシェーパから導出されたdQPauto(式(7))及びイントラピクチャ用のdQPinpIntra設定値を加算することによって計算することができる。別の実施形態では、イントラ品質の伝播を利用するために、インターピクチャのdQPfinalを、dQPautoに設
定することもできるし、(dQPinpInterを設定することによって)僅かな増分でdQPautoに加算することもできる。
【0128】
一実施形態では、再構成が有効にされているとき、輝度dQP値を設定する以下の一般
的ルールを適用することができる。
(1)イントラピクチャ及びインターピクチャについて(映像符号化タイプに基づいて)独立に輝度dQPマッピング表を設定することができる。
(2)符号化ループ内の映像が、再構成領域にある場合(例えば、ループ内イントラ再構成アーキテクチャにおけるイントラピクチャ又はループ外再構成アーキテクチャにおける全ての映像)、デルタQPマッピングへの入力輝度dQPinpも同様に、再構成領域d
QPrspに変換する必要がある。すなわち、
dQPrsp(x) = dQPinp[Inv(x)] (8)
である。
(3)符号化ループ内の映像が、非再構成領域にある場合(例えば、逆方向再構成された又は再構成されていない、例えば、ループ内イントラ再構成アーキテクチャにおけるインターピクチャ又はループ内残差再構成アーキテクチャにおける全ての映像)、デルタQPマッピングへの入力輝度を変換する必要はなく、直接用いることができる。
(4)自動的なインターデルタQPの導出は、ループ内イントラ再構成アーキテクチャについてのみ有効である。そのような場合にインターピクチャに用いられる実際のデルタQPは、自動導出された入力の合計値、すなわち、
dQPfinal[x] = dQPinp[x] + dQPauto[x] (9)
であり、dQPfinal[x]は、妥当な範囲、例えば[-12 12]にクリッピングす
ることができる。
(5)dQPマッピング表への輝度は、あらゆる映像において、又は、再構成LUTの変更があるときに更新することができる。実際のdQP適応(ブロックの平均輝度値から、このブロックの量子化の対応するdQPを得る)は、CUレベル(エンコーダ構成可能)において行うことができる。
【0129】
表13は、3つの提案アーキテクチャのそれぞれのdQP設定値を要約したものである。
【0130】
【0131】
レート歪み最適化(RDO)
JEM6.0ソフトウェア(引用文献[8])では、lumaDQPが有効にされているとき、RDO(レート歪み最適化)ピクセルベース重み付き歪みが用いられる。重み表は、輝度値に基づいて固定されている。一実施形態では、重み表は、lumaDQP設定値に基づいて適応的に調整され、前節において提案されたように計算されるべきである。2乗誤差和(SSE)及び差分絶対値和(SAD)の2つの重みは、以下のように提案される。
【数2】
【0132】
式(10a)又は式(10b)によって計算されるこれらの重みは、入力されたlumaDQP及び順方向再構成関数から導出されたdQPの双方を含む、最終的なdQPに基づく総重みである。例えば、式(9)に基づくと、式(10a)は、以下のように記述することができる。
【数3】
総重みは、入力されたlumaDQPによって計算された重み
【数4】
と、再構成からの重み
【数5】
とによって分離することができる。総重みは、最初に再構成からの重みを計算することによって総dQPを用いて計算されると、整数dQP
autoを得るクリッピング操作によって精度を失う。代わりに、勾配関数を直接用いて再構成からの重みを計算することによって、重みのより高い精度を維持することができ、したがって、より好ましい。
【0133】
入力されたlumaDQPから導出された重みをW
dQPと表すことにする。f’(x)
が、順方向再構成曲線の1次導関数(又は勾配)を表すものとする。一実施形態では、総重みは、dQP値及び再構成曲線の形状の双方を考慮に入れ、したがって、総重み値は、以下のように表すことができる。
【数6】
【0134】
同様の手法は、彩度成分にも同様に適用することができる。例えば、一実施形態では、彩度の場合、dQP[x]は、表13に従って定義することができる。
【0135】
他の符号化ツールとの相互作用
再構成が有効にされているとき、この節は、他の符号化ツールにおいて必要とされる提案された変更の幾つかの例を提供する。相互作用は、考えられる任意の既存の符号化ツール又は次世代映像符号化規格に含まれることになる将来の符号化ツールについて存在し得る。以下に示す例は限定ではない。一般に、符号化ステップ中の映像信号領域(再構成されたもの、非再構成のもの、逆方向再構成されたもの)は、特定される必要があり、各ステップにおいて映像信号を取り扱う動作は、再構成効果を考慮に入れる必要がある。
【0136】
クロスコンポーネント線形モデル予測
CCLM(クロスコンポーネント線形モデル予測)(引用文献[8])では、予測される彩度サンプルpred
C(i,j)は、輝度復元信号rec
L’(i,j)を用いて導出することができる。
【数7】
【0137】
再構成が有効にされているとき、一実施形態では、輝度が復元された信号が、再構成領域(例えば、ループ外リシェーパ又はループ内イントラリシェーパ)にあるのか、又は、非再構成領域(例えば、ループ内残差リシェーパ)にあるのかを区別することが必要な場合がある。1つの実施形態では、輝度が復元された信号を、シグナリング又は動作を追加することなくそのままで暗黙的に用いることができる。他の実施形態では、復元された信号が非再構成領域にある場合、輝度が復元された信号を以下のように非再構成領域になるように変換することもできる。
【数8】
【0138】
他の実施形態では、RDO処理によって決定することができる、どの領域(再構成領域又は非再構成領域)が所望されているのかをシグナリングするビットストリームシンタックス要素を追加することもできるし、復号化された情報に基づいて決定を導出することもでき、したがって、明示的なシグナリングによって必要とされるオーバーヘッドを省くこともできる。この決定に基づいて、復元された信号に対して対応する動作を実行することができる。
【0139】
残差予測ツールを有するリシェーパ
HEVCレンジ拡張プロファイルには、残差予測ツールが含まれる。彩度残差信号は、エンコーダ側において、以下のように輝度残差信号から予測される。
【数9】
彩度残差信号は、デコーダ側において、以下のように補償される。
【数10】
ここで、r
Cは、位置(x,y)における彩度残差サンプルを表し、r
L’は、輝度成分の復元された残差サンプルを表し、Δr
Cは、インター色予測(inter-color prediction:
色信号間予測)を用いた予測信号を表し、Δr
C’は、Δr
Cを符号化及び復号化した後の復元された信号を表し、r
C’は、復元された彩度残差を表す。
【0140】
再構成が有効にされているとき、どの輝度残差を彩度残差予測に用いるのかを検討することが必要な場合がある。1つの実施形態では、「残差」をそのまま用いることができる(リシェーパアーキテクチャに基づいて再構成される場合もあるし、再構成されない場合もある)。別の実施形態では、輝度残差を一方の領域(非再構成領域等)に強制的に置き、適切なマッピングを行うことができる。別の実施形態では、適切なハンドリングをデコーダによって導出することもできるし、上述したように明示的にシグナリングすることもできる。
【0141】
適応的クリッピングを有するリシェーパ
適応的クリッピング(引用文献[8])は、コンテンツダイナミクスに関する元のデータ範囲をシグナリングし、クリッピングが行われる圧縮ワークフロー(例えば、変換/量子化、ループフィルタリング、出力)における各ステップで(内部ビット深度情報に基づいて)固定クリッピングの代わりに適応的クリッピングを行うために導入された新たなツ
ールである。
【数11】
とする。ここで、x=Clip3(min,max,c)は、
【数12】
・Cは、成分ID(通常はY、Cb、又はCr)である。
・min
Cは、現在のスライスにおいて成分ID Cに用いられる下側クリッピング境
界である。
・max
Cは、現在のスライスにおいて成分ID Cに用いられる上側クリッピング境
界である。
【0142】
再構成が有効にされているとき、一実施形態では、データフローが現在存在する領域を突き止め、クリッピングを正確に行うことが必要な場合がある。例えば、再構成領域データにおいてクリッピングを処理する場合、元のクリッピング境界を再構成領域に変換する必要がある。
【数13】
一般に、再構成アーキテクチャに対して各クリッピングステップを適切に処理する必要がある。
【0143】
リシェーパ及びループフィルタリング
HEVC及びJEM6.0ソフトウェアでは、ALF及びSAO等のループフィルターは、復元された輝度サンプル及び未圧縮の「元の」輝度サンプルを用いて最適なフィルターパラメータを推定する必要がある。再構成が有効にされているとき、一実施形態では、フィルター最適化を行いたい領域を(明示的に又は暗黙的に)指定することができる。1つの実施形態では、(復元が再構成領域にあるとき、再構成された元の領域に対して)再構成領域上でフィルターパラメータを推定することができる。他の実施形態では、(復元が非再構成領域又は逆方向再構成領域にあるとき、元の領域に対して)非再構成領域上でフィルターパラメータを推定することができる。例えば、ループ内再構成アーキテクチャに応じて、ループ内フィルター最適化(ILFOPT)の選択肢及び動作は、表14及び表15によって記述することができる。
【0144】
表14.ループ内イントラオンリー再構成アーキテクチャ及びループ内ハイブリッド再構成におけるループ内フィルタリング最適化
【表20】
【0145】
【0146】
本明細書における詳細な議論のほとんどは、輝度成分に対して実行される方法に言及しているが、当業者には、同様の方法を、彩度色成分及びchomaQPOffset等の彩度関連パラメータにも実行することができることが理解されるであろう(例えば、引用文献[9]参照)。
【0147】
ループ内再構成及び関心領域(ROI)
画像に関して、本明細書において、「関心領域」(ROI)という用語は、特に関心があると考えられる画像の領域を意味する。この節では、関心領域のみのループ内再構成をサポートする新規な実施形態が提示される。すなわち、一実施形態では、再構成は、ROIの内部のみで適用され得る一方、外部では適用されない。別の実施形態では、関心領域内と関心領域外とで異なる再構成曲線を適用することができる。
【0148】
ROIの使用は、ビットレートと画質とのバランスをとる必要性がその動機となる。例えば、日没の映像シーケンスを考える。画像の上半分には、相対的に一様な色の空の上に太陽があるかもしれない(したがって、空の背景のピクセルは、非常に低い分散を有し得る)。対照的に、画像の下半分は、動いている波を描写しているかもしれない。視聴者の視点からすると、下部よりも上部の方がはるかに重要であると考えられ得る。他方、動く波は、それらのピクセルの分散がより高いことに起因して、圧縮することがより困難であり、ピクセルあたりについてより多くのビットを必要とする。しかしながら、波の部分よりも太陽の部分により多くのビットを配分したい場合がある。この場合、上半分を関心領域として表すことができる。
【0149】
ROI記述
今日、ほとんどのコーデック(例えば、AVC、HEVC等)は、ブロックベースのものである。実装を単純にするために、領域をブロック単位で指定することができる。限定ではなく一例としてHEVCを用いると、領域は、符号化ユニット(CU)又は符号化ツリーユニット(CTU)の倍数として定義することができる。1つのROI又はROIの倍数を指定することができる。複数のROIは、別々のものとすることもできるし、重複することもできる。ROIは、矩形でなくてもよい。ROIのシンタックスは、スライス
レベル、映像レベル、映像ストリームレベル等の任意の関心レベルにおいて提供することができる。一実施形態では、ROIは、まず、シーケンスパラメータセット(SPS)において指定される。その場合、スライスヘッダーにおいて、ROIの僅かな変更を可能にすることができる。表16は、1つのROIが矩形領域における複数のCTUとして指定されるシンタックスの一例を示している。表17は、スライスレベルにおける変更されたROIのシンタックスを記載している。
【0150】
【0151】
【0152】
1に等しいsps_reshaper_active_ROI_flagは、ROIが、符号化映像シーケンス(CVS)に存在することを指定する。0に等しいsps_reshaper_active_ROI_flagは、ROIがCVSに存在しないことを指定する。
reshaper_active_ROI_in_CTUsize_left、reshaper_active_ROI_in_CTUsize_right、reshaper_active_ROI_in_CTUsize_top及びreshaper_active_ROI_in_CTUsize_bottomはそれぞれ、映像座標で指定された矩形領域によってROI内の映像のサンプルを指定する。座標は、左部及び上部に
ついてはoffset*CTUsizeに等しく、右部及び下部についてはoffset*CTUsize-1に等しい。
1に等しいreshape_model_ROI_modification_flagは、ROIが現在のスライスにおいて変更されていることを指定する。0に等しいreshape_model_ROI_modification_flagは、ROIが現在のスライスにおいて変更されていないことを指定する。
reshaper_ROI_mod_offset_left、reshaper_ROI_mod_offset_right、reshaper_ROI_mod_offset_top、及びreshaper_ROI_mod_offset_bottomは、それぞれreshaper_active_ROI_in_CTUsize_left、reshaper_active_ROI_in_CTUsize_right、reshaper_active_ROI_in_CTUsize_top及びreshaper_active_ROI_in_CTUsize_bottomからの左部/右部/上部/下部のオフセット値を指定する。
【0153】
複数のROIの場合、複数のパンスキャン矩形をSEIメッセージングを用いて定義するためにHEVCにおいて用いられる方式(HEVC仕様、引用文献[11]、節D.2.4参照)と同様に、各ROIのインデックス(又はID)を用いて、単一のROIについての表16及び表17の例示のシンタックスを拡張することができる。
【0154】
イントラオンリーループ内再構成におけるROIの処理
イントラオンリー再構成の場合、映像のROI部分がまず再構成され、その後、符号化が適用される。再構成はROIにしか適用されていないので、映像のROI部分と非ROI部分との間の境界が見える場合がある。ループフィルター(例えば、
図2C又は
図2Dにおける270)は境界を横断することができるので、ループフィルター最適化(ILFOPT)の場合には、ROIに特別な注意を払わなければならない。一実施形態では、復号化映像全体が同じ領域にある場合にのみループフィルターが適用されることが提案される。すなわち、映像全体が、全て再構成領域にあるか、又は、全て非再構成領域にある。1つの実施形態では、デコーダ側において、ループフィルタリングが非再構成領域に対して適用される場合、まず復号化映像のROIセクションに逆方向再構成を適用し、その後にループフィルターを適用するべきである。次に、復号化映像はDPBに記憶される。別の実施形態では、ループフィルターが再構成領域に対して適用される場合、まず復号化映像の非ROI部分に再構成を適用し、その後にループフィルターを適用し、更にその後に映像全体を逆方向再構成するべきである。次に、復号化映像はDPBに記憶される。更に別の実施形態では、ループフィルタリングが再構成領域に対して適用される場合、まず復号化映像のROI部分を逆方向再構成し、その後に映像全体を再構成し、その後にループフィルターを適用し、その後に映像全体を逆方向再構成することができる。次に、復号化映像はDPBに記憶される。これらの3つの手法は、表18に要約されている。計算の観点からすると、方法「A」がより単純である。一実施形態では、ROIの有効化は、ループフィルタリング(LF)に対する逆方向再構成の実行順序を指定するために用いることができる。例えば、ROIが積極的に用いられる場合(例えば、SPSシンタックスフラグ=真)、LF(
図2C及び
図2Dにおけるブロック270)は、逆方向再構成(
図2C及び
図2Dにおけるブロック265)の後に実行される。ROIが積極的に用いられない場合、LFは逆方向再構成の前に実行される。
【0155】
【0156】
ループ内予測残差再構成におけるROIの処理
ループ内(予測)残差再構成アーキテクチャ(例えば、
図2Fにおける200C_D参照)の場合、デコーダにおいて、式(3)を用いると、処理は、以下のように表すことができる。
If(currentCTUがROIに属する)
Reco_sample=lnv(Res_d+Fwd(Pred_sample)),(式(3)参照)
else
Reco_sample=Res_d+Pred_sample
end
【0157】
ROI及びエンコーダの考慮
エンコーダでは、CTUごとに、そのCTUがROIに属するか否かをチェックする必要がある。例えば、ループ内予測残差再構成の場合、式(3)に基づく簡単なチェックを以下のように行うことができる。
If(currentCTUがROIに属する)
輝度のRDOにおいて重み付き歪みを適用する。重みは、式(10)に基づいて導出される
else
輝度のRDOにおいて重みなし歪みを適用する
end
【0158】
再構成中にROIを考慮に入れる例示の符号化ワークフローは、以下のステップを含み得る。
-イントラピクチャの場合:
-原映像のROIエリアに順方向再構成を適用する
-イントラフレームを符号化する
-ループフィルター(LF)の前に、復元された映像のROIエリアに逆方向再構成を適用する
-以下のように、未再構成領域においてループフィルタリングを実行する(例えば、表18における方法「C」参照)。以下のステップが含まれる。
・原映像の非ROIエリアに順方向再構成を適用する(ループフィルター基準を得るために原映像全体の再構成を行うため)
・復元された映像の映像エリア全体に順方向再構成を適用する
・ループフィルターパラメータを導出し、ループフィルタリングを適用する
・復元された映像の映像エリア全体に逆方向再構成を適用し、DPBに記憶する
【0159】
エンコーダ側では、LFは、フィルターパラメータ推定用の非圧縮基準画像を有する必
要があるので、各方法のLF基準の取り扱いは、表19のとおりである。
【0160】
【0161】
-インターピクチャの場合:
-インターフレームを符号化するとき、ROI内の各CUについては、輝度に対して予測残差再構成及び重み付き歪みを適用する;ROI外の各CUについては、再構成を適用しない
-ループフィルタリング最適化(選択肢1)が従来どおりに(ROIが用いられていない場合のように)実行される:
・原映像の映像エリア全体を順方向再構成する
・復元された映像の映像エリア全体を順方向再構成する
・ループフィルターパラメータを導出し、ループフィルタリングを適用する
・復元された映像の映像エリア全体に逆方向再構成を適用し、DPBに記憶する
【0162】
HLG符号化コンテンツの再構成
HybridLog-Gamma又はHLGという用語は、ハイダイナミックレンジ信号をマッピングするRec.BT.2100において定義された別の伝達関数を表す。HLGは、従来のガンマ関数を用いて符号化された従来の標準ダイナミックレンジ信号との逆方向互換性を維持するために開発されたものである。PQ符号化コンテンツとHLG符号化コンテンツとの間で符号語分布を比較すると、PQマッピングは、暗いエリア及び明るいエリアに、より多くの符号語を配分する傾向がある一方、HLGコンテンツ符号語の大部分は、中間のレンジに配分される傾向がある。2つの手法をHLG輝度再構成に用いることができる。1つの実施形態では、単に、HLGコンテンツをPQコンテンツに変換し、その後、前述したPQに関連する全ての再構成技術を適用することができる。例えば、以下のステップを適用することができる。
1)HLGルミナンス(例えば、Y)をPQルミナンスにマッピングする。この変換の関数又はLUTをHLG2PQLUT(Y)として表記することにする。
2)PQルミナンス値を解析し、PQベースの順方向再構成関数又はLUTを導出する。これをPQAdpFLUT(Y)として表すことにする。
3)これらの2つの関数又はLUTを単一の関数又はLUTに結合する。すなわち、HLGAdpFLUT[i]=PQAdpFLUT[HLG2PQLUT[i]]。
【0163】
HLG符号語分布は、PQ符号語分布とかなり異なるので、そのような手法は、準最適な再構成結果を生み出す場合がある。別の実施形態では、HLG再構成関数は、HLGサンプルから直接導出される。PQ信号に用いられるものと同じフレームワークを適用することができるが、HLG信号の特性を反映するようにCW_Bins_Dft表を変更する場合がある。一実施形態では、HLG信号に中間調プロファイルを用いて、幾つかのCW_Bins_Dft表がユーザーの好みに従って設計される。例えば、ハイライトを保持することが好まれるとき、アルファ=1.4について、
g_DftHLGCWBin0 = [ 8, 14, 17, 19, 21, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 36, 37, 38, 39, 39, 40, 41, 41, 42, 43, 43, 44, 44, 30 ].
である。中間調(又は中間レンジ)を保持することが好まれるとき、
g_DftHLGCWBin1= [ 12, 16, 16, 20, 24, 28, 32, 32, 32, 32, 36, 36, 40, 44, 48, 52, 56, 52, 48, 44, 40, 36, 36, 32, 32, 32, 26, 26, 20, 16, 16, 12 ].
である。肌の色合いを保持することが好まれるとき、
g_DftHLGCWBin2= [12, 16, 16, 24, 28, 32, 56, 64, 64, 64, 64, 56, 48, 40, 32, 32,
32, 32, 32, 32, 28, 28, 24, 24, 20, 20, 20, 20, 20, 16, 16, 12];
である。
【0164】
ビットストリームシンタックスの観点からすると、PQベースの再構成とHLGベースの再構成とを区別するために、sps_reshaper_signal_typeとして表記される新たなパラメータが追加される。このsps_reshaper_signal_type値は、再構成された信号タイプを示す(例えば、0はガンマベースのSDR信号であり、1はPQ符号化信号であり、2はHLG符号化信号である)。
【0165】
前述した全ての特徴(例えば、ROI、ループ内フィルター最適化(ILFOPT)、及びChromaDQPAdjustment)を有するPQ及びHLGの双方についてのSPS及びスライスヘッダーにおけるHDR再構成のシンタックス表の例は、表20及び表21に示されている。
【0166】
【0167】
1に等しいsps_in_loop_filter_opt_flagは、符号化映像シーケンス(CVS)における再構成領域内で実行されるループ内フィルター最適化を指定する。
0に等しいsps_in_loop_filter_opt_flagは、CVSにおける非再構成領域内で実行されるループ内フィルター最適化を指定する。
1に等しいsps_luma_based_chroma_qp_offset_flagは、輝度ベースの彩度QPオフセットが(例えば、表11又は12に従って)導出され、符号化映像シーケンス(CVS)における各CUの彩度符号化に適用されることを指定する。0に等しいsps_luma_based_chroma_qp_offset_flagは、輝度ベースの彩度QPオフセットがCVSにおいて有効にされていないこ
とを指定する。
【0168】
【0169】
彩度品質の改善
HLGベースの符号化の提案者は、この符号化がSDRシグナリングとのより良好な逆方向互換性を提供すると主張している。したがって、理論的には、HLGベースの信号は、レガシーSDR信号と同じ符号化設定値を用いることができる。しかし、HDRモードにおいてHLG符号化信号を見たとき、特に無色の領域(白色及び灰色等)において幾つかの色のアーティファクトを依然として観察され得る。一実施形態では、そのようなアーティファクトは、符号化中にchromaQPOffset値を調整することによって削減することができる。HLGコンテンツについて、PQ信号を符号化するときに用いられるものに比べ、より消極的なchromaQP調整を適用することが提案される。例えば、引用文献[10]には、輝度QPと、キャプチャ原色及び表示原色に基づくファクターとに基づいてCb及びCrのQPオフセットを割り当てるモデルが以下のように記載されている。
【数14】
ここで、キャプチャ原色が表示原色と同じである場合には、c
cb=1であり、キャプチャ原色がP3D65原色に等しく、かつ、表示原色がRec.ITU-R BT.2020原色に等しい場合には、c
cb=1.04であり、キャプチャ原色がRec.ITU-R BT.709原色に等しく、かつ、表示原色がRec.ITU-R BT.2020原色に等しい場合には、c
cb=1.14である。同様に、キャプチャ原色が表示原色と同じである場合には、c
cr=1であり、キャプチャ原色がP3D65原色に等しく、かつ、表示原色がRec.ITU-R BT.2020原色に等しい場合には、c
cr=1.39であり、キャプチャ原色がRec.ITU-R BT.709原色に等しく、かつ、表示原色
がRec.ITU-R BT.2020原色に等しい場合には、c
cr=1.78である。最後に、k=-0.46及びl=0.26である。
【0170】
一実施形態では、同じモデルであるが、chromaQPOffsetを積極的に変更しない異なるパラメータを有するモデルを用いることが提案される。限定ではなく例として、一実施形態では、式(18a)におけるCbについて、c
cb=1、k=-0.2、及びl=7であり、式(18b)におけるCrについて、c
cr=1、k=-0.2、及びl=7である。
図6A及び
図6Bは、chromaQPOffset値が、PQ(Rec.709)の輝度量子化パラメータ(QP)に従ってどのように変化するのか、及び、HLG.PQ関連値がHLG関連値よりも劇的に変化することの例を示している。
図6Aは、Cb(式(18a))に対応する一方、
図6Bは、Cr(式(18b))に対応する。
【0171】
引用文献
本明細書に列挙された引用文献のそれぞれは、その全内容が本明細書に援用される。
[1]G-M. Suによって2016年3月30日に出願された国際出願PCT/US201
6/025082号「In-Loop Block-Based Image Reshaping in High Dynamic Range Video Coding」(また、国際公開第2016/164235号として公開されている)
[2]D. Baylon、Z. Gu、A. Luthra、K. Minoo、P. Yin、F. Pu、T. Lu、T. Chen、W. Husak、Y. He、L. Kerofsky、Y. Ye、B. Yi「Response to Call for Evidence for HDR and WCG Video Coding: Arris, Dolby and InterDigital」Doc. m36264, July(2015), Warsaw, Poland
[3]T. Lu他によって2017年1月19日に出願された米国特許出願第15/410
,563号「Content-Adaptive Reshaping for High Codeword representation Images」[4]P. Yin他によって2016年7月14日に出願された国際出願PCT/US2016/042229号「Signal Reshaping and Coding for HDR and Wide Color Gamut Signals」(また、国際公開第2017/011636号として公開されている)
[5]K. Minoo他「Exploratory Test Model for HDR extension of HEVC」MPEG output document, JCTVC-W0092 (m37732), 2016, San Diego, USA
[6]E. Francois、J. Sole、J. Stroem、P. Yin「Common Test Conditions for HDR/WCG video coding experiments」JCTVC doc. Z1020, Geneva, Jan. 2017
[7]A. Segall、E. Francois、及びD. Rusanovskyy「JVET common test conditions and evaluation procedures for HDR/WCG Video」(JVET-E1020, ITU-T meeting, Geneva, January 2017)
[8]JEM6.0ソフトウェア:https://jvet.hhi.fraunhofer.de/svn/svn HMJEMSoftware/tags/HM-16.6-JEM-6.0
[9]T. Lu他によって2016年10月11日に出願された米国仮特許出願第62/4
06,483号「Adaptive Chroma Quantization in Video Coding for Multiple Color Imaging Formats」(米国特許出願第15/728,939号としても出願され、米国特
許出願公開第2018/0103253号として公開されている)
[10]J. Samuelsson他(Eds)「Conversion and coding practices for HDR/WCG Y'CbCr 4:2:0 Video with PQ Transfer Characteristics」JCTVC-Y1017, ITU-T/ISO meeting,
Chengdu, Oct. 2016
[11]ITU-T H.265「High efficiency video coding」ITU, version 4.0, (12/2016)
【0172】
[例示のコンピュータシステムの実施態様]
本発明の実施形態は、コンピュータシステム、電子回路機構及び構成要素で構成されたシステム、マイクロコントローラー、フィールドプログラマブルゲートアレイ(FPGA)、若しくは別の構成可能ロジックデバイス若しくはプログラマブルロジックデバイス(PLD)等の集積回路(IC)デバイス、離散時間若しくはデジタル信号プロセッサ(DSP)、特定用途向けIC(ASIC)、及び/又はそのようなシステム、デバイス若し
くは構成要素の1つ以上を備える装置を用いて実施することができる。これらのコンピュータ及び/又はICは、本明細書において説明したような統合された画像の信号再構成及び符号化に関連する命令を遂行、制御、又は実行することができる。これらのコンピュータ及び/又はICは、本明細書において説明した信号再構成及び符号化の処理に関する様々なパラメータ又は値の任意のものを計算することができる。画像及び映像の実施形態は、ハードウェア、ソフトウェア、ファームウェア及びそれらの様々な組み合わせで実施することができる。
【0173】
本発明の幾つかの実施態様は、プロセッサに本発明の方法を実行させるソフトウェア命令を実行するコンピュータプロセッサを備える。例えば、ディスプレイ、エンコーダ、セットトップボックス、トランスコーダー等における1つ以上のプロセッサは、これらのプロセッサがアクセス可能なプログラムメモリ内のソフトウェア命令を実行することによって、上述した統合された画像の信号再構成及び符号化に関連する方法を実施することができる。本発明は、プログラム製品の形態で提供することもできる。このプログラム製品は、データプロセッサによって実行されると、このデータプロセッサに本発明の方法を実行させる命令を含む一組のコンピュータ可読信号を担持する任意の非一時的媒体を含み得る。本発明によるプログラム製品は、多種多様な形態のうちの任意の形態にすることができる。プログラム製品は、例えば、フロッピーディスケット、ハードディスクドライブを含む磁気データ記憶媒体、CD ROM、DVDを含む光データ記憶媒体、ROM、フラッシュRAMを含む電子データ記憶媒体等の物理媒体を含み得る。プログラム製品上のコンピュータ可読信号は、任意選択で圧縮又は暗号化されてもよい。
【0174】
上記において、ある構成要素(例えば、ソフトウェアモジュール、プロセッサ、アセンブリ、デバイス、回路等)に言及している場合、別段の指示がない限り、その構成要素への言及(「手段」への言及を含む)は、本発明の図示された例示の実施形態における機能を実行する開示された構造とは構造的に均等でない構成要素を含む、説明された構成要素の機能を実行する任意の構成要素(すなわち、機能的な均等な構成要素)をその構成要素の均等物として含むものと解釈される。
【0175】
[均等形態、拡張形態、代替形態及びその他]
統合された効率的な画像の信号再構成および符号化に関する例示の実施形態が上記のように説明されている。上記明細書では、本発明の実施形態が、実施態様ごとに異なり得る非常に多くの具体的な詳細事項に関して説明された。したがって、本発明であるもの及び出願人によって本発明であると意図されているものを示す唯一かつ排他的な表示は、本出願から得られるその特定の形態による一組の請求項である特許請求の範囲である。これらの請求項には、今後のあらゆる補正が含まれる。そのような請求項に含まれる用語について本明細書に明示的に示されたいずれの定義も、請求項において用いられる用語の意味を決定するものとする。したがって、請求項に明示的に記載されていない限定、要素、性質、特徴、利点又は属性は、そのような請求項の範囲を全く限定すべきものではない。明細書及び図面は、したがって、限定の意味ではなく例示の意味に認識されるべきである。