JP7301951B2 - 縮小された2次変換を用いて、ビデオ信号を処理する方法及び装置 - Google Patents

縮小された2次変換を用いて、ビデオ信号を処理する方法及び装置 Download PDF

Info

Publication number
JP7301951B2
JP7301951B2 JP2021502681A JP2021502681A JP7301951B2 JP 7301951 B2 JP7301951 B2 JP 7301951B2 JP 2021502681 A JP2021502681 A JP 2021502681A JP 2021502681 A JP2021502681 A JP 2021502681A JP 7301951 B2 JP7301951 B2 JP 7301951B2
Authority
JP
Japan
Prior art keywords
transform
block
index
inverse
quadratic
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
JP2021502681A
Other languages
English (en)
Other versions
JP2021517796A (ja
Inventor
ムンモ ク
サレヒファー メウディ
スンファン キム
ジェヒョン イム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LG Electronics Inc
Original Assignee
LG Electronics Inc
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 LG Electronics Inc filed Critical LG Electronics Inc
Publication of JP2021517796A publication Critical patent/JP2021517796A/ja
Priority to JP2023100843A priority Critical patent/JP2023120355A/ja
Application granted granted Critical
Publication of JP7301951B2 publication Critical patent/JP7301951B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods 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 a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Description

本発明は、ビデオ信号を処理する方法及び装置に関し、さらに具体的には4x4ブロックに適用することができるReduced Secondary Transform(RST)の設計、4x4 RST適用後に生成される変換係数の配置とスキャンの順及び適用される4x4 RSTを指定するための変換インデックスコーディング方法に関する。
次世代ビデオコンテンツは、高解像度(high spatial resolution)、高フレーム率(high frame rate)及び画像表現の高次元化(high dimensionality of scene representation)という特徴を有する。そのようなコンテンツを処理するためには、メモリ格納(memory storage)、メモリアクセス率(memory access rate)及び処理電力(processing power)の側面で多大な増加をもたらすだろう。
従って、次世代ビデオコンテンツをより効率的に処理するためのコーディングツールをデザインする必要がある。特に、変換(transform)を適用するとき、コーディング効率と複雑度の側面ではるかに効率的な変換を設計する必要がある。
本発明は、新たな変換デザインを反映するためのエンコーダ/デコーダの構造を提案する。
本発明は、4x4ブロックに適用することができるRSTの設計、4x4 RST適用後に生成される変換係数の配置とスキャンの順と適用される4x4 RSTを指定するための変換インデックスコーディング方法と構造を提案する。
本発明は、新しい変換デザインを介して複雑度を減らし、コーディング(符号化)効率を向上させる方法を提供する。
本発明は、4x4ブロックに適用することができるRSTの設計方法を提供する。
本発明は、4x4 RSTを適用する領域の構成、4x4 RST適用後に生成された変換係数の配置方法、配置された変換係数のスキャン順、ブロックごとに生成された変換係数を整列して合わせる方法などを提供する。
本発明は、4x4 RSTを指定する変換インデックスをコーディングする方法を提供する。
本発明は、4x4 RSTを適用した時許容されない領域に0(ゼロ)でない変換係数が存在することを確認して対応する変換インデックスを条件的にコーディングする方法を提供する。
本発明は、最後の0でない変換係数の位置をコーディングした後に、その変換インデックスを条件的にコーディングした後、許容されない位置に対しては、関連するレジデュアルコーディングを省略する方法を提供する。
本発明は、4x4 RST適用時ルマブロックとクロマブロックに各々異なる変換インデックスコーディングとレジデュアルコーディングを適用する方法を提供する。
本発明は、静止画または動画を符号化する際に4x4 RSTを適用して、他のNsst(non-separable secondary transform)を適用したときに比べて、計算量を大幅に削減することができる。
また、4x4 RSTを適用したときに、特定領域に有効な変換係数が存在しないという事実に着目して、4x4 RSTを指定する変換インデックスを条件的にコーディングして関連レジデュアルコーディングの最適化を適用して性能を向上させることができる。
このように、新しい低複雑度演算アルゴリズムを介して演算の複雑度を減らし、コーディング効率を向上させることができる。
本発明が適用される実施形態として、ビデオ信号のエンコードが行われるエンコーダの概略的なブロック図を示す。 本発明が適用される実施形態として、ビデオ信号のデコードが行われるデコーダの概略的なブロック図を示す。 本発明が適用できる実施形態として、図3AはQT(QuadTree、以下「QT」という)、図3BはBT(Binary Tree、以下「BT」という)、図3CはTT(Ternary Tree、以下「TT」という)図3DはAT(Asymmetric Tree、以下「AT」という)によるブロック分割構造を説明するための図である。 本発明が適用される実施形態として、エンコーダ内の変換及び量子化部120/130、逆量子化及び逆変換部140/150の概略的なブロック図を示す。 本発明が適用される実施形態として、デコーダ内の逆量子化及び逆変換部220/230の概略的なブロック図を示す。 本発明が適用される実施形態として、MTS(Multiple Transform Selection)が適用される変換設定グループ(transform configuration group)の表を示す図である。 本発明が適用される実施形態として、MTS(Multiple Transform Selection)が行われるエンコード過程を示すフローチャートである。 本発明が適用される実施形態として、MTS(Multiple Transform Selection)が行われるデコード過程を示すフローチャートである。 本発明が適用される実施形態として、MTSフラグとMTSインデックスをエンコードする過程を説明するためのフローチャートである。 本発明が適用される実施形態として、MTSフラグとMTSインデックスに基づいて、水平変換または垂直変換を行または列に適用するデコード過程を説明するためのフローチャートである。 本発明が適用される実施形態として、変換関連パラメータに基づいて逆変換を実行するフローチャートを示す。 本発明が適用される実施形態として、Nsstでイントラ予測モードごとに変換セット(transform set)を割り当てることを示すテーブルである。 本発明が適用される実施形態として、ギボンズ回転(Givens rotation)の計算フロー図を示す。 本発明が適用される実施形態として、ギボンズ回転層(Givens rotation layer)と置換(permutation)で構成され4x4 Nsstでの1ラウンド構成を示す。 本発明が適用される実施形態として、順方向縮小変換(forward reduced transform)と逆方向縮小変換(forward reduced transform)の動作を説明するためのブロック図である。 本発明が適用される実施形態として、逆方向スキャン順に基づいて64番目から17番目までの逆方向スキャンを実行する過程を示す図である。 本発明が適用される実施形態として、変換係数ブロック(変換ブロック)の3つの順方向スキャンの順を示す。 本発明が適用される実施形態として、左上側4x8ブロックで対角スキャン(diagonal scan)が適用され4x4 RSTが適用されたとき、有効な変換係数の位置と4x4ブロック別順方向スキャンの順を示す。 本発明が適用される実施形態として、左上側4x8ブロックで対角スキャン(diagonal scan)が適用され4x4 RSTが適用されたときに2つ 4x4ブロックの有効な変換係数を一つの4x4ブロックに合わせる場合を示す。 本発明が適用される実施形態として、縮小された2次変換に基づいて、ビデオ信号をエンコードするフローチャートを示す。 本発明が適用される実施形態として、縮小された2次変換に基づいて、ビデオ信号をデコードするフローチャートを示す。 本発明が適用される実施形態として、コンテンツのストリーミングシステム構造図を示す。
[発明の実施のための最良の形態]
本発明は、縮小された2次変換に基づいて、ビデオ信号を復元する方法において、前記ビデオ信号から2次変換インデックスを獲得するステップと前記2次変換インデックスに対応する2次変換(secondary transform)を誘導するステップと、ここで前記2次変換は、縮小された2次変換を意味し、前記縮小された2次変換は、N個のレジデュアルデータ(Nx1レジデュアルベクター)が入力されてL個(L <N)の変換係数データ(Lx1変換係数ベクトル)が出力される変換を示し、現在ブロック(NxN)についてエントロピーデコード及び逆量子化を実行して、変換係数ブロックを獲得するステップと、前記縮小された2次変換を用いて前記変換係数ブロックに対して逆方向2次変換を実行するステップと、前記逆方向2次変換が実行されたブロックの逆方向1次変換を実行するステップと、前記逆方向1次変換が実行されたブロックを用いて前記現在ブロックを復元するステップを含むことを特徴とする方法を提供する。
本発明において、前記縮小された2次変換は、前記現在ブロックの特定領域に適用され、前記特定領域は、前記現在ブロック内の左上側MxM(M≦N)領域であることを特徴とする。
本発明において、前記逆方向2次変換が実行されるとき、前記現在ブロック内の分割された4x4ブロックのそれぞれについて、4x4縮小された2次変換が適用されることを特徴とする。
本発明において、前記2次変換インデックスを獲得するかどうかは、前記変換係数ブロック内の最後の0でない変換係数の位置に基づいて決定されることを特徴とする。
本発明において、前記最後の0でない変換係数が特定領域に位置しない場合に前記2次変換インデックスは獲得され、前記特定領域は、前記縮小された2次変換が適用される場合、スキャン順によって変換係数を配置したとき、0でない変換係数が存在することができる位置を除外した残りの領域を示すことを特徴とする。
本発明において、前記方法は、前記ビデオ信号から前記現在ブロックの1次変換インデックスを獲得するステップと、ここで前記1次変換インデックスは、DST7及び/またはDCT8の組み合わせで構成された複数個の変換の組み合わせの内、いずれか1つに対応し、前記1次変換インデックスに対応する変換の組み合わせを誘導する段階をさらに含み、前記変換の組み合わせは、水平変換及び垂直変換で構成され、前記水平変換及び前記垂直変換は、前記DST7または前記DCT8の内、いずれか1つに対応され、前記逆方向1次変換は、前記変換の組み合わせを用いて実行されることを特徴とする。
本発明は、縮小された2次変換に基づいて、ビデオ信号を復元する装置において、前記ビデオ信号から2次変換インデックスを獲得する解析(Parsing:パッシング)部と、前記2次変換インデックスに対応する2次変換(secondary transform)を誘導する変換部と、ここで前記2次変換は、縮小された2次変換を意味し、前記縮小された2次変換は、N個のレジデュアルデータ(Nx1レジデュアルベクトル)が入力されてL個(L <N)の変換係数データ(Lx1変換係数ベクトル)が出力される変換を示し、現在ブロック(NxN)についてエントロピーデコードを実行するエントロピーデコード部と前記エントロピーデコードが行われた、現在ブロックに対して逆量子化を実行して、変換係数ブロックを獲得する逆量子化部と、前記縮小された2次変換を用いて前記変換係数ブロックに対して逆方向2次変換を実行し、前記逆方向2次変換が実行されたブロックの逆方向1次変換を実行する前記変換部と、前記逆方向1次変換が実行されたブロックを用いて前記現在ブロックを復元する復元部を含むことを特徴とする装置を提供する。
以下、添付の図面を参照して本発明の実施形態の構成とその作用を説明し、図面により説明される本発明の構成と作用は1つの実施形態として説明されるものであり、これにより本発明の技術的思想とその核心構成及び作用が制限されるものではない。
併せて、本発明で使われる用語はできる限り現在広く使われる一般的な用語を選択したが、特定の場合は出願人が任意に選定した用語を使用して説明する。そのような場合には該当部分の詳細説明でその意味を明確に記載するので、本発明の説明で使われた用語の名称だけで単純解析されてはならず、その該当用語の意味まで把握して解析されるべきであることを明らかにする。
また、本発明で使われる用語は発明を説明するために選択された一般的な用語であるが、類似の意味を有する他の用語がある場合、より適切な解析のために代替可能である。例えば、信号、データ、サンプル、ピクチャ、フレーム、ブロックなどの場合、各コーディング過程で適切に代替されて解析できるものである。また、パーティショニング(partitioning)、分解(decomposition)、スプリッティング(splitting)及び分割(division)などの場合にも各コーディング過程で適切に代替され解析できるものである。
本文書においてMTS(Multiple Transform Selection、以下「MTS」と称する)とは、少なくとも2つ以上の変換タイプを用いて変換を実行する方法を意味することができる。これはAMT(Adaptive Multiple Transform)またはEMT(Explicit Multiple Transform)とも表現することができ、同様に、mts_idxもAMT_idx、EMT_idx、tu_mts_idx、AMT_TU_idx、EMT_TU_idx、変換索引または変換組み合わせのインデックスなどのように表現することができ、本発明は、このような表現に限定されない。
図1は、本発明が適用される実施形態として、ビデオ信号のエンコードが行われるエンコーダの概略的なブロック図を示す。
図1に示すように、エンコーダ100は、画像分割部110、変換部120、量子化部130、逆量子化部140、逆変換部150、フィルタリング部160、復号ピクチャバッファ(DPB:Decoded Picture Buffer)170、インター予測部180、イントラ予測部185及びエントロピーエンコード部190を含んで構成される。
画像分割部110は、エンコーダ100に入力された入力画像(Input image)(又は、ピクチャ、フレーム)を1つ以上の処理ユニットに分割する。例えば、前記処理ユニットは、コーディングツリーユニット(CTU:Coding Tree Unit)、コーディングユニット(CU:Coding Unit)、予測ユニット(PU:Prediction Unit)又は変換ユニット(TU:Transform Unit)であり得る。
ただし、前記用語は、本発明に関する説明の便宜のために用いられるだけで、本発明は、当該用語の定義に限定されない。また、本明細書では説明の便宜のために、ビデオ信号をエンコード又はデコードする過程で用いられる単位としてコーディングユニットという用語を用いるが、本発明はそれに限定されなく、発明の内容に応じて適切に解析可能である。
エンコーダ100は、入力画像信号から、インター予測部180又はイントラ予測部185から出力された予測信号(prediction signal)を減算して残差信号(residual signal)を生成し、生成された残差信号は変換部120に送信される。
変換部120は、残差信号に変換技法を適用して変換係数(transform coefficient)を生成する。変換過程は、クアッドツリー(quadtree)構造の正方形ブロック、バイナリツリー(binarytree)構造、3進ツリー(ternary)構造又は非対称ツリー(asymmetric)構造により分割されたブロック(正方形又は長方形)に適用できる。
前記変換部120は、複数個の変換(または変換の組み合わせ)に基づいて変換を実行することができ、このような変換方式をMTS(Multiple Transform Selection)と称することができる。前記MTSはAMT(Adaptive Multiple Transform)またはEMT(Enhanced Multiple Transform)と称することもできる。
前記(MTSまたはAMT、EMT)は、複数個の変換(または変換の組み合わせ)から適応的に選択される変換(または変換の組み合わせ)に基づいて実行される変換方式を意味することができる。
前記複数個の変換(または変換の組み合わせ)は、本明細書の図6で説明する変換(または変換の組み合わせ)を含むことができる。本明細書において、前記変換または変換タイプは、例えば、DCT-Type 2、DCT-II、DCT2、DCT2のように表記することができる。
前記変換部120は次の実施形態を実行することができる。
本発明は、4x4ブロックに適用することができるRSTの設計方法を提供する。
本発明は、4x4 RSTを適用する領域の構成、4x4 RST適用後に生成された変換係数の配置方法、配置された変換係数のスキャン順、ブロックごとに生成された変換係数を整列して合わせる方法などを提供する。
本発明は、4x4 RSTを指定する変換インデックスをコーディングする方法を提供する。
本発明は、4x4 RSTを適用したとき許容されない領域に0でない変換係数が存在することを確認して対応する変換インデックスを条件的にコーディングする方法を提供する。
本発明は、最後の0でない変換係数の位置をコーディングした後に、その変換インデックスを条件的にコーディングした後、許容されない位置に対しては、関連するレジデュアルコーディングを省略する方法を提供する。
本発明は、4x4 RST適用時ルマブロックとクロマブロックに各々異なる変換インデックスコーディングとレジデュアルコーディングを適用する方法を提供する。
これに対する具体的な実施形態は、本明細書でより詳細に説明する。
量子化部130は、変換係数を量子化してエントロピーエンコーディング部190に送信し、エントロピーエンコーディング部190は、量子化された信号(quantized signal)をエントロピーコーディングしてビットストリームに出力することができる。
前記変換部120と、前記量子化部130は、別個の機能ユニットで説明されるが、本発明はこれに限定されず、一つの機能ユニットに結合することができる。前記逆量子化部140と、前記逆変換部150の場合にも、同様に一つの機能ユニットに結合することができる。
量子化部130から出力された量子化された信号(quantized signal)は、予測信号を生成するために用いることができる。例えば、量子化された信号(quantized signal)は、ループ内の逆量子化部140と逆変換部150を介して逆量子化と逆変換を適用することにより、残りの信号を復元することができる。復元された残りの信号をインター予測部180またはイントラ予測部185から出力された予測信号(prediction signal)に加えることで復元信号(reconstructed signal)が生成されることができる。
一方、前記のような圧縮過程で発生した量子化エラーによってブロック境界が見える劣化が発生することができる。このような現象をブロッキング劣化(blocking artifacts)と称し、これは画質を評価する重要な要素の一つである。このような劣化を低減するためにフィルタリング過程を行うことができる。このようなフィルタリング過程を介してブロッキング劣化を除去するとともに、現在ピクチャの誤差を減らすことによって、画質を向上させることになる。
フィルタリング部160は、復元信号にフィルタリングを適用して、これを再生装置に出力したり、復号ピクチャバッファ170に送信する。復号ピクチャバッファ170に送信されたフィルタリングされた信号は、インター予測部180で参照ピクチャとして用いることができる。このように、フィルタリングされたピクチャを画面間予測モードで参照ピクチャとして用いることにより、画質だけでなく、符号化効率も向上させることができる。
復号ピクチャバッファ170は、フィルタリングされたピクチャをインター予測部180からの参照ピクチャとして用いるために保存することができる。
インター予測部180は、復元ピクチャ(reconstructed picture)を参照して、時間的重複性及び/または空間的重複性を除去するために時間的予測、及び/または空間的予測を行う。ここで、予測を実行するために用いられる参照ピクチャは、以前の時間に符号化/復号化の時ブロック単位で量子化と逆量子化を経た変換された信号であるので、ブロッキングアーティファクト(blocking artifact)やリンギングアーティファクト(ringing artifact)が存在することができる。
したがって、インター予測部180は、このような信号の不連続や量子化による性能低下を解決するために、ローパスフィルタ(lowpass filter)を適用することにより、画素間の信号をサブピクセル単位で補間することができる。ここで、サブピクセルは、補間フィルタを適用して生成された仮想の画素を意味し、整数ピクセルは、復元されたピクチャに存在する実際の画素を意味する。補間方法としては、線形補間、バイリニア補間(bi-linear interpolation)、ウィーナーフィルタ(wiener filter)などが適用されることができる。
補間フィルタは、復元ピクチャ(reconstructed picture)に適用され、予測の精度を向上させることができる。例えば、インター予測部180は、整数ピクセルに補間フィルタを適用して補間画素を生成し、補間画素(interpolated pixels)で構成された補間ブロック(interpolated block)を予測ブロック(prediction block)として用いて予測を行うことができる。
一方、イントラ予測部185は、現在符号化を進行しようとするブロックの周辺にあるサンプルを参照して、現在ブロックを予測することができる。前記イントラ予測部185は、イントラ予測を実行するために、次のような過程を実行することができる。まず、予測信号を生成するために必要な参照サンプルを準備することができる。そして、準備されてサンプルを用いて予測信号を生成することができる。以後、予測モードを符号化することになる。このとき、参照サンプルは、参照サンプルパディング及び/または参照サンプルのフィルタリングを介して準備することができる。参照サンプルは、予測と復元の過程を経たため、量子化エラーが存在することができる。したがって、このようなエラーを減らすためにイントラ予測に用いられる各予測モードに対して参照サンプルのフィルタリング過程が実行されることができる。
前記インター予測部180または前記イントラ予測部185を介して生成された予測信号(prediction signal)は、復元信号を生成するために用いられるか、または残りの信号を生成するために用いることができる。
図2は、本発明が適用される実施形態であって、ビデオ信号のデコードが行われるデコーダの概略的なブロック図を示す。
図2を参照すると、デコーダ200は、解析部(図示せず)、エントロピーデコード部210、逆量子化部220、逆変換部230、フィルタリング部240、復号ピクチャバッファ(DPB: Decoded Picture Buffer Unit)250、インター予測部260及びイントラ予測部265を含みから構成されることができる。
そして、デコーダ200を介して出力された復元映像信号(reconstructed video signal)は、再生装置を介して再生することができる。
デコーダ200は、図1のエンコーダ100から出力された信号を受信することができ、受信された信号は、エントロピーデコード部210を介して、エントロピーデコードすることができる。
逆量子化部220では、量子化ステップサイズ情報を用いて、エントロピーデコードされた信号から変換係数(transform coefficient)を獲得する。
逆変換部230では、変換係数を逆変換して残りの信号(residual signal)を獲得することになる。
ここで、本発明は、予測モード、ブロックサイズまたはブロック状(block shape)の内、少なくとも1つによって区分される変換設定グループ(transform configuration group)別に変換の組み合わせ(transform combination)を構成する方法を提供し、前記逆変換部230は、本発明によって構成された変換の組み合わせに基づいて逆変換を行うことができる。また、本明細書で説明した実施形態が適用されることができる。
前記逆変換部230は次の実施形態を実行することができる。
本発明は、縮小された2次変換に基づいて、ビデオ信号を復元する方法を提供する。
前記逆変換部230は、2次変換インデックスに対応する2次変換(secondary transform)を誘導して、前記2次変換を用いて、変換係数ブロックに対して逆方向2次変換を実行し、前記逆方向2次変換が行われたブロックの逆方向1次変換を実行することができる。ここで、前記2次変換は、縮小された2次変換を意味し、前記縮小された2次変換は、N個のレジデュアルデータ(Nx1レジデュアルベクトル)が入力されてL個(L <N)の変換係数データ(Lx1変換係数ベクトル)が出力される変換を示す。
本発明において、前記縮小された2次変換は、前記現在ブロックの特定領域に適用され、前記特定領域は、前記現在ブロック内の左上側MxM(M≦N)領域であることを特徴とする。
本発明において、前記逆方向2次変換が実行されるとき、前記現在ブロック内の分割された4x4ブロックのそれぞれについて、4x4縮小された2次変換が適用されることを特徴とする。
本発明において、前記2次変換インデックスを獲得するかどうかは、前記変換係数ブロック内の最後の0でない変換係数の位置に基づいて決定されることを特徴とする。
本発明において、前記最後の0でない変換係数が特定領域に位置しない場合に前記2次変換インデックスは獲得され、前記特定領域は、前記縮小された2次変換が適用される場合、スキャン順によって変換係数を配置したとき、0でない変換係数が存在することができる位置を除外した残りの領域を示すことを特徴とする。
前記逆変換部230は、1次変換インデックスに対応する変換の組み合わせを誘導し、前記変換の組み合わせを用いて、逆方向1次変換を実行することができる。ここで前記1次変換インデックスは、DST7及び/またはDCT8の組み合わせで構成された複数個の変換の組み合わせの内、いずれか1つに対応され、前記変換の組み合わせは、水平変換及び垂直変換で構成される。この時、前記水平変換及び前記垂直変換は、前記DST7または前記DCT8の内、いずれか1つに対応される。
前記逆量子化部220と前記逆変換部230は、別個の機能ユニットとして説明されるが、本発明はこれに限定されなく、1つの機能ユニットに結合されてもよい。
獲得された残差信号をインター予測部260又はイントラ予測部265から出力された予測信号(prediction signal)に足すことにより、復元信号(reconstructed signal)が生成される。
フィルタリング部240は、復元信号(reconstructed signal)にフィルタリングを適用してこれを再生装置に出力するか、復号ピクチャバッファ部250に送信する。復号ピクチャバッファ部250に送信されたフィルタリングされた信号は、インター予測部260において参照ピクチャとして使用可能である。
本明細書において、エンコーダ100の変換部120及び各機能ユニットにおいて説明された実施形態は、それぞれデコーダの逆変換部230及び対応される機能ユニットにも同様に適用されることができる。
図3は、本発明が適用できる実施形態として、図3AはQT(QuadTree、以下「QT」という)、図3BはBT(Binary Tree、以下「BT」という)、図3CはTT(Ternary Tree、以下「TT」という)、図3DはAT(Asymmetric Tree、以下「AT」という)によるブロック分割構造を説明するための図である。
ビデオコーディングにおいて1つのブロックは、QT(QuadTree)ベースに分割されることができる。また、QTにより分割された1つのサブブロック(sub block)は、QTを使用して再帰的にさらに分割されることができる。これ以上QT分割されないリーフブロック(leaf block)は、BT(Binary Tree)、TT(Ternary Tree)又は AT(Asymmetric Tree)の少なくとも1つの方式により分割されることができる。BTは、horizontal BT(2N×N、2N×N)とvertical BT(N×2N、N×2N)の2つの形態の分割を有する。TTは、horizontal TT(2N×1/2N、2N×N、2N×1/2N)とvertical TT(1/2N×2N、N×2N、1/2N×2N)の2つの形態の分割を有する。ATは、horizontal-up AT(2Nx1/2N、2Nx3/2N)、horizontal-down AT(2N×3/2N、2N×1/2N)、vertical-left AT(1/2N×2N、3/2N×2N)、vertical-right AT(3/2N×2N、1/2N×2N)の4つの形態の分割を有する。それぞれのBT、TT、ATは、BT、TT、ATを使用して再帰的にさらに分割されることができる。
前記図3Aは、QT分割の例を示す。ブロックAは、QTにより4つのサブブロック(A0、A1、A2、A3)に分割される。サブブロックA1は、QTにより4つのサブブロック(B0、B1、B2、B3)にさらに分割される。
前記図3Bは、BT分割の例を示す。QTによりこれ以上分割されないブロックB3は、vertical BT(C0、C1)又はhorizontal BT(D0、D1)により分割される。ブロックC0のようにそれぞれのサブブロックは、horizontal BT(E0、E1)又はvertical BT(F0、F1)の形態のように再帰的にさらに分割されることができる。
前記図3Cは、TT分割の例を示す。QTによりこれ以上分割されないブロックB3は、vertical TT(C0、C1、C2)又はhorizontal TT(D0、D1、D2)により分割される。ブロックC1のようにそれぞれのサブブロックは、horizontal TT(E0、E1、E2)又はvertical TT(F0、F1、F2)の形態のように再帰的にさらに分割されることができる。
前記図3Dは、AT分割の例を示す。QTによりこれ以上分割されないブロックB3は、vertical AT(C0、C1)又はhorizontal AT(D0、D1)により分割される。ブロックC1のようにそれぞれのサブブロックはhorizontal AT(E0、E1)又はvertical TT(F0、F1)の形態のように再帰的にさらに分割されることができる。
一方、BT、TT、AT分割は共に使用して分割可能である。例えば、BT により分割されたサブブロックはTT又はATによる分割が可能である。また、TTにより分割されたサブブロックはBT又はATによる分割が可能である。ATにより分割されたサブブロックはBT又はTTによる分割が可能である。例えば、horizontal BT分割の後、それぞれのサブブロックがvertical BTにより分割されることができ、またはvertical BT分割の後、それぞれのサブブロックがhorizontal BTにより分割されることができる。前記2種類の分割方法は分割順は異なるが、最終的に分割される形状は同一である。
また、ブロックが分割されると、ブロックを探索する順を多様に定義することができる。一般に、左側から右側へ、上段から下段へ探索を行い、ブロックを探索するということは、各分割されたサブブロックの追加的なブロック分割を行うか否かを決定する順を意味するか、ブロックがこれ以上分割されない場合、各サブブロックのコーディング順を意味するか、又はサブブロックにおいて他の隣接ブロックの情報を参照するときの探索順を意味する。
図4及び図5は、本発明が適用される実施形態として、図4は、エンコーダ内の変換及び量子化部120/130、逆量子化及び逆変換部140/150の概略的なブロック図を示し、図5は、デコーダ内の逆量子化及び逆変換部220/230の概略的なブロック図を示す。
前記図4に示すように、変換及び量子化部120/130は、1次変換部(primary transform unit)121、2次変換部(secondary transform unit)122及び量子化部130を含む。逆量子化及び逆変換部140/150は、逆量子化部140、逆方向2次変換部(inverse secondary transform unit)151及び逆方向1次変換部(inverse primary transform unit)152を含む。
前記図5に示すように、逆量子化及び逆変換部220/230は、逆量子化部220、逆方向2次変換部(inverse secondary transform unit)231及び逆方向1次変換部(inverse primary transform unit)232を含む。
本発明において、変換を行うときに複数の段階を経て変換を行うことができる。例えば、図4のように、1次変換(primary transform)、2次変換(secondary transform)の2段階を適用することができ、又はアルゴリズムによってそれ以上の変換段階が用いられることもできる。ここで、前記1次変換(primary transform)は、主要変換(core transform)ということもできる。
前記1次変換部(primary transform unit)121は、残差信号に対して1次変換(primary transform)を適用し、ここで、前記1次変換(primary transform)は、エンコーダ及び/又はデコーダにおいてテーブルとして既に定義されることができる。
前記1次変換(primary transform)の場合、Discrete Cosine transform type 2(以下、「DCT2」という)が適用されることができる。または、特定した場合に限定してDiscrete Sine Transform-type 7(以下、「DST7」という。)が適用されることもできる。例えば、イントラ予測モードにおいて4×4ブロックに対してDST7が適用されることができる。
また、前記1次変換(primary transform)の場合、MTS(Multiple Transform Selection)の複数の変換(DST 7、DCT 8、DST 1、DCT 5)の組み合わせが適用されることもできる。例えば、図6が適用されることができる。
前記2次変換部(secondary transform unit)122は、1次変換された信号に対して2次変換(secondary transform)を適用することができ、ここで前記2次変換(secondary transform)は、エンコーダ及び/またはデコーダからテーブルに既定義されることができる。
一実施形態として、前記2次変換(secondary transform)は、Non-Separable Secondary Transform(以下、「Nsst」と称する)が条件的に適用することができる。例えば、前記Nsstはイントラ予測ブロックの場合にのみ適用され、予測モードグループごとに適用可能な変換セットを有することができる。
ここで、前記予測モードグループは、予測方向の対称性に基づいて設定されることができる。例えば、予測モード52と予測モード16は、予測モード34(対角方向)に基づいて対称であるので、1つのグループを形成して、同じ変換セット(transform set)が適用されることができる。この時、前記予測モード52の変換を適用するとき入力データをトランスポーズ(transpose)した後に適用し、これは予測モード16と変換セットが同じであるからである。
一方、プランナーモード(Planar mode)とDCモード(DC mode)の場合、方向の対称性が存在しないため、それぞれの変換セットを有し、その変換セットは、2つの変換で構成されることができる。残りの方向性モードに対しては、変換セットごとに3つの変換で構成されることができる。
他の実施形態として、前記2次変換(secondary transform)の場合、MTS(Multiple Transform Selection)のさまざまな変換(DST 7、DCT 8、DST 1、DCT 5)の組み合わせが適用されることもできる。
例えば、図6が適用されることができる。他の実施形態として、DST7が2次変換(secondary transform)で適用されることもできる。
他の実施形態として、前記Nsstは1次変換されたブロック全体に対して適用されるものではなく左上側(top-left)8x8の領域にのみ適用されることができる。例えば、ブロックのサイズが8x8以上の場合は、8x8 Nsstが適用され、8x8未満の場合は、4x4 Nsstが適用されるが、この時、4x4ブロックに分割後、それぞれ4x4 Nsstが適用される。
他の実施形態として、4xN/Nx4(N> = 16)である場合にも、4x4 Nsstが適用されることができる。
前記Nsst、4x4 Nsstと8x8 Nsstについては、以下、図12~15及び明細書の内、他の実施形態を介してより詳細に説明する。
前記量子化部130は、2次変換された信号に対して量子化を行うことができる。
前記逆量子化及び逆変換部(140/150)は、先に説明した過程を逆に実行し、重複する説明は省略する。
図5は、デコーダ内の逆量子化と逆変換部(220/230)の概略的なブロック図を示す。
前記図5を注意深く見ると、逆量子化及び逆変換部(220/230)は、逆量子化部220、逆2次変換部(inverse secondary transform unit)231と逆1次変換部(inverse primary transform unit) 232を含むことができる。
前記逆量子化部220では、量子化ステップサイズ情報を用いて、エントロピーデコードされた信号から変換係数(transform coefficient)を獲得する。
前記逆2次変換部(inverse secondary transform unit)231では、前記変換係数に対して逆2次変換を実行する。ここで、前記逆2次変換は、前記図4で説明した前記2次変換(secondary transform)の逆変換を示す。
他の実施形態として、前記2次変換の場合、MTS(Multiple Transform Selection)の様々な変換(DST 7、DCT 8、DST 1、DCT 5)の組み合わせが適用されることもできる。例えば、図6が適用されることができる。
前記逆1次変換部(inverse primary transform unit)232は、逆2次変換された信号(またはブロック)について逆1次変換を実行し、残りの信号(residualsignal)を獲得することになる。ここで、前記逆方向1次変換は、前記図4で説明した前記1次変換(primary transform)の逆変換を示す。
一実施形態で、前記1次変換(primary transform)の場合、MTS(Multiple Transform Selection)の様々な変換(DST 7、DCT 8、DST 1、DCT 5)の組み合わせが適用されることもできる。例えば、図6が適用されることができる。
本発明の一実施形態として、DST7が1次変換(primary transform)で適用されることもできる。
本発明の一実施形態として、DCT8が1次変換(primary transform)で適用されることもできる。
本発明は、予測モード、ブロックサイズまたはブロック状(blockshape)の内、少なくとも1つによって区分される変換設定グループ(transform configuration group)別に変換の組み合わせ(transform combination)を構成する方法を提供し、前記逆1次変換部(inverse primary transform unit)232は、本発明によって構成された変換の組み合わせに基づいて逆変換を行うことができる。また、本明細書で説明した実施形態が適用されることができる。
図6は、本発明が適用される実施形態として、MTS(Multiple Transform Selection)が適用される変換設定グループ(transform configuration group)を示す表である。
MTS(Multiple Transform Selection)が適用される変換設定グループ
本明細書においては、変換設定グループGiのj番目の変換の組み合わせの候補を次の数式(1)のようなペアで表示する。
[数1]
(H(Gi, j), V(Gi, j))
ここで、H(Gi、j)は、j番目の候補の水平変換(horizontal transform)を指し、V(Gi、j)は、j番目の候補の垂直変換(vertical transform)を指す。例えば、図6でH(G3、2)= DST7、V(G3、2)= DCT8のように表記することができる。文脈に応じてH(Gi、j)またはV(Gi、j)に割り当てられる値は、前記例示のように変換を区分するための表示上の値(nominal value)で有り得、その変換を指すインデックス値で有り得、その変換の2D行列(2 Dimensional matrix)で有り得る。
また、本明細書において、DCTとDSTの2D行列の値を次の数式2~3のように表記することができる。
[数2]
DCT type 2:、DCT type 8:
[数3]
DST type 7:、DST type 4:
ここで、DSTまたはDCTかどうかは、SまたはCで示し、type数字はローマ数字の形で上付きで表記し、下部添字のNはNxN変換であることを示す。また、前記―――のような2D行列は、列ベクトル(column vector)が変換基底(transform basis)をなすことを仮定する。
前記図6を注意深く見ると、変換設定グループ(transform configuration group)は、予測モードに基づいて決定され、グループの数は、総6個(G0~G5)で有り得る。そして、G0~G4は、イントラ予測が適用される場合に該当されG5はインター予測によって生成された残差(residual)ブロックに適用される変換の組み合わせ(または変換セット、変換の組み合わせセット)を示す。
一つの変換の組み合わせは、その2Dブロックの行(row)に適用される水平変換(horizontal transform)(または行変換(row transform))と列(column)に適用される垂直変換(vertical transform)(または列変換(column transform))でなることができる。
ここで、すべての変換設定グループは、各4つの変換の組み合わせの候補を有することができる。前記4つの変換の組み合わせ候補は0~3の変換の組み合わせのインデックスを介して選択または決定することができ、エンコーダからデコーダに前記変換の組み合わせのインデックスをエンコードして送信することができる。
一実施形態として、イントラ予測を介して獲得された残差データ(または残差信号)は、イントラ予測モードに応じて、その統計的特性がそれぞれ異なることができる。したがって、前記図6に示すように、イントラ予測モードごとに、一般的なコサイン変換ではない、別の変換を適用することができる。
前記図6を注意深く見ると、35個のイントラ予測モードを用いる場合と67個のイントラ予測モードを用いる場合を示す。各イントラ予測モードの列で変換設定グループごとに複数個の変換の組み合わせが適用されることができる。例えば、前記複数個の変換の組み合わせは、4つの(行方向の変換、列方向の変換)組み合わせで構成されることができる。具体例として、グループ0では、行(水平)方向と列(垂直)方向の全てDST-7とDCT-5が適用されることができ、総4つの組み合わせが可能である。
各イントラ予測モードに対して、総4つの変換カーネルの組み合わせが適用されることができるので、その内、いずれか1つを選択するための変換の組み合わせのインデックスが変換ユニット(transform unit)ごとに送信されることができる。本明細書において、前記変換の組み合わせのインデックスは、MTSインデックス(MTS index)と称することができ、mts_idxで表現されることができる。
また、前記図6で提示した変換カーネル以外にも、残差信号(residual signal)の特性上、行方向と列方向の全てに対しDCT2が最適な場合が発生することができる。したがって、コーディングユニット(Coding Unit)毎にMTSフラグを定義することにより、適応的に変換を実行することができる。ここで、MTSフラグが0の場合、行方向と列方向の全てにDCT2を適用し、MTSフラグが1であると、MTSインデックスを介して、4つの組み合わせの内、いずれか1つを選択または、決定することができる。
一実施形態として、MTSフラグが1である場合、1つの変換ユニットに対して0ではない変換係数の数がしきい値より大きくなければ、前記図6の変換カーネルを適用せずに行方向と列方向の全てDST- 7を適用することができる。例えば、前記しきい値は2に設定されることができ、これはブロックサイズまたは変換ユニットのサイズに基づいて、異なるように設定することができる。これは明細書の他の実施形態でも適用可能である。
一実施形態として、変換係数の値を先に解析して、0でない変換係数の数がしきい値より大きくなければ、MTSインデックスを解析せずにDST-7を適用することにより、付加情報転送量を削減することができる。
一実施形態として、MTSフラグが1である場合、1つの変換ユニットに対し0ではない変換係数の数がしきい値より大きい場合MTSインデックスを解析して、MTSインデックスに基づいて、水平変換と垂直変換を決定することができる。
一実施形態として、MTSは変換ユニットの幅と高さの全てが32以下の場合にのみ、適用することができる。
一実施形態として、前記図6は、オフライントレーニング(off-line training)を介して既設定されることができる。
一実施形態として、前記MTSインデックスは、水平変換と垂直変換の組み合わせを同時に指すことができる1つのインデックスとして定義することができる。または、前記MTSインデックスは、水平変換インデックスと垂直変換インデックスを別々に定義することもできる。
一実施形態として、前記MTSフラグまたは前記MTSインデックスは、シーケンス、ピクチャ、スライス、ブロック、コーディングユニット、変換ユニット、または予測ユニットの内、少なくとも一つのレベルで定義することができる。例えば、前記MTSフラグまたは前記MTSインデックスはsps(Sequence Parameter Set)または変換ユニットの内、少なくとも一つのレベルで定義することができる。
他の実施形態として、変換インデックスに対応する変換の組み合わせ(水平変換、垂直変換)は、MTSフラグ、予測モード、及び/またはブロックの形との依存性せずに構成することができる。例えば、前記変換の組み合わせは、DCT2、DST7及び/またはDCT8の内、少なくとも一つで構成されることができる。具体例として、変換インデックスが0、1、2、3、4であれば、それぞれ前記変換の組み合わせは、(DCT2、DCT2)、(DST7、DST7)、(DCT8、DST7)、(DST7、DCT8)、(DCT8、DCT8 )で有り得る。
図7は、本発明が適用される実施形態として、MTS(Multiple Transform Selection)が行われるエンコード過程を示すフローチャートである。
本明細書においては、基本的に、水平方向と垂直方向に対して分離して変換を適用する実施形態を説明しているが、変換の組み合わせは、非分離変換(non-separable transform)でも構成が可能である。
または、分離可能な変換(separable transform)と非分離変換(non-separable transform)の混合でも構成することができる。この場合、非分離変換(non-separable transform)が用いられると、行/列(row / column)別の変換選択や水平/垂直(horizontal / vertical)方向別選択は不要になり、分離可能な変換(separable transform)が選択された場合にのみ、前記図6の変換の組み合わせが用いられる。
また、本明細書において提案する方式は、1次変換(primary transform)や2次変換(secondary transform)に関係なく適用することができる。即ち、2つの中一方にのみ適用されなければならないという制約がなく、両方ともに適用することができる。ここで、前記1次変換(primary transform)は、残差(residual)ブロックを最初に変換するための変換を意味することができ、前記2次変換(secondary transform)は、前記1次変換の結果として生成されたブロックについての変換を適用するための変換を意味することができる。
まず、エンコーダは、現在ブロックに対応する変換設定グループを決定することができる(S710)。ここで、前記変換設定グループは、前記図6の変換設定グループを意味することができるが、本発明はこれに限定されず、他の変換の組み合わせで構成されることもできる。
前記エンコーダは、前記の変換を設定するグループ内の利用可能な候補変換の組み合わせに対して変換を実行することができる(S720)。
前記変換を実行結果、前記エンコーダは、RD(Rate Distortion)コストが最小の変換の組み合わせを決定または選択することができる(S730)。
前記エンコーダは、前記選択された変換の組み合わせに対応する変換の組み合わせのインデックスをエンコードすることができる(S740)。
図8は、 本発明が適用される実施形態として、MTS(Multiple Transform Selection)実行されるデコード過程を示すフローチャートである。
まず、デコーダは、現在ブロックのための変換設定グループを決定することができる(S810)。
前記デコーダは、ビデオ信号から変換の組み合わせのインデックスを解析(または獲得)することができ、ここで前記変換の組み合わせのインデックスは、前記変換設定グループ内の複数個の変換の組み合わせの内、いずれか1つに対応することができる(S820)。例えば、前記変換設定グループは、DST7(Discrete Sine Transform type 7)とDCT8(Discrete Cosine Transform type 8)を含むことができる。前記変換の組み合わせのインデックスは、MTSインデックスと称することができる。
一実施形態として、前記変換設定グループは、現在ブロックの予測モード、ブロックサイズまたはブロック状の内、少なくとも一つに基づいて設定されることができる。
前記デコーダは、前記変換の組み合わせのインデックスに対応する変換の組み合わせを誘導することができる(S830)。ここで、前記変換の組み合わせは、水平変換及び垂直変換で構成され、前記DST-7またはDCT-8の内、少なくとも一つを含むことができる。
また、前記変換の組み合わせは、前記図6で説明した変換の組み合わせを意味することができるが、本発明はこれに限定されない。すなわち、本明細書の内、他の実施形態に係る他の変換の組み合わせによる構成も可能である。
前記デコーダは、前記変換の組み合わせに基づいて前記現在ブロックの逆変換を行うことができる(S840)。前記変換の組み合わせが行(水平)変換と列(垂直)変換で構成された場合、行(水平)変換を先に適用した後、列(垂直)変換を適用することができる。ただし、本発明はこれに限定されず、逆に適用されるか、または非分離変換で構成された場合には、すぐに非分離変換が適用されることができる。
一実施形態として、前記垂直変換または前記水平変換は、前記DST-7またはDCT-8である場合、前記DST-7の逆変換またはDCT-8の逆変換を列ごとに適用した後、行ごとに適用することができる。
一実施形態として、前記垂直変換または前記水平変換は、各行ごとに、及び/または各列ごとに別の変換が適用されることができる。
一実施形態として、前記変換の組み合わせのインデックスは、MTSが実行されるかどうかを示すMTSフラグに基づいて獲得することができる。すなわち、前記変換の組み合わせのインデックスは、前記MTSフラグに基づいてMTSが実行された場合に獲得することができる。
一実施形態として、前記デコーダは、0でない変換係数の数がしきい値より大きいかどうかを確認することができる。この際、前記変換の組み合わせのインデックスは、前記0でない変換係数の数がしきい値より大きい場合に獲得することができる。
一実施形態として、前記MTSフラグまたは前記MTSインデックスは、シーケンス、ピクチャ、スライス、ブロック、コーディングユニット、変換ユニット、または予測ユニットの内、少なくとも一つのレベルで定義することができる。
一実施形態として、前記逆変換は、変換ユニットの幅と高さの全てが32以下の場合にのみ、適用することができる。
一方、他の一実施形態として、変換設定グループを決定する過程と変換の組み合わせのインデックスを解析する過程は、同時に実行することができる。または前記S810のステップは、エンコーダ及び/またはデコーダで既設定されて省略されることができる。
図9は、本発明が適用される実施形態として、MTSフラグとMTSインデックスをエンコードする過程を説明するためのフローチャートである。
エンコーダは、現在ブロックのMTS(Multiple Transform Selection)が適用されるかどうかを決定することができる(S910)。
もし、MTS(Multiple Transform Selection)が適用される場合、前記エンコーダは、MTSフラグ= 1でエンコードすることができる(S920)。
そして、前記エンコーダは、前記現在ブロックの予測モード、水平変換、垂直変換の内、少なくとも一つに基づいて、MTSインデックスを決定することができる(S930)。ここで、MTSインデックスは、各イントラ予測モードに対して複数個の変換の組み合わせの内、いずれか1つを指すインデックスを意味し、前記MTSインデックスは、変換ユニット(transform unit)ごとに送信されることができる。
前記MTSインデックスが決定されると、前記エンコーダは、前記MTSインデックスをエンコードすることができる(S940)。
一方、前記(MTS Multiple Transform Selection)が適用されない場合、前記エンコーダは、MTSフラグ= 0にエンコードすることができる(S950)。
図10は、本発明が適用される実施形態として、MTSフラグ及びMTSインデックスに基づいて、水平変換または垂直変換を行または列に適用するデコード過程を説明するためのフローチャートである。
デコーダは、ビットストリームからMTSフラグを解析することができる(S1010)。ここで、MTSフラグは、現在ブロックのMTS(Multiple Transform Selection)が適用されるかどうかを示すことができる。
前記デコーダは、前記MTSフラグに基づいて、現在ブロックのMTS(Multiple Transform Selection)が適用されるかどうかを確認することができる(S1020)。例えば、前記MTSフラグが1かどうかを確認することができる。
もし、前記MTSフラグが1である場合、前記デコーダは、0でない変換係数の数がしきい値より大きい(またはそれ以上であること)かどうかを確認することができる(S1030)。例えば、前記しきい値は2に設定されることができ、これはブロックサイズまたは変換ユニットのサイズに基づいて、異なるように設定することができる。
前記0でない変換係数の数がしきい値よりも大きい場合、前記デコーダは、MTSのインデックスを解析することができる(S1040)。ここで、前記MTSインデックスは、各イントラ予測モードまたはインター予測モードについて複数個の変換の組み合わせの内、いずれかを1つを指すインデックスを意味し、前記MTSインデックスは、変換ユニット(transform unit)ごとに送信されることができる。または、前記MTSインデックスは既に設定され変換の組み合わせテーブルに定義されたいずれか1つの変換の組み合わせを指すインデックスを意味することができ、ここで前記既設定された変換の組み合わせのテーブルは、前記図6を意味することができるが、本発明はこれに限定されない。
前記デコーダは、前記MTSインデックスまたは予測モードの内、少なくとも一つに基づいて、水平変換及び垂直変換を誘導または決定することができる(S1050)。
または、前記デコーダは、前記MTSインデックスに対応する変換の組み合わせを誘導することができる。例えば、前記デコーダは、前記MTSインデックスに対応される水平変換及び垂直変換を誘導または決定することができる。
一方、前記0でない変換係数の数がしきい値より大きくない場合、前記デコーダは既設定された垂直逆変換を列ごとに適用することができる(S1060)。例えば、前記垂直逆変換は、DST7の逆変換で有り得る。
そして、前記デコーダは、既設定された水平逆変換を行ごとに適用することができる(S1070)。例えば、前記水平逆変換は、DST7の逆変換で有り得る。すなわち、前記0でない変換係数の数がしきい値より大きくない場合には、エンコーダまたはデコーダで既設定された変換カーネルが用いることができる。例えば、前記図6のような変換の組み合わせテーブルで定義されたものではなく、多く用いられる変換カーネルが用いることができる。
一方、前記MTSフラグが0である場合、前記デコーダは既設定された垂直逆変換を列ごとに適用することができる(S1080)。例えば、前記垂直逆変換は、DCT2の逆変換で有り得る。
そして、前記デコーダは、既設定された水平逆変換を行ごとに適用することができる(S1090)。例えば、前記水平逆変換は、DCT2の逆変換で有り得る。即ち、MTSフラグが0である場合には、エンコーダまたはデコーダで既設定された変換カーネルが用いることができる。例えば、前記図6のような変換の組み合わせテーブルで定義されたものではなく、多く用いられる変換カーネルが用いることができる。
図11は、本発明が適用される実施形態として、変換関連パラメータに基づいて逆変換を実行するフローチャートを示す。
本発明が適用されるデコーダは、sps_mts_intra_enabled_flagまたはsps_mts_inter_enabled_flagを獲得することができる(S1110)。ここで、sps_mts_intra_enabled_flagはtu_mts_flagがイントラコーディングユニットのレジデュアルコーディング構文に存在するかどうかを示す。たとえば、sps_mts_intra_enabled_flag = 0であれば、tu_mts_flagがイントラコーディングユニットのレジデュアルコーディング構文に存在せず、sps_mts_intra_enabled_flag = 0であれば、tu_mts_flagがイントラコーディングユニットのレジデュアルコーディング構文に存在する。そして、sps_mts_inter_enabled_flagはtu_mts_flagがインターコーディングユニットのレジデュアルコーディング構文に存在するかどうかを示す。たとえば、sps_mts_inter_enabled_flag = 0であれば、tu_mts_flagがインターコーディングユニットのレジデュアルコーディング構文に存在せず、sps_mts_inter_enabled_flag = 0であれば、tu_mts_flagがインターコーディングユニットのレジデュアルコーディング構文に存在する。
前記デコーダは、sps_mts_intra_enabled_flagまたはsps_mts_inter_enabled_flagに基づいてtu_mts_flagを獲得することができる(S1120)。たとえば、sps_mts_intra_enabled_flag = 1またはsps_mts_inter_enabled_flag = 1のとき、前記デコーダはtu_mts_flagを獲得することができる。ここで、tu_mts_flagは多変換の選択(multiple transform selection、以下「MTS」と称する)がルマ変換ブロックのレジデュアルサンプルに適用されるかどうかを示す。たとえば、tu_mts_flag = 0の場合、MTSがルマ変換ブロックのレジデュアルサンプルに適用されず、tu_mts_flag = 1であればMTSがルマ変換ブロックのレジデュアルサンプルに適用される。
他の例として、前記tu_mts_flagについて本文書の実施形態の内、少なくとも1つが適用されることができる。
前記デコーダはtu_mts_flagに基づいてmts_idxを獲得することができる(S1130)。たとえば、tu_mts_flag = 1のとき、前記デコーダはmts_idxを獲得することができる。ここで、mts_idxはどの変換カーネルが現在変換ブロックの水平及び/または垂直方向に沿ったルマレジデュアルサンプルに適用されるかを示す。
たとえば、mts_idxについては、本文書の実施形態の内、少なくとも1つが適用されることができる。具体例として、前記図6の実施形態の内、少なくとも1つが適用されることができる。
前記デコーダはmts_idxに対応する変換カーネルを誘導することができる(S1140)。例えば、前記mts_idxに対応する変換カーネルは、水平変換及び垂直変換に区分されて定義することができる。
他の例として、前記水平変換及び垂直変換は、互いに異なる変換カーネルが適用されることができる。ただし、本発明はこれに限定されず、前記水平変換及び垂直変換は、同じ変換カーネルが適用されることもある。
一実施形態として、mts_idxは、以下の表1のように定義することができる。
Figure 0007301951000001
そして、前記デコーダは、前記変換カーネルに基づいて逆変換を行うことができる(S1150)。
本発明の他の実施形態であり、変換過程を実行するデコード過程を説明する。
デコーダは、変換サイズ(nTbS)を確認することができる(S10)。ここで、前記変換サイズ(nTbS)は、スケールされた変換係数の水平方向のサンプルサイズを示す変数で有り得る。
前記デコーダは、 変換カーネルタイプ(trType)を確認することができる(S20)。ここで、前記変換カーネルタイプ(trType)は変換カーネルタイプを示す変数で有り得、本文書の様々な実施形態が適用されることができる。前記変換カーネルタイプ(trType)は、水平変換カーネルタイプ(trTypeHor)と垂直変換カーネルタイプ(trTypeVer)を含むことができる。
前記表1を参照すれば、前記変換カーネルタイプ(trType)が0であると、DCT2を示し、1であるとDST7を示し、2の場合はDCT8を示すことができる。
前記デコーダは、変換サイズ(nTbS)または変換カーネルタイプの内、少なくとも一つに基づいて、変換行列の乗算を行うことができる(S30)。
他の例として、変換カーネルタイプが1であり、変換サイズが4であれば、変換行列の乗算を実行する際既決定された変換行列(1)が適用されることができる。
他の例として、変換カーネルタイプが1であり、変換サイズが8であれば、変換行列の乗算を実行する際期決定された変換行列(2)が適用されることができる。
他の例として、変換カーネルタイプが1であり、変換サイズが16であれば、変換行列の乗算を実行する際既に決定された変換行列(3)が適用されることができる。
他の例として、変換カーネルタイプが1であり、変換サイズが32であれば、既定義のされた変換行列(4)が適用されることができる。
同様に、変換カーネルタイプが2であり、変換サイズが4、8、16、または32であれば、それぞれ既定義された変換行列(5)、(6)、(7)、(8)が適用されることができる。
ここで、前記既定義された変換行列(1)~(8)は、それぞれ、様々なタイプの変換行列の内、いずれか1つに対応することができる。一例として、前記図6で例示されたタイプの変換行列が適用されることができる。
前記デコーダは、変換行列の乗算に基づいて変換サンプルを誘導することができる(S40)。
前記実施形態は、それぞれ用いられることができるが、本発明はこれに限定されず、前記の実施形態及び本明細書の他の実施形態と組み合わせて用いられる。
図12は、本発明が適用される実施形態として、NSSTでイントラ予測モードごとに変換セット(transform set)を割り当てることを示すテーブルである。
Non-Separable Secondary Transform(NSST)
2次変換部(secondary transform unitは、1次変換された信号に対して2次変換(secondary transform)を適用することができ、ここで前記2次変換(secondary transform)は、エンコーダ及び/またはデコーダでテーブルに既定義されることができる。
一実施形態として、前記2次変換(secondary transform)は、Non-Separable Secondary Transform(以下、「Nsst」と称する)が条件的に適用することができる。例えば、前記Nsstはイントラ予測ブロックの場合にのみ適用され、予測モードグループごとに適用可能な変換セットを有することができる。
ここで、前記予測モードグループは、予測方向の対称性に基づいて設定されることができる。例えば、予測モード52と予測モード16は、予測モード34(対角方向)をに基づいて対称であるので、1つのグループを形成して、同じ変換セット(transform set)が適用されることができる。この時、前記予測モード52の変換を適用するときに入力データをトランスポーズ(transpose)した後に適用し、これは予測モード16と変換セットが同じであるからである。
一方、プランナーモード(Planar mode)とDCモード(DC mode)の場合、方向の対称性が存在しないため、それぞれの変換セットを有し、その変換セットは、2つの変換で構成されることができる。残りの方向性モードに対しては、変換セットごとに3つの変換で構成されることができる。ただし、本発明はこれに限定されず、各変換セットは、複数個の変換で構成されることができる。
図13は、本発明が適用される実施形態として、ギボンズ回転(Givens rotation)の計算フロー図を示す。
他の実施形態として、前記Nsstは1次変換されたブロック全体に対して適用されるものではなく左上側(top-left)8x8領域にのみ適用されることができる。例えば、ブロックのサイズが8x8以上の場合は、8x8 Nsstが適用され、8x8未満の場合は、4x4 Nsstが適用されるが、この時、4x4ブロックに分割後、それぞれ4x4 Nsstが適用される。
他の実施形態として、4xN / Nx4(N> = 16)である場合にも、4x4 Nsstが適用されることができる。
8x8 Nsstと4x4 Nsstとも本文書で説明する変換の組み合わせの構成に従い、非分離変換(non-separable transform)であるため、8x8 Nsstは64個のデータの入力を受け、64個のデータを出力し、4x4 Nsstは、16個の入力と16つの出力を有する。
8x8 Nsstと4x4 Nsstともギボンズ回転(Givens rotation)の階層的な組み合わせで構成される。一つのギボンズ回転(Givens rotation)に該当する行列は次の数式4のようであり、行列積は次の数式5の通りである。
Figure 0007301951000002
Figure 0007301951000003
前記図13のように、一つのギボンズ回転(Givens rotation)は、2つのデータを回転させるものであるから、64個(8x8 NSSTの場合)または16個の(4x4 NSSTの場合)のデータを処理するためには、それぞれ総32個または8つのギボンズ回転(Givens rotation)が必要である。
したがって、32個または8個を束にしてギボンズ回転層(Givens rotation layer)をなす。1つのギボンズ回転層の出力データが決まった置換(permutation)を次のギボンズ回転層への入力データで伝達される。
図14は、本発明が適用される実施形態として、ギボンズ回転層(Givens rotation layer)と置換(permutation)で構成された4x4 Nsstでの1ラウンド構成を示す。
前記図14を注意深く見ると、4x4 Nsstの場合について、4つのギボンズ回転層が順次処理される様子を示している。前記図14のようにしたギボンズ回転層の出力データが決まった置換(i.e. shuffling)を経て、次のギボンズ回転層の入力データとして伝達される。
前記図14のように置換されるパターンは、規則的に決まっており、4x4 Nsstの場合は、4つのギボンズ回転層とその置換を合わせて一つのラウンド(round)をなす。
8x8 Nsstの場合は、6つのギボンズ回転層とその置換が一つのラウンドを形成する。 4x4 Nsstは2番のラウンドを経され、8x8 Nsstは4番のラウンドを経ることになる。互いに異なるラウンド同士は同じ置換パターンを用いるが適用されるギボンズ回転角度は、それぞれ異なる。したがって、各変換を構成するすべてのギボンズ回転の角度データを保存しなければならない。
最後のステップでギボンズ回転層を経て出力されたデータに対して、最終的に一度の置換をさらに行うようになり、その置換情報は、変換ごとに別に保存されている。順方向NSSTで最後にその置換が行われ、逆NSSTでは逆に、最初に、その逆置換が適用される。
逆方向Nsstの場合は、順方向Nsstで適用されたギボンズ回転層と置換を逆順で実行するとよい、各ギボンズ回転の角度にも( - )の値をとって回転させる。
図15は、本発明が適用される実施形態として、順方向縮小変換(forward reduced transform)と逆方向縮小変換(forward reduced transform)の動作を説明するためのブロック図である。
Reduced Secondary Transform(RST)
1つの変換を示す直交行列がNxNの形態を有するとしたとき、縮小変換(Reduced Transform、以下「RT」という)は、N個の変換基底ベクトルの内、R個だけ残すものである(R <N)。変換係数を生成する順方向RTの行列は、以下の式6のように与えられる。
Figure 0007301951000004
逆方向RTの行列は、順方向RT行列の転置行列(transpose matrix)となるので、順方向RTと逆方向RTの適用を図示すると、前記図15のようである。
1次変換を経た変換ブロックの左上端8x8ブロックのRTを適用する場合を仮定すると、前記RTを8x8縮小2次変換(8x8 RST)と命名することができる。
前記数式6でのR値を16とするとき、順方向8x8 RSTは16x64行列の形を有し、逆方向8x8 RSTは64x16行列の形を有する。
また、8x8 RSTにも、前記図12と同じ変換セットの構成を適用することができる。すなわち、前記図12での変換セットに基づいて対応する8x8 RSTが適用されることができる。
一実施形態として、前記図12で1つの変換セットがイントラ予測モードに応じて、2つまたは3つの変換で構成されているときに、2次変換を適用しない場合を含めて、最大4つの変換のうちの一つを選択するように構成されることができる。ここで、1つの変換は、恒等行列と見ることができる。
前記4つの変換に対して、それぞれ0、1、2、3のインデックスを付与するとき、Nsstインデックスという構文要素(syntax element)を変換ブロックごとにシグナリングして対応する変換を指定することができる。即ち、Nsstインデックスを介して8x8左上端ブロックについて、Nsstの場合は8x8 Nsstを指定することができ、RSTの構成では8x8 RSTを指定することができる。また、このとき、0番インデックスを恒等行列、すなわち2次変換を適用していない場合に割り当てることができます。
前記数式6のような順方向8x8 RSTを適用すると、16個の有効な変換係数が生成されるので、8x8の領域を構成する64個の入力データが16個の出力データに縮小されると見ることができる。 2次元領域の観点から見ると、1/4ほどの領域にのみ有効な変換係数が満たされるようになる。したがって、順方向8x8 RSTを適用して得られた16個の出力データを図16での4x4左上端の領域に満たされる。
図16は、本発明が適用される実施形態として、逆方向スキャン順に基づいて64番目から17番目までの逆方向スキャンを実行する過程を示す図である。
前記図16は、順方向スキャン順が1から始まるとするとき、(順方向スキャン順上)17番目の係数から64番目の係数のスキャンを実行することを示す。ただし、前記図16では、逆スキャンを示しているところ、これは64番目から17番目までの逆方向スキャンを実行することを示す。
前記図16を注意深く見ると、左上端4x4の領域が有効な変換係数が割り当てられる関心領域(Region Of Interest、ROI)であり、残りの領域は空になる。すなわち、前記残りの領域には、0の値がデフォルトで割り当てられることができる。
もし、前記図16のROI領域以外0でない有効な変換係数が存在すると8x8 RSTが適用されないことを意味するので、この場合、それに対応するNsstインデックスコーディングを省略することができる。
逆に、前記図16のROI領域以外で0でない変換係数が存在しない場合(8x8 RSTが適用される場合、ROI以外の領域に対しては、0に割り当てられたとき)8x8 RSTが適用された可能性があるので、Nsstインデックスをコーディングすることができる。
このように、条件付きNsstインデックスコーディングは0(ゼロ)ではない、変換係数の存在の有無を確認しなければならないのでレジデュアルコーディング過程の後に実行されることができる。
本発明は、RST構造から4x4ブロックに適用することができるRSTの設計と関連最適化の方法を扱っている。本明細書に記載された実施形態は、4x4 RSTだけでなく、8x8 RSTまたは他の形態の変換にも適用することができる。
図17は、本発明が適用される実施形態として、変換係数ブロック(変換ブロック)の3つの順方向スキャンの順を示す。
実施形態1:4x4ブロックに適用することができるRST
一つの 4x4ブロックに適用することができる非分離変換(non-separable transform)は16x16変換である。即ち、4x4ブロックを構成するデータ要素を行優先(row-first)または列優先(column-first)の順で並べ配置されると、16x1ベクトルになって非分離変換を適用することができる。
順方向16x16変換は、16個の行(row)方向変換基底ベクトルで構成され、前記16x1ベクトルと各変換基底ベクトルに対して内積(inner product)を適用すると、変換基底ベクトルの変換係数を得ることになる。 16個の変換基底ベクトルに対してすべて対応する変換係数を得る過程は、16x16非分離変換行列と前記入力16x1ベクトルを乗算するのと同じである。
行列積に得られる変換係数は、16x1ベクトルの形を有するが、変換係数ごとに統計的特性が異なることがある。たとえば、16x1変換係数ベクトルが0番目の要素から15番目の要素で構成されたとしたとき、0番目の要素の分散は、15番目の要素の分散より大きいことができる。即ち、前に位置した要素であるほどその分散値が大きくて、大きなエネルギーの値を有することができる。
16x1変換係数から逆方向16x16非分離変換を適用すると、元の4x4ブロック信号を復元することができる。順方向16x16非分離変換が正規直交変換(orthonormal transform)であれば、その逆方向16x16変換は順方向16x16変換の転置行列を介して獲得することができる。
逆方向16x16非分離変換行列と16x1変換係数ベクトルとの積により、16x1ベクトル形態のデータを獲得し、最初に適用した行優先(row-first)または列優先(column-first)の順で配列してくれれば4x4ブロック信号を復元することができる。
前述したように、16x1変換係数ベクトルをなす要素は、それぞれ統計的特性が異なることがある。
前方に配置された(0番目の要素と近い)変換係数がさらに大きなエネルギーを有すると、すべての変換係数を使用せずに、最初に登場する一部の変換係数に逆方向変換を適用しても、元の信号とかなり近い信号を復元することができる。例えば、逆方向16x16非分離変換が16個の列基底ベクトル(column basis vector)で構成されるとしたとき、L個の列基底ベクトルだけを残し16xL行列を構成することができる。また、変換係数の内、重要なL個の変換係数だけを残した後、(Lx1ベクトル)、16xL行列とLx1ベクトルを乗算すると、元の入力16x1ベクトルデータと誤差が大きくない16x1ベクトルを復元することができる。
結果的に、L個の係数だけがデータの復元に用いられるので、変換係数を得るときも16x1変換係数ベクトルがなく、Lx1変換係数ベクトルを求めるになる。即ち、順方向16x16非分離変換行列でL個の行(row)方向変換ベクトルを選んでLx16変換を構成した後16x1入力ベクトルを乗算すると、重要なL個の変換係数を得ることができる。
L値は、1≦L<16の範囲を有するようになり、一般的には、16個の変換基底ベクトルの内、任意の方法でL個を選択することができるが、符号かと復号化の観点では、信号のエネルギー側面で重要度が高い変換基底ベクトルを選択することが符号化効率の観点から有利で有り得る。
実施形態2:4x4 RSTの適用領域の設定と変換係数の配置
4x4 RSTは2次変換に適用されることができ、この時、DCT-type 2などの1次変換(primary transform)が適用されたブロックに対して2次的に適用することができる。 1次変換が適用されたブロックのサイズをNxNとするとき、一般的に1次変換が適用されたブロックの大きさは、4x4より大きい。したがって、4x4 RSTを前記NxNブロックに適用するときは、次の2つの方法があることができる。
実施形態2-1)NxN領域に対し全て4x4 RSTを適用するのではなく、一部の領域にのみ適用することができる。例えば、左上側MxM領域に対してのみ適用することができる(M≦N)。
実施形態2-2)、2次変換が適用される領域を4x4ブロックに分割した後、各分割されたブロックの4x4 RSTを適用することができる。
一実施形態として、前記実施形態2-1)と2-2)を混合して適用することもできる。例えば、左上側MxM領域についてのみ4x4ブロックに分割した後、4x4 RSTを適用することができる。
一実施形態として、左上側8x8の領域にのみ2次変換を適用し、NxN部ロックが8x8より同じか大きい場合には、8x8 RSTを適用し、NxNブロックが8x8より小さい場合(4x4、8x4、4x8)には、前記実施形態2-2)番のように4x4ブロックに分割し、それぞれ4x4 RSTを適用することができる。また、4xN / Nx4(N> = 16)である場合にも、4x4 RSTが適用されることができる。
4x4 RSTを適用した後、L個(1≦L<16)の変換係数が生成されたとき、前記L個の変換係数をどのように配置するかの自由度が生じる。しかし、レジデュアルコーディング(residual coding)段階で変換係数を処理する際に決まれた順が存在するので、前記L個の変換係数を2次元ブロックにどのように配置するかに応じて、コーディング性能が変わることができる。
例えば、HEVCのレジデュアルコーディングの場合DCの位置から最も遠い位置からコーディングを開始する。これはDC位置から遠く離れるほど量子化を経た係数の値が0であるが0に近いという事実を用いて、コーディング性能を向上させるためである。
したがって、前記L個の変換係数にも高いエネルギーを有するより重要な係数をレジデュアルコーディングの順上後でコーディングされるように配置することがコーディング性能面で有利で有り得る。
図17は、HEVCで適用されている4x4変換ブロック(Coefficient Group(CG))単位の3つの順方向スキャンの順を示す。レジデュアルコーディングにおいては、前記図17のスキャン順の逆に従う(即ち、16から1の順でコーディングする)。
前記図17で提示する3つのスキャン順はイントラ予測モードに応じて選択されるので、本発明は、前記L個の変換係数に対しても同様にイントラ予測モードに応じてスキャン順を決定するように構成することができる。
図18は、本発明が適用される実施形態として、左上側4x8ブロックで対角スキャン(diagonal scan)が適用され4x4 RSTが適用されたとき、有効な変換係数の位置と4x4ブロック別順方向スキャン順を示す。
前記図17での対角スキャン(diagonal scan)の順を従って左上側4x8ブロックを4x4ブロックに分割して、それぞれ4x4 RSTを適用するとき、Lの値が8であれば(即ち、16個の内、8個の変換係数だけを残した場合)、前記図18のように変換係数が位置することができる。
各4x4ブロックの半分だけが変換係数を有することができ、Xが表示された位置には、デフォルトで0の値が割り当てることができる。
したがって、前記図17で示したスキャン順に従ってL個の変換係数を各4x4ブロックに対し配置させ、各4x4ブロックの残り(16 - L)の位置に対しては0で満たされることを仮定してレジデュアルコーディングを適用することができる。
図19は、本発明が適用される実施形態として、左上側4x8ブロックで対角スキャン(diagonal scan)が適用され4x4 RSTが適用されたときに2 4x4ブロックの有効な変換係数を一つの4x4ブロックに合わせる場合を示す。
前記図19を注意深く見ると、2つの4x4ブロックに配置させたL個の変換係数を一つに合わせることができる。特にLの値が8である場合、2つの4x4ブロックの変換係数が一つの4x4ブロックを完全に満たしながら合わせられるので、他の一つの4x4ブロックにはどのような変換係数も残っていないことになる。
したがって、このように空になった4x4ブロックについては、ほとんどのレジデュアルコーディングが不要であるので、対応するcoded_sub_block_flagを0にコーディングすることができる。
また、本発明の一実施形態として、2つの4x4ブロックの変換係数をどのように混在させるかについても様々な方式が適用されることができる。任意の順に沿って合わせることもあるが、本発明は、次のような方法を提供することができる。
1) 2つの4x4ブロックの変換係数をスキャン順に交互に混ぜる。すなわち、前記図18で上側ブロックの変換係数を
Figure 0007301951000005
とし、下側のブロックの変換係数を
Figure 0007301951000006
とするとき、
Figure 0007301951000007
のように一つずつ交互に混合することができる。または、
Figure 0007301951000008

