JP2023513772A - ビデオコーディングのための方法、装置およびコンピュータプログラム - Google Patents

ビデオコーディングのための方法、装置およびコンピュータプログラム Download PDF

Info

Publication number
JP2023513772A
JP2023513772A JP2022549019A JP2022549019A JP2023513772A JP 2023513772 A JP2023513772 A JP 2023513772A JP 2022549019 A JP2022549019 A JP 2022549019A JP 2022549019 A JP2022549019 A JP 2022549019A JP 2023513772 A JP2023513772 A JP 2023513772A
Authority
JP
Japan
Prior art keywords
transform
intra
context
primary transform
index
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022549019A
Other languages
English (en)
Inventor
マドゥー・ペリンガーサリー・クリシュナン
シン・ジャオ
シャン・リュウ
Original Assignee
テンセント・アメリカ・エルエルシー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by テンセント・アメリカ・エルエルシー filed Critical テンセント・アメリカ・エルエルシー
Publication of JP2023513772A publication Critical patent/JP2023513772A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本開示の態様は、ビデオ復号のための方法およびビデオ復号のための処理回路を含む装置を提供する。処理回路は、コーディングされたビデオビットストリームから変換ブロック(TB)のためのコーディングされた情報を復号する。コーディングされた情報は、TBに使用されたイントラ予測モードを示すイントラ予測モード情報、TBのサイズ、およびTBに使用された一次変換タイプのうちの1つを示す。処理回路は、TBのイントラ予測モード情報、TBのサイズ、およびTBに使用された一次変換タイプのうちの1つに基づいて、二次変換インデックスをエントロピー復号するためのコンテキストを決定する。二次変換インデックスは、TBに対して実行されるべき二次変換セット内の二次変換を示す。処理回路は、コンテキストに基づいて二次変換インデックスをエントロピー復号し、二次変換を実行する。

Description

