JP7472306B2 - ビデオコーティングのための方法、及び装置 - Google Patents

ビデオコーティングのための方法、及び装置 Download PDF

Info

Publication number
JP7472306B2
JP7472306B2 JP2022557969A JP2022557969A JP7472306B2 JP 7472306 B2 JP7472306 B2 JP 7472306B2 JP 2022557969 A JP2022557969 A JP 2022557969A JP 2022557969 A JP2022557969 A JP 2022557969A JP 7472306 B2 JP7472306 B2 JP 7472306B2
Authority
JP
Japan
Prior art keywords
block
transform
threshold
feature
subgroup
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.)
Active
Application number
JP2022557969A
Other languages
English (en)
Other versions
JP2023520197A (ja
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 JP2023520197A publication Critical patent/JP2023520197A/ja
Priority to JP2024063336A priority Critical patent/JP2024088772A/ja
Application granted granted Critical
Publication of JP7472306B2 publication Critical patent/JP7472306B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/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
    • 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
    • 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/136Incoming video signal characteristics or properties
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/172Methods 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 picture, frame or field
    • 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/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

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)
  • Color Television Systems (AREA)

Description

本出願は、2020年12月23日に出願された米国仮出願第63/130,249号の「Feature based transform selection」の優先権を主張する、2021年9月30日に出願された米国特許出願第17/490,967号の「METHOD AND APPARATUS FOR VIDEO CODING」の優先権を主張する。その開示を全て援用により本明細書に組み込むものとする。
[技術分野]
本開示は、全体として、ビデオコーティングの実施形態に関する。
本明細書で提供される背景技術の説明は、本開示の文脈を一般的に提示することを目的としている。本発明者らの研究は、この背景技術の項に記載されている限りにおいて、ならびに出願時に先行技術として認められないことがある説明の態様は、本開示に対する先行技術として明示的にも暗示的にも認められない。
ビデオコーディングおよびデコーディングは、動き補償を有するピクチャ間予測を使用して実行されることができる。非圧縮デジタルビデオは一連のピクチャを含むことができ、各ピクチャは、例えば、1920×1080ルマサンプルと関連するクロマサンプルの空間次元を持っている。該一連のピクチャは、例えば毎秒60ピクチャまたは60Hzの固定または可変ピクチャレート(非公式には「フレームレート」とも呼ばれる)を持つことができる。非圧縮ビデオには、特定のビットレート要件がある。例えば、サンプルあたり8ビットでの1080p60 4:2:0ビデオ(60Hzフレームレートでの1920×1080ルマサンプル解像度)には、1.5Gbit/sに近い帯域幅が必要となる。このようなビデオを1時間使用するには、600GBytesを超えた記憶空間が必要である。
ビデオコーティングおよびデコーディングの目的の1つは、圧縮による入力ビデオ信号の冗長性の低減であり得る。圧縮は、前述の帯域幅または記憶空間要件を、場合によっては2桁以上減らすのに役立ち得る。可逆圧縮および非可逆圧縮の両方、ならびにそれらの組み合わせを使用することができる。可逆圧縮とは、原信号の正確な複製を圧縮された原信号から再構成することができる技術を指す。非可逆圧縮を使用する場合、再構成された信号は原信号と同一ではないことがあるが、原信号と再構成された信号との間の歪みは、再構成された信号を意図したアプリケーションに役立てるのに十分小さい。ビデオの場合、非可逆圧縮が広く採用されている。許容される歪みの量はアプリケーションに依存し、例えば、特定の消費者向けストリーミングアプリケーションのユーザは、テレビ配信アプリケーションのユーザよりも高い歪みを許容することがある。達成可能な圧縮比は、より高い許容可能/容認可能な歪みがより高い圧縮比をもたらすことができることを反映することができる。
ビデオエンコーダおよびデコーダは、例えば、動き補償、変換、量子化、およびエントロピーコーディングを含む、いくつかの広範なカテゴリからの技術を利用し得る。
ビデオコーデック技術は、イントラコーディングとして知られる技術を含み得る。イントラコーディングでは、サンプル値は、予め再構成された参照ピクチャからのサンプルまたは他のデータを参照せずに表される。一部のビデオコーデックでは、ピクチャは空間的にサンプルのブロックに細分される。サンプルのすべてのブロックがイントラモードでコーディングされると、そのピクチャはイントラピクチャになる可能性がある。イントラピクチャとその独立したデコーダリフレッシュピクチャなどの派生物は、デコーダの状態をリセットするために使用できるため、コーディングされたビデオビットストリームとビデオセッションの最初のピクチャとして、または静止ピクチャとして使用されることができる。イントラブロックのサンプルは変換にさらされることができ、変換係数はエントロピーコーディングの前に量子化されることができる。イントラ予測は、事前変換領域でサンプル値を最小化する技術であり得る。場合によっては、変換後のDC値が小さく、AC係数が小さいほど、エントロピーコーディング後のブロックを表すために所定の量子化ステップサイズで必要とされるビットが少なくなる。
例えばMPEG-2世代コーディング技術から知られているような従来のイントラコーディングは、イントラ予測を使用しない。しかしながら、いくつかのより新しいビデオ圧縮技術は、例えば、空間的に隣接し、デコーディング順で先に位置する、エンコーディング/デコーディング中に得られた周囲のサンプルデータおよび/またはメタデータから試みる技術を含む。そのような技術は、以降、「イントラ予測」技術と呼ばれる。少なくともいくつかのケースでは、イントラ予測は、再構成中の現在のピクチャからの参照データのみを使用し、参照ピクチャからの参照データを使用しないことに留意されたい。
イントラ予測はさまざまな形態で存在し得る。そのような技術の複数が所定のビデオコーディング技術に使用できる場合、使用中の技術はイントラ予測モードでコーディングされることができる。場合によっては、モードはサブモードおよび/またはパラメータを有することができ、それらを個別にコーディングするか、もしくはモードコードワードに含めることができる。どのコードワードが所定のモード/サブモード/パラメータの組み合わせに使用されるかは、イントラ予測によるコーディング効率の向上に影響を与える可能性があり、コードワードをビットストリームに変換するために使用されるエントロピーコーディング技術も同様である。
イントラ予測の特定のモードはH.264で提出され、H.265で改良され、さらに共同探索モデル(JEM)、多用途ビデオコーディング(VVC)、およびベンチマークセット(BMS)などのより新しいコーディング技術で改良された。予測器ブロックは、すでに利用可能なサンプルに属する隣接サンプル値を使用して形成されることができる。隣接サンプルのサンプル値は、方向に従って予測器ブロックに複製される。使用中の方向への参照は、ビットストリーム内でコーディングされ得るか、またはそれ自体が予測され得る。
図1Aを参照し、右下に示されているのは、H.265の33通りの可能な予測器方向(35通りのイントラモードの33通りの角度モードに対応する)からの9通りの予測器方向のサブセットである。矢印が収束する点(101)は、予測されるサンプルを表す。矢印は、サンプルが予測される方向を表す。例えば、矢印(102)は、サンプル(101)が、水平から45度の角度で右上への1つまたは複数のサンプルから予測されることを示す。同様に、矢印(103)は、サンプル(101)が、サンプル(101)の水平から22.5度の角度で左下への1つまたは複数のサンプルから予測されることを示す。
引き続き図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)(すなわち、水平から45度の角度で右上への1つまたは複数の予測サンプルから予測される)と一致する予測方向を示すシグナリングを含むとする。この場合、サンプル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は、X及びYの2次元、又は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を直接コーディングする代わりに、複数の参照ピクチャに関連付けられたメタデータから、例えば、A0、A1、及びB0、B1、B2(それぞれ102から106)と示される5つの周囲サンプルのいずれかに関連付けられたMVを使用して、(デコーディングする順から)最新の参照ピクチャから、MVを導出することができる。H.265では、MV予測は、隣接ブロックが使用しているのと同じ参照ピクチャからの予測器を使用することができる。
本開示の態様は、ビデオエンコーディングおよび/またはデコーディングのための方法および装置を提供する。いくつかの例では、ビデオデコーディングのための装置は、処理回路を含む。処理回路は、現在のピクチャのブロックの1つまたは複数の隣接ブロックにおける再構成サンプルから抽出された特徴ベクトル
Figure 0007472306000001
または特徴スカラーSのうちの1つに基づいて、変換セットのグループからブロックの変換候補を決定することができる。変換セットのグループの各変換セットは、ブロックの1つまたは複数の変換候補を含むことができる。1つまたは複数の隣接ブロックは、現在のピクチャまたは現在のピクチャと異なる再構成ピクチャにあることができる。処理回路は、決定された変換候補に基づいて、ブロックのサンプルを再構成することができる。
実施形態では、ブロックのコーディングされた情報で示されるブロックの予測モードに基づいて、変換セットのグループから、変換セットのサブグループを選択することができる。ブロックの1つまたは複数の隣接ブロックにおける再構成サンプルから抽出された特徴ベクトル
Figure 0007472306000002
または特徴スカラーSのうちの1つに基づいて、変換セットのサブグループから、変換候補を決定することができる。
一例では、ブロックの1つまたは複数の隣接ブロックにおける再構成サンプルから抽出された特徴ベクトル
Figure 0007472306000003
または特徴スカラーSのうちの1つに基づいて、変換セットのサブグループの1つの変換セットを選択することができる。コーディングされた情報でシグナリングされたインデックスに基づいて、変換セットのサブグループの選択された1つの変換セットから、ブロックの変換候補を決定することができる。
一例では、コーディングされた情報でシグナリングされたインデックスに基づいて、変換セットのサブグループから、1つの変換セットを選択することができる。ブロックの1つまたは複数の隣接ブロックにおける再構成サンプルから抽出された特徴ベクトル
Figure 0007472306000004
または特徴スカラーSのうちの1つに基づいて、変換セットのサブグループの選択された1つの変換セットから、ブロックの変換候補を決定することができる。
一例では、ブロックの1つまたは複数の隣接ブロックにおける再構成サンプルから抽出された特徴ベクトル
Figure 0007472306000005
または特徴スカラーSのうちの1つに基づいて、変換セットのサブグループから、変換候補を暗黙的に決定することができる。
一例では、ブロックの1つまたは複数の隣接ブロックにおける再構成サンプルの統計分析に基づいて、特徴ベクトル
Figure 0007472306000006
または特徴スカラーSのうちの1つを決定することができる。ブロックのコーディングされた情報で示されるブロックの予測モードに基づいて、変換セットのグループから、変換セットのサブグループを選択することができる。処理回路は、(i)特徴ベクトル
Figure 0007472306000007
または特徴スカラーSのうちの1つに基づいて、変換セットのサブグループから変換セットを決定すること、(ii)特徴ベクトル
Figure 0007472306000008
または特徴スカラーSのうちの1つに基づいて、変換セットのサブグループから変換候補を決定すること、または、(iii)コーディングされた情報のインデックスに基づいて、変換セットのサブグループから変換セットを選択し、特徴ベクトル
Figure 0007472306000009
または特徴スカラーSのうちの1つに基づいて、
選択された変換セットから変換候補を決定することのうちのいずれか1つを実行することができる。
一例では、特徴ベクトル
Figure 0007472306000010
または特徴スカラーSのうちの1つは、特徴スカラーSである。特徴スカラーSを、ブロックの1つまたは複数の隣接ブロックにおける再構成サンプルのサンプル値を示す変数のモーメントとして決定する。
一例では、しきい値セットKが予め定義されている。処理回路は、(i)変数のモーメントとしきい値セットKからのしきい値に基づいて、変換セットのサブグループから、変換セットを決定すること、(ii)変数のモーメントとしきい値に基づいて、変換セットのサブグループから変換候補を決定すること、または(iii)コーディングされた情報のインデックスに基づいて、変換セットのサブグループから変換セットを選択し、変数のモーメントとしきい値に基づいて、選択された変換セットから変換候補を決定することのうちのいずれか1つを実行する。
一例では、変数のモーメントは、変数の1次モーメント、変数の2次モーメント、または変数の3次モーメントのうちの1つである。ブロックの予測モードは、複数の予測モードのうちの1つである。複数の予測モードのそれぞれは、しきい値セットKにおける一意のしきい値サブセットK'に対応し、一意のしきい値サブセットK'は、複数の予測モードと、しきい値セットKにおける複数のしきい値サブセットとの間の単射マッピングを示している。
一例では、処理回路は、(i)ブロックのブロックサイズ、(ii)量子化パラメータ、または(iii)ブロックの予測モードのうちの1つに基づいて、しきい値セットKからしきい値を選択する。
一例では、特徴ベクトル
Figure 0007472306000011
または特徴スカラーSのうちの1つは、特徴ベクトル
Figure 0007472306000012
である。特徴ベクトル
Figure 0007472306000013
を、ブロックの左側にある隣接列の再構成サンプルのサンプル値と、ブロックの上側にある隣接行の再構成サンプルのサンプル値をそれぞれ示す変数の共同変動として決定する。
一例では、分類ベクトルセット
Figure 0007472306000014
、および前記分類ベクトルセット
Figure 0007472306000015
に関連付けられたしきい値セットKが予め定義されている。処理回路は、変数の共同変動と、分類ベクトルセット
Figure 0007472306000016
に含まれる分類ベクトルサブセット
Figure 0007472306000017
から選択された分類ベクトルとの間の距離を算出する。処理回路は、(i)距離と、しきい値セットKに含まれるしきい値サブセットK’から選択されたしきい値との比較に基づいて、変換セットのサブグループから変換セットを決定すること、(ii)距離としきい値との比較に基づいて、変換セットのサブグループから変換候補を決定すること、または、(iii)コーディングされた情報のインデックスに基づいて、変換セットのサブグループから変換セットを選択し、距離としきい値との比較に基づいて、選択された変換セットから変換候補を決定することのうちのいずれか1つを実行する。
本開示の態様は、ビデオデコーディングのためにコンピュータによって実行される場合、ビデオデコーディングおよび/またはエンコーディングのための方法をコンピュータに実行させる命令を記憶した非一時的なコンピュータ読取可能な媒体をさらに提供する。
開示された主題のさらなる特徴、本質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになるであろう。
イントラ予測モードの例示的なサブセットの概略図である。 例示的なイントラ予測方向の図である。 一例における現在のブロックおよびその周囲の空間マージ候補の概略図である。 一実施形態による通信システム(300)の簡略ブロック図の概略図である。 一実施形態による通信システム(400)の簡略ブロック図の概略図である。 実施形態によるデコーダの簡略ブロック図の概略図である。 実施形態によるエンコーダの簡略ブロック図の概略図である。 別の実施形態によるエンコーダのブロック図を示す。 別の実施形態によるデコーダのブロック図を示す。 本開示の実施形態によるコーディングブロックの公称モードの例を示す。 本開示の態様による無指向性平滑イントラ予測モードの例を示す。 本開示の実施形態による再帰フィルタリングに基づくイントラ予測器の例を示す。 本開示の実施形態によるコーディングブロック用の複数の参照線の例を示す。 本開示の実施形態による一次変換基底関数の例を示す。 本開示の実施形態による変換ブロックサイズおよび予測モードに基づく様々な変換カーネルの可用性の例示的な依存性を示す。 本開示の一実施形態によるイントラ予測モードに基づく例示的な変換タイプの選択を示す。 本開示の実施形態による16x64変換および16x48変換を別々に使用する2つの変換コーディングプロセス(1700)および(1800)の例を示す。 本開示の実施形態による16x64変換および16x48変換を別々に使用する2つの変換コーディングプロセス(1700)および(1800)の例を示す。 図17(A)~図17(D)は本開示の実施形態によるイントラ予測モードについて観察された例示的な残留パターン(グレースケール)を示す。 本開示の実施形態によるブロックの例示的な空間隣接サンプルを示す。 本開示の実施形態によるプロセス(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は、開示された主題のアプリケーションの例として、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置を示している。開示された主題は、例えば、ビデオ会議、デジタルTV、および、CD、DVD、メモリスティックなどを含むデジタルメディアへの圧縮ビデオの記憶など、を含む他のビデオ機能アプリケーションに同様に適用可能である。
ストリーミングシステムは、例えば非圧縮のビデオピクチャストリーム(402)を作成するデジタルカメラなどのビデオソース(401)を含み得るキャプチャサブシステム(413)を含んでもよい。一例では、ビデオピクチャストリーム(402)は、デジタルカメラによって撮像されたサンプルを含む。コーディングされたビデオデータ(404)(又はコーディングされたビデオビットストリーム)と比較した際の高いデータ量を強調するために太線で示されたビデオピクチャストリーム(402)は、ビデオソース(401)に結合されたビデオエンコーダ(403)を含む電子機器(420)によって処理され得る。ビデオエンコーダ(403)は、以下でより詳細に説明されるように、開示された主題の態様を可能にするか或いは実施するためのハードウェア、ソフトウェア、またはそれらの組み合わせを含むことができる。ビデオピクチャ(402)のストリームと比較した際の低いデータ量を強調するために細い線で示された、コーディングされたビデオデータ(404)(またはコーディングされたビデオビットストリーム(404))は、将来に使用するためにストリーミングサーバ(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)が十分な帯域幅および制御性を有する記憶/転送装置から、または等同期ネットワークからデータを受信する際に、バッファメモリ(515)は必要とされず、または小さくされる場合がある。インターネットなどのベストエフォートパケットネットワークで使用するために、バッファメモリ(515)が必要になる場合があり、バッファメモリ(515)は、比較的大きくされ、有利には適応サイズとすることができ、ビデオデコーダ(510)の外部のオペレーティングシステムまたは類似の要素(図示せず)に少なくとも部分的に実現され得る。
ビデオデコーダ(510)は、コーディングされたビデオシーケンスからシンボル(521)を再構成するパーサ(520)を含んでもよい。これらのシンボルのカテゴリは、ビデオデコーダ(510)の操作を管理するために使用される情報、および、電子機器(530)の構成部分ではないが、図5に示されるように電子機器(530)に結合され得るレンダリングデバイス(512)(例えば、表示画面)のようなレンダリングデバイスを制御する潜在的情報を含む。レンダリングデバイスのための制御情報は、補足拡張情報(SEIメッセージ)またはビデオユーザビリティ情報(VUI)パラメータセットフラグメント(図示せず)の形式でもよい。パーサ(520)は、受信されたコーディングされたビデオシーケンスを解析/エントロピーデコーディングすることができる。コーディングされたビデオシーケンスのコーディングは、ビデオコーディング技術または規格に従うことができ、可変長コーディング、ハフマンコーディング、文脈依存を有するまたは有しない算術コーディングなどを含む様々な原理に従うことができる。パーサ(520)は、グループに対応する少なくとも1つのパラメータに基づいて、コーディングされたビデオシーケンスから、ビデオデコーダにおける画素の少なくとも1つのサブグループのためのサブグループパラメータのセットを抽出することができる。サブグループは、グループオブピクチャ(GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。パーサ(520)は、コーディングされたビデオシーケンスから変換係数、量子化パラメータ値、動きベクトルなどのような情報を抽出することもできる。
パーサ(520)は、シンボル(521)を作成するために、バッファメモリ(515)から受信されたビデオシーケンスに対してエントロピーデコーディング/解析操作を実行することができる。
シンボル(521)の再構成には、コーディングされたビデオピクチャまたはその一部(例えば、インターおよびイントラピクチャ、インターおよびイントラブロック)のタイプ、および他の要因に応じて、複数の異なるユニットが関与できる。どのユニットがどのように関与するかは、パーサ(520)によってコーディングされたビデオシーケンスから解析されたサブグループ制御情報によって制御され得る。明確化にするために、パーサ(520)と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは示されていない。
すでに述べた機能ブロックに加えて、ビデオデコーダ(510)は、以下で説明されるようにいくつかの機能ユニットに概念的に細分され得る。商業的な制約の下で実際の実現にあたっては、これらのユニットの多くは互いに密接に相互作用し、少なくとも一部に互いに統合することができる。しかしながら、開示された主題の説明の目的で、以下の機能ユニットへの概念的な細分化が適切である。
第1のユニットは、スケーラ/逆変換ユニット(551)である。スケーラ/逆変換ユニット(551)は、使用する変換、ブロックサイズ、量子化因子、量子化スケーリング行列などを含む制御情報と、量子化された変換係数をシンボル(521)としてパーサ(520)から受信する。スケーラ/逆変換ユニット(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のような規格での所定のビデオ圧縮技術に従ってデコーディング操作を実行することができる。コーディングされたビデオシーケンスが、ビデオ圧縮技術または規格の構文と、ビデオ圧縮技術または規格で文書化されたプロファイルとの両方に準拠しているという意味で、コーディングされたビデオシーケンスは、使用されているビデオ圧縮技術または規格によって指定されるシンタックスに準拠し得る。具体的には、プロファイルは、ビデオ圧縮技術または規格で使用可能なすべてのツールから、特定のツールをそのプロファイルで使用できる一意のツールとして選択することができる。コーディングされたビデオシーケンスの複雑さがビデオ圧縮技術または規格のレベルで定義される範囲内にあることも、コンプライアンスに必要である。場合によっては、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えば、1秒あたりのメガサンプルで測定される)、最大参照ピクチャサイズなどがレベルによって制限される。レベルによって設定された制限は、場合によっては、仮想参照デコーダ(HRD)仕様およびコーディングされたビデオシーケンスでシグナリングされたHRDバッファ管理のためのメタデータによってさらに制限され得る。
実施形態では、受信機(531)は、コーディングされたビデオとともに追加の(冗長な)データを受信することができる。追加のデータは、コーディングされたビデオシーケンスの一部として含まれてもよい。追加のデータは、データを適切にデコーディングし、および/または、元のビデオデータをより正確に再構成するためにビデオデコーダ(510)によって使用され得る。追加のデータは、例えば、時間的、空間的、または信号対雑音比(SNR)エンハンスメントレイヤ、冗長スライス、冗長ピクチャ、前方向誤り訂正コードなどの形式であり得る。
図6は、本開示の実施形態によるビデオエンコーダ(603)のブロック図を示す。ビデオエンコーダ(603)は、電子機器(620)に含まれる。電子機器(620)は、送信機(640)(例えば、送信回路)を含む。ビデオエンコーダ(603)は、図4の例におけるビデオエンコーダ(403)の代わりに使用され得る。
ビデオエンコーダ(603)は、ビデオエンコーダ(603)によってコーディングされるビデオ画像をキャプチャし得るビデオソース(60l)(図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)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化、レート歪み最適化技術のラムダ値、・・・)、ピクチャサイズ、グループオブピクチャ(GOP)レイアウト、最大動きベクトル検索範囲などを含むことができる。コントローラ(650)は、特定のシステム設計に対して最適化されたビデオエンコーダ(603)に関する他の適切な機能を有するように構成され得る。
いくつかの実施形態では、ビデオエンコーダ(603)は、コーディングループで動作するように構成される。過度に簡略化した説明として、一例では、コーディングループは、ソースコーダー(630)(例えば、コーディングしようとする入力ピクチャおよび参照ピクチャに基づくシンボルストリームなどのシンボルの作成を担当する)、およびビデオエンコーダ(603)に埋め込まれた(ローカル)デコーダ(633)を含み得る。デコーダ(633)は、(リモート)デコーダが作成するのと同様な方法でサンプルデータを作成するためにシンボルを再構成する(シンボルとコーディングされたビデオビットストリーム間の如何なる圧縮は、開示された主題で考慮されるビデオ圧縮技術では可逆であるため)。再構成されたサンプルストリーム(サンプルデータ)は参照ピクチャメモリ(634)に入力される。シンボルストリームのデコーディングは、デコーダの位置(ローカルまたはリモート)に関係なくビット正確な結果につながるため、参照ピクチャメモリ(634)のコンテンツもローカルエンコーダとリモートエンコーダの間でビット正確である。言い換えれば、エンコーダの予測部分は、参照ピクチャサンプルとして、デコーディング中に予測を使用する際にデコーダが「見る」のと全く同じサンプル値を「見る」。参照ピクチャの同期性(および例えばチャネルエラーに起因して同期性を維持できない場合に生じるドリフト)のかような基本原理は、いくつかの関連分野にも使用されている。
「ローカル」デコーダ(633)の動作は、前文で図5を参照して既に詳細に説明された、ビデオデコーダ(510)などの「リモート」デコーダの動作と同様であり得る。しかしながら、図5を簡単に参照すると、シンボルが使用可能であり、エントロピーコーダー(645)およびパーサ(520)によるコーディングビデオシーケンスへのシンボルのエンコーディング/デコーディングは可逆であり得るので、バッファメモリ(515)、およびパーサ(520)を含むビデオデコーダ(510)のエントロピーデコーディング部分は、ローカルデコーダ(633)では完全に実現されない場合がある。
この点から分かるように、デコーダに存在する解析/エントロピーデコーディング以外の如何なるデコーダ技術も、対応するエンコーダに実質的に同一の機能的形態で必ず存在する必要がある。このため、開示された主題は、デコーダ操作を中心とする。エンコーダ技術の説明は、包括的に説明されたデコーダ技術と逆なものであるため、省略できる。特定の領域でのみ、より詳細な説明が必要となり、以下に提供される。
操作中、いくつかの例では、ソースコーダー(630)は、「参照ピクチャ」として指定されたビデオシーケンスからの1つまたは複数の以前にコーディングされたピクチャを参照して入力ピクチャを予測的にコーディングする動き補償予測コーディングを実行してもよい。このようにして、コーディングエンジン(632)は、入力ピクチャの画素ブロックと、入力ピクチャへの予測基準として選択され得る参照ピクチャの画素ブロックとの差異をコーディングする。
ローカルビデオデコーダ(633)は、ソースコーダー(630)で作成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャのコーディングされたビデオデータをデコーディングすることができる。コーディングエンジン(632)の操作は、有利にはロッシープロセスであり得る。コーディングされたビデオデータをビデオデコーダ(図6に示せず)でデコーディングできる際、再構成されたビデオシーケンスは、通常、いくつかのエラーを伴うソースビデオシーケンスのレプリカであってもよい。ローカルビデオデコーダ(633)は、ビデオデコーダによって参照ピクチャを実行し得るデコーディングプロセスを複製し、再構成された参照ピクチャを参照ピクチャキャッシュ(634)に記憶させることができる。このようにして、ビデオエンコーダ(603)は、遠端ビデオデコーダによって取得される再構成された参照ピクチャと共通するコンテンツ(送信エラー無し)を有する再構成された参照ピクチャのコピーをローカルに記憶し得る。
予測器(635)は、コーディングエンジン(632)に対する予測検索を実行できる。つまり、コーディング対象となる新しいピクチャについて、予測器(635)は、(候補の参照画素ブロックとしての)サンプルデータ、または、参照ピクチャの動きベクトル、ブロック形状など、新しいピクチャの適切な予測基準として機能し得る特定のメタデータを参照ピクチャメモリ(634)から検索することができる。予測器(635)は、適切な予測基準を見つけるために、サンプルブロック/画素ブロックごとに操作することができる。場合によっては、予測器(635)で取得された検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(634)に記憶された複数の参照ピクチャから引き出された予測基準を有してもよい。
コントローラ(650)は、例えば、ビデオデータをコーディングするために使用されるパラメータおよびサブグループパラメータの設定を含む、ソースコーダー(630)のコーディング操作を管理することができる。
前述のすべての機能ユニットの出力は、エントロピーコーダー(645)においてエントロピーコーディングを受け得る。エントロピーコーダー(645)は、例えば、ハフマンコーディング、可変長コーディング、算術コーディングなどの技術に従ってシンボルを可逆圧縮することにより、様々な機能ユニットによって生成されたシンボルをコーディングビデオシーケンスに変換する。
送信機(640)は、コーディングされたビデオデータを記憶する記憶装置へのハードウェア/ソフトウェアリンクであり得る通信チャネル(660)を介した送信の準備のために、エントロピーコーダー(645)によって作成されたコーディングされたビデオシーケンスをバッファリングすることができる。送信機(640)は、ビデオコーダ(603)からのコーディングされたビデオデータを、送信されるべき他のデータ、例えば、コーディングされたオーディオデータおよび/または補助データストリーム(ソースは示されていない)とマージすることができる。
コントローラ(650)は、ビデオエンコーダ(603)の操作を管理し得る。コーディングの際に、コントローラ(650)は、各コーディングされたピクチャに特定のコーディングピクチャタイプを割り当てることができ、これは、それぞれのピクチャに適用され得るコーディング技術に影響を及ぼし得る。例えば、ピクチャは、通常、次のピクチャタイプのいずれかに割り当てられ得る。
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の他のいかなるピクチャを使用せずにコーディングおよびデコーディングされ得るものであり得る。一部のビデオコーデックは、例えば、インディペンデントデコーダリフレッシュ(Independent Decoder Refresh、「IDR」)ピクチャを含む、異なるタイプのイントラピクチャを許容する。当業者は、Iピクチャのそれらの変形およびそれらのそれぞれの用途および特徴を知っている。
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために最大1つの動きベクトルおよび参照インデックスを使用したイントラ予測またはインター予測によりコーディングおよびデコーディングされ得るものであり得る。
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために最大2つの動きベクトルおよび参照インデックスを使用したイントラ予測またはインター予測によりコーディングおよびデコーディングされ得るものであり得る。同様に、複数の予測ピクチャは、単一のブロックを再構成するために2つを超える参照ピクチャおよび関連メタデータを使用することができる。
ソースピクチャは、一般に、複数のサンプルブロック(例えば、それぞれ、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は、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は、ルマ予測ブロック(PB)と2つのクロマPBを含む。実施形態では、コーディング(エンコーディング/デコーディング)における予測操作は、予測ブロックの単位で実行される。ルマ予測ブロックを予測ブロックの例として用いて、予測ブロックは、8×8画素、16×16画素、8×16画素、16×8画素など画素の値(例えば、ルマ値)の行列を含む。
図7は、本開示の他の実施形態によるビデオエンコーダ(703)の図を示す。ビデオエンコーダ(703)は、ビデオピクチャシーケンスにおける現在のビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックを、コーディングされたビデオシーケンスの一部であるコーディングされたピクチャにコーディングするように構成される。一例では、図4の例におけるビデオエンコーダ(403)の代わりにビデオエンコーダ(703)を使用する。
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)は、残差算出部(723)が使用するためのイントラモード結果を選択するようにスイッチ(726)を制御するとともに、イントラ予測情報を選択してイントラ予測情報をビットストリームに含ませるようにエントロピーエンコーダ(725)を制御する。また、モードがインターモードである場合、汎用コントローラ(721)は、残差算出部(723)が使用するためのインター予測結果を選択するようにスイッチ(726)を制御するとともに、インター予測情報を選択してインター予測情報をビットストリームに含ませるようにエントロピーエンコーダ(725)を制御する。
残差算出部(723)は、受信されたブロックとイントラエンコーダ(722)またはインターエンコーダ(730)から選択された予測結果との差(残差データ)を算出するように構成される。残差エンコーダ(724)は、残差データに基づいて動作し、残差データをコーディングして変換係数を生成するように構成される。一例では、残差エンコーダ(724)は、残差データを空間領域から周波数領域へ変換し、変換係数を生成するように構成される。その後、変換係数に対して量子化処理を行い、量子化された変換係数を得る。様々な実施形態では、ビデオエンコーダ(703)は、残差デコーダ(728)をさらに含む。残差デコーダ(728)は、逆変換を実行し、デコーディングされた残差データを生成するように構成される。デコーディングされた残差データは、イントラエンコーダ(722)およびインターエンコーダ(730)によって適切に使用され得る。例えば、インターエンコーダ(730)は、デコーディング残差データよびインター予測情報に基づいて、デコーディングブロックを生成することができ、且つイントラエンコーダ(722)は、デコーディングされた残差データおよびイントラ予測情報に基づいて、デコーディングブロックを生成することができる。いくつかの例では、デコーディングブロックは、デコーディングピクチャを生成するように適切に処理され、デコーディングピクチャは、メモリ回路(図示せず)にバッファリングされ、参照ピクチャとして使用され得る。
エントロピーエンコーダ(725)は、コーディングされたブロックを含むようにビットストリームをフォーマットするように構成される。エントロピーエンコーダ(725)は、HEVC規格などの適切な規格に従って様々な情報を含むように構成される。一例では、エントロピーエンコーダ(725)は、汎用制御データ、選択された予測情報(例えば、イントラ予測情報またはインター予測情報)、残差情報、およびビットストリームにおける他の適切な情報を含むように構成される。開示された主題によれば、インターモードまたは双方向予測モードのマージサブモードでブロックをコーディングする場合、残差情報はないことに留意されたい。
図8は、本開示の他の実施形態によるビデオデコーダ(810)の図を示す。ビデオデコーダ(810)は、コーディングされたビデオシーケンスの一部であるコーディングされたピクチャを受信し、コーディングされたピクチャをデコーディングして、再構成ピクチャを生成するように構成される。一例では、図4の例におけるビデオデコーダ(410)の代わりにビデオデコーダ(810)を使用する。
図8の例では、ビデオデコーダ(810)は、図8に示されるように互いに結合されたエントロピーデコーダ(871)、インターデコーダ(880)、残差デコーダ(873)、再構成モジュール(874)、およびイントラデコーダ(872)を含む。
エントロピーデコーダ(871)は、コーディングされたピクチャから、コーディングされたピクチャを構成する構文要素を表す特定のシンボルを再構成するように構成されることができる。このようなシンボルは、例えば、ブロックがコーディングされるモード(例えば、イントラモード、インターモード、双方向予測モード、後の両者のマージサブモードまたは他のサブモード)、それぞれイントラデコーダ(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)および(703)とビデオデコーダ(410)、(510)および(810)は、ソフトウェア命令を実行する1つまたは複数のプロセッサを用いて実現され得る。
ブロックの1つまたは複数の隣接ブロックの再構成サンプル(例えば、特徴インジケータ(例えば、ブロックの1つまたは複数の隣接ブロックの再構成サンプルの特徴ベクトルまたは特徴スカラー)に基づく変換セットまたは変換カーネル選択スキームに関連するビデオコーディング技術が開示されている。ビデオコーディングフォーマットは、AOMedia Video 1(AV1)またはAV1を超える次世代のAOMedia Videoフォーマットのような、インターネッを介したビデオ伝送のために設計されたオープンビデオコーディングフォーマットを含み得る。また、ビデオコーディング規格は、高効率ビデオコーディング(High Efficiency Video Coding、HEVC)規格や、HEVCを超える次世代のビデオコーディング(例えば、多用途ビデオコーディング(Versatile Video Coding、VVC))などを含み得る。
イントラ予測、例えばAV1、VVCなどにおいて、様々なイントラ予測モードを使用し得る。実施形態では、例えばAV1において、指向性イントラ予測が使用される。指向性イントラ予測では、ブロックの予測サンプルは、一方向に沿って隣接する再構成サンプルから外挿することによって生成できる。方向は角度に対応する。ブロックの予測サンプルを予測するために指向性イントラ予測で使用されるモードは、指向性モードと呼ばれることがある(指向性予測モード、指向性イントラモード、指向性イントラ予測モード、角度モードとも呼ばれる)。各々の指向性モードは、異なる角度または異なる方向に対応し得る。一例では、例えばオープンビデオコーディングフォーマットVP9では、45°から207°までの8つの角度に対応する8通りの指向性モードが使用される。8通りの指向性モードは、公称モード(例えば、V_PRED、H_PRED、D45_PRED、D135_PRED、D113_PRED、D157_PRED、D203_PRED、およびD67_PRED)と呼ばれることもできる。指向性テクスチャ(例えばAV1)ではより多様な空間的冗長性を利用するために、指向性モードは、例えば、8つの公称モードを超えて、図9に示すように、より細かい粒度およびより多くの角度(または方向)を有する角度セットに拡張され得る。
図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モード)とともにシグナリングされることができる。続いて、現在の予測モードが指向性モード(または角度モード)である場合、公称角度に対応する角度オフセット(例えば、オフセット整数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)は再構成されていないため、右上隣接サンプル(1015)の値および左下隣接サンプル(1017)の値は、それぞれ右サンプル(1014)およびボトムサンプル(1016)の値を置き換えることができる。したがって、第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を有する。
いくつかの例では、例えばAV1のために、複数(例えば5つ)のフィルタイントラモード(または複数の再帰フィルタリングモード)が予め設計されている。各フィルタイントラモードは、対応する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つは再構成されていないため、直近の隣接要素の予測値(または直近の隣接要素の予測サンプル)を基準として使用することができる。例えば、パッチB7の7つの隣接要素R70~R76は再構成されていないので、直近の隣接要素の予測サンプルを使用することができる。
クロマサンプルは、ルマサンプルから予測され得る。一実施形態では、ルマからのクロマ(chroma from luma)モード(例えば、CfLモード、CfL予測器)は、クロマサンプル(または画素)を、一致する再構成されたルマサンプル(または画素)の線形関数としてモデル化できるクロマのみのイントラ予測器である。例えば、CfL予測は、以下のように式2を用いて表現できる。
CfL(α)=αL+D (式2)
ここで、Lはルマ成分のAC寄与を表し、αは線形モデルのスケーリングパラメータを表し、Dはクロマ成分のDC寄与を表す。一例では、再構成されたルマ画素は、クロマ解像度に基づいてサブサンプリングされ、平均値を減算してAC寄与(例えば、L)が得られる。AC寄与からクロマAC成分を近似するために、デコーダによるスケーリングパラメータαの計算に代わって、いくつかの例では、例えば、AV1では、CfLモードはオリジナルのクロマ画素に基づいてスケーリングパラメータαを決定し、ビットストリームでスケーリングパラメータαをシグナリングすることで、デコーダの複雑さを軽減しつつ、より正確な予測を得ることができる。クロマ成分のDC寄与は、イントラDCモードを用いて求められる。イントラDCモードは、ほとんどのクロマコンテンツに対して十分であり、成熟した高速実現が可能である。
マルチラインイントラ予測は、イントラ予測のために、より多くの参照線を使用することができる。参照線は、ピクチャ内の複数のサンプルを含み得る。一例では、参照線は、行のサンプルおよび列のサンプルを含む。一例では、エンコーダは、イントラ予測器を生成するために使用される参照線を決定し、シグナリングすることができる。参照線を示すインデックス(参照線インデックスとも呼ばれる)は、イントラ予測モードの前にシグナリングされ得る。一例では、非ゼロの参照線インデックスがシグナリングされた場合、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つまたは適切な組み合わせを使用して予測され得る。
以下にて、AОMedia Videо 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の間で実行される。
本開示に記載されているような拡張コーディングブロックパーティションをサポートするために、複数の変換サイズ(例えば、各次元について4ポイントから64ポイントまでの範囲)および変換形状(例えば、正方形、幅と高さの比が2:1、1:2、4:1または1:4である矩形)が、例えばAV1などで使用され得る。
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)が含まれ得る。図13は、本開示の実施形態による一次変換基底関数の例を示す。図13の例における一次変換基底関数は、Nポイント入力を有するDCT-2および非対称DST(DST-及びDST-7)の基底関数を含む。図13に示す一次変換基底関数は、AV1に使用され得る。
ハイブリッド変換カーネルの可用性は、変換ブロックサイズおよび予測モードに依存し得る。図14Aは、変換ブロックサイズ(たとえば、第3の列に示されているサイズ)と予測モード(たとえば、第3の列に示されているイントラ予測とインター予測)に基づく様々な変換カーネル(例えば、第1の列に示され、第2の列に記載される変換タイプ)の可用性の例示的な依存性を示す。予測モードおよび変換ブロックサイズに基づく例示的なハイブリッド変換カーネル及びその可用性は、AV1で使用できる。図14Aを参照すると、記号
Figure 0007472306000018
は、水平寸法(水平方向とも呼ばれる)および垂直寸法(垂直方向とも呼ばれる)を示す。記号
Figure 0007472306000019
は、対応するブロックサイズ及び予測モードに対する変換カーネルの可用性を示す。たとえば、記号
Figure 0007472306000020
は、変換カーネルが使用可能であり、記号「×」は変換カーネルが使用不可能であることを示す。
一例では、変換タイプ(1410)は、図14Aの第1の列に示されるようなADST_DCTによって表される。変換タイプ(1410)は、図14Aの第2の列示されるように、垂直方向のADSTおよび水平方向のDCTを含む。図14Aの第3の列によれば、変換タイプ(1410)は、ブロックサイズが16x16(例えば、16x16サンプル、16x16ルマサンプル)以下である場合、イントラ予測およびインター予測に利用可能である。
一例では、変換タイプ(1420)は、図14Aの第1の列に示されるように、V_ADSTによって示される。変換タイプ(1420)は、図14Aの第2の列に示されるように、垂直方向でのADSTおよび水平方向でのIDTX(すなわち、単位行列)を含む。したがって、変換タイプ(1420)(例えば、V_ADST)は、垂直方向に実行され、水平方向には実行されない。図14Aの第3の列によれば、変換タイプ(1420)は、ブロックサイズにも関わらず、イントラ予測に利用できない。変換タイプ(1420)は、ブロックサイズが16x16(例えば、16x16サンプル、16x16ルマサンプル)未満である場合、インター予測に利用可能である。
一例では、図14Aは、ルマ成分に適用可能である。クロマ成分の場合、変換タイプ(または変換カーネル)の選択は暗黙的に実行され得る。一例では、予測内残差の場合、変換タイプは、図14Bに示されるように、イントラ予測モードに従って選択され得る。一例では、図14Bに示される変換タイプの選択は、クロマ成分に適用可能である。インター予測残差の場合、変換タイプは、同じ場所に配置されたルマブロックの変換タイプに従って選択され得る。したがって、一例では、クロマ成分のための変換タイプはビットストリームでシグナリングされない。
一次変換、二次変換などの変換は、CBなどのブロックに適用され得る。一例では、変換は、一次変換、二次変換の組み合わせを含む。また、変換は、非分離変換、分離型変換または非分離変換と分離型変換の組み合わせであり得る。
二次変換は、VVCなどで実行できる。いくつかの例では、図15~16に示すように、例えばVVCにおいて、低周波非分離変換(LFNST)(縮小二次変換(RST)とも呼ばれる)を、エンコーダ側での順方向一次変換および量子化と、デコーダ側での逆量子化と逆一次変換との間で適用し、一次変換係数をさらに相関解除することができる。
LFNSTで使用できる非分離変換の適用は、4×4入力ブロック(または入力行列)Xを一例として用いて、以下のように説明することができる(式3に示す)。4×4非分離変換を適用するために、4×4入力ブロックXは、式3~4に示すように、ベクトル
Figure 0007472306000021
で表されることができ
Figure 0007472306000022
非分離変換は、
Figure 0007472306000023
として計算されることができる。ここで、
Figure 0007472306000024
は変換係数ベクトルを示し、Tは16×16変換行列である。16×1係数ベクトル
Figure 0007472306000025
は、その後、4×4入力ブロックの走査順序(例えば、水平走査順序、垂直走査順序、ジグザグ走査順序、または対角走査順序)を用いて、4×4出力ブロック(または出力行列、係数ブロック)に再編成されることができる。より小さなインデックスを持つ変換係数は、4×4係数ブロックにおいて小さな走査インデックスで配置されることができる。
非分離二次変換は、CBなどのブロックに適用され得る。いくつかの例では、例えば、VVCにおいて、LFNSTは、図15~16に示すように、順方向一次変換と量子化との間(例えば、エンコーダ側で)、および、逆量子化と逆一次変換との間(例えば、デコーダ側で)に適用される。
図15~16は、それぞれ、16×64変換(または、変換が順方向二次変換であるか逆二次変換であるかに応じて64×16変換)および16×48変換(または、変換が順方向二次変換であるか逆二次変換であるかに応じて48×16変換)を用いた2つの変換コーディングプロセス(1700)および(1800)の例を示す。図15を参照すると、プロセス(1700)において、エンコーダ側では、まず、ブロック(例えば、残差ブロック)に対して順方向一次変換(1710)を実行して、係数ブロック(1713)を取得することができる。続いて、順方向二次変換(または順方向LFNST)(1712)を、係数ブロック(1713)に適用することができる。順方向二次変換(1712)では、係数ブロック(1713)の左上隅にある4×4サブブロックA~Dの64個の係数を64長のベクトルで表すことができ、64長のベクトルに64×16(すなわち、幅64および高さ16)の変換行列を乗算することで16長のベクトルを得ることができる。16長のベクトル内の要素は、係数ブロック(1713)の左上の4×4サブブロックAに埋め戻される。サブブロックB~D内の係数はゼロであり得る。量子化ステップ(1714)において順方向二次変換(1712)がなされた後に得られた係数を量子化し、エントロピーコーディングして、ビットストリーム(1716)内のコーディングされたビットを生成する。
コーディングされたビットは、デコーダ側で受信され、エントロピーデコーディングされ、続いて逆量子化ステップ(1724)がなされ、係数ブロック(1723)を生成することができる。逆RST8×8などの逆二次変換(または逆LFNST)(1722)を実行して、例えば、左上の4×4サブブロックEにおける16個の係数から64個の係数を取得することができる。また、64個の係数を4×4サブブロックE~Hに埋め戻すことができる。さらに、逆二次変換(1722)後の係数ブロック(1723)内の係数を逆一次変換(1720)で処理して、復元された残差ブロックを取得することができる。
図16の例のプロセス(1800)は、順方向二次変換(1712)の間に、より少ない(すなわち、48個の)係数が処理されることを除いて、プロセス(1700)と同様である。具体的には、サブブロックA~C内の48個の係数は、48×16のサイズのより小さい変換行列で処理される。48×16のより小さい変換行列を使用することで、変換行列を記憶するためのメモリサイズおよび計算回数(例えば、乗算、加算、減算など)を減らすことができるため、算出の複雑さを軽減することができる。
一例では、ブロックCBなどのブロックサイズに応じて、4×4非分離変換(例えば、4×4 LFNST)または8×8非分離変換(例えば、8×8 LFNST)を適用する。CBのブロックサイズは、幅、高さなどを含み得る。例えば、4×4 LFNSTは、幅と高さの最小値が8のようなしきい値よりも小さい(例えば、min(幅、高さ)<8)CBに対して適用される。例えば、8×8 LFNSTは、幅と高さの最小値が4のようなしきい値よりも大きい(例えば、min(幅、高さ)>4)CBに対して適用される。
非分離変換(例えば、LFNST)は、直接行列乗算アプローチに基づいて行え、したがって、反復なしでシングルパスに実施され得る。非分離変換行列の次元を縮小し、算出上の複雑さおよび変換係数を記憶するためのメモリ空間を最小化するために、LFNSTでは、縮小非分離変換法(またはRST)を使用することができる。したがって、縮小非分離変換では、N(例えば、8×8非分離二次変換(NSST)ではNは64)次元のベクトルを、異なる空間におけるR次元のベクトルにマッピングすることができ、ここで、N/R(R<N)は縮小係数である。したがって、RST行列は、N×N行列の代わりに、式5で説明されるように、R×N行列となる。
Figure 0007472306000026
式5において、R×N変換行列のR行は、N次元空間のR基底である。逆変換行列は、順方向変換で使用される変換行列(例えば、TR×N)の転置であり得る。8×8LFNSTの場合、縮小係数4を適用することができ、図15に示すように、8×8非分離変換で使用される64×64直接行列を16×64直接行列に縮小することができる。あるいはまた、4よりも大きい縮小係数を適用してもよく、図16に示すように、8×8非分離変換で使用される64×64直接行列を16×48直接行列に縮小することができる。したがって、48×16逆RST行列をデコーダ側で使用して、8×8左上領域のコア(一次)変換係数を生成することができる。
図16を参照すると、同じ変換セット構成を有する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の係数サブグループ外のすべての係数が非有意の場合にのみ適用できるように制限され得る。図15~16を参照すると、第1の係数サブグループは、左上ブロックEに対応し、したがって、ブロックE外にある係数は、非有意である。
一例では、LFNSTが適用された場合、一次変換係数のみは非有意である(例えば、ゼロ)。一例では、LFNSTが適用される場合、すべての一次変換係数のみはゼロである。一次変換係数のみは、二次変換を伴わない一次変換から得られる変換係数を指すことができる。したがって、LFNSTインデックスシグナリングは、最後有意位置を条件とすることができ、その結果、LFNSTにおける余分な係数走査を回避することができる。いくつかの例では、余分な係数走査は、特定の位置で有意変換係数をチェックするために使用される。一例では、LFNSTの最悪の取り扱いは、例えば、画素あたりの乗算に関しては、4×4ブロックと8×8ブロックの非分離変換を、それぞれ8×16変換と8×48変換に制限する。上記の場合、LFNSTが適用されると、最後有意走査位置は8より小さくすることができる。その他のサイズの場合、LFNSTが適用されると、最後有意走査位置は16より小さくすることができる。4×NとN×4(Nが8より大きい)のCBの場合、この制限は、CBの左上の4×4領域にLFNSTが適用されることを意味することができる。一例では、この制限は、CBの左上の4×4領域のみに、LFNSTが一度だけ適用されることを意味する。一例では、LFNSTが適用される場合、すべての一次係数のみが非有意である(例えば、ゼロ)ので、一次変換のための演算回数が減少する。エンコーダの観点からは、LFNST変換がテストされた場合、変換係数の量子化を大幅に簡素化することができる。レート歪み最適化量子化は、例えば走査順序で最初の16個の係数に対して最大限で行うことができ、残りの係数はゼロにすることができる。
LFNST変換(例えば、変換カーネル、変換コアまたは変換行列)は、以下で説明するように選択され得る。一実施形態では、複数の変換セットを使用することができ、1つまたは複数の非分離変換行列(またはカーネル)は、LFNSTにおける複数の変換セットのそれぞれに含まれ得る。本開示の態様によれば、複数の変換セットから変換セットを選択することができ、変換セット内の1つまたは複数の非分離変換行列から非分離変換行列を選択することができる。
表1は、本開示の一実施形態によるイントラ予測モードから複数の変換セットへの例示的なマッピングを示す。このマッピングは、イントラ予測モードと複数の変換セットとの間の関係を示す。表1に示されるような関係は、予め定義され、且つエンコーダおよびデコーダに記憶されることができる。
Figure 0007472306000027
表1を参照すると、複数の変換セットは、4つの変換セット、例えば、0から3までの変換セットインデックス(例えば、Tr.set index)でそれぞれ表される変換セット0から3を含む。インデックス(例えば、IntraPredMode)は、イントラ予測モードを示すことができ、変換セットインデックスは、インデックスと表1に基づいて取得できる。したがって、変換セットはイントラ予測モードに基づいて決定され得る。一例では、3つのクロスコンポーネント線形モデル(CCLM)モード(例えば、INTRA_LT_CCLM、INTRA_T_CCLMまたはINTRA_L_CCLM)のうちの1つがCBに使用されると(例えば、81≦IntraPredMode≦83)、CBに対して、変換セット0が選択される。
上述のように、各変換セットは、1つまたは複数の非分離変換行列を含み得る。1つまたは複数の非分離変換行列のうちの1つは、明示的にシグナリングされるLFNSTインデックスによって選択され得る。LFNSTインデックスは、例えば、変換係数をシグナリングした後に、イントラコーディングされたCU(例えば、CB)ごとに1回、ビットストリームでシグナリングされることができる。一実施形態では、各変換セットは、2つの非分離変換行列(カーネル)を含み、且つ選択された非分離二次変換候補は、2つの非分離変換行列のうちの1つであり得る。いくつかの例では、LFNSTは、CBに適用されない(例えば、変換スキップモードでコーディングされたCB、またはCBの非ゼロ係数の数がしきい値よりも小さい)。一例では、LFNSTがCBに適用されない場合、CBに対してLFNSTインデックスはシグナリングされない。LFNSTインデックスのデフォルト値は、ゼロであり、シグナリングされなく、これは、CBにLFNSTが適用されないことを示している。
一実施形態では、LFNSTは、第1の係数サブグループ外のすべての係数が非有意の場合にのみ適用できるように制限され、LFNSTインデックスのコーディングは、最後有意係数の位置に決定され得る。LFNSTインデックスは、コンテキストコーディングされ得る。一例では、LFNSTインデックスのコンテキストコーディングは、イントラ予測モードに依存せず、第1のビンのみがコンテキストコーディングされる。LFNSTは、イントラスライスまたはインタースライス内のイントラコーディングされたCUに適用されることができ、ルマ成分とクロマ成分の両方に適用されることができる。デュアルツリーが有効な場合、ルマ成分とクロマ成分のためのLFNSTインデックスは別々にシグナリングされることができる。インタースライスの場合(例えば、デュアルツリーが無効な場合)、単一のLFNSTインデックスはシグナリングされ、且つルマ成分とクロマ成分の両方に使用されることができる。
イントラサブパーティション(Intra sub-partition、ISP)コーディングモードを使用することができる。ISPコーディングモードでは、ルマイントラ予測ブロックを、ブロックサイズに応じて、垂直方向または水平方向に2つまたは4つのサブパーティションに分割することができる。いくつかの例では、RSTがすべての実行可能なサブパーティションに適用される場合、パフォーマンスの向上は限界に達する。したがって、いくつかの例では、ISPモードが選択された場合、LFNSTは無効化され、LFNSTインデックス(またはRSTインデックス)はシグナリングされない。ISP予測された残差に対してRSTまたはLFNSTを無効化することで、コーディングの複雑さを軽減することができる。いくつかの例では、行列ベースのイントラ予測モード(MIP)が選択された場合、LFNSTは無効化され、LFNSTインデックスはシグナリングされない。
いくつかの例では、最大変換サイズの制限(例えば64×64)のため、64×64よりも大きいCUは暗黙的に分割(TUタイリング)され、LFNSTインデックス検索は、一定数のデコーディングパイプラインステージのためにデータバッファリングを4倍に増やすことができる。したがって、LFNSTが許容される最大サイズを64×64に制限することができる。一例では、LFNSTは離散コサイン変換(DCT)タイプ2(DCT-2)変換のみで有効にされる。
いくつかの例では、分離変換スキームは、指向性テクスチャパターン(たとえば、45°または135°方向に沿ったエッジ)をキャプチャするのに効率的でない場合がある。非分離変換スキームは、たとえば、上記の場合でコーディング効率を向上させることができる。計算の複雑さとメモリ使用量を減らすために、非分離変換スキームを、一次変換から取得される低周波数変換係数に適用される二次変換として使用できる。
いくつかの実装形態では、例えば、グループ化された変換カーネルから、使用されるべき変換カーネルを選択することは、予測モード情報に基づく。予測モード情報は、予測モードを示すことができる。
いくつかの例では、予測モード情報だけでは、予測モードで観察された残差パターンの空間全体の大まかな表現しか提供されない。図17A~17Dは、実施態様によれば、隣接する再構成されたサンプルは、残差パターンをより効率的に表現するための追加情報を提供できる。したがって、予測モード情報に加えて、隣接する再構成されたサンプルに基づく変換セット選択および/または変換カーネル選択の方法が開示される。たとえば、予測モード情報に加えて、隣接する再構成されたサンプルの特徴インジケータ(たとえば、特徴ベクトル
Figure 0007472306000028
または特徴スカラーS)は、選択プロセスへの入力として使用される。
本開示では、ブロックという用語は、PB、CB、コーディングされたブロック、コーディングユニット(CU)、変換ブロック(TB)、変換ユニット(TU)、ルマブロック(例えば、ルマCB)、クロマブロック(例えば、クロマCB)などを指すことができる。
本開示では、ブロックのサイズとは、ブロック幅、ブロック高さ、ブロックアスペクト比(例えば、ブロック高さに対するブロック幅の比、ブロック幅に対するブロック高さの比)、ブロックエリアサイズまたはブロックエリア(例えば、ブロック幅×ブロック高さ)、ブロック幅およびブロック高さの最小値、ブロック幅およびブロック高さの最大値などを指すことができる
本開示では、ブロックの変換カーネルは、一次変換、二次変換、三次変換、または三次変換を超えた変換スキームに使用できる。変換カーネルは、分離変換または非分離変換に使用できる。変換カーネルは、ルマブロック、クロマブロック、インター予測、イントラ予測などに使用できる。また、変換カーネルは、変換コア、変換候補、変換カーネルオプションなどと呼ばれることもある。一例では、変換カーネルは変換行列である。ブロックの変換は、少なくとも変換カーネルに基づいて行われることができる。したがって、本開示の方法は、一次変換、二次変換、三次変換、三次変換を超えた任意の変換スキーム、分離変換、非分離変換、ルマブロック、クロマブロック、インター予測、イントラ予測などに適用できる。
本開示では、変換セットとは、変換カーネルのグループまたは変換カーネルオプションを指すことができる。変換セットは、1つまたは複数の変換カーネルまたは変換カーネルオプションを含み得る。一例では、変換セットからブロックの変換カーネルを選択できる。
本開示の態様によれば、隣接する再構成サンプルを使用して、変換セットのグループから変換カーネルを決定することができる。現在のピクチャの再構成中のブロックの隣接する再構成サンプルを使用して、変換セットのグループからブロックの変換カーネルを決定することができる。変換セットのグループは予め定められてもよい。一例では、変換セットのグループは、エンコーダおよび/またはデコーダに予め記憶されている。
ブロックの隣接する再構成サンプル(例えば、隣接する再構成サンプルセット)とは、現在のピクチャにおける以前にデコーディングされた隣接ブロックからの再構成サンプル(例えば、再構成サンプルのグループ)、または以前にデコーディングされたピクチャにおける再構成サンプルを参照することができる。以前にデコーディングされた隣接ブロックは、このブロックの1つまたは複数の隣接ブロックを含むことができ、且つ隣接する再構成サンプルは、このブロックの1つまたは複数の隣接ブロックにおける再構成サンプルとも呼ばれる。このブロックの1つまたは複数の隣接ブロックは、現在のピクチャまたは現在のピクチャと異なる再構成ピクチャ(たとえば、参照ピクチャ)内に含まれ得る。このブロックの隣接する再構成サンプルは、現在のピクチャのブロックの空間的に隣接するサンプル、および/または現在のピクチャと異なる別のピクチャ(例えば、以前にデコーディングされたピクチャ)のブロックの時間的に隣接するサンプルを含み得る。図18は、本開示の実施形態によるブロックの例示的な空間隣接サンプルを示す。このブロックは、現在のピクチャの現在のブロック(1851)である。サンプル1~4およびA~Xは、現在のブロック(1851)の空間的に隣接するサンプルであって且つ既に再構成された。一例では、サンプル1~4およびA~Xは、現在のブロック(1851)の1つまたは複数の再構成された隣接ブロックにある。本開示の各態様によれば、サンプル1~4およびA~Xのうちの1つまたは複数は、現在のブロック(1851)の変換カーネルを決定するために使用される。一例では、現在のブロック(1851)の隣接する再構築サンプルは、左上隣接サンプル4、サンプルA~Fを含む左隣接列(1852)、およびサンプルG~Lを含む上隣接行(1854)を含み、現在のブロック(1851)の変換カーネルを決定するために使用される。一例では、現在のブロック(1851)の隣接する再構成サンプルは、左上隣接サンプル1-4、サンプルA~FとM~Rを含む左隣接列(1852)~(1853)、およびサンプルG~Lを含む上隣接行(1854)~(1855)を含み、現在のブロック(1851)の変換カーネルを決定するために使用される。
変換セットのグループは、1つまたは複数の変換セットを含み得る。1つまたは複数の変換セットのそれぞれは、任意の適切な1つまたは複数の変換カーネルを含み得る。したがって、変換セットのグループは、一次変換、二次変換、三次変換、または三次変換を超えた変換スキームで使用される変換カーネルを含み得る。変換セットのグループは、分離変換および/または非分離変換である変換カーネルを含み得る。変換セットのグループは、ルマブロック、クロマブロック、インター予測、イントラ予測などに使用される変換カーネルを含み得る。
本開示の態様によれば、現在のピクチャのブロックの1つまたは複数の隣接ブロックにおける再構成サンプルに基づいて、変換セットのグループから、このブロックの変換カーネル(または変換候補)を決定することができる。現在のピクチャのブロックの1つまたは複数の隣接ブロックにおける再構成サンプルから抽出された特徴インジケータ(たとえば、特徴ベクトル
Figure 0007472306000029
または特徴スカラーS)に基づいて、変換セットのグループから、このブロックの変換カーネル(または変換候補)を決定することができる。変換セットのグループの各セットには、このブロックの1つまたは複数の変換候補を含み得る。1つまたは複数の隣接ブロックは、現在のピクチャまたは現在のピクチャと異なる再構成ピクチャにあることができる。また、決定された変換候補に基づいて、ブロックのサンプルを再構成することができる。
一実施形態では、隣接する再構成サンプルから、隣接する再構成サンプルの特徴インジケータ(例えば、特徴ベクトル
Figure 0007472306000030
または特徴スカラーS)を抽出し得る。したがって、ブロック(例えば、現在のブロック(1851))の変換カーネルは、特徴インジケータに基づいて決定できる。特徴インジケータは、ベクトル(特徴ベクトル
Figure 0007472306000031
と呼ばれる)またはスカラー(特徴スカラーSと呼ばれる)であり得る。隣接する再構成サンプルの統計情報または統計分析に基づいて、たとえば、隣接する再構成サンプルに関連付けられた1つまたは複数の変数に基づいて、特徴インジケータを抽出できる。1つまたは複数の変数は、隣接する再構成サンプルのサンプル値の1つまたは複数の分布を示すことができる。
一実施形態では、ブロックの(例えば、現在のブロック(1851))の変換カーネルは、ブロックの隣接する再構成サンプル(例えば、特徴インジケータ)および予測モード情報に基づいて決定され得る。ブロックの予測モード情報は、ブロックのインター予測またはイントラ予測など、ブロックの予測に使用される情報を示すことができる。本開示の態様によれば、ブロックの予測モード情報は、ブロックの予測モード(例えば、イントラ予測モード、インター予測モード)を示すことができる。一例では、ブロックの変換カーネルは、隣接する再構成サンプル(例えば、特徴インジケータ)およびブロックの予測モードに基づいて決定される。
一例では、ブロックはイントラコード化またはイントラ予測され、且つ予測モード情報はイントラ予測モード情報と呼ばれる。ブロックの予測モード情報(例えば、イントラ予測モード情報)は、ブロックに使用されるイントラ予測モードを示すことができる。イントラ予測モードは、ブロックのイントラ予測に使用される予測モード、例えば、図9に記載された指向性モード(または指向性予測モード)、図10に記載された無指向性予測モード(例えば、DCモード、PAETHモード、SMOOTHモード、SMOOTH_Vモード、またはSMOOTH_Hモード)、または図11に記載の再帰フィルタリングモードを指すことができる。イントラ予測モードは、また、本開示に記載されている予測モード、本開示に記載されている予測モードの適切な変形、または本開示に記載されている予測モードの適切な組み合わせを指すこともできる。例えば、イントラ予測モードは、図12に記載されているマルチラインイントラ予測と組み合わせることができる。
より具体的には、例えば、コーディングされたビデオビットストリームからのブロックのコーディングされた情報に基づいて、変換セットのグループから変換セットのサブグループを選択し得る。ブロックのコーディングされた情報は、ブロックの予測モード(例えば、イントラ予測モードまたはインター予測モード)を示す予測モード情報を含み得る。一実施形態では、予測モード情報(例えば、予測モード)に基づいて、変換セットのグループから変換セットのサブグループを選択し得る。
本開示の態様によれば、は、ブロックのコーディングされた情報で示されるブロックの予測モードに基づいて、変換セットのグループから変換セットのサブグループを選択することができる。さらに、変換セットのサブグループからの変換候補は、ブロックの1つまたは複数の隣接ブロックにおける再構成サンプルに基づいて決定できる。たとえば、変換セットのサブグループからの変換候補は、ブロックの1つまたは複数の隣接ブロックにおける再構成サンプルから抽出された特徴インジケータ(たとえば、特徴ベクトル
Figure 0007472306000032
または特徴スカラーS)に基づいて決定できる。
変換セットのグループから変換セットのサブグループを選択した後、ブロックの変換カーネルは、少なくとも隣接する再構成サンプル(例えば、特徴インジケータ)に基づいて、以下で説明する任意の適切な方法を利用してさらに決定され得る。
一実施形態では、ブロックの隣接する再構成サンプル(または1つまたは複数の隣接ブロックにおける再構成サンプル)を使用して、選択された変換セットのサブグループから、選択された変換セットのサブグループの変換セットを識別または選択する。一例では、1つまたは複数の隣接ブロックにおける再構成サンプルから抽出された特徴インジケータ(例えば、特徴ベクトル
Figure 0007472306000033
または特徴スカラーS)を使用して、選択された変換セットのサブグループの変換セットを識別または選択する。また、第1のインデックスに基づいて、識別された(または選択された)変換セットから、ブロックの変換カーネル(または変換候補)を決定(例えば、選択)し得る。コーディングされた情報は、第1のインデックスを示す(例えば、含む)ことができる。第1のインデックスは、コーディングされたビデオビットストリームにおいてシグナリングされ得る。
一実施形態では、第2のインデックスに基づいて、選択された変換セットのサブグループから、選択された変換セットのサブグループの変換セットを選択する。コーディングされた情報は、第2のインデックスを示す(例えば、含む)ことができる。第2のインデックスは、コーディングされたビデオビットストリームにおいてシグナリングされ得る。さらに、選択された変換セットからのブロックの変換カーネル(または変換候補)は、ブロックの隣接する再構成サンプル(またはブロックの1つまたは複数の隣接ブロックにおける再構成サンプル)(例えば、特徴インジケータ)に基づいて決定(例えば、選択)できる。一例では、選択された変換セット内の変換カーネル(または変換候補)は、ブロックの機能インジケータ(たとえば、特徴ベクトル
Figure 0007472306000034
または特徴スカラーS)によって決定できる。
一実施形態では、ブロックの隣接する再構成サンプルに基づいて、選択された変換セットのサブグループから、ブロックの変換カーネル(または変換候補)を暗黙的に決定(または識別)する。一例では、変換カーネル(または変換候補)は、選択された変換セットのサブグループからのブロックの特徴インジケータ(例えば、特徴ベクトル
Figure 0007472306000035
または特徴スカラーS)を使用し、且つコーディングされたビデオビットストリームでシグナリングされたインデックスを使用せずに暗黙的に決定(または識別)される。
ブロックの特徴インジケータ(例えば、特徴ベクトル
Figure 0007472306000036
または特徴スカラーS)は、隣接する再構成サンプルに基づいて決定(例えば、導出)され得る。本開示の態様によれば、ブロックの特徴インジケータ(例えば、特徴ベクトル
Figure 0007472306000037
または特徴スカラーS)は、ブロックの隣接する再構成サンプル(またはブロックの1つまたは複数の隣接ブロックにおける再構成サンプル)の統計分析によって決定または導出され得る。上述のように、(i)特徴インジケータ(例えば、特徴ベクトル
Figure 0007472306000038
または特徴スカラーS)に基づいて、変換セットのサブグループから変換セットを決定すること、(ii)特徴インジケータ(例えば、特徴ベクトル
Figure 0007472306000039
または特徴スカラーS)に基づいて、変換セットのサブグループから変換候補を決定すること、または、(iii)コーディングされた情報のインデックスに基づいて、変換セットのサブグループから変換セットを選択し、特徴インジケータ(例えば、特徴ベクトル
Figure 0007472306000040
または特徴スカラーS)に基づいて、選択された変換セットから変換候補を決定することのうちのいずれか1つを実行することができる。
一実施形態では、単一の変数Xを使用して、隣接する再構成サンプルを示すことができ、ブロックの特徴インジケータは、ブロックの特徴スカラーSである。変数Xは、隣接する再構成サンプルのサンプル値を示すことができる。一例では、変数Xは、隣接する再構成サンプルのサンプル値を含むアレイであり、隣接する再構成サンプルにおけるサンプル値の分布を反映している。特徴スカラーSは、サンプル値の統計情報を示すことができる。特徴スカラーSには、変数Xの平均値(または1次モーメント)、変数Xの分散(または2次モーメント)、変数Xの歪度(または3次モーメント)など、隣接する再構成サンプルから得られた変数Xのスカラー定量的測定値を含めることができるが、これらに限定されない。一例では、変数Xはランダム変数Xと呼ばれる。
一例では、特徴インジケータは、特徴スカラーSである。特徴スカラーSは、ブロックの1つまたは複数の隣接ブロックにおける再構成サンプルのサンプル値を示す変数Xのモーメント(例えば1次モーメント、2次モーメント、3次モーメントなど)として決定される。
変数Xの例は図18に示されている。一例では、変数Xは、サンプル4、左隣接列(1852)、および上隣接行(1854)を含む、現在のブロック(1851)に隣接する再構成隣接サンプルを含む。一例では、変数Xは、再構成隣接サンプル1~4およびA~Xを含む。
一実施形態では、複数の変数(例えば、2つの変数YおよびZ)を使用して、隣接する再構成サンプル(利用可能な場合)の異なるセット(例えば、Yに対応する第1のセットおよびZに対応する第2のセット)を別々に示すことができ、ブロックの特徴インジケータは、このブロックの特徴ベクトル
Figure 0007472306000041
である。複数の変数は、それぞれ、隣接する再構成サンプルの異なるセットのサンプル値を示すことができる。一例では、変数Yは、隣接する再構成サンプルの第1のセットの第1のサンプル値を含むアレイであり、隣接する再構成サンプルの第1のセットの第1のサンプル値の分布を反映する。変数Zは、隣接する再構成サンプルの第2のセットの第2のサンプル値を含むアレイであり、隣接する再構成サンプルの第2のセットの第2のサンプル値の分布を反映する。特徴ベクトル
Figure 0007472306000042
は、複数の変数の統計情報を示すことができる。
特徴ベクトル
Figure 0007472306000043
には、複数の変数の共同変動測定(たとえば、複数の変数(たとえば、2つの変数YとZ)共分散または2次モーメント)など、隣接する再構成サンプルから得られた複数の変数の統計分析を含めるが、これらに限定されないことができる。一例では、この複数の変数(たとえば、2つの変数YとZ)はランダム変数と呼ばれる。
図18には、複数の変数YおよびZの例が示されている。一例では、変数Yには、左隣接列(1852)が含まれ、変数Zには上隣接行(1854)が含まれている。一例では、変数YとZのうちの1つに、左上のサンプル4が含まれている。
一例では、特徴インジケータは特徴ベクトル
Figure 0007472306000044
である。特徴ベクトル
Figure 0007472306000045
は、変数(たとえば、変数YとZ)の共同変動として決定され、これらの変数は、それぞれ、ブロック(例えば、現在のブロック(1851))の左隣接列(たとえば、左隣接列(1852))の再構成サンプルのサンプル値と、ブロック(例えば、現在のブロック(1851))の上側の隣接行(たとえば、上隣接行(1854))の再構成サンプルのサンプル値を示している。
一例では、変数Yには、左隣接列(1852)~(1853)が含まれ、変数Zには、上隣接行(1854)~(1855)が含まれている。一例では、変数YおよびZのうちの1つには、左上のサンプル1~4が含まれている。
本開示の態様によれば、特徴インジケータが、ブロックの変換カーネルまたはブロックの変換カーネルを含む変換セットを決定する際に使用される場合、変換カーネルまたは変換セットは、特徴インジケータおよびしきい値に基づいて決定され得る。予め定義されたしきい値セットから、しきい値を選択できる。変換カーネルまたは変換セットは、任意の適切な方法を使用して、特徴インジケータとしきい値に基づいて決定できる。以下で、いくつかの例示的な方法が記述される。上述のように、本開示の各態様によれば、変換セットのサブグループは、例えば、予測モード情報に基づいて、変換セットのグループから選択される。続いて、一例では、変換セットは、ブロックの特徴インジケータおよびしきい値を使用して、選択された変換セットのサブグループから識別される。別の一例では、選択された変換セットのサブグループの変換セットは、コーディングされたビデオビットストリームでシグナリングされたインデックス(例えば、第2のインデックス)を使用して選択され、選択された変換セットからのブロックの変換カーネルは、ブロックの特徴インジケータとしきい値を使用して決定されることができる。別の一例では、変換カーネルは、選択された変換セットのサブグループからの特徴インジケータとしきい値を使用して暗黙的に識別される。
しきい値セット(Kとして示される)は、たとえば分類化の目的で予め定義されている。一例では、(i)変数Xのモーメントと、予め定義されたしきい値セットKから選択されたしきい値に基づいて、変換セットのサブグループから変換セットを決定すること、(ii)変数Xのモーメントとしきい値に基づいて、変換セットのサブグループから変換候補を決定すること、または(iii)コーディングされた情報のインデックスに基づいて変換セットのサブグループから変換セットを選択し、変数Xのモーメントとしきい値に基づいて、選択された変換セットから変換候補を決定することのいずれか1つを実行することができる。
一実施形態では、特徴スカラーSは、例えば、上述のように選択された変換セットのサブグループから、ブロックの変換カーネルを識別するために、またはブロックの変換カーネルを含む変換セットを識別するために使用される。しきい値セットKには、1つまたは複数の第1のしきい値(または第1のしきい値)が含まれ得る。
一例では、特徴スカラーSは、例えば、変数Xの平均値、分散、歪度などの変数Xの定量的測定値である。たとえば、特徴スカラーSは、変数Xのモーメントである。変数のモーメントは、変数Xの1次モーメント(または平均値)、変数Xの2次モーメント(または分散)、または変数Xの3次モーメント(歪度など)のいずれかであり得る。
各予測モード(例えば、イントラ予測モードまたはインター予測モード)は、例えば、複数の予測モードと複数のしきい値セットKとの間の単射マッピングを示す、しきい値セットKのうちの一意のしきい値サブセットK'に対応することができる。ブロックの予測モードは、複数の予測モードのうちの1つであり得る。各予測モードと対応するしきい値サブセットK'の間のマッピングは、単射マッピングである。たとえば、しきい値セットKには、第1の予測モードに対応するしきい値サブセットKs1’と、第2の予測モードに対応するしきい値サブセットKs2'が含まれ、また、しきい値サブセットKs1’には、しきい値サブセットKs2'内の要素またはしきい値と同一である要素またはしきい値がない。
一例では、特徴スカラーSは、変数Xの平均値、分散、歪度などの変数Xの定量的測定値である。各予測モードは、しきい値セットK内のいずれかのしきい値サブセットK’に対応することができる。各予測モードとしきい値セットKにおける対応するしきい値サブセットK’との間のマッピングは非単射マッピングである。一例では、複数の予測モード(たとえば、第1の予測モードおよび第2の予測モード)は、しきい値セットKにおける同一のしきい値サブセットK’に対応することができる。一例では、しきい値セットKは、第1の予測モードに対応するしきい値サブセットKs3'のおよび第2の予測モードに対応するしきい値サブセットKs4'を含み、且つしきい値サブセットKs3'における要素(またはしきい値)は、しきい値サブセットKs4'における要素(またはしきい値)と同じである。一例では、しきい値セットKは単一の要素セットである。
実施形態では、しきい値セットKにおけるしきい値サブセットK'の要素は、量子化インデックス(または量子化インデックスに関連付けられた対応する量子化ステップサイズ)に依存するしきい値である。通常、各量子化インデックスは、一意の量子化ステップサイズに対応することができる。上記の説明は、各予測モードと、しきい値セットK内の対応するしきい値サブセットK'との間のマッピングが非単射または単射である場合に適用される。
一実施形態では、特定の量子化インデックス(または対応する量子化ステップサイズ)に対応するしきい値セットKにおけるしきい値サブセットK'の1つの要素のみが定義される。しきい値サブセットK'における残りの要素(ある場合)は、マッピング関数を使用して導出され得る。マッピング関数は、線形または非線形であり得る。マッピング関数は、エンコーダおよび/またはデコーダによって予め定義および使用されたものであり得る。しきい値サブセットK'における残りの要素は、異なる量子化インデックスまたは(または対応する量子化ステップサイズ)に対応することができる。上記の説明は、各予測モードと、しきい値セットKにおける対応するしきい値サブセットK'との間のマッピングが非単射または単射である場合に適用される。
一実施形態では、ルックアップテーブルを利用してしきい値サブセットK'を決定することができる。たとえば、ルックアップテーブルは、予測モードおよび/または量子化インデックスに基づいて、しきい値サブセットK'のために要素を選択するために使用される。一例では、ルックアップテーブルは、予測モード、量子化インデックス(または対応する量子化ステップサイズ)としきい値の関係を含む。ルックアップテーブルをトラバースして、予測モード(たとえば、イントラ予測モードまたはインター予測モード)および/または量子化インデックス(または対応する量子化ステップサイズ)を使用して、しきい値サブセットK'を決定する(たとえば、しきい値サブセットK'のために要素を選択する)ことができる。上記の説明は、各予測モードと、しきい値セットK内の対応するしきい値サブセットK'との間のマッピングが非単射または単射である場合に適用される。
実施形態では、量子化インデックス(または対応する量子化ステップサイズ)からしきい値へのマッピングは、線形マッピングである。勾配や切片など、線形マッピングに使用されるパラメータは、予め定義されたか、またはブロックのコーディングされた情報を使用して導出されたものであり得る。コーディングされた情報は、ブロックサイズ、量子化インデックス(または対応する量子化ステップサイズ)、予測モード(例えば、イントラ予測モードまたはインター予測モード)を含むことができるが、これらに限定されない。線形マッピング(例えば、線形マッピングに使用されるパラメータ)は、予め定義されたか、またはブロックサイズ、量子化インデックス(または対応する量子化ステップサイズ)、予測モードのうちの1つまたは組み合わせに基づいて導出されたものであり得る。量子化インデックス(または対応する量子化ステップサイズ)からしきい値へのマッピングが非線形マッピングである場合、この記述を適切に調整することができる。上記の説明は、各予測モードと、しきい値セットKにおける対応するしきい値サブセットK'との間のマッピングが非単射または単射である場合に適用される。
上述のように、特徴スカラーSは、ブロックの変換カーネルを含む変換セットを識別するために、またはブロックの変換カーネルを識別するために使用されることができ、且つしきい値セットKは、1つまたは複数の第1のしきい値を含むことができる。実施形態では、例えば、しきい値セットKからのしきい値の選択は、ブロックのブロックサイズに依存する。実施形態では、例えば、しきい値セットKからのしきい値の選択は、量子化インデックス(または対応する量子化ステップサイズ)など、量子化で使用された量子化パラメータに依存する。実施形態では、例えば、しきい値セットKからのしきい値の選択は、予測モード(例えば、イントラ予測モードおよび/またはインター予測モード)に依存する。
一実施形態では、特徴ベクトル
Figure 0007472306000046
は、ブロックの変換カーネルを識別するために、またはブロックの変換カーネルを含む変換セットを識別するために使用される。分類ベクトルセット
Figure 0007472306000047
および分類ベクトルセット
Figure 0007472306000048
に関連付けられたしきい値セット(Kとして示される)は、分類の目的で予め定義されている。しきい値セットKには、1つまたは複数の第2のしきい値、または複数の第2のしきい値が含まれ得る。
一例では、
Figure 0007472306000049
一例では、各予測モード(例えば、イントラ予測モードまたはインター予測モード)は、
Figure 0007472306000050
実施形態では、しきい値セットKにおけるしきい値サブセットK'の要素は、量子化インデックス(または量子化インデックスに関連付けられた対応する量子化ステップサイズ)に依存するしきい値である。
Figure 0007472306000051
実施形態では、特定の量子化インデックス(または対応する量子化ステップサイズ)に対応する、
Figure 0007472306000052
一実施形態では、ルックアップテーブルは、しきい値サブセットK'のために要素を選択してしきい値サブセットK'を決定し、分類ベクトルサブセット
Figure 0007472306000053
のために要素を選択して対応する分類ベクトルサブセット
Figure 0007472306000054
を決定するために使用され得る。一例では、ルックアップテーブルは、予測モード、量子化インデックス(または対応する量子化ステップサイズ)としきい値の関係を含む。ルックアップテーブルをトラバースして、予測モード(たとえば、イントラ予測モードまたはインター予測モード)および/または量子化インデックス(または対応する量子化ステップサイズ)を使用して、しきい値サブセットK'(たとえば、しきい値サブセットK'のために要素を選択する)および、対応する分類ベクトルサブセット
Figure 0007472306000055
(たとえば、分類ベクトルサブセット
Figure 0007472306000056
のために要素を選択する)を決定することができる。上記の説明は、(i)各予測モードと、(ii)対応するしきい値サブセットK'及びしきい値サブセットK'に対応する分類ベクトルサブセット
Figure 0007472306000057
との間のマッピングが非単射または単射である場合に適用される。
一実施形態では、
Figure 0007472306000058
の距離との比較によって識別され得る。
一例では、(i)距離と、しきい値セットKに含まれるしきい値サブセットK'から選択されたしきい値(例えば、{K'})との比較に基づいて、変換セットのサブグループから変換セットを決定すること、(ii)距離としきい値(例えば、{K'})との比較に基づいて、変換セットのサブグループから変換候補を決定すること、または(iii)コーディングされた情報のインデックスに基づいて変換セットのサブグループから変換セットを選択し、距離としきい値(例えば、{K'})との比較に基づいて、選択された変換セットから変換候補を決定することのうちの1つを実行することができる。
Figure 0007472306000059
一例では、この距離は、2つのベクトル
Figure 0007472306000060
次元(サイズなど)を表す。
一実施形態では、この比較は、(i)距離がしきい値以下であるかどうか
Figure 0007472306000061
を決定することができるが、これに限定されない。ここで、{}は対応するセットの要素を表す。
いくつかの実施形態では、隣接する再構成サンプルの特徴インジケータなどの隣接する再構成サンプルを使用して、変換セットのサブグループから変換候補を選択することを制限することができる。ブロックの予測モード(たとえば、イントラ予測モード、インター予測モード)などのコーディングされた情報を使用して選択された幾つかの変換セットのサブグループの場合、変換候補または変換カーネルの識別プロセスには、隣接する再構成サンプルの特徴インジケータ(たとえば、特徴ベクトル
Figure 0007472306000062
または特徴スカラーS)を使用しない。代わりに、変換候補は、コーディングされたビデオビットストリームでシグナリングされる1つまたは複数の関連付けられたインデックスによって識別できる。一例では、幾つかの変換セットのサブグループのそれぞれは、利用可能な変換セットおよび/または変換カーネルの数が少なくなっている。一例では、上記の制限は、
Figure 0007472306000063
および水平SMOOTHモードSMOOTH_Hなどの特定の予測モードに適用可能であるが、これらに限定されない。したがって、特定の予測モード(たとえば、
Figure 0007472306000064
およびSMOOTH_H)に基づいて選択された特定の変換セットのサブグループの場合、ブロックの変換候補は、コーディングされたビデオビットストリームでシグナリングされる1つまたは複数の関連付けられたインデックスによって識別されることができ、且つブロックの特徴インジケータに基づいて決定されるわけではない。
図19は、本開示の一実施形態によるプロセス(1900)を概説するフローチャートを示す。プロセス(1900)は、CB、CU、PB、TB、TU、ルマブロック(例えば、ルマCBまたはルマTB)、クロマブロック(例えば、クロマCBまたはクロマTB)などのブロックの再構成に使用されることができる。様々な実施形態では、プロセス(1900)は、端末装置(310)、(320)、(330)および(340)内の処理回路、ビデオエンコーダ(403)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、ビデオデコーダ(510)の機能を実行する処理回路、ビデオエンコーダ(603)の機能を実行する処理回路などの処理回路によって実行される。いくつかの実施形態では、プロセス(1900)はソフトウェア命令で実施されるため、処理回路がソフトウェア命令を実行すると、処理回路はプロセス(1900)を実行する。プロセスは、(S1901)から開始し、(S1910)に進む。
(S1910)において、現在のピクチャのブロックの1つまたは複数の隣接ブロックにおける再構成サンプル、たとえば、ブロックの1つまたは複数の隣接ブロックにおける再構成サンプルから抽出された特徴インジケータ(たとえば、特徴ベクトル
Figure 0007472306000065
または特徴スカラーSのうちの1つ)に基づいて、変換セットのグループから、ブロックの変換候補を決定することができる。変換セットのグループの各変換セットは、ブロックの1つまたは複数の変換候補を含み得る。1つまたは複数の隣接ブロックは、現在のピクチャまたは現在のピクチャと異なる再構成ピクチャにあることができる。
実施形態では、ブロックのコーディングされた情報でシグナリングされたブロックの予測モード(たとえば、イントラ予測モード、インター予測モード)に基づいて、変換セットのグループから、変換セットのサブグループを選択することができる。ブロックの1つまたは複数の隣接ブロックにおける再構成サンプルから抽出された特徴インジケータ(たとえば、特徴ベクトル
Figure 0007472306000066
または特徴スカラーSのうちの1つ)に基づいて、変換セットのサブグループから、変換候補を決定することができる。
一例では、ブロックの1つまたは複数の隣接ブロックにおける再構成サンプルから抽出された特徴インジケータ(たとえば、特徴ベクトル
Figure 0007472306000067
または特徴スカラーSのうちの1つ)に基づいて、変換セットのサブグループのうちの1つの変換セットを選択することができる。コーディングされた情報でシグナリングされたインデックスに基づいて、変換セットのサブグループの選択された1つの変換セットから、ブロックの変換候補を決定することができる。
一例では、コーディングされた情報でシグナリングされた第2のインデックスに基づいて、変換セットのサブグループのうちの1つの変換セットを選択することができる。ブロックの1つまたは複数の隣接ブロックにおける再構成サンプルから抽出された特徴インジケータ(たとえば、特徴ベクトル
Figure 0007472306000068
または特徴スカラーSのうちの1つ)に基づいて、変換セットのサブグループの選択された1つの変換セットから、ブロックの変換候補を決定することができる。
一例では、ブロックの1つまたは複数の隣接ブロックにおける再構成サンプルから抽出された特徴インジケータ(たとえば、特徴ベクトル
Figure 0007472306000069
または特徴スカラーSのうちの1つ)に基づいて、変換セットのサブグループから、変換候補を暗黙的に決定することができる。
一例では、ブロックの1つまたは複数の隣接ブロックにおける再構成サンプルの統計分析に基づいて、
Figure 0007472306000070
選択された変換セットから変換候補を決定することのうちのいずれか1つを実行することができる。
一例では、特徴インジケータは特徴スカラーSであり、且つ、ブロックの1つまたは複数の隣接ブロックにおける再構成サンプルのサンプル値を示す変数のモーメントとして決定される。しきい値セットKは予め定義されている。したがって、(i)変数のモーメントとしきい値セットKから選択されたしきい値に基づいて、変換セットのサブグループから変換セットを決定すること、(ii)変数のモーメントとしきい値に基づいて、変換セットのサブグループから変換候補を決定すること、または(iii)コーディングされた情報の第2のインデックスに基づいて、変換セットのサブグループから変換セットを選択し、変数のモーメントとしきい値に基づいて、選択された変換セットから変換候補を決定することのうちのいずれか1つを実行することができる。
一例では、変数のモーメントは、変数の1次モーメント、前記変数の2次モーメント、または前記変数の3次モーメントのうちの1つである。ブロックの予測モードは、複数の予測モードのうちの1つである。複数の予測モードのそれぞれは、しきい値セットKにおける一意のしきい値サブセットK'に対応し、この一意のしきい値サブセットK'は、複数の予測モードと、しきい値セットKにおける複数のしきい値サブセットとの間の単射マッピングを示している。
(i)ブロックのブロックサイズ、(ii)量子化パラメータ、または(iii)ブロックの予測モードのうちの1つに基づいて、しきい値セットKからしきい値を選択する。
一例では、特徴インジケータは
Figure 0007472306000071
したがって、(i)距離と、しきい値セットKに含まれるしきい値サブセットK’から選択されたしきい値との比較に基づいて、変換セットのサブグループから変換セットを決定すること、(ii)距離としきい値Kとの比較に基づいて、変換セットのサブグループから変換候補を決定すること、または、(iii)コーディングされた情報の第2のインデックスに基づいて、変換セットのサブグループから変換セットを選択し、距離としきい値との比較に基づいて、選択された変換セットから変換候補を決定することのうちのいずれか1つを実行することができる。
(S1920)において、決定された変換候補に基づいて、ブロックのサンプルを再構成することができる。
プロセス(1900)は適切に調整され得る。プロセス(1900)における1つまたは複数のステップは、変更および/または省略され得る。1つまたは複数の追加のステップは追加され得る。任意の適切な実現順序を使用することができる。
本開示の実施形態は、単独で使用されるか、または任意の順序で組み合わせて使用されることができる。さらに、方法(または実施形態)、エンコーダ、およびデコーダのそれぞれは、処理回路(例えば、1つまたは複数のプロセッサまたは1つまたは複数の集積回路)によって実現され得る。一例では、1つまたは複数のプロセッサは、非一時的なコンピュータ可読媒体に格納されているプログラムを実行する。本開示の実施形態は、ルマブロックまたはクロマブロックに適用され得る。
以上で説明された技術は、コンピュータ読取可能な命令を使用するコンピュータソフトウェアとして実現され、1つまたは複数のコンピュータ読取可能な媒体に物理的に記憶されることができる。例えば、図20は、開示された主題の特定の実施形態を実行することに適したコンピュータシステム(2000)を示す。
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク、またはそのようなメカニズムを施されて、1つまたは複数のコンピュータ中央処理装置(CPU)、グラフィックスプロセッシングユニット(GPU)などによって直接、または解釈、マイクロコード実行などによって実行され得る命令を含むコードを作成する任意の適切な機械コードまたはコンピュータ言語を用いてコーディングされることができる。
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイスなどを含む、様々なタイプのコンピュータまたはそのコンポーネント上で実行されることができる。
コンピュータシステム(2000)について、図20に示される例示的なコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実施するコンピュータソフトウェアの使用または機能の範囲に関していかなる限定を示唆することも意図されない。またコンポーネントの構成は、コンピュータシステム(1700)の例示的な実施形態で示されるコンポーネントのうちのいずれか1つ又は組み合わせに関する任意の依存性又は必要性を有するとして解釈されるべきでもない。
コンピュータシステム(2000)は、特定のヒューマンインターフェース入力デバイスを含み得る。このようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、オーディオ入力(音声、拍手など)、視覚入力(ジェスチャーなど)、嗅覚入力(示されていない)によって、1人以上のユーザによる入力に応答することができる。ヒューマンインターフェースデバイスは、オーディオ(音声、音楽、環境音など)、画像(走査画像、静止画像カメラから取得される写真画像など)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)など、人間による意識的な入力に必ずしも直接関係しない特定のメディアをキャプチャすることにも使用され得る。
入力ヒューマンインターフェースデバイスは、キーボード(2001)、マウス(2002)、トラックパッド(2003)、タッチスクリーン(2010)、データグローブ(図示せず)、ジョイスティック(2005)、マイクフォン(2006)、スキャナ(2007)、カメラ(2008)(各種につき1つのみ示されている)のうちの1つまたは複数を含み得る。
コンピュータシステム(2000)は、特定のヒューマンインターフェース出力デバイスをも含み得る。このようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音声、光、および嗅覚/味覚を介して1人以上のユーザの感覚を刺激し得る。このようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(2010)、データグローブ(図示せず)、またはジョイスティック(2005)による触覚フィードバックがあるが、入力デバイスとして機能しない触覚フィードバックデバイスであってもよい)、オーディオ出力デバイス(スピーカ(2009)、ヘッドホン(図示せず)など)、視覚出力デバイス(CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(2010)(それぞれタッチスクリーン入力能力を有するかもしくは有せず、それぞれ触覚フィードバック能力を有するかもしくは有しない。それらの一部は、ステレオグラフィック出力などの手段を介して、2次元の視覚出力または3次元以上の出力を出力することができる)、仮想現実眼鏡(図示せず)、ホログラフィックディスプレおよびスモークタンク(図示せず)など)、およびプリンタ(図示せず)を含み得る。
コンピュータシステム(2000)は、人間がアクセス可能な記憶装置およびそれらの関連する媒体、例えば、CD/DVDなどの媒体(2021)付きのCD/DVD ROM/RW(2020)を含む光学媒体、サムドライブ(2022)、リムーバブルハードドライブまたはソリッドステートドライブ(2023)、テープやフロッピー(登録商標)ディスクなどの従来の磁気媒体(図示せず)、セキュリティドングルなどの専用のROM/ASIC/PLDベースのデバイス(図示せず)などをも含み得る。
ここで、開示された主題に合わせて使用される「コンピュータ読取可能な媒体」という用語は、送信媒体、搬送波、または他の一時的な信号を含まないことは、当業者に理解されるべきであろう。
コンピュータシステム(2000)は、1つまたは複数の通信ネットワーク(2055)へのインターフェース(2054)をさらに含み得る。ネットワークは、例えば、無線、有線、光学的であり得る。ネットワークは、さらに、ローカル、広域、大都市圏、車両用および産業用、リアルタイム、遅延耐性などであり得る。ネットワークの例としては、イーサネット(登録商標)、無線LANなどのローカルエリアネットワーク、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルTV、衛星TV、および地上放送TVを含むTV有線または無線広域デジタルネットワーク、CANBusを含む車両用や産業用などが含まれる。特定のネットワークは、一般に、特定の汎用データポートまたは周辺バス(2049)(例えば、コンピューターシステム(2000)のUSBポートなど)に接続された外部ネットワークインターフェースアダプターを必要とする。他のものは一般に、以下で説明するようにシステムバスに接続することにより、コンピューターシステム(2000)のコアに統合される(例えば、PCコンピュータシステムへのイーサネット(登録商標)インターフェースまたはスマートフォンコンピューターシステムへのセルラーネットワークインターフェース)。これらのネットワークのいずれかを用いて、コンピュータシステム(2000)は、他のエンティティと通信することができる。このような通信は、単方向の受信のみ(例えば、放送TV)、単方向の送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または双方向、例えばローカルまたはワイドエリアデジタルネットワークを用いる他のコンピュータシステムへの送信であり得る。特定のプロトコルおよびプロトコルスタックを上述したこれらのネットワークおよびネットワークインターフェースのそれぞれで使用することができる。
前述のヒューマンインターフェースデバイス、人間がアクセス可能な記憶装置、およびネットワークインターフェースは、コンピュータシステム(2000)のコア(2040)に接続されることができる。
コア(2040)は、1つまたは複数の中央処理装置(CPU)(2041)、グラフィックスプロセッシングユニット(GPU)(2042)、フィールドプログラマブルゲートアレイ(FPGA)(2043)の形式の専用プログラマブル処理ユニット、特定のタスク向けのハードウェアアクセラレータ(2044)、グラフィックアダプタ(2050)などを含むことができる。これらのデバイスは、リードオンリーメモリ(ROM)(2045)、ランダムアクセスメモリ(2046)、非ユーザアクセス可能な内部ハードドライブ、SSDなどの内部大容量記憶装置(2047)とともに、システムバス(2048)を介して接続されてもよい。一部のコンピュータシステムでは、システムバス(2048)は、1つまたは複数の物理プラグの形態でアクセスでき、追加のCPU、GPUなどによる拡張を可能にする。周辺機器は、コアのシステムバス(2048)に直接、または周辺バス(2049)を介して接続され得る。一例では、ディスプレイ(2010)は、グラフィックアダプタ(2050)に接続され得る。周辺バスのアーキテクチャは、PCI、USBなどを含む。
CPU(2041)、GPU(2042)、FPGA(2043)、およびアクセラレータ(2044)は、組み合わせて、前述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードは、ROM(2045)またはRAM(2046)に記憶され得る。移行データはRAM(1746)にも記憶できるが、永続データは、例えば、内部大容量ストレージ(2047)に記憶され得る。1つまたは複数のCPU(2041)、GPU(2042)、大容量ストレージ(2047)、ROM(2045)、RAM(2046)などと密接に関連付けることができるキャッシュメモリを使用することにより、任意のメモリデバイスへの高速保存および検索が可能になる。
コンピュータ読取可能な媒体は、様々なコンピュータ実現操作を実行するためのコンピュータコードを備えることができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであり得るか、もしくは、それらは、コンピュータソフトウェア技術の当業者に周知であって利用可能な種類のものであり得る。
限定ではなく、一例として、アーキテクチャを有するコンピュータシステム(2000)、特にコア(2040)は、1つまたは複数の有形のコンピュータ読取可能な媒体に組み込まれたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)の結果としての機能を提供することができる。このようなコンピュータ読取可能な媒体は、以上で説明されたようにユーザがアクセス可能な大容量ストレージ、および、コア内部大容量ストレージ(2047)またはROM(2045)などの非一時的な性質を持つコア(2040)の特定のストレージに関連付けられた媒体であり得る。本開示の様々な実施形態を実行するソフトウェアは、このようなデバイスに記憶され、コア(2040)によって実行されることができる。コンピュータ読取可能な媒体は、特定の必要に応じて、1つまたは複数のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア(2040)、具体的にはその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM(2046)に記憶されたデータ構造を定義すること、および、ソフトウェアで定義されたプロセスに従ってこのようなデータ構造を変更することを含む、ここで説明する特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えて、または、代替として、コンピュータシステムは、本明細書に記載された特定のプロセスまたは特定のプロセスの特定の部分を実行するためにソフトウェアの代わりにまたは一緒に動作することができる回路(例えば、アクセラレータ(2044))に有線接続されたまたは組み込まれたロジックの結果としての機能を提供することができる。ソフトウェアへの引用は、必要に応じて、ロジックを含むことができ、その逆も同様である。コンピュータ読取可能な媒体への引用は、必要に応じて、実行のためのソフトウェアを記憶する回路(集積回路(IC)など)、実行のためのロジックを具現化する回路、またはその両方を含むことができる。本開示は、ハードウェアとソフトウェアの任意の適切な組み合わせを含む。
付録A:頭字語
JEM:Joint Exploration Model(共同探索モデル)
VVC:Versatile Video Coding(多用途ビデオコーディング)
BMS:Benchmark Set(ベンチマークセット)
MV:Motion Vector(動きベクトル)
HEVC:High Efficiency Video Coding(高効率ビデオコーディング)
SEI:Supplementary Enhancement Information(補足拡張情報)
VUI:Video Usability Information(ビデオユーザビリティ情報)
GOP:Groups of Pictures(グループオブピクチャ)
TU:Transform Units(変換ユニット)
PU:Prediction Units(予測ユニット)
CTU:Coding Tree Units(コーディングツリーユニット)
CTB:Coding Tree Blocks(コーディングツリーブロック)
PB:Prediction Blocks(予測ブロック)
HRD:Hypothetical Reference Decoder(仮想参照デコーダ)
SNR:Signal Noise Ratio(信号対雑音比)
CPU:Central Processing Units(中央処理装置)
GPU:Graphics Processing Units(グラフィックスプロセッシングユニット)
CRT:Cathode Ray Tube(陰極線管)
LCD:Liquid-Crystal Display(液晶ディスプレイ)
OLED:Organic Light-Emitting Diode(有機発光ダイオード)
CD:Compact Disc(コンパクトディスク)
DVD:Digital Video Disc(デジタルビデオディスク)
ROM:Read-Only Memory(リードオンリーメモリ)
RAM:Random Access Memory(ランダムアクセスメモリ)
ASIC:Application-Specific Integrated Circuit(特定用途向け集積回路)
PLD:Programmable Logic Device(プログラマブルロジックデバイス)
LAN:Local Area Network(ローカルエリアネットワーク)
GSM:Global System for Mobile Communications(グローバルモバイル通信システム)
LTE:Long-Term Evolution(長期的な進化)
CANBus:Controller Area Network Bus(コントローラエリアネットワークバス)
USB:Universal Serial Bus(ユニバーサルシリアルバス)
PCI:Peripheral Component Interconnect(ペリフェラルコンポーネントインターコネクト)
FPGA:Field Programmable Gate Array(フィールドプログラマブルゲートアレイ)
SSD:Solid-State Drive(ソリッドステートドライブ)
IC:Integrated Circuit(集積回路)
CU:Coding Unit(コーディングユニット)
本開示はいくつかの例示的な実施形態について説明してきたが、本開示の範囲内に含まれる変更、置換、および様々な代替の均等物が存在する。したがって、当業者は、本明細書では明記または記載されていないが、本開示の原理を具現化し、その思想および範囲内に含まれる様々なシステムおよび方法を考案できることは、理解されるべきであろう。