Figure 0007301951000009
の順を変えることもできる。即ち
Figure 0007301951000010
が先に出るように設定することができる。
2) 最初の4x4ブロックの変換係数を最初に配置させ続いて第二の4x4ブロックの変換係数を配置させることができる。即ち、
Figure 0007301951000011
のように接続して配置することができる。または、
Figure 0007301951000012
のように順を変更することもできる。
実施形態3:4x4 RSTのNSSTインデックスをコーディングする方法
前記図18のように4x4 RSTが適用されると、各4x4ブロックの変換係数のスキャン順によって、L + 1番目から16番目までは0値が満たすことができる。
したがって、もし2つの4x4ブロックの内、いずれか1つであっても、L + 1番目から16番目の位置の内、0でない値が発生した場合、4x4 RSTが適用されない場合と分かるようになる。
4x4 RSTもNsstのように用意された変換のセットの内から1つを選択して適用する構造を有するならば、どのような変換を適用するかの変換インデックス(本実施形態においては、Nsstインデックスと命名することができる)をシグナリングすることができる。
もし、あるデコーダでNsstインデックスをビットストリーム解析を通じて知ることができるとして、このような解析をレジデュアルデコーディングの後に実行するとしましょう。
もし、 レジデュアルデコーディングが行われ、L + 1番目から16番目の間に0でない変換係数が一つでも存在することが確認されれば、4x4 RSTは適用されないので、Nsstインデックスを解析しないように設定することができる。
したがって、必要な場合にのみNsstインデックスを選択的に解析するようになりシグナリングコストを削減することができる。
前記図18のように、特定領域内で複数個の4x4ブロックの4x4 RSTが適用されるとすれば(例えば、すべて同じ4x4 RSTが適用されることもあり、各々異なる4x4 RSTが適用されることもある)、1つのNsstインデックスを介して前記すべての4x4ブロックに適用される4x4 RSTが指定されることができる。この場合、同じ4x4 RSTが指定されることもあり、またはすべての4x4ブロックのそれぞれに適用される4x4 RSTが指定されることができる。
一つのNsstインデックスにより前記すべての4x4ブロックの4x4 RST及び適用するかどうかが決定されるので、前記すべての4x4ブロックに対して、L + 1番目から16番目までの位置で、0でない変換係数が存在するかどうかレジデュアルデコード過程中に確認することができる。確認の結果、1つの4x4ブロックでも許容されない位置に(L + 1番目から16番目までの位置)、0でない変換係数が存在することになるとNsstインデックスをコーディングしないように構成することができる。
Nsstインデックスはルマブロックとクロマブロックについて別々にシグナリングすることもあり、クロマブロックの場合CbとCrに対してそれぞれ別々のNsstインデックスをシグナリングすることもでき、一つのNsstインデックスを共有することもできる。
CbとCrの1つのNsstインデックスを共有する場合は、同じNsstインデックスが指定する4x4 RSTが適用されることができる。この場合、CbとCrの4x4 RST自体が同じであることもあり、Nsstインデックスは同じであるが、個々の4x4 RSTを有することもある。
共有Nsstインデックスに対して、前述した条件付きシグナリングを適用するには、CbとCrのすべての4x4ブロックに対して、L + 1番目から16番目までの0でない変換係数が存在することを確認して、もし0でない変換係数が存在するとNsstインデックスのシグナリングしないように構成することができる。
前記図19のように、2つの4x4ブロックの変換係数を合わせる場合に対しても、4x4 RSTが適用されたとき、有効な変換係数が存在しない位置に0でない変換係数が存在するかどうか確認した後Nsstインデックスがシグナリングするかどうかを決定することができる。
例えば、前記図19(b)に示すようにL値が8であるから4x4 RST適用時1つの4x4ブロックに対しては、有効な変換係数が存在しない場合(Xで表示されたブロック)、有効変換係数が存在しないブロックのcoded_sub_block_flagを確認することができる。このとき、coded_sub_block_flagが1であるとNsstインデックスをシグナリングしないように設定することができる。
実施形態4:Nsstインデックスのコーディングをレジデュアルコーディングの前に実行する場合の最適化方法
Nsstインデックスのコーディングをレジデュアルコーディングの前に実行する場合、4x4 RSTの適用をするかどうかが予め決定されるため、変換係数が0に割り当てられる位置にたいしては、レジデュアルコーディングを省略することができるようになる。
ここで、4x4 RST適用するかどうかは、Nsstインデックスを介して分かるように構成することができる。たとえば、Nsstインデックスが0であると、4x4 RSTが適用しない。
または別の構文(syntax)要素(e.g. Nsst flag)を介してシグナリングすることもできる。たとえば、別の構文要素がNsst flagといえばNsst flagを先に解析して4x4 RST適用をするかどうかを把握した後、仮にNsst flagの値が1であると、有効な変換係数が存在することができない位置には、レジデュアルコーディングを省略することができる。
一実施形態として、レジデュアルコーディングを実行する際TU上での最後の0でない変換係数の位置を最初にコーディングすることになる。仮に、Nsstインデックスのコーディングを最後0でない変換係数の位置(last non-zero transform coefficient)のコーディングの後に実行し、最後の0でない変換係数の位置が4x4 RSTの適用を想定したとき、0でない変換係数(non-zero transform coefficient)が発生することができない位置と判明された場合、Nsstインデックスをコーディングせずに4x4 RSTを適用しないように構成することができる。
例えば、前記図18のXで表示された位置の場合4x4 RSTが適用されたとき、有効な変換係数が位置しないので、(eg 0の値などが満たすことができる)、Xで表示された領域に最後の0でない変換係数が位置するようになると、Nsstインデックスのコーディングを省略することができる。仮にXで表示された領域に最後の0でない変換係数が位置しなければ、Nsstインデックスのコーディングを行うことができる。
一実施形態として、最後の0でない変換係数の位置のコーディングの後に条件的にNsstインデックスをコーディングして4x4 RSTに適用するかどうかを確認する場合、残りのレジデュアルコーディング部分は、以下の2つの方式を用いて、処理されることができる。
1)4x4 RSTを適用していない場合には、一般的なレジデュアルコーディングをそのまま維持する。即ち、最後の0でない変換係数の位置からDCまでのどの位置でも0ではない変換係数が存在することができるという仮定の下でコーディングを行う。
2)4x4 RSTを適用する場合、特定位置または特定4x4ブロックに対しては、変換係数が存在しないため(eg、前記図18のX位置、デフォルトで0に満たすことができる)、対応する位置またはブロックには、レジデュアルコーディングをしないことができる。
例えば、前記図18のXで表示された位置に到達する場合はsig_coeff_flagのコーディングを省略することができる。ここで、sig_coeff_flagは対応する位置に0でない変換係数が存在するかどうかのフラグを意味する。
前記図19のように 2つのブロックの変換係数を合わせる場合は、0に割り当てられた4x4ブロックについては、coded_sub_block_flagのコーディングを省略して対応する値を0に誘導することができ、対応する4x4ブロックについては、別途コーディングなしすべて0の値に誘導することができる。
最後0でない変換係数の位置のコーディングの後にNsstインデックスをコーディングする場合、最後の0でない変換係数のx位置(Px)とyの位置(Py)がそれぞれTx、Tyより小さいときNsstインデックスコーディングを省略し4x4 RSTを適用しないように構成することができる。
例えば、Tx = 1、Ty = 1の場合は、最後の0でない変換係数がDC位置に存在する場合に対しては、Nsstインデックスコーディングを省略するとすることを意味する。
このようなしきい値との比較を通じて、Nsstインデックスコーディングするかどうかを決定する方式は、ルマとクロマにそれぞれ異なるように適用することができる。例えば、ルマとクロマに各々異なるTx、Tyを適用することもあり、ルマには、しきい値を適用しクロマには適用しないこともある。またはその逆の場合も可能である。
前述した2つの方法、すなわち、第一の最後の0でない変換係数が有効な変換係数が存在しない領域に位置する場合、Nsstインデックスコーディング省略する方法、第二に、最後0でない変換係数のX座標とY座標がそれぞれあるしきい値より小さいときNsstインデックスコーディングを省略する方法を共に適用することもできる。
たとえば、最後の0でない変換係数の位置座標のしきい値を先に確認した後、最後の0でない変換係数が有効な変換係数が存在しない領域に位置するかどうかを確認することができる。または順を変更することもできる。
本実施形態4で提示する方法は、8x8 RSTにも適用することができる。即ち、最後の0でない変換係数が左上側8x8領域内で左上側4x4でない領域に位置するようになればNsstインデックスコーディングを省略することができ、そうでない場合はNsstインデックスコーディングを行うことができる。
また、最後の0でない変換係数の位置のX、Y座標の値がすべてしきい値未満の場合Nsstインデックスのコーディングを省略することができる。または、2つの方法を一緒に適用することもできる。
実施形態5:RST適用時ルマとクロマの各々異なるNsstインデックスコーディング及びレジデュアルコーディング方式を適用
前記実施形態3と実施形態4に記術された方式をルマとクロマにそれぞれ異なるように適用することができる。即ち、ルマとクロマのNsstインデックスコーディングとレジデュアルコーディング方式を異なるように適用することができる。
例えば、ルマは前記実施形態4の方式を適用し、クロマは前記実施形態3の方式を適用することができる。またはルマは、前記実施形態3または実施形態4に提示され条件付きNsstインデックスコーディングを適用し、クロマは条件付きNsstインデックスコーディングを適用しないことがある。またはその逆も可能である。
図20は、本発明が適用される実施形態として、縮小された2次変換(Reduced Secondary Transform、RST)に基づいて、ビデオ信号をエンコードするフローチャートを示す。
エンコーダは、現在ブロックの予測モード、ブロックの形状及び/またはブロックサイズの内、少なくとも一つに基づいて、順方向の2次変換を決定(または選択)することができる(S2010)。この時、前記順方向2次変換の候補は、前記図6及び/または図12の実施形態の内、少なくとも一つを含むことができる。
前記エンコーダは、RD最適化(Rate Distortion optimization)を介して、最適の順方向2次変換を決定することができる。前記最適の順方向2次変換は、複数個の変換の組み合わせの内、一つに対応することができ、前記複数個の変換の組み合わせは、変換インデックスによって定義することができる。たとえば、RD最適化のために、各候補の順方向2次変換、量子化、レジデュアルコーディングなどをすべて実行した結果を比較することができる。このとき、cost = rate +λ・distortionまたはcost = distortion +λ・rateなどの修飾が用いられることがあるが、本発明はこれに限定されない。
前記エンコーダは、前記最適の順方向2次変換に対応する2次変換インデックスをシグナリングすることができる(S2020)。ここで、前記2次変換インデックスは、本明細書で説明した他の実施形態が適用されることができる。
例えば、 前記2次変換インデックスは、前記図12の変換セットの構成を適用することができる。一つの変換のセットは、イントラ予測モードに応じて、2つまたは3つの変換で構成されているので、2次変換を適用していない場合も含めて、最大4つの変換の内、1つを選択するように構成されることができる。 4つの変換に対して、それぞれ0、1、2、3のインデックスを付与するとしたとき、前記2次変換インデックスを変換係数ブロックごとにシグナリングして適用される変換を指定することができる。このとき、0番インデックスを恒等行列、すなわち2次変換を適用していない場合に割り当てることができます。
他の一実施形態として、前記2次変換インデックスのシグナリングは、1)レジデュアルコーディング前、2)レジデュアルコーディング中間(最後の0でない変換係数の位置コーディング後)、または3)レジデュアルコーディング後のいずれか1つの段階で実行されることができる。前記実施形態を具体的に説明すると、次の通りである。
1) レジデュアルコーディング前に2次変換インデックスをシグナリングする方法
エンコーダは、順方向の2次変換を決定することができる。
前記エンコーダは、前記順方向2次変換に対応する2次変換インデックスをコーディングすることができる。
前記エンコーダは、最後の0でない変換係数の位置をコーディングすることができる。
前記エンコーダは、最後の0でない変換係数の位置以外の構文要素のレジデュアルコーディングを行うことができる。
2) レジデュアルコーディング中間に2次変換インデックスをシグナリングする方法
エンコーダは、順方向の2次変換を決定することができる。
前記エンコーダは、最後の0でない変換係数の位置をコーディングすることができる。
前記最後の0でない変換係数が特定領域に位置しない場合に、前記エンコーダは、前記順方向2次変換に対応する2次変換のインデックスをコーディングすることができる。ここで、前記特定領域は縮小された2次変換が適用される場合、スキャン順によって変換係数を配置したとき、0でない変換係数が存在することができる位置を除外した残りの領域を示す。ただし、本発明はこれに限定されない。
前記エンコーダは、前記最後の0でない変換係数の位置以外の構文(syntax)要素のレジデュアルコーディングを行うことができる。
3)レジデュアルコーディングの後に2次変換インデックスをシグナリングする方法
エンコーダは、順方向2次変換を決定することができる。
前記エンコーダは、最後の0でない変換係数の位置をコーディングすることができる。
前記最後の0でない変換係数が特定領域に位置しない場合に、前記エンコーダは、前記最後の0でない変換係数の位置以外の構文要素のレジデュアルコーディングを行うことができる。ここで、前記特定領域は縮小された2次変換が適用される場合、スキャン順によって変換係数を配置したとき、0でない変換係数が存在することができる位置を除外した残りの領域を示す。ただし、本発明はこれに限定されない。
前記エンコーダは、前記順方向2次変換に対応する2次変換インデックスをコーディングすることができる。
一方、前記エンコーダは、現在ブロック(レジデュアルブロック)について順方向1次変換を実行することができる(S2030)。ここで、前記順方向1次変換は、前記S2010段階及び/またはS2020段階が類似に適用することができる。
前記エンコーダは、前記最適の順方向二次変換を用いて前記現在ブロックの順方向2次変換を実行することができる(S2040)。例えば、前記最適の順方向2次変換は、縮小された2次変換で有り得る。前記縮小された2次変換は、N個のレジデュアルデータ(Nx1レジデュアルベクトル)が入力されてL個(L <N)の変換係数データ(Lx1変換係数ベクトル)が出力される変換を意味する。
一実施形態として、前記縮小された2次変換は、前記現在ブロックの特定領域に適用することができる。例えば、前記現在ブロックがNxNの時、前記特定領域は、左上側N/2xN/2の領域を意味することができる。しかし、本発明はこれに限定されず、予測モード、ブロックの形状、またはブロックサイズの内、少なくとも一つに基づいて異なるように設定することができる。例えば、前記現在ブロックがNxNの時、前記特定領域は、左上側MxM領域(M≦N)を意味することができる。
一方、前記エンコーダは、前記現在ブロックの量子化を行うことにより、変換係数ブロックを生成することができる(S2050)。
前記エンコーダは、前記変換係数ブロックに対してエントロピーエンコーディングを行い、ビットストリームを生成することができる。
図21は、本発明が適用される実施形態として、縮小された2次変換(Reduced Secondary Transform、RST)に基づいて、ビデオ信号をデコードするフローチャートを示す。
デコーダは、ビットストリームから2次変換のインデックスを獲得することができる(S2110)。ここで、前記2次変換インデックスは、本明細書で説明した他の実施形態が適用されることができる。例えば、前記2次変換インデックスは、前記図6及び/または図12の実施形態の内、少なくとも一つを含むことができる。
他の一実施形態として、前記2次変換インデックスの獲得段階は、1)レジデュアルデコーディング前、2)レジデュアルデコーディング中間(最後の0でない変換係数の位置デコード後)、または3)レジデュアルデコーディングの後のいずれか一つの段階で実行されることができる。
前記デコーダは、前記2次変換インデックスに対応する2次変換を誘導することができる(S2120)。この時、前記2次変換の候補は、前記図6及び/または図12の実施形態の内、少なくとも一つを含むことができる。
ただし、前記S2110とS2120のステップは、一実施形態であり、本発明はこれに限定されない。例えば、前記デコーダは、前記2次変換のインデックスを獲得せずに、現在ブロックの予測モードで、ブロックの形状及び/またはブロックサイズの内、少なくとも一つに基づいて、2次変換を誘導することができる。
一方、前記デコーダは、前記ビットストリームをエントロピーデコードして変換係数ブロックを獲得し、前記変換係数ブロックに対して逆量子化を行うことができる(S2130)
前記デコーダは、前記逆量子化された変換係数ブロックに対して逆方向2次変換を実行することができる(S2140)。例えば、前記逆方向2次変換は、縮小された2次変換で有り得る。前記縮小された2次変換は、N個のレジデュアルデータ(Nx1レジデュアルベクトル)が入力されてL個(L<N)の変換係数データ(Lx1変換係数ベクトル)が出力される変換を意味する。
一実施形態として、前記縮小された2次変換は、現在ブロックの特定領域に適用することができる。例えば、前記現在ブロックがNxNの時、前記特定領域は、左上側N/2xN/2の領域を意味することができる。しかし、本発明はこれに限定されず、予測モード、ブロックの形状、またはブロックサイズの内、少なくとも一つに基づいて異なるように設定することができる。例えば、前記現在ブロックがNxNの時、前記特定領域は、左上側MxM領域(M≦N)またはMxL(M≦N、L≦N)を意味することができる。
そして、前記デコーダは、前記逆方向2次変換された結果の逆方向1次変換を実行することができる(S2150)。
前記デコーダは、S2150段階を介してレジデュアルブロックを生成し、前記レジデュアルブロックと予測ブロックが加わり、復元ブロックが生成される。
図22は、本発明が適用される実施形態として、コンテンツストリーミングシステム構造図を示す。
図22に示すように、本発明が適用されるコンテンツストリーミングシステムは、大きくエンコードサーバ、ストリーミングサーバ、ウェブサーバ、メディア格納所、ユーザ装置及びマルチメディア入力装置を含む。
前記エンコードサーバは、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置から入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これを前記ストリーミングサーバに送信する役割を果たす。他の例として、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコードサーバは省略されてもよい。
前記ビットストリームは、本発明が適用されるエンコード方法又はビットストリーム生成方法により生成され、前記ストリーミングサーバは、前記ビットストリームを送信又は受信する過程で一時的に前記ビットストリームを格納することができる。
前記ストリーミングサーバは、ウェブサーバに介するユーザ要求に基づいてマルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介の役割を果たす。ユーザが前記ウェブサーバにご希望のサービスを要求すると、前記ウェブサーバはこれをストリーミングサーバに伝達し、前記ストリーミングサーバはユーザにマルチメディアデータを送信する。ここで、前記コンテンツストリーミングシステムは別途の制御サーバを含んでもよく、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割を果たす。
前記ストリーミングサーバは、メディア格納所及び/又はエンコードサーバからコンテンツを受信する。例えば、前記エンコードサーバからコンテンツを受信する場合、前記コンテンツをリアルタイムに受信できる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは前記ビットストリームを一定時間格納することができる。
前記ユーザ装置の例としては、携帯電話、スマートフォン(smart phone)、ノートブックコンピュータ(laptop computer)、デジタル放送用端末、PDA(personal digital assistants)、PMP(portable multimedia player)、ナビゲーション、スレートPC(slate PC)、タブレットPC(tablet PC)、ウルトラブック(ultrabook)、ウェアラブルデバイス(wearable device、例えば、スマートウォッチ(smartwatch)、スマートグラス(smart glass)、HMD(head mounted display))、デジタルTV、デスクトップコンピュータ、デジタルサイネージなどを有することができる。
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営でき、この場合、各サーバで受信するデータは分散処理されることができる。
前述したように、本発明で説明した実施形態は、プロセッサ、マイクロプロセッサ、コントローラ又はチップ上で実現されて行われることができる。例えば、各図面に示す機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラまたはチップ上で実現されて行われることができる。
また、本発明が適用されるデコーダ及びエンコーダは、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ会話装置、ビデオ通信などのリアルタイム通信装置、モバイルストリーミング装置、格納媒体、カムコーダ、注文型ビデオ(VoD)サービス提供装置、OTT(Over the top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、画像電話ビデオ装置、及び医療用ビデオ装置などに含まれることができ、ビデオ信号及びデータ信号を処理するために使用できる。例えば、OTTビデオ(Over the top video)装置としては、ゲームコンソール、ブルーレイプレーヤー、インターネット接続TV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recoder)などが含まれる。
また、本発明が適用される処理方法は、コンピュータにより実行されるプログラムの形態で生産されることができ、コンピュータにより読み取りできる記録媒体に格納できる。本発明によるデータ構造を有するマルチメディアデータもまたコンピュータにより読み取りできる記録媒体に格納できる。前記コンピュータにより読み取りできる記録媒体は、コンピュータにより読み取りできるデータが格納される全ての種類の格納装置及び分散格納装置を含む。前記コンピュータにより読み取りできる記録媒体は、例えば、ブルーレイディスク(BD)、汎用直列バス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁気テープ、フロッピ(登録商標)ディスク、及び光学データ格納装置を含むことができる。また、前記コンピュータにより読み取りできる記録媒体は、搬送波(例えば、インターネットを介する送信)の形態で実現されたメディアを含む。また、エンコード方法により生成されたビットストリームがコンピュータにより読み取りできる記録媒体に格納されるか、有無線通信ネットワークを介して送信できる。
また、本発明の実施形態は、プログラムコードによるコンピュータプログラム製品として実現され、前記プログラムコードは、本発明の実施形態によりコンピュータにおいて行われる。前記プログラムコードは、コンピュータにより読み取りできるキャリア上に格納されることができる。
以上、前述した本発明の好ましい実施形態は、例示の目的のために開示されたものであり、当業者であれば、以下に添付された特許請求範囲に開示された本発明の技術的思想とその技術的範囲内において、様々な他の実施形態を改良、変更、代替又は付加などが可能であろう。