参照による組み込み
本出願は、2020年11月11日に出願された米国仮出願第63/112,529号、「CONTEXT DESIGN FOR ENTROPY CODING OF SECONDARY TRANSFORM INDEX」に対する優先権の利益を主張する、2021年6月28日に出願された米国特許出願第17/360,431号、「Method and apparatus for video coding」の優先権の利益を主張する。先願の開示全体が参照により完全に本明細書に組み込まれる。
本開示は、一般に、ビデオコーディングに関連する実施形態を説明する。
本明細書で提供される背景技術の説明は、本開示の文脈を一般的に提示することを目的としている。本発明者らの研究は、その研究がこの背景技術の項に記載されている限りにおいて、それ以外に出願時に先行技術として認められない可能性のある説明の態様と共に、本開示に対する先行技術としては明示的にも暗示的にも認められない。
ビデオコーディングおよびビデオデコーディングは、動き補償を伴うインターピクチャ予測を使用して実行することができる。非圧縮デジタルビデオは、一連のピクチャを含むことができ、各ピクチャは、例えば1920×1080の輝度サンプルおよび関連する色差サンプルの空間次元を有する。一連のピクチャは、例えば毎秒60ピクチャまたは60Hzの固定または可変のピクチャレート(非公式にはフレームレートとしても知られる)を有することができる。非圧縮ビデオは、特定のビットレート要件を有する。例えば、サンプルあたり8ビットの1080p60 4:2:0ビデオ(60Hzのフレームレートで1920×1080の輝度サンプル解像度)は、1.5Gbit/sに近い帯域幅を必要とする。1時間分のそのようなビデオは、600GByteを超える記憶空間を必要とする。
ビデオコーディングおよびビデオデコーディングの1つの目的は、圧縮による入力ビデオ信号の冗長性の低減であり得る。圧縮は、前述の帯域幅および/または記憶空間要件を、場合によっては2桁以上低減させるのに役立ち得る。可逆圧縮と非可逆圧縮の両方、およびそれらの組み合わせを使用することができる。可逆圧縮とは、原信号の正確なコピーを圧縮された原信号から再構成することができる技術を指す。非可逆圧縮を使用する場合、再構成された信号は原信号と同一ではない可能性があるが、原信号と再構成された信号との間の歪みは、再構成された信号を意図された用途に役立てるのに十分なほど小さい。ビデオの場合、非可逆圧縮が広く採用されている。耐容できる歪みの量は用途に依存し、例えば、特定の消費者ストリーミング用途のユーザは、テレビ配信用途のユーザよりも高い歪みを容認し得る。達成可能な圧縮比は、許容できる/耐容できる歪みが高いほど高い圧縮比を得ることができること、を反映することができる。
ビデオエンコーダおよびビデオデコーダは、例えば、動き補償、変換、量子化、およびエントロピーコーディングを含む、いくつかの広範なカテゴリからの技術を利用することができる。
ビデオコーデック技術は、イントラコーディングとして知られる技術を含むことができる。イントラコーディングでは、サンプル値は、以前に再構成された参照ピクチャからのサンプルまたは他のデータを参照せずに表される。一部のビデオコーデックでは、ピクチャはサンプルのブロックに、空間的に細分される。サンプルのすべてのブロックが、イントラモードでコーディングされる場合、そのピクチャはイントラピクチャであり得る。イントラピクチャおよび独立したデコーダリフレッシュピクチャなどのそれらの派生ピクチャは、デコーダ状態をリセットするために使用することができ、したがって、コーディングされたビデオビットストリームおよびビデオセッション内の最初のピクチャとして、または静止画像として使用することができる。イントラブロックのサンプルは、変換することができ、変換係数は、エントロピーコーディングの前に量子化することができる。イントラ予測は、変換前領域におけるサンプル値を最小化する技術であり得る。場合によっては、変換後のDC値が小さいほど、およびAC係数が小さいほど、エントロピーコーディング後のブロックを表すために所与の量子化ステップサイズで必要とされるビット数が少なくなる。
例えば、MPEG-2生成コーディング技術から知られているような従来のイントラコーディングは、イントラ予測を使用しない。しかしながら、いくつかのより新しいビデオ圧縮技術は、例えば、空間的に隣接し、復号順序で先行する、データブロックの符号化および/または復号中に取得された周囲のサンプルデータおよび/またはメタデータから試行する技術を含む。そのような技術を、これ以降、「イントラ予測」技術と呼ぶ。少なくともいくつかの場合において、イントラ予測は、再構成中の現在のピクチャのみからの参照データを使用し、参照ピクチャからの参照データは使用しないことに留意されたい。
イントラ予測には、多くの異なる形態があり得る。そのような技術のうちの2つ以上を所与のビデオコーディング技術において使用できる場合、使用される技術を、イントラ予測モードでコーディングすることができる。特定の場合には、モードはサブモードおよび/またはパラメータを有することができ、それらを個別にコーディングするか、またはモードのコードワードに含めることができる。所与のモード、サブモード、および/またはパラメータの組み合わせにどのコードワードを使用するかは、イントラ予測を介したコーディング効率向上に影響を与える可能性があり、そのため、コードワードをビットストリームに変換するために使用されるエントロピーコーディング技術も影響を与える可能性がある。
イントラ予測の特定のモードは、H.264で導入され、H.265で改良され、共同探索モデル(JEM)、多用途ビデオコーディング(VVC)、およびベンチマークセット(BMS)などのより新しいコーディング技術でさらに改良された。予測子ブロックは、すでに利用可能なサンプルに属する隣接サンプル値を使用して形成することができる。隣接するサンプルのサンプル値は、方向に従って予測子ブロックにコピーされる。使用される方向への参照は、ビットストリーム内でコーディングされ得るか、またはそれ自体が予測され得る。
図1Aを参照すると、右下に示されているのは、(35のイントラモードのうちの33の角度モードに対応する)H.265の33の可能な予測子方向から知られる9つの予測子方向のサブセットである。矢印が集中する点(101)は、予測されているサンプルを表す。矢印は、サンプルが予測されている方向を表す。例えば、矢印(102)は、サンプル(101)が、1つまたは複数のサンプルから右上へ、水平から45度の角度で予測されることを示している。同様に、矢印(103)は、サンプル(101)が、1つまたは複数のサンプルからサンプル(101)の左下へ、水平から22.5度の角度で予測されることを示している。
さらに図1Aを参照すると、左上に、(破線太線で示された)4×4サンプルの正方形ブロック(104)が示されている。正方形ブロック(104)は16サンプルを含み、各々が「S」、そのY次元の位置(例えば、行番号)、およびそのX次元の位置(例えば、列番号)でラベル付けされている。例えば、サンプルS21は、Y次元で(上から)2番目のサンプルであり、X次元で(左から)1番目のサンプルである。同様に、サンプルS44は、Y次元とX次元の両方でブロック(104)内の4番目のサンプルである。ブロックのサイズは4×4サンプルであるため、S44は右下にある。同様の番号付け方式に従う参照サンプルがさらに示されている。参照サンプルは、R、ブロック(104)に対するそのY位置(例えば、行番号)およびX位置(列番号)でラベル付けされている。H.264およびH.265の両方において、予測サンプルは再構成中のブロックに隣接し、したがって、負の値が使用される必要はない。
イントラピクチャ予測は、シグナリングされた予測方向によって割り当てられるように隣接するサンプルからの参照サンプル値をコピーすることによって機能することができる。例えば、コーディングされたビデオビットストリームは、このブロックについて、矢印(102)と一致する予測方向を示すシグナリングを含む、すなわち、サンプルは1つまたは複数の予測サンプルから右上へ、水平から45度の角度で予測されると仮定する。その場合、サンプルS41、S32、S23、S14が、同じ参照サンプルR05から予測される。次いで、サンプルS44が、参照サンプルR08から予測される。
特定の場合には、特に、方向が45度で均等に割り切れない場合に、参照サンプルを計算するために、例えば補間によって複数の参照サンプル値が組み合わされてもよい。
可能な方向の数は、ビデオコーディング技術が発展するにつれて増加してきた。H.264(2003年)では、9つの異なる方向を表すことができた。これは、H.265(2013年)では33まで増加し、JEM/VVC/BMSは、開示の時点で、最大65の方向をサポートすることができる。最も可能性の高い方向を特定するための実験が行われており、エントロピーコーディングの特定の手法を使用して、可能性の低い方向についての特定のペナルティを受け入れ、それらの可能性の高い方向が少数のビットで表現され得る。さらに、方向自体を、隣接する、すでに復号されたブロックで使用された隣接する方向から、予測できる場合もある。
図1Bに、時間の経過と共に増加する予測方向の数を例示するために、JEMによる65のイントラ予測方向を示す概略図(180)を示す。
方向を表すコーディングされたビデオビットストリームにおけるイントラ予測方向ビットのマッピングは、ビデオコーディング技術によって異なる可能性があり、例えば、予測方向対イントラ予測モードの単純な直接マッピングから、コードワード、最も可能性の高いモードを含む複雑な適応方式、および同様の技術にまで及び得る。ただし、すべての場合において、他の特定の方向よりもビデオコンテンツで発生する可能性が統計的に低い特定の方向が存在し得る。ビデオ圧縮の目的は冗長性の低減であるため、うまく機能するビデオコーディング技術においては、それらのより可能性の低い方向はより可能性の高い方向よりも多くのビット数で表される。
動き補償は非可逆圧縮技術であり得、以前に再構成されたピクチャまたはその一部(参照ピクチャ)からのサンプルデータのブロックが、動きベクトル(これ以降はMV)によって示される方向に空間的にシフトされた後、新たに再構成されたピクチャまたはピクチャ部分の予測に使用される技術に関連し得る。場合によっては、参照ピクチャは、現在再構成中のピクチャと同じであり得る。MVは、2つの次元XおよびY、または3つの次元を有することができ、第3の次元は、使用される参照ピクチャの指示である(第3の次元は、間接的に、時間次元であり得る)。
いくつかのビデオ圧縮技術では、サンプルデータの特定のエリアに適用可能なMVを、他のMVから、例えば再構成中のエリアに空間的に隣接し、復号順序でそのMVに先行する、サンプルデータの別のエリアに関連するMVから予測することができる。そうすることにより、MVのコーディングに必要なデータ量を実質的に削減することができ、それによって冗長性が排除され、圧縮が増加する。MV予測が効果的に機能することができるのは、例えば、(自然なビデオとして知られている)カメラから導出された入力ビデオ信号をコーディングするときに、単一のMVが適用可能なエリアよりも大きいエリアは、同様の方向に移動する統計的尤度があり、したがって、場合によっては、隣接するエリアのMVから導出された同様の動きベクトルを使用して予測することができるからである。これにより、所与のエリアについて見つかったMVが、周囲のMVから予測されたMVと同様または同じになり、これを、エントロピーコーディング後に、MVを直接コーディングする場合に使用されるよりも少ないビット数で表すことができる。場合によっては、MV予測を、原信号(すなわち、サンプルストリーム)から導出された信号(すなわち、MV)の可逆圧縮の一例とすることができる。場合によっては、例えば、いくつかの周囲のMVから予測子を計算するときの丸め誤差のために、MV予測自体が非可逆であり得る。
H.265/HEVC(ITU-T Rec.H.265,’’High Efficiency Video Coding’’,December 2016)には、様々なMV予測機構が記載されている。H.265が提供する多くのMV予測機構のうち、本明細書で説明するのは、これ以降「空間マージ」と呼ぶ技術である。
図2を参照すると、現在のブロック(201)は、動き探索プロセス中にエンコーダによって、空間的にシフトされた同じサイズの前のブロックから予測可能であると検出されたサンプルを含む。そのMVを直接コーディングする代わりに、MVを、A0、A1、およびB0、B1、B2(それぞれ202から206)で表された5つの周囲のサンプルのいずれか1つと関連付けられたMVを使用して、1つまたは複数の参照ピクチャと関連付けられたメタデータから、例えば、(復号順序で)最後の参照ピクチャから導出することができる。H.265では、MV予測は、隣接するブロックが使用しているのと同じ参照ピクチャからの予測子を使用することができる。
本開示の態様は、ビデオ符号化および/またはビデオ復号のための方法および装置を提供する。いくつかの例では、ビデオ復号のための装置は処理回路を含む。処理回路は、コーディングされたビデオビットストリームから変換ブロック(TB)のためのコーディングされた情報を復号することができる。コーディングされた情報は、TBのイントラ予測モード情報、TBのサイズ、およびTBに使用された一次変換タイプのうちの1つを示し得る。TBのイントラ予測モード情報は、TBに使用されたイントラ予測モードを示すことができる。処理回路は、TBのイントラ予測モード情報、TBのサイズ、およびTBに使用された一次変換タイプのうちの1つに基づいて、二次変換インデックスをエントロピー復号するためのコンテキストを決定することができる。二次変換インデックスは、TBに対して実行されるべき二次変換セット内の二次変換を示すことができる。処理回路は、コンテキストに基づいて二次変換インデックスをエントロピー復号し、TBに対して二次変換インデックスによって示される二次変換を実行することができる。
一実施形態では、TBのイントラ予測モード情報、TBのサイズ、およびTBに使用された一次変換タイプのうちの1つは、TBのサイズを示し得る。処理回路は、TBのサイズに基づいて、二次変換インデックスをエントロピー復号するためのコンテキストを決定することができる。一例では、TBのサイズは、TBの幅WおよびTBの高さHを示し、TBの幅WおよびTBの高さHの最小値はLであり、処理回路は、LまたはL×Lに基づいてコンテキストを決定することができる。
一実施形態では、TBのイントラ予測モード情報、TBのサイズ、およびTBに使用された一次変換タイプのうちの1つは、TBのイントラ予測モード情報を示し得る。処理回路は、TBのイントラ予測モード情報に基づいて、二次変換インデックスをエントロピー復号するためのコンテキストを決定することができる。
一例では、TBのイントラ予測モード情報は公称モードインデックスを指示し、TBは公称モードインデックスおよび角度オフセットに基づいて決定される方向性予測モードを使用して予測され、処理回路は、公称モードインデックスに基づいて、二次変換インデックスをエントロピー復号するためのコンテキストを決定することができる。
一例では、TBのイントラ予測モード情報は公称モードインデックスを示す。TBは、公称モードインデックスおよび角度オフセットに基づいて決定される方向性予測モードを使用して予測することができる。処理回路は、公称モードインデックスと関連付けられたインデックス値に基づいて、二次変換インデックスをエントロピー復号するためのコンテキストを決定することができる。
一例では、TBのイントラ予測モード情報は非方向性予測モードインデックスを示す。TBは、非方向性予測モードインデックスによって示される非方向性予測モードを使用して予測することができる。処理回路は、非方向性予測モードインデックスに基づいて、二次変換インデックスをエントロピー復号するためのコンテキストを決定することができる。
一例では、TBのイントラ予測モード情報は、TBを予測するために使用された再帰的フィルタリングモードを示す。処理回路は、再帰的フィルタリングモードに基づいて公称モードインデックスを決定することができる。公称モードインデックスは公称モードを示すことができる。処理回路は、公称モードインデックスに基づいて、二次変換インデックスをエントロピー復号するためのコンテキストを決定することができる。
一実施形態では、TBのイントラ予測モード情報、TBのサイズ、およびTBに使用された一次変換タイプのうちの1つは、TBに使用された一次変換タイプを示し得る。処理回路は、TBに使用された一次変換タイプに基づいて、二次変換インデックスをエントロピー復号するためのコンテキストを決定することができる。
一次変換タイプによって示される一次変換は、水平一次変換タイプによって示される水平変換および垂直一次変換タイプによって示される垂直変換を含むことができる。一例では、処理回路は、水平一次変換タイプと垂直一次変換タイプとが両方とも離散コサイン変換(DCT)または両方とも非対称離散サイン変換(ADST)であるかどうかに基づいて、二次変換インデックスをエントロピー復号するためのコンテキストを決定する。
一例では、処理回路は、水平一次変換タイプと垂直一次変換タイプとが両方とも離散コサイン変換(DCT)または両方とも線グラフ変換(LGT)であるかどうかに基づいて、二次変換インデックスをエントロピー復号するためのコンテキストを決定する。
一例では、処理回路は、水平一次変換タイプと垂直一次変換タイプとが、(i)両方とも離散コサイン変換(DCT)か、(ii)両方とも線グラフ変換(LGT)か、(iii)それぞれDCTとLGTとか、それとも(iv)それぞれLGTとDCTとか、に基づいて二次変換インデックスをエントロピー復号するためのコンテキストを決定する。
一例では、処理回路は、水平一次変換タイプと垂直一次変換タイプとが、(i)両方とも離散コサイン変換(DCT)か、(ii)両方とも線グラフ変換(LGT)か、(iii)それぞれDCTと恒等変換(IDTX)とか、それとも(iv)それぞれIDTXとDCTとか、に基づいて二次変換インデックスをエントロピー復号するためのコンテキストを決定する。
本開示の態様はまた、ビデオ復号のためにコンピュータによって実行されると、ビデオ復号および/またはビデオ符号化のための方法をコンピュータに実行させる命令を格納する非一時的コンピュータ可読媒体も提供する。
開示の主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになるであろう。
イントラ予測モードの例示的なサブセットの概略図である。 例示的なイントラ予測方向の図である。 一例における現在のブロックおよびその周囲の空間マージ候補の概略図である。 一実施形態による通信システム(300)の簡略化されたブロック図の概略図である。 一実施形態による通信システム(400)の簡略化されたブロック図の概略図である。 一実施形態によるデコーダの簡略化されたブロック図の概略図である。 一実施形態によるエンコーダの簡略化されたブロック図の概略図である。 別の実施形態によるエンコーダを示すブロック図である。 別の実施形態によるデコーダを示すブロック図である。 本開示の一実施形態によるコーディングブロックの公称モードの一例を示す図である。 本開示の態様による非方向性平滑イントラ予測の例を示す図である。 本開示の一実施形態による再帰的フィルタリングベースのイントラ予測子の一例を示す図である。 本開示の一実施形態によるコーディングブロックの複数の基準線の一例を示す図である。 本開示の一実施形態によるブロックに対する変換ブロック分割の一例を示す図である。 本開示の一実施形態によるブロックに対する変換ブロック分割の一例を示す図である。 本開示の実施形態による一次変換基底関数の例を示す図である。 本開示の実施形態による変換ブロックサイズおよび予測モードに基づく様々な変換カーネルの利用可能性の例示的な依存関係を示す図である。 本開示の実施形態によるイントラ予測モードに基づく例示的な変換タイプ選択を示す図である。 本開示の一実施形態による自己ループ重みおよびエッジ重みによって特徴付けられた汎用線グラフ変換(LGT)の一例を示す図である。 本開示の一実施形態による例示的な一般化グラフラプラシアン(GGL)行列を示す図である。 本開示の実施形態による16×64変換を使用した変換コーディングプロセス(1700)の例を示す図である。 本開示の実施形態による16×48変換を使用した変換コーディングプロセス(1800)の例を示す図である。 本開示の一実施形態によるプロセス(1900)の概要を示すフローチャートである。 一実施形態によるコンピュータシステムの概略図である。
図3に、本開示の一実施形態による通信システム(300)の簡略化されたブロック図を示す。通信システム(300)は、例えばネットワーク(350)を介して互いに通信することができる複数の端末装置を含む。例えば、通信システム(300)は、ネットワーク(350)を介して相互接続された第1の対の端末装置(310)および(320)を含む。図3の例では、第1の対の端末装置(310)および(320)は、データの一方向伝送を実行する。例えば、端末装置(310)は、ネットワーク(350)を介して他方の端末装置(320)に送信するためのビデオデータ(例えば、端末装置(310)によって取り込まれたビデオピクチャのストリーム)をコーディングし得る。符号化されたビデオデータは、1つまたは複数のコーディングされたビデオビットストリームの形で送信することができる。端末装置(320)は、ネットワーク(350)からコーディングされたビデオデータを受信し、コーディングされたビデオデータを復号してビデオピクチャを復元し、復元されたビデオデータに従ってビデオピクチャを表示し得る。一方向データ伝送は、メディアサービング用途などで一般的であり得る。
別の例では、通信システム(300)は、例えばビデオ会議中に発生することがあるコーディングされたビデオデータの双方向伝送を実行する第2の対の端末装置(330)および(340)を含む。データの双方向伝送のために、一例では、端末装置(330)および(340)の各端末装置は、ネットワーク(350)を介して端末装置(330)および(340)の他方の端末装置に送信するためのビデオデータ(例えば、その端末装置によって取り込まれたビデオピクチャのストリーム)をコーディングし得る。端末装置(330)および(340)の各端末装置はまた、端末装置(330)および(340)の他方の端末装置によって送信されたコーディングされたビデオデータを受信し、コーディングされたビデオデータを復号してビデオピクチャを復元し、復元されたビデオデータに従ってアクセス可能な表示装置でビデオピクチャを表示し得る。
図3の例では、端末装置(310)、(320)、(330)、および(340)は、サーバ、パーソナルコンピュータ、およびスマートフォンとして示され得るが、本開示の原理はそのように限定されない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、および/または専用のビデオ会議機器に適用される。ネットワーク(350)は、例えば、有線(有線接続)および/または無線通信ネットワークを含む、端末装置(310)、(320)、(330)および(340)間でコーディングされたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(350)は、回線交換チャネルおよび/またはパケット交換チャネルでデータを交換し得る。代表的なネットワークには、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、および/またはインターネットが含まれる。本考察の目的にとって、ネットワーク(350)のアーキテクチャおよびトポロジーは、本明細書において以下で説明されない限り、本開示の動作にとって重要ではない場合がある。
図4に、開示の主題の用途の一例として、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置を示す。開示の主題は、例えば、ビデオ会議、デジタルテレビ、CD、DVD、メモリスティックなどを含むデジタルメディア上の圧縮ビデオの格納を含む、他のビデオ対応用途に等しく適用することができる。
ストリーミングシステムは、ビデオソース(401)、例えば、圧縮されていないビデオピクチャのストリーム(402)を作成する、例えばデジタルカメラを含むことができる取り込みサブシステム(413)を含み得る。一例では、ビデオピクチャのストリーム(402)は、デジタルカメラによって撮影されたサンプルを含む。ビデオピクチャのストリーム(402)は、符号化されたビデオデータ(404)(またはコーディングされたビデオビットストリーム)と比較した場合の高データ量を強調するために太線で示されており、ビデオソース(401)に結合されたビデオエンコーダ(403)を含む電子装置(420)によって処理することができる。ビデオエンコーダ(403)は、以下でより詳細に説明されるように開示の主題の態様を可能にし、または実装するために、ハードウェア、ソフトウェア、またはそれらの組み合わせを含むことができる。符号化されたビデオデータ(404)(または符号化されたビデオビットストリーム(404))は、ビデオピクチャのストリーム(402)と比較した場合の低データ量を強調するために細線で示されており、将来の使用のためにストリーミングサーバ(405)に格納することができる。図4のクライアントサブシステム(406)および(408)などの1つまたは複数のストリーミングクライアントサブシステムは、ストリーミングサーバ(405)にアクセスして、符号化されたビデオデータ(404)のコピー(407)および(409)を取得することができる。クライアントサブシステム(406)は、例えば電子装置(430)内のビデオデコーダ(410)を含むことができる。ビデオデコーダ(410)は、符号化されたビデオデータの入力コピー(407)を復号し、ディスプレイ(412)(例えば、表示画面)または他のレンダリング装置(図示せず)上にレンダリングすることができるビデオピクチャの出力ストリーム(411)を作成する。一部のストリーミングシステムでは、符号化されたビデオデータ(404)、(407)、および(409)(例えば、ビデオビットストリーム)を、特定のビデオコーディング/圧縮規格に従って符号化することができる。それらの規格の例として、ITU-T勧告H.265が挙げられる。一例では、開発中のビデオコーディング規格は、多用途ビデオコーディング(VVC)として非公式に知られている。開示の主題は、VVCの文脈で使用され得る。
電子装置(420)および(430)は、他の構成要素(図示せず)を含むことができることに留意されたい。例えば、電子装置(420)はビデオデコーダ(図示せず)を含むことができ、電子装置(430)はビデオエンコーダ(図示せず)も含むことができる。
図5に、本開示の一実施形態によるビデオデコーダ(510)のブロック図を示す。ビデオデコーダ(510)は、電子装置(530)に含めることができる。電子装置(530)は、受信機(531)(例えば、受信回路)を含むことができる。ビデオデコーダ(510)は、図4の例のビデオデコーダ(410)の代わりに使用することができる。
受信機(531)は、ビデオデコーダ(510)によって復号されるべき1つまたは複数のコーディングされたビデオシーケンスを受信することができ、同じまたは別の実施形態では、一度に1つのコーディングされたビデオシーケンスを受信し、各コーディングされたビデオシーケンスの復号は、他のコーディングされたビデオシーケンスから独立している。コーディングされたビデオシーケンスは、符号化されたビデオデータを格納する記憶装置へのハードウェア/ソフトウェアリンクであってもよいチャネル(501)から受信され得る。受信機(531)は、符号化されたビデオデータを、それぞれの使用エンティティ(図示せず)に転送され得る他のデータ、例えば、コーディングされたオーディオデータおよび/または補助データストリームと共に受信し得る。受信機(531)は、コーディングされたビデオシーケンスを他のデータから分離し得る。ネットワークジッタに対抗するために、バッファメモリ(515)が、受信機(531)とエントロピーデコーダ/パーサ(520)(これ以降は「パーサ(520)」)との間に結合されてもよい。特定の用途では、バッファメモリ(515)は、ビデオデコーダ(510)の一部である。他の場合には、ビデオデコーダ(510)の外部にあり得る(図示せず)。さらに他の場合には、例えばネットワークジッタに対抗するためにビデオデコーダ(510)の外部にバッファメモリ(図示せず)があり、さらに、例えば再生タイミングを処理するためにビデオデコーダ(510)の内部に別のバッファメモリ(515)があり得る。受信機(531)が十分な帯域幅および可制御性の記憶/転送装置から、またはアイソシンクロナス(isosynchronous)ネットワークからデータを受信しているときには、バッファメモリ(515)は不要であり得るか、または小さくすることができる。インターネットなどのベストエフォートパケットネットワークで使用するために、バッファメモリ(515)が必要とされることがあり、比較的大きくすることができ、有利には適応サイズとすることができ、ビデオデコーダ(510)の外部のオペレーティングシステムまたは同様の要素(図示せず)に少なくとも部分的に実装され得る。
ビデオデコーダ(510)は、コーディングされたビデオシーケンスからシンボル(521)を再構成するためのパーサ(520)を含み得る。それらのシンボルのカテゴリは、ビデオデコーダ(510)の動作を管理するために使用される情報と、潜在的に、図5に示すように、電子装置(530)の不可欠な部分ではないが電子装置(530)に結合することができるレンダリング装置(512)(例えば、表示画面)などのレンダリング装置を制御するための情報とを含む。(1つまたは複数の)レンダリング装置のための制御情報は、補足拡張情報(SEIメッセージ)またはビデオユーザビリティ情報(VUI)パラメータセットフラグメント(図示せず)の形であり得る。パーサ(520)は、受信されるコーディングされたビデオシーケンスをパース/エントロピー復号し得る。コーディングされたビデオシーケンスのコーディングは、ビデオコーディング技術または規格に従ったものとすることができ、可変長コーディング、ハフマンコーディング、文脈依存性ありまたはなしの算術コーディングなどを含む様々な原理に従うことができる。パーサ(520)は、コーディングされたビデオシーケンスから、グループに対応する少なくとも1つのパラメータに基づいて、ビデオデコーダ内の画素のサブグループのうちの少なくとも1つのサブグループパラメータのセットを抽出し得る。サブグループには、Groups of Pictures(GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含めることができる。パーサ(520)はまた、コーディングされたビデオシーケンスから、変換係数、量子化パラメータ値、動きベクトルなどの情報も抽出し得る。
パーサ(520)は、シンボル(521)を作成するために、バッファメモリ(515)から受け取られたビデオシーケンスに対してエントロピー復号/パース操作を実行し得る。
シンボル(521)の再構成は、コーディングされたビデオピクチャまたはその一部のタイプ(インターピクチャおよびイントラピクチャ、インターブロックおよびイントラブロックなど)、ならびに他の要因に応じて、複数の異なるユニットを含むことができる。どのユニットがどのように含まれるかは、パーサ(520)によってコーディングされたビデオシーケンスからパースされたサブグループ制御情報によって制御することができる。パーサ(520)と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは、明確にするために図示されていない。
すでに述べた機能ブロックを超えて、ビデオデコーダ(510)を、以下で説明するように、いくつかの機能ユニットに概念的に細分することができる。商業的制約の下で動作する実際の実装形態では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的に、互いに統合することができる。しかしながら、開示の主題を説明するためには、以下の機能ユニットへの概念的細分が適切である。
第1のユニットはスケーラ/逆変換ユニット(551)である。スケーラ/逆変換ユニット(551)は、量子化変換係数、ならびにどの変換を使用するか、ブロックサイズ、量子化係数、量子化スケーリング行列などを含む制御情報を、パーサ(520)から(1つまたは複数の)シンボル(521)として受け取る。スケーラ/逆変換ユニット(551)は、アグリゲータ(555)に入力することができるサンプル値を備えるブロックを出力することができる。
場合によっては、スケーラ/逆変換(551)の出力サンプルは、イントラコーディングされたブロック、すなわち、以前に再構成されたピクチャからの予測情報を使用していないが、現在のピクチャの以前に再構成された部分からの予測情報を使用することができるブロックに関係し得る。そのような予測情報は、イントラピクチャ予測ユニット(552)によって提供することができる。場合によっては、イントラピクチャ予測ユニット(552)は、現在のピクチャバッファ(558)からフェッチされた周囲のすでに再構成された情報を使用して、再構成中のブロックと同じサイズおよび形状のブロックを生成する。現在のピクチャバッファ(558)は、例えば、部分的に再構成された現在のピクチャおよび/または完全に再構成された現在のピクチャをバッファする。アグリゲータ(555)は、場合によっては、サンプルごとに、イントラ予測ユニット(552)が生成した予測情報を、スケーラ/逆変換ユニット(551)によって提供される出力サンプル情報に追加する。
他の場合には、スケーラ/逆変換ユニット(551)の出力サンプルは、インターコーディングされ、潜在的に動き補償されたブロックに関係し得る。そのような場合、動き補償予測ユニット(553)は、参照ピクチャメモリ(557)にアクセスして、予測に使用されるサンプルをフェッチすることができる。ブロックに関連するシンボル(521)に従ってフェッチされたサンプルを動き補償した後、これらのサンプルを、出力サンプル情報を生成するために、アグリゲータ(555)によってスケーラ/逆変換ユニット(551)の出力に追加することができる(この場合、残差サンプルまたは残差信号と呼ばれる)。動き補償予測ユニット(553)が予測サンプルをフェッチする参照ピクチャメモリ(557)内のアドレスは、例えば、X、Y、および参照ピクチャ成分を有し得るシンボル(521)の形で動き補償予測ユニット(553)が利用可能な、動きベクトルによって制御することができる。動き補償はまた、サブサンプルの正確な動きベクトルが使用されているときに参照ピクチャメモリ(557)からフェッチされたサンプル値の補間、動きベクトル予測機構なども含むことができる。
アグリゲータ(555)の出力サンプルは、ループフィルタユニット(556)において様々なループフィルタリング技術を受けることができる。ビデオ圧縮技術は、コーディングされたビデオシーケンス(コーディングされたビデオビットストリームともいう)に含まれるパラメータによって制御され、パーサ(520)からのシンボル(521)としてループフィルタユニット(556)が利用可能なインループフィルタ技術を含むことができるが、コーディングされたピクチャまたはコーディングされたビデオシーケンスの(復号順序で)前の部分の復号中に取得されたメタ情報に応答することもでき、以前に再構成され、ループフィルタリングされたサンプル値に応答することもできる。
ループフィルタユニット(556)の出力は、レンダリング装置(512)に出力できるだけでなく、将来のインターピクチャ予測で使用するために参照ピクチャメモリ(557)に格納することもできるサンプルストリームであり得る。
特定のコーディングされたピクチャは、完全に再構成されると、将来の予測のための参照ピクチャとして使用することができる。例えば、現在のピクチャに対応するコーディングされたピクチャが完全に再構成され、コーディングされたピクチャが(例えば、パーサ(520)によって)参照ピクチャとして識別されると、現在のピクチャバッファ(558)は、参照ピクチャメモリ(557)の一部になることができ、次のコーディングされたピクチャの再構成を開始する前に、新しい現在のピクチャバッファを再割り振りすることができる。
ビデオデコーダ(510)は、例えばITU-T Rec.H.265などの、規格の所定のビデオ圧縮技術に従って復号動作を実行し得る。コーディングされたビデオシーケンスは、コーディングされたビデオシーケンスがビデオ圧縮技術または規格の構文と、ビデオ圧縮技術または規格に文書化されたプロファイルの両方に忠実であるという意味において、使用されているビデオ圧縮技術または規格によって指定された構文に準拠し得る。具体的には、プロファイルは、ビデオ圧縮技術または規格で利用可能なすべてのツールの中から、そのプロファイルの下でのみ使用に供されるツールとして特定のツールを選択することができる。また、コンプライアンスに必要なのは、コーディングされたビデオシーケンスの複雑さが、ビデオ圧縮技術または規格のレベルによって定義される範囲内にあることでもあり得る。場合によっては、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えば、毎秒のメガサンプル数で測定される)、最大参照ピクチャサイズなどを制限する。レベルによって設定される制限は、場合によっては、仮想参照デコーダ(HRD)仕様およびコーディングされたビデオシーケンスでシグナリングされたHRDバッファ管理のためのメタデータによってさらに制限され得る。
一実施形態では、受信機(531)は、符号化されたビデオと共に追加の(冗長な)データを受信し得る。追加のデータは、(1つまたは複数の)コーディングされたビデオシーケンスの一部として含まれ得る。追加のデータは、ビデオデコーダ(510)によって、そのデータを適切に復号するため、および/または元のビデオデータをより正確に再構成するために使用され得る。追加のデータは、例えば、時間、空間、または信号対雑音比(SNR)増強層、冗長スライス、冗長ピクチャ、前方誤り訂正コードなどの形であり得る。
図6に、本開示の一実施形態によるビデオエンコーダ(603)のブロック図を示す。ビデオエンコーダ(603)は、電子装置(620)に含まれる。電子装置(620)は、送信機(640)(例えば、送信回路)を含む。ビデオエンコーダ(603)は、図4の例のビデオエンコーダ(403)の代わりに使用することができる。
ビデオエンコーダ(603)は、ビデオエンコーダ(603)によってコーディングされるべき(1つまたは複数の)ビデオ画像を取り込み得るビデオソース(601)(図6の例では電子装置(620)の一部ではない)からビデオサンプルを受信し得る。別の例では、ビデオソース(601)は電子装置(620)の一部である。
ビデオソース(601)は、ビデオエンコーダ(603)によってコーディングされるべきソースビデオシーケンスを、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、...)、任意の色空間(例えば、BT.601 Y CrCB、RGB、...)、および任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)のものとすることができるデジタルビデオサンプルストリームの形で提供し得る。メディアサービングシステムでは、ビデオソース(601)は、以前に準備されたビデオを格納する記憶装置であり得る。ビデオ会議システムでは、ビデオソース(601)は、ローカル画像情報をビデオシーケンスとして取り込むカメラであり得る。ビデオデータは、順を追って見たときに動きを与える複数の個別のピクチャとして提供され得る。ピクチャ自体は、画素の空間配列として編成されてもよく、各画素は、使用されるサンプリング構造、色空間などに応じて、1つまたは複数のサンプルを含むことができる。当業者であれば、画素とサンプルとの関係を容易に理解することができる。以下の説明はサンプルに焦点を当てている。
一実施形態によれば、ビデオエンコーダ(603)は、リアルタイムで、または用途によって必要とされる他の任意の時間制約の下で、ソースビデオシーケンスのピクチャをコーディングされたビデオシーケンス(643)にコーディングおよび圧縮し得る。適切なコーディング速度を強制することが、コントローラ(650)の1つの機能である。いくつかの実施形態では、コントローラ(650)は、他の機能ユニットを以下で説明するように制御し、他の機能ユニットに機能的に結合される。明確にするために、結合は図示されていない。コントローラ(650)によって設定されるパラメータには、レート制御関連のパラメータ(ピクチャスキップ、量子化器、レート歪み最適化手法のラムダ値など)、ピクチャサイズ、Group of Pictures(GOP)レイアウト、最大動きベクトル探索範囲などが含まれ得る。コントローラ(650)は、特定のシステム設計のために最適化されたビデオエンコーダ(603)に関係する他の適切な機能を有するように構成することができる。
いくつかの実施形態では、ビデオエンコーダ(603)は、コーディングループで動作するように構成される。過度に簡略化された説明として、一例では、コーディングループは、ソースコーダ(630)(例えば、コーディングされるべき入力ピクチャと、(1つまたは複数の)参照ピクチャとに基づいて、シンボルストリームなどのシンボルを作成する役割を担う)と、ビデオエンコーダ(603)に組み込まれた(ローカル)デコーダ(633)とを含むことができる。デコーダ(633)は、シンボルを再構成して、(リモート)デコーダも作成することになるのと同様の方法でサンプルデータを作成する(開示の主題で考慮されるビデオ圧縮技術では、シンボルとコーディングされたビデオビットストリームとの間の任意の圧縮が可逆であるため)。再構成サンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(634)に入力される。シンボルストリームの復号により、デコーダの位置(ローカルまたはリモート)に関係なくビットイグザクトな結果が得られるため、参照ピクチャメモリ(634)内の内容もまたローカルエンコーダとリモートエンコーダとの間でビットイグザクトになる。言い換えると、エンコーダの予測部分は、復号中に予測を使用するときにデコーダが「見る」ことになるのとまったく同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャの同期性(および、例えばチャネル誤差が原因で同期性を維持することができない場合には、結果として生じるドリフト)のこの基本原理は、いくつかの関連技術においても使用される。
「ローカル」デコーダ(633)の動作は、図5に関連して上記で詳細に説明した、ビデオデコーダ(510)などの「リモート」デコーダの動作と同じであり得る。図5も簡単に参照すると、しかしながら、シンボルが利用可能であり、エントロピーコーダ(645)およびパーサ(520)によるコーディングされたビデオシーケンスへのシンボルの符号化/復号が可逆であり得るため、バッファメモリ(515)およびパーサ(520)を含むビデオデコーダ(510)のエントロピー復号部分は、ローカルデコーダ(633)においては完全に実装されない場合がある。
この時点で言えることは、デコーダ内に存在するパース/エントロピー復号を除く任意のデコーダ技術もまた必然的に、対応するエンコーダにおいて、実質的に同一の機能形態で存在する必要があるということである。このため、開示の主題は、デコーダ動作に焦点を合わせている。エンコーダ技術の説明は、包括的に説明されているデコーダ技術の逆であるので、省略することができる。特定のエリアにおいてのみ、より詳細な説明が必要であり、以下に示す。
動作中、いくつかの例では、ソースコーダ(630)は、「参照ピクチャ」として指定されたビデオシーケンスからの1つまたは複数の以前にコーディングされたピクチャを参照して入力ピクチャを予測的にコーディングする、動き補償予測コーディングを実行する場合がある。このようにして、コーディングエンジン(632)は、入力ピクチャの画素ブロックと、入力ピクチャへの(1つまたは複数の)予測参照として選択され得る(1つまたは複数の)参照ピクチャの画素ブロックとの間の差分をコーディングする。
ローカルビデオデコーダ(633)は、ソースコーダ(630)によって作成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャのコーディングされたビデオデータを復号し得る。コーディングエンジン(632)の動作は、有利には、非可逆プロセスであり得る。コーディングされたビデオデータがビデオデコーダ(図6には示されていない)で復号され得る場合、再構成されたビデオシーケンスは、通常、多少の誤差を伴うソースビデオシーケンスの複製であり得る。ローカルビデオデコーダ(633)は、参照ピクチャに対してビデオデコーダによって実行され得る復号プロセスを複製し、再構成された参照ピクチャを参照ピクチャキャッシュ(634)に格納させ得る。このようにして、ビデオエンコーダ(603)は、遠端ビデオデコーダによって取得される再構成された参照ピクチャと共通の内容を有する再構成された参照ピクチャのコピーをローカルに格納し得る(伝送誤差なしで)。
予測器(635)は、コーディングエンジン(632)のための予測探索を実行し得る。すなわち、コーディングされるべき新しいピクチャについて、予測器(635)は、(候補参照画素ブロックとしての)サンプルデータまたは新しいピクチャの適切な予測参照として役立ち得る参照ピクチャ動きベクトル、ブロック形状などの特定のメタデータを求めて、参照ピクチャメモリ(634)を探索し得る。予測器(635)は、適切な予測参照を見つけるために、サンプルブロックごと画素ブロックごと動作し得る。場合によっては、予測器(635)によって取得された探索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(634)に格納された複数の参照ピクチャから引き出された予測参照を有し得る。
コントローラ(650)は、例えば、ビデオデータを符号化するために使用されるパラメータおよびサブグループパラメータの設定を含む、ソースコーダ(630)のコーディング動作を管理し得る。
前述のすべての機能ユニットの出力は、エントロピーコーダ(645)でエントロピーコーディングされ得る。エントロピーコーダ(645)は、ハフマンコーディング、可変長コーディング、算術コーディングなどといった技術に従ってシンボルを可逆圧縮することにより、様々な機能ユニットによって生成されたシンボルをコーディングされたビデオシーケンスに変換する。
送信機(640)は、エントロピーコーダ(645)によって作成された(1つまたは複数の)コーディングされたビデオシーケンスを、符号化されたビデオデータを格納することになる記憶装置へのハードウェア/ソフトウェアリンクであり得る、通信チャネル(660)を介した送信に備えてバッファし得る。送信機(640)は、ビデオコーダ(603)からのコーディングされたビデオデータを、送信されるべき他のデータ、例えば、コーディングされたオーディオデータおよび/または補助データストリーム(ソースは図示せず)とマージし得る。
コントローラ(650)は、ビデオエンコーダ(603)の動作を管理し得る。コーディング中に、コントローラ(650)は、コーディングされた各ピクチャに特定のコーディングされたピクチャタイプを割り当ててもよく、ピクチャタイプは、それぞれのピクチャに適用され得るコーディング技術に影響を及ぼし得る。例えば、ピクチャは多くの場合、以下のピクチャタイプのうちの1つとして割り当てられ得る。
イントラピクチャ(Iピクチャ)は、シーケンス内の任意の他のピクチャを予測ソースとして使用せずに、コーディングおよび復号され得るピクチャであり得る。一部のビデオコーデックは、例えば、独立したデコーダリフレッシュ(「IDR」)ピクチャを含む異なるタイプのイントラピクチャを可能にする。当業者であれば、Iピクチャのそれらの変形ならびにそれらそれぞれの用途および特徴を認識している。
予測ピクチャ(Pピクチャ)は、最大で1つの動きベクトルおよび参照インデックスを使用して各ブロックのサンプル値を予測するイントラ予測またはインター予測を使用してコーディングおよび復号され得るピクチャであり得る。
双方向予測ピクチャ(Bピクチャ)は、最大で2つの動きベクトルおよび参照インデックスを使用して各ブロックのサンプル値を予測するイントラ予測またはインター予測を使用してコーディングおよび復号され得るピクチャであり得る。同様に、複数予測ピクチャは、単一のブロックの再構成のために3つ以上の参照ピクチャおよび関連するメタデータを使用することができる。
ソースピクチャは、一般に、複数のサンプルブロック(例えば、各々4×4、8×8、4×8、または16×16サンプルのブロック)に空間的に細分され、ブロックごとにコーディングされ得る。ブロックは、ブロックそれぞれのピクチャに適用されたコーディング割り当てによって決定されるように他の(すでにコーディングされた)ブロックを参照して予測的にコーディングされ得る。例えば、Iピクチャのブロックは、非予測的にコーディングされ得るか、または、同じピクチャのすでにコーディングされたブロックを参照して、予測的にコーディングされ得る(空間予測またはイントラ予測)。Pピクチャの画素ブロックは、1つの以前にコーディングされた参照ピクチャを参照して、空間予測によって、または時間予測によって予測的にコーディングされ得る。Bピクチャのブロックは、1つまたは2つの以前にコーディングされた参照ピクチャを参照して、空間予測によって、または時間予測を介して予測的にコーディングされ得る。
ビデオエンコーダ(603)は、ITU-T Rec.H.265などの所定のビデオコーディング技術または規格に従ってコーディング動作を実行し得る。その動作において、ビデオエンコーダ(603)は、入力ビデオシーケンスにおける時間的冗長性および空間的冗長性を利用する予測コーディング動作を含む、様々な圧縮動作を実行し得る。したがって、コーディングされたビデオデータは、使用されているビデオコーディング技術または規格によって指定された構文に準拠し得る。
一実施形態では、送信機(640)は、符号化されたビデオと共に追加のデータを送信し得る。ソースコーダ(630)は、そのようなデータをコーディングされたビデオシーケンスの一部として含めてもよい。追加のデータは、時間/空間/SNR増強層、冗長なピクチャやスライスなどの他の形の冗長データ、SEIメッセージ、VUIパラメータセットフラグメントなどを含み得る。
ビデオは、複数のソースピクチャ(ビデオピクチャ)として時系列で取り込まれ得る。イントラピクチャ予測(しばしばイントラ予測と略される)は、所与のピクチャにおける空間相関を利用し、インターピクチャ予測は、ピクチャ間の(時間またはその他の)相関を利用する。一例では、現在のピクチャと呼ばれる、符号化/復号中の特定のピクチャがブロックに分割される。現在のピクチャ内のブロックがビデオ内の以前にコーディングされたまだバッファされている参照ピクチャ内の参照ブロックに類似している場合、現在のピクチャ内のブロックを、動きベクトルと呼ばれるベクトルによってコーディングすることができる。動きベクトルは、参照ピクチャ内の参照ブロックを指し示し、複数の参照ピクチャが使用されている場合には、参照ピクチャを識別する第3の次元を有することができる。
いくつかの実施形態では、インターピクチャ予測において双予測技術を使用することができる。双予測技術によれば、両方とも復号順序でビデオ内の現在のピクチャより前にある(ただし、表示順序では、それぞれ過去と未来とにあり得る)第1の参照ピクチャおよび第2の参照ピクチャなどの2つの参照ピクチャが使用される。現在のピクチャ内のブロックは、第1の参照ピクチャ内の第1の参照ブロックを指し示す第1の動きベクトルと、第2の参照ピクチャ内の第2の参照ブロックを指し示す第2の動きベクトルとによってコーディングすることができる。ブロックは、第1の参照ブロックと第2の参照ブロックの組み合わせによって予測することができる。
さらに、インターピクチャ予測において、コーディング効率を改善するために、マージモード技術を使用することができる。
本開示のいくつかの実施形態によれば、インターピクチャ予測およびイントラピクチャ予測などの予測は、ブロック単位で実行される。例えば、HEVC規格によれば、ビデオピクチャのシーケンス内のピクチャは、圧縮のためにコーディングツリーユニット(CTU)に分割され、ピクチャ内のCTUは、64×64画素、32×32画素、または16×16画素などの同じサイズを有する。一般に、CTUは、3つのコーディングツリーブロック(CTB)を含み、これらは1つのルマCTBおよび2つのクロマ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画素などといった画素の値(例えば、ルマ値)の行列を含む。
図7に、本開示の別の実施形態によるビデオエンコーダ(703)の図を示す。ビデオエンコーダ(703)は、ビデオピクチャのシーケンスにおける現在のビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受け取り、処理ブロックを、コーディングされたビデオシーケンスの一部であるコーディングされたピクチャに符号化するように構成される。一例では、ビデオエンコーダ(703)は、図4の例のビデオエンコーダ(403)の代わりに使用される。
HEVCの例では、ビデオエンコーダ(703)は、8×8サンプルの予測ブロックなどの処理ブロックのサンプル値の行列を受け取る。ビデオエンコーダ(703)は、例えばレート歪み最適化を使用して、処理ブロックがそれを使用して最良にコーディングされるのは、イントラモードか、インターモードか、それとも双予測モードかを決定する。処理ブロックがイントラモードでコーディングされる場合、ビデオエンコーダ(703)は、イントラ予測技術を使用して処理ブロックをコーディングされたピクチャに符号化し、処理ブロックがインターモードまたは双予測モードでコーディングされる場合、ビデオエンコーダ(703)は、それぞれインター予測技術または双予測技術を使用して、処理ブロックをコーディングされたピクチャに符号化し得る。特定のビデオコーディング技術では、マージモードは、動きベクトルが予測子の外側のコーディングされた動きベクトル成分の恩恵を受けずに1つまたは複数の動きベクトル予測子から導出されるインターピクチャ予測サブモードであり得る。特定の他のビデオコーディング技術では、対象ブロックに適用可能な動きベクトル成分が存在し得る。一例では、ビデオエンコーダ(703)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)などの他の構成要素を含む。
図7の例では、ビデオエンコーダ(703)は、図7に示すように互いに結合されたインターエンコーダ(730)、イントラエンコーダ(722)、残差計算器(723)、スイッチ(726)、残差エンコーダ(724)、汎用コントローラ(721)、およびエントロピーエンコーダ(725)を含む。
インターエンコーダ(730)は、現在のブロック(例えば、処理ブロック)のサンプルを受け取り、そのブロックを参照ピクチャ内の1つまたは複数の参照ブロック(例えば、前のピクチャおよび後のピクチャ内のブロック)と比較し、インター予測情報(例えば、インター符号化技術による冗長情報、動きベクトル、マージモード情報の記述)を生成し、任意の適切な技術を使用してインター予測情報に基づいてインター予測結果(例えば、予測されたブロック)を計算するように構成される。いくつかの例では、参照ピクチャは、符号化されたビデオ情報に基づいて復号された、復号された参照ピクチャである。
イントラエンコーダ(722)は、現在のブロック(例えば、処理ブロック)のサンプルを受け取り、場合によっては、ブロックを同じピクチャ内のすでにコーディングされたブロックと比較し、変換後の量子化係数を生成し、場合によってはイントラ予測情報(例えば、1つまたは複数のイントラ符号化技術によるイントラ予測方向情報)も生成するように構成される。一例では、イントラエンコーダ(722)は、イントラ予測情報と、同じピクチャ内の参照ブロックとに基づいて、イントラ予測結果(例えば、予測されたブロック)も計算する。
汎用コントローラ(721)は、汎用制御データを決定し、汎用制御データに基づいてビデオエンコーダ(703)の他の構成要素を制御するように構成される。一例では、汎用コントローラ(721)は、ブロックのモードを決定し、モードに基づいてスイッチ(726)に制御信号を提供する。例えば、モードがイントラモードである場合、汎用コントローラ(721)は、スイッチ(726)を制御して、残差計算器(723)が使用するためのイントラモード結果を選択させ、エントロピーエンコーダ(725)を制御して、イントラ予測情報を選択させてそのイントラ予測情報をビットストリームに含めさせ、モードがインターモードである場合、汎用コントローラ(721)は、スイッチ(726)を制御して、残差計算器(723)が使用するためのインター予測結果を選択させ、エントロピーエンコーダ(725)を制御して、インター予測情報を選択させてそのインター予測情報をビットストリームに含めさせる。
残差計算器(723)は、受け取ったブロックと、イントラエンコーダ(722)またはインターエンコーダ(730)から選択された予測結果との差分(残差データ)を計算するように構成される。残差エンコーダ(724)は、残差データに基づいて動作して、残差データを符号化して変換係数を生成するように構成される。一例では、残差エンコーダ(724)は、残差データを空間領域から周波数領域に変換し、変換係数を生成するように構成される。変換係数は次いで、量子化変換係数を得るために量子化処理を受ける。様々な実施形態において、ビデオエンコーダ(703)はまた、残差デコーダ(728)も含む。残差デコーダ(728)は、逆変換を実行し、復号された残差データを生成するように構成される。復号された残差データは、イントラエンコーダ(722)およびインターエンコーダ(730)によって適切に使用することができる。例えば、インターエンコーダ(730)は、復号された残差データとインター予測情報とに基づいて復号されたブロックを生成することができ、イントラエンコーダ(722)は、復号された残差データとイントラ予測情報とに基づいて復号されたブロックを生成することができる。復号されたブロックは、復号されたピクチャを生成するために適切に処理され、復号されたピクチャは、いくつかの例では、メモリ回路(図示せず)にバッファし、参照ピクチャとして使用することができる。
エントロピーエンコーダ(725)は、符号化されたブロックを含むようビットストリームをフォーマットするように構成される。エントロピーエンコーダ(725)は、HEVC規格などの適切な規格に従って様々な情報を含めるように構成される。一例では、エントロピーエンコーダ(725)は、汎用制御データ、選択された予測情報(例えば、イントラ予測情報やインター予測情報)、残差情報、および他の適切な情報をビットストリームに含めるように構成される。開示の主題によれば、インターモードまたは双予測モードのどちらかのマージサブモードでブロックをコーディングするとき、残差情報は存在しないことに留意されたい。
図8に、本開示の別の実施形態によるビデオデコーダ(810)の図を示す。ビデオデコーダ(810)は、コーディングされたビデオシーケンスの一部であるコーディングされたピクチャを受け取り、コーディングされたピクチャを復号して再構成されたピクチャを生成するように構成される。一例では、ビデオデコーダ(810)は、図4の例のビデオデコーダ(410)の代わりに使用される。
図8の例では、ビデオデコーダ(810)は、図8に示すように互いに結合されたエントロピーデコーダ(871)、インターデコーダ(880)、残差デコーダ(873)、再構成モジュール(874)、およびイントラデコーダ(872)を含む。
エントロピーデコーダ(871)は、コーディングされたピクチャから、コーディングされたピクチャを構成する構文要素を表す特定のシンボルを再構成するように構成することができる。そのようなシンボルは、例えば、ブロックがコーディングされているモード(例えば、イントラモード、インターモード、双予測モード、後の2つは、マージサブモードまたは別のサブモードで)、イントラデコーダ(872)またはインターデコーダ(880)によってそれぞれ予測に使用される特定のサンプルまたはメタデータを識別することができる予測情報(例えば、イントラ予測情報やインター予測情報など)、例えば量子化変換係数の形の残差情報などを含むことができる。一例では、予測モードがインターモードまたは双予測モードである場合、インター予測情報がインターデコーダ(880)に提供され、予測タイプがイントラ予測タイプである場合、イントラ予測情報がイントラデコーダ(872)に提供される。残差情報は逆量子化を受けることができ、残差デコーダ(873)に提供される。
インターデコーダ(880)は、インター予測情報を受け取り、インター予測情報に基づいてインター予測結果を生成するように構成される。
イントラデコーダ(872)は、イントラ予測情報を受け取り、イントラ予測情報に基づいて予測結果を生成するように構成される。
残差デコーダ(873)は、逆量子化を実行して逆量子化変換係数を抽出し、逆量子化変換係数を処理して残差を周波数領域から空間領域に変換するように構成される。残差デコーダ(873)はまた、(量子化パラメータ(QP)を含めるために)特定の制御情報を必要とする場合もあり、その情報はエントロピーデコーダ(871)によって提供され得る(これは少量の制御情報のみであり得るためデータパスは図示しない)。
再構成モジュール(874)は、空間領域において、残差デコーダ(873)による出力としての残差と、(場合によって、インター予測モジュールまたはイントラ予測モジュールによる出力としての)予測結果とを組み合わせて、再構成されたピクチャの一部であり得る再構成されたブロックを形成するように構成され、再構成されたブロックは再構成されたビデオの一部であり得る。視覚品質を改善するために、非ブロック化動作などの他の適切な動作を実行することができることに留意されたい。
ビデオエンコーダ(403)、(603)、および(703)、ならびにビデオデコーダ(410)、(510)、および(810)は、任意の適切な技術を使用して実装することができることに留意されたい。一実施形態では、ビデオエンコーダ(403)、(603)、および(703)、ならびにビデオデコーダ(410)、(510)、および(810)を、1つまたは複数の集積回路を使用して実装することができる。別の実施形態では、ビデオエンコーダ(403)、(603)、および(603)、ならびにビデオデコーダ(410)、(510)、および(810)を、ソフトウェア命令を実行する1つまたは複数のプロセッサを使用して実装することができる。
二次変換インデックスなどのインデックスのエントロピーコーディングのためのコンテキスト設計に関連するビデオコーディング技術が開示される。インデックスは、ブロックをコーディング(例えば、符号化および/または復号)するために使用される分離不可能な二次変換のセットのうちの1つを識別するために使用することができる。インデックスのエントロピーコーディングのためのコンテキスト設計は、任意の適切なビデオコーディングフォーマットまたは規格に適用可能であり得る。ビデオコーディングフォーマットは、AOMedia Video 1(AV1)やAV1を超える次世代AOMedia Videoフォーマットなどの、インターネット上のビデオ伝送用に設計されたオープンビデオコーディングフォーマットを含むことができる。ビデオコーディング規格は、高効率ビデオコーディング(HEVC)規格、HEVCを超える次世代ビデオコーディング(例えば、多用途ビデオコーディング(VVC))などを含むことができる。
イントラ予測において、例えばAV1、VVCなどにおいて、様々なイントラ予測モードを使用することができる。AV1などのような実施形態では、方向性イントラ予測が使用される。方向性イントラ予測では、ブロックの予測サンプルを、ある方向に沿って隣接する再構成されたサンプルから外挿することによって生成することができる。方向は角度に対応する。ブロックの予測サンプルを予測するために方向性イントラ予測で使用されるモードを、方向性モード(方向性予測モード、方向性イントラモード、方向性イントラ予測モード、角度モードともいう)と呼ぶことができる。各方向性モードは、異なる角度または異なる方向に対応し得る。オープンビデオコーディングフォーマットVP9などのような例では、図9に示すように、45°から207°までの8つの角度に対応する8つの方向性モード。8つの方向性モードを、公称モード(例えば、V_PRED、H_PRED、D45_PRED、D135_PRED、D113_PRED、D157_PRED、D203_PRED、およびD67_PRED)と呼ぶこともできる。方向性テクスチャにおけるより多様な空間的冗長性を活用するために、例えばAV1では、方向性モードを、図9に示すように、例えば8つの公称モードを超えて、より細かい粒度およびより多くの角度(または方向)を有する角度セットに拡張することができる。
図9に、本開示の一実施形態によるコーディングブロック(CB)(910)の公称モードの一例を示す。特定の角度(公称角度と呼ばれる)が公称モードに対応し得る。一例では、8つの公称角度(または公称イントラ角度)(901)~(908)は、それぞれ、8つの公称モード(例えば、V_PRED、H_PRED、D45_PRED、D135_PRED、D113_PRED、D157_PRED、D203_PRED、およびD67_PRED)に対応する。8つの公称角度(901)~(908)ならびに8つの公称モードを、それぞれ、V_PRED、H_PRED、D45_PRED、D135_PRED、D113_PRED、D157_PRED、D203_PRED、およびD67_PREDと呼ぶことができる。公称モードインデックスは、公称モード(例えば、8つの公称モードのうちの1つ)を示すことができる。一例では、公称モードインデックスはシグナリングされる。
さらに、各公称角度は、複数のより細かい角度(例えば、7つのより細かい角度)に対応することができ、よって、例えば、AV1では、56個の角度(もしくは予測角度)または56個の方向性モード(もしくは角度モード、方向性イントラ予測モード)を使用することができる。各予測角度は、公称角度および角度オフセット(または角度デルタ)によって提示することができる。角度オフセットは、オフセット整数I(例えば、-3、-2、-1、0、1、2、または3)にステップサイズ(例えば、3°)を乗算することによって得ることができる。一例では、予測角度は、公称角度と角度オフセットとの和に等しい。AV1などのような例では、公称モード(例えば、8つの公称モード(901)~(908))を、特定の非角度平滑モード(例えば、以下に記載されるようなDCモード、PAETHモード、SMOOTHモード、垂直SMOOTHモード、および水平SMOOTHモードなどの5つの非角度平滑モード)と一緒にシグナリングすることができる。その後、現在の予測モードが方向性モード(または角度モード)である場合、公称角度に対応する角度オフセット(例えば、オフセット整数I)を示すためにインデックスをさらにシグナリングすることができる。一例では、方向性モード(例えば、56個の方向性モードのうちの1つ)を、公称モードインデックス、および公称モードからの角度オフセットを示すインデックスに基づいて決定することができる。一例では、一般的な方法によって方向性予測モードを実装するために、AV1で使用されるような56個の方向性モードは、各画素を参照サブ画素位置に投影し、2タップバイリニアフィルタによって参照画素を補間することができる統一された方向予測子を用いて実装される。
CBなどのブロックのイントラ予測では、非方向性平滑イントラ予測子(非方向性平滑イントラ予測モード、非方向性平滑モード、非角度平滑モードともいう)を使用することができる。いくつかの例では(例えば、AV1では)、5つの非方向性平滑イントラ予測モードは、DCモードまたはDC予測子(例えば、DC)、PAETHモードまたはPAETH予測子(例えば、PAETH)、SMOOTHモードまたはSMOOTH予測子(例えば、SMOOTH)、垂直SMOOTHモード(SMOOTH_Vモード、SMOOTH_V予測子、SMOOTH_Vと呼ばれる)、および水平SMOOTHモード(SMOOTH_Hモード、SMOOTH_H予測子、またはSMOOTH_Hと呼ばれる)を含む。
図10に、本開示の態様による、非方向性平滑イントラ予測モード(例えば、DCモード、PAETHモード、SMOOTHモード、SMOOTH_Vモード、およびSMOOTH_Hモード)の例を示す。DC予測子に基づいてCB(1000)内のサンプル(1001)を予測するために、左隣接サンプル(1012)の第1の値と上方隣接サンプル(または上隣接サンプル)(1011)の第2の値との平均値を予測子として使用することができる。
PAETH予測子に基づいてサンプル(1001)を予測するために、左隣接サンプル(1012)の第1の値、上隣接サンプル(1011)の第2の値、および左上隣接サンプル(1013)の第3の値を取得することができる。次いで、式1を使用して基準値が求められる。
基準値=第1の値+第2の値-第3の値 (式1)
基準値に最も近い、第1の値、第2の値、および第3の値のうちの1つを、サンプル(1001)の予測子として設定することができる。
SMOOTH_Vモード、SMOOTH_Hモード、およびSMOOTHモードは、それぞれ、垂直方向、水平方向、および垂直方向と水平方向の平均値の二次補間を使用してCB(1000)を予測することができる。SMOOTH予測子に基づいてサンプル(1001)を予測するために、第1の値、第2の値、右サンプル(1014)の値、および下サンプル(1016)の値の平均値(例えば、重み付き組み合わせ)を使用することができる。様々な例において、右サンプル(1014)および下サンプル(1016)は再構成されず、よって、右サンプル(1014)の値および下サンプル(1016)の値を、それぞれ、右上隣接サンプル(1015)の値および左下隣接サンプル(1017)の値で置き換えることができる。したがって、第1の値、第2の値、右上隣接サンプル(1015)の値、および左下隣接サンプル(1017)の値の平均値(例えば、重み付き組み合わせ)を、SMOOTH予測子として使用することができる。SMOOTH_V予測子に基づいてサンプル(1001)を予測するために、上隣接サンプル(1011)の第2の値と左下隣接サンプル(1017)の値との平均値(例えば、重み付き組み合わせ)を使用することができる。SMOOTH_H予測子に基づいてサンプル(1001)を予測するために、左隣接サンプル(1012)の第1の値と右上隣接サンプル(1015)の値との平均値(例えば、重み付き組み合わせ)を使用することができる。
図11に、本開示の一実施形態による再帰的フィルタリングベースのイントラ予測子(フィルタイントラモード、または再帰的フィルタリングモードともいう)の一例を示す。エッジ上の参照との減衰する空間相関を取り込むために、CB(1100)などのブロックにフィルタイントラモードを使用することができる。一例では、CB(1100)はルマブロックである。ルマブロック(1100)は、複数のパッチ(例えば、8つの4×2パッチB0~B7)に分割することができる。各パッチB0~B7は、複数の隣接サンプルを有することができる。例えば、パッチB0は、4つの上隣接サンプルR01~R04、2つの左隣接サンプルR05~R06、および左上隣接サンプルR00を含む7つの隣接サンプル(または7つの隣接部分)R00~R06を有する。同様に、パッチB7も、4つの上隣接サンプルR71~R74、2つの左隣接サンプルR75~R76、および左上隣接サンプルR70を含む7つの隣接サンプルR70~R76を有する。
いくつかの例では、複数の(例えば、5つの)フィルタイントラモード(または複数の再帰的フィルタリングモード)が、例えばAV1用に予め設計される。各フィルタイントラモードは、対応する4×2パッチ(例えば、B0)内のサンプル(または画素)と4×2パッチB0に隣接する7つの隣接部分(例えば、R00~R06)との間の相関を反映する8つの7タップフィルタのセットによって表すことができる。7タップフィルタの重み係数は、位置に依存し得る。パッチB0~B7の各々について、7つの隣接部分(例えば、B0ではR00~R06、B7ではR70~R76)を使用して、対応するパッチ内のサンプルを予測することができる。一例では、隣接部分R00~R06は、パッチB0内のサンプルを予測するために使用される。一例では、隣接部分R70~R76は、パッチB7内のサンプルを予測するために使用される。パッチB0などのCB(1100)内の特定のパッチでは、7つの隣接部分(例えば、R00~R06)すべてがすでに再構成されている。CB(1100)内の他のパッチの場合、7つの隣接部分のうちの少なくとも1つは再構成されず、よって、(1つもしくは複数の)直接隣接部分の(1つもしくは複数の)予測値(または(1つもしくは複数の)直接隣接部分の(1つもしくは複数の)予測サンプル)を(1つもしくは複数の)参照として使用することができる。例えば、パッチB7の7つの隣接部分R70~R76は再構成されず、そのため直接隣接部分の予測サンプルを使用することができる。
クロマサンプルは、ルマサンプルから予測することができる。一実施形態では、ルマからクロマのモード(例えば、CfLモード、CfL予測子)は、クロマサンプル(または画素)を、一致する再構成されたルマサンプル(または画素)の線形関数としてモデル化することができるクロマのみのイントラ予測子である。例えば、CfL予測は、以下のように式2を使用して表すことができる。
CfL(α)=αLA+D (式2)
式中、LAは、ルマ成分のAC寄与を表し、αは、線形モデルのスケーリングパラメータを表し、Dは、クロマ成分のDC寄与を表す。一例では、再構成されたルマ画素がクロマ解像度に基づいてサブサンプリングされ、AC寄与(例えば、LA)を形成するために平均値が減算される。AC寄与からクロマAC成分を近似するために、スケーリングパラメータαを計算するデコーダを必要とする代わりに、AV1などのようないくつかの例では、CfLモードは、元のクロマ画素に基づいてスケーリングパラメータαを決定し、スケーリングパラメータαをビットストリームでシグナリングし、よってデコーダの複雑さを低減し、より正確な予測をもたらす。クロマ成分のDC寄与は、イントラDCモードを使用して計算することができる。イントラDCモードは、ほとんどのクロマコンテンツに十分であり、成熟した高速実装を有することができる。
マルチラインイントラ予測は、イントラ予測により多くの基準線を使用することができる。基準線は、ピクチャ内の複数のサンプルを含むことができる。一例では、基準線は、行のサンプルおよび列のサンプルを含む。一例では、エンコーダは、イントラ予測子を生成するために使用される基準線を決定し、シグナリングすることができる。基準線を示すインデックス(基準線インデックスともいう)は、(1つまたは複数の)イントラ予測モードの前にシグナリングすることができる。一例では、非ゼロの基準線インデックスがシグナリングされるときにMPMのみが許容される。図12に、CB(1210)の4本の基準線の一例を示す。図12を参照すると、基準線は、最大6つのセグメント、例えばセグメントAからセグメントF、および左上基準サンプルを含むことができる。例えば、基準線0は、セグメントBおよびセグメントEと、左上基準サンプルとを含む。例えば、基準線3は、セグメントAからセグメントFと、左上基準サンプルとを含む。セグメントAおよびセグメントFは、それぞれ、セグメントBおよびセグメントEからの最も近いサンプルでパディングすることができる。HEVCなどのようないくつかの例では、1本の基準線(例えばCB(1210)に隣接する基準線0)のみがイントラ予測に使用される。VVCなどのようないくつかの例では、複数の基準線(例えば、基準線0、基準線1、および基準線3)がイントラ予測に使用される。
一般に、ブロックは、図9~図12を参照して上述したような様々なイントラ予測モードのうちの1つまたはそれらの適切な組み合わせを使用して予測することができる。
ブロックを複数のTUまたは複数のTBに分割するために変換ブロック分割(変換分割、変換ユニット分割ともいう)を実装することができる。図13~図14に、本開示の実施形態による例示的な変換ブロック分割を示す。AV1などのようないくつかの例では、イントラコーディングされたブロックとインターコーディングされたブロックの両方を、複数のレベル(例えば、2つのレベル)までの分割深度を有する複数の変換ユニットにさらに分割することができる。変換ブロック分割から得られる複数の変換ユニットを、TBと呼ぶことができる。複数のTUまたは複数のTBの各々に対して変換(例えば、以下で説明するような一次変換および/または二次変換)を実行することができる。したがって、複数の変換ユニットまたは複数のTBに分割されるブロックに対して複数の変換を実行することができる。
イントラコーディングされたブロックの場合、変換分割を、イントラコーディングされたブロックと関連付けられた変換ブロックが同じサイズを有するように実行することができ、変換ブロックを、ラスタ走査順序でコーディングすることができる。図13を参照すると、ブロック(例えば、イントラコーディングされたブロック)(1300)に対して変換ブロック分割を実行することができる。ブロック(1300)は、4つの変換ユニット(例えば、TB)(1301)~(1304)などの変換ユニットに分割することができ、分割深度は1である。4つの変換ユニット(例えば、TB)(1301)~(1304)は、同じサイズを有することができ、変換ユニット(1301)から変換ユニット(1304)までラスタ走査順序(1310)でコーディングすることができる。一例では、4つの変換ユニット(例えば、TB)(1301)~(1304)は、例えば異なる変換カーネルを使用して別々に変換される。いくつかの例では、4つの変換ユニット(例えば、TB)(1301)~(1304)の各々は、4つの変換ユニットにさらに分割される。例えば、変換ユニット(1301)は、変換ユニット(1321)、(1322)、(1325)、(1326)に分割され、変換ユニット(1302)は、変換ユニット(1323)、(1324)、(1327)、(1328)に分割され、変換ユニット(1303)は、変換ユニット(1329)、(1330)、(1333)、(1334)に分割され、変換ユニット(1304)は、変換ユニット(1331)、(1332)、(1335)、(1336)に分割される。分割深度は2である。変換ユニット(例えば、TB)(1321)~(1336)は、同じサイズを有することができ、変換ユニット(1321)から変換ユニット(1336)までラスタ走査順序(1320)でコーディングすることができる。
インターコーディングされたブロックの場合、変換分割を、複数のレベル(例えば、2つのレベル)までの分割深度で再帰的に実行することができる。変換分割は、任意の適切な変換ユニットサイズおよび変換ユニット形状をサポートすることができる。変換ユニット形状は、正方形形状および任意の適切なアスペクト比を有する非正方形形状(例えば、非正方長方形形状)を含むことができる。変換ユニットサイズは、4×4から64×64の範囲とすることができる。変換ユニットのアスペクト比(例えば、変換ユニットの高さに対する変換ユニットの幅の比)は、1:1(正方形)、1:2、2:1、1:4、4:1などとすることができる。変換分割は、4×4から64×64の範囲の1:1(正方形)、1:2、2:1、1:4、および/または4:1の変換ユニットサイズをサポートすることができる。図14を参照すると、ブロック(例えば、インターコーディングされたブロック)(1400)に対して変換ブロック分割を再帰的に実行することができる。例えば、ブロック(1400)は、変換ユニット(1401)~変換ユニット(1407)に分割される。変換ユニット(例えば、TB)(1401)~(1407)は、異なるサイズを有することができ、変換ユニット(1401)から変換ユニット(1407)までラスタ走査順序(1410)でコーディングすることができる。一例では、変換ユニット(1401)、変換ユニット(1406)、および変換ユニット(1407)の分割深度は1であり、変換ユニット(1402)~変換ユニット(1405)の分割深度は2である。
一例では、コーディングブロックが64×64以下である場合、変換分割はルマ成分にのみ適用することができる。一例では、コーディングブロックはCTBを指す。
コーディングブロック幅Wまたはコーディングブロック高さHが64より大きい場合、コーディングブロックを暗黙的に複数のTBに分割することができ、コーディングブロックはルマコーディングブロックである。複数のTBのうちの1つの幅は、最小Wおよび64とすることができ、複数のTBのうちの1つの高さは、最小Hおよび64とすることができる。
コーディングブロック幅Wまたはコーディングブロック高さHが64より大きい場合、コーディングブロックを暗黙的に複数のTBに分割することができ、コーディングブロックはクロマコーディングブロックである。複数のTBのうちの1つの幅は、最小Wおよび32とすることができ、複数のTBのうちの1つの高さは、最小Hおよび32とすることができる。
AOMedia Video 1(AV1)で使用されるような一次変換の実施形態を以下で説明する。残差(例えば、空間領域の残差)を含む変換ブロック(TB)に対して(例えば、エンコーダで)順変換を実行して、周波数領域(または空間周波数領域)の変換係数を含むTBを取得することができる。空間領域の残差を含むTBを残差TBと呼ぶことができ、周波数領域の変換係数を含むTBを係数TBと呼ぶことができる。一例では、順変換は、残差TBを係数TBに変換することができる順一次変換を含む。一例では、順変換は、順一次変換および順二次変換を含み、順一次変換は残差TBを中間係数TBに変換することができ、順二次変換は中間係数TBを係数TBに変換することができる。
空間領域の残差TBを取得するために、周波数領域の係数TBに対して(例えば、エンコーダまたはデコーダで)逆変換を実行することができる。一例では、逆変換は、係数TBを残差TBに変換することができる逆一次変換を含む。一例では、逆変換は、逆一次変換および逆二次変換を含み、逆二次変換は係数TBを中間係数TBに変換することができ、逆一次変換は中間係数TBを残差TBに変換することができる。
一般に、一次変換は、残差TBと係数TBとの間で一次変換が実行される順一次変換または逆一次変換を指すことができる。いくつかの実施形態では、一次変換は、2D一次変換が水平一次変換(水平変換ともいう)および垂直一次変換(垂直変換ともいう)を含むことができる分離可能な変換とすることができる。二次変換は、中間係数TBと係数TBとの間で二次変換が実行される順二次変換または逆二次変換を指すことができる。
本開示に記載されているような拡張されたコーディングブロック分割をサポートするために、AV1でそうであるように、複数の変換サイズ(例えば、寸法ごとに4ポイントから64ポイントの範囲に及ぶ)および変換形状(例えば、正方形、幅対高さの比が2:1、1:2、4:1、または1:4の長方形形状)を使用することができる。
2D変換プロセスは、コーディングされた残差ブロックの寸法ごとに異なる1D変換を含むことができるハイブリッド変換カーネルを使用することができる。一次1D変換は、(a)4ポイント、8ポイント、16ポイント、32ポイント、64ポイントのDCT-2、(b)4ポイント、8ポイント、16ポイントの非対称DST(ADST)(例えば、DST-4、DST-7)および対応する反転バージョン(例えば、ADSTの反転バージョンもしくはFlipADSTは、ADSTを逆の順序で適用することができる)、ならびに/または(c)4ポイント、8ポイント、16ポイント、32ポイントの恒等変換(IDTX)を含むことができる。図15に、本開示の実施形態による一次変換基底関数の例を示す。図15の例における一次変換基底関数は、DCT-2、およびNポイント入力を有する非対称DST(DST-4およびDST-7)のための基底関数を含む。図15に示される一次変換基底関数を、AV1において使用することができる。
ハイブリッド変換カーネルの可用性は、変換ブロックサイズおよび予測モードに依存し得る。図16Aに、変換ブロックサイズ(例えば、第3列に示されるサイズ)および予測モード(例えば、第3列に示されるイントラ予測およびインター予測)に基づく様々な変換カーネル(例えば、第1列に示され、第2列で説明されている変換タイプ)の可用性の例示的な依存関係を示す。これらの例示的なハイブリッド変換カーネル、ならびに予測モードおよび変換ブロックサイズに基づく可用性を、AV1において使用することができる。図16Aを参照すると、記号「→」および「↓」は、それぞれ、水平寸法(水平方向ともいう)および垂直寸法(垂直方向ともいう)を表している。記号「レ」および「×」は、対応するブロックサイズおよび予測モードに対する変換カーネルの可用性を表している。例えば、記号「レ」は、変換カーネルが利用可能であることを表しており、記号「×」は、変換カーネルが利用不可能であることを表している。
一例では、変換タイプ(1610)が、図16Aの第1列に示されるようにADST_DCTで表される。変換タイプ(1610)は、図16Aの第2列に示されるように、垂直方向のADSTおよび水平方向のDCTを含む。図16Aの第3列によれば、ブロックサイズが16×16(例えば、16×16サンプル、16×16ルマサンプル)以下である場合、変換タイプ(1610)はイントラ予測およびインター予測に利用可能である。
一例では、変換タイプ(1620)は、図16Aの第1列に示されるようにV_ADSTで表される。変換タイプ(1620)は、図16Aの第2列に示されるように、垂直方向のADSTおよび水平方向のIDTX(すなわち、恒等行列)を含む。よって、変換タイプ(1620)(例えば、V_ADST)は、垂直方向に実行され、水平方向には実行されない。図16Aの第3列によれば、変換タイプ(1620)は、ブロックサイズに関わらずイントラ予測には利用できない。変換タイプ(1620)は、ブロックサイズが16×16(例えば、16×16サンプル、16×16ルマサンプル)未満である場合にインター予測に利用可能である。
一例では、図16Aはルマ成分に適用可能である。クロマ成分に対しては、変換タイプ(または変換カーネル)の選択を暗黙的に実行することができる。一例では、イントラ予測残差について、図16Bに示すように、変換タイプをイントラ予測モードに従って選択することができる。一例では、図16Bに示される変換タイプ選択は、クロマ成分に適用可能である。インター予測残差については、変換タイプを、同じ場所にあるルマブロックの変換タイプ選択に従って選択することができる。したがって、一例では、クロマ成分の変換タイプはビットストリームでシグナリングされない。
線グラフ変換(LGT)は、例えばAOMedia Video 2(AV2)における一次変換などの変換において使用することができる。AV2では、8ビット/10ビットの変換コアを使用することができる。一例では、LGTは、以下で説明するように、様々なDCT、離散サイン変換(DST)を含む。LGTは、32ポイントおよび64ポイントの1次元(1D)DSTを含むことができる。
グラフは、関心対象のオブジェクト間の親和性関係をモデル化するために使用することができる頂点およびエッジのセットを含む一般的な数学的構造である。1組の重みがエッジと任意選択で頂点とに割り当てられた重み付きグラフは、信号/データのロバストなモデル化のためのスパース表現を提供することができる。LGTは、多様なブロック統計のためのより良い適応を提供することによってコーディング効率を改善することができる。分離可能なLGTを、基礎となるブロックの残差信号の行ごとおよび列ごとの統計をモデル化するためにデータから線グラフを学習することによって設計および最適化することができ、関連付けられた一般化グラフラプラシアン(GGL)行列を使用してLGTを導出することができる。
図16Cに、本開示の一実施形態による自己ループ重み(例えば、vc1、vc2)およびエッジ重みwcによって特徴付けられた汎用LGTの一例を示す。重み付きグラフG(W,V)が与えられると、GGL行列を以下のように定義することができる。
Lc=D-W+V (式3)
式中、Wは、非負のエッジ重みwcを含む隣接行列とすることができ、Dは、対角行列とすることができ、Vは、自己ループ重みvc1およびvc2を表す対角行列とすることができる。図16Dに、行列Lcの一例を示す。
LGTは、以下のようにGGL行列Lcの固有値分解によって導出することができる。
Lc=UΦUT (式4)
式中、直交行列Uの列は、LGTの基底ベクトルとすることができ、Φは、対角固有値行列とすることができる。
様々な例において、特定のDCTおよびDST(例えば、DCT-2、DCT-8、およびDST-7)は、特定の形態のGGLから導出されたLGTのセットのサブセットである。DCT-2は、vc1を0(例えば、vc1=0)に設定することによって導出することができる。DST-7は、vc1をwc(例えば、vc1=wc)に設定することによって導出することができる。DCT-8は、vc2をwc(例えば、vc2=wc)に設定することによって導出することができる。DST-4は、vc1を2wc(例えば、vc1=2wc)に設定することによって導出することができる。DCT-4は、vc2を2wc(例えば、vc2=2wc)に設定することによって導出することができる。
AV2などのようないくつかの例では、LGTを行列乗算として実装することができる。Lcにおいてvc1を2wcに設定することによって4ポイント(4p)LGTコアを導出することができ、よって4p LGTコアはDST-4である。Lcにおいてvc1を1.5wcに設定することによって8ポイント(8p)LGTコアを導出することができる。一例では、vc1をwcに設定し、vc2を0に設定することによって、16ポイント(16p)LGTコア、32ポイント(32p)LGTコア、または64ポイント(64p)LGTコアなどのLGTコアを導出することができ、LGTコアはDST-7になり得る。
一次変換、二次変換などの変換を、CBなどのブロックに適用することができる。一例では、変換は、一次変換、二次変換の組み合わせを含む。変換は、分離不可能な変換、分離可能な変換、または分離不可能な変換と分離可能な変換との組み合わせであり得る。
VVCなどにおいては二次変換を実行することができる。VVCなどのようないくつかの例では、縮小二次変換(reduced secondary transform(RST))としても知られている、低周波数の分離不可能な変換(low-frequency non-separable transform(LFNST))を、一次変換係数をさらに非相関化するために、図17~図18に示すように、エンコーダ側の順一次変換と量子化との間およびデコーダ側の逆量子化と逆一次変換との間で適用することができる。
LFNSTで使用できる分離不可能な変換の適用は、一例として4×4入力ブロック(または入力行列)X(式5に示す)を使用して以下のように説明することができる。4×4の分離不可能な変換(例えば、LFNST)を適用するために、4×4入力ブロックXを、式5~式6に示すように、ベクトル
Figure 2023513772000002
で表すことができる。
Figure 2023513772000003
Figure 2023513772000004
分離不可能な変換は、
Figure 2023513772000005
として計算することができ、式中、
Figure 2023513772000006
は、変換係数ベクトルを示し、Tは、16×16の変換行列である。その後、4×4入力ブロックの走査順序(例えば、水平走査順序、垂直走査順序、ジグザグ走査順序、または対角走査順序)を使用して、16×1係数ベクトル
Figure 2023513772000007
を4×4出力ブロック(または出力行列、係数ブロック)に再編成することができる。インデックスがより小さい変換係数は、4×4係数ブロックにより小さい走査インデックスで配置することができる。
ブロック(例えば、CB)に分離不可能な二次変換を適用することができる。VVCなどのようないくつかの例では、LFNSTは、図17~図18に示すように、(例えば、エンコーダ側の)順一次変換と量子化との間および(例えば、デコーダ側の)逆量子化と逆一次変換との間で適用される。
図17~図18に、それぞれ、16×64変換(または変換が順二次変換か逆二次変換かに応じた64×16変換)および16×48変換(または変換が順二次変換か逆二次変換かに応じた48×16変換)を使用する2つの変換コーディングプロセス(1700)および(1800)の例を示す。図17を参照すると、プロセス(1700)では、エンコーダ側で、係数ブロック(1713)を取得するために、ブロック(例えば、残差ブロック)に対して順一次変換(1710)をまず実行することができる。続いて、係数ブロック(1713)に順二次変換(または順LFNST)(1712)を適用することができる。順二次変換(1712)では、係数ブロック(1713)の左上隅の4×4サブブロックA~Dの64個の係数を、長さ64のベクトルによって表すことができ、長さ64のベクトルに64×16の変換行列(すなわち、幅64、高さ16)を乗算して、長さ16のベクトルを得ることができる。長さ16のベクトル内の要素が係数ブロック(1713)の左上の4×4サブブロックAに埋め戻される。サブブロックB~D内の係数は0とすることができる。順二次変換(1712)の後に得られた係数は次いで、量子化ステップ(1714)で量子化され、エントロピーコーディングされて、ビットストリーム(1716)においてコーディングされたビットを生成する。
コーディングされたビットをデコーダ側で受け取り、エントロピー復号した後に、逆量子化ステップ(1724)によって係数ブロック(1723)を生成することができる。例えば、左上の4×4サブブロックEの16個の係数から64個の係数を取得するために、逆RST8×8などの逆二次変換(または逆LFNST)(1722)を実行することができる。64個の係数を、4×4サブブロックE~Hに埋め戻すことができる。さらに、逆二次変換(1722)後の係数ブロック(1723)内の係数を、逆一次変換(1720)で処理して復元された残差ブロックを取得することができる。
図18の例のプロセス(1800)は、順二次変換(1712)の間に処理される係数がより少ない(すなわち、48個)ことを除いて、プロセス(1700)と同様である。具体的には、サブブロックA~C内の48個の係数は、48×16のサイズのより小さい変換行列で処理される。48×16のより小さい変換行列を使用することにより、変換行列を格納するためのメモリサイズおよび計算(例えば、乗算、加算、減算など)の回数を低減することができ、よって計算の複雑さを低減することができる。
一例では、ブロック(例えば、CB)のブロックサイズに従って、4×4の分離不可能な変換(例えば、4×4 LFNST)または8×8の分離不可能な変換(例えば、8×8 LFNST)が適用される。ブロックのブロックサイズは、幅、高さなどを含むことができる。例えば、幅および高さの最小値が8などの閾値未満である(例えば、min(幅,高さ)<8)ブロックには、4×4 LFNSTが適用される。例えば、幅および高さの最小値が4などの閾値より大きい(例えば、min(幅,高さ)>4)ブロックには、8×8 LFNSTが適用される。
分離不可能な変換(例えば、LFNST)は、直接行列乗算の手法に基づくものとすることができ、よって反復なしの単一パスで実施することができる。分離不可能な変換行列の次元を低減し、計算の複雑さおよび変換係数を格納するためのメモリ空間を最小化するために、LFNSTでは、縮小された分離不可能な変換方法(またはRST)を使用することができる。したがって、縮小された分離不可能な変換では、N(例えば、8×8の分離不可能な二次変換(NSST)ではNは64である)次元ベクトルを異なる空間内のR次元ベクトルにマップすることができ、N/R(R<N)は縮小係数である。したがって、N×N行列の代わりに、RST行列は、式7に記載されているようにR×N行列である。
Figure 2023513772000008
式7において、R×N変換行列のR行は、N次元空間のR個の基底である。逆変換行列は、順変換で使用された変換行列(例えば、TR×N)の転置であり得る。8×8 LFNSTでは、図17に示すように、縮小係数4を適用することができ、8×8の分離不可能な変換で使用された64×64の直接行列を16×64の直接行列に縮小することができる。あるいは、図18に示すように、4より大きい縮小係数を適用することもでき、8×8の分離不可能な変換で使用された64×64の直接行列を16×48の直接行列に縮小することができる。よって、デコーダ側で48×16の逆RST行列を使用して、8×8の左上領域にコア(一次)変換係数を生成することができる。
図18を参照すると、同じ変換セット構成を有する16×64行列の代わりに16×48行列が適用される場合、16×48行列への入力は、右下の4×4ブロックDを除く左上の8×8ブロック内の3つの4×4ブロックA、B、およびCからの48個の入力データを含む。次元の縮小により、LFNST行列を格納するためのメモリ使用量を、最小限の性能低下で、例えば10KBから8KBに削減することができる。
複雑さを低減するために、LFNSTを、第1の係数サブグループ外の係数が有意でない場合に適用可能であるように制限することができる。一例では、LFNSTを、第1の係数サブグループ外のすべての係数が有意でない場合にのみ適用可能であるように制限することができる。図17~図18を参照すると、第1の係数サブグループは左上ブロックEに対応し、よって、ブロックEの外側にある係数は有意ではない。
一例では、LFNSTが適用される場合、一次のみの変換係数は有意ではない(例えば、0である)。一例では、LFNSTが適用される場合、すべての一次のみの変換係数は0である。一次のみの変換係数は、二次変換なしの一次変換から得られる変換係数を指し得る。したがって、LFNSTインデックスシグナリングは最下位位置を条件とすることができ、よって、LFNSTにおける余分な係数走査を回避することができる。いくつかの例では、余分な係数走査は、特定の位置における有意な変換係数をチェックするために使用される。一例では、例えば画素ごとの乗算に関して、LFNSTの最悪の場合の処理は、4×4ブロックおよび8×8ブロックの分離不可能な変換を、それぞれ、8×16変換および8×48変換に制限する。上記の場合、LFNSTが適用されるときに、最下位走査位置は8未満であり得る。他のサイズでは、LFNSTが適用されるときに、最下位走査位置は16未満であり得る。4×NおよびN×4の、Nが8より大きいCBでは、この制限は、LFNSTがCB内の左上の4×4領域に適用されることを意味し得る。一例では、この制限は、LFNSTがCB内でのみ左上の4×4領域に1回だけ適用されることを意味する。一例では、LFNSTが適用される場合、すべての一次のみの係数は有意ではなく(例えば、0であり)、一次変換のための動作の回数が低減される。エンコーダの観点から見ると、LFNST変換がテストされるときに変換係数の量子化を大幅に単純化することができる。レート歪み最適化量子化を、例えば走査順序で、最大限で、最初の16個の係数に対して行うことができ、残りの係数を0に設定することができる。
LFNST変換(例えば、変換カーネル、変換コア、または変換行列)を、以下で説明するように選択することができる。一実施形態では、複数の変換セットを使用することができ、LFNST内の複数の変換セットの各々に1つまたは複数の分離不可能な変換行列(またはカーネル)を含めることができる。本開示の態様によれば、変換セットを複数の変換セットの中から選択することができ、分離不可能な変換行列を、変換セット内の1つまたは複数の分離不可能な変換行列の中から選択することができる。
表1に、本開示の一実施形態による、イントラ予測モードから複数の変換セットへの例示的なマッピングを示す。このマッピングは、イントラ予測モードと複数の変換セットとの間の関係を示している。表1に示すような関係を、予め定義することができ、エンコーダおよびデコーダに格納することができる。
Figure 2023513772000009
表1を参照すると、複数の変換セットは、4つの変換セット、例えば、0から3までの変換セットインデックス(例えば、Tr.setインデックス)によってそれぞれ表される変換セット0から変換セット3を含む。インデックス(例えば、IntraPredMode)はイントラ予測モードを示すことができ、変換セットインデックスはインデックスおよび表1に基づいて取得することができる。したがって、変換セットをイントラ予測モードに基づいて決定することができる。一例では、3つの交差成分線形モデル(cross component linear model(CCLM))モード(例えば、INTRA_LT_CCLM、INTRA_T_CCLMまたはINTRA_L_CCLM)のうちの1つがCB(例えば、81 <=IntraPredMode <=83)に使用される場合、変換セット0がCBに対して選択される。
上述したように、各変換セットは、1つまたは複数の分離不可能な変換行列を含むことができる。1つまたは複数の分離不可能な変換行列のうちの1つを、例えば明示的にシグナリングされるLFNSTインデックスによって選択することができる。LFNSTインデックスは、例えば、変換係数のシグナリング後に、イントラコーディングされたCU(例えば、CB)毎に1回、ビットストリームでシグナリングすることができる。一実施形態では、各変換セットは2つの分離不可能な変換行列(カーネル)を含み、選択された分離不可能な二次変換候補は2つの分離不可能な変換行列のうちの1つであり得る。いくつかの例では、LFNSTはCBに適用されない(例えば、変換スキップモードでコーディングされたCBまたはCBの非ゼロの係数の数が閾値未満である)。一例では、LFNSTがCBに適用されない場合、LFNSTインデックスはCBに対してシグナリングされない。LFNSTインデックスのデフォルト値は0とすることができ、シグナリングされず、LFNSTがCBに適用されないことを示す。
一実施形態では、LFNSTは、第1の係数サブグループ外のすべての係数が有意でない場合にのみ適用可能であるように制限され、LFNSTインデックスのコーディングは、最下位係数の位置に依存し得る。LFNSTインデックスは、コンテキストコーディングすることができる。一例では、LFNSTインデックスのコンテキストコーディングはイントラ予測モードに依存せず、第1のビンのみがコンテキストコーディングされる。LFNSTは、イントラスライスまたはインタースライス内のイントラコーディングされたCUに、ルマ成分とクロマ成分の両方に対して適用することができる。二重ツリーが有効になっている場合、ルマ成分およびクロマ成分のLFNSTインデックスを別々にシグナリングすることができる。インタースライス(二重ツリーが無効になっている)の場合、単一のLFNSTインデックスをシグナリングし、ルマ成分とクロマ成分の両方に使用することができる。
イントラサブ分割(ISP)コーディングモードを使用することができる。ISPコーディングモードでは、ルマイントラ予測されたブロックを、ブロックサイズに応じて2つまたは4つのサブ分割に垂直または水平に分割することができる。いくつかの例では、RSTがすべての実行可能なサブ分割に適用される場合、性能改善はほとんどない。よって、いくつかの例では、ISPモードが選択されると、LFNSTは無効化され、LFNSTインデックス(またはRSTインデックス)はシグナリングされない。ISP予測残基に対してRSTまたはLFNSTを無効にすることにより、コーディングの複雑さを低減することができる。いくつかの例では、行列ベースのイントラ予測モード(MIP)が選択されると、LFNSTは無効化され、LFNSTインデックスはシグナリングされない。
いくつかの例では、64×64より大きいCUが最大変換サイズ制限(例えば、64×64)のために暗黙的に分割され(TUタイリング)、LFNSTインデックス探索は、特定の数の復号パイプライン段に対してデータバッファリングを4倍増やすことができる。したがって、LFNSTが許容される最大サイズを64×64に制限することができる。一例では、LFNSTは、離散コサイン変換(DCT)タイプ2(DCT-2)変換のみで有効化される。
いくつかの例では、分離可能な変換方式は、方向性テクスチャパターン(例えば、45°または135°の方向に沿ったエッジ)を取り込むのに効率的ではない場合がある。分離不可能な変換方式は、例えば、上記のシナリオにおいて、コーディング効率を改善し得る。計算の複雑さおよびメモリ使用量を低減するために、分離不可能な変換方式を、一次変換から得られる低周波数変換係数に適用される二次変換として使用することができる。二次変換は、ブロックに適用することができ、情報、例えば、二次変換を示すインデックス(二次変換インデックスなど)を、予測モード情報、一次変換タイプ、隣接する再構成されたサンプル、変換ブロック分割情報、ブロックのサイズおよび形状などに基づいて、ブロックに対してシグナリングすることができる。予測モード情報、一次変換タイプ、およびブロックのサイズ(またはブロックサイズ)のうちの1つまたは組み合わせを、コンテキスト情報を導出するために利用することができる。コンテキスト情報は、二次変換セット(例えば、分離不可能な二次変換のセット)の中から二次変換を識別するために使用される二次変換インデックスをエントロピーコーディングするために使用されるべき(1つまたは複数の)コンテキストを決定するために使用することができる。二次変換インデックスは、ブロックを復号する際に使用することができる。
本開示において、ブロックという用語は、PB、CB、コーディングされたブロック、コーディングユニット(CU)、変換ブロック(TB)、変換ユニット(TU)、ルマブロック(例えば、ルマCB)、クロマブロック(例えば、クロマCB)などを指し得る。
ブロックのサイズは、ブロック幅、ブロック高さ、ブロックアスペクト比(例えば、ブロック高さに対するブロック幅の比、ブロック幅に対するブロック高さの比)、ブロック領域サイズまたはブロック面積(例えば、ブロック幅×ブロック高さ)、ブロック幅およびブロック高さの最小値、ブロック幅およびブロック高さの最大値などを指すことができる。
ブロックをコーディング(例えば、符号化および/または復号)するために使用される二次変換(例えば、二次変換カーネル、二次変換コア、または二次変換行列)を示す情報は、インデックス(例えば、二次変換インデックス)を含むことができる。上述したように、一実施形態では、複数の変換セットを使用することができ、複数の変換セットの各々に1つまたは複数の二次変換行列(またはカーネル)を含めることができる。本開示の態様によれば、変換セットは、表1を参照して説明したものを含むがこれらに限定されない任意の適切な方法を使用して、複数の変換セットの中から選択することができ、ブロックをコーディング(例えば、符号化および/または復号)するために使用される二次変換(例えば、二次変換行列)は、インデックス(例えば、二次変換インデックス)によって、変換セット内の1つまたは複数の二次変換行列の中から決定する(例えば、選択する)ことができる。インデックス(例えば、二次変換行列)は、ブロックを復号するために使用される二次変換の変換セット中から1つの二次変換を識別するために使用さすることができる。一例では、二次変換の変換セットは、ブロックを復号するために使用される分離不可能な二次変換のセットを含む。一例では、インデックス(例えば、二次変換行列)はstIdxとして表される。インデックス(例えば、二次変換インデックス)は、例えば、コーディングされたビデオビットストリームにおいて明示的にシグナリングすることができる。
一例では、二次変換はLFNSTであり、二次変換インデックスはLFNSTインデックスを指す。いくつかの例では、二次変換はブロックに適用されない(例えば、変換スキップモードでコーディングされたCBまたはCBの非ゼロの係数の数が閾値未満である)。一例では、二次変換がブロックに適用されない場合、二次変換インデックス(例えば、LFNSTインデックス)はブロックに対してシグナリングされない。二次変換インデックスのデフォルト値は0とすることができ、シグナリングされず、二次変換がブロックに適用されないことを示す。
本開示の態様によれば、ブロック(例えば、TB)のためのコーディングされた情報を、コーディングされたビデオビットストリームから復号することができる。コーディングされた情報は、ブロックの予測モード情報、ブロックのサイズ、およびブロックに使用された一次変換タイプのうちの1つまたは複数を示し得る。一次変換タイプは、任意の適切な一次変換、例えば、図15および図16A~図16Dを参照して説明されたもののうちの1つまたはそれらの組み合わせを指すことができる。
一例では、ブロックはイントラコーディングまたはイントラ予測され、予測モード情報はイントラ予測モード情報と呼ばれる。ブロックの予測モード情報(例えば、イントラ予測モード情報)は、ブロックに使用されたイントラ予測モードを示すことができる。イントラ予測モードは、図9に記載される方向性モード(または方向性予測モード)、図10に記載される非方向性予測モード(例えば、DCモード、PAETHモード、SMOOTHモード、SMOOTH_Vモード、またはSMOOTH_Hモード)、図11に記載される再帰的フィルタリングモードなど、ブロックのイントラ予測に使用された予測モードを指すことができる。イントラ予測モードはまた、本開示に記載される予測モード、本開示に記載される予測モードの適切な変形、または本開示に記載される予測モードの適切な組み合わせを指すことができる。例えば、イントラ予測モードを、図12に記載されるマルチラインイントラ予測と組み合わせることができる。
ブロックの予測モード情報、ブロックのサイズ、およびブロックに使用された一次変換タイプのうちの1つまたは複数などのコーディングされた情報は、二次変換インデックス(例えば、stIdx)をエントロピーコーディング(例えば、エントロピー符号化および/またはエントロピー復号)するためのコンテキストとして使用することができる。二次変換インデックスをエントロピーコーディング(例えば、エントロピー符号化および/またはエントロピー復号)するためのコンテキストは、ブロックの予測モード情報、ブロックのサイズ、およびブロックに使用された一次変換タイプのうちの1つまたは複数などの、コーディングされた情報に基づいて決定することができる。二次変換インデックス(例えば、stIdx)は、ブロックに対して実行されるべき二次変換セット内の二次変換を示すことができる。
コンテキスト導出プロセスを使用して、コンテキストを決定することができる。二次変換インデックスをエントロピーコーディング(例えば、符号化および/または復号)するためのコンテキスト導出プロセスは、コーディングされた情報に依存し得る。
二次変換インデックスをエントロピーコーディング(例えば、符号化および/または復号)するためのコンテキストは、ブロックの予測モード情報(例えば、イントラ予測モード情報)、ブロックのサイズ、およびブロックに使用された一次変換タイプのうちの1つまたは複数に基づいて決定することができる。一例では、二次変換インデックスをエントロピーコーディング(例えば、符号化および/または復号)するためのコンテキストは、ブロックの予測モード情報(例えば、イントラ予測モード情報)、ブロックのサイズ、およびブロックに使用された一次変換タイプのうちの1つに基づいて決定される。コンテキストに基づいて二次変換インデックスをエントロピーコーディング(例えば、符号化および/または復号)することができる。ブロック(例えば、TB)に対して二次変換インデックスによって示される二次変換(例えば、逆二次変換)を実行することができる。
一実施形態では、二次変換インデックス(例えば、stIdx)をエントロピーコーディング(例えば、符号化および/または復号)するためのコンテキスト導出プロセスは、ブロックのサイズに依存し得る。一例では、ブロックと関連付けられた最大正方形ブロックサイズは、ブロック内の最大正方形ブロックのサイズを指す。最大正方形ブロックサイズは、ブロックのサイズ以下である。一例では、ブロックのサイズは、ブロックがTBを指すときのTBサイズである。最大正方形ブロックサイズをコンテキスト導出プロセスで使用することができる。一例では、最大正方形ブロックサイズがコンテキストとして使用される。例えば、ブロックのサイズは、ブロック幅Wおよびブロック高さHを示すことができる。最大正方形ブロックサイズはL×Lであり、LはWおよびHの最小値である。最大正方形ブロックサイズをLで示すこともできる。Wが32である場合、Hは8であり、Lは8である。最大正方形ブロックサイズを、8または8×8で示すことができる。
一実施形態では、ブロックのイントラ予測モード情報、ブロックのサイズ、およびブロックに使用された一次変換タイプのうちの1つは、ブロックのサイズを示し得る。ブロックのサイズに基づいて、二次変換インデックスをエントロピーコーディング(例えば、符号化および/または復号)するためのコンテキストを決定することができる。一例では、ブロックのサイズは、ブロックの幅Wおよびブロックの高さHを示す。ブロックの幅Wおよびブロックの高さHの最小値はLで表される。コンテキストを、最大正方形ブロックサイズLまたはL×Lに基づいて決定することができる。一例では、最大正方形ブロックサイズLまたはL×Lがコンテキストとして使用される。
一実施形態では、二次変換インデックス(例えば、stIdx)をエントロピーコーディング(例えば、符号化および/または復号)するためのコンテキスト導出プロセスは、ブロックの予測モード情報(例えば、イントラ予測モード情報)に依存し得る。二次変換インデックスをエントロピーコーディング(例えば、符号化および/または復号)するためのコンテキストは、ブロックの予測モード情報(例えば、イントラ予測モード情報)に基づいて導出することができる。
一例では、ブロックは、図9を参照して説明したように、方向性モード(方向性予測モードともいう)のうちの1つを使用してイントラ予測される。図9を参照すると、公称モードインデックスは、公称モード(例えば、8つの公称モードのうちの1つ)を示すことができる。一例では、方向性モード(例えば、56個の方向性モードのうちの1つ)を、公称モードインデックス、および公称モードからの角度オフセットを示すインデックスに基づいて決定することができる。ブロックの予測モード情報(例えば、イントラ予測モード情報)は、公称モードインデックスを示すことができる。公称モードインデックスを、コンテキスト導出プロセスに使用することができる。公称モードインデックスに基づいて、二次変換インデックスをエントロピーコーディング(例えば、符号化および/または復号)するためのコンテキストを導出することができる。
一実施形態では、ブロックのイントラ予測モード情報、ブロックのサイズ、およびブロックに使用された一次変換タイプのうちの1つは、ブロックのイントラ予測モード情報を示し得る。ブロックのイントラ予測モード情報に基づいて、二次変換インデックスをエントロピーコーディング(例えば、符号化および/または復号)するためのコンテキストを決定することができる。一例では、ブロックのイントラ予測モード情報は公称モードインデックスを示す。ブロックは、上述したように、公称モードインデックスおよび角度オフセットに基づいて決定される方向性予測モードを使用して予測することができる。公称モードインデックスに基づいて、二次変換インデックスをエントロピーコーディング(例えば、符号化および/または復号)するためのコンテキストを決定することができる。
一実施形態では、ブロックは、上述のように方向性モードを使用してイントラ予測される。公称モードインデックスを公称モードインデックスとは異なるインデックス値にマップすることができ、インデックス値をコンテキスト導出プロセスで使用することができる。一例では、複数のイントラ予測モード(例えば、図9に示す複数の公称モード)を同じインデックス値にマップすることができる。複数の公称モード(または複数の公称モードに対応する複数の公称モードインデックス)を、同じインデックス値にマップすることができる。複数の公称モードは、互いに隣接することができる。図9を参照すると、D67_PREDおよびD45_PREDを同じインデックス値にマップすることができる。
一実施形態では、ブロックのイントラ予測モード情報は公称モードインデックスを示し、ブロックを、公称モードインデックスおよび角度オフセットに基づいて決定される方向性モード(または方向性予測モード)を使用して予測することができる。公称モードインデックスと関連付けられたインデックス値(例えば、公称モードインデックスはインデックス値にマップされる)に基づいて、二次変換インデックスをエントロピーコーディング(例えば、符号化および/または復号)するためのコンテキストを決定することができる。
一実施形態では、ブロックは、図10を参照して説明したように、例えば、DCモード、PAETHモード、SMOOTHモード、SMOOTH_Vモード、およびSMOOTH_Hモードを含む非方向性予測モード(非方向性平滑イントラ予測モードともいう)のうちの1つを使用してイントラ予測される。非方向性予測モードの1つを示す対応するモードインデックス(非方向性予測モードインデックスともいう)を、コンテキスト導出プロセスに使用することができる。一例では、同じコンテキストを適用して、非方向性予測モードのうちの1つまたは複数の二次変換インデックス(例えば、stIdx)をエントロピーコーディングすることができる。同じコンテキストは、複数の非方向性予測モードに対応することができる。
一実施形態では、ブロックのイントラ予測モード情報は非方向性予測モードインデックスを示すことができる。ブロックを、非方向性予測モードインデックスによって示される非方向性予測モードのうちの1つ(例えば、非方向性予測モード)を使用して予測することができる。非方向性予測モードインデックスに基づいて、二次変換インデックスをエントロピーコーディング(例えば、符号化および/または復号)するためのコンテキストを決定することができる。
一例では、ブロックは、図11を参照して説明したように、再帰的フィルタリングモードのうちの1つを使用してイントラ予測される。まず、再帰的フィルタリングモードのうちの1つから公称モードインデックスへのマッピングを実行することができ、公称モードインデックスは公称モード(例えば、図9の8つの公称モードのうちの1つ)を示すことができる。続いて、公称モードインデックスをコンテキスト導出プロセスに使用することができる。一例では、同じコンテキストを適用して、再帰的フィルタリングモードのうちの1つまたは複数の二次変換インデックス(例えば、stIdx)をエントロピーコーディング(例えば、符号化および/または復号)することができる。同じコンテキストは、複数の再帰的フィルタリングモードに対応することができる。
一実施形態では、ブロックのイントラ予測モード情報は、ブロックを予測するために使用される再帰的フィルタリングモード(再帰的フィルタリングモードのうちの1つ)を示し得る。再帰的フィルタリングモードに基づいて、公称モードを示す公称モードインデックスを決定することができる。公称モードインデックスに基づいて、二次変換インデックスをエントロピーコーディング(例えば、符号化および/または復号)するためのコンテキストを決定することができる。
一実施形態では、二次変換インデックス(例えば、stIdx)をエントロピーコーディングするためのコンテキスト導出プロセスは、一次変換タイプ情報に依存し得る。一次変換タイプ情報は、ブロックに使用された一次変換タイプまたは1タイプの一次変換を示すことができる。一例では、コンテキストは一次変換タイプに基づいて決定される。一例では、コンテキストは一次変換に基づいて決定される。
一実施形態では、ブロックのイントラ予測モード情報、ブロックのサイズ、およびブロックに使用された一次変換タイプのうちの1つは、ブロックに使用された一次変換タイプを示し得る。ブロックに使用された一次変換タイプに基づいて、二次変換インデックスをエントロピーコーディング(例えば、符号化および/または復号)するためのコンテキストを決定することができる。ブロックに使用された一次変換に基づいて、二次変換インデックスをエントロピーコーディングするためのコンテキストを決定することができる。
一実施形態では、ブロックの一次変換は、水平一次変換(水平変換と呼ばれる)および垂直一次変換(垂直変換と呼ばれる)を含むことができる。水平一次変換タイプおよび垂直一次変換タイプに基づいて、二次変換インデックスをエントロピーコーディング(例えば、符号化および/または復号)するためのコンテキストを決定することができる。水平一次変換タイプは水平変換を示すことができ、垂直一次変換タイプは垂直変換を示すことができる。
コンテキスト(コンテキスト値ともいう)は、水平一次変換タイプと垂直一次変換タイプの両方がDCTであるかまたは水平一次変換タイプと垂直一次変換タイプの両方がADSTであるかどうかに依存し得る。
本開示では、水平一次変換タイプと垂直一次変換タイプとの組み合わせを、{水平一次変換タイプ,垂直一次変換タイプ}として表すことができる。よって、{DCT,DCT}は、水平一次変換タイプと垂直一次変換タイプの両方がDCTであることを表す。{ADST,ADST}は、水平一次変換タイプと垂直一次変換タイプの両方がADSTであることを表す。{LGT,LGT}は、水平一次変換タイプと垂直一次変換タイプの両方がLGTであることを表す。{DCT,LGT}は、水平一次変換タイプがDCTであり、垂直一次変換タイプがLGTであることを表す。{LGT,DCT}は、水平一次変換タイプがLGTであり、垂直一次変換タイプがDCTであることを表す。
一実施形態では、一次変換タイプによって示される一次変換は、水平一次変換タイプによって示される水平変換および垂直一次変換タイプによって示される垂直変換を含む。水平一次変換タイプと垂直一次変換タイプとが両方ともDCTまたは両方ともADSTであるかどうかに基づいて、二次変換インデックスをエントロピーコーディング(例えば、符号化および/または復号)するためのコンテキストを決定することができる。
一実施形態では、コンテキストは、水平一次変換タイプと垂直一次変換タイプの組み合わせが、{DCT,DCT}または{LGT,LGT}であるかどうかに依存し得る。
一実施形態では、一次変換タイプによって示される一次変換は、水平一次変換タイプによって示される水平変換および垂直一次変換タイプによって示される垂直変換を含む。水平一次変換タイプと垂直一次変換タイプとが両方ともDCTであるかまたは両方ともLGTであるかどうかに基づいて、二次変換インデックスをエントロピーコーディング(例えば、符号化および/または復号)するためのコンテキストを決定することができる。
一実施形態では、コンテキストは、水平一次変換タイプと垂直一次変換タイプの組み合わせが、{DCT,DCT}か、{LGT,LGT}か、{DCT,LGT}か、それとも{LGT,DCT}かに依存し得る。
一実施形態では、一次変換タイプによって示される一次変換は、水平一次変換タイプによって示される水平変換および垂直一次変換タイプによって示される垂直変換を含む。水平一次変換タイプと垂直一次変換タイプとが、(i)両方ともDCTか、(ii)両方ともLGTか、(iii)それぞれDCTとLGTとか、それとも(iv)それぞれLGTとDCTとかに基づいて、二次変換インデックスをエントロピーコーディング(例えば、符号化および/または復号)するためのコンテキストを決定することができる。
一実施形態では、コンテキストは、水平一次変換タイプと垂直一次変換タイプの組み合わせが、{DCT,DCT}か、{LGT,LGT}か、{DCT,IDTX}か、それとも{IDTX,DCT}かに依存することができ、IDTXは恒等変換を表す。{DCT,IDTX}は、水平一次変換タイプがDCTであり、垂直一次変換タイプがIDTXであることを表す。{IDTX,DCT}は、水平一次変換タイプがIDTXであり、垂直一次変換タイプがDCTであることを表す。
一実施形態では、一次変換タイプによって示される一次変換は、水平一次変換タイプによって示される水平変換および垂直一次変換タイプによって示される垂直変換を含む。水平一次変換タイプと垂直一次変換タイプとが、(i)両方ともDCTか、(ii)両方ともLGTか、(iii)それぞれDCTと恒等変換(IDTX)とか、それとも(iv)それぞれIDTXとDCTとかに基づいて、二次変換インデックスをエントロピーコーディング(例えば、符号化および/または復号)するためのコンテキストを決定することができる。
図19に、本開示の一実施形態によるプロセス(1900)の概要を示すフローチャートを示す。プロセス(1900)は、CB、TB、ルマCB、ルマTB、クロマCB、クロマTBなどのブロックの再構成において使用することができる。様々な実施形態において、プロセス(1900)は、端末装置(310)、(320)、(330)、および(340)内の処理回路、ビデオエンコーダ(403)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、ビデオデコーダ(510)の機能を実行する処理回路、ビデオエンコーダ(603)の機能を実行する処理回路などといった処理回路によって実行される。いくつかの実施形態では、プロセス(1900)はソフトウェア命令で実装され、よって、処理回路がソフトウェア命令を実行すると、処理回路はプロセス(1900)を実行する。プロセスは(S1901)から開始し、(S1910)に進む。
(S1910)で、ブロック(例えば、TB、ルマTB、イントラコーディングされたTB、CB)のためのコーディングされた情報を、コーディングされたビデオビットストリームから復号することができる。コーディングされた情報は、ブロックのイントラ予測モード情報、ブロックのサイズ、およびブロックに使用された一次変換タイプのうちの1つを示し得る。コーディングされた情報は、ブロックのイントラ予測モード情報、ブロックのサイズ、およびブロックに使用された一次変換タイプのうちの1つまたは複数を示し得る。
ブロックのイントラ予測モード情報は、方向性モード、非方向性予測モード、または図9~図11を参照して説明された再帰的フィルタリングモードなど、ブロックのイントラ予測に使用されたイントラ予測モードを示すことができる。一次変換タイプは、ブロックに使用された一次変換を示す。ブロックに使用された一次変換タイプの例は、図15および図16A~図16Dに記載されている。
(S1920)で、ブロックのイントラ予測モード情報、ブロックのサイズ、およびブロックに使用された一次変換タイプのうちの1つに基づいて、二次変換インデックスをエントロピー復号するためのコンテキストを決定することができる。二次変換インデックスは、ブロックに対して二次変換が実行されるべきである場合の二次変換セット内の二次変換を示すことができる。
一例では、ブロックのイントラ予測モード情報、ブロックのサイズ、およびブロックに使用された一次変換タイプのうちの1つまたは複数に基づいて、二次変換インデックスをエントロピー復号するためのコンテキストを決定することができる。
一例では、ブロックのイントラ予測モード情報、ブロックのサイズ、およびブロックに使用された一次変換タイプのうちの1つは、ブロックのサイズを示し、ブロックのサイズに基づいて、二次変換インデックスをエントロピー復号するためのコンテキストを決定することができる。
一例では、ブロックのイントラ予測モード情報、ブロックのサイズ、およびブロックに使用された一次変換タイプのうちの1つは、ブロックのイントラ予測モード情報を示し、ブロックのイントラ予測モード情報に基づいて、二次変換インデックスをエントロピー復号するためのコンテキストを決定することができる。
一例では、ブロックのイントラ予測モード情報、ブロックのサイズ、およびブロックに使用された一次変換タイプのうちの1つは、ブロックに使用された一次変換タイプを示し、ブロックに使用された一次変換タイプに基づいて、二次変換インデックスをエントロピー復号するためのコンテキストを決定することができる。
(S1930)で、(S1920)で決定されたコンテキストに基づいて二次変換インデックスをエントロピー復号することができる。
(S1940)で、ブロックに対して二次変換インデックスによって示される二次変換を実行することができる。例えば、二次変換は、逆一次変換の後に実行される逆二次変換である。一例では、二次変換はLFNSTである。一例では、二次変換は分離不可能な二次変換である。プロセス(1900)は、(S1999)に進み、終了する。
プロセス(1900)は、適切に適合させることができる。プロセス(1900)の(1つまたは複数の)ステップは、修正および/または省略することができる。(1つまたは複数の)追加のステップを追加することができる。任意の適切な実施順序を使用することができる。例えば、方向性モード、非方向性予測モード、または図9~図11を参照して説明された再帰的フィルタリングモードに加えて、プロセス(1900)は、他のイントラ予測モードにも適用可能である。図15および図16A~図16Dを参照して説明された一次変換タイプに加えて、プロセス(1900)は、他の適切な一次変換タイプ、または水平一次変換タイプと垂直一次変換タイプとの適切な組み合わせにも適用可能である。
本開示の実施形態は、別々に使用されてもよく、任意の順序で組み合わされてもよい。さらに、方法(または実施形態)、エンコーダ、およびデコーダの各々が、処理回路(例えば、1つまたは複数のプロセッサや1つまたは複数の集積回路)によって実装されてもよい。一例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読媒体に格納されたプログラムを実行する。本開示の実施形態は、ルマブロックまたはクロマブロックに適用されてもよい。
前述した技術は、コンピュータ可読命令を使用する、1つまたは複数のコンピュータ可読媒体に物理的に格納されたコンピュータソフトウェアとして実装することができる。例えば、図20に、開示の主題の特定の実施形態を実装するのに適したコンピュータシステム(2000)を示す。
コンピュータソフトウェアは、1つまたは複数のコンピュータ中央処理装置(CPU)、グラフィックスプロセッシングユニット(GPU)などによって直接、または解釈、マイクロコード実行などを介して、実行することができる命令を含むコードを作成するために、アセンブリ、コンパイル、リンクなどの機構を施される得る任意の適切な機械コードまたはコンピュータ言語を使用してコーディングすることができる。
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイスなどを含む様々なタイプのコンピュータまたはその構成要素上で実行することができる。
コンピュータシステム(2000)について図20に示す構成要素は、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用または機能の範囲に関する限定を示唆することを意図するものではない。構成要素の構成は、コンピュータシステム(2000)の例示的な実施形態に示されている構成要素のいずれか1つまたは組み合わせに関する依存関係または要件を有すると解釈されるべきではない。
コンピュータシステム(2000)は、特定のヒューマンインターフェース入力装置を含み得るそのようなヒューマンインターフェース入力装置は、例えば、触覚入力(例えば、キーストローク、スワイプ、データグローブの動き)、オーディオ入力(例えば、声、拍手)、視覚入力(例えば、ジェスチャ)、嗅覚入力(図示せず)を介した、1人または複数の人間のユーザによる入力に応答し得る。ヒューマンインターフェース装置はまた、オーディオ(例えば、音声、音楽、周囲音)、画像(例えば、走査画像、写真画像は静止画像カメラから取得)、ビデオ(例えば、二次元映像、立体映像を含む三次元映像)などの、必ずしも人間による意識的な入力に直接関連しない特定のメディアを取り込むために使用することもできる。
入力ヒューマンインターフェース装置は、キーボード(2001)、マウス(2002)、トラックパッド(2003)、タッチスクリーン(2010)、データグローブ(図示せず)、ジョイスティック(2005)、マイクロフォン(2006)、スキャナ(2007)、カメラ(2008)のうちの1つまたは複数(図示された各々のうちの1つのみ)を含み得る。
コンピュータシステム(2000)はまた、特定のヒューマンインターフェース出力装置も含み得る。そのようなヒューマンインターフェース出力装置は、例えば、触覚出力、音、光、および匂い/味によって1人または複数の人間ユーザの感覚を刺激し得る。そのようなヒューマンインターフェース出力装置は、触覚出力装置(例えば、タッチスクリーン(2010)、データグローブ(図示せず)、またはジョイスティック(2005)による触覚フィードバック、ただし、入力装置として機能しない触覚フィードバック装置もあり得る)、オーディオ出力装置(例えば、スピーカ(2009)、ヘッドホン(図示せず))、視覚出力装置(例えば、各々タッチスクリーン入力機能ありまたはなしの、各々触覚フィードバック機能ありまたはなしの、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(2010)など、それらの一部は、二次元視覚出力、または立体画像出力、仮想現実眼鏡(図示せず)、ホログラフィックディスプレイおよびスモークタンク(図示せず)などの手段による四次元以上の出力が可能であり得る)、ならびにプリンタ(図示せず)を含み得る。
コンピュータシステム(2000)はまた、人間がアクセス可能な記憶装置およびそれらの関連媒体、例えば、CD/DVDなどの媒体(2021)を有するCD/DVD ROM/RW(2020)を含む光学媒体、サムドライブ(2022)、リムーバブルハードドライブまたはソリッドステートドライブ(2023)、テープやフロッピーディスクなどのレガシー磁気媒体(図示せず)、セキュリティドングルなどの専用ROM/ASIC/PLDベースのデバイス(図示せず)なども含むことができる。
当業者はまた、本開示の主題に関連して使用される「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、または他の一時的信号を包含しないことも理解するはずである。
コンピュータシステム(2000)はまた、1つまたは複数の通信ネットワーク(2055)へのインターフェース(2054)も含むことができる。ネットワークは、例えば、無線、有線、光とすることができる。ネットワークはさらに、ローカル、広域、メトロポリタン、車両および産業、リアルタイム、遅延耐性などとすることができるネットワークの例には、イーサネット、無線LANなどのローカルエリアネットワーク、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルテレビ、衛星テレビ、および地上波放送テレビを含むテレビ有線または無線広域デジタルネットワーク、CANBusを含む車両および産業用などが含まれる。特定のネットワークは、一般に、特定の汎用データポートまたは周辺バス(2049)(例えば、コンピュータシステム(2000)のUSBポートなど)に取り付けられた外部ネットワークインターフェースアダプタを必要とする。他のネットワークは、一般に、後述するようなシステムバスへの取り付けによってコンピュータシステム(2000)のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインターフェースやスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム(2000)は他のエンティティと通信することができる。そのような通信は、例えば、ローカルまたはワイドエリアデジタルネットワークを使用する他のコンピュータシステムに対して、一方向の受信のみ(例えば、テレビ放送)、一方向の送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または双方向とすることができる。上述のようなネットワークおよびネットワークインターフェースの各々で特定のプロトコルおよびプロトコルスタックを使用することができる。
前述のヒューマンインターフェース装置、人間がアクセス可能な記憶装置、およびネットワークインターフェースは、コンピュータシステム(2000)のコア(2040)に取り付けることができる。
コア(2040)は、1つまたは複数の中央処理装置(CPU)(2041)、グラフィックスプロセッシングユニット(GPU)(2042)、フィールドプログラマブルゲートエリア(FPGA)(2043)の形の専用プログラマブル処理装置、特定のタスク用のハードウェアアクセラレータ(2044)、グラフィックスアダプタ(2050)などを含むことができる。これらのデバイスは、読み出し専用メモリ(ROM)(2045)、ランダムアクセスメモリ(2046)、内部非ユーザアクセス可能ハードドライブ、SSDなどの内部大容量ストレージ(2047)と共に、システムバス(2048)を介して接続され得る。一部のコンピュータシステムでは、システムバス(2048)を、追加のCPU、GPUなどによる拡張を可能にするために、1つまたは複数の物理プラグの形でアクセス可能とすることができる。周辺装置は、コアのシステムバス(2048)に直接、または周辺バス(2049)を介して取り付けることができる。一例では、スクリーン(2010)をグラフィックスアダプタ(2050)に接続することができる。周辺バスのアーキテクチャには、PCI、USBなどが含まれる。
CPU(2041)、GPU(2042)、FPGA(2043)、およびアクセラレータ(2044)は、組み合わさって前述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードを、ROM(2045)またはRAM(2046)に格納することができる。また移行データをRAM(2046)に格納することもでき、永続データは、例えば内部大容量ストレージ(2047)に格納することができる。メモリデバイスのいずれかへの高速記憶および検索を、1つまたは複数のCPU(2041)、GPU(2042)、大容量ストレージ(2047)、ROM(2045)、RAM(2046)などと密接に関連付けることができるキャッシュメモリの使用によって可能にすることができる。
コンピュータ可読媒体は、様々なコンピュータ実装動作を実行するためのコンピュータコードを有し得る。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものとすることもでき、またはコンピュータソフトウェア技術の当業者に周知の利用可能な種類のものとすることもできる。
限定ではなく例として、アーキテクチャを有するコンピュータシステム(2000)、特にコア(2040)は、(CPU、GPU、FPGA、アクセラレータなどを含む)(1つまたは複数の)プロセッサが、1つまたは複数の有形のコンピュータ可読媒体において具現化されたソフトウェアを実行した結果として機能を提供することができる。そのようなコンピュータ可読媒体は、上述のようなユーザアクセス可能な大容量ストレージ、ならびにコア内部大容量ストレージ(2047)やROM(2045)などの非一時的な性質のものであるコア(2040)の特定のストレージと関連付けられた媒体とすることができる。本開示の様々な実施形態を実装するソフトウェアを、そのようなデバイスに格納し、コア(2040)によって実行することができる。コンピュータ可読媒体は、特定の必要性に応じて、1つまたは複数のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア(2040)、具体的にはその中の(CPU、GPU、FPGAなどを含む)プロセッサに、RAM(2046)に格納されたデータ構造を定義すること、およびソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を変更することを含む、本明細書に記載される特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えて、または代替として、コンピュータシステムは、ソフトウェアの代わりに、またはソフトウェアと共に動作して、本明細書に記載される特定のプロセスまたは特定のプロセスの特定の部分を実行することができる、回路(例えば、アクセラレータ(2044))におけるハードワイヤードの、または他の方法で具現化された論理の結果として機能を提供することもできる。ソフトウェアと言う場合、それは、適切な場合には、論理を含むことができ、逆もまた同様である。コンピュータ可読媒体と言う場合、それは、適切な場合には、実行のためのソフトウェアを格納する回路(集積回路(IC)など)、実行のための論理を具現化する回路、またはその両方を含むことができる。本開示は、ハードウェアとソフトウェアの任意の適切な組み合わせを包含する。
付録A:頭字語
JEM 共同探索モデル
VVC 多用途ビデオコーディング
BMS ベンチマークセット
MV 動きベクトル
HEVC 高効率ビデオコーディング
SEI 補足拡張情報
VUI ビデオユーザビリティ情報
GOP Groups of Pictures
TU 変換ユニット、
PU 予測ユニット
CTU コーディングツリーユニット
CTB コーディングツリーブロック
PB 予測ブロック
HRD 仮想参照デコーダ
SNR 信号対雑音比
CPU 中央処理装置
GPU グラフィックスプロセッシングユニット
CRT ブラウン管
LCD 液晶ディスプレイ
OLED 有機発光ダイオード
CD コンパクトディスク
DVD デジタルビデオディスク
ROM 読み出し専用メモリ
RAM ランダムアクセスメモリ
ASIC 特定用途向け集積回路
PLD プログラマブルロジックデバイス
LAN ローカルエリアネットワーク
GSM モバイル通信用グローバルシステム
LTE ロングタームエボリューション
CANBus コントローラエリアネットワークバス
USB ユニバーサルシリアルバス
PCI 周辺機器相互接続
FPGA フィールドプログラマブルゲートエリア
SSD ソリッドステートドライブ
IC 集積回路
CU コーディングユニット
本開示ではいくつかの例示的な実施形態を説明したが、本開示の範囲内に入る修正形態、置換形態、および様々な代替均等物がある。よって、当業者であれば、本明細書には明示的に図示または説明されていないが、本開示の原理を具現化し、よって本開示の趣旨および範囲内にある多数のシステムおよび方法を考案することができることが理解されよう。
101 予測されているサンプル
102 矢印
103 矢印
104 正方形ブロック
180 概略図
201 現在のブロック
202 周囲のサンプル
203 周囲のサンプル
204 周囲のサンプル
205 周囲のサンプル
206 周囲のサンプル
300 通信システム
310 端末装置
320 端末装置
330 端末装置
340 端末装置
350 ネットワーク
400 通信システム
401 ビデオソース
402 ビデオピクチャのストリーム
403 ビデオエンコーダ
404 符号化されたビデオデータ
405 ストリーミングサーバ
406 クライアントサブシステム
407 符号化されたビデオデータのコピー
408 クライアントサブシステム
409 符号化されたビデオデータのコピー
410 ビデオデコーダ
411 ビデオピクチャの出力ストリーム
412 ディスプレイ
413 取り込みサブシステム
420 電子装置
430 電子装置
501 チャネル
510 ビデオデコーダ
512 レンダリング装置
515 バッファメモリ
520 パーサ
521 シンボル
530 電子装置
531 受信機
551 スケーラ/逆変換ユニット
552 イントラピクチャ予測ユニット
553 動き補償予測ユニット
555 アグリゲータ
556 ループフィルタ
557 参照ピクチャメモリ
558 現在のピクチャバッファ
601 ビデオソース
603 ビデオエンコーダ
620 電子装置
630 ソースコーダ
632 コーディングエンジン
633 デコーダ
634 参照ピクチャメモリ
635 予測器
640 送信機
643 コーディングされたビデオシーケンス
645 エントロピーコーダ
650 コントローラ
660 チャネル
703 ビデオエンコーダ
721 汎用コントローラ
722 イントラエンコーダ
723 残差計算器
724 残差エンコーダ
725 エントロピーエンコーダ
726 スイッチ
728 残差デコーダ
730 インターエンコーダ
810 ビデオデコーダ
871 エントロピーデコーダ
872 イントラデコーダ
873 残差デコーダ
874 再構成モジュール
880 インターデコーダ
901 公称角度
902 公称角度
903 公称角度
904 公称角度
905 公称角度
906 公称角度
907 公称角度
908 公称角度
910 コーディングブロック(CB)
1000 CB
1001 サンプル
1011 上隣接サンプル
1012 左隣接サンプル
1013 左上隣接サンプル
1014 右サンプル
1015 右上隣接サンプル
1016 下サンプル
1017 左下隣接サンプル
1100 CB(ルマブロック)
1210 コーディングブロック
1300 ブロック
1301 変換ユニット
1302 変換ユニット
1303 変換ユニット
1304 変換ユニット
1310 ラスタ走査順序
1320 ラスタ走査順序
1321 変換ユニット
1322 変換ユニット
1323 変換ユニット
1324 変換ユニット
1325 変換ユニット
1326 変換ユニット
1327 変換ユニット
1328 変換ユニット
1329 変換ユニット
1330 変換ユニット
1331 変換ユニット
1332 変換ユニット
1333 変換ユニット
1334 変換ユニット
1335 変換ユニット
1336 変換ユニット
1400 ブロック
1401 変換ユニット
1402 変換ユニット
1403 変換ユニット
1404 変換ユニット
1405 変換ユニット
1406 変換ユニット
1407 変換ユニット
1410 ラスタ走査順序
1610 変換タイプ
1620 変換タイプ
1700 変換コーディングプロセス
1710 順一次変換
1712 順二次変換(順LFNST)
1713 係数ブロック
1716 ビットストリーム
1720 逆一次変換
1722 逆二次変換(逆LFNST)
1723 係数ブロック
1800 変換コーディングプロセス
1900 プロセス
2000 コンピュータシステム
2001 キーボード
2002 マウス
2003 トラックパッド
2005 ジョイスティック
2006 マイクロフォン
2007 スキャナ
2008 カメラ
2009 スピーカ
2010 タッチスクリーン
2020 CD/DVD ROM/RW
2021 CD/DVDなどの媒体
2022 サムドライブ
2023 リムーバブルハードドライブまたはソリッドステートドライブ
2040 コア
2041 中央処理装置(CPU)
2042 グラフィックスプロセッシングユニット(GPU)
2043 フィールドプログラマブルゲートエリア(FPGA)
2044 ハードウェアアクセラレータ
2045 読み出し専用メモリ(ROM)
2046 ランダムアクセスメモリ
2047 コア内部大容量ストレージ
2048 システムバス
2049 汎用データポートまたは周辺バス
2050 グラフィックスアダプタ
2054 ネットワークインターフェース
2055 通信ネットワーク

