JP7521061B2 - 映像符号化方法及び装置 - Google Patents

映像符号化方法及び装置 Download PDF

Info

Publication number
JP7521061B2
JP7521061B2 JP2023078207A JP2023078207A JP7521061B2 JP 7521061 B2 JP7521061 B2 JP 7521061B2 JP 2023078207 A JP2023078207 A JP 2023078207A JP 2023078207 A JP2023078207 A JP 2023078207A JP 7521061 B2 JP7521061 B2 JP 7521061B2
Authority
JP
Japan
Prior art keywords
transform
equal
block
pixels
determining
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
JP2023078207A
Other languages
English (en)
Other versions
JP2023090947A5 (ja
JP2023090947A (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 JP2023090947A publication Critical patent/JP2023090947A/ja
Publication of JP2023090947A5 publication Critical patent/JP2023090947A5/ja
Application granted granted Critical
Publication of JP7521061B2 publication Critical patent/JP7521061B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for 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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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]

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)

Description

この出願は、2019年6月7日に出願された米国仮出願第62/858,887号“IMPLICIT TRANSFORM SELECTION”に対する優先権の利益を主張するものである2020年5月26日に出願された米国特許出願第16/883,545号“METHOD AND APPARATUS FOR IMPROVED IMPLICIT TRANSFORM SELECTION”に対する優先権の利益を主張するものである。これら先行出願の開示全体をそれらの全体にてここに援用する。
本開示は、先進的な映像符号化技術のセットを提示する。より具体的には、改良された暗示的変換アプローチが提案される。
ここに提示される背景説明は、開示に係る状況を概略的に提示するためのものである。この背景セクションに記載される範囲においての、ここに名を連ねる発明者の仕事、並びに、出願時にさもなければ従来技術として適格でないかもしれない記載の態様は、明示的にも、暗示的にも、本開示に対する従来技術として認められるものではない。
動き補償を用いるインターピクチャ予測を使用して映像符号化及び復号を実行することができる。圧縮されていないデジタル映像は一連のピクチャを含み、各ピクチャが、例えば、1920×1080の輝度(ルミナンス)サンプル及び関連する色(クロミナンス)サンプルの空間寸法を持つ。一連のピクチャは、固定又は可変のピクチャレート(非公式にはフレームレートとしても知られる)を持つことができ、例えば、毎秒60ピクチャ、すなわち、60Hzのピクチャレートを持ち得る。圧縮されていない映像は、かなりのビットレート要求を持つ。例えば、サンプル当たり8ビットの1080p60 4:2:0映像(60Hzのフレームレートで1920×1080のルミナンスサンプル解像度)は、1.5Gbit/sに近い帯域幅を必要とする。1時間のこのような映像は、600ギガバイト(GB)を超えるストレージ空間を必要とする。
映像の符号化及び復号の1つの目的は、圧縮を通じての入力映像信号の冗長性の低減であるとし得る。圧縮は、前述の帯域幅要求又はストレージ空間要求を、場合によって2桁以上の大きさで、低減させる助けとなることができる。可逆圧縮及び不可逆圧縮の双方、並びにこれらの組み合わせを使用することができる。可逆圧縮は、原信号の正確な複製を圧縮された原信号から再構成することができる技術を指す。不可逆圧縮を使用する場合、再構成された信号は、原信号と同じにならないことがあるが、原信号と再構成信号との間の歪みは、再構成信号を意図した用途に有用にするのに十分な小ささとなる。映像の場合、不可逆圧縮が広く用いられる。許容される歪みの量は用途に依存し、例えば、特定の消費者ストリーミングアプリケーションのユーザは、テレビジョン配信アプリケーションのユーザよりも高い歪みを許容し得る。達成可能な圧縮比はそれを反映し、より高い許容/我慢できる歪みは、より高い圧縮比をもたらすことができる。
ビデオエンコーダ及びデコーダは、例えば、動き補償、変換、量子化、及びエントロピー符号化を含む幾つかの広範なカテゴリからの技術を利用することができる。
映像コーデック技術は、イントラ符号化として知られる技術を含むことができる。イントラ符号化において、サンプル値は、先に再構成された参照ピクチャからのサンプル又は他のデータを参照することなく表現される。一部の映像コーデックでは、ピクチャは空間的に複数ブロックサンプルに細分化される。全てのブロックのサンプルがイントラモードで符号化されるとき、そのピクチャはイントラピクチャとすることができる。イントラピクチャ、及び例えば独立デコーダリフレッシュピクチャなどのそれらの派生物は、デコーダ状態をリセットするために使用されることができ、従って、符号化映像ビットストリーム及び映像セッションにおける最初のピクチャとして、又は静止画像として使用されることができる。イントラブロックのサンプルは変換に曝されることができ、変換係数がエントロピー符号化の前に量子化され得る。イントラ予測は、変換前ドメインにおけるサンプル値を最小化する技術であるとし得る。一部のケースにおいて、変換後のDC値が小さいほど、また、AC係数が小さいほど、エントロピー符号化後のブロックを表現するために所与の量子化ステップサイズで必要とされるビットが少なくなる。
例えばMPEG-2世代の符号化技術から知られているものなど、伝統的なイントラ符号化は、イントラ予測を使用していない。しかしながら、より新しい一部の映像圧縮技術は、例えば、空間的に隣接する及び復号順で先行するブロックのデータの符号化/復号中に得られる周囲のサンプルデータ及び/又はメタデータから試みる技術を含む。このような技術を、これ以降、“イントラ予測”技術と呼ぶ。なお、少なくとも一部のケースにおいて、イントラ予測は、再構成中の現在ピクチャからの参照データのみを使用しており、参照ピクチャからの参照データは使用していない。
多数の異なる形態のイントラ予測が存在し得る。そのような技術のうちの2つ以上が、所与の映像符号化技術において使用され得る場合、使用中の技術はイントラ予測モードで符号化されることができる。特定のケースにおいて、モードは、サブモード及び/又はパラメータを持つことができ、それらは、個別に符号化されることができ、又はモードコードワードに含められることができる。所与のモード/サブモード/パラメータの組み合わせで、いずれのコードワードを使用するかは、イントラ予測を通じた符号化効率利得に影響を与え得るものであり、コードワードをビットストリームに変換するために使用されるエントロピー符号化技術もそうであり得る。
ある特定のイントラ予測のモードが、H.264で導入され、H.265で改良され、そして、例えば共同探索モデル(JEM)、バーサタイルビデオコーディング(VVC)、及びベンチマークセット(BMS)などの、より新しい符号化技術でさらに改良されている。予測子ブロックを、既に利用可能なサンプルに属する隣接サンプル値を用いて形成することができる。隣接サンプルのサンプル値は、方向に従って予測子ブロックに複製される。使用中の方向への参照が、ビットストリームに符号化されることができ、又はそれ自体が予測され得る。
本開示の態様は、映像符号化/復号のための方法及び装置を提供する。一部の例において、映像復号のための装置は、受信回路及び処理回路を含む。
本開示の一態様によれば、デコーダの映像復号の方法が提供される。当該方法においては、符号化映像ビットストリームから変換ブロックシグナリング情報が取得される。さらに、変換ブロックシグナリング情報が暗示的変換スキームを指し示すか、及び低周波非分離型変換(low-frequency non-separable transform;LFNST)及び行列ベースイントラ予測モード(matrix-based intra predication mode;MIP)のうち少なくとも一方が無効であるか、を判定する判定が為される。変換ブロックシグナリング情報が暗示的変換スキームを指し示し、且つLFNST及びMIPのうち少なくとも一方が無効である、との判定に応答して、符号化ブロックユニット(coding block unit;CU)のサイズに基づいて一次変換タイプが決定され、そして、決定された一次変換タイプに従って、CUから分割される変換ブロックに対して一次変換が実行される。
一部の実施形態において、一次変換タイプを決定するために、変換スキップモードが有効にされるかを判定する判定が為され得る。変換スキップモードが有効にされるとの判定に応答して、CUの幅がT1以上であり且つT2以下であることに応じて、変換ブロックに対する水平変換に関して変換タイプDST-7を決定することができる。CUの幅がT1より小さい又はT2より大きいことに応じて、変換ブロックに対する水平変換に関して変換タイプDCT-2を決定することができる。CUの高さがT1以上であり且つT2以下であることに応じて、変換ブロックに対する垂直変換に関して変換タイプDST-7を決定することができる。CUの高さがT1より小さい又はT2より大きいことに応じて、変換ブロックに対する垂直変換に関して変換タイプDCT-2を決定することができる。
一部の実施形態において、T1は、2ピクセル、4ピクセル、又は8ピクセルのうちの1つに等しいとすることができ、T2は、4ピクセル、8ピクセル、16ピクセル、又は32ピクセルのうちの1つに等しい。
変換ブロックシグナリング情報が暗示的変換スキームを指し示し、且つLFNST又はMIPのうち前記少なくとも一方が真としてシグナリングされる、との判定に応答して、第1の例において、変換ブロックに関して第1の変換タイプDCT-2を決定することができる。第2の例において、変換ブロックに関して、DCT-7ではない第2の変換タイプを決定することができ、該第2の変換タイプは、DST-1、DCT-5、複合正規直交変換(compound orthonormal transform;COT)、又はカルーネン・レーベ変換のうち少なくとも1つを含む。
変換ブロックシグナリング情報が暗示的変換スキームを指し示し、且つMIPが偽としてシグナリングされて変換ブロックに対してMIPが適用されないことを指し示す、との判定に応答して、CUの幅がT1以上であり且つT2以下であることに応じて、変換ブロックに対する水平変換に関して変換タイプDST-7を決定することができる。CUの幅がT1より小さい又はT2より大きいことに応じて、変換ブロックに対する水平変換に関して変換タイプDCT-2を決定することができる。CUの高さがT1以上であり且つT2以下であることに応じて、変換ブロックに対する垂直変換に関して変換タイプDST-7を決定することができる。CUの高さがT1より小さい又はT2より大きいことに応じて、変換ブロックに対する垂直変換に関して変換タイプDCT-2を決定することができる。
第1の例において、T1は2ピクセルに等しいとすることができ、T2は、4ピクセル又は8ピクセルのうちの一方に等しいとすることができる。第2の例において、T1は4ピクセルに等しいとすることができ、T2は、4ピクセル又は8ピクセルのうちの一方に等しいとすることができる。第3の例において、T1は8ピクセルに等しいとすることができ、T2は、8ピクセル、16ピクセル、又は32ピクセルのうちの1つに等しいとすることができる。第4の例において、T1は16ピクセルに等しいとすることができ、T2は、16ピクセル又は32ピクセルのうちの一方に等しいとすることができる。
一部の実施形態において、変換ブロックシグナリング情報が暗示的変換スキームを指し示し、且つLFNST及びMIPの双方が偽としてシグナリングされて変換ブロックに対してLFNSTもMIPも適用されないことを指し示す、との判定に応答して、CUの幅がT1以上であり且つT2以下であることに応じて、変換ブロックに対する水平変換に関して変換タイプDST-7を決定することができる。CUの幅がT1より小さい又はT2より大きいことに応じて、変換ブロックに対する水平変換に関して変換タイプDCT-2を決定することができる。CUの高さがT1以上であり且つT2以下であることに応じて、変換ブロックに対する垂直変換に関して変換タイプDST-7を決定することができる。CUの高さがT1より小さい又はT2より大きいことに応じて、変換ブロックに対する垂直変換に関して変換タイプDCT-2を決定することができる。
本開示の他の一態様によれば、デコーダの映像復号の方法が提供される。当該方法においては、符号化映像ビットストリームから変換ブロックシグナリング情報が取得される。変換ブロックシグナリング情報及び符号化ブロックユニット(CU)のサイズに基づいて一次変換タイプが決定される。決定された一次変換タイプに従って、CUから分割される変換ブロックに対して一次変換が実行される。
一部の実施形態において、一次変換タイプを決定するために、CUの幅がT1以上であり且つT2以下であることに応じて、変換ブロックに対する水平変換に関して変換タイプDST-7を決定することができる。CUの幅がT2より大きく且つT3以下であることに応じて、変換ブロックの水平変換に関して、変換ブロックシグナリング情報からのシグナリングされたインデックスに基づいて変換タイプを決定することができる。シグナリングされたインデックスは、変換タイプがDCT-2又はDST-7のうちの一方であることを指し示す。CUの幅がT1より小さい又はT3より大きいことに応じて、変換ブロックに対する水平変換に関して変換タイプDCT-2を決定することができる。
一部の実施形態において、一次変換タイプを決定するために、CUの高さがT1以上であり且つT2以下であることに応じて、変換ブロックに対する垂直変換に関して変換タイプDST-7を決定することができる。CUの高さがT2より大きく且つT3以下であることに応じて、変換ブロックの垂直変換に関して、変換ブロックシグナリング情報からのシグナリングされたインデックスに基づいて変換タイプを決定することができる。シグナリングされたインデックスは、変換タイプがDCT-2又はDST-7のうちの一方であることを指し示す。CUの高さがT1より小さい又はT3より大きいことに応じて、変換ブロックに対する垂直変換に関して変換タイプDCT-2を決定することができる。
一部の実施形態において、T1は、2ピクセル、4ピクセル、又は8ピクセルのうちの1つに等しいとすることができる。T2は、4ピクセル、8ピクセル、16ピクセル、又は32ピクセルのうちの1つに等しいとすることができる。T3は、8ピクセル、16ピクセル、32ピクセル、又は64ピクセルのうちの1つに等しいとすることができる。
本開示の態様はまた、映像復号用のコンピュータによって実行されるときに該コンピュータに映像復号のための方法を実行させる命令を格納した非一時的なコンピュータ読み取り可能媒体を提供する。
開示に係る事項の更なる特徴、性質、及び様々な利点が、以下の詳細な説明及び添付の図面から、よりいっそう明らかになる。
一実施形態に従った通信システム(100)の簡略ブロック図を概略的に例示している。 一実施形態に従った通信システム(200)の簡略ブロック図を概略的に例示している。 一実施形態に従ったデコーダの簡略ブロック図を概略的に例示している。 一実施形態に従ったエンコーダの簡略ブロック図を概略的に例示している。 他の一実施形態に従ったエンコーダのブロック図を示している。 他の一実施形態に従ったデコーダのブロック図を示している。 図7A-図7Dは、4つの例示的なサブブロック変換モードを示している。 図7A-図7Dは、4つの例示的なサブブロック変換モードを示している。 図7A-図7Dは、4つの例示的なサブブロック変換モードを示している。 図7A-図7Dは、4つの例示的なサブブロック変換モードを示している。 イントラサブパーティション(ISP)符号化モードに基づくルマイントラ予測ブロックの第1の例示的な分割を示している。 イントラサブパーティション(ISP)符号化モードに基づくルマイントラ予測ブロックの第2の例示的な分割を示している。 16×64の二次変換コアを用いる縮小二次変換(RST)を示している。 16×48の二次変換コアを用いる縮小二次変換(RST)を示している。 順方向縮小変換を示している。 逆縮小変換を示している。 RST8×8の第1の実施形態を示している。 RST8×8の第2の実施形態を示している。 行列ベースイントラ予測(MIP)モードを示している。 本開示の一部の実施形態に従ったプロセス例を概説するフローチャートを示している。 一実施形態に従ったコンピュータシステムの概略図である。
図1は、本開示の一実施形態に従った通信システム(100)の簡略ブロック図を例示している。通信システム(100)は、例えばネットワーク(150)を介して、互いに通信することができる複数の端末装置を含む。例えば、通信システム(100)は、ネットワーク(150)を介して相互接続された第1の対の端末装置(110)及び(120)を含む。図1の例において、第1の対の端末装置(110)及び(120)は、データの一方向伝送を行う。例えば、端末装置(110)が、映像データ(例えば、端末装置(110)によってキャプチャされた映像ピクチャのストリーム)を、ネットワーク(150)を介した他の端末装置(120)への伝送のために符号化し得る。符号化された映像データは、1つ以上の符号化映像ビットストリームの形態で伝送されることができる。端末装置(120)が、ネットワーク(150)から符号化映像データを受信し、符号化映像データを復号して映像ピクチャを復元し、復元した映像データに従って映像ピクチャを表示し得る。一方向データ伝送は、メディアサービス提供アプリケーション及びそれに類するものにおいて一般的であり得る。
他の一例において、通信システム(100)は、例えば、テレビ会議中に発生し得る符号化映像データの双方向伝送を行う第2の対の端末装置(130)及び(140)を含む。データの双方向伝送では、一例において、端末装置(130)及び(140)の各端末装置が、映像データ(例えば、その端末装置によってキャプチャされた映像ピクチャのストリーム)を、ネットワーク(150)を介した端末装置(130)及び(140)のうちの他方の端末装置への伝送のために符号化し得る。端末装置(130)及び(140)の各端末装置はまた、端末装置(130)及び(140)のうちの他方の端末装置によって送信された符号化映像データを受信し得るとともに、符号化映像データを復号して映像ピクチャを復元し、そして、復元した映像データに従って、アクセス可能なディスプレイ装置に映像ピクチャを表示し得る。
図1において、端末装置(110)、(120)、(130)及び(140)は、サーバ、パーソナルコンピュータ、及びスマートフォンとして示されているが、本開示の原理は、そのように限定されるものではないとし得る。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、及び/又は専用のテレビ会議機器での用途を見出し。ネットワーク(150)は、例えば、配線(有線)通信ネットワーク及び/又は無線通信ネットワークを含め、端末装置(110)、(120)、(130)及び(140)間で符号化された映像データを伝達するあらゆる数のネットワークを表す。通信ネットワーク150は、回線交換チャネル及び/又はパケット交換チャネルにてデータを交換し得る。代表的なネットワークは、遠距離通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、及び/又はインターネットを含む。本説明の目的上、ネットワーク(150)のアーキテクチャ及びトポロジーは、以下にて説明しない限り、本開示の動作にとって重要ではないとし得る。
図2は、開示に係る事項に関するアプリケーションの一例として、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダの配置を例示している。開示に係る事項は、例えば、テレビ会議や、デジタルTVや、CD、DVD、メモリスティック及びこれらに類するものを含むデジタル媒体上での圧縮映像の格納などを含め、映像を使用可能な他の用途にも等しく適用されることができる。
ストリーミングシステムは、例えば圧縮されていない映像ピクチャのストリーム(202)を作り出す例えばデジタルカメラといった映像ソース(201)を含み得るものであるキャプチャサブシステム(213)を含み得る。一例において、映像ピクチャのストリーム(202)は、デジタルカメラによって撮影されるサンプルを含む。映像ピクチャのストリーム(202)は、符号化された映像データ(204)(又は符号化映像ビットストリーム)と比較して高いデータボリュームであることを強調するために太線として描かれており、映像ソース(201)に結合されたビデオエンコーダ(203)を含んだエレクトロニクス装置(220)によって処理され得る。ビデオエンコーダ(203)は、更に詳細に後述される開示に係る事項の態様を使用可能にする又は実装するための、ハードウェア、ソフトウェア、又はこれらの組み合わせを含むことができる。符号化された映像データ(204)(又は符号化映像ビットストリーム(204))は、映像ピクチャのストリーム(202)と比較して低いデータボリュームであることを強調するために細線として描かれており、後の使用のためにストリーミングサーバ(205)に格納されることができる。例えば図2のクライアントサブシステム(206)及び(208)などの1つ以上のストリーミングクライアントサブシステムが、符号化された映像データ(204)のコピー(207)及び(209)を取り出すためにストリーミングサーバ(205)にアクセスすることができる。クライアントサブシステム(206)は、例えばエレクトロニクス装置(230)内の、ビデオデコーダ(210)を含むことができる。ビデオデコーダ(210)は、入ってくる符号化された映像データのコピー(207)を復号し、出ていく映像ピクチャのストリーム(211)を作り出すことができ、出ていく映像ピクチャのストリーム(211)が、ディスプレイ(212)(例えば、表示スクリーン)又は他のレンダリング装置(図示せず)上でレンダリングされ得る。一部のストリーミングシステムにおいて、符号化された映像データ(204)、(207)、及び(209)(例えば、映像ビットストリーム)は、特定の映像符号化/圧縮標準に従って符号化されることができる。それら標準の例は、ITU-T勧告H.265を含む。一例において、開発中のある映像符号化標準は、非公式にバーサタイルビデオコーディング(Versatile Video Coding;VVC)として知られている。開示に係る事項は、VVCの文脈で使用され得る。
なお、エレクトロニクス装置(220)及び(230)は、他のコンポーネント(図示せず)を含むことができる。例えば、エレクトロニクス装置(220)はビデオデコーダ(図示せず)を含むことができ、エレクトロニクス装置(230)はビデオエンコーダ(図示せず)も含むことができる。
図3は、本開示の一実施形態に従ったビデオデコーダ(310)のブロック図を示している。ビデオデコーダ(310)は、エレクトロニクス装置(330)に含まれ得る。エレクトロニクス装置(330)は、受信器(331)(例えば、受信回路)を含むことができる。ビデオデコーダ(310)は、図2の例におけるビデオデコーダ(210)の代わりに使用されることができる。
受信器(331)が、これと同じ実施形態又は他の一実施形態において、一度に1つの符号化映像シーケンスで、ビデオデコーダ(310)によって復号されることになる1つ以上の符号化映像シーケンスを受信することができ、各符号化映像シーケンスの復号は、他の符号化映像シーケンスとは独立である。符号化映像シーケンスは、符号化された映像データを格納するストレージ装置へのハードウェア/ソフトウェアリンクとし得るものであるチャネル(301)から受信され得る。受信器(331)は、符号化映像データを、例えば符号化された音声データ及び/又は補助データストリームといった他のデータと共に受信してもよく、それらのデータは、それらそれぞれの使用エンティティ(図示せず)に転送され得る。受信器(331)は、符号化映像シーケンスを他のデータから分離し得る。ネットワークジッタに対抗するために、受信器(331)とエントロピーデコーダ/パーサ320(以下、“パーサ(320)”)との間にバッファメモリ(315)が結合され得る。特定のアプリケーションにおいて、バッファメモリ(315)はビデオデコーダ(310)の一部である。他のものにおいて、それは、ビデオデコーダ(310)の外部にあってもよい(図示せず)。更なる他のものにおいて、例えばネットワークジッタに対抗するために、ビデオデコーダ(310)の外部にバッファメモリ(図示せず)が存在することができ、さらに、例えば再生タイミングを取り扱うために、ビデオデコーダ(310)の内部に別のバッファメモリ(315)が存在することができる。受信器(331)が、十分な帯域幅及び可制御性の格納/転送装置から又は等同期ネットワークからデータを受信しているとき、バッファメモリ(315)は、必要とされなくてもよく、又は小さくされることができる。例えばインターネットなどのベストエフォート型パケットネットワーク上での使用では、バッファメモリ(315)が、必要とされ得るとともに、比較的大きくされ、そして、有利には適応可能なサイズのものにされることができ、また、少なくとも部分的に、ビデオデコーダ(310)の外部のオペレーティングシステム又は同様の要素(図示せず)にて実装され得る。
ビデオデコーダ(310)は、符号化映像シーケンスからシンボル(321)を再構成するためのパーサ(320)を含み得る。それらシンボルのカテゴリは、ビデオデコーダ(310)の動作を管理するために使用される情報を含むとともに、可能性として、図3に示したように、エレクトロニクス装置(330)の統合部分ではないがエレクトロニクス装置(330)に結合されることが可能な、例えばレンダー装置(312)(例えば、表示スクリーン)などのレンダリング装置を制御する情報を含み得る。(1つ以上の)レンダリング装置用の制御情報は、補足強化情報(Supplementary Enhancement Information;SEI)メッセージ又はビデオユーザビリティ情報(Video Usability Information;VUI)パラメータセットフラグメント(図示せず)の形態とし得る。パーサ(320)は、受け取った符号化映像シーケンスを構文解析/エントロピー復号し得る。符号化映像シーケンスの符号化は、映像符号化技術又は標準によることができ、可変長符号化、ハフマン符号化、文脈依存性を持つ又は持たない算術符号化などを含め、様々な原理に従うことができる。パーサ(320)は、符号化映像シーケンスから、グループに対応する少なくとも1つのパラメータに基づいて、ビデオデコーダにおけるピクセルのサブグループのうちの少なくとも1つに関する一組のサブグループパラメータを抽出することができる。サブグループは、グループ・オブ・ピクチャ(GOP)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。パーサ(320)はまた、符号化映像シーケンス情報から、例えば変換係数、量子化パラメータ値、動きベクトルなどの情報を抽出し得る。
パーサ(320)は、シンボル(321)を生み出すよう、バッファメモリ(315)から受け取った映像シーケンスにエントロピー復号/構文解析処理を実行し得る。
シンボル(321)の再構成には、符号化された映像ピクチャ又はその部分のタイプ及び他の要因(例えば、インターピクチャ及びイントラピクチャ、インターブロック及びイントラブロックなど)に応じて、複数の異なるユニットが関与し得る。どのユニットが関与するか、及びそれらがどのように関与するかは、パーサ(320)によって符号化映像シーケンスから構文解析されたサブグループ制御情報によって制御されることができる。パーサ(320)と以下の複数ユニットとの間でのこのようなサブグループ制御情報の流れは、明瞭さのために図示していない。
既述の機能ブロックを超えて、ビデオデコーダ(310)は概念的に、後述のような多数の機能ユニットに細分化されることができる。商業上の制約の下で稼働する実用的な実装において、これらのユニットのうちの多くが互いに密接にインタラクトし、少なくとも部分的に互いに統合され得る。しかしながら、開示に係る事項を説明するという目的のためには、以下の機能ユニットへの概念的な細分化が適切である。
第1のユニットは、スケーラ/逆変換ユニット(351)である。スケーラ/逆変換ユニット(351)は、パーサ(320)からの(1つ以上の)シンボル(321)として、どの変換を使用すべきか、ブロックサイズ、量子化係数、量子化スケーリング行列などを含む制御情報とともに、量子化された変換係数を受け取る。スケーラ/逆変換ユニット(351)は、アグリゲータ(355)に入力されることが可能な、サンプル値を有するブロックを出力することができる。
場合により、スケーラ/逆変換(351)の出力サンプルは、イントラ符号化されたブロック、すなわち、先行して再構成されたピクチャからの予測情報を使用していないが、現在ピクチャのうち先行して再構成された部分からの予測情報を使用することができるブロック、に関係し得る。このような予測情報は、イントラピクチャ予測ユニット(352)によって提供されることができる。場合により、イントラピクチャ予測ユニット(352)は、現在ピクチャバッファ(358)からフェッチされた周囲の既に再構成された情報を用いて、再構成中のブロックと同じサイズ及び形状のブロックを生成する。現在ピクチャバッファ(358)は、例えば、部分的に再構成された現在ピクチャ及び/又は完全に再構成された現在ピクチャをバッファリングする。アグリゲータ(355)は、場合により、サンプル毎に、イントラ予測ユニット(352)が生成した予測情報を、スケーラ/逆変換ユニット(351)によって提供される出力サンプル情報に付加する。
他の場合には、スケーラ/逆変換ユニット(351)の出力サンプルは、インター符号化された、動き補償された可能性のあるブロックに関係し得る。このような場合、動き補償予測ユニット(353)が、参照ピクチャメモリ(357)にアクセスして、予測に使用されるサンプルをフェッチすることができる。フェッチされたサンプルを、ブロックに関係するシンボル(321)に従って動き補償した後、これらのサンプルが、アグリゲータ(355)によって、スケーラ/逆変換ユニット(351)の出力(この場合、残差サンプル又は残差信号と呼ばれる)に付加されて、出力サンプル情報を生成することができる。そこから動き補償予測ユニット(353)が予測サンプルをフェッチする参照ピクチャメモリ(357)内のアドレスは、動きベクトルによって制御されることができ、例えばX、Y、及び参照ピクチャ成分を有し得るシンボル(321)の形態で動き補償ユニット(353)に利用可能である。動き補償はまた、サブサンプルの正確な動きベクトルが使用されるときに参照ピクチャメモリ(357)からフェッチされたサンプル値の補間や、動きベクトル予測メカニズムなどを含むことができる。
アグリゲータ(355)の出力サンプルは、ループフィルタユニット(356)にて様々なループフィルタリング技術に掛けられ得る。映像圧縮技術は、インループ(in-loop)フィルタ技術を含むことができ、これは、符号化映像シーケンス(符号化映像ビットストリームとも称する)に含められてパーサ(320)からのシンボル(321)としてループフィルタユニット(356)に利用可能にされるパラメータによって制御されるが、符号化ピクチャ又は符号化映像シーケンスのうちの(復号順で)先行部分の復号中に得られたメタ情報にも応答することができるとともに、先行して再構成されてループフィルタリングされたサンプル値にも応答することができる。
ループフィルタユニット(356)の出力は、レンダー装置(312)に出力されることが可能なサンプルストリームとすることができ、これはまた、将来のインターピクチャ予測での使用のために参照ピクチャメモリ(357)に格納されることができる。
ある特定の符号化ピクチャは、完全に再構成されると、将来の予測のための参照ピクチャとして使用されることができる。例えば、現在ピクチャに対応する符号化ピクチャが完全に再構成され、その符号化ピクチャが参照ピクチャとして(例えば、パーサ(320)によって)特定されると、現在ピクチャバッファ(358)が参照ピクチャメモリ(357)の一部となり得るとともに、次の符号化ピクチャの再構成を開始する前に新しい現在ピクチャバッファが再割り当てされ得る。
ビデオデコーダ(310)は、例えばITU-T勧告H.265などの標準における所定の映像圧縮技術に従って復号処理を実行し得る。符号化映像シーケンスは、映像圧縮技術又は標準の構文と映像圧縮技術又は標準において文書化されたプロファイルとの双方を忠実に守るという意味で、使用される映像圧縮技術又は標準によって規定される構文に従い得る。具体的には、プロファイルは、映像圧縮技術又は標準において利用可能な全てのツールから、特定のツールを、そのプロファイルの下での使用に利用可能なツールはそれだけであるように選択することができる。また、コンプライアンスのために、符号化映像シーケンスの複雑さが、映像圧縮技術又は標準のレベルによって規定される範囲内にあることも必要である。場合により、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えば、毎秒メガサンプルで測定される)、最大参照ピクチャサイズなどを制約する。レベルによって設定される制限は、場合により、仮説的リファレンスデコーダ(Hypothetical Reference Decoder;HRD)仕様、及び符号化映像シーケンスにて信号伝達されるHRDバッファ管理用のメタデータを通して更に制約され得る。
一実施形態において、受信器(331)は、符号化された映像と共に追加(冗長)データを受信し得る。追加データは、(1つ以上の)符号化映像シーケンスの一部として含められ得る。追加データは、データを適切に復号するため、及び/又は元の映像データをいっそう正確に再構成するために、ビデオデコーダ(310)によって使用され得る。追加データは、例えば、時間的、空間的、又は信号対雑音比(SNR)エンハンスメントレイヤ、冗長スライス、冗長ピクチャ、順方向誤り訂正符号などの形態とし得る。
図4は、本開示の一実施形態に従った、ビデオエンコーダ(403)のブロック図を示している。ビデオエンコーダ(403)は、エレクトロニクス装置(420)に含まれる。例えば、エレクトロニクス装置(420)は送信器(440)(例えば、送信回路)を含んでいる。ビデオエンコーダ(403)は、図2の例におけるビデオエンコーダ(203)の代わりに使用されることができる。
ビデオエンコーダ(403)は、エンコーダ(403)によって符号化されることになる(1つ以上の)映像画像をキャプチャし得る映像ソース(401)(図4の例ではエレクトロニクス装置(420)の一部ではない)から映像サンプルを受信し得る。他の一例において、映像ソース(401)は、エレクトロニクス装置(420)の一部である。
映像ソース(401)は、ビデオエンコーダ(403)によって符号化されるソース映像シーケンスを、任意の好適なビット深さ(例えば、8ビット、10ビット、12ビット、…)、任意の色空間(例えば、BT.601 Y CrCB、RGB、…)、及び任意の好適なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)のものとし得るデジタル映像サンプルストリームの形態で提供し得る。メディアサービス提供システムにおいて、映像ソース(401)は、事前に準備された映像を格納したストレージ装置とし得る。テレビ会議システムでは、映像ソース(401)は、ローカルな画像情報を映像シーケンスとしてキャプチャするカメラとし得る。映像データは、順に見たときに動きを伝える複数の個々のピクチャとして提供され得る。それらピクチャ自体は、ピクセルの空間アレイとして編成されることができ、各ピクセルが、使用されるサンプリング構造、色空間などに応じて、1つ以上のサンプルを有することができる。当業者は、ピクセルとサンプルとの関係を直ちに理解することができる。以下の説明は、サンプルに焦点を当てている。
一実施形態によれば、ビデオエンコーダ(403)は、ソース映像シーケンスのピクチャを、リアルタイムで、又はアプリケーションによって要求される他の時間制約下で、符号化映像シーケンス(443)へと符号化及び圧縮し得る。適切な符号化速度を強制することが、コントローラ(450)の1つの機能である。一部の実施形態において、コントローラ(450)は、後述するような他の機能ユニットを制御するとともに、それら他の機能ユニットに機能的に結合される。その結合は、明瞭さのために図示されていない。コントローラ(450)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、…)、ピクチャサイズ、グループ・オブ・ピクチャ(GOP)レイアウト、最大動きベクトル探索範囲などを含み得る。コントローラ(450)は、特定のシステム設計に合わせて最適化されるビデオエンコーダ(403)に関連する他の好適な機能を有するように構成されることができる。
一部の実施形態において、ビデオエンコーダ(403)は、符号化ループにて動作するように構成される。過度に単純化した説明として、一例において、符号化ループは、ソースコーダ(430)(例えば、符号化される入力ピクチャ及び(1つ以上の)参照ピクチャに基づいて例えばシンボルストリームなどのシンボルを作成することを担う)と、ビデオエンコーダ(403)に埋め込まれた(ローカル)デコーダ(433)とを含むことができる。デコーダ(433)は、(シンボルと符号化映像ビットストリームとの間での圧縮が、開示に係る事項において検討される映像圧縮技術において可逆であるときに)(リモート)デコーダも作成するのと同様にして、シンボルを再構成してサンプルデータを生成する。再構成されたサンプルストリーム(サンプルデータ)が、参照ピクチャメモリ(434)に入力される。シンボルストリームの復号は、デコーダ位置(ローカル又はリモート)に依存しないビット正確な結果をもたらすので、参照ピクチャメモリ(434)内のコンテンツもローカルエンコーダとリモートエンコーダとの間でビット正確である。換言すれば、エンコーダの予測部分は、デコーダが復号中に予測を使用するときに“見る”のとまったく同じサンプル値を参照ピクチャサンプルとして“見る”。この参照ピクチャ同期性の基本原理(及び、例えばチャネルエラーのために、同期性を維持することができない場合に結果として生じるドリフト)は、一部の関連技術でも使用されている。
“ローカル”デコーダ(433)の動作は、例えばビデオデコーダ(310)などの“リモート”デコーダのものと同じであるとすることができ、それは、図3に関連して既に詳細に上述されている。しかしながら、図3も手短に参照するに、シンボルが利用可能であり、且つエントロピーコーダ(445)及びパーサ(320)によるシンボルの符号化映像シーケンスへの符号化/復号は可逆であるとし得るので、バッファメモリ(315)及びパーサ(320)を含むビデオデコーダ(310)のエントロピー復号部分は、ローカルデコーダ(433)に完全に実装されなくてよい。
この時点で気付くことができることには、デコーダ内に存在する構文解析/エントロピー復号を除く如何なるデコーダ技術も、対応するエンコーダ内に、実質的に同じ機能的形態で、必ず存在する必要がある。エンコーダ技術の説明は、徹底して説明したデコーダ技術の逆であるので、省略することができる。特定の分野においてのみ、より詳細な説明が必要とされ、以下に提供される。
動作時、一部の例において、ソースコーダ(430)は、入力ピクチャを、映像シーケンスからの、“参照ピクチャ”として指定された1つ以上の先に符号化されたピクチャに対して予測的に符号化するものである動き補償予測符号化を実行し得る。斯くして、符号化エンジン(432)は、入力ピクチャのピクセルブロックと、入力ピクチャに対する(1つ以上の)予測基準として選択され得る(1つ以上の)参照ピクチャのピクセルブロックとの間の差分を符号化する。
ローカルビデオデコーダ(433)は、参照ピクチャとして指定され得るピクチャの符号化映像データを、ソースコーダ(430)によって作成されたシンボルに基づいて復号し得る。符号化エンジン(432)の動作は、有利には、不可逆プロセスとし得る。符号化映像データが映像デコーダ(図4には示されていない)で復号され得るとき、再構成された映像シーケンスは典型的に、幾分の誤差を伴うソース映像シーケンスのレプリカであり得る。ローカルビデオデコーダ(433)は、参照ピクチャ上でビデオデコーダによって実行され得る復号プロセスを複製し、再構成された参照ピクチャを参照ピクチャキャッシュ(434)に格納させるようにし得る。斯くして、ビデオエンコーダ(403)は、ファーエンドのビデオデコーダによって得られることになる再構成参照ピクチャと共通のコンテンツを持つ再構成参照ピクチャのコピーをローカルに格納し得る。
予測器(435)は、符号化エンジン(432)のために予測探索を実行し得る。すなわち、符号化すべき新たなピクチャに関して、予測器(435)は、新たなピクチャ用の適切な予測基準としての役割を果たし得るサンプルデータ(候補参照ピクセルブロックとして)又は例えば参照ピクチャ動きベクトルやブロック形状などの特定のメタデータについて、参照ピクチャメモリ(434)を検索し得る。予測器(435)は、適切な予測参照を見出すために、ピクセルブロック毎に動作し得る。場合により、予測器(435)によって得られた検索結果により決定されるように、入力ピクチャは、参照ピクチャメモリ(434)に格納された複数の参照ピクチャから引き出された予測基準を有し得る。
コントローラ(450)は、例えば、映像データを符号化するのに使用されるパラメータ及びサブグループパラメータの設定を含め、ソースコーダ(430)の符号化処理を管理し得る。
前述の全ての機能ユニットの出力が、エントロピーコーダ(445)におけるエントロピー符号化に掛けられ得る。エントロピーコーダ(445)は、例えばハフマン符号化、可変長符号化、算術符号化などの技術に従ってシンボルを可逆圧縮することによって、様々な機能ユニットによって生成されたシンボルを符号化映像シーケンスへと変換する。
送信器(440)が、エントロピーコーダ(445)によって生成された(1つ以上の)符号化映像シーケンスをバッファリングし、通信チャネル(460)を介した伝送のために準備し得る。通信チャネル(460)は、符号化された映像データを格納するストレージ装置へのハードウェア/ソフトウェアリンクとし得る。送信器(440)は、ビデオコーダ(403)からの符号化映像データを、例えば符号化オーディオデータ及び/又は補助データストリーム(ソースは図示していない)といった、送信される他のデータとマージし得る。
コントローラ(450)は、ビデオエンコーダ(403)の動作を管理し得る。符号化において、コントローラ(450)は、各符号化ピクチャに、それぞれのピクチャに適用され得る符号化技術に影響を及ぼし得るものである特定の符号化ピクチャタイプを割り当て得る。例えば、ピクチャはしばしば、以下のピクチャタイプのうちの1つを割り当てられ得る。
イントラピクチャ(Iピクチャ)は、シーケンス内の如何なる他のピクチャも予測のソースとして使用することなく符号化及び復号され得るものとし得る。一部の映像コーデックは、例えば独立デコーダリフレッシュ(Independent Decoder Refresh;IDR)ピクチャを含め、複数の異なるタイプのイントラピクチャを許している。当業者は、Iピクチャのそれら異形、並びにそれらそれぞれの用途及び特徴を知っている。
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、多くて1つの動きベクトルと参照インデックスとを使用して、イントラ予測又はインター予測を用いて符号化及び復号され得るものとし得る。
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、多くて2つの動きベクトルと参照インデックスとを使用して、イントラ予測又はインター予測を用いて符号化及び復号され得るものとし得る。同様に、多重予測ピクチャは、単一のブロックの再構成のために3つ以上の参照ピクチャと関連メタデータとを使用することができる。
ソースピクチャは、一般に、空間的に複数のサンプルブロック(例えば、各々4×4、8×8、4×8、又は16×16サンプルのブロック)に細分化され、ブロック毎に符号化され得る。ブロックは、それらブロックのそれぞれのピクチャに適用される符号化割り当てによって決定される他の(既に符号化された)ブロックを参照して予測的に符号化され得る。例えば、Iピクチャのブロックは非予測的に符号化されることができ、あるいは、それらは同じピクチャの既に符号化されたブロックを参照して予測的に符号化されることができる(空間予測又はイントラ予測)。Pピクチャのピクセルブロックは、非予測的に、あるいは、1つの先に符号化された参照ピクチャを参照して空間予測又は時間予測を介して、符号化されることができる。Bピクチャのブロックは、非予測的に、あるいは、1つ又は2つの先に符号化された参照ピクチャを参照して空間予測又は時間予測を介して、符号化されることができる。
ビデオエンコーダ(403)は、例えばITU-T勧告H.265などの所定の映像符号化技術又は標準に従って符号化処理を実行し得る。その動作において、ビデオエンコーダ(403)は、入力映像シーケンスにおける時間的及び空間的な冗長性を活用する予測的な符号化処理を含め、様々な圧縮処理を実行し得る。符号化された映像データは、それ故に、使用されている映像符号化技術又は標準によって規定される構文に従い得る。
一実施形態において、送信器(440)は、符号化された映像と共に追加データを送信し得る。ソースコーダ(430)が、そのようなデータを、符号化映像シーケンスの一部として含め得る。追加データは、時間的/空間的/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つのルマ(luma)CTBと2つのクロマ(chroma)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ピクセル、及びこれらに類するものなど、ピクセルの値(例えば、ルマ値)の行列を含む。
図5は、本開示の他の一実施形態に従ったビデオエンコーダ(503)の図を示している。ビデオエンコーダ(503)は、映像ピクチャのシーケンス内の現在映像ピクチャの中の処理ブロック(例えば、予測ブロック)のサンプル値を受信し、該処理ブロックを符号化映像シーケンスの一部である符号化ピクチャへと符号化するように構成される。一例において、ビデオエンコーダ(503)は、図2の例におけるビデオエンコーダ(203)の代わりに使用される。
HEVCの例において、ビデオエンコーダ(503)は、例えば予測ブロックの8×8サンプルなどの、処理ブロックに関するサンプル値の行列を受信する。ビデオエンコーダ(503)は、例えばレート-歪み最適化を用いて、処理ブロックが最良に符号化されるのが、イントラモードを用いてなのか、インターモードを用いてなのか、それとも双予測モードを用いてなのかを決定する。処理ブロックがイントラモードで符号化される場合、ビデオエンコーダ(503)は、イントラ予測技術を使用して処理ブロックを符号化ピクチャへと符号化することができ、処理ブロックがインターモード又は双予測モードで符号化される場合、ビデオエンコーダ(503)は、それぞれ、インター予測技術又は双予測技術を使用して処理ブロックを符号化ピクチャへと符号化することができる。特定の映像符号化技術において、マージモードは、予測子の外側の符号化動きベクトル成分の利益なしで1つ以上の動きベクトル予測子から動きベクトルが導出されるインターピクチャ予測サブモードとし得る。特定の他の映像符号化技術では、対象ブロックに適用可能な動きベクトル成分が存在してもよい。一例において、ビデオエンコーダ(503)は、例えば処理ブロックのモードを決定するためのモード決定モジュール(図示せず)などの、他のコンポーネントを含む。
図5の例において、ビデオエンコーダ(503)は、図5に示すように共に結合された、インターエンコーダ(530)、イントラエンコーダ(522)、残差計算器(523)、スイッチ(526)、残差エンコーダ(524)、全般コントローラ(521)、及びエントロピーエンコーダ(525)を含んでいる。
インターエンコーダ(530)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、ブロックを参照ピクチャ内の1つ以上の参照ブロック(例えば、先行ピクチャ内及び後のピクチャ内のブロック)と比較し、インター予測情報(例えば、インター符号化技術に従った冗長情報の記述、動きベクトル、マージモード情報)を生成し、そして、何らかの好適技術を使用して、インター予測情報に基づいてインター予測結果(例えば、予測ブロック)を計算するように構成される。一部の例において、参照ピクチャは、符号化された映像情報に基づいて復号された参照ピクチャである。
イントラエンコーダ(522)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、一部のケースにおいて、ブロックを、同じピクチャ内の既に符号化されたブロックと比較し、変換後の量子化係数を生成し、一部のケースでは、イントラ予測情報(例えば、1つ以上のイントラ符号化技術に従ったイントラ予測方向情報)も生成する。一例において、イントラエンコーダ(522)はまた、イントラ予測情報及び同じピクチャ内の参照ブロックに基づいて、イントラ予測結果(例えば、予測ブロック)を計算する。
全般コントローラ(521)は、全般制御データを決定し、全般制御データに基づいてビデオエンコーダ(503)の他のコンポーネントを制御するように構成される。一例において、全般コントローラ(521)は、ブロックのモードを決定し、そのモードに基づいてスイッチ(526)に制御信号を提供する。例えば、モードがイントラモードであるとき、全般コントローラ(521)は、残差計算器(523)による使用のためにイントラモード結果を選択するようにスイッチ(526)を制御するとともに、イントラ予測情報を選択してイントラ予測情報をビットストリームに含めるようにエントロピーエンコーダ(525)を制御し、モードがインターモードであるときには、全般コントローラ(521)は、残差計算器(523)による使用のためにインター予測結果を選択するようにスイッチ(526)を制御するとともに、インター予測情報を選択してインター予測情報をビットストリームに含めるようにエントロピーエンコーダ(525)を制御する。
残差計算器(523)は、受信されたブロックと、イントラエンコーダ(522)又はインターエンコーダ(530)から選択された予測結果との間の差(残差データ)を計算するように構成される。残差エンコーダ(524)は、残差データに基づいて動作し、残差データを符号化して変換係数を生成するように構成される。一例において、残差エンコーダ(524)は、残差データを空間ドメインから周波数ドメインに変換し、変換係数を生成するように構成される。次いで、変換係数が量子化処理にかけられて、量子化された変換係数が得られる。様々な実施形態において、ビデオエンコーダ(503)はまた、残差デコーダ(528)を含む。残差デコーダ(528)は、逆変換を実行し、復号された残差データを生成するように構成される。復号された残差データは、イントラエンコーダ(522)及びインターエンコーダ(530)によって好適に使用されることができる。例えば、インターエンコーダ(530)は、復号された残差データ及びインター予測情報に基づいて、復号されたブロックを生成することができ、イントラエンコーダ(522)は、復号された残差データ及びイントラ予測情報に基づいて、復号されたブロックを生成することができる。復号されたブロックが好適に処理されて、復号されたピクチャが生成され、そして、復号されたピクチャは、メモリ回路(図示せず)にバッファリングされ得るとともに、一部の例では参照ピクチャとして使用され得る。
エントロピーエンコーダ(525)は、符号化されたブロックを含むようにビットストリームをフォーマットするように構成される。エントロピーエンコーダ(525)は、例えばHEVC標準などの好適な標準に従って種々の情報を含めるように構成される。一例において、エントロピーエンコーダ(525)は、全般制御データ、選択された予測情報(例えば、イントラ予測情報又はインター予測情報)、残差情報、及び他の好適情報を、ビットストリームに含めるように構成される。なお、本開示に係る事項によれば、インターモード又は双予測モードのいずれかのマージサブモードにてブロックを符号化するとき、残差情報は存在しない。
図6は、本開示の他の一実施形態に従ったビデオデコーダ(610)の図を示している。ビデオデコーダ(610)は、符号化映像シーケンスの一部である符号化されたピクチャを受信し、該符号化されたピクチャを復号して再構成ピクチャを生成するように構成される。一例において、ビデオデコーダ(610)は、図2の例におけるビデオデコーダ(210)の代わりに使用される。
図6の例において、ビデオデコーダ(610)は、図6に示すように共に結合された、エントロピーデコーダ(671)、インターデコーダ(680)、残差デコーダ(673)、再構成モジュール(674)、及びイントラデコーダ(672)を含んでいる。
エントロピーデコーダ(671)は、符号化されたピクチャから、符号化されたピクチャを構成する構文要素を表す特定のシンボルを再構成するように構成され得る。そのようなシンボルは、例えば、ブロックが符号化されるモード(例えば、イントラモード、インターモード、双予測モード、マージサブモード又は他のサブモードにおける後者の2つなど)、それぞれイントラデコーダ(672)又はインターデコーダ(680)による予測のために使用される特定のサンプル又はメタデータを特定することができる予測情報(例えば、イントラ予測情報又はインター予測情報など)、例えば量子化された変換係数の形態をした残差情報、及びこれらに類するものを含むことができる。一例において、予測モードがインターモード又は双予測モードであるときには、インター予測情報がインターデコーダ(680)に提供され、予測タイプがイントラ予測タイプであるときには、イントラ予測情報がイントラデコーダ(672)に提供される。残差情報は、逆量子化にかけられることができ、残差デコーダ(673)に提供される。
インターデコーダ(680)は、インター予測情報を受信し、インター予測情報に基づいてインター予測結果を生成するように構成される。
イントラデコーダ(672)は、イントラ予測情報を受信し、イントラ予測情報に基づいて予測結果を生成するように構成される。
残差デコーダ(673)は、逆量子化を実行して、逆量子化された変換係数を抽出し、そして、逆量子化された変換係数を処理して、残差を周波数ドメインから空間ドメインに変換するように構成される。残差デコーダ(673)はまた、特定の制御情報(量子化器パラメータ(QP)を含む)を必要としてもよく、その情報は、エントロピーデコーダ(671)によって提供され得る(これは、低ボリュームの制御情報のみとし得るのでデータ経路は不図示)。
再構成モジュール(674)は、残差デコーダ(673)によって出力される残差と、(場合に応じてインター又はイントラ予測モジュールによって出力される)予測結果とを空間ドメインで組み合わせて、再構成ブロックを形成するように構成される。再構成ブロックは、再構成ピクチャの一部とすることができ、代わって再構成ピクチャは、再構成映像の一部とすることができる。なお、視覚的な品質を向上させるために、例えばデブロッキング処理及びそれに類するものなど、他の好適な処理を実行することができる。
なお、ビデオエンコーダ(203)、(403)、及び(503)、並びにビデオデコーダ(210)、(310)、及び(610)は、如何なる好適技術を用いて実装されてもよい。一実施形態において、ビデオエンコーダ(203)、(403)、及び(503)、並びにビデオデコーダ(210)、(310)、及び(610)は、1つ以上の集積回路を用いて実装され得る。他の一実施形態において、ビデオエンコーダ(203)、(403)及び(503)、並びにビデオデコーダ(210)、(310)、及び(610)は、ソフトウェア命令を実行する1つ以上のプロセッサを用いて実装され得る。
本開示の態様は、先進的な映像符号化技術のセットを提供する。より具体的には、改良された暗示的変換アプローチが提案される。
映像符号化団体では、ITU-T VCEG(Q6/16)及びISO/IEC MPEG(JTC1/SC29/WG11)が、2013年(第1版)、2014年(第2版)、2015年(第3版)、そして2016年(第4版)に、H.265/HEVC(High Efficiency Video Coding)標準を発行した。それ以降、ITU-T及びISO/IECは、HEVC標準(その拡張を含む)の圧縮能力を大幅に上回る圧縮能力を持つ将来の映像符号化技術の標準化の潜在的ニーズを研究している。2017年10月、ITU-T及びISO/IECは、HEVC(CfP)を超える能力を持つ映像圧縮についての提案を共同で募集した。2018年2月15日までに、標準ダイナミックレンジ(SDR)についての合計22のCfP回答、高ダイナミックレンジ(HDR)についての12のCfP回答、及び360ビデオカテゴリについての12のCfP回答がそれぞれ提出された。2018年4月に、受領された全てのCfP回答が、122 MPEG/第10回JVET(Joint Video Exploration Team - Joint Video Expert Team)ミーティングにおいて評価された。JVETは、HEVCを超える次世代映像符号化(すなわち、Versatile Video Coding(VVC))及び最新版のVTM(VVC Test Model)(すなわち、VTM3)の標準化を正式に開始した。
HEVCでは、一次変換は、4点、8点、16点及び32点のDCT-2であるとすることができ、変換コア行列は、8ビット整数すなわち8ビット変換コアを用いて表され得る。より小さいDCT-2の変換コア行列は、以下に示すように、より大きいDCT-2の一部である:
4×4変換

