(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-05
(45)【発行日】2022-08-16
(54)【発明の名称】デコーダが実行するビデオデコーディングのための方法及び装置、並びにエンコーダが実行するビデオエンコーディングのための方法
(51)【国際特許分類】
H04N 19/122 20140101AFI20220808BHJP
H04N 19/156 20140101ALI20220808BHJP
H04N 19/18 20140101ALI20220808BHJP
H04N 19/436 20140101ALI20220808BHJP
【FI】
H04N19/122
H04N19/156
H04N19/18
H04N19/436
(21)【出願番号】P 2021536074
(86)(22)【出願日】2020-03-20
(86)【国際出願番号】 US2020023752
(87)【国際公開番号】W WO2020197957
(87)【国際公開日】2020-10-01
【審査請求日】2021-06-21
(32)【優先日】2019-03-22
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-03-19
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジャオ,シン
(72)【発明者】
【氏名】リ,シアン
(72)【発明者】
【氏名】リィウ,シャン
【審査官】久保 光宏
(56)【参考文献】
【文献】特表2022-522774(JP,A)
【文献】特表2020-533822(JP,A)
【文献】特表2022-515799(JP,A)
【文献】Chih-Wei Hsu, et al.,"CE1-related: Constraint for binary and ternary partitions",JVET-K0556 (version 2),[online], Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2018年07月16日,Pages 1-3,[令和4年6月27日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=4086> and <URL: https://jvet-experts.org/doc_end_user/documents/11_Ljubljana/wg11/JVET-K0556-v2.zip>.
【文献】Jianle Chen, et al.,"Algorithm description for Versatile Video Coding and Test Model 4 (VTM 4)",JVET-M1002 (version 2),[online], Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2019年03月19日,Pages 1-14,[令和4年6月27日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=5756> and <URL: https://jvet-experts.org/doc_end_user/documents/13_Marrakech/wg11/JVET-M1002-v2.zip>.
【文献】C. Rosewarne, et al.,"CE1: Transform tiling for pipelined processing of CTUs (Test 1.2.1)",JVET-M0236 (version 1),[online], Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2019年01月02日,Pages 1-4,[令和4年6月27日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=5043> and <URL: https://jvet-experts.org/doc_end_user/documents/13_Marrakech/wg11/JVET-M0236-v1.zip>.
【文献】村上 篤道(外2名)編,「高効率映像符号化技術 HEVC/H.265とその応用」,第1版,日本,株式会社オーム社,2013年02月25日,第85~88,136~139頁,ISBN: 978-4-274-21329-8.
【文献】大久保 榮 監修,「インプレス標準教科書シリーズ H.265/HEVC教科書」,初版,日本,株式会社インプレスジャパン,2013年10月21日,第108~114頁,ISBN: 978-4-8443-3468-2.
(58)【調査した分野】(Int.Cl.,DB名)
H04N19/00-19/98
CSDB(日本国特許庁)
IEEEXplore(IEEE)
(57)【特許請求の範囲】
【請求項1】
デコーダが実行するビデオデコーディングのための方法であって、
コーディングされたビデオビットストリームからピクチャ内のコーディングブロック(CB)のコーディングされた情報をデコーディングするステップであり、該コーディングされた情報は前記CBのW個のサンプルの幅及びH個のサンプルの高さを示す、前記デコーディングするステップと、
前記CBを、W及びKのうちの最小な一方である幅と、H及びKのうちの最小な一方である高さとを有するサブ処理ユニット(SPU)に分割するステップであり、前記CBの幅W及び高さHのうちの少なくとも一方は処理データユニットサイズKよりも大きい、前記分割するステップと、
前記SPUの幅及び高さと、M個のサンプルの最大変換ユニット(TU)サイズとに基づいて、前記SPUを更に分割するためのパーティショニング構造を決定するステップであり、前記SPUの幅及び高さのうちの少なくとも一方はMよりも大きい、前記決定するステップと、
前記決定されたパーティショニング構造に基づいて前記SPUの夫々をM×MのTUに分割するステップと
を有する方法。
【請求項2】
前記SPUの幅及び高さは、Mよりも大きく、
前記パーティショニング構造を決定するステップは、前記パーティショニング構造を四分木パーティショニング構造であると決定するステップを含み、
前記SPUを前記TUに分割するステップは、前記四分木パーティショニング構造に基づいて前記SPUを前記TUに分割するステップを含む、
請求項1に記載の方法。
【請求項3】
前記SPUの幅は、Mよりも大きく、前記SPUの高さは、Mに等しく、
前記パーティショニング構造を決定するステップは、前記パーティショニング構造を垂直二分木パーティショニング構造であると決定するステップを含み、
前記SPUを前記TUに分割するステップは、前記垂直二分木パーティショニング構造に基づいて前記SPUを前記TUに分割するステップを含む、
請求項1に記載の方法。
【請求項4】
前記SPUの高さ、Mよりも大きく、前記SPUの幅は、Mに等しく、
前記パーティショニング構造を決定するステップは、前記パーティショニング構造を水平二分木パーティショニング構造であると決定するステップを含み、
前記SPUを前記TUに分割するステップは、前記水平二分木パーティショニング構造に基づいて前記SPUを前記TUに分割するステップを含む、
請求項1に記載の方法。
【請求項5】
前記SPUを前記TUに分割するステップは、前記パーティショニング構造に基づいて前記SPUの中の1つを再帰的に前記TUに分割するステップを含む、
請求項1乃至4のうちいずれか一項に記載の方法。
【請求項6】
第1スキャン順序に従って前記SPUを処理するステップと、
第2スキャン順序に従って前記SPUの夫々における前記TUを処理するステップと
を更に有する、請求項1乃至5のうちいずれか一項に記載の方法。
【請求項7】
前記第1スキャン順序及び前記第2スキャン順序のうちの少なくとも一方は、(i)ラスタスキャン順序、(ii)垂直スキャン順序、(iii)ジグザグ順序、及び(iv)対角スキャン順序、のうちの1つである、
請求項6に記載の方法。
【請求項8】
前記第1スキャン順序及び前記第2スキャン順序は、前記ラスタスキャン順序である、
請求項7に記載の方法。
【請求項9】
Wは128であり、Hは64であり、Kは64であり、Mは32であり、
前記第1スキャン順序は、左か右であり、
前記第2スキャン順序は、ラスタスキャン順序である、
請求項6に記載の方法。
【請求項10】
前記処理データユニットサイズKは、仮想パイプラインデータユニット(VPDU)のサイズを示し、
前記ピクチャにおいて、前記SPUの中の第1SPUは第1VPDUに含まれ、前記SPUの中の第2SPUは第2VPDUに含まれ、
当該方法は、多段階パイプラインの第1段階で前記第1VPDUを処理した後、前記多段階パイプラインの第2段階で前記第1VPDUを、及び前記第1段階で前記第2VPDUを同時に処理するステップを更に含む、
請求項1乃至9のうちいずれか一項に記載の方法。
【請求項11】
ビデオデコーディングのための装置であって、
コーディングされたビデオビットストリームからピクチャ内のコーディングブロック(CB)のコーディングされた情報をデコーディングし、該コーディングされた情報は前記CBのW個のサンプルの幅及びH個のサンプルの高さを示し、
前記CBを、W及びKのうちの最小な一方である幅と、H及びKのうちの最小な一方である高さとを有するサブ処理ユニット(SPU)に分割し、前記CBの幅W及び高さHのうちの少なくとも一方は処理データユニットサイズKよりも大きく、
前記SPUの幅及び高さと、M個のサンプルの最大変換ユニット(TU)サイズとに基づいて、前記SPUを更に分割するためのパーティショニング構造を決定し、前記SPUの幅及び高さのうちの少なくとも一方はMよりも大きく、
前記決定されたパーティショニング構造に基づいて前記SPUの夫々をM×MのTUに分割する
よう構成された処理回路を有する装置。
【請求項12】
前記SPUの幅及び高さは、Mよりも大きく、
前記処理回路は、
前記パーティショニング構造を四分木パーティショニング構造であると決定し、
前記四分木パーティショニング構造に基づいて前記SPUを前記TUに分割する
よう更に構成される、
請求項11に記載の装置。
【請求項13】
前記SPUの幅は、Mよりも大きく、前記SPUの高さは、Mに等しく、
前記処理回路は、
前記パーティショニング構造を垂直二分木パーティショニング構造であると決定し、
前記垂直二分木パーティショニング構造に基づいて前記SPUを前記TUに分割する
よう更に構成される、
請求項11に記載の装置。
【請求項14】
前記SPUの高さ、Mよりも大きく、前記SPUの幅は、Mに等しく、
前記処理回路は、
前記パーティショニング構造を水平二分木パーティショニング構造であると決定し、
前記水平二分木パーティショニング構造に基づいて前記SPUを前記TUに分割する
よう更に構成される
請求項11に記載の装置。
【請求項15】
前記処理回路は、前記パーティショニング構造に基づいて前記SPUの中の1つを再帰的に前記TUに分割するよう更に構成される、
請求項11乃至14のうちいずれか一項に記載の装置。
【請求項16】
前記処理回路は、
第1スキャン順序に従って前記SPUを処理し、
第2スキャン順序に従って前記SPUの夫々における前記TUを処理する
よう更に構成される、
請求項11乃至15のうちいずれか一項に記載の装置。
【請求項17】
前記第1スキャン順序及び前記第2スキャン順序のうちの少なくとも一方は、(i)ラスタスキャン順序、(ii)垂直スキャン順序、(iii)ジグザグ順序、及び(iv)対角スキャン順序、のうちの1つである、
請求項16に記載の装置。
【請求項18】
前記第1スキャン順序及び前記第2スキャン順序は、前記ラスタスキャン順序である、
請求項17に記載の装置。
【請求項19】
Wは128であり、Hは64であり、Kは64であり、Mは32であり、
前記第1スキャン順序は、左か右であり、
前記第2スキャン順序は、ラスタスキャン順序である、
請求項16に記載の装置。
【請求項20】
前記処理データユニットサイズKは、仮想パイプラインデータユニット(VPDU)のサイズを示し、
前記ピクチャにおいて、前記SPUの中の第1SPUは第1VPDUに含まれ、前記SPUの中の第2SPUは第2VPDUに含まれ、
前記処理回路は、多段階パイプラインの第1段階で前記第1VPDUを処理した後、前記多段階パイプラインの第2段階で前記第1VPDUを、及び前記第1段階で前記第2VPDUを同時に処理するよう更に構成される、
請求項11乃至19のうちいずれか一項に記載の装置。
【請求項21】
エンコーダが実行するビデオエンコーディングのための方法であって、
ビデオビットストリームをエンコーディングするステップと、
前記コーディングされたビデオビットストリームからピクチャ内のコーディングブロック(CB)のコーディングされた情報をデコーディングするステップであり、該コーディングされた情報は前記CBのW個のサンプルの幅及びH個のサンプルの高さを示す、前記デコーディングするステップと、
前記CBを、W及びKのうちの最小な一方である幅と、H及びKのうちの最小な一方である高さとを有するサブ処理ユニット(SPU)に分割するステップであり、前記CBの幅W及び高さHのうちの少なくとも一方は処理データユニットサイズKよりも大きい、前記分割するステップと、
前記SPUの幅及び高さと、M個のサンプルの最大変換ユニット(TU)サイズとに基づいて、前記SPUを更に分割するためのパーティショニング構造を決定するステップであり、前記SPUの幅及び高さのうちの少なくとも一方はMよりも大きい、前記決定するステップと、
前記決定されたパーティショニング構造に基づいて前記SPUの夫々をM×MのTUに分割するステップと
を有する方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ビデオコーディングに概して関係がある実施形態について記載する。
【背景技術】
【0002】
本明細書中で与えられている背景の説明は、本開示の背景を一般的に提示することを目的とするものである。現在指名されている発明者の研究は、その研究がこの背景の項で説明されている範囲で、及び出願時に先行技術としてさもなければ適格でない可能性がある説明の側面は、本開示に対する先行技術として明示的にも暗黙的にも認められない。
【0003】
ビデオコーディング及びデコーディングは、動き補償を伴ったインターピクチャ予測を用いて実行可能である。圧縮されていないデジタルビデオは、ピクチャの連続を含むことができ、各ピクチャは、例えば、1920×1080のルミナンスサンプル及び関連するクロミナンスサンプルの空間寸法を有する。ピクチャの連続は、例えば、毎秒60ピクチャ、つまり60Hzの固定又は可変のピクチャレート(俗にフレームレートとして知られている。)を有することができる。圧縮されていないビデオは、有意なビットレート要件を有している。例えば、サンプル当たり8ビットでの1080p60 4:2:0ビデオ(60Hzのフレームレートでの1920×1080のルミナンスサンプル解像度)は、1.5Gビット/sに近いバンド幅を必要とする。そのようなビデオの1時間は、600Gバイト超の記憶空間を必要とする。
【0004】
ビデオコーディング及びデコーディングの1つの目的は、圧縮による入力ビデオ信号の冗長性の低減であることができる。圧縮は、いくつかの場合に2桁以上、上記のバンド幅又は記憶空間要件を減らすことを助けることができる。可逆及び不可逆圧縮の両方並びにそれらの組み合わせが用いられ得る。可逆圧縮は、原信号の厳密なコピーが圧縮された原信号から再構成可能である技術を指す。不可逆圧縮を使用する場合に、再構成された信号は、原信号と同じでない場合があるが、原信号と再構成された信号との間のひずみは、再構成された信号を、意図された用途にとって有用なものとするほど十分に小さい。ビデオの場合には、不可逆圧縮が広く用いられている。許容されるひずみの量は用途に依存し、例えば、特定の消費者ストリーミング用途のユーザは、テレビジョン配信用途のユーザよりも高いひずみを許容し得る。達成可能な圧縮比は、より高い許容可能な/受け入れ可能なひずみがより高い圧縮比をもたらし得ることを反映することができる。
【0005】
ビデオエンコーダ及びデコーダは、例えば、動き補償、変換、量子化、及びエントロピコーディングを含むいくつかの広いカテゴリからの技術を利用することができる。
【0006】
ビデオコーデック技術は、イントラコーディングとして知られている技術を含むことができる。イントラコーディングでは、サンプル値は、前に再構成された参照ピクチャからのサンプル又は他のデータを参照せずに表現される。いくつかのビデオコーデックでは、ピクチャは、空間的にサンプルのブロックに細分される。サンプルの全てのブロックがイントラモードでコーディングされる場合に、そのピクチャはイントラピクチャであることができる。イントラピクチャ及びそれらの派生物、例えば、独立したデコーダリフレッシュピクチャは、デコーダ状態をリセットするために使用され得るので、コーディングされたビデオビットストリーム及びビデオセッションの最初のピクチャとして、又は静止画像として使用され得る。イントラブロックのサンプルは、変換を受けることができ、変換係数は、エントロピコーディング前に量子化され得る。イントラ予測は、変換前領域でサンプル値を最小限にする技術であることができる。いくつかの場合に、変換後のDC値が小さければ小さいほど、かつ、AC係数が小さければ小さいほど、エントロピコーディング後にブロックを表すために所与の量子化ステップサイズで必要とされるビットはますます少ない。
【0007】
例えば、MPEG-2世代のコーディング技術から知られているような、従来のイントラコーディングは、イントラ予測を使用しない。しかし、より新しいビデオ圧縮技術は、例えば、データの空間的に隣接しかつデコーディング順序において先行するブロックのエンコーディング/デコーディング中に得られた周囲サンプルデータ及び/又はメタデータから試みる技術を含む。かような技術は、以降「イントラ予測」技術と呼ばれる。少なくともいくつかの場合に、イントラ予測は、再構成中の現在のピクチャからのみ参照データを使用し、参照ピクチャからは使用しない点に留意されたい。
【0008】
多種多様な形態のイントラ予測が存在し得る。かような技術の1つよりも多くが所与のビデオコーディング技術で使用され得る場合に、使用中の技術はイントラ予測モードでコーディングされ得る。特定の場合に、モードは、サブモード及び/又はパラメータを有することができ、それらは、独立してコーディングされ得るか、又はモードコードワードに含まれ得る。所与のモード/サブモード/パラメータ組み合わせのためにどのコードワードを使用すべきは、イントラ予測を通してコーディング効率利得に影響を及ぼし得るので、エントロピコーディング技術が、コードワードをビットストリームに変換するために使用され得る。
【0009】
特定のモードのイントラ予測が、H.264により導入され、H.265で洗練され、Joint Exploration Model(JEM)、Versatile Video Coding(VVC)、及びBenchmark Set(BMS)などのより新しいコーディング技術で更に洗練された。予測子ブロックは、既に利用可能なサンプルに属する隣接サンプル値を用いて形成され得る。隣接サンプルのサンプル値は、方向に応じて予測子ブロック内にコピーされる。使用中の方向の参照は、ビットストリームでコーディングされ得るか、又はそれ自体予測されてもよい。
【0010】
図1Aを参照すると、右下には、H.265の33個のとり得る予測子方向(35個のイントラモードのうちの33個の角度モードに対応)から知られている9つの予測子方向のサブセットが表されている。矢印が集まる点(101)は、予測中のサンプルに相当する。矢印は、サンプルが予測されている方向に相当する。例えば、矢印(102)は、サンプル(101)が、水平から45度の角度で右上にある1つ又は複数のサンプルから予測される、ことを示す。同様に、矢印(103)は、サンプル(101)が、水平から22.5度の角度でサンプル(101)の左下にある1つ又は複数のサンプルから予測される、ことを示す。
【0011】
依然として
図1Aを参照して、左上には、4×4個のサンプル(太破線によって示される。)の正方形ブロック(104)が表されている。正方形ブロック(104)は16個のサンプルを含み、各サンプルは、「S」、Y次元でのその位置(例えば、行インデックス)、及びX次元でのその位置(例えば、列インデックス)で標記される。例えば、サンプルS21は、Y次元で(上から)2番目のサンプルかつX次元で(左から)1番目のサンプルである。同様に、サンプルS44は、Y及びXの両方の次元でブロック(104)内の4番目のサンプルである。ブロックはサイズが4×4サンプルであるということで、S44は右下にある。更には、類似した番号付け方式に従う参照サンプルが示されている。参照サンプルは、ブロック(104)に対して、「R」、そのY位置(例えば行インデックス)及びX位置(列インデックス)で標記される。H.264及びH.265の両方で、予測サンプルは、再構成中のブロックに隣接し、従って、負値が使用される必要はない。
【0012】
イントラピクチャ予測は、信号により伝えられた予測方向によって必要に応じて隣接サンプルから参照サンプル値をコピーすることによって、働くことができる。例えば、コーディングされたビデオビットストリームが、このブロックについて、矢印(102)と一致する予測方向を示す、すなわち、サンプルが水平から45度の角度で右上にある1つ以上の予測サンプルから予測される、とのシグナリングを含む、とする。その場合に、サンプルS41、S32、S23、及びS14は、同じ参照サンプルR05から予測される。それから、サンプルS44は、参照サンプルR08から予測される。
【0013】
特定の場合に、複数の参照サンプルの値は、参照サンプルを計算するために、特に、方向が45度で等しく分割可能でない場合に、例えば、補間を通じて、組み合わされてよい。
【0014】
とり得る方向の数は、ビデオコーディング技術が発展するとともに増えている。H.264(2003年)では、9つの異なる方向が表現可能であった。それは、H.265(2013年)では33個にまで増え、そして、JEM/VVC/BMSは、本開示の時点で、最大65個の方向をサポートすることができる。最もありそうな方向を識別するために実験が行われており、エントロピコーディングにおける特定の技術が、可能性が低い方向に対する若干のペナルティを受け入れながら、少数のビットでそれらのありそうな方向を表現するために使用されている。更に、方向それ自体は、時々、隣接する、既にデコーディングされたブロックで使用された隣接方向から予測され得る。
【0015】
図1Bは、時間とともに増大する予測方向の数を説明するために、JEMによる65個のイントラ予測方向を表す概略図(180)を示す。
【0016】
方向を表すコーディングされたビデオビットストリーム内のイントラ予測方向ビットのマッピングは、ビデオコーディング技術ごとに異なる可能性があり、例えば、予測方向の単純な直接マッピングから、イントラ予測モードまで、コードワードまで、最確モードを含む複雑な適応スキーム、及び同様の技術まで及び得る。全ての場合で、しかしながら、特定の他の方向よりも統計的にビデオコンテンツで起こる可能性が低い特定の方向が存在し得る。ビデオ圧縮の目標は冗長性の低減であるということで、それらの可能性が低い方向は、上手く働くビデオコーディング技術では、よりありそうな方向よりも多いビット数によって表現されることになる。
【0017】
動き補償は、不可逆圧縮技術であることができ、前に再構成されたピクチャ又はその部分(参照ピクチャ)からのサンプルデータのブロックが、動きベクトル(以降MV)によって示された方向において空間的にシフトされた後に、新たに再構成されるピクチャ又はピクチャ部分の予測のために使用される技術に関係があり得る。いくつかの場合に、参照ピクチャは、現在再構成中のピクチャと同じであることができる。MVは2つの次元X及びY、又は3つの次元を有することができ、3番目の次元は、使用中の参照ピクチャの指示である(後者は、間接的に、時間次元であることができる。)。
【0018】
いくつかのビデオ圧縮技術では、サンプルデータの特定のエリアに適用可能なMVは、他のMVから、例えば、再構成中のエリアに空間的に隣接するサンプルデータの他のエリアに関係があり、デコーディング順序においてそのMVに先行するものから、予測され得る。そうすることで、MVをコーディングするために必要なデータの量を大幅に減らすことができ、それによって、冗長性を取り除きかつ圧縮を高める。例えば、カメラから得られた入力ビデオ信号(ナチュラルビデオとして知られる。)をコーディングする場合に、単一のMVが適用可能であるエリアよりも大きいエリアが同様の方向に移動するという統計的可能性があり、従って、いくつかの場合には、隣接するエリアのMVから導出された同様の動きベクトルを用いて予測可能であるということで、MV予測は有効に働くことができる。その結果、所与のエリアについて求められるMVは、周囲のMVから予測されたMVと類似又は同じであり、エントロピコーディング後に、MVを直接コーディングする場合に使用されることになるビット数よりも少ないビットで表され得る。いくつかの場合に、MV予測は、原信号(すなわち、サンプルストリーム)から導出された信号(すなわち、MV)の可逆圧縮の例であることができる。他の場合には、MV予測それ自体は、例えば、いくつかの周囲のMVから予測子を計算するときの丸め誤差のために、不可逆であり得る。
【0019】
様々なMV予測メカニズムがH.265/HEVC(ITU-T Rec. H265,“High Efficiency Video Coding”,2016年12月)で説明されている。H.265が提案する多くのMV予測メカニズムの中から、本明細書では、以降「空間マージ」と呼ばれる技術が説明される。
【0020】
図2を参照すると、現在のブロック(201)は、空間的にシフトされた同じサイズの前のブロックから予測可能であると動き探索プロセス中にエンコーダによって認められたサンプルを有する。そのMVを直接にコーディングする代わりに、MVは、1つ以上の参照ピクチャと関連付けられたメタデータから、例えば、(デコーディング順序において)最も最近の参照ピクチャから、A0、A1及びB0、B1、B2(夫々、202から206)と表されている5つの周囲サンプルのうちのいずれか1つと関連付けられたMVを用いて導出され得る。H.265では、MV予測は、隣接するブロックが使用している同じ参照ピクチャからの予測子を使用することができる。
【発明の概要】
【0021】
開示の態様は、ビデオエンコーディング/デコーディングのための方法及び装置を提供する。いくつかの例で、ビデオデコーディングのための装置は処理回路を含む。処理回路は、コーディングされたビデオビットストリームからピクチャ内のコーディングブロック(CB)のコーディングされた情報をデコーディングするよう構成される。コーディングされた情報は、CBのW個のサンプルの幅及びH個のサンプルの高さを示す。処理回路は、CBを、W及びKのうちの最小な一方である幅と、H及びKのうちの最小な一方である高さとを有するサブ処理ユニット(SPU)に分割することができる。CBの幅W及び高さHのうちの少なくとも一方は処理データユニットサイズKよりも大きい。処理回路は、SPUの幅及び高さと、M個のサンプルの最大変換ユニット(TU)サイズとに基づいて、SPUを更に分割するためのパーティショニング構造を決定することができる。SPUの幅及び高さのうちの少なくとも一方はMよりも大きい。処理回路は、決定されたパーティショニング構造に基づいてSPUの夫々をM×MのTUに分割することができる。
【0022】
実施形態において、SPUの幅及び高さは、Mよりも大きい。処理回路は、パーティショニング構造を四分木パーティショニング構造であると決定することができる。処理回路は、四分木パーティショニング構造に基づいてSPUを記TUに分割することができる。
【0023】
実施形態において、SPUの幅は、Mよりも大きく、SPUの高さは、Mに等しい。処理回路は、パーティショニング構造を垂直二分木パーティショニング構造であると決定することができる。処理回路は、垂直二分木パーティショニング構造に基づいてSPUをTUに分割することができる。
【0024】
実施形態において、SPUの高さ、Mよりも大きく、SPUの幅は、Mに等しい。処理回路は、パーティショニング構造を水平二分木パーティショニング構造であると決定することができる。処理回路は、水平二分木パーティショニング構造に基づいてSPUをTUに分割することができる。
【0025】
実施形態において、処理回路は、パーティショニング構造に基づいてSPUの中の1つを再帰的にTUに分割することができる。
【0026】
実施形態において、処理回路は、第1スキャン順序に従ってSPUを処理し、第2スキャン順序に従ってSPUの夫々におけるTUを処理することができる。例において、第1スキャン順序及び第2スキャン順序のうちの少なくとも一方は、(i)ラスタスキャン順序、(ii)垂直スキャン順序、(iii)ジグザグ順序、及び(iv)対角スキャン順序、のうちの1つである。例において、第1スキャン順序及び第2スキャン順序は、ラスタスキャン順序である。例において、Wは128であり、Hは64であり、Kは64であり、Mは32である。第1スキャン順序は、左か右であり、第2スキャン順序は、ラスタスキャン順序である。
【0027】
実施形態において、処理データユニットサイズKは、仮想パイプラインデータユニット(VPDU)のサイズを示す。ピクチャにおいて、SPUの中の第1SPUは第1VPDUに含まれ、SPUの中の第2SPUは第2VPDUに含まれる。多段階パイプラインの第1段階で第1VPDUを処理した後、処理回路は、多段階パイプラインの第2段階で第1VPDUを、及び第1段階で前記第2VPDUを同時に処理することができる。
【0028】
開示されている対象の更なる特徴、性質、及び様々な利点は、以下の詳細な説明及び添付の図面からより明らかになる。
【図面の簡単な説明】
【0029】
【
図1A】イントラ予測モードの例示的なサブセットの概略図である。
【
図1B】例示的なイントラ予測方向の説明図である。
【
図2】一例における現在のブロック及びその周囲の空間マージ候補の概略図である。
【
図3】実施形態に従う通信システム(300)の略ブロック図の概略図である。
【
図4】実施形態に従う通信システム(400)の略ブロック図の概略図である。
【
図5】実施形態に従うデコーダの略ブロック図の概略図である。
【
図6】実施形態に従うエンコーダの略ブロック図の概略図である。
【
図7】他の実施形態に従うエンコーダのブロック図を示す。
【
図8】他の実施形態に従うデコーダのブロック図を示す。
【
図9A】四分木プラス二分木(QTBT)構造(910)により分割されるCTUを示す。
【
図10A】4点DCT-2変換の変換コア行列を示す。
【
図10B】8点DCT-2変換の変換コア行列を示す。
【
図10C】16点DCT-2変換の変換コア行列を示す。
【
図10D】32点DCT-2変換の変換コア行列を示す。
【
図11A】64点DCT-2変換の64×64変換コア行列を示す。
【
図12】適応多重変換(AMT)の選択された離散サイン変換(DST)/離散コサイン変換(DCT)変換の変換基本関数を示す。
【
図13】mts_idx値と各々の水平又は垂直変換との間のマッピング関係を表す表(1300)を示す。
【
図14A】4点DST-7変換の変換コア行列を示す。
【
図14B】8点DST-7変換の変換コア行列を示す。
【
図14C】16点DST-7変換の変換コア行列を示す。
【
図14D】32点DST-7変換の変換コア行列を示す。
【
図15A】4点DCT-8変換の変換コア行列を示す。
【
図15B】8点DCT-8変換の変換コア行列を示す。
【
図15C】16点DCT-8変換の変換コア行列を示す。
【
図15D】32点DCT-8変換の変換コア行列を示す。
【
図16】ブロックサイズに依存したサブパーティションの数を示す。
【
図17】イントラサブパーティション(ISP)の例を示す。
【
図19A】ISPコーディングモードのためのシンタックス要素(1900)の例を示す。
【
図20A】サブブロック変換(SBT)の例を示す。
【
図20B】サブブロック変換(SBT)の例を示す。
【
図20C】サブブロック変換(SBT)の例を示す。
【
図20D】サブブロック変換(SBT)の例を示す。
【
図21A】SBTが使用される場合のビデオコーディング規格の仕様テキストの例を示す。
【
図21B】SBTが使用される場合のビデオコーディング規格の仕様テキストの例を示す。
【
図21C】SBTが使用される場合のビデオコーディング規格の仕様テキストの例を示す。
【
図21D】SBTが使用される場合のビデオコーディング規格の仕様テキストの例を示す。
【
図21E】SBTが使用される場合のビデオコーディング規格の仕様テキストの例を示す。
【
図21F】SBTが使用される場合のビデオコーディング規格の仕様テキストの例を示す。
【
図21G】SBTが使用される場合のビデオコーディング規格の仕様テキストの例を示す。
【
図21H】SBTが使用される場合のビデオコーディング規格の仕様テキストの例を示す。
【
図22】いくつかの実施形態で使用される種々のYUVフォーマットを示す。
【
図23】認められない三分木(TT)及び二分木(BT)パーティショニングの例を示す。
【
図25】128×64サンプルのサイズを有するコーディングブロック(2510)を示す。
【
図26A】128×32サンプルのサイズを有するコーディングブロック(2610A)を示す。
【
図26B】128×32サンプルのサイズを有するコーディングブロック(2610B)を示す。
【
図27】開示の実施形態に従うプロセス(2700)を説明するフローチャートを示す。
【
図28】実施形態に従うコンピュータシステムの概略図である。
【発明を実施するための形態】
【0030】
[I.ビデオコーディングエンコーダ及びデコーダ]
図3は、本開示の実施形態に従う通信システム(300)の略ブロック図を表す。通信システム(300)は、例えば、ネットワーク(350)を介して、互いと通信することができる複数の端末デバイスを含む。例えば、通信システム(300)は、ネットワーク(350)を介して相互接続されている端末デバイス(310)及び(320)の第1対を含む。
図3では、端末デバイス(310)及び(320)の第1対は、データの一方向伝送を実行する。例えば、端末デバイス(310)は、ネットワーク(350)を介した他の端末デバイス(320)への伝送のためにビデオデータ(例えば、端末デバイス(310)によって捕捉されるビデオデータのストリーム)をコーディングしてよい。エンコーディングされたビデオデータは、1つ以上のコーディングされたビデオビットストリームの形で伝送可能である。端末デバイス(320)は、コーディングされたビデオデータをネットワーク(350)から受信し、コーディングされたビデオデータをデコーディングしてビデオピクチャを回復し、回復されたビデオデータに従ってビデオピクチャを表示してよい。一方向データ伝送は、メディアサービングアプリケーションなどにおいて一般的であり得る。
【0031】
他の例では、通信システム(300)は、例えば、ビデオ会議中に、現れ得るコーディングされたビデオデータの双方向伝送を実行する端末デバイス(330)及び(340)の第2対を含む。データの双方向伝送のために、例において、端末デバイス(330)及び(340)の各端末デバイスは、ネットワーク(350)を介した端末デバイス(330)及び(340)のうちの他方の端末デバイスへの伝送のためにビデオデータ(例えば、その端末デバイスによって捕捉されるビデオピクチャのストリーム)をコーディングしてよい。端末デバイス(330)及び(340)の各端末デバイスはまた、端末デバイス(330)及び(340)のうちの他方の端末デバイスによって送信されたコーディングされたビデオデータを受信してよく、コーディングされたビデオデータをデコーディングしてビデオピクチャを回復してよく、回復されたビデオデータに従って、アクセス可能な表示デバイスでビデオピクチャを表示してよい。
【0032】
図3の例では、端末デバイス(310)、(320)、(330)及び(340)は、サーバ、パーソナルコンピュータ、及びスマートフォンとして表され得るが、本開示の原理はそのように限定され得ない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレイヤー、及び/又は専用のビデオ会議装置により用途を見出す。ネットワーク(350)は、例えば、ワイヤライン(有線)及び/又はワイヤレス通信ネットワークを含む、端末デバイス(310)、(320)、(330)及び(340)の間でコーディングされたビデオデータを伝達する任意数のネットワークに相当する。通信ネットワーク(350)は、回路交換及び/又はパケット交換チャネルにおいてデータを交換し得る。代表的なネットワークには、電気通信網、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又はインターネットがある。本議論のために、ネットワーク(350)のアーキテクチャ及びトポロジは、以降で説明されない限りは本開示の動作に無関係であり得る。
【0033】
図4は、開示されている対象の応用例として、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダの配置を表す。開示されている対象は、例えば、ビデオ会議と、デジタルTVと、CD、DVD、メモリスティックなどを含むデジタル媒体上での圧縮されたビデオの記憶と、などを含む他のビデオ対応用途に同様に適用可能であることができる。
【0034】
ストリーミングシステムは、例えば、圧縮されていないビデオピクチャのストリーム(402)を生成するビデオソース(401)、例えば、デジタルカメラ、を含むことができる捕捉サブシステム(413)を含んでよい。例において、ビデオピクチャのストリーム(402)は、デジタルカメラによって撮影されるサンプルを含む。ビデオピクチャのストリーム(402)は、エンコーディングされたビデオデータ(404)(又はコーディングされたビデオビットストリーム)と比較して高いデータボリュームを強調するために太線で表されており、ビデオソース(401)へ結合されたビデオエンコーダ(403)を含む電子デバイス(420)によって処理され得る。ビデオエンコーダ(403)は、以下で更に詳細に記載されるように、開示されている対象の態様を可能にする又は実装するためのハードウェア、ソフトウェア、又はそれらの組み合わせを含むことができる。エンコーディングされたビデオデータ(404)(又はエンコーディングされたビデオビットストリーム(404))は、ビデオピクチャのストリーム(402)と比較してより低いデータボリュームを強調するために細線で表されており、将来の使用のためにストリーミングサーバ(405)に記憶され得る。
図4のクライアントサブシステム(406)及び(408)などの1つ以上のストリーミングクライアントサブシステムは、エンコーディングされたビデオデータ(404)のコピー(407)及び(409)を読み出すためにストリーミングサーバ(405)にアクセスすることができる。クライアントサブシステム(406)は、例えば、電子デバイス(430)において、ビデオデコーダ(410)を含むことができる。ビデオデコーダ(410)は、エンコーディングされたビデオデータの入来するコピー(407)をデコーディングし、ディスプレイ(412)(例えば、表示スクリーン)又は他のレンダリングデバイス(図示せず。)でレンダリングされ得るビデオピクチャの送出ストリーム(411)を生成する。いくつかのストリーミングシステムにおいて、エンコーディングされたビデオデータ(404)、(407)、及び(409)(例えば、ビデオビットストリーム)は、特定のビデオコーディング/圧縮規格に従ってエンコーディングされ得る。そのような規格の例には、ITU-T推奨H.265がある。例において、開発中のビデオコーディング規格は、Versatile Video Coding(VVC)として俗に知られている。開示されている対象は、VVCに関連して使用されてもよい。
【0035】
電子デバイス(420)及び(430)は、他のコンポーネント(図示せず。)を含むことができることが知られる。例えば、電子デバイス(420)は、ビデオデコーダ(図示せず。)を含むことができ、電子デバイス(430)は、ビデオエンコーダ(図示せず。)を同様に含むことができる。
【0036】
図5は、本開示の実施形態に従うビデオデコーダ(510)のブロック図を示す。ビデオデコーダ(510)は、電子デバイス(530)に含まれ得る。電子デバイス(530)は、受信器(531)(例えば、受信回路)を含むことができる。ビデオデコーダ(510)は、
図4の例のビデオデコーダ(410)の代わりに使用され得る。
【0037】
受信器(531)は、ビデオデコーダ(510)によってデコーディングされるべき1つ以上のコーディングされたビデオシーケンスを、同じ又は他の実施形態では、一度に1つのコーディングされたビデオシーケンスを、受信してよい。ここで、夫々のコーディングされたビデオシーケンスのデコーディングは、他のコーディングされたビデオシーケンスから独立している。コーディングされたビデオシーケンスは、チャネル(501)から受信されてよく、チャネルは、エンコーディングされたビデオデータを記憶している記憶デバイスへのハードウェア/ソフトウェアリンクであってよい。受信器(531)は、エンコーディングされたビデオデータを他のデータ、例えば、コーディングされたオーディオデータ及び/又は補助的なデータストリームとともに受信してよく、それらは、それらの各々の使用エンティティ(図示せず。)へ転送されてよい。受信器(531)は、コーディングされたビデオシーケンスを他のデータから分離してよい。ネットワークジッタに対抗するために、バッファメモリ(515)が受信器(531)とエントロピデコーダ/パーサ(520)(以降「パーサ(520)」)との間に結合されてよい。特定の用途では、バッファメモリ(515)は、ビデオデコーダ(510)の部分である。他では、それは、ビデオデコーダ(510)の外にあることができる(図示せず。)。更に他では、例えば、ネットワークジッタに対抗するための、ビデオデコーダ(510)の外にあるバッファメモリ(図示せず。)と、加えて、例えば、再生タイミングを操作するための、ビデオデコーダ(510)内のもう1つのバッファメモリ(515)とが存在することができる。受信器(531)が十分なバンド幅及び可制御性の記憶/転送デバイスから、又はアイソシンクロナス(isosynchronous)ネットワークからデータを受信しているときに、バッファメモリ(515)は必要とされなくてもよく、あるいは、小さくてよい。インターネットなどのベストエフォートのパケットネットワークでの使用のために、バッファメモリ(515)は必要とされる場合があり、比較的に大きくかつ有利なことには適応サイズであることができ、ビデオデコーダ(510)の外のオペレーティングシステム又は同様の要素(図示せず。)に少なくとも部分的に実装され得る。
【0038】
ビデオデコーダ(510)は、コーディングされたビデオシーケンスからシンボル(521)を再構成するためのパーサ(520)を含んでよい。それらのシンボルのカテゴリは、ビデオデコーダ(510)の動作を管理するために使用される情報と、潜在的に、電子デバイス(530)の必須部分でないが、
図5に示されたように、電子デバイス(530)へ結合され得るレンダーデバイス(512)(例えば、表示スクリーン)などのレンダリングデバイスを制御するための情報とを含む。レンダリングデバイスのための制御情報は、Supplementary Enhancement Information(SEI)メッセージ又はVideo Usability Information(VUI)パラメータセットフラグメント(図示せず。)の形をとってよい。パーサ(520)は、受信されるコーディングされたビデオシーケンスをパース/エントロピデコーディングしてよい。コーディングされたビデオシーケンスのコーディングは、ビデオコーディング技術又は規格に従うことができ、可変長コーディング、ハフマンコーディング、文脈依存による又はよらない算術コーディング、などを含む様々な原理に従うことができる。パーサ(520)は、コーディングされたビデオシーケンスから、ビデオデコーダにおけるピクセルのサブグループのうちの少なくとも1つについてのサブグループパラメータの組を、そのグループに対応する少なくとも1つのパラメータに基づいて抽出し得る。サブグループは、グループ・オブ・ピクチャ(GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)、などを含むことができる。パーサ(520)はまた、変換係数などのコーディングされたビデオシーケンス情報から、量子化パラメータ値、動きベクトル、なども抽出し得る。
【0039】
パーサ(520)は、シンボル(521)を生成するために、バッファメモリ(515)から受信されたビデオシーケンスに対してエントロピデコーディング/パーシング動作を実行してよい。
【0040】
シンボル(521)の再構成は、コーディングされたビデオピクチャ又はその部分(例えば、インター及びイントラピクチャ、インター及びイントラブロック)のタイプ及び他の因子に応じて多種多様なユニットを有することができる。どのユニットがどのように含まれるかは、コーディングされたビデオシーケンスからパーサ(520)によってパースされたサブグループ制御情報によって制御され得る。パーサ(520)と以下の複数のユニットとの間のそのようなサブグループ制御情報のフローは、明りょうさのために表されていない。
【0041】
既に述べられた機能ブロックを超えて、ビデオデコーダ(510)は、概念的に、以下で説明される多数の機能ユニットに細分され得る。商業上の制約の下で動作する実際の実施では、それらのユニットの多くが互いに密に相互作用し、少なくとも部分的に互いに組み込まれ得る。しかし、開示されている対象を説明することを目的として、以下での機能ユニットへの概念的細分は適切である。
【0042】
第1ユニットは、スケーラ/逆変換ユニット(551)である。スケーラ/逆変換ユニット(551)は、パーサ(520)からシンボル(521)として、量子化された変換係数とともに、使用するために変換するもの、ブロックサイズ、量子化係数、量子化スケーリングマトリクスなどを含む制御情報を受信する。スケーラ/逆変換ユニット(551)は、アグリゲータ(555)へ入力することができるサンプル値を含むブロックを出力することができる。
【0043】
いくつかの場合に、スケーラ/逆変換器(551)の出力サンプルは、イントラコーディングされたブロック、すなわち、前に再構成されたピクチャからの予測情報を使用しておらず、現在のピクチャの前に再構成された部分からの予測情報を使用することができるブロック、に関係することができる。かような予測情報は、イントラピクチャ予測ユニット(552)によって供給され得る。いくつかの場合に、イントラピクチャ予測ユニット(552)は、現在ピクチャバッファ(558)からフェッチされた周囲の既に再構成された情報を用いて、再構成中のブロックと同じサイズ及び形状のブロックを生成する。現在ピクチャバッファ(558)は、例えば、部分的に再構成された現在のピクチャ及び/又は完全に再構成された現在のピクチャをバッファリングする。アグリゲータ(555)は、いくつかの場合に、サンプルごとに、イントラ予測ユニット(552)が生成した予測情報を、スケーラ/逆変換ユニット(551)によって供給される出力サンプル情報に加える。
【0044】
他の場合では、スケーラ/逆変換ユニット(551)の出力サンプルは、インターコーディングされた、そして潜在的に動き補償されたブロックに関係することができる。かような場合に、動き補償予測ユニット(553)は、予測のために使用されるサンプルをフェッチするよう参照ピクチャメモリ(557)にアクセスすることができる。ブロックに関係するシンボル(521)に従って、フェッチされたサンプルを動き補償した後に、それらのサンプルは、出力サンプル情報を生成するために、アグリゲータ(555)によって、スケーラ/逆変換ユニット(551)の出力(この場合に、残差サンプル又は残差信号と呼ばれる。)に加えられ得る。動き補償予測ユニット(553)が予測サンプルをフェッチする参照ピクチャメモリ(557)内のアドレスは、例えば、X、Y及び参照ピクチャコンポーネントを有することができるシンボル(521)の形で動き補償予測ユニット(553)が利用することができる動きベクトルによって制御され得る。動き補償はまた、サブサンプルの正確な動きベクトルが使用されているときに参照ピクチャメモリ(557)からフェッチされるサンプル値の補間や、動きベクトル予測メカニズムなどを含むことができる。
【0045】
アグリゲータ(555)の出力サンプルは、ループフィルタユニット(556)において様々なループフィルタリング技術を受けることができる。ビデオ圧縮技術は、インループフィルタ技術を含むことができる。この技術は、コーディングされたビデオシーケンス(コーディングされたビデオビットストリームとも呼ばれる。)に含まれており、パーサ(520)からのシンボル(521)としてループフィルタユニット(556)に利用可能にされたパラメータによって制御されるが、コーディングされたピクチャ又はコーディングされたビデオシーケンスの(デコーディング順序において)前の部分のデコーディング中に得られたメタ情報にも応答することができ、更には、前に構成されたループフィルタ処理されたサンプル値に応答することができる。
【0046】
ループフィルタユニット(556)の出力は、レンダーデバイス(512)へ出力され、更には、将来のインターピクチャ予測における使用のために参照ピクチャメモリ(557)に記憶され得るサンプルストリームであることができる。
【0047】
特定のコーディングされたピクチャは、完全に再構成されると、将来の予測のための参照ピクチャとして使用され得る。例えば、現在のピクチャに対応するコーディングされたピクチャが完全に再構成され、コーディングされたピクチャが(例えば、パーサ(520)によって)参照ピクチャとして識別されると、現在ピクチャバッファ(558)は、参照ピクチャメモリ(557)の部分になることができ、未使用の現在ピクチャバッファが、後続のコーディングされたピクチャの再構成を開始する前に再割り当てされ得る。
【0048】
ビデオデコーダ(510)は、ITU-T推奨H.265などの規格における所定のビデオ圧縮技術に従ってデコーディング動作を実行してよい。コーディングされたビデオシーケンスは、そのコーディングされたビデオシーケンスが、ビデオ圧縮技術又は規格のシンタックス及びビデオ圧縮技術又は規格において文書化されているプロファイルの両方に従うという意味で、使用中のビデオ圧縮技術又は規格によって規定されたシンタックスに従い得る。具体的には、プロファイルは、ビデオ圧縮技術又は規格で利用可能な全てのツールからそのプロファイルの下での使用のために利用可能な最適なツールとして特定のツールを選択することができる。また、コーディングされたビデオシーケンスの複雑さは、ビデオ圧縮技術又は規格のレベルによって定義された境界内にあることが、順守のために必要である。いくつかの場合に、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えば、メガサンプル/秒で測定される。)、最大参照ピクチャサイズ、などを制限する。レベルによって設定される制限は、いくつかの場合に、Hypothetical Reference Decoder(HRD)仕様と、コーディングされたビデオシーケンスにおいて通知されるHRDバッファ管理のためのメタデータとを通じて更に制限され得る。
【0049】
実施形態において、受信器(531)は、エンコーディングされたビデオとともに、追加の(冗長な)データを受信してもよい。追加のデータは、コーディングされたビデオシーケンスの部分としても含まれてもよい。追加のデータは、ビデオデコーダ(510)によって、データを適切にデコーディングするために及び/又は原ビデオデータをより正確に再構成するために使用されてよい。追加のデータは、例えば、時間、空間、又は信号対雑音比(SNR)エンハンスメントレイヤ、冗長スライス、冗長ピクチャ、前方誤り訂正符号、などの形をとることができる。
【0050】
図6は、本開示の実施形態に従うビデオエンコーダ(603)のブロック図を示す。ビデオエンコーダ(603)は、電子デバイス(620)に含まれている。電子デバイス(620)は、送信器(640)(例えば、送信回路)を含む。ビデオエンコーダ(603)は、
図4の例のビデオエンコーダ(403)の代わりに使用され得る。
【0051】
ビデオエンコーダ(603)は、ビデオエンコーダ(603)によってコーディングされるべきビデオ画像を捕捉し得るビデオソース(601)(
図6の例では電子デバイス(620)の部分ではない。)からビデオサンプルを受信してよい。他の例では、ビデオソース(601)は、電子デバイス(620)の部分である。
【0052】
ビデオソース(601)は、任意の適切なビットデプス(例えば、8ビット、10ビット、12ビットなど)、任意の色空間(例えば、BT.601 YCrCB、RGBなど)、及び任意の適切なサンプリング構造(例えば、YCrCb 4:2:0、YCrCb 4:4:4)であることができるデジタルビデオサンプルストリームの形で、ビデオエンコーダ(603)によってコーディングされるべきソースビデオシーケンスを供給してよい。メディアサービングシステムでは、ビデオソース(601)は、前に準備されたビデオを記憶している記憶デバイスであってよい。ビデオ会議システムでは、ビデオソース(601)は、ローカル画像情報をビデオシーケンスとして捕捉するカメラであってよい。ビデオデータは、順に見られる場合に動きを授ける複数の個別ピクチャとして供給されてもよい。ピクチャ自体は、ピクセルの空間アレイとして編成されてよく、各ピクセルは、使用中のサンプリング構造、色空間、などに依存する1つ以上のサンプルを有することができる。当業者であれば、ピクセルとサンプルとの間の関係を容易に理解することができる。本明細書は、以下、サンプルに焦点を当てる。
【0053】
実施形態に従って、ビデオエンコーダ(603)は、実時間において又は用途によって必要とされる任意の他の時間制約の下で、ソースビデオシーケンスのピクチャを、コーディングされたビデオシーケンス(643)へとコーディング及び圧縮してよい。適切なコーディング速度を強いることは、コントローラ(650)の一機能である。いくつかの実施形態において、コントローラ(650)は、以下で記載されるような他の機能ユニットを制御し、それらのユニットへ機能的に結合される。結合は明りょうさのために表されていない。コントローラ(650)によってセットされるパラメータには、レート制御に関連したパラメータ(ピクチャスキップ、量子化器、レートひずみ最適化技術のラムダ値、など)、ピクチャサイズ、グループ・オブ・ピクチャ(GOP)レイアウト、最大動きベクトル探索範囲、などが含まれ得る。コントローラ(650)は、特定のシステム設計のために最適化されたビデオエンコーダ(603)に関係する他の適切な機能を有するよう構成され得る。
【0054】
いくつかの実施形態において、ビデオエンコーダ(603)は、コーディングループで動作するよう構成される。過度に単純化された記載として、例において、コーディングループは、ソースコーダ(630)(例えば、コーディングされるべき入力ピクチャと、参照ピクチャとに基づいて、シンボルストリームなどのシンボルを生成することに関与する。)と、ビデオエンコーダ(603)に埋め込まれた(ローカル)デコーダ(633)とを含むことができる。デコーダ(633)は、(シンボルとコーディングされたビデオストリームとの間の如何なる圧縮も、開示されている対象で考えられているビデオ圧縮技術において可逆であるということで)(遠隔の)デコーダも生成することになるのと同様の方法でサンプルデータを生成するようにシンボルを再構成する。その再構成されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(634)へ入力される。シンボルストリームのデコーディングは、デコーダの場所(ローカル又は遠隔)に依存しないビットパーフェクト(bit-exact)な結果をもたらすので、参照ピクチャメモリ(634)内のコンテンツも、ローカルのエンコーダと遠隔のエンコーダとの間でビットパーフェクトである。すなわち、エンコーダの予測部分は、デコーダがデコーディング中に予測を使用するときに“見る”ことになるのとまさに同じサンプル値を参照ピクチャサンプルとして“見る”。参照ピクチャのシンクロニシティ(及び、例えば、チャネルエラーのために、シンクロニシティが維持され得ない場合に、結果として生じるドリフト)のこの基本原理は、いくつかの関連技術でも使用されている。
【0055】
“ローカル”のデコーダ(633)の動作は、
図5とともに先に詳細に既に説明されている、ビデオデコーダ(510)などの“遠隔”のデコーダと同じであることができる。一時的に
図5も参照すると、しかしながら、シンボルが利用可能であり、エントロピコーダ(645)及びパーサ(520)によるコーディングされたビデオシーケンスへのシンボルのエンコーディング/デコーディングが可逆であることができるということで、バッファメモリ(515)及びパーサ(520)を含むビデオデコーダ(510)のエントロピデコーディング部分は、ローカルのデコーダ(633)において完全には実装されなくてもよい。
【0056】
この時点で行われ得る観察は、デコーダに存在するパーシング/エントロピデコーディングを除く如何なるデコーダ技術も、対応するエンコーダにおいて、実質的に同じ機能形態で、必ずしも存在する必要がないことである。この理由により、開示されている対象は、デコーダの動作に焦点を当てる。エンコーダ技術の説明は、それらが、包括的に記載されるデコーダ技術の逆であるということで、省略され得る。特定の範囲においてのみ、より詳細な説明が必要とされ、以下で与えられている。
【0057】
動作中、ソースコーダ(630)は、動き補償された予測コーディングを実行してよい。これは、「参照ピクチャ」として指定されたビデオシーケンスからの1つ以上の前にコーディングされたピクチャを参照して予測的に入力ピクチャをコーディングする。このようにして、コーディングエンジン(632)は、入力ピクチャに対する予測参照として選択され得る参照ピクチャのピクセルブロックと入力ピクチャのピクセルブロックとの間の差をコーディングする。
【0058】
ローカルのビデオデコーダ(633)は、ソースコーダ(630)によって生成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャのコーディングされたビデオデータをデコーディングしてよい。コーディングエンジン(632)の動作は、有利なことに、不可逆プロセスであってよい。コーディングされたビデオデータがビデオデコーダ(
図6には図示せず。)でデコーディングされ得るとき、再構成されたビデオシーケンスは、通常は、いくらかのエラーを伴ったソースビデオシーケンスの複製であり得る。ローカルのビデオデコーダ(633)は、参照ピクチャに対してビデオデコーダによって実行され得るデコーディングプロセスを再現し、再構成された参照ピクチャを参照ピクチャキャッシュ(634)に格納されるようにしてよい。このように、ビデオエンコーダ(603)は、(伝送エラーなしで)遠端のビデオデコーダによって取得されることになる再構成された参照ピクチャと共通の内容を有している再構成された参照ピクチャのコピーをローカルで記憶し得る。
【0059】
予測器(635)は、コーディングエンジン(632)のための予測探索を実行してよい。すなわち、新しいピクチャがコーディングされるために、予測器(635)は、その新しいピクチャのための適切な予測基準となり得る参照ピクチャ動きベクトル、ブロック形状、などの特定のメタデータ又は(候補参照ピクセルブロックとしての)サンプルデータを参照ピクチャメモリ(634)から探してよい。予測器(635)は、適切な予測基準を見つけるためにサンプルブロック・バイ・ピクセルブロックベース(sample block-by-pixel block basis)で動作してよい。いくつかの場合に、予測器(635)によって取得された探索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(634)に記憶されている複数の参照ピクチャから引き出された予測基準を有してよい。
【0060】
コントローラ(650)は、例えば、ビデオデータをエンコーディングするために使用されるパラメータ及びサブグループパラメータの設定を含め、ソースコーダ(630)のコーディング動作を管理してよい。
【0061】
上記の全ての機能ユニットの出力は、エントロピコーダ(645)においてエントロピコーディングを受けてよい。エントロピコーダ(645)は、ハフマンコーディング、可変長コーディング、算術コーディングなどの技術に従ってシンボルを可逆圧縮することによって、様々な機能ユニットによって生成されたシンボルを、コーディングされたビデオシーケンスへと変換する。
【0062】
送信器(640)は、エントロピコーダ(645)によって生成されたコーディングされたビデオシーケンスを、通信チャネル(660)を介した伝送のために準備するようにバッファリングしてよい。通信チャネル(660)は、エンコーディングされたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクであってよい。送信器(640)は、ビデオコーダ(603)からのコーディングされたビデオデータを、送信されるべき他のデータ、例えば、コーディングされたオーディオデータ及び/又は補助的なデータストリーム(ソースは図示せず)とマージしてもよい。
【0063】
コントローラ(650)は、ビデオエンコーダ(603)の動作を管理してよい。コーディング中、コントローラ(650)は、各々のピクチャに適用され得るコーディング技術に影響を及ぼす可能性がある特定のコーディングされたピクチャタイプを夫々のコーディングされたピクチャに割り当ててよい。例えば、ピクチャはしばしば、次のピクチャタイプのうちの1つとして割り当てられてよい。
【0064】
イントラピクチャ(Intra Picture)(Iピクチャ)は、予測のソースとしてシーケンス内の如何なる他のピクチャも使用せずにコーディング及びデコーディングされ得るピクチャであってよい。いくつかのビデオコーデックは、例えば、独立したデコーダリフレッシュ(Independent Decoder Refresh,IDR)ピクチャを含む種々のタイプのイントラピクチャを許容する。当業者であれば、Iピクチャのそのような変形並びにそれらの各々の応用及び特徴に気づく。
【0065】
予測ピクチャ(Predictive Picture)(Pピクチャ)は、各ブロックのサンプル値を予測するために多くても1つの動きベクトル及び参照インデックスを用いてイントラ予測又はインター予測によりコーディング及びデコーディングされ得るピクチャであってよい。
【0066】
双方向予測ピクチャ(Bi-directionally Predictive Picture)(Bピクチャ)は、各ブロックのサンプル値を予測するために多くても2つの動きベクトル及び参照インデックスを用いてイントラ予測又はインター予測によりコーディング及びデコーディングされ得るピクチャであってよい。同様に、多重予測ピクチャ(multiple-predictive picture(s))は、単一のブロックの再構成のために2つよりも多い参照ピクチャ及び関連するメタデータを使用することができる。
【0067】
ソースピクチャは、一般に、複数のサンプルブロック(例えば、夫々、4×4、8×8、4×8、又は16×16のサンプルのブロック)に空間的に細分され、ブロックごとにコーディングされてよい。ブロックは、ブロックの各々のピクチャに適用されているコーディング割り当てによって決定される他の(既にコーディングされた)ブロックを参照して予測的にコーディングされてよい。例えば、Iピクチャのブロックは、非予測的にコーディングされてよく、あるいは、それらは、同じピクチャの既にコーディングされたブロックを参照して予測的にコーディングされてもよい(空間予測又はイントラ予測)。Pピクチャのピクセルブロックは、1つの前にコーディングされた参照ピクチャを参照して空間予測により又は時間予測により、予測的にコーディングされてよい。Bピクチャのブロックは、1つ又は2つの前にコーディングされた参照ピクチャを参照して空間予測により又は時間予測により、予測的にコーディングされてよい。
【0068】
ビデオエンコーダ(603)は、ITU-T推奨H.265のような所定のビデオコーディング技術又は規格に従ってコーディング動作を実行してよい。その動作中に、ビデオエンコーダ(603)は、入力ビデオシーケンスにおける時間及び空間冗長性を利用する予測コーディング動作を含む様々な圧縮動作を実行してよい。従って、コーディングされたビデオデータは、使用されているビデオコーディング技術又は規格によって定められているシンタックスに従い得る。
【0069】
実施形態において、送信器(640)は、エンコーディングされたビデオとともに追加のデータを送信してもよい。ソースコーダ(630)は、コーディングされたビデオシーケンスの部分としてそのようなデータを含めてよい。追加のデータは、時間/空間/SNRエンハンスメントレイヤ、冗長ピクチャ及びスライスなどの他の形式の冗長データ、SEIメッセージ又はVUIパラメータセットフラグメント、などを有してよい。
【0070】
ビデオは、時間シーケンスにおいて複数のソースピクチャ(ビデオピクチャ)として捕捉されてよい。イントラピクチャ予測(しばしばイントラ予測と省略される。)は、所与のピクチャにおける空間相関を利用し、インターピクチャ予測は、ピクチャ間の(時間又は他の)相関を利用する。例において、現在のピクチャと呼ばれる、エンコーディング/デコーディング中の特定のピクチャは、ブロックに分割される。現在のピクチャ内のあるブロックが、ビデオ内の前にコーディングされた依然としてバッファリングされている参照ピクチャ内の参照ブロックと類似している場合に、現在にピクチャ内のそのブロックは、動きベクトルと呼ばれるベクトルによってコーディングされ得る。動きベクトルは、参照ピクチャ内の参照ブロックを指し示し、複数の参照ピクチャが使用されている場合には、参照ピクチャを識別する第3の次元を有することができる。
【0071】
いくつかの実施形態において、双予測技術がインターピクチャ予測において使用され得る。双予測技術に従って、2つの参照ピクチャ、例えば、ビデオ内で現在のピクチャに対してデコーディング順序において両方とも先行する(しかし、表示順序では、夫々、過去及び将来にあってよい。)第1参照ピクチャ及び第2参照ピクチャが、使用される。現在のピクチャ内のあるブロックは、第1参照ピクチャ内の第1参照ブロックを指し示す第1動きベクトルと、第2参照ピクチャ内の第2参照ブロックを指し示す第2動きベクトルとによって、コーディングされ得る。そのブロックは、第1参照ブロック及び第2参照ブロックの組み合わせによって予測可能である。
【0072】
更に、マージモード技術が、コーディング効率を改善するためにインターピクチャ予測において使用され得る。
【0073】
本開示のいくつかの実施形態に従って、インターピクチャ予測及びイントラピクチャ予測などの予測は、ブロックのユニットにおいて実行される。例えば、HEVC規格に従って、ビデオピクチャのシーケンス内のピクチャは、圧縮のためにコーディングツリーユニット(CTU)に分割され、ピクチャ内のCTUは、64×64ピクセル、32×32ピクセル、又は16×16ピクセルといった同じサイズを有する。一般に、CTUは、1つのルーマCTB及び2つのクロマCTBである3つのコーディングツリーブロック(CTB)を含む。各CTUは、1つ又は複数のコーディングユニット(CU)に再帰的に四分木分割され得る。例えば、64×64ピクセルのCTUは、64×64ピクセルの1つのCU、又は32×32ピクセルの4つのCU、又は16×16ピクセルの16個のCUに分割可能である。例において、各CUは、インター予測タイプ又はイントラ予測タイプなどのCUのための予測タイプを決定するよう解析される。CUは、時間及び/又は空間予測可能性に応じて1つ以上の予測ユニット(PU)に分割される。一般に、各PUは、1つのルーマ予測ブロック(PB)及び2つのクロマPBを含む。実施形態において、コーディング(エンコーディング/デコーディング)における予測動作は、予測ブロックの単位で実行される。予測ブロックの例としてルーマ予測ブロックを使用すると、予測ブロックは、8×8ピクセル、16×16ピクセル、8×16ピクセル、16×8ピクセルなどのような、ピクセルの値(例えば、ルーマ値)の行列を含む。
【0074】
図7は、本開示の他の実施形態に従うビデオエンコーダ(703)の図を示す。ビデオエンコーダ(703)は、ビデオピクチャの連続に含まれる現在のビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受け取り、コーディングされたビデオシーケンスの部分であるコーディングされたピクチャへと処理ブロックをエンコーディングするよう構成されてよい。例において、ビデオエンコーダ(703)は、
図4の例のビデオエンコーダ(403)の代わりに使用される。
【0075】
HEVCの例では、ビデオエンコーダ(703)は、8×8サンプルの予測ブロックなどのような処理ブロックのサンプル値の行列を受け取る。ビデオエンコーダ(703)は、例えば、レートひずみ最適化を用いて、処理ブロックがイントラモード、インターモード、又は双予測モードにより最も良くコーディングされるかどうかを決定する。処理ブロックがイントラモードでコーディングされるべきである場合には、ビデオエンコーダ(703)は、コーディングされたピクチャへと処理ブロックをエンコーディングするようイントラ予測技術を使用してよく、処理ブロックがインターモード又は双予測モードでコーディングされるべきである場合には、ビデオエンコーダ(703)は、コーディングされたピクチャへと処理ブロックをエンコーディングするようインター予測又は双予測技術を夫々使用してよい。特定のビデオコーディング技術において、マージモードは、予測子の外にあるコーディングされた動きベクトル成分の恩恵を受けずに1つ以上の動きベクトル予測子から動きベクトルが導出されるインターピクチャ予測サブモードであることができる。特定の他のビデオコーディング技術では、対象ブロックに適用可能な動きベクトル成分が存在することがある。例において、ビデオエンコーダ(703)は、処理ブロックのモードを決定するモード決定モジュール(図示せず。)などの他のコンポーネントを含む。
【0076】
図7の例では、ビデオエンコーダ(703)は、
図7に示されるように結合されているインターエンコーダ(730)、イントラエンコーダ(722)、残差計算部(723)、スイッチ(726)、残差エンコーダ(724)、汎用コントローラ(721)、及びエントロピエンコーダ(725)を含む。
【0077】
インターエンコーダ(730)は、現在のブロック(例えば、処理ブロック)のサンプルを受け取り、そのブロックを参照ピクチャ内の1つ以上の参照ブロック(例えば、前のピクチャ及び後のピクチャ内のブロック)と比較し、インター予測情報(例えば、インターエンコーディング技術に従う残差情報の記述、動きベクトル、マージモード情報)を生成し、何らかの適切な技術を用いてインター予測情報に基づいてインター予測結果(例えば、予測ブロック)を計算するよう構成される。いくつかの例において、参照ピクチャは、エンコーディングされたビデオ情報に基づいてデコーディングされているデコーディングされた参照ピクチャである。
【0078】
イントラエンコーダ(722)は、現在のブロック(例えば、処理ブロック)のサンプルを受け取り、いくつかの場合には、同じピクチャ内で既にコーディングされたブロックとそのブロックを比較し、変換後の量子化された係数を、更には、いくつかの場合には、イントラ予測情報(例えば、1つ以上のイントラエンコーディング技術に従うイントラ予測方向情報)も生成するよう構成される。例において、イントラエンコーダ(722)はまた、イントラ予測情報及び同じピクチャ内の参照ブロックに基づいてイントラ予測結果(例えば、予測ブロック)を計算する。
【0079】
汎用コントローラ(721)は、汎用制御データを決定し、汎用制御データに基づいてビデオエンコーダ(703)の他のコンポーネントを制御するよう構成される。例において、汎用コントローラ(721)は、ブロックのモードを決定し、モードに基づいて制御信号をスイッチ(726)へ供給する。例えば、モードがイントラモードである場合には、汎用コントローラ(721)は、残差計算部(723)による使用のためにイントラモード結果を選択するようスイッチ(726)を制御し、そして、イントラ予測情報を選択し、イントラ予測情報をビットストリームに含めるようエントロピエンコーダ(725)を制御する。モードがインターモードである場合には、汎用コントローラ(721)は、残差計算部(723)による使用のためにインター予測結果を選択するようスイッチ(726)を制御し、そして、インター予測情報を選択し、インター予測情報をビットストリームに含めるようエントロピエンコーダ(725)を制御する。
【0080】
残差計算部(723)は、受け取られたブロックと、イントラエンコーダ(722)又はインターエンコーダ(730)から選択された予測結果との間の差(残差データ)を計算するよう構成される。残差エンコーダ(724)は、変換係数を生成するよう残差データをエンコーディングするように残差データに基づいて動作するよう構成される。例において、残差エンコーダ(724)は、残差データを空間領域から周波数領域に変換し、変換係数を生成するよう構成される。次いで、変換係数は、量子化された変換係数を取得するよう量子化処理を受ける。様々な実施形態において、ビデオエンコーダ(703)はまた、残差デコーダ(728)も含む。残差デコーダ(728)は、逆変換を実行し、デコーディングされた残差データを生成するよう構成される。デコーディングされた残差データは、イントラエンコーダ(722)及びインターエンコーダ(730)によって適切に使用され得る。例えば、インターエンコーダ(730)は、デコーディングされた残差データ及びインター予測情報に基づいて、デコーディングされたブロックを生成することができ、イントラエンコーダ(722)は、デコーディングされた残差データ及びイントラ予測情報に基づいて、デコーディングされたブロックを生成することができる。デコーディングされたブロックは、デコーディングされたピクチャを生成するよう適切に処理され、デコーディングされたピクチャは、メモリ回路(図示せず。)にバッファリングされ、いくつかの例では参照ピクチャとして使用され得る。
【0081】
エントロピエンコーダ(725)は、エンコーディングされたブロックを含めるようにビットストリームをフォーマット化するよう構成される。エントロピエンコーダ(725)は、HEVC規格などの適切な規格に従って様々な情報を含めるよう構成される。例において、エントロピエンコーダ(725)は、汎用制御データ、選択された予測情報(例えば、イントラ予測情報又はインター予測情報)、残差情報、及び他の適切な情報をビットストリームに含めるよう構成される。開示されている対象に従って、インターモード又は双予測モードのどちらか一方のマージサブモードでブロックをコーディングする場合に、残差情報は存在しない点に留意されたい。
【0082】
図8は、本開示の他の実施形態に従うビデオデコーダ(810)の図を示す。ビデオデコーダ(810)は、コーディングされたビデオシーケンスの部分であるコーディングされたピクチャを受け取り、コーディングされたピクチャをデコーディングして、再構成されたピクチャを生成するよう構成される。例において、ビデオデコーダ(810)は、
図4の例のビデオデコーダ(410)の代わりに使用される。
【0083】
図8の例では、ビデオデコーダ(810)は、
図8に示されるように結合されているエントロピデコーダ(871)、インターデコーダ(880)、残差デコーダ(873)、再構成モジュール(874)、及びイントラデコーダ(872)を含む。
【0084】
エントロピデコーダ(871)は、コーディングされたピクチャから、シンタックス要素を表す特定のシンボルを再構成するよう構成され得、それらから、コーディングされたピクチャは構成されている。かようなシンボルは、例えば、ブロックがコーディングされるモード(例えば、イントラモード、又はマージサブモード若しくは他のサブモードにおけるインターモード若しくは双予測モード)、イントラデコーダ(872)又はインターデコーダ(880)による予測のために夫々使用される特定のサンプル又はメタデータを識別することができる予測情報(例えば、イントラ予測情報又はインター予測情報)、例えば、量子化された変換係数の形をとる残差情報、などを含むことができる。例において、予測モードがインター又は双予測モードである場合には、インター予測情報がインターデコーダ(880)へ供給され、予測タイプがイントラ予測タイプである場合には、イントラ予測情報がイントラデコーダ(872)へ供給される。残差情報は、逆量子化を受けることができ、残差デコーダ(873)へ供給される。
【0085】
インターデコーダ(880)は、インター予測情報を受け取り、インター予測情報に基づいてインター予測結果を生成するよう構成される。
【0086】
イントラデコーダ(872)は、イントラ予測情報を受け取り、イントラ予測情報に基づいて予測結果を生成するよう構成される。
【0087】
残差デコーダ(873)は、逆量子化された変換係数を取り出すように逆量子化を実行し、逆量子化された変換係数を処理して、残差を周波数領域から空間領域に変換するよう構成される。残差デコーダ(873)はまた、(量子化パラメータ(QP)を含めるための)特定の制御情報を要求してもよく、その情報は、エントロピデコーダ(871)によって供給されてよい(これは低容量の制御情報のみであるということで、データパスは示されない。)。
【0088】
再構成モジュール(874)は、残差デコーダ(873)によって出力された残差と、(場合によっては、インター又はイントラ予測モジュールによって出力された)予測結果とを空間領域において組み合わせて、再構成されたブロックを形成するよう構成される。再構成されたブロックは、再構成されたピクチャの部分であってよく、次いで、再構成されたピクチャは、再構成されたビデオの部分であってよい。デブロッキング動作などのような他の適切な動作が、視覚品質を改善するために実行され得ることが知られる。
【0089】
ビデオエンコーダ(403)、(603)及び(703)並びにビデオデコーダ(410)、(510)及び(810)は、如何なる適切な技術によっても実装可能であることが知られる。実施形態において、ビデオエンコーダ(403)、(603)及び(703)並びにビデオデコーダ(410)、(510)及び(810)は、1つ以上の集積回路を用いて実装可能である。他の実施形態では、ビデオエンコーダ(403)、(603)及び(703)並びにビデオデコーダ(410)、(510)及び(810)は、ソフトウェア命令を実行する1つ以上のプロセッサを用いて実装可能である。
【0090】
[II.変換処理技術]
[1.四分木パーティショニングを含むブロックパーティショニング構造]
ブロックパーティショニング構造は、コーディングツリーと呼ばれ得る。いくつかの実施形態では、四分木構造を使用することによって、コーディングツリーユニット(CTU)は、様々な局所的特徴に適応するようコーディングユニット(CU)に分割される。インターピクチャ(時間)又はイントラピクチャ(空間)予測を用いてピクチャエリアをコーディングすべきかどうかに関する議論は、CUレベルで行われる。各CUは、PU分割タイプに従って1つ、2つ、又は4つの予測ユニット(PU)に更に分割され得る。1つのPU内では、同じ予測プロセスが適用され、関連情報はPUベースでデコーダへ送られる。
【0091】
PU分割タイプに基づいて予測プロセスを適用することによって残差ブロックを取得した後、CUは、他の四分木構造に従って変換ユニット(TU)に分割され得る。明らかなように、CU、PU及びTUを含む多数のパーティション概念が存在する。いくつかの実施形態では、CU又はTUは正方形形状であることしかできず、一方、PUは正方形又は長方形形状であってよい。いくつかの実施形態では、1つのコーディングブロックは、4つの正方形サブブロックに更に分割されてよく、変換は、各ブロック、すなわち、TUに対して実行される。各TUは、残差四分木(Residual Quad-Tree)(RQT)と呼ばれる四分木構造を用いて、より小さいTusに再帰的に更に分割され得る。
【0092】
ピクチャ境界で、いくつかの実施形態では、暗黙的な四分木分割が用いられ得、それにより、ブロックは、サイズがピクチャ境界に合うまで四分木分割し続けることになる。
【0093】
[2.四分木プラス二分木(QTBT)ブロックパーティショニング構造]
いくつかの実施形態では、四分木プラス二分木(Quad-Tree plus Binary Tree)(QTBT)構造が用いられる。QTBT構造は、複数のパーティションタイプの概念(CT、PU、及びTU概念)を取り払い、CUパーティション形状のための更なる柔軟性をサポートする。QTBTブロック構造では、CUは正方形又は長方形のどちらかの形状を有することができる。
【0094】
図9Aは、
図9Bに示されるQTBT構造(920)を使用することによって分割されるCTU(910)を示す。CTU(910)は、最初に、四分木構造によって分割される。四分木リーフノードは、二分木構造又は四分木構造によって更に分割される。二分木分割には、対称水平分割及び対称垂直分割の2つの分割タイプがある。二分木リーフノードはCUと呼ばれ、これは、これ以上のパーティショニングなしで予測及び変換処理のために使用され得る。従って、CU、PU、及びTUは、QTBTコーディングブロック構造では同じブロックサイズを有している。
【0095】
いくつかの実施形態では、CUは、異なる色成分のコーディングブロック(CB)を含むことができる。例えば、1つのCUは、4:2:0クロマフォーマットのP及びBスライスの場合に、1つのルーマCBと、2つのクロマCBとを含む。CUは、単一の色成分のCBを含むことができる。例えば、1つのCUは、Iスライスの場合に、ただ1つのルーマCB、又はたった2つのクロマCBを含む。
【0096】
次のパラメータが、いくつかの実施形態でQTBTパーティショニングスキームのために定義される:
・CTUsize:四分木の根ノードサイズ、例えば、HEVCで見られるのと同じ概念。
・MinQTSize:最小許容四分木リーフノードサイズ。
・MaxBTSize:最大許容二分木根ノードサイズ。
・MaxBTDepth:最大許容二分木デプス。
・MinBTSize:最小許容二分木リーフノードサイズ。
【0097】
QTBTパーティショニング構造の一例では、CTUsizeは、クロマサンプルの2つの対応する64×64ブロックとともに128×128ルーマサンプルとしてセットされ、MinQTSizeは16×16としてセットされ。MaxBTSizeは64×64としてセットされ、MinBTSize(幅及び高さの両方について)は4×4としてセットされ、MaxBTDepthは4としてセットされる。四分木パーティショニングが、四分木リーフノードを生成するよう最初にCTUに適用される。四分木リーフノードは、16×16(すなわち、MinQTSize)から128×128(すなわち、CTUsize)までのサイズを有する可能性がある。四分木リーフノードが128×128である場合に、サイズがMaxBTSize(すなわち、64×64)を越えるので、それは更に二分木によって分割されることはない。そうでない場合には、四分木リーフノードは二分木によって更に分割され得る。従って、四分木リーフノードは、二分木のための根ノードでもあり、それは二分木デプスを0として有している。
【0098】
二分木デプスがMaxBTSize(すなわち、4)に達すると、これ以上の分割は考えられない。二分木ノードがMinBTSizeに等しい幅(すなわち、4)を有している場合には、これ以上の水平分割は考えられない。同様に、二分木ノードがMinBTSizeに等しい高さを有している場合には、これ以上の垂直分割は考えられない。二分木のリーフノードは、これ以上の分割なしで予測及び変換処理によって更に処理される。実施形態において、最大CTUサイズは256×256ルーマサンプルである。
【0099】
図9A及び9Bにおいて、実線は四分木分割を示し、破線は二分木分割を示す。二分木の各分割(すなわち、非リーフ)ノードでは、どの分割タイプ(すなわち、水平又は垂直)が使用されるかを示すために、1つのフラグが通知される。例えば、0は水平分割を示し、1は垂直分割を示す。四分木分割については、四分木分割が、等しいサイズの4つのサブブロックを生成するよう常に水平及び垂直の両方でブロックを分割するので、分割タイプを示す必要がない。
【0100】
いくつかの実施形態では、QTBTスキームは、別個のQTBT構造を有するようルーマ及びクロマに対する柔軟性をサポートする。例えば、P及びBスライスについては、1つのCTU内のルーマ及びクロマブロックは、同じQTBT構造を共有する。しかし、Iスライスについては、ルーマCTBは、QTBT構造によってCUに分割され、クロマブロックは、他のQTBT構造によってクロマCUに分割される。よって、IスライスにおけるCUは、ルーマ成分のコーディングブロック又は2つのクロマ成分のコーディングブロックから成り、P又はBスライスにおけるCUは、3つ全ての色成分のコーディングブロックから成る。
【0101】
いくつかの実施形態では、小さいブロックに対するインター予測は、動き補償のメモリアクセスを低減するよう制限される。例えば、双予測は、4×8及び8×4ブロックに対してサポートされず、インター予測は、4×4ブロックに対してサポートされない。
【0102】
[3.三分木(TT)ブロックパーティショニング構造]
いくつかの実施形態では、マルチタイプツリー(Multi-Type-Tree)(MTT)構造が、ピクチャを分割するために使用される。MTT構造は、QTBT構造よりも柔軟な木構造である。MTTでは、四分木及び二分木に加えて、
図9C及び
図9Dに夫々示される水平センター-サイド三分木及び垂直センター-サイド三分木が用いられる。三分木分割は、四分木及び二分木パーティショニングを補完することができる。例えば、三分木分割は、ブロック中心に位置している対象を捕捉することができるが、四分木及び二分木は、ブロック中心を横断して分割することができる。三分木によるパーティションの幅及び高さは、2の累乗であり、それにより、追加の変換パーティションは不要である。
【0103】
例において、2段階ツリーの設計は、主に複雑性の低減が動機となる。例えば、ツリーの横断の複雑さはTDであり、ここで、Tは分割タイプの数を表し、Dはツリーの深さである。
【0104】
[4.一次変換の例]
いくつかの実施形態では、例えば、HEVCで見られるように、4点(4-point)、8点(8-point)、16点(16-point)、及び32点(32-point)DCT-2変換が一次変換(primary transforms)として使用される。
図10A~10Dは夫々、4点、8点、16点、及び32点DCT-2の変換コア行列を示す。それらの変換コア行列の要素は、8ビット整数を用いて表現可能であり、よって、それらの変換コア行列は、8ビット変換コアと呼ばれる。示されるように、より小さいDCT-2の変換コア行列は、より大きいDCT-2のそれの部分である。
【0105】
DCT-2コア行列は、対称性/反対称性特徴を示す。従って、いわゆる「部分バタフライ」(partial butterfly)実施が、演算カウント(乗算、加算/減算、シフト)の数を減らすようサポートされ得る。行列乗算の同じ結果が、部分バタフライ実施を用いて求められ得る。
【0106】
[5.更なる一次変換の例]
いくつかの実施形態では、上記の4点、8点、16点、及び32点DCT-2変換に加えて、更なる2点及び64点DCT-2変換が使用される。
図11A~11Eは、64点DCT-2変換の64×64変換コア行列を示す。
【0107】
いくつかの実施形態では、DCT-2及び4×4DST-7変換に加えて、適応多重変換(Adaptive Multiple Transform)(AMT)(エンハンスド多重変換(Enhanced Multiple Transform)(EMT)又は多重変換選択(multiple Transform Selection)(MTS)としても知られる。)が、インター及びインターコーディングされたブロックの両方の残差コーディングのために使用される。AMTは、DCT-2変換に加えて離散コサイン変換(DCT)/離散サイン変換(DST)ファミリーからの複数の選択された変換、例えば、DS-7又はDCT-8変換の変換コア行列を使用する。
図12は、選択されたDST/DCT変換の変換基本関数を示す。
【0108】
いくつかの実施形態では、AMTで使用されるDST/DCT変換コア行列は、8ビット表現で表される。いくつかの実施形態では、AMTは、幅及び高さの両方が32以下であるCUに適用される。AMTを適用すべきか否かは、フラグ(例えば、mts_flag)によって制御され得る。例えば、mts_flagが0に等しいときには、DCT-2しか、残差ブロックをコーディングするために適用されない。mts_flagが1に等しいときには、インデックス(例えば、mts_idx)が、使用されるべき水平及び垂直変換を指定するよう2つのビンを用いて更に通知され得る。
【0109】
図13は、インデックス(例えば、mts_idx)の値と各々の水平又は垂直変換との間のマッピング関係を表す表(1300)を示す。mts_idxの値が-1である行(1301)は、フラグ(例えば、mts_flag)が0に等しいシナリオに対応し、DCT-2変換が使用される。mts_idxの値が0、1、2又は3である行(1302)~(1305)は、mts_flagが1に等しいシナリオに対応する。表(1300)の右2つの列では、0は、DCT-2の変換タイプを表し、1は、DST-7の変換タイプを表し、2は、DCT-8の変換タイプを表す。
【0110】
図14A~14Dは、DST-7変換の変換コア行列を示す。
図15A~15Dは、DCT-8の変換コア行列を示す。
【0111】
[6.イントラサブパーティション(ISP)コーディングモード]
いくつかの実施形態では、イントラサブパーティション(Intra Sub-Partition)(ISP)コーディングモードが用いられる。ISPコーディングモードにおいて、ルーマイントラ予測ブロックは、垂直又は水平に2つ又は4つのサブパーティションに分割され得る。サブパーティションの数は、ブロックのサイズに依存し得る。
図16は、ブロックサイズに依存したサブパーティションの数を示す。
図17は、4×8又は8×4のブロックが2つのサブパーティションに分割される例を示す。
図18は、4×8又は8×4よりも大きいサイズを有するブロックが4つのサブパーティションに分割される例を示す。例において、全てのサブパーティションは、少なくとも16個のサンプルを有しているという条件を満たす。例において、ISPは、クロマ成分に適用されない。
【0112】
例において、コーディングブロックから分割されサブパーティションの夫々について、エンコーダから送られた各々の係数をエントロピデコーディングし、次いでそれらを逆量子化及び逆変換することによって、残差信号が生成される。次いで、サブパーティションの中の第1サブパーティションが、予測信号を生成するようイントラ予測される。予測信号は、対応する再構成されたサンプルを得るよう第1サブパーティションの各自の残差信号に加えられる。その後に、第1サブパーティションの再構成されたサンプル値は、サブパーティションの中の第2サブパーティションの予測を生成するために利用可能である。このプロセスは、コーディングブロックからの全てのサブパーティションが再構成されるまで、サブパーティション単位で繰り返され得る。例において、全てのサブパーティションは同じイントラモードを共有する。
【0113】
実施形態において、ISPコーディングモードは、最確モード(Most Probable Mode)(MPM)リストの部分であるイントラモードによってのみ試験される。従って、ブロックがISPを使用する場合に、MPMフラグは1であると推測され得る。その上、ISPが特定のブロックに使用されるとき、次いで、各々のMPMリストは、DCモードを除き、ISP水平分割のためには水平イントラモードを、及びISP垂直分割のためには垂直イントラモードを優先するために、変更されることになる。
【0114】
ISPコーディングモードでは、変換及び再構成がサブパーティションごとに個別に実行されるので、各サブパーティションはTUと見なされ得る。
【0115】
図19A~19Bは、ISPコーディングモードのために通知されるシンタックス要素(1900)の例を示す。枠(1910)内に示されるように、シンタックス要素、例えば、intra_subpartitions_mode_flagは、ISPが使用されるか否かを示す。シンタックス要素、例えば、intra_sabuparitions_split_flagは、パーティション方向(垂直又は水平)を示す。
【0116】
[7.サブブロック変換(SBT)]
いくつかの実施形態では、空間的に変化する変換(Spatially Varying Transform)(SVT)とも呼ばれるサブブロック変換(Sub-Block Transform)(SBT)が用いられる。SBTは、インター予測残差に適用され得る。いくつかの例では、残差ブロックは、コーディングブロックに含まれ、コーディングブロックよりも小さい。よって、SBTでの変換サイズは、コーディングブロックサイズよりも小さい。残差ブロックによってカバーされない領域については、ゼロ残差が仮定され得、よって、変換処理は実行されない。
【0117】
図20A~20Dは、SBTでサポートされるサブブロックタイプ(SVT-H、SVT-V)(例えば、水平又は垂直分割)、サイズ及びパーティション(例えば、左半分、左4分の1、右半分、右4分の1、上半分、上4分の1、下半分、下4分の1)を示す。文字「A」によって表記されている影付き領域は、変換ありの残差ブロックであり、残りの領域は、変換なしのゼロ残差であると仮定される。
【0118】
例として、
図21A~21Iは、SBTが使用される場合のビデオコーディング規格(例えば、VVC)の仕様テキストに対する変更を示す。追加されたテキストは、(2101)から(2113)までの枠内に示されている。示されるように、追加のシンタックス要素、例えば、追加のオーバーヘッドビットcu_sbt_flag、cu_sbt_quad_flag、cu_sbt_horizontal_flag、及びcu_sbt_pos_flagは、サブブロックタイプ(水平又は垂直)、サイズ(半分又は4分の1)、及び位置(左、右、上又は下)を夫々示すよう通知され得る。
【0119】
[8.YUVフォーマット]
図22は、いくつかの実施形態で使用される種々のYUVフォーマット(例えば、4:4:4、4:2:2、4:1:1、及び4:2:0)を示す。例において、交差成分線形モデルイントラ予測が4:2:0フォーマットに対して使用される。6タップ補間フィルタは、
図22に示されるように、クロマサンプルに対応するダウンサンプリングされたルーマサンプルに適用され得る。例において、ダウンサンプリングされたルーマサンプルRec’L[x,y]は、次のように、すぐ近くの再構成されたルーマサンプル(Rec
L[x,y]によって表される。)から計算され得る:
【数1】
ダウンサンプリングされたルーマサンプルRec’L[x,y]は、公差成分線形モデルモードを用いてクロマサンプルを予測するために使用され得る。
【0120】
[9.仮想パイプラインデータユニット(VPDU)]
仮想パイプラインデータユニット(Virtual Pipeline Data Units)(VPDU)は、ピクチャ内の重なり合わないM×M-ルーマ(L)/N×N-クロマ(C)ユニットとして定義され得る。いくつかのハードウェアデコーダ実施では、連続したVPDUが複数のパイプライン段によって同時に処理される。異なる段は異なるVPDUを同時に処理する。VPDUサイズは、パイプライン段におけるバッファサイズにおおよそ比例することができ、それにより、VPDUを特定のサイズ(例えば、64×64以下)に保つことが望ましい。特定のデコーダでは、VPDUサイズは最大変換ユニット(TU)サイズにセットされる。最大TUサイズをHEVCでの32×32-L/16×16-Cから現在のVVCでの64×64-L/32×32-Cまで広げることは、コーディングゲインをもたらすことができ、これは、HEVCと比較してVPDUサイズを4倍にすると期待される。しかし、更なるコーディングゲインを達成するためにVVCで採用されているBT及びTT構造は、再帰的に128×128-L/64×64-Cコーディングツリーブロックに適用可能であり、HEVCと比較して16倍のVPDUサイズ(128×128-L/64×64-C)をもたらす。
【0121】
図23は、認められない特定のTT及びBTパーティショニングを示す。
【0122】
VPDUサイズを64×64ルーマサンプルに保つために、特定のパーティション制限(シンタックスシグナリング変更を伴う。)がいくつかの実施形態では適用される:
・TT分割は、幅若しくは高さのどちらか一方、又は幅及び高さの両方が128に等しいCUに対して許可されない。
・N≦64として、128×NのCU(幅が128に等しく、高さが128よりも小さい。)については、水平BTは許可されない。
・N≦64として、N×128のCU(高さが128に等しく、幅が128よりも小さい。)については、垂直BTは許可されない。
【0123】
[III.変換ブロックパーティショニング及び処理技術]
いくつかの実施形態では、固定の最大許容変換ユニット(TU)サイズ又は最大TUサイズ(例えば、64×64ピクセル又はサンプル)が使用される。いくつかの実施形態では、最大TUサイズが、例えば、エンコーダ実施について、ハードウェア複雑性(例えば、パイプライン中間バッファサイズ、乗算器の数、など)に影響を及ぼす可能性があるので、制御可能な又は設定可能な最大TUサイズが用いられる。例えば、64×64サンプルのサイズに加えて、最大TUサイズは、32×32サンプル、16×16サンプル、などのような他のサイズであることができる。
【0124】
特定のビデオ規格では、SBT及びISPが使用され得る。例えば、SBTでは、最大SBTサイズが32長さ又は64長さであるかどうかを示すために、SPSフラグ、例えば、sps_sbt_max_size_64_flagが通知される。sps_sbt_max_size_64_flagが真であり(すなわち、最大SBTサイズが64長さである。)、最大TUサイズが32点であるとき、エンコーダクラッシュがトリガされ得る。一般に、L長さ(L-length)又はL点(L-point)は、CU、TU、CB、TB、VPDU、などの最大寸法を指す。例えば、最大TUサイズが32点又は32長さであるとき、TUの幅及び高さは32以下である。
【0125】
いくつかの実施形態では、ISPモードは様々なCUサイズに対して許可されるが、最大TUサイズが64よりも小さくセットされる場合に、暗黙的な変換分割が実行されるのか、それとも、シグナリングによるISPを使用した明示的な変換分割が実行されるのかという衝突が起こり得る。例えば、最大TUサイズが16であるとき、例えば、64×16CUについては、ISPによらないと、CUは、4つの16×16TUに暗黙的に分割され得る。ISPによれば、64×16CUは垂直ISPにより分割されてよく、よって、4つの16×16TUに分割され得るが、シグナリングを使用する。
【0126】
最大TUが64×64よりも小さいとき、TU処理順序は、VPDUの実施と整列することを必要とされる。
【0127】
本明細書で説明される実施形態は、別々に使用されても、又は如何なる順序でも組み合わされてもよい。更に、実施形態は、処理回路(例えば、1つ以上のプロセッサ又は1つ以上の集積回路)によって、エンコーダやデコーダなどで実装されてよい。一例では、1つ以上のプロセッサは、非一時的なコンピュータ可読媒体に記憶されているプログラムを実行する。
【0128】
本開示では、ハイレベルシンタックス(High-Level Syntax)(HLS)要素は、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダ、タイルヘッダ、タイルグループヘッダ、などを指し得る。CTUヘッダは、例えば、ヘッダ情報として、CUTについて通知されたシンタックス要素を指し得る。例において、CTUサイズは最大CUサイズである。
【0129】
一般に、特定のユニット(例えば、TU、CU)のルーマサイズ(ルーマサンプルによって表される。)が知られているとき、クロマサンプルの数によって指定される対応するクロマサイズが取得され得る。例において、YUVフォーマットは、4:2:0が使用され、CUは、64×64ルーマサンプル(すなわち、64×64-L)のCUサイズを有する。従って、CUは、32×32クロマサンプル(すなわち、32×32-C)のCUサイズを有する。CUサイズは、64×64-L、32×32-C、又は64×64-L/32×32-Cと呼ばれ得る。同様に、TUは、64×64ルーマサンプル(すなわち、64×64-L)のTUサイズを有する。従って、TUは、32×32クロマサンプル(すなわち、32×32-C)のTUサイズを有する。TUサイズは、64×64-L、32×32-C、又は64×64-L/32×32-Cと呼ばれ得る。例えば、TUは、1つのルーマ変換ブロック(TB)及び2つのクロマTBを含む。ルーマTBは、64×64-Lのサイズを有し、クロマTBの夫々は、32×32-Cのサイズを有する。一般に、CU又はTUについて説明されている実施形態及び方法は、CB及びTBに夫々適切に適応され得る。
【0130】
CUは、64×64-Lのルーマブロックと、32×32-Cの2つのクロマブロックとを含むことができる。以下の記載では、TUサイズは、TU内のルーマサンプルを用いて表現される。例えば、M個のサンプルの最大TUサイズは、M個のルーマサンプルの最大TUサイズを指す。同様に、VPDUサイズ及びCUサイズなどの他のサイズも、VPDU及びCUなどの対応するユニット内の各々のルーマサンプルを用いて夫々表現される。当然、TUサイズ、VPDUサイズ、CUサイズなどは、クロマサンプル又はルーマ及びクロマサンプルの組み合わせを用いて表現可能である。
【0131】
ユニットサイズは、ユニットの幅、高さ、又は面積を指すことがある。例えば、最大TUサイズは、最大のTUの幅、高さ、又は面積を指し得る。一般に、TU、CU、VPDUなどは、長方形形状、正方形形状、‘L’字型、又は任意の適切な形状を含む如何なる適切な形状も有することができる。‘L’字型などのように、ユニットの形状が不規則であるとき、ユニットサイズはユニットの面積を特定することができる。
【0132】
いくつかの実施形態では、VPDUサイズ及び/又は最大TUサイズは、コーディングされたビデオビットストリームで、例えば、SPS及びPPSで、通知され得る。上述されたように、VPDUサイズ及び/又は最大TUサイズは、ルーマサンプルに関して通知され得る。代替的に、VPDUサイズ及び/又は最大TUサイズは、クロマサンプルに関して通知され得る。
【0133】
いくつかの実施形態では、VPDUサイズ及び/又は最大TUサイズは、エンコーダ及び/又はデコーダで保存され得るから、VPDUサイズ及び/又は最大TUサイズは通知されない。一例では、VPDUサイズ及び/又は最大TUサイズは、プロファイル及び/又はレベル定義で保存され得る。VPDUサイズ及び/又は最大TUサイズは、ルーマ又はクロマサンプルに関して保存され得る。
【0134】
いくつかの実施形態では、VPDUは、同じサイズを共有するが、異なる形状を有してよい。例えば、VPDUサイズがルーマサンプルに関して4096であるとき、VPDUは、64×64の正方形形状又は32×128の長方形形状を有することができる。VPDUは、VPDUサイズがルーマサンプルに関して4096である限りは、L字型などの他の形状を有することもできる。上記の説明は、特定のTUにも適用可能である。
【0135】
[1.例A]
開示の態様に従って、最大許容TUサイズ(最大TUサイズとも呼ばれる。)はM個のサンプル(例えば、M×Mサンプルのサイズ)である。例において、TUの最大幅及び最大高さはMである。例において、TUの最大面積はM×Mである。処理データユニットサイズ(例えば、VPDUサイズ)はK個のサンプル(例えば、K×Kサンプルのサイズ)である。例において、処理データユニットサイズの最大幅及び最大高さはKである。例において、処理データユニットサイズの最大面積はK×Kである。W×HのCUは、W個のサンプルの幅及びH個のサンプルの高さを有する。CUは、CUサイズ及び処理データユニットサイズKに基づいて、サブ処理ユニット(SPU)と呼ばれる複数のサブユニットに分割され得る。CUは、QTBT、QT、BT、TT、又はそれらの組み合わせなどの任意の適切なパーティショニング構造又は任意の適切なパーティショニング構造の組み合わせを用いてSPUに分割され得る。SPUは、同じサイズ又は異なるサイズを有してよい。
【0136】
実施形態において、CUは、幅W又は高さHがKよりも大きい場合にSPUに分割される。例において、SPUは、同じサイズ(すなわち、SPUサイズ)を有し、各SPUは、Min(W,K)×Min(H,K)サンプルのサイズを有する。よって、各SPUの幅は、W及びKのうちの最小な方であり、そのSPUの高さは、H及びKのうちの最小な方である。いくつかの例では、CUを分割する前に、CUを分割すべきかどうかが、CUのサイズ及び処理データユニットサイズKに基づいて決定され得る。
【0137】
CU内のSPUは、例えば、M×Mサンプルのサイズを有している、TUに更に分割され得る。いくつかの例では、SPUは、Min(W,K,M)×Min(H,K,M)のサイズを有するTUに分割され得る。いくつかの例では、SPUを分割する前に、SPUを分割すべきかどうかが、SPUのサイズ及び最大TUサイズMに基づいて決定され得る。SPUは、QTBT、QT、BT、TT、又はそれらの組み合わせなどの任意の適切なパーティショニング構造又は任意の適切なパーティショニング構造の組み合わせを用いて分割され得る。開示の態様に従って、SPUを分割するための1つ以上のパーティショニング構造は、SPUのサイズ及び最大TUサイズMに基づいて決定され得る。例において、SPUは、決定された1つ以上のパーティショニング構造を用いてTUに再帰的に分割され得る。
【0138】
例において、SPUの幅及び高さが最大TUサイズMよりも大きいとき、SPUは、四分木パーティショニング構造を用いてM×MのTUに分割される。SPUは、四分木パーティショニング構造を用いてTUに再帰的に分割され得る。
【0139】
例において、SPUの幅がMよりも大きく、SPUの高さがMに等しいとき、SPUは、垂直二分木パーティショニング構造を用いてM×MのTUに分割される。例えば、Mは32であり、SPUは64×32のサイズを有する。よって、SPUの幅は64であり、SPUの高さは32である。従って、垂直二分木パーティショニング構造が、SPUを32×32の2つのTUに分割するために使用され得る。SPUは、垂直二分木パーティショニング構造を用いてTUに再帰的に分割され得る。
【0140】
例において、SPUの幅がMよりも大きく、SPUの高さがMよりも小さいとき、SPUは、垂直二分木パーティショニング構造を用いてTUに分割され得、このとき、TUの幅はMであり、TUの高さはSPUの高さに等しい。
【0141】
例において、SPUの高さがMよりも大きく、SPUの幅がMに等しいとき、SPUは、水平二分木パーティショニング構造を用いてM×MのTUに分割される。SPUは、水平二分木パーティショニング構造を用いてTUに再帰的に分割され得る。例えば、Mは32であり、SPUは32×64のサイズを有する。よって、SPUの幅は32であり、SPUの高さは64である。従って、水平二分木パーティショニング構造は、SPUを32×32の2つのTUに分割するために使用され得る。
【0142】
例において、SPUの高さがMよりも大きく、SPUの幅がMよりも小さいとき、SPUは、水平二分木パーティショニング構造を用いてTUに分割され得、このとき、TUの高さはMであり、TUの幅はSPUの幅に等しい。
【0143】
図24の変換ツリーシンタックスは、SPUの分割及びTUを処理するために使用される処理順序の例を示す。
【0144】
例において、W×HのCUは、2つのステップで分割され得る。第1ステップでは、CUがSPUに分割され、このとき、各SPUはMin(W,K)×Min(H,K)のサイズを有する。続いて、第2ステップでは、各SPUがTUに更に分割され、このとき、各TUはM×Mのサイズを有する。
【0145】
CU内のTUを処理するとき、CU内のSPUは、第1スキャン順序(第1順序とも呼ばれる。)でスキャン及び処理され得る。更に、SPUの夫々の中で、TUは、第2スキャン順序(第2順序とも呼ばれる。)でスキャン及び処理され得る。
【0146】
様々な実施形態において、SPUを処理する第1順序は、ラスタスキャン順序、垂直スキャン順序(例えば、SPUを列ごとに左から右へ又はその逆にスキャンする。)、ジグザグ順序、対角スキャン順序、などであることができる。
【0147】
様々な実施形態において、各SPU内でTUを処理する第2順序は、ラスタスキャン順序、垂直スキャン順序(例えば、TUを列ごとに左から右へ又はその逆にスキャンする。)、ジグザグ順序、対角スキャン順序、などであることができる。
【0148】
第1順序及び第2順序は、異なる実施形態において同じ又は異なることができる。例えば、SPUを処理する第1順序及び各SPU内でTUを処理する第2順序は、ある実施形態では両方ともラスタスキャン順序である。
【0149】
[2.例B]
図25は、W=128及びH=64であるとして、W×Hサンプルのサイズを有するCU(2510)を示す。最大TUサイズMは32個のサンプルである。VPDUサイズなどの処理データユニットサイズKは64個のサンプルである。CU(2510)は、最初に、第1の64×64SPU(2520)及び第2の64×64SPU(2530)に分割される。第1SPU(2520)及び第2SPU(2530)は、次いで、M×Mサンプルのサイズを夫々が有するTU0~7に更に分割され得る。TU0~3は、第1SPU(2520)に含まれ、TU4×7は、第2SPU(2530)に含まれる。
【0150】
第1順序に従って、第1SPU(2520)が最初に処理され、続いて第2SPU(2530)が処理され得る。第1SPU(2520)又は第2SPU(2530)内で、TU0~3又は4~7を処理するために使用される第2順序は、ラスタスキャン順序である。従って、TU0~7は、矢印(2551)によって示される順序に従って処理される。第1順序及び/又は第2順序は、明示的に(例えば、エンコーダからデコーダへのシグナリングを介して)、又は暗黙的に決定され得る。
【0151】
いくつかの例では、上述されたように、CUをSPUに分割し、各SPUがTUを更に含むことは、コーディング効率を改善する。
図25を参照すると、例において、第1SPU(2520)は第1VPDUであり、第2SPU(2530)は第2VPDUである。第1VPDU(又は第1SPU(2520))及び第2VPDU(又は第2SPU(2530))は、第1段階(例えば、エントロピデコーディング)、第2段階(例えば、逆量子化)、第3段階(逆変換)、及び/又は同様のものを含む多段階パイプラインを順次通ることができる。
図25に示される第1順序に従って、第1SPU(2520)は第2SPU(2530)の前に処理されるべきであるから、第1SPU(2520)は、第1段階によって処理され、次いで第2段階に進む。例において、第1SPU(2520)が第2段階によって処理されるとき、コーディング効率を改善するために、第2SPU(2530)は第1段階によって処理される。続いて、第1SPU(2520)は第3段階に進み、第2SPU(2530)は第2段階へ移動することができる。第1SPU(2520)が第3段階によって処理されるとき、第2SPU(2530)は第2段階によって処理され得る。上記の説明は、VPDU及び多段階パイプラインを例として用いて与えられ、他のアーキテクチャ又はビデオコーディング方法に適切に適応され得る。上記の説明は、第1SPU(2520)が第1VPDUに含まれ、第2SPU(2530)が第2VPDUに含まれる場合に適応され得る。異なる段階でのSPUの処理の少なくとも一部は、同時に実行される。
【0152】
上述されたように、SPUサイズがTUサイズよりも大きいとき、CU内の複数のTUは、SPU(又はVPDU)などの処理データユニットにグループ化され得、SPUが、連続したSPUの並列処理(又は同時処理)を可能にする多段階パイプラインで処理され得る。いくつかの例では、説明は次のように変更され得る:CUは第1ユニットに分割される。更に、第1ユニットの夫々は、第2ユニットに分割され得る。第2ユニットの夫々は、第3ユニットに分割されてもよい。例において、第1ユニットサイズは、第2ユニットのサイズよりも大きく、第2ユニットのサイズは、第3ユニットのサイズよりも大きい。かようなパーティショニングは、第1の多段階パイプラインが第2の多段階パイプライン内に入れ子にされる場合に有利であり得る。
【0153】
[3.例C]
図26Aは、W=128及びH=32であるとして、W×Hサンプルのサイズを有するCU(2610A)を示す。最大TUサイズMは16個のサンプルである。VPDUサイズなどの処理データユニットサイズKは64個のサンプルである。W及びKのうちの最小な方は64であり、一方、H及びKのうちの最小の方は32である。よって、SPUのサイズは、例えば、変換ブロックをVPDUと整列させるために、64×32サンプルであるよう決定され得る。CU(2610A)は、64×32サンプルのサイズを夫々が有する左SPU(2620A)及び右SPU(2630A)に分割され得る。2つのSPU(2620A)及び(2630A)は、左から右の順序でスキャン及び処理され得る。
【0154】
2つのSPU(2620A)及び(2630A)の夫々は、16×16サンプルである最大TUサイズを夫々が有するTUに更に分割され得る。示されるように、左SPU(2620A)は、TU0~7に分割され、一方、右SPU(2630A)はTU8~15に分割される。SPU(2620A)では、TU0~7がラスタスキャン順序で処理され得る。SPU(2630A)では、TU8~15がラスタスキャン順序で処理され得る。従って、TU0~15は、矢印(2651A)によって示される順序でスキャン及び処理され得、このとき、TU0は最初に処理され、TU15は、TU0~15が処理された後に処理される。
【0155】
[4.例D]
図26Bは、W=128及びH=32であるとして、W×Hサンプルのサイズを有するCU(2610B)を示す。最大TUサイズMは16個のサンプルである。VPDUサイズなどの処理データユニットサイズKは64個のサンプルである。
図25の例と同様の方法で、CU(2610B)は、2つのSPU(2620B)及び(2630B)に分割され得、各SPUはTUに更に分割され得る。SPU(2620B)及び(2630B)は、
図25と同じ順序で左から右に処理され得る。しかし、
図25の例とは異なって、SPU(2620B)内のTU0~7は、ジグザグ順序で処理され、SPU(2630B)内のTU8~15は、ジグザグ順序で処理される。
【0156】
[5.例E]
図27は、開示の実施形態に従う変換ブロックパーティショニング及び処理プロセス(2700)を説明するフローチャートを示す。プロセス(2700)は、イントラモード又はインターモードでコーディングされたブロックの再構成において使用され得る。様々な実施形態において、プロセス(2700)は、端末デバイス(210)、(220)、(230)及び(240)内の処理回路、ビデオエンコーダ(403)の機能を実行する処理回路、ビデオデコーダ(510)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、ビデオエンコーダ(603)の機能を実行する処理回路、などのような処理回路によって実行される。いくつかの実施形態では、プロセス(2700)は、ソフトウェア命令で実施されるので、処理回路がソフトウェア命令を実行するとき、処理回路はプロセス(2700)を実行する。プロセスは(S2701)から開始し、(S2710)へ進む。
【0157】
(S2710)で、ピクチャ内のCUのコーディングされた情報が、コーディングされたビデオビットストリームからデコーディングされ得る。コーディングされた情報は、CUのW個のサンプルの幅及びH個のサンプルの高さを示すことができる。
【0158】
(S2720)で、例えば、CUの幅W及び高さHのうちの少なくとも一方が、
図24~26を参照して説明されたように、処理データユニットサイズKよりも大きいときに、CUはSPUに分割され得る。処理データユニットサイズK及びCUのサイズに基づいて、SPUのサイズが決定され得る。SPUの幅は、W及びKのうちの最小な方であることができ、SPUの高さは、H及びKの最小な方であることができる。従って、CUは、決定された幅及び高さを夫々が有するSPUに分割され得る。例えば、Wが128であり、Hが64であり、Kが64である場合に、CUは、64×64の第1SPU及び64×64の第2SPUに分割され得る。例えば、処理データユニットはVPDUであることで木、よって、KはVPDUサイズであることができる。
【0159】
(S2730)で、SPUの夫々を分割するための1つ以上のパーティショニング構造が、例えば、SPUの幅及び高さの一方又は組み合わせと、M個のサンプルの最大TUサイズとに基づいて、決定され得る。例において、SPUの幅及び高さの少なくとも一方はMよりも大きい。
【0160】
上述されたように、如何なる適切なパーティショニング構造も、SPUの夫々を区分け又は分割するために使用され得る。例において、SPUの幅及び高さがMよりも大きいとき、1つ以上のパーティショニング構造は、四分木パーティショニング構造であるよう決定される。例において、SPUの幅がMよりも大きく、SPUの高さがMよりも大きくないとき、1つ以上のパーティショニング構造は、垂直二分木パーティショニング構造であるよう決定される。例において、SPUの高さがMよりも大きく、SPUの幅がMよりも大きくないとき、1つ以上のパーティショニング構造は、水平二分木パーティショニング構造であるよう決定される。
【0161】
(S2740)で、SPUの夫々は、決定された1つ以上のパーティショニング構造に基づいてTUに分割され得る。例において、各々のSPUは、決定された1つ以上のパーティショニング構造を用いてTUに再帰的に分割され得る。
【0162】
(S2750)で、SPUのTUは、処理順序に従って処理される。例えば、上述されたように、SPUは、第1順序に従って処理され得、SPUの夫々におけるTUは、第2順序に従って処理され得る。各TUの残差データは、様々なデコーディング動作(例えば、変換係数のエントロピデコーディング、逆量子化若しくは量子化解除、逆変換、及び/又は同様のもの)によって決定され得る。プロセス(2700)は、(S2799)へ進んで終了することができる。
【0163】
プロセス(2700)は、CUを例として用いて説明されている。プロセス(2700)は、ルーマブロック、クロマブロックなどのようなCBに対して適切に適応され得る。簡潔さのために、CBについての説明は省略される。
【0164】
プロセス(2700)は、適切に適応され得る。例えば、1つ以上のステップは、変更、省略、又は結合され得る。例えば、ステップ(S2730)及び(S2740)は単一のステップにまとめられ得る。追加のステップも加えられ得る。プロセス(2700)が実行される順序も変更可能である。
【0165】
[IV.コンピュータシステム]
上記の技術は、コンピュータ読み出し可能な命令を使用しかつ1つ以上のコンピュータ可読媒体に物理的に記憶されているコンピュータソフトウェアとして実装可能である。例えば、
図28は、開示されている対象の特定の実施形態を実装することに適したコンピュータシステム(2800)を示す。
【0166】
コンピュータソフトウェアは、1つ以上の中央演算処理装置(CPU)、グラフィクス処理ユニット(GPU)などによって直接に又は解釈、マイクロコード実行などを通じて実行され得る命令を含むコードを生成するようにアセンブリ、コンパイル、リンキングなどのメカニズムに従い得る如何なる適切な機械コード又はコンピュータ言語によってもコーディング可能である。
【0167】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機、モノのインターネット(Internet of Things)のためのデバイス、などを含む様々なタイプのコンピュータ又はその構成要素で実行可能である。
【0168】
コンピュータシステム(2800)に関して
図28に示される構成要素は、本質的に例示であり、本開示の実施形態を実装するコンピュータソフトウェアの使用又は機能の範囲に関して如何なる限定も示唆することを意図しない。構成要素の構成は、コンピュータシステム(2800)の例示的な実施形態において説明される構成要素のうちのいずれか1つ又は組み合わせに関して何らかの依存又は要件も有するものとして解釈されるべきではない。
【0169】
コンピュータシステム(2800)は、特定のヒューマンインターフェース入力デバイスを含んでよい。かようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(例えば、キーボード、スワイプ、データグロープ動作)、音声入力(例えば、声、拍手)、視覚入力(例えば、ジェスチャ)、嗅覚入力(図示せず。)を通じた一人以上のユーザによる入力に反応してよい。ヒューマンインターフェースデバイスはまた、音声(例えば、発話、音楽、周囲音)、画像(例えば、スキャンされた画像、静止画カメラから取得された写真画像)、映像(例えば、二次元映像、立体視映像を含む三次元映像)などの、人による意識的な入力に必ずしも直接には関係しない特定のメディアを捕捉するためにも使用され得る。
【0170】
入力ヒューマンインターフェースデバイスは、キーボード(2801)、マウス(2802)、トラックパッド(2803)、タッチスクリーン(2810)、データグローブ(図示せず。)、ジョイスティック(2805)、マイク(2806)、スキャナ(2807)、カメラ(2808)(各1つしか表されていない。)のうちの1つ以上を含んでよい。
【0171】
コンピュータシステム(2800)は、特定のヒューマンインターフェース出力デバイスも含んでよい。かようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音響、光、及び匂い/味を通じて一人以上のユーザの感覚を刺激し得る。かようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(2810)、データグローブ(図示せず。)、又はジョイスティック(2805)による触覚フィードバック、しかし、入力デバイスとして機能しない触覚フィードバックデバイスも存在し得る。)、音声出力デバイス(例えば、スピーカ(2809)、ヘッドホン(図示せず。))、視覚出力デバイス(例えば、夫々タッチスクリーン入力機能の有無によらず、夫々触覚フィードバック機能の有無によらず、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含み、それらのうちのいくつかは、立体視出力、仮想現実メガネ(図示せず。)、ホログラフィックディスプレイ及びスモークタンク(図示せず。)などの手段により二次元視覚出力又は三次元よりも多い次元の出力を出力可能なスクリーン(2810))、及びプリンタ(図示せず。)を含んでよい。
【0172】
コンピュータシステム(2800)は、人がアクセス可能な記憶デバイス及びそれらの関連する媒体、例えば、CD/DVD又は同様の媒体(2821)を伴ったCD/DVD ROM/RW(2820)、サムドライブ(2822)、リムーバブルハードディスク又はソリッドステートドライブ(2823)、レガシー磁気媒体、例えば、テープ及びフロッピー(登録商標)ディスク(図示せず。)、専用のROM/ASIC/PLDベースデバイス、例えば、セキュリティドングル(図示せず。)、なども含むことができる。
【0173】
当業者であれば、目下開示されている対象に関連して使用されている「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、又は他の一時的な信号を含まないことも理解するはずである。
【0174】
コンピュータシステム(2800)は、1つ以上の通信ネットワークへのインターフェースも含むことができる。ネットワークは、例えば、ワイヤレス、ワイヤライン、光であることができる。ネットワークは更に、ローカル、ワイドエリア、メトロポリタン、車両及び工業、実時間、遅延耐性、などであることができる。ネットワークの例には、イーサネット(登録商標)などのローカルエリアネットワーク、ワイヤレスLAN、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルTV、衛星TV、及び地上放送TVを含むTVワイヤライン又はワイヤレス広域デジタルネットワーク、CANバスを含む車両及び工場ネットワーク、などがある。特定のネットワークは、一般に、特定の汎用デジタルポート又はペリフェラルバス(2849)(例えば、コンピュータシステム(2800)のUSBポートなど)に取り付けられた外付けネットワークインターフェースアダプタを必要とする。他は、一般に、後述されるようなシステムバスへの取り付け(例えば、PCコンピュータシステムへのイーサネットネットワーク、又はスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)によってコンピュータシステム(2800)のコアに組み込まれる。これらのネットワークのいずれかを使用して、コンピュータシステム(2800)は他のエンティティと通信することができる。そのような通信は、単方向の受信専用(例えば、ブロードキャストTV)又は単方向の送信専用(例えば、特定のCANバスデバイスへのCANバス)であることができ、あるいは、例えば、ローカル若しくは広域デジタルネットワークを使用して他のコンピュータシステムに対して双方向であることができる。特定のプロトコル又はプロトコルスタックが、上述されたようなネットワーク及びネットワークインターフェースの夫々で使用可能である。
【0175】
上記のヒューマンインターフェースデバイス、人がアクセス可能な記憶デバイス、及びネットワークインターフェースは、コンピュータシステム(2800)のコア(2840)へ取り付けられ得る。
【0176】
コア(2840)は、1つ以上の中央演算処理装置(CPU)(2841)、グラフィクス処理ユニット(GPU)(2842)、フィールドプログラマブルゲートエリア(FPGA)(2843)の形をとる専用のプログラム可能処理ユニット、特定のタスクのためのハードウェアアクセラレータ(2844)、などを含むことができる。これらのデバイスは、リードオンリーメモリ(ROM)(2845)、ランダムアクセスメモリ(RAM)(2846)、内部のユーザアクセス不能ハードドライブなどの内蔵大容量記憶装置、SSD、など(2847)とともに、システムバス(2848)を通じて接続されてよい。いくつかのコンピュータシステムでは、システムバス(2848)は、追加のCPU、GPUなどによる拡張を可能にするように、1つ以上の物理プラグの形でアクセス可能であることができる。コアのシステムバス(2848)へ直接に又はペリフェラルバス(2849)を通じて、周辺機器が取り付けられ得る。ペリフェラルバスのためのアーキテクチャには、PCI、USBなどがある。
【0177】
CPU(2841)、GPU(2842)、FPGA(2843)、及びアクセラレータ(2844)は、組み合わせて上記のコンピュータコードを構成することができる特定の命令を実行可能である。そのコンピュータコードは、ROM(2845)又はRAM(2846)に記憶され得る。一時データもRAM(2846)に記憶可能であり、一方、永続性データは、例えば、内蔵大容量記憶装置(2847)に記憶可能である。メモリデバイスのいずれかへの高速な格納及び読み出しは、キャッシュメモリの使用により可能にされ得る。キャッシュメモリは、1つ以上のCPU(2841)、GPU(2842)、大容量記憶装置(2847)、ROM(2845)、RAM(2846)などと密接に関連し得る。
【0178】
コンピュータ可読媒体は、様々なコンピュータ実装動作を実行するためのコンピュータコードを有することができる。媒体及びコンピュータコードは、本開示の目的のために特別に設計及び構成されたものであることができ、あるいは、それらは、コンピュータソフトウェア技術で通常の知識を有する者によく知られており利用可能である種類のものであることができる。
【0179】
例として、限定としてではなく、アーキテクチャ(2800)、具体的にはコア(2840)を有するコンピュータシステムは、1つ以上の有形なコンピュータ可読媒体において具現されているソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータ、などを含む。)の結果として機能を提供することができる。かようなコンピュータ可読媒体は、コア内蔵大容量記憶装置(2847)又はROM(2845)などの、非一時的な性質であるコア(2840)の特定の記憶装置に加えて、先に紹介されたユーザアクセス可能な大容量記憶装置に関連した媒体であることができる。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに記憶され、コア(2840)によって実行可能である。コンピュータ可読媒体には、特定のニーズに応じて、1つ以上のメモリデバイス又はチップが含まれ得る。ソフトウェアは、コア(2840)、及び、具体的には、その中のプロセッサ(CPU、GPU、FPGAなどを含む。)に、RAM(2846)に記憶されているデータ構造を定義することと、ソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を変更することとを含め、本明細書で説明されている特定のプロセス又は特定のプロセスの特定の部分を実行させることができる。追加的に、又は代替案として、コンピュータシステムは、本明細書で説明されている特定のプロセス又は特定のプロセスの特定の部分を実行するようにソフトウェアの代わりに又はそれとともに動作することができる、回路内でハードウェアにより実現されるか又は別なふうに具現されるロジック(例えば、アクセラレータ(2844))の結果として、機能を提供することができる。ソフトウェアへの言及は、必要に応じて、ロジックを包含することができ、その逆も同様である。コンピュータ可読媒体への言及は、必要に応じて、実行のためのソフトウェアを記憶している回路(例えば、集積回路(IC))、実行のためのロジックを具現する回路、又は両方を包含することができる。本開示は、ハードウェア及びソフトウェアの如何なる適切な組み合わせも包含する。
【0180】
付録A:頭字語
ASIC:Application-Specific Integrated Circuit
BMS:benchmark set
CANBus:Controller Area Network Bus
CBF:Coded Block Flag
CD:Compact Disc
CPU:Central Processing Unit(s)
CRT:Cathode Ray Tube
CTB:Coding Tree Block(s)
CTU:Coding Tree Unit(s)
CU:Coding Unit
DVD:Digital Video Disc
FPGA:Field Programmable Gate Area(s)
GOP:Group of Picture(s)
GPU:Graphics Processing Unit(s)
GSM:Global System for Mobile communications
HEVC:High Efficiency Video Coding
HRD:Hypothetical Reference Decoder
ISP:Intra Sub-Partitions
IC:Integrated Circuit
JEM:Joint Exploration Model
LAN:Local Area Network
LCD:Liquid-Crystal Display
LTE:Long-Term Evolution
MPM:Most Probable Mode
MV:Motion Vector
OLED:Organic Light-Emitting Diode
PB:Prediction Block(s)
PCI:Peripheral Component Interconnect
PLD:Programmable Logic Device
PU:Prediction Unit(s)
RAM:Random Access Memory
ROM:Read-Only Memory
SBT:Sub-Block Transform
SEI:Supplementary Enhancement Information
SNR:Signal Noise Ratio
SSD:Solid-State Drive
TU:Transform Unit(s)
USB:Universal Serial Bus
VPDU:Virtual Pipeline Data Unit
VUI:Video Usability Information
VVC:Versatile Video Coding
【0181】
本開示は、いくつかの例示的な実施形態について記載してきたが、本開示の範囲内にある代替、交換、及び様々な置換均等物が存在する。よって、明らかなように、当業者であれば、たとえ本明細書で明示的に図示又は説明されていないとしても、本開示の原理を具現し、よって、その精神及び範囲の中にある多数のシステム及び方法に想到可能である。
【0182】
[参照による援用]
本開示は、「Modified VPDU Compatible Max Transform Control」と題されて2019年3月22日付けで出願された米国特許仮出願第62/822787号の優先権の利益を主張して「Method and Apparatus for Video Coding」と題されて2020年3月19日付けで出願された米国特許出願第16/823831号の優先権の利益を主張するものである。これらの先願の全開示は、その全文を参照により本願に援用される。