Claims (13)

  1. デコーダによるビデオデコーディングのための方法であって、
    現在のピクチャのブロックの1つまたは複数の隣接ブロックにおける再構成サンプルから特徴ベクトル
    または特徴スカラーSを抽出するステップと、
    前記ブロックの1つまたは複数の隣接ブロックにおける前記再構成サンプルの統計分析に基づいて、前記特徴ベクトル
    または前記特徴スカラーSのうちの1つを決定するステップと、
    前記ブロックのコーディングされた情報で示される前記ブロックの予測モードに基づいて、変換セットのグループから、変換セットのサブグループを選択するステップであって、前記変換セットのグループの各変換セットは前記ブロックの1つまたは複数の変換候補を含み、1つまたは複数の隣接ブロックは前記現在のピクチャまたは前記現在のピクチャと異なる再構成ピクチャにある、ステップと、
    (i)前記特徴ベクトル
    または前記特徴スカラーSのうちの1つに基づいて、前記変換セットのサブグループから変換セットを決定すること、
    (ii)前記特徴ベクトル
    または前記特徴スカラーSのうちの1つに基づいて、前記変換セットのサブグループから前記変換候補を決定すること、または、
    (iii)前記コーディングされた情報のインデックスに基づいて、前記変換セットのサブグループから前記変換セットを選択し、前記特徴ベクトル
    または前記特徴スカラーSのうちの1つに基づいて、選択された変換セットから前記変換候補を決定すること、のうちのいずれか1つを実行するステップと、
    決定された変換候補に基づいて、前記ブロックのサンプルを再構成するステップとを含む、
    方法。
  2. 前記特徴ベクトル
    または前記特徴スカラーSのうちの1つは前記特徴スカラーSであり、
    前記特徴ベクトル
    または前記特徴スカラーSのうちの1つを決定することは、前記特徴スカラーSを、前記ブロックの1つまたは複数の隣接ブロックにおける前記再構成サンプルのサンプル値を示す変数のモーメントとして決定するステップをさらに含む、
    請求項に記載の方法。
  3. しきい値セットKが予め定義されており、
    前記実行は、
    (i)前記変数のモーメントと前記しきい値セットKからのしきい値に基づいて、前記変換セットのサブグループから、前記変換セットを決定すること、
    (ii)前記変数のモーメントと前記しきい値に基づいて、前記変換セットのサブグループから前記変換候補を決定すること、または
    (iii)前記コーディングされた情報のインデックスに基づいて、前記変換セットのサブグループから前記変換セットを選択し、前記変数のモーメントと前記しきい値に基づいて、選択された変換セットから前記変換候補を決定することのうちのいずれか1つを実行するステップを含む、
    請求項に記載の方法。
  4. 前記変数のモーメントは、前記変数の1次モーメント、前記変数の2次モーメント、または前記変数の3次モーメントのうちの1つであり、
    前記ブロックの予測モードは複数の予測モードのうちの1つであり、
    前記複数の予測モードのそれぞれは、前記しきい値セットKにおける一意のしきい値サブセットK'に対応し、前記一意のしきい値サブセットK'は、前記複数の予測モードと、前記しきい値セットKにおける複数のしきい値サブセットとの間の単射マッピングを示す、
    請求項に記載の方法。
  5. (i)前記ブロックのブロックサイズ、(ii)量子化パラメータ、または(iii)前記ブロックの予測モードのうちの1つに基づいて、前記しきい値セットKから前記しきい値を選択するステップをさらに含む、
    請求項に記載の方法。
  6. 前記特徴ベクトル
    または前記特徴スカラーSのうちの1つは前記特徴ベクトル
    であり、
    前記特徴ベクトル
    または前記特徴スカラーSのうちの1つを決定することは、前記特徴ベクトル
    、前記ブロックの左側にある隣接列の再構成サンプルのサンプル値と、前記ブロックの上側にある隣接行の再構成サンプルのサンプル値をそれぞれ示す変数の共分散または2次モーメントを含めるステップをさらに含む、
    請求項に記載の方法。
  7. 分類ベクトルセット
    、および前記分類ベクトルセット
    に関連付けられたしきい値セットKが予め定義されており、
    前記変数の共同変動と、前記分類ベクトルセット
    に含まれる分類ベクトルサブセット
    から選択された分類ベクトルとの間の距離を算出するステップをさらに含み、
    前記実行は、
    (i)前記距離と、前記しきい値セットKに含まれるしきい値サブセットK’から選択されたしきい値との比較に基づいて、前記変換セットのサブグループから前記変換セットを決定すること、
    (ii)前記距離と前記しきい値との比較に基づいて、前記変換セットのサブグループから前記変換候補を決定すること、または、
    (iii)前記コーディングされた情報のインデックスに基づいて、前記変換セットのサブグループから前記変換セットを選択し、前記距離と前記しきい値との比較に基づいて、選択された変換セットから前記変換候補を決定することのうちのいずれか1つを実行するステップを含む、
    請求項に記載の方法。
  8. ビデオデコーディング装置であって、
    現在のピクチャのブロックの1つまたは複数の隣接ブロックにおける再構成サンプルから特徴ベクトル
    または特徴スカラーSを抽出することと、
    前記ブロックの1つまたは複数の隣接ブロックにおける前記再構成サンプルの統計分析に基づいて、前記特徴ベクトル
    または前記特徴スカラーSのうちの1つを決定することと、
    前記ブロックのコーディングされた情報で示される前記ブロックの予測モードに基づいて、変換セットのグループから、変換セットのサブグループを選択することであって、前記変換セットのグループの各変換セットは前記ブロックの1つまたは複数の変換候補を含み、1つまたは複数の隣接ブロックは前記現在のピクチャまたは前記現在のピクチャと異なる再構成ピクチャにある、ことと、
    (i)前記特徴ベクトル
    または前記特徴スカラーSのうちの1つに基づいて、前記変換セットのサブグループから変換セットを決定すること、
    (ii)前記特徴ベクトル
    または前記特徴スカラーSのうちの1つに基づいて、前記変換セットのサブグループから前記変換候補を決定すること、または、
    (iii)前記コーディングされた情報のインデックスに基づいて、前記変換セットのサブグループから前記変換セットを選択し、前記特徴ベクトル
    または前記特徴スカラーSのうちの1つに基づいて、選択された変換セットから前記変換候補を決定すること、のうちのいずれか1つを実行することと、
    決定された変換候補に基づいて、前記ブロックのサンプルを再構成することとを行う
    ように構成される処理回路を含む、
    装置。
  9. 前記特徴ベクトル
    または前記特徴スカラーSのうちの1つは前記特徴スカラーSであり、
    前記処理回路は、前記特徴スカラーSを、前記ブロックの1つまたは複数の隣接ブロックにおける前記再構成サンプルのサンプル値を示す変数のモーメントとして決定するように構成される、
    請求項に記載の装置。
  10. しきい値セットKが予め定義されており、
    前記処理回路は、
    (i)前記変数のモーメントと前記しきい値セットKからのしきい値に基づいて、前記変換セットのサブグループから、前記変換セットを決定すること、
    (ii)前記変数のモーメントと前記しきい値に基づいて、前記変換セットのサブグループから前記変換候補を決定すること、または、
    (iii)前記コーディングされた情報のインデックスに基づいて前記変換セットのサブグループから前記変換セットを選択し、前記変数のモーメントと前記しきい値に基づいて、選択された変換セットから前記変換候補を決定することのうちのいずれか1つを実行するように構成される、
    請求項に記載の装置。
  11. 前記特徴ベクトル
    または前記特徴スカラーSのうちの1つは、前記特徴ベクトル
    であり、
    前記処理回路は、
    前記特徴ベクトル
    、前記ブロックの左側にある隣接列の再構成サンプルのサンプル値と、前記ブロックの上側にある隣接行の再構成サンプルのサンプル値をそれぞれ示す変数の共分散または2次モーメントを含めるように構成される、
    請求項に記載の装置。
  12. 分類ベクトルセット
    、および前記分類ベクトルセット
    に関連付けられたしきい値セットKが予め定義されており、
    前記処理回路は、
    前記変数の共同変動と、前記分類ベクトルセット
    に含まれる分類ベクトルサブセット
    から選択された分類ベクトルとの間の距離を算出し、
    (i)前記距離と、前記しきい値セットKに含まれるしきい値サブセットK’から選択されたしきい値との比較に基づいて、前記変換セットのサブグループから前記変換セットを決定すること、
    (ii)前記距離と前記しきい値との比較に基づいて、前記変換セットのサブグループから前記変換候補を決定すること、または、
    (iii)前記コーディングされた情報のインデックスに基づいて、前記変換セットのサブグループから前記変換セットを選択し、前記距離と前記しきい値との比較に基づいて、選択された変換セットから前記変換候補を決定することのうちのいずれか1つを実行する、ように構成される、
    請求項11に記載の装置。
  13. 前記変数のモーメントは、前記変数の1次モーメント、前記変数の2次モーメント、または前記変数の3次モーメントのうちの1つであり、
    前記ブロックの予測モードは複数の予測モードのうちの1つであり、
    前記複数の予測モードのそれぞれは、前記しきい値セットK における一意のしきい値サブセットK 'に対応し、前記一意のしきい値サブセットK 'は、前記複数の予測モードと、前記しきい値セットK における複数のしきい値サブセットとの間の単射マッピングを示す、
    請求項12に記載の装置。
