(57)【要約】  ビデオシーケンスを復号する方法及び装置が提供される。この方法は、符号化ユニットの幅または高さが２の累乗であるかどうかを決定するステップと、符号化ユニットの幅または高さが２の累乗ではないと決定したことに基づいて、符号化ユニットを複数のサブブロックに分割するステップであって、複数のサブブロックの数が最小化されるように、各サブブロックは２の累乗であって最大化される幅または高さを有するステップと、を含む。この方法は、符号化ユニットが分割される複数のサブブロックにフレーム内および／またはフレーム間予測を適用するステップをさらに含む。
2021519050.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのプロセッサが実行するビデオシーケンス復号の方法であって、
前記プロセッサが、
符号化ユニットの幅または高さが２の累乗であるかどうかを決定するステップと、
前記符号化ユニットの幅または高さが２の累乗ではないと決定したことに基づいて、前記符号化ユニットを複数のサブブロックに分割するステップであって、前記複数のサブブロックの数が最小化されるように、各サブブロックは２の累乗であって最大化される幅または高さを有する、ステップと、
前記符号化ユニットが分割される前記複数のサブブロックにフレーム内および／またはフレーム間予測を適用するステップと、
を含む、ことを特徴とする方法。
【請求項２】
前記符号化ユニットを複数のサブブロックに分割するステップは、
前記符号化ユニットの幅または高さが６、１２、２０、２４、２８、３６、４０、４４、４８、５２、５６または６０であると決定したことに基づいて、前記符号化ユニットを、４＋２、８＋４、１６＋４、１６＋８、１６＋８＋４、３２＋４、３２＋８、３２＋８＋４、３２＋１６、３２＋１６＋４、３２＋１６＋８または３２＋１６＋８＋４の幅または高さを有する前記複数のサブブロックにそれぞれ分割するステップ
を含む、ことを特徴とする請求項１に記載の方法。
【請求項３】
前記符号化ユニットを複数のサブブロックに分割するステップは、
信号、前記複数のサブブロックの１つ以上の隣接するブロックのサイズ、符号化ツリーユニットにおける各サブブロックの位置、前記複数のサブブロックの１つ以上の親ブロックの分割タイプ、各サブブロックのルーマまたはクロマ成分、および各サブブロックの幅または高さのいずれか１つまたは任意の組み合わせに基づいて、前記符号化ユニットが分割される前記複数のサブブロックの空間的順序を決定するステップ
を含む、ことを特徴とする請求項１に記載の方法。
【請求項４】
前記符号化ユニットを複数のサブブロックに分割するステップは、
前記符号化ユニットの幅または高さが２の累乗ではないと決定したことに基づいて、
信号、前記複数のサブブロックの１つ以上の隣接するブロックのサイズ、符号化ツリーユニットにおける各サブブロックの位置、前記複数のサブブロックの１つ以上の親ブロックの分割タイプ、各サブブロックのルーマまたはクロマ成分、各サブブロックの幅または高さ、および複数の符号化ユニットをそれぞれ分割するための複数の所定パターンのいずれか１つまたは任意の組み合わせに基づいて、前記符号化ユニットが分割される前記複数のサブブロックの数を決定するステップと、
決定した前記複数のサブブロックの数にさらに基づいて、前記符号化ユニットを前記複数のサブブロックに分割するステップと、
を含む、ことを特徴とする請求項１に記載の方法。
【請求項５】
前記プロセッサが、信号、前記複数のサブブロックの１つ以上の隣接するブロックのサイズ、符号化ツリーユニットにおける各サブブロックの位置、前記複数のサブブロックの１つ以上の親ブロックの分割タイプ、各サブブロックのルーマまたはクロマ成分、および各サブブロックの幅または高さのいずれか１つまたは任意の組み合わせに基づいて、前記複数のサブブロックが符号化される順序を決定するステップ
をさらに含む、ことを特徴とする請求項１に記載の方法。
【請求項６】
前記プロセッサが、
前記符号化ユニットのための、前記符号化ユニットに対して非ゼロ係数があるかどうかを示す第１の符号化ブロックフラグ（ＣＢＦ）を設定するステップと、
各サブブロックのための、前記複数のサブブロックの各々に対して非ゼロ係数があるかどうかを示す第２のＣＢＦを設定するステップと、
をさらに含む、ことを特徴とする請求項１〜５のいずれか一項に記載の方法。
【請求項７】
前記プロセッサが、前記符号化ユニットのための第１のＣＢＦが１に設定され、かつ、符号化順序で前記複数のサブブロックの最後の１つのサブブロックに先行する前記複数のサブブロックのうちの先行するもののための第２のＣＢＦが０に設定されることに基づいて、前記複数のサブブロックの最後の１つのサブブロックのための第２のＣＢＦを１に設定するステップ
をさらに含む、ことを特徴とする請求項６に記載の方法。
【請求項８】
前記プロセッサが、前記複数のサブブロックのうちの１つのサブブロックのサイズに基づいて、前記複数のサブブロックのうちの前記１つのサブブロックに変換を適用するステップ
をさらに含み、
前記複数のサブブロックのうちの前記１つのサブブロックのサイズは、前記複数のサブブロックのうちの前記１つのサブブロックの幅、高さ、面積、および高さに対する幅の比率のいずれか１つまたは任意の組み合わせを含む、
ことを特徴とする請求項１〜５のいずれか一項に記載の方法。
【請求項９】
前記プロセッサが、
前記符号化ユニットにおける前記複数のサブブロックのうちの１つのサブブロックの位置に基づいて、複数の変換のうちの１つの変換を選択するステップと、
選択した前記複数の変換のうちの前記１つの変換を前記複数のサブブロックのうちの前記１つのサブブロックに適用するステップと、
をさらに含む、ことを特徴とする請求項１〜５のいずれか一項に記載の方法。
【請求項１０】
前記プロセッサが、前記符号化ユニットの幅または高さが２の累乗ではないと決定したことに基づいて、前記符号化ユニットにフレーム間予測のみを適用するステップ
をさらに含む、ことを特徴とする請求項１〜５のいずれか一項に記載の方法。
【請求項１１】
前記プロセッサが、前記符号化ユニットの幅と高さのそれぞれが２の累乗であると決定したことに基づいて、
前記符号化ユニットを複数のパーティションに分割するステップと、
前記複数のパーティションのいずれか１つまたは任意の組み合わせの幅または高さが２の累乗であるかどうかを決定するステップと、
前記複数のパーティションのいずれか１つまたは任意の組み合わせの幅または高さが２の累乗ではないと決定したことに基づいて、前記符号化ユニットに変換を適用するステップと、
をさらに含む、ことを特徴とする請求項１および３〜５のいずれか一項に記載の方法。
【請求項１２】
前記プロセッサが、前記符号化ユニットの幅または高さが２の累乗ではないと決定したことに基づいて、
前記符号化ユニットのための、前記符号化ユニットに対して非ゼロ係数があるかどうかを示す第１の符号化ブロックフラグ（ＣＢＦ）を０に設定するステップ、または、
前記符号化ユニットを、予測ブロックの予測値を示すＤＣ値に関連付けるステップ
をさらに含む、ことを特徴とする請求項１〜５のいずれか一項に記載の方法。
【請求項１３】
ビデオシーケンスを復号する装置であって、
プログラムを記憶している少なくとも１つのメモリと、
前記メモリに接続されるプロセッサと、
を含み、
前記プロセッサは、前記プログラムを実行して、請求項１〜１２のいずれか一項に記載のビデオシーケンス復号の方法を実現するように構成される、ことを特徴とする装置。
【請求項１４】
コンピュータに、請求項１〜１２のいずれか一項に記載のビデオシーケンス復号の方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願への相互参照］
本開示は、２０１８年４月２６日に米国特許＆商標庁に提出された米国仮出願第６２／６６３，１７９からの優先権および２０１８年１２月６日に米国特許＆商標庁に提出された米国出願第１６／２１２，０９４号からの優先権を主張し、その全体が参照により本明細書に組み込まれる。
［技術分野］
本開示は、ビデオ符号化および復号技術に関し、特に、ビデオシーケンスを復号する方法および装置に関する。
【背景技術】
【０００２】
高効率ビデオ符号化（ＨＥＶＣ：Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）では、符号化ツリーユニット（ＣＴＵ：ｃｏｄｉｎｇ  ｔｒｅｅ  ｕｎｉｔ）は、様々なローカル特性に適応するために、符号化ツリーとして示される四分木構造を使用することによって、符号化ユニット（ＣＵ：Ｃｏｄｉｎｇ  Ｕｎｉｔ）に分割される。フレーム間画像（時間的）予測またはフレーム内画像（空間的）予測を使用して画像領域を符号化するかどうかは、ＣＵレベルで決定される。各ＣＵは、さらに、予測ユニット（ＰＵ：Ｐｒｅｄｉｃｔｉｏｎ  Ｕｎｉｔ）の分割タイプに従って、１つ、２つまたは４つのＰＵに分割されることができる。１つのＰＵ内で、同じ予測処理が適用され、また、関連情報がＰＵベースでデコーダに送信される。ＰＵの分割タイプに基づいて、予測処理を適用することにより残差ブロックを取得した後、ＣＵは、ＣＵの符号化ツリーに類似する別の四分木構造に従って、変換ユニット（ＴＵ：Ｔｒａｎｓｆｏｒｍ  Ｕｎｉｔ）に分割されることができる。ＨＥＶＣ構造の１つの特徴は、ＣＵ、ＰＵおよびＴＵを含む複数分割の概念を有することである。ＨＥＶＣでは、フレーム間予測ブロックについて、ＣＵまたはＴＵは正方形のみであるが、ＰＵは正方形または長方形であってもよい。ＨＥＶＣの後期段階では、長方形のＰＵをフレーム内予測および変換に使用することを許可するように提案されたものはいくつかがある。これらの提案は、ＨＥＶＣには採用されていないが、共同探索モデル（ＪＥＭ：Ｊｏｉｎｔ  Ｅｘｐｌｏｒａｔｉｏｎ  Ｍｏｄｅｌ）で使用するように拡張されている。
【０００３】
画像の境界では、ＨＥＶＣは、サイズが画像の境界に敵合するまで、ブロックが四分木分割を維持するように、暗黙的な四分木分割を課す。
【０００４】
四分木プラス二分木（ＱＴＢＴ：Ｑｕａｄｔｒｅｅ  Ｐｌｕｓ  Ｂｉｎａｒｙ  Ｔｒｅｅ）構造は、複数の分割タイプの概念を取り除き、すなわち、Ｃｕ、ＰＵおよびＴＵの概念の分離を取り除き、ＣＵの分割形状のより多くの柔軟性をサポートする。ＱＴＢＴ構造では、ＣＵは、正方形または長方形を有することができる。
【０００５】
図１Ａは、ＱＴＢＴ構造の図である。
【０００６】
図１Ａを参照すると、まず、ＣＴＵは、四分木構造によって分割される。さらに、四分木のリーフノードは、二分木構造によって分割される。二分木分割では、対称水平分割と対称垂直分割の２つの分割タイプがある。二分木のリーフノードは、符号化ユニット（ＣＵ）と呼ばれ、この分割が、さらなる分割なしで、予測および変換処理に用いられる。これは、ＱＴＢＴ符号化ブロック構造では、ＣＵ、ＰＵとＴＵが同じブロックサイズを有する、ということを意味する。ＪＥＭでは、ＣＵは、異なる色成分の符号化ブロック（ＣＢ：Ｃｏｄｉｎｇ  Ｂｌｏｃｋ）から構成される場合があり、例えば、４：２：０色度フォーマットのＰおよびＢスライスの場合、１つのＣＵが１つの輝度（Luma）ＣＢと２つの色度（Chroma）ＣＢを含み、このＣＵが単一成分のＣＢから構成される場合があり、例えば、Ｉスライスの場合、１つのＣＵが１つの輝度ＣＢのみまたはちょうど２つの色度ＣＢを含む。
【０００７】
ＱＴＢＴの分割スキームに対して、以下のパラメータが定義された。
【０００８】
ＣＴＵサイズは、四分木のルートノードサイズであり、ＨＥＶＣにおける同じ概念である。
【０００９】
ＭｉｎＱＴＳｉｚｅは、許可された最小の四分木のリーフノードのサイズである。
【００１０】
ＭａｘＢＴＳｉｚｅは、許可された最大の二分木のルートノードのサイズである。
【００１１】
ＭａｘＢＴＤｅｐｔｈは、許可された最大の二分木の深さである。
【００１２】
ＭｉｎＢＴＳｉｚｅは、許可された最小の二分木のリーフノードのサイズである。
【００１３】
ＱＴＢＴ分割構造の例では、ＣＴＵサイズを色度サンプルの対応する２つの６４×６４ブロックを有する１２８×１２８輝度サンプルとして設定し、ＭｉｎＱＴＳｉｚｅを１６×１６に設定し、ＭａｘＢＴＳｉｚｅを６４×６４に設定し、ＭｉｎＢＴＳｉｚｅ（幅と高さの両方）を４×４に設定し、ＭａｘＢＴＤｅｐｔｈを４に設定する。まず、四分木分割をＣＴＵに適用して四分木のリーフノードを生成する。四分木のリーフノードのそれぞれは、１６×１６（即ち、ＭｉｎＱＴＳｉｚｅ）から１２８×１２８（即ち、ＣＴＵサイズ）までのサイズを有することができる。四分木のリーフノードは１２８×１２８のサイズである場合、ＭａｘＢＴＳｉｚｅ（即ち、６４×６４）を超えるため、二分木によって更に分割されない。そうでなければ、四分木のリーフノードは、二分木によって更に分割されることができる。したがって、四分木のリーフノードも、二分木のルートノードであり、また、それが、二分木の深さ「０」を有する。二分木の深さがＭａｘＢＴＤｅｐｔｈ（即ち、４）に達する場合、さらなる分割は考慮されていない。二分木のノードがＭｉｎＢＴＳｉｚｅ（即ち、４）に等しい幅を有する場合、さらなる水平分割は考慮されていない。同様に、二分木のノードがＭｉｎＢＴＳｉｚｅに等しい高さを有する場合、さらなる垂直分割は考慮されていない。任意の更なる分割を行わないで、さらに、二分木のリーフノードを予測および変換処理によって処理する。ＪＥＭでは、最大のＣＴＵサイズは２５６×２５６個の輝度サンプルである。
【００１４】
図１Ａの部分（ａ）は、ＱＴＢＴを使用することによるブロック分割の例を示し、図１Ａの部分（ｂ）は、対応するツリー表現を示す。実線は、四分木分割を示し、点線は、二分木分割を示す。二分木の各分割（すなわち、非リーフ）ノードでは、どの分割タイプ（すなわち、水平または垂直）を使用するかを示す１つのフラグが信号で通知され、ここで、０は水平分割を示し、１は垂直分割を示す。四分木分割については、分割タイプを示す必要はなく、これは、四分木分割が常にブロックを水平と垂直の両方に分割して、等しいサイズを有する４つのサブブロックを生成するためである。
【００１５】
また、ＱＴＢＴスキームは、輝度と色度が個別のＱＴＢＴ構造を有する能力をサポートしている。現在、ＰおよびＢスライスについて、１つのＣＴＵにおける輝度ＣＴＢおよび色度ＣＴＢは、同じＱＴＢＴ構造を共有する。しかしながら、Ｉスライスについて、輝度ＣＴＢをＱＴＢＴ構造に従ってＣＵに分割し、色度ＣＴＢを別のＱＴＢＴ構造に従って色度ＣＵに分割する。これは、ＩスライスにおけるＣＵが、輝度成分の符号化ブロックまたは２つの色度成分の符号化ブロックから構成され、ＰスライスまたはＢスライスにおけるＣＵが、３つの色成分の符号化ブロックのすべてから構成される、ということを意味する。
【００１６】
ＨＥＶＣでは、動き補償のメモリアクセスを低減するために、小さいブロックのフレーム間予測を制限し、これにより、４×８と８×４のブロックは、双方向予測をサポートしていないし、４×４のブロックは、フレーム間予測をサポートしていない。ＪＥＭで実装されているＱＴＢＴでは、これらの制限は削除された。
【００１７】
ブロック分割構造は、三分木（ＴＴ：Ｔｅｒｎａｒｙ  Ｔｒｅｅ）を使用することができる。詳細には、マルチタイプツリー（ＭＴＴ：Ｍｕｌｔｉ−ｔｙｐｅ  Ｔｒｅｅ）は、ＱＴＢＴよりも柔軟なツリー構造である。ＭＴＴでは、図１Ｂの部分（ａ）および（ｂ）に示されるように、四分木および二分木以外に、水平および垂直の中心側の三分木も導入されている。
【００１８】
図１Ｂは、垂直中心側の三分木分割および水平中心側の三分木分割の図である。
【００１９】
図１Ｂを参照すると、部分（ａ）は、垂直中心側の三分木分割を示し、部分（ｂ）は、水平中心側の三分木分割を示す。
【００２０】
三分木分割の主な利点は、以下の通りである。即ち、
三分木分割は、四分木分割と二分木分割を補完することであり、ブロックの中心にあるオブジェクトを捕捉することができ、四分木と二分木では、常に、ブロックの中心に沿って分割が実行される。
【００２１】
提案された三分木分割の幅と高さは、常に２の累乗であるため、付加的な変換は必要なくなる。
【００２２】
２つレベルのツリーの設計は、主に複雑さの低減によって動機付けられる。理論的には、ツリーのトラバースの複雑さは
2021519050.tif 000003
であり、ここで、
2021519050.tif 000004
は、分割タイプの数を示し、
2021519050.tif 000005
は、ツリーの深さを示す。
【００２３】
図１Ｃおよび１Ｄは、２の整数累乗を示すブロックサイズについてサポートされる分割の図である。
【００２４】
一般化された二値分割またはシフトを伴う二分木（ＢＴＳ：Ｂｉｎａｒｙ  Ｔｒｅｅ  Ｗｉｔｈ  Ｓｈｉｆｔｉｎｇ）が提案された。各ブロックは分割されないか、または２つの長方形ブロック（水平方向または垂直方向のいずれか）に分割される。得られたＣＵの幅と高さ（輝度サンプルで）は、いずれも４の整数倍を示す必要がある。ｄｉｍは、分割されるブロックの輝度サンプルでの幅（垂直分割の場合）または高さ（水平分割の場合）を示す。２つの分割方向について、以下の分割がサポートされている（図１Ｃおよび１Ｄの図を参照）。
【００２５】
１／２分割（図１Ｃの１行目）：この分割は、
2021519050.tif 000006
の場合にサポートされる。これは、ＪＥＭにおけるＱＴＢＴのための二値分割に似ている。
【００２６】
１／４分割および３／４分割（図１Ｃの２行目）：これらの分割は、ｄｉｍが２の整数累乗（
2021519050.tif 000007
）を示し、かつ、
2021519050.tif 000008
の場合にサポートされる。
【００２７】
３／８分割および５／８分割（図１Ｃの３行目）：これらの分割は、ｄｉｍが２の整数累乗（
2021519050.tif 000009
）を示し、かつ、
2021519050.tif 000010
の場合にサポートされる。
【００２８】
１／３分割および２／３分割（図１Ｄの１行目）：これらの分割は、
2021519050.tif 000011
、かつ、
2021519050.tif 000012
の場合にサポートされる。
【００２９】
１／５分割、２／５分割、３／５分割および２／３分割（図１Ｄの２行目および３行目）：これらの分割は、
2021519050.tif 000013
、かつ、
2021519050.tif 000014
の場合にサポートされる。
【００３０】
ここでは、次のような慣例が用いられている。ｎ／ｍ水平分割は、１つの分割を指定し、この分割に対して、第１結果ブロック（上部ブロック）の高さと、分割されるブロックの高さとの比率がｎ／ｍに等しい。同様に、ｎ／ｍ垂直分割は、１つの分割を指定し、この分割に対して、第１結果ブロック（左側ブロック）の幅と、分割されるブロックの幅との比率がｎ／ｍに等しい。分割される辺のサイズが
2021519050.tif 000015
に等しくない場合、
2021519050.tif 000016
または
2021519050.tif 000017
のいずれかに等しくなる。
【００３１】
二値分割は、その分割方向とその分割比によって一意に決定される。二値分割の方向は、以前の分割に応じて符号化され、つまり、水平または垂直分割として信号で通知される代わりに、縦または平行分割に信号で通知され、しかしながら、鉛直または平行分割が、常に、水平または垂直分割に変換されることができる。ルートレベルでは、以前の分割は信号で通知されず、第１縦分割は水平分割であり、第１平行分割は垂直分割である。二値フラグｐｅｒｐｅｎｄ＿ｓｐｌｉｔ＿ｆｌａｇは、２つの可能な方向（縦と平行）を区別する。そして、分割比率は、分割する場所を記述し（図１Ｃおよび１Ｄを参照）、二値決定木を使用して符号化される。何の制限もなく、シフトを伴う二値分割のための完全なシグナリングツリーが図１Ｄに示されている。分割方向および分割比率の両方は、コンテキストベースの適応算術符号化（ＣＢＡＡＣ：Ｃｏｎｔｅｘｔ−Ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ）を使用して符号化される。二分木深さのカウントは、縦の１／２分割ではない第１分割から開始される。
【００３２】
図１Ｅは、非対称な二分木（ＡＢＴ：Ａｓｙｍｍｅｔｒｉｃ  Ｂｉｎａｒｙ  Ｔｒｅｅ）ブロック分割（パーティション）構造における分割（スプリット）モード（ツリータイプ）の図である。
【００３３】
ＡＢＴブロック分割構造も提案された。図１Ｅに示されるように、ブロックは、１：３または３：１の分割を使用して分割されることができ、例えば、ＨＯＲ＿ＵＰ、ＨＯＲ＿ＤＯＷＮ、ＶＥＲ＿ＬＥＦＴ、ＶＥＲ＿ＲＩＧＨＴである。ＢＴＳとＡＢＴの両方について、分割の幅や高さは、２の累乗以外にすることができる。
【００３４】
既にＨＥＶＣで使用されている離散コサイン変換（ＤＣＴ：Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）―ＩＩおよび４×４離散サイン変換（ＤＳＴ：Ｄｉｓｃｒｅｔｅ  Ｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）―ＶＩＩに加えて、適応多重変換（ＡＭＴ：Ａｄａｐｔｉｖｅ  Ｍｕｌｔｉｐｌｅ  Ｔｒａｎｓｆｏｒｍ）または拡張多重変換（ＥＭＴ：Ｅｎｈａｎｃｅｄ  Ｍｕｌｔｉｐｌｅ  Ｔｒａｎｓｆｏｒｍ）スキームは、フレーム間及びフレーム内の両方の符号化されたブロックのための残差符号化に使用される。ＡＭＴスキームは、ＤＣＴ／ＤＳＴファミリーから選択された、ＨＥＶＣにおける現在の変換以外の複数の変換を使用する。新たに導入された変換行列は、ＤＳＴ―ＶＩＩ、ＤＣＴ―ＶＩＩＩ、ＤＳＴ―Ｉ、ＤＣＴ―Ｖである。表１は、選択されたＤＳＴ／ＤＣＴの基本関数を示している。
【００３５】
【表１】
2021519050.tif 000018
変換行列の直交性を維持するために、変換行列は、ＨＥＶＣでの８ビット表現の代わりに１０ビット表現で、ＨＥＶＣにおける変換行列よりも正確に量子化されることができる。変換係数の中間値を１６ビットの範囲に維持するために、水平および垂直変換後、現在のＨＥＶＣ変換で使用されている右シフトと比較して、すべての係数がさらに２ビット右シフトされる。
【００３６】
ＡＭＴは、幅および高さの両方が６４以下であるＣＵに適用され、ＡＭＴが適用されるかどうかは、ＣＵレベルフラグによって制御される。ＣＵレベルフラグが０に等しい場合、ＤＣＴ−ＩＩは、残差を符号化するためにＣＵで適用される。ＡＭＴを有効にするＣＵ内の輝度符号化ブロックに対して、２つの付加的なフラグは、使用される水平及び垂直変換を識別するために信号で通知される。ＨＥＶＣの場合と同じように、ブロックの残差は、ＪＥＭで変換スキップモードを使用して符号化されることができる。シンタックス符号化の冗長性を避けるために、変換レベルスキップフラグは、ＣＵレベルＡＭＴフラグがゼロに等しくない場合、信号で通知されない。
【００３７】
フレーム内残差符号化については、異なるフレーム内予測モードの異なる残差統計のため、モード依存の変換候補選択プロセスが使用される。表２に示すように３つの変換サブセットが定義されており、表２に規定されるように、フレーム内予測モードに基づいて変換サブセットが選択される。
【００３８】
【表２】
2021519050.tif 000019
サブセットの概念では、変換サブセットは、１に等しいＣＵレベルＡＭＴフラグを有するＣＵのフレーム内予測モードを使用して、表２に基づいて識別される。その後、水平および垂直変換のそれぞれについて、識別された変換サブセットにおける２つの変換候補のうちの１つは、表３に従って、フラグを使用して明示的に信号で通知されたことに基づいて選択される。
【００３９】
【表３】
2021519050.tif 000020
しかしながら、フレーム間予測残差に対して、ＤＳＴ−ＶＩＩとＤＣＴ−ＶＩＩＩからなる１つの変換セットのみが、すべてのフレーム間モードと、水平および垂直変換との両方に使用される。
【００４０】
ＡＭＴの複雑さは、エンコーダ側で比較的高くなり、これは、ブルートフォース検索が使われる場合、残差ブロックごとにレート歪みコストを使用して合計５つの異なる変換候補（ＤＣＴ−ＩＩおよび４つの多重変換候補）を評価する必要があるからである。エンコーダでのこの複雑さ問題を軽減するために、ＪＥＭにおけるアルゴリズム加速のために、いくつかの最適化方法が設計されている。
【００４１】
ＢＴＳおよびＡＢＴの両方について、パーティションの幅または高さは、２の累乗ではなく、例えば、６、１２、２０、２４であり得る。これにより、２の累乗ではない変換の使用が必然的に導入され、これは、変換コアを増加させ、２の累乗ではない変換を処理するために個別の機能／モジュールを必要とする。さらに、パーティションの幅または高さが２の累乗ではない場合、例えば平面モード、ＤＣモードおよび強力なフレーム内平滑化など、より多くのパーティション動作が存在する場合がある。
【発明の概要】
【課題を解決するための手段】
【００４２】
一実施形態によれば、ビデオシーケンスを復号する方法であって、少なくとも１つのプロセッサによって実行され、前記方法は、符号化ユニットの幅または高さが２の累乗であるかどうかを決定するステップと、符号化ユニットの幅または高さが２の累乗ではないと決定されたことに基づいて、前記符号化ユニットを複数のサブブロックに分割するステップであって、前記複数のサブブロックの数が最小化されるように、各サブブロックは２の累乗であって最大化される幅または高さを有するステップ、とを含む。この方法は、前記符号化ユニットが分割されるサブブロックにフレーム内および／またはフレーム間予測を適用するステップ、をさらに含む。
【００４３】
一実施形態によれば、ビデオシーケンスを復号する装置であって、前記装置は、コンピュータプログラムコードを記憶するように構成される少なくとも１つのメモリと、少なくとも１つのメモリにアクセスし、コンピュータプログラムコードに従って動作するように構成される少なくとも１つのプロセッサとを含む。前記コンピュータプログラムコードは、前記少なくとも１つのプロセッサに、符号化ユニットの幅または高さが２の累乗であるかどうかを決定させるように構成される第１の決定コードと、前記少なくとも１つのプロセッサに、符号化ユニットの幅または高さが２の累乗ではないと決定されたことに基づいて、前記符号化ユニットを複数のサブブロックに分割させるように構成される分割コードであって、前記複数のサブブロックの数が最小化されるように、各サブブロックは２の累乗であって最大化される幅または高さを有する分割コードと、を含む。前記コンピュータプログラムコードは、前記少なくとも１つのプロセッサに、前記符号化ユニットが分割されるサブブロックにフレーム内および／またはフレーム間予測を適用させるように構成される第１適用コード、をさらに含む。
【００４４】
一実施形態によれば、命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体であって、前記命令は、プロセッサに、符号化ユニットの幅または高さが２の累乗であるかどうかを決定させ、符号化ユニットの幅または高さが２の累乗ではないと決定されたことに基づいて、前記符号化ユニットを複数のサブブロックに分割させ、ここで、前記複数のサブブロックの数が最小化されるように、各サブブロックは２の累乗であって最大化される幅または高さを有する。前記命令は、前記プロセッサに、前記符号化ユニットが分割されるサブブロックにフレーム内および／またはフレーム間予測を適用させる。
【図面の簡単な説明】
【００４５】
【図１Ａ】ＱＴＢＴ構造を示す図である。
【図１Ｂ】垂直中心側の三分木分割および水平中心側の三分木分割の図である。
【図１Ｃ】２の整数累乗を示すブロックサイズについてサポートされる分割の図である。
【図１Ｄ】２の整数累乗を示すブロックサイズについてサポートされる分割の図である。
【図１Ｅ】ＡＢＴブロック分割構造における分割モード（ツリータイプ）の図である。
【図２】一実施形態に係る通信システムの簡略ブロック図である。
【図３】一実施形態に係るストリーミング環境におけるビデオエンコーダ及びビデオデコーダの配置の図である。
【図４】一実施形態に係るビデオデコーダの機能ブロック図である。
【図５】一実施形態に係るビデオエンコーダの機能ブロック図である。
【図６】一実施形態に係る２の累乗ではないブロックの分割を示す図である。
【図７】別の実施形態に係る２の累乗ではないブロックの分割を示す図である。
【図８】一実施形態に係るビデオシーケンスの復号のためのフレーム内および／またはフレーム間予測を制御する方法を示すフローチャートである。
【図９】一実施形態に係るビデオシーケンスの復号のためのフレーム内および／またはフレーム間予測を制御する装置の簡略ブロック図である。
【図１０】実施形態を実施するのに適したコンピュータシステムの概略図である。
【発明を実施するための形態】
【００４６】
実施形態は、例えば、汎用ビデオ符号化（ＶＶＣ：Ｖｅｒｓａｔｉｌｅ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）のような、ＨＥＶＣを超える次世代のビデオ符号化技術に関するものである。より具体的には、２の累乗ではない幅または高さを有するブロックの変換スキームが説明され、そして、符号化ブロックよりも小さい変換ブロックの変換スキームも説明する。
【００４７】
本明細書に記載されている方法は、別々に使用されてもよく、または任意の順序で組み合わされてもよい。さらに、この方法は、処理回路（例えば、１つまたは複数のプロセッサまたは１つまたは複数の集積回路）によって実現されることができる。一例では、１つまたは複数のプロセッサが、非一時的なコンピュータ読み取り可能な媒体に記憶されているプログラムを実行する。
【００４８】
本明細書では、２の累乗ではないブロックは、幅および／または高さが２の累乗ではないブロックを示す。
【００４９】
図２は、一実施形態による通信システム（２００）の簡略化されたブロック図である。通信システム（２００）は、ネットワーク（２５０）を介して相互接続された、少なくとも２つの端末（２１０、２２０）を含むことができる。データの単方向伝送について、第１端末（２１０）は、ネットワーク（２５０）を介して他の端末（２２０）に送信するために、ローカル位置でビデオデータを符号化することができる。第２端末（２２０）は、ネットワーク（２５０）から他の端末の符号化されたビデオデータを受信し、符号化されたデータを復号して、復元されたビデオデータを表示することができる。単方向データ伝送は、メディアサービングアプリケーションなどでは一般的である。
【００５０】
図２は、例えば、ビデオ会議中に発生する可能性がある、符号化されたビデオの双方向伝送をサポートする第２ペアの端末（２３０、２４０）を示す。データの双方向伝送の場合、各端末（２３０、２４０）は、ネットワーク（２５０）を介して他の端末に送信するために、ローカル位置で捕捉されたビデオデータを符号化することができる。各端末（２３０、２４０）は、他の端末によって送信された、符号化されたビデオデータを受信することもでき、符号化されたデータを復号することができ、また復元されたビデオデータをローカルの表示デバイスに表示することもできる。
【００５１】
図２において、端末（２１０〜２４０）は、サーバ、パーソナルコンピュータ、およびスマートフォンとして示されてもよいが、実施形態の原理は、これに限定されていない。実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤおよび／または専用のビデオ会議機器を有するアプリケーションを見つける。ネットワーク（２５０）は、符号化されたビデオデータを端末（２１０〜２４０）で送信する任意の数のネットワークを表し、例えば、有線および／または無線の通信ネットワークを含む。通信ネットワーク（２５０）は、回線交換および／またはパケット交換のチャネルでデータを交換することができる。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワークおよび／またはインターネットを含む。本議論の目的のために、ネットワーク（２５０）のアーキテクチャおよびトポロジは、以下に本明細書で説明されない限り、実施形態の動作にとって重要ではない場合がある。
【００５２】
図３は、実施形態による、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置の図である。開示された主題は、例えば、光ディスク（ＣＤ：Ｃｏｍｐｅｃｔ  Ｄｉｓｃ）、高密度デジタルビデオディスク（ＤＶＤ：Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｄｉｓｃ）、メモリスティックなどを含むデジタルメディアへの圧縮されたビデオの記憶、ビデオ会議、デジタルＴＶなどを含む、他のビデオサポートアプリケーションにも同等に適用可能である。
【００５３】
ストリーミングシステムは、捕捉サブシステム（３１３）を含むことができ、この捕捉サブシステムが、例えばデジタルカメラなどのビデオソース（３０１）を含むことができ、例えば圧縮されていないビデオサンプルストリーム（３０２）を作成することができる。符号化されたビデオビットストリームと比較する際に、高いデータボリュームを強調するために太い線で描かれたサンプルストリーム（３０２）は、カメラ（３０１）に結合されたエンコーダ（３０３）によって処理されることができる。エンコーダ（３０３）は、以下で詳細に説明するように、開示された主題の様々な態様を可能にするかまたは実現するために、ハードウェア、ソフトウェア、またはそれらの組み合わせを含むことができる。サンプルストリームと比較する際により低いデータボリュームを強調するために細い線で描かれた、符号化されたビデオビットストリーム（３０４）は、将来の使用のためにストリーミングサーバ（３０５）に記憶されることができる。１つ以上のストリーミングクライアント（３０６、３０８）は、ストリーミングサーバ（３０５）にアクセスして、符号化されたビデオビットストリーム（３０４）のコピー（３０７、３０９）を検索することができる。クライアント（３０６）は、ビデオデコーダ（３１０）を含むことができ、このビデオデコーダ（３１０）は、伝入される、符号化されたビデオビットストリーム（３０７）のコピーを復号して、伝出される、ビデオサンプルストリーム（３１１）を作成することができ、このビデオサンプルストリーム（３１１）が、ディスプレイ（３１２）または他のレンダリングデバイス（図示せず）に表示されることができる。一部のストリーミングシステムでは、ビデオビットストリーム（３０４、３０７、３０９）は、特定のビデオ不符号化／圧縮規格に基づいて符号化されることができる。これらの規格の例には、ＩＴＵ−Ｔ勧告Ｈ．２６５が含まれる。開発中のビデオ符号化規格は、多機能ビデオ符号化（ＶＶＣ：Ｖｅｒｓａｔｉｌｅ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）として非公式に知られている。開示された主題は、ＶＶＣのコンテキストで使用されてもよい。
【００５４】
図４は、一実施形態によるビデオデコーダ（２１０）の機能ブロック図である。
【００５５】
受信機（４１０）は、ビデオデコーダ（３１０）によって復号される１つ以上のコーデックビデオシーケンスを受信することができ、同じまたはある実施形態では、一度に１つの符号化されたビデオシーケンスを受信することができ、ここで、各符号化されたビデオシーケンスの復号が、他の符号化されたビデオシーケンスから独立している。符号化されたビデオシーケンスは、チャネル（４１２）から受信されることができ、このチャネルが、符号化されたビデオデータを記憶する記憶デバイスへのハードウェア／ソフトウェアのリンクであってもよい。受信機（４１０）は、それぞれの使用エンティティ（図示せず）に転送されることができる、例えば符号化されたオーディオデータおよび／または補助のデータストリームなどの他のデータとともに、符号化されたビデオデータを受信することができる。受信機（４１０）は、符号化されたビデオシーケンスを他のデータから分離することができる。ネットワークジッタを防止するために、バッファメモリ（４１５）は、受信機（４１０）とエントロピーデコーダ／解析器（Ｐａｒｓｅｒ）（４２０）（以後の「解析器」）との間に結合されることができる。受信機（４１０）が十分な帯域幅および制御可能性を有するストア／フォワードデバイスからまたは等時性同期ネットワークからデータを受信する場合、バッファメモリ（４１５）は、必要ではないかまたは小さくでもよい。インターネットなどのベストエフォートパケットネットワークで使用するために、バッファメモリ（４１５）は、必要になる場合があり、比較的大きくすることができ、有利には適応性のサイズにすることができる。
【００５６】
ビデオデコーダ（３１０）は、エントロピー符号化されたビデオシーケンスからシンボル（４２１）を再構築するための解析器（４２０）を含むことができる。これらのシンボルのカテゴリには、ビデオデコーダ（３１０）の動作を管理するために使用される情報と、デコーダの不可欠な部分ではないが、図４に示すように、そのデコーダに結合されることができるディスプレイ（２１２）などのレンダリングデバイスを制御するための潜在的な情報とが含まれる。レンダリングデバイスの制御情報は、補助拡張情報（ＳＥＩ：Ｓｕｐｐｌｅｍｅｎｔａｌ  Ｅｎｈａｎｃｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ）メッセージまたはビデオユーザビリティ情報（ＶＵＩ：Ｖｉｄｅｏ  Ｕｓａｂｉｌｉｔｙ  Ｉｎｆｏｒｍａｔｉｏｎ）パラメータセットフラグメント（図示せず）の形であってもよい。解析器（４２０）は、受信された、符号化されたビデオシーケンスに対して解析／エントロピー復号を行うことができる。符号化されたビデオシーケンスの符号化は、ビデオ符号化技術または規格に従うことができて、当業者に知られている原理に従うことができ、可変長符号化、ハフマン符号化（Ｈｕｆｆｍａｎ  ｃｏｄｉｎｇ）、コンテキスト感度を有するかまたは有しないかの算術符号化などを含む。解析器（４２０）は、グループに対応する少なくとも１つのパラメータに基づいて、符号化されたビデオシーケンスから、ビデオデコーダにおける画素のサブグループのうちの少なくとも１つのためのサブグループパラメータのセットを、抽出することができる。サブグループは、画像のグループ（ＧＯＰ：Ｇｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅ）、画像、タイル、スライス、マクロブロック、符号化ユニット（ＣＵ：Ｃｏｄｉｎｇ  Ｕｎｉｔ）、ブロック、変換ユニット（ＴＵ：Ｔｒａｎｓ  ｆｏｒｍ  Ｕｎｉｔ）、予測ユニット（ＰＵ：Ｐｒｅｃｔｉｏｎ  Ｕｎｉｔ）などを含むことができる。エントロピーデコーダ／解析器は、変換係数、量子化器パラメータ値（ＱＰ：Ｑｕａｎｔｉｚｅｒ  Ｐａｒａｍｅｔｅｒ）、動きベクトルなどの情報を符号化されたビデオシーケンスから抽出することもできる。
【００５７】
解析器（４２０）は、シンボル（４２１）を生成するために、バッファメモリ（４１５）から受信されたビデオシーケンスに対してエントロピー復号／解析動作を実行することができる。解析器（４２０）は、符号化されたデータを受信し、特定のシンボル（４２１）を選択的に復号することができる。さらに、解析器（４２０）は、特定のシンボル（４２１）が動き補償予測ユニット（４５３）、スケーラ／逆変換ユニット（４５１）、フレーム内予測ユニット（４５２）、またはループフィルタユニット（４５４）に供給されるかどうかを決定することができる。
【００５８】
シンボル（４２１）の再構築は、符号化されたビデオ画像またはその一部（例えば、レーム間画像およびフレーム内画像、フレーム間ブロックおよびフレーム内ブロック）のタイプ、および他の要因に応じて、複数の異なるユニットに関連することができる。どのようなユニットに関連するか、およびどのように関連するかは、解析器（４２０）によって、符号化されたビデオシーケンスから解析されたサブグループ制御情報によって制御されることができる。解析器（４２０）と以下の複数のユニットの間との間のそのようなサブグループ制御情報のフローは明確にするために説明されていない。
【００５９】
既に言及された機能ブロックに加えて、ビデオデコーダ（３１０）は、以下に説明するように、いくつかの機能ユニットに概念的に細分化されることができる。商業的制約で動作する実際の実施形態では、これらのユニットの多くは、互いに密接に相互作用し、少なくとも部分的には互いに統合されることができる。しかしながら、開示された主題を説明する目的のために、以下の機能ユニットへの概念的な細分が適切である。
【００６０】
第１ユニットは、スケーラ／逆変換ユニット（４５１）である。スケーラ／逆変換ユニット（４５１）は、量子化された変換係数と、どのような変換を使用するか、ブロックサイズ、量子化因子、量子化スケーリング行列などを含む制御情報とを、シンボル（４２１）として解析器（４２０）から受信する。スケーラ／逆変換ユニット（４５１）は、アグリゲータ（４５５）に入力できるサンプル値を含むブロックを出力することができる。
【００６１】
いくつかの場合では、スケーラ／逆変換ユニット（４５１）の出力サンプルは、フレーム内符号化されたブロックに属することができ、即ち、このフレーム内符号化ブロックは、以前に再構築された画像からの予測情報を使用していないが、現在の画像の以前に再構築された部分からの予測情報を使用できるブロックである。このような予測情報は、フレーム内画像予測ユニット（４５２）によって提供されてもよい。いくつかの場合では、フレーム内画像予測ユニット（４５２）は、現在の（部分的に再構築された）画像（４５６）から抽出された、周囲の既に再構築された情報を使用して、再構築中のブロックと同じサイズおよび形状のブロックを生成する。アグリゲータ（４５５）は、いくつかの場合では、サンプルごとに基づいて、フレーム内予測ユニット（４５２）によって生成された予測情報を、スケーラ／逆変換ユニット（４５１）によって提供される出力サンプル情報に追加する。
【００６２】
他の場合では、スケーラ／逆変換ユニット（４５１）の出力サンプルは、フレーム間符号化されたブロックおよび潜在的に動き補償されたブロックに属することができる。このような場合、動き補償予測ユニット（４５３）は、参照画像メモリ（４５７）にアクセスして、予測に用いられるサンプルを抽出することができる。抽出されたサンプルが、ブロックに関連するシンボル（４２１）に従って動き補償された後、これらのサンプルは、出力サンプル情報を生成するために、アグリゲータ（４５５）によってスケーラ／逆変換ユニットの出力（この場合、残差サンプルまたは残差信号と呼ばれる）に追加されることができる。動き補償ユニットが予測サンプルを抽出するときの参照画像メモリ内のアドレスは、例えば、Ｘ、Ｙおよび参照画像成分を有することができるシンボル（４２１）の形で、動き補償ユニットに利用可能な動きベクトルによって制御されることができる。動き補償は、サブサンプルの正確な運動ベクトルが使用中であるときに、参照画像メモリから抽出されたサンプル値の補間、運動ベクトル予測メカニズムなどを含むこともできる。
【００６３】
アグリゲータ（４５５）の出力サンプルは、ループフィルタユニット（４５４）において様々なループフィルタリング技術によって採用されてもよい。ビデオ圧縮技術は、符号化されたビデオビットストリームに含まれ、解析器（４２０）からのシンボル（４２１）としてループフィルタユニット（４５４）に利用可能になるパラメータによって制御されるループ内フィルタ技術を含みことができ、また、符号化された画像または符号化されたビデオシーケンスの前の部分（復号順序で）を復号する期間で得られたメタ情報に応答し、および、以前に再構築されてループフィルタされたサンプル値に応答することもできる。
【００６４】
ループフィルタユニット（４５４）の出力は、レンダリングデバイス（２１２）に出力することができ、および、将来のフレーム間画像予測で使用するために参照画像メモリ（４５７）に記憶することができるサンプルストリームとすることができる。
【００６５】
特定の符号化された画像は、一旦完全に再構築されると、将来の予測のための参考画像として使用されることができる。例えば、符号化された画像が一旦完全に再構築され、かつ、符号化された画像が（例えば、解析器（４２０）によって）参照画像として識別されると、現在の参照画像（４５６）は、参照画像バッファ（４５７）の一部となることができ、また、後続の符号化された画像の再構築を開始する前に、新しい現在の画像メモリを再割り当てすることができる。
【００６６】
ビデオデコーダ（３１０）は、例えばＩＴＵ―Ｔ  ＲＥＣ．  Ｈ．２６５などの規格における所定のビデオ圧縮技術に従って復号動作を実行することができる。符号化されたビデオシーケンスは、ビデオ圧縮技術ドキュメントまたは規格において、特に、それらのプロファイルドキュメントにおいて指定されたビデオ圧縮技術または規格の構文に従うという意味で、使用されているビデオ圧縮技術または規格によって指定された構文に従うことができる。符号化されたビデオシーケンスの複雑さが、ビデオ圧縮技術または規格の階層によって定義された範囲内にあることもコンプライアンスに必要である。いくつかの場合では、階層は、最大画像サイズ、最大フレームレート、（例えば、毎秒メガ（ｍｅｇａ）個のサンプルを単位として測定された）最大再構築サンプルレート、最大参照画像サイズなどを制限する。階層によって設定された制限は、いくつかの場合では、仮想参照デコーダ（ＨＲＤ：Ｈｙｐｔｈｅｔｉｃａｌ  Ｒｅｆｅｒｅｎｃｅ  Ｄｅｃｏｄｅｒ）仕様と、符号化されたビデオシーケンスにおいて信号で通知されたＨＲＤバッファ管理のメタデータとによって、さらに限定されることができる。
【００６７】
一実施形態では、受信機（４１０）は、符号化されたビデオとともに付加（冗長）的なデータを受信することができる。付加的なデータは、符号化されたビデオシーケンスの一部として含まれることができる。付加的なデータは、データを適切に復号し、および／または、元のビデオデータをより正確に再構築するために、ビデオデコーダ（３１０）によって使用されることができる。付加的なデータは、例えば、時間的、空間的、または信号雑音比（ＳＮＲ：ｓｉｇｎａｌ−ｔｏ−ｎｏｉｓｅ  ｒａｔｉｏ）拡張層、冗長スライス、冗長画像、前方誤り訂正符号などの形式にすることができる。
【００６８】
図５は、一実施形態によるビデオエンコーダ（３０３）の機能ブロック図である。
【００６９】
エンコーダ（３０３）は、エンコーダ（３０３）によって符号化されるビデオ画像を捕捉することができるビデオソース（３０１）（それはエンコーダの一部ではない）から、ビデオサンプルを受信することができる。
【００７０】
ビデオソース（３０１）は、エンコーダ（３０３）によって符号化されるソースビデオシーケンスをデジタルビデオサンプルストリームの形で提供することができ、前記タルビデオサンプルストリームは、任意の適切なビット深度（例えば、８ビット、１０ビット、１２ビット、…）、任意の色空間（例えば、ＢＴ．６０１  Ｙ  ＣｒＣＢ、ＲＧＢ…）、および任意の適切なサンプリング構造（例えば、Ｙ  ＣｒＣｂ  ４：２：０、Ｙ  ＣｒＣｂ  ４：４：４）を有することができる。メディアサービスシステムでは、ビデオソース（３０１）は、以前に準備されたビデオを記憶する記憶デバイスであってもよい。ビデオ会議システムでは、ビデオソース（３０１）は、ローカル画像情報をビデオシーケンスとして捕捉するカメラであってもよい。ビデオデータは、順番に見られるときに動きを与える複数の個別の画像として提供されることができる。画像自体は、空間画素アレイとして構成されてもよく、ここで、各画素は、使用中のサンプリング構造、色空間などに応じて、１つ以上のサンプルを含むことができる。当業者は、画素とサンプルとの間の関係を容易に理解することができる。以下の説明は、サンプルに焦点を当てる。
【００７１】
一実施形態によれば、エンコーダ（３０３）は、リアルタイムで、またはアプリケーションによって要求される任意の他の時間制約の下で、ソースビデオシーケンスの画像を符号化して圧縮し、符号化されたビデオシーケンス（５４３）にすることができる。適切な符号化速度を実施することは、コントローラ（５５０）の１つの機能である。コントローラは、以下で説明するように他の機能ユニットを制御し、これらのユニットに機能的に結合される。結合は、明瞭にするために図示されていない。コントローラによって設定されたパラメータは、レート制御関連パラメータ（画像スキップ、量子化器、レート歪み最適化技術のλ（ラムダ）値）、画像サイズ、画像グループ（ＧＯＰ：ｇｒｏｕｐ  ｏｆ  ｐｉｃｔｕｒｅｓ）レイアウト、最大動きベクトル探索範囲などを含むことができる。当業者は、コントローラ（５５０）の他の機能を容易に識別することができ、これらの機能が、特定のシステム設計のために最適化されたビデオエンコーダ（３０３）に関係するからである。
【００７２】
いくつかのビデオエンコーダは、当業者が容易に認識する符号化ループで動作する。過度に簡単化された説明として、符号化ループは、ソースコーダ（５３０）（以下、「ソースコーダ」）の符号化部分（符号化される入力画像と、参照画像とに基づいてシンボルを作成することを担当）と、エンコーダ（３０３）に埋め込まれた（ローカル）デコーダ（５３３）とによって構成されることができ、前記デコーダ（４３３）は、（リモート）デコーダによってサンプルデータを作成するようにシンボルを再構築してサンプルデータを作成する（開示された主題で考慮されているビデオ圧縮技術では、シンボルと符号化されたビデオビットストリームとの間の任意の圧縮が無損失であるため）。再構築されたサンプルストリームは、参照画像メモリ（５３４）に入力される。シンボルストリームの復号により、デコーダの場所（ローカルまたはリモート）に関係なくビット正確な結果が得られるため、参照画像バッファのコンテンツは、ローカルエンコーダとリモートエンコーダとの間でもビットで正確に対応する。言い換えれば、エンコーダの予測部分が「見た」参照画像サンプルは、デコーダが復号期間に予測を使用する際に「見た」サンプル値と全く同じである。この参照画像の同期性の基本原理（および、例えばチャネル誤差の原因で同期性を維持できない場合に生じるドリフト）は、当業者によく知られている。
【００７３】
「ローカル」デコーダ（５３３）の動作は、既に図４に関連して以上で詳細に説明された、「リモート」デコーダ（３１０）の動作と同じであってもよい。しかし、図５をさらに簡単に参照すると、シンボルが利用可能であり、かつ、エントロピーコーダ（５４５）および解析器（４２０）によって符号化されたビデオシーケンスへのシンボルの符号化／復号が無損失であることができるため、（チャネル（４１２）、受信機（４１０）、バッファ（４１５）および解析器（４２０）を含む）デコーダ（３１０）のエントロピー復号部分は、ローカルデコーダ（５３３）で完全に実行されていない可能性がある。
【００７４】
この時点で、デコーダに存在する解析／エントロピー復号以外のいかなるデコーダ技術も、対応するエンコーダにおいて、実質的に同一の機能形式で必ず存在する必要がある、ということが観察されている。エンコーダ技術の説明は、包括的に説明されたデコーダ技術の逆であるため、省略できる。特定の領域だけで、より詳細な説明が必要であり、以下で提供される。
【００７５】
その動作の一部として、ソースコーダ（５３０）は、動き補償予測符号化を実行することができ、前記動き補償予測符号化は、ビデオシーケンスから「参照フレーム」として指定された１つ以上の以前に符号化されたフレームを参照して、入力フレームを予測的に符号化する。このようにして、符号化エンジン（５３２）は、入力フレームの画素ブロックと、入力フレームに対する予測参照として選択されることができる参照フレームの画素ブロックとの間の差分を符号化する。
【００７６】
ローカルビデオデコーダ（５３３）は、ソースコーダ（５３０）によって作成されたシンボルに基づいて、参照フレームとして指定されることができるフレームの符号化されたビデオデータを復号することができる。符号化エンジン（５３２）の動作は、有利には損失性のプロセスであってもよい。符号化されたビデオデータがビデオデコーダ（図４に示されない）で復号されることができる場合、再構築されたビデオシーケンスは、通常、いくつかの誤差を伴うソースビデオシーケンスのレプリカであってもよい。ローカルビデオデコーダ（５３３）は、参照フレームに対してビデオデコーダによって実行されることができる復号プロセスを複製して、再構築された参照フレームを参照画像キャッシュ（５３４）に記憶させることができる。このようにして、エンコーダ（３０３）は、遠端ビデオデコーダによって得られる（伝送誤差が存在しない）再構築された参照フレームと共通のコンテンツを有する再構築された参照フレームのコピーを、ローカルに記憶することができる。
【００７７】
予測器（５３５）は、符号化エンジン（５３２）に対して予測検索を実行することができる。すなわち、符号化される新しいフレームについて、予測器（５３５）は、新しい画像の適切な予測参照として機能するサンプルデータ（候補参照画素ブロックとして）または特定のメタデータ、例えば参照画像動きベクトル、ブロック形状などについて、参照画像メモリ（５３４）を検索することができる。予測器（５３５）は、適切な予測参照を見つけるために、サンプルブロックに基づいて、画素ブロックごとに動作することができる。いくつかの場合では、予測器（５３５）によって得られた検索結果によって決定されるように、入力画像は、参照画像メモリ（５３４）に記憶された複数の参照画像から引き出された予測参照を有することができる。
【００７８】
コントローラ（５５０）は、例えば、ビデオデータを符号化するために使用されるパラメータおよびサブグループパラメータの設定を含む、ソースコーダ（５３０）の符号化動作を管理することができる。
【００７９】
上述のすべての機能ユニットの出力は、エントロピーコーダ（５４５）においてエントロピー符号化されることができる。エントロピーコーダは、ハフマン符号化、可変長符号化、算術符号化などのような、当業者に知られている技術に従って、シンボルを無損失で圧縮することにより、様々な機能ユニットによって生成されたシンボルを符号化されたビデオシーケンスに変換する。
【００８０】
送信機（５４０）は、符号化されたビデオデータを記憶できる記憶デバイスへのハードウェア／ソフトウェアリンクであることができる通信チャネル（５６０）を介した送信に備えるために、エントロピーコーダ（５４５）によって作成された、符号化されたビデオシーケンスをバッファリングすることができる。送信機（５４０）は、ソースコーダ（５３０）からの符号化されたビデオデータを、送信される他のデータ、例えば、符号化されたオーディオデータおよび／または補助データストリーム（ソースは図示せず）とマージすることができる。
【００８１】
コントローラ（５５０）は、ビデオエンコーダ（３０３）の動作を管理することができる。符号化する期間、コントローラ（５５０）は、各符号化された画像に、特定の符号化された画像タイプを割り当てることができ、これは、それぞれの画像に適用できる符号化技術に影響を与える可能性がある。例えば、以下のフレームタイプのいずれかとして割り当てられることが多い。
【００８２】
フレーム内画像（Ｉ画像）は、シーケンス内の任意の他のフレームを予測ソースとして使用せずに、符号化および復号されることができるものであってもよい。いくつかのビデオコーデックは、例えば、独立デコーダリフレッシュ（ＩＤＲ：Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｅｃｏｄｅｒ  Ｒｅｆｒｅｓｈ）画像などの異なるタイプのフレーム内画像を許容する。当業者は、Ｉ画像の変種およびそれらのそれぞれのアプリケーションおよび特徴を理解している。
【００８３】
予測画像（Ｐ画像）は、多くとも１つの動きベクトルおよび参照インデックスを使用して各ブロックのサンプル値を予測するフレーム内予測またはフレーム間予測を、使用して符号化および復号され得るものであってもよい。
【００８４】
双方向予測画像（Ｂ画像）は、多くとも２つの動きベクトルおよび参照インデックスを使用して各ブロックのサンプル値を予測するフレーム内予測またはフレーム間予測を使用して、符号化および復号され得るものであってもよい。同様に、複数の予測画像は、単一のブロックの再構築に２つ以上の参照画像および関連されたメタデータを使用することができる。
【００８５】
ソース画像は、一般的に、複数のサンプルブロック（例えば、それぞれ４ｘ４、８ｘ８、４ｘ８、または１６ｘ１６個のサンプルのブロック）に空間的に細分化され、ブロックごとに符号化されることができる。これらのブロックは、ブロックのそれぞれの画像に適用される符号化割り当てによって決定されるように、他の（既に符号化された）データブロックを参照して予測的に符号化されることができる。例えば、Ｉ画像のブロックは、非予測的に符号化されてもよく、またはそれらが同じ画像の既に符号化されたブロックを参照して予測的に符号化されてもよい（空間予測またはフレーム内予測）。Ｐ画像の画素ブロックは、１つ前に符号化された参照画像を参照して、空間的予測を介してまたは時間的予測を介して予測的に符号化されてもよい。Ｂ画像のブロックは、１つまたは２つ前に符号化された参照画像を参照して、空間予測または時間領域予測を介して予測的に符号化されてもい。
【００８６】
ビデオコーダ（３０３）は、例えばＩＴＵ―Ｔ  ＲＥＣ．Ｈ．２６５などのような所定のビデオ符号化技術または規格に従って、符号化動作を実行することができる。その動作において、ビデオコーダ（３０３）は、入力ビデオシーケンスにおける時間的および空間的冗長性を利用する予測符号化動作を含む、さまざまな圧縮動作を実行することができる。したがって、符号化されたビデオデータは、使用されるビデオ符号化技術または規格によって指定された構文に従うことができる。
【００８７】
一実施形態では、送信機（５４０）は、符号化されたビデオとともに、付加的なデータを送信することができる。ソースコーダ（５３０）は、そのようなデータを、符号化されたビデオシーケンスの一部として含むことができる。付加的なデータは、時間的／空間的／ＳＮＲ拡張層、冗長画像やスライスなどの他の形式の冗長データ、補足拡張情報（ＳＥＩ：Ｓｕｐｐｌｅｍｅｎｔａｒｙ  Ｅｎｈａｎｃｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ）メッセージ、視覚ユーザビリティ情報（ＶＵＩ：Ｖｉｓｕａｌ  Ｕｓａｂｉｌｉｔｙ  Ｉｎｆｏｒｍａｔｉｏｎ）パラメータセットフラグメントなどを含むことができる。
【００８８】
図６は、一実施形態による、２の累乗ではないブロックの分割を示す図である。
【００８９】
２の累乗ではないブロックについて、このブロックは、幅または高さが２の累乗である複数のサブブロックに水平または垂直に分割され、主変換は、各サブブロックで実行される。
【００９０】
一実施形態では、幅または高さの値を有するブロックは、複数のサブブロックに分割され、各サブブロックが２の累乗である幅または高さを有し、分割は、サブブロックの数を最小化するか、または各サブブロックの幅または高さを最大化するように行われる。
【００９１】
一例では、幅または高さが６、１２、２０、２４、２８、３６、４０、４４、４８、５２、５６または６０である場合、ブロックは、それぞれ、４＋２、８＋４、１６＋４、１６＋８、１６＋８＋４、３２＋４、３２＋８、３２＋８＋４、３２＋１６、３２＋１６＋４、３２＋１６＋８および３２＋１６＋８＋４のサブブロッに水平または垂直に分割されることができ、ここで、Ｍ＋Ｎ＋Ｋ＋Ｊは、ブロックが４つのサブブロックに水平または垂直に分割され、幅または高さがそれぞれＭ、Ｎ、ＫおよびＪである、ということを意味する。
【００９２】
図６の部分（ａ）および（ｂ）を参照すると、２の累乗ではない、１２であるブロック幅を有するブロック６１０は、８および４である幅を有するサブブロック６２０および６３０に分割されることができる。
【００９３】
一実施形態では、幅または高さの値を有するブロックは、２の累乗である幅または高さを有する複数のサブブロックに分割されることができ、これらのサブブロックをどのように配置するかについての空間的順序は、信号で通知されまたは暗黙的に導出されてもよい。空間的順序は、これらのサブブロックの相対的な位置を指定する。例えば、１２ｘ８のブロックを左から右に１つの８ｘ８のブロックと１つの４ｘ８のブロックに分割されてもよく、または、左から右に１つの４ｘ８のブロックと１つの８ｘ８ブロックに分割されてもよい。
【００９４】
図６の部分（ａ）および（ｃ）を参照すると、２の累乗ではない１２であるブロック幅を有するブロック６１０は、シグナルまたは復号された情報（隣接するブロックの分割サイズ、ＣＴＵ内の相対位置、親ブロック（すなわち、１つ前の四分木レベル）の分割タイプ、輝度または色度成分、および各サブブロックの分割サイズが含まれるが、これらに限定されない）に基づいて、それぞれ８および４の幅を有する２つのサブブロック６２０および６３０に分割されてもよく、またはそれぞれ４および８の幅を有する２つのサブブロック６４０および６５０に分割されてもよい。
【００９５】
図７は、別の実施形態による、２の累乗ではないブロックの分割を示す図である。
【００９６】
一実施形態では、幅または高さ値を有するブロックは、２の累乗である幅または高さを有する複数のサブブロックに分割されることができ、これらのサブブロックの数および空間的順序は、信号で通知されまたは暗黙的に導出されてもよい。一例では、１２である幅または高さを有するブロックについては、このブロックは、２つの８＋４のサブブロック、２つの４＋８のサブブロック、または３つの４＋４＋４のサブブロックに分割されることができる。
【００９７】
図７の部分（ａ）および（ｂ）を参照すると、２の累乗ではない１２であるブロック幅を有するブロック７１０は、３つのサブブロック７２０、７３０、７４０に分割されることができ、各サブブロックの幅は４である。
【００９８】
一例では、全てのサブブロック分割パターンの使用は、ロックサイズごとに予め定義されている。
【００９９】
一実施形態では、幅または高さの値を有するブロックは、２の累乗である幅または高さを有する複数のサブブロックに分割され、これらのサブブロックの符号化順序は、信号で通知されるか、または上記の復号情報に基づいて暗黙的に導出されてもよい。
【０１００】
一実施形態では、いくつかのブロックサイズについて、各サブブロックで変換を行う代わりに、選択されたブロックのみに対して変換が実行され、残りのブロックの再構築されたサンプルは、隣接するブロックの再構築されたサンプルを補間することによって導出される。
【０１０１】
一例では、５０ｘ６４のブロックに対して、このブロックは、３２ｘ６４、４ｘ６４、および１６ｘ６４の３つのサブブロックに水平に分割される。３２ｘ６４および１６ｘ６４のサブブロックは、まず符号化され、そして、中央の４ｘ６４のブロックの再構築されたサンプルは、左側の３２ｘ６４のブロックおよび右側の１６ｘ６４のブロックの再構築されたサンプルを補間することによって導出される。
【０１０２】
一実施形態では、１つの符号化されたブロックフラグ（ＣＢＦ：Ｃｏｄｅｄ  Ｂｌｏｃｋ  Ｆｌａｇ）は、ブロック全体に対して信号で通知され、サブブロックＣＢＦは、関連付けられたサブブロックに対して少なくとも１つの非ゼロ係数が存在するかどうかを示すために、さらに各サブブロックに対して信号で通知されることができる。
【０１０３】
ブロック全体のＣＢＦが１であり、かつ、符号化順序における最後のサブブロックの先行する全てのサブブロックのサブブロックＣＢＦが０である場合、最後のサブブロックのＣＢＦは、信号で通知されず、１としいて導出される。
【０１０４】
一実施形態では、いくつかのブロックサイズについては、各サブブロックで変換を行う代わりに、選択されたブロックのみに対し変換が実行され、残りのブロックに対して変換スキップが適用される。
【０１０５】
一例では、ブロックが複数のサブブロックに分割される場合、あるサイズより大きいサブブロックに対して、変換が適用され、そうではない場合、変換スキップが適用される。ブロックサイズは、ブロック幅、ブロック高さ、ブロック領域のサイズ、またはブロックの幅と高さの比率で測定される。
【０１０６】
一実施形態では、信号で通知された主変換インデックス（例えば、ＡＭＴインデックス）および／または二次変換インデックスによって示されるように、サブブロックは、同じタイプの主変換および／または二次変換を共有する。
【０１０７】
別の実施形態では、サブブロックは、異なるタイプの主変換および／または二次変換を使用し、選択は、現在ブロック内のサブブロックの相対的な位置に依存する。
【０１０８】
２の累乗ではないブロック幅の値Ｍまたは高さの値Ｎに対して、最も近いが、２の累乗ではない値より大きいブロック幅または高さに達成するように、ブロックは、水平または垂直方向に充填（パディング）される。
【０１０９】
一実施形態では、幅または高さがＮであるブロックについて、ブロックの幅または高さが
2021519050.tif 000021
に充填され、例えば、Ｎが６、１２、２０、２４、２８、３６、４０、４４、４８、５２、５６、または６０である場合、ブロックの幅または高さは、それぞれ８、１６、３２、３２、３２、６４、６４、６４、６４、６４、６４または６４に充填される。
【０１１０】
一実施形態では、サンプルをどこに充填するか（すなわち、左または右、上または下）は、信号で通知されるか、固定されるか、または暗黙的に導出される。
【０１１１】
一実施形態では、充填された値は、固定値（例えば、０または１＜＜（ｂｉｔＤｅｐｔｈ−１））であり得て、ここｔで、ｂｉｔＤｅｐｔｈは、画像サンプルのビット深さである。
【０１１２】
一実施形態では、充填された値は、残差サンプルを使用して導出されることができる。
【０１１３】
一例では、充填された値は、すべての残差サンプルの平均値である。
【０１１４】
別の例では、充填された値は、同じ行または列にある残差サンプルの平均値である。
【０１１５】
別の例では、充填された値は、例えば同じ行または列に位置する残差サンプルなどのような残差サンプルを外挿することによって生成される。
【０１１６】
別の例では、充填された値は、変換ドメイン内の変換係数の左上のＭｘＮの領域を超えて位置する変換エネルギーを最小化することによって導出される。
【０１１７】
一実施形態では、充填後、充填前のブロックの幅または高さよりも大きい、２の累乗変換が行われ、すべての変換係数が信号で通知され、再構築された残差サンプルまたは逆量子化された変換係数が、サンプルを充填する方法に基づいてさらに調整される。
【０１１８】
一例では、充填された残差サンプルの値が各行（列）の平均値として導出される場合、逆量子化後、変換ドメインにおいて、逆量子化された変換係数値は、１つの量子化ステップ内で調整され、これにより、充填された位置での再構築された残差サンプルと、現在ブロックの再構築されたサンプルの各行（列）の平均値との絶対差が最小化される。
【０１１９】
一例では、左上の低周波数係数のみが調整され、低周波数係数は、左上のＭｘＮの係数であってもよく、ここで、ＭおよびＮは、各ブロックの幅と高さに対して予め定義された整数である。あるいは、低周波数係数は、ＤＣ係数のみであってもよく、左上のＡＣ係数のみであってもよいし、または所予め定義された閾値より大きい係数であってもよい。
【０１２０】
一実施形態では、充填後、充填前のブロックの幅または高さよりも大きい、２の累乗変換が実行され、ゼロアウト処理が実行され、これにより、左上のＭｘＮを超えて位置する全ての変換係数が除去され、ここで、ＭとＮは、充填前のブロック幅とブロック高さである。
【０１２１】
一実施形態では、２の累乗ではないブロックが、フレーム内符号化が実行されず、フレーム間符号化のみが実行される、ということは制限される。
【０１２２】
Ａで示されるブロックを分割するとき、このブロックＡ（その高さと幅はそれぞれ２の累乗である）がさらに複数のサブブロック（ａ０、ａ１…で示される）として分割され、かつ、少なくとも１つの分割ａ０、ａ１…が２の累乗ではない場合、オーバーラップ変換がブロックＡの全体で実行されるということは制限され、これは、この変換が複数のサブブロック（すなわち、ａ０、ａ１…）とオーバーラップする、ということを意味する。このようにして、ブロックＡの全体に対して１つの変換が行われるため、変換は、常に２の累乗に基づいて行われる。ここで、オーバーラップ変換は、それらのサブブロックパーティションにはオーバーラップ領域がないにもかかわらず、複数のサブブロック分割をカバーする単一の変換を意味する。
【０１２３】
一実施形態では、２の累乗ではないブロックがゼロＣＢＦまたはＤＣ値のみのいずれかに関連付けられなければならない、ということは制限されている。
【０１２４】
複数のＮ×２Ｍのサイズの変換がサポートされ、ここで、ＭとＮは整数であり、かつ、Ｎは２の累乗ではない。
【０１２５】
一例では、Ｎは３であり、これによって、３ポイント、６ポイント、１２ポイント…変換がサポートされている。
【０１２６】
一実施形態では、Ｎ×２Ｍの変換がサポートされるので、より多くの変換サイズがサポートされ、Ｎ×２Ｍは、サブブロックの数をさら削減するように適用されることができる。例えば、３×２Ｍの変換がサポートされている場合、幅または高さが６、１２、２０、２４、２８、３６、４０、４４、４８、５２、５６または６０であるブロックについて、このブロックは、６、１２、１６＋４、１６＋８、１６＋１２、３２＋４、３２＋８、３２＋１２、３２＋１６、４８＋４、４８＋８および４８＋１２のサブブロックに水平または垂直に分割される。
【０１２７】
変換幅の数は、それが有効なＣｕ幅または高さの数よりも小さくなるように制約され、ここで、ＣＵ幅は、最大変換サイズ以下であり、ＣＵ高さは、最大変換サイズ以下である。
【０１２８】
一実施形態では、ある変換サイズは許可されない。
【０１２９】
一例では、変換サイズが、２つの数字（それぞれ２の累乗である）の合計として表現されることができない場合、この変換サイズは許可されず、例えば、２８は、この制約によって許可されない。この場合、このような幅または高さを有するブロックは、２つ以上のサブ変換を使用する必要がある。
【０１３０】
別の例では、Ｎ×２Ｍのサイズを有する変換が必要であり、ここで、ＭとＮは整数であり、Ｎは２の累乗ではない。変換の回数を減らすためには、例えば変換サイズ６、２４または４８などのような、奇数のＭのみが許可される。変換サイズが必要であるが許可されていない場合（例えば１２である場合）、変換は、許可されたより小さい変換に分割される。
【０１３１】
図８は、一実施形態による、ビデオシーケンスの復号のためのフレーム内および／またはフレーム間予測を制御する方法（８００）のフローチャートである。いくつかの実現では、図８の１つ以上の処理ブロックは、デコーダ（３１０）によって実行されることができる。いくつかの実現では、図８の１つ以上の処理ブロックは、別のデバイスによって実行されてもよく、あるいは、デコーダ（３１０）と分離されるまたはデコーダ（３１０）を含むデバイスのグループ（例えばエンコーダ（３０３））によって実行されてもよい。
【０１３２】
図８を参照すると、第１ブロック（８１０）では、方法（８００）は、符号化ユニットの幅または高さが２の累乗であるかどうかを決定することを含む。
【０１３３】
第２ブロック（８２０）では、方法（８００）は、符号化ユニットの幅または高さが２の累乗ではないと決定されたことに基づいて、符号化ユニットを複数のサブブロックに分割することを含み、ここで、各サブブロックの幅または高さは２の累乗であって最大化されるため、サブブロックの数は最小化される。
【０１３４】
前記分割は、６、１２、２０、２４、２８、３６、４０、４４、４８、５２、５６または６０であると決定される符号化ユニットの幅または高さがに基づいて、符号化ユニットを、それぞれ、４＋２、８＋４、１６＋４、１６＋８、１６＋８＋４、３２＋４、３２＋８、３２＋８＋４、３２＋１６、３２＋１６＋４、３２＋１６＋８または３２＋１６＋８＋４の幅または高さを有するサブブロックに分割することを含み得て、ここで、Ｍ＋Ｎ＋Ｋ＋Ｊは、ぞれぞれ、前記サブブロックの幅または高さを示す。
【０１３５】
この方法（８００）は、信号、サブブロックの１つい以上の隣接するブロックのサイズ、符号化ツリーユニットにおける各サブブロックの位置、サブブロックの１つ以上の親ブロックの分割タイプ、各サブブロックの輝度または色度成分、および各サブブロックの幅または高さのいずれか１つまたは任意の組み合わせに基づいて、符号化ユニットが分割されるサブブロックの空間的順序を決定することをさらに含み得る。
【０１３６】
符号化ユニットの幅または高さが２の累乗ではないと決定されたことに基づいて、前記分割は、信号、サブブロックの１つ以上の隣接するブロックのサイズ、符号化ツリーユニットにおける各サブブロックの位置、サブブロックの１つ以上の親ブロックの分割タイプ、各サブブロックの輝度または色度成分、各サブブロックの幅または高さ、および複数の符号化ユニットをそれぞれ分割するための複数の所定パターンのいずれか１つまたは任意の組み合わせに基づいて、符号化ユニットが分割されるサブブロックの数を決定することと、決定されたサブブロックの数にさらに基づいて、符号化ユニットを複数のサブブロックに分割することと、を含み得る。
【０１３７】
第３ブロック（８３０）では、方法（８００）は、符号化ユニットが分割されるサブブロックでフレーム内および／またはフレーム間予測を適用することを含む。
【０１３８】
この方法（８００）、信号、サブブロックの１つ以上の隣接するブロックのサイズ、符号化ツリーユニットにおける各サブブロックの位置、サブブロックの１つ以上の親ブロックの分割タイプ、各サブブロックの輝度または色度成分、および各サブブロックの幅または高さのいずれか１つまたは任意の組み合わせに基づいて、サブブロックが符号化される順序を決定することを、さらに含み得る。
【０１３９】
この方法（８００）は、符号化ユニットのための、符号化ユニットに対して非ゼロ係数があるかどうかを示す第１のＣＢＦを設定することと、各サブブロックのための、サブブロックの各々に対して非ゼロ係数があるかどうかを示す第２のＣＢＦを設定することとを、さらに含み得る。
【０１４０】
この方法（８００）は、符号化ユニットのための第１のＣＢＦが１に設定され、かつ、符号化順序でサブブロックの最後の１つのサブブロックに先行するサブブロックのうちの先行するもののための第２のＣＢＦが０に設定されたことに基づいて、サブブロックの最後の１つのサブブロックのための第２のＣＢＦを１に設定すること、をさらに含み得る。
【０１４１】
この方法（８００）は、サブブロックのうちの１つのサイズに基づいて、サブブロックのうちの１つのサブブロックに変換を適用することを、さらに含み得る。サブブロックのうちの１つのサイズは、サブブロックのうちの１つの幅、高さ、面積、および高さに対する幅の比率のいずれか１つまたは任意の組み合わせを含み得る。
【０１４２】
この方法（８００）は、符号化ユニットにおけるサブブロックのうちの１位置に基づいて、複数の変換のうちの１つの変換を選択し、選択された複数の変換のうちの１つの変換をサブブロックのうちの１つのサブブロックに適用することを、さらに含み得る。
【０１４３】
この方法（８００）は、符号化ユニットの幅または高さが２の累乗ではないと決定されたことに基づいて、符号化ユニットでフレーム間予測のみを適用することを、さらに含み得る。
【０１４４】
この方法（８００）は、符号化ユニットの幅および高さが２の累乗であると決定されたことに基づいて、符号化ユニットを複数のパーティションに分割し、前記パーティションのいずれか１つまたは任意の組み合わせの幅または高さが２の累乗であるかどうかを決定し、前記パーティションのいずれか１つまたは任意の組み合わせの幅または高さが２の累乗ではないと決定されたことに基づいて、符号化ユニットに変換を適用することを、さらに含み得る。
【０１４５】
この方法（８００）は、符号化ユニットの幅または高さが２の累乗ではないと決定されたことに基づいて、符号化ユニットのための、符号化ユニットに対して非ゼロ係数があるかどうかを示す第１のＣＢＦを０に設定すること、または、符号化ユニットを予測ブロックの予測値を示すＤＣ値に関連付けることを、さらに含み得る。
【０１４６】
図８は、方法（８００）の例示的なブロックを示すが、いくつかの実現では、方法（８００）は、図８に示されるものと比べて、より多くのブロック、より少ないブロック、異なるブロック、または異なって配置されたブロックを含むことができる。さらに、または代わりに、方法（８００）の２つ以上のブロックは、並列に実行されることができる。
【０１４７】
さらに、提案された方法は、処理回路（例えば、１つ以上のプロセッサまたは１つ以上の集積回路）によって実現されることができる。一例では、１つ以上のプロセッサは、１つ以上の提案された方法を実行するために、非一時的なコンピュータ読み取り可能な媒体に記憶されているプログラムを実行する。
【０１４８】
図９は、一実施形態による、ビデオシーケンスの復号のためのフレーム内および／またはフレーム間予測を制御するための装置（９００）の簡略化されたブロック図である。
【０１４９】
図９を参照すると、装置（９００）は、決定コード（９１０）（第１決定コード）、分割コード（９２０）、および適用コード（９３０）（第１適用コード）を含む。
【０１５０】
決定コード（９１０）は、符号化ユニットの幅または高さが２の累乗であるかどうかを決定するように構成される。
【０１５１】
分割コード（９２０）は、符号化ユニットの幅または高さが２の累乗ではないと決定されたことに基づいて、符号化ユニットを複数のサブブロックに分割するように構成され、各サブブロックの幅または高さは２の累乗であって最大化されるため、前記サブブロックの数は最小化される。
【０１５２】
分割コード（９２０）は、さらに、符号化ユニットの幅または高さが６、１２、２０、２４、２８、３６、４０、４４、４８、５２、５６または６０であると決定されたことに基づいて、符号化ユニットを、４＋２、８＋４、１６＋４、１６＋８、１６＋８＋４、３２＋４、３２＋８、３２＋８＋４、３２＋１６、３２＋１６＋４、３２＋１６＋８または３２＋１６＋８＋４の幅または高さを有するサブブロックにそれぞれ分割するように構成され、ここで、Ｍ＋Ｎ＋Ｋ＋Ｊは、前記サブブロックの幅または高さをそれぞれ示す。
【０１５３】
分割コード（９２０）は、さらに、信号、サブブロックの１つ以上の隣接するブロックのサイズ、符号化ツリーユニットにおける各サブブロックの位置、サブブロックの１つ以上の親ブロックの分割タイプ、各サブブロックの輝度または色度成分、および各サブブロックの幅または高さのいずれか１つまたは任意の組み合わせに基づいて、符号化ユニットが分割されるサブブロックの空間的順序を決定するように構成される。
【０１５４】
分割コード（９２０）は、さらに、符号化ユニットの幅または高さが２の累乗ではないと決定されたことに基づいて、信号、前記サブブロックの１つ以上の隣接するブロックのサイズ、符号化ツリーユニットにおける各サブブロックの位置、サブブロックの１つ以上の親ブロックの分割タイプ、各サブブロックの輝度または色度成分、各サブブロックの幅または高さ、および符号化ユニットの分割サイズのためにそれぞれ使用される所定パターンのいずれか１つまたは任意の組み合わせに基づいて、符号化ユニットが分割されるサブブロックの数を決定し、さらに、決定されたサブブロックの数に基づいて、符号化ユニットを複数のサブブロックに分割するように構成される。
【０１５５】
適用コード（９３０）は、符号化ユニットが分割されるサブブロックでフレーム内および／またはフレーム間予測を適用するように構成される。
【０１５６】
この装置は、信号、サブブロックの１つ以上の隣接するブロックのサイズ、符号化ツリーユニットにおける各サブブロックの位置サブブロックの１つ以上の親ブロックの分割タイプ、各サブブロックの輝度または色度成分、および各サブブロックの幅または高さのいずれか１つまたは任意の組み合わせに基づいて、サブブロックが符号化される順序を決定するように構成される第２決定コードを、さらに含むことができる。
【０１５７】
この装置は、符号化ユニットのための、符号化ユニットに対して非ゼロ係数があるかどうかを示す第１のＣＢＦを設定し、また、各サブブロックのための、サブブロックの各々に対して非ゼロ係数があるかどうかを示す第２のＣＢＦを設定するように構成される設定コードを、さらに含むことができる。
【０１５８】
設定コードは、さらに、符号化ユニットのための第１のＣＢＦが１に設定され、符号化順序でサブブロックの最後の１つのサブブロックに先行するサブブロックのうちの先行するもののための第２のＣＢＦがに０に設定されたことに基づいて、サブブロックの最後の１つのための第２のＣＢＦを１に設定するように構成されるようにしてよい。
【０１５９】
この装置は、少なくとも１つのプロセッサに、サブブロックのうちの１つのサイズに基づいて、サブブロックのうちの１つのサブブロックに変換を適用させるように構成される第２適用コードをさらに含むようにしてよい。サブブロックのうちの１つのサイズは、サブブロックのうちの１つのサブブロックの幅、高さ、面積、および高さに対する幅の比率のいずれか１つまたは任意の組み合わせを含み得る。
【０１６０】
この装置は、符号化ユニットにおけるサブブロックのうちの１つの位置に基づいて、複数の変換のうちの１つの変換を選択し、選択された複数の変換のうちの１つの変換をサブブロックのうちの１つのサブブロックに適用するように構成される第２適用コードをさらに含み得る。
【０１６１】
適用コード（９３０）は、さらに、符号化ユニットの幅または高さが２の累乗ではないと決定されたことに基づいて、符号化ユニットでフレーム間予測のみを適用するように構成されるようにしてよい。
【０１６２】
分割コード（９２０）は、さらに、符号化ユニットの幅および高さが２の累乗であると決定されたことに基づいて、符号化ユニットを複数のパーティションに分割するように構成されるようにしてよい。決定コード（９１０）は、さらに、前記パーティションのいずれか１つまたは任意の組み合わせの幅または高さが２の累乗であるかどうかを決定するように構成されるようにしてよい。この装置は、前記パーティションのいずれか１つまたは任意の組み合わせの幅または高さが２の累乗ではないと決定されたことに基づいて、符号化ユニットに変換を適用するように構成される第２適用コードをさらに含むようにしてよい。
【０１６３】
この装置は、符号化ユニットの幅または高さが２の累乗ではないと決定されたことに基づいて、符号化ユニットのための、符号化ユニットに対して非ゼロ係数があるかどうかを示す第１のＣＢＦを０に設定すること、または、符号化ユニットを予測ブロックの予測値を示すＤＣ値に関連付けるように構成される設定コードをさらに含むようにしてよい。
【０１６４】
上述の技術は、コンピュータ読み取り可能な命令を使用するコンピュータソフトウェアとして実現され、１つ以上のコンピュータ読み取り可能な媒体に物理的に記憶され得る。
【０１６５】
図１０は、実施形態を実現するのに適したコンピュータシステム（１０００）の図である。
【０１６６】
コンピュータソフトウェアは、任意の適切なマシンコードまたはコンピュータ言語を使用して符号化されてもよく、アセンブリ、コンパイル、リンクなどのメカニズムによって命令を含むコードを作成してもよいし、この命令は、コンピュータ中央処理ユニット（ＣＰＵ：ｃｏｍｐｕｔｅｒ  ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、グラフィック処理ユニット（ＧＰＵ：Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などによって直接的に実行されてもよく、または解釈、マイクロコードなどによって実行されてもよい。
【０１６７】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、オブジェクトネットワークデバイス（ｉｎｔｅｒｎｅｔ  ｏｆ  ｔｈｉｎｇｓ  ｄｅｖｉｃｅｓ）などを含む、様々なタイプのコンピュータまたはそのコンポーネントで実行されてもよい。
【０１６８】
図１０に示されるコンピュータシステム１０００のコンポーネントは、本質的に例示的なものであり、実施形態を実現するコンピュータソフトウェアの使用範囲または機能に関するいかなる制限も示唆することが意図されていない。コンポーネントの構成は、コンピュータシステム１０００の例示的な実施形態に示されているコンポーネントのいずれかまたは組み合わせに関連する任意の依存性または要件を有すると解釈されるべきではない。
【０１６９】
コンピュータシステム１０００は、いくつかのヒューマンインターフェース入力デバイスを含むことができる。このようなヒューマンインターフェース入力デバイスは、例えば、触覚入力（例えば、キーストローク、スワイプ、データグローブの動き）、オーディオ入力（例えば、音声、拍手など）、視覚入力（例えば、ジェスチャーなど）、嗅覚入力（図示せず）によって、1人以上のユーザによる入力に応答することができる。ヒューマンインターフェース入力デバイスは、例えばオーディオ（例えば、音声、音楽、環境音など）、画像（例えば、スキャンされた画像、静止画像カメラから得られた写真画像など）、ビデオ（例えば、２次元ビデオ、立体映像を含む３次元ビデオなど）などの、人間による意識的な入力に必ずしも直接関連しているとは限らない、特定のメディアを捕捉するために使用されることもできる。
【０１７０】
ヒューマンインターフェース入力デバイスは、キーボード１００１、マウス１００２、トラックパッド１００３、タッチスクリーン１０１０、データグローブ、ジョイスティック１００５、マイクロホン１００６、スキャナ１００７、カメラ１００８のうちの１つまたは複数を含むことができる（そのうちの1つだけが図示された）。
【０１７１】
コンピュータシステム１０００はまた、いくつかのヒューマンインターフェース出力デバイスを含むことができる。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および嗅覚／味覚によって、１人以上のユーザの感覚を刺激することができる。このようなヒューマンインターフェース出力デバイスは、触覚出力デバイス（例えば、タッチスクリーン１０１０、データグローブ、ジョイスティック１００５による触覚フィードバックであるが、入力デバイスとして作用しない触覚フィードバックデバイスであってもよい）、オーディオ出力デバイス（例えば、スピーカ１００９、ヘッドホン（図示せず））、視覚出力デバイス（例えば、ブラウン管（ＣＲＴ：ｃａｔｈｏｄｅ  ｒａｙ  ｔｕｂｅ）スクリーン、液晶ディスプレイ（ＬＣＤ：ｌｉｑｕｉｄ−ｃｒｙｓｔａｌ  ｄｉｓｐｌａｙ）スクリーン、プラズマスクリーン、有機発光ダイオード（ＯＬＥＤ：ｏｒｇａｎｉｃ  ｌｉｇｈｔ−ｅｍｉｔｔｉｎｇ  ｄｉｏｄｅ）スクリーンを含むスクリーン１０１０であり、各々は、タッチスクリーン入力機能を備えてもよく、あるいは備えていなくてもよく、各々は、触覚フィードバック機能を備えてもよく、あるいは備えていなくてもよいし、これらのいくつかは、ステレオグラフィック出力、仮想現実メガネ（図示せず）、ホログラフィックディスプレイとスモークタンク（図示せず）、およびプリンタ（図示せず）などによって、２次元の視覚出力または３次元以上の視覚出力を出力することができる。
【０１７２】
コンピュータシステム１０００は、例えば、ＣＤ／ＤＶＤを有するＣＤ／ＤＶＤ  ＲＯＭ／ＲＷ  １０２０を含む光学媒体または類似の媒体１０２１、サムドライブ１０２２、リムーバブルハードドライブまたはソリッドステートドライブ１０２３、テープおよびフロッピーディスク（図示せず）などのレガシー磁気媒体、セキュリティドングル（図示せず）などの特殊なＲＯＭ／ＡＳＩＣ／ＰＬＤベースのデバイスなどのような、人間がアクセス可能な記憶デバイスおよびそれらに関連する媒体を含むことができる。
【０１７３】
当業者はまた、ここで開示されている主題に関連して使用される「コンピュータ読み取り可能な媒体」という用語が、伝送媒体、搬送波、または他の一時的な信号を包含しないことを理解すべきである。
【０１７４】
コンピュータシステム１０００はまた、１つ以上の通信ネットワークへのインターフェースを含むことができる。ネットワークは、例えば、無線、有線、光学的であってもよい。ネットワークはさらに、ローカルネットワーク、広域ネットワーク、大都市圏ネットワーク、車両用ネットワークおよび産業用ネットワーク、リアルタイムネットワーク、遅延耐性ネットワークなどであってもよい。ネットワークの例は、イーサネット（登録商標）、無線ＬＡＮ、セルラーネットワーク（モバイル通信のグローバルシステム（ＧＳＭ：ｇｌｏｂａｌ  ｓｙｓｔｅｍｓ  ｆｏｒ  ｍｏｂｉｌｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）、第３世代（３Ｇ：ｔｈｉｒｄ  ｇｅｎｅｒａｔｉｏｎ）、第４世代（４Ｇ：ｆｏｕｒｔｈ  ｇｅｎｅｒａｔｉｏｎ）、第５世代（５Ｇ：ｆｉｆｔｈ  ｇｅｎｅｒａｔｉｏｎ）、長期進化（ＬＴＥ：Ｌｏｎｇ−Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）などを含む）などのＬＡＮ、有線テレビまたは無線広域デジタルネットワーク（テレビケーブル、衛星テレビ、地上放送テレビを含む）、車両用ネットワークおよび産業用ネットワーク（ＣＡＮＢｕｓを含む）などを含む。いくつかのネットワークは、一般に、いくつかの汎用データポートまたは周辺バス（１０４９）（例えば、コンピュータシステム１０００のユニバーサルシリアルバス（ＵＳＢ：ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）ポート）に接続された外部ネットワークインターフェースアダプタが必要であり、他のシステムは、通常、以下に説明するようにシステムバスに接続することによって、コンピュータシステム１０００のコアに統合される（例えば、イーサネットインターフェースからＰＣコンピュータシステムへ、またはセルラーネットワークインターフェースからスマートフォンコンピュータシステムへ）。これらのネットワークのいずれかを使用して、コンピュータシステム１０００は、他のエンティティと通信することができる。このような通信は、単方向の受信のみ（例えば、放送ＴＶ）、単方向の送信のみ（例えば、ＣＡＮバスから特定のＣＡＮバスデバイスへ）、あるいは、双方向の、例えばローカルまたは広域デジタルネットワークを使用して他のコンピュータシステムへの通信であってもよい。上記のように、特定のプロトコルおよびプロトコルスタックは、それらのネットワークおよびネットワークインターフェースのそれぞれで使用されることができる。
【０１７５】
上記のヒューマンインターフェースデバイス、ヒューマンアクセス可能な記憶デバイス、およびネットワークインターフェースは、コンピュータシステム１０００のコア１０４０に接続されることができる。
【０１７６】
コア１０４０は、１つ以上の中央処理ユニット（ＣＰＵ）１０４１、画像処理ユニット（ＧＰＵ）１０４２、フィールドプログラマブルゲートエリア（ＦＰＧＡ）１０４３の形式の専用プログラマブル処理ユニット、特定のタスクのためのハードウェア加速器１０４４などを含むことができる。これらのデバイスは、リードオンリーメモリ（ＲＯＭ）１０４５、ランダムアクセスメモリ（ＲＡＭ）１０４６、例えば内部の非ユーザアクセスハードドライブ、ソリッドステートドライブ（ＳＳＤ：ｓｏｌｉｄ−ｓｔａｔｅ  ｄｒｉｖｅｓ）などの内部大容量ストレージ１０４７などとともに、システムバス１２４８を介して接続されてもよい。いくつかのコンピュータシステムでは、システムバス１２４８は、付加的なＣＰＵ、ＧＰＵなどによって拡張を可能にするために、１つ以上の物理的プラグの形でアクセスすることができる。周辺デバイスは、コアのシステムバス１２４８に直接に接続されてもよく、または周辺バス１０４９を介して接続されてもよい。周辺バスのアーキテクチャは、外部コントローラインターフェース（ＰＣＩ：ｐｅｒｉｐｈｅｒａｌ  ｃｏｍｐｏｎｅｎｔ  ｉｎｔｅｒｃｏｎｎｅｃｔ）、汎用シリアルバス（ＵＳＢ）などを含む。
【０１７７】
ＣＰＵ  １０４１、ＧＰＵ  １０４２、ＦＰＧＡ  １０４３、および加速器１０４４は、いくつかの命令を実行することができ、これらの命令を組み合わせて上記のコンピュータコードを構成することができる。そのコンピュータコードは、ＲＯＭ  １０４５またはＲＡＭ  １０４６に記憶されることができる。また、一時的なデータは、ＲＡＭ  １０４６に記憶されることができる一方、永久的なデータは、例えば内部大容量ストレージ１０４７に記憶されることができる。１つ以上のＣＰＵ  １０４１、ＧＰＵ  １０４２、大容量ストレージ１０４７、ＲＯＭ  １０４５、ＲＡＭ  １０４６などと密接に関連することができる、高速ストレージを使用することにより、任意のメモリデバイスに対する高速記憶および検索が可能になる。
【０１７８】
コンピュータ読み取り可能な媒体は、様々なコンピュータ実行された動作を実行するためのコンピュータコードを有することができる。媒体およびコンピュータコードは、実施形態の目的のために特別に設計および構成されたものであってもよく、またはコンピュータソフトウェア分野の技術者によって知られ、利用可能な媒体およびコードであってもよい。
【０１７９】
限定ではなく例として、アーキテクチャ１０００、特にコア１０４０を有するコンピュータシステムは、１つ以上の有形な、コンピュータ読み取り可能な媒体に具体化されたソフトウェアを実行する、（ＣＰＵ、ＧＰＵ、ＦＰＧＡ、加速器などを含む）プロセッサの結果として機能を提供することができる。このようなコンピュータ読み取り可能な媒体は、上述したようにユーザがアクセス可能な大容量ストレージに関連する媒体であり、コア内部大容量ストレージ１０４７またはＲＯＭ  １０４５などの、不揮発性コア１０４０を有する特定のストレージであってもよい。本開示の様々な実施形態を実現するソフトウェアは、そのようなデバイスに記憶され、コア１０４０によって実行されてもよい。コンピュータ読み取り可能な媒体は、特定のニーズに応じて、１つ以上のメモリデバイスまたはチップを含むことができる。このソフトウェアは、コア１０４０、具体的にはその中のプロセッサ（ＣＰＵ、ＧＰＵ、ＦＰＧＡなどを含む）に、ＲＡＭ  １０４６に記憶されているデータ構造を定義することと、ソフトウェアによって定義されたプロセスに従ってこのようなデータ構造を変更することとを含む、ここで説明された特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えてまたは代替として、コンピュータシステムは、ロジックハードワイヤまたは他の方式で、回路（例えば、加速器１０４４）で具体化された結果としての機能を提供することができ、この回路は、ソフトウェアの代わりに動作しまたはソフトウェアと一緒に動作して、ここで説明された特定のプロセスまたは特定のプロセスの特定の部分を実行してもよい。適切な場合には、ソフトウェアへの参照はロジックを含むことができ、逆もまた然りである。適切な場合には、コンピュータ読み取り可能な媒体への参照は、実行のソフトウェアを記憶する回路（例えば、集積回路（ＩＣ）など）、実行のロジックを具体化する回路、またはその両方を兼ね備えることができる。実施形態は、ハードウェアとソフトウェアの任意の適切な組み合わせを包含する。
【０１８０】
本開示は、いくつかの例示的な実施形態について説明したが、本開示の範囲内にある変更、置換、および様々な均等置換が存在している。したがって、当業者は、本明細書では明示的に示されていないか、または説明されていないが、本開示の原則を具体化しているので、本開示の精神および範囲内ある、様々なシステムおよび方法を設計することができる、ということを理解されたい。
【図１Ａ】
2021519050.tif 000022
【図１Ｂ】
2021519050.tif 000023
【図１Ｃ】
2021519050.tif 000024
【図１Ｄ】
2021519050.tif 000025
【図１Ｅ】
2021519050.tif 000026
【図２】
2021519050.tif 000027
【図３】
2021519050.tif 000028
【図４】
2021519050.tif 000029
【図５】
2021519050.tif 000030
【図６】
2021519050.tif 000031
【図７】
2021519050.tif 000032
【図８】
2021519050.tif 000033
【図９】
2021519050.tif 000034
【図１０】
2021519050.tif 000035
【国際調査報告】
2021519050.tif 000036