8×8変換

16×16変換

32×32変換
DCT-2コアは、対称性/反対称性の特徴を示す。従って、いわゆる“部分バタフライ”実装が、演算カウント(乗算、加算/減算、シフト)の数を減らすためにサポートされ、部分バタフライを用いて等しい行列乗算の結果を得ることができる。
VVCでは、2つのサブブロック変換が提供されている。1つめのサブブロック変換はSVT又はSBTである。JVET-J0024、JVET-K0139及びJVET-L0358にて、空間変化変換(spatially varying transform;SVT)スキームが提案されている。SVTでは、インター予測残差に対して、符号化ブロック内に残差ブロックのみが存在し得る。残差ブロックは符号化ブロックよりも小さいので、SVTにおける変換サイズは符号化ブロックサイズよりも小さい。残差ブロック又は変換によってカバーされない領域については、ゼロ残差が仮定され得る。
より具体的には、JVET-L0358において、SVTはサブブロック変換(Sub-block Transform;SBT)とも呼ばれる。
SBTでサポートされるサブブロックタイプ(SVT-H、SVT-V)、サイズ及び位置(左半分、左四分の一、右半分、右四分の一、上半分、上四分の一、下半分、下四分の一)を、図7A-図7Dに示す。図7A-図7Dは、それぞれ、SBTでサポートされるサブブロックタイプ(SVT-H、SVT-V)及び位置(左半分、右半分、上半分、下半分)を示している。文字“A”によってラベル付けられた影付きの領域は、変換ありの残差ブロックであり、他の領域は、変換なしでゼロ残差であると仮定される。
2つめのサブブロック変換は、イントラサブパーティション(Intra Sub-Partitions;ISP)である。ISPコーディングモードは、表1に示すように、ルマイントラ予測ブロックを、ブロックサイズ寸法に応じて、垂直方向又は水平方向に2つ又は4つのサブパーティションに分割する。図8及び図9は、2つの可能性の例を示している。図8は、4×8ブロック又は8×4ブロックの例示的な分割を示している。図9は、4×8ブロック、8×4ボックス、又は4×4ブロックのいずれでもないブロックの例示的な分割を示している。全てのサブパーティションが、少なくとも16サンプルを持つという条件を満たす。クロマ成分に対しては、ISPは適用されない。
一部の実施形態において、これらのサブパーティションの各々について、エンコーダによって送信された係数をエントロピー復号し、次いで、係数を逆量子化及び逆変換することによって、残差信号が生成され得る。そして、サブパーティションがイントラ予測され、最終的に、残差信号を予測信号に足し合わせることによって対応する再構成サンプルが得られる。従って、各サブパーティションの再構成値を、次のサブパーティションの予測を生成するのに利用可能にすることができ、それがプロセスを次々に繰り返すことができる。全てのサブパーティションが同じイントラモードを共有する。
一部の実施形態において、ISPアルゴリズムは、MPMリストの一部であるイントラモードでのみテストされる。この理由から、ブロックがISPを使用する場合、MPMフラグは1であると推定されることができる。加えて、ある特定のブロックにISPが使用される場合に、MPMリストは、DCモードを除外するように、及び、ISP水平分割に対しては水平イントラモードを、そして、ISP垂直分割に対しては垂直イントラモードを優先するように変更されることができる。
ISPでは、変換及び再構成が各サブパーティションに対して個別に実行されるので、各サブパーティションをサブTUと見なすことができる。
現行VVCでは、HEVCと同じである4点、8点、16点、及び32点のDCT-2変換の他に、追加の2点及び64点のDCT-2も一次変換のために加えられている。VVCで規定されている64点DCT-2コアは、64×64行列として以下に示すことができる:
{
{aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa}
{bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,-ck,-cj,-ci,-ch,-cg,-cf,-ce,-cd,-cc,-cb,-ca,-bz,-by,-bx,-bw,-bv,-bu,-bt,-bs,-br,-bq,-bp,-bo,-bn,-bm,-bl,-bk,-bj,-bi,-bh,-bg,-bf}
{ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,-be,-bd,-bc,-bb,-ba,-az,-ay,-ax,-aw,-av,-au,-at,-as,-ar,-aq,-ap,-ap,-aq,-ar,-as,-at,-au,-av,-aw,-ax,-ay,-az,-ba,-bb,-bc,-bd,-be,be,bd,bc,bb,ba,az,ay,ax,aw,av,au,at,as,ar,aq,ap}
{bg,bj,bm,bp,bs,bv,by,cb,ce,ch,ck,-ci,-cf,-cc,-bz,-bw,-bt,-bq,-bn,-bk,-bh,-bf,-bi,-bl,-bo,-br,-bu,-bx,-ca,-cd,-cg,-cj,cj,cg,cd,ca,bx,bu,br,bo,bl,bi,bf,bh,bk,bn,bq,bt,bw,bz,cc,cf,ci,-ck,-ch,-ce,-cb,-by,-bv,-bs,-bp,-bm,-bj,-bg}
{ah,ai,aj,ak,al,am,an,ao,-ao,-an,-am,-al,-ak,-aj,-ai,-ah,-ah,-ai,-aj,-ak,-al,-am,-an,-ao,ao,an,am,al,ak,aj,ai,ah,ah,ai,aj,ak,al,am,an,ao,-ao,-an,-am,-al,-ak,-aj,-ai,-ah,-ah,-ai,-aj,-ak,-al,-am,-an,-ao,ao,an,am,al,ak,aj,ai,ah}
{bh,bm,br,bw,cb,cg,-ck,-cf,-ca,-bv,-bq,-bl,-bg,-bi,-bn,-bs,-bx,-cc,-ch,cj,ce,bz,bu,bp,bk,bf,bj,bo,bt,by,cd,ci,-ci,-cd,-by,-bt,-bo,-bj,-bf,-bk,-bp,-bu,-bz,-ce,-cj,ch,cc,bx,bs,bn,bi,bg,bl,bq,bv,ca,cf,ck,-cg,-cb,-bw,-br,-bm,-bh}
{aq,at,aw,az,bc,-be,-bb,-ay,-av,-as,-ap,-ar,-au,-ax,-ba,-bd,bd,ba,ax,au,ar,ap,as,av,ay,bb,be,-bc,-az,-aw,-at,-aq,-aq,-at,-aw,-az,-bc,be,bb,ay,av,as,ap,ar,au,ax,ba,bd,-bd,-ba,-ax,-au,-ar,-ap,-as,-av,-ay,-bb,-be,bc,az,aw,at,aq}
{bi,bp,bw,cd,ck,-ce,-bx,-bq,-bj,-bh,-bo,-bv,-cc,-cj,cf,by,br,bk,bg,bn,bu,cb,ci,-cg,-bz,-bs,-bl,-bf,-bm,-bt,-ca,-ch,ch,ca,bt,bm,bf,bl,bs,bz,cg,-ci,-cb,-bu,-bn,-bg,-bk,-br,-by,-cf,cj,cc,bv,bo,bh,bj,bq,bx,ce,-ck,-cd,-bw,-bp,-bi}
{ad,ae,af,ag,-ag,-af,-ae,-ad,-ad,-ae,-af,-ag,ag,af,ae,ad,ad,ae,af,ag,-ag,-af,-ae,-ad,-ad,-ae,-af,-ag,ag,af,ae,ad,ad,ae,af,ag,-ag,-af,-ae,-ad,-ad,-ae,-af,-ag,ag,af,ae,ad,ad,ae,af,ag,-ag,-af,-ae,-ad,-ad,-ae,-af,-ag,ag,af,ae,ad}
{bj,bs,cb,ck,-cc,-bt,-bk,-bi,-br,-ca,-cj,cd,bu,bl,bh,bq,bz,ci,-ce,-bv,-bm,-bg,-bp,-by,-ch,cf,bw,bn,bf,bo,bx,cg,-cg,-bx,-bo,-bf,-bn,-bw,-cf,ch,by,bp,bg,bm,bv,ce,-ci,-bz,-bq,-bh,-bl,-bu,-cd,cj,ca,br,bi,bk,bt,cc,-ck,-cb,-bs,-bj}
{ar,aw,bb,-bd,-ay,-at,-ap,-au,-az,-be,ba,av,aq,as,ax,bc,-bc,-ax,-as,-aq,-av,-ba,be,az,au,ap,at,ay,bd,-bb,-aw,-ar,-ar,-aw,-bb,bd,ay,at,ap,au,az,be,-ba,-av,-aq,-as,-ax,-bc,bc,ax,as,aq,av,ba,-be,-az,-au,-ap,-at,-ay,-bd,bb,aw,ar}
{bk,bv,cg,-ce,-bt,-bi,-bm,-bx,-ci,cc,br,bg,bo,bz,ck,-ca,-bp,-bf,-bq,-cb,cj,by,bn,bh,bs,cd,-ch,-bw,-bl,-bj,-bu,-cf,cf,bu,bj,bl,bw,ch,-cd,-bs,-bh,-bn,-by,-cj,cb,bq,bf,bp,ca,-ck,-bz,-bo,-bg,-br,-cc,ci,bx,bm,bi,bt,ce,-cg,-bv,-bk}
{ai,al,ao,-am,-aj,-ah,-ak,-an,an,ak,ah,aj,am,-ao,-al,-ai,-ai,-al,-ao,am,aj,ah,ak,an,-an,-ak,-ah,-aj,-am,ao,al,ai,ai,al,ao,-am,-aj,-ah,-ak,-an,an,ak,ah,aj,am,-ao,-al,-ai,-ai,-al,-ao,am,aj,ah,ak,an,-an,-ak,-ah,-aj,-am,ao,al,ai}
{bl,by,-ck,-bx,-bk,-bm,-bz,cj,bw,bj,bn,ca,-ci,-bv,-bi,-bo,-cb,ch,bu,bh,bp,cc,-cg,-bt,-bg,-bq,-cd,cf,bs,bf,br,ce,-ce,-br,-bf,-bs,-cf,cd,bq,bg,bt,cg,-cc,-bp,-bh,-bu,-ch,cb,bo,bi,bv,ci,-ca,-bn,-bj,-bw,-cj,bz,bm,bk,bx,ck,-by,-bl}
{as,az,-bd,-aw,-ap,-av,-bc,ba,at,ar,ay,-be,-ax,-aq,-au,-bb,bb,au,aq,ax,be,-ay,-ar,-at,-ba,bc,av,ap,aw,bd,-az,-as,-as,-az,bd,aw,ap,av,bc,-ba,-at,-ar,-ay,be,ax,aq,au,bb,-bb,-au,-aq,-ax,-be,ay,ar,at,ba,-bc,-av,-ap,-aw,-bd,az,as}
{bm,cb,-cf,-bq,-bi,-bx,cj,bu,bf,bt,ci,-by,-bj,-bp,-ce,cc,bn,bl,ca,-cg,-br,-bh,-bw,ck,bv,bg,bs,ch,-bz,-bk,-bo,-cd,cd,bo,bk,bz,-ch,-bs,-bg,-bv,-ck,bw,bh,br,cg,-ca,-bl,-bn,-cc,ce,bp,bj,by,-ci,-bt,-bf,-bu,-cj,bx,bi,bq,cf,-cb,-bm}
{ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab}
{bn,ce,-ca,-bj,-br,-ci,bw,bf,bv,-cj,-bs,-bi,-bz,cf,bo,bm,cd,-cb,-bk,-bq,-ch,bx,bg,bu,-ck,-bt,-bh,-by,cg,bp,bl,cc,-cc,-bl,-bp,-cg,by,bh,bt,ck,-bu,-bg,-bx,ch,bq,bk,cb,-cd,-bm,-bo,-cf,bz,bi,bs,cj,-bv,-bf,-bw,ci,br,bj,ca,-ce,-bn}
{at,bc,-ay,-ap,-ax,bd,au,as,bb,-az,-aq,-aw,be,av,ar,ba,-ba,-ar,-av,-be,aw,aq,az,-bb,-as,-au,-bd,ax,ap,ay,-bc,-at,-at,-bc,ay,ap,ax,-bd,-au,-as,-bb,az,aq,aw,-be,-av,-ar,-ba,ba,ar,av,be,-aw,-aq,-az,bb,as,au,bd,-ax,-ap,-ay,bc,at}
{bo,ch,-bv,-bh,-ca,cc,bj,bt,-cj,-bq,-bm,-cf,bx,bf,by,-ce,-bl,-br,-ck,bs,bk,cd,-bz,-bg,-bw,cg,bn,bp,ci,-bu,-bi,-cb,cb,bi,bu,-ci,-bp,-bn,-cg,bw,bg,bz,-cd,-bk,-bs,ck,br,bl,ce,-by,-bf,-bx,cf,bm,bq,cj,-bt,-bj,-cc,ca,bh,bv,-ch,-bo}
{aj,ao,-ak,-ai,-an,al,ah,am,-am,-ah,-al,an,ai,ak,-ao,-aj,-aj,-ao,ak,ai,an,-al,-ah,-am,am,ah,al,-an,-ai,-ak,ao,aj,aj,ao,-ak,-ai,-an,al,ah,am,-am,-ah,-al,an,ai,ak,-ao,-aj,-aj,-ao,ak,ai,an,-al,-ah,-am,am,ah,al,-an,-ai,-ak,ao,aj}
{bp,ck,-bq,-bo,-cj,br,bn,ci,-bs,-bm,-ch,bt,bl,cg,-bu,-bk,-cf,bv,bj,ce,-bw,-bi,-cd,bx,bh,cc,-by,-bg,-cb,bz,bf,ca,-ca,-bf,-bz,cb,bg,by,-cc,-bh,-bx,cd,bi,bw,-ce,-bj,-bv,cf,bk,bu,-cg,-bl,-bt,ch,bm,bs,-ci,-bn,-br,cj,bo,bq,-ck,-bp}
{au,-be,-at,-av,bd,as,aw,-bc,-ar,-ax,bb,aq,ay,-ba,-ap,-az,az,ap,ba,-ay,-aq,-bb,ax,ar,bc,-aw,-as,-bd,av,at,be,-au,-au,be,at,av,-bd,-as,-aw,bc,ar,ax,-bb,-aq,-ay,ba,ap,az,-az,-ap,-ba,ay,aq,bb,-ax,-ar,-bc,aw,as,bd,-av,-at,-be,au}
{bq,-ci,-bl,-bv,cd,bg,ca,-by,-bi,-cf,bt,bn,ck,-bo,-bs,cg,bj,bx,-cb,-bf,-cc,bw,bk,ch,-br,-bp,cj,bm,bu,-ce,-bh,-bz,bz,bh,ce,-bu,-bm,-cj,bp,br,-ch,-bk,-bw,cc,bf,cb,-bx,-bj,-cg,bs,bo,-ck,-bn,-bt,cf,bi,by,-ca,-bg,-cd,bv,bl,ci,-bq}
{ae,-ag,-ad,-af,af,ad,ag,-ae,-ae,ag,ad,af,-af,-ad,-ag,ae,ae,-ag,-ad,-af,af,ad,ag,-ae,-ae,ag,ad,af,-af,-ad,-ag,ae,ae,-ag,-ad,-af,af,ad,ag,-ae,-ae,ag,ad,af,-af,-ad,-ag,ae,ae,-ag,-ad,-af,af,ad,ag,-ae,-ae,ag,ad,af,-af,-ad,-ag,ae}
{br,-cf,-bg,-cc,bu,bo,-ci,-bj,-bz,bx,bl,ck,-bm,-bw,ca,bi,ch,-bp,-bt,cd,bf,ce,-bs,-bq,cg,bh,cb,-bv,-bn,cj,bk,by,-by,-bk,-cj,bn,bv,-cb,-bh,-cg,bq,bs,-ce,-bf,-cd,bt,bp,-ch,-bi,-ca,bw,bm,-ck,-bl,-bx,bz,bj,ci,-bo,-bu,cc,bg,cf,-br}
{av,-bb,-ap,-bc,au,aw,-ba,-aq,-bd,at,ax,-az,-ar,-be,as,ay,-ay,-as,be,ar,az,-ax,-at,bd,aq,ba,-aw,-au,bc,ap,bb,-av,-av,bb,ap,bc,-au,-aw,ba,aq,bd,-at,-ax,az,ar,be,-as,-ay,ay,as,-be,-ar,-az,ax,at,-bd,-aq,-ba,aw,au,-bc,-ap,-bb,av}
{bs,-cc,-bi,-cj,bl,bz,-bv,-bp,cf,bf,cg,-bo,-bw,by,bm,-ci,-bh,-cd,br,bt,-cb,-bj,-ck,bk,ca,-bu,-bq,ce,bg,ch,-bn,-bx,bx,bn,-ch,-bg,-ce,bq,bu,-ca,-bk,ck,bj,cb,-bt,-br,cd,bh,ci,-bm,-by,bw,bo,-cg,-bf,-cf,bp,bv,-bz,-bl,cj,bi,cc,-bs}
{ak,-am,-ai,ao,ah,an,-aj,-al,al,aj,-an,-ah,-ao,ai,am,-ak,-ak,am,ai,-ao,-ah,-an,aj,al,-al,-aj,an,ah,ao,-ai,-am,ak,ak,-am,-ai,ao,ah,an,-aj,-al,al,aj,-an,-ah,-ao,ai,am,-ak,-ak,am,ai,-ao,-ah,-an,aj,al,-al,-aj,an,ah,ao,-ai,-am,ak}
{bt,-bz,-bn,cf,bh,ck,-bi,-ce,bo,by,-bu,-bs,ca,bm,-cg,-bg,-cj,bj,cd,-bp,-bx,bv,br,-cb,-bl,ch,bf,ci,-bk,-cc,bq,bw,-bw,-bq,cc,bk,-ci,-bf,-ch,bl,cb,-br,-bv,bx,bp,-cd,-bj,cj,bg,cg,-bm,-ca,bs,bu,-by,-bo,ce,bi,-ck,-bh,-cf,bn,bz,-bt}
{aw,-ay,-au,ba,as,-bc,-aq,be,ap,bd,-ar,-bb,at,az,-av,-ax,ax,av,-az,-at,bb,ar,-bd,-ap,-be,aq,bc,-as,-ba,au,ay,-aw,-aw,ay,au,-ba,-as,bc,aq,-be,-ap,-bd,ar,bb,-at,-az,av,ax,-ax,-av,az,at,-bb,-ar,bd,ap,be,-aq,-bc,as,ba,-au,-ay,aw}
{bu,-bw,-bs,by,bq,-ca,-bo,cc,bm,-ce,-bk,cg,bi,-ci,-bg,ck,bf,cj,-bh,-ch,bj,cf,-bl,-cd,bn,cb,-bp,-bz,br,bx,-bt,-bv,bv,bt,-bx,-br,bz,bp,-cb,-bn,cd,bl,-cf,-bj,ch,bh,-cj,-bf,-ck,bg,ci,-bi,-cg,bk,ce,-bm,-cc,bo,ca,-bq,-by,bs,bw,-bu}
{aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa}
{bv,-bt,-bx,br,bz,-bp,-cb,bn,cd,-bl,-cf,bj,ch,-bh,-cj,bf,-ck,-bg,ci,bi,-cg,-bk,ce,bm,-cc,-bo,ca,bq,-by,-bs,bw,bu,-bu,-bw,bs,by,-bq,-ca,bo,cc,-bm,-ce,bk,cg,-bi,-ci,bg,ck,-bf,cj,bh,-ch,-bj,cf,bl,-cd,-bn,cb,bp,-bz,-br,bx,bt,-bv}
{ax,-av,-az,at,bb,-ar,-bd,ap,-be,-aq,bc,as,-ba,-au,ay,aw,-aw,-ay,au,ba,-as,-bc,aq,be,-ap,bd,ar,-bb,-at,az,av,-ax,-ax,av,az,-at,-bb,ar,bd,-ap,be,aq,-bc,-as,ba,au,-ay,-aw,aw,ay,-au,-ba,as,bc,-aq,-be,ap,-bd,-ar,bb,at,-az,-av,ax}
{bw,-bq,-cc,bk,ci,-bf,ch,bl,-cb,-br,bv,bx,-bp,-cd,bj,cj,-bg,cg,bm,-ca,-bs,bu,by,-bo,-ce,bi,ck,-bh,cf,bn,-bz,-bt,bt,bz,-bn,-cf,bh,-ck,-bi,ce,bo,-by,-bu,bs,ca,-bm,-cg,bg,-cj,-bj,cd,bp,-bx,-bv,br,cb,-bl,-ch,bf,-ci,-bk,cc,bq,-bw}
{al,-aj,-an,ah,-ao,-ai,am,ak,-ak,-am,ai,ao,-ah,an,aj,-al,-al,aj,an,-ah,ao,ai,-am,-ak,ak,am,-ai,-ao,ah,-an,-aj,al,al,-aj,-an,ah,-ao,-ai,am,ak,-ak,-am,ai,ao,-ah,an,aj,-al,-al,aj,an,-ah,ao,ai,-am,-ak,ak,am,-ai,-ao,ah,-an,-aj,al}
{bx,-bn,-ch,bg,-ce,-bq,bu,ca,-bk,-ck,bj,-cb,-bt,br,cd,-bh,ci,bm,-by,-bw,bo,cg,-bf,cf,bp,-bv,-bz,bl,cj,-bi,cc,bs,-bs,-cc,bi,-cj,-bl,bz,bv,-bp,-cf,bf,-cg,-bo,bw,by,-bm,-ci,bh,-cd,-br,bt,cb,-bj,ck,bk,-ca,-bu,bq,ce,-bg,ch,bn,-bx}
{ay,-as,-be,ar,-az,-ax,at,bd,-aq,ba,aw,-au,-bc,ap,-bb,-av,av,bb,-ap,bc,au,-aw,-ba,aq,-bd,-at,ax,az,-ar,be,as,-ay,-ay,as,be,-ar,az,ax,-at,-bd,aq,-ba,-aw,au,bc,-ap,bb,av,-av,-bb,ap,-bc,-au,aw,ba,-aq,bd,at,-ax,-az,ar,-be,-as,ay}
{by,-bk,cj,bn,-bv,-cb,bh,-cg,-bq,bs,ce,-bf,cd,bt,-bp,-ch,bi,-ca,-bw,bm,ck,-bl,bx,bz,-bj,ci,bo,-bu,-cc,bg,-cf,-br,br,cf,-bg,cc,bu,-bo,-ci,bj,-bz,-bx,bl,-ck,-bm,bw,ca,-bi,ch,bp,-bt,-cd,bf,-ce,-bs,bq,cg,-bh,cb,bv,-bn,-cj,bk,-by}
{af,-ad,ag,ae,-ae,-ag,ad,-af,-af,ad,-ag,-ae,ae,ag,-ad,af,af,-ad,ag,ae,-ae,-ag,ad,-af,-af,ad,-ag,-ae,ae,ag,-ad,af,af,-ad,ag,ae,-ae,-ag,ad,-af,-af,ad,-ag,-ae,ae,ag,-ad,af,af,-ad,ag,ae,-ae,-ag,ad,-af,-af,ad,-ag,-ae,ae,ag,-ad,af}
{bz,-bh,ce,bu,-bm,cj,bp,-br,-ch,bk,-bw,-cc,bf,-cb,-bx,bj,-cg,-bs,bo,ck,-bn,bt,cf,-bi,by,ca,-bg,cd,bv,-bl,ci,bq,-bq,-ci,bl,-bv,-cd,bg,-ca,-by,bi,-cf,-bt,bn,-ck,-bo,bs,cg,-bj,bx,cb,-bf,cc,bw,-bk,ch,br,-bp,-cj,bm,-bu,-ce,bh,-bz}
{az,-ap,ba,ay,-aq,bb,ax,-ar,bc,aw,-as,bd,av,-at,be,au,-au,-be,at,-av,-bd,as,-aw,-bc,ar,-ax,-bb,aq,-ay,-ba,ap,-az,-az,ap,-ba,-ay,aq,-bb,-ax,ar,-bc,-aw,as,-bd,-av,at,-be,-au,au,be,-at,av,bd,-as,aw,bc,-ar,ax,bb,-aq,ay,ba,-ap,az}
{ca,-bf,bz,cb,-bg,by,cc,-bh,bx,cd,-bi,bw,ce,-bj,bv,cf,-bk,bu,cg,-bl,bt,ch,-bm,bs,ci,-bn,br,cj,-bo,bq,ck,-bp,bp,-ck,-bq,bo,-cj,-br,bn,-ci,-bs,bm,-ch,-bt,bl,-cg,-bu,bk,-cf,-bv,bj,-ce,-bw,bi,-cd,-bx,bh,-cc,-by,bg,-cb,-bz,bf,-ca}
{am,-ah,al,an,-ai,ak,ao,-aj,aj,-ao,-ak,ai,-an,-al,ah,-am,-am,ah,-al,-an,ai,-ak,-ao,aj,-aj,ao,ak,-ai,an,al,-ah,am,am,-ah,al,an,-ai,ak,ao,-aj,aj,-ao,-ak,ai,-an,-al,ah,-am,-am,ah,-al,-an,ai,-ak,-ao,aj,-aj,ao,ak,-ai,an,al,-ah,am}
{cb,-bi,bu,ci,-bp,bn,-cg,-bw,bg,-bz,-cd,bk,-bs,-ck,br,-bl,ce,by,-bf,bx,cf,-bm,bq,-cj,-bt,bj,-cc,-ca,bh,-bv,-ch,bo,-bo,ch,bv,-bh,ca,cc,-bj,bt,cj,-bq,bm,-cf,-bx,bf,-by,-ce,bl,-br,ck,bs,-bk,cd,bz,-bg,bw,cg,-bn,bp,-ci,-bu,bi,-cb}
{ba,-ar,av,-be,-aw,aq,-az,-bb,as,-au,bd,ax,-ap,ay,bc,-at,at,-bc,-ay,ap,-ax,-bd,au,-as,bb,az,-aq,aw,be,-av,ar,-ba,-ba,ar,-av,be,aw,-aq,az,bb,-as,au,-bd,-ax,ap,-ay,-bc,at,-at,bc,ay,-ap,ax,bd,-au,as,-bb,-az,aq,-aw,-be,av,-ar,ba}
{cc,-bl,bp,-cg,-by,bh,-bt,ck,bu,-bg,bx,ch,-bq,bk,-cb,-cd,bm,-bo,cf,bz,-bi,bs,-cj,-bv,bf,-bw,-ci,br,-bj,ca,ce,-bn,bn,-ce,-ca,bj,-br,ci,bw,-bf,bv,cj,-bs,bi,-bz,-cf,bo,-bm,cd,cb,-bk,bq,-ch,-bx,bg,-bu,-ck,bt,-bh,by,cg,-bp,bl,-cc}
{ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,ab,-ac,-ac,ab,-ab,ac}
{cd,-bo,bk,-bz,-ch,bs,-bg,bv,-ck,-bw,bh,-br,cg,ca,-bl,bn,-cc,-ce,bp,-bj,by,ci,-bt,bf,-bu,cj,bx,-bi,bq,-cf,-cb,bm,-bm,cb,cf,-bq,bi,-bx,-cj,bu,-bf,bt,-ci,-by,bj,-bp,ce,cc,-bn,bl,-ca,-cg,br,-bh,bw,ck,-bv,bg,-bs,ch,bz,-bk,bo,-cd}
{bb,-au,aq,-ax,be,ay,-ar,at,-ba,-bc,av,-ap,aw,-bd,-az,as,-as,az,bd,-aw,ap,-av,bc,ba,-at,ar,-ay,-be,ax,-aq,au,-bb,-bb,au,-aq,ax,-be,-ay,ar,-at,ba,bc,-av,ap,-aw,bd,az,-as,as,-az,-bd,aw,-ap,av,-bc,-ba,at,-ar,ay,be,-ax,aq,-au,bb}
{ce,-br,bf,-bs,cf,cd,-bq,bg,-bt,cg,cc,-bp,bh,-bu,ch,cb,-bo,bi,-bv,ci,ca,-bn,bj,-bw,cj,bz,-bm,bk,-bx,ck,by,-bl,bl,-by,-ck,bx,-bk,bm,-bz,-cj,bw,-bj,bn,-ca,-ci,bv,-bi,bo,-cb,-ch,bu,-bh,bp,-cc,-cg,bt,-bg,bq,-cd,-cf,bs,-bf,br,-ce}
{an,-ak,ah,-aj,am,ao,-al,ai,-ai,al,-ao,-am,aj,-ah,ak,-an,-an,ak,-ah,aj,-am,-ao,al,-ai,ai,-al,ao,am,-aj,ah,-ak,an,an,-ak,ah,-aj,am,ao,-al,ai,-ai,al,-ao,-am,aj,-ah,ak,-an,-an,ak,-ah,aj,-am,-ao,al,-ai,ai,-al,ao,am,-aj,ah,-ak,an}
{cf,-bu,bj,-bl,bw,-ch,-cd,bs,-bh,bn,-by,cj,cb,-bq,bf,-bp,ca,ck,-bz,bo,-bg,br,-cc,-ci,bx,-bm,bi,-bt,ce,cg,-bv,bk,-bk,bv,-cg,-ce,bt,-bi,bm,-bx,ci,cc,-br,bg,-bo,bz,-ck,-ca,bp,-bf,bq,-cb,-cj,by,-bn,bh,-bs,cd,ch,-bw,bl,-bj,bu,-cf}
{bc,-ax,as,-aq,av,-ba,-be,az,-au,ap,-at,ay,-bd,-bb,aw,-ar,ar,-aw,bb,bd,-ay,at,-ap,au,-az,be,ba,-av,aq,-as,ax,-bc,-bc,ax,-as,aq,-av,ba,be,-az,au,-ap,at,-ay,bd,bb,-aw,ar,-ar,aw,-bb,-bd,ay,-at,ap,-au,az,-be,-ba,av,-aq,as,-ax,bc}
{cg,-bx,bo,-bf,bn,-bw,cf,ch,-by,bp,-bg,bm,-bv,ce,ci,-bz,bq,-bh,bl,-bu,cd,cj,-ca,br,-bi,bk,-bt,cc,ck,-cb,bs,-bj,bj,-bs,cb,-ck,-cc,bt,-bk,bi,-br,ca,-cj,-cd,bu,-bl,bh,-bq,bz,-ci,-ce,bv,-bm,bg,-bp,by,-ch,-cf,bw,-bn,bf,-bo,bx,-cg}
{ag,-af,ae,-ad,ad,-ae,af,-ag,-ag,af,-ae,ad,-ad,ae,-af,ag,ag,-af,ae,-ad,ad,-ae,af,-ag,-ag,af,-ae,ad,-ad,ae,-af,ag,ag,-af,ae,-ad,ad,-ae,af,-ag,-ag,af,-ae,ad,-ad,ae,-af,ag,ag,-af,ae,-ad,ad,-ae,af,-ag,-ag,af,-ae,ad,-ad,ae,-af,ag}
{ch,-ca,bt,-bm,bf,-bl,bs,-bz,cg,ci,-cb,bu,-bn,bg,-bk,br,-by,cf,cj,-cc,bv,-bo,bh,-bj,bq,-bx,ce,ck,-cd,bw,-bp,bi,-bi,bp,-bw,cd,-ck,-ce,bx,-bq,bj,-bh,bo,-bv,cc,-cj,-cf,by,-br,bk,-bg,bn,-bu,cb,-ci,-cg,bz,-bs,bl,-bf,bm,-bt,ca,-ch}
{bd,-ba,ax,-au,ar,-ap,as,-av,ay,-bb,be,bc,-az,aw,-at,aq,-aq,at,-aw,az,-bc,-be,bb,-ay,av,-as,ap,-ar,au,-ax,ba,-bd,-bd,ba,-ax,au,-ar,ap,-as,av,-ay,bb,-be,-bc,az,-aw,at,-aq,aq,-at,aw,-az,bc,be,-bb,ay,-av,as,-ap,ar,-au,ax,-ba,bd}
{ci,-cd,by,-bt,bo,-bj,bf,-bk,bp,-bu,bz,-ce,cj,ch,-cc,bx,-bs,bn,-bi,bg,-bl,bq,-bv,ca,-cf,ck,cg,-cb,bw,-br,bm,-bh,bh,-bm,br,-bw,cb,-cg,-ck,cf,-ca,bv,-bq,bl,-bg,bi,-bn,bs,-bx,cc,-ch,-cj,ce,-bz,bu,-bp,bk,-bf,bj,-bo,bt,-by,cd,-ci}
{ao,-an,am,-al,ak,-aj,ai,-ah,ah,-ai,aj,-ak,al,-am,an,-ao,-ao,an,-am,al,-ak,aj,-ai,ah,-ah,ai,-aj,ak,-al,am,-an,ao,ao,-an,am,-al,ak,-aj,ai,-ah,ah,-ai,aj,-ak,al,-am,an,-ao,-ao,an,-am,al,-ak,aj,-ai,ah,-ah,ai,-aj,ak,-al,am,-an,ao}
{cj,-cg,cd,-ca,bx,-bu,br,-bo,bl,-bi,bf,-bh,bk,-bn,bq,-bt,bw,-bz,cc,-cf,ci,ck,-ch,ce,-cb,by,-bv,bs,-bp,bm,-bj,bg,-bg,bj,-bm,bp,-bs,bv,-by,cb,-ce,ch,-ck,-ci,cf,-cc,bz,-bw,bt,-bq,bn,-bk,bh,-bf,bi,-bl,bo,-br,bu,-bx,ca,-cd,cg,-cj}
{be,-bd,bc,-bb,ba,-az,ay,-ax,aw,-av,au,-at,as,-ar,aq,-ap,ap,-aq,ar,-as,at,-au,av,-aw,ax,-ay,az,-ba,bb,-bc,bd,-be,-be,bd,-bc,bb,-ba,az,-ay,ax,-aw,av,-au,at,-as,ar,-aq,ap,-ap,aq,-ar,as,-at,au,-av,aw,-ax,ay,-az,ba,-bb,bc,-bd,be}
{ck,-cj,ci,-ch,cg,-cf,ce,-cd,cc,-cb,ca,-bz,by,-bx,bw,-bv,bu,-bt,bs,-br,bq,-bp,bo,-bn,bm,-bl,bk,-bj,bi,-bh,bg,-bf,bf,-bg,bh,-bi,bj,-bk,bl,-bm,bn,-bo,bp,-bq,br,-bs,bt,-bu,bv,-bw,bx,-by,bz,-ca,cb,-cc,cd,-ce,cf,-cg,ch,-ci,cj,-ck}
}
ただし、
{aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck}=
{64,83,36,89,75,50,18,90,87,80,70,57,43,25,9,90,90,88,85,82,78,73,67,61,54,46,38,31,22,13,4,91,90,90,90,88,87,86,84,83,81,79,77,73,71,69,65,62,59,56,52,48,44,41,37,33,28,24,20,15,11,7,2}
である。
HEVCで採用されてきたDCT-2及び4×4 DST-7に加えて、VVCでは、インター符号化ブロック及びイントラ符号化ブロックの双方の残差コーディングのために、適応多重変換(Adaptive Multiple Transform;AMT、又はエンハンスト多重変換(Enhanced Multiple Transform;EMT)として知られ、又は多重変換選択(Multiple Transform Selection;MTS)として知られている)スキームが、VVCで使用されている。MTSは、HEVCにおける現在の変換以外のDCT/DSTファミリーからの複数の選択した変換を使用する。新たに導入された変換行列はDST-7、DCT-8である。表2は、選択されるDST/DCTの基本関数を示している。
VVCにおける全ての一次変換行列は、8ビット表現で使用され得る。AMTは、幅及び高さの双方が32以下であるCUに適用され、AMTを適用するか否かは、mts_flagと呼ばれるフラグによって制御される。mts_flagが0に等しいとき、DCT-2のみが残差を符号化することに適用され得る。mts_flagが1に等しいとき、表3に従って使用される水平及び垂直変換を指定するために、更にインデックスmts_idxが、2つのビンを用いてシグナリングされ、ただし、値1は、DST-7を使用することを意味し、値2は、DCT-8を使用することを意味する。
VVCドラフト4では、上のシグナリングベースのMTS(すなわち、明示的MTS)が使用されない場合に、暗示的MTSも適用され得る。暗示的MTSでは、シグナリングの代わりにブロック幅及び高さに従って、変換選択が為される。より具体的には、JVET-M0303で提案されている暗示的MTSでは、ブロックの短辺に対してDST-7が選択され、ブロックの長辺に対してDCT-2が選択される。DST-7の、基底ベクトルによって構成される行列である変換コアはまた、以下のように表されることができる:
4点DST-7:
{a,b,c,d}
{c,c,0,-c}
{d,-a,-c,b}
{b,-d,c,-a}
ただし、{a,b,c,d}={29,55,74,84}。
8点DST-7:
{a,b,c,d,e,f,g,h,}
{c,f,h,e,b,-a,-d,-g,}
{e,g,b,-c,-h,-d,a,f,}
{g,c,-d,-f,a,h,b,-e,}
{h,-a,-g,b,f,-c,-e,d,}
{f,-e,-a,g,-d,-b,h,-c,}
{d,-h,e,-a,-c,g,-f,b,}
{b,-d,f,-h,g,-e,c,-a,}
ただし、{a,b,c,d,e,f,g,h}={17,32,46,60,71,78,85,86}。
16点DST-7:
{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,}
{c,f,i,l,o,o,l,i,f,c,0,-c,-f,-i,-l,-o,}
{e,j,o,m,h,c,-b,-g,-l,-p,-k,-f,-a,d,i,n,}
{g,n,l,e,-b,-i,-p,-j,-c,d,k,o,h,a,-f,-m,}
{i,o,f,-c,-l,-l,-c,f,o,i,0,-i,-o,-f,c,l,}
{k,k,0,-k,-k,0,k,k,0,-k,-k,0,k,k,0,-k,}
{m,g,-f,-n,-a,l,h,-e,-o,-b,k,i,-d,-p,-c,j,}
{o,c,-l,-f,i,i,-f,-l,c,o,0,-o,-c,l,f,-i,}
{p,-a,-o,b,n,-c,-m,d,l,-e,-k,f,j,-g,-i,h,}
{n,-e,-i,j,d,-o,a,m,-f,-h,k,c,-p,b,l,-g,}
{l,-i,-c,o,-f,-f,o,-c,-i,l,0,-l,i,c,-o,f,}
{j,-m,c,g,-p,f,d,-n,i,a,-k,l,-b,-h,o,-e,}
{h,-p,i,-a,-g,o,-j,b,f,-n,k,-c,-e,m,-l,d,}
{f,-l,o,-i,c,c,-i,o,-l,f,0,-f,l,-o,i,-c,}
{d,-h,l,-p,m,-i,e,-a,-c,g,-k,o,-n,j,-f,b,}
{b,-d,f,-h,j,-l,n,-p,o,-m,k,-i,g,-e,c,-a,}
ただし、{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p}={9,17,25,33,41,49,56,62,66,72,77,81,83,87,89,90}。
32点DST-7:
{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,}
{c,f,i,l,o,r,u,x,A,D,F,C,z,w,t,q,n,k,h,e,b,-a,-d,-g,-j,-m,-p,-s,-v,-y,-B,-E,}
{e,j,o,t,y,D,D,y,t,o,j,e,0,-e,-j,-o,-t,-y,-D,-D,-y,-t,-o,-j,-e,0,e,j,o,t,y,D,}
{g,n,u,B,D,w,p,i,b,-e,-l,-s,-z,-F,-y,-r,-k,-d,c,j,q,x,E,A,t,m,f,-a,-h,-o,-v,-C,}
{i,r,A,C,t,k,b,-g,-p,-y,-E,-v,-m,-d,e,n,w,F,x,o,f,-c,-l,-u,-D,-z,-q,-h,a,j,s,B,}
{k,v,F,u,j,-a,-l,-w,-E,-t,-i,b,m,x,D,s,h,-c,-n,-y,-C,-r,-g,d,o,z,B,q,f,-e,-p,-A,}
{m,z,z,m,0,-m,-z,-z,-m,0,m,z,z,m,0,-m,-z,-z,-m,0,m,z,z,m,0,-m,-z,-z,-m,0,m,z,}
{o,D,t,e,-j,-y,-y,-j,e,t,D,o,0,-o,-D,-t,-e,j,y,y,j,-e,-t,-D,-o,0,o,D,t,e,-j,-y,}
{q,E,n,-c,-t,-B,-k,f,w,y,h,-i,-z,-v,-e,l,C,s,b,-o,-F,-p,a,r,D,m,-d,-u,-A,-j,g,x,}
{s,A,h,-k,-D,-p,c,v,x,e,-n,-F,-m,f,y,u,b,-q,-C,-j,i,B,r,-a,-t,-z,-g,l,E,o,-d,-w,}
{u,w,b,-s,-y,-d,q,A,f,-o,-C,-h,m,E,j,-k,-F,-l,i,D,n,-g,-B,-p,e,z,r,-c,-x,-t,a,v,}
{w,s,-d,-A,-o,h,E,k,-l,-D,-g,p,z,c,-t,-v,a,x,r,-e,-B,-n,i,F,j,-m,-C,-f,q,y,b,-u,}
{y,o,-j,-D,-e,t,t,-e,-D,-j,o,y,0,-y,-o,j,D,e,-t,-t,e,D,j,-o,-y,0,y,o,-j,-D,-e,t,}
{A,k,-p,-v,e,F,f,-u,-q,j,B,a,-z,-l,o,w,-d,-E,-g,t,r,-i,-C,-b,y,m,-n,-x,c,D,h,-s,}
{C,g,-v,-n,o,u,-h,-B,a,D,f,-w,-m,p,t,-i,-A,b,E,e,-x,-l,q,s,-j,-z,c,F,d,-y,-k,r,}
{E,c,-B,-f,y,i,-v,-l,s,o,-p,-r,m,u,-j,-x,g,A,-d,-D,a,F,b,-C,-e,z,h,-w,-k,t,n,-q,}
{F,-a,-E,b,D,-c,-C,d,B,-e,-A,f,z,-g,-y,h,x,-i,-w,j,v,-k,-u,l,t,-m,-s,n,r,-o,-q,p,}
{D,-e,-y,j,t,-o,-o,t,j,-y,-e,D,0,-D,e,y,-j,-t,o,o,-t,-j,y,e,-D,0,D,-e,-y,j,t,-o,}
{B,-i,-s,r,j,-A,-a,C,-h,-t,q,k,-z,-b,D,-g,-u,p,l,-y,-c,E,-f,-v,o,m,-x,-d,F,-e,-w,n,}
{z,-m,-m,z,0,-z,m,m,-z,0,z,-m,-m,z,0,-z,m,m,-z,0,z,-m,-m,z,0,-z,m,m,-z,0,z,-m,}
{x,-q,-g,E,-j,-n,A,-c,-u,t,d,-B,m,k,-D,f,r,-w,-a,y,-p,-h,F,-i,-o,z,-b,-v,s,e,-C,l,}
{v,-u,-a,w,-t,-b,x,-s,-c,y,-r,-d,z,-q,-e,A,-p,-f,B,-o,-g,C,-n,-h,D,-m,-i,E,-l,-j,F,-k,}
{t,-y,e,o,-D,j,j,-D,o,e,-y,t,0,-t,y,-e,-o,D,-j,-j,D,-o,-e,y,-t,0,t,-y,e,o,-D,j,}
{r,-C,k,g,-y,v,-d,-n,F,-o,-c,u,-z,h,j,-B,s,-a,-q,D,-l,-f,x,-w,e,m,-E,p,b,-t,A,-i,}
{p,-F,q,-a,-o,E,-r,b,n,-D,s,-c,-m,C,-t,d,l,-B,u,-e,-k,A,-v,f,j,-z,w,-g,-i,y,-x,h,}
{n,-B,w,-i,-e,s,-F,r,-d,-j,x,-A,m,a,-o,C,-v,h,f,-t,E,-q,c,k,-y,z,-l,-b,p,-D,u,-g,}
{l,-x,C,-q,e,g,-s,E,-v,j,b,-n,z,-A,o,-c,-i,u,-F,t,-h,-d,p,-B,y,-m,a,k,-w,D,-r,f,}
{j,-t,D,-y,o,-e,-e,o,-y,D,-t,j,0,-j,t,-D,y,-o,e,e,-o,y,-D,t,-j,0,j,-t,D,-y,o,-e,}
{h,-p,x,-F,y,-q,i,-a,-g,o,-w,E,-z,r,-j,b,f,-n,v,-D,A,-s,k,-c,-e,m,-u,C,-B,t,-l,d,}
{f,-l,r,-x,D,-C,w,-q,k,-e,-a,g,-m,s,-y,E,-B,v,-p,j,-d,-b,h,-n,t,-z,F,-A,u,-o,i,-c,}
{d,-h,l,-p,t,-x,B,-F,C,-y,u,-q,m,-i,e,-a,-c,g,-k,o,-s,w,-A,E,-D,z,-v,r,-n,j,-f,b,}
{b,-d,f,-h,j,-l,n,-p,r,-t,v,-x,z,-B,D,-F,E,-C,A,-y,w,-u,s,-q,o,-m,k,-i,g,-e,c,-a,}
ただし、{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F}={4,9,13,17,21,26,30,34,38,42,45,50,53,56,60,63,66,68,72,74,77,78,80,82,84,85,86,88,88,89,90,90}。
4点DCT-8:
{a,b,c,d,}
{b,0,-b,-b,}
{c,-b,-d,a,}
{d,-b,a,-c,}
ただし、{a,b,c,d}={84,74,55,29}。
8点DCT-8:
{a,b,c,d,e,f,g,h,}
{b,e,h,-g,-d,-a,-c,-f,}
{c,h,-e,-a,-f,g,b,d,}
{d,-g,-a,-h,c,e,-f,-b,}
{e,-d,-f,c,g,-b,-h,a,}
{f,-a,g,e,-b,h,d,-c,}
{g,-c,b,-f,-h,d,-a,e,}
{h,-f,d,-b,a,-c,e,-g,}
ただし、{a,b,c,d,e,f,g,h}={86,85,78,71,60,46,32,17}。
16点DCT-8:
{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,}
{b,e,h,k,n,0,-n,-k,-h,-e,-b,-b,-e,-h,-k,-n,}
{c,h,m,-p,-k,-f,-a,-e,-j,-o,n,i,d,b,g,l,}
{d,k,-p,-i,-b,-f,-m,n,g,a,h,o,-l,-e,-c,-j,}
{e,n,-k,-b,-h,0,h,b,k,-n,-e,-e,-n,k,b,h,}
{f,0,-f,-f,0,f,f,0,-f,-f,0,f,f,0,-f,-f,}
{g,-n,-a,-m,h,f,-o,-b,-l,i,e,-p,-c,-k,j,d,}
{h,-k,-e,n,b,0,-b,-n,e,k,-h,-h,k,e,-n,-b,}
{i,-h,-j,g,k,-f,-l,e,m,-d,-n,c,o,-b,-p,a,}
{j,-e,-o,a,-n,-f,i,k,-d,-p,b,-m,-g,h,l,-c,}
{k,-b,n,h,-e,0,e,-h,-n,b,-k,-k,b,-n,-h,e,}
{l,-b,i,o,-e,f,-p,-h,c,-m,-k,a,-j,-n,d,-g,}
{m,-e,d,-l,-n,f,-c,k,o,-g,b,-j,-p,h,-a,i,}
{n,-h,b,-e,k,0,-k,e,-b,h,-n,-n,h,-b,e,-k,}
{o,-k,g,-c,b,-f,j,-n,-p,l,-h,d,-a,e,-i,m,}
{p,-n,l,-j,h,-f,d,-b,a,-c,e,-g,i,-k,m,-o,}
ただし、{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p}={90,89,87,83,81,77,72,66,62,56,49,41,33,25,17,9}。
32点DCT-8:
{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,}
{b,e,h,k,n,q,t,w,z,C,F,-E,-B,-y,-v,-s,-p,-m,-j,-g,-d,-a,-c,-f,-i,-l,-o,-r,-u,-x,-A,-D,}
{c,h,m,r,w,B,0,-B,-w,-r,-m,-h,-c,-c,-h,-m,-r,-w,-B,0,B,w,r,m,h,c,c,h,m,r,w,B,}
{d,k,r,y,F,-A,-t,-m,-f,-b,-i,-p,-w,-D,C,v,o,h,a,g,n,u,B,-E,-x,-q,-j,-c,-e,-l,-s,-z,}
{e,n,w,F,-y,-p,-g,-c,-l,-u,-D,A,r,i,a,j,s,B,-C,-t,-k,-b,-h,-q,-z,E,v,m,d,f,o,x,}
{f,q,B,-A,-p,-e,-g,-r,-C,z,o,d,h,s,D,-y,-n,-c,-i,-t,-E,x,m,b,j,u,F,-w,-l,-a,-k,-v,}
{g,t,0,-t,-g,-g,-t,0,t,g,g,t,0,-t,-g,-g,-t,0,t,g,g,t,0,-t,-g,-g,-t,0,t,g,g,t,}
{h,w,-B,-m,-c,-r,0,r,c,m,B,-w,-h,-h,-w,B,m,c,r,0,-r,-c,-m,-B,w,h,h,w,-B,-m,-c,-r,}
{i,z,-w,-f,-l,-C,t,c,o,F,-q,-a,-r,E,n,d,u,-B,-k,-g,-x,y,h,j,A,-v,-e,-m,-D,s,b,p,}
{j,C,-r,-b,-u,z,g,m,F,-o,-e,-x,w,d,p,-E,-l,-h,-A,t,a,s,-B,-i,-k,-D,q,c,v,-y,-f,-n,}
{k,F,-m,-i,-D,o,g,B,-q,-e,-z,s,c,x,-u,-a,-v,w,b,t,-y,-d,-r,A,f,p,-C,-h,-n,E,j,l,}
{l,-E,-h,-p,A,d,t,-w,-a,-x,s,e,B,-o,-i,-F,k,m,-D,-g,-q,z,c,u,-v,-b,-y,r,f,C,-n,-j,}
{m,-B,-c,-w,r,h,0,-h,-r,w,c,B,-m,-m,B,c,w,-r,-h,0,h,r,-w,-c,-B,m,m,-B,-c,-w,r,h,}
{n,-y,-c,-D,i,s,-t,-h,E,d,x,-o,-m,z,b,C,-j,-r,u,g,-F,-e,-w,p,l,-A,-a,-B,k,q,-v,-f,}
{o,-v,-h,C,a,D,-g,-w,n,p,-u,-i,B,b,E,-f,-x,m,q,-t,-j,A,c,F,-e,-y,l,r,-s,-k,z,d,}
{p,-s,-m,v,j,-y,-g,B,d,-E,-a,-F,c,C,-f,-z,i,w,-l,-t,o,q,-r,-n,u,k,-x,-h,A,e,-D,-b,}
{q,-p,-r,o,s,-n,-t,m,u,-l,-v,k,w,-j,-x,i,y,-h,-z,g,A,-f,-B,e,C,-d,-D,c,E,-b,-F,a,}
{r,-m,-w,h,B,-c,0,c,-B,-h,w,m,-r,-r,m,w,-h,-B,c,0,-c,B,h,-w,-m,r,r,-m,-w,h,B,-c,}
{s,-j,-B,a,-C,-i,t,r,-k,-A,b,-D,-h,u,q,-l,-z,c,-E,-g,v,p,-m,-y,d,-F,-f,w,o,-n,-x,e,}
{t,-g,0,g,-t,-t,g,0,-g,t,t,-g,0,g,-t,-t,g,0,-g,t,t,-g,0,g,-t,-t,g,0,-g,t,t,-g,}
{u,-d,B,n,-k,-E,g,-r,-x,a,-y,-q,h,-F,-j,o,A,-c,v,t,-e,C,m,-l,-D,f,-s,-w,b,-z,-p,i,}
{v,-a,w,u,-b,x,t,-c,y,s,-d,z,r,-e,A,q,-f,B,p,-g,C,o,-h,D,n,-i,E,m,-j,F,l,-k,}
{w,-c,r,B,-h,m,0,-m,h,-B,-r,c,-w,-w,c,-r,-B,h,-m,0,m,-h,B,r,-c,w,w,-c,r,B,-h,m,}
{x,-f,m,-E,-q,b,-t,-B,j,-i,A,u,-c,p,F,-n,e,-w,-y,g,-l,D,r,-a,s,C,-k,h,-z,-v,d,-o,}
{y,-i,h,-x,-z,j,-g,w,A,-k,f,-v,-B,l,-e,u,C,-m,d,-t,-D,n,-c,s,E,-o,b,-r,-F,p,-a,q,}
{z,-l,c,-q,E,u,-g,h,-v,-D,p,-b,m,-A,-y,k,-d,r,-F,-t,f,-i,w,C,-o,a,-n,B,x,-j,e,-s,}
{A,-o,c,-j,v,F,-t,h,-e,q,-C,-y,m,-a,l,-x,-D,r,-f,g,-s,E,w,-k,b,-n,z,B,-p,d,-i,u,}
{B,-r,h,-c,m,-w,0,w,-m,c,-h,r,-B,-B,r,-h,c,-m,w,0,-w,m,-c,h,-r,B,B,-r,h,-c,m,-w,}
{C,-u,m,-e,d,-l,t,-B,-D,v,-n,f,-c,k,-s,A,E,-w,o,-g,b,-j,r,-z,-F,x,-p,h,-a,i,-q,y,}
{D,-x,r,-l,f,-a,g,-m,s,-y,E,C,-w,q,-k,e,-b,h,-n,t,-z,F,B,-v,p,-j,d,-c,i,-o,u,-A,}
{E,-A,w,-s,o,-k,g,-c,b,-f,j,-n,r,-v,z,-D,-F,B,-x,t,-p,l,-h,d,-a,e,-i,m,-q,u,-y,C,}
{F,-D,B,-z,x,-v,t,-r,p,-n,l,-j,h,-f,d,-b,a,-c,e,-g,i,-k,m,-o,q,-s,u,-w,y,-A,C,-E,}
ただし、{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F}={90,90,89,88,88,86,85,84,82,80,78,77,74,72,68,66,63,60,56,53,50,45,42,38,34,30,26,21,17,13,9,4}。
VVCでは、一部の例において、符号化ブロックの高さ及び幅の両方が64以下である場合、変換サイズは常に符号化ブロックサイズと同じにすることができる。符号化ブロックの高さ又は幅のいずれかが64より大きい場合には、変換又はイントラ予測を行うときに、符号化ブロックが更に複数のサブブロックへと分割されて、各サブブロックの幅及び高さが64以下にされ、各サブブロックに対して1つの変換が実行される。
VVCドラフトv5では、以下の表4の構文を用いて、SPSにおいてMTSが有効又は無効にされ得る。
VVCドラフトv5では、一部のケースで、明示的にシグナリングされることなくDST-7及び/又はDCT-8が使用されることができ、すなわち、エンコーダ及びデコーダの双方に利用可能な情報に基づいて暗黙的にDST-7及び/又はDCT-8が使用されることができる。これらのケースは、以下を含む:
(a)イントラサブパーティショニング(Intra Sub-Partitioning;ISP):ISPモードでは、ブロック幅が4以上であり且つ16以下である限り、水平変換はDST-7として選択され、ブロック高さが4以上であり且つ16以下である限り、垂直変換はDST-7として選択される。
(b)サブブロック変換(Sub-Block Transform;SBT):SBTモードでは、現在CUの左半分(又は四分の一)及び右半分(又は四分の一)に位置するサブTUに対して、水平変換は、それぞれ、DCT-8及びDST-7である。それ以外で、サブTUが現在CUと同じ幅を持つ場合、DCT-2が使用される。現在CUの上半分(又は四分の一)及び下半分(又は四分の一)に位置するサブTUに対して、垂直変換は、それぞれ、DCT-8及びDST-7である。それ以外で、サブTUが現在CUと同じ高さを持つ場合、DCT-2が使用される。
(c)SPSにおいてMTSが無効にされる:sps_mts_enabled_flagが真としてシグナリングされるが、sps_explicit_mts_intra_enabled_flag及びsps_explicit_mts_inter_enabled_flagの両方が偽としてシグナリングされる場合、イントラ予測残差に対して、ブロック幅が4以上であり且つ16以下である限り、水平変換はDST-7として選択され、ブロック高さが4以上であり且つ16以下である限り、垂直変換はDST-7として選択される。
VVCでは、(エンコーダでの)順方向コア変換と量子化との間、及び(デコーダでの)逆量子化と逆コア変換との間に、モード依存の非分離型二次変換(non-separable secondary transform;NSST)を適用することができる。低い複雑性を維持するために、NSSTは一次変換後の低周波数係数にのみ適用される。変換係数ブロックの幅(W)及び高さ(H)がどちらも8以上である場合、変換係数ブロックの左上の8×8領域に、8×8非分離型二次変換が適用され得る。それ以外で、変換係数ブロックのW又はHのいずれかが4に等しい場合、変換係数ブロックの左上のmin(8,W)×min(8,H)領域に、4×4非分離型二次変換が適用され、4×4非分離型変換が実行され得る。上の変換選択ルールは、ルマ成分及びクロマ成分の両方に適用されることができる。
非分離型変換の行列乗算実装は、4×4入力ブロックを一例として用いると、式(1)にて以下のように記述される。非分離型変換を適用するために、4×4入力ブロックX:

