(81)【指定国】
AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JO,JP,KE,KG,KH,KN,KP,KR,KW,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT
ビデオ処理方法は、現在のビデオブロックのコード化された表現から現在のビデオブロックへの転換中に、現在のビデオブロックの最後の非ゼロ係数の位置をチェックするステップであって、前記位置は、現在のビデオブロックの左上位置に対して相対的であるステップと、前記位置に基づいて、コード化された表現における変換情報を信号化する構文要素を構文解析するかどうかを決定するステップとを含む。
前記転換は、構文要素に従った変換を前記現在のビデオブロックの脱量子化された残差係数値の結果に適用することを含む、請求項2〜4のうちのいずれかに記載の方法。
前記位置は、座標(LastX、LastY)によって表され、前記コード化された表現は、LastX≦Th0及びLastY≦Th1の故に、前記変換情報を信号化する構文要素を含まず、ここで、Th0及びTh1は、数字である、請求項1に記載の方法。
前記コード化された表現は、LastX≦Th0又はLastY≦Th1の故に、前記変換情報を信号化する構文要素を含まず、ここで、Th0及びTh1は、数字である、請求項1に記載の方法。
Th0及びTh1は、シーケンスパラメータセットレベル、画像パラメータセットレベル、スライスヘッダレベル、画像ヘッダレベル、コード化ユニットレベルのグループ、コード化ツリーユニットレベル、又はコード化ツリーブロックレベルで信号化される、請求項1に記載の方法。
前記現在のビデオブロックが正方形ブロックであるならば、Th0及びTh1は等しいと決定され、前記現在のビデオブロックの幅が前記現在のビデオブロックの高さよりも大きいならば、Th0>Th1を有すると決定され、他の場合には、Th0がTh1よりも小さいと決定される、請求項6又は7に記載の方法。
前記変換情報が前記コード化された表現において信号化されていないとき、前記転換は、二次変換を使用しないで前記転換を実行することを含む、請求項1〜19のうちのいずれかに記載の方法。
LastX≦Th0及びLastY≦Th1の故に、前記コード化された表現は、前記転換中に離散コサイン変換(DCT−II)の適用を信号化する構文要素を有さない、請求項6〜19項のうちのいずれかに記載の方法。
LastX≦Th0又はLastY≦Th1の故に、前記コード化された表現は、前記転換中に離散コサイン変換(DCT−II)の適用を信号化する構文要素を有さない、請求項6〜19のうちのいずれかに記載の方法。
前記転換は、一次変換情報が信号化されない場合に、離散コサイン変換(DCT−II)を前記現在のビデオブロックの脱量子化された係数に適用することを含む、請求項18〜20のうちのいずれかに記載の方法。
前記変換情報によって示される変換が、前記転換中の結果として得られる変換された残差係数値を量子化する前に、残差係数値に適用される、請求項25〜27のうちのいずれかに記載の方法。
前記位置は、座標(LastX,LastY)によって表され、前記コード化された表現は、LastX≦Th0及びLastY≦Th1の故に、前記変換情報を信号化する前記構文要素を有さず、ここで、Th0及びTh1は、数字である、請求項25に記載の方法。
前記コード化された表現は、LastX≦Th0又はLastY≦Th1の故に、前記変換情報を信号化する前記構文要素を有さず、ここで、Th0及びTh1は、数字である、請求項25に記載の方法。
Th0及びTh1は、シーケンスパラメータセットレベル、画像パラメータセットレベル、スライスヘッダレベル、画像ヘッダレベル、コード化ユニットレベルのグループ、コード化ツリーユニットレベル、又はコード化ツリーブロックレベルで信号化される、請求項32に記載の方法。
前記現在のビデオブロックが正方形のブロックであるならば、Th0及びTh1は等しいと決定され、前記現在のビデオブロックの幅が前記現在のビデオブロックの高さよりも大きいならば、Th0>Th1を有すると決定され、そうでない場合には、Th0がTh1よりも小さいと決定される、請求項29〜30のうちのいずれかに記載の方法。
前記変換情報が前記コード化された表現において信号化されないとき、前記転換は、二次変換を使用しないで前記転換を実行することを含む、請求項25〜43のうちのいずれかに記載の方法。
前記現在のビデオブロックの前記最後の非ゼロ係数の前記位置は、前記現在のビデオブロックの係数の順走査順序における位置である、請求項1〜45のうちのいずれかに記載の方法。
コードを格納したコンピュータプログラムであって、前記コードは、実行後に、プロセッサに請求項1〜47のうちの1つ以上に記載の方法を実装させる、コンピュータプログラム。
【発明を実施するための形態】
【0058】
より高解像度のビデオについての要求の増大の故に、ビデオ符号化(video coding)方法及び技術が、現代の技術では至るところに存在している。ビデオコーデック(video codecs)は、典型的には、デジタルビデオを圧縮又は解凍する電子回路又はソフトウェアを含み、より高い符号化効率を提供するために絶えず改良されている。ビデオコーデックは、圧縮されていないビデオを圧縮されたフォーマットに転換し(converts)、逆もまた同じである。ビデオ品質、(ビットレートによって決定される)ビデオを表現するために使用されるデータの量、符号化及び復号化アルゴリズムの複雑さ、データ損失及びエラーに対する感受性、編集の容易さ、ランダムアクセス、及びエンド・ツー・エンド遅延(待ち時間)の間には、複雑な関係がある。圧縮フォーマットは、通常、標準的なビデオ圧縮仕様、例えば、(H.265又はMPEG−H Part 2としても知られる)高効率ビデオ符号化(HEVC:High Efficiency Video Coding)規格、最終化されるべき汎用ビデオ符号化(VVC:Versatile Video Coding)規格、又は他の現在及び/又は将来のビデオ符号化規格に準拠している。
【0059】
開示される技術の実施形態は、圧縮性能を向上させるために、既存のビデオ符号化規格(例えば、HEVC、H.265)及び将来の規格に適用されてよい。本文書では、セクション見出しが、記述の可読性を向上させるために使用されるが、議論又は実施形態(及び/又は実装)をそれぞれのセクションのみに如何様にも限定しない。
【0060】
1.HEVC/H.265における相互予測の例
ビデオ符号化規格は、長年に亘って有意に改良されており、今や、部分的には、高い符号化効率及びより高解像度のためのサポートを提供している。HEVC及びH.265のような最近の規格は、変換コード化(transform coding)に加えて時間的予測が利用されるハイブリッドビデオ符号化構造に基づいている。
【0061】
1.1 予測モードの例
各々の相互予測される(inter-predicted)PU(予測ユニット(prediction unit))は、1つ又は2つの参照画像リスト(reference picture lists)のための運動パラメータ(motion parameters)を有する。幾つかの実施形態において、運動パラメータは、運動ベクトル(motion vector)と、参照画像指数(参照画像インデックス)(reference picture index)とを含む。他の実施形態において、2つの参照画像リストのうちの1つの参照画像の使用は、inter_pred_idcを使用して信号化されて(signaled)よい。更に他の実施形態において、運動ベクトルは、予測子(predictors)に対するデルタ(deltas)として明示的に符号化されてよい。
【0062】
符号化ユニット(CU)がスキップモード(skip mode)で符号化されるときに、1つのPUがCUと関連付けられ、有意な残差係数(residual coefficients)がなく、符号化された運動ベクトルデルタ又は参照画像指数がない。マージモード(merge mode)が、現在のPUのための運動パラメータが、空間的候補及び時間的候補を含む隣接するPUから取得されるように、指定される。マージモードは、スキップモードだけでなく、任意の相互予測PUに適用されることができる。マージモードの代替は、運動ベクトル、各参照画像リストについての対応する参照画像指数、及び参照画像リスト使用が各々のPU毎に明示的に信号化される、運動パラメータの明示的な伝送である。
【0063】
信号化(signaling)が、2つの参照画像リストのうちの1つが使用されるべきであることを示すときに、PUは、サンプルの1つのブロックから生成される。これは「単一予測(uni-prediction)」と呼ばれる。P−スライス(P-slices)及びB−スライス(B-slices)の両方について単一予測が可能である。
【0064】
信号化が、参照画像リストの両方が使用されるべきであることを示すときに、PUは、サンプルの2つのブロックから生成される。これを「双予測(bi-prediction)」を称する。双予測は、B−スライスのみについて利用可能である。
【0065】
1.1.1 マージモードのための候補を構築する実施形態
PUがマージモードを使用して予測されるときに、マージ候補リスト内のエントリを指す指数(インデックス)がビットストリームから構文解析され(parsed)、運動情報を検索するために使用される。このリストの構造は、以下の一連のステップに従って要約されることができる
【0068】
ステップ1.2:空間的候補についての冗長性チェック
【0073】
図1は、上記で要約した一連のステップに基づいてマージ候補リストを構築する例を示している。空間的マージ候補導出のために、最大4つのマージ候補が5つの異なる位置に配置される候補の中から選択される。時間的マージ候補導出のために、最大1つのマージ候補が2つの候補の中から選択される。各PUについて一定数の候補がデコーダ(復号器)で推定されるので、候補の数がスライスヘッダ(slice header)で信号化される最大数のマージ候補(MaxNumMergeCand)に達しないときに、追加的な候補が生成される。候補の数は一定であるので、最良のマージ候補の指数は、切り捨てられた単項(TU:truncated unary)二値化を用いて符号化される。CUのサイズが8に等しいならば、現在のCUの全てのPUは、2N×2N予測ユニットのマージ候補リストと同一である単一のマージ候補リストを共有する。
【0074】
1.1.2 空間的マージ候補の構築
空間マージ候補の導出では、最大4つのマージ候補が
図2に示す位置に配置される候補の中から選択される。導出の順序は、A
1、B
1、B
0、A
0、及びB
2である。位置B2は、位置A
1、B
1、B
0、A
0の任意のPUが(例えば、それが別のスライス又はタイルに属する故に)利用可能でないか或いはイントラコード化されている(intra-coded)ときにのみ考慮される。位置A1で候補が追加された後に、残りの候補の追加は、冗長性チェックの対象となり、冗長性チェックは、同じ運動情報を有する候補がリストから除外されることを保証するので、符号化効率が向上させられる。
【0075】
計算の複雑さを低減するために、全ての可能な候補ペアが前述の冗長性チェックにおいて考慮されるわけではない。むしろ、
図3において矢印でリンクされたペアのみが考慮され、冗長性チェックのために使用される対応する候補が同じ運動情報を持たない場合にのみ候補がリストに追加される。重複運動情報の別のソースは、2N×2Nとは異なる仕切り(パーティション)と関連付けられた「第2のPU(second PUS)」である。一例として、
図4A及び
図4Bは、それぞれ、N×2N及び2N×Nの場合についての第2のPUを示している。現在のPUがN×2Nに仕切られるとき、位置A
1にある候補は、リスト構築のために考慮されない。幾つかの実施形態において、この候補を追加することは、同じ運動情報を有する2つの予測ユニットをもたらすことがあり、それは符号化ユニット内に1つのPUだけを有するように冗長である。同様に、現在のPUが2N×Nとして仕切られるとき、位置B
1は考慮されない。
【0076】
1.1.3 時間的マージ候補の構築
このステップでは、1つの候補のみがリストに追加される。特に、この時間的マージ候補の導出では、スケーリングされた運動ベクトルが、所与の参照画像リスト内の現在の画像との最小のPOC差を有する画像に属する同じ位置に配置されるPUに基づいて導出される。同じ位置に配置されるPUの導出のために使用されるべき参照画像リストは、スライスヘッダ内で明示的に信号化される。
【0077】
図5は、(点線として)時間的マージ候補についてのスケーリングされた運動ベクトルの導出の例を示してより、運動ベクトルは、POC距離、tb及びtdを用いて、同じ場所に配置されるPUの運動ベクトルからスケーリングされ、ここで、tbは、現在の画像の参照画像と現在の画像との間のPOC差であると定義され、tdは、同じ場所に配置される画像の参照画像と同じ場所に配置される画像との間のPOC差であると定義される。時間的マージ候補の参照画像指数は、ゼロに設定される。B−スライスについて、2つの運動ベクトル、一方は参照画像リスト0のための運動ベクトル、他方は参照画像リスト1のための運動ベクトルが取得されて組み合わされて、双予測マージ候補を作成する。
【0078】
参照フレームに属する同じ場所に配置されるPU(Y)において、時間的候補のための位置は、
図6に示すように、候補C
0と候補C
1との間で選択される。C
0の位置にあるPUが利用可能でないならば、イントラコード化されているならば、或いは現在のCTUの外側にあるならば、位置C
1が使用される。さもなければ、位置C
0は、時間的マージ候補の導出において使用される。
【0079】
1.1.4 追加的なタイプのマージ候補の構築
空間的‐時間的マージ候補の他に、2つの追加的なタイプのマージ候補、すなわち、組み合わされた双予測マージ候補及びゼロマージ候補がある。組み合わされた双予測マージ候補は、空間的−時間的マージ候補を利用することによって生成される。組み合わされた双予測マージ候補は、B−スライスのみのために使用される。組み合わされた双予測候補は、初期候補の第1の参照画像リスト運動パラメータを別の候補の第2の参照画像リスト運動パラメータと組み合わされることによって生成される。これらの2つのタプルが異なる運動仮説を提供するならば、それらは新しい双予測候補を形成する。
【0080】
図7は、このプロセスの例を示しており、そこでは、mvL0及びrefIdxL0又はmvL1及びrefIdxL1を有する、元のリスト(左側にある710)中の2つの候補が、最終リスト(右側にある720)に追加された組み合わされた双予測マージ候補を作成するために使用される。
【0081】
マージ候補リストの残余のエントリを満たし、従って、MaxNumMergeCand容量に達するために、ゼロモーション候補が挿入される。これらの候補は、ゼロ空間的変位と、ゼロから始まり、新しいゼロ運動候補がリストに追加される毎に増加する、参照画像指数とを有する。これらの候補によって使用される基準フレームの数は、1方向予測及び2方向予測のために、それぞれ、1及び2である。幾つかの実施形態において、冗長性チェックは、これらの候補に対して行われない。
【0082】
1.1.5 並列処理のための運動推定領域の例
符号化プロセスを高速化するために、運動推定を並列に実行することができ、それによって、所与の領域内の全ての予測ユニットについての運動ベクトルが同時に導出される。空間的な近傍からのマージ候補の導出は、並列処理と干渉することがある。何故ならば、1つの予測ユニットは、その関連する運動推定が完了するまで、隣接するPUから運動パラメータを導出し得ないからである。符号化効率と処理待ち時間との間のトレードオフを緩和するために、運動推定領域(MER)が定義されることがある。MERのサイズは、「log2_paralle_merge_level_minus2」構文要素(syntax element)を使用して、画像パラメータセット(PPS)において信号化されてよい。MERが定義されるとき、同じ領域に入るマージ候補は、利用可能でないとして印され、従って、リスト構成において考慮されない。
【0083】
1.2 先進運動ベクトル予測(AMVP)の実施形態
AMVP符号化モードは、運動パラメータの明示的な伝送のために使用される、隣接するPUとの運動ベクトルの空間的−時間的相関を利用する。それは、先ず、左及び上の時間的に隣接するPU位置の利用可能性をチェックし、冗長候補を除去し、そして、ゼロベクトルを加えて、候補リストを一定の長さにすることによって、運動ベクトル候補リストを構築する。次に、エンコーダは、候補リストから最良の予測子を選択し、選択された候補を示す対応する指数を送信することができる。同様に、マージ指数信号化で、最良の運動ベクトル候補の指数が、切り捨てられた単項を用いて符号化される。この場合に符号化されるべき最大値は2である(
図8を参照)。次節では、運動ベクトル予測候補の導出プロセスについての詳細を示す。
【0084】
1.2.1 運動ベクトル予測候補の構築の例
図8は、運動ベクトル予測候補のための導出プロセスを要約しており、入力としてrefidxを用いて各参照画像リストについて実装されてよい。
【0085】
運動ベクトル予測では、2つのタイプの運動ベクトル候補、すなわち、空間的運動ベクトル候補及び時間的運動ベクトル候補が考察される。空間的運動ベクトル候補導出のために、2つの運動ベクトル候補が、最終的に、
図2に先に示したように、5つの異なる位置に配置される各PUの運動ベクトルに基づいて導出される。
【0086】
時間的運動ベクトル候補導出のために、1つの運動ベクトル候補が2つの候補から選択され、2つの候補は、2つの異なる同じ場所に配置される位置に基づいて導出される。空間的−時間的候補の第1のリストが作成された後に、リスト中の重複した運動ベクトル候補が削除される。潜在的な候補の数が2よりも多いならば、関連する参照画像リスト内のその参照画像指数が1よりも大きい運動ベクトル候補がリストから削除される。空間的−時間的な運動ベクトル候補の数が2より少ないならば、追加的なゼロ運動ベクトル候補がリストに追加される。
【0087】
1.2.2 空間的な運動ベクトル候補の構築
空間的な運動ベクトル候補の導出では、最大2つの候補が5つの潜在的な候補の中で考慮され、それらの5つの潜在的な候補は、先に
図2に示したような位置に配置されるPUから導出され、それらの位置は、運動マージの位置と同じである。現在のPUの左側についての導出の順序は、A0、A1、及びスケーリングされたA0、スケーリングされたA1として定義される。現在のPUの上側についての導出の順序は、B0、B1、B2、及びスケーリングされたB0、スケーリングされたB1、スケーリングされたB2として定義される。従って、各側について、運動ベクトル候補として使用できる4つのケース、すなわち、空間スケーリングを使用することを必要としない2つのケース及び空間的スケーリングが使用される2つのケースがある。4つの異なるケースは、以下のように要約される。
【0089】
(1)同じ参照画像リスト及び同じ参照画像指数(同じPOC)
【0090】
(2)異なる参照画像リストであるが、同じ参照画像(同じPOC)
【0092】
(3)同じ参照画像リストであるが、異なる参照画像(異なるPOC)
【0093】
(4)異なる参照画像リスト及び異なる参照画像(異なるPOC)
【0094】
空間的スケーリングのないケースが先ずチェックされ、次に、空間的スケーリングを可能にするケースがチェックされる。空間的スケーリングは、POCが、参照画像リストにかかわらず、隣接するPUの参照画像と現在のPUの参照画像との間で異なるときに考慮される。左候補の全てのPUが利用可能でないか或いはイントラコード化されているならば、左及び上のMV候補の並列導出を助けるために、上記運動ベクトルについてのスケーリングが許容される。さもなければ、空間的スケーリングは、上記運動ベクトルについて許容されない。
【0095】
図9の例に示すように、空間的スケーリングの場合について、隣接するPUの運動ベクトルは、時間的スケーリングと同様にスケーリングされる。1つの相違は、現在のPUの参照画像リスト及び指数が入力として与えられることであり、実際のスケーリングプロセスは、時間的スケーリングと同じである。
【0096】
1.2.3 時間的運動ベクトル候補の構築
参照画像指数導出とは別に、時間的マージ候補の導出のための全てのプロセスは、(
図6の例に示されるような)空間的運動ベクトル候補の導出のためのプロセスと同じである。幾つかの実施形態において、参照画像指数は、デコーダに信号化される。
【0097】
2. 共同調査モデル(JEM)における相互予測方法の例
幾つかの実施態様では、共同調査モデル(JEM:Joint Exploration Model)として知られる参照ソフトウェアを用いて、将来のビデオ符号化技術が調査される(explored)。JEMでは、サブブロックベースの予測が、アフィン予測(affine prediction)、代替時間的運動ベクトル予測(ATMVP:alternative temporal motion vector prediction)、空間的−時間的運動ベクトル予測(STMVP:spatial-temporal motion vector prediction)、双方向光学フロー(BIO:bi-directional optical flow)、フレームレートアップ転換(FRUC:Frame-Rate Up Conversion)、局所適応運動ベクトル解像度(LAMVR:Locally Adaptive Motion Vector Resolution)、重複ブロック運動補償(OBMC:Overlapped Block Motion Compensation)、局所照明補償(LIC:Local Illumination Compensation)、デコーダ側運動ベクトル精緻化(DMVR:Decoder-side Motion Vector Refinement)のような、幾つかの符号化ツールにおいて採用される。
【0098】
2,1 サブCUベースの運動ベクトル予測の例
四進木及び二進木(QTBT)を有するJEMでは、各CUが、各予測方向について最大1セットの運動パラメータを有し得る。幾つかの実施形態では、2つのサブCUレベルの運動ベクトル予測方法が、大きなCUをサブCUに分割して、大きいCUの全てのサブCUについての運動情報を導出することによって、エンコーダにおいて考慮される。代替時間的運動ベクトル予測(ATMVP)法は、各CUが、同じ場所に配置される参照画像における現在のCUよりも小さい複数のブロックから複数のセットの運動情報をフェッチする(取り出す)(fetch)ことを可能にする。空間的‐時間的運動ベクトル予測(STMVP)法において、サブCUの運動ベクトルは、時間的運動ベクトル予測子及び空間的隣接運動ベクトルを用いることによって再帰的に導出される。幾つかの実施形態では、サブCU運動予測のためにより正確な運動場を保存するために、基準フレームについての運動圧縮が無効にされてよい。
【0099】
2.1.1 代替時間的運動ベクトル予測(ATMVP)の例
ATMVP法において、時間的運動ベクトル予測(TMVP)法は、現在のCUより小さいブロックから複数のセットの(運動ベクトル及び基準指数を含む)運動情報をフェッチすることによって修正される。
【0100】
図10は、現在の画像1000におけるCUについてのATMVP運動予測処理の例を示している。ATMVP法は、CU1002内のサブCU1001の運動ベクトルを2つのステップで予測する。第1のステップは、時間的ベクトルを有する参照画像1050内の対応するブロック1051を識別することである。参照画像1050を運動ソース画像とも称する。第2のステップは、現在のCU1002をサブCU1001に分割し、各サブCUに対応するブロックから各サブCUの運動ベクトル及び参照指数を取得することである。
【0101】
第1のステップでは、参照画像1050及び対応するブロックは、現在のCU 1002の空間的に隣接するブロックの運動情報によって決定される。隣接ブロックの繰り返し走査処理を回避するために、現在のCU1000のマージ候補リスト中の第1のマージ候補が使用される。第1の利用可能な運動ベクトル及びその関連する参照指数は、時間的ベクトル及び運動ソース画像への指数であるように設定される。このようにして、対応するブロックは、TMVPと比較されて、より正確に識別されることがあり、ここで、(同じ場所に配置されたブロックと称することもある)対応するブロックは、常に、現在のCUに対して右下又は中央の位置にある。
【0102】
第2のステップでは、サブCU1051の対応するブロックが、現在のCUの座標に時間的ベクトルを加えることによって、運動ソース画像1050内の時間的ベクトルによって識別される。各サブCUについて、対応するブロックの運動情報(例えば、中心サンプルをカバーする最小の運動グリッド)は、サブCUについての運動情報を導出するために使用される。対応するN×Nブロックの運動情報が識別された後に、それは、運動スケーリング及びその他の手順が適用されるHEVCのTMVPと同じ方法において、現在のサブCUの運動ベクトル及び参照指数に変換される。例えば、デコーダは、低遅延条件(例えば、現在の画像の全ての参照画像のPOCが現在の画像のPOCよりも小さい)が満たされているかどうかをチェックし、各サブCUについて(例えば、Xが0又は1に等しく、Yが1−Xに等しい)運動ベクトルMVyを予測するために、場合によっては、運動ベクトルMVx(例えば、参照画像リストXに対応する運動ベクトル)を使用する。
【0103】
2.1.2 空間的−時間的運動ベクトル予測(STMVP)の例
STMVP法において、サブCUの運動ベクトルは、ラスタ走査順序に従って再帰的に導出される。
図11は、4つのサブブロック及び隣接するブロックを有する1つのCUの例を示している。4つの4×4のサブCU、すなわち、サブCU A(1101)、サブCU B(1102)、サブCU C(1103)、及びサブCU D(1104)を含む、8×8のCU1100を考える。現在のフレーム内の隣接する4×4ブロックは、a(1111)、b(1112)、c(1113)、及びd(1114)としてラベル付けされている。
【0104】
サブCU Aについての運動導出は、その2つの空間的隣接物を識別することによって開始する。第1の隣接物は、サブCU A 1101より上のN×Nブロック(ブロックc 1113)である。このブロックc(1113)が利用可能でないか或いはイントラコード化されているならば、サブCU A(1101)より上の他のN×Nブロックが(ブロックc 1113で開始して左から右に)チェックされる。第2の隣接物は、サブCU A 1101の左側のブロック(ブロックb 1112)である。ブロックb(1112)が利用可能でないか或いはイントラコード化されているならば、サブCU A 1101の左側の他のブロックが(ブロックb 1112で開始して上から下に)チェックされる。各リストについて隣接ブロックから取得される運動情報は、所与のリストについて第1の基準フレームにスケーリングされる。次に、サブブロックA 1101の時間的運動ベクトル予測子(TMVP)は、HEVCで規定されるのと同じTMVP導出手順に従うことによって導出される。ブロックD 1104における同じ場所に配置されたブロックの運動情報は、相応してフェッチされ、スケーリングされる。最後に、運動情報を検索し、スケーリングした後に、全ての利用可能な運動ベクトルは、各参照リストについて別個に平均化される。平均化された運動ベクトルは、現在のサブCUの運動ベクトルとして割り当てられる。
【0105】
2.1.3 サブCU予測モードスケーリングの例
幾つかの実施形態において、サブCUモードは、追加的なマージ候補として有効にされ(enabled)、モードを信号化するのに必要とされる追加的な構文要素はない。ATMVPモード及びSTMVPモードを表すために、2つの追加マージ候補が各CUのマージ候補リストに追加される。他の実施形態では、シーケンスパラメータセットがATMVP及びSTMVPが有効にされていることを示すならば、最大7つのマージ候補が使用されてよい。追加のマージ候補の符号化論理は、HM内のマージ候補の場合と同じであり、それは、Pスライス又はBスライス内の各CUについて、2つのRDチェックが2つの追加のマージ候補について必要とされる場合があることを意味する。幾つかの実施形態、例えば、JEMにおいて、マージ指数の全てのビンは、CABAC(コンテキストベースの適応バイナリ算術符号化)によってコンテキストコード化される。他の実施形態、例えば、HEVCでは、第1のビンのみがコンテキストコード化され、残余のビンはコンテキストバイパスコード化される。
【0106】
2.2 適応運動ベクトル差分解能の例
幾つかの実施形態では、use_integer_mv_flagがスライスヘッダにおいて0に等しいとき、(PUSの運動ベクトルと予測される運動ベクトルとの間の)運動ベクトル差(MVD)は、4分の1輝度サンプル(quarter luma samples)の単位で信号化される。JEMでは、局所適応運動ベクトル分解能(LAMVR:locally adaptive motion vector resolution)が導入される。JEMにおいて、MVDは、4分の1輝度サンプル、整数輝度サンプル(integer luma samples)、又は4輝度サンプル(four luma samples)の単位でコード化されることができる。MVD分解能は、符号化ユニット(CU)レベルで制御され、MVD分解能フラグは、少なくとも1つのゼロでないMVD成分を有する各CUについて条件付きで信号化される。
【0107】
少なくとも1つのゼロでないMVDコンポーネントを有するCUについて、第1のフラグが、4分の1輝度サンプルMV精度がCUにおいて使用されているかどうかを示すために信号化される。(1に等しい)第1のフラグが、4分の1輝度サンプルMV精度が使用されていないことを示すときには、別のフラグが、整数輝度サンプルMV精度又は4輝度サンプルMV精度が使用されているかどうかを示すために信号化される。
【0108】
CUの第1のMVD分解能フラグがゼロであるか或いはCUについてコード化されていない(CU内の全てのMVDがゼロであることを意味する)とき、4分の1輝度サンプルMV分解能はCUについて使用される。CUが整数輝度サンプルMV精度又は4輝度サンプルMV精度を使用するとき、CUについてのAMVP候補リスト中のMVPは、対応する精度に丸められる。
【0109】
エンコーダ内で、どのMVD分解能がCUについて使用されるべきかを決定するために、CUレベルRDチェックが使用される。すなわち、CUレベルRDチェックは、各MVD分解能について3回行われる。エンコーダ速度を加速するために、以下の符号化スキームがJEMにおいて適用される。
【0110】
−−通常の4分の1輝度サンプルMVD分解能を持つCUのRDチェック中に、現在のCUの運動情報(整数輝度サンプル精度)が格納される。格納された運動情報は(丸み付け後に)、整数輝度サンプル及び4輝度サンプルMVD分解能を持つ同じCUについてのRDチェック中に、更に小さな範囲の運動ベクトル精緻化のための出発点として使用されるので、時間のかかる運動推定プロセスが3回重複しない。
【0111】
−−4輝度サンプルMVD分解能を持つCUのRDチェックは、条件付きで呼び出される(invoked)。CUについて、RDコスト整数輝度サンプルMVD分解能は、4分の1輝度サンプルMVD分解能よりも遙かに大きいときに、CUについての4輝度サンプルMVD分解能のRDチェックはスキップされる。
【0112】
2.3 より高い運動ベクトル格納精度の例
HEVCにおいて、運動ベクトルの精度は、4分の1ピクセル(pel)(4:2:0ビデオについて4分の1輝度サンプル及び8分の1彩度サンプル)である。JEMにおいて、内部運動ベクトル格納及びマージ候補についての精度は、1/16ピクセルに増加する。より高い運動ベクトル精度(1/16ピクセル)が、スキップ/マージモードで符号化されたCUについての運動補償相互予測において使用される。通常のAMVPモードでコード化されたCUについて、整数ピクセル運動又は4分の1ピクセル運動のいずれかが使用される。
【0113】
HEVC運動補償補間フィルタと同じフィルタ長と正規化係数とを有するSHVCアップサンプリング(upsampling)補間フィルタが、追加的な分数ピクセル位置についての運動補償補間フィルタとして使用される。彩度成分運動ベクトル精度は、JEM内の1/32サンプルであり、1/32ピクセル分数位置の追加的な補間フィルタが、2つの隣接する1/16ピクセル分数位置のフィルタの平均を用いて導出される。
【0114】
3.JEMにおける変換設計の例
JEMには2つの異なる種類の変換がある。1つは、一次変換としても扱われる適応多重コア変換(AMT:adaptive multiple core transform、多重変換選択(MTS:Multiple Transform Selection)としても知られる)と称され、他の1つは、分離不能二次変換(NSST(non-separable secondary transform)、低周波分離不能変換(Low Frequency Non-Separable Transform)としても知られる)と称される。
【0115】
3.1 適応多重コア変換(AMT)の例
HEVCで用いられてきた(離散コサイン変換)DCT‐II及び4×4(離散サイン変換)DST‐VIIに加えて、適応多重(コア)変換(AMT)スキームが、相互符号化されたブロック及びイントラ符号化されたブロックの両方についての残差コード化(residual coding)のために用いられる。それはHEVC内の現在の変換以外のDCT/DSTファミリから選択された複数の変換を使用する。新しく導入された変換行列(transform matrices)は、DST−VII、DCT−VIII、DST−I及びDCT−Vである。表1は、選択されたDST/DCTの基本関数を示している。
【表1】
【0116】
変換行列の直交性を維持するために、変換行列は、HEVCにおける変換行列よりも正確に量子化される。変換された係数の中間値を16ビットの範囲内に維持するために、水平変換後及び垂直変換後に、全ての係数は、現在のHEVC変換で使用されている右シフトと比較して、2ビットだけ右シフトされる。
【0117】
AMTは、64以下の幅及び高さの両方を有するCUに適用され、AMTが適用されるかどうかは、CUレベルフラグによって制御される。CUレベルフラグ(すなわち、AMTフラグ)が0に等しいときには、剰余(residue)を符号化するために、DCT−IIがCUにおいて適用される。AMTが有効にされたCU内の輝度コード化ブロックについては、使用されるべき水平変換及び垂直変換を識別するために、2つの追加フラグ(例えば、AMT指数)が信号化される。HEVCにおけると同様に、ブロックの剰余は、JEMにおける変換スキップモードでコード化されることができる。構文コード化の冗長性を避けるために、CUレベルAMTフラグがゼロに等しくないときには、変換スキップフラグは信号化されない。
【0118】
イントラ剰余コード化については、異なるイントラ予測モードの異なる剰余統計の故に、モード依存変換候補選択プロセスが使用される。3つの変換サブセットが表2に示すように定義され、変換サブセットは、表3に指定されるように、イントラ予測モードに基づいて選択される。
【表2】
【0119】
サブセット概念を用いて、1に等しいCUレベルAMTフラグを持つCUのイントラ予測モードを用いる表2に基づいて、変換サブセットが先ず識別される。その後、水平変換及び垂直変換の各々について、表3に従った、識別された変換サブセット中の2つの変換候補のうちの1つが、明示的に信号化されたフラグに基づいて選択される。
【表3】
【0120】
しかしながら、相互予測剰余については、DST‐VII及びDCT‐VIIIから成る1つの変換セットみが、全ての相互モードのために並びに水平変換及び垂直変換の両方のために使用される。
【0121】
AMTの複雑性は、エンコーダ側で比較的高い。何故ならば、力ずくの(brute-force)探索が用いられるときに、総計5つ(DCT‐II候補及び4つの多重変換候補)の異なる変換候補が、各剰余ブロックについてのレート歪みコストで評価される必要があるからである。エンコーダにおけるこの複雑性の問題を緩和するために、幾つかの最適化方法がJEMにおけるアルゴリズム加速のために設計される。
【0122】
デコーダでは、各CUレベル符号化モードのために、2パス符号化が適用される。
図21Aに示すように、第1のパスは、CUについてDCT−IIのみを適用することのR−Dコストを検討する一方で(CUレベルフラグは0である)、第2のパスは、CUについて複数の変換を適用することのR−Dコストを更に検討する(CUレベルフラグは1である)。加えて、CUレベル符号化モードは、どのパスが実際に適用されるとしても、比較的一貫していることが観察される。従って、CUのための多重変換パスをチェックするときに、DCT‐IIのみを適用することの統計が収集され、第2の多重変換パスにおいて不必要なR‐D計算をスキップするために使用される。
図21Bに示すように、AMT CUレベルフラグ0を有する特定のCU符号化モードのR−Dコストが、
図21Bにおいて強調表示された条件によって示されるように、特定の閾値の最小R−Dコストを超えるときに、第2のパスは、すなわち、AMT CUレベルフラグ1を有する現在のCU符号化モードでCUを符号化するパスは、スキップされる。
【0123】
3.2 モード依存分離不能二次変換(NSST)
JEMでは、モード依存分離不能二次変換(MDNSST)が、(エンコーダでの)量子化と順方向コア変換との間に、並びに(デコーダでの)逆コア変換と脱量子化との間に適用される。低い複雑性を維持するために、MDNSSTは、一次変換後の低周波数係数に適用されるだけである。変換係数ブロックの幅(W)及び高さ(H)の両方が8以上であるならば、8×8分離不能二次変換が、変換係数ブロックの左上の8×8領域に適用される。さもなければ、変換係数ブロックのW又はHのいずれかが4に等しいならば、4×4の分離不能二次変換が適用され、4×4の分離不能変換は、変換係数ブロックの左上のmin(8,W)×min(8,H)領域に対して実行される。上記の変換選択ルールは、輝度成分及び彩度成分の両方のために適用される。
【0124】
分離不能変換の行列乗算実装は、4×4入力ブロックを例として使用して以下のように記載される。分離不能変換を適用するために、4×4入力ブロックXが使用される。
【0128】
分離不能変換は、
【数3】
として計算され、ここで、
(外2)
は、変換係数ベクトルを表し、
(外3)
は、16×16変換行列である。引き続き、16×1係数ベクトル
(外4)
が、そのブロックについての走査順(水平、垂直、又は対角)を用いて、4×4ブロックとして再編成される。4×4係数ブロックでは、より小さい指数を有する係数が、より小さい走査指数と共に配置される。JEMでは、分離不能変換の複雑さを低減するために、行列乗算の代わりに、蝶実装を伴うハイパーキューブ‐ギブンズ変換(HyGT)が使用される。
【0129】
3.2.1 モード依存変換コア選択
4×4及び8×8ブロックサイズの両方について、全部で35×3の分離不能二次変換があり、ここで、35は、セット(集合)(set)として示されるイントラ予測モードによって指定される変換セットの数であり、3は、各イントラ予測モードのためのNSST候補の数である。イントラ予測モードから変換セットへのマッピングは、
図31に示す表4に定義される。輝度/彩度変換係数に適用される変換セットは、表4に従って、対応する輝度/彩度イントラ予測モードによって指定される。34より大きいイントラ予測モード(対角予測方向)について、変換係数ブロックは、エンコーダ/デコーダにおける二次変換の前後に転置される。
【0130】
各変換セットについて、選択される分離不能二次変換候補は、明示的に信号化されたCUレベルMDNSST指数によって更に指定される。指数は、変換係数及び切り捨てられた単項二値化が使用された後に、内部CU毎に一度ビットストリームにおいて信号化される。切り捨てられた値は、平面モード又はDCモードの場合には2であり、角度イントラ予測モードについては3である。このMDNSST指数は、CU内に1つよりも多くのゼロ係数があるときにのみ信号化される。デフォルト値は、それが信号化されないときにはゼロである。この構文要素のゼロ値は、二次変換が現在のCUに適用されないことを示し、値1−3は、セットからの二次変換が適用されるべきであることを示す。
【0131】
JEMにおいて、MDNSSTは、変換スキップモードでコード化されたブロックについて適用されない。MDNSST指数がCUのために信号化され、ゼロに等しくないとき、MDNSSTは、CUにおいて変換スキップモードでコード化される成分のブロックについて使用されない。全ての成分のブロックを有するCUが変換スキップモードでコード化されるか、或いは非変換スキップモードCBの非ゼロ係数の数が2未満であるとき、MDNSST指数は、CUのために信号化されない。
【0132】
JEMにおいて、MDNSSTは、イントラ予測が生成されるときに、モード依存参照サンプルイントラ平滑化(MDIS)がどのように適用されるかに対する影響も有する。ブロックのMDNSST指数がゼロのとき、MDISは、そのブロックについ無効にされる(すなわち、参照サンプル平滑化はない)。ブロックのMDNSSTインデックスがゼロに等しくないとき、HEVCスタイルMDISは、そのブロックについて適用される。このルールは、PDPCプロセスが適用される平面モードを除く全てのイントラ予測モードについて適用される。JEMにおいて,HEVCにおいて32×32イントラブロックサイズについて適用される強いイントラ平滑化は、無効にされる。
【0133】
エンコーダ側で、CUのためのNSST指数を選択するために、CUレベルRDチェックが使用される。すなわち、イントラコード化されるCUについて、CUレベルRDチェックは、ループ指数としてNSST指数値を使用することによって4回ループされる。エンコーダ速度を加速するために、次の高速方法が使用される。
【0134】
− ループの早期停止が適用される。より大きな値を持つNSST指数RDチェックは、より小さい値を持つNSST指数についての現在のCUに非ゼロ変換係数がないときに、スキップされる。
【0135】
− 参照ソフトウェア内のNSST指数の各々についてのイントラモード決定は、ラフモード決定(RMD)段階と、RDO段階とを含む。RMD段階では、67のイントラ予測モードのうち3つが、SATDコストに基づいて選択される。このプロセスは、4回ではなく、2回(ゼロに等しいNSST指数のために1回及び非ゼロに等しいNSST指数のために1回)適用される。全ての非ゼロNSST指数について、イントラ予測モードについての異なるNSST指数のSATDコストは、同じでなければならない。従って、RMDプロセスは、全ての非ゼロNSST指数について(NSST指数=1として)1回適用されれば十分であり、結果は、他の非ゼロNSST指数について再使用される。
【0136】
3.2.2 HyGTに基づく分離不能変換
ハイパーキューブ‐ギブンズ変換(HyGT)が分離不能二次変換の計算において使用される。この直交変換の基本成分は、以下によって定義される要素を有する、直交行列G(m,n,θ)によって定義される、ギブンズ回転である。
【0138】
これらの変換は、
図22に示すように、グラフで表されることができる。
【0139】
HyGTは、ハイパーキューブ配置においてギブンズ回転のセットを組み合わせることによって実装される。
図23は、16要素(4×4分離不能変換)についてのHyGTの「蝶」形状フローチャートを示している。Nが2の冪乗であると仮定すると、HyGTラウンドは、log2(N)パスのシーケンスとして定義され、各パスにおいて、ベクトルm及びnの指数は、各方向において順次的に、次元log2(N)を有するハイパーキューブのエッジによって定義される。
【0140】
良好な圧縮を得るために、1つよりも多くのHyGTラウンドが使用される。
図24に示すように、完全な分離不能二次変換は、RがHyGTを丸めることで構成され、任意の置換パスを含んで、それらの分散(variance)に従って変換係数を分類してよい。JEMにおいて、2ラウンドHyGTは、4×4二次変換のために適用され、4ラウンドHyGTは、8×8二次変換のために適用される。
【0141】
4.VVCテストモデル(VTM)におけるAMTの例
VTMバージョン2.0を含む幾つかの実施形態では、AMTの簡易バージョンが以下の構成(features)を含むことがある
【0142】
● 各々がSPSフラグによって制御されるイントラ(intra)及び相互(inter)の両方について有効化されるAMT。
【0143】
● 64長のDST−VII及びDCT−VIIIがない(いずれかの次元が32より大きいときに送られるAMT構文がない)。
【0145】
● DCT−II、DST−VII及びDCT−VIIIのみ
【0146】
● 全ての変換が10ビット係数を有するべきである。
【0147】
● 非ゼロ係数の数が2より大きいときにオンであるように条件付けられる。
【0148】
○ 両方向におけるDCT2のためのフラグ、もしそうでなければ、
【0149】
・ 水平のためのフラグがDST−VII対DCT−VIII。
【0150】
・ 垂直のためのフラグがDST−VII対DCT−VIII。
【0151】
5.既存の実装における欠点の例
1つの既存のAMT実装において、相互AMTは、171%の符号化時間で追加的な〜1%の利得を提供できる。別の実装において、AMTマージのみ(マージモードについてAMTを有効にするのみ)は、150%の符号化時間で〜0.5%の利得を提供でき、AMT AMVPのみ(AMVPモードについてAMTを有効にするのみ)は、110%の符号化時間で〜0.5%の利得を提供できる。これらの実装は、AMTマージのみの複雑性と符号化性能との間のトレードオフが、将来のビデオ符号化要求を満たさない場合があることを示す。
【0152】
6.変換行列選択についての明示的なコード化のための方法の例
本開示の技術の実施形態は、既存の実施形態の欠点を克服し、それによって、より高いコード化効率を有するが、より低い計算の複雑さを伴う、ビデオコード化を提供する。開示の技術に基づく変換行列選択のための暗示的なコード化は、既存及び将来のビデオコード化規格の両方を高めることがあり、様々な実装について記載される以下の例において解明される。以下に提供される開示の技術の例は、一般的概念を説明しており、限定的なものとして解釈されることを意図しない。ある例において、MTSは、JEM又はVVCにおける複数変換選択の設計に限定されず、変換のセットがブロックを符号化/復号化することのためのものから選択されることを可能にする、任意の他のコード化技術を参照することができる。ある例において、NSSTは、JEM又はVVCにおける分離不能二次変換の設計に限定されず、二次変換のセットが一次変換を適用した後にブロックを符号化/復号化するためのものから選択されることを可能にする、任意の他の符号化技術を参照することができる。ある例において、明示的に反対のことが示されない限り、これらの例に記載された様々な構成は組み合わせられてよい。
【0153】
例1.1つの例において、MTS(又はNSST)の使用を示すために、1つ又は複数のフラグが、画像パラメータセット/スライスヘッダ/画像ヘッダなどにおいて信号化されてよい。
【0154】
(a)1つの例では、MTS(又はNSST)がこのモードのために有効化されているかどうかを示すために、特定のコード化されたモードについてのフラグが信号化されてよい。
【0155】
(b)1つの例では、MTS(又はNSST)がイントラコード化されたブロックについて有効化されているかどうかを示すために、1つのフラグが信号化されてよい。
【0156】
(c)1つの例では、MTS(又はNSST)が相互コード化されたブロックについて有効化されているかどうかを示すために、1つのフラグが信号化されてよい。
【0157】
(d)1つの例では、MTS(又はNSST)が(アフィン相互モードを含むことがある或いは除外することがある)AMVPコード化されたブロックについて有効化されているかどうかを示すために、1つのフラグが信号化されてよい。
【0158】
(e)1つの例では、MTS(又はNSST)が(アフィンマージモードを含むことがある或いは除外することがある)マージコード化されたブロックについて有効化されているどうかを示すために、1つのフラグが信号化されてよい。
【0159】
(f)1つの例では、MTS(又はNSST)がアフィンモード又はATMVPモードのようなサブブロックベースの予測について有効化されているかどうかを示すために、1つのフラグが信号化されてよい。
【0160】
例2.1つの例において、MTS(又はNSST)は、信号化されることなく特定のモードについて常に無効にされてよい。
【0161】
(a)1つの例において、MTSは、(アフィン相互モードを含むことがある或いは除外することがある)AMVPコード化されたブロックについて無効にされる。
【0162】
(b)1つの例において、MTSは、アフィンモード又はATMVPモードのようなサブブロックベースの予測について無効にされる。
【0163】
例3.1つの例において、NSST又はMTSを有効/無効にすることは、CU/CTU/CTB/スライスヘッダ/画像ヘッダのグループにおいて信号化されてよい。
【0164】
例4.1つの例において、変換行列情報は、現在のブロックの隣接するブロックから継承されてよい。
【0165】
(a)1つの例において、隣接するブロックは、隣り合う空間的に隣接するブロック、隣り合わない隣接するブロック、又は時間的に隣接するブロックであるように定義されてよい。
【0166】
(b)1つの例において、変換行列情報は、一次変換が非DCT−II変換フラグ(例えば、AMT CUフラグ)及び/又は一次行列指数であることを含んでよい。
【0167】
(c)1つの例において、変換行列情報は、二次変換行列指数を含んでよい。
【0168】
(d)1つの例において、変換行列情報は、運動情報と共に格納されてよい。1つの例では、後続の画像によって参照されるべき各画像について、変換行列情報が格納される必要がある。
【0169】
(e)1つの例では、更に、マージ/AMVP候補間のプルーニングは、関連する変換行列情報が同一であるかどうかに更に依存してよい。2つの候補の変換行列情報が異なるならば、そのような2つの候補は、両方とも最終候補リストに加えられてよい。
【0170】
(f)1つの例では、N個のマージ/AMVP候補のみが隣接するブロックから変換行列情報を継承する一方で、他のマージ/AMVP候補はデフォルト変換を使用し、ここで、Nは、正の整数である。
【0171】
(g)1つの例では、ブロックがスキップモードでコード化されていても、変換情報は、運動情報が継承される隣接物から継承されることが必要とされてよい。
【0172】
(h)1つの例において、そのような方法は、マージモード及び/又はAMVPモード、及び/又はサブブロックベースのコード化モードに適用されてよい。
【0173】
(i)代替的に、隣接するブロックの変換行列情報は、現在のブロックの変換行列情報のための予測として使用されることができる。
【0174】
例5.1つの例において、デフォルト変換は、CU/PU/TU内の特定のモード/特定のタイプのAMVP/マージ/アフィン運動候補、又は特定の数の非ゼロ係数に割り当てられてよい。
【0175】
(a)組み合わせ二重マージ候補について、デフォルト変換が信号化されないで使用されてよい。
【0176】
(b)ゼロマージ候補について、デフォルト変換が信号化されないで使用されてよい。
【0177】
(c)時間ブロック(例えば、TMVP、ATMVP、STMVP)からの運動情報を含むマージ候補について、デフォルト変換は、信号化されないで使用されてよい。
【0178】
(d)サブブロックマージ候補(例えば、ATMVP、STMVP、平面運動モード)について、デフォルト変換は、信号化されないで使用されてよい。
【0179】
(e)ブロックが全てのゼロ係数で符号化されるとき(すなわち、非ゼロ係数の数が0に等しいとき)、デフォルト変換指数がブロックに割り当てられる。
【0180】
(f)代替的に、ブロックが全てのゼロ係数で符号化され(すなわち、非ゼロ係数の数が0に等しく)、そのブロックがAMVPモードで符号化されるときには、デフォルト変換指数がそのブロックのために割り当てられる。
【0181】
(g)アフィンモード又はATMVPモードのようなサブブロックベースの予測のために、デフォルト変換が信号化されないで使用されてよい。
【0182】
例6.1つの例では、ブロック内の非ゼロ係数がどれぐらいあるかカウントする代わりに、(例えば、順走査順序における)最後の非ゼロ係数の位置がチェックされて、AMT CUフラグがスキップされているかどうかが決定される。ブロックの左上位置に対する座標(LastX、LastY)によって位置を示す。左上位置の座標は、(0,0)として定義される。
【0183】
(a)LastX≦Th0及びLastY≦Th1のとき、AMT CUフラグは信号化されない。
【0184】
(b)LastX≦Th0又はLastY≦Th1のとき、AMT CUフラグは信号化されない。
【0185】
(c)変数Th0及び/又はTh1は、SPS、PPS、スライスヘッダ、画像ヘッダ、CUのグループ、CTU、CTBなどにおいて予め定義されてよく、或いは信号化されてよい。
【0186】
(d)変数Th0及び/又はTh1は、ブロック形状又はサイズに更に依存してよい
【0187】
(e)Th0及びTh1は、量子化パラメータ(QP)に依存してよい。
【0188】
(f)Th0及びTh1は、コード化モードに依存してよい。
【0190】
(h)W=Hであるならば、Th0=Th1であり、W>Hであるならば、TH0>Th1であり、W<Hであるならば、TH<TH1であり、ここで、W及びHは、それぞれ、現在のブロックの幅及び高さである。
【0191】
(i)Th0及びTh1は、両方とも1又は0に設定される。
【0192】
(j)同様に、上記の方法は、NSST指数信号化に適用されてもよい、すなわち、ある場合には、NSST指数は、スキップされる。
【0193】
例7.1つの例において、変換行列情報(例えば、AMT CUフラグ及び/又はAMT指数)の信号化は、以下によって修正されてよい。
【0194】
(a)変換指数が、運動情報が継承される隣接するブロックから継承されるかどうかを示す1つのフラグが、先ず信号化される。継承されないならば、AMT CUフラグ及び/又はAMT指数は、更に信号化されてよい。
【0195】
(b)AMT CUフラグは、マージモードのために先ず信号化されてよい。CUフラグが0に設定されるならば、デフォルト変換が利用される。さもなければ(CUフラグが1に等しいならば)、AMT指数は継承されてよい。
【0196】
例8.1つの例において、変換情報は、運動ベクトルに依存することがあり、且つ/或いは参照画像及び現在の画像の運動ベクトル差及び/又は画像順序カウント(POC)距離に依存することがある。
【0197】
(a)1つの例において、変換情報は、abs(MVx)+abs(MVy)、又は(MVx)*(MVx)+(MVy)*(MVy)に依存することがある。
【0198】
(b)1つの例において、変換情報は、abs(MVDx)+abs(MVDy)、又は(MVDx)*(MVDx)+(MVDy)*(MVDy)に依存することがある。
【0199】
上述の例は、以下に記載する方法、例えば、ビデオデコーダで実装されることがある方法2500、2600、2700、2800及び2900の脈絡に組み込まれてよい。
【0200】
図25は、ビデオコード化のための例示的方法のフローチャートを示している。方法2500は、ステップ2510において、ビデオデータの現在のブロックのビットストリーム表現を受信することを含む。
【0201】
方法2500は、ステップ2520において、ビットストリーム表現に基づく信号化情報を導出するステップを含む。
【0202】
方法2500は、ステップ2530において、信号化情報に基づいて、少なくとも1つの変換行列を可能にすることを含む。幾つかの実施態様において、少なくとも1つの変換行列を可能にすることは、現在のブロックのコード化モードを示すフラグに基づく。他の実施形態において、少なくとも1つの変換行列を可能にすることは、イントラコード化された現在のブロックに基づく。更に他の実施形態において、少なくとも1つの変換行列を可能にすることは、相互コード化された現在のブロックに基づく。更に他の実施形態において、少なくとも1つの変換行列を可能にすることは、先進運動ベクトル予測(AMVP)コード化されたブロックである現在のブロックに基づく。
【0203】
方法2500は、ステップ2540において、少なくとも1つの変換行列を使用して、有効にされるならば、ビットストリーム表現を処理して、現在のブロックを生成することを含む。
【0204】
幾つかの実施形態において、現在のブロックを生成することは、現在のブロックを解凍すること、又は現在のブロックの非圧縮バージョンを生成することを含む。他の実施形態において、現在のブロックを生成することは、ブロックを再構築することを含む。
【0205】
幾つかの実施態様において、少なくとも1つの変換行列を可能にすることは、現在のブロックのコード化モードを示すフラグに基づく。
【0206】
幾つかの実施態様において、少なくとも1つの変換行列を可能にすることは、イントラコード化されている現在のブロックに基づく。
【0207】
幾つかの実施態様において、少なくとも1つの変換行列を可能にすることは、相互コード化されている現在のブロックに基づく。
【0208】
幾つかの実施形態において、少なくとも1つの変換行列を可能にすることは、先進運動ベクトル予測(AMVP)コード化ブロックである現在のブロックに基づく。
【0209】
図26は、ビデオコード化のための別の例示的な方法のフローチャートを示している。この例は、
図25に示し且つ上述したものに類似する幾つかの構成及び/又はステップを含む。これらの構成及び/又は構成要素の少なくとも一部は、このセクションでは別個に記載されないことがある。方法2600は、ステップ2610において、ビデオデータの現在のブロックのビットストリーム表現を受信することを含む。
【0210】
方法2600は、ステップ2620において、隣接するブロックの変換行列情報に基づいて現在のブロックの変換行列情報を選択することを含む。幾つかの実施態様において、隣接するブロックは、隣り合う空間的に隣接するブロック、隣り合わない隣接するブロック、又は時間的に隣接するブロックである。
【0211】
方法2600は、ステップ2630において、現在のブロックの変換行列情報を使用して、ビットストリーム表現を処理して、現在のブロックを生成することを含む。
【0212】
幾つかの実施形態において、変換行列情報は、非離散コサイン変換(DCT)−IIフラグ又は一次行列指数を含む。他の実施形態において、変換行列情報は、二次変換行列指数を含む。
【0213】
幾つかの実施形態において、隣接するブロックの変換行列情報は、現在のブロックの変換行列情報の予測子として使用されてよい。
【0214】
幾つかの実施形態において、マージ候補リスト内の2つのマージ候補をプルーニングすることは、2つのマージ候補の変換行列情報に基づいてよい。
【0215】
図27は、ビデオコード化のための更に別の例示的な方法のフローチャートを示している。この例は、
図25及び26に示し且つ上述したものに類似する幾つかの構成及び/又はステップを含む。これらの構成及び/又は構成要素の少なくとも一部は、このセクションでは別個に記載されないことがある。方法2700は、ステップ2710において、ビデオデータの現在のブロックのビットストリーム表現を受信することを含む。幾つかの実施態様において、現在のブロックは、全てのゼロ係数でコード化される。
【0216】
方法2700は、ステップ2720において、ビットストリーム表現に基づく信号情報を導出するステップを含む。
【0217】
方法2700は、ステップ2730において、デフォルト変換行列を選択することを含み、選択の指標は、信号化情報に存在しない。
【0218】
方法2700は、ステップ2740において、デフォルト変換行列を使用して、ビットストリーム表現を処理して、現在のブロックを生成することを含む。幾つかの実施形態において、処理は、組み合わされた二重マージ候補又はゼロ候補に基づく。
【0219】
図28は、ビデオコード化のための更に別の例示的な方法のフローチャートを示している。この例は、
図25〜
図27に示し且つ上述したものと類似する幾つかの構成及び/又はステップを含む。これらの構成及び/又は構成要素の少なくとも一部は、このセクションでは別個に記載されないことがある。方法2800は、ステップ2810において、ビデオデータの現在のブロックのビットストリーム表現を受信することを含む。
【0220】
方法2800は、ステップ2820において、ビットストリーム表現に基づく信号情報を導出することを含む。
【0221】
方法2800は、ステップ2830において、係数のブロックの最後の非ゼロ係数の位置に基づいて、信号化情報が変換行列情報に対応する指数を含むかどうかを決定することを含み、係数のブロックは、現在のブロックと関連付けられる。
【0222】
幾つかの実施形態において、係数のブロック内の最後の非ゼロ係数の位置は、(Xlast ,Ylast)であり、ここで、Xlast≦τ1(第1の閾値)及びYlast≦τ2(第2の閾値)であり、ここで、信号化情報は、指数を含まない。ある例において、第1の閾値又は第2の閾値は、シーケンスパラメータセット(SPS)、画像パラメータセット(PPS)、スライスヘッダ、画像ヘッダ、コード化ツリーユニット(CTU)、コード化ユニット(CU)、又はコード化ツリーブロック(CTB)において信号化される。別の例において、第1の閾値又は第2の閾値は、現在のブロックの寸法に基づく。更に別の例において、第1の閾値又は第2の閾値は、現在のブロックのコード化モードに基づく。更に別の例において、第1の閾値又は第2の閾値は、量子化パラメータ(QP)に基づく。
【0223】
方法2800は、ステップ2840において、変換行列情報を使用して、ビットストリーム表現を処理して、現在のブロックを生成することを含む。幾つかの実施形態において、処理は、信号化情報が指数を含まないときにデフォルト変換行列を使用する。
【0224】
図29は、ビデオコード化のための更に別の例示的な方法のフローチャートを示している。この例は、
図25〜
図28に示し且つ上述したものに類似する幾つかの構成及び/又はステップを含む。これらの構成及び/又は構成要素の少なくとも一部は、このセクションでは別個に記載されないことがある。方法2900は、ステップ2910において、ビデオデータの現在のブロックのビットストリーム表現を受信することを含む。
【0225】
方法2900は、ステップ2920において、ビデオデータの現在のブロックに対応する運動情報又は画像順序カウント(POC)距離に基づいて変換行列を選択することを含む。
【0226】
方法2900は、ステップ2930において、変換行列を使用して、ビットストリーム表現を処理して、現在のブロックを生成することを含む。
【0227】
幾つかの実施態様において、POC距離は、現在のブロックと関連する参照画像に対応する。他の実施形態において、運動情報は、運動ベクトル又は運動ベクトル差を含む。
【0228】
技術的解決策の以下のリストは、幾つかの実施形態において好ましい実施形態であることがある。
【0229】
1.ビデオブロックへのコード化された表現の転換(conversion)のための第1の変換(first transform)の適用性の第1の決定のためにビデオのコード化された表現における第1のフィールドを構文解析すること(1202)を含む、ビデオ処理の方法(例えば、
図12Aに示す方法1200)。転換中に、第1変換は、ビデオブロックの脱量子化残差係数値の結果に適用される。方法1200は、第1の決定に基づいて第1の変換を選択的に使用することによって転換を行うこと(1204)ことを更に含む。
【0230】
2.転換(conversion)のための第2の変換(second transform)の適用性の第2の決定のためにビデオのコード化された表現における第2のフィールドを構文解析することを更に含み、第2の変換は、転換中に第1の変換とともにカスケードで適用され、転換を行うことは、第2の決定に基づいて第2の変換を選択的に使用すること更に含む、解決策1の方法。
【0231】
3.第1の変換は、脱量子化された残差係数値を第1の変換された表現に変換するために使用され、第2の変換は、第1の変換された表現の少なくとも一部を第2の変換された表現に変換するために使用される、解決策2の方法。
【0232】
4.第1の変換が適応マルチコア変換(AMT)である、解決策3の方法。
【0233】
5.第2の変換が二次変換である、解決策3〜4のうちのいずれかの方法。
【0234】
6.前記第1のフィールドは、コード化された表現における画像パラメータセットレベルのフラグに対応する、解決策1〜3のうちのいずれかの方法。
【0235】
7.第1のフィールドは、コード化された表現におけるスライスヘッダレベルのフラグに対応する、解決策1〜3のうちのいずれかの方法。
【0236】
8.第1のフィールドは、符号化された表現における画像レベルのフラグに対応する、解決策1〜3のうちのいずれかの方法。
【0237】
9.第1の決定又は第2の決定は、コード化された表現におけるビデオブロックを表すために使用されるコード化モードに基づいている、解決策1〜3及び6〜8のうちのいずれかの方法。
【0238】
10.第1のフィールドは、ビデオ領域レベルでコード化される表現に含まれ、ビデオ領域は、少なくともビデオブロックを含み、第1のフィールドは、ビデオブロックのコード化モードが特定のコード化モードであることを成功裏に決定した後に、第1の変換が転換の間に適用されることを示す、解決策1〜3のうちのいずれかの方法。
【0239】
11.特定のコード化モードは、イントラコード化モードである、解決策10に記載の方法。
【0240】
12.特定のコード化モードは、相互コード化モードである、解決策10に記載の方法。
【0241】
13.特定のコード化モードは、先進運動ベクトル予測コード化モードである、解決策10に記載の方法。
【0242】
14.特定のコード化モードは、アフィンコード化を含むマージコード化モードである、解決策10に記載の方法。
【0243】
15,特定の符号化モードは、アフィンコード化を排除するマージ符号化モードである、解決策10に記載の方法。
【0244】
16.特定のコード化モードは、サブブロックベースのコード化モードである、解決策10に記載の方法。
【0245】
17.フィールドは、コード化単位群レベル、コード化ツリー単位レベル、コード化ツリーブロックレベル、スライスヘッダレベル、又は画像ヘッダレベルにある、解決策1〜16のうちのいずれかの方法。
【0246】
18.第1の変換は、適応マルチコア変換(AMT)である、解決策6〜17のうちのいずれかの方法。
【0247】
19.第2の変換は、二次変換である、解決策6〜17のうちのいずれかの方法。
【0248】
20.ビデオの現在のビデオブロックとビデオのコード化された表現との間の転換のために、現在のビデオブロックのために使用されるコード化モードが特定のタイプのものであるという決定を実行すること(1302)と、コード化モードが特定のタイプのものであるという結果として、現在のビデオブロックを処理するための第1の変換又は第2の変換の適用性を示すフィールドがコード化された表現に存在しないという決定を実行すること(1304)と、フィールドが存在しない場合にコード化された表現を構文解析すること(1306)と、決定に起因して現在のビデオブロックの脱量子化された残差係数を変換するために第1の変換又は第2の変換の使用を無効にすることによって、現在のビデオブロックを生成すること(1308)と、を含む、ビデオ処理の方法(例えば、
図13Aに示す方法1300)。
【0249】
21.特定のタイプは、先進運動ベクトル予測コード化モードを含む、解決策20の方法。
【0250】
22.特定のタイプは、サブブロックベースの予測モードを含む、解決策20の方法。
【0251】
23.サブブロックベースの予測モードは、代替的な時間的運動ベクトル予測モードを含む、解決策22に記載の方法。
【0252】
24.第1の変換は、適応マルチコア変換(AMT)を含む、解決策20−23のうちのいずれかの方法。
【0253】
25.第1の変換は、二次変換を含む、解決策20〜23のうちのいずれかの方法。
【0254】
前のセクションは、上記解決策(例えば、項目1及び項目3)の追加的な構成を提供する。
【0255】
26.ビデオブロックのコード化された表現と隣接するビデオブロックからのビデオブロックとの間の転換のために第1の変換に関する変換情報を継承することであって、転換の間に、第1の変換は、ビデオブロックの脱量子化された残差係数値の結果に適用される、継承すること(1402)と、第1の継承に基づいて第1の変換を選択的に使用することによって、転換を実行すること(1404)と、を含む、ビデオ処理の方法(例えば、
図14Aに示す方法1400)。
【0256】
27.隣接するブロックは、空間的に隣接するブロックである、解決策26の方法。
【0257】
28.隣接するブロックは、ビデオブロックを含むビデオ画像内の空間的に隣接しないブロックである、解決策26の方法。
【0258】
29. 隣接するブロックは、時間的に隣接するブロックである、解決策26の方法。
【0259】
30.第1の変換に関する変換情報は、第1の変換が離散コサイン変換であるかどうかの第1の表示、又は前記第1の変換の一次行列指数の第2の表示を含む、解決策26〜29のうちのいずれかの方法。
【0260】
31.脱量子化された残差係数値の結果が、脱量子化された残差係数値に別の変換を適用することによって計算される、解決策26〜30のうちのいずれかの方法。
【0261】
32.第1の変換に関する変換情報は、別の変換を識別する指数を更に含む、解決策31に記載の方法。
【0262】
33.第1の変換は、脱量子化された残差係数値の変換された表現の少なくとも一部分を変換するために使用される、解決策26〜30のうちのいずれかの方法。
【0263】
34.継承することは、隣接するビデオブロックの運動情報と共に格納される変換情報を継承することを含む、解決策26〜33のうちのいずれかの方法。
【0264】
35.第1の変換に関する変換情報は、ビデオ画像レベルで格納される、解決策34に記載の方法。
【0265】
36.第1の変換に関する変換情報は、画像が参照画像であることの故に画像レベルで格納される、解決策15に記載の方法。
【0266】
37.転換は、プルーニングされる候補に関連する第1の変換に関する変換情報に依存するプルーニング演算を使用して候補リストを生成することを含む、解決策26〜36のうちのいずれかの方法。
【0267】
38.継承することは、ビデオブロックが隣接するビデオブロックから第1のN個の候補のうちの1つを継承することの故に実行される、解決策26〜37のうちのいずれかの方法。
【0268】
39.第1のN個の候補のうちの1つは、マージ候補を含む、解決策38に記載の方法。
【0269】
40.第1のN個の候補のうちの1つは、先進運動ベクトル予測候補を含む、解決策39の方法。
【0270】
41.第1のビデオブロックがスキップされたブロックとしてコード化されることを決定することを更に含み、第1の変換に関する変換情報を継承することは、第1の変換に関する変換情報を、運動情報が継承される隣接するビデオブロックから継承することを含む、解決策26〜37のうちのいずれかの方法。
【0271】
42.第1のビデオブロックは、マージモードを使用して複合される、解決策26〜41のうちのいずれかの方法。
【0272】
43.第1のビデオブロックは、先進運動ベクトル予測モードを使用して複合される、解決策26〜33のうちのいずれかの方法。
【0273】
44.継承することは、隣接するビデオブロックに関する変換情報に基づいて現在のビデオブロックのための第1の変換に関する変換情報を予測的に決定することを含む、解決策26〜43のうちのいずれかの方法。
【0274】
前のセクションは、上記解決策(例えば、項目4)の追加的な構成を提供する。
【0275】
45.現在のビデオブロックのコード化条件に基づいて、現在のビデオブロックへのコード化された表現の転換のために使用される第1の変換がデフォルト変換であることを決定することであって、転換の間に、第1の変換は、現在のビデオブロックの脱量子化された残差係数値の結果に適用される、決定すること(1502)と、第1の決定に基づいて第1の変換を選択的に使用することによって、転換を実行すること(1504)と、を含む、ビデオ処理の方法(例えば、
図15Aに示す方法1500)。
【0276】
46.現在のビデオブロックのコード化条件は、第1のビデオブロックのコード化モードを含む、解決策45の方法。
【0277】
47.コード化条件は、現在のビデオブロックに関連するコード化ユニット、予測ユニット、又は変換ユニットで符号化される非ゼロ係数のカウントを含む、解決策45の方法。
【0278】
48.コード化条件は、現在のビデオブロックのための組み合わされたマージ候補の使用を含み、デフォルト変換は、コード化された表現における如何なる信号化も伴わずに使用される、解決策45〜46のうちのいずれかの方法。
【0279】
49.コード化条件は、現在のビデオブロックのためのゼロマージ候補の使用を含み、デフォルト変換は、符号化された表現における如何なる信号化も伴わずに使用される、解決策45〜46のうちのいずれかの方法。
【0280】
50.コード化条件は、現在のビデオブロックの時間的に隣接するブロックの運動情報を使用することを含み、デフォルト変換は、コード化された表現における如何なる信号化も伴わずに使用される、解決策45〜46のうちのいずれかの方法。
【0281】
51.時間的に隣接するブロックは、時間的運動ベクトル予測のために使用される、解決策50の方法。
【0282】
52.時間的に隣接するブロックは、代替的な時間的運動ベクトル予測のために使用される、解決策50の方法。
【0283】
53.時間的に隣接するブロックは、空間的−時間的運動ベクトル予測のために使用される、解決策50の方法。
【0284】
54.コード化条件は、現在のビデオブロックの転換のためにサブブロックマージ候補を使用することを含む、解決策45〜46のうちのいずれかの方法。
【0285】
55.サブブロックマージ候補は、先進時間的運動ベクトル予測子を含む、解決策54の方法。
【0286】
56.サブブロックマージ候補は、空間的−時間的運動ベクトル予測肢を含む、解決策54の方法。
【0287】
57.サブブロックマージ候補は、平面運動モード予測子を含む、解決策54の方法。
【0288】
58.コード化条件は、全てのゼロ係数でコード化された現在のビデオブロックに対応し、決定することは、デフォルト変換指数が転換のために使用されることを決定することを含む、解決策45の方法。
【0289】
59.コード化条件は、現在のビデオブロックのためにサブブロックベースの予測を使用することを含み、変換情報は、コード化された表現において信号化されずに決定される、解決策45〜46のうちのいずれかの方法。
【0290】
60.サブブロックベースの予測は、アフィン予測を含み、変換情報は、コード化された表現において信号化なしに決定される、解決策59の方法。
【0291】
61.サブブロックベースの予測は、先進時間的運動ベクトル予測を含み、変換情報は、コード化された表現において信号化なしに決定される、解決策59の方法。
【0292】
62.コード化条件は、現在のビデオブロックについての運動ベクトル値の関数を含む、解決策45の方法。
【0293】
63.運動ベクトル値の関数は、abs(MVx)+abs(MVy)、又は(MVx)*(MVx)+(MVy)*(MVy)を含み、ここで、MVx及びMVyは、運動ベクトル値であり、abs()は、絶対値関数を表す、解決策63の方法。
【0294】
64.コード化条件は、現在のビデオブロックについての運動ベクトル差分値の関数を含む、解決策45の方法。
【0295】
65.運動ベクトル差分値の関数は、abs(MVDx)+abs(MVDy)、又は(MVDx)*(MVDx)+(MVDy)*(MVDy)を含み、ここで、MVDx及びMVDyは、運動ベクトル差分値であり、abs()は、絶対値関数を表す、解決策64の方法。
【0296】
前のセクションは、上記解決策(例えば、項目5及び項目8)の追加的な構成を提供する。
【0297】
66.ビデオの複数のビデオブロックのコード化された表現を含むビットストリームを構文解析することであって、ビットストリームは、現在のビデオブロックについて、隣接するブロックの変換情報が現在のビデオブロックのための変換情報として継承されるかどうかに関する第1のインジケータを含む、構文解析すること(1602)と、現在のビデオブロックを生成するために、第1のインジケータを構文解析することから得られる変換情報に基づいて、コード化された表現を復号すること(1604)であって、転換の間に、変換情報によって識別された変換は、現在のビデオブロックの脱量子化された残差係数値の結果に適用される、復号することと、を含む、ビデオ処理方法(例えば、
図16Aに示す方法1600)。
【0298】
67.変換情報が隣接するブロックから継承されないことを示す第1のインジケータの故に、転換中に使用される変換情報を識別する第2のインジケータを構文解析することを含む、解決策66の方法。
【0299】
68.変換は、適応マルチコア変換(AMT)を含む、解決策66の方法。
【0300】
69.第2のインジケータは、ビットストリーム内のコード化ユニットレベルのフラグを含む、解決策66〜67のうちのいずれかの方法。
【0301】
70.第2のインジケータは、変換への指数を含む、解決策66〜67のうちのいずれかの方法。
【0302】
71.ビデオの複数のビデオブロックのコード化された表現を含むビットストリームを構文解析することであって、ビットストリームは、マージモードを使用してコードされた現在のビデオブロックについて、変換としてデフォルト変換を使用するための第1の表示と、コード化された表現に含まれる隣接するブロックから変換情報を継承するための第2の表示とを示す、1ビットフィールドを含む、構文解析すること(1702)と、1ビットフィールドに基づいて変換を識別すること(1704)と、コード化された表現と現在のビデオブロックとの間の転換を実行すること(1706)であって、転換の間に、変換は、現在のビデオブロックの脱量子化された残差係数値の結果に適用される、実行することと、を含む、ビデオ処理の方法(例えば、
図17Aに示す方法1700)。
【0303】
72.第1の表示は、1ビットフィールドとして「0」ビットを含み、第2の表示は、1ビットフィールドとして「1」ビットを含む、解決策71の方法。
【0304】
73.第1の表示は、1ビットフィールドとして「1」ビットを含み、第2の表示は、1ビットフィールドとして「0」ビットを含む、解決策71の方法。
【0305】
74.変換は、適応マルチコア変換(AMT)を含む、解決策71〜73のうちのいずれかの方法。
【0306】
75.隣接するブロックは、現在のビデオブロックに隣接していることを含む、解決策66〜74の方法。
【0307】
76.隣接するブロックは、現在のビデオブロックに隣接していないことを含む、解決策66〜74の方法。
【0308】
前のセクションは、上記解決策(例えば、項目7)の追加的な構成を提供する。
【0309】
77.ビデオブロックへのコード化された表現の転換のための第1の変換の適用性の第1の判断のためのビデオの符号化された表現に第1のフィールドを含めることであって、転換の間に、第1の変換は、ビデオブロックの脱量子化された残差係数値の結果に適用される、含めること(1252)と、ビデオブロックを符号化することによってコード化された表現を生成すること(1254)とを含む、ビデオ処理方法(例えば、
図12Bに示す方法1250)。
【0310】
78.転換のための第2の変換の適用性の第2の決定のためにビデオのコード化された表現に第2のフィールドを含めることを更に含み、第2の変換は、転換の間に第1の変換と共にカスケードで適用されるべきであり、転換を実行することは、第2の決定に基づいて第2の変換を選択的に使用することを更に含む、解決策77の方法。
【0311】
79.第1の変換は、脱量子化された残差係数値を第1の変換された表現に変換するために使用され、第2の変換は、第1の変換された表現のうちの少なくとも一部分を第2の変換された表現に変換するために使用される、解決策78の方法。
【0312】
80.第1の変換は、適応マルチコア変換(AMT)である、解決策79の方法。
【0313】
81.第2の変換は、二次変換である、解決策79〜80のうちのいずれかの方法。
【0314】
82.第1のフィールドは、コード化された表現における画像パラメータセットレベルのフラグに対応する、解決策77〜79のうちのいずれかの方法。
【0315】
83.第1のフィールドは、コード化された表現におけるスライスヘッダレベルのフラグに対応する、解決策77〜79のうちのいずれかの方法。
【0316】
84.第1のフィールドは、コード化された表現における画像レベルのフラグに対応する、解決策77〜79のうちのいずれかの方法。
【0317】
85.第1の決定又は第2の決定は、コード化された表現においてデオブロックを表現するために使用されるコード化モードに更に基づいている、解決策77〜79及び82〜84のうちのいずれかの方法。
【0318】
86.第1のフィールドは、ビデオ領域レベルで前コード化された表現に含められ、ビデオ領域は、少なくともビデオブロックを含み、第1のフィールドは、ビデオブロックのコード化モードが特定のコード化モードであることを成功裏に決定した後に、第1の変換が転換の間に適用されるべきことを示す、解決策77〜79のうちのいずれかの方法。
【0319】
87.特定のコード化モードは、イントラコード化モードである、解決策86の方法。
【0320】
88.特定のコード化モードは、相互コード化モードである、解決策86の方法。
【0321】
89.特定のコード化モードは、先進運動ベクトル予測コード化モードである、解決策86の方法。
【0322】
90.特定のコード化モードは、アフィンコード化を含むマージコード化モードである、解決策86の方法。
【0323】
91.特定のコード化モードは、アフィンコード化を排除するマージコード化モードである、解決策86の方法。
【0324】
92.特定のコード化モードは、サブブロックベースのコード化モードである、解決策86の方法。
【0325】
93.フィールドは、コード化単位群レベル、コード化ツリー単位レベル、コード化ツリーブロックレベル、スライスヘッダレベル、又は画像ヘッダレベルにある、解決策77〜92のうちのいずれかの方法。
【0326】
94.第1の変換は、適応マルチコア変換(AMT)である、解決策82〜93のうちのいずれかの方法。
【0327】
95.第2の変換は、二次変換である、解決策82〜93のうちのいずれかの方法。
【0328】
前のセクションは、上記解決策(例えば、項目1及び項目3)の追加的な構成を提供する。
【0329】
96.ビデオの現在のビデオブロックとビデオのコード化された表現との間の転換のために、現在のビデオブロックのために使用されるコード化モードが特定のタイプのものであるという決定を実行すること(1352)と、コード化モードが特定のタイプのものであることの結果として、現在のビデオブロックを処理するための第1の変換又は第2の変換の適用性を示すフィールドがコード化された表現に含まれていないという決定を実行すること(1354)と、フィールドを含まないコード化された表現を生成することであって、現在のビデオブロックは、前記決定の故に、現在のビデオブロックの脱量子化された残差係数を変換するために第1の変換及び/又は第2の変換の使用を無効にすることによって復号可能である、生成すること(1356)と、を含む、ビデオ処理の方法(例えば、
図13Bに示す方法1350)。
【0330】
97.特定のタイプは、先進運動ベクトル予測コード化モードを含む、解決策96の方法。
【0331】
98.特定のタイプは、サブブロックベースの予測モードを含む、解決策96の方法。
【0332】
99.サブブロックベースの予測モードは、代替的な時間的運動ベクトル予測モードを含む、解決策98の方法。
【0333】
100.第1の変換は、適応マルチコア変換(AMT)を含む、解決策96〜99のうちのいずれかの方法。
【0335】
101.第1の変換は、二次変換を含む、解決策96〜99のうちのいずれかの方法。
【0336】
前のセクションは、上記解決策(例えば、項目2)の追加的な構成を提供する。
【0337】
102.ビデオブロックのコード化された表現とビデオブロックとの間の転換のための第1の変換に関する変換情報が隣接するビデオブロックから継承されるべきことを決定することであって、転換の間に、第1の変換は、ビデオブロックの脱量子化された残差係数値の結果に適用されること(1452)と、前記決定に基づいてコード化された表現を生成すること(1454)と、を含む、ビデオ処理方法(例えば、
図14Bに示す方法1450)。
【0338】
103.隣接するブロックは、空間的に隣接するブロックである、解決策102の方法。
【0339】
104.隣接するブロックは、ビデオブロックを含むビデオ画像内の空間的に隣接しないブロックである、解決策102の方法。
【0340】
105.隣接するブロックは、時間的に隣接するブロックである、解決策102の方法。
【0341】
106.第1の変換に関する変換情報は、第1の変換が離散コサイン変換であるかどうかの第1の表示又は第1の変換の一次行列指数の第2の表示を含む、解決策102〜105のうちのいずれかの方法。
【0342】
107.脱量子化された残差係数値の結果は、脱量子化された残差係数値に別の変換を適用することによって計算される、解決策102〜106のうちのいずれかの方法。
【0343】
108.第1の変換に関する変換情報は、別の変換を識別する指数を更に含む、解決策107の方法。
【0344】
109.第1変換は、脱量子化された残差係数値の変換された表現の少なくとも一部分を変換するために使用される、解決策102〜106のうちのいずれかの方法。
【0345】
110.継承することは、隣接するビデオブロックのための運動情報と共に格納される変換情報を継承することを含む、解決策102〜109のうちのいずれかの方法。
【0346】
111.第1の変換に関する変換情報は、ビデオ画像レベルで格納される、解決策110の方法。
【0347】
112.第1の変換に関する変換情報は、参照画像である画像の故に、画像レベルで格納される、解決策111の方法。
【0348】
113.転換は、プルーニングされる候補に関連する第1の変換に関する変換情報に依存するプルーニング演算を使用して候補リストを生成することを含む、解決策102〜112のうちのいずれかの方法。
【0349】
114.継承することは、ビデオブロックが隣接するビデオブロックから第1のN個の候補のうちの1つを継承することの故に実行されるものである、解決策102〜113の方法。
【0350】
115.第1のN個の候補のうちの1つは、マージ候補を含む、解決策114の方法。
【0351】
116.第1のN個の候補のうちの1つは、先進運動ベクトル予測候補を含む、解決策114の方法。
【0352】
117.第1のビデオブロックがスキップされるブロックとして符号化されるべきであることを決定するステップを更に含み、第1の変換に関する変換情報を継承することは、運動情報が継承される隣接するビデオブロックから第1の変換に関する変換情報を継承することを含む、解決策102〜113のうちのいずれかの方法。
【0353】
118.第1のビデオブロックは、マージモードを使用して符号化される、解決策1〜117のうちのいずれかの方法。
【0354】
119.第1のビデオブロックは、先進運動ベクトル予測モードを使用して符号化される、解決策102〜108のうちのいずれかの方法。
【0355】
120.継承することは、隣接するビデオブロックに関する変換情報に基づいて現在のビデオブロックのための第1の変換に関する変換情報を予測的に決定することを含む、解決策102〜119のうちのいずれかの方法。
【0356】
前のセクションは、上記解決策(例えば、項目4)の追加的な構成を提供する。
【0357】
121.現在のビデオブロックのコード化条件に基づいて、現在のビデオブロックへのコード化された表現の転換のために使用されるものである第1の変換がデフォルト変換であることを決定することであって、転換の間に、第1の変換は、現在のビデオブロックの脱量子化された残差係数値の結果に適用されること(1552)と、第1の決定に基づいて現在のビデオブロックの符号化された表現を生成すること(1554)と、を含む、ビデオ処理の方法(例えば、
図15Bに示す方法1550)。
【0358】
122.現在のビデオブロックのコード化条件は、第1のビデオブロックのコード化モードを含む、解決策121の方法。
【0359】
123.コード化条件は、現在のビデオブロックに関連するコード化ユニット、予測ユニット、又は変換ユニットにおいてコード化される非ゼロ係数のカウントを含む、解決策121の方法。
【0360】
124.コード化条件は、現在のビデオブロックのための組み合わせられたマージ候補の使用を含み、デフォルト変換は、コード化された表現における如何なる信号化も伴わずに使用される、解決策121〜122のうちのいずれかの方法。
【0361】
125.コード化条件は、現在のビデオブロックについてのゼロマージ候補の使用を含み、デフォルト変換は、符号化された表現において黙示的に信号化される、解決策121〜122のうちのいずれかの方法。
【0362】
126.コード化条件は、現在のビデオブロックの時間的に隣接するブロックの運動情報を使用することを含み、デフォルト変換は、符号化された表現において黙示的に信号化される、解決策121〜122のうちのいずれかの方法。
【0363】
127.時間的に隣接するブロックは、時間的運動ベクトル予測のために使用される、解決策126の方法。
【0364】
128.時間的に隣接するブロックは、代替的な時間的運動ベクトル予測のために使用される、解決策126の方法。
【0365】
129.時間的に隣接するブロックは、空間的−時間的運動ベクトル予測のために使用される、解決策126の方法。
【0366】
130.コード化条件は、現在のビデオブロックの転換のためにサブブロックマージ候補を使用することを含む、解決策121〜122のうちのいずれかの方法。
【0367】
131.サブブロックマージ候補は、先進時間的運動ベクトル予測子を含む、解決策130の方法。
【0368】
132.サブブロックマージ候補は、空間的−時間的運動ベクトル予測子を含む、解決策130に記載の方法。
【0369】
133.サブブロックマージ候補は、平面運動モード予測子を含む、解決策130の方法。
【0370】
134.コード化条件は、全てのゼロ係数でコード化された現在のビデオブロックに対応し、前記決定することは、デフォルト変換指数が転換に使用されるべきことを決定することを含む、解決策121の方法。
【0371】
135.コード化条件は、現在のビデオブロックのためにサブブロックベースの予測を使用することを含み、変換情報は、コード化された表現に黙示的に信号化される、解決策121〜122のうちのいずれかの方法。
【0372】
136.サブブロックベースの予測は、アフィン予測を含み、変換情報は、コード化された表現中に黙示的に信号化される、解決策135の方法。
【0373】
137.サブブロックベースの予測は、先進時間的運動ベクトル予測を含み、変換情報は、コード化された表現中に黙示的に信号化される、解決策135の方法。
【0374】
138.コード化条件は、現在のビデオブロックについての運動ベクトル値の関数を含む、解決策121の方法。
【0375】
139.運動ベクトル値の関数は、abs(MVx)+abs(MVy)、又は(MVx)*(MVx)+(MVy)*(MVy)を含み、ここで、MVx及びMVyは、運動ベクトル値であり、abs()は、絶対値関数を表す、解決策138の方法。
【0376】
140.コード化条件は、現在のビデオブロックについての運動ベクトル差分値の関数を含む、解決策121の方法。
【0377】
141.運動ベクトル差分値の関数は、abs(MVDx)+abs(MVDy)、又は(MVDx)*(MVDx)+(MVDy)*(MVDy)を含み、ここで、MVDx及びMVDyは、運動ベクトル差分値であり、abs()は、絶対値関数を表す、解決策140の方法。
【0378】
前のセクションは、上記解決策(例えば、項目5及び項目8)の追加的な構成を提供する。
【0379】
142.現在のビデオブロックについて、ビデオの複数のビデオブロックのコード化された表現を含むビットストリームに、隣接するブロックの変換情報が現在のビデオブロックのための変換情報として継承されるかどうかに関する第1のインジケータを含めることを決定すること(1652)と、変換情報に基づいて、現在のビデオブロックのコード化された表現を生成することであって、復号化の間に、変換情報によって識別される変換が、現在のビデオブロックの脱量子化された残差係数値の結果に適用される、決定すること(1654)とを含む、ビデオ処理の方法(例えば、
図16Bに示す方法(1650)。
【0380】
143.コード化された表現と現在のビデオブロックとの間の転換の間に使用される変換情報を識別する第2のインジケータを更に含む、或いは、前記第1のインジケータが存在しない場合に前記第2のインジケータを含む、解決策142の方法
【0381】
144.変換は、適応マルチコア変換(AMT)を含む、解決策142の方法。
【0382】
145.第2のインジケータは、ビットストリーム内のコード化ユニットレベルのフラグを含む、解決策142〜143のうちのいずれかの方法。
【0383】
146.第2のインジケータは、変換に対する指数を含む、解決策142〜143のうちのいずれかの方法。
【0384】
147.マージモードを使用してコード化された現在のビデオブロックについて、ビデオの複数のビデオブロックのコード化された表現を含むビットストリーム内に、変換としてデフォルト変換を使用するための第1の表示と、コード化された表現に含まれる変換を識別する指数を使用するための第2の表示とを示す、1ビットフィールドを含むことを決定すること(1752)と、変換が1ビットフィールドによって識別されるコード化された表現を生成すること(1754)とを含む、ビデオ処理の方法(例えば、
図17Bに示す方法1750)。
【0385】
148.第1の表示は、1ビットフィールドとして「0」ビットを含み、第2の表示は、1ビットフィールドとして「1」ビットを含む、解決策147の方法。
【0386】
149.第1の表示は、1ビットフィールドとして「1」ビットを含み、第2の表示は、1ビットフィールドとして「0」ビットを含む、解決策147の方法。
【0387】
150.変換は、適応マルチコア変換(AMT)を含む、解決策147〜149のうちのいずれかの方法。
【0388】
151.変換は、順変換又は逆変換のうちの少なくとも1つを含む、解決策1〜150のうちのいずれかの方法。
【0389】
前のセクションは、上記解決策(例えば、項目7)の追加的な構成を提供する。
【0390】
152.解決策1〜151のうちの1つ以上に記載の方法を実装するように構成されるプロセッサを含む、ビデオエンコーダ装置。
【0391】
153.コードを格納したコンピュータプログラム(製品)であって、コードは、実行後に、プロセッサに解決策1〜151のうちの1つ以上に記載の方法を実行させる、コンピュータプログラム(製品)。
【0392】
154.本文書に記載の方法、装置又はシステム。
【0393】
以下の条項は、復号化、符号化、又は変換コード化(transcording)側で実装されることがある解決策の追加的な例を列挙している。
【0394】
1.現在のビデオブロックのコード化された表現から現在のビデオブロックへの転換中に、現在のビデオブロックの最後の非ゼロ係数の位置をチェックすることであって、前記位置は、現在のビデオブロックの左上位置に対して相対的である、チェックすること(1802)と、前記位置に基づいて、コード化された表現における変換情報を信号化する構文要素を構文解析するかどうかを決定すること(1804)とを含む、ビデオ処理の方法(例えば、
図18Aに示す方法1800)。
【0395】
2.前記決定に従ってコード化された表現を構文解析することによって転換を実行することを更に含む、条項1の方法。
【0396】
3.現在のビデオブロックのコード化された表現から現在のビデオブロックへの転換中に、現在のビデオブロックの最後の非ゼロ係数の位置をチェックすることであって、前記位置は、現在のビデオブロックの左上位置に対して相対的である、チェックすること(1902)と、前記位置及び少なくとも1つの他のコード化基準がある条件を満たすことの故に、変換情報を信号化する構文要素が存在し且つコード化された表現に含まれることを決定すること(1904)と、コード化された表現において構文要素によって識別される変換情報を使用して転換を実行すること(1904)とを含む、ビデオ処理の方法(例えば、
図19Aに示す方法1900)。
【0397】
4.現在のビデオブロックのコード化された表現から現在のビデオブロックへの転換中に、現在のビデオブロックの最後の非ゼロ係数の位置をチェックすることであって、前記位置は、現在のビデオブロックの左上位置に対して相対的である、チェックすること(2002)と、前記位置及び/又は少なくとも1つの他のコード化基準がある条件を満たさないことの故に、変換情報を信号化する構文要素がコード化された表現に含められることからスキップされることを決定すること(2004)と、コード化された表現において明示的に識別されないデフォルト変換を使用して転換を実行すること(2006)とを含む、ビデオ処理の方法(例えば、
図20Aに示す方法2000)。
【0398】
5.転換は、構文要素に従った変換を現在のビデオブロックの脱量子化された残差係数値の結果に適用することを含む、条項2〜4のうちのいずれかの方法。
【0399】
6.前記位置は、座標(LastX、LastY)によって表され、コード化された表現は、LastX≦Th0及びLastY≦Th1の故に、変換情報を信号化する構文要素を含まず、ここで、Th0及びTh1は、数字である、条項1の方法。
【0400】
7.コード化された表現は、LastX≦Th0又はLastY≦Th1の故に、変換情報を信号化する構文要素を含まず、ここで、Th0及びTh1は、数字である、条項1の方法。
【0401】
8.Th0及びTh1は、予め定義されており、コード化された表現において信号化されない、条項6〜7のうちのいずれかの方法。
【0402】
9.Th0及びTh1は、コード化された表現において信号化される、条項6〜7のうちのいずれかの方法。
【0403】
10.Th0及びTh1は、シーケンスパラメータセットレベル、画像パラメータセットレベル、スライスヘッダレベル、画像ヘッダレベル、コード化ユニットレベルのグループ、コード化ツリーユニットレベル、又はコード化ツリーブロックレベルで信号化される、条項6項の方法。
【0404】
11.Th0及びTh1は、現在のビデオブロックの形状又はサイズに依存する、条項6〜7のうちのいずれかの方法。
【0405】
12.Th0及びTh1は、現在のビデオブロックのために使用される量子化パラメータに依存する、条項6〜7のうちのいずれかの方法。
【0406】
13.Th0及びTh1は、現在のビデオブロックのために使用されるコード化モードに依存する、条項6〜7のうちのいずれかの方法。
【0407】
14.Th0及びThは等しい、条項6〜13のうちのいずれかの方法。
【0408】
15.Th0=Th1=1である、条項13の方法。
【0409】
16.Th0=Th1=0である、条項13の方法。
【0410】
17.現在のビデオブロックが正方形ブロックであるならば、Th0及びTh1は等しいと決定され、現在のビデオブロックの幅が現在のビデオブロックの高さよりも大きいならば、Th0>Th1を有すると決定され、他の場合には、Th0がTh1よりも小さいと決定される、条項6〜7のうちのいずれかの方法。
【0411】
18.変換情報は、二次変換を示す、条項1〜16のうちのいずれかの方法。
【0412】
19.変換情報は、分離不能な二次変換を示す、条項1〜16のうちのいずれかの方法。
【0413】
20.変換情報がコード化された表現において信号化されていないとき、前記転換は、二次変換を使用しないで前記転換を実行することを含む、条項1〜19のうちのいずれかの方法。
【0414】
21.変換情報は、一次変換情報を示す、条項1〜17のうちのいずれかの方法。
【0415】
22.LastX≦Th0及びLastY≦Th1の故に、コード化された表現は、転換中に離散コサイン変換(DCT−II)の適用を信号化する構文要素を有さない、条項6〜19項のうちのいずれかの方法。
【0416】
23.LastX≦Th0又はLastY≦Th1の故に、コード化された表現は、転換中に離散コサイン変換(DCT−II)の適用を信号化する構文要素を有さない、条項6〜19のうちのいずれかの方法。
【0417】
24.転換は、一次変換情報が信号化されない場合に、離散コサイン変換(DCT−II)を現在のビデオブロックの脱量子化された係数に適用することを含む、条項18〜20のうちのいずれかの方法。
【0418】
25.現在のビデオブロックを現在のビデオブロックのコード化された表現に転換する間に、現在のビデオブロックの最後の非ゼロ係数の位置をチェックすることであって、前記位置は、現在のビデオブロックの左上位置に対して相対的である、チェックすること(1852)と、前記位置に基づいて、コード化された表現において変換情報を信号化する構文要素をコード化するかどうかを決定すること(1854)とを含む、ビデオ処理の方法(例えば、
図18Bに示す方法1850)。
【0419】
26.現在のビデオブロックのコード化された表現から現在のビデオブロックへの転換の間に、現在のビデオブロックの最後の非ゼロ係数の位置をチェックすることであって、前記位置は、現在のビデオブロックの左上位置に対して相対的である、チェックすること(1952)と、前記位置及び少なくとも1つの他のコード化基準がある条件を満たすことの故に、変換情報を信号化する構文要素がコード化された表現に含められるべきことを決定すること(1954)と、コード化された表現に変換情報を識別する構文要素を含めることによって転換を実行すること(1956)とを含む、ビデオ処理の方法(例えば、
図19Bに示す方法1950)。
【0420】
27.現在のビデオブロックのコード化された表現から現在のビデオブロックへの転換の間に、現在のビデオブロックの最後の非ゼロ係数の位置をチェックすることであって、前記位置は、現在のビデオブロックの左上位置に対して相対的である、チェックすること(2052)と、前記位置及び/又は少なくとも1つの他のコード化基準がある条件を満たさないことの故に、変換情報を信号化する構文要素がコード化された表現に含められることからスキップされることを決定すること(2054)と、構文要素をスキップすることによってコード化された表現を生成し、それによって、デフォルト変換の使用を黙示的に信号化すること(2056)とを含む、ビデオ処理の方法(例えば、
図20Bに示す方法2050)。
【0421】
28.変換情報によって示される変換が、転換中の結果として得られる変換された残差係数値を量子化する前に、残差係数値に適用される、条項25〜27のうちのいずれかの方法。
【0422】
29.前記位置は、座標(LastX,LastY)によって表され、コード化された表現は、LastX≦Th0及びLastY≦Th1の故に、変換情報を信号化する構文要素を有さず、ここで、Th0及びTh1は、数字である、条項25の方法。
【0423】
30.コード化された表現は、LastX≦Th0又はLastY≦Th1の故に、前記変換情報を信号化する構文要素を有さず、ここで、Th0及びTh1は、数字である、条項25の方法。
【0424】
31.Th0及びTh1は、予め定義されており、コード化された表現において信号化されない、条項29〜30のうちのいずれかの方法。
【0425】
32.Th0及びTh1は、コード化された表現において信号化される、条項29〜30のうちのいずれかの方法。
【0426】
33.Th0及びTh1は、シーケンスパラメータセットレベル、画像パラメータセットレベル、スライスヘッダレベル、画像ヘッダレベル、コード化ユニットレベルのグループ、コード化ツリーユニットレベル、又はコード化ツリーブロックレベルで信号化される、条項32の方法。
【0427】
34.Th0及びTh1は、現在のビデオブロックの形状又はサイズに依存する、条項29〜30のうちのいずれかの方法。
【0428】
35.Th0及びTh1は、現在のビデオブロックのために使用される量子化パラメータに依存する、条項29〜30のうちのいずれかの方法。
【0429】
36.Th0及びTh1は、現在のビデオブロックのために使用されるコード化モードに依存する、条項29〜30のうちのいずれかの方法。
【0430】
37.Th0及びTh1は等しい、条項29〜36のうちのいずれかの方法。
【0431】
38.Th0=Th1=1である、条項37の方法。
【0432】
39.Th0=Th1=0である、条項37の方法。
【0433】
40.現在のビデオブロックが正方形のブロックであるならば、Th0及びTh1は等しいと決定され、現在のビデオブロックの幅が現在のビデオブロックの高さよりも大きいならば、Th0>Th1を有すると決定され、そうでない場合には、Th0がTh1よりも小さいと決定される、条項29〜30のうちのいずれかの方法。
【0434】
41.変換情報は、二次変換を示す、条項25〜40のうちのいずれかの方法。
【0435】
42.変換情報は、分離可能な二次変換を示す、条項25〜40のうちのいずれかの方法。
【0436】
43.変換情報は、分離不能な二次変換を示す、条項25〜40のうちのいずれかの方法。
【0437】
44.変換情報がコード化された表現において信号化されないとき、転換は、二次変換を使用しないで転換を実行することを含む、条項25〜43のうちのいずれかの方法。
【0438】
45.変換情報は、一次変換情報を示す、条項25〜44のうちのいずれかの方法。
【0439】
46.現在のビデオブロックの最後の非ゼロ係数の位置は、現在のビデオブロックの係数の順走査順序における位置であり、順走査順序は、例えば、VVC仕様で定義されるようにされてよい。条項1〜45のうちのいずれかの方法。
【0440】
47.変換は、順変換又は逆変換の少なくとも1つを含む、条項1〜46のうちのいずれかの方法。
【0441】
前のセクションは、上記解決策(例えば、項目6)の追加的な構成提供する。
【0442】
48.条項1〜47のうちの1つ以上に記載の方法を実装するように構成されたプロセッサを含む、ビデオエンコーダ装置。
【0443】
49.条項1〜48のうちの1つ以上に記載の方法を実装するように構成されたプロセッサを含む、ビデオデコーダ装置。
【0444】
50.コードを格納したコンピュータプログラム(製品)であって、コードは、実行後に、プロセッサに条項1〜47のうちの1つ以上に記載の方法を実装させる、コンピュータプログラム(製品)。
【0445】
51.本文書に記載の方法、装置又はシステム。
【0446】
7.開示の技術の例示的な実装
図30は、ビデオ処理装置3000のブロック図である。装置3000は、本明細書に記載する方法のうちの1つ以上を実装するために使用されてよい。装置3000は、スマートフォン、タブレット、コンピュータ、モノのインターネット(IoT:Internet of Things)受信機などにおいて具現されてよい。装置3000は、1つ以上のプロセッサ3002と、1つ以上のメモリ3004と、ビデオ処理ハードウェア3006とを含んでよい。(複数の)プロセッサ3002は、本文書に記載する1つ以上の方法(本明細書に記載する様々な方法を含むが、これらに限定されない)を実装するように構成されてよい。(複数の)メモリ3004は、本明細書に記載する方法及び技術を実施するために使用されるデータ及びコードを格納するために使用されてよい。ビデオ処理ハードウェア3006は、ハードウェア回路構成において、本文書に記載するつかの技術を実装するために使用されてよい。
【0447】
幾つかの実施形態において、ビデオコード化方法は、
図30に関して記載するようにハードウェアプラットフォーム上に実装される装置を使用して実装されてよい。
【0448】
図32は、本明細書に開示する様々な技術が実装されることがある例示的なビデオ処理システム3200を示すブロック図である。様々な実装は、システム3200の構成要素の一部又は全部を含んでよい。システム3200は、ビデオコンテンツを受信するための入力3202を含んでよい。ビデオコンテンツは、未加工又は非圧縮フォーマット、例えば、8又は10ビットの多成分画素値で受信されてよく、或いは圧縮又は符号化されたフォーマットで受信されてよい。入力3202は、ネットワークインターフェース、周辺バスインターフェース、又は記憶装置インターフェースを表すことがある。ネットワークインターフェースの例は、イーサネット、受動光ネットワーク(PON)などのような有線インターフェースと、Wi−Fi又はセルラーインターフェースのような無線インターフェースを含む。
【0449】
システム3200は、本文書に記載する様々なコード化方法又は符号化方法を実装することがあるコード化構成要素3204を含んでよい。コード化構成要素3204は、コード化構成要素3204の入力3202から出力へのビデオの平均ビットレートを低減させて、ビデオのコード化された表現を生成してよい。従って、コード化技術は、ビデオ圧縮又はビデオ変換コード化(トランスコーディング)技術と称されることがある。コード化構成要素3204の出力は、格納されてよく、或いは構成要素3206によって表されるような接続された通信を介して送信されてよい。入力3202で受信されるビデオの格納された又は通信されたビットストリーム(又はコード化された)表現は、ディスプレイインターフェース3210に送信される画素値又は表示可能なビデオを生成するために、構成要素3208によって使用されてよい。ビットストリーム表現からユーザが視認することができるビデオを生成するプロセスは、ビデオ解凍と称されることがある。更に、特定のビデオ処理操作が「コード化(コーディング)」操作又はツールと称されるが、コード化ツール又は操作はエンコーダで使用され、コード化の結果を反転する対応する復号化ツール又は操作はデコーダによって実行されることが理解されるであろう。
【0450】
周辺バスインターフェース又はディスプレイインターフェースの例は、ユニバーサルシリアルバス又は高精細度マルチメディアインターフェース(HDMI(登録商標))又はディスプレイポートなどを含む。記憶装置インターフェースの例は、SATA(serial advanced technology attachment)、PCI、IDEインターフェース及び同等物を含む。本文書に記載する技術は、携帯電話、ラップトップ、スマートフォン、又はデジタルデータ処理及び/又はビデオ表示を実行することができる他のデバイスのような、様々な電子デバイスにおいて具現されてよい。
【0451】
以上から、本開示の技術の特定の実施形態が、例示の目的のために本明細書に記載されているが、本発明の範囲を逸脱することなく、様々な修正が行われてよいことが理解されるであろう。従って、本開示の技術は、添付の特許請求の範囲による場合を除き、限定されない。
【0452】
この特許文書に記載する主題の実装及び機能的な動作は、この明細書に開示する構造及びそれらの構造的均等物を含む、様々なシステム、デジタル電子回路構成、又はコンピュータソフトウェア、ファームウェア、若しくはハードウェアにおいて、或いはそれらの1つ以上の組み合わせにおいて実装されることができる。この明細書に記載する主題の実装は、1つ以上のコンピュータプログラム製品、すなわち、データ処理装置による、又はデータ処理装置の動作を制御するための、有形で非一時的なコンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1つ以上のモジュールとして実装されることができる。コンピュータ可読媒体は、機械可読格納デバイス、機械可読記憶装置基板、メモリデバイス、機械可読伝搬信号に影響を与える物質の組成、又はそれらの1つ以上の組み合わせであることができる。「データ処理ユニット」又は「データ処理装置」という用語は、一例として、プログラマブルプロセッサ、コンピュータ、又は複数のプロセッサ又はコンピュータを含む、データを処理するための全ての装置、デバイス、及び機械を包含する。装置は、ハードウェアに加えて、問題のコンピュータプログラムのための実行環境を生成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらの1つ以上の組み合わせを構成するコードを含むことができる。
【0453】
(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる)コンピュータプログラムは、コンパイルされた又は解釈された言語を含む、任意の形態のプログラミング言語において書かれることができ、それは、スタンドアロンプログラムとして、又はコンピューティング環境における使用に適したモジュール、コンポーネント、サブルーチン、又は他のユニット含む、任意の形態で展開されることができる。コンピュータプログラムは、ファイルシステム内のファイルに必ずしも対応しない。プログラムは、他のプログラム又はデータ(例えば、マークアップ言語文書に格納される1つ以上のスクリプト)を保持するファイルの一部分、問題のプログラム専用の単一ファイル、又は複数の調整されたファイル(例えば、1つ以上のモジュール、サブプログラム、又はコードの一部分を格納するファイル)に格納されることができる。コンピュータプログラムは、1つのコンピュータ上で又は1つのサイトに配置されるか或いは複数のサイトに分散されて通信ネットワークによって相互接続される複数のコンピュータ上で実行されるように配置されることができる。
【0454】
本明細書に記載するプロセス及び論理フローは、入力データ上で操作して出力を生成することによって機能を実行するために1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実行されることができる。プロセス及び論理フローは、FPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)のような特殊目的の論理回路構成として実装されることもでき、装置もそのようなものとして実装されることができる。
【0455】
コンピュータプログラムの実行に適したプロセッサは、一例として、汎用マイクロプロセッサ及び専用マイクロプロセッサの両方、及び任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般的に、プロセッサは、読み出し専用メモリ又はランダムアクセスメモリ又はそれらの両方から命令及びデータを受信する。コンピュータの必須要素は、命令を実行するためのプロセッサと、命令及びデータを格納するための1つ以上のメモリデバイスである。一般的に、コンピュータは、データを格納するための1つ以上の大容量記憶装置、例えば、磁気光ディスク、磁気光ディスク又は光ディスクを含み、或いはそれらからデータを受信するか或いはそれらにデータを転送するためにそれらに動作的に連結される。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令及びデータを格納するのに適したコンピュータ可読媒体は、一例として、半導体メモリデバイス、例えば、EPROM、EEPROM、及びフラッシュメモリデバイスを含む、全ての形態の不揮発性メモリ、媒体及びメモリデバイスを含む。プロセッサ及びメモリは、特殊目的論理回路構成によって補足されるか或いは組み込まれることもができる。
【0456】
本明細書は、図面と共に、単に例示的であると考えられ、例示とは、例を意味することが意図される。本明細書中で使用されるとき、単数形の表現は、文脈が他に明確に示さない限り、複数形も含むことが意図される。加えて、「又は」の使用は、文脈が他に明確に示さない限り、「及び/又は」を含むことが意図される。
【0457】
この特許文書は多くの詳細を含むが、これらはいずれかの発明又は特許請求することがあるものの範囲に対する限定として解釈されてはならず、むしろ特定の発明の特定の実施形態に特有であることがある構成の記述として解釈されるべきである。別個の実施形態の文脈でこの特許文書に記載される特定の構成は、単一の実施形態において組み合わせにおいて実施されることもできる。逆に、単一の実施形態の文脈において記載される様々な構成は、別個に複数の実施形態において或いは任意の適切なサブコンビネーションにおいて実施されることもできる。その上、構成は、特定の組み合わせにおいて作用するものとして上記で記載されることがあり、最初にそのように特許請求されることさえあるが、特許請求される組み合わせからの1つ以上の構成は、場合によっては、組み合わせから削除されることができ、特許請求される組み合わせは、サブコンビネーション又はサブコンビネーションの変形に向けられてよい。
【0458】
同様に、動作が特定の順序で図面に示されているが、これは所望の結果を達成するためにそのような動作が図示の特定の順序で或いは順次的な順序で実行されること又は全ての例示の動作が実行されることを要求するものとして理解されるべきではない。その上、この特許文書に記載する実施形態における様々なシステム構成要素の分離は、全ての実施形態においてそのような分を必要とするものとして理解されるべきではない。
【0459】
少数の実装及び例のみが記載されており、他の実装、拡張及び変形がこの特許文書に記載され且つ例示されるものに基づいて行われることができる。