本開示の一実施形態によれば、デコード装置によって行われる映像デコード方法が提供される。前記方法は、レジデュア情報を含むビットストリームを受信するステップと、前記ビットストリームに含まれた前記レジデュア情報に基づいて、現在ブロックに対する量子化された変換係数を導き出すステップと、逆量子化過程(inverse quantization process)に基づいて、前記量子化された変換係数から前記現在ブロックに対する変換係数を導き出すステップと、前記導き出された変換係数に逆変換(inverse transform)を適用して、前記現在ブロックに対するレジデュアサンプルを導き出すステップと、前記現在ブロックに対する前記レジデュアサンプルに基づいて、復元ピクチャを生成するステップとを含み、前記現在ブロックに対する前記変換係数の各々は、変換係数0で構成された高周波変換係数領域または少なくとも一つの有効変換係数を含む低周波変換係数領域と関連し、前記現在ブロックに対する変換係数のうち、前記低周波変換係数領域と関連した変換係数に対して、変換係数スキャニングが行われることを特徴とする。
本開示は、多様な変更を加えることができ、様々な実施形態を有することができるから、特定の実施形態を図面に例示し詳細に説明しようとする。しかしながら、これは、本開示を特定の実施形態に限定しようとするものではない。本明細書において常用する用語は、ただ特定の実施形態を説明するために使用されたもので、本開示の技術的思想を限定しようとする意図として使用されるものではない。単数の表現は、文脈上明白に異なって意味しない限り、複数の表現を含む。本明細書において「含む」または「有する」などの用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品またはこれらを組み合わせたものが存在することを指定しようとすることであり、一つまたはそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品またはこれらを組み合わせたものの存在または付加可能性を予め排除しないものと理解されなければならない。
一方、本開示において説明される図面上の各構成は、互いに異なる特徴的な機能に関する説明の便宜のために独立的に示されたものであり、各構成が互いに別のハードウェアまたは別のソフトウェアにより具現化されるということを意味しない。例えば、各構成のうち、二つ以上の構成が合わせられて一つの構成をなすこともでき、一つの構成が複数の構成に分けられることもできる。各構成が統合及び/または分離された実施形態も、本文書の本質から逸脱しない限り、本文書の権利範囲に含まれる。
以下、添付した図面を参照して、本開示の好ましい実施形態をさらに詳細に説明する。以下、図面上の同じ構成要素については、同じ参照符号を使用し同じ構成要素について重なった説明は省略する。
図1は、本開示が適用されることができるビデオ/映像コーディングシステムの例を概略的に示す。
この文書は、ビデオ/映像コーディングに関する。例えば、この文書において開示された方法/実施形態は、VVC(versatile video coding)標準、EVC(essential video coding)標準、AV1(AOMedia Video 1)標準、AVS2(2nd generation of audio video coding standard)または次世代ビデオ/映像コーディング標準(ex.H.267 or H.268等)に開示される方法に適用されることができる。
この文書では、ビデオ/映像コーディングに関する多様な実施形態を提示し、他の言及がない限り、前記実施形態は、互いに組合わせられて行われることもできる。
この文書において、ビデオ(video)は、時間の流れによる一連の映像(image)の集合を意味できる。ピクチャ(picture)は、一般に特定時間帯の一つの映像を表す単位を意味し、スライス(slice)/タイル(tile)は、コーディングにおいてピクチャの一部を構成する単位である。スライス/タイルは、一つ以上のCTU(coding tree unit)を含むことができる。一つのピクチャは、一つ以上のスライス/タイルで構成されることができる。一つのピクチャは、一つ以上のタイルグループで構成されることができる。一つのタイルグループは、一つ以上のタイルを含むことができる。ブリックは、ピクチャ内のタイル以内のCTU行の四角領域を表すことができる(a brick may represent a rectangular region of CTU rows within a tile in a picture)。タイルは、多数のブリックでパーティショニングされることができ、各ブリックは、前記タイル内の一つ以上のCTU行から構成されることができる(A tile maybe partitioned into multiple bricks、each of which consisting of one or more CTU rows within the tile)。多数のブリックでパーティショニングされないタイルは、またブリックと呼ばれることができる(A tile that is not partitioned into multiple bricks may be also referred to as a brick)。ブリックスキャンは、ピクチャをパーティショニングするCTUの特定の順次的オーダーリングを表すことができ、前記CTUは、ブリック内においてCTUラスタースキャンで整列されることができ、タイル内のブリックは、前記タイルの前記ブリックのラスタースキャンで連続的に整列されることができ、そしてピクチャ内のタイルは、前記ピクチャの前記タイルのラスタースキャンで連続的に整列されることができる(A brick scan is a specific sequential ordering of CTUs partitioning a picture in which the CTUs are ordered consecutively in CTU raster scan in a brick, bricks within a tile are ordered consecutively in a raster scan of the bricks of the tile, and tiles in a picture are ordered consecutively in a raster scan of the tiles of the picture)。タイルは、特定タイル列及び特定タイル列以内のCTUの四角領域である(A tile is a rectangular region of CTUs within a particular tile column and a particular tile row in a picture)。前記タイル列は、CTUの四角領域で、前記四角領域は、前記ピクチャの高さと同じ高さを有し、幅は、ピクチャパラメータセット内のシンタックス要素によって明示されることができる(The tile column is a rectangular region of CTUs having a height equal to the height of the picture and a width specified by syntax elements in the picture parameter set)。前記タイル行は、CTUの四角領域で、前記四角領域は、ピクチャパラメータセット内のシンタックス要素によって明示される幅を有し、高さは、前記ピクチャの高さと同一でありうる(The tile row is a rectangular region of CTUs having a height specified by syntax elements in the picture parameter set and a width equal to the width of the picture)。タイルスキャンは、ピクチャをパーティショニングするCTUの特定順次的オーダーリングを表すことができ、前記CTUは、タイル内のCTUラスタースキャンで連続的に整列されることができ、ピクチャ内のタイルは、前記ピクチャの前記タイルのラスタースキャンで連続的に整列されることができる(A tile scan is a specific sequential ordering of CTUs partitioning a picture in which the CTUs are ordered consecutively in CTU raster scan in a tile whereas tiles in a picture are ordered consecutively in a raster scan of the tiles of the picture)。スライスは、ピクチャの整数個のブリックを含むことができ、前記整数個のブリックは、一つのNALユニットに含まれることができる(A slice includes an integer number of bricks of a picture that may be exclusively contained in a single NAL unit)。スライスは、多数の完全なタイルで構成されることができ、または一つのタイルの完全なブリックの連続的なシーケンスでもありうる(A slice may consists of either a number of complete tiles or only a consecutive sequence of complete bricks of one tile)。この文書においてタイルグループとスライスは混用されうる。例えば、本文書においてtile group/tile group headerは、slice/slice headerと呼ばれることができる。
ピクセル(pixel)またはペル(pel)は、一つのピクチャ(または映像)を構成する最小の単位を意味できる。また、ピクセルに対応する用語として「サンプル(sample)」が使用されることができる。サンプルは、一般にピクセルまたはピクセルの値を表すことができ、ルーマー(luma)成分のピクセル/ピクセル値だけを表すこともでき、クロマ(chroma)成分のピクセル/ピクセル値だけを表すこともできる。
ユニット(unit)は、映像処理の基本単位を表すことができる。ユニットは、ピクチャの特定領域及び該当領域に関連した情報のうち、少なくとも一つを含むことができる。一つのユニットは、一つのルーマーブロック及び二つのクロマ(ex.cb、cr)ブロックを含むことができる。ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、MxNブロックは、M個の列とN個の行からなるサンプル(またはサンプルアレイ)または変換係数(transform coefficient)の集合(またはアレイ)を含むことができる。
この文書において“/”と“、”は、“及び/または”と解釈される。例えば、“A/B”は、“A及び/またはB”と解釈され、“A、B”は、“A及び/またはB”と解釈される。追加的に、“A/B/C”は、“A、B及び/またはCのうち、少なくとも一つ”を意味する。また、“A、B、C”も“A、B及び/またはCのうち、少なくとも一つ”を意味する。(In this document, the term “/” and “,” should be interpreted to indicate “and/or.” For instance, the expression “A/B” may mean “A and/or B.” Further, “A, B” may mean “A and/or B.” Further, “A/B/C” may mean “at least one of A, B, and/or C.” Also, “A/B/C” may mean “at least one of A, B, and/or C.”)
追加的に、本文書において“または”は、“及び/または”と解釈される。例えば、“AまたはB”は、1)“A”だけを意味したり、2)“B”だけを意味したり、3)“A及びB”を意味したりできる。別に表現すると、本文書の“または”は、“追加的にまたは大体的に(additionally or alternatively)”を意味できる(Further, in the document, the term “or” should be interpreted to indicate “and/or.” For instance, the expression “A or B” may comprise 1 only A, 2 only B, and/or 3 both A and B. In other words, the term “or” in this document should be interpreted to indicate “additionally or alternatively.”)
図1を参照すると、ビデオ/映像コーディングシステムは、第1装置(ソースデバイス)及び第2装置(受信デバイス)を含むことができる。ソースデバイスは、エンコードされたビデオ(video)/映像(image)情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスに伝達できる。
前記ソースデバイスは、ビデオソース、エンコード装置、転送部を含むことができる。前記受信デバイスは、受信部、デコード装置及びレンダラーを含むことができる。前記エンコード装置は、ビデオ/映像エンコード装置と呼ばれることができ、前記デコード装置は、ビデオ/映像デコード装置と呼ばれることができる。送信機は、エンコード装置に含まれることができる。受信機は、デコード装置に含まれることができる。レンダラーは、ディスプレイ部を含むこともでき、ディスプレイ部は、別のデバイスまたは外部コンポーネントで構成されることができる。
ビデオソースは、ビデオ/映像のキャプチャー、合成または生成過程などを介してビデオ/映像を獲得できる。ビデオソースは、ビデオ/映像キャプチャーデバイス及び/またはビデオ/映像生成デバイスを含むことができる。ビデオ/映像キャプチャーデバイスは、例えば、一つ以上のカメラ、以前にキャプチャーされたビデオ/映像を含むビデオ/映像アーカイブなどを含むことができる。ビデオ/映像生成デバイスは、例えばコンピュータ、タブレット及びスマートフォンなどを含むことができ、(電子的に)ビデオ/映像を生成できる。例えば、コンピュータなどを介して仮像のビデオ/映像が生成されることができ、この場合、関連データが生成される過程でビデオ/映像キャプチャー過程に代えることができる。
エンコード装置は、入力ビデオ/映像をエンコードできる。エンコード装置は、圧縮及びコーディング効率のために予測、変換、量子化など一連の手順を行うことができる。エンコードされたデータ(エンコードされたビデオ/映像情報)は、ビットストリーム(bitstream)形態で出力されることができる。
転送部は、ビットストリーム形態で出力されたエンコードされたビデオ/映像情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスの受信部に伝達できる。デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなどの多様な格納媒体を含むことができる。転送部は、予め決まったファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介した転送のためのエレメントを含むことができる。受信部は、前記ビットストリームを受信/抽出して、デコード装置に伝達できる。
デコード装置は、エンコード装置の動作に対応する逆量子化、逆変換、予測など一連の手順を行って、ビデオ/映像をデコードできる。
レンダラーは、デコードされたビデオ/映像をレンダリングできる。レンダリングされたビデオ/映像は、ディスプレイ部を介してディスプレできる。
図2は、本開示が適用されることができるビデオ/映像エンコード装置の構成を概略的に説明する図である。以下、ビデオエンコード装置とは、映像エンコード装置を含むことができる。
図2を参照すると、エンコード装置200は、映像分割部(image partitioner)210、予測部(predictor)220、レジデュア処理部(residual processor)230、エントロピーエンコード部(entropy encoder)240、加算部(adder)250、フィルタリング部(filter)260及びメモリ(memory)270を含んで構成されることができる。予測部220は、インター予測部221及びイントラ予測部222を含むことができる。レジデュア処理部230は、変換部(transformer)232、量子化部(quantizer)233、逆量子化部(dequantizer)234、逆変換部(inverse transformer)235を含むことができる。レジデュア処理部230は、減算部(subtractor)231をさらに含むことができる。加算部250は、復元部(reconstructor)または復元ブロック生成部(recontructged block generator)と呼ばれることができる。上述した映像分割部210、予測部220、レジデュア処理部230、エントロピーエンコード部240、加算部250及びフィルタリング部260は、実施形態によって一つ以上のハードウェアコンポーネント(例えば、エンコーダチップセットまたはプロセッサ)によって構成されることができる。また、メモリ270は、DPB(decoded picture buffer)を含むことができ、デジタル格納媒体によって構成されることもできる。前記ハードウェアコンポーネントは、メモリ270を内/外部コンポーネントとしてさらに含むこともできる。
映像分割部210は、エンコード装置200に入力された入力映像(または、ピクチャ、フレーム)を一つ以上の処理ユニット(processing unit)に分割できる。一例として、前記処理ユニットは、コーディングユニット(coding unit、CU)と呼ばれることができる。一例として、前記処理ユニットは、コーディングユニット(coding unit、CU)と呼ばれることができる。この場合、コーディングユニットは、コーディングツリーユニット( coding tree unit、CTU)または最大コーディングユニット(largest coding unit、LCU)からQTBTTT(Quad−tree binary−tree ternary−tree)構造に従って再帰的に(recursively)分割されることができる。例えば、一つのコーディングユニットは、クアッドツリー構造、バイナリツリー構造、及び/またはターナリーツリー構造に基づいて、下位(deeper)デプスの複数のコーディングユニットに分割されることができる。この場合、例えばクアッドツリー構造がまず適用され、バイナリツリー構造が後に適用されることができる。または、バイナリツリー構造がまず適用されることもできる。もうこれ以上分割されない最終コーディングユニットに基づいて、本開示によるコーディング手順が行われることができる。この場合、映像特性に応じるコーディング効率などに基づいて、最大コーディングユニットが直に最終コーディングユニットとして使用されることができ、または必要によってコーディングユニットは、再帰的に(recursively)より下位デプスのコーディングユニットに分割されて、最適のサイズのコーディングユニットが最終コーディングユニットとして使用されることができる。ここで、コーディング手順とは、後述する予測、変換、及び復元などの手順を含むことができる。他の例として、前記処理ユニットは、予測ユニット(PU:Prediction Unit)または変換ユニット(TU:Transform Unit)をさらに含むことができる。この場合、前記予測ユニット及び前記変換ユニットは、各々上述した最終コーディングユニットから分割またはパーティショニングされることができる。前記予測ユニットは、サンプル予測の単位でありえ、前記変換ユニットは、変換係数を誘導する単位及び/または変換係数からレジデュア信号(residual signal)を誘導する単位でありうる。
ユニットは、場合によってブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、MxNブロックは、M個の列とN個の行からなるサンプルまたは変換係数(transform coefficient)の集合を表すことができる。サンプルは、一般にピクセルまたはピクセルの値を表すこともでき、輝度(luma)成分のピクセル/ピクセル値だけを表すこともでき、彩度(chroma)成分のピクセル/ピクセル値だけを表すことができる。サンプルは、一つのピクチャ(または映像)をピクセル(pixel)またはペル(pel)に対応する用語として使用されることができる。
エンコード装置200は、入力映像信号(原本ブロック、原本サンプルアレイ)においてインター予測部221またはイントラ予測部222から出力された予測信号(予測されたブロック、予測サンプルアレイ)を減算して、レジデュア信号(residual signal、残余ブロック、残余サンプルアレイ)を生成でき、生成されたレジデュア信号は、変換部232に転送される。この場合、図示のようにエンコーダ200内で入力映像信号(原本ブロック、原本サンプルアレイ)において予測信号(予測ブロック、予測サンプルアレイ)を減算するユニットは、減算部231と呼ばれることができる。予測部は、処理対象ブロック(以下、現在ブロックという)に対した予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成できる。予測部は、現在ブロックまたはCU単位でイントラ予測が適用されるかどうか、またはインター予測が適用されるかどうかを決定できる。予測部は、各予測モードに対する説明において、後述するように予測モード情報など予測に関する多様な情報を生成してエントロピーエンコード部240に伝達できる。予測に関する情報は、エントロピーエンコード部240でエンコードされて、ビットストリーム形態で出力されることができる。
イントラ予測部222は、現在ピクチャ内のサンプルを参照して現在ブロックを予測できる。前記参照されるサンプルは、予測モードに応じて前記現在ブロックの周辺(neighbor)に位置でき、または離れて位置することもできる。イントラ予測において予測モードは、複数の非方向性モードと複数の方向性モードを含むことができる。非方向性モードは、例えばDCモード及びプラナーモード(Planarモード)を含むことができる。方向性モードは、予測方向の細かい程度によって、例えば33個の方向性予測モードまたは65個の方向性予測モードを含むことができる。ただし、これは、例示として設定によってそれ以上またはそれ以下の数の方向性予測モードが使用されることができる。イントラ予測部222は、周辺ブロックに適用された予測モードを利用して、現在ブロックに適用される予測モードを決定することもできる。
インター予測部221は、参照ピクチャ上において動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導できる。このとき、インター予測モードにおいて転送される動き情報の量を減らすために、周辺ブロックと現在ブロックとの間の動き情報の相関性に基づいて、動き情報をブロック、サブブロックまたはサンプル単位で予測できる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測の場合に、周辺ブロックは、現在ピクチャ内に存在する空間的周辺ブロック(spatial neighboring block)と参照ピクチャに存在する時間的周辺ブロック(temporal neighboring block)を含むことができる。前記参照ブロックを含む参照ピクチャと前記時間的周辺ブロックを含む参照ピクチャとは、同一であっても良く、異なって良い。前記時間的周辺ブロックは、同一位置参照ブロック(collocated reference block)、同一位置CU(colCU)などの名前で呼ばれることができ、前記時間的周辺ブロックを含む参照ピクチャは、同一位置ピクチャ(collocated picture、colPic)と呼ばれることもできる。例えば、インター予測部221は、周辺ブロックに基づいて動き情報候補リストを構成し、前記現在ブロックの動きベクトル及び/または参照ピクチャインデックスを導き出すために、どんな候補が使用されるかを指示する情報を生成できる。多様な予測モードに基づいてインター予測が行われることができ、例えばスキップモードとマージモードの場合に、インター予測部221は、周辺ブロックの動き情報を現在ブロックの動き情報として利用できる。スキップモードの場合、マージモードとは異なり、レジデュア信号が転送されなくても良い。動き情報予測(motion vector prediction、MVP)モードの場合、周辺ブロックの動きベクトルを動きベクトル予測子(motion vector predictor)として利用し、動きベクトル差分(motion vector difference)をシグナリングすることで、現在ブロックの動きベクトルを指示できる。
予測部220は、後述する多様な予測方法に基づいて、予測信号を生成できる。例えば、予測部は、一つのブロックに対する予測のために、イントラ予測またはインター予測を適用できるだけでなく、イントラ予測とインター予測を同時に適用できる。これは、combined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のために、イントラブロックコピー(intra block copy、IBC)予測モードに基づくこともでき、またはパレットモード(palette mode)に基づくこともできる。前記IBC予測モードまたはパレットモードは、例えばSCC(screen content coding)などのように、ゲームなどのコンテンツ映像/動映像コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を行うが、現在ピクチャ内で参照ブロックを導き出す点において、インター予測に類似して行われることができる。すなわち、IBCは、本文書において説明されるインター予測技法のうち、少なくとも一つを利用できる。パレットモードは、イントラコーディングまたはイントラ予測の一例と見なされることができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報に基づいて、ピクチャ内のサンプル値をシグナリングできる。
前記予測部(インター予測部221及び/または前記イントラ予測部222を含む)を介して生成された予測信号は、復元信号を生成するために利用されるか、またはレジデュア信号を生成するために利用されることができる。変換部232は、レジデュア信号に変換技法を適用して、変換係数(transform coefficients)を生成できる。例えば、変換技法は、DCT(Discrete Cosine Transform)、DST(Discrete Sine Transform)、KLT(Karhunen-Loeve Transform)、GBT(Graph−Based Transform)、またはCNT(Conditionally Non−linear Transform)のうち、少なくとも一つを含むことができる。ここで、GBTは、ピクセル間の関係情報をグラフで表現するとする時、このグラフから得られた変換を意味する。CNTは、以前に復元されたすべてのピクセル(all previously reconstructed pixel)を利用して予測信号を生成し、それに基づいて獲得される変換を意味する。また、変換過程は、正四角形の同じ大きさを有するピクセルブロックに適用されることもでき、正四角形でない可変大きさのブロックにも適用されることができる。
量子化部233は、変換係数を量子化してエントロピーエンコード部240に転送され、エントロピーエンコード部240は、量子化された信号(量子化された変換係数に関する情報)をエンコードしてビットストリームに出力できる。前記量子化された変換係数に関する情報は、レジデュア情報と呼ばれることができる。量子化部233は、係数スキャン順序(scan order)に基づいてブロック形態の量子化された変換係数を1次元ベクトル形態で再整列でき、前記1次元ベクトル形態の量子化された変換係数に基づいて、前記量子化された変換係数に関する情報を生成することもできる。エントロピーエンコード部240は、例えば指数ゴロム(exponential Golomb)、CAVLC(context−adaptive variable length coding)、CABAC(context−adaptive binary arithmetic coding)などのような多様なエンコード方法を行うことができる。エントロピーエンコード部240は、量子化された変換係数の他、ビデオ/イメージ復元に必要な情報(例えば、シンタックス要素(syntax elements)の値等)を共にまたは別にエンコードすることもできる。エンコードされた情報(ex.エンコードされたビデオ/映像情報)は、ビットストリーム形態でNAL(network abstraction layer)ユニット単位で転送または格納されることができる。前記ビデオ/映像情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)またはビデオパラメータセット(VPS)等、多様なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/映像情報は、一般制限情報(general constraint information)をさらに含むことができる。本文書においてエンコード装置からデコード装置に伝達/シグナリングされる情報及び/またはシンタックス要素は、ビデオ/映像情報に含まれることができる。前記ビデオ/映像情報は、上述したエンコード手順を介してエンコードされて、前記ビットストリームに含まれることができる。前記ビットストリームは、ネットワークを介して転送されることができ、またはデジタル格納媒体に格納されることができる。ここで、ネットワークは、放送網及び/または通信網などを含むことができ、デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど多様な格納媒体を含むことができる。エントロピーエンコード部240から出力された信号を転送する転送部(図示せず)及び/または格納する格納部(図示せず)がエンコード装置200の内/外部エレメントとして構成されることができ、または転送部は、エントロピーエンコード部240に含まれることもできる。
量子化部233から出力された量子化された変換係数は、予測信号を生成するために利用されることができる。例えば、量子化された変換係数に逆量子化部234及び逆変換部235を介して逆量子化及び逆変換を適用することによって、レジデュア信号(レジデュアブロックまたはレジデュアサンプル)を復元できる。加算部155は、復元されたレジデュア信号をインター予測部221またはイントラ予測部222から出力された予測信号に加えることによって、復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)が生成されることができる。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアがない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部250は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
一方、ピクチャエンコード及び/または復元過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
フィルタリング部260は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部260は、復元ピクチャに多様なフィルタリング方法を適用して、修正された(modified)復元ピクチャを生成でき、前記修正された復元ピクチャをメモリ270、具体的にメモリ270のDPBに格納することができる。前記多様なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。フィルタリング部260は、各フィルタリング方法に対する説明において、後述するようにフィルタリングに関する多様な情報を生成して、エントロピーエンコード部240に伝達できる。フィルタリングに関する情報は、エントロピーエンコード部240においてエンコードされて、ビットストリーム形態で出力されることができる。
メモリ270に転送された修正された復元ピクチャは、インター予測部221において参照ピクチャとして使用されることができる。エンコード装置は、これを介してインター予測が適用される場合、エンコード装置100とデコード装置での予測ミスマッチを避けることができ、符号化効率も向上させることができる。
メモリ270DPBは、修正された復元ピクチャをインター予測部221での参照ピクチャとして使用するために格納することができる。メモリ270は、現在ピクチャ内の動き情報が導き出された(またはエンコードされた)ブロックの動き情報及び/または既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的周辺ブロックの動き情報または時間的周辺ブロックの動き情報として活用するために、インター予測部221に伝達できる。メモリ270は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部222に伝達できる。
図3は、本開示が適用されることができるビデオ/映像デコード装置の構成を概略的に説明する図である。
図3を参照すると、デコード装置300は、エントロピーデコード部(entropy decoder)310、レジデュア処理部(residual processor)320、予測部(predictor)330、加算部(adder)340、フィルタリング部(filter)350及びメモリ(memoery)360を含んで構成されることができる。予測部330は、インター予測部331及びイントラ予測部332を含むことができる。レジデュア処理部320は、逆量子化部(dequantizer)321及び逆変換部(inverse transformer)322を含むことができる。上述したエントロピーデコード部310、レジデュア処理部320、予測部330、加算部340及びフィルタリング部350は、実施形態によって一つのハードウェアコンポーネント(例えばデコーダチップセットまたはプロセッサ)によって構成されることができる。また、メモリ360は、DPB(decoded picture buffer)を含むことができ、デジタル格納媒体によって構成されることもできる。前記ハードウェアコンポーネントは、メモリ360を内/外部コンポーネントとしてさらに含むことができる。
ビデオ/映像情報を含むビットストリームが入力されると、デコード装置300は、図2のエンコード装置においてビデオ/映像情報が処理されたプロセスに対応して映像を復元できる。例えば、デコード装置300は、前記ビットストリームから獲得したブロック分割関連情報に基づいて、ユニット/ブロックを導き出すことができる。デコード装置300は、エンコード装置において適用された処理ユニットを利用して、デコードを行うことができる。したがって、デコードの処理ユニットは、例えばコーディングユニットでありえ、コーディングユニットは、コーディングツリーユニットまたは最大コーディングユニットからクアッドツリー構造、バイナリツリー構造、及び/またはターナリーツリー構造に従って分割されることができる。コーディングユニットから一つ以上の変換ユニットが導き出されることができる。そして、デコード装置300を介してデコード及び出力された復元映像信号は、再生装置を介して再生されることができる。
デコード装置300は、図2のエンコード装置から出力された信号をビットストリーム形態で受信することができ、受信された信号は、エントロピーデコード部310を介してデコードされることができる。例えば、エントロピーデコード部310は、前記ビットストリームをパッシングして映像復元(またはピクチャ復元)に必要な情報(ex.ビデオ/映像情報)を導き出すことができる。前記ビデオ/映像情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)またはビデオパラメータセット(VPS)等、多様なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/映像情報は、一般制限情報(general constraint information)をさらに含むことができる。デコード装置は、前記パラメータセットに関する情報及び/または前記一般制限情報をさらに基づいて、ピクチャをデコードできる。本文書において後述するシグナリング/受信される情報及び/またはシンタックス要素は、前記デコード手順を介してデコードされて、前記ビットストリームから獲得されることができる。例えば、エントロピーデコード部310は、指数ゴロム符号化、CAVLCまたはCABACなどのコーディング方法に基づいて、ビットストリーム内の情報をデコードし、ビデオ復元に必要なシンタックスエレメントの値、レジデュアルに関する変換係数の量子化された値を出力できる。さらに詳細に、CABACエントロピーデコード方法は、ビットストリームにおいて各シンタックス要素に該当するビンを受信し、デコード対象シンタックス要素情報と周辺及びデコード対象ブロックのデコード情報あるいは以前ステップにおいてデコードされたシンボル/ビンの情報を利用して文脈(context)モデルを決定し、決定された文脈モデルに応じてビン(bin)の発生確率を予測して、ビンの算術デコード(arithmetic decoding)を行って、各シンタックス要素の値に該当するシンボルを生成できる。このとき、CABACエントロピーデコード方法は、文脈モデル決定後に次のシンボル/ビンの文脈モデルのためにデコードされたシンボル/ビンの情報を利用して、文脈モデルをアップデートできる。エントロピーデコード部310においてデコードされた情報のうち、予測に関する情報は予測部(インター予測部332及びイントラ予測部331)に提供され、エントロピーデコード部310においてエントロピーデコードが行われたレジデュアル値、すなわち量子化された変換係数及び関連パラメータ情報は、レジデュア処理部320に入力されることができる。レジデュア処理部320は、レジデュア信号(レジデュアブロック、レジデュアサンプル、レジデュアサンプルアレイ)を導き出すことができる。また、エントロピーデコード部310においてデコードされた情報のうち、フィルタリングに関する情報は、フィルタリング部350に提供されることができる。一方、エンコード装置から出力された信号を受信する受信部(図示せず)がデコード装置300の内/外部エレメントとしてさらに構成されることができ、または受信部は、エントロピーデコード部310の構成要素でもありうる。一方、本文書によるデコード装置は、ビデオ/映像/ピクチャデコード装置と呼ばれることができ、前記デコード装置は、情報デコーダ(ビデオ/映像/ピクチャ情報デコーダ)及びサンプルデコーダ(ビデオ/映像/ピクチャサンプルデコーダ)に区分することもできる。前記情報デコーダは、前記エントロピーデコード部310を含むことができ、前記サンプルデコーダは、前記逆量子化部321、逆変換部322、加算部340、フィルタリング部350、メモリ360、インター予測部332及びイントラ予測部331のうち、少なくとも一つを含むことができる。
逆量子化部321では、量子化された変換係数を逆量子化して変換係数を出力できる。逆量子化部321は、量子化された変換係数を2次元のブロック形態で再整列できる。この場合、前記再整列は、エンコード装置において行われた係数スキャン順序に基づいて再整列を行うことができる。逆量子化部321は、量子化パラメータ(例えば、量子化ステップサイズ情報)を利用して、量子化された変換係数に対する逆量子化を行い、変換係数(transform coefficient)を獲得できる。
逆変換部322では、変換係数を逆変換してレジデュア信号(レジデュアブロック、レジデュアサンプルアレイ)を獲得するようになる。
予測部は、現在ブロックに対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成できる。予測部は、エントロピーデコード部310から出力された前記予測に関する情報に基づいて、前記現在ブロックにイントラ予測が適用されるかどうか、またはインター予測が適用されるかどうかを決定でき、具体的なイントラ/インター予測モードを決定できる。
予測部320は、後述する多様な予測方法に基づいて予測信号を生成できる。例えば、予測部は、一つのブロックに対する予測のために、イントラ予測またはインター予測を適用できるだけでなく、イントラ予測とインター予測を同時に適用できる。これは、combined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のためにイントラブロックコピー(intra block copy、IBC)予測モードに基づくこともでき、またはパレットモード(palette mode)に基づくこともできる。前記IBC予測モードまたはパレットモードは、例えばSCC(screen content coding)などのように、ゲームなどのコンテンツ映像/動映像コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を行うが、現在ピクチャ内で参照ブロックを導き出す点において、インター予測と同様に行われることができる。すなわち、IBCは、本文書において説明されるインター予測技法のうち、少なくとも一つを利用できる。パレットモードは、イントラコーディングまたはイントラ予測の一例と見なすことができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報が前記ビデオ/映像情報に含まれてシグナリングされることができる。
イントラ予測部331は、現在ピクチャ内のサンプルを参照して現在ブロックを予測できる。前記参照されるサンプルは、予測モードに応じて前記現在ブロックの周辺(neighbor)に位置でき、または離れて位置することもできる。イントラ予測において予測モードは、複数の非方向性モードと複数の方向性モードを含むことができる。イントラ予測部331は、周辺ブロックに適用された予測モードを利用して、現在ブロックに適用される予測モードを決定することもできる。
インター予測部332は、参照ピクチャ上において動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導できる。このとき、インター予測モードにおいて転送される動き情報の量を減らすために、周辺ブロックと現在ブロック間の動き情報の相関性に基づいて、動き情報をブロック、サブブロックまたはサンプル単位で予測できる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測の場合に、周辺ブロックは、現在ピクチャ内に存在する空間的周辺ブロック(spatial neighboring block)と参照ピクチャに存在する時間的周辺ブロック(temporal neighboring block)を含むことができる。例えば、インター予測部332は、周辺ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて前記現在ブロックの動きベクトル及び/または参照ピクチャインデックスを導き出すことができる。多様な予測モードに基づいてインター予測が行われることができ、前記予測に関する情報は、前記現在ブロックに対するインター予測のモードを指示する情報を含むことができる。
加算部340は、獲得されたレジデュア信号を予測部(インター予測部332及び/またはイントラ予測部331を含む)から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることによって、復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成できる。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアがない場合、予測されたブロックが復元ブロックとして使用されることができる。
加算部340は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て出力されることもでき、または次のピクチャのインター予測のために使用されることもできる。
一方、ピクチャデコード過程においてLMCS(luma mapping with chroma scaling)が適用されることもできる。
フィルタリング部350は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部350は、復元ピクチャに多様なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成でき、前記修正された復元ピクチャをメモリ360、具体的にメモリ360のDPBに転送できる。前記多様なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。
メモリ360のDPBに格納された(修正された)復元ピクチャは、インター予測部332において参照ピクチャとして使用されることができる。メモリ360は、現在ピクチャ内の動き情報が導き出された(またはデコードされた)ブロックの動き情報及び/または既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的周辺ブロックの動き情報または時間的周辺ブロックの動き情報として活用するために、インター予測部260に伝達できる。メモリ360は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部331に伝達できる。
本明細書において、エンコード装置100のフィルタリング部260、インター予測部221及びイントラ予測部222において説明された実施形態は、各々デコード装置300のフィルタリング部350、インター予測部332及びイントラ予測部331にも同一または対応するように適用されることができる。
上述したように、ビデオコーディングを行うにおいて、圧縮効率を上げるために予測を行う。これによりコーディング対象ブロックである現在ブロックに対する予測サンプルを含む予測されたブロックを生成できる。ここで、前記予測されたブロックは、空間ドメイン(またはピクセルドメイン)での予測サンプルを含む。前記予測されたブロックは、エンコード装置及びデコード装置から同様に導き出され、前記エンコード装置は、原本ブロックの原本サンプル値自体でない前記原本ブロックと前記予測されたブロック間のレジデュアに対する情報(レジデュア情報)をデコード装置にシグナリングすることによって、映像コーディング効率を上げることができる。デコード装置は、前記レジデュア情報に基づいてレジデュアサンプルを含むレジデュアブロックを導き出し、前記レジデュアブロックと前記予測されたブロックを合せて、復元サンプルを含む復元ブロックを生成でき、復元ブロックを含む復元ピクチャを生成できる。
前記レジデュア情報は、変換及び量子化手順を介して生成されることができる。例えば、エンコード装置は、前記原本ブロックと前記予測されたブロック間のレジデュアブロックを導き出し、前記レジデュアブロックに含まれたレジデュアサンプル(レジデュアサンプルアレイ)に変換手順を行って変換係数を導き出し、前記変換係数に量子化手順を行って、量子化された変換係数を導き出して、関連したレジデュア情報を(ビットストリームを介して)デコード装置にシグナリングできる。ここで、前記レジデュア情報は、前記量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータなどの情報を含むことができる。デコード装置は、前記レジデュア情報に基づいて逆量子化/逆変換手順を行い、レジデュアサンプル(またはレジデュアブロック)を導き出すことができる。デコード装置は、予測されたブロックと前記レジデュアブロックに基づいて復元ピクチャを生成できる。エンコード装置は、また以後ピクチャのインター予測のための参照のために、量子化された変換係数を逆量子化/逆変換してレジデュアブロックを導き出し、これに基づいて復元ピクチャを生成できる。
図4は、一実施形態による高周波ゼロイングを説明するための図である。
本明細書の「高周波ゼロイング(high frequency zeroing)」は、第1横サイズ(または長さ)W1、第1縦サイズ(または長さ)H1を有する(変換)ブロックにおいて一定値以上に高い周波数と関連した変換係数をゼロ化(すなわち、0に決定)する過程を意味する。高周波ゼロイングが適用される場合、前記(変換)ブロック内の変換係数のうち、第2横サイズW2及び第2縦サイズH2に基づいて構成される低周波変換係数領域の外部の変換係数の変換係数値は、全部0に決定(設定)できる。前記低周波変換係数領域の外部は、高周波変換係数領域と呼ばれることができる。一例として、前記低周波変換係数領域は、前記(変換)ブロックの左上端から位置する四角形模様の領域でありうる。
本明細書では、特定情報または概念を定義するための特定用語または文章を使用している。例えば、上述したように、本明細書では、第1横サイズ(または長さ)W1、第1縦サイズ(または長さ)H1を有する(変換)ブロックにおいて一定値以上に高い周波数と関連した変換係数をゼロ化する過程を「高周波ゼロイング」と定義しており、前記高周波ゼロイングを介してゼロイングが行われた領域を「高周波変換係数領域」と、前記ゼロイングが行われない領域を「低周波変換係数領域」と定義している。前記低周波変換係数領域のサイズを表すために、第2横サイズ(または長さ)W2と第2縦サイズ(または長さ)H2が使用されている。
しかしながら、「高周波ゼロイング」は、highfrequency zeroing、ハイフリークエンシーゼロイング、高周波ゼロ化など、多様な用語に代替でき、前記「高周波変換係数領域」は、高周波ゼロイング適用領域、ハイフリークエンシー領域、高周波係数領域など多様な用語に代替でき、前記「低周波変換係数領域」は、高周波ゼロイング未適用領域、ローフリークエンシー領域、低周波係数領域、制限領域など多様な用語に代替できるから、本明細書において特定情報または概念を定義するために使用された特定用語または文章を明細書全般において解析するにおいて、その名称に限定された解析をしてはならず、前記用語が表そうとする内容に従う多様な動作、機能及び効果に注目して解析する必要がある。
一実施形態では、高周波ゼロイングが適用される(変換)ブロック(TB、TUまたはCB)に対したシンタックス要素last_sig_coeff_x_prefix及びlast_sig_coeff_y_prefixの二進化を行う方法が提案されることができる。last_sig_coeff_x_prefixとlast_sig_coeff_y_prefixは、トランケーティドライスコード(truncated Rice code)で二進化されることができ、このとき、cRiceParamの値は、0を使用することができる。トランケーティドライスコードに対する二進化に用いられるcMaxの値は、last_sig_coeff_x_prefixの二進化を行う時には、式1に基づき、last_sig_coeff_y_prefixの二進化を行う時には、式2に基づいて決定されることができる。
[数1]
cMax=(log2W1<<1)−1
[数2]
cMax=(log2H1<<1)−1
式中、W1は、(変換)ブロックの横長(または幅)、H1は、変換ブロックの縦長(または高さ)を表すことができる。例えば、図6のような64x32変換ブロックの場合、W1は64、H1は32である。したがって、last_sig_coeff_x_prefixの二進化のためのcMaxの値は、11、last_sig_coeff_y_prefixの二進化のためのcMaxの値は、9になることができる。
以下の表1は、W1またはH1が32の場合の二進化を、以下の表2は、W1またはH1が64の場合の二進化コードワードを表す。一実施形態では、変換ブロックのサイズに基づいてトランケーティドライスコード(truncated Rice code)二進化を行うことができるので、以下の表2のように、LastSignificantCoeffXまたはLastSignificantCoeffYの値が32ないし47の場合を符号化するためのlast_sig_coeff_x_prefixまたはlast_sig_coeff_y_prefixのコードワードは、「11111111110」になることができ、48〜63の場合を符号化するためのコードワードは、「11111111111」になることができる。2通りとも、11個のビンに基づいて二進化されることができる。前記コードワードは、ビンストリングと呼ばれることができる。
一方、一実施形態によるエンコード装置(エントロピーエンコード部)は、(量子化された)変換係数に対するレジデュアコーディング手順を行うことができる。一例において、エンコード装置は、現在ブロック(現在コーディングブロック(CB)または現在変換ブロック(TB))内(量子化された)変換係数をスキャン順序に応じてレジデュアコーディングできる。このとき、エンコード装置は、例えば以下の表3に記載されたようなレジデュア情報に関する多様なシンタックス要素を生成及びエンコードできる。
前記表3に表れたように、last_sig_coeff_x_prefixの値が3より大きな場合、last_sig_coeff_x_suffixがさらにシグナリングされることが、前記last_sig_coeff_x_suffixの値に基づいてLastSignificantCoeffXが導き出されることができる。例えば、LastSignificantCoeffXの値が32〜47の場合を符号化するためのlast_sig_coeff_x_prefixのコードワードは、‘11111111110’になることができ、32〜47のうち、どんな値が用いられるかは、前記last_sig_coeff_x_suffixの値に基づいて決定されることができる。また、前記表1に表されたように、last_sig_coeff_y_prefixの値が3より大きな場合、last_sig_coeff_y_prefixがさらにシグナリングされることができ、前記last_sig_coeff_y_suffixの値に基づいてLastSignificantCoeffYが導き出されることができる。例えば、LastSignificantCoeffYの値が32〜47の場合を符号化するためのlast_sig_coeff_x_prefixのコードワードは、‘11111111110’で、32〜47のうち、どんな値が用いられるかは、前記last_sig_coeff_y_suffixの値に基づいて決定されることができる。
LastSignificantCoeffXまたはLastSignificantCoeffYを導き出すための具体的な計算は、例えば以下の表4のように行われることができる。
高周波ゼロイングは、第1横サイズW1または第1縦サイズH1を有する変換ブロックにおいて一定以上に高い周波数の係数をゼロ化して(すなわち、0に決定して)残余変換係数を第2横サイズW2または第2縦サイズH2に制限するのを意味する。このとき、一実施形態では、変換ブロックのサイズ(第1横サイズまたは第1縦サイズ)に基づいたトランケーティドライスコードに基づいて二進化するよりは、高周波ゼロイングを介して導き出される制限領域のサイズ(第2横サイズまたは第2縦サイズ)に基づいたトランケーティドライスコードに基づいて二進化を行う方案を考慮することができる。第2横サイズと第2縦サイズを利用してlast_sig_coeff_x_prefixのためのcMaxとlast_sig_coeff_y_prefixのためのcMaxを以下の式3及び式4でそれぞれ定義した後、トランケーティドライスコードを生成できる。
[数3]
cMax=(log2(min(W1,W2))<<1)−1
[数4]
cMax=(log2(min(H1,H2))<<1)−1
一例において、第1横サイズまたは第1縦サイズが64で、第2横サイズまたは第2縦サイズが32のとき、前記式3または式4に基づいて導き出されるトランケーティドライスコードは、以下の表5のとおりである。高周波ゼロイングを介して、前記第2横サイズまたは前記第2縦サイズの外で形成される高周波変換係数領域内の高周波係数において残余変換係数がなくなるので、下記の表6のような二進化コードワード設計が可能でありうる。
一実施形態において、W2とH2は、固定された値に設定されることができる。またはW2及びH2は、W1及びH1に基づいて決定されることができる。またはW2及びH2を表す情報がエンコード装置からデコード装置へシグナリングされることができる。一例において、前記W2とH2は、それぞれ32または16に設定されることができる。他の例示において、前記W2とH2は、それぞれW1の1/2、H1の1/2に導き出されることができる。さらに他の例において、前記W2とH2は、max(W1,H1)の1/2に導き出されうる。ただし、これは、例示に過ぎず、前記W2とH2は、エンコード装置及びデコード装置において設定されたさらに他の多様な方法によって決定されることができる。提案する方法を介してLastSignificantCoeffXまたはLastSignificantCoeffYの一部値に対するコードワードの長さを効果的に減らすことができる。また、これにより低減される符号化ビン(bin)が文脈符号化ビンであるから、処理量(throughput)面において利点を有することができる。
一例において、図4において説明した実施形態に基づいて、図7aないし図8bにおいて後述するレジデュアコーディング方法が行われることができる。他の一例において、図4において説明した実施形態に基づいて、図9において後述するエンコード方法または図11において後述するデコード方法が行われることができる。
図5は、高周波ゼロイングが適用された現在ブロックに対する変換係数をスキャンする方法の一例を説明するための図で、図6は、高周波ゼロイングが適用された現在ブロックに対する変換係数をスキャンする方法の他の一例を説明するための図である。
一実施形態では、最後の0でない係数が含まれた最後の変換係数グループの位置から逆対角方向に変換係数グループをスキャンしながらレジデュアコーディングを行うことができる。反面、これに追加してまたはこれに代えて(additionally or alternatively)、他の一実施形態では、高周波ゼロイングが適用される変換ブロックに対して、変換係数グループのスキャン順序を変更できる。
図5は、高周波ゼロイングが適用された64x64変換ブロックにおいて4x4変換係数グループがスキャンされる方法を示している。図5において、Lで表示された部分が最後の0でない係数が含まれた4x4変換係数グループを意味する。高周波ゼロイングは、第1横サイズW1及び/または第1縦サイズH1を有する変換ブロックにおいて一定周波数以上の高周波と関連した変換係数をゼロ化して(またはゼロアウトして)残余変換係数を第2横サイズW2及び/または第2縦サイズH2に制限するのを意味し、図5においてドット(dot)表示された4x4ブロックは、高周波ゼロイングを介してゼロアウトされる領域を示す。図5において前記斜線領域は、低周波変換係数領域であって、前記ドット表示された領域は、高周波変換係数領域と呼ばれることができる。
W2及び/またはH2は、固定される値に設定されるか、またはW1及び/またはH1に基づいて決定されることができる。または、W2及び/またはH2を表す情報がエンコード装置からデコード装置へシグナリングされうる。一例において、前記W2、H2は、それぞれ32または16に設定されることができる。他の一例において、前記W2及び/またはH2は、それぞれW1の1/2及び/またはH1の1/2に導き出されることができる。さらに他の一例において、前記W2及び/またはH2は、max(W1,H1)の1/2に導き出されうる。ただし、前記される例は、一部に過ぎず、前記W2及び/またはH2は、エンコード装置及びデコード装置において多様な方法に基づいて決定されることもできる。
図5による変換係数グループスキャン方法を使用すると、高周波ゼロイングを介してゼロアウトされる領域もまた、逆対角線スキャン順序に応じてスキャンされなければならないことを確認することができる。このように不必要なブロックをスキャンする場合、コーディング複雑度(complexity)が上昇でき、ゼロアウト領域(図5にx表示された4x4ブロックが構成する領域)において毎度コーディドサブブロックフラグ(前記現在ブロック内のサブブロックに対する変換係数の変換係数レベルが全部0であるかどうかを表すフラグであって、例えばcoded_sub_block_flagで表現されることができる)が0であることを符号化しなければならないバードン(bunden)が発生できる。
したがって、高周波ゼロイングが適用される場合、変換係数グループのスキャンを高周波ゼロイングにおいて制限される領域(または、低周波変換係数領域)のサイズ(第2横サイズまたは第2縦サイズ)内においてのみ行うと制限する方法が考慮されうる。一実施形態では、図5による変換係数グループスキャンの代わりに、図6のように変換係数グループスキャンを行う方法を提案する。
図6による変換係数グループスキャン方法を行う場合、不必要なスキャン過程を省略でき、コーディドサブブロックフラグが不必要に符号化されるのを防止できる。すなわち、図6による一実施形態によれば、エンコード装置は、現在(変換)ブロック内でW2及び/またはH2を超過する領域(すなわち、高周波変換係数領域)に位置するサブブロックに対するコーディドサブブロックフラグをレジデュアコーディングシンタックス(またはビットストリーム)に含まなくても良い。すなわち、W2及び/またはH2を超過する領域に位置するサブブロックに対するシンタックス要素coded_sub_block_flagに関するビットが割り当てられないことができる。このような場合、デコード装置は、W2及び/またはH2を超過する領域に位置するサブブロックに対してはスキャンを行わなくても、前記W2及び/またはH2を超過する領域には、最後の有効係数が位置しないことを推論できる。また、デコード装置は、W2及び/またはH2を超過する領域に位置するサブブロックに対するシンタックス要素coded_sub_block_flagをレジデュアコーディングシンタックス(またはビットストリーム)からパッシング(parsing)せずに、該当シンタックス要素coded_sub_block_flagの値を0と推論ができる。
したがって、図6による一実施形態では、図5による一実施形態と比較する時、前記64x64現在ブロックに含まれた総49個の4x4サブブロックに対して、‘coded_sub_block_flag=0’であることを符号化しないことができる。coded_sub_block_flagは、文脈符号化ビンで符号化されるので、図6による一実施形態によれば、処理量(throughput)面においても、利点を有することができる。すなわち、レジデュアコーディング過程において高周波ゼロイングが適用されて、ゼロアウト領域内の0でない有効係数が存在しないと見なされる場合、変換過程で要求される算術的複雑度(computational complexity)がメモリ観点において減ることができる。
一例において、図5及び図6において説明した実施形態に基づいて図7aないし 図8bにおいて後述するレジデュアコーディング方法が行われることができる。他の一例において、図5及び図6において説明した実施形態に基づいて図9において後述するエンコード方法または図11から後述するデコード方法が行われることができる。
図7a及び図7bは、一実施形態によるエントロピーエンコード部の構成及び動作を説明するための図である。
図7a及び図7bを参照すると、エンコード装置(エントロピーエンコード部)は、(量子化された)変換係数に対するレジデュアコーディング手順を行うことができる。前記(量子化された)変換係数は、一例では、高周波ゼロイングが適用された変換係数でありえ、他の一例示では、0でない高周波係数を含むことができ、このとき、エントロピーエンコード部において行われるレジデュアコーディング手順において高周波係数は、0と見なされるか、または処理されることができる。エンコード装置は、図4において前述したように、現在ブロック(現在コーディングブロック(CB)または現在変換ブロック(TB))内(量子化された)の変換係数をスキャン順序に応じてレジデュアコーディングできる。エンコード装置は、例えば前記表3に記載されたように、レジデュア情報に関する多様なシンタックス要素を生成及びエンコードできる。S700及びS710は、図2のレジデュア情報エンコード手順に含まれることができる。
エンコード装置は、レジデュア関連シンタックス要素に対する二進化を行うことができる(S700)。一例において、last_sig_coeff_x_prefix及びlast_sig_coeff_y_prefixに対しては、前記図4において前述した実施形態による二進化が行われることができる。前記last_sig_coeff_x_prefix及び前記last_sig_coeff_y_prefixは、現在ブロック内の最後の有効係数の位置に基づいて導き出されることができる。また、前記表3の残りのシンタックス要素に対しても決まった方法に従って二進化が行われることができる。他の一例において、transform_skip_flag、last_sig_coeff_x_suffix、last_sig_coeff_y_suffix、coded_sub_block_flag、sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、coeff_sign_flag、mts_idxなどに対しては、固定長二進化過程(Fixed−length binarization process)にともなう二進化が行われることができ、abs_remainderに対しては、それに相応する二進化が行われることができる。
前記last_sig_coeff_x_prefix及びlast_sig_coeff_y_prefixは、現在ブロックに対する変換係数のうち、0でない最後の変換係数の位置に対するラスト有効係数プレフィックス情報(last significant coefficient prefix information)の一例示を表すことができる。さらに具体的に、last_sig_coeff_x_prefixは、前記ラスト有効係数プレフィックス情報のうち、一つであるx軸プレフィックス情報の一例示を表すことができ、last_sig_coeff_y_prefixは、前記ラスト有効係数プレフィックス情報のうち、一つであるy軸プレフィックス情報の一例示を表すことができる。前記last_sig_coeff_x_prefix及びlast_sig_coeff_y_prefixに対する二進化過程において、cRiceParamの値は、0が使用されることができる。エンコード装置は、前記二進化手順を介して前記last_sig_coeff_x_prefix及びlast_sig_coeff_y_prefixの各々に対するビンストリング(binstring)を導き出すことができる。前記二進化手順は、エントロピーエンコード部240内の二進化部242によって行われることができる。
一実施形態によれば、高周波ゼロイングが適用されるかどうかに基づいて、last_sig_coeff_x_prefix及びlast_sig_coeff_y_prefixの各々に対するcMax値を導き出すことができる。cMaxを導き出すための具体的な式は、図4において前述したとおりである。前記cMaxは、last_sig_coeff_x_prefixまたはlast_sig_coeff_y_prefixに対する二進化過程で導き出されるコードワード(ビンストリング)の最大長を表すことができる。cMaxの値を減らす場合、last_sig_coeff_x_prefixまたはlast_sig_coeff_y_prefixに対するコードワードの長さを効果的に減らすことができ、前記コードワードを減らすことによって低減される符号化ビン(bin)が文脈符号化(contextcoding)ビンであるから、映像コーディング処理量(throughput)面において利点を有することができる。
エンコード装置は、前記レジデュアコーディング関連シンタックス要素に対するエントロピーエンコーディングを行うことができる(S710)。エンコード装置は、上述した高周波ゼロイングが適用される領域に対しては、変換係数スキャンを省略でき、前記高周波ゼロイングが適用される領域に対しては、coded_sub_block_flagをエンコードしないことができる。すなわち、エンコード装置は、レジデュアコーディングシンタックス(またはビットストリーム)を生成するにおいて、高周波ゼロイングが適用される領域に位置するサブブロックに対するシンタックス要素coded_sub_block_flagを含まなくても良い。エンコード装置は、高周波ゼロイングが適用されない領域、すなわち左上端変換係数領域(または低周波変換係数領域)に対してのみcoded_sub_block_flagをエンコードして、レジデュアコーディングシンタックス(またはビットストリーム)に含めることができる。これにより、レジデュアコーディングに割り当てられるビット数が低減できる。
エンコード装置は、CABAC(context−adaptive arithmetic coding)またはCAVLC(context−adaptive variable length coding)などのエントロピーコーディング技法に基づいて、前記ビンストリングをコンテキスト基盤またはバイパス基盤エンコードでき、その出力は、ビットストリームに含まれることができる。前記エントロピーエンコード手順は、エントロピーエンコード部240内のエントロピーエンコーディング処理部244によって行われることができる。前記ビットストリームは、上述したように、last_sig_coeff_x_prefix及びlast_sig_coeff_y_prefixに対する情報を含むレジデュア情報の他にも、予測情報など映像/ビデオデコードのための多様な情報を含むことができる。前記ビットストリームは、(デジタル)格納媒体またはネットワークを介してデコード装置に伝達されることができる。
図8a及び図8bは、一実施形態によるエントロピーデコード部の構成及び動作方法を説明するための図である。
図8a及び図8bを参照すると、デコード装置(エントロピーデコード部)は、エンコードされたレジデュア情報をデコードして(量子化された)変換係数を導き出すことができる。デコード装置は、図4において前述されたように、現在ブロック(現在コーディングブロック(Coding Block)または現在変換ブロック(Transform Block))に対するエンコードされたレジデュア情報をデコードして(量子化された)、変換係数を導き出すことができる。例えば、デコード装置は、前記表3に記載されたようなレジデュア情報に関する多様なシンタックス要素をデコードし、関連シンタックス要素の値を解析し、解析されたシンタックス要素の値に基づいて、前記(量子化された)変換係数を導き出すことができる。S800ないしS810は、上述した図3の(量子化された)変換係数を導き出す手順に含まれることができる。
デコード装置は、レジデュア関連シンタックス要素に対する二進化を行うことができる(S800)。例えば、last_sig_coeff_x_prefix及びlast_sig_coeff_y_prefixに対して、前記図4において前述された実施形態に基づいた二進化を行うことができる。このとき、cRiceParamの値は0が使用されることができる。前記二進化手順は、デコード装置は、前記二進化手順を介して前記last_sig_coeff_x_prefix及びlast_sig_coeff_y_prefix各々の可用値に対する可用ビンストリングを導き出すことができる。前記二進化手順は、エントロピーデコード部310内の二進化部312によって行われることができる。一実施形態によれば、高周波ゼロイングが適用されるかどうかに基づいて、last_sig_coeff_x_prefix及びlast_sig_coeff_y_prefix各々に対するcMax値を導き出すことができる。cMaxを導き出すための具体的な式は、図4において前述されたことがある。
前記cMaxは、last_sig_coeff_x_prefixまたはlast_sig_coeff_y_prefixに対する二進化過程において導き出されるコードワード(ビンストリング)の最大長を表すことができる。cMaxの値を減らす場合、last_sig_coeff_x_prefixまたはlast_sig_coeff_y_prefixに対するコードワードの長さを効果的に減らすことができ、前記コードワードを減らすことによって低減する符号化ビン(bin)が文脈符号化(context coding)ビンであるから、映像コーディング処理量(throughput)の面において利点を有することができる。
一方、前記表3の残りのシンタックス要素に対しても決まった方法に従って二進化が行われることができる。例えば、transform_skip_flag、last_sig_coeff_x_suffix、last_sig_coeff_y_suffix、coded_sub_block_flag、sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、coeff_sign_flag、mts_idxなどに対しては、固定長二進化過程(Fixed−length binarization process)による二進化が行われることができ、abs_remainderに対しては、それに相応する二進化が行われることができる。
デコード装置は、前記レジデュアコーディング関連シンタックス要素に対するエントロピーデコードを行うことができる(S810)。デコード装置は、各シンタックス要素に対する各ビンを順次にパッシング及びデコードしながら、導き出されたビンストリングを前記可用ビンストリングと比較できる。仮に導き出されたビンストリングが前記可用ビンストリングのうち、いずれか一つと同一であると、該当ビンストリングに対応する値が該当シンタックス要素の値として導き出されることができる。仮に導き出されたビンストリングが前記可用ビンストリングのうち、いずれか一つとも同一でない場合、前記ビットストリーム内の次のビットをさらにパッシングしデコードした後、前記比較手順を行うことができる。このような過程を介してビットストリーム内に特定情報(特定シンタックス要素)に対した開始ビットまたは終了ビットを使用しなくても、可変長ビットを利用して該当情報をシグナリングでき、これを通じて低い値に対しては、相対的により少ないビットを割り当てることによって、全般的なコーディング効率を上げることができる。
デコード装置は、高周波ゼロイングが適用される領域に対しては、変換係数スキャンを省略でき、高周波ゼロイングが適用される領域に対しては、coded_sub_block_flagをパッシング及び/またはデコードせずに、0と見なすことができる。すなわち、デコード装置は、高周波ゼロイングが適用される領域に位置するサブブロックに対してはスキャンを行わなくても、最後の有効係数が位置しないことを推論でき、高周波ゼロイングが適用される領域に位置するサブブロックに対するシンタックス要素coded_sub_block_flagをレジデュアコーディングシンタックス(またはビットストリーム)からパッシング(parsing)しないことができ、該当シンタックス要素coded_sub_block_flagの値を0と推論できる。
また、デコード装置は、現在ブロックに対するレジデュア情報(例えば、レジデュアコーディングシンタックス)内でパッシング及び/またはデコードされたシンタックス要素coded_sub_block_flagが高周波ゼロイングが適用される領域に対することでないことを推論でき、左上端変換ブロックに対するレジデュア情報(例えば、レジデュアシンタックス)内で初めてパッシング及び/またはデコードされたシンタックス要素coded_sub_block_flagは、スキャン順序に基づいて導き出される第1番目のサブブロックに対したことであることを推論できる。
デコード装置は、CABACまたはCAVLCなどのエントロピーコーディング技法に基づいて、ビットストリームから前記ビンストリング内の各ビンをコンテキスト基盤またはバイパス基盤にデコードできる。前記エントロピーデコード手順は、エントロピーデコード部310内のエントロピーデコード処理部314によって行われることができる。デコード装置は、前記last_sig_coeff_x_prefixの値及びlast_sig_coeff_y_prefixの値に基づいて、最後の有効係数の位置を導き出すことができる。具体的な計算は、例えば以下の表6に基づいて行われることができる。
表6においてLastSignificantCoeffXは、現在(変換)ブロック内の0でない最後の有効係数のx軸位置を表し、LastSignificantCoeffYは、現在(変換)ブロック内の0でない最後の有効係数のy軸位置を表すことができる。
前記ビットストリームは、上述した通りにlast_sig_coeff_x_prefix及びlast_sig_coeff_y_prefixに対する情報を含むレジデュア情報の他にも、予測情報など映像/ビデオデコードのための多様な情報を含むことができる。前記ビットストリームは、(デジタル)格納媒体またはネットワークを介してデコード装置に伝達されうることは前述したとおりである。
デコード装置は、前記(量子化された)変換係数に基づいて逆量子化及び/または逆変換手順を行って、現在ブロックに対するレジデュアサンプルを導き出すことができる。前記レジデュアサンプル及びインター/イントラ予測を介して導き出された予測サンプルに基づいて、復元サンプルが生成されることができ、前記復元サンプルを含む復元ピクチャが生成されることができる。
図9は、一実施形態によるエンコード装置の動作を示すフローチャートで、図10は、一実施形態によるエンコード装置の構成を示すブロック図である。
図9及び図10によるエンコード装置は、図11及び図12によるデコード装置と対応する動作を行うことができる。したがって、図11及び図12において後述するデコード装置の動作は、図9及び図10によるエンコード装置にも同様に適用されることができる。
図9に開示された各ステップは、図2に開示されたエンコード装置200によって行われることができる。さらに具体的に、S900は、図2に開示された減算部231によって行われることができ、S910は、図2に開示された変換部232によって行われることができ、S920は、図2に開示された量子化部233によって行われることができ、S930は、図2に開示されたエントロピーエンコード部240によって行われることができる。なお、S900ないしS930に応じる動作は、図4ないし図8において前述された内容のうち、一部を基盤としたものである。したがって、図2及び図4ないし図8bにおいて前述された内容と重複する具体的な内容は、説明を省略するか、または簡単にする。
図10に示すように、一実施形態によるエンコード装置は、減算部231、変換部232、量子化部233及びエントロピーエンコード部240を含むことができる。しかしながら、場合によっては、図10に示す構成要素全部がエンコード装置の必須構成要素ではないことができ、エンコード装置は、図10に示された構成要素より多いか、または少ない構成要素により具現化されることができる。
一実施形態によるエンコード装置において減算部231、変換部232、量子化部233及びエントロピーエンコード部240は、各々別のチップ(chip)により具現化されるか、または少なくとも二つ以上の構成要素が一つのチップにより具現化されることができる。
一実施形態によるエンコード装置は、現在ブロックに対するレジデュアサンプルを導き出すことができる(S900)。さらに具体的に、エンコード装置の減算部231は、現在ブロックに対するレジデュアサンプルを導き出すことができる。
一実施形態によるエンコード装置は、前記現在ブロックに対する前記レジデュアサンプルを変換して、前記現在ブロックに対する変換係数を導き出すことができる(S910)。さらに具体的に、エンコード装置の変換部232は、前記現在ブロックに対する前記レジデュアサンプルを変換して、前記現在ブロックに対する変換係数を導き出すことができる。
一実施形態によるエンコード装置は、量子化過程に基づいて前記変換係数から量子化された変換係数を導き出すことができる(S920)。さらに具体的に、エンコード装置の量子化部233は、量子化過程に基づいて前記変換係数から量子化された変換係数を導き出すことができる。
一実施形態によるエンコード装置は、前記量子化された変換係数に対する情報を含むレジデュア情報をエンコードできる(S930)。さらに具体的に、エンコード装置のエントロピーエンコード部240は、前記量子化された変換係数に対する情報を含むレジデュア情報をエンコードできる。
一実施形態において、前記現在ブロックは、現在変換ブロック(TBまたはTU)または現在コーディングブロック(CBまたはCU)を表すことができる。
一実施形態において、前記現在ブロックに対する前記変換係数の各々は、変換係数0で構成された高周波変換係数領域または少なくとも一つの有効変換係数を含む低周波変換係数領域に関連することができる。
一実施形態において、前記現在ブロックに対する変換係数のうち、前記低周波変換係数領域と関連した変換係数に対して変換係数スキャニングが行われることができる。
一実施形態において、前記レジデュア情報は、前記現在ブロック内のサブブロックに対する変換係数の変換係数レベルが全部0であるかどうかを表すコーディドサブブロックフラグ(coded subblock flag)を含み、前記サブブロックは、前記低周波変換係数領域と関連することができる。一例において、前記コーディドサブブロックフラグは、coded_sub_block_flagと表記されることができる。
一実施形態において、前記高周波変換係数領域と関連した変換係数に対しては、前記変換係数スキャニングが行われないことができる。
一実施形態において、前記低周波変換係数領域の幅または前記低周波変換係数領域の高さは、32以下でありうる。
一実施形態において、前記現在ブロックの幅が32未満という決定に基づいて、前記低周波変換係数領域の前記幅は、前記現在ブロックの前記幅と同じことに決定されることができる。前記現在ブロックの高さが32未満という決定に基づいて、前記低周波変換係数領域の前記高さは、前記現在ブロックの前記高さと同じことに決定されることができる。前記現在ブロックの前記幅が32以上という決定に基づいて、前記低周波変換係数領域の前記幅は、32に決定されることができる。前記現在ブロックの前記高さが32以上という決定に基づいて、前記低周波変換係数領域の前記高さは、32に決定されることができる。
一実施形態において、前記低周波変換係数領域の前記幅及び前記低周波変換係数領域の前記高さは、以下の式5に基づいて決定されることができる。
[数5]
log2(ZoTbWidth)=Min(log2(TbWidth),5)
log2(ZoTbHeight)=Min(log2(TbHeight),5)
前記式5中、前記ZoTbWidthは、前記低周波変換係数領域の前記幅を表し、前記ZoTbHeightは、前記低周波変換係数領域の前記高さを表し、前記TbWidthは、前記現在ブロックの幅を表し、前記TbHeightは、前記現在ブロックの高さを表すことができる。
一実施形態において、前記高周波変換係数領域と関連した変換係数に対してゼロイングが適用され、前記ゼロイングが適用された変換係数の数は、前記低周波変換係数領域の前記幅または前記低周波変換係数領域の前記高さに基づいて決定されることができる。
図9及び図10のエンコード装置及びエンコード装置の動作方法によれば、エンコード装置は、現在ブロックに対するレジデュアサンプルを導き出し(S900)、前記現在ブロックに対する前記レジデュアサンプルを変換して、前記現在ブロックに対する変換係数を導き出し(S910)、量子化過程に基づいて前記変換係数から量子化された変換係数を導き出し(S920)、前記量子化された変換係数に対する情報を含むレジデュア情報をエンコード(S930)でき、このとき、前記現在ブロックに対する前記変換係数の各々は、変換係数0で構成された高周波変換係数領域または少なくとも一つの有効変換係数を含む低周波変換係数領域に関連し、前記現在ブロックに対する変換係数のうち、前記低周波変換係数領域と関連した変換係数に対して、変換係数スキャニング(transform coefficient scanning)が行われることができる。すなわち、高周波ゼロイングが適用される領域と関連した変換係数グループに対する変換係数スキャンを省略し、前記変換係数グループに対するコーディドサブブロックフラグ(coded subblock flag)のシグナリングを省略することによって、映像コーディング効率を上げることができる。
図11は、一実施形態によるデコード装置の動作を示すフローチャートで、図12は、一実施形態によるデコード装置の構成を示すブロック図である。
図11に開示された各ステップは、図3に開示されたデコード装置300によって行われることができる。さらに具体的に、S1100及びS1110は、図3に開示されたエントロピーデコード部310によって行われることができ、S1120は、図3に開示された逆量子化部321によって行われることができ、S1130は、図3に開示された逆変換部322によって行われることができ、S1140は、図3に開示された加算部340によって行われることができる。また、S1100ないしS1140による動作は、図4ないし図8bにおいて前述された内容のうち、一部を基盤としたものである。したがって、図3ないし図8bにおいて前述された内容と重複する具体的な内容は、説明を省略するか、または簡単にすることにする。
図12に示すように、一実施形態によるデコード装置は、エントロピーデコード部310、逆量子化部321、逆変換部322及び加算部340を含むことができる。しかしながら、場合によっては、図12に示す構成要素全部がデコード装置の必須構成要素ではないことができ、デコード装置は、図12に示す構成要素より多いか、または少ない構成要素により具現化されることができる。
一実施形態によるデコード装置においてエントロピーデコード部310、逆量子化部321、逆変換部322及び加算部340は、各々別途のチップ(chip)で具現化されるか、または少なくとも二つ以上の構成要素が一つのチップを介して具現化されることができる。
一実施形態によるデコード装置は、レジデュア情報を含むビットストリームを受信することができる(S1100)。さらに具体的に、デコード装置のエントロピーデコード部310は、レジデュア情報を含むビットストリームを受信することができる。
一実施形態によるデコード装置は、ビットストリームに含まれたレジデュア情報に基づいて、現在ブロックに対する量子化された変換係数を導き出すことができる(S1110)。さらに具体的に、デコード装置のエントロピーデコード部310は、ビットストリームに含まれたレジデュア情報に基づいて、現在ブロックに対する量子化された変換係数を導き出すことができる。
一実施形態によるデコード装置は、逆量子化過程に基づいて量子化された変換係数から変換係数を導き出すことができる(S1120)。さらに具体的に、デコード装置の逆量子化部321は、逆量子化過程に基づいて量子化された変換係数から変換係数を導き出すことができる。
一実施形態によるデコード装置は、導き出された変換係数に逆変換を適用して現在ブロックに対するレジデュアサンプルを導き出すことができる(S1130)。さらに具体的に、デコード装置の逆変換部322は、導き出された変換係数に逆変換を適用して、現在ブロックに対するレジデュアサンプルを導き出すことができる。
一実施形態によるデコード装置は、現在ブロックに対するレジデュアサンプルに基づいて復元ピクチャを生成できる(S1140)。さらに具体的に、デコード装置の加算部340は、現在ブロックに対するレジデュアサンプルに基づいて復元ピクチャを生成できる。
一実施形態において、前記現在ブロックの単位は、変換ブロック(Transform Block、TB)でありうる。他の一実施形態において、前記現在ブロックの単位は、コーディングブロック(Coding Block、CB)でありうる。
一実施形態において、前記現在ブロックに対する前記変換係数の各々は、変換係数0で構成された高周波変換係数領域または少なくとも一つの有効変換係数を含む低周波変換係数領域に関連することができる。
一実施形態において、前記現在ブロックに対する変換係数のうち、前記低周波変換係数領域と関連した変換係数に対して、変換係数スキャニング(transform coefficient scanning)が行われることができる。
一実施形態において、前記レジデュア情報は、前記現在ブロック内のサブブロックに対する変換係数の変換係数レベルが全部0であるかどうかを表すコーディドサブブロックフラグ(coded subblock flag)を含み、前記サブブロックは、前記低周波変換係数領域と関連することができる。一例において、前記コーディドサブブロックフラグは、coded_sub_block_flagで表記されることができる。
一実施形態において、前記高周波変換係数領域と関連した変換係数に対しては、前記変換係数スキャニングが行われないことができる。
一実施形態において、前記低周波変換係数領域の幅または前記低周波変換係数領域の高さは、32以下でありうる。
一実施形態において、前記現在ブロックの幅が32未満という決定に基づいて、前記低周波変換係数領域の前記幅は、前記現在ブロックの前記幅と同じことに決定されることができる。前記現在ブロックの高さが32未満という決定に基づいて、前記低周波変換係数領域の前記高さは、前記現在ブロックの前記高さと同じことに決定されることができる。前記現在ブロックの前記幅が32以上という決定に基づいて、前記低周波変換係数領域の前記幅は、32に決定されることができる。前記現在ブロックの前記高さが32以上という決定に基づいて、前記低周波変換係数領域の前記高さは、32に決定されることができる。
一実施形態において、前記低周波変換係数領域の前記幅及び前記低周波変換係数領域の前記高さは、以下の式6に基づいて決定されることができる。
[数6]
log2(ZoTbWidth)=Min(log2(TbWidth),5)
log2(ZoTbHeight)=Min(log2(TbHeight),5)
前記式6中、前記ZoTbWidthは、前記低周波変換係数領域の前記幅を表し、前記ZoTbHeightは、前記低周波変換係数領域の前記高さを表し、前記TbWidthは、前記現在ブロックの幅を表し、前記TbHeightは、前記現在ブロックの高さを表すことができる。
一実施形態において、前記高周波変換係数領域と関連した変換係数に対してゼロイング(zeroing)が適用され、前記ゼロイングが適用された変換係数の数は、前記低周波変換係数領域の前記幅または前記低周波変換係数領域の前記高さに基づいて決定されることができる。
図11及び図12に開示されたデコード装置及びデコード装置の動作方法によれば、デコード装置は、レジデュア情報を含むビットストリームを受信し(S1100)、前記ビットストリームに含まれた前記レジデュア情報に基づいて現在ブロックに対する量子化された変換係数を導き出し(S1110)、逆量子化過程に基づいて量子化された変換係数から変換係数を導き出し(S1120)、導き出された変換係数に逆変換を適用して現在ブロックに対するレジデュアサンプルを導き出し(S1130)、現在ブロックに対するレジデュアサンプルに基づいて復元ピクチャを生成(S1140)でき、このとき、前記現在ブロックに対する前記変換係数の各々は、変換係数0で構成された高周波変換係数領域または少なくとも一つの有効変換係数を含む低周波変換係数領域に関連し、前記現在ブロックに対する変換係数のうち、前記低周波変換係数領域と関連した変換係数に対して変換係数スキャニング(transform coefficient scanning)が行われることを特徴とすることができる。すなわち、高周波ゼロイングが適用される領域と関連した変換係数グループに対する変換係数スキャンを省略し、前記変換係数グループに対するコーディドサブブロックフラグ(coded subblock flag)のシグナリングを省略することによって、映像コーディング効率を上げることができる。
一実施形態において、図4ないし図10において前述されたレジデュアコーディング過程は、以下の英文スペックの内容に基づくことができる。
要約
本提案において、最後の有効係数位置の二進化は、コンテキストコーディングされたビンの最大個数を減少させるために変形される。特に、ワーストケースシナリオにおいてラージブロック(すなわち、64x64、64xN、Nx64)に対するコンテキストコーディングされたビンの個数は、11から9に減少される。実験結果は、VTM 3.0と比較してオールイントラ(all−intra)構成において、Y、Cb及びCrコンポーネントに対してそれぞれ0.01%、0%及び−0.02%のBD−レート減少を表し、ランダムアクセス構成において0.01%、−0.01%及び−0.01%のBD−レート減少を表す。
1.序論
ラージブロックパーティションは、一般により少ないレジデュアを表し、エネルギーが変形ドメイン内の低周波係数により集中されるものと知られている。VTM 3.0[1]において、高周波変換係数はサイズ(幅または高さ、または幅及び高さとも)が64である変換ブロックに対してゼロアウトされる。したがって、Wは、ブロックの幅を指示し、Hは、ブロックの高さを指示するWxH変換ブロックに対して、左上端(W==64?32:W)x(H==64?32:H)変換係数だけが維持される。
[1]において、プリフィックスlast_sig_coeff_x_prefix及びlast_sig_coeff_y_prefixは、両方とも、cMax=(log2TbSize<<1)−1であるトランケーティドライス二進化を利用してコンテキストコーディングされる。ここで、万が一、パッシングされるシンタックス要素がlast_sig_coeff_x_prefixであると、log2TbSizeは、log2TbWidthに設定され、そうでないと、log2TbSizeは、log2TbHeightに設定される。すなわち、最大可能マグニチュードは、変換ブロックの幅または高さにより決定される。ワーストケースシナリオにおいて、コンテキストモデリングを利用するビンの個数は11のとおりである。表7は、VTM3.0においてW=64またはH=64に対する二進化を表し、ここでXは、0または1を意味する。
2.提案方法
本寄稿は、JVET−M0250[2]に加えて提案される。提案方法において現在係数グループが高周波ゼロイング領域に属するかどうかがチェックされる。本情報を利用して、高周波ゼロイング領域に対する不必要なcoded_sub_block_flag(CSBF)コーディングはスキップされることができる。
一実施形態において、高周波ゼロイング領域を考慮するCSBFコーディング方法が提案されあることができる。万が一、最後または第1番目の係数グループに対する第1条件が満たされると、CSBFの値は1と推定されることができる。万が一、最後または第1番目の係数グループに対する第1条件が満たされないと、高周波ゼロイング領域に対する第2条件がチェックされる。万が一、高周波ゼロイング領域に対する第2条件が満たされると、CSBFコーディングはない。万が一、高周波ゼロイングに対する第2条件が満たされないと、コンテキストインデックスが導き出され、CSBFコーディングが行われる。
最後の位置コーディングスキームは、ラージブロック-サイズ変換のために提案される。VTM3.0と比較して、提案されたコーディングスキームは、ワーストケースシナリオにおいてより少ないコンテキストコーディングされたビンを利用する。提案されたスキーム内のコードワードは、依然としてトランケーティドライスコードから始め、固定された長さコードが従う。高周波ゼロイング以後、WxH変換ブロックに対して、左上端min(W,32)xmin(H,32)変換係数だけが維持される。したがって、プリフィックスlast_sig_coeff_x_prefixまたはlast_sig_coeff_y_prefixの最大可能コードワードの長さが次のように導き出される。
cMax=(min(log2TbSize,5)<<1)-1
表8は、W=64またはH=64に対する二進化を表し、ここで、Xは、0または1を意味する。ここで、互いに異なる部分が強調される。
表9は、W=64またはH=64のとき、プリフィックス(コンテキストコーディンされたビン)に対するコードワード長とVTM3.0の比較を表す。コンテキストコーディングされたビンは、提案方法において9分だけ長くありうるが、VTM3.0では最大11個のビンである。最後の位置コンポーネントマグニチュードの範囲が24−31であるとき、コンテキストコーディングされたビンの個数は10から9に減少する。
3.実験結果
提案された方法は、VTM3.0ソフトウェアにおいて行われた。シミュレーションは、JVET-L1010において定義された共通テストに従って行われた。すべてのケースにおいて、アンカーは、 VTM3.0ソフトウェアである。エンコード時間及びデコード時間は、クロスーチェック結果[4]から出た。表10は、オール−イントラ(AI)テスト条件に対する実験結果を表す。アンカーは、 VTM3.0である。
表11 shows Experimental results for random-access (RA) test condition; anchor is VTM3.0
4 参照
[1]B.Brossの他、“Versatile Video Coding(draft 3)”、ITU−T SG 16 WP 3及びISO/IEC JTC1/SC 29/WG 11の共同ビデオ探査チーム(JVET)JVET−L1001,12次会議、マカオ、CN、2018年10月3−12日。
[2]J.Choiの他、“Non−CE7:Simplified CSBF coding for large block−size transforms”、ITU−T SG 16 WP 3及びISO/IEC JTC1/SC 29/WG 11の共同ビデオ探査チーム(JVET)JVET−M0250、13次会議、マラケシュ、MA、2019年1月9−18日。
[3]F.Bossenの他、“JVET common test conditions and software reference configurations for SDR video”、ITU−T SG 16 WP 3及びISO/IEC JTC1/SC 29/WG 11の共同ビデオ探査チーム(JVET)JVET−L1010、12次会議、マカオ、CN、2018年10月3−12日。
[4]H.Schwarz、“Crosscheck of JVET−M0251(Non−CE7:Last position coding for large block−size transforms)”、ITU−T SG 16 WP 3及びISO/IEC JTC1/SC 29/WG 11の共同ビデオ探査チーム(JVET)JVET−M0646、13次会議、マラケシュ、MA、2019年1月9−18日。
5.特許権宣言
LG Electronics Inc.は、本寄稿に機材された技術と関連した現在またはペンディング特許権を有し、相互性によって、ITU−T勧告|ISO/IEC国際標準(ITU−T/ITU−R/ISO/IEC特許明細書及びライセンス宣言様式のボックス2当たり)の移行に必要な場合、合理的でかつ非差別的な条件でライセンスを付与する準備ができている。
6.標準文書
last_sig_coeff_x_prefixは、変換ブロック内のスキャニング順序の最後の有効係数の列位置のプリフィックスを明示する。last_sig_coeff_x_prefixの値は、0から(Min(log2TbWidth, 5) <<1)−1までの範囲内にある。
last_sig_coeff_y_prefixは、変換ブロック内のスキャニング順序の最後の有効係数の行位置のプリフィックスを明示する。last_sig_coeff_y_prefixの値は、0から(Min(log2TbHeight, 5) <<1)−1までの範囲内にある。
以下の表13は、シンタックス要素及び関連した二進化を表す。
上述した実施形態において、方法は、一連のステップまたはブロックでフローチャートに基づいて説明されているが、本開示は、ステップの順序に限定されるものではなく、あるステップは、上述したことと異なるステップと異なる順序でまたは同時に発生できる。また、当業者であれば、フローチャートに示されたステップが排他的でなく、他のステップが含まれたりフローチャートの一つまたはそれ以上のステップが本開示の範囲に影響を及ぼさずに削除されうることを理解できるはずである。
上述した本開示による方法は、ソフトウェア形態により具現化されることができ、本開示によるエンコード装置及び/またはデコード装置は、例えばTV、コンピュータ、スマートフォン、セットトップボックス、ディスプレイ装置などの映像処理を行う装置に含まれることができる。
本開示において実施形態がソフトウェアにより具現化される時、上述した方法は、上述した機能を行うモジュール(過程、機能など)により具現化されることができる。モジュールは、メモリに格納され、プロセッサにより実行されることができる。メモリは、プロセッサの内部または外部にあることができ、周知の多様な手段によりプロセッサと接続されることができる。プロセッサは、ASIC(application−specific integrated circuit)、他のチップセット、論理回路及び/またはデータ処理装置を含むことができる。メモリは、ROM(read−only memory)、RAM(random access memory)、フラッシュメモリ、メモリカード、格納媒体及び/または他の格納装置を含むことができる。すなわち、本開示において説明した実施形態は、プロセッサ、マイクロ・プロセッサ、コントローラまたはチップ上において具現化されて行われることができる。例えば、各図において示した機能ユニットは、コンピュータ、プロセッサ、マイクロ・プロセッサ、コントローラまたはチップ上において具現化されて行われることができる。この場合、具現のための情報(ex.information on instructions)またはアルゴリズムがデジタル格納媒体に格納されることができる。
また、本開示が適用されるデコード装置及びエンコード装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信のようなリアルタイム通信装置、モバイルストリーミング装置、格納媒体、カムコーダ、注文型ビデオ(VoD)サービス提供装置、OTTビデオ(Over the top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、画像電話ビデオ装置、運送手段端末(ex.車両(自律走行車両を含む)端末、飛行機端末、船舶端末等)及び医療用ビデオ装置などに含まれることができ、ビデオ信号またはデータ信号を処理するために使用されることができる。例えば、OTTビデオ(Over the top video)装置には、ゲームコンソール、ブルーレイプレーヤー、インターネット接続TV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recoder)などを含むことができる。
また、本開示が適用される処理方法は、コンピュータで実行されるプログラムの形態で生産されることができ、コンピュータが読み取り可能な記録媒体に格納されることができる。本開示によるデータ構造を有するマルチメディアデータもまたコンピュータが読み取り可能な記録媒体に格納されることができる。前記コンピュータが読み取り可能な記録媒体は、コンピュータで読み出すことができるデータが格納されるすべての種類の格納装置及び分散格納装置を含む。前記コンピュータが読み取り可能な記録媒体は、例えば、ブルーレイディスク(BD)、汎用直列バス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD−ROM、磁気テープ、フロッピーディスク及び光学的データ格納装置を含むことができる。また、前記コンピュータが読み取り可能な記録媒体は、搬送波(例えば、インターネットを介した転送)の形態により具現化されたメディアを含む。また、エンコード方法で生成されたビットストリームがコンピュータが読み取り可能な記録媒体に格納されるか、または有無線通信ネットワークを介して転送されることができる。
また、本開示の実施形態は、プログラムコードによるコンピュータプログラム製品により具現化されることができ、前記プログラムコードは、本開示の実施形態によりコンピュータにおいて行われることができる。前記プログラムコードは、コンピュータにより読み取り可能なキャリア上に格納されることができる。
図13は、本文書の開示が適用されることができるコンテンツストリーミングシステムの例を示す。
図13を参照すると、本開示が適用されるコンテンツストリーミングシステムは、大きくエンコードサーバ、ストリーミングサーバ、ウェブサーバ、メディア格納所、ユーザ装置及びマルチメディア入力装置を含むことができる。
前記エンコードサーバは、スマートフォン、カメラ、ビデオカメラなどのようなマルチメディア入力装置から入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これを前記ストリーミングサーバに転送する役割をする。他の例として、スマートフォン、カメラ、ビデオカメラなどのようなマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコードサーバは省略されることができる。
前記ビットストリームは、本開示が適用されるエンコード方法またはビットストリーム生成方法により生成されることができ、前記ストリーミングサーバは、前記ビットストリームを転送または受信する過程において一時的に前記ビットストリームを格納することができる。
前記ストリーミングサーバは、ウェブサーバを介したユーザ要請に基づいて、マルチメディアデータをユーザ装置に転送し、前記ウェブサーバは、ユーザにいかなるサービスがあるかどうかを知らせる媒介体として機能する。ユーザが前記ウェブサーバに望みのサービスを要請すると、前記ウェブサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを転送する。このとき、前記コンテンツストリーミングシステムは、別の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間命令/応答を制御する役割をする。
前記ストリーミングサーバは、メディア格納所及び/またはエンコードサーバからコンテンツを受信することができる。例えば、前記エンコードサーバからコンテンツを受信するようになる場合、前記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間に格納することができる。
前記ユーザ装置の例には、携帯電話、スマートフォン(smart phone)、ノート型パソコン(laptop)、デジタル放送用端末機、PDA(personal digital assistants)、PMP(portable multimedia player)、ナビゲーション、スレートPC(slate PC)、タブレットPC(tablet PC)、ウルトラブック(ultrabook)、ウェアラブルデバイス(wearable device、例えば、ウォッチ型端末機(smart watch)、ガラス型端末機(smart glass)、HMD(head mounted display))、デジタルTV、デスクトップコンピュータ 、デジタルサイニジなどがありうる。
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営されることができ、この場合、各サーバにおいて受信するデータは、分散処理されることができる。