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

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

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

特許5989934マルチレイヤVDR符号化における知覚量子化ビデオコンテンツのエンコーディング
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5989934
(24)【登録日】2016年8月19日
(45)【発行日】2016年9月7日
(54)【発明の名称】マルチレイヤVDR符号化における知覚量子化ビデオコンテンツのエンコーディング
(51)【国際特許分類】
   H04N 19/36 20140101AFI20160825BHJP
   H04N 19/102 20140101ALI20160825BHJP
   H04N 19/14 20140101ALI20160825BHJP
   H04N 19/176 20140101ALI20160825BHJP
   H04N 19/85 20140101ALI20160825BHJP
【FI】
   H04N19/36
   H04N19/102
   H04N19/14
   H04N19/176
   H04N19/85
【請求項の数】23
【全頁数】41
(21)【出願番号】特願2016-505536(P2016-505536)
(86)(22)【出願日】2014年3月25日
(65)【公表番号】特表2016-519494(P2016-519494A)
(43)【公表日】2016年6月30日
(86)【国際出願番号】US2014031716
(87)【国際公開番号】WO2014160705
(87)【国際公開日】20141002
【審査請求日】2016年1月8日
(31)【優先権主張番号】61/805,388
(32)【優先日】2013年3月26日
(33)【優先権主張国】US
(31)【優先権主張番号】61/861,555
(32)【優先日】2013年8月2日
(33)【優先権主張国】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】507236292
【氏名又は名称】ドルビー ラボラトリーズ ライセンシング コーポレイション
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】スー,グアン−ミン
(72)【発明者】
【氏名】チェン,チアン
(72)【発明者】
【氏名】コープフェル,フーベルト
(72)【発明者】
【氏名】チュ,シェン
【審査官】 山▲崎▼ 雄介
(56)【参考文献】
【文献】 特表2012−520619(JP,A)
【文献】 特表2011−517245(JP,A)
【文献】 特開2007−243942(JP,A)
【文献】 特表2012−517764(JP,A)
【文献】 Jonghyun Bae, et al.,Adaptive tone-mapping operator for HDR images based on image statistics,TENCON 2011 - 2011 IEEE Region 10 Conference,IEEE,2011年11月,pp.1435-1438,URL,http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6129047
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00−19/98
(57)【特許請求の範囲】
【請求項1】
入力画像のシーケンスを受信するステップと、
マッピング関数の関数パラメータ値の複数の候補セットから、前記マッピング関数の関数パラメータ値の候補セットを選択するステップと、
各入力画像を画像ブロックに分割するステップと、
各画像ブロックについて、該ブロックの中のピクセル値の標準偏差を決定するステップと、
前記画像ブロックの中から、入力画像の前記シーケンスの中の少なくとも1つの入力画像のピクセル値において非ゼロ標準偏差を有する画像ブロックのセットを構築するステップと、
関数パラメータ値の前記候補セットを有する前記マッピング関数を、前記少なくとも1つの入力画像の中の画像ブロックの前記セットの中の前記ピクセル値に適用することにより、マッピング済み画像ブロックを生成するステップと、
各マッピング済み画像ブロックについて、該ブロックの中の前記ピクセル値の標準偏差を決定するステップと、
前記マッピング済み画像ブロックの中からマッピング済み画像ブロックのサブセットを構築するステップであって、前記サブセットの各マッピング済み画像ブロックは、所定の閾値より大きい標準偏差を有する、ステップと、
前記セットの中の画像ブロックの数に対する前記サブセットの中の非ゼロ標準偏差を有するマッピング済み画像ブロックの数に基づき、関数パラメータ値の前記候補セットが前記少なくとも1つの入力画像をマッピングするのに前記マッピング関数にとって最適か否かを決定するステップと、
を有する方法。
【請求項2】
前記入力画像のビット深さは、12ビット以上である、請求項1に記載の方法。
【請求項3】
関数パラメータ値の前記候補セットが前記少なくとも1つの入力画像をマッピングするのに前記マッピング関数にとって最適か否かを決定するステップは、前記サブセットの中のマッピング済み画像ブロックの数が前記セットの中の画像ブロックの数と等しいか否かに基づく、請求項1又は2に記載の方法。
【請求項4】
少なくとも1つの入力画像をマッピングするために関数パラメータ値の候補がマッピング関数にとって最適であると決定するのに応答して、少なくとも1つの入力画像を有する複数の入力画像をマッピングするためにマッピング関数により関数パラメータ値の候補セットが関数パラメータ値の全体最適セットとして用いられるべきか否かを決定するステップ、を更に有する請求項1乃至3のいずれか一項に記載の方法。
【請求項5】
関数パラメータ値の前記候補セットが、少なくとも1つの入力画像を有する前記複数の入力画像をマッピングするために前記マッピング関数により関数パラメータ値の全体最適セットとして用いられるべきであると決定するのに応答して、
関数パラメータ値の前記全体最適セットを有する前記マッピング関数を前記複数の画像に適用することにより、前記複数の入力画像に対応する複数のマッピング済み画像を生成するステップと、
基本レイヤ(BL)画像データのような前記複数のマッピング済み画像を出力マルチレイヤビデオ信号に圧縮するステップと、
を更に有する請求項4に記載の方法。
【請求項6】
前記BL画像データをデコードするステップと、
前記BL画像データの逆マッピングに少なくとも部分的に基づき、予測画像データを生成するステップと、
前記予測画像データ及び前記少なくとも1つの入力画像に少なくとも部分的に基づき、残差値を生成するステップと、
EL画像データを生成するために非線形量子化を前記残差値に適用するステップであって、前記残差値は高ビット深さ値を有し、前記EL画像データは低ビット深さ値を有する、ステップと、
前記EL画像データを前記出力マルチレイヤビデオ信号に圧縮するステップと、
を更に有する請求項5に記載の方法。
【請求項7】
関数パラメータ値の前記決定された全体最適セットを下流装置への出力マルチレイヤビデオ信号の一部として有するメタデータを出力するステップ、を更に有する請求項6に記載の方法。
【請求項8】
前記BL画像データの前記逆マッピングは、関数パラメータ値の前記全体最適セットを有する前記マッピング関数から生成される1又は複数のルックアップテーブルに基づく、請求項6に記載の方法。
【請求項9】
前記マッピング関数は、べき関数、線形量子化関数、又は各入力画像を複数の重なり合わない領域に区分し量子化を実行する区分線形量子化関数、のうちの少なくとも1つを表す、請求項1に記載の方法。
【請求項10】
前記マッピング関数の関数パラメータ値の前記候補セットは、べき関数の候補指数値を表す、請求項1に記載の方法。
【請求項11】
前記マッピング関数の関数パラメータ値の前記候補セットは、各入力画像を複数の重なり合わない領域に区分し量子化を実行する区分線形量子化関数を用いる量子化が実行されるべき1又は複数の色チャネルを表す、請求項1に記載の方法。
【請求項12】
非ゼロ標準偏差の画像ブロックの前記セットは、複数のピクセル値範囲の中の固有のピクセル値範囲の中のードワードを伴い計算される、請求項1に記載の方法。
【請求項13】
前記複数のピクセル値範囲は、高ピクセル値範囲、中ピクセル値範囲、又は低ピクセル値範囲のうちの1又は複数を有し、前記高ピクセル値範囲の中のピクセル値は、前記中ピクセル値範囲及び低ピクセル値範囲の中のピクセル値より高い値を有し、前記中ピクセル値範囲の中のピクセル値は、前記低ピクセル値範囲の中のピクセル値より高く前記高ピクセル値範囲の中のピクセル値より低い値を有する、請求項12に記載の方法。
【請求項14】
非ゼロ標準偏差の画像ブロックの前記セットについて統計値のセットを計算するステップであって、統計値の前記セットの中の個々の統計値は、非ゼロ標準偏差の画像ブロックの前記セットの中の個々の画像ブロックのピクセル値の中の、算術平均、算術的中間値、幾何平均、幾何的中間値、最大又は最小のうちの1つを表す、ステップと、
統計値の前記セットに基づき、前記複数のピクセル値範囲を生成するステップと、
を更に有する請求項13に記載の方法。
【請求項15】
非ゼロ標準偏差の画像ブロックの前記セットは、色空間の複数のチャネルの中の固有チャネルの前記ピクセル値を伴い計算される、請求項1に記載の方法。
【請求項16】
前記複数のチャネルは、輝度チャネル、クロマチャネル、赤色チャネル、青色チャネル、緑色チャネル、又は他の主チャネルのうちの1又は複数を有する、請求項15に記載の方法。
【請求項17】
異なるマッピング関数は、前記複数のチャネルの中の異なるチャネルの異なるピクセル値をマッピングするために用いられる、請求項15に記載の方法。
【請求項18】
入力画像の前記シーケンスから引き出されたBL画像データは、第1の8ビットエンコーダによりマルチレイヤビデオ信号に圧縮され、入力画像の前記シーケンスから引き出されたEL画像データは、マルチレイヤエンコーダの中の第2の8ビットエンコーダにより前記マルチレイヤビデオ信号に圧縮される、請求項1に記載の方法。
【請求項19】
前記第1の8ビットエンコーダ及び前記第2の8ビットエンコーダのうちの少なくとも1つは、AVC(advanced video coding)エンコーダ、MPEG(Moving Picture Experts Group)−2エンコーダ、又はHEVC(High Efficiency Video Coding)エンコーダ、のうちの少なくとも1つを有する、請求項18に記載の方法。
【請求項20】
入力画像の前記シーケンスは、人間の知覚に基づく曲線を用いて知覚アーチファクトの少ない画像データを生成する知覚エンコードにより処理される、請求項1に記載の方法。
【請求項21】
前記非ゼロ標準偏差のうちの少なくとも1つは、それぞれ非ゼロ標準偏差に対応する非ゼロ最大−最小差、非ゼロ分散、のうちの1つにより表される、請求項1に記載の方法。
【請求項22】
請求項1乃至21のいずれか一項に記載の方法を実行するエンコーダ。
【請求項23】
請求項1乃至21のいずれか一項に記載の方法を実行するシステム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の参照]
本願は、米国仮特許出願番号第61/805,388号、出願日2013年3月26日、及び米国仮特許出願番号第61/861,555号、出願日2013年8月2日、の優先権を主張する。これらの米国仮特許出願は参照されることによりその全体が本願明細書に組み込まれる。
【0002】
本発明は、概して画像処理に関し、より詳細には、知覚的量子化ビデオのエンコーディング、デコーディング、及び提示に関する。
【背景技術】
【0003】
マルチレイヤビデオエンコーダのような上流装置から下流装置へビデオデータを配信するために、複数のレイヤを用いることができる。例えば、VDR(visual dynamic range)ビデオデータは、VDRディスプレイの視覚経験のために、複数のレイヤのうちの基本レイヤ及び拡張レイヤ(enhancement layer:EL)の組合せで伝達される。
【0004】
BL画像データは、VDR画像から引き出された低又は部分ダイナミックレンジ画像データでエンコーディングされ得る。低又は部分ダイナミックレンジ画像データでは、VDR画像からマッピングされた帯域外コードワードは、目標提示範囲にクリッピングされ得る。VDR画像に現れるテクスチャの変化及び画像の詳細は、低又は部分ダイナミックレンジ画像データでは失われ得る。
【0005】
この章に記載されるアプローチは、達成しようとされた可能性のあるアプローチであるが、必ずしも従前に考案され又は達成されたアプローチではない。したがって、特に示さない限り、この章に記載された如何なるアプローチも、それらが本章に含まれたという理由のみにより従来技術と見なされるべきではない。同様に、1又は複数のアプローチに関して特定される問題は、特に断らない限り、本章に基づいて従来認識されていたと考えられるべきではない。
【図面の簡単な説明】
【0006】
本発明は、例を用いて説明され、添付の図面に限定されるものではない。図中、同様の参照符号は同様の要素を表すために用いられる。
図1A】本発明の一実施形態によるマルチレイヤビデオエンコーダを示す。
図1B】本発明の一実施形態によるマルチレイヤビデオデコーダを示す。
図1C】本発明の一実施形態に従い実装されたデコーダの中のコンポーザユニットの固定点実装を示す。
図1D】本発明の一実施形態に従い実装されたデコーダの中のコンポーザユニットの固定点実装を示す。
図2A】本発明の一実施形態による、最適マッピングパラメータ値を探す例示的なアルゴリズムを示す。
図2B】本発明の一実施形態による、最適マッピングパラメータ値を探す例示的なアルゴリズムを示す。
図3A】本発明の一実施形態による、例示的な処理フローを示す。
図3B】本発明の一実施形態による、例示的な処理フローを示す。
図4】本願明細書に記載のコンピュータ又はコンピューティング装置が実装され得る例示的なハードウェアプラットフォームを示す。
【発明を実施するための形態】
【0007】
マルチレイヤコーデックを用いた知覚的量子化基本レイヤ画像データを含む可変ダイナミックレンジ画像をエンコーディング、デコーディング及び提示することに関する例示的な実施形態を記載する。以下の説明では、説明を目的として、本発明の実施形態の完全な理解を提供するために、多くの詳細事項が説明される。しかしながら、本発明はこれらの詳細事項なしに実施できることが明らかである。他の例では、本発明を不必要に隠し、不明瞭にし、又はないために、混乱させることを回避するために、良く知られた構造及び装置は完全に詳細に記載されない。
【0008】
例示的な実施形態は、以下の概要に従って本願明細書に記載される。
【0009】
1.概要
2.ビデオコンテンツのエンコーディング及びデコーディング
3.画像コンテンツに基づく利用可能コードワードの割り当て
4.マルチレイヤビデオエンコーディング
5.マルチレイヤビデオデコーディング
6.BL画像データの中の視覚的詳細の提示
7.べき関数における指数値の例示的な決定
8.区分線形量子化を含む線形量子化におけるパラメータ値の例示的な決定
9.例示的な処理フロー
10.実装メカニズム−ハードウェア概要
11.等価、拡張、代替、及び混合
<1.概要>
この概要は、本発明の例示的な実施形態の幾つかの態様の基本的説明を提示する。留意すべきことに、この概要は、例示的な実施形態の態様の広範囲又は包括的な纏めではない。さらに、留意すべきことに、この概要は、例示的な実施形態の任意の特定の重要な態様又は要素を特定するもの、又は特定の例示的な実施形態若しくは概して本発明の範囲の輪郭を描くものと理解されるべきではない。この概要は、単に、例示的な実施形態に関連する幾つかの概念を凝縮し簡略化した形式で提示するものであり、以下の例示的な実施形態の更に詳細な説明の単なる概念的前置きであることが理解されるべきである。
【0010】
幾つかの実施形態では、マルチレイヤコーデックは、種々のディスプレイ(例えば、VDRディスプレイ等)のために圧縮画像(例えば、ビデオ画像)を有するメディア信号を生成し又は処理するために用いられ得る。種々の広い及び狭いダイナミックレンジディスプレイで優れた視覚品質を提供するために、下流装置に放出されるべきビデオコンテンツは、本願明細書に記載のような知覚量子化(perceptual quantization:PQ)技術を実装するマルチレイヤコーデックにより量子化及びエンコーディングされ得る。下流装置によりレンダリングされるこのようなビデオコンテンツは、他の技術により示される特性と大きく異なる視覚特性を示す。
【0011】
本願明細書で用いられるとき、用語「マルチレイヤコーデック」は、オーディオビジュアル信号(例えば、ビットストリーム、ブロードキャスト信号、メディアファイル、等)の中に複数レイヤ構造を実現するマルチレイヤエンコーダ又はデコーダを表し得る。マルチレイヤは、基本レイヤ及び1又は複数の拡張レイヤを有する。基本及び拡張レイヤは、同じ(例えば、知覚エンコードされた、等)ソース画像から引き出された画像データを有する。基本レイヤの画像データは、低又は部分ダイナミックレンジの圧縮画像データを有する。これは、標準的なダイナミックレンジ又はSDRのような比較的狭いダイナミックレンジのディスプレイでのレンダリングのために最適化されていない場合がある。複数のレイヤの画像データの結合は、広いダイナミックレンジの圧縮画像を有する。これは、視覚ダイナミックレンジ又はVDRのような比較的広いダイナミックレンジのディスプレイでデコード又は閲覧できる。用語「VDR」又は「視覚ダイナミックレンジ」は、本願明細書で用いられるとき、標準的ダイナミックレンジより広いダイナミックレンジを表し、限定ではなく、最大で瞬間的知覚可能ダイナミックレンジまでの広いダイナミックレンジ及び人間の視覚が瞬間的に知覚できる色域を有しても良い。
【0012】
本願明細書に記載されるマルチレイヤコーデックは、全体として複数のレイヤでより大きなビット深さ(例えば、12+ビット等)の画像をサポートするために、及び基本レイヤでより小さいビット深さ(例えば、8ビット等)をサポートするために、2以下の低いビット深さ(例えば、8ビット等)のコーデック(例えば、ガンマ−ドメインコーデック等)と共に実装されても良い。例えば、1又は複数のガンマ−ドメインエンコーダは、本願明細書に記載のようなマルチレイヤエンコーダのBL信号処理経路の中で及び/又は1又は複数のEL信号処理経路の中で展開できる。幾つかの実施形態では、少なくとも1つのガンマ−ドメインデコーダは、基本レイヤのみのデコーダである下流装置のBL信号処理経路の中で展開できる。
【0013】
本願明細書に記載のPQ技術は、ガンマ−ドメインコーデックに元の知覚エンコーディングコンテンツの視覚的詳細を保存させるために用いることができる。ビデオエンコーダ側でPQ−ガンマフォーマット変換を及びデコーダ側でガンマ−PQフォーマット変換を必要とする代わりに、本願明細書に記載の技術は、マルチレイヤエンコーダ、マルチレイヤデコーダ、基本レイヤデコーダ等のなかのガンマ−ドメインコーデックに、これらのフォーマット変換無しに、知覚エンコード済みビデオコンテンツの視覚的詳細を直接保存させる。広い及び狭いダイナミックレンジの両方でこれらの視覚的詳細を保存する知覚量子化ビデオ信号は、マルチレイヤエンコーダにより、PQ−ガンマフォーマット変換を用いることなく、下流装置に直接提供できる。同様に、下流装置により受信される知覚的量子化ビデオ信号は、ガンマ−PQフォーマット変換を用いることなく、保存された視覚的詳細と共に、下流装置により直接、デコード及び/又はレンダリングできる。したがって、計算の複雑性、符号化効率、及び知覚的量子化は、全て、本願明細書に記載の技術の元で有意に向上できる。
【0014】
本願明細書に記載の技術を実施するコーデックは、基本レイヤ(BL)画像データと元の入力画像データとの間の統計的冗長性を完全に活かすために、レイヤ間予測能力を有するよう更に構成されても良い。EL画像データは、異なるレイヤの画像データの中の相関及び統計的冗長性を利用することなく、膨大な量の広いダイナミックレンジの画像データを伝達する代わりに、残差(又は差分)画像データ(場合によってはこれだけ)を伝達しても良い。
【0015】
幾つかの例示的な実施形態では、(限定ではなく、知覚エンコーディング動作に関連するアプリケーション等を含む)他のアプリケーションのために必要なデータは、上流装置から下流装置へ配信されるべき基本レイヤ及び拡張レイヤ画像データと共に含まれても良い。幾つかの例示的な実施形態では、追加特徴及び/又は直交特徴は、本願明細書に記載のように基本レイヤ及び拡張レイヤによりサポートされても良い。
【0016】
幾つかの例示的な実施形態では、本願明細書に記載のメカニズムは、ハンドヘルドシステム、ゲーム機、テレビジョン、ラップトップコンピュータ、ノートブックコンピュータ、タブレットコンピュータ、携帯電話機、電子書籍リーダー、販売点端末(POS)、デスクトップコンピュータ、コンピュータワークステーション、コンピュータキオスク、又は種々の他の種類の端末おyぼいメディア処理ユニットを含むがこれらに限定されないメディア処理システムの一部を形成する。
【0017】
好適な実施形態に対する種々の変更及び本願明細書に記載の一般的原理及び特徴は、当業者に直ちに明らかである。したがって、本開示は、示された実施形態に限定されるものではなく、本願明細書に記載の原理及び特徴と整合する最も広い範囲を与えられる。
【0018】
<2.ビデオコンテンツのエンコーディング及びデコーディング>
人間の視覚は、2つの輝度レベルが互いに有意に異ならない場合、2つの輝度レベルの間の差を知覚しない場合がある。代わりに、人間の視覚は、輝度レベルが弁別閾(just noticeable difference:JND)以上異なる場合にだけ、差を知覚できる。人間の視覚の知覚の非線形性により、個々のJNDの量は、輝度レベルの範囲に亘り不均一な大きさ又は尺度ではなく、むしろ、異なる個々の輝度レベルと共に変化する。
【0019】
本願明細書に記載の技術(例えば、アルゴリズム等)は、ソースビデオコンテンツを、BL画像データにおける並びにBLとL画像データの組合せにおけるソースビデオコンテンツの視覚的詳細を保存するマルチレイヤビデオ信号にエンコードするために、マルチレイヤエンコーダにより使用できる。幾つかの実施形態では、ソースビデオコンテンツは、知覚エンコーディング技術(例えば、カリフォルニア州サンフランシスコにあるDolby Laboratories等により開発されたVDRエンコーディング技術)に基づき(例えば、VDR仕様等により定められる)ソースエンコーディングフォーマットのソースコードワードで始めにエンコードされる。幾つかの実施形態では、ソースエンコーディングフォーマットのソースコードワードは、輝度レベルが人間の視覚の知覚の線形性に合うように最適に間隔を開けられ量子化されるように、分散された複数の輝度レベルを表す。
【0020】
本願明細書に記載のマルチレイヤエンコーダにより生成されるマルチレイヤビデオ信号は、様々な種類の下流装置へ直接又は間接的に送信され或いはそれらにより受信される。下流装置は、マルチレイヤデコーダを有するディスプレイシステム、基本レイヤデコーダを有するディスプレイシステム、等を含むが、これらに限定されない。
【0021】
比較的広いダイナミックレンジのディスプレイ動作をサポートする下流装置(例えば、マルチレイヤデコーダ等)は、受信したマルチレイヤビデオ信号に基づきソースビデオコンテンツの広いダイナミックレンジバージョンを引き出し及び/又はレンダリングできる。ソースビデオコンテンツのデコードされた広いダイナミックレンジバージョンは、ソースビデオコンテンツの中のソースコードワードにより表される輝度レベルを近似する目標輝度レベル(例えば、装置固有輝度レベル、等)を表す。
【0022】
比較的狭いダイナミックレンジのディスプレイ動作をサポートする下流装置(例えば、BLデコーダ等)は、受信したマルチレイヤビデオ信号のBL画像データに基づきソースビデオコンテンツの視覚的詳細を有するデコードされた狭いダイナミックレンジバージョンを引き出し及び/又はレンダリングできる。ソースビデオコンテンツのデコードされた狭いダイナミックレンジバージョンは、下流装置によりサポートされる比較的狭いダイナミックレンジの範囲内ではあるが、ソースビデオコンテンツの中のソースコードワードにより表される輝度レベルからマッピングされた目標輝度レベル(例えば、装置固有輝度レベル、等)を表す。
【0023】
ソースビデオコンテンツのデコードされた狭いダイナミックレンジバージョン及びデコードされた広いダイナミックレンジバージョンは両方とも、ソースビデオコンテンツの中のソースコードワードにより表される輝度レベルからマッピングされる目標輝度レベル(例えば、装置固有輝度レベル、等)を表すが、ソースビデオコンテンツの中のソースコードワードにより表される輝度レベルと比べて、ソースビデオコンテンツのデコードされた狭いダイナミックレンジバージョンは、ソースビデオコンテンツのデコードされた広いダイナミックレンジバージョンより多くのエラーを有し得る(例えば、比較的小さいビット深さ、低い又は高い輝度レベルにおけるクリッピングによる量子化エラー、等)。
【0024】
<3.画像コンテンツに基づく利用可能コードワードの割り当て>
本願明細書に記載の技術を用いないビデオコーデックは、元の知覚エンコード済みソースビデオコンテンツの視覚的詳細を保存しない方法で、特定のビット深さ(例えば8ビット等)で利用可能なコードワードを割り当てる。例えば、本願明細書に記載の技術を用いないガンマドメインコーデックを有するメディア装置は、装置固有ダイナミックレンジの中の高輝度サブレンジ(例えば、明るい部分、ハイライト、等)にコードワードを過剰に割り当て、装置固有ダイナミックレンジの中の低輝度サブレンジ(例えば、暗い部分、暗い領域、等)にコードワードを少なく割り当て得る。結果として、知覚エンコード済みソースビデオコンテンツの視覚的詳細は、これらの他の技術の元で余計に失われてしまう。
【0025】
本願明細書に記載の技術の下でマルチレイヤコーデックの中のビデオコーデックは、該技術を用いないビデオコーデックと比べて、知覚エンコード済みソースビデオコンテンツの視覚的詳細を保存する方法で、特定のビット深さ(例えば8ビット等)で利用可能なコードワードを割り当てる。その結果、ソースビデオコンテンツの中の知覚的詳細は、本願明細書に記載の技術を用いない他のビデオコーデックよりも、本願明細書に記載のマルチレイヤコーデックの中に良好に保存される。
【0026】
本願明細書に記載の技術を用いて、マルチレイヤコーデックは、ソースビデオコンテンツの中の(例えば、シーンの中の、等)画像フレームにより伝達される画像コンテンツに基づき、固有パラメータ値(例えば、べき関数の指数値、線形量子化の勾配、区分線形量子化の軸、等)を選択し/決定する。画像コンテンツがより多くのハイライト部分又はより多くの輝度レベルを有する場合、パラメータ値は、高輝度サブレンジの中でより多くの提示される輝度レベルを、エンコーディング又はデコーディング動作のために利用可能にする。画像コンテンツがより少ないハイライト部分又はより少ない輝度レベルを有する場合、パラメータ値は、高輝度サブレンジの中でより少ない提示される輝度レベルを、エンコーディング又はデコーディング動作のために利用可能にする。同様に、画像コンテンツがより多くの暗い部分又はより多くの輝度レベルを有する場合、パラメータは、低輝度サブレンジの中でより多くの提示される輝度レベルを、エンコーディング又はデコーディング動作のために利用可能にする。画像コンテンツがより少ない暗い部分又はより少ない輝度レベルを有する場合、パラメータ値は、低輝度サブレンジの中でより少ない提示される輝度レベルを、エンコーディング又はデコーディング動作のために利用可能にする。
【0027】
<4.マルチレイヤビデオエンコーディング>
前述のように、基本レイヤ及び1又は複数の拡張レイヤを有するマルチレイヤビデオ信号(例えば、符号化ビットストリーム、等)は、符号化ビデオコンテンツを下流装置(そのうちの1つは、例えば、図1Bのマルチレイヤデコーダ152、等であっても良い)へ配信するために、上流装置(例えば、図1Aのマルチレイヤエンコーダ102)により用いることができる。幾つかの実施形態では、複数のレイヤにより配信されるビデオコンテンツは、比較的低ビット深さのBL画像データ(例えば、図1A、1Bの106、等)、及びBL画像データに対して相補的であるEL画像データ(例えば、図1A、1Bの108、等)を有する。BL画像データ(106)及びEL画像データ(108)の両者は、比較的高ビット深さ(例えば、12+ビットVDR、等)のソースビデオコンテンツ(104)から引き出され/量子化される。
【0028】
幾つかの実施形態では、BL画像データ(106)は、基本レイヤコンテナ(例えば、8ビットYCbCr 4:2:0、等)の中に配置される。幾つかの実施形態では、EL画像データ(108)は、BL画像データ(106)から生成された予測画像データに対する、ソースビデオコンテンツ(104)(例えばVDR等)の残差画像データを有する。幾つかの実施形態では、EL画像データ(108)は、1又は複数の拡張レイヤコンテナ(例えば、1又は複数の8ビット残差データコンテナ、等)の中に置かれる。BL画像データ(106)及びEL画像データ(108)は、下流装置(例えば、図1Bの152等)により受信され、ソースビデオコンテンツ(104)(例えばVDR等)の比較的高ビット深さ(例えば、12+ビット、等)のデコード済みバージョン(例えば、知覚デコード済みVDRバージョン、等)を再構成するために使用されても良い。
【0029】
本願明細書で用いられるとき、用語「ビット深さ」は、画像データをエンコード又は量子化するために利用可能なコードワードを提供する符号化空間の中で提供されるビット数を表す。低ビット深さの一例は8ビットであり、高ビット深さの一例は12ビット以上である。特に、用語「低ビット深さ」又は「高ビット深さ」は、コードワードの最下位ビット又は最上位ビットを表さない。
【0030】
例示的な一実施形態では、マルチレイヤエンコーダ(102)は、入力VDR画像のシーケンスを有するソースビデオコンテンツ(104)(例えば、VDR等)を受信するよう構成される。入力VDR画像のシーケンスは、1又は複数のシーンを表す。各シーンは、VDR画像のシーケンスの中の複数の入力画像を有する。本願明細書で用いられるとき、「入力VDR画像」は、通常、ソース画像のVDRバージョン(例えば、ハイエンド画像取得装置によりキャプチャされたシーン参照画像)を得るために用いられ得る広又は高ダイナミックレンジ画像データを表す。入力VDR画像は、高ダイナミックレンジ色域をサポートする任意の色空間の中にあっても良い。幾つかの実施形態では、入力VDR画像は、VDR画像エンコーダ(102)にエンコードのための画像データを提供する、ソース画像に関する唯一の入力である。本願明細書に記載の技術の下で基本レイヤ処理のためのソース画像に関する入力画像データは、知覚量子化技術を用いて、入力VDR画像に基づき生成されても良い。
【0031】
例示的な一実施形態では、ソースビデオコンテンツ(104)(例えば、VDR等)からデコードされた入力VDR画像は、YCbCr色空間の12+ビットYCbCr画像である。一例では、入力VDR画像の中に提示される各ピクセルは、色空間(例えば、YCbCr色空間)について定められた全てのチャネル(例えば、輝度チャネルY、クロマチャネルCb及びCr、等)についてコードワードを有する。各コードワードは、色空間の中のチャネルのうちの1又は複数についてアップサンプリング又はダウンサンプリング済みコードワードを有する。
【0032】
例示的な一実施形態では、マルチレイヤエンコーダ(102)は、入力VDR画像のコードワードを、第1の色空間(例えば、RGB色空間、等)から第2の異なる色空間(例えば、YCbCr色空間、等)へ変換するよう構成される。
【0033】
例示的な一実施形態では、マルチレイヤエンコーダ(102)は、第1のサンプリングフォーマット(例えば、4:4:4サンプリングフォーマット等)の入力VDR画像を、第2の異なるサンプリングフォーマット(例えば、4:2:0サンプリングフォーマット等)にダウンサンプリング又はアップサンプリングするよう構成される。
【0034】
例示的な一実施形態では、マルチレイヤエンコーダ(102)は、(例えば、8ビット等の)BL画像データ(106)を生成するために、ソースビデオコンテンツ(104)に対して知覚量子化に関する動作を実行するよう構成される。知覚量子化に関する動作は、マッピング動作(114)、クリッピング動作(116)、BLエンコーディング動作(118)、等のうちの1又は複数を含むが、これらに限定されない。
【0035】
マッピング動作(114)では、マルチレイヤエンコーダ(102)は、マッピング関数を用いて、(例えば、VDR等の)ソースビデオコンテンツ(104)の中の1又は複数の入力VDR画像の中の(例えば、12ビット+等の)入力VDRコードワード(例えば、VDR輝度コードv、VDRクロマコードワードv、等)を、1又は複数のVDR画像に対応する1又は複数のマッピング済み画像の中のマッピング済みコードワード(例えば、マッピング済み輝度コードワードc、マッピング済みクロマコードワードc、等)にマッピングするよう構成される。
【0036】
クリッピング動作(116)では、マルチレイヤエンコーダ(102)は、最小値より低い又は最大値より高いマッピング済みコードワードをクリッピングするよう構成される。BL画像データ(106)のビット深さで利用可能なコードワードの数(例えば、8ビットのビット深さで<=256、等)は、未低下(undipped)のマッピング済みコードワードの数値範囲全体に適合するほど十分に大きくない場合がある。したがって、1又は複数のマッピング済み画像の中の最高マッピング済みコードワード及び/又は最低マッピング済みコードワードの一部は、クリッピング動作(116)において、最大値及び/又は最小値にクリッピングされても良い。マルチレイヤエンコーダ(102)は、1又は複数のマッピング済み画像及び1又は複数の因子に基づき、最適な最小及び最大値を決定し/選択するよう構成される。1又は複数の因子は、クリッピングされる必要のあるマッピング済みコードワードの数を最小化すること、クリッピング動作の後に1又は複数のマッピング済み画像の1又は複数の(例えば、目立った、中央、等)部分の提示された/知覚詳細を最大化すること、等を含むが、これらに限定されない。
【0037】
BLエンコーディング動作(118)では、マルチレイヤエンコーダ(102)は、ソースコードワード(例えば、v、等)を色空間(例えば、YCbCr色空間、等)の固有チャネル(例えば、輝度チャネル又はYチャネル、等)の中の対応するマッピング済みコードワード(例えば、c、等)にマッピングするために、マルチレイヤエンコーダ(102)の中のBLコーデックにより用いられるべき関数の最適な指数値を決定するよう構成される。幾つかの実施形態では、マルチレイヤエンコーダ(102)は、ソースコードワード(例えば、v、等)を色空間(例えば、YCbCr色空間、等)の固有チャネル(例えば、輝度チャネル又はYチャネル、等)の中の対応するマッピング済みコードワード(例えば、c、等)にマッピングするために、BLコーデックにより用いられる区分線形(piecewise−linear:PWL)マッピング関数のパラメータ値を決定するよう構成される。
【0038】
BLエンコーディング動作(118)では、マルチレイヤエンコーダ(102)は、べき関数の指数値及び/又はPWLマッピング関数のパラメータ値に基づき、ソースビデオコンテンツ(104)からデコードしたソースコードワードを、マッピング済みコードワードにマッピングし/圧縮し、及びマッピング済みコードワードをフォーマットするよう構成される。マッピング済みコードワードのうちの一部はクリッピングされる。マッピング済みコードワードのうちの一部又は全部は、高ビット深さVDRコードワードを低ビット深さマッピング済みコードワードにマッピングすることにより生じる量子化エラーを含む。マルチレイヤエンコーダ(102)は、(例えば、8ビット、等の)BL画像データ(106)を、(例えば4:2:0等の)サンプリングフォーマットの1又は複数の(例えば、8ビット、等の)BL画像コンテナにフォーマット化するよう更に構成される。
【0039】
一実施形態では、マルチレイヤエンコーダ(102)は、BL画像コンテナの中のBL画像データ(106)を、マルチレイヤビデオ信号の一部として下流装置(例えば、図1Bのマルチレイヤデコーダ152、等)へ出力する。
【0040】
例示的な一実施形態では、マルチレイヤエンコーダ(102)は、1又は複数のEL動作を実行するよう構成される。1又は複数のEL動作は、BLデコーディング動作(120)、逆マッピング動作(122)、減算動作(124)、非線形量子化動作(126)、ELエンコーディング動作(128)、等のうちの任意のものを含むが、これらに限定されない。
【0041】
BLデコーディング動作(120)では、マルチレイヤエンコーダ(102)は、(例えば、8ビット、等の)BL画像コンテナの中の(例えば、8ビット、等の)BL画像データ(106)を、1又は複数の入力VDR画像に対応する1又は複数のマッピング済み画像の中のマッピング済みコードワードにデコードして戻すよう構成される。
【0042】
逆マッピング動作(122)では、マルチレイヤエンコーダ(102)は、1又は複数のルックアップテーブル(LUT)に基づき、マッピング済みコードワードをVDRコードワードに逆にマッピングするよう構成される。逆マッピングのために用いられるLUTは、分析的に又は数値的に、予め決定された指数値を有するべき関数、及び/又は予め決定されたパラメータ値を有するPWLマッピング関数から導出できる。
【0043】
幾つかの実施形態では、これらのLUTの一部又は全部は、ルックアップキー(例えば、マッピング済みコードワード、等)及び該ルックアップキーに対応するルックアップ値(例えば、VDRコードワード、等)を有する。例えば、単に説明を目的として、マッピング済みコードワードをVDRコードワードに逆マッピングするために用いられる逆ID LUTは、次式にs=[0,1,2,...,255]を代入することにより構築できる。
【0044】
【数1】
ここで、c及びcは、それぞれ、マッピング動作及び/又はクリッピング動作で決定された輝度チャネルのマッピング済みコードワードの最小値及び最大値である。v及びvは、それぞれ、マッピング動作及び/又はクリッピング動作で決定された輝度チャネルのVDRコードワードの最小値及び最大値である。clip(...)は、不可逆圧縮(例えば、BLエンコーディング動作、等で生じ得る)の後の任意の範囲外(例えば、[c,c]の範囲外、等)が最近有効VDRコードワードに依然として逆マッピングできることを保証するためのクリッピング関数である。
【0045】
他の種類のLUT(例えば、PWLに基づく、等)も、同様の方法で数値的に構築できる。本願明細書に記載のLUTの各々は、BL画像データ(106)からデコードされたコードワードを、適用可能な色空間の1又は複数の固有チャネルの中の対応するVDRコードワードに逆マッピングするために用いられても良い。
【0046】
幾つかの実施形態では、マルチレイヤエンコーダ(102)は、下流装置(例えば、図1Bのマルチレイヤデコーダ152、等)によりVDR画像を再構成するためにELレイヤで伝達される必要のあるEL画像データの量を低減するために、BL−EL予測(例えば、イントラ及び/又はインター予測、等)を実施するよう構成される。マルチレイヤエンコーダ(102)は、逆マッピング動作(122)を通じて得られたVDRコードワードに少なくとも部分的に基づき、予測画像データを生成できる。
【0047】
減算動作(124)では、マルチレイヤエンコーダ(102)は、ソースビデオコンテンツ(104)からデコードされたVDRコードワードと、予測画像データの中で提示されるVDRコードワードとの間の残差値を生成するよう構成される。固有チャネル(例えば、輝度チャネル、Yチャネル、等)の中の残差値は、対数ドメイン又は線形ドメインの中で減算動作(124)により生成される差であっても良い。
【0048】
非線形量子化動作(126)では、マルチレイヤエンコーダ(102)は、第1のデジタル表現(例えば、12+ビット等)の残差値を、1又は複数のNLQパラメータを用いて色空間(例えば、YCbCr等)の第2のデジタル表現(例えば、8ビット等)に量子化するよう構成される。
【0049】
ELエンコーディング動作(128)では、マルチレイヤエンコーダ(102)は、非線形量子化動作により生成された(例えば、8ビット等の)残差値を、(例えば4:2:0等の)サンプリングフォーマットで(例えば、8ビット等の)EL画像コンテナの中のEL画像データ(108)にエンコードするよう構成される。拡張レイヤEL画像コンテナ及び基本レイヤBL画像コンテナの両者ともが単一のデジタルビデオ信号に同時に含まれ得るとしても(例えば、単一の符号化ビットストリーム、単一のメディアファイル、単一のブロードキャスト、等)、拡張レイヤのEL画像コンテナは、基本レイヤのBL画像コンテナと論理的に別個であっても良い。
【0050】
一実施形態では、マルチレイヤエンコーダ(102)は、EL画像コンテナの中のEL画像データ(108)を、マルチレイヤビデオ信号の一部として下流装置(例えば、図1Bのマルチレイヤデコーダ152、等)へ出力する。
【0051】
一実施形態では、マルチレイヤエンコーダ(102)は、マルチレイヤエンコーダ(102)の動作で用いられる動作パラメータのうちの一部又は全部を有するメタデータ(130)を、マルチレイヤビデオ信号の一部として、下流装置(例えば、図1Bのマルチレイヤデコーダ152、等)へ出力する。下流装置へ送信されるメタデータ(130)の中の動作パラメータは、マッピングパラメータ(134)及びNLQパラメータ(132)等による、1又は複数のマッピングパラメータ、クリッピングパラメータ、ガンマ圧縮のためのべき関数で用いられる指数値、逆マッピングパラメータ、LUT、PWL関数のピボット値、非線形量子化パラメータ、等のうちの任意のものを含むが、これらに限定されない。メタデータ(130)は、ELレイヤ及び/又はBLレイヤの中で、又は例えばビデオビットストリームの中で利用可能な相補的拡張情報(supplemental enhancement information:SEI)若しくは他の同様のメタデータキャリッジの一部としてビデオビットストリーム全体のうちの別個のサブビットストリームの中で伝達されるデータの一部であっても良い。例示的なサブビットストリームは、Dolby Laboratories, Incにより開発された参照処理ユニット(reference processing unit:RPU)であっても良い。
【0052】
例えば、逆マッピング動作(122)で用いられるLUTは、メタデータ(130)の一部として下流装置へ送信されても良い。幾つかの実施形態では、LUTの中のルックアップキー及び該ルックアップキーに対応する値は、メタデータ(130)の一部として、下流装置へ送信される。幾つかの実施形態では、少なくとも1つのLUTは、分析的関数又はマルチセグメント分析的関数により表現できる。LUTの中のルックアップキー及び該ルックアップキーに対応する値を下流装置へ送信する代わりに、送信されるメタデータ(130)の量を低減するために、分析的関数を定めるパラメータが、メタデータ(130)の一部として下流装置へ送信される。幾つかの実施形態では、LUTを数値的に導出するために用いられるマッピング関数の中のパラメータは、LUTの中のルックアップキー及び該ルックアップキーに対応する値を送信する代わりに、メタデータ(130)の一部として、下流装置へ送信される。下流装置は、式(1)で示したように、LUTを導出するためにパラメータを用いることができる。エンコーディング動作及びデコーディング動作を規定するビデオコーデック仕様は、本願明細書に記載の1又は複数のパラメータを、上流装置(例えば、マルチレイヤエンコーダ102等)から下流装置(例えば、マルチレイヤデコーダ152等)へ渡すための統語的(syntactic)要素を有しても良い。
【0053】
EL画像データ(108)、BL画像データ(106)及びメタデータは、ソースビデオコンテンツ(104)の中の比較的広いダイナミックレンジの入力画像を提示する比較的広いダイナミックレンジの(例えば、VDR、HDR、等の)画像のデコード済みバージョンを生成するために、下流装置により用いることができる。
【0054】
BLエンコーディング動作(118)、BLデコーディング動作(120)、ELエンコーディング動作(128)等ののような動作のうちの1又は複数は、H.264/AVC/HEVC、MPEG−2、VP8、VC−1、及び/又はその他のうちの任意の組合せを含むがこれらに限定されない複数のコーデックのうちの1又は複数を用いて実装されても良い。
【0055】
<5.マルチレイヤビデオデコーディング>
ビデオコンテンツを有するマルチレイヤビデオ信号(例えば、符号化ビットストリーム、等)は、マルチレイヤデコーダ(例えば、図1Bの152等)により受信され得る。幾つかの実施形態では、マルチレイヤデコーダ(152)により受信されるビデオコンテンツは、比較的低ビット深さのBL画像データ(例えば、図1A、1Bの106、等)、及びEL画像データ(例えば、図1A、1Bの108、等)を有する。幾つかの実施形態では、BL画像データ(106)及びEL画像データ(108)の両者は、比較的高ビット深さ(例えば、12+ビットVDR、等)のソースビデオコンテンツ(例えば、図1Aの104等)から引き出され/量子化される。幾つかの実施形態では、マルチレイヤデコーダ(152)は、マルチレイヤビデオ信号の一部としてBL画像データ(106)及びEL画像データ(108)を生成する動作で用いられる動作パラメータのうちの一部又は全部を有するメタデータ(130)を受信するよう構成される。
【0056】
幾つかの実施形態では、BL画像データ(106)は、基本レイヤコンテナ(例えば、8ビットYCbCr 4:2:0コンテナ等)の中に配置される。幾つかの実施形態では、EL画像データ(108)は、BL画像データ(106)から生成された予測画像データに対する、ソースビデオコンテンツ(104)(例えばVDR等)の残差画像データを有する。幾つかの実施形態では、EL画像データ(108)は、1又は複数の拡張レイヤコンテナ(例えば、1又は複数の8ビット残差データコンテナ、等)の中に置かれる。
【0057】
例示的な実施形態では、マルチレイヤデコーダ(152)は、マルチレイヤビデオ信号を生成するために用いられたソースビデオコンテンツの中のソース画像の再構成バージョン(例えば、再構成済みBL+ELビデオコンテンツ166等)を表す1又は複数の広いダイナミックレンジ(例えば、VDR等)の画像を生成するために、BL画像データ(106)及びEL画像データ(108)に対してPQに基づくデコーディング動作を実行するよう構成される。PQに基づくデコーディング動作は、BLデコーディング動作(160)、逆マッピング動作(162)、ELデコーディング動作(154)、非線形逆量子化動作(156)、加算動作(158)、等のうちの1又は複数を含むが、これらに限定されない。
【0058】
BLデコーディング動作(160)では、マルチレイヤデコーダ(152)は、(例えば、8ビット、等の)BL画像コンテナの中の(例えば、8ビット、等の)BL画像データ(106)を、1又は複数のマッピング済み画像(例えば、トーンマッピング済み画像)の中のマッピング済みコードワードにデコードするよう構成される。
【0059】
逆マッピング動作(162)では、マルチレイヤデコーダ(152)は、例えばメタデータ(130)からデコードした1又は複数のルックアップテーブル(LUT)に基づき、マッピング済みコードワードをVDRコードワードに逆にマッピングするよう構成される。幾つかの実施形態では、マルチレイヤデコーダ(152)は、ルックアップキー及び該ルックアップキーに対応する値の観点で、メタデータ(130)の中のLUTを直接受信するよう構成される。幾つかの実施形態では、マルチレイヤデコーダ(152)は、1又は複数の関数に関連する1又は複数の指数値、ピボット関連値、等のようなパラメータ値を受信し、該パラメータ値及び該1又は複数の関数を用いて逆マッピング動作(162)で適用すべき1又は複数のLUT(例えば、ルックアップキー及び該ルックアップキーに対応する値、等)を生成する(例えば、数値的に、等)よう構成される。
【0060】
ELエンコーディング動作(154)では、マルチレイヤエンコーダ(152)は、(例えば4:2:0等の)サンプリングフォーマットで(例えば、8ビット等の)EL画像コンテナの中にあっても良いEL画像データ(108)をデコードすることにより(例えば、8ビット等の)残差値を生成するよう構成される。
【0061】
非線形逆量子化動作(156)では、マルチレイヤデコーダ(152)は、デコードされた比較的低ビット深さのデジタル表現(例えば、8−ビット等)の残差値を、メタデータ(130)からデコードされた1又は複数のNLQパラメータを用いる色空間(例えば、YCbCr等)の比較的高いビット深さのデジタル表現(例えば、12+ビット等)に逆量子化するよう構成される。
【0062】
追加動作(158)で、マルチレイヤデコーダ(152)は、ELデコーディング動作で生成された残差値、及び逆マッピング動作(162)で生成されたVDRコードワードに基づき、1又は複数の広いダイナミックレンジ画像の再構成済みバージョンを生成するよう構成される。1又は複数の広いダイナミックレンジ画像の再構成済みバージョンは、例えばマルチレイヤデコーダ(152)と共に動作する又はそれを含む(例えば、HDR、VDR、等の)ディスプレイシステムによりディスプレイパネルに出力され及び/又はレンダリングされ得る。
【0063】
幾つかの実施形態では、マルチレイヤデコーダ(152)は、マルチレイヤデコーダ(152)によりVDR画像を再構成するためにELレイヤで伝達される必要のあるEL画像データの量を低減するために、BL−EL予測(例えば、イントラ及び/又はインター予測、等)を実施するよう構成される。マルチレイヤデコーダ(152)は、逆マッピング動作(122)を通じて得られたVDRコードワードに少なくとも部分的に基づき、追加動作(158)で用いられるべきVDRコードワードを有する予測画像データを生成できる。
【0064】
幾つかの実施形態では、マルチレイヤデコーダ(152)の逆マッピング(162)又はBLデコーディング動作(160)で用いられるコンポーネント又はモジュールは、マルチレイヤエンコーダ(102)の逆マッピング(120)又はBLデコーディング動作(118)で用いられるものと同じ又は実質的に同じであっても良い。
【0065】
マルチレイヤデコーダ(152)により実行される動作のうちの1又は複数は、H.264/AVC/HEVC、MPEG−2、VP8、VC−1、及び/又はその他のうちの任意の組合せを含むがこれらに限定されない複数のコーデックのうちの1又は複数を用いて実装されても良い。
【0066】
幾つかの実施形態では、非線形逆量子化器(156)、逆マッピング(162)、及び加算器(158)は、コンポーザユニット(163)の部分であっても良い。限定ではなく、一実施形態では、コンポーザユニット(163)は、プロセッサ上で実行する、又はFPGAなどのような専用ハードウェアを用いる、又は汎用及び専用プロセッサの組合せを用いる、プロセッサ可読命令を用いて実装されても良い。
【0067】
図1Cは、本発明の一実施形態による固定小数点数演算を用いて実装される「基本プロファイル」コンポーザ(163)のためのデータフローを示す。予測係数a、b及びc、逆量子化パラメータs、m、rmax、及びt、他のメタデータパラメータ(ピボット値x)、及び入力データxBL、xELが与えられると、コンポーザ動作は、次の通り表すことができる。
【0068】
【数2】
図1Dは、本発明の別の実施形態による固定小数点数演算を用いて実装される「主プロファイル」コンポーザ(163)のためのデータフローを示す。図1Dで、xBL[0]はルマチャネルサンプルを示し、xBL[1]及びxBL[2]は、クロマチャネルサンプルを示す。xBL[0]について、予測は、図1Cに示すように、係数a、b及びcを有する2次多項式を用いて実行されても良い。クロマサンプルでは、予測は、PCT出願番号PCT/US2012/033605、2012年4月13日出願に記載のように、2次多項式に基づいても良く、又はMMR(multiple−color channel multiple regression)に基づいても良い。該PCT出願は参照することによりその全体が本願明細書に組み込まれる。
【0069】
図1Dに示すEL逆量子化ステップは、パラメータ(s、m、t、rmax)を用いて、図1Cに更に詳細に示すものと同じであっても良い。固定係数空間アップサンプリングは、対応するフラグ(例えば、el_spatial_resampling_filter_flag)が1に設定される場合、使用中である。一実施形態では、2x2アップサンプリングフィルタは、8タップ水平フィルタ及び6タップ垂直フィルタと共に用いられている。EL空間アップサンプリング及びBL空間アップサンプリングは、相互に排他的であることにも留意する。
【0070】
<6.BL画像データの中の視覚的詳細の提示>
説明を目的として、マッピング動作(114)、クリッピング動作(116)、又はBLエンコーディング動作(118)等のうちの1又は複数において、マルチレイヤエンコーダ(102)は、ソースビデオコンテンツ(104)からデコードされたVDR輝度コードワードを、BL画像データ(106)に量子化されエンコーディングされ得る輝度コードワードにマッピングするために、マッピング関数として指数値(a)を有するべき関数を用いるよう構成される。べき関数は、次式で表される。
【0071】
【数3】
指数値(a、式(1)のものと同じであっても良い)が1であるとき、上述のべき関数は、線形量子化マッピングまで縮小(reduced)される。利用可能なビットレートが高いとき、塊状アーチファクトが高ビットレートでは起こり難いので、指数値は、場合によっては、比較的広い範囲の中で設定できる。利用可能なビットレートが低いとき、塊状アーチファクトが低ビットレートではより起こり易いので、指数値は、場合によっては、比較的狭い範囲の中で設定できる。高い指数値は、マッピング関数に低輝度レベルよりも相対的に多くのコードワードを高輝度レベルに割り当てさせ、BL画像データ(106)が再構成済み画像のハイライト部分に少ない圧縮アーチファクトでより多くの詳細を含むことができるようにする。しかしながら、高指数値は、異なる(例えば、VDR等の)ソースコードワードを、再構成済み画像の暗い部分の中の同じ又は非常に近い圧縮済みコードワードにマージする傾向がある。最悪の場合には、ソースビデオコンテンツの中の非フラットな(例えば、知覚可能な輝度変化、等を有する)暗い部分は、再構成済み画像の中で完全にフラットになり(例えば、0に近い又は人間の目の弁別閾より下の輝度変化を有する)、結果として非常に目立つ塊状アーチファクトを生じてしまう。
【0072】
塊状アーチファクトを防ぐのを助けるために、本願明細書に記載のマルチレイヤエンコーダ(例えば102)は、指数値が超えてはならない上限MAX_aを有し構成され得る。幾つかの実施形態では、この上限は、本願明細書に記載のマルチレイヤビデオ信号を受信するためにどんなビットレートが利用可能かに依存して構成され/設定され/決定され得る。マルチレイヤエンコーダ(例えば102)は、ソースビデオコンテンツに基づき、上限により制約される最適な指数値を決定するよう構成される。
【0073】
幾つかの実施形態では、全体最適指数値は、シーン全体、複数の入力VDR画像、等について、選択できる。入力VDR画像の各々について、先ず、画像固有最適指数値が、該入力VDR画像に基づき決定できる。次に、シーンの全体最適指数値は、シーンの中の1又は複数の入力VDR画像についての1又は複数の画像固有最適指数値から選択できる(例えば、最小指数値、等)。
【0074】
幾つかの実施形態では、入力VDR画像は、複数のVDR画像ブロックに分けることができる。画像ブロックのコードワードの間の標準偏差は、画像ブロックの中のテクスチャの個々の量の指標である。本願明細書に記載の非ゼロ標準偏差は、代替で、非ゼロ最大−最小差(例えば、画像ブロックの中の最大値と最小値との間の差、等)、非ゼロ分散、滑らかさ測定値、のうちの1つにより表現され又は決定できる。これらのうちの各々は、非ゼロ標準偏差又は非ゼロ分散等に対応する。反対に、代替で、本願明細書に記載のゼロ標準偏差は、ゼロ最大−最小差、ゼロ分散、滑らかさ測定値、のうちの1つにより表現され又は決定できる。これらのうちの各々は、ゼロ標準偏差又はゼロ分散、等に対応する。マッピングに含まれる塊状アーチファクトは、非ゼロ標準偏差を有するVDR画像ブロックが、ゼロ又は非常に小さい標準偏差(例えば、JNDの小さい部分、等)のマッピング済みコードワードを有する対応するマッピング済み画像ブロックにマッピングされるとき、生じる。幾つかの実施形態では、画像ブロック(例えば、VDR画像ブロック、マッピング済み画像ブロック、等)の中の非ゼロ標準偏差の決定は、該画像ブロックの中の最大値と最小値との間の非ゼロ差の決定と等価であり、またはそこまで縮小(reduced)される。同様に、画像ブロック(例えば、VDR画像ブロック、マッピング済み画像ブロック、等)の中のゼロ標準偏差の決定は、最大値と最小値との間のゼロ差の決定と等価であり、またはそこまで縮小(reduced)される。ここで、マッピング済み画像ブロックは、SDRディスプレイでの閲覧に最適化されていない圧縮画像データをキャプチャする。
【0075】
<7.べき関数における指数値の例示的な決定>
幾つかの実施形態では、マッピング動作(114)、クリッピング動作(116)、又はBLデコーディング動作(118)等のうちの1又は複数において、マルチレイヤエンコーダ(102)は、ソースビデオコンテンツ(104)からデコードされたVDRコードワード(例えば、VDR輝度コードワード、等)を、BL画像データ(106)の一部として量子化されエンコーディングされ得るマッピング済みコードワード(例えば、マッピング済み輝度コードワード、等)にマッピングするために、べき関数を用いるよう構成される。幾つかの実施形態では、図2Aに示すように、マルチレイヤエンコーダ(例えば、102)は、マッピングべき関数の最適指数値aを特定するために、高速検索アルゴリズム又は処理フローを実施する。
【0076】
ブロック202で、マルチレイヤエンコーダ(102)は、以下のように初期化動作を実行する。シーンの中のF個の入力VDR画像のセットの中の各入力VDR画像jについて、マルチレイヤエンコーダ(102)は、最適指数値αopt[j]を1.0に初期化する。マルチレイヤエンコーダ(102)は、シーンの中のF個の入力VDR画像のセットの中の各入力VDR画像を、N個の画像ブロックに分割する。マルチレイヤエンコーダ(102)は、さらに、jを開始値、例えば0に設定する。
【0077】
ブロック204で、マルチレイヤエンコーダ(102)は、jがFより小さいかどうかを決定する。真の場合、処理フローは、ブロック206へ進む。偽の場合、処理フローは、ブロック220へ進む。
【0078】
ブロック206で、入力VDR画像jの中の各画像ブロックnについて、マルチレイヤエンコーダ(102)は、該画像ブロックの中の最大輝度値及び最小輝度値B(j,n)及びA(j,n)を計算する。入力VDR画像jの中の非ゼロ標準偏差を有する画像ブロックのセットΦjは次式に基づき構築される。
【0079】
【数4】
追加で、マルチレイヤエンコーダ(102)は、局所変数αを初期値、例えば1.0に初期化する。
【0080】
ブロック208で、マルチレイヤエンコーダ(102)は、αがMAX_aより小さいかどうかを決定する。真の場合、処理フローは、ブロック210へ進む。偽の場合、処理フローは、ブロック218へ進む。
【0081】
ブロック210で、セットΦの中の各画像ブロックについて、マルチレイヤエンコーダ(102)は、αのような指数値を有するべき関数に基づき、該ブロックの中のVDRコードワード(例えば、VDR輝度コードワード、等)を、対応するマッピング済み画像ブロックの中のマッピング済みコードワード(例えば、マッピング済み輝度コードワード、等)にマッピングし、次式に示すように、セットΦから導出されるマッピング済み画像ブロックのセットの中のマッピング済み画像ブロックの中の最大値及び最小値b(j,n)及びa(j,n)を計算する。
【0082】
【数5】
続いて、マルチレイヤエンコーダ(102)は、次式に示すように、閾Tσより大きい標準偏差を有するマッピング済み画像ブロックの合計数を決定する。
【0083】
【数6】
ここで、Tσは、ゼロ(0)、ゼロに近い値、JNDの一部、マッピング動作における量子化エラーの上限、等のうちの1つに設定され得る。
【0084】
ブロック212で、マルチレイヤエンコーダ(102)が、非ゼロ標準偏差を有するマッピング済み画像ブロックの合計数が、セットΦの中の要素の合計数と等しいかどうかを決定する。真の場合、処理フローは、ブロック214へ進む。偽の場合、処理フローは、ブロック218へ進む。
【0085】
ブロック214で、マルチレイヤエンコーダ(102)は、αopt[j]をαに設定する。
【0086】
ブロック216で、マルチレイヤエンコーダ(102)は、αを、正の増分、例えば0.1だけインクリメントする。処理は、ブロック208に進む。
【0087】
ブロック218で、マルチレイヤエンコーダ(102)は、jを1だけインクリメントする。処理は、ブロック204に進む。
【0088】
ブロック220で、マルチレイヤエンコーダ(102)は、シーンの中のF個の入力VDR画像のセットについて全体最適指数値として、αopt[j]のうちの1つを選択する。ここで、jは0から(F−1)である。
【0089】
幾つかの実施形態では、全体最適指数値は、次式に示すようにαopt[j]の中から最小値として選択される。ここで、jは0から(F−1)である。
【0090】
【数7】
式(7)に示すような全体最適指数値を有するマッピングべき関数の使用は、マッピングに起因する完全なフラット画像ブロックが、F個の入力VDR画像のセットからマッピングされた全ての画像の中で生じるのを防ぐ、又はその可能性を低減する。
【0091】
幾つかの他の実施形態では、全体最適指数値は、αopt[j]の中の最小値に近い値であっても良いが、必ずしも最小値ではなくても良い。ここで、jは0から(F−1)である。最小ではない全体最適指数値を有するべき関数の使用は、依然として、1又は複数のマッピングに起因する完全なフラット画像ブロックを、F個の入力VDR画像のセットからマッピングされた画像のうちの1又は複数の中で生じさせてしまう場合がある。
【0092】
図2Aに示す動作の例示的なアルゴリズムのリストは、以下のテーブルに示される。[表1]
【0093】
【表1】
<8.区分線形量子化を含む線形量子化におけるパラメータ値の例示的な決定>
幾つかの実施形態では、マッピング動作(114)、クリッピング動作(116)、又はBLデコーディング動作(118)等のうちの1又は複数において、マルチレイヤエンコーダ(102)は、ソースビデオコンテンツ(104)からデコードされたVDRコードワード(例えば、VDRクロマコードワード、等)を、BL画像データ(106)の一部として量子化されエンコーディングされ得るマッピング済みコードワード(例えば、マッピング済みクロマコードワード、等)にマッピングするために、PWLマッピング関数(又はPWL量子化)を用いるよう構成される。PWLマッピング関数は、それぞれパラメータm及びbの異なる値を有する次式(ここでは丸め込みは無視する)により表される1又は複数のセグメントを有しても良い。
【0094】
【数8】
ここで、m及びbは、勾配及び阻止(intercept)パラメータであり、iは入力変数v(例えば、i番目のVDRクロマコードワード等)及びマッピング済みコードワードs(例えば、対応するi番目のVDRクロマコードワード等)に関連するインデックスである。
【0095】
PWLマッピング関数の中の合計セグメント数が1であるとき、PWLマッピング関数は、線形マッピング関数(例えば、線形量子化、線形量子化器、等)まで軽くできる。
【0096】
式(8)の中のmが大きいほど、式(8)の左辺にあるマッピングコードワードのより多くの圧縮をもたらし、塊状アーチファクトをより起こり易くする。符号化効率を向上するtまえに、最終的に選択されるm及びbは、シーン全体の中で同じであっても良い。幾つかの実施形態では、単一セグメント又は3セグメントPWLマッピング関数が、VDRコードワード(例えば、VDRクロマコードワード等)を、シーンの中のマッピング済みコードワード(例えば、マッピング済みクロマコードワード等)にマッピングするために用いられても良い。
【0097】
マルチセグメントPWLマッピング関数(例えば、3セグメントPWLマッピング関数、等)の使用は、異なる線形量子化器(例えば、mの異なる値、等)を、異なる範囲の入力VDR画像(例えば、入力VDRクロマコードワード等)に適用可能にする。入力VDRデータの第1のクロマ範囲は、PWLマッピング関数の第1のセグメントにマッピングできる。入力VDRデータの第2のクロマ範囲は、PWLマッピング関数の第2のセグメントにマッピングできる。入力VDRデータの第3のクロマ範囲は、PWLマッピング関数の第3のセグメントにマッピングできる。複数のセグメントの各々について、最適線形量子化器が検索され決定できる。アルゴリズムは、シーンの中の入力VDR画像のセットの中の各入力VDR画像について画像固有最適パラメ―タ値を検索するよう実装されても良い。次に、合意又は全体最適パラメータ値が、同じシーンの中の入力VDR画像の全ての画像固有最適パラメータ値の中で見付けられる。
【0098】
本願明細書に記載のPWLマッピング関数は、回転軸により指定できる。幾つかの実施形態では、図2Bに示すように、マルチレイヤエンコーダ(例えば、102)は、回転軸の最適セットを特定するために、高速検索アルゴリズム又は処理フローを実施する。
【0099】
ブロック252で、マルチレイヤエンコーダ(102)は、以下のように初期化動作を実行する。シーンの中のF個の入力VDR画像のセットの中の各入力VDR画像jについて、マルチレイヤエンコーダ(102)は、勾配倍率wopt[j]を1.0に初期化する。マルチレイヤエンコーダ(102)は、F個の入力VDR画像のセットの中の各入力VDR画像を、N個の画像ブロックに分割し、又はシーンの中のF個の入力VDR画像のセットの中の各入力VDR画像の中で分割されたN個の画像ブロックを、最適なαを検索するために用いられる処理フローで再利用するよう構成されても良い。マルチレイヤエンコーダ(102)は、さらに、jを開始値、例えば0に設定する。
【0100】
ブロック254で、マルチレイヤエンコーダ(102)は、jがFより小さいかどうかを決定する。真の場合、処理フローは、ブロック256へ進む。偽の場合、処理フローは、ブロック270へ進む。
【0101】
ブロック256で、入力VDR画像jの中の各画像ブロックnについて、マルチレイヤエンコーダ(102)は、該画像ブロックの中の最大、最小、及び平均値D(j,n)、E(j,n)、μ(j,n)(例えば、VDRクロマコードワード等)を計算する。マルチレイヤエンコーダ(102)は、次式に基づき、該画像ブロックの中の最大及び最小値D(j,n)及びE(j,n)に対応するマッピング済み値djn(w)、ejn(w)(例えば、マッピング済みクロマコードワード等)も計算する。(ここでは、8ビット基本レイヤについて説明する。10ビット基本レイヤの場合には、例示的なクリッピング関数はclip(x、0,1023)である。)
【0102】
【数9】
ここで、C、C、v、v、v、v、Cは、最大マッピング済み輝度コードワード値、最小マッピング済み輝度コードワード値、最大入力VDR輝度コードワード値、最小入力VDR輝度コードワード値、最大入力VDR画像クロマコードワード値、最小入力VDRクロマコードワード値、及び上述の式(10)、(11)により表される線形関係におけるパラメータである。マルチレイヤエンコーダ(102)は、次式に基づき、入力VDR画像jの中で非ゼロ標準偏差を有するが対応するマッピング済みクロマコードワード値の中でゼロ標準偏差を有する画像ブロックのセットKを構築する。
【0103】
【数10】
ブロック258で、マルチレイヤエンコーダ(102)は、セットKが空かどうかを決定する。真の場合、処理フローは、ブロック276へ進む。偽の場合、処理フローは、ブロック260へ進む。
【0104】
ブロック276で、マルチレイヤエンコーダ(102)は、入力VDR画像jの単一セグメント線形量子化器を用い、次式によりパラメータを設定するよう構成される。
【0105】
【数11】
ブロック260で、マルチレイヤエンコーダ(102)は、次式の中のセットKから、平均値の最大値及び最小値を見付ける。
【0106】
【数12】
平均値の最小値及び最大値(μmin(j)及びμmax(j))は、v及びvの間の入力VDRクロマコードワード値の全範囲を、3つのセグメント[v,μmin(j)]、[μmin(j),μmax(j)]、[μmax(j),v]に区分するために用いることができる。
【0107】
入力VDRクロマコードワード値を区分するために式(18)及び(19)を使用することは、説明のみを目的としていることに留意すべきである。他の実施形態では、例えば、シーンの中の入力画像のセットの平均、最大又は最小入力クロマコードワード値からより多くの又はより少ない区分を生成することにより、より多くの又はより少ない値(例えば、これらの値のうちの任意の2つの値の間の中点及び/又は小数部分、等)又はセグメントを用いることができる。
【0108】
本発明の目的のために、入力画像のセットは、可変数の入力画像を有しても良く、及び/又はシーンに関連しても良く関連しなくても良いことに留意すべきである。例えば、図2A及び2Bの処理フローは、シーンの一部に属する入力画像のセットを伴い実行されても良い。また、他の実施形態では、図2A及び2Bの処理フローは、単一シーンに属しない入力画像のセットを伴い実行されても良い。
【0109】
ブロック260で、マルチレイヤエンコーダ(102)は、次式に基づき、画像ブロックの3個のセットK、K、Kを構築するよう構成され得る。
【0110】
【数13】
示したように、Kは、VDRクロマ値において非ゼロ標準偏差を有するがマッピング済みクロマ値においてゼロ標準偏差を有し勾配倍率wが1.0に設定されたPWLマッピング関数の中央セグメントの中のVDR画像ブロックを表す。Kは、VDRクロマ値において非ゼロ標準偏差を有する、PWLマッピング関数の低セグメントの中のVDR画像ブロックを表す。Kは、VDRクロマ値において非ゼロ標準偏差を有する、PWLマッピング関数の高セグメントの中のVDR画像ブロックを表す。
【0111】
ブロック262で、マルチレイヤエンコーダ(102)は、次式に示すように、セットKに用いられるべき勾配倍率wの候補値の配列Ωを設定するよう構成される。
【0112】
【数14】
ここで、Δwは設定可能又は固定減少値であり、SはΩの中の設定可能又は固定数の配列要素である。
【0113】
0とSの間の各整数値の中の局所変数sについて、マルチレイヤエンコーダ(102)は、式(10)及び(11)を用いて、Kの中のnを有する各画像ブロックについて、最大及び最小クロマ値D(j,n)及びE(j,n)に対応するマッピング済みクロマ値djn(w)及びejn(w)を計算する又は再計算する。ここで、次式に示すように、セットKのために用いられるべき勾配倍率wは、Ωの中の候補値に設定される。
【0114】
【数15】
追加で、0とSとの間の各整数値の中のsについて、マルチレイヤエンコーダ(102)は、数量π(s)を計算する。π(s)は、次式に示すように、Kの中の要素の数(|K|と表す)を、閾値Tより上のマッピング済みクロマ値における標準偏差を有する画像ブロックの数と比較する。
【0115】
【数16】
π(s)に基づき、PWLマッピング関数の低セグメントの勾配の最適倍率wは、次式により導出できる。
【0116】
【数17】
ここで、soptは次の通り与えられる。
【0117】
【数18】
上述の処理は、PWLマッピング関数の0、1、2、又はさらに多くの他のセグメントの0、1、2、又はさらに多くの他の最適倍率を導出するために用いることができる。例えば、ブロック264で、マルチレイヤエンコーダ(102)は、次式に示すように、セットKに用いられるべき勾配倍率wの候補値の配列Ωを設定するよう構成される。
【0118】
【数19】
ここで、Δwは設定可能又は固定減少値であり、SはΩの中の設定可能又は固定数の配列要素である。
【0119】
0とSの間の各整数値の中の局所変数sについて、マルチレイヤエンコーダ(102)は、式(10)及び(11)を用いて、Kの中のnを有する各画像ブロックについて、最大及び最小クロマ値D(j,n)及びE(j,n)に対応するマッピング済みクロマ値djn(w)及びejn(w)を計算する又は再計算する。ここで、次式に示すように、セットKのために用いられるべき勾配倍率wは、Ωの中の候補値に設定される。
【0120】
【数20】
追加で、0とSとの間の各整数値の中のsについて、マルチレイヤエンコーダ(102)は、数量π(s)を計算する。π(s)は、次式に示すように、Kの中の要素の数(|K|と表す)を、閾値Tより上のマッピング済みクロマ値における標準偏差を有する画像ブロックの数と比較する。
【0121】
【数21】
π(s)に基づき、PWLマッピング関数の中央セグメントの勾配の最適倍率wは、次式により導出できる。
【0122】
【数22】
ここで、soptは次の通り与えられる。
【0123】
【数23】
ブロック266で、マルチレイヤエンコーダ(102)は、次式に示すように、セットKに用いられるべき勾配倍率wの候補値の配列Ωを設定するよう構成される。
【0124】
【数24】
ここで、Δwは設定可能又は固定減少値であり、SはΩの中の設定可能又は固定数の配列要素である。
【0125】
0とSの間の各整数値の中の局所変数sについて、マルチレイヤエンコーダ(102)は、式(10)及び(11)を用いて、Kの中のnを有する各画像ブロックについて、最大及び最小クロマ値D(j,n)及びE(j,n)に対応するマッピング済みクロマ値djn(w)及びejn(w)を計算する又は再計算する。ここで、次式に示すように、セットKのために用いられるべき勾配倍率wは、Ωの中の候補値に設定される。
【0126】
【数25】
追加で、0とSとの間の各整数値の中のsについて、マルチレイヤエンコーダ(102)は、数量π(s)を計算する。π(s)は、次式に示すように、Kの中の要素の数(|K|と表す)を、閾値Tより上のマッピング済みクロマ値における標準偏差を有する画像ブロックの数と比較する。
【0127】
【数26】
π(s)に基づき、PWLマッピング関数の高セグメントの勾配の最適倍率wは、次式により導出できる。
【0128】
【数27】
ここで、soptは次の通り与えられる。
【0129】
【数28】
ブロック268で、マルチレイヤエンコーダ(102)は、jを1だけインクリメントする。処理は、ブロック254に進む。
【0130】
ブロック270で、次式に示すように、マルチレイヤエンコーダ(102)は、PWLマッピング関数のピボットの座標を定めるために用いられるべき最適パラメータのセットを生成する。
【0131】
【数29】
ブロック272で、次式に示すように、最適パラメータのセットに基づき、マルチレイヤエンコーダ(102)は、PWLマッピング関数の全てのピボット(例えば、4つのピボット)の座標を生成する。
【0132】
【数30】
【0133】
【数31】
ここで、pivot_x[]及びpivot_y[]は、それぞれ4つのピボットのx座標及びy座標を表す2つの配列である。
【0134】
ブロック274で、マルチレイヤエンコーダ(102)は、PWLマッピング関数のy座標に対応するために必要なコードワードの合計数が、BL画像データをエンコードするために使用されるコード空間の中の利用可能なコードワードの合計数(例えば、255等)を超えるか否かを決定するよう構成される。例えば、マルチレイヤエンコーダ(102)は、pivot_y[3]が利用可能なコードワードの合計数(例えば、255等)より大きいか否かを決定するよう構成され得る。肯定的である場合、0乃至3の各値における局所変数nについて、マルチレイヤエンコーダ(102)は、次式により、PWLマッピング関数のy座標を圧縮するよう構成され得る。
【0135】
【表2】
図2Bに示す動作の例示的なアルゴリズムのリストは、以下のテーブルに示される。[表2]
【0136】
【数32】
幾つかの例示的な実施形態では、線形又は非線形量子化器のうちの1又は複数は、高いビット深さ(例えば、12+ビット等)の画像データを低いビット深さ(例えば、8ビット等)の画像データに量子化するために用いられても良い。異なる色空間及び/又は異なる色チャネルの中の異なる量子化器が選択されても良い。例えば、(例えば、滑らかな領域の中の、等の)輪郭アーチファクト及び他のアーチファクトを緩和し/低減し/除去するために、ビデオ信号は、異なる色空間及び/又は異なる量子化方法で量子化されても良い。幾つかの実施形態では、本願明細書に記載の量子化は、線形量子化、線形ストレッチング、曲線に基づく/非均一量子化確率密度関数(Pdf)最適化量子化、ベクトル量子化、等のうちの1又は複数を有しても良い。全体最適化パラメータ値は、フレーム、複数のフレーム、シーン、複数のシーン、等のうちの任意のものに基づき選択されても良い。幾つかの実施形態では、特定種類の量子化は、1又は複数の種類の予測方法及び/又は逆マッピングとの対応する関係を有しても良い。
【0137】
量子化は、個々のチャネル毎に、又は2以上のチャネルに同時に、実行されても良い。例示的な実施形態では、ベクトル量子化は、2以上の色チャネルに渡り実行されても良い。例えば、座標系(例えば、3Dデカルト、等)は、色空間の中の色チャネルを用いて軸として設定されても良い。回転のような空間変換は、色空間の中の2以上の色チャネルの組合せ(又は投影の和)として定められる新しい軸を生成するために、座標系の中で実行されても良い。新しい軸のうちの1つを形成するために投影されるとき、2以上の色チャネルの中のコードワードは、新しい軸のうちの該1つに渡り、量子化器により一緒に量子化されても良い。
【0138】
幾つかの実施形態では、VDRデコーダ側で圧縮済み出力VDR画像データにより高知覚品質を維持しながら、出力マルチレイヤVDR画像データをどれだけ良好に圧縮できるかに基づき、固有量子化方法が選択されても良い。
【0139】
幾つかの実施形態では、固有量子化方法及び/又は最適パラメータ値は、コーデックの弱点を補うために選択されても良い。例えば、コーデックは、黒色領域を圧縮するときに良好に実行されなくても良く、再構成済みVDR画像の中の輪郭アーチファクトを出力しても良い。本願明細書に記載の量子化は、再構成済みVDR画像の中で目に見える輪郭アーチファクトの少ない画像データを生成するために、固有曲線(例えば、S字曲線、ミューロー(mu−law)、人間の知覚に基づく曲線、等)を用いても良い。
【0140】
本願明細書に記載の技術によるマルチレイヤエンコーダは、マルチレイヤエンコーダにより処理されるべき画像コンテンツの唯一の入力として、入力VDR画像データを取り入れても良い。入力VDR画像データは拡張レイヤデータ処理に供給されても良いが、オンザフライで(例えば、入力VDRがVDRエンコーダに入力されるのと同じワイヤスピードで)実行され得る知覚量子化は、本願明細書に記載の基本レイヤデータ処理への入力画像データを生成するために用いられても良い。
【0141】
本願明細書に記載の量子化は、1又は複数の異なる方法で実行されても良い。量子化は、フレーム全体又はシーン全体が単一の設定を用いて量子化されるグローバル量子化を実行しても良い。量子化は、各フレームが複数の重なり合わない領域に区分される区分に基づく(局所)量子化を実行しても良い。各々の重なり合わない領域は、それ自体の設定を用いて量子化される。量子化は、各フレームが複数の重なり合わない領域に区分される区分に基づく(局所)量子化を実行しても良い。各々の重なり合わない領域は、それ自体の設定を用いて量子化されるが、特定の重なり合わない領域の量子化器設定は、1又は複数の重なり合う領域から導出された分析データに基づき決定される。高度な量子化は、1又は複数の異なる色空間のうちの任意の色空間の中で適用されても良い。高度な量子化が適用され得る色空間の例は、RGB色空間、YCbCr色空間、YCoCg色空間、ACES色空間、又は他の色空間のうちの任意の色空間を含むが、これらに限定されない。
【0142】
幾つかの実施形態では、量子化が適用される色空間は、予測が実行される色空間と同じ色空間に保たれる。これは、VDR画像エンコーディング処理とVDR画像デコーディング処理の両方において該当し得る。色空間変換は、画像レンダリングが生じる色空間が量子化が生じる色空間と異なる場合、必要に応じて実行されても良い。
【0143】
<9.例示的な処理フロー>
図3Aは、本発明の例示的な一実施形態による、例示的な処理フローを示す。
【0144】
幾つかの例示的な実施形態では、1又は複数のコンピューティング装置又はコンポーネントは、この処理フローを実行しても良い。ブロック302で、マルチレイヤVDRビデオエンコーダ(例えば、図1Aの102)は、入力VDR(visual dynamic range)画像のシーケンスを受信する。
【0145】
ブロック304で、マルチレイヤVDRビデオエンコーダ(102)は、マッピング関数の関数パラメータ値の複数の候補セットからマッピング関数の関数パラメータ値の1つの候補セットを選択する。
【0146】
ブロック306で、マルチレイヤVDRビデオエンコーダ(102)は、入力VDR画像のシーケンスの中の少なくとも1つの入力VDR画像の中のVDRコードワードの中の非ゼロ標準偏差の画像ブロックのセットを構築する。
【0147】
ブロック308で、マルチレイヤVDRビデオエンコーダ(102)は、関数パラメータ値の候補セットを有するマッピング関数を、少なくとも1つの入力VDR画像の中の画像ブロックのセットの中のVDRコードワードに適用することにより、マッピング済みコード値を生成する。
【0148】
ブロック310で、マルチレイヤVDRビデオエンコーダ(102)は、マッピング済みコード値に基づき、マッピング済みコードワ―ドの中の閾値より低い標準偏差の画像ブロックのサブセットを決定する。ここで、画像ブロックのサブセットは、画像ブロックのセットの中の一部である。
【0149】
ブロック312で、マルチレイヤVDRビデオエンコーダ(102)は、画像ブロックのサブセットに少なくとも部分的に基づき、少なくとも1つの入力VDR画像をマッピングするために関数パラメータ値の候補セットがマッピング関数にとって最適か否かを決定する。
【0150】
一実施形態では、少なくとも1つの入力VDR画像をマッピングするために関数パラメータ値の候補がマッピング関数にとって最適であると決定するのに応答して、マルチレイヤVDRビデオエンコーダ(102)は、少なくとも1つの入力VDR画像を有する複数の入力VDR画像をマッピングするためにマッピング関数により関数パラメータ値の候補セットが関数パラメータ値の全体最適セットとして用いられるべきか否かを決定する。
【0151】
一実施形態では、関数パラメータ値の候補セットが、少なくとも1つの入力VDR画像を有する複数の入力VDR画像をマッピングするためにマッピング関数により関数パラメータ値の全体最適セットとして用いられるべきであると決定するのに応答して、マルチレイヤVDRビデオエンコーダ(102)は、関数パラメータ値の全体最適セットを有するマッピング関数を複数のVDR画像に適用することにより、複数の入力VDR画像に対応する複数のマッピング済み画像を生成するステップと、基本レイヤ(BL)画像データのような複数のマッピング済み画像を出力マルチレイヤビデオ信号に圧縮するステップと、を更に実行するよう構成される。
【0152】
一実施形態では、マルチレイヤVDRビデオエンコーダ(102)は、BL画像データをデコードするステップと、BL画像データの逆マッピングに少なくとも部分的に基づき、予測画像データを生成するステップと、予測画像データ及び少なくとも1つの入力VDR画像に少なくとも部分的に基づき、残差値を生成するステップと、予測画像データ及び少なくとも1つの入力VDR画像に少なくとも部分的に基づき、残差値を生成するステップと、EL画像データを生成するために非線形量子化を残差値に適用するステップであって、残差値は高ビット深さ値を有し、EL画像データは低ビット深さ値を有する、ステップと、EL画像データを出力マルチレイヤビデオ信号に圧縮するステップと、を更に実行するよう構成される。
【0153】
一実施形態では、非ゼロ標準偏差の画像ブロックのセットは、複数のVDR値範囲の中の固有VDR値範囲の中のVDRコードワードを伴い計算される。複数のVDR値範囲は、高値範囲、中値範囲、又は低値範囲のうちの1又は複数を有する。一実施形態では、マルチレイヤVDRビデオエンコーダ(102)は、非ゼロ標準偏差の画像ブロックのセットについてVDR統計値のセットを計算するステップであって、VDR統計値のセットの中の個々のVDR統計値は、非ゼロ標準偏差の画像ブロックのセットの中の個々の画像ブロックのVDRコードワードの中の算術平均、算術的中間値、幾何平均、幾何的中間値、最大又は最小のうちの1つを表す、ステップと、VDR統計値のセットに基づき、複数のVDR値範囲を生成するステップと、を更に実行するよう構成される。
【0154】
一実施形態では、入力VDR画像のシーケンスから引き出されたBL画像データは、第1の8ビットエンコーダによりマルチレイヤビデオ信号に圧縮され、入力VDR画像のシーケンスから引き出されたEL画像データは、マルチレイヤエンコーダの中の第2の8ビットエンコーダによりマルチレイヤビデオ信号に圧縮される。
【0155】
図3Bは、本発明の例示的な一実施形態による、例示的な処理フローを示す。幾つかの例示的な実施形態では、1又は複数のコンピューティング装置又はコンポーネントは、この処理フローを実行しても良い。ブロック352で、マルチレイヤVDRビデオデコーダ(例えば、図1Bの152)は、マルチレイヤビデオ信号の少なくとも一部から、基本レイヤ(BL)画像データを受信する。
【0156】
ブロック354で、マルチレイヤVDRビデオデコーダ(152)又は基本レイヤビデオデコーダ(172)は、BL画像データをデコードして、複数のマッピング済み画像を生成する。
【0157】
ここで、複数のマッピング済み画像は、関数パラメータ値の全体最適セットを有するマッピング関数を、複数のVDR(visible dynamic range)画像に適用することにより引き出された。関数パラメータ値の全体最適セットは、マッピング関数の関数パラメータ値の複数の個々の最適セットから選択されても良い。関数パラメータ値の個々の最適セットは、複数のVDR画像の中の少なくとも1つのVDR画像に、関数パラメータの複数の候補セットを有するマッピング関数を適用することに少なくとも部分的に基づき決定される。
【0158】
一実施形態では、マルチレイヤVDRビデオデコーダ(152)又は基本レイヤビデオデコーダ(172)は、ディスプレイシステムの中で複数のマッピング済み画像をレンダリングするよう構成される。
【0159】
一実施形態では、マルチレイヤVDRビデオデコーダ(152)は、複数のマッピング済み画像の逆マッピングに少なくとも部分的に基づき、予測画像データを生成するステップと、マルチレイヤビデオ信号からEL画像データをデコードするステップと、EL画像データに非線形逆量子化を適用して残差値を生成するステップであって、残差値は高ビット深さ値を有し、EL画像データは低ビット深さ値を有する、ステップと、予測画像データ及び残差値に少なくとも部分的に基づき、少なくとも1つのVDR画像を生成するステップと、を更に実行するよう構成される。一実施形態では、マルチレイヤVDR画像デコーダ(152)は、VDRディスプレイシステムの中で少なくとも1つのVDR画像をレンダリングするよう構成される。
【0160】
一実施形態では、複数の入力VDR画像又は複数のマッピング済み画像は、シーンを形成する。
【0161】
一実施形態では、本願明細書に記載の逆マッピングは、関数パラメータ値の全体最適セットを有するマッピング関数から生成された1又は複数のルックアップテーブルに基づく。
【0162】
一実施形態では、本願明細書に記載のマッピング関数は、べき関数、線形量子化関数、又は区分線形量子化関数、のうちの少なくとも1つを表す。
【0163】
一実施形態では、本願明細書に記載のマッピング関数の関数パラメータ値の候補セットは、べき関数の候補指数値を表す。
【0164】
一実施形態では、本願明細書に記載のマッピング関数の関数パラメータ値の候補セットは、区分線形量子化関数の1又は複数のピボットを表す。
【0165】
一実施形態では、本願明細書に記載の非ゼロ標準偏差の画像ブロックのセットは、色空間の複数のチャネルの中の固有チャネルのVDRコードワードを伴い計算される。複数のチャネルは、輝度チャネル、クロマチャネル、赤色チャネル、青色チャネル、緑色チャネル、又は他の主チャネルのうちの1又は複数を有しても良い。一実施形態では、異なるマッピング関数は、複数のチャネルの中の異なるチャネルの異なるVDRコードワードをマッピングするために用いられる。
【0166】
一実施形態では、本願明細書に記載のビデオエンコーダの中の1又は複数のエンコーダのうちの少なくとも1つは、異なるビット深さのうちの1つのエンコーダ(例えば、8ビットエンコーダ、10ビットエンコーダ、12ビットエンコーダ、等)、AVC(advanced video coding)エンコーダ、MPEG(Moving Picture Experts Group)−2エンコーダ、HEVC(High Efficiency Video Coding)エンコーダ、等のうちの任意のものを有する。
【0167】
一実施形態では、本願明細書に記載のビデオデコーダの中の1又は複数のデコーダのうちの少なくとも1つは、異なるビット深さのうちの1つのデコーダ(例えば、8ビットデコーダ、10ビットデコーダ、12ビットデコーダ、等)、AVC(advanced video coding)デコーダ、MPEG(Moving Picture Experts Group)−2デコーダ、HEVC(High Efficiency Video Coding)デコーダ、等のうちの任意のものを有する。
【0168】
一実施形態では、本願明細書に記載の入力VDR画像又はマッピング済み画像は、知覚エンコードされる。
【0169】
種々の例示的な実施形態では、エンコーダ、デコーダ、システム、装置、又は1又は複数の他のコンピューティング装置は、記載されたような前述の方法のうち任意のもの又はその一部を実行する。
【0170】
<10.実装メカニズム−ハードウェア概要>
一実施形態によると、本願明細書に記載した技術は、1又は複数の特定目的コンピュータ装置により実施される。特定目的コンピュータ装置は、この技術を実行するためにハードウェアに組み込まれても良く、この技術を実行するよう永続的にプログラムされた1又は複数の特定用途向け集積回路(ASIC)若しくはフィールドプログラマブルゲートアレイ(FPGA)のようなデジタル電子装置を有しても良く、この技術を実行するようプログラム命令に従ってファームウェア、メモリ、他の記憶若しくは組合せでプログラムされた1又は複数の汎用目的ハードウェアプロセッサを有しても良い。このような特定目的コンピュータ装置は、この技術を達成するために、カスタムハードワイヤードロジック、ASIC又はFPGAをカスタムプログラミングと組み合わせても良い。特定目的コンピュータ装置は、デスクトップコンピュータシステム、ポータブルコンピュータシステム、ハンドヘルド装置、ネットワーク装置、又はこの技術を実施するためのハードワイヤードロジック及び/又はプログラムロジックを組み込んだ任意の他の装置であっても良い。
【0171】
例えば、図4は、本発明の例示的な実施形態が実装され得るコンピュータシステム400を示すブロック図である。コンピュータシステム400は、バス402又は情報を通信する他の通信機構、及びバス404に結合され情報を処理するプロセッサ402を有する。ハードウェアプロセッサ404は、例えば汎用目的マイクロプロセッサであっても良い。
【0172】
コンピュータシステム400は、また、ランダムアクセスメモリ(RAM)又は他のダイナミック記憶素子のような、バス402に結合され情報及びプロセッサ404により実行されるべき命令を格納する主記憶406も有する。主記憶406は、プロセッサ404により実行されるべき情報の実行中に、一時変数又は他の中間的情報を格納するために用いられても良い。このような命令は、プロセッサ404にアクセス可能な非一時的記憶媒体に格納されるとき、命令で指定された動作を実行するようカスタマイズされた特定目的装置内のコンピュータシステム400を実現する。
【0173】
コンピュータシステム400は、バス402に結合され、静的情報及びプロセッサ404のための命令を格納する読み出し専用メモリ(ROM)408又は他の静的記憶装置を更に有する。情報及び命令の格納のために、磁気ディスク又は光ディスクのような記憶装置410が設けられバス402に結合される。
【0174】
コンピュータシステム400は、バス402を介して、液晶ディスプレイのような、コンピュータユーザに情報を表示するディスプレイ412に結合されて良い。入力装置414は、英数字及び他のキーを有し、バス402に結合され、プロセッサ404に情報及びコマンド選択を伝達する。別の種類のユーザ入力装置は、マウス、トラックボール又はカーソル方向キーのようなカーソル制御416であり、プロセッサ404に方向情報及びコマンド選択を伝達し、ディスプレイ412上のカーソルの移動を制御する。この入力装置は、通常、2軸、つまり第1の軸(例えばX)及び第2の軸(例えばY)における2度の自由度を有し、装置に平面内の位置を指定させる。
【0175】
コンピュータシステム400は、本願明細書に記載した技術を、カスタマイズハードワイヤードロジック、1又は複数のASIC若しくはFPGA、コンピュータシステムと組み合わせて、コンピュータシステム400を特定用途向け機械にする若しくはプログラムするファームウェア及び/又はプログラムロジックを用いて実装してもよい。一実施形態によると、これらの技術は、プロセッサ404が主記憶406に含まれる1又は複数の命令の1又は複数のシーケンスを実行するのに応答して、コンピュータシステム400により実行される。このような命令は、記憶装置410のような別の記憶媒体から主記憶406に読み込まれても良い。主記憶406に含まれる命令シーケンスの実行は、プロセッサ404に本願明細書に記載した処理ステップを実行させる。代替の実施形態では、ハードワイヤード回路が、ソフトウェア命令の代わりに又はそれと組み合わせて用いられても良い。
【0176】
本願明細書で用いられる用語「記憶媒体」は、装置を特定の方法で動作させるデータ及び/又は命令を格納する任意の非一時的媒体を表す。このような記憶媒体は、不揮発性媒体及び/又は揮発性媒体を有し得る。不揮発性媒体は、例えば、記憶装置410のような光又は磁気ディスクを含む。揮発性媒体は、主記憶406のような動的記憶を含む。記憶媒体の共通形態は、例えば、フロッピディスク、フレキシブルディスク、ハードディスク、固体ドライブ、磁気テープ、又は任意の他の磁気データ記憶媒体、CD−ROM、任意の他の光学データ記憶媒体、ホールのパターンを有する物理的媒体、RAM,PROM及びEPROM、FLASH−EPROM、任意の他のメモリチップ若しくはメモリカートリッジを含む。
【0177】
記憶媒体は、伝送媒体と別個であっても良いが共に用いられても良い。伝送媒体は、記憶媒体間で情報を転送する際に関与する。例えば、伝送媒体は、同軸ケーブル、銅線、光ファイバを含み、バス402を構成するワイヤを含む。伝送媒体は、無線及び赤外線データ通信中に生成される波動のような音響又は光の波動の形式であっても良い。
【0178】
種々の形態の媒体は、実行のためにプロセッサ404に1又は複数の命令の1又は複数のシーケンスを伝達する際に、関与し得る。例えば、命令は、初めにリモートコンピュータの磁気ディスク又は固体ドライブで運ばれ得る。リモートコンピュータは、その命令を自身の動的記憶にロードし、及びモデムを用いて電話線を介して命令を送信できる。コンピュータシステム400にローカルなモデムは、電話線でデータを受信し、赤外線送信機を用いて、そのデータを赤外線信号に変換できる。赤外線検出器は、赤外線信号で伝達されたデータを受信し、適切な回路がそのデータをバス402に置くことができる。バス402は、データを主記憶406に伝達する。主記憶406から、プロセッサ404が命令を読み出し実行する主記憶406により受信された命令は、任意的に、プロセッサ404により実行される前又は後に、記憶装置410に格納されても良い。
【0179】
コンピュータシステム400は、バス402に結合された通信インタフェース418も含む。通信インタフェース418は、ローカルネットワーク422に接続されるネットワークリンク420に結合される2方向データ通信を提供する。例えば、通信インタフェース418は、ISDN(Integrated Services Digital Network)カード、モデム、衛星モデム又は対応する種類の電話線へのデータ通信接続を提供するモデムであっても良い。別の例として、通信インタフェース418は、互換性のあるLANへのデータ通信接続を提供するLAN(Local Area Network)カードであっても良い。無線リンクも実装されても良い。任意のこのような実装で、通信インタフェース418は、種々の情報を表すデジタルデータストリームを伝達する電気、電磁気又は光信号を送信及び受信する。
【0180】
ネットワークリンク420は、通常、1又は複数のネットワークを通じて他のデータ装置へのデータ通信を提供する。例えば、ネットワークリンク420は、ローカルネットワーク422を通じてホストコンピュータ424への又はISP(Internet Service Provider)426により稼働されるデータ機器への接続を提供できる。ISP426は、また、現在一般的に「インターネット」428と称される世界的規模のパケットデータ通信ネットワークを通じてデータ通信サービスを提供する。ローカルネットワーク422及びインターネット428の両者は、デジタルデータストリームを伝達する電気、電磁気又は光信号を用いる。種々のネットワークを通る信号及びネットワークリンク420の通信インタフェース418を通る信号は、コンピュータシステム400への及びそれからのデジタルデータを伝達し、伝送媒体の例示的形式である。
【0181】
コンピュータシステム400は、ネットワーク、ネットワークリンク420及び通信インタフェース418を通じて、プログラムコードを含む、メッセージを送信し及びデータを受信できる。インターネットの例では、サーバ430は、インターネット428、ISP426、ローカルネットワーク422及び通信インタフェース418を通じてアプリケーションプログラムのために要求されたコードを送信し得る。
【0182】
受信されたコードは、プロセッサ404により受信されるとプロセッサ404により実行され、及び/又は後に実行するために記憶装置410若しくは他の不揮発性記憶に格納され得る。
【0183】
<11.等価、拡張、代替、及び混合>
上述の明細書では、本発明の例示的な実施形態は、実施形態毎に変化し得る多数の特定の詳細を参照し説明された。したがって本発明が何であるか、および本出願者により発明であるように意図したものの唯一の指標は、特許請求の範囲が由来する特定の形式の、いかなる今後の補正も含む本出願に由来する一組の特許請求の範囲である。このような特許請求の範囲に含まれる用語について本願明細書に明示的に説明された定義は、特許請求の範囲の中で用いられるこれらの用語の意味を規定する。したがって請求項内で明示的に記述されない限界、要素、特性、特徴、利点、または属性がこのような特許請求項の範囲を決して制限してはならない。したがって本明細書と添付図面は限定的ではなく例示的であると解釈すべきである。
図1A
図1B
図1C
図1D
図2A
図2B
図3A
図3B
図4