Claims (7)

  1. 縮小された2次変換に基づいて、ビデオ信号を復元する方法において、
    前記ビデオ信号から2次変換インデックスを獲得するステップと
    前記2次変換インデックスに基づいて逆方向2次変換(secondary transform)マトリクスを誘導するステップであって、前記逆方向2次変換マトリクスは、入力されたL個(L<N)の変換係数データ(Lx1変換係数ベクトル)に基づいて、N個のレジデュアルデータ(Nx1レジデュアルベクター)を出力する前記縮小された2次変換に利用される、ステップと、
    現在ブロックに対するエントロピーデコード及び逆量子化を実行することに基づいて、変換係数を獲得するステップと、
    前記逆方向2次変換マトリクスに基づいて前記変換係数に対して逆方向2次変換を実行するステップと、
    前記逆方向2次変換が適用され変換された係数に対して逆方向1次変換を実行するステップと、
    前記逆方向1次変換を実行することにより取得されたレジデュアルブロックに基づいて前記現在ブロックを復元するステップとを含み、
    前記2次変換インデックスは、前記現在ブロック内の最後の0でない変換係数の位置に基づいて取得される、方法。
  2. 前記逆方向2次変換は、前記現在ブロックの特定領域に適用され、
    前記特定領域は、前記現在ブロック内の左上側領域である、請求項1に記載の方法。
  3. 前記逆方向2次変換が実行される場合、
    前記現在ブロック内の分割された4x4ブロックのそれぞれに、4x4逆方向2次変換が適用される、請求項1に記載の方法。
  4. 前記最後の0でない変換係数が特定領域に位置しない場合に前記2次変換インデックスは獲得され、
    前記特定領域は、前記逆方向2次変換が適用される場合、スキャン順によって変換係数が配置されたとき、0でない変換係数が存在できる位置を除外した残りの領域を示す、請求項1に記載の方法。
  5. 前記方法は、
    前記ビデオ信号から前記現在ブロックの1次変換インデックスを獲得するステップであって、前記1次変換インデックスは、DST7(Discrete Sine Transform 7)及び/またはDCT8(Discrete Cosine Transform 8)の組み合わせで構成された複数個の変換の組み合わせの内、いずれか1つに対応する、ステップと、
    前記1次変換インデックスに基づいて変換の組み合わせを誘導するステップをさらに含み、
    前記変換の組み合わせは、水平変換及び垂直変換を含み、前記水平変換及び前記垂直変換は、前記DST7及び前記DCT8の内の、いずれか1つに対応し、
    前記逆方向1次変換は、前記変換の組み合わせに基づいて実行される、請求項1に記載の方法。
  6. 縮小された2次変換に基づいて、ビデオ信号をエンコードする方法であって、
    変換ブロックについて1次変換を実行するステップと、
    前記変換ブロックに適用される2次変換マトリクスを誘導するステップであって、前記2次変換マトリクスは、入力されたN個(L<N)のレジデュアルデータ(Nx1レジデュアルベクター)に基づいて、L個の変換係数データ(Lx1変換係数ベクトル)を出力する前記縮小された2次変換のために利用される、ステップと、
    前記2次変換マトリクスに基づいて、前記変換ブロックについての2次変換を実行するステップと、
    前記2次変換に基づいて、変換係数を取得するステップと、
    前記変換係数に対する量子化及びエントロピーエンコードを実行するステップと、
    前記2次変換マトリクスに基づいて、2次変換インデックスをエンコードするステップとを含み、
    前記2次変換インデックスは、前記変換ブロック内の最後の0でない変換係数の位置に基づいて、現在ブロックに対する前記ビデオ信号から取得されるように構成される、方法。
  7. 画像に対するビットストリームを含むデータを送信する方法であって、
    前記画像に対するビットストリームを取得するステップであって、前記ビットストリームは、変換ブロックについて1次変換を実行し、前記変換ブロックに適用される2次変換マトリクスを導出し、前記2次変換マトリクスは、入力されたN個(L<N)のレジデュアルデータ(Nx1レジデュアルベクター)に基づいて、L個の変換係数データ(Lx1変換係数ベクトル)を出力する縮小された2次変換のために利用され、前記2次変換マトリクスに基づいて、前記変換ブロックに2次変換を実行し、前記2次変換に基づいて、変換係数を取得し、前記変換係数に対する量子化及びエントロピーエンコードを実行し、前記2次変換マトリクスに基づいて、2次変換インデックスをエンコードすることにより生成される、ステップと、
    前記ビットストリームを含む前記データを送信するステップを含み、
    前記2次変換インデックスは、前記変換ブロック内の最後の0でない変換係数の位置に基づいて、現在ブロックに対する前記ビットストリームから取得されるように構成される、方法。