JP2022557969A 2020-12-23 2021-10-05 ビデオコーティングのための方法、及び装置 Active JP7472306B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2024063336A JP2024088772A (ja) 2020-12-23 2024-04-10 ビデオコーティングのための方法、及び装置

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063130249P 2020-12-23 2020-12-23
US63/130,249 2020-12-23
US17/490,967 2021-09-30
US17/490,967 US12096030B2 (en) 2020-12-23 2021-09-30 Method and apparatus for video coding
PCT/US2021/053591 WO2022139935A1 (en) 2020-12-23 2021-10-05 Method and apparatus for video coding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2024063336A Division JP2024088772A (ja) 2020-12-23 2024-04-10 ビデオコーティングのための方法、及び装置

Publications (2)

Publication Number Publication Date
JP2023520197A JP2023520197A (ja) 2023-05-16
JP7472306B2 true JP7472306B2 (ja) 2024-04-22

Family

ID=82021810

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2022557969A Active JP7472306B2 (ja) 2020-12-23 2021-10-05 ビデオコーティングのための方法、及び装置
JP2024063336A Pending JP2024088772A (ja) 2020-12-23 2024-04-10 ビデオコーティングのための方法、及び装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2024063336A Pending JP2024088772A (ja) 2020-12-23 2024-04-10 ビデオコーティングのための方法、及び装置