Claims (20)

  1. デコーダにおけるビデオ復号のための方法であって、
    コーディングされたビデオビットストリームから変換ブロック(TB)のためのコーディングされた情報を復号するステップであって、前記コーディングされた情報が、前記TBのイントラ予測モード情報、前記TBのサイズ、および前記TBに使用された一次変換タイプのうちの1つを示し、前記TBの前記イントラ予測モード情報が前記TBに使用されたイントラ予測モードを示す、ステップと、
    前記TBの前記イントラ予測モード情報、前記TBの前記サイズ、および前記TBに使用された前記一次変換タイプのうちの前記1つに基づいて、二次変換インデックスをエントロピー復号するためのコンテキストを決定するステップであって、前記二次変換インデックスが、前記TBに対して実行されるべき二次変換セット内の二次変換を示す、ステップと、
    前記コンテキストに基づいて前記二次変換インデックスをエントロピー復号するステップと、
    前記TBに対して前記二次変換インデックスによって示される前記二次変換を実行するステップと
    を含む、方法。
  2. 前記TBの前記イントラ予測モード情報、前記TBの前記サイズ、および前記TBに使用された前記一次変換タイプのうちの前記1つが、前記TBの前記サイズを示し、
    前記コンテキストを決定する前記ステップは、前記TBの前記サイズに基づいて、前記二次変換インデックスをエントロピー復号するための前記コンテキストを決定するステップを含む、
    請求項1に記載の方法。
  3. 前記TBの前記サイズが、前記TBの幅Wおよび前記TBの高さHを示し、
    前記TBの前記幅Wおよび前記TBの前記高さHの最小値がLであり、
    前記コンテキストを決定する前記ステップは、LまたはL×Lに基づいて前記コンテキストを決定するステップをさらに含む、
    請求項2に記載の方法。
  4. 前記TBの前記イントラ予測モード情報、前記TBの前記サイズ、および前記TBに使用された前記一次変換タイプのうちの前記1つが、前記TBの前記イントラ予測モード情報を示し、
    前記コンテキストを決定する前記ステップは、前記TBの前記イントラ予測モード情報に基づいて、前記二次変換インデックスをエントロピー復号するための前記コンテキストを決定するステップを含む、
    請求項1に記載の方法。
  5. 前記TBの前記イントラ予測モード情報が公称モードインデックスを示し、前記TBが、前記公称モードインデックスおよび角度オフセットに基づいて決定される方向性予測モードを使用して予測され、
    前記コンテキストを決定する前記ステップは、前記公称モードインデックスに基づいて、前記二次変換インデックスをエントロピー復号するための前記コンテキストを決定するステップを含む、
    請求項4に記載の方法。
  6. 前記TBの前記イントラ予測モード情報が公称モードインデックスを示し、前記TBが、前記公称モードインデックスおよび角度オフセットに基づいて決定される方向性予測モードを使用して予測され、
    前記コンテキストを決定する前記ステップは、前記公称モードインデックスと関連付けられたインデックス値に基づいて、前記二次変換インデックスをエントロピー復号するための前記コンテキストを決定するステップを含む、
    請求項4に記載の方法。
  7. 前記TBの前記イントラ予測モード情報が非方向性予測モードインデックスを示し、前記TBが、前記非方向性予測モードインデックスによって示される非方向性予測モードを使用して予測され、
    前記コンテキストを決定する前記ステップは、前記非方向性予測モードインデックスに基づいて、前記二次変換インデックスをエントロピー復号するための前記コンテキストを決定するステップを含む、
    請求項4に記載の方法。
  8. 前記TBの前記イントラ予測モード情報が、前記TBを予測するために使用された再帰的フィルタリングモードを示し、
    前記方法は、前記再帰的フィルタリングモードに基づいて公称モードインデックスを決定するステップであって、前記公称モードインデックスが公称モードを示す、ステップを含み、
    前記コンテキストを決定する前記ステップは、前記公称モードインデックスに基づいて、前記二次変換インデックスをエントロピー復号するための前記コンテキストを決定するステップを含む、
    請求項4に記載の方法。
  9. 前記TBの前記イントラ予測モード情報、前記TBの前記サイズ、および前記TBに使用された前記一次変換タイプのうちの前記1つが、前記TBに使用された前記一次変換タイプを示し、
    前記コンテキストを決定する前記ステップは、前記TBに使用された前記一次変換タイプに基づいて、前記二次変換インデックスをエントロピー復号するための前記コンテキストを決定するステップを含む、
    請求項1に記載の方法。
  10. 前記一次変換タイプによって示される一次変換が、水平一次変換タイプによって示される水平変換および垂直一次変換タイプによって示される垂直変換を含み、
    前記コンテキストを決定する前記ステップは、前記水平一次変換タイプと前記垂直一次変換タイプとが両方とも離散コサイン変換(DCT)または両方とも非対称離散サイン変換(ADST)であるかどうかに基づいて、前記二次変換インデックスをエントロピー復号するための前記コンテキストを決定するステップをさらに含む、
    請求項9に記載の方法。
  11. 前記一次変換タイプによって示される一次変換が、水平一次変換タイプによって示される水平変換および垂直一次変換タイプによって示される垂直変換を含み、
    前記コンテキストを決定する前記ステップは、前記水平一次変換タイプと前記垂直一次変換タイプとが両方とも離散コサイン変換(DCT)または両方とも線グラフ変換(LGT)であるかどうかに基づいて、前記二次変換インデックスをエントロピー復号するための前記コンテキストを決定するステップをさらに含む、
    請求項9に記載の方法。
  12. 前記一次変換タイプによって示される一次変換が、水平一次変換タイプによって示される水平変換および垂直一次変換タイプによって示される垂直変換を含み、
    前記コンテキストを決定する前記ステップは、前記水平一次変換タイプと前記垂直一次変換タイプとが、(i)両方とも離散コサイン変換(DCT)か、(ii)両方とも線グラフ変換(LGT)か、(iii)それぞれDCTとLGTとか、それとも(iv)それぞれLGTとDCTとか、に基づいて、前記二次変換インデックスをエントロピー復号するための前記コンテキストを決定するステップをさらに含む、
    請求項9に記載の方法。
  13. 前記一次変換タイプによって示される一次変換が、水平一次変換タイプによって示される水平変換および垂直一次変換タイプによって示される垂直変換を含み、
    前記コンテキストを決定する前記ステップは、前記水平一次変換タイプと前記垂直一次変換タイプとが、(i)両方とも離散コサイン変換(DCT)か、(ii)両方とも線グラフ変換(LGT)か、(iii)それぞれDCTと恒等変換(IDTX)とか、それとも(iv)それぞれIDTXとDCTとか、に基づいて、前記二次変換インデックスをエントロピー復号するための前記コンテキストを決定するステップをさらに含む、
    請求項9に記載の方法。
  14. コーディングされたビデオビットストリームから変換ブロック(TB)のためのコーディングされた情報を復号し、前記コーディングされた情報が、前記TBのイントラ予測モード情報、前記TBのサイズ、および前記TBに使用された一次変換タイプのうちの1つを示し、前記TBの前記イントラ予測モード情報が前記TBに使用されたイントラ予測モードを示し、
    前記TBの前記イントラ予測モード情報、前記TBの前記サイズ、および前記TBに使用された前記一次変換タイプのうちの前記1つに基づいて、二次変換インデックスをエントロピー復号するためのコンテキストを決定し、前記二次変換インデックスが、前記TBに対して実行されるべき二次変換セット内の二次変換を示し、
    前記コンテキストに基づいて前記二次変換インデックスをエントロピー復号し、
    前記TBに対して前記二次変換インデックスによって示される前記二次変換を実行する
    ように構成された、処理回路
    を備える、ビデオ復号のための装置。
  15. 前記TBの前記イントラ予測モード情報、前記TBの前記サイズ、および前記TBに使用された前記一次変換タイプのうちの前記1つが、前記TBの前記サイズを示し、
    前記処理回路が、前記TBの前記サイズに基づいて、前記二次変換インデックスをエントロピー復号するための前記コンテキストを決定するように構成される、
    請求項14に記載の装置。
  16. 前記TBの前記イントラ予測モード情報、前記TBの前記サイズ、および前記TBに使用された前記一次変換タイプのうちの前記1つが、前記TBの前記イントラ予測モード情報を示し、
    前記処理回路が、前記TBの前記イントラ予測モード情報に基づいて、前記二次変換インデックスをエントロピー復号するための前記コンテキストを決定するように構成される、
    請求項14に記載の装置。
  17. 前記TBの前記イントラ予測モード情報、前記TBの前記サイズ、および前記TBに使用された前記一次変換タイプのうちの前記1つが、前記TBに使用された前記一次変換タイプを示し、
    前記処理回路が、前記TBに使用された前記一次変換タイプに基づいて、前記二次変換インデックスをエントロピー復号するための前記コンテキストを決定するように構成される、
    請求項14に記載の装置。
  18. 前記一次変換タイプによって示される一次変換が、水平一次変換タイプによって示される水平変換および垂直一次変換タイプによって示される垂直変換を含み、
    前記処理回路が、前記水平一次変換タイプと前記垂直一次変換タイプとが両方とも離散コサイン変換(DCT)または両方とも非対称離散サイン変換(ADST)であるかどうかに基づいて、前記二次変換インデックスをエントロピー復号するための前記コンテキストを決定するように構成される、
    請求項17に記載の装置。
  19. 前記一次変換タイプによって示される一次変換が、水平一次変換タイプによって示される水平変換および垂直一次変換タイプによって示される垂直変換を含み、
    前記処理回路が、前記水平一次変換タイプと前記垂直一次変換タイプとが両方とも離散コサイン変換(DCT)または両方とも線グラフ変換(LGT)であるかどうかに基づいて、前記二次変換インデックスをエントロピー復号するための前記コンテキストを決定するように構成される、
    請求項17に記載の装置。
  20. 前記一次変換タイプによって示される一次変換が、水平一次変換タイプによって示される水平変換および垂直一次変換タイプによって示される垂直変換を含み、
    前記処理回路が、前記水平一次変換タイプと前記垂直一次変換タイプとが、(i)両方とも離散コサイン変換(DCT)か、(ii)両方とも線グラフ変換(LGT)か、(iii)それぞれDCTとLGTとか、それとも(iv)それぞれLGTとDCTとか、に基づいて、前記二次変換インデックスをエントロピー復号するための前記コンテキストを決定するように構成される、
    請求項17に記載の装置。