JP2021502681A 2018-04-01 2019-04-01 縮小された2次変換を用いて、ビデオ信号を処理する方法及び装置 Active JP7301951B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023100843A JP2023120355A (ja) 2018-04-01 2023-06-20 縮小された2次変換を用いて、ビデオ信号を処理する方法及び装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862651251P 2018-04-01 2018-04-01
US62/651,251 2018-04-01
PCT/KR2019/003812 WO2019194504A1 (ko) 2018-04-01 2019-04-01 축소된 2차 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023100843A Division JP2023120355A (ja) 2018-04-01 2023-06-20 縮小された2次変換を用いて、ビデオ信号を処理する方法及び装置

Publications (2)

Publication Number Publication Date
JP2021517796A JP2021517796A (ja) 2021-07-26
JP7301951B2 true JP7301951B2 (ja) 2023-07-03

Family

ID=68101097

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021502681A Active JP7301951B2 (ja) 2018-04-01 2019-04-01 縮小された2次変換を用いて、ビデオ信号を処理する方法及び装置
JP2023100843A Pending JP2023120355A (ja) 2018-04-01 2023-06-20 縮小された2次変換を用いて、ビデオ信号を処理する方法及び装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023100843A Pending JP2023120355A (ja) 2018-04-01 2023-06-20 縮小された2次変換を用いて、ビデオ信号を処理する方法及び装置

