(57)【要約】  改善された色再マッピングを行うためのシステム、方法、およびコンピュータ可読媒体が説明される。いくつかの例では、第1の色特性を有する複数のピクチャを含む、ビデオビットストリームが取得される。色再マッピング情報(CRI)補足エンハンスメント情報(SEI)メッセージはビデオビットストリームから特定される。CRI SEIメッセージのシンタックス要素の値が条件に基づいて制約されるように、制約がCRI SEIメッセージに対して課される。複数のピクチャの1つまたは複数のサンプルは、制約に従って、CRI SEIメッセージの色再マッピングモデルを使用して、第1の色特性から第2の色特性に再マッピングされる。いくつかの場合、条件は複数のピクチャのクロマフォーマットであり、この場合、CRI SEIメッセージのシンタックス要素の値は、クロマフォーマットに基づいて制約される。いくつかの場合、条件は、CRI SEIメッセージの色再マッピングモデルの目的を特定する色再マップ値であり、この場合、CRI SEIメッセージのシンタックス要素の値は、色再マップ値に基づいて制約される。
2019511165.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを処理する方法であって、
ビデオビットストリームを取得するステップであって、前記ビデオビットストリームが第1の色特性を有する複数のピクチャを含む、ステップと、
前記ビデオビットストリームから、色再マッピング情報(CRI)補足エンハンスメント情報(SEI)メッセージを特定するステップであって、前記CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値が条件に基づいて制約される、ステップと、
前記CRI SEIメッセージの色再マッピングモデルを使用して、前記複数のピクチャの1つまたは複数のサンプルを前記第1の色特性から第2の色特性に再マッピングするステップと
を備える方法。
【請求項２】
前記複数のピクチャのクロマフォーマットを決定するステップをさらに備え、前記条件が前記複数のピクチャの前記クロマフォーマットであり、前記CRI SEIメッセージの前記少なくとも1つのシンタックス要素の前記1つまたは複数の値が、前記複数のピクチャの前記クロマフォーマットに基づいて制約される、
請求項1に記載の方法。
【請求項３】
前記CRI SEIメッセージの前記色再マッピングモデルの目的を特定する色再マップ値を決定するステップをさらに備え、前記条件が前記色再マップ値であり、前記CRI SEIメッセージの前記少なくとも1つのシンタックス要素の前記1つまたは複数の値が、前記色再マップ値に基づいて制約される、
請求項1に記載の方法。
【請求項４】
前記複数のピクチャのクロマフォーマットを決定するステップと、
前記CRI SEIメッセージの前記色再マッピングモデルの目的を特定する色再マップ値を決定するステップとをさらに備え、
前記条件が前記複数のピクチャの前記クロマフォーマットおよび前記色再マップ値であり、前記CRI SEIメッセージの前記少なくとも1つのシンタックス要素の前記1つまたは複数の値が、前記複数のピクチャの前記クロマフォーマットに基づいて、かつ前記色再マップ値に基づいて制約される、
請求項1に記載の方法。
【請求項５】
前記CRI SEIメッセージの前記色再マッピングモデルが、ルックアップ前テーブル、色再マップ行列、およびルックアップ後テーブルを含む、
請求項1に記載の方法。
【請求項６】
前記CRI SEIメッセージの前記少なくとも1つのシンタックス要素が、前記色再マップ行列が存在するかどうかを示す色再マップ行列存在フラグを含み、前記方法が、
前記条件に基づいて、前記色再マップ行列が存在しないことを示す値に等しいように前記色再マップ行列存在フラグが制約されると決定するステップと、
前記色再マップ行列存在フラグが前記値に等しいように制約されるとき、前記色再マップ行列を適用することなく、前記色再マッピングモデルを前記1つまたは複数のサンプルに適用するステップとさらに備える、
請求項5に記載の方法。
【請求項７】
前記条件が前記複数のピクチャのクロマフォーマットであり、前記色再マップ行列存在フラグは、前記クロマフォーマットが4:2:2のクロマフォーマット、4:2:0のクロマフォーマット、または4:0:0のクロマフォーマットであると決定されるとき、前記値に等しいように制約されると決定される、
請求項6に記載の方法。
【請求項８】
前記色再マップ行列存在フラグが前記値に等しいように制約されるとき、前記色再マップ行列を単位行列に等しいものとして推測するステップをさらに備え、
前記色再マッピングモデルを前記1つまたは複数のサンプルに適用するステップが、前記単位行列を適用するステップを含む、
請求項6に記載の方法。
【請求項９】
前記CRI SEIメッセージの前記少なくとも1つのシンタックス要素が、前記ルックアップ後テーブルの入力値および出力値を示すルックアップ後テーブル数シンタックス要素を含み、前記方法が、
前記条件に基づいて、前記ルックアップ後テーブル数シンタックス要素が、前記入力値および出力値が0に等しいことを示す値に等しいように制約されると決定するステップと、
前記ルックアップ後テーブル数シンタックス要素が前記値に等しいように制約されるとき、前記ルックアップ後テーブルを適用することなく、前記色再マッピングモデルを前記1つまたは複数のサンプルに適用するステップとをさらに備える、
請求項5に記載の方法。
【請求項１０】
前記ルックアップ後テーブル数シンタックス要素が前記値に等しいように制約されるとき、前記ルックアップ後テーブルを恒等写像であるものとして推測するステップをさらに備え、
前記色再マッピングモデルを前記1つまたは複数のサンプルに適用するステップが、前記恒等写像を実行するステップを含む、
請求項9に記載の方法。
【請求項１１】
前記CRI SEIメッセージの前記少なくとも1つのシンタックス要素が、前記ルックアップ前テーブルの入力値および出力値を示すルックアップ前テーブル数シンタックス要素を含み、
前記条件に基づいて、前記ルックアップ前テーブル数シンタックス要素が、前記入力値および出力値が0に等しいことを示す値に等しいように制約されると決定するステップと、
前記ルックアップ前テーブル数シンタックス要素が前記値に等しいように制約されるとき、前記ルックアップ前テーブルを適用することなく、前記色再マッピングモデルを前記1つまたは複数のサンプルに適用するステップとをさらに備える、
請求項5に記載の方法。
【請求項１２】
前記ルックアップ前テーブル数シンタックス要素が前記値に等しいように制約されるとき、前記ルックアップ前テーブルを恒等写像であるものとして推測するステップをさらに備え、
前記色再マッピングモデルを前記1つまたは複数のサンプルに適用するステップが、前記恒等写像を実行するステップを含む、
請求項11に記載の方法。
【請求項１３】
装置であって、
ビデオデータを記憶するように構成されたメモリと、
プロセッサとを備え、前記プロセッサが、
ビデオビットストリームを取得することであって、前記ビデオビットストリームが第1の色特性を有する複数のピクチャを含む、取得することと、
前記ビデオビットストリームから、色再マッピング情報(CRI)補足エンハンスメント情報(SEI)メッセージを特定することであって、前記CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値が条件に基づいて制約される、特定することと、
前記CRI SEIメッセージの色再マッピングモデルを使用して、前記複数のピクチャの1つまたは複数のサンプルを前記第1の色特性から第2の色特性に再マッピングすることとを行うように構成される、
装置。
【請求項１４】
前記プロセッサが、
前記複数のピクチャのクロマフォーマットを決定するように構成され、前記条件が前記複数のピクチャのクロマフォーマットであり、前記CRI SEIメッセージの前記少なくとも1つのシンタックス要素の前記1つまたは複数の値が、前記複数のピクチャの前記クロマフォーマットに基づいて制約される、
請求項13に記載の装置。
【請求項１５】
前記プロセッサが、
前記CRI SEIメッセージの前記色再マッピングモデルの目的を特定する色再マップ値を決定するように構成され、前記条件が前記色再マップ値であり、前記CRI SEIメッセージの前記少なくとも1つのシンタックス要素の前記1つまたは複数の値が、前記色再マップ値に基づいて制約される、
請求項13に記載の装置。
【請求項１６】
前記プロセッサが、
前記複数のピクチャのクロマフォーマットを決定し、
前記CRI SEIメッセージの前記色再マッピングモデルの目的を特定する色再マップ値を決定するように構成され、
前記条件が前記複数のピクチャの前記クロマフォーマットおよび前記色再マップ値であり、前記CRI SEIメッセージの前記少なくとも1つのシンタックス要素の前記1つまたは複数の値が、前記複数のピクチャの前記クロマフォーマットに基づいて、かつ前記色再マップ値に基づいて制約される、
請求項13に記載の装置。
【請求項１７】
前記CRI SEIメッセージの前記色再マッピングモデルが、ルックアップ前テーブル、色再マップ行列、およびルックアップ後テーブルを含む、請求項13に記載の装置。
【請求項１８】
前記CRI SEIメッセージの前記少なくとも1つのシンタックス要素が、前記色再マップ行列が存在するかどうかを示す色再マップ行列存在フラグを含み、前記プロセッサが、
前記条件に基づいて、前記色再マップ行列が存在しないことを示す値に等しいように前記色再マップ行列存在フラグが制約されると決定し、
前記色再マップ行列存在フラグが前記値に等しいように制約されるとき、前記色再マップ行列を適用することなく、前記色再マッピングモデルを前記1つまたは複数のサンプルに適用するように構成される、
請求項17に記載の装置。
【請求項１９】
前記条件が前記複数のピクチャのクロマフォーマットであり、前記色再マップ行列存在フラグは、前記クロマフォーマットが4:2:2のクロマフォーマット、4:2:0のクロマフォーマット、または4:0:0のクロマフォーマットであると決定されるとき、前記値に等しいように制約されると決定される、
請求項18に記載の装置。
【請求項２０】
前記プロセッサが、
前記色再マップ行列存在フラグが前記値に等しいように制約されるとき、前記色再マップ行列を単位行列に等しいものとして推測するように構成され、
前記色再マッピングモデルを前記1つまたは複数のサンプルに適用するステップが、前記単位行列を適用するステップを含む、
請求項18に記載の装置。
【請求項２１】
前記CRI SEIメッセージの前記少なくとも1つのシンタックス要素が、前記ルックアップ後テーブルの入力値および出力値を示すルックアップ後テーブル数シンタックス要素を含み、前記プロセッサが、
前記条件に基づいて、前記ルックアップ後テーブル数シンタックス要素が、前記入力値および出力値が0に等しいことを示す値に等しいように制約されると決定し、
前記ルックアップ後テーブル数シンタックス要素が前記値に等しいように制約されるとき、前記ルックアップ後テーブルを適用することなく、前記色再マッピングモデルを前記1つまたは複数のサンプルに適用するように構成される、
請求項17に記載の装置。
【請求項２２】
前記プロセッサが、
前記ルックアップ後テーブル数シンタックス要素が前記値に等しいように制約されるとき、前記ルックアップ後テーブルを恒等写像であるものとして推測するように構成され、
前記色再マッピングモデルを前記1つまたは複数のサンプルに適用するステップが、前記恒等写像を実行するステップを含む、
請求項21に記載の装置。
【請求項２３】
前記CRI SEIメッセージの前記少なくとも1つのシンタックス要素が、前記ルックアップ前テーブルの入力値および出力値を示すルックアップ前テーブル数シンタックス要素を含み、前記プロセッサが、
前記条件に基づいて、前記ルックアップ前テーブル数シンタックス要素が、前記入力値および出力値が0に等しいことを示す値に等しいように制約されると決定し、
前記ルックアップ前テーブル数シンタックス要素が前記値に等しいように制約されるとき、前記ルックアップ前テーブルを適用することなく、前記色再マッピングモデルを前記1つまたは複数のサンプルに適用するように構成される、
請求項17に記載の装置。
【請求項２４】
前記プロセッサが、
前記ルックアップ前テーブル数シンタックス要素が前記値に等しいように制約されるとき、前記ルックアップ前テーブルを恒等写像であるものとして推測するように構成され、
前記色再マッピングモデルを前記1つまたは複数のサンプルに適用するステップが、前記恒等写像を実行するステップを含む、
請求項23に記載の装置。
【請求項２５】
前記再マッピングされた1つまたは複数のサンプルを表示するためのディスプレイをさらに備える、請求項13に記載の装置。
【請求項２６】
前記装置が、カメラを有するモバイルデバイスを含む、請求項13に記載の装置。
【請求項２７】
プロセッサによって実行されたとき、方法を実行する命令を記憶したコンピュータ可読媒体であって、前記方法が、
ビデオビットストリームを取得するステップであって、前記ビデオビットストリームが第1の色特性を有する複数のピクチャを含む、ステップと、
前記ビデオビットストリームから、色再マッピング情報(CRI)補足エンハンスメント情報(SEI)メッセージを特定するステップであって、前記CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値が条件に基づいて制約される、ステップと、
前記CRI SEIメッセージの色再マッピングモデルを使用して、前記複数のピクチャの1つまたは複数のサンプルを前記第1の色特性から第2の色特性に再マッピングするステップと
を含む、コンピュータ可読媒体。
【請求項２８】
ビデオビットストリームを取得するための手段であって、前記ビデオビットストリームが第1の色特性を有する複数のピクチャを含む、手段と、
前記ビデオビットストリームから、色再マッピング情報(CRI)補足エンハンスメント情報(SEI)メッセージを特定するための手段であって、前記CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値が条件に基づいて制約される、手段と、
前記CRI SEIメッセージの色再マッピングモデルを使用して、前記複数のピクチャの1つまたは複数のサンプルを前記第1の色特性から第2の色特性に再マッピングするための手段と
を備える、装置。
【請求項２９】
ビデオデータを符号化する方法であって、
エンコーダにおいてビデオデータを取得するステップと、
前記ビデオデータに基づいて複数のピクチャをビデオビットストリームへと符号化するステップであって、前記複数のピクチャが第1の色特性を有する、ステップと、
色再マッピング情報(CRI)補足エンハンスメント情報(SEI)メッセージを前記ビデオビットストリームへと符号化するステップであって、前記CRI SEIメッセージが、前記複数のピクチャの1つまたは複数のサンプルを前記第1の色特性から第2の色特性に再マッピングするための色再マッピングモデルを含む、ステップとを備え、前記CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値が条件に基づいて制約される、
方法。
【請求項３０】
前記条件が前記複数のピクチャのクロマフォーマットであり、前記CRI SEIメッセージの前記少なくとも1つのシンタックス要素の前記1つまたは複数の値が、前記複数のピクチャの前記クロマフォーマットに基づいて制約される、請求項29に記載の方法。
【請求項３１】
前記条件が、前記CRI SEIメッセージの前記色再マッピングモデルの目的を特定する色再マップ値であり、前記CRI SEIメッセージの前記少なくとも1つのシンタックス要素の前記1つまたは複数の値が、前記色再マップ値に基づいて制約される、請求項29に記載の方法。
【請求項３２】
前記条件が、前記複数のピクチャのクロマフォーマット、および前記CRI SEIメッセージの前記色再マッピングモデルの目的を特定する色再マップ値であり、前記CRI SEIメッセージの前記少なくとも1つのシンタックス要素の前記1つまたは複数の値が、前記複数のピクチャの前記クロマフォーマットに基づいて、かつ前記色再マップ値に基づいて制約される、請求項29に記載の方法。
【請求項３３】
前記CRI SEIメッセージの前記色再マッピングモデルが、ルックアップ前テーブル、色再マップ行列、およびルックアップ後テーブルを含む、請求項29に記載の方法。
【請求項３４】
前記CRI SEIメッセージの前記少なくとも1つのシンタックス要素が、前記色再マップ行列が存在するかどうかを示す色再マップ行列存在フラグを含み、前記色再マップ行列存在フラグが前記条件に基づく値に等しいように制約され、前記色再マップ行列存在フラグの前記値が、前記色再マップ行列が存在しないことを示す、請求項33に記載の方法。
【請求項３５】
前記条件が前記複数のピクチャのクロマフォーマットであり、前記色再マップ行列存在フラグは、前記クロマフォーマットが4:2:2のクロマフォーマット、4:2:0のクロマフォーマット、または4:0:0のクロマフォーマットであると決定されるとき、前記値に等しいように制約される、請求項34に記載の方法。
【請求項３６】
前記色再マップ行列存在フラグが前記値に等しいように制約されるとき、前記色再マップ行列が単位行列に等しいものとして推測される、請求項34に記載の方法。
【請求項３７】
前記CRI SEIメッセージの前記少なくとも1つのシンタックス要素が、前記ルックアップ後テーブルの入力値および出力値を示すルックアップ後テーブル数シンタックス要素を含み、前記ルックアップ後テーブル数シンタックス要素が前記条件に基づく値に等しいように制約され、前記ルックアップ後テーブル数シンタックス要素の前記値が、前記入力値および出力値が0に等しいことを示す、請求項33に記載の方法。
【請求項３８】
前記ルックアップ後テーブル数シンタックス要素が前記値に等しいように制約されるとき、前記ルックアップ後テーブルが恒等写像であるものとして推測される、請求項37に記載の方法。
【請求項３９】
前記CRI SEIメッセージの前記少なくとも1つのシンタックス要素が、前記ルックアップ前テーブルの入力値および出力値を示すルックアップ前テーブル数シンタックス要素を含み、前記ルックアップ前テーブル数シンタックス要素が前記条件に基づく値に等しいように制約され、前記ルックアップ前テーブル数シンタックス要素の前記値が、前記入力値および出力値が0に等しいことを示す、請求項33に記載の方法。
【請求項４０】
前記ルックアップ前テーブル数シンタックス要素が前記値に等しいように制約されるとき、前記ルックアップ前テーブルが恒等写像であるものとして推測される、請求項39に記載の方法。
【請求項４１】
装置であって、
ビデオデータを記憶するように構成されたメモリと、
プロセッサとを備え、前記プロセッサが、
エンコーダにおいてビデオデータを取得することと、
前記ビデオデータに基づいて複数のピクチャをビデオビットストリームへと符号化することであって、前記複数のピクチャが第1の色特性を有する、符号化することと、
色再マッピング情報(CRI)補足エンハンスメント情報(SEI)メッセージを前記ビデオビットストリームへと符号化することであって、前記CRI SEIメッセージが、前記複数のピクチャの1つまたは複数のサンプルを前記第1の色特性から第2の色特性に再マッピングするための色再マッピングモデルを含む、符号化することとを行うように構成され、前記CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値が条件に基づいて制約される、
装置。
【請求項４２】
前記条件が複数のピクチャのクロマフォーマットであり、前記CRI SEIメッセージの前記少なくとも1つのシンタックス要素の前記1つまたは複数の値が、前記複数のピクチャの前記クロマフォーマットに基づいて制約される、請求項41に記載の装置。
【請求項４３】
前記条件が、前記CRI SEIメッセージの前記色再マッピングモデルの目的を特定する色再マップ値であり、前記CRI SEIメッセージの前記少なくとも1つのシンタックス要素の前記1つまたは複数の値が、前記色再マップ値に基づいて制約される、請求項41に記載の装置。
【請求項４４】
前記条件が、前記複数のピクチャのクロマフォーマット、および前記CRI SEIメッセージの前記色再マッピングモデルの目的を特定する色再マップ値であり、前記CRI SEIメッセージの前記少なくとも1つのシンタックス要素の前記1つまたは複数の値が、前記複数のピクチャの前記クロマフォーマットに基づいて、かつ前記色再マップ値に基づいて制約される、請求項41に記載の装置。
【請求項４５】
前記CRI SEIメッセージの前記色再マッピングモデルが、ルックアップ前テーブル、色再マップ行列、およびルックアップ後テーブルを含む、請求項41に記載の装置。
【請求項４６】
前記CRI SEIメッセージの前記少なくとも1つのシンタックス要素が、前記色再マップ行列が存在するかどうかを示す色再マップ行列存在フラグを含み、前記色再マップ行列存在フラグが前記条件に基づく値に等しいように制約され、前記色再マップ行列存在フラグの前記値が、前記色再マップ行列が存在しないことを示す、請求項45に記載の装置。
【請求項４７】
前記条件が前記複数のピクチャのクロマフォーマットであり、前記色再マップ行列存在フラグが、前記クロマフォーマットが4:2:2のクロマフォーマット、4:2:0のクロマフォーマット、または4:0:0のクロマフォーマットであると決定されるとき、前記値に等しいように制約される、請求項46に記載の装置。
【請求項４８】
前記色再マップ行列存在フラグが前記値に等しいように制約されるとき、前記色再マップ行列が単位行列に等しいものとして推測される、請求項46に記載の装置。
【請求項４９】
前記CRI SEIメッセージの前記少なくとも1つのシンタックス要素が、前記ルックアップ後テーブルの入力値および出力値を示すルックアップ後テーブル数シンタックス要素を含み、前記ルックアップ後テーブル数シンタックス要素が前記条件に基づく値に等しいように制約され、前記ルックアップ後テーブル数シンタックス要素の前記値が、前記入力値および出力値が0に等しいことを示す、請求項45に記載の装置。
【請求項５０】
前記ルックアップ後テーブル数シンタックス要素が前記値に等しいように制約されるとき、前記ルックアップ後テーブルが恒等写像であるものとして推測される、請求項49に記載の装置。
【請求項５１】
前記CRI SEIメッセージの前記少なくとも1つのシンタックス要素が、前記ルックアップ前テーブルの入力値および出力値を示すルックアップ前テーブル数シンタックス要素を含み、前記ルックアップ前テーブル数シンタックス要素が前記条件に基づく値に等しいように制約され、前記ルックアップ前テーブル数シンタックス要素の前記値が、前記入力値および出力値が0に等しいことを示す、請求項45に記載の装置。
【請求項５２】
前記ルックアップ前テーブル数シンタックス要素が前記値に等しいように制約されるとき、前記ルックアップ前テーブルが恒等写像であるものとして推測される、請求項51に記載の装置。
【請求項５３】
前記装置が、ピクチャをキャプチャするためのカメラを有するモバイルデバイスを含む、請求項41に記載の装置。
【請求項５４】
プロセッサによって実行されたとき、方法を実行する命令を記憶したコンピュータ可読媒体であって、前記方法が、
エンコーダにおいてビデオデータを取得するステップと、
前記ビデオデータに基づいて複数のピクチャをビデオビットストリームへと符号化するステップであって、前記複数のピクチャが第1の色特性を有する、ステップと、
色再マッピング情報(CRI)補足エンハンスメント情報(SEI)メッセージを前記ビデオビットストリームへと符号化するステップであって、前記CRI SEIメッセージが、前記複数のピクチャの1つまたは複数のサンプルを前記第1の色特性から第2の色特性に再マッピングするための色再マッピングモデルを含む、ステップとを含み、前記CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値が条件に基づいて制約される、
コンピュータ可読媒体。
【請求項５５】
エンコーダにおいてビデオデータを取得するための手段と、
前記ビデオデータに基づいて複数のピクチャをビデオビットストリームへと符号化するための手段であって、前記複数のピクチャが第1の色特性を有する、手段と、
色再マッピング情報(CRI)補足エンハンスメント情報(SEI)メッセージを前記ビデオビットストリームへと符号化するための手段であって、前記CRI SEIメッセージが、前記複数のピクチャの1つまたは複数のサンプルを前記第1の色特性から第2の色特性に再マッピングするための色再マッピングモデルを含む、手段とを備え、前記CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値が条件に基づいて制約される、
装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、ビデオコーディングおよび圧縮に関する。より詳細には、本出願は、色再マッピング情報(CRI)補足エンハンスメント情報(SEI)メッセージの適用を改善することに関する。
【背景技術】
【０００２】
多くのデバイスおよびシステムは、ビデオデータが消費のために処理および出力されることを可能にする。デジタルビデオデータは、消費者およびビデオ提供者の需要を満たすために大量のデータを含む。たとえば、ビデオデータの消費者は、高い忠実度、解像度、フレームレートなどを有する最高品質のビデオを望む。その結果、これらの要求を満たすことが求められる大量のビデオデータは、通信ネットワーク、およびビデオデータを処理および記憶するデバイスに負担をかける。
【０００３】
ビデオデータを圧縮するために、様々なビデオコーディング技法が使用され得る。ビデオコーディングは、1つまたは複数のビデオコーディング規格に従って実行される。たとえば、ビデオコーディング規格は、高効率ビデオコーディング(HEVC: High-Efficiency Video Coding)、アドバンストビデオコーディング(AVC: Advanced Video Coding)、ムービングピクチャエキスパートグループ(MPEG: Moving Picture Experts Group)コーディングなどを含む。ビデオコーディングは、概して、ビデオ画像またはシーケンスの中に存在する冗長性を利用する予測方法(たとえば、インター予測、イントラ予測など)を利用する。ビデオコーディング技法の重要な目的は、ビデオ品質の劣化を回避または最小限に抑えながら、より低いビットレートを使用する形態にビデオデータを圧縮することである。絶えず進化するビデオサービスが利用可能になって、より良好なコーディング効率を有する符号化技法が必要とされる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】JCTVC-W1005 v2、Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3およびISO/IEC JTC 1/SC 29/WG 11
【発明の概要】
【課題を解決するための手段】
【０００５】
いくつかの実装形態では、色再マッピング情報(CRI)補足エンハンスメント情報(SEI)メッセージを改善する、技法およびシステムが説明される。SEIメッセージは、ビデオビットストリームに含まれ得、クライアント側デバイス(たとえば、プレーヤ、デコーダ、または他のクライアント側デバイス)が復号された出力の表示または処理を改善するために(たとえば、コンテンツの視認性を改善するために)使用することができる情報を含み得る。
【０００６】
CRI SEIメッセージは、第1の色特性を有するピクチャを第2の色特性にマッピングまたは変換するために使用される情報を含む。ピクチャの色特性は、色空間、ダイナミックレンジ、伝達関数、または様々なビデオコンテンツにわたって異なり得る任意の他の色特性を含むことができる。例示的な一例では、いくつかのビデオコンテンツは、第1の色特性(たとえば、HDRビデオ、高精細度ビデオ、超高精細度ビデオ、第1の伝達関数、または他の特性)を有することがある。しかしながら、いくつかのデバイスは、第1の色特性を有するビデオをそれらが処理することを防ぐ制限を有することがある。たとえば、いくつかのプレーヤデバイスは、第2の色特性を有するビデオ(たとえば、SDRビデオ、標準精細度ビデオ、第2の伝達関数、または他の特性)を処理することだけが可能であることがある。別の例では、いくつかのディスプレイは、第2の色特性を有するビデオを表示することだけが可能であることがある。そのような例では、ビデオコンテンツのピクチャは、プレーヤデバイスによって表示され得るように、第1の色特性から第2の色特性に変換されることが必要であり得る。
【０００７】
CRI SEIメッセージは現在、いくつかのタイプのビデオコンテンツにのみ適用可能であるものとしてHEVC規格によって定義されている。たとえば、HEVC規格におけるCRI SEIメッセージのセマンティクスは、CRI SEIメッセージの色再マッピングモデルが、4:4:4のクロマ領域の中の復号ビデオサンプルに適用され得ることと、色再マッピングモデルが適用され得る前に4:2:0の領域または4:2:2の領域の中の復号サンプルが4:4:4の領域にアップサンプリングされる必要があることとを示す。しかしながら、CRI SEIメッセージの色再マッピングモデルを4:4:4以外の領域の中のサンプルに直接適用する、いくつかの理由がある。
【０００８】
様々なタイプのビデオコンテンツに適用可能であるCRI SEIメッセージを生成するための、技法およびシステムが本明細書で説明される。いくつかの例では、CRI SEIメッセージの色再マッピングモデルは、異なるタイプのビデオコンテンツに対して異なるように適用され得る。たとえば、CRI SEIメッセージのいくつかのシンタックス要素の値は、ビデオコンテンツのタイプに基づいて、かつ/またはCRI SEIメッセージの目的に基づいて、制約または定義され得る。いくつかの場合、CRI SEIメッセージのシンタックス要素の1つまたは複数の値が条件に基づいて制約されるように、制約がCRI SEIメッセージに対して課される。例示的な一例では、この条件は、CRI SEIメッセージの色再マッピングモデルが適用されるピクチャのクロマフォーマットを含むことができる。そのような例では、CRI SEIメッセージのシンタックス要素の1つまたは複数の値は、クロマフォーマットに基づいて制約される。別の例示的な例では、この条件は、CRI SEIメッセージの色再マッピングモデルの目的を特定する色再マップ値(たとえば、color_remap_idシンタックス要素の値)を含むことができる。この例では、CRI SEIメッセージのシンタックス要素の1つまたは複数の値は、色再マップ値に基づいて制約される。
【０００９】
ビデオコンテンツのタイプおよび/またはCRI SEIメッセージの目的に基づいてCRI SEIメッセージのシンタックス要素の値を制約することは、色再マッピングモデルのいくつかの部分がコンテンツに適用されながら色再マッピングモデルの他の部分が適用されないことを可能にする。たとえば、4:2:0の領域の中のビデオサンプルに対して、色再マッピングモデルの1つまたは複数のルックアップテーブルはサンプルに適用され得るが、色再マッピングモデルの色再マップ行列はサンプルに適用され得ない。
【００１０】
ビデオデータを処理する少なくとも一例によれば、ビデオビットストリームを取得することを備える、ビデオデータを処理する方法が提供され、ビデオビットストリームは、第1の色特性を有する複数のピクチャを含む。方法は、ビデオビットストリームから、色再マッピング情報(CRI)補足エンハンスメント情報(SEI)メッセージを特定することをさらに備え、CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値は条件に基づいて制約される。方法は、CRI SEIメッセージの色再マッピングモデルを使用して、複数のピクチャの1つまたは複数のサンプルを第1の色特性から第2の色特性に再マッピングすることをさらに備える。
【００１１】
ビデオデータを処理する別の例では、ビデオデータを記憶するように構成されたメモリとプロセッサとを含む装置が提供される。プロセッサは、ビデオビットストリームを取得するように構成され、それを取得することができ、ビデオビットストリームは、第1の色特性を有する複数のピクチャを含む。プロセッサは、ビデオビットストリームから、色再マッピング情報(CRI)補足エンハンスメント情報(SEI)メッセージを識別するように構成され、識別することができる。CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値は、条件に基づいて制約される。プロセッサは、CRI SEIメッセージの色再マッピングモデルを使用して、複数のピクチャの1つまたは複数のサンプルを第1の色特性から第2の色特性に再マッピングするようにさらに構成され、再マッピングすることができる。
【００１２】
ビデオデータを処理する別の例では、プロセッサによって実行されたとき、方法を実行する命令を記憶したコンピュータ可読媒体が提供され、方法は、ビデオビットストリームを取得することであって、ビデオビットストリームが、第1の色特性を有する複数のピクチャを含む、取得することと、ビデオビットストリームから、色再マッピング情報(CRI)補足エンハンスメント情報(SEI)メッセージを特定することであって、CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値が条件に基づいて制約される、特定することと、CRI SEIメッセージの色再マッピングモデルを使用して、複数のピクチャの1つまたは複数のサンプルを第1の色特性から第2の色特性に再マッピングすることとを含む。
【００１３】
ビデオデータを処理する別の例では、ビデオビットストリームを取得するための手段を含む装置が提供され、ビデオビットストリームは、第1の色特性を有する複数のピクチャを含む。装置は、ビデオビットストリームから、色再マッピング情報(CRI)補足エンハンスメント情報(SEI)メッセージを特定するための手段をさらに備え、CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値は条件に基づいて制約される。装置は、CRI SEIメッセージの色再マッピングモデルを使用して、複数のピクチャの1つまたは複数のサンプルを第1の色特性から第2の色特性に再マッピングするための手段をさらに備える。
【００１４】
いくつかの態様では、上記で説明したビデオデータを処理するための方法、装置、およびコンピュータ可読媒体は、複数のピクチャのクロマフォーマットを決定することをさらに備え得る。そのような態様では、条件は複数のピクチャのクロマフォーマットであり、CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値は、複数のピクチャのクロマフォーマットに基づいて制約される。
【００１５】
いくつかの態様では、上記で説明したビデオデータを処理するための方法、装置、およびコンピュータ可読媒体は、CRI SEIメッセージの色再マッピングモデルの目的を特定する色再マップ値を決定することをさらに備え得る。そのような態様では、条件は色再マップ値であり、CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値は、色再マップ値に基づいて制約される。
【００１６】
いくつかの態様では、上記で説明したビデオデータを処理するための方法、装置、およびコンピュータ可読媒体は、複数のピクチャのクロマフォーマットを決定することと、CRI SEIメッセージの色再マッピングモデルの目的を特定する色再マップ値を決定することとをさらに備え得る。そのような態様では、条件は複数のピクチャのクロマフォーマットおよび色再マップ値であり、CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値は、複数のピクチャのクロマフォーマットに基づいて、かつ色再マップ値に基づいて制約される。
【００１７】
いくつかの態様では、CRI SEIメッセージの色再マッピングモデルは、ルックアップ前テーブル、色再マップ行列、およびルックアップ後テーブルを含む。
【００１８】
いくつかの態様では、CRI SEIメッセージの少なくとも1つのシンタックス要素は、色再マップ行列が存在するかどうかを示す色再マップ行列存在フラグを含む。そのような態様では、上記で説明したビデオデータを処理するための方法、装置、およびコンピュータ可読媒体は、条件に基づいて、色再マップ行列存在フラグが、色再マップ行列が存在しないことを示す値に等しいように制約されると決定することと、色再マップ行列存在フラグがその値に等しいように制約されるとき、色再マップ行列を適用することなく、色再マッピングモデルを1つまたは複数のサンプルに適用することとをさらに備え得る。いくつかの例では、条件は複数のピクチャのクロマフォーマットであり、色再マップ行列存在フラグは、クロマフォーマットが4:2:2のクロマフォーマット、4:2:0のクロマフォーマット、または4:0:0のクロマフォーマットであると決定されるとき、その値に等しいように制約されると決定される。
【００１９】
いくつかの態様では、上記で説明したビデオデータを処理するための方法、装置、およびコンピュータ可読媒体は、色再マップ行列存在フラグがその値に等しいように制約されるとき、単位行列に等しいものとして色再マップ行列を推測することをさらに備え得る。そのような態様では、色再マッピングモデルを1つまたは複数のサンプルに適用することは、単位行列を適用することを含む。
【００２０】
いくつかの態様では、CRI SEIメッセージの少なくとも1つのシンタックス要素は、ルックアップ後テーブルの入力値および出力値を示すルックアップ後テーブル数シンタックス要素を含む。そのような態様では、上記で説明したビデオデータを処理するための方法、装置、およびコンピュータ可読媒体は、条件に基づいて、ルックアップ後テーブル数シンタックス要素が、入力値および出力値が0に等しいことを示す値に等しいように制約されると決定することと、ルックアップ後テーブル数シンタックス要素がその値に等しいように制約されるとき、ルックアップ後テーブルを適用することなく、色再マッピングモデルを1つまたは複数のサンプルに適用することとをさらに備え得る。
【００２１】
いくつかの態様では、上記で説明したビデオデータを処理するための方法、装置、およびコンピュータ可読媒体は、ルックアップ後テーブル数シンタックス要素がその値に等しいように制約されるとき、恒等写像であるものとしてルックアップ後テーブルを推測することをさらに備え得る。そのような態様では、色再マッピングモデルを1つまたは複数のサンプルに適用することは、恒等写像を実行することを含む。
【００２２】
いくつかの態様では、CRI SEIメッセージの少なくとも1つのシンタックス要素は、ルックアップ前テーブルの入力値および出力値を示すルックアップ前テーブル数シンタックス要素を含む。そのような態様では、上記で説明したビデオデータを処理するための方法、装置、およびコンピュータ可読媒体は、条件に基づいて、ルックアップ前テーブル数シンタックス要素が、入力値および出力値が0に等しいことを示す値に等しいように制約されると決定することと、ルックアップ前テーブル数シンタックス要素がその値に等しいように制約されるとき、ルックアップ前テーブルを適用することなく、色再マッピングモデルを1つまたは複数のサンプルに適用することとをさらに備え得る。
【００２３】
いくつかの態様では、上記で説明したビデオデータを処理するための方法、装置、およびコンピュータ可読媒体は、ルックアップ前テーブル数シンタックス要素がその値に等しいように制約されるとき、恒等写像であるものとしてルックアップ前テーブルを推測することをさらに備え得る。そのような態様では、色再マッピングモデルを1つまたは複数のサンプルに適用することは、恒等写像を実行することを含む。
【００２４】
ビデオデータを符号化する少なくとも一例によれば、エンコーダにおいてビデオデータを取得することを備える、ビデオデータを符号化する方法が提供される。方法は、ビデオビットストリームへと、ビデオデータに基づいて複数のピクチャを符号化することをさらに備え、複数のピクチャは第1の色特性を有する。方法は、ビデオビットストリームへと、色再マッピング情報(CRI)補足エンハンスメント情報(SEI)メッセージを符号化することをさらに備える。CRI SEIメッセージは、複数のピクチャの1つまたは複数のサンプルを第1の色特性から第2の色特性に再マッピングするための色再マッピングモデルを含む。CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値は、条件に基づいて制約される。
【００２５】
ビデオデータを符号化する別の例では、ビデオデータを記憶するように構成されたメモリとプロセッサとを含む装置が提供される。プロセッサは、エンコーダにおいてビデオデータを取得するように構成され、取得することができる。プロセッサは、ビデオビットストリームへと、ビデオデータに基づいて複数のピクチャを符号化するようにさらに構成され、符号化することができ、複数のピクチャは第1の色特性を有する。プロセッサは、ビデオビットストリームへと、色再マッピング情報(CRI)補足エンハンスメント情報(SEI)メッセージを符号化するようにさらに構成され、符号化することができる。CRI SEIメッセージは、複数のピクチャの1つまたは複数のサンプルを第1の色特性から第2の色特性に再マッピングするための色再マッピングモデルを含む。CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値は、条件に基づいて制約される。
【００２６】
ビデオデータを符号化する別の例では、プロセッサによって実行されたとき、方法を実行する命令を記憶したコンピュータ可読媒体が提供され、方法は、エンコーダにおいてビデオデータを取得することと、ビットストリームへと、ビデオデータに基づいて複数のピクチャを符号化することであって、複数のピクチャが第1の色特性を有する、符号化することと、ビデオビットストリームへと、色再マッピング情報(CRI)補足エンハンスメント情報(SEI)メッセージを符号化することであって、CRI SEIメッセージが、複数のピクチャの1つまたは複数のサンプルを第1の色特性から第2の色特性に再マッピングするための色再マッピングモデルを含む、符号化することとを含み、CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値は条件に基づいて制約される。
【００２７】
ビデオデータを符号化する別の例では、エンコーダにおいてビデオデータを取得するための手段を含む装置が提供される。装置は、ビデオビットストリームへと、ビデオデータに基づいて複数のピクチャを符号化するための手段をさらに備え、複数のピクチャは第1の色特性を有する。装置は、ビデオビットストリームへと、色再マッピング情報(CRI)補足エンハンスメント情報(SEI)メッセージを符号化するための手段をさらに備える。CRI SEIメッセージは、複数のピクチャの1つまたは複数のサンプルを第1の色特性から第2の色特性に再マッピングするための色再マッピングモデルを含む。CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値は、条件に基づいて制約される。
【００２８】
いくつかの態様では、条件は複数のピクチャのクロマフォーマットであり、CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値は、複数のピクチャのクロマフォーマットに基づいて制約される。
【００２９】
いくつかの態様では、条件は、CRI SEIメッセージの色再マッピングモデルの目的を特定する色再マップ値であり、CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値は、色再マップ値に基づいて制約される。
【００３０】
いくつかの態様では、条件は、複数のピクチャのクロマフォーマット、およびCRI SEIメッセージの色再マッピングモデルの目的を特定する色再マップ値である。そのような態様では、CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値は、複数のピクチャのクロマフォーマットに基づいて、かつ色再マップ値に基づいて制約される。
【００３１】
いくつかの態様では、CRI SEIメッセージの色再マッピングモデルは、ルックアップ前テーブル、色再マップ行列、およびルックアップ後テーブルを含む。
【００３２】
いくつかの態様では、CRI SEIメッセージの少なくとも1つのシンタックス要素は、色再マップ行列が存在するかどうかを示す色再マップ行列存在フラグを含む。そのような態様では、色再マップ行列存在フラグは、条件に基づいてある値に等しいように制約され、色再マップ行列存在フラグのこの値は、色再マップ行列が存在しないことを示す。いくつかの例では、条件は複数のピクチャのクロマフォーマットであり、色再マップ行列存在フラグは、クロマフォーマットが4:2:2のクロマフォーマット、4:2:0のクロマフォーマット、または4:0:0のクロマフォーマットであると決定されるとき、その値に等しいように制約される。いくつかの例では、色再マップ行列は、色再マップ行列存在フラグがその値に等しいように制約されるとき、単位行列に等しいものとして推測される。
【００３３】
いくつかの態様では、CRI SEIメッセージの少なくとも1つのシンタックス要素は、ルックアップ後テーブルの入力値および出力値を示すルックアップ後テーブル数シンタックス要素を含む。そのような態様では、ルックアップ後テーブル数シンタックス要素は、条件に基づいてある値に等しいように制約され、ルックアップ後テーブル数シンタックス要素のこの値は、入力値および出力値が0に等しいことを示す。いくつかの例では、ルックアップ後テーブルは、ルックアップ後テーブル数シンタックス要素がその値に等しいように制約されるときであるものとして推測される。
【００３４】
いくつかの態様では、CRI SEIメッセージの少なくとも1つのシンタックス要素は、ルックアップ前テーブルの入力値および出力値を示すルックアップ前テーブル数シンタックス要素を含む。そのような態様では、ルックアップ前テーブル数シンタックス要素は、条件に基づいてある値に等しいように制約され、ルックアップ前テーブル数シンタックス要素のこの値は、入力値および出力値が0に等しいことを示す。いくつかの例では、ルックアップ前テーブルは、ルックアップ前テーブル数シンタックス要素がその値に等しいように制約されるとき、恒等写像であるものとして推測される。
【００３５】
本概要は、特許請求される主題の主要または不可欠な特徴を識別するものでなく、特許請求される主題の範囲を決定するために独立して使用されるものでもない。主題は、本特許の明細書全体、いずれかまたはすべての図面、および各請求項の適切な部分への参照によって理解されるべきである。
【００３６】
上記のことは、他の特徴および実施形態とともに、以下の明細書、特許請求の範囲、および添付図面を参照するとより明らかになろう。
【００３７】
本発明の例示的な実施形態が、以下の図面を参照しながら以下で詳細に説明される。
【図面の簡単な説明】
【００３８】
【図１】いくつかの例による符号化デバイスおよび復号デバイスの一例を示すブロック図である。
【図２】いくつかの例による、色再マッピング情報(CRI)補足エンハンスメント情報(SEI)メッセージの色再マッピングモデルの例を示すブロック図である。
【図３】いくつかの例による、CRI SEIメッセージの色再マッピングモデルの構成要素の詳細を示すブロック図である。
【図４】いくつかの例による、CRI SEIメッセージのシンタックスの一例を示す図である。
【図５】いくつかの例による、ビデオデータを処理するプロセスの一例を示すフローチャートである。
【図６】いくつかの例による、ビデオデータを符号化するプロセスの一例を示すフローチャートである。
【図７】いくつかの例による例示的なビデオ符号化デバイスを示すブロック図である。
【図８】いくつかの例による例示的なビデオ復号デバイスを示すブロック図である。
【発明を実施するための形態】
【００３９】
本開示のいくつかの態様および実施形態が以下に提供される。当業者に明らかになるように、これらの態様および実施形態のうちのいくつかは独立に適用されてよく、それらのうちのいくつかは組み合わせて適用されてよい。以下の説明では、説明の目的で、本発明の実施形態の完全な理解をもたらすように具体的な詳細が説明される。しかしながら、様々な実施形態がこれらの具体的な詳細なしに実践され得ることは明らかであろう。図および説明は限定的であることを意図しない。
【００４０】
以下の説明は、例示的な実施形態のみを提供し、本開示の範囲、適用性、または構成を限定することを意図しない。むしろ、例示的な実施形態の以下の説明は、例示的な実施形態を実施することを可能にする説明を当業者に提供する。添付の特許請求の範囲に記載したような本発明の趣旨および範囲から逸脱することなく、様々な変更が要素の機能および構成に加えられ得ることを理解されたい。
【００４１】
本実施形態の十分な理解をもたらすために、以下の説明において具体的な詳細が与えられる。しかしながら、本実施形態がこれらの具体的な詳細なしに実践され得ることが当業者によって理解されよう。たとえば、不必要な詳細で本実施形態を不明瞭にしないように、回路、システム、ネットワーク、プロセス、および他の構成要素はブロック図の形態で構成要素として示されることがある。他の事例では、本実施形態を不明瞭にすることを避けるために、よく知られている回路、プロセス、アルゴリズム、構造、および技法は、不必要な詳細なしに示されることがある。
【００４２】
また、個々の実施形態がフローチャート、フロー図、データフロー図、構造図、またはブロック図として示されるプロセスとして説明され得ることに留意されたい。フローチャートは逐次プロセスとして動作を説明することがあるが、動作の多くは並列または同時に実行され得る。加えて、動作の順序は並べ替えられてよい。プロセスは、その動作が完了するときに終了するが、図に含まれない追加のステップを有することができる。プロセスは、方法、機能、プロシージャ、サブルーチン、サブプログラムなどに相当し得る。プロセスが関数に相当するとき、その終了は、その関数が呼出し関数またはメイン関数に戻ることに相当し得る。
【００４３】
「コンピュータ可読媒体」という用語は、限定はしないが、ポータブルまたは非ポータブルの記憶デバイス、光記憶デバイス、ならびに命令および/またはデータを記憶、包含、または搬送することができる様々な他の媒体を含む。コンピュータ可読媒体は、データがそこに記憶され得るとともに、ワイヤレスに、または有線接続を介して伝搬する搬送波および/または一時的な電子信号を含まない、非一時的媒体を含み得る。非一時的媒体の例は、限定はしないが、磁気ディスクもしくは磁気テープ、コンパクトディスク(CD)もしくはデジタル多用途ディスク(DVD)などの光記憶媒体、フラッシュメモリ、メモリ、またはメモリデバイスを含み得る。コンピュータ可読媒体は、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造、もしくはプログラムステートメントの任意の組合せを表し得る、その上に記憶されたコードおよび/または機械実行可能命令を有し得る。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容を渡すことおよび/または受けることによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信などを含む、任意の適切な手段を介して渡されてよく、転送されてよく、または送信されてよい。
【００４４】
さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはこれらの任意の組合せによって実装されてよい。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実装されるとき、必要なタスクを実行するためのプログラムコードまたはコードセグメント(たとえば、コンピュータプログラム製品)は、コンピュータ可読媒体または機械可読媒体に記憶され得る。プロセッサは、必要なタスクを実行し得る。
【００４５】
ビデオエンコーダ、デコーダ、ビデオプレーヤ、および他のビデオ処理デバイスを使用する、ビデオ処理およびビデオコーディングのいくつかのシステムおよび方法が、本明細書で説明される。いくつかの例では、改善された色再マッピング情報(CRI)補足エンハンスメント情報(SEI)メッセージを提供するための、ビデオデータを処理する1つまたは複数のシステムおよび方法が説明される。たとえば、色再マッピングモデル(1つまたは複数のルックアップテーブルおよび1つまたは複数の色再マッピング行列を含む)を定義または記述する情報を含むCRI SEIメッセージが生成され得、色再マッピングモデルは異なるタイプのビデオコンテンツに対して異なるように適用され得る。CRI SEIメッセージの1つまたは複数のシンタックス要素の値は、ビデオコンテンツのタイプに基づいて制約または定義され得る。そのようなシステムおよび方法の詳細が、以下でさらに詳細に説明される。
【００４６】
より多くのデバイスおよびシステムが、デジタルビデオデータを消費するための能力を消費者に提供するので、効率的なビデオコーディング技法に対する必要がより重要となっている。デジタルビデオデータの中に存在する大量のデータを処理するのに必要な記憶要件および送信要件を低減するために、ビデオコーディングが必要とされる。高いビデオ品質を維持しながらより低いビットレートを使用する形態にビデオデータを圧縮するために、様々なビデオコーディング技法が使用され得る。
【００４７】
図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: Scalable Video Coding)拡張およびマルチビュービデオコーディング(MVC: Multiview Video Coding)拡張を含むITU-T H.264(ISO/IEC MPEG-4 AVCとも呼ばれる)を含む。より最近のビデオコーディング規格、すなわち高効率ビデオコーディング(HEVC)が、ITU-Tビデオコーディングエキスパートグループ(VCEG: Video Coding Experts Group)とISO/IECムービングピクチャエキスパートグループ(MPEG)とのビデオコーディング共同研究部会(JCT-VC)によって確定された。MV-HEVCと呼ばれるHEVCのマルチビュー拡張、およびSHVCと呼ばれるHEVCのスケーラブル拡張、または任意の他の適切なコーディングプロトコルを含むHEVCの様々な拡張が、マルチレイヤビデオコーディングを扱い、同様にJCT-VCによって開発されている。
【００４９】
本明細書で説明する多くの実施形態が、HEVC規格またはそれの拡張を使用する例を説明する。しかしながら、本明細書で説明する技法およびシステムはまた、AVC、MPEG、それらの拡張、あるいはすでに利用可能であるかまたはまだ利用可能もしくは開発済みでない他の適切なコーディング規格などの、他のコーディング規格に適用可能であり得る。したがって、本明細書で説明する技法およびシステムは特定のビデオコーディング規格を参照しながら説明され得るが、説明がその特定の規格だけに適用されるものと解釈されるべきでないことを当業者なら諒解されよう。
【００５０】
図1を参照すると、ビデオソース102は、符号化デバイス104にビデオデータを提供し得る。ビデオソース102は、ソースデバイスの一部であってよく、またはソースデバイス以外のデバイスの一部であってもよい。ビデオソース102は、ビデオキャプチャデバイス(たとえば、ビデオカメラ、カメラ付き携帯電話、ビデオ付き携帯電話など)、記憶されたビデオを含むビデオアーカイブ、ビデオデータを提供するビデオサーバもしくはコンテンツプロバイダ、ビデオサーバもしくはコンテンツプロバイダからビデオを受信するビデオフィードインターフェース、コンピュータグラフィックスビデオデータを生成するためのコンピュータグラフィックスシステム、そのようなソースの組合せ、または任意の他の適切なビデオソースを含み得る。
【００５１】
ビデオソース102からのビデオデータは、1つまたは複数の入力ピクチャまたは入力フレームを含み得る。ピクチャまたはフレームは、ビデオの一部である静止画像である。符号化デバイス104のエンコーダエンジン106(または、エンコーダ)は、ビデオデータを符号化して符号化ビデオビットストリームを生成する。いくつかの例では、符号化ビデオビットストリーム(または、「ビデオビットストリーム」もしくは「ビットストリーム」)は、一連の1つまたは複数のコード化ビデオシーケンスである。コード化ビデオシーケンス(CVS: Coded Video Sequence)は、ベースレイヤの中でいくつかの特性を伴うランダムアクセスポイントピクチャを有するアクセスユニット(AU: Access Unit)で開始し、ベースレイヤの中でいくつかの特性を伴うランダムアクセスポイントピクチャを有する次のAUの直前までの、一連のAUを含む。たとえば、CVSを開始するランダムアクセスポイントピクチャのいくつかの特性は、1に等しいRASLフラグ(たとえば、NoRaslOutputFlag)を含み得る。そうでない場合、ランダムアクセスポイントピクチャ(0に等しいRASLフラグを有する)はCVSを開始しない。アクセスユニット(AU)は、1つまたは複数のコード化ピクチャ、および同じ出力時間を共有するコード化ピクチャに対応する制御情報を含む。ピクチャのコード化スライスは、ビットストリームレベルで、ネットワークアブストラクションレイヤ(NAL: Network Abstraction Layer)ユニットと呼ばれるデータ単位の中にカプセル化される。たとえば、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: Coding Tree Block)に区分される。ルーマサンプルのCTB、およびクロマサンプルの1つまたは複数のCTBは、サンプル用のシンタックスとともにコーディングツリーユニット(CTU: Coding Tree Unit)と呼ばれる。CTUは、HEVC符号化のための基本処理ユニットである。CTUは、様々なサイズの複数のコーディングユニット(CU: Coding Unit)に分割され得る。CUは、コーディングブロック(CB: Coding Block)と呼ばれるルーマサンプルアレイおよびクロマサンプルアレイを含む。
【００５４】
ルーマCBおよびクロマCBは、予測ブロック(PB: Prediction Block)にさらに分割され得る。PBは、(使用のために利用可能または有効にされているとき)インター予測またはイントラブロックコピー予測のために同じ動きパラメータを使用するルーマ成分またはクロマ成分のサンプルのブロックである。ルーマPBおよび1つまたは複数のクロマPBは、関連するシンタックスとともに予測ユニット(PU: Prediction Unit)を形成する。インター予測の場合、動きパラメータのセット(たとえば、1つまたは複数の動きベクトル、参照インデックスなど)は、PUごとにビットストリームの中でシグナリングされ、ルーマPBおよび1つまたは複数のクロマPBのインター予測のために使用される。イントラブロックコピー予測の場合、動きパラメータのセット(たとえば、1つまたは複数のブロックベクトルなど)も、PUごとにシグナリングされ得、イントラブロックコピー予測のために使用され得る。CBはまた、1つまたは複数の変換ブロック(TB: Transform Block)に区分され得る。TBは、予測残差信号をコーディングするために同じ2次元変換がそこに適用される、色成分のサンプルの正方形ブロックを表す。変換ユニット(TU: Transform Unit)は、ルーマサンプルおよびクロマサンプルの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に対応する残差サンプルは、残差4分木(RQT: Residual Quad Tree)と呼ばれる4分木構造を使用して、より小さいユニットに再分割され得る。RQTのリーフノードは、TUに対応し得る。TUに関連するピクセル差分値は、変換係数を生成するように変換され得る。変換係数は、次いで、エンコーダエンジン106によって量子化され得る。
【００５７】
ビデオデータのピクチャがCUに区分されると、エンコーダエンジン106は、予測モードを使用して各PUを予測する。予測ユニットまたは予測ブロックは、次いで、残差(以下で説明する)を得るために元のビデオデータから減算される。CUごとに、予測モードが、シンタックスデータを使用してビットストリームの内部でシグナリングされ得る。予測モードは、イントラ予測(または、イントラピクチャ予測)またはインター予測(または、インターピクチャ予測)を含み得る。イントラ予測は、ピクチャ内で空間的に隣接するサンプル間の相関を利用する。たとえば、イントラ予測を使用すると、たとえば、PUにとっての平均値を見つけるためのDC予測、平坦面をPUに適合させるための平面予測、隣接データから外挿するための方向予測、または任意の他の適切なタイプの予測を使用して、同じピクチャの中の隣接画像データから各PUが予測される。インター予測は、画像サンプルのブロックに対する動き補償予測を導出するために、ピクチャ間の時間的な相関を使用する。たとえば、インター予測を使用すると、1つまたは複数の(出力順序において現在ピクチャの前または後の)参照ピクチャの中の画像データからの動き補償予測を使用して、各PUが予測される。ピクチャエリアを、インターピクチャ予測を使用してコーディングすべきか、それともイントラピクチャ予測を使用してコーディングすべきかという決定は、たとえば、CUレベルにおいて行われ得る。
【００５８】
いくつかの例では、ピクチャの1つまたは複数のスライスは、スライスタイプが割り当てられる。スライスタイプは、Iスライス、Pスライス、およびBスライスを含む。Iスライス(独立に復号可能なイントラフレーム)は、イントラ予測のみによってコーディングされているピクチャのスライスであり、したがって、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は、コンテキスト適応型可変長コーディング、コンテキスト適応型バイナリ算術コーディング、シンタックスベースコンテキスト適応型バイナリ算術コーディング、確率間隔区分エントロピーコーディング、または別の適切なエントロピー符号化技法を使用してよい。
【００６５】
符号化デバイス104の出力部110は、符号化ビデオビットストリームデータを構成するNALユニットを、通信リンク120を介して受信デバイスの復号デバイス112へ送り得る。復号デバイス112の入力部114は、NALユニットを受信し得る。通信リンク120は、ワイヤレスネットワーク、有線ネットワーク、または有線ネットワークとワイヤレスネットワークとの組合せによって設けられる、チャネルを含み得る。ワイヤレスネットワークは、任意のワイヤレスインターフェースまたはワイヤレスインターフェースの組合せを含んでよく、任意の適切なワイヤレスネットワーク(たとえば、インターネットまたは他のワイドエリアネットワーク、パケットベースネットワーク、WiFi(商標)、無線周波数(RF)、UWB、WiFi-Direct、セルラー、ロングタームエボリューション(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の具体的な詳細の一例が、図7を参照しながら以下で説明される。復号デバイス112の具体的な詳細の一例が、図8を参照しながら以下で説明される。
【００７０】
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値が割り当てられる。レイヤが下位レイヤに依存することがあるという意味で、レイヤは階層的であり得る。レイヤセットは、自蔵式であるビットストリーム内で表されるレイヤのセットを参照し、自蔵式とは、レイヤセット内のレイヤが、復号プロセスにおいてレイヤセットの中の他のレイヤに依存し得るが、いかなる他のレイヤにも復号のために依存しないことを意味する。したがって、レイヤセットの中のレイヤは、ビデオコンテンツを表すことができる独立したビットストリームを形成することができる。レイヤセットの中のレイヤのセットは、サブビットストリーム抽出プロセスの動作によって別のビットストリームから取得され得る。レイヤセットは、いくつかのパラメータに従って動作することをデコーダが望むときに復号されるべきレイヤのセットに相当し得る。
【００７２】
前に説明したように、HEVCビットストリームは、VCL NALユニットおよび非VCL NALユニットを含むNALユニットのグループを含む。VCL NALユニットは、コード化ビデオビットストリームを形成するコード化ピクチャデータを含む。たとえば、コード化ビデオビットストリームを形成するビットのシーケンスが、VCL NALユニットの中に存在する。非VCL NALユニットは、他の情報に加えて、符号化ビデオビットストリームに関係する高レベル情報を有するパラメータセットを含み得る。たとえば、パラメータセットは、ビデオパラメータセット(VPS: Video Parameter Set)、シーケンスパラメータセット(SPS: Sequence Parameter Set)、およびピクチャパラメータセット(PPS: Picture Parameter Set)を含み得る。パラメータセットの目的の例は、ビットレート効率、エラーレジリエンシー、およびシステムレイヤインターフェースを提供することを含む。各スライスは、スライスを復号するために復号デバイス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: Instantaneous Decode Reference)ピクチャもしくはブロークンリンクアクセス(BLA: Broken Link Access)ピクチャ、または他の適切なランダムアクセスポイントピクチャ)で開始し、ベースレイヤの中でいくつかの特性を伴うランダムアクセスポイントピクチャを有する次のアクセスユニット(AU)の直前(または、ビットストリームの末尾)までの、一連のAUである。SPSの中の情報は、コード化ビデオシーケンス内でピクチャからピクチャへと変化しないことがある。コード化ビデオシーケンスの中のピクチャは、同じSPSを使用し得る。VPSは、コード化ビデオシーケンス内またはビットストリーム内のすべてのレイヤに適用される情報を含む。VPSは、コード化ビデオシーケンス全体に適用されるシンタックス要素を有するシンタックス構造を含む。いくつかの実施形態では、VPS、SPS、またはPPSは、符号化ビットストリームとともにインバンド(In-Band)で送信され得る。いくつかの実施形態では、VPS、SPS、またはPPSは、コード化ビデオデータを含むNALユニットとは別個の送信の中で、アウトオブバンド(Out-of-Band)で送信され得る。
【００７４】
補足エンハンスメント情報(SEI)メッセージが、ビデオビットストリームの中に含まれ得る。いくつかの場合、SEIメッセージは、デコーダによってビットストリームを復号するために不可欠ではないが、復号された出力の表示または処理を改善するために使用され得る情報を搬送するために使用され得る。例示的な一例では、SEIメッセージの中の情報は、コンテンツの視認性を改善するためにデコーダ側のエンティティによって使用され得る。いくつかの事例では、いくつかのアプリケーション規格は、アプリケーション規格に適合するすべてのデバイスに品質の改善がもたらされ得るように、ビットストリームの中にそのようなSEIメッセージの存在を要求することがある(たとえば、frame compatible plano-stereoscopic 3DTVビデオフォーマットのためのframe-packing SEIメッセージの搬送、ここでこのSEIメッセージは、多くの他の例に加えて、ビデオの1つ1つのフレーム、recovery point SEIメッセージの処理、DVBにおけるpan-scan scan rectangle SEIメッセージの使用のために搬送される)。
【００７５】
いくつかの場合、デバイスは、いくつかの色特性(たとえば、PQなどの第1の伝達関数を使用した、ハイダイナミックレンジ(HDR)ビデオ、広色域(WCG)ビデオ、高精細度ビデオ、超高精細度(UHD)ビデオ、または他の特性)を有するビデオコンテンツをデバイスが処理および/または表示することを妨げる制約を有し得る。たとえば、一部のプレーヤデバイスは、受信または復号ビデオコンテンツの1つまたは複数の色特性と異なる特定の色特性を有するビデオを処理することのみが可能であり得る。例示的な一例では、レガシーのディスプレイデバイスは、スタンダードダイナミックレンジ(SDR)ビデオ、標準精細度ビデオ、ガンマ伝達関数などの第2の伝達関数、または他の特性を表示することのみが可能であり得る。別の例では、レガシーのプレーヤデバイスは、特定の色特性を有するビデオを処理することだけが可能であり得る。レガシーデバイスに対する新しいタイプのビデオコンテンツの互換性は、これらのデバイスが旧式になるのを防ぐために重要である。ビデオコンテンツピクチャの色特性は、ピクチャがレガシーのプレーヤおよび/またはディスプレイデバイスによって処理および/または表示され得るように、変換される必要があり得る。
【００７６】
HEVC規格において定義される色再マッピング情報(CRI)SEIメッセージは、再構成ピクチャの色を他のビデオフォーマットに再マッピングするために使用される情報を伝えるのに使用される。たとえば、CRI SEIメッセージは、ある色特性から別の色特性にピクチャをマッピングまたは変換するために使用され得る。CRI SEIメッセージの中の情報は、色再マッピングモデルを含むことができる。図2は、CRI SEIメッセージの色再マッピングモデル232の例を示す。色再マッピングモデル232は、CRI SEIメッセージのシンタックスによって定義される。CRI SEIメッセージの例示的なシンタックス要素400が図4に示され、以下で説明される。色再マッピングモデル232は、ルックアップ前テーブル(pre-LUT)234と呼ばれる第1のルックアップテーブル、それに続く色再マップ行列236、それに続くpost-LUT 238と呼ばれる第2のルックアップテーブルという、3つの部分を含む。pre-LUT 234、色再マップ行列236、およびpost-LUT 238の詳細は、図3に関して以下で説明される。色再マッピングモデル232は、ビデオデコーダ(たとえば、復号デバイス112)によって、ビデオデコーダから出力を受信する、もしくは別のソースからビデオコンテンツを受信するビデオプレーヤによって、ディスプレイデバイスによって、または任意の他の適切なクライアント側デバイスによって実装され得る。いくつかの場合、色再マッピングモデル232は、クライアント側デバイスによって適用され得るメタデータを含む。例示的な一例では、符号化ピクチャがクライアント側デバイスにおいて受信され復号されると、クライアント側デバイスまたは別のデバイスは、復号コンテンツをレンダリングするときに色再マッピングモデル232のメタデータを適用することができる。
【００７７】
色再マッピングモデル232への入力はビデオコンテンツ230を含む。ビデオコンテンツ230は、復号ビデオピクチャ、コード化(圧縮)ビデオピクチャ、または圧縮されていないビデオコンテンツを含むことができる。ビデオコンテンツ230は、少なくとも第1の色特性を含む1つまたは複数の色特性を有する。色再マッピングモデル232の出力は再マッピングされたビデオコンテンツ240を含み、再マッピングされたビデオコンテンツ240は第1の色特性から第2の色特性に再マッピングされたビデオコンテンツ230のビデオピクチャを含む。
【００７８】
ピクチャの色特性は、色空間、ダイナミックレンジ、伝達関数、または様々なビデオコンテンツにわたって異なり得る任意の他の色特性を含むことができる。ピクチャの色特性の一例は色空間を含むことができる。色空間の例は、ルーマ(Y)成分、青色差(Cb)クロマ成分、おおび赤色差(Cr)クロマ成分を伴うYCbCr色空間、赤(R)成分、緑(G)成分、および青(B)成分を伴うRed-Green-Blue(RGB)色空間、ルーマ(Y)成分および色(U,V)成分を伴うYUV色空間、または他の適切な色空間を含む。CRI SEIメッセージの色再マッピングモデル232は、第1の色空間から第2の色空間に(たとえば、YCbCr色空間からRGB色空間に)変換することによって、色空間変換を実行するために使用され得る。ピクチャの色特性の別の例は、スタンダードダイナミックレンジ(SDR)、ハイダイナミックレンジ(HDR)、または他の適切なダイナミックレンジを含み得る、ダイナミックレンジを含むことができる。色再マッピングモデル232は、第1のダイナミックレンジから第2のダイナミックレンジへのトーンマッピングを実行するために使用され得る。例示的な一例では、HDR/WCGを用いてマスタリングされたソースコンテンツは、SDRディスプレイなどのより小さいカラーボリュームを有するディスプレイ上での表示のために変換され得る。ピクチャの色特性の別の例は伝達関数を含むことができ、伝達関数は、たとえば、いくつかの特性を伴ういくつかのビデオコンテンツ(たとえば、HDRビデオ、SDRビデオ、または他のタイプのビデオ)の表示を可能にする。伝達関数の例は、ガンマ伝達関数、Perceptual Quantizer(PQ)伝達関数、または他の適切な伝達関数を含む。例示的な一例では、PQ伝達関数は、最高で10000cd/m2の光度レベルを持つHDRビデオの表示を可能にでき、BT.2020色空間とともに使用され得る。色再マッピングモデル232は、1つまたは複数の第1の伝達関数から1つまたは複数の第2の伝達関数にマッピングするために使用され得る。色再マッピングモデル232は、本明細書で言及されたもの以外の他の色特性をマッピングするために使用され得ることを当業者なら諒解されよう。
【００７９】
図3は、色再マッピングモデル232のpre-LUT 234、色再マップ行列236、およびpost-LUT 238の詳細を示す。pre-LUT 234は、RGB色空間のR成分、G成分、およびB成分の各々、YCbCr色空間のY成分、Cb成分、およびCr成分の各々、YUV色成分のY成分、U成分、およびU成分の各々、または任意の他の適切な色空間の色成分などの、ビデオコンテンツ230のピクチャの各色成分のために定義された独立のpre-LUTを含むことができる。pre-LUT[C1]242は第1の色成分C1のために定義され得、pre-LUT[C2]244は第2の色成分C2のために定義され得、pre-LUT[C3]246は第3の色成分C3のために定義され得る。
【００８０】
pre-LUTの各々は、1次元(1D)LUTであってよく、ピクチャ(たとえば、ピクチャの各ピクセル)の1つまたは複数のサンプルの各色成分のための第1の区分線形関数(または変換)を含むことができる。たとえば、pre-LUT[C1]242の区分線形関数は、第1の色特性を有する入力ピクチャの色成分C1を変換することができる。例示的な一例では、pre-LUT[C1]242は、Y色成分、Cb色成分、およびCr色成分を有するサンプルのY色成分を圧縮または解凍することができる。いくつかのビデオコンテンツでは、1つまたは複数の色成分は、使用されるコンテナが原因で小さい値の範囲を占有することがある(たとえば、BT.2020コンテナにおいてBT.709色域に制約されるコンテンツをマッピングすると、許容される値の範囲より小さい範囲を成分が占有するようになり得る)。一方、区分線形関数を使用してエンコーダにおいてこのビデオ範囲をマッピングして成分の値の範囲を増やすことは、コーディング効率を改善することを助け得る。そのようなマッピングが実行されるとき、pre-LUT、およびそこで定義される区分線形マッピング関数は、これらの成分をクライアント側デバイスにおいて元の値の範囲にマッピングするために使用され得る。
【００８１】
いくつかの例では、色再マップ行列236は、3つの色成分が存在するときは3×3行列などの、線形モデルを含むことができる。例示的な一例では、色再マップ行列236は、色再マッピング係数を伴う3×3行列を含む。色再マップ行列236は、各ピクチャサンプルのすべての色成分にわたって適用され、色成分の係数をマッピングするために使用される。たとえば、色再マップ行列236は、ある色空間(たとえば、YCbCr)から別の色空間(たとえば、RGB)、あるカラーボリューム(たとえば、HDR)から別のカラーボリューム(たとえば、SDR)などに変換するために使用され得る。例示的な一例では、色再マップ行列236は、色成分間の脱相関を補償するために、マッピングされた色成分に適用され得る。色成分間の脱相関はコーディング効率を増大させ得る。たとえば、脱相関したYCbCr色空間において多数のシーケンスを圧縮することは、RGB色空間においてシーケンスを圧縮するより効率的である。YCbCr領域に変換されるコンテンツはRGB領域に変換し戻される必要があり得、色再マップ行列236はこの変換を実行するために適用され得る。
【００８２】
pre-LUT 234と同様に、post-LUT 238は、色再マップ行列236の適用後の各々の得られる色成分(再マッピングされたビデオコンテンツ240のピクチャの各色成分)に適用されるために定義される独立のpost-LUTを含むことができる。たとえば、post-LUT[C1]252は第1の色成分C1のために定義され得、post-LUT[C2]254は第2の色成分C2のために定義され得、post-LUT[C3]256は第3の色成分C3のために定義され得る。各post-LUTの各々は、ピクチャの1つまたは複数のサンプルの各色成分のための第2の区分線形関数(または変換)を含む1D LUTであり得る。たとえば、post-LUT[C1]252の区分線形関数は、第2の色特性を有する再マッピングされた出力ピクチャの色成分C1を変換することができる。例示的な一例では、post-LUT[C1]252は、R、G、およびB色成分を有するサンプルのR色成分を圧縮または解凍することができ、ここでサンプルは、YCbCr色空間からRGB色空間にマッピングされるピクチャの一部である。別の例では、R、G、B色成分のうちの1つまたは複数の解凍は、コーディング効率を改善するためにエンコーダにおいて実行され得る圧縮を補償するために実行され得、いくつかのビデオコンテンツでは、R、G、B色成分のうちの1つまたは複数のいくつかの値の範囲を占有するサンプル値は、シーケンスの視覚的品質に影響しない可能性のあるコンテンツに対応し得、これらの値の範囲はコーディング効率を改善するために圧縮され得る。別の例では、post-LUTはまた、ビデオコンテンツに関連する伝達関数を適用するために使用され得、伝達関数は通常は各R成分、G成分、B成分に独立に適用される。表示プロセスのための出力ピクチャの色再マッピング(これはHEVC仕様の範囲外である)は任意選択であり、HEVC仕様において規定される復号処理に影響しない。しかしながら、アプリケーション規格は、その特定の規格に適合することが必須であるものとして色再マッピングプロセスを定義し得る。
【００８３】
区分線形関数は、間隔[Xi ; Xi+1]によって定義され、各間隔において線形である。pre-LUT 234およびpost-LUT 238の区分線形関数のパラメータ、ならびに色再マップ行列236のパラメータは、特定のCRI SEIメッセージの目的(たとえば、HDRコンテンツからSDRコンテンツに変換するため、ある色空間から別の色空間に変換するため、ある伝達関数から別の伝達関数にマッピングするため、または任意の他の適切な目的)に基づいて決定される。パラメータは、CRI SEIメッセージのシンタックスおよびセマンティクスにおいて定義される。当業者により知られるように、これらのパラメータは、CRI SEIメッセージの目的が適用される特定のアプリケーション規格またはビデオコーディング規格によって定義され得る。
【００８４】
図4は、CRI SEIメッセージのシンタックス400の例である。CRI SEIメッセージのシンタックス400は、以下で説明するセマンティクスとともに、色再マッピングモデル232を定義する。シンタックス400は、Pre-LUTのためのシンタックス要素462、続いて色再マッピング係数を示す行列(たとえば、3×3行列または色成分の数に基づくサイズの他の行列)のためのシンタックス要素464、続いてPost-LUTのためのシンタックス要素466を含む。たとえば、シンタックス400は、各色成分に適用されるpre-LUTの第1の区分線形関数を構築するために使用され得るシンタックス要素462の「pre」セット、3つすべての色成分に適用され得る3×3行列のためのシンタックス要素464、および、各色成分に適用されるpost-LUTの第2の区分線形関数を再構成するために使用され得るシンタックス要素466の「post」セットを含む。pre-LUTとpost-LUTの両方のために、各色成分(たとえば、R、G、BまたはY、Cb、CrまたはY、U、Vまたは任意の他の適切な色空間の成分)に対して独立のLUTが定義される。
【００８５】
シンタックス要素pre_lut_num_val_minus1[c]、pre_lut_coded_value[c][i]、およびpre_lut_target_value[c][i]は、pre-LUTを表すために使用され得る。「c」の項はピクチャの色成分の数を示す。たとえば、RGB色空間およびYCbCr色空間には3つの色成分がある。例示的な一例では、0に等しいcは第1の成分(たとえば、YCbCr色空間におけるY、RGB色空間におけるGなど)を指し、1に等しいcは第2の成分(たとえば、Cb、Bなど)を指し、2に等しいcは第3の成分(たとえば、Cr、Rなど)を指す。特定の色成分のためのpre-LUTの区分線形曲線は、色成分を(入力ピクチャの)値xから(ターゲットピクチャの)値yにマッピングすることができる。区分線形曲線は、線形に接続される旋回点を用いて構成され得る。2つの旋回点の間の値をマッピングするために、線形補間が使用される。各旋回点は、シンタックス要素pre_lut_coded_value[c][i]およびpre_lut_target_value[c][i]によって定義される。たとえば、シンタックス要素pre_lut_num_val_minus1[c]は、c番目の色成分のための区分線形再マッピング関数における旋回点の数を示し、シンタックス要素pre_lut_coded_value[c][i]は、入力ピクチャのc番目の成分のためのi番目の旋回点の値を規定し、シンタックス要素pre_lut_target_value[c][i]は、ターゲットピクチャのc番目の成分のためのi番目の旋回点の値を規定する。
【００８６】
シンタックス要素log2_matrix_denomおよびcolour_remap_coeffs[c][i]は、行列を表すために使用され得る。シンタックス要素log2_matrix_denomは、すべての行列係数に対する分母の2を底とする対数を規定する。シンタックス要素colour_remap_coeffs[c][i]は、色再マッピング行列係数の値を規定する。シンタックス要素colour_remap_matrix_present_flagは、行列シンタックス要素が存在するかどうかを示す。たとえば、1に等しいcolour_remap_matrix_present_flagは、シンタックス要素log2_matrix_denomおよびcolour_remap_coeffs[c][i]が存在することを示すために使用され得、0の値はシンタックス要素が存在しないことを示し得る。
【００８７】
シンタックス要素post_lut_num_val_minus1[c]、post_lut_coded_value[c][i]、およびpost_lut_target_value[c][i]は、post-LUTを表すために使用され得る。pre-LUTと同様に、post_LUTは区分線形曲線を含む。曲線の各旋回点は、シンタックス要素post_lut_coded_value[c][i]およびpost_lut_target_value[c][i]によって定義され、2つの旋回点の間の値をマッピングするために線形補間が使用される。シンタックス要素post_lut_num_val_minus1[c]は、c番目の色成分のための区分線形再マッピング関数における旋回点の数を示し、シンタックス要素post_lut_coded_value[c][i]は、入力ピクチャのc番目の成分のためのi番目の旋回点の値を規定し、シンタックス要素post_lut_target_value[c][i]は、ターゲットピクチャのc番目の成分のためのi番目の旋回点の値を規定する。
【００８８】
CRI SEIメッセージシンタックス400はまた、colour_remap_idと呼ばれるシンタックス要素を含み、このシンタックス要素の異なる値が、CRI SEIメッセージの異なる目的(たとえば、ある色空間から別の色空間に変換するため、HDRコンテンツからSDRコンテンツに変換するため、ある伝達関数から別の伝達関数にマッピングするため、または任意の他の適切な目的)を示すために使用され得る。「color」という用語は「colour」とも本明細書で書かれ、これがHEVC規格において使用されるスペリングである。
【００８９】
シンタックス要素colour_remap_cancel_flag(「取消しフラグ」と呼ばれる)は、現在のCRI SEIメッセージが任意の以前のCRI SEIメッセージの存続を取り消すかどうかを示す。例示的な一例では、1に等しいcolour_remap_cancel_flagは、現在のレイヤに適用される出力順序において前にある任意のCRI SEIメッセージの存続をCRI SEIメッセージが取り消し、0に等しいcolour_remap_cancel_flagは、色再マッピング情報が後に続くことを示すことができる。したがって、取消しフラグは、新しいCRI SEIが受信されるときに、クライアント側デバイスが以前にシグナリングされたCRI SEIメッセージを取り消すべきかどうかを示すことができる。
【００９０】
シンタックス要素colour_remap_persistence_flag(「存続フラグ」と呼ばれる)は、CRI SEIメッセージの存続を規定する。たとえば、存続フラグは、CRI SEIメッセージを現在のピクチャだけに適用すべきか、または現在のピクチャおよび今後の定義される点まで後続のピクチャに適用すべきかを示すために使用され得る。例示的な一例では、0に等しいcolour_remap_persistence_flagは、CRI SEIメッセージが現在のピクチャだけに適用されることを規定することができ、1の値は、条件が満たされるまでCRIが(たとえば、現在のレイヤに対して)出力順序において存続することを規定することができる。この条件はセマンティクスによって定義され得る。
【００９１】
シンタックス要素colour_remap_video_signal_info_present_flagは、colour_remap_full_range_flag、colour_remap_primaries、colour_remap_transfer_function、およびcolour_remap_matrix_coefficientsという4つのシンタックス要素が存在するかどうかを示す。これらの4つのシンタックス要素は、色再マッピングモデルを使用して色再マッピングを実行した後の出力の特性を示す。たとえば、シンタックス要素colour_remap_full_range_flagは、再マッピングモデルを使用した再マッピングの終わりにおいて、(たとえば、8ビットの表現では0〜255からの)全範囲のデータが得られるかどうかを示す。たとえば、詳細な表現が8ビットで表されるとき、0〜255の間の値が使用され得る。全範囲の例は、0を黒として割り当て、255を白として割り当てることである。いくつかの場合、アプリケーションは、ビデオを示すために0〜255からの値の全範囲を使用しなくてもよく、代わりに、狭い範囲(たとえば、16から240の値、16の値が黒であり240の値が白である)を使用してもよい。狭い範囲の外側のあらゆる値が、正当なデータとして見なされないことがある。
【００９２】
シンタックス要素colour_remap_primariesは、色再マッピング情報プロセスの出力を定義するために使用される基本色座標(たとえば、R、G、B基本座標、Y、Cb、Cr基本座標など)を示す。たとえば、このシンタックス要素は、再マッピングされた再構成ピクチャの色度座標を示すことができる。シンタックス要素colour_remap_transfer_functionは、再マッピングされた再構成ピクチャに適用可能であろう伝達関数の特性(たとえば、伝達関数がガンマ曲線か、PQ曲線か、または他の適切な伝達関数か)を示す。たとえば、伝達関数シンタックス要素は、色再マッピング情報の出力を正しく処理および/または表示するためにクライアント側デバイスが使用すべき伝達関数を示すことができる。シンタックス要素colour_remap_matrix_coefficientsは、再マッピングされた再構成ピクチャの係数を示す。たとえば、このシンタックス要素は、緑、青、および赤、またはY、Z、およびXの基本座標からルーマ信号とクロマ信号とを導出する際に使用される行列係数を記述することができる。別の例として、このシンタックス要素は、出力がRGBであるかYCbCrであるかを示すことができる。
【００９３】
シンタックス要素colour_remap_input_bit_depthは、pre-LUTコード化値をシグナリングするために使用される入力ビット深度である。たとえば、入力ビット深度シンタックス要素は、CRI SEIメッセージの解釈の目的で関連するピクチャの色成分のビット深度を規定する。シンタックス要素colour_remap_output_bit_depthは、pre-LUT目標値、post-LUTコード化値、およびpost-LUT目標値のための出力ビット深度である。たとえば、出力ビット深度シンタックス要素は、CRI SEIメッセージによって記述される色再マッピング関数の出力のビット深度を規定する。
【００９４】
CRI SEIメッセージのシンタックス要素およびセマンティクスのより詳細な説明が、HEVC規格を参照しながら以下で与えられる。
【００９５】
様々な問題が、HEVC規格において規定される既存のCRI SEIメッセージに関連する。たとえば、1つの問題は、CRI SEIメッセージによって記述されるプロセス(たとえば、LUTと行列の乗算)が4:4:4の復号サンプルだけに適用され得ることをSEIメッセージのセマンティクスが規定し、復号サンプルが4:2:0の領域または4:2:2領域の中にある場合、復号サンプルがそれぞれの領域から4:4:4の領域にアップサンプリングされなければならないということである。たとえば、セマンティクスは、示される再マッピングプロセスへの入力が、chroma_format_idcが1に等しい(4:2:0のクロマフォーマット)または2に等しい(4:2:2のクロマフォーマット)ときに、必要に応じて4:4:4の色サンプリングフォーマットへの(規定されない)アップサンプリング変換プロセスを適用した後の、復号サンプル値のセットであることを述べる。HEVC規格によれば、0に等しいchoroma_format_idcはモノクローム(4:0:0)のクロマフォーマットを示し、1に等しいchroma_format_idcは4:2:0のクロマフォーマットを示し、2に等しいchroma_format_idcは4:2:2のフォーマットを示し、3に等しいchroma_format_idcは4:4:4のフォーマットを示す。しかしながら、ピクチャをアップサンプリングすることなく、(たとえば、4:2:0の領域または4:2:2の領域の中の)復号サンプルに直接CRI SEIメッセージを適用するいくつかの理由がある。たとえば、線形マッピングが信号の3つの色成分に適用される場合、HDRビデオのコーディング品質が改善され得る。CRI SEIの第1の機能構成要素は、CRI SEIにLUT機能を与える。この機能が4:4:4の領域に適用されるように制約することは、4:4:4の領域におけるアップサンプリングおよび処理が別々のブロックまたはデバイスによって実行されるような、いくつかのワークフロー環境への変更を必要とし得る。LUTが4:2:0の領域に直接適用されることを可能にすることは、そのような変更を必要としないことがある。
【００９６】
既存のCRI SEIメッセージに関連する別の問題は、ビデオがモノクローム領域においてコーディングされるとき、CRI SEIメッセージのセマンティクスがCRIメッセージの使用を規定しないということである。たとえば、セマンティクスは、color_format_idcが0(モノクローム)に等しいとき、CRI SEIメッセージが通常は存在すべきではないが、デコーダが通常、そのようなメッセージが存在することを許容し、存在し得るあらゆるそのようなCRI SEIメッセージを無視すべきであることを述べる。このことは、いくつかのモノクローム信号に対してCRIメッセージ(単位行列を必要としないいくつかの部分のみ)を適用するのが有益であり得るような使用事例に対して、不必要な制約を課す。たとえば、線形マッピング(CRIメッセージを使用して示される)が適用される場合、ルーマ値のみを含むモノクロームビデオのビデオ品質をより保つために、スケーリングを適用するのが有益である。
【００９７】
既存のCRI SEIメッセージに関連するさらに別の問題は、color_remap_idシンタックス要素(「色再マップ値」とも本明細書で呼ばれる)のセマンティクスが、color_remap_idの値が色再マッピング関数の目的を特定するために利用され得ることを規定するということである。CRI SEIメッセージのいくつかの使用事例が規定されており、color_remap_idの様々な値がどの領域および/または目的に適用されるかを規定しないことは、各アプリケーション空間が異なるID値を使用し得るので、それを極端に難しくすることがある。その上、CRIメッセージのカスケーディングが許可されるので、このことが、SEIメッセージが適用されるべきIDの順序が異なるアプリケーション空間にわたって一致しないような事例につながり得る。
【００９８】
既存のCRI SEIメッセージに関連する別の問題は、SEIメッセージのセマンティクスが、RGBおよびYCbCr色空間において適用されるように制約されるような方式で書かれるということである。しかしながら、HEVCコーデックは、いくつかの色空間(Video Usability Information(VUI)において現在規定されるような、または今後の)を、またはアプリケーションのみが理解し得る規定されない色空間でさえも、許容する。そのような場合、CRI SEIメッセージがRGBおよびYCbCr色空間に適用可能であることのみを許容するのは制約的である。いくつかの場合、コード化ビットストリームは規定されない色空間の中にあり得、CRI SEIメッセージの適用はYCbCrまたはRGBなどの別の色空間にビデオを戻し得る。
【００９９】
H.265/HEVC、H.264/AVC、BDA、MPEG、またはH.265/HEVCビデオコーディング規格において規定される他のものなどの、ビデオコーディング規格において規定される、または規定されることになる、CRI SEIメッセージもしくは潜在的な派生物、または同様のSEIシグナリングおよび処理の、設計および適用を改善するためのシステムおよび方法が、本明細書で説明される。いくつかの事例では、システムおよび方法は、色再マッピング情報SEIメッセージをHDRビデオまたは他のタイプのビデオに対してより良好に有効にする。これらの方法の1つまたは複数は、独立に、または他のものと組み合わせて適用され得る。
【０１００】
いくつかの実施形態では、SEIメッセージのセマンティクスへの変更は、SEIメッセージが4:2:0のYCbCrコード化ビデオコンテンツのために、または4:4:4の復号サンプル以外のフォーマットをコーディングするために使用され得るように、記述される。たとえば、CRI SEIメッセージのセマンティクスは、CRIメッセージが4:2:0の領域または4:0:0のクロマサブサンプリングフォーマットで表されるビデオデータに適用可能であり得るように、修正される。いくつかの例では、SEIメッセージのセマンティクスは、CRIメッセージが4:2:2の領域で表されるビデオデータに適用可能であり得るように、修正される。CRIメッセージが4:2:0の領域、4:0:0のクロマサブサンプリングフォーマット、または4:2:2の領域において表されるビデオデータに適用可能であり得るように、HEVC規格への変更を含む実施形態が以下で与えられる。
【０１０１】
前に説明したように、HEVC規格は、CRI SEIメッセージによって記述される色再マッピングモデル(たとえば、LUTと行列の乗算)が4:4:4の復号サンプルだけに適用され得ることを規定する。復号サンプルが4:2:0の領域または4:2:2の領域の中にあるとき、これらのサンプルは、それぞれの領域から4:4:4の領域にアップサンプリングされなければならない。しかしながら、4:2:0の領域の中のサンプル、4:2:2の領域の中のサンプル、および4:0:0(モノクローム)の領域の中のサンプルにすらも直接色再マッピングモデルを適用するのが有益である。異なる領域に対する用語は、4:a:bの形式である4つのルーマ値に通常は基づく比率であり、ここでaおよびbは、概念的な4×2のピクセルブロックの行または線に対するクロマ値の相対的な数である。たとえば、4:4:4の領域の中のサンプルに対して、3つの色成分(たとえば、YCbCr成分、RGB成分など)の各々が同じサンプルレートを有するので、クロマサブサンプリングはない。4:4:4の領域は、たとえば、ハイエンドのフィルムスキャナ、映画のポストプロダクション、または他の高品質ビデオにおいて使用され得る。4:2:2の領域では、2つのクロマ成分CbおよびCr(YCbCrのための)がルーマ(Y)成分の半分のサンプルレートでサンプリングされる。たとえば、水平方向のクロマ解像度が半分になる。すなわち、4:2:2の各々の水平方向の走査線は、4つのルーマ値1つ1つに対して2つのクロマ値を有する。クロマ解像度のそのような低下は、視覚的な差がほとんどまたはまったくなく、圧縮されないビデオ信号の帯域幅を3分の1だけ低減し得る。たとえば、4:2:0の領域はハイエンドのデジタルビデオフォーマットによって使用され得る。4:2:0の中のサンプルに対して、走査線ごとに2つの各クロマサンプル(Cb,Cr)があるが、これらは1行おきにのみ存在する。この方式では、CbチャネルおよびCrチャネルは1行おきにのみサンプリングされるので、垂直方向の解像度は半分になる。4:2:0の領域では、水平方向の解像度も半分になる。スキップされた行からのチャネルは、前の線から、または1つまたは複数の近くの線の組合せから復元され得る。いくつかの例では、Cb成分およびCr成分のピクセル位置は、Yのピクセル位置に関してシフトされ得る。
【０１０２】
したがって、4:2:0の領域、4:2:2の領域、および4:0:0の領域は4:4:4の領域より少ないサンプルを有するので、ピクチャのサンプルの中の全体の色成分がより少ない。システムが4:2:0の領域において色再マッピングモデルを適用できる場合、たとえば、モデルが4:4:4の領域の中のサンプルに適用される場合よりも少ないサンプルに適用されるので、システムはより効率的であり得る。たとえば、4:2:0の領域において、CbサンプルおよびCrサンプルの数は、ルーマ(Y)サンプルの数の4分の1である。
【０１０３】
色再マッピングモデルのいくつかの部分は、4:4:4以外の領域が使用されるときには適用可能ではないことがある。たとえば、上で説明したように、色再マップ行列(たとえば、3つの色成分が存在するときは3×3行列)が、サンプルのすべての色成分にわたって適用される。行列係数はすべての成分にわたって適用されるので、モデルは、Y値、Cb値、およびCr値を予想し、これらの3つの値に行列を適用することを試みる。しかしながら、4:2:0の領域において、たとえば、3つすべての色成分が、ピクチャの中のサンプル(たとえば、ピクセル)の4分の1だけに対して存在する。Y成分のみが、ピクチャの他のサンプルに対して存在する(Cb成分およびCr成分は存在しない)。
【０１０４】
CRI SEIメッセージを、4:2:0、4:2:2、または4:0:0の領域の中のビデオピクチャなどの様々なタイプのビデオコンテンツに適用可能にするために、様々な技法が使用され得る。いくつかの例では、CRI SEIメッセージシンタックス要素のいくつかのセマンティクスおよび値は、ピクチャのクロマフォーマットに基づいて、かつ/または、上で説明したようにCRI SEIメッセージの目的を規定するcolor_remap_idの値に基づいて制約され得る。そのような例では、pre-LUT、色再マップ行列、および/またはpost-LUTのうちの1つまたは複数が、いくつかのタイプのビデオコンテンツに対して修正または除去され得る。たとえば、pre-LUTは、ピクチャ中のサンプルの各成分に適用され得るが(各色成分に対して1つの1Dルックアップテーブル)、色再マップ行列またはpost-LUTは適用されないことがある。別の例では、post-LUTは、ピクチャ中のサンプルの各成分に適用され得るが(各色成分に対して1つの1Dルックアップテーブル)、色再マップ行列またはpre-LUTは適用されないことがある。
【０１０５】
シンタックス400の用語を使用した例示的な一例では、いくつかのクロマフォーマットを有するビデオピクチャに対して、またはcolor_remap_idのいくつかの値に対して、color_remap_matrix_present_flagの値が0に等しいように制約され得、post_lut_num_val_minus1[c]の値が0に等しいように制約され得る。いくつかの例では、color_remap_present_flagが0に等しいように制約されるとき、3×3行列は単位行列に等しいと推測され、行列の乗算は適用されなくてもよい。いくつかの例では、post_lut_num_val_minus1[c]の値が0に等しいように制約されるとき、post-LUTも恒等写像(Identity Mapping)であると推測される。そのような制約の実施を引き起こすクロマフォーマットの例は、4:2:0の領域、4:2:2の領域、または4:0:0の領域の中のビデオピクチャであり得る。たとえば、上で説明したように、ピクチャのいくつかのサンプルが3つすべての色成分を有しないので、色再マップ行列が適用されないことがある。いくつかの例では、Y成分、Cb成分、またはCr成分のうちの1つまたは複数の値の範囲は、コーディング効率を改善するために修正され得る。ビデオコンテンツがBT.2020またはBT.2100などのHDRコンテンツコンテナにおいて表されるとき、ビデオは値の範囲の非常に小さい部分を占有する。このコンテンツをコーディングすることは、成分によって占有される値の範囲が区分線形マッピングを使用して値の範囲を拡大することによって増大する場合に低減され得る、コーディングアーティファクトをもたらし得る。pre-LUTテーブルは、値を元の値の範囲に圧縮することによってこのマッピングを補償するために使用され得る。別の例では、pre-LUTは、HDR特性からSDR特性に表現を変換するために、Y成分、Cb成分、Cr成分に適用され得る。上の両方の例において、pre-LUTマッピングは、4:4:4の領域ではなく4:2:0の領域に直接適用され得、それは、そのことがより少ないマッピング動作しか必要としないからである。
【０１０６】
別の例示的な例では、あるクロマフォーマットを有するビデオピクチャに対して、またはcolor_remap_idのいくつかの値に対して、pre-LUTは、pre_lut_num_val_minus1[c]を0に等しく設定することによって恒等写像に等しいと推測され、color_remap_matrix_present_flagの値は0に等しいように制約され、post-LUTはピクチャの中のサンプルの成分をマッピングするために使用される。いくつかの例では、LUTによって規定されるビット深度と一致するように、追加のビットシフト演算がこの場合に実行され得る。たとえば、入力ビット深度が出力信号のビット深度(出力ビット深度)と一致しない場合、クライアント側デバイスは、出力ビット深度が満たされるように、post-LUTを適用する前に追加のビットシフト演算を実行することができる。
【０１０７】
いくつかの例では、色再マップ行列(および/またはpre-LUTまたはpost-LUTのうちの1つ)が適用されないことを規定する代わりに、すべての成分があるサンプルに対して存在しないとき、サンプル値の第1の成分に行列を適用することができる。3つすべての成分を有するサンプルに対して、成分の値に行列を適用することができる。しかしながら、第1の成分(たとえば、Y成分)のある値を有するが他の併置成分(たとえば、4:2:0の領域のピクチャ、4:2:2の領域のピクチャなど)の併置サンプル値を有しないサンプルに対して、色再マップ行列を第1の成分に適用することができ、他の併置成分値の固定された値を仮定することができる。本明細書では、併置とは、同じサンプルの成分および成分値を示す(たとえば、あるサンプルのすべての成分が併置成分である)。例示的な一例では、ある特定のサンプルに対して、ルーマ(Y)成分はあるがクロマ(CbまたはCr)成分はないことがある。Y成分値およびクロマ成分の仮定された値を使用して、色再マップ行列をサンプルに適用することができる。固定された値は、たとえば2color_remap_output_bit_depth-1を含み得る。いくつかの例では、所与のサンプルにおいて存在しない1つまたは複数の併置成分の値は、隣接サンプルにおける対応する成分の値と等しいものとして導出され、または見なされる。たとえば、あるピクチャの中の(0,3)のピクセル位置に位置するサンプルは、Y成分値を有するがCb成分およびCr成分の値を有しないことがある。(0,3)サンプルのCb成分およびCr成分の値は、3つすべての色成分の値を有する(0,4)サンプルのCb成分値およびCr成分値に等しいものと見なすことができる。色再マップ行列は次いで、(0,3)サンプルのY値および導出されたCb値とCr値に適用され得る。いくつかの例では、ある特定のサンプルに対して存在しない併置成分値の値は、2つ以上の隣接サンプルから導出され得る。
【０１０８】
いくつかの実施形態では、color_remap_idのいくつかの値に対して、color_remap_output_bit_depthの値は、color_remap_input_bit_depthに等しいと推測される。たとえば、pre-LUTまたはpost-LUTのみが適用されることになる場合、入力ビット深度および出力ビット深度は等しいと推測され得る。
【０１０９】
いくつかの実施形態では、CRI SEIメッセージのセマンティクスへの変更は、CRI SEIメッセージがモノクロームビデオコンテンツをマッピングするために使用され得るように、記述される。たとえば、CRI SEIメッセージのセマンティクスは、CRI SEIメッセージがモノクローム信号にも適用可能であるように修正され得る。
【０１１０】
いくつかの実施形態では、CRI SEIメッセージのセマンティクスは、CRI SEIメッセージがYCbCr色空間およびRGB色空間に適用されることに制約されないように修正される。たとえば、CRI SEIメッセージは、VUI色空間によって規定され得る色空間または他の規定されていない色空間にも適用可能であるようにセマンティクスは修正され得る。いくつかの例では、color_remap_idの値は、第1の成分、第2の成分、および第3の成分を示すために使用され得る。
【０１１１】
上で説明した変更は、HEVC規格への変更として実施されてもよく、またはいくつかのアプリケーション規格の実装形態であってもよい。
【０１１２】
上で説明した変更を実装するために、様々な実施形態がHEVC規格への修正を用いてここで説明される。この変更は、すべての目的のために全体が参照により本明細書に組み込まれる、Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3およびISO/IEC JTC 1/SC 29/WG 11による文書JCTVC-W1005 v2に関するものである。シンタックスおよびセマンティクスへの追加は、「<insert>」および「<insertend>」の記号の間に示され(たとえば、「<insert>追加されたテキスト<insertend>」)、削除は「<delete>」と「<deleteend>」の記号の間に示される(たとえば、「<delete>削除されたテキスト<deleteend>」)。
後処理チェーンにおける色再マッピング情報の使用を示すための構成
このセクションは、色再マッピング情報を実装/適用するために使用され得るいくつかの構成を提供する。
色再マッピング情報SEIメッセージのセマンティクス
色再マッピング情報SEIメッセージは、出力ピクチャの再構成された色サンプルの再マッピングを可能にするための情報を提供する。示される再マッピングプロセスへの入力<insert>は、SEIメッセージにおいて規定される識別子の値に基づいて規定される。識別子のいくつかの値に対して、入力<insertend>は、chroma_format_idcが1に等しい(4:2:0のクロマフォーマット)または2に等しい(4:2:2のクロマフォーマット)ときに、必要に応じて4:4:4の色サンプリングフォーマットへの(規定されない)アップサンプリング変換プロセスを適用した後の、復号サンプル値のセットである。<insert>識別子のいくつかの値に対して、入力は復号サンプルのセットであり、chroma_format_idcが0に等しくないとき、CRIメッセージにおいて規定されるいくつかのプロセスが制約される。<insertend>color_format_idcが0に等しいとき(モノクローム)、色再マッピング情報SEIメッセージ<insert>は、存在する成分だけに適用され、CRI SEIメッセージのいくつかのプロセスは制約される。<insertend><delete>は存在しないものとし、ただし、デコーダはそのようなメッセージが存在することを許容するものとし、存在し得るあらゆるそのような色再マッピング情報SEIメッセージを無視するものとする。<deleteend>
色再マッピング情報SEIメッセージにおいて使用される色再マッピングモデルは、各色成分(本明細書ではシンタックス要素の「pre」セットにより規定される)に適用される第1の区分線形関数、続いて3つの得られる色成分に適用される3対3行列、および続いて各々の得られた色成分に適用される第2の区分線形関数(本明細書ではシンタックス要素の「post」セットにより規定される)からなる。
注意1-表示プロセスのための出力ピクチャの色再マッピング(これは本仕様の範囲外である)は任意選択であり、本仕様において規定される復号処理に影響しない。
color_remap_idは、色再マッピング情報の目的を特定するために使用され得る識別番号を含む。color_remap_idの同じ値である2つ以上の色再マッピング情報SEIメッセージが存在するとき、これらの色再マッピング情報SEIメッセージの内容は同じであるものとする。color_remap_idの2つ以上の値を有する色再マッピング情報SEIメッセージが存在するとき、これは、color_remap_idの異なる値によって示される再マッピングプロセスが、異なる目的のために提供される代替形態であること(再マッピングプロセスのカスケーディングが適用されるべきではないこと)を示す。color_remap_idの値は、両端を含む0〜232-2の範囲にあるものとする。
アプリケーションによって決定されるように、0〜255および512〜231-1のcolor_remap_idの値が使用され得る。両端を含む256〜511および両端を含む231〜232-2のcolor_remap_idの値は、ITU-T|ISO/IECによる今後の使用のための予備である。デコーダは、両端を含む256〜511の範囲にある、または両端を含む231〜232-2の範囲にある、color_remap_idの値を含むすべての色再マッピング情報SEIメッセージを無視するものとし、ビットストリームはそのような値を含まないものとする。
<insert>chroma_format_idcの値が1に等しくないとき、color_remap_idの値は両端を含む256〜287の範囲にないものとする。
chroma_format_idcの値が2に等しくないとき、color_remap_idの値は両端を含む288〜319の範囲にないものとする。
chroma_format_idcの値が0に等しくないとき、color_remap_idの値は両端を含む320〜351の範囲にないものとする。
chroma_remap_idの値が両端を含む256〜287の範囲にあるとき、それぞれ、color_remap_matrix_present_flagの値は0に等しいものとし、post_lut_num_val_minus1[c]の値は0〜2の範囲にあるcに対して0に等しいものとする。3対3行列およびpost-LUTはサンプルに適用されない。
chroma_remap_idの値が両端を含む288〜319の範囲にあるとき、それぞれ、color_remap_matrix_present_flagの値は0に等しいものとし、post_lut_num_val_minus1[c]の値は0〜2の範囲にあるcに対して0に等しいものとする。3対3行列およびpost-LUTはサンプルに適用されない。
chroma_remap_idの値が両端を含む320〜351の範囲にあるとき、それぞれ、color_remap_matrix_present_flagの値は0に等しいものとし、post_lut_num_val_minus1[c]の値は1〜2の範囲にあるcに対して0に等しいものとする。3対3行列は適用されず、第2および第3の成分のためのpost-LUTは適用されない。<insertend>
注意2-color_remap_idは、異なる表示シナリオに適した異なる色再マッピングプロセスをサポートするために使用され得る。たとえば、color_remap_idの異なる値は、ディスプレイによってサポートされる異なる再マッピングされた色空間に対応し得る。
1に等しいcolor_remap_cancel_flagは、現在のレイヤに適用される出力順序において前にある任意の色再マッピング情報SEIメッセージの存続を色再マッピング情報SEIメッセージが取り消すことを示す。0に等しいcolor_remap_cancel_flagは、色再マッピング情報が後に続くことを示す。
color_remap_persistence_flagは、現在のレイヤに対する色再マッピング情報SEIメッセージの存続を規定する。
0に等しいcolor_remap_persistence_flagは、色再マッピング情報が現在のピクチャだけに適用されることを規定する。
picAを現在のピクチャとする。1に等しいcolor_remap_persistence_flagは、以下の条件のいずれかが真になるまで、出力順序において現在のレイヤに対して色再マッピング情報が存続することを規定する。
-  現在のレイヤの新しいCLVSが開始する。
-  ビットストリームが終了する。
-  PicOrderCnt(picB)がPicOrderCnt(picA)より大きくなるような、color_remap_idが同じ値であり現在のレイヤに適用可能な色再マッピング情報SEIメッセージを含むアクセスユニットの中の現在のレイヤの中のピクチャpicBが出力され、PicOrderCnt(picB)およびPicOrderCnt(picA)はそれぞれ、picBのためのピクチャ順序カウントの復号プロセスの呼出しの直後の、picBおよびpicAのPicOrderCntVal値である。
1に等しいcolor_remap_video_signal_info_present_flagは、シンタックス要素color_remap_full_range_flag、color_remap_primaries、color_remap_transfer_function、およびcolor_remap_matrix_coefficientsが存在することを規定し、0に等しいcolor_remap_video_signal_info_present_flagは、シンタックス要素color_remap_full_range_flag、color_remap_primaries、color_remap_transfer_function、およびcolor_remap_matrix_coefficientsが存在しないことを規定する。
color_remap_full_range_flagは、CLVSのために使用される色空間ではなく再マッピングされた再構成ピクチャの色空間を特定することを除き、video_full_range_flagシンタックス要素についてE.3.1項において規定されるもの同じセマンティクスを有する。存在しないとき、color_remap_full_range_flagの値は、video_full_range_flagの値に等しいものと推測される。
color_remap_primariesは、CLVSのために使用される色空間ではなく再マッピングされた再構成ピクチャの色空間を特定することを除き、color_primariesシンタックス要素についてE.3.1項において規定されるもの同じセマンティクスを有する。存在しないとき、color_remap_primariesの値は、color_primariesの値に等しいものと推測される。
color_remap_transfer_functionは、CLVSのために使用される色空間ではなく再マッピングされた再構成ピクチャの色空間を特定することを除き、transfer_characteristicsシンタックス要素についてE.3.1項において規定されるもの同じセマンティクスを有する。存在しないとき、color_remap_transfer_functionの値は、transfer_characteristicsの値に等しいものと推測される。
color_remap_matrix_coefficientsは、CLVSのために使用される色空間ではなく再マッピングされた再構成ピクチャの色空間を特定することを除き、matrix_coeffsシンタックス要素についてE.3.1項において規定されるもの同じセマンティクスを有する。存在しないとき、color_remap_matrix_coefficientsの値は、matrix_coeffsの値に等しいものと推測される。
color_remap_input_bit_depthは、色再マッピング情報SEIメッセージの解釈の目的で、関連するピクチャの色成分のビット深度を規定する。color_remap_input_bit_depthの値が復号色成分のビット深度に等しくない色再マッピング情報SEIメッセージが存在するとき、このSEIメッセージは、color_remap_input_bit_depthに等しいビット深度に復号色成分サンプルを変換するために実行される変換動作の仮の結果を指す。
color_remap_input_bit_depthの値は、両端を含む8〜16の範囲内にあるものとする。両端を含む0〜7の、および両端を含む17〜255のcolor_remap_input_bit_depthの値は、ITU-T|ISO/IECによる今後の使用のための予備である。デコーダは、両端を含む0〜7の範囲にある、または両端を含む17〜255の範囲にある、color_remap_input_bit_depthを含むすべての色再マッピングSEIメッセージを無視するものとし、ビットストリームはそのような値を含まないものとする。
color_remap_output_bit_depthは、色再マッピング情報SEIメッセージによって記述される色再マッピング関数の出力のビット深度を規定する。
color_remap_output_bit_depthの値は、両端を含む8〜16の範囲内にあるものとする。両端を含む0〜7の、および両端を含む17〜255の範囲のcolor_remap_output_bit_depthの値は、ITU-T|ISO/IECによる今後の使用のための予備である。デコーダは、両端を含む0〜7の、または両端を含む17〜255の範囲のcolor_remap_output_bit_depthの値を含むすべての色再マッピングSEIメッセージを無視するものとする。
pre_lut_num_val_minus1[c]に1を足したものは、c番目の成分に対する区分線形マッピング関数における旋回点の数を規定し、ここで0に等しいcは、<delete>ルーマまたはG<deleteend><insert>第1の<insertend>成分を指し、1に等しいcは、<delete>CbまたはB<deleteend><insert>第2の<insertend>成分を指し、2に等しいcは、<delete>CrまたはR<deleteend><insert>第3の<insertend>成分を指す。pre_lut_num_val_minus1[c]が0に等しいとき、c番目の成分に対して、入力値のデフォルトの終点は0および2color_remap_input_bit_depth-1であり、出力値の対応するデフォルトの終点は0および2color_remap_output_bit_depth-1である。本仕様のこのバージョンに適合するビットストリームにおいて、pre_lut_num_val_minus1[c]の値は、両端を含む0〜32の範囲にあるものとする。
pre_lut_coded_value[c][i]は、c番目の成分のためのi番目の旋回点の値を規定する。pre_lut_coded_value[c][i]を表すために使用されるビットの数は、((color_remap_input_bit_depth+7)>>3)<<3である。
pre_lut_target_value[c][i]は、c番目の成分のためのi番目の旋回点の値を規定する。pre_lut_target_value[c][i]を表すために使用されるビットの数は、((color_remap_output_bit_depth+7)>>3)<<3である。
pre_lut_coded_value[c][0]が0より大きいとき、両端を含む0〜pre_lut_coded_value[c][0]にわたる入力値を、両端を含む0〜pre_lut_target_value[c][0]にわたる目標値にマッピングする、初期線形セグメントが推測されるべきである。
pre_lut_coded_value[c][pre_lut_num_val_minus1[c]]が2color_remap_input_bit_depth-1に等しくないとき、両端を含むpre_lut_coded_value[c][pre_lut_num_val_minus1[c]]〜2color_remap_input_bit_depth-1にわたる入力値を、両端を含む0〜2color_remap_output_bit_depth-1にわたる目標値にマッピングする、最終線形セグメントが推測されるべきである。
1に等しいcolor_remap_matrix_present_flagは、シンタックス要素log2_matrix_denomおよびcolor_remap_coeffs[c][i]が、両端を含む0〜2の範囲の中のcおよびiに対して存在することを示す。0に等しいcolor_remap_matrix_present_flagは、シンタックス要素log2_matrix_denomおよびcolor_remap_coeffs[c][i]が、両端を含む0〜2の範囲の中のcおよびiに対して存在しないことを示す。
log2_matrix_denomは、すべての行列係数の分母の2を底とする対数を規定する。log2_matrix_denomの値は、両端を含む0〜15の範囲内にあるものとする。存在しないとき、log2_matrix_denomの値は、0に等しいものと推測される。
color_remap_coeffs[c][i]は、3対3の色再マッピング行列係数の値を規定する。color_remap_coeffs[c][i]の値は、両端を含む-215〜215-1の範囲にあるものとする。color_remap_coeffs[c][i]が存在しないとき、color_remap_coeffs[c][i]は、cがiに等しい場合には1に等しいと推測され、それ以外の場合には0に等しいと推測される。
注意3-color_remap_matrix_present_flagが0に等しいとき、色再マッピング行列は、サイズ3×3の単位行列に等しいと推測される。
c=0、1、および2に対する変数matrixOutput[c]は次のように導出される。
roundingOffset=log2_matrix_denom==0?0:1<<(log2_matrix_denom-1)
matrixOutput[c]=Clip3(0,(1<<color_remap_output_bit_depth)-1,
(color_remap_coeffs[c][0]*matrixInput[0]+color_remap_coeffs[c][1]*matrixInput[1]
+color_remap_coeffs[c][2]*matrixInput[2]+roundingOffset)>>log2_matrix_denom)    (D-1)
ここで、matrixInput[c]はc番目の色成分の入力サンプル値であり、matrixOutput[c]はc番目の色成分の出力サンプル値である。
post_lut_num_val_minus1[c]は、c番目の色成分に対して入力値のデフォルトの終点が0および2color_remap_output_bit_depth-1であることを除き、pre_lut_num_val_minus1[c]と同じセマンティクスを有し、「pre」が「post」により置き換えられる。post_lut_num_val_minus1[c]の値は、両端を含む0〜32の範囲内にある。
post_lut_coded_value[c][i]は、post_lut_coded_value[c][i]を表すために使用されるビットの数が((color_remap_output_bit_depth+7)>>3)<<3であることを除き、pre_lut_coded_value[c][i]と同じセマンティクスを有し、「pre」が「post」により置き換えられる。
post_lut_target_value[c][i]はpre_lut_target_value[c][i]と同じセマンティクスを有し、「pre」が「post」により置き換えられる。
【０１１３】
図5は、本明細書で説明する技法の1つまたは複数を使用してビデオデータを処理するプロセス500の例を示すフローチャートである。ブロック502において、プロセス500は、ビデオビットストリームを取得することを含む。ビデオビットストリームは、第1の色特性を有する複数のピクチャを含む。第1の色特性は、色空間(たとえば、YCbCr、RGB、YUV、または他の適切な色空間)、ダイナミックレンジ(たとえば、HDR、SDR、または他のカラーレンジ)、伝達関数(たとえば、ガンマ伝達関数、PQ伝達関数、または他の適切な伝達関数)、これらの任意の組合せ、または、異なるビデオコンテンツにわたって異なり得る任意の他の色特性などの、任意の色特性を含むことができる。
【０１１４】
ブロック504において、プロセス500は、ビデオビットストリームから、色再マッピング情報(CRI)補足エンハンスメント情報(SEI)メッセージを識別することを含む。CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値は、条件に基づいて制約される。たとえば、CRI SEIメッセージは、CRI SEIメッセージのシンタックス要素の値が条件に基づいて制約されるように、制約を含み得る。条件は、いくつかのシンタックス要素を制約するための任意の適切な条件を含み得る。たとえば、条件は、複数のピクチャのクロマフォーマット、CRI SEIメッセージの色再マッピングモデルの目的を特定する色再マップ値(color_remap_id値)、または任意の他の適切な条件を含み得る。
【０１１５】
ブロック506において、プロセス500は、CRI SEIメッセージの色再マッピングモデルを使用して、複数のピクチャの1つまたは複数のサンプルを第1の色特性から第2の色特性に再マッピングすることを含む。第2の色特性は、色再マッピングモデルによって定義される任意の色特性を含み得る。たとえば、第2の色特性は、色空間(たとえば、YCbCr、RGB、YUV、または他の適切な色空間)、ダイナミックレンジ(たとえば、HDR、SDR、または他のカラーレンジ)、伝達関数(たとえば、ガンマ伝達関数、PQ伝達関数、または他の適切な伝達関数)、これらの任意の組合せ、または、異なるビデオコンテンツにわたって異なり得る任意の他の色特性であり得る。
【０１１６】
いくつかの例では、プロセス500はさらに、複数のピクチャのクロマフォーマットを決定することを含み、この場合、条件は複数のピクチャのクロマフォーマットである。そのような例では、CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値は、複数のピクチャのクロマフォーマットに基づいて制約される。
【０１１７】
いくつかの例では、プロセス500は、CRI SEIメッセージの色再マッピングモデルの目的を特定する色再マップ値を決定することをさらに含む。そのような例では、条件は色再マップ値であり、CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値は、色再マップ値に基づいて制約される。
【０１１８】
いくつかの例では、条件はクロマフォーマットと色再マップ値の両方を含み得る。たとえば、プロセス500は、複数のピクチャのクロマフォーマットを決定することと、CRI SEIメッセージの色再マッピングモデルの目的を特定する色再マップ値を決定することとをさらに含み得る。そのような例では、条件は複数のピクチャのクロマフォーマットおよび色再マップ値であり、CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値は、複数のピクチャのクロマフォーマットに基づいて、かつ色再マップ値に基づいて制約される。
【０１１９】
いくつかの実装形態では、CRI SEIメッセージの色再マッピングモデルは、ルックアップ前テーブル(Pre-lookup Table)、色再マップ行列、およびルックアップ後テーブル(Post-lookup Table)を含む。いくつかの例では、1つまたは複数の値が制約される少なくとも1つのシンタックス要素は、ルックアップ前テーブルのためのシンタックス要素、色再マップ行列のためのシンタックス要素、ルックアップ後テーブルのためのシンタックス要素、またはこれらのシンタックス要素のうちの2つまたはすべてを含み得る。
【０１２０】
たとえば、いくつかの場合、CRI SEIメッセージの少なくとも1つのシンタックス要素は、色再マップ行列が存在するかどうかを示す色再マップ行列存在フラグを含む。そのような例では、プロセス500は、条件に基づいて、色再マップ行列が存在しないことを示す値に等しいように色再マップ行列存在フラグが制約されると決定することを含む。条件がクロマフォーマットである例では、複数のピクチャのクロマフォーマットが、色再マップ行列が適用されるべきではないことを示すフォーマットを含む場合、色再マップ行列存在フラグがその値に等しいように制約されると決定され得る。例示的な一例では、条件は複数のピクチャのクロマフォーマットであり、色再マップ行列存在フラグは、クロマフォーマットが4:2:2のクロマフォーマット、4:2:0のクロマフォーマット、または4:0:0のクロマフォーマットであると決定されるとき、その値に等しいように制約されると決定される。条件が色再マップ値である例では、色再マップ行列が適用されるべきではない目的のために色再マッピングモデルが使用されることになることを色再マップ値が示すとき、色再マップ行列存在フラグがその値に等しいように制約されると決定され得る(たとえば、color_remap_IDは、pre-LUTマッピングが、より少ないマッピング動作しか必要としないので、たとえば4:4:4の領域ではなく4:2:0の領域に直接適用されるべきであることを示し得る)。
【０１２１】
プロセス500は、色再マップ行列存在フラグがその値に等しいように制約されるとき、色再マップ行列を適用することなく、色再マッピングモデルを1つまたは複数のサンプルに適用することをさらに含み得る。いくつかの例では、プロセス500は、色再マップ行列存在フラグがその値に等しいように制約されるとき、単位行列に等しいものとして色再マップ行列を推測することをさらに含む。いくつかの場合、色再マッピングモデルを1つまたは複数のサンプルに適用することは、単位行列を適用することを含む。
【０１２２】
別の例では、CRI SEIメッセージの少なくとも1つのシンタックス要素は、ルックアップ後テーブルの入力値および出力値を示すルックアップ後テーブル数シンタックス要素を含む。そのような例では、プロセス500は、条件に基づいて、ルックアップ後テーブル数シンタックス要素が、入力値および出力値が0に等しいことを示す値に等しいように制約されると決定することを含む。たとえば、ピクチャのクロマフォーマットは、ルックアップ後テーブルが1つまたは複数のサンプルを再マッピングすることが必要ではないことを示し得る。別の例では、色再マッピングモデルの目的(色再マップ値により示されるような)は、ルックアップ後テーブルを必要としないということであり得る。
【０１２３】
プロセス500は、ルックアップ後テーブル数シンタックス要素がその値に等しいように制約されるとき、ルックアップ後テーブルを適用することなく、色再マッピングモデルを1つまたは複数のサンプルに適用することをさらに含み得る。いくつかの例では、プロセス500は、ルックアップ後テーブル数シンタックス要素がその値に等しいように制約されるとき、恒等写像に等しいものとして、ルックアップ後テーブルを推測することをさらに含む。いくつかの場合、色再マッピングモデルを1つまたは複数のサンプルに適用することは、恒等写像を実行することを含む。
【０１２４】
別の例では、CRI SEIメッセージの少なくとも1つのシンタックス要素は、ルックアップ前テーブルの入力値および出力値を示すルックアップ前テーブル数シンタックス要素を含む。そのような例では、プロセス500は、条件に基づいて、ルックアップ前テーブル数シンタックス要素が、入力値および出力値が0に等しいことを示す値に等しいように制約されると決定することを含む。たとえば、ピクチャのクロマフォーマットは、ルックアップ前テーブルが1つまたは複数のサンプルを再マッピングすることが必要ではないことを示し得る。別の例では、色再マッピングモデルの目的(色再マップ値により示されるような)は、ルックアップ前テーブルを必要としないということであり得る。
【０１２５】
プロセス500は、ルックアップ前テーブル数シンタックス要素がその値に等しいように制約されるとき、ルックアップ前テーブルを適用することなく、色再マッピングモデルを1つまたは複数のサンプルに適用することをさらに含み得る。いくつかの例では、プロセス500は、ルックアップ前テーブル数シンタックス要素がその値に等しいように制約されるとき、恒等写像に等しいものとして、ルックアップ前テーブルを推測することをさらに含む。いくつかの場合、色再マッピングモデルを1つまたは複数のサンプルに適用することは、恒等写像を実行することを含む。
【０１２６】
図6は、本明細書で説明する技法の1つまたは複数を使用してビデオデータを符号化するプロセス600の例を示すフローチャートである。602において、プロセス600は、エンコーダにおいてビデオデータを取得することを含む。
【０１２７】
604において、プロセス600は、ビデオビットストリームへと、ビデオデータに基づいて複数のピクチャを符号化することを含む。複数のピクチャは、第1の色特性を有する。第1の色特性は、色空間(たとえば、YCbCr、RGB、YUV、または他の適切な色空間)、ダイナミックレンジ(たとえば、HDR、SDR、または他のカラーレンジ)、伝達関数(たとえば、ガンマ伝達関数、PQ伝達関数、または他の適切な伝達関数)、これらの任意の組合せ、または、異なるビデオコンテンツにわたって異なり得る任意の他の色特性などの、任意の色特性を含むことができる。
【０１２８】
606において、プロセス600は、ビデオビットストリームへと、色再マッピング情報(CRI)補足エンハンスメント情報(SEI)メッセージを符号化することを含む。CRI SEIメッセージは、複数のピクチャの1つまたは複数のサンプルを第1の色特性から第2の色特性に再マッピングするための色再マッピングモデルを含む。第2の色特性は、色再マッピングモデルによって定義される任意の色特性を含み得る。たとえば、第2の色特性は、色空間(たとえば、YCbCr、RGB、YUV、または他の適切な色空間)、ダイナミックレンジ(たとえば、HDR、SDR、または他のカラーレンジ)、伝達関数(たとえば、ガンマ伝達関数、PQ伝達関数、または他の適切な伝達関数)、これらの任意の組合せ、または、異なるビデオコンテンツにわたって異なり得る任意の他の色特性であり得る。
【０１２９】
CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値は、条件に基づいて制約される。たとえば、CRI SEIメッセージは、CRI SEIメッセージのシンタックス要素の値が条件に基づいて制約されるように、制約を含み得る。条件は、エンコーダによって追加され得、いくつかの場合、ビデオビットストリームへと符号化され得る。条件は、いくつかのシンタックス要素を制約するための任意の適切な条件を含み得る。たとえば、条件は、複数のピクチャのクロマフォーマット、CRI SEIメッセージの色再マッピングモデルの目的を特定する色再マップ値(color_remap_id値)、または任意の他の適切な条件を含み得る。
【０１３０】
いくつかの例では、条件は複数のピクチャのクロマフォーマットである。そのような例では、CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値は、複数のピクチャのクロマフォーマットに基づいて制約される。
【０１３１】
いくつかの例では、条件は、CRI SEIメッセージの色再マッピングモデルの目的を特定する色再マップ値であり、この場合、CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値は、色再マップ値に基づいて制約される。
【０１３２】
いくつかの例では、条件は、複数のピクチャのクロマフォーマット、およびCRI SEIメッセージの色再マッピングモデルの目的を特定する色再マップ値を含み得る。そのような例では、CRI SEIメッセージの少なくとも1つのシンタックス要素の1つまたは複数の値は、複数のピクチャのクロマフォーマットに基づいて、かつ色再マップ値に基づいて制約される。
【０１３３】
いくつかの実装形態では、CRI SEIメッセージの色再マッピングモデルは、ルックアップ前テーブル、色再マップ行列、およびルックアップ後テーブルを含む。いくつかの例では、1つまたは複数の値が制約される少なくとも1つのシンタックス要素は、ルックアップ前テーブルのためのシンタックス要素、色再マップ行列のためのシンタックス要素、ルックアップ後テーブルのためのシンタックス要素、またはこれらのシンタックス要素のうちの2つまたはすべてを含み得る。
【０１３４】
たとえば、いくつかの場合、CRI SEIメッセージの少なくとも1つのシンタックス要素は、色再マップ行列が存在するかどうかを示す色再マップ行列存在フラグを含む。そのような例では、色再マップ行列存在フラグは、条件に基づいてある値に等しいように制約され、色再マップ行列存在フラグのこの値は、色再マップ行列が存在しないことを示す。条件がクロマフォーマットである例では、色再マップ行列存在フラグは、色再マップ行列が適用されるべきではないクロマフォーマットに対する値に等しいように制約され得る。例示的な一例では、条件は複数のピクチャのクロマフォーマットであり、色再マップ行列存在フラグは、クロマフォーマットが4:2:2のクロマフォーマット、4:2:0のクロマフォーマット、または4:0:0のクロマフォーマットであると決定されるとき、その値に等しいように制約される。条件が色再マップ値である例では、色再マップ行列を適用しないまたは適用できない目的に適用される色再マップ値の値に等しいように、色再マップ行列存在フラグが制約され得る(たとえば、color_remap_IDは、pre-LUTマッピングが、より少ないマッピング動作しか必要としないのでたとえば4:4:4の領域ではなく4:2:0の領域に直接適用されるべきであることを示し得る)。
【０１３５】
いくつかの例では、色再マップ行列は、色再マップ行列存在フラグがその値に等しいように制約されるとき、単位行列に等しいものとして推測される。そのような例では、クライアント側デバイスは、単位行列を適用することによって、色再マッピングモデルを1つまたは複数のサンプルに適用することができる。
【０１３６】
別の例では、CRI SEIメッセージの少なくとも1つのシンタックス要素は、ルックアップ後テーブルの入力値および出力値を示すルックアップ後テーブル数シンタックス要素を含む。そのような例では、ルックアップ後テーブル数シンタックス要素は、条件に基づいてある値に等しいように制約され、ルックアップ後テーブル数シンタックス要素のこの値は、入力値および出力値が0に等しいことを示す。たとえば、ルックアップ後テーブル数シンタックス要素への制約は、ルックアップ後テーブルが1つまたは複数のサンプルを再マッピングするために必要ではない、または使用できない、クロマフォーマットに適用され得る。別の例では、ルックアップ後テーブル数シンタックス要素への制約は、ルックアップ後テーブルを必要としない、または使用できない、(色再マップ値によって示されるような)色再マッピングモデルのいくつかの目的で適用され得る。
【０１３７】
いくつかの例では、ルックアップ後テーブルは、ルックアップ後テーブル数シンタックス要素がその値に等しいように制約されるとき、恒等写像であるものとして推測される。そのような例では、クライアント側デバイスは、恒等写像を適用することによって、色再マッピングモデルを1つまたは複数のサンプルに適用することができる。
【０１３８】
別の例では、CRI SEIメッセージの少なくとも1つのシンタックス要素は、ルックアップ前テーブルの入力値および出力値を示すルックアップ前テーブル数シンタックス要素を含む。そのような例では、ルックアップ前テーブル数シンタックス要素は、条件に基づいてある値に等しいように制約され、ルックアップ前テーブル数シンタックス要素のこの値は、入力値および出力値が0に等しいことを示す。たとえば、ルックアップ前テーブル数シンタックス要素への制約は、ルックアップ前テーブルが1つまたは複数のサンプルを再マッピングするために必要ではない、または使用できない、クロマフォーマットに適用され得る。別の例では、ルックアップ前テーブル数シンタックス要素への制約は、ルックアップ前テーブルを必要としない、または使用できない、(色再マップ値によって示されるような)色再マッピングモデルのいくつかの目的で適用され得る。
【０１３９】
いくつかの例では、ルックアップ前テーブルは、ルックアップ前テーブル数シンタックス要素がその値に等しいように制約されるとき、恒等写像であるものとして推測される。そのような例では、クライアント側デバイスは、恒等写像を適用することによって、色再マッピングモデルを1つまたは複数のサンプルに適用することができる。
【０１４０】
いくつかの例では、プロセス500および600は、図1に示すシステム100などのコンピューティングデバイスまたは装置によって実行されてよい。たとえば、プロセス500は、図1および図8に示す復号デバイス112によって、または、プレーヤデバイス、ディスプレイ、もしくは任意の他のクライアント側デバイスなどの、別のクライアント側デバイスによって実行され得る。プロセス600は、図1および図7に示す符号化デバイス104によって実行され得る。場合によっては、コンピューティングデバイスまたは装置は、プロセス500および600のステップを実行するように構成されているデバイスのプロセッサ、マイクロプロセッサ、マイクロコンピュータ、または他の構成要素を含み得る。いくつかの例では、コンピューティングデバイスまたは装置は、ビデオフレームを含むビデオデータ(たとえば、ビデオシーケンス)をキャプチャするように構成されたカメラを含み得る。いくつかの例では、ビデオデータをキャプチャするカメラまたは他のキャプチャデバイスは、コンピューティングデバイスとは別個であり、その場合、コンピューティングデバイスは、キャプチャされたビデオデータを受信または取得する。コンピューティングデバイスは、ビデオデータを通信するように構成されたネットワークインターフェースをさらに含み得る。ネットワークインターフェースは、インターネットプロトコル(IP)ベースのデータまたは他のタイプのデータを通信するように構成され得る。いくつかの例では、コンピューティングデバイスまたは装置は、ビデオビットストリームのピクチャのサンプルなどの、出力ビデオコンテンツを表示するためのディスプレイを含み得る。
【０１４１】
プロセス500および600は、論理フロー図として図示され、その動作は、ハードウェア、コンピュータ命令、またはそれらの組合せで実施され得る動作のシーケンスを表す。コンピュータ命令のコンテキストでは、動作は、1つまたは複数のプロセッサによって実行されたとき、説明する動作を実行する1つまたは複数のコンピュータ可読記憶媒体に記憶されたコンピュータ実行可能命令を表す。概して、コンピュータ実行可能命令は、特定の機能を実行し、または特定のデータタイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。動作が説明される順序は、限定として解釈されることを意図せず、説明される任意の数の動作は、プロセスを実施するために任意の順序で、かつ/または並列に組み合わせられてよい。
【０１４２】
追加として、プロセス500および600は、実行可能命令とともに構成された1つまたは複数のコンピュータシステムの制御下で実行されてよく、ハードウェアまたはその組合せによって1つまたは複数のプロセッサ上で集合的に実行するコード(たとえば、実行可能命令、1つもしくは複数のコンピュータプログラム、または1つもしくは複数のアプリケーション)として実装されてよい。上述のように、コードは、たとえば、1つまたは複数のプロセッサによって実行可能な複数の命令を備えるコンピュータプログラムの形態で、コンピュータ可読記憶媒体または機械可読記憶媒体に記憶され得る。コンピュータ可読記憶媒体または機械可読記憶媒体は非一時的であってよい。
【０１４３】
本明細書で論じる色再マッピング技法は、(圧縮の前または後の)圧縮されたビデオフレームまたは圧縮されていないビデオフレームを使用して実施され得る。例示的なビデオ符号化および復号システムは、宛先デバイスによって後で復号されるべき符号化ビデオデータを提供するソースデバイスを含む。具体的には、ソースデバイスは、コンピュータ可読媒体を介して宛先デバイスにビデオデータを提供する。ソースデバイスおよび宛先デバイスは、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲のデバイスのいずれかを備え得る。場合によっては、ソースデバイスおよび宛先デバイスは、ワイヤレス通信のために装備され得る。
【０１４４】
宛先デバイスは、復号されるべき符号化ビデオデータを、コンピュータ可読媒体を介して受信し得る。コンピュータ可読媒体は、ソースデバイスから宛先デバイスへ符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体は、ソースデバイスが符号化ビデオデータをリアルタイムで宛先デバイスに直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され得、宛先デバイスへ送信され得る。通信媒体は、無線周波数(RF)スペクトルまたは1つもしくは複数の物理伝送線路などの、任意のワイヤレス通信媒体または有線通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなどの、パケットベースネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイスから宛先デバイスへの通信を容易にするために有用であり得る任意の他の機器を含み得る。
【０１４５】
いくつかの例では、符号化データは、出力インターフェースから記憶デバイスに出力され得る。同様に、符号化データは、入力インターフェースによって記憶デバイスからアクセスされ得る。記憶デバイスは、ハードドライブ、Blu-ray(登録商標)ディスク、DVD、CD-ROM、フラッシュメモリ、揮発性メモリもしくは不揮発性メモリ、または符号化ビデオデータを記憶するための任意の他の適切なデジタル記憶媒体などの、分散されるかまたは局所的にアクセスされる様々なデータ記憶媒体のいずれかを含み得る。さらなる一例では、記憶デバイスは、ソースデバイスによって生成された符号化ビデオを記憶し得るファイルサーバまたは別の中間記憶デバイスに相当し得る。宛先デバイスは、記憶デバイスからの記憶されたビデオデータに、ストリーミングまたはダウンロードを介してアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶するとともにその符号化ビデオデータを宛先デバイスへ送信することが可能な、任意のタイプのサーバであってよい。例示的なファイルサーバは、ウェブサーバ(たとえば、ウェブサイト用の)、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイスは、インターネット接続を含む任意の標準的なデータ接続を通じて符号化ビデオデータにアクセスし得る。これは、ワイヤレスチャネル(たとえば、Wi-Fi接続)、有線接続(たとえば、DSL、ケーブルモデムなど)、またはファイルサーバに記憶された符号化ビデオデータにアクセスするのに適した、その両方の組合せを含み得る。記憶デバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【０１４６】
本開示の技法は、必ずしもワイヤレスの適用例または設定に限定されるとは限らない。技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーHTTP(DASH: Dynamic Adaptive Streaming over HTTP)などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されているデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、または他の適用例などの、様々なマルチメディア用途のいずれかのサポートの際にビデオコーディングに適用され得る。いくつかの例では、システムは、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオ電話などの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【０１４７】
一例では、ソースデバイスは、ビデオソース、ビデオエンコーダ、および出力インターフェースを含む。宛先デバイスは、入力インターフェース、ビデオデコーダ、およびディスプレイデバイスを含み得る。ソースデバイスのビデオエンコーダは、本明細書で開示する技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または構成を含み得る。たとえば、ソースデバイスは、外部カメラなどの外部ビデオソースからビデオデータを受信してよい。同様に、宛先デバイスは、一体型ディスプレイデバイスを含むのではなく、外部のディスプレイデバイスとインターフェースしてよい。
【０１４８】
上記の例示的なシステムは一例にすぎない。ビデオデータを並行して処理するための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実行されてよい。概して、本開示の技法はビデオ符号化デバイスによって実行されるが、技法はまた、通常は「コーデック」と呼ばれるビデオエンコーダ/デコーダによって実行されてよい。その上、本開示の技法はまた、ビデオプロセッサによって実行されてよい。ソースデバイスおよび宛先デバイスはそのようなコーディングデバイスの例にすぎず、ソースデバイスは、宛先デバイスへの送信のためにコード化ビデオデータを生成する。いくつかの例では、ソースデバイスおよび宛先デバイスは、デバイスの各々がビデオ符号化および復号構成要素を含むように、実質的に対称的に動作し得る。したがって、例示的なシステムは、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、またはビデオ電話のために、ビデオデバイス間での一方向または双方向のビデオ送信をサポートし得る。
【０１４９】
ビデオソースは、ビデオカメラ、前にキャプチャされたビデオを含むビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースなどの、ビデオキャプチャデバイスを含み得る。さらなる代替として、ビデオソースは、ソースビデオとしてのコンピュータグラフィックスベースデータ、またはライブビデオ、アーカイブされたビデオ、およびコンピュータ生成されたビデオの組合せを生成し得る。場合によっては、ビデオソースがビデオカメラである場合、ソースデバイスおよび宛先デバイスは、いわゆるカメラフォンまたはビデオフォンを形成し得る。しかしながら、上述のように、本開示で説明する技法は、一般に、ビデオコーディングに適用可能であり得、ワイヤレスおよび/または有線の用途に適用され得る。各事例において、キャプチャされたビデオ、プリキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダによって符号化され得る。符号化されたビデオ情報は、次いで、出力インターフェースによってコンピュータ可読媒体上に出力され得る。
【０１５０】
述べたように、コンピュータ可読媒体は、ワイヤレスブロードキャストもしくは有線ネットワーク送信などの一時的媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Blu-rayディスク、または他のコンピュータ可読媒体などの記憶媒体(すなわち、非一時的記憶媒体)を含み得る。いくつかの例では、ネットワークサーバ(図示せず)が、ソースデバイスから符号化ビデオデータを受信し得、たとえば、ネットワーク送信を介して、宛先デバイスに符号化ビデオデータを提供し得る。同様に、ディスクスタンピング施設などの媒体生産施設のコンピューティングデバイスが、ソースデバイスから符号化ビデオデータを受信し得、符号化ビデオデータを含むディスクを生産し得る。したがって、コンピュータ可読媒体は、様々な例において、様々な形式の1つまたは複数のコンピュータ可読媒体を含むものと理解され得る。
【０１５１】
宛先デバイスの入力インターフェースは、コンピュータ可読媒体から情報を受信する。コンピュータ可読媒体の情報は、ビデオエンコーダによって規定されるシンタックス情報を含み得、シンタックス情報はまた、ビデオデコーダによって使用され、ブロックの特性および/または処理ならびに他のコード化ユニット、たとえば、ピクチャグループ(GOP: Group of Pictures)を記述する、シンタックス要素を含む。ディスプレイデバイスは、復号ビデオデータをユーザに表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなどの、様々なディスプレイデバイスのいずれかを備え得る。本発明の様々な実施形態が説明された。
【０１５２】
符号化デバイス104および復号デバイス112の具体的な詳細が、それぞれ、図7および図8に示される。図7は、本開示で説明する技法のうちの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: Adaptive Loop Filter)、およびサンプル適応オフセット(SAO)フィルタなどの、1つまたは複数のループフィルタを表すことを意図する。フィルタユニット63がループ内フィルタであるものとして図7に示されるが、他の構成では、フィルタユニット63はループ後フィルタとして実装されてよい。後処理デバイス57は、符号化デバイス104によって生成された符号化ビデオデータに、さらなる処理を実行し得る。本開示の技法は、いくつかの事例では、符号化デバイス104によって実施され得る。しかしながら、他の事例では、本開示の技法のうちの1つまたは複数は、後処理デバイス57によって実施されてよい。
【０１５４】
図7に示すように、符号化デバイス104はビデオデータを受信し、区分ユニット35はデータをビデオブロックに区分する。区分することはまた、スライス、スライスセグメント、タイル、または他のもっと大きいユニットに区分すること、ならびに、たとえば、LCUおよびCUの4分木構造によるビデオブロック区分を含み得る。符号化デバイス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用の動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択されてよく、その各々はピクチャメモリ64に記憶された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: Context Adaptive Variable Length Coding)、コンテキスト適応型バイナリ算術コーディング(CABAC: Context Adaptive Binary Arithmetic Coding)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC: Syntax-Based Context-Adaptive Binary Arithmetic Coding)、確率間隔区分エントロピー(PIPE: Probability Interval Partitioning Entropy)コーディング、または別のエントロピー符号化技法を実行し得る。エントロピー符号化ユニット56によるエントロピー符号化に続いて、符号化ビットストリームは、復号デバイス112へ送信されてよく、または復号デバイス112によって後で送信もしくは取出しができるようにアーカイブされてもよい。エントロピー符号化ユニット56はまた、コーディングされている現在ビデオスライス用の動きベクトルおよび他のシンタックス要素をエントロピー符号化し得る。
【０１６５】
逆量子化ユニット58および逆変換処理ユニット60は、参照ピクチャの参照ブロックとして後で使用できるようにピクセル領域における残差ブロックを再構成するために、それぞれ、逆量子化および逆変換を適用する。動き補償ユニット44は、参照ピクチャリスト内の参照ピクチャのうちの1つの予測ブロックに残差ブロックを加算することによって、参照ブロックを計算し得る。動き補償ユニット44はまた、動き推定において使用するためのサブ整数ピクセル値を計算するために、1つまたは複数の補間フィルタを再構成残差ブロックに適用し得る。加算器62は、ピクチャメモリ64に記憶するための参照ブロックを生成するために、動き補償ユニット44によって生成された動き補償された予測ブロックに再構成残差ブロックを加算する。参照ブロックは、後続のビデオフレームまたはピクチャの中のブロックをインター予測するための参照ブロックとして、動き推定ユニット42および動き補償ユニット44によって使用され得る。
【０１６６】
このようにして、図7の符号化デバイス104は、符号化ビデオビットストリームのためのシンタックスを生成するように構成されたビデオエンコーダの一例を表す。符号化デバイス104は、たとえば、上記で説明したように、CRI SEIメッセージのためのシンタックスを生成し得る。符号化デバイス104は、図6に関して上記で説明したプロセスを含む、本明細書で説明する技法のうちのいずれかを実行し得る。本開示の技法が、概して、符号化デバイス104に関して説明されたが、上述のように、本開示の技法のいくつかはまた、後処理デバイス57によって実施されてよい。
【０１６７】
図8は、例示的な復号デバイス112を示すブロック図である。復号デバイス112は、エントロピー復号ユニット80、予測処理ユニット81、逆量子化ユニット86、逆変換処理ユニット88、加算器90、フィルタユニット91、およびピクチャメモリ92を含む。予測処理ユニット81は、動き補償ユニット82およびイントラ予測処理ユニット84を含む。復号デバイス112は、いくつかの例では、図7からの符号化デバイス104に関連して説明した符号化パスとは概して逆の復号パスを実行し得る。復号デバイス112は、図5に関して上記で説明したプロセスを含む、本明細書で説明する技法のうちのいずれかを実行し得る。
【０１６８】
復号プロセスの間、復号デバイス112は、符号化デバイス104によって送られた符号化ビデオスライスのビデオブロックおよび関連するシンタックス要素を表す符号化ビデオビットストリームを受信する。いくつかの実施形態では、復号デバイス112は、符号化デバイス104から符号化ビデオビットストリームを受信し得る。いくつかの実施形態では、復号デバイス112は、サーバ、メディアアウェアネットワーク要素(MANE: Media-Aware Network Element)、ビデオエディタ/スプライサ、または上記で説明した技法のうちの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がループ内フィルタであるものとして図8に示されるが、他の構成では、フィルタユニット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  ビデオ宛先デバイス
230  ビデオコンテンツ
232  色再マッピングモデル
234  pre-LUT
236  色再マップ行列
238  post-LUT
240  再マッピングされたビデオコンテンツ
242  pre-LUT
244  pre-LUT
246  pre-LUT
252  post-LUT
254  post-LUT
256  post-LUT
400  シンタックス
462  シンタックス要素
464  シンタックス要素
466  シンタックス要素
500  プロセス
600  プロセス
【図１】
2019511165.tif 000003
【図２】
2019511165.tif 000004
【図３】
2019511165.tif 000005
【図４】
2019511165.tif 000006
【図５】
2019511165.tif 000007
【図６】
2019511165.tif 000008
【図７】
2019511165.tif 000009
【図８】
2019511165.tif 000010
【国際調査報告】
2019511165.tif 000011
2019511165.tif 000012
2019511165.tif 000013