(57)【要約】  領域ネスティングメッセージを生成するためのシステム、方法、およびコンピュータ可読媒体が説明される。いくつかの例では、ビデオビットストリームが取得され、符号化されたビデオビットストリームがビデオデータを使用して生成される。符号化されたビデオビットストリームは、複数のネストされたメッセージと、符号化されたビデオビットストリームのピクチャの少なくとも第1の領域を定義する領域データとを含む、領域ネスティングメッセージを含む。たとえば、領域ネスティングメッセージの第1のネストされたメッセージは、データの第1のセットと、ピクチャの第1の領域がデータの第1のセットと関連付けられることを示す第1の領域識別子とを含む。
2019515572.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを記憶するように構成されたメモリと、
プロセッサとを備え、前記プロセッサが、
前記ビデオデータを取得することと、
前記ビデオデータを使用して、領域ネスティングメッセージを含む符号化されたビデオビットストリームを生成することとを行うように構成され、前記領域ネスティングメッセージが、複数のネストされたメッセージと、前記符号化されたビデオビットストリームのピクチャの少なくとも第1の領域を定義する領域データとを含み、前記領域ネスティングメッセージの第1のネストされたメッセージが、データの第1のセットと、前記ピクチャの前記第1の領域がデータの前記第1のセットと関連付けられることを示す第1の領域識別子とを含む、
装置。
【請求項２】
前記領域ネスティングメッセージが領域ネスティング補足強化情報(SEI)メッセージであり、前記複数のネストされたメッセージがネストされたSEIメッセージである、請求項1に記載の装置。
【請求項３】
データの前記第1のセットが、前記第1の領域識別子に基づいて前記第1の領域に対して第1の関数を実行するために使用される、請求項1に記載の装置。
【請求項４】
データの前記第1のセットが、前記第1の領域識別子に基づいて前記第1の領域の特性を指定する、請求項1に記載の装置。
【請求項５】
前記ピクチャの前記第1の領域を定義する前記領域データが、前記領域ネスティングメッセージに一度含まれる、請求項1に記載の装置。
【請求項６】
前記第1のネストされたメッセージがさらにデータの第2のセットを含み、データの前記第2のセットが、前記第1の領域がデータの前記第2のセットと関連付けられることを示すために、前記第1の領域識別子と関連付けられる、請求項1に記載の装置。
【請求項７】
前記領域ネスティングメッセージが、前記ピクチャの複数の領域を定義する複数の領域データを含み、前記第1のネストされたメッセージのデータの前記第1のセットが前記ピクチャの前記複数の領域のうちの複数領域と関連付けられる、請求項1に記載の装置。
【請求項８】
前記第1のネストされたメッセージがさらに、データの前記第1のセットが関連付けられる前記ピクチャの前記複数の領域のうちの第2の領域を示す第2の領域識別子を含む、請求項7に記載の装置。
【請求項９】
データの前記第1のセットが、前記第1の領域および前記第2の領域の各々に独立に適用可能である、請求項8に記載の装置。
【請求項１０】
前記領域ネスティングメッセージが第2のネストされたメッセージを含み、前記第2のネストされたメッセージが、データの第2のセットと、前記第1の領域がデータの前記第2のセットと関連付けられることを示す前記第1の領域識別子とを含む、請求項1に記載の装置。
【請求項１１】
前記領域ネスティングメッセージがさらに、前記ピクチャの複数の領域の数を含む、請求項1に記載の装置。
【請求項１２】
前記領域データが、前記第1の領域の1つまたは複数の境界を定義する、または前記第1の領域に含まれるサンプルを定義する、請求項1に記載の装置。
【請求項１３】
前記領域データが、前記ピクチャの1つまたは複数の境界からの、前記第1の領域の1つまたは複数の境界の1つまたは複数のオフセットを定義する、請求項1に記載の装置。
【請求項１４】
前記領域データが長方形の領域として前記第1の領域を定義する、請求項1に記載の装置。
【請求項１５】
前記ピクチャのサンプルが前記ピクチャの2つ以上の領域の中にあるとき、前記2つ以上の領域の中で最大の領域識別子の値を有する前記2つ以上の領域のうちのある領域に適用可能な第1のタイプのネストされたメッセージが、前記サンプルに適用可能である、請求項1に記載の装置。
【請求項１６】
前記2つ以上の領域の中で前記最大の領域識別子の値を有しない前記2つ以上の領域のうちの別の領域に適用可能な前記第1のタイプの別のネストされたメッセージが、前記サンプルに適用可能ではない、請求項15に記載の装置。
【請求項１７】
前記領域ネスティングメッセージがさらに、前記領域ネスティングメッセージの目的を特定するシンタックス要素を含む、請求項1に記載の装置。
【請求項１８】
前記領域ネスティングメッセージがさらに、前記領域ネスティングメッセージの中の前記複数のネストされたメッセージの数を含む、請求項1に記載の装置。
【請求項１９】
前記複数のネストされたメッセージのうちのあるネストされたメッセージが、前記ネストされたメッセージが前記領域ネスティングメッセージにおいてネストされていないかのように、同じ持続性を有する、請求項1に記載の装置。
【請求項２０】
前記領域ネスティングメッセージが、前記第1のネストされたメッセージに対するインデックスのセットを含み、インデックスの前記セットが、データの前記第1のセットが適用されるべき1つまたは複数の領域を示す、請求項1に記載の装置。
【請求項２１】
インデックスの前記セットが少なくとも前記第1の領域識別子を含む、請求項20に記載の装置。
【請求項２２】
ピクチャをキャプチャするためのカメラを有するモバイルデバイスを備える、請求項1に記載の装置。
【請求項２３】
ビデオデータを復号する方法であって、
ビデオビットストリームを受信するステップと、
前記ビデオビットストリームから、領域ネスティングメッセージを取得するステップとを備え、前記領域ネスティングメッセージが、複数のネストされたメッセージと、前記ビデオビットストリームのピクチャの少なくとも第1の領域を定義する領域データとを含み、前記領域ネスティングメッセージの第1のネストされたメッセージが、データの第1のセットと、前記ピクチャの前記第1の領域がデータの前記第1のセットと関連付けられることを示す第1の領域識別子とを含む、方法。
【請求項２４】
データの前記第1のセットが、前記第1の領域識別子に基づいて前記第1の領域に対して第1の関数を実行するために使用される、請求項23に記載の方法。
【請求項２５】
前記ピクチャを復号するステップと、
データの前記第1のセットを使用して前記ピクチャの前記第1の領域に対して前記第1の関数を実行するステップとをさらに備え、前記第1の関数が前記第1の領域識別子に基づいて前記第1の領域に対して実行される、請求項24に記載の方法。
【請求項２６】
データの前記第1のセットが、前記第1の領域識別子に基づいて前記第1の領域の特性を指定する、請求項23に記載の方法。
【請求項２７】
前記領域ネスティングメッセージが領域ネスティング補足強化情報(SEI)メッセージであり、前記複数のネストされたメッセージがネストされたSEIメッセージである、請求項23に記載の方法。
【請求項２８】
前記ピクチャの前記第1の領域を定義する領域データが、前記領域ネスティングメッセージに一度含まれる、請求項23に記載の方法。
【請求項２９】
前記第1のネストされたメッセージがさらにデータの第2のセットを含み、データの前記第2のセットが、前記第1の領域がデータの前記第2のセットと関連付けられることを示すために、前記第1の領域識別子と関連付けられる、請求項23に記載の方法。
【請求項３０】
前記領域ネスティングメッセージが、前記ピクチャの複数の領域を定義する複数の領域データを含み、前記第1のネストされたメッセージのデータの前記第1のセットが前記ピクチャの前記複数の領域のうちの複数領域と関連付けられる、請求項23に記載の方法。
【請求項３１】
前記第1のネストされたメッセージがさらに、データの前記第1のセットが関連付けられる前記ピクチャの前記複数の領域のうちの第2の領域を示す第2の領域識別子を含む、請求項30に記載の方法。
【請求項３２】
データの前記第1のセットが、前記第1の領域および前記第2の領域の各々に独立に適用可能である、請求項31に記載の方法。
【請求項３３】
前記領域ネスティングメッセージが第2のネストされたメッセージを含み、前記第2のネストされたメッセージが、データの第2のセットと、前記第1の領域がデータの前記第2のセットと関連付けられることを示す前記第1の領域識別子とを含む、請求項23に記載の方法。
【請求項３４】
前記領域ネスティングメッセージがさらに、前記ピクチャの複数の領域の数を含む、請求項23に記載の方法。
【請求項３５】
前記領域データが、前記第1の領域の1つまたは複数の境界を定義する、または前記第1の領域に含まれるサンプルを定義する、請求項23に記載の方法。
【請求項３６】
前記領域データが、前記ピクチャの1つまたは複数の境界からの、前記第1の領域の1つまたは複数の境界の1つまたは複数のオフセットを定義する、請求項23に記載の方法。
【請求項３７】
前記領域データが長方形の領域として前記第1の領域を定義する、請求項23に記載の方法。
【請求項３８】
前記ピクチャのサンプルが前記ピクチャの2つ以上の領域の中にあるとき、前記2つ以上の領域の中で最大の領域識別子の値を有する前記2つ以上の領域のうちのある領域に適用可能な第1のタイプのネストされたメッセージが、前記サンプルに適用可能である、請求項23に記載の方法。
【請求項３９】
前記2つ以上の領域の中で前記最大の領域識別子の値を有しない前記2つ以上の領域のうちの別の領域に適用可能な前記第1のタイプの別のネストされたメッセージが、前記サンプルに適用可能ではない、請求項38に記載の方法。
【請求項４０】
前記領域ネスティングメッセージがさらに、前記領域ネスティングメッセージの目的を特定するシンタックス要素を含む、請求項23に記載の方法。
【請求項４１】
前記領域ネスティングメッセージがさらに、前記領域ネスティングメッセージの中の前記複数のネストされたメッセージの数を含む、請求項23に記載の方法。
【請求項４２】
前記複数のネストされたメッセージのうちのあるネストされたメッセージが、前記ネストされたメッセージが前記領域ネスティングメッセージにおいてネストされていないかのように、同じ持続性を有する、請求項23に記載の方法。
【請求項４３】
前記領域ネスティングメッセージが、前記第1のネストされたメッセージに対するインデックスのセットを含み、インデックスの前記セットが、データの前記第1のセットが適用されるべき1つまたは複数の領域を示す、請求項23に記載の方法。
【請求項４４】
インデックスの前記セットが少なくとも前記第1の領域識別子を含む、請求項43に記載の方法。
【請求項４５】
ビデオビットストリームを受信するように構成された受信機と、
前記ビデオビットストリームのビデオデータを記憶するように構成されたメモリと、
前記ビデオビットストリームから、領域ネスティングメッセージを取得するように構成されたプロセッサとを備え、前記領域ネスティングメッセージが、複数のネストされたメッセージと、前記ビデオビットストリームのピクチャの少なくとも第1の領域を定義する領域データとを含み、前記領域ネスティングメッセージの第1のネストされたメッセージが、データの第1のセットと、前記ピクチャの前記第1の領域がデータの前記第1のセットと関連付けられることを示す第1の領域識別子とを含む、装置。
【請求項４６】
データの前記第1のセットが、前記第1の領域識別子に基づいて前記第1の領域に対して第1の関数を実行するために使用される、請求項45に記載の装置。
【請求項４７】
前記プロセッサがさらに、
前記ピクチャを復号することと、
データの前記第1のセットを使用して前記ピクチャの前記第1の領域に対して前記第1の関数を実行することとを行うように構成され、前記第1の関数が前記第1の領域識別子に基づいて前記第1の領域に対して実行される、請求項46に記載の装置。
【請求項４８】
データの前記第1のセットが、前記第1の領域識別子に基づいて前記第1の領域の特性を指定する、請求項45に記載の装置。
【請求項４９】
前記領域ネスティングメッセージが領域ネスティング補足強化情報(SEI)メッセージであり、前記複数のネストされたメッセージがネストされたSEIメッセージである、請求項45に記載の装置。
【請求項５０】
前記ピクチャの前記第1の領域を定義する領域データが、前記領域ネスティングメッセージに一度含まれる、請求項45に記載の装置。
【請求項５１】
前記第1のネストされたメッセージがさらにデータの第2のセットを含み、データの前記第2のセットが、第1の領域がデータの前記第2のセットと関連付けられることを示すために、前記第1の領域識別子と関連付けられる、請求項45に記載の装置。
【請求項５２】
前記領域ネスティングメッセージが、前記ピクチャの複数の領域を定義する複数の領域データを含み、前記第1のネストされたメッセージのデータの前記第1のセットが前記ピクチャの前記複数の領域のうちの複数領域と関連付けられる、請求項45に記載の装置。
【請求項５３】
前記第1のネストされたメッセージがさらに、データの前記第1のセットが関連付けられる前記ピクチャの前記複数の領域のうちの第2の領域を示す第2の領域識別子を含む、請求項52に記載の装置。
【請求項５４】
データの前記第1のセットが、前記第1の領域および前記第2の領域の各々に独立に適用可能である、請求項53に記載の装置。
【請求項５５】
前記領域ネスティングメッセージが第2のネストされたメッセージを含み、前記第2のネストされたメッセージが、データの第2のセットと、前記第1の領域がデータの前記第2のセットと関連付けられることを示す前記第1の領域識別子とを含む、請求項45に記載の装置。
【請求項５６】
前記領域ネスティングメッセージがさらに、前記ピクチャの複数の領域の数を含む、請求項45に記載の装置。
【請求項５７】
前記領域データが、前記第1の領域の1つまたは複数の境界を定義する、または前記第1の領域に含まれるサンプルを定義する、請求項45に記載の装置。
【請求項５８】
前記領域データが、前記ピクチャの1つまたは複数の境界からの、前記第1の領域の1つまたは複数の境界の1つまたは複数のオフセットを定義する、請求項45に記載の装置。
【請求項５９】
前記領域データが長方形の領域として前記第1の領域を定義する、請求項45に記載の装置。
【請求項６０】
前記ピクチャのサンプルが前記ピクチャの2つ以上の領域の中にあるとき、前記2つ以上の領域の中で最大の領域識別子の値を有する前記2つ以上の領域のうちのある領域に適用可能な第1のタイプのネストされたメッセージが、前記サンプルに適用可能である、請求項45に記載の装置。
【請求項６１】
前記2つ以上の領域の中で前記最大の領域識別子の値を有しない前記2つ以上の領域のうちの別の領域に適用可能な前記第1のタイプの別のネストされたメッセージが、前記サンプルに適用可能ではない、請求項60に記載の装置。
【請求項６２】
前記領域ネスティングメッセージがさらに、前記領域ネスティングメッセージの目的を特定するシンタックス要素を含む、請求項45に記載の装置。
【請求項６３】
前記領域ネスティングメッセージがさらに、前記領域ネスティングメッセージの中の前記複数のネストされたメッセージの数を含む、請求項45に記載の装置。
【請求項６４】
前記複数のネストされたメッセージのうちのあるネストされたメッセージが、前記ネストされたメッセージが前記領域ネスティングメッセージにおいてネストされていないかのように、同じ持続性を有する、請求項45に記載の装置。
【請求項６５】
前記領域ネスティングメッセージが、前記第1のネストされたメッセージに対するインデックスのセットを含み、インデックスの前記セットが、データの前記第1のセットが適用されるべき1つまたは複数の領域を示す、請求項45に記載の装置。
【請求項６６】
インデックスの前記セットが少なくとも前記第1の領域識別子を含む、請求項65に記載の装置。
【請求項６７】
前記ビデオデータを表示するためのディスプレイをさらに備える、請求項45に記載の装置。
【請求項６８】
カメラを有するモバイルデバイスを備える、請求項45に記載の装置。
【請求項６９】
命令を記憶した非一時的コンピュータ可読媒体であって、前記命令が、1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
ビデオデータを取得することと、
前記ビデオデータを使用して、領域ネスティングメッセージを含む符号化されたビデオビットストリームを生成することとを行わせ、前記領域ネスティングメッセージが、複数のネストされたメッセージと、前記符号化されたビデオビットストリームのピクチャの少なくとも第1の領域を定義する領域データとを含み、前記領域ネスティングメッセージの第1のネストされたメッセージが、データの第1のセットと、前記ピクチャの前記第1の領域がデータの前記第1のセットと関連付けられることを示す第1の領域識別子とを含む、非一時的コンピュータ可読媒体。
【請求項７０】
ビデオデータを復号するための装置であって、
ビデオデータを取得するための手段と、
前記ビデオデータを使用して、領域ネスティングメッセージを含む符号化されたビデオビットストリームを生成するための手段とを備え、前記領域ネスティングメッセージが、複数のネストされたメッセージと、前記符号化されたビデオビットストリームのピクチャの少なくとも第1の領域を定義する領域データとを含み、前記領域ネスティングメッセージの第1のネストされたメッセージが、データの第1のセットと、前記ピクチャの前記第1の領域がデータの前記第1のセットと関連付けられることを示す第1の領域識別子とを含む、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、ビデオコーディングに関する。より詳細には、本出願は、ビデオピクチャのための領域ネスティングメッセージを生成することに関する。
【背景技術】
【０００２】
多くのデバイスおよびシステムは、ビデオデータが消費のために処理および出力されることを可能にする。デジタルビデオデータは、消費者およびビデオ提供者の需要を満たすための大量のデータを含む。たとえば、ビデオデータの消費者は、高い忠実度、解像度、フレームレートなどを有する最高品質のビデオを望む。その結果、これらの要求を満たすことが求められる大量のビデオデータは、通信ネットワーク、およびビデオデータを処理して記憶するデバイスに負担をかける。
【０００３】
ビデオデータを圧縮するために、様々なビデオコーディング技法が使用され得る。ビデオコーディングは、1つまたは複数のビデオコーディング規格に従って実行される。たとえば、ビデオコーディング規格は、High-Efficiency Video Coding(HEVC)、Advanced Video Coding(AVC)、Moving Picture Experts Group(MPEG)コーディングなどを含む。ビデオコーディングは、一般に、ビデオ画像またはビデオシーケンスに存在する冗長性を利用する予測方法(たとえば、インター予測、イントラ予測など)を利用する。ビデオコーディング技法の重要な目的は、ビデオ品質の劣化を回避または最小限に抑えながら、より低いビットレートを使用する形態へとビデオデータを圧縮することである。進化し続けるビデオサービスが利用可能になるにつれて、コーディング効率がより高い符号化技法が必要とされる。
【発明の概要】
【課題を解決するための手段】
【０００４】
いくつかの実装形態では、ビデオピクチャの1つまたは複数の領域に適用されるべきメッセージおよび/またはメタデータを生成するための技法およびシステムが説明される。ピクチャの領域は、(ピクチャ全体ではなく)ピクチャの空間部分を含み得る。いくつかの場合、本技法およびシステムは、1つまたは複数のピクチャの領域のセットならびにメッセージおよび/またはデータ(たとえば、メタデータ)のセットをシグナリングすることができ、メッセージおよび/またはデータのサブセットを指定された領域のサブセットに関連付けることができる。メッセージは、ビデオビットストリームに含まれ得る、もしくはビデオビットストリームとともに含まれ得る、補足強化情報(SEI)メッセージまたは任意の他の適切なメッセージを含み得る。
【０００５】
いくつかの例では、メッセージはビデオピクチャのための領域ネスティングメッセージを含み得る。領域ネスティングメッセージは、(たとえば、各ピクチャ領域を定義する領域データを使用して)ピクチャ領域のセットおよびピクチャ領域のセットと関連付けられる情報をシグナリングするために使用され得る。領域ネスティングメッセージをピクチャのためにシグナリングすることができ、領域ネスティングメッセージの中の情報は、領域ネスティングメッセージにおいてネストされる1つまたは複数のメッセージ(本明細書では「ネストされたメッセージ」または「領域ネスト可能なメッセージ」と呼ばれる)を含み得る。
【０００６】
領域ネスティングメッセージのネストされたメッセージは、ピクチャの1つまたは複数の領域に適用され得るデータの1つまたは複数のセット(たとえば、メタデータまたはデータの他のセット)を含み得る。いくつかの例では、ネストされたメッセージの中のデータのセットは、デコーダデバイス、プレーヤデバイス、または他のデバイスによって1つまたは複数の領域に対して実行されるべき機能を定義し得る。いくつかの説明のための例では、データのセットは、ピクチャの1つまたは複数の領域に対してフィルムグレイン合成関数を実行するために使用されるフィルムグレイン特性、1つまたは複数の領域に対してトーンマッピング関数を実行するために使用されるトーンマッピング情報、および/またはビデオピクチャの領域に対して機能を実行するために使用される任意の他の適切なデータを含み得る。いくつかの場合、ネストされたメッセージの中のデータのセットは、1つまたは複数の領域に固有のコンテンツの特性を指定し得る。1つの説明のための例では、データのセットは、1つまたは複数の領域と関連付けられるコンテンツの最大輝度についての情報を含み得る。他の場合、ネストされたメッセージの中のデータのセットは、デバイスの制約またはデバイスが動作する条件に従って1つまたは複数の領域に固有のコンテンツを処理するために、デコーダデバイス、プレーヤデバイス、または他のデバイスによって使用され得る、ヒントまたは情報を指定し得る。たとえば、データのセットは、コンテンツを処理するのに適しているとエンコーダが見なし得るフィルタ係数の第1のセットについての情報を含むことがあり、デコーダデバイス、プレーヤ、または他のデバイスは、データのセットが関連付けられる1つまたは複数の領域に属するコンテンツに適用されるものとして、それらの係数を使用することを選ぶことがあり、または、係数の第1のセットを使用して係数の第2のセットを導出することがある。
【０００７】
ピクチャのための領域ネスティングメッセージは、ピクチャの各領域を一度だけ定義する領域データを含むことがあり、領域ネスティングメッセージの中のネストされたメッセージは、ネストされたメッセージの中のデータセットが適用されるべき領域を特定する領域識別子を含むことがあり、またはそれと関連付けられることがある。たとえば、領域を定義する領域データは、領域ネスティングメッセージに含まれることがあり、この領域は、領域に割り当てられるネストされたメッセージが適用される1つまたは複数のピクチャに対して定義される。いくつかの場合、領域ネスティングメッセージのネストされたメッセージは、1つまたは複数の領域識別子を含み得る。領域識別子は、データのセットが適用されるべき領域を示すために、ネストされたメッセージの中のデータのセットに割り当てられ得る。そのような技法を使用すると、領域データは、各々のネストされたメッセージに対して、またはピクチャに適用されるべきデータの各セットに対して、個別にシグナリングされる必要がない。
【０００８】
いくつかの例では、領域ネスティングメッセージの中のネストされたメッセージは、データのセット(たとえば、メタデータまたは他のデータセット)と、データのセットが適用可能なピクチャの任意の領域を示す1つまたは複数の領域識別子とを含む。いくつかの例では、ネストされたメッセージは、複数の関数を定義するデータの複数のセットを含み、また、データのセットが適用されるべきピクチャの領域を示すためにデータの複数のセットに対する1つまたは複数の領域識別子も含む。いくつかの場合、領域ネスティングメッセージの複数のネストされたメッセージは、同じピクチャの中の共通の領域に適用可能であり得る。たとえば、領域ネスティングメッセージの第1のネストされたメッセージは、第1の領域に適用可能なデータの1つまたは複数のセットを含むことがあり、領域ネスティングメッセージの第2のネストされたメッセージは、第1の領域に適用可能なデータの1つまたは複数のセットを含むことがある。
【０００９】
いくつかの場合、領域ネスティングメッセージは、同じ領域ネスティングメッセージの中で2回以上同じ領域を定義することができるが、この場合、領域の2つのインスタンスと関連付けられる識別子は、インスタンスを区別するために異なる。そのような例は、繰り返される領域が1つまたは複数の他の領域と重複するときに、およびデータの1つまたは複数のセットが領域に適用されるときに発生することがあり、この場合、インジケータによって示される異なる優先順位が、重複した領域の中の1つまたは複数の画素に適用可能なデータのセットを決定するために必要であり得る。
【００１０】
いくつかの例では、領域ネスティングメッセージは、領域ネスティング補足強化情報(SEI)メッセージである。領域ネスティングSEIメッセージは、ピクチャの複数領域を定義する複数の領域データと、データのセットおよび領域識別子を伴う複数のネストされたSEIメッセージとを含み得る。
【００１１】
ビデオデータを符号化することの少なくとも一例によれば、ビデオデータを符号化する方法が提供される。方法はビデオデータを取得するステップを備える。方法はさらに、ビデオデータを使用して、領域ネスティングメッセージを含む符号化されたビデオビットストリームを生成するステップを備える。領域ネスティングメッセージは、複数のネストされたメッセージと、符号化されたビデオビットストリームのピクチャの少なくとも第1の領域を定義する領域データとを含む。領域ネスティングメッセージの第1のネストされたメッセージは、データの第1のセットと、ピクチャの第1の領域がデータの第1のセットと関連付けられることを示す第1の領域識別子とを含む。
【００１２】
ビデオデータを符号化する別の例では、ビデオデータを記憶するように構成されたメモリとプロセッサとを含む装置が提供される。プロセッサは、ビデオデータを取得するように構成され、取得することができる。プロセッサはさらに、ビデオデータを使用して、領域ネスティングメッセージを含む符号化されたビデオビットストリームを生成するように構成され、生成することができる。領域ネスティングメッセージは、複数のネストされたメッセージと、符号化されたビデオビットストリームのピクチャの少なくとも第1の領域を定義する領域データとを含む。領域ネスティングメッセージの第1のネストされたメッセージは、データの第1のセットと、ピクチャの第1の領域がデータの第1のセットと関連付けられることを示す第1の領域識別子とを含む。
【００１３】
ビデオデータを符号化する別の例では、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、ビデオデータを取得させ、ビデオデータを使用して、領域ネスティングメッセージを含む符号化されたビデオビットストリームを生成させる命令を記憶している、非一時的コンピュータ可読媒体が提供され、領域ネスティングメッセージが複数のネストされたメッセージと符号化されたビデオビットストリームのピクチャの少なくとも第1の領域を定義する領域データとを含み、領域ネスティングメッセージの第1のネストされたメッセージは、データの第1のセットと、ピクチャの第1の領域がデータの第1のセットと関連付けられることを示す第1の領域識別子とを含む。
【００１４】
ビデオデータを符号化する別の例では、ビデオデータを取得するための手段を含む装置が提供される。装置はさらに、ビデオデータを使用して、領域ネスティングメッセージを含む符号化されたビデオビットストリームを生成するための手段を含む。領域ネスティングメッセージは、複数のネストされたメッセージと、符号化されたビデオビットストリームのピクチャの少なくとも第1の領域を定義する領域データとを含む。領域ネスティングメッセージの第1のネストされたメッセージは、データの第1のセットと、ピクチャの第1の領域がデータの第1のセットと関連付けられることを示す第1の領域識別子とを含む。
【００１５】
いくつかの態様では、領域ネスティングメッセージは領域ネスティング補足強化情報(SEI)メッセージであり、複数のネストされたメッセージはネストされたSEIメッセージである。
【００１６】
いくつかの態様では、データの第1のセットは、第1の領域識別子に基づいて第1の領域に対して第1の関数を実行するために使用される。
【００１７】
いくつかの態様では、データの第1のセットは、第1の領域識別子に基づいて第1の領域の特性を指定する。
【００１８】
いくつかの態様では、ピクチャの領域のうちの第1の領域を定義する領域データは、領域ネスティングメッセージに一度含まれる。
【００１９】
いくつかの態様では、第1のネストされたメッセージはさらにデータの第2のセットを含み、データの第2のセットは、第1の領域がデータの第2のセットと関連付けられることを示すために、第1の領域識別子と関連付けられる。
【００２０】
いくつかの態様では、領域ネスティングメッセージは、ピクチャの複数の領域を定義する複数の領域データを含み、第1のネストされたメッセージのデータの第1のセットがピクチャの複数の領域のうちの複数領域と関連付けられる。いくつかの態様では、第1のネストされたメッセージはさらに、データの第1のセットが関連付けられるピクチャの複数の領域のうちの第2の領域を示す第2の領域識別子を含む。いくつかの態様では、データの第1のセットは、第1の領域および第2の領域の各々に独立に適用可能である。
【００２１】
いくつかの態様では、領域ネスティングメッセージは第2のネストされたメッセージを含み、第2のネストされたメッセージは、データの第2のセットと、第1の領域がデータの第2のセットと関連付けられることを示す第1の領域識別子とを含む。
【００２２】
いくつかの態様では、領域ネスティングメッセージはさらに、ピクチャの複数の領域の数を含む。
【００２３】
いくつかの態様では、領域データは、第1の領域の1つまたは複数の境界を定義する、または第1の領域に含まれるサンプルを定義する。
【００２４】
いくつかの態様では、領域データは、ピクチャの1つまたは複数の境界からの、第1の領域の1つまたは複数の境界の1つまたは複数のオフセットを定義する。
【００２５】
いくつかの態様では、領域データは長方形の領域として第1の領域を定義する。
【００２６】
いくつかの態様では、ピクチャのサンプルがピクチャの2つ以上の領域の中にあるとき、2つ以上の領域の中で最大の領域識別子の値を有する2つ以上の領域のうちのある領域に適用可能な第1のタイプのネストされたメッセージは、サンプルに適用可能である。いくつかの態様では、2つ以上の領域の中で最大の領域識別子の値を有しない2つ以上の領域のうちの別の領域に適用可能な第1のタイプの別のネストされたメッセージは、サンプルに適用可能ではない。
【００２７】
いくつかの態様では、領域ネスティングメッセージはさらに、領域ネスティングメッセージの目的を特定するシンタックス要素を含む。
【００２８】
いくつかの態様では、領域ネスティングメッセージはさらに、領域ネスティングメッセージの中の複数のネストされたメッセージの数を含む。
【００２９】
いくつかの態様では、複数のネストされたメッセージのうちのあるネストされたメッセージは、そのネストされたメッセージが領域ネスティングメッセージにおいてネストされていないかのように、同じ持続性を有する。
【００３０】
いくつかの態様では、領域ネスティングメッセージは、第1のネストされたメッセージに対するインデックスのセットを含み、インデックスのセットは、データの第1のセットが適用されるべき1つまたは複数の領域を示す。
【００３１】
いくつかの態様では、インデックスのセットは少なくとも第1の領域識別子を含む。
【００３２】
いくつかの態様では、装置はピクチャをキャプチャするためのカメラを伴うモバイルデバイスを備える。
【００３３】
ビデオデータを復号することの少なくとも一例によれば、ビデオデータを復号する方法が提供される。方法は、ビデオビットストリームを受信するステップを備える。方法はさらに、ビデオビットストリームから、領域ネスティングメッセージを取得するステップを備え、領域ネスティングメッセージは、複数のネストされたメッセージと、符号化されたビデオビットストリームのピクチャの少なくとも第1の領域を定義する領域データとを含み、領域ネスティングメッセージの第1のネストされたメッセージは、データの第1のセットと、ピクチャの第1の領域がデータの第1のセットと関連付けられることを示す第1の領域識別子とを含む。
【００３４】
ビデオデータを復号する別の例では、ビデオデータを記憶するように構成されたメモリとプロセッサとを含む装置が提供される。プロセッサは、ビデオビットストリームを受信するように構成され、受信することができる。プロセッサはさらに、ビデオビットストリームから、領域ネスティングメッセージを取得するように構成され、取得することができ、領域ネスティングメッセージは、複数のネストされたメッセージと、符号化されたビデオビットストリームのピクチャの複数の領域を定義する複数の領域データとを含み、領域ネスティングメッセージの第1のネストされたメッセージは、データの第1のセットと、ピクチャの第1の領域がデータの第1のセットと関連付けられることを示す第1の領域識別子とを含む。
【００３５】
ビデオデータを復号する別の例では、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、ビデオビットストリームを受信させ、ビデオビットストリームから領域ネスティングメッセージを取得させる、命令を記憶した非一時的コンピュータ可読媒体が提供され、領域ネスティングメッセージが複数のネストされたメッセージと符号化されたビデオビットストリームのピクチャの複数の領域を定義する複数の領域データとを含み、領域ネスティングメッセージの第1のネストされたメッセージは、データの第1のセットと、ピクチャの第1の領域がデータの第1のセットと関連付けられることを示す第1の領域識別子とを含む。
【００３６】
ビデオデータを復号する別の例では、ビデオビットストリームを受信するための手段を含む装置が提供される。装置はさらに、ビデオビットストリームから、領域ネスティングメッセージを取得するための手段を含み、領域ネスティングメッセージは、複数のネストされたメッセージと、符号化されたビデオビットストリームのピクチャの複数の領域を定義する複数の領域データとを含み、領域ネスティングメッセージの第1のネストされたメッセージは、データの第1のセットと、ピクチャの第1の領域がデータの第1のセットと関連付けられることを示す第1の領域識別子とを含む。
【００３７】
いくつかの態様では、データの第1のセットは、第1の領域識別子に基づいて第1の領域に対して第1の関数を実行するために使用される。いくつかの態様では、方法、装置、および非一時的コンピュータ可読媒体はさらに、ピクチャを復号するステップと、データの第1のセットを使用してピクチャの第1の領域に対して第1の関数を実行するステップとを含む。第1の関数は、第1の領域識別子に基づいて第1の領域に対して実行される。
【００３８】
いくつかの態様では、データの第1のセットは、第1の領域識別子に基づいて第1の領域の特性を指定する。
【００３９】
いくつかの態様では、領域ネスティングメッセージは領域ネスティング補足強化情報(SEI)メッセージであり、複数のネストされたメッセージはネストされたSEIメッセージである。
【００４０】
いくつかの態様では、ピクチャの第1の領域を定義する領域データは、領域ネスティングメッセージに一度含まれる。
【００４１】
いくつかの態様では、第1のネストされたメッセージはさらにデータの第2のセットを含み、データの第2のセットは、第1の領域がデータの第2のセットと関連付けられることを示すために、第1の領域識別子と関連付けられる。
【００４２】
いくつかの態様では、領域ネスティングメッセージは、ピクチャの複数の領域を定義する複数の領域データを含み、第1のネストされたメッセージのデータの第1のセットがピクチャの複数の領域のうちの複数領域と関連付けられる。
【００４３】
いくつかの態様では、第1のネストされたメッセージはさらに、データの第1のセットが関連付けられるピクチャの複数の領域のうちの第2の領域を示す第2の領域識別子を含む。
【００４４】
いくつかの態様では、データの第1のセットは、第1の領域および第2の領域の各々に独立に適用可能である。
【００４５】
いくつかの態様では、領域ネスティングメッセージは第2のネストされたメッセージを含み、第2のネストされたメッセージは、データの第2のセットと、第1の領域がデータの第2のセットと関連付けられることを示す第1の領域識別子とを含む。
【００４６】
いくつかの態様では、領域ネスティングメッセージはさらに、ピクチャの複数の領域の数を含む。
【００４７】
いくつかの態様では、領域データは、第1の領域の1つまたは複数の境界を定義する、第1の領域に含まれるサンプルを定義する。
【００４８】
いくつかの態様では、領域データは、ピクチャの1つまたは複数の境界からの、第1の領域の1つまたは複数の境界の1つまたは複数のオフセットを定義する。
【００４９】
いくつかの態様では、領域データは長方形の領域として第1の領域を定義する。
【００５０】
いくつかの態様では、ピクチャのサンプルがピクチャの2つ以上の領域の中にあるとき、2つ以上の領域の中で最大の領域識別子の値を有する2つ以上の領域のうちのある領域に適用可能な第1のタイプのネストされたメッセージは、サンプルに適用可能である。いくつかの態様では、2つ以上の領域の中で最大の領域識別子の値を有しない2つ以上の領域のうちの別の領域に適用可能な第1のタイプの別のネストされたメッセージは、サンプルに適用可能ではない。
【００５１】
いくつかの態様では、領域ネスティングメッセージはさらに、領域ネスティングメッセージの目的を特定するシンタックス要素を含む。
【００５２】
いくつかの態様では、領域ネスティングメッセージはさらに、領域ネスティングメッセージの中の複数のネストされたメッセージの数を含む。
【００５３】
いくつかの態様では、複数のネストされたメッセージのうちのあるネストされたメッセージは、そのネストされたメッセージが領域ネスティングメッセージにおいてネストされていないかのように、同じ持続性を有する。
【００５４】
いくつかの態様では、領域ネスティングメッセージは、第1のネストされたメッセージに対するインデックスのセットを含み、インデックスのセットは、データの第1のセットが適用されるべき1つまたは複数の領域を示す。
【００５５】
いくつかの態様では、インデックスのセットは少なくとも第1の領域識別子を含む。
【００５６】
いくつかの態様では、装置は、再マッピングされた1つまたは複数のサンプルを表示するためのディスプレイを含む。いくつかの態様では、装置は、カメラを伴うモバイルデバイスを含む。
【００５７】
本概要は、特許請求される主題の主要または不可欠な特徴を特定するものではなく、特許請求される主題の範囲を決定するために単独で使用されるものでもない。主題は、本特許の明細書全体、いずれかまたはすべての図面、および各請求項の適切な部分への参照によって理解されるべきである。
【００５８】
上記のことは、他の特徴および実施形態とともに、以下の明細書、特許請求の範囲、および添付図面を参照するとより明らかになろう。
【００５９】
本発明の例示的な実施形態が、以下の図面を参照して以下で詳細に説明される。
【図面の簡単な説明】
【００６０】
【図１】いくつかの例による、符号化デバイスおよび復号デバイスの例を示すブロック図である。
【図２】いくつかの例による、複数の補足強化情報(SEI)メッセージを伴うビデオビットストリームの例を示す図である。
【図３】いくつかの例による、領域ネスティングSEIメッセージの例を示す図である。
【図４Ａ】いくつかの例による、優先される領域があるピクチャの例を示す図である。
【図４Ｂ】いくつかの例による、優先される領域がないピクチャの例を示す図である。
【図５】いくつかの例による、領域ネスティングSEIメッセージの別の例を示す図である。
【図６】いくつかの例による、ビデオデータを符号化するプロセスの例を示すフローチャートである。
【図７】いくつかの例による、ビデオデータを復号するプロセスの例を示すフローチャートである。
【図８】いくつかの例による、例示的なビデオ符号化デバイスを示すブロック図である。
【図９】いくつかの例による、例示的なビデオ復号デバイスを示すブロック図である。
【発明を実施するための形態】
【００６１】
本開示のいくつかの態様および実施形態が以下で提供される。当業者には明らかであるように、これらの態様および実施形態のうちのいくつかは独立に適用されてよく、それらのうちのいくつかは組み合わせて適用されてよい。以下の説明では、説明の目的で、本発明の実施形態の完全な理解をもたらすように具体的な詳細が説明される。しかしながら、様々な実施形態がこれらの具体的な詳細なしで実践され得ることは明らかであろう。図および説明は限定的であることを意図しない。
【００６２】
以下の説明は、例示的な実施形態のみを提供し、本開示の範囲、適用可能性、または構成を限定することを意図しない。むしろ、例示的な実施形態の以下の説明は、例示的な実施形態を実施することを可能にする説明を当業者に提供する。添付の特許請求の範囲に記載したような本発明の趣旨および範囲から逸脱することなく、様々な変更が要素の機能および構成に加えられ得ることを理解されたい。
【００６３】
本実施形態の十分な理解をもたらすために、以下の説明において具体的な詳細が与えられる。しかしながら、本実施形態がこれらの具体的な詳細なしで実践され得ることが当業者によって理解されよう。たとえば、不必要な詳細で本実施形態を不明瞭にしないように、回路、システム、ネットワーク、プロセス、および他の構成要素はブロック図の形態で構成要素として示されることがある。他の事例では、本実施形態を不明瞭にすることを避けるために、よく知られている回路、プロセス、アルゴリズム、構造、および技法は、不必要な詳細なしで示されることがある。
【００６４】
また、個々の実施形態がフローチャート、流れ図、データフロー図、構造図、またはブロック図として示されるプロセスとして説明され得ることに留意されたい。フローチャートは逐次プロセスとして動作を説明することがあるが、動作の多くは並列または同時に実行され得る。加えて、動作の順序は並べ替えられてよい。プロセスは、その動作が完了するときに終了するが、図に含まれない追加のステップを有することがある。プロセスは、方法、機能、プロシージャ、サブルーチン、サブプログラムなどに相当し得る。プロセスが関数に相当するとき、その終了は、その関数が呼出し関数またはメイン関数に戻ることに相当し得る。
【００６５】
「コンピュータ可読媒体」という用語は、限定はされないが、ポータブルまたは非ポータブルの記憶デバイス、光記憶デバイス、ならびに命令および/またはデータを、記憶、包含、または搬送することができる様々な他の媒体を含む。コンピュータ可読媒体は、データを記憶することができ、ワイヤレスに、または有線接続を介して伝搬する搬送波および/または一時的な電子信号を含まない、非一時的媒体を含み得る。非一時的媒体の例は、限定はされないが、磁気ディスクもしくは磁気テープ、コンパクトディスク(CD)もしくはデジタル多用途ディスク(DVD)などの光記憶媒体、フラッシュメモリ、メモリ、またはメモリデバイスを含み得る。コンピュータ可読媒体には、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造、もしくはプログラムステートメントの任意の組合せを代表し得る、コードおよび/または機械実行可能命令が記憶されていることがある。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容を渡すことおよび/または受けることによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信などを含む、任意の適切な手段を介して渡されてよく、転送されてよく、または送信されてよい。
【００６６】
さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはこれらの任意の組合せによって実装されてよい。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実装されるとき、必要なタスクを実行するためのプログラムコードまたはコードセグメント(たとえば、コンピュータプログラム製品)は、コンピュータ可読媒体または機械可読媒体に記憶され得る。プロセッサは、必要なタスクを実行し得る。
【００６７】
ビデオエンコーダ、デコーダ、ビデオプレーヤ、および他のビデオ処理デバイスを使用する、ビデオ処理およびビデオコーディングのいくつかのシステムおよび方法が、本明細書で説明される。いくつかの例では、複数のネストされたメッセージおよび複数領域を定義するデータを各々含む領域ネスティングメッセージを提供するための、ビデオデータを処理する1つまたは複数のシステムおよび方法が説明される。領域ネスティングメッセージの例は、領域ネスティング補足強化情報(SEI)メッセージである。たとえば、領域ネスティングSEIメッセージは、ピクチャのために生成されることがあり、ピクチャの複数の領域を定義する領域データと、複数の領域に対して関数を実行するために使用されるデータを含む複数のネストされたSEIメッセージとを含むことがある。そのようなシステムおよび方法の詳細が、以下でさらに詳細に説明される。
【００６８】
より多くのデバイスおよびシステムが、デジタルビデオデータを消費するための能力を消費者に提供するので、効率的なビデオコーディング技法に対する需要がより重要になってきている。デジタルビデオデータの中に存在する大量のデータを処理するのに必要な記憶要件および送信要件を低減するために、ビデオコーディングが必要とされる。高いビデオ品質を維持しながらより低いビットレートを使用する形態へとビデオデータを圧縮するために、様々なビデオコーディング技法が使用され得る。
【００６９】
図1は、符号化デバイス104および復号デバイス112を含むシステム100の例を示すブロック図である。符号化デバイス104はソースデバイスの一部であってよく、復号デバイス112は受信デバイスの一部であってよい。ソースデバイスおよび/または受信デバイスは、モバイルもしくは固定の電話ハンドセット(たとえば、スマートフォン、携帯電話など)、デスクトップコンピュータ、ラップトップもしくはノートブックコンピュータ、タブレットコンピュータ、セットトップボックス、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイス、インターネットプロトコル(IP)カメラ、または任意の他の適切な電子デバイスなどの、電子デバイスを含み得る。いくつかの例では、ソースデバイスおよび受信デバイスは、ワイヤレス通信のための1つまたは複数のワイヤレストランシーバを含み得る。本明細書で説明されるコーディング技法は、(たとえば、インターネットを介した)ストリーミングビデオ送信、テレビジョン放送もしくは送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例を含む、様々なマルチメディア用途におけるビデオコーディングに適用可能である。いくつかの例では、システム100は、ビデオ会議、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、ゲーム、および/またはビデオ電話などの適用例をサポートするために、一方向または双方向のビデオ送信をサポートすることができる。
【００７０】
符号化デバイス104(すなわち、エンコーダ)は、符号化されたビデオビットストリームを生成するためのビデオコーディング規格またはビデオコーディングプロトコルを使用して、ビデオデータを符号化するために使用され得る。ビデオコーディング規格は、ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262またはISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual、およびそれのスケーラブルビデオコーディング(SVC)拡張とマルチビュービデオコーディング(MVC)拡張とを含むITU-T H.264(ISO/IEC MPEG-4 AVCとも呼ばれる)を含む。より最近のビデオコーディング規格、すなわちHigh-Efficiency Video Coding(HEVC)が、ITU-T Video Coding Experts Group(VCEG)およびISO/IEC Moving Picture Experts Group(MPEG)のJoint Collaboration Team on Video Coding(JCT-VC)によって確定された。MV-HEVCと呼ばれるHEVCのマルチビュー拡張、およびSHVCと呼ばれるHEVCのスケーラブル拡張、または任意の他の適切なコーディングプロトコルを含むHEVCの様々な拡張が、マルチレイヤビデオコーディングを扱い、同様にJCT-VCによって開発されている。
【００７１】
本明細書で説明される多くの実施形態が、HEVC規格またはその拡張を使用する例を説明する。しかしながら、本明細書で説明される技法およびシステムはまた、AVC、MPEG、それらの拡張、あるいは、すでに利用可能であるかまたはまだ利用可能ではないもしくは未開発の他の適切なコーディング規格などの、他のコーディング規格に適用可能であり得る。したがって、本明細書で説明される技法およびシステムは特定のビデオコーディング規格を参照して説明され得るが、説明がその特定の規格だけに適用されるものと解釈されるべきでないことを当業者は諒解されよう。
【００７２】
図1を参照すると、ビデオソース102は、符号化デバイス104にビデオデータを提供し得る。ビデオソース102は、ソースデバイスの一部であってよく、またはソースデバイス以外のデバイスの一部であってもよい。ビデオソース102は、ビデオキャプチャデバイス(たとえば、ビデオカメラ、カメラ付き携帯電話、ビデオ付き携帯電話など)、記憶されたビデオを含むビデオアーカイブ、ビデオデータを提供するビデオサーバもしくはコンテンツプロバイダ、ビデオサーバもしくはコンテンツプロバイダからビデオを受信するビデオフィードインターフェース、コンピュータグラフィックスビデオデータを生成するためのコンピュータグラフィックスシステム、そのようなソースの組合せ、または任意の他の適切なビデオソースを含み得る。
【００７３】
ビデオソース102からのビデオデータは、1つまたは複数の入力ピクチャまたは入力フレームを含み得る。ピクチャまたはフレームは、ビデオの一部である静止画像である。符号化デバイス104のエンコーダエンジン106(または、エンコーダ)は、ビデオデータを符号化して符号化されたビデオビットストリームを生成する。いくつかの例では、符号化されたビデオビットストリーム(または、「ビデオビットストリーム」もしくは「ビットストリーム」)は、一連の1つまたは複数のコーディングされたビデオシーケンスである。コーディングされたビデオシーケンス(CVS)は、ベースレイヤの中でいくつかの特性を伴うランダムアクセスポイントピクチャを有するアクセスユニット(AU)から、ベースレイヤの中でいくつかの特性を伴うランダムアクセスポイントピクチャを有する次のAUの直前までの、一連のAUを含む。たとえば、CVSを開始するランダムアクセスポイントピクチャのいくつかの特性は、1に等しいRASLフラグ(たとえば、NoRaslOutputFlag)を含み得る。そうではない場合、ランダムアクセスポイントピクチャ(0に等しいRASLフラグを有する)はCVSを開始しない。アクセスユニット(AU)は、1つまたは複数のコーディングされたピクチャと、同じ出力時間を共有するコーディングされたピクチャに対応する制御情報とを含む。ピクチャのコーディングされたスライスは、ビットストリームレベルで、ネットワーク抽象化レイヤ(NAL)ユニットと呼ばれるデータ単位の中にカプセル化される。たとえば、HEVCビデオビットストリームは、NALユニットを含む1つまたは複数のCVSを含み得る。NALユニットの各々は、NALユニットヘッダを有する。一例では、ヘッダは、H.264/AVCでは1バイト(マルチレイヤ拡張を除いて)、HEVCでは2バイトである。NALユニットヘッダの中のシンタックス要素は、指定されたビットを用い、したがって、すべての種類のシステム、および特にトランスポートストリーム、リアルタイムトランスポート(RTP)プロトコル、ファイルフォーマットなどのトランスポートレイヤにとって認識できる。
【００７４】
ビデオコーディングレイヤ(VCL)NALユニットおよび非VCL NALユニットを含む、NALユニットの2つのクラスがHEVC規格に存在する。VCL NALユニットは、コーディングされたピクチャデータの1つのスライスまたはスライスセグメント(以下で説明される)を含み、非VCL NALユニットは、1つまたは複数のコーディングされたピクチャに関する制御情報を含む。場合によっては、NALユニットはパケットと呼ばれることがある。HEVC AUは、コーディングされたピクチャデータを含むVCL NALユニット、および(もしあれば)コーディングされたピクチャデータに対応する非VCL NALユニットを含む。
【００７５】
NALユニットは、ビデオの中のピクチャのコーディングされた表現などの、ビデオデータのコーディングされた表現(たとえば、符号化されたビデオビットストリーム、ビットストリームのCVSなど)を形成するビットの列を格納し得る。エンコーダエンジン106は、各ピクチャを複数のスライスに区分することによって、ピクチャのコーディングされた表現を生成する。スライスの中の情報が、同じピクチャ内の他のスライスからのデータに依存することなくコーディングされるように、スライスは他のスライスとは無関係である。スライスは、独立したスライスセグメント、および存在する場合、前のスライスセグメントに依存する1つまたは複数の従属したスライスセグメントを含む、1つまたは複数のスライスセグメントを含む。スライスは、次いで、輝度サンプルおよび色差サンプルのコーディングツリーブロック(CTB)に区分される。輝度サンプルのCTB、および色差サンプルの1つまたは複数のCTBは、サンプル用のシンタックスとともにコーディングツリーユニット(CTU)と呼ばれる。場合によっては、CTUは最大コーディングユニット(LCU)とも呼ばれ得る。CTUは、HEVC符号化のための基本処理単位である。CTUは、様々なサイズの複数のコーディングユニット(CU)に分割され得る。CUは、コーディングブロック(CB)と呼ばれる輝度サンプルアレイおよび色差サンプルアレイを含む。
【００７６】
輝度CBおよび色差CBはさらに、予測ブロック(PB)へと分割され得る。PBは、(使用が可能または有効であるとき)インター予測またはイントラブロックコピー予測のために同じ動きパラメータを使用する輝度成分または色差成分のサンプルのブロックである。輝度PBおよび1つまたは複数の色差PBは、関連するシンタックスとともに予測ユニット(PU)を形成する。インター予測の場合、動きパラメータのセット(たとえば、1つまたは複数の動きベクトル、参照インデックスなど)は、PUごとにビットストリームの中でシグナリングされ、輝度PBおよび1つまたは複数の色差PBのインター予測のために使用される。イントラブロックコピー予測の場合、動きパラメータのセット(たとえば、1つまたは複数のブロックベクトルなど)も、PUごとにシグナリングされることがあり、イントラブロックコピー予測のために使用されることがある。CBはまた、1つまたは複数の変換ブロック(TB)へと区分され得る。TBは、予測残差信号をコーディングするために同じ2次元変換が適用される、色成分のサンプルの正方形ブロックを表す。変換ユニット(TU)は、輝度サンプルおよび色差サンプルのTB、ならびに対応するシンタックス要素を表す。
【００７７】
CUのサイズは、コーディングモードのサイズに対応し、形状が正方形であり得る。たとえば、CUのサイズは、8×8サンプル、16×16サンプル、32×32サンプル、64×64サンプル、または対応するCTUのサイズまでの任意の他の適切なサイズであってよい。本明細書では、「N×N」という語句は、垂直寸法および水平寸法に関してビデオブロックの画素寸法(たとえば、8ピクセル×8ピクセル)を指すために使用される。ブロック中の画素は、行および列に配置され得る。いくつかの実施形態では、ブロックは、水平方向において垂直方向と同じ数の画素を有しないことがある。CUと関連付けられるシンタックスデータは、たとえば、1つまたは複数のPUへのCUの区分を記述し得る。区分モードは、CUがイントラ予測モード符号化されるか、またはインター予測モード符号化されるかで異なり得る。PUは、形状が非正方形であるように区分され得る。CUと関連付けられるシンタックスデータはまた、たとえば、CTUに従った1つまたは複数のTUへのCUの区分を記述し得る。TUは、形状が正方形または非正方形であり得る。
【００７８】
HEVC規格によれば、変換は、変換ユニット(TU)を使用して実行され得る。TUは、異なるCUに対しては異なり得る。TUは、所与のCU内のPUのサイズに基づいてサイズが決定され得る。TUは、同じサイズであってよく、またはPUより小さくてよい。いくつかの例では、CUに対応する残差サンプルは、残差四分木(RQT)と呼ばれる四分木構造を使用して、より小さい単位に再分割され得る。RQTのリーフノードは、TUに対応し得る。TUと関連付けられる画素差分値は、変換係数を生成するために変換され得る。変換係数は、次いで、エンコーダエンジン106によって量子化され得る。
【００７９】
ビデオデータのピクチャがCUに区分されると、エンコーダエンジン106は、予測モードを使用して各PUを予測する。予測ユニットまたは予測ブロックは、次いで、残差(以下で説明される)を得るために元のビデオデータから減算される。CUごとに、予測モードが、シンタックスデータを使用してビットストリームの内部でシグナリングされ得る。予測モードは、イントラ予測(または、イントラピクチャ予測)またはインター予測(または、インターピクチャ予測)を含み得る。イントラ予測は、ピクチャ内で空間的に隣接するサンプル間の相関を利用する。たとえば、イントラ予測を使用して、各PUは、たとえば、PUに対する平均値を見出すためのDC予測、平面をPUに合わせるための平面予測、近隣のデータから外挿するための方向予測、または任意の他の適切なタイプの予測を使用して、同じピクチャの中の近隣の画像データから予測される。インター予測は、画像サンプルのブロックに対する動き補償予測を導出するために、ピクチャ間の時間的な相関を使用する。たとえば、インター予測を使用すると、1つまたは複数の(出力順序において現在のピクチャの前または後の)参照ピクチャの中の画像データからの動き補償予測を使用して、各PUが予測される。ピクチャエリアを、インターピクチャ予測を使用してコーディングすべきか、それともイントラピクチャ予測を使用してコーディングすべきかという決定は、たとえば、CUレベルにおいて行われ得る。
【００８０】
いくつかの例では、ピクチャの1つまたは複数のスライスは、スライスタイプが割り当てられる。スライスタイプは、Iスライス、Pスライス、およびBスライスを含む。Iスライス(独立に復号可能なイントラフレーム)は、イントラ予測のみによってコーディングされるピクチャのスライスであり、したがって、スライスのいずれの予測ユニットまたは予測ブロックを予測するのにもフレーム内のデータしか必要としないので、独立に復号可能である。Pスライス(単方向予測フレーム)は、イントラ予測を用いて、かつ単方向インター予測を用いてコーディングされ得るピクチャのスライスである。Pスライス内の各予測ユニットまたは予測ブロックは、イントラ予測またはインター予測のいずれかを用いてコーディングされる。インター予測が適用されるとき、予測ユニットまたは予測ブロックは、1つの参照ピクチャのみによって予測され、したがって、参照サンプルは、1つのフレームの1つの参照領域だけからのものである。Bスライス(双方向予測フレーム)は、イントラ予測を用いて、かつインター予測(たとえば、双予測または単予測のいずれか)を用いてコーディングされ得るピクチャのスライスである。Bスライスの予測ユニットまたは予測ブロックは、2つの参照ピクチャから双方向に予測されることがあり、ここで、各ピクチャは1つの参照領域に寄与し、2つの参照領域のサンプルセットが重み付けられて(たとえば、等しい重みを用いて、または異なる重みを用いて)、双方向予測されたブロックの予測信号を生成する。上で説明されたように、1つのピクチャのスライスは、独立にコーディングされる。場合によっては、ピクチャは、ただ1つのスライスとしてコーディングされ得る。
【００８１】
PUは、予測プロセスに関するデータ(たとえば、動きパラメータまたは他の適切なデータ)を含み得る。たとえば、PUがイントラ予測を使用して符号化されるとき、PUは、PUのためのイントラ予測モードを記述するデータを含み得る。別の例として、PUがインター予測を使用して符号化されるとき、PUは、PUの動きベクトルを定義するデータを含み得る。PUの動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分(Δx)、動きベクトルの垂直成分(Δy)、動きベクトルの分解能(たとえば、整数精度、1/4画素精度、または1/8画素精度)、動きベクトルが指す参照ピクチャ、参照インデックス、動きベクトルのための参照ピクチャリスト(たとえば、リスト0、リスト1、またはリストC)、またはこれらの任意の組合せを記述し得る。
【００８２】
符号化デバイス104は、次いで、変換および量子化を実行し得る。たとえば、予測に続いて、エンコーダエンジン106は、PUに対応する残差値を計算し得る。残差値は、コーディングされている画素の現在のブロック(PU)と現在のブロックを予測するために使用される予測ブロック(たとえば、現在ブロックの予測されたバージョン)との間の画素差分値を備え得る。たとえば、予測ブロックを生成した(たとえば、インター予測またはイントラ予測を送出した)後、エンコーダエンジン106は、予測ユニットによって生成された予測ブロックを現在ブロックから減算することによって、残差ブロックを生成することができる。残差ブロックは、現在のブロックの画素値と予測ブロックの画素値との間の差分を定量化する画素差分値のセットを含む。いくつかの例では、残差ブロックは、2次元のブロックフォーマット(たとえば、画素値の2次元行列または2次元アレイ)で表され得る。そのような例では、残差ブロックは、画素値の2次元表現である。
【００８３】
予測が実行された後に残り得るあらゆる残差データが、ブロック変換を使用して変換され、ブロック変換は、離散コサイン変換、離散サイン変換、整数変換、ウェーブレット変換、他の適切な変換関数、またはそれらの任意の組合せに基づき得る。場合によっては、1つまたは複数のブロック変換(たとえば、サイズ32×32、16×16、8×8、4×4、または他の適切なサイズ)が、各CUにおける残差データに適用され得る。いくつかの実施形態では、エンコーダエンジン106によって実施される変換プロセスおよび量子化プロセスのためにTUが使用され得る。1つまたは複数のPUを有する所与のCUはまた、1つまたは複数のTUを含み得る。以下でさらに詳細に説明されるように、残差値は、ブロック変換を使用して変換係数に変換されることがあり、次いで、エントロピーコーディングのための直列化された変換係数を生成するために、TUを使用して量子化および走査されることがある。
【００８４】
いくつかの実施形態では、CUのPUを使用するイントラ予測コーディングまたはインター予測コーディングに続いて、エンコーダエンジン106は、CUのTUに対する残差データを計算し得る。PUは、空間領域(すなわち、画素領域)における画素データを備え得る。TUは、ブロック変換を適用した後の、変換領域における係数を備え得る。前に述べられたように、残差データは、符号化されていないピクチャの画素とPUに対応する予測値との間の画素差分値に相当し得る。エンコーダエンジン106は、CUの残差データを含むTUを形成することができ、次いで、TUを変換してCUに対する変換係数を産生することができる。
【００８５】
エンコーダエンジン106は、変換係数の量子化を実行し得る。量子化は、変換係数を量子化することによってさらなる圧縮をもたらして、係数を表すために使用されるデータの量を低減する。たとえば、量子化は、係数の一部またはすべてと関連付けられるビット深度を低減し得る。一例では、nビット値を有する係数は、量子化の間にmビット値に切り捨てられてよく、nはmよりも大きい。
【００８６】
量子化が実行されると、コーディングされたビデオビットストリームは、量子化された変換係数、予測情報(たとえば、予測モード、動きベクトル、ブロックベクトルなど)、区分情報、および他のシンタックスデータなどの任意の他の適切なデータを含む。コーディングされたビデオビットストリームの様々な要素が次いで、エンコーダエンジン106によってエントロピー符号化され得る。いくつかの例では、エンコーダエンジン106は、既定の走査順序を利用して量子化された変換係数を走査し、エントロピー符号化され得る直列化されたベクトルを生成し得る。いくつかの例では、エンコーダエンジン106は適応走査を実行し得る。量子化された変換係数を走査してベクトル(たとえば、1次元ベクトル)を形成した後、エンコーダエンジン106は、ベクトルをエントロピー符号化し得る。たとえば、エンコーダエンジン106は、コンテキスト適応型可変長コーディング、コンテキスト適応型バイナリ算術コーディング、シンタックスベースコンテキスト適応型バイナリ算術コーディング、確率間隔区分エントロピーコーディング、または別の適切なエントロピー符号化技法を使用し得る。
【００８７】
前に説明されたように、ビデオビットストリームは、VCL NALユニットおよび非VCL NALユニットを含むNALユニットのグループを含む。VCL NALユニットは、コーディングされたビデオビットストリームを形成するコーディングされたピクチャデータを含む。たとえば、コーディングされたビデオビットストリームを形成するビットのシーケンスが、VCL NALユニットの中に存在する。非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を使用して、アクティブなパラメータセットが所与のスライスに対して識別され得る。
【００８８】
PPSは、所与のピクチャの中のすべてのスライスに適用される情報を含む。これにより、ピクチャの中のすべてのスライスは、同じPPSを参照する。異なるピクチャの中のスライスも、同じPPSを参照し得る。SPSは、同じコーディングされたビデオシーケンス(CVS)またはビットストリームの中のすべてのピクチャに適用される情報を含む。前に説明されたように、コーディングされたビデオシーケンスは、ベースレイヤの中で(上で説明された)いくつかの特性を伴うランダムアクセスポイントピクチャ(たとえば、瞬時復号参照(IDR:insaneous decode reference)ピクチャもしくはブロークンリンクアクセス(BLA:broken link access)ピクチャ、または他の適切なランダムアクセスポイントピクチャ)から、ベースレイヤの中でいくつかの特性を伴うランダムアクセスポイントピクチャを有する次のアクセスユニット(AU)の直前(または、ビットストリームの末尾)までの、一連のAUである。SPSの中の情報は、コーディングされたビデオシーケンス内でピクチャごとに変化しないことがある。コーディングされたビデオシーケンスの中のピクチャは、同じSPSを使用し得る。VPSは、コーディングされたビデオシーケンス内またはビットストリーム内のすべてのレイヤに適用される情報を含む。VPSは、コーディングされたビデオシーケンス全体に適用されるシンタックス要素を有するシンタックス構造を含む。いくつかの実施形態では、VPS、SPS、またはPPSは、符号化されたビットストリームとともに帯域内で送信され得る。いくつかの実施形態では、VPS、SPS、またはPPSは、コーディングされたビデオデータを含むNALユニットとは別個の送信の中で、帯域外で送信され得る。
【００８９】
ビデオビットストリームはまた、補足強化情報(SEI)メッセージを含み得る。たとえば、SEI NALユニットはビデオビットストリームの一部であり得る。場合によっては、SEIメッセージは、復号プロセスによって必要とされない情報を含み得る。たとえば、SEIメッセージの中の情報は、デコーダがビットストリームのビデオピクチャを復号するのに不可欠ではないことがあるが、デコーダは、SEIメッセージの情報を使用して、ピクチャの表示または処理(たとえば、復号された出力)を改善することができる。SEIメッセージの中の情報は、埋め込まれたメタデータであり得る。1つの説明のための例では、SEIメッセージの中の情報は、コンテンツの視認性を改善するためにデコーダ側のエンティティによって使用され得る。いくつかの事例では、いくつかのアプリケーション規格は、アプリケーション規格に適合するすべてのデバイスに品質の改善がもたらされ得るように、ビットストリームの中にそのようなSEIメッセージの存在を要求することがある(たとえば、frame compatible plano-stereoscopic 3DTVビデオフォーマットのためのframe-packing SEIメッセージの搬送、ここでこのSEIメッセージは、多くの他の例に加えて、ビデオの1つ1つのフレーム、recovery point SEIメッセージの処理、DVBにおけるpan-scan scan rectangle SEIメッセージの使用のために搬送される)。
【００９０】
符号化デバイス104の出力110は、符号化されたビデオビットストリームデータを構成するNALユニットを、通信リンク120を介して受信デバイスの復号デバイス112へ送信し得る。復号デバイス112の入力114は、NALユニットを受信し得る。通信リンク120は、ワイヤレスネットワーク、有線ネットワーク、または有線ネットワークとワイヤレスネットワークとの組合せによって提供される、チャネルを含み得る。ワイヤレスネットワークは、任意のワイヤレスインターフェースまたはワイヤレスインターフェースの組合せを含むことがあり、任意の適切なワイヤレスネットワーク(たとえば、インターネットまたは他のワイドエリアネットワーク、パケットベースネットワーク、WiFi(商標)、高周波(RF)、UWB、WiFi-Direct、セルラー、Long Term Evolution(LTE)、WiMax(登録商標)など)を含み得る。有線ネットワークは、任意の有線インターフェース(たとえば、ファイバ、イーサネット(登録商標)、電力線イーサネット、同軸ケーブルを介したイーサネット、デジタル信号ライン(DSL)など)を含み得る。有線ネットワークおよび/またはワイヤレスネットワークは、基地局、ルータ、アクセスポイント、ブリッジ、ゲートウェイ、スイッチなどの様々な機器を使用して実装され得る。符号化されたビデオビットストリームデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調されることがあり、受信デバイスへ送信されることがある。
【００９１】
いくつかの例では、符号化デバイス104は、符号化されたビデオビットストリームデータをストレージ108に記憶し得る。出力110は、エンコーダエンジン106から、またはストレージ108から、符号化されたビデオビットストリームデータを取り出し得る。ストレージ108は、分散されるかまたは局所的にアクセスされる様々なデータ記憶媒体のうちのいずれかを含み得る。たとえば、ストレージ108は、ハードドライブ、ストレージディスク、フラッシュメモリ、揮発性メモリもしくは不揮発性メモリ、または符号化されたビデオデータを記憶するための任意の他の適切なデジタル記憶媒体を含み得る。
【００９２】
復号デバイス112の入力部114は、符号化されたビデオビットストリームデータを受信し、デコーダエンジン116に、またはデコーダエンジン116による後の使用のためにストレージ118に、ビデオビットストリームデータを提供し得る。デコーダエンジン116は、エントロピー復号すること(たとえば、エントロピーデコーダを使用して)、および符号化されたビデオデータを構成する1つまたは複数のコーディングされたビデオシーケンスの要素を抽出することによって、符号化されたビデオビットストリームデータを復号し得る。デコーダエンジン116は、次いで、符号化されたビデオビットストリームデータを再スケーリングし、符号化されたビデオビットストリームデータに対して逆変換を実行し得る。残差データが、次いで、デコーダエンジン116の予測段に渡される。デコーダエンジン116は、次いで、画素のブロック(たとえば、PU)を予測する。いくつかの例では、逆変換の出力(残差データ)に予測が加算される。
【００９３】
復号デバイス112は、復号されたビデオをビデオ宛先デバイス122に出力することができ、ビデオ宛先デバイス122は、復号されたビデオデータをコンテンツの消費者に表示するためのディスプレイまたは他の出力デバイスを含み得る。いくつかの態様では、ビデオ宛先デバイス122は、復号デバイス112を含む受信デバイスの一部であり得る。いくつかの態様では、ビデオ宛先デバイス122は、受信デバイス以外の別個のデバイスの一部であり得る。
【００９４】
いくつかの実施形態では、ビデオ符号化デバイス104および/またはビデオ復号デバイス112は、それぞれ、オーディオ符号化デバイスおよびオーディオ復号デバイスと統合され得る。ビデオ符号化デバイス104および/またはビデオ復号デバイス112はまた、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、個別論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなどの、上で説明されたコーディング技法を実施するために必要な他のハードウェアまたはソフトウェアを含み得る。ビデオ符号化デバイス104およびビデオ復号デバイス112は、複合エンコーダ/デコーダ(コーデック)の一部としてそれぞれのデバイスにおいて統合され得る。符号化デバイス104の具体的な詳細の一例が、図8を参照して以下で説明される。復号デバイス112の具体的な詳細の一例が、図9を参照して以下で説明される。
【００９５】
HEVC規格の拡張は、MV-HEVCと呼ばれるマルチビュービデオコーディング拡張、およびSHVCと呼ばれるスケーラブルビデオコーディング拡張を含む。MV-HEVC拡張およびSHVC拡張は、異なるレイヤが符号化されたビデオビットストリームの中に含まれる、階層化コーディングの概念を共有する。コーディングされたビデオシーケンスの中の各レイヤは、固有のレイヤ識別子(ID)によってアドレス指定される。レイヤIDは、NALユニットが関連付けられているレイヤを識別するために、NALユニットのヘッダの中に存在し得る。MV-HEVCでは、異なるレイヤは、ビデオビットストリームの中で同じシーンの異なるビューを表すことができる。SHVCでは、異なる空間解像度(すなわち、ピクチャ解像度)で、または異なる再構築の忠実度でビデオビットストリームを表す、異なるスケーラブルレイヤが提供される。スケーラブルレイヤは、(レイヤID=0である)ベースレイヤ、および(レイヤID=1、2、...nである)1つまたは複数のエンハンスメントレイヤを含み得る。ベースレイヤは、HEVCの第1のバージョンのプロファイルに準拠することがあり、ビットストリームの中の最低の利用可能なレイヤを表す。エンハンスメントレイヤは、ベースレイヤと比較して向上した空間解像度、時間分解能もしくはフレームレート、および/または再構築の忠実度(すなわち、品質)を有する。エンハンスメントレイヤは、階層的に編成され、下位レイヤに依存することがある(または、依存しないこともある)。いくつかの例では、異なるレイヤは、単一の標準コーデックを使用してコーディングされ得る(たとえば、すべてのレイヤが、HEVC、SHVC、または他のコーディング規格を使用して符号化される)。いくつかの例では、異なるレイヤは、マルチスタンダードコーデックを使用してコーディングされ得る。たとえば、ベースレイヤがAVCを使用してコーディングされることがあり、1つまたは複数のエンハンスメントレイヤがHEVC規格に対するSHVC拡張および/またはMV-HEVC拡張を使用してコーディングされることがある。
【００９６】
一般に、レイヤは、VCL NALユニットのセット、および非VCL NALユニットの対応するセットを含む。NALユニットは、特定のレイヤID値を割り当てられる。レイヤが下位レイヤに依存することがあるという意味で、レイヤは階層的であり得る。レイヤセットは、自己完結型のビットストリーム内で表されるレイヤのセットを指し、自己完結型とは、レイヤセット内のレイヤが復号プロセスにおいてレイヤセット中の他のレイヤに依存し得るが、復号のためにいずれの他のレイヤにも依存しないことを意味する。したがって、レイヤセットの中のレイヤは、ビデオコンテンツを表すことができる独立したビットストリームを形成することができる。レイヤセットの中のレイヤのセットは、サブビットストリーム抽出プロセスの動作によって別のビットストリームから取得され得る。レイヤセットは、いくつかのパラメータに従って動作することをデコーダが望むときに復号されるべきレイヤのセットに相当し得る。
【００９７】
前に説明されたように、補足エンハンスメント情報(SEI)メッセージが、ビデオビットストリームに含まれ得る。HEVC規格は、コーディングされたピクチャの復号に必要ではないが、復号されたピクチャを処理するためにデコーダ側のエンティティにとって有益であり得る追加の情報(たとえば、コンテンツの視認性を高めるために復号された出力の表示または処理を改善するための)を提供する、いくつかのSEIメッセージを含む。一部のSEIメッセージは、とりわけ、適合性に関するものなどの、コーディングされたピクチャの復号に必要である。場合によっては、デコーダはSEIメッセージを構文解析または処理することが必要ではないが、一部のアプリケーション規格は、ビデオビットストリームにあるSEIメッセージが存在することを義務付ける要件を課し、場合によっては、特定の処理のためにこれらのSEIメッセージの中の情報を使用することを要求することがある。いくつかの例では、ネスティングSEIメッセージ(たとえば、スケーラブルネスティングSEIメッセージ)は、1つまたは複数のSEIメッセージを含み、1つまたは複数のSEIメッセージが1つまたは複数のビットストリームサブセットに(たとえば、レイヤのセットに)適用可能であることを示す。
【００９８】
図2は、例示的なビデオビットストリーム200の一部分の図である。ビデオビットストリーム200は、VPS231、SPS232、およびPPS233を含む。前に説明されたように、ビデオビットストリーム200のピクチャの各スライスは、復号デバイスがスライスを復号するために使用し得る情報にアクセスするために、(たとえば、VPS ID、SPS ID、およびPPS IDを使用して)アクティブなVPS、SPS、およびPPSを参照する。PPS233は、ピクチャ230などの所与のピクチャの中のすべてのスライスに適用される情報を含み得る。SPS232は、ビデオビットストリーム200の中のすべてのピクチャ、またはビデオビットストリーム200の同じコーディングされたビデオシーケンス(CVS)の中のすべてのピクチャに適用される情報を含み得る。VPS231は、ビデオビットストリーム200内のすべてのレイヤまたはビデオビットストリーム200のCVSに適用される情報を含み得る。たとえば、VPS231は、コーディングされたビデオシーケンス全体に適用されるシンタックス要素を伴うシンタックス構造を含み得る。図2に示される例では、VPS231、SPS232、およびPPS233は、ビデオビットストリーム200とともに帯域内でシグナリングされる。他の例では、VPS231、SPS232、および/またはPPS233は、コーディングされたビデオデータを含むビットストリーム200のNALユニットとは別個の送信の中で、帯域外で送信され得る。
【００９９】
ビデオビットストリームはまた、SEIメッセージ234、SEIメッセージ235、SEIメッセージ236、スライス237、およびスライス238を含む、ピクチャ230に関する情報を含む。ピクチャ230の2つのスライス237および238が図2の例では示されるが、ピクチャ230は2つより多くのスライスへと区分され得る。また、場合によっては、図2に示されるもの以外の情報が、ピクチャ230のためのビデオビットストリーム200に含まれ得る。
【０１００】
データ(たとえば、メタデータまたは他のデータ)のセットが、SEIメッセージ234、235、および236などのSEIメッセージに含まれ得る。データのセットは、(たとえば、ピクチャが復号される前または後に、ただし一般的には後に)ピクチャに対して1つまたは複数の関数を実行するために、デコーダデバイス、プレーヤデバイス、または受信機側の他のデバイスによって使用され得る。たとえば、SEIメッセージの中のデータのセットは、ピクチャに対して1つまたは複数の関数を実行するために、実行または使用され得る。別の例では、SEIメッセージの中のデータのセットは、1つまたは複数の領域に固有のコンテンツの特性を指定することができる。別の例では、SEIメッセージの中のデータのセットは、デコーダデバイス、プレーヤデバイス、または他のデバイスが(たとえば、デバイスの制約またはデバイスが動作する条件に従って)1つまたは複数の領域のコンテンツを処理するために使用できる、ヒントまたは他の情報を提供することができる。SEIメッセージの中のデータのセットは、様々な他の目的でも使用され得る。
【０１０１】
1つの説明のための例では、SMPTE-2094-1規格は、(たとえば、エンドユーザのデバイスの)標的のディスプレイがマスターディスプレイ(たとえば、ビデオ制作側の基準モニタ)と比較して異なる輝度、カラーボリューム、または伝達特性を持つと予想されるときなどに、ビデオコンテンツのカラーボリューム変換に有用な動的なメタデータを記述する。たとえば、メタデータは、マスターディスプレイ(たとえば、SMPTE ST 2086:201xで定義されるような)の特性によって制約され得るが、創造的な意図が確実に維持されるように、コンテンツ依存のメタデータも使用され得る。エンコーダから送信されるメタデータ情報は、標的のディスプレイが異なる特性を有するときに、表示されるべきピクチャにとって有益であり得る。いくつかの適用形態がSMPTE-2094関連の文書において規定されており、これらの適用形態を支援するためにメタデータの異なる搬送も規定される。ビデオ規格の文脈における適用形態(application)は、ビデオストリーミング、ビデオブロードキャスティング、ビデオ電話、ビデオ会議、および他のそのような使用事例を指すことがあるが、本文書における「適用形態(application)」という語は、カラーボリューム変換の一部がSMPTE-2094のもとで実行される際の具体的な条件を指すためにも使用される。そのような「適用形態」の例は、とりわけ、コンテンツがより小さいカラーボリュームまたはより低い輝度で表示されることになるとき、High Dynamic Range(HDR)コンテンツがStandard Dynamic Range(SDR)ディスプレイにおいて表示されることになるときを含む。他の「適用形態」も規定され得る。
【０１０２】
様々な適用形態にわたるSEIメッセージに含まれるデータ(たとえば、SMPTE-2094-1に対応するメタデータ)の一般的な特徴は、標的のディスプレイの特性(たとえば、特性の中でもとりわけ、原色、白色点)、持続性、メタデータが適用可能である領域の記述を含む。場合によっては、1つまたは複数のメタデータセットは、(SMPTE-2094規格の)異なる「適用形態」における領域(たとえば、長方形の領域または他の形状の領域)のために、異なる標的のディスプレイのために、および他の目的で送信され得る。たとえば、デコーダに送信されるメタデータ(たとえば、SMPTE-2094-1メタデータまたは他のメタデータ)は、メタデータが適用可能な領域と関連付けられ得る。
【０１０３】
図2に戻ると、SEIメッセージ234、SEIメッセージ235、およびSEIメッセージ236の各々は、ピクチャ230の異なる領域(たとえば、それを定義すること)と関連付けられる領域データと、特定のSEIメッセージに対応するピクチャ230の領域と関連付けられるメタデータとを含む。たとえば、SEIメッセージ234は、ピクチャ230の第1の領域を定義する領域1データ241と、第1の領域に対して実行され得る関数、第1の領域の特性、デバイス制約もしくは動作条件に関するヒントおよび/または他の情報などを定義するメタデータの第1のセット242とを含む。第1の領域は、図4Aに示された領域1 402と類似していることがある。SEIメッセージ235は、ピクチャ230の第2の領域を定義する領域2データ243と、第2の領域に適用される関数、特性、ヒントなどを定義するメタデータの第2のセット244とを含む。第2の領域は、図4Aに示された領域2 404と類似していることがある。SEIメッセージ236はまた、ピクチャの第1の領域を定義する領域1データ241と、第1の領域に適用される別の関数、他の特性、他のヒントなどを定義するメタデータの第3のセット245とを含む。
【０１０４】
様々な問題がビデオコンテンツのためのメタデータ(たとえば、SMPTE-2094メタデータまたはピクチャに関する他のデータ)について存在する。一例として、ピクチャ領域に適用可能なメタデータに対して、様々な適用形態を支援するために、2つ以上のメタデータセットが同じ領域のためにシグナリングされることがあり、この場合、所与の領域を定義するデータは、その領域に適用可能な各メタデータセットに対してシグナリングされる。たとえば、図2に示されるように、ピクチャ230の第1の領域を定義する領域1データ241は、SEIメッセージ234の中のメタデータ242と、SEIメッセージ236の中のメタデータ245の両方のためにシグナリングされる。しかしながら、各々の個々のメタデータセットに対して領域(たとえば、領域データ)を処理する(たとえば、シグナリングおよび/または受信する)のは非効率である。メタデータセットの数が非常に大きくなることがある。たとえば、所与の瞬間において、10個の標的のディスプレイの各々および15個の適用形態の各々に対して3つのメタデータセットが存在することがある。これらのメタデータセットの各々に対して領域データを個別に処理することは、問題を生み出し得る。
【０１０５】
他の問題がSEIメッセージに関して存在する。たとえば、一部のSEIメッセージは領域固有の方式で適用され得る。異なる領域固有の適用形態を支援するための共通の枠組みがないことで、複数のSEIメッセージにわたって領域固有のシンタックス要素が繰り返し定義されることになる。領域固有の適用形態または機能を有し得るSEIメッセージの1つの説明のための例には、フィルムグレイン合成のためのパラメトリックモデルをデコーダに伝えるために使用される、film grain characteristics SEIメッセージがある。フィルムグレイン特性は、ピクチャの異なる部分(たとえば、ピクチャの異なる領域)において異なるように知覚され得る。領域ベースのシグナリングを可能にすることは、これらの特性の記述を助ける。たとえば、そのような領域ベースのシグナリングは、同じピクチャの中に(たとえば、フィルムグレインモデルが適用され得る)自然な画像と(関連するフィルムグレインを有しないことがある)人工的に生成されたコンテンツとの両方がある混合コンテンツの場合に助けとなる。
【０１０６】
領域固有の適用形態を有し得るSEIメッセージの別の説明のための例は、tone mapping information SEIメッセージである。tone mapping information SEIメッセージは、特定のディスプレイ環境へのカスタマイズのための出力復号ピクチャの色サンプルの再マッピングを可能にするための、情報またはデータのセットを提供するためにシグナリングされる。1つの説明のための例では、いくつかのビデオの適用形態(たとえば、ニュース放送、スポーツイベント、または他のビデオの適用形態)は、異なるソースから現れるデータをディスプレイに同時に表示するためのピクチャインピクチャモードを許容する。これらの2つ(またはそれより多く)のビデオソースの特性は非常に異なり得る。たとえば、主要なビデオ(全体のディスプレイエリアを使用して表示される)は、照明条件が制御されているスタジオにおいてキャプチャされることがあり、(全体のディスプレイエリア上のより小さいウィンドウとして表示される)挿入ピクチャは、照明が非常に異なる(たとえば、暗い)自然の環境においてキャプチャされることがある。異なる特性を有する(異なるソースからの)異なるコンテンツが同じビデオに存在するとき、特定のソースに合わせたトーンマッピングを可能にすることが有益であろう。
【０１０７】
領域固有の適用形態を有し得るSEIメッセージの他の説明のための例は、post filter hint SEIメッセージおよびchroma resampling filter hint SEIメッセージである。たとえば、post filter hint SEIメッセージは、復号されたピクチャの後処理(Post-Processing)において使用するポストフィルタを設計するのに有用な情報またはデータのセットを示すために使用される。フィルタは、処理の影響を軽減するために、かつ/または表示されるコンテンツの品質を高めるために、コンテンツを処理するのに非常に有用である。ビデオ信号(またはコンテンツ)の特性は、コンテンツの領域の特性に基づいて変化する。chroma resampling filter hint SEIメッセージに対して同様の状況が当てはまる。
【０１０８】
領域固有の適用形態を有し得るSEIメッセージの別の説明のための例は、color remapping information SEIメッセージである。color remapping information(CRI)SEIメッセージはいくつかの目的を有し、そのうちの1つは、ある色表現から別の色表現へとコンテンツを適合させること(たとえば、BT.2020からBT.709、カラーボリューム変換、または他の色表現の適合もしくは変換)である。CRI SEIメッセージの別の目的は、様々な適用形態の要件を満たすためにビデオ信号を再び形作ることである。やはりここで、混合コンテンツおよび様々な特性を有するコンテンツに対して、適用されるべきSEIメッセージの中のCRIパラメータは、同じピクチャ内の異なる領域の間で異なり得る。
【０１０９】
領域固有の適用形態を有し得るSEIメッセージの別の説明のための例は、knee function information SEIメッセージである。ニー関数情報の領域ベースのシグナリングに対する動機は、トーンマッピング情報の場合と同様であり、特定のディスプレイ環境へのカスタマイズのための復号されたピクチャの色サンプルのマッピングを可能にするために情報を提供することである。違いは、トーンマッピング情報が非線形領域においてマッピング関数を適用する一方で、ニー関数情報は線形光領域においてマッピング関数を適用するということである。
【０１１０】
上の例のすべてにおいて、SEIメッセージの現在のシグナリングは、ピクチャ全体に適用される情報のシグナリングのみを許容する。実際のSEIメッセージを再定義することなく、領域ベースのシグナリングを許容することが有益であろう。
【０１１１】
さらに、既存のSEIメッセージは、領域固有のシグナリングを使用する異なる適用形態に対して再使用可能であり得る。1つの説明のための例として、SMPTE 2094-30規格は、color remapping information(CRI)SEIメッセージにおいてシグナリングされる情報を使用する。SMPTE 2094-30規格に対するCRI SEIメッセージの再定義を避けることが有益であろう。しかしながら、SMPTE 2094-30には、CRI SEIメッセージに含まれないいくつかのシンタックス要素がある。また、SMPTE 2094に固有のCRI SEIメッセージへの拡張は、鮮やかで効率的な設計ではないことがある。
【０１１２】
本明細書で説明される実施形態は、ビデオピクチャの領域に適用されるべきメッセージおよび/またはデータのセット(たとえば、メタデータまたは他のデータ)を生成するための方法およびシステムを含む。場合によっては、方法およびシステムは、ピクチャの領域のセット(またはサブセット)、メタデータおよび/またはデータ(たとえば、メタデータまたは他のデータ)のセット、ならびに領域へのメッセージの各々の関連付けをシグナリングすることができる。たとえば、メッセージおよび/またはデータのサブセットは、指定された領域のサブセットと関連付けられ得る。メッセージは、H.265/HEVC、H.264/AVC、BDA、MPEG、DVBまたは他のものなどの、ビデオコーディング規格およびビデオアプリケーション規格のための、ビデオビットストリームに含まれ得る、もしくはビデオビットストリームとともに含まれ得る、補足強化情報(SEI)メッセージまたは任意の他の適切なメッセージを含み得る。本明細書で説明される例は、1つまたは複数の他の例、実施形態、もしくは実装形態とは独立に、またはそれらと組み合わせて適用され得る。ループのある特定の反復と関連付けられる1つまたは複数のシンタックス要素は、ループのすべての反復と関連付けられてループの外側でシグナリングされることがあり、またはその逆であることがある。
【０１１３】
いくつかの例では、領域ネスティングメッセージがビデオピクチャのために生成され得る。領域ネスティングメッセージは、(たとえば、各ピクチャ領域を定義する領域データを使用して)ピクチャ領域のセットをシグナリングし、領域ネスティングメッセージの中のネストされたメッセージ(本明細書では「ネストされたメッセージ」または「領域ネスト可能なメッセージ」と呼ばれる)としてメッセージのセットをシグナリングし、ピクチャ領域へのネストされたメッセージの関連付けをシグナリングするために使用され得る。たとえば、領域のセット(1つまたは複数の領域を含む)は、領域と関連付けられるネストされたメッセージのセットとともに、領域ネスティングメッセージにおいて指定され得る。ピクチャの領域は、(たとえば、図4に示されるように)ピクチャの空間部分またはサブセットを含み得る。
【０１１４】
ピクチャの領域ネスティングメッセージにおいて定義されるネストされたメッセージは、ピクチャの1つまたは複数の領域に適用され得るデータの1つまたは複数のセット(たとえば、メタデータまたはデータの他のセット)を含み得る。いくつかの例では、ネストされたメッセージの中のデータのセットは、デコーダデバイス、プレーヤデバイス、または他のデバイスによって1つまたは複数の領域に対して実行されるべき機能を定義する。たとえば、データのセットは、film grain characteristics SEIメッセージ、tone mapping information SEIメッセージ、post filter hint SEIメッセージ、chroma resampling filter hint SEIメッセージ、color remapping information SEIメッセージ、knee function information SEIメッセージ、またはビデオピクチャの領域に対して関数を実行するために使用される任意の他の適切なデータを使用して実行される関数などの、任意の適切な関数を定義することができる。いくつかの例では、ネストされたメッセージの中のデータのセットは、1つまたは複数の領域に含まれるコンテンツの特性を定義する。1つの説明のための例では、データのセットは、1つまたは複数の領域に含まれるコンテンツの最大輝度を指定する情報を含み得る。場合によっては、データのセットの中の特性または他の情報は、1つまたは複数の領域に適用される別の関数によって使用され得る。いくつかの例では、ネストされたメッセージの中のデータのセットは、デバイスの制約またはデバイスが動作する条件に従って1つまたは複数の領域に含まれるコンテンツを処理するために、デコーダデバイス、プレーヤデバイス、または他のデバイスによって使用され得る、ヒントまたは他の情報を指定し得る。1つの説明のための例では、データのセットは、コンテンツを処理するのに適しているとエンコーダが見なし得るフィルタ係数の第1のセットについての情報を含むことがあり、デコーダデバイス、プレーヤ、または他のデバイスは、データのセットが関連付けられる1つまたは複数の領域に属するコンテンツに適用されるものとして、それらの係数を使用することを選ぶことがある。別の例では、デバイスは、係数の第1のセットを使用して係数の第2のセットを導出することがあり、1つまたは複数の領域のコンテンツに係数の第2のセットを適用することがある。
【０１１５】
領域ネスティングメッセージの中の領域データは、ピクチャの各領域を一度定義することができ、領域ネスティングメッセージの中のネストされたメッセージは、ネストされたメッセージの中のデータセットが適用されるべき領域を特定する領域識別子と関連付けられ得る。たとえば、領域ネスティングメッセージのネストされたメッセージは、ネストされたメッセージの中のあらゆるデータが適用されるべき領域を示す1つまたは複数の領域識別子を含み得る。領域識別子は、データのセットが適用されるべき領域を示すために、ネストされたメッセージの中のデータのセットに割り当てられ得る。場合によっては、領域ネスティングメッセージの中のデータの1つまたは複数のセットが適用可能であるピクチャの領域のみが、領域ネスティングメッセージの領域データによって定義される。たとえば、ピクチャが4つの領域を含むが、領域ネスティングメッセージの中のデータの1つまたは複数のセットが4つの領域のうちの2つだけに適用可能である場合、データの1つまたは複数のセットが適用される2つの領域のみが、領域ネスティングメッセージにおいて定義される。場合によっては、ピクチャのすべての領域が、領域ネスティングメッセージにおいて定義され得る。いくつかの例では、ネストされたメッセージの中の1つまたは複数のデータセットが適用される1つまたは複数の領域を(たとえば、領域識別子を使用して)示す、または指し示す、インデックスのセットがネストされたメッセージに含まれ得る。そのような技法を使用すると、領域データは、各々のネストされたメッセージに対して、またはピクチャに適用されるべきデータの各セットに対して、個別にシグナリングされる必要がない。
【０１１６】
領域ネスティングメッセージの一例は、領域ネスティング補足強化情報(SEI)メッセージである。ピクチャのための領域ネスティングSEIメッセージは、ピクチャの少なくとも1つの領域を定義する領域データを含むことがあり、データのセットおよび1つまたは複数の領域識別子を伴う複数のネストされたSEIメッセージも含むことがある。たとえば、1つまたは複数のネストされたSEIメッセージが適用される長方形の領域(または他の適切な形状を有する領域)を指定する、領域ネスティングSEIメッセージが生成されシグナリングされ得る。様々な例が、説明を目的にネストされたSEIメッセージを含むネスティングSEIメッセージを使用して以下で説明されるが、例により包含される概念は、ネストされたメッセージを含む他のタイプのネスティングメッセージにも適用可能であることを、当業者は理解するであろう。
【０１１７】
いくつかの例では、デバイス(たとえば、符号化デバイスまたは他の適切なデバイス)は、1つまたは複数のピクチャの領域のセットおよびメタデータセットまたはSEIメッセージのリストをシグナリングすることができる。たとえば、デバイスは、ピクチャの領域のセットおよびピクチャの領域の1つまたは複数と関連付けられるメタデータセットのリストをシグナリングすることができる。別の例では、デバイスは、ピクチャの領域のセットおよび領域の1つまたは複数と関連付けられるSEIメッセージをシグナリングすることができる。SEIメッセージは、ピクチャの領域に対して実行され得る関数を定義する、領域の特性を定義する、デバイスが領域を処理するために使用できるヒントまたは他の情報を定義する、デバイスの制約または動作条件に関係する、などのデータまたはメタデータのセットを含み得る。いくつかの態様では、上で説明されたように、領域のセットは、領域ネスティングSEIメッセージにおいてシグナリングされることがあり、ネスティングSEIメッセージは、領域のセットと関連付けられるネストされたSEIメッセージおよびメタデータを含み得る。
【０１１８】
図3は、ビデオビットストリームのピクチャのために生成される、領域ネスティングSEIメッセージ350の例を示す図である。領域ネスティングSEIメッセージ350は、復号デバイス112または領域ネスティングSEIメッセージ350を復号もしくは別様に処理できる他のデバイスなどの受信デバイスへ、ビデオビットストリームにおいてもしくはそれとともに領域ネスティングSEIメッセージ350を記憶または送信できる符号化デバイス104または他のデバイスなどの、デバイスによって生成され得る。領域ネスティングSEIメッセージ350は、ピクチャの中の複数領域を定義する領域データ351を含み、複数のネストされたSEIメッセージ(ネストされたSEIメッセージ352およびネストされたSEIメッセージ353)も含む。複数領域が領域データ351によって定義されるが、1つまたは複数のメタデータセットが1つの領域だけに適用可能である場合には、1つの領域だけが定義され得る。
【０１１９】
領域データ351は、領域1データ354、領域2データ355、領域Nデータ356までを含む。領域1データ354はピクチャの中の第1の領域を定義し、領域2データ355はピクチャの中の第2の領域を定義し、領域Nデータ356はピクチャの中の第Nの領域を定義する。所与の領域ネスティングSEIメッセージのための領域データによって定義される領域の数は、任意の適切な数の領域(たとえば、2つの領域、3つの領域、5つの領域、または任意の他の適切な数の領域)を含むことがあり、これは、ビデオコンテンツを定義するために使用される適用形態または規格によって定義され得る。場合によっては、エンコーダは、適用形態またはシグナリングされるメタデータおよびコンテンツに基づいて、ピクチャに対してどれだけの領域が定義されるかの決定を行うことができる。たとえば、ピクチャに対する領域の数は、ビットストリームにおいて、またはそれとともにシグナリングされ、デコーダ、プレーヤ、ディスプレイ、または他のデバイスが、ビットストリームから領域情報を取得する。
【０１２０】
いくつかの例では、領域データ351は、領域ネスティングSEIメッセージ350において指定されるピクチャの領域の数を含み得るので、これらの領域に対してシグナリングされるメタデータと関連付けられる情報は、領域の1つまたは複数に適用可能であり得る。たとえば、領域の数を示すシンタックス要素(たとえば、以下の例示的なシンタックスにおいて示されるrns_num_rect_regions、これはregional_nesting_num_rect_regionsとも書き直され得る)が、ネスティングSEIメッセージ350のシンタックスに含まれ得る。
【０１２１】
領域データ351は、様々な方法でピクチャの異なる領域を定義することができる。いくつかの例では、領域は長方形の領域となるように指定される。他の例では、領域は任意の他の適切な形状として指定され得る。たとえば、非長方形の領域がシグナリングされることがあり、メタデータが適用可能であり得る領域およびサンプルを示すことと関連付けられるシンタックス要素がシグナリングされる。
【０１２２】
いくつかの例では、領域データ351は、領域の境界を指定するシンタックス要素のセットを含み得る。いくつかの実装形態では、領域の境界は、ピクチャの対応する境界からの領域境界のオフセットを指定することによって定義され得る。領域の境界オフセットを指定するシンタックス要素の例が、例示的なシンタックス構造において以下で示されている(たとえば、rns_rect_region_left_offset[ i ]、rns_rect_region_top_offset[ i ]、rns_rect_region_ right_offset[ i ]、およびrns_rect_region_bottom_offset[ i ])。たとえば、rns_rect_ region_left_offset[ i ]は、ネスティングSEIメッセージにおいて指定される左側のピクチャ境界からの、i番目の長方形の領域の左上サンプルの水平方向のオフセットを指定する。いくつかの実装形態では、領域データ351は、長方形の領域の左上サンプルおよび右下サンプルの位置を指定する、境界と関連付けられるシンタックス要素を含む。長方形の領域の右上および左下のサンプルをシグナリングすること、または境界をシグナリングすることの任意の他の適切な形式などの、境界をシグナリングすることの他の形式も使用され得る。
【０１２３】
いくつかの例では、領域はピクチャの境界上で指定される。復号されたピクチャの境界および出力されたピクチャの境界(または適合クロッピングが行われた(conformance cropped)境界もしくはウィンドウ)を含む、様々なタイプのピクチャの境界がある。復号されたピクチャの境界は、復号ピクチャバッファにおいて復号され記憶されるものである。しかしながら、出力される前に、ピクチャは(たとえば、復号されたピクチャより小さいサイズへと)サイズが変更され得る。たとえば、復号されたピクチャは、ピクチャの解像度が最小のコーディングユニット(CU)のサイズの倍数ではないこと、復号されたピクチャが出力のために提示可能ではない可能性がある何らかの情報またはコンテンツを有すること、または他の理由などの、1つまたは複数の理由により、出力されたピクチャとは異なることがある。
【０１２４】
いくつかの例では、領域は復号されたピクチャの境界上で指定される。たとえば、ピクチャの長方形の領域(または他の形状)に対するオフセットは、輝度サンプルの場所(または色差などのピクチャの他の色成分)の単位で指定され得る。1つの説明のための例では、i番目の長方形の領域は、両端を含めてSubWidthC * regional_nesting_rect_left_offset[ i ]からpic_width_in_luma_samples - (SubWidthC * regional_nesting_rect_right_offset[ i ] + 1)までの水平方向のピクチャ座標と、両端を含めてSubHeightC * regional_nesting_rect_top_offset[ i ]からpic_height_in_luma_samples - (SubHeightC * regional_nesting_rect_bottom_offset[ i ] + 1)までの垂直方向のピクチャ座標とを伴う、輝度サンプルを含む。SubWidthCおよびSubHeightCは、シンタックス要素をサンプルの単位へとスケーリングするために使用される。たとえば、4:2:0のビデオでは、境界が偶数の行および列において開始しない場合、色差値が領域に属するかどうかが不明確である。よって、4:2:0のビデオを使用するこの例では、2サンプルという単位を使用することができ、この場合、SubWidthCおよびSubHeightCはともに2である。別の例では、4:4:4のビデオでは、SubWidthCおよびSubHeightCは1である。
【０１２５】
いくつかの例では、領域は適合クロッピングが行われたウィンドウ上で指定される。たとえば、場合によっては、最小のCUサイズの整数倍ではないピクチャサイズが、任意のサンプル値を使用してピクチャエリアを拡張し、パラメータセット(たとえば、PPS、SPS、VPSなど)において適合クロッピングウィンドウを指定することによって、コーディングされ得る。たとえば、クロッピングウィンドウは、コーディングされたピクチャの出力領域を示すためのパラメータを含み得る。いくつかの例では、クロッピングウィンドウパラメータは、出力されたピクチャがいつ復号されたピクチャより小さいかを示すことができる。
【０１２６】
いくつかの例では、領域はピクチャ境界によって指定されるエリア上で指定され、ピクチャ境界は、ピクチャの幅およびピクチャの高さと関連付けられるビットストリームの中のシンタックス要素によって指定される。たとえば、復号されたピクチャの境界および出力されたピクチャの境界以外の、境界を指定する他の手段がある場合、領域はそれらの境界に対して指定され得る。
【０１２７】
いくつかの例では、領域がパンスキャン長方形(pan-scan rectangle)のシグナリングに基づいてシグナリングされる。場合によっては、パンスキャン長方形は、出力されたピクチャがいつ復号されたピクチャより小さいかを示すための、適合クロッピングウィンドウパラメータを提供することができる。たとえば、パンスキャン長方形シンタックスは、(たとえば、SPS、PPS、またはVPSなどのアクティブなパラメータセットによって指定される)適合クロッピングウィンドウに対する相対的な1つまたは複数の長方形の座標を指定することができる。1つの説明のための例において、各座標は、輝度サンプリング格子に対して相対的に1/16の輝度サンプルの間隔という単位で指定され得る。あらゆる間隔が座標のために使用され得ることを当業者は理解するであろう。パンスキャン長方形は、SEIメッセージに含まれることがあり、または、ビットストリームにおいてシグナリングされることがあり、またはビットストリームの外側で運ばれることがある。パンスキャン長方形は、上で説明された領域IDに基づいて、領域ネスティングSEIメッセージ350と関連付けられ得る。
【０１２８】
領域データ351はまた、1つまたは複数の領域と関連付けられるサンプル(たとえば、ピクチャの画素)を含み得る。一例では、領域1データ354は、第1の領域のID、第1の領域の境界を定義する情報、および第1の領域と関連付けられるサンプルを含み得る。シンタックス要素のセットは、第1の領域の領域ID、境界、およびサンプルを指定するために使用され得る。いくつかの実装形態では、領域は、領域の境界内に入るサンプルのすべてを含み得る。いくつかの実装形態では、領域の境界内にあるサンプルに加えて、領域の境界上のサンプル、または領域の境界の近くにあるものとして導出されるサンプルも、領域に適用されるためにシグナリングされるメタデータと関連付けられる。たとえば、第1の領域の領域IDは、第1の領域の境界内にある画素にマッピングされることがあり、また、第1の領域の境界の近くにあるものとして導出される境界および/またはサンプル上の画素にマッピングされることがある。
【０１２９】
いくつかの実装形態では、所与のピクチャのために指定される2つ以上の領域と関連付けられるサンプルが存在しないように、いずれの特定のピクチャのためにシグナリングされる領域も重複しない。他の実装形態では、ピクチャのための領域は重複していてもよく、この場合、サンプルは複数領域に属し得る。
【０１３０】
いくつかの例では、領域データ351は、領域データ351によって定義される各領域のIDを含み得る。たとえば、領域1データ354は第1の領域の第1のIDを含むことがあり、領域2データ355は第2の領域の第2のIDを含むことがある。領域IDをシグナリングするためのシンタックス要素の例が以下に示される(たとえば、SEIメッセージにおいて指定されるi番目の長方形の領域の識別子を示す、rns_rect_region_id[ i ])。領域IDは、識別子と関連付けられる領域への、特定のネストされたSEIメッセージの中のメタデータの適用可能性を決定するために使用され得る。場合によっては、異なる領域の領域IDは、領域が関連付けられるネストされたSEIメッセージ352および353の中のメタデータ357、359と関連付けられ得る。場合によっては、領域IDはピクチャの中の領域の優先度を示すために使用され得る。1つの説明のための例では、サンプルが2つ以上の領域と関連付けられるとき、サンプルに適用可能なメタデータは、サンプルを含みサンプルを含む領域の中で最大の値の識別子を有する、領域と関連付けられるメタデータである。たとえば、第1のネストされたSEIメッセージ352(およびメタデータ357)は第1の領域に適用可能であることがあり、第2のネストされたSEIメッセージ353(およびメタデータ359)は第2の領域に適用可能であることがある。そのような例では、ピクチャの中のサンプルが第1の領域および第2の領域の中にあり、第2の領域が第1の領域より高い領域IDを有する場合、ネストされたSEIメッセージ353のメタデータ359は、デコーダまたは他のデバイスによってサンプルに適用される。いくつかの例では、この優先度の順位付けは、タイプまたは目的が同じでありピクチャの重複した領域のために定義され得る、複数のメタデータを選ぶときに使用される。たとえば、優先度に基づいて適用すべきSEIメッセージおよび/またはメタデータを選ぶことは、同じタイプのネストされたSEIメッセージに制約され得る。1つの説明のための例では、領域1および領域2が重複する場合、かつtone map SEIが領域1に適用されCRIメッセージが領域2に適用される場合、優先度についての問題はない。しかしながら、第1のタイプのネストされたSEI(たとえば、ネストされたtone map SEI)が領域1に適用され、第1のタイプの別のネストされたSEIが領域2に適用されるときに問題が発生することがあり、この場合、2つの領域の重複する画素を解決するために優先度が使用され得る。
【０１３１】
優先度を用いて領域をシグナリングすることは、シグナリングをより効率的にするのを助けることができる。たとえば、図4Aに示されるように、ピクチャ400Aは、第1の領域402(領域1)および第2の領域404(領域2)を含む、2つの領域を含む。第2の領域404はピクチャの中央の小さい長方形の領域であり、第1の領域402はピクチャの残りである。一例では、ピクチャの第1の領域402は適用されるメタデータの1つのセット(たとえば、メタデータ357)を有し、ピクチャの残り(第2の領域404)は適用されるメタデータの別のセット(たとえば、メタデータ359)を有する。第1の領域402は、第2の領域404より低い優先度で完全なピクチャとしてシグナリングされ得る。たとえば、優先識別子(ID)を使用すると、2つの領域しか指定する必要がなく、第2の領域404がより高い優先IDを有する。優先IDがないと、図4Bに示されるように、5つの領域を指定しなければならない。たとえば、優先IDがないと、ピクチャは重複する領域を有することが可能ではなく、それは、重複する領域がどのように扱われるかが明確ではないからである。1つの説明のための例では、図4Bに示されるように、優先度を使用しないことで5つの領域がシグナリングされることになり、それは、それらの領域が重複してはならないからである。
【０１３２】
いくつかの態様では、デバイス(たとえば、符号化デバイスまたは他のデバイス)は、ネスティングSEIメッセージの中の領域の境界および適用可能なサンプルを定義するために使用される単位を(たとえば、シンタックス要素を使用して)指定するように、領域データ351を生成することができる。たとえば、シンタックス要素の値は、使用される単位がサンプルの場所であることを指定し得る。いくつかの実装形態では、領域の境界を記述するための単位として使用されるサンプルの場所は、輝度サンプルの場所に対応する。たとえば、長方形の領域に対するオフセットは、輝度サンプルの場所の単位で指定され得る。いくつかの実装形態では、サンプルの場所は、ピクチャの成分(たとえば、輝度成分、色差成分、輝度成分と色差成分の組合せなど)のうちの1つまたは複数の場所に対応し得る。別の例では、別の値が、その単位を、コーディングツリーユニット(CTU)の単位となるように指定し得る。別の例では、その単位がタイルであることを、さらなる値が指定し得る。いくつかの例では、タイルがビットストリームにおいて有効であるか否かに基づいて、シンタックス要素に対する制約が含まれ得る。
【０１３３】
いくつかの実施形態では、領域を指定する1つまたは複数のシンタックス要素が有効な領域を表すように、または空ではない領域を表すように、制約が領域ネスティングSEIメッセージ350のシンタックスまたはセマンティクスに追加され得る。たとえば、制約は、同じ場所の座標が別のサンプルの場所の別の座標より小さいこと、または大きいことを示し得る。1つの説明のための例では、領域の左上サンプルの場所の水平方向の座標が右下サンプルの場所の水平方向の座標より小さいことを示す、制約が追加され得る。別の説明のための例では、領域の左上サンプルの場所の垂直方向の座標が右下サンプルの場所の垂直方向の座標より小さいことを示す、同様の制約が追加され得る。指定される領域が空ではないこと、または有効な領域であることを確実にするために、他の形式の画像境界が指定されるとき、同様の制約が追加され得る。そのような制約の1つの説明のための例は次の通りである。すなわち、SubWidthC * (regional_nesting_rect_left_offset[ i ] + regional_nesting_rect_right_offset[ i ])の値がpic_width_in_luma_samplesより小さいものとし、SubHeightC * (regional_nesting_rect_top_offset[ i ] + regional_nesting_rect_bottom_offset[ i ])の値はpic_height_in_luma_samplesより小さいものとする。
【０１３４】
いくつかの実施形態では、特定のタイプ(または目的)のネストされたSEIメッセージの1つまたは複数のインスタンスがピクチャの2つ以上の領域のために定義されるとき、領域の識別子の値(たとえば、rns_rect_region_idまたはregional_nesting_rect_region_idなどのシンタックス要素を使用してシグナリングされ得る、領域ID)は、2つ以上の領域のいずれに対しても同じではないものとするような制約が、ネスティングSEIメッセージ350のシンタックスまたはセマンティクスに追加され得る。いくつかの例では、SEIメッセージのタイプはpayloadType変数によって定義される。いくつかの例では、SEIメッセージのタイプは、SEIメッセージの中のpayloadType変数とシンタックス要素のサブセットの値との組合せによって定義される。そのような制約の1つの説明のための例は次の通りである。すなわち、それは、regional_nesting_rect_region_id[ i ]の値が領域ネスティングSEIメッセージにおいて両端を含めて0からregional_nesting_num_rect_regions - 1の範囲のiのいずれの2つの異なる値に対しても同じではないものとするという、ビットストリーム適合の要件である。また、listOfRegionNestableMessageTypesの中の特定のタイプのSEIメッセージが1つの領域ネスティングSEIメッセージの中に存在し、現在のピクチャの中の領域のリストlistAに適用され、listOfRegionNestableMessageTypesの中の同じタイプの別のSEIメッセージが領域ネスティングSEIメッセージの中に存在し、現在のピクチャの中の領域のリストlistBに適用されるとき、その制約は、listAから一方を選びlistBから他方を選ぶことによって形成されるあらゆるペアまたは領域に対して、2つの領域のregional_nesting_rect_region_id[ ]の値は、2つの領域が同一でありかつ2つのSEIメッセージが同一でない限り、同じではないものとするというビットストリーム適合の要件である。
【０１３５】
前に説明されたように、デバイスは、ネストされたSEIメッセージ352および353の領域固有の適用形態をデバイスがデコーダまたは他のデバイスにシグナリングするように、領域ネスティングSEIメッセージ350を生成することができる。図3に戻ると、領域ネスティングSEIメッセージ350は、ネストされたSEIメッセージ352およびネストされたSEIメッセージ353を含む、2つのネストされたSEIメッセージを有するものとして示されている。領域ネスティングSEIメッセージ350は、任意の適切な数のネストされたSEIメッセージを含み得ることを、当業者は諒解するであろう。領域ネスティングSEIメッセージ350にネストされるネストされたSEIメッセージ350の数は、ピクチャの領域の数に基づくことがあり、ピクチャに適用されることになる適用形態もしくは関数の数に基づくことがあり、ピクチャの領域に対して指定されるべきであるとエンコーダもしくは他のデバイスが決定する特性の数に基づくことがあり、または他のパラメータに基づくことがある。
【０１３６】
異なるネストされたSEIメッセージ352および353は、エンコーダまたは他のデバイスによって生成され、異なる目的でデコーダまたは他のデバイスによって使用され得る。ネストされたSEIメッセージ352および353は、SEIメッセージ352、353の目的を達成する異なるメタデータを有する。一例では、SEIメッセージ352または353のメタデータは、SEIメッセージ352または353の目的に関する機能を実行するために、デコーダデバイス、プレーヤ、または他のデバイスによって使用され得る。別の例では、SEIメッセージ352または353のメタデータは、SEIメッセージ352または353の目的に従って、ピクチャの(たとえば、ピクチャの領域の)特性を指定することができる。異なるネストされたSEIメッセージ352および353は、ネストされたSEIメッセージの目的を示す定義されたタイプを有し得る。たとえば、ネストされたSEIメッセージ352は第1のタイプを有し第1の目的で使用されることがあり、ネストされたSEIメッセージ353は第2のタイプを有し第2の目的で使用されることがある。ネストされたSEIメッセージ352および353は、ビデオピクチャの領域に適用可能な任意の目的で使用され得る。ネストされたSEIメッセージ352、353のSEIまたはメタデータのタイプの説明のための例は、film grain characteristics SEIメッセージ、post filter hint SEIメッセージ、chroma resampling filter hint SEIメッセージ、tone mapping information SEIメッセージ、knee function information SEIメッセージ、chroma remapping information SEIメッセージ、または、ピクチャの1つまたは複数の領域に領域ごとに適用され得る任意の他のSEIメッセージもしくはデータセットを含み得る。
【０１３７】
1つの説明のための例では、ネストされたSEIメッセージ352は、第1のダイナミックレンジから第2のダイナミックレンジに、たとえばハイダイナミックレンジ(HDR)からスタンダードダイナミックレンジ(SDR)に変換するために使用され得る。たとえば、ハイダイナミックレンジ/広色域(HDR/WCG)でマスタリングされたソースコンテンツは、SDRディスプレイなどのより小さいカラーボリューム(たとえば、コンテンツがマスタリングされたものと比較して、より低い輝度範囲もしくはより小さい色域、またはより低い輝度範囲およびより小さい色域)を有するディスプレイでの提示のために変換され得る。そのような例では、ネストされたSEIメッセージ352はCRI SEIメッセージを含むことがあり、ネストされたSEIメッセージ352のメタデータ357はダイナミックレンジ変換を実行するために使用されるデータを含むことがある。たとえば、メタデータ357は、プレルックアップテーブル、色再マップ行列、およびポストルックアップテーブルを含み得る。プレルックアップテーブルおよびポストルックアップテーブルは、異なるまたは同様の区分線形関数(たとえば、各色成分に対する区分線形関数)を含み得る。色再マップ行列は、3つの色成分が存在するときは3×3行列などの、線形モデルを含み得る。たとえば、色再マップ行列は、各ピクチャサンプルのすべての色成分にわたって適用されることがあり、色成分の係数をマッピングするために使用されることがある。
【０１３８】
別の説明のための例では、ネストされたSEIメッセージ353は、トーンマッピングのために使用されることがあり、tone mapping information SEIメッセージを含むことがある。ネストされたSEIメッセージ353のメタデータ359は、1つまたは複数の領域ID360によって指定される1つまたは複数の領域に対してトーンマッピングを実行するために使用されるデータを含み得る。
【０１３９】
いくつかの実装形態では、デバイスは、デバイスがネストされたSEIメッセージ(たとえば、ネストされたSEIメッセージ352、353)のセマンティクスを規定する結果として、ネストされたSEIメッセージまたはメタデータセットの各々がネストされたSEIメッセージにおいて指定される(たとえば、1つまたは複数の領域ID358および360によって示されるような)領域の1つまたは複数に適用可能であるように、領域ネスティングSEIメッセージ350を生成することができる。場合によっては、どの領域にネストされたSEIメッセージが適用可能であるかを示すために、1つまたは複数の領域識別子(ID)、インデックス、またはポインタが、ネストされたSEIメッセージに含まれることがあり、またはそれと関連付けられることがある。たとえば、各々のネストされたSEIメッセージ(たとえば、ネストされたSEIメッセージ352、353)またはメタデータセット(たとえば、メタデータ357、359)に対して、デバイスは、ネストされたSEIメッセージと関連付けられる領域のリストにインデックス、識別子、またはポインタのセットをシグナリングするために、領域ネスティングSEIメッセージ350を生成することができ、インデックス、識別子、またはポインタのセットは、ネストされたSEIメッセージまたはメタデータセットがインデックス、識別子、またはポインタの各々によって示される各領域に適用されるべきであることを示す。図3に示されるように、ネストされたSEIメッセージ352において定義される1つまたは複数の領域ID358は、メタデータ357が適用されるべきである(領域データ351によって定義される)ピクチャの1つまたは複数の領域に示す。たとえば、1つまたは複数の領域ID358は、対応する領域を指し示すインデックスまたはポインタとして含まれ得る。場合によっては、デコーダ(または他のデバイス)は、1つまたは複数の領域ID358によって指定されるピクチャの1つまたは複数の領域だけに、メタデータ357を適用する(およびしたがって、関数を実行し、特性を解釈し、またはメタデータ357と関連付けられるヒントもしくは他の情報を使用する)ことができる。デコーダはまた、1つまたは複数の領域ID360によって指定されるピクチャの1つまたは複数の領域だけにメタデータ359を適用することができる。領域ID358および360は、領域のパラメータを再定義せず、むしろ領域データ351によって定義される領域を参照する。したがって、領域は、領域ネスティングSEIメッセージ350の中の各々のネストされたSEIメッセージに対して再定義される必要がない。領域ネスティングSEIメッセージ350の中のネストされたSEIのすべてに対して一度だけ領域を定義することによって、バイトの数が節約され、このことは、利点の中でもとりわけ、コーディング効率および帯域幅を向上させることができる。
【０１４０】
いくつかの実装形態では、デバイスは、現在のピクチャと関連付けられ得る1つまたは複数のSEIメッセージにインデックス、識別子、またはポインタのリストを含めるように、領域ネスティングSEIメッセージ350を生成することができる。いくつかの例では、SEIメッセージへのインデックス、識別子、またはポインタのリストは、領域ネスティングSEIメッセージ350内で明示的なネスティングSEIメッセージの代わりにシグナリングされ得る。インデックス、識別子、またはポインタは、SEIメッセージにおいてシグナリングされる1つまたは複数の識別子、SEIメッセージのペイロードタイプ、または他の形式の識別情報を含み得る。
【０１４１】
いくつかの実装形態では、デバイスは、領域ネスティングSEIメッセージ350が領域ネスティングSEIメッセージ350の目的を特定する1つまたは複数のシンタックス要素を含むように、領域ネスティングSEIメッセージ350を生成することができる。たとえば、目的は、ネスティングSEIメッセージ350の中のネストされたSEIメッセージの目的および/またはセマンティクスと矛盾せず、ネストされたメッセージのすべてが寄与する目的全体を支配することができる。一例では、ID値1は、レガシーディスプレイにおけるビデオコンテンツの最良の再現性を提供するために、ネストされたSEIメッセージが一緒に(たとえば、トーンマッパ、フィルタなど)使用されることを示し得る。別の例では、ID値は外部のアプリケーション規格によって使用され得る。いくつかの例では、領域ネスティングSEIメッセージ350の中のネストされたSEIメッセージの目的またはSEIメッセージを使用するアプリケーションを決定する、1つまたは複数の識別子がシグナリングされ得る。いくつかの例では、識別子はまた、ネスティングSEIメッセージ350内の1つまたは複数のシンタックス要素のシンタックスおよびセマンティクスを指定するために使用され得る。識別子の例示的なシンタックス要素は、以下に示される例示的なシンタックス(たとえば、rns_idまたはregional_nesting_idのような)において示される。
【０１４２】
いくつかの実装形態では、デバイスは、領域ネスティングSEIメッセージ350がネスティングSEIメッセージ350においてシグナリングされるSEIメッセージまたはメタデータセットの数を含むように、領域ネスティングSEIメッセージ350を生成することができる。その数をシグナリングするための例示的なシンタックス要素は、以下に示される例示的なシンタックス(たとえば、num_seis_in_rns_minus1またはnum_sei_messages_in_regional_nesting_minus1のような)において示される。いくつかの実装形態では、デバイスは、ネスティングSEIメッセージにおいてシグナリングされるSEIメッセージまたはメタデータセットの数を導出するために使用される数をシグナリングすることができる。
【０１４３】
いくつかの実装形態では、領域ネスティングSEIメッセージ350は、シグナリングされるバイトの数を示す数と、それに続いて、各々のネストされたSEIメッセージ(ネストされたSEIメッセージ352、353)と関連付けられるバイトまたはネスティングSEIメッセージ350と関連付けられる各メタデータセット(たとえば、メタデータ357、359)とを含むように生成され得る。バイトの解釈は、HEVCまたは他の関連規格の外部の手段によって規定されることがあり、または、領域ネスティングSEIメッセージ350の識別子の値に基づくことがある。
【０１４４】
いくつかの実装形態では、ネスティングSEIメッセージ(たとえば、領域ネスティングSEIメッセージ350)の持続性が、ネスティングSEIメッセージにおいてネストされるネストされたSEIメッセージまたはメタデータセットの持続性に関して規定される。第1のピクチャに適用可能な(または、適用可能なとき、アクセスユニットに適用可能な)SEIメッセージの持続性または持続範囲は、SEIメッセージが適用可能である第1のピクチャを含むレイヤ内のピクチャを示す(または、適用可能なとき、アクセスユニットを示す)。場合によっては、各々のネストされたSEIメッセージは、SEIメッセージがネストされていないかのように同じ持続範囲を有する。異なるSEIメッセージタイプの持続範囲の例が、以下のTable 1(表1)に示されている。場合によっては、ネストされたSEIメッセージは領域ネスティングSEIメッセージにおいて定義される領域に独立に適用され、ネストされたSEIメッセージの持続性は各ウィンドウに独立に適用される。いくつかの例では、ネストされたSEIメッセージの持続性は無視されることがあり、持続性は、ネスティングSEIメッセージ内で、シグナリングされる1つまたは複数のシンタックス要素によって指定され、またはセマンティクスによって指定されることがある。
【表１】
2019515572.tif 000003
【０１４５】
いくつかの実装形態では、デバイスは、いくつかの他のシンタックス要素が明示的にシグナリングされることを指定するシンタックス要素を含むように、領域ネスティングSEIメッセージ350を生成することができる。たとえば、シンタックス要素は、1つまたは複数のネストされたSEIメッセージ(ネストされたSEIメッセージ352、353)が適用される適用形態と関連付けられるシンタックス要素、標的システムと関連付けられるシンタックス要素、または適用形態および標的システムに関するシンタックス要素が、領域ネスティングSEIメッセージ350において明示的にシグナリングされることを示し得る。そのようなシンタックス要素の例が(たとえば、rns_info_present_flagとして)以下に示される。たとえば、領域ネスティングSEIメッセージ350は、ネストされたSEIメッセージ(ネストされたSEIメッセージ352、353)またはメタデータセット(たとえば、メタデータ357、359)が適用可能である適用形態に関するシンタックス要素をシグナリングすることができる。場合によっては、これらのシンタックス要素は、適用形態識別子および適用形態バージョンを含み得る。別の例として、領域ネスティングSEIメッセージ350は、ネストされたSEIメッセージまたはメタデータセットが適用可能である標的システムに関するシンタックス要素をシグナリングすることができる。場合によっては、これらのシンタックス要素は、標的システムと関連付けられるディスプレイ原色および対応する白色点座標を含み得る。場合によっては、これらのシンタックス要素は、標的ディスプレイと関連付けられる最小輝度および最大輝度を含み得る。
【０１４６】
いくつかの実装形態では、デバイスは、各々のネストされたSEIメッセージ(たとえば、ネストされたSEIメッセージ352、353)またはメタデータセット(たとえば、メタデータ357、359)の各々の適用可能な領域内のサブセット領域をシグナリングするために、領域ネスティングSEIメッセージ350を生成することができる。いくつかの例では、デバイスは、サブセット領域が指定される領域を指定するシンタックス要素を領域ネスティングSEIメッセージ350においてシグナリングすることができる。たとえば、シンタックス要素(たとえば、0または1)の値1はその領域がYCbCrであることを指定することがあり、別の値(たとえば、1または0)はその領域が空間領域であることを指定することがある。いくつかの例では、デバイスは、適用可能な領域に対して指定される範囲または境界の数をシグナリングまたは導出することができる。いくつかの例では、デバイスは、指定される範囲または境界のタイプを指定するシンタックス要素をシグナリングすることができる。たとえば、あるシンタックス要素は、下限および上限が指定されることを指定し得る。別の例では、別のシンタックス要素または値が、円板が指定されることを指定し得る。別の例では、シンタックス要素のさらなる値が、楕円形の領域が指定されることを指定し得る。いくつかの例では、デバイスは、各々の範囲または境界時間と関連付けられるいくつかの値をシグナリングまたは導出することができ、それらの値をシグナリングすることができる。いくつかの例では、デバイスは、ネストされたSEIメッセージが適用される適用可能な領域内のサブセット領域が、指定される範囲もしくは境界内にあるかどうか、または指定される範囲/境界の外にあるかどうかを示す、フラグをシグナリングすることができる。
【０１４７】
図5は、ビデオビットストリームのピクチャのために生成される、領域ネスティングSEIメッセージ570の別の例を示す図である。領域ネスティングSEIメッセージ570は、復号デバイス112または領域ネスティングSEIメッセージ570を復号もしくは別様に処理できる他のデバイスなどの受信デバイスへ、ビデオビットストリームにおいてもしくはそれとともに領域ネスティングSEIメッセージ570を記憶または送信できる符号化デバイス104または他のデバイスなどの、デバイスによって生成され得る。
【０１４８】
領域ネスティングSEIメッセージ570は、領域ネスティングSEIメッセージ350と同様であり、ピクチャの中の複数領域を定義する、また複数のネストされたSEIメッセージ572および573も定義する、領域データ571を含む。領域データ571は、領域データ351と同様であり、領域1データ574、領域2データ575、領域Nデータ576までを含む。領域ネスティングSEIメッセージ350に関して上で説明された例のすべてが、領域ネスティングSEIメッセージ570に適用可能である。複数領域が領域データ571によって定義されるが、1つまたは複数のメタデータセットが1つの領域だけに適用可能である場合には、1つの領域だけが定義され得る。
【０１４９】
領域ネスティングSEIメッセージ570は、同じピクチャの中の少なくとも1つの共通領域に適用可能である複数のネストされたメッセージ572および573を含む。ネストされたSEIメッセージ572は、ネストされたSEIメッセージ572が適用されるべき目的を示すタイプを含む。たとえば、ネストされたSEIメッセージ572は、第1のダイナミックレンジから第2のダイナミックレンジに変換するために使用されることがあり、この場合、ネストされたSEIメッセージ572はCRI SEIメッセージであり得る。ネストされたSEIメッセージ572は、複数のデータのセットおよび複数の領域識別子(ID)を含む。データのセットは、ピクチャの異なる領域に対して特定された目的(たとえば、HDRからSDRへの変換、または他の目的)でともに使用され得る、メタデータ577およびメタデータ578を含む。たとえば、メタデータ577およびメタデータ578は、ネストされたSEIメッセージ572の目的(たとえば、HDRからSDRへの変換、または他の目的)で使用されるメタデータの異なる値を含み得る。ネストされたSEIメッセージ572はメタデータの2つよりも多くのセットおよび3つよりも多くの領域IDを含み得ることを、当業者は理解するであろう。
【０１５０】
メタデータ577および578の各セットが適用可能である1つまたは複数の領域は、領域1ID579、領域2ID580、および領域3ID581を含む領域IDによって特定される。異なる領域ID579、580、581は、メタデータ577、578のセットの一方または両方にマッピングされ得る。たとえば、メタデータ577は、領域1ID579と領域2ID580の両方にマッピングされ、またはそれらと関連付けられることがあり、メタデータ577が第1の領域(領域1ID579によって特定され領域1データ574によって定義される)と第2の領域(領域2ID580によって特定され領域2データ575によって定義される)の両方に適用されるべきであることを、デコーダまたは他のデバイスに示す。メタデータ578は、領域3ID581にマッピングされることがあり、またはそれと関連付けられることがあり、メタデータ578が第3の領域(領域3ID581によって特定され領域データ571によって定義される)に適用されるべきであることを示す。1つの説明のための例では、メタデータ577は、いくつかの特性(たとえば、色特性)を有するビデオに適用可能なCRI SEIメッセージのメタデータの第1のバージョンを含むことがあり、第1および第2の領域はいくつかの特性を有するサンプルを含むことがある。この例では、メタデータ578は、異なる特性を有するビデオに適用可能なCRI SEIメッセージのメタデータの第2のバージョンであることがあり、第3の領域は異なる特性を有するサンプルを含むことがある。別の説明のための例では、ピクチャのコンテンツは異なる特性を有する3つの領域を含むことがあり、ピクチャは、空などの明るい領域、物体の影によって覆われる領域などの暗い領域、および中程度の明るさを有するピクチャの残りの部分を含み得る。このコンテンツがマスタリングされた特性とは異なる特性を有するディスプレイにおいて、このコンテンツが提示されることになるとき、コンテンツをディスプレイに適合させるために、1つまたは複数のCRI SEIメッセージがコンテンツに適用され得る。そのような場合、明るい領域、暗い領域、および適度に明るい領域などの、異なる特性を有する3つの領域に異なるCRIメッセージを適用することが有益であり得る。適度に明るい領域は、どのような処理も伴わずに表示可能であることがあり、領域3としてシグナリングされ得る。明るい領域および暗い領域は、領域1および2としてこれらの領域をシグナリングし、領域1および2をCRIメタデータ577およびメタデータ578にマッピングし(たとえば、領域1ID579および領域2ID580を使用して)、(領域1のための)対応するCRIメタデータ577および(領域2のための)メタデータ578をビットストリームにおいて送信することによって、CRIメッセージを使用してマッピングされなければならない。
【０１５１】
他のネストされたSEIメッセージ573は、ネストされたSEIメッセージ572とは異なるタイプを含み、これは、ネストされたSEIメッセージ573が適用されるべき目的を示す。たとえば、ネストされたSEIメッセージ573は、復号されたビデオピクチャをフィルタリングするために、トーンマッピングを実行するために、または領域固有に適用可能な別の適切な目的で使用され得る。ネストされたSEIメッセージ573は、メタデータ582およびメタデータ583および領域1ID579および領域3ID581を含む。ネストされたSEIメッセージ573がメタデータの2つよりも多くのセットおよび2つよりも多くの領域IDを含み得ることを、当業者は理解するであろう。
【０１５２】
メタデータ582およびメタデータ583はともに、ピクチャの異なる領域に対するネストされたSEIメッセージ573の特定された目的(たとえば、復号されたピクチャのフィルタリング、または他の目的)のために使用され得る。たとえば、メタデータ582およびメタデータ583は、その目的(たとえば、復号されたピクチャのフィルタリング、または他の目的)で使用されるメタデータの異なる値を含み得る。メタデータ582および583の各セットが適用可能である1つまたは複数の領域は、領域1ID579および領域3ID581を含む領域IDによって特定される。メタデータ582は、領域1ID579にマッピングされることがあり、またはそれと関連付けられることがあり、メタデータ582が第1の領域(領域1ID579によって特定され領域1データ574によって定義される)に適用されるべきであることを、デコーダまたは他のデバイスに示す。メタデータ583は、領域3ID581にマッピングされることがあり、またはそれと関連付けられることがあり、メタデータ583が第3の領域(領域3ID581によって特定され領域データ571によって定義される)に適用されるべきであることを示す。
【０１５３】
図5に示されるように、領域ネスティングSEIメッセージ570は、各々のネストされたSEIメッセージのための領域を再定義することなく、定義された領域(たとえば、領域1データ574によって定義される第1の領域および図示されない領域データ571の中の他の領域データによって定義される第3の領域)が複数のネストされたSEIメッセージによって共有されることを可能にする。たとえば、2つのネストされたSEIメッセージ572および573の目的または適用形態は、同様のまたは同一の領域を定義または使用し得る。ネストされたSEIメッセージ572および573の両方に対して領域を2回再定義する代わりに、ネストされたSEIメッセージ572および573は、領域1ID579および領域3ID581を含めることによって、領域データ571へのポインタを含み得る。
【０１５４】
図6は、本明細書で説明される技法の1つまたは複数を使用してビデオデータを符号化するプロセス600の例を示すフローチャートである。ブロック602において、プロセス600は、ビデオデータを取得することを含む。たとえば、ビデオデータは、デバイスのカメラを使用してキャプチャされるピクチャを含み得る。別の例では、ビデオデータは記憶デバイスから取得され得る。
【０１５５】
ブロック604において、プロセス600は、ビデオデータを使用して、符号化されたビデオビットストリームを生成することを含む。符号化されたビデオビットストリームは、本明細書で説明されるコーディング技法を使用して生成され得る。符号化されたビデオビットストリームは、複数のネストされたメッセージと、符号化されたビデオビットストリームのピクチャの少なくとも第1の領域を定義する領域データとを含む、領域ネスティングメッセージを含む。いくつかの例では、領域データは、ピクチャの複数の領域を(たとえば、領域データの複数のセットを使用して)定義することができる。領域ネスティングメッセージの第1のネストされたメッセージは、データの第1のセットと、ピクチャの第1の領域がデータの第1のセットと関連付けられることを示す第1の領域識別子とを含む。たとえば、第1の領域識別子は、第1のネストされたメッセージの中のデータの第1のセットと関連付けられることがあり、またはそれにマッピングされることがあり、データの第1のセットが第1の領域に適用されるべきであること、第1の領域に適用されるであろう別の関数によってデータの第1のセットが使用され得ることを(たとえば、デコーダ、プレーヤ、ディスプレイ、または他の適切なデバイスに)示すことができ、かつ/または、そうでなければ、データの第1のセットが第1の領域のコンテンツのために使用されるべきであることを示すことができる。
【０１５６】
いくつかの実装形態では、領域ネスティングメッセージは領域ネスティング補足強化情報(SEI)メッセージであり、複数のネストされたメッセージはネストされたSEIメッセージである。領域ネスティングメッセージの例は、図3に示される領域ネスティングSEIメッセージ350である。領域ネスティングメッセージの別の例は、図5に示される領域ネスティングSEIメッセージ570である。
【０１５７】
いくつかの例では、データの第1のセットは、第1の領域識別子に基づいて第1の領域に対して第1の関数を実行するために使用される。データのセットは、film grain characteristics SEIメッセージ、tone mapping information SEIメッセージ、post filter hint SEIメッセージ、chroma resampling filter hint SEIメッセージ、color remapping information SEIメッセージ、knee function information SEIメッセージ、またはビデオピクチャの領域に対して関数を実行するために使用される任意の他の適切なデータを使用して実行される関数などの、任意の適切な関数を定義することができる。
【０１５８】
いくつかの態様では、データの第1のセットは、第1の領域識別子に基づいて第1の領域の特性を指定する。たとえば、データの第1のセットは、第1の領域のコンテンツの最大輝度、第1の領域のコンテンツの最小輝度、第1の領域のコンテンツの色特性、または領域コンテンツの他の特性についての情報を含み得る。別の例では、データの第1のセットは、デコーダデバイス、プレーヤデバイス、ディスプレイデバイス、または他のデバイスがデバイスの制約またはデバイスが動作する条件に従って第1の領域のコンテンツを処理するために使用できるヒントを含み得る。
【０１５９】
いくつかの態様では、ピクチャの第1の領域を定義する領域データは、領域ネスティングメッセージに一度含まれる。そのような場合、領域が各々のネストされたメッセージに対して再定義される必要はないので、各々のネストされたメッセージに対して、またはピクチャに適用されるべきデータの各セットに対して、領域データが個別にシグナリングされる必要がない。
【０１６０】
いくつかの例では、第1のネストされたメッセージはさらにデータの第2のセットを含み、データの第2のセットは、第1の領域がデータの第2のセットと関連付けられることを示すために、第1の領域識別子と関連付けられる。たとえば、第1の領域識別子は、第1のネストされたメッセージの中のデータの第2のセットと関連付けられることがあり、またはそれにマッピングされることがあり、データの第2のセットが第1の領域に適用されるべきであること、第1の領域に適用されるであろう別の関数によってデータの第2のセットが使用され得ることを(たとえば、デコーダ、プレーヤ、ディスプレイ、または他の適切なデバイスに)示すことができ、かつ/または、そうでなければ、データの第2のセットが第1の領域のコンテンツのために使用されるべきであることを示すことができる。
【０１６１】
いくつかの例では、領域ネスティングメッセージは、ピクチャの複数の領域を定義する複数の領域データを含み、第1のネストされたメッセージのデータの第1のセットがピクチャの複数の領域のうちの複数領域と関連付けられ、かつ/またはそれらに適用可能である。たとえば、データの第1のセットは、第1のネストされたメッセージの中の複数領域と関連付けられ、またはそれにマッピングされ得る。場合によっては、第1のネストされたメッセージはさらに、データの第1のセットが関連付けられるピクチャの複数の領域のうちの第2の領域を示す第2の領域識別子を含む。たとえば、第2の領域識別子は、第1のネストされたメッセージの中のデータの第1のセットと関連付けられることがあり、またはそれにマッピングされることがあり、データの第1のセットが第2の領域に適用されるべきであること、第2の領域に適用されるであろう別の関数によってデータの第1のセットが使用され得ることを(たとえば、デコーダ、プレーヤ、ディスプレイ、または他の適切なデバイスに)示すことができ、かつ/または、そうでなければ、データの第1のセットが第2の領域のコンテンツのために使用されるべきであることを示すことができる。そのような場合、データの第1のセットは、第1の領域および第2の領域の各々に独立に適用可能である(または別様にそれと関連付けられる)。たとえば、データの第1のセットは、デコーダ、プレーヤ、ディスプレイ、または他の適切なデバイスによって、第1の領域および第2の領域に独立に適用され得る。
【０１６２】
いくつかの例では、領域ネスティングメッセージは第2のネストされたメッセージを含み、第2のネストされたメッセージは、第1の領域識別子と関連付けられるデータの第2のセットを含むので、第1の領域がデータの第2のセットと関連付けられることを示す。たとえば、第1の領域識別子は、第2のネストされたメッセージの中のデータの第2のセットと関連付けられることがあり、またはそれにマッピングされることがあり、データの第2のセットが第1の領域に適用されるべきであること、第1の領域に適用されるであろう別の関数によってデータの第2のセットが使用され得ることを(たとえば、デコーダ、プレーヤ、ディスプレイ、または他の適切なデバイスに)示すことができ、かつ/または、そうでなければ、データの第2のセットが第1の領域のコンテンツのために使用されるべきであることを示すことができる。そのような例では、データの第1のセットおよびデータの第2のセットは、(たとえば、デコーダデバイス、プレーヤデバイス、ディスプレイデバイス、または他の適切なデバイスによって)第1の領域に適用されることになる。第1の領域のための領域データは、領域ネスティングメッセージに対して一度しか含まれなくてよく、第1の識別子は、データの第1のセットと第2のセットの両方が第1の領域に適用されることになることを示すために、それらのデータの両方のセットと関連付けられ得る。
【０１６３】
いくつかの態様では、領域ネスティングメッセージはさらに、ピクチャの複数の領域の数を含む。
【０１６４】
いくつかの例では、複数の領域データは、第1の領域の1つまたは複数の境界を定義し、第1の領域に含まれるサンプルを定義する。いくつかの例では、領域データは、ピクチャの1つまたは複数の境界からの、第1の領域の1つまたは複数の境界の1つまたは複数のオフセットを定義する。いくつかの例では、領域データは長方形の領域として第1の領域を定義する。
【０１６５】
いくつかの実装形態では、ピクチャのサンプルがピクチャの2つ以上の領域の中にあるとき、2つ以上の領域の中で最大の領域識別子の値を有する2つ以上の領域のうちのある領域に適用可能な第1のタイプのネストされたメッセージは、サンプルに適用可能である。場合によっては、2つ以上の領域の中で最大の領域識別子の値を有しない2つ以上の領域のうちの別の領域に適用可能な第1のタイプの別のネストされたメッセージは、サンプルに適用可能ではない。
【０１６６】
いくつかの例では、領域ネスティングメッセージはさらに、領域ネスティングメッセージの目的を特定するシンタックス要素を含む。場合によっては、領域ネスティングメッセージはさらに、領域ネスティングメッセージの中の複数のネストされたメッセージの数を含む。
【０１６７】
いくつかの例では、複数のネストされたメッセージのうちのあるネストされたメッセージは、そのネストされたメッセージが領域ネスティングメッセージにおいてネストされていないかのように、同じ持続性を有する。たとえば、ネストされたメッセージの持続性は、それが領域ネスティングメッセージに追加されるときに変更されないことがある。
【０１６８】
いくつかの例では、領域ネスティングメッセージは、第1のネストされたメッセージに対するインデックスのセットを含む。インデックスのセットは、データの第1のセットが適用されるべき1つまたは複数の領域を示す。たとえば、インデックスのセットは少なくとも第1の領域識別子を含み得る。
【０１６９】
図7は、本明細書で説明される技法の1つまたは複数を使用してビデオデータを復号するプロセス700の例を示すフローチャートである。702において、プロセス700は、ビデオビットストリームを受信することを含む。ビデオビットストリームは複数の符号化されたピクチャを含むことがあり、ピクチャを復号して復号されたピクチャを処理するために、シンタックス要素および変数が情報とともに使用され得る。
【０１７０】
ブロック704において、プロセス700は、ビデオビットストリームから、領域ネスティングメッセージを取得することを含む。領域ネスティングメッセージは、複数のネストされたメッセージと、符号化されたビデオビットストリームのピクチャの少なくとも第1の領域を定義する領域データとを含む。領域ネスティングメッセージの第1のネストされたメッセージは、データの第1のセットと、ピクチャの第1の領域がデータの第1のセットと関連付けられることを示す第1の領域識別子とを含む。
【０１７１】
いくつかの例では、データの第1のセットは、第1の領域識別子に基づいて第1の領域に対して第1の関数を実行するために使用される。データのセットは、film grain characteristics SEIメッセージ、tone mapping information SEIメッセージ、post filter hint SEIメッセージ、chroma resampling filter hint SEIメッセージ、color remapping information SEIメッセージ、knee function information SEIメッセージ、またはビデオピクチャの領域に対して関数を実行するために使用される任意の他の適切なデータを使用して実行される関数などの、任意の適切な関数を定義することができる。
【０１７２】
プロセス700(復号デバイスによって実行されるとき)はまた、ピクチャを復号することと、データの第1のセットを使用してピクチャの第1の領域に対して第1の関数を実行することとを含む。第1の関数は、第1の領域識別子に基づいて第1の領域に対して実行される。ピクチャ(およびビデオビットストリームの他のピクチャ)は、本明細書で説明されるコーディング技法を使用して復号され得る。
【０１７３】
いくつかの例では、データの第1のセットは、第1の領域識別子に基づいて第1の領域の特性を指定する。たとえば、データの第1のセットは、第1の領域のコンテンツの最大輝度、第1の領域のコンテンツの最小輝度、第1の領域のコンテンツの色特性、または領域コンテンツの他の特性についての情報を含み得る。別の例では、データの第1のセットは、デコーダデバイス、プレーヤデバイス、ディスプレイデバイス、または他のデバイスがデバイスの制約またはデバイスが動作する条件に従って第1の領域のコンテンツを処理するために使用できるヒントを含み得る。
【０１７４】
いくつかの実装形態では、領域ネスティングメッセージは領域ネスティング補足強化情報(SEI)メッセージであり、複数のネストされたメッセージはネストされたSEIメッセージである。領域ネスティングSEIメッセージの例は、図3に示される領域ネスティングSEIメッセージ350である。領域ネスティングSEIメッセージの別の例は、図5に示される領域ネスティングSEIメッセージ570である。
【０１７５】
いくつかの態様では、ピクチャの第1の領域を定義する領域データは、領域ネスティングメッセージに一度含まれる。そのような場合、領域は、各々のネストされたメッセージに対して、またはピクチャに適用されるべきデータの各セットに対して、領域データが個別にシグナリングされる必要がないように、各々のネストされたメッセージに対して再定義される必要がない。
【０１７６】
いくつかの例では、第1のネストされたメッセージはさらにデータの第2のセットを含み、データの第2のセットは、第1の領域がデータの第2のセットと関連付けられること(たとえば、データの第2のセットが第1の領域に適用されるべきであること、または第1の領域に対して別の関数を実行するために使用され得ること、または他の適切な適用可能性)を示すために、第1の領域識別子と関連付けられる。
【０１７７】
いくつかの例では、領域ネスティングメッセージは、ピクチャの複数の領域を定義する複数の領域データを含み、第1のネストされたメッセージのデータの第1のセットがピクチャの複数の領域のうちの複数領域と関連付けられる。場合によっては、第1のネストされたメッセージはさらに、データの第1のセットが関連付けられるピクチャの複数の領域のうちの第2の領域を示す第2の領域識別子を含む。そのような場合、データの第1のセットは、第1の領域および第2の領域の各々に独立に適用可能である。
【０１７８】
いくつかの例では、領域ネスティングメッセージは第2のネストされたメッセージを含み、第2のネストされたメッセージは、データの第2のセットおよび第1の領域識別子を含むので、第1の領域がデータの第2のセットと関連付けられることを示す。そのような例では、データの第1のセットおよびデータの第2のセットは、(たとえば、デコーダデバイス、プレーヤデバイス、ディスプレイデバイス、または他の適切なデバイスによって)第1の領域に適用可能である。第1の領域のための領域データは、領域ネスティングメッセージに対して一度しか含まれなくてよく、第1の識別子は、データの第1のセットと第2のセットの両方が第1の領域に適用されることになることを示すために、それらのデータの両方のセットと関連付けられ得る。
【０１７９】
いくつかの態様では、領域ネスティングメッセージはさらに、ピクチャの複数の領域の数を含む。
【０１８０】
いくつかの例では、領域データは、第1の領域の1つまたは複数の境界を定義し、第1の領域に含まれるサンプルを定義する。いくつかの例では、複数の領域データは、ピクチャの1つまたは複数の境界からの、第1の領域の1つまたは複数の境界の1つまたは複数のオフセットを定義する。いくつかの例では、複数の領域データは長方形の領域として複数の領域を定義する。
【０１８１】
いくつかの実装形態では、ピクチャのサンプルがピクチャの2つ以上の領域の中にあるとき、2つ以上の領域の中で最大の領域識別子の値を有する2つ以上の領域のうちのある領域に適用可能な第1のタイプのネストされたメッセージは、サンプルに適用可能である。場合によっては、2つ以上の領域の中で最大の領域識別子の値を有しない2つ以上の領域のうちの別の領域に適用可能な第1のタイプの別のネストされたメッセージは、サンプルに適用可能ではない。
【０１８２】
いくつかの例では、領域ネスティングメッセージはさらに、領域ネスティングメッセージの目的を特定するシンタックス要素を含む。場合によっては、領域ネスティングメッセージはさらに、領域ネスティングメッセージの中の複数のネストされたメッセージの数を含む。
【０１８３】
いくつかの例では、複数のネストされたメッセージのうちのあるネストされたメッセージは、そのネストされたメッセージが領域ネスティングメッセージにおいてネストされていないかのように、同じ持続性を有する。たとえば、ネストされたメッセージの持続性は、それが領域ネスティングメッセージに追加されるときに変更されないことがある。
【０１８４】
いくつかの例では、領域ネスティングメッセージは、第1のネストされたメッセージに対するインデックスのセットを含む。インデックスのセットは、データの第1のセットが適用されるべき1つまたは複数の領域を示す。たとえば、インデックスのセットは少なくとも第1の領域識別子を含み得る。
【０１８５】
いくつかの例では、プロセス600および700は、図1に示されるシステム100などのコンピューティングデバイスまたは装置によって実行され得る。たとえば、プロセス600は、図1および図8に示される符号化デバイス104によって、または、別のビデオソース側デバイスもしくはビデオ送信デバイスによって実行され得る。プロセス700は、図1および図9に示される復号デバイス112によって、または、プレーヤデバイス、ディスプレイ、もしくは任意の他のクライアント側デバイスなどの、別のクライアント側デバイスによって実行され得る。場合によっては、コンピューティングデバイスまたは装置は、プロセス600および700のステップを実行するように構成されたデバイスのプロセッサ、マイクロプロセッサ、マイクロコンピュータ、または他の構成要素を含み得る。いくつかの例では、コンピューティングデバイスまたは装置は、ビデオフレームを含むビデオデータ(たとえば、ビデオシーケンス)をキャプチャするように構成されたカメラを含み得る。いくつかの例では、ビデオデータをキャプチャするカメラまたは他のキャプチャデバイスは、コンピューティングデバイスとは別個であり、その場合、コンピューティングデバイスは、キャプチャされたビデオデータを受信または取得する。コンピューティングデバイスは、ビデオデータを通信するように構成されたネットワークインターフェースをさらに含み得る。ネットワークインターフェースは、インターネットプロトコル(IP)ベースのデータまたは他のタイプのデータを通信するように構成され得る。いくつかの例では、コンピューティングデバイスまたは装置は、ビデオビットストリームのピクチャのサンプルなどの、出力ビデオコンテンツを表示するためのディスプレイを含み得る。
【０１８６】
プロセス600および700は、論理フロー図として図示され、その動作は、ハードウェア、コンピュータ命令、またはそれらの組合せで実施され得る動作のシーケンスを表す。コンピュータ命令の文脈では、動作は、1つまたは複数のプロセッサによって実行されると、記載された動作を実行する、1つまたは複数のコンピュータ可読記憶媒体に記憶されたコンピュータ実行可能命令を表す。一般に、コンピュータ実行可能命令は、特定の機能を実行し、または特定のデータタイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。動作が説明される順序は、限定として解釈されることを意図しておらず、説明される任意の数の動作が、プロセスを実施するために任意の順序で、かつ/または並列に組み合わされ得る。
【０１８７】
加えて、プロセス600および700は、実行可能命令で構成された1つまたは複数のコンピュータシステムの制御下で実行されることがあり、1つまたは複数のプロセッサ上で、ハードウェアによって、またはそれらの組合せで、集合的に実行するコード(たとえば、実行可能命令、1つまたは複数のコンピュータプログラム、または1つまたは複数のアプリケーション)として実装されることがある。上で述べられたように、コードは、たとえば、1つまたは複数のプロセッサによって実行可能な複数の命令を備えるコンピュータプログラムの形態で、コンピュータ可読記憶媒体または機械可読記憶媒体に記憶され得る。コンピュータ可読記憶媒体または機械可読記憶媒体は非一時的であり得る。
【０１８８】
上で説明された技法の例を提供する、様々な説明のための実施形態が説明される。規格(その例が規格文書JCTVC-Z1005に含まれる)のシンタックス要素、変数、セマンティクス、および他の部分の追加ならびに削除として、実施形態が示される。実施形態1では、規格のシンタックスおよびセマンティクスへの追加が、「<insert>」記号と「<insertend>」記号の間に示される(たとえば、「<insert>追加されるテキスト<insertend>」)。後続の実施形態2〜6に対して、実施形態1に関するシンタックス要素の追加は、「<insert>」記号と「<insertend>」記号の間に示され(たとえば、「<insert>追加されたテキスト<insertend>」)、削除は「<delete>」記号と「<deleteend>」記号の間に示される(たとえば、「<delete>削除されたテキスト<deleteend>」)。
【０１８９】
実施形態1
【０１９０】
この実施形態では、ピクチャの領域およびSEIメッセージおよび関連するメタデータが、SEIメッセージ、すなわち領域ネスティングメッセージを通じてシグナリングされる。
SEIペイロードシンタックス構造
【表２】
2019515572.tif 000004
領域ネスティングSEIメッセージのpayloadType値は、HEVC規格の中の他のSEIメッセージに基づいて異なる値に設定され得る。
領域ネスティングSEIメッセージシンタックス構造
【表３】
2019515572.tif 000005
領域ネスティングSEIメッセージのセマンティクス
領域ネスティングSEIメッセージは、SEIメッセージをピクチャの領域と関連付けるための機構を提供し、ピクチャの領域はSEIメッセージにおいて指定される。
領域ネスティングSEIメッセージは、1つまたは複数のSEIメッセージを含む。SEIメッセージが領域ネスティングSEIメッセージにおいてネストされるとき、SEIメッセージのセマンティクスは、SEIメッセージにおいて指定される各領域に独立に適用可能であるものとして解釈されるべきである。現在のピクチャの中の特定のサンプルが、現在のピクチャと関連付けられる領域ネスティングSEIメッセージによって指定される2つ以上の領域に存在するとき、特定のサンプルに適用されるSEIメッセージは、SEIメッセージの中の他のシンタックス要素によって、または本仕様書の外部の手段によって決定され得る。
各々のネストされたSEIメッセージは、SEIメッセージがネストされていないかのように同じ持続範囲を有する。
以下の制約が領域ネスティングSEIメッセージにおけるSEIメッセージのネスティングに適用されることは、ビットストリーム適合の要件である。
- 0(buffering period)、1(picture timing)、2(pan scan)、3(filler payload)、4(user data registered)、5(user data unregistered)、6(recovery point)、9(scene information)、15(picture snapshot)、16(progressive refinement segment start)、17(progressive refinement segment end)、45(frame packing arrangement)、47(display orientation)、56(green metadata)、128(structure of pictures)、129(active parameter sets)、130(decoding unit information)、131(temporal sub-layer zero index)、132(decoded picture hash)、133(scalable nesting)、134(region refresh)、135(no display)、136(time code)、137(mastering display color volume)、138(segmented rectangular frame packing)、139(temporal motion constrained tile sets)、143(deinterlaced field)、144(content light level)、145(dependent RAP)、146(coded region)、160(layers not present)、161(inter layer constrained tile sets), 162 (bsp nesting)、163(bsp initial arrival time)、164(sub bitstream property)、165(alpha channel info)、166(overlay info)、167 (temporal mv prediction)、168(frame field info)、176(three dimensions reference displays)、177(depth representation info)、178(multiview scene)、179(multiview acquisition)、180(multiview view position)、181(alternative depth)、182(alternative characteristics)、および183(ambient viewing environment)に等しいpayloadTypeを有するSEIメッセージは、領域ネスティングSEIメッセージにおいてネストされないものとする。[Ed. (AR):これは現在、film grain characteristics SEIメッセージ、post filter hint SEIメッセージ、tone mapping infomation SEIメッセージ、resampling filter hint SEIメッセージ、およびchroma remapping information SEIメッセージ以外のすべてを含む。]
注意-スケーラブルなネスティングSEIメッセージとは異なり、領域ネスティングSEIメッセージにおいてネストされるSEIメッセージは、別個のSEIメッセージとして抽出され送信されるべきではなく、それは、ネストされたSEIメッセージにおいてシグナリングされる値が適用可能な領域の外側で適用可能ではないことがあるからである。
rns_idは、1つまたは複数の領域ネスティングSEIメッセージの目的を特定するために使用され得る識別番号を含む。rns_idの値は、両端を含めて0〜232-2の範囲にあるものとする。
適用形態によって決定されるように、0〜255および512〜231-1のrns_idの値が使用され得る。256〜511および231〜232-2のrns_idの値は、ITU-T|ISO/IECによる今後の使用のための予備である。両端を含めて256〜511の範囲にある、または両端を含めて231〜232-2の範囲にあるrns_idの値に遭遇するデコーダは、その値を無視すべきである。
rns_region_size_type_idcは、領域の境界がSEIメッセージにおいて指定される際の単位を指定する。rns_region_size_type_idcが0に等しいとき、シンタックス要素rns_region_left_top_[ ] rns_region_left_top_y[ ]、rns_region_bottom_right_x[ ]、およびrns_region_bottom_right_y[ ]はサンプルの単位である。rns_region_size_type_idcが1に等しいとき、シンタックス要素rns_region_left_top_[ ] rns_region_left_top_y[ ]、rns_region_bottom_right_x[ ]、およびrns_region_bottom_right_y[ ]はCTUの単位である。rns_region_size_type_idcが2に等しいとき、シンタックス要素rns_region_left_top_[ ] rns_region_left_top_y[ ]、rns_region_bottom_right_x[ ]、およびrns_region_bottom_right_y[ ]はタイルの単位で指定される。
rns_num_rect_regionsは、SEIメッセージによって指定される長方形の領域の数を指定する。rns_num_rect_regionsの値は、両端を含めて1〜255の範囲内にあるものとする。0に等しいrns_num_rect_regionsの値は、ITU-T|ISO/IECによる今後の使用のための予備である。
rns_rect_region_id[ i ]は、SEIメッセージにおいて指定されるi番目の長方形の領域の識別子を示す。
本仕様書において規定されない何らかの手段によって別様に示されない限り、サンプルが2つ以上の長方形の領域に属するとき、rns_rect_region_id[ ]の最大の値を有しそのサンプルを含む領域と関連付けられるSEIメッセージが、そのサンプルに適用可能である。
注意 - rns_rect_region_id[ i ]は、メタデータの異なるセットと関連付けられる2つ以上の領域がピクチャの所与のサンプルまたは領域に対して適用可能であるときにどの領域が適用されるべきかに対応するメタデータパラメータを示すために使用される、優先度の数字として使用され得る。
いくつかの代替形態では、rns_rect_region_id[ i ]の値は、現在のピクチャと関連付けられる1つまたは複数の領域ネスティングSEIメッセージにおいて指定される各領域に対して固有であるように制約される。rns_rect_region_id[ i ]の値が、現在のピクチャと関連付けられる1つまたは複数の領域ネスティングSEIメッセージにおいて指定される2つの領域に対して等しいとき、領域の境界と関連付けられるシンタックス要素のサブセットの値は等しくなるように制約されることが必要とされ得る。いくつかの代替形態では、シンタックス要素のサブセットは、シンタックス要素rns_region_left_top_[ ] rns_region_left_top_y[ ]、rns_region_bottom_right_x[ ]、およびrns_region_bottom_right_y[ ]を含み得る。たとえば、以下の制約が追加され得る。
rns_rect_region_id[ i ]の値が、現在のピクチャに適用可能な1つまたは複数の領域ネスティングSEIメッセージにおいて指定される任意の2つの領域に対して等しいとき、rns_region_left_top_[ ] rns_region_left_top_y[ ]、rns_region_bottom_right_x[ ]、およびrns_region_bottom_right_y[ ]の値が等しいということが、ビットストリーム適合の要件である。
rns_rect_region_left_top_x[ i ]は、SEIメッセージにおいて指定されるi番目の長方形の領域の左上ユニットの水平方向の座標を指定する。rns_rect_region_left_top_x[ i ]が定義される単位は、rns_region_size_type_idcシンタックス要素によって指定される。
rns_rect_region_left_top_y[ i ]は、SEIメッセージにおいて指定されるi番目の長方形の領域の左上ユニットの垂直方向の座標を指定する。rns_rect_region_left_top_y[ i ]が定義される単位は、rns_region_size_type_idcシンタックス要素によって指定される。
rns_rect_region_bottom_right_x[ i ]は、SEIメッセージにおいて指定されるi番目の長方形の領域の右下ユニットの水平方向の座標を指定する。rns_rect_region_bottom_right_x[ i ]が定義される単位は、rns_region_size_type_idcシンタックス要素によって指定される。
rns_rect_region_bottom_right_y[ i ]は、SEIメッセージにおいて指定されるi番目の長方形の領域の右下ユニットの垂直方向の座標を指定する。rns_rect_region_bottom_right_y[ i ]が定義される単位は、rns_region_size_type_idcシンタックス要素によって指定される。
num_seis_in_rns_minus1に1を足したものは、SEIメッセージにおいて指定されるSEIメッセージの数を指定する。num_seis_in_rns_minus1の値は、両端を含めて0〜255の範囲内にあるものとする。
regional_nesting_zero_bitは0に等しいものとする。
rns_num_data_bytes[ i ]は、シンタックス要素rns_num_data_bytes[ i ]の直後のrns_data_byte[ i ][ j ]のインスタンスによってシグナリングされるデータのバイトの数を指定する。rns_num_data_bytes[ i ]の値は、両端を含めて0〜255の範囲内にあるものとする。
rns_data_byte[ i ][ j ]は任意の値を有し得る。本仕様書の中にない手段によって別様に指定されない限り、デコーダはrns_data_byte[ i ][ j ]の値を無視するものとする。
代替形態では、以下の制約のうちの1つまたは複数が領域ネスティングSEIメッセージのセマンティクスに追加され得る。
- tiles_enabled_flagの値が、現在のピクチャと関連付けられるPPSに対して0に等しいとき、2に等しいrns_region_size_type_idcの値と関連付けられる領域ネスティングSEIメッセージは、現在のピクチャと関連付けられないものとする。
別の代替形態では、ネストされたSEIメッセージの持続性は無効にされ、代わりに、領域ネスティングSEIメッセージおよびその中のコンテンツの持続性の終了を示すために、シンタックス要素が領域ネスティングSEIメッセージにおいてシグナリングされる。持続性の終了は、領域のサブセットに対して、またはネストされたSEIメッセージのサブセットに対して指定され得る。
別の代替形態では、シンタックス要素rns_num_rect_regionsの値の範囲は、シンタックス要素rns_region_size_type_idcに依存するように指定される。
別の代替形態では、領域ネスティングSEIメッセージにおいて指定される領域の形状を示すために、第1のシンタックス要素がシグナリングされ、長方形の領域と関連付けられるシンタックス要素は、第1のシンタックス要素の値に応じてシグナリングされ得る。
別の代替形態では、シンタックス要素rns_num_rect_regionsは、rns_num_rect_regionsが0より大きいときにだけ、シンタックス要素、および存在する場合はrns_region_size_type_idcの前に移される。
【０１９１】
実施形態2
【０１９２】
この実施形態では、rns_num_data_bytesシンタックス要素およびrns_data_byteシンタックス要素がSEIメッセージのループの外側でシグナリングされることを除き、シンタックスは実施形態1におけるシンタックスと同様である。
【表４】
2019515572.tif 000006
rns_num_data_bytesは、シンタックス要素rns_num_data_bytesの直後にrns_data_byteとしてシグナリングされるデータのバイトの数を指定する。rns_num_data_bytesの値は、両端を含めて0〜255の範囲内にあるものとする。
【０１９３】
シンタックス要素の残りのセマンティクスは実施形態1で定義されるものと同じままである。
【０１９４】
1つの代替形態では、シンタックス要素rns_num_data_bytesはue(v)要素として、またはビットストリームにおいて指定される固定された数のビットを用いて、またはビットストリームの外部の手段によってコーディングされる。
【０１９５】
実施形態3
【０１９６】
この実施形態では、シンタックス構造は実施形態1におけるシンタックス構造と同様であり、rns_data_byteはシグナリングされないことがあり、標的のディスプレイシステムに関する情報およびネストされたSEIメッセージと関連付けられる適用形態はシグナリングされる。
【表５】
2019515572.tif 000007
1に等しいrns_info_present_flagは、シンタックス要素application_identifier、application_version、targeted_system_prim_chromaticity_x[ ]、targeted_system_prim_chromaticity_y[ ]、targeted_display_max_luminance、およびtargeted_display_min_luminanceが明示的にシグナリングされることを指定する。0に等しいtarget_sytem_info_present_flagは、シンタックス要素application_identifier、application_version、targeted_system_prim_chromaticity_x[ ]、targeted_system_prim_chromaticity_y[ ]、targeted_display_max_luminance、およびtargeted_display_min_luminanceが明示的にシグナリングされず、これらのシンタックス要素の値が指定されないことを指定する。
application_identifierは、SEIメッセージを特定するために使用され得る識別子である。application_identifierは、両端を含めて0から255の範囲の整数である。
application_versionはSEIメッセージと関連付けられるバージョンを示す。application_versionは両端を含めて0から255の範囲にあるものとする。
両端を含めて0から2の範囲のcに対するtargeted_system_prim_chromaticity_x[ c ]およびtargeted_system_prim_chromaticity_y[ c ]は、0.0001の単位で標的のディスプレイの原色を指定するために使用される。
targeted_system_prim_chromaticity_x[ 4 ]およびtargeted_system_prim_chromaticity_y[ 4 ]は、0.0001の単位で標的のディスプレイの白色点色度を指定するために使用される。
targeted_display_max_luminanceは、SEIメッセージに対応する標的のディスプレイの最大輝度を導出するために使用される。targeted_display_max_luminanceの値は、0.01カンデラ毎平方メートルという単位で指定される。
targeted_display_min_luminanceは、SEIメッセージに対応する標的のディスプレイの最小輝度を導出するために使用される。targeted_display_min_luminanceの値は、0.0001カンデラ毎平方メートルという単位で指定される。
【０１９７】
シンタックス要素の残りのセマンティクスは実施形態1で定義されるものと同じままである。
【０１９８】
1つの代替形態では、シンタックス要素rns_info_present_flagがシグナリングされず、シンタックス要素rns_num_data_bytesがシグナリングされることがあり、シンタックス要素application_identifier、application_version、targeted_system_prim_chromaticity_x[ ]、targeted_system_prim_chromaticity_y[ ]、targeted_display_max_luminance、targeted_display_min_luminanceの存在はrns_num_data_bytesの値に依存し得る。
【０１９９】
別の代替形態では、シンタックス要素application_identifier、application_version、targeted_system_prim_chromaticity_x[ ]、targeted_system_prim_chromaticity_y[ ]、targeted_display_max_luminance、およびtargeted_display_min_luminanceは、次のようにSEIメッセージを含むループの内部でシグナリングされることがあり、この場合、ループのi番目の繰り返しにおけるシンタックス要素はi番目のSEIメッセージと関連付けられる。
【表６】
2019515572.tif 000008
【０２００】
実施形態4
【０２０１】
この実施形態では、領域のリストに対するインデックスはSEIメッセージのループの各々の繰り返しに対してシグナリングされ、繰り返しと関連付けられるインデックスは、その繰り返しにおいてシグナリングされるSEIメッセージおよび任意のメタデータが適用可能である領域を指定するために使用される。
【表７】
2019515572.tif 000009
wns_num_applicable_regions_minus1[ i ]に1を足したものは、SEIメッセージにおいて指定される領域のセットの中で、i番目の繰り返しにおいてシグナリングされるSEIメッセージおよびメタデータが適用可能である領域の数を指定する。wns_num_applicable_regions_minus1[ i ]の値は、両端を含めて0〜wns_num_rect_regions - 1の範囲内にあるものとする。
wns_applicable_region_idx[ i ][ j ]は、i番目のSEIメッセージまたはシンタックス構造に適用可能であるj番目の領域のインデックスを指定する。wns_applicable_region_idx[ i ][ j ]を表すために使用されるビットの数は、Ceil(Log2(wns_num_region_minus1+1))に等しい。
【０２０２】
実施形態5
【０２０３】
この実施形態は実施形態4に等しく、各々の適用可能な領域に対して、対応するSEIメッセージおよびメタデータが適用可能である提供可能な領域のサブセットを示すために、サブセット領域がシグナリングされる。この実施形態では、SEIメッセージにおいて指定される領域はウィンドウとも呼ばれ、サンプルは画素とも呼ばれる。そのようなサブセット領域をシグナリングする例は次の通りである。
【表８】
2019515572.tif 000010
1に等しいwns_pixel_selector_flag[ i ][ j ]は、シンタックス要素セットのi番目のSEIメッセージのj番目の適用可能なウィンドウに対して画素選択子が指定されることを指定する。0に等しいwns_pixel_selector_flag[ i ][ j ]は、シンタックス要素セットのi番目のSEIメッセージのj番目の適用可能なウィンドウに対して画素選択子が指定されないことを指定する。
wns_selector_domain_id[ i ][ j ]は、シンタックス要素セットのi番目のSEIメッセージのj番目の適用可能なウィンドウに対して画素選択子が定義される領域を指定する。wns_selector_domain_id[ i ][ j ]の値は両端を含めて0〜255の範囲内にあるものとする。
0に等しいwns_selector_domain_id[ i ][ j ]は、画素選択子が空間領域において定義され、画素選択子範囲が画素領域において指定されることを指定する。1に等しいwns_selector_domain_id[ i ][ j ]は、画素選択子がYCbCr領域において定義されることを指定する。
適用形態によって決定されるように、32〜63および128〜255のwns_selector_domain_id[ i ][ j ]の値が使用され得る。3〜31および64〜127のwns_selector_domain_id[ i ][ j ]の値は、ITU-T|ISO/IECによる今後の使用のための予備である。両端を含めて3〜31の範囲にある、または両端を含めて64〜127の範囲にあるwns_selector_domain_id[ i ][ j ]の値に遭遇するデコーダは、その値を無視すべきである。
wns_selector_num_comps_minus1[ i ][ j ]に1を足したものは、シンタックス要素セットのi番目のSEIメッセージのj番目の適用可能なウィンドウに対して定義される範囲指定子の数を指定する。wns_selector_num_comps_minus1[ i ][ j ]の値は両端を含めて0〜2の範囲内にあるものとする。
wns_selector_range_idc[ i ][ j ][ k ]は、画素選択子を導出するためのwns_selector_range_val[ ][ ][ ][ ]の解釈を指定する。wns_selector_range_idc[ i ][ j ][ k ]の値は両端を含めて0〜15の範囲内にあるものとする。
配列NumValsSelectorRange[ i ][ j ][ k ]の値は次のように導出される。
【表９】
2019515572.tif 000011
両端を含めて0からNumValsSelectorRange[ i ][ j ][ k ] - 1の範囲のmに対するwns_selector_range_val[ i ][ j ][ k ][ m ]は、j番目の適用可能なウィンドウに対応する画素選択子を導出するために使用される。
1に等しいwns_selector_range_outside_flag[ i ][ j ][ k ]は、j番目の適用可能なウィンドウに対するk番目の画素選択子によって示される適用可能な領域がk番目の画素選択子によって指定される領域の外側にあることを指定する。0に等しいwns_selector_range_outside_flag[ i ][ j ][ k ]は、j番目の適用可能なウィンドウに対するk番目の画素選択子によって示される適用可能な領域がk番目の画素選択子によって指定される領域内にあることを指定する。
【０２０４】
実施形態6
【０２０５】
この実施形態は実施形態1と同様であり、各々の適用可能な領域に対して、領域境界がオフセットに基づいて指定される。
【表１０】
2019515572.tif 000012
rns_region_size_type_idcは、領域の境界がSEIメッセージにおいて指定される際の単位を指定する。rns_region_size_type_idcが0に等しいとき、シンタックス要素rns_region_left_offset[ ]、rns_region_top_offset[ ]、rns_region_right_offset[ ]、およびrns_region_bottom_offset[ ]はサンプルの単位である。rns_region_size_type_idcが1に等しいとき、シンタックス要素rns_region_left_offset[ ]、rns_region_top_offset[ ]、rns_region_right_offset[ ]、およびrns_region_bottom_offset[ ]はCTUの単位である。rns_region_size_type_idcが2に等しいとき、シンタックス要素rns_region_left_offset[ ]、rns_region_top_offset[ ]、rns_region_right_offset[ ]、およびrns_region_bottom_offset[ ]はタイルの単位で指定される。
rns_rect_region_left_offset[ i ]は、SEIメッセージにおいて指定される左側のピクチャ境界からの、i番目の長方形の領域の左上サンプルの水平方向のオフセットを指定する。rns_rect_region_left_offset[ i ]が定義される単位は、rns_region_size_type_idcシンタックス要素によって指定される。
rns_rect_region_top_offset[ i ]は、SEIメッセージにおいて指定される上側のピクチャ境界からの、i番目の長方形の領域の左上ユニットの垂直方向のオフセットを指定する。rns_rect_region_top_offset[ i ]が定義される単位は、rns_region_size_type_idcシンタックス要素によって指定される。
rns_rect_region_right_offset[ i ]は、SEIメッセージにおいて指定される右側ピクチャ境界からのi番目の長方形の領域の右下ユニットの水平方向のオフセットを指定する。rns_rect_region_right_offset[ i ]が定義される単位は、rns_region_size_type_idcシンタックス要素によって指定される。
rns_rect_region_bottom_offset[ i ]は、SEIメッセージにおいて指定される下側のピクチャ境界からの、i番目の長方形の領域の右下ユニットの垂直方向のオフセットを指定する。rns_rect_region_bottom_offset[ i ]が定義される単位は、rns_region_size_type_idcシンタックス要素によって指定される。
rns_region_size_type_idcが0に等しいとき、i番目の長方形の領域は、rns_region_left_offset[ i ]からpic_width_in_luma_samples - rns_region_right_offset[ i ] + 1までの水平方向の座標およびrns_region_top_offset[ i ]からpic_height_in_luma_samples - rns_region_bottom_offset[ i ] + 1までの垂直方向の座標を伴う領域として定義される。
rns_region_size_type_idcが1に等しいとき、i番目の長方形の領域は、CtbSizeY * rns_region_left_offset[ i ]からCtbSizeY * (PicWidthInCtbsY - rns_region_right_offset[ i ] + 1) - 1までの水平方向の座標およびCtbSizeY * rns_region_top_offset[ i ]からCtbSizeY * (PicHeightInCtbsY - rns_region_bottom_offset[ i ] + 1) - 1までの垂直方向の座標を伴う領域として定義される。
rns_region_size_type_idcが2に等しいとき、i番目の長方形の領域は、columnPosStartInLumaSamples[ rns_region_left_offset[ i ] ]からcolumnPosStartInLumaSamples[ num_tile_columns_minus1 - rns_region_right_offset[ i ] + 1 ] - 1までの水平方向の座標およびrowPosStartInLumaSamples[ rns_region_top_offset[ i ] ]からrowPosStartInLumaSamples[ num_tile_rows_minus1 - rns_region_bottom_offset[ i ] + 1 ] - 1までの垂直方向の座標を伴う領域として定義され、両端を含めて0からnum_tile_columns_minus1 + 1の範囲のjに対するcolumnPosStartInLumaSamples[ j ]および両端を含めて0からnum_tile_rows_minus1 + 1の範囲のkに対するrowPosStartInLumaSamples[ k ]は、次のように導出される。
columnPosStartInLumaSamples[ 0 ] = ColumnWidthInLumaSamples[ 0 ]
rowPosStartInLumaSamples[ 0 ] = RowHeightInLumaSamples[ 0 ]
for( j = 1; j <= num_tile_columns_minus1; j++)
columnPosStartInLumaSamples[ j ]= columnPosStartInLumaSamples[ j - 1 ]+
ColumnWidthInLumaSamples[ j ]
for( k = 1; k <= num_tile_rows_minus1; k++)
rowPosStartInLumaSamples[ k ] = rowPosStartInLumaSamples[ k - 1 ] +
RowHeightInLumaSamples[ k ]
【０２０６】
いくつかの代替形態では、シンタックス要素は、サンプル場所の倍数の単位でシグナリングされる。この倍数は、固定されていることがあり(たとえば、オフセットは2サンプル場所の単位で指定され得る)、またはビットストリームの中の他のシンタックス要素に基づくことがあり、または他の手段によって指定されることがある。いくつかの代替形態では、負のオフセット値もシグナリングされることがあり、オフセット値は正または負の値を許容するためにコーディングされる。
【０２０７】
いくつかの代替形態では、シンタックス要素の1つまたは複数はシグナリングされないことがある。シグナリングされないとき、値はデフォルトの値であると推測されることがあり、デフォルトの値と関連付けられるセマンティクスが適用されることがある。たとえば、いくつかの代替形態では、シンタックス要素rns_region_size_type_idcはシグナリングされないことがあり、領域の境界を指定するために使用される単位はサンプル場所(たとえば、輝度サンプル場所)に設定される。上の代替形態または例について説明された方法の一部は、実施形態において説明されるセマンティクスだけに適用可能であるのではなく、サンプル場所の単位を記述するために使用されるシンタックス要素の他の値にも適用されることがある。
【０２０８】
いくつかの代替形態では、シンタックス要素の1つまたは複数は、固定された数のビットを使用してシグナリングされることがあり、他の代替形態では、1つまたは複数のシンタックス要素は、可変の数のビットを使用してシグナリングされることがある。たとえば、この実施形態では、シンタックス要素rns_region_size_type_idc、rns_num_rect_regions、およびnum_seis_in_rns_minus1の1つまたは複数は、8ビットなどの固定された数のビットを使用してシグナリングされることがあり、または、シンタックス要素rns_region_left_offset[ ]、rns_region_top_offset[ ]、rns_region_right_offset[ ]、およびrns_region_bottom_offset[ ]の1つまたは複数は、可変の数のビットを使用して(たとえば、指数ゴロム符号を使用して)シグナリングされることがある。1つの代替形態では、領域ネスティングSEIメッセージの中のすべてのシンタックス要素は、8の倍数であり得る固定された数のビットを使用してシグナリングされ、regional_nesting_zero_bitによって示されるバイト整列ビットはシグナリングされないことがある。いくつかの代替形態では、ネストされたSEIメッセージ内に含まれない領域ネスティングSEIメッセージの中のシンタックス要素のみが、固定された数のビットを使用してシグナリングされることがあり、ネストされたSEIメッセージの内部のシンタックス要素は、固定された数または可変の数のビットを使用して(たとえば、指数ゴロム符号を使用して)シグナリングされることがある。シンタックス要素を表すために使用されるビットの数は、固定された値であることがあり、またはビットストリームにおいてシグナリングされることがあり、または他の手段によってシグナリングされることがある。
【０２０９】
実施形態7
【０２１０】
この実施形態では、シンタックスおよびセマンティクスは以前の実施形態と同様であり、様々な領域に対するSEIの適用形態がよく定義されるように、制約が追加される。
【０２１１】
リストlistOfRegionNestableSEIMessagesは、次のタイプのSEIメッセージを含む。
-  tone_map_idのある特定の値を伴うtone mapping information SEIメッセージ
-  knee_function_idのある特定の値を伴うknee function information SEIメッセージ
-  color_remap_idのある特定の値を伴うcolor remapping information SEIメッセージ
-  film grain characteristics SEIメッセージ
-  post filter hint SEIメッセージ
-  chroma resampling filter hint SEIメッセージ
【０２１２】
listOfRegionNestableSEIMessagesの中の特定のタイプのSEIメッセージが1つの領域ネスティングSEIメッセージの中に存在し、現在のピクチャの中の領域のリストlistAに適用され、listOfRegionNestableSEIMessagesの中の同じタイプの別のSEIメッセージが領域ネスティングSEIメッセージの中に存在し、現在のピクチャの中の領域のリストlistBに適用されるとき、その制約は、listAから一方を選びlistBから他方を選ぶことによって形成されるあらゆるペアまたは領域に対して、2つの領域のrns_rect_region_id[ ]の値が、2つの領域が同一でありかつ2つのSEIメッセージが同一でない限り、同じではないものとするというビットストリーム適合の要件である。
【０２１３】
いくつかの例では、1つの領域のrns_rect_region_id[ ]の値は、同じ領域ネスティング(RN)SEIメッセージにおいて定義される任意の他の領域のrns_rect_region_id[ ]に等しくなることが許容されない。いくつかの例では、RN SEIメッセージの中の任意の2つの領域のrns_rect_region_id[ ]の値は、一方が1つの領域に適用され他方が他の領域に適用される、listOfRegionNestableSEIMessagesに属する同じタイプの2つのSEIメッセージが同じピクチャに適用されない限り、同じであることが許容される。
【０２１４】
いくつかの例では、listOfRegionNestableSEIMessagesは、user data registered SEIメッセージおよびuser data unregistered SEIメッセージの一方またはいずれかを含む。
【０２１５】
本明細書で説明される領域ネスティングメッセージに関する技法は、(圧縮の前または後の)圧縮されたビデオフレームまたは圧縮されていないビデオフレームを使用して実施され得る。例示的なビデオ符号化および復号システムは、宛先デバイスによって後で復号されるべき符号化されたビデオデータを提供するソースデバイスを含む。具体的には、ソースデバイスは、コンピュータ可読媒体を介して宛先デバイスにビデオデータを提供する。ソースデバイスおよび宛先デバイスは、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲のデバイスのいずれかを備え得る。場合によっては、ソースデバイスおよび宛先デバイスは、ワイヤレス通信に対応し得る。
【０２１６】
宛先デバイスは、復号されるべき符号化されたビデオデータを、コンピュータ可読媒体を介して受信し得る。コンピュータ可読媒体は、ソースデバイスから宛先デバイスへ符号化されたビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体は、ソースデバイスが符号化されたビデオデータをリアルタイムで宛先デバイスに直接送信することを可能にするための通信媒体を備え得る。符号化されたビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイスへ送信され得る。通信媒体は、高周波(RF)スペクトルまたは1つまたは複数の物理伝送線路などの、任意のワイヤレス通信媒体または有線通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなどの、パケットベースネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイスから宛先デバイスへの通信を容易にするために有用であり得る任意の他の機器を含み得る。
【０２１７】
いくつかの例では、符号化されたデータは、出力インターフェースから記憶デバイスに出力され得る。同様に、符号化されたデータは、入力インターフェースによって記憶デバイスからアクセスされ得る。記憶デバイスは、ハードドライブ、Blu-ray(登録商標)ディスク、DVD、CD-ROM、フラッシュメモリ、揮発性メモリもしくは不揮発性メモリ、または符号化されたビデオデータを記憶するための任意の他の好適なデジタル記憶媒体などの、分散されるかまたは局所的にアクセスされる様々なデータ記憶媒体のいずれかを含み得る。さらなる例では、記憶デバイスは、ソースデバイスによって生成された符号化されたビデオを記憶し得るファイルサーバまたは別の中間記憶デバイスに対応し得る。宛先デバイスは、ストリーミングまたはダウンロードを介して記憶デバイスから記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶するとともにその符号化されたビデオデータを宛先デバイスへ送信することが可能な、任意のタイプのサーバであり得る。例示的なファイルサーバは、ウェブサーバ(たとえば、ウェブサイトのための)、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイスは、インターネット接続を含む任意の標準的なデータ接続を通じて符号化されたビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに好適である、ワイヤレスチャネル(たとえば、Wi-Fi接続)、有線接続(たとえば、DSL、ケーブルモデムなど)、またはその両方の組合せを含み得る。記憶デバイスからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであってよい。
【０２１８】
本開示の技法は、ワイヤレスの適用例または設定に必ずしも限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、dynamic adaptive streaming over HTTP(DASH)などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、または他の適用例などの、様々なマルチメディア応用のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システムは、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオ電話などの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【０２１９】
一例では、ソースデバイスは、ビデオソース、ビデオエンコーダ、および出力インターフェースを含む。宛先デバイスは、入力インターフェース、ビデオデコーダ、およびディスプレイデバイスを含み得る。ソースデバイスのビデオエンコーダは、本明細書で開示される技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または構成を含み得る。たとえば、ソースデバイスは、外部カメラなどの外部ビデオソースからビデオデータを受信し得る。同様に、宛先デバイスは、一体型ディスプレイデバイスを含むのではなく、外部のディスプレイデバイスとインターフェースし得る。
【０２２０】
上の例示的なシステムは一例にすぎない。ビデオデータを並行して処理するための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実行され得る。一般に、本開示の技法はビデオ符号化デバイスによって実行されるが、技法はまた、通常は「コーデック」と呼ばれるビデオエンコーダ/デコーダによって実行され得る。その上、本開示の技法はまた、ビデオプロセッサによって実行され得る。ソースデバイスおよび宛先デバイスはそのようなコーディングデバイスの例にすぎず、ソースデバイスは、宛先デバイスへの送信のためにコーディングされたビデオデータを生成する。いくつかの例では、ソースデバイスおよび宛先デバイスは、デバイスの各々がビデオ符号化および復号構成要素を含むように、実質的に対称的に動作し得る。したがって、例示的なシステムは、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、またはビデオ電話のために、ビデオデバイス間での一方向または双方向のビデオ送信をサポートし得る。
【０２２１】
ビデオソースは、ビデオカメラ、前にキャプチャされたビデオを含むビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースなどの、ビデオキャプチャデバイスを含み得る。さらなる代替として、ビデオソースは、ソースビデオとしてのコンピュータグラフィックスベースデータ、またはライブビデオ、アーカイブされたビデオ、およびコンピュータで生成されたビデオの組合せを生成し得る。場合によっては、ビデオソースがビデオカメラである場合、ソースデバイスおよび宛先デバイスは、いわゆるカメラ電話またはビデオ電話を形成し得る。しかしながら、上述のように、本開示で説明される技法は、一般に、ビデオコーディングに適用可能であることがあり、ワイヤレスおよび/または有線の用途に適用されることがある。各事例において、キャプチャされたビデオ、プリキャプチャされたビデオ、またはコンピュータで生成されたビデオは、ビデオエンコーダによって符号化され得る。符号化されたビデオ情報は、次いで、出力インターフェースによってコンピュータ可読媒体上に出力され得る。
【０２２２】
述べられたように、コンピュータ可読媒体は、ワイヤレスブロードキャスト送信もしくは有線ネットワーク送信などの一時的媒体、または、ハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Blu-ray(登録商標)ディスク、もしくは他のコンピュータ可読媒体などの記憶媒体(すなわち、非一時的記憶媒体)を含み得る。いくつかの例では、ネットワークサーバ(図示されず)は、ソースデバイスから符号化されたビデオデータを受信し、符号化されたビデオデータを、たとえばネットワーク送信を介して宛先デバイスに提供することができる。同様に、ディスクスタンピング施設のような、媒体生産施設のコンピューティングデバイスは、ソースデバイスから符号化されたビデオデータを受信し、符号化されたビデオデータを含むディスクを生産することができる。したがって、コンピュータ可読媒体は、様々な例において、様々な形式の1つまたは複数のコンピュータ可読媒体を含むものと理解され得る。
【０２２３】
宛先デバイスの入力インターフェースは、コンピュータ可読媒体から情報を受信する。コンピュータ可読媒体の情報は、ブロックの特性および/または処理ならびに他のコーディングされたユニット、たとえばピクチャグループ(GOP)を記述するシンタックス要素を含む、ビデオデコーダによっても使用される、ビデオエンコーダによって定義されるシンタックス情報を含み得る。ディスプレイデバイスは、復号されたビデオデータをユーザに対して表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスのような、様々なディスプレイデバイスのいずれかを備え得る。本発明の様々な実施形態が説明された。
【０２２４】
符号化デバイス104および復号デバイス112の具体的な詳細が、それぞれ、図8および図9に示される。図8は、本開示で説明される技法のうちの1つまたは複数を実施し得る例示的な符号化デバイス104を示すブロック図である。符号化デバイス104は、たとえば、本明細書で説明されるシンタックス構造(たとえば、VPS、SPS、PPS、または他のシンタックス要素のシンタックス構造)を生成することができる。符号化デバイス104は、ビデオスライス内のビデオブロックのイントラ予測およびインター予測コーディングを実行し得る。前に説明されたように、イントラコーディングは、空間予測に少なくとも部分的に依拠して、所与のビデオフレームまたはピクチャ内の空間的冗長性を低減または除去する。インターコーディングは、ビデオシーケンスの隣接するまたは取り囲むフレーム内の時間的冗長性を低減または除去するために、時間予測に少なくとも部分的に依拠する。イントラモード(Iモード)は、いくつかの空間ベースの圧縮モードのうちのいずれかを指し得る。単方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースの圧縮モードのうちのいずれかを指し得る。
【０２２５】
符号化デバイス104は、区分ユニット35と、予測処理ユニット41と、フィルタユニット63と、ピクチャメモリ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。予測処理ユニット41は、動き推定ユニット42と、動き補償ユニット44と、イントラ予測処理ユニット46とを含む。ビデオブロック再構築のために、符号化デバイス104はまた、逆量子化ユニット58と、逆変換処理ユニット60と、加算器62とを含む。フィルタユニット63は、デブロッキングフィルタ、適応ループフィルタ(ALF)、およびサンプル適応オフセット(SAO)フィルタなどの、1つまたは複数のループフィルタを表すことが意図される。図8では、フィルタユニット63はループフィルタとして示されるが、他の構成では、フィルタユニット63はポストループフィルタとして実装され得る。後処理デバイス57は、符号化デバイス104によって生成された符号化されたビデオデータに、さらなる処理を実行し得る。本開示の技法は、いくつかの事例では、符号化デバイス104によって実施され得る。しかしながら、他の事例では、本開示の技法のうちの1つまたは複数は、後処理デバイス57によって実施され得る。
【０２２６】
図8に示されるように、符号化デバイス104はビデオデータを受信し、区分ユニット35はデータをビデオブロックに区分する。区分することはまた、スライス、スライスセグメント、タイル、または他のもっと大きいユニットに区分すること、ならびに、たとえば、LCUおよびCUの四分木構造によるビデオブロック区分を含み得る。符号化デバイス104は一般に、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに(また場合によっては、タイルと呼ばれるビデオブロックのセットに)分割され得る。予測処理ユニット41は、エラー結果(たとえば、コーディングレートおよび歪みのレベルなど)に基づいて、現在のビデオブロックのための、複数のイントラ予測コーディングモードのうちの1つまたは複数のインター予測コーディングモードのうちの1つなどの、複数の可能なコーディングモードのうちの1つを選択し得る。予測処理ユニット41は、残差ブロックデータを生成するために加算器50に、および、参照ピクチャとして使用するための符号化されたブロックを再構築するために加算器62に、得られたイントラコーディングされたまたはインターコーディングされたブロックを提供し得る。
【０２２７】
予測処理ユニット41内のイントラ予測処理ユニット46は、空間的圧縮を提供するために、コーディングされるべき現在のブロックと同じフレームまたはスライスの中の1つまたは複数の隣接ブロックに対する、現在のビデオブロックのイントラ予測コーディングを実行し得る。予測処理ユニット41内の動き推定ユニット42および動き補償ユニット44は、時間的圧縮を提供するために、1つまたは複数の参照ピクチャの中の1つまたは複数の予測ブロックに対する、現在のビデオブロックのインター予測コーディングを実行する。
【０２２８】
動き推定ユニット42は、ビデオシーケンスのための所定のパターンに従って、ビデオスライスのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンスの中のビデオスライスを、Pスライス、Bスライス、またはGPBスライスとして指定し得る。動き推定ユニット42および動き補償ユニット44は高度に集積され得るが、概念的な目的のために別々に図示される。動き推定ユニット42によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する、現在のビデオフレームまたはピクチャ内のビデオブロックの予測ユニット(PU)の変位を示し得る。
【０２２９】
予測ブロックは、絶対差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、または他の差分の尺度によって決定され得る画素差分の観点で、コーディングされるべきビデオブロックのPUと厳密に一致することが見出されるブロックである。いくつかの例では、符号化デバイス104は、ピクチャメモリ64に記憶された参照ピクチャのサブ整数画素場所に対する値を計算し得る。たとえば、符号化デバイス104は、参照ピクチャの1/4画素場所、1/8画素場所、または他の分数画素場所の値を補間し得る。したがって、動き推定ユニット42は、フル画素場所および分数画素場所に対する動き探索を実行することができ、分数画素精度を有する動きベクトルを出力することができる。
【０２３０】
動き推定ユニット42は、PUの場所を参照ピクチャの予測ブロックの場所と比較することによって、インターコーディングされたスライスの中のビデオブロックのPUの動きベクトルを計算する。参照ピクチャは、その各々がピクチャメモリ64に記憶された1つまたは複数の参照ピクチャを識別する、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択され得る。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56および動き補償ユニット44へ送る。
【０２３１】
動き補償ユニット44によって実行される動き補償は、場合によっては、サブピクセル精度への補間を実行する動き推定によって決定される動きベクトルに基づいて、予測ブロックをフェッチまたは生成することを伴い得る。現在のビデオブロックのPUの動きベクトルを受信すると、動き補償ユニット44は、参照ピクチャリスト内で動きベクトルが指す予測ブロックの位置を特定し得る。符号化デバイス104は、コーディングされている現在のビデオブロックの画素値から予測ブロックの画素値を減算し、画素差分値を形成することによって、残差ビデオブロックを形成する。ピクセル差分値は、ブロックに対する残差データを形成し、輝度差分成分と色差差分成分の両方を含み得る。加算器50は、この減算演算を実行する1つまたは複数の構成要素を表す。動き補償ユニット44はまた、ビデオスライスのビデオブロックを復号する際の復号デバイス112による使用のために、ビデオブロックおよびビデオスライスと関連付けられたシンタックス要素を生成し得る。
【０２３２】
イントラ予測処理ユニット46は、上で説明されたように、動き推定ユニット42および動き補償ユニット44によって実行されるインター予測の代替として、現在のブロックをイントラ予測し得る。具体的には、イントラ予測処理ユニット46は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測処理ユニット46は、たとえば、別個の符号化パスの間、様々なイントラ予測モードを使用して現在のブロックを符号化することができ、イントラ予測処理ユニット46は、テストされたモードから、使用するのに適したイントラ予測モードを選択することができる。たとえば、イントラ予測処理ユニット46は、様々なテストされたイントラ予測モードに対してレート歪み分析を使用してレート歪み値を計算し、テストされたモードの中から最良のレート歪み特性を有するイントラ予測モードを選択し得る。レート-歪み分析は、一般に、符号化されたブロックと、符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間の歪み(または誤差)、ならびに、符号化されたブロックを生成するために使用されたビットレート(すなわち、ビット数)を決定する。イントラ予測処理ユニット46は、どのイントラ予測モードがブロックのための最良のレート歪み値を示すのかを決定するために、様々な符号化ブロックのための歪みおよびレートから比を計算し得る。
【０２３３】
いずれの場合も、ブロックのためのイントラ予測モードを選択した後、イントラ予測処理ユニット46は、エントロピー符号化ユニット56にブロックのための選択されたイントラ予測モードを示す情報を提供することができる。エントロピー符号化ユニット56は、選択されたイントラ予測モードを示す情報を符号化し得る。符号化デバイス104は、様々なブロックのための符号化コンテキストの構成データ定義、ならびに最確イントラ予測モード、イントラ予測モードインデックステーブル、およびコンテキストの各々に対して使用すべき修正されたイントラ予測モードインデックステーブルの指示を、送信されるビットストリームの中に含め得る。ビットストリーム構成データは、複数のイントラ予測モードインデックステーブルおよび修正された複数のイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)を含み得る。
【０２３４】
予測処理ユニット41がインター予測またはイントラ予測のいずれかを介して現在のビデオブロックの予測ブロックを生成した後、符号化デバイス104は、現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロックの中の残差ビデオデータは、1つまたは複数のTUの中に含められることがあり、変換処理ユニット52に適用されることがある。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に類似の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット52は、画素領域から周波数領域などの変換領域に、残差ビデオデータを変換し得る。
【０２３５】
変換処理ユニット52は、得られた変換係数を量子化ユニット54に送ることができる。量子化ユニット54は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部またはすべてと関連付けられるビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって修正され得る。いくつかの例では、量子化ユニット54は次いで、量子化された変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット56が走査を実行し得る。
【０２３６】
量子化に続いて、エントロピー符号化ユニット56は、量子化された変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディング、または別のエントロピー符号化技法を実行することができる。エントロピー符号化ユニット56によるエントロピー符号化に続いて、符号化されたビットストリームは、復号デバイス112へ送信されてよく、または復号デバイス112による後の送信もしくは取出しのためにアーカイブされてもよい。エントロピー符号化ユニット56はまた、コーディングされている現在のビデオスライスの動きベクトルおよび他のシンタックス要素をエントロピー符号化し得る。
【０２３７】
逆量子化ユニット58および逆変換処理ユニット60は、参照ピクチャの参照ブロックとして後で使用するための、画素領域における残差ブロックを再構築するために、それぞれ、逆量子化および逆変換を適用する。動き補償ユニット44は、参照ピクチャリスト内の参照ピクチャのうちの1つの予測ブロックに残差ブロックを加算することによって、参照ブロックを計算し得る。動き補償ユニット44はまた、動き推定において使用するためのサブ整数画素値を計算するために、1つまたは複数の補間フィルタを再構築された残差ブロックに適用し得る。加算器62は、ピクチャメモリ64に記憶するための参照ブロックを生成するために、動き補償ユニット44によって生成された動き補償された予測ブロックに再構築された残差ブロックを加算する。参照ブロックは、後続のビデオフレームまたはピクチャの中のブロックをインター予測するための参照ブロックとして、動き推定ユニット42および動き補償ユニット44によって使用され得る。
【０２３８】
このようにして、図8の符号化デバイス104は、符号化されたビデオビットストリームのためのシンタックスを生成するように構成されたビデオエンコーダの例を表す。符号化デバイス104は、たとえば、上で説明されたように、領域ネスティングSEIメッセージのためのシンタックスを生成し得る。符号化デバイス104は、図6に関して上で説明されたプロセスを含む、本明細書で説明される技法のうちのいずれかを実行し得る。本開示の技法は全般に、符号化デバイス104に関して説明されたが、上述のように、本開示の技法のいくつかはまた、後処理デバイス57によって実施されてよい。
【０２３９】
図9は、例示的な復号デバイス112を示すブロック図である。復号デバイス112は、エントロピー復号ユニット80、予測処理ユニット81、逆量子化ユニット86、逆変換処理ユニット88、加算器90、フィルタユニット91、およびピクチャメモリ92を含む。予測処理ユニット81は、動き補償ユニット82およびイントラ予測処理ユニット84を含む。復号デバイス112は、いくつかの例では、図8からの符号化デバイス104に関して説明された符号化パスとは全般に逆の復号パスを実行し得る。復号デバイス112は、図7に関して上で説明されたプロセスを含む、本明細書で説明される技法のうちのいずれかを実行し得る。
【０２４０】
復号プロセスの間、復号デバイス112は、符号化デバイス104によって送信された符号化されたビデオスライスのビデオブロックおよび関連するシンタックス要素を表す符号化されたビデオビットストリームを受信する。いくつかの実施形態では、復号デバイス112は、符号化デバイス104から符号化されたビデオビットストリームを受信し得る。いくつかの実施形態では、復号デバイス112は、サーバ、媒体認識ネットワーク要素(MANE)、ビデオエディタ/スプライサ、または、上で説明された技法の1つまたは複数を実施するように構成された他のそのようなデバイスなどの、ネットワークエンティティ79から符号化されたビデオビットストリームを受信し得る。ネットワークエンティティ79は、符号化デバイス104を含んでよく、または含まなくてもよい。本開示で説明される技法のうちのいくつかは、ネットワークエンティティ79が符号化されたビデオビットストリームを復号デバイス112へ送信する前に、ネットワークエンティティ79によって実施され得る。いくつかのビデオ復号システムでは、ネットワークエンティティ79および復号デバイス112は、別個のデバイスの一部であってよく、他の事例では、ネットワークエンティティ79に関して説明される機能は、復号デバイス112を備える同じデバイスによって実行されてよい。
【０２４１】
復号デバイス112のエントロピー復号ユニット80は、量子化された係数、動きベクトル、および他のシンタックス要素を生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット80は、動きベクトルおよび他のシンタックス要素を予測処理ユニット81に転送する。復号デバイス112は、ビデオスライスレベルおよび/またはビデオブロックレベルにおいてシンタックス要素を受信し得る。エントロピー復号ユニット80は、VPS、SPS、およびPPSなどの1つまたは複数のパラメータセットの中の、固定長シンタックス要素と可変長シンタックス要素の両方を処理および構文解析し得る。
【０２４２】
ビデオスライスがイントラコーディングされた(I)スライスとしてコーディングされたとき、予測処理ユニット81のイントラ予測処理ユニット84は、通知されたイントラ予測モードと、現在のフレームまたはピクチャの以前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックの予測データを生成し得る。ビデオフレームがインターコーディングされた(すなわち、B、P、またはGPB)スライスとしてコーディングされるとき、予測処理ユニット81の動き補償ユニット82は、エントロピー復号ユニット80から受信された動きベクトルと他のシンタックス要素とに基づいて、現在のビデオスライスのビデオブロックの予測ブロックを生成する。予測ブロックは、参照ピクチャリスト内の参照ピクチャのうちの1つから生成され得る。復号デバイス112は、ピクチャメモリ92に記憶された参照ピクチャに基づいて、デフォルトの構築技法を使用して、参照フレームリスト、すなわち、リスト0およびリスト1を構築し得る。
【０２４３】
動き補償ユニット82は、動きベクトルおよび他のシンタックス要素を構文解析することによって、現在のビデオスライスのビデオブロックのための予測情報を決定し、復号されている現在のビデオブロックの予測ブロックを生成するために予測情報を使用する。たとえば、動き補償ユニット82は、パラメータセットの中の1つまたは複数のシンタックス要素を使用して、ビデオスライスのビデオブロックをコーディングするために使用された予測モード(たとえば、イントラ予測またはインター予測)、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)、スライスのための1つまたは複数の参照ピクチャリストに対する構築情報、スライスのインター符号化されたビデオブロックごとの動きベクトル、スライスのインターコーディングされたビデオブロックごとのインター予測ステータス、および現在のビデオスライスの中のビデオブロックを復号するための他の情報を決定し得る。
【０２４４】
動き補償ユニット82は、補間フィルタに基づいて補間を実行することもできる。動き補償ユニット82は、参照ブロックのサブ整数画素に対する補間値を計算するために、ビデオブロックの符号化の間に符号化デバイス104によって使用されたような補間フィルタを使用し得る。この場合、動き補償ユニット82は、符号化デバイス104によって使用される補間フィルタを、受信されたシンタックス要素から決定することができ、予測ブロックを生成するためにその補間フィルタを使用することができる。
【０２４５】
逆量子化ユニット86は、ビットストリームの中で提供されるとともにエントロピー復号ユニット80によって復号された量子化された変換係数を逆量子化(inverse quantize)または逆量子化(de-quantize)する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するために、ビデオスライスの中のビデオブロックごとに符号化デバイス104によって計算された量子化パラメータを使用することを含み得る。逆変換処理ユニット88は、画素領域における残差ブロックを生成するために、変換係数に逆変換(たとえば、逆DCTまたは他の適切な逆変換)、逆整数変換、または概念的に類似の逆変換プロセスを適用する。
【０２４６】
動き補償ユニット82が動きベクトルおよび他のシンタックス要素に基づいて現在のビデオブロックの予測ブロックを生成した後、復号デバイス112は、逆変換処理ユニット88からの残差ブロックを、動き補償ユニット82によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器90は、この加算演算を実行する1つまたは複数の構成要素を表す。所望される場合、(コーディングループ中またはコーディングループ後のいずれかの)ループフィルタも、画素の遷移を平滑化するために、または別の方法でビデオ品質を改善するために使用され得る。フィルタユニット91は、デブロッキングフィルタ、適応ループフィルタ(ALF)、およびサンプル適応オフセット(SAO)フィルタなどの、1つまたは複数のループフィルタを表すことを意図している。フィルタユニット91がループフィルタの中にあるものとして図9に示されるが、他の構成では、フィルタユニット91は、ポストループフィルタとして実装されてもよい。所与のフレームまたはピクチャの中の復号されたビデオブロックは、次いで、ピクチャメモリ92に記憶され、ピクチャメモリ92は、後続の動き補償のために使用される参照ピクチャを記憶する。ピクチャメモリ92はまた、図1に示されるビデオ宛先デバイス122などのディスプレイデバイス上で後で提示するために、復号されたビデオを記憶する。
【０２４７】
上記の説明では、本出願の態様は、その特定の実施形態を参照して説明されたが、本発明がそれらに限定されないことを当業者は認識されよう。したがって、本出願の例示的な実施形態が本明細書で詳細に説明されたが、本発明の概念が別の方法で様々に具現化または採用されてよく、従来技術による限定を除いて、添付の特許請求の範囲がそのような変形形態を含むものと解釈されることを意図することを理解されたい。上で説明された発明の様々な特徴および態様は、個別または一緒に使用され得る。さらに、実施形態は、本明細書の広い趣旨および範囲から逸脱することなく、本明細書で説明されたものを越えた任意の数の環境および適用例において利用され得る。したがって、本明細書および図面は、限定ではなく例示であると見なされるべきである。例示のために、方法は特定の順序で説明された。代替の実施形態では、説明された順序とは異なる順序で方法が実行され得ることを諒解されたい。
【０２４８】
構成要素がいくつかの動作を実行する「ように構成」されているものとして説明される場合、そのような構成は、たとえば、動作を実行するための電子回路もしくはハードウェアを設計することによって、動作を実行するためのプログラマブル電子回路(たとえば、マイクロプロセッサ、または他の適切な電子回路)をプログラムすることによって、またはそれらの任意の組合せで達成され得る。
【０２４９】
本明細書で開示される実施形態に関して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、ファームウェア、またはそれらの組合せとして実装され得る。ハードウェアとソフトウェアとのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップが、全般にそれらの機能に関して上で説明された。そのような機能が、ハードウェアとして実現されるか、ソフトウェアとして実現されるかは、具体的な適用例と、システム全体に課される設計制約とによって決まる。当業者は、説明された機能を具体的な適用例ごとに様々な方法で実装できるが、そのような実装形態の決定は、本発明の範囲からの逸脱を引き起こすものと解釈されるべきではない。
【０２５０】
本明細書で説明された技術はまた、電子ハードウェア、コンピュータソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、またはワイヤレス通信デバイスハンドセットおよび他のデバイスにおける適用例を含む複数の用途を有する集積回路デバイスなどの、様々なデバイスのいずれかにおいて実装され得る。モジュールまたは構成要素として説明された任意の特徴が、集積論理デバイスの中で一緒に、または個別であるが相互動作可能な論理デバイスとして別個に実装され得る。ソフトウェアで実装される場合、技法は、実行されると上で説明された方法の1つまたは複数を実行する命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって、少なくとも部分的に実現され得る。コンピュータ可読データ記憶媒体は、パッケージング材料を含み得るコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、同期型ダイナミックランダムアクセスメモリ(SDRAM)などのランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM)、フラッシュメモリ、磁気または光データ記憶媒体などの、メモリまたはデータ記憶媒体を備え得る。技法は、追加または代替として、伝搬される信号または波などの、命令またはデータ構造の形態でプログラムコードを搬送または通信し、コンピュータによってアクセスされ、読み取られ、かつ/または実行され得る、コンピュータ可読通信媒体によって少なくとも部分的に実現され得る。
【０２５１】
プログラムコードは、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の等価な集積論理回路もしくは個別論理回路などの、1つまたは複数のプロセッサを含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示で説明された技法のうちのいずれかを実行するように構成され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサは、コンピューティングデバイスの組合せ、たとえば、DSPおよびマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成としても実装され得る。したがって、本明細書で使用される「プロセッサ」という用語は、上記の構造、上記の構造の任意の組合せ、または本明細書で説明された技法の実装に好適な任意の他の構造もしくは装置のいずれかを指し得る。加えて、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用のソフトウェアモジュールもしくはハードウェアモジュール内に設けられるか、または組み合わせられたビデオエンコーダ/デコーダ(コーデック)に組み込まれ得る。
【符号の説明】
【０２５２】
35  区分ユニット
41  予測処理ユニット
42  動き推定ユニット
44  動き補償ユニット
46  イントラ予測処理ユニット
50  加算器
52  変換処理ユニット
54  量子化ユニット
56  エントロピー符号化ユニット
57  後処理デバイス
58  逆量子化ユニット
60  逆変換処理ユニット
62  加算器
63  フィルタユニット
64  ピクチャメモリ
79  ネットワークエンティティ
80  エントロピー復号ユニット
81  予測処理ユニット
82  動き補償ユニット
84  イントラ予測処理ユニット
86  逆量子化ユニット
88  逆変換処理ユニット
90  加算器
91  フィルタユニット
92  ピクチャメモリ
100  システム
102  ビデオソース
104  符号化デバイス
106  エンコーダエンジン
108  ストレージ
110  出力
112  復号デバイス
114  入力
116  デコーダエンジン
118  ストレージ
120  通信リンク
122  ビデオ宛先デバイス
200  ビデオビットストリーム
230  ピクチャ
231  VPS
232  SPS
233  PPS
234  SEIメッセージ
235  SEIメッセージ
236  SEIメッセージ
237  スライス
238  スライス
241  領域1データ
242  メタデータ
243  領域2データ
244  メタデータ
350  領域ネスティングSEIメッセージ
351  領域データ
352  ネストされたSEIメッセージ
353  ネストされたSEIメッセージ
354  領域1データ
355  領域2データ
356  領域Nデータ
357  メタデータ
358  1つまたは複数の領域ID
359  メタデータ
360  1つまたは複数の領域ID
400  ピクチャ
402  領域1
404  領域2
570  領域ネスティングSEIメッセージ
571  領域データ
572  ネストされたSEIメッセージ
573  ネストされたSEIメッセージ
574  領域1データ
575  領域2データ
576  領域Nデータ
577  メタデータ
578  メタデータ
579  領域1ID
580  領域2ID
581  領域3ID
582  メタデータ
583  メタデータ
600  プロセス
700  プロセス
【図１】
2019515572.tif 000013
【図２】
2019515572.tif 000014
【図３】
2019515572.tif 000015
【図４Ａ】
2019515572.tif 000016
【図４Ｂ】
2019515572.tif 000017
【図５】
2019515572.tif 000018
【図６】
2019515572.tif 000019
【図７】
2019515572.tif 000020
【図８】
2019515572.tif 000021
【図９】
2019515572.tif 000022
【手続補正書】
【提出日】平成30年11月13日(2018.11.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータを記憶するように構成されたメモリと、
プロセッサとを備え、前記プロセッサが、
前記ビデオデータを取得することと、
前記ビデオデータを使用して、符号化されたビデオビットストリームと関連付けられる領域ネスティングメッセージを生成することとを行うように構成され、前記領域ネスティングメッセージが、複数のネストされたメッセージと、前記符号化されたビデオビットストリームのピクチャの少なくとも第1の領域および第2の領域を定義する領域データとを含み、前記領域ネスティングメッセージの第1のネストされたメッセージが、データの第1のセットと、第1の領域識別子と、第2の領域識別子とを含み、前記第1のネストされたメッセージが、前記ピクチャの前記第1の領域および前記第2の領域が前記第1のネストされたメッセージの中のデータの前記第1のセットと関連付けられることを示すために前記領域ネスティングメッセージに含まれる、
装置。
【請求項２】
前記領域ネスティングメッセージが領域ネスティング補足強化情報(SEI)メッセージであり、前記複数のネストされたメッセージがネストされたSEIメッセージである、請求項1に記載の装置。
【請求項３】
データの前記第1のセットが、前記第1の領域識別子に基づいて前記第1の領域に対して第1の関数を実行するために使用される、請求項1に記載の装置。
【請求項４】
データの前記第1のセットが、前記第1の領域識別子に基づいて、前記第1の領域の前記ビットストリームを復号するための特性または前記第1の領域に対する後処理復号されたデータを指定する、請求項1に記載の装置。
【請求項５】
前記ピクチャの前記第1の領域を定義する前記領域データが、前記領域ネスティングメッセージに一度含まれる、請求項1に記載の装置。
【請求項６】
前記第1のネストされたメッセージがさらにデータの第2のセットを含み、データの前記第2のセットが、前記第1の領域がデータの前記第2のセットと関連付けられることを示すために、前記第1の領域識別子と関連付けられる、請求項1に記載の装置。
【請求項７】
前記第1のネストされたメッセージに前記第1の領域識別子および前記第2の領域識別子が含まれることが、データの前記第1のセットが前記第1の領域および前記第2の領域の各々に独立に適用可能であることを示す、請求項1に記載の装置。
【請求項８】
前記領域ネスティングメッセージが第2のネストされたメッセージを含み、前記第2のネストされたメッセージが、データの第2のセットと、前記第1の領域がデータの前記第2のセットと関連付けられることを示す前記第1の領域識別子とを含む、請求項1に記載の装置。
【請求項９】
前記領域ネスティングメッセージがさらに、前記ピクチャの複数の領域の数を含む、請求項1に記載の装置。
【請求項１０】
前記領域データが、前記第1の領域の1つまたは複数の境界を定義する、または前記第1の領域に含まれるサンプルを定義する、請求項1に記載の装置。
【請求項１１】
前記領域データが、前記ピクチャの1つまたは複数の境界からの、前記第1の領域の1つまたは複数の境界の1つまたは複数のオフセットを定義する、請求項1に記載の装置。
【請求項１２】
前記領域データが長方形の領域として前記第1の領域を定義する、請求項1に記載の装置。
【請求項１３】
前記ピクチャのサンプルが前記ピクチャの2つ以上の領域の中にあるとき、前記2つ以上の領域の中で最大の領域識別子の値を有する前記2つ以上の領域のうちのある領域に適用可能な第1のタイプのネストされたメッセージが、前記サンプルに適用可能である、請求項1に記載の装置。
【請求項１４】
前記2つ以上の領域の中で前記最大の領域識別子の値を有しない前記2つ以上の領域のうちの別の領域に適用可能な前記第1のタイプの別のネストされたメッセージが、前記サンプルに適用可能ではない、請求項13に記載の装置。
【請求項１５】
前記領域ネスティングメッセージがさらに、前記領域ネスティングメッセージの目的を特定するシンタックス要素を含む、請求項1に記載の装置。
【請求項１６】
前記領域ネスティングメッセージがさらに、前記領域ネスティングメッセージの中の前記複数のネストされたメッセージの数を含む、請求項1に記載の装置。
【請求項１７】
前記複数のネストされたメッセージのうちのあるネストされたメッセージが、前記ネストされたメッセージが前記領域ネスティングメッセージにおいてネストされていないかのように、同じ持続性を有する、請求項1に記載の装置。
【請求項１８】
前記領域ネスティングメッセージが、前記第1のネストされたメッセージに対するインデックスのセットを含み、インデックスの前記セットが、データの前記第1のセットが適用されるべき1つまたは複数の領域を示す、請求項1に記載の装置。
【請求項１９】
インデックスの前記セットが少なくとも前記第1の領域識別子を含む、請求項18に記載の装置。
【請求項２０】
ピクチャをキャプチャするためのカメラを有するモバイルデバイスを備える、請求項1に記載の装置。
【請求項２１】
ビデオデータを復号する方法であって、
ビデオビットストリームを受信するステップと、
前記ビデオビットストリームと関連付けられる領域ネスティングメッセージを取得するステップとを備え、前記領域ネスティングメッセージが、複数のネストされたメッセージと、前記ビデオビットストリームのピクチャの少なくとも第1の領域および第2の領域を定義する領域データとを含み、前記領域ネスティングメッセージの第1のネストされたメッセージが、データの第1のセットと、第1の領域識別子と、第2の領域識別子とを含み、前記第1のネストされたメッセージが、前記ピクチャの前記第1の領域および前記第2の領域が前記第1のネストされたメッセージの中のデータの前記第1のセットと関連付けられることを示すために前記領域ネスティングメッセージに含まれる、方法。
【請求項２２】
データの前記第1のセットが、前記第1の領域識別子に基づいて前記第1の領域に対して第1の関数を実行するために使用される、請求項21に記載の方法。
【請求項２３】
前記ピクチャを復号するステップと、
データの前記第1のセットを使用して前記ピクチャの前記第1の領域に対して前記第1の関数を実行するステップとをさらに備え、前記第1の関数が前記第1の領域識別子に基づいて前記第1の領域に対して実行される、請求項22に記載の方法。
【請求項２４】
データの前記第1のセットが、前記第1の領域識別子に基づいて、前記第1の領域の前記ビットストリームを復号するための特性または前記第1の領域に対する後処理復号されたデータを指定する、請求項21に記載の方法。
【請求項２５】
前記領域ネスティングメッセージが領域ネスティング補足強化情報(SEI)メッセージであり、前記複数のネストされたメッセージがネストされたSEIメッセージである、請求項21に記載の方法。
【請求項２６】
前記ピクチャの前記第1の領域を定義する領域データが、前記領域ネスティングメッセージに一度含まれる、請求項21に記載の方法。
【請求項２７】
前記第1のネストされたメッセージがさらにデータの第2のセットを含み、データの前記第2のセットが、前記第1の領域がデータの前記第2のセットと関連付けられることを示すために、前記第1の領域識別子と関連付けられる、請求項21に記載の方法。
【請求項２８】
前記第1のネストされたメッセージに前記第1の領域識別子および前記第2の領域識別子が含まれることが、データの前記第1のセットが前記第1の領域および前記第2の領域の各々に独立に適用可能であることを示す、請求項21に記載の方法。
【請求項２９】
前記領域ネスティングメッセージが第2のネストされたメッセージを含み、前記第2のネストされたメッセージが、データの第2のセットと、前記第1の領域がデータの前記第2のセットと関連付けられることを示す前記第1の領域識別子とを含む、請求項21に記載の方法。
【請求項３０】
前記領域ネスティングメッセージがさらに、前記ピクチャの複数の領域の数を含む、請求項21に記載の方法。
【請求項３１】
前記領域データが、前記第1の領域の1つまたは複数の境界を定義し、または前記第1の領域に含まれるサンプルを定義する、請求項21に記載の方法。
【請求項３２】
前記領域データが、前記ピクチャの1つまたは複数の境界からの、前記第1の領域の1つまたは複数の境界の1つまたは複数のオフセットを定義する、請求項21に記載の方法。
【請求項３３】
前記領域データが長方形の領域として前記第1の領域を定義する、請求項21に記載の方法。
【請求項３４】
前記ピクチャのサンプルが前記ピクチャの2つ以上の領域の中にあるとき、前記2つ以上の領域の中で最大の領域識別子の値を有する前記2つ以上の領域のうちのある領域に適用可能な第1のタイプのネストされたメッセージが、前記サンプルに適用可能である、請求項21に記載の方法。
【請求項３５】
前記2つ以上の領域の中で前記最大の領域識別子の値を有しない前記2つ以上の領域のうちの別の領域に適用可能な前記第1のタイプの別のネストされたメッセージが、前記サンプルに適用可能ではない、請求項34に記載の方法。
【請求項３６】
前記領域ネスティングメッセージがさらに、前記領域ネスティングメッセージの目的を特定するシンタックス要素を含む、請求項21に記載の方法。
【請求項３７】
前記領域ネスティングメッセージがさらに、前記領域ネスティングメッセージの中の前記複数のネストされたメッセージの数を含む、請求項21に記載の方法。
【請求項３８】
前記複数のネストされたメッセージのうちのあるネストされたメッセージが、前記ネストされたメッセージが前記領域ネスティングメッセージにおいてネストされていないかのように、同じ持続性を有する、請求項21に記載の方法。
【請求項３９】
前記領域ネスティングメッセージが、前記第1のネストされたメッセージに対するインデックスのセットを含み、インデックスの前記セットが、データの前記第1のセットが適用されるべき1つまたは複数の領域を示す、請求項21に記載の方法。
【請求項４０】
インデックスの前記セットが少なくとも前記第1の領域識別子を含む、請求項39に記載の方法。
【請求項４１】
ビデオビットストリームを受信するように構成された受信機と、
前記ビデオビットストリームのビデオデータを記憶するように構成されたメモリと、
前記ビデオビットストリームと関連付けられる領域ネスティングメッセージを取得するように構成されたプロセッサとを備え、前記領域ネスティングメッセージが、複数のネストされたメッセージと、前記ビデオビットストリームのピクチャの少なくとも第1の領域および第2の領域を定義する領域データとを含み、前記領域ネスティングメッセージの第1のネストされたメッセージが、データの第1のセットと、第1の領域識別子と、第2の領域識別子とを含み、前記第1のネストされたメッセージが、前記ピクチャの前記第1の領域および前記第2の領域が前記第1のネストされたメッセージの中のデータの前記第1のセットと関連付けられることを示すために前記領域ネスティングメッセージに含まれる、装置。
【請求項４２】
データの前記第1のセットが、前記第1の領域識別子に基づいて前記第1の領域に対して第1の関数を実行するために使用される、請求項41に記載の装置。
【請求項４３】
前記プロセッサがさらに、
前記ピクチャを復号することと、
データの前記第1のセットを使用して前記ピクチャの前記第1の領域に対して前記第1の関数を実行することとを行うように構成され、前記第1の関数が前記第1の領域識別子に基づいて前記第1の領域に対して実行される、請求項42に記載の装置。
【請求項４４】
データの前記第1のセットが、前記第1の領域識別子に基づいて、前記第1の領域の前記ビットストリームを復号するための特性または前記第1の領域に対する後処理復号されたデータを指定する、請求項41に記載の装置。
【請求項４５】
前記領域ネスティングメッセージが領域ネスティング補足強化情報(SEI)メッセージであり、前記複数のネストされたメッセージがネストされたSEIメッセージである、請求項41に記載の装置。
【請求項４６】
前記ピクチャの前記第1の領域を定義する領域データが、前記領域ネスティングメッセージに一度含まれる、請求項41に記載の装置。
【請求項４７】
前記第1のネストされたメッセージがさらにデータの第2のセットを含み、データの前記第2のセットが、第1の領域がデータの前記第2のセットと関連付けられることを示すために、前記第1の領域識別子と関連付けられる、請求項41に記載の装置。
【請求項４８】
前記第1のネストされたメッセージに前記第1の領域識別子および前記第2の領域識別子が含まれることが、データの前記第1のセットが前記第1の領域および前記第2の領域の各々に独立に適用可能であることを示す、請求項41に記載の装置。
【請求項４９】
前記領域ネスティングメッセージが第2のネストされたメッセージを含み、前記第2のネストされたメッセージが、データの第2のセットと、前記第1の領域がデータの前記第2のセットと関連付けられることを示す前記第1の領域識別子とを含む、請求項41に記載の装置。
【請求項５０】
前記領域ネスティングメッセージがさらに、前記ピクチャの複数の領域の数を含む、請求項41に記載の装置。
【請求項５１】
前記領域データが、前記第1の領域の1つまたは複数の境界を定義し、または前記第1の領域に含まれるサンプルを定義する、請求項41に記載の装置。
【請求項５２】
前記領域データが、前記ピクチャの1つまたは複数の境界からの、前記第1の領域の1つまたは複数の境界の1つまたは複数のオフセットを定義する、請求項41に記載の装置。
【請求項５３】
前記領域データが長方形の領域として前記第1の領域を定義する、請求項41に記載の装置。
【請求項５４】
前記ピクチャのサンプルが前記ピクチャの2つ以上の領域の中にあるとき、前記2つ以上の領域の中で最大の領域識別子の値を有する前記2つ以上の領域のうちのある領域に適用可能な第1のタイプのネストされたメッセージが、前記サンプルに適用可能である、請求項41に記載の装置。
【請求項５５】
前記2つ以上の領域の中で前記最大の領域識別子の値を有しない前記2つ以上の領域のうちの別の領域に適用可能な前記第1のタイプの別のネストされたメッセージが、前記サンプルに適用可能ではない、請求項54に記載の装置。
【請求項５６】
前記領域ネスティングメッセージがさらに、前記領域ネスティングメッセージの目的を特定するシンタックス要素を含む、請求項54に記載の装置。
【請求項５７】
前記領域ネスティングメッセージがさらに、前記領域ネスティングメッセージの中の前記複数のネストされたメッセージの数を含む、請求項41に記載の装置。
【請求項５８】
前記複数のネストされたメッセージのうちのあるネストされたメッセージが、前記ネストされたメッセージが前記領域ネスティングメッセージにおいてネストされていないかのように、同じ持続性を有する、請求項41に記載の装置。
【請求項５９】
前記領域ネスティングメッセージが、前記第1のネストされたメッセージに対するインデックスのセットを含み、インデックスの前記セットが、データの前記第1のセットが適用されるべき1つまたは複数の領域を示す、請求項41に記載の装置。
【請求項６０】
インデックスの前記セットが少なくとも前記第1の領域識別子を含む、請求項59に記載の装置。
【請求項６１】
前記ビデオデータを表示するためのディスプレイをさらに備える、請求項41に記載の装置。
【請求項６２】
カメラを有するモバイルデバイスを備える、請求項41に記載の装置。
【請求項６３】
命令を記憶したコンピュータ可読記録媒体であって、前記命令が、1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
ビデオデータを取得することと、
前記ビデオデータを使用して、符号化されたビデオビットストリームと関連付けられる領域ネスティングメッセージを生成することと
を行わせ、前記領域ネスティングメッセージが、複数のネストされたメッセージと、前記符号化されたビデオビットストリームのピクチャの少なくとも第1の領域および第2の領域を定義する領域データとを含み、前記領域ネスティングメッセージの第1のネストされたメッセージが、データの第1のセットと、第1の領域識別子と、第2の領域識別子とを含み、前記第1のネストされたメッセージが、前記ピクチャの前記第1の領域および前記第2の領域が前記第1のネストされたメッセージの中のデータの前記第1のセットと関連付けられることを示すために前記領域ネスティングメッセージに含まれる、コンピュータ可読記録媒体。
【請求項６４】
ビデオデータを復号するための装置であって、
ビデオデータを取得するための手段と、
前記ビデオデータを使用して、符号化されたビデオビットストリームと関連付けられる領域ネスティングメッセージを生成するための手段と
を備え、前記領域ネスティングメッセージが、複数のネストされたメッセージと、前記符号化されたビデオビットストリームのピクチャの少なくとも第1の領域および第2の領域を定義する領域データとを含み、前記領域ネスティングメッセージの第1のネストされたメッセージが、データの第1のセットと、第1の領域識別子と、第2の領域識別子とを含み、前記第1のネストされたメッセージが、前記ピクチャの前記第1の領域および前記第2の領域が前記第1のネストされたメッセージの中のデータの前記第1のセットと関連付けられることを示すために前記領域ネスティングメッセージに含まれる、装置。
【国際調査報告】
2019515572.tif 000023
2019515572.tif 000024
2019515572.tif 000025