Country Status (12)

Country Link
US (2) US11616985B2 (ja)
EP (2) EP3764649B1 (ja)
JP (2) JP7301951B2 (ja)
KR (3) KR102465119B1 (ja)
CN (3) CN115604470A (ja)
ES (1) ES2961923T3 (ja)
FI (1) FI3764649T3 (ja)
HR (1) HRP20231341T1 (ja)
HU (1) HUE063982T2 (ja)
PL (1) PL3764649T3 (ja)
SI (1) SI3764649T1 (ja)
WO (1) WO2019194504A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116546198A (zh) * 2018-08-12 2023-08-04 Lg电子株式会社 解码装置、编码装置、存储介质和发送图像的数据的装置
CN110839159A (zh) 2018-08-16 2020-02-25 北京字节跳动网络技术有限公司 用于变换矩阵选择的隐式编码
US11589075B2 (en) * 2018-10-01 2023-02-21 Lg Electronics Inc. Encoding/decoding method for video signal and device therefor
CN113365057B (zh) * 2019-03-09 2023-02-28 杭州海康威视数字技术股份有限公司 进行编码和解码的方法、解码端、编码端和系统
US11616966B2 (en) * 2019-04-03 2023-03-28 Mediatek Inc. Interaction between core transform and secondary transform
US11172211B2 (en) * 2019-04-04 2021-11-09 Tencent America LLC Method and apparatus for video coding
CN113841409B (zh) 2019-05-10 2023-12-19 北京字节跳动网络技术有限公司 用于视频处理的简化二次变换的有条件使用
US11218728B2 (en) * 2019-06-04 2022-01-04 Tencent America LLC Method and apparatus for video coding
JP7277616B2 (ja) 2019-06-07 2023-05-19 北京字節跳動網絡技術有限公司 ビデオ・データを処理する方法、装置及び記憶媒体
JP7422858B2 (ja) 2019-08-03 2024-01-26 北京字節跳動網絡技術有限公司 ビデオ処理方法、装置、記憶媒体及び記憶方法
WO2021032045A1 (en) 2019-08-17 2021-02-25 Beijing Bytedance Network Technology Co., Ltd. Context modeling of side information for reduced secondary transforms in video
EP4062645A4 (en) * 2019-11-21 2023-08-16 Beijing Dajia Internet Information Technology Co., Ltd. METHOD AND DEVICE FOR TRANSFORMATION AND COEFFICIENT SIGNALING
CN114982234A (zh) 2019-11-26 2022-08-30 弗劳恩霍夫应用研究促进协会 用于样本块的变换表示的编码概念
GB2593778A (en) * 2020-04-03 2021-10-06 Sony Group Corp Video data encoding and decoding
CN112543324B (zh) * 2020-12-06 2023-02-28 浙江大华技术股份有限公司 视频解码方法、编码方法、编解码器及存储介质
GB2603559B (en) * 2021-07-22 2023-08-09 Imagination Tech Ltd Coding blocks of pixels

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013542664A (ja) 2010-09-28 2013-11-21 サムスン エレクトロニクス カンパニー リミテッド 映像変換方法及びその装置、並びに映像逆変換方法及びその装置
US20170034530A1 (en) 2015-07-28 2017-02-02 Microsoft Technology Licensing, Llc Reduced size inverse transform for decoding and encoding
US20170094313A1 (en) 2015-09-29 2017-03-30 Qualcomm Incorporated Non-separable secondary transform for video coding
US20170324643A1 (en) 2016-05-03 2017-11-09 Qualcomm Incorporated Binarizing secondary transform index
WO2017195666A1 (ja) 2016-05-13 2017-11-16 ソニー株式会社 画像処理装置および方法
WO2017195667A1 (ja) 2016-05-13 2017-11-16 ソニー株式会社 画像処理装置および方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130003856A1 (en) * 2011-07-01 2013-01-03 Samsung Electronics Co. Ltd. Mode-dependent transforms for residual coding with low latency
US10194158B2 (en) * 2012-09-04 2019-01-29 Qualcomm Incorporated Transform basis adjustment in scalable video coding
US9571837B2 (en) * 2013-11-01 2017-02-14 Broadcom Corporation Color blending prevention in video coding
WO2016143991A1 (ko) * 2015-03-06 2016-09-15 한국과학기술원 저 복잡도 변환에 기반한 영상 부호화 및 복호화 방법 및 이를 이용하는 장치
US10931947B2 (en) * 2016-05-04 2021-02-23 Sharp Kabushiki Kaisha Systems and methods for coding transform data
CN113411580B (zh) * 2016-05-13 2024-01-30 夏普株式会社 图像解码装置及其方法、图像编码装置及其方法
JP6822470B2 (ja) * 2016-05-13 2021-01-27 ソニー株式会社 画像処理装置および方法
JP6861479B2 (ja) * 2016-06-24 2021-04-21 東京エレクトロン株式会社 プラズマ成膜方法およびプラズマ成膜装置
CN115052143A (zh) 2016-08-01 2022-09-13 韩国电子通信研究院 图像编码/解码方法
JPWO2018061837A1 (ja) * 2016-09-30 2019-07-11 ソニー株式会社 画像処理装置および方法
US10880564B2 (en) * 2016-10-01 2020-12-29 Qualcomm Incorporated Transform selection for video coding
US11095893B2 (en) * 2016-10-12 2021-08-17 Qualcomm Incorporated Primary transform and secondary transform in video coding
KR102287305B1 (ko) * 2017-01-03 2021-08-06 엘지전자 주식회사 이차 변환을 이용한 비디오 신호의 인코딩/디코딩 방법 및 장치
US10554974B2 (en) * 2017-01-13 2020-02-04 Mediatek Inc. Method and apparatus enabling adaptive multiple transform for chroma transport blocks using control flags
US11354824B2 (en) * 2017-03-23 2022-06-07 Sony Corporation Image processing apparatus and method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013542664A (ja) 2010-09-28 2013-11-21 サムスン エレクトロニクス カンパニー リミテッド 映像変換方法及びその装置、並びに映像逆変換方法及びその装置
US20170034530A1 (en) 2015-07-28 2017-02-02 Microsoft Technology Licensing, Llc Reduced size inverse transform for decoding and encoding
US20170094313A1 (en) 2015-09-29 2017-03-30 Qualcomm Incorporated Non-separable secondary transform for video coding
US20170324643A1 (en) 2016-05-03 2017-11-09 Qualcomm Incorporated Binarizing secondary transform index
WO2017195666A1 (ja) 2016-05-13 2017-11-16 ソニー株式会社 画像処理装置および方法
WO2017195667A1 (ja) 2016-05-13 2017-11-16 ソニー株式会社 画像処理装置および方法

