【文献】
Benjamin Bross, et al.,High efficiency video coding (HEVC) text specification draft 7,Joint Collaborative Team on Video Coding (JCT−VC) of ITU−T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 9th Meeting: Geneva, CH, 27 Apr − 7 May 2012,URL:http://phenix.it−sudparis.eu/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC−I1003−v5.zip,2012年 6月12日,JCTVC−I1003_d4,pp.38−40,79−83
【文献】
Adarsh K. Ramasubramonian, et al.,Signalling of long−term reference pictures in the SPS,Joint Collaborative Team on Video Coding (JCT−VC) of ITU−T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 9th Meeting: Geneva, Switzerland, 27 April − 7 May 2012,URL:http://phenix.it−sudparis.eu/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC−I0340−v3.zip,2012年 5月 7日,JCTVC−I0340r2
【文献】
Ye−Kui Wang, et al.,On reference picture set,Joint Collaborative Team on Video Coding (JCT−VC) of ITU−T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 9th Meeting: Geneva, CH, 27 Apr. − 7 May 2012,2012年 4月17日,JCTVC−I0342,URL,HTTP://WFTP3.ITU.INT/AV−ARCH/JCTVC−SITE/
(58)【調査した分野】(Int.Cl.,DB名)
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットが、前記現在のピクチャの少なくとも一部分に関連するスライスヘッダと、前記現在のピクチャに関連するピクチャパラメータセットと、前記ピクチャに関連するシーケンスパラメータセットとのうちの1つまたは複数において指定される任意の他のピクチャ順序カウント値から前記ピクチャ順序カウント値を一意に識別する、請求項1に記載の方法。
前記復号ピクチャバッファに記憶される前記他のピクチャのそれぞれを直接識別する少なくとも1つのピクチャ順序カウント値のための前記1つまたは複数の最下位ビットを決定することと、
前記復号ピクチャバッファに記憶される前記他のピクチャの前記それぞれを直接識別する前記少なくとも1つのピクチャ順序カウント値のための前記1つまたは複数の最下位ビットが、前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットと同一であるかどうかを決定することと
をさらに備える、請求項1に記載の方法。
前記ビデオデータの符号化バージョンを表すビットストリームにおいて前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用されるべきビット数を決定することと、
前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の1つまたは複数の最下位ビットを表すために使用される前記決定されたビット数を使用して前記ビットストリームにおいて前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを指定することと
をさらに備える、請求項1に記載の方法。
前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値が、復号ピクチャバッファ中に存在するが、前記現在のピクチャに関連するシーケンスパラメータセットにおいて1つまたは複数の長期間参照ピクチャとして指定されない長期間参照ピクチャを識別するピクチャ順序カウント値を備える、請求項4に記載の方法。
前記決定された1つまたは複数の最下位ビットと前記決定された1つまたは複数の最上位ビットとの両方を指定することが、前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記決定されたビット数に等しいビット数を有する符号なし2進数を指定することを備える、請求項4に記載の方法。
前記ビットストリームにおいて前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記決定されたビット数を指定することをさらに備える、請求項4に記載の方法。
前記ビット数を決定することが、前記ビットストリームにおいて、前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用されるべき前記決定されたビット数を指定することを回避するために、前記ビデオデータの前記現在のピクチャと前に符号化されたピクチャとのうちの1つまたは複数について前に決定されたシンタックス要素に基づいて前記ビットストリームにおいて前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用されるべき前記ビット数を決定することを備える、請求項4に記載の方法。
前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットと前記決定された1つまたは複数の最上位ビットとを指定することが、前記現在のピクチャの少なくとも前記一部分に関連するスライスヘッダにおいて前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを指定することを備える、請求項4に記載の方法。
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットが、前記現在のピクチャの少なくとも一部分に関連するスライスヘッダと、前記現在のピクチャに関連するピクチャパラメータセットと、前記ピクチャに関連するシーケンスパラメータセットとのうちの1つまたは複数において指定される任意の他のピクチャ順序カウント値から前記ピクチャ順序カウント値を一意に識別する、請求項10に記載のビデオ符号化デバイス。
前記1つまたは複数のプロセッサが、前記復号ピクチャバッファに記憶される前記他のピクチャのそれぞれを直接識別する少なくとも1つのピクチャ順序カウント値のための前記1つまたは複数の最下位ビットを決定することと、前記復号ピクチャバッファに記憶される前記他のピクチャの前記それぞれを直接識別する前記少なくとも1つのピクチャ順序カウント値のための前記1つまたは複数の最下位ビットが、前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットと同一であるかどうかを決定することとを行うようにさらに構成された、請求項10に記載のビデオ符号化デバイス。
前記1つまたは複数のプロセッサが、前記ビデオデータの符号化バージョンを表すビットストリームにおいて前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用されるべきビット数を決定することと、前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の1つまたは複数の最下位ビットを表すために使用される前記決定されたビット数を使用して前記ビットストリームにおいて前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを指定することとを行うようにさらに構成された、請求項10に記載のビデオ符号化デバイス。
前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値が、復号ピクチャバッファ中に存在するが、前記現在のピクチャに関連するシーケンスパラメータセットにおいて1つまたは複数の長期間参照ピクチャとして指定されない長期間参照ピクチャを識別するピクチャ順序カウント値を備える、請求項13に記載のビデオ符号化デバイス。
前記1つまたは複数のプロセッサが、前記決定された1つまたは複数の最下位ビットと前記決定された1つまたは複数の最上位ビットとの両方を指定するとき、前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記決定されたビット数に等しいビット数を有する符号なし2進数を指定することを行うようにさらに構成された、請求項13に記載のビデオ符号化デバイス。
前記1つまたは複数のプロセッサが、前記ビットストリームにおいて前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記決定されたビット数を指定することを行うようにさらに構成された、請求項13に記載のビデオ符号化デバイス。
前記1つまたは複数のプロセッサが、前記ビット数を決定するとき、前記ビットストリームにおいて、前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用されるべき前記決定されたビット数を指定することを回避するために、前記ビデオデータの前記現在のピクチャと前に符号化されたピクチャとのうちの1つまたは複数について前に決定されたシンタックス要素に基づいて前記ビットストリームにおいて前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用されるべき前記ビット数を決定することを行うようにさらに構成された、請求項13に記載のビデオ符号化デバイス。
前記1つまたは複数のプロセッサが、前記決定された1つまたは複数の最下位ビットと前記決定された1つまたは複数の最上位ビットとを指定するとき、前記現在のピクチャの少なくとも前記一部分に関連するスライスヘッダにおいて前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを指定することを行うようにさらに構成された、請求項13に記載のビデオ符号化デバイス。
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットが、前記現在のピクチャの少なくとも一部分に関連するスライスヘッダと、前記現在のピクチャに関連するピクチャパラメータセットと、前記ピクチャに関連するシーケンスパラメータセットとのうちの1つまたは複数において指定される任意の他のピクチャ順序カウント値から前記ピクチャ順序カウント値を一意に識別する、請求項19に記載のビデオ符号化デバイス。
前記復号ピクチャバッファに記憶される前記他のピクチャのそれぞれを直接識別する少なくとも1つのピクチャ順序カウント値のための前記1つまたは複数の最下位ビットを決定するための手段と、
前記復号ピクチャバッファに記憶される前記他のピクチャの前記それぞれを直接識別する前記少なくとも1つのピクチャ順序カウント値のための前記1つまたは複数の最下位ビットが、前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットと同一であるかどうかを決定するための手段と
をさらに備える、請求項19に記載のビデオ符号化デバイス。
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットが、前記現在のピクチャの少なくとも一部分に関連するスライスヘッダと、前記現在のピクチャに関連するピクチャパラメータセットと、前記ピクチャに関連するシーケンスパラメータセットとのうちの1つまたは複数において指定される任意の他のピクチャ順序カウント値から前記ピクチャ順序カウント値を一意に識別する、請求項22に記載の非一時的コンピュータ可読記憶媒体。
前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値が、復号ピクチャバッファ中に存在するが、前記現在のピクチャに関連するシーケンスパラメータセットにおいて1つまたは複数の長期間参照ピクチャとして指定されない長期間参照ピクチャを識別するピクチャ順序カウント値を備える、請求項25に記載の非一時的コンピュータ可読記憶媒体。
実行されたとき、前記1つまたは複数のプロセッサに、前記決定された1つまたは複数の最下位ビットと前記決定された1つまたは複数の最上位ビットとの両方を指定することを行わせる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記決定されたビット数に等しいビット数を有する符号なし2進数を指定することを行わせる命令を備える、請求項25に記載の非一時的コンピュータ可読記憶媒体。
実行されたとき、前記1つまたは複数のプロセッサに、前記ビットストリームにおいて前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記決定されたビット数を指定することを行わせる命令をさらに記憶した、請求項25に記載の非一時的コンピュータ可読記憶媒体。
実行されたとき、前記1つまたは複数のプロセッサに、前記ビット数を決定することを行わせる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、前記ビットストリームにおいて、前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用されるべき前記決定されたビット数を指定することを回避するために、前記ビデオデータの前記現在のピクチャと前に符号化されたピクチャとのうちの1つまたは複数について前に決定されたシンタックス要素に基づいて前記ビットストリームにおいて前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用されるべき前記ビット数を決定することを行わせる命令を備える、請求項25に記載の非一時的コンピュータ可読記憶媒体。
実行されたとき、前記1つまたは複数のプロセッサに、前記決定された1つまたは複数の最下位ビットと前記決定された1つまたは複数の最上位ビットとを指定することを行わせる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、前記現在のピクチャの少なくとも前記一部分に関連するスライスヘッダにおいて前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを指定することを行わせる命令を備える、請求項25に記載の非一時的コンピュータ可読記憶媒体。
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットが、前記現在のピクチャの少なくとも一部分に関連するスライスヘッダと、前記現在のピクチャに関連するピクチャパラメータセットと、前記ピクチャに関連するシーケンスパラメータセットとのうちの1つまたは複数において指定される任意の他のピクチャ順序カウント値から前記ピクチャ順序カウント値を一意に識別する、請求項31に記載の方法。
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを決定することが、前記符号化されたビデオデータを表すビットストリームから、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットをパースすることを備え、
前記1つまたは複数の最上位ビットを決定することが、前記ビットストリームから、前記1つまたは複数の最上位ビットをパースすることを備える、請求項31に記載の方法。
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを決定することが、前記現在のピクチャの少なくとも前記一部分に関連するスライスヘッダと、ピクチャパラメータセットと、シーケンスパラメータセットとのうちの1つまたは複数から、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットをパースすることを備える、請求項31に記載の方法。
前記1つまたは複数の最上位ビットを決定することが、前記現在のピクチャの少なくとも前記一部分に関連するスライスヘッダと、ピクチャパラメータセットと、シーケンスパラメータセットとのうちの1つまたは複数から、前記1つまたは複数の最上位ビットをパースすることを備える、請求項31に記載の方法。
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用されるビット数を決定することと、
前記符号化されたビデオデータを表すビットストリームから前記決定されたビット数をパースすることと、ここにおいて、前記パースされ決定されたビット数が、前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表す、
をさらに備える、請求項31に記載の方法。
前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値が、前記復号ピクチャバッファ中に存在するが、前記現在のピクチャに関連するシーケンスパラメータセットにおいて1つまたは複数の長期間参照ピクチャとして指定されない長期間参照ピクチャを識別するピクチャ順序カウント値を備える、請求項36に記載の方法。
前記パースされ決定されたビット数が、符号なし2進数として前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記最下位ビットを表す、請求項36に記載の方法。
前記現在のピクチャの少なくとも一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記ビット数を決定することが、前記ビットストリームから前記現在のピクチャの少なくとも一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記ビット数をパースすることを備える、請求項36に記載の方法。
前記ビット数を決定することが、前記ビットストリームから、前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記決定されたビット数をパースする必要なしに、前記ビデオデータの前記現在のピクチャと前に符号化されたピクチャとのうちの1つまたは複数について前に決定されたシンタックス要素に基づいて前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用されるべき前記ビット数を決定することを備える、請求項36に記載の方法。
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットが、前記現在のピクチャの少なくとも一部分に関連するスライスヘッダと、前記現在のピクチャに関連するピクチャパラメータセットと、前記ピクチャに関連するシーケンスパラメータセットとのうちの1つまたは複数において指定される任意の他のピクチャ順序カウント値から前記ピクチャ順序カウント値を一意に識別する、請求項41に記載のビデオ復号デバイス。
前記1つまたは複数のプロセッサが、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを決定するとき、前記符号化されたビデオデータを表すビットストリームから、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットをパースすることを行うようにさらに構成され、
前記1つまたは複数のプロセッサが、前記1つまたは複数の最上位ビットを決定するとき、前記ビットストリームから、前記1つまたは複数の最上位ビットをパースすることを行うようにさらに構成された、請求項41に記載のビデオ復号デバイス。
前記1つまたは複数のプロセッサが、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを決定するとき、前記現在のピクチャの少なくとも前記一部分に関連するスライスヘッダと、ピクチャパラメータセットと、シーケンスパラメータセットとのうちの1つまたは複数から、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットをパースすることを行うようにさらに構成された、請求項41に記載のビデオ復号デバイス。
前記1つまたは複数のプロセッサが、前記1つまたは複数の最上位ビットを決定するとき、前記現在のピクチャの少なくとも前記一部分に関連するスライスヘッダと、ピクチャパラメータセットと、シーケンスパラメータセットとのうちの1つまたは複数から、前記1つまたは複数の最上位ビットをパースすることを行うようにさらに構成された、請求項41に記載のビデオ復号デバイス。
前記1つまたは複数のプロセッサが、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用されるビット数を決定することと、前記符号化されたビデオデータを表すビットストリームから前記決定されたビット数をパースすることと、ここにおいて、前記パースされ決定されたビット数が、前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表す、
を行うようにさらに構成された、請求項41に記載のビデオ復号デバイス。
前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値が、前記復号ピクチャバッファ中に存在するが、前記現在のピクチャに関連するシーケンスパラメータセットにおいて1つまたは複数の長期間参照ピクチャとして指定されない長期間参照ピクチャを識別するピクチャ順序カウント値を備える、請求項46に記載のビデオ復号デバイス。
前記パースされ決定されたビット数が、符号なし2進数として前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記最下位ビットを表す、請求項46に記載のビデオ復号デバイス。
前記1つまたは複数のプロセッサが、前記現在のピクチャの少なくとも一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記ビット数を決定するとき、前記ビットストリームから前記現在のピクチャの少なくとも一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記ビット数をパースすることを行うようにさらに構成された、請求項46に記載のビデオ復号デバイス。
前記1つまたは複数のプロセッサが、前記ビット数を決定するとき、前記ビットストリームから、前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記決定されたビット数をパースする必要なしに、前記ビデオデータの前記現在のピクチャと前に符号化されたピクチャとのうちの1つまたは複数について前に決定されたシンタックス要素に基づいて前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用されるべき前記ビット数を決定することを行うようにさらに構成された、請求項46に記載のビデオ復号デバイス。
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットが、前記現在のピクチャの少なくとも一部分に関連するスライスヘッダと、前記現在のピクチャに関連するピクチャパラメータセットと、前記ピクチャに関連するシーケンスパラメータセットとのうちの1つまたは複数において指定される任意の他のピクチャ順序カウント値から前記ピクチャ順序カウント値を一意に識別する、請求項51に記載のビデオ復号デバイス。
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを決定するための前記手段が、前記符号化されたビデオデータを表すビットストリームから、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットをパースするための手段を備え、
前記1つまたは複数の最上位ビットを決定するための前記手段が、前記ビットストリームから、前記1つまたは複数の最上位ビットをパースするための手段を備える、請求項51に記載のビデオ復号デバイス。
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを決定するための前記手段が、前記現在のピクチャの少なくとも前記一部分に関連するスライスヘッダと、ピクチャパラメータセットと、シーケンスパラメータセットとのうちの1つまたは複数から、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットをパースするための手段を備える、請求項51に記載のビデオ復号デバイス。
前記1つまたは複数の最上位ビットを決定するための前記手段が、前記現在のピクチャの少なくとも前記一部分に関連するスライスヘッダと、ピクチャパラメータセットと、シーケンスパラメータセットとのうちの1つまたは複数から、前記1つまたは複数の最上位ビットをパースするための手段を備える、請求項51に記載のビデオ復号デバイス。
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットが、前記現在のピクチャの少なくとも一部分に関連するスライスヘッダと、前記現在のピクチャに関連するピクチャパラメータセットと、前記ピクチャに関連するシーケンスパラメータセットとのうちの1つまたは複数において指定される任意の他のピクチャ順序カウント値から前記ピクチャ順序カウント値を一意に識別する、請求項56に記載の非一時的コンピュータ可読記憶媒体。
実行されたとき、前記1つまたは複数のプロセッサに、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを決定することを行わせる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、前記符号化されたビデオデータを表すビットストリームから、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットをパースすることを行わせる命令を備え、
実行されたとき、前記1つまたは複数のプロセッサに、前記1つまたは複数の最上位ビットを決定することを行わせる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、前記ビットストリームから、前記1つまたは複数の最上位ビットをパースすることを行わせる命令を備える、請求項56に記載の非一時的コンピュータ可読記憶媒体。
実行されたとき、前記1つまたは複数のプロセッサに、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを決定することを行わせる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、前記現在のピクチャの少なくとも前記一部分に関連するスライスヘッダと、ピクチャパラメータセットと、シーケンスパラメータセットとのうちの1つまたは複数から、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットをパースすることを行わせる命令を備える、請求項56に記載の非一時的コンピュータ可読記憶媒体。
実行されたとき、前記1つまたは複数のプロセッサに、前記1つまたは複数の最上位ビットを決定することを行わせる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、前記現在のピクチャの少なくとも前記一部分に関連するスライスヘッダと、ピクチャパラメータセットと、シーケンスパラメータセットとのうちの1つまたは複数から、前記1つまたは複数の最上位ビットをパースすることを行わせる命令を備える、請求項56に記載の非一時的コンピュータ可読記憶媒体。
前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値が、前記復号ピクチャバッファ中に存在するが、前記現在のピクチャに関連するシーケンスパラメータセットにおいて1つまたは複数の長期間参照ピクチャとして指定されない長期間参照ピクチャを識別するピクチャ順序カウント値を備える、請求項61に記載の非一時的コンピュータ可読記憶媒体。
前記パースされ決定されたビット数が、符号なし2進数として前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記最下位ビットを表す、請求項61に記載の非一時的コンピュータ可読記憶媒体。
実行されたとき、前記1つまたは複数のプロセッサに、前記現在のピクチャの少なくとも一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記ビット数を決定することを行わせる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、前記ビットストリームから前記現在のピクチャの少なくとも一部分を復号するときに使用されるべき前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記ビット数をパースすることを行わせる命令を備える、請求項61に記載の非一時的コンピュータ可読記憶媒体。
実行されたとき、前記1つまたは複数のプロセッサに、前記ビット数を決定することを行わせる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、前記ビットストリームから、前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記決定されたビット数をパースする必要なしに、前記ビデオデータの前記現在のピクチャと前に符号化されたピクチャとのうちの1つまたは複数について前に決定されたシンタックス要素に基づいて前記長期間参照ピクチャを直接識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用されるべき前記ビット数を決定することを行わせる命令を備える、請求項61に記載の非一時的コンピュータ可読記憶媒体。
【発明を実施するための形態】
【0025】
概して、参照ピクチャセット(RPS)を導出することおよびビデオコーディングのインター予測態様を実行するときに使用するためのコード化ピクチャのRPSに含まれるべき長期間参照ピクチャ(LTRP)のシグナリングを行うことのための様々な方法を提供する技法について説明する。たとえば、(ビデオエンコーダとビデオデコーダの一方または両方を指すことがある用語である)ビデオコーダは復号ピクチャバッファ(DPB:decoded picture buffer)を含む。DPBは、ピクチャをインター予測するために使用され得るピクチャである参照ピクチャを記憶する。言い換えると、ビデオコーダは、DPBに記憶された1つまたは複数の参照ピクチャに基づいてピクチャを予測し得る。
【0026】
ビデオデコーダはまた、どの参照ピクチャがインター予測目的のために使用されるかを示す参照ピクチャリストを構成するというタスクを与えられ得る。これらの参照ピクチャリストのうちの2つは、それぞれリスト0およびリスト1と呼ばれる。ビデオデコーダは最初に、リスト0とリスト1とを構成するためのデフォルトの構成技法(たとえば、リスト0とリスト1とを構成するための事前設定された構成方式)を採用する。随意に、最初のリスト0とリスト1とが構成された後、デコーダは、最初のリスト0とリスト1とを修正するようにビデオデコーダに命令するシンタックス要素を、存在する場合は、復号し得る。
【0027】
ビデオエンコーダは、DPB中の参照ピクチャの(1つまたは複数の)識別子を示すシンタックス要素をシグナリングし得、ビデオエンコーダはまた、現在のピクチャのコード化ブロックを復号するためにどの1つまたは複数の参照ピクチャを使用すべきかを示すインデックスを、リスト0、リスト1、またはリスト0とリスト1の両方内に含むシンタックス要素をシグナリングし得る。ビデオデコーダは、次に、受信した識別子を使用して、リスト0、リスト1、またはリスト0とリスト1の両方の中にリストされた1つまたは複数の参照ピクチャの1つまたは複数のインデックス値を識別する。1つまたは複数の参照ピクチャの(1つまたは複数の)インデックス値ならびに(1つまたは複数の)識別子から、ビデオデコーダは、DPBから1つまたは複数の参照ピクチャを取り出し、現在のピクチャのコード化ブロックを復号する。
【0028】
現在のピクチャに関連するピクチャパラメータセット(PPS:picture parameter set)またはシーケンスパラメータセット(SPS:sequence parameter set)中で、または現在のピクチャのスライスヘッダ中で、ビデオエンコーダはRPSをシグナリングし得る。現在のピクチャのRPSは、現在のピクチャを予測するために使用され得る参照ピクチャについての識別情報と、復号順で現在のピクチャに続くピクチャを予測するために使用され得るピクチャの識別情報とを含む。RPS中の参照ピクチャのみが、リスト0またはリスト1中に含まれ得る。
【0029】
参照ピクチャについての識別情報は、1つまたは複数のピクチャ順序カウント(POC:picture order count)値を含み得る。POC値は、コード化ビデオシーケンス内のピクチャが出力または表示される順序(すなわち、ピクチャの表示順序)を示す。たとえば、より低いPOC値をもつピクチャは、同じコード化ビデオシーケンス中のより高いPOC値をもつピクチャよりも早く表示される。
【0030】
本開示で説明する技法の第1の態様は、現在のピクチャのための長期間参照ピクチャを直接シグナリングするための技法を対象とする。たとえば、参照ピクチャは、短期間参照ピクチャおよび長期間参照ピクチャとして分類され得る。短期間参照ピクチャは、出力順で現在のピクチャに一般に時間的に近接したピクチャである。
【0031】
本開示で説明する技法の第1の態様によれば、復号ピクチャバッファ中に存在するが指数ゴロムコーディングを使用して関連するSPSにおいて指定されない長期間参照ピクチャを識別するデルタPOC LSBを符号化するのではなく、ビデオエンコーダは、可変固定単項コードを使用して、そのような長期間参照ピクチャのPOC LSBを直接指定(シグナリング)し得る。すなわち、ビデオエンコーダは、現在のピクチャに関連するスライスヘッダ中でシグナリングされるこれらのPOC LSBをシグナリングするために使用されるビット数を指定し得る。その指定されたビット数は、ビットストリームから解析されるべきであり、復号ピクチャバッファ中に存在するが関連するSPSにおいて指定されない長期間参照ピクチャを識別するPOC LSBを表すビット数を、ビデオデコーダにシグナリングする。そのようなPOC LSB値のコンテキストにおける値の分布がより幅広いとすると、本技法は、これらのPOC LSBを、様々なビデオコーディング規格において「u(v)」として示される、一定の長さの(かつ、スライスごとに一定の長さがシグナリングまたは導出され得るという意味で、可変の)符号なし2進数として符号化することによって、ビットの節約を促進し得る。
【0032】
このようにして、ビデオデコーダは、現在のピクチャを復号するときに使用されるべき長期間参照ピクチャを識別するピクチャ順序カウント値の1つまたは複数の最下位ビットを表すために使用されるビット数を決定し得る。しばしば、ビデオデコーダは、スライスヘッダ、ピクチャパラメータセットまたはシーケンスパラメータセットのうちの1つまたは複数において指定されるシンタックス要素からビット数を決定し得る。代替として、ビデオデコーダは、ビット数を指定するシンタックス要素を明示的に受信することなしに他のシンタックス要素に基づいてビット数を導出し得る。ビデオデコーダは、次いで、ビットストリームからの決定されたビット数をパースし得、これらのパースされたビット数は、長期間参照ピクチャを識別するPOC値の有効ビットを表す。ビデオデコーダは、次いで、長期間参照ピクチャを識別するPOC値の最下位ビットに基づいて復号ピクチャバッファから長期間参照ピクチャを取り出し、取り出された長期間参照ピクチャを使用して現在のピクチャの少なくとも一部分を復号し得る。
【0033】
本開示で説明する技法の第2の態様によれば、ビデオエンコーダは、さらにまたは代替的に、POC LSBの曖昧さを除去するための追加情報、たとえば、上位ビット(MSB:most significant bit)の一部または全部をシグナリングすることが必要であるかどうかを決定するとき、復号ピクチャバッファ全体の中に存在する各ピクチャを分析するように構成され得る。言い換えれば、ビデオエンコーダは、DPB中でピクチャを識別するPOC値ごとに1つまたは複数のPOC LSBのセットを計算する。分析を実行するとき、ビデオエンコーダは、スライスヘッダ中でシグナリングされる長期間参照ピクチャの各々について計算されたPOC LSBのセットが、DPB中のすべての他のピクチャを識別するPOC値について計算されたPOC LSBのすべての他のセットに関して一意であるかどうかを決定する。分析の下でPOC LSBのこれらの他のセットのうちの1つが、現在の長期間参照ピクチャのPOC LSBのセットに等しい場合、POC LSBのそのセットは一意でないと決定され、ビデオエンコーダは、次いで、ビデオデコーダによって長期間参照ピクチャのPOC値を正しく導出することを可能にするために、十分な最上位ビット(MSB)をシグナリングし得る。
【0034】
このようにして、ビデオデコーダは、ビデオエンコーダから、本開示で説明する技法の様々な態様に従って符号化されている、符号化されたビデオデータを表すビットストリームを受信し得る。ビデオデコーダは、次いで、現在のピクチャを復号するときに使用されるべき長期間参照ピクチャを識別するPOC値の最下位ビットを決定し得る。上記のように、これらの最下位ビットは、長期間参照ピクチャも記憶される復号ピクチャバッファ中に存在する任意の他のピクチャを識別する任意の他のPOC値の最下位ビットに関する長期間参照ピクチャのピクチャ順序カウント値を一意に識別し得ない。その結果、ビデオデコーダは、次いで、長期間参照ピクチャを識別するPOC値の1つまたは複数の最上位ビットを決定し得る。ビデオエンコーダは、最下位ビットと組み合わせた最上位ビットが長期間参照ピクチャを識別するPOC値と復号ピクチャバッファ中で任意の他のピクチャを識別する任意の他のピクチャ順序カウント値とを区別するのに十分であるように最上位ビットを選択する。ビデオデコーダは、次いで、最下位ビットと最上位ビットとの明確な組合せに基づいて復号ピクチャバッファから長期間参照ピクチャを取り出し、取り出された長期間参照ピクチャを使用して現在のピクチャを復号し得る。
【0035】
図1は、RPSを導出しLTRPをシグナリングするための、本開示で説明される技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。
図1に示されるように、システム10は、通信チャネル16を介して符号化ビデオを宛先デバイス14に送信するソースデバイス12を含む。ソースデバイス12および宛先デバイス14は、広範囲のデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレスハンドセット、いわゆるセルラー無線電話または衛星無線電話などのワイヤレス通信デバイス、または通信チャネル16を介してビデオ情報を通信することができ、その場合、通信チャネル16がワイヤレスである任意のワイヤレスデバイスを備え得る。本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。たとえば、これらの技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、インターネットビデオ送信、記憶媒体上に符号化される符号化デジタルビデオ、または他のシナリオに適用され得る。したがって、通信チャネル16は、符号化ビデオデータの送信または記憶に好適なワイヤレス媒体、有線媒体、または記憶媒体の任意の組合せを備え得る。
【0036】
図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、変調器/復調器(モデム)22と、送信機24とを含む。宛先デバイス14は、受信機26と、モデム28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。ビデオエンコーダ20は本開示の技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは、他のコンポーネントまたは構成を含み得る。たとえば、ソースデバイス12は、外部カメラのような外部ビデオソースからビデオデータを受信し得る。同様に、宛先デバイス14は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
【0037】
図1のシステム10は一例にすぎない。ビデオデータをコーディングするための技法は、様々なデジタルビデオ符号化および/または復号デバイスによって実行され得る。本開示の技法は、一般に「コーデック」と呼ばれる、ビデオエンコーダ/デコーダによって実行され得る。その上、本開示の技法はまた、ビデオプリプロセッサによって実行され得る。ソースデバイス12および宛先デバイス14は、そのようなコーディングデバイスの例にすぎない。いくつかの例では、デバイス12、14の各々がビデオ符号化コンポーネントとビデオ復号コンポーネントとを含むように、デバイス12、14は、実質的に対称的に動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオ電話のために、ソースデバイス12と宛先デバイス14との間の一方向または双方向のビデオ送信をサポートすることができる。
【0038】
ビデオソース18は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および/またはビデオコンテンツプロバイダからのビデオフィードを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ付き携帯電話またはビデオ電話を形成することができる。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオまたはコンピュータ生成ビデオは、ビデオエンコーダ20によって符号化され得る。符号化ビデオ情報は、次いで、通信規格に従ってモデム22によって変調され、送信機24を介して宛先デバイス14に送信され得る。モデム22は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他のコンポーネントを含み得る。送信機24は、増幅器、フィルタ、および1つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。
【0039】
宛先デバイス14の受信機26は通信チャネル16を介して情報を受信し、モデム28はその情報を復調する。通信チャネル16を介して通信される情報は、ブロックおよび他のコード化ユニット、たとえば、ピクチャグループ(GOP)の特性および/または処理を記述するシンタックス要素を含む、ビデオエンコーダ20によって定義されるシンタックス情報を含み得る。ディスプレイデバイス32は、復号ビデオデータをユーザに表示する。ディスプレイデバイス32は、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【0040】
図1の例では、通信チャネル16は、高周波(RF)スペクトルまたは1つまたは複数の物理的伝送線路など、ワイヤレスまたは有線の任意の通信媒体、あるいはワイヤレス媒体と有線媒体の任意の組合せを備え得る。通信チャネル16は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースのネットワークの一部を形成することができる。通信チャネル16は、有線媒体またはワイヤレス媒体の好適な組合せを含む、ビデオデータをソースデバイス12から宛先デバイス14に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表し得る。通信チャネル16は、ソースデバイス12から宛先デバイス14への通信を支援するのに有用であり得る、ルータ、スイッチ、基地局、または任意の他の機器を含み得る。他の例では、ソースデバイス12は、データを送信するのではなく、符号化データを記憶媒体に記憶し得る。同様に、宛先デバイス14は、記憶媒体から符号化データを取り出すように構成され得る。
【0041】
ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG−4、Part10、Advanced Video Coding(AVC)と呼ばれるITU−T H.264規格、または、一般にH.265とも呼ばれ得る、来たるHigh Efficiency Video Coding規格のような、ビデオ圧縮規格に従って動作し得る。本開示では全般にHEVCに関して本技法が説明されるが、本技法は、H.264/Advanced Video Coding(AVC)規格のような代替的なビデオコーディング規格に対しても実装されてよく、または別様に使用されてよい。HEVCが、ITU−T Video Coding Experts Group(VCEG)とISO/IEC Motion Picture Experts Group(MPEG)とのJoint Collaboration Team on Video Coding(JCT−VC)によって開発されている。以後HEVC WD6と題され呼ばれる、HEVCの最近のWorking Draft(WD)、Bross他、表題「High efficiency video coding(HEVC)text specification draft 6」、Joint Collaborative
Team on Video Coding(JCT−VC) of ITU−T SG16 WP3およびISO/IEC JTC1/SC29/WG11、第8回会議、サンノゼ、米国カリフォルニア州、2012年2月1〜10日、これは、http://phenix.int−evry.fr/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC−H1003−v22.zipから入手可能である。加えて、HEVCの他のWDも承認されており、最新版は、HEVC WD9と呼ばれ、Bross他、表題「High efficiency video coding(HEVC)text specification draft
9」、Joint Collaborative Team on Video Coding(JCT−VC) of ITU−T SG16 WP3およびISO/IEC
JTC1/SC29/WG11、第11回会議:中国、上海、2012年10月10〜19日、JCTVC−K1003_v9であり、http://phenix.int−evry.fr/jct/doc_end_user/documents/11_Shanghai/wg11/JCTVC−K1003−v9.zipにおいて入手可能である。
【0042】
ITU−T H.264/MPEG−4(AVC)規格は、Joint Video Team(JVT)として知られる共同パートナーシップの成果として、ISO/IEC
Moving Picture Experts Group(MPEG)とともにITU−T Video Coding Experts Group(VCEG)によって策定された。いくつかの態様では、本開示で説明される技法は、一般にH.264規格に準拠するデバイスに適用され得る。H.264規格は、ITU−T研究グループによる2005年3月付けのITU−T勧告H.264「Advanced Video Coding for generic audiovisual services」に記載されており、本明細書ではH.264規格またはH.264仕様、あるいはH.264/AVC規格または仕様と呼ばれ得る。Joint Video Team(JVT)はH.264/MPEG−4 AVCへの拡張に取り組み続けている。
【0043】
ビデオコーディング規格は、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を含む。MVCの最新のジョイントドラフトは、「Advanced video coding for generic audiovisual services」、ITU−T勧告H.264、2010年3月において記載されている。
【0044】
しかしながら、本開示の技法は、いかなる特定のコーディング規格にも限定されない。他の例にはMPEG−2およびITU−T H.263がある。
図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、各々オーディオエンコーダおよびデコーダと統合されてよく、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含んでよい。適用可能な場合、MUX−DEMUXユニットはITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
【0045】
ビデオエンコーダ20およびビデオデコーダ30は各々、適用可能なとき、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダまたはデコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。「プロセッサ」という用語は全般に、上記の任意の組合せを指すために使用されてよく、実行されると、このプロセッサに本開示で説明された様々な技法を実行させる命令を記憶した、非一時的コンピュータ可読媒体を含み得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれてよく、そのいずれも複合ビデオエンコーダ/デコーダ(コーデック)の一部として統合され得る。ビデオエンコーダ20および/またはビデオデコーダ30を含む装置は、集積回路、マイクロプロセッサ、および/または、セルラー電話、カメラ、コンピュータ、モバイルデバイス、加入者デバイス、ブロードキャストデバイス、セットトップボックス、ゲームデバイス、サーバなどのようなワイヤレス通信デバイスを備え得る。
【0046】
ビデオシーケンスは、一般に、代替的にピクチャとも呼ばれる一連のビデオフレームを含む。ピクチャグループ(GOP)は、概して、一連の1つまたは複数のビデオフレームを備える(これは、ピクチャを参照するための一般に知られている別の方法である)。GOPは、GOP中に含まれるいくつかのフレームを記述するシンタックスデータを、GOPのヘッダ中、GOPの1つまたは複数のフレームのヘッダ中、または他の場所に含み得る。各フレームは、それぞれのフレームの符号化モードを記述するフレームシンタックスデータを含み得る。ビデオエンコーダ20は、一般に、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロックに対して動作する。ビデオブロックは、H.264におけるマクロブロックもしくはマクロブロックのパーティション、またはHEVCのCU(1つまたは複数の予測ユニット(PU)および/または変換ユニット(TU)を含み得る)に対応し得る。ビデオブロックは、サイズが一定であっても変化してもよく、指定されたコーディング規格に応じてサイズが異なることがある。各ビデオフレームは複数のスライスを含み得る。各スライスは複数のマクロブロック(またはLCU)を含んでよく、それらはサブブロック(またはCU)へと区分され得る。
【0047】
一例として、ITU−T H.264規格は、ルーマ成分については16×16、8×8、または4×4、およびクロマ成分については8×8など、様々なブロックサイズのイントラ予測をサポートし、ならびにルーマ成分については16×16、16×8、8×16、8×8、8×4、4×8および4×4、およびクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。本開示では、「N×(x)N」と「N×(by)N」は、垂直寸法および水平寸法に関するブロックのピクセル寸法、たとえば、16×(x)16ピクセルまたは16×(by)16ピクセルを指すために互換的に使用され得る。一般に、16×16ブロックは、垂直方向に16ピクセルを有し(y=16)、水平方向に16ピクセルを有する(x=16)。同様に、N×Nブロックは、一般に、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、ここで、Nは非負整数値を表す。ブロック中のピクセルは行と列に構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。たとえば、ブロックはN×Mピクセルを備えてよく、ただし、Mは必ずしもNに等しいとは限らない。
【0048】
16×16未満のブロックサイズは、16×16のブロックのパーティションと呼ばれ得る。ビデオブロックは、ピクセル領域におけるピクセルデータのブロック、または、変換領域における変換係数のブロックを備え得る。場合によっては、ビデオブロックは、変換領域中の量子化変換係数のブロックを備え得る。
【0049】
より小さなビデオブロックは、より良い解像度をもたらすことができ、高い詳細レベルを含むビデオフレームの位置決めに使用され得る。概して、ブロック、およびサブブロックと呼ばれることがある様々なパーティションは、ビデオブロックと見なされ得る。さらに、スライスは、ブロックおよび/またはサブブロックのような、複数のビデオブロックであると見なされ得る。各スライスは、ビデオフレームの単独で復号可能なユニットであり得る。代替的に、フレーム自体が復号可能なユニットであり得るか、またはフレームの他の部分が復号可能なユニットとして定義され得る。「コード化ユニット」または「コーディングユニット」という用語は、フレーム全体、フレームのスライス、シーケンスとも呼ばれるGOPなど、ビデオフレームの任意の単独で復号可能なユニット、または適用可能なコーディング技法に従って定義される別の単独で復号可能なユニットを指すことがある。GOPは、たとえばH.264/AVCおよびHEVCの場合のように、コード化ビデオシーケンスとも呼ばれ得る。
【0050】
ビデオエンコーダ20は、ネットワーク抽象化レイヤ(NAL)ユニットを生成することができる。NALユニットは、NALユニット中のデータのタイプの指示と、データを含むバイトとを含む、シンタックス構造であり得る。たとえば、NALユニットは、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、コード化スライス、補助強化情報(SEI)、アクセスユニット区切り文字、フィラーデータ、または別のタイプのデータを表すデータを含み得る。NALユニットのデータは、エミュレーション防止ビットがちりばめられた未加工バイトシーケンスペイロード(RBSP:raw byte sequence payload)の形式であり得る。RBSPは、NALユニット内にカプセル化された整数個のバイトを含む、シンタックス構造であり得る。
【0051】
NALユニットは、Video Coding Layer(VCL)NALユニットと非VCL NALユニットとに分類され得る。VCLユニットは、ブロック、マクロブロック、および/またはスライスレベルデータを含み得る。非VCL NALユニットは、とりわけ、パラメータセットNALユニットとSEI NALユニットとを含み得る。パラメータセットは、(たとえば、SPS中に)シーケンスレベルヘッダ情報と、(たとえば、PPS中に)まれに変化するピクチャレベルヘッダ情報とを含み得る。パラメータセット(たとえば、SPSおよびPPS)がある場合、まれに変化する情報はシーケンスごとまたはピクチャごとに繰り返される必要はなく、したがって、コーディング効率が改善され得る。さらに、パラメータセットの使用は重要なヘッダ情報の帯域外送信を可能にし、誤り耐性のための冗長送信の必要を回避し得る。帯域外送信の例では、SEI NALユニットのような、他のNALユニットとは異なるチャネル上でパラメータセットNALユニットが送信され得る。
【0052】
SEIメッセージは、VCL NALユニットからのコード化ピクチャサンプルを復号するためには必要でないが、復号、表示、誤り耐性、および他の目的に関係するプロセスを支援し得る情報を含み得る。SEIメッセージは非VCL NALユニット中に含まれ得る。SEIメッセージは、一部の標準的な規格の規範的部分であり、したがって、規格に準拠するデコーダ実装のために常に必須であるとは限らない。SEIメッセージは、シーケンスレベルのSEIメッセージまたはピクチャレベルのSEIメッセージであり得る。SVCの例ではスケーラビリティ情報SEIメッセージ、MVCではビュースケーラビリティ情報SEIメッセージなどのSEIメッセージ内に、何らかのシーケンスレベル情報が含まれていることがある。これらの例示的なSEIメッセージは、たとえば、動作点の抽出およびそれらの動作点の特性に関する情報を搬送し得る。
【0053】
上で述べられたように、ビデオコーダ(これは、ビデオエンコーダ20とビデオデコーダ30の一方または両方を指し得る用語である)は復号ピクチャバッファ(DPB)を含み、これは説明を簡単にするために
図1の例には示されていない。DPBは、ピクチャをインター予測するために使用され得るピクチャである、参照ピクチャを記憶する。言い換えると、ビデオコーダは、DPBに記憶された1つまたは複数の参照ピクチャに基づいて、ピクチャを予測することができる。
【0054】
ビデオデコーダはまた、どの参照ピクチャがインター予測目的で使用されるかを示す参照ピクチャリストを構築するように構成され得る。これらの参照ピクチャリストのうちの2つは、それぞれリスト0およびリスト1と呼ばれる。ビデオデコーダ30はまず、デフォルトの構築技法を利用してリスト0とリスト1とを構築することができる(たとえば、一例としてHEVC WD6において述べられたような、リスト0とリスト1とを構築するための事前設定された構築方式)。任意選択で、ビデオエンコーダ20は、リスト0とリスト1とを構築するときに、DPBに記憶されたどのピクチャが使用されるべきかを指定する、シンタックス要素をシグナリングするように構成され得る。したがって、初期のリスト0およびリスト1が構築された後、ビデオデコーダ30は、初期のリスト0とリスト1とを修正するようビデオデコーダ30に命令するシンタックス要素を、それが存在する場合には復号することができる。
【0055】
ビデオエンコーダ30は、DPB中の参照ピクチャの識別子を示すシンタックス要素をシグナリングすることができる。ビデオエンコーダ30はまた、DPBに記憶されたどの1つまたは複数の参照ピクチャが現在のピクチャのコード化ブロックを復号するために使用されるべきかを示すインデックスを、リスト0内、リスト1内、またはリスト0とリスト1の両方の中に含む、シンタックス要素をシグナリングすることができる。ビデオデコーダ30は、これに対して、受信された識別子を使用して、リスト0、リスト1、またはリスト0とリスト1の両方の中で挙げられる1つまたは複数の参照ピクチャに対する1つまたは複数のインデックス値を識別する。1つまたは複数の参照ピクチャのインデックス値、さらには識別子から、ビデオデコーダ30は、DPBから1つまたは複数の参照ピクチャを取り出し、リスト0とリスト1とを形成し、現在のピクチャのコード化ブロックを復号する。
【0056】
現在のピクチャと関連付けられるピクチャパラメータセット(PPS)またはシーケンスパラメータセット(SPS)において、または現在のピクチャのスライスヘッダにおいて、ビデオエンコーダ20は参照ピクチャセット(やはり「RPS」と呼ばれ得る)をシグナリングすることができる。現在のピクチャのRPSは、現在のピクチャを予測するために使用され得る参照ピクチャの識別情報と、復号順で現在のピクチャに続くピクチャを予測するために使用され得るピクチャの識別情報とを含む。RPS中の参照ピクチャのみが、リスト0またはリスト1に含まれ得る。
【0057】
参照ピクチャの識別情報は、1つまたは複数のピクチャ順序カウント(POC)値を含み得る。POC値は、ピクチャが出力または表示される順序(すなわち、ピクチャの表示順序)を示す。たとえば、より低いPOC値をもつピクチャは、同じコード化ビデオシーケンス中のより高いPOC値をもつピクチャよりも早く表示される。
【0058】
HEVC WD6およびそれ以降のワーキングドラフト、たとえばHEVC WD9は、一般に、短期間参照ピクチャ(STRP)および長期間参照ピクチャ(LTRP)と呼ばれる2つの異なるタイプの参照ピクチャを提供する。短期間参照ピクチャは、一般に、出力順で現在のピクチャに時間的に近いピクチャである。
【0059】
長期間参照ピクチャは、現在のピクチャからは一般に時間的に遠く離れているがそれでも予測の目的に有用であり得る、ピクチャである。たとえば、ビデオ会議では、最初のいくつかのキャプチャされたピクチャは、ビデオ会議において後でキャプチャされるピクチャを予測するのに有用であり得る背景画像コンテンツを含み得る。別の例として、長期間参照ピクチャは、動きベクトルのスケーリング、または加重予測におけるサンプル値のスケーリングでは、短期間参照ピクチャとは異なるように扱われ得る。
【0060】
短期間参照ピクチャはまた、長期間参照ピクチャよりも出力順で現在のピクチャから遠く離れていることがある。この意味で、長期間参照ピクチャは、参照ピクチャとして多くの回数使用され得るピクチャを指すことができ、一方、短期間参照ピクチャは、長期間参照ピクチャと比較して、より少ない回数参照ピクチャとして使用され得る。予測のために短期間参照ピクチャのみに頼ると、ビデオデコーダ30は、コーディング効率または誤り耐性のために有用であり得る、または望ましいことがある、そのような長期間参照ピクチャを使用することが不可能になり得る。
【0061】
これらの長期間参照ピクチャを指定するために、ビデオエンコーダ20は、SPS中の1つまたは複数のピクチャと関連付けられ1つまたは複数のピクチャを復号するために使用され得る、長期間参照ピクチャのリストを提供することができる。関連付けられる1つまたは複数のピクチャのスライスのヘッダ(「スライスヘッダ」とも呼ばれ得る)では、ビデオエンコーダ20は、いくつかの例では、SPSにおいて指定されるこれらの長期間参照ピクチャのうちのいずれが、ある特定のピクチャを復号するときに使用されるべきかを、指定することができる。ビデオエンコーダ20はしばしば、ある特定のピクチャを復号するときに使用されるべき、SPSにおいて指定された長期間参照ピクチャの各々を識別するインデックスを指定する。一般に、ピクチャのすべてのスライスヘッダが、同一の参照ピクチャセットのシグナリングを参照することが要求される。
【0062】
いくつかの例では、ビデオエンコーダ20は、復号ピクチャバッファ中に存在するがSPS中で指定される長期間参照ピクチャのリスト中では指定されない1つまたは複数の長期間参照ピクチャが、ある特定のピクチャを復号するときに使用されるべきであると判定することができる。この例では、ビデオエンコーダ20は、DPB中に存在する1つまたは複数の長期間参照ピクチャに割り当てられるがSPS中で指定された長期間参照ピクチャのリスト中では指定されない、POC値を指定する(または、ビデオコーディングの状況では、「シグナリングする」)ことができる。
【0063】
これらのPOC値をシグナリングするために必要なビットの数を減らすために、ビデオエンコーダ20は、復号されるべきスライス(このスライスが現在復号されているスライスであるという意味で「現在のスライス」と呼ばれ得る)が対応するピクチャ(同様の理由で「現在のピクチャ」と呼ばれ得る)の1つに割り当てられるPOC値の関数として、POC値を決定することができる。例示すると、ビデオエンコーダ20は、現在のスライスが対応する現在のピクチャのPOC値から、長期間参照ピクチャのPOC値を差し引き、デルタPOC値を導出することができる。特に、デルタPOC値は、デルタPOC値の選択された数の下位ビット(LSB)によって表され得る。デルタPOC LSBのみをスライスヘッダにおいてシグナリングすることによって、ビデオエンコーダ20は、復号ピクチャバッファ中に存在するが現在のスライスと関連付けられるSPS中では指定されない長期間参照ピクチャを識別するのに必要なビットの数を減らすことができ、これらの長期間参照ピクチャは、スライスヘッダにおいて直接シグナリングされるものとも呼ばれる。
【0064】
従来は、長期間参照ピクチャのPOC値を指定するためのデルタPOC LSBは、誤りに対する耐性を向上させ、ビットストリーム中でPOC値を指定するために必要なビットの数を減らすために、エントロピー符号化されていた。具体的には、これらの従来のビデオエンコーダは、HEVCを含む様々なビデオコーディング規格において「ue(v)」と示される符号化の形式を使用して、スライスヘッダ中で直接シグナリングされる長期間参照ピクチャのデルタPOC LSBを符号化していた。「ue(v)」という用語は、指数ゴロムコーディングと呼ばれる符号化の形式を指す。
【0065】
指定されるべき値が無符号である(unsigned)場合(これは、「ue(v)」の「u」の由来であり、「e」は指数ゴロムコードの指数(exponential)を指す)、指数ゴロムコーディングは、所与の値を符号化するためのビット数よりも1少ない数に等しい0の数を指定し、次いで所与の値プラス1を記述することによって、所与の値を符号化するために使用されるビットの数をシグナリングすることを伴う。たとえば、デルタPOC LSBの値が0001である場合、ビデオエンコーダは、この値を、0(値、すなわち、この例では1が1ビットを使用してシグナリングされ得ることを示すために)およびそれに続く10(1プラス1の値が2であることを考慮し、2はバイナリでは10と記述される)としてこの値を符号化し、010という指数ゴロムコードを出力していた。
【0066】
指数ゴロムコードは可変長コーディングの一形式である(これは、これらのコードが固定されたまたは一定の長さではなく、代わりに、どのような値がコーディングされるかに基づいて変化するという事実を示す)ので、指数ゴロムコーディングは、概して、値の何らかの統計的な分布を有する情報を符号化することにのみ適している。より具体的には、指数ゴロムコーディングは、統計的に小さい数として指定される可能性の高い情報をコーディングするのに適している。現在のピクチャPOC値を指定するためのデルタPOC LSBを計算することは、概して、(現在のピクチャのPOC値をシグナリングする状況において、デルタPOC LSBを導出するために、現在のPOC値が前のピクチャPOC値から差し引かれていたことを考慮すると)1の値を計算することを伴っていた。したがって、現在のピクチャのPOC値を指定するためのこれらのデルタPOC LSB値を符号化するために、指数ゴロムコーディングが選ばれていた。しかしながら、長期間参照ピクチャを識別するためのデルタPOS LSB値は、指数ゴロムコーディングにはあまり適さない大きく異なる分布を有する情報を表す。
【0067】
本開示で説明される技法の第1の態様によれば、復号ピクチャバッファ中に存在するが指数ゴロムコーディングを使用して関連するSPS中で指定されない長期間参照ピクチャを識別するデルタPOC LSBを符号化するのではなく、ビデオエンコーダ20は、可変固定単進符号を使用して、そのような長期間参照ピクチャのPOC LSBを指定(または、言い換えると、シグナリング)することができる。すなわち、ビデオエンコーダ20は、現在のピクチャと関連付けられるスライスヘッダ中でこれらのPOC LSBをシグナリングするために使用されるビットの数を指定することができる。この指定されたビットの数は、ビットストリームから解析されるべきであり、復号ピクチャバッファ中に存在するが関連するSPS中では指定されない長期間参照ピクチャを識別するPOC LSBを表す、ビットの数を、ビデオデコーダにシグナリングする。そのようなPOC LSB値の状況においてより広い値の分布を仮定すると、本技法は、これらのPOC LSBを、様々なビデオコーディング規格において「u(v)」と示される、一定の長さの(かつ、一定の長さが各スライスに対してシグナリングされ導出され得るという意味で可変の)無符号のバイナリ値として符号化することによって、ビットの節約を支援することができる。
【0068】
動作において、ビデオエンコーダ20は、ビデオデータの現在のピクチャに対して、上で説明された方式でビデオデータの現在のピクチャの少なくとも一部分を符号化するときに使用されるべき、長期間参照ピクチャを決定することができる。ビデオエンコーダ20は次いで、ビデオデータの符号化バージョンを表すビットストリーム中で長期間参照ピクチャを識別する、POC値の1つまたは複数のLSBのセットを表すために使用されるビットの数を決定することができる。言い換えると、ビデオエンコーダ20は、「u(v)」と示される無符号のバイナリ符号化における「v」を決定することができ、「u」はやはり無符号のバイナリ符号化を示す。
【0069】
しばしば、LSBのこの数は、LTRPを他のLTRPおよびDPBに記憶された任意の他の参照ピクチャと区別するために必要なLSBの数に基づいて定義される。言い換えると、この数は、スライス、ピクチャ、またはGOPに基づいて変化し得る。いくつかの例では、LSBの数は、ビットストリーム全体、またはその一部に対して定義され得る。いくつかの例では、POC値を識別するために使用されるLSBの数は、LSBの数をシグナリングする必要がないように、事前に定義される。いくつかの例では、LSBの数は、たとえば、スライスヘッダ中で、各ピクチャに対してシグナリングされ得る。いくつかの例では、LSBの数は、たとえば、SPSまたはPPS中で、複数のピクチャに対してシグナリングされ得る。いくつかの例では、POC値を識別するために使用されるLSBの数は、ビデオデータの現在のピクチャおよび/または前に符号化されたピクチャに対して決定されたシンタックス要素に基づいて導出されてよく、このとき、ビデオデコーダ30が同様の導出プロセスを実行して、POC LSBを表すために使用されるビットの数「v」を導出できることを考慮すると、ビデオエンコーダ20は、このPOC LSBを表すために使用されるビットの数をシグナリングする必要はなくてよい。
【0070】
いずれにしても、ビデオエンコーダ20は次いで、長期間参照ピクチャを識別するPOC値の1つまたは複数のLSBのセットの数を表すために使用される決定されたビットの数を使用して、ビットストリーム中でLTRPを識別するPOC値の1つまたは複数のLSBのセットを指定することができる。言い換えると、ビデオエンコーダ20は、無符号のバイナリ数としてビットの数「v」を使用して、ビットストリーム中で上述のPOC LSBを指定することができる。ビデオエンコーダ20はまた、LTRPを使用して、現在のピクチャの少なくとも一部を符号化することができる。ビデオエンコーダ20は、ビットストリーム中でPOC LSBを長さ「v」ビットの無符号のバイナリ値として指定する前、指定した後、またはそれと同時に、現在のピクチャの少なくとも一部を符号化することができる。ビデオエンコーダ20は次いで、このビットストリームをビデオデコーダ30に送信することができ、または、ビデオデコーダ30による後の取り出しのためにこのビットストリームを記憶することができる。
【0071】
ビデオデコーダ30は、本開示で説明される技法に従って符号化された、符号化ビデオデータを表すビットストリームを受信することができる。ビデオデコーダ30のエントロピー復号モジュール150はまず、符号化ビデオデータの現在のピクチャのスライスに対して、現在のピクチャを復号する際に使用するためのLTRPを識別するPOC値の1つまたは複数のLSBのセットを指定するために使用されるビットの数を決定することができる。いくつかの例では、上で説明されたように、ビットの数は、たとえば、スライスヘッダ、SPS、またはPPSにおいて、シンタックス要素としてビットストリーム中で明示的にシグナリングされ得る。他の例では、ビットの数は、SPS、PPS、およびスライスヘッダの任意の1つまたは複数において指定される他のシンタックス要素の関数として導出され得る。
【0072】
ビデオデコーダ30は次いで、ビットストリームから決定された数のビットを解析することができ、解析される決定された数のビットは、現在のピクチャの少なくとも一部を復号するときに使用されるべき長期間参照ピクチャを識別する、POC値の1つまたは複数のLSBのセットを表す。決定された数のビットは、上でPOC LSBと呼ばれていたものを指定することができる。ビデオデコーダ30は次いで、復号ピクチャバッファから、POC LSBに基づいて現在のピクチャの少なくとも一部を復号するときに使用されるべきLTRPを取り出すことができる。
【0073】
復号ピクチャバッファからこのLTRPを取り出すために、ビデオデコーダ30は、LTRPを識別するPOC値の下位ビットを、復号ピクチャバッファに記憶された少なくとも1つのピクチャと関連付けられるPOC値の同数の下位ビットと比較することができる。ビデオデコーダ30は、現在のピクチャを復号するために使用されるべきLTRPの決定された下位ビットと同じ、復号ピクチャバッファに記憶された少なくとも1つのピクチャの1つと関連付けられるPOC値に対するLSBを有する、現在のピクチャを復号する際に長期間参照ピクチャとして使用するための復号ピクチャバッファに記憶された少なくとも1つのピクチャの1つを取り出す。言い換えると、ビデオデコーダ30は、復号ピクチャバッファに記憶されたピクチャに対するPOC値の下位ビットとPOC LSBを照合し、一致するPOC LSBを有するピクチャを、復号ピクチャバッファ中に存在するが現在のピクチャと関連付けられるSPS中で指定されない長期間参照ピクチャとして識別することができる。
【0074】
ビデオデコーダ30は次いで、導出されたピクチャ順序カウント値によって識別される長期間参照ピクチャを使用して、現在のピクチャの一部分を復号することができる。言い換えると、現在のピクチャの現在のスライスのコーディングユニットに対して指定される1つまたは複数の動きベクトルは、POC LSBによって識別されるLTRPを参照し得る。ビデオデコーダ30は、動き補償を実行するときに参照ブロックとしてこれらの様々なブロックを使用して、これらの動きベクトルによって識別されたLTRPの様々なブロックを取り出すことができる。ビデオデコーダ30は、現在のピクチャの現在のスライスのブロックに対してコーディングされた残差データを、これらの参照ブロックに追加して、ビデオデータの復号ブロックを生成し、これによって、元のビデオデータを復元することができる。ビデオデコーダ30は、後続のピクチャを復号する際に後で使用するために、かつ/または表示のために、復号ピクチャバッファにビデオデータの復号ブロックを記憶することができる。ビデオデコーダは次いで、上で説明されたのと同様に、現在のピクチャの他のスライスがもしあればそれを復号することができる。
【0075】
上述のように、ビデオエンコーダ20は、現在のピクチャに対するスライスヘッダ中で、デルタピクチャ順序カウント下位ビット(「デルタPOPC LSB」)または直接のPOC LSBを指定(または「シグナリング」)して、復号ピクチャバッファ中に存在するが現在のピクチャと関連付けられるシーケンスパラメータセット(SPS)中で指定されない長期間参照ピクチャを識別することができる。これらの(デルタ)POC LSBを指定するとき、ビデオエンコーダ20は一般に、これらの指定された(デルタ)POC LSBの各々を分析して、これらの(デルタ)POC LSBの1つまたは複数が冗長または同一ではないことを確実にする。
【0076】
例示すると、ビデオエンコーダ20が、符号化されるべき現在のピクチャのスライスまたは他の部分に対して、スライスヘッダ中で5個の長期間参照ピクチャを指定すべきであると仮定する。その上、これらの5個の長期間参照ピクチャのうちの2個が、現在のピクチャと関連付けられるSPSにおいて指定されており、5個の長期間参照ピクチャの残りの3個は、現在のピクチャに対する直接のPOC LSBとしてシグナリングされるままであると仮定する。ビデオエンコーダ20は、5個の長期間参照ピクチャの最初の2個の各々に対するインデックスをシグナリングすることができ、各インデックスは、現在のピクチャと関連付けられるSPSにおいて指定される長期間参照ピクチャの1つを識別する。
【0077】
ビデオエンコーダ20は、これらの仮定のもとで、スライスヘッダ中で以下のことを指定し、現在のピクチャを復号するときに使用されるべき長期間参照ピクチャをシグナリングすることができる(一般に、ピクチャのすべてのスライスヘッダが同一の参照ピクチャセットのシグナリングを有することが必要とされる)。
【0078】
1:indexA //4001
10というPOC値を識別する2:indexB //4010
10というPOC値を識別する3:POCLSB
A //5001
10というPOC値を識別する4:POCLSB
B //4500
10というPOC値を識別する5:POCLSB
C //5005
10というPOC値を識別する
以下の説明は、POC LSBに基づく。しかしながら、同じ説明が、デルタPOC LSBにも当てはまる。
【0079】
上述のように、上記の項目1〜5の各々は、実質的に異なるPOC値を識別する。しかしながら、様々な例では、直接のPOC LSBをシグナリングする場合のみ、どの長期間参照ピクチャが現在のスライスを復号するために使用されることを意図されたかをビデオデコーダ30が実質的に判定できるようになることを妨げ得る、(曖昧さによる)問題が存在し得る。3個の下位ビットのみがPOCLSB
Aをシグナリングするために使用されると仮定すると、POCLSB
Aは001
2に等しい。さらに、indexAは4001
10というPOC値も識別し、これは、4001
10というPOC値も復号ピクチャバッファ中に存在することを意味する。001
2というPOC LSBを有する2つのピクチャが復号ピクチャバッファにあると仮定すると、現在のピクチャを復号するときにどのLTRPをビデオデコーダ30が使用する予定であったかが不明確であるため、ビデオデコーダ30は現在のピクチャに対するいずれのLTRPも取り出すことが不可能であり得る。
【0080】
結果として、従来のビデオエンコーダは、スライスヘッダ中でシグナリングされる各長期間参照ピクチャに対するPOC LSB(インデックスとしてシグナリングされるものを含む)を分析して、スライスヘッダ中でシグナリングされる各長期間参照ピクチャに対して、冗長性または曖昧にシグナリングされたPOC LSBがないことを確実にする。曖昧なデルタPOC LSBが識別されると、これらの従来のビデオエンコーダは、曖昧なPOC LSBの各々または少なくとも1つの上位ビットも符号化し、これによって、スライスヘッダ中でシグナリングされる各デルタPOC LSBがスライスヘッダのコンテキスト内でPOC値を一意に識別することが確実になる可能性がある。すなわち、これらのビデオエンコーダは、デルタPOC LSBの各々が、スライスヘッダ中で指定されるPOC値のセット内でPOC値を一意にシグナリングすることを確実にし得る。
【0081】
それでも、スライスヘッダ中でシグナリングされるPOC値が互いに対して一意にシグナリングされることを確実にすることは、ビデオデコーダが復号ピクチャバッファからこれらの長期間参照ピクチャを取り出すことを適切に可能にするには不十分である。例示のために上の例を考え、4005
10というPOC値によって識別される別の長期間参照ピクチャが復号ピクチャバッファ中に存在することも仮定する。スライスヘッダ中で指定される任意の他のPOC値との競合がないことを確実にするように確認するとき、ビデオエンコーダは、スライスヘッダ中でシグナリングされる他のPOC値の状況において、この値が5005
10というPOC値を曖昧にシグナリングしないと判定し、上位ビットを何ら指定することなく、POCLSB
Cを101
2(これは単に5
10である)と指定する。
【0082】
これらの仮定のもとで、ビデオデコーダ30は、現在のスライスに対するビットストリームからPOCLSB
Cを解析し、POCLSB
C(101
2または5
10)によって識別される長期間参照ピクチャを取り出すことを試みる。さらに、101
2というPOC LSBを有する2つのピクチャが復号ピクチャバッファにあると仮定すると、現在のピクチャを復号するときにどのLTRPをビデオデコーダ30が使用する予定であったかが不明確であるため、ビデオデコーダ30は現在のピクチャに対するいずれのLTRPも取り出すことが不可能であり得る。
【0083】
本開示で説明される技法によれば、ビデオエンコーダ20は、デルタPOC LSBを区別するための追加の上位ビット(MSB)情報をシグナリングすることが必要かどうかを判定するとき、全体の復号ピクチャバッファ中に存在する各ピクチャを分析するように構成される。言い換えると、ビデオエンコーダ20は、復号ピクチャバッファ中のピクチャを識別する各POC値に対して、POC LSB(または実装形態によってはデルタPOC LSB)を決定する。スライスヘッダ中でシグナリングされるPOC LSBの分析を実行するとき、ビデオエンコーダ20は、スライスヘッダ中でシグナリングされる長期間参照ピクチャの各々に対して決定されるPOC LSBが、復号ピクチャバッファ中のピクチャを識別する各POC値に対して決定されるPOC LSBの各々に対して一意であるかどうかを判定する。スライスヘッダ中でシグナリングされるこれらのPOC LSBの1つが一意ではないと判定されると、ビデオエンコーダ20は次いで、長期間参照ピクチャのPOC値がビデオデコーダ30によって正常に識別されることを可能にするために、POC値の十分な上位ビット(MSB)をシグナリングすることができる。いくつかの例では、ある数の1つまたは複数の下位ビットが、ある数の1つまたは複数の上位ビットに追加されると、ピクチャ順序カウント値を指定するためのビットの総数よりも、合計が少なくなる。
【0084】
動作において、ビデオエンコーダ20は、ビデオデータの現在のピクチャに対して、現在のピクチャの少なくとも一部分を符号化するときに使用されるべき長期間参照ピクチャを識別する、ピクチャ順序カウント値の1つまたは複数の下位ビットを決定することができる。ビデオエンコーダ20は次いで、これらの下位ビットが、長期間参照ピクチャも記憶されている(または、長期間参照ピクチャが記憶されるときの、後述の判定が行われるときに対する順序によっては、今後記憶されるであろう)復号ピクチャバッファに記憶される任意の他の参照ピクチャから長期間参照ピクチャを明確に識別するのに十分であるかどうかを、判定することができる。
【0085】
長期間参照ピクチャも記憶されるこの復号ピクチャバッファに記憶された任意の他のピクチャを識別する、任意の他のピクチャ順序カウント値の1つまたは複数の下位ビットが、長期間参照ピクチャを識別するピクチャ順序カウント値の決定された1つまたは複数の下位ビットと同一である場合、ビデオエンコーダ20は、現在のピクチャの少なくとも一部分を符号化するときに使用されるべき長期間参照ピクチャを識別する、ピクチャ順序カウント値の1つまたは複数の上位ビットを決定することができる。ビデオエンコーダ20は次いで、ビデオデータの符号化バージョンを表すビットストリーム中で現在のピクチャの少なくとも一部分を符号化するときに使用されるべき、長期間参照ピクチャを識別するピクチャ順序カウント値の、決定された1つまたは複数の下位ビットと決定された1つまたは複数の上位ビットの両方を指定することができる。ビデオエンコーダ20は次いで、長期間参照ピクチャを使用して、現在のピクチャの少なくとも一部分を符号化することができる。
【0086】
言い換えると、長期間参照ピクチャを識別するPOC LSBが、SPS、PPS、および/またはスライスヘッダ中で指定される任意の他の長期間参照ピクチャに対して長期間参照ピクチャを一意に識別するのに十分であると単に判定するのではなく、ビデオエンコーダ20は、長期間参照ピクチャを識別するPOC LSBが、DPB全体に記憶された任意の他の長期間参照ピクチャに対して長期間参照ピクチャを一意に識別するのに十分であると判定することができる。やはり、ある数の1つまたは複数の下位ビットが、ある数の1つまたは複数の上位ビットに追加されると、ピクチャ順序カウント値を指定するためのビットの総数よりも、合計が少なくなる。この点で、同じPOC LSBを有する2つ以上の長期間参照ピクチャがDPBに記憶されているが、これらの長期間参照ピクチャのうちの1つのみが、SPS、PPS、および/またはスライスヘッダにおいて指定されたときに、ビデオデコーダが、シグナリングされたPOC LSBによって長期間参照ピクチャを正常に識別することが不可能であるという、上述の問題を引き起こす例を、ビデオエンコーダ20が避けることができる。結果として、これらの技法を実装することによって、ビデオエンコーダ20は、SPS、PPS、および/またはスライスヘッダ中でシグナリングされた長期間参照ピクチャに対してシグナリングされた長期間参照ピクチャをより確実に符号化するための時期を識別するだけである従来のビデオエンコーダと比較して、ビデオデータをより確実に符号化することができる。
【0087】
ビデオデコーダ30は、ビデオデータの符号化バージョン(「符号化ビデオデータ」とも呼ばれ得る)を表すこのビットストリームを受信することができる。ビデオデコーダ30は、この符号化ビデオデータの現在のピクチャに対して、現在のピクチャの少なくとも一部分を復号するときに使用されるべき長期間参照ピクチャを識別する、ピクチャ順序カウントの1つまたは複数の下位ビットを決定することができる。これらの1つまたは複数の下位ビットは、長期間参照ピクチャも記憶される復号ピクチャバッファ中に存在する任意の他のピクチャを識別する、任意の他のピクチャ順序カウント値の1つまたは複数の下位ビットに対して、長期間参照ピクチャのピクチャ順序カウント値を一意に識別しないことがある。上述のように、ピクチャ順序カウント値の下位ビットは、現在のピクチャのスライスを復号するための候補として使用されるべき任意の他の長期間参照ピクチャを識別するピクチャ順序カウント値に関して計算される任意の他のピクチャ順序カウント値の下位ビットに対して、長期間参照ピクチャのピクチャ順序カウント値を一意に識別することができる。
【0088】
言い換えると、本開示で説明された技法を実装しない従来のビデオエンコーダによって実行される従来の分析は、スライスヘッダ中でシグナリングされた任意の他の長期間参照ピクチャのPOC LSBがすべてそれぞれの長期間参照ピクチャを一意に識別したと仮定すると、POC LSBを曖昧なものとして識別しなかったであろう。それでも、このことは、復号ピクチャバッファ全体に対して、POC LSBが長期間参照ピクチャを一意に識別することを意味しない。ビデオエンコーダ20は、本開示で説明される技法を実装するように修正されているので、本開示の例によれば、ビデオエンコーダ20は、復号ピクチャバッファに記憶されたすべてのピクチャを考慮するように、この分析を拡張する。結果として、上で説明されたように、ビデオエンコーダ20は、POC LSBが復号ピクチャバッファに記憶されたピクチャの所与のサブセット(たとえば、スライスヘッダ中でシグナリングされるサブセット)に対して一意であっても、POC MSBを追加でシグナリングすることができる。
【0089】
この点において、POC LSBが、復号ピクチャバッファに記憶されたピクチャの所与のサブセットに対して一意である場合でも、ビデオデコーダ30は、長期間参照ピクチャを識別するピクチャ順序カウント値の1つまたは複数の上位ビットを決定する。決定された1つまたは複数の下位ビットと組み合わされた1つまたは複数の上位ビットは、復号ピクチャバッファ中の任意の他のピクチャを識別する任意の他のピクチャ順序カウント値に対して長期間参照ピクチャを識別する、ピクチャ順序カウント(POC)値を区別するのに十分である。ビデオデコーダ30は次いで、ピクチャ順序カウント値の決定された1つまたは複数の下位ビットおよびピクチャ順序カウント値の決定された1つまたは複数の上位ビットに基づいて、復号ピクチャバッファから長期間参照ピクチャを取り出すことができる。
【0090】
ビデオデコーダ30は次いで、導出されたピクチャ順序カウント値によって識別される長期間参照ピクチャを使用して、現在のピクチャの一部分を復号することができる。言い換えると、現在のピクチャの現在のスライスのコーディングユニットに対して指定される1つまたは複数の動きベクトルは、導出されたピクチャ順序カウント値によって識別される長期間参照ピクチャを参照することができる。ビデオデコーダは、動き補償を実行するときに参照ブロックとしてこれらの様々なブロックを使用して、これらの動きベクトルによって識別された長期間参照ピクチャの様々なブロックを取り出すことができる。ビデオデコーダは、現在のピクチャの現在のスライスのブロックに対してコーディングされた残差データを、これらの参照ブロックに追加して、ビデオデータの復号ブロックを生成することができる。ビデオデコーダは、後続のピクチャを復号する際に後で使用するために、かつ/または表示のために、復号ピクチャバッファにビデオデータの復号ブロックを記憶することができる。ビデオデコーダは次いで、上で説明されたのと同様に、現在のピクチャの他の部分がもしあればそれを復号することができる。
【0091】
図2は、本開示の技法を実装するように構成されたビデオエンコーダ20の例示的な構成を示すブロック図である。
図2は、説明を目的に与えられており、本開示において広く例示され説明される技法を限定するものと見なされるべきではない。説明のために、本開示は、HEVCコーディングの状況において、ビデオエンコーダ20を説明する。しかしながら、本開示の技法は、上述のように、他のコーディング規格または方法に適用可能であり得る。
【0092】
図2の例において、ビデオエンコーダ20は、複数の機能コンポーネントを含む。ビデオエンコーダ20の機能コンポーネントは、予測モジュール100と、残差生成モジュール102と、変換モジュール104と、量子化モジュール106と、逆量子化モジュール108と、逆変換モジュール110と、復元モジュール112と、復号ピクチャバッファ114と、エントロピー符号化モジュール116とを含む。予測モジュール100は、動き推定モジュール122と、動き補償モジュール124と、イントラ予測モジュール126とを含む。
【0093】
他の例では、ビデオエンコーダ20は、より多い、より少ない、または異なる機能コンポーネントを含んでもよい。たとえば、ビデオエンコーダ20は、復元モジュール112の出力をフィルタリングして、復元されたビデオからブロッキネスアーティファクトを取り除くためのデブロッキングフィルタを含み得る。さらに、動き推定モジュール122と動き補償モジュール124は、高度に統合され得るが、
図4の例では、説明のために別個に表されている。
【0094】
ビデオエンコーダ20は、ビデオデータを受信することができる。様々な例において、ビデオエンコーダ20は、様々なソースからビデオデータを受信し得る。たとえば、ビデオエンコーダ20は、ビデオソース18(
図1)または別のソースからビデオデータを受信し得る。ビデオデータは、ピクチャのシーケンスを表し得る。ピクチャは、テクスチャビューと深度ビューとを含み得る。ビデオデータを符号化するために、ビデオエンコーダ20は、ピクチャの各シーケンスに対して符号化動作を実行することができる。ピクチャのシーケンスに対して符号化動作を実行することの一部として、ビデオエンコーダ20は、ピクチャのシーケンス内の各ピクチャに対して符号化動作を実行することができる。ピクチャに対する符号化動作を実行することの一部として、ビデオエンコーダ20は、ピクチャ中の各スライスに対する符号化動作を実行することができる。ビデオエンコーダ20がスライスに対して符号化動作を実行すると、ビデオエンコーダ20は、コード化スライスを生成する。コード化スライスは、符号化された形のスライスである。コード化スライスは、スライスヘッダとスライスデータとを含み得る。スライスヘッダは、スライスと関連付けられたシンタックス要素を含み得る。
【0095】
スライスに対する符号化動作を実行することの一部として、ビデオエンコーダ20は、スライス中のツリーブロックに対して符号化動作を実行し得る。ビデオエンコーダ20がツリーブロックに対して符号化動作を実行するとき、ビデオエンコーダ20は、コード化ツリーブロックを生成し得る。コード化ツリーブロックは、ツリーブロックの符号化バージョンを表すデータを備え得る。言い換えると、コード化ツリーブロックは、符号化された形のツリーブロックであり得る。本技法は、H.264/AVCに関して上で説明されたが、以下で説明されるように、HEVCに対しても適用され得る。この点において、本技法は、H.264またはHEVCのいずれかに限定されるべきではなく、H.264/AVCとHEVCの状況の両方に適用され得る。
【0096】
ツリーブロックに対して符号化動作を実行することの一部として、予測モジュール100は、ツリーブロックに対して4分木区分化を実行して、ツリーブロックを、次第に小さくなるCUに分けることができる。たとえば、予測モジュール100は、ツリーブロックを4つの等しいサイズのサブCUに区分し、サブCUのうち1つまたは複数を、4つの等しいサイズのサブサブCUに区分することができ、以下同様に続く。
【0097】
CUのサイズは、8×8ピクセルから、最大64×64ピクセル以上のツリーブロックのサイズまで及び得る。本開示では、「N×N(NxN)」および「N×N(N by N)」は、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法、たとえば、16×16(16x16)ピクセルまたは16×16(16 by 16)ピクセルを指すために互換的に使用され得る。一般に、16×16ブロックは、垂直方向に16ピクセルを有し(y=16)、水平方向に16ピクセルを有する(x=16)。同様に、N×Nブロックは、一般に、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、ここで、Nは非負整数値を表す。
【0098】
ツリーブロックについて符号化動作を実行することの一部として、予測モジュール100は、ツリーブロック用の階層4分木データ構造を生成することができる。たとえば、ツリーブロックは、4分木データ構造のルートノードに対応し得る。予測モジュール100が、ツリーブロックを4つのサブCUに区分する場合、ルートノードは、4分木データ構造中に4つの子ノードをもつ。子ノードの各々は、サブCUのうちの1つに対応する。予測モジュール100が、サブCUのうち1つを4つのサブサブCUに区分する場合、サブCUに対応するノードは、サブサブCUのうちの1つにその各々が対応する、4つの子ノードを有し得る。
【0099】
4分木データ構造の各ノードは、対応するCUにシンタックスデータを与え得る。たとえば、4分木のノードは、そのノードに対応するCUが4つのサブCUに区分(すなわち、分割)されるかどうかを示す分割フラグを含み得る。CUのシンタックス要素は、再帰的に定義されてよく、CUがサブCUに分割されるかどうかに依存し得る。区分されていないCUは、4分木データ構造におけるリーフノードに対応し得る。4分木データ構造におけるリーフノードは、「コーディングノード」と呼ばれ得る。コード化ツリーブロックは、対応するツリーブロック用の4分木データ構造に基づくデータを含み得る。コード化ツリーブロックとは、符号化された形のツリーブロックである。コード化ツリーブロックが、符号化された形のツリーブロックであるとき、コード化ツリーブロックは、ツリーブロックに対応する。
【0100】
ビデオエンコーダ20は、ツリーブロックの各非区分化CUに対して符号化動作を実行することができる。ビデオエンコーダ20が非区分化CUに対して符号化動作を実行するとき、ビデオエンコーダ20は、非区分化CUの符号化バージョンを表すデータを生成する。
【0101】
CUに対して符号化動作を実行することの一部として、動き推定モジュール122および動き補償モジュール124は、CUに対してインター予測を実行することができる。言い換えると、動き推定モジュール122および動き補償モジュール124は、CUを含むピクチャ以外の参照ピクチャの復号サンプルに基づいて、CUについての予測データを生成することができる。インター予測は、時間圧縮を実現し得る。
【0102】
CUに対してインター予測を実行するために、動き推定モジュール122は、CUを1つまたは複数の予測ユニット(PU)に区分することができる。ビデオエンコーダ20およびビデオデコーダ30は、様々なPUサイズをサポートすることができる。特定のCUのサイズが2N×2Nであると仮定すると、ビデオエンコーダ20およびビデオデコーダ30は、2N×2NまたはN×NのPUサイズと、2N×2N、2N×N、N×2N、N×N、2N×nU、nL×2N、nR×2N、または同様の対称PUサイズでのインター予測とをサポートすることができる。ビデオエンコーダ20およびビデオデコーダ30は、2N×nU、2N×nD、nL×2N、およびnR×2NというPUサイズに対する非対称区分化もサポートすることができる。いくつかの例では、動き推定モジュール122は、CUの辺と直角にならない境界に沿って、CUをPUに区分することができる。
【0103】
動き推定モジュール122は、CUの各PUに関して動き推定動作を実行することができる。動き推定モジュール122がPUに関して動き推定動作を実行すると、動き推定モジュール122は、PUについての1つまたは複数の動きベクトルを生成することができる。たとえば、スライスは、Iスライス、Pスライス、またはBスライスであり得る。動き推定モジュール122および動き補償モジュール124は、CUがIスライス中にあるか、Pスライス中にあるか、またはBスライス中にあるかに応じて、CUのPUに対する様々な動作を実行することができる。Iスライス中では、全CUがイントラ予測される。したがって、CUがIスライス中にある場合、動き推定モジュール122および動き補償モジュール124は、CUに対してインター予測を実行しない。
【0104】
CUがPスライス中にある場合、CUを含むピクチャは、「リスト0」と呼ばれる参照ピクチャのリストと関連付けられる。リスト0中の参照ピクチャの各々は、復号順での後続ピクチャのインター予測に使用され得るサンプルを含む。動き推定モジュール122が、Pスライス中のPUに関して動き推定動作を実行するとき、動き推定モジュール122は、PUについての参照サンプルを求めて、リスト0中の参照ピクチャを検索する。PUの参照サンプルは、PUのピクセル値に最も密接に対応するピクセル値のセットであり得る。動き推定モジュール122は、種々の尺度を使用して、参照ピクチャ中のピクセル値のセットがどの程度密接にPUのピクセル値に対応するか判定することができる。たとえば、動き推定モジュール122は、絶対値差分和(SAD)、2乗差分和(SSD)、または他の差分尺度によって、参照ピクチャ中のピクセル値のセットがどの程度密接に、PUのピクセル値に対応するか判定することができる。
【0105】
PスライスにあるCUのPUの参照サンプルを識別した後、動き推定モジュール122は、参照サンプルを含む、リスト0中の参照ピクチャを示す参照インデックスと、PUと参照サンプルとの間の空間変位を示す動きベクトルとを生成することができる。様々な例において、動き推定モジュール122は、動きベクトルを可変精度で生成することができる。たとえば、動き推定モジュール122は、1/4ピクセル精度、1/8ピクセル精度、または他の分数ピクセル精度で、動きベクトルを生成することができる。動き推定モジュール122は、PUの動き情報を、エントロピー符号化モジュール56および動き補償モジュール124に出力することができる。PUの動き情報は、参照インデックスとPUの動きベクトルとを含み得る。動き補償モジュール124は、CUのPUの動き情報を使用して、PUの参照サンプルを識別し、取り出すことができる。動き補償モジュール124は次いで、PUの参照サンプルのピクセル値を使用して、CUについての予測データを生成することができる。
【0106】
CUがBスライス中にある場合、CUを含むピクチャは、「リスト0」および「リスト1」と呼ばれる参照ピクチャの2つのリストと関連付けられ得る。リスト0中の参照ピクチャの各々は、復号順での後続ピクチャのインター予測に使用され得るサンプルを含む。リスト1中の参照ピクチャは、復号の順序ではピクチャの前に現れるが、提示の順序ではピクチャの後に現れる。いくつかの例では、Bスライスを含むピクチャは、リスト0とリスト1の組合せである、リストの組合せと関連付けられ得る。
【0107】
さらに、CUがBスライス中にある場合、動き推定モジュール122は、CUのPUについての単方向予測または双方向予測を実行することができる。動き推定モジュール122が、PUについての単方向予測を実行するとき、動き推定モジュール122は、PUについての参照サンプルを求めてリスト1の参照ピクチャを検索し得る。動き推定モジュール122は次いで、参照サンプルを含む、リスト1中の参照ピクチャを示す参照インデックスと、PUと参照サンプルとの間の空間変位を示す動きベクトルとを生成することができる。動き推定モジュール122は、CUのPUについての動き情報を、エントロピー符号化モジュール56および動き補償モジュール124に出力することができる。PUについての動き情報は、参照インデックスと、予測方向インジケータと、PUの動きベクトルとを含み得る。予測方向インジケータは、参照インデックスが、リスト0中の参照ピクチャを示すか、リスト1中の参照ピクチャを示すかを示し得る。動き補償モジュール124は、CUのPUの動き情報を使用して、PUの参照サンプルを識別し、取り出すことができる。動き補償モジュール124は次いで、PUの参照サンプルのピクセル値を使用して、CUについての予測データを生成することができる。
【0108】
動き推定モジュール122が、PUについての双方向予測を実行するとき、動き推定モジュール122は、PUについての参照サンプルを求めてリスト0中の参照ピクチャを検索することができ、また、PUについての別の参照サンプルを求めてリスト1中の参照ピクチャを検索することもできる。動き推定モジュール122は次いで、参照サンプルを示す参照インデックスと、参照サンプルとPUとの間の空間変位を示す動きベクトルとを生成することができる。動き推定モジュール122は、PUの動き情報を、エントロピー符号化モジュール116および動き補償モジュール124に出力することができる。PUについての動き情報は、参照インデックスとPUの動きベクトルとを含み得る。動き補償モジュール124は、動き情報を使用して、PUの参照サンプルを識別し、取り出すことができる。動き補償モジュール124は次いで、CUのPUの参照サンプル中のピクセル値から、CUの予測データのピクセル値を補間することができる。
【0109】
概して、予測モジュール100は、本開示で説明される技法を実施して、上述のRPSを形成し、RPS中の参照ピクチャを識別するSPSおよび/またはスライスレベルシンタックス要素を生成することができる。予測モジュール100は、上でより詳しく説明された技法を実施する、ハードウェアまたはハードウェアトとソフトウェアユニットの組合せ(より大きなハードウェアまたはハードウェアとソフトウェアユニットの組合せの中に含まれ得る)を表すことができる。
【0110】
CUに対して符号化動作を実行することの一部として、イントラ予測モジュール126は、CUに対してイントラ予測を実行し得る。言い換えると、イントラ予測モジュール126は、他のCUの復号ピクセル値に基づいて、CUについての予測データを生成することができる。イントラ予測は、空間圧縮を実現し得る。
【0111】
CUに対してイントラ予測を実行するために、イントラ予測モジュール126は、複数のイントラ予測モードを使用して、CUについての複数の予測データセットを生成することができる。イントラ予測モジュール126がイントラ予測モードを使用してCUについての予測データのセットを生成する場合、イントラ予測モジュール126は、CUを1つまたは複数のPUに区分することができる。イントラ予測モジュール126は次いで、PUの各々に対して、イントラ予測モードと関連付けられる方向および/または傾きで、PUにわたって隣接PUからピクセル値を延長することができる。隣接PUは、PU、CUおよびツリーブロックについて左から右、上から下の符号化順序を仮定すると、PUの上、右上、左上、または左にあり得る。イントラ予測モジュール46は、CUのサイズに応じて、様々な数のイントラ予測モード、たとえば、33個の方向性イントラ予測モードを使用することができる。
【0112】
イントラ予測モジュール126は、CUについての予測データセットのうち1つを選択することができる。様々な例において、イントラ予測モジュール126は、CUについての予測データのセットを様々な方法で選択することができる。たとえば、イントラ予測モジュール126は、予測データのセットについての歪み率を算出し、歪み率が最も低い予測データのセットを選択することによって、CUについての予測データのセットを選択することができる。
【0113】
予測モジュール100は、CUについての、動き補償モジュール124によって生成された予測データ、またはCUについての、イントラ予測モジュール126によって生成された予測データの中から、CUについての予測データを選択することができる。いくつかの例では、予測モジュール100は、予測データのセット中のエラー(すなわち、歪み)に基づいて、CUについての予測データを選択する。
【0114】
予測モジュール100がCUについての予測データを選択した後、残差生成モジュール102は、CUのピクセル値からCUの選択予測データを差し引くことによって、CUについての残差データを生成することができる。CUの残差データは、CU中のピクセルの様々なピクセル成分に対応する2D残差ブロックを含み得る。たとえば、残差データは、CUの予測データ中のピクセルの輝度成分とCUの元のピクセル中のピクセルの輝度成分との間の差分に対応する、残差ブロックを含み得る。加えて、CUの残差データは、CUの予測データ中のピクセルのクロミナンス成分とCUの元のピクセルのクロミナンス成分との間の差分に対応する、残差ブロックを含み得る。
【0115】
CUは、1つまたは複数の変換ユニット(TU)を有し得る。CUの各TUは、CUの残差データの異なる部分に対応し得る。CUのTUのサイズは、CUのPUのサイズに基づいても基づかなくてもよい。いくつかの例では、CUが、「残差4分木」(RQT)として知られる4分木構造を使用して、より小さいユニットに細分割され得る。TUは、RQTのリーフノードに対応し得る。
【0116】
変換モジュール104は、TUに対応する残差データに変換を適用することによって、CUの各TUについての1つまたは複数の係数ブロックを生成することができる。係数ブロックの各々は、係数の2D行列であり得る。様々な例において、変換モジュール104は、TUに対応する残差データに様々な変換を適用することができる。たとえば、変換モジュールは、離散コサイン変換(DCT)、方向変換、または概念的に同様の変換を適用することができる。
【0117】
変換モジュール104が、TUについての係数ブロックを生成した後、量子化モジュール106は、係数ブロック中の係数を量子化することができる。量子化は、概して、係数を表すために使用されるデータの量をできるだけ減らすために係数ブロック中の係数が量子化され、さらなる圧縮をもたらす処理を指す。量子化は、係数の一部または全部と関連付けられるビット深度を低減することができる。たとえば、量子化中にnビット値がmビット値へと切り捨てられてよく、ただし、nはmよりも大きい。
【0118】
逆量子化モジュール108および逆変換モジュール110は、それぞれ、係数ブロックに逆量子化と逆変換とを適用して、係数ブロックから残差データを復元することができる。復元モジュール112は、動き補償モジュール124またはイントラ予測モジュール126によって生成された予測データに復元残差データを加えて、復号ピクチャバッファ114に記憶するための復元ビデオブロックを生成することができる。動き推定モジュール122および動き補償モジュール124は、復元ビデオブロックを含む参照ピクチャを使用して、後続ピクチャのCUに対してインター予測を実行することができる。さらに、イントラ予測モジュール126は、現在のピクチャのCUの復元ピクセル値を使用して、イントラ予測を実行することができる。
【0119】
エントロピー符号化モジュール116は、ビデオエンコーダ20の他の機能コンポーネントからデータを受信し得る。たとえば、エントロピー符号化モジュール116は、量子化モジュール106から係数ブロックをでき、予測モジュール100からシンタックス要素を受信することができる。エントロピー符号化モジュール116がデータを受信すると、エントロピー符号化モジュール116は、1つまたは複数のエントロピー符号化動作を実行して、エントロピー符号化データを生成することができる。たとえば、ビデオエンコーダ20は、コンテキスト適応型可変長コーディング(CAVLC:context adaptive variable length coding)演算、CABAC演算、シンタックスベースのコンテキスト適応型バイナリ算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)演算、確率間隔区分エントロピー(PIPE:Probability Interval Partitioning Entropy)コーディング演算、または別のタイプのエントロピー符号化演算をデータに対して実行し得る。
【0120】
エントロピー符号化モジュール116は、一連のNALユニットを含むビットストリームを出力する。上で論じられたように、NALユニットの各々は、NALユニット中のデータのタイプの指示と、データを含むバイトとを含むシンタックス構造であり得る。ビットストリーム中の各コード化スライスNALユニットは、コード化スライスを含む。コード化スライスは、コード化スライスヘッダとスライスデータとを含む。スライスデータは、コード化ツリーブロックを含み得る。コード化ツリーブロックは、1つまたは複数のコード化CUを含み得る。各コード化CUは、1つまたは複数のエントロピー符号化係数ブロックを含み得る。エントロピー符号化モジュール116は、リアルタイムの復号またはリアルタイムに近い復号のいずれかのために、あるいは、記憶およびデコーダ30による後の復号のために、ビットストリームを出力することができる。
【0121】
上で説明されたように、ビデオエンコーダ20は、本開示の技法の第1の態様に従って、ビデオデータを符号化することができる。本技法の第1の態様に従ってビデオデータを符号化するために、ビデオエンコーダ20の動き推定モジュール122は、ビデオデータの現在のピクチャに対して、上で説明された方式でビデオデータの現在のピクチャの少なくとも一部分を符号化するときに使用されるべき、長期間参照ピクチャを決定することができる。いくつかの例では、この長期間参照ピクチャは、復号ピクチャバッファ114中に存在するが現在のピクチャと関連付けられるシーケンスパラメータセット中で1つまたは複数の長期間参照ピクチャとして指定されない、長期間参照ピクチャである。
【0122】
動き推定モジュール122は次いで、ビデオデータの符号化バージョンを表すビットストリーム中で長期間参照ピクチャを識別する、POC値の1つまたは複数のLSBを表すために使用されるビットの数を決定することができる。言い換えると、動き推定モジュール122は、「u(v)」と示される無符号のバイナリ符号化における「v」を決定することができ、「u」はやはり無符号のバイナリ符号化を示す。しばしば、LSBのこの数は、LTRPを他のLTRPおよびDPBに記憶された任意の他の参照ピクチャと区別するために必要なLSBの数に基づいて定義される。言い換えると、この数は、スライス、ピクチャ、またはGOPに基づいて変化し得る。いくつかの例では、LSBの数は、ビットストリーム全体、またはその一部に対して定義され得る。いくつかの例では、この差を特定するために使用されるLSBの数は統計的であり、またはたとえばHEVC規格の場合のように事前に定義されている。いくつかの例では、LTRPを特定するために使用されるLSBの数は、ビデオデータの現在のピクチャおよび/または前に符号化されたピクチャに対して決定されたシンタックス要素に基づいて導出されてよく、このとき、動き推定モジュール122が同様の導出プロセスを実行して、POC LSBを表すために使用されるビットの数「v」を導出できることを考慮すると、動き推定モジュール122は、このPOC LSBを表すために使用されるビットの数をシグナリングする必要はなくてよい。
【0123】
いずれにしても、動き推定モジュール122は次いで、POC値のこれらの1つまたは複数のLSBをエントロピー符号化モジュール116に渡すことができ、エントロピー符号化モジュール116は、長期間参照ピクチャを識別するピクチャ順序カウント値の1つまたは複数の下位ビットを表すために使用される決定された数のビットを使用して、ビットストリーム中でLTRPを識別するPOC値の1つまたは複数のLSBを指定することができる。言い換えると、エントロピー符号化モジュール116は、無符号のバイナリ数としてビットの数「v」を使用して、ビットストリーム中で上述のPOC LSBを指定することができる。一般的に、エントロピー符号化モジュール116は、現在のピクチャの少なくとも一部分と関連付けられるスライスヘッダ中で長期間参照ピクチャを識別する、ピクチャ順序カウント値の1つまたは複数の下位ビットを指定する。
【0124】
いくつかの例では、動き推定モジュール122は、長期間参照ピクチャを識別するピクチャ順序カウント値の1つまたは複数の下位ビットを表すために使用される決定された数のビットをビットストリーム中で指定するのを避けるために、ビデオデータの現在のピクチャと以前に符号化されたピクチャの1つまたは複数に対して以前に決定されたシンタックス要素に基づいて、ビットストリーム中で長期間参照ピクチャを識別するピクチャ順序カウント値の1つまたは複数の下位ビットを表すために使用されるべきビットの数を決定する。いくつかの例では、たとえば、ビットの数「v」が他のシンタックス要素から導出されない場合(しばしば実装形態の選択として)、エントロピー符号化モジュール116はまた、ビットストリーム中で長期間参照ピクチャを識別するピクチャ順序カウント値の1つまたは複数の下位ビットを表すために使用される、決定された数のビットを指定する。動き推定モジュール122と、動き補償ユニット124と、加算器102と、変換モジュール104と、量子化モジュール106と、エントロピー符号化モジュール116とを含む、ビデオエンコーダ20の様々なモジュールは次いで、LTRPを使用して現在のピクチャの少なくとも一部分を符号化することができる。
【0125】
ビデオエンコーダ20はまた、場合によっては本開示で説明された技法の第1の態様とともに、本開示で説明された技法の第2の態様を実装することができる。技法の第2の態様によれば、動き推定モジュール122は、ビデオデータの現在のピクチャに対して、現在のピクチャの少なくとも一部分を符号化するときに使用されるべき長期間参照ピクチャを識別する、ピクチャ順序カウント値の1つまたは複数の下位ビットを決定することができる。動き推定モジュール122は次いで、これらの下位ビットが、長期間参照ピクチャも記憶されている(または、長期間参照ピクチャが記憶されるときと後述の判定が行われるときの順序によっては、今後記憶されるであろう)復号ピクチャバッファ114に記憶される任意の他の参照ピクチャから長期間参照ピクチャを明確に識別するのに十分であるかどうかを、判定することができる。
【0126】
動き推定モジュール122は、復号ピクチャバッファ114に記憶された他のピクチャのそれぞれ1つを識別する少なくとも1つのピクチャ順序カウント値に対する下位ビットを決定することによって少なくとも一部、これらの下位ビットが復号ピクチャバッファ114に記憶される任意の他の参照ピクチャから長期間参照ピクチャを明確に識別するのに十分かどうかを判定することができる。動き推定モジュール122は次いで、このピクチャ順序カウント値の下位ビットが長期間参照ピクチャを識別するピクチャ順序カウント値の決定された下位ビットと同一であるかどうかを判定することができる。これらの2つのピクチャ順序カウント値の下位ビットが同一である場合、動き推定モジュール122は次いで、現在のピクチャの少なくとも一部分を符号化し復号することが適切な長期間参照ピクチャを一意に識別するには不十分であるとき、使用されるべき長期間参照ピクチャを識別するピクチャ順序カウント値の下位ビットを決定することができる。しかしながら、これらの2つのピクチャ順序カウント値の下位ビットが同一ではない場合、動き推定モジュール122は、復号ピクチャバッファ114に記憶される別の長期間参照ピクチャを識別するピクチャ順序カウント値の下位ビットを決定し続けることができ、2つのピクチャ順序カウント値の下位ビットの比較を、一致が発見されるまで、または、復号ピクチャバッファ114に記憶されたピクチャを識別するすべてのピクチャ順序カウント値がこの比較を経るまで、行う。
【0127】
長期間参照ピクチャも記憶される復号ピクチャバッファ114に記憶された任意の他のピクチャを識別する、任意の他のピクチャ順序カウント値の1つまたは複数の下位ビットが、長期間参照ピクチャを識別するピクチャ順序カウント値の決定された1つまたは複数の下位ビットと同一である場合、動き推定モジュール122は、現在のピクチャの少なくとも一部分を符号化するときに使用されるべき長期間参照ピクチャを識別する、ピクチャ順序カウント値の1つまたは複数の上位ビットを決定することができる。ピクチャ順序カウント値の1つまたは複数の上位ビットを決定するために、動き推定モジュール122は、決定された下位ビットと組み合わされた上位ビットが、復号ピクチャバッファ中の任意の他のピクチャを識別する任意の他のピクチャ順序カウント値に対して長期間参照ピクチャを識別するピクチャ順序カウント値を一意に識別するのに十分であるように、現在のピクチャの少なくとも一部分を符号化するときに使用されるべき長期間参照ピクチャを識別するピクチャ順序カウント値の上位ビットを決定することができる。
【0128】
動き推定モジュール122は次いで、これらの下位ビットと上位ビットとをエントロピー符号化モジュール116に転送することができる。エントロピー符号化モジュール116は、ビデオデータの符号化バージョンを表すビットストリーム中で現在のピクチャの少なくとも一部分を符号化するときに使用されるべき、長期間参照ピクチャを識別するピクチャ順序カウント値の、決定された1つまたは複数の下位ビットと決定された1つまたは複数の上位ビットの両方を指定することができる。動き推定モジュール122と、動き補償ユニット124と、加算器102と、変換モジュール104と、量子化モジュール106と、エントロピー符号化モジュール116とを含む、ビデオエンコーダ20の様々なモジュールは次いで、LTRPを使用して現在のピクチャの少なくとも一部分を符号化することができる。
【0129】
言い換えると、長期間参照ピクチャを識別するPOC LSBが、SPS、PPS、および/またはスライスヘッダ中で指定される任意の他の長期間参照ピクチャに対して長期間参照ピクチャを一意に識別するのに十分であると単に判定するのではなく、動き推定モジュール122は、長期間参照ピクチャを識別するPOC LSBが、復号ピクチャバッファ114に記憶された任意の他の長期間参照ピクチャに対して長期間参照ピクチャを一意に識別するのに十分であると判定することができる。この点で、同じPOC LSBを有する2つ以上の長期間参照ピクチャがDPBに記憶されているが、これらの長期間参照ピクチャのうちの1つのみが、SPS、PPS、および/またはスライスヘッダにおいて指定されたときに、ビデオデコーダが、シグナリングされたPOC LSBによって長期間参照ピクチャを正常に識別することが不可能であるという、上述の問題を引き起こす例を、ビデオエンコーダ20が避けることができる。結果として、これらの技法を実装することによって、ビデオエンコーダ20は、SPS、PPS、および/またはスライスヘッダ中でシグナリングされた長期間参照ピクチャに対してシグナリングされた長期間参照ピクチャをより確実に符号化するための時期を識別するだけである従来のビデオエンコーダと比較して、ビデオデータをより確実に符号化することができる。
【0130】
図3は、ビデオデコーダ30の例示的構成を示すブロック図である。
図3は、説明を目的に与えられており、本開示において広く例示され説明される技法に対する限定ではない。説明のために、本開示は、HEVCコーディングの状況において、ビデオデコーダ30を説明する。しかしながら、本開示の技法は、他のコーディング規格または方法にも適用可能であり得る。
【0131】
図3の例において、ビデオデコーダ30は、複数の機能コンポーネントを含む。ビデオデコーダ30の機能コンポーネントは、エントロピー復号モジュール150と、予測モジュール152と、逆量子化モジュール154と、逆変換モジュール156と、復元モジュール158と、復号ピクチャバッファ160とを含む。予測モジュール152は、動き補償モジュール162と、イントラ予測モジュール164とを含む。いくつかの例では、ビデオデコーダ30は、
図2のビデオエンコーダ20に関して説明された符号化パスとは全般に逆の復号パスを実行し得る。他の例では、ビデオデコーダ30は、より多数の、より少数の、または異なる機能コンポーネントを含み得る。たとえば、ビデオデコーダ30は、復元モジュール158の出力をフィルタリングして、復元されたビデオからブロッキネスアーティファクトを取り除くためのデブロッキングフィルタを含み得る。
【0132】
ビデオデコーダ30は、符号化ビデオデータを備えるビットストリームを受信することができる。ビデオデコーダ30がビットストリームを受信すると、エントロピー復号モジュール150は、ビットストリームに対して解析動作を実行する。ビットストリームに対して解析動作を実行した結果として、エントロピー復号モジュール150は、エントロピー復号シンタックス要素を生成することができる。エントロピー復号シンタックス要素は、エントロピー復号係数ブロックを含み得る。予測モジュール152、逆量子化モジュール154、逆変換モジュール156、および復元モジュール158は、シンタックス要素を使用する復号動作を実施して、復号ビデオデータを生成することができる。
【0133】
いくつかの例では、エントロピー復号モジュール150は、上でより詳しく説明された技法の様々な態様に従って、参照ピクチャを識別し、参照ピクチャセットを形成するために使用される、ピクチャ順序カウントのビットに関連するシンタックス要素を解析することができる。エントロピー復号モジュール150は、これらのシンタックス要素を予測モジュール152に提供することができ、予測モジュール152は、本開示で説明された技法を実施して、ビットからピクチャ順序カウントを決定し、ピクチャ順序カウントと関連付けられる、またはピクチャ順序カウントによって識別される参照ピクチャを含む参照ピクチャセットを形成し、参照ピクチャセットを使用してビデオデータの1つまたは複数の符号化ピクチャを復号することができる。
【0134】
上で論じられたように、ビットストリームは、一連のNALユニットを備え得る。ビットストリームのNALユニットは、シーケンスパラメータセットNALユニット、ピクチャパラメータセットNALユニット、SEI NALユニットなどを含み得る。ビットストリームに対して解析動作を実行することの一部として、エントロピー復号モジュール150は、シーケンスパラメータセットNALユニットからのシーケンスパラメータセット、ピクチャパラメータセットNALユニットからのピクチャパラメータセット、SEI NALユニットからのSEIデータなどを抽出してエントロピー復号する、解析動作を実行することができる。シーケンスパラメータセットとは、0個以上のコード化ビデオシーケンス全体に当てはまるシンタックス要素を含むシンタックス構造である。ピクチャパラメータセットとは、0個以上のコード化ピクチャ全体に当てはまるシンタックス要素を含むシンタックス構造である。所与のピクチャと関連付けられたピクチャパラメータセットは、所与のピクチャと関連付けられたシーケンスパラメータセットを識別するシンタックス要素を含み得る。
【0135】
加えて、ビットストリームのNALユニットは、コード化スライスNALユニットを含み得る。ビットストリームに対して解析動作を実行することの一部として、エントロピー復号モジュール150は、コード化スライスNALユニットからコード化スライスを抽出しエントロピー復号する、解析動作を実行し得る。コード化スライスの各々は、スライスヘッダとスライスデータとを含み得る。スライスヘッダは、スライスに関するシンタックス要素を含み得る。スライスヘッダ中のシンタックス要素は、スライスを含むピクチャと関連付けられたピクチャパラメータセットを識別するシンタックス要素を含み得る。エントロピー復号モジュール150は、コード化スライスヘッダに対して、CAVLC復号動作などのエントロピー復号動作を実行して、スライスヘッダを回復することができる。
【0136】
コード化スライスNALユニットからスライスデータを抽出した後、エントロピー復号モジュール150は、スライスデータからコード化ツリーブロックを抽出することができる。エントロピー復号モジュール150は次いで、コード化ツリーブロックからコード化CUを抽出することができる。エントロピー復号モジュール150は、コード化CUからシンタックス要素を抽出する、解析動作を実行することができる。抽出されたシンタックス要素は、エントロピー符号化係数ブロックを含み得る。エントロピー復号モジュール150は次いで、シンタックス要素に対してエントロピー復号動作を実行することができる。たとえば、エントロピー復号モジュール150は、係数ブロックに対してCABAC動作を実行することができる。
【0137】
エントロピー復号モジュール150がデータのセットに対してエントロピー復号動作を実行するとき、エントロピー復号モジュール150は、コンテキストモデルを選択することができる。エントロピー復号モジュール150がCABACを使用する例では、コンテキストモデルは、特定のビンの確率を示し得る。エントロピー復号モジュール150がCAVLCを使用する例では、コンテキストモデルは、コードワードと、対応するデータとの間のマッピングを示し得る。エントロピー復号モジュール150は次いで、選択されたコンテキストモデルを使用して、データのセットに対してエントロピー復号動作を実行することができる。
【0138】
エントロピー復号モジュール150が非区分化CUに対して解析動作を実行した後、ビデオデコーダ30は、非区分化CUに対して復号動作を実行することができる。非区分化CUに対して復号動作を実行するために、ビデオデコーダ30は、CUの残差4分木の各レベルにおいて、CUの各TUに対して復号動作を実行することができる。CUの各TUに対して復号動作を実行することによって、ビデオデコーダ30は、CUの残差データを復元することができる。
【0139】
非区分化TUに対して復号動作を実行することの一部として、逆量子化モジュール154は、TUと関連付けられた係数ブロックを逆量子化、すなわち、量子化解除し得る。逆量子化モジュール154は、HEVC用に提案され、またはH.264復号規格によって定義される逆量子化プロセスと同様の方法で、係数ブロックを逆量子化することができる。逆量子化モジュール154は、量子化の程度を判定し、同様に、逆量子化モジュール154が適用するべき逆量子化の程度を判定するために、係数ブロックのCUのためにビデオエンコーダ20によって計算される量子化パラメータQPYを使用することができる。
【0140】
逆量子化モジュール154が係数ブロックを逆量子化した後、逆変換モジュール156は、係数ブロックと関連付けられたTUについての残差データを生成することができる。逆変換モジュール156は、係数ブロックに逆変換を適用することによって少なくとも一部、TUについての残差データを生成することができる。たとえば、逆変換モジュール156は、逆DCT、逆整数変換、逆カルーネンレーベ変換(KLT)、逆回転変換、逆方向変換、または別の逆変換を係数ブロックに適用することができる。いくつかの例では、逆変換モジュール156は、ビデオエンコーダ20からのシグナリングに基づいて、係数ブロックに適用するべき逆変換を判定することができる。そのような例では、逆変換モジュール156は、係数ブロックと関連付けられたツリーブロックの4分木のルートノードにおいてシグナリングされた変換に基づいて、逆変換を判定することができる。他の例では、逆変換モジュール156は、ブロックサイズ、コーディングモードなどのような、1つまたは複数のコーディング特性から逆変換を推測することができる。いくつかの例では、逆変換モジュール156は直列の逆変換を適用することができる。
【0141】
インター予測を使用してCUが符号化された場合、動き補償モジュール162は、動き補償を実行して、CUについての予測データを生成することができる。動き補償モジュール162は、CUのPUについての動き情報を使用して、PUについての参照サンプルを識別することができる。PUについての動き情報は、動きベクトルと、参照ピクチャインデックスと、予測方向とを含み得る。動き補償モジュール162は次いで、PUについての参照サンプルを使用して、CUについての予測データを生成することができる。
【0142】
いくつかの例では、動き補償モジュール162は、補間フィルタに基づく補間を実行することによって、CUについての予測データを精緻化することができる。サブピクセル精度をもつ動き補償に使用されるべき補間フィルタの識別子は、シンタックス要素中に含まれ得る。動き補償モジュール162は、CUの予測データの生成中にビデオエンコーダ20によって使用されるものと同じ補間フィルタを使用して、参照ブロックのサブ整数ピクセルについての補間値を算出することができる。動き補償モジュール162は、受信されたシンタックス情報に従って、ビデオエンコーダ20によって使用された補間フィルタを判定し、その補間フィルタを使用して予測データを生成することができる。
【0143】
イントラ予測を使用してCUが符号化される場合、イントラ予測モジュール164は、イントラ予測を実行して、CUについての予測データを生成することができる。たとえば、イントラ予測モジュール164は、ビットストリーム中のシンタックス要素に基づいて、CU用のイントラ予測モードを決定することができる。イントラ予測モジュール164は次いで、イントラ予測モードを使用して、隣接CUのピクセル値に基づいて、CUの予測データ(たとえば、予測されるピクセル値)を生成することができる。
【0144】
復元モジュール158は、CUの残差データとCUについての予測データとを使用して、CUのピクセル値を復元することができる。いくつかの例では、ビデオデコーダ30は、デブロッキングフィルタを適用して、スライスまたはピクチャの復元ピクセル値フィルタから、ブロッキネスアーティファクトを取り除くことができる。復号ピクチャバッファ160は、ビデオデータのピクチャに対する復号ピクセル値を記憶することができる。復号ピクチャバッファ160は、後に続く動き補償、イントラ予測、および
図1のディスプレイデバイス32などのディスプレイデバイス上での提示のために、参照ピクチャを与えることができる。
【0145】
上で説明されたように、ビデオデコーダ30は、上で説明された技法の第1の態様を実装することができ、またはそれを実行するように構成され得る。ビデオデコーダ30のエントロピー復号モジュール150は、本開示で説明される技法の第1の態様に従って符号化された、符号化ビデオデータを表すビットストリームを受信することができる。エントロピー復号モジュール150はまず、符号化ビデオデータの現在のピクチャの一部分に対して、現在のピクチャを復号する際に使用するためのLTRPを識別するPOC値の1つまたは複数のLSBを指定するために使用されるビットの数を決定することができる。いくつかの例では、上で説明されたように、ビットの数は、たとえば、スライスヘッダにおいて、シンタックス要素としてビットストリーム中で明示的にシグナリングされ得る。他の例では、エントロピー復号モジュール150は、ビットの数を、SPS、ピクチャパラメータセット(PPS)、およびスライスヘッダの任意の1つまたは複数において指定される他のシンタックス要素の関数として導出することができる。
【0146】
エントロピー復号モジュール150は次いで、ビットストリームからの決定された数のビットを解析することができ、解析される決定された数のビットは、LTRPを識別するPOCの1つまたは複数のLSBを表す。しばしば、長期間参照ピクチャを識別するピクチャ順序カウント値は、復号ピクチャバッファ160中に存在するが現在のピクチャと関連付けられるシーケンスパラメータセット中で1つまたは複数の長期間参照ピクチャとして指定されない長期間参照ピクチャを識別する、ピクチャ順序カウント値である。決定された数のビットは、上でPOC LSBと呼ばれていたものを指定することができる。エントロピー復号モジュール150は、POC値のLSBを動き補償モジュール162に渡すことができる。動き補償モジュール162は次いで、復号ピクチャバッファ160から、POC LSBに基づいて現在のピクチャの少なくとも一部分を復号するときに使用されるべきLTRPを取り出すことができる。
【0147】
復号ピクチャバッファからこのLTRPを取り出すために、動き補償モジュール162は、LTRPを識別するPOC値の下位ビットを、復号ピクチャバッファ160に記憶された少なくとも1つのピクチャと関連付けられるPOC値の同数の下位ビットと比較することができる。動き補償モジュール162は、現在のピクチャを復号するために使用されるべきLTRPの決定された下位ビットと同じ、復号ピクチャバッファ160に記憶された少なくとも1つのピクチャの1つと関連付けられるPOC値に対するLSBを有する、現在のピクチャを復号する際に長期間参照ピクチャとして使用するための、復号ピクチャバッファ160に記憶された少なくとも1つのピクチャの1つを取り出す。言い換えると、動き補償モジュール162は、復号ピクチャバッファ160に記憶されたピクチャに対するPOC値の下位ビットとPOC LSBを照合し、一致するPOC LSBを有するピクチャを、復号ピクチャバッファ160中に存在するが現在のピクチャと関連付けられるSPS中で指定されない長期間参照ピクチャとして識別することができる。
【0148】
動き補償モジュール162は次いで、導出されたピクチャ順序カウント値によって識別される長期間参照ピクチャを使用して、現在のピクチャの一部分を復号することができる。言い換えると、現在のピクチャの現在のスライスのコーディングユニットに対して指定される1つまたは複数の動きベクトルは、POC LSBによって識別されるLTRPを参照し得る。動き補償モジュール162は、動き補償を実行するときに参照ブロックとしてこれらの様々なブロックを使用して、これらの動きベクトルによって識別されたLTRPの様々なブロックを取り出すことができる。上で説明されたように、ビデオデコーダ30は、現在のピクチャの現在のスライスのブロックに対してコーディングされた残差データを、これらの参照ブロックに追加して、ビデオデータの復号ブロックを生成し、これによって、元のビデオデータを復元することができる。ビデオデコーダ30は、後続のピクチャを復号する際に後で使用するために、復号ピクチャバッファ160にビデオデータの復号ブロックを記憶することができる。ビデオデコーダは次いで、上で説明されたのと同様に、現在のピクチャの他のスライスがもしあればそれを復号することができる。
【0149】
ビデオデコーダ30はまた、場合によっては本開示で説明された技法の第1の態様とともに、本開示で説明された技法の第2の態様を実装することができる。本技法の第2の態様によれば、エントロピー復号モジュール150は、この符号化ビデオデータの現在のピクチャに対して、現在のピクチャの少なくとも一部を復号するときに使用されるべき長期間参照ピクチャを識別する、ピクチャ順序カウント値の下位ビットを決定することができる。これらの1つまたは複数の下位ビットは、長期間参照ピクチャも記憶される復号ピクチャバッファ160中に存在する任意の他のピクチャを識別する、任意の他のピクチャ順序カウント値の1つまたは複数の下位ビットに対して、長期間参照ピクチャのピクチャ順序カウント値を一意に識別しないことがある。上述のように、ピクチャ順序カウント値の下位ビットは、現在のピクチャのスライスを復号するための候補として使用されるべき任意の他の長期間参照ピクチャを識別するピクチャ順序カウント値に関して決定される、任意の他のピクチャ順序カウント値の下位ビットに対して、長期間参照ピクチャのピクチャ順序カウント値を一意に識別することができる。
【0150】
この点において、デルタPOC LSBが、復号ピクチャバッファ160に記憶されたピクチャの所与のサブセットに対して一意である場合でも、エントロピー復号モジュール150は、長期間参照ピクチャを識別するピクチャ順序カウント値の上位ビットを決定することができる。決定された下位ビットと組み合わされた上位ビットは、復号ピクチャバッファ160中の任意の他のピクチャを識別する任意の他のピクチャ順序カウント値に対して長期間参照ピクチャを識別する、ピクチャ順序カウント値を区別するのに十分である可能性がある。エントロピー復号モジュール150は、下位ビットと上位ビットとを動き補償モジュール162に渡すことができる。動き補償モジュール162は次いで、ピクチャ順序カウント値の決定された下位ビットおよびピクチャ順序カウント値の決定された上位ビットに基づいて、復号ピクチャバッファ160から長期間参照ピクチャを取り出すことができる。(モジュール154、156、および158の1つまたは複数とともに)動き補償モジュール162は次いで、上で説明されたのと同様の方式で、決定されたピクチャ順序カウント値によって識別される長期間参照ピクチャを使用して、現在のピクチャの一部分を復号することができる。
【0151】
図4は、本開示で説明される技法の第1の態様を実行する際のビデオエンコーダの例示的な動作を示すフローチャートである。一例として、
図2の例に示されるビデオエンコーダ20は、本開示の技法の第1の態様に従って、ビデオデータを符号化することができる。本技法の第1の態様に従ってビデオデータを符号化するために、ビデオエンコーダ20の動き推定モジュール122は、ビデオデータの現在のピクチャに対して、上で説明された方式でビデオデータの現在のピクチャに対するインター予測を実行するときに使用されるべき、長期間参照ピクチャを決定することができる(170)。いくつかの例では、この長期間参照ピクチャは、復号ピクチャバッファ114中に存在するが現在のピクチャと関連付けられるシーケンスパラメータセット中で1つまたは複数の長期間参照ピクチャとして指定されない、長期間参照ピクチャである。
【0152】
動き推定モジュール122は、上で説明されたピクチャ順序カウント値によって、この選択された長期間参照ピクチャを識別することができる。動き推定モジュール122は、選択された長期間参照ピクチャを識別するピクチャ順序カウント値が、上述のように「SPS」と示され得るシーケンスパラメータセット中に存在するかどうかを判定するために、シーケンスパラメータセットにアクセスすることができる(172)。言い換えると、動き推定モジュール122は、このSPSが、一例として、この選択された長期間参照ピクチャを識別するピクチャ順序カウント値を含むかどうかを判定することによって、この長期間参照ピクチャをすでにシグナリングしているかどうかを判定することができる。SPSがピクチャ順序カウント値を含む場合(「はい」172)、動き推定モジュール122は、一例として、現在のピクチャ(および場合によっては他のピクチャ)をコーディングする際に使用するための、SPS中でシグナリングされるピクチャ順序カウント値のリスト中のピクチャ順序カウント値によって識別される、この長期間参照ピクチャのインデックスを決定する(174)。動き推定モジュール122は次いで、このインデックスをエントロピー符号化モジュール116に渡すことができる。エントロピー符号化モジュール116は次いで、ビデオデータの符号化バージョンを表す、ビットストリーム中の長期間参照ピクチャのこのインデックスを指定することができる(176)。
【0153】
しかしながら、選択された長期間参照ピクチャを識別するピクチャ順序カウント値がSPSにおいて指定されない場合(「いいえ」172)、動き推定モジュール122は次いで、上で説明されたように、長期間参照ピクチャを識別するPOC値の1つまたは複数のLSBを表すために使用されるべきビットの数を決定することができる(178)。動き推定モジュール122は次いで、POC値のこれらの1つまたは複数のLSBをエントロピー符号化モジュール116に渡すことができる。エントロピー符号化モジュール116は、長期間参照ピクチャを識別するピクチャ順序カウント値の1つまたは複数の下位ビットを表すために使用される決定された数のビットを使用して、ビットストリーム中でLTRPを識別するPOC値の1つまたは複数のLSBを指定することができる(180)。
【0154】
ビデオエンコーダ20は次いで、ピクチャ順序カウント値によって識別される長期間参照ピクチャを使用して、現在のピクチャの一部分を符号化することができる。言い換えると、動き補償モジュール124はまた、上で説明された方式で、長期間参照ピクチャを使用してインター予測を実行することによって、予測ブロックを決定するように構成され得る(182)。動き補償モジュール124は次いで、予測ブロックに基づいて、残差ビデオブロックを決定する(184)。すなわち、動き補償モジュール124は次いで、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値として残差データを形成することによって、残差ビデオブロックを決定する。加算器50は、この減算演算を実行する1つまたは複数のコンポーネントを表す。
【0155】
変換モジュール104は次いで、離散コサイン変換(DCT)または概念的に同様の変換などの変換を使用して、残差ブロックを変換して変換係数を決定する(186)。変換モジュール104は、残差ビデオデータをピクセル(空間)領域から周波数領域などの変換領域に変換し得る。変換モジュール104は、得られた変換係数を量子化ユニット54に送信し得る。量子化モジュール106は、ビットレートをさらに低減するために変換係数を量子化する(188)。量子化プロセスは、係数の一部または全部と関連付けられるビット深度を低減することができる。量子化に続いて、エントロピー符号化モジュール116は、量子化変換係数をエントロピー符号化し(190)、ピクチャ順序カウント値(ビデオデータの符号化ブロックと関連付けられるスライスヘッダ中で一般に指定される)のインデックスおよび/または下位ビットと関連付けられるビットストリームにエントロピー量子化変換係数を挿入する。
【0156】
図5は、本開示で説明される技法の第1の態様を実行する際のビデオデコーダの例示的な動作を示すフローチャートである。一例として、ビデオデコーダ30は、上で説明された技法の第1の態様を実装し、またはそれを実行するように構成される。エントロピー復号モジュール150は、符号化ビデオデータを表すビットストリームをエントロピー復号して、符号化ビデオデータのブロック(一部分を表し得る)に対応する量子化変換係数を決定することができる(200)。エントロピー復号モジュール150は次いで、これらの量子化変換係数を逆量子化モジュール154に渡すことができる。逆量子化モジュール154は、量子化変換係数に関して逆量子化を実行して、変換係数を決定することができる(202)。逆変換モジュール156は次いで、変換係数に関して逆変換を実行して、現在のピクチャについての残差データを生成することができる(204)。
【0157】
エントロピー復号モジュール150はまた、ビットストリームを解析して、現在のピクチャのブロックに対して、現在のピクチャのブロックに対してインター予測を実行するときに使用される長期間参照ピクチャを決定することができる(206)。エントロピー復号モジュール150は、長期間参照ピクチャが現在のピクチャと関連付けられるSPS中ですでにシグナリングされているかどうかを判定することができる(208)。この長期間参照ピクチャがSPSにおいてすでにシグナリングされている場合(「はい」208)、エントロピー復号モジュール150は、SPS中の長期間参照ピクチャのリストにおいて指定されるものとして、この長期間参照ピクチャのインデックスを決定することができる(210)。エントロピー復号モジュール150は次いで、インデックスに基づいて、SPSから長期間参照ピクチャを識別するピクチャ順序カウント(POC)値を決定することができる(212)。
【0158】
しかしながら、長期間参照ピクチャがSPSにおいて指定されない場合(「いいえ」208)、エントロピー復号モジュール150は、現在のピクチャを復号する際に使用される長期間参照ピクチャを識別する、POC値の1つまたは複数のLSBをシグナリングするために使用されるビットの数を決定する(214)。いくつかの例では、上で説明されたように、ビットの数は、たとえば、スライスヘッダにおいて、シンタックス要素としてビットストリーム中で明示的にシグナリングされ得る。他の例では、エントロピー復号モジュール150は、ビットの数を、SPS、ピクチャパラメータセット(PPS)、およびスライスヘッダの任意の1つまたは複数において指定される他のシンタックス要素の関数として導出することができる。
【0159】
エントロピー復号モジュール150は次いで、ビットストリームからの決定された数のビットを解析することができ、解析される決定された数のビットは、無符号のバイナリ数として、LTRPを識別するPOCの1つまたは複数のLSBを表す(216)。しばしば、長期間参照ピクチャを識別するピクチャ順序カウント値は、復号ピクチャバッファ160中に存在するが現在のピクチャと関連付けられるシーケンスパラメータセット中で1つまたは複数の長期間参照ピクチャとして指定されない長期間参照ピクチャを識別する、ピクチャ順序カウント値である。やはり、決定された数のビットは、上でPOC LSBと呼ばれていたものを指定することができる。エントロピー復号モジュール150は、POC値のLSBを動き補償モジュール162に渡すことができる。動き補償モジュール162は次いで、上で説明された方式で、復号ピクチャバッファ160から、POC LSBに基づいて現在のピクチャの少なくとも一部分を復号するときに使用されるべきLTRPを取り出すことができる(218)。
【0160】
動き補償モジュール162は、現在のピクチャを復号するために使用されるべきLTRPの決定された下位ビットと同じ、復号ピクチャバッファ160に記憶された少なくとも1つのピクチャの1つと関連付けられるPOC値に対するLSBを有する、現在のピクチャを復号する際に長期間参照ピクチャとして使用するために、復号ピクチャバッファ160に記憶された少なくとも1つのピクチャの1つを取り出す。言い換えると、動き補償モジュール162は、復号ピクチャバッファ160に記憶されたピクチャに対するPOC値の下位ビットとPOC LSBを照合し、一致するPOC LSBを有するピクチャを、復号ピクチャバッファ160中に存在するが現在のピクチャと関連付けられるSPS中で指定されない長期間参照ピクチャとして識別することができる。
【0161】
動き補償モジュール162は次いで、導出されたピクチャ順序カウント値によって識別される長期間参照ピクチャを使用して、現在のピクチャの一部分を復号することができる。言い換えると、現在のピクチャの現在のスライスのコーディングユニットに対して指定される1つまたは複数の動きベクトルは、POC LSBによって識別されるLTRPを参照し得る。動き補償モジュール162は、動き補償を実行するときに参照ブロックとしてこれらの様々なブロックを使用して、これらの動きベクトルによって識別されたLTRPの様々なブロックを取り出すことができる。上で説明されたように、ビデオデコーダ30は、現在のピクチャの現在のスライスのブロックに対してコーディングされた残差データを、これらの参照ブロックに追加して、ビデオデータの復号ブロックを生成し、これによって、元のビデオデータを復元することができる。この意味で、ビデオデコーダ30は、長期間参照ピクチャおよび残差データに基づいて、現在のピクチャのブロックを復元することができる(220)。ビデオデコーダ30は、後続のピクチャを復号する際に後で使用するために、復号ピクチャバッファ160にビデオデータの復号ブロックを記憶することができる。ビデオデコーダは次いで、上で説明されたのと同様に、現在のピクチャの他のスライスがもしあればそれを復号することができる。
【0162】
図6は、本開示で説明される技法の第2の態様を実行する際のビデオエンコーダの例示的な動作を示すフローチャートである。一例として、ビデオエンコーダ20は、場合によっては本技法の第1の態様とともに、本開示で説明された技法の第2の態様を実装するように構成される。本技法の第2の態様によれば、ビデオエンコーダ20の動き推定モジュール122は、ビデオデータの現在のピクチャに対して、現在のピクチャに対するインター予測を実行するときに使用されるべき、長期間参照ピクチャを決定することができる(230)。動き推定モジュール122は、長期間参照ピクチャを識別するピクチャ順序カウント値の1つまたは複数の下位ビットを決定することができる(232)。動き推定モジュール122は次いで、上で説明された方式で、これらの下位ビットが、長期間参照ピクチャも記憶されている(または、長期間参照ピクチャが記憶されるときと後述の判定が行われるときの順序によっては、今後記憶されるであろう)復号ピクチャバッファ114に記憶される任意の他の参照ピクチャから長期間参照ピクチャを明確に識別するのに十分であるかどうかを、判定することができる。
【0163】
動き推定モジュール122は、復号ピクチャバッファ114に記憶された他のピクチャのそれぞれ1つを識別する少なくとも1つのピクチャ順序カウント値に対する下位ビットを決定することによって少なくとも一部、これらの下位ビットが復号ピクチャバッファ114に記憶される任意の他の参照ピクチャから長期間参照ピクチャを明確に識別するのに十分かどうかを判定することができる。動き推定モジュール122は次いで、このピクチャ順序カウント値の下位ビットが長期間参照ピクチャを識別するピクチャ順序カウント値の決定された下位ビットと同一であるかどうかを判定することができる。これらの2つのピクチャ順序カウント値の下位ビットが同一である場合、動き推定モジュール122は次いで、現在のピクチャの少なくとも一部分を符号化し復号することが適切な長期間参照ピクチャを一意に識別するには不十分であるとき、使用されるべき長期間参照ピクチャを識別するピクチャ順序カウント値の下位ビットを決定することができる。しかしながら、これらの2つのピクチャ順序カウント値の下位ビットが同一ではない場合、動き推定モジュール122は、復号ピクチャバッファ114に記憶される別の長期間参照ピクチャを識別するピクチャ順序カウント値の下位ビットを決定し続けることができ、2つのピクチャ順序カウント値の下位ビットの比較を、一致が発見されるまで、または、復号ピクチャバッファ114に記憶されたピクチャを識別するすべてのピクチャ順序カウント値がこの比較を経るまで、行う。
【0164】
言い換えると、動き推定ユニット122は、決定された下位ビットを、復号ピクチャバッファ114に記憶されるすべての他のピクチャを識別する各ピクチャ順序カウント値の下位ビットと比較することができる(234)。長期間参照ピクチャも記憶される復号ピクチャバッファ114に記憶された任意の他のピクチャを識別する、任意の他のピクチャ順序カウント値の1つまたは複数の下位ビットが、長期間参照ピクチャを識別するピクチャ順序カウント値の決定された1つまたは複数の下位ビットと同一である場合(「はい」236)、動き推定モジュール122は、上で説明された方式で、現在のピクチャの少なくとも一部分を符号化するときに使用されるべき長期間参照ピクチャを識別する、決定されたピクチャ順序カウント値の1つまたは複数の上位ビットを決定することができる(238)。
【0165】
動き推定モジュール122は次いで、これらの下位ビットと上位ビットとをエントロピー符号化モジュール116に転送することができる。エントロピー符号化モジュール116は、ビデオデータの符号化バージョンを表すビットストリーム中で現在のピクチャの少なくとも一部分を符号化するときに使用されるべき長期間参照ピクチャを識別する、ピクチャ順序カウント値の上位ビットを指定することができる(240)。エントロピー符号化モジュール116はまた、ビットストリーム中の現在のピクチャの少なくとも一部分を符号化するときに使用されるべき長期間参照ピクチャを識別する、ピクチャ順序カウント値の決定された1つまたは複数の下位ビットを指定することができる(242)。
【0166】
しかしながら、長期間参照ピクチャも記憶される復号ピクチャバッファ114に記憶された任意の他のピクチャを識別する、任意の他のピクチャ順序カウント値の1つまたは複数の下位ビットが、長期間参照ピクチャを識別するピクチャ順序カウント値の決定された1つまたは複数の下位ビットと同一でない場合(「いいえ」236)、動き推定ユニット122は、長期間参照ピクチャを識別するピクチャ順序カウント値の決定された下位ビットのみを、別様に上位ビットを決定することなく転送することができ、それは、下位ビットが、復号ピクチャバッファ114に記憶されたピクチャに関する長期間参照ピクチャを一意に識別するからである。エントロピー符号化モジュール122は次いで、ビットストリーム中の現在のピクチャの少なくとも一部分を符号化するときに使用されるべき長期間参照ピクチャを識別する、ピクチャ順序カウント値の決定された1つまたは複数の下位ビットを、上位ビットを指定することなく指定することができ、それはやはり、下位ビットが、復号ピクチャバッファ114に記憶されたピクチャに関する長期間参照ピクチャを一意に識別するからである(242)。
【0167】
ビデオエンコーダ20は次いで、ピクチャ順序カウント値によって識別される長期間参照ピクチャを使用して、現在のピクチャの一部分を符号化することができる。言い換えると、動き補償モジュール124はまた、上で説明された方式で、長期間参照ピクチャを使用してインター予測を実行することによって、予測ブロックを決定するように構成され得る(244)。動き補償モジュール124は次いで、予測ブロックに基づいて、残差ビデオブロックを決定する(246)。すなわち、動き補償モジュール124は次いで、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値として残差データを形成することによって、残差ビデオブロックを決定する。加算器50は、この減算演算を実行する1つまたは複数のコンポーネントを表す。
【0168】
変換モジュール104は次いで、離散コサイン変換(DCT)または概念的に同様の変換などの変換を使用して、残差ブロックを変換して変換係数を決定する(248)。変換モジュール104は、残差ビデオデータをピクセル(空間)領域から周波数領域などの変換領域に変換し得る。変換モジュール104は、得られた変換係数を量子化ユニット54に送り得る。量子化モジュール106は、ビットレートをさらに低減するために変換係数を量子化する(250)。量子化プロセスは、係数の一部または全部と関連付けられるビット深度を低減することができる。量子化に続いて、エントロピー符号化モジュール116は、量子化変換係数をエントロピー符号化し(252)、ピクチャ順序カウント値(ビデオデータの符号化ブロックと関連付けられるスライスヘッダ中で一般に指定される)のインデックスおよび/または下位ビットと関連付けられるビットストリームにエントロピー量子化変換係数を挿入する。
【0169】
図7は、本開示で説明される技法の第2の態様を実行する際のビデオデコーダの例示的な動作を示すフローチャートである。一例として、ビデオデコーダ30は、場合によっては本開示で説明された技法の第1の態様とともに、本開示で説明された技法の第2の態様を実装することができる。エントロピー復号モジュール150は、符号化ビデオデータを表すビットストリームをエントロピー復号して、符号化ビデオデータのブロック(一部分を表し得る)に対応する量子化変換係数を決定することができる(260)。エントロピー復号モジュール150は次いで、これらの量子化変換係数を逆量子化モジュール154に渡すことができる。逆量子化モジュール154は、量子化変換係数に関して逆量子化を実行して、変換係数を決定することができる(262)。逆変換モジュール156は次いで、変換係数に関して逆変換を実行して、現在のピクチャについての残差データを生成することができる(264)。
【0170】
エントロピー復号モジュール150はまた、ビットストリームを解析して、現在のピクチャのブロックについて、現在のピクチャのブロックに対してインター予測を実行するときに使用される長期間参照ピクチャを決定することができる。本技法の第2の態様によれば、エントロピー復号モジュール150は、現在のピクチャの少なくとも一部分を、すなわちインター予測によって復号するときに使用されるべき長期間参照ピクチャを識別する、ピクチャ順序カウントのビットストリーム下位ビットをエントロピー復号することができる(266)。エントロピー復号モジュール150は、長期間参照ピクチャを識別するピクチャ順序カウント値の上位ビット(MSB)がビットストリーム中に存在するかどうかを(しばしば、最上位ビットが存在するかどうかを示すビットストリームからのフラグの形式のシンタックス要素を解析することによって)、判定することができる(268)。
【0171】
これらの上位ビットが存在する場合(「はい」268)、エントロピー復号モジュール150は、ビットストリームをエントロピー復号して、現在のピクチャに対してインター予測を実行するときに使用されるべき長期間参照ピクチャを識別する、ピクチャ順序カウント値の上位ビットを決定することができる(270)。エントロピー復号モジュール150は、下位ビットと上位ビットとを動き補償モジュール162に渡すことができる。動き補償モジュール162は次いで、ピクチャ順序カウント値の決定された下位ビットおよびピクチャ順序カウント値の決定された上位ビットに基づいて、復号ピクチャバッファ160から長期間参照ピクチャを取り出すことができる(272)。これらの上位ビットが存在しない場合(「いいえ」268)、エントロピー復号モジュール150は下位ビットを動き補償モジュール162に渡すことができる。動き補償モジュール162は次いで、ピクチャ順序カウント値の決定された下位ビットに基づいて、復号ピクチャバッファ160から長期間参照ピクチャを取り出すことができる(274)。
【0172】
この長期間参照ピクチャを取り出した後で、(モジュール154、156、および158の1つまたは複数とともに)動き補償モジュール162は次いで、上で説明されたのと同様の方式で、決定されたピクチャ順序カウント値によって識別される長期間参照ピクチャを使用して、現在のピクチャの一部分を復号することができる。言い換えると、現在のピクチャの現在のスライスのコーディングユニットに対して指定される1つまたは複数の動きベクトルは、POC LSBによって識別されるLTRPを参照し得る。動き補償モジュール162は、動き補償を実行するときに参照ブロックとしてこれらの様々なブロックを使用して、これらの動きベクトルによって識別されたLTRPの様々なブロックを取り出すことができる。上で説明されたように、ビデオデコーダ30は、現在のピクチャの現在のスライスのブロックに対してコーディングされた残差データを、これらの参照ブロックに追加して、ビデオデータの復号ブロックを生成し、これによって、元のビデオデータを復元することができる。この意味で、ビデオデコーダ30は、長期間参照ピクチャおよび残差データに基づいて、現在のピクチャのブロックを復元することができる(276)。ビデオデコーダ30は、後続のピクチャを復号する際に後で使用するために、復号ピクチャバッファ160にビデオデータの復号ブロックを記憶することができる。ビデオデコーダは次いで、上で説明されたのと同様に、現在のピクチャの他のスライスがもしあればそれを復号することができる。
【0173】
フルピクチャ順序カウント値に関して上で説明されたが、本技法はまた、現在のピクチャを識別するピクチャ順序カウント値と、ビデオデータの現在のピクチャをコーディングする(これは、符号化と復号の両方を指すために使用され得る用語である)ときに使用されるべき長期間参照ピクチャを識別するピクチャ順序カウント値との差として計算される、デルタピクチャ順序カウント値に関して実装され得る。この点において、ピクチャ順序カウント値への言及は、フルピクチャ順序カウント値とデルタピクチャ順序カウント値の両方を指し得る。したがって、本技法はこの点において限定されるべきではない。
【0174】
加えて、本技法の第1の態様および第2の態様に関連し、以下でいくつかの方法で説明される、様々な他の技法が説明される。上述のように、HEVC WD6の最新バージョンは、参照ピクチャセット(RPS)ベースの機構を使用して参照ピクチャを管理する。RPSは、関連ピクチャまたは復号順で関連ピクチャに続く任意のピクチャのインター予測のために使用され得る、復号順で関連ピクチャに先立つすべての参照ピクチャからなる、あるピクチャと関連付けられた参照ピクチャのセットを指す。復号順は、シンタックス要素が復号プロセスによって処理される順序を指し得る。
【0175】
HEVCでは、各コード化ピクチャのRPSが直接シグナリングされ得る。RPSのシグナリングのためのシンタックス要素は、各コード化ピクチャと関連付けられるシーケンスパラメータセット(SPS)とスライスヘッダの両方に含まれる。特定のコード化ピクチャでは、RPSは、スライスヘッダ中のフラグによって示されるようなSPSに含まれる代替的なセット、または、スライスヘッダ中で直接シグナリングされるもののうちの、1つであり得る。
【0176】
各ピクチャのRPSは、5個のRPSサブセットとも呼ばれ得る参照ピクチャの5個の異なるリストからなる。第1のRPSサブセットは、RefPicSetStCurrBeforeを指すことができ、これは、復号順と出力順の両方で現在のピクチャに先立ち、現在のピクチャのインター予測において使用され得る、すべての短期間参照ピクチャ(STRP)を含む。第2のRPSサブセットは、RefPicSetStCurrAfterを指すことができ、これは、復号順では現在のピクチャに先立ち、出力順では現在のピクチャの後に続き、現在のピクチャのインター予測において使用され得る、すべての短期間参照ピクチャを含む。第3のRPSサブセットは、RefPicSetStFollを指すことができ、これは、復号順で現在のピクチャの後にあるピクチャの1つまたは複数のインター予測のために使用されてよく、現在のピクチャのインター予測において使用されない、すべての短期間参照ピクチャを含む。第4のRPSサブセットは、RefPicSetLtCurrを指すことができ、これは、現在のピクチャのインター予測において使用され得る、すべての長期間参照ピクチャ(LTRP)を含む。第5のRPSサブセットは、RefPicSetLtFollを指すことができ、これは、復号順で現在のピクチャの後にあるピクチャの1つまたは複数のインター予測において使用されてよく、現在のピクチャのインター予測において使用されない、すべての長期間参照ピクチャを含む。出力順は、復号ピクチャが復号ピクチャバッファ(DPB)から出力されるべきである場合に復号ピクチャがDPBから出力される順序を指し得る。ピクチャの出力順は、しばしばピクチャが出力されるべきかどうかとは無関係である、ピクチャ順序カウント(POC)値によって指定され得る。
【0177】
いずれにしても、これらのRPSサブセットが導出されシグナリングされ得ることをHEVC WD6がどのように示すかに関して、いくつかの潜在的な問題がある。第1の問題は、HEVC WD6 8.3.2項の式(Eqn.)8−6に関係し、このEqn.8−6によるRPSサブセットの導出が、(「DPB中に長期間参照ピクチャpicXが存在する」または同様の文言が原因で)前のピクチャの結果としてのDPB中の参照ピクチャのステータスに依存し得るというものである。しかしながら、8.3.2項におけるこの文言は、DPB中の参照ピクチャのステータスが前のステータスに依存するべきではないことを意味し得る、DPB中の参照ピクチャのステータスが「イントラコーディング」されるべきであるというRPSの基本原則に反するものであることがある。言い換えると、現在のピクチャの現在のRPSを決定することは、RPSの基本原則が、DPB中の参照ピクチャのステータスはイントラコーディングされるがインターコーディングされないので一時的なインターコーディングの決定を行うために使用されるべきであるというものであるにもかかわらず、DPB中のLTRP(「picX」)の以前の記憶に依存し得る。
【0178】
第2の問題は、RPSにおけるLTRPの導出に関する。HEVC WD6の8.3.2項のEqn.8−6から、LTRPは、delta_poc_msb_present_flag[i]が0に等しい場合、またはそうでなければLTRPのフルPOC値(「PicOrderCntVal」によって示される)に等しい場合、LTRPのPOC下位ビット(LSB)(これは「pic_order_cnt_lsb」と示される)によって識別される。しかしながら、後者の場合、LTRPのフルPOC値の導出のためのHEVC WD6のEqn.8−5の一部、「( ( PicOrderCntVal−DeltaPocLt[i]+MaxPicOrderCntLsb)%MaxPicOrderCntLsb)−(DeltaPocMSBCycleLt[i])×MaxPicOrderCntLsb」は、正しくないことがある。
【0179】
たとえば、MaxPicOrderCntLsb=256であり、現在のピクチャが256×10+100に等しいフルPOC値を有する(LSBが100に等しい)場合、フルPOC値256×8+100と256×6+100とを伴うピクチャは、100という同じPOC LSB値を伴う2つのLTRPをもたらす。上記を考慮すると、2つのLTRPのDeltaPocMSBCycleLt[i]はそれぞれ、2および4に等しい。Eqn.8−5によれば、2つのLTRPのフルPOC値はそれぞれ、−256×2および−256×4であり、これは正しくない。
【0180】
HEVC WD6におけるRPS導出に関連する第3の問題は、ピクチャがLTRPとしてシグナリングされると、ピクチャは短期間参照ピクチャ(STRP)として決してシグナリングされ得ないということであり得る。
【0181】
HEVC WD6におけるRPS導出に関連する第4の問題は、ピクチャのRPSに含まれるべきLTRPのPOC LSBが、ue(v)を使用してコーディングされるデルタPOC値のLSBのデルタとしてスライスヘッダ中でシグナリングされるということであり得る。デルタPOC値のLSBのデルタは一般にLTRPに対しては大きく、したがって表現するために多数のビットを必要とするので、これは非効率であり得る。これはまた、スライスヘッダにおいてどのような値をシグナリングするべきかをエンコーダが見つけ出すには、直接的ではない。
【0182】
HEVC WD6におけるRPS導出に関連する第5の問題は、同じPOC LSBの値を有する2つ以上のLTRPがあるときに、すべてのこれらのLTRPのフルPOC値がシグナリングされなければならず、POC MSB値が、ue(v)を使用して、同じPOC LSBを有する2つの連続的なLTRPのデルタとしてシグナリングされる、ということであり得る。同じPOC LSBを有する連続的にシグナリングされるLTRPのセットの最初の1つについて、POC MSBは、ue(v)を使用して直接シグナリングされる。ここで、2つの非効率な側面があり得る。第1は、セット中の第1のLTRPに対するPOC MSB値のデルタおよび直接シグナリングされるPOC MSB値が大きいことがあるので、値を表現するために多数のビットを必要とし得るということである。第2は、多くの場合、あと数個のLSBを追加する(または等価的に、MSBの長さを少し長くする)ことで、すべてのLTRPの一意な識別が可能になり得るということである。したがって、同じLSB値を有するLTRPに対してすべてのMSB値をシグナリングすることは、必要ではないことがある。
【0183】
上で特定された問題を潜在的に解決するために、参照ピクチャセット(RPS)の導出およびコード化ピクチャのRPSに含まれるべき長期間参照ピクチャ(LTRP)のシグナリングのための、
図1〜
図7に関して上で説明された技法の上述の第1の態様と第2の態様とを含む様々な技法が、以下で説明される。再び、HEVC WD6に関して以下で説明されるが、本技法は、参照データに関するインター予測を伴う、任意のビデオコーディング規格または他のコーディング技法に関して実装され得る。その上、HEVC WD6に対する変化を示すために、灰色の強調が以下で使用される。
【0184】
一態様では、HEVC WD6において指定されるスライスヘッダのシンタックスおよびセマンティクスが修正されてよく、このとき、スライスヘッダのシンタックスは次のように変更される。すなわち、シンタックス要素poc_lsb_len_delta[i]およびpoc_lsb_lt[i]が追加され、シンタックス要素delta_poc_lsb_lt[i]、delta_poc_msb_present_flag[i]およびdelta_poc_msb_cycle_lt_minus1[i]が除去され、他のシンタックス要素は変更されないままである。したがって、スライスヘッダのシンタックスは、表1において以下で示されるものに似ていてよく、表1において、以下で示される太字部分および斜体部分は、本開示で説明される技法の1つまたは複数の態様を支持するHEVCに対する追加または変更を反映する。
【表1】
【0185】
スライスヘッダのセマンティクスも、次のように変更され得る。すなわち、シンタックス要素poc_lsb_len_delta[i]およびpoc_lsb_lt[i]のセマンティクスが追加され、シンタックス要素delta_poc_lsb_lt[i]、delta_poc_msb_present_flag[i]およびdelta_poc_msb_cycle_lt_minus1[i]のセマンティクスが除去され、他のシンタックス要素のセマンティクスは変更されないままである。
【0186】
シンタックス要素poc_lsb_len_delta[i]は、poc_lsb_lt[i]を表すためのビットの数を指定することができる。
【0187】
変数PocLsbLtLen[i]は、次のように導出される。
【数1】
【0188】
シンタックス要素poc_lsb_lt[i]は、現在のピクチャの長期間参照ピクチャセットに含まれるi番目の長期間参照ピクチャのピクチャ順序カウント値の下位ビットを指定することができる。このシンタックス要素poc_lsb_lt[i]は、両端値を含む0から(1<<PocLsbLtLen[i])−1の範囲内であり得る。poc_lsb_lt[i]の長さは、PocLsbLtLen[i]であり得る。あるいは、変数PocLsbLtLen[i]は次のように導出され得る。
【数2】
【0189】
HEVC WD6のセクション8.3.3において指定される参照ピクチャセットの復号プロセスは次のように変更されてよく、灰色の強調または影付きが、現在指定されているようなHEVC WD6のセクション8.3.2に対する追加および/または変更を示す。以下で、HEVC WD6のセクション8.3.2の大部分を複製する。
【0190】
このプロセスは、スライスヘッダの復号の後で、ただしどのコーディングユニットの復号にも先立って、かつ、HEVC WD6の8.3.3項において指定されるようなスライスの参照ピクチャリスト構築のための復号プロセスに先立って、ピクチャごとに一度呼び出される。このプロセスにより、「参照のために使用されない」ものとして、1つまたは複数の参照ピクチャが標識され得る。
【0191】
注意1−参照ピクチャセットは、現在のおよび今後のコード化ピクチャの復号プロセスにおいて使用される、参照ピクチャの絶対的な記述である。参照ピクチャセットシグナリングは、参照ピクチャセットに含まれるすべての参照ピクチャが明示的に挙げられるという意味で明示的であり、復号ピクチャバッファのステータスに依存するデコーダにおけるデフォルトの参照ピクチャセット構築プロセスは存在しない。
【0192】
短期間参照ピクチャは、そのPicOrderCntVal値によって識別される。長期間参照ピクチャは、そのPicOrderCntVal値の下位ビットによって識別される。
【0193】
ピクチャ順序カウント値またはピクチャ順序カウントの下位ビットの5個のリストが、参照ピクチャセット、すなわち、NumPocStCurrBefore個、NumPocStCurrAfter個、NumPocStFoll個、NumPocLtCurr個、およびNumPocLtFoll個の要素をそれぞれ伴う、PocStCurrBefore、PocStCurrAfter、PocStFoll、PocLtCurr、およびPocLtFollを導出するために構築される。
【0194】
− 現在のピクチャがIDRピクチャである場合、PocStCurrBefore、PocStCurrAfter、PocStFoll、PocLtCurr、およびPocLtFollがすべて空に設定され、NumPocStCurrBefore、NumPocStCurrAfter、NumPocStFoll、NumPocLtCurr、およびNumPocLtFollがすべて0に設定される。
【0195】
− そうではない場合、ピクチャ順序カウント値の5個のリストおよびエントリーの数の導出について、以下のことが当てはまる。
【数3】
【0196】
ここで、PicOrderCntValは、HEVC WD6の8.2.1項において指定されるような現在のピクチャのピクチャ順序カウントである。
【0197】
注意2−両端値を含む、0からnum_short_term_ref_pic_sets−1の範囲にあるStRpsIdxの値は、有効なシーケンスパラメータセットからのある短期間参照ピクチャセットが使用されていることを示し、ここで、StRpsIdxは、短期間参照ピクチャセットがシーケンスパラメータセットにおいてシグナリングされる順序での、短期間参照ピクチャセットのリストに対する短期間参照ピクチャセットのインデックスである。num_short_term_ref_pic_setsに等しいStRpsIdxは、スライスヘッダにおいて明示的にシグナリングされる短期間参照ピクチャセットが使用されていることを示す。
【0198】
参照ピクチャセットは、RefPicSetStCurrBefore、RefPicSetStCurrAfter、RefPicSetStFoll、RefPicSetLtCurr、およびRefPicSetLtFollという参照ピクチャの5個のリストからなる。変数NumPocTotalCurrは、NumPocStCurrBefore+NumPocStCurrAfter+NumPocLtCurrに等しく設定される。これは、PスライスまたはBスライスを復号するとき、NumPocTotalCurrの値が0に等しくてはならないという、ビットストリーム適合の要件である。
【0199】
注意3−RefPicSetStCurrBefore、RefPicSetStCurrAfter、およびRefPicSetLtCurrは、現在のピクチャのインター予測において使用されてよく、復号順で現在のピクチャの後に続くピクチャの1つまたは複数のインター予測において使用されてよい、すべての参照ピクチャを含む。RefPicSetStFollおよびRefPicSetLtFollは、現在のピクチャのインター予測において使用されないが、復号順で現在のピクチャの後に続くピクチャの1つまたは複数のインター予測において使用されてよい、すべての参照ピクチャからなる。
【0200】
参照ピクチャの標識は、「参照のために使用されない」、「短期の参照のために使用される」、または「長期の参照のために使用される」であり得るが、これらの3つのうちの1つのみでなければならない。参照ピクチャが「参照のために使用される」ものとして標識されるものとして言及される場合、このことは、「短期の参照のために使用される」または「長期の参照のために使用される」(ただし両方ではない)ものとして標識されているピクチャに集合的に言及する。「短期の参照のために使用される」ものとして標識される参照ピクチャは、短期間参照ピクチャと呼ばれる。「長期の参照のために使用される」ものとして標識される参照ピクチャは、長期間参照ピクチャと呼ばれる。
【0201】
参照ピクチャセットの導出プロセスおよびピクチャの標識は、次の順序付けられたステップに従って実行され、ここでDPBはHEVC WD6のAnnex Cにおいて説明されるような、復号ピクチャバッファを指す。
【0202】
1.次のことが当てはまる。
【数4】
【0203】
2.RefPicSetLtCUrrおよびRefPicSetLtFollに含まれるすべての参照ピクチャが、「長期の参照のために使用される」ものとして標識される。
【0204】
3.次のことが当てはまる。
【数5】
【0205】
4.RefPicSetLtCurrおよびRefPicSetLtFollに含まれるすべての参照ピクチャが、「長期の参照のために使用される」ものとして標識される。
【0206】
5.RefPicSetLtCurr、RefPicSetLtFoll、RefPicSetStCurrBefore、RefPicSetStCurrAfterまたはRefPicSetStFollに含まれない、復号ピクチャバッファ中のすべての参照ピクチャが、「参照のために使用されない」ものとして標識される。
【0207】
注意4−参照ピクチャセットに含まれるが復号ピクチャバッファ中に存在しない、1つまたは複数の参照ピクチャが存在し得る。ビットストリーム中の第1のコード化ピクチャがIDRピクチャである場合、または、現在のコード化ピクチャがビットストリーム中の第1のコード化ピクチャの先頭ピクチャではない場合、「参照ピクチャなし」に等しいRefPicSetStFollまたはRefPicSetLtFollのエントリーは無視されるべきである。ビットストリーム中の第1のコード化ピクチャがCRAピクチャではない場合、または、現在のコード化ピクチャがビットストリーム中で第1のコード化ピクチャの先頭ピクチャではない場合、「参照ピクチャなし」に等しいRefPicSetStCurrBefore、RefPicSetStCurrAfterおよびRefPicSetLtCurrの各エントリーに対して、意図されないピクチャの損失が推測されるべきである。
【0208】
あるいは、上のステップにおいて、「参照ピクチャpicXがある」という文言は「ピクチャpicXがある」に変更される。
【0209】
これは、参照ピクチャセットが次のように制約されるというビットストリーム適合の要件である。
【0210】
− RefPicSetStCurrBefore、RefPicSetStCurrAfterまたはRefPicSetLtCurrに含まれる現在のピクチャよりもtemporal_idが大きい参照ピクチャは存在するべきではない。
【0211】
− 両端値を含む、0からNumPocLtCurr−1の範囲にあるiの各値に対して、RefPicSetStCurrBefore、RefPicSetStCurrAfterまたはRefPicSetStFollに含まれず、Abs(PicOrderCntVal)%(2
PocLsbLenCurr[i])がPocLtCurr[i]に等しいPicOrderCntValを有する、1つの参照ピクチャしかDPB中に存在するべきではない。両端値を含む、0からNumPocLtFoll−1の範囲にあるiの各値に対して、RefPicSetStCurrBefore、RefPicSetStCurrAfterまたはRefPicSetStFollに含まれず、Abs(PicOrderCntVal)%(2
PocLsbLenFoll[i])がPocLtFoll[i]に等しいPicOrderCntValを有する、2つ以上の参照ピクチャがDPB中に存在するべきではない。
【0212】
− 復号順と出力順の両方で現在のピクチャに先立つ任意のCRAピクチャに出力順で先立つ参照ピクチャが、参照ピクチャセット中に含まれるべきではない。
【0213】
− ビットストリーム中の第1のコード化ピクチャがIDRピクチャである場合、または、現在のコード化ピクチャがビットストリーム中で第1のコード化ピクチャの先頭ピクチャではない場合、「参照ピクチャなし」に等しいRefPicSetStCurrBefore、RefPicSetStCurrAfterまたはRefPicSetLtCurrのエントリーが存在するべきではない。
【0214】
注意5−5個の参照ピクチャセットリストのうちの2つ以上に、参照ピクチャが含まれてはならない。
【0215】
別の態様では、本技法は、シンタックス要素poc_lsb_lt[i]と、add_poc_lsb_len[i]と、add_poc_lsb[i]とを追加し、シンタックス要素delta_poc_lsb_lt[i]と、delta_poc_msb_present_flag[i]と、delta_poc_msb_cycle_lt_minus1[i]とを除去し、他のシンタックス要素を変更しないままにするように、スライスヘッダのシンタックスとセマンティクスとを修正することができる。以下の表2はこれらの変更を示し、追加および/または変更が灰色の強調または影付きを使用して示される。
【表2】
【0216】
スライスヘッダのセマンティクスは、シンタックス要素poc_lsb_lt[i]、add_poc_lsb_len[i]およびadd_poc_lsb[i]のセマンティクスを追加し、シンタックス要素delta_poc_lsb_lt[i]、delta_poc_msb_present_flag[i]およびdelta_poc_msb_cycle_lt_minus1[i]のセマンティクスを除去し、他のシンタックス要素のセマンティクスは変更されないままにするように、変更され得る。
【0217】
シンタックス要素poc_lsb_lt[i]は、現在のピクチャの長期間参照ピクチャセットに含まれるi番目の長期間参照ピクチャのピクチャ順序カウント値の下位ビットを指定することができる。poc_lsb_lt[i]の長さは、log2_max_pic_order_cnt_lsb_minus4+4ビットであり得る。
【0218】
シンタックス要素add_poc_lsb_len[i]は、現在のピクチャの長期間参照ピクチャセットに含まれるi番目の長期間参照ピクチャのピクチャ順序カウント値の追加の下位ビットの数を指定することができる。add_poc_lsb_len[i]は、両端値を含む、0から32−log2_max_pic_order_cnt_lsb_minus4−4の範囲にあるべきである。
【0219】
シンタックス要素add_poc_lsb[i]は、現在のピクチャの長期間参照ピクチャセットに含まれるi番目の長期間参照ピクチャのピクチャ順序カウント値の追加の下位ビットの値を指定することができる。poc_lsb_lt[i]は、両端値を含む、1から(1<<add_poc_lsb_len[i])−1の範囲にあるべきである。add_poc_lsb[i]の長さは、add_poc_lsb_len[i]ビットである。
【0220】
HEVC WD6のセクション8.3.3において指定される参照ピクチャセットの復号プロセスは次のように変更されてよく、やはり、灰色の強調または影付きが、現在指定されているようなHEVC WD6のセクション8.3.2に対する追加および/または変更を示す。以下で、HEVC WD6のセクション8.3.2の大部分を複製する。
【0221】
このプロセスは、スライスヘッダの復号の後で、ただしどのコーディングユニットの復号にも先立って、かつ、8.3.3項において指定されるようなスライスの参照ピクチャリスト構築のための復号プロセスに先立って、ピクチャごとに一度呼び出される。このプロセスにより、「参照のために使用されない」ものとして、1つまたは複数の参照ピクチャが標識され得る。
【0222】
注意1−参照ピクチャセットは、現在のおよび今後のコード化ピクチャの復号プロセスにおいて使用される、参照ピクチャの絶対的な記述である。参照ピクチャセットシグナリングは、参照ピクチャセットに含まれるすべての参照ピクチャが明示的に挙げられるという意味で明示的であり、復号ピクチャバッファのステータスに依存するデコーダにおけるデフォルトの参照ピクチャセット構築プロセスは存在しない。
【0223】
短期間参照ピクチャは、そのPicOrderCntVal値によって識別される。長期間参照ピクチャは、そのPicOrderCntVal値の下位ビットによって識別される。
【0224】
ピクチャ順序カウント値またはピクチャ順序カウントの下位ビットの5個のリストが、参照ピクチャセット、すなわち、NumPocStCurrBefore個、NumPocStCurrAfter個、NumPocStFoll個、NumPocLtCurr個、およびNumPocLtFoll個の要素をそれぞれ伴う、PocStCurrBefore、PocStCurrAfter、PocStFoll、PocLtCurr、およびPocLtFollを導出するために構築される。
【0225】
− 現在のピクチャがIDRピクチャである場合、PocStCurrBefore、PocStCurrAfter、PocStFoll、PocLtCurr、およびPocLtFollがすべて空に設定され、NumPocStCurrBefore、NumPocStCurrAfter、NumPocStFoll、NumPocLtCurr、およびNumPocLtFollがすべて0に設定される。
【0226】
− そうではない場合、ピクチャ順序カウント値の5個のリストおよびエントリーの数の導出について、以下のことが当てはまる。
【数6】
【0227】
ここで、PicOrderCntValは、8.2.1項において指定されるような現在のピクチャのピクチャ順序カウントである。
【0228】
注意2−両端値を含む、0からnum_short_term_ref_pic_sets−1の範囲にあるStRpsIdxの値は、有効なシーケンスパラメータセットからのある短期間参照ピクチャが使用されていることを示し、ここで、StRpsIdxは、短期間参照ピクチャセットがシーケンスパラメータセットにおいてシグナリングされる順序での、短期間参照ピクチャセットのリストに対する短期間参照ピクチャセットのインデックスである。num_short_term_ref_pic_setsに等しいStRpsIdxは、スライスヘッダにおいて明示的にシグナリングされる短期間参照ピクチャセットが使用されていることを示す。
【0229】
参照ピクチャセットは、RefPicSetStCurrBefore、RefPicSetStCurrAfter、RefPicSetStFoll、RefPicSetLtCurr、およびRefPicSetLtFollという参照ピクチャの5個のリストからなる。変数NumPocTotalCurrは、NumPocStCurrBefore+NumPocStCurrAfter+NumPocLtCurrに等しく設定される。これは、PスライスまたはBスライスを復号するとき、NumPocTotalCurrの値が0に等しくてはならないという、ビットストリーム適合の要件である。
【0230】
注意3−RefPicSetStCurrBefore、RefPicSetStCurrAfter、およびRefPicSetLtCurrは、現在のピクチャのインター予測において使用されてよく、復号順で現在のピクチャの後に続くピクチャの1つまたは複数のインター予測において使用されてよい、すべての参照ピクチャを含む。RefPicSetStFollおよびRefPicSetLtFollは、現在のピクチャのインター予測において使用されないが、復号順で現在のピクチャの後に続くピクチャの1つまたは複数のインター予測において使用されてよい、すべての参照ピクチャからなる。
【0231】
参照ピクチャの標識は、「参照のために使用されない」、「短期の参照のために使用される」、または「長期の参照のために使用される」であり得るが、これらの3つのうちの1つのみでなければならない。参照ピクチャが「参照のために使用される」ものとして標識されるものとして言及される場合、このことは、「短期の参照のために使用される」または「長期の参照のために使用される」(ただし両方ではない)ものとして標識されているピクチャに集合的に言及する。「短期の参照のために使用される」ものとして標識される参照ピクチャは、短期間参照ピクチャと呼ばれる。「長期の参照のために使用される」ものとして標識される参照ピクチャは、長期間参照ピクチャと呼ばれる。
【0232】
参照ピクチャセットの導出プロセスおよびピクチャの標識は、次の順序付けられたステップに従って実行され、ここでDPBはHEVC WD6のAnnex Cにおいて説明されるような、復号ピクチャバッファを指す。
【0233】
1.次のことが当てはまる。
【数7】
【0234】
2.RefPicSetStCurrBefore、RefPicSetStCurrAfter、およびRefPicSetStFollに含まれるすべての参照ピクチャが、「短期の参照のために使用される」ものとして標識される。
【0235】
3.次のことが当てはまる。
【数8】
【0236】
4.RefPicSetLtCUrrおよびRefPicSetLtFollに含まれるすべての参照ピクチャが、「長期の参照のために使用される」ものとして標識される。
【0237】
5.RefPicSetLtCurr、RefPicSetLtFoll、RefPicSetStCurrBefore、RefPicSetStCurrAfterまたはRefPicSetStFollに含まれない、復号ピクチャバッファ中のすべての参照ピクチャは、「参照のために使用されない」ものとして標識される。
【0238】
注意4−参照ピクチャセットに含まれるが復号ピクチャバッファ中に存在しない、1つまたは複数の参照ピクチャが存在し得る。ビットストリーム中の第1のコード化ピクチャがIDRピクチャである場合、または、現在のコード化ピクチャがビットストリーム中の第1のコード化ピクチャの先頭ピクチャではない場合、「参照ピクチャなし」に等しいRefPicSetStFollまたはRefPicSetLtFollのエントリーは無視されるべきである。ビットストリーム中の第1のコード化ピクチャがCRAピクチャではない場合、または、現在のコード化ピクチャがビットストリーム中で第1のコード化ピクチャの先頭ピクチャではない場合、「参照ピクチャなし」に等しいRefPicSetStCurrBefore、RefPicSetStCurrAfterおよびRefPicSetLtCurrの各エントリーに対して、意図されないピクチャの損失が推測されるべきである。
【0239】
あるいは、上のステップにおいて、「参照ピクチャpicXがある」という文言は「ピクチャpicXがある」に変更される。
【0240】
これは、参照ピクチャセットが次のように制約されるというビットストリーム適合の要件である。
【0241】
− RefPicSetStCurrBefore、RefPicSetStCurrAfterまたはRefPicSetLtCurrに含まれる現在のピクチャよりもtemporal_idが大きい参照ピクチャは存在するべきではない。
【0242】
− 両端値を含む、0からNumPocLtCurr−1の範囲にあるiの各値に対して、RefPicSetStCurrBefore、RefPicSetStCurrAfterまたはRefPicSetStFollに含まれず、Abs(PicOrderCntVal)%(2
ExtPocLsbLenCurr[i])がPocLtCurr[i]に等しいPicOrderCntValを有する、1つの参照ピクチャしかDPB中に存在するべきではない。両端値を含む、0からNumPocLtFoll−1の範囲にあるiの各値に対して、RefPicSetStCurrBefore、RefPicSetStCurrAfterまたはRefPicSetStFollに含まれず、Abs(PicOrderCntVal)%(2
ExtPocLsbLenFoll[i])がPocLtFoll[i]に等しいPicOrderCntValを有する、2つ以上の参照ピクチャがDPB中に存在するべきではない。
【0243】
− 復号順と出力順の両方で現在のピクチャに先立つ任意のCRAピクチャに、出力順で先立つ参照ピクチャが、参照ピクチャセット中に含まれるべきではない。
【0244】
− ビットストリーム中の第1のコード化ピクチャがIDRピクチャである場合、または、現在のコード化ピクチャがビットストリーム中で第1のコード化ピクチャの先頭ピクチャではない場合、「参照ピクチャなし」に等しいRefPicSetStCurrBefore、RefPicSetStCurrAfterまたはRefPicSetLtCurrのエントリーが存在するべきではない。
【0245】
注意5−5個の参照ピクチャセットリストのうちの2つ以上に、参照ピクチャが含まれてはならない。
【0246】
本技法の第3の態様は、上で説明された技法の第1の態様に基づき得る。この第3の態様では、スライスヘッダのシンタックスにおいて、一例として、最下位ビット(ビット0)から開始することを示す値0、2番目の下位ビット(ビット1)から開始することを示す値1などを伴う、LTRPのPOCの開始ビットをシグナリングするために、RPSに含まれるべき各LTRPに対してもう1つのシンタックス要素が追加され得る。PocLsbLtLen[i]が次いで、上で説明された技法の第1の態様と同じ方法で導出されてよく、その方法では、PocLsBLtLen[i]はpoc_lsb_len_delta[i]に基づいて導出される。しかしながら、本技法のこの第3の態様では、PocLsbLtLen[i]は、追加のシンタックス要素によって上で識別されるような開始ビットから開始するLTRPのPOCのビットの数を表すことができ、ここで、poc_lsb_lt[i]は、追加のシンタックス要素によって上で識別されたような開始ビットから開始するLTRPのPOCのPocLsbLtLen[i]個のビットの値を指定する。
【0247】
DPBでは、RefPicSetStCurrBefore、RefPicSetStCurrAfterまたはRefPicSetStFollに含まれるものを除き、LTRPに対して示されるビットのセットと等しいPOC値のビットの同じセットを有する1つの参照ピクチャのみ(または代替的には、1つのピクチャのみ)が存在することが要求され得る。したがって、LTRPは次いで、ビットのセットによって一意に識別されてよく、HEVC WD6のEqn.8−7において、この条件(POC値の下位ビットのセットがLTRPに対して示されるビットのセットに等しいという条件の代わりに)が、RefPicSetLtCurr[i]またはRefPicSetLtFoll[i]に含まれるべき参照ピクチャ(または代替的に、ピクチャ)を識別するために使用され得る。本技法の第3の態様の他の部分は、本技法の第1の態様に関して上で説明されたことと同様であり得る。
【0248】
本開示で説明される本技法の第4の態様は、上で説明された技法の第2の態様の変形を表し得る。この第4の態様では、スライスヘッダのシンタックスは、add_poc_lsb_len[i]を含んでよく、これは、add_poc_lsb[i]によってシグナリングされる追加のLSBの長さのデルタを表す。iが0に等しい場合、add_poc_lsb_len[i]は、add_poc_lsb[i]によってシグナリングされる追加のLSBの長さを指定することができ、そうでなければ、add_poc_lsb_len[i]は、長さadd_poc_lsb[i]とadd_poc_lsb[i−1]の長さとの差を指定することができる。本技法の第4の態様の他の部分は、本技法の第2の態様に関して上で説明されたことと同様であり得る。
【0249】
本技法の第5の態様は、上で説明された技法の第1の態様に基づき得る。この第5の態様では、LTRPをシグナリングするために、最下位ビットから開始するPOC LSBをシグナリングする代わりに、切り捨てられたPOC LSBがシグナリングされ得る。
【0250】
スライスヘッダのシンタックスは、シンタックス要素poc_lsb_len_delta[i]とpoc_lsb_lt[i]とを追加し、シンタックス要素delta_poc_lsb_lt[i]と、delta_poc_msb_present_flag[i]と、delta_poc_msb_cycle_lt_minus1[i]とを除去し、他のシンタックス要素のセマンティクスは変更されないままにするように変更され得る。次の表3は、これらの変更がどのようにスライスヘッダに影響を与え得るかを示し、灰色の強調または影付きは変更および/または追加を示す。
【表3】
【0251】
poc_lsb_len_truncated_delta[i]が、poc_lsb_truncated_lt[i]を表すためのビットの数を指定するために使用され得る。変数PocLsbLtTrunLen[i]は、次のように導出され得る。
【数9】
【0252】
poc_lsb_truncated_lt[i]が、NumTruncatedBitsビットを切り捨てた後の、現在のピクチャの長期間参照ピクチャセットに含まれるi番目の長期間参照ピクチャのピクチャ順カウント値の下位ビットを指定することができ、言い換えると、現在のピクチャの長期間参照ピクチャセットに含まれるi番目の長期間参照ピクチャのピクチャ順序カウント値を含めて、ビットNumTruncatedBitsからビットNumTruncatedBits+PocLsbLtTrunLen[i]−1を指定することができる。これらのビットは、現在のピクチャの長期間参照ピクチャセットに含まれる、i番目のLTRPに対する切り捨てられたビットセットと呼ばれる。シンタックス要素poc_lsb_truncted_lt[i]は、両端値を含む0から(1<<PocLsbLtTrunLen[i])−1の範囲内にあり得る。poc_lsb_lt[i]の長さは、一例として、PocLsbLtTrunLen[i]であり得る。
【0253】
長期間参照ピクチャは一般に、そのPicOrderCntVal値の切り捨てられたビットセットによって識別される。DPB中のいずれの2つの参照ピクチャ(または代替的には、2つのピクチャ)(RefPicSetStCurrBefore、RefPicSetStCurrAfterまたはRefPicSetStFollに含まれるものを除く)も、そのPicOrderCntVal値に対するビットの同じセットに対して同じ値を有し得ない。したがって、LTRPは、切り捨てられたビットセットによって一意に識別されてよく、HEVC WD6のEqn.8−7において、この条件(POC値の下位ビットのセットがLTRPに対して示されるビットのセットに等しいという条件の代わりに)が、RefPicSetLtCUrr[i]またはRefPicSetLtFoll[i]に含まれるべき参照ピクチャ(または代替的に、ピクチャ)を識別するために使用される。
【0254】
代替として、LTRPピクチャがシグナリングされる場合、NumTruncatedBitsは各スライスにおいてシグナリングされ得る。表4はこの代替形態を示し、灰色の強調または影付きが変更および/または追加を示す。
【表4】
【0255】
表4において、num_truncated_bitsは、POC LSBからLTRPを識別するときに切り捨てられるべきPOC値の下位ビットを指定することができる。このシンタックス要素は、両端値を含む、0からlog2_max_pic_order_cnt_lsb_minus4+4の範囲にあってよく、長さは、ceil(log2(log2_max_pic_order_cnt_lsb_minus4+4+1))であってよい。さらに別の代替形態として、num_truncated_bitsは、ue(v)においてシグナリングされてよく、log2_max_pic_order_cnt_lsb_minus4+4より大きくてよい。
【0256】
例によっては、本明細書で説明された技法のうちいずれかの、いくつかの行為またはイベントは、異なる順番で実行されてよく、追加され、統合され、または完全に除外され得る(たとえば、すべての説明された行為またはイベントが、本技法の実施のために必要であるとは限らない)ことを認識されたい。さらに、いくつかの例では、行為またはイベントは、連続的にではなく、同時に、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通じて実行され得る。
【0257】
1つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を支援する任意の媒体を含む、データ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【0258】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは、命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備え得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【0259】
命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路のような、1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造のいずれか、または本明細書で説明される技法の実装に好適な任意の他の構造を指し得る。加えて、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用のハードウェアおよび/もしくはソフトウェアモジュール内で与えられてよく、または複合コーデックに組み込まれてよい。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。
【0260】
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために、様々なコンポーネント、モジュール、またはユニットが説明されたが、それらのコンポーネント、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上で説明されたように、様々なユニットが、適切なソフトウェアおよび/またはファームウェアとともに、上で説明された1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられてよく、または相互動作可能なハードウェアユニットの集合によって与えられてよい。
【0261】
様々な例が説明されてきた。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータを符号化する方法であって、
前記ビデオデータの現在のピクチャについて、前記現在のピクチャの少なくとも一部分を符号化するときに使用されるべき長期間参照ピクチャを識別するピクチャ順序カウント値の1つまたは複数の最下位ビットを決定することと、
前記長期間参照ピクチャも記憶される復号ピクチャバッファに記憶される任意の他のピクチャを識別する任意の他のピクチャ順序カウント値の1つまたは複数の最下位ビットが前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットと同じであるとき、前記ピクチャ順序カウント値の1つまたは複数の最上位ビットを決定することであって、前記1つまたは複数の最下位ビットの数が前記1つまたは複数の最上位ビットの数に加算されると、前記ピクチャ順序カウント値を指定するために総ビット数よりも小さい合計を生じる、決定することと、
前記ビデオデータの符号化バージョンを表すビットストリームにおいて前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットと前記決定された1つまたは複数の最上位ビットとの両方を指定することと、
前記長期間参照ピクチャを使用して前記現在のピクチャの少なくとも前記一部分を符号化することと
を備える方法。
[C2]
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウントの前記決定された1つまたは複数の最下位ビットが、前記現在のピクチャの少なくとも一部分に関連するスライスヘッダと、前記現在のピクチャに関連するピクチャパラメータセットと、前記ピクチャに関連するシーケンスパラメータセットとのうちの1つまたは複数において指定される任意の他のピクチャ順序カウント値から前記ピクチャ順序カウント値を一意に識別する、C1に記載の方法。
[C3]
前記復号ピクチャバッファに記憶される前記他のピクチャのそれぞれを識別する少なくとも1つのピクチャ順序カウント値のための前記1つまたは複数の最下位ビットを決定することと、
前記復号ピクチャバッファに記憶される前記他のピクチャの前記それぞれを識別する前記少なくとも1つのピクチャ順序カウント値のための前記1つまたは複数の最下位ビットが、前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットと同じであるかどうかを決定することと
をさらに備える、C1に記載の方法。
[C4]
前記ピクチャ順序カウント値の前記1つまたは複数の最上位ビットを決定することが、前記復号ピクチャバッファ中で任意の他のピクチャを識別する任意の他のピクチャ順序カウント値から、前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値を一意に識別するのに、前記決定された1つまたは複数の最下位ビットとの組み合わせで前記1つまたは複数の最上位ビットが十分であるように、前記現在のピクチャの少なくとも前記一部分を符号化するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最上位ビットを決定することを備える、C1に記載の方法。
[C5]
前記ピクチャ順序カウント値が、前記現在のピクチャを識別するピクチャ順序カウント値と、前記現在のピクチャの少なくとも前記一部分を符号化するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値との間の差異として計算されるデルタピクチャ順序カウント値を備える、C1に記載の方法。
[C6]
前記ビデオデータの符号化バージョンを表すビットストリームにおいて前記長期間参照ピクチャを識別するピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用されるべきビット数を決定することと、
前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の1つまたは複数の最下位ビットを表すために使用される前記決定されたビット数を使用して前記ビットストリームにおいて前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを指定することと
をさらに備える、C1に記載の方法。
[C7]
前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値が、復号ピクチャバッファ中に存在するが、前記現在のピクチャに関連するシーケンスパラメータセットにおいて1つまたは複数の長期間参照ピクチャとして指定されない長期間参照ピクチャを識別するピクチャ順序カウント値を備える、C6に記載の方法。
[C8]
前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットと前記決定された1つまたは複数の最上位ビットとの両方を指定することが、前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記決定されたビット数に等しいビット数を有する符号なし2進数を指定することを備える、C6に記載の方法。
[C9]
前記ビットストリームにおいて前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記決定されたビット数を指定することをさらに備える、C6に記載の方法。
[C10]
前記ビット数を決定することが、前記ビットストリームにおいて、前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用されるべき前記決定されたビット数を指定することを回避するために、前記ビデオデータの前記現在のピクチャと前に符号化されたピクチャとのうちの1つまたは複数について前に決定されたシンタックス要素に基づいて前記ビットストリームにおいて前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用されるべき前記ビット数を決定することを備える、C6に記載の方法。
[C11]
前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットと前記決定された1つまたは複数の最上位ビットとを指定することが、前記現在のピクチャの少なくとも前記一部分に関連するスライスヘッダにおいて前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを指定することを備える、C6に記載の方法。
[C12]
ビデオデータを符号化するためのビデオ符号化デバイスであって、
前記ビデオデータの現在のピクチャについて、前記現在のピクチャの少なくとも一部分を符号化するときに使用されるべき長期間参照ピクチャを識別するピクチャ順序カウント値の1つまたは複数の最下位ビットを決定することと、前記長期間参照ピクチャも記憶される復号ピクチャバッファに記憶される任意の他のピクチャを識別する任意の他のピクチャ順序カウント値の1つまたは複数の最下位ビットが前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットと同じであるとき、前記ピクチャ順序カウント値の1つまたは複数の最上位ビットを決定することであって、前記1つまたは複数の最下位ビットの数が前記1つまたは複数の最上位ビットの数に加算されると、前記ピクチャ順序カウント値を指定するために総ビット数よりも小さい合計を生じる、決定することと、前記ビデオデータの符号化バージョンを表すビットストリームにおいて前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットと前記決定された1つまたは複数の最上位ビットとの両方を指定することと、前記長期間参照ピクチャを使用して前記現在のピクチャの少なくとも前記一部分を符号化することとを行うように構成された1つまたは複数のプロセッサ
を備えるビデオ符号化デバイス。
[C13]
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウントの前記決定された1つまたは複数の最下位ビットが、前記現在のピクチャの少なくとも一部分に関連するスライスヘッダと、前記現在のピクチャに関連するピクチャパラメータセットと、前記ピクチャに関連するシーケンスパラメータセットとのうちの1つまたは複数において指定される任意の他のピクチャ順序カウント値から前記ピクチャ順序カウント値を一意に識別する、C12に記載のビデオ符号化デバイス。
[C14]
前記1つまたは複数のプロセッサが、前記復号ピクチャバッファに記憶される前記他のピクチャのそれぞれを識別する少なくとも1つのピクチャ順序カウント値のための前記1つまたは複数の最下位ビットを決定することと、前記復号ピクチャバッファに記憶される前記他のピクチャの前記それぞれを識別する前記少なくとも1つのピクチャ順序カウント値のための前記1つまたは複数の最下位ビットが、前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットと同じあるかどうかを決定することとを行うようにさらに構成された、C12に記載のビデオ符号化デバイス。
[C15]
前記1つまたは複数のプロセッサが、前記ピクチャ順序カウント値の前記1つまたは複数の最上位ビットを決定するとき、前記復号ピクチャバッファ中で任意の他のピクチャを識別する任意の他のピクチャ順序カウント値から、前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値を一意に識別するのに、前記決定された1つまたは複数の最下位ビットとの組み合わせで前記1つまたは複数の最上位ビットが十分であるように、前記現在のピクチャの少なくとも前記一部分を符号化するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最上位ビットを決定することを行うようにさらに構成された、C12に記載のビデオ符号化デバイス。
[C16]
前記ピクチャ順序カウント値が、前記現在のピクチャを識別するピクチャ順序カウント値と、前記現在のピクチャの少なくとも前記一部分を符号化するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値との間の差異として計算されるデルタピクチャ順序カウント値を備える、C12に記載のビデオ符号化デバイス。
[C17]
前記1つまたは複数のプロセッサが、前記ビデオデータの符号化バージョンを表すビットストリームにおいて前記長期間参照ピクチャを識別するピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用されるべきビット数を決定することと、前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の1つまたは複数の最下位ビットを表すために使用される前記決定されたビット数を使用して前記ビットストリームにおいて前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを指定することとを行うようにさらに構成された、C12に記載のビデオ符号化デバイス。
[C18]
前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値が、復号ピクチャバッファ中に存在するが、前記現在のピクチャに関連するシーケンスパラメータセットにおいて1つまたは複数の長期間参照ピクチャとして指定されない長期間参照ピクチャを識別するピクチャ順序カウント値を備える、C17に記載のビデオ符号化デバイス。
[C19]
前記1つまたは複数のプロセッサが、前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットと前記決定された1つまたは複数の最上位ビットとの両方を指定するとき、前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記決定されたビット数に等しいビット数を有する符号なし2進数を指定することを行うようにさらに構成された、C17に記載のビデオ符号化デバイス。
[C20]
前記1つまたは複数のプロセッサが、前記ビットストリームにおいて前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記決定されたビット数を指定することを行うようにさらに構成された、C17に記載のビデオ符号化デバイス。
[C21]
前記1つまたは複数のプロセッサが、前記ビット数を決定するとき、前記ビットストリームにおいて、前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用されるべき前記決定されたビット数を指定することを回避するために、前記ビデオデータの前記現在のピクチャと前に符号化されたピクチャとのうちの1つまたは複数について前に決定されたシンタックス要素に基づいて前記ビットストリームにおいて前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用されるべき前記ビット数を決定することを行うようにさらに構成された、C17に記載のビデオ符号化デバイス。
[C22]
前記1つまたは複数のプロセッサが、前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットと前記決定された1つまたは複数の最上位ビットとを指定するとき、前記現在のピクチャの少なくとも前記一部分に関連するスライスヘッダにおいて前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを指定することを行うようにさらに構成された、C17に記載のビデオ符号化デバイス。
[C23]
ビデオデータを符号化するためのビデオ符号化デバイスであって、
前記ビデオデータの現在のピクチャについて、前記現在のピクチャの少なくとも一部分を符号化するとき、および長期間参照ピクチャも記憶される復号ピクチャバッファに記憶される任意の他のピクチャを識別する任意の他のピクチャ順序カウント値の1つまたは複数の最下位ビットが前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットと同じであるときに使用されるべき前記長期間参照ピクチャを識別するピクチャ順序カウント値の1つまたは複数の最下位ビットを決定するための手段と、
前記ピクチャ順序カウント値の1つまたは複数の最上位ビットを決定するための手段であって、前記1つまたは複数の最下位ビットの数が前記1つまたは複数の最上位ビットの数に加算されると、前記ピクチャ順序カウント値を指定するために総ビット数よりも小さい合計を生じる、決定するための手段と、
前記ビデオデータの符号化バージョンを表すビットストリームにおいて前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットと前記決定された1つまたは複数の最上位ビットとの両方を指定するための手段と、
前記長期間参照ピクチャを使用して前記現在のピクチャの少なくとも前記一部分を符号化するための手段と
を備えるビデオ符号化デバイス。
[C24]
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウントの前記決定された1つまたは複数の最下位ビットが、前記現在のピクチャの少なくとも一部分に関連するスライスヘッダと、前記現在のピクチャに関連するピクチャパラメータセットと、前記ピクチャに関連するシーケンスパラメータセットとのうちの1つまたは複数において指定される任意の他のピクチャ順序カウント値から前記ピクチャ順序カウント値を一意に識別する、C23に記載のビデオ符号化デバイス。
[C25]
前記復号ピクチャバッファに記憶される前記他のピクチャのそれぞれを識別する少なくとも1つのピクチャ順序カウント値のための前記1つまたは複数の最下位ビットを決定するための手段と、
前記復号ピクチャバッファに記憶される前記他のピクチャの前記それぞれを識別する前記少なくとも1つのピクチャ順序カウント値のための前記1つまたは複数の最下位ビットが、前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットと同じあるかどうかを決定するための手段と
をさらに備える、C23に記載のビデオ符号化デバイス。
[C26]
前記ピクチャ順序カウント値の前記1つまたは複数の最上位ビットを決定するための前記手段が、前記復号ピクチャバッファ中で任意の他のピクチャを識別する任意の他のピクチャ順序カウント値から、前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値を一意に識別するのに、前記決定された1つまたは複数の最下位ビットとの組み合わせで前記1つまたは複数の最上位ビットが十分であるように、前記現在のピクチャの少なくとも前記一部分を符号化するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最上位ビットを決定するための手段を備える、C23に記載のビデオ符号化デバイス。
[C27]
前記ピクチャ順序カウント値が、前記現在のピクチャを識別するピクチャ順序カウント値と、前記現在のピクチャの少なくとも前記一部分を符号化するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値との間の差異として計算されるデルタピクチャ順序カウント値を備える、C23に記載のビデオ符号化デバイス。
[C28]
実行されたとき、ビデオ符号化デバイスの1つまたは複数のプロセッサに、
ビデオデータの現在のピクチャについて、前記現在のピクチャの少なくとも一部分を符号化するときに使用されるべき長期間参照ピクチャを識別するピクチャ順序カウント値の1つまたは複数の最下位ビットを決定することと、
前記長期間参照ピクチャも記憶される復号ピクチャバッファに記憶される任意の他のピクチャを識別する任意の他のピクチャ順序カウント値の1つまたは複数の最下位ビットが前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットと同じであるとき、前記ピクチャ順序カウント値の1つまたは複数の最上位ビットを決定することであって、前記1つまたは複数の最下位ビットの数が前記1つまたは複数の最上位ビットの数に加算されると、前記ピクチャ順序カウント値を指定するために総ビット数よりも小さい合計を生じる、決定することと、
前記ビデオデータの符号化バージョンを表すビットストリームにおいて前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットと前記決定された1つまたは複数の最上位ビットとの両方を指定することと、
前記長期間参照ピクチャを使用して前記現在のピクチャの少なくとも前記一部分を符号化することと
を行わせる命令を記憶した非一時的コンピュータ可読記憶媒体。
[C29]
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウントの前記決定された1つまたは複数の最下位ビットが、前記現在のピクチャの少なくとも一部分に関連するスライスヘッダと、前記現在のピクチャに関連するピクチャパラメータセットと、前記ピクチャに関連するシーケンスパラメータセットとのうちの1つまたは複数において指定される任意の他のピクチャ順序カウント値から前記ピクチャ順序カウント値を一意に識別する、C28に記載の非一時的コンピュータ可読記憶媒体。
[C30]
実行されたとき、前記1つまたは複数のプロセッサに、
前記復号ピクチャバッファに記憶される前記他のピクチャのそれぞれを識別する少なくとも1つのピクチャ順序カウント値のための前記1つまたは複数の最下位ビットを決定することと、
前記復号ピクチャバッファに記憶される前記他のピクチャの前記それぞれを識別する前記少なくとも1つのピクチャ順序カウント値のための前記1つまたは複数の最下位ビットが、前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットと同じあるかどうかを決定することとを行わせる命令をさらに記憶した、C28に記載の非一時的コンピュータ可読記憶媒体。
[C31]
実行されたとき、前記1つまたは複数のプロセッサに、前記ピクチャ順序カウント値の前記1つまたは複数の最上位ビットを決定することを行わせる前記命令が、前記復号ピクチャバッファ中で任意の他のピクチャを識別する任意の他のピクチャ順序カウント値から、前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値を一意に識別するのに、前記決定された1つまたは複数の最下位ビットとの組み合わせで前記1つまたは複数の最上位ビットが十分であるように、前記現在のピクチャの少なくとも前記一部分を符号化するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最上位ビットを決定することを備える、C28に記載の非一時的コンピュータ可読記憶媒体。
[C32]
前記ピクチャ順序カウント値が、前記現在のピクチャを識別するピクチャ順序カウント値と、前記現在のピクチャの少なくとも前記一部分を符号化するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値との間の差異として計算されるデルタピクチャ順序カウント値を備える、C28に記載の非一時的コンピュータ可読記憶媒体。
[C33]
実行されたとき、前記1つまたは複数のプロセッサに、
前記ビデオデータの符号化バージョンを表すビットストリームにおいて前記長期間参照ピクチャを識別するピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用されるべきビット数を決定することと、
前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の1つまたは複数の最下位ビットを表すために使用される前記決定されたビット数を使用して前記ビットストリームにおいて前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを指定することと
を行わせる命令をさらに記憶した、C28に記載の非一時的コンピュータ可読記憶媒体。
[C34]
前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値が、復号ピクチャバッファ中に存在するが、前記現在のピクチャに関連するシーケンスパラメータセットにおいて1つまたは複数の長期間参照ピクチャとして指定されない長期間参照ピクチャを識別するピクチャ順序カウント値を備える、C33に記載の非一時的コンピュータ可読記憶媒体。
[C35]
実行されたとき、前記1つまたは複数のプロセッサに、前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットと前記決定された1つまたは複数の最上位ビットとの両方を指定することを行わせる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記決定されたビット数に等しいビット数を有する符号なし2進数を指定することを行わせる命令を備える、C33に記載の非一時的コンピュータ可読記憶媒体。
[C36]
実行されたとき、前記1つまたは複数のプロセッサに、前記ビットストリームにおいて前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記決定されたビット数を指定することを行わせる命令をさらに記憶した、C33に記載の非一時的コンピュータ可読記憶媒体。
[C37]
実行されたとき、前記1つまたは複数のプロセッサに、前記ビット数を決定することを行わせる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、前記ビットストリームにおいて、前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用されるべき前記決定されたビット数を指定することを回避するために、前記ビデオデータの前記現在のピクチャと前に符号化されたピクチャとのうちの1つまたは複数について前に決定されたシンタックス要素に基づいて前記ビットストリームにおいて前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用されるべき前記ビット数を決定することを行わせる命令を備える、C33に記載の非一時的コンピュータ可読記憶媒体。
[C38]
実行されたとき、前記1つまたは複数のプロセッサに、前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットと前記決定された1つまたは複数の最上位ビットとを指定することを行わせる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、前記現在のピクチャの少なくとも前記一部分に関連するスライスヘッダにおいて前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを指定することを行わせる命令を備える、C33に記載の非一時的コンピュータ可読記憶媒体。
[C39]
符号化されたビデオデータを復号する方法であって、
前記符号化されたビデオデータの現在のピクチャについて、前記現在のピクチャの少なくとも一部分を復号するときに使用されるべき長期間参照ピクチャを識別するピクチャ順序カウント値の1つまたは複数の最下位ビットを決定することであって、前記1つまたは複数の最下位ビットが、前記長期間参照ピクチャも記憶される復号ピクチャバッファ中に存在する任意の他のピクチャを識別する任意の他のピクチャ順序カウント値の前記1つまたは複数の最下位ビットに関する前記長期間参照ピクチャの前記ピクチャ順序カウント値を一意に識別せず、前記1つまたは複数の最下位ビットの数が前記1つまたは複数の最上位ビットの数に加算されると、前記ピクチャ順序カウント値を指定するために総ビット数よりも小さい合計を生じる、決定することと、
前記ピクチャ順序カウント値の1つまたは複数の最上位ビットを決定することであって、前記決定された1つまたは複数の最下位ビットと組み合わせた前記1つまたは複数の最上位ビットが、前記ピクチャ順序カウント値と前記復号ピクチャバッファ中で任意の他のピクチャを識別する任意の他のピクチャ順序カウント値とを区別するのに十分である、決定することと、
前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットと前記ピクチャ順序カウント値の前記決定された1つまたは複数の最上位ビットとに基づいて前記復号ピクチャバッファから前記長期間参照ピクチャを取り出すことと、
前記取り出された長期間参照ピクチャを使用して前記現在のピクチャの少なくとも前記一部分を復号することと
を備える方法。
[C40]
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウントの前記決定された1つまたは複数の最下位ビットが、前記現在のピクチャの少なくとも一部分に関連するスライスヘッダと、前記現在のピクチャに関連するピクチャパラメータセットと、前記ピクチャに関連するシーケンスパラメータセットとのうちの1つまたは複数において指定される任意の他のピクチャ順序カウント値から前記ピクチャ順序カウント値を一意に識別する、C39に記載の方法。
[C41]
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを決定することが、前記符号化されたビデオデータを表すビットストリームから、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットをパースすることを備え、
前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最上位ビットを決定することが、前記ビットストリームから、前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最上位ビットをパースすることを備える、C39に記載の方法。
[C42]
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを決定することが、前記現在のピクチャの少なくとも前記一部分に関連するスライスヘッダと、ピクチャパラメータセットと、シーケンスパラメータセットとのうちの1つまたは複数から、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットをパースすることを備える、C39に記載の方法。
[C43]
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最上位ビットを決定することが、前記現在のピクチャの少なくとも前記一部分に関連するスライスヘッダと、ピクチャパラメータセットと、シーケンスパラメータセットとのうちの1つまたは複数から、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最上位ビットをパースすることを備える、C39に記載の方法。
[C44]
前記ピクチャ順序カウント値が、前記現在のピクチャを識別するピクチャ順序カウント値と、前記現在のピクチャの少なくとも前記一部分を符号化するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値との間の差異として計算されるデルタピクチャ順序カウント値を備える、C39に記載の方法。
[C45]
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用されるビット数を決定することと、
前記符号化されたビデオデータを表すビットストリームから前記決定されたビット数をパースすることであって、前記パースされ決定されたビット数が、前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表す、パースすることと
をさらに備える、C39に記載の方法。
[C46]
前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値が、前記復号ピクチャバッファ中に存在するが、前記現在のピクチャに関連するシーケンスパラメータセットにおいて1つまたは複数の長期間参照ピクチャとして指定されない長期間参照ピクチャを識別するピクチャ順序カウント値を備える、C45に記載の方法。
[C47]
前記パースされ決定されたビット数が、符号なし2進数として前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記最下位ビットを表す、C45に記載の方法。
[C48]
前記現在のピクチャの少なくとも一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記ビット数を決定することが、前記ビットストリームから前記現在のピクチャの少なくとも一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記ビット数をパースすることを備える、C45に記載の方法。
[C49]
前記ビット数を決定することが、前記ビットストリームから、前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記決定されたビット数をパースする必要なしに、前記ビデオデータの前記現在のピクチャと前に符号化されたピクチャとのうちの1つまたは複数について前に決定されたシンタックス要素に基づいて前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用されるべき前記ビット数を決定することを備える、C45に記載の方法。
[C50]
符号化されたビデオデータを復号するためのビデオ復号デバイスであって、
前記符号化されたビデオデータの現在のピクチャについて、前記現在のピクチャの少なくとも一部分を復号するときに使用されるべき長期間参照ピクチャを識別するピクチャ順序カウント値の1つまたは複数の最下位ビットを決定することであって、前記1つまたは複数の最下位ビットが、前記長期間参照ピクチャも記憶される復号ピクチャバッファ中に存在する任意の他のピクチャを識別する任意の他のピクチャ順序カウント値の前記1つまたは複数の最下位ビットに関する前記長期間参照ピクチャの前記ピクチャ順序カウント値を一意に識別せず、前記1つまたは複数の最下位ビットの数が前記1つまたは複数の最上位ビットの数に加算されると、前記ピクチャ順序カウント値を指定するために総ビット数よりも小さい合計を生じる、決定することと、前記ピクチャ順序カウント値の1つまたは複数の最上位ビットを決定することであって、前記決定された1つまたは複数の最下位ビットと組み合わせた前記1つまたは複数の最上位ビットが、前記ピクチャ順序カウント値と前記復号ピクチャバッファ中で任意の他のピクチャを識別する任意の他のピクチャ順序カウント値とを区別するのに十分である、決定することと、前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットと前記ピクチャ順序カウント値の前記決定された1つまたは複数の最上位ビットとに基づいて前記復号ピクチャバッファから前記長期間参照ピクチャを取り出すことと、前記取り出された長期間参照ピクチャを使用して前記現在のピクチャの少なくとも前記一部分を復号することとを行うように構成された1つまたは複数のプロセッサ
を備えるビデオ復号デバイス。
[C51]
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウントの前記決定された1つまたは複数の最下位ビットが、前記現在のピクチャの少なくとも一部分に関連するスライスヘッダと、前記現在のピクチャに関連するピクチャパラメータセットと、前記ピクチャに関連するシーケンスパラメータセットとのうちの1つまたは複数において指定される任意の他のピクチャ順序カウント値から前記ピクチャ順序カウント値を一意に識別する、C50に記載のビデオ復号デバイス。
[C52]
前記1つまたは複数のプロセッサが、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを決定するとき、前記符号化されたビデオデータを表すビットストリームから、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットをパースすることを行うようにさらに構成され、
前記1つまたは複数のプロセッサが、前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最上位ビットを決定するとき、前記ビットストリームから、前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最上位ビットをパースすることを行うようにさらに構成された、C50に記載のビデオ復号デバイス。
[C53]
前記1つまたは複数のプロセッサが、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを決定するとき、前記現在のピクチャの少なくとも前記一部分に関連するスライスヘッダと、ピクチャパラメータセットと、シーケンスパラメータセットとのうちの1つまたは複数から、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットをパースすることを行うようにさらに構成された、C50に記載のビデオ復号デバイス。
[C54]
前記1つまたは複数のプロセッサが、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最上位ビットを決定するとき、前記現在のピクチャの少なくとも前記一部分に関連するスライスヘッダと、ピクチャパラメータセットと、シーケンスパラメータセットとのうちの1つまたは複数から、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最上位ビットをパースすることを行うようにさらに構成された、C50に記載のビデオ復号デバイス。
[C55]
前記ピクチャ順序カウント値が、前記現在のピクチャを識別するピクチャ順序カウント値と、前記現在のピクチャの少なくとも前記一部分を符号化するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値との間の差異として計算されるデルタピクチャ順序カウント値を備える、C50に記載のビデオ復号デバイス。
[C56]
前記1つまたは複数のプロセッサが、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用されるビット数を決定することと、前記符号化されたビデオデータを表すビットストリームから前記決定されたビット数をパースすることであって、前記パースされ決定されたビット数が、前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表す、パースすることとを行うようにさらに構成された、C50に記載のビデオ復号デバイス。
[C57]
前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値が、前記復号ピクチャバッファ中に存在するが、前記現在のピクチャに関連するシーケンスパラメータセットにおいて1つまたは複数の長期間参照ピクチャとして指定されない長期間参照ピクチャを識別するピクチャ順序カウント値を備える、C56に記載のビデオ復号デバイス。
[C58]
前記パースされ決定されたビット数が、符号なし2進数として前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記最下位ビットを表す、C56に記載のビデオ復号デバイス。
[C59]
前記1つまたは複数のプロセッサが、前記現在のピクチャの少なくとも一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記ビット数を決定するとき、前記ビットストリームから前記現在のピクチャの少なくとも一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記ビット数をパースすることを行うようにさらに構成された、C56に記載のビデオ復号デバイス。
[C60]
前記1つまたは複数のプロセッサが、前記ビット数を決定するとき、前記ビットストリームから、前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記決定されたビット数をパースする必要なしに、前記ビデオデータの前記現在のピクチャと前に符号化されたピクチャとのうちの1つまたは複数について前に決定されたシンタックス要素に基づいて前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用されるべき前記ビット数を決定することを行うようにさらに構成された、C56に記載のビデオ復号デバイス。
[C61]
符号化されたビデオデータを復号するためのビデオ復号デバイスであって、
前記符号化されたビデオデータの現在のピクチャについて、前記現在のピクチャの少なくとも一部分を復号するときに使用されるべき長期間参照ピクチャを識別するピクチャ順序カウント値の1つまたは複数の最下位ビットを決定するための手段であって、前記1つまたは複数の最下位ビットが、前記長期間参照ピクチャも記憶される復号ピクチャバッファ中に存在する任意の他のピクチャを識別する任意の他のピクチャ順序カウント値の前記1つまたは複数の最下位ビットに関する前記長期間参照ピクチャの前記ピクチャ順序カウント値を一意に識別せず、前記1つまたは複数の最下位ビットの数が前記1つまたは複数の最上位ビットの数に加算されると、前記ピクチャ順序カウント値を指定するために総ビット数よりも小さい合計を生じる、決定するための手段と、
前記ピクチャ順序カウント値の1つまたは複数の最上位ビットを決定するための手段であって、前記決定された1つまたは複数の最下位ビットと組み合わせた前記1つまたは複数の最上位ビットが、前記ピクチャ順序カウント値と前記復号ピクチャバッファ中で任意の他のピクチャを識別する任意の他のピクチャ順序カウント値とを区別するのに十分である、決定するための手段と、
前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットと前記ピクチャ順序カウント値の前記決定された1つまたは複数の最上位ビットとに基づいて前記復号ピクチャバッファから前記長期間参照ピクチャを取り出すための手段と、
前記取り出された長期間参照ピクチャを使用して前記現在のピクチャの少なくとも前記一部分を復号するための手段と
を備えるビデオ復号デバイス。
[C62]
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウントの前記決定された1つまたは複数の最下位ビットが、前記現在のピクチャの少なくとも一部分に関連するスライスヘッダと、前記現在のピクチャに関連するピクチャパラメータセットと、前記ピクチャに関連するシーケンスパラメータセットとのうちの1つまたは複数において指定される任意の他のピクチャ順序カウント値から前記ピクチャ順序カウント値を一意に識別する、C61に記載のビデオ復号デバイス。
[C63]
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを決定するための前記手段が、前記符号化されたビデオデータを表すビットストリームから、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットをパースするための手段を備え、
前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最上位ビットを決定するための前記手段が、前記ビットストリームから、前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最上位ビットをパースするための手段を備える、C61に記載のビデオ復号デバイス。
[C64]
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを決定するための前記手段が、前記現在のピクチャの少なくとも前記一部分に関連するスライスヘッダと、ピクチャパラメータセットと、シーケンスパラメータセットとのうちの1つまたは複数から、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットをパースするための手段を備える、C61に記載のビデオ復号デバイス。
[C65]
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最上位ビットを決定するための前記手段が、前記現在のピクチャの少なくとも前記一部分に関連するスライスヘッダと、ピクチャパラメータセットと、シーケンスパラメータセットとのうちの1つまたは複数から、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最上位ビットをパースするための手段を備える、C61に記載のビデオ復号デバイス。
[C66]
前記ピクチャ順序カウント値が、前記現在のピクチャを識別するピクチャ順序カウント値と、前記現在のピクチャの少なくとも前記一部分を符号化するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値との間の差異として計算されるデルタピクチャ順序カウント値を備える、C61に記載のビデオ復号デバイス。
[C67]
実行されたとき、ビデオ復号デバイスの1つまたは複数のプロセッサに、
符号化されたビデオデータの現在のピクチャについて、前記現在のピクチャの少なくとも一部分を復号するときに使用されるべき長期間参照ピクチャを識別するピクチャ順序カウント値の1つまたは複数の最下位ビットを決定することであって、前記1つまたは複数の最下位ビットが、前記長期間参照ピクチャも記憶される復号ピクチャバッファ中に存在する任意の他のピクチャを識別する任意の他のピクチャ順序カウント値の前記1つまたは複数の最下位ビットに関する前記長期間参照ピクチャの前記ピクチャ順序カウント値を一意に識別せず、前記1つまたは複数の最下位ビットの数が前記1つまたは複数の最上位ビットの数に加算されると、前記ピクチャ順序カウント値を指定するために総ビット数よりも小さい合計を生じる、決定することと、
前記ピクチャ順序カウント値の1つまたは複数の最上位ビットを決定することであって、前記決定された1つまたは複数の最下位ビットと組み合わせた前記1つまたは複数の最上位ビットが、前記ピクチャ順序カウント値と前記復号ピクチャバッファ中で任意の他のピクチャを識別する任意の他のピクチャ順序カウント値とを区別するのに十分である、決定することと、
前記ピクチャ順序カウント値の前記決定された1つまたは複数の最下位ビットと前記ピクチャ順序カウント値の前記決定された1つまたは複数の最上位ビットとに基づいて前記復号ピクチャバッファから前記長期間参照ピクチャを取り出すことと、
前記取り出された長期間参照ピクチャを使用して前記現在のピクチャの少なくとも前記一部分を復号することと
を行わせる命令を記憶した非一時的コンピュータ可読記憶媒体。
[C68]
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウントの前記決定された1つまたは複数の最下位ビットが、前記現在のピクチャの少なくとも一部分に関連するスライスヘッダと、前記現在のピクチャに関連するピクチャパラメータセットと、前記ピクチャに関連するシーケンスパラメータセットとのうちの1つまたは複数において指定される任意の他のピクチャ順序カウント値から前記ピクチャ順序カウント値を一意に識別する、C67に記載の非一時的コンピュータ可読記憶媒体。
[C69]
実行されたとき、前記1つまたは複数のプロセッサに、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを決定することを行わせる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、前記符号化されたビデオデータを表すビットストリームから、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットをパースすることを行わせる命令を備え、
実行されたとき、前記1つまたは複数のプロセッサに、前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最上位ビットを決定することを行わせる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、前記ビットストリームから、前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最上位ビットをパースすることを行わせる命令を備える、C67に記載の非一時的コンピュータ可読記憶媒体。
[C70]
実行されたとき、前記1つまたは複数のプロセッサに、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを決定することを行わせる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、前記現在のピクチャの少なくとも前記一部分に関連するスライスヘッダと、ピクチャパラメータセットと、シーケンスパラメータセットとのうちの1つまたは複数から、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットをパースすることを行わせる命令を備える、C67に記載の非一時的コンピュータ可読記憶媒体。
[C71]
実行されたとき、前記1つまたは複数のプロセッサに、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最上位ビットを決定することを行わせる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、前記現在のピクチャの少なくとも前記一部分に関連するスライスヘッダと、ピクチャパラメータセットと、シーケンスパラメータセットとのうちの1つまたは複数から、前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最上位ビットをパースすることを行わせる命令を備える、C67に記載の非一時的コンピュータ可読記憶媒体。
[C72]
前記ピクチャ順序カウント値が、前記現在のピクチャを識別するピクチャ順序カウント値と、前記現在のピクチャの少なくとも前記一部分を符号化するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値との間の差異として計算されるデルタピクチャ順序カウント値を備える、C67に記載の非一時的コンピュータ可読記憶媒体。
[C73]
実行されたとき、前記1つまたは複数のプロセッサに、
前記現在のピクチャの少なくとも前記一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用されるビット数を決定することと、
前記符号化されたビデオデータを表すビットストリームから前記決定されたビット数をパースすることであって、前記パースされ決定されたビット数が、前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表す、パースすることと
を行わせる命令をさらに記憶した、C67に記載の非一時的コンピュータ可読記憶媒体。
[C74]
前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値が、前記復号ピクチャバッファ中に存在するが、前記現在のピクチャに関連するシーケンスパラメータセットにおいて1つまたは複数の長期間参照ピクチャとして指定されない長期間参照ピクチャを識別するピクチャ順序カウント値を備える、C73に記載の非一時的コンピュータ可読記憶媒体。
[C75]
前記パースされ決定されたビット数が、符号なし2進数として前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記最下位ビットを表す、C73に記載の非一時的コンピュータ可読記憶媒体。
[C76]
実行されたとき、前記1つまたは複数のプロセッサに、前記現在のピクチャの少なくとも一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記ビット数を決定することを行わせる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、前記ビットストリームから前記現在のピクチャの少なくとも一部分を復号するときに使用されるべき前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記ビット数をパースすることを行わせる命令を備える、C73に記載の非一時的コンピュータ可読記憶媒体。
[C77]
実行されたとき、前記1つまたは複数のプロセッサに、前記ビット数を決定することを行わせる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、前記ビットストリームから、前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用される前記決定されたビット数をパースする必要なしに、前記ビデオデータの前記現在のピクチャと前に符号化されたピクチャとのうちの1つまたは複数について前に決定されたシンタックス要素に基づいて前記長期間参照ピクチャを識別する前記ピクチャ順序カウント値の前記1つまたは複数の最下位ビットを表すために使用されるべき前記ビット数を決定することを行わせる命令を備える、C73に記載の非一時的コンピュータ可読記憶媒体。