JP2022549019A 2020-11-11 2021-06-29 ビデオコーディングのための方法、装置およびコンピュータプログラム Pending JP2023513772A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063112529P 2020-11-11 2020-11-11
US63/112,529 2020-11-11
US17/360,431 US11930186B2 (en) 2020-11-11 2021-06-28 Method and apparatus for video coding
US17/360,431 2021-06-28
PCT/US2021/039633 WO2022103444A1 (en) 2020-11-11 2021-06-29 Method and apparatus for video coding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2024060807A Division JP2024074928A (ja) 2020-11-11 2024-04-04 ビデオコーディングのための方法および装置

Publications (1)

Publication Number Publication Date
JP2023513772A true JP2023513772A (ja) 2023-04-03

Family

ID=81453773

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022549019A Pending JP2023513772A (ja) 2020-11-11 2021-06-29 ビデオコーディングのための方法、装置およびコンピュータプログラム

Country Status (6)

Country Link
US (2) US11930186B2 (ja)
EP (1) EP4055828A4 (ja)
JP (1) JP2023513772A (ja)
KR (1) KR20220100726A (ja)
CN (1) CN115088260A (ja)
WO (1) WO2022103444A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024020117A1 (en) * 2022-07-19 2024-01-25 Google Llc Dependent context model for transform types
WO2024049024A1 (ko) * 2022-08-29 2024-03-07 현대자동차주식회사 1차 변환 커널에 적응적인 분리 불가능한 2차 변환 기반 비디오 코딩을 위한 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018530247A (ja) * 2015-09-29 2018-10-11 クゥアルコム・インコーポレイテッドQualcomm Incorporated 再編成を備えるビデオコーディングのための非分離可能2次変換
US20180309990A1 (en) * 2015-10-13 2018-10-25 Samsung Electronics Co., Ltd. Method and device for encoding or decoding image
US20190387241A1 (en) * 2018-06-03 2019-12-19 Lg Electronics Inc. Method and apparatus for processing video signals using reduced transform
US20200304782A1 (en) * 2019-03-21 2020-09-24 Tencent America LLC Method and apparatus for video coding

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102526578B1 (ko) * 2018-07-02 2023-04-28 엘지전자 주식회사 이차 변환을 기반으로 비디오 신호를 처리하는 방법 및 장치
JP2020053924A (ja) * 2018-09-28 2020-04-02 シャープ株式会社 動画像符号化装置、動画像復号装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018530247A (ja) * 2015-09-29 2018-10-11 クゥアルコム・インコーポレイテッドQualcomm Incorporated 再編成を備えるビデオコーディングのための非分離可能2次変換
JP2018530245A (ja) * 2015-09-29 2018-10-11 クゥアルコム・インコーポレイテッドQualcomm Incorporated ビデオコーディングのための非分離可能2次変換
US20180309990A1 (en) * 2015-10-13 2018-10-25 Samsung Electronics Co., Ltd. Method and device for encoding or decoding image
US20190387241A1 (en) * 2018-06-03 2019-12-19 Lg Electronics Inc. Method and apparatus for processing video signals using reduced transform
US20200304782A1 (en) * 2019-03-21 2020-09-24 Tencent America LLC Method and apparatus for video coding