Also Published As

Publication number Publication date
US11616985B2 (en) 2023-03-28
KR102465119B1 (ko) 2022-11-09
EP4250731A3 (en) 2023-12-06
KR20200123806A (ko) 2020-10-30
ES2961923T3 (es) 2024-03-14
JP2021517796A (ja) 2021-07-26
WO2019194504A1 (ko) 2019-10-10
EP3764649A1 (en) 2021-01-13
JP2023120355A (ja) 2023-08-29
CN112166613B (zh) 2022-10-21
FI3764649T3 (fi) 2023-10-19
CN115604468A (zh) 2023-01-13
US20230199220A1 (en) 2023-06-22
EP3764649B1 (en) 2023-09-27
HUE063982T2 (hu) 2024-02-28
KR102631119B1 (ko) 2024-01-29
EP4250731A2 (en) 2023-09-27
CN115604470A (zh) 2023-01-13
KR20220153118A (ko) 2022-11-17
EP3764649A4 (en) 2021-05-12
KR20240017106A (ko) 2024-02-06
SI3764649T1 (sl) 2023-12-29
PL3764649T3 (pl) 2024-01-22
US20210014534A1 (en) 2021-01-14
US11968398B2 (en) 2024-04-23
CN112166613A (zh) 2021-01-01
HRP20231341T1 (hr) 2024-02-16

Similar Documents

Publication Publication Date Title
JP7301951B2 (ja) 縮小された2次変換を用いて、ビデオ信号を処理する方法及び装置
JP7223014B2 (ja) 縮小された変換を用いて、ビデオ信号を処理する方法及び装置
KR102599446B1 (ko) 인트라 예측 모드에 기초하여 변환 인덱스 코딩을 수행하는 방법 및 이를 위한 장치
KR102385399B1 (ko) 비디오 압축을 위한 변환을 구성하는 방법 및 장치
KR102526578B1 (ko) 이차 변환을 기반으로 비디오 신호를 처리하는 방법 및 장치
KR102555966B1 (ko) 비디오 신호를 처리하기 위한 방법 및 장치
KR102650865B1 (ko) 분할된 블록에 2차 변환을 적용하여 비디오 신호를 처리하는 방법 및 장치
WO2019194505A1 (ko) 축소된 회전기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
KR102664785B1 (ko) 비디오 신호를 처리하기 위한 방법 및 장치
KR20240075908A (ko) 비디오 신호를 처리하기 위한 방법 및 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211005

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220621

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230315

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

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230525

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230621

R150 Certificate of patent or registration of utility model

Ref document number: 7301951

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150