特許第6374614号(P6374614)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ ドルビー ラボラトリーズ ライセンシング コーポレイションの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6374614
(24)【登録日】2018年7月27日
(45)【発行日】2018年8月15日
(54)【発明の名称】信号再整形近似
(51)【国際特許分類】
   H04N 19/85 20140101AFI20180806BHJP
【FI】
   H04N19/85
【請求項の数】29
【全頁数】50
(21)【出願番号】特願2017-545909(P2017-545909)
(86)(22)【出願日】2016年3月17日
(65)【公表番号】特表2018-511223(P2018-511223A)
(43)【公表日】2018年4月19日
(86)【国際出願番号】US2016022772
(87)【国際公開番号】WO2016153896
(87)【国際公開日】20160929
【審査請求日】2017年8月31日
(31)【優先権主張番号】62/136,402
(32)【優先日】2015年3月20日
(33)【優先権主張国】US
(31)【優先権主張番号】62/199,391
(32)【優先日】2015年7月31日
(33)【優先権主張国】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】507236292
【氏名又は名称】ドルビー ラボラトリーズ ライセンシング コーポレイション
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】スー,グアン−ミン
(72)【発明者】
【氏名】ワン,チョウウェイ
(72)【発明者】
【氏名】チョー,シュアン−ティン
(72)【発明者】
【氏名】カンボールアー コッテイル,ナヴァニース
【審査官】 岩井 健二
(56)【参考文献】
【文献】 特表2014−531821(JP,A)
【文献】 特表2014−518030(JP,A)
【文献】 特開2013−153508(JP,A)
【文献】 国際公開第2014/204865(WO,A1)
【文献】 Yuanzhen Li et al.,Compressing and companding high dynamic range images with subband architectures,Proceedings of ACM SIGGRAPH 2005,ACM,2005年 7月,Vol.24, No.3,pp.836 - 844
【文献】 Martin Winken et al.,CE2: SVC bit-depth scalable coding,Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6),24th Meeting: Geneva, CH,2007年 6月,JVT-X057,pp.1-12
【文献】 Zicong Mai et al.,Optimizing a Tone Curve for Backward-Compatible High Dynamic Range Image and Video Compression,IEEE Transactions on Image Processing,IEEE,2011年 6月,Vol.20, No.6,pp.1558 - 1571
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 − 19/98
(57)【特許請求の範囲】
【請求項1】
源画像のシーケンスにおける一つまたは複数の源画像に基づいて一つまたは複数の統計値を計算する段階と;
前記一つまたは複数の統計値に基づいて、前記一つまたは複数の源画像についての適応的再整形関数を選択する段階であって、前記適応的再整形関数は源符号語を再整形された符号にマッピングするものである、段階と;
少なくとも部分的には選択された適応的再整形関数に基づいて、源ビデオ・コンテンツの一部を適応的に再整形して、再整形されたビデオ・コンテンツの一部を生成する段階であって、源ビデオ・コンテンツの前記一部は、前記一つまたは複数の源画像によって表わされるものである、段階と;
前記選択された適応的再整形関数の逆関数の近似を生成する段階であって、
前記選択された適応的再整形関数の逆関数を表わす鍵と値の対を有する目標ルックアップテーブル(LUT)を決定し;
前記LUTの前記鍵と値の対において小さな鍵から大きな鍵に向かって前方探索を実行することによって前記目標LUTの第一の近似を生成し;
前記LUTの前記鍵と値の対において大きな鍵から小さな鍵に向かって後方探索を実行することによって前記目標LUTの第二の近似を生成し;
前記前方探索および前記後方探索によってそれぞれ生成される近似誤差を比較することによって前記第一の近似および前記第二の近似の一方を選択することを含む、段階と;
前記再整形されたビデオ・コンテンツと、前記選択された適応的再整形関数の逆関数の前記近似を定義する適応的再整形パラメータの集合とを、再整形されたビデオ信号にエンコードする段階とを含む方法であって、
前記選択された適応的再整形関数の逆関数の前記近似は、二次多項式の集合によって表わされ、
当該方法はさらに:
前記目標LUTを近似することについての連続性条件を決定すること;
前記連続性条件に基づいて、前記目標LUTを近似するために使われる前記前方探索についての第一の停止規則および前記目標LUTを近似するために使われる前記後方探索についての第二の停止規則を選択すること;
前記第一の近似を、少なくとも部分的には前記第一の停止規則に基づいて生成すること;および
前記第二の近似を、少なくとも部分的には前記第二の停止規則に基づいて生成することを含む、
方法。
【請求項2】
前記再整形されたビデオ・コンテンツの前記一部は、一つまたは複数の再整形された画像を含む、請求項1記載の方法。
【請求項3】
前記一つまたは複数の源画像はシーンを形成する、請求項1記載の方法。
【請求項4】
前記目標LUTが、前記源ビデオ・コンテンツを再整形するために使われる複数の再整形された符号語値のうちで各再整形された符号語値にマッピングされる源符号語値の平均によって生成される後方LUTである、請求項1記載の方法。
【請求項5】
前記一つまたは複数の統計値は、前記一つまたは複数の源画像における源符号語に基づいて決定される最大値、最小値、平均値、中央値または標準偏差値のうちの少なくとも一つを含む、請求項1記載の方法。
【請求項6】
前記選択された適応的再整形関数または前記選択された適応的再整形関数の逆関数の少なくとも一方が、解析関数、非解析的な関数、ルックアップテーブル(LUT)、シグモイド関数、冪関数、区分的関数のうちの一つまたは複数を含む、請求項1記載の方法。
【請求項7】
前記多項式の集合における多項式の総数は、ある数閾値未満に制限される、請求項1記載の方法。
【請求項8】
前記多項式の集合における多項式についての係数が、それらの多項式によって与えられる値と、前記選択された適応的再整形関数の逆関数を表わす目標ルックアップテーブル(LUT)において与えられる値との間の差を最小にすることに基づいて決定される、請求項1記載の方法。
【請求項9】
前記選択された適応的再整形関数の逆関数について決定された関数の型に基づいて、前記多項式の集合を生成するための連続性条件を選択することをさらに含む、請求項1記載の方法。
【請求項10】
前記多項式の集合は、前記一つまたは複数の源画像が適応的再整形のために処理される前に事前決定される、請求項1記載の方法。
【請求項11】
前記多項式の集合は、前記一つまたは複数の源画像が適応的再整形のために処理されている間に動的に決定される、請求項1記載の方法。
【請求項12】
前記一つまたは複数の統計値に基づいて、適応的再整形関数を選択する前記段階が、前記一つまたは複数の源画像を、なめらかな明るい領域を含む画像、なめらかな暗い領域を含む画像または中間トーン画像のうちの一つとして分類することに基づいて前記適応的再整形関数のパラメータを決定または選択することを含む、請求項1記載の方法。
【請求項13】
源ビデオ・コンテンツの前記一部は、色空間の複数のチャネルにおける一つまたは複数のチャネルについて、再整形されたビデオ・コンテンツの前記一部に適応的に再整形される、請求項1記載の方法。
【請求項14】
前記一つまたは複数のチャネルはルミナンス関係のチャネルを含む、請求項13記載の方法。
【請求項15】
前記再整形されたビデオ信号は、二チャネル8ビット・ビデオ信号または単一チャネル10ビット・ビデオ信号の一方である、請求項1記載の方法。
【請求項16】
前記再整形されたビデオ信号は:先進ビデオ符号化(AVC)エンコーダ、動画像専門家グループ(MPEG)-2エンコーダまたは高効率ビデオ符号化(HEVC)エンコーダのうちの少なくとも一つによって生成される、請求項1記載の方法。
【請求項17】
源画像の前記シーケンスは知覚的にエンコードされている、請求項1記載の方法。
【請求項18】
源ビデオ・コンテンツの前記一部は、前記選択された適応的再整形関数のいかなる近似も使うことなく、再整形されたビデオ・コンテンツの前記一部に適応的に再整形される、請求項1記載の方法。
【請求項19】
前記適応的再整形関数が二つ以上の二次多項式を使って近似され、p番目の多項式のmp係数を計算することは:
源画像の前記シーケンスにおけるピクセル値についての前記再整形された値の関数に基づいて第一の(ベータ)ルックアップテーブル(LUT)を決定する段階と;
源画像のもとのピクセル値および前記再整形された値の関数に基づいて第二の(アルファ)ルックアップテーブル(LUT)を決定する段階と;
前記第一のLUTに基づいてBp行列を決定する段階と;
前記第二のLUTに基づいてapベクトルを決定する段階と;
p番目の多項式のmp係数をBp-1apとして計算する段階とを含む、
請求項1記載の方法。
【請求項20】
前記第一のLUTのβ[k,j]要素について、
【数22】
であり、Maxは源画像の前記シーケンスにおける源画像のピクセルviに対応する再整形されたピクセルsiの最大ピクセル値を表わす、請求項19記載の方法。
【請求項21】
前記第二のLUTのα[k,j]要素について、0≦j≦3について、
【数23】
であり、Maxは源画像の前記シーケンスにおける源画像のピクセルviに対応する再整形されたピクセルsiの最大ピクセル値を表わす、請求項19記載の方法。
【請求項22】
逆再整形関数についてのLUTを生成することが:
記再整形関数に基づいて再整形された値のヒストグラムを生成する段階と;
累積テーブルを生成する段階であって、前記累積テーブル内のエントリーは同じ再整形された値にマッピングされるもとのピクセル値の和を含む、段階と;
前記再整形された値のヒストグラムと前記累積テーブルとに基づいて前記逆再整形関数についてのLUTを生成する段階とを含む、
請求項1記載の方法。
【請求項23】
前記適応的再整形関数は二つ以上の二次多項式を使って近似され、前記二つ以上の多項式についての転換点は逐次反復方法に従って選択される、請求項1記載の方法。
【請求項24】
前記逐次反復方法はさらに:
初期誤差閾値を設定する段階と;
前記一つまたは複数の多項式のうち各多項式の、前記適応的再整形関数における対応するセグメントとの当てはめ誤差が、前記初期誤差閾値を超えないよう、前記適応的再整形関数の諸セグメントを当てはめする段階と;
前記適応的再整形関数のすべてのセグメントにわたるすべての当てはめ誤差のうちの最小を決定する段階と;
前記当てはめ誤差のうちの最小よりも小さな新たな誤差閾値について、前記当てはめプロセスを繰り返す段階とを含む、
請求項23記載の方法。
【請求項25】
現在の反復工程におけるすべての当てはめ誤差のうちの最小が、直前の反復工程におけるすべての当てはめ誤差のうちの最小に閾値範囲内で等しいときは、前記逐次反復方法を終了することをさらに含む、請求項24記載の方法。
【請求項26】
請求項1ないし25のうちいずれか一項記載の方法を実行するエンコーダ。
【請求項27】
請求項1ないし25のうちいずれか一項記載の方法を実行するシステム。
【請求項28】
一つまたは複数のプロセッサによって実行されたときに請求項1ないし25のうちいずれか一項記載の方法の実行を引き起こすソフトウェア命令を記憶している非一時的なコンピュータ可読記憶媒体。
【請求項29】
一つまたは複数のプロセッサと、一つまたは複数のプロセッサによって実行されたときに請求項1ないし25のうちいずれか一項記載の方法の実行を引き起こす一組の命令を記憶している一つまたは複数の記憶媒体とを有する、コンピューティング装置。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
本願は2015年3月20日に出願された米国仮特許出願第62/136,402号および2015年7月31日に出願された米国仮特許出願第62/199,391号の利益を主張するものである。両出願の内容はここに参照によってその全体において組み込まれる。
【0002】
技術分野
本発明は、概括的には画像処理に、詳細にはビデオ・データのエンコード、デコードおよび表現に関する。
【背景技術】
【0003】
上流装置によって下流装置に提供されるビデオ・データは多様なダイナミックレンジ、色空間などをサポートしうる。ダイナミックレンジはハイエンドでは10,000ニト、12,000ニト、さらにはそれ以上の輝度レベルからローエンドでは100ニト、300ニト、600ニトなどまで多様でありうる。色空間は、限定なしに、線形色空間、非線形色空間、知覚的に量子化された色空間などを含みうる。
【0004】
さらに、上流装置によってビデオ・データをエンコードするために使われる動作パラメータに関係したメタデータが、上流装置によって生成されたビデオ信号をデコードするために使われる動作パラメータを生成するために、下流装置によって必要とされることがある。比較的高品質のデコード動作のために下流装置によって必要とされるメタデータの量は、多くの下流装置にとっては、伝送されたり処理したりするためには大きすぎることがある。
【0005】
このセクションで記述されたアプローチは、追求されることができたが必ずしも以前に着想または追求されたアプローチではない。したがって、特に断りのない限り、このセクションにおいて記述されるアプローチはいずれも、このセクションに含まれているというだけのために従来技術の資格をもつと想定されるべきではない。同様に、一つまたは複数のアプローチに関して特定されている問題は、特に断りのない限り、このセクションに基づいて何らかの従来技術において認識されていたと想定されるべきではない。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】SMPTE ST 2084:2014、"High Dynamic Range EOTF of Mastering Reference Displays"
【図面の簡単な説明】
【0007】
本発明は、限定ではなく例として、付属の図面において示される。図面において、同様の参照符号は同様の要素を指す。
図1A】ビデオ・エンコーダを示す図である。
図1B】ビデオ・デコーダを示す図である。
図2】再整形関数を近似する例示的方法を示す図である。
図3A】目標LUTを近似するための例示的なプロセス・フローを示す図の一部である。
図3B】目標LUTを近似するための例示的なプロセス・フローを示す図の一部である。
図4A】画像を分類するための例示的なアルゴリズムを示す図である。
図4B】画像を分類するための例示的なアルゴリズムを示す図である。
図4C】画像を分類するための例示的なアルゴリズムを示す図である。
図5A】適応的に再整形し逆マッピングするための例示的なプロセス・フローを示す図である。
図5B】適応的に再整形し逆マッピングするための例示的なプロセス・フローを示す図である。
図6】本稿に記載されるコンピュータまたはコンピューティング装置が実装されうる例示的なハードウェア・プラットフォームを示す図である。
【発明を実施するための形態】
【0008】
ビデオ・デコーダのエンコード、デコードおよび表現に関係する例示的実施形態が本稿で記述される。以下の記述では、説明の目的のため、本発明の十全な理解を提供するために、数多くの個別的詳細が記載される。しかしながら、本発明がそうした個別的詳細なしでも実施されうることは明白であろう。他方、本発明を無用に隠蔽し、かすませ、あるいは埋没させるのを避けるために、よく知られた構造および装置は網羅的な詳細さでは記述されない。
【0009】
例示的実施形態は、本稿では次のアウトラインに従って記載される:
1.全般的概観
2.適応的に再整形されたビデオ・コンテンツのエンコード
3.適応的に再整形されたビデオ・コンテンツのデコード
4.適応的な再整形のための冪関数
5.適応的な再整形に関係した関数の近似
6.例示的なプロセス・フロー
7.リアルタイムの最適化
8.実装機構――ハードウェアの概観
9.等価物、拡張、代替その他。
【0010】
〈1.全般的概観〉
この概観は、本発明の例示的実施形態のいくつかの側面の基本的な記述を提示する。この概観は例示的実施形態の諸側面の包括的ないし網羅的な要約ではないことは注意しておくべきである。さらに、この概観は、例示的実施形態の何らかの特に有意な側面もしくは要素を特定するものと理解されることも、具体的には例示的実施形態の、一般的には本発明の、何らかの範囲を画定するものと理解されることも、意図されていないことを注意しておくべきである。この概観は単に、その例示的実施形態に関係するいくつかの概念を凝縮された単純化された形式で提示するものであり、単に後続の例示的な例示的実施形態のより詳細な説明への概念的な導入部として理解されるべきである。
【0011】
本稿に記載される適応的な再整形(adaptive reshaping)を使わなければ、ビデオ・コーデックは利用可能な符号語を比較的低いビット深さ(たとえば、二チャネル8ビット・ビデオ信号、単一チャネル10ビット・ビデオ信号など)で割り当てる際に、比較的高い深さで利用可能な符号語をもってもともとエンコードされていた源ビデオ・コンテンツ(たとえば参照符号化ビデオ・コンテンツ、PQ参照符号化ビデオ・コンテンツなど)の視覚的詳細を保存しないことがありうる。たとえば、本稿に記載される適応的な再整形を使わないコーデック(たとえばガンマ領域のコーデックなど)は、高ルミナンスのサブ範囲(たとえば明るい部分、ハイライトなど)に符号語を過剰に割り当て、低ルミナンスのサブ範囲(たとえば暗い部分、暗い領域など)に符号語を割り当て足りないことがありうる。結果として、知覚的にエンコードされた源ビデオ・コンテンツの視覚的詳細は、これら他の技法のもとでは不必要に失われてしまうことがある。
【0012】
本稿に記載される適応的な再整形技法を実装するビデオ・コーデックは、幅広い多様な源ビデオ・コンテンツにおける視覚的詳細を保存する仕方で、利用可能な符号語を特定のビット深さ(たとえば8ビットなど)で割り当てる。いくつかの実施形態では、ビデオ・コーデックは、源ビデオ・コンテンツにおける(たとえばあるシーン内などの)画像フレームによって担持される画像内容を解析した結果に基づいて、特定のパラメータ値(たとえば冪関数の指数値、線形量子化における傾き、区分線形量子化における転換点〔ピボット〕など)を選択/決定する。画像内容が、より多くのハイライト部分またはより多くのルミナンス・レベルを含む場合には、パラメータ値は、エンコードまたはデコード動作のために、高ルミナンスサブ範囲において、より多くの表現されるルミナンス・レベルを利用可能にするよう選択/決定されることができる。画像内容が、より少数のハイライト部分またはより少数のルミナンス・レベルを含む場合には、パラメータ値は、エンコードまたはデコード動作のために、高ルミナンスサブ範囲において、より少数の表現されるルミナンス・レベルを利用可能にするよう選択/決定されることができる。同様に、画像内容が、より多くの暗い部分またはより多くのルミナンス・レベルを含む場合には、パラメータは、エンコードまたはデコード動作のために、低ルミナンスサブ範囲において、より多くの表現されるルミナンス・レベルを利用可能にするよう選択/決定されることができる。画像内容が、より少数の暗い部分またはより少数のルミナンス・レベルを含む場合には、パラメータ値は、エンコードまたはデコード動作のために、低ルミナンスサブ範囲において、より少数の表現されるルミナンス・レベルを利用可能にするよう選択/決定されることができる。
【0013】
本稿に記載される技法は、単一の層または二つ以上の層(たとえば二層、多層、基本層と一つまたは複数の向上層の組み合わせなど)を含むビデオ信号(たとえば符号化されたビットストリームなど)のための符号化(coding)動作(たとえばエンコード、デコード、トランスコードなど)をサポートするために使用されることができる。これらの技法は、ソフトウェア、ハードウェア、ソフトウェアとハードウェアの組み合わせをもって実装されてもよく、多様なコンピューティング装置、マルチメディア装置、モバイル装置などによって採用されてもよい。本技法の少なくともいくつかは、一つまたは複数の技術的フィーチャー・プロファイル(たとえばモバイル・プロファイル、タブレット・プロファイル、家庭娯楽システム・プロファイルなど)としてパッケージングされてもよく、これは他のベンダー、ディベロッパー、メーカーなどとは独立に、あるいはそれとの組み合わせにおいて、リリースされることができる。
【0014】
ビデオ信号を適応的に再整形するために本稿に記載される技法を実装するビデオ・コーデックは、後方互換(BC: backward compatible)ビデオ・アプリケーション、非後方互換(NBC: non-backward compatible)ビデオ・アプリケーションなどの一つまたは複数をサポートするために使用されうる。そのようなビデオ・コーデックをもつシステムの例は、単一層12ビット・コーデック、二層8ビット・コーデック、多層コーデック、非後方互換な再整形コーデック、後方互換なコーデック、先進ビデオ符号化(AVC: Advanced Video Coding)における一組の設定/要求/オプションを実装するコーデック、高効率ビデオ符号化(HEVC: High Efficiency Video Coding)における一組の設定/要求/オプションを実装するコーデックなどの任意のものを含みうるが、それに限定されない。
【0015】
非後方互換な再整形コーデックのいくつかの例は、本願の被譲渡者によって所有される、2014年3月25日に出願されたPCT特許出願第PCT/US2014/031716号に記載されている。同出願の内容は、あたかも本稿に完全に記載されているかのように、あらゆる目的について参照によって組み込まれる。後方互換な再整形コーデックのいくつかの例は、本願の被譲渡者によって所有される、2012年11月1日に出願されたPCT特許出願第PCT/US2012/062932号に記載されている。同出願の内容は、あたかも本稿に完全に記載されているかのように、あらゆる目的について参照によって組み込まれる。
【0016】
いくつかの実施形態では、本稿に記載されるコーデック・システムは、全体的な最大誤差を最小にする限られた数の多項式を使って、任意の再整形関数を近似する曲線近似方法を実装する。追加的、任意的または代替的に、本コーデック・システムは、普通よりもよい知覚的品質を達成するために、前記再整形関数との関連で使われる適応的再整形パラメータを決定または選択する適応的パラメータ選択アルゴリズムを実装してもよい。
【0017】
メディア・プログラムについての源ビデオ・パッケージは、比較的高い空間解像度(たとえば4k、8kなど)、比較的大きなダイナミックレンジ、比較的広い色範囲をもつ源ビデオ・コンテンツを含むことがあるので、比較的大きなファイル・サイズであることがある。いくつかの実施形態では、比較的高いビデオ深さのビデオ信号(たとえば12ビット・ビデオ信号、14+ビット・ビデオ信号など)においてエンコードされた源ビデオ・コンテンツが、少なくとも部分的には信号再整形に基づいて、ずっと小さなサイズのエンコードされたビデオ・コンテンツにトランスコードされることがある。
【0018】
たとえば、源コンテンツは、画像から画像にかけて、シーンからシーンにかけて、メディア・プログラムからメディア・プログラムにかけて、などで(たとえば固定された、適応的に再整形されていない、などの)ルミナンス関係のまたはクロマ関係の値に対応する源符号語をもって、12ビットPQビデオ信号においてエンコードされていてもよい。
【0019】
本稿で使われるところの用語「PQ」は、知覚的なルミナンス振幅量子化を指す。人間の視覚系は、増大する光レベルに対して、非常に非線形な仕方で応答する。人間が刺激を見る能力は、その刺激のルミナンス、その刺激のサイズ、その刺激を構成する空間周波数およびその刺激を見ている特定の瞬間に目が順応しているルミナンス・レベルによって影響される。ある実施形態では、知覚的量子化器関数は、線形入力グレーレベルを、人間の視覚系におけるコントラスト感度閾値によりよくマッチする出力グレーレベルにマッピングする。PQマッピング関数(またはEOTF)の例は、ここに参照によってその全体において組み込まれる非特許文献1に記載されている。同文献では、固定した刺激サイズが与えられて、すべてのルミナンス・レベル(すなわち刺激レベル)について、そのルミナンス・レベルにおける最小可視コントラストきざみが最も敏感な順応レベルおよび最も敏感な空間周波数に従って(HVSモデルに従って)選択される。物理的な陰極線管(CRT)装置の応答曲線を表わし、偶然、人間の視覚系が応答する仕方と非常に大まかな類似性をもちうる伝統的なガンマ曲線に比べ、PQ曲線は、比較的簡単な関数モデルを使って、人間の視覚系の真の視覚的応答を模倣する。
【0020】
12ビットPQビデオ信号においてエンコードされた源コンテンツは、12,000ニトまでのダイナミックレンジなどといった比較的高いダイナミックレンジをもつことがある。対照的に、前記エンコードされたビデオ・コンテンツは、必ずしも画像から画像にかけて、シーンからシーンにかけて、メディア・プログラムからメディア・プログラムにかけて、などで固定されたルミナンス関係のまたはクロマ関係の値に対応しない、適応的に再整形された符号語をもって10ビット・ビデオ信号においてエンコードされていることがある。10ビット符号語空間における適応的に再整形された符号語は、画像から画像にかけて、シーンからシーンにかけて、メディア・プログラムからメディア・プログラムにかけて、などで変わりうる適応的再整形関数に基づいて12ビット符号語空間における源符号語に(たとえば適応的に、など)マッピングされることがある。結果として、前記エンコードされたビデオ・コンテンツは、10ビット信号においてエンコードされているものの、比較的高いダイナミックレンジを、12ビット信号でエンコードされている源ビデオ・コンテンツによってサポートされたダイナミックレンジ全体さえをも、サポートしうる。適応的再整形関数は、量子化曲線、ルックアップテーブル(LUT)、符号語マッピングなどの一つまたは複数によって表現されてもよい。
【0021】
いくつかの実施形態では、源ビデオ信号の適応的な再整形を実行するために上流装置によって使われる適応的再整形関数を表わす量子化曲線、ルックアップテーブル(LUT)、符号語マッピングなどの一部または全部は、10ビット信号においてエンコードされている前記エンコードされたビデオ・コンテンツと一緒に、組成メタデータ(composition metadata)として上流装置(たとえばビデオ・エンコーダ、ビデオ・トランスコーダなど)から直接または間接に下流の受領装置(たとえばビデオ・デコーダ、ビデオ・トランスコーダなど)に伝送されてもよい。量子化曲線、ルックアップテーブル(LUT)、符号語マッピングなどによって表わされる適応的再整形関数は、エンコードされたビデオ・コンテンツから源ビデオ・コンテンツのバージョンを再構成するために、下流の受領装置によって使用されてもよい。たとえば、エンコードされたビデオ・コンテンツにおける適応的に再整形された符号語は、適応的再整形関数またはその逆関数に基づいて、源ビデオ・コンテンツにあった源符号語と等価な一組の符号語(たとえば12ビット符号語空間などの符号語)に逆マッピングされてもよい。
【0022】
適応的再整形関数の表現を含む組成メタデータは、いくつかの下流装置にとっては、伝送されたりおよび/または処理したりするには大きすぎることがある。比較的大量のメタデータ(たとえば組成メタデータなどのようなビデオ処理に関係するもの)を処理することに困難がある下流装置は:モバイル装置、小型フットプリント装置、比較的限られたビデオ処理機能をもつコンピューティング装置、比較的限られたビデオ処理機能をもつシステムオンチップ(SoC)モジュールを組み込んでいるコンピューティング装置、ビデオ信号フォーマット、実装、設計、ハードウェア、ソフトウェア、ファームウェアなどで比較的少量のメタデータの送信/受信をサポートするものを組み込んでいるコンピューティング装置などの任意のものを含みうるが、それだけに限定されない。
【0023】
本稿に記載される技法のもとでは、適応的再整形関数は、限られた数の、多項式、区分線形(PWL: piecewise linear)セグメントなどといった簡単な数学的関数によって近似されることができる。限定しない例示的実施形態において、適応的再整形関数は限られた数(たとえば4、8、12、1より大きな異なる正の整数など)の多項式関数(たとえば線形、二次など)であって、各係数について限られた数のビットをもち、最小化された近似誤差をもつものによって近似される。限られた数の多項式関数を用いた適応的再整形関数の近似における最小化された近似誤差は、限られた数の多項式関数を用いた適応的再整形関数の近似に基づいて実行される逆マッピングにおける誤差を最小化するのに貢献する。
【0024】
適応的な再整形は、多くの異なる形のさまざまなビデオ信号および/またはビデオ・コンテンツに対して実行できる。特に、本稿に記載される技法は、任意のLUTを含むがそれに限られない任意の適応的再整形関数を近似することにおいて適用可能である。
【0025】
いくつかの例示的実施形態では、本稿に記載される機構は:ハンドヘルド装置、ゲーム機、テレビジョン、ラップトップ・コンピュータ、ネットブック・コンピュータ、タブレット・コンピュータ、セルラー無線電話、電子書籍リーダー、ポイントオブセール端末、デスクトップ・コンピュータ、コンピュータ・ワークステーション、コンピュータ・キオスクまたはさまざまな他の種類の端末およびメディア処理ユニットのうちの任意のものを含むがそれに限られないメディア処理システムの一部をなす。
【0026】
本稿に記載される好ましい実施形態および一般原理および特徴に対するさまざまな修正が当業者にはすぐに明白となるであろう。このように、本開示は、示される実施形態に限定されることは意図されておらず、本稿に記載される原理および特徴と整合する最も広い範囲を与えられるべきものである。
【0027】
〈2.適応的に再整形されたビデオ・コンテンツのエンコード〉
図1Aは、適応的に再整形されたビデオ・コンテンツをもってエンコードされた出力ビデオ信号(または再整形されたビデオ信号)を下流装置(その一つはたとえば図1Bのビデオ・デコーダ152などであってもよい)に送達するために上流装置として使用されることのできる例示的なビデオ・エンコーダ102を示している。ビデオ・エンコーダ(102)は、一つまたは複数のコンピューティング装置をもって実装されてもよい。いくつかの実施形態では、ビデオ・エンコーダ(102)は、源コンテンツ・デコーダ104、適応的なコンテンツ再整形器106、再整形コンテンツ・エンコーダ108などを有する。
【0028】
いくつかの実施形態では、源コンテンツ・デコーダ(104)は、一つまたは複数の源ビデオ信号(たとえば符号化されたビットストリーム)を受領し、該源ビデオ信号を源ビデオ・コンテンツにデコードするよう構成されたソフトウェア、ハードウェア、ソフトウェアとハードウェアの組み合わせなどを有する。いくつかの実施形態では、源ビデオ・コンテンツは、単一の層において源ビデオ・コンテンツをエンコードされた単一層ビデオ信号からデコードされる。いくつかの実施形態では、源ビデオ・コンテンツは、二つ以上の層(たとえば基本層および一つまたは複数の向上層など)において源ビデオ・コンテンツをエンコードされた多層エンコードされたビデオ信号からデコードされる。
【0029】
いくつかの実施形態では、適応的なコンテンツ再整形器(106)は、源ビデオ・コンテンツに対して適応的な再整形動作を実行して、再整形されたビデオ・コンテンツを生成するよう構成されたソフトウェア、ハードウェア、ソフトウェアとハードウェアの組み合わせなどを有する。源ビデオ・コンテンツまたは再整形されたコンテンツの一方または両方が、後方互換(BC)ビデオ・アプリケーション、非後方互換(NBC)ビデオ・アプリケーションなどの一つまたは複数のために使われてもよい。
【0030】
いくつかの実施形態では、適応的なコンテンツ再整形器(106)は、源ビデオ・コンテンツにおいて表現されている一つまたは複数の画像、一つまたは複数のシーンなどにおける源符号語を、再整形されたビデオ・コンテンツにおいて表現された一つまたは複数の対応する画像、一つまたは複数の対応するシーンなどにおける再整形された符号語に再整形するために、再整形関数を選択し、適用するよう構成される。本稿に記載される技法のもとでは、再整形関数および/または再整形関数において使われる適応的再整形パラメータの選択は、源ビデオ・コンテンツにおいて表現されている画像、シーンなどにおける実際の内容に基づいて、適応的になされる。追加的、任意的または代替的に、再整形関数および/または再整形関数において使われる適応的再整形パラメータの選択は、これらの画像、シーンなどがビデオ・エンコーダ(102)によって処理されている間に適応的になされてもよい。
【0031】
適応的なコンテンツ再整形器(106)は、再整形関数として前方冪関数を使うよう構成されていてもよいが、それに限定されない。適応的なコンテンツ再整形器(106)は、画像が大きななめらかな明るい領域、大きな暗黒の領域などを含むかどうか、画像が中間トーン画像であるかどうかなどを判定するよう構成されることができる。そのような判定に基づいて、前方冪関数の指数値などのような適応的再整形パラメータが選択されうる。
【0032】
いくつかの実施形態では、適応的なコンテンツ再整形器(106)は、選択された適応的再整形パラメータをもつ選択された適応的再整形関数に基づいて直接、源ビデオ・コンテンツにおける源符号語に対して適応的な再整形動作を適用する。
【0033】
いくつかの実施形態では、適応的再整形関数は、複数のエントリーを有するLUTによって表現されてもよい。各エントリーは、源ビデオ・コンテンツをエンコードするために使われた利用可能な源符号語の集合における源符号語を、再整形されたビデオ・コンテンツをエンコードするために使われる利用可能な再整形された符号語の集合における再整形された符号語にマッピングする。源ビデオ・コンテンツにおける一つまたは複数の第一の画像を再整形するために使われる第一のLUTは、源ビデオ・コンテンツにおける一つまたは複数の第二の画像を再整形するために使われる第二のLUTとは異なっていてもよい。いくつかの実施形態では、利用可能な源符号語の集合は、第一の画像と第二の画像の両方について同じであってもよい。たとえば、適応的なコンテンツ再整形器(106)が第一の画像がなめらかな明るい画像であると判定する場合、LUTまたは該LUTが表わす適応的再整形関数は、明るいルミナンス値に対応する比較的多数の利用可能な再整形された符号語を有していてもよい。結果として、再整形されたビデオ/コンテンツが源ビデオ信号(たとえば12ビット・ビデオ信号、14+ビット・ビデオ信号など)より低いビデオ深さをもつ再整形されたビデオ信号(たとえば二層8ビット・ビデオ信号、単一層10ビット・ビデオ信号など)にエンコードされるときでも、輪郭生成/バンド生成(contouring/banding)アーチファクトが低減または回避できる。適応的なコンテンツ再整形器(106)が、第二の画像がなめらかな暗い画像である(だが純粋に黒の画像ではない)と判定する場合には、LUTまたは該LUTが表わす適応的再整形関数は、暗いルミナンス値に対応する比較的多数の利用可能な再整形された符号語を有していてもよい。結果として、暗い領域における画像詳細が、再整形されたビデオ信号においてエンコードされた再整形されたビデオ・コンテンツにおいて保存されることができる。いくつかの実施形態では、適応的なコンテンツ再整形器(106)は、LUTに基づいて源ビデオ・コンテンツにおける源符号語に対して適応的な再整形動作を適用する。このLUTは、選択された適応的再整形関数に基づいて生成されてもよく、あるいはこのLUT自身が選択された適応的再整形関数と考えられてもよい。
【0034】
いくつかの実施形態では、適応的なコンテンツ再整形器(106)は、再整形関数を表わすまたは再整形関数と等価である(目標)LUTの近似を決定する。たとえば、適応的なコンテンツ再整形器(106)は、前記LUTを、多項式によって表わされるマッピングと目標LUTによって表わされるマッピングとの間の誤差を最小にするよう特に決定された係数をもつ多項式によって近似してもよいが、それだけに限定されない。いくつかの実施形態では、適応的なコンテンツ再整形器(106)は、前記目標LUTを近似する多項式または前記LUTによって表わされる再整形関数に基づいて源ビデオ・コンテンツにおける源符号語に対して適応的な再整形動作を適用する。
【0035】
どの仕方で(たとえば、解析関数または非解析的な関数または区分的に解析的な関数のような再整形関数に基づいて、解析関数を表わしていてもいなくてもよいLUTに基づいて、解析関数に基づいて生成されてもされなくてもよいLUTの近似に基づいて、など)ビデオ・エンコーダ(102)が適応的な再整形動作を適用しうるかに関わりなく、ビデオ・エンコーダ(102)は、一つまたは複数の型の適応的再整形パラメータを生成し、前記一つまたは複数の型の適応的再整形パラメータの少なくとも一つを下流の受領装置に送信するよう構成されてもよい。
【0036】
いくつかの実施形態では、適応的なコンテンツ再整形器(106)は、再整形関数の逆関数を表わす(目標)LUT(または後方LUT)の近似を決定するよう構成される。再整形関数の逆関数を表わす目標LUTの近似を定義する組成メタデータが生成され、再整形されたビデオ信号において担持される全体的なメタデータの一部として、ビデオ・エンコーダ(102)によって、図1Bのビデオ・デコーダ152などのような下流の受領装置に伝送される。
【0037】
いくつかの実施形態では、ビデオ・デコーダ(152)は、再整形されたビデオ信号からデコードされた/抽出された組成メタデータに基づいて、再整形関数の逆関数を表わす目標LUTの近似を受領または再構成するよう構成されていてもよい。適応的なコンテンツ再整形器(106)が源ビデオ・コンテンツにおける源符号語に対して適応的な再整形動作を適用するのが、再整形関数に基づいてか、あるいは前記再整形関数を表わす前方LUTに基づいてか、あるいは前記前方LUTの近似に基づいてかに関わりなく、ビデオ・デコーダ(152)は、目標LUTの近似を使って、再整形されたビデオ信号からデコードされたビデオ・エンコーダに由来する再整形されたビデオ・コンテンツに対して逆マッピング動作を適用するよう構成されていてもよい。
【0038】
追加的、任意的または代替的に、いくつかの実施形態では、適応的なコンテンツ再整形器(106)は、再整形関数の逆関数を表わす目標LUTを定義する組成メタデータを生成し、該組成メタデータを、再整形されたビデオ信号において担持される全体的なメタデータの一部として、ビデオ・エンコーダ(102)によって、図1Bのビデオ・デコーダ152などのような下流の受領装置に伝送するよう構成される。いくつかの実施形態では、ビデオ・デコーダ(152)は、再整形されたビデオ信号からデコード/抽出された組成メタデータに基づいて目標LUTを受領または再構成するよう構成されていてもよい。適応的なコンテンツ再整形器(106)が源ビデオ・コンテンツにおける源符号語に対して適応的な再整形動作を適用するのが、再整形関数に基づいてか、あるいは前記再整形関数を近似する前方LUTに基づいてか、あるいは前記前方LUTの近似に基づいてかに関わりなく、ビデオ・デコーダ(152)は、目標LUTを使って、再整形されたビデオ信号からデコードされたビデオ・エンコーダに由来する再整形されたビデオ・コンテンツに対して逆マッピング動作を適用するよう構成されていてもよい。
【0039】
追加的、任意的または代替的に、いくつかの実施形態では、適応的なコンテンツ再整形器(106)は、再整形関数の逆関数を定義する組成メタデータを生成し、該組成メタデータを、再整形されたビデオ信号において担持される全体的なメタデータの一部として、ビデオ・エンコーダ(102)によって、図1Bのビデオ・デコーダ152などのような下流の受領装置に伝送するよう構成される。いくつかの実施形態では、ビデオ・デコーダ(152)は、再整形されたビデオ信号からデコード/抽出された組成メタデータに基づいて再整形関数の逆関数を受領または再構成するよう構成されていてもよい。適応的なコンテンツ再整形器(106)が源ビデオ・コンテンツにおける源符号語に対して適応的な再整形動作を適用するのが、再整形関数に基づいてか、あるいは前記再整形関数を近似する前方LUTに基づいてか、あるいは前記前方LUTの近似に基づいてかに関わりなく、ビデオ・デコーダ(152)は、再整形関数の逆関数を使って、再整形されたビデオ信号からデコードされたビデオ・エンコーダから発した再整形されたビデオ・コンテンツに対して逆マッピング動作を適用するよう構成されていてもよい。
【0040】
いくつかの実施形態では、再整形コンテンツ・エンコーダ(108)は、再整形されたビデオ・コンテンツを再整形されたビデオ信号(たとえば再整形されたビデオ信号をもってエンコードされた二層8ビット・ビデオ信号、再整形されたビデオ信号をもってエンコードされた単一層10ビット・ビデオ信号)にエンコードするよう構成されたソフトウェア、ハードウェア、ソフトウェアとハードウェアの組み合わせなどを有する。追加的、任意的または代替的に、ビデオ・エンコーダ(102)またはその中の再整形コンテンツ・エンコーダは、ビデオ・エンコーダ(102)の動作において使われる動作パラメータの一部または全部を含むメタデータを、再整形されたビデオ信号の一部として下流装置(たとえば図1Bのビデオ・デコーダ152など)に対して出力する。下流装置に伝送されるメタデータ中の動作パラメータは:再整形関数またはその逆関数を定義する適応的再整形パラメータを含む組成メタデータ、再整形関数またはその逆関数を表わすLUTを定義する組成メタデータ、再整形関数または再整形関数の逆関数のうち一つまたは複数の近似を定義する組成メタデータ、トーン・マッピング・パラメータ、クリッピング・パラメータ、ガンマ圧縮のための冪関数において使われる指数値、逆マッピング・パラメータ、LUT、区分線形(PWL)関数における転換点値、非線形量子化パラメータ、非線形量子化(NLQ)パラメータなどの一つまたは複数、のうちの任意のものを含むがそれに限定されない。メタデータは、エンコードされたビデオ・コンテンツを含む諸層においてまたは全体的なビデオ・ビットストリームの別個のサブビットストリームにおいてたとえばビデオ・ビットストリームにおいて利用可能な補足向上情報(SEI: supplemental enhancement information)または他の同様のメタデータ担体の一部として、担持されるデータの一部であってもよい。例示的なサブビットストリームは、ドルビー・ラボラトリーズ社によって開発された参照処理ユニット(RPU: reference processing unit)ストリームであってもよい。
【0041】
本稿での用法では、用語「ビット深さ」は、画像データをエンコードまたは量子化するために利用可能な符号語を提供する符号化空間において提供されるビット数を指す。低いビット深さの例は8ビットであり、高いビット深さの例は12ビット以上である。
【0042】
本稿での用法では、ビデオ・コンテンツは、画像またはフレームのシーケンスを有していてもよい。本稿での用法では、「源画像」は、ハイエンド画像取得装置によって捕捉されたシーン基準の(scene-referred)画像、参照符号化画像、PQ符号化画像などのような画像を指しうる。源画像は、比較的大きなビット深さの符号語空間において利用可能な符号語を含んでいてもよい。
【0043】
源画像、再整形された画像、再構成された画像などのような画像は、いかなる色空間にあってもよい。たとえば、源画像は、YCbCr色空間、RGB色空間、XYZ色空間、YDzDx色空間、IPT色空間などにおける12+ビット画像であってもよい。一例では、画像において表現されている各ピクセルは、色空間(たとえばYCbCr色空間、RGB色空間、XYZ色空間、YDzDx色空間、IPT色空間など)について定義されているすべてのチャネル(たとえばRGBチャネル、ルーマおよびクロマ・チャネル、XYZチャネル、YDzDxチャネル、IPTチャネルなど)についての符号語を含む。各符号語は、色空間におけるチャネルの一つまたは複数についてのアップサンプリングまたはダウンサンプリングされた符号語を有する。ある例示的実施形態においては、ビデオ・エンコーダ(102)は、第一の色空間(たとえばRGB色空間など)から第二の異なる色空間(たとえばYCbCr色空間など)への画像に関係した色空間変換を実行するよう構成される。
【0044】
ある例示的実施形態では、ビデオ・エンコーダ(102)は、第一のサンプリング・フォーマット(たとえば4:4:4サンプリング・フォーマットなど)の画像を第二の異なるサンプリング・フォーマット(たとえば4:2:0サンプリング・フォーマットなど)にダウンサンプリングまたはアップサンプリングするよう構成される。
【0045】
信号再整形および他の動作を実装するビデオ・エンコーダの例は:一つまたは複数の単一層12ビット・コーデック、一つまたは複数の二層8ビット・コーデック、一つまたは複数の多層コーデック、一つまたは複数の非後方互換な再整形コーデック、一つまたは複数の後方互換なコーデック、AVCにおける一組の設定/要求/オプションを実装する一つまたは複数のコーデック、HEVC、H.264/AVC/HEVC、MPEG-2、VP8、VC-1などにおける一組の設定/要求/オプションを実装する一つまたは複数のコーデックの任意のものを含むが、それだけに限定されない。
【0046】
〈3.適応的に再整形されたビデオ・コンテンツのデコード〉
図1Bは、上流装置(その一つはたとえば図1Aのビデオ・エンコーダ102などであってもよい)からの適応的に再整形されたビデオ・コンテンツをもってエンコードされた入力ビデオ信号(または再整形されたビデオ信号)を処理する下流装置として使用されることのできる例示的なビデオ・デコーダ152を示している。ビデオ・デコーダ(152)は、再整形コンテンツ・デコーダ154、逆マッピング器156、ディスプレイ・マネージャ158などを有する。
【0047】
いくつかの実施形態では、再整形コンテンツ・デコーダ(154)は、入力ビデオ信号(たとえば符号化されたビットストリーム)を受領し、該入力ビデオ信号を再整形されたビデオ・コンテンツにデコードするよう構成されたソフトウェア、ハードウェア、ソフトウェアとハードウェアの組み合わせなどを有する。いくつかの実施形態では、再整形されたビデオ・コンテンツは、再整形されたビデオ・コンテンツを単一の層においてエンコードされた単一層ビデオ信号(たとえば単一チャネル10ビット・ビデオ信号など)からデコードされる。いくつかの実施形態では、再整形されたビデオ・コンテンツは、再整形されたビデオ・コンテンツを二つ以上の層(たとえば基本層および一つまたは複数の向上層など)においてエンコードされた多層エンコードされたビデオ信号(たとえば二層8ビット・ビデオ信号など)からデコードされる。
【0048】
いくつかの実施形態では、逆マッピング器156は、再整形されたビデオ・コンテンツに対して逆マッピング動作を実行して、再整形されたビデオ・コンテンツを生成するために上流装置によって使われた源ビデオ・コンテンツの再構成されたバージョンを生成するよう構成されたソフトウェア、ハードウェア、ソフトウェアとハードウェアの組み合わせなどを有する。再構成されたビデオ・コンテンツまたは再整形されたコンテンツの一方または両方が、後方互換(BC)ビデオ・アプリケーション、非後方互換(NBC)ビデオ・アプリケーションなどの一つまたは複数のために使われてもよい。
【0049】
いくつかの実施形態では、源ビデオ・コンテンツにおいて表現されている一つまたは複数の画像、一つまたは複数のシーンなどにおける源符号語を、再整形されたビデオ・コンテンツにおいて表現された一つまたは複数の対応する画像、一つまたは複数の対応するシーンなどにおける再整形された符号語に再整形するために、上流装置(たとえば図1Aのビデオ・エンコーダ102など)によって再整形関数が適応的に選択されている。本稿に記載される技法のもとでは、再整形関数および/または再整形関数において使われる適応的再整形パラメータの選択は、源ビデオ・コンテンツにおいて表現されている画像、シーンなどにおける実際の内容に基づいて、適応的になされる。
【0050】
再整形関数の例は、前方冪関数などを含みうるが、それだけに限定されるものではない。上流装置において画像を再整形するために適応された再整形関数において使われた適応的再整形パラメータは、画像が大きななめらかな明るい領域、大きな暗黒の領域などを含むかどうか、画像が中間トーン画像であるかどうかなどに基づいて、上流装置によって、決定/選択されてもよい。
【0051】
いくつかの実施形態では、ビデオ・デコーダ(152)によって受領される再整形されたビデオ・コンテンツは、上流装置によって、選択された適応的再整形パラメータをもつ選択された適応的再整形関数に基づいて直接、源ビデオ・コンテンツにおける源符号語に対して適応的な再整形動作を適用することによって生成される。
【0052】
いくつかの実施形態では、ビデオ・デコーダ(152)によって受領される再整形されたビデオ・コンテンツは、上流装置によって、選択された適応的再整形関数に基づいて生成されるのでもそうでなくてもよいLUT(たとえば前方LUTなど)に基づいて生成されてもよい。
【0053】
いくつかの実施形態では、ビデオ・デコーダ(152)によって受領される再整形されたビデオ・コンテンツは、上流装置によって、再整形関数を表わすまたは再整形関数と等価な(目標)LUTの近似に基づいて生成される。近似は多項式に基づいていてもいなくてもよい。
【0054】
ビデオ・デコーダ(152)によって受領される再整形されたビデオ・コンテンツが上流装置によってどの仕方で生成されるかに関わりなく、ビデオ・デコーダ(152)またはその中の逆マッピング器(156)は、ビデオ・デコーダ(152)によって受領される入力ビデオ信号において担持されているメタデータの一部として伝送される組成メタデータをデコードすることによって、適応的再整形パラメータを得るよう構成されてもよい。
【0055】
いくつかの実施形態では、デコードされた適応的再整形パラメータに基づいて、逆マッピング器(156)は、再整形関数(たとえば、一つまたは複数の画像などに対して適応的な再整形を実行するために上流装置によって使われた再整形関数)の逆関数を表わす(目標)LUT(または後方LUT)の近似を決定するよう構成される。ビデオ・デコーダ(152)またはその中の逆マッピング器(156)は、上流装置が源ビデオ・コンテンツにおける源符号語に対して適応的な再整形動作を適用するのが、再整形関数に基づいてか、あるいは前記再整形関数を表わす前方LUTに基づいてか、あるいは前記前方LUTの近似に基づいてかに関わりなく、目標LUTの近似を使って、再整形されたビデオ信号からデコードされたビデオ・エンコーダに由来する再整形されたビデオ・コンテンツに対して逆マッピング動作を適用することによって、源ビデオ・コンテンツ(ビデオ・デコーダ152によって受領される再整形されたビデオ・コンテンツを生成するために上流装置によって使われたもの)の再構成されたバージョンを生成するよう構成されていてもよい。
【0056】
いくつかの実施形態では、ディスプレイ・マネージャ(158)は、源ビデオ・コンテンツの再構成されたバージョンに対して、ディスプレイ管理動作などのようなビデオ処理動作を実行するよう構成されたソフトウェア、ハードウェア、ソフトウェアとハードウェアの組み合わせなどを有する。例示的なディスプレイ管理動作は:トーンマッピング動作、クリッピング動作、色範囲適応動作などの任意のものを含みうるが、それだけに限定されるものではない。これらの動作の一部または全部は装置固有であってもよい。これらの動作を通じて、源ビデオ・コンテンツの再構成されたバージョンにおいて表現されている画像が表示装置によってレンダリングされることができる。表示装置は、ビデオ・デコーダ(152)を含む同じ装置の一部であってもよく、ビデオ・デコーダ(152)との関連で動作するなどしていてもよい。
【0057】
ある例示的実施形態では、ビデオ・デコーダ(152)は、第一のサンプリング・フォーマット(たとえば4:2:0サンプリング・フォーマットなど)の画像を第二の異なるサンプリング・フォーマット(たとえば4:4:4サンプリング・フォーマットなど)にアップサンプリングまたはダウンサンプリングするよう構成される。
【0058】
逆マッピング、逆信号再整形および他の動作を実装するビデオ・デコーダの例は:一つまたは複数の単一層12ビット・コーデック、一つまたは複数の二層8ビット・コーデック、一つまたは複数の多層コーデック、一つまたは複数の非後方互換な再整形コーデック、一つまたは複数の後方互換なコーデック、AVCにおける一組の設定/要求/オプションを実装する一つまたは複数のコーデック、HEVC、H.264/AVC/HEVC、MPEG-2、VP8、VC-1などにおける一組の設定/要求/オプションを実装する一つまたは複数のコーデックの任意のものを含むが、それだけに限定されない。
【0059】
〈4.適応的な再整形のための冪関数〉
いくつかの実施形態では、適応的な再整形は、冪関数を用いて、たとえば拡張ダイナミックレンジ(EDR)(たとえば6,000ニト、12,000ニト、20,000+ニトなどまで)をサポートするビデオ信号に対して、効果的に実行されてもよい。冪関数は、12+ビットの知覚的に量子化された(PQ: perceptually quantized)ビデオ信号などのような比較的高いビットレートの源ビデオ信号を、8ビットまたは10ビットの適応的に再整形されたビデオ信号などのような比較的低いビットレートの適応的に再整形されたビデオ信号に圧縮するために使用できる。最適な適応的再整形パラメータは、適応的に再整形されたビデオ信号における視覚的アーチファクトを低減または呈示するために、少なくとも部分的には源ビデオ信号の内容に基づいて選択されることができる。これらの最適な適応的再整形パラメータの選択は、源ビデオ信号において表わされている現在の画像、現在のシーンなどについて、現在の画像、現在のシーンなどが上流装置によって処理され、適応的に再整形されたビデオ信号において表現される画像、シーンなどに適応的に再整形/圧縮されつつある間に、上流装置によって自動的になされることができる。冪関数を用いた適応的な再整形のいくつかの例は、本願の被譲渡者によって所有される、2014年3月25日に出願されたPCT特許出願第PCT/US2014/031716号において記述されている。同出願の内容はあたかも本稿に完全に記載されているかのように、あらゆる目的について、参照によって組み込まれる。
【0060】
ある例示的実施形態では、適応的再整形は、次の前方冪関数を用いて、ビデオ・エンコーダなどのような上流装置によって実行される。
【0061】
【数1】
ここで、αは指数値を表わし;viはビデオ/エンコーダによって再整形されている源ビデオ信号からデコードされた源符号語(源ルミナンス符号語など)を表わし;siは、上記前方冪関数を用いてviから適応された/マッピングされた、適応的に再整形された符号語(たとえば、適応された/マッピングされたルミナンス符号語など)を表わし;round(…)は丸め関数を表わし;CLYおよびCHYは、適応的に整形された符号語(たとえば適応された/マッピングされたルミナンス符号語など)のそれぞれ最小および最大値であり;vLYおよびvHYは、源符号語(たとえば源ルミナンス符号語など)のそれぞれ最小および最大値である。追加的、任意的または代替的に、いくつかの実施形態では、不可逆圧縮後に範囲外(たとえば範囲[CLY,CHY]の外など)の符号語があってもビデオ・デコーダなどのような下流の受領装置によって最も近い有効な再構成された源符号語へ逆マッピングできることを保証するために、クリッピング関数が使われてもよい。
【0062】
逆マッピングは、次の後方冪関数を用いてビデオ・デコーダなどのような下流の受領装置によって実行できる。
【0063】
【数2】
ここで、バー付きのviは、今の例において、ビデオ・エンコーダのような上流装置によって再整形された適応的に再整形されたビデオ信号からデコードされた再整形された符号語から逆マッピングされた、再構成された源符号語(たとえば、再構成された源ルミナンス符号語など)を表わす。
【0064】
いくつかの実施形態では、デコーダにおける前方および後方冪関数において、CLYおよびCHYは次のように設定されてもよい:
CLY=0 (3)
CHY=effective_codewords−1 (4)
ここで、記号「effective_codewords」は、適応的に再整形された符号語を表わすために利用可能な符号語の数(たとえば、二層8ビット・ビデオ信号の511、単一層10ビット・ビデオ信号の1023など)を表わす。
【0065】
前方冪関数、後方冪関数などといった再整形関数またはその逆関数は、一次元LUT(1D-LUT)などのようなLUTとして表現できる。本稿に記載される技法は、再整形関数またはその逆関数を表わす、またはそれに基づいて生成されるLUTを、限られた数の二次多項式での近似のための目標LUTとして使うことができる。いくつかの実施形態では、たとえば装置固有の制約条件、モジュール固有の制約条件(たとえばSoCに関係した制約条件など)などに従うために、係数は、限られた精度をもつ固定小数点数であってもよい。
【0066】
式(1)または(2)に示される冪関数を例として取ると、指数(たとえば、式(1)の前方冪関数におけるα、式(2)の後方冪関数における1/αなど)は1より大きくて、冪関数を凸関数にしてもよいし、あるいは1より小さく、冪関数を凹関数にしてもよい。これらの異なるαの値は、冪関数に基づいて生成される目標LUTを近似するための異なる困難を呈する。
【0067】
さまざまな実施形態において、目標LUTの近似において、一つまたは複数のアルゴリズムが、個々にまたは組み合わせにおいて使われてもよい。一例では、前方探索アルゴリズムと記される第一のアルゴリズムが、入力符号語の値を表わす横座標軸に沿っての小さな符号語値から大きな符号語値に向けて(あるいは左から右に向けて)冪関数を近似するために使われてもよい(縦座標軸はマッピングされた符号語値を表わす)。本稿での用法では、目標LUTなどのようなLUTにおける入力符号語値は、そのLUTの鍵と値の対における鍵を指しうる。一方、LUTにおけるマッピングされた符号語値は、LUTの鍵と値の対における値を指しうる。別の例では、後方探索アルゴリズムと記される第二のアルゴリズムが、横座標軸に沿っての大きな符号語値から小さな符号語値に向けて(あるいは右から左に向けて)冪関数を近似するために使われてもよい。さらなる例では、前記第一のアルゴリズムおよび前記第二のアルゴリズムの両方が使われてもよく;これらのアルゴリズムの一方(たとえば、生成される近似誤差がより小さいもの、収束が最も速いものなど)からの結果が、冪関数を近似するために使われてもよい。
【0068】
適応的再整形関数は前方冪関数であってもなくてもよいことを注意しておくべきである。追加的、任意的または代替的に、再整形関数の逆関数は後方冪関数であってもなくてもよい。いくつかの実施形態では、本稿に記載される再整形関数の逆関数は、任意の勝手な再整形関数から導出または演繹されうる最適な後方LUT(backward LUT)(BL()と記される)によって表現される。再整形関数は、ビデオ・エンコーダなどのような上流装置によって、適応的再整形を実行するために使用されてもよい。いくつかの実施形態では、適応的再整形関数は、前方LUT(forward LUT)(FL()と記される)によって表現されてもよい。最適な後方LUT(または最適なBL())がビデオ・デコーダなどのような下流装置によって、逆マッピングを実行するために使われてもよい。
【0069】
再整形されたビデオ・コンテンツにおいて使われる各再整形された符号語値scについて、再整形されたビデオ・コンテンツにおいて同じ再整形された符号語値scをもつ(たとえばある画像内、同じシーンの諸画像内などの)すべてのピクセルがグループ化される。再整形されたビデオ・コンテンツにおけるこれらのピクセルに基づいて、scに再整形またはマッピングされた源ビデオ・コンテンツにおける対応する源符号語値viの集合が、次いで、次のように決定または同定される。
【0070】
ω(sc)={i|FL(i)=sc} (5)
各符号語値scについて、その対応する源符号語値viの集合が空でなければ、その集合における集められた源符号語値の全部についての平均が取られるまたは計算される。各符号語値scに対応する集められた源符号語値全部の平均は、次のように、最適なBL(sc)を構築するために使用されてもよい。
【0071】
【数3】
ここで、|ω(sc)|は、上記の式(5)の集合における集められた源符号語値の数を表わす。
【0072】
いくつかの実施形態では、式(6)における最適なBL(sc)は、(たとえば多項式などによって)近似されるべき目標LUTとして使われてもよい。
【0073】
〈5.適応的な再整形に関係した関数の近似〉
図2は、再整形関数を近似する例示的方法を示す図である。一つまたは複数のコンピューティング装置、少なくとも部分的にはコンピューティング装置内のハードウェアにおいて実装される一つまたは複数のモジュールなどがこの方法を実行してもよい。たとえばビデオ処理装置内のLUT近似モジュール、たとえばビデオ・エンコーダ内の適応的再整形モジュール、ビデオ・デコーダ内の逆マッピング・モジュールなどが、図2の方法の工程の一部または全部を実行してもよい。
【0074】
ブロック202では、LUT近似モジュールは、初期誤差閾値tを設定することによって、目標LUTの近似を開始する。
【0075】
ブロック204では、LUT近似モジュールは、連続性条件が強制されるべきかどうかを決定する。もしそうであれば、目標LUTを近似するために使われる多項式は、それらの多項式によって形成される区分曲線が0次で連続であり;区分曲線の二つの隣り合う多項式によって表わされる任意の二つの曲線セグメントが互いにつながっているという制約条件を満たすべきである。他方、連続性条件が強制されない場合には、多項式はそのような制約条件を満たす必要はない(隣り合う多項式が互いとつながっていてもいなくてもよい)。この連続性制約条件の設定または設定解除は、コンテンツ依存であってもよい。一例では、LUT近似モジュールは、画像またはシーンがなめらかな画像内容を含んでいるかどうかを判定してもよい。そのような判定に応答して、そのような画像またはシーンでの再整形または逆マッピング動作のための目標LUTを近似する際に、連続性制約条件が強制されてもよい。これは、比較的なめらかな画像内容において色バンド生成アーチファクトが生じることを防ぎうる。もう一つの例では、LUT近似モジュールは、画像またはシーンが(たとえば、ルミナンス値またはクロム値の相違および変動などの点で)比較的変化の多い画像内容を含んでいることを判別してもよい。そのような判定に応答して、そのような画像またはシーンでの再整形または逆マッピング動作のための目標LUTを近似する際に、連続性制約条件は強制されなくてもよい。比較的変化の多い画像内容においては色バンド生成アーチファクトが生じる可能性はそれほど高くないからである。
【0076】
いくつかの実施形態では、LUT近似モジュールは、連続性条件もしくは制約条件が強制されるかどうかに基づいて、近似動作において適用すべき停止規則の集合を、停止規則の一つまたは複数の異なる集合のうちから選択してもよい。連続性条件が強制されないと判定するのに応答して、ブロック206において、LUT近似モジュールは、停止規則の第一の集合を選択するよう構成されていてもよい。他方、連続性条件が強制されると判定するのに応答して、ブロック208において、LUT近似モジュールは、停止規則の第二の集合を選択するよう構成されていてもよい。
【0077】
停止規則は、少なくとも部分的には、目標LUTの近似において、セグメントの近似を最終的なものとするか、特定の計算または動作を停止するもしくは切り上げるか、異なる計算または動作に進むかなどを決定するために使われる。いくつかの実施形態では、停止規則は閾値処理検出器を含むだけではなく、上昇エッジ検出器、最小/最大セグメント長検出器などをも含んでいてもよい。停止規則(たとえば、停止規則の特定の組み合わせなど)は、単に全体的な誤差閾値に基づく閾値処理検出器を使うよりも、セグメントの近似を最終承認することにおける、よりよい当てはめ精度(fitting accuracy)を生じるために使用されうる。
【0078】
さまざまな実施形態において、画像の型、再整形関数の型などに基づいて、異なる停止規則が採用されうる。たとえば、多項式によって近似するのが難しい曲線によって表現される再整形関数については、比較的ゆるい(relaxing)停止規則が採用されてもよい。比較的なめらかな画像については、比較的厳格な停止規則が採用されてもよい。いくつかの実施形態では、停止規則は、近似動作における自由度の低下と等価であってもよい。停止規則が表わす自由度(たとえば一つの自由度、二つの自由度など)が高いほど、少なくとも部分的に該停止規則に基づいて生成される目標LUTの近似はより多くの歪みを生成してもよい。近似誤差は、停止規則が使われないまたは比較的ゆるい停止規則が使われる場合に、最小化されうる。しかしながら、近似は、端部で合わない曲線セグメントを含んでいてもよく、特定の画像の型(たとえば、比較的なめらかな画像、比較的なめらかでない画像など)について適切であることもないこともありうる。
【0079】
ある例示的実装では、規則その1は次のように定義される:
(prev_error_condition && curr_error_condition)||
max_custom_length_condition (7)
ここで、x && yはxとyのブーリアン論理「かつ(and)」を表わし、||はxとyのブーリアン論理「または(or)」を表わし、prev_error_conditionは、最後の当てはめ誤差が適用可能な誤差閾値(たとえば、デフォルトの誤差閾値t、調整された誤差閾値0.75t、さらなる調整された閾値など)未満であるかどうかを示す述語を表わし、curr_error_conditionは現在の当てはめ誤差が前記適用可能な誤差閾値未満であるかどうかを示す述語を表わし、max_custom_length_conditionはセグメントがあらかじめ定義された最大長に達したかどうかを示す述語を表わす。
【0080】
ある例示的実装では、規則その2は次のように定義される:
(curr_error_condition && min_custom_length_condition)||
max_custom_length_condition (8)
ここで、min_custom_length_conditionはセグメントがあらかじめ定義された最小長に達したかどうかを示す述語を表わす。
【0081】
ある例示的実装では、規則その3は次のように定義される:
curr_error_condition && min_custom_length_condition (9)
いくつかの実施形態では、前方探索および後方探索は同じ停止規則の集合を使ってもよい。他のいくつかの実施形態では、前方探索および後方探索は停止規則の異なる集合を使ってもよい。いくつかの実施形態では、図2のブロック206に示されるように、連続性条件が強制されないときには、前方探索および後方探索の両方について規則その1が選択される。いくつかの実施形態では、図2のブロック208に示されるように、連続性条件が強制されるときは、前方探索については規則その1が選択され、後方探索については規則その2が選択される。
【0082】
ブロック210において、LUT近似モジュールは、前方探索アルゴリズムを用いて目標LUTの近似を実行する。前方探索アルゴリズムによる目標LUTの近似の結果は、ブロック212においてメモリに保存されてもよい。
【0083】
ブロック214では、LUT近似モジュールは、後方探索アルゴリズムを用いて目標LUTの近似を実行する。
【0084】
いくつかの実施形態では、前方探索アルゴリズムにおけるまたは後方探索アルゴリズムにおける目標LUTの近似は、以下の段階を含む。初期の誤差閾値tが一つまたは複数のアルゴリズムについて設定された後、二次多項式が、目標LUTによって表わされる再整形関数またはその逆関数の諸セグメントに当てはめされる。それらのセグメントへの二次多項式の当てはめは、一セグメントずつ、たとえば前方探索アルゴリズムでは左から右に、あるいは後方探索アルゴリズムでは右から左に、実行されることができる。各セグメントは、そのセグメントと対応する近似する多項式との間の当てはめ誤差が誤差閾値tを超えないよう、決定または選択されてもよい。セグメント数が二次多項式の数について設定された最大値に等しい場合には、曲線当てはめはうまく終わりに達している。他方、セグメント数が二次多項式の数について設定された最大値より小さい場合には、誤差閾値t(たとえばt=0.75tなど)が減らされる。セグメント数が二次多項式の数について設定された最大値に等しくなるまで、減らされた誤差閾値について上記の段階が繰り返される。
【0085】
ブロック216では、LUT近似モジュールは、後方探索アルゴリズムによる目標LUTの近似が、前方探索アルゴリズムによる目標LUTの近似より大きな誤差を生じるかどうかを判定する。
【0086】
後方探索アルゴリズムによる目標LUTの近似が、前方探索アルゴリズムによる目標LUTの近似より大きな誤差を生じると判定することに応答して、ブロック218において、LUT近似モジュールは、前方探索アルゴリズムによる目標LUTの近似を、目標LUTの近似(たとえば最終的な近似など)として選択する。
【0087】
後方探索アルゴリズムによる目標LUTの近似が、前方探索アルゴリズムによる目標LUTの近似より大きな誤差を生じないと判定することに応答して、ブロック220において、LUT近似モジュールは、後方探索アルゴリズムによる目標LUTの近似を、目標LUTの近似(たとえば最終的な近似など)として選択する。
【0088】
ブロック222において、LUT近似モジュールは、目標LUTを近似するための動作を終了する。
【0089】
任意の再整形関数を表わすまたは任意の再整形関数に基づいて生成される目標LUTの近似が、前方探索とそれに続く後方探索により実行されうることを述べた。これは単に例示目的のためである。さまざまな実施形態において、任意の再整形関数を表わすまたは任意の再整形関数に基づいて生成される目標LUTの近似は、後方探索を伴わない前方探索、前方探索を伴わない後方探索などの一つの探索を用いて実行されてもよい。追加的、任意的または代替的に、任意の再整形関数を表わすまたは任意の再整形関数に基づいて生成される目標LUTの近似が、後方探索とそれに続く前方探索により実行されてもよい。このように、任意の再整形関数を表わすまたは任意の再整形関数に基づいて生成される目標LUTを近似するこれらおよび他の変形が、本稿に記載される技法のもとで使用されうる。
【0090】
図3Aは、目標LUTを近似するための例示的なプロセス・フローを示している。一つまたは複数のコンピューティング装置、少なくとも部分的にはコンピューティング装置内のハードウェアにおいて実装される一つまたは複数のモジュールなどがこの方法を実行してもよい。たとえばビデオ処理装置内のLUT近似モジュール、たとえばビデオ・エンコーダ内の適応的再整形モジュール、ビデオ・デコーダ内の逆マッピング・モジュールなどが、図3Aのプロセス・フローの一部または全部を実行してもよい。
【0091】
ブロック302では、プロセス・フローは、転換点関係の変数、処理フラグ、収束関係の変数、たとえば外側ループにおける反復工程の最大数(たとえば20,30,40,50,60など)、探索誤差上限(たとえば最大誤差閾値tなどに初期化される)、ある反復工程において有効な近似が見つかったかどうかを示すフラグ(「found_CC」と記される)(たとえば偽などに初期化される)などの一つまたは複数を初期化することによって始まる。反復工程の最大数、探索誤差上限tなどは、再整形関数を近似することにおける歪みを最小化することをねらいとする収束制約条件であり、さまざまな実施形態において異なる値を取ってもよい(たとえば、システムによって構成設定可能、ユーザーによってオーバーライド可能、画像のトレーニング集合を用いて収集された統計に基づいてチューニング可能など)。いくつかの実施形態では、反復工程最大数が大きいほど、プロセス・フローは、再整形関数の近似における歪みを最小化するために、より努力する。いくつかの実施形態では、探索誤差上限tは、再整形関数の近似が(たとえば、反復工程の最大回数またはそれ未満の反復工程をもって)収束した場合の歪みについての天井を与える。
【0092】
ブロック304では、プロセス・フローは、ブロック302において偽(0)に初期化された収束フラグconverge_iterをもって外側ループにはいる。より具体的には、ブロック304では、収束フラグconverge_iterが真(1)に設定されているかどうかが判定される。
【0093】
収束フラグconverge_iterが真(1)に設定されていると判定することに応答して、ブロック306において、プロセス・フローは転換点、目標LUTを近似する多項式についての係数の最良の諸集合を返す。ブロック308では、プロセス・フローは終了する。
【0094】
収束フラグconverge_iterが偽(0)に設定されていると判定することに応答して、プロセス・フローは、内側ループ・パラメータの一つまたは複数をリセットし、たとえば、内側ループ・フラグconvergeを偽に、フラグfound_CCを偽に、変数num_pivot(たとえば現在の転換点数などを示す)を1にするなどして、偽(0)にリセットされた内側ループ・フラグconvergeをもって内側ループにはいる。より具体的には、ブロック310において、プロセス・フローは、内側ループ・フラグconvergeが真(1)に設定されているかどうかを判定する。
【0095】
内側ループ・フラグconvergeが偽に設定されていると判定することに応答して、プロセス・フローは処理フラグfound_one_segを偽(0)に初期化し、内側ループ反復工程カウントiter_cntを1に初期化し、多項式によって近似される新しいセグメントを加えるために第二のプロセス・フローを実行することに進み、図3Bに示される第二のプロセス・フローのブロック332に進む。第二のプロセス・フローは、ブロック310において内側ループ・フラグconvergeが真であると判定されるまで繰り返される。
【0096】
内側ループ・フラグconvergeが真に設定されていると判定することに応答して、ブロック314において、プロセス・フローは、外側ループ反復工程カウンタOut_iter_cntによって示される外側ループにおける反復工程数が、(たとえば一定の、などの)構成設定された値MAX_OUT_CNTによって示される外側ループにおける最大反復工程数を超えているかどうかを判定する。
【0097】
外側ループにおける反復工程数が外側ループにおける最大反復工程数を超えていると判定することに応答して、ブロック316において、収束フラグconverge_iterが真(1)に設定され、プロセス・フローはブロック304に進む。
【0098】
外側ループにおける反復工程数が外側ループにおける最大反復工程数を超えていないと判定することに応答して、ブロック318において、プロセス・フローは、変数num_pivotによって示される(たとえば現在の、などの)転換点数が、(たとえば一定の、などの)構成設定された値MAX_NUM_PIVOTによって示される最大転換点数(たとえば、多項式の最大数が8個なら最大9個の転換点、多項式の最大数が9個なら最大10個の転換点、など)を超えているかどうかを判定する。
【0099】
転換点数が最大転換点数を超えていないと判定することに応答して、ブロック320において、max_errorと記される探索誤差上限が小さくされ(たとえば、max_error=0.75max_errorなど)、プロセス・フローはブロック304に進む。
【0100】
転換点数が最大転換点数を超えていると判定することに応答して、ブロック316において、収束フラグconverge_iterが真(1)に設定され、プロセス・フローはブロック304に進む。
【0101】
図3Bは、収束フラグconvergenceが偽であると判定することに応答して図3Aのブロック310において呼び出されうる例示的な第二のプロセス・フローを示している。一つまたは複数のコンピューティング装置、少なくとも部分的にはコンピューティング装置内のハードウェアにおいて実装される一つまたは複数のモジュールなどがこの方法を実行してもよい。たとえばビデオ処理装置内のLUT近似モジュール、たとえばビデオ・エンコーダ内の適応的再整形モジュール、ビデオ・デコーダ内の逆マッピング・モジュールなどが、図3Bのプロセス・フローの一部または全部を実行してもよい。
【0102】
ブロック332では、第二のプロセス・フローは、処理フラグfound_one_segが真(1)に設定されているかどうかを判定する。処理フラグfound_one_segが偽に設定されていると判定することに応答して、第二のプロセス・フローはセグメント候補についての下限および上限を設定し、次いでブロック346に進む。
【0103】
いくつかの実施形態では、セグメント候補についての下限および上限を設定することは、セグメント候補についての下限と上限の間の水平距離を、内側ループ反復工程カウントiter_cntの現在値であるとして設定することを含む。結果として、複数内側ループ反復工程シナリオでは、フラグfound_one_segが偽(0)のままである限り、内側ループ反復工程カウントiter_cntが一つの内側反復工程から次の内側反復工程へとインクリメントするにつれて、セグメント候補は長さを増す。
【0104】
他方、処理フラグfound_one_segが真に設定されていると判定することに応答して、第二のプロセス・フローはブロック334に進む。しかしながら、ブロック332からブロック334に進む前に、第二のプロセス・フローはまず、変数num_pivotによって示される転換点数が構成設定された値MAX_NUM_PIVOTによって表わされる最大転換点数を超えているかどうかを判定する。転換点数が最大転換点数を超えていると判定することに応答して、フラグfound_CCが偽(0)に設定され、内側ループ・フラグconvergeが真(1)に設定される。
【0105】
ブロック334では、第二のプロセス・フローが、フラグfound_CCが真(1)に設定されているかどうかを判定することに進む。フラグfound_CCが偽(0)に設定されていると判定することに応答して、第二のプロセス・フローは図3Aのプロセス・フローにおけるブロック310に戻る。他方、フラグfound_CCが真(1)に設定されていると判定することに応答して、ブロック336において、第二のプロセス・フローは、探索方向値が前方探索または後方探索のどちらを示すかを判定する。探索方向値が後方探索を示すと判定することに応答して、ブロック338で、第二のプロセス・フローは、生成された転換点リスト内のエントリー、係数リスト内のエントリーなどを並べ替えまたは逆順にし、次いでブロック340に進む。探索方向値が前方探索を示していると判定することに応答して、第二のプロセス・フローは、生成された転換点リスト内のエントリー、係数リスト内のエントリーなどを並べ替えたり逆順にしたりすることなく、直接、ブロック340に進む。
【0106】
ブロック340では、第二のプロセス・フローは、生成された転換点リスト内のエントリー、係数リスト内のエントリーなどを用いて定義される多項式に基づいて、生成されたLUTを再構成し、目標LUTと生成されたLUTとの間の最大誤差max_diffを計算する。ブロック342では、第二のプロセス・フローは、最大誤差max_diffが前の最良の最大誤差prev_best_max_errorを超えないかどうかを判定する。
【0107】
最大誤差max_diffが前の最良の最大誤差prev_best_max_errorを超えないと判定することに応答して、生成された転換点リスト内のエントリー、生成された係数リスト内のエントリーなどが現在の最良の諸転換点、現在の最良の諸係数などとして保存され、第二のプロセス・フローは図3Aのプロセス・フローにおけるブロック310に進む。
【0108】
最大誤差max_diffが前の最良の最大誤差prev_best_max_errorを超えていると判定することに応答して、生成された転換点リスト内のエントリー、生成された係数リスト内のエントリーなどは現在の最良の諸転換点、現在の最良の諸係数などとして保存されず、第二のプロセス・フローは図3Aのプロセス・フローにおけるブロック310に進む。
【0109】
ブロック346では、第二のプロセス・フローは、連続性条件フラグcontinuity_conditionが偽(0)に設定されているか、あるいは変数num_pivotが1に設定されているかどうかを判定する。フラグcontinuity_conditionが偽に設定されているときは、先に論じた連続性条件または連続性制約条件は強制されない。フラグcontinuity_conditionが真(1)に設定されているときは、先に論じた連続性条件または連続性制約条件は強制される。
【0110】
連続性条件が強制され、変数num_pivotが1であると判定することに応答して、第二のプロセス・フローはブロック348に進む。いくつかの実施形態では、変数num_pivotは、図3Aのプロセス・フローがブロック304からブロック310によって表わされる内側ループにはいる前に1に初期化されており、その後、内側ループにおいて、多項式によって近似される新たな(たとえば有効な、などの)セグメントが決定または選択されるたびに1だけインクリメントされる。このように、変数num_pivotが1でないときは、第二のプロセス・フローは、ブロック346において、少なくとも一つの多項式によって近似された少なくとも一つのセグメントがすでに決定/選択されている反復工程を扱っている。
【0111】
いくつかの実施形態では、入力符号語値(たとえばLUTの鍵と値の対における鍵など)をマッピングされた符号値(たとえばLUTの鍵と値の対における値など)にマッピングする目標LUT、非目標LUTなどといったLUTが、横軸が入力符号語値を表わし、縦軸がマッピングされた符号語値を表わす座標系(たとえばデカルト座標系など)において表現されてもよい。目標LUTの最後のセグメントを近似することにおいて使われた最後の多項式は、目標LUTにおける次のエントリー(たとえば、座標系における最後のセグメントに続く次のデータ点など)における入力符号値に基づいて、マッピングされた符号語値を計算するために、使われてもよい。次のエントリーにおける入力符号値と最後の多項式を用いて計算されたその対応するマッピングされた符号語値との組み合わせが、連続性条件または制約条件を強制する目的のためのセグメント候補のための参照(転換点)点として使われてもよい。
【0112】
ブロック348では、第二のプロセス・フローは、少なくとも部分的には最後のセグメントを近似する最後の多項式から生成された参照(転換点)点に関して現在のセグメント(たとえば前記セグメント候補など)を中心にする。ブロック348においてセグメント候補を中心にすることは、座標系を、参照点の新しい横座標値および縦座標値の一方または両方が0である新しい座標系に変換する(たとえば平行移動など)ことによって達成されてもよい。ブロック350では、第二のプロセス・フローは、セグメント候補におけるデータ点の数が三つ以上であるかどうかを判定する。セグメント候補におけるデータ点の数が三つ以上であると判定することに応答して、ブロック352では、第二のプロセス・フローは、セグメント候補を近似する二次多項式を、目標LUTからセグメント候補内のデータ点に基づいて生成する。セグメント候補におけるデータ点の数が三つ未満であると判定することに応答して、ブロック354では、第二のプロセス・フローは、セグメント候補を近似する一次多項式を、目標LUTからセグメント候補内のデータ点に基づいて生成する。ブロック356では、第二のプロセス・フローは、前記新しい座標系を前記座標系に逆変換して戻すことによって、(前記新しい座標系を用いて導出された、などの)前記一次または二次多項式からセグメント候補を近似する(前記新しい座標系に変換される前の座標系における、などの)現在の多項式の係数を解析的に導出する。
【0113】
ブロック346において、目標LUTを近似する際に連続性条件が強制されないことまたは変数num_pivotが1であることを判定することに応答して、第二のプロセス・フローはブロック358に進む。第二のプロセス・フローは、ブロック350、352および354の動作と同様の動作をブロック358、360および362において実行する。
【0114】
図3Bに示されるように、第二のプロセス・フローはブロック356、360または362のうちの一つからブロック364に進む。ブロック364では、第二のプロセス・フローは、「次の転換点」と記される現在のセグメントの上限が目標LUTにおける最後の可能な(データ)点またはエントリーであるかどうかを判定する。現在のセグメントの上限が目標LUTにおける最後の可能な(データ)点またはエントリーであると判定することに応答して、第二のプロセス・フローは現在のセグメントを完了し、フラグfound_one_segを真(1)に、フラグconvergeを真(1)に、フラグfound_CCを偽(0)に、などと設定し、ブロック332に進む。
【0115】
現在のセグメントの上限が目標LUTにおける最後の可能な(データ)点またはエントリーでないと判定することに応答して、第二のプロセス・フローは、現在のセグメント(またはセグメント候補)が近似動作のために設定された停止規則(たとえば、規則1、規則2、規則3などのうちのゼロ個、一つまたは複数)を充足するかどうかを判定する。現在のセグメント(またはセグメント候補)が停止規則を充足すると判定することに応答して、ブロック372において、第二のプロセス・フローは変数num_pivotを1だけインクリメントし、フラグfound_one_segを真(1)に、フラグfound_CCを偽(0)になどと設定し、ブロック332に進む。他方、現在のセグメント(またはセグメント候補)が停止規則を充足しないと判定することに応答して、ブロック372において、第二のプロセス・フローは変数、フラグfound_one_segを偽(0)に、フラグfound_CCを偽(0)になどと設定し、ブロック332に進む。
【0116】
第二のプロセスがブロック368、372および374のいずれかからブロック332に進む前に、内側ループ反復工程カウントiter_cntが1だけインクリメントされる。ブロック374の場合のようにフラグfound_one_segが偽のままであるときは、次の反復工程についてのセグメント候補の長さは、内側ループ反復工程カウントが次の反復工程のはじめにインクリメントされるので、インクリメントされる。その長くなったセグメント候補は、上記で論じたように、ブロック352、354、360または362において、多項式によって、次の反復工程において近似される。
【0117】
本稿に記載される技法のもとでの適応的再整形は、多様な再整形関数またはその逆関数、解析関数または非解析的な関数を表わすLUTなどの一つまたは複数を用いて実行されることができる。再整形関数またはその逆関数を使う場合、それらの技法は、知覚的品質を高めるよう冪関数についての指数値などのような適応的再整形パラメータを具体的に選択するために使われることができる。
【0118】
いくつかの実施形態では、源ビデオ・コンテンツ、中間ビデオ・コンテンツ、出力ビデオ・コンテンツなどといったビデオ・コンテンツは、知覚的に量子化された(PQ)色空間などのような非線形な色空間においてエンコードされてもよい。PQ色空間は、ビデオ・コンテンツをエンコードするための利用可能なPQ符号語の集合を有していてもよい。PQ色空間における異なるPQ符号語は、ルミナンス値とともに線形にスケーリングされなくてもよく、ルミナンス値における変動する量子化きざみに対応してもよい。たとえば、PQ色空間は、暗いルミナンス値の領域ではより多くの符号語を、明るいルミナンス値の領域ではより少数の符号語を割り当ててもよい。PQ色空間、変換、マッピング、伝達関数などのいくつかの例は、ここに参照によってその全体において組み込まれる非特許文献1に記載されている。
【0119】
本稿に記載される技法は、入力ビデオ・コンテンツ(たとえば源ビデオ・コンテンツ、PQエンコードされたビデオ・コンテンツ、利用可能な符号語の比較的大きな集合をもつビデオ・コンテンツなど)を適応的に整形して、再整形された符号語の比較的限られた集合を有する再整形関数(たとえば前方冪関数など)をもってエンコードされた再整形されたビデオ・コンテンツにするために使われてもよい。かかる再整形されたビデオ・コンテンツは、次いで、比較的低ビット深さのビデオ信号において搬送できる。
【0120】
本稿に記載される再整形された符号語の比較的限られた集合は、明るい視覚的特徴の大きな領域(たとえば、空、窓、磨かれた金属、飛行機、自動車など)を含む画像のような比較的なめらかな明るい画像、比較的なめらかな明るいシーンなどについての高ルミナンス値の領域においてより多くの符号語を割り当ててもよい。再整形関数において高ルミナンス値の領域においてより多くの符号語を割り当てることは、それらの画像、シーンなどにおける色バンド生成などのような視覚的アーチファクトを軽減するまたは防止する。いくつかの実施形態では、前方冪関数によって表わされる(たとえば前方などの)再整形関数について、比較的大きな指数値が選択されてもよい。前方冪関数への比較的大きな指数値(たとえば、1.6、1.7、バンド生成アーチファクトが解消される比較的大きな値など)は、明るい領域を表わすビデオ・コンテンツ部分を再整形するために、比較的より多くの符号語を提供する。逆に、(たとえば前方などの)再整形関数の逆関数(たとえば後方冪関数など)は、前方冪関数における指数値の逆数である比較的小さな指数値を使ってもよい。比較的大きな指数値をもつ前方冪関数を用いて整形された、受領された適応的に整形されたビデオ信号に基づいて、事前再整形されたビデオ・コンテンツのバージョンを再構成する目的のためである。
【0121】
本稿に記載される再整形された符号語の比較的限られた集合は、大きな暗い視覚的特徴(たとえば、影、星空、夜、明かりを落とした屋内など)を含む画像のような比較的暗い画像、比較的暗いシーンなどについての低ルミナンス値の領域においてより多くの符号語を割り当ててもよい。再整形関数において低ルミナンス値の領域においてより多くの符号語を割り当てることは、それらの画像、シーンなどにおける画像詳細または特徴を保存する助けになる。いくつかの実施形態では、前方冪関数によって表わされる(たとえば前方などの)再整形関数について、比較的小さな指数値が選択されてもよい。前方冪関数への比較的小さな指数値(たとえば、1.0、暗い画像詳細が保存される比較的小さな値など)は、暗い領域を表わすビデオ・コンテンツ部分を再整形するために、比較的より多くの符号語を提供する。逆に、(たとえば前方などの)再整形関数の逆関数(たとえば後方冪関数など)は、前方冪関数における指数値の逆数である比較的大きな指数値を使ってもよい。比較的小さな指数値をもつ前方冪関数を用いて整形された、受領された適応的に整形されたビデオ信号に基づいて、事前再整形されたビデオ・コンテンツのバージョンを再構成する目的のためである。
【0122】
中間トーンにおいて最も多くのオブジェクトまたは特徴を描く他の画像、シーンなどについては、再整形された符号語は、ルミナンス値に関して、より一様に分配されてもよい。たとえば、前方冪関数は1.3、1.4などの指数値を使ってもよい。
【0123】
前述した指数値は単に例解目的のためであることは注意しておくべきである。再整形関数の少なくとも一部において冪関数が使われる場合、これらおよび他の指数値は、画像型などを含むがそれに限られない多様な因子に基づいて採用されてもよい。追加的、任意的または代替的に、冪関数以外の関数、関係などが、再整形関数の少なくとも一部において使われることができる。これらの他の関数について、前述した指数値および他の指数値が採用されてもよい。
【0124】
画像、シーンなどが該画像、シーンなどの再構成されたバージョンにおいて輪郭生成/バンド生成アーチファクトを生じやすい潜在的な明るい領域をもつかどうかを判定するために、多様な画像処理アルゴリズムの一つまたは複数が、本稿に記載される技法のもとで実装されてもよい。いくつかの実施形態では、画像、シーンなどにおける各画像は、複数の重なり合わないN×Nブロック(N×Nピクセルを含む。ここでNは2,4,6,8,16などのような正の整数)に分割されてもよい。それらのブロックのいくつかまたは全部のそれぞれにおいて、ブロック内の最小値、最大値、平均値などが計算/決定されてもよい。図4Aは、そのような画像(またはフレーム)、シーンなどがなめらかな明るい領域を含むかどうかを判定するための例示的アルゴリズムを示している。ブロックにおける最大値と最小値との間の差が計算され、差の閾値(Teと記される)と比較されることができる。差が閾値(Te)より小さければ、ブロックは、潜在的にバンド生成アーチファクトを生じやすいなめらかなブロックとして分類されてもよい。追加的、任意的または代替的に、明るい領域を定量化または識別するために、ブロックの平均値が平均値閾値(Tbと記される)と比較されてもよい。平均値が閾値(Tb)を超える場合、ブロックは明るいブロックとして分類されてもよい。画像、シーンなどにおけるなめらかな明るいブロックの数が、画像、シーンなどの上記の解析に基づいて決定できる。画像中のなめらかな明るいブロックの数が、ブロック総数のある割合(Pbと記される)より多くをなす場合には、画像(または画像フレーム)は、なめらかな明るい領域をもつ画像と考えられてもよい。
【0125】
画像(またはフレーム)、シーンなどが比較的大きな暗い領域をもつかどうかを判定するために、多様な画像処理アルゴリズムの一つまたは複数が、本稿に記載される技法のもとで実装されてもよい。図4Bは、そのようなアルゴリズムを示している。いくつかの実施形態では、画像、シーンなどにおけるいくつかのまたはすべてのピクセルのうちで、あるルミナンス閾値(Tdと記される)より小さなルミナンス値をもつ暗いピクセルの総数が決定される。暗いピクセルの総数がある割合(Pdと記される)より多い場合には、画像、シーンなどは大きな暗い領域を含むものとして分類される。
【0126】
図4Cは、画像(またはフレーム)、シーンなどが大きな暗い領域をもつかどうかを判定するためのもう一つの例を示している。ブロックにおける最大値と最小値との間の差が計算されることができる。差が0であるか、あるいはいくつかの場合には小さな差の閾値より小さい場合には、そのブロックは純粋に黒のブロックとして分類されて無視されてもよい。他方、差が0でなければ、あるいはいくつかの実施形態では小さな差の閾値以上であれば、そのブロックは純粋に黒ではないブロックとして分類される。ブロックの平均値が第二の平均値閾値(Tsと記される)と比較されてもよい。追加的、任意的または代替的に、ブロックにおける標準偏差値も計算されて、標準偏差閾値(Tstdと記される)と比較されてもよい。平均値が第二の平均値閾値(Ts)未満であり、標準偏差値が標準偏差閾値(Tstd)未満であれば、そのブロックはなめらかな暗いブロックとして分類されてもよい。なめらかな暗い領域が次いで、少なくともある数(たとえば8個、10個、16個、2より大きな異なる正の整数個など)のなめらかな暗いブロックが該ある数のなめらかな暗いブロックの間で接続されたものを含む領域として識別されることができる。画像中の最大のなめらかな暗い領域が、画像から識別されたゼロ個、一つまたは複数のなめらかな暗い領域のうちで判別されることができる。画像中の最大のなめらかな暗い領域における暗いなめらかなブロックの数が、ブロック総数のある割合(Pbdと記される)より多くをなすことができる場合には、画像(または画像フレーム)は、なめらかな暗い領域をもつ画像と考えられてもよい。
【0127】
いくつかの実施形態では、本稿に記載されるコーデックは、適応的再整形パラメータの異なる候補集合に基づいて、複数の候補LUTを事前計算してもよい。たとえば、再整形関数が冪関数に基づく実施形態では、適応的再整形パラメータの各候補集合は、源ビデオ信号によってサポートされるダイナミックレンジの上限、源ビデオ信号によってサポートされるダイナミックレンジの下限、指数値などを含んでいてもよい。対応する候補LUTが、少なくとも部分的には適応的再整形パラメータのその候補集合に基づいて、事前計算されてもよい。同様に、候補再整形関数の逆関数を表わす候補LUTが、適応的再整形パラメータの候補集合に基づいて事前計算されてもよい。追加的、任意的または代替的に、再整形関数およびその逆関数を表わしうる一つまたは複数の目標LUTを近似するために、多項式の一つまたは複数の候補集合が、対応する候補多項式係数の一つまたは複数の候補集合、転換点などとともに、事前計算されてもよい。事前計算されるとした上記の一部または全部がメモリに保存されてもよい。たとえば、計算されるべき候補アルファ値は、0.5、0.6、0.7、0.8、0.9、1.0、1.1、1.2、1.3、1.4、1.5、1.6、1.7、1.8、1.9などの任意のものを含みうるが、それに限られない。1.0のアルファ値はLUTを必要としなくてもよいことを注意しておく。その場合の再整形関数は線形関数だからである。いくつかの実施形態では、候補LUTは、(たとえば隣り合う符号語値の対などによって表わされる)異なる量子化きざみをもつLUTを含んでいてもよい。画像がエンコーダにおいて再整形されているまたはデコーダにおいてマッピングされているランタイムには、画像の実際の内容に基づいて計算された統計に基づいて、候補LUT(または候補多項式係数をもつ候補多項式、転換点など)が複数のLUTのうちから、適応的再整形または対応する逆マッピングを適用する目的のためのLUT(または前記多項式係数をもつ前記多項式、転換点など)として、選択されてもよい。
【0128】
いくつかの実施形態では、多項式係数、転換点などのいくつかまたは全部は、本稿に記載される技法のもとでは、4バイト(たとえば、整数のために1バイト、端数点のために3バイトなど)などある数のバイトで表現されてもよい。
【0129】
LUT(または前記多項式係数、転換点などをもつ前記多項式)は、画像から画像へ、シーンからシーンへなどと、適応的に決定されうる。
【0130】
〈6.例示的なプロセス・フロー〉
図5Aは、例示的なプロセス・フローを示している。いくつかの実施形態では、一つまたは複数のコンピューティング装置またはコンポーネントがこのプロセス・フローを実行しうる。ブロック502では、ビデオ・エンコーダ(たとえば図1Aの102)が源画像のシーケンスを受領し;ビデオ・エンコーダ(102)は源画像のシーケンスにおける一つまたは複数の源画像に基づいて一つまたは複数の統計値を計算する。
【0131】
ブロック504では、ビデオ・エンコーダ(102)は、前記一つまたは複数の統計値に基づいて、前記一つまたは複数の源画像についての適応的再整形関数を選択する。
【0132】
ブロック506では、ビデオ・エンコーダ(102)は、少なくとも部分的には選択された適応的再整形関数に基づいて、源ビデオ・コンテンツの一部を適応的に再整形して、再整形されたビデオ・コンテンツの一部を生成する。源ビデオ・コンテンツの前記一部は、前記一つまたは複数の源画像によって表わされる。
【0133】
ブロック508では、ビデオ・エンコーダ(102)は、選択された適応的再整形関数の逆関数の近似を生成する。
【0134】
ブロック510では、ビデオ・エンコーダ(102)は、前記再整形されたビデオ・コンテンツと、前記選択された適応的再整形関数の逆関数の前記近似を定義する適応的再整形パラメータの集合とを、再整形されたビデオ信号にエンコードする。
【0135】
ある実施形態では、前記再整形されたビデオ・コンテンツの前記一部は、一つまたは複数の再整形された画像を含む。
【0136】
ある実施形態では、前記一つまたは複数の源画像はシーンを形成する。
【0137】
ある実施形態では、前記一つまたは複数の統計値は、前記一つまたは複数の源画像における源符号語に基づいて決定される最大値、最小値、平均値、中央値、アベレージ値、標準偏差値などの少なくとも一つを含む。
【0138】
ある実施形態では、前記選択された適応的再整形関数または前記選択された適応的再整形関数の逆関数の少なくとも一方が、解析関数、非解析的な関数、ルックアップテーブル(LUT)、シグモイド関数、冪関数、区分的関数などの一つまたは複数を含む。
【0139】
ある実施形態では、前記選択された適応的再整形関数の逆関数の前記近似は、多項式の集合によって表わされる。
【0140】
ある実施形態では、前記多項式の集合における多項式の総数は、ある数閾値未満に制限される。
【0141】
ある実施形態では、前記多項式の集合における多項式についての係数が、それらの多項式によって与えられる値と、前記選択された適応的再整形関数の逆関数を表わす目標ルックアップテーブル(LUT)において与えられる値との間の差を最小にすることに基づいて決定される。
【0142】
ある実施形態では、ビデオ・エンコーダ(102)はさらに、前記選択された適応的再整形関数の逆関数について決定された関数の型に基づいて、前記多項式の集合を生成するための連続性条件を選択するよう構成される。
【0143】
ある実施形態では、前記多項式の集合は、前記一つまたは複数の源画像が適応的再整形のために処理される前に事前決定される。
【0144】
ある実施形態では、前記多項式の集合は、前記一つまたは複数の源画像が適応的再整形のために処理されている間に動的に決定される。
【0145】
ある実施形態では、ビデオ・エンコーダ(102)はさらに、前記一つまたは複数の源画像を、なめらかな明るい領域を含む画像、なめらかな暗い領域を含む画像または中間トーン画像のうちの一つとして分類するよう構成される。
【0146】
ある実施形態では、源ビデオ・コンテンツの前記一部は、色空間の複数のチャネルにおける一つまたは複数のチャネルについて、再整形されたビデオ・コンテンツの前記一部に適応的に再整形される。
【0147】
ある実施形態では、前記一つまたは複数のチャネルはルミナンス関係のチャネルを含む。
【0148】
ある実施形態では、前記再整形されたビデオ信号は、二チャネル8ビット・ビデオ信号または単一チャネル10ビット・ビデオ信号の一方である。
【0149】
ある実施形態では、前記再整形されたビデオ信号は:先進ビデオ符号化(AVC)エンコーダ、動画像専門家グループ(MPEG)-2エンコーダまたは高効率ビデオ符号化(HEVC)エンコーダのうちの少なくとも一つによって生成される。
【0150】
ある実施形態では、源画像の前記シーケンスは知覚的にエンコードされる。
【0151】
ある実施形態では、源ビデオ・コンテンツの前記一部は、前記選択された適応的再整形関数のいかなる近似も使うことなく、再整形されたビデオ・コンテンツの前記一部に適応的に再整形される。
【0152】
図5Bは、例示的なプロセス・フローを示している。いくつかの実施形態では、一つまたは複数のコンピューティング装置またはコンポーネントがこのプロセス・フローを実行しうる。ブロック552では、ビデオ・デコーダ(たとえば図1Aの152)が、再整形されたビデオ信号から、再整形されたビデオ・コンテンツと、適応的再整形関数の逆関数に関係した適応的再整形パラメータの集合とを取得する。前記再整形されたビデオ・コンテンツは上流装置によって、少なくとも部分的には前記適応的再整形関数に基づいて生成されている。
【0153】
ブロック504では、ビデオ・デコーダ(152)は、少なくとも部分的には前記適応的再整形関数の逆関数に基づいて、前記再整形されたビデオ・コンテンツの一部を逆マッピングして、再構成されたビデオ・コンテンツの一部を生成する。
【0154】
ブロック506では、ビデオ・デコーダ(152)は、少なくとも部分的には再構成されたビデオ・コンテンツの前記一部に基づいて、再構成された画像のシーケンスを生成する。再構成された画像の前記シーケンスは、前記再整形されたビデオ・コンテンツを生成するために前記上流装置によって使われた源画像のシーケンスの再構成されたバージョンを表わす。
【0155】
ある実施形態では、ビデオ・デコーダ(152)はさらに、前記複数の再構成された画像をディスプレイ・システムにおいてレンダリングするよう構成される。
【0156】
ある実施形態では、ビデオ・デコーダ(152)はさらに:少なくとも部分的には再整形されたビデオ信号からの適応的再整形関数の逆関数に関係した適応的再整形パラメータの前記集合に基づいて、前記適応的再整形関数の逆関数を表わす目標ルックアップテーブル(LUT)の近似を確立することなどを実行するよう構成される。
【0157】
さまざまな例示的実施形態において、エンコーダ、デコーダ、トランスコーダ、システム、装置または一つまたは複数の他のコンピューティング装置が、上記の方法の任意のものまたは一部を実行する。ある実施形態では、非一時的なコンピュータ可読記憶媒体が、一つまたは複数のプロセッサによって実行されたときに本稿に記載される方法の実行を引き起こすソフトウェア命令を記憶する。
【0158】
本稿では別個の実施形態が論じられているが、本稿で論じられる実施形態および/または部分的実施形態の任意の組み合わせが組み合わされてさらなる実施形態をなしてもよいことを注意しておく。
【0159】
〈7.リアルタイムの最適化〉
先に論じたように、二次多項式を使って再整形関数の区分的な近似を生成する方法は、次のように要約できる:始点を与えられて、再整形曲線に沿ったセグメントを同定するために探索が実行される。一組の終了条件が満たされれば、転換点が設定され、新たな探索が開始され、これが曲線全体がセグメント化されるまで行なわれる。このプロセスは以下のように細分できる:(1)諸候補転換点についての各セグメントについて多項式係数を計算する、(2)各候補について近似誤差を決定する、(3)近似誤差が目標閾値より小さければ、そのセグメントを有効と宣言して、末尾転換点をそのセグメントのために設定する。(4)すべてのセグメントが同定されたら、プロセスは、近似多項式の精度を改善するために、より小さな目標閾値を使って繰り返されてもよい。
【0160】
計算上の観点からは、段階(1)が最も時間がかかり、その次は段階(4)である。発明者らによって認識されたところでは、いくつかの実施形態は、潜在的な精度低下を代償としてでもリアルタイムの実装を必要とすることがある。本節では、そのようなリアルタイム実装のための多様な改善が提示される。それらの改善は二つのクラスに分けられる:a)全く精度を失うことなく各セグメント内で多項式係数を計算するためのより高速な方法と、b)より高速な収束方法、すなわち(何らかの基準に従って)最良の近似セグメントを同定するために必要とされる全体的な反復工程数を減らすことである。
【0161】
連続性制約条件なしでの高速多項式解法
一般性を失うことなく、二次多項式
【数4】
によって近似される曲線のp番目のセグメントを考える。ここで、sp,iは、p番目の多項式セグメントに対応する標準的な(またはより低い)ダイナミックレンジ(SDRまたはLDR)のi番目の再整形されたピクセル値を表わす。viは対応する、共位置のもとの高ダイナミックレンジ(HDR)ピクセル値であるとする。^付きのvp,iは対応する、共位置の予測されたHDRピクセル値であるとする。多項式のp番目のセグメントはSp,L(L)からSp,H(H)までの範囲のSDR値をもつとする。ここで、現在のp番目のセグメントにおいてLは低転換点インデックスであり、Hは高転換点インデックスである(簡単のため、LおよびHからはpインデックスは落としている)。ある実施形態では、式(10)における多項式のパラメータ(j=0,1,2についてのmp,j)は、最小二乗解法を使って次のように計算されうる。
【0162】
式(10)はベクトル行列形式で次のように書き直すことができる。
【0163】
【数5】
最小二乗解は次式によって与えられる。
【0164】
【数6】
ここで、
【数7】
はもとのHDRピクセルのベクトルを表わす。議論を簡単にするため、さらにBp行列およびベクトルapを次のように定義する。
【0165】
【数8】
Bp行列について、その要素のそれぞれは次のように計算できる。
【0166】
【数9】
apベクトルについては、
【数10】
とすると、各要素は次のように計算できる。
【0167】
【数11】
式(14)から、Bp行列の要素の計算は次の因子を計算することを要する。
【0168】
【数12】
しかしながら、spi値は有限であり、規格化されているならたとえば[0,1]の範囲内、規格化されていないなら[0,2bit-depth−1]の範囲内である。よって、ある実施形態では、式(11)を解くための計算時間は、次のような事前計算されたルックアップテーブル(LUT)を使うことによって改善できる。
【0169】
【数13】
ここで、β[i,j]についてのインデックスi、jはi=[0,Max]およびj[0,4]の範囲であり、Maxは特定のビデオ・シーケンスにおける最大可能なピクセル値である。
【0170】
上記のLUTから、sLとsHの間の任意の値pについて、Bp行列は次のように計算できる。
【0171】
【数14】
下側転換点が0であるとき、式(14)にL=0を代入して、Bp行列を次式を使って計算してもよい。
【0172】
【数15】
ベータLUTについて同じプロセスをたどると、アルファ(α)(Max+1)×4のLUTを次のように定義してもよい。
【0173】
【数16】
すると、apベクトルの要素は、アルファLUTを用いて次のように計算されうる。
【0174】
【数17】
L=0については、式(21)は次のように簡単にできる。
【0175】
【数18】
まとめると、表1は、多項式係数の、より高速な計算のための段階を、擬似コードにおいて示している。
【0176】
表1:連続性制約条件なしでの多項式パラメータのための高速解法
【表1】
連続性制約条件を伴う高速多項式解法
連続性制約条件のもとでは、接続された諸区分が連続的になるよう、p番目の多項式の始点はp−1番目の多項式の終点につながっているよう強制される。sp-1がp−1番目のセグメントについての終わりのSDR値を表わすとする。すると、対応するHDR予測値は次のように計算されうる。
【0177】
【数19】
sp,i=sp-1であれば単一の予測された値〔^付きのvp-1〕があるべきであるという制約条件のもとで、予測多項式は次のように導出できる。
【0178】
【数20】
これは上記と同様に次のように表わせる。
【0179】
【数21】
前方セグメント探索の間は、p−1番目のセグメントはp番目のセグメントの前にあり、よってp−1番目のセグメントの終点がp番目のセグメントの開始点と一致しなければならないことを注意しておく。しかしながら、逆方向セグメント探索の間は、p−1番目のセグメントはp番目のセグメントの後にあり、よってp−1番目のセグメントの開始点がp番目のセグメントの終点と一致しなければならない。
【0180】
式(24)を与えられると、上記と同様のアプローチをたどって、ある実施形態では、この方程式への解は表2の段階をたどって導出されうることを証明できる。
【0181】
表2:連続性制約条件があるときの多項式パラメータのための高速解法
【表2】
より速い収束のための適応的な終了条件
先述したように、近似アルゴリズムは、連続的に多項式セグメントを探していくことによって機能する。これは始点から始まり、曲線に沿って諸候補終点を試す;曲線におけるいずれか一つの点によって終了条件が満たされれば、アルゴリズムは転換点の終わりをその点として設定し、新たな探索を開始する。先述したように、いずれかのセグメントについての終了条件は次のようなものである。
【0182】
規則その1:
(prev_error_condition && curr_error_condition)||
max_custom_length_condition
すなわち、
i.二つの連続する閾値処理検出器の間に上昇エッジがある。すなわち現在の当てはめ誤差は誤差閾値より小さく、かつ一つ少ない点を使った当てはめは該閾値より大きな誤差を与える、または
ii.セグメントがあらかじめ定義された最大長より長い。
【0183】
規則その2:
(curr_error_condition && min_custom_length_condition)||
max_custom_length_condition
すなわち、
i.現在の当てはめ誤差は誤差閾値より小さく、かつセグメントが少なくともあるあらかじめ定義された最小長さであるべきである、または
ii.当該セグメントがあらかじめ定義された最大長より長い。
【0184】
規則その3:
curr_error_condition && min_custom_length_condition
すなわち、
i.現在の当てはめ誤差は誤差閾値より小さい、かつ
ii.当該セグメントがあらかじめ定義された最小長さを満たす。
【0185】
ある実施形態では、誤差閾値は固定値から出発し、各反復工程の終わりにはk倍によって小さくされる(k<1、たとえばk=0.75)。探索は、反復工程の最大回数(n)が行なわれるまで続けられる。
【0186】
ある実施形態では、もとの誤差閾値(th)を与えられて、各反復工程において、閾値は、固定した割合だけ小さくされる(たとえば、th=k*th、k<1)。最適な解が誤差0をもつという最悪ケースのシナリオを想定すると、各反復工程におけるk倍の誤差縮小では、n回の反復工程を与えられると、この戦略は、少なくともkn倍最適に近づいた解を生じることが保証される。表3は、より高速だが最適でない収束を提供する別の実施形態に基づく誤差目標を調整する例示的方法を与えている。
【0187】
表3:適応的な誤差閾値の調整
【表3】
kの大きな値ほど誤差性能を改善するが速度が代償となることが観察された。
【0188】
いくつかのフレームについては、誤差は定数値に収束することが観察された。その後は、反復工程を続けることは誤差性能の点で追加的な意義はない。このシナリオは、もう一つの終了条件を追加することによって防止できる:
規則その4:
i.直前の反復工程における最良の誤差(たとえばefit(t−1))が(閾値範囲内で)現在の反復工程における最良の誤差(たとえばefit(t))に等しい(たとえば|efit(t)−efit(t−1)|<th2)場合は終了する。
【0189】
追加された終了条件は、誤差閾値を減らすことに関する性能において改善がないと見出す場合には、アルゴリズムが追加的な反復工程で探索することを止める。この条件の追加は、画像に対して後方再整形関数を適用した後にいかなる有意な視覚的アーチファクトも導入しないことが観察された。
【0190】
後方再整形LUTの構築
後方LUTはデコーダが後方マッピングをデコードすること、すなわちはいってくる再整形された(SDR)値をもとのHDR値にマッピングすることができるようにする複数のHDR値が単一のSDR値にマッピングされることができるので、ある実施形態では、限定なしに、中間のHDR値が選択される。表4は、擬似コードにおいて、後方再整形LUTの構築を記述している。
【0191】
表4:後方再整形LUTの構築
【表4】
〈8.実装機構――ハードウェアの概観〉
ある実施形態によれば、本稿に記載される技法は、一つまたは複数の特殊目的コンピューティング装置によって実装される。特殊目的コンピューティング装置は、本技法を実行するよう固定構成とされていてもよいし、あるいは本技法を実行するよう持続的にプログラムされた、一つまたは複数の特定用途向け集積回路(ASIC)またはフィールド・プログラマブル・ゲート・アレイ(FPGA)のようなデジタル電子デバイスを含んでいてもよいし、あるいはファームウェア、メモリ、他の記憶または組み合わせにおけるプログラム命令に従って本技法を実行するようプログラムされた一つまたは複数の汎用ハードウェア・プロセッサを含んでいてもよい。そのような特殊目的コンピューティング装置は、カスタムの固定構成論理、ASICまたはFPGAをカスタムのプログラミングと組み合わせて本技法を達成してもよい。特殊目的コンピューティング装置はデスクトップ・コンピュータ・システム、ポータブル・コンピュータ・システム、ハンドヘルド装置、ネットワーキング装置または本技法を実装するために固定構成および/またはプログラム論理を組み込んでいる他の任意の装置であってもよい。
【0192】
たとえば、図6は、本発明のある例示的実施形態が実装されうるコンピュータ・システム600を示すブロック図である。コンピュータ・システム600は、情報を通信するためのバス602または他の通信機構と、情報を処理するための、バス602に結合されたハードウェア・プロセッサ604とを含む。ハードウェア・プロセッサ604はたとえば汎用マイクロプロセッサであってもよい。
【0193】
コンピュータ・システム600は、ランダム・アクセス・メモリ(RAM)または他の動的記憶装置のような、情報およびプロセッサ604によって実行されるべき命令を記憶するための、バス602に結合されたメイン・メモリ606をも含む。メイン・メモリ606はまた、一時変数または他の中間的な情報を、プロセッサ604によって実行されるべき命令の実行の間、記憶しておくために使われてもよい。そのような命令は、プロセッサ604にとってアクセス可能な非一時的な記憶媒体に記憶されたとき、コンピュータ・システム600を、前記命令において指定されている処理を実行するようカスタマイズされた特殊目的機械にする。
【0194】
コンピュータ・システム600はさらに、バス602に結合された、静的な情報およびプロセッサ604のための命令を記憶するための読み出し専用メモリ(ROM)608または他の静的記憶装置を含む。磁気ディスクまたは光ディスクのような記憶装置610が提供され、情報および命令を記憶するためにバス602に結合される。
【0195】
コンピュータ・システム600は、コンピュータ・ユーザーに対して情報を表示するための、液晶ディスプレイ(LCD)のようなディスプレイ612にバス602を介して結合されていてもよい。英数字その他のキーを含む入力装置614が、情報およびコマンド選択をプロセッサ604に伝えるためにバス602に結合される。もう一つの型のユーザー入力装置は、方向情報およびコマンド選択をプロセッサ604に伝えるとともにディスプレイ612上でのカーソル動きを制御するための、マウス、トラックボールまたはカーソル方向キーのようなカーソル・コントロール616である。この入力装置は典型的には、第一軸(たとえばx)および第二軸(たとえばy)の二つの軸方向において二つの自由度をもち、これにより該装置は平面内での位置を指定できる。
【0196】
コンピュータ・システム600は、本稿に記載される技法を実施するのに、カスタマイズされた固定構成論理、一つまたは複数のASICもしくはFPGA、コンピュータ・システムと組み合わさってコンピュータ・システム600を特殊目的機械にするまたはプログラムするファームウェアおよび/またはプログラム論理を使ってもよい。ある実施形態によれば、本稿の技法は、プロセッサ604がメイン・メモリ606に含まれる一つまたは複数の命令の一つまたは複数のシーケンスを実行するのに応答して、コンピュータ・システム600によって実行される。そのような命令は、記憶装置610のような別の記憶媒体からメイン・メモリ606に読み込まれてもよい。メイン・メモリ606に含まれる命令のシーケンスの実行により、プロセッサ604は、本稿に記載されるプロセス段階を実行する。代替的な実施形態では、ソフトウェア命令の代わりにまたはソフトウェア命令と組み合わせて固定構成の回路が使用されてもよい。
【0197】
本稿で用いられる用語「記憶媒体」は、データおよび/または機械に特定の仕方で動作させる命令を記憶する任意の非一時的な媒体を指す。そのような記憶媒体は、不揮発性媒体および/または揮発性媒体を含んでいてもよい。不揮発性媒体は、たとえば、記憶装置610のような光学式または磁気ディスクを含む。揮発性媒体は、メイン・メモリ606のような動的メモリを含む。記憶媒体の一般的な形は、たとえば、フロッピーディスク、フレキシブルディスク、ハードディスク、半導体ドライブ、磁気テープまたは他の任意の磁気データ記憶媒体、CD-ROM、他の任意の光学式データ記憶媒体、孔のパターンをもつ任意の物理的媒体、RAM、PROMおよびEPROM、フラッシュEPROM、NVRAM、他の任意のメモリ・チップまたはカートリッジを含む。
【0198】
記憶媒体は、伝送媒体とは異なるが、伝送媒体と関連して用いられてもよい。伝送媒体は、記憶媒体間で情報を転送するのに参加する。たとえば、伝送媒体は同軸ケーブル、銅線および光ファイバーを含み、バス602をなすワイヤを含む。伝送媒体は、電波および赤外線データ通信の際に生成されるような音響波または光波の形を取ることもできる。
【0199】
さまざまな形の媒体が、一つまたは複数の命令の一つまたは複数のシーケンスを実行のためにプロセッサ604に搬送するのに関与しうる。たとえば、命令は最初、リモート・コンピュータの磁気ディスクまたは半導体ドライブ上に担持されていてもよい。リモート・コンピュータは該命令をその動的メモリにロードし、該命令をモデムを使って電話線を通じて送ることができる。コンピュータ・システム600にローカルなモデムが、電話線上のデータを受信し、赤外線送信器を使ってそのデータを赤外線信号に変換することができる。赤外線検出器が赤外線信号において担持されるデータを受信することができ、適切な回路がそのデータをバス602上に載せることができる。バス602はそのデータをメイン・メモリ606に搬送し、メイン・メモリ606から、プロセッサ604が命令を取り出し、実行する。メイン・メモリ606によって受信される命令は、任意的に、プロセッサ604による実行の前または後に記憶装置610上に記憶されてもよい。
【0200】
コンピュータ・システム600は、バス602に結合された通信インターフェース618をも含む。通信インターフェース618は、ローカル・ネットワーク622に接続されているネットワーク・リンク620への双方向データ通信結合を提供する。たとえば、通信インターフェース618は、統合サービス・デジタル通信網(ISDN)カード、ケーブル・モデム、衛星モデムまたは対応する型の電話線へのデータ通信接続を提供するためのモデムであってもよい。もう一つの例として、通信インターフェース618は、互換LANへのデータ通信接続を提供するためのローカル・エリア・ネットワーク(LAN)カードであってもよい。無線リンクも実装されてもよい。そのようないかなる実装でも、通信インターフェース618は、さまざまな型の情報を表すデジタル・データ・ストリームを搬送する電気的、電磁的または光学的信号を送受信する。
【0201】
ネットワーク・リンク620は典型的には、一つまたは複数のネットワークを通じた他のデータ装置へのデータ通信を提供する。たとえば、ネットワーク・リンク620は、ローカル・ネットワーク622を通じてホスト・コンピュータ624またはインターネット・サービス・プロバイダー(ISP)626によって運営されているデータ設備への接続を提供してもよい。ISP 626は、現在一般に「インターネット」628と称される世界規模のパケット・データ通信網を通じたデータ通信サービスを提供する。ローカル・ネットワーク622およびインターネット628はいずれも、デジタル・データ・ストリームを担持する電気的、電磁的または光学的信号を使う。コンピュータ・システム600に/からデジタル・データを搬送する、さまざまなネットワークを通じた信号およびネットワーク・リンク620上および通信インターフェース618を通じた信号は、伝送媒体の例示的な形である。
【0202】
コンピュータ・システム600は、ネットワーク(単数または複数)、ネットワーク・リンク620および通信インターフェース618を通じて、メッセージを送り、プログラム・コードを含めデータを受信することができる。インターネットの例では、サーバー630は、インターネット628、ISP 626、ローカル・ネットワーク622および通信インターフェース618を通じてアプリケーション・プログラムのための要求されたコードを送信してもよい。
【0203】
受信されたコードは、受信される際にプロセッサ604によって実行されても、および/または、のちの実行のために記憶装置610または他の不揮発性記憶に記憶されてもよい。
【0204】
〈9.等価物、拡張、代替その他〉
以上の明細書では、本発明の例示的実施形態について、実装によって変わりうる数多くの個別的詳細に言及しつつ述べてきた。このように、何が本発明であるか、何が出願人によって本発明であると意図されているかの唯一にして排他的な指標は、この出願に対して付与される特許の請求項の、その後の訂正があればそれも含めてかかる請求項が特許された特定の形のものである。かかる請求項に含まれる用語について本稿で明示的に記載される定義があったとすればそれは請求項において使用される当該用語の意味を支配する。よって、請求項に明示的に記載されていない限定、要素、属性、特徴、利点もしくは特性は、いかなる仕方であれかかる請求項の範囲を限定すべきではない。よって、明細書および図面は制約する意味ではなく例示的な意味で見なされるべきものである。
〔態様1〕
源画像のシーケンスにおける一つまたは複数の源画像に基づいて一つまたは複数の統計値を計算する段階と;
前記一つまたは複数の統計値に基づいて、前記一つまたは複数の源画像についての適応的再整形関数を選択する段階と;
少なくとも部分的には選択された適応的再整形関数に基づいて、源ビデオ・コンテンツの一部を適応的に再整形して、再整形されたビデオ・コンテンツの一部を生成する段階であって、源ビデオ・コンテンツの前記一部は、前記一つまたは複数の源画像によって表わされるものである、段階と;
前記選択された適応的再整形関数の逆関数の近似を生成する段階と;
前記再整形されたビデオ・コンテンツと、前記選択された適応的再整形関数の逆関数の前記近似を定義する適応的再整形パラメータの集合とを、再整形されたビデオ信号にエンコードする段階とを含む、
方法。
〔態様2〕
前記再整形されたビデオ・コンテンツの前記一部は、一つまたは複数の再整形された画像を含む、態様1記載の方法。
〔態様3〕
前記一つまたは複数の源画像はシーンを形成する、態様1記載の方法。
〔態様4〕
前記選択された適応的再整形関数の逆関数に対応する目標ルックアップテーブル(LUT)を決定する段階と;
前記目標LUTを近似することについての連続性条件を決定する段階と;
前記連続性条件に基づいて、前記目標LUTを近似するために使われる前方探索についての第一の停止規則および前記目標LUTを近似するために使われる後方探索についての第二の停止規則を選択する段階と;
少なくとも部分的には前記第一の停止規則に基づいて小さな再整形された符号語値から大きな再整形された符号語値に向かって前記前方探索を実行することによって前記目標LUTの第一の近似を生成する段階と;
少なくとも部分的には前記第二の停止規則に基づいて大きな再整形された符号語値から小さな再整形された符号語値に向かって前記後方探索を実行することによって前記目標LUTの第二の近似を生成する段階と;
前記前方探索および前記後方探索によってそれぞれ生成される近似誤差を比較することによって前記第一の近似および前記第二の近似の一方を選択する段階とを含む、
態様1記載の方法。
〔態様5〕
前記目標LUTが、前記源ビデオ・コンテンツを再整形するために使われる複数の再整形された符号語値のうちで各再整形された符号語値にマッピングされる源符号語値の平均によって生成される最適な後方LUTである、態様4記載の方法。
〔態様6〕
前記一つまたは複数の統計値は、前記一つまたは複数の源画像における源符号語に基づいて決定される最大値、最小値、平均値、中央値、アベレージ値または標準偏差値のうちの少なくとも一つを含む、態様1記載の方法。
〔態様7〕
前記選択された適応的再整形関数または前記選択された適応的再整形関数の逆関数の少なくとも一方が、解析関数、非解析的な関数、ルックアップテーブル(LUT)、シグモイド関数、冪関数、区分的関数のうちの一つまたは複数を含む、態様1記載の方法。
〔態様8〕
前記選択された適応的再整形関数の逆関数の前記近似は、多項式の集合によって表わされる、態様1記載の方法。
〔態様9〕
前記多項式の集合における多項式の総数は、ある数閾値未満に制限される、態様8記載の方法。
〔態様10〕
前記多項式の集合における多項式についての係数が、それらの多項式によって与えられる値と、前記選択された適応的再整形関数の逆関数を表わす目標ルックアップテーブル(LUT)において与えられる値との間の差を最小にすることに基づいて決定される、態様8記載の方法。
〔態様11〕
前記選択された適応的再整形関数の逆関数について決定された関数の型に基づいて、前記多項式の集合を生成するための連続性条件を選択することをさらに含む、態様8記載の方法。
〔態様12〕
前記多項式の集合は、前記一つまたは複数の源画像が適応的再整形のために処理される前に事前決定される、態様8記載の方法。
〔態様13〕
前記多項式の集合は、前記一つまたは複数の源画像が適応的再整形のために処理されている間に動的に決定される、態様8記載の方法。
〔態様14〕
前記一つまたは複数の源画像を、なめらかな明るい領域を含む画像、なめらかな暗い領域を含む画像または中間トーン画像のうちの一つとして分類する段階を含む、態様1記載の方法。
〔態様15〕
源ビデオ・コンテンツの前記一部は、色空間の複数のチャネルにおける一つまたは複数のチャネルについて、再整形されたビデオ・コンテンツの前記一部に適応的に再整形される、態様1記載の方法。
〔態様16〕
前記一つまたは複数のチャネルはルミナンス関係のチャネルを含む、態様15記載の方法。
〔態様17〕
前記再整形されたビデオ信号は、二チャネル8ビット・ビデオ信号または単一チャネル10ビット・ビデオ信号の一方である、態様1記載の方法。
〔態様18〕
前記再整形されたビデオ信号は:先進ビデオ符号化(AVC)エンコーダ、動画像専門家グループ(MPEG)-2エンコーダまたは高効率ビデオ符号化(HEVC)エンコーダのうちの少なくとも一つによって生成される、態様1記載の方法。
〔態様19〕
源画像の前記シーケンスは知覚的にエンコードされている、態様1記載の方法。
〔態様20〕
源ビデオ・コンテンツの前記一部は、前記選択された適応的再整形関数のいかなる近似も使うことなく、再整形されたビデオ・コンテンツの前記一部に適応的に再整形される、態様1記載の方法。
〔態様21〕
前記適応的再整形関数が二つ以上の二次多項式を使って近似され、p番目の多項式のmp係数を計算することは:
源画像の前記シーケンスにおけるピクセル値についての前記再整形された値の関数に基づいて第一の(ベータ)ルックアップテーブル(LUT)を決定する段階と;
源画像のもとのピクセル値および前記再整形された値の関数に基づいて第二の(アルファ)ルックアップテーブル(LUT)を決定する段階と;
前記第一のLUTに基づいてBp行列を決定する段階と;
前記第二のLUTに基づいてapベクトルを決定する段階と;
p番目の多項式のmp係数をBp-1apとして計算する段階とを含む、
態様1記載の方法。
〔態様22〕
前記第一のLUTのβ[k,j]要素について、
【数22】
であり、Maxは源画像の前記シーケンスにおける源画像のピクセルviに対応する再整形されたピクセルsiの最大ピクセル値を表わす、態様21記載の方法。
〔態様23〕
前記第二のLUTのα[k,j]要素について、0≦j≦3について、
【数23】
であり、Maxは源画像の前記シーケンスにおける源画像のピクセルviに対応する再整形されたピクセルsiの最大ピクセル値を表わす、態様21記載の方法。
〔態様24〕
逆再整形関数についてのLUTを生成することが:
前記前方再整形関数に基づいて再整形された値のヒストグラムを生成する段階と;
累積テーブルを生成する段階であって、前記累積テーブル内のエントリーは同じ再整形された値にマッピングされるもとのピクセル値の和を含む、段階と;
前記再整形された値のヒストグラムと前記累積テーブルとに基づいて前記逆再整形関数についてのLUTを生成する段階とを含む、
態様1記載の方法。
〔態様25〕
前記適応的再整形関数は二つ以上の二次多項式を使って近似され、前記二つ以上の多項式についての転換点は逐次反復方法に従って選択される、態様1記載の方法。
〔態様26〕
前記逐次反復方法はさらに:
初期誤差閾値を設定する段階と;
前記一つまたは複数の多項式のうち各多項式の、前記適応的再整形関数における対応するセグメントとの当てはめ誤差が、前記初期誤差閾値を超えないよう、前記適応的再整形関数の諸セグメントを当てはめする段階と;
前記適応的再整形関数のすべてのセグメントにわたるすべての当てはめ誤差のうちの最小を決定する段階と;
前記当てはめ誤差のうちの最小よりも小さな新たな誤差閾値について、前記当てはめプロセスを繰り返す段階とを含む、
態様25記載の方法。
〔態様27〕
現在の反復工程におけるすべての当てはめ誤差のうちの最小が、直前の反復工程におけるすべての当てはめ誤差のうちの最小に閾値範囲内で等しいときは、前記逐次反復方法を終了することをさらに含む、態様26記載の方法。
〔態様28〕
再整形されたビデオ信号から、再整形されたビデオ・コンテンツと、適応的再整形関数の逆関数の近似に関係した適応的再整形パラメータの集合とを取得する段階であって、前記再整形されたビデオ・コンテンツは上流装置によって、少なくとも部分的には前記適応的再整形関数に基づいて生成されている、段階と;
少なくとも部分的には前記適応的再整形関数の逆関数の前記近似に基づいて、前記再整形されたビデオ・コンテンツの一部を逆マッピングして、再構成されたビデオ・コンテンツの一部を生成する段階と;
少なくとも部分的には再構成されたビデオ・コンテンツの前記一部に基づいて、再構成された画像のシーケンスを生成する段階であって、再構成された画像の前記シーケンスは、前記再整形されたビデオ・コンテンツを生成するために前記上流装置によって使われた源画像のシーケンスの再構成されたバージョンを表わす、段階とを含む、
方法。
〔態様29〕
前記複数の再構成された画像をディスプレイ・システムにおいてレンダリングする段階をさらに含む、態様28記載の方法。
〔態様30〕
適応的再整形パラメータの前記集合が、前記適応的再整形関数の逆関数の前記近似を定義する、態様28記載の方法。
〔態様31〕
少なくとも部分的には前記再整形されたビデオ信号からの前記適応的再整形関数の逆関数の前記近似に関係した適応的再整形パラメータの前記集合に基づいて、前記適応的再整形関数の逆関数を表わす目標ルックアップテーブル(LUT)の近似を確立することをさらに含む、態様28記載の方法。
〔態様32〕
前記適応的再整形関数の逆関数の前記近似が、多項式の集合によって表現される、態様31記載の方法。
〔態様33〕
態様1ないし27のうちいずれか一項記載の方法を実行するエンコーダ。
〔態様34〕
態様28ないし32のうちいずれか一項記載の方法を実行するデコーダ。
〔態様35〕
態様1ないし32のうちいずれか一項記載の方法を実行するシステム。
〔態様36〕
一つまたは複数のプロセッサによって実行されたときに態様1ないし32のうちいずれか一項記載の方法の実行を引き起こすソフトウェア命令を記憶している非一時的なコンピュータ可読記憶媒体。
〔態様37〕
一つまたは複数のプロセッサと、一つまたは複数のプロセッサによって実行されたときに態様1ないし32のうちいずれか一項記載の方法の実行を引き起こす一組の命令を記憶している一つまたは複数の記憶媒体とを有する、コンピューティング装置。
図1A
図1B
図2
図3A
図3B
図4A
図4B
図4C
図5A
図5B
図6