Country Status (6)

Country Link
US (1) US12096030B2 (ja)
EP (1) EP4078958A4 (ja)
JP (2) JP7472306B2 (ja)
KR (1) KR20220124802A (ja)
CN (1) CN115769575A (ja)
WO (1) WO2022139935A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024080766A1 (ko) * 2022-10-12 2024-04-18 엘지전자 주식회사 비분리 변환에 기반한 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체
WO2024193709A1 (en) * 2023-03-22 2024-09-26 Douyin Vision Co., Ltd. Method, apparatus, and medium for visual data processing

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180098081A1 (en) 2016-10-01 2018-04-05 Qualcomm Incorporated Transform selection for video coding
WO2019125035A1 (ko) 2017-12-21 2019-06-27 엘지전자 주식회사 선택적 변환에 기반한 영상 코딩 방법 및 그 장치
WO2019185883A1 (en) 2018-03-29 2019-10-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Determination of set of candidate transforms for video encoding

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5806219B2 (ja) 2009-10-05 2015-11-10 トムソン ライセンシングThomson Licensing ビデオ符号化及び復号化における埋め込み量子化パラメータ調整方法及び装置
US11722677B2 (en) 2016-05-06 2023-08-08 Interdigital Madison Patent Holdings, Sas Method and system for decoder-side intra mode derivation for block-based video coding
US10750181B2 (en) * 2017-05-11 2020-08-18 Mediatek Inc. Method and apparatus of adaptive multiple transforms for video coding
CN112740684A (zh) * 2018-09-19 2021-04-30 韩国电子通信研究院 用于对图像进行编码/解码的方法和装置以及用于存储比特流的记录介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180098081A1 (en) 2016-10-01 2018-04-05 Qualcomm Incorporated Transform selection for video coding
JP2019534624A (ja) 2016-10-01 2019-11-28 クゥアルコム・インコーポレイテッドQualcomm Incorporated ビデオコーディングのための変換選択
WO2019125035A1 (ko) 2017-12-21 2019-06-27 엘지전자 주식회사 선택적 변환에 기반한 영상 코딩 방법 및 그 장치
JP2021507634A (ja) 2017-12-21 2021-02-22 エルジー エレクトロニクス インコーポレイティド 選択的変換に基づいた映像コーディング方法およびその装置
WO2019185883A1 (en) 2018-03-29 2019-10-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Determination of set of candidate transforms for video encoding
JP2021519546A (ja) 2018-03-29 2021-08-10 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 映像符号化のための候補変換セットの決定

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Jianle Chen et al.,Algorithm description for Versatile Video Coding and Test Model 11 (VTM 11) [online],JVET-T2002-v1(JVET-T2002-v1.docx), [2023年10月5日検索],インターネット <URL: https://jvet-experts.org/doc_end_user/documents/20_Teleconference/wg11/JVET-T2002-v4.zip>,2020年12月15日,pp.56-62