が、ベクトルX:

として表される。
非分離型変換は、

として計算され、ただし、ベクトルFは変換係数ベクトルを指し示し、Tは16×16変換行列である。この16×1の係数ベクトルFは、その後、そのブロック(水平、垂直、又は斜め)に関するスキャン順序を用いて4×4ブロックとして再編成される。より小さいインデックスを有する係数は、4×4係数ブロック内に、より小さいスキャンインデックスを有して配置されることができる。JEMでは、非分離型変換の複雑性を低減させるために、行列乗算の代わりに、バタフライ実装を伴うハイパーキューブ‐ギブンズ変換(Hypercube-Givens Transform;HyGT)が使用される。
NSSTの一設計において、4×4及び8×8の双方のブロックサイズに対して、トータルで35×3個の非分離型二次変換が存在することができ、ここで、35は、セットとして表記されるイントラ予測モードによって規定される変換セットの数であり、3は、各イントラ予測モードに関するNSST候補の数である。イントラ予測モードから変換セットへのマッピングは、表5に規定される。ルマ/クロマ変換係数に適用される変換セットは、表5に従って、対応するルマ/クロマイントラ予測モードによって指定される。34(斜め予測方向)より大きいイントラ予測モードでは、エンコーダ/デコーダでの二次変換の前/後に変換係数ブロックが転置される。
各変換セットについて、選択される非分離型二次変換候補は更に、明示的にシグナリングされるCUレベルNSSTインデックスによって指定される。該インデックスは、変換係数及びトランケートユナリバイナリゼーションン(truncated unary binarization)が使用された後、各CUに対して一度、ビットストリームにてシグナリングされ得る。トランケート値は、プレーナモード又はDCモードの場合に2であり、角度イントラ予測モードの場合は3である。このNSSTインデックスは、CU内に2つ以上の非ゼロ係数が存在する場合にのみシグナリングされ得る。デフォルト値は、シグナリングされない場合にゼロとし得る。この構文要素のゼロ値は、現在CUに二次変換が適用されないことを指し示すことができ、値1から3は、セットからのどの二次変換が適用されるべきかを指し示す。
一部の実施形態において、各変換セットについて、選択される非分離型二次変換候補は更に、明示的にシグナリングされるCUレベルNSSTインデックスによって指定されることができる。該インデックスは、変換係数及びトランケートユナリバイナリゼーションン(truncated unary binarization)が使用された後、各CUに対して一度、ビットストリームにてシグナリングされる。トランケート値は、プレーナモード又はDCモードの場合に2であり、角度イントラ予測モードの場合は3である。このNSSTインデックスは、CU内に2つ以上の非ゼロ係数が存在する場合にのみシグナリングされる。デフォルト値は、シグナリングされない場合にゼロである。この構文要素のゼロ値は、現在CUに二次変換が適用されないことを指し示し、値1から3は、セットからのどの二次変換が適用されるべきかを指し示す。
JVET-N0193では、変換ゼロアウトスキームを用いるNSSTの変形、すなわち、VVCドラフト5では低周波非分離型二次変換(Low-Frequency Non-Separable Secondary Transform;LFNST)とも呼ばれる縮小サイズ変換(Reduced Size Transform;RST)が提案されている。JVET-N0193は、NSSTの変換インデックスをエントロピー符号化するためにイントラ予測モードがプレーナ又はDCであるかをチェックする。JVET-N0193では、4つの変換セットが適用され、各変換セットが3つのRST変換コアを含む。それら3つのRST変換コアは、サイズが16×48(又は16×64)(高さ及び幅がどちらも8以上である変換係数ブロックに適用される)又は16×16(高さ又は幅のいずれかが4に等しい変換係数ブロックに適用される)のいずれかであるとし得る。表記の便宜上、16×48(又は16×64)変換をRST8×8を表記し、16×16変換をRST4×4と表記する。RST8×8について、16×64の変換コア及び16×48の変換コアを用いる2つの代替物を、それぞれ、図10及び図11に示す。図10は、16×64の二次変換コアを用いる縮小二次変換(reduced secondary transform;RST)を示している。図11は、16×48の二次変換コアを用いる縮小二次変換(RST)を示している。VVCドラフト5では、16×48の変換コアを用いる変換が採用されている。
LFNSTカーネルの選択を指し示すインデックス、すなわちlfnst_idxが、表6に示すように、CUレベル構文の末尾でシグナリングされる。表6は、CUレベルにおける構文を提供する。
一部の例において、縮小変換(Reduced Transform;RT)は、N次元ベクトルを、異なる空間のR次元ベクトルにマッピングし、R/N(R<N)は縮小係数である。RST行列は、次式(3):

