【文献】
Jicheng An et al.,Non-CE2: Separate RQT structure for Y, U and V components,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 8th Meeting: San Jose, CA, USA,2012年 1月20日,[JCTVC-H0315]
(58)【調査した分野】(Int.Cl.,DB名)
ビデオデータの第1のクロマ成分用の変換係数のアレイに関連付けられた第1の分割フラグの値を表すエントロピー符号化されたデータを受信することと、第1の残差4分木(RQT)区分化構造内のレベルにおいて、前記第1の分割フラグの前記値が、前記第1のクロマ成分用の変換係数の前記アレイがより小さい変換ブロックに分割されているかどうかを示し、前記第1のクロマ成分は、前記第1のRQT区分化構造にしたがって区分され、
前記ビデオデータの、ルーマ成分または第2のクロマ成分のうちの少なくとも1つは、復号されている前記第1のクロマ成分に関して、前記ビデオデータの以前に復号された成分中に含まれていることを決定することと、前記ビデオデータの以前に復号された成分は、第2のRQT区分化構造にしたがって区分され、
前記ビデオデータの以前に復号された成分用の変換係数のアレイに関連付けられた第2の分割フラグの値を少なくとも部分的に使用して、コンテキスト適応型バイナリ算術コーディング(CABAC)にしたがって、前記第1の分割フラグを表す前記エントロピー符号化されたデータを復号するためのコンテキストを決定することと、前記第2の分割フラグは、前記第1のRQT区分化構造内の前記第1の分割フラグに関連付けられたレベルに関して、前記第2のRQT区分化構造内の対応するレベルにあり、
前記ビデオデータの、前記ルーマ成分または前記第2のクロマ成分のうちの少なくとも1つが、前記第1のクロマ成分が復号される以前に復号されているという決定に基づいて、前記第1の分割フラグに対して前記決定されたコンテキストを使用して、CABACにしたがって前記第1の分割フラグの前記値を表す前記データをエントロピー復号することと、
前記第1の分割フラグの前記値に基づいて前記ビデオデータを復元することとを備える、ビデオデータを復号する方法。
前記ビデオデータの以前に復号された成分は、前記ビデオデータのルーマ成分を備え、前記ビデオデータの第2のクロマ成分は、第3のRQT区分化構造にしたがって区分化され、前記方法は、
前記第1のRQT区分化構造内の前記第1の分割フラグのレベルに関して前記第3のRQT区分化構造内の対応するレベルにある、前記ビデオデータの第2のクロマ成分用の変換係数の対応するアレイが、より小さい変換ブロックに分割されているかどうかを、前記第1の分割フラグの前記値がさらに示すかどうかを、前記ビデオデータに関連するブロックサイズ、ピクチャタイプ、ブロック区分、または動き情報のうちの1つに少なくとも部分的に基づいて判定することをさらに備える、請求項1に記載の方法。
前記以前に復号された成分は、前記ビデオデータの前記ルーマ成分を備え、前記ビデオデータの第2のクロマ成分は、第3のRQT区分化構造にしたがって区分化され、前記第1の分割フラグの前記値は、前記第1のRQT区分化構造内の前記第1の分割フラグのレベルに関して前記第3のRQT区分化構造内の対応するレベルにある、前記ビデオデータの第2のクロマ成分用の変換係数の対応するアレイが、より小さい変換ブロックに分割されているかどうかをさらに示す、請求項1に記載の方法。
前記ビデオデータの以前に復号された成分は、前記ルーマ成分および前記第2のクロマ成分の両方を備え、前記第2の分割フラグは、前記ビデオデータの前記ルーマ成分用の変換係数の前記アレイに関連付けられ、前記第1の分割フラグを表している前記エントロピー符号化されたデータを復号するための前記コンテキストを決定することは、前記ビデオデータの第2のクロマ成分用の変換係数のアレイに関連付けられた第3の分割フラグの値に少なくとも部分的にさらに基づいて、前記コンテキストを決定することを備える、請求項1に記載の方法。
前記ビデオデータを復元することが、変換ブロックに逆変換を実行して前記ビデオデータの第1のクロマ成分用の対応する残差値を生成することを含む、請求項1に記載の方法。
前記ビデオデータの以前に復号された成分は、前記ビデオデータのルーマ成分を備え、前記ビデオデータの第2のクロマ成分は、第3のRQT区分化構造にしたがって区分化され、前記1つまたは複数のプロセッサは、
前記第1のRQT区分化構造内の前記第1の分割フラグのレベルに関して前記第3のRQT区分化構造内の対応するレベルにある、前記ビデオデータの第2のクロマ成分用の変換係数の対応するアレイが、より小さい変換ブロックに分割されているかどうかを、前記第1の分割フラグの前記値がさらに示すかどうかを、前記ビデオデータに関連するブロックサイズ、ピクチャタイプ、ブロック区分、または動き情報のうちの1つに少なくとも部分的に基づいて判定するようにさらに構成されている、請求項6に記載のビデオ復号デバイス。
前記以前に復号された成分は、前記ビデオデータの前記ルーマ成分を備え、前記ビデオデータの第2のクロマ成分は、第3のRQT区分化構造にしたがって区分化され、前記第1の分割フラグの前記値は、前記第1のRQT区分化構造内の前記第1の分割フラグのレベルに関して前記第3のRQT区分化構造内の対応するレベルにある、前記ビデオデータの第2のクロマ成分用の変換係数の対応するアレイが、より小さい変換ブロックに分割されているかどうかをさらに示す、請求項6に記載のビデオ復号デバイス。
前記ビデオデータの以前に復号された成分は、前記ルーマ成分および前記第2のクロマ成分の両方を備え、前記第2の分割フラグは、前記ビデオデータの前記ルーマ成分用の変換係数の前記アレイに関連付けられ、第1の分割フラグを表している前記エントロピー符号化されたデータを復号するための前記コンテキストを決定するために、前記1つまたは複数のプロセッサは、前記ビデオデータの前記第2のクロマ成分用の変換係数のアレイに関連付けられた第3の分割フラグの値に少なくとも部分的にさらに基づいて、前記コンテキストを決定するようにさらに構成されている、請求項6に記載のビデオ復号デバイス。
前記ビデオデータを復元するために、前記1つまたは複数のプロセッサは、変換ブロックに逆変換を実行してビデオデータの前記第1のクロマ成分用の対応する残差値を生成するように構成されている、請求項6に記載のビデオ復号デバイス。
前記ビデオデータの以前に復号された成分は、前記ビデオデータのルーマ成分を備え、前記ビデオデータの第2のクロマ成分は、第3のRQT区分化構造にしたがって区分化され、前記命令は、実行されたとき、前記1つまたは複数のプロセッサに、
前記第1のRQT区分化構造内の前記第1の分割フラグのレベルに関して前記第3のRQT区分化構造内の対応するレベルにある、前記ビデオデータの第2のクロマ成分用の変換係数の対応するアレイが、より小さい変換ブロックに分割されるかどうかを、前記第1の分割フラグの前記値がさらに示すかどうかを、前記ビデオデータに関連するブロックサイズ、ピクチャタイプ、ブロック区分、または動き情報のうちの1つに少なくとも部分的に基づいて判定することをさらに行わせる、請求項12に記載の非一時的コンピュータ可読記憶媒体。
前記以前に復号された成分は、前記ビデオデータの前記ルーマ成分を備え、前記ビデオデータの第2のクロマ成分は、第3のRQT区分化構造にしたがって区分化され、前記第1の分割フラグの前記値は、前記第1のRQT区分化構造内の前記第1の分割フラグのレベルに関して前記第3のRQT区分化構造内の対応するレベルにある、前記ビデオデータの第2のクロマ成分用の変換係数の対応するアレイが、より小さい変換ブロックに分割されるかどうかをさらに示す、請求項12に記載の非一時的コンピュータ可読記憶媒体。
前記ビデオデータの以前に復号された成分は、前記ルーマ成分および前記第2のクロマ成分の両方を備え、前記第2の分割フラグは、前記ビデオデータの前記ルーマ成分用の変換係数の前記アレイに関連付けられ、前記第1の分割フラグを表している前記エントロピー符号化されたデータを復号するための前記コンテキストを決定することを前記1つまたは複数のプロセッサに行わせる命令は、前記ビデオデータの前記第2のクロマ成分用の変換係数のアレイに関連付けられた第3の分割フラグの値に少なくとも部分的にさらに基づいて、前記コンテキストを決定することを前記1つまたは複数のプロセッサに行わせる命令を備える、請求項12に記載の非一時的コンピュータ可読記憶媒体。
前記ビデオデータを復元することを前記1つまたは複数のプロセッサに行わせる命令は、実行されたとき、変換ブロックに逆変換を実行して前記ビデオデータの第1のクロマ成分用の対応する残差値を生成することを前記1つまたは複数のプロセッサに行わせる命令を備える、請求項12に記載の非一時的コンピュータ可読記憶媒体。
ビデオデータの第1のクロマ成分用の変換係数のアレイに関連付けられた第1の分割フラグの値を表すエントロピー符号化されたデータを受信する手段と、第1の残差4分木(RQT)区分化構造内のレベルにおいて、前記第1の分割フラグの前記値が、前記第1のクロマ成分用の変換係数の前記アレイがより小さい変換ブロックに分割されているかどうかを示し、前記第1のクロマ成分は、前記第1のRQT区分化構造にしたがって区分され、
前記ビデオデータの、ルーマ成分または第2のクロマ成分のうちの少なくとも1つは、復号されている前記第1のクロマ成分に関して、前記ビデオデータの以前に復号された成分中に含まれていることを決定する手段と、前記ビデオデータの以前に復号された成分は、第2のRQT区分化構造にしたがって区分され、
前記ビデオデータの以前に復号された成分用の変換係数のアレイに関連付けられた第2の分割フラグの値を少なくとも部分的に使用して、コンテキスト適応型バイナリ算術コーディング(CABAC)にしたがって、前記第1の分割フラグを表す前記エントロピー符号化されたデータを復号するためのコンテキストを決定する手段と、前記第2の分割フラグは、前記第1のRQT区分化構造内の前記第1の分割フラグに関連付けられたレベルに関して前記第2のRQT区分化構造内の対応するレベルにあり、
前記ビデオデータの、前記ルーマ成分または前記第2のクロマ成分のうちの少なくとも1つが、前記第1のクロマ成分が復号される以前に、復号されているという決定に基づいて、前記第1の分割フラグに対して前記決定されたコンテキストを使用して、CABACにしたがって前記第1の分割フラグの前記値を表す前記データをエントロピー復号する手段と、
前記第1の分割フラグの前記値に基づいてビデオデータを復元する手段とを備える、ビデオデータを復号するための装置。
第1の残差4分木(RQT)区分化構造内のレベルにおいて、ビデオデータの第1のクロマ成分用の変換係数のアレイがより小さい変換ブロックに分割されているかどうかを示すために、第1の分割フラグの値を生成することと、前記第1のクロマ成分は、前記第1のRQT区分化構造にしたがって区分され、
前記ビデオデータの、ルーマ成分または第2のクロマ成分のうちの少なくとも1つは、符号化されている前記第1のクロマ成分に関して、前記ビデオデータの以前に符号化された成分中に含まれていることを決定することと、前記ビデオデータの以前に符号化された成分は、第2のRQT区分化構造にしたがって区分され、
前記ビデオデータの以前に符号化された成分用の変換係数のアレイに関連付けられた第2の分割フラグの値を少なくとも部分的に使用して、コンテキスト適応型バイナリ算術コーディング(CABAC)にしたがって、前記第1の分割フラグを符号化するためのコンテキストを決定することと、
前記ビデオデータの、前記ルーマ成分または前記第2のクロマ成分のうちの少なくとも1つが、前記第1のクロマ成分が符号化される以前に符号化されているという決定に基づいて、前記第1の分割フラグに対して前記決定されたコンテキストを使用して、CABACにしたがって前記第1の分割フラグの前記値を表す前記データをエントロピー符号化することと、
前記第1の分割フラグの前記値を表すエントロピー符号化されたデータをビットストリームの一部として出力することとを備える、ビデオデータを符号化する方法。
前記ビデオデータの以前に符号化された成分は、前記ビデオデータのルーマ成分を備え、前記ビデオデータの第2のクロマ成分は、第3のRQT区分化構造にしたがって区分化され、前記方法は、
前記第1のRQT区分化構造内の前記第1の分割フラグのレベルに関して前記第3のRQT区分化構造内の対応するレベルにある、前記ビデオデータの第2のクロマ成分用の変換係数の対応するアレイが、より小さい変換ブロックに分割されているかどうかを、前記第1の分割フラグの前記値がさらに示すかどうかを、前記ビデオデータに関連するブロックサイズ、ピクチャタイプ、ブロック区分、または動き情報のうちの1つに少なくとも部分的に基づいて判定することをさらに備える、請求項18に記載の方法。
前記第1の分割フラグの前記値は、前記第1のRQT区分化構造内の前記第1の分割フラグのレベルに関して前記第3のRQT区分化構造内の対応するレベルにある、前記ビデオデータの第2のクロマ成分用の変換係数の対応するアレイが、より小さい変換ブロックに分割されているかどうかをさらに示す、請求項19に記載の方法。
前記第2の分割フラグは、前記ビデオデータの前記ルーマ成分用の変換係数の前記アレイに関連付けられ、前記第1の分割フラグを符号化するための前記コンテキストを決定することは、前記ビデオデータの第2のクロマ成分用の変換係数のアレイに関連付けられた第3の分割フラグの値に少なくとも部分的にさらに基づいて、前記コンテキストを決定することを備える、請求項20に記載の方法。
前記ビデオデータの以前に符号化された成分は、前記ビデオデータのルーマ成分を備え、前記ビデオデータの第2のクロマ成分は、第3のRQT区分化構造にしたがって区分化され、前記1つまたは複数のプロセッサは、
前記第1のRQT区分化構造内の前記第1の分割フラグのレベルに関して前記第3のRQT区分化構造内の対応するレベルにある、前記ビデオデータの第2のクロマ成分用の変換係数の対応するアレイが、より小さい変換ブロックに分割されているかどうかを、前記第1の分割フラグの前記値がさらに示すかどうかを、前記ビデオデータに関連するブロックサイズ、ピクチャタイプ、ブロック区分、または動き情報のうちの1つに少なくとも部分的に基づいて判定するようにさらに構成されている、請求項22に記載のビデオ符号化デバイス。
前記第1の分割フラグの前記値は、前記第1のRQT区分化構造内の前記第1の分割フラグのレベルに関して前記第3のRQT区分化構造内の対応するレベルにある、前記ビデオデータの第2のクロマ成分用の変換係数の対応するアレイが、より小さい変換ブロックに分割されているかどうかをさらに示す、請求項23に記載のビデオ符号化デバイス。
前記第2の分割フラグは、前記ビデオデータの前記ルーマ成分用の変換係数の前記アレイに関連付けられ、第1の分割フラグを符号化するための前記コンテキストを決定するために、前記1つまたは複数のプロセッサは、前記ビデオデータの前記第2のクロマ成分用の変換係数のアレイに関連付けられた第3の分割フラグの値に少なくとも部分的にさらに基づいて、前記コンテキストを決定するようにさらに構成されている、請求項22に記載のビデオ符号化デバイス。
前記ビデオデータの以前に符号化された成分は、前記ビデオデータのルーマ成分を備え、前記ビデオデータの第2のクロマ成分は、第3のRQT区分化構造にしたがって区分化され、前記命令は、実行されたとき、前記1つまたは複数のプロセッサに、
前記第1のRQT区分化構造内の前記第1の分割フラグのレベルに関して前記第3のRQT区分化構造内の対応するレベルにある、前記ビデオデータの第2のクロマ成分用の変換係数の対応するアレイが、より小さい変換ブロックに分割されているかどうかを、前記第1の分割フラグの前記値がさらに示すかどうかを、前記ビデオデータに関連するブロックサイズ、ピクチャタイプ、ブロック区分、または動き情報のうちの1つに少なくとも部分的に基づいて判定することをさらに行わせる、請求項27に記載の非一時的コンピュータ可読記憶媒体。
前記第1の分割フラグの前記値は、前記第1のRQT区分化構造内の前記第1の分割フラグのレベルに関して前記第3のRQT区分化構造内の対応するレベルにある、前記ビデオデータの第2のクロマ成分用の変換係数の対応するアレイが、より小さい変換ブロックに分割されているかどうかをさらに示す、請求項28に記載の非一時的コンピュータ可読記憶媒体。
前記第2の分割フラグは、前記ビデオデータの前記ルーマ成分用の変換係数の前記アレイに関連付けられ、前記コンテキストを決定することを前記1つまたは複数のプロセッサに行わせる命令は、実行されたとき、ビデオデータの第2のクロマ成分用の変換係数のアレイに関連付けられた第3の分割フラグの値に少なくとも部分的にさらに基づいて、前記コンテキストを決定することを前記1つまたは複数のプロセッサに行わせる命令を備える、請求項27に記載の非一時的コンピュータ可読記憶媒体。
第1の残差4分木(RQT)区分化構造内のレベルにおいて、ビデオデータの第1のクロマ成分用の変換係数のアレイがより小さい変換ブロックに分割されるかどうかを示すために、第1の分割フラグの値を生成する手段と、前記第1のクロマ成分は、前記第1のRQT区分化構造にしたがって区分され、
前記ビデオデータの、ルーマ成分または第2のクロマ成分のうちの少なくとも1つは、符号化されている前記第1のクロマ成分に関して、前記ビデオデータの以前に符号化された成分中に含まれていることを決定する手段と、前記ビデオデータの以前に符号化された成分は、第2のRQT区分化構造にしたがって区分され、
前記ビデオデータの以前に符号化された成分用の変換係数のアレイに関連付けられた第2の分割フラグの値を少なくとも部分的に使用して、コンテキスト適応型バイナリ算術コーディング(CABAC)にしたがって、前記第1の分割フラグを符号化するためのコンテキストを決定する手段と、
前記ビデオデータの、前記ルーマ成分または前記第2のクロマ成分のうちの少なくとも1つが、前記第1のクロマ成分が符号化される以前に符号化されているという決定に基づいて、前記第1の分割フラグに対して前記決定されたコンテキストを使用して、CABACにしたがって前記第1の分割フラグをエントロピー符号化する手段と、
前記第1の分割フラグの前記値を表すエントロピー符号化されたデータをビットストリームの一部として出力する手段とを備える、ビデオデータを符号化するための装置。
前記第1の分割フラグを表す前記エントロピー符号化されたデータを復号するためのコンテキストを決定することは、前記第2の分割フラグの前記値と前記第3の分割フラグの前記値との関数を使用して、前記コンテキストを決定することを備える、請求項4記載の方法。
前記第1の分割フラグを表す前記エントロピー符号化されたデータを符号化するためのコンテキストを決定することは、前記第2の分割フラグの前記値と前記第3の分割フラグの前記値との関数を使用して、前記コンテキストを決定することを備える、請求項21記載の方法。
【発明を実施するための形態】
【0016】
[0026]いくつかのビデオコーディング規格によれば、ビデオブロックのルーマ成分(Y)、およびクロマ成分(U、V)の各々は、変換ユニット(TU)区分化のための同じ4分木分解構造を共有する。これにより、変換ブロック当たり1つだけの変換分割フラグを通知することが可能になるが、フラグがルーマおよびクロマの色成分の間で共有される場合、色成分の各々は異なる特性を有することができる。したがって、色成分ごとに独立した4分木分解構造を有すると、より最適な変換ユニット区分化をもたらすことができる。しかしながら、独立した4分木分解構造は、さらなる分割フラグの通知を必要とする可能性がある。本明細書に記載される例示的な技法のうちのいくつかによれば、1つの色成分用の分割フラグをエントロピー符号化するために使用されるコンテキストは、別の色成分の分割フラグの値に基づく場合がある。このようにして、符号化されたビットストリームの中で、任意のさらなる分割フラグが効率的に通知され得る。
【0017】
[0027]デジタルビデオデバイスは、ビデオ圧縮技法を実装して、デジタルビデオ情報をより効率的に符号化および復号する。ビデオ圧縮技法は、ビデオコーディング規格に従って定義することができる。ビデオコーディング規格の他の例には、ITU−T H.261、ISO/IEC MPEG−1 Visual、ITU−T H.262またはISO/IEC MPEG−2 Visual、ITU−T H.263、ISO/IEC MPEG−4 Visual、ならびに、そのスケーラブルビデオコーディング(SVC)およびマルチビュービデオコーディング(MVC)の拡張を含む(ISO/IEC MPEG−4 AVCとしても知られている)ITU−T H.264が含まれる。加えて、ITU−T Video Coding Experts Group(VCEG)およびISO/IEC Motion Picture Experts Group(MPEG)のJoint Collaboration Team on Video Coding(JCT−VC)によって開発されている新しいビデオコーディング規格、すなわち高効率ビデオコーディング(HEVC)が存在する。
【0018】
[0028]HEVCの規格化の取り組みは、HEVCテストモデル(HM)と呼ばれるビデオコーディングデバイスの発展しつつあるモデルに基づく。HMは、他の以前のビデオコーディング規格、たとえばITU−T H.264/AVCの開発中に利用可能なビデオコーディングデバイスに対して、能力が向上していると仮定する。たとえば、H.264は9個のイントラ予測符号化モードを提供するが、HEVCは35個ものイントラ予測符号化モードを提供する。「HEVC Working Draft 6」または「WD6」と呼ばれるHEVCの最近の作業ドラフト(WD)は、文書JCTVC−H1003、Brossら、「High Efficiency Video Coding(HEVC)text specification draft 6」、ITU−T SG16 WP3およびISO/IEC JTC1/SC29/WG11のJoint Collaborative Team on Video Coding(JCT−VC)、第7回会合:スイス ジュネーブ、2011年11月に記載されている。さらに、「HEVC Working Draft 9」または「WD9」と呼ばれるHEVC規格の最近の作業ドラフトは、文書JCTVC−K1003_v7、Brossら、「High Efficiency Video Coding(HEVC) Text Specification Draft 9」、ITU−T SG16 WP3およびISO/IEC JTC1/SC29/WG11のJoint Collaborative Team on Video Coding(JCT−VC)、第11回会合:中国 上海、2012年10月に記載されている。HEVC規格は、HEVCの配信バージョン用の規格番号であることを意図した、ISO/IEC 23008−HEVCと呼ばれる場合もある。本出願では、例示のために、開発中のHEVC規格の現在提案されている態様のいくつかに従うコーディングが記載される。しかしながら、本開示に記載された技法は、H.264または他の規格に従って定義されるビデオコーディングプロセス、または他の標準もしくはプロプライエタリなビデオコーディングプロセスなどの他のビデオコーディングプロセスのために有用であり、適用することができる。
【0019】
[0029]HEVC WD6などのビデオコーディング規格に従って動作する典型的なビデオエンコーダは、元のビデオシーケンスの各フレーム(すなわち、ピクチャ)を、「ビデオブロック」と呼ばれる場合もある、連続する長方形の領域に区分化する。これらのブロックは、ビデオシーケンスに固有の冗長性を低減または除去するために、空間的(フレーム内)予測技法および/または時間的(フレーム間)予測技法を適用することによって、符号化することができる。空間的予測は「イントラモード」(Iモード(登録商標))と呼ばれる場合があり、時間的予測は「インターモード」(PモードまたはBモード)と呼ばれる場合がある。予測技法は、ビデオデータの予測ブロックを生成し、予測ブロックは、参照サンプルのブロックと呼ばれる場合もある。コード化されるべき元のビデオデータのブロックは、予測ブロックと比較される。ビデオデータの元のブロックと予測ブロックとの間の差分は、残差データと呼ばれる場合がある。残差データは、通常、予測ブロックのサンプルとビデオデータの元のブロックのピクセル値との間の差分を示す差分値のアレイである。
【0020】
[0030]変換、たとえば離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念上同様な変換は、対応する変換係数のセットを生成するために、コーディングプロセスの間残差データに適用することができる。変換係数は重みと呼ばれる場合もある。したがって、ビデオの元のブロックは、変換係数に逆変換を実行し、残差データを予測ブロックに追加することによって、復元され得る。変換係数はまた、量子化され得る。量子化された変換係数は、変換係数レベルと呼ばれる場合がある。量子化は、一般に、係数を表すために使用されるデータ量をできるだけ低減するために、変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減することができる。たとえば、量子化中にnビット値をmビット値に切り捨てることができ、ここで、nはmよりも大きい。量子化は情報の損失をもたらす。したがって、量子化された係数は、元の係数よりも低い精度を有する。変換係数に加えて、動きベクトルなどのシンタックス要素も量子化することができる。これらと一部の制御情報とは、ビデオシーケンスの完全なコード化表現を形成する。圧縮比、すなわち、元のビデオシーケンスと圧縮されたビデオシーケンスとを表すために使用されるビット数の比は、変換係数を量子化するときに使用される量子化パラメータ(QP)の値を調整することによって制御され得る。
【0021】
[0031]量子化に続いて、量子化されたデータのエントロピーコーディングが実行され、それによって、それらの表現に必要とされるビットの数をさらに低減することができる。エントロピーコーディングは、送信または記憶されたシンボルを表すために必要なビット数を、それらの分布の特性(いくつかのシンボルは他のシンボルよりも頻繁に生じる)を利用することによって、最小化することを目的としたロスレス演算である。エントロピー符号化は、たとえば、コンテンツ適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、確率間隔区分エントロピーコーディング(PIPE)、または別のエントロピーコーディング技法に従って実行され得る。予測モードを定義するシンタックス要素などのシンタックス要素のエントロピーコーディングも実行され得る。圧縮比はまた、採用されるエントロピーコーディングの方法に依存する。
【0022】
[0032]一例として、HEVCに従うビデオコーディングの場合、ビデオフレームはコーディングユニットに区分化され得る。コーディングユニット(CU)は、ツリーブロックまたはコーディングノードと呼ばれる場合もある。一般に、HMのワーキングモデルは、ビデオフレームまたはピクチャを1つまたは複数のスライスに分割できることを記述し、ここで、スライスはコーディング順序で連続するツリーブロックのシーケンスを含む。ツリーブロックは、H.264規格のマクロブロックと同様の目的を有し、代替として最大コーディングユニット(LCU)と呼ばれる場合がある。コーディングユニットは、一般に、ビデオ圧縮のために様々なコーディングツールが適用される基本ユニットとして働く長方形の画像領域を指す。CUは、通常、Yと表記されるルミナンス成分と、UおよびVと表記される2つのクロマ成分とを有する。2つのクロマ成分UおよびVは、それぞれ、C
bおよびC
rによって表記される場合もある。CUは、ビデオサンプル値のアレイと見なすことができる。ビデオサンプル値は、画素、ピクセル、またはペルと呼ばれる場合もある。CUのサイズは、水平サンプルおよび垂直サンプルの数によって定義され得、通常、水平ルーマサンプルおよび垂直ルーマサンプルの数によって定義される。したがって、CUはN×NまたはN×MのCUと記述され得る。
【0023】
[0033]本開示では、「NxN」および「NbyN」は、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法、たとえば、16x16ピクセルまたは16by16ピクセルを指すように互換的に使用することができる。一般に、16x16ブロックは、垂直方向に16ピクセル(y=16)、水平方向に16ピクセル(x=16)を有する。同様に、NxNブロックは、一般に、垂直方向にNピクセル、水平方向にNピクセルを有し、ここでNは非負整数値を表す。ブロック内のピクセルは行と列で構成することができる。その上、ブロックは、必ずしも、水平方向に垂直方向と同じ数のピクセルを有する必要があるとは限らない。たとえば、ブロックはNxMピクセルを備える場合があり、ここでMは必ずしもNに等しいとは限らない。
【0024】
[0034]良好なコーディング効率を実現するために、CUはビデオコンテンツに応じて可変サイズを有することができる。HEVCに従って、ビットストリーム内のシンタックスデータは、ルーマサンプルの数に関してフレームまたはピクチャ用の最大のCUである、LCUサイズを定義することができる。通常のビデオコーディングアプリケーションでは、LCUは、64×64、32×32、または16×16のルーマサンプルであり得る。他の寸法のCUは、LCUをサブCUに再帰的に区分化することによって生成され得る。CUのサイズは、8×8ピクセルから最大64×64以上のピクセルを有するツリーブロックのサイズまで及ぶ場合がある。ビットストリーム用のシンタックスデータは、CU深度と呼ばれる、LCUが分割され得る最大回数を定義することができる。したがって、ビットストリームは最小コーディングユニット(SCU)を定義することもできる。通常、SCUは8x8のルーマサンプルを含む。したがって、一例では、4個の32x32CUは、64x64LCUを4個のサブCUに区分化することによって生成することができ、32x32CUの各々は、さらに16個の8x8CUに区分化することができる。
【0025】
[0035]各ツリーブロックは、4分木区分化方式に従ってCUに分割され得る。たとえば、4分木のルートノードとしてのツリーブロックは、4つの子ノードに分割され得、各子ノードは、次に親ノードとなり、別の4つの子ノードに分割され得る。4分木のリーフノードとしての最終的な分割されない子ノードは、コーディングノード、すなわち、コード化ビデオブロックを備える。コーディングされたビットストリームに関連するシンタックスデータは、ツリーブロックが分割され得る最大回数を定義することができ、コーディングノードの最小サイズを定義することもできる。
【0026】
[0036]CUは、予測または変換の目的でより小さいユニットに区分化され得る。HEVCのWD6によれば、CUは、1つもしくは複数の予測ユニット(PU)および/または1つもしくは複数の変換ユニット(TU)を含む場合がある。本開示はまた、「ブロック」、「区分」または「部分」という用語を使用して、CU、PU、またはTUのいずれかを指す。一般に、「部分」は、ビデオフレームの任意のサブセットを指すことができる。さらに、本開示は、通常、「ビデオブロック」という用語を使用して、CUのコーディングノードを指す。いくつかの特定の場合では、本開示はまた、「ビデオブロック」という用語を使用して、コーディングノード、PUおよびTUを含むツリーブロック、すなわち、LCUまたはCUを指す場合がある。したがって、ビデオブロックはCU内部のコーディングノードに対応する場合があり、ビデオブロックは固定または可変のサイズを有する場合があり、指定されたコーディング規格に応じてサイズが異なる場合がある。
【0027】
[0037]一般に、PUは、予測プロセスに関係するデータを含む。PUは、対応するCUの全部または一部を表す場合があり、PU用の参照サンプルを取り出すためのデータを含む場合がある。PUは正方形または長方形の形状を有する場合がある。たとえば、PUがイントラモード符号化されるとき、PUは、PUについてのイントラ予測モードを記述するデータを含む場合がある。別の例として、PUがインターモード符号化されるとき、PUは、PUのための動きベクトルを定義するデータを含む場合がある。PUのための動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルについての解像度(たとえば、1/4ピクセル精度もしくは1/8ピクセル精度)、動きベクトルが指す参照ピクチャ、および/または動きベクトル用の参照ピクチャリスト(たとえば、リスト0、リスト1、もしくはリストC)を記述することができる。
【0028】
[0038]HMは、様々なPUサイズを使用する予測をサポートする。CUに関連するシンタックスデータは、CUを1つまたは複数のPUに区分化することを記述することができる。たとえば、CUがインター予測を使用してコーディングされた場合、CUは4つの長方形PUに分割でき、各PUは、時間的に隣接するフレーム内の参照サンプルのセットを識別する情報を含む。参照サンプルのセットは、結合されて予測ビデオブロックを形成することができる。上述されたように、予測ビデオブロックは、CUから減算されて残差データを形成することができる。加えて、特定のCUのサイズが2N×2Nであると仮定すると、HMは、2N×2NまたはN×NのPUサイズでのイントラ予測をサポートし、2N×2N、2N×N、N×2N、またはN×Nの対称的なPUサイズでのインター予測をサポートする。HMはまた、2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズでのインター予測のための非対称区分化をサポートする。非対称区分化では、CUの一方向は区分化されないが、他の方向は25%と75%とに区分化される。25%の区分に対応するCUの部分は、「n」とその後ろに付く「Up」、「Down」、「Left」、または「Right」という指示によって示される。したがって、たとえば、「2N×nU」は、上部の2N×0.5NのPUおよび下部の2N×1.5NのPUで水平方向に区分化された2N×2NのCUを指す。
【0029】
[0039]上述されたように、変換演算は残差データに適用されて、残差データをピクセル領域から変換領域に変換することができる。TUは、変換を実行し、変換係数の対応するセットを生成する目的のためのピクセル差分値のセットのサイズを表す。したがって、変換ブロックまたはTUは、変換が適用される残差データのセット、または変換係数値のセットのいずれかを指すことができる。TUのサイズはCUのサイズと同じ場合があるか、またはCUは複数のTUに区分化される場合がある。CUに関連するシンタックスデータは、たとえば、4分木に従って、CUを1つまたは複数のTUに区分化することを記述することもできる。TUは、区分化されたLCUについて定義された所与のCU内のPUのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。TUは、PUと同じサイズであるか、またはPUよりも小さいか、または場合によってはPUよりも大きい場合がある。たとえば、変換は、4×4、8×8または16×16以上などの様々なサイズのブロックに基づいて実行され得る。たとえば、16×4、32×8などの長方形の形状の変換ブロックが使用される場合もある。たとえば、ある変換は、ルーマサンプルの16x16アレイに関連付けられた残差値に実行され得、ある変換は、ルーマサンプルの4つの8x8アレイの各々に実行され得る。より大きいTUは、一般に、復元された画像内のより知覚可能な「ブロッキネス」を有するより大きい圧縮を提供し、より小さいTUは、一般に、より知覚可能でない「ブロッキネス」を有するより小さい圧縮しか提供しない。TUサイズの選択は、レートひずみ最適化分析に基づく場合がある。レートひずみ分析は、一般に、復元されたブロックと、元(すなわち、符号化されていないブロック)との間のひずみ(または誤差)の量、ならびにブロックを符号化するために使用されるビットレート(すなわち、ビット数)を決定する。
【0030】
[0040]LCUと同様に、TUは、ツリー構造を使用して、より小さいTUに再帰的に区分化され得る。すなわち、CUに対応する残差サンプルは、残差4分木(RQT)を使用してより小さいユニットに再分割され得、RQTのリーフノードはTUと呼ばれる場合がある。TUをより小さいTUに区分化することから得られるTU構造または変換ブロック構造は、変換ツリーと呼ばれる場合がある。
【0031】
[0041]
図1は4分木分解構造を示す概念図であり、そこでは、TUは連続するレベルまたは深度で4個の4分の1サイズのブロックに分割されるか、または分割されないかのいずれかである。
図1では、実線を有するブロック全体が、元のCUに対応できる元のTUである。破線は、4分木分解構造に従った変換ブロックの分解、すなわちROT分解の一結果を示す。
図1に示された分解は、いくつかの可能な分解結果のうちの1つであることに留意されたい。
【0032】
[0042]
図1に示された4分木分解構造では、ブロックが分割されないか、または4つの4分の1サイズのブロックに分割されるかの判定が行われる。
図1に示されたように、4つのレベルの変換分解が存在する。コーディングユニット全体に対応する第1のレベル(すなわち、レベル0分解深度0)で、コーディングユニットは、4分の1サイズの変換ブロックに分割される。次いで、第2のレベル(すなわち、レベル1または深度1)で、第2の(すなわち、ラスタースキャンでは)4分の1サイズの変換ブロックは、4つの1/16サイズの変換ブロックにさらに分割される。次いで、第3のレベル(すなわち、レベル2または深度2)で、第4の1/16サイズの変換ブロックは、4つのさらに小さい変換ブロックにさらに分割される。符号化プロセスの間、ビデオエンコーダは、レートひずみ最適化分析に基づいて、変換ブロックがさらに分割されるべきかどうかを判定することができる。
【0033】
[0043]符号化されたビデオのビットストリーム内でツリー分解構造を通知するために、一連の変換分割フラグが使用され得る。この一連の分割フラグは、RQT構造を定義するために使用され得る。各フラグはRQT内のレベル(すなわち、深度)に対応することができ、0のフラグ値は、現在のブロック深度でこれ以上の分割がないことを示し、1のフラグ値は、現在のブロック深度が4つのさらなる4分の1サイズのブロックに分割されるべきことを示す。ブロックごとに、変換分割フラグはビデオエンコーダによってコーディングされて、ブロックがさらに分割されるべきかどうかを示すことができる。
【0034】
[0044]
図2は、4分木分解を示すレベル図である。
図2は、
図1に示された4分木分解を通知するために使用できるレベル図の一例を示す。
図2に示されたように、様々な分解レベルで、次のように変換分割フラグが通知され得る。
【数1】
【0035】
[0045]コーディングユニットレベルであるレベル0で、変換がさらに分割されるので、1のフラグが通知される。レベル1で、第2の4分の1サイズのブロックだけがさらに分割されるので、0,1,0,0のフラグが符号化されたビットストリーム内でビデオエンコーダによって送られる。レベル2で、他のブロックはこれ以上分割されないので、第2の4分の1サイズのブロックだけがビデオエンコーダによってさらに通知される必要がある。第2の4分の1サイズのブロックでは、第4のブロックだけがさらに分割されるので、0,0,0,1のフラグがレベル2でビデオエンコーダによって送られる。レベル3で、ブロックはこれ以上分割されないので、0,0,0,0のフラグが送られる。明確にするために、本開示では、より小さいレベルまたは深度の値は分解構造内のルートレベルにより近いレベルを意味することに言及されるべきである。
図1および
図2に示されたように、レベル0はルートレベルである。最大深度(すなわち、レベル)の値が4分木について定義され得、最大深度の値はルートレベルからどれだけ遠い分割が起こり得るかを示す。このようにして、最大深度の値は、CU用の最小の可能なTUのサイズを示すために使用され得る。
図1に示された例では、ブロックは正方形の形状のサブブロックのみに分割される。しかしながら、HEVC WD6に記述された分解技法などの他の分解技法では、ブロックは、長方形のサブブロックに分割することもできる。
【0036】
[0046]
図3Aおよび
図3Bは4分木分解構造を示す概念図であり、そこでは、TUは、4個の非正方形ブロックに分割されるか、または分割されないかのいずれかである。
図3Aに示されたように、TUは、変換目的で4個のより小さい非正方形ブロックに区分化することができる。さらに、
図3Bに示されたように、非正方形分解構造も再帰的であり得る。たとえば、
図3Bに示されたように、第1のサブブロックは、元のブロックの16分の1のサイズを有する4個のさらに小さい非正方形ブロックに、さらに区分化することができる。
【0037】
[0047]上述されたように、CUは、たとえば、Y、UおよびVなどの3つの成分を有することができる。カラービデオデータを表現するために、RGBなどの他の技法と色空間とを使用することもできるが、例示のためにYUVが本明細書に記載されることに留意されたい。HEVCのWD6によれば、CUの場合、そのルーマ成分Y、ならびにそのクロマ成分UおよびVは、TU区分化用の同じ4分木分解構造を共有する。したがって、現在のHM参照ソフトウェアでは、3つの成分のすべてが同じRQT構造を共有する。すなわち、RQT構造内で分割フラグ=1の場合、3つの成分すべては、このレベルでより小さい変換ブロックにさらに分割される。これにより、変換ブロック当たり1つだけの変換分割フラグを通知することが可能になり、フラグは、Y、UおよびVの成分の間で共有され、Y、UおよびVの各々は、各々異なる特性を有することができる。たとえば、UおよびVは、一般にYよりも平滑である。したがって、Y成分の特性に基づいた変換分解構造は、UおよびVには最適でない可能性がある。
【0038】
[0048]場合によっては、UおよびVに最適な変換は、Yよりも(大きい変換サイズに対応する)低い深度であり得る。言い換えれば、Y成分のブロックをU成分およびV成分のブロックよりも小さい区分に分割することが望ましい場合があり、他の場合ことによると逆もまた同様である。その全体が参照により本明細書に組み込まれる、2012年3月7日に出願された同時係属中の米国特許出願第13/414,232号に記載された技法などのいくつかの技法は、RQTについて、第1の最大深度がルーマ成分用に定義され、第2の最大深度がクロマ成分用に定義される場合を含むことに留意されたい。ルーマ成分用の第1の最大深度と、クロマ成分用の第2の最大深度を有すると、Y成分、U成分およびV成分の各々の区分化について必ず独立性が提供され、すなわち、低いレベルの分割フラグ(たとえば、レベル0およびレベル1)がY、U、およびVについて共有される。
【0039】
[0049]分割フラグに加えて、HEVCのWD6は、変換係数または変換のブロックが任意の非ゼロ変換係数を含むかどうかを示す、コード化ブロックフラグ(CBF)シンタックス要素を含む。コード化ブロックフラグの通知は、変換ブロック構造に密接に関連付けられ、トップダウン階層型方式でビデオエンコーダによって通知される。たとえば、より低い分解レベルでのコード化ブロックフラグが0であるとき、(より低いレベルがルートにより近く、より高いレベルがルートからより遠い場合)そのビデオ成分についてのより高いレベルでのコード化ブロックフラグのこれ以上の通知はない。この場合、対応するより高いレベルのコード化ブロックフラグは、すべて0であると推論される。言い換えれば、コード化ブロックフラグが分解のあるレベルでコーディングされるとき、それより高いレベルにあるコード化ブロックフラグは、現在の分解レベルにあるコード化ブロックフラグがゼロでないときのみ必要とされる。
【0040】
[0050]上述されたように、ビデオコーディング規格は、CABAC技法に従ってシンタックス要素をエントロピーコーディングすることができる。CABACコーディングをシンタックス要素に適用するために、ビデオコーダは、シンタックス要素に2値化を実行することができる。2値化は、シンタックス値を一連の1つまたは複数のビットに変換するプロセスを指す。これらのビットは「ビン」と呼ばれる場合がある。2値化はロスレスプロセスであり、以下のコーディング技法のうちの1つまたは組合せを含む場合がある:固定長コーディング、単項コーディング、切頭単項コーディング、切頭ライスコーディング、ゴロムコーディング、指数ゴロムコーディング、およびゴロムライスコーディング。たとえば、2値化は、5の整数値を、8ビット固定長技法を使用して00000101として、または単項コーディング技法を使用して11110として表現することを含む場合がある。
【0041】
[0051]2値化の後、ビデオコーダはコーディングコンテキストを識別することができる。コーディングコンテキストは、特定の値を有するビンをコーディングする確率を識別することができる。たとえば、コーディングコンテキストは、0の値のビンをコーディングする0.7の確率と、1の値のビンをコーディングする0.3の確率とを示すことができる。コーディングコンテキストを識別した後、ビデオコーダは、コンテキストに基づいてそのビンを算術的にコーディングすることができる。正規のCABACコーディングを使用してコーディングされたビンは、「CABACビン」と呼ばれる場合がある。
【0042】
[0052]さらに、すべてのシンタックス要素に正規のCABAC符号化を実行するのではなく、ビデオコーダは、バイパスのCABACコーディングを使用して、いくつかのシンタックス要素(たとえば、ビン)をコーディングすることができる。バイパスコーディングは、適応型コンテキストを使用せずにビンを算術的に符号化するプロセスを指す。すなわち、バイパスコーディングエンジンは、コンテキストを選択せず、両方のシンボル(0および1)について0.5の確率を仮定することができる。バイパスコーディングはCABACコーディングほど帯域幅が効率的ではない場合があるが、ビンに正規のCABACコーディングを実行するのではなく、ビンにバイパスコーディングを実行することは、計算上より高価ではない可能性がある。さらに、バイパスコーディングを実行すると、より高い程度の並列化およびスループットが可能になる場合がある。バイパスコーディングを使用してコーディングされたビンは、「バイパスビン」と呼ばれる場合がある。特定のビンがCABACコーディングされるにしろ、バイパスコーディングされるにしろ、シンタックス要素の2値化、および/またはビンを符号化するために使用されるコンテキストは、別のシンタックス要素の値に基づく場合がある。
【0043】
[0053]HEVCのWD6に記述されたTU区分化技法の特性に鑑みて、本開示は、ビデオデータの色成分用の独立した4分木分解構造を通知するための技法を記載する。本明細書に記載される例示的な技法のうちのいくつかによれば、1つの色成分用の分割フラグをエントロピーコーディングするために使用されるコンテキストは、別の色成分の分割フラグの値に基づく場合がある。このようにして、符号化されたビットストリームの中で、任意のさらなる分割フラグが効率的に通知され得る。
【0044】
[0054]
図4は、本開示に記載された技法を利用できる、例示的なビデオ符号化および復号システム10を示すブロック図である。
図4に示されたように、システム10は、宛先デバイス14によって後で復号されるべき符号化ビデオデータを生成するソースデバイス12を含む。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備えることができる。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信に対応することができる。
【0045】
[0055]宛先デバイス14は、リンク16を介して復号されるべき符号化ビデオデータを受信することができる。リンク16は、ソースデバイス12から宛先デバイス14に符号化ビデオデータを移動することが可能な、任意のタイプの媒体またはデバイスを備えることができる。一例では、リンク16は、ソースデバイス12が、符号化ビデオデータをリアルタイムで宛先デバイス14に直接送信することを可能にするための通信媒体を備えることができる。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信することができる。通信媒体は、無線周波数(RF)スペクトルまたは1つもしくは複数の物理伝送線路などの任意のワイヤレスまたは有線の通信媒体を備えることができる。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなどのパケットベースネットワークの一部を形成することができる。通信媒体は、ソースデバイス12から宛先デバイス14への通信を容易にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含むことができる。
【0046】
[0056]代替として、符号化データは、出力インターフェース22からストレージデバイス32に出力することができる。同様に、符号化データは、入力インターフェース28によってストレージデバイス32からアクセスすることができる。ストレージデバイス32は、ハードドライブ、ブルーレイ(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または符号化ビデオデータを記憶するための任意の他の適切なデジタル記憶媒体などの様々な分散されるか、またはローカルでアクセスされるデータ記憶媒体のいずれかを含むことができる。さらなる一例では、ストレージデバイス32は、ソースデバイス12によって生成された符号化ビデオを保持できるファイルサーバまたは別の中間ストレージデバイスに対応することができる。宛先デバイス14は、ストリーミングまたはダウンロードを介して、ストレージデバイス32から、記憶されたビデオデータにアクセスすることができる。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス14に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバには、(たとえば、ウェブサイト用の)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブが含まれる。宛先デバイス14は、インターネット接続を含む、任意の標準のデータ接続を介して符号化ビデオデータにアクセスすることができる。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに適したワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、有線接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せを含むことができる。ストレージデバイス32からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
【0047】
[0057]本開示の技法は、必ずしもワイヤレスの用途または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の用途などの様々なマルチメディア用途のいずれかをサポートする際のビデオコーディングに適用することができる。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオテレフォニーなどの用途をサポートするために、一方向または双方向のビデオ送信をサポートするように構成することができる。
【0048】
[0058]
図4の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。場合によっては、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含むことができる。ソースデバイス12において、ビデオソース18は、たとえばビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/もしくはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、またはそのようなソースの組合せを含むことができる。一例として、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラフォンまたはビデオフォンを形成することができる。しかしながら、本開示に記載された技法は、概してビデオコーディングに適用可能であり、ワイヤレスおよび/または有線の用途に適用することができる。キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ12によって符号化され得る。符号化ビデオデータは、ソースデバイス20の出力インターフェース22を介して、宛先デバイス14に直接送信することができる。符号化ビデオデータは、さらに(または代替として)、復号および/または再生のための宛先デバイス14または他のデバイスによる後のアクセスのために、ストレージデバイス32上に記憶することができる。
【0049】
[0059]宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。場合によっては、入力インターフェース28は、受信機および/またはモデムを含むことができる。宛先デバイス14の入力インターフェース28は、リンク16を介して符号化ビデオデータを受信する。リンク16を介して通信されるか、またはストレージデバイス32に供給された符号化ビデオデータは、ビデオデータを復号する際に、ビデオデコーダ30などのビデオデコーダが使用するための、ビデオエンコーダ20によって生成された様々なシンタックス要素を含むことができる。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体上に記憶されるか、またはファイルサーバ上に記憶される符号化ビデオデータとともに含まれる場合がある。いくつかの例では、そのようなシンタックス要素は、本開示に記載されたようにイントラコーディングモードを通知するシンタックス要素を含む場合がある。
【0050】
[0060]ディスプレイデバイス32は、宛先デバイス14と一体化されるか、またはその外部にあり得る。いくつかの例では、宛先デバイス14は、一体型ディスプレイデバイスを含むことができ、かつ外部ディスプレイデバイスとインターフェースするように構成することができる。他の例では、宛先デバイス14はディスプレイデバイスであり得る。概して、ディスプレイデバイス32は、復号されたビデオデータをユーザに表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなどの様々なディスプレイデバイスのいずれかを備えることができる。
【0051】
[0061]ビデオエンコーダ20およびビデオデコーダ30は、現在開発中のHEVC規格などのビデオ圧縮規格に従って動作することができ、HEVCテストモデル(HM)に準拠することができる。代替として、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG−4、Part 10、アドバンストビデオコーディング(AVC)と呼ばれるITU−T H.264規格などの他のプロプライエタリ規格もしくは業界規格、またはそのような規格の拡張に従って動作することができる。しかしながら、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオ圧縮規格の他の例には、MPEG−2およびITU−T H.263が含まれる。本開示に記載された技法は、そのようなコーディングプロセス内で実施され得る。
【0052】
[0062]
図4には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、各々オーディオエンコーダおよびデコーダと統合することができ、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは個別のデータストリーム内のオーディオとビデオの両方の符号化を処理することができる。適用可能な場合、いくつかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠することができる。
【0053】
[0063]ビデオエンコーダ20およびビデオデコーダ30は、各々1つもしくは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなどの様々な適切なエンコーダ回路のいずれかとして実装することができる。本技法が部分的にソフトウェアに実装されるとき、デバイスは、適切な非一時的コンピュータ可読媒体にソフトウェア用の命令を記憶し、1つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行することができる。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダ内に含まれ、そのいずれも、それぞれのデバイス内の複合エンコーダ/デコーダ(コーデック)の一部として統合することができる。
【0054】
[0064]ビデオ圧縮規格に従って動作することに加えて、ビデオエンコーダ20およびビデオデコーダ30は、コーディングユニットを区分化するための本明細書に記載された技法を実行することができる。ビデオエンコーダ20などのビデオエンコーダは、たとえば、残差4分木構造が変換ユニット用の分割フラグを備えるような区分化方式を決定し、符号化することができる。ビデオデコーダ30などのビデオデコーダは、ビデオデコーダによって受信され、エントロピー復号される、符号化されたビデオストリームから復号される変換ユニット用の区分化方式を決定することができる。ビデオエンコーダ20は、区分化方式に従って、コーディングユニットをTU区分に配列することができる。ビデオデコーダ30は、TU区分を復元してビデオデータを復号する。
【0055】
[0065]上述されたように、ビデオシーケンスは、通常、一連のビデオフレームまたはピクチャを含む。ピクチャグループ(GOP)は、概して、ビデオピクチャのうちの一連の1つまたは複数を備える。GOPは、GOP内に含まれるいくつかのピクチャを記述するシンタックスデータを、GOPのヘッダ内、ピクチャのうちの1つもしくは複数のヘッダ内、または他の場所に含むことができる。ピクチャの各スライスは、それぞれのスライス用の符号化モードを記述するスライスシンタックスデータを含むことができる。ビデオエンコーダ20は、通常、ビデオデータを符号化するために個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、CU内のコーディングノードに対応する場合がある。
【0056】
[0066]
図5は、本開示に記載された技法を実装できる、例示的なビデオエンコーダ20を示すブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実行することができる。
図5の例では、ビデオエンコーダ20は、予測ユニット41と、参照ピクチャメモリ64と、加算器50と、変換ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。予測ユニット41は、区分化ユニット35と、動き推定ユニット42と、動き補償ユニット44と、イントラ予測ユニット46とを含む。ビデオブロック復元用に、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。復元されたビデオからブロッキネスアーティファクトを除去するために、ブロック境界をフィルタ処理するデブロッキングフィルタ(
図5に図示せず)も含む場合がある。必要な場合、デブロッキングフィルタは、通常、加算器62の出力をフィルタ処理するはずである。デブロッキングフィルタに加えて、さらなるループフィルタ(ループ内またはループ後)が使用される場合もある。
【0057】
[0067]ビデオエンコーダ20は、一般に、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに(かつ場合によっては、タイルと呼ばれるビデオブロックのセットに)分割することができる。予測ユニット41は、誤り結果(たとえば、コーディングレートおよびひずみレベル)に基づいて、現在ビデオブロックについて、複数のイントラコーディングモードのうちの1つ、または複数のインターコーディングモードのうちの1つなどの、複数の可能なコーディングモードのうちの1つを選択することができる。予測ユニット41は、もたらされたイントラコード化ブロックまたはインターコード化ブロックを、加算器50に供給して残差ブロックデータを生成し、加算器62に供給して参照ピクチャとして使用するための符号化ブロックを復元することができる。
【0058】
[0068]本明細書に記載されたように、予測ユニット41は、複数のビデオ成分のうちの1つのための区分化方式を、他のビデオ成分とは無関係に定義するための様々な技法を提供することができる。別の態様では、予測ユニット41は、ビデオブロックの1つまたは複数の特性に基づいて、ビデオブロックの複数のビデオ成分のうちの少なくとも1つのための区分化方式を、他のビデオ成分とは無関係に定義するかどうかを判定することができる。いくつかの例では、特性は、ブロックサイズ、ピクチャタイプ、ブロック区分、または動き情報のうちの少なくとも1つを含む場合がある。
【0059】
[0069]
図5に示されたように、ビデオエンコーダ20はビデオデータを受信し、区分化ユニット35はデータをビデオブロックに区分化することができる。この区分化はまた、ビデオデータをスライス、タイル、または他のより大きい単位に区分化すること、ならびに、たとえば、LCUおよびCUの残差4分木構造に従ってPUとTUとを生成するビデオブロックの区分化を含む場合がある。一例では、区分化ユニット35は、LCUなどのビデオデータのブロックを、CU、PUおよびTUなどのサブブロックに区分化することができる。たとえば、区分化ユニット35は、前のコーディングパスにおける前の区分化方式の評価に基づいて、ビデオデータのブロックを区分化することができる。たとえば、区分化ユニット35は、予測ユニット41と連携して、最初にフレームまたはスライスをLCUに区分化し、レートひずみ分析(たとえば、レートひずみ最適化)に基づいて、LCUの各々をサブCUに区分化することができる。したがって、区分化ユニット35は例示のために別のブロックとして
図5に示されているが、特に、予測ユニット41によって実行されるレートひずみ分析が、LCUに適用されてCU、サブCU、PUおよびTUを生成する区分化の態様を少なくとも部分的に決定するために使用され得る場合、区分化ユニット35によって実行される区分化機能は、予測ユニット41のモード選択および予測の機能と一体化され得る。一般に、予測ユニット41は、区分化ユニット35と連携して、LCUのサブCUへの区分化を示す4分木データ構造を生成することができる。4分木のリーフノードCUは、1つまたは複数のPUと、1つまたは複数のTUとを含む場合がある。
【0060】
[0070]上述されたように、一連の分割フラグは、RQT構造を定義するために使用され得る。したがって、区分化ユニット35および/または予測ユニット41は、CUを1つまたは複数のTUに区分化し、一連の分割フラグをエントロピー符号化ユニット56に出力することができる。一例では、区分化ユニット35および/または予測ユニット41は、少なくとも1つの他のビデオ成分のRQT構造とは無関係に決定されたRQT構造を各ビデオ成分が有することができるように、CUを区分化することができる。たとえば、ルーマ成分(すなわち、Y)用のRQT区分化構造は、クロマ成分(すなわち、UおよびV)のRQT区分化構造から独立して定義され得る。一例では、Y成分はRQT1として定義されたそれ自体のRQTツリーを有することができ、U成分およびV成分はRQT2として定義された第2のRQTツリーを共有することができる。2つのツリーは無関係であり得るし、このことは、Y成分における分割決定がUおよびVのクロマ成分についての対応する分割決定に必ずしも適用されないことを意味する。
【0061】
[0071]この例では、RQT2が4分木内の所与のレベルで分割フラグ=1を有する場合、U成分とV成分の両方は、このレベルでより小さいブロックに分割される。さらに、別の例では、2つのRQTツリーが3つのビデオ成分に使用されるとき、2つのビデオ成分の任意の数の組合せがRQTツリーを共有することができる。別の例では、3つのRQTツリーは、Y、U、およびVの各々に1つ、たとえばRQT1、RQT2、およびRQT3として、独立して定義され得る。したがって、区分化ユニット35および/または予測ユニット41は、色成分の各々について共有され、かつ独立して定義されたRQTのありとあらゆる組合せを使用して、ビデオデータを区分化するように構成され得る。
【0062】
[0072]一例では、RQT構造およびRQT構造の各々を使用するビデオ成分の数は、区分化ユニット35および/または予測ユニット41によって適応的に決定され、ビデオエンコーダ20によって明示的または暗示的のいずれかで通知される場合がある。たとえば、Y、U、およびVが同じツリー(すなわち、同じ区分化方式)を共有するか、またはそれらのうちのいくつかがツリーを共有するか、またはそれらの各々がそれ自体の独立して定義されたツリーを有するかの判定は、CUヘッダまたは何らかの高いレベルのシンタックスでビデオエンコーダ20によって明示的に通知され得る。
【0063】
[0073]別の例では、Y、U、およびVが同じツリーを共有するか、またはそれらのうちのいくつかがツリーを共有するか、またはそれらの各々がそれ自体の独立して定義されたツリーを有するかの判定は、区分化ユニット35および/または予測ユニット41によって適応的に決定され得る。この適応的な決定は、たとえば、ブロックサイズ、ピクチャタイプ、ブロック区分タイプ(たとえば、2N×2N、N×2N)、動き情報などの、CUまたは他のビデオブロックの任意の特性に基づく場合がある。たとえば、CUのブロックサイズが最大ブロックサイズに等しい場合、このことは、各ビデオ成分がそれ自体のRQT構造を有することを知らせることができる。そのような特性を使用して、明示的な通知が必要とされない場合があるように、ルーマ成分およびクロマ成分の間で適用されたRQT方式(すなわち、同じRQTか、2つの独立したRQT(ルーマ用の1つ、および2つのクロマ成分によって共有された1つ)か、または3つの独立したRQT)を、ビデオエンコーダ20などのビデオエンコーダは決定することができ、ビデオデコーダ30などのビデオデコーダは推論することができる。
【0064】
[0074]上述されたように、最大深度(すなわち、レベル)の値が4分木について定義され得、最大深度の値はルートレベルからどれだけ遠い分割が起こり得るかを示す。いくつかの例では、区分化ユニット35および/または予測ユニット41は、RQT構造ごとに独立して最大深度(レベル)を定義するように構成され得る。たとえば、Y用のRQT構造は、U用のRQT構造の最大深度またはV用のRQT構造の最大深度とは異なる最大深度を有する場合がある。一例として、YのRQT構造は2の最大深度を有する場合があり、UのRQT構造は1の最大深度を有し、VのRQT構造は1の最大深度を有する。また、いくつかの例では、U成分とV成分が異なる最大深度を有する場合がある。RQT構造ごとに最大深度を提供すると、ビデオデコーダ30などのビデオデコーダが、最大深度に達した場合分割フラグのためにCUを構文解析することを停止することが可能になる場合がある。一例では、YがRQT構造RQT1を有し、UおよびVが同じRQT構造RQT2を有する場合、RQT1用の最大深度(レベル)はMAX_RQT_DEPTH_LUMAと定義され得、RQT2用の最大深度(レベル)はMAX_RQT_DEPTH_CHROMAと定義され得る。一例では、MAX_RQT_DEPTH_LUMAおよびMAX_RQT_DEPTH_CHROMAは、高いレベルのシンタックスを使用して、ビデオデコーダ30などのビデオデコーダによるアクセスおよび復号のために、符号化されたビットストリーム内でビデオエンコーダ20によって送信され得る。
【0065】
[0075]RQTツリーの現在のレベルがあらかじめ規定された最大レベル(深度)にある場合、分割フラグは、現在のブロックがより小さい変換ブロックにさらに分割されるかどうかを示すために、符号化または復号される必要はないことに留意されたい。すなわち、ビデオエンコーダ20などのビデオエンコーダは、最大深度レベルを超えるいかなる分割フラグもこれ以上提供せず、ビデオデコーダ30などのビデオデコーダは、最大深度レベルを超えるさらなる分割フラグについて構文解析する必要がない。ルーマ成分およびクロマ成分について最大レベルを独立して定義すると、ルーマ成分およびクロマ成分についての区分化を独立して定義する別の方法が提供され得る。
【0066】
[0076]
図6は、ビデオ成分ごとに独立した4分木分解が提供される、4分木分解の一例を示す概念図である。
図6に示されたように、Y成分およびU成分はルートノードで区分化され、Vはルートノードで区分化されない。YおよびUの各々はさらに区分化されるが、ルートノード区分を超えた共通の区分を共有しない。
図6に示された区分化は、
図2に関して上述された分割フラグの通知と同様の方式で、分割フラグの3つのセットを使用して通知され得る。簡略にするために、
図6のY、U、およびVの各々についての分割フラグの通知の完全で詳細な説明は記載されないが、
図1および
図2に関して上述された分割フラグの通知の説明への参照が行われる。以下で詳細に記載されるように、(Y用の)RQT1ならびに(UおよびV用の)RQT2、または、(Y用の)RQT1、(U用の)RQT2、および(V用の)RQT3などの、2つ以上のRQT構造が使用されるとき、RQT構造のうちの少なくとも1つの符号化は、(たとえば、別の色成分の)すでに符号化されたRQT構造に基づくことができる。たとえば、RQT1がYに使用され、RQT2がUおよびVに使用される場合、RQT2は少なくとも部分的にRQT1に基づいて符号化され得る。
【0067】
[0077]
図5を再度参照すると、予測ユニット41内のイントラ予測ユニット46は、空間圧縮を行うために、コーディングされるべき現在ブロックと同じフレームまたはスライス内の、1つまたは複数の隣接ブロックに対する現在ビデオブロックのイントラ予測コーディングを実行することができる。予測ユニット41内の動き推定ユニット42および動き補償ユニット44は、時間圧縮を行うために、1つまたは複数の参照ピクチャ内の1つまたは複数の予測ブロックに対する現在ビデオブロックのインター予測コーディングを実行する。
【0068】
[0078]イントラ予測ではなくインター予測が現在ビデオブロックのために選択された場合、動き推定ユニット42は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス内のビデオスライスを、Pスライス、Bスライスまたは一般化されたP/B(GPB)スライスとして指定することができる。動き推定ユニット42および動き補償ユニット44は、高度に統合される場合があるが、概念的な目的のために別々に示されている。動き推定ユニット42によって実行される動き推定は、ビデオブロックに関する動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示すことができる。
【0069】
[0079]インターコーディングにおいて、予測ブロックは、絶対値差分和(SAD)、2乗差分和(SSD)、または他の差分メトリックによって決定できるピクセル差分に関して、コード化されるべきビデオブロックのPUに厳密に一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ20は、参照ピクチャメモリ64に記憶された参照ピクチャのサブ整数ピクセル位置に関する値を計算することができる。たとえば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間することができる。したがって、動き推定ユニット42は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力することができる。
【0070】
[0080]動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス内のビデオブロックのPU用の動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択でき、それらの各々は、参照ピクチャメモリ64に記憶された1つまたは複数の参照ピクチャを識別する。動き推定ユニット42は、たとえば他のシンタックス要素とともに、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。
【0071】
[0081]動き補償ユニット44によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度に対する補間を実行することを含む場合がある。現在ビデオブロックのPU用の動きベクトルを受信すると、動き補償ユニット44は、動きベクトルが参照ピクチャリストのうちの1つの中で指す予測ブロックの位置を特定することができる。ビデオエンコーダ20は、コード化されている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。ピクセル差分値は、ブロック用の残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含む場合がある。加算器50は、この減算演算を実行する1つまたは複数の構成要素を表す。動き補償ユニット44はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素を生成することができる。
【0072】
[0082]イントラ予測ユニット46は、上述されたように、動き推定ユニット42および動き補償ユニット44によって実行されるインター予測の代替として、現在ブロックをイントラ予測することができる。詳細には、イントラ予測ユニット46は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定することができる。いくつかの例では、イントラ予測ユニット46は、たとえば、別々の符号化パス中に様々なイントラ予測モードを使用して現在ブロックを符号化して予測ブロックを生成することができ、イントラ予測ユニット46(または、いくつかの例では、モード選択ユニット40)は、テストされたモードから使用するのに適切なイントラ予測モードを選択することができる。たとえば、イントラ予測ユニット46は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択することができる。レートひずみ分析は、一般に、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ(または誤差)の量、ならびに符号化ブロックを生成するために使用されるビットレート(すなわち、ビット数)を決定する。イントラ予測ユニット46は、様々な符号化ブロック用のひずみおよびレートから比率を計算して、どのイントラ予測モードがブロック用の最良のレートひずみ値を表すかを判定することができる。
【0073】
[0083]いずれの場合も、あるブロックについてのイントラ予測モードを選択した後、イントラ予測ユニット46は、エントロピーコーディングユニット56にブロックについて選択されたイントラ予測モードを示す情報を提供することができる。たとえば、イントラ予測ユニット46は、1つまたは複数のシンタックス要素などの通知を提供して、選択されたイントラモードを示すことができる。エントロピーコーディングユニット56は、選択されたイントラ予測モードを示す情報を符号化することができる。ビデオエンコーダ20は、送信ビットストリーム内に、複数のイントラ予測モードインデックステーブルおよび複数の変更された(コードワードマッピングテーブルとも呼ばれる)イントラ予測モードインデックステーブルと、様々なブロック用の符号化コンテキストの定義と、コンテキストの各々に使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示とを含む場合がある構成データを含む場合がある。
【0074】
[0084]予測ユニット41が、現在ビデオブロック用の予測ブロックを生成した後、ビデオエンコーダ20は、現在ビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック内の残差ビデオデータは、1つまたは複数のTUに含まれ、変換ユニット52に適用することができる。変換ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換ユニット52は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換することができる。
【0075】
[0085]変換ユニット52は、得られた変換係数を量子化ユニット54に送ることができる。量子化ユニット54は、変換係数を量子化してビットレートをさらに低減する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減することができる。量子化の程度は、量子化パラメータを調整することによって変更することができる。いくつかの例では、次いで、量子化ユニット54は、量子化変換係数を含む行列の走査を実行することができる。代替として、エントロピー符号化ユニット56が走査を実行することができる。
【0076】
[0086]上述されたように、HEVCのWD6は、変換係数または変換係数レベルのブロックが任意の非ゼロ変換係数を含むかどうかを示す、コード化ブロックフラグ(CBF)シンタックス要素を含む。一例では、各レベルで、コード化ブロックフラグ(cbf)および分割フラグと呼ばれるシンタックス要素は、ビデオエンコーダ20によって符号化され得る。cbfは、現在のレベルに変換用の任意の非ゼロ係数が存在し、かつ/または変換ブロックをさらに分割するかどうかを示すために使用され得る。cbf=0である場合、これは非ゼロ係数が存在しないことを意味する。この場合、分割または非分割は同じ結果を与える。その結果、分割フラグは冗長になるので、分割フラグ(すなわち、デフォルト値、通常0が分割に使用される)を送信する必要はない。したがって、この例では、RQTのレベルについてcbf=0である場合、分割フラグを、ビデオエンコーダ20は送らず、ビデオデコーダ30などのビデオデコーダは受信しない。代わりに、分割フラグ=0がcbf=0から推論され得る。このようにして、送信される分割フラグの数が削減され得る。これは、各色成分がRQTを含む場合、特に有用であり得る。したがって、区分化ユニット35および/または予測ユニット41は、cbfの値に基づいて、色成分の各々についてRQTを定義する分割フラグを生成し、エントロピー符号化ユニット56に出力するように構成され得る。
【0077】
[0087]逆量子化ユニット58および逆変換ユニット60は、それぞれ逆量子化および逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するためのピクセル領域内の残差ブロックを復元する。動き補償ユニット44は、参照ピクチャリストのうちの1つの中の参照ピクチャのうちの1つの予測ブロックに、残差ブロックを加算することによって、参照ブロックを計算することができる。動き補償ユニット44はまた、復元された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するためのサブ整数ピクセル値を計算することができる。加算器62は、動き補償ユニット44によって生成された動き補償予測ブロックに、復元された残差ブロックを加算して、参照ピクチャメモリ64に記憶するための参照ブロックを生成する。参照ブロックは、後続のビデオフレームまたはピクチャ内のブロックをインター予測するために、動き推定ユニット42および動き補償ユニット44よって参照ブロックとして使用することができる。
【0078】
[0088]量子化に続いて、エントロピーコーディングユニット56は、量子化変換係数をエントロピーコーディングする。さらに、エントロピーコーディングユニット56は、上述されたた予測シンタックス要素などのシンタックス要素をエントロピーコーディングする。たとえば、エントロピーコーディングユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディング、または別のエントロピーコーディング技法を実行することができる。コンテキストベースエントロピーコーディングの場合、コンテキストは隣接ブロックに基づくことができる。エントロピーコーディングユニット56によるエントロピーコーディングに続いて、符号化されたビットストリームは、別のデバイス(たとえば、ビデオデコーダ30)に送信されるか、または、後の送信もしくは取り出しのためにアーカイブされる場合がある。いくつかの例では、ビデオエンコーダ20は、あらかじめ定義された走査順序を利用して、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査することができる。エントロピー符号化はまた、圧縮比を決定することができる。他の例では、ビデオエンコーダ20は、適応走査を実行することができる。量子化変換係数を走査して1次元ベクトルを形成した後、ビデオエンコーダ20は、1次元ベクトルをエントロピー符号化することができる。
【0079】
[0089]量子化変換係数をエントロピーコーディングすることに加えて、エントロピーコーディングユニット56は、分割フラグなどのシンタックス要素をエントロピー符号化することができる。一例では、分割フラグは、コンテキストとともにCABACを使用して符号化され得る。1つのRQT(たとえば、RQT2)についての分割フラグのCABACコーディング用のコンテキストは、別の成分(たとえば、現在の成分についてRQT2の前に符号化されたRQT1)のRQTツリーにおける対応する分割フラグの値を使用して、選択され得る。たとえば、YのRQTツリーRQT1がUVのRQTツリーRQT2の前に符号化された場合、RQT2の分割フラグは、RQT1における対応する分割フラグ(たとえば、コーディングされている分割フラグと同じレベルに対応する分割フラグ)の値に基づいて選択されたCABACコンテキストを用いてCABACコーディングされ得る。一例では、RQT2のレベル0用の分割フラグが符号化されたとき、RQT1のレベル0での分割フラグの値は、RQT2のレベル0での分割フラグのコーディング用のCABACコンテキストを選択するために使用され得る。したがって、RQT2における分割フラグをコーディングするためのコンテキストは、RQT1における対応する分割フラグの値に少なくとも部分的に基づいて、決定され得る。RQT1における分割フラグの値に基づいて、RQT2における分割フラグのコンテキストを選択する際に使用するために、1つまたは複数の規則、機能、または等式が指定され得る。たとえば、RQT1についての分割フラグの値がゼロである場合、RQT2についての分割フラグ用に第1のコンテキストが選択され得、RQT1についての分割フラグの値が1である場合、RQT2についての分割フラグ用に第2のコンテキストが選択され得る。別の例では、RQT2についての1つまたは複数の分割フラグの値に基づいて、RQT2のすべてのコンテキストの分割フラグを画定するマップが選択され得る。他の例では、選択されたコンテキストは、CAVLCまたはPIPEなどの他のタイプのエントロピーコーディングに使用され得る。
【0080】
[0090]別の例では、Y、U、およびVが各々それら自体のRQT構造を有し、YおよびUのRQT構造がVのRQT構造の前に符号化される場合、VのRQT構造のレベル0で分割フラグを符号化するとき、コンテキストを選択するために関数(splitY,splitU)が使用され得、ここで、splitYはY用のRQTツリーにおける対応する分割フラグの値であり、splitUはU用のRQTツリーにおける対応する分割フラグの値である。別の例では、Y、U、およびVが各々それら自体のRQT構造を有し、YおよびUのRQT構造がVのRQT構造の前に符号化される場合、VのRQT構造のレベル0で分割フラグを符号化するとき、コンテキストを選択するために関数(splitU)が使用され得、ここで、splitUはU用のRQTツリーにおける対応する分割フラグの値である。関数は、たとえば、コーディング効率を促進する適切なコンテキスト選択をもたらすように見出された様々な方法のうちのどれにおいても定義され得る。
【0081】
[0091]
図7は、本開示に記載された技法を実施できる例示的なエントロピー符号化ユニット56を示すブロック図である。一例では、
図5に示されたエントロピー符号化ユニット56は、CABACエンコーダであり得る。例示的なエントロピー符号化ユニット56は、2値化ユニット502と、算術符号化ユニット510と、コンテキストモデル化ユニット506とを含む場合があり、算術符号化ユニット510は、バイパス符号化エンジン504と、正規符号化エンジン508とを含む。
【0082】
[0092]エントロピー符号化ユニット56は、上述された分割フラグシンタックス要素などの、1つまたは複数のシンタックス要素を受信することができる。2値化ユニット502は、シンタックス要素を受信し、ビンストリング(すなわち、バイナリストリング)を生成する。2値化ユニット502は、たとえば、以下の技法のうちの任意の1つまたは組合せを使用して、ビンストリングを生成することができる:固定長コーディング、単項コーディング、切頭単項コーディング、切頭ライスコーディング、ゴロムコーディング、指数ゴロムコーディング、およびゴロムライスコーディング。さらに、場合によっては、2値化ユニット502は、シンタックス要素をバイナリストリングとして受信し、ビン値を単にパススルーする場合がある。
【0083】
[0093]算術符号化ユニット510は、2値化ユニット502からビンストリングを受信し、そのビンストリングに対して算術符号化を実行するように構成される。
図7に示されたように、算術符号化ユニット510は、バイパス経路または正規コーディング経路からビン値を受信することができる。バイパス経路に従うビン値は、バイパスコーディングされたものとして識別されるビン値であり得るし、正規コーディング経路に従うビン値は、CABACコーディングされたものとして識別され得る。上述されたCABACプロセスに従って、算術符号化ユニット510がバイパス経路からビン値を受信する場合、バイパス符号化エンジン504は、ビン値に割り当てられた適応型コンテキストを利用せずに、ビン値に対して算術符号化を実行することができる。一例では、バイパス符号化エンジン504は、ビンの考えられる値について等しい確率を仮定することができる。
【0084】
[0094]算術符号化ユニット510が正規経路を介してビン値を受信する場合、コンテキストモデル化ユニット506は、コンテキスト変数(たとえば、コンテキスト状態)を提供することができ、その結果、正規符号化エンジン508は、コンテキストモデル化ユニット506によって提供されたコンテキスト割当てに基づいて、算術符号化を実行することができる。コンテキスト割当ては、HEVCなどのビデオコーディング規格に従って定義され得る。コンテキストモデルは、メモリに記憶され得る。一例では、分割フラグをCABACコーディングするためのコンテキストは、上述されたように、別の分割フラグの値に基づいて決定され得る。コンテキストモデル化ユニット506は、一連のインデックス付きデーブルを含み、かつ/またはマッピング関数を利用して特定のビン用のコンテキストとコンテキスト状態とを決定することができる。ビン値を符号化した後、正規符号化エンジン508は、実際のビン値に基づいてコンテキストを更新することができる。
【0085】
[0095]
図8は、本開示に記載された技法に従ってビデオデータを符号化するための例示的な方法を示すフローチャートである。区分化ユニット35は第1の分割フラグを生成し、第1の分割フラグの値は、ビデオデータの第1のクロマ成分用の変換係数のアレイがより小さい変換ブロックに分割されるかどうかを示す(802)。エントロピーコーディングユニット56は、第1の分割フラグ用のコンテキストを決定し、コンテキストは、ビデオデータの第2の成分用の変換係数のアレイに関連付けられた第2の分割フラグの値に少なくとも部分的に基づく(804)。ビデオデータの第2の成分は、ビデオデータのルーマ成分または第2のクロマ成分のいずれかであり得る。したがって、別のRQTに関連付けられた分割フラグの値は、第1の分割フラグのコンテキストを決定することができる。エントロピーコーディングユニット56は、コンテキスト適応型バイナリ算術コーディング(CABAC)を使用して、決定されたコンテキストに基づいて第1の分割フラグをエントロピー符号化する(806)。エントロピーコーディングユニット56は、第1の分割フラグの値を表すエントロピー符号化されたデータをビットストリームの一部として出力する(808)。
【0086】
[0096]このようにして、
図5のビデオエンコーダ20は、第1の分割フラグを生成することと、第1の分割フラグ用のコンテキストを決定することと、コンテキスト適応型バイナリ算術コーディング(CABAC)を使用して、決定されたコンテキストに基づいて第1の分割フラグをエントロピー符号化することと、第1の分割フラグの値を表すエントロピー符号化されたデータをビットストリームの一部として出力することとを行うように構成されたビデオエンコーダの一例を表し、第1の分割フラグの値は、2つ以上の変換演算がビデオデータの第1のクロマ成分用の変換係数のアレイに関連付けられるかどうかを示し、コンテキストは、ビデオデータのルーマ成分用の変換係数のアレイに関連付けられた第2の分割フラグの値に少なくとも部分的に基づく。
【0087】
[0097]
図9は、本開示に記載された技法を実装できる、例示的なビデオデコーダ30を示すブロック図である。
図9の例では、ビデオデコーダ30は、エントロピー復号ユニット80と、予測ユニット81と、逆量子化ユニット86と、逆変換ユニット88と、加算器90と、参照ピクチャメモリ92とを含む。予測ユニット81は、動き補償ユニット82と、イントラ予測ユニット84とを含む。いくつかの例では、ビデオデコーダ30は、
図5からのビデオエンコーダ20に関して記載された符号化パスとは全体的に逆の復号パスを実行することができる。
【0088】
[0098]復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオのビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット80は、ビットストリームをエントロピー復号して、量子化係数と、動きベクトルと、他のシンタックス要素とを生成する。エントロピー復号ユニット80は、予測ユニット81に動きベクトルと他のシンタックス要素とを転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信することができる。
【0089】
[0099]
図10は、本開示に記載された技法を実施できる例示的なエントロピー復号ユニット80を示すブロック図である。エントロピー復号ユニット80は、エントロピー符号化されたビットストリームを受信し、そのビットストリームからのシンタックス要素を復号する。シンタックス要素は、上述された分割フラグシンタックスを含む場合がある。
図10の例示的なエントロピー復号ユニット80は、算術復号ユニット702を含み、算術復号ユニット702は、バイパス復号エンジン704と正規復号エンジン706とを含む場合がある。例示的なエントロピー復号ユニット80はまた、コンテキストモデル化ユニット708と、逆2値化ユニット710とを含む。例示的なエントロピー復号ユニット80は、
図5に関して記載された例示的なエントロピー符号化ユニット56の逆の機能を実行することができる。このようにして、エントロピー復号ユニット80は、本明細書に記載された技法に基づいてエントロピー復号を実行することができる。
【0090】
[0100]算術復号ユニット702は、符号化されたビットストリームを受信する。
図10に示されたように、算術復号ユニット702は、バイパス経路または正規コーディング経路に従って、符号化されたビン値を処理することができる。符号化されたビン値がバイパス経路に従って処理されるべきか、または正規経路に従って処理されるべきかの指示は、より高いレベルのシンタックスを有するビットストリーム内で通知され得る。上述されたCABACプロセスに従って、算術復号ユニット702がバイパス経路からビン値を受信する場合、バイパス復号エンジン704は、ビン値に割り当てられたコンテキストを利用せずに、ビン値に対して算術符号化を実行することができる。一例では、バイパス復号エンジン704は、ビンの考えられる値について等しい確率を仮定することができる。
【0091】
[0101]算術復号ユニット702が正規経路を介してビン値を受信する場合、コンテキストモデル化ユニット708は、コンテキスト変数を提供することができ、その結果、正規復号エンジン706は、コンテキストモデル化ユニット708によって提供されたコンテキスト割当てに基づいて、算術符号化を実行することができる。コンテキスト割当ては、HEVCなどのビデオコーディング規格に従って定義され得る。コンテキストモデルはメモリに記憶され得る。一例では、分割フラグ用のコンテキストは、上述されたように、別の分割フラグの値に基づいて決定され得る。コンテキストモデル化ユニット708は、一連のインデックス付きデーブルを含み、かつ/またはマッピング関数を利用して、符号化されたビットストリームのコンテキストとコンテキスト変数部分とを決定することができる。ビン値を復号した後、正規コーディングエンジン706は、復号されたビン値に基づいてコンテキスト状態値を更新することができる。さらに、逆2値化ユニット710は、ビン値に対して逆2値化を実行し、ビン照合関数を使用してビン値が有効かどうかを判定することができる。逆2値化ユニット710はまた、照合判定に基づいてコンテキストモデル化ユニットを更新することができる。したがって、逆2値化ユニット710は、コンテキスト適応型復号技法に従ってシンタックス要素を出力する。
【0092】
[0102]
図9を再度参照すると、ビデオフレームがインターコード化(すなわち、B、PまたはGPB)スライスとしてコード化されるとき、予測ユニット81の動き補償ユニット82は、エントロピー復号ユニット80から受信された動きベクトルと他のシンタックス要素とに基づいて、現在ビデオスライスのビデオブロック用の予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つの中の参照ピクチャのうちの1つから生成することができる。ビデオデコーダ30は、参照ピクチャメモリ92に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、リスト0とリスト1とを構成することができる。
【0093】
[0103]動き補償ユニット82は、動きベクトルと他のシンタックス要素とを解析することによって、現在ビデオスライスのビデオブロック用の予測情報を決定し、その予測情報を使用して、復号されている現在ビデオブロック用の予測ブロックを生成する。たとえば、動き補償ユニット82は、受信されたシンタックス要素のいくつかを使用して、ビデオスライスのビデオブロックをコード化するために使用される予測モード(たとえば、イントラ予測またはインター予測)と、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)と、スライス用の参照ピクチャリストのうちの1つまたは複数用の構成情報と、スライスの各インター符号化ビデオブロック用の動きベクトルと、スライスの各インターコード化ビデオブロック用のインター予測ステータスと、現在ビデオスライス内のビデオブロックを復号するための他の情報とを決定する。
【0094】
[0104]動き補償ユニット82はまた、補間フィルタに基づいて補間を実行することができる。動き補償ユニット82は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセル用の補間値を計算することができる。この場合、動き補償ユニット82は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを判断し、その補間フィルタを使用して予測ブロックを生成することができる。
【0095】
[0105]ビデオスライスがイントラコード化(I)スライスとしてコーディングされたとき、予測ユニット81のイントラ予測ユニット84は、通知されたイントラ予測モードと、現在フレームまたはピクチャの以前復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロック用の予測データを生成することができる。イントラ予測ユニット84は、ビデオエンコーダ20について上述された同じ方式で復号されているブロック用の最確のイントラ予測モードを識別することができる。イントラ予測ユニット84は、復号されているブロック用の実際のイントラ予測モードが、最確のイントラ予測モードのうちの1つであるか、または残っているイントラ予測モードのうちの1つであるかを判定するために、第1のビットを構文解析することができる。実際のモードが最確モードのうちの1つである場合、ビットストリーム内で通知されたコードは、最確モードのうちのどれが選択されるべきかを示すことができる。実際のモードが最確モードのうちの1つではないことを第1のビットが示す場合、イントラ予測ユニット84は、受信されたコードワードに基づいて残っているモードのセットの中から実際のイントラ予測モードを特定することができる。残っているモードの通知は、固定長のコードワードを使用することができる。次いで、イントラ予測ユニット84は、選択されたモードを使用してブロックを復号および復元することができる。
【0096】
[0106]逆量子化ユニット86は、ビットストリーム内で供給され、エントロピー復号ユニット80によって復号された量子化変換係数を逆量子化、すなわち反量子化する。逆量子化プロセスは、量子化の程度と、同様に、適用されるべき逆量子化の程度とを判断するために、ビデオスライス内のビデオブロックごとにビデオエンコーダ20によって計算される量子化パラメータの使用を含む場合がある。
【0097】
[0107]逆変換ユニット88は、ピクセル領域内の残差ブロックを生成するために逆変換、たとえば逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。逆変換ユニット88は、本明細書に記載されたTU区分化方式に従って逆変換を適用するように構成され得る。このようにして、逆変換ユニット88は、変換係数のグループを構文解析し、1つまたは複数の分割フラグの値に基づいて変換を実行することができる。
【0098】
[0108]予測モジュール81が、イントラ予測と動き補償とに基づいて現在ビデオブロック用の予測ブロックを生成した後、ビデオデコーダ30は、逆変換ユニット88からの残差ブロックを予測ユニット81によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器90は、この加算演算を実行する1つまたは複数の構成要素を表す。必要な場合、ブロッキネスアーティファクトを除去するために、デブロッキングフィルタも、復号ブロックをフィルタ処理するように適用することができる。ピクセル遷移を平滑化するか、または場合によってはビデオ品質を改善するために、(コーディングループ内またはコーディングループ後のいずれかの)他のループフィルタも使用することができる。次いで、所与のフレームまたはピクチャ内の復号されたビデオブロックは、後続の動き補償に使用される参照ピクチャを記憶する参照ピクチャメモリ92に記憶される。参照ピクチャメモリ92はまた、
図3のディスプレイデバイス32などのディスプレイデバイスに後で表示するための、復号されたビデオを記憶する。
【0099】
[0109]
図11は、本開示に記載された技法に従ってビデオデータを復号するための例示的な方法を示すフローチャートである。エントロピー復号ユニット80は、変換係数のアレイに関連付けられた第1の分割フラグの値を表すエントロピー符号化されたデータを受信する(1102)。エントロピー復号ユニット80は、第1の分割フラグを表すエントロピー符号化されたデータ用のコンテキストを決定する(1104)。上述されたように、コンテキストは、ビデオデータのルーマ成分用の変換係数のアレイに関連付けられた第2の分割フラグの値に少なくとも部分的に基づくことができる。ビデオデータのルーマ成分用の変換係数のアレイおよびクロマ成分用の変換係数のアレイは、同じCUまたはTUに含まれる場合がある。エントロピー復号ユニット80は、コンテキスト適応型バイナリ算術コーディング(CABAC)を使用して、決定されたコンテキストに基づいて第1のフラグの値を表すデータをエントロピー復号する(1106)。逆変換ユニット88は、ビデオデータの第1のクロマ成分用の変換係数のアレイを受信する(1108)。いくつかの例では、変換係数の第1のアレイについてのビットストリーム内のビットの割当ては、分割フラグの値に基づくことができる。ビデオデコーダ30は、第1の分割フラグの値に基づいてビデオデータを復元する(1110)。
【0100】
[0110]このようにして、
図10のビデオデコーダ30は、ビデオデータの第1のクロマ成分用の変換係数のアレイに関連付けられた第1の分割フラグの値を表すエントロピー符号化されたデータを受信することと、第1の分割フラグを表すエントロピー符号化されたデータ用のコンテキストを決定することと、コンテキスト適応型バイナリ算術コーディング(CABAC)を使用して、決定されたコンテキストに基づいて第1のフラグの値を表すデータをエントロピー復号することと、第1の分割フラグの値に基づいてビデオデータを復元することとを行うように構成されたビデオデコーダの一例を表し、第1の分割フラグの値は、第1のクロマ成分用の変換係数のアレイがより小さい変換ブロックに分割されるかどうかを示し、コンテキストは、ビデオデータの第2の成分用の変換係数のアレイに関連付けられた第2の分割フラグの値に少なくとも部分的に基づく。上述されたように、第2の分割フラグの値は、第1の分割フラグ用のコンテキストを直接マップするか、または第1の分割フラグ用のコンテキストがそこから導出され得るマップを提供する。
【0101】
[0111]1つまたは複数の例では、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せに実装することができる。ソフトウェアに実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行される場合がある。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、データ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含む場合がある。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、または(2)信号もしくは搬送波などの通信媒体に対応する場合がある。データ記憶媒体は、本開示に記載された技法を実装するための命令、コードおよび/またはデータ構造を取り出すために、1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスできる任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含む場合がある。
【0102】
[0112]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD−ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、フラッシュメモリ、または、命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用され、コンピュータによってアクセスできる、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【0103】
[0113]命令は、1つもしくは複数のデジタル信号プロセッサ(DSP)などの1つもしくは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の均等な集積回路もしくはディスクリート論理回路によって実行することができる。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書に記載された技法の実装に適した任意の他の構造のいずれかを指す場合がある。加えて、いくつかの態様では、本明細書に記載された機能は、符号化および復号のために構成された専用のハードウェアおよび/もしくはソフトウェアモジュール内に提供されるか、または複合コーデックに組み込まれる場合がある。また、本技法は、1つまたは複数の回路または論理要素内に完全に実装することができる。
【0104】
[0114]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置に実装することができる。開示された技法を実行するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットが本開示に記載されたが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上述されたように、様々なユニットが、適切なソフトウェアおよび/またはファームウェアとともに、上述された1つまたは複数のプロセッサを含む、コーデックハードウェアユニットに組み合わせられるか、または相互動作ハードウェアユニットの集合によって提供される場合がある。
【0105】
[0115]様々な例が記載された。これらおよび他の例は、以下の特許請求の範囲内に入る。
以下に、出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータの第1のクロマ成分用の変換係数のアレイに関連付けられた第1の分割フラグの値を表すエントロピー符号化されたデータを受信することと、前記第1の分割フラグの前記値が、前記第1のクロマ成分用の変換係数の前記アレイがより小さい変換ブロックに分割されるかどうかを示し、
前記第1の分割フラグを表す前記エントロピー符号化されたデータ用のコンテキストを決定することと、前記コンテキストが、ビデオデータの第2の成分用の変換係数のアレイに関連付けられた第2の分割フラグの値に少なくとも部分的に基づき、
コンテキスト適応型バイナリ算術コーディング(CABAC)を使用して、前記決定されたコンテキストに基づいて前記第1のフラグの前記値を表す前記データをエントロピー復号することと、
前記第1の分割フラグの前記値に基づいてビデオデータを復元することとを備える、ビデオデータを復号する方法。
[C2]
ビデオデータの第2のクロマ成分用の変換係数の対応するアレイが、前記ビデオデータに関連するブロックサイズ、ピクチャタイプ、ブロック区分、または動き情報のうちの1つに少なくとも部分的に基づいて、より小さい変換ブロックに分割されるかどうかを、前記第1の分割フラグの前記値がさらに示すかどうかを判定することをさらに備える、C1に記載の方法。
[C3]
ビデオデータの第2のクロマ成分用の変換係数の対応するアレイがより小さい変換ブロックに分割されるかどうかを、前記第1の分割フラグの前記値がさらに示す、C1に記載の方法。
[C4]
ビデオデータの前記第2の成分がビデオデータの第2のクロマ成分である、C1に記載の方法。
[C5]
ビデオデータの前記第2の成分がビデオデータのルーマ成分である、C1に記載の方法。
[C6]
前記コンテキストが、ビデオデータの第2のクロマ成分用の変換係数のアレイに関連付けられた第3の分割フラグの値に少なくとも部分的にさらに基づく、C5に記載の方法。
[C7]
ビデオデータを復元することが、変換ブロックに逆変換を実行してビデオデータの前記第1のクロマ成分用の対応する残差値を生成することを含む、C1に記載の方法。
[C8]
ビデオデータの第1のクロマ成分用の変換係数のアレイに関連付けられた第1の分割フラグの値を表すエントロピー符号化されたデータを受信することと、前記第1の分割フラグの前記値が、前記第1のクロマ成分用の変換係数の前記アレイがより小さい変換ブロックに分割されるかどうかを示し、
前記第1の分割フラグを表す前記エントロピー符号化されたデータ用のコンテキストを決定することと、前記コンテキストが、ビデオデータの第2の成分用の変換係数のアレイに関連付けられた第2の分割フラグの値に少なくとも部分的に基づき、
コンテキスト適応型バイナリ算術コーディング(CABAC)を使用して、前記決定されたコンテキストに基づいて前記第1のフラグの前記値を表す前記データをエントロピー復号することと、
前記第1の分割フラグの前記値に基づいてビデオデータを復元することとを行うように構成された1つまたは複数のプロセッサを備える、ビデオ復号デバイス。
[C9]
ビデオデータの第2のクロマ成分用の変換係数の対応するアレイが、前記ビデオデータに関連するブロックサイズ、ピクチャタイプ、ブロック区分、または動き情報のうちの1つに少なくとも部分的に基づいて、より小さい変換ブロックに分割されるかどうかを、前記第1の分割フラグの前記値がさらに示すかどうかを判定することを行うように、前記1つまたは複数のプロセッサがさらに構成された、C8に記載のビデオ復号デバイス。
[C10]
ビデオデータの第2のクロマ成分用の変換係数の対応するアレイがより小さい変換ブロックに分割されるかどうかを、前記第1の分割フラグの前記値がさらに示す、C8に記載のビデオ復号デバイス。
[C11]
ビデオデータの前記第2の成分がビデオデータの第2のクロマ成分である、C8に記載のビデオ復号デバイス。
[C12]
ビデオデータの前記第2の成分がビデオデータのルーマ成分である、C8に記載のビデオ復号デバイス。
[C13]
前記コンテキストが、ビデオデータの第2のクロマ成分用の変換係数のアレイに関連付けられた第3の分割フラグの値に少なくとも部分的にさらに基づく、C12に記載のビデオ復号デバイス。
[C14]
ビデオデータを復元することが、変換ブロックに逆変換を実行してビデオデータの前記第1のクロマ成分用の対応する残差値を生成することを含む、C8に記載のビデオ復号デバイス。
[C15]
前記ビデオ復号デバイスが、
集積回路、
マイクロプロセッサ、および
ワイヤレス通信デバイスのうちの少なくとも1つを備える、C8に記載のビデオ復号デバイス。
[C16]
実行されたとき、ビデオデータを復号するためのデバイスの1つまたは複数のプロセッサに、
ビデオデータの第1のクロマ成分用の変換係数のアレイに関連付けられた第1の分割フラグの値を表すエントロピー符号化されたデータを受信することと、前記第1の分割フラグの前記値が、前記第1のクロマ成分用の変換係数の前記アレイがより小さい変換ブロックに分割されるかどうかを示し、
前記第1の分割フラグを表す前記エントロピー符号化されたデータ用のコンテキストを決定することと、前記コンテキストが、ビデオデータの第2の成分用の変換係数のアレイに関連付けられた第2の分割フラグの値に少なくとも部分的に基づき、
コンテキスト適応型バイナリ算術コーディング(CABAC)を使用して、前記決定されたコンテキストに基づいて前記第1のフラグの前記値を表す前記データをエントロピー復号することと、
前記第1の分割フラグの前記値に基づいてビデオデータを復元することとを行わせる命令を記憶する、非一時的コンピュータ可読媒体。
[C17]
ビデオデータの第2のクロマ成分用の変換係数の対応するアレイが、前記ビデオデータに関連するブロックサイズ、ピクチャタイプ、ブロック区分、または動き情報のうちの1つに少なくとも部分的に基づいて、より小さい変換ブロックに分割されるかどうかを、前記第1の分割フラグの前記値がさらに示すかどうかを判定することを、前記命令が前記1つまたは複数のプロセッサにさらに行わせる、C16に記載の非一時的コンピュータ可読媒体。
[C18]
ビデオデータの第2のクロマ成分用の変換係数の対応するアレイがより小さい変換ブロックに分割されるかどうかを、前記第1の分割フラグの前記値がさらに示す、C16に記載の非一時的コンピュータ可読媒体。
[C19]
ビデオデータの前記第2の成分がビデオデータの第2のクロマ成分である、C16に記載の非一時的コンピュータ可読媒体。
[C20]
ビデオデータの前記第2の成分がビデオデータのルーマ成分である、C16に記載の非一時的コンピュータ可読媒体。
[C21]
前記コンテキストが、ビデオデータの第2のクロマ成分用の変換係数のアレイに関連付けられた第3の分割フラグの値に少なくとも部分的にさらに基づく、C20に記載の非一時的コンピュータ可読媒体。
[C22]
ビデオデータを復元することが、変換ブロックに逆変換を実行してビデオデータの前記第1のクロマ成分用の対応する残差値を生成することを含む、C16に記載の非一時的コンピュータ可読媒体。
[C23]
ビデオデータの第1のクロマ成分用の変換係数のアレイに関連付けられた第1の分割フラグの値を表すエントロピー符号化されたデータを受信するための手段と、前記第1の分割フラグの前記値が、前記第1のクロマ成分用の変換係数の前記アレイがより小さい変換ブロックに分割されるかどうかを示し、
前記第1の分割フラグを表す前記エントロピー符号化されたデータ用のコンテキストを決定するための手段と、前記コンテキストが、ビデオデータの第2の成分用の変換係数のアレイに関連付けられた第2の分割フラグの値に少なくとも部分的に基づき、
コンテキスト適応型バイナリ算術コーディング(CABAC)を使用して、前記決定されたコンテキストに基づいて前記第1のフラグの前記値を表す前記データをエントロピー復号するための手段と、
前記第1の分割フラグの前記値に基づいてビデオデータを復元するための手段とを備える、ビデオデータを復号するための装置。
[C24]
第1の分割フラグを生成することと、前記第1の分割フラグの値が、ビデオデータの第1のクロマ成分用の変換係数のアレイがより小さい変換ブロックに分割されるかどうかを示し、
前記第1の分割フラグ用のコンテキストを決定することと、前記コンテキストが、ビデオデータの第2の成分用の変換係数のアレイに関連付けられた第2の分割フラグの値に少なくとも部分的に基づき、
コンテキスト適応型バイナリ算術コーディング(CABAC)を使用して、前記決定されたコンテキストに基づいて前記第1の分割フラグをエントロピー符号化することと、
前記第1の分割フラグの前記値を表すエントロピー符号化されたデータをビットストリームの一部として出力することとを備える、ビデオデータを符号化する方法。
[C25]
ビデオデータの第2のクロマ成分用の変換係数の対応するアレイが、前記ビデオデータに関連するブロックサイズ、ピクチャタイプ、ブロック区分、または動き情報のうちの1つに少なくとも部分的に基づいて、より小さい変換ブロックに分割されるかどうかを、前記第1の分割フラグの前記値がさらに示すかどうかを判定することをさらに備える、C24に記載の方法。
[C26]
ビデオデータの第2のクロマ成分用の変換係数の対応するアレイがより小さい変換ブロックに分割されるかどうかを、前記第1の分割フラグの前記値がさらに示す、C24に記載の方法。
[C27]
ビデオデータの前記第2の成分がビデオデータの第2のクロマ成分である、C24に記載の方法。
[C28]
ビデオデータの前記第2の成分がビデオデータのルーマ成分である、C24に記載の方法。
[C29]
前記コンテキストが、ビデオデータの第2のクロマ成分用の変換係数のアレイに関連付けられた第3の分割フラグの値に少なくとも部分的にさらに基づく、C28に記載の方法。
[C30]
第1の分割フラグを生成することと、前記第1の分割フラグの値が、ビデオデータの第1のクロマ成分用の変換係数のアレイがより小さい変換ブロックに分割されるかどうかを示し、
前記第1の分割フラグ用のコンテキストを決定することと、前記コンテキストが、ビデオデータの第2の成分用の変換係数のアレイに関連付けられた第2の分割フラグの値に少なくとも部分的に基づき、
コンテキスト適応型バイナリ算術コーディング(CABAC)を使用して、前記決定されたコンテキストに基づいて前記第1の分割フラグをエントロピー符号化することと、
前記第1の分割フラグの前記値を表すエントロピー符号化されたデータをビットストリームの一部として出力することとを行うように構成された1つまたは複数のプロセッサを備える、ビデオ符号化デバイス。
[C31]
ビデオデータの第2のクロマ成分用の変換係数の対応するアレイが、前記ビデオデータに関連するブロックサイズ、ピクチャタイプ、ブロック区分、または動き情報のうちの1つに少なくとも部分的に基づいて、より小さい変換ブロックに分割されるかどうかを、前記第1の分割フラグの前記値がさらに示すかどうかを判定することを行うように、前記1つまたは複数のプロセッサがさらに構成された、C30に記載のビデオ符号化デバイス。
[C32]
ビデオデータの第2のクロマ成分用の変換係数の対応するアレイがより小さい変換ブロックに分割されるかどうかを、前記第1の分割フラグの前記値がさらに示す、C30に記載のビデオ符号化デバイス。
[C33]
ビデオデータの前記第2の成分がビデオデータの第2のクロマ成分である、C30に記載のビデオ符号化デバイス。
[C34]
ビデオデータの前記第2の成分がビデオデータのルーマ成分である、C30に記載のビデオ符号化デバイス。
[C35]
前記コンテキストが、ビデオデータの第2のクロマ成分用の変換係数のアレイに関連付けられた第3の分割フラグの値に少なくとも部分的にさらに基づく、C34に記載のビデオ符号化デバイス。
[C36]
前記ビデオ復号デバイスが、
集積回路、
マイクロプロセッサ、および
ワイヤレス通信デバイスのうちの少なくとも1つを備える、C30に記載のビデオ符号化デバイス。
[C37]
実行されたとき、ビデオデータを符号化するためのデバイスの1つまたは複数のプロセッサに、
第1の分割フラグを生成することと、前記第1の分割フラグの値が、ビデオデータの第1のクロマ成分用の変換係数のアレイがより小さい変換ブロックに分割されるかどうかを示し、
前記第1の分割フラグ用のコンテキストを決定することと、前記コンテキストが、ビデオデータの第2の成分用の変換係数のアレイに関連付けられた第2の分割フラグの値に少なくとも部分的に基づき、
コンテキスト適応型バイナリ算術コーディング(CABAC)を使用して、前記決定されたコンテキストに基づいて前記第1の分割フラグをエントロピー符号化することと、
前記第1の分割フラグの前記値を表すエントロピー符号化されたデータをビットストリームの一部として出力することとを行わせる命令を記憶する、非一時的コンピュータ可読媒体。
[C38]
ビデオデータの第2のクロマ成分用の変換係数の対応するアレイが、前記ビデオデータに関連するブロックサイズ、ピクチャタイプ、ブロック区分、または動き情報のうちの1つに少なくとも部分的に基づいて、より小さい変換ブロックに分割されるかどうかを、前記第1の分割フラグの前記値がさらに示すかどうかを判定することを、前記命令が前記1つまたは複数のプロセッサにさらに行わせる、C37に記載の非一時的コンピュータ可読媒体。
[C39]
ビデオデータの第2のクロマ成分用の変換係数の対応するアレイがより小さい変換ブロックに分割されるかどうかを、前記第1の分割フラグの前記値がさらに示す、C37に記載の非一時的コンピュータ可読媒体。
[C40]
ビデオデータの前記第2の成分がビデオデータの第2のクロマ成分である、C37に記載の非一時的コンピュータ可読媒体。
[C41]
ビデオデータの前記第2の成分がビデオデータのルーマ成分である、C37に記載の非一時的コンピュータ可読媒体。
[C42]
前記コンテキストが、ビデオデータの第2のクロマ成分用の変換係数のアレイに関連付けられた第3の分割フラグの値に少なくとも部分的にさらに基づく、C41に記載の非一時的コンピュータ可読媒体。
[C43]
第1の分割フラグを生成するための手段と、前記第1の分割フラグの値が、ビデオデータの第1のクロマ成分用の変換係数のアレイがより小さい変換ブロックに分割されるかどうかを示し、
前記第1の分割フラグ用のコンテキストを決定するための手段と、前記コンテキストが、ビデオデータの第2の成分用の変換係数のアレイに関連付けられた第2の分割フラグの値に少なくとも部分的に基づき、
コンテキスト適応型バイナリ算術コーディング(CABAC)を使用して、前記決定されたコンテキストに基づいて前記第1の分割フラグをエントロピー符号化するための手段と、
前記第1の分割フラグの前記値を表すエントロピー符号化されたデータをビットストリームの一部として出力するための手段とを備える、ビデオデータを符号化するための装置。