Also Published As

Publication number Publication date
WO2022139935A1 (en) 2022-06-30
US20220201334A1 (en) 2022-06-23
KR20220124802A (ko) 2022-09-14
EP4078958A4 (en) 2023-03-08
JP2024088772A (ja) 2024-07-02
CN115769575A (zh) 2023-03-07
JP2023520197A (ja) 2023-05-16
EP4078958A1 (en) 2022-10-26
US12096030B2 (en) 2024-09-17

Similar Documents

Publication Publication Date Title
JP7285954B2 (ja) ビデオコーディングのための方法および装置
JP7187703B2 (ja) ビデオデコーディングのための方法、装置、媒体、およびプログラム
KR102697554B1 (ko) 비디오 코딩을 위한 방법 및 장치
JP7262881B2 (ja) ビデオコーディングのための方法およびコンピュータプログラム
JP7502190B2 (ja) ビデオ符号化のための方法並びにその装置及びコンピュータプログラム
JP7465918B2 (ja) デコーダが実行するビデオデコーディングのための方法及び装置、並びにエンコーダが実行するビデオエンコーディングのための方法
JP7413552B2 (ja) デコーダが実行するビデオデコーディングの方法、装置、及びプログラム、並びにエンコーダが実行するビデオコーディングの方法
JP7258168B2 (ja) ビデオコーディングのための方法並びにその、装置およびコンピュータプログラム
JP7331218B2 (ja) 統合位置依存予測組み合わせプロセスを使用するデコードのための方法、装置およびコンピュータ・プログラム
JP7271675B2 (ja) ビデオ復号の方法および装置、並びにプログラム
JP2023164443A (ja) ビデオコーディングのための方法、装置、およびプログラム
JP2024088772A (ja) ビデオコーティングのための方法、及び装置
KR20220085836A (ko) 비디오 코딩 방법 및 장치
JP2024074928A (ja) ビデオコーディングのための方法および装置
JP2024069325A (ja) 部分空間制約を有する直交変換生成
JP2024119954A (ja) ビデオ情報を処理するための方法及びコンピュータプログラム
JP7189370B2 (ja) Cuに基づく補間フィルタ選択のシグナリング
JP7512422B2 (ja) 複数基準線イントラ予測と変換分割との間の調和した設計
JP2024516763A (ja) 適応型多重変換セット選択
JP2023510690A (ja) ビデオコーディングのための方法及び装置
JP7523578B2 (ja) 多重変換選択を用いた適応スキャン
JP7544433B2 (ja) イントラ双方向予測及び複数参照ライン選択のための調和設計
JP7537025B2 (ja) 複合インターイントラ予測モードのための適応変換
JP2024507377A (ja) ビデオ処理の方法、デバイス、及びプログラム
JP2024535959A (ja) 複合インターイントラ予測モードのための二次変換

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220922

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231010

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240123

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240311

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240410

R150 Certificate of patent or registration of utility model

Ref document number: 7472306

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150