[0001]本願は、ビデオシステムおよび方法に関する。より具体的には、本願は、ダイナミックメタデータ(たとえばST2094−10)を用いてハイダイナミックレンジ(HDR)ビデオシステムを体系化および管理するためのシステムおよび方法に関する。これらのシステムおよび方法は、UHDおよびHDR/WCGビデオ信号のシグナリングをサポートするデジタルビデオブロードキャスティングまたはOver−The−Topビデオシステム、あるいは何れの他の適したビデオシステムにも適用可能である。
[0002]ビデオコーディング規格の例は、(ISO/IEC MPEG−4 AVCとしても知られている)ITU−T H.264、ISO/IEC MPEG−4ビジュアル、ITU−T H.263、ITU−T H.262またはISO/IEC MPEG−2ビジュアル、ISO/IEC MPEG−1ビジュアル、およびITU−T H.261を含み、そのスケーラブル映像符号化(SVC)および多視点映像符号化(MVC)拡張版も含む。
[0003]加えて、ビデオコーディング規格、即ち高効率ビデオコーディング(HEVC)は、ITU−Tビデオコーディング専門家グループ(VCEG)およびISO/IEC動画専門家グループ(MPEG)のビデオコーディングに関する共同チーム(JCT−VC)よって開発されてきた。最新のHEVCドラフト仕様書は、「Recommendation ITU-T H.265: High Efficiency Video Coding (HEVC)」http://www.itu.int/rec/T-REC-H.265-201504-I/enとして入手可能である。
[0004]復号プロセスに続いて、非圧縮ビデオ信号が、高速デジタル物理インターフェースを通って、ディスプレイまたはTVといったエンドコンシューマデバイスにシグナリングされる。デジタルテレビ(DTV)や、デジタルケーブルや、衛星または地上セットトップボックス(STB)や、限定されないがDVDプレイヤ/レコーダ、および他の関連するソースまたはシンクを含む関連する周辺デバイスといったコンシューマ電子デバイスによる非圧縮デジタルインターフェースの利用に関するプロトコル、要件、および勧告がCTA−861仕様書において規定されている。仕様書の直近のバージョンは、https://standards.cta.tech/kwspub/published_docs/ ANSI-CTA-861-F-Preview.pdfで入手可能である。
[0005]様々な実装において提供されているのは、ST2094−10によって定義されているカラーボリューム変換パラメータをビットストリーム中に符号化するためのシステムおよび方法である。ビデオは、広色域および色の大きいダイナミックレンジ(a large dynamic range of colors)を含む、大きいカラーボリューム(a large color volume)でキャプチャされ得る。この方法でキャプチャされたビデオは、人間の視覚(human vision)によって知覚され得る色のレンジおよび深度をキャプチャすることを試みる。しかしながらディスプレイデバイスは、大きいカラーボリュームをディスプレイすることができないことがある(may)。したがって、ST2094−10のような規格は、カラーボリューム変換を行うためのパラメータを定義し、これは、カラーボリュームをよりコンパクトな形態に圧縮するために使用され得る。
[0006]提供されるのは、ビデオコーディングシステムがST2094−10によって定義されているパラメータを使用することを可能にする技法である。少なくとも1つの例にしたがうと、ビデオデータを受信することを含む該ビデオデータを処理する方法が提供され、ここにおいて、該ビデオデータは、少なくとも2つのビデオ信号を含む。方法はさらに、ビデオデータから1つまたは複数のセットのカラーボリューム変換パラメータを取得することを含む。方法はさらに、少なくとも2つのビデオ信号の各々のためのディスプレイ領域を決定することを含み、ここにおいて、該ディスプレイ領域は、該少なくとも2つのビデオ信号がディスプレイされることになるビデオフレームの一部分を決定する。方法はさらに、少なくとも2つのビデオ信号の各々について、該少なくとも2つのビデオ信号のうちの1つのビデオ信号(a video signal)と、1つまたは複数のセットのカラーボリューム変換パラメータのうちの1つのセットの(a set of)カラーボリューム変換パラメータとの間のアソシエーションを決定することを含み、ここにおいて、該セットのカラーボリューム変換パラメータは、該ビデオ信号のためのディスプレイ領域についての1つまたは複数のディスプレイパラメータを決定する。方法はさらに、1つまたは複数のセットのカラーボリューム変換パラメータのための1つまたは複数のメタデータブロックを生成することを含む。方法はさらに、ビデオデータについて符号化されたビットストリームを生成することを含み、ここにおいて、該符号化されたビットストリームは、1つまたは複数のメタデータブロックを含む。方法はさらに、符号化されたビットストリームにおいて、少なくとも2つのビデオ信号と1つまたは複数のセットのカラーボリュームパラメータとの間の決定されたアソシエーションを符号化することを含む。
[0007]別の例では、少なくとも2つのビデオ信号を含むビデオデータを記憶するように構成されたメモリと、プロセッサとを含む装置が提供される。プロセッサは、ビデオデータから1つまたは複数のセットのカラーボリューム変換パラメータを取得するように構成され、取得することができる。プロセッサは、少なくとも2つのビデオ信号の各々のためのディスプレイ領域を決定するように構成され、決定することができ、ここにおいて、該ディスプレイ領域は、該少なくとも2つのビデオ信号がディスプレイされることになるビデオフレームの一部分を決定する。プロセッサは、少なくとも2つのビデオ信号の各々について、該少なくとも2つのビデオ信号のうちの1つのビデオ信号と、1つまたは複数のセットのカラーボリューム変換パラメータのうちの1つのセットのカラーボリューム変換パラメータの間のそれぞれのアソシエーションを決定するように構成され、決定することができ、ここにおいて、該セットのカラーボリューム変換パラメータは、該ビデオ信号のためのディスプレイ領域についての1つまたは複数のディスプレイパラメータを決定する。プロセッサは、1つまたは複数のセットのカラーボリューム変換パラメータのための1つまたは複数のメタデータブロックを生成するように構成され、生成することができる。プロセッサは、ビデオデータについて符号化されたビットストリームを生成するように構成され、生成することができ、ここにおいて、該符号化されたビットストリームは、1つまたは複数のメタデータブロックを含む。プロセッサは、符号化されたビットストリームにおいて、少なくとも2つのビデオ信号と1つまたは複数のセットのカラーボリュームパラメータとの間の決定されたそれぞれのアソシエーションを符号化するように構成され、符号化することができる。
[0008]別の例では、命令を記憶したコンピュータ可読媒体が提供され、該命令は、プロセッサによって実行されると、方法を実行し、該方法は、ビデオデータを受信することを含み、ここにおいて、該ビデオデータは、少なくとも2つのビデオ信号を含む。方法はさらに、ビデオデータから1つまたは複数のセットのカラーボリューム変換パラメータを取得することを含む。方法はさらに、少なくとも2つのビデオ信号の各々のためのディスプレイ領域を決定することを含み、ここにおいて、該ディスプレイ領域は、該少なくとも2つのビデオ信号がディスプレイされることになるビデオフレームの一部分を決定する。方法はさらに、少なくとも2つのビデオ信号の各々について、該少なくとも2つのビデオ信号のうちの1つのビデオ信号と、1つまたは複数のセットのカラーボリューム変換パラメータのうちの1つのセットのカラーボリューム変換パラメータの間のそれぞれのアソシエーションを決定することを含み、ここにおいて、該セットのカラーボリューム変換パラメータは、該ビデオ信号のためのディスプレイ領域についての1つまたは複数のディスプレイパラメータを決定する。方法はさらに、1つまたは複数のセットのカラーボリューム変換パラメータのための1つまたは複数のメタデータブロックを生成することを含む。方法はさらに、ビデオデータについて符号化されたビットストリームを生成することを含み、ここにおいて、該符号化されたビットストリームは、1つまたは複数のメタデータブロックを含む。方法はさらに、符号化されたビットストリームにおいて、少なくとも2つのビデオ信号と1つまたは複数のセットのカラーボリュームパラメータとの間の決定されたそれぞれのアソシエーションを符号化することを含む。
[0009]別の例では、ビデオデータを受信するための手段を含む装置が提供され、ここにおいて、該ビデオデータは、少なくとも2つのビデオ信号を含む。装置はさらに、ビデオデータから1つまたは複数のセットのカラーボリューム変換パラメータを取得するための手段を備える。装置はさらに、少なくとも2つのビデオ信号の各々のためのディスプレイ領域を決定するための手段を備え、ここにおいて、該ディスプレイ領域は、該少なくとも2つのビデオ信号がディスプレイされることになるビデオフレームの一部分を決定する。装置はさらに、少なくとも2つのビデオ信号の各々について、該少なくとも2つのビデオ信号のうちの1つのビデオ信号と、1つまたは複数のセットのカラーボリューム変換パラメータのうちの1つのセットのカラーボリューム変換パラメータの間のそれぞれのアソシエーションを決定するための手段を備え、ここにおいて、該セットのカラーボリューム変換パラメータは、該ビデオ信号のためのディスプレイ領域についての1つまたは複数のディスプレイパラメータを決定する。装置はさらに、1つまたは複数のセットのカラーボリューム変換パラメータのための1つまたは複数のメタデータブロックを生成するための手段を備える。装置はさらに、ビデオデータについて符号化されたビットストリームを生成するための手段を備え、ここにおいて、該符号化されたビットストリームは、1つまたは複数のメタデータブロックを含む。装置はさらに、符号化されたビットストリームにおいて、少なくとも2つのビデオ信号と1つまたは複数のセットのカラーボリュームパラメータとの間の決定されたそれぞれのアソシエーションを符号化するための手段を備える。
[0010]いくつかの態様では、少なくとも2つのビデオ信号と1つまたは複数のセットのカラーボリュームパラメータとの間の決定されたそれぞれのアソシエーションを符号化することは、ビデオフレーム内のディスプレイ領域の順序にしたがって符号化されたビットストリームに1つまたは複数のメタデータブロックを配置することを含む。
[0011]いくつかの態様では、少なくとも2つのビデオ信号と1つまたは複数のセットのカラーボリュームパラメータとの間の決定されたそれぞれのアソシエーションを符号化することは、各々が決定されたそれぞれのアソシエーションを示す1つまたは複数の値を、符号化されたビットストリーム中に挿入することを含む。
[0012]いくつかの態様では、少なくとも2つのビデオ信号のうちの第1のビデオ信号のための第1のディスプレイ領域は、該少なくとも2つのビデオ信号のうちの第2のビデオ信号のための第2のディスプレイ領域と重なり、重なっている領域において使用すべき1つまたは複数のセットのカラーボリューム変換パラメータのうちの1つのセットのカラーボリューム変換パラメータは、第1のディスプレイ領域と第2のディスプレイ領域との間の優先度によって決定される。いくつかの態様では、優先度は、第1のディスプレイ領域および第2のディスプレイ領域がビデオフレームにおいてディスプレイされる順序に基づく。いくつかの態様では、優先度は、ビデオデータによって提供される値に基づく。
[0013]いくつかの態様では、1つまたは複数のメタデータブロックは、1つまたは複数の補足強化情報(SEI)ネットワーク抽象化レイヤ(NAL)ユニットにおいて符号化される。
[0014]少なくとも1つの例にしたがうと、符号化されたビットストリームを受信することを含む、該ビデオデータを処理する方法が提供され、ここにおいて、該符号化されたビットストリームは、1つまたは複数のセットのカラーボリューム変換パラメータを含む、1つまたは複数のメタデータブロック、および少なくとも2つの符号化されたビデオ信号を含む。方法はさらに、少なくとも符号化された2つのビデオ信号の各々のためのディスプレイ領域を決定することを含む。方法はさらに、少なくとも2つのビデオ信号の各々について、該少なくとも2つのビデオ信号のうちの1つのビデオ信号と、1つまたは複数のセットのカラーボリューム変換パラメータのうちの1つのセットのカラーボリューム変換パラメータの間のアソシエーションを決定することを含む。方法はさらに、該関連付けられたセットのカラーボリューム変換パラメータを使用して、少なくとも2つの符号化されたビデオ信号を復号することを含み、ここにおいて、該関連付けられたセットのカラーボリューム変換パラメータは、対応するディスプレイ領域についての1つまたは複数のディスプレイパラメータを決定する。
[0015]別の例では、ビデオデータを記憶するように構成されたメモリと、プロセッサとを含む装置が提供される。プロセッサは、符号化されたビットストリームを受信するように構成され、受信することができ、ここにおいて、該符号化されたビットストリームは、少なくとも2つの符号化されたビデオ信号、および1つまたは複数のセットのカラーボリューム変換パラメータを含む1つまたは複数のメタデータブロックを含む。プロセッサは、少なくとも符号化された2つのビデオ信号の各々のためのディスプレイ領域を決定するように構成され、決定することができる。プロセッサは、少なくとも2つの符号化されたビデオ信号の各々について、該少なくとも2つのビデオ信号のうちの1つのビデオ信号と、1つまたは複数のセットのカラーボリューム変換パラメータのうちの1つのセットのカラーボリューム変換パラメータの間のアソシエーションを決定するように構成され、決定することができる。プロセッサは、該関連付けられたセットのカラーボリューム変換パラメータを使用して、少なくとも2つの符号化されたビデオ信号を復号するように構成され、復号することができ、ここにおいて、該関連付けられたセットのカラーボリューム変換パラメータは、対応するディスプレイ領域についての1つまたは複数のディスプレイパラメータを決定する。
[0016]別の例では、命令を記憶したコンピュータ可読媒体が提供され、該命令は、プロセッサによって実行されると、方法を実行し、該方法は、符号化されたビットストリームを受信することを含み、ここにおいて、該符号化されたビットストリームは、少なくとも2つの符号化されたビデオ信号、および1つまたは複数のセットのカラーボリューム変換パラメータを含む1つまたは複数のメタデータブロックを含む。方法はさらに、少なくとも符号化された2つのビデオ信号の各々のためのディスプレイ領域を決定することを含む。方法はさらに、少なくとも2つのビデオ信号の各々について、該少なくとも2つのビデオ信号のうちの1つのビデオ信号と、1つまたは複数のセットのカラーボリューム変換パラメータのうちの1つのセットのカラーボリューム変換パラメータの間のアソシエーションを決定することを含む。方法はさらに、関連付けられたセットのカラーボリューム変換パラメータを使用して、少なくとも2つの符号化されたビデオ信号を復号することを含み、ここにおいて、該関連付けられたセットのカラーボリュームは、対応するディスプレイ領域についての1つまたは複数のディスプレイパラメータを決定する。
[0017]別の例では、符号化されたビットストリームを受信するための手段を含む装置が提供され、ここにおいて、該符号化されたビットストリームは、少なくとも2つの符号化されたビデオ信号、および1つまたは複数のセットのカラーボリューム変換パラメータを含む1つまたは複数のメタデータブロックを含む。装置はさらに、少なくとも符号化された2つのビデオ信号の各々のためのディスプレイ領域を決定するための手段を備える。装置はさらに、少なくとも符号化された2つのビデオ信号の各々について、該少なくとも2つの符号化された信号のうちの1つのビデオ信号と、1つまたは複数のセットのカラーボリューム変換パラメータのうちの1つのセットのカラーボリューム変換パラメータとの間のアソシエーションを決定するための手段を備える。装置はさらに、関連付けられたセットのカラーボリューム変換パラメータを使用して、少なくとも2つの符号化されたビデオ信号を復号するための手段を備え、ここにおいて、該関連付けられたセットのカラーボリューム変換パラメータは、対応するディスプレイ領域についての1つまたは複数のディスプレイパラメータを決定する。
[0018]いくつかの態様では、少なくとも2つのビデオ信号と、1つまたは複数のセットのカラーボリューム変換パラメータとの間のアソシエーションは、ディスプレイ領域の順序に基づく。
[0019]いくつかの態様では、少なくとも2つのビデオ信号と、1つまたは複数のセットのカラーボリューム変換パラメータとの間のアソシエーションは、符号化されたビットストリームに含まれる1つまたは複数の値に基づく。
[0020]いくつかの態様では、少なくとも2つのビデオ信号のうちの第1のビデオ信号のための第1のディスプレイ領域は、少なくとも2つのビデオ信号のうちの第2のビデオ信号のための第2のディスプレイ領域と重なり、重なっている領域において使用すべき1つまたは複数のセットのカラーボリューム変換パラメータのうちの1つのセットのカラーボリューム変換パラメータは、第1のディスプレイ領域と第2のディスプレイ領域との間の優先度によって決定される。いくつかの態様では、優先度は、第1のディスプレイ領域および第2のディスプレイ領域がビデオフレームにおいてディスプレイされる順序に基づく。いくつかの態様では、優先度は、ビデオデータによって提供される値に基づく。
[0021]いくつかの態様では、1つまたは複数のメタデータブロックは、1つまたは複数の補足強化情報(SEI)ネットワーク抽象化レイヤ(NAL)ユニットにおいて符号化される。
[0022]少なくとも1つの例にしたがうと、ビデオデータを受信することを含むビデオデータを処理する方法が提供され、ここにおいて、該ビデオデータは、カラーボリュームに関連付けられる。方法はさらに、ビデオデータから1つのセットのカラーボリューム変換パラメータを取得することを含み、ここにおいて、該セットのカラーボリューム変換パラメータは、カラーボリュームを変換するために使用され得る。方法はさらに、1つのセットのマスタリングディスプレイカラーボリュームパラメータを取得することを含み、ここにおいて、該セットのマスタリングディスプレイカラーボリュームパラメータは、ビデオデータのマスタコピーを生成するときに決定される値を含む。方法はさらに、該セットのカラーボリューム変換パラメータのための1つまたは複数のメタデータブロックを生成することを含む。方法はさらに、該セットのマスタリングディスプレイカラーボリュームパラメータのための1つまたは複数のさらなる(additional)メタデータブロックを生成することを含む。方法はさらに、ビデオデータのための符号化されたビットストリームを生成することを含み、ここにおいて、該符号化されたビットストリームは、1つまたは複数のメタデータブロックおよび1つまたは複数のさらなるメタデータブロックを含み、ここにおいて、該1つまたは複数のさらなるメタデータブロックを含むことは、該符号化されたビットストリームに該1つまたは複数のメタデータブロックが存在すること(presence)によって必要とされる。
[0023]別の例では、カラーボリュームを含むビデオデータを記憶するように構成されたメモリと、プロセッサとを含む装置が提供される。プロセッサは、ビデオデータから1つのセットのカラーボリューム変換パラメータを取得するように構成され、取得することができ、ここにおいて、該セットのカラーボリューム変換パラメータは、カラーボリュームを変換するために使用され得る。プロセッサは、1つのセットのマスタリングディスプレイカラーボリュームパラメータを取得するように構成され、取得することができ、ここにおいて、該セットのマスタリングディスプレイカラーボリュームパラメータは、ビデオデータのマスタコピーを生成するときに決定される値を含む。プロセッサは、該セットのカラーボリューム変換パラメータための1つまたは複数のメタデータブロックを生成するように構成され、生成することができる。プロセッサは、該セットのマスタリングディスプレイカラーボリュームパラメータのための1つまたは複数のさらなるメタデータブロックを生成するように構成され、生成することができる。プロセッサは、ビデオデータのための符号化されたビットストリームを生成するように構成され、生成することができ、ここにおいて、該符号化されたビットストリームは、1つまたは複数のメタデータブロックおよび1つまたは複数のさらなるメタデータブロックを含み、ここにおいて、該1つまたは複数のさらなるメタデータブロックを含むことは、該符号化されたビットストリームに該1つまたは複数のメタデータブロックが存在することによって必要とされる。
[0024]別の例では、命令を記憶したコンピュータ可読媒体が提供され、該命令は、プロセッサによって実行されると、方法を含み、該方法は、ビデオデータを受信することを含み、ここにおいて、該ビデオデータは、カラーボリュームを含む。方法はさらに、ビデオデータから1つのセットのカラーボリューム変換パラメータを取得することを含み、ここにおいて、該セットのカラーボリューム変換パラメータは、カラーボリュームを変換するために使用され得る。方法はさらに、1つのセットのマスタリングディスプレイカラーボリュームパラメータを取得することを含み、ここにおいて、該セットのマスタリングディスプレイカラーボリュームパラメータは、ビデオデータのマスタコピーを生成するときに決定される値を含む。方法はさらに、該セットのカラーボリューム変換パラメータのための1つまたは複数のメタデータブロックを生成することを含む。方法はさらに、該セットのマスタリングディスプレイカラーボリュームパラメータのための1つまたは複数のさらなるメタデータブロックを生成することを含む。方法はさらに、ビデオデータのための符号化されたビットストリームを生成することを含み、ここにおいて、該符号化されたビットストリームは、1つまたは複数のメタデータブロックおよび1つまたは複数のさらなるメタデータブロックを含み、ここにおいて、該1つまたは複数のさらなるメタデータブロックを含むことは、該符号化されたビットストリームに該1つまたは複数のメタデータブロックが存在することによって必要とされる。
[0025]別の例では、ビデオデータを受信するための手段を含む装置が提供され、ここにおいて、該ビデオデータは、カラーボリュームを含む。装置はさらに、ビデオデータから1つのセットのカラーボリューム変換パラメータを取得するための手段を備え、ここにおいて、該セットのカラーボリューム変換パラメータは、カラーボリュームを変換するために使用され得る。装置はさらに、1つのセットのマスタリングディスプレイカラーボリュームパラメータを取得するための手段を備え、ここにおいて、該セットのマスタリングディスプレイカラーボリュームパラメータは、ビデオデータのマスタコピーを生成するときに決定される値を含む。装置はさらに、該セットのカラーボリューム変換パラメータのための1つまたは複数のメタデータブロックを生成するための手段を備える。装置はさらに、該セットのマスタリングディスプレイカラーボリュームパラメータのための1つまたは複数のさらなるメタデータブロックを生成するための手段を備える。装置はさらに、ビデオデータのための符号化されたビットストリームを生成するための手段を備え、ここにおいて、該符号化されたビットストリームは、1つまたは複数のメタデータブロックおよび1つまたは複数のさらなるメタデータブロックを含み、ここにおいて、該1つまたは複数のさらなるメタデータブロックを含むことは、該符号化されたビットストリームに該1つまたは複数のメタデータブロックが存在することによって必要とされる。
[0026]いくつかの態様では、該セットのカラーボリューム変換パラメータは、伝達特性を含み、符号化されたビットストリームにおいて、1つまたは複数のメタデータブロックは、該伝達特性が特定の値に対応しないときに除外される。
[0027]いくつかの態様では、該セットのカラーボリューム変換パラメータおよび該セットのマスタリングディスプレイカラーボリュームパラメータは、同じフィールドを含み、該フィールドは、該フィールドが1つまたは複数のさらなるメタデータブロックに存在することに基づいて1つまたは複数のメタデータブロックから省かれる。
[0028]いくつかの態様では、ビデオデータは複数の処理ウィンドウを含み、符号化されたビットストリームにおいて、該複数の処理ウィンドウの量は、1〜16の間の値に制限される。
[0029]いくつかの態様では、ビデオデータは複数のコンテンツ記述要素を含み、符号化されたビットストリームにおいて、該複数のコンテンツ記述要素の量は、1に制限される。
[0030]いくつかの態様では、ビデオデータは複数のターゲットディスプレイ要素を含み、符号化されたビットストリームにおいて、該複数のターゲットディスプレイ要素の量は、1〜16の間の値に制限される。
[0031]いくつかの態様では、符号化されたビットストリームは、該符号化されたビットストリームに各アクセスユニットのための少なくとも1つのメタデータブロックを含み、該メタデータブロックは、カラーボリューム変換パラメータを含む。
[0032]いくつかの態様では、リザーブ(reserved)と定義された値は、符号化されたビットストリームから除外される。
[0033]いくつかの態様では、1つまたは複数のメタデータブロックは各々、長さ値(length value)を含み、符号化されたビットストリームにおいて、該長さ値は、8の倍数に制限される。
[0034]いくつかの態様では、1つまたは複数のメタデータブロックは各々、長さ値を含み、符号化されたビットストリームにおいて、該長さ値は、0〜255の間の値に制限される。
[0035]いくつかの態様では、1つまたは複数のメタデータブロックは、1つまたは複数の補足強化情報(SEI)ネットワーク抽象化レイヤ(NAL)ユニットにおいて符号化される。
[0036]いくつかの態様では、1つまたは複数のさらなるメタデータブロックは、1つまたは複数の補足強化情報(SEI)ネットワーク抽象化レイヤ(NAL)ユニットにおいて符号化される。
[0037]少なくとも1つの例にしたがうと、符号化されたビットストリームを受信することを含むビデオデータを処理する方法が提供され、ここにおいて、該符号化されたビットストリームは、1つのセットの符号化されたカラーボリューム変換パラメータを含む1つまたは複数のメタデータブロックを含む。方法はさらに、符号化されたビットストリームに1つまたは複数のメタデータブロックが存在することを決定することを含む。方法はさらに、符号化されたビットストリームに1つまたは複数のメタデータブロックが存在することの決定に基づいて、1つまたは複数のさらなるブロックが存在することが該符号化されたビットストリームにおいて必要とされることを決定することを含む。方法はさらに、符号化されたビットストリームが、符号化されたセットのマスタリングディスプレイカラーボリュームパラメータを含む1つまたは複数のさらなるメタデータブロックを含まないことを決定することを含む。方法はさらに、符号化されたビットストリームが1つまたは複数のさらなるメタデータブロックを含まないことに基づいて、該符号化されたビットストリームが要件に適合しないことを決定することを含む。方法はさらに、符号化されたビットストリームが要件に適合しないという決定に基づいて、該符号化されたビットストリームの少なくとも一部を処理しないことを含む。
[0038]別の例では、ビデオデータを記憶するように構成されたメモリと、プロセッサとを含む装置が提供される。プロセッサは、符号化されたビットストリームを受信するように構成され、受信することができ、ここにおいて、該符号化されたビットストリームは、1つのセットの符号化されたカラーボリューム変換パラメータを含む1つまたは複数のメタデータブロックを含む。プロセッサは、符号化されたビットストリームに1つまたは複数のメタデータブロックが存在することを決定するように構成され、決定することができる。プロセッサは、符号化されたビットストリームに1つまたは複数のメタデータブロックが存在することの決定に基づいて、1つまたは複数のさらなるブロックが存在することが該符号化されたビットストリームにおいて必要とされることを決定するように構成され、決定することができる。プロセッサは、符号化されたビットストリームが、符号化されたセットのマスタリングディスプレイカラーボリュームパラメータを含む1つまたは複数のさらなるメタデータブロックを含まないことを決定するように構成され、決定することができる。プロセッサは、符号化されたビットストリームが1つまたは複数のさらなるメタデータブロックを含まないことに基づいて、該符号化されたビットストリームが要件に適合しないことを決定するように構成され、決定することができる。プロセッサは、符号化されたビットストリームが要件に適合しないという決定に基づいて、該符号化されたビットストリームの少なくとも一部を処理しないように構成され、処理しないことができる。
[0039]別の例では、命令を記憶したコンピュータ可読媒体が提供され、該命令は、プロセッサによって実行されると、方法を実行し、該方法は、符号化されたビットストリームを受信することを含み、ここにおいて、該符号化されたビットストリームは、1つのセットの符号化されたカラーボリューム変換パラメータを含む1つまたは複数のメタデータブロックを含む。方法はさらに、符号化されたビットストリームに1つまたは複数のメタデータブロックが存在することを決定することを含む。方法はさらに、符号化されたビットストリームに1つまたは複数のメタデータブロックが存在することの決定に基づいて、1つまたは複数のさらなるブロックが存在することが該符号化されたビットストリームにおいて必要とされることを決定することを含む。方法はさらに、符号化されたビットストリームが、符号化されたセットのマスタリングディスプレイカラーボリュームパラメータを含む1つまたは複数のさらなるメタデータブロックを含まないことを決定することを含む。方法はさらに、符号化されたビットストリームが1つまたは複数のさらなるメタデータブロックを含まないことに基づいて、該符号化されたビットストリームが要件に適合しないことを決定することを含む。方法はさらに、符号化されたビットストリームが要件に適合しないという決定に基づいて、該符号化されたビットストリームの少なくとも一部を処理しないことを含む。
[0040]別の例では、符号化されたビットストリームを受信するための手段を含む装置が提供され、ここにおいて、該符号化されたビットストリームは、1つのセットの符号化されたカラーボリューム変換パラメータを含む1つまたは複数のメタデータブロックを含む。装置はさらに、符号化されたビットストリームに1つまたは複数のメタデータブロックが存在することを決定するための手段を備える。装置はさらに、符号化されたビットストリームに1つまたは複数のメタデータブロックが存在することの決定に基づいて、1つまたは複数のさらなるブロックが存在することが該符号化されたビットストリームにおいて必要とされることを決定するための手段を備える。装置はさらに、符号化されたビットストリームが、符号化されたセットのマスタリングディスプレイカラーボリュームパラメータを含む1つまたは複数のさらなるメタデータブロックを含まないことを決定するための手段を備える。装置はさらに、符号化されたビットストリームが1つまたは複数のさらなるメタデータブロックを含まないことに基づいて、該符号化されたビットストリームが要件に適合しないことを決定するための手段を備える。装置はさらに、符号化されたビットストリームが要件に適合しないという決定に基づいて、該符号化されたビットストリームの少なくとも一部を処理しないための手段を備える。
[0041]いくつかの態様では、符号化されたセットのカラーボリューム変換パラメータは、伝達特性を含む。これらの態様では、上で説明された方法、装置、およびコンピュータ可読媒体はさらに、伝達特性の値が特定の値であることを決定することを備える。これらの態様では、符号化されたビットストリームが適合していないこと(non-conforming)を決定することはさらに、1つまたは複数のメタデータブロックが、伝達特性の値が特定の値であるときに該符号化されたビットストリームに含まれていることに基づく。
[0042]いくつかの態様では、符号化されたセットのカラーボリューム変換パラメータおよび符号化されたセットのマスタリングディスプレイカラーボリュームパラメータは、同じフィールドを含み、符号化されたビットストリームが適合していないことを決定することはさらに、該フィールドが、1つまたは複数のメタデータブロックと1つまたは複数のさらなるメタデータブロックとの両方に存在することに基づく。
[0043]いくつかの態様では、符号化されたセットのカラーボリューム変換パラメータおよび符号化されたセットのマスタリングディスプレイカラーボリュームパラメータは、同じフィールドを含み、該フィールドは、1つまたは複数のメタデータブロックから省かれる。これらの態様では、上で説明された方法、装置、およびコンピュータ可読媒体は、該セットのカラーボリュームパラメータを復号することをさらに備え、復号することは、符号化されたセットのマスタリングディスプレイカラーボリュームパラメータからのフィールドについての値を使用することを含む。
[0044]いくつかの態様では、ビデオデータは複数の処理ウィンドウを含み、符号化されたビットストリームが適合していないことを決定することはさらに、該複数の処理ウィンドウの量が16よりも大きいことに基づく。
[0045]いくつかの態様では、ビデオデータは複数のコンテンツ記述要素を含み、符号化されたビットストリームが適合していないことを決定することはさらに、該複数のコンテンツ記述要素の量が1よりも大きいことに基づく。
[0046]いくつかの態様では、ビデオデータは複数のターゲットディスプレイ要素を含み、符号化されたビットストリームが適合していないことを決定することはさらに、該複数のターゲットディスプレイ要素の量が16よりも大きいことに基づく。
[0047]いくつかの態様では、上で説明された方法、装置、およびコンピュータ可読媒体はさらに、符号化されたビットストリームが、該符号化されたビットストリームに特定のアクセスユニットのためのメタデータブロックを含まないことを決定することを備え、該符号化されたビットストリームが適合していないことを決定することはさらに、該符号化されたビットストリームが、該特定のアクセスユニットのためのメタデータブロックを含まないことに基づく。
[0048]いくつかの態様では、上で説明された方法、装置、およびコンピュータ可読媒体はさらに、符号化されたビットストリームがリザーブ値を含むことを決定することを備え、該符号化されたビットストリームが適合していないことを決定することはさらに、該符号化されたビットストリームがリザーブ値を含むことに基づく。
[0049]いくつかの態様では、1つまたは複数のメタデータブロックは各々、長さ値を含み、符号化されたビットストリームが適合していないことを決定することはさらに、該長さ値が8の倍数でないこと(length value not being a multiple of eight)に基づく。
[0050]いくつかの態様では、1つまたは複数のメタデータブロックは各々、長さ値を含み、符号化されたビットストリームが適合していないことを決定することはさらに、該長さ値が255よりも大きいことに基づく。
[0051]いくつかの態様では、1つまたは複数のメタデータブロックは、1つまたは複数の補足強化情報(SEI)ネットワーク抽象化レイヤ(NAL)ユニットにおいて符号化される。
[0052]いくつかの態様では、1つまたは複数のさらなるメタデータブロックは、1つまたは複数の補足強化情報(SEI)ネットワーク抽象化レイヤ(NAL)ユニットにおいて符号化される。
[0053]この発明の概要は、本願請求項の主題の肝要または不可欠な特徴を特定するようには意図されておらず、本願請求項の主題の範囲を限定するために独立して(in isolation)使用されるようにも意図されていない。主題は、本特許出願の明細書全体、任意または全ての図面、および各請求項の適切な部分を参照することによって理解されるべきである。
[0054]前述したことは、他の特徴および実施形態とともに、以下の明細書、請求項、および添付の図面を参照することでより明らかになるだろう。
[0055]様々な実装のtheの例示的な例が、以下の図面の図を参照して下記で詳細に説明される。
符号化デバイス104および復号デバイスを含むビデオコーディングシステムの例を例示するブロック図である。
様々なディスプレイタイプのダイナミックレンジと比較した、通常の人間の視覚のダイナミックレンジを例示する。
SDR色域(color gamut)を表す三角形およびHDR色域を表す三角形で重ね書きされている(overlaid)、色度図の例を例示する。
高精度の線形RGB402ビデオデータをHDRデータに転換する(converting)ためのプロセスの例を例示する。
様々な規格によって定義されている伝達関数(transfer functions)によって作り出される(produced)ルミナンス曲線の例を例示する。
ST2094−10の実装で使用され得る処理ブロックの例を例示する。
ビデオデータを処理するためのプロセスの例である。
ビデオデータを処理するためのプロセスの例である。
ビデオデータを処理するためのプロセスの例である。
ビデオデータを処理するためのプロセスの例である。
例となる符号化デバイスを例示するブロック図である。
例となる復号デバイスを例示するブロック図である。
詳細な説明
[0068]本開示のある特定の態様および実施形態が下記で提供される。これらの態様および実施形態のうちのいくつかは、当業者に明らかであるように、独立して適用され得、それらのうちのいくつかは、組合せで適用され得る。以下の説明では、説明の目的で、具体的な詳細が本開示の実施形態の完全な理解を提供するために述べられる。しかしながら、様々な実施形態がこれらの具体的な詳細なしで実施され得ることは明らかだろう。図および説明は、限定的であるとは意図されていない。
[0069]次に続く説明は、実例的な実施形態のみを提供しており、本開示の範囲、適用可能性、または構成を限定するようには意図されていない。むしろ、次に続く実例的な実施形態の説明は、実例的な実施形態を実装するためにそれを実施可能とする(enabling)説明を当業者に提供することになる。添付の請求項において述べられているような本発明の趣旨および範囲から逸脱することなく、要素の機能および配置において様々な変更がなされ得ることは理解されるべきである。
[0070]実施形態の徹底的な理解を提供するために、以下の説明において具体的な詳細が与えられる。しかしながら、実施形態がこれらの具体的詳細なしで実施され得ることは当業者によって理解されるだろう。たとえば、回路、システム、ネットワーク、プロセス、および他のコンポーネントが、不要な詳細で実施形態を曖昧にしないために、ブロック図形態でコンポーネントとして示され得る。他の事例では、周知の回路、プロセス、アルゴリズム、構造、および技法は、実施形態を曖昧することを回避するために、不要な詳細なしで示され得る。
[0071]また、個々の実施形態が、フローチャート、フロー図、データフロー図、構造図、またはブロック図として描かれるプロセスとして説明され得ることに留意されたい。フローチャートは連続したプロセスとしてオペレーションを説明し得るが、オペレーションの多くは並行に、または同時に実行され得る。加えて、オペレーションの順序は並べ換えられ得る。プロセスは、そのオペレーションが完了したときに終了するが、図には含まれていない追加のステップを有することができるだろう。プロセスは、方法、関数、プロシージャ、サブルーチン、サブプログラム等に対応し得る。プロセスが関数に対応するとき、その終了は、関数が呼び出し関数または主要関数に戻ることに対応し得る。
[0072]「コンピュータ可読媒体」という用語は、ポータブルまたは非ポータブル記憶デバイス、光学記憶デバイス、ならびに命令(複数を含む)および/もしくはデータを記憶、保有、または搬送することが可能な様々な他の媒体を含むけれども、これらに限定されない。コンピュータ可読媒体は、データが記憶され得、搬送波および/またはワイヤレスもしくは有線接続を介して伝搬する一時的電子信号を含まない非一時的媒体を含み得る。非一時的媒体の例は、磁気ディスクまたはテープ、コンパクトディスク(CD)もしくはデジタル多用途ディスク(DVD)のような光学記憶媒体、フラッシュメモリ、メモリ、またはメモリデバイスを含み得るが、これらに限定されない。コンピュータ可読媒体は、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、あるいは命令、データ構造、またはプログラムステートメントの任意の組合せを表し得るコードおよび/または機械実行可能命令を記憶し得る。コードセグメントは、情報、データ、引数、パラメータ、またはメモリコンテンツをパスおよび/または受信することによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データ等は、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信、または同様のものを含む、何れの適切な手段を介してもパス、転送、または送信され得る。
[0073]さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはこれらの何れの組合せによっても実装され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実装されるとき、必要なタスクを実行するためのプログラムコードまたはコードセグメント(たとえばコンピュータプログラム製品)は、コンピュータ可読または機械可読媒体に記憶され得る。プロセッサ(複数を含む)は、必要なタスクを実行し得る。
[0074]より多くのデバイスおよびシステムがデジタルビデオデータを消費するアビリティをコンシューマに提供するので、有効なビデオコーディング技法の必要性がより重要になる。ビデオコーディングは、デジタルビデオデータに存在する大量のデータをハンドリングするのに必要な記憶および送信要件を低減するために必要とされる。様々なビデオコーディング技法が、高ビデオ品質を維持しながらより低いビットレートを使用する形態にビデオデータを圧縮するために使用され得る。本明細書で使用される場合、「コーディング」は、「符号化」および「復号」を指す。
[0075]図1は、符号化デバイス104および復号デバイス112を含むビデオコーディングシステム100の例を例示するブロック図である。いくつかの例では、ビデオコーディングシステム100はハイダイナミックレンジ(HDR)システムであり得、その結果(such that)、符号化デバイス100はHDRビデオ信号を受信し得、HDRビデオ信号のためにビットストリームを生成し得、復号デバイス112が該ビットストリームを出力され得るHDRビデオ信号に復号し得る。符号化デバイス104はソースデバイスの一部であり得、復号デバイス112は受信デバイスの一部であり得る。ソースデバイスおよび/または受信デバイスは、モバイルまたは固定の電話ハンドセット(たとえば、スマートフォン、セルラ電話、または同様のもの)、デスクトップコンピュータ、ラップトップまたはノートブックコンピュータ、タブレットコンピュータ、セットトップボックス、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレイヤ、ビデオゲーム機、ビデオストリーミングデバイス、インターネットプロトコル(IP)カメラ、または任意の他の適した電子デバイスといった電子デバイスを含み得る。いくつかの例では、ソースデバイスおよび受信デバイスは、ワイヤレス通信のための1つまたは複数のワイヤレストランシーバを含み得る。本明細書で説明されるコーディング技法は、(たとえば、インターネットを介した)ストリーミングビデオ送信、テレビブロードキャストまたは送信、データ記憶媒体上への記憶のためのデジタルビデオの符号化、データ記憶媒体上に記憶されたデジタルビデオの復号、または他のアプリケーションを含む、様々なマルチメディアアプリケーションにおけるビデオコーディングに適用可能である。いくつかの例では、システム100は、ビデオ会議、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、ゲーミング、および/またはビデオ電話通信といったアプリケーションをサポートするために、一方向または双方向のビデオ送信をサポートし得る。
[0076]符号化デバイス104(またはエンコーダ)は、符号化されたビデオビットストリームを生成するために、ビデオコーディング規格またはプロトコルを使用して、ビデオデータを符号化するために使用され得る。ビデオコーディング規格の例は、ITU−T H.261、ISO/IEC MPEG−1ビジュアル、ITU−T H.262またはISO/IEC MPEG−2ビジュアル、ITU−T H.263、ISO/IEC MPEG−4ビジュアル、および(ISO/IEC MPEG−4 AVCとしても知られている)ITU−T H.264を含み、そのスケーラブル映像符号化(SVC)および多視点映像符号化(MVC)拡張版、ならびに高効率ビデオコーディング(HEVC)またはITU−T H.265も含む。HEVCの様々な拡張版は、存在する(exist)マルチレイヤビデオコーディングを扱い、それらは、レンジおよびスクリーンコンテンツコーディング拡張版、3Dビデオコーディング(3D−HEVC)、ならびにマルチビュー拡張版(MV−HEVC)およびスケーラブル拡張版(SHVC)を含む。HEVCおよびその拡張版は、ITU−Tビデオコーディング専門家グループ(VCEG)およびISO/IEC動画専門家グループ(MPEG)のビデオコーディングに関する共同チーム(JCT−VC)、ならびにJCT−3V(Joint Collaboration Team on 3D Video Coding Extension Development)よって開発されてきた。MPEGおよびITU−T VCEGはまた、次世代のビデオコーディング規格のための新たなコーディングツールを調査するためにJVET(joint exploration video team)を形成してきた。基準のソフトウェアは、JEM(joint exploration team)と呼ばれる。
[0077]本明細書で説明される多くの例は、JEMモデル、HEVC規格、および/またはそれらの拡張版を使用する例を提供する。しかしながら、本明細書で説明される技法およびシステムはまた、AVC、MPEG、それらの拡張版、または現存する他の適したコーディング規格もしくは将来的なコーディング規格のような他のコーディング規格にも適用可能であり得る。したがって、本明細書で説明される技法およびシステムは、特定のビデオコーディング規格を参照して説明され得る一方で、当業者は、該説明がその特定の規格にのみ適用されると解釈されるべきでないことを認めるだろう。
[0078]図1を参照すると、ビデオソース102が、符号化デバイス104にビデオデータを提供し得る。ビデオソース102は、ソースデバイスの一部であり得、またはソースデバイス以外のデバイスの一部であり得る。ビデオソース102は、ビデオキャプチャデバイス(たとえば、ビデオカメラ、カメラ電話、ビデオ電話、または同様のもの)、記憶されたビデオを保有する(containing)ビデオアーカイブ、ビデオデータを提供するビデオサーバもしくはコンテンツプロバイダ、ビデオサーバまたはコンテンツプロバイダからのビデオを受信するビデオフィードインターフェース、コンピュータグラフィックスビデオデータを生成するためのコンピュータグラフィックスシステム、このようなソースの組合せ、またはあらゆる他の適したビデオソースを含み得る。
[0079]ビデオソース102からのビデオデータは、1つまたは複数の入力ピクチャまたはフレームを含み得る。ビデオのピクチャまたはフレームは、シーンの静止画像である。符号化デバイス104のエンコーダエンジン106(またはエンコーダ)は、符号化されたビデオビットストリームを生成するためにビデオデータを符号化する。いくつかの例では、符号化されたビデオビットストリーム(または「ビデオビットストリーム」もしくは「ビットストリーム」)は、一連の1つまたは複数のコーディングされたビデオシーケンスである。コーディングされたビデオシーケンス(CVS)は、ベースレイヤにあり、かつある特定の性質(certain properties)をもつ(with)ランダムアクセスポイントピクチャを有するアクセスユニット(AU)から開始して、ベースレイヤにあり、かつある特定の性質をもつランダムアクセスポイントピクチャを有する次のAUまでであるが該次のAUを含まない一連のAUを含む。たとえば、CVSを開始するランダムアクセスポイントピクチャのある特定の性質は、1に等しいRASLフラグ(たとえばNoRaslOutputFlag)を含み得る。そうでなければ、(0に等しいRASLフラグをもつ)ランダムアクセスポイントピクチャは、CVSを開始しない。アクセスユニット(AU)は、1つまたは複数のコーディングされたピクチャ、および同じ出力時間を共有する該コーディングされたピクチャに対応する制御情報を含む。ピクチャのコーディングされたスライスは、ビットストリームレベルで、ネットワーク抽象化レイヤ(NAL)ユニットと呼ばれるデータユニットにカプセル化される。たとえば、HEVCビデオビットストリームは、NALユニットを含む1つまたは複数のCVSを含み得る。NALユニットの各々は、NALユニットヘッダを有する。一例では、ヘッダは、(マルチレイヤ拡張版以外のH.264/AVCでは(for)1バイト、HEVCでは2バイトである。NALユニットヘッダにおけるシンタックス要素は、指定されたビットをとり(take)、これにより、とりわけ、トランスポートストリーム、リアルタイムトランスポート(RTP)プロトコル、ファイルフォーマットといった全ての種類のシステムおよびトランスポートレイヤに可視である。
[0080]ビデオコーディングレイヤ(VCL)NALユニットおよび非VCL NALユニットを含む2つのクラスのNALユニットが、HEVC規格に存在する。VCL NALユニットは、コーディングされたピクチャデータの1つのスライスまたはスライスセグメント(下記で説明される)を含み、非VCL NALユニットは、1つまたは複数のコーディングされたピクチャに関連する制御情報を含む。いくつかのケースでは、NALユニットはパケットと称され得る。HEVC AUは、コーディングされたピクチャデータを保有するVCL NALユニット、および該コーディングされたピクチャデータに対応する非VCL NALユニット(あれば(if any))を含む。
[0081]NALユニットは、ビデオ中のピクチャの符号化表現のような、ビデオデータの符号化表現を形成するビットのシーケンス(たとえば、符号化されたビデオビットストリーム、ビットストリームのCVS、または同様のもの)を保有し得る。エンコーダエンジン106は、各ピクチャを複数のスライスに分割すること(partitioning)によって、ピクチャの符号化表現を生成する。スライスは、スライス中の情報が同じピクチャ内の他のスライスからのデータに依存することなくコーディングされるように他のスライスから独立している。スライスは、独立したスライスセグメント、および、もしあれば以前のスライスセグメントに依存する1つまたは複数の従属(dependent)スライスセグメントを含む、1つまたは複数のスライスセグメントを含む。その後、スライスは、ルーマサンプルおよびクロマサンプルのコーディングツリーブロック(CTB)に分割される。ルーマサンプルの1つのCTB(A CTB)およびクロマサンプルの1つまたは複数のCTBは、サンプルのためのシンタックスとともに、コーディングツリーユニット(CTU)と称される。CTUは、HEVC符号化のための基本処理ユニットである。CTUは、様々なサイズ(varying sizes)の複数の(multiple)コーディングユニット(CU)に分けられ得る。CUは、コーディングブロック(CB)と称されるルーマおよびクロマサンプルのアレイを保有する。
[0082]ルーマおよびクロマCBは、予測ブロック(PB)にさらに分けられ得る。PBは、(利用可能であるか、または使用のために有効にされるとき)インター予測またはイントラブロックコピー予測について同じ動きパラメータを使用するルーマ成分またはクロマ成分のサンプルのブロックである。ルーマPBおよび1つまたは複数のクロマPBは、関連するシンタックスとともに、予測ユニット(PU)を形成する。インター予測では、動きパラメータ(たとえば、1つまたは複数の動きベクトル、参照インデックス、または同様のもの)のセットが、各PUについてビットストリームにおいてシグナリングされ、ルーマPBおよび1つまたは複数のクロマPBのインター予測に使用される。動きパラメータはまた、動き情報とも称され得る。CBはまた、1つまたは複数の変換ブロック(TB)に分割され得る。TBは、同じ二次元変換が予測残差信号をコーディングするために適用される色成分のサンプルの正方形ブロックを表す。変換ユニット(TU)は、ルーマおよびクロマサンプルのTB、ならびに対応するシンタックス要素を表す。
[0083]CUのサイズは、コーディングモードのサイズに対応し、形状が正方形であり得る。たとえば、CUのサイズは8x8サンプル、16x16サンプル、32x32サンプル、64x64サンプル、または最大(up to)対応するCTUのサイズのあらゆる他の適切なサイズであり得る。「NxN」という表現は、垂直次元および水平次元の観点からビデオブロックのピクセル次元を指すために使用され得る(たとえば、8ピクセル×8ピクセル)。ブロックにおけるピクセルは、行と列で配列され得る。いくつかの例では、ブロックは、垂直方向と同じ水平方向の(in)ピクセル数を有さないことがある。CUに関連付けられたシンタックスデータは、たとえば、CUの1つまたは複数のPUへの分割を記述し得る。分割モードは、CUが、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかで異なり得る。PUは、形状が非正方形になるように分割され得る。CUに関連付けられたシンタックスデータはまた、たとえば、CTUにしたがったCUの1つまたは複数のTUへの分割を記述し得る。TUは、形状が正方形または非正方形であり得る。
[0084]HEVC規格にしたがうと、変換は、変換ユニット(TU)を使用して実行され得る。TUは、異なるCUに対して異なり得る。TUは、所与のCU内のPUのサイズに基づいてサイズ指定され(be sized)得る。TUは、PUと同じサイズであるかそれより小さいことがある。いくつかの例では、CUに対応する残差サンプルは、残差四分木(RQT)として知られる四分木構造を使用してより小さいユニットに分割され(subdivided)得る。RQTのリーフノードは、TUに対応し得る。TUに関連付けられたピクセル差分値は、変換係数を作り出すために変換され得る。変換係数はその後、エンコーダエンジン106によって量子化され得る。
[0085]一度ビデオデータのピクチャがCUに分割されると、エンコーダエンジン106は、予測モードを使用して各PUを予測する。予測ユニットまたは予測ブロックはその後(then)、残差を得る(get)ために元のビデオデータから差し引かれる(下記で説明される)。各CUについて、予測モードは、シンタックスデータを使用してビットストリームの内部でシグナリングされ得る。予測モードは、イントラ予測(またはイントラピクチャ予測)またはインター予測(またはインターピクチャ予測)を含み得る。イントラ予測は、ピクチャ内の空間的に隣接するサンプル間の相関を利用する。たとえば、イントラ予測を使用すると、各PUは、たとえば、PUの平均値を見出すためのDC予測、平面をPUに合わせるための平面予測、隣接するデータから外挿するための方向予測、またはあらゆる他の適したタイプの予測を使用して、同じピクチャ中の隣接する画像データから予測される。インター予測は、画像サンプルのブロックについて動き補償予測を導出するために、ピクチャ間の時間的相関を使用する。たとえば、インター予測を使用すると、各PUは、(出力順序で現在のピクチャの前または後の)1つまたは複数の参照ピクチャ中の画像データからの動き補償予測を使用して予測される。ピクチャエリアを、インターピクチャ予測を使用してコーディングするか、イントラピクチャ予測を使用してコーディングするかの決定は、たとえば、CUレベルでなされ得る。
[0086]いくつかの例では、ピクチャの1つまたは複数のスライスはスライスタイプを割り当てられる。スライスタイプは、Iスライス、Pスライス、およびBスライスを含む。Iスライス(イントラフレームであり、独立して復号可能である)は、イントラ予測によってのみコーディングされるピクチャのスライスであり、それにより、Iスライスは、スライスのあらゆる予測ユニットまたは予測ブロックを予測するためにフレーム内のデータのみを必要とするので(since)、独立して復号可能である。Pスライス(単一方向で予測されたフレーム)は、イントラ予測および単一方向インター予測でコーディングされ得るピクチャのスライスである。Pスライス内の各予測ユニットまたは予測ブロックは、イントラ予測でコーディングされるか、インター予測でコーディングされるかのどちらかである。インター予測が適用されるとき、予測ユニットまたは予測ブロックは、1つの参照ピクチャによってのみ予測され、それにより参照サンプルは、1つのフレームの1つの参照領域からのみのものである。Bスライス(双方向予想フレーム)は、イントラ予測およびインター予測(たとえば、双予測または単一予測のどちらか)でコーディングされ得るピクチャのスライスである。Bスライスの予測ユニットまたは予測ブロックは、2つの参照ピクチャから双方向で予測され得、ここで、各ピクチャは1つの参照領域に寄与しており、該2つの参照領域のサンプルセットが、双方向予測されたブロックの予測信号を作り出すために(たとえば、等しい重みで、または異なる重みで)重み付けされる。上で説明されたように、1つのピクチャのスライスは、独立してコーディングされる。いくつかのケースでは、ピクチャは、たった1つのスライスとしてコーディングされ得る。
[0087]PUは、予測プロセスに関連するデータ(たとえば、動きパラメータ、または他の適したデータ)を含み得る。たとえば、PUがイントラ予測を使用して符号化されるとき、PUは、PUのためのイントラ予測モードを記述するデータを含み得る。別の例として、PUがインター予測を使用して符号化されるとき、PUは、PUのための動きベクトルを定義するデータを含み得る。PUについての動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分(Δx)、動きベクトルの垂直成分(Δy)、動きベクトルについての解像度(たとえば、整数精度、4分の1ピクセル精度、または8分の1ピクセル精度)、動きベクトルが指す(points)参照ピクチャ、参照インデックス、動きベクトルについての参照ピクチャリスト(たとえば、リスト0、リスト1、またはリストC)、またはそれらのあらゆる組合せを記述し得る。
[0088]符号化デバイス104はその後、変換および量子化を実行し得る。たとえば、予測に続いて、エンコーダエンジン106は、PUに対応する残差値を計算し得る。残差値は、コーディングされているピクセルの現在ブロック(PU)と現在ブロックを予測するために使用される予測ブロック(たとえば、現在ブロックの予測されたバージョン)との間のピクセル差分値を備え得る。たとえば、予測ブロックを生成(たとえば、インター予測またはイントラ予測を発した)後、エンコーダエンジン106は、予測ユニットによって作り出された予測ブロックを現在ブロックから差し引くことによって残差ブロックを生成し得る。残差ブロックは、現在ブロックのピクセル値と予測ブロックのピクセル値との間の差分を定量化するピクセル差分値のセットを含む。いくつかの例では、残差ブロックは、二次元ブロックフォーマット(たとえば、ピクセル値の二次元行列またはアレイ)で表され得る。そのような例では、残差ブロックは、ピクセル値の二次元表現である。
[0089]離散コサイン変換、離散サイン変換、整数変換、ウェーブレット変換、他の適した変換関数、またはそれらの何れの組合せにも基づき得る、ブロック変換を使用して、予測が実行された後に残り得る何れの(any)残差データも変換される。いくつかのケースでは、1つまたは複数のブロック変換(たとえば、サイズ32x32、16x16、8x8、4x4、または同様のもの)が、各CU中の残差データに適用され得る。いくつかの例では、TUは、エンコーダエンジン106によって実行される変換および量子化プロセスに使用され得る。1つまたは複数のPUを有する所与のCUがまた、1つまたは複数のTUを含み得る。下記でさらに詳細に説明されるように、残差値は、ブロック変換を使用して変換係数に変換され得、その後、エントロピーコーディングのための直列化された変換係数(serialized transform coefficients)を作り出すために、TUを使用して量子化および走査され得る。
[0090]いくつかの例では、CUのPUを使用するイントラ予測またはインター予測コーディングに続いて、エンコーダエンジン106は、CUのTUのための残差データを計算し得る。PUは、空間領域(またはピクセル領域)中のピクセルデータを備え得る。TUは、ブロック変換の適用後の(following application)変換ドメイン中の係数を備え得る。前述されたように、残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測値との間のピクセル差分値に対応し得る。エンコーダエンジン106は、CUについての残差データを含むTUを形成し得、その後、CUについての変換係数を作り出すためにTUを変換し得る。
[0091]エンコーダエンジン106は、変換係数の量子化を実行し得る。量子化は、係数を表すために使用されるデータの量を低減するために、変換係数を量子化することによって、さらなる圧縮を提供する。たとえば、量子化は、係数のいくつかまたは全てに関連付けられたビット深度を低減し得る。一例では、nビットの値をもつ係数は、量子化中にmビットの値に丸められ(rounded down)得、ここで(with)、nはmよりも大きい。
[0092]一度量子化が実行されると、コーディングされたビデオビットストリームは、量子化された変換係数、予測情報(たとえば、予測モード、動きベクトル、ブロックベクトル、または同様のもの)、分割情報、および他のシンタックスデータのような何れの他の適したデータを含む。その後(then)、コーディングされたビデオビットストリームの異なる要素は、エンコーダエンジン106によってエントロピー符号化され得る。いくつかの例では、エンコーダエンジン106は、エントロピー符号化され得る(can)直列ベクトルを作り出す(produce)ために量子化された変換係数を走査するのに予め定義された走査順序を利用し得る。いくつかの例では、エンコーダエンジン106は、適応走査(adaptive scan)を実行し得る。ベクトル(一次元ベクトル)を形成するために量子化された変換係数を走査した後、エンコーダエンジン106は、ベクトルをエントロピー符号化し得る。たとえば、エンコーダエンジン106は、コンテキスト適応可変長コーディング、コンテキスト適応バイナリ算術コーディング、シンタックスベースコンテキスト適応バイナリ算術コーディング、確率間隔分割エントロピーコーディング、または別の適したエントロピーコーディング技法を使用し得る。
[0093]前で説明されたように、HEVCビットストリームは、VCL NALユニットおよび非VCL NALユニットを含むNALユニットのグループを含む。VCL NALユニットは、コーディングされたビデオビットストリームを形成するコーディングされたピクチャデータを含む。たとえば、コーディングされたビデオビットストリームを形成するビットのシーケンスは、VCL NALユニットにおいて再び送られる(is resent)。非VCL NALユニットは、他の情報に加えて、符号化されたビデオビットストリームに関連するハイレベル情報をもつパラメータセットを保有し得る。たとえば、パラメータセットは、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、およびピクチャパラメータセット(PPS)を含み得る。パラメータセットの目的の例は、ビットレート効率、誤り耐性、およびシステムレイヤインターフェースを設けることを含む。各スライスは、復号デバイス112がスライスを復号するために使用し得る情報にアクセスするための単一のアクティブなPPS、SPS、およびVPSを参照する。識別子(ID)は、各パラメータセットのためにコーディングされ得、VPS ID、SPS ID、およびPPS IDを含む。SPSは、SPS IDおよびVPS IDを含む。PPSは、PPS IDおよびSPS IDを含む。各スライスヘッダは、PPS IDを含む。IDを使用すると、アクティブなパラメータセットが、所与のスライスについて特定され得る。
[0094]PPSは、所与のピクチャ中の全てのスライスに適用される情報を含む。このため、ピクチャ中の全てのピクチャが同じPPSを指す。異なるピクチャ中のスライスもまた、同じPPSを指し得る。SPSは、同じコーディングされたビデオシーケンス(CVS)またはビットストリーム中の全てのピクチャに適用する情報を含む。前で説明されたように、コーディングされたビデオシーケンスは、(上で説明された)ベースレイヤにあり、かつある特定の性質をもつランダムアクセスポイントピクチャ(たとえば、瞬時復号参照(IDR)ピクチャまたはブロークンリンクアクセス(BLA)ピクチャ、または他の適切なランダムアクセスポイントピクチャ)から開始し、ベースレイヤにあり、かつある特定の性質もつランダムアクセスポイントピクチャを有する次のAU(または、ビットストリームの終端)までであるが該次のAUを含まない一連のAUを含む。SPS中の情報は、コーディングされたビデオシーケンス内でピクチャ毎に変化しないことがある。コーディングされたビデオシーケンス中のピクチャは、同じSPSを使用し得る。VPSは、コーディングされたビデオシーケンスまたはビットストリーム内の全てのレイヤに適用する情報を含む。VPSは、コーディングされたビデオシーケンス全体に適用されるシンタックス要素をもつシンタックス構造を含む。いくつかの例では、VPS、SPS、またはPPSは、符号化されたビットストリームで帯域内において送信され得る。いくつかの例では、VPS、SPS、またはPPSは、コーディングされたビデオデータを保有するNALユニットとは別個の送信において帯域外で送信され得る。
[0095]ビデオビットストリームはまた、補足強化情報(SEI)メッセージを含み得る。たとえば、SEI NALユニットは、ビデオビットストリームの一部であり得る。いくつかのケースでは、SEIメッセージは、復号プロセスによって必要とされない情報を保有し得る。たとえば、SEIメッセージ中の情報は、デコーダがビットストリームのビデオピクチャを復号するのに不可欠でないことがあるが、デコーダは、ピクチャ(たとえば、復号された出力)のディスプレイまたは処理を向上させる(improve)ために該情報を使用し得る。SEIメッセージ中の情報は、組み込まれた(embedded)メタデータであり得る。1つの例示的な例では、SEIメッセージ中の情報は、コンテンツの可視性(viewability)を向上させるためにデコーダ側のエンティティによって使用され得るだろう。いくつかの事例では、ある特定のアプリケーション規格は、品質の向上が該アプリケーション規格に適合する全てのデバイスにもたらされ得るように、そのようなSEIメッセージがビットストリームに存在することを義務化し得る(たとえば、フレーム対応(compatible)平面立体3DTVビデオフォーマットについてのフレームパッキングSEIメッセージの搬送、ここで該SEIメッセージがビデオの全てのフレームについて搬送される、リカバリポイントSEIメッセージのハンドリング、DVBにおけるパン−スキャンの走査矩形SEIメッセージの使用、等があり、他にも多くの例がある(in addition to many other examples))。
[0096]符号化デバイス104の出力110は、符号化されたビデオデータを構成する(making up)NALユニットを、通信リンク120を介して受信デバイスの復号デバイス112に送り得る。復号デバイス112の入力114は、NALユニットを受信し得る。通信リンク120は、ワイヤレスネットワーク、有線ネットワーク、または有線ネットワークとワイヤレスネットワークとの組合せによって提供されるチャネルを含み得る。ワイヤレスネットワークは、何れのワイヤレスインターフェースまたはワイヤレスインターフェースの組合せも含み得、何れの適したワイヤレスネットワーク(たとえば、インターネットまたは他のワイドエリアネットワーク、パケットベースネットワーク、WiFiTM、無線周波数(RF)、UWB、WiFi−Direct、セルラ、ロングタームエボリューション(LTE(登録商標))、WiMaxTM、または同様のもの)も含み得る。有線ネットワークは、何れの有線インターフェース(たとえば、ファイバ、イーサネット(登録商標)、電力線イーサネット、同軸ケーブルを介したイーサネット、デジタル信号線(DSL)、または同様のもの)も含み得る。有線および/またはワイヤレスネットワークは、基地局、ルータ、アクセスポイント、ブリッジ、ゲートウェイ、スイッチ、または同様のものといった様々な機器を使用して実装され得る。符号化されたビデオデータは、ワイヤレス通信プロトコルのような通信規格にしたがって変調され、受信デバイスに送信され得る。
[0097]いくつかの例では、符号化デバイス104は、符号化されたビデオデータをストレージ108に記憶し得る。出力110は、エンコーダエンジン106から、またはストレージ108から、符号化されたビデオデータを取り出し得る。ストレージ108は、様々な分散型またはローカルにアクセスされるデータ記憶媒体の何れも含み得る。たとえば、ストレージ108は、ハードドライブ、ストレージディスク、フラッシュメモリ、揮発性または不揮発性メモリ、または符号化されたビデオデータを記憶するための何れの他の適したデジタル記憶媒体も含み得る。
[0098]復号デバイス112の入力114は、符号化されたビデオビットストリームデータを受信し、該ビデオビットストリームデータを、デコーダエンジン116にまたはストレージ118に、デコーダエンジン116による後の使用(later use)のために提供し得る。デコーダエンジン116は、(たとえば、エントロピーデコーダを使用して)エントロピー復号すること、および符号化されたビデオデータを構成する1つまたは複数のコーディングされたビデオシーケンスの要素を抽出することによって、符号化されたビデオビットストリームデータを復号し得る。その後、デコーダエンジン116は、符号化されたビデオビットストリームデータを再スケーリング(rescale)し、逆変換を実行し得る。残差データはその後、デコーダエンジン116の予測段階にパスされる。デコーダエンジン116はその後、ピクセルのブロック(たとえば、PU)を予測する。いくつかの例では、予測が、逆変換の出力に追加される(残差データ)。
[0099]復号デバイス112は、復号されたビデオを、コンテンツのコンシューマに該復号されたビデオデータをディスプレイするためのディスプレイまたは他の出力デバイスを含み得るビデオ宛先デバイスに出力し得る。いくつかの態様では、ビデオ宛先デバイス122は、復号デバイス112を含む受信デバイスの一部であり得る。いくつかの態様では、ビデオ宛先デバイス122は、受信デバイス以外の別個の(separate)デバイスの一部であり得る。
[0100]いくつかの例では、ビデオ符号化デバイス104および/またはビデオ復号デバイス112は、それぞれ、オーディオ符号化デバイスおよびオーディオ復号デバイスと統合され得る。ビデオ符号化デバイス104および/またはビデオ復号デバイス112はまた、1つまたは複数のマイクロプロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せといった、上で説明されたコーディング技法を実装するのに必要である他のハードウェアまたはソフトウェアを含み得る。ビデオ符号化デバイス104およびビデオ復号デバイス112は、それぞれのデバイスにおいて、組み合わされたエンコーダ/デコーダ(コデック)の一部とし統合され得る。符号化デバイス104の具体的な詳細の例は、図11を参照して下記で説明される。復号デバイス112の具体的な詳細の例は、図12を参照して下記で説明される。
[0101]HEVC規格の拡張版は、MV−HEVCと称される多視点映像符号化拡張版、およびSHVCと称されるスケーラブル映像符号化拡張版を含む。MV−HEVCおよびSHVC拡張版は、異なるレイヤが符号化されたビデオビットストリームに含まれるレイヤ状コーディングの概念を共有する。コーディングされたビデオシーケンス中の各レイヤは、一意のレイヤ識別子(ID)によってアドレス指定される。レイヤIDは、NALユニットが関連付けられるレイヤを特定するためにNALユニットのヘッダに存在し得る。MV−HEVCでは、異なるレイヤが大抵(usually)、ビデオビットストリームにおいて同じシーンの異なるビューを表す。SHVCでは、異なる空間解像度(またはピクチャ解像度)で、または異なる再構成忠実度(fidelities)でビデオビットストリームを表す異なるスケーラブルレイヤが提供される。スケーラブルレイヤは、(レイヤID=0である)ベースレイヤおよび(レイヤID=1,2,…nである)1つまたは複数の強化レイヤを含み得る。ベースレイヤは、第1のバージョンのHEVCのプロファイルに適合し得、ビットストリームにおいて最も下位の利用可能なレイヤを表す。強化レイヤは、ベースレイヤと比較すると増加した空間解像度、時間的解像度またはフレームレート、および/あるいは再構成忠実度(または品質)を有する。強化レイヤは、階層的に体系化され、より下位のレイヤに依存し得る(または依存しないことがある)。いくつかの例では、異なるレイヤが、単一の規格コデックを使用してコーディングされ得る(たとえば、全てのレイヤが、HEVC、SHVC、または他のコーディング規格を使用して符号化される)。いくつかの例では、異なるレイヤは、マルチスタンダードコデックを使用してコーディングされ得る。たとえば、ベースレイヤは、AVCを使用してコーディングされ得るが、1つまたは複数の強化レイヤは、HEVC規格のSHVCおよび/またはMV−HEVC拡張版を使用してコーディングされ得る。
[0102]とりわけ、コントラスト比(たとえば、ビデオ中のピクセルの輝度または暗さ)および色の正確度を含む、キャプチャされたビデオにおける色を記述する様々な規格もまた定義されてきた。色パラメータが、たとえば、どのようにビデオ中のピクセルをディスプレイするかを決定するために色パラメータを使用することができるディスプレイデバイスによって使用され得る。国際電気通信連合(ITU)からの1つの例となる規格である、ITU−R勧告BT.709(「BT.709」と本明細書では称される)は、高精細度テレビ(HDTV)についての規格を定義する。BT.709によって定義される色パラメータは大抵、標準ダイナミックレンジ(SDR)および標準色域と称される。別の例となる規格は、超高精細度テレビ(UHDTV)についての規格を定義するITU−R勧告BT.2020(「BT.2020」と本明細書では称される)である。BT.2020によって定義される色パラメータは通例、ハイダイナミックレンジ(HDR)および広色域(WCG)と称される。ダイナミックレンジおよび色域は、総称してカラーボリュームと本明細書では称される。
[0103]ディスプレイデバイスは、ハイダイナミックレンジおよび広色域を使用するビデオ信号のカラーボリュームをディスプレイすることができないことがある。たとえば、HDRビデオ信号は、各ピクセルについて絶対輝度値を有し得る。広範な日光では、ビデオ信号は、平方メートル毎に10,000カンデラ(cd/m2、「nit」と高頻度で称される)に等しいいくつかのサンプルを含み得る。しかしながら、通常の高精細度イメージング(HDI)ディスプレイが1000nitsをディスプレイする能力を有するのみであり得る一方、本格的なスタジオディスプレイは4000nitsをディスプレイする能力を有し得る。
[0104]様々な異なるタイプのディスプレイデバイスが、大きいカラーボリュームをもつ(with)HDRビデオ信号および他のビデオ信号をディスプレイすることを可能にするために、カラーボリューム変換について規格が定義されてきた。カラーボリューム変換は、入力ダイナミックレンジおよび色域を、ディスプレイデバイスによってディスプレイされ得る出力ダイナミックレンジおよび色域に変換するために使用され得る。カラーボリューム変換規格の例は、映画テレビ技術者協会(SMPTE)によって定義されている規格一式、ST2094を含む。ST2094式内で、4つの文書ST2094−10、ST2094−20、ST2094−30、およびST2094−40が、カラーボリューム変換で使用され得るメタデータを定義する。他の適用可能な規格は、たとえば、最大10,000nitsのルミナンスレベルをもつHDRビデオコンテンツのディスプレイを許容する伝達関数を提供する、SMTPE ST2084を含み、BT.2020によって定義される色空間とともに使用され得る。適用可能な規格の別の例は、SMTPE2086であり、それは、ビデオコンテンツをマスタリングする際に使用されたディスプレイのカラーボリューム(原色、白色点、およびルミナンスレンジ)を規定するメタデータ項目を規定する。
[0105]上述の規格のうち、ST2094−10は、コンテンツ依存カラーボリューム変換メタデータ、即ちST2094によって定義された汎用カラーボリューム変換の特殊モデルを規定する。このカラーボリューム変換は、パラメータで定義された(parametrically-defined)トーンマッピング曲線に基づき、その形状は、(入力画像骨子(input image essence)からアルゴリズムで計算された)画像骨子特性(image essence characteristics)と、場合によってはやはり手動で設定された調整値との両方によって定義される。このメタデータは、マスタリングプロセス、即ち分配用のコピーを作り出すために使用されるべきマスタコピーの作成、の一部として生成される。調整パラメータは、創造的調整(creative adjustment)として決定され得る。
[0106]ST2094−10によって定義されるカラーボリューム変換パラメータは、曖昧な浮動小数点値として提供される。これらのパラメータをデコーダに運ぶために、よりコンパクトで効率的なフォーマットでこれらのパラメータを提供するフォーマットが必要とされる。より良い効率が、たとえば、値を表すために必要とされるビット、ならびに/あるいは該値を決定および/または使用するために必要とされる計算上の複雑性の観点から測定され得る。しかしながら、ST2094−10は、カラーボリュームフォーマットパラメータをビットストリームに符号化するためのフォーマットを定義しない。
[0107]様々な実装において提供されているのは、ST2094−10によって定義されるカラーボリューム変換パラメータをビットストリームに符号化するためのシステムおよび方法である。いくつかの例では、1つのセットのカラーボリューム変換パラメータにはビデオデータが提供され得る。加えて、1つのセットのマスタリングディスプレイカラーボリュームパラメータが提供され得る。マスタリングディスプレイカラーボリュームパラメータは、ビデオデータのマスタコピーを生成するときに決定される値を含む。いくつかの実装では、カラーボリューム変換パラメータは、ビデオデータとともに、ビットストリームに符号化され得る。これらの実装では、マスタリングディスプレイカラーボリュームパラメータもまた、ビットストリームに符号化されることが必要とされる。
[0108]いくつかの例では、ビデオデータは、2つ以上のビデオ信号を含み得、ここで、各ビデオ信号は、ディスプレイデバイスのディスプレイエリア内の別個のディスプレイ領域においてディスプレイされ得る。これらの例では、ビデオデータは、2つ以上のビデオ信号のためのカラーボリューム変換パラメータのセットを含み得る。いくつかの実装では、エンコーダは、1つのセットのカラーボリューム変換パラメータと1つのビデオ信号のためのディスプレイ領域との間のアソシエーションを決定し得る。アソシエーションは、ビデオデータとともに、ビットストリームに符号化され得る。
[0109]前述の例は、符号化されたビットストリームを作り出すための符号化デバイスおよび/またはビットストリームを復号し、該復号されたビデオをディスプレイのためにフォーマット化するための復号デバイスを含むHDRビデオシステムを実装するために使用され得る。ST2094−10によって提供されるパラメータに対する(on)様々な制限を定義することによって、これらのパラメータの曖昧でない定義が提供され得、このことは、HDRビデオシステムの実装を簡略化し得る。
[0110]より大きなカラーボリュームを定義するビデオ規格は、人間の目が見ることが可能なものを、より忠実に(more closely)複製するように試みる。上で着目されたように、カラーボリュームは、ダイナミックレンジおよび色域を含み得、ここで、ダイナミックレンジおよび色域は、ビデオコンテンツの独立した属性である。
[0111]ダイナミックレンジは、ビデオ信号の最小輝度と最大輝度との間の比として定義され得る。ダイナミックレンジはまた、fストップの観点から測定され得る。カメラにおいて、fストップは、カメラのアパーチャの直径に対する(to)レンズの焦点距離(focal length)の比である。1つのfストップが、ビデオ信号のダイナミックレンジの二倍に対応し得る。例として、MPEGは、HDRコンテンツを、16よりも多いfストップの輝度のバリエーションを特徴とするコンテンツとして定義する。いくつかの例では、10fストップ〜16fストップの間のダイナミックレンジは、中間ダイナミックレンジとして見なされるが、他の例ではこれは、HDRダイナミックレンジと見なされる。
[0112]図2は、様々なディスプレイタイプのダイナミックレンジと比較した、通常の人間の視覚202のダイナミックレンジを例示する。図2は、nitsログスケールでの(たとえば、cd/m2対数スケールでの)ルミナンスレンジ200を例示する。例として、星明かり(starlight)は、例示されているルミナンスレンジ200上でおおよそ0.0001nitsにあり(is at)、月明かりは、約0.01nitsにある。通常の屋内の光は、ルミナンスレンジ200上で1と100との間にあり得る。日光は、ルミナンスレンジ200上で10,000nitsと1,000,000nitsとの間にあり得る。
[0113]人間の視覚202は、0.0001nits未満から1,000,000よりも大きいnitsまでの間のどこをも知覚することが可能であるが、精確な(precise)レンジは人により異なる。人間の視覚202のダイナミックレンジは、同時ダイナミックレンジ204を含む。同時ダイナミックレンジ204は、目が最大調節値にある(at full adaptation)にある間に対象物が検出され得る最高のルミナンス値と最低のルミナンス値との間の比として定義される。最大調節値は、目下の周囲の(current ambient)光状況またはルミナンスレベルに調節された後の一定の状態に目があるときに生じる。同時ダイナミックレンジ204が、約0.1nitsと約3200nitsとの間にあるとして図2の例では例示されているけれども、同時ダイナミックレンジ204は、ルミナンスレンジ200に沿った(along)他のポイントで中心が置かれており(can be centered)、幅は異なるルミナンスレベルで異なり得る。加えて、同時ダイナミックレンジ204は、人により異なり得る。
[0114]図2はさらに、SDRディスプレイ206およびHDRディスプレイ208についてのおおよそのダイナミックレンジを例示する。SDRディスプレイ206は、モニタ、テレビ、タブレットスクリーン、スマートフォンスクリーン、およびSDRビデオをディスプレイする能力を有する他のディスプレイデバイスを含み、HDRディスプレイ208は、たとえば、超高精細度テレビならびに他のテレビおよびモニタを含む。
[0115]BT.709は、SDRディスプレイ206のダイナミックレンジが約0.1〜100nits、または約10fストップであり得、それは人間の視覚202のダイナミックレンジよりも著しく小さい。SDRディスプレイ206のダイナミックレンジはまた、例示されている同時ダイナミックレンジ204よりも小さい。SDRディスプレイ206はまた、夜間の状況(たとえば、約0.0001nitsにある星明かり)、または眩しい屋外の状況(たとえば、おおよそ1,000,000nits)を正確に再現することができない。
[0116]HDRディスプレイ208は、SDRディスプレイ206よりも広いダイナミックレンジをカバーし得る。たとえば、HDRディスプレイ208は、約0.01nitsから約5600nits、または16fストップ、のダイナミックレンジを有し得る。HDRディスプレイ208も人間の視覚のダイナミックレンジにはわたらない(do not encompass)が、HDRディスプレイ208は、平均的な人の同時ダイナミックレンジ204をカバーできることにより近づくことになり得る。HDRディスプレイ208についてのダイナミックレンジパラメータについての仕様は、たとえばBT.2020およびST2084において見つけられ得る。
[0117]色域は、ディスプレイまたはプリンタといった特定のデバイス上で利用可能である色のレンジを記述する。色域はまた、色次元とも称され得る。図3は、SDR色域304を表す三角形、およびHDR色域302を表す三角形で重ね書きされている(overlaid with)、色度図300の例を例示する。図300における曲線306上の値は、色、即ち可視スペクトル中の光の単一の(single)波長によって引き起こされる色である、のスペクトルである。曲線306より下の色(the colors below the curve 306)は非スペクトルであり、曲線306の低い方の点同士の直線(the straight line between the lower points of the curve 306)はパープルのラインと称され、図300の内部の色(the colors within the interior)は、スペクトル色、またはパープル色の、白との様々な混合である不飽和色である。D65とラベル付けされている点は、例示されているスペクトル曲線306についての白の場所を示す。曲線306はまた、スペクトル軌跡(the spectrum locus)またはスペクトルの軌跡(spectral locus)と称され得る。
[0118]SDR色域304を表す三角形は、BT.709によって提供されているような赤、緑、および青の原色に基づく。SDR色域304は、HDTV、SDRブロードキャスト、および他のデジタル媒体コンテンツによって使用される色空間である。
[0119]HDR色域302を表す三角形は、BT.2020によって提供されているような赤、緑、および青の原色に基づく。図3によって例示されているように、HDR色域302は、SDR色域304よりも約70%多い色を提供する。DCI(Digital Cinema Initiatives)P3(DCI−P3と称される)のような他の規格によって定義されている色域は、HDR色域302よりもさらに多くの色を提供する。DCI−P3は、デジタル動き投影に(for digital move projection)使用される。
[0120]表1は、BT.709、BT.2020、およびDCI−P3によって提供されるものを含む色域パラメータの例を例示する。各色域精細度(definition)について、表1は、色度図についてのxおよびy座標を提供する。
[0121]大きいカラーボリュームをもつビデオデータ(たとえば、ハイダイナミックレンジおよび広色域をもつ(with)ビデオデータ)は、成分毎に高精度で(with a high degree of precision)獲得および記憶され得る。たとえば、浮動小数点値は、各ピクセルのルーマおよびクロマ値を表すために使用され得る。さらなる例として、ルーマ、クロマ青、およびクロマ赤成分が各々同じサンプルレートを有する4:4:4クロマフォーマットが使用される。4:4:4表記法(notation)はまた、赤緑青(RGB)色フォーマットを指すために使用され得る。さらなる例として、国際照明委員会(CIE)1931XYZによって定義されたもののような超広色空間が使用され得る。高精度で表されるビデオデータは、おおよそ数学的にロスレスであり得る。しかしながら高精度表現は冗長を含み得、圧縮のために最適でないことがある。したがって、人間の目によって見られることができるカラーボリュームをディスプレイすることを狙いとしているより低い精度のフォーマットがしばしば使用される。
[0122]図4は、高精度の線形RGB402ビデオデータをHDRデータ410に転換する(converting)ためのプロセス400の例を例示する。HDRデータ410は、より低い精度を有し得、より簡単に圧縮され得る。例となるプロセス400は、ダイナミックレンジをコンパクト化し得る非線形伝達関数404と、よりコンパクトまたはロバストな色空間を作り出し得る色転換406、および浮動小数点表現を整数表現に転換し得る量子化408関数を含む。
[0123]様々な例において、ハイダイナミックレンジおよび浮動小数点表現を有し得る線形RGB402データは、非線形伝達関数404を使用してコンパクト化され得る。非線形伝達関数404の例は、ST2084で定義されている知覚量子化(perceptual quantizer)である。伝達関数404の出力は、色転換406によってターゲット色空間に転換され得る。ターゲット色空間は、YCbCrのような圧縮により適したものであり得る。量子化408はその後、データを整数表現に転換するために使用され得る。
[0124]例となるプロセス400のステップの順序は、ステップが実行され得る順序の一例である。他の例では、ステップが異なる順序で生じ得る。たとえば、色転換406は、伝達関数404に先立ち(precede)得る。他の例では、さらなる処理も生じ得る。たとえば、空間サブサンプリングが色成分に適用され得る。
[0125]伝達関数404は、画像中のデジタル値を光エネルギー(optical energy)に、および光エネルギーからマッピングするために使用され得る。光エネルギーは、光強度(optical power)とも称され、レンズ、鏡、または他の光学系が光を収束または分岐する度合いである。伝達関数404は、ダイナミックレンジをコンパクト化するために画像中のデータに適用され得る。ダイナミックレンジをコンパクト化することは、ビデオコンテンツが限定されたビット数でデータを表すことを可能にし得る。伝達関数404は、(たとえば、SDRについてITU−R勧告BT.1886(「BT.1886」と本明細書では称される)もしくはBT.709で規定されているような)エンドコンシューマディスプレイの電気光学伝達関数(EOTF)の逆数を反映することができるか、または(HDRについてST2084で指定されている知覚量子化(PQ)伝達関数によって提供されるような)輝度変化の人間の視覚系の知覚を概算することができる一次元非線形関数であり得る。電気光学伝達関数は、どのように符号レベルまたは符号値(code levels or code values)と称されるデジタル値を可視光に変えるかを記述する。電気光学変換の逆のプロセスは光学電気変換(OETF)であり、これは、ルミナンスから符号レベルを作り出す。
[0126]図5は、様々な規格によって定義されている変換関数によって作り出されるルミナンス曲線の例を例示する。各曲線は、異なる符号レベルにおけるルミナンス値を図にしている(charts)。図5はまた、各伝達関数によって可能にされたダイナミックレンジも例示する。他の例では、曲線は、赤(R)、緑(G)、および青(B)の色成分について別個に描かれ得る。
[0127]基準の電気光学伝達関数はBT.1886で規定されている。伝達関数は、以下の数式によって与えられる:
[0128]上記数式では、
[0129]Lは、cd/m2でのスクリーンのルミナンスである。
[0130]LWは、白色についてのスクリーンルミナンスである。
[0131]LBは、黒色についてのスクリーンルミナンスである。
[0132]Vは、入力ビデオ信号レベル(黒はV=0で生じ、白はV=1で生じるように標準化されている)である。BT.709によってマスタリングされるコンテンツでは、10ビットのデジタル符号値「D」が、以下の数式によって(per)Vの値にマッピングする(map into):V=(D−64)/876
[0133]γはべき関数の指数であり、γ=2.404である
[0134]aはユーザ利得(レガシの「コントラスト」制御)についての変数であり、ここで
[0135]bはユーザの黒レベルリフト(レガシの「輝度」制御)についての変数であり、ここで
[0136]上記変数aおよびbは、V=1ではL=LWになり、V=0ではL=LBになるように、以下の数式を解くことによって導かれ得る:
[0137]ST2084は、より効率的により高いダイナミックレンジデータをより効率的にサポートし得る伝達関数を提供する。ST2084の伝達関数は標準化された線形R、G、およびB値に適用され、これは、非線形表現R’、G’、およびB’を作り出す。ST2084はさらに、10000nitsのピーク輝度に関連付けられているNORM=10000による標準化を定義する。R’、G’、およびB’値は、以下の通りに算出され得る:
R’=PQ_TF(max(0,min(R/NORM,1)))
G’=PQ_TF(max(0,min(G/NORM,1))) (1)
B’=PQ_TF(max(0,min(B/NORM,1)))
[0138]数式(1)では、伝達関数PQ_TFは以下の通りに定義される:
[0139]電気光学伝達関数は、浮動小数点の正確度で関数として定義され得る。浮動小数点の正確度を有することによって、光学電気伝達関数が適用されるとき、関数の非線形性を組み込む信号に誤差をもたらすのを回避することが可能である。ST2048によって規定されているこの逆伝達関数は以下の通りである:
R=10000*inversePQ_TF(R’)
G=10000*inversePQ_TF(G’) (2)
B=10000*inversePQ_TF(B’)
[0140]数式(2)では、逆伝達関数inversePQ_TFが以下の通りに定義される:
[0141]他の伝達関数および逆伝達関数も定義されてきた。ビデオコーディングシステムは、ST2084によって提供されるものの代わりに、またはそれに加えて、これらの他の伝達関数および逆伝達関数のうちの1つを使用し得る。
[0142]色転換406は、線形RGB402入力の色空間のサイズを低減し得る。画像キャプチャシステムはしばしば、RGBデータとして画像をキャプチャする。しかしながらRGB色空間は、色成分間に高い度合いの冗長を有し得る。したがってRGBは、データのコンパクトな表現を作り出すためには最適でない。よりコンパクトでよりロバストな表現を達成するために、RGB成分は、圧縮により適し得る、YCbCrのようなより相関性のない色空間に転換され得る。色転換406によって作り出されたターゲット色空間は、ルミナンスによって表される輝度と、異なる相関性のない成分中の色情報とを分離し得る。
[0143]YCbCr色空間は、BT.709によって使用される1つのターゲット色空間である。BT.709は、非線形R’、G’、およびB’値についての非定(non-constant)ルミナンス表現Y’、Cb、およびCrへの以下の(follow)転換を提供する:
[0144]数式(3)によって提供される転換はまた、CbおよびCr成分についての除算を避ける以下の近似転換(approximate conversion)を使用しても実施され得る。
Y’=0.212600*R’+0.715200*G’+0.072200*B’
Cb=-0.114572*R’-0.385428*G’+0.500000*B’ (4)
Cr=0.500000*R’-0.454153*G’-0.045847*B’
[0145]BT.2020は、R’、G’、およびB’からY、Cb、およびCrへの以下の転換プロセスを規定している。
[0146]数式(5)によって提供される転換はまた、CbおよびCr成分についての除算を回避する以下の近似転換を使用しても実施され得る。
Y’=0.262700*R’+0.678000*G’+0.059300*B’
Cb=-0.139630*R’-0.360370*G’+0.500000*B’ (6)
Cr=0.500000*R’-0.459786*G’-0.040214*B’
[0147]色転換406の後、現在ではターゲット色空間にある入力データは、高ビット深度で(たとえば、浮動小数点の正確度で)依然として表され得る。量子化408は、データをターゲットビット深度に転換し得る。いくつかの例では、10ビット〜12ビットの正確度は、PQ伝達関数と組み合わせて、HDRデータ410が、人間の視覚で気付かれる(noticeable by)ものの直下(just below)にある歪みで16fストップを有するのに十分であり得る。10ビットの正確度をもつHDRデータ410はさらに、ほとんどのビデオコーディングシステムによってコーディングされ得る。量子化408は不可逆(lossy)であり、これはいくらかの(some)情報が損失したことを意味し、プロセス400によって出力されたHDRデータ410の不正確さの原因(source)であり得る。
[0148]以下の数式は、ターゲット色空間中のコードワードに適用され得る量子化408の例を提供する。たとえば、浮動小数点の正確度を有するY、Cb、およびCrについての入力値は、Yについては固定ビット深度値BitDepthYおよびクロマ値(CbおよびCr)については固定ビット深度値BitDepthCに転換され得る。
そのような量子化の例は、以下の例で示されているように、YCbCrのようなターゲット色空間中のコードワードに適用され得る。たとえば、浮動小数点の正確度で表される入力値YCbCrは、Y値では固定ビット深度BitDepthY、およびクロマ値(Cb,Cr)では固定ビット深度BitDepthCの信号に転換される。
[0149]上記では、
Round(x)=Sign(x)*Floor(Abs(x)+0.5)
Sign(x)=x<0の場合-1,x=0の場合0,x>0の場合1
Floor(x)x以下の最大整数
Abs(x)=x x>=0の場合,-x x<0の場合
Clip1Y(x)=Clip3(0,(1<<BitDepthY)-1,x)
Clip1C(x)=Clip3(0,(1<<BitDepthC)-1,x)
Clip3(x,y,z)=x z<xの場合,y z>yの場合,z その他の場合
[0150]例となるプロセス400によって作り出されるHDRデータ410は、符号化されたビットストリームを作り出すために、たとえばAVC HEVCまたはVP8/VP9/VP10規格を使用して、エンコーダによって圧縮または符号化され得る。ビットストリームは記憶および/または送信され得る。ビットストリームは、非圧縮ビデオ信号を作り出すためにデコーダによって圧縮解除または復号され(decompressed or decoded)得る。
[0151]非圧縮ビデオ信号は、たとえば、高速デジタルインターフェースを使用してエンドコンシューマデバイスに送信され得る。コンシューマ電子デバイスおよび伝送媒体の例は、デジタルテレビ、デジタルケーブル、衛星または地上セットトップボックス、モバイルデバイス、ならびにデジタル多用途ディスク(DVD)プレイヤおよび/またはレコーダのような関連する周辺デバイス、ならびに他の関連する復号デバイスおよびコンシューマデバイスを含む。
[0152]高速デジタルインターフェースについてのプロトコル、要件、および勧告が、CTA−861のような、全米家電協会(CTA)デジタルテレビ(DTV)分科委員会(Subcommittee)によって作成された仕様書において定義されている。CTA−861によって定義されているプロトコル、要件、および勧告の例は、ビデオフォーマットおよび波形、色度測定(colorimetry)および量子化、線形パルス符号変調(L−PCM)オーディオはもちろん(as well as)圧縮および非圧縮ビデオデータのトランスポート、補助データの搬送、ならびにディスプレイ能力および特性を宣言するためにコンシューマデバイスによって使用されるVESA(Video Electronics Standards Association)E−EDID(Enhanced Extended Display Identification Data Standard)の実装を含む。
[0153] CTA861−GバージョンのCTA−861仕様は、より大量の(larger amounts of)ダイナミックメタデータを搬送し得る拡張(extended)InfoFrameデータ構造を含む。ダイナミックは、この文脈では、データが時間的に、即ち時間の経過とともに(over time)変動し得ることを意味する。拡張InfoFrameデータ構造で搬送されるデータは、ディスプレイ、テレビ、またはデコーダもしくは受信機のようなビデオ信号を処理し得る他のデバイスといったエンドデバイスによって使用され得る。データは、たとえば、エンドデバイスに適用可能な、スマート処理、ガイド付マッピング、ディスプレイ適合、およびカラーボリューム変換のために使用され得る。拡張InfoFrameは、2バイトの数(number)で規定されるタイプを有し得る。拡張InfoFrameタイプ値が0x0001、0x0002、0x0003、または0x0004に設定されるとき、拡張InfoFrameはHDRダイナミックメタデータを搬送する。HDRダイナミックメタデータ拡張InfoFrameは、符号化されたビットストリームにおいて補足強化情報(SEI)メッセージに符号化され得るHDRダイナミックメタデータを保有する。SEIメッセージは、他の規格にしたがって作り出されるビットストリームはもちろん、AVC、HEVC、およびVP8/VP9/VP10ビットストリームにおいて使用され得る。
[0154]デコーダは、ある特定の(certain)タイプのHDRダイナミックメタデータ拡張InfoFrameの送信をサポートし得る。デコーダはさらに、ターゲットエンドデバイスがHDRダイナミックメタデータ拡張InfoFrameを受信する能力を有するかどうかを決定し得、そうならばInfoFrameのタイプにしたがって符号化された関連するビデオをもつInfoFrameを送り得る。いくつかの例では、デコーダは、タイプ0x0001、0x0002、0x0003、または0x004であるHDRダイナミックメタデータ拡張InfoFrameを、その拡張InfoFrameタイプについてのサポートを示さないエンドデバイスに送らないだろう。エンドデバイスは、たとえば、エンドデバイスがサポートするHDRダイナミックメタデータ拡張InfoFrameのタイプを示すためにHDRダイナミックメタデータデータブロックを使用し得る。
[0155]エンドデバイスとデコーダとの間の通信は、EDID(Extended Display Identification Data)を使用して行われ(conducted)得る。EDIDは、エンドデバイスの能力を記載するためにエンドデバイスによって提供されるデータ構造である。たとえば、EDIDは、エンドデバイスが受信およびレンダリングすることが可能なビデオフォーマットを記載し得る。エンドデバイスは、デコーダのリクエストを受けて、デコーダにEDIDを提供し得る。デコーダは、入力ビットストリームのフォーマットおよびエンドデバイスによってサポートされるフォーマットを考慮して、EDIDによって提供される情報に基づいて出力フォーマットを選択し得る。
[0156]様々な例において、いくつかの(several)データブロックがエンドデバイスのディスプレイ能力を記載するパラメータを規定するために使用され得る。そのようなデータブロックの例は、他のデータブロックに加えて、色度測定(Colorimetry)データブロック、HDR静的メタデータブロック、HDRダイナミックメタデータデータブロックを含む。色度測定データブロックは、エンドデバイスによってサポートされる、BT.2020またはDCI−P3のような色度測定規格および色域規格を示し得る。HDRデータブロックは、ディスプレイのEOTF(たとえば、BT.1886、ST2084、または他のもの)の特性を記載する(describing)パラメータ、所望のダイナミックレンジ(たとえば、所望の最小および/または最大のルミナンス)を記載するパラメータ、ならびに/あるいは、ディスプレイ上へのコンテンツの最適なレンダリングのための所望の最大フレーム平均ルミナンスを記載するパラメータのようなパラメータを通じたエンドデバイスのHDR能力を示す。HDRダイナミックメタデータデータブロックは、サポートされているHDRダイナミックメタデータタイプのタイプおよびバージョンを示す。
[0157]上で着目されたように、SMTPE ST2094は、別個の文書で各々が公表されている、4つの異なるカラーボリューム変換を規定する。これらの文書は、ST2094−10、ST2094−20、ST2094−30、およびST2094−40と名付けられて(designated)いる。
[0158]ST2094−10は、ダイナミックHDRメタデータを記載しており、ここでは、ダイナミックは、カラーボリューム変換がビデオコンテンツに依存し得ることを意味し得る。たとえば、ST2094−10は、パラメータトーンマッピング関数を定義する。ST2094−10はさらに、YCbCr、RGB、および人間の視覚系に基づく色空間を含む様々な色空間においてトーンマッピングが実行され得ることを規定する。ST2094−10はまた、RGB入力からの例となるカラーボリューム変換の数学的記述を提供する。
[0159]図6は、ST2094−10の実装で使用され得る処理ブロック610の例を例示する。処理ブロック610は、ST2094−1によって提供される汎用のカラーボリューム変換モデルについての枠組み内で例示されている。この枠組みでは、ビデオフレームまたはビデオフレームの一部であり得る画像602は、必要であれば入力転換604を経験し(undergo)得る。入力転換604は、画像602の色空間を入力色空間に転換し得る。処理ブロック610が画像上でオペレートした後、出力転換606が、必要であれば、画像の色空間を出力色空間に転換するために適用され得る。プロセス全体の結果が変換された画像608である。
[0160]ST2094−10実装の処理ブロック610は、トーンマッピング612のブロック、色域調整614のブロック、詳細管理616のブロックを含む。
[0161]パラメータおよびオペレーションプロセスブロック610は、以下の通りに説明され得、以下に続く説明では、PQは知覚量子化を表す。
[0162]maxRGBベーストーンマッピング
[0163]maxRGBベーストーンマッピングについて、以下のパラメータが定義される:
[0164]MinimumPqencodedMaxrgb−低減されたピクセルセットの最低のPQ符号化されたmaxRGB値
[0165]AveragePqencodedMaxrgb−低減されたピクセルセットのPQ符号化されたmaxRGB値の平均
[0166]MaximumPqencodedMaxrgb−低減されたピクセルセットの最高のPQ符号化されたmaxRGB値
[0167]MinimumPqencodedMaxrgbOffset−MinimumPqencodedMaxrgb値に追加されるMinimumPqencodedMaxrgbと同じユニットにおけるオフセット
[0168]AveragePqencodedMaxrgbOffset−AveragePqencodedMaxrgb値に追加されるAveragePqencodedMaxrgbと同じユニットにおけるオフセット
[0169]MaximumPqencodedMaxrgbOffset−MaximumPqencodedMaxrgb値に追加されるMaximumPqencodedMaxrgbと同じユニットにおけるオフセット
[0170]オフセット、利得、およびガンマベースのトーンマッピング
[0171]下記の数式8は、オフセット、利得、およびガンマベースのトーンマッピングのためのトーンマッピング関数を定義する。
y=(min(max(0,(x×g)+o),1))P (8)
[0172]数式8では、y=出力値、x=入力値、g=トーンマッピング利得の値、o=トーンマッピングオフセットの値、およびP=トーンマッピングガンマの値、である。
[0173]以下のHDRパラメータは、数式8で使用するためにシグナリングされ得る(たとえば、提供および/またはビットストリームに符号化され得る):
[0174]ToneMappingOffset−数式(8)で使用されるトーンマッピングオフセット
[0175]ToneMappingGain−数式(8)で使用されるトーンマッピング利得
[0176]ToneMappingGamma−数式(8)で使用されるトーンマッピングガンマ
[0177]以下のパラメータもまた、ST2094−10で定義されている。
[0178]ChromaCompensationWeightは、クロマ調整の量である。
[0179]SaturationGainは、彩度(saturation)調整の量である。
[0180]ToneDetailFactorは、トーンマッピング結果への詳細管理関数の寄与を制御するパラメータである。
[0181]以下の制限もまた、ST2094−10で定義されている。ST2094−10は、メタデータが以下の各々のちょうど1つだけ保有する(shall contain exactly one)ようなHDRメタデータの範囲を規定する:
[0182]ST2094−1で規定されているパラメータを通じて定義されているTimeInterval情報は、以下を含む:
[0183]TimeIntervalStart
[0184]TimeIntervalDuration
[0185]ST2094−1で規定されているパラメータを通じて定義されているProcessingWindow情報は、以下を含む:
[0186]UpperLeftCorner
[0187]LowerRightCorner
[0188]WindowNumber
[0189]ST2094−1で規定されているパラメータを通じて定義されているTargetedSystemDisplay情報は、以下を含む:
[0190]TargetedSystemDisplayPrimaries
[0191]TargetedSystemDisplayWhitePointChromaticity
[0192]TargetedSystemDisplayMaximumLuminance
[0193]TargetedSystemDisplayMinimumLuminance
[0194]ColorVolumeTransformパラメータ
[0195]ImageCharacteristicsLayer、これは、以下の名前の(named)項目の各々のちょうど1つだけ保有することとなる:
[0196]MinimumPqencodedMaxrgb
[0197]AveragePqencodedMaxrgb
[0198]MaximumPqencodedMaxrgb
[0199]ManualAdjustmentLayer、これは、以下の名前の項目の各々の0または1つを有する任意の組合せも保有し得る:
[0200]MinimumPqencodedMaxrgbOffset
[0201]AveragePqencodedMaxrgbOffset
[0202]MaximumPqencodedMaxrgbOffset
[0203]ToneMappingOffset
[0204]ToneMappingGain
[0205]ToneMappingGamma
[0206]ChromaCompensationWeight
[0207]SaturationGain
[0208]ToneDetailFactor
[0209]ST2094−10は、カラーボリューム変換に使用され得るHDRパラメータのセットを定義する。規格はまた、どのようにHDRパラメータが使用され得るかを例示する情報の例を提供する。しかしながら、ST2094の規格一式は、パラメータがシグナリングされる(たとえば、符号化されたビットストリームにおいて提供される)こととなる方法を定義していない。欧州電気通信規格協会(ETSI)、CTA、およびMPEGといった標準開発組織(SDO)は、符号化されたビットストリームにおけるHDRパラメータの送信についての規格を発展させる(develop)ことを期待されている。たとえば、CTA−861−Gは、デジタルオーディオ/ビデオインターフェースを介してST2094で定義されているHDRダイナミックメタデータを送信するためのフォーマットを規定している規格である。
[0210]HEVCおよびAVCビットストリームでは、とりわけ、HDRパラメータがSEIメッセージを使用して提供され得る。SEIメッセージにおいて、ST2094−20によって定義されているパラメータを符号化するためのフォーマットが、たとえば、ETSI技術仕様書103 433において定義されている。ST2094−30によって定義されているパラメータは、たとえば、HEVCまたはAVCの色再マッピング情報SEIメッセージにおいて符号化され得る。
[0211]HEVCにおいてST2094−10によって定義されているパラメータをシグナリングするためのSEIメッセージの例は、ビデオコーディングに関する共同チーム(JCTVC)のJCTVC−X004に追加されるように提案されたが、この提案は採用されなかった。
[0212]特定のシステムでは、高度テレビジョンシステム委員会(ATSC)およびデジタルビデオブロードキャスティング(DVB)のような標準化団体は、ST2094−10パラメータをシグナリングするためのフォーマットを定義し得る。たとえば、パラメータは、コーディングされたビットストリームに追加され得るユーザデータ登録された(user data registered)SEIメッセージにおいて符号化され得る。そのようなSEIメッセージは、標準化団体が仕様を提供するHDRビデオシステムについて最適化され得る。加えて、SEIメッセージが特定のHDRビデオシステムのためにST2094−10パラメータについての実装を一義的に(unambiguously)定義するように、SEIメッセージは定義され得る。
[0213]提供されるのは、コーディングされたビットストリームにおいてST2094−10メタデータを符号化するための標準化されたメカニズムについてのシステムおよび方法である。下記で説明される技法は、HDRビデオシステムにおいてST2094−10を受信およびパースするための一義的な定義を提供し得る。本技法はまた、受信機の実装の複雑性を低減し得る。本技法は、とりわけ、色空間転換に使用され得る色空間シグナリングおよび情報、HDRビデオシステムによって使用されるだろうST2094の処理要素の数を制限すること、使用されるだろうST2094−10のリザーブ値の使用を制限すること、補足情報の必須の(mandatory)シグナリングを制御すること(constraining)、色域および最小ルミナンスのようなターゲットディスプレイ能力をシグナリングすること、固定長コーディングでext_block_length(たとえば、メタデータブロックの長さを示すフィールド)をコーディングすること、およびHDRビデオシステムによって使用されるだろうST2094の処理要素間のアソシエーションの仕様を含む。
[0214]これらの技法は、何もST2094−10によって定義されていない標準化されたシグナリングメカニズムを提供する。これらの技法はまた、ST2094−10によって定義されていない間隔を満たすことによって完全なビデオシステムを定義し得、そのようなものは、とりわけ、HDRパラメータが使用されるべき方法、入力の記述、およびどの出力カラーボリューム変換を使用すべきか、である。これらの要素の使用に対する(on)制限はもちろん、ST2094−10の要素のSEIメッセージへの組み込みが説明される。
[0215]第1の例では、色空間および変換がST2094−10を実装するHDRビデオシステムについてシグナリングされ得る。上で論じられたように、ST2094−10は、入力ビデオ信号の色空間を示し得るメタデータ、および該入力色空間を別の色空間に転換するために使用され得るメタデータを定義する。入力およびワーキング色空間の例は、YCbCrおよびICtCp(ここで、Iはルーマ成分であり、CtおよびCpは、それぞれ、青−黄色クロマ成分および赤−緑クロマ成分)を含み得、これは、ITU−T勧告BT.2100によって定義されている。いくつかの例では、入力色空間からワーキング色空間への転換のための、およびワーキング色空間から出力色空間に転換するための色変換の正確な行列。これらの例では、ワーキング色空間は、トーンマッピング関数が適用され得るものである。
[0216]いくつかの例では、HDRビデオシステムのデコーダまたは受信機は、コーディングされたビットストリームにおいて提供される行列のセットのうちから1つの色変換行列(a color transform matrix)を選択し得る。デコーダは、たとえば、色変換行列を選択するために、HEVCビデオ使用可能性情報(VUI)パラメータcolor_primaries、および/またはmatrix_coeffsの値を使用し得る。
[0217]いくつかの例では、制限は、色変換行列パラメータについて定義され得る。これらの制限は、受信機の実装を簡略化し得る。たとえば、色変換行列のエントリは、YCbCrまたはICtCp色空間によって定義されている値に制限され得る。
[0218]いくつかの例では、フラグは、特定の色変換および任意の関連するオフセットがビットストリームに存在するかどうかを示すために使用され得る。たとえば、「RGBtoLMS_coeff_present_flag」と呼ばれるフラグは、RGB〜LMS色空間転換パラメータがビットストリームにおいて利用可能であるかどうかを示し得る(LMSは、人間の目の3つのタイプの錐体視細胞(cones)の反応を表す色空間であり、長、中、および短波長における反応または感度ピークに由来する(is named for))。別の例として、「YCCtoRGB_coef_present_flag」と呼ばれるフラグは、ビットストリームがYCbCr〜RGB色転換を実行するために使用され得るパラメータを含むかどうかを示し得る。いくつかのケースでは、これらのフラグのどちらかについての1の値は、色転換パラメータおよび任意の関連するオフセットが存在することを示し得、0の値が、色バージョンパラメータがビットストリームでは利用可能でないことを示し得る。
[0219]いくつかの例では、色変換パラメータが存在しないとき、係数の値が識別行列のものであると推測される(are inferred to be those of the identity matrix)。いくつかの例では、色変換パラメータが存在しないとき、パラメータの値が0であると推測される。いくつかの例では、色変換パラメータおよびオフセットについての他のデフォルトの値も可能である。
[0220]第2の例では、HDRビデオシステムによって使用されるST2094−10の処理要素の数が制限され得る。処理要素の数を制限することは、ST2094−10パラメータを受信およびパースするための一義的な定義を提供することと、HDR受信機の実装を簡略化することとの両方を行い(provide)得る。たとえば、ST2094−10は、ビットストリームに含まれ得る拡張ブロック(extended blocks)の数を規定しておらず、ここで、拡張ブロックは処理要素(processing elements)を含み得る。定義されていない数の拡張ブロックを有することは、デコーダがブロックを記憶するのに必要とするメモリの量、およびブロックを処理するために必要とされる処理リソースの量が未知であり得ることを意味し得る。したがって、様々な例において、拡張ブロックの数は、デコーダがブロックを処理するのに必要とされるメモリおよび処理リソースを予め決定し得るように制限され得る。ST2094−10処理要素は、とりわけ、処理されるピクチャフラグメント、処理ウィンドウ、コンテンツ記述要素、ターゲットディスプレイ記述要素、およびトーンマッピングモデルを含み得る。以下に続く例は、個別に、または何れの適した組合せでも使用され得る。
[0221]処理されるピクチャフラグメントおよび処理ウィンドウ(ST2094によって「ProcessingWindow」と称される)は、ディスプレイの部分(portions)を記述する。たとえば、ディスプレイは、複数の、場合によっては重なっているウィンドウを含み得、ここで、各ウィンドウは、異なるビデオ信号をディスプレイし得る。同じディスプレイ中の複数の(multiple)ウィンドウの例は、ピクチャインピクチャであり、ここで、ディスプレイ中の差し込み(inset)ウィンドウは、ディスプレイの主要部に出力されるビデオ信号とは異なるビデオ信号を含み得る。いくつかの例では、ビデオ信号における処理されるピクチャフラグメントおよび処理ウィンドウの数は、254よりも小さい固定数に限定される。たとえば、数は1〜16の値に等しく設定され得る。ST2094によって提供されるように、処理されるピクチャフラグメントおよび処理ウィンドウについてのext_block_levelフィールドは5に設定される。処理されるピクチャフラグメントおよび処理ウィンドウの数を制限することにしたがって、別の例として、5に等しいext_block_levelをもつ拡張ブロックの数は1つに制限され得る。
[0222]コンテンツ記述要素(ST2094によって「ImageCharacteristcsLayer」と称される)は、特定のビデオ信号についての情報を提供し得る。いくつかの例では、コンテンツ記述要素の数は1に等しく設定される。コンテンツ記述要素についての拡張ブロックは、1のext_block_level値を有する。いくつかの例では、1に等しいext_block_levelをもつ拡張ブロックの数は1に制限され得る。
[0223]ターゲットディスプレイ記述要素(「TargetedSystemDisplay」とST2094によって称される)は、ビデオ信号がディスプレイされ得るディスプレイデバイスについての情報を提供し得る。いくつかの例では、ターゲットディスプレイ記述要素の数は、1〜16のレンジの(in)値である。ターゲットディスプレイ記述要素についての拡張ブロックは、2のext_block_level値を有する。いくつかの例では、2に等しいext_block_levelをもつ拡張ブロックの数は16以下に制限され得る。
[0224]トーンマッピングモデルは、1セットの色を第2のセットの色にマッピングするために使用され得る。たとえば、第2のセットの色は、より限定されたダイナミックレンジを有するシステム上のHDR画像のアピアランスを概算し得る。いくつかの例では、ST2094−10を実装するHDRシステムでは、トーンマッピングモデル(ST2094では「ColorVolumeTransformと称される)の数は、1〜16の値である。
[0225]いくつかの例では、ST2094−10関連情報をシグナリングするSEIメッセージの数は、各コーディングされるフレームまたはアクセスユニットについて2を超えないことがある。いくつかの例では、各アクセスユニットは、ST2094−10メタデータをもつ関連するSEIメッセージを有することになるだろう。いくつかの例では、そのようなSEIメッセージが存在するとき、アクセスポイントごとに1つだけ存在することになるだろう。
[0226]第3の例では、ST2094−10でリザーブされた値の使用は制限される。リザーブ値(reserved values)の使用を制限することは、指定されていないか、または認可されていない(unsanctioned)情報がビットストリームに含まれていないということを保証し得る。
[0227]いくつかの例では、ST2094−10の現在のバージョンに準拠するビットストリームは、リザーブ値を含まないこととする(shall not)。たとえば、拡張ブロックについて、ext_block_levelについてのいくつかの(some)値が、ATSCによる使用のためにリザーブされる。これらの例では、これらのリザーブ値は、ST2094−10を実装するHDRビデオシステムにおいて使用されることができない(cannot)。代わりとして、いくつかの例では、ext_block_levelについてのリザーブ値を使用する拡張ブロックは、デコーダによって無視されることになる(will)。
[0228]いくつかの例では、デコーダは、リザーブ値を保有するST2094−10SEIメッセージを破棄することとする。いくつかのケースでは、SEIメッセージについてのext_block_levelの値が1、2、または5以外の値であるとき、SEIメッセージは破棄されることとする。いくつかのケースでは、ext_block_levelの値がリザーブ値と等しいとき、SEIメッセージは破棄されることとする。そのような例は、任意の(any)サイズの任意の(arbitrary)データもSEIメッセージに挿入されてしまうかも知れない(might)穴(hole)を防ぐことができる。
[0229]いくつかの例では、1、2、または5以外のext_block_levelの値は、ATSCによる将来的な使用のためにリザーブされる。
[0230]いくつかの例では、1、2、または5以外のext_block_levelの値は、ATSC規格に基づくシステムにおいて使用されることを許されない。
[0231]第4の例では、制限は、補足情報の必須のシグナリングに対して課され(be placed)得る。ATSC仕様は、ビデオ信号についてのシグナリング情報のために使用され得るツールボックスを提供する。このツールボックスは、とりわけ、ビットストリームが、BR.709、BT.2020、およびハイブリッドログガンマ(HLG)によって定義される伝達関数を含む、複数の伝達関数を符号化することを可能にする。しかしながら、組合せの数を制限することは、デコーダの実装を簡略化し得る。いくつかの例では、payloadTypeについて4の値をもつSEIメッセージは、異なる伝達関数の特性を送信するために使用され得る。
[0232]いくつかの例では、ST2094−10SEIメッセージは、HEVC VUI中のtransfer_characteristicsシンタックス要素が(ST2084のPQ伝達関数について)16に等しくないときに存在しないこととする。
[0233]いくつかの例では、ST2094−10SEIメッセージは、HEVC VUI中のtransfer_characteristicsシンタックス要素が(ST2084からのPQ伝達関数については)16、または(HLGからの伝達関数については)18に等しくないときに存在しないこととする。
[0234]いくつかの例では、ST2086によって定義されるようなマスタリングディスプレイカラーボリュームメタデータをもつSEIメッセージは、ST2094パラメータをもつSEIメッセージを有するビットストリームに含まれなければならない。これらの例では、ST2086についてのSEIメッセージ中の情報と同じ情報を搬送するST2094−10SEIメッセージ中のシンタックス要素は、ST2094−10パラメータについてのSEIメッセージから除去され得る。これらの例では、ST2094−10フレーム処理を導出するために必要とされる対応する情報は、ST2086SEIメッセージから抽出され得る。
[0235]いくつかの例では、ST2086SEIメッセージがビットストリーム中に存在するとき、ST2086とST2094−10との間に共通するシンタックス要素は、ST2094−10についてのSEIメッセージにおいてはシグナリングされない。代わりに、ST2094−10シンタックス要素は、ST2086SEIメッセージ中の対応するシンタックス要素と同じであると推測され得る。
[0236]いくつかの例では、フラグ(たとえば、「st2086_info_present_flag」と呼ばれる)は、ST2086とST2094−10との間に共通するシンタックス要素がST2094−10についてのSEIメッセージにおいてシグナリングルされるかどうかを示すために使用され得る。
[0237]いくつかの例では、ST2086シンタックス要素は、ST2094−10についてのSEIメッセージに含まれる。これらの例では、ST2094−10SEIメッセージが存在する(with)ビットストリームまたはアクセスユニットについて、ST2086SEIメッセージが許されない。
[0238]いくつかの例では、ST2086SEIメッセージ中のマスタリングディスプレイ情報がST2094−10SEIメッセージ中のディスプレイ情報と対立する(conflicts with)とき、ST2094−10情報が、フレームの処理について優先される。
[0239]第5の例では、色域および最小のルミナンスのようなターゲットディスプレイ能力が、ビットストリームにおいてシグナリングまたは示され得る。ターゲットディスプレイ能力は、ディスプレイデバイスがビットストリームにおいて符号化されたビデオ信号をディスプレイすることができる最小の要件を示し得る。
[0240]いくつかの例では、ext_block_levelについて2の値を有する拡張ブロックは、ターゲットディスプレイ最小ルミナンス、ターゲット原色、およびターゲット白色点を含み得る。
[0241]いくつかの例では、追加のブロックタイプが、代わりとしてまたは加えて追加され得る。このタイプを有する拡張ブロックは、原色、白色点、およびターゲットディスプレイの最小ルミナンスを保有し得る(can)。たとえば、3に等しいext_block_levelをもつ拡張ブロックであって、そうでなければリザーブされるだろう拡張ブロックが使用され得るだろう。
[0242]第6の例では、拡張ブロックについてのext_block_lengthフィールドは、固定長を使用して符号化され得る。ext_block_lengthフィールドは、拡張ブロックのサイズを示し得る。たとえば、拡張ブロックについてのext_block_levelが1に設定されるとき、対応するext_block_lengthは5に設定され得る。別の例として、ext_block_levelが2に設定されるとき、ext_block_lengthは11に設定され得る。別の例として、ext_block_levelが5に設定されるとき、ext_block_lengthは7に等しくあり得る。ext_block_lengthのために使用され得るビット数を限定することは、デコーダの実装を簡略化し得る。
[0243]いくつかの例では 、シンタックス要素ext_block_lengthをコーディングするために使用されるビット数は、8の固定倍数、または他の適した倍数になるように選ばれる。
[0244]いくつかの例では、ext_block_length値についての値のレンジは、両端値を含む0と255との間になるように制限される。
[0245]いくつかの例では、制限は、代わりに、または加えて(also)、ext_dm_alignment_zero_bitシンタックス要素が1つのext_dm_data_block_payload()データ構造中で示される回数(the number of times)に課され得る。たとえば、シンタックス要素が現れる回数は、7回よりも少なく制限され得る。ext_dm_data_block_payload()データ構造は、異なるセットのパラメータを示すために使用され得る。たとえば、ext_block_levelが1に等しいとき、ext_dm_data_block_payload()データ構造は、最小、最大、および平均PQ値といったコンテンツレンジ値を提供し得る。別の例として、ext_block_levelが2であるとき、ext_dm_data_block_payload()は、とりわけ、傾き、オフセット、電力(power)、クロマ重み、および彩度利得といったトリミング値を含み得る。別の例として、ext_block_levelが5であるとき、ext_dm_data_block_payload()は、ディスプレイ領域とも本明細書では称されるアクティブエリアを記述し得る。ext_dm_data_block_payload()はまた、データ構造のサイズを特定のサイズに伸ばすこと(pad)ができるext_dm_alignment_zero_bit要素の数を含み得る。
[0246]第7の例では、ST2094処理要素間のアソシエーションが規定され得る。
[0247]上で着目されたように、ext_dm_data_block_payload()データ構造は、色域マッピングパラメータおよびシーンパラメータに関連する情報を提供し得る。たとえば、1つまたは複数のext_dm_data_block_payload()データ構造は、1つのセットの(a set of)カラーボリューム変換パラメータを含み得、これは、ビデオ信号を特定のデバイスによってディスプレイされ得るものに変換するためにデコーダまたは受信機によって使用され得る。いくつかの例では、ext_dm_data_block_payload()データ構造でのカラーボリューム変換パラメータをディスプレイにおけるアクティブ領域と関連付けるための仕様が、提供され得る。いくつかの例では、デバイス上にディスプレイされているビデオは、1つよりも多いディスプレイ領域を有し得、ここで、各領域は、異なるビデオ信号を出力していることがある(can)。これらの例では、1つよりも多いビデオ信号がビットストリームに符号化され得る。各ビデオ信号は、1つのセットのカラーボリューム変換パラメータと関連付けられ得る。いくつかのケースでは、2つのビデオ信号が、同じセットのカラーボリューム変換パラメータと関連付けられ得る。様々な技法が、どのアクティブ領域と1つのセットのカラーボリューム変換パラメータが関連付けられるかを決定するために使用され得る。
[0248]いくつかの例では、インデックスが、1つのセットのカラーボリュームパラメータとディスプレイ領域との間のアソシエーションを示すために使用され得る。たとえば、データ構造での情報が適用されるディスプレイ領域を示さない各ext_dm_data_block_payload()(たとえば、ext_block_levelが1または2に等しい)について、シンタックス要素は、アソシエーションを示すために使用され得る。たとえば、SEIメッセージは、インデックスのリストの形態でシンタックス要素を含み得、ここで、インデックスの順序は、ext_dm_data_block_payload()データ構造がビットストリームにおいて現れる順序と対応する。この例では、インデックス値は、各ext_dm_data_block_payload()が関連付けられる1つまたは複数のディスプレイ領域を示し得る。別の例では、アクティブディスプレイ領域が、SEIメッセージにおいて示され得る。この例では、SEIメッセージ中のシンタックス要素は、ext_dm_data_block_payloadが関連付けられるアクティブディスプレイ領域を示し得る。この例では、アクティブディスプレイ領域は、アクティブディスプレイ領域がSEIメッセージにおいて示される順序によって示され(be identified)得るか、または各アクティブディスプレイ領域は識別子を有し得る。
[0249]いくつかの例では、ext_dm_data_block_payload()データ構造によって提供されるカラーボリューム変換パラメータのディスプレイ領域とのアソシエーションは、ext_dm_data_block_payload()データおよび/またはディスプレイ領域がビットストリームにおいて現れる順序に基づき得る。たとえば、制限が、異なるタイプのext_dm_data_block_payload()データ構造がビットストリームにおいて現れる順序に課せられ得る。ext_dm_data_block_payload()のタイプは、ext_block_levelシンタックス要素によって示され得る。この例では、ext_dm_data_block_payload()データ構造が現れる順序は、データ構造が関連付けられるディスプレイ領域を記述する。
[0250]ext_dm_data_block_payload()データ構造の順序を制限する例として、0〜num_ext_blocks−1(num_ext_blocksは拡張ブロックの総数を示す)のレンジのiの任意の値について、ここで、ext_dm_data_block_payload(i)は色域マッピングのためのパラメータを示す、ext_dm_data_block_payload(j)が1つまたは複数のアクティブ領域についての情報を保有するiよりも大きい最小数にjがなるような、両端値を含む、0〜num_ext_blocks−1までのレンジの何れの値jも存在し、ext_dm_data_block_payload(k)が色域マッピングのためのパラメータを示すjよりも大きい最小数にkがなるような、jよりも大きいkが存在する場合、ext_dm_data_block_payload(i)は、両端値を含むj〜k−1のレンジのmについてのext_dm_data_block_payload(m)によって示される領域に関連付けられる。代わりとして、または加えて、ext_dm_data_block_payload(j)が1つまたは複数のアクティブ領域についての情報を保有するiよりも大きい最小数にjがなるような、両端値を含む0〜num_ext_blocks−1のレンジの任意の値jも存在し、ext_dm_data_block_payload(k)が、色域マッピングのためのパラメータを示すようなjよりも大きいkの値が存在しない場合、ext_dm_data_block_payload(i)は、両端値を含むj〜num_ext_blocks−1のレンジのmについてのext_dm_data_block_payload(m)によって示される領域に関連付けられる。代わりとして、または加えて、ext_dm_data_block_payload(i)は、ピクチャ全体に適用される(applies to)。
[0251]ext_dm_data_block_payload()データ構造の順序を制限する別の例として、色域マッピングのためのパラメータが、色域マッピングを適用するための領域を示さない1つまたは複数のシンタックス要素を含み得る。
[0252]いくつかの例では、カラーボリューム変換パラメータのディスプレイ領域とのアソシエーションは、ブロックアソシエーションに基づき得る。たとえば、ext_dm_data_block_payload()は、特定のext_block_level値(たとえば、6または他の適した値)を有するビットストリームに含まれ得、ここで、このタイプの拡張ブロックは、色域マッピングパラメータと、ターゲットディスプレイ特性と、シーン情報と、アクティブ領域との間のアソシエーションを示し得る。
[0253]例として、ext_dm_data_block_payload()データ構造は、色域マッピングパラメータと、ターゲットディスプレイ特性と、シーン情報(総称してカラーボリューム変換パラメータ)と、アクティブ領域との間のある数の(a number of)アソシエーションをシグナリングまたは示し得る。
[0254]別の例として、各アソシエーションについて、ext_dm_data_block_payload()データ構造は、アソシエーションを定義するために使用されるブロックの数を示す1つまたは複数の値であり得る。この例では、いくつかのケースでは、各アソシエーションについての1つまたは複数の値は明示的にシグナリングされず、デフォルト値になるように固定され得る。代わりとして、または加えて、シンタックス要素が、アソシエーションのモードを示すために使用され得る。そのような例では、各モードについて、1つまたは複数の値は、モードから推測されるか、またはシグナリングされるかのどちらかであり得る。そのような例では、各モードについて、特定の値のもう1つのブロックが、アソシエーションにおいて指定されることが必要とされ得る。代わりとして、または加えて、いくつかの例では、各アソシエーションについて、シンタックス要素が、アソシエーションを指定するブロックに対応するインデックスをシグナリングし得る。そのような例では、インデックスは、SEIメッセージにおいてシグナリングされるようなext_dm_data_block_payload()データ構造のインデックスに対応し得る。そのような例では、ext_block_levelの特定の値についてのインデックスは、SEIメッセージにおいてシグナリングされるようなext_block_levelのその特定の値のext_dm_data_block_payloadシンタックス構造のインデックスに対応し得る。
[0255]いくつかの例では、明示的な領域情報は、色域マッピングパラメータ、シーン情報、およびターゲットディスプレイ特性の各セットとともに送られる。
[0256]いくつかの例では、シーン情報は、シーンの最小、最大、平均ルミナンス情報を示した1つまたは複数のシンタックス要素を含み得る。色域マッピングパラメータは、色域マッピングを行うために使用されるマッピング関数のパラメータを含み得る。ターゲットディスプレイ特性は、ディスプレイの最小および最大ルミナンス、原色、ならびに白色点を含むディスプレイの特性を含み得る。領域情報は、マッピングが適用されることになる(is to be applied)領域のサブ領域をさらに指定するために(to)、1つまたは複数のパラメータ(色座標ドメインまたは空間ドメインにおける形状を記述する)、領域に関連付けられた1つまたは複数の識別子、パラメータのサブセットが適用可能である領域を示す座標(たとえば、矩形領域のための4つの座標)を含み得る。
[0257]いくつかの例では、色域マッピングパラメータは、領域のシグナリングに関連しないext_dm_data_block_payload()データ構造での(in)全ての情報(たとえば、色域マッピングパラメータ、シーン情報、およびターゲットディスプレイ特性)を示すために使用され得る。
[0258]第8の例では、追加のシンタックス要素をシグナリングすること、およびシンタックス構造を修正することが、ext_block_levelのリザーブ値を使用して将来的な拡張性の可能性を許すために実行され得る。これは、現在のバージョンの仕様においてリザーブされるext_block_levelの値についてのext_dm_data_block_payloadにおいてビットが存在する回数と同じだけ1ビット(one bit as many times as there are bits)を占有するシンタックス要素のシグナリングを含み得る。
[0259]様々な例において、HDRビデオシステムのデコーダまたは受信機は、ビットストリームに対して(on)適合検査(conformance checks)を実行し得る。たとえば、デコーダまたは受信機は、上で説明されたような制限または限定が守られてきた(have been adhered to)か否かを検証し得る。デコーダは、たとえば、ビットストリームを復号することと一緒に(in line with)、またはビットストリームを復号し始める前に、適合検査を実行し得る。ビットストリーム、またはビットストリームの一部分が適合検査に失敗するとき、デコーダは、様々な動作を取り(take)得る。たとえば、デコーダは、適合検査に失敗するデータ構造を無視し得、該データ構造の後のビットストリームを復号することを進め得る。別の例では、デコーダは、ビットストリームが適合検査に失敗したポイントからビットストリームを復号するのを停止し得る。さらなる例では、デコーダは、ビットストリーム全体を拒否し得る。
[0260]上で説明された方法のいくつかの例となる実装が、次に説明される。以下の例となる実装は、上で説明された例のうちの1つまたは複数を実装する。例となる実装は、ATSCによって定義されているシンタックス構造およびセマンティクスを使用して例示される。シンタックス構造およびセマンティクスに対する変更(changes)は以下の通りに示される:[[二重括弧内のテキスト]]は、削除を示し、下線が付されたテキストは追加を示す。
第1の例
[0261]シンタックス構造への変更:
第2の例
[0262]セマンティクスに対する変更:
[0263]ext_block_length[i]は、バイトでの(in)、i番目の拡張DMメタデータブロックペイロードのサイズを導くために使用される。ext_block_length[i]は、num_ext_blocksが0に等しい場合は存在しない。ext_block_lengthの値は、両端値を含む0〜255のレンジにあることとする。
[0264]1つの代替例では、シンタックス要素は、ext_block_length_minus1としてコーディングされ、セマンティクスは以下の通りに指定される:
[0265]ext_block_length_minus1[i]plus1は、バイトでの、i番目の拡張DMメタデータブロックペイロードのサイズ[[を導くために使用される]]指定する。[[ext_block_length[i]は、num_ext_blocksが0に等しい場合は存在しない。]]ext_block_length_minus1の値は、両端値を含む0〜255のレンジにあることとする。
[0266]num_associationsは、ext_dm_data_block_payloadで指定されるアソシエーションの数を指定する。アソシエーションブロックは、色域マッピングパラメータに関連付けられたアクティブ領域と、色域マッピングパラメータと、ターゲットディスプレイ特性との間のアソシエーションを指定する。
[0267]num_blocks_in_assoc[i]は、i番目のアソシエーションにおいて指定されるブロックの数を指定する。num_blocks_in_assoc[i]の値は、両端値を含む0〜255のレンジにあることとする。
[0268]blk_idx_in_assoc[i][j]は、i番目のアソシエーションにおけるj番目のブロックのインデックスを指定する。blk_idx_in_assoc[i][]]の値は、両端値を含む0〜num_ext_blocks−1のレンジにあることとする。
[0269]1、2、または5に等しいext_block_level値を有するインデックスkをもつ各ブロックについて、blk_idx_in_assoc[i][j]がkに等しくなるように、6に等しいext_block_levelをもつext_dm_data_block_payloadシンタックス構造におけるiの1つの値が少なくとも存在することとすることが、ビットストリーム適合についての要件である。
[0270]6に等しいext_block_levelをもつ1つよりも多いext_dm_data_block_payloadシンタックス構造が存在しないこととすることが、ビットストリーム適合についての要件である。
[0271]ext_dm_data_bitは何れの値も有し得る。その存在および値は、この仕様のこのバージョンで規定されているプロファイルに対するデコーダ適合に影響を与えない。この仕様のこのバージョンに適合するデコーダは、ext_dm_data_bitシンタックス要素の全てを無視することとする。
[0272]1つの代替例では(In one alternative)、バイトアライメント/将来的保証のあるシンタックス(byte-alignment/future-proof syntax)が以下の通りに指定される:
第3の例
[0273]シンタックス要素への変更:
[0274]セマンティクスに対する変更:
[0275]target_min_PQは、12ビットのPQ符号化におけるターゲットディスプレイの最小ルミナンス値を指定する。値は、両端値を含む0〜4095のレンジにあることとする。target_min_PQが存在しない場合、source_min_PQの値に等しくなることが推測されることとする。target_min_PQは、SMPTE ST2094−1の節10.4で定義されているようなTargetedSystemDisplayMinimumLuminanceのPQ符号化された値であるError! Reference source not found。10ビットのPQ符号化は最上位ビットを使用する。
[0276]display_primaries_x[c]およびdisplay_primaries_y[c]は、ISO11664−1(ISO11664−3およびCIE15もまた参照)で規定されているようなxおよびyのCIE1931定義にしたがって、0.00002のインクリメントにおけるマスタリングディスプレイの原色成分cの標準化されたxおよびyの色度座標それぞれを指定する。赤、緑、および青の原色を使用するマスタリングディスプレイを記述するために、0に等しいインデックス値cは、緑の原色に対応するはずであり、1に等しいcは、青の原色に対応するはずであり、2に等しいcは、赤の原色に対応するはずである(補遺(Annex)Eおよび表E.3もまた参照)ことが示唆される。display_primaries_x[c]およびdisplay_primaries_y[c]の値は、両端値を含む0〜50000のレンジにあることとする。
[0277]white_point_xおよびwhite_point_yは、ISO11664−1(ISO11664−3およびCIE15もまた参照)で規定されているようなxおよびyのCIE1931定義にしたがって、0.00002の標準化されたインクリメントにおけるマスタリングディスプレイの白色点の標準化されたxおよびyの色度座標それぞれを指定する。white_point_xおよびwhite_point_yの値は、0〜50000のレンジにあることとする。
第4の例
[0278]シンタックス要素およびセマンティクスに対する変更が以下に続く。行列についてのシンタックスはループ形態にされており(is put in)、なぜなら(as)それがよりコンパクトな表現であるからである。
[0279]target_min_PQは、12ビットのPQ符号化におけるターゲットディスプレイの最小ルミナンス値を指定する。値は、両端値を含む0〜4095のレンジにあることとする。target_min_PQが存在しない場合、source_min_PQの値に等しくなることが推測されることとする。target_min_PQは、SMPTE ST2094−1[24]の節10.4で定義されているようなTargetedSystemDisplayMinimumLuminanceのPQ符号化された値である。10ビットのPQ符号化は最上位ビットを使用する。
[0280]display_primaries_x[c]およびdisplay_primaries_y[c]は、ISO11664−1(ISO11664−3およびCIE15もまた参照)で規定されているようなxおよびyのCIE1931定義にしたがって、0.00002のインクリメントにおけるマスタリングディスプレイの原色成分cの標準化されたxおよびyの色度座標それぞれを指定する。赤、緑、および青の原色を使用するマスタリングディスプレイを記述するために、0に等しいインデックス値cは、緑の原色に対応するはずであり(should)、1に等しいcは、青の原色に対応するはずであり、2に等しいcは、赤の原色に対応するはずである(補遺Eおよび表E.3もまた参照)ことが示唆される。display_primaries_x[c]およびdisplay_primaries_y[c]の値は、両端値を含む0〜50000のレンジにあることとする。
[0281]white_point_xおよびwhite_point_yは、ISO11664−1(ISO11664−3およびCIE15もまた参照)で規定されているようなxおよびyのCIE1931定義にしたがって、0.00002の標準化されたインクリメントにおけるマスタリングディスプレイの白色点の標準化されたxおよびyの色度座標それぞれを指定する。white_point_xおよびwhite_point_yの値は、0〜50000のレンジにあることとする。
第5の例
[0282]シンタックス構造およびセマンティクスに対する変更:
[0283]ext_block_length[i]は、バイトでのi番目の拡張DMメタデータブロックペイロードのサイズを導くために使用される。ext_block_length[i]は、num_ext_blocksが0に等しい場合は存在しない。ext_block_lengthの値は、両端値を含む0〜255のレンジにあることとする。
[0284]1つの代替例では、シンタックス要素は、ext_block_length_minus1としてコーディングされ、セマンティクスは以下の通りに指定される:
[0285]ext_block_length_minus1[i]plus1は、バイトでのi番目の拡張DMメタデータブロックペイロードのサイズ[[を導くために使用される]]指定する。[[ext_block_length[i]は、num_ext_blocksが0に等しい場合は存在しない。]]ext_block_length_minus1の値は、両端値を含む0〜255のレンジにあることとする。
[0286]num_associationsは、SEIメッセージでext_dm_data_block_payloadについて指定されるアソシエーションの数を指定する。アソシエーションブロックは、色域マッピングパラメータに関連付けられたアクティブ領域と、色域マッピングパラメータと、ターゲットディスプレイ特性と、シーン情報との間のアソシエーションを指定する。
[0287]num_blocks_in_assoc[i]は、i番目のアソシエーションにおいて指定されるブロックの数を指定する。num_blocks_in_assoc[i]の値は、両端値を含む0〜255のレンジにあることとする。
[0288]blk_idx_in_assoc[i][j]は、i番目のアソシエーションにおけるj番目のブロックのインデックスを指定する。blk_idx_in_assoc[i][]]の値は、両端値を含む0〜num_ext_blocks−1のレンジにあることとする。
[0289]ext_block_level[k]が1、2、または5に等しい値を有するようなインデックスkをもつ各ブロックについて、blk_idx_in_assoc[i][j]がkに等しくなるように、6に等しいext_block_levelをもつext_dm_data_block_payload(i)シンタックス構造のようなiの1つの値が少なくとも存在することとすることは、ビットストリーム適合についての要件である。
[0290]6に等しいext_block_levelをもつSEIメッセージにおけるわずか(no more than)1つのext_dm_data_block_payloadシンタックス構造が存在することとすることがビットストリーム適合についての要件である。
[0291]ext_dm_data_bitは任意の値も有し得る。その存在および値は、この仕様のこのバージョンで規定されているプロファイルに対するデコーダ適合に影響を与えない。この仕様のこのバージョンに適合するデコーダは、ext_dm_data_bitシンタックス要素の全てを無視することとする。
[0292]1つの代替例では、バイトアライメント/将来的保証のあるシンタックスが以下の通りに指定される:
[0293]以下は、「ATSC Candidate Standard: A/341 Amendment: 2094-10」のテキストであり、これはATSC文書番号S34−262r3に対する改正を含む。この改正は、上で説明された方法のいくつかを含む。
[0294]1.概要
[0295]この文書は、HDRコンテンツのためのダイナミックメタデータの使用についての技術であるST2094−10「Dynamic Metadata for Color Volume Transform -Application #1」のATSC発(ATSC emitted)ビットストリーム要素における符号化およびトランスポートを説明している。ATSCによって承認される場合、A/341:2017,「Video-HEVC」(「A/341」)は、本明細書で説明されている編集版(edits)にしたがって改正されるだろう。
[0296]2.規定文献(REFERENCES)
[0297]以下の規定文献がA/341に追加されるだろう。
[0298]2.1引用規定(Normative References)
[0299][1]SMPTE:「Dynamic Metadata for Color Volume Transformation-Application #1」 Doc. ST2094-10 (2016),Society of Motion Picture and Television Engineer,White Plains,NY.
[0300]2.2参考文献(Informative References)
[0301][2]SMPTE:「Dynamic Metadata for Color Volume Transformation-Core Components」 Doc. ST2094-1 (2016),Society of Motion Picture and Television Engineers,White Plains,NY.
[0302]3.用語の定義
[0303]新たな頭字語、略語、または用語は、A/341に追加されないだろう。
[0304]4.A/341に対する変更
[0305]この文書のこのセクションでは、「[ref]」は、A/341に挙げられている引用文献との相互参照が挿入されるだろうことを(または、角括弧内で別の形で説明されるように)示す。この文書に挙げられる参照文献に対する実際の相互参照は、A/341に組み込まれるだろう新たに追加された参照文献の参照番号で更新されるだろう。
[0306]6.3.2.2に箇条書きを追加する。
[0307]6.3.2.2「PQ Transfer Characteristics」に見られる箇条書きリストに下記の箇条書き項目を追加する:
[0308]・ビットストリームが4に等しいpayloadType値をもつSEIメッセージを保有し得る。このことは、[下記で説明される新たなサブセクションに対するref]において説明されるST2094−10メタデータメッセージのオプションの送信を可能にする。
[0309]セクション6.3.2.2に従属する新たなサブセクションを追加する。
[0310]セクション6.3.2.2「PQ Transfer Characteristics」に従属する新たなサブセクションとして、A/341に下記のテキストを追加する。新たなサブセクションは、セクション6.3.2.2.x「Encoding and Transport of SMPTE ST2094-10 Metadata Message」と題される。(読みやすさのために、以下のテキストは、履歴付で示されない。)
[0311]セクション6.3.2.2.x「Encoding and Transport of SMPTE ST2094-10 Metadata Message」
[0312]HEVCビデオビットストリームは、HDRビデオ信号についてのダイナミック情報を提供するために2094−10メタデータメッセージを保有し得る。2094−10メタデータメッセージが存在するとき、この情報は、届けられたHDR画像(the delivered HDR imagery)をディスプレイデバイスの能力に適応させるようにディスプレイによって用いられ得る。さらに、このメタデータは、ATSC3.0受信機/コンバータのような受信デバイスによってSDR(ITU−R BT.709[ref])ピクチャを導出するために使用され得る。[下記で説明される新たな補遺へのref]で定義される2094−10メタデータメッセージで搬送される情報は、ST2094−1[2]およびST2094−10[1]で定義されるメタデータ要素についての搬送(carriage)を提供する。
[0313]2094−10メタデータは、存在するとき、ANSI/SCTE128−1[ref]の表14で定義されるATSC1_data()構造ごとに勧告ITU−T.35補足強化情報(SEI)メッセージによって登録されるユーザデータとして符号化およびトランスポートされることとし、user_data_type_codeについての割り当てられた値は[表x.xに対するref]において示される。
[0314]ペイロードST2094−10_data()についてのシンタックスおよびセマンティクスは、[下記で説明される新たな補遺へのref]節[下記で説明される新たな補遺、セクション1へのref]で指定されるようになることとする。対応するNALユニットタイプは、存在する場合(Where present)、PREFIX_SEI_NUTに等しく設定されることとする:
[0315]2094−10メタデータメッセージが存在する場合、以下の制限が適用されることとする。
[0316]・2094−10メタデータメッセージは、ビットストリームの全てのアクセスユニットに関連付けられることとする。このメッセージが存在する場合、アクセスユニットごとに一度だけそれが存在することとする。
[0317]・app_versionは、0に等しく設定されることとする。
[0318]・マスタリングディスプレイカラーボリュームSEIメッセージ(SMPTE ST2086[ref]静的メタデータ)はビットストリームに存在することとする。
[0319]・1に等しいext_block_levelをもつ拡張ブロックの数は、1に等しくなるように制限されることとする。
[0320]・2に等しいext_block_levelをもつ拡張ブロックの数は、16以下になるように制限されることとする。
[0321]・5に等しいext_block_levelをもつ拡張ブロックの数は、0または1に等しくなるように制限されることとする。
[0322]A/341に新たな補遺を追加する。
[0323]A/341に対する新たな補遺として下記のテキストを追加する。補遺は、「Metadata Based on SMPTE ST2094-10_Data」と題されている。(読みやすさのために、以下のテキストは、履歴付で示されていない。)
[0324]A.1 ST2094−10_DATAに基づくメタデータ(規定(NORMATIVE))
[0325]この節は、ST2094−10_data()のシンタックスおよびセマンティクスを指定する。
[0326]ST2094−10_data()についてのシンタックスは、表Y.Y、表Z.Z、および表M.Mで示されている。
[0327]記述子f(n)、i(n)、ue(v)、およびu(n)による各シンタックス要素のパースプロセスが、HEVC[ref]で説明されている。
[0328]注:メタデータ要素は、SMPTE規格ST2086[ref]、ST2094−1[2]、またはST2094−10[1]にしたがって定義されている。ルミナンス値と12ビットPQ値との間の転換は、ST2084補遺Aに見られ得る。
[0329]この節は、ST2094−10_data()についてのセマンティクスを定義している。
[0330]本節のために、以下の数学関数が適用される:
[0331]Floor(x)はx以下の最大整数である。
[0332]/=演算結果(result)のゼロ方向への切り捨てを用いる整数除算。たとえば、7/4および-7/-4は、1および-7/4に切り捨てられ、7/-4は、-1に切り捨てられる。
[0333]このSEIメッセージにおいて搬送される情報の精度は、SMPTE ST2094−10[1]の使用に対応する目的で十分になるように意図されている。
[0334]app_identifierはアプリケーションを特定し、ST2094−10[1]のセクション5の制限にしたがって、1に等しく設定される。
[0335]app_versionは、アプリケーションにおけるアプリケーションバージョンを指定し、0に等しく設定される。
[0336]metadata_refresh_flagは、1に等しく設定されるとき、出力順序で任意の前の拡張ディスプレイマッピングメタデータの継続(persistence)を取り消し、拡張ディスプレイマッピングメタデータが後に続くことを示す。拡張ディスプレイマッピングメタデータは、出力順序で、ST2094−10_data()を保有する(containing)SEIメッセージが関連付けられるコーディングされたピクチャ(これを含む(inclusive))から、ST2094−10_data()を保有し、1に等しく設定されたmetadata_refresh_flagをもつコーディングされたピクチャ(これは含まない(exclusive))まで、または(そうでなければ(otherwise))CVSにおける最後のピクチャ(これを含む)まで継続する。0に等しく設定されるとき、このフラグは、拡張ディスプレイマッピングメタデータが後に続かないことを示す。
[0337]num_ext_blocksは、拡張ディスプレイマッピングメタデータブロックの数を指定する。値は、両端値を含む1〜254のレンジにあることとする。
[0338]dm_alignment_zero_bitは、0に等しく設定されることとする。
[0339]ext_block_length[i]は、バイトでのi番目の拡張ディスプレイマッピングメタデータブロックペイロードのサイズを導くために使用される。値は、両端値を含む0〜1023のレンジにあることとする。
[0340]ext_block_level[i]は、i番目の拡張ディスプレイマッピングメタデータブロックに保有されるペイロードのレベルを指定する。値は、両端値を含む0〜255のレンジにあることとする。対応する拡張ディスプレイマッピングメタデータブロックタイプは、表E1.4で定義される。ATSCリザーブされる(that are ATSC reserved)ext_block_level[i]の値(Values)は、ATSC仕様のこのバージョンに適合するビットストリームに存在しないこととする。ATSCリザーブ値を使用するブロックは無視されることとする。
[0341]ext_block_level[i]の値が1に等しく設定されるとき、ext_block_length[i]の値は、5に等しく設定されることとする。
[0342]ext_block_level[i]の値が2に等しく設定されるとき、ext_block_length[i]の値は、11に等しく設定されることとする。
[0343]ext_block_level[i]の値が5に等しく設定されるとき、ext_block_length[i]の値は、7に等しく設定されることとする。
[0344]5に等しいext_block_levelをもつ拡張ディスプレイマッピングメタデータブロックが存在するとき、以下の制限が適用されることとする:
[0345]・5に等しいext_block_levelをもつ拡張ディスプレイマッピングメタデータブロックは、1または2に等しいext_block_levelをもつ少なくとも1つの拡張ディスプレイマッピングメタデータブロックによって先行されることとする。
[0346]・5に等しいext_block_levelをもつ任意の2つの拡張ディスプレイマッピングメタデータブロック間に、1または2に等しいext_block_levelをもつ少なくとも1つの拡張ディスプレイマッピングメタデータブロックが存在することとする。
[0347]・1または2に等しいext_block_levelをもつ拡張ディスプレイマッピングメタデータブロックが、5に等しいext_block_levelをもつ最後の(last)拡張ディスプレイマッピングメタデータブロックの後には存在しないこととする。
[0348]・1または2に等しいext_block_levelをもつ拡張ディスプレイマッピングメタデータブロックのメタデータは、このブロックに続く5に等しいext_block_levelをもつ第1の拡張ディスプレイマッピングメタデータブロックによって指定されるアクティブエリアに適用されることとする。
[0349]・5に等しいext_block_levelをもつ現在の拡張ディスプレイマッピングメタデータブロックによって定義されるアクティブエリアが、5に等しいext_block_levelをもつ先行する拡張ディスプレイマッピングメタデータブロックによって定義されるアクティブエリアと重なっているとき、5に等しいext_block_levelをもつ現在の拡張ディスプレイマッピングメタデータブロックに関連付けられた、1または2に等しいext_block_levelをもつ拡張ディスプレイマッピングメタデータブロックのすべてのメタデータが重なっているエリアのピクセル値に適用されることとする。
[0350]min_PQは、12ビットのPQ符号化における現在のピクチャの最小ルミナンス値を指定する。値は、両端値を含む0〜4095のレンジにあることとする。12ビットのmin_PQ値は、以下の通りに計算されることに留意されたい:
min_PQ=Clip3(0,4095,Round(Min*4095))
[0351]ここで、Minは、SMPTE ST2094−10[1]の節6.1.3において定義されているようなMinimumPqencodedMaxrgbである。
[0352]max_PQは、12ビットのPQ符号化における現在のピクチャの最大ルミナンス値を指定する。値は、両端値を含む0〜4095のレンジにあることとする。12ビットのmax_PQ値は、以下の通りに計算されることに留意されたい:
max_PQ=Clip3(0,4095,Round(Max*4095))
[0353]ここで、Maxは、SMPTE ST2094−10[1]の節6.1.5において定義されているようなMaximumPqencodedMaxrgbである。
[0354]avg_PQは、12ビットのPQ符号化におけるピクチャのルミナンスについての平均PQ符号値を指定する。値は、両端値を含む0〜4095のレンジにあることとする。12ビットのavg_PQ値は、以下の通りに計算されることに留意されたい:
avg_PQ=Clip3(0,4095,Round(Avg*4095))
[0355]ここで、Avgは、SMPTE ST2094−10[1]のセクション6.1.4において定義されているようなAveragePqencodedMaxrgbである。
[0356]target_max_PQは、12ビットのPQ符号化におけるターゲットディスプレイの最大ルミナンス値を指定する。値は、両端値を含む0〜4095のレンジにあることとする。target_max_PQは、SMPTE ST2094−1[2]の節10.4で定義されているようなTargetedSystemDisplayMaximumLuminanceのPQ符号化された値である。
[0357]注:このSEIメッセージは、ST2094−10[1]において必須と規定されているTargetedSystemDisplayPrimaries、TargetedSystemDisplayWhitePointChromaticity、およびTargetedSystemDisplayMinimumLuminanceのシグナリングをサポートしない。
[0358]2に等しいext_block_levelをもつ1つよりも多い拡張ディスプレイマッピングメタデータブロックが存在する場合、それらのブロックは、複製された(duplicated)target_max_PQを有さないこととする。
[0359]trim_slopeは、傾きメタデータを指定する。値は、両端値を含む0〜4095のレンジにあることとする。trim_slopeが存在しない場合、2048になるように推測されることとする。12ビットの傾き値は、以下の通りに計算されることに留意されたい:
trim_slope=Clip3(0,4095,Round((SS-0.5)*4096))
[0360]ここで、Sは、SMPTE ST2094−10[1]の節6.2.3において定義されているようなToneMappingGainである。
[0361]trim_offsetは、オフセットメタデータを指定する。値は、両端値を含む0〜4095のレンジにあることとする。trim_offsetが存在しない場合、2048になるように推測されることとする。12ビットのオフセット値は、以下の通りに計算されることに留意されたい:
trim_offset=Clip3(0,4095,Round((OO+0.5)*4096))
[0362]ここで、Oは、SMPTE ST2094−10 1の節6.2.2において定義されているようなToneMappingOffsetである。
[0363]trim_powerは、電力メタデータを指定する。値は、両端値を含む0〜4095のレンジにあることとする。trim_powerが存在しない場合、2048になるように推測されることとする。12ビットの電力値は、以下の通りに計算されることに留意されたい:
trim_power=Clip3(0,4095,Round((PP-0.5)*4096))
[0364]ここで、Pは、SMPTE ST2094−10[1]の節6.2.4において定義されているようなToneMappingGammaである。
[0365]trim_chroma_weightは、クロマ重みメタデータを指定する。値は、両端値を含む0〜4095のレンジにあることとする。trim_chroma_weightが存在しない場合、2048になるように推測されることとする。12ビットのクロマ重み値は、以下の通りに計算されることに留意されたい:
trim_chroma_weight=Clip3(0,4095,Round((CCCC+0.5)*4096))
[0366]ここで、CWは、SMPTE ST2094−10[1]の節6.3.1において定義されているようなChromaCompensationWeightである。
[0367]trim_saturation_gainは、彩度利得メタデータを指定する。値は、両端値を含む0〜4095のレンジにあることとする。trim_saturation_gainが存在しない場合、2048になるように推測されることとする。12ビットの彩度利得値は、以下の通りに計算されることに留意されたい:
trim_saturation_gain=Clip3(0,4095,Round((SSSS+0.5)*4096))
[0368]ここで、SGは、SMPTE ST2094−10[1]の節6.3.2において定義されているようなSaturationGainである。
[0369]ms_weight、このフィールドは、将来的な仕様のためにリザーブされる。この13ビットの符号付整数は、0x1fff(−1)であることとする。
[0370]active_area_left_offset、active_area_right_offset、active_area_top_offset、active_area_bottom_offsetは、アクティブエリアについてピクチャ座標で指定されている矩形領域の観点から、現在のピクチャの選択されたピクセルを指定する。値は、両端値を含む0〜8191のレンジにあることとする。ST2094−10[1]のProcessingWindowもまた参照。
[0371]active_area_left_offset、active_area_right_offset、active_area_top_offset、active_area_bottom_offsetは、以下の通り、ST2094−10[1]の節7.1において制限されているUpperLeftCornerおよびLowerRightCornerの座標を示す:
UpperLeftCorner=(active_area_left_offset,active_area_top_offset)
LowerRightCorner=(XSize-1-active_area_right_offset,YSize-1-active_area_bottom_offset)
[0372]ここで、Xsizeは現在のピクチャの水平解像度であり、Ysizeは現在のピクチャの垂直解像度である。
[0373]ext_dm_alignment_zero_bitは、0に等しいこととする。
[0374]図7は、ビデオデータを処理するためのプロセス700の例である。プロセス700は、ST2094−10を実装する、図1のビデオコーディングシステムのようなビデオコーディングシステムによって実行され得る。
[0375]ステップ702で、図7のプロセス700は、ビデオデータを受信することを含み、ここにおいて、該ビデオデータは、少なくとも2つのビデオ信号を含む。少なくとも2つのビデオ信号は、関連するか、または関連しないことがある、および/あるいは同じであるか、または異なることがある(can)。たとえば、各ビデオ信号は、異なるカメラによってキャプチャされてしまっていることがある(may have been captured)。
[0376]ステップ704で、プロセス700は、ビデオデータから1つまたは複数のセットのカラーボリューム変換パラメータを取得することを含む。上で論じられたように、カラーボリューム変換パラメータは、伝達関数、ならびに(as well as)伝達関数に関連する変数および定数を含み得る。様々な実装において、伝達関数、変数、および定数が、より小さいダイナミックレンジにカラーボリュームをコンパクト化するために使用され得る。
[0377]ステップ706で、プロセス700は、少なくとも2つのビデオ信号の各々のためのディスプレイ領域を決定することを含み、ここにおいて、ディスプレイ領域は、ビデオ信号がディスプレイされることになるビデオフレームの一部分を決定する。いくつかのケースでは、ディスプレイ領域は隣接し得る。いくつかのケースでは、ディスプレイ領域は重なり得る。ピクチャインピクチャを用いるようないくつかのケースでは、ディスプレイ領域は、別のディスプレイ領域との重なりを完成させ得る。
[0378]ステップ708で、プロセス700は、少なくとも2つのビデオ信号の各々について、少なくとも2つのビデオ信号のうちの1つのビデオ信号(a video signal)と、1つまたは複数のセットのカラーボリューム変換パラメータのうちの1つのセットのカラーボリューム変換パラメータとの間のそれぞれのアソシエーションを決定することを含み、ここにおいて、カラーボリューム変換パラメータのセットは、ビデオ信号のためのディスプレイ領域についての1つまたは複数のディスプレイパラメータを決定する。たとえば、1つのセットのカラーボリューム変換パラメータは、該1つのセットのカラーボリューム変換パラメータが関連付けられる特定のビデオ信号を訂正するために使用され得る。この例では、該1つのセットのカラーボリューム変換パラメータは、特定のディスプレイデバイスによってディスプレイ可能であるレンジに、ビデオ信号のダイナミックレンジをコンパクト化するために使用され得る。
[0379]ステップ710で、プロセス700は、1つまたは複数のセットのカラーボリューム変換パラメータのための1つまたは複数のメタデータブロックを生成することを含む。メタデータブロックは、たとえば1つまたは複数のSEI NALユニットにおいて符号化され得る。
[0380]ステップ712で、プロセス700は、ビデオデータについて符号化されたビットストリームを生成することを含み、ここにおいて、該符号化されたビットストリームは、1つまたは複数のメタデータブロックを含む。符号化されたビットストリームは、たとえば、AVCまたはHEVC規格、あるいは別のビデオコーディング規格を使用して生成され得る。
[0381]ステップ714で、プロセス700は、符号化されたビットストリームにおいて、少なくとも2つのビデオ信号と1つまたは複数のセットのカラーボリュームパラメータとの間の決定されたそれぞれのアソシエーションを符号化することを含む。いくつかの実装では、アソシエーションを符号化することは、ビデオフレーム内のディスプレイ領域の順序にしたがって、符号化されたビットストリームに1つまたは複数のメタデータブロックを配置することを含み得る。たとえば、(ラスタ順序で)第1のディスプレイ領域についての1つのセットのカラーボリューム変換パラメータを保有する1つまたは複数のメタデータブロックは、符号化されたビットストリームに配置され得、その後(then)、(ラスタ順序で)第2のディスプレイ領域についての1つのセットのカラーボリューム変換パラメータを保有するメタデータブロックは、次、およびその先の(next, and so on)符号化されたビットストリームに配置され得る。
[0382]いくつかの実装では、少なくとも2つのビデオ信号と1つまたは複数のセットのカラーボリュームパラメータとの間の決定されたアソシエーションを符号化することは、各々が決定されたアソシエーションを示す符号化されたビットストリーム中に1つまたは複数の値を挿入することを含み得る。たとえば、データ構造はビットストリーム中に符号化され得、ここで、該データ構造は、ディスプレイ領域とメタデータブロックの特定のセットにおいて1つのセットの符号化されたカラーボリュームパラメータとの間のアソシエーションを示す。
[0383]いくつかのケースでは、少なくとも2つのビデオ信号からの第1のビデオ信号についての第1のディスプレイ領域は、該少なくとも2つのビデオ信号からの第2のビデオ信号についての第2のディスプレイ領域と重なる。これらのケースでは、重なっている領域において使用する1つまたは複数のセットのカラーボリューム変換パラメータからの1つのセットのカラーボリューム変換パラメータは、第1のディスプレイ領域と第2のディスプレイ領域との間の優先度によって決定される。いくつかの例では、優先度は、第1のディスプレイ領域および第2のディスプレイ領域がビデオフレームにおいてディスプレイされる順序に基づく。いくつかの例では、優先度は、ビデオデータによって提供される値に基づく。たとえば、優先度値は、各ディスプレイ領域をもつ(with)ビットストリームに符号化され得る。
[0384]図8は、ビデオデータを処理するためのプロセス800の例である。プロセス800は、ST2094−10を実装するビデオコーディングシステムによって実装され得る。
[0385]ステップ802で、プロセス800は、符号化されたビットストリームを受信するための手段を含み、ここにおいて、該符号化されたビットストリームは、1つまたは複数のセットのカラーボリューム変換パラメータを含む1つまたは複数のメタデータブロックおよび少なくとも2つの符号化されたビデオ信号を含む。少なくとも2つのビデオ信号は、関連するか、または関連しないことがある、および/あるいは同じであるか、異なることがある。たとえば、各ビデオ信号は、異なるカメラによってキャプチャされてしまっていることがある。セットの(The sets of)カラーボリューム変換パラメータは、たとえば、伝達関数、ならびに伝達関数に関連する変数および/または定数を含み得る。1つまたは複数のメタデータブロックは、たとえば、符号化されたビットストリーム中の1つまたは複数のSEI NALユニットにおいて符号化され得る。
[0386]ステップ804で、プロセス800は、少なくとも符号化された2つのビデオ信号の各々のためのディスプレイ領域を決定することを含む。各ディスプレイ領域は、ディスプレイデバイスのスクリーン(たとえば、モニタ、スマートフォンスクリーン、タブレットスクリーン等)のエリアに対応し得る。各ビデオ信号は、個々の(または場合によっては複数の(multiple)個々の)ディスプレイ領域においてディスプレイされ得る。
[0387]ステップ806で、プロセス800は、少なくとも2つのビデオ信号の各々について、該少なくとも2つのビデオ信号のうちの1つのビデオ信号と、該セットのカラーボリューム変換パラメータのうちの1つのセットのカラーボリューム変換パラメータとの間のアソシエーションを決定することを含む。
[0388]ステップ808で、プロセス800は、それぞれの関連付けられたセットのカラーボリューム変換パラメータを使用して、少なくとも2つの符号化されたビデオ信号を復号することを含み、ここにおいて、該それぞれの関連付けられたセットのカラーボリューム変換パラメータは、対応するディスプレイ領域についての1つまたは複数のディスプレイパラメータを決定する。たとえば、1つのセットのカラーボリューム変換パラメータは、特定のディスプレイデバイスによってディスプレイされ得るレンジに、ビデオ信号のダイナミックレンジをコンパクト化するために使用され得る。
[0389]いくつかの実装では、少なくとも2つのビデオ信号と、1つまたは複数のセットのカラーボリューム変換パラメータとの間のアソシエーションは、ディスプレイ領域の順序に基づく。たとえば、符号化されたビットストリームにおいて最初に現れる(appears)1つのセットのカラーボリューム変換パラメータは、(ラスタ順序で)第1のディスプレイ領域に関連付けられ得る。
[0390]いくつかの実装では、少なくとも2つのビデオ信号と、1つまたは複数のセットのカラーボリューム変換パラメータとの間のアソシエーションは、符号化されたビットストリームに含まれる1つまたは複数の値に基づく。たとえば、データ構造はビットストリーム中に符号化され得(can)、ここで、該データ構造は、1つのセットのカラーボリューム変換パラメータを特定のディスプレイ領域に関連付ける値を含む。
[0391]いくつかのケースでは、少なくとも2つのビデオ信号からの第1のビデオ信号についての第1のディスプレイ領域は、該少なくとも2つのビデオ信号からの第2のビデオ信号についての第2のディスプレイ領域と重なる。これらのケースでは、重なっている領域において使用する1つまたは複数のセットのカラーボリューム変換パラメータからの1つのセットのカラーボリューム変換パラメータは、第1のディスプレイ領域と第2のディスプレイ領域との間の優先度によって決定される。たとえば、優先度は、第1のディスプレイ領域および第2のディスプレイ領域がビデオフレームにおいてディスプレイされる順序に基づき得る(can)。別の例として、優先度は、ビデオデータによって提供される値に基づき得る。
[0392]図9は、ビデオデータを処理するためのプロセス900の例である。プロセス900は、ST2094−10を含むビデオコーディングシステムによって実装され得る。
[0393]ステップ902で、プロセス900は、ビデオデータを受信することを含み、ここにおいて、該ビデオデータは、カラーボリュームに関連付けられる。上で論じられたように、カラーボリュームは、少なくとも、ビデオデータにおいてキャプチャされた色の深度およびレンジであるダイナミックレンジおよび色域を含み得る。
[0394]ステップ904で、プロセス900は、ビデオデータから1つのセットのカラーボリューム変換パラメータを取得することを含み、ここにおいて、該セットのカラーボリューム変換パラメータは、カラーボリュームを変換するために使用され得る。たとえば、1つのセットのカラーボリューム変換パラメータは、伝達関数、変数、および定数を含み得る。さらなる例として、カラーボリューム変換パラメータは、特定のディスプレイデバイスによってディスプレイされ得るレンジに、カラーボリュームのダイナミックレンジをコンパクト化するために使用され得る。
[0395]ステップ906で、プロセス900は、1つのセットのマスタリングディスプレイカラーボリュームパラメータを取得することを含み、ここにおいて、該セットのマスタリングディスプレイカラーボリュームパラメータは、ビデオデータのマスタコピーを生成するときに決定される値を含む。マスタリングディスプレイカラーボリュームパラメータは、たとえば、ビデオデータを作成した人が望んだ色の深度およびレンジを反映させ得る。いくつかの例では、ビデオデータの何れのコピーも、マスタリングディスプレイカラーボリュームパラメータによってキャプチャされる色の深度およびレンジを使用してできる限り似せて(as near as possible)ディスプレイされることが望ましい。
[0396]ステップ908で、プロセス900は、該セットのカラーボリューム変換パラメータのための1つまたは複数のメタデータブロックを生成することを含む。1つまたは複数のメタデータブロックは、たとえば1つまたは複数のSEI NALユニット中に符号化され得る。
[0397]ステップ910で、プロセス900は、該セットのマスタリングディスプレイカラーボリュームパラメータのための1つまたは複数のさらなるメタデータブロックを生成することを含む。様々な例において、マスタリングディスプレイカラーボリュームパラメータについてのメタデータブロックはまた、SEI NALユニットにおいて符号化され得る。
[0398]ステップ912で、プロセス900は、ビデオデータについて符号化されたビットストリームを生成することを含み、ここにおいて、該符号化されたビットストリームは、1つまたは複数のメタデータブロックおよび1つまたは複数のさらなるメタデータブロックを含み、該1つまたは複数のさらなるメタデータブロックを含むことは、該符号化されたビットストリームに該1つまたは複数のメタデータブロックが存在することによって必要とされる。
[0399]いくつかの例では、1つのセットのカラーボリューム変換パラメータは、伝達特性を含み、符号化されたビットストリームにおいて、1つまたは複数のメタデータブロックは、該伝達特性が特定の値に対応しないときに除外される。たとえば、伝達特性は、ST2084からの伝達関数が1つのセットのカラーボリューム変換パラメータに含まれるときは16の値を有し、HLGからの伝達関数が含まれるときには18の値を有する。これらの例では、1つまたは複数のメタデータブロックは、伝達関数が16または18の値のどちらも有さないときにはビットストリームに含まれない。
[0400]いくつかの例では、1つのセットのカラーボリューム変換パラメータおよび1つのセットのマスタリングディスプレイカラーボリュームパラメータが同じフィールドを含む。これらの例では、フィールドは、該フィールドがマスタリングディスプレイカラーボリュームパラメータのための1つまたは複数の追加のメタデータブロックに存在することに基づいて、1つのセットのカラーボリューム変換パラメータについての1つまたは複数のメタデータブロックから省かれる。
[0401]いくつかの例では、ビデオデータは、複数の処理ウィンドウを含む。いくつかの実装では、符号化されたビットストリームにおいて、該複数の処理ウィンドウの量が1〜16の間の値に制限される。この制限は、デコーダが符号化されたビットストリームにおいて16個以下の(no more than)処理ウィンドウを見込み(expect)得るように、デコーダについての見込みを設定する。同様に、いくつかの例では、ビデオデータは、複数のコンテンツ記述要素を含み、符号化されたビットストリームにおいて、該複数のコンテンツ記述要素の量が1に制限される。いくつかの例では、ビデオデータは、複数のターゲットディスプレイ要素を含み、符号化されたビットストリームにおいて、該複数のターゲットディスプレイ要素の量が1〜16の間の値に制限される。これらの制限は、デコーダが扱う(handle)ことができると見込まれるオプションのレンジを限定し得る。
[0402]いくつかの例では、符号化されたビットストリームは、該符号化されたビットストリームに各アクセスユニットのための少なくとも1つのメタデータブロックを含み、該メタデータブロックは、カラーボリューム変換パラメータを含み得る。即ち、各アクセスユニットについて、符号化されたビットストリームは、カラーボリューム変換パラメータを含む少なくとも1つのメタデータブロックを含むことになる。
[0403]いくつかの例では、リザーブと(as reserved)定義された値は、符号化されたビットストリームから除外される。たとえばメタデータブロックのext_block_levelフィールドについてのリザーブ値(ここで、メタデータブロックは、カラーボリューム変換パラメータを含む)は、符号化されたビットストリームから除外され得る。
[0404]いくつかの実装では、カラーボリューム変換パラメータについての1つまたは複数のメタデータブロックは各々、長さ値を含む。いくつかの例では、符号化されたビットストリームにおいて、長さ値が8の倍数に制限される。いくつかの例では、長さ値は、0〜255の間の値に制限される。
[0405]図10は、ビデオデータを処理するためのプロセス1000の例である。プロセス1000は、ST2094−10を実装するビデオコーディングシステムによって実装され得る。
[0406]ステップ1002で、プロセス1000は、符号化されたビットストリームを受信することを含み、ここにおいて、該符号化されたビットストリームは、1つのセットの符号化されたカラーボリューム変換パラメータを含む1つまたは複数のメタデータブロックを含む。カラーボリュームパラメータは、ビデオデータが特定のディスプレイデバイスによってディスプレイされ得るように、符号化されたビットストリームに含まれるビデオデータのダイナミックレンジを低減するために使用され得る。いくつかの例では、メタデータブロックは、符号化されたビットストリーム中の1つまたは複数のSEI NALユニットにおいて符号化される。
[0407]ステップ1004で、プロセス1000は、符号化されたビットストリームに1つまたは複数のメタデータブロックが存在すること(a presence of)を決定することを含む。
[0408]ステップ1006で、プロセス1000は、符号化されたビットストリームに1つまたは複数のメタデータブロックが存在することの決定に基づいて、1つまたは複数のさらなるブロックが存在することが該符号化されたビットストリームにおいて必要とされることを決定することを含む。
[0409]ステップ1008で、プロセス1000は、符号化されたビットストリームが、符号化されたセットのマスタリングディスプレイカラーボリュームパラメータを含む1つまたは複数のさらなるメタデータブロックを含まないことを決定することを含む。いくつかの実装では、1つのセットの符号化されたカラーボリューム変換パラメータを含むメタデータブロックの符号化されたビットストリームにおける存在は、マスタリングディスプレイカラーボリュームパラメータを含むメタデータブロックもまた、符号化されたビットストリームに存在すべき(should)ことを意味する。追加のメタデータブロックは、そうでなければ、符号化されたビットストリーム中の1つまたは複数のSEI NALユニットにおいて符号化され得るだろう(could)。
[0410]ステップ1010で、プロセス1000は、符号化されたビットストリームが1つまたは複数のさらなるメタデータブロックを含まないことに基づいて、該符号化されたビットストリームが要件に適合しないことを決定することを含む。適合するビットストリームは、合意の規格(agreed-upon standards)に準拠するものである。適合性のないビットストリームは、規格に準拠するデコーダによって再生可能でないおよび/またはパース可能(parse-able)でないことがある。
[0411]ステップ1012で、プロセス100は、符号化されたビットストリームが要件に適合しないという決定に基づいて、該符号化されたビットストリームの少なくとも一部を処理しないことを含む。ビットストリームの一部を処理しないことは、たとえば、カラーボリューム変換パラメータを含むメタデータブロック(たとえば、パラメータを保有するSEI NALユニット)は、パース、復号、および/または違う形で(otherwise)使用されない。代わりとして、または加えて、ビットストリームの一部を処理しないことは、たとえば、カラーボリューム変換パラメータに関連付けられるビデオデータを処理(たとえば、復号および/またはディスプレイ)しないことを意味し得る。代わりとして、または加えて、ビットストリームの一部を処理しないことは、ビットストリーム全体を復号またはディスプレイしないことを意味し得る。
[0412]いくつかの実装では、符号化されたセットのカラーボリューム変換パラメータは、伝達特性を含む。これらの実装では、プロセス1000はさらに、伝達特性の値が、ST2084伝達関数がビットストリームに含まれることを示す値、またはHLG伝達関数がビットストリームに含まれることを示す値のような、特定の値であることを決定することを含む。これらの実装では、1つまたは複数のメタデータブロックが符号化されたビットストリームに含まれ、伝達特性の値が特定の値であるので、符号化されたビットストリームは適合していない(non-conforming)。
[0413]いくつかのケースでは、符号化されたセットのカラーボリューム変換パラメータおよび符号化されたセットのマスタリングディスプレイカラーボリュームパラメータが同じフィールドを含む。これらのケースでは、符号化されたビットストリームが適合していないことを決定することは、フィールドが1つまたは複数のメタデータブロックと1つまたは複数のさらなるメタデータブロックとの両方に存在することにさらに基づく。
[0414]いくつかのケースでは、符号化されたセットのカラーボリューム変換パラメータと符号化されたセットのマスタリングディスプレイカラーボリュームパラメータとは同じフィールドを含み、該フィールドは、1つまたは複数のメタデータブロックから省かれる。これらのケースでは、該セットのカラーボリュームパラメータを復号するとき、復号することは、符号化されたセットのマスタリングディスプレイカラーボリュームパラメータからフィールドについての(for)値を使用する。
[0415]いくつかのケースでは、ビデオデータが処理されることは、複数の処理ウィンドウを含む。これらのケースでは、符号化されたビットストリームが適合していないことを決定することはさらに、複数の処理ウィンドウの量が16よりも大きいことに基づく。
[0416]いくつかのケースでは、ビデオデータは、複数のコンテンツ記述要素を含む。これらのケースでは、符号化されたビットストリームが適合していないことを決定することはさらに、複数のコンテンツ記述要素の量が1よりも大きいことに基づく。
[0417]いくつかのケースでは、ビデオデータは、複数のターゲットディスプレイ要素を含む。これらのケースでは、符号化されたビットストリームが適合していないことを決定することはさらに、複数のターゲットディスプレイ要素の量が16よりも大きいことに基づく。
[0418]いくつかの例では、プロセス1000はさらに、符号化されたビットストリームに、特定のアクセスユニットのためのメタデータブロックを含まないことを決定することを含み得る。これらの実装では、符号化されたビットストリームが適合していないことを決定することはさらに、符号化されたビットストリームが特定のアクセスユニットのためのメタデータブロックを含まないことに基づき得る。
[0419]いくつかの実装では、プロセス1000はさらに、符号化されたビットストリームがリザーブ値を含むことを決定することを含み得る。これらの実装では、符号化されたビットストリームが適合していないことを決定することはさらに、符号化されたビットストリームがリザーブ値を含むことに基づき得る。
[0420]いくつかの実装では、1つまたは複数のメタデータブロックは各々、長さ値を含む。これらのケースでは、符号化されたビットストリームが適合していないことを決定することはさらに、長さ値が8の倍数でないことに基づき得る。いくつかのケースでは、符号化されたビットストリームが適合していないことを決定することはさらに、長さ値が255よりも大きいことに基づき得る。
[0421]本明細書で論じられている方法およびオペレーションは、圧縮されたビデオを使用して実装され得、例となるビデオ符号化および復号システム(たとえば、システム100)において実装され得る。いくつかの例では、システムは、宛先デバイスによって後の時間に復号される符号化されたビデオデータを提供するソースデバイスを含む。特に、ソースデバイスは、コンピュータ可読媒体を介して宛先デバイスにビデオデータを提供する。ソースデバイスおよび宛先デバイスは、デスクトップコンピュータ、ノートブック(即ち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンのような電話ハンドセット、いわゆる「スマート」パッド、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレイヤ、ビデオゲーム機、ビデオストリーミングデバイス、または同様のものを含む、幅広いデバイスの何れも備え得る。いくつかのケースでは、ソースデバイスおよび宛先デバイスは、ワイヤレス通信のために装備され得る。
[0422]宛先デバイスは、コンピュータ可読媒体を介して復号される符号化されたビデオデータを受信し得る。コンピュータ可読媒体は、ソースデバイスから宛先デバイスに符号化されたビデオデータを移動させることが可能な何れのタイプの媒体またはデバイスも備え得る。一例では、コンピュータ可読媒体は、ソースデバイスがリアルタイムに符号化されたビデオデータを直接宛先デバイスに送信することを可能にする通信媒体を備え得る。符号化されたビデオデータは、ワイヤレス通信プロトコルのような通信規格にしたがって変調され、宛先デバイスに送信され得る。通信媒体は、無線周波数(RF)スペクトルまたは1つまたは複数の物理的な伝送線といった何れのワイヤレスまたは有線通信媒体も備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットのようなグローバルネットワークといったパケットベースのネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイスから宛先デバイスへの通信を容易にするのに役立ち得る何れの他の機器も含み得る。
[0033]いくつかの例では、符号化されたデータは、出力インターフェースから記憶デバイスに出力され得る。同様に、符号化されたデータは、記憶デバイスから入力インターフェースによってアクセスされ得る。記憶デバイスは、ハードドライブ、ブルーレイディスク、DVD、CD−ROM、フラッシュメモリ、揮発性または非揮発性メモリ、あるいは符号化されたビデオデータを記憶するためのあらゆる他の適したデジタル記憶媒体といった様々な分散型または局所的にアクセスされるデータ記憶媒体の何れも含み得る。さらなる例では、記憶デバイスは、ファイルサーバ、またはソースデバイスによって生成された符号化されたビデオを記憶し得る別の中間記憶デバイスに対応し得る。宛先デバイスは、ストリーミングまたはダウンロードを介して、記憶デバイスから、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶すること、およびその符号化されたビデオデータを宛先デバイスに送信することが可能な何れのタイプのサーバでもあり得る。例となるファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続記憶(NAS:network attached storage)デバイス、またはローカルディスクドライブを含む。宛先デバイスは、インターネット接続を含むあらゆる規格データ接続を通じて、符号化されたビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに適している、ワイヤレスチャネル(たとえば、Wi−Fi接続)、有線接続(たとえば、DSL、ケーブルモデム等)、またはその両方の組合せを含み得る。記憶デバイスからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
[0424]本開示の技法は、ワイヤレスアプリケーションまたは設定に必ずしも限定されるわけではない。本技法は、無線テレビブロードキャスト、ケーブルテレビ送信、衛星テレビ送信、HTTPを介した動的適応型ストリーミング(DASH:dynamic adaptive streaming over HTTP)のようなインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されるデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、または他のアプリケーションといった様々なマルチメディアアプリケーションのどれでもサポートするビデオコーディングに適用され得る。いくつかの例では、システムは、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、および/またはビデオ電話のようなアプリケーションをサポートするために、一方向または二方向ビデオ送信をサポートするように構成され得る。
[0425]一例では、ソースデバイスは、ビデオソース、ビデオエンコーダ、および出力インターフェースを含む。宛先デバイスは、入力インターフェース、ビデオデコーダ、およびディスプレイデバイスを含み得る。ソースデバイスのビデオエンコーダは、本明細書に開示されている技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは、他のコンポーネントまたは配列を含み得る。たとえば、ソースデバイスは、外部のカメラのような外部のビデオソースからビデオデータを受信し得る。同様に、宛先デバイスは、統合されたディスプレイデバイスを含むよりむしろ、外部のディスプレイデバイスとインターフェース接続し得る。
[0426]上記の例となるシステムは単に一例に過ぎない。並行してビデオデータを処理するための技法は、何れのデジタルビデオ符号化および/または復号デバイスによっても実行され得る。一般に、本開示の技法は、ビデオ符号化デバイスによって実行されるけれども、本技法はまた、通常「CODEC」と称されるビデオエンコーダ/デコーダによっても実行され得る。さらに本開示の技法はまた、ビデオプレプロセッサによっても実行され得る。ソースデバイスおよび宛先デバイスは単に、ソースデバイスが宛先デバイスへの送信のためのコーディングされたビデオデータを生成するようなコーディングデバイスの例に過ぎない。いくつかの例では、ソースおよび宛先デバイスは、デバイスの各々がビデオ符号化および復号コンポーネントを含むような実質的に対称的な形でオペレートし得る。したがって例となるシステムは、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオ電話のために、ビデオデバイス同士の間の一方向または二方向ビデオ送信をサポートし得る。
[0427]ビデオソースは、ビデオカメラのようなキャプチャデバイス、前にキャプチャされたビデオを保有するビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソースは、ソースビデオとしてのコンピュータグラフィックベースのデータ、またはライブビデオ、アーカイブされたビデオ、およびコンピュータ処理されたビデオの組合せを生成し得る。いくつかのケースでは、ビデオソースがビデオカメラである場合、ソースデバイスおよび宛先デバイスは、いわゆるカメラ電話またはビデオ電話を形成し得る。しかしながら上で言及されたように、本開示で説明されている技法は、ビデオコーディングに一般に適用可能であり得、ワイヤレスおよび/または有線アプリケーションに適用され得る。各ケースでは、キャプチャされた、事前キャプチャされた、またはコンピュータ処理されたビデオは、ビデオエンコーダによって符号化され得る。符号化されたビデオ情報はその後、コンピュータ可読媒体上に出力インターフェースによって出力され得る。
[0428]着目されたように、コンピュータ可読媒体は、ワイヤレスブロードキャストまたは有線ネットワーク送信といった一時的な媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、または他のコンピュータ可読媒体といった記憶媒体(つまり、非一時的記憶媒体)を含み得る。いくつかの例では、ネットワークサーバ(図示せず)は、ソースデバイスから符号化されたビデオデータを受信し、たとえばネットワーク送信を介して、宛先デバイスに符号化されたビデオデータを提供し得る。同様に、ディスクスタンピング設備のような媒体製造設備(medium production facility)のコンピューティングデバイスは、ソースデバイスから符号化されたビデオデータを受信し、符号化されたビデオデータを収容するディスクを作り出し得る。したがって、コンピュータ可読媒体は、様々な例において、様々な形式の1つまたは複数のコンピュータ可読媒体を含むように理解され得る。
[0429]宛先デバイスの入力インターフェースは、コンピュータ可読媒体から情報を受信する。コンピュータ可読媒体の情報は、ブロックおよび他のコーディングされた単位、たとえばピクチャグループ(GOP:groups of pictures)の特性および/または処理を説明するシンタックス要素(syntax element)を含む、ビデオエンコーダによって定義されるシンタックス情報を含み得、これは、ビデオデコーダによっても使用される。ディスプレイデバイスは、ユーザに復号されたビデオデータをディスプレイし、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスといった様々なディスプレイデバイスの何れも備え得る。本発明の様々な実施形態が説明されてきた。
[0430]符号化デバイス104および復号デバイス112の具体的な詳細は、図11および図12でそれぞれ示されている。図11は、本開示で説明される技法の1つまたは複数を実装し得る例となる符号化デバイス104を例示するブロック図である。符号化デバイス104は、たとえば、ここで説明されているシンタックス構造(たとえば、VPS、SPS、PPS、または他のシンタックス要素のシンタックス構造)を生成し得る。符号化デバイス104は、ビデオスライス内のビデオブロックのイントラ予測およびインター予測コーディングを実行し得る。これより前に説明された通り、イントラコーディング(Intra-coding)は、所与のビデオフレームまたはピクチャ内の空間的冗長性を低減または取り除くために空間予測に、少なくとも部分的に依存する。インターコーディング(Inter-coding)は、ビデオシーケンスの隣接または周りのフレーム内の時間的冗長性を低減または取り除くために時間予測に、少なくとも部分的に依存する。イントラモード(Iモード)は、幾つかの空間ベースの圧縮モードの何れも指し得る。単一方向予測(Pモード)または双予測(Bモード)のようなインターモードは、いくつかの時間ベースの圧縮モードの何れも指し得る。
[0431]符号化デバイス104は、分割ユニット35、予測処理ユニット41、フィルタユニット63、ピクチャメモリ64、加算器50、変換処理ユニット52、量子化ユニット54、およびエントロピー符号化ユニット56を含む。予測処理ユニット41は、動き推定ユニット42、動き補償ユニット44、およびイントラ予測処理ユニット46を含む。ビデオブロック再構築では、ビデオエンコーダ104はまた、逆量子化ユニット58、逆変換処理ユニット60、および加算器62を含む。フィルタユニット63は、デブロッキングフィルタ、適応ループフィルタ(ALF)、およびサンプル適応オフセット(SAO)フィルタのような1つまたは複数のループフィルタを表すように意図されている。フィルタユニット63は、ループフィルタであるとして図11に示されているけれども、他の構成では、フィルタユニット63は、ポストループフィルタとして実装され得る。後処理デバイス(A post processing device)57は、符号化デバイス104によって生成される符号化されたビデオデータに対して追加の処理を実行し得る。本開示の技法は、いくつかの事例では、符号化デバイス104によって実装され得る。しかしながら、他の事例では、本開示の技法のうちの1つまたは複数が、後処理デバイス57によって実装され得る。
[0432]図11に示されるように、符号化デバイス104は、ビデオデータを受信し、分割ユニット35は、データを複数のビデオブロックに分割する。その分割はまた、スライス、スライスセグメント、タイル、または他のより大きなユニットへの分割、ならびに、たとえばLCUおよびCUの四分木構造にしたがったビデオブロック分割を含み得る。ンコーディングデバイス104は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化するコンポーネントを例示する。スライスは、複数のビデオブロック(および場合により、タイルと称されるビデオブロックのセット)に分割され得る。予測処理ユニット41は、エラー結果(たとえば、コーディングレートおよび歪みのレベル)に基づいて現在のビデオブロックのために、複数のイントラコーディングモードのうちの1つ、または複数のインターコーディングモードのうちの1つ、のような複数の可能なコーディングモードのうちの1つを選択し得る。予測処理ユニット41は、残差ブロックデータを生成する加算器50に、および参照ピクチャとして使用される符号化されたブロックを再構成する加算器62に、結果として生じるイントラまたはインターコーディングされたブロックを提供し得る。
[0433]予測処理ユニット41内のイントラ予測処理ユニット46は、空間的圧縮を提供するためにコーディングされる現在ブロックと同じフレームまたはスライスにおける1つまたは複数の近隣ブロックに関連して現在のビデオブロックのイントラ予測コーディングを実行し得る。予測処理ユニット41内の動き推定ユニット42および動き補償ユニット44は、時間的圧縮を提供するために、1つまたは複数の参照ピクチャにおける1つまたは複数の予測ブロックに関連して現在のビデオブロックのインター予測コーディングを実行する。
[0434]動き推定ユニット42は、ビデオシーケンスについての所定のパターンにしたがって、ビデオスライスに対するインター予測モードを決定するように構成され得る。所定のパターンは、Pスライス、Bスライス、またはGPBスライスとしてシーケンスにおけるビデオスライスを指定し得る。動き推定ユニット42および動き補償ユニット44は、高度に統合され得るが、概念上の目的で別個に例示されている。動き推定ユニット42によって実行される動き推定は、ビデオブロックに関する動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに関連して、現在のビデオフレームまたはピクチャ内のビデオブロックの予測ユニット(PU)の変位を示し得る。
[0435]予測ブロックは、ピクセル差の観点から、コーディングされることとなるビデオブロックのPUに厳密に一致すると認められるブロックであり、これは、差分絶対値和(SAD)、差分二乗和(SSD)、または他の差分メトリックによって決定され得る。いくつかの例では、ビデオエンコーダ104は、参照ピクチャメモリ64に記憶された参照ピクチャのサブ整数ピクセル位置に関する値を計算し得る。たとえば、符号化デバイス104は、参照ピクチャの4分の1ピクセル位置、8分の1ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット42は、フルピクセル位置および分数のピクセル位置に関連する動き探索を実行し、分数ピクセル精細度を有する動きベクトルを出力し得る。
[0436]動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコーディングされたスライスにおけるビデオブロックのPUに関する動きベクトルを計算する。参照ピクチャは、各々がピクチャメモリ64に記憶された1つまたは複数の参照ピクチャを特定する第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択され得る。動き推定ユニット42は、エントロピー符号化ユニット56および動き補償ユニット44に算出された動きベクトルを送る。
[0437]動き補償ユニット44によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて、予測ブロックをフェッチすることまたは生成することを伴い得、場合によっては、サブ画素精度への補間を実行する。現在ビデオブロックのPUについての動きベクトルを受信すると、動き補償ユニット44は、参照ピクチャリストに、動きベクトルが指す予測ブロックを位置付け得る。ビデオエンコーダ104は、コーディングされている現在のビデオブロックの画素値から予測ブロックの画素値を減算することによって、画素差分値を形成して、残差ビデオブロックを形成する。ピクセル差分値は、ブロックに関する残差データを形成し、輝度および彩度差分のコンポーネントの両方を含むことができる。加算器50は、この減算演算を実行する1つまたは複数のコンポーネントを表す。動き補償ユニット44はまた、ビデオスライスのビデオブロックを復号する際に、ビデオデコーダ112によって使用されるビデオスライスおよびビデオブロックに関連付けられたシンタックス要素を生成し得る。
[0438]イントラ予測処理ユニット46は、上で説明されたように、動き推定ユニット42および動き補償ユニット44によって実行されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測処理ユニット46は、現在ブロックを符号化するために使用するイントラ予測モードを決定し得る。いくつかの例では、イントラ予測処理ユニット46は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測ユニット処理46は、テストされたモードから使用すべき適切なイントラ予測モードを選択し得る。たとえば、イントラ予測処理ユニット46は、様々なテストされたイントラ予測モードについてレート歪み分析(rate-distortion analysis)を使用してレート歪み値(rate-distortion value)を算出し、テストされたモードのうちで最良のレート歪み特性を有するイントラ予測モードを選択し得る。レート歪み分析は一般に、符号化されたブロックと符号化されたブロックを作り出すために符号化された元の非符号化ブロックとの間の歪み(または誤差)の量、ならびに符号化されたブロックを作り出すために使用されるビットレート(即ちビット数)を決定する。イントラ予測処理ユニット46は、ブロックについてどのイントラ予測モードが最良のレート歪み値を示すかを決定するために、様々な符号化されたブロックについての歪みおよびレートから比を算出し得る。
[0439]何れのケースでも、ブロックについてイントラ予測モードを選択した後に、イントラ予測処理ユニット46は、ブロックについて選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット56に提供し得る。エントロピー符号化ユニット56は、選択されたイントラ予測モードを示す情報を符号化し得る。符号化デバイス104は、様々なブロックのための符号化コンテキストの定義のみならず、最確イントラ予測モード(most probable intra-prediction mode)のインジケーション、イントラ予測モードインデックステーブル、およびコンテキストの各々に対して使用すべき修正されたイントラ予測モードインデックステーブルを、送信されたビットストリーム構成データ中に含み得る。ビットストリーム構成データは、複数のイントラ予測モードインデックステーブルと、複数の修正されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも称される)とを含み得る。
[0440]予測処理ユニット41がインター予測またはイントラ予測の何れかを介して現在のビデオブロックに関する予測ブロックを生成した後で、ビデオエンコーダ104は、現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロックにおける残差ビデオデータは、1つまたは複数のTUに含まれ、変換処理ユニット52に適用され得る。変換処理ユニット52は、離散コサイン変換(DCT)または概念上類似の変換のような変換を使用して残差ビデオデータを残差変換係数に変換する。変換処理ユニット52は、残差ビデオデータを画素ドメインから周波数ドメインのような変換ドメインに変換し得る。
[0441]変換処理ユニット52は、結果として生じた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数のいくつかまたは全てに関連付けられたビット深度を低減し得る。量子化の程度は量子化パラメータを調整することによって修正され得る。いくつかの例では、量子化ユニット54はその後、量子化された変換係数を含む行列の走査を実行し得る。代わりとして、エントロピー符号化ユニット56が該走査を実行し得る。
[0442]量子化に続いて、エントロピー符号化ユニット56は、量子化された変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースのコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔分割エントロピー(PIPE:probability interval partitioning entropy)コーディング、または別のエントロピーコーディング技法を実行し得る。エントロピー符号化ユニット56によるエントロピー符号化に続いて、符号化されたビットストリームは、復号デバイス112に送信され得るか、または復号デバイス112による後の送信または取り出しのためにアーカイブされ得る。エントロピー符号化ユニット56はまた、コーディングされている現在のビデオスライスのための他のシンタックス要素および動きベクトルをエントロピー符号化することもできる。
[0443]逆量子化ユニット58および逆変換処理ユニット60は、参照ピクチャの参照ブロックとしての後の使用のために、ピクセルドメイン内において残差ブロックを再構築するために、それぞれ逆量子化および逆変換を適用する。動き補償ユニット44は、参照ピクチャリスト内の参照ピクチャのうちの1つの予測ブロックに残差ブロックを加算することによって、参照ブロックを計算し得る。動き補償ユニット44はまた、動き推定において使用されるサブ整数ピクセル値を算出するために、再構築された残差ブロックに1つまたは複数の補間フィルタを適用もし得る。加算器62は、ピクチャメモリ64への記憶用に参照ブロックを作り出すために、動き補償ユニット44によって作り出された動き補償された予想ブロックに再構築された残差ブロックを追加する。参照ブロックは、後続のビデオフレームまたはピクチャにおいてブロックをインター予測するために、参照ブロックとして動き推定ユニット42および動き補償ユニット44によって使用され得る。
[0444]このように、図11の符号化デバイス104は、符号化されたビデオビットストリームについてのシンタックスを生成するように構成されたビデオエンコーダの例を表している。符号化デバイス104は、たとえば、上述されたように、VPS、SPS、およびPPSパラメータセットを生成し得る。符号化デバイス104は、図7および図8に関して上で説明されたプロセスを含む、本明細書で説明されている技法の何れも実行し得る。本開示の技法は概して、符号化デバイス104に関して説明されてきたが、上で言及されたように、本開示の技法のうちのいくつかはまた、後処理デバイス57によって実装され得る。
[0445]図12は、例となる復号デバイスを例示するブロック図である。復号デバイス112は、エントロピー復号ユニット80、予測処理ユニット81、逆量子化ユニット86、逆変換処理ユニット88、加算器90、フィルタユニット91、およびピクチャメモリ92を含む。予測処理ユニット81は、動き補償ユニット82、およびイントラ予測処理ユニット84を含む。復号デバイス112は、いくつかの例では、図16からの符号化デバイス104に関して説明された符号化パスに対して概して逆である復号パスを実行し得る。
[0446]復号プロセス中、復号デバイス112は、符号化デバイス104によって送られる符号化されたビデオスライスのビデオブロックおよび関連するシンタックス要素を表す符号化されたビデオビットストリームを受信する。いくつかの実施形態では、復号デバイス112は、符号化デバイス104から符号化されたビデオビットストリームを受信し得る。いくつかの実施形態では、復号デバイス112は、サーバ、媒体認識ネットワーク要素(MANE:a media-aware network element)、ビデオエディタ/スプライサ、または上で説明された技法のうちの1つまたは複数を実装するように構成された他のそのようなデバイスのようなネットワークエンティティ79から符号化されたビデオビットストリームを受信し得る。ネットワークエンティティ79は、符号化デバイス104を含むことも含まないこともある。本開示において説明されている技法のうちのいくつかは、ネットワークエンティティ79が復号デバイス112に符号化されたビデオビットストリームを送信するより前にネットワークエンティティ79によって実装され得る。いくつかのビデオ復号システムでは、ネットワークエンティティ79および復号デバイス112は、別個のデバイスの一部であり得るが、その一方で、他の事例では、ネットワークエンティティ79に関して説明されている機能は、復号デバイス112を備える同じデバイスによって実行され得る。
[0447]復号デバイス112のエントロピー復号ユニット80は、量子化された係数、動きベクトル、および他のシンタックス要素を生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット80は、動きベクトルおよび他のシンタックス要素を予測処理ユニット81に転送する。ビデオデコーダ112は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信し得る。エントロピー復号ユニット80は、VPS、SPS、およびPPSのような、または複数のパラメータセット中の固定長シンタックス要素と可変長シンタックス要素との両方を処理およびパースし得る。
[0448]ビデオスライスがイントラコーディング(I)スライスとしてコーディングされるとき、イントラ予測処理ユニット81のイントラ予測処理ユニット84は、現在のフレームまたはピクチャの前に復号されたブロックからのシグナリングされたイントラ予測モードおよびデータに基づいて、現在のビデオスライスのビデオブロックに関する予測データを生成し得る。ビデオフレームがインターコーディングされた(即ち、B、P、またはGPB)スライスとしてコーディングされるとき、動き補償ユニット81の動き補ユニット82は、エントロピー復号ユニット80から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックについての予測ブロックを作り出す。予測ブロックは、参照ピクチャリスト内の参照ピクチャのうちの1つから生成され得る。復号デバイス112は、ピクチャメモリ92に記憶された参照ピクチャに基づいてデフォルトの構築技法を使用して、参照フレームリスト、即ちリスト0およびリスト1を構築し得る。
[0449]動き補償ユニット82は、動きベクトルおよび他のシンタックス要素を解析することによって現在のビデオスライスのビデオブロックについての予測情報を決定し、復号されている現在ビデオブロックについての予測ブロックを作り出すために該予測情報を使用する。たとえば、動き補償ユニット82は、ビデオスライスのビデオブロックをコーディングするために使用された予測モード(たとえば、イントラまたはインター予測)、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)、スライスのための1つまたは複数の参照ピクチャリストについての構築情報、スライスの各インター符号化されたビデオブロックについての動きベクトル、スライスの各インターコーディングされたビデオブロックについてのインター予測ステータス、および現在のビデオスライス中のビデオブロックを復号するための他の情報を決定するために、パラメータセット中の1つまたは複数のシンタックス要素を使用する。
[0450]動き補償ユニット82はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット82は、参照ブロックのサブ整数ピクセルについて補間される値を算出するために、ビデオブロックの符号化中に符号化デバイス104によって使用されたような補間フィルタを使用し得る。このケースでは、動き補償ユニット82は、受信されたシンタックス要素から符号化デバイス104によって使用される補間フィルタを決定し、予測ブロックを作り出すために補間フィルタを使用し得る。
[0451]逆量子化ユニット86は、ビットストリームにおいて提供され、かつエントロピー復号ユニット80によって復号された量子化された変換係数を、逆の量子化(inverse quantizes)をする、または逆量子化(dequantize)する。逆量子化プロセスは、量子化の程度と、また同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライスにおける各ビデオブロックについて符号化デバイス104によって算出される量子化パラメータの使用を含み得る。逆変換処理ユニット88は、ピクセルドメインにおいて残差ブロックを作り出すために、変換係数に逆変換(たとえば、逆DCTまたは他の適した逆変換)、逆整数変換、または概念上同様の逆変換プロセスを適用する。
[0139]動き補償ユニット82が動きベクトルおよび他のシンタックス要素に基づいて現在ビデオブロックについての予測ブロックを生成した後に、復号デバイス112は、動き補償ユニット82によって生成された対応する予測ブロックで逆変換処理ユニット88から残差ブロックを加算することによって復号されたビデオブロックを形成する。加算器90は、この加算演算を実行する1つまたは複数のコンポーネントを表す。望まれた場合、(コーディングループ内またはコーディングループ後のどちらかの)ループフィルタもまた、ピクセル遷移を円滑にするために使用され得るか、または別の形でビデオ品質を改善し得る。フィルタユニット91は、デブロッキングフィルタ、適応ループフィルタ(ALF)、およびサンプル適応オフセット(SAO)フィルタのような1つまたは複数のループフィルタを表すように意図されている。フィルタユニット91は、ループフィルタであるとして図12に示されているけれども、他の構成では、フィルタユニット91は、ポストループフィルタとして実装され得る。所与のフレームまたはピクチャ中の復号されたビデオブロックはその後、後続の動き補償に使用されるピクチャを記憶する参照ピクチャメモリ92に記憶される。ピクチャメモリ92はまた、図1に示されたビデオ宛先ディスプレイデバイス122のようなディスプレイデバイス上での後のディスプレイのために、復号されたビデオを記憶する。
[0453]前述の説明では、本願の態様は、その特定の実施形態に関して説明されているが、当業者は、本発明はそれに限定されないと認識するだろう。したがって、本願の例示的な実施形態が本明細書で詳細に説明されてきたが、発明の概念は、他の方法で様々に具現化および用いられ得、および添付された特許請求の範囲は、先行技術によって限定される場合を除いて、そのような様々な変形を含むように解釈されることを意図されていることが理解されることになる。上で説明された本発明の様々な特徴および態様は、個々にまたは合わせて使用され得る。さらに、実施形態は、本明細書のより趣旨および範囲から逸脱することなく、本明細書説明されたものを超えたあらゆる数の環境および適用において利用され得る。したがって、本明細書および図面は、限定するのではなく例示的であると見なされることになる。例示を目的として、方法は、特定の順序で説明された。代替の実施形態では、方法が説明されたものとは異なる順序で実行され得ることは認識されるべきである。
[0454]コンポーネントが、ある特定のオペレーションを実行する「ように構成される」ものとして説明されている場合、このような構成は、たとえば、オペレーションを実行するように電子回路または他のハードウェアを設計することによって、オペレーションを実行するようにプログラム可能な電子回路(たとえば、マイクロプロセッサ、または他の好適な電子回路)をプログラミングすることによって、またはそれらの任意の組合せで、達成され得る。
[0455]本明細書で開示されている実施形態に関連して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、ファームウェア、またはそれらの組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に例示するために、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップが、概してそれらの機能の観点から上で説明されてきた。このような機能性が、ハードウェアとして実装されるか、またはソフトウェアとして実装されるかは、特定のアプリケーションおよびシステム全体に課せられる設計制約に依存する。当業者は、各特定のアプリケーションのための様々な方法で説明された機能を実装し得るけれども、そのような実装決定は、本願発明の範囲からの逸脱を引き起こすとして解釈されるべきではない。
[0456]本明細書説明されている技法はまた、電子ハードウェア、コンピュータソフトウェア、ファームウェア、またはそれらの任意の組合せにおいて実装され得る。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、またはワイヤレス通信デバイスハンドセットおよび他のデバイスにおける適用を含む複数の用途を有する集積回路デバイスのような複数のデバイスのうちの何れにおいても実装され得る。デバイスまたは構成要素として記述された任意の特徴は、集積論理デバイスでまとめて、または、ディスクリートではあるが相互動作可能な論理デバイスとして別個に実装され得る。ソフトウェアで実装された場合、本技法は、実行されたとき、上で説明された方法のうちの1つまたは複数を実行する命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって、少なくとも部分的に実現され得る。コンピュータ読取可能なデータ記憶媒体は、パッケージングマテリアルを含み得るコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、同期動的ランダムアクセスメモリ(SDRAM)のようなランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、不揮発ランダムアクセスメモリ(NVRAM)、電気的消去可能なプログラマブル読取専用メモリ(EEPROM(登録商標))、FLASHメモリ、磁気または光学データ記憶媒体、等のメモリまたはデータ記憶媒体を備え得る。技法は、加えて、または代わりに、少なくとも部分的に、伝播される信号または波のような、コンピュータによってアクセス、読取、および/または実行されることができ、かつ、データ構造または命令の形式でプログラムコードを搬送または通信するコンピュータ可読通信媒体によって実現され得る。
[0457]プログラムコードは、1つまたは複数のデジタルシグナルプロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の同等の集積回路またはディスクリート論理回路のような1つまたは複数のプロセッサを含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示で説明されている技法のうちの何れも実行するように構成され得る。汎用プロセッサはマイクロプロセッサであり得るけれども、代わりとしてプロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携した1つまたは複数のマイクロプロセッサ、または何れの他のこのような構成としても実装され得る。したがって、本明細書で使用される場合、「プロセッサ」という用語は、前述の構造の何れも、前述の構造のいずれの組合せも、または本明細書で説明されている技法の実装に適した何れの他の構造または装置も指し得る。加えていくつかの態様では、本明細書で説明されている機能は、符号化および復号のために構成された専用ソフトウェアモジュールまたはハードウェアモジュール内で提供され得るか、あるいは組み合わせられたコデックに組み込まれ得る。
[0457]プログラムコードは、1つまたは複数のデジタルシグナルプロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の同等の集積回路またはディスクリート論理回路のような1つまたは複数のプロセッサを含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示で説明されている技法のうちの何れも実行するように構成され得る。汎用プロセッサはマイクロプロセッサであり得るけれども、代わりとしてプロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携した1つまたは複数のマイクロプロセッサ、または何れの他のこのような構成としても実装され得る。したがって、本明細書で使用される場合、「プロセッサ」という用語は、前述の構造の何れも、前述の構造のいずれの組合せも、または本明細書で説明されている技法の実装に適した何れの他の構造または装置も指し得る。加えていくつかの態様では、本明細書で説明されている機能は、符号化および復号のために構成された専用ソフトウェアモジュールまたはハードウェアモジュール内で提供され得るか、あるいは組み合わせられたコデックに組み込まれ得る。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1] ビデオデータを処理するための方法であって、
前記ビデオデータを受信することと、ここにおいて、前記ビデオデータは、カラーボリュームに関連付けられる、
前記ビデオデータから1つのセットのカラーボリューム変換パラメータを取得することと、ここにおいて、前記セットのカラーボリューム変換パラメータは、前記カラーボリュームを変換するために使用され得る、
1つのセットのマスタリングディスプレイカラーボリュームパラメータを取得することと、ここにおいて、前記セットのマスタリングディスプレイカラーボリュームパラメータは、前記ビデオデータのマスターコピーを生成するときに決定される値を含む、
前記セットのカラーボリューム変換パラメータのための1つまたは複数のメタデータブロックを生成することと、
前記セットのマスタリングディスプレイカラーボリュームパラメータのための1つまたは複数のさらなるメタデータブロックを生成することと、
前記ビデオデータについて符号化されたビットストリームを生成することと、ここにおいて、前記符号化されたビットストリームは、前記1つまたは複数のメタデータブロックおよび前記1つまたは複数のさらなるメタデータブロックを含み、前記1つまたは複数のさらなるメタデータブロックを含むことは、前記符号化されたビットストリームに前記1つまたは複数のメタデータブロックが存在することによって必要とされる、
を備える、方法。
[C2] 前記セットのカラーボリューム変換パラメータは伝送特性を含み、前記1つまたは複数のメタデータブロックは、前記伝送特性が特定の値に対応しないときに前記符号化されたビットストリームから除外される、C1に記載の方法。
[C3] 前記セットのカラーボリューム変換パラメータおよび前記セットのマスタリングディスプレイカラーボリュームパラメータは同じフィールドを含み、前記フィールドは、前記フィールドが前記1つまたは複数のさらなるメタデータブロックに存在することに基づいて前記1つまたは複数のメタデータブロックから省かれる、C1に記載の方法。
[C4] 前記ビデオデータは複数の処理ウィンドウを含み、前記符号化されたビットストリームにおいて、前記複数の処理ウィンドウの量が1〜16の間の値に制限される、C1に記載の方法。
[C5] 前記ビデオデータは複数のコンテンツ記述要素を含み、前記符号化されたビットストリームにおいて、前記複数のコンテンツ記述要素の量が1に制限される、C1に記載の方法。
[C6] 前記ビデオデータは、複数のターゲットディスプレイ要素を含み、前記符号化されたビットストリームにおいて、前記複数のターゲットディスプレイ要素の量が1〜16の間の値に制限される、C1に記載の方法。
[C7] 前記符号化されたビットストリームは、前記符号化されたビットストリームに各アクセスユニットのための少なくとも1つのメタデータブロックを含み、前記メタデータブロックは、カラーボリューム変換パラメータを含む、C1に記載の方法。
[C8] リザーブと定義された値は、前記符号化されたビットストリームから除外される、C1に記載の方法。
[C9] 前記1つまたは複数のメタデータブロックは各々、長さ値を含み、前記符号化されたビットストリームにおいて、前記長さ値は、8の倍数に制限される、C1に記載の方法。
[C10] 前記1つまたは複数のメタデータブロックは各々、長さ値を含み、前記符号化されたビットストリームにおいて、前記長さ値は、0〜255の間の値に制限される、C1に記載の方法。
[C11] 前記1つまたは複数のメタデータブロックは、1つまたは複数の補足強化情報(SEI)ネットワーク抽象化レイヤ(NAL)ユニットにおいて符号化される、C1に記載の方法。
[C12] 前記1つまたは複数のさらなるメタデータブロックは、1つまたは複数の補足強化情報(SEI)ネットワーク抽象化レイヤ(NAL)ユニットにおいて符号化される、C1に記載の方法。
[C13] ビデオデータを処理するための装置であって、
ビデオデータを記憶するように構成されたメモリと、ここにおいて、前記ビデオデータは、カラーボリュームに関連付けられる、
プロセッサとを備え、前記プロセッサは、
前記ビデオデータから1つのセットのカラーボリューム変換パラメータを取得することと、ここにおいて、前記セットのカラーボリューム変換パラメータは、前記カラーボリュームを変換するために使用され得る、
1つのセットのマスタリングディスプレイカラーボリュームパラメータを取得することと、ここにおいて、前記セットのマスタリングディスプレイカラーボリュームパラメータは、前記ビデオデータのマスターコピーを生成するときに決定される値を含む、
前記セットのカラーボリューム変換パラメータのための1つまたは複数のメタデータブロックを生成することと、
前記セットのマスタリングディスプレイカラーボリュームパラメータのための1つまたは複数のさらなるメタデータブロックを生成することと、
前記ビデオデータについて符号化されたビットストリームを生成することと、ここにおいて、前記符号化されたビットストリームは、前記1つまたは複数のメタデータブロックおよび前記1つまたは複数のさらなるメタデータブロックを含み、前記1つまたは複数のさらなるメタデータブロックを含むことは、前記符号化されたビットストリームに前記1つまたは複数のメタデータブロックが存在することによって必要とされる、
を行うように構成される、装置。
[C14] 命令を記憶した非一時的なコンピュータ可読媒体であって、前記命令は、1つまたは複数のプロセッサによって実行されるとき、前記1つまたは複数のプロセッサに、
前記ビデオデータを受信することと、ここにおいて、前記ビデオデータは、カラーボリュームに関連付けられる、
前記ビデオデータから1つのセットのカラーボリューム変換パラメータを取得することと、ここにおいて、前記セットのカラーボリューム変換パラメータは、前記カラーボリュームを変換するために使用され得る、
1つのセットのマスタリングディスプレイカラーボリュームパラメータを取得することと、ここにおいて、前記セットのマスタリングディスプレイカラーボリュームパラメータは、前記ビデオデータのマスターコピーを生成するときに決定される値を含む、
前記セットのカラーボリューム変換パラメータのための1つまたは複数のメタデータブロックを生成することと、
前記セットのマスタリングディスプレイカラーボリュームパラメータのための1つまたは複数のさらなるメタデータブロックを生成することと、
前記ビデオデータについて符号化されたビットストリームを生成することと、ここにおいて、前記符号化されたビットストリームは、前記1つまたは複数のメタデータブロックおよび前記1つまたは複数のさらなるメタデータブロックを含み、前記1つまたは複数のさらなるメタデータブロックを含むことは、前記符号化されたビットストリームに前記1つまたは複数のメタデータブロックが存在することによって必要とされる、
を行わせる、非一時的なコンピュータ可読媒体。
[C15] ビデオデータを処理するための装置であって、
前記ビデオデータを受信するための手段と、ここにおいて、前記ビデオデータは、カラーボリュームに関連付けられる、
前記ビデオデータから1つのセットのカラーボリューム変換パラメータを取得するための手段と、ここにおいて、前記セットのカラーボリューム変換パラメータは、前記カラーボリュームを変換するために使用され得る、
1つのセットのマスタリングディスプレイカラーボリュームパラメータを取得するための手段と、ここにおいて、前記セットのマスタリングディスプレイカラーボリュームパラメータは、前記ビデオデータのマスターコピーを生成するときに決定される値を含む、 前記セットのカラーボリューム変換パラメータのための1つまたは複数のメタデータブロックを生成するための手段と、
前記セットのマスタリングディスプレイカラーボリュームパラメータのための1つまたは複数のさらなるメタデータブロックを生成するための手段と、
前記ビデオデータについて符号化されたビットストリームを生成するための手段と、ここにおいて、前記符号化されたビットストリームは、前記1つまたは複数のメタデータブロックおよび前記1つまたは複数のさらなるメタデータブロックを含み、前記1つまたは複数のさらなるメタデータブロックを含むことは、前記符号化されたビットストリームに前記1つまたは複数のメタデータブロックが存在することによって必要とされる、
を備える、装置。
[C16] ビデオデータを処理する方法であって、
符号化されたビットストリームを受信することと、ここにおいて、前記符号化されたビットストリームは、1つのセットの符号化されたカラーボリューム変換パラメータを含む1つまたは複数のメタデータブロックを含む、
前記符号化されたビットストリームに前記1つまたは複数のメタデータブロックの存在を決定することと、
前記符号化されたビットストリームに前記1つまたは複数のメタデータブロックが存在することの前記決定に基づいて、1つまたは複数のさらなるブロックが存在することが前記符号化されたビットストリームにおいて必要とされることを決定することと、
前記符号化されたビットストリームが、符号化されたセットのマスタリングディスプレイカラーボリュームパラメータを含む前記1つまたは複数のさらなるメタデータブロックを含まないことを決定することと、
前記符号化されたビットストリームが前記1つまたは複数のさらなるメタデータブロックを含まないことに基づいて、前記符号化されたビットストリームが前記要件に適合しないことを決定することと、
前記符号化されたビットストリームが前記要件に適合しないという前記決定に基づいて、前記符号化されたビットストリームの少なくとも一部を処理しないことと、
を備える、方法。
[C17] 前記符号化されたセットのカラーボリューム変換パラメータは伝送特性を含み、前記方法はさらに、
前記伝送特性の値が特定の値であることを決定することを備え、ここにおいて、前記符号化されたビットストリームが適合していないことを決定することはさらに、前記1つまたは複数のメタデータブロックが、前記伝送特性の前記値が前記特定の値であるときに前記符号化されたビットストリームに含まれることに基づく、
C16に記載の方法。
[C18] 前記符号化されたセットのカラーボリューム変換パラメータおよび前記符号化されたセットのマスタリングディスプレイカラーボリュームパラメータは同じフィールドを含み、前記符号化されたビットストリームが適合していないことを決定することはさらに、前記フィールドが前記1つまたは複数のメタデータブロックと前記1つまたは複数のさらなるメタデータブロックとの両方に存在することに基づく、C16に記載の方法。
[C19] 前記符号化されたセットのカラーボリューム変換パラメータおよび前記符号化されたセットのマスタリングディスプレイカラーボリュームパラメータは同じフィールドを含み、前記フィールドは、前記1つまたは複数のメタデータブロックから省かれ、前記方法はさらに、
前記セットのカラーボリューム変換パラメータを復号することを備え、復号することは、前記符号化されたセットのマスタリングディスプレイカラーボリュームパラメータから前記フィールドについての値を使用することを含む、
C16に記載の方法。
[C20] 前記ビデオデータは複数の処理ウィンドウを含み、前記符号化されたビットストリームが適合していないことを決定することはさらに、前記複数の処理ウィンドウの量が16よりも大きいことに基づく、C16に記載の方法。
[C21] 前記ビデオデータは複数のコンテンツ記述要素を含み、前記符号化されたビットストリームが適合していないことを決定することはさらに、前記複数のコンテンツ記述要素の量が1よりも大きいことに基づく、C16に記載の方法。
[C22] 前記ビデオデータは複数のターゲットディスプレイ要素を含み、前記符号化されたビットストリームが適合していないことを決定することはさらに、前記複数のターゲットディスプレイ要素の量が16よりも大きいことに基づく、C16に記載の方法。
[C23] 前記符号化されたビットストリームが、前記符号化されたビットストリームに特定のアクセスユニットのためのメタデータブロックを含まないことを決定することをさらに備え、前記符号化されたビットストリームが適合していないことを決定することはさらに、前記符号化されたビットストリームが、前記特定のアクセスユニットのためのメタデータブロックを含まないことに基づく、
C16に記載の方法。
[C24] 前記符号化されたビットストリームがリザーブ値を含むことを決定することをさらに備え、前記符号化されたビットストリームが適合していないことを決定することはさらに、前記符号化されたビットストリームがリザーブ値を含むことに基づく、
C16に記載の方法。
[C25] 前記1つまたは複数のメタデータブロックは各々、長さ値を含み、前記符号化されたビットストリームが適合していないことを決定することはさらに、前記長さ値が8の倍数でないことに基づく、C16に記載の方法。
[C26] 前記1つまたは複数のメタデータブロックは各々、長さ値を含み、前記符号化されたビットストリームが適合していないことを決定することはさらに、前記長さ値が255よりも大きいことに基づく、C16に記載の方法。
[C27] 前記1つまたは複数のメタデータブロックは、1つまたは複数の補足強化情報(SEI)ネットワーク抽象化レイヤ(NAL)ユニットにおいて符号化される、C16に記載の方法。
[C28] 前記1つまたは複数のさらなるメタデータブロックは、1つまたは複数の補足強化情報(SEI)ネットワーク抽象化レイヤ(NAL)ユニットにおいて符号化される、C16に記載の方法。
[C29] ビデオデータを処理するための装置であって、
前記ビデオデータを記憶するように構成されたメモリと、
プロセッサとを備え、前記プロセッサは、
符号化されたビットストリームを受信することと、ここにおいて、前記符号化されたビットストリームは、1つのセットの符号化されたカラーボリューム変換パラメータを含む1つまたは複数のメタデータブロックを含む、
前記符号化されたビットストリームが、符号化されたセットのマスタリングディスプレイカラーボリュームパラメータを含む1つまたは複数のさらなるメタデータブロックを含まないことを決定することと、ここにおいて、前記1つまたは複数のさらなるメタデータブロックが存在することは、前記1つまたは複数のメタデータブロックが前記符号化されたビットストリームに存在することによって必要とされる、
前記符号化されたビットストリームが前記1つまたは複数のさらなるメタデータブロックを含まないことに基づいて、前記符号化されたビットストリームが適合していないことを決定することと、
前記符号化されたビットストリームが適合していないことに基づいて、前記符号化されたビットストリームの少なくとも一部を無視することと、
を行うように構成される、装置。
[C30] 命令を記憶した非一時的なコンピュータ可読媒体であって、前記命令は、1つまたは複数のプロセッサによって実行されるとき、前記1つまたは複数のプロセッサに、
符号化されたビットストリームを受信することと、ここにおいて、前記符号化されたビットストリームは、1つのセットの符号化されたカラーボリューム変換パラメータを含む1つまたは複数のメタデータブロックを含む、
前記符号化されたビットストリームが、符号化されたセットのマスタリングディスプレイカラーボリュームパラメータを含む1つまたは複数のさらなるメタデータブロックを含まないことを決定することと、ここにおいて、前記1つまたは複数のさらなるメタデータブロックが存在することは、前記1つまたは複数のメタデータブロックが前記符号化されたビットストリームに存在することによって必要とされる、
前記符号化されたビットストリームが前記1つまたは複数のさらなるメタデータブロックを含まないことに基づいて、前記符号化されたビットストリームが適合していないことを決定することと、
前記符号化されたビットストリームが適合していないことに基づいて、前記符号化されたビットストリームの少なくとも一部を無視することと、
を行わせる、非一時的なコンピュータ可読媒体。
[C31] ビデオデータを処理するための装置であって、
符号化されたビットストリームを受信するための手段と、ここにおいて、前記符号化されたビットストリームは、1つのセットの符号化されたカラーボリューム変換パラメータを含む1つまたは複数のメタデータブロックを含む、
前記符号化されたビットストリームが、符号化されたセットのマスタリングディスプレイカラーボリュームパラメータを含む1つまたは複数のさらなるメタデータブロックを含まないことを決定するための手段と、ここにおいて、前記1つまたは複数のさらなるメタデータブロックが存在することは、前記1つまたは複数のメタデータブロックが前記符号化されたビットストリームに存在することによって必要とされる、
前記符号化されたビットストリームが前記1つまたは複数のさらなるメタデータブロックを含まないことに基づいて、前記符号化されたビットストリームが適合していないことを決定するための手段と、
前記符号化されたビットストリームが適合していないことに基づいて、前記符号化されたビットストリームの少なくとも一部を無視するための手段と、
を備える、装置。