のとおりのR×N行列であり、変換のR個の行はN次元空間のR個の基底である。RTの逆変換行列は、その順方向の変換の転置行列である。図12Aは、順方向変換の概略図であり、図12Bは、逆縮小変換の概略図である。
4なる縮小係数(1/4サイズ)を有するRST8×8を適用することができる。従って、従来の8×8非分離型変換行列サイズである64×64の代わりに、16×64の直接行列が使用される。換言すれば、デコーダ側で64×16の逆RST行列を使用して、8×8の左上領域におけるコア(一次)変換係数を生成する。順方向RST8×8が所与の8×8領域内の左上4×4領域においてのみ非ゼロの係数を生成するように、順方向RST8×8は16×64(又は8×8ブロックでは8×64)行列を使用する。換言すれば、RSTが適用される場合、左上4×4領域を除く8×8領域は、ゼロの係数だけを持つことができる。RST4×4では、16×16(又は4×4ブロックでは8×16)直接行列乗算を適用することができる。
また、RST8×8では、変換行列サイズを更に縮小するために、二次変換を計算するための入力として左上の8×8係数全体を使用する代わりに、左上の3つの4×4係数が、二次変換を計算するための入力として使用される。図13A-図13Bは、RST8×8の異なる代替物を示している。図13Aは、16×64変換行列例を示しており、二次変換を計算するための入力として左上の8×8係数全体が適用される。図13Bは、16×46変換行列例を示し、左上の3つの4×4係数が、二次変換を計算するための入力として使用される。
一部の実施形態において、逆RSTは、条件付きで、(a)ブロックサイズが所与の閾値以上である(W>=4 && H>=4);(b)変換スキップモードフラグがゼロに等しい、という2つの条件が満たされるときに適用されることができる。
変換係数ブロックの幅(W)及び高さ(H)の両方が4より大きい場合、変換係数ブロックの左上8×8領域にRST8×8が適用される。それ以外の場合、変換係数ブロックの左上のmin(8,W)×min(8,H)領域にRST4×4が適用される。
RSTインデックスが0に等しい場合、RSTは適用されない。そうでなく、RSTインデックスが1に等しい場合、RSTが適用され、そのカーネルがRSTインデックスで選択される。
さらに、RSTは、イントラ及びインタースライスの両方のイントラCUに対して、並びにルマ及びクロマの両方に対して適用される。デュアルツリーが有効にされる場合、ルマ及びクロマのRSTインデックスが別々にシグナリングされる。インタースライス(デュアルツリーが無効にされる)では、単一のRSTインデックスが、ルマ成分及びクロマ成分の両方に対してシグナリングされて使用される。ISPモードが選択される場合には、RSTは無効にされ、RSTインデックスはシグナリングされない。
一部の実施形態において、RST行列は、各変換セットが2つの変換からなる4つの変換セットから選択され得る。どの変換セットが適用されるかは、以下のように、イントラ予測モードから決定される:(a)3つのCCLMモードのうちの1つ指し示される場合、変換セット0が選択され、(b)それ以外の場合、表7に従って変換セット選択が行われる。