Also Published As

Publication number Publication date
US20220150510A1 (en) 2022-05-12
KR20220100726A (ko) 2022-07-15
CN115088260A (zh) 2022-09-20
EP4055828A1 (en) 2022-09-14
US11930186B2 (en) 2024-03-12
WO2022103444A1 (en) 2022-05-19
EP4055828A4 (en) 2023-03-08
US20240163455A1 (en) 2024-05-16

Similar Documents

Publication Publication Date Title
US11800126B2 (en) Video encoding using a directional mode and a non-separable transform
JP2022521515A (ja) 交差成分フィルタリングのための方法、装置、およびプログラム
JP2022176939A (ja) Vvcにおける色変換のための方法及び機器
US20240163455A1 (en) Entropy coding a secondary transform index based on primary transform type
US11677971B2 (en) Method and apparatus for video coding
JP2024029124A (ja) デコーダが実行するビデオデコーディングの方法、装置、及びプログラム、並びにエンコーダが実行するビデオコーディングの方法
US20230020637A1 (en) Quantizer for One-Dimensional Transform Skip
JP7451772B2 (ja) ビデオ情報を処理するための方法、デバイス、およびコンピュータプログラム
JP7472306B2 (ja) ビデオコーティングのための方法、及び装置
JP2023525214A (ja) 変換パーティショニングとプライマリ/セカンダリ変換タイプ選択との間の相互作用
JP2023525216A (ja) ビデオ情報を処理するための方法及びコンピュータプログラム
JP2024074928A (ja) ビデオコーディングのための方法および装置
KR20230170759A (ko) 1차원 변환 스킵을 위한 eob의 시그널링
JP2024507377A (ja) ビデオ処理の方法、デバイス、及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220812

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220812

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231024

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20240109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240508

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20240515