[0030] ビデオコーディング技法は、補足エンハンスメント情報(SEI)メッセージの使用を含み得る。例えば、ビデオエンコーダが、ビットストリーム中でSEIメッセージをシグナリングし得、ビデオデコーダが、SEIメッセージを含んでいるビットストリームを受信し得る。様々なビデオコーディング規格において様々なタイプのSEIメッセージがある。色再マッピング情報を含むSEIメッセージは、色再マッピング情報SEIメッセージ、またはより簡単に、CRI SEIメッセージと呼ばれることがある。CRI SEIメッセージは、ビデオエンコーダによってビットストリーム中でシグナリングされ得る。同様に、ビデオデコーダは、ビットストリーム中でCRI SEIメッセージを受信し得る。
[0031] 本開示は、例えば、高ダイナミックレンジ(HDR)および/または広色域(WCG:Wide Colour Gamut)表現をもつビデオ信号のコーディングを含む、ビデオデータ処理の分野に関する。例えば、本開示の技法は、H.265/HEVCビデオコーディング規格において指定されたCRI SEIメッセージの適用を改善するためのいくつかの方法を含む。HEVC規格は、ITU−T H.265、Series H: Audiovisual and Multimedia Systems,Infrastructure of audiovisual services−Coding of moving video,High Efficiency Video Coding、国際電気通信連合、2015年4月(以下、「HEVC」または「HEVC規格」)として公開されている。別の例として、本開示は、CRI SEIメッセージに関係する効率改善をシグナリングすること、CRI SEIメッセージのより多くの適用を可能にすること、CRI SEIメッセージのためのセマンティクス(semantics)を改善することのような、いくつかの改善について説明する。いくつかの例では、本明細書で説明される技法は、HDR/WCGコンテンツのような、あるビデオコンテンツのためのCRI SEIメッセージの使用を改善し得る。いくつかの例では、本明細書で説明される技法は、H.264/AVCのような、以前のビデオコーディング規格を用いたCRI SEIの利用を改善または可能にし得る。言い換えれば、本明細書で説明される1つまたは複数の例が、例示的なビデオコーディング規格(例えば、HEVC)に関係して説明されるが、そのような例は、便宜から例示的なビデオコーディング規格に関係して説明され、これは、本明細書で説明される技法が、例示的なビデオコーディング規格(例えば、HEVC)に関係して説明されるにもかかわらず、任意のビデオコーディング規格に適用され得ることを意味することを理解されたい。
[0032] ハイブリッドベースのビデオコーディング規格を含むビデオコーディング規格は、ITU−T H.261、ISO/IEC MPEG−1 Visual、ITU−T H.262またはISO/IEC MPEG−2 Visual、ITU−T H.263、ISO/IEC MPEG−4 Visual、およびそれの拡張(例えば、スケーラブルビデオコーディング(SVC)およびマルチビュービデオコーディング(MVC)拡張)を含む、(ISO/IEC MPEG−4 AVCとしても知られる)ITU−T H.264、並びにそれの拡張(例えば、レンジおよびスクリーンコンテンツコーディング拡張)を含むHEVCを含む。
[0033] 本明細書で使用される「ビデオ」という用語の事例は、「コンテンツ」という用語に変更され得、「コンテンツ」という用語の事例は、「ビデオ」という用語に変更され得る。これは、「コンテンツ」または「ビデオ」という用語が形容詞として使用されているのか、名詞として使用されているのか、他の品詞として使用されているのかにかかわらず当てはまる。例えば、「ビデオコーダ」への言及は「コンテンツコーダ」への言及をも含み、「コンテンツコーダ」への言及は「ビデオコーダ」への言及をも含む。別の例として、「ビデオエンコーダ」への言及は「コンテンツエンコーダ」への言及をも含み、「コンテンツエンコーダ」への言及は「ビデオエンコーダ」への言及をも含む。別の例として、「ビデオデコーダ」への言及は「コンテンツデコーダ」への言及をも含み、「コンテンツデコーダ」への言及は「ビデオデコーダ」への言及をも含む。別の例として、「ビデオ」への言及は「コンテンツ」への言及をも含み、「コンテンツ」への言及は「ビデオ」への言及をも含む。別の例として、「ビデオデータ」への言及は「コンテンツデータ」への言及をも含み、「コンテンツデータ」への言及は「ビデオデータ」への言及をも含む。
[0034] 本明細書で使用される「コンテンツ」は任意のタイプのコンテンツを指す。例えば、「コンテンツ」は、ビデオ、スクリーンコンテンツ、画像、任意のグラフィカルコンテンツ、任意の表示可能コンテンツ、またはそれに対応する任意のデータ(例えば、ビデオデータ、スクリーンコンテンツデータ、画像データ、グラフィカルコンテンツデータ、表示可能コンテンツデータなど)を指し得る。
[0035] 本明細書で使用される「ビデオ」という用語は、スクリーンコンテンツ、可動コンテンツ、シーケンス中で提示され得る複数の画像(例えば、ピクチャ)、またはそれに対応する任意のデータ(例えば、スクリーンコンテンツデータ、可動コンテンツデータ、ビデオデータ、画像データなど)を指し得る。
[0036] 本明細書で使用される「画像」という用語は、単一の画像、1つまたは複数の画像、ビデオに対応する複数の画像の中の1つまたは複数の画像、ビデオに対応しない複数の画像の中の1つまたは複数の画像、ビデオに対応する複数の画像(例えば、ビデオに対応する画像の全てまたはビデオに対応する画像の全てよりも少ない画像)、単一の画像のサブ部分、単一の画像の複数のサブ部分、複数の画像に対応する複数のサブ部分、1つまたは複数のグラフィックスプリミティブ、画像データ、グラフィカルデータなどを指し得る。
[0037] 本明細書で使用される「コンポーネント(component)」、「色コンポーネント」、「チャネル」、および/または「色チャネル」という用語は、互換的に使用され得る。例えば、「色コンポーネント」は「色チャネル」への言及を含み、「色チャネル」への言及は「色コンポーネント」への言及を含む。
[0038] 本明細書で使用される「ピクセル値」、「コンポーネント値」、および「色コンポーネント値」という用語は、互換的に使用され得る。一例として、出力ピクセル値に入力ピクセル値をマッピングすることへの言及は、出力コンポーネント値に入力コンポーネント値をマッピングすることをも指す。別の例として、出力ピクセル値に入力ピクセル値をマッピングすることへの言及は、出力色コンポーネント値に入力色コンポーネント値をマッピングすることをも指す。
[0039] 図1は、本開示の技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示されているように、システム10は、ソースデバイス12と宛先デバイス14とを含む。ソースデバイス12および宛先デバイス14は、例えば、任意のコンピューティングデバイス(例えば、ノートブックコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、個人情報端末(PDA)のようなパーソナルコンピューティングデバイス、電話(例えば、スマートフォン)、スマートパッド、デジタルテレビジョン、デジタルカメラ(例えば、ビデオカメラ)、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオゲームデバイス(例えば、ハンドヘルドゲームデバイス)、ビデオストリーミングデバイス、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、ワイヤードブロードキャストシステム、電子ブックリーダー、ビデオ符号化を行うように構成された任意のデバイス、ビデオ復号を行うように構成された任意のデバイスなど、)を含む、広範囲にわたるデバイスのいずれかを備え得る。いくつかの場合には、ソースデバイス12および宛先デバイス14は、ワイヤレスおよび/またはワイヤード通信のために装備され得る。
[0040] ソースデバイス12は、符号化ビデオデータを発生および/または出力するように構成され得る。符号化ビデオデータは、ビットストリームと呼ばれることがあるビットのシーケンス中に含まれ得る。ソースデバイス12は、宛先デバイス14に符号化ビデオデータを与えるように構成され得る。宛先デバイス14は、別のデバイス(例えば、ソースデバイス12)から受信されたのか、宛先デバイス14によって発生されたのかにかかわらず、符号化ビデオデータを復号するように構成され得る。いくつかの例では、ソースデバイス12は、コンピュータ可読媒体16を介して宛先デバイス14に符号化ビデオデータを与える(例えば、送るかまたは場合によっては送信する)ように構成され得る。
[0041] コンピュータ可読媒体16は、ワイヤレスブロードキャストまたはワイヤードネットワーク送信のような一時媒体、あるいはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Blu−ray(登録商標)ディスク、または他のコンピュータ可読媒体のような記憶媒体(すなわち、非一時的記憶媒体)を含み得る。いくつかの例では、ネットワークサーバ(図示せず)は、例えば、ネットワーク送信を介して、ソースデバイス12から符号化ビデオデータを受信し、その符号化ビデオデータを宛先デバイス14に与え得る。同様に、ディスクスタンピング設備のような、媒体製造設備のコンピューティングデバイスは、ソースデバイス12から符号化ビデオデータを受信し、その符号化ビデオデータを含んでいるディスクを生成し得る。従って、コンピュータ可読媒体16は、様々な例において、様々な形態の1つまたは複数のコンピュータ可読媒体を含むことが理解されよう。
[0042] ソースデバイス12のビデオソース18は、ビデオカメラのような、ビデオキャプチャデバイス、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/またはビデオデータを記憶したメモリ(例えば、前にキャプチャされたビデオを含んでいるビデオアーカイブ)を含み得る。別の例として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ発生ビデオとの組合せを発生し得る。いくつかの例では、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、カメラで構成された任意のコンピューティングデバイス(例えば、カメラ、スマートフォンのような電話、カメラフォン、またはカメラで構成された電話についての任意の他の名称)であり得る。本明細書で説明されるように、キャプチャされたビデオデータ、プリキャプチャされたビデオデータ、コンピュータ発生ビデオデータは、ビデオプリプロセッサ19によって処理された後に、ビデオエンコーダ20によって符号化され得る。符号化ビデオデータは、次いで、出力インターフェース22によってコンピュータ可読媒体16上に出力され得る。宛先デバイス14の入力インターフェース28は、コンピュータ可読媒体16を介してソースデバイス12から情報(例えば、ビットストリームの形態の符号化ビデオデータ)を受信し得る。コンピュータ可読媒体16の情報は、符号化ビデオデータを復号するためにビデオデコーダ30によって使用され得る、ビデオエンコーダ20によって定義されたシンタックス情報を含み得る。
[0043] 宛先デバイス14は、コンピュータ可読媒体16を介してソースデバイス12から符号化ビデオデータを受信するように構成され得る。コンピュータ可読媒体16は、ソースデバイス12から宛先デバイス14に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体16は、ソースデバイス12が、符号化ビデオデータを宛先デバイス14にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。いくつかの例では、符号化ビデオデータは、ワイヤレス通信プロトコルのような通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトルまたは1つまたは複数の物理伝送線路のような、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットのようなグローバルネットワークのような、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス12から宛先デバイス14への通信を可能にするために使用され得る、ルータ、スイッチ、基地局、または任意の他の機器を含み得る。
[0044] いくつかの例では、符号化データは、ソースデバイス12の出力インターフェース22からストレージデバイスに出力され得る。同様に、符号化データは、宛先デバイス14の入力インターフェース28によってストレージデバイスからアクセスされ得る。ストレージデバイスは、ハードドライブ、Blu−rayディスク、DVD、CD−ROM、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体のような、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。いくつかの例では、ストレージデバイスは、ソースデバイス12によって発生された符号化ビデオを記憶し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介してストレージデバイスから記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することと、その符号化ビデオデータを宛先デバイス14に送信することとが可能な任意のタイプのサーバであり得る。例示的なファイルサーバとしては、(例えば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブがある。宛先デバイス14は、インターネット接続を含む、任意の標準のデータ接続を通して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル(例えば、Wi−Fi(登録商標)接続)、ワイヤード接続(例えば、DSL、ケーブルモデムなど)、またはその両方の組合せを含み得る。ストレージデバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
[0045] 本開示の技法はワイヤレス適用例または設定に限定されない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーHTTP(DASH)のようなインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例のような、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオテレフォニーのような適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
[0046] 本明細書で説明される例は非限定的な例である。例えば、図1の図示されたシステム10は、一例にすぎない。本開示による、ビデオデータを処理するための技法は、任意のビデオ符号化デバイス、任意のビデオ復号デバイス、任意のビデオコーディングデバイス、任意のビデオ符号化システム、任意のビデオ復号システム、および/または任意のビデオコーディングシステムによって行われ得る。本明細書で使用される「コーディング」は、符号化および/または復号を指し得る。同様に、本明細書で使用される「コーダ」は、エンコーダおよび/またはデコーダを指し得る。例えば、ビデオコーダは、ビデオエンコーダおよび/またはビデオデコーダを指し得る。同様に、ビデオコーディングは、適用可能なとき、ビデオ符号化および/またはビデオ復号を指し得る。別の例として、ビデオコーディングシステムへの言及は、ビデオ符号化システム、ビデオ復号システム、またはビデオ符号化/復号システムを指し得る(すなわち、ビデオコーディングシステムは、ビデオ符号化とビデオ復号の両方を行うように構成されたシステムである)。
[0047] 図1の例では、ソースデバイス12は、ビデオソース18と、ビデオプリプロセッサ19と、ビデオエンコーダ20と、出力インターフェース22とを含む。ビデオプリプロセッサ19、ビデオエンコーダ20、および/または出力インターフェース22は、本開示の1つまたは複数の技法を実施するように構成され得る。図1の例では、宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ビデオポストプロセッサ31と、ディスプレイデバイス32とを含む。ディスプレイデバイス32は、復号ビデオデータ(例えば、ビデオポストプロセッサ31によって処理された復号ビデオデータ)を表示するように構成され得る。ディスプレイデバイス32は、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または任意の他のタイプのディスプレイデバイスのような、様々なディスプレイデバイスのいずれかを備え得る。
[0048] 入力インターフェース28、ビデオデコーダ30、および/またはビデオポストプロセッサ31は、本開示の1つまたは複数の技法を実施するように構成され得る。いくつかの例では、ビデオプリプロセッサ19はビデオエンコーダ20とは別個であり得る。他の例では、ビデオプリプロセッサ19はビデオエンコーダ20の一部であり得る。同様に、いくつかの例では、ビデオポストプロセッサ31はビデオデコーダ30とは別個であり得る。他の例では、ビデオポストプロセッサ31はビデオデコーダ30の一部であり得る。
[0049] システム10の他の例では、ソースデバイス12および宛先デバイス14は他のコンポーネントまたは構成を含み得る。例えば、ソースデバイス12は、外部カメラのような、外部ビデオソース18からビデオデータを受信し得る。そのような例では、出力インターフェース22は、それが、他の例ではデータを受信および/または送信するように構成され得るので、より適宜に通信インターフェース22と呼ばれることがある。同様に、宛先デバイス14は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。別の例として、宛先デバイス14は、ソースデバイス12にビデオデータを送信し得る。そのような例では、入力インターフェース28は、それが、他の例ではデータを受信および/または送信するように構成され得るので、より適宜に通信インターフェース28と呼ばれることがある。
[0050] 別の例として、本明細書で説明される1つまたは複数の技法を行うように構成されたデバイス、任意のコンピューティングデバイス(例えば、ソースデバイス12および/または宛先デバイス14)は、ビデオエンコーダ(例えば、ビデオエンコーダ20)およびビデオデコーダ(例えば、ビデオデコーダ30)、ビデオプリプロセッサ(例えば、ビデオプリプロセッサ19)およびビデオポストプロセッサ31(例えば、ビデオポストプロセッサ31)、並びに通信インターフェース(例えば、出力インターフェース22および/または入力インターフェース28)を含み得る。そのような例では、コンピューティングデバイスは、本明細書で説明される1つまたは複数の技法を行うように構成され得る。また、そのような例では、ビデオエンコーダとビデオデコーダとは、別個のコンポーネントであり得るか、または単一のコンポーネント(例えば、符号化することと復号することの両方を行うように構成されたビデオコーダ)の一部であり得る。同様に、ビデオプリプロセッサとビデオポストプロセッサとは、別個のコンポーネントであり得るか、または単一のコンポーネントの一部であり得る。別の例では、ビデオプリプロセッサおよび/またはビデオポストプロセッサは、ビデオコーダの一部であり得る。
[0051] 従って、ビデオプリプロセッサ19によってビデオデータに対して行われるプロセスへの言及は、ビデオエンコーダ20が、例えば、ビデオコーディング規格に従ってビデオデータを符号化する前に、ビデオエンコーダ20によってビデオデータに対して行われるプロセスを指し得ることを理解されたい。同様に、ビデオプリプロセッサ19への言及は、いくつかの例では、ビデオエンコーダ20と交換可能であり得る。同様に、ビデオエンコーダ20への言及は、いくつかの例では、ビデオプリプロセッサ19と交換可能であり得る。
[0052] また、ビデオポストプロセッサ31によってビデオデータに対して行われる(または、適用される)プロセスへの言及は、ビデオデコーダ30がビデオデータを復号した後、ビデオデコーダ30によってビデオデータに対して行われる(または、適用される)プロセスを指し得ることを理解されたい。同様に、ビデオポストプロセッサ31への言及は、いくつかの例では、ビデオデコーダ30と交換可能であり得る。同様に、ビデオデコーダ30への言及は、いくつかの例では、ビデオポストプロセッサ31と交換可能であり得る。
[0053] 図示のように、ビデオプリプロセッサ19は、ビデオソース18からビデオデータを受信するように構成され得る。いくつかの例では、ビデオプリプロセッサ19は、受信されたビデオデータを、ビデオエンコーダ20を用いて符号化するのに好適である形態にコンバートするために、受信されたビデオデータを処理するように構成され得る。例えば、ビデオプリプロセッサ19は、(例えば、非線形伝達関数を使用する)ダイナミックレンジ圧縮、より圧縮したまたはロバストな色空間への色コンバージョン、および/あるいは浮動−整数表現コンバージョン(floating-to-integer representation conversion)を行うように構成され得る。
[0054] ビデオプリプロセッサ19は、ビデオエンコーダ20を用いてビデオデータを符号化する前にビデオデータを処理するように構成され得る。いくつかの例では、ビデオプリプロセッサ19は、ビデオエンコーダ20を用いてビデオを符号化する前に、ビデオデータに対して色再マッピング処理を行うように構成され得る。例えば、ビデオプリプロセッサ19は、第1の色空間(例えば、RGB)においてビデオデータを受信し、受信されたビデオデータを、第1の色空間(例えば、RGB)から第2の色空間(例えば、YCbCr)にコンバートするように構成され得る。そのような例では、ビデオプリプロセッサ19は、色再マッピング処理の一例である、色空間コンバージョンを行うものとして説明され得る。
[0055] 色再マッピング処理の他の例としては、標準ダイナミックレンジ(SDR)ビデオデータへの高ダイナミックレンジ(HDR)ビデオデータのコンバージョン、HDRビデオデータへのSDRビデオデータのコンバージョン、処理された(例えば、コンバートされた)ビデオデータのより容易なおよび/またはより効率的なコーディングを可能にする任意の処理、ビデオデータを、コーディングおよび/または後処理するのにより好適であるフォーマットにコンバートする任意の処理があり得る。一例として、ビデオプリプロセッサ19は、HDRビデオデータを受信し、HDRビデオデータをSDRビデオデータにコンバートするように構成され得る。別の例として、ビデオプリプロセッサ19は、SDRビデオデータを受信し、SDRビデオデータをHDRビデオデータにコンバートするように構成され得る。別の例として、ビデオプリプロセッサ19は、ビデオデータを受信し、処理されたビデオデータがより容易なおよび/またはより効率的な方法で符号化され得るように、受信されたビデオデータを処理するように構成され得る。別の例として、ビデオプリプロセッサ19は、ビデオデータを受信し、受信されたビデオデータを、コーディングおよび/または後処理するのにより好適であるフォーマットに処理するように構成され得る。
[0056] 色再マッピング処理の他の例としては、(例えば、区分線形関数を使用して)ビデオデータの個別のチャネルをスケーリングすることがあり得、(マッピングされたまたは再マッピングされたコンテンツと呼ばれることがある)処理されたビデオデータは符号化され得る。例えば、ビデオプリプロセッサ19は、ビデオデータを受信し、受信されたビデオデータの1つまたは複数のチャネルをスケーリングするように構成され得る。ビデオエンコーダ20は、マッピングされたまたは再マッピングされたコンテンツと呼ばれることもある、スケーリングされたビデオデータを符号化するように構成され得る。また他の例では、色再マッピング処理は、例えば、コンポーネントの表現のプライマリ(primary)を変更すること(例えば、BT.709によって定義されたもののような、プライマリのあるセットを使用して表されるビデオデータを、BT.2020によって定義されたもののような、プライマリの別のセットを使用して表されるビデオデータに処理すること)によって、ビデオデータの表現をコンバートすることを含み得る。ビデオプリプロセッサ19が、任意の色再マッピングプロセスを行うように構成され得、追加の例も存在することを理解されたい。例えば、色ボリューム変換および表示適応が、色再マッピングプロセスの2つの他の例である。同様に、ビデオポストプロセッサ31が、任意の色再マッピングプロセスまたは任意の逆(例えば、相反)色再マッピングプロセス(例えば、ビデオプリプロセッサ19によって行われる任意の色再マッピングプロセスの逆)を行うように構成され得ることを理解されたい。ビデオポストプロセッサ31によって実行される任意の色再マッピングプロセスは、ビデオプリプロセッサ19によって行われる色再マッピングプロセスに相反することも相反しないこともある。例えば、ビデオプリプロセッサ19は、例えば、ビデオエンコーダ20による再マッピングされたビデオデータのより効率的な符号化を可能にするために、ビデオデータに対して1つまたは複数の色再マッピングプロセスを行うように構成され得るが、ビデオポストプロセッサ31は、例えば、表示のために復号ビデオデータを適応させる(例えば、特定の表示および/または表示シナリオのためのより良い表示能力のために復号ビデオデータを適応させる)、1つまたは複数の色再マッピングプロセス(例えば、色ボリューム変換および/またはスケーリング)を行うためにビデオデコーダ30によって復号されたビデオデータに対して1つまたは複数の色再マッピングプロセスを行うように構成され得る。
[0057] ビデオプリプロセッサ19は、(色再マッピングされたビデオデータと呼ばれることがある)前処理されたビデオデータを発生し、前処理されたビデオデータをビデオエンコーダ20に出力するように構成され得る。ビデオエンコーダ20は、ビデオプリプロセッサ19から前処理されたビデオデータを受信するように構成され得、前処理されたビデオデータに対してビデオ符号化を行う(すなわち、ビデオプリプロセッサ19がビデオデータを前処理した後、ビデオ符号化を行う)ように構成され得る。上記の色空間コンバージョン例では、ビデオエンコーダ20は、ビデオプリプロセッサ19が第1の色空間からビデオデータをコンバートした後、第2の色空間において符号化するために、ビデオデータ(例えば、ピクチャのシーケンスのピクチャ)を受信し得る。
[0058] ビデオポストプロセッサ31は、ビデオデータがビデオデコーダ30を用いて復号された後、ビデオデータを処理するように構成され得る。例えば、ビデオデコーダ30は、符号化ビデオデータを受信し得、ビデオデコーダ30は、次いで、それを復号ビデオデータ(例えば、ビデオシーケンスのピクチャ)に復号し得る。ビデオデコーダ30は、復号ビデオデータを処理するために、ビデオポストプロセッサ31に復号ビデオデータを送信し得る。
[0059] いくつかの例では、ビデオポストプロセッサ31は、復号ビデオデータに少なくとも1つの色再マッピングプロセスを直接適用するように構成され得る。そのような例では、ビデオポストプロセッサ31が復号ビデオデータに対して少なくとも1つの色再マッピングプロセスを行うことによって、CRI処理された復号ビデオデータを発生されたように構成され得ることを理解されたい。他の例では、ビデオポストプロセッサ31は、復号ビデオデータに少なくとも1つの色再マッピングプロセスを適用する前に、復号ビデオデータに対してCRI SEIメッセージに対応しないプロセスを適用するように構成され得る。そのような例では、ビデオポストプロセッサ31が、復号ビデオデータに対してCRI SEIメッセージに対応しないプロセスを行うことによって、非CRI処理された復号ビデオデータを発生するように構成され得、次いで、ビデオポストプロセッサ31が、非CRI処理された復号ビデオデータに対して少なくとも1つの色再マッピングプロセスを行うことによって、CRI処理された復号ビデオデータを発生されたように構成され得ることを理解されたい。
[0060] いくつかの例では、ビデオポストプロセッサ31は、復号ビデオデータに対して色再マッピング処理を行うように構成され得る。例えば、ビデオポストプロセッサ31は、第1の色空間(例えば、YCbCr)においてビデオデコーダ30から復号ビデオデータを受信し、復号ビデオデータを第1の色空間(例えば、YCbCr)から第2の色空間(例えば、RGB)にコンバートするように構成され得る。そのような例では、ビデオポストプロセッサ31は、色再マッピング処理の一例である、色空間コンバージョンを行うものとして説明され得る。ビデオポストプロセッサ31は、(逆色再マッピングされたビデオデータと呼ばれることがある)後処理されたビデオデータを発生し、ディスプレイデバイス32のような、別のコンポーネントに後処理されたビデオデータを出力するように構成され得る。
[0061] いくつかの例では、ビデオポストプロセッサ31は、ビデオプリプロセッサ19によって行われる(1つまたは複数の)プロセスに相反する(1つまたは複数の)プロセスを行うように構成され得る。例えば、ビデオプリプロセッサ19がビデオデータに対して色再マッピングプロセスを行う場合、ビデオポストプロセッサ31は、いくつかの例では、ビデオポストプロセッサ31が、相反色再マッピングが行われるべきであるかどうかを決定するために使用する、1つまたは複数のCRI SEIメッセージに対応する情報が、ビデオポストプロセッサ31によって受信されたとすれば、復号ビデオデータに対して色再マッピングプロセスの逆(すなわち、相反)(またはより簡単に、逆色再マッピングプロセス)を行うように構成され得る。一例として、ビデオプリプロセッサ19が、第1の色空間(例えば、RGB)から第2の色空間(例えば、YCbCr)にビデオデータをコンバートするために、ビデオデータに対して色空間コンバージョンを行う場合、ビデオポストプロセッサ31は、復号ビデオデータを第2の色空間(例えば、YCbCr)から第1の色空間(例えば、RGB)にコンバートするために、対応する復号ビデオデータに対して逆色空間コンバージョンを行うように構成され得る。別の例として、ビデオプリプロセッサ19が、ビデオデータを第1の色空間(例えば、RGB)から第2の色空間(例えば、YCbCr)にコンバートするために、ビデオデータに対して色空間コンバージョンを行う場合、ビデオポストプロセッサ31は、復号ビデオデータを第2の色空間(例えば、YCbCr)からRGBとは異なる第3の色空間にコンバートするために、対応する復号ビデオデータに対して色空間コンバージョンを行うように構成され得る。別の例として、ビデオプリプロセッサ19が、ビデオデータを第1の色空間(例えば、RGB)から第2の色空間(例えば、YCbCr)にコンバートするために、ビデオデータに対して色空間コンバージョンを行う場合、ビデオポストプロセッサ31は、復号ビデオデータが第2の色空間(例えば、YCbCr)にとどまるように、対応する復号ビデオデータに対して色空間コンバージョンを行わないように構成され得る。
[0062] 他の例では、ビデオポストプロセッサ31は、ビデオプリプロセッサ19によって行われる任意のプロセスに相反しない1つまたは複数のプロセスを行うように構成され得る。例えば、ビデオプリプロセッサ19が、ビデオデータに対して色再マッピングプロセスを行う場合、ビデオポストプロセッサ31は、いくつかの例では、復号ビデオデータに対して、ビデオプリプロセッサ19によってビデオデータに対して行われる色再マッピングプロセスに対する同じかまたは異なり得る1つまたは複数の色再マッピングプロセスを行うように構成され得る。従って、ビデオポストプロセッサ31が、1つまたは複数のCRI SEIメッセージに対応する情報に基づいて、復号ビデオデータに対して1つまたは複数の色再マッピングプロセス(相反であるのか相反でないのかにかかわらず、(1つまたは複数の)任意の色再マッピングプロセス)を行うように構成され得ることを理解されたい。
[0063] いくつかの例では、ビデオエンコーダ20は、符号化ビデオデータを含むビットストリーム中で1つまたは複数の補足エンハンスメント情報(SEI)メッセージを発生するかまたは場合によっては出力するように構成され得る。いくつかの例では、SEIメッセージは、デコーダ(例えば、ビデオデコーダ30)によってビットストリーム中で符号化ビデオデータを復号するために必須でないことがある情報を搬送するためにビットストリーム中に含まれ得る。SEIメッセージは、復号ビデオデータの表示または処理を改善する際に有用であり得る。例えば、SEIメッセージは、例えば、復号ビデオデータのダイナミックレンジを増加させることによって、コンテンツ(すなわち、復号ビデオデータ)の視認性を改善するために使用され得る。本明細書で説明されるように、宛先デバイス14は、例えば、符号化ビデオデータと1つまたは複数のCRI SEIメッセージとを含むビットストリームを受信し得る。ビデオデコーダ30は、符号化ビデオデータを復号し、さらなる処理のために復号ビデオデータをビデオポストプロセッサ31に送るように構成され得る。ビデオデコーダ30は、1つまたは複数のCRI SEIメッセージに対応する情報をビデオポストプロセッサ31に送るように構成され得る。1つまたは複数のCRI SEIメッセージに対応する情報は、1つまたは複数のCRI SEIメッセージまたは1つまたは複数のCRI SEIメッセージから導出された情報であり得る。CRI SEIメッセージから導出された情報は、ビデオポストプロセッサ31が、復号ビデオデータを受信し、今度は、1つまたは複数のCRI SEIメッセージに対応する情報に基づいて、復号ビデオデータに対して1つまたは複数のプロセスを行うように構成され得る、色再マッピング情報であり得る。
[0064] いくつかの例では、いくつかの適用例規格(例えば、DVB、ATSC)は、適用例規格に準拠する全てのデバイスに品質の改善がもたらされ得るように、ビットストリーム中のそのようなSEIメッセージの存在(例えば、フレームパッキングSEIメッセージがビデオのあらゆるフレームのために搬送される、フレーム互換平面立体視3DTVビデオフォーマットのためのフレームパッキングSEIメッセージ、またはDVBにおけるパンスキャンスキャン矩形SEIメッセージの搬送)を必要とし得る。
[0065] HEVC規格において定義された色再マッピング情報(CRI)SEIメッセージは、ビデオデコーダ30に情報を伝達するためにビデオエンコーダ20によって使用され得、伝達された情報は、例えば、ある色空間におけるビデオデータ(例えば、ピクチャ)を別の色空間におけるビデオデータにマッピングするために使用される。例えば、CRI SEIメッセージは、もしあれば、ビデオエンコーダ(例えば、ビデオエンコーダ20)によって符号化される前に、どんな色再マッピングプロセスがビデオデータに対して行われたかをデコーダ(例えば、ビデオデコーダ30)に知らせ得る。一例として、CRI SEIメッセージは、復号ビデオデータが、相反する様式で、または相反しない様式で処理され得るように、ビデオデコーダ(例えば、ビデオデコーダ30)に情報を搬送するために使用され得る。CRI SEIメッセージのシンタックスは、3つの部分、すなわち、プリLUTと呼ばれる第1のルックアップテーブル(look-up table)と、色再マッピング係数の3×3行列と、ポストLUTと呼ばれる第2のルックアップテーブルとを含み得る。色空間における各色コンポーネント(例えば、RGB色空間におけるR、G、およびB、またはYCbCr色空間におけるY、Cb、およびCr)について、プリLUTおよびポストLUTのために、従来、独立LUTが定義される。しかしながら、以下でより詳細に以下で説明されるように、これは、特に、LUT(例えば、プリLUTおよび/またはポストLUT)が、色空間における2つまたはそれ以上の色コンポーネントについて同じであるとき、シグナリング非効率性をもたらし得る。
[0066] HEVC規格において定義されているCRI SEIメッセージは、colour_remap_idと称するシンタックス要素を含み、それの異なる値が、SEIメッセージの異なる用途を示すために使用され得る。図7は、色再マッピングプロセス(例えば、色空間コンバージョンプロセスのような、色コンバージョンプロセス)の1つの例示的な構造を示す。図7に示されているように、ビデオプリプロセッサ19は、プリLUT200にビデオデータを入力するように構成され得る。プリLUT200は、入力ピクセル値を出力ピクセル値にマッピングするデータ構造である。いくつかの例では、プリLUT200は、各色チャネルに適用される単一のプリLUTを指し得る。他の例では、プリLUT200は、1つまたは複数の色チャネル固有プリLUTを指し得る。そのような例では、プリLUT200は、3つのプリLUTを含み得、3つのプリLUTの各々は、色チャネルに対応する(例えば、RGBのような、3つの色チャネルを有する色空間においてピクセル値をマッピングするために、プリLUT200は、赤色チャネルについての第1のプリLUTと、緑色チャネルについての第2のプリLUTと、青色チャネルについての第3のプリLUTとを含み得る)。色空間が4つの色チャネルを含む場合、プリLUT200は、同様に、4つのそれぞれのチャネル固有プリLUTを指し得る。
[0067] ビデオプリプロセッサ19は、プリLUT200を使用して、ビデオデータのピクセル値を入力ピクセル値から出力ピクセル値にコンバートするように構成され得る。図示の例では、プリLUT200に入るビデオデータは、プリLUTビデオデータと呼ばれることがあり、プリLUTによって出力されたビデオデータは、プリLUT処理されたビデオデータと呼ばれることがある。ビデオプリプロセッサ19は、プリLUT処理されたビデオデータを3×3行列202に入力するように構成され得、3×3行列202は、3つの色チャネル色空間における3つの色チャネルを色再マッピングするための色再マッピング係数を含む。4つの色チャネル色空間を伴う他の例では、3×3行列202は、3×3行列の代わりに4×4行列であり得る。言い換えれば、ビデオプリプロセッサ19は、プリLUT処理されたビデオデータに3×3行列202を適用するように構成され得る。図示の例では、3×3行列202によって出力されたビデオデータは、行列処理されたビデオデータと呼ばれることがある。
[0068] いくつかの例では、3×3行列202は、対角行列であることも対角行列でないこともある。3×3行列202が対角行列である例では、対角行列は、1つまたは複数の色チャネルをスケーリングし、および/または1つまたは複数の色チャネルを維持するように働き得る。例えば、RGB色空間例では、3×3行列202は、最上行における左位置における赤色チャネル係数および最上行における残りの2つの位置についての0の値と、中間行における中間位置における緑色チャネル係数および中間行における残りの2つの位置についての0の値と、最下行における右位置における青色チャネル係数および最下行における残りの2つの位置についての0の値とを含み得る。
[0069] 3×3行列202が、複数の目的のためにビデオプリプロセッサ19によって適用され得ることを理解されたい。例えば、ビデオプリプロセッサ19は、線形ブロック変換(例えば、RGBからYUVなど)を算出するために、3×3行列202を適用するように構成され得る。別の例として、ビデオプリプロセッサ19は、色プライマリ(colour primary)のあるグループ(例えば、3原色(primary colour)空間における3および4原色空間における4)を別のグループに変換するために、3×3行列202を適用するように構成され得る。他の例では、ビデオプリプロセッサ19は、ビデオデータに対する複素非線形変換を近似するために、3×3行列202を適用するように構成され得、これは、プリLUT200および/またはポストLUT204とともに起こるかまたは起こらないことがあるである。
[0070] ビデオプリプロセッサ19は、行列処理されたビデオデータをポストLUT204に入力するように構成され得る。ポストLUT204は、入力ピクセル値を出力ピクセル値にマッピングするデータ構造である。いくつかの例では、ポストLUT204は、各色チャネルに適用される単一のプリLUTを指し得る。他の例では、ポストLUT204は、1つまたは複数の色チャネル固有ポストLUTを指し得る。そのような例では、ポストLUT204は、3つのポストLUTを含み得、3つのポストLUTの各々は、色チャネルに対応する(例えば、RGBのような、3つの色チャネルを有する色空間においてピクセル値をマッピングするために、ポストLUT204は、赤色チャネルについての第1のポストLUTと、緑色チャネルについての第2のポストLUTと、青色チャネルについての第3のポストLUTとを含み得る)。色空間が4つの色チャネルを含む場合、ポストLUT204は、同様に、4つのそれぞれのチャネル固有ポストLUTを指し得る。ビデオプリプロセッサ19は、ポストLUT204を使用して、行列処理されたビデオデータのピクセル値を入力ピクセル値から出力ピクセル値にコンバートするように構成され得る。図示の例では、ポストLUT204によって出力されたビデオデータは、色再マッピングされたビデオデータと呼ばれることがある。
[0071] いくつかの例では、ポストLUT204は、構造においてプリLUT200と同様であり得る。3×3行列202は、いくつかの例では、使用されないことがある。そのような例では、プリLUT200とポストLUT204とは、単一のLUTになるように組み合わせられ得る。3×3行列202を含む例では、ポストLUT204は、3×3行列乗算の後の処理を可能にするものとして説明され得る。例えば、ポストLUT204は、場合によっては可能でないことがある3×3行列202から出力されたビデオデータの非線形(または線形)マッピングを可能にするものとして説明され得る。1つのそのような例では、ビデオプリプロセッサ19は、非線形領域(例えば、非線形RGB)から線形領域(例えば、線形RGB)にビデオデータをコンバートするために、ビデオデータにプリLUT200を適用するように構成され得る。次に、ビデオプリプロセッサ19は、線形領域から非線形領域にビデオデータをコンバートするために、ビデオデータ(例えば、3×3行列202から出力された行列処理されたビデオデータ)にポストLUT204を適用するように構成され得る。
[0072] プリLUT200、3×3行列202、およびポストLUT204は、いくつかの例では、各々、色再マッピングプロセスとして、または、復号ビデオデータが1つまたは複数のCRI SEIメッセージに従って(例えば、1つまたは複数のCRI SEIメッセージに対応する情報に従って、としても本明細書で説明され得る、1つまたは複数のCRI SEIメッセージによって搬送される情報に従って)処理され得るように、ビデオデコーダ(例えば、ビデオデコーダ30)に情報を搬送するためにCRI SEIメッセージが使用され得るので、CRI SEIメッセージプロセスとして、説明され得る。いくつかの例では、復号ビデオデータは、ビデオプリプロセッサ19によって行われる色再マッピングプロセスに対して相反する様式で、またはビデオプリプロセッサ19によって行われる色再マッピングプロセスに対して相反しない様式で、ビデオポストプロセッサ31によって処理され得る。いくつかの例では、ビデオポストプロセッサ31によって行われる1つまたは複数の色再マッピングプロセスは、ビデオプリプロセッサ19によって行われる1つまたは複数の色再マッピングプロセスに対して相反し得、ビデオポストプロセッサ31によって行われる1つまたは複数の色再マッピングプロセスは、ビデオプリプロセッサ19によって行われる1つまたは複数の色再マッピングプロセスに対して相反しないことがある。そのような例では、ビデオポストプロセッサ31は、ビデオプリプロセッサ19によって行われる1つまたは複数の色再マッピングプロセスに対して相反プロセスと非相反プロセスの組合せを行うように構成され得る。
[0073] 図8は、図7に示されている色再マッピングプロセスに相反することも相反しないこともある、色再マッピングプロセスの1つの例示的な構造を示す。図8中のプロセスが図7の相反プロセス(例えば、逆にされた色コンバージョンプロセス)である例では、プリLUT206は、ポストLUT204と同じであり得、3×3行列208は、3×3行列202の係数に相反する色コンポーネント係数を含み得、ポストLUT210は、プリLUT200と同じであり得る。しかしながら、本明細書で説明されるように、1つまたは複数のCRI SEIメッセージに対応する情報に基づいて、ビデオポストプロセッサ31は、1つまたは複数のCRI SEIメッセージがそれに関連付けられる、復号ビデオデータに対して1つまたは複数の相反色再マッピングプロセスおよび/または1つまたは複数の非相反色再マッピングプロセスを行うように構成され得る。復号ビデオデータに対して色再マッピングプロセスを行うことへの言及が、復号ビデオデータに対して直接、または、(例えば、1つまたは複数の非CRIプロセスが復号ビデオデータに適用された後)復号ビデオデータが処理された、に対して間接的に色再マッピングプロセスを行うことを指し得ることを理解されたい。間接的な例では、復号ビデオデータに対して色再マッピングプロセスを行うことへの言及は、実際は、非CRI処理された復号ビデオデータに対して色再マッピングプロセスを行うことを指す。
[0074] 図8に示されているように、ビデオポストプロセッサ31は、(いくつかの例では、非CRI処理された復号ビデオデータであり得る)復号ビデオデータをプリLUT206に入力するように構成され得る。プリLUT206は、入力ピクセル値を出力ピクセル値にマッピングするデータ構造である。いくつかの例では、プリLUT206は、各色チャネルに適用される単一のプリLUTを指し得る。他の例では、プリLUT206は、1つまたは複数の色チャネル固有プリLUTを指し得る。そのような例では、プリLUT206は、3つのプリLUTを含み得、3つのプリLUTの各々は、色チャネルに対応する(例えば、RGBのような、3つの色チャネルを有する色空間においてピクセル値をマッピングするために、プリLUT206は、赤色チャネルについての第1のプリLUTと、緑色チャネルについての第2のプリLUTと、青色チャネルについての第3のプリLUTとを含み得る)。色空間が4つの色チャネルを含む場合、プリLUT206は、同様に、4つのそれぞれのチャネル固有プリLUTを指し得る。
[0075] ビデオポストプロセッサ31は、プリLUT206を使用して、(いくつかの例では、非CRI処理された復号ビデオデータであり得る)復号ビデオデータのピクセル値を入力ピクセル値から出力ピクセル値にコンバートするように構成され得る。図示の例では、プリLUTによって出力された復号ビデオデータは、プリLUT処理された復号ビデオデータと呼ばれることがある。ビデオポストプロセッサ31は、プリLUT処理された復号ビデオデータを3×3行列208に入力するように構成され得、3×3行列固定要素の反映漏れ208は、3つの色チャネル色空間における3つの色チャネルを色再マッピングするための色再マッピング係数を含む。4つの色チャネル色空間を伴う他の例では、3×3行列208は、3×3行列の代わりに4×4行列であり得る。言い換えれば、ビデオポストプロセッサ31は、プリLUT処理された復号ビデオデータに3×3行列208を適用するように構成され得る。図示の例では、3×3行列208によって出力されたビデオデータは、行列処理された復号ビデオデータと呼ばれることがある。
[0076] いくつかの例では、3×3行列208は、対角行列であることも対角行列でないこともある。3×3行列208が対角行列である例では、対角行列は、1つまたは複数の色チャネルをスケーリングし、および/または1つまたは複数の色チャネルを維持するように働き得る。例えば、RGB色空間例では、3×3行列208は、最上行における左位置における赤色チャネル係数および最上行における残りの2つの位置についての0の値と、中間行における中間位置における緑色チャネル係数および中間行における残りの2つの位置についての0の値と、最下行における右位置における青色チャネル係数および最下行における残りの2つの位置についての0の値とを含み得る。
[0077] 3×3行列208が、複数の目的のためにビデオポストプロセッサ31によって適用され得ることを理解されたい。例えば、ビデオポストプロセッサ31は、線形ブロック変換(例えば、YUVからRGBなど)を算出するために、3×3行列208を適用するように構成され得る。別の例として、ビデオポストプロセッサ31は、色プライマリのあるグループ(例えば、3原色空間における3および4原色空間における4)を別のグループに変換するために、3×3行列208を適用するように構成され得る。他の例では、ビデオポストプロセッサ31は、復号ビデオデータ(例えば、プリLUT処理された復号ビデオデータ)に対する複素非線形変換を近似するために、3×3行列208を適用するように構成され得、これは、プリLUT206および/またはポストLUT210とともに起こるかまたは起こらないことがあるである。
[0078] ビデオポストプロセッサ31は、行列処理された復号ビデオデータをポストLUT210に入力するように構成され得る。ポストLUT210は、入力ピクセル値を出力ピクセル値にマッピングするデータ構造である。いくつかの例では、ポストLUT210は、各色チャネルに適用される単一のプリLUTを指し得る。他の例では、ポストLUT210は、1つまたは複数の色チャネル固有ポストLUTを指し得る。そのような例では、ポストLUT210は、3つのポストLUTを含み得、3つのポストLUTの各々は、色チャネルに対応する(例えば、RGBのような、3つの色チャネルを有する色空間においてピクセル値をマッピングするために、ポストLUT210は、赤色チャネルについての第1のポストLUTと、緑色チャネルについての第2のポストLUTと、青色チャネルについての第3のポストLUTとを含み得る)。色空間が4つの色チャネルを含む場合、ポストLUT210は、同様に、4つのそれぞれのチャネル固有ポストLUTを指し得る。ビデオポストプロセッサ31は、ポストLUT210を使用して、行列処理された復号ビデオデータのピクセル値を入力ピクセル値から出力ピクセル値にコンバートするように構成され得る。図示の例では、ポストLUT210によって出力されたビデオデータは、色再マッピングされた復号ビデオデータと呼ばれることがある。
[0079] いくつかの例では、ポストLUT210は、構造においてプリLUT206と同様であり得る。3×3行列208は、いくつかの例では、使用されないことがある。そのような例では、プリLUT206とポストLUT210とは、単一のLUTになるように組み合わせられ得る。3×3行列208を含む例では、ポストLUT210は、3×3行列乗算の後の処理を可能にするものとして説明され得る。例えば、ポストLUT210は、場合によっては可能でないことがある3×3行列208から出力されたビデオデータの非線形(または線形)マッピングを可能にするものとして説明され得る。1つのそのような例では、ビデオポストプロセッサ31は、非線形領域(例えば、非線形RGB)から線形領域(例えば、線形RGB)に復号ビデオデータをコンバートするために、ビデオデータにプリLUT206を適用するように構成され得る。次に、ビデオポストプロセッサ31は、線形領域から非線形領域に復号ビデオデータをコンバートするために、復号ビデオデータ(例えば、3×3行列208から出力された行列処理された復号ビデオデータ)にポストLUT210を適用するように構成され得る。
[0080] プリLUT206、3×3行列208、およびポストLUT 210は、いくつかの例では、各々、色再マッピングプロセス、またはCRI SEIメッセージプロセスとして説明され得る。ビデオポストプロセッサ31は、1つまたは複数のCRI SEIメッセージに従って(例えば、1つまたは複数のCRI SEIメッセージに対応する情報に従って、としても本明細書で説明され得る、1つまたは複数のCRI SEIメッセージによって搬送される情報に従って)復号ビデオデータを処理するように構成され得る。
[0081] いくつかの例では、ビデオプリプロセッサ19は、ビデオデータに、プリLUT200のみを適用することによって、3×3行列202のみを適用することによって、ポストLUT204のみを適用することによって、またはプリLUT200と、3×3行列202と、ポストLUT204との任意の組合せを適用することによって、ビデオデータを処理するように構成され得る。そのような例では、ビデオプリプロセッサ19は、プリLUT200、3×3行列202、およびポストLUT204のうちの1つまたは複数を適用しないように構成され得る。いくつかの例では、プロセスを適用しないことは、(1)プロセスを適用しないこと、または(2)恒等プロセス(identity process)と呼ばれることがある、プロセスに入力されるのと同じビデオデータを出力するプロセスを適用することを指し得る。例えば、3×3行列202は、単位行列と呼ばれることもある、恒等行列であり得る。別の例として、プリLUT200は、出力値が入力値に等しくなる(すなわち、入力ピクセル値が、プリLUT200によってマッピングされたときに変化しない)ように、入力ピクセル値を出力ピクセル値にマッピングするデータ構造であり得る。別の例として、ポストLUT204は、出力値が入力値に等しくなる(すなわち、入力ピクセル値が、ポストLUT204によってマッピングされたときに変化しない)ように、入力ピクセル値を出力ピクセル値にマッピングするデータ構造であり得る。
[0082] 同様に、ビデオポストプロセッサ31は、復号ビデオデータに、プリLUT206のみを適用することによって、3×3行列208のみを適用することによって、ポストLUT210のみを適用することによって、またはプリLUT206と、3×3行列208と、ポストLUT210との任意の組合せを適用することによって、ビデオデータを処理するように構成され得る。そのような例では、ビデオポストプロセッサ31は、プリLUT206、3×3行列208、およびポストLUT210のうちの1つまたは複数を適用しないように構成され得る。いくつかの例では、プロセスを適用しないことは、(1)プロセスを適用しないこと、または(2)恒等プロセスと呼ばれることがある、プロセスに入力されるのと同じビデオデータを出力するプロセスを適用することを指し得る。例えば、3×3行列208は、単位行列と呼ばれることもある、恒等行列であり得る。別の例として、プリLUT206は、出力値が入力値に等しくなる(すなわち、入力ピクセル値が、プリLUT206によってマッピングされたときに変化しない)ように、入力ピクセル値を出力ピクセル値にマッピングするデータ構造であり得る。別の例として、ポストLUT210は、出力値が入力値に等しくなる(すなわち、入力ピクセル値が、ポストLUT210によってマッピングされたときに変化しない)ように、入力ピクセル値を出力ピクセル値にマッピングするデータ構造であり得る。
[0083] 現在のHEVC規格によって定義されたCRI SEIメッセージのシンタックステーブルが、以下の表2において再現される。完全なセマンティクスは、HEVC規格において入手可能である。
[0084] CRI SEIメッセージのいくつかのセマンティクスが本明細書で説明される。ビデオエンコーダ20は、本明細書で説明されるCRIメッセージのセマンティクスに従ってビットストリームを発生するように構成され得、ビデオデコーダ30は、ビットストリームを受信することと、ビットストリームからのCRI SEIメッセージ情報をパースすることと、ビットストリームからパースされた(1つまたは複数の)CRI SEIメッセージ中で伝達された色再マッピング情報に従って、色再マッピングを行うようにビデオポストプロセッサ31に命令する(またはそれ自体で行う)こととをするように構成され得る。例えば、プリプロセッサ19は、色再マッピングされたビデオデータがビデオエンコーダ20によって符号化されるように、ビデオデータが符号化される前に、ビデオデータに対して色再マッピングを行い得る。そのような例では、ビデオエンコーダ20は、ビデオデコーダ30および/またはビデオポストプロセッサ31が復号ビデオデータに対して逆色再マッピングを行うことを可能にするために、本明細書で説明されるCRIメッセージのセマンティクスに従ってビットストリームを発生するように構成され得る。ビデオデコーダ30および/またはビデオポストプロセッサ31への言及が本明細書で為され得るが、ビデオデコーダ30への言及またはビデオポストプロセッサ31への言及が両方とも、ビデオデコーダ30および/またはビデオポストプロセッサ31を示唆することを理解されたい。同様に、ビデオエンコーダ20および/またはビデオポストプロセッサ31への言及が本明細書で為され得るが、ビデオエンコーダ20への言及またはビデオプリプロセッサ19への言及が両方とも、ビデオエンコーダ20および/またはビデオプリプロセッサ19を示唆することを理解されたい。
[0085] 復号ビデオデータは、ビデオデコーダ30によって出力された復号ビデオデータ、または、例えば、1つまたは複数の非CRI SEIメッセージプロセス(例えば、アップサンプリングプロセスまたはダウンサンプリングプロセス)によって処理された復号ビデオデータを指し得る。いくつかの例では、逆色再マッピングプロセスへの言及は、ビデオデータがビデオエンコーダ20によって符号化される前に、ビデオデータに適用される色再マッピングプロセスの逆を指し得る。ビデオデコーダ30は、符号化ビデオデータと色再マッピング情報(CRI)補足エンハンスメント情報(SEI)メッセージとを含むビットストリームを受信するように構成され得、ここにおいて、CRI SEIメッセージは、1つまたは複数の色再マッピングプロセスに対応する情報を含む。
[0086] 以下の段落[0087]〜[0098]からのセマンティクスは、参照のために現在のHEVC規格から直接引用された。
[0087] 色再マッピング情報SEIメッセージは、出力ピクチャの再構成された色サンプルの再マッピングを可能にするための情報を与える。色再マッピング情報は、復号サンプル値がルーマおよびクロマ領域にあるのか、RGB領域にあるのかにかかわらず、復号サンプル値に直接適用され得る。色再マッピング情報SEIメッセージ中で使用される色再マッピングモデルは、(本明細書でシンタックス要素の「プリ」セットによって指定される)各色コンポーネントに適用される第1の区分線形関数と、3つの色コンポーネントに適用される3×3行列と、(本明細書でシンタックス要素の「ポスト」セットによって指定される)各色コンポーネントに適用される第2の区分線形関数とから構成される。注1−表示のための出力ピクチャの色再マッピングは随意であり、本明細書において指定される復号プロセスに影響を及ぼさない。
[0088] colour_remap_idは、色再マッピング情報の目的を識別するために使用され得る識別番号を含んでいる。colour_remap_idの値は、両端値を含む、0〜232−2のレンジ内にあるものとする。
[0089] 0〜255の、および512〜231−1のcolour_remap_idの値は、適用例によって決定されたように使用され得る。両端値を含む、256〜511の、および、両端値を含む、231〜232−2のcolour_remap_idの値は、ITU−T|ISO/IECによる将来の使用のために予約済みである。デコーダは、両端値を含む、256〜511のレンジ内の、または、両端値を含む、231〜232−2のレンジ内のcolour_remap_idの値を含んでいる全ての色再マッピング情報SEIメッセージを無視するものとし、ビットストリームは、そのような値を含んでいないものとする。注2−colour_remap_idは、異なるディスプレイシナリオに好適である異なる色再マッピングプロセスをサポートするために使用され得る。例えば、colour_remap_idの異なる値は、ディスプレイによってサポートされる異なる再マッピングされた色空間に対応し得る。
[0090] colour_remap_matrix_coefficientsは、colour_remap_matrix_coefficientsが、CLVSのために使用される色空間ではなく、再マッピングされた再構成されたピクチャの色空間を指定することを除いて、matrix_coeffsシンタックス要素についての節E.3.1において指定されたのと同じセマンティクスを有する。存在しないとき、colour_remap_matrix_coefficientsの値は、matrix_coeffsの値に等しいと推論される。
[0091] colour_remap_input_bit_depthは、色再マッピング情報SEIメッセージの解釈の目的で、関連するピクチャのルーマおよびクロマコンポーネントまたはRGBコンポーネントのビット深度を指定する。コード化ルーマおよびクロマコンポーネントのビット深度またはコード化RGBコンポーネントのビット深度に等しくないcolour_remap_input_bit_depthの値をもつ色再マッピング情報SEIメッセージが存在するとき、SEIメッセージは、コード化ビデオを、colour_remap_input_bit_depthに等しいビット深度をもつコンバートされたビデオにコンバートするために行われるトランスコーディング動作の仮想結果を指す。
[0092] colour_remap_input_bit_depthの値は、両端値を含む、8〜16のレンジ内にあるものとする。両端値を含む、0〜7の、および、両端値を含む、17〜255のcolour_remap_input_bit_depthの値は、ITU−T|ISO/IECによる将来の使用のために予約済みである。デコーダは、両端値を含む、0〜7のレンジ内の、または、両端値を含む、17〜255のレンジ内のcolour_remap_input_bit_depthを含んでいる全ての色再マッピングSEIメッセージを無視するものとし、ビットストリームは、そのような値を含んでいないものとする。
[0093] colour_remap_bit_depthは、色再マッピング情報SEIメッセージによって記述される色再マッピング関数の出力のビット深度を指定する。
[0094] colour_remap_bit_depthの値は、両端値を含む、8〜16のレンジ内にあるものとする。両端値を含む、0〜7の、および、両端値を含む、17〜255のレンジ内のcolour_remap_bit_depthの値は、ITU−T|ISO/IECによる将来の使用のために予約済みである。デコーダは、両端値を含む、0〜7の、または、両端値を含む、17〜255のレンジ内のcolour_remap_bit_depthの値を含んでいる全ての色再マッピングSEIメッセージを無視するものとする。
[0095] pre_lut_num_val_minus1[c]+1は、c番目のコンポーネントについての区分線形再マッピング関数におけるピボット点(pivot point)の数を指定し、ここで、0に等しいcは、ルーマまたはGコンポーネントを指し、1に等しいcは、CbまたはBコンポーネントを指し、2に等しいcは、CrまたはRコンポーネントを指す。pre_lut_num_val_minus1[c]が0に等しいとき、c番目のコンポーネントについて、入力値のデフォルト端点は、0および2colour_remap_input_bit_depth−1であり、出力値の対応するデフォルト端点は、0および2colour_remap_bit_depth−1である。本明細書のこのバージョンに準拠するビットストリームでは、pre_lut_num_val_minus1[c]の値は、両端値を含む、0〜32のレンジ内にあるものとする。
[0096] pre_lut_coded_value[c][i]は、c番目のコンポーネントについてのi番目のピボット点の値を指定する。pre_lut_coded_value[c][i]を表すために使用されるビット数は、((colour_remap_input_bit_depth+7)>>3)<<3である。
[0097] pre_lut_target_value[c][i]は、c番目のコンポーネントについてのi番目のピボット点の値を指定する。pre_lut_target_value[c][i]を表すために使用されるビット数は、((colour_remap_bit_depth+7)>>3)<<3である。
[0098] post_lut_num_val_minus[]、post_lut_coded_value[][]、およびpost_lut_target_value[][]のセマンティクスは、それぞれ、pre_lut_num_val_minus[]、pre_lut_coded_value[][]、およびpre_lut_target_value[][]のセマンティクスと同様であり、post_lut_coded_value[][]、およびpost_lut_target_value[][]を表すために使用されるビット数は、colour_remap_bit_depthに等しい。
[0099] ビデオデコーダ30は、ビデオデータを復号するためにビデオエンコーダ20の逆を行うように構成され得る。ビデオデータを再構成するためのプロセスは、概して、ビデオエンコーダ20によって行われるプロセスに相反し得る。上記で説明されたように、ビデオポストプロセッサ31は、いくつかの例では、復号ビデオデータを表示に好適な形態にコンバートするように働き得る、ビデオプリプロセッサ19の逆を行うように構成され得る。例えば、ビデオポストプロセッサ31は、表示に好適なビデオデータを発生するために、整数−浮動コンバージョン(integer-to-floating conversion)、圧縮したまたはロバストな色空間からの色コンバージョン、および/またはダイナミックレンジ圧縮の逆を行い得る。
[0100] ビデオエンコーダ20、ビデオデコーダ30、ビデオプリプロセッサ19、ビデオポストプロセッサ31、および/またはそれらの任意の組合せ(例えば、ビデオプリプロセッサ19を含むビデオエンコーダ20、ビデオポストプロセッサ31を含むビデオデコーダ30、ビデオコーダ、ビデオプリプロセッサ19とビデオポストプロセッサ31とを含むビデオコーダ)は、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せのような、様々な好適なエンコーダ回路のいずれかとして実施され得る。本技法が部分的にソフトウェアで実施されるとき、デバイスは、ソフトウェアのための命令を好適な非一時的コンピュータ可読媒体に記憶し、本開示の技法を行うために1つまたは複数のプロセッサを使用してハードウェアでその命令を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて(コーデックまたはコーダと呼ばれることがある)複合エンコーダ/デコーダの一部として統合され得る。
[0101] いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、ITU−T H.261、ISO/IEC MPEG−1 Visual、ITU−T H.262またはISO/IEC MPEG−2 Visual、ITU−T H.263、ISO/IEC MPEG−4 Visual、およびそれの拡張(例えば、スケーラブルビデオコーディング(SVC)およびマルチビュービデオコーディング(MVC)拡張)を含む、(ISO/IEC MPEG−4 AVCとしても知られる)ITU−T H.264、並びにそれの拡張(例えば、レンジおよびスクリーンコンテンツコーディング拡張)を含む、(HEVCとしても知られる)ITU−T H.265のような、ビデオコーディング規格に従って動作するように構成され得る。
[0102] HEVCおよび他のビデオコーディング規格では、ビデオシーケンスは一般に一連のピクチャを含む。ピクチャは「フレーム」と呼ばれることもある。ピクチャは、SL、SCb、およびSCrと示される3つのサンプルアレイを含み得る。SLはルーマサンプルの2次元アレイ(すなわち、ブロック)である。SCbはCbクロミナンスサンプルの2次元アレイである。SCrはCrクロミナンスサンプルの2次元アレイである。クロミナンスサンプルは、本明細書では「クロマ」サンプルと呼ばれることもある。他の事例では、ピクチャはモノクロームであり得、ルーマサンプルのアレイのみを含み得る。
[0103] ビデオエンコーダ20は、コーディングツリーユニット(CTU)のセットを発生し得る。CTUの各々は、ルーマサンプルのコーディングツリーブロックと、クロマサンプルの2つの対応するコーディングツリーブロックと、それらのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは3つの別個の色平面を有するピクチャでは、CTUは、単一のコーディングツリーブロックと、そのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。コーディングツリーブロックは、サンプルのN×Nブロックであり得る。CTUは「ツリーブロック」または「最大コーディングユニット」(LCU:largest coding unit)と呼ばれることもある。HEVCのCTUは、H.264/AVCのような、他のビデオコーディング規格のマクロブロックに広い意味で類似し得る。しかしながら、CTUは、必ずしも特定のサイズに限定されるとは限らず、1つまたは複数のコーディングユニット(CU)を含み得る。スライスは、ラスタ走査において連続的に順序付けられた整数個のCTUを含み得る。
[0104] 本開示は、サンプルの1つまたは複数のブロックと、サンプルの1つまたは複数のブロックのサンプルをコーディングするために使用されるシンタックス構造とを指すために、「ビデオユニット」または「ビデオブロック」という用語を使用し得る。例示的なタイプのビデオユニットは、HEVCにおけるCTU、CU、PU、変換ユニット(TU)、または他のビデオコーディング規格におけるマクロブロック、マクロブロックパーティションなどを含み得る。
[0105] コード化CTUを発生するために、ビデオエンコーダ20は、コーディングツリーブロックをコーディングブロックに分割するためにCTUのコーディングツリーブロックに対して4分木区分を再帰的に行い得、従って「コーディングツリーユニット」という名称がある。コーディングブロックはサンプルのN×Nブロックである。CUは、ルーマサンプルアレイとCbサンプルアレイとCrサンプルアレイとを有するピクチャのルーマサンプルのコーディングブロックと、そのピクチャのクロマサンプルの2つの対応するコーディングブロックと、それらのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは3つの別個の色平面を有するピクチャでは、CUは、単一のコーディングブロックと、そのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。
[0106] ビデオエンコーダ20は、CUのコーディングブロックを1つまたは複数の予測ブロックに区分し得る。予測ブロックは、同じ予測が適用されるサンプルの矩形(すなわち、正方形または非正方形)ブロックであり得る。CUの予測ユニット(PU)は、ピクチャのルーマサンプルの予測ブロックと、クロマサンプルの2つの対応する予測ブロックと、予測ブロックサンプルを予測するために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは3つの別個の色平面を有するピクチャでは、PUは、単一の予測ブロックと、その予測ブロックサンプルを予測するために使用されるシンタックス構造とを備え得る。ビデオエンコーダ20は、CUの各PUのルーマ予測ブロック、Cb予測ブロック、およびCr予測ブロックのための予測ルーマブロック、予測Cbブロック、および予測Crブロックを発生し得る。
[0107] ビデオエンコーダ20は、PUのための予測ブロックを発生するためにイントラ予測またはインター予測を使用し得る。ビデオエンコーダ20がPUの予測ブロックを発生するためにイントラ予測を使用する場合、ビデオエンコーダ20は、PUに関連するピクチャの復号サンプルに基づいてPUの予測ブロックを発生し得る。
[0108] ビデオエンコーダ20が、PUの予測ブロックを発生するためにインター予測を使用する場合、ビデオエンコーダ20は、PUに関連するピクチャ以外の1つまたは複数のピクチャの復号サンプルに基づいて、PUの予測ブロックを発生し得る。インター予測は、単方向インター予測(すなわち、単予測)または双方向インター予測(すなわち、双予測)であり得る。単予測または双予測を行うために、ビデオエンコーダ20は、現在スライスに対して、第1の参照ピクチャリスト(RefPicList0)と第2の参照ピクチャリスト(RefPicList1)とを発生し得る。
[0109] 参照ピクチャリストの各々は1つまたは複数の参照ピクチャを含み得る。単予測を使用するとき、ビデオエンコーダ20は、参照ピクチャ内の参照ロケーションを決定するために、RefPicList0とRefPicList1のいずれかまたは両方の中の参照ピクチャを探索し得る。さらに、単予測を使用するとき、ビデオエンコーダ20は、参照ロケーションに対応するサンプルに少なくとも部分的に基づいて、PUのための予測サンプルブロックを発生し得る。さらに、単予測を使用するとき、ビデオエンコーダ20は、PUの予測ブロックと参照ロケーションとの間の空間変位を示す単一の動きベクトルを発生し得る。PUの予測ブロックと参照ロケーションとの間の空間変位を示すために、動きベクトルは、PUの予測ブロックと参照ロケーションとの間の水平変位を指定する水平コンポーネントを含み得、PUの予測ブロックと参照ロケーションとの間の垂直変位を指定する垂直コンポーネントを含み得る。
[0110] PUを符号化するために双予測を使用するとき、ビデオエンコーダ20は、RefPicList0中の参照ピクチャ中の第1の参照ロケーションと、RefPicList1中の参照ピクチャ中の第2の参照ロケーションとを決定し得る。ビデオエンコーダ20は、次いで、第1および第2の参照ロケーションに対応するサンプルに少なくとも部分的に基づいて、PUのための予測ブロックを発生し得る。さらに、PUを符号化するために双予測を使用するとき、ビデオエンコーダ20は、PUのサンプルブロックと第1の参照ロケーションとの間の空間変位を示す第1の動きベクトルと、PUの予測ブロックと第2の参照ロケーションとの間の空間変位を示す第2の動きベクトルとを発生し得る。
[0111] ビデオエンコーダ20がCUの1つまたは複数のPUのための予測ルーマブロック、予測Cbブロック、および予測Crブロックを発生した後、ビデオエンコーダ20は、CUのためのルーマ残差ブロックを発生し得る。CUのルーマ残差ブロック中の各サンプルは、CUの予測ルーマブロックのうちの1つ中のルーマサンプルとCUの元のルーマコーディングブロック中の対応するサンプルとの間の差分を示す。さらに、ビデオエンコーダ20はCUのためのCb残差ブロックを発生し得る。CUのCb残差ブロック中の各サンプルは、CUの予測Cbブロックのうちの1つ中のCbサンプルとCUの元のCbコーディングブロック中の対応するサンプルとの間の差分を示し得る。ビデオエンコーダ20はCUのためのCr残差ブロックをも発生し得る。CUのCr残差ブロック中の各サンプルは、CUの予測Crブロックのうちの1つ中のCrサンプルとCUの元のCrコーディングブロック中の対応するサンプルとの間の差分を示し得る。
[0112] さらに、ビデオエンコーダ20は、CUのルーマ残差ブロックと、Cb残差ブロックと、Cr残差ブロックとを、1つまたは複数のルーマ変換ブロックと、Cb変換ブロックと、Cr変換ブロックとに分解するために4分木区分を使用し得る。変換ブロックは、同じ変換が適用されるサンプルの矩形ブロックであり得る。CUの変換ユニット(TU)は、ルーマサンプルの変換ブロックと、クロマサンプルの2つの対応する変換ブロックと、変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは3つの別個の色平面を有するピクチャでは、TUは、単一の変換ブロックと、変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。従って、CUの各TUは、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロックに関連し得る。TUに関連するルーマ変換ブロックはCUのルーマ残差ブロックのサブブロックであり得る。Cb変換ブロックはCUのCb残差ブロックのサブブロックであり得る。Cr変換ブロックはCUのCr残差ブロックのサブブロックであり得る。
[0113] ビデオエンコーダ20は、TUのためのルーマ係数ブロックを発生するために、TUのルーマ変換ブロックに1つまたは複数の変換を適用し得る。係数ブロックは変換係数の2次元アレイであり得る。変換係数はスカラー量であり得る。ビデオエンコーダ20は、TUのためのCb係数ブロックを発生するために、TUのCb変換ブロックに1つまたは複数の変換を適用し得る。ビデオエンコーダ20は、TUのためのCr係数ブロックを発生するために、TUのCr変換ブロックに1つまたは複数の変換を適用し得る。
[0114] 係数ブロック(例えば、ルーマ係数ブロック、Cb係数ブロックまたはCr係数ブロック)を発生した後に、ビデオエンコーダ20は、係数ブロックを量子化し得る。量子化は、概して、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮をするプロセスを指す。さらに、ビデオエンコーダ20は、変換係数を逆量子化し、ピクチャのCUのTUの変換ブロックを再構成するために変換係数に逆変換を適用する。ビデオエンコーダ20は、CUのコーディングブロックを再構成するためにCUのTUの再構成された変換ブロックとCUのPUの予測ブロックとを使用し得る。ピクチャの各CUのコーディングブロックを再構成することによって、ビデオエンコーダ20はピクチャを再構成し得る。ビデオエンコーダ20は、再構成されたピクチャを復号ピクチャバッファ(DPB:decoded picture buffer)に記憶し得る。ビデオエンコーダ20は、インター予測およびイントラ予測のためにDPB中の再構成されたピクチャを使用し得る。
[0115] ビデオエンコーダ20が係数ブロックを量子化した後に、ビデオエンコーダ20は、量子化された変換係数を示すシンタックス要素をエントロピー符号化し得る。例えば、ビデオエンコーダ20は、被量子化変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング(CABAC:Context-Adaptive Binary Arithmetic Coding)を行い得る。ビデオエンコーダ20は、エントロピー符号化シンタックス要素をビットストリーム中に出力し得る。
[0116] ビデオエンコーダ20は、コード化ピクチャと関連データとの表現を形成するビットのシーケンスを含むビットストリームを出力し得る。ビットストリームは、ネットワークアブストラクションレイヤ(NAL:network abstraction layer)ユニットのシーケンスを備え得る。NALユニットの各々はNALユニットヘッダを含み、ローバイトシーケンスペイロード(RBSP:raw byte sequence payload)をカプセル化する。NALユニットヘッダは、NALユニットタイプコードを示すシンタックス要素を含み得る。NALユニットのNALユニットヘッダによって指定されるNALユニットタイプコードは、NALユニットのタイプを示す。RBSPは、NALユニット内にカプセル化された整数個のバイトを含んでいるシンタックス構造であり得る。いくつかの事例では、RBSPは0ビットを含む。
[0117] 異なるタイプのNALユニットは、異なるタイプのRBSPをカプセル化し得る。例えば、第1のタイプのNALユニットはピクチャパラメータセット(PPS:picture parameter set)のためのRBSPをカプセル化し得、第2のタイプのNALユニットはコード化スライスのためのRBSPをカプセル化し得、第3のタイプのNALユニットは補足エンハンスメント情報(SEI:Supplemental Enhancement Information)のためのRBSPをカプセル化し得、以下同様である。PPSは、0個またはそれ以上のコード化ピクチャ全体に適用されるシンタックス要素を含んでいることがあるシンタックス構造である。(パラメータセットおよびSEIメッセージのためのRBSPとは対照的に)ビデオコーディングデータのためのRBSPをカプセル化するNALユニットは、ビデオコーディングレイヤ(VCL)NALユニットと呼ばれることがある。コード化スライスをカプセル化するNALユニットは、本明細書ではコード化スライスNALユニットと呼ばれることがある。コード化スライスのためのRBSPは、スライスヘッダとスライスデータとを含み得る。
[0118] ビデオデコーダ30はビットストリームを受信し得る。さらに、ビデオデコーダ30は、ビットストリームからシンタックス要素を復号するために、ビットストリームをパースし得る。ビデオデコーダ30は、ビットストリームから復号されたシンタックス要素に少なくとも部分的に基づいてビデオデータのピクチャを再構成し得る。ビデオデータを再構成するためのプロセスは、概して、ビデオエンコーダ20によって行われるプロセスに相反し得る。例えば、ビデオデコーダ30は、現在CUのPUのための予測ブロックを決定するためにPUの動きベクトルを使用し得る。ビデオデコーダ30は、PUのための予測ブロックを発生するためにPUの1つまたは複数の動きベクトルを使用し得る。
[0119] さらに、ビデオデコーダ30は、現在CUのTUに関連する係数ブロックを逆量子化(inverse quantize)し得る。ビデオデコーダ30は、現在CUのTUに関連する変換ブロックを再構成するために、係数ブロックに対して逆変換を行い得る。ビデオデコーダ30は、現在CUのPUのための予測サンプルブロックのサンプルを現在CUのTUの変換ブロックの対応するサンプルに加算することによって、現在CUのコーディングブロックを再構成し得る。ピクチャの各CUのためのコーディングブロックを再構成することによって、ビデオデコーダ30はピクチャを再構成し得る。ビデオデコーダ30は、出力のためにおよび/または他のピクチャを復号する際に使用するために、復号されたピクチャを復号ピクチャバッファに記憶し得る。
[0120] 次世代ビデオ適用例およびサービスは、HDR(高ダイナミックレンジ)およびWCG(広色域)をもつキャプチャされた風景を表すビデオデータを用いて動作することが予期される。利用されるダイナミックレンジおよび色域のパラメータは、ビデオコンテンツの2つの独立した属性であり、デジタルテレビジョンおよびマルチメディアサービスの目的のためのそれらの仕様は、いくつかの国際規格によって定義される。例えば、ITU−R Rec.709は、標準ダイナミックレンジ(SDR)および標準色域のような、HDTV(高精細度テレビジョン)のためのパラメータを定義し、ITU−R Rec.2020は、HDRおよびWCGのような、UHDTV(超高精細度テレビジョン)パラメータを指定する。他のシステムにおいてダイナミックレンジおよび色域属性を指定する他の規格開発機関(SDO:standards developing organization)文献もある。例えば、P3色域が、SMPTE−231−2(映画テレビ技術者協会:Society of Motion Picture and Television Engineers)において定義されており、HDRのいくつかのパラメータが、STMPTE−2084において定義されている。
[0121] いくつかの例では、ダイナミックレンジは、一般に、ビデオ信号(例えば、ビデオデータ)の最大輝度(brightness)と最小輝度との間の比として定義される。ダイナミックレンジは、「fストップ」に関して測定され得、ここで、1つのfストップは、ビデオデータのダイナミックレンジの2倍に対応する。MPEGの定義では、HDRコンテンツは、16個よりも多いfストップをもつ輝度変動を起用するそのようなコンテンツである。いくつかの項では、10個のfストップと16個のfストップとの間のレベルは、中間ダイナミックレンジとして見なされるが、他の定義では、HDRと見なされ得る。いくつかの例では、HDRビデオコンテンツは、標準ダイナミックレンジを用いて旧来使用されるビデオコンテンツよりも高いダイナミックレンジを有する任意のビデオコンテンツであり得る(SDRビデオコンテンツの一例は、ITU−R Rec.Bt.709によって指定されたビデオコンテンツを含む)。同時に、人間の視覚系(HVS:human visual system)は、はるかに大きいダイナミックレンジを知覚することが可能である。しかしながら、HVSは、いわゆる同時レンジを狭くするための適応機構を含む。同時レンジは、例えば、適応を行う(例えば、瞳孔を拡張する)ためのHVSの能力により、時間的に瞬時点においてルミナンス(luminance)レンジの(レンジ全体ではなく)サブレンジを知覚するためのHVSの能力を指し得る。言い換えれば、HVSは、所与の時間にルミナンス知覚のあるレンジを有し得る。HVSは、HVSの全体的なルミナンスレンジ内で同時レンジを移動するための適応を行い得る。
[0122] 図2は、例示的な表示能力(例えば、SDRディスプレイおよびHDRディスプレイ)に対するHVSの一例を示す。例えば、図2は、HDTVビデオデータのSDR、UHDTVビデオデータの予想されるHDR、およびHVSによって知覚可能なダイナミックレンジに対する、ルミナンスレンジ(およびHVSのルミナンスレンジ内の同時レンジの一例)を示す。
[0123] いくつかの例では、ビデオ適用例およびサービスは、(Rec.709またはBT.709とも呼ばれる)ITU−R勧告BT.709によって規制され得、約0.1〜100ニト(nit)の輝度(またはルミナンス)のレンジを一般にサポートするSDRを与え、10個未満のfストップをもたらし得る。ニトは、ルミナンスについての測定単位である。例えば、1ニトは、1カンデラ(cd)毎平方メートル(m2)に等しい。次世代ビデオ適用例およびサービスは、最高16個のfストップのダイナミックレンジを与えることが予想される。SMPTE−2084およびRec.2020においていくつかの初期パラメータが指定される。例えば、ST2084は、HDRビデオデータを線形空間と非線形空間との間でコンバートするために好適であるEOTF(electo光学伝達関数)を定義する。別の例として、Rec.2020は、(SDRビデオデータのために広く使用される)Rec.709によって記述されるプライマリよりも多くの色(例えば、より大きい色域)ように、ビデオデータを表すために使用され得る色プライマリを定義する。
[0124] HDR以外のより現実的なビデオエクスペリエンスのための別の態様は、従来、色域によって定義される、色次元である。図3は、HDTVのためのSDR色域(BT.709の赤色、緑色および青色の色プライマリに基づく三角形100)と、UHDTVのためのより広い色域(BT.2020の赤色、緑色および青色の色プライマリに基づく三角形102)とを示す概念図である。図3はまた、自然色の範囲を表す、(舌形のエリア104によって画定された)いわゆるスペクトル軌跡を示す。図3によって示されるように、BT.709色プライマリからBT.2020色プライマリに移動することは、約70%より多くの色をもつUHDTVサービスを与えることを目的とする。D65は、所与の仕様(例えば、BT.709仕様および/またはBT.2020仕様)について白色を指定する。
[0125] 色域仕様のいくつかの例が表1に示されている。
[0126] 表1に見られるように、色域は、白色点のx値およびy値によって、並びに原色(例えば、赤(R)、緑(G)、および青(B))のx値およびy値によって定義され得る。x値およびy値は、CIE1931色空間によって定義されるように、色の色度(x)および輝度(y)を表す。CIE1931色空間は、(例えば、波長に関して)純粋な色と、人間の眼がどのようにそのような色を知覚するかとの間のリンクを定義する。
[0127] HDR/WCGビデオデータは、一般に、(4:4:4クロマサブサンプリングフォーマットとも呼ばれる)4:4:4クロマフォーマットおよび極めて広い色空間(例えば、CIE XYZとも呼ばれるCIE 1931 XYZ)を用いて、コンポーネントごとに極めて高い精度で(浮動小数点さえ)獲得され、記憶される。この表現は高精度をターゲットにし、ほとんど数学的に可逆である。しかしながら、HDR/WCGビデオデータを記憶するためのそのようなフォーマットは、多くの冗長性を含み得、圧縮目的のために最適でないことがある。HVSベースの仮定を用いたより低い精度のフォーマットが、一般に、最先端のビデオ適用例のために利用される。
[0128] 圧縮の目的のためのビデオデータフォーマットコンバージョンプロセスの一例は、図4に示されているように、3つの主要なプロセスを含む。図4の技法は、ビデオプリプロセッサ19によって行われ得る。ビデオプリプロセッサ19は、ビデオソース18から線形RGBデータ110を受信するように構成され得る。線形RGBデータ110は、HDR/WCGビデオデータであり得、浮動小数点表現でのものであり得る。線形RGBデータ110は、ダイナミックレンジ圧縮のために非線形伝達関数(TF)112を使用して圧縮され得る。ビデオプリプロセッサ19は、任意の数の非線形伝達関数(例えば、SMPTE−2084)を使用して線形RGBデータ110を圧縮するために、線形RGBデータ110に伝達関数112を適用し得る。いくつかの例では、ビデオプリプロセッサ19は、TF112プロセスによって発生されたかまたは場合によっては出力された圧縮されたデータを、ビデオエンコーダ(例えば、ビデオエンコーダ20)による圧縮により好適であるターゲット色空間(例えば、YCbCr)にコンバートするために、色コンバージョンプロセス114を行い得る。ターゲット色空間は、より圧縮したまたはロバストな色空間であり得る。色コンバージョンプロセス114によって発生されたかまたは場合によっては出力されたビデオデータは、次いで、(いくつかの例では、コンバートされたHDRビデオデータを指し得る)処理された事前符号化ビデオデータ118を生成するために、例えば、色コンバージョンプロセス114によって発生されたかまたは場合によっては出力されたビデオデータを浮動小数点表現から整数表現にコンバートするために、量子化プロセス116を使用してビデオプリプロセッサ19によって量子化され得る。この例では、処理された事前符号化ビデオデータ118は、ビデオエンコーダ(例えば、HEVC技法を適用するビデオエンコーダ20)による圧縮により好適であるフォーマットであり得る、整数表現でのものである。図4に示されているプロセスの順序は、一例として与えられ、他の適用例において異なり得る。例えば、色コンバージョンプロセスはTFプロセスに先行し得る。さらに、追加の処理(例えば、空間サブサンプリング)が色コンポーネントに適用され得る。
[0129] 図4に関して説明されるビデオデータフォーマットコンバージョンプロセスの逆が、図5に示されている様式のような様式で、復号ビデオデータに対して行われ得る。図5の技法は、ビデオポストプロセッサ31によって行われ得る。ビデオポストプロセッサ31は、ビデオデコーダ30から(いくつかの例では、HDRビデオデータを指し得る)復号ビデオデータ120を受信するように構成され得る。例えば、ビデオエンコーダ20は、処理された事前符号化ビデオデータ118を受信し、符号化ビデオデータを生成するためにこのビデオデータを符号化し得る。ビデオデコーダ30は、復号ビデオデータ120を発生するかまたは場合によっては出力するために、処理された事前符号化ビデオデータ118から導出された符号化ビデオデータを受信し、復号し得る。いくつかの例では、復号ビデオデータ120は、(例えば、可逆ビデオ圧縮により)処理された事前符号化ビデオデータ118と同じであり得る。他の例では、復号ビデオデータ120は、(例えば、不可逆ビデオ圧縮またはデータ汚染により)処理された事前符号化ビデオデータ118と同様であるが、同じでないことがある。
[0130] 復号ビデオデータ120は、ビデオポストプロセッサ31によって行われる逆量子化プロセス122によって逆量子化され得る。次いで、逆色コンバージョンプロセス124が、ビデオポストプロセッサ31によって逆量子化復号ビデオデータに適用され得る。逆色コンバージョンプロセス124は、色コンバージョンプロセス114の逆であり得る。例えば、逆色コンバージョンプロセス124は、逆量子化復号ビデオデータを第1の色空間(例えば、YCrCb)から第2の色空間(例えば、RGB)にコンバートし得る。次に、逆伝達関数126が、線形RGBデータ128を発生するかまたは場合によっては出力するために、いくつかの例では、伝達関数112によって圧縮されていることがあるダイナミックレンジを再加算するために、逆色コンバートされた復号ビデオデータに、ビデオポストプロセッサ31によって適用され得る。いくつかの例では、線形RGBデータ128は、(例えば、可逆ビデオ圧縮により)線形RGBデータ11と同じであり得る。他の例では、線形RGBデータ128は、(例えば、不可逆ビデオ圧縮またはデータ汚染により)線形RGBデータ110と同様であるが、同じでないことがある。
[0131] 図4に示されている技法は、次に、より詳細に説明される。概して、伝達関数は、データのダイナミックレンジを圧縮するために、ビデオプリプロセッサ19によってデータ(例えば、HDR/WCGビデオデータ)に適用される。そのような圧縮は、より少ないビットを用いてデータが表されることを可能にする。一例では、伝達関数112は、1次元(1D)非線形関数であり得、(例えば、Rec.709におけるSDRのために指定された)エンドユーザ表示の電気光学伝達関数(EOTF)の逆を反映し得る。別の例では、伝達関数112は、HVS知覚対輝度変化(例えば、HDRのためのSMPTE−2084において指定されたPQ伝達関数)を近似し得る。OETFの逆プロセスは、コードレベルをルミナンスにマッピングする、EOTF(電気光学伝達関数)である。図6は非線形伝達関数のいくつかの例を示す。伝達関数は、別個に、色空間における各色チャネル(例えば、RGB色空間におけるR、G、およびBチャネル)に適用され得る。
[0132] 本開示のコンテキストでは、「信号値」または「色値」という用語は、画像要素のための(R、G、B、またはYのような)特定の色コンポーネントの値に対応するルミナンスレベルについて説明するために使用され得る。信号値は、一般に、線形光源レベル(ルミナンス値)を表す。「コードレベル」または「デジタルコード値」という用語は、画像信号値のデジタル表現を指し得る。一般に、そのようなデジタル表現は非線形信号値を表す。EOTFは、ディスプレイデバイス(例えば、ディスプレイデバイス32)に与えられた非線形信号値とディスプレイデバイスによって生成された線形色値との間の関係を表す。
[0133] ビデオプリプロセッサ19によって行われる(例えば、図4に示されている)色コンバージョンプロセス114に関して、RGBデータは、一般に、RGBが、一般に、画像キャプチャセンサーによって生成されるデータのタイプであるので、入力色空間として利用される。しかしながら、RGB色空間は、それのコンポーネントの間で高い冗長性を有し、圧縮した表現のために最適でない。より圧縮したおよびよりロバストな表現を達成するために、RGBコンポーネントは、ビデオプリプロセッサ19によって、圧縮により好適であるより無相関な色空間(例えば、YCbCr)にコンバートされ得る。YCbCr色空間は、例えば、異なる、あまり相関しないコンポーネントにおいて、ルミナンス(Y)および色情報(CrおよびCb)の形態で、輝度を分離する。このコンテキストでは、ロバストな表現は、条件付きビットレートにおいて圧縮されたとき、誤り耐性のより高いレベルを採用する色空間を指し得る。
[0134] (色変換プロセスとも呼ばれる)色コンバージョンプロセス114に続いて、ターゲット色空間における色コンバートされたビデオデータは、依然として、高ビット深度(例えば、浮動小数点正確さ)において表され得る。(例えば、図4に示されている)ビデオプリプロセッサ19によって行われる量子化プロセス116は、色コンバートされたビデオデータをターゲットビット深度に量子化し得る。いくつかの例では、PQ伝達関数と組み合わせた10〜12ビットのビット深度が、丁度可知差(JND:Just-Noticeable Difference)を下回るひずみをもつ16個のfストップのHDRにデータを与えるのに十分であり得る。概して、JNDは、差が(例えば、HVSによって)それとわかるようになるために、何か(例えば、ビデオデータ)が変更されなければならない量である。10ビット正確さを用いて表される(すなわち、10のビット深度を有する)データは、ビデオコーディング規格に従って、ビデオエンコーダ(例えば、ビデオエンコーダ20)によってさらにコーディングされ得る。この量子化は、不可逆コーディングの要素であり、コンバートされたデータにもたらされる不正確さの源である。
[0135] 本開示は、HEVC規格によって現在定義されているCRI SEIメッセージとの問題を識別し、本明細書で識別される問題に対処するための例示的な技法を提示する。
[0136] 1つの例示的な問題として、現在のHEVC規格によって定義されているSEIメッセージのセマンティクスは、SEIメッセージ中に含まれている情報が、ビデオデコーダ30および/またはビデオポストプロセッサ31による復号ビデオデータの処理においてどこで適用され得るかに関して不明瞭である。例えば、現在のHEVC規格は、セマンティクスにおいて、SEIメッセージが復号ビデオデータに直接適用され得ることについて説明するが、それは、SEIメッセージが、1つまたは複数のプロセスの適用の結果として生成された復号ビデオデータに適用され得るかどうかに関して不明瞭である。例えば、プリLUT206、3×3行列208、またはポストLUT210のうちの1つまたは複数のような、CRI SEIメッセージのプロセスが、ビデオデコーダ30および/またはビデオポストプロセッサ31によって、量子化解除(例えば、逆量子化)が、復号ビデオデータに対して行われたかまたは場合によっては適用された後に適用されるのか、非CRI SEIメッセージプロセス(例えば、フィルタ処理プロセス、アップサンプリングプロセス、ダウンサンプリングプロセス、逆量子化プロセス、復号ビデオデータのコンポーネントを表すために使用される色プライマリの変更、または任意の他の非CRI SEIメッセージプロセス)が復号ビデオデータに対して行われたかまたは適用された後に適用されるのか、および/あるいは色空間コンバージョンが、復号ビデオデータに対して行われたかまたは他の適用された後に適用されるのかは不明瞭である。
[0137] 別の例示的な問題として、現在のHEVC規格は、SEIメッセージの目的を示すためのシンタックス要素colour_remap_idを含むものとして、CRI SEIメッセージを定義する。しかしながら、現在のHEVC規格によって定義されるCRI SEIメッセージのためのセマンティクスは、異なるID(例えば、colour_remap_idのための異なる値)をもつ同時または逐次CRI SEIメッセージの処理を指定せず、同時または逐次CRI SEIメッセージが、同じ復号ビデオデータ(例えば、同じ復号ピクチャ)のためにシグナリングされ、および/または同じ復号ビデオデータ(例えば、同じ復号ピクチャ)に適用され得るかどうかを指定しない。複数のCRI SEIメッセージが含まれる場合でも、現在のHEVC規格は、そのような複数のCRI SEIメッセージが適用されるべきである順序に関して不明瞭である。
[0138] 別の例示的な問題として、CRI SEIメッセージのシンタックスは、入力データビット深度の関数としての指定されたビット深度導出をもつ固定長コード化ピボット点を含むものとして、現在のHEVC規格によって定義される。また、ピボット点をコーディングするために使用されるビット数は、CRI SEIメッセージにおいて指定される入力または出力のビット深度がより少ないときでも、しばしば大きい。例えば、現在のHEVC規格によれば、CRI SEIメッセージのLUT(例えば、それぞれ、プリLUTおよびポストLUT)の入力および出力のビット深度が10ビットである場合でも、ピボット点は16ビット正確さでシグナリングされる。これは、必要なものよりも60%だけ多くビット数を不必要に増加し、これは、CRI SEIがフレームごとにシグナリングされるとき、より大きい影響を有する。ピボット点を示すために使用される実際のビット数が全体的なビットストリームと比較して多くない場合でも、より多くのピボット点がCRI SEIメッセージごとにシグナリングされるべきであり、この情報が2つ以上のコンポーネントのために、およびあらゆるフレームのためにシグナリングされるとき、ビット数の増加は無視できない。
[0139] 別の例示的な問題として、LUTピボット点シグナリングの決定された正確さの結果は、現在のHEVC規格によって定義されているように、LUT構成プロセスに基づき得る。10ビット信号を処理するいくつかのCRI適用例が、全体的に指定された正確さを利用することを選定し得、これは、各信号(例えば、色)コンポーネント(例えば、Y、Cb、およびCr、またはR、G、およびB)のための65536個の要素からなる16ビットの正確なLUTテーブルの構成を生じることになる。本明細書で説明される技法はこれらの問題を改善する。例えば、ビデオエンコーダ20、ビデオプリプロセッサ19、ビデオデコーダ30、および/またはビデオポストプロセッサ31のうちの1つまたは複数は、本明細書で識別される1つまたは複数の問題に対処するために、本明細書で説明される1つまたは複数の技法を行うように構成される。例えば、本明細書で説明される技法は、(例えば、冗長LUTをシグナリングしないことによって)メモリ要件を低減し、計算複雑さを低減し、配信されるHDR/WCGの品質、および/または仕様への準拠を保証し得る。一例として、本開示は、CRI SEIメッセージのセマンティクスおよびシンタックスにおける変更をもたらし、これは、ビデオエンコーダ20、ビデオプリプロセッサ19、ビデオデコーダ30、および/またはビデオポストプロセッサ31のうちの1つまたは複数のうちの1つまたは複数が、ビデオデータをどのように処理するかに対する変更を生じる。例えば、本明細書で説明されるCRI SEIメッセージのセマンティクスおよび/またはシンタックスに対する変更は、どんな情報が、ビットストリーム中でビデオエンコーダ20によってシグナリングされるかを変更し得る。別の例として、本明細書で説明されるCRI SEIメッセージのセマンティクスおよび/またはシンタックスに対する変更は、ビデオデコーダ30によって受信されたCRI SEIメッセージがどんな情報を含んでいるかに影響を及ぼし得る。別の例として、本明細書で説明されるCRI SEIメッセージのセマンティクスおよび/またはシンタックスに対する変更は、1つまたは複数のCRI SEIメッセージに従ってなど、ビデオデコーダ30および/またはビデオポストプロセッサ31がどのように復号ビデオデータを処理するか。
[0140] 別の例示的な問題として、CRI SEIメッセージのシンタックスは、信号の1つのコンポーネントのために使用されるLUT(例えば、プリLUTおよび/またはポストLUT)のピボット点が、それらが明示的にシグナリングされない限り、他のコンポーネントに直接適用され得ないように、現在設計されている。例えば、復号ビデオデータ(例えば、復号ピクチャ)のYコンポーネントのために使用されるピボット点は、CbコンポーネントまたはCrコンポーネントに直接適用され得ない。これは、SEIメッセージをシグナリングするために必要とされるビット数を増加させる。
[0141] 本開示は、H.265/HEVC、H.264/AVC、ブルーレイ(登録商標)ディスク協会(BDA)、MPEG、または他のもののような、ビデオコーディング規格において指定されるかまたは指定されるべきである、CRI SEIメッセージ、または同様のSEIメッセージシグナリングおよび処理の可能な導出を改善するためのいくつかの技法を記載する。上記で説明された問題に対処するために、本明細書で説明される1つまたは複数の技法は、ビデオエンコーダ20、ビデオプリプロセッサ19、ビデオデコーダ30、および/またはビデオポストプロセッサ31のうちの1つまたは複数によって適用されるかまたは場合によっては行われ得る。本明細書で説明される1つまたは複数の技法は、独立してまたは任意の組合せで適用され得る。
[0142] 一例では、ビデオエンコーダ20は、新しいセマンティクスに従って1つまたは複数のCRI SEIメッセージをシグナリングするように構成され得、並びに/あるいは、ビデオデコーダ30および/またはビデオポストプロセッサ31は、新しいセマンティクスに従って1つまたは複数のCRI SEIメッセージを処理するように構成され得る。新しいセマンティクスは、例えば、ビデオエンコーダ20が、本明細書で説明されるように1つまたは複数のCRI SEIメッセージをシグナリングすることを可能にし得る。新しいセマンティクスは、例えば、ビデオデコーダ30および/またはビデオポストプロセッサ31が、復号ビデオデータに対して直接、または復号ビデオデータに対して間接的にCRI SEIメッセージに対応する1つまたは複数のプロセス(例えば、プリLUT206、3×3行列208、およびポストLUT210)を適用することを可能にし得る。例えば、ビデオデコーダ30および/またはビデオポストプロセッサ31が、1つまたは複数のCRI SEIメッセージをそれを用いて処理するように構成され得る新しいセマンティクスに従って、ビデオデコーダ30および/またはビデオポストプロセッサ31は、ある処理の後に、CRI SEIメッセージに対応する1つまたは複数のプロセスを復号ビデオデータ(例えば、復号ビデオサンプル)に適用するために(すなわち、復号ビデオデータに対して間接的に)適用するように構成され得る。他の例では、ビデオデコーダ30および/またはビデオポストプロセッサ31は、復号ビデオデータに直接CRI SEIメッセージに対応する1つまたは複数のプロセスを適用するために適用するように構成され得る。ビデオデコーダ30および/またはビデオポストプロセッサ31は、colour_remap_idの値のような、シンタックス要素の値に基づいて復号ビデオデータに対してCRI SEIメッセージに対応する1つまたは複数のプロセスを直接適用すべきなのか、間接的に適用すべきなのかを決定するように構成され得る。
[0143] そのような技法の一例が、復号ビデオデータに直接適用されていないCRI SEIメッセージに対応する色再マッピングプロセスの一例を示す、図9に示されている。代わりに、図9の例に示されているように、量子化プロセス116によって発生された量子化ビデオデータは、示されている順序で色再マッピングプロセス150によって処理され得る。ビデオプリプロセッサ19内に示されているプロセスの各々が、ビデオプリプロセッサ19によって行われ得る。他の例では、ビデオプリプロセッサ19内に示されている1つまたは複数のプロセスが、ビデオエンコーダ20によって行われ得る。色再マッピングプロセス150および156が色コンバージョンを行う図9の例では、ビデオプリプロセッサ19およびビデオポストプロセッサ31は、それぞれ、色コンバージョンプロセス114および逆色コンバージョンプロセス124を行わないように構成され得る。そのような例では、ビデオプリプロセッサ19は、TF112によって発生されたかまたは場合によっては出力されたデータに対して量子化プロセス116を行うように構成され得る。同様に、ビデオポストプロセッサ31は、逆量子化プロセス122によって発生されたかまたは場合によっては出力されたデータに対して逆伝達関数126を適用するように構成され得る。
[0144] いくつかの例では、ビデオプリプロセッサ19内に示されている1つまたは複数の他のプロセスが、任意の2つの色再マッピングプロセス150(例えば、プリLUT200、3×3行列202、およびポストLUT204)の適用の中間にビデオデータに適用され得る。次いで、色再マッピングされたビデオデータ151が、ダウンサンプリングプロセスまたはアップサンプリングプロセスのような、1つまたは複数の非色再マッピングプロセス152によって処理され得る。例えば、色再マッピングされたビデオデータ151は、4:4:4クロマフォーマットに従い得る。1つまたは複数の非色再マッピングされたプロセスは、処理された事前符号化されたビデオデータ118が、この例において4:2:0クロマフォーマットを有するように、ダウンサンプリングプロセスを含み得る。
[0145] 同様に、デコーダ側で、ビデオデコーダ30が、図9に示されている様式でなど、ビデオポストプロセッサ31によって次いで処理され得る、(いくつかの例では、復号HDRビデオデータを指し得る)復号ビデオデータ120を出力し得る。ビデオポストプロセッサ31内に示されているプロセスの各々が、ビデオポストプロセッサ31によって行われ得る。いくつかの例では、ビデオポストプロセッサ31内に示されている1つまたは複数の他のプロセスが、CRI SEIメッセージに対応する任意の2つの色再マッピングプロセス156(例えば、プリLUT206、3×3行列208、およびポストLUT210)の適用の中間に復号ビデオデータに適用され得る。
[0146] 例えば、ビデオポストプロセッサ31は、ビデオデコーダ30から復号ビデオデータ120を受信し、復号ビデオデータに対して1つまたは複数の非色再マッピングプロセス154(例えば、フィルタ処理プロセス、ダウンサンプリングプロセス、またはアップサンプリングプロセス)を行い得る。
[0147] いくつかの例では、1つまたは複数の非色再マッピングプロセス154は、1つまたは複数の非色再マッピングプロセス152の逆であり得る。例えば、4:4:4から4:2:0へのダウンサンプリングを伴う上記の例では、ビデオデコーダ30によって出力された復号ビデオデータ120は、従って、4:2:0クロマフォーマットでのものであり得る。復号ビデオデータ120は、次いで、ビデオポストプロセッサ31によって行われる1つまたは複数の非色再マッピングプロセス154によって処理され得る。本明細書で説明されるように、非色再マッピングプロセス154は、例えば、フィルタ処理プロセス、アップサンプリングプロセス、ダウンサンプリングプロセス、逆量子化プロセス、復号ビデオデータのコンポーネントを表すために使用される色プライマリの変更、または任意の他の非CRI SEIメッセージプロセスを含み得る。一例では、非色再マッピングプロセス154は、復号ビデオデータ120を4:4:4クロマフォーマットにコンバートするために、逆ダウンサンプリングプロセス(すなわち、アップサンプリングプロセス)を含み得る。例えば、非CRI処理された復号ビデオデータ155が、4:4:4クロマフォーマットに従い得る。ビデオポストプロセッサ31は、示されている順序で、非CRI処理された復号ビデオデータ155に対して(1つまたは複数のCRI SEIメッセージプロセス156と呼ばれることがある)1つまたは複数の色再マッピングプロセス156を行うように構成され得る。
[0148] 別の例では、ビデオデコーダ30および/またはビデオポストプロセッサ31は、2つ以上のCRI SEIメッセージが同じ復号ビデオデータに適用され得るように、新しいセマンティクスに従って、2つまたはそれ以上のCRI SEIメッセージを処理するように構成され得る。2つそれ以上のCRI SEIメッセージが、ビデオデコーダ30および/またはビデオポストプロセッサ31によって同じ復号ビデオデータにどのように適用され得るかに関する異なる例示的な方法が開示される。一例では、ビデオエンコーダ20は、同じビデオデータに対応する(例えば、同じピクチャに対応する)複数のCRI SEIメッセージをシグナリングするように構成され、そのようなCRI SEIメッセージの各々は、colour_remap_idシンタックス要素に対応する異なる値を有し得る。本明細書で使用されるcolour_remap_idは、CRI SEIメッセージに対応する情報の目的を識別するために使用され(すなわち、CRI SEIメッセージに対応する色再マッピング情報の目的を識別するために使用され)得る対応する値それを有する任意のシンタックス要素を指し得る。ビデオデコーダ30および/またはビデオポストプロセッサ31は、新しいセマンティクスに従って、同じビデオデータに対応する各CRI SEIメッセージのためにシグナリングされたcolour_remap_idシンタックス要素に対応する値を決定するように構成され得る。例えば、ビデオデコーダ30および/またはビデオポストプロセッサ31は、CRI SEIメッセージが復号ビデオデータに適用されるべきである順序を決定するように構成され得る。コンテキストが別段に規定しない限り、本明細書で使用される、プロセスを復号ビデオデータに対してまたは場合によっては復号ビデオデータに適用することへの言及は、復号ビデオデータに対してまたは場合によっては復号ビデオデータにプロセスを直接適用するかまたは間接的に適用することを含む。言い換えれば、本明細書での復号ビデオデータへの言及は、さらなるコンテキストなしに、例えば、ビデオデコーダ30によって、発生されてから復号ビデオデータが処理されたかまたは処理されていないことを暗示しない。一例として、復号ビデオデータは、ビデオデコーダ30から出力されるものとして示されているビデオデータについて正確に説明し、並びに、ビデオポストプロセッサ31によって行われるものとして示されている各プロセスから出力されるものとして示されているビデオデータについて正確に説明し得る。図9に示されているプロセス間の差は、復号ビデオデータが1つまたは複数のプロセスの結果として変化し得るということである。例えば、逆量子化プロセス122に入力されるものとして示されている復号ビデオデータは、1つまたは複数のCRI SEIメッセージプロセス156によって処理された復号ビデオデータである。
[0149] いくつかの例では、colour_remap_idの第1の値は、colour_remap_idの第2の値よりも小さくなり得る。例えば、ビデオデコーダ30および/またはビデオポストプロセッサ31は、colour_remap_idのより低い値を有するCRI SEIメッセージが、colour_remap_idのより高い値を有する復号サンプルへの任意の他のCRI SEIメッセージの適用の前に、復号ビデオデータに適用されると決定するように構成され得る。別の例では、(例えば、色コンポーネントの区分線形マッピングを行うことによって)復号ビデオデータの色コンポーネントを調整するために、復号ビデオデータのコンポーネントのトーンマッピングを行うために、colour_remap_idの第1の値をもつCRI SEIメッセージの色再マッピング情報が使用され得、復号サンプルを第1のダイナミックレンジから第2のダイナミックレンジに(例えば、HDRからSDRまたはその逆に)マッピングするために、colour_remap_idの第2の値をもつSEIメッセージの色再マッピング情報が使用され得る。
[0150] 別の例では、ビデオデコーダ30および/またはビデオポストプロセッサ31は、CRI SEIメッセージに対応する復号ビデオデータのフォーマットが浮動小数点であるとき、CRI SEIメッセージの入力および出力ビット深度(すなわち、それぞれ、CRI処理に入るビデオデータのビット深度および、CRI処理を出るビデオデータのビット深度)によって許容される最小値および最大値を解釈するように構成され得る。いくつかの例では、SEIメッセージの入力および出力ビット深度によって許容される最小値および最大値は、それぞれ、0〜1の正規化された浮動小数点表現にマッピングされるように、ビデオデコーダ30および/またはビデオポストプロセッサ31によって解釈され得る。他の例では、浮動小数点における復号ビデオデータの許容値レンジが0〜1であるとき、それぞれの入力ビット深度および出力ビット深度によって表される最小値および最大値は、それぞれ、0および1にマッピングされ得る。
[0151] 別の例示的な技法は、ピボット点に関係するシンタックス要素のコーディング(すなわち、符号化および/または復号)に関する。例えば、ビデオエンコーダ20は、復号ビデオデータのそれぞれのビット深度によって示されているのと同数のビットをもつピボット点(例えば、pre_lut_coded_value[][]、pre_lut_target_value[][]、post_lut_coded_value[][]、およびpost_lut_target_value[][])に関係するシンタックス要素をシグナリングするように構成され得る。例えば、ビデオエンコーダ20が、(colour_remap_input_bit_depthおよびcolour_remap_bit_depthによって示されている)入力ビット深度および出力ビット深度が、それぞれ、12および10であると決定した場合、pre_lut_coded_value[][]は、12ビットでビデオエンコーダ20によってコーディングされ得、pre_lut_target_value[][]、post_lut_coded_value[][]、およびpost_lut_target_value[][]は、10ビットでエンコーダ20によってコーディングされる。
[0152] 別の例示的な技法では、ビデオエンコーダ20は、ビデオデコーダ30および/またはビデオポストプロセッサ31に、0番目のコンポーネント(例えば、色空間の第1の色コンポーネント)のために示されるプリLUTおよびポストLUTが、他の2つのコンポーネント(例えば、色空間の第2の色コンポーネントおよび第3の色コンポーネント)に適用されるプリLUTおよびポストLUTと同じであるかどうかを示すために、プリLUTおよびポストLUTのためのフラグをシグナリングするように構成され得る。この例では、全ての3つのコンポーネントのために適用されるプリLUTとポストLUTとが同等であることをフラグが示すとき、1つのコンポーネント(例えば、1つの色チャネル)のみのプリLUTピボット点およびポストLUTピボット点が、ビデオエンコーダ20によってシグナリングされ、他のコンポーネント(例えば、他の色チャネル)のプリLUTピボット点およびポストLUTピボット点が、ビデオデコーダ30によって0番目のコンポーネントの値から推論され得る。例えば、ビデオデコーダ30は、ビットストリーム中で、色空間における第1の色チャネルのために、第1のプリLUT(例えば、第1のプリLUT206)のための(LUTコードワードと呼ばれることもある)ピボット点と、第1のポストLUT(例えば、第1のポストLUT210)のためのピボット点とを受信するように構成され得る。ビデオデコーダ30はまた、ビットストリーム中で、0番目のコンポーネント(すなわち、3つの色チャネル例における第1の色チャネル)に対応するこの例における第1のプリLUTおよび第1のポストLUTが、第2の色チャネルおよび第3の色チャネルのためのプリLUTおよびポストLUTと同じであるかどうかを示すフラグに対応する値を受信し得る。ビットストリームからパースされたフラグに対応する値に基づいて、ビデオデコーダ30は、第2の色チャネルおよび第3の色チャネルのためのプリLUTおよびポストLUTに対応するピボット点が、それぞれ、ビデオエンコーダ20によってシグナリングされる第1のプリLUTおよび第1のポストLUTについて同じであると推論する(例えば、決定する)ように構成され得る。従って、ビデオデコーダ30が、ビデオデータを復号するためにビデオエンコーダ20の逆を行うように構成され得ることを理解されたい。
[0153] 他の例では、ビデオエンコーダ20は、プリLUTのための第1のフラグをシグナリングするように構成され得、2つ以上のコンポーネントのためのLUTをシグナリングしない上記の技法のために、および0番目のコンポーネントのものからのLUTの推論のために、ポストLUTのための第2のフラグをシグナリングするように構成され得る。この例では、(本明細書でプリLUTフラグとも呼ばれる)第1のフラグは、ビデオデコーダ30および/またはビデオポストプロセッサ31に、0番目のコンポーネント(例えば、色空間の第1の色コンポーネント)のためにシグナリングされるプリLUTが、他の2つのコンポーネント(例えば、色空間の第2の色コンポーネントおよび第3の色コンポーネント)に適用されるべきプリLUTと同じであるかどうかを示すために、ビデオエンコーダ20によってシグナリングされ得る。この例では、全ての3つのコンポーネントのために適用されるプリLUTが同等であることを第1のフラグが示すとき、1つのコンポーネント(例えば、1つの色チャネル)のみのプリLUTピボット点が、ビデオエンコーダ20によってシグナリングされ、他のコンポーネント(例えば、他の色チャネル)のプリLUTピボット点が、ビデオデコーダ30によって0番目のコンポーネントの値から推論され得る。
[0154] 同様に、この例では、(本明細書でポストLUTフラグとも呼ばれる)第2のフラグは、ビデオデコーダ30および/またはビデオポストプロセッサ31に、0番目のコンポーネント(例えば、色空間の第1の色コンポーネント)のためにシグナリングされるポストLUTが、他の2つのコンポーネント(例えば、色空間の第2の色コンポーネントおよび第3の色コンポーネント)に適用されるべきポストLUTと同じであるかどうかを示すために、ビデオエンコーダ20によってシグナリングされ得る。この例では、全ての3つのコンポーネントのために適用されるポストLUTが同等であることを第1のフラグが示すとき、1つのコンポーネント(例えば、1つの色チャネル)のみのポストLUTピボット点が、ビデオエンコーダ20によってシグナリングされ、他のコンポーネント(例えば、他の色チャネル)のポストLUTピボット点が、ビデオデコーダ30によって0番目のコンポーネントの値から推論され得る。
[0155] 例えば、全ての色コンポーネント(例えば、RGB色空間における赤色、緑色、および青色チャネル)のために適用されるプリLUTが同等であるととビデオエンコーダ20が決定したとき、ビデオエンコーダ20は、このことを示すプリLUTフラグに対応する値をシグナリングするように構成され得る。各色コンポーネントにわたってピボット点同一性を示すプリLUTフラグに対応する値が、ビデオエンコーダ20によってシグナリングされるとき、ビデオエンコーダ20はまた、1つのコンポーネントのみのプリLUTピボット点のみをシグナリングするように構成され得る。ビデオデコーダ30は、ビットストリーム中で、プリLUTフラグに対応する値と、単一の色コンポーネント(例えば、0番目のコンポーネント)に対応する単一のプリLUTに対応するピボット点とを受信するように構成され得る。ビットストリームからパースされたプリLUTフラグに対応する値に基づいて、ビデオデコーダ30は、残りのプリLUT(例えば、ピボット点がそれのためにシグナリングされないプリLUT)に対応するピボット点が、ビデオエンコーダ20によってシグナリングされた単一のプリLUTに対応するピボット点と同じであると推論する(例えば、決定する)ように構成され得る。ビデオエンコーダ20およびビデオデコーダ30は、ポストLUTフラグが、プリLUTピボット点の同一性ではなくポストLUTピボット点の同一性に関係することを除いて、ポストLUTフラグに関して同様の様式で動作する。
[0156] 他の例では、ビデオエンコーダ20は、(反対の0番目のコンポーネントとして)第1のコンポーネントのために示されるLUT(例えば、プリLUTまたはポストLUT)が、第2のコンポーネントに適用されるべきLUTと同じであるかどうかを示すためのフラグをシグナリングするように構成され得る。この例では、第1のコンポーネントおよび第2のコンポーネントは、0番目のコンポーネントと区別されるべきである(すなわち、コンポーネントが0ではなく1から番号を付けられた場合、この例は、第2のコンポーネントのために示されるLUT(例えば、プリLUTまたはポストLUT)が、第3のコンポーネントに適用されるべきLUTと同じであるかどうかを示すためにシグナリングされ得るフラグを含むものとして説明されることになる)。ビデオデコーダ30は、ビットストリーム中でこのフラグに対応する値を受信し、第2のコンポーネントに対応するプリLUTおよびポストLUTに対応するピボット点が、第1の色コンポーネントのためのプリLUTおよびポストLUTのためにそれぞれシグナリングされるピボット点と同じであると決定(例えば、推論)し得る。
[0157] 他の例では、ビデオエンコーダ20は、現在ピクチャに適用されるLUTコンポーネント(すなわち、プリLUTコンポーネントおよびポストLUTコンポーネント)が、出力順序で前のピクチャに適用されたCRI SEIメッセージの対応するコンポーネントから推論されるべきであることを示すために、各色コンポーネントのためのフラグをシグナリングするように構成され得る。例えば、ビデオエンコーダ20は、3色コンポーネント例では6つのフラグをシグナリングするように構成され得る。そのような例では、第1のフラグは、第1の色コンポーネントに対応する現在ピクチャに適用されるプリLUTが、出力順序で前のピクチャに適用されたCRI SEIメッセージの第1の色コンポーネントに対応するプリLUTから推論されるべきであることを示し得る。第2のフラグは、第1の色コンポーネントに対応する現在ピクチャに適用されるポストLUTが、出力順序で前のピクチャに適用されたCRI SEIメッセージの第1の色コンポーネントに対応するポストLUTから推論されるべきであることを示し得る。第3のフラグは、第2の色コンポーネントに対応する現在ピクチャに適用されるプリLUTが、出力順序で前のピクチャに適用されたCRI SEIメッセージの第2の色コンポーネントに対応するプリLUTから推論されるべきであることを示し得る。第4のフラグは、第2の色コンポーネントに対応する現在ピクチャに適用されるポストLUTが、出力順序で前のピクチャに適用されたCRI SEIメッセージの第2の色コンポーネントに対応するポストLUTから推論されるべきであることを示し得る。第5のフラグは、第3の色コンポーネントに対応する現在ピクチャに適用されるプリLUTが、出力順序で前のピクチャに適用されたCRI SEIメッセージの第3の色コンポーネントに対応するプリLUTから推論されるべきであることを示し得る。第6のフラグは、第3の色コンポーネントに対応する現在ピクチャに適用されるポストLUTが、出力順序で前のピクチャに適用されたCRI SEIメッセージの第3の色コンポーネントに対応するポストLUTから推論されるべきであることを示し得る。
[0158] 別の例示的な技法では、colour_remap_idに対応するいくつかの値が予約され得る。例えば、colour_remap_idに対応する値の第1のレンジが、後方互換性がある処理チェーン(例えば、SDR、709コンテナなど)および/またはHDR処理チェーンを可能にし得る。別の例として、後方互換性があるソリューション(例えば、SDRディスプレイ上での表示のためにコンテンツを処理するために使用され得る色再マッピング情報)のために、または、例えば、BT.709色コンテナを含む、他の後方互換性があるソリューションのために、colour_remap_idのいくつかの値レンジが予約され得る。別の例では、最終出力がHDRディスプレイ上で表示されるHDR処理チェーンのために、colour_remap_idのいくつかの値レンジが予約され得る。言い換えれば、上記の例は、ビデオエンコーダ20が、ビデオデコーダ30および/またはビデオポストプロセッサ31が、復号ビデオデータをSDRまたはHDRディスプレイ互換性があるコンテンツにコンバートするために、復号ビデオデータに対して必須の処理を行うことを保証するための情報をビデオデコーダ30に与えることを可能にする。いくつかの予約済み値に関係する上記の例を参照すると、ビデオエンコーダ20は、ビットストリーム中でCRI SEIメッセージ中のcolour_remap_idシンタックス要素のための値をシグナリングするように構成され得る。ビデオデコーダ30は、ビットストリームを受信し、colour_remap_idのための値が、例えば、CRI SEIメッセージが、後方互換性がある処理チェーンおよび/またはHDR処理チェーンにおいて適用されるべきであることを示す予約済み値に対応すると決定するように構成され得る。別の例として、ビデオデコーダ30は、ビットストリームを受信し、例えば、colour_remap_idのための値が、復号側処理チェーンにおいて、プリLUT206、3×3行列208、およびポストLUT210の各々がどこで適用されるべきであるかを示す予約済み値に対応すると決定するように構成され得る。例えば、colour_remap_idのための値は、図10、図11、図12、図13、または図14に示されている処理チェーンに対応し得る。
[0159] 別の例示的な技法では、ビデオエンコーダ20は、本明細書で説明されるようにプリLUTおよび/またはポストLUTのためのピボット点をシグナリングするように構成され得る。いくつかの例では、ピボット点は、復号ビデオデータに対応する入力レンジ全体をカバーしないことがある。そのような例では、ビデオデコーダ30および/またはビデオポストプロセッサ31は、プリLUTおよび/またはポストLUTにおける第1のピボット点よりも小さい色コンポーネント値を有する任意の復号ビデオデータを、プリLUTおよび/またはポストLUTにおける第1のピボット点にマッピングするように構成され得る。同様に、ビデオデコーダ30および/またはビデオポストプロセッサ31は、プリLUTおよび/またはポストLUTにおける最後のピボット点よりも大きい色コンポーネント値を有する任意の復号ビデオデータを、プリLUTおよび/またはポストLUTにおける第1のピボット点にマッピングするように構成され得る。
[0160] 本明細書で説明される1つまたは複数の例示的な技法はまた、現在のHEVC規格によって定義されるCRI SEIメッセージのシンタックスに対する変更、および/または現在のHEVC規格によって定義されるCRI SEIメッセージのセマンティクスに対する変更に関して説明され得る。現在のHEVC規格に対するシンタックスおよびセマンティクスへの追加は下線を引かれ、除去されたテキストは取消し線によって示されている。
[0161] CRI SEIメッセージのシンタックスに対する変更は、以下を含む(追加は下線付きのテキストによって表され、削除は、取り消されたテキストによって表される)。
[0162] CRI SEIメッセージのセマンティクスに対する変更は、以下の段落[0163]〜[0180]に示されている(追加は下線付きのテキストによって表され、削除は、取り消されたテキストによって表される)。
[0163] 色再マッピング情報SEIメッセージは、出力ピクチャの再構成された色サンプルの再マッピングを可能にするための情報を与える。色再マッピング情報は、復号サンプル値がルーマおよびクロマ領域にあるのか、RGB領域にあるのかにかかわらず、復号サンプル値に直接適用され得る。色再マッピング情報はまた、1つまたは複数のプロセスの適用の後に復号サンプルに適用され得る。色再マッピング情報SEIメッセージ中で使用される色再マッピングモデルは、(本明細書でシンタックス要素の「プリ」セットによって指定される)各色コンポーネントに適用される第1の区分線形関数と、3つの色コンポーネントに適用される3×3行列と、(本明細書でシンタックス要素の「ポスト」セットによって指定される)各色コンポーネントに適用される第2の区分線形関数とから構成される。注1−表示のための出力ピクチャの色再マッピングは随意であり、本明細書において指定される復号プロセスに影響を及ぼさない。
[0164] colour_remap_idは、色再マッピング情報の目的を識別するために使用され得る識別番号を含んでいる。colour_remap_idの値は、両端値を含む、0〜232−2のレンジ内にあるものとする。
[0165] 0〜255の、および512〜231−1のcolour_remap_idの値は、適用例によって決定されたように使用され得る。両端値を含む、256〜511の、および、両端値を含む、231〜232−2のcolour_remap_idの値は、ITU−T|ISO/IECによる将来の使用のために予約済みである。デコーダは、両端値を含む、256〜511のレンジ内の、または、両端値を含む、231〜232−2のレンジ内のcolour_remap_idの値を含んでいる全ての色再マッピング情報SEIメッセージを無視するものとし、ビットストリームは、そのような値を含んでいないものとする。注2−colour_remap_idは、異なるディスプレイシナリオに好適である異なる色再マッピングプロセスをサポートするために使用され得る。例えば、colour_remap_idの異なる値は、ディスプレイによってサポートされる異なる再マッピングされた色空間に対応し得る。
[0166] 2つ以上のSEIメッセージが現在ピクチャに関連し、各そのようなSEIメッセージがcolour_remap_idの異なる値を有するとき、あるSEIメッセージの色再マッピング情報は、別のSEIメッセージの色再マッピング情報の適用の後に適用される。SEIメッセージが適用されるべきである順序は、適用によって決定され得る。指定されないときに、色再マッピング情報は、現在ピクチャに関連する色再マッピング情報SEIメッセージのcolour_remap_idの昇順で適用される。
[0167] colour_remap_matrix_coefficientsは、colour_remap_matrix_coefficientsが、CLVSのために使用される色空間ではなく、再マッピングされた再構成されたピクチャの色空間を指定することを除いて、matrix_coeffsシンタックス要素についての節E.3.1において指定されたのと同じセマンティクスを有する。存在しないとき、colour_remap_matrix_coefficientsの値は、matrix_coeffsの値に等しいと推論される。
[0168] colour_remap_input_bit_depthは、色再マッピング情報SEIメッセージの解釈の目的で、関連するピクチャのルーマおよびクロマコンポーネントまたはRGBコンポーネントのビット深度を指定する。コード化ルーマおよびクロマコンポーネントのビット深度またはコード化RGBコンポーネントのビット深度に等しくないcolour_remap_input_bit_depthの値をもつ色再マッピング情報SEIメッセージが存在するとき、SEIメッセージは、コード化ビデオを、colour_remap_input_bit_depthに等しいビット深度をもつコンバートされたビデオにコンバートするために行われるトランスコーディング動作の仮想結果を指す。色再マッピング情報が、ルーマまたはクロマコンポーネント、あるいはRGBコンポーネントに、レンジ0〜1において浮動小数点表現で適用されるとき、SEIメッセージは、それをcolour_remap_input_bit_depthに等しいビット深度をもつ表現にコンバートするための、浮動小数点表現を量子化することの仮想結果を指す。
[0169] colour_remap_input_bit_depthの値は、両端値を含む、8〜16のレンジ内にあるものとする。両端値を含む、0〜7の、および、両端値を含む、17〜255のcolour_remap_input_bit_depthの値は、ITU−T|ISO/IECによる将来の使用のために予約済みである。デコーダは、両端値を含む、0〜7のレンジ内の、または、両端値を含む、17〜255のレンジ内のcolour_remap_input_bit_depthを含んでいる全ての色再マッピングSEIメッセージを無視するものとし、ビットストリームは、そのような値を含んでいないものとする。
[0170] pre_lut_num_compsは、プリルックアップテーブルに対応するピボット点が色再マッピング情報メッセージ中でそれのために明示的にシグナリングされるコンポーネントの数を指定する。pre_lut_num_compsの値は、両端値を含む、レンジ0〜3内にあるものとする。
[0171] colour_remap_bit_depthは、色再マッピング情報SEIメッセージによって記述される色再マッピング関数の出力のビット深度を指定する。
[0172] colour_remap_bit_depthの値は、両端値を含む、8〜16のレンジ内にあるものとする。両端値を含む、0〜7の、および、両端値を含む、17〜255のレンジ内のcolour_remap_bit_depthの値は、ITU−T|ISO/IECによる将来の使用のために予約済みである。デコーダは、両端値を含む、0〜7の、または、両端値を含む、17〜255のレンジ内のcolour_remap_bit_depthの値を含んでいる全ての色再マッピングSEIメッセージを無視するものとする。
[0173] pre_lut_num_val_minus1[c]+1は、c番目のコンポーネントについての区分線形再マッピング関数におけるピボット点の数を指定し、ここで、0に等しいcは、ルーマまたはGコンポーネントを指し、1に等しいcは、CbまたはBコンポーネントを指し、2に等しいcは、CrまたはRコンポーネントを指す。pre_lut_num_val_minus1[c]が0に等しいとき、c番目のコンポーネントについて、入力値のデフォルト端点は、0および2colour_remap_input_bit_depth−1であり、出力値の対応するデフォルト端点は、0および2colour_remap_bit_depth−1である。本明細書のこのバージョンに準拠するビットストリームでは、pre_lut_num_val_minus1[c]の値は、両端値を含む、0〜32のレンジ内にあるものとする。
[0174] pre_lut_num_val_minus1[c]が、両端値を含む、1〜2のレンジ内のcのための色再マッピング情報SEIメッセージ中に存在しないとき、pre_lut_num_val_minus1[c]の値は、pre_lut_num_val_minus1[c−1]に等しく設定される。
[0175] pre_lut_coded_value[c][i]は、c番目のコンポーネントについてのi番目のピボット点の値を指定する。
[0176] pre_lut_coded_value[c][i]が、両端値を含む、1〜2のレンジ内のcのための色再マッピング情報SEIメッセージ中に存在せず、iが、pre_lut_num_val_minus1[c]よりも小さいかまたはそれに等しいとき、pre_lut_coded_value[c][i]の値は、pre_lut_coded_value[c−1][i]に等しく設定される。
[0177] pre_lut_target_value[c][i]は、c番目のコンポーネントについてのi番目のピボット点の値を指定する。
[0178] pre_lut_target_value[c][i]が、両端値を含む、1〜2のレンジ内のcのための色再マッピング情報SEIメッセージ中に存在せず、iが、pre_lut_num_val_minus1[c]よりも小さいかまたはそれに等しいとき、pre_lut_target_value[c][i]の値は、pre_lut_target_value[c−1][i]に等しく設定される。
[0179] コンポーネントcの入力データのレンジが、両端値を含む、minValue〜maxValueのレンジ内にあるとき、以下が適用される。
−minValueがpre_lut_coded_value[c][0]よりも小さいとき、両端値を含む、レンジminValue〜pre_lut_coded_value[c][0]−1内にある全ての入力値が、pre_lut_target_value[c][0]にマッピングされる。
−maxValueがpre_lut_coded_value[c][pre_lut_num_val_minus[c]]よりも大きいとき、両端値を含む、レンジpre_lut_coded_value[c][pre_lut_num_val_minus[c]]+1〜maxValue内にある全ての入力値が、pre_lut_target_value[c][pre_lut_num_val_minus[c]]にマッピングされる。
[0180] post_lut_num_val_minus[]、post_lut_coded_value[][]、およびpost_lut_target_value[][]のセマンティクスは、それぞれ、pre_lut_num_val_minus[]、pre_lut_coded_value[][]、およびpre_lut_target_value[][]のセマンティクスと同様であり、post_lut_coded_value[][]、およびpost_lut_target_value[][]を表すために使用されるビット数は、colour_remap_bit_depthに等しい。
[0181] 一例では、入力データのレンジは、標準レンジ、(例えば、ルーマについての8ビットコンテンツについての16〜235、クロマについての8ビットコンテンツについての16〜240)、または制限付きレンジ(例えば、ルーマとクロマの両方についての10ビットコンテンツについての4〜1020)であり得るコンポーネントの許容値を指し得る。別の例では、入力ピボット点によって示されているそれらの点のレンジ外にある入力値は、明示的にシグナリングされるかまたはある値に固定されるデフォルト値にマッピングされ得る。ポストLUTに関係するセマンティクスに対して、同様の変更が行われ得る。
[0182] 段落[0166]に示されているセマンティクス追加の代替として、2つ以上のCRI SEIメッセージの適用は、2つ以上のCRI SEIメッセージからの色再マッピング情報が、現在ピクチャに適用され得るかどうかを決定する追加のシンタックス要素が追加され得るように指定され得る。この追加のシンタックス要素の値が1であるとき、2つ以上のCRI SEIメッセージの色再マッピング情報が現在ピクチャに適用され得る。シンタックス要素の値が0に等しいとき、1つのSEIメッセージのみの色再マッピング情報が現在ピクチャに適用され得る。0に等しいシンタックス要素の値を有する現在ピクチャに関連する2つ以上のCRI SEIメッセージがあるとき、最も低いcolour_remap_idをもつCRI SEIメッセージの色再マッピング情報が適用され得る。他の例では、現在ピクチャに関連する2つ以上のCRI SEIメッセージがあるとき、最も低いcolour_remap_idをもつCRI SEIメッセージの色再マッピング情報が適用され得る。
[0183] 本開示は、本明細書で説明される1つまたは複数の特徴を適用するために使用され得る実施構成のいくつかの例を与える。例えば、いくつかの例示的な構成は、本明細書で説明される色再マッピング情報が、ポスト処理チェーン(すなわち、ポスト復号チェーン)においてどのように使用され得るかの例を示すために示されている。本開示は、本明細書で記載される例に限定されない。
[0184] いくつかの例では、colour_remap_idの特定の値が、デコーダ終端において必要とされる処理を示すために使用され得る、各構成(例えば、図9〜図14に示されている各ポスト処理チェーン構成)に割り当てられ得る。図10〜図14に示されている例示的なポスト復号構成の各々では、3つのCRIプロセス(例えば、プリLUT206、3×3行列208、およびポストLUT210)が示されている。下線付きのCRIプロセスは、値が非自明(非恒等)であり得ることを示し、下線付きでないCRIプロセスは、CRIプロセスが、例えば、シグナリングされた値ではなくデフォルト値/恒等マッピング(identity mapping)を使用することによって、ビデオポストプロセッサ31によって事実上使用されないかまたは行われないことを示す。例えば、ビデオエンコーダ20は、3×3行列208が恒等行列であることを示す情報をシグナリングするように構成され得る。別の例として、ビデオエンコーダ20は、出力値が入力値に等しくなる(すなわち、入力ピクセル値が、プリLUT206によってマッピングされたときに変化せず、これは、恒等マッピングと呼ばれることがある)ように、プリLUT206が入力ピクセル値を出力ピクセル値にマッピングするデータ構造であり得ることを示す情報をシグナリングするように構成され得る。別の例として、ビデオエンコーダ20は、出力値が入力値に等しくなる(すなわち、入力ピクセル値が、ポストLUT210によってマッピングされたときに変化せず、これは、恒等マッピングと呼ばれることがある)ように、ポストLUT210が入力ピクセル値を出力ピクセル値にマッピングするデータ構造であり得ることを示す情報をシグナリングするように構成され得る。
[0185] 図10は、本開示の1つまたは複数の技法による、ポスト復号チェーン構成の一例を示す。図10の例では、プリLUTのみが、復号ビデオデータを修正するためにビデオポストプロセッサ31によって使用される。図10に示されている構成は、例えば、YUV領域におけるルーマおよび/またはクロマコンポーネントのダイナミックレンジ調整を行うときに使用され得る。
[0186] 図11は、本開示の1つまたは複数の技法による、ポスト復号チェーン構成の一例を示す。図11は、色再マッピング情報における3×3行列202が、色空間コンバージョン(例えば、YUVピクセルデータからRGBピクセルデータ)を行うためにビデオポストプロセッサ31によって使用され得る1つの例示的な構成を示す。
[0187] 図12は、本開示の1つまたは複数の技法による、ポスト復号チェーン構成の一例を示す。図12は、色再マッピング情報の3つの部分(例えば、プリLUT206、3×3行列208、およびポストLUT210)が、色空間コンバージョン(例えば、YUVピクセルデータからRGBピクセルデータ)を行うためにビデオポストプロセッサ31によって使用され得る1つの例示的な構成を示す。
[0188] 図13は、本開示の1つまたは複数の技法による、ポスト復号チェーン構成の一例を示す。図13は、CRI SEIプロセスが、どのように(例えば、図10〜図12の例に示されている様式で)連続的に適用されるだけでないことがあるかを示す。図13はまた、本明細書で示されているように、逆量子化プロセス122によって出力された復号ビデオデータが浮動小数点表現でのものであり得、逆量子化プロセス122に入力されるデータが固定小数点表現でのものであり得るので、CRI SEIプロセス(この例における3×3行列208およびポストLUT210)が、浮動小数点領域におけるコンポーネント(例えば、復号ビデオデータ)に対して適用され得ることを示す。暗黙的量子化および量子化解除が、それぞれ、フロート点から固定小数点に、および浮動小数点から固定小数点にコンバートするために行われ得、従って、3×3行列およびポストLUT動作は、それに応じて適用され得る。
[0189] 図14は、本開示の1つまたは複数の技法による、2つのポスト復号チェーン構成の一例を示す。図14は、色再マッピング情報の2つのセットが、HDRポスト処理チェーンおよびSDRポスト処理チェーンに適用されるためにシグナリングされ得ることを示す。言い換えれば、図14は、ビデオエンコーダ20が、同じビデオデータ(例えば、ピクチャ)に対応する複数のCRI SEIメッセージを発生するように構成され得ることと、ビデオポストプロセッサ31が、HDRチェーンにおいて復号ビデオデータを処理するために、複数のCRI SEIメッセージのうちの少なくとも第1のCRI SEIメッセージに対応する情報を使用し、SDRチェーンにおいて復号ビデオデータを処理するために、複数のCRI SEIメッセージのうちの少なくとも第2のCRI SEIメッセージに対応する情報を使用するように構成され得ることとを示す。LUTによって伝達されるトーンマッピング情報は、一般に、SDRチェーンおよびHDRチェーンについて異なる。いくつかの例では、色再マッピング情報は、2つの異なるID(例えば、第1のcolour_remap_idおよび第2のcolour_remap_id)をもつ、2つのCRI SEIメッセージ中でシグナリングされ得る。一方のIDはHDR処理を示し得、他方のIDはSDR処理を示し得る。各復号チェーン(SDR/HDR)は、それに対応するCRI SEIメッセージに対応するそれぞれの色再マッピング情報を使用し得る。
[0190] 図15は、本開示の技法による例示的なプロセスを示すフローチャートである。図15の技法は、ビデオデコーダ30および/またはビデオポストプロセッサ31のうちの1つまたは複数によってを含む、図1の宛先デバイス14によって実行され得る。
[0191] 本開示の一例では、ビデオデコーダ30は、符号化ビデオデータと色再マッピング情報(CRI)補足エンハンスメント情報(SEI)メッセージとを含むビットストリームを受信する(300)ように構成され得る。いくつかの例では、CRI SEIメッセージは、1つまたは複数の色再マッピングプロセスに対応する情報を含み得る。ビデオデコーダ30は、復号ビデオデータを発生するために符号化ビデオデータを復号する(302)ように構成され得る。ビデオデコーダ30および/またはビデオポストプロセッサ31は、処理された復号ビデオデータを生成するために復号ビデオデータに1つまたは複数の色再マッピングプロセスのうちの少なくとも1つを適用する前に、復号ビデオデータに、CRI SEIメッセージに対応しないプロセスを適用する(304)ように構成され得る。
[0192] いくつかの例では、ビデオデコーダ30および/またはビデオポストプロセッサ31は、処理された復号ビデオデータに1つまたは複数の色再マッピングプロセスのうちの少なくとも1つを適用するように構成され得る。そのような例では、CRI SEIメッセージに対応しないプロセスは、アップサンプリングプロセス、ダウンサンプリングプロセス、色空間コンバージョンプロセス、逆量子化プロセス、または復号ビデオデータのコンポーネントを表すために使用される色プライマリの変更のうちの少なくとも1つを含み得る。
[0193] いくつかの例では、ビデオデコーダ30および/またはビデオポストプロセッサ31は、CRI SEIメッセージの一部として、(1)処理された復号ビデオデータが、追加の処理を用いてまたは用いずに、標準ダイナミックレンジ(SDR)ディスプレイによる提示に対して互換性があるのか、または高ダイナミックレンジ(HDR)ディスプレイによる提示に対して互換性があるのか、(2)CRI SEIメッセージに対応する1つまたは複数の色再マッピングプロセスが、1つまたは複数の色再マッピングプロセスの各色再マッピングプロセスにそれぞれ対応する入力と出力とが等しくなるように構成されるかどうか(例えば、第1の色再マッピングプロセスに対応する入力と出力とが等しいかどうか、第2の色再マッピングプロセスに対応する入力と出力とが等しいかどうかなど)、(3)あるいはCRI SEIメッセージに対応しないプロセスが、CRI SEIメッセージに対応する2つの色再マッピングプロセス間で適用されるべきであるかどうかを示すシンタックス要素に対応する値を受信するように構成され得る。いくつかの例では、ビデオポストプロセッサ31は、SDR互換性がある復号ビデオデータをHDR互換性がある復号ビデオデータにマッピングするように構成され得る。他の例では、ビデオポストプロセッサ31は、HDR互換性がある復号ビデオデータをSDR互換性がある復号ビデオデータにマッピングするように構成され得る。
[0194] いくつかの例では、CRI SEIメッセージは第1のCRI SEIメッセージであり得、ビデオデコーダ30は、ビットストリーム中で、両方とも同じ復号ビデオデータに対応する第1のCRI SEIメッセージと第2のCRI SEIメッセージとを受信するように構成され得る。例えば、復号ビデオデータは、1つまたは複数の復号ピクチャ(例えば、第1の復号ピクチャ、第2の復号ピクチャなど)を含み得る。そのような例では、同じ復号ビデオデータは、同じ復号ピクチャを指し得る。別の例として、復号ビデオデータは、第1の復号ビデオデータ(例えば、第1の復号ピクチャ)と第2の復号ビデオデータ(第2の復号ピクチャ)とを含み得る。そのような例では、第1のCRI SEIメッセージと第2のCRI SEIメッセージの両方は、両方とも第1の復号ビデオデータに対応し得るか、または、第1のCRI SEIメッセージと第2のCRI SEIメッセージの両方は、両方とも第2の復号ビデオデータに対応し得る。
[0195] 第2のCRI SEIメッセージは、1つまたは複数の色再マッピングプロセスに対応する情報を含み得る。第1のCRI SEIメッセージは第1の識別値を含み得、第2のCRI SEIメッセージは第2の識別値を含み得る。ビデオデコーダ30および/またはビデオポストプロセッサ31は、第1の識別値と第2の識別値とに基づいて、処理された復号ビデオデータに、第1のCRI SEIメッセージまたは第2のCRI SEIメッセージに対応する1つまたは複数の色再マッピングプロセスを適用するための順序を決定するように構成され得る。
[0196] いくつかの例では、ビデオデコーダ30および/またはビデオポストプロセッサ31は、第1の識別値と第2の識別値とに基づいて順序を決定することに基づいて、(1)色再マッピングされた復号ビデオデータを発生するために、処理された復号ビデオデータに、第1のCRI SEIメッセージに対応する1つまたは複数の色再マッピングプロセスの各々を適用し、次いで、色再マッピングされた復号ビデオデータに、第2のCRI SEIメッセージに対応する1つまたは複数の色再マッピングプロセスの各々を適用すること、または、(2)色再マッピングされた復号ビデオデータを発生するために、処理された復号ビデオデータに、第2のCRI SEIメッセージに対応する1つまたは複数の色再マッピングプロセスの各々を適用し、次いで、色再マッピングされた復号ビデオデータに、第1のCRI SEIメッセージに対応する1つまたは複数の色再マッピングプロセスの各々を適用することのうちの少なくとも1つを行うように構成され得る。
[0197] 図16は、本開示の技法による例示的なプロセスを示すフローチャートである。図16の技法は、ビデオデコーダ30および/またはビデオポストプロセッサ31のうちの1つまたは複数によってを含む、図1の宛先デバイス14によって実行され得る。
[0198] 本開示の一例では、ビデオデコーダ30は、符号化ビデオデータと複数の色再マッピング情報(CRI)補足エンハンスメント情報(SEI)メッセージとを含むビットストリームを受信する(400)ように構成され得る。複数のCRI SEIメッセージの各CRI SEIメッセージは、1つまたは複数の色再マッピングプロセスに対応する情報を含み得る(例えば、第1のCRI SEIメッセージは、1つまたは複数の色再マッピングプロセスに対応する情報を含み得、第2のCRI SEIメッセージは、第1のCRI SEIメッセージに対応する1つまたは複数の色再マッピングプロセスとは異なる1つまたは複数の色再マッピングプロセスに対応する情報を含み得る)。複数のCRI SEIメッセージは、第1のCRI SEIメッセージと第2のCRI SEIメッセージとを含み得る。ビデオデコーダ30は、復号ビデオデータを発生するために符号化ビデオデータを復号する(402)ように構成され得る。複数のCRI SEIメッセージは、同じ復号ビデオデータに対応し得る。例えば、復号ビデオデータは、1つまたは複数の復号ピクチャ(例えば、第1の復号ピクチャ、第2の復号ピクチャなど)を含み得る。そのような例では、同じ復号ビデオデータは、同じ復号ピクチャを指し得る。別の例として、復号ビデオデータは、第1の復号ビデオデータ(例えば、第1の復号ピクチャ)と第2の復号ビデオデータ(第2の復号ピクチャ)とを含み得る。そのような例では、第1のCRI SEIメッセージと第2のCRI SEIメッセージの両方は、両方とも第1の復号ビデオデータに対応し得るか、または、第1のCRI SEIメッセージと第2のCRI SEIメッセージの両方は、両方とも第2の復号ビデオデータに対応し得る。
[0199] 第1のCRI SEIメッセージは第1の識別値を含み得、第2のCRI SEIメッセージは第2の識別値を含み得る。ビデオデコーダ30および/またはビデオポストプロセッサ31は、第1の識別値と第2の識別値とに基づいて、処理された復号ビデオデータに、第1のCRI SEIメッセージまたは第2のCRI SEIメッセージに対応する1つまたは複数の色再マッピングプロセスを適用するための順序を決定するように構成され得る。
[0200] いくつかの例では、ビデオデコーダ30および/またはビデオポストプロセッサ31は、第1の識別値と第2の識別値とに基づいて順序を決定することに基づいて、(1)色再マッピングされた復号ビデオデータを発生するために、処理された復号ビデオデータに、第1のCRI SEIメッセージに対応する1つまたは複数の色再マッピングプロセスの各々を適用し、次いで、色再マッピングされた復号ビデオデータに、第2のCRI SEIメッセージに対応する1つまたは複数の色再マッピングプロセスの各々を適用すること、または、(2)色再マッピングされた復号ビデオデータを発生するために、処理された復号ビデオデータに、第2のCRI SEIメッセージに対応する1つまたは複数の色再マッピングプロセスの各々を適用し、次いで、色再マッピングされた復号ビデオデータに、第1のCRI SEIメッセージに対応する1つまたは複数の色再マッピングプロセスの各々を適用することのうちの少なくとも1つを行うように構成され得る。
[0201] いくつかの例では、ビデオデコーダ30および/またはビデオポストプロセッサ31は、複数のCRI SEIメッセージの各CRI SEIメッセージの一部として、(1)処理された復号ビデオデータが、追加の処理を用いてまたは用いずに、標準ダイナミックレンジ(SDR)ディスプレイによる提示に対して互換性があるのか、または高ダイナミックレンジ(HDR)ディスプレイによる提示に対して互換性があるのか、(2)それぞれのCRI SEIメッセージに対応する1つまたは複数の色再マッピングプロセスが、それぞれのCRI SEIメッセージに対応する1つまたは複数の色再マッピングプロセスの各色再マッピングプロセスにそれぞれ対応する入力と出力とが等しくなるように構成されるかどうか(例えば、それぞれのCRI SEIメッセージの第1の色再マッピングプロセスに対応する入力と出力とが等しいかどうか、それぞれのCRI SEIメッセージの第2の色再マッピングプロセスに対応する入力と出力とが等しいかどうかなど)、(3)あるいはそれぞれのCRI SEIメッセージに対応しないプロセスが、それぞれのCRI SEIメッセージに対応する2つの色再マッピングプロセス間で適用されるべきであるかどうかを示すシンタックス要素に対応する値を受信するように構成され得る。いくつかの例では、ビデオポストプロセッサ31は、SDR互換性がある復号ビデオデータをHDR互換性がある復号ビデオデータにマッピングするように構成され得る。他の例では、ビデオポストプロセッサ31は、HDR互換性がある復号ビデオデータをSDR互換性がある復号ビデオデータにマッピングするように構成され得る。
[0202] 図17は、本開示の技法による例示的なプロセスを示すフローチャートである。図17の技法は、ビデオデコーダ30および/またはビデオポストプロセッサ31のうちの1つまたは複数によってを含む、図1の宛先デバイス14によって実行され得る。
[0203] 本開示の一例では、ビデオデコーダ30は、符号化ビデオデータと色再マッピング情報(CRI)補足エンハンスメント情報(SEI)メッセージとを含むビットストリームを受信する(500)ように構成され得る。CRI SEIメッセージは、1つまたは複数の色再マッピングプロセスに対応する情報と、シンタックス要素に対応する値とを含み得る。ビデオデコーダ30は、復号ビデオデータを発生するために符号化ビデオデータを復号する(502)ように構成され得る。いくつかの例では、シンタックス要素に対応する値は、(1)復号ビデオデータが、追加の処理を用いてまたは用いずに、標準ダイナミックレンジ(SDR)ディスプレイによる提示に対して互換性があるのか、または高ダイナミックレンジ(HDR)ディスプレイによる提示に対して互換性があるのか、(2)CRI SEIメッセージに対応する1つまたは複数の色再マッピングプロセスが、1つまたは複数の色再マッピングプロセスの各色再マッピングプロセスにそれぞれ対応する入力と出力とが等しくなるように構成されるかどうか、あるいは(3)CRI SEIメッセージに対応しないプロセスが、CRI SEIメッセージに対応する2つの色再マッピングプロセス間で適用されるべきであるかどうかを示す。
[0204] いくつかの例では、ビデオデコーダ30および/またはビデオポストプロセッサ31は、処理された復号ビデオデータを生成するために、シンタックス要素に対応する値に基づいて、復号ビデオデータに1つまたは複数の色再マッピングプロセスのうちの少なくとも1つを適用するように構成され得る。
[0205] 本明細書で説明される様々な例は、任意の組合せで組み合わせられ得る。同様に、2つまたはそれ以上の特徴(例えば、ステップ、コンポーネントなど)を含む本明細書で説明される例はまた、他の例では1つまたは複数のより少ない特徴を含むものとして理解される。一例として、図15の例に関して、ビデオデコーダ30および/またはビデオポストプロセッサ31は、処理された復号ビデオデータを生成するために復号ビデオデータに1つまたは複数の色再マッピングプロセスのうちの少なくとも1つを適用する前に、復号ビデオデータに、CRI SEIメッセージに対応しないプロセスを適用する(304)ように構成され得る。しかしながら、他の例では、ビデオデコーダ30および/またはビデオポストプロセッサ31は、復号ビデオデータに1つまたは複数の色再マッピングプロセスのうちの少なくとも1つを適用するように構成され得ることを理解されたい。言い換えれば、いくつかの例では、ビデオデコーダ30および/またはビデオポストプロセッサ31は、復号ビデオデータに対して1つまたは複数の色再マッピングプロセスを直接または間接的に行うように構成され得る。従って、図15に関して説明されたCRI SEIメッセージが第1のCRI SEIメッセージであり得、ビデオデコーダ30は、ビットストリーム中で、両方とも同じ復号ビデオデータに対応する第1のCRI SEIメッセージと第2のCRI SEIメッセージとを受信するように構成され得ることも理解された。ビデオデコーダ30は、ビデオデコーダ30および/またはビデオポストプロセッサ31が、復号ビデオデータに対して1つまたは複数の色再マッピングプロセスを直接行うように構成され得る例では、または、ビデオデコーダ30および/またはビデオポストプロセッサ31が、復号ビデオデータに対して1つまたは複数の色再マッピングプロセスを間接的に行うように構成され得る例では、第1のCRI SEIメッセージと第2のCRI SEIメッセージとを受信するように構成され得る。
[0206] 上記例に応じて、本明細書で説明された技法のいずれかのいくつかの行為またはイベントが、異なるシーケンスで行われ得、全体的に追加、マージ、または除外され得る(例えば、全ての説明された行為またはイベントが本技法の実施のために必要であるとは限らない)ことを認識されたい。その上、いくつかの例では、行為またはイベントは、連続的にではなく、例えば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して同時に行われ得る。
[0207] 1つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実施され得る。ソフトウェアで実施される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベース処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体のような有形媒体に対応する、コンピュータ可読記憶媒体を含み得るか、または、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号または搬送波のような通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法の実施のための命令、コードおよび/またはデータ構造を取り出すために、1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
[0208] 限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者線(DSL)、または赤外線、無線、およびマイクロ波のようなワイヤレス技術を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波のようなワイヤレス技術は媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびBlu−rayディスク(disc)を含み、ここで、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
[0209] 命令は、1つまたは複数のデジタル信号プロセッサ(DSP)のような1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。従って、本明細書で使用される「プロセッサ」という用語は、上記の構造、または本明細書で説明された技法の実施に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用ハードウェアおよび/またはソフトウェアモジュール内に与えられるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素で十分に実施され得る。
[0210] 本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(例えば、チップセット)を含む、多種多様なデバイスまたは装置で実施され得る。本開示では、開示される技法を行うように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットが説明されたが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明されたように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明された1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作可能なハードウェアユニットの集合によって与えられ得る。
[0211] 様々な例が説明された。これらおよび他の例は以下の特許請求の範囲内に入る。