表7にアクセスするためのインデックス(すなわち、IntraPredMode)は、広い角度のイントラ予測に使用される変換モードインデックスである[-14,83]の範囲を有する。
VVCはまた、行列ベースイントラ予測(MIP)モードを含んでいる。幅W及び高さHの矩形ブロックのサンプルを予測するために、MIPは、入力として、ブロックの左に位置する一列のH個の再構成隣接境界サンプルと、ブロックの上の一列のW個の再構成隣接境界サンプルとをとる。これらの再構成サンプルが利用可能でない場合には、それらは、従来のイントラ予測で行われるままに生成される。
予測信号の生成は、次の3つのステップに基づく:
(a)境界サンプルから、W=H=4の場合は4サンプルが、そして、その他全ての場合に8サンプルが、平均することによって抽出される。
(b)平均されたサンプルを入力として用いて、行列ベクトル乗算及びそれに続くオフセットの加算が実行される。その結果は、元のブロック内のサブサンプリングされたサンプルセットについての縮小予測信号である。
(c)、残りの位置における予測信号が、サブサンプリングされたセットについての予測信号から、各方向の単一ステップ線形補間である線形補間によって生成される。
予測信号を生成するために必要な行列及びオフセットベクトルは、行列の3つの集合S、S、Sから取られる。集合Sは18個の行列A ,i∈{0,…,17}からなり、これらの行列の各々が、16個の行、4個の列、及び18個のオフセットベクトルb ,i∈{0,…,17}を持つ。オフセットベクトルb は各々、サイズ16を持つ。集合Sの行列及びオフセットベクトルは、サイズ4×4のブロックに使用される。集合Sは10個の行列A ,i∈{0,…,9}からなり、これらの行列の各々が、16個の行、8個の列、及び10個のオフセットベクトルb ,i∈{0,…,9}を持つ。オフセットベクトルb は各々、サイズ16を持つ。集合Sの行列及びオフセットベクトルは、サイズ4×8、8×4、及び8×8のブロックに使用される。最後に、集合Sは6個の行列A ,i∈{0,…,5}からなり、これらの行列の各々が、64個の行、8個の列、及びサイズ64の6個のオフセットベクトルb ,i∈{0,…,5}を持つ。集合Sの行列及びオフセットベクトル、又はこれらの強烈及びオフセットベクトルの一部は、他の全てのブロック形状に使用される。
図14は、8×8ブロックに関するMIPの一例を示すものである。図14に示すように、8×8ブロックを与えられて、MIPは境界の各軸に沿って4つの平均をとる。結果として得られる8つの入力サンプルが、行列ベクトル乗算に入る。集合Sから行列がとられる。これは、予測ブロックの奇数位置の16個のサンプルを生み出す。従って、サンプル当たりトータルで(8・16)/(8・8)=2回の乗算が行われる。オフセットを加えた後、これらのサンプルが、縮小された上境界を用いることによって垂直方向に補間される。水平補間が、元の左境界を用いることによって続く。この場合、補間プロセスは如何なる乗算も必要としない。
MIPモードのシグナリングに関して、イントラモードの符号化ユニット(CU)ごとに、対応する予測ユニット(PU)にMIPモードが適用されるか否かを指し示すフラグがビットストリーム内で送られる。MIPモードが適用される場合、MIPモードのインデックスpredmodeが、3つのMPMを含むMPMリストを用いてシグナリングされる。
ここで、MPMの導出は、以下のように、上及び左のPUのイントラモードを用いて行われる。3つの固定のマッピングテーブルmap_angular_to_mipidx,idx∈{0,1,2}が存在し、各テーブルが、以式(4):

