(57)【要約】  ビデオにおける色のダイナミックレンジが変換されるときに生じることがあるひずみを補正するために、ダイナミックレンジ調整が使用され得る。様々な例では、ダイナミックレンジ調整は、色値のレンジを入力としてとる区分線形関数を使用して実施され得る。区分線形関数を表すパラメータがビットストリーム中に符号化され得、それらのパラメータは、区分線形関数を再構築するための復号プロセスによって使用され得る。符号化効率を改善するために、区分線形関数のための入力値のレンジが、等しい長さを有する部分に分割され得るとき、パラメータ中の冗長値が符号化される必要がない技法が適用され得る。復号プロセスは、提供された値から、省略された値を導出することができ、ダイナミックレンジ調整を実施するために復号ビデオデータに区分線形関数を適用することができる。【選択図】図９
2021510964.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを符号化する方法であって、
符号化デバイスにおいて、ビデオデータを取得することと、ここにおいて、前記ビデオデータのビデオフレームの一部分について、前記ビデオデータは、前記ビデオフレームの前記一部分における、色のダイナミックレンジ調整のための区分線形関数を表すパラメータを含み、前記パラメータは、前記区分線形関数への入力値のレンジを複数の重複しないレンジに分割し、前記複数の重複しないレンジは、第１の長さを有する第１のレンジと、各々第２の長さを有するレンジのセットとを含み、前記第１の長さは前記第２の長さとは異なる、
前記パラメータのためのデータ構造を生成することと、
前記データ構造中で、前記複数の重複しないレンジが、各々前記第２の長さを有するレンジの前記セットを含むことを示すためのインジケータを設定することと、
前記データ構造中で、前記第２の長さを示すための第１の値を設定することと、
前記ビデオデータから符号化ビデオデータを生成することと、ここにおいて、前記データ構造は、前記符号化ビデオデータに含まれる、
を備える、方法。
【請求項２】
前記第１の値は、レンジの前記セットの各々の終了値と開始値との間の差分として前記第２の長さを示す、請求項１に記載の方法。
【請求項３】
前記第１の値は、固定値と前記第２の長さとの間の差分を示すことによって前記第２の長さを示す、請求項１に記載の方法。
【請求項４】
前記データ構造中で、前記第１の長さを示すための第２の値を設定すること、
をさらに備える、請求項１に記載の方法。
【請求項５】
前記第１のレンジは、入力値の前記レンジの始まりからの入力値の第１のセットを含み、レンジの前記セットは、入力値の前記レンジからの、入力値の前記第１のセットに続く入力値の第２のセットを含む、請求項１に記載の方法。
【請求項６】
前記パラメータは、前記複数の重複しないレンジの各々に関連するスケールファクタをさらに含み、
前記データ構造に前記スケールファクタを追加すること、をさらに備える、
請求項１に記載の方法。
【請求項７】
補足エンハンスメント情報（ＳＥＩ）メッセージ、スライスヘッダ、またはパラメータセット中に前記データ構造を含めること、
をさらに備える、請求項１に記載の方法。
【請求項８】
符号化デバイスであって、
ビデオデータを記憶するように構成されたメモリと、ここにおいて、前記ビデオデータのビデオフレームの一部分について、前記ビデオデータは、前記ビデオフレームの前記一部分における、色のダイナミックレンジ調整のための区分線形関数を表すパラメータを含み、前記パラメータは、前記区分線形関数への入力値のレンジを複数の重複しないレンジに分割し、前記複数の重複しないレンジは、第１の長さを有する第１のレンジと、各々第２の長さを有するレンジのセットとを含み、前記第１の長さは前記第２の長さとは異なる、
プロセッサと、を備え、前記プロセッサは、
前記パラメータのためのデータ構造を生成することと、
前記データ構造中で、前記複数の重複しないレンジが、各々前記第２の長さを有するレンジの前記セットを含むことを示すためのインジケータを設定することと、
前記データ構造中で、前記第２の長さを示すための第１の値を設定することと、
前記ビデオデータから符号化ビデオデータを生成することと、ここにおいて、前記データ構造は、前記符号化ビデオデータとともに含まれる、
を行うように構成された、符号化デバイス。
【請求項９】
前記第１の値は、レンジの前記セットの各々の終了値と開始値との間の差分として前記第２の長さを示す、請求項８に記載の符号化デバイス。
【請求項１０】
前記第１の値は、固定値と前記第２の長さとの間の差分を示すことによって前記第２の長さを示す、請求項８に記載の符号化デバイス。
【請求項１１】
前記プロセッサは、
前記データ構造中で、前記第１の長さを示すための第２の値を設定すること、
を行うようにさらに構成された、請求項８に記載の符号化デバイス。
【請求項１２】
前記第１のレンジは、入力値の前記レンジの始まりからの入力値の第１のセットを含み、レンジの前記セットは、入力値の前記レンジからの、入力値の前記第１のセットに続く入力値の第２のセットを含む、請求項８に記載の符号化デバイス。
【請求項１３】
前記パラメータは、前記複数の重複しないレンジの各々に関連するスケールファクタをさらに含み、
前記プロセッサは、前記データ構造に前記スケールファクタを追加すること、を行うようにさらに構成された、
請求項８に記載の符号化デバイス。
【請求項１４】
前記プロセッサは、
補足エンハンスメント情報（ＳＥＩ）メッセージ、スライスヘッダ、またはパラメータセット中に前記データ構造を含めること、
を行うようにさらに構成された、請求項８に記載の符号化デバイス。
【請求項１５】
ビデオデータをキャプチャするためのカメラ、
をさらに備える、請求項８に記載の符号化デバイス。
【請求項１６】
前記復号デバイスはモバイルデバイスを備える、請求項８に記載の符号化デバイス。
【請求項１７】
ビデオデータを復号するための方法であって、
符号化ビデオデータを取得することと、
前記符号化ビデオデータのからのビデオフレームの一部分について、前記ビデオフレームの前記一部分における、色のダイナミックレンジ調整のための区分線形関数を表すパラメータを含むデータ構造を決定することと、ここにおいて、前記パラメータは、前記区分線形関数への入力値のレンジを複数の重複しないレンジに分割する、
前記データ構造中のインジケータから、前記複数の重複しないレンジが、第１の長さを有する第１のレンジと、各々第２の長さを有するレンジのセットとを含むと決定することと、ここにおいて、前記第１の長さは前記第２の長さとは異なる、
前記データ構造中の第１の値を使用して前記第２の長さを決定することと、
前記データ構造を使用して前記第１の長さを決定することと、
前記第１の長さと、前記第２の長さと、前記複数の重複しないレンジの各々に関連するスケールファクタとを使用して、前記区分線形関数を再構築することと、ここにおいて、前記スケールファクタは前記データ構造中に含まれる、
前記ビデオフレームの前記一部分を復号することと、
ダイナミックレンジ調整を実施するために、前記ビデオフレームの前記一部分中の前記色に前記区分線形関数を適用することと、
を備える、方法。
【請求項１８】
前記第１の値は前記第２の長さを提供し、前記データ構造中の第２の値は前記第１の長さを提供する、請求項１７に記載の方法。
【請求項１９】
前記第１の値は、固定値と前記第２の長さとの間の差分を示すことによって前記第２の長さを示す、請求項１７に記載の方法。
【請求項２０】
前記データ構造中の第２の値は前記第１の長さを提供し、
前記第２の値に関連するインデックスから、前記第１のレンジが、入力値の前記レンジの始まりからの入力値の第１のセットを含むと決定すること、をさらに備え、ここにおいて、レンジの前記セットは、入力値の前記レンジからの、入力値の前記第１のセットに続く入力値の第２のセットを含む、請求項１７に記載の方法。
【請求項２１】
前記パラメータは、補足エンハンスメント情報（ＳＥＩ）メッセージ、スライスヘッダ、またはパラメータセット中に含まれる、請求項１７に記載の方法。
【請求項２２】
復号デバイスであって、
符号化ビデオデータを記憶するように構成されたメモリと、
プロセッサと、を備え、前記プロセッサは、
前記符号化ビデオデータのからのビデオフレームの一部分について、前記ビデオフレームの前記一部分における、色のダイナミックレンジ調整のための区分線形関数を表すパラメータを含むデータ構造を決定することと、ここにおいて、前記パラメータは、前記区分線形関数への入力値のレンジを複数の重複しないレンジに分割する、
前記データ構造中のインジケータから、前記複数の重複しないレンジは、第１の長さを有する第１のレンジと、各々第２の長さを有するレンジのセットとを含むと決定することと、ここにおいて、前記第１の長さは前記第２の長さとは異なる、
前記データ構造中の第１の値を使用して前記第２の長さを決定することと、
前記データ構造によって提供される情報を使用して前記第１の長さを決定することと、
前記第１の長さと、前記第２の長さと、前記複数の重複しないレンジの各々に関連するスケールファクタとを使用して、前記区分線形関数を再構築することと、ここにおいて、前記スケールファクタは前記データ構造中に含まれる、
前記ビデオフレームの前記一部分を復号することと、
ダイナミックレンジ調整を実施するために、前記ビデオフレームの前記一部分中の前記色に前記区分線形関数を適用することと、
を行うように構成された、
復号デバイス。
【請求項２３】
前記第１の値は前記第２の長さを提供し、前記データ構造中の第２の値は前記第１の長さを提供する、請求項２２に記載の復号デバイス。
【請求項２４】
前記第１の値は、固定値と前記第２の長さとの間の差分を示すことによって前記第２の長さを示す、請求項２２に記載の復号デバイス。
【請求項２５】
前記データ構造中の第２の値は前記第１の長さを提供し、
前記プロセッサは、
前記第２の値に関連するインデックスから、前記第１のレンジが、入力値の前記レンジの始まりからの入力値の第１のセットを含むと決定すること、を行うようにさらに構成され、ここにおいて、レンジの前記セットは、入力値の前記レンジからの、入力値の前記第１のセットに続く入力値の第２のセットを含む、請求項２２に記載の復号デバイス。
【請求項２６】
前記パラメータは、補足エンハンスメント情報（ＳＥＩ）メッセージ、スライスヘッダ、またはパラメータセット中に含まれる、請求項２２に記載の復号デバイス。
【請求項２７】
ビデオデータをキャプチャするためのカメラ、
をさらに備える、請求項２２に記載の復号デバイス。
【請求項２８】
復号ビデオデータを表示するためのディスプレイ、
をさらに備える、請求項２２に記載の復号デバイス。
【請求項２９】
前記復号デバイスはモバイルデバイスを備える、請求項２２に記載の復号デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、ビデオシステムおよび方法に関する。たとえば、本出願は、高ダイナミックレンジ（ＨＤＲ：High Dynamic Range）および広色域（ＷＣＧ：Wide Color Gamut）表現をもつビデオ信号のコーディングの分野に関する。本出願は、ＨＤＲおよびＷＣＧビデオデータのより効率的な圧縮を可能にするためにいくつかの色空間中でビデオデータに適用されるシグナリングおよび動作を指定する。本出願の主題の利益は、ＨＤＲおよびＷＣＧビデオデータをコーディングするために利用されるハイブリッドベースのビデオコーディングシステムの圧縮効率を改善することを含む。
【背景技術】
【０００２】
[0002]ビデオコーディング規格の例は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、およびそれのスケーラブルビデオコーディング（ＳＶＣ）拡張とマルチビュービデオコーディング（ＭＶＣ）拡張と、を含む、（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４を含む。さらに、ビデオコーディング規格、すなわち、高効率ビデオコーディング（ＨＥＶＣ）が、ＩＴＵ−Ｔビデオコーディングエキスパートグループ（ＶＣＥＧ）とＩＳＯ／ＩＥＣモーションピクチャエキスパートグループ（ＭＰＥＧ）とのジョイントコラボレーションチームオンビデオコーディング（ＪＣＴ−ＶＣ）によって開発された。最新のＨＥＶＣドラフト仕様は、「Recommendation ITU-T H.265: High Efficiency Video Coding (HEVC)」、http://www.itu.int/rec/T-REC-H.265-201504-I/enとして利用可能である。
【発明の概要】
【０００３】
[0003]様々な実装形態では、ビデオデータを符号化および復号するための、符号化および復号デバイスなどのシステム、方法、およびコンピュータ可読媒体が提供される。ビデオにおける色のダイナミックレンジが変換されるときに生じることがあるひずみを補正するために、ダイナミックレンジ調整が使用され得る。様々な例では、ダイナミックレンジ調整は、色値のレンジを入力としてとる区分線形関数（piecewise linear function）を使用して実施され得る。区分線形関数を表すパラメータがビットストリーム中に符号化され得、それらのパラメータは、区分線形関数を再構築するためのデコーダによって使用され得る。
【０００４】
[0004]ダイナミックレンジ調整は、ビデオデータの圧縮の効率を改善するために使用され得る。たとえば、符号化デバイスにおいて、復号ビデオデータの品質に影響を及ぼすことなしにビデオデータを符号化するのにより少数のビットが必要であり得るように、圧縮により好適であり得るフォーマットにビデオデータをコンバートするプロセスが実施され得る。復号デバイスにおいて、入力ビデオデータと同じフォーマットにデータをコンバートする逆プロセスが実施され得る。
【０００５】
[0005]特定のタイプのディスプレイに好適である表現にビデオデータをコンバートするために、ダイナミックレンジ調整が、さらに使用され得る。表現がコンバートされ得るディスプレイの特性は、たとえば、ディスプレイのピーク輝度、ディスプレイのダイナミックレンジ、ディスプレイの色域（color gamut）、および／またはディスプレイによって使用されるカラープライマリ（color primaries）を含むことができる。いくつかの例では、ダイナミックレンジ調整は、ＳＤＲからＨＤＲにビデオデータをコンバートするために使用され得、または、適用可能であり得るとき、その逆を行うために使用され得る。
【０００６】
[0006]ダイナミックレンジ調整のために使用され得るパラメータをシグナリングするために、様々な技法が使用され得る。それらの技法は、特に、区分線形関数への入力値のレンジが、各々同じ長さを有するセグメントまたはパーティションに分割され得るとき、パラメータを符号化するために必要とされるビットの量を低減することを生じることがある。これらの技法は、入力値のレンジが、各々同じ長さを有するレンジのセットと、異なる長さを有する１つのレンジとに分割され得るときにも利用され得る。
【０００７】
[0007]少なくとも１つの例によれば、ビデオを符号化する方法が提供され、それは、符号化デバイスにおいて、ビデオデータを取得すること、を含み、ここにおいて、ビデオデータのビデオフレームの一部分について、ビデオデータは、ビデオフレームの一部分中に、色のダイナミックレンジ調整のための区分線形関数を表すパラメータを含み、ここにおいて、パラメータは、区分線形関数への入力値のレンジを複数の重複しないレンジに分割し、ここにおいて、複数の重複しないレンジは、第１の長さを有する第１のレンジと、各々第２の長さを有するレンジのセットと、を含み、ここにおいて、第１の長さは第２の長さとは異なる。本方法は、パラメータのためのデータ構造を生成することをさらに含む。本方法は、データ構造中で、複数の重複しないレンジが、各々第２の長さを有するレンジのセットを含むことを示すためのインジケータを設定することをさらに含む。本方法は、データ構造中で、第２の長さを示すための第１の値を設定することをさらに含む。本方法は、ビデオデータから符号化ビデオデータを生成することをさらに含み、ここにおいて、データ構造は、符号化ビデオデータに含まれる。
【０００８】
[0008]別の例では、ビデオデータを記憶するように構成されたメモリと、プロセッサとを含む符号化デバイスが提供される。プロセッサは、パラメータのためのデータ構造を生成するように構成され、生成することができる。プロセッサは、データ構造中で、複数の重複しないレンジが、各々第２の長さを有するレンジのセットを含むことを示すためのインジケータを設定するように構成され、設定することができる。プロセッサは、データ構造中で、第２の長さを示すための第１の値を設定するように構成され、設定することができる。プロセッサは、ビデオデータから符号化ビデオデータを生成するように構成され、生成することができ、ここにおいて、データ構造は、符号化ビデオデータに含まれる。
【０００９】
[0009]別の例では、命令を記憶したコンピュータ可読媒体が提供され、該命令は、プロセッサによって実行されたとき、プロセッサに、符号化デバイスにおいて、ビデオデータを取得することを含む動作を実施させ、ここにおいて、ビデオデータのビデオフレームの一部分について、ビデオデータは、ビデオフレームの一部分中に、色のダイナミックレンジ調整のための区分線形関数を表すパラメータを含み、ここにおいて、パラメータは、区分線形関数への入力値のレンジを複数の重複しないレンジに分割し、ここにおいて、複数の重複しないレンジは、第１の長さを有する第１のレンジと、各々第２の長さを有するレンジのセットとを含み、ここにおいて、第１の長さは第２の長さとは異なる。命令は、さらに、プロセッサに、パラメータのためのデータ構造を生成させる。命令は、さらに、プロセッサに、データ構造中で、複数の重複しないレンジが、各々第２の長さを有するレンジのセットを含むことを示すためのインジケータを設定させる。命令は、さらに、プロセッサに、データ構造中で、第２の長さを示すための第１の値を設定させる。命令は、さらに、プロセッサに、ビデオデータから符号化ビデオデータを生成させ、ここにおいて、データ構造は、符号化ビデオデータに含まれる。
【００１０】
[0010]別の例では、装置が提供され、該装置は、ビデオデータを取得するための手段を含み、ここにおいて、ビデオデータのビデオフレームの一部分について、ビデオデータは、ビデオフレームの一部分における、色のダイナミックレンジ調整のための区分線形関数を表すパラメータを含み、ここにおいて、パラメータは、区分線形関数への入力値のレンジを複数の重複しないレンジに分割し、ここにおいて、複数の重複しないレンジは、第１の長さを有する第１のレンジと、各々第２の長さを有するレンジのセットとを含み、ここにおいて、第１の長さは第２の長さとは異なる。本装置は、パラメータのためのデータ構造を生成するための手段をさらに含む。本装置は、データ構造中で、複数の重複しないレンジが、各々第２の長さを有するレンジのセットを含むことを示すためのインジケータを設定するための手段をさらに含む。本装置は、データ構造中で、第２の長さを示すための第１の値を設定するための手段をさらに含む。本装置は、ビデオデータから符号化ビデオデータを生成するための手段をさらに含み、ここにおいて、データ構造は、符号化ビデオデータに含まれる。
【００１１】
[0011]いくつかの態様では、第１の値は、レンジのセットの各々の終了値と開始値との間の差分として第２の長さを示す。
【００１２】
[0012]いくつかの態様では、第１の値は、固定値と第２の長さとの間の差分を示すことによって第２の長さを示す。
【００１３】
[0013]いくつかの態様では、上記で説明された方法、装置、およびコンピュータ可読媒体は、データ構造中で、第１の長さを示すための第２の値を設定することをさらに備える。
【００１４】
[0014]いくつかの態様では、第１のレンジは、入力値のレンジの始まりからの入力値の第１のセットを含み、ここにおいて、レンジのセットは、入力値のレンジからの、入力値の第１のセットに続く第２のセット入力値を含む。
【００１５】
[0015]いくつかの態様では、複数の重複しないレンジは、第３の長さを有する第２のレンジを含み、ここにおいて、第３の長さは第２の長さとは異なる。これらの態様では、上記で説明された方法、装置、およびコンピュータ可読媒体は、データ構造中で、複数の重複しないレンジが、第１のレンジと第２のレンジとを含むことを示すための第２のインジケータを設定することをさらに備える。これらの態様は、データ構造中で、第３の長さを示すための第３の値を設定することをさらに備える。
【００１６】
[0016]いくつかの態様では、第１の値は、第２の長さを乗算された、レンジのセット中のレンジの数に第２の長さを乗算した値に、等しい。
【００１７】
[0017]いくつかの態様では、レンジのセットは、入力値のレンジの始まりからの入力値の第１のセットを含み、ここにおいて、第１のレンジは、入力値のレンジからの、入力値の第１のセットに続く入力値の第２のセットを含む。
【００１８】
[0018]いくつかの態様では、パラメータは、複数の重複しないレンジの各々に関連するスケールファクタをさらに含む。これらの態様では、上記で説明された方法、装置、およびコンピュータ可読媒体は、データ構造にスケールファクタを追加することをさらに備える。
【００１９】
[0019]いくつかの態様では、上記で説明された方法、装置、およびコンピュータ可読媒体は、補足エンハンスメント情報（ＳＥＩ）メッセージ、スライスヘッダ、またはパラメータセット中にデータ構造を含めることをさらに備える。
【００２０】
[0020]少なくとも１つの例によれば、ビデオデータを復号する方法が提供され、本方法は、符号化ビデオデータのからのビデオフレームの一部分について、ビデオフレームの一部分における、色のダイナミックレンジ調整のための区分線形関数を表すパラメータを含むデータ構造を決定することをさらに含み、ここにおいて、パラメータは、区分線形関数への入力値のレンジを複数の重複しないレンジに分割する。本方法は、データ構造中のインジケータから、複数の重複しないレンジが、第１の長さを有する第１のレンジと、各々第２の長さを有するレンジのセットとを含むと決定することをさらに含み、ここにおいて、第１の長さは第２の長さとは異なる。本方法は、データ構造中の第１の値を使用して第２の長さを決定することをさらに含む。本方法は、データ構造によって提供される情報を使用して第１の長さを決定することをさらに含む。本方法は、第１の長さと、第２の長さと、複数の重複しないレンジの各々に関連するスケールファクタとを使用して、区分線形関数を再構築することをさらに含み、ここにおいて、スケールファクタはデータ構造中に含まれる。本方法は、ビデオフレームの一部分を復号することをさらに含む。本方法は、ダイナミックレンジ調整を実行するために、ビデオフレームの一部分中の色に区分線形関数を適用することをさらに含む。
【００２１】
[0021]別の例では、ビデオデータを記憶するように構成されたメモリと、プロセッサとを含む復号が提供される。プロセッサは、符号化ビデオデータのからのビデオフレームの一部分について、ビデオフレームの一部分における、色のダイナミックレンジ調整のための区分線形関数を表すパラメータを含むデータ構造を決定するように構成され、決定することができ、ここにおいて、パラメータは、区分線形関数への入力値のレンジを複数の重複しないレンジに分割する。プロセッサは、データ構造中のインジケータから、複数の重複しないレンジが、第１のレンジが第１の長さを有することと、各々第２の長さを有するレンジのセットとを含むと決定するように構成され、決定することができ、ここにおいて、第１の長さは第２の長さとは異なる。プロセッサは、データ構造中の第１の値を使用して第２の長さを決定するように構成され、決定することができる。プロセッサは、データ構造によって提供される情報を使用して第１の長さを決定するように構成され、決定することができる。プロセッサは、第１の長さと、第２の長さと、複数の重複しないレンジの各々に関連するスケールファクタとを使用して、区分線形関数を再構築するように構成され、再構築することができ、ここにおいて、スケールファクタはデータ構造中に含まれる。プロセッサは、ビデオフレームの一部分を復号するように構成され、復号することができる。プロセッサは、ダイナミックレンジ調整を実施するために、ビデオフレームの一部分中の色に区分線形関数を適用するように構成され、適用することができる。
【００２２】
[0022]別の例では、プロセッサによって実行されたとき、プロセッサに、符号化ビデオデータを取得することを含む動作を実施させる命令を記憶したコンピュータ可読媒体が提供される。命令は、さらに、プロセッサに、符号化ビデオデータのからのビデオフレームの一部分について、ビデオフレームの一部分における、色のダイナミックレンジ調整のための区分線形関数を表すパラメータを含むデータ構造を決定させることができ、ここにおいて、パラメータは、区分線形関数への入力値のレンジを複数の重複しないレンジに分割する。命令は、さらに、プロセッサに、データ構造中のインジケータから、複数の重複しないレンジが、第１の長さを有する第１のレンジと、各々第２の長さを有するレンジのセットとを含むと決定させることができ、ここにおいて、第１の長さは第２の長さとは異なる。命令は、さらに、データ構造中の第１の値を使用して第２の長さを決定させることができる。命令は、さらに、プロセッサに、データ構造を使用して第１の長さを決定させることができる。命令は、さらに、プロセッサに、第１の長さと、第２の長さと、複数の重複しないレンジの各々に関連するスケールファクタとを使用して、区分線形関数を再構築させることができ、ここにおいて、スケールファクタはデータ構造中に含まれる。命令は、さらに、プロセッサに、ビデオフレームの一部分を復号させることができる。命令は、さらに、プロセッサに、ダイナミックレンジ調整を実施するために、ビデオフレームの一部分中の色に区分線形関数を適用させることができる。
【００２３】
[0023]別の例では、符号化ビデオデータを取得するための手段を含む装置が提供される。本装置は、符号化ビデオデータのからのビデオフレームの一部分について、ビデオフレームの一部分における、色のダイナミックレンジ調整のための区分線形関数を表すパラメータを含むデータ構造を決定するための手段をさらに備え、ここにおいて、パラメータは、区分線形関数への入力値のレンジを複数の重複しないレンジに分割する。本装置は、データ構造中のインジケータから、複数の重複しないレンジが、第１の長さを有する第１のレンジと、各々第２の長さを有するレンジのセットとを含むと決定するための手段をさらに備え、ここにおいて、第１の長さは第２の長さとは異なる。本装置は、データ構造中の第１の値を使用して第２の長さを決定するための手段をさらに備える。本装置は、データ構造を使用して第１の長さを決定するための手段をさらに備える。本装置は、第１の長さと、第２の長さと、複数の重複しないレンジの各々に関連するスケールファクタとを使用して、区分線形関数を再構築するための手段をさらに備え、ここにおいて、スケールファクタはデータ構造中に含まれる。本装置は、ビデオフレームの一部分を復号するための手段をさらに備える。本装置は、ダイナミックレンジ調整を実施するために、ビデオフレームの一部分中の色に区分線形関数を適用するための手段をさらに備える。
【００２４】
[0024]いくつかの態様では、第１の値は第２の長さを提供し、ここにおいて、データ構造中の第２の値が第１の長さを提供する。
【００２５】
[0025]いくつかの態様では、第１の値は、固定値と第２の長さとの間の差分を示すことによって第２の長さを示す。
【００２６】
[0026]いくつかの態様では、データ構造中の第２の値は第１の長さを提供する。これらの態様では、方法、装置、およびコンピュータ可読媒体は、第２の値に関連するインデックスから、第１のレンジが、入力値のレンジの始まりからの入力値の第１のセットを含むと決定することをさらに備え、ここにおいて、レンジのセットは、入力値のレンジからの、入力値の第１のセットに続く第２のセット入力値を含む。
【００２７】
[0027]いくつかの態様では、上記で説明された方法、装置、およびコンピュータ可読媒体は、データ構造中の第２のインジケータから、複数の重複しないレンジが、第３の長さを有する第２のレンジを含むと決定することをさらに備え、ここにおいて、第３の長さは第２の長さとは異なる。これらの態様は、データ構造中の第３の値から第３の長さを決定することをさらに備える。
【００２８】
[0028]いくつかの態様では、第１の長さは、レンジのセットの全長に等しく、ここにおいて、第２の長さを決定することは、第１の長さをレンジのセット中のレンジの数で除算することを含む。
【００２９】
[0029]いくつかの態様では、上記で説明された方法、装置、およびコンピュータ可読媒体は、第１の値に基づいて、レンジのセットが、入力値のレンジの始まりからの入力値の第１のセットを含むと決定することをさらに備え、ここにおいて、第１のレンジは、入力値のレンジからの、入力値の第１のセットに続く入力値の第２のセットを含む。
【００３０】
[0030]いくつかの態様では、パラメータは、補足エンハンスメント情報（ＳＥＩ）メッセージ、スライスヘッダ、またはパラメータセット中に含まれる。
【００３１】
[0031]本発明の概要は、請求される主題の主要なまたは本質的な特徴を識別するものではなく、請求される主題の範囲を決定するために独立して使用されるものでもない。本主題は、本特許の明細書全体、いずれかまたはすべての図面、および各請求項の適切な部分を参照することによって理解されたい。
【００３２】
[0032]上記のことは、他の特徴および実施形態とともに、以下の明細書、特許請求の範囲、および添付の図面を参照すると、より明らかになろう。
【００３３】
[0033]様々な実装形態の例示的な例が、以下の図面を参照しながら以下で詳細に説明される。
【図面の簡単な説明】
【００３４】
【図１】[0034]符号化デバイスと復号デバイスとを含むシステムを示すブロック図。
【図２】[0035]様々なディスプレイタイプのダイナミックレンジと比較して、一般的な人間の視覚のダイナミックレンジを示す図。
【図３】[0036]色度図（chromaticity diagram）の一例を示す図。
【図４】[0037]ビデオデータを符号化する目的で、高精度線形ＲＧＢビデオデータをコンバートするためのプロセスの一例を示す図。
【図５】[0038]デコーダによって生成された復号ビットストリームから取得されたコンバートされたＨＤＲビデオデータを復元するためのプロセスの一例を示す図。
【図６】[0039]トランスファ関数（transfer function）によって生成された輝度曲線の例を示すチャート。
【図７】[0040]ＰＱ＿ＴＦへの入力値の一例を示すグラフ。
【図８】[0041]ＬＣＳ関数の一例を示すグラフ。
【図９】[0042]ダイナミックレンジ調整のための区分線形関数に従って、ｘの入力値のレンジについてｙ値をプロットするグラフ。
【図１０】[0043]ダイナミックレンジ調整のための区分線形関数に従って、ｘ値上のレンジについてｙ値をプロットするグラフ。
【図１１】[0044]ビデオデータを符号化するためのプロセスの一例を示すフローチャート。
【図１２】[0045]ビデオデータを復号するためのプロセスの一例を示すフローチャート。
【図１３】[0046]例示的な符号化デバイスを示すブロック図。
【図１４】[0047]例示的な復号デバイスを示すブロック図。
【発明を実施するための形態】
【００３５】
[0048]本開示のいくつかの態様および実施形態が以下で与えられる。当業者に明らかであるように、これらの態様および実施形態のうちのいくつかは独立して適用され得、それらのうちのいくつかは組み合わせて適用され得る。以下の説明では、説明の目的で、本出願の実施形態の完全な理解を与えるために具体的な詳細が記載される。ただし、様々な実施形態は、これらの具体的な詳細なしに実施され得ることが明らかであろう。図および説明は限定するものではない。
【００３６】
[0049]以下の説明は、例のみを与えるものであり、本開示の範囲、適用性、または構成を限定するものではない。そうではなく、例の以下の説明は、一例を実装することを可能にする説明を当業者に与える。添付の特許請求の範囲に記載されるように、本出願の趣旨および範囲から逸脱することなく、要素の機能および構成において様々な変更が行われ得ることを理解されたい。
【００３７】
[0050]以下の説明では、実施形態の完全な理解を与えるために具体的な詳細が与えられる。ただし、実施形態はこれらの具体的な詳細なしに実施され得ることを当業者は理解されよう。たとえば、回路、システム、ネットワーク、プロセス、および他の構成要素は、実施形態を不要な詳細で不明瞭にしないためにブロック図の形態で構成要素として示され得る。他の事例では、実施形態を不明瞭にすることを回避するために、よく知られている回路、プロセス、アルゴリズム、構造、および技法が不要な詳細なしに示され得る。
【００３８】
[0051]また、個々の実施形態は、フローチャート、流れ図、データフロー図、構造図、またはブロック図として示されるプロセスとして説明されることがあることに留意されたい。フローチャートは動作を逐次プロセスとして説明することがあるが、動作の多くは並行してまたは同時に実施され得る。さらに、動作の順序は並べ替えられ得る。それの動作が完了されるとき、プロセスは終了されるが、図中に含まれない追加のステップを有し得る。プロセスは、方法、関数、プロシージャ、サブルーチン、サブプログラムなどに対応し得る。プロセスが関数に対応するとき、それの終了は呼出し関数またはメイン関数への関数の復帰に対応することができる。
【００３９】
[0052]「コンピュータ可読媒体」という用語は、限定はしないが、ポータブルまたは非ポータブル記憶デバイス、光記憶デバイス、ならびに（１つまたは複数の）命令および／またはデータを記憶、含有、または担持することが可能な様々な他の媒体を含む。コンピュータ可読媒体は、データがそこに記憶され得る非一時的媒体を含み得、それは、ワイヤレスにまたはワイヤード接続を介して伝搬する搬送波および／または一時的電子信号を含まない。非一時的媒体の例は、限定はしないが、磁気ディスクまたはテープ、コンパクトディスク（ＣＤ）またはデジタル多用途ディスク（ＤＶＤ）などの光記憶媒体、フラッシュメモリ、メモリまたはメモリデバイスを含み得る。コンピュータ可読媒体は、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、あるいは命令、データ構造、またはプログラムステートメントの任意の組合せを表現し得るコードおよび／または機械実行可能命令をその上に記憶していることがある。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容をパスおよび／または受信することによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信などを含む、任意の好適な手段を介してパス、転送、または送信され得る。
【００４０】
[0053]さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードで実装されるとき、必要なタスクを実施するためのプログラムコードまたはコードセグメント（たとえば、コンピュータプログラム製品）は、コンピュータ可読または機械可読媒体に記憶され得る。（１つまたは複数の）プロセッサが、必要なタスクを実施し得る。
【００４１】
[0054]より多くのデバイスおよびシステムが、デジタルビデオデータを消費する能力を消費者に提供するにつれて、効率的なビデオコーディング技法の必要がより重要になる。デジタルビデオデータ中に存在する大量のデータを処理するために必要な記憶および送信要件を低減するために、ビデオコーディングが必要とされる。高いビデオ品質を維持しながら、より低いビットレートを使用する形式にビデオデータを圧縮するために、様々なビデオコーディング技法が使用され得る。本明細書で使用される「コーディング」は、「符号化」および／または「復号」を指すことがある。
【００４２】
[0055]色ボリューム変換は、それによって、ビデオにおける色のレンジが、たとえば、ビデオデータを符号化または圧縮する目的で色ボリュームを低減するために変換され得る、プロセスである。逆色変換プロセスは、低減された色ボリュームを元の色ボリュームに戻すことができる。変換は不可逆プロセスであり得、これは、一部の色情報が変換プロセスによって失われ得、その情報が、逆変換が適用されたときに復元され得ないことを意味する。データ損失または他の問題のために、ブリーディング（bleeding）または不一致の色など、ビデオにおける色のひずみが生じ得る。
【００４３】
[0056]ダイナミックレンジ調整（ＤＲＡ）は、色ボリューム変換中に生じ得るひずみを補償するためのプロセスである。ダイナミックレンジ調整は、色ボリューム変換中に生じ得る、ビデオにおける色のダイナミックレンジの変化を補償することができる。ダイナミックレンジ調整は、区分線形関数（piecewise linear function）を使用して、ビデオフレームのグループの、１つのビデオフレームの、および／またはビデオフレームの一部分の、ダイナミックレンジを表現することを含むことができる。エンコーダは、ビデオフレームを表現する他のデータとともに、ビットストリーム中で、区分線形関数を表すパラメータをシグナリングする（たとえば、パラメータ値を符号化し、符号化された値をビットストリーム中に含める）ことができる。次いで、デコーダが、パラメータを使用して区分線形関数を再構築し、その区分線形関数を使用して、対応する、フレームのグループ、フレーム、および／またはビデオフレームの一部分のダイナミックレンジを調整することができる。
【００４４】
[0057]ビデオデータは、データを表現するために使用されるビット数を低減するために圧縮され得る。圧縮は、再構築されたビデオの品質とデータを表現するために使用されるビット数との間のトレードオフが、特定の適用例、および／または、コンテンツの消費者にとって十分であると決定されたメトリックを満たすように実施され得る。ダイナミックレンジ調整は、品質とビット数とのより良いトレードオフを与えることが可能であるドメインにビデオデータがコンバートされるようにビデオデータに対して適用され得る。逆プロセスは、ビデオデータを元のドメインに戻すことができる。
【００４５】
[0058]ダイナミックレンジ調整はまた、それが特定のタイプのディスプレイに好適であるようにビデオをコンバートするために適用され得る。ビデオデータは、そのようなものとして符号化され得るか、またはダイナミックレンジ調整の適用後にコーディングされ得る。得られたビデオは、ディスプレイ特性の特定のセット（たとえば、セットＡ）に好適であり得る。デコーダにおいて、コンバートされたビデオがディスプレイ特性の異なるセット（たとえば、セットＢ）に好適であるように復号ビデオをコンバートするために、対応するダイナミックレンジ調整が適用され得る。ディスプレイ特性がセットＡに一致するとき、ダイナミックレンジ調整は、デコーダにおいて実施される必要がないことがある。ディスプレイの特性のセットは、たとえば、例の中でも、ディスプレイのピーク輝度、ディスプレイのダイナミックレンジ、色域、および／またはカラープライマリ（color primaries）を含み得る。いくつかの例では、また、セットＡがＳＤＲディスプレイ（またはＨＤＲディスプレイ）に適用され得、セットＢがＨＤＲディスプレイ（またはＳＤＲディスプレイ）に適用され得る。これらの例では、ダイナミックレンジ調整は、コンテンツをＳＤＲからＨＤＲに（またはＨＤＲからＳＤＲに）マッピングする。
【００４６】
[0059]区分線形関数をシグナリングすること（たとえば、符号化ビットストリーム中で表すこと）は、冗長情報を表現し得るある数のビットを必要とすることがある。たとえば、区分線形関数を表す１つの方法は、関数のための入力値のレンジを、各々が一定の傾きを有するセグメントに分割することであり、その場合、その関数は、符号化データ中に各セグメントの長さと各セグメントの傾き（slope）とを含めることによってシグナリングされ得る。一部のコンテンツでは、関数は、セグメントが、等しい長さのものであり得るようなものであり得、その場合、長さ成分は冗長である。この例では、コーディング効率（たとえば、ビットストリームのコンパクトさ）が、各セグメントの傾きのみをシグナリングすることによって改善され得る。ただし、一部のコンテンツでは、レンジの一部分のみが、一定の傾きを有するセグメントに分割され得る。たとえば、一部のコンテンツでは、入力値のレンジは、等しい長さを有するレンジのセットと、異なる長さを有する１つのレンジとに分割され得る。この例では、レンジにおけるシグナリングするための１つのオプションは、各レンジの長さと傾きとを示すことである。これは、等長レンジ（equal-length range）の長さ成分が同じであり、したがって、冗長的にシグナリングされるので、あまり効率的でないことがある。代替オプションは、等しくない長さの１つのレンジを含む、入力値のレンジのすべてを等しい長さに分割すること、および各得られたセグメントの傾きをシグナリングすることである。これも、この場合、通常ならば、１つの長さを使用してシグナリングされ得るレンジについて、複数の長さがシグナリングされることになるので、あまり効率的でないことがある。
【００４７】
[0060]様々な実装形態では、ダイナミックレンジ調整から使用される区分線形関数を符号化するための、および区分線形関数を再構築するために使用され得るパラメータを復号するための、システム、方法、およびコンピュータ可読媒体に記憶された命令が提供される。区分線形関数のためのパラメータはデータ構造中に含まれ得、データ構造は、パラメータがそれに適用される符号化ビデオデータとともに与えられ得る。
【００４８】
[0061]様々な例では、区分線形関数への入力値のレンジは、重複しないレンジに分割され得る。レンジが、各々同じ長さを有するセットを含むとき、１つの長さがデータ構造中で示され得る。これは、レンジの個々の長さがデータ構造中に含まれる必要がないという点で、データ構造を符号化するために必要とされるビット数を低減することができる。また、レンジが、同じ長さを有するレンジと同じ長さのものではない１つまたは場合によっては２つのレンジを含むとき、データ構造は、これらの他の長さのうちの一方または両方を示すための別個の成分を含むことができるか、あるいは、一方または両方の長さが、同じ長さのものであるレンジの長さを示すために使用されるパラメータから導出され得る。これは、レンジの各々の長さを個々に示すことに頼る必要なしに、同じ長さのものであるレンジの長さを示すための１つの値が使用されることを可能にする。
【００４９】
[0062]図１を参照すると、ビデオソース１０２は、符号化デバイス１０４にビデオデータを与え得る。ビデオソース１０２は、ソースデバイスの一部であり得るか、またはソースデバイス以外のデバイスの一部であり得る。ビデオソース１０２は、ビデオキャプチャデバイス（たとえば、ビデオカメラ、カメラフォン、ビデオフォンなど）、記憶されたビデオを含んでいるビデオアーカイブ、ビデオデータを与えるビデオサーバまたはコンテンツプロバイダ、ビデオサーバまたはコンテンツプロバイダからビデオを受信するビデオフィードインターフェース、コンピュータグラフィックスビデオデータを生成するためのコンピュータグラフィックスシステム、そのようなソースの組合せ、あるいは任意の他の好適なビデオソースを含み得る。
【００５０】
[0063]ビデオソース１０２からのビデオデータは、１つまたは複数の入力ピクチャまたはフレームを含み得る。ビデオのピクチャまたはフレームは、シーンの静止画像である。符号化デバイス１０４のエンコーダエンジン１０６（またはエンコーダ）は、符号化ビデオビットストリームを生成するためにビデオデータを符号化する。いくつかの例では、符号化ビデオビットストリーム（または「ビデオビットストリーム」または「ビットストリーム」）は、一連の１つまたは複数のコード化ビデオシーケンスである。コード化ビデオシーケンス（ＣＶＳ）は、ベースレイヤ中の、いくつかのプロパティをもつランダムアクセスポイントピクチャを有するアクセスユニット（ＡＵ）で始まり、ベースレイヤ中の、いくつかのプロパティをもつランダムアクセスポイントピクチャを有する次のＡＵまでの、次のＡＵを含まない一連のＡＵを含む。たとえば、ＣＶＳを開始するランダムアクセスポイントピクチャのいくつかのプロパティは、１に等しいＲＡＳＬフラグ（たとえば、ＮｏＲａｓｌＯｕｔｐｕｔＦｌａｇ）を含み得る。他の場合、（０に等しいＲＡＳＬフラグをもつ）ランダムアクセスポイントピクチャはＣＶＳを開始しない。アクセスユニット（ＡＵ）は、１つまたは複数のコード化ピクチャと、同じ出力時間を共有するコード化ピクチャに対応する制御情報とを含む。ピクチャのコード化スライスは、ビットストリームレベルにおいて、ネットワークアブストラクションレイヤ（ＮＡＬ）ユニットと呼ばれるデータユニット中にカプセル化される。たとえば、ＨＥＶＣビデオビットストリームは、ＮＡＬユニットを含む１つまたは複数のＣＶＳを含み得る。ＮＡＬユニットの各々はＮＡＬユニットヘッダを有する。一例では、ヘッダは、（マルチレイヤ拡張を除いて）Ｈ．２６４／ＡＶＣでは１バイトであり、ＨＥＶＣでは２バイトである。ＮＡＬユニットヘッダ中のシンタックス要素は、指定されたビットをとり、したがって、特にトランスポートストリーム、リアルタイムトランスポート（ＲＴＰ）プロトコル、ファイルフォーマットなど、すべての種類のシステムおよびトランスポートレイヤに可視である。
【００５１】
[0064]ビデオコーディングレイヤ（ＶＣＬ）ＮＡＬユニットと非ＶＣＬ  ＮＡＬユニットとを含む、ＮＡＬユニットの２つのクラスがＨＥＶＣ規格に存在する。ＶＣＬ  ＮＡＬユニットは、コード化ピクチャデータの（以下で説明される）１つのスライスまたはスライスセグメントを含み、非ＶＣＬ  ＮＡＬユニットは、１つまたは複数のコード化ピクチャに関係する制御情報を含む。いくつかの場合には、ＮＡＬユニットはパケットと呼ばれることがある。ＨＥＶＣ  ＡＵは、コード化ピクチャデータを含んでいるＶＣＬ  ＮＡＬユニットと、（もしあれば）コード化ピクチャデータに対応する非ＶＣＬ  ＮＡＬユニットとを含む。
【００５２】
[0065]ＮＡＬユニットは、ビデオ中のピクチャのコード化表現など、ビデオデータのコード化表現を形成するビットのシーケンス（たとえば、符号化ビデオビットストリーム、ビットストリームのＣＶＳなど）を含んでいることがある。エンコーダエンジン１０６は、各ピクチャを複数のスライスに区分することによってピクチャのコード化表現を生成する。スライスは、スライス中の情報が、同じピクチャ内の他のスライスからのデータへの依存性なしにコーディングされるように、他のスライスから独立している。スライスは、独立しているスライスセグメントを含む１つまたは複数のスライスセグメントと、存在する場合、前のスライスセグメントに依存する１つまたは複数の依存するスライスセグメントとを含む。スライスは、次いで、ルーマサンプルおよびクロマサンプルのコーディングツリーブロック（ＣＴＢ）に区分される。ルーマサンプルのＣＴＢおよびクロマサンプルの１つまたは複数のＣＴＢは、サンプルのためのシンタックスとともに、コーディングツリーユニット（ＣＴＵ）と呼ばれる。ＣＴＵは、ＨＥＶＣ符号化のための基本処理ユニットである。ＣＴＵは、様々なサイズの複数のコーディングユニット（ＣＵ）にスプリットされ得る。ＣＵは、コーディングブロック（ＣＢ）と呼ばれるルーマおよびクロマサンプルアレイを含んでいる。
【００５３】
[0066]ルーマおよびクロマＣＢは、予測ブロック（ＰＢ）にさらにスプリットされ得る。ＰＢは、（利用可能なとき、または使用のために可能にされたとき）インター予測またはイントラブロックコピー予測のために同じ動きパラメータを使用するルーマ成分またはクロマ成分のサンプルのブロックである。ルーマＰＢおよび１つまたは複数のクロマＰＢは、関連するシンタックスとともに、予測ユニット（ＰＵ）を形成する。インター予測の場合、動きパラメータのセット（たとえば、１つまたは複数の動きベクトル、参照インデックスなど）は、ＰＵごとにビットストリーム中でシグナリングされ、ルーマＰＢおよび１つまたは複数のクロマＰＢのインター予測のために使用される。動きパラメータは動き情報と呼ばれることもある。ＣＢはまた、１つまたは複数の変換ブロック（ＴＢ）に区分され得る。ＴＢは、予測残差信号をコーディングするために同じ２次元変換が適用される色成分のサンプルの正方形ブロックを表現する。変換ユニット（ＴＵ）は、ルーマおよびクロマサンプルのＴＢと、対応するシンタックス要素とを表現する。
【００５４】
[0067]ＣＵのサイズは、コーディングモードのサイズに対応し、形状が正方形であり得る。たとえば、ＣＵのサイズは、８×８サンプル、１６×１６サンプル、３２×３２サンプル、６４×６４サンプル、または対応するＣＴＵのサイズまでの任意の他の適切なサイズであり得る。「Ｎ×Ｎ」という句は、本明細書では、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法（たとえば、８ピクセル×８ピクセル）を指すために使用される。ブロック中のピクセルは行および列に配置され得る。いくつかの例では、ブロックは、水平方向において垂直方向と同じ数のピクセルを有するとは限らない。ＣＵに関連するシンタックスデータは、たとえば、１つまたは複数のＰＵへのＣＵの区分を表し得る。区分モードは、ＣＵがイントラ予測モード符号化されるか、インター予測モード符号化されるかの間で異なり得る。ＰＵは、形状が非正方形になるように区分され得る。ＣＵに関連するシンタックスデータは、たとえば、ＣＴＵに従う１つまたは複数のＴＵへのＣＵの区分をも表し得る。ＴＵは、形状が正方形または非正方形であり得る。
【００５５】
[0068]ＨＥＶＣ規格によれば、変換は、変換ユニット（ＴＵ）を使用して実施され得る。ＴＵは、異なるＣＵでは異なり得る。ＴＵは、所与のＣＵ内のＰＵのサイズに基づいてサイズ決定され得る。ＴＵは、ＰＵと同じサイズであるか、またはＰＵよりも小さいことがある。いくつかの例では、ＣＵに対応する残差サンプルは、残差４分木（ＲＱＴ）として知られる４分木構造を使用して、より小さいユニットに再分割され得る。ＲＱＴのリーフノードはＴＵに対応し得る。ＴＵに関連するピクセル差分値は、変換係数を生成するために変換され得る。変換係数は、次いで、エンコーダエンジン１０６によって量子化され得る。
【００５６】
[0069]ビデオデータのピクチャがＣＵに区分されると、エンコーダエンジン１０６は、予測モードを使用して各ＰＵを予測する。予測ユニットまたは予測ブロックは、次いで、（以下で説明される）残差を得るために元のビデオデータから減算される。ＣＵごとに、シンタックスデータを使用してビットストリーム内で予測モードがシグナリングされ得る。予測モードは、イントラ予測（またはピクチャ内予測）またはインター予測（またはピクチャ間予測）を含み得る。イントラ予測は、ピクチャ内の空間的に隣接するサンプル間の相関を利用する。たとえば、イントラ予測を使用して、各ＰＵは、たとえば、ＰＵに関する平均値を見つけるためのＤＣ予測、平坦面をＰＵに適合させるための平面予測、隣接データから外挿するための方向予測、または任意の他の好適なタイプの予測を使用して、同じピクチャ中の隣接画像データから予測される。インター予測は、画像サンプルのブロックについての動き補償予測を導出するためにピクチャ間の時間相関を使用する。たとえば、インター予測を使用して、各ＰＵは、（出力順序において現在ピクチャの前または後の）１つまたは複数の参照ピクチャ中の画像データからの動き補償予測を使用して予測される。ピクチャ間予測を使用してピクチャエリアをコーディングすべきなのか、ピクチャ内予測を使用してピクチャエリアをコーディングすべきなのかの決定は、たとえば、ＣＵレベルにおいて行われ得る。
【００５７】
[0070]いくつかの例では、ピクチャの１つまたは複数のスライスは、スライスタイプを割り当てられる。スライスタイプは、Ｉスライスと、Ｐスライスと、Ｂスライスとを含む。Ｉスライス（フレーム内、独立して復号可能）は、イントラ予測によってのみコーディングされるピクチャのスライスであり、したがって、Ｉスライスは、スライスの任意の予測ユニットまたは予測ブロックを予測するためにフレーム内のデータのみを必要とするので、独立して復号可能である。Ｐスライス（単方向予測されるフレーム）は、イントラ予測を用いて、および単方向インター予測を用いてコーディングされ得るピクチャのスライスである。Ｐスライス内の各予測ユニットまたは予測ブロックは、イントラ予測またはインター予測のいずれかを用いてコーディングされる。インター予測が適用されるとき、予測ユニットまたは予測ブロックは、１つの参照ピクチャによってのみ予測され、したがって、参照サンプルは、１つのフレームの１つの参照領域からのみのものである。Ｂスライス（双方向予測フレーム）は、イントラ予測を用いて、およびインター予測（たとえば、双予測または単予測のいずれか）を用いてコーディングされ得るピクチャのスライスである。Ｂスライスの予測ユニットまたは予測ブロックは、２つの参照ピクチャから双方向予測され得、ここで、各ピクチャが１つの参照領域を導き（contribute）、双方向予測されたブロックの予測信号を生成するために、２つの参照領域のサンプルセットが（たとえば、等しい重みを用いて、または異なる重みを用いて）重み付けされる。上記で説明されたように、１つのピクチャのスライスが独立してコーディングされる。いくつかの場合には、ピクチャは、ただ１つのスライスとしてコーディングされ得る。
【００５８】
[0071]ＰＵは、予測プロセスに関係するデータ（たとえば、動きパラメータまたは他の好適なデータ）を含み得る。たとえば、ＰＵがイントラ予測を使用して符号化されるとき、ＰＵは、ＰＵのためのイントラ予測モードを表すデータを含み得る。別の例として、ＰＵがインター予測を使用して符号化されるとき、ＰＵは、ＰＵのための動きベクトルを定義するデータを含み得る。ＰＵのための動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分（Δｘ）、動きベクトルの垂直成分（Δｙ）、動きベクトルの解像度（たとえば、整数精度、１／４ピクセル精度、または１／８ピクセル精度）、動きベクトルが指す参照ピクチャ、参照インデックス、動きベクトルのための参照ピクチャリスト（たとえば、リスト０、リスト１、またはリストＣ）、またはそれらの任意の組合せを表し得る。
【００５９】
[0072]符号化デバイス１０４は、次いで、変換および量子化を実施し得る。たとえば、予測の後に、エンコーダエンジン１０６は、ＰＵに対応する残差値を計算し得る。残差値は、コーディングされているピクセルの現在ブロック（ＰＵ）と、現在ブロックを予測するために使用される予測ブロック（たとえば、現在ブロックの予測されたバージョン）との間のピクセル差分値を備え得る。たとえば、予測ブロックを生成した（たとえば、インター予測またはイントラ予測を出した）後に、エンコーダエンジン１０６は、現在ブロックから、予測ユニットによって生成された予測ブロックを減算することによって、残差ブロックを生成することができる。残差ブロックは、現在ブロックのピクセル値と予測ブロックのピクセル値との間の差分を定量化するピクセル差分値のセットを含む。いくつかの例では、残差ブロックは、２次元ブロックフォーマット（たとえば、ピクセル値の２次元行列またはアレイ）で表現され得る。そのような例では、残差ブロックはピクセル値の２次元表現である。
【００６０】
[0073]予測が実施された後に残存し得るいずれの残差データも、離散コサイン変換、離散サイン変換、整数変換、ウェーブレット変換、他の好適な変換関数、またはそれらの任意の組合せに基づき得るブロック変換を使用して変換される。いくつかの場合には、１つまたは複数のブロック変換（たとえば、サイズ３２×３２、１６×１６、８×８、４×４など）が各ＣＵにおける残差データに適用され得る。いくつかの例では、エンコーダエンジン１０６によって実装される変換および量子化プロセスのためにＴＵが使用され得る。１つまたは複数のＰＵを有する所与のＣＵは、１つまたは複数のＴＵをも含み得る。以下でさらに詳細に説明されるように、残差値は、ブロック変換を使用して変換係数に変換され得、次いで、エントロピーコーディングのためのシリアル化変換係数を生成するために、ＴＵを使用して量子化および走査され得る。
【００６１】
[0074]いくつかの例では、ＣＵのＰＵを使用したイントラ予測コーディングまたはインター予測コーディングの後に、エンコーダエンジン１０６は、ＣＵのＴＵのための残差データを計算し得る。ＰＵは、空間ドメイン（またはピクセルドメイン）においてピクセルデータを備え得る。ＴＵは、ブロック変換の適用の後に変換ドメインにおいて係数を備え得る。前記のように、残差データは、符号化されていないピクチャのピクセルとＰＵに対応する予測値との間のピクセル差分値に対応し得る。エンコーダエンジン１０６は、ＣＵのための残差データを含むＴＵを形成し得、次いで、ＣＵのための変換係数を生成するためにＴＵを変換し得る。
【００６２】
[0075]エンコーダエンジン１０６は、変換係数の量子化を実施し得る。量子化は、係数を表現するために使用されるデータの量を低減するために変換係数を量子化することによって、さらなる圧縮を与える。たとえば、量子化は、係数の一部または全部に関連するビット深度を低減し得る。一例では、ｎビット値をもつ係数は、量子化中にｍビット値に切り捨てられ得、ｎはｍよりも大きい。
【００６３】
[0076]量子化が実施されると、コード化ビデオビットストリームは、量子化変換係数と、予測情報（たとえば、予測モード、動きベクトル、ブロックベクトルなど）と、区分情報と、他のシンタックスデータなどの任意の他の好適なデータとを含む。コード化ビデオビットストリームの異なる要素は、次いで、エンコーダエンジン１０６によってエントロピー符号化され得る。いくつかの例では、エンコーダエンジン１０６は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。いくつかの例では、エンコーダエンジン１０６は適応型走査を実施し得る。ベクトル（たとえば、１次元ベクトル）を形成するために量子化変換係数を走査した後に、エンコーダエンジン１０６は、ベクトルをエントロピー符号化し得る。たとえば、エンコーダエンジン１０６は、コンテキスト適応型可変長コーディング、コンテキスト適応型バイナリ算術コーディング、シンタックスベースコンテキスト適応型バイナリ算術コーディング、確率間隔区分エントロピーコーディング、または別の好適なエントロピー符号化技法を使用し得る。
【００６４】
[0077]前に説明されたように、ＨＥＶＣビットストリームは、ＶＣＬ  ＮＡＬユニットと非ＶＣＬ  ＮＡＬユニットとを含むＮＡＬユニットのグループを含む。ＶＣＬ  ＮＡＬユニットは、コード化ビデオビットストリームを形成するコード化ピクチャデータを含む。たとえば、コード化ビデオビットストリームを形成するビットのシーケンスは、ＶＣＬ  ＮＡＬユニット中で再送される。非ＶＣＬ  ＮＡＬユニットは、他の情報に加えて、符号化ビデオビットストリームに関係する高レベル情報をもつパラメータセットを含んでいることがある。たとえば、パラメータセットは、ビデオパラメータセット（ＶＰＳ）と、シーケンスパラメータセット（ＳＰＳ）と、ピクチャパラメータセット（ＰＰＳ）とを含み得る。パラメータセットの目標の例は、ビットレート効率と、エラーレジリエンシーと、システムレイヤインターフェースを与えることとを含む。各スライスは、復号デバイス１１２がそのスライスを復号するために使用し得る情報にアクセスするために、単一のアクティブなＰＰＳ、ＳＰＳ、およびＶＰＳを参照する。ＶＰＳ識別子（ＩＤ）と、ＳＰＳ  ＩＤと、ＰＰＳ  ＩＤとを含むＩＤが、パラメータセットごとにコーディングされ得る。ＳＰＳは、ＳＰＳ  ＩＤとＶＰＳ  ＩＤとを含む。ＰＰＳは、ＰＰＳ  ＩＤとＳＰＳ  ＩＤとを含む。各スライスヘッダはＰＰＳ  ＩＤを含む。ＩＤを使用して、アクティブなパラメータセットが所与のスライスについて識別され得る。
【００６５】
[0078]ＰＰＳは、所与のピクチャ中のすべてのスライスに適用される情報を含む。このため、ピクチャ中のすべてのスライスは、同じＰＰＳを指す。異なるピクチャ中のスライスも、同じＰＰＳを指し得る。ＳＰＳは、同じコード化ビデオシーケンス（ＣＶＳ）またはビットストリーム中のすべてのピクチャに適用される情報を含む。前に説明されたように、コード化ビデオシーケンスは、（上記で説明された）ベースレイヤ中の、いくつかのプロパティをもつランダムアクセスポイントピクチャ（たとえば、瞬時復号参照（ＩＤＲ：instantaneous decode reference）ピクチャまたは切断リンクアクセス（ＢＬＡ：broken link access）ピクチャ）、あるいは他の適切なランダムアクセスポイントピクチャ）で開始し、ベースレイヤ中の、いくつかのプロパティをもつランダムアクセスポイントピクチャを有する次のアクセスユニット（ＡＵ）までの、次のＡＵ（またはビットストリームの終端）を含まない、一連のＡＵである。ＳＰＳ中の情報は、コード化ビデオシーケンス内でピクチャごとに変化しないことがある。コード化ビデオシーケンス中のピクチャは、同じＳＰＳを使用し得る。ＶＰＳは、コード化ビデオシーケンスまたはビットストリーム内のすべてのレイヤに適用される情報を含む。ＶＰＳは、コード化ビデオシーケンス全体に適用されるシンタックス要素をもつシンタックス構造を含む。いくつかの例では、ＶＰＳ、ＳＰＳ、またはＰＰＳは、符号化ビットストリームとともに帯域内で送信され得る。いくつかの例では、ＶＰＳ、ＳＰＳ、またはＰＰＳは、コード化ビデオデータを含んでいるＮＡＬユニットとは別個の送信において帯域外で送信され得る。
【００６６】
[0079]ビデオビットストリームは、補足エンハンスメント情報（ＳＥＩ）メッセージをも含むことができる。たとえば、ＳＥＩ  ＮＡＬユニットはビデオビットストリームの一部であり得る。いくつかの例では、ＳＥＩメッセージは、ビデオビットストリームとは別個にシグナリングされ得る。いくつかの場合には、ＳＥＩメッセージは、復号プロセスによって必要とされない情報を含んでいることがある。たとえば、ＳＥＩメッセージ中の情報は、ビットストリームのビデオピクチャを復号するためのデコーダにとって必須でないことがあるが、デコーダは、ピクチャの表示または処理（たとえば、復号された出力）を改善するためにその情報を使用であることができる。ＳＥＩメッセージ中の情報は埋込みメタデータであり得る。１つの例示的な例では、ＳＥＩメッセージ中の情報は、コンテンツの視認性を改善するためにデコーダ側エンティティによって使用され得る。いくつかの事例では、いくつかの適用例規格は、適用例規格に準拠するすべてのデバイスに品質の改善がもたらされ得るように、ビットストリーム中のそのようなＳＥＩメッセージの存在（たとえば、多くの他の例に加えて、フレームパッキングＳＥＩメッセージがビデオのあらゆるフレームのために搬送される、フレーム互換平面立体視３ＤＴＶビデオフォーマットのためのフレームパッキングＳＥＩメッセージの搬送、リカバリポイントＳＥＩメッセージの処理、ＤＶＢにおけるパンスキャンスキャン矩形ＳＥＩメッセージの使用）を規定し得る。
【００６７】
[0080]符号化デバイス１０４の出力部１１０は、通信リンク１２０を介して受信デバイスの復号デバイス１１２に、符号化ビデオデータを構成するＮＡＬユニットを送り得る。復号デバイス１１２の入力部１１４はＮＡＬユニットを受信し得る。通信リンク１２０は、ワイヤレスネットワーク、ワイヤードネットワーク、またはワイヤードネットワークとワイヤレスネットワークとの組合せによって与えられるチャネルを含み得る。ワイヤレスネットワークは、任意のワイヤレスインターフェースまたはワイヤレスインターフェースの組合せを含み得、任意の好適なワイヤレスネットワーク（たとえば、インターネットまたは他のワイドエリアネットワーク、パケットベースネットワーク、ＷｉＦｉ（登録商標）、無線周波数（ＲＦ）、ＵＷＢ、ＷｉＦｉ−Ｄｉｒｅｃｔ、セルラー、ロングタームエボリューション（ＬＴＥ（登録商標））、ＷｉＭａｘ（登録商標）など）を含み得る。ワイヤードネットワークは、任意のワイヤードインターフェース（たとえば、ファイバー、イーサネット（登録商標）、電力線イーサネット、同軸ケーブルを介したイーサネット、デジタル信号線（ＤＳＬ）など）を含み得る。ワイヤードおよび／またはワイヤレスネットワークは、基地局、ルータ、アクセスポイント、ブリッジ、ゲートウェイ、スイッチなど、様々な機器を使用して実装され得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、受信デバイスに送信され得る。
【００６８】
[0081]いくつかの例では、符号化デバイス１０４は、符号化ビデオデータを記憶装置１０８に記憶し得る。出力部１１０は、エンコーダエンジン１０６から、または記憶装置１０８から符号化ビデオデータを取り出し得る。記憶装置１０８は、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。たとえば、記憶装置１０８は、ハードドライブ、記憶ディスク、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体を含み得る。
【００６９】
[0082]復号デバイス１１２の入力部１１４は、符号化ビデオビットストリームデータを受信し、ビデオビットストリームデータをデコーダエンジン１１６に、またはデコーダエンジン１１６による後の使用のために記憶装置１１８に与え得る。デコーダエンジン１１６は、（たとえば、エントロピーデコーダを使用して）エントロピー復号し、符号化ビデオデータを構成する１つまたは複数のコード化ビデオシーケンスの要素を抽出することによって、符号化ビデオビットストリームデータを復号し得る。デコーダエンジン１１６は、次いで、符号化ビデオビットストリームデータを再スケーリングし、符号化ビデオビットストリームデータに対して逆変換を実施し得る。残差データが、次いで、デコーダエンジン１１６の予測段階にパスされる。デコーダエンジン１１６は、次いで、ピクセルのブロック（たとえば、ＰＵ）を予測する。いくつかの例では、逆変換の出力（残差データ）に予測が加算される。
【００７０】
[0083]復号デバイス１１２は、復号ビデオをビデオ宛先デバイスに出力し得、ビデオ宛先デバイスは、復号ビデオデータをコンテンツの消費者に表示するためのディスプレイまたは他の出力デバイスを含み得る。いくつかの態様では、ビデオ宛先デバイス１２２は、復号デバイス１１２を含む受信デバイスの一部であり得る。いくつかの態様では、ビデオ宛先デバイス１２２は、受信デバイス以外の別個のデバイスの一部であり得る。
【００７１】
[0084]いくつかの例では、ビデオ符号化デバイス１０４および／またはビデオ復号デバイス１１２は、それぞれオーディオ符号化デバイスおよびオーディオ復号デバイスと統合され得る。ビデオ符号化デバイス１０４および／またはビデオ復号デバイス１１２はまた、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなど、上記で説明されたコーディング技法を実装するために必要である他のハードウェアまたはソフトウェアを含み得る。ビデオ符号化デバイス１０４およびビデオ復号デバイス１１２は、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。符号化デバイス１０４の具体的な詳細の一例は、図１３を参照しながら以下で説明される。復号デバイス１１２の具体的な詳細の一例は、図１４を参照しながら以下で説明される。
【００７２】
[0085]ＨＥＶＣ規格に対する拡張は、ＭＶ−ＨＥＶＣと呼ばれるマルチビュービデオコーディング拡張と、ＳＨＶＣと呼ばれるスケーラブルビデオコーディング拡張とを含む。ＭＶ−ＨＥＶＣ拡張およびＳＨＶＣ拡張は、階層化コーディングの概念を共有し、異なるレイヤが符号化ビデオビットストリーム中に含まれる。コード化ビデオシーケンス中の各レイヤは、一意のレイヤ識別子（ＩＤ）によってアドレス指定される。レイヤＩＤは、ＮＡＬユニットがそれに関連するレイヤを識別するために、ＮＡＬユニットのヘッダ中に存在し得る。ＭＶ−ＨＥＶＣでは、異なるレイヤは、通常、ビデオビットストリーム中の同じシーンの異なるビューを表現する。ＳＨＶＣでは、異なる空間解像度（またはピクチャ解像度）で、または異なる再構築忠実度でビデオビットストリームを表現する異なるスケーラブルレイヤが与えられる。スケーラブルレイヤは、（レイヤＩＤ＝０である）ベースレイヤと（レイヤＩＤ＝１、２、．．．ｎである）１つまたは複数のエンハンスメントレイヤと、を含み得る。ベースレイヤは、ＨＥＶＣの第１のバージョンのプロファイルに適合し得、ビットストリーム中の利用可能な最下位レイヤを表現する。エンハンスメントレイヤは、ベースレイヤと比較して、増加された空間解像度、時間解像度またはフレームレート、および／あるいは再構築忠実度（または品質）を有する。エンハンスメントレイヤは、階層的に編成されており、下位レイヤに依存すること（または依存しないこと）がある。いくつかの例では、単一規格コーデックを使用して、異なるレイヤがコーディングされ得る（たとえば、ＨＥＶＣ、ＳＨＶＣ、または他のコーディング規格を使用して、すべてのレイヤが符号化される）。いくつかの例では、多規格コーデックを使用して、異なるレイヤがコーディングされ得る。たとえば、ベースレイヤは、ＡＶＣを使用してコーディングされ得るが、１つまたは複数のエンハンスメントレイヤは、ＨＥＶＣ規格に対するＳＨＶＣ拡張および／またはＭＶ−ＨＥＶＣ拡張を使用してコーディングされ得る。
【００７３】
[0086]特に、コントラスト比（たとえば、ビデオ中のピクセルの明るさまたは暗さ）および色精度を含む、キャプチャされたビデオにおける色を表す様々な規格も定義されている。たとえば、ビデオ中のピクセルをどのように表示すべきかを決定するために、色パラメータを使用することが可能であるディスプレイデバイスによって、色パラメータが使用され得る。国際電気通信連合（ＩＴＵ）からの１つの例示的な規格、（本明細書では「ＢＴ．７０９」と呼ばれる）ＩＴＵ−Ｒ勧告ＢＴ．７０９は、高精細度テレビジョン（ＨＤＴＶ）のための規格を定義する。ＢＴ．７０９によって定義される色パラメータは、通常、標準ダイナミックレンジ（ＳＤＲ）および標準色域と呼ばれる。別の例示的な規格は、超高精細度テレビジョン（ＵＨＤＴＶ）のための規格を定義する（本明細書では「ＢＴ．２０２０」と呼ばれる）ＩＴＵ−Ｒ勧告ＢＴ．２０２０である。ＢＴ．２０２０によって定義される色パラメータは、一般に、高ダイナミックレンジ（ＨＤＲ）および広色域（ＷＣＧ）と呼ばれる。ダイナミックレンジおよび色域は、本明細書では総称して色ボリューム（color volume）と呼ばれる。
【００７４】
[0087]次世代ビデオ適用例は、ＨＤＲおよびＷＣＧをもつキャプチャされた風景を表現するビデオデータを用いて動作することが予期される。利用されるダイナミックレンジおよび色域のパラメータは、ビデオコンテンツの２つの独立した属性であり、デジタルテレビジョンおよびマルチメディアサービスの目的のためのそれらの仕様は、いくつかの国際規格によって定義される。たとえば、上述のように、ＢＴ．７０９は、ＳＤＲおよび標準色域など、ＨＤＴＶのためのパラメータを定義し、ＢＴ．２０２０は、ＨＤＲおよび広色域など、ＵＨＤＴＶパラメータを指定する。他のシステムにおいてこれらの属性を指定する他の規格開発機関文献もあり、たとえばＰ３色域はＳＭＰＴＥ−２３１−２において定義され、ＨＤＲのいくつかのパラメータは、定義されたＳＴＭＰＴＥ−２０８４である。
【００７５】
[0088]ダイナミックレンジは、ビデオ信号の最小の明るさと最大の明るさとの間の比として定義され得る。ダイナミックレンジはまた、ｆストップに関して測定され得る。たとえば、カメラでは、ｆストップは、カメラの開口の直径に対するレンズの焦点距離の比である。１つのｆストップは、ビデオ信号のダイナミックレンジの倍増に対応することができる。一例として、ＭＰＥＧは、ＨＤＲコンテンツを１６個よりも多いｆストップの明るさ変動を採用するコンテンツとして定義する。いくつかの例では、１０個のｆストップと１６個のｆストップとの間のダイナミックレンジが中間ダイナミックレンジと見なされるが、他の例では、これはＨＤＲダイナミックレンジと見なされる。人間の視覚系は、はるかに大きいダイナミックレンジを知覚するための可能であるが、人間の視覚系は、同時レンジ(simultaneous range)を狭くするための適応機構を含む。
【００７６】
[0089]図２は、様々なディスプレイタイプのダイナミックレンジと比較して、一般的な人間の視覚２０２のダイナミックレンジを示す。図２は、ニトログスケール（nits log scale）で（たとえば、ｃｄ／ｍ2対数スケールで）輝度レンジ２００を示す。例として、星の光は、ほぼ０．０００１ニト、または示されている輝度レンジ２００上の−４にあり、月の光は、約０．０１ニト（輝度レンジ２００上の−２）にある。一般的な屋内の光は、１ニトから１００ニト（輝度レンジ２００上の０から２）の間にあり得る。太陽の光は、１０，０００ニトから１，０００，０００ニト（輝度レンジ２００上の４から６）の間にあり得る。
【００７７】
[0090]人間の視覚２０２は、概して０．０００１ニト未満から１，０００，０００ニト超までの間を知覚することが可能であり、厳密なレンジは人により変動する。人間の視覚２０２のダイナミックレンジは同時ダイナミックレンジ２０４を含む。同時ダイナミックレンジ２０４は、眼が完全適応（full adaptation）にある間に物体が検出され得る、最高輝度値と最低輝度値との間の比として定義される。完全適応は、眼が、現在の周辺光状態または輝度レベルに調整された後の定常状態にあるときに生じる。同時ダイナミックレンジ２０４は、図２の例では、約０．１ニトから約３２００ニトの間のものとして示されているが、同時ダイナミックレンジ２０４は、輝度レンジ２００に沿った他の点を中心とし得、その幅は、異なる輝度レベルにおいて変動することがある。さらに、同時ダイナミックレンジ２０４は人により変動することがある。
【００７８】
[0091]図２は、ＳＤＲディスプレイ２０６およびＨＤＲディスプレイ２０８のための近似ダイナミックレンジをさらに示す。ＳＤＲディスプレイは、ＳＤＲコンテンツを表示することが可能であるモニタ、テレビジョン、タブレットスクリーン、スマートフォンスクリーン、および他のディスプレイデバイスを含む。ＨＤＲディスプレイは、たとえば、ＨＤＲコンテンツを表示することが可能である超高精細度テレビジョンおよび他のディスプレイデバイスを含む。
【００７９】
[0092]ＢＴ．７０９は、ＳＤＲディスプレイ２０６のダイナミックレンジが約０．１〜１００ニト、または約１０個のｆストップであり得ることを与え、これは、人間の視覚２０２のダイナミックレンジよりも著しく小さい。また、ＳＤＲディスプレイ２０６のダイナミックレンジは、示されている同時ダイナミックレンジ２０４よりも小さい。一部のビデオ適用例およびサービスは、Ｒｅｃ．７０９によって規制され、ＳＤＲを与え、一般に、およそ０．１〜１００ニトの明るさ（または輝度）のレンジをサポートする。ＳＤＲディスプレイはまた、夜間状態（たとえば、約０．０００１ニトの星の光）または明るい屋外状態（たとえば、およそ１，０００，０００ニト）を正確に再現することができない。しかしながら、いくつかのＳＤＲディスプレイは、１００ニトよりも大きいピーク明るさをサポートし得、０．１〜１００ニト外のレンジ中でＳＤＲコンテンツを表示し得る。
【００８０】
[0093]次世代ビデオサービスは、最高１６個のｆストップのダイナミックレンジを与えることが予想される。ＨＤＲディスプレイは、ＳＤＲディスプレイよりも広いダイナミックレンジをカバーすることができる。たとえば、ＨＤＲディスプレイは、約０．０１ニト〜約５６００ニト（または１６個のｆストップ）のダイナミックレンジを有し得る。ＨＤＲディスプレイはまた、人間の視覚のダイナミックレンジを包含しないが、ＨＤＲディスプレイは、平均的な人の同時ダイナミックレンジ２０４をカバーすることが可能であることにより近づき得る。ＨＤＲディスプレイのためのダイナミックレンジパラメータのための仕様は、たとえば、ＢＴ．２０２０およびＳＴ２０８４において見つけられ得る。
【００８１】
[0094]色域（color gamut）は、ディスプレイまたはプリンタなど、特定のデバイス上で利用可能である色のレンジを表す。色域は色次元（color dimension）と呼ばれることもある。図３は、ＳＤＲ色域３０４を表現する三角形とＨＤＲ色域３０２を表現する三角形とでオーバーレイされた色度図３００の一例を示す。図３００中の曲線３０６上の値は、色、すなわち、可視スペクトル中の光の波長によって誘発される色のスペクトルである。曲線３０６の下方の色は非スペクトルであり、すなわち、曲線３０６の下端点間の直線は純紫軌跡（line of purples）と呼ばれ、図３００の内側内の色は、スペクトル色の様々な混合、または白色を伴う紫色である、不飽和色（unsaturated color）である。Ｄ６５と標示された点は、示されているスペクトル曲線３０６について、白色のロケーションを示す。曲線３０６は、自然色の限界を表現するスペクトルローカス（spectrum locus）またはスペクトラルローカス（spectral locus）と呼ばれることもある。
【００８２】
[0095]ＳＤＲ色域３０４を表現する三角形は、ＢＴ．７０９によって与えられるような赤、緑、および青のカラープライマリに基づく。ＳＤＲ色域３０４は、ＨＤＴＶ、ＳＤＲブロードキャスト、および他のデジタルメディアコンテンツによって使用される色空間である。
【００８３】
[0096]広いＨＤＲ色域３０２を表現する三角形は、ＢＴ．２０２０によって与えられるような赤、緑、および青のカラープライマリに基づく。図３によって示されているように、ＨＤＲ色域３０２は、ＳＤＲ色域３０４よりも約７０％多くの色を与える。（ＤＣＩ−Ｐ３と呼ばれる）デジタルシネマイニシアチブ（ＤＣＩ）Ｐ３などの他の規格によって定義される色域は、ＨＤＲ色域３０２外のいくつかの色を与えるが、ＨＤＲ色域３０２を完全に含んでいるとは限らない。ＤＣＩ−Ｐ３は、デジタル動き投影（digital move projection）のために使用される。
【００８４】
[0097]表１は、ＢＴ．７０９、ＢＴ．２０２０、およびＤＣＩ−Ｐ３によって与えられるものを含む、選択された色空間のための比色定量（colorimetry）パラメータの例を示す。各色空間について、表１は、色度図のためのｘおよびｙ座標を与える。
【００８５】
【表１】
2021510964.tif 000003
【００８６】
[0098]大きい色ボリュームをもつビデオデータ（たとえば、高ダイナミックレンジおよび広色域をもつビデオデータ）は、成分ごとに高い精度で収集および記憶され得る。たとえば、浮動小数点値が、各ピクセルのルーマおよびクロマ値を表現するために使用され得る。さらなる例として、ルーマ、クロマ青、およびクロマ赤成分が、各々同じサンプルレートを有する、４：４：４クロマフォーマットが使用され得る。４：４：４表記法は、赤緑青（ＲＧＢ）色フォーマットを指すためにも使用され得る。さらなる例として、国際照明委員会（ＣＩＥ：International Commission on Illumination）１９３１ＸＹＺによって定義されるものなど、極めて広い色空間が使用され得る。高い精度で表現されるビデオデータは、ほとんど数学的にロスレスであり得る。しかしながら、高精度表現は、冗長を含み得、圧縮のために最適でないことがある。したがって、人間の眼によって見られ得る色ボリュームを表示することを目指すより低い精度のフォーマットがしばしば使用される。
【００８７】
[0099]図４は、ビデオデータを符号化する目的で、高精度線形ＲＧＢ４０２ビデオデータをコンバートするためのプロセス４００の一例を示す図を含む。コンバートされたＨＤＲデータは、より低い精度を有し得、より容易に圧縮され得る。例示的なプロセス４００は、ダイナミックレンジをコンパクト化することができる非線形トランスファ関数４０４と、よりコンパクトなまたはよりロバストな色空間を生成することができる色コンバージョン４０６と、浮動小数点表現を整数表現にコンバートすることができる量子化４０８関数とを含む。量子化４０８関数の出力は、エンコーダ４１０に入力され得、エンコーダ４１０は、符号化ビットストリームを生成するためにデータを圧縮または符号化することができる。エンコーダ４１０は、たとえば、ＡＶＣ  ＨＥＶＣ、またはＶＰ８／ＶＰ９／ＶＰ１０規格を使用することができる。ビットストリームは記憶および／または送信され得る。
【００８８】
[0100]様々な例では、高ダイナミックレンジと浮動小数点表現とを有することができる線形ＲＧＢ４０２は、非線形トランスファ関数４０４を使用してコンパクト化され得る。非線形トランスファ関数４０４の一例は、ＳＴ２０８４において定義される知覚量子化器（perceptual quantizer）である。トランスファ関数４０４の出力は、色コンバージョン４０６によってターゲット色空間にコンバートされ得る。ターゲット色空間は、ＹＣｂＣｒなど、圧縮のためにより好適であるものであり得る。量子化４０８は、次いで、データを整数表現にコンバートするために使用され得る。量子化４０８の出力はエンコーダ４１０に与えられ得、エンコーダ４１０は、データから符号化ビットストリームを生成することができる。
【００８９】
[0101]図５は、デコーダ５２２によって生成された復号ビットストリームから取得されたコンバートされたＨＤＲビデオデータを復元するためのプロセス５００の一例を示す図を含む。非圧縮または復号ビデオ信号は、たとえば、高速デジタルインターフェースを使用してエンドコンシューマーデバイスに送信され得る。コンシューマー電子デバイスおよび送信媒体の例は、デジタルテレビジョン、デジタルケーブル、衛星または地上波セットトップボックス、モバイルデバイス、ならびに、デジタル多用途ディスク（ＤＶＤ）プレーヤおよび／またはレコーダなど、関係する周辺デバイス、ならびに他の関係する復号デバイスおよびコンシューマーデバイスを含む。いくつかの例では、デコーダ５２２は、プロセス５００のステップを実施することができる。いくつかの例では、エンドコンシューマー電子デバイスは、プロセス５００のステップを実施することができる。
【００９０】
[0102]プロセス５００は、図４のプロセス４００に従ってコンバートされたＨＤＲビデオデータに対して動作することができ、プロセス４００に入力された高精度線形ＲＧＢ４０２ビデオデータをほぼ生成することができる。図５に示されているように、プロセス５００は、（たとえば、整数表現を浮動小数点表現にコンバートするための）逆量子化５２４と、逆色コンバージョン５２６と、逆トランスファ関数５２８とを含む。
【００９１】
[0103]図５の逆量子化５２４は、図４の量子化４０８のために実施された算出の逆を実施することを含む。同様に、逆色コンバージョン５２６は、色コンバージョン４０６のために実施された算出の逆を実施することを含み、逆トランスファ関数５２８は、トランスファ関数４０２のために実施された算出の逆を実施することを含む。明快のために、以下の説明は、別段に定められていない限り、これらの例が、逆トランスファ関数５２８、逆色コンバージョン４２６、および逆量子化５２４にも適用されるという理解とともに、トランスファ関数４０４、色コンバージョン４０６、および量子化４０８の例を与える。さらに、例示的なプロセス４００および５００のステップの順序は、ステップが実施され得る順序を例示する。他の例では、ステップは、異なる順序で行われることがある。たとえば、色コンバージョン４０６は、トランスファ関数４０４に先行することがある。別の例では、逆色コンバージョン５２６は、逆トランスファ関数５２８４の後に実施され得る。他の例では、追加の処理も行われることがある。たとえば、空間サブサンプリングが色成分に適用され得る。
【００９２】
[0104]トランスファ関数は、画像中のデジタル値を光エネルギーにおよびそれからマッピングするために使用され得る。光パワーとも呼ばれる光エネルギーは、レンズ、ミラー、または他の光学システムが、光を集束または発散する程度である。トランスファ関数は、ダイナミックレンジをコンパクト化するために画像中のデータに適用され得る。ダイナミックレンジをコンパクト化することは、ビデオコンテンツが、限られた数のビットをもつデータを表現することを可能にし得る。トランスファ関数は、（たとえば、ＢＴ．７０９においてＳＤＲのために指定されたような）エンドコンシューマーディスプレイの電気−光トランスファ関数（ＥＯＴＦ：electro-optical transfer function）の逆を反映するか、または（たとえば、ＳＴ２０８４において指定された知覚量子化器（ＰＱ：perceptual quantizer）トランスファ関数によってＨＤＲのために与えられるような）明るさ変化の人間の視覚系の知覚を近似するかのいずれかを行うことができる、１次元、非線形関数であり得る。電気−光トランスファ関数は、コードレベルまたはコード値と呼ばれるデジタル値をどのように可視光に変えるべきかを表す。たとえば、ＥＯＴＦは、コードレベルを輝度値にマッピングすることができる。電気−光変換の逆プロセスは、輝度からコードレベルを生成することができる光−電気変換（ＯＥＴＦ：optical-electro transform）である。
【００９３】
[0105]図６は、トランスファ関数によって生成された輝度曲線の例を示すチャートを含む。各曲線は、異なるコードレベルにおける輝度値を示す。ＢＴ．７０９によって定義されたトランスファ関数についての曲線（曲線６０２）およびＳＴ２０８４によって定義されたトランスファ関数についての曲線（曲線６０４）、ならびに１０ビットＳＤＲデータについての代表的曲線６０６が示されている。図６は、各トランスファ関数によってイネーブルにされるダイナミックレンジをも示す。他の例では、曲線は、赤（Ｒ）、緑（Ｇ）、および青（Ｂ）色成分について別個に描かれ得る。
【００９４】
[0106]ＳＴ２０８４は、より高いダイナミックレンジデータをより効率的にサポートすることができるトランスファ関数を与える。ＳＴ２０８４のトランスファ関数は、正規化された、線形Ｒ、Ｇ、およびＢ値に適用され、これは、本明細書でＲ’、Ｇ’、およびＢ’と呼ばれる非線形表現を生成する。ＳＴ２０８４は、さらに、ＮＯＲＭ＝１００００による正規化を定義し、これは、１０，０００ニトのピーク明るさに関連する。Ｒ’、Ｇ’、およびＢ’値は以下のように計算され得る。
【００９５】
【数１】
2021510964.tif 000004
【００９６】
[0107]式（１）では、トランスファ関数ＰＱ＿ＴＦは以下のように定義される。
【００９７】
【数２】
2021510964.tif 000005
【００９８】
[0108]図７は、０．．．１のレンジに正規化された、ＰＱ＿ＴＦへの入力値（たとえば、線形色値）および対応する出力値（たとえば、非線形色値）の一例を示すグラフを含む。このグラフに示されているように、（たとえば、低照明を表現する）入力信号のダイナミックレンジの１％が、出力信号のダイナミックレンジの５０％にコンバートされる。
【００９９】
[0109]電気−光トランスファ関数は、浮動小数点精度を伴う関数として定義され得る。浮動小数点精度を有することによって、逆関数（たとえば、光−電気トランスファ関数）が適用されるとき、関数の非線形性を組み込む信号にエラーをもたらすことを回避することが可能である。ＳＴ２０４８によって指定されたこの逆トランスファ関数は以下の通りである。
【０１００】
【数３】
2021510964.tif 000006
【０１０１】
[0110]式（２）では、逆トランスファ関数ｉｎｖｅｒｓｅＰＱ＿ＴＦは以下のように定義される。
【０１０２】
【数４】
2021510964.tif 000007
【０１０３】
[0111]浮動小数点精度を用いると、ＥＯＴＦおよびＯＥＴＦの連続適用が、エラーなしのほぼ正確な再構築を提供することができる。しかしながら、ＥＯＴＦを使用する線形色データの表現は、サービスをストリーミング（streamlining）またはブロードキャストするために最適でないことがある。以下で説明される追加の処理が、固定ビット精度を有する、非線形Ｒ’Ｇ’Ｂ’データのよりコンパクトな表現を生成することができる。
【０１０４】
[0112]他のトランスファ関数および逆トランスファ関数が定義された。ビデオコーディングシステムは、ＳＴ２０８４によって与えられるものの代わりに、またはＳＴ２０８４によって与えられるもの加えて、これらの他のトランスファ関数および逆トランスファ関数のうちの１つを使用することができる。
【０１０５】
[0113]色コンバージョンは、線形ＲＧＢ入力の色空間のサイズを低減することができる。画像キャプチャシステムは、しばしば、画像をＲＧＢデータとしてキャプチャする。しかしながら、ＲＧＢ色空間は、色成分の間で高度の冗長を有することができる。したがって、ＲＧＢは、データのコンパクトな表現を生成するために最適でない。よりコンパクトなおよびよりロバストな表現を達成するために、ＲＧＢ成分は、圧縮により好適であり得る、ＹＣｂＣｒなどのより無相関な色空間にコンバートされ得る。ＹＣｂＣｒ色空間は、輝度の形式の明るさと色情報とを、ルーマ（Ｙ）、クロマ青（Ｃｂ）、およびクロマ赤（Ｃｒ）を含む異なる無相関成分において分離する。
【０１０６】
[0114]ＹＣｂＣｒ色空間は、ＢＴ．７０９によって使用される１つのターゲット色空間である。ＢＴ．７０９は、非線形Ｒ’、Ｇ’、およびＢ’値のための、非定常輝度表現、Ｙ’、Ｃｂ、およびＣｒへの次のコンバージョンを与える。
【０１０７】
【数５】
2021510964.tif 000008
【０１０８】
[0115]式（３）によって与えられるコンバージョンはまた、以下の近似コンバージョンを使用して実装され得、これは、ＣｂおよびＣｒ成分のための分割を回避する。
【０１０９】
【数６】
2021510964.tif 000009
【０１１０】
[0116]ＢＴ．２０２０は、Ｒ’、Ｇ’、およびＢ’からＹ、Ｃｂ、およびＣｒへの以下のコンバージョンプロセスを指定する。
【０１１１】
【数７】
2021510964.tif 000010
【０１１２】
[0117]式（５）によって与えられるコンバージョンも、以下の近似コンバージョンを使用して実装され得、これは、ＣｂおよびＣｒ成分のための分割を回避する。
【０１１３】
【数８】
2021510964.tif 000011
【０１１４】
[0118]これらおよび他の例では、入力色空間（たとえば、Ｒ’Ｇ’Ｂ’色空間）、出力色空間（たとえば、Ｙ’ＣｂＣｒ色空間）は正規化されたままである。したがって、０．．．１のレンジ内で正規化された入力値について、出力値も０．．．１のレンジにマッピングされる。いくつかの例では、ＣｂおよびＣｒの値は、−０．５〜０．５のレンジ内で正規化され、ここで、両方とも０に等しいＣｂ値およびＣｒ値は、灰色を示す。浮動小数点精度で実装される色変換は、完全再構築に近づくことができ、ロスレスプロセスを生じる。
【０１１５】
[0119]色コンバージョンの後に、今度はターゲット色空間中の入力データが、依然として、高ビット深度で（たとえば、浮動小数点精度で）表現され得、ロスレスであり得る。しかしながら、この程度の精度は、たいていのコンシューマーエレクトロニクス適用例にとって冗長で、過剰であり得る。いくつかの例では、１０ビット〜１２ビット精度は、ＰＱトランスファ関数と組み合わせて、ＨＤＲデータが、人間の視覚によってそれとわかるものをちょうど下回るひずみを伴って１６個のｆストップを有するのに、十分であり得る。１０ビット精度を伴うＨＤＲデータは、さらに、たいていのビデオコーディングシステムによってコーディングされ得る。
【０１１６】
[0120]量子化は、データをターゲットビット深度にコンバートすることができる。量子化は、不可逆プロセスであり、これは、一部の情報が失われることを意味し、出力ＨＤＲデータにおける不正確さの源であり得る。
【０１１７】
[0121]以下の式は、ターゲット色空間中のコードワードに適用され得る量子化の一例を与える。この例では、浮動小数点精度を有する、Ｙ、Ｃｂ、およびＣｒについての入力値は、Ｙ値について固定ビット深度値ＢｉｔＤｅｐｔｈＹにコンバートされ、クロマ値（ＣｂおよびＣｒ）について固定ビット深度値ＢｉｔＤｅｐｔｈＣにコンバートされ得る。
【０１１８】
【数９】
2021510964.tif 000012
【０１１９】
[0122]上記において、
【０１２０】
【数１０】
2021510964.tif 000013
【０１２１】
Ｆｌｏｏｒ（ｘ）  ｘよりも小さいかまたはそれに等しい最も大きい整数
【０１２２】
【数１１】
2021510964.tif 000014
【０１２３】
[0123]いくつかの場合には、大きい色ボリュームをもつビデオデータをよりコンパクトな色ボリュームをもつビデオデータにコンバートすることは、ダイナミックレンジ変化を生じることがある。これらのダイナミックレンジ変化は、例の中でも、色不一致またはカラーブリーディングなど、ひずみとして、再構築されたビデオ中で可視であり得る。ダイナミックレンジ調整（ＤＲＡ）は、ダイナミックレンジ変化を補償し、起こり得るひずみを減らすための技法である。ＤＲＡは、すべての目的のために、その全体が参照により本明細書に組み込まれる、「Dynamic Range Adjustment SEI to enable High Dynamic Range video coding with Backward-Compatible Capability」、Ｄ．Ｒｕｓａｎｏｖｓｋｙｙ、Ａ．Ｋ．Ｒａｍａｓｕｂｒａｍｏｎｉａｎ、Ｄ．Ｂｕｇｄａｙｃｉ、Ｓ．Ｌｅｅ、Ｊ．Ｓｏｌｅ、およびＭ．Ｋａｒｃｚｅｗｉｃｚ、ＶＣＥＧドキュメントＣＯＭ１６−Ｃ  １０２７−Ｅ、２０１５年９月、において提案された。
【０１２４】
[0124]様々な例では、ＤＲＡは、本明細書ではレンジとも呼ばれる重複しないダイナミックレンジパーティションのグループのために定義される区分線形関数ｆ（ｘ）を使用して実装され得、ここで、各レンジパーティションまたはレンジは、入力値ｘ（たとえば、入力色値）のセットを含む。レンジは、本明細書では｛Ｒｉ｝によって表現され、ここで、ｉは各それぞれのレンジのインデックスであり、両端値を含むｉ＝０．．．Ｎ−１であり、Ｎは、ＤＲＡ関数を定義するために使用されるレンジの総数である。一例として、レンジは、各それぞれのレンジＲｉに属する最小および最大ｘ値によって定義されると仮定され得、たとえば、入力値［ｘi，  ｘi+1−１］について、ｘiおよびｘi+1は、それぞれ、レンジＲｉおよびＲ（ｉ＋１）の最小値を示すことができる。ビデオのＹ色成分（たとえば、ルーマ値）に適用されると、ＤＲＡ関数Ｓyは、スケール値Ｓy,iおよびオフセット値Ｏy,iを使用して定義され得、これらは、あらゆる入力値に（すなわち、あらゆるｘ∈［ｘi，ｘi+1−１］について）適用され得る。したがって、ＤＲＡ関数は、各入力値についてのスケール値およびオフセット値のセット、またはＳy＝｛Ｓy,i，Ｏy,i｝として定義され得る。
【０１２５】
[0125]ＤＲＡ関数のためにこの定義を使用すると、任意のレンジＲｉについておよびあらゆるｘ∈［ｘi，ｘi+1−１］について、出力値Ｘは以下のように計算され得る。
【０１２６】
【数１２】
2021510964.tif 000015
【０１２７】
[0126]ルーマ成分Ｙについての逆ＤＲＡマッピングはデコーダにおいて行われ得る。この場合、ＤＲＡ関数Ｓyは、スケール値Ｓy,iの逆およびオフセット値Ｏy,iによって定義され得る。逆のスケール値およびオフセット値は、あらゆるＸ∈［Ｘi，Ｘi+1−１］に適用され得る。
【０１２８】
[0127]逆ＤＲＡ関数のこの定義を使用すると、任意のレンジＲｉについて、およびあらゆる出力値Ｘ∈［Ｘi，Ｘi+1−１］について、再構築されたｘ値は以下のように計算され得る。
【０１２９】
【数１３】
2021510964.tif 000016
【０１３０】
[0128]また、（たとえば、符号化目的のための）ＤＲＡマッピングプロセスが、クロマ成分、ＣｂおよびＣｒ、について定義され得る。以下の例では、ｕは、レンジＲｉに属するＣｂ色成分のサンプルを示す。この例では、ｕ∈［ｕi，ｕi+1−１］である。また、クロマサンプルのためのＤＲＡ関数Ｓuが、スケール値Ｓu,iおよびオフセット値Ｏu,iを使用して定義され得、したがって、Ｓu＝｛Ｓu,i、Ｏu,i｝である。したがって、出力値Ｕが以下のように計算され得る。
【０１３１】
【数１４】
2021510964.tif 000017
【０１３２】
[0129]式（１０）では、オフセットは２(bitdepth-1)に等しく、バイポーラＣｂ、Ｃｒ信号オフセットを示す。
【０１３３】
[0130]また、クロマ成分ＣｂおよびＣｒについての逆ＤＲＡマッピングが、定義され得、デコーダにおいて実施され得る。以下の例では、Ｕは、レンジＲｉからの再マッピングされたＣｂ色成分のサンプルを示し、ここで、Ｕ∈［Ｕi，Ｕi+1−１］である。この例では、Ｃｂ成分は、以下の式を使用して再構築され得る。
【０１３４】
【数１５】
2021510964.tif 000018
【０１３５】
[0131]式（１１）では、オフセットは２(bitdepth-1)に等しく、バイポーラＣｂ、Ｃｒ信号オフセットを示す。
【０１３６】
[0132]ビデオの色空間を修正するときに生じることがあるひずみを低減するための追加の技法は、ルーマ方式クロマスケーリング（ＬＣＳ：Luma-driven Chroma Scaling）である。ルーマ方式クロマスケーリングは、すべての目的のために、その全体が参照により本明細書に組み込まれる、JCTVC-W0101 HDR CE2: Report on CE2.a-1 LCS、Ａ．Ｋ．Ｒａｍａｓｕｂｒａｍｏｎｉａｎ、Ｊ．Ｓｏｌｅ、Ｄ．Ｒｕｓａｎｏｖｓｋｙｙ、Ｄ．Ｂｕｇｄａｙｃｉ、およびＭ．Ｋａｒｃｚｅｗｉｃｚ、において提案された。
【０１３７】
[0133]ＬＣＳは、それによって、クロマ情報（たとえば、ＣｂおよびＣｒサンプル）が、処理されたクロマサンプルに関連する明るさ情報を利用することによって調整される、技法である。上記で説明されたＤＲＡ手法と同様に、ＬＣＳは、Ｃｂ成分のためのスケーリングファクタＳuとＣｒ成分のためのスケーリングファクタＳv,iとを適用することを含む。ただし、ＬＣＳでは、式（３）または（４）の場合のように、クロマ値ｕまたはｖによってアクセス可能なレンジのセット｛Ｒi｝のための区分線形関数として（たとえば、Ｓu＝｛Ｓu,i，Ｏu,i｝として）ＤＲＡ関数を定義する代わりに、ＬＣＳ手法は、クロマサンプルのためのスケールファクタを導出するためにルーマ値Ｙを使用する。たとえば、ビデオデータを符号化する目的でのクロマサンプルｕ（またはｖ）のマッピングは、以下の式を使用して実施され得る。
【０１３８】
【数１６】
2021510964.tif 000019
【０１３９】
[0134]復号目的のための逆ＬＣＳプロセスは以下のように定義され得る。
【０１４０】
【数１７】
2021510964.tif 000020
【０１４１】
[0135]さらなる例として、（ｘ，ｙ）に位置する所与のピクセルについて、クロマサンプルＣｂ（ｘ，ｙ）および／またはＣｒ（ｘ，ｙ）は、ルーマ値Ｙ’（ｘ，ｙ）を使用してアクセスされた対応するＬＣＳ関数ＳCb（またはＳCr）から導出されたファクタでスケーリングされる。
【０１４２】
[0136]クロマサンプルのための（たとえば、符号化するために処理するときの）前方マッピングプロセスでは、式（１４）において以下で示されるように、Ｃｂ（またはＣｒ）値および関連するルーマ値Ｙ’は、クロマスケール関数ＳCb（またはＳCr）への入力としてとられ、ＣｂまたはＣｒは、Ｃｂ’およびＣｒ’にコンバートされる。
【０１４３】
【数１８】
2021510964.tif 000021
【０１４４】
[0137]復号時に、逆ＬＣＳプロセスが適用され、再構築されたＣｂ’またはＣｒ’は、式（１５）において以下で示されるようにＣｂまたはＣｒにコンバートされる。
【０１４５】
【数１９】
2021510964.tif 000022
【０１４６】
[0138]図８は、ＬＣＳ関数の一例を示すグラフを含む。この例では、より小さいルーマ値を有するピクセルのクロマ成分が、より小さいスケーリングファクタを乗算される。
【０１４７】
[0139]様々な例では、ＤＲＡサンプルスケーリングは、符号化または復号プロセスにおいて使用される量子化パラメータに関係し得る。以下でさらに説明されるように、（ＨＥＶＣなどの）ブロック変換ベースのビデオコーディングプロセスは、圧縮比を調整するためにスカラー量子化器を使用する。量子化は変換係数に適用され得る。スカラー量子化器は、量子化パラメータ（ＱＰ）によって制御され、ＱＰとスカラー量子化器との間の関係が以下のように定義され得る。
【０１４８】
【数２０】
2021510964.tif 000023
【０１４９】
[0140]スカラー量子化器とＱＰ値との間の関係は、以下のように、逆関数によって定義され得る。
【０１５０】
【数２１】
2021510964.tif 000024
【０１５１】
[0141]上記で説明されたＤＲＡ技法はピクセルデータを効果的にスケーリングする。変換プロパティに鑑みて、ＤＲＡスケーリングは、大きいクラスの信号について、変換ドメインにおいて適用されたスカラーにマッピングされ得る。たとえば、以下の関係が定義され得る。
【０１５２】
【数２２】
2021510964.tif 000025
【０１５３】
[0142]式（１８）では、ｄＱＰは、ＤＲＡを入力データに適用することによってもたらされた近似ＱＰオフセットである。
【０１５４】
[0143]様々な例では、ダイナミックレンジ調整のために使用され得る区分線形関数を表すパラメータは、ビットストリームをシグナリング（たとえば、ビットストリームに符号化）され得る。符号化されたパラメータは、次いで、区分線形関数を再構築するためにそのパラメータを使用することができるデコーダにおいて復号され得る。区分線形関数を表すために、関数のための（いくつかの例では、ルーマ値であり得る）入力値のレンジは、各々一定の傾きを有するセグメントまたはレンジに分割され得る。区分線形関数のためのパラメータは、次いで、レンジを表す値（たとえば、レンジの長さ、レンジの量など）を含み、（たとえば、各レンジの傾きを表す）値をスケーリングすることができる。ＤＲＡパラメータをシグナリングする例は、すべての目的のためにその全体が参照により本明細書に組み込まれる、「HDR CE6: Test 4.1 Reshaper from m37064」、Ｄ．Ｂ．Ｓａｎｓｌｉ、Ａ．Ｋ．Ｒａｍａｓｕｂｒａｍｏｎｉａｎ、Ｄ．Ｒｕｓａｎｏｖｓｋｙｙ、Ｊ．Ｓｏｌｅ、およびＭ．Ｋａｒｃｚｅｗｉｃｚ、ＪＣＴＶＣ−Ｗ０１０３、サンディエゴ、カリフォルニア州、２０１６年２月、に記載されている。ＤＲＡパラメータは、たとえば、ＳＥＩメッセージ、スライスヘッダ、および／またはパラメータセット（たとえば、ＳＰＳ、ＰＰＳ、または別のタイプのパラメータセット）中に含まれ得る。
【０１５５】
[0144]以下は、区分線形関数を表すパラメータを符号化するために使用され得るデータ構造の部分的な例を示す。様々な例では、データ構造は、明快のためにここでは示されない他の成分を含むことができる。データ構造中の値が、たとえば、ビデオフレームのグループに適用され、１つのビデオフレームに適用され、および／またはビデオフレームの一部分に適用され得る。
【０１５６】
【数２３】
2021510964.tif 000026
【０１５７】
[0145]この例示的なデータ構造では、ｄｒａ＿ｅｎａｂｌｅｄ＿ｆｌａｇ成分は、ダイナミックレンジ調整が可能にされることを示すために使用され得る。ｎｕｍ＿ｌｕｍａ＿ｄｒａ＿ｉｎ＿ｒａｎｇｅｓ成分は、（この例では、ルーマ値である）入力値がそれに分割されたレンジの数を示すことができる。ｄｅｌｔａ＿ｌｕｍａ＿ｃｈａｎｇｅ＿ｐｏｉｎｔｓ［ｉ］成分は各レンジの長さを示すことができ、ｄｅｌｔａ＿ｓｃａｌｅ＿ｖａｌ［ｉ］は、各レンジについての傾きを示すスケール値を示すことができる。この例では、レンジの長さは、入力値に対して示され、すなわち、長さは、あるレンジが終了し、別のレンジが始まる、「変化ポイント」または入力値によって示される。
【０１５８】
[0146]一部のコンテンツについて、レンジは、長さが等しくなり得る。これらの場合、区分線形関数を符号化するために必要とされるビット数が低減され得る。たとえば、レンジの長さは、ビットストリーム中で示される必要がない。代わりに、本明細書では「ｅｑｕａｌ＿ｒａｎｇｅｓ＿ｆｌａｇ」と呼ばれるフラグが、上記のデータ構造中に含まれ得、これは、レンジの長さが、ビットストリーム中で示された指定された値（たとえば、例の中でも、色成分のビット深度、またはビットストリーム中で示された値）およびレンジの数から導出され得ることを示す。この例では、レンジのスケール値および数のみがシグナリングされる必要があるので、コーディング効率が改善される。
【０１５９】
[0147]しかしながら、一部のコンテンツについて、レンジのスケール値および数のみをシグナリングすることさえ、ビットストリームに不要なビットを追加し得る。たとえば、いくつかの場合には、入力値（たとえば、ルーマサンプル）は、ビデオが、限定されたルーマ値を有するように設計されたので、またはビデオのヒストグラムの分析がそのように示しているのでのいずれかで、特定のレンジに制限されることが知られていることがある。この例では、占有されないレンジのためのスケール値をシグナリングすることは、それらのレンジが、制限されたレンジ外にあるので、不要なビットが出力ビットストリームに追加されることを生じることがある。
【０１６０】
[0148]他の場合には、入力値のレンジは、レンジの一部が、等しい長さのセグメントまたはパーティションに分割され得るが、そのレンジの１つの部分または２つの部分は、これらの部分が、他のレンジにおいて同じ長さを有することができないような傾き（slope）を有する。図９は、ダイナミックレンジ調整のための区分線形関数に従って、ｘの入力値のレンジについてｙ値をプロットするグラフを含む。ｘ値は、たとえば、ビデオフレーム中のピクセルからのルーマ値であり得る。この例では、ｘ値のレンジは、各々ほぼ一定の傾きを有する５つのレンジ、Ｒ０、Ｒ１、Ｒ２、Ｒ３、およびＲ４を含む。この例に示されているように、レンジのうちの４つ、Ｒ１、Ｒ２、Ｒ３、およびＲ４は、同じ長さのものであるが、１つのレンジ、Ｒ０は、異なる長さを有する。
【０１６１】
[0149]上記で示された例示的なデータ構造は、図９に示されている区分線形関数を符号化するために使用され得るが、このデータ構造を使用することは、何らかの冗長データが符号化されることを生じることがある。たとえば、そのデータ構造は、レンジＲ１、Ｒ２、Ｒ３およびＲ４の各々が個々にビットストリームに符号化されることを生じることがあり、各々が、同じ長さを有するので、１つの長さ値が３回ビットストリームに符号化される。この例では、共通の長さ値が１回のみビットストリームに符号化される場合、さらなる効率が達成され得る。
【０１６２】
[0150]別の例として、上記で示されたデータ構造は、ｅｑｕａｌ＿ｒａｎｇｅｓ＿ｆｌａｇとともに使用され得る。この例では、等しい部分へのｘ値のレンジは、等しい部分に分割され得、各々同じ長さを有するレンジは、ｅｑｕａｌ＿ｒａｎｇｅｓ＿ｆｌａｇを使用して示され得る。図９の例では、これは、Ｒ０が３つの部分に分割されることを生じるであろう。ただし、この場合、Ｒ０を包含するレンジ（ranges）が、各々同じスケール値を有するであろうという点で、冗長データも符号化される。共通のスケール値が１回のみ符号化され得る場合、さらなる効率が達成され得る。
【０１６３】
[0151]様々な例では、上記で説明されたようなデータ構造は、区分線形関数のための入力値のレンジが、等しい長さのレンジに分割され得るか、部分的に、等しい長さのレンジまたはパーティションに分割され得るか、あるいは等しい長さのレンジに分割され得ないとき、その関数が効率的に符号化され得るように、修正され得る。上記の例示的なデータ構造の場合のように、レンジの長さあるいはレンジの開始または終了位置などの情報は、データ構造中で示される必要がない。代わりに、これらおよび他のパラメータが、以下でさらに説明されるように、確定的導出プロセスを使用してデコーダにおいて導出され得る。
【０１６４】
[0152]第１の例では、入力値がそれに分割されたレンジが、同じ長さを有するレンジのセットを含むことをデコーダに示すことができるインジケータを含むことができるデータ構造。レンジのセットは、本明細書では、等長レンジ（equal length range）のセットと呼ばれ得る。インジケータは、以下の例では、「ｅｑｕａｌ＿ｒａｎｇｅｓ＿ｆｌａｇ」と呼ばれ、１ビット値であり得る。この例では、ｅｑｕａｌ＿ｒａｎｇｅｓ＿ｆｌａｇが０に等しいとき、入力値のレンジは、同じ長さを有するレンジに分割されなかったか、または同じ長さを有する数個のレンジと、異なる長さを有する数個とに分割され得、同じ長さを有するレンジは、不連続であり、異なる長さを有するレンジの数に等しいかまたはそれよりも少数であり、および／あるいは、異なる長さを有するレンジ間に位置する。この例では、入力値の各レンジの各長さはデータ構造中で示される。以下の例では、レンジの長さを示すために使用される成分は「ｄｅｌｔａ＿ｌｕｍａ＿ｃｈａｎｇｅ＿ｐｏｉｎｔｓ」と呼ばれ、これは、入力値の各レンジのためのインデックスを有するアレイであり得る。
【０１６５】
[0153]先の例では、ｅｑｕａｌ＿ｒａｎｇｅｓ＿ｆｌａｇが１に設定されたとき、入力値のレンジのすべてが、等しい長さのセグメントに分割されたか、または、入力値のレンジが、同じ長さを有する１つのセットと、異なる長さを有する１つとに分割されたかのいずれかである。これらの場合のいずれにおいても、データ構造の１つの成分が、等長セグメントの長さを示すために使用され得る。以下の例では、この成分は、「ｄｅｌｔａ＿ｌｕｍａ＿ｖａｌ」と呼ばれる。
【０１６６】
[0154]一例では、（本明細書では、不等長レンジ（unequal length range）と呼ばれることがある）異なる長さを有する１つのレンジが、入力値のレンジの始まりにある。すなわち、図９に示されているように、不等長レンジは、入力値のレンジの始まりからの入力値を含み、残りの入力値は、等しい長さに分割され得る。この例では、不等長レンジの長さは、ｄｅｌｔａ＿ｌｕｍａ＿ｃｈａｎｇｅ＿ｐｏｉｎｔｓ［０］（たとえば、ｄｅｌｔａ＿ｌｕｍａ＿ｃｈａｎｇｅ＿ｐｏｉｎｔｓ成分のインデックス０）を使用して示され得る。すべてのレンジが同じ長さを有する（たとえば、不等長レンジがない）とき、ｄｅｌｔａ＿ｌｕｍａ＿ｃｈａｎｇｅ＿ｐｏｉｎｔｓ［０］は、この長さを示すことができ、したがって、１つの不等長レンジがあることと、不等長レンジがないこととを区別するための、特殊な処理または追加の成分が必要とされない。いくつかの他の例では、すべてのレンジが同じ長さを有するとき、ｄｅｌｔａ＿ｌｕｍａ＿ｃｈａｎｇｅ＿ｐｏｉｎｔｓ［０］はシグナリングされる必要がなく、ｄｅｌｔａ＿ｌｕｍａ＿ｖａｌが、等しいレンジの長さを導出するために使用され得る。
【０１６７】
[0155]第１の例を続けると、データ構造を受信したデコーダは、ｄｅｌｔａ＿ｌｕｍａ＿ｖａｌを使用してレンジの長さ（たとえば、各レンジのためのｄｅｌｔａ＿ｌｕｍａ＿ｃｈａｎｇｅ＿ｐｏｉｎｔｓ値）を導出することができる。たとえば、ｄｅｌｔａ＿ｌｕｍａ＿ｖａｌは、等長レンジの各々の終了値と開始値との間の差分を示すことができる。
【０１６８】
[0156]別の例として、ｄｅｌｔａ＿ｌｕｍａ＿ｖａｌは、エンコーダとデコーダの両方において同じである固定値に対して等長レンジの長さを指定することができる。たとえば、固定値は、不等長レンジを含むすべてのレンジが同じ長さを有するとき、入力値のレンジが有することができる最大値であり得る。この例では、ｄｅｌｔａ＿ｌｕｍａ＿ｖａｌは、固定値（たとえば、入力値の最大可能値）と、等長レンジの長さとの間の差分を示すために使用され得る。ｄｅｌｔａ＿ｌｕｍａ＿ｖａｌはこの例では符号付き値であり得る。一例として、ビデオのコンテンツが１０００の最大ルーマ値を有し、１から３００までの値が１つのレンジを形成し、３０１から１０００までの値が９つの等長レンジを形成すると仮定すると、等長レンジは約７８の長さを有する。この例では、ｄｅｌｔａ＿ｌｕｍａ＿ｖａｌは２２に設定され得、したがって、デコーダにおいて、等長レンジの長さは以下のように決定され得る、（１０００／１０）−２２＝７８。この例では、ｄｅｌｔａ＿ｌｕｍａ＿ｖａｌを符号化するために必要とされるビット数は、ｄｅｌｔａ＿ｌｕｍ＿ｖａｌが、等長レンジの絶対長さを示すときよりも少なくなり得る。
【０１６９】
[0157]別の例として、ｄｅｌｔａ＿ｌｕｍａ＿ｖａｌは、レンジのすべてが等長レンジ中に含まれていた場合の等長レンジの長さと、等長レンジの実際の長さとの間の差分を示すために使用され得る。この例では、ｄｅｌｔａ＿ｌｕｍａ＿ｖａｌは符号付き値であり得る。一例として、１０００の最大ルーマ値と、１から３００までの値が不等長レンジを形成することと、残りの値が、各々７８の長さを有する９つの等しいレンジを形成することとを仮定すると、ｄｅｌｔａ＿ｌｕｍａ＿ｖａｌは−８に設定され得、デコーダは、以下のように等長レンジの長さを導出することができる、（（１０００−３００）／１０）−（−８）＝７８。前の例の場合のように、この例では、ｄｅｌｔａ＿ｌｕｍａ＿ｖａｌを符号化するために必要とされるビット数は、ｄｅｌｔａ＿ｌｕｍａ＿ｖａｌが等長レンジの絶対長さを示すときよりも少なくなり得る。
【０１７０】
[0158]第２の例では、区分線形関数のための入力値のレンジが、等しい長さを有するセットと、異なる長さを有する第１のレンジと、第１のレンジと同じ長さを有し得るかまたはまったく異なる長さを有し得る第２のレンジとに分割され得る状況があり得る。これは、たとえば、ｙ値の傾きが当初はほとんど変化せず、次いで、より大きく変化する、図９のグラフと同様のグラフにおいて起こり得る。この第２の例では、データ構造は、レンジが、１つの不等長レンジを含むのか、２つの不等長レンジを含むのかを示すことができるインジケータを含むことができる。以下の例では、このインジケータは、「ｌｕｍａ＿ｒａｎｇｅ＿ｓｃａｌｅ＿ｍｏｄｅ」と呼ばれ、これは２ビット値であり得る。この例では、レンジの一部または全部の長さが等しいかどうかを示すために、ｅｑｕａｌ＿ｒａｎｇｅｓ＿ｆｌａｇも使用され得る。
【０１７１】
[0159]この第２の例では、前の例の場合のように、ｄｅｌｔａ＿ｌｕｍａ＿ｃｈａｎｇｅ＿ｐｏｉｎｔｓは、ｅｑｕａｌ＿ｒａｎｇｅｓ＿ｆｌａｇが、（たとえば、等長レンジがないので、または等長レンジがグループとして表されることを可能にする様式で等長レンジが配置されないのでのいずれかで）すべての長さがシグナリングされることを示すとき、レンジのすべての長さを示すことができ、ｄｅｌｔａ＿ｌｕｍａ＿ｖａｌは、ｅｑｕａｌ＿ｒａｎｇｅｓ＿ｆｌａｇが、ｅｑｕａｌ＿ｌｅｎｇｔｈ＿ｒａｎｇｅｓがあることを示すとき、等長レンジの長さを示すことができる。ｄｅｌｔａ＿ｌｕｍａ＿ｃｈａｎｇｅ＿ｐｏｉｎｔｓ［０］は、少なくとも１つの不等長レンジがあるとき、第１の不等長レンジの長さを示すことができ、すべてのレンジが同じ長さのものであるとき、等長レンジの長さに設定され得る。
【０１７２】
[0160]ｌｕｍａ＿ｒａｎｇｅ＿ｓｃａｌｅ＿ｍｏｄｅが、レンジが、等しくない長さの２つを含むことを示すとき、ｄｅｌｔａ＿ｌｕｍａ＿ｃｈａｎｇｅ＿ｐｏｉｎｔｓ［１］は、第２の不等長レンジの長さを示すために使用され得る。いくつかの例では、第２の不等長レンジは、第１の不等長レンジと同じスケール値を有し得、その場合、１つのスケール値のみが、両方の不等長レンジのためにシグナリングされる必要がある。
【０１７３】
[0161]いくつかの場合には、区分線形関数は、不等長レンジの長さおよびオフセットが符号化される必要がないようなものであり得、等長レンジのためのパラメータに基づいてデコーダにおいて導出され得る。図１０は、ダイナミックレンジ調整のための区分線形関数に従って、ｘ値上のレンジについてｙ値をプロットするグラフを含む。この例では、区分線形関数は、等長レンジのセット（Ｒ０、Ｒ１、Ｒ２、およびＲ３）と、異なる長さを有する１つのレンジ（Ｒ４）とに分割され得る。この例では、データ構造は、入力値のレンジが、全部または一部で、同じ長さを有するレンジに分割されたことを示すためのｅｑｕａｌ＿ｒａｎｇｅｓ＿ｆｌａｇを含むことができる。ｅｑｕａｌ＿ｒａｎｇｅｓ＿ｆｌａｇが、（たとえば、等長レンジがないので、または等長レンジがグループとして表されることを可能にする様式で等長レンジが配置されないのでのいずれかで）すべてのレンジ長が与えられることを示すとき、以下で「ｒａｎｇｅ＿ｌｅｎｇｔｈ」と呼ばれる、データ構造の成分が、レンジの長さを示すために使用され得る。ｒａｎｇｅ＿ｌｅｎｇｔｈ成分は、各レンジのためのインデックスを含むアレイであり得る。
【０１７４】
[0162]ｅｑｕａｌ＿ｒａｎｇｅｓ＿ｆｌａｇが、レンジが、同じ長さを有するレンジのセットを含むことを示すとき、以下で「ｅｑｕａｌ＿ｒａｎｇｅ＿ｌｅｎｇｔｈ」と呼ばれる値が、等長レンジの全長を示すために使用され得、これは、等長レンジの数に等長レンジの各々の長さを乗算することによって算出され得る。図１０の例に示されているように、ｅｑｕａｌ＿ｒａｎｇｅ＿ｌｅｎｇｔｈは、不等長レンジがそこにおいて見つけられ得るオフセットをも示すことができる。この例では、不等長レンジは、入力値の最大可能値として終了する。
【０１７５】
[0163]一例として、１０００の最大ルーマ値と、不等長レンジが値７０１〜１０００を含むことと、９つの等長レンジがあることとを仮定すると、ｅｑｕａｌ＿ｒａｎｇｅ＿ｌｅｎｇｔｈは７８の値を有することができる。次いで、デコーダが、以下のように、等長レンジの組み合わせられた長さを導出することができる、７８×９＝７０２または約７００。デコーダは、以下のように不等長レンジの長さをさらに導出することができる、１０００−７００＝３００。
【０１７６】
[0164]次に、上記で説明された方法のいくつかの例示的な実装形態が説明される。以下の例は、上記で説明された例のうちの１つまたは複数を実装する。例示的な実装形態は、シンタックス構造およびセマンティクスを使用して示される。シンタックス構造およびセマンティクスに対する変更は以下のように示される。［［二重括弧内のテキスト］］は削除を示し、下線付きのテキストは追加を示す。
【０１７７】
[0165]第１の例
[0166]シンタックス
【０１７８】
【表２】
2021510964.tif 000027
【０１７９】
[0167]セマンティクス
[0168]０に等しいｅｑｕａｌ＿ｒａｎｇｅｓ＿ｆｌａｇは、シンタックス要素ｄｅｌｔａ＿ｌｕｍａ＿ｃｈａｎｇｅ＿ｐｏｉｎｔｓ［ｉ］が、両端値を含む１〜ｎｕｍ＿ｌｕｍａ＿ｄｒａ＿ｉｎ＿ｒａｎｇｅｓのレンジ内のｉのためにシグナリングされることを指定する。１に等しいｅｑｕａｌ＿ｒａｎｇｅｓ＿ｆｌａｇは、ｄｅｌｔａ＿ｌｕｍａ＿ｃｈａｎｇｅ＿ｐｏｉｎｔｓ［ｉ］が、両端値を含む１〜ｎｕｍ＿ｌｕｍａ＿ｄｒａ＿ｉｎ＿ｒａｎｇｅｓのレンジ内のｉのためにシグナリングされることを指定し、シグナリングされず、ｄｅｌｔａ＿ｌｕｍａ＿ｖａｌを使用して導出される。
【０１８０】
[0169]ｄｅｌｔａ＿ｌｕｍａ＿ｖａｌは、ｅｑｕａｌ＿ｒａｎｇｅｓ＿ｆｌａｇが０に等しく設定されるとき、入力レンジの値を導出するために使用される。存在しないとき、ｄｅｌｔａ＿ｌｕｍａ＿ｖａｌの値は０に等しいと推論される。ｄｅｌｔａ＿ｌｕｍａ＿ｖａｌをシグナリングするために使用されるビット数はｉｎ＿ｂｉｔ＿ｄｅｐｔｈに等しい。
【０１８１】
[0170]ｉｎ＿ｂｉｔ＿ｄｅｐｔｈは、成分サンプルのビット深度を指すが、ｄｅｌｔａ＿ｌｕｍａ＿ｖａｌをシグナリングするために使用されるビット数は、明示的にシグナリングされるか、またはビットストリーム中の他のシンタックス要素から導出され得ることに留意されたい。
【０１８２】
[0171]ｅｑｕａｌ＿ｒａｎｇｅｓ＿ｆｌａｇが１に等しいとき、ｄｅｌｔａ＿ｌｕｍａ＿ｃｈａｎｇｅ＿ｐｏｉｎｔｓ［ｉ］の値は、両端値を含む１〜ｎｕｍ＿ｌｕｍａ＿ｄｒａ＿ｉｎ＿ｒａｎｇｅｓのレンジ内のｉのために以下のように導出される。
【０１８３】
【数２４】
2021510964.tif 000028
【０１８４】
[0172]代替的に、ｄｅｌｔａ＿ｌｕｍａ＿ｖａｌのシグナリングされた値が、レンジ長の固定値と実際のレンジ長との間の差分を指定するために使用される。そのような場合、ｄｅｌｔａ＿ｌｕｍａ＿ｖａｌは、たとえばｓ（ｖ）シンタックス要素としてコーディングされた、符号付き数としてシグナリングされ得る。ｄｅｌｔａ＿ｌｕｍａ＿ｃｈａｎｇｅ＿ｐｏｉｎｔｓ［ｉ］の導出の一例は以下の通りである。
【０１８５】
【数２５】
2021510964.tif 000029
【０１８６】
[0173]入力レンジの導出の一例が以下で与えられるが、本開示で指定されない、導出の他の方法があり得ることを理解されたい。
【０１８７】
【数２６】
2021510964.tif 000030
【０１８８】
[0174]代替的に、ｄｅｌｔａＶａｌの値は以下のように導出される。
【０１８９】
【数２７】
2021510964.tif 000031
【０１９０】
[0175]そのように導出されたｉｎＲａｎｇｅｓ［］と、ｄｒａ＿ｓｃａｌｅ＿ｖａｌ［］とが、ＤＲＡマッピングを実施するために使用されるルックアップ表を導出するために使用され得る。
【０１９１】
[0176]ｉｎＲａｎｇｅｓ［ｎｕｍ＿ｌｕｍａ＿ｄｒａ＿ｉｎ＿ｒａｎｇｅｓ］が（１＜＜ｉｎ＿ｂｉｔ＿ｄｅｐｔｈ）よりも小さい場合、両端値を含むｉｎＲａｎｇｅｓ［ｎｕｍ＿ｌｕｍａ＿ｄｒａ＿ｉｎ＿ｒａｎｇｅｓ］〜（１＜＜ｉｎ＿ｂｉｔ＿ｄｅｐｔｈ）のレンジ内のサンプル値に対応するスケール値は、０に等しいか、またはｉｎＲａｎｇｅｓ［ｎｕｍ＿ｌｕｍａ＿ｄｒａ＿ｉｎ＿ｒａｎｇｅｓ−１］に等しくなると導出され得る。
【０１９２】
[0177]シンタックス要素ｃｏｎｔ＿ｃｂ＿ｑｐ＿ｏｆｆｓｅｔ、ｃｏｎｔ＿ｃｒ＿ｑｐ＿ｏｆｆｓｅｔ、およびｂａｓｅ＿ｑｐは、クロマサンプルをマッピングするためのＤＲＡパラメータを導出するために使用される。
【０１９３】
[0178]ｃｏｎｔ＿ｃｂ＿ｑｐ＿ｏｆｆｓｅｔは、Ｃｂコンテナサンプルのためのスケール値を導出するために使用される。ｃｏｎｔ＿ｃｂ＿ｑｐ＿ｏｆｆｓｅｔの値は、両端値を含む−２４〜２４のレンジ内にある。
【０１９４】
[0179]ｃｏｎｔ＿ｃｒ＿ｑｐ＿ｏｆｆｓｅｔは、Ｃｒコンテナサンプルのためのスケール値を導出するために使用される。ｃｏｎｔ＿ｃｂ＿ｑｐ＿ｏｆｆｓｅｔの値は、両端値を含む−２４〜２４のレンジ内にある。
【０１９５】
[0180]ｃｏｎｔ＿ｃｂ＿ｑｐ＿ｏｆｆｓｅｔおよびｃｏｎｔ＿ｃｒ＿ｑｐ＿ｏｆｆｓｅｔからＣｂおよびＣｒのために導出されたスケール値の一例は以下の通りである。
【０１９６】
【数２８】
2021510964.tif 000032
【０１９７】
[0181]ｂａｓｅ＿ｑｐは、ＨＥＶＣ規格の表８〜表１０において指定されたクロマＱＰ表に基づいてクロマのための追加スケール値を導出するために使用される。ｂａｓｅ＿ｑｐの値は、両端値を含む０〜５１のレンジ内にある。
【０１９８】
[0182]いくつかの実施形態では、ｃｏｎｔ＿ｃｂ＿ｑｐ＿ｏｆｆｓｅｔおよびｃｏｎｔ＿ｃｒ＿ｑｐ＿ｏｆｆｓｅｔは、信号の任意の２つの成分のスケール値を導出するために使用され得る。ｃｏｎｔ＿ｃｂ＿ｑｐ＿ｏｆｆｓｅｔおよびｃｏｎｔ＿ｃｒ＿ｑｐ＿ｏｆｆｓｅｔからのスケール値の計算は、固定小数点演算で実装されるか、またはルックアップ表を使用して実施され得る。
【０１９９】
[0183]いくつかの実施形態では、ｂａｓｅ＿ｑｐの値は、シグナリングするために必要とされるビット数を低減するために、固定数に対する差分としてシグナリングされる。他の実施態様では、スケール値は、表８〜表１０と同様に定義される他の表を使用してｂａｓｅ＿ｑｐから導出され得、ｂａｓｅ＿ｑｐは、表へのインデックスをシグナリングすることによって取って代わられ得る。
【０２００】
[0184]第２の例
[0185]この例は、ｄｒａ＿ｓｃａｌｅ＿ｖａｌの明示的シグナリングを有しないレンジのためにスケール値がどのように導出されるかを指定するシンタックス要素のシグナリングを除いて、例１と同様である。
【０２０１】
[0186]シンタックス
【０２０２】
【表３】
2021510964.tif 000033
【０２０３】
[0187]セマンティクス
[0188]ｌｕｍａ＿ｒａｎｇｅ＿ｓｃａｌｅ＿ｍｏｄｅが、スケール値ｄｒａ＿ｓｃａｌｅ＿ｖａｌ［１］の導出を指定するために使用される。ｌｕｍａ＿ｒａｎｇｅ＿ｓｃａｌｅ＿ｍｏｄｅが１に等しいとき、シンタックス要素ｄｒａ＿ｓｃａｌｅ＿ｖａｌ［１］は（１＜＜ｎｕｍ＿ｓｃａｌｅ＿ｆｒａｃ＿ｂｉｔｓ）に等しく設定される。ｌｕｍａ＿ｒａｎｇｅ＿ｓｃａｌｅ＿ｍｏｄｅが２に等しいとき、シンタックス要素ｄｒａ＿ｓｃａｌｅ＿ｖａｌ［１］は０に等しく設定される。ｌｕｍａ＿ｒａｎｇｅ＿ｓｃａｌｅ＿ｍｏｄｅが３に等しいとき、シンタックス要素ｄｒａ＿ｓｃａｌｅ＿ｖａｌ［１］はｄｒａ＿ｓｃａｌｅ＿ｖａｌ［２］に等しく設定される。
【０２０４】
[0189]ｄｅｌｔａ＿ｌｕｍａ＿ｃｈａｎｇｅ＿ｐｏｉｎｔｓ［ｉ］の値が、両端値を含む２〜ｎｕｍ＿ｌｕｍａ＿ｄｒａ＿ｉｎ＿ｒａｎｇｅｓのレンジ内のｉのために以下のように、または値ｄｅｌｔａ＿ｌｕｍａ＿ｖａｌを使用して導出され得る。
【０２０５】
【数２９】
2021510964.tif 000034
【０２０６】
[0190]いくつかの代替形態では、ｌｕｍａ＿ｒａｎｇｅ＿ｓｃａｌｅ＿ｍｏｄｅの値は、ｅｑｕａｌ＿ｒａｎｇｅｓ＿ｆｌａｇとｄｅｌｔａ＿ｌｕｍａ＿ｃｈａｎｇｅ＿ｐｏｉｎｔｓ［１］との関係に影響を及ぼさないことがある。
【０２０７】
[0191]他の代替形態では、シンタックス要素ｄｅｌｔａ＿ｌｕｍａ＿ｃｈａｎｇｅ＿ｐｏｉｎｔｓ［０］はシグナリングされないことがある。
【０２０８】
[0192]ｌｕｍａ＿ｒａｎｇｅ＿ｓｃａｌｅ＿ｍｏｄｅの値は、１つのレンジ値に対応するスケールの値がどのように導出されるか、またはＤＲＡパラメータがその値に基づいてどのように導出されるかを示すためにここで説明される。同様のシンタックス要素も、他のレンジのために指定され得ることを理解されたい。
【０２０９】
[0193]第３の例
[0194]この例は、図１０に示されているように、等長レンジのセットが不等長レンジに数値的に先行するときに使用され得る。
【０２１０】
[0195]シンタックス
【０２１１】
【表４】
2021510964.tif 000035
【０２１２】
[0196]セマンティクス
[0197]ｎｕｍ＿ｄｒａ＿ｒａｎｇｅｓが、ＤＲＡ関数を定義するレンジの数を指定する
[0198]ｄｒａ＿ｇｌｏｂａｌ＿ｏｆｆｓｅｔ＿ｖａｌｕｅが、ＤＲＡ関数がｙ＝０になるｘ値を指定し、ＤＲＡの他のパラメータ（たとえばレンジＲ０のためのローカルオフセット）を導出するために使用される。
【０２１３】
[0199]ｌｕｍａ＿ｃｈａｎｇｅ＿ｐｏｉｎｔｓ［０］が、等しいレンジ長を使用してレンジがシグナリングされる場合、開始ｘ値を指定するか、またはレンジ長を指定する。ｌｕｍａ＿ｃｈａｎｇｅｓ＿ｐｏｉｎｔｓ［０］の値は、両端値を含む０〜１０２３のレンジ内にあり得る。
【０２１４】
[0200]一代替形態では、以下の制約が追加される。
【０２１５】
[0201]ｌｕｍａ＿ｃｈａｎｇｅ＿ｐｏｉｎｔｓ［０］の値は、ｄｒａ＿ｇｌｏｂａｌ＿ｏｆｆｓｅｔ＿ｖａｌｕｅよりも大きいかまたはそれに等しくなり得る。
【０２１６】
[0202]１に等しいｅｑｕａｌ＿ｒａｎｇｅｓ＿ｆｌａｇは、ＤＲＡ関数が等長レンジを通して定義されることを指定する。
【０２１７】
[0203]ｅｑｕａｌ＿ｒａｎｇｅ＿ｌｅｎｇｔｈが、ＤＲＡ関数を定義する等長レンジのすべての長さを指定する。
【０２１８】
[0204]ｄｅｌｔａ＿ｌｕｍａ＿ｃｈａｎｇｅ＿ｐｏｉｎｔｓ［０］＞ｄｒａ＿ｇｌｏｂａｌ＿ｏｆｆｓｅｔ＿ｖａｌｕｅである場合、ＤＲＡ関数は、追加レンジ、別名Ｒ［−１］で定義される必要があり得、それのパラメータはシグナリングされないが、以下のようにデコーダ側において導出され得る。
【０２１９】
【数３０】
2021510964.tif 000036
【０２２０】
[0205]レンジＲ［−１］＝スケール［０］のための区分線形（ＰＷＬ：piece-wise linear）スケールは、パラメータがすでにシグナリングされている隣接レンジ、すなわちレンジＲ［０］のためにシグナリングされたスケール値である。
【０２２１】
[0206]ｘの可能値、たとえばｎｕｍ＿ｄｒａ＿ｒａｎｇｅｓ＊ｅｑｕａｌ＿ｒａｎｇｅ＿ｌｅｎｇｔｈ＜ＭＡＸ＿ＸのすべてのためにＤＲＡ関数を完全に定義することが可能でない場合、ＤＲＡ関数は、追加レンジ、別名Ｒ［ｎｕｍ＿ｄｒａ＿ｒａｎｇｅｓ］で定義され得、それのパラメータはシグナリングされないが、以下のようにデコーダ側において導出され得る。
【０２２２】
【数３１】
2021510964.tif 000037
【０２２３】
[0207]ここで、ＭＡＸ＿Ｘは、入力成分ｘがとり得る最大値を示す。いくつかの実施形態では、ＭＡＸ＿Ｘの値は、シグナリングされない他のレンジを考慮した後に決定され得る。たとえば、入力ｘの最大値が１０２３であり、ｄｅｌｔａ＿ｌｕｍａ＿ｃｈａｎｇｅ＿ｐｏｉｎｔｓ［０］がシグナリングされる場合、ＭＡＸ＿Ｘは、１０２４−ｄｅｌｔａ＿ｌｕｍａ＿ｃｈａｎｇｅｓ＿ｐｏｉｎｔｓ［０］に等しい。
【０２２４】
[0208]レンジＲ［ｎｕｍ＿ｄｒａ＿ｒａｎｇｅｓ］＝スケール［ｎｕｍ＿ｄｒａ＿ｒａｎｇｅｓ−１］のためのＰＷＬスケールは、それのパラメータが前にシグナリングされた隣接レンジ、すなわちレンジＲ［ｎｕｍ＿ｄｒａ＿ｒａｎｇｅｓ−１］のためにシグナリングされたスケール値である。
【０２２５】
[0209]図１１は、ビデオデータを符号化するためのプロセス１１００の一例を示すフローチャートを含む。プロセス１１００は、たとえば、メモリとプロセッサとを含む符号化デバイスによって実装され得る。この例では、メモリは、ビデオデータを記憶するように構成され得、プロセッサは、図１１のプロセス１１００のステップを実施するように構成され得る。たとえば、符号化デバイスは、プロセッサによって実行されたとき、プロセッサに、プロセス１１００のステップを実施させることができる命令を記憶することができる非一時的コンピュータ可読媒体を含むことができる。いくつかの例では、符号化デバイスは、ビデオデータをキャプチャするためのカメラを含むことができる。
【０２２６】
[0210]ステップ１１０２において、プロセス１１００は、ビデオデータを取得することを含み、ここにおいて、ビデオデータのビデオフレームの一部分について、ビデオデータは、ビデオフレームの該一部分における、色のダイナミックレンジ調整のための区分線形関数を表すパラメータを含み、ここにおいて、パラメータは、区分線形関数への入力値のレンジを重複しないレンジの倍数に分割し、ここにおいて、該重複しないレンジは、第１の長さを有する第１のレンジと、各々第２の長さを有するレンジのセットとを含み、ここにおいて、第１の長さは第２の長さとは異なる。いくつかの例では、ビデオフレームの該一部分は、ビデオフレームのすべてよりも少ないものを含む。いくつかの例では、ビデオフレームの該一部分はビデオフレームのすべてを含む。いくつかの例では、区分線形関数を表すパラメータは、２つ以上のビデオフレームに適用され得る。
【０２２７】
[0211]いくつかの例では、入力値のレンジは、ビデオフレームの該一部分中のピクセルからのルーマ値である。これらの例では、クロマ値は、パラメータから導出され得る。これらおよび他の例では、レンジの長さは、ビデオフレームの該一部分中の可能なルーマ値のうちの、レンジ含まれるルーマ値の数を示すことができる。
【０２２８】
[0212]いくつかの例では、第１のレンジは、入力値のレンジの始まりからの入力値の第１のセットを含む。これらの例では、レンジのセットは、入力値のレンジからの、入力値の第１のセットに続く入力値の第２のセットを含む。
【０２２９】
[0213]ステップ１１０４において、プロセス１１００は、パラメータのためのデータ構造を生成することを含む。データ構造は、以下で説明されるように、重複しないレンジのうちの数レンジを示す値と、レンジの各々のためのスケールファクタと、他の情報などの成分を含むことができる。
【０２３０】
[0214]ステップ１１０６において、プロセス１１００は、データ構造中で、重複しないレンジが、各々第２の長さを有するレンジのセットを含むことを示すためのインジケータを設定することを含む。いくつかの例では、重複しないレンジのすべてが同じ長さを有し（たとえば、第１の長さが第２の長さと同じである）、その場合、以下のステップも適用される。他の例では、重複しないレンジが、同じ長さを有するレンジを含まないか、または一緒にグループ化され得ない同じ長さのレンジを有するとき、以下のステップは適用されず、長さの各々がデータ構造中で示される。
【０２３１】
[0215]ステップ１１０８において、プロセス１１００は、データ構造中で、第２の長さを示すための第１の値を設定することを含む。いくつかの例では、第１の値は、レンジのセットの各々の終了値と開始値との間の差分として第２の長さを示す。いくつかの例では、第１の値は、固定値と第２の長さとの間の差分を示すことによって第２の長さを示す。たとえば、固定値は、入力値のレンジのための最大可能値であり得るか、またはデータ構造中に含まれる値であり得る。この例では、レンジのセットの長さは、固定値をレンジの総数（たとえば、レンジのセット中のレンジ＋第１のレンジの数（the number of ranges in the set of ranges plus the first range））で除算し、次いで、第１の値を減算することによって、算出され得る。いくつかの例では、長さは、固定値から、（データ構造中で与えられ得る）第１のレンジの長さを減算し、その結果をレンジの総数で除算し、次いで、第１の値を減算することによって、算出され得る。
【０２３２】
[0216]いくつかの例では、第１の値は、第２の長さを乗算された、レンジのセット中のレンジの数（a number of ranges in the set of ranges multiplied by the second length）に等しい。これらの例では、したがって、第１の値は、レンジのセットの長さの和である。さらに、いくつかの例では、第１の値は、第１のレンジが開始する入力値のレンジ内のオフセットを示すことができる。たとえば、レンジのセットは、入力値のレンジの始まりからの入力値の第１のセットを含むことができ、第１のレンジは、入力値のレンジからの、入力値の第１のセットに続く入力値の第２のセットを含むことができる。この例では、第１の値は、入力値の第２のセットがどこで開始するかを示すことができる。
【０２３３】
[0217]いくつかの例では、プロセス１１００は、データ構造中で、第１の長さを示すための第２の値を設定することを含むことができる。いくつかの例では、第２の値は、データ構造中に含まれず、代わりに、データ構造中の他の値から導出される。たとえば、第１の値が、入力値のレンジ内でオフセットを示すとき、第１の長さは、最大入力値からオフセットを減算することによって決定され得る。
【０２３４】
[0218]ステップ１１１０において、プロセス１１００は、ビデオデータから符号化ビデオデータを生成することを含み、ここにおいて、データ構造は、符号化ビデオデータに含まれる。符号化ビデオデータを生成することは、図１３に関して以下で説明されるようなステップを実施することを含むことができる。いくつかの例では、データ構造はＳＥＩメッセージ中に含まれ得、これは、符号化ビデオデータに組み込まれ得るか、または別個に与えられ得る。ＳＥＩメッセージは、データ構造中のパラメータを、ビデオフレームのグループ、１つのビデオフレーム、またはビデオフレームのスライスに適用することができる。いくつかの例では、データ構造は、スライスヘッダ、あるいはシーケンスパラメータセット、ピクチャパラメータセット、ビデオパラメータセット、または別のタイプのパラメータセットなど、パラメータセット中に含まれ得る。この例では、データ構造中のパラメータは、スライスヘッダまたはパラメータセットがそれに適用されるビデオデータの一部分に適用され得、これは、ビデオフレームからのスライス、ビデオフレーム全体、またはビデオフレームのグループであり得る。
【０２３５】
[0219]いくつかの例では、重複しないレンジは、第３の長さを有する第２のレンジを含み、第３の長さは第２の長さとは異なる。この例では、したがって、重複しないレンジは、その長さがレンジのセットの長さと同じでない、２つのレンジを含む。この例では、図１１のプロセス１１００は、データ構造中で、重複しないレンジが、第１のレンジと第２のレンジとを含むことを示すための第２のインジケータを設定することをさらに含むことができる。プロセスは、データ構造中で、第３の長さを示すための第３の値を設定することをも含むことができる。
【０２３６】
[0220]図１２は、ビデオデータを復号するためのプロセス１２００の一例を示すフローチャートを含む。プロセス１２００は、たとえば、メモリとプロセッサとを含む復号デバイスによって実装され得る。この例では、メモリは、符号化ビデオデータを記憶するように構成され得、プロセッサは、図１２のプロセス１２００のステップを実施するように構成され得る。たとえば、復号デバイスは、プロセッサによって実行されたとき、プロセッサに、プロセス１２００のステップを実施させることができる命令を記憶することができる非一時的コンピュータ可読媒体を含むことができる。いくつかの例では、復号デバイスは、ビデオデータをキャプチャするためのカメラを含むことができる。いくつかの例では、復号デバイスは、復号ビデオデータを表示するためのディスプレイを含むことができる。いくつかの例では、復号デバイスは、ビデオデータをキャプチャするためのカメラとビデオデータを表示するためのディスプレイとをもつモバイルデバイスである。
【０２３７】
[0221]ステップ１２０２において、プロセス１２００は、符号化ビデオデータを取得することを含む。符号化ビデオデータは、たとえば、復号デバイスのメモリ中の記憶ロケーションから取得され得る。代替または追加として、符号化ビデオデータは、ローカルに取り付けられたハードドライブまたは他の記憶デバイスなど、復号デバイスの外部の記憶ロケーションから取得され得る。代替または追加として、符号化ビデオデータは、ネットワークロケーションから取得され得る。
【０２３８】
[0222]ステップ１２０４において、プロセス１２００は、符号化ビデオデータからのビデオフレームの一部分について、ビデオフレームの該一部分における、色のダイナミックレンジ調整のための区分線形関数を表すパラメータを含むデータ構造を決定することを含み、ここにおいて、パラメータは、区分線形関数への入力値のレンジを複数の重複しないレンジに分割する。ビデオフレームの該一部分は、１つのビデオフレーム、ビデオフレーム全体、またはビデオフレームのグループのすべてよりも小さくなり得る。いくつかの例では、データ構造は、符号化ビデオデータに組み込まれた、または符号化ビデオデータとともに与えられた、ＳＥＩメッセージから決定される。これらの例では、ＳＥＩメッセージ中のパラメータは、ビデオフレームのグループ、１つのビデオフレーム、またはビデオフレームのスライスに適用され得る。いくつかの例では、データ構造は、スライスヘッダ、あるいはシーケンスパラメータセット、ピクチャパラメータセット、ビデオパラメータセット、または別のタイプのパラメータセットなど、パラメータセットから決定される。この例では、データ構造中のパラメータは、スライスヘッダまたはパラメータセットがそれに適用されるビデオデータの一部分に適用され得、これは、ビデオフレームからのスライス、ビデオフレーム全体、またはビデオフレームのグループであり得る。
【０２３９】
[0223]ステップ１２０６において、プロセス１２００は、データ構造中のインジケータから、重複しないレンジが、第１の長さを有する第１のレンジと、各々第２の長さを有するレンジのセットとを含むと決定することを含み、ここにおいて、第１の長さは第２の長さとは異なる。インジケータは、たとえば、重複しないレンジ中のレンジのセットの存在を示すことができる。いくつかの例では、重複しないレンジが第１のレンジを含むと決定することは、第１の長さを与える、データ構造中の第２の値に基づく。いくつかの例では、レンジのすべては同じ長さであり、その場合、第１の長さは、第２の長さと同じとして構造中で示され得る。いくつかの例では、レンジのいずれも同じ長さではないか、または、同じ長さのものであるレンジをグループとして表すことが可能でない。これらの例では、レンジの長さの各々のレンジがデータ構造中に含まれ、以下のステップが適用されない。
【０２４０】
[0224]いくつかの例では、データ構造中の第２の値は第１の長さを提供する。これらの例では、プロセスは、第２の値に関連するインデックスから、第１のレンジが、入力値のレンジの始まりからの入力値の第１のセットを含むことと、レンジのセットが、入力値のレンジからの、入力値の第１のセットに続く入力値の第２のセットを含むこととを決定することをさらに含むことができる。
【０２４１】
[0225]ステップ１２０８において、プロセス１２００は、データ構造中の第１の値を使用して第２の長さを決定することを含む。いくつかの例では、第１の値は第２の長さを提供する（たとえば、第２の長さに等しい）。いくつかの例では、第１の値は、固定値と第１の長さとの間の差分を示すことによって第２の長さを示す。いくつかの例では、固定値は、入力値のレンジのための最大可能値であり得るか、またはデータ構造中に含まれる値であり得る。この例では、復号デバイスは、固定値をレンジの総数（たとえば、レンジのセット中のレンジ＋第１のレンジの数（the number of ranges in the set of ranges plus the first range））で除算し、次いで、第１の値を減算することによって、第２の長さを決定することができる。いくつかの例では、復号デバイスは、固定値から、（データ構造中で与えられ得る）第１のレンジの長さを減算し、その結果をレンジの総数で除算し、次いで、第１の値を減算することによって、第２の長さを決定することができる。
【０２４２】
[0226]ステップ１２１０において、プロセス１２００は、データ構造によって提供される情報を使用して第１の長さを決定することを含む。いくつかの例では、第１の長さは、データ構造中の値を使用して示される。いくつかの例では、第１の長さは、レンジのセットの全長に等しく、その場合、復号デバイスは、入力値のレンジの最大値から第１の長さを減算することによって、第１の長さを決定することができる。また、この例では、復号デバイスは、第２の長さが、第１の長さをレンジのセット中のレンジの数で除算することを含むと決定することができる。いくつかの例では、プロセス１２００は、第１の値に基づいて、レンジのセットが、入力値のレンジの始まりからの入力値の第１のセットを含むと決定することをも含み得、ここにおいて、第１のレンジは、入力値のレンジからの、入力値の第１のセットに続く入力値の第２のセットを含む。
【０２４３】
[0227]ステップ１２１２において、プロセス１２００は、第１の長さと、第２の長さと、重複しないレンジの各々に関連するスケールファクタとを使用して、区分線形関数を再構築することを含み、ここにおいて、スケールファクタはデータ構造中に含まれる。区分線形関数を再構築することは、たとえば、重複しないレンジの各レンジに、各レンジに関連するスケールファクタを乗算することを含むことができる。再構築されると、区分線形関数は、各可能な入力値のための出力値を与えることができ、ここで、入力値は、入力ビデオフレームの一部分からの色値である。
【０２４４】
[0228]ステップ１２１４において、プロセス１２００は、ビデオフレームの該一部分を復号することを含む。ビデオフレームを復号することは、図１４に関して以下で説明されるようなステップを実施することを含むことができる。
【０２４５】
[0229]図１２のステップ１２１６において、プロセス１２００は、上記で説明されたように、ダイナミックレンジ調整を実施するために、ビデオフレームの該一部分中の色に区分線形関数を適用することを含む。
【０２４６】
[0230]いくつかの例では、プロセス１２００は、データ構造中の第２のインジケータから、重複しないレンジが、第３の長さを有する第２のレンジを含むと決定することをさらに含み、ここで、第３の長さは第２の長さとは異なる。これらの例では、重複しないレンジは、レンジのセットとは異なる長さを有する２つのレンジを含む。これらの例では、プロセス１２００は、データ構造中の第３の値から第３の長さを決定することをさらに含むことができる。
【０２４７】
[0231]本明細書で説明された方法および動作は、圧縮ビデオを使用して実装され得、例示的なビデオ符号化および復号システム（たとえば、システム１００）において実装され得る。いくつかの例では、システムは、宛先デバイスによって後で復号されるべき符号化ビデオデータを与えるソースデバイスを含む。ソースデバイスは、たとえば、コンピュータ可読媒体を介して宛先デバイスにビデオデータを与えることができる。いくつかの例では、コンピュータ可読媒体は一時的である。いくつかの例では、コンピュータ可読媒体は非一時的である。ソースデバイスおよび宛先デバイスは、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、スマートフォン、セルラー通信デバイス、ワイヤレス通信デバイス、セットトップボックス、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかであり得る。いくつかの場合には、ソースデバイスおよび宛先デバイスはワイヤレス通信のために装備され得る。
【０２４８】
[0232]宛先デバイスは、コンピュータ可読媒体を介して復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体は、ソースデバイスから宛先デバイスに符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスであり得る。一例では、コンピュータ可読媒体は、ソースデバイスが符号化ビデオデータを宛先デバイスにリアルタイムで直接送信することを可能にするための通信媒体であり得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイスに送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルおよび／または１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を含むことができる。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイスから宛先デバイスへの通信を可能にするために有用であり得る任意の他の機器を含み得る。
【０２４９】
[0233]いくつかの例では、符号化データは、出力インターフェースから記憶デバイスに出力され得る。記憶デバイスは非一時的コンピュータ可読媒体の一例である。同様に、符号化データは、入力インターフェースによって記憶デバイスからアクセスされ得る。記憶デバイスは、磁気、光、またはソリッドステートドライブ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる例では、記憶デバイスは、ソースデバイスによって生成された符号化ビデオを記憶し得るファイルサーバまたは別の中間記憶デバイスに対応し得る。宛先デバイスは、ストリーミングまたはダウンロードを介して、記憶デバイスから記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することと、その符号化ビデオデータを宛先デバイスに送信することとが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、（たとえば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブを含む。宛先デバイスは、インターネット接続を含む、任意の標準のデータ接続を通して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、またはその両方の組合せを含み得る。記憶デバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【０２５０】
[0234]本開示の技法はワイヤレス適用例または設定に限定されない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーＨＴＴＰ（ＤＡＳＨ）などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システムは、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【０２５１】
[0235]一例では、ソースデバイスは、ビデオソースと、ビデオエンコーダと、出力インターフェースとを含む。宛先デバイスは、入力インターフェースと、ビデオデコーダと、ディスプレイデバイスとを含み得る。ソースデバイスのビデオエンコーダは、本明細書で開示される技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または配置を含み得る。たとえば、ソースデバイスは、外部カメラなどの外部ビデオソースからビデオデータを受信し得る。同様に、宛先デバイスは、一体型ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
【０２５２】
[0236]上記の例示的なシステムは一例にすぎない。ビデオデータを並行して処理するための技法は、任意のデジタルビデオ符号化および／または復号デバイスによって実施され得る。本技法はまた、一般に「コーデック」と呼ばれるビデオエンコーダ／デコーダによって実施され得る。その上、本開示の技法はビデオプリプロセッサによっても実施され得る。ソースデバイスおよび宛先デバイスは、ソースデバイスが宛先デバイスに送信するためのコード化ビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、ソースデバイスおよび宛先デバイスは、デバイスの各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。したがって、例示的なシステムは、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、またはビデオテレフォニーのための、ビデオデバイス間の一方向または双方向のビデオ送信をサポートし得る。
【０２５３】
[0237]ソースデバイスのビデオソースは、ビデオカメラなどのビデオキャプチャデバイス、前にキャプチャされたビデオを含んでいるビデオアーカイブ、および／またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる例として、ビデオソースは、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。いくつかの場合には、ビデオソースがビデオカメラである場合、ソースデバイスおよび宛先デバイスは、たとえば、カメラフォンまたはビデオフォンを形成し得る。ただし、上述のように、本開示で説明される技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。各場合において、キャプチャされたビデオ、プリキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダによって符号化され得る。符号化ビデオ情報は、次いで、出力インターフェースによってコンピュータ可読媒体上に出力され得る。
【０２５４】
[0238]述べられたように、コンピュータ可読媒体は、ワイヤレスブロードキャストまたはワイヤードネットワーク送信などの一時媒体、あるいはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Ｂｌｕ−ｒａｙディスク、または他のコンピュータ可読媒体などの記憶媒体（すなわち、非一時的記憶媒体）を含み得る。いくつかの例では、ネットワークサーバ（図示せず）は、たとえば、ネットワーク送信を介して、ソースデバイスから符号化ビデオデータを受信し、その符号化ビデオデータを宛先デバイスに与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイスから符号化ビデオデータを受信し、その符号化ビデオデータを含んでいるディスクを生成し得る。したがって、コンピュータ可読媒体は、様々な例において、様々な形態の１つまたは複数のコンピュータ可読媒体を含むことが理解され得る。
【０２５５】
[0239]宛先デバイスの入力インターフェースはコンピュータ可読媒体から情報を受信する。コンピュータ可読媒体の情報は、ビデオエンコーダによって定義され、またビデオデコーダによって使用される、ブロックおよび他のコード化ユニット、たとえば、ピクチャグループ（ＧＯＰ）の特性および／または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。ディスプレイデバイスは、復号ビデオデータをユーザに対して表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを含み得る。本出願の様々な実施形態が説明された。
【０２５６】
[0240]上述のように、ソースデバイスは符号化を実施することができ、したがって、ａｎは、この機能を実施するための符号化デバイスを含む。また、上述のように、宛先デバイスは復号を実施することができ、したがって、復号デバイスを含むことができる。図１の符号化デバイス１０４および復号デバイス１１２の例示的な詳細が、それぞれ図１３および図１４に示されている。図１３は、本開示で説明される技法のうちの１つまたは複数を実装し得る例示的な符号化デバイス１０４を示すブロック図である。符号化デバイス１０４は、たとえば、本明細書で説明されるシンタックス構造（たとえば、ＶＰＳ、ＳＰＳ、ＰＰＳ、または他のシンタックス要素のシンタックス構造）を生成し得る。符号化デバイス１０４は、ビデオスライス内のビデオブロックのイントラ予測コーディングおよびインター予測コーディングを実施し得る。前に説明されたように、イントラコーディングは、所与のビデオフレームまたはピクチャ内の空間冗長性を低減または除去するために、空間予測に少なくとも部分的に依拠する。インターコーディングは、ビデオシーケンスの隣接するまたは周囲のフレーム内の時間冗長性を低減または除去するために、時間予測に少なくとも部分的に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースの圧縮モードのいずれかを指すことがある。単方向予測（Ｐモード）または双予測（Ｂモード）などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指すことがある。
【０２５７】
[0241]符号化デバイス１０４は、区分ユニット３５と、予測処理ユニット４１と、フィルタユニット６３と、ピクチャメモリ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。予測処理ユニット４１は、動き推定ユニット４２と、動き補償ユニット４４と、イントラ予測処理ユニット４６とを含む。ビデオブロック再構築のために、符号化デバイス１０４はまた、逆量子化ユニット５８と、逆変換処理ユニット６０と、加算器６２とを含む。フィルタユニット６３は、デブロッキングフィルタ、適応ループフィルタ（ＡＬＦ）、およびサンプル適応オフセット（ＳＡＯ）フィルタなど、１つまたは複数のループフィルタを表現するものとする。図１３ではフィルタユニット６３はループ内フィルタであるとして示されているが、他の構成では、フィルタユニット６３はループ後フィルタとして実装され得る。後処理デバイス５７は、符号化デバイス１０４によって生成された符号化ビデオデータに対して追加の処理を実施し得る。本開示の技法は、いくつかの事例では、符号化デバイス１０４によって実装され得る。しかしながら、他の事例では、本開示の技法のうちの１つまたは複数は、後処理デバイス５７によって実装され得る。
【０２５８】
[0242]図１３に示されているように、符号化デバイス１０４はビデオデータを受信し、区分ユニット３５はデータをビデオブロックに区分する。区分はまた、たとえば、ＬＣＵおよびＣＵの４分木構造に従って、スライス、スライスセグメント、タイル、または他のより大きいユニットへの区分、ならびにビデオブロック区分を含み得る。符号化デバイス１０４は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに（および場合によっては、タイルと呼ばれるビデオブロックのセットに）分割され得る。予測処理ユニット４１は、誤差結果（たとえば、コーディングレートおよびひずみレベルなど）に基づいて現在ビデオブロックについて、イントラ予測コーディングモードまたはインター予測コーディングモードなど、複数の可能なコーディングモードのうちの１つを選択し得る。予測処理ユニット４１は、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生成するために第１の加算器５０に与え、参照ピクチャとして使用するための符号化ブロックを再構築するために第２の加算器６２に与え得る。
【０２５９】
[0243]予測処理ユニット４１内のイントラ予測処理ユニット４６は、空間圧縮を行うために、コーディングされるべき現在ブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対して現在ビデオブロックのイントラ予測コーディングを実施し得る。予測処理ユニット４１内の動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を行うために、１つまたは複数の参照ピクチャ中の１つまたは複数の予測ブロックに対して現在ビデオブロックのインター予測コーディングを実施する。
【０２６０】
[0244]動き推定ユニット４２は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを決定するように構成され得る。所定のパターンは、Ｐスライス、Ｂスライス、または一般化されたＰおよびＢ（ＧＰＢ）スライス（同等の参照ピクチャリスト、リスト０およびリスト１を有するスライス）として、シーケンス中のビデオスライスを指定し得る。動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別個に示されている。動き推定ユニット４２によって実施される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する、現在ビデオフレームまたはピクチャ内のビデオブロックの予測ユニット（ＰＵ）の変位を示し得る。
【０２６１】
[0245]予測ブロックは、絶対差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきビデオブロックのＰＵにぴったり一致することがわかるブロックである。いくつかの例では、符号化デバイス１０４は、ピクチャメモリ６４に記憶された参照ピクチャのサブ整数ピクセル位置についての値を計算し得る。たとえば、符号化デバイス１０４は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット４２は、フルピクセル位置と分数ピクセル位置とに対して動き探索を実施し、分数ピクセル精度で動きベクトルを出力し得る。
【０２６２】
[0246]動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのＰＵのための動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得、それらの各々は、ピクチャメモリ６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【０２６３】
[0247]動き補償ユニット４４によって実施される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を実施することを伴い得る。現在ビデオブロックのＰＵのための動きベクトルを受信すると、動き補償ユニット４４は、動きベクトルが参照ピクチャリストにおいて指す予測ブロックの位置を特定し得る。符号化デバイス１０４は、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。ピクセル差分値は、ブロックのための残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器５０は、この減算演算を実施する１つまたは複数の構成要素を表現する。動き補償ユニット４４はまた、ビデオスライスのビデオブロックを復号する際に復号デバイス１１２が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【０２６４】
[0248]イントラ予測処理ユニット４６は、上記で説明されたように、動き推定ユニット４２と動き補償ユニット４４とによって実施されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測処理ユニット４６は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測処理ユニット４６は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測ユニット処理４６は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。たとえば、イントラ予測処理ユニット４６は、様々なテストされたイントラ予測モードのためにレートひずみ分析を使用してレートひずみ値を計算し得、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化ブロックを生成するために使用されるビットレート（すなわち、ビット数）を決定する。イントラ予測処理ユニット４６は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化ブロックのためのひずみおよびレートから比を計算し得る。
【０２６５】
[0249]いずれの場合も、ブロックのためのイントラ予測モードを選択した後に、イントラ予測処理ユニット４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に与え得る。エントロピー符号化ユニット５６は、選択されたイントラ予測モードを示す情報を符号化し得る。符号化デバイス１０４は、様々なブロックのための符号化コンテキストの構成データ定義、ならびにコンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックス表、および修正されたイントラ予測モードインデックス表の指示を送信ビットストリーム中に含め得る。ビットストリーム構成データは、イントラ予測モードインデックス表と、（コードワードマッピング表とも呼ばれる）修正されたイントラ予測モードインデックス表とを含み得る。
【０２６６】
[0250]予測処理ユニット４１が、インター予測またはイントラ予測のいずれかを介して、現在ビデオブロックのための予測ブロックを生成した後、符号化デバイス１０４は、現在ビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、１つまたは複数のＴＵ中に含まれ、変換処理ユニット５２に適用され得る。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ：discrete cosine transform）または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット５２は、残差ビデオデータをピクセルドメインから周波数ドメインなどの変換ドメインにコンバートし得る。
【０２６７】
[0251]変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって修正され得る。いくつかの例では、量子化ユニット５４は、次いで、量子化された変換係数を含む行列の走査を実施し得る。代替または追加として、エントロピー符号化ユニット５６が走査を実施し得る。
【０２６８】
[0252]量子化の後に、エントロピー符号化ユニット５６は量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディングまたは別のエントロピー符号化技法を実施し得る。エントロピー符号化ユニット５６によるエントロピー符号化の後に、符号化ビットストリームは復号デバイス１１２に送信されるか、あるいは復号デバイス１１２が後で送信するかまたは取り出すためにアーカイブされ得る。エントロピー符号化ユニット５６はまた、コーディングされている現在ビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。
【０２６９】
[0253]逆量子化ユニット５８および逆変換処理ユニット６０は、参照ピクチャの参照ブロックとして後で使用するためにピクセルドメインにおいて残差ブロックを再構築するために、それぞれ逆量子化および逆変換を適用する。動き補償ユニット４４は、残差ブロックを参照ピクチャリスト内の参照ピクチャのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、動き推定において使用するためのサブ整数ピクセル値を計算するために、再構築された残差ブロックに１つまたは複数の補間フィルタを適用し得る。加算器６２は、ピクチャメモリ６４に記憶するための参照ブロックを生成するために、再構築された残差ブロックを動き補償ユニット４４によって生成された動き補償予測ブロックに加算する。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定ユニット４２と動き補償ユニット４４とによって参照ブロックとして使用され得る。
【０２７０】
[0254]このようにして、図１３の符号化デバイス１０４は、符号化ビデオビットストリームのためのシンタックスを生成するように構成されたビデオエンコーダの一例を表現する。符号化デバイス１０４は、たとえば、上記で説明されたように、区分線形関数のパラメータを含むデータ構造を生成し得る。符号化デバイス１０４は、図１１および図１２に関して上記で説明されたプロセスを含む、本明細書で説明される技法のいずれかを実施し得る。本開示の技法は、概して符号化デバイス１０４に関して説明されたが、上述のように、本開示の技法のうちのいくつかは後処理デバイス５７によっても実装され得る。さらに、同様のまたは異なる構成要素を有する、例示的な符号化デバイス１０４以外のデバイスが、本明細書で説明される技法を実施するために使用され得る。
【０２７１】
[0255]図１４は、例示的な復号デバイス１１２を示すブロック図である。復号デバイス１１２は、エントロピー復号ユニット８０と、予測処理ユニット８１と、逆量子化ユニット８６と、逆変換処理ユニット８８と、加算器９０と、フィルタユニット９１と、ピクチャメモリ９２とを含む。予測処理ユニット８１は、動き補償ユニット８２と、イントラ予測処理ユニット８４とを含む。復号デバイス１１２は、いくつかの例では、図１３からの符号化デバイス１０４に関して説明された符号化パスとは概して逆の復号パスを実施し得る。
【０２７２】
[0256]復号プロセス中に、復号デバイス１１２は、符号化デバイス１０４によって送られた、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表現する符号化ビデオビットストリームを受信する。いくつかの例では、復号デバイス１１２は、符号化デバイス１０４から符号化ビデオビットストリームを受信し得る。いくつかの例では、復号デバイス１１２は、サーバ、メディアアウェアネットワーク要素（ＭＡＮＥ）、ビデオエディタ／スプライサ、または上記で説明された技法のうちの１つまたは複数を実装するように構成された他のそのようなデバイスなど、ネットワークエンティティ７９から符号化ビデオビットストリームを受信し得る。ネットワークエンティティ７９は、符号化デバイス１０４を含むことも、含まないこともある。本開示で説明される技法のうちのいくつかは、ネットワークエンティティ７９が符号化ビデオビットストリームを復号デバイス１１２に送信するより前に、ネットワークエンティティ７９によって実装され得る。いくつかのビデオ復号システムでは、ネットワークエンティティ７９および復号デバイス１１２は別個のデバイスの部分であり得るが、他の事例では、ネットワークエンティティ７９に関して説明される機能は、復号デバイス１１２を含む同じデバイスによって実施され得る。
【０２７３】
[0257]復号デバイス１１２のエントロピー復号ユニット８０は、量子化係数と、動きベクトルと、他のシンタックス要素とを生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット８０は、予測処理ユニット８１に動きベクトルと他のシンタックス要素とを転送する。復号デバイス１１２は、ビデオスライスレベルおよび／またはビデオブロックレベルのシンタックス要素を受信し得る。エントロピー復号ユニット８０は、ＶＰＳ、ＳＰＳ、およびＰＰＳなど、または複数のパラメータセット中の固定長シンタックス要素と可変長シンタックス要素の両方を処理し、パースし得る。
【０２７４】
[0258]ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされたとき、予測処理ユニット８１のイントラ予測処理ユニット８４は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化（すなわち、Ｂ、ＰまたはＧＰＢ）スライスとしてコーディングされたとき、予測処理ユニット８１の動き補償ユニット８２は、エントロピー復号ユニット８０から受信された動きベクトルおよび他のシンタックス要素に基づいて現在ビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリスト内の参照ピクチャのうちの１つから生成され得る。復号デバイス１１２は、ピクチャメモリ９２に記憶された参照ピクチャに基づいて、デフォルトの構築技法を使用して、参照フレームリスト、すなわち、リスト０とリスト１とを構築し得る。
【０２７５】
[0259]動き補償ユニット８２は、動きベクトルと他のシンタックス要素とをパースすることによって現在ビデオスライスのビデオブロックのための予測情報を決定し、復号されている現在ビデオブロックのための予測ブロックを生成するために、その予測情報を使用する。たとえば、動き補償ユニット８２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラまたはインター予測）と、インター予測スライスタイプ（たとえば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）と、スライスのための１つまたは複数の参照ピクチャリストのための構築情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、パラメータセット中の１つまたは複数のシンタックス要素を使用し得る。
【０２７６】
[0260]動き補償ユニット８２はまた、補間フィルタに基づいて補間を実施し得る。動き補償ユニット８２は、参照ブロックのサブ整数ピクセルのための補間値を計算するために、ビデオブロックの符号化中に符号化デバイス１０４によって使用された補間フィルタを使用し得る。この場合、動き補償ユニット８２は、受信されたシンタックス要素から符号化デバイス１０４によって使用された補間フィルタを決定し得、予測ブロックを生成するためにその補間フィルタを使用し得る。
【０２７７】
[0261]逆量子化ユニット８６は、ビットストリーム中で与えられ、エントロピー復号ユニット８０によって復号された量子化変換係数を逆量子化、すなわち、量子化解除する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべきである逆量子化の程度を決定するための、ビデオスライス中のビデオブロックごとに符号化デバイス１０４によって計算される量子化パラメータの使用を含み得る。逆変換処理ユニット８８は、ピクセルドメインにおける残差ブロックを生成するために、逆変換（たとえば、逆ＤＣＴまたは他の好適な逆変換）、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
【０２７８】
[0262]動き補償ユニット８２が、動きベクトルと他のシンタックス要素とに基づいて現在ビデオブロックのための予測ブロックを生成した後に、復号デバイス１１２は、逆変換処理ユニット８８からの残差ブロックを動き補償ユニット８２によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器９０は、この加算演算を実施する１つまたは複数の構成要素を表現する。所望される場合、（コーディングループ内またはコーディングループ後のいずれかの）ループフィルタも、ピクセル遷移を平滑化するために、またはさもなければビデオ品質を改善するために使用され得る。フィルタユニット９１は、デブロッキングフィルタ、適応ループフィルタ（ＡＬＦ）、およびサンプル適応オフセット（ＳＡＯ）フィルタなど、１つまたは複数のループフィルタを表現するものとする。図１４ではフィルタユニット９１はループ内フィルタであるとして示されているが、他の構成では、フィルタユニット９１はループ後フィルタとして実装され得る。所与のフレームまたはピクチャ中の復号ビデオブロックは、次いで、後続の動き補償のために使用される参照ピクチャを記憶するピクチャメモリ９２に記憶される。ピクチャメモリ９２はまた、図１に示されているビデオ宛先デバイス１２２など、ディスプレイデバイス上で後で提示するために復号ビデオを記憶する。
【０２７９】
[0263]図１４の復号デバイス１１２は、符号化ビデオビットストリームのシンタックスをパースし、後続の表示のために元のビデオデータを近似的に再生するように構成された、ビデオエンコーダの一例を表現する。復号デバイスは、たとえば、上記で説明されたように、区分線形関数のパラメータを含むデータ構造をパースし、ダイナミックレンジ調整を実施するために復号データに区分線形関数を適用し得る。復号デバイス１１２は、図１１および図１２に関して上記で説明されたプロセスを含む、本明細書で説明される技法のいずれかを実施し得る。さらに、同様のまたは異なる構成要素を有する、例示的な復号デバイス１１２以外のデバイスが、本明細書で説明される技法を実施するために使用され得る。
【０２８０】
[0264]上記の説明では、本出願の態様がそれの特定の実施形態を参照しながら説明されたが、本出願はそれに限定されないことを、当業者は認識されよう。したがって、本出願の例示的な実施形態が本明細書で詳細に説明されているが、従来技術によって限定される場合を除いて、発明的概念が、場合によっては様々に実施および採用され得、添付の特許請求の範囲が、そのような変形形態を含むように解釈されるものであることを理解されたい。上記で説明された例の様々な特徴および態様は、個々にまたは一緒に使用され得る。さらに、実施形態は、本明細書のより広い趣旨および範囲から逸脱することなく、本明細書で説明された環境および適用例以外に、任意の数の環境および適用例において利用され得る。したがって、本明細書および図面は、限定的なものではなく例示的なものとして考慮されるべきである。説明の目的で、方法は特定の順序で説明された。他の実施形態では、方法は、説明された順序とは異なる順序で実施され得ることを諒解されたい。
【０２８１】
[0265]構成要素が、ある動作を実施する「ように構成されて」いるものとして説明される場合、そのような構成は、たとえば、動作を実施するように電子回路または他のハードウェアを設計することによって、動作を実施するようにプログラマブル電子回路（たとえば、マイクロプロセッサ、または他の好適な電子回路）をプログラムすることによって、またはそれらの任意の組合せによって、達成され得る。
【０２８２】
[0266]本明細書で開示される実施形態に関して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、ファームウェア、またはそれらの組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップが、上記では概してそれらの機能に関して説明された。そのような機能がハードウェアとして実装されるのかソフトウェアとして実装されるのかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明される機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本出願の範囲からの逸脱を生じるものと解釈されるべきではない。
【０２８３】
[0267]本明細書で説明された技法はまた、電子ハードウェア、コンピュータソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、またはワイヤレス通信デバイスハンドセットおよび他のデバイスにおける適用を含む複数の用途を有する集積回路デバイスなど、様々なデバイスのいずれかにおいて実装され得る。モジュールまたは構成要素として説明された特徴は、集積論理デバイスに一緒に、または個別であるが相互運用可能な論理デバイスとして別個に実装され得る。ソフトウェアで実装された場合、本技法は、実行されたとき、上記で説明された方法のうちの１つまたは複数を実施する命令を含むプログラムコードを含むコンピュータ可読データ記憶媒体によって、少なくとも部分的に実現され得る。コンピュータ可読データ記憶媒体は、パッケージング材料を含み得るコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュメモリ、磁気または光学データ記憶媒体など、メモリまたはデータ記憶媒体を含み得る。本技法は、追加または代替として、伝搬信号または電波など、命令またはデータ構造の形態でプログラムコードを搬送または通信し、コンピュータによってアクセスされ、読み取られ、および／または実行され得るコンピュータ可読通信媒体によって、少なくとも部分的に実現され得る。
【０２８４】
[0268]プログラムコードは、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または他の等価の集積回路またはディスクリート論理回路など、１つまたは複数のプロセッサを含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示で説明された技法のいずれかを実施するように構成され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサは、コンピューティングデバイスの組合せ、たとえば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、または任意の他のそのような構成としても実装され得る。したがって、本明細書で使用される「プロセッサ」という用語は、上記の構造、上記の構造の任意の組合せ、または本明細書で説明された技法の実装に好適な他の構造または装置のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用のソフトウェアモジュールまたはハードウェアモジュール内に提供され得、あるいは複合ビデオエンコーダ／デコーダ（コーデック）に組み込まれ得る。
【図１】
2021510964.tif 000038
【図２】
2021510964.tif 000039
【図３】
2021510964.tif 000040
【図４】
2021510964.tif 000041
【図５】
2021510964.tif 000042
【図６】
2021510964.tif 000043
【図７】
2021510964.tif 000044
【図８】
2021510964.tif 000045
【図９】
2021510964.tif 000046
【図１０】
2021510964.tif 000047
【図１１】
2021510964.tif 000048
【図１２】
2021510964.tif 000049
【図１３】
2021510964.tif 000050
【図１４】
2021510964.tif 000051
【手続補正書】
【提出日】令和3年1月7日(2021.1.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータを符号化する方法であって、
符号化デバイスにおいて、ビデオデータを取得することと、前記ビデオデータは、ビデオフレームの一部分における、色のダイナミックレンジ調整のための区分線形関数を表すパラメータを含み、ここにおいて、前記パラメータは、前記区分線形関数への入力値のレンジを複数の重複しないレンジに分割し、前記複数の重複しないレンジは、第１のレンジと、レンジのセットとを含み、前記第１のレンジは第１の長さを有し、レンジの前記セットの各々のレンジは、前記第１の長さとは異なる第２の長さを有する、
前記パラメータのためのデータ構造を生成することと、
前記データ構造中で、前記複数の重複しないレンジが、各々のレンジが前記第２の長さを有するレンジの前記セットを含むことを示すためのインジケータを設定することと、
各々のレンジが前記第２の長さを有するレンジの前記セットを含む前記複数の重複しないレンジに基づいて、前記データ構造中で、レンジの前記セットについての前記第２の長さを示すための第１の値を設定することと、
前記ビデオデータから符号化ビデオデータを生成することと、ここにおいて、前記データ構造は、前記符号化ビデオデータに含まれる、
を備える、方法。
【請求項２】
前記第１の値は、レンジの前記セットの各々の終了値と開始値との間の差分として前記第２の長さを示す、請求項１に記載の方法。
【請求項３】
前記第１の値は、固定値と前記第２の長さとの間の差分を示すことによって前記第２の長さを示す、請求項１に記載の方法。
【請求項４】
前記データ構造中で、前記第１の長さを示すための第２の値を設定すること、
をさらに備える、請求項１に記載の方法。
【請求項５】
前記第１のレンジは、入力値の前記レンジの始まりからの入力値の第１のセットを含み、レンジの前記セットは、入力値の前記レンジからの、入力値の前記第１のセットに続く入力値の第２のセットを含む、請求項１に記載の方法。
【請求項６】
前記パラメータは、前記複数の重複しないレンジの各々に関連するスケールファクタをさらに含み、
前記データ構造に前記スケールファクタを追加すること、をさらに備える、
請求項１に記載の方法。
【請求項７】
補足エンハンスメント情報（ＳＥＩ）メッセージ、スライスヘッダ、またはパラメータセット中に前記データ構造を含めること、
をさらに備える、請求項１に記載の方法。
【請求項８】
符号化デバイスであって、
ビデオデータを記憶するように構成されたメモリと、前記ビデオデータは、ビデオフレームの一部分における、色のダイナミックレンジ調整のための区分線形関数を表すパラメータを含み、ここにおいて、前記パラメータは、前記区分線形関数への入力値のレンジを複数の重複しないレンジに分割し、前記複数の重複しないレンジは、第１のレンジと、レンジのセットとを含み、前記第１のレンジは第１の長さを有し、レンジの前記セットの各々のレンジは、前記第１の長さとは異なる第２の長さを有する、
プロセッサと、を備え、前記プロセッサは、
前記パラメータのためのデータ構造を生成することと、
前記データ構造中で、前記複数の重複しないレンジが、各々のレンジが前記第２の長さを有するレンジの前記セットを含むことを示すためのインジケータを設定することと、
各々のレンジが前記第２の長さを有するレンジの前記セットを含む前記複数の重複しないレンジに基づいて、前記データ構造中で、レンジの前記セットについての前記第２の長さを示すための第１の値を設定することと、
前記ビデオデータから符号化ビデオデータを生成することと、ここにおいて、前記データ構造は、前記符号化ビデオデータに含まれる、
を行うように構成された、符号化デバイス。
【請求項９】
前記第１の値は、レンジの前記セットの各々の終了値と開始値との間の差分として前記第２の長さを示す、請求項８に記載の符号化デバイス。
【請求項１０】
前記第１の値は、固定値と前記第２の長さとの間の差分を示すことによって前記第２の長さを示す、請求項８に記載の符号化デバイス。
【請求項１１】
前記プロセッサは、
前記データ構造中で、前記第１の長さを示すための第２の値を設定すること、
を行うようにさらに構成された、請求項８に記載の符号化デバイス。
【請求項１２】
前記第１のレンジは、入力値の前記レンジの始まりからの入力値の第１のセットを含み、レンジの前記セットは、入力値の前記レンジからの、入力値の前記第１のセットに続く入力値の第２のセットを含む、請求項８に記載の符号化デバイス。
【請求項１３】
前記パラメータは、前記複数の重複しないレンジの各々に関連するスケールファクタをさらに含み、
前記プロセッサは、前記データ構造に前記スケールファクタを追加すること、を行うようにさらに構成された、
請求項８に記載の符号化デバイス。
【請求項１４】
前記プロセッサは、
補足エンハンスメント情報（ＳＥＩ）メッセージ、スライスヘッダ、またはパラメータセット中に前記データ構造を含めること、
を行うようにさらに構成された、請求項８に記載の符号化デバイス。
【請求項１５】
ビデオデータをキャプチャするためのカメラ、
をさらに備える、請求項８に記載の符号化デバイス。
【請求項１６】
前記符号化デバイスはモバイルデバイスを備える、請求項８に記載の符号化デバイス。
【請求項１７】
ビデオデータを復号するための方法であって、
符号化ビデオデータを取得することと、
前記符号化ビデオデータからのビデオフレームの一部分について、前記ビデオフレームの前記一部分における、色のダイナミックレンジ調整のための区分線形関数を表すパラメータを含むデータ構造を決定することと、ここにおいて、前記パラメータは、前記区分線形関数への入力値のレンジを複数の重複しないレンジに分割する、
前記データ構造中のインジケータから、前記複数の重複しないレンジが、第１のレンジと、レンジのセットとを含むと決定することと、ここにおいて、前記第１のレンジは第１の長さを有し、レンジの前記セットの各々のレンジは、前記第１の長さとは異なる第２の長さを有する、
前記データ構造中の第１の値を使用して前記第２の長さを決定することと、前記第１の値は、各々のレンジが前記第２の長さを有するレンジの前記セットを含む前記複数の重複しないレンジに基づいて、前記データ構造に含まれる、
前記データ構造を使用して前記第１の長さを決定することと、
前記第１の長さと、前記第２の長さと、前記複数の重複しないレンジの各々に関連するスケールファクタとを使用して、前記区分線形関数を再構築することと、ここにおいて、前記スケールファクタは前記データ構造中に含まれる、
前記ビデオフレームの前記一部分を復号することと、
ダイナミックレンジ調整を実施するために、前記ビデオフレームの前記一部分中の前記色に前記区分線形関数を適用することと、
を備える、方法。
【請求項１８】
前記第１の値は前記第２の長さを提供し、前記データ構造中の第２の値は前記第１の長さを提供する、請求項１７に記載の方法。
【請求項１９】
前記第１の値は、固定値と前記第２の長さとの間の差分を示すことによって前記第２の長さを示す、請求項１７に記載の方法。
【請求項２０】
前記データ構造中の第２の値は前記第１の長さを提供し、
前記第２の値に関連するインデックスから、前記第１のレンジが、入力値の前記レンジの始まりからの入力値の第１のセットを含むと決定すること、をさらに備え、ここにおいて、レンジの前記セットは、入力値の前記レンジからの、入力値の前記第１のセットに続く入力値の第２のセットを含む、請求項１７に記載の方法。
【請求項２１】
前記パラメータは、補足エンハンスメント情報（ＳＥＩ）メッセージ、スライスヘッダ、またはパラメータセット中に含まれる、請求項１７に記載の方法。
【請求項２２】
復号デバイスであって、
符号化ビデオデータを記憶するように構成されたメモリと、
プロセッサと、を備え、前記プロセッサは、
前記符号化ビデオデータからのビデオフレームの一部分について、前記ビデオフレームの前記一部分における、色のダイナミックレンジ調整のための区分線形関数を表すパラメータを含むデータ構造を決定することと、ここにおいて、前記パラメータは、前記区分線形関数への入力値のレンジを複数の重複しないレンジに分割する、
前記データ構造中のインジケータから、前記複数の重複しないレンジが、第１のレンジと、レンジのセットとを含むと決定することと、ここにおいて、前記第１のレンジは第１の長さを有し、レンジの前記セットの各々のレンジは、前記第１の長さとは異なる第２の長さを有する、
前記データ構造中の第１の値を使用して前記第２の長さを決定することと、前記第１の値は、各々のレンジが前記第２の長さを有するレンジの前記セットを含む前記複数の重複しないレンジに基づいて、前記データ構造に含まれる、
前記データ構造によって提供される情報を使用して前記第１の長さを決定することと、
前記第１の長さと、前記第２の長さと、前記複数の重複しないレンジの各々に関連するスケールファクタとを使用して、前記区分線形関数を再構築することと、ここにおいて、前記スケールファクタは前記データ構造中に含まれる、
前記ビデオフレームの前記一部分を復号することと、
ダイナミックレンジ調整を実施するために、前記ビデオフレームの前記一部分中の前記色に前記区分線形関数を適用することと、
を行うように構成された、
復号デバイス。
【請求項２３】
前記第１の値は前記第２の長さを提供し、前記データ構造中の第２の値は前記第１の長さを提供する、請求項２２に記載の復号デバイス。
【請求項２４】
前記第１の値は、固定値と前記第２の長さとの間の差分を示すことによって前記第２の長さを示す、請求項２２に記載の復号デバイス。
【請求項２５】
前記データ構造中の第２の値は前記第１の長さを提供し、
前記プロセッサは、
前記第２の値に関連するインデックスから、前記第１のレンジが、入力値の前記レンジの始まりからの入力値の第１のセットを含むと決定すること、を行うようにさらに構成され、ここにおいて、レンジの前記セットは、入力値の前記レンジからの、入力値の前記第１のセットに続く入力値の第２のセットを含む、請求項２２に記載の復号デバイス。
【請求項２６】
前記パラメータは、補足エンハンスメント情報（ＳＥＩ）メッセージ、スライスヘッダ、またはパラメータセット中に含まれる、請求項２２に記載の復号デバイス。
【請求項２７】
ビデオデータをキャプチャするためのカメラ、
をさらに備える、請求項２２に記載の復号デバイス。
【請求項２８】
復号ビデオデータを表示するためのディスプレイ、
をさらに備える、請求項２２に記載の復号デバイス。
【請求項２９】
前記復号デバイスはモバイルデバイスを備える、請求項２２に記載の復号デバイス。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０２８４
【補正方法】変更
【補正の内容】
【０２８４】
[0268]プログラムコードは、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または他の等価の集積回路またはディスクリート論理回路など、１つまたは複数のプロセッサを含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示で説明された技法のいずれかを実施するように構成され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサは、コンピューティングデバイスの組合せ、たとえば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、または任意の他のそのような構成としても実装され得る。したがって、本明細書で使用される「プロセッサ」という用語は、上記の構造、上記の構造の任意の組合せ、または本明細書で説明された技法の実装に好適な他の構造または装置のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用のソフトウェアモジュールまたはハードウェアモジュール内に提供され得、あるいは複合ビデオエンコーダ／デコーダ（コーデック）に組み込まれ得る。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[Ｃ１]  ビデオデータを符号化する方法であって、
符号化デバイスにおいて、ビデオデータを取得することと、ここにおいて、前記ビデオデータのビデオフレームの一部分について、前記ビデオデータは、前記ビデオフレームの前記一部分における、色のダイナミックレンジ調整のための区分線形関数を表すパラメータを含み、前記パラメータは、前記区分線形関数への入力値のレンジを複数の重複しないレンジに分割し、前記複数の重複しないレンジは、第１の長さを有する第１のレンジと、各々第２の長さを有するレンジのセットとを含み、前記第１の長さは前記第２の長さとは異なる、
前記パラメータのためのデータ構造を生成することと、
前記データ構造中で、前記複数の重複しないレンジが、各々前記第２の長さを有するレンジの前記セットを含むことを示すためのインジケータを設定することと、
前記データ構造中で、前記第２の長さを示すための第１の値を設定することと、
前記ビデオデータから符号化ビデオデータを生成することと、ここにおいて、前記データ構造は、前記符号化ビデオデータに含まれる、
を備える、方法。
[Ｃ２]  前記第１の値は、レンジの前記セットの各々の終了値と開始値との間の差分として前記第２の長さを示す、Ｃ１に記載の方法。
[Ｃ３]  前記第１の値は、固定値と前記第２の長さとの間の差分を示すことによって前記第２の長さを示す、Ｃ１に記載の方法。
[Ｃ４]  前記データ構造中で、前記第１の長さを示すための第２の値を設定すること、
をさらに備える、Ｃ１に記載の方法。
[Ｃ５]  前記第１のレンジは、入力値の前記レンジの始まりからの入力値の第１のセットを含み、レンジの前記セットは、入力値の前記レンジからの、入力値の前記第１のセットに続く入力値の第２のセットを含む、Ｃ１に記載の方法。
[Ｃ６]  前記パラメータは、前記複数の重複しないレンジの各々に関連するスケールファクタをさらに含み、
前記データ構造に前記スケールファクタを追加すること、をさらに備える、
Ｃ１に記載の方法。
[Ｃ７]  補足エンハンスメント情報（ＳＥＩ）メッセージ、スライスヘッダ、またはパラメータセット中に前記データ構造を含めること、
をさらに備える、Ｃ１に記載の方法。
[Ｃ８]  符号化デバイスであって、
ビデオデータを記憶するように構成されたメモリと、ここにおいて、前記ビデオデータのビデオフレームの一部分について、前記ビデオデータは、前記ビデオフレームの前記一部分における、色のダイナミックレンジ調整のための区分線形関数を表すパラメータを含み、前記パラメータは、前記区分線形関数への入力値のレンジを複数の重複しないレンジに分割し、前記複数の重複しないレンジは、第１の長さを有する第１のレンジと、各々第２の長さを有するレンジのセットとを含み、前記第１の長さは前記第２の長さとは異なる、
プロセッサと、を備え、前記プロセッサは、
前記パラメータのためのデータ構造を生成することと、
前記データ構造中で、前記複数の重複しないレンジが、各々前記第２の長さを有するレンジの前記セットを含むことを示すためのインジケータを設定することと、
前記データ構造中で、前記第２の長さを示すための第１の値を設定することと、
前記ビデオデータから符号化ビデオデータを生成することと、ここにおいて、前記データ構造は、前記符号化ビデオデータとともに含まれる、
を行うように構成された、符号化デバイス。
[Ｃ９]  前記第１の値は、レンジの前記セットの各々の終了値と開始値との間の差分として前記第２の長さを示す、Ｃ８に記載の符号化デバイス。
[Ｃ１０]  前記第１の値は、固定値と前記第２の長さとの間の差分を示すことによって前記第２の長さを示す、Ｃ８に記載の符号化デバイス。
[Ｃ１１]  前記プロセッサは、
前記データ構造中で、前記第１の長さを示すための第２の値を設定すること、
を行うようにさらに構成された、Ｃ８に記載の符号化デバイス。
[Ｃ１２]  前記第１のレンジは、入力値の前記レンジの始まりからの入力値の第１のセットを含み、レンジの前記セットは、入力値の前記レンジからの、入力値の前記第１のセットに続く入力値の第２のセットを含む、Ｃ８に記載の符号化デバイス。
[Ｃ１３]  前記パラメータは、前記複数の重複しないレンジの各々に関連するスケールファクタをさらに含み、
前記プロセッサは、前記データ構造に前記スケールファクタを追加すること、を行うようにさらに構成された、
Ｃ８に記載の符号化デバイス。
[Ｃ１４]  前記プロセッサは、
補足エンハンスメント情報（ＳＥＩ）メッセージ、スライスヘッダ、またはパラメータセット中に前記データ構造を含めること、
を行うようにさらに構成された、Ｃ８に記載の符号化デバイス。
[Ｃ１５]  ビデオデータをキャプチャするためのカメラ、
をさらに備える、Ｃ８に記載の符号化デバイス。
[Ｃ１６]  前記復号デバイスはモバイルデバイスを備える、Ｃ８に記載の符号化デバイス。
[Ｃ１７]  ビデオデータを復号するための方法であって、
符号化ビデオデータを取得することと、
前記符号化ビデオデータのからのビデオフレームの一部分について、前記ビデオフレームの前記一部分における、色のダイナミックレンジ調整のための区分線形関数を表すパラメータを含むデータ構造を決定することと、ここにおいて、前記パラメータは、前記区分線形関数への入力値のレンジを複数の重複しないレンジに分割する、
前記データ構造中のインジケータから、前記複数の重複しないレンジが、第１の長さを有する第１のレンジと、各々第２の長さを有するレンジのセットとを含むと決定することと、ここにおいて、前記第１の長さは前記第２の長さとは異なる、
前記データ構造中の第１の値を使用して前記第２の長さを決定することと、
前記データ構造を使用して前記第１の長さを決定することと、
前記第１の長さと、前記第２の長さと、前記複数の重複しないレンジの各々に関連するスケールファクタとを使用して、前記区分線形関数を再構築することと、ここにおいて、前記スケールファクタは前記データ構造中に含まれる、
前記ビデオフレームの前記一部分を復号することと、
ダイナミックレンジ調整を実施するために、前記ビデオフレームの前記一部分中の前記色に前記区分線形関数を適用することと、
を備える、方法。
[Ｃ１８]  前記第１の値は前記第２の長さを提供し、前記データ構造中の第２の値は前記第１の長さを提供する、Ｃ１７に記載の方法。
[Ｃ１９]  前記第１の値は、固定値と前記第２の長さとの間の差分を示すことによって前記第２の長さを示す、Ｃ１７に記載の方法。
[Ｃ２０]  前記データ構造中の第２の値は前記第１の長さを提供し、
前記第２の値に関連するインデックスから、前記第１のレンジが、入力値の前記レンジの始まりからの入力値の第１のセットを含むと決定すること、をさらに備え、ここにおいて、レンジの前記セットは、入力値の前記レンジからの、入力値の前記第１のセットに続く入力値の第２のセットを含む、Ｃ１７に記載の方法。
[Ｃ２１]  前記パラメータは、補足エンハンスメント情報（ＳＥＩ）メッセージ、スライスヘッダ、またはパラメータセット中に含まれる、Ｃ１７に記載の方法。
[Ｃ２２]  復号デバイスであって、
符号化ビデオデータを記憶するように構成されたメモリと、
プロセッサと、を備え、前記プロセッサは、
前記符号化ビデオデータのからのビデオフレームの一部分について、前記ビデオフレームの前記一部分における、色のダイナミックレンジ調整のための区分線形関数を表すパラメータを含むデータ構造を決定することと、ここにおいて、前記パラメータは、前記区分線形関数への入力値のレンジを複数の重複しないレンジに分割する、
前記データ構造中のインジケータから、前記複数の重複しないレンジは、第１の長さを有する第１のレンジと、各々第２の長さを有するレンジのセットとを含むと決定することと、ここにおいて、前記第１の長さは前記第２の長さとは異なる、
前記データ構造中の第１の値を使用して前記第２の長さを決定することと、
前記データ構造によって提供される情報を使用して前記第１の長さを決定することと、
前記第１の長さと、前記第２の長さと、前記複数の重複しないレンジの各々に関連するスケールファクタとを使用して、前記区分線形関数を再構築することと、ここにおいて、前記スケールファクタは前記データ構造中に含まれる、
前記ビデオフレームの前記一部分を復号することと、
ダイナミックレンジ調整を実施するために、前記ビデオフレームの前記一部分中の前記色に前記区分線形関数を適用することと、
を行うように構成された、
復号デバイス。
[Ｃ２３]  前記第１の値は前記第２の長さを提供し、前記データ構造中の第２の値は前記第１の長さを提供する、Ｃ２２に記載の復号デバイス。
[Ｃ２４]  前記第１の値は、固定値と前記第２の長さとの間の差分を示すことによって前記第２の長さを示す、Ｃ２２に記載の復号デバイス。
[Ｃ２５]  前記データ構造中の第２の値は前記第１の長さを提供し、
前記プロセッサは、
前記第２の値に関連するインデックスから、前記第１のレンジが、入力値の前記レンジの始まりからの入力値の第１のセットを含むと決定すること、を行うようにさらに構成され、ここにおいて、レンジの前記セットは、入力値の前記レンジからの、入力値の前記第１のセットに続く入力値の第２のセットを含む、Ｃ２２に記載の復号デバイス。
[Ｃ２６]  前記パラメータは、補足エンハンスメント情報（ＳＥＩ）メッセージ、スライスヘッダ、またはパラメータセット中に含まれる、Ｃ２２に記載の復号デバイス。
[Ｃ２７]  ビデオデータをキャプチャするためのカメラ、
をさらに備える、Ｃ２２に記載の復号デバイス。
[Ｃ２８]  復号ビデオデータを表示するためのディスプレイ、
をさらに備える、Ｃ２２に記載の復号デバイス。
[Ｃ２９]  前記復号デバイスはモバイルデバイスを備える、Ｃ２２に記載の復号デバイス。
【国際調査報告】
2021510964.tif 000052
2021510964.tif 000053