で記述されるように、従来の各イントラ予測モードpredmodeAngularを特定のMIPモードと関連付ける。ここで、map_angular_to_mipは固定のルックアップテーブルである。マッピングテーブルのインデックスは、PUの幅W及び高さHに基づいて決定され、下の式(5)に記述されるトータル3つのインデックスが利用可能である:

式(5)は、3つのセットのうちのどれからMIPパラメータを取られるかを示している。
MIPモードによって符号化される現在ブロックに対するMPMリストを生成するために、先ず、上のMIPモードすなわちmodeMIP above、及び左のMIPモードすなわちmodeMIP leftが導出される。modeMIP aboveの値は、次のように導出される:
(a)上のPUであるPUaboveが利用可能であり、且つ現在PUがあるのと同じCTUに属し、且つPUaboveが、MIPモードpredmodeMIP above及びidx(PU)=idx(PUabove)を用いてMIPによって符号化される場合、

(b)上のPUであるPUaboveが利用可能であり、且つ現在PUがあるのと同じCTUに属し、且つPUaboveが、従来のイントラ予測モードpredmodeAngular aboveを用いて符号化される場合、

(c)それ以外の場合には、

であり、これは、このモードが利用可能でないことを意味する。modeMIP leftの値は、modeMIP aboveを導出するのと同じようにして、しかし、現在PUがあるのと同じCTUに左のPUが属するかをチェックすることなく、導出される。
最後に、導出された、modeMIP above及びmodeMIP leftと、3つの予め定められた固定デフォルトMPMリストlistidx,idx∈{0,1,2}(これらのMPMリストの各々が3つの異なるMIPモードを含む)とを所与として、MPMリストが構築される。MPMリストは、これら所与のデフォルトリストlistidx(PU)とmodeMIP above及びmodeMIP leftとに基づいて、デフォルト値を-1に置き換えるとともに重複するMIPモードを削除することによって構築される。
MIPモードをシグナリングするフラグは、CUレベルの構文テーブルである表8に示され得る。
一部の実施形態において、MIPモードは、以下のように、従来のイントラ予測モードのMPMベースの符号化と調和され得る。従来のイントラ予測モードに関するルマ及びクロマMPMリスト導出プロセスは、MIPモードpredmodeMIPを従来のイントラ予測モードのうちの1つにマッピング:

するものである別々の固定テーブルmap_mip_to_angularidx,idx∈{0,1,2}を使用し、ここで、map_mip_to_angularは、固定のルックアップテーブルである。ルマMPMリスト導出では、隣接ルマブロックがMIPモードpredmodeMIPによって符号化されるときにいつも、このブロックは、あたかも従来のイントラ予測モードpredmodeAngularを用いているかのように扱われる。クロマMPMリスト導出では、現在ルマブロックがMIPモードを使用するときにいつも、同じマッピングを用いてMIPモードを従来のイントラ予測モードに変換する。
様々な方法が上で提供されているが、上述の方法には幾つかの欠点がある。例えば、現行では、LFNSTが適用されるとき、sps_mts_enabled_flagが真としてシグナリングされるが、sps_explicit_mts_intra_enabled_flag及びsps_explicit_mts_inter_enabled_flagはどちらも偽としてシグナリングされる。小さいブロックサイズに対して、一次変換は、上で紹介したような暗示的な変換スキームを用いて選択されることになり、これは、DST-7が常に有効にされ得ることを意味する。しかしながら、LFNSTカーネルは、DST-7ではあまり効率的に動作しないことがある。
加えて、現行では、MIPが適用されるとき、sps_mts_enabled_flagは真としてシグナリングされるが、sps_explicit_mts_intra_enabled_flag及びsps_explicit_mts_inter_enabled_flagはどちらも偽としてシグナリングされる。小さいブロックサイズに対して、一次変換は、上で紹介したような暗示的な変換スキームを用いて選択されることになり、これは、DST-7が常に有効にされ得ることを意味する。しかしながら、DST-7は、MIPモードではあまり効率的に動作しないことがある。
本開示の実施形態によれば、改善された暗示的変換選択のための方法が提供される。また、それらの方法(又は実施形態)、エンコーダ、及びデコーダの各々は、処理回路(例えば、1つ以上のプロセッサ、又は1つ以上の集積回路)によって実装され得る。一例において、1つ以上のプロセッサが、非一時的なコンピュータ読み取り可能媒体に格納されたプログラムを実行する。以下の開示において、ブロックという用語は、予測ブロック、符号化ブロック、又は符号化ユニットすなわちCUとして解釈され得る。
本開示の実施形態によれば、NSSTという用語はまた、例えば、JVET-M0292又はJVET-N0193に記述されるような、非分離型二次変換の一代替設計である縮小二次変換(RST)をも指すことがあり、それはまた、VVCドラフトv5で採用された低周波非分離型二次変換(LFNST)をも指し得る。
本開示の実施形態によれば、DST-7はまた、DST-4によって置き換えられてもよい。
本開示の実施形態によれば、“暗示的変換”は、変換インデックスシグナリングなしで、一群の非DCT2変換(例えばDST-1、DCT-5、DST-7、DCT-8、DST-4、DCT-4など)を選択する変換スキームを指し示す。これに関して、一群の非DCT2変換は、以下に限られないが、イントラ予測モード(プレーナモード、DCモード、角度モード)、ブロックサイズ、ブロック幅、ブロック高さ、ブロックアスペクト比、ブロック領域サイズ、イントラ符号化モード(MRL、ISP、MIPが使用されるか)、選択された空間マージ候補の位置(上マージ候補、左マージ候補)、インター予測モード(インターPDPCモード、CIIPモードなど)を含め、エンコーダ及びデコーダの双方に利用可能な既に符号化された情報を用いて選択されることができる。
以下の開示において、“明示的変換”は、どの変換タイプが選択されるかを指し示すためにシグナリングされるインデックスを用いて、一群の変換タイプ候補(例えばDCT-2、DST-1、DCT-5、DST-7、DCT-8、DST-4、DCT-4など)から1つの変換を選択する変換スキームを指し示す。
第1の実施形態において、開示される方法は、符号化映像ビットストリームから変換ブロックシグナリング情報を取得して、一次変換タイプ選択に暗示的変換スキームが適用されるかを判定することを含む。暗示的変換スキームが選択されるとき、それは、sps_mts_enabled_flagのフラグが真としてシグナリングされ、且つsps_explicit_mts_intra_enabled_flagのフラグ及びsps_explicit_mts_inter_enabled_flagのフラグの両方が偽としてシグナリングされることを意味する。また、W×Hブロックについて、LFNSTインデックス(lfnst_idx)が0(すなわち、障害)としてシグナリングされる場合、及びTSMが有効にされない場合、一次変換は、以下のアルゴリズムを用いて選択される:
(a)W>=T1且つW<=T2の場合、水平変換はDST-7である。それ以外の場合には、水平変換はDCT-2である。T1の値の例は、2ピクセル、4ピクセル、又は8ピクセルを含む。T2の値の例は、4、8、16、又は32を含む。
(b)H>=T1且つH<=T2の場合、垂直変換はDST-7である。それ以外の場合には、垂直変換はDCT-2である。T1の値の例は、2、4、又は8を含む。T2の値の例は、4、8、16、又は32を含む。
対照的に、一部の実施形態において、LFNSTインデックスが0としてシグナリングされない(すなわち、LFNSTが適用される)場合、一次変換は、以下のように選択されることができる:
(a)一例において、DCT-2が常に選択される。
(b)他の一例において、例えばアダマール変換、DST-1、DCT-5、複合正規直交変換(COT)、カルーネン・レーベ変換(KLT)など、DCT-7以外の所定の変換タイプが選択される。
VVCドラフトv5に加えての、第1の実施形態において提案する方法の変更を以下に示し、変更を下線で強調する。
一例において、第1の実施形態における上で開示された方法への入力は、以下である:
(a)現在ルマ変換ブロックの左上サンプルを、現在ピクチャの左上ルマサンプルに対して規定するルマ位置(xTbY,yTbY)、
(b)現在変換ブロックの幅を規定する変数nTbW、
(c)現在変換ブロックの高さを規定する変数nTbH、
(d)現在ブロックの色成分を規定する変数cIdx、
(e)x=0...nTbW-1,y=0...nTbH-1でのスケーリングされた変換係数の(nTbW)×(nTbH)アレイd[x][y]
第1の実施形態における上記方法の対応する出力は、x=0...nTbW-1,y=0...nTbH-1での残差サンプルの(nTbW)×(nTbH)アレイrd[x][y]とすることができる。
第1の実施形態における変数implicitMtsEnabledは、以下のように導出され得る:
(a)sps_mts_enabled_flagが1に等しく、且つ以下の条件のうちの1つが真である場合、implicitMtsEnabledは1に等しく設定される。
(b)IntraSubpartitionsSplitTypeがISP_NO_SPLITに等しくない。
(c)cu_sbt_flagが1に等しく、且つMax(nTbW,nTbH)が32以下である。
(d)sps_explicit_mts_intra_enabled_flag及びsps_explicit_mts_inter_enabled_flagがどちらも0に等しく、且つCuPredMode[xTbY][yTbY]がMODE_INTRAに等しく、且つlfnst_idx[x0][y0]が0に等しい
(e)それ以外の場合には、implicitMtsEnabledは0に等しく設定される。
第1の実施形態において水平変換カーネルを規定する変数trTypeHor、及び垂直変換カーネルを規定する変数trTypeVerは、以下のように導出され得る:
(a)cIdxが0より大きい場合、trTypeHor及びtrTypeVerは0に等しく設定される。
(b)それ以外の場合で、implicitMtsEnabledが1に等しい場合、以下が適用される:
(i)IntraSubPartitionsSplitTypeがISP_NO_SPLITに等しくない場合、又はsps_explicit_mts_intra_enabled_flag及びsps_explicit_mts_inter_enabled_flagがどちらも0に等しく、且つCuPredMode[xTbY][yTbY]がMODE_INTRAに等しい場合、trTypeHor及びtrTypeVerは、以下のように導出される:
trTypeHor=(nTbW>=4 && nTbW<=16)? 1:0
trTypeVer=(nTbH>=4 && nTbH<=16)? 1:0
(ii)それ以外(cu_sbt_flagが1に等しい)の場合、trTypeHor及びtrTypeVerは、cu_sbt_horizontal_flag及びcu_sbt_pos_flagに応じて、以下の表10で規定される。
(iii)それ以外の場合、trTypeHor及びtrTypeVerは、tu_mts_idx[xTbY][yTbY]に応じて、以下の表9で規定される。
表9-表10は、第1の実施形態における方法に関連するtrTypeHor及びtrTypeVerの指定を与えるものである。

第2の実施形態において、暗示的変換スキームが一次変換タイプ選択に適用される(例えば、sps_mts_enabled_flagが真としてシグナリングされるが、sps_explicit_mts_intra_enabled_flag及びsps_explicit_mts_inter_enabled_flagの両方が偽としてシグナリングされる)とき、0としてシグナリングされるMIPフラグ(intr_mip_flag)を有する(すなわち、MIPが適用されない)W×Hブロックに対して、TSMが有効にされない場合、一次変換は、以下のアルゴリズムを用いて選択され得る:
(a)W>=T1且つW<=T2の場合、水平変換はDST-7である。それ以外の場合には、水平変換はDCT-2である。T1の値の例は、2、4、又は8を含む。T2の値の例は、4、8、16、又は32を含む。
(b)H>=T1且つH<=T2の場合、垂直変換はDST-7である。それ以外の場合には、垂直変換はDCT-2である。T1の値の例は、2、4、又は8を含む。T2の値の例は、4、8、16、又は32を含む。
MIPフラグが0としてシグナリングされない(すなわち、MIPが適用される)とき、一次変換はDCT-2を使用する。他の一例において、一次変換は、例えばアダマール変換、DST-1、DCT-5、COT、KLTなどの、非DST-7を使用する。
あるいは、MIPフラグ(intra_mip_flag)が0に等しくない(すなわち、MIPが適用される)とき、暗示的変換スキームが依然として適用され得る。しかしながら、閾値T1及びT2は、上で紹介したような暗示的変換に使用されるものとは異なり得る。一例において、T1は2に等しく、T2は4又は8に等しい。他の一例において、T1は4に等しく、T2は4又は8に等しい。更なる他の一例において、T1は8に等しく、T2は8、16、又は32に等しい。T1はまた、16に等しくてもよく、T2は16又は32に等しい。
VVCドラフトv5に加えての、第2の実施形態において提案する方法の変更の一例を以下に示し、変更を下線で強調する。
第2の実施形態における方法への入力は、以下である:
(a)現在ルマ変換ブロックの左上サンプルを、現在ピクチャの左上ルマサンプルに対して規定するルマ位置(xTbY,yTbY)、
(b)現在変換ブロックの幅を規定する変数nTbW、
(c)現在変換ブロックの高さを規定する変数nTbH、
(d)現在ブロックの色成分を規定する変数cIdx、
(e)x=0...nTbW-1,y=0...nTbH-1でのスケーリングされた変換係数の(nTbW)×(nTbH)アレイd[x][y]
このプロセスの出力は、x=0...nTbW-1,y=0...nTbH-1での残差サンプルの(nTbW)×(nTbH)アレイrd[x][y]とすることができる。
変数implicitMtsEnabledは、以下のように導出される:
(a)sps_mts_enabled_flagが1に等しく、且つ以下の条件のうちの1つが真である場合、implicitMtsEnabledは1に等しく設定される。
(b)IntraSubpartitionsSplitTypeがISP_NO_SPLITに等しくない。
(c)cu_sbt_flagが1に等しく、且つMax(nTbW,nTbH)が32以下である。
(d)sps_explicit_mts_intra_enabled_flag及びsps_explicit_mts_inter_enabled_flagがどちらも0に等しく、且つCuPredMode[xTbY][yTbY]がMODE_INTRAに等しく、且つintra_mip_flag[x0][y0]が0に等しい。
(e)それ以外の場合には、implicitMtsEnabledは0に等しく設定される。
第2の実施形態において水平変換カーネルを規定する変数trTypeHor、及び垂直変換カーネルを規定する変数trTypeVerは、以下のように導出されることができる:
(a)cIdxが0より大きい場合、trTypeHor及びtrTypeVerは0に等しく設定される。
(b)それ以外の場合で、implicitMtsEnabledが1に等しい場合、以下が適用される:
(i)IntraSubPartitionsSplitTypeがISP_NO_SPLITに等しくない場合、又はsps_explicit_mts_intra_enabled_flag及びsps_explicit_mts_inter_enabled_flagがどちらも0に等しく、且つCuPredMode[xTbY][yTbY]がMODE_INTRAに等しい場合、trTypeHor及びtrTypeVerは、以下のように導出される:
trTypeHor=(nTbW>=4 && nTbW<=16)? 1:0
trTypeVer=(nTbH>=4 && nTbH<=16)? 1:0
(ii)それ以外(cu_sbt_flagが1に等しい)の場合、trTypeHor及びtrTypeVerは、cu_sbt_horizontal_flag及びcu_sbt_pos_flagに応じて、表10で規定される。
(iii)それ以外の場合、trTypeHor及びtrTypeVerは、tu_mts_idx[xTbY][yTbY]に応じて、表9で規定される。
第3の実施形態では、第1の実施形態と第2の実施形態とを組み合わせることができ、VVCドラフトv5に加えての、提案する方法の仕様書変更の一例を以下に示し、変更を下線で強調する。
第3の実施形態における方法への入力は、以下である:
(a)現在ルマ変換ブロックの左上サンプルを、現在ピクチャの左上ルマサンプルに対して規定するルマ位置(xTbY,yTbY)、
(b)現在変換ブロックの幅を規定する変数nTbW、
(c)現在変換ブロックの高さを規定する変数nTbH、
(d)現在ブロックの色成分を規定する変数cIdx、
(e)x=0...nTbW-1,y=0...nTbH-1でのスケーリングされた変換係数の(nTbW)×(nTbH)アレイd[x][y]
このプロセスの出力は、x=0...nTbW-1,y=0...nTbH-1での残差サンプルの(nTbW)×(nTbH)アレイrd[x][y]とすることができる。
第3の実施形態における変数implicitMtsEnabledは、以下のように導出されることができる:
(a)sps_mts_enabled_flagが1に等しく、且つ以下の条件のうちの1つが真である場合、implicitMtsEnabledは1に等しく設定される。
(b)IntraSubpartitionsSplitTypeがISP_NO_SPLITに等しくない。
(c)cu_sbt_flagが1に等しく、且つMax(nTbW,nTbH)が32以下である。
(d)sps_explicit_mts_intra_enabled_flag及びsps_explicit_mts_inter_enabled_flagがどちらも0に等しく、且つCuPredMode[xTbY][yTbY]がMODE_INTRAに等しく、且つlfnst_idx[x0][y0]が0に等しく、且つintra_mip_flag[x0][y0]が0に等しい。
(e)それ以外の場合には、implicitMtsEnabledは0に等しく設定される。
第3の実施形態において水平変換カーネルを規定する変数trTypeHor、及び垂直変換カーネルを規定する変数trTypeVerは、以下のように導出される:
(a)cIdxが0より大きい場合、trTypeHor及びtrTypeVerは0に等しく設定される。
(b)それ以外の場合で、implicitMtsEnabledが1に等しい場合、以下が適用される:
(i)IntraSubPartitionsSplitTypeがISP_NO_SPLITに等しくない場合、又はsps_explicit_mts_intra_enabled_flag及びsps_explicit_mts_inter_enabled_flagがどちらも0に等しく、且つCuPredMode[xTbY][yTbY]がMODE_INTRAに等しい場合、trTypeHor及びtrTypeVerは、以下のように導出される:
trTypeHor=(nTbW>=4 && nTbW<=16)? 1:0
trTypeVer=(nTbH>=4 && nTbH<=16)? 1:0
(ii)それ以外(cu_sbt_flagが1に等しい)の場合、trTypeHor及びtrTypeVerは、cu_sbt_horizontal_flag及びcu_sbt_pos_flagに応じて、表10で規定される。
(iii)それ以外の場合、trTypeHor及びtrTypeVerは、tu_mts_idx[xTbY][yTbY]に応じて、表9で規定される。
本開示の第4の実施形態では、暗示的変換と明示的変換シグナリングとの組み合わせを適用することができる。水平(又は垂直)変換に関し、暗示的変換又は明示的変換のいずれかを使用することができる。
一例において、W×Hブロックに対し、WがT1以上であり且つWがT2以下である場合、水平変換タイプはDST-7である。そうでなく、WがT2より大きく且つT3以下である場合、水平変換タイプは、DCT-2又はDST-7のいずれかとすることができ、その選択がシグナリングされる。そうでなく、WがT3より大きい又はT1より小さい場合、例えばDCT-2といったデフォルト変換タイプが適用される。T1の値の例は、2、4、又は8を含む。T2の値の例は、4、8、16、又は32を含む。T3の値の例は、8、16、32、又は64を含む。T1、T2、T3の組み合わせ設定は、T1はが4(又は2)に等しく、T2は16に等しく、且つT3は32(又は64)に等しいというものにし得る。
他の一例において、W×Hブロックに対し、HがT1以上であり且つHがT2以下である場合、垂直変換タイプはDST-7である。そうでなく、HがT2より大きく且つT3以下である場合、垂直変換タイプは、DCT-2又はDST-7のいずれかとすることができ、その選択がシグナリングされる。そうでなく、HがT3より大きい又はT1より小さい場合、例えばDCT-2といったデフォルト変換タイプが適用される。T1の値の例は、2、4、又は8を含む。T2の値の例は、4、8、16、又は32を含む。T3の値の例は、8、16、32、又は64を含む。T1、T2、T3の組み合わせ設定は、T1はが4(又は2)に等しく、T2は16に等しく、且つT3は32(又は64)に等しいというものにし得る。
図15は、本開示の一実施形態に従ったプロセス(1500)を概説するフローチャートを示している。プロセス(1500)は、イントラモードで符号化されたブロックの再構成に使用されることができ、故に、再構成中のブロックに関する予測ブロックを生成するために使用されることができる。様々な実施形態において、プロセス(1500)は、例えば、端末装置(110)、(120)、(130)及び(140)の処理回路、ビデオエンコーダ(203)の機能を実行する処理回路、ビデオデコーダ(210)の機能を実行する処理回路、ビデオデコーダ(310)の機能を実行する処理回路、ビデオエンコーダ(403)の機能を実行する処理回路、及びこれらに類するものなどの、処理回路によって実行され得る。一部の実施形態において、プロセス(1500)は、ソフトウェア命令にて実装されることができ、従って、処理回路がソフトウェア命令を実行するときに、処理回路がプロセス(1500)を実行する。当該プロセスは、(S1501)で開始し、(S1510)に進む。
(S1510)にて、符号化映像ビットストリームから変換ブロックシグナリング情報が取得される。変換ブロックシグナリング情報は、sps_mts_enabled_flagのフラグ、sps_explicit_mts_intra_enabled_flagのフラグ、又は変換スキップモード(TSM)のフラグ、又はこれらに類するもののうちの少なくとも1つを含むことができる。変換ブロックシグナリング情報はまた、LFNSTインデックス(lfnst_idx)又はMIPフラグ(intra_mip_flag)を含むことができる。sps_mts_enabled_flagのフラグが真としてシグナリングされるが、sps_explicit_mts_intra_enabled_flagのフラグ及びsps_explicit_mts_inter_enabled_flagのフラグの両方が偽としてシグナリングされる場合、一次変換タイプ選択に暗示的変換スキームが適用される。
(S1520)にて、変換ブロックシグナリング情報が暗示的変換スキームを指し示すか、及び低周波非分離型変換(LFNST)及び行列ベースイントラ予測モード(MIP)のうち少なくとも一方に障害があるかの判定が、デコーダによって為され得る。暗示的変換スキームが適用され、且つ低周波非分離型変換(LFNST)及び行列ベースイントラ予測モード(MIP)のうち少なくとも一方に障害がある場合、プロセス1500は(S1530)に進む。
(S1530)にて、変換ブロックシグナリング情報が暗示的変換スキームを指し示し、且つLFNST及びMIPのうち少なくとも一方が障害あるとしてシグナリングされているとの判定に応答して、符号化ブロックユニット(CU)のサイズに基づいて一次変換タイプが決定される。そして、プロセス1500は(S1540)に進み、そこで、決定された一次変換タイプに従って、CUから分割される変換ブロックに対して一次変換を実行される。
(S1520)にて、判定が、暗示的変換スキームが適用されるが、低周波非分離型変換(LFNST)及び行列ベースイントラ予測モード(MIP)のうち少なくとも一方が真であるというものである場合、プロセス1500は(S1550)に進み、そこで、この判定に応答して、DCT-2、又はDCT-7以外の変換タイプが選択され得る。DCT-7以外の変換タイプは、アダマール変換、DST-1、DCT-5、COT、及びKLTを含み得る。
上述の技術は、1つ以上のコンピュータ読み取り可能媒体に物理的に格納された、コンピュータ読み取り可能命令を用いたコンピュータソフトウェアとして、実装されることができる。例えば、図16は、開示に係る事項の特定の実施形態を実装するのに好適なコンピュータシステム(1600)を示している。
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク、又は同様の機構に掛けられることで、直接的に又はインタープリット、マイクロコード実行及びこれらに類するものを介して1つ以上のコンピュータ中央演算処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、及びこれらに類するものによって実行されることが可能な命令を有するコードを作り出し得るような、任意の好適な機械コード又はコンピュータ言語を用いてコード化され得る。
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム装置、モノのインターネット装置、及びこれらに類するものを含め、様々なタイプのコンピュータ又はそのコンポーネント上で実行され得る。
コンピュータシステム(1600)に関して図16に示したコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用又は機能性の範囲についての何らかの限定を示唆する意図はない。また、コンポーネントの構成も、コンピュータシステム(1600)のこの例示的な実施形態に示されたコンポーネントの任意の1つ又は組み合わせに関する何らかの従属性又は要件も持つものとして解釈されるべきでない。
コンピュータシステム(1600)は、特定のヒューマンインタフェース入力装置を含んでもよい。そのようなヒューマンインタフェース入力装置は、例えば、触覚入力(例えば、キーストローク、スワイプ、データグローブを動かすことなど)、オーディオ入力(例えば、音声、拍手など)、視覚入力(例えば、ジェスチャなど)、嗅覚入力(図示せず)を介した、一人以上の人間ユーザによる入力に応答し得る。ヒューマンインタフェース装置はまた、例えばオーディオ(例えば、会話、音楽、周囲の音など)、画像(例えば、走査画像、静止画カメラから得られる写真画像など)、映像(例えば、二次元映像、立体視映像を含む3次元映像など)などの、人間による意識的な入力には必ずしも直接関係しない特定の媒体を捕捉するために使用されてもよい。
入力ヒューマンインタフェース装置は、キーボード(1601)、マウス(1602)、トラックパッド(1603)、タッチスクリーン(1610)、データグローブ(図示せず)、ジョイスティック(1605)、マイクロフォン(1606)、スキャナ(1607)、カメラ(1608)(各々1つのみ図示している)のうちの1つ以上を含み得る。
コンピュータシステム(1600)はまた、特定のヒューマンインタフェース出力装置を含み得る。そのようなヒューマンインタフェース出力装置は、例えば、触覚出力、音、光、及び臭い/味を通して、一人以上の人間ユーザの感覚を刺激し得る。そのようなヒューマンインタフェース出力装置は、触覚出力装置(例えば、タッチスクリーン(1610)、データグローブ(図示せず)、又はジョイスティック(1605)による触覚フィードバックであるが、入力装置として機能しない触覚フィードバック装置もあってもよい)、オーディオ出力装置(例えば、スピーカー(1609)、ヘッドフォン(図示せず)など)、視覚出力装置(例えば、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(1610)(各々がタッチスクリーン入力機能を有する又は有さない。各々が触覚フィードバック機能を有する又は有さない。これらの一部は、二次元の視覚出力、又は例えば立体視出力などの手段を通じて四次元以上の出力を出力することができるとし得る。)、仮想現実グラス(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず)など)、及びプリンタ(図示せず)を含み得る。
コンピュータシステム(1600)はまた、例えば、CD/DVD若しくは類似の媒体(1621)を有するCD/DVD ROM/RW(1620)を含む光媒体、サムドライブ(1622)、取り外し可能なハードドライブ若しくは又はソリッドステートドライブ(1623)、例えばテープ及びフロッピーディスク(登録商標、図示せず)などのレガシー磁気媒体、例えばセキュリティドングルなどの特殊化されたROM/ASIC/PLDベースの装置(図示せず)、及びこれらに類するものなどの、人間アクセス可能なストレージ装置及びそれらの関連媒体を含み得る。
当業者がこれまた理解するはずのことには、ここでの開示に係る事項に関連して使用される用語“コンピュータ読み取り可能媒体”は、伝送媒体、搬送波、又は他の一時的な信号を含まない。
コンピュータシステム(1600)はまた、1つ以上の通信ネットワークへのインタフェースを含み得る。ネットワークは、例えば、無線、有線、光とし得る。ネットワークは更に、ローカル、広域、大都市、車両及び産業、リアルタイム、耐遅延などとし得る。ネットワークの例は、例えばイーサネット(登録商標)などのローカルエリアネットワークや、無線LANや、GSM、3G、4G、5G、LTE及びこれらに類するものを含むセルラネットワークや、ケーブルTV、衛星TV、及び地上波放送TVを含むTV有線又は無線広域デジタルネットワークや、CANBusを含む車両及び産業などを含む。特定のネットワークは一般に、特定の汎用データポート又はペリフェラルバス(1649)(例えば、コンピュータシステム(1600)のUSBポートなど)に取り付けられる外付けネットワークインタフェースアダプタを必要とし、他のものは一般に、後述のシステムバスへの取り付けによってコンピュータシステム(1600)のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインタフェース、又はスマートフォンコンピュータシステムへのセルラネットワークインタフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム(1600)は、他のエンティティと通信することができる。そのような通信は、単方向の受信のみ(例えば、放送TV)であってもよいし、単方向の送信のみ(例えば、特定のCANbus装置に対するCANbus)であってもよいし、あるいは、例えばローカル又は広域デジタルネットワークを用いた他のコンピュータシステムに対しての、双方向であってもよい。特定のプロトコル及びプロトコルスタックが、上述のようにネットワーク及びネットワークインタフェースの各々上で使用され得る。
前述のヒューマンインタフェース装置、人間アクセス可能なストレージ装置、及びネットワークインタフェースは、コンピュータシステム(1600)のコア(1640)に取り付けられることができる。
コア(1640)は、1つ以上の中央演算処理ユニット(CPU)(1641)、グラフィックス処理ユニット(GPU)(1642)、フィールドプログラマブルゲートアレイ(FPGA)(1643)の形態の特殊なプログラム可能なプロセッシングユニット、特定のタスク用のハードウェアアクセラレータ(1644)などを含み得る。これらのデバイスは、読み出し専用メモリ(ROM)(1645)、ランダムアクセスメモリ(1646)、例えば内部のユーザアクセス可能でないハードドライブ、SSDなどの内部大容量ストレージ(1647)、及びこれらに類するもの(1647)と共に、システムバス(1648)を介して接続され得る。一部のコンピュータシステムにおいて、システムバス(1648)は、追加のCPU、GPU、及びこれらに類するものによる拡張を可能にするために、1つ以上の物理プラグの形態でアクセス可能にされ得る。周辺装置は、コアのシステムバス(1648)に直接的に、又はペリフェラルバス(1649)を介して、のいずれで取り付けられてもよい。ペリフェラルバスのアーキテクチャは、PCI、USB、及びこれらに類するものを含む。
CPU(1641)、GPU(1642)、FPGA(1643)、及びアクセラレータ(1644)は、組み合わさって前述のコンピュータコードを構成することができる特定の命令を実行し得る。そのコンピュータコードは、ROM(1645)又はRAM(1646)に格納され得る。RAM(1646)には過渡的なデータも格納されることができ、永久的なデータは、例えば内部大容量ストレージ(1647)に格納されることができる。メモリデバイスのいずれかへの高速な記憶及び取り出しが、1つ以上のCPU(1641)、GPU(1642)、大容量ストレージ(1647)、ROM(1645)、RAM(1646)、及びこれらに類するものの近くに付随し得るキャッシュメモリの使用によって可能にされ得る。
コンピュータ読み取り可能媒体はその上に、様々なコンピュータ実装処理を実行するためのコンピュータコードを有することができる。媒体及びコンピュータコードは、本開示の目的に合わせて特別に設計及び構築されたものであってもよいし、あるいは、それらは、コンピュータソフトウェア技術の当業者にとって周知且つ利用可能な種類のものであってもよい。
一例として、限定ではなく、アーキテクチャ(1600)、特にコア(1640)、を有するコンピュータシステムは、1つ以上の有形のコンピュータ読み取り可能媒体に具現化されたソフトウェアを(1つ以上の)プロセッサ(CPU、GPU、FPGA、アクセラレータ、及びこれらに類するものを含む)が実行することの結果として機能を提供することができる。そのようなコンピュータ読み取り可能媒体は、例えばコア内部の大容量ストレージ(1647)又はROM(1645)などの、非一時的性質のものであるコア(1640)の特定のストレージ、及び上で紹介したようなユーザアクセス可能な大容量ストレージに関連する媒体とすることができる。本開示の様々な実施形態を実装するソフトウェアは、そのような装置に格納され、コア(1640)によって実行されることができる。コンピュータ読み取り可能媒体は、具体的なニーズに従って、1つ以上のメモリデバイス又はチップを含み得る。ソフトウェアは、コア(1640)及び特にその中のプロセッサ(CPU、GPU、FPGA、及びこれらに類するものを含む)に、RAM(1646)に格納されるデータ構造を規定すること、及びそのようなデータ構造を、ソフトウェアによって規定されたプロセスに従って変更することを含めて、ここに記載された特定のプロセスを又は特定のプロセスの特定の部分を実行させることができる。加えて、又は代替として、コンピュータシステムは、ここに記載された特定のプロセスを又は特定のプロセスの特定の部分を実行するようにソフトウェアの代わりに又はソフトウェアと共に動作することができる回路(例えば、アクセラレータ(1644))にて配線された又はその他の方法で具体化されたロジックの結果として、機能を提供してもよい。ソフトウェアへの言及はロジックを含み、また、適当な場合にその逆もまた然りである。コンピュータ読み取り可能媒体への言及は、実行のためのソフトウェアを格納した回路(例えば、集積回路(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(ビデオユーザビリティ情報)
GOPs:Groups of Pictures(グループ・オブ・ピクチャ)
TUs:Transform Units,(変換ユニット)
PUs:Prediction Units(予測ユニット)
CTUs:Coding Tree Units(符号化ツリーユニット)
CTBs:Coding Tree Blocks(符号化ツリーブロック)
PBs:Prediction Blocks(予測ブロック)
HRD:Hypothetical Reference Decoder(仮説的リファレンスデコーダ)
SNR:Signal Noise Ratio(信号対雑音比)
CPUs:Central Processing Units(中央演算処理ユニット)
GPUs: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 Areas(フィールドプログラマブルゲートアレイ)
SSD:solid-state drive(ソリッドステートドライブ)
IC:Integrated Circuit(集積回路)
CU:Coding Unit(符号化ユニット)
この開示は幾つかの例示的な実施形態を記述しているが、開示の範囲に入る変更、置換、及び様々な均等な代替が存在する。従って、理解されることには、当業者は、ここでは明示的に図示されたり説明されたりしていないものの、開示の原理を具体化し、それ故に、その精神及び範囲の中にあるような、数多くのシステム及び方法を考案することができるであろう。

Claims (12)

  1. エンコーダが実行する映像符号化の方法であって、
    コーディングユニット(CU)に対して、(i)暗示的変換スキームが有効にされるか、及び(ii)低周波非分離型変換(LFNST)及び行列ベースイントラ予測モード(MIP)のうち少なくとも一方が無効であるかを判定するステップと、
    暗示的変換スキームが有効にされ、且つ前記LFNST及び前記MIPのうち少なくとも一方が無効である、との判定に応答して、前記CUのサイズに基づいて一次変換タイプを決定するステップと、
    前記決定した一次変換タイプに従って、前記CUから分割される変換ブロックに対して一次変換を実行するステップと、
    前記CUの前記一次変換タイプを示す符号化ビットストリームを出力するステップと、
    を有する方法。
  2. 前記一次変換タイプを決定するステップは、
    変換スキップモードが有効にされるかを判定し、且つ
    前記変換スキップモードが有効にされるとの判定に応答して、
    (i)前記CUの幅がT1以上であり且つT2以下であることに応じて、前記変換ブロックに対する水平変換に関して変換タイプDST-7を決定し、
    (ii)前記CUの前記幅がT1より小さい又はT2より大きいことに応じて、前記変換ブロックに対する前記水平変換に関して変換タイプDCT-2を決定し、
    (iii)前記CUの高さがT1以上であり且つT2以下であることに応じて、前記変換ブロックに対する垂直変換に関して変換タイプDST-7を決定し、
    (iv)前記CUの前記高さがT1より小さい又はT2より大きいことに応じて、前記変換ブロックに対する前記垂直変換に関して変換タイプDCT-2を決定する、
    ことを有する、請求項1に記載の方法。
  3. 前記T1は、2ピクセル、4ピクセル、又は8ピクセルのうちの1つに等しく、前記T2は、4ピクセル、8ピクセル、16ピクセル、又は32ピクセルのうちの1つに等しい、請求項2に記載の方法。
  4. 前記暗示的変換スキームが有効にされ、且つ前記LFNST又は前記MIPのうち前記少なくとも一方が有効である、との判定に応答して、当該方法は、
    (i)前記変換ブロックに関して第1の変換タイプDCT-2を決定するステップ、及び
    (ii)前記変換ブロックに関して、DCT-7ではない第2の変換タイプを決定するステップであり、該第2の変換タイプは、アダマール変換、DST-1、DCT-5、複合正規直交変換(COT)、又はカルーネン・レーベ変換のうち少なくとも1つを含む、ステップと、
    のうち少なくとも一方を有する、請求項1に記載の方法。
  5. 前記暗示的変換スキームが有効にされ、且つ前記MIPが無効であって前記変換ブロックに対して前記MIPが適用されないことを指し示す、との判定に応答して、当該方法は、
    (i)前記CUの幅がT1以上であり且つT2以下であることに応じて、前記変換ブロックに対する水平変換に関して変換タイプDST-7を決定するステップ、
    (ii)前記CUの前記幅がT1より小さい又はT2より大きいことに応じて、前記変換ブロックに対する前記水平変換に関して変換タイプDCT-2を決定するステップ、
    (iii)前記CUの高さがT1以上であり且つT2以下であることに応じて、前記変換ブロックに対する垂直変換に関して変換タイプDST-7を決定するステップ、及び
    (iv)前記CUの前記高さがT1より小さい又はT2より大きいことに応じて、前記変換ブロックに対する前記垂直変換に関して変換タイプDCT-2を決定するステップ、
    のうち少なくとも1つを有する、請求項1に記載の方法。
  6. 前記T1及び前記T2は、
    T1は2ピクセルに等しく、T2は、4ピクセル又は8ピクセルのうちの一方に等しいこと、
    T1は4ピクセルに等しく、T2は、4ピクセル又は8ピクセルのうちの一方に等しいこと、
    T1は8ピクセルに等しく、T2は、8ピクセル、16ピクセル、又は32ピクセルのうちの1つに等しいこと、及び
    T1は16ピクセルに等しく、T2は、16ピクセル又は32ピクセルのうちの一方に等しいこと、
    のうち少なくとも1つを指し示す、請求項5に記載の方法。
  7. 前記暗示的変換スキームが有効にされ、且つ前記LFNST及び前記MIPの双方が無効であって前記変換ブロックに対して前記LFNSTも前記MIPも適用されないことを指し示す、との判定に応答して、当該方法は、
    (i)前記CUの幅がT1以上であり且つT2以下であることに応じて、前記変換ブロックに対する水平変換に関して変換タイプDST-7を決定するステップ、
    (ii)前記CUの前記幅がT1より小さい又はT2より大きいことに応じて、前記変換ブロックに対する前記水平変換に関して変換タイプDCT-2を決定するステップ、
    (iii)前記CUの高さがT1以上であり且つT2以下であることに応じて、前記変換ブロックに対する垂直変換に関して変換タイプDST-7を決定するステップ、及び
    (iv)前記CUの前記高さがT1より小さい又はT2より大きいことに応じて、前記変換ブロックに対する前記垂直変換に関して変換タイプDCT-2を決定するステップ、
    のうち少なくとも1つを有する、請求項1に記載の方法。
  8. エンコーダが実行する映像符号化の方法であって、
    コーディングユニット(CU)のサイズに基づいて、複数の変換タイプから一次変換タイプを決定するステップと、
    前記決定した一次変換タイプに従って、前記CUから分割される変換ブロックに対して一次変換を実行するステップと、
    を有し、
    前記CUの前記サイズが第1の範囲内であることに応じて、前記一次変換タイプは、第1の一次変換タイプとして決定され、
    前記CUの前記サイズが第2の範囲内であることに応じて、前記一次変換タイプは、前記第1の一次変換タイプ又は第2の一次変換タイプのうちの一方であるように決定され、
    前記CUの前記サイズが第3の範囲内であることに応じて、前記一次変換タイプは、前記第2の一次変換タイプとして決定される、
    方法。
  9. 前記決定するステップは、
    (i)前記CUの前記サイズが、前記CUの幅がT1以上であり且つT2以下であることを示す前記第1の範囲内であることに応じて、前記変換ブロックに対する水平変換に関して前記一次変換タイプがDST-7であると決定すること、
    (ii)前記CUの前記サイズが、前記CUの前記幅がT2より大きく且つT3以下であることを示す前記第2の範囲内であることに応じて、前記変換ブロックの前記水平変換に関して前記一次変換タイプがDST-7及びDCT-2のうちの一方であると決定すること、
    (iii)前記CUの前記サイズが、前記CUの前記幅がT1より小さい又はT3より大きいことを示す前記第3の範囲内であることに応じて、前記変換ブロックに対する前記水平変換に関して前記一次変換タイプがDCT-2であると決定すること、
    のうち少なくとも1つを有する、請求項8に記載の方法。
  10. 前記決定するステップは、
    (i)前記CUの前記サイズが、前記CUの高さがT1以上であり且つT2以下であることを示す前記第1の範囲内であることに応じて、前記変換ブロックに対する垂直変換に関して前記一次変換タイプがDST-7であると決定すること、
    (ii)前記CUの前記サイズが、前記CUの前記高さがT2より大きく且つT3以下であることを示す前記第2の範囲内であることに応じて、前記変換ブロックの前記垂直変換に関して前記一次変換タイプがDST-7及びDCT-2のうちの一方であることと決定すること、
    (iii)前記CUの前記サイズが、前記CUの前記高さがT1より小さい又はT3より大きいことを示す前記第3の範囲内であることに応じて、前記変換ブロックに対する前記垂直変換に関して前記一次変換タイプがDCT-2であると決定すること、
    のうち少なくとも1つを有する、請求項9に記載の方法。
  11. 前記T1は、2ピクセル、4ピクセル、又は8ピクセルのうちの1つに等しく、前記T2は、4ピクセル、8ピクセル、16ピクセル、又は32ピクセルのうちの1つに等しい、前記T3は、8ピクセル、16ピクセル、32ピクセル、又は64ピクセルのうちの1つに等しい、請求項10に記載の方法。
  12. 映像符号化のための装置であって、
    プログラムを格納した少なくとも1つのメモリと、
    少なくとも1つのプロセッサと、
    を有し、
    前記プログラムは、前記少なくとも1つのプロセッサに、請求項1乃至11のいずれか一項に記載の方法を実行させる、
    装置。
JP2023078207A 2019-06-07 2023-05-10 映像符号化方法及び装置 Active JP7521061B2 (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201962858887P 2019-06-07 2019-06-07
US62/858,887 2019-06-07
US16/883,545 2020-05-26
US16/883,545 US11212545B2 (en) 2019-06-07 2020-05-26 Method and apparatus for improved implicit transform selection
PCT/US2020/035529 WO2020247306A1 (en) 2019-06-07 2020-06-01 Method and apparatus for improved implicit transform selection
JP2021538738A JP7279168B2 (ja) 2019-06-07 2020-06-01 映像復号方法及び装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2021538738A Division JP7279168B2 (ja) 2019-06-07 2020-06-01 映像復号方法及び装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2024110633A Division JP2024133137A (ja) 2019-06-07 2024-07-10 映像復号方法及び装置

Publications (3)

Publication Number Publication Date
JP2023090947A JP2023090947A (ja) 2023-06-29
JP2023090947A5 JP2023090947A5 (ja) 2023-10-10
JP7521061B2 true JP7521061B2 (ja) 2024-07-23

Family

ID=73651839

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021538738A Active JP7279168B2 (ja) 2019-06-07 2020-06-01 映像復号方法及び装置
JP2023078207A Active JP7521061B2 (ja) 2019-06-07 2023-05-10 映像符号化方法及び装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2021538738A Active JP7279168B2 (ja) 2019-06-07 2020-06-01 映像復号方法及び装置

Country Status (9)

Country Link
US (3) US11212545B2 (ja)
EP (1) EP3981153A4 (ja)
JP (2) JP7279168B2 (ja)
KR (1) KR20210111857A (ja)
CN (2) CN117998085A (ja)
AU (2) AU2020286361B2 (ja)
CA (1) CA3136374A1 (ja)
SG (1) SG11202110795TA (ja)
WO (1) WO2020247306A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020156464A1 (en) * 2019-01-31 2020-08-06 Mediatek Inc. Method and apparatus of combined inter and intraprediction for video coding
WO2020246849A1 (ko) * 2019-06-06 2020-12-10 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
US11695960B2 (en) * 2019-06-14 2023-07-04 Qualcomm Incorporated Transform and last significant coefficient position signaling for low-frequency non-separable transform in video coding
BR112021006724A2 (pt) * 2019-06-25 2022-02-01 Guangdong Oppo Mobile Telecommunications Corp Ltd Método de conversão de figuração em código aplicado a um codificador, método de decodificação de figuração aplicado a um decodificador, decodificador, e mídia de armazenamento legível por computador
CN114365495A (zh) * 2019-09-09 2022-04-15 北京字节跳动网络技术有限公司 帧内块复制编码与解码
MX2022005105A (es) * 2019-10-29 2022-08-04 Lg Electronics Inc Metodo de codificacion de imagenes a base de transformacion y aparato para el mismo.
CN114762340B (zh) * 2019-11-01 2024-09-10 Lg电子株式会社 编译图像的基于变换的方法及其装置
JP2023500298A (ja) * 2019-11-01 2023-01-05 エルジー エレクトロニクス インコーポレイティド 変換に基づく画像コーディング方法及びその装置
CN115918071A (zh) * 2020-06-18 2023-04-04 交互数字Vc控股法国有限公司 使变换过程自适应于基于神经网络的帧内预测模式
CN113207002B (zh) * 2021-02-21 2022-07-26 腾讯科技(深圳)有限公司 视频编解码方法、装置、计算机可读介质及电子设备
CN118511519A (zh) * 2022-01-07 2024-08-16 联发科技股份有限公司 变换编解码的信号
WO2024174828A1 (en) * 2023-02-24 2024-08-29 Mediatek Inc. Method and apparatus of transform selection depending on intra prediction mode in video coding system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017195555A1 (ja) 2016-05-13 2017-11-16 シャープ株式会社 画像復号装置および画像符号化装置
WO2019009129A1 (ja) 2017-07-03 2019-01-10 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
WO2019069782A1 (ja) 2017-10-06 2019-04-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7330509B2 (en) 2003-09-12 2008-02-12 International Business Machines Corporation Method for video transcoding with adaptive frame rate control
US8238442B2 (en) 2006-08-25 2012-08-07 Sony Computer Entertainment Inc. Methods and apparatus for concealing corrupted blocks of video data
US7983496B2 (en) 2007-06-26 2011-07-19 Mitsubishi Electric Research Laboratories, Inc. Inverse tone mapping for bit-depth scalable image coding adapted to variable block sizes
US8085852B2 (en) 2007-06-26 2011-12-27 Mitsubishi Electric Research Laboratories, Inc. Inverse tone mapping for bit-depth scalable image coding
US8526495B2 (en) 2010-11-22 2013-09-03 Mediatek Singapore Pte. Ltd. Apparatus and method of constrained partition size for high efficiency video coding
US9049452B2 (en) 2011-01-25 2015-06-02 Mediatek Singapore Pte. Ltd. Method and apparatus for compressing coding unit in high efficiency video coding
US9380319B2 (en) 2011-02-04 2016-06-28 Google Technology Holdings LLC Implicit transform unit representation
US9788019B2 (en) 2011-03-09 2017-10-10 Hfi Innovation Inc. Method and apparatus of transform unit partition with reduced complexity
US9769472B2 (en) 2011-08-17 2017-09-19 Mediatek Singapore Pte. Ltd. Method and apparatus for Intra prediction using non-square blocks
US9467701B2 (en) * 2012-04-05 2016-10-11 Qualcomm Incorporated Coded block flag coding
GB2501535A (en) 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
EP2853096A4 (en) 2012-05-21 2016-07-06 Mediatek Singapore Pte Ltd METHOD AND APPARATUS FOR FILTERING BETWEEN LAYERS FOR SCALABLE VIDEO CODING
EP3069514B1 (en) 2013-11-14 2021-01-06 HFI Innovation Inc. Method of video coding using prediction based on intra picture block copy
KR102068828B1 (ko) 2014-09-30 2020-01-22 에이치에프아이 이노베이션 인크. 비디오 코딩을 위한 적응적 모션 벡터 레졸루션 방법
US10306229B2 (en) 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
CN107534783B (zh) 2015-02-13 2020-09-08 联发科技股份有限公司 图像中区块的调色板索引图编解码方法
AU2016253924B2 (en) 2015-04-29 2018-11-01 Hfi Innovation Inc. Method and apparatus for intra block copy reference list construction
WO2016192594A1 (en) 2015-05-29 2016-12-08 Hfi Innovation Inc. Method of decoded picture buffer management for intra block copy mode
KR102206503B1 (ko) 2015-10-19 2021-01-22 미디어텍 인크. 인트라 블록 복사를 사용하는 비디오 코딩 시스템에서의 디코딩된 픽처 버퍼 관리를 위한 방법 및 장치
US20170150176A1 (en) * 2015-11-25 2017-05-25 Qualcomm Incorporated Linear-model prediction with non-square prediction units in video coding
US10397569B2 (en) 2016-06-03 2019-08-27 Mediatek Inc. Method and apparatus for template-based intra prediction in image and video coding
US10582195B2 (en) 2017-06-02 2020-03-03 Futurewei Technologies, Inc. Intra prediction using unequal weight planar prediction
US10595019B2 (en) 2017-09-20 2020-03-17 Futurewei Technologies, Inc. Noise suppression filter parameter estimation for video coding
US10609384B2 (en) 2017-09-21 2020-03-31 Futurewei Technologies, Inc. Restriction on sub-block size derivation for affine inter prediction
US10432929B2 (en) 2018-02-12 2019-10-01 Tencent America LLC Method and apparatus for multiple line intra prediction in video compression
US10567801B2 (en) 2018-03-07 2020-02-18 Tencent America LLC Method and apparatus for video coding with primary and secondary transforms
US10609402B2 (en) 2018-05-02 2020-03-31 Tencent America LLC Method and apparatus for prediction and transform for small blocks
US10536720B2 (en) 2018-05-07 2020-01-14 Tencent America LLC Method, apparatus and medium for decoding or encoding
US10462486B1 (en) 2018-05-07 2019-10-29 Tencent America, Llc Fast method for implementing discrete sine transform type VII (DST 7)
US10587885B2 (en) 2018-06-04 2020-03-10 Tencent America LLC Method and apparatus for merge mode with additional middle candidates in video coding
US10567752B2 (en) 2018-07-02 2020-02-18 Tencent America LLC Method and apparatus for intra prediction for non-square blocks in video compression
US10609403B2 (en) 2018-07-09 2020-03-31 Tencent America LLC Method and apparatus for block partition with non-uniform quad split
CA3123193C (en) 2018-12-19 2024-02-13 Lg Electronics Inc. Video coding method on basis of secondary transform, and device for same
JP2022534999A (ja) * 2019-05-31 2022-08-04 インターデジタル ヴイシー ホールディングス, インコーポレイテッド 暗黙的多重変換選択の変換選択
CN113994666A (zh) * 2019-06-06 2022-01-28 北京字节跳动网络技术有限公司 隐式选择变换候选

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017195555A1 (ja) 2016-05-13 2017-11-16 シャープ株式会社 画像復号装置および画像符号化装置
WO2019009129A1 (ja) 2017-07-03 2019-01-10 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
WO2019069782A1 (ja) 2017-10-06 2019-04-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法

Also Published As

Publication number Publication date
WO2020247306A1 (en) 2020-12-10
EP3981153A1 (en) 2022-04-13
AU2023202827A1 (en) 2023-05-25
US11831889B2 (en) 2023-11-28
KR20210111857A (ko) 2021-09-13
EP3981153A4 (en) 2023-05-10
US20200389661A1 (en) 2020-12-10
CN113615187A (zh) 2021-11-05
AU2023202827B2 (en) 2024-05-02
CN113615187B (zh) 2023-12-22
JP7279168B2 (ja) 2023-05-22
US20240048745A1 (en) 2024-02-08
US20220124356A1 (en) 2022-04-21
JP2022516732A (ja) 2022-03-02
AU2020286361A1 (en) 2021-10-28
SG11202110795TA (en) 2021-10-28
CN117998085A (zh) 2024-05-07
AU2020286361B2 (en) 2023-02-23
US11212545B2 (en) 2021-12-28
JP2023090947A (ja) 2023-06-29
CA3136374A1 (en) 2020-12-10

Similar Documents

Publication Publication Date Title
JP7521061B2 (ja) 映像符号化方法及び装置
JP7379647B2 (ja) ビデオコーディングおよびデコーディングのための方法、装置、媒体、およびプログラム
JP7187702B2 (ja) ビデオ符号化の方法、装置及びコンピュータ・プログラム
US11706454B2 (en) One-level transform split
JP7229355B2 (ja) 残差符号化を制御する方法、装置およびコンピュータ・プログラム
KR102550425B1 (ko) 비디오 코딩을 위한 방법 및 장치
JP7465918B2 (ja) デコーダが実行するビデオデコーディングのための方法及び装置、並びにエンコーダが実行するビデオエンコーディングのための方法
JP2024123248A (ja) 多重参照ライン・イントラ予測のための方法、装置及びコンピュータ・プログラム
JP2024096982A (ja) デカップリング変換パーティション分割
US11445206B2 (en) Method and apparatus for video coding
US11025937B2 (en) Method and apparatus for video coding
JP7512430B2 (ja) ゼロ残差フラグコーディング
JP7512422B2 (ja) 複数基準線イントラ予測と変換分割との間の調和した設計
RU2779901C1 (ru) Способ и устройство для улучшенного неявного выбора преобразования
JP2024133137A (ja) 映像復号方法及び装置
JP7523578B2 (ja) 多重変換選択を用いた適応スキャン
JP7504296B2 (ja) 非インターリーブ分離ツリー

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230929

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: 20240611

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240710

R150 Certificate of patent or registration of utility model

Ref document number: 7521061

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150