本文書の開示は、多様な変更を加えることができ、種々な実施例を有することができ、特定実施例を図面に例示し、詳細に説明しようとする。しかし、これは、本開示を特定実施例に限定しようとするものではない。本文書で使用する用語は、単に特定の実施例を説明するために使用されたものであって、本文書の実施例の技術的思想を限定しようとする意図で使用されるものではない。単数の表現は、文脈上明白に異なるように意味しない限り、複数の表現を含む。本文書において「含む」又は「有する」などの用語は、文書上に記載された特徴、数字、ステップ、動作、構成要素、部品、又はこれらを組み合わせたものが存在することを指定しようとするものであり、一つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又はこれらを組み合わせたものの存在又は付加可能性を予め排除しないことと理解されるべきである。
一方、本文書で説明される図面上の各構成は、互いに異なる特徴的な機能に関する説明の都合上、独立的に図示されたものであって、各構成が互いに別個のハードウェアや別個のソフトウェアで具現されるということを意味するものではない。例えば、各構成のうち、二つ以上の構成が結合されて一つの構成をなすこともでき、一つの構成を複数の構成に分けることもできる。各構成が統合及び/又は分離された実施例も本文書の開示範囲に含まれる。
本文書は、ビデオ/映像コーディングに関する。例えば、本文書に開示された方法/実施例は、VVC(versatile video coding)標準に開示される方法に適用されることができる。また、本文書に開示された方法/実施例は、EVC(essential video coding)標準、AV1(AOMedia Video 1)標準、AVS2(2nd generation of audio video coding standard)、又は、次世代ビデオ/映像コーディング標準(例えば、H.267又はH.268等)に開示される方法に適用されることができる。
本文書では、ビデオ/映像コーディングに関する多様な実施例を提示し、他の言及がない限り、前記実施例は、互いに組み合わせられて実行されることもできる。
本文書において、ビデオ(video)は、時間の流れによる一連の映像(image)の集合を意味することができる。ピクチャ(picture)は、一般的に特定時間帯の一つの映像を示す単位を意味し、スライス(slice)/タイル(tile)は、コーディングにおいてピクチャの一部を構成する単位である。スライス/タイルは、一つ以上のCTU(coding tree unit)を含むことができる。一つのピクチャは、一つ以上のスライス/タイルで構成されることができる。タイルは、ピクチャ内の特定タイル列及び特定タイル列以内の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ユニットに排他的に含まれることができる、整数個の完全なタイル又はピクチャのタイル内の整数個の連続的な完全なCTU行を含むことができる。(A slice includes an integer number of complete tiles or an integer number of consecutive complete CTU rows within a tile of a picture that may be exclusively contained in a single NAL unit)。
一方、一つのピクチャは、二つ以上のサブピクチャに区分されることができる。サブピクチャは、ピクチャ内の一つ以上のスライスの四角領域である(an rectangular region of one or more slices within a picture)。
ピクセル(pixel)又はペル(pel)は、一つのピクチャ(又は、映像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として「サンプル(sample)」が使用されることができる。サンプルは、一般的にピクセル又はピクセルの値を示すことができ、ルマ(luma)成分のピクセル/ピクセル値のみを示すこともでき、クロマ(chroma)成分のピクセル/ピクセル値のみを示すこともできる。
ユニット(unit)は、映像処理の基本単位を示すことができる。ユニットは、ピクチャの特定領域及び当該領域に関連した情報のうち少なくとも一つを含むことができる。一つのユニットは、一つのルマブロック及び二つのクロマ(例えば、cb、cr)ブロックを含むことができる。ユニットは、場合によって、ブロック(block)又は領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプル(又は、サンプルアレイ)、又は変換係数(transform coefficient)の集合(又は、アレイ)を含むことができる。
本文書において、「A又はB(A or B)」は、「ただA」、「ただB」、又は「AとBの両方とも」を意味することができる。他の表現としては、本文書において、「A又はB(A or B)」は、「A及び/又はB(A and/or B)」と解釈されることができる。例えば、本文書において、「A、B又はC(A,B or C)」は、「ただA」、「ただB」、「ただC」、又は「A、B及びCの任意の全ての組み合わせ(any combination of A,B and C)」を意味することができる。
本文書で使用されるスラッシュ(/)や休止符(comma)は、「及び/又は(and/or)」を意味することができる。例えば、「A/B」は、「A及び/又はB」を意味することができる。これによって、「A/B」は、「ただA」、「ただB」、又は「AとBの両方とも」を意味することができる。例えば、「A,B,C」は、「A、B又はC」を意味することができる。
本文書において、「少なくとも一つのA及びB(at least one of A and B)」は、「ただA」、「ただB」又は「AとBの両方とも」を意味することができる。また、本文書において、「少なくとも一つのA又はB(at least one of A or B)」や「少なくとも一つのA及び/又はB(at least one of A and/or B)」という表現は、「少なくとも一つのA及びB(at least one of A and B)」と同じく解釈されることができる。
また、本文書において、「少なくとも一つのA、B及びC(at least one of A,B and C)」は、「ただA」、「ただB」、「ただC」、又は「A、B及びCの任意の全ての組み合わせ(any combination of A,B and C)」を意味することができる。また、「少なくとも一つのA、B又はC(at least one of A,B or C)」や「少なくとも一つのA、B及び/又はC(at least one of A,B and/or C)」は、「少なくとも一つのA、B及びC(at least one of A,B and C)」を意味することができる。
また、本文書で使われる括弧は、「例えば(for example)」を意味することができる。具体的に、「予測(イントラ予測)」で表示された場合、「予測」の一例として「イントラ予測」が提案されたものである。他の表現としては、本文書の「予測」は、「イントラ予測」に制限(limit)されるものではなく、「イントラ予測」が「予測」の一例として提案されたものである。また、「予測(即ち、イントラ予測)」で表示された場合にも、「予測」の一例として「イントラ予測」が提案されたものである。
本文書において、一つの図面内で個別的に説明される技術的特徴は、個別的に具現されてもよく、同時に具現されてもよい。
以下、添付図面を参照して、本文書の実施例を説明しようとする。以下、図面上の同じ構成要素に対しては、同じ参照符号を使用し、同じ構成要素に対して重複した説明は省略する。
図1は、本文書が適用されることができるビデオ/映像コーディングシステムの例を概略的に示す。
図1に示すように、ビデオ/映像コーディングシステムはソースデバイス及び第受信デバイスを備えることができる。ソースデバイスは、エンコーディングされたビデオ(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 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)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプル又は変換係数(transform coefficient)等の集合を示すことができる。サンプルは、一般的にピクセル又はピクセルの値を示すことができ、輝度(luma)成分のピクセル/ピクセル値のみを示すことができ、彩度(chroma)成分のピクセル/ピクセル値のみを示すこともできる。サンプルは、一つのピクチャ(又は、映像)をピクセル(pixel)又はペル(pel)に対応する用語として使用することができる。
減算部231は、入力映像信号(原本ブロック、原本サンプル又は原本サンプルアレイ)で予測部220から出力された予測信号(予測されたブロック、予測サンプル又は予測サンプルアレイ)を減算してレジデュアル信号(レジデュアルブロック、レジデュアルサンプル又はレジデュアルサンプルアレイ)を生成することができ、生成されたレジデュアル信号は、変換部232に送信される。予測部220は、処理対象ブロック(以下、現在ブロックという)に対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部220は、現在ブロック又はCU単位でイントラ予測が適用されるか、又はインター予測が適用されるか決定することができる。予測部は、各予測モードについての説明で後述するように、予測モード情報など、予測に関する様々な情報を生成してエントロピーエンコーディング部240に伝達することができる。予測に関する情報は、エントロピーエンコーディング部240でエンコーディングされてビットストリーム形態で出力されることができる。
イントラ予測部222は、現在ピクチャ内のサンプルを参照して現在ブロックを予測できる。前記参照されるサンプルは、予測モードによって前記現在ブロックの隣接(neighbor)に位置することができ、又は、離れて位置することもできる。イントラ予測で予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。非方向性モードは、例えば、DCモード及びプラナーモード(Planarモード)を含むことができる。方向性モードは、予測方向の細かい程度によって、例えば、33個の方向性予測モード又は65個の方向性予測モードを含むことができる。ただし、これは、例示であり、設定によってそれ以上又はそれ以下の個数の方向性予測モードが使用され得る。イントラ予測部222は、隣接ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
インター予測部221は、参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを導くことができる。このとき、インター予測モードで送信される動き情報の量を減らすために、隣接ブロックと現在ブロックとの間の動き情報の相関性に基づいて、動き情報をブロック、サブブロック、又はサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測の場合に、隣接ブロックは、現在ピクチャ内に存在する空間的隣接ブロック(spatial neighboring block)と参照ピクチャに存在する時間的隣接ブロック(temporal neighboring block)とを含むことができる。前記参照ブロックを含む参照ピクチャと前記時間的隣接ブロックを含む参照ピクチャとは同じであることができ、異なることもできる。前記時間的隣接ブロックは、同一位置参照ブロック(collocated reference block)、同一位置CU(col CU)などの名前で呼ばれることができ、前記時間的隣接ブロックを含む参照ピクチャは、同一位置ピクチャ(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)を実行することができる。前記イントラブロックコピーは、例えば、SCC(screen content coding)などのように、ゲームなどのコンテンツ映像/動画コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を行うが、現在ピクチャ内で参照ブロックを導出する点においてインター予測と同様に行われることができる。すなわち、IBCは、本文書において説明されるインター予測技法のうち、少なくとも一つを用いることができる。
インター予測部221及び/又はイントラ予測部222により生成された予測信号は、復元信号を生成するために用いられるか、レジデュアル信号を生成するために用いられることができる。変換部232は、レジデュアル信号に変換技法を適用して、変換係数(transform coefficients)を生成することができる。例えば、変換技法は、DCT(Discrete Cosine Transform)、DST(Discrete Sine 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)の値等)を共に又は別にエンコーディングすることもできる。エンコーディングされた情報(例えば、エンコーディングされたビデオ/映像情報)は、ビットストリーム形態でNAL(network abstraction layer)ユニット単位で送信又は格納されることができる。前記ビデオ/映像情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、又はビデオパラメータセット(VPS)等、様々なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/映像情報は、一般制限情報(general constraint information)をさらに含むことができる。本文書において、後述されるシグナリング/送信される情報及び/又はシンタックス要素は、上述したエンコーディング手順を介してエンコーディングされて前記ビットストリームに含まれることができる。前記ビットストリームは、ネットワークを介して送信されることができ、又はデジタル格納媒体に格納されることができる。ここで、ネットワークは、放送網及び/又は通信網などを含むことができ、デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、様々な格納媒体を含むことができる。エントロピーエンコーディング部240から出力された信号は、送信する送信部(図示せず)及び/又は格納する格納部(図示せず)がエンコーディング装置200の内/外部エレメントとして構成されることができ、又は送信部は、エントロピーエンコーディング部240に含まれることもできる。
量子化部233から出力された量子化された変換係数は、予測信号を生成するために用いられることができる。例えば、量子化された変換係数に逆量子化部234及び逆変換部235を介して逆量子化及び逆変換を適用することにより、レジデュアル信号(レジデュアルブロック又はレジデュアルサンプル)を復元できる。加算部155は、復元されたレジデュアル信号を予測部220から出力された予測信号に加えることにより、復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプル又は復元サンプルアレイ)が生成され得る。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
一方、ピクチャエンコーディング及び/又は復元過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
フィルタリング部260は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部260は、復元ピクチャに様々なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ270、具体的に、メモリ270のDPBに格納することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset、SAO)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。フィルタリング部260は、各フィルタリング方法についての説明で後述するように、フィルタリングに関する様々な情報を生成してエントロピーエンコーディング部240に伝達することができる。フィルタリングに関する情報は、エントロピーエンコーディング部240でエンコーディングされてビットストリーム形態で出力されることができる。
メモリ270に送信された修正された復元ピクチャは、インター予測部221で参照ピクチャとして使用されることができる。エンコーディング装置は、これを介してインター予測が適用される場合、エンコーディング装置100とデコーディング装置における予測ミスマッチを避けることができ、符号化効率も向上させることができる。
メモリ270のDPBは、修正された復元ピクチャをインター予測部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)321を備えることができる。上述したエントロピーデコーディング部310、レジデュアル処理部320、予測部330、加算部340、及びフィルタリング部350は、実施形態によって一つのハードウェアコンポーネント(例えば、デコーダチップセット又はプロセッサ)により構成されることができる。また、メモリ360は、DPB(decoded picture buffer)を備えることができ、デジタル格納媒体により構成されることもできる。前記ハードウェアコンポーネントは、メモリ360を内/外部コンポーネントとしてさらに備えることもできる。
ビデオ/映像情報を含むビットストリームが入力されれば、デコーディング装置300は、図3のエンコーディング装置でビデオ/映像情報が処理されたプロセスに対応して映像を復元できる。例えば、デコーディング装置300は、前記ビットストリームから取得したブロック分割関連情報に基づいてユニット/ブロックを導出できる。デコーディング装置300は、エンコーディング装置で適用された処理ユニットを用いてデコーディングを行うことができる。したがって、デコーディングの処理ユニットは、例えば、コーディングユニットであることができ、コーディングユニットは、コーディングツリーユニット又は最大コーディングユニットからクアッドツリー構造、バイナリツリー構造、及び/又はターナリツリー構造にしたがって分割されることができる。コーディングユニットから一つ以上の変換ユニットが導出され得る。そして、デコーディング装置300を介してデコーディング及び出力された復元映像信号は、再生装置を介して再生されることができる。
デコーディング装置300は、図3のエンコーディング装置から出力された信号をビットストリーム形態で受信することができ、受信された信号は、エントロピーデコーディング部310を介してデコーディングされることができる。例えば、エントロピーデコーディング部310は、前記ビットストリームをパーシングして映像復元(又は、ピクチャ復元)に必要な情報(例えば、ビデオ/映像情報)を導出できる。前記ビデオ/映像情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、又はビデオパラメータセット(VPS)など、様々なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/映像情報は、一般制限情報(general constraint information)をさらに含むことができる。デコーディング装置は、前記パラメータセットに関する情報及び/又は前記一般制限情報に基づいてさらにピクチャをデコーディングすることができる。本文書において後述されるシグナリング/受信される情報及び/又はシンタックス要素は、前記デコーディング手順を介してデコーディングされて、前記ビットストリームから取得されることができる。例えば、エントロピーデコーディング部310は、指数ゴロム符号化、CAVLC、又はCABACなどのコーディング方法を基にビットストリーム内の情報をデコーディングし、映像復元に必要なシンタックス要素の値、レジデュアルに関する変換係数の量子化された値を出力できる。より具体的に、CABACエントロピーデコーディング方法は、ビットストリームで各シンタックス要素に該当するビンを受信し、デコーディング対象のシンタックス要素情報と隣接及びデコーディング対象ブロックのデコーディング情報又は以前ステップでデコーディングされたシンボル/ビンの情報を利用して文脈(context)モデルを決定し、決定された文脈モデルによってビン(bin)の発生確率を予測してビンの算術デコーディング(arithmetic decoding)を行い、各シンタックス要素の値に該当するシンボルを生成することができる。このとき、CABACエントロピーデコーディング方法は、文脈モデル決定後、次のシンボル/ビンの文脈モデルのためにデコーディングされたシンボル/ビンの情報を利用して文脈モデルをアップデートすることができる。エントロピーデコーディング部310でデコーディングされた情報のうち、予測に関する情報は、予測部330に提供され、エントロピーデコーディング部310でエントロピーデコーディングが行われたレジデュアル情報、すなわち、量子化された変換係数及び関連パラメータ情報は、逆量子化部321に入力されることができる。また、エントロピーデコーディング部310でデコーディングされた情報のうち、フィルタリングに関する情報は、フィルタリング部350に提供されることができる。一方、エンコーディング装置から出力された信号を受信する受信部(図示せず)がデコーディング装置300の内/外部エレメントとしてさらに構成されることができ、又は受信部は、エントロピーデコーディング部310の構成要素であることもできる。一方、本文書に係るデコーディング装置は、ビデオ/映像/ピクチャデコーディング装置と呼ばれることができ、前記デコーディング装置は、情報デコーダ(ビデオ/映像/ピクチャ情報デコーダ)及びサンプルデコーダ(ビデオ/映像/ピクチャサンプルデコーダ)に区分することもできる。前記情報デコーダは、前記エントロピーデコーディング部310を備えることができ、前記サンプルデコーダは、前記逆量子化部321、逆変換部322、予測部330、加算部340、フィルタリング部350、及びメモリ360のうち、少なくとも一つを備えることができる。
逆量子化部321では、量子化された変換係数を逆量子化して変換係数を出力できる。逆量子化部321は、量子化された変換係数を2次元のブロック形態で再整列することができる。この場合、前記再整列は、エンコーディング装置で行われた係数スキャン順序に基づいて再整列を行うことができる。逆量子化部321は、量子化パラメータ(例えば、量子化ステップサイズ情報)を用いて量子化された変換係数に対する逆量子化を行い、変換係数(transform coefficient)を取得することができる。
逆変換部322では、変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を取得するようになる。
予測部は、現在ブロックに対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、エントロピーデコーディング部310から出力された前記予測に関する情報に基づいて、前記現在ブロックにイントラ予測が適用されるか、又はインター予測が適用されるか決定することができ、具体的なイントラ/インター予測モードを決定することができる。
予測部は、後述する様々な予測方法に基づいて予測信号を生成することができる。例えば、予測部は、一つのブロックに対する予測のために、イントラ予測又はインター予測を適用することができるだけでなく、イントラ予測とインター予測とを同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のために、イントラブロックコピー(intra block copy、IBC)を実行することができる。 前記イントラブロックコピーは、例えば、SCC(screen content coding)などのように、ゲームなどのコンテンツ映像/動画コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を行うが、現在ピクチャ内で参照ブロックを導出する点においてインター予測と同様に行われることができる。すなわち、IBCは、本文書において説明されるインター予測技法のうち、少なくとも一つを利用することができる。パレットモードは、イントラコーディング又はイントラ予測の一例と見なすことができる。
イントラ予測部331は、現在ピクチャ内のサンプルを参照して現在ブロックを予測できる。前記参照されるサンプルは、予測モードによって前記現在ブロックの隣接(neighbor)に位置することができ、又は離れて位置することができる。イントラ予測において予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。イントラ予測部331は、隣接ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
インター予測部332は、参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを導くことができる。このとき、インター予測モードで送信される動き情報の量を減らすために、隣接ブロックと現在ブロックとの間の動き情報の相関性に基づいて動き情報をブロック、サブブロック、又はサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測の場合に、隣接ブロックは、現在ピクチャ内に存在する空間的隣接ブロック(spatial neighboring block)と参照ピクチャに存在する時間的隣接ブロック(temporal neighboring block)とを備えることができる。例えば、インター予測部332は、隣接ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出できる。様々な予測モードに基づいてインター予測が行われ得るし、前記予測に関する情報は、前記現在ブロックに対するインター予測のモードを指示する情報を含むことができる。
加算部340は、取得されたレジデュアル信号を予測部から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることにより、復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。
加算部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は、現在ピクチャ内の動き情報が導出された(又は、デコーディングされた)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を格納できる。前記格納された動き情報は、空間的隣接ブロックの動き情報又は時間的隣接ブロックの動き情報として活用するために、インター予測部332に伝達することができる。メモリ360は、現在ピクチャ内の復元されたブロックの復元サンプルを格納でき、イントラ予測部331に伝達することができる。
本文書において、デコーディング装置300の予測部330、逆量子化部321、逆変換部322、及びフィルタリング部350などで説明された実施例は、各々、エンコーディング装置200の予測部220、逆量子化部234、逆変換部235、及びフィルタリング部260などにも同一又は対応されるように適用されることができる。
前述したように、ビデオコーディングを実行するにあたって、圧縮効率を上げるために予測を実行する。これを介してコーディング対象ブロックである現在ブロックに対する予測サンプルを含む予測されたブロックを生成することができる。ここで、前記予測されたブロックは、空間ドメイン(又は、ピクセルドメイン)での予測サンプルを含む。前記予測されたブロックは、エンコーディング装置及びデコーディング装置で同じく導出され、前記エンコーディング装置は、原本ブロックの原本サンプル値自体でない前記原本ブロックと前記予測されたブロックとの間のレジデュアルに対する情報(レジデュアル情報)をデコーディング装置にシグナリングすることで映像コーディング効率を上げることができる。デコーディング装置は、前記レジデュアル情報に基づいてレジデュアルサンプルを含むレジデュアルブロックを導出し、前記レジデュアルブロックと前記予測されたブロックとを合わせて復元サンプルを含む復元ブロックを生成することができ、復元ブロックを含む復元ピクチャを生成することができる。
前記レジデュアル情報は、変換及び量子化手順を介して生成されることができる。例えば、エンコーディング装置は、前記原本ブロックと前記予測されたブロックとの間のレジデュアルブロックを導出し、前記レジデュアルブロックに含まれているレジデュアルサンプル(レジデュアルサンプルアレイ)に変換手順を実行して変換係数を導出し、前記変換係数に量子化手順を実行して量子化された変換係数を導出することで、関連したレジデュアル情報を(ビットストリームを介して)デコーディング装置にシグナリングできる。ここで、前記レジデュアル情報は、前記量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータなどの情報を含むことができる。デコーディング装置は、前記レジデュアル情報に基づいて逆量子化/逆変換の手順を実行してレジデュアルサンプル(又は、レジデュアルブロック)を導出することができる。デコーディング装置は、予測されたブロックと前記レジデュアルブロックに基づいて復元ピクチャを生成することができる。また、エンコーディング装置は、以後ピクチャのインター予測のための参照のために量子化された変換係数を逆量子化/逆変換してレジデュアルブロックを導出し、これに基づいて復元ピクチャを生成することができる。
本文書において、量子化/逆量子化及び/又は変換/逆変換のうち少なくとも一つは、省略されることができる。前記量子化/逆量子化が省略される場合、前記量子化された変換係数は、変換係数と呼ばれることができる。前記変換/逆変換が省略される場合、前記変換係数は、係数又はレジデュアル係数と呼ばれることもでき、又は、表現の統一性のために、依然として変換係数と呼ばれることもできる。
本文書において、量子化された変換係数及び変換係数は、各々、変換係数及びスケーリングされた(scaled)変換係数と呼ばれることができる。この場合、レジデュアル情報は、変換係数(ら)に関する情報を含むことができ、前記変換係数(ら)に関する情報は、レジデュアルコーディングシンタックスを介してシグナリングされることができる。前記レジデュアル情報(又は、前記変換係数(ら)に関する情報)に基づいて変換係数が導出されることができ、前記変換係数に対する逆変換(スケーリング)を介してスケーリングされた変換係数が導出されることができる。前記スケーリングされた変換係数に対する逆変換(変換)に基づいてレジデュアルサンプルが導出されることができる。これは本文書の他の部分でも同様に適用/表現されることができる。
エンコーディング装置/デコーディング装置の予測部は、ブロック単位でインター予測を行って予測サンプルを導出することができる。インター予測は、現在ピクチャ以外のピクチャのデータ要素(ex.サンプル値、又は動き情報)に依存的な方法で導出される予測を示すことができる。現在ブロックにインター予測が適用される場合、参照ピクチャのインデックスの指す参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロック(予測サンプルアレイ)を誘導することができる。このとき、インター予測モードで送信される動き情報の量を減らすために、隣接ブロックと現在ブロックとの間の動き情報の相関性に基づいて、現在ブロックの動き情報をブロック、サブブロック又はサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャのインデックスを含むことができる。前記動き情報は、インター予測タイプ(L0予測、L1予測、Bi予測等)の情報を更に含むことができる。インター予測が適用される場合、隣接ブロックは、現在ピクチャ内に存在する空間的隣接ブロック(spatial neighboring block)と、参照ピクチャに存在する時間的隣接ブロック(temporal neighboring block)とを含むことができる。前記参照ブロックを含む参照ピクチャと、前記時間的隣接ブロックを含む参照ピクチャとは同一であってもよく、異なってもよい。前記時間的隣接ブロックは、同じ位置参照ブロック(collocated reference block)、同じ位置CU(colCU)等の名称で呼ばれ得、前記時間的隣接ブロックを含む参照ピクチャは、同じ位置ピクチャ(collocated picture、colPic)と呼ばれることもある。例えば、現在ブロックの隣接ブロックに基づいて動き情報の候補リストが構成されることができ、前記現在ブロックの動きベクトル及び/又は参照ピクチャのインデックスを導出するために、どの候補が選択(使用)されるかを指示するフラグ又はインデックス情報がシグナリングされることができる。様々な予測モードに基づいてインター予測が行われ、例えば、スキップモードとマージモードの場合、現在ブロックの動き情報は、選択された隣接ブロックの動き情報を同一であり得る。スキップモードの場合、マージモードと異なり、レジデュアル信号が送信されないことがある。動き情報予測(motion vector prediction、MVP)モードの場合、選択された隣接ブロックの動きベクトルを動きベクトル予測子(motion vector predictor)として利用し、動きベクトル差分(motion vector difference)はシグナリングされることができる。この場合、前記動きベクトル予測子及び動きベクトル差分の和を用いて、前記現在ブロックの動きベクトルを導出することができる。
前記動き情報は、インター予測タイプ(L0予測、L1予測、Bi予測等)に応じて、L0動き情報及び/又はL1動き情報を含むことができる。L0方向の動きベクトルは、L0動きベクトル又はMVL0と呼ばれ得、L1方向の動きベクトルは、L1動きベクトル又はMVL1と呼ばれ得る。L0動きベクトルに基づいた予測は、L0予測と呼ばれ得、L1動きベクトルに基づいた予測をL1予測と呼ばれ得、前記L0動きベクトル及び前記L1動きベクトルの両方に基づいた予測を双(Bi)予測と呼ばれ得る。ここで、L0動きベクトルは、参照ピクチャリストL0(L0)に関連した動きベクトルを示すことができ、L1動きベクトルは、参照ピクチャリストL1(L1)に関連した動きベクトルを示すことができる。参照ピクチャリストL0は、前記現在ピクチャよりも、出力順序上、以前のピクチャを参照ピクチャに含むことができ、参照ピクチャリストL1は、前記現在ピクチャよりも、出力順序上、以後のピクチャを含むことができる。前記以前のピクチャは、順方向(参照)ピクチャと呼ばれ得、前記以後のピクチャは、逆方向(参照)ピクチャと呼ばれ得る。前記参照ピクチャリストL0は、前記現在ピクチャよりも、出力順序上、以後のピクチャを参照ピクチャにさらに含むことができる。この場合、前記参照ピクチャリストL0内で前記以前のピクチャが先にインデキシングされ、前記以後のピクチャは、その後にインデキシングされ得る。前記参照ピクチャリストL1は、前記現在ピクチャよりも、出力順序上、以前のピクチャを参照ピクチャにさらに含むことができる。この場合、前記参照ピクチャリスト1内で前記以後のピクチャが先にインデキシングされ、前記以前のピクチャは、その後にインデキシングされ得る。ここで、出力順序は、POC(picture order count)順序(order)に対応し得る。
図4は、コーディングされた映像/ビデオに対する階層構造を例示的に示す。
図4を参照すると、コーディングされた映像/ビデオは、映像/ビデオのデコーディング処理及びその自体を扱うVCL(video coding layer、ビデオコーディング階層)、符号化された情報を送信して格納する下位システム、及びVCLと下位システムとの間に存在してネットワーク適応機能を担当するNAL(network abstraction layer、ネットワーク抽象階層)に区分されている。
VCLでは、圧縮された映像データ(スライスデータ)を含むVCLデータを生成し、又は、ピクチャパラメータセット(Picture Parameter Set:PPS)、シーケンスパラメータセット(Sequence Parameter Set:SPS)、ビデオパラメータセット(Video Parameter Set:VPS)などの情報を含むパラメータセット又は映像のデコーディング過程に付加的に必要なSEI(Supplemental Enhancement Information)メッセージを生成することができる。
NALでは、VCLで生成されたRBSP(Raw Byte Sequence Payload)にヘッダ情報(NALユニットヘッダ)を付加してNALユニットを生成することができる。このとき、RBSPは、VCLで生成されたスライスデータ、パラメータセット、SEIメッセージなどを意味する。NALユニットヘッダには該当NALユニットに含まれるRBSPデータによって特定されるNALユニットタイプ情報を含むことができる。
前記図面に示すように、NALユニットは、VCLで生成されたRBSPによって、VCL NALユニットとNon-VCL NALユニットとに区分されることができる。VCL NALユニットは、映像に対する情報(スライスデータ)を含んでいるNALユニットを意味することができ、Non-VCL NALユニットは、映像をデコーディングするために必要な情報(パラメータセット又はSEIメッセージ)を含んでいるNALユニットを意味することができる。
前述したVCL NALユニット、Non-VCL NALユニットは、下位システムのデータ規格によってヘッダ情報を付けてネットワークを介して送信されることができる。例えば、NALユニットは、H.266/VVCファイルフォーマット、RTP(Real-time Transport Protocol)、TS(Transport Stream)などのような所定規格のデータ形態に変形されて多様なネットワークを介して送信されることができる。
前述したように、NALユニットは、該当NALユニットに含まれるRBSPデータ構造(structure)によってNALユニットタイプが特定されることができ、このようなNALユニットタイプに対する情報は、NALユニットヘッダに格納されてシグナリングされることができる。
例えば、NALユニットが映像に対する情報(スライスデータ)を含むかどうかによって、大別して、VCL NALユニットタイプとNon-VCL NALユニットタイプとに分類されることができる。VCL NALユニットタイプは、VCL NALユニットが含むピクチャの性質及び種類などによって分類されることができ、Non-VCL NALユニットタイプは、パラメータセットの種類などによって分類されることができる。
下記は、Non-VCL NALユニットタイプが含むパラメータセットの種類などによって特定されたNALユニットタイプの一例である。
-APS(Adaptation Parameter Set)NAL unit:APSを含むNALユニットに対するタイプ
-DPS(Decoding Parameter Set)NAL unit:DPSを含むNALユニットに対するタイプ
-VPS(Video Parameter Set)NAL unit:VPSを含むNALユニットに対するタイプ
-SPS(Sequence Parameter Set)NAL unit:SPSを含むNALユニットに対するタイプ
-PPS(Picture Parameter Set)NAL unit:PPSを含むNALユニットに対するタイプ
-PH(Picture header)NAL unit:PHを含むNALユニットに対するタイプ
前述したNALユニットタイプは、NALユニットタイプのためのシンタックス情報を有し、前記シンタックス情報は、NALユニットヘッダに格納されてシグナリングされることができる。例えば、前記シンタックス情報は、nal_unit_typeであり、NALユニットタイプは、nal_unit_type値に特定されることができる。
一方、前述したように、一つのピクチャは、複数のスライスを含むことができ、一つのスライスは、スライスヘッダ及びスライスデータを含むことができる。この場合、一つのピクチャ内の複数のスライス(スライスヘッダ及びスライスデータ集合)に対して一つのピクチャヘッダがさらに付加されることができる。前記ピクチャヘッダ(ピクチャヘッダシンタックス)は、前記ピクチャに共通的に適用できる情報/パラメータを含むことができる。本文書において、スライスは、タイルグループに混用又は代替されることができる。また、本文書において、スライスヘッダは、タイプグループヘッダに混用又は代替されることができる。
前記スライスヘッダ(スライスヘッダシンタックス、スライスヘッダ情報)は、前記スライスに共通的に適用できる情報/パラメータを含むことができる。前記APS(APSシンタックス)又はPPS(PPSシンタックス)は、一つ以上のスライス又はピクチャに共通的に適用できる情報/パラメータを含むことができる。前記SPS(SPSシンタックス)は、一つ以上のシーケンスに共通的に適用できる情報/パラメータを含むことができる。前記VPS(VPSシンタックス)は、多重レイヤに共通的に適用できる情報/パラメータを含むことができる。前記DPS(DPSシンタックス)は、ビデオ全般に共通的に適用できる情報/パラメータを含むことができる。前記DPSは、CVS(coded video sequence)の接合(concatenation)に関連した情報/パラメータを含むことができる。本文書において、上位レベルシンタックス(High level syntax、HLS)とは、前記APSシンタックス、PPSシンタックス、SPSシンタックス、VPSシンタックス、DPSシンタックス、ピクチャヘッダシンタックス、スライスヘッダシンタックスのうち少なくとも一つを含むことができる。
本文書において、エンコーディング装置からデコーディング装置にエンコーディングされてビットストリーム形態でシグナリングされる映像/ビデオ情報は、ピクチャ内のパーティショニング関連情報、イントラ/インター予測情報、レジデュアル情報、インループフィルタリング情報などを含むだけでなく、前記スライスヘッダに含まれている情報、前記ピクチャヘッダに含まれている情報、前記APSに含まれている情報、前記PPSに含まれている情報、SPSに含まれている情報、VPSに含まれている情報、及び/又はDPSに含まれている情報を含むことができる。また、前記映像/ビデオ情報は、NALユニットヘッダの情報をさらに含むことができる。
一方、量子化など、圧縮符号化過程で発生するエラーによる原本(original)映像と復元映像の差異を補償するために、前述したように、復元サンプル又は復元ピクチャにインループフィルタリング手順が実行されることができる。前述したように、インループフィルタリングは、エンコーディング装置のフィルタ部及びデコーディング装置のフィルタ部で実行されることができ、デブロッキングフィルタ、SAO及び/又は適応的ループフィルタ(ALF)が適用されることができる。例えば、ALF手順は、デブロッキングフィルタリング手順及び/又はSAO手順が完了した後に実行されることができる。ただし、この場合も、デブロッキングフィルタリング手順及び/又はSAO手順が省略されることもできる。
以下、ピクチャ復元及びフィルタリングに対する具体的な説明が記述される。映像/ビデオコーディングにおいて、各ブロック単位でイントラ予測/インター予測に基づいて復元ブロックが生成されることができ、復元ブロックを含む復元ピクチャが生成されることができる。現在ピクチャ/スライスがIピクチャ/スライスである場合、前記現在ピクチャ/スライスに含まれるブロックは、イントラ予測のみに基づいて復元されることができる。一方、現在ピクチャ/スライスがP又はBピクチャ/スライスである場合、前記現在ピクチャ/スライスに含まれるブロックは、イントラ予測又はインター予測に基づいて復元されることができる。この場合、現在ピクチャ/スライス内の一部ブロックに対してはイントラ予測が適用され、残りのブロックに対してはインター予測が適用されることもできる。
イントラ予測は、現在ブロックが属するピクチャ(以下、現在ピクチャという)内の参照サンプルに基づいて現在ブロックに対する予測サンプルを生成する予測を示すことができる。現在ブロックにイントラ予測が適用される場合、現在ブロックのイントラ予測に使用する隣接参照サンプルが導出されることができる。前記現在ブロックの隣接参照サンプルは、nW×nH大きさの現在ブロックの左側(left)境界に隣接したサンプル及び左下側(bottom-left)に隣接した総2×nH個のサンプル、現在ブロックの上側(top)境界に隣接したサンプル及び右上側(top-right)に隣接した総2×nW個のサンプル及び現在ブロックの左上側(top-left)に隣接した1個のサンプルを含むことができる。又は、前記現在ブロックの隣接参照サンプルは、複数列の上側隣接サンプル及び複数行の左側隣接サンプルを含むこともできる。また、前記現在ブロックの隣接参照サンプルは、nW×nH大きさの現在ブロックの右側(right)境界に隣接した総nH個のサンプル、現在ブロックの下側(bottom)境界に隣接した総nW個のサンプル、及び現在ブロックの右下側(bottom-right)に隣接した1個のサンプルを含むこともできる。
ただし、現在ブロックの隣接参照サンプルのうち一部は、まだデコーディングされない、又は利用可能でない場合がある。この場合、デコーダは、利用可能なサンプルとして利用可能でないサンプルを代替(substitution)して予測に使用する隣接参照サンプルを構成することができる。又は、利用可能なサンプルの補間(interpolation)を介して予測に使用する隣接参照サンプルを構成することができる。
隣接参照サンプルが導出された場合、(i)現在ブロックの隣接(neighboring)参照サンプルの平均(average)又は補間(interpolation)に基づいて予測サンプルを誘導することができ、(ii)現在ブロックの隣接参照サンプルのうち、予測サンプルに対して特定(予測)方向に存在する参照サンプルに基づいて前記予測サンプルを誘導することもできる。(i)の場合は、非方向性モード又は非角度モードと呼ばれ、(ii)の場合は、方向性(directional)モード又は角度(angular)モードと呼ばれることができる。また、前記隣接参照サンプルのうち前記現在ブロックの予測サンプルを基準にして、前記現在ブロックのイントラ予測モードの予測方向の反対方向に位置する前記第2の隣接サンプルと前記第1の隣接サンプルとの補間を介して前記予測サンプルが生成されることもできる。前述した場合は、線形補間イントラ予測(Linear interpolation intra prediction、LIP)と呼ばれることができる。また、線形モデル(linear model)を利用してルマサンプルに基づいてクロマ予測サンプルが生成されることもできる。この場合は、LMモードと呼ばれることができる。また、フィルタリングされた隣接参照サンプルに基づいて前記現在ブロックの臨時予測サンプルを導出し、前記既存の隣接参照サンプル、即ち、フィルタリングされない隣接参照サンプルのうち、前記イントラ予測モードにより導出された少なくとも一つの参照サンプルと前記臨時予測サンプルとを加重和(weighted sum)して前記現在ブロックの予測サンプルを導出することもできる。前述した場合は、PDPC(Position dependent intra prediction)と呼ばれることができる。また、現在ブロックの隣接多重参照サンプルラインの中から最も予測正確度が高い参照サンプルラインを選択して該当ラインで予測方向に位置する参照サンプルを利用して予測サンプルを導出し、この時に使われた参照サンプルラインをデコーディング装置に指示(シグナリング)する方法でイントラ予測符号化を実行することができる。前述した場合は、multi-reference line(MRL)intra prediction又はMRLベースのイントラ予測と呼ばれることができる。また、現在ブロックを垂直又は水平のサブパーティションに分けて同じイントラ予測モードに基づいてイントラ予測を実行し、前記サブパーティション単位で隣接参照サンプルを導出して利用できる。即ち、この場合、現在ブロックに対するイントラ予測モードが前記サブパーティションに同じく適用され、前記サブパーティション単位で隣接参照サンプルを導出して利用することによって、場合によって、イントラ予測性能を高めることができる。このような予測方法は、intra sub-partitions(ISP)又はISPベースのイントラ予測と呼ばれることができる。前述したイントラ予測方法は、目次1及び2でのイントラ予測モードと区分してイントラ予測タイプと呼ばれることができる。前記イントラ予測タイプは、イントラ予測技法又は付加イントラ予測モードなど、多様な用語で呼ばれることができる。例えば、前記イントラ予測タイプ(又は、付加イントラ予測モードなど)は、前述したLIP、PDPC、MRL、ISPのうち少なくとも一つを含むことができる。前記LIP、PDPC、MRL、ISPなどの特定イントラ予測タイプを除外した一般イントラ予測方法は、ノーマルイントラ予測タイプと呼ばれることができる。ノーマルイントラ予測タイプは、前記のような特定イントラ予測タイプが適用されない場合、一般的に適用されることができ、前述したイントラ予測モードに基づいて予測が実行されることができる。一方、必要によって、導出された予測サンプルに対する後処理フィルタリングが実行されることもできる。
具体的に、イントラ予測手順は、イントラ予測モード/タイプ決定ステップ、隣接参照サンプル導出ステップ、イントラ予測モード/タイプベースの予測サンプル導出ステップを含むことができる。また、必要によって、導出された予測サンプルに対する後処理フィルタリング(post-filtering)ステップが実行されることもできる。
以下ではエンコーディング装置でのイントラ予測が説明される。エンコーディング装置は、現在ブロックに対するイントラ予測を実行する。エンコーディング装置は、現在ブロックに対するイントラ予測モードを導出し、現在ブロックの隣接参照サンプルを導出することができ、前記イントラ予測モード及び前記隣接参照サンプルに基づいて前記現在ブロック内の予測サンプルを生成する。ここで、イントラ予測モード決定、隣接参照サンプル導出、及び予測サンプル生成手順は、同時に実行されてもよく、一手順が他の手順より先に実行されてもよい。例えば、エンコーディング装置のイントラ予測部222は、予測モード/タイプ決定部、参照サンプル導出部、予測サンプル導出部を含むことができ、予測モード/タイプ決定部で前記現在ブロックに対するイントラ予測モード/タイプを決定し、参照サンプル導出部で前記現在ブロックの隣接参照サンプルを導出し、予測サンプル導出部で前記現在ブロックの動きサンプルを導出することができる。一方、図示されてはいないが、後述する予測サンプルフィルタリング手順が実行される場合、イントラ予測部222は、予測サンプルフィルタ部(図示せず)をさらに含むこともできる。エンコーディング装置は、複数のイントラ予測モードのうち前記現在ブロックに対して適用されるモードを決定することができる。エンコーディング装置は、前記イントラ予測モードに対するRD costを比較して前記現在ブロックに対する最適のイントラ予測モードを決定することができる。
一方、エンコーディング装置は、予測サンプルフィルタリング手順を実行することもできる。予測サンプルフィルタリングは、ポストフィルタリングと呼ばれることができる。前記予測サンプルフィルタリング手順により前記予測サンプルのうち一部又は全部がフィルタリングされることができる。場合によって、前記予測サンプルフィルタリング手順は、省略されることができる。
エンコーディング装置は、予測サンプルに基づいて前記現在ブロックに対するレジデュアルサンプルを導出する。エンコーディング装置は、現在ブロックの原本サンプルで前記予測サンプルを位相に基づいて比較し、前記レジデュアルサンプルを導出することができる。
エンコーディング装置は、前記レジデュアルサンプルを変換/量子化し、量子化された変換係数を導出し、以後、前記量子化された変換係数を再び逆量子化/逆変換処理して(修正された)レジデュアルサンプルを導出することができる。このように変換/量子化後に再び逆量子化/逆変換を実行する理由は、前述したように、デコーディング装置で導出されるレジデュアルサンプルと同じレジデュアルサンプルを導出するためである。
エンコーディング装置は、前記予測サンプルと前記(修正された)レジデュアルサンプルに基づいて前記現在ブロックに対する復元サンプルを含む復元ブロックを生成することができる。前記復元ブロックに基づいて前記現在ピクチャに対する復元ピクチャが生成されることができる。
エンコーディング装置は、前記イントラ予測に関する予測情報(例えば、予測モードを示す予測モード情報)、並びに前記イントラ及び前記レジデュアルサンプルに関するレジデュアル情報を含む映像情報をエンコーディングし、エンコーディングされた映像情報をビットストリーム形態で出力できることは、前述の通りである。前記レジデュアル情報は、レジデュアルコーディングシンタックスを含むことができる。エンコーディング装置は、前記レジデュアルサンプルを変換/量子化し、量子化された変換係数を導出することができる。前記レジデュアル情報は、前記量子化された変換係数に対する情報を含むことができる。
図5は、デコーディング装置でのイントラ予測ベースのブロック復元方法を説明するための流れ図である。図5の方法は、S500、S510、S520、S530、及びS540ステップを含むことができる。デコーディング装置は、前記エンコーディング装置で実行された動作と対応される動作を実行することができる。
S500乃至S520は、デコーディング装置のイントラ予測部331により実行されることができ、S500の予測情報及びS530のレジデュアル情報は、デコーディング装置のエントロピーデコーディング部310によりビットストリームから取得されることができる。デコーディング装置のレジデュアル処理部320は、前記レジデュアル情報に基づいて現在ブロックに対するレジデュアルサンプルを導出することができる。具体的に、前記レジデュアル処理部320の逆量子化部321は、前記レジデュアル情報に基づいて導出された量子化された変換係数に基づいて、逆量子化を実行して変換係数を導出し、前記レジデュアル処理部の逆変換部322は、前記変換係数に対する逆変換を実行して前記現在ブロックに対するレジデュアルサンプルを導出することができる。S540は、デコーディング装置の加算部340又は復元部により実行されることができる。
具体的に、デコーディング装置は、受信された予測モード情報に基づいて現在ブロックに対するイントラ予測モードを導出することができる(S500)。デコーディング装置は、前記現在ブロックの隣接参照サンプルを導出することができる(S510)。デコーディング装置は、前記イントラ予測モード及び前記隣接参照サンプルに基づいて前記現在ブロック内の予測サンプルを生成する(S520)。この場合、デコーディング装置は、予測サンプルフィルタリング手順を実行することができる。予測サンプルフィルタリングは、ポストフィルタリングと呼ばれることができる。前記予測サンプルフィルタリング手順により前記予測サンプルのうち一部又は全部がフィルタリングされることができる。場合によって、予測サンプルフィルタリング手順は、省略されることができる。
デコーディング装置は、受信されたレジデュアル情報に基づいて前記現在ブロックに対するレジデュアルサンプルを生成する(S530)。デコーディング装置は、前記予測サンプル及び前記レジデュアルサンプルに基づいて前記現在ブロックに対する復元サンプルを生成し、前記復元サンプルを含む復元ブロックを導出することができる(S540)。前記復元ブロックに基づいて前記現在ピクチャに対する復元ピクチャが生成されることができる。
ここで、デコーディング装置のイントラ予測部331は、予測モード/タイプ決定部、参照サンプル導出部、予測サンプル導出部を含むことができ、予測モード/タイプ決定部は、デコーディング装置のエントロピーデコーディング部310で取得した予測モード情報に基づいて前記現在ブロックに対するイントラ予測モードを決定し、参照サンプル導出部は、前記現在ブロックの隣接参照サンプルを導出し、予測サンプル導出部は、前記現在ブロックの予測サンプルを導出することができる。一方、図示してはいないが、前述した予測サンプルフィルタリング手順が実行される場合、イントラ予測部331は、予測サンプルフィルタ部(図示せず)をさらに含むこともできる。
前記予測情報は、イントラ予測モード情報及び/又はイントラ予測タイプ情報を含むことができる。前記イントラ予測モード情報は、例えば、MPM(most probable mode)が前記現在ブロックに適用されるか、又は、リメイニングモード(remaining mode)が適用されるかを示すフラグ情報(例えば、intra_luma_mpm_flag)を含むことができ、前記MPMが前記現在ブロックに適用される場合、前記予測モード情報は、前記イントラ予測モード候補(MPM候補)のうち一つを指すインデックス情報(例えば、intra_luma_mpm_idx)をさらに含むことができる。前記イントラ予測モード候補(MPM候補)は、MPM候補リスト又はMPMリストで構成されることができる。また、前記MPMが前記現在ブロックに適用されない場合、前記イントラ予測モード情報は、前記イントラ予測モード候補(MPM候補)を除外した残りのイントラ予測モードのうち一つを指すリメイニングモード情報(例えば、intra_luma_mpm_remainder)をさらに含むことができる。デコーディング装置は、前記イントラ予測モード情報に基づいて前記現在ブロックのイントラ予測モードを決定することができる。前述したMIPのために別途のMPMリストが構成されることができる。
また、前記イントラ予測タイプ情報は、多様な形態で具現されることができる。一例として、前記イントラ予測タイプ情報は、前記イントラ予測タイプのうち一つを指示するイントラ予測タイプインデックス情報を含むことができる。他の例として、前記イントラ予測タイプ情報は、前記MRLが前記現在ブロックに適用されるか、及び適用される場合には何番目の参照サンプルラインが利用されるかを示す参照サンプルライン情報(例えば、intra_luma_ref_idx)、前記ISPが前記現在ブロックに適用されるかを示すISPフラグ情報(例えば、intra_subpartitions_mode_flag)、前記ISPが適用される場合にはサブパーティションが分割タイプを指示するISPタイプ情報(例えば、intra_subpartitions_split_flag)、PDCPの適用可否を示すフラグ情報又はLIPの適用可否を示すフラグ情報のうち少なくとも一つを含むことができる。また、前記イントラ予測タイプ情報は、前記現在ブロックにMIPが適用されるかどうかを示すMIPフラグを含むことができる。
前記イントラ予測モード情報及び/又は前記イントラ予測タイプ情報は、本文書で説明したコーディング方法を介してエンコーディング/デコーディングされることができる。例えば、前記イントラ予測モード情報及び/又は前記イントラ予測タイプ情報は、truncated (rice) binary codeに基づいてエントロピーコーディング(例えば、CABAC、CAVLCコーディング)を介してエンコーディング/デコーディングされることができる。
エンコーディング装置/デコーディング装置の予測部は、ブロック単位でインター予測を実行して予測サンプルを導出することができる。インター予測は、現在ピクチャ以外のピクチャ(ら)のデータ要素(例えば、サンプル値、又は動き情報等)に依存した方法で導出される予測を示すことができる(Inter prediction can be a prediction derived in a manner that is dependent on data elements(例えば、sample values or motion information) of picture(s) other than the current picture)。現在ブロックにインター予測が適用される場合、参照ピクチャインデックスが指す参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロック(予測サンプルアレイ)を誘導することができる。この時、インター予測モードで送信される動き情報の量を減らすために、隣接ブロックと現在ブロックとの間の動き情報の相関性に基づいて、現在ブロックの動き情報をブロック、サブブロック又はサンプル単位で予測できる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測タイプ(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測が適用される場合、隣接ブロックは、現在ピクチャ内に存在する空間的隣接ブロック(spatial neighboring block)と参照ピクチャに存在する時間的隣接ブロック(temporal neighboring block)とを含むことができる。前記参照ブロックを含む参照ピクチャと前記時間的隣接ブロックを含む参照ピクチャは、同じであってもよく、異なってもよい。前記時間的隣接ブロックは、同一位置参照ブロック(collocated reference block)、同一位置CU(colCU)などの名称で呼ばれることができ、前記時間的隣接ブロックを含む参照ピクチャは、同一位置ピクチャ(collocated picture、colPic)と呼ばれることもできる。例えば、現在ブロックの隣接ブロックに基づいて動き情報候補リストが構成されることができ、前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出するためにどんな候補が選択(使用)されるかを指示するフラグ又はインデックス情報がシグナリングされることができる。多様な予測モードに基づいてインター予測が実行されることができ、例えば、スキップモードとマージモードの場合、現在ブロックの動き情報は、選択された隣接ブロックの動き情報と同じである。スキップモードの場合、マージモードとは違って、レジデュアル信号が送信されない。動き情報予測(motion vector prediction、MVP)モードの場合、選択された隣接ブロックの動きベクトルを動きベクトル予測子(motion vector predictor)として利用し、動きベクトル差分(motion vector difference)は、シグナリングされることができる。この場合、前記動きベクトル予測子及び動きベクトル差分の和を利用して前記現在ブロックの動きベクトルを導出することができる。
図6は、エンコーディング装置でのインター予測ベースのブロック復元方法を説明するための流れ図である。図6の方法は、S600、S610、S620、S630、及びS640ステップを含むことができる。
S600は、エンコーディング装置のインター予測部221により実行されることができ、S610乃至S630は、エンコーディング装置のレジデュアル処理部230により実行されることができる。具体的に、S610は、エンコーディング装置の減算部231により実行されることができ、S620は、エンコーディング装置の変換部232及び量子化部233により実行されることができ、S630は、エンコーディング装置の逆量子化部234及び逆変換部235により実行されることができる。S600において、予測情報がインター予測部221により導出され、エントロピーエンコーディング部240によりエンコーディングされることができる。S610及びS620を介してレジデュアル情報が導出され、エントロピーエンコーディング部240によりエンコーディングされることができる。前記レジデュアル情報は、前記レジデュアルサンプルに関する情報である。前記レジデュアル情報は、前記レジデュアルサンプルに対する量子化された変換係数に関する情報を含むことができる。前述したように、前記レジデュアルサンプルは、エンコーディング装置の変換部232を介して変換係数として導出され、前記変換係数は、量子化部233を介して量子化された変換係数として導出されることができる。前記量子化された変換係数に関する情報がレジデュアルコーディング手順を介してエントロピーエンコーディング部240でエンコーディングされることができる。
エンコーディング装置は、現在ブロックに対するインター予測を実行する(S600)。エンコーディング装置は、現在ブロックのインター予測モード及び動き情報を導出し、前記現在ブロックの予測サンプルを生成することができる。ここで、インター予測モード決定、動き情報導出、及び予測サンプル生成手順は、同時に実行されることもでき、一手順が他の手順より先に実行されることもできる。例えば、エンコーディング装置のインター予測部221は、予測モード決定部、動き情報導出部、予測サンプル導出部を含むことができ、予測モード決定部で前記現在ブロックに対する予測モードを決定し、動き情報導出部で前記現在ブロックの動き情報を導出し、予測サンプル導出部で前記現在ブロックの動きサンプルを導出することができる。例えば、エンコーディング装置のインター予測部221は、動き推定(motion estimation)を介して参照ピクチャの一定領域(サーチ領域)内で前記現在ブロックと類似するブロックをサーチし、前記現在ブロックとの差異が最小又は一定基準以下である参照ブロックを導出することができる。これに基づいて前記参照ブロックが位置する参照ピクチャを指す参照ピクチャインデックスを導出し、前記参照ブロックと前記現在ブロックの位置差異に基づいて動きベクトルを導出することができる。エンコーディング装置は、多様な予測モードのうち前記現在ブロックに対して適用されるモードを決定することができる。エンコーディング装置は、前記多様な予測モードに対するRD costを比較して前記現在ブロックに対する最適の予測モードを決定することができる。
例えば、エンコーディング装置は、前記現在ブロックにスキップモード又はマージモードが適用される場合、後述するマージ候補リストを構成し、前記マージ候補リストに含まれているマージ候補が指す参照ブロックのうち前記現在ブロックとの差異が最小又は一定基準以下である参照ブロックを導出することができる。この場合、前記導出された参照ブロックと関連したマージ候補が選択され、前記選択されたマージ候補を指すマージインデックス情報が生成されてデコーディング装置にシグナリングされることができる。前記選択されたマージ候補の動き情報を利用して前記現在ブロックの動き情報が導出されることができる。
他の例として、エンコーディング装置は、前記現在ブロックに(A)MVPモードが適用される場合、後述する(A)MVP候補リストを構成し、前記(A)MVP候補リストに含まれているmvp(motion vector predictor)候補の中から選択されたmvp候補の動きベクトルを前記現在ブロックのmvpとして利用できる。この場合、例えば、前述した動き推定により導出された参照ブロックを指す動きベクトルが前記現在ブロックの動きベクトルとして利用されることができ、前記mvp候補のうち前記現在ブロックの動きベクトルとの差が最も小さい動きベクトルを有するmvp候補が、前記選択されたmvp候補になることができる。前記現在ブロックの動きベクトルから前記mvpを引いた差分であるMVD(motion vector difference)が導出されることができる。この場合、前記MVDに関する情報がデコーディング装置にシグナリングされることができる。また、(A)MVPモードが適用される場合、前記参照ピクチャインデックスの値は、参照ピクチャインデックス情報で構成されて別途に前記デコーディング装置にシグナリングされることができる。
エンコーディング装置は、前記予測サンプルに基づいてレジデュアルサンプルを導出することができる(S610)。エンコーディング装置は、前記現在ブロックの原本サンプルと前記予測サンプルの比較を介して前記レジデュアルサンプルを導出することができる。
エンコーディング装置は、前記レジデュアルサンプルを変換/量子化し、量子化された変換係数を導出し(S620)、以後、前記量子化された変換係数を再び逆量子化/逆変換処理して(修正された)レジデュアルサンプルを導出することができる(S630)。このように変換/量子化後に再び逆量子化/逆変換を実行する理由は、前述したように、デコーディング装置で導出されるレジデュアルサンプルと同じレジデュアルサンプルを導出するためである。
エンコーディング装置は、前記予測サンプルと前記(修正された)レジデュアルサンプルに基づいて前記現在ブロックに対する復元サンプルを含む復元ブロックを生成することができる(S640)。前記復元ブロックに基づいて前記現在ピクチャに対する復元ピクチャが生成されることができる。
図示してはいないが、前述したように、エンコーディング装置は、予測情報及びレジデュアル情報を含む映像情報をエンコーディングすることができる。エンコーディング装置は、エンコーディングされた映像情報をビットストリーム形態で出力できる。前記予測情報は、前記予測手順に関連した情報であって、予測モード情報(例えば、skip flag、merge flag or mode index等)及び動き情報に関する情報を含むことができる。前記動き情報に関する情報は、動きベクトルを導出するための情報である候補選択情報(例えば、merge index、mvp flag or mvp index)を含むことができる。また、前記動き情報に関する情報は、前述したMVDに関する情報及び/又は参照ピクチャインデックス情報を含むことができる。また、前記動き情報に関する情報は、L0予測、L1予測、又は対(bi)予測が適用されるかどうかを示す情報を含むことができる。前記レジデュアル情報は、前記レジデュアルサンプルに関する情報である。前記レジデュアル情報は、前記レジデュアルサンプルに対する量子化された変換係数に関する情報を含むことができる。
出力されたビットストリームは、(デジタル)格納媒体に格納されてデコーディング装置に伝達されることができ、又はネットワークを介してデコーディング装置に伝達されることもできる。
図7は、デコーディング装置でのインター予測ベースのブロック復元方法を説明するための流れ図である。図7の方法は、S700、S710、S720、S730、及びS740ステップを含むことができる。デコーディング装置は、前記エンコーディング装置で実行された動作と対応される動作を実行することができる。
S700乃至S720は、デコーディング装置のインター予測部332により実行されることができ、S700の予測情報及びS730のレジデュアル情報は、デコーディング装置のエントロピーデコーディング部310によりビットストリームから取得されることができる。デコーディング装置のレジデュアル処理部320は、前記レジデュアル情報に基づいて現在ブロックに対するレジデュアルサンプルを導出することができる。具体的に、前記レジデュアル処理部320の逆量子化部321は、前記レジデュアル情報に基づいて導出された量子化された変換係数に基づいて、逆量子化を実行して変換係数を導出し、前記レジデュアル処理部の逆変換部322は、前記変換係数に対する逆変換を実行して前記現在ブロックに対するレジデュアルサンプルを導出することができる。S740は、デコーディング装置の加算部340又は復元部により実行されることができる。
具体的に、デコーディング装置は、受信された予測情報に基づいて前記現在ブロックに対する予測モードを決定することができる(S700)。デコーディング装置は、前記予測情報内の予測モード情報に基づいて前記現在ブロックにどんなインター予測モードが適用されるかを決定することができる。
例えば、前記merge flagに基づいて前記現在ブロックに前記マージモードが適用されるが、又は、(A)MVPモードが決定されるかを決定することができる。又は、前記mode indexに基づいて多様なインター予測モード候補の中から一つを選択することができる。前記インター予測モード候補は、スキップモード、マージモード、及び/又は(A)MVPモードを含むことができ、又は後述する多様なインター予測モードを含むことができる。
デコーディング装置は、前記決定されたインター予測モードに基づいて前記現在ブロックの動き情報を導出する(S710)。例えば、デコーディング装置は、前記現在ブロックにスキップモード又はマージモードが適用される場合、後述するマージ候補リストを構成し、前記マージ候補リストに含まれているマージ候補の中から一つのマージ候補を選択することができる。前記選択は、前述した選択情報(merge index)に基づいて実行されることができる。前記選択されたマージ候補の動き情報を利用して前記現在ブロックの動き情報が導出されることができる。前記選択されたマージ候補の動き情報が前記現在ブロックの動き情報として利用されることができる。
他の例として、デコーディング装置は、前記現在ブロックに(A)MVPモードが適用される場合、後述する(A)MVP候補リストを構成し、前記(A)MVP候補リストに含まれているmvp(motion vector predictor)候補の中から選択されたmvp候補の動きベクトルを前記現在ブロックのmvpとして利用できる。前記選択は、前述した選択情報(mvp flag or mvp index)に基づいて実行されることができる。この場合、前記MVDに関する情報に基づいて前記現在ブロックのMVDを導出することができ、前記現在ブロックのmvpと前記MVDに基づいて前記現在ブロックの動きベクトルを導出することができる。また、前記参照ピクチャインデックス情報に基づいて前記現在ブロックの参照ピクチャインデックスを導出することができる。前記現在ブロックに関する参照ピクチャリスト内で前記参照ピクチャインデックスが指すピクチャが、前記現在ブロックのインター予測のために参照される参照ピクチャとして導出されることができる。
一方、後述するように、候補リスト構成なしで前記現在ブロックの動き情報が導出されることができ、この場合、後述する予測モードで開示された手順によって、前記現在ブロックの動き情報が導出されることができる。この場合、前述したような候補リスト構成は、省略されることができる。
デコーディング装置は、前記現在ブロックの動き情報に基づいて前記現在ブロックに対する予測サンプルを生成することができる(S720)。この場合、前記現在ブロックの参照ピクチャインデックスに基づいて前記参照ピクチャを導出し、前記現在ブロックの動きベクトルが前記参照ピクチャ上で指す参照ブロックのサンプルを利用して前記現在ブロックの予測サンプルを導出することができる。この場合、後述するように、場合によって、前記現在ブロックの予測サンプルのうち全部又は一部に対する予測サンプルフィルタリング手順がさらに実行されることができる。
例えば、デコーディング装置のインター予測部332は、予測モード決定部、動き情報導出部、予測サンプル導出部を含むことができ、予測モード決定部で受信された予測モード情報に基づいて前記現在ブロックに対する予測モードを決定し、動き情報導出部で受信された動き情報に関する情報に基づいて前記現在ブロックの動き情報(動きベクトル及び/又は参照ピクチャインデックス等)を導出し、予測サンプル導出部で前記現在ブロックの予測サンプルを導出することができる。
デコーディング装置は、受信されたレジデュアル情報に基づいて前記現在ブロックに対するレジデュアルサンプルを生成する(S730)。デコーディング装置は、前記予測サンプル及び前記レジデュアルサンプルに基づいて前記現在ブロックに対する復元サンプルを生成し、前記復元サンプルを含む復元ブロックを導出することができる(S740)。前記復元ブロックに基づいて前記現在ピクチャに対する復元ピクチャが生成されることができる。
ピクチャ内の現在ブロックの予測のために多様なインター予測モードが使用できる。例えば、マージモード、スキップモード、MVP(motion vector prediction)モード、アフィン(Affine)モード、サブブロックマージモード、MMVD(merge with MVD)モード等の多様なモードが使用できる。DMVR(Decoder side motion vector refinement)モード、AMVR(adaptive motion vector resolution)モード、Bi-prediction with CU-level weight(BCW)、Bi-directional optical flow(BDOF)等が付随的モードとしてさらに、又は代わりに使用できる。アフィンモードは、アフィン動き予測(affine motion prediction)モードと呼ばれることもある。MVPモードは、AMVP(advanced motion vector prediction)モードと呼ばれることもある。本文書で、一部のモード及び/又は一部のモードにより導出された動き情報の候補は、他のモードの動き情報に関する候補の一つに含まれることもある。例えば、HMVP候補は、前記マージ/スキップモードのマージ候補として追加されることがあり、又は前記MVPモードのmvp候補として追加されることもある。
現在ブロックのインター予測モードを指す予測モード情報がエンコーディング装置からデコーディング装置にシグナリングされることができる。前記予測モード情報は、ビットストリームに含まれ、デコーディング装置に受信されることができる。前記予測モード情報は、多数の候補モードのうちの一つを指示するインデックス情報を含むことができる。或いは、フラグ情報の階層的シグナリングを通じて、インター予測モードを指示することもある。この場合、前記予測モード情報は、一つ以上のフラグを含むことができる。例えば、スキップフラグをシグナリングしてスキップモードの適用可否を指示し、スキップモードが適用されない場合に、マージフラグをシグナリングしてマージモードの適用可否を指示し、マージモードが適用されない場合に、MVPモードが適用されるものと指示するか、追加的な区分のためのフラグをさらにシグナリングすることもある。アフィンモードは、独立したモードとしてシグナリングされることもあり、又はマージモード又はMVPモード等に従属的なモードとしてシグナリングされることもある。例えば、アフィンモードは、アフィンマージモード及びアフィンMVPモードを含むことができる。
一方、現在ブロックに、前述したlist0(L0)予測、list1(L1)予測、又は双(bi-prediction)予測が現在ブロック(現在コーディングユニット)に使用されるか否かを示す情報がシグナリングされることができる。前記情報は、動き予測方向情報、インター予測方向情報又はインター予測指示情報と呼ばれ得、例えば、inter_pred_idcのシンタックス要素の形態で構成/エンコーディング/シグナリングされることができる。すなわち、inter_pred_idcのシンタックス要素は、前述したlist0(L0)予測、list1(L1)予測、又は双予測(bi-prediction)が現在ブロック(現在コーディングユニット)に使用されるか否かを示すことができる。本文書では、説明の便宜のために、inter_pred_idcのシンタックス要素が指すインター予測タイプ(L0予測、L1予測、又はBI予測)は、動き予測方向と表示されることができる。 L0予測はpred_L0、L1予測はpred_L1、双予測はpred_BIで表されることもある。例えば、inter_pred_idcのシンタックス要素の値に応じて、次の表のような予測タイプが決定されることができる。
前述したように、一つのピクチャは、一つ以上のスライス(slice)を含むことができる。スライスは、Iスライス(intra slice)、Pスライス(predictive slice)及びBスライス(bi-predictive slice)を含むスライスタイプのうちの一つのタイプを有することができる。前記スライスタイプは、スライスタイプ情報に基づいて指示されることができる。Iスライス内のブロックに対しては、予測のためにインター予測は使用されず、イントラ予測のみ使用されることができる。もちろん、この場合にも、予測なしで原本サンプル値をコーディングしてシグナリングすることもある。Pスライス内のブロックに対しては、イントラ予測又はインター予測が使用でき、インター予測が使用される場合には、単(uni)予測のみ使用できる。一方、Bスライス内のブロックに対しては、イントラ予測又はインター予測が使用でき、インター予測が使用される場合には、最大の双(bi)予測まで使用できる。
L0及びL1は、現在ピクチャよりも以前にエンコーディング/デコーディングされた参照ピクチャを含むことができる。例えば、L0は、POC順序上、現在ピクチャよりも以前及び/又は以後の参照ピクチャを含むことができ、L1は、POC順序上、現在ピクチャよりも以後及び/又は以前の参照ピクチャを含むことができる。この場合、L0にはPOC順序上、現在ピクチャよりも以前の参照ピクチャに相対的にさらに低い参照ピクチャのインデックスが割り当てられることがあり、L1にはPOC順序上、現在ピクチャよりも以後の参照ピクチャに相対的にさらに低い参照ピクチャのインデックスが割り当てられることがある。Bスライスの場合、双予測が適用でき、この場合にも、単方向の双予測が適用でき、又は両方向の双予測が適用できる。両方向の双予測は、真(true)の双予測と呼ばれ得る。
前述したように、エンコーディング段で予測を介して導出された予測されたブロック(予測サンプル)に基づいてレジデュアルブロック(レジデュアルサンプル)が導出されることができ、前記レジデュアルサンプルに変換/量子化を経てレジデュアル情報が生成されることができる。前記レジデュアル情報は、量子化された変換係数に対する情報を含むことができる。前記レジデュアル情報は、ビデオ/映像情報に含まれることができ、前記ビデオ/映像情報は、エンコーディングされてビットストリーム形態でデコーディング装置に伝達されることができる。デコーディング装置は、前記ビットストリームから前記レジデュアル情報を取得することができ、前記レジデュアル情報に基づいてレジデュアルサンプルを導出することができる。具体的に、前記デコーディング装置は、前記レジデュアル情報に基づいて量子化された変換係数を導出し、逆量子化/逆変換手順を介してレジデュアルブロック(レジデュアルサンプル)を導出することができる。
一方、前記(逆)変換及び/又は(逆)量子化のうち少なくとも一つの手順は、省略されることができる。
以下、復元ピクチャのために実行されるインループフィルタリング手順が説明される。インループフィルタリング手順を介して修正された(modified)復元サンプル、ブロック、ピクチャ(又は、修正フィルタリングされた(modified filtered)サンプル、ブロック、ピクチャ)が生成されることができ、デコーディング装置で前記修正された(修正フィルタリングされた)復元ピクチャがデコーディングされたピクチャとして出力されることができ、また、エンコーディング装置/デコーディング装置の復号ピクチャバッファ又はメモリに格納されて以後ピクチャのエンコーディング/デコーディング時にインター予測手順で参照ピクチャとして使われることができる。前記インループフィルタリング手順は、前述したように、デブロッキングフィルタリング手順、SAO(sample adaptive offset)手順及び/又はALF(adaptive loop filter)手順などを含むことができる。この場合、前記デブロッキングフィルタリング手順、SAO(sample adaptive offset)手順、ALF(adaptive loop filter)手順、及びバイラテラルフィルタ(bi-lateral filter)手順のうち一つ又は一部が順次に適用されることができ、又は全部が順次に適用されることもできる。例えば、復元ピクチャに対してデブロッキングフィルタリング手順が適用された後、SAO手順が実行されることができる。又は、例えば、復元ピクチャに対してデブロッキングフィルタリング手順が適用された後、ALF手順が実行されることができる。これはエンコーディング装置でも同様に実行されることができる。
デブロッキングフィルタリングは、復元されたピクチャでブロック間の境界に発生する歪曲を除去するフィルタリング技法である。デブロッキングフィルタリング手順は、例えば、復元ピクチャでターゲット境界を導出し、前記ターゲット境界に対するbS(boundary strength)を決定し、前記bSに基づいて前記ターゲット境界に対するデブロッキングフィルタリングを実行することができる。前記bSは、前記ターゲット境界を隣接する二つのブロックの予測モード、動きベクトル差、参照ピクチャ同一可否、0でない有効係数の存在可否などに基づいて決定されることができる。
SAOは、サンプル単位で復元ピクチャと原本ピクチャとのオフセット差を補償する方法であって、例えば、バンドオフセット(Band Offset)、エッジオフセット(Edge Offset)などのタイプに基づいて適用されることができる。SAOによると、各SAOタイプによってサンプルを互いに異なるカテゴリに分類し、カテゴリに基づいて各サンプルにオフセット値を足すことができる。SAOのためのフィルタリング情報は、SAO適用可否に関する情報、SAOタイプ情報、SAOオフセット値情報などを含むことができる。SAOは、前記デブロッキングフィルタリング適用後の復元ピクチャに対して適用されることもできる。
ALF(Adaptive Loop Filter)は、復元ピクチャに対してフィルタ形状によるフィルタ係数に基づいてサンプル単位でフィルタリングする技法である。エンコーディング装置は、復元ピクチャと原本ピクチャの比較を介してALF適用可否、ALF形状及び/又はALFフィルタリング係数などを決定することができ、デコーディング装置にシグナリングすることができる。即ち、ALFのためのフィルタリング情報は、ALF適用可否に関する情報、ALFフィルタ形状(shape)情報、ALFフィルタリング係数情報などを含むことができる。ALFは、前記デブロッキングフィルタリング適用後の復元ピクチャに対して適用されることもできる。
図8は、ALFフィルタ形状の例を示す。
図8の(a)は、7×7ダイアモンドフィルタ形状を示し、(b)は、5×5ダイアモンドフィルタ形状を示す。図8において、フィルタ形状内のCnは、フィルタ係数を示す。前記Cnにおいて、nが同じ場合、これは同じフィルタ係数が割り当てられることができることを示す。本文書において、ALFのフィルタ形状によってフィルタ係数が割り当てられる位置及び/又は単位は、フィルタタブと呼ばれることができる。この時、各々のフィルタタブには一つのフィルタ係数が割り当てられることができ、フィルタタブが配列された形態は、フィルタ形状に該当することができる。フィルタ形状のセンターに位置したフィルタタブは、センターフィルタタブと呼ばれることができる。センターフィルタタブを基準にして互いに対応される位置に存在する同じn値の二つのフィルタタブには同じフィルタ係数が割り当てられることができる。例えば、7×7ダイアモンドフィルタ形状の場合、25個のフィルタタブを含み、C0乃至C11のフィルタ係数が中央対称形態で割り当てられるため、13個のフィルタ係数のみで前記25個のフィルタタブにフィルタ係数を割り当てることができる。また、例えば、5×5ダイアモンドフィルタ形状の場合、13個のフィルタタブを含み、C0乃至C5のフィルタ係数が中央対称形態で割り当てられるため、7個のフィルタ係数のみで前記13個のフィルタタブにフィルタ係数を割り当てることができる。例えば、シグナリングされるフィルタ係数に関する情報のデータ量を減らすために、7×7ダイアモンドフィルタ形状に対する13個のフィルタ係数のうち、12個のフィルタ係数は、(明示的に)シグナリングされ、1個のフィルタ係数は、(暗黙的に)導出されることができる。また、例えば、5×5ダイアモンドフィルタ形状に対する7個のフィルタ係数のうち、6個のフィルタ係数は、(明示的に)シグナリングされて、1個のフィルタ係数は、(暗黙的に)導出されることができる。
本文書の一実施例によると、前記ALF手順のために使われるALFパラメータがAPS(adaptation parameter set)を介してシグナリングされることができる。前記ALFパラメータは、前記ALFのためのフィルタ情報又はALFデータから導出されることができる。
ALFは、前述したように、ビデオ/映像コーディングで適用されることができるインループフィルタリング技術(technique)のタイプである。ALFは、ウィーナーベースの(Wiener-based)適応的フィルタを使用して実行されることができる。これは原本サンプルとデコーディングされたサンプル(又は、復元サンプル)との間のMSE(mean square error)を最小化するためである。ALFツール(tool)のための上位レベルデザイン(high level design)は、SPS及び/又はスライスヘッダ(又は、タイルグループヘッダ)で接近できるシンタックス要素を含有(incorporate)することができる。
一例において、4×4ルマブロックの各々に対するフィルタリング前に、回転又は対角及び垂直フリピング(flipping)のような幾何的変換が、前記ブロックのために算出された傾き値に依存するフィルタ係数f(k、l)及び該当フィルタクリッピング値c(k、l)に適用されることができる。これは、フィルタ支援領域内のサンプルにこれらの変換が適用されることと同じである。ALFが適用される他のブロックを生成すること、これらのブロックをそれらの方向性によって整列することと類似する。
例えば、三つの変換、対角、垂直フリップ(flip)、及び回転は、以下の数式に基づいて実行されることができる。
前記数式1乃至数式3において、Kは、フィルタの大きさである。0≦k、1≦K-1は、係数座標(coefficients coordinates)である。例えば、(0、0)は、左上側コーナー座標であり、及び/又は(K-1、K-1)は、右下側コーナー座標である。変換と四方向の四つの傾きとの間の関係は、以下の表のように要約されることができる。
ALFフィルタパラメータは、APSとスライスヘッダでシグナリングされることができる。一つのAPSで、最大25個までのルマフィルタ係数とクリッピング値インデックスがシグナリングされることができる。一つのAPSで、最大8個のクロマフィルタ係数とクリッピング値インデックスがシグナリングされることができる。ビットオーバーヘッドを減らすために、ルマ成分に対する互いに異なる分類のフィルタ係数が併合されることができる。スライスヘッダで、現在スライスのために使われるAPS(現在スライスが参照する)のインデックスがシグナリングされることができる。
APSからデコーディングされるクリッピング値インデックスは、クリッピング値のルマテーブルとクリッピング値のクロマテーブルとを利用してクリッピング値を決定することが可能なようにすることができる。これらのクリッピング値は、インターナルビット深度(internal bitdepth)に依存的である。より具体的に、クリッピング値のルマテーブルとクリッピング値のクロマテーブルは、以下の数式に基づいて導出されることができる。
前記数式において、Bは、インターナルビット深度(internal bitdepth)であり、Nは、許容されたクリッピング値の数(事前に決定された数)である。例えば、Nは、4である。
スライスヘッダで、最大7個のAPSインデックスが現在スライスのために使われるルマフィルタセットを示すためにシグナリングされることができる。フィルタリング手順は、CTBレベルでさらに制御されることができる。例えば、ALFがルマCTBに適用されるかどうかを指示するフラグが、シグナリングされることができる。ルマCTBは、16個の固定されたフィルタセット及びAPSからのフィルタセットのうち一つのフィルタセットを選択することができる。フィルタセットインデックスは、どのフィルタセットが適用されるかを指示するようにルマCTBのためにシグナリングされることができる。16個の固定されたフィルタセットは、事前に定義されることができ、エンコーダとデコーダの両方ともにハードコーディング(hard-coded)されることができる。
クロマ成分のために、APSインデックスは、現在スライスのために使われるクロマフィルタセットを指示するためスライスヘッダでシグナリングされることができる。CTBレベルで、APSに二つ以上のクロマフィルタセットがある場合、フィルタインデックスは、各クロマCTBのためにシグナリングされることができる。
フィルタ係数は、128を基準にして(norm)量子化されることができる。掛け算複雑度を制限するために、ビットストリームカンフォーマンス(bitstream conformance)が適用されることができ、したがって、中心位置にない(of non-central position)係数値は、0から28までの範囲内にあり、及び/又は他の位置の係数値は、-27から27-1までの範囲内にある。中心位置係数は、ビットストリームでシグナリングされずに、128に事前に決定(考慮)されることができる。
現在ブロックに対してALFが可用な場合、各サンプルR(i、j)は、フィルタリングされることができ、そしてフィルタリングされた結果であるR′(i、j)は、以下の数式のように表現されることができる。
前記数式において、f(k、l)は、デコーディングされたフィルタ係数であり、K(x、y)は、クリッピング関数であり、c(k、l)は、デコーディングされたクリッピングパラメータである。例えば、前記変数k及び/又はlは、-L/2からL/2まで変わることができる。ここで、Lは、フィルタ長さを示すことができる。クリッピング関数K(x、y)=min(y、max(-y、x))は、関数Clip3(-y、y、x)に対応できる。
一例において、ALFのラインバッファ要求事項を減少させるために、修正されたブロック分類とフィルタリングが水平CTU境界に隣接したサンプルのために適用されることができる。このために、仮想境界が定義されることができる。
図9は、本文書の一実施例によってフィルタリング手順に適用される仮想境界(virtual boundary)を説明するための図面である。図10は、本文書の一実施例によって仮想境界を利用するALF手順の一例を示す。図10は、図9と共に説明される。
図9を参照すると、仮想境界は、N個のサンプルほど水平CTU境界をシフティングすることによって定義されたラインである。一例において、Nは、ルマ成分に対しては4であり、及び/又は、Nは、クロマ成分に対しては2である。
図9において、修正されたブロック分類がルマ成分に対して適用されることができる。仮想境界上の4×4ブロックの1Dラプラシアン傾き計算のために、ただ仮想境界上のサンプルのみが使われることができる。同様に、仮想境界下の4×4ブロックの1Dラプラシアン傾き計算のために、ただ仮想境界下のサンプルのみが使われることができる。活動性値Aの量子化は、1Dラプラシアン傾き計算で使われるサンプルの縮小された個数を考慮し、それによってスケーリングされることができる。
フィルタリング手順のために、仮想境界での対称的なパディング演算がルマとクロマ成分のために使われることができる。図9を参照すると、仮想境界下にフィルタリングされたサンプルが位置する場合、仮想境界上に位置する隣接サンプルがパディングされることができる。一方、他側の該当サンプルも対称的にパディングされることができる。
図10によって説明された手順は、境界を横切ってフィルタが可用しない場合、スライス、ブリック、及び/又はタイルの境界のためにも使われることができる。ALFブロック分類のために、ただ同じスライス、ブリック、及び/又はタイルに含まれているサンプルのみが使われることができ、そして、活動性値は、それによってスケーリングされることができる。ALFフィルタリングのために、水平及び/又は垂直境界に対する水平及び/又は垂直方向の各々に対して対称的なパディングが適用されることができる。
図11は、本文書の一実施例によるクロス-コンポーネント適応的ループフィルタリング(cross component adaptive loop filtering、CCALF(CC-ALF))手順を説明するための図面である。CCALF手順は、クロス-コンポーネントフィルタリング手順と呼ばれることもできる。
一観点で、ALF手順は、一般ALF手順とCCALF手順を含むことができる。即ち、CCALF手順は、ALF手順の一部手順を指すことができる。他の観点で、フィルタリング手順は、デブロッキング手順、SAO手順、ALF手順、及び/又はCCALF手順を含むことができる。
CC-ALFは、ルマサンプル値を使用して各クロマ成分を改善(refine)することができる。CC-ALFは、ビットストリームの(映像)情報により制御され、前記映像情報は、(a)各クロマ成分に対するフィルタ係数に関する情報と、(b)サンプルのブロックに対するフィルタ適用を制御するマスクに関する情報と、を含むことができる。フィルタ係数は、APSでシグナリングされることができ、ブロック大きさとマスクは、スライスレベルでシグナリングされることができる。
図11を参照すると、CC-ALFは、各クロマ成分のためにルマチャネルに線形ダイアモンド形状のフィルタ(図11の(b))を適用することによって動作できる。フィルタ係数は、APSに送信され、210のファクタによりスケーリングされ、そして固定小数点表現のために四捨五入される。フィルタの適用は、可変ブロック大きさで制御され、各サンプルのブロックに対して受信されたコンテキストコーディングフラグによりシグナリングされることができる。CC-ALF可用フラグと共にブロック大きさは、各クロマ成分のためにスライスレベルで受信されることができる。ブロック大きさ(クロマサンプルに対する)は、16×16、32×32、64×64、又は128×128である。
以下の実施例では復元ルマサンプルに基づいて、ALFによりフィルタリングされた復元クロマサンプルを再フィルタリング(re-filtering)又は修正(modifying)する方法が提案される。
本文書の一実施例は、CC-ALFのうちフィルタオンオフ(on/off)送信及びフィルタ係数送信と関連したものである。前述したように、本文書に開示されるシンタックステーブル内の情報(シンタックス要素)は、映像/ビデオ情報に含まれることができ、エンコーディング装置で構成/エンコーディングされてビットストリーム形態でデコーディング装置に伝達されることができる。デコーディング装置は、該当シンタックステーブル内の情報(シンタックス要素)をパーシング/デコーディングすることができる。デコーディング装置は、デコーディングされた情報に基づいてピクチャ/イメージ/ビデオデコーディング手順(具体的に、例えば、前記CC-ALF手順)を実行することができる。以下、他の実施例でも同様である。
以下の表は、本文書の実施例によるスライスヘッダ情報の一部シンタックスを示す。
以下の表は、前記表に含まれているシンタックス要素に関する例示的なセマンティクスを示す。
前記二つの表を参照すると、slice headerでsps_cross_component_alf_enabled_flagが1である場合、該当slice内にCb CC-ALF適用有無判断のためにslice_cross_component_alf_cb_enabled_flagのパーシング(parsing)が実行されることができる。slice_cross_component_alf_cb_enabled_flagが1である場合、該当Cb sliceにCC-ALFを適用し、slice_cross_component_alf_cb_reuse_temporal_layer_filterが1である場合、既存同じtemporal layerのfilterが再使用されることができる。slice_cross_component_alf_cb_enabled_flagが0である場合、slice_cross_component_alf_cb_aps_idparsingを介して該当APS(adaptation parameter set)idにあるfilterを使用してCC-ALFが適用されることができる。slice_cross_component_alf_cb_log2_control_size_minus4は、Cb sliceでCC-ALF適用ブロック単位を意味することができる。
例えば、前記slice_cross_component_alf_cb_log2_control_size_minus4の値が0である場合、16×16単位でCC-ALF適用有無が判断される。slice_cross_component_alf_cb_log2_control_size_minus4の値が1である場合、32×32単位でCC-ALF適用有無が判断される。slice_cross_component_alf_cb_log2_control_size_minus4の値が2である場合、64×64単位でCC-ALF適用有無が判断される。slice_cross_component_alf_cb_log2_control_size_minus4の値が3である場合、128×128単位でCC-ALF適用有無が判断される。また、Cr CC-ALFのために、前記と同じ構造のsyntaxを使用する。
以下の表は、ALFデータに関する例示的なシンタックスを示す。
以下の表は、前記表に含まれているシンタックス要素に関する例示的なセマンティクスを示す。
前記二つの表を参照すると、CC-ALFシンタックス要素は、既存(一般)ALFシンタックス構造によらずに独立的に送信され、独立的に適用されることができるように構成されている。即ち、SPS上のALF toolがオフ(off)されている場合にも、CC-ALFが適用されることができる。既存ALF構造とは独立的にCC-ALFが作動可能でなければならないため、新しいハードウェアパイプラインデザインが要求される。これはハードウェア具現時の費用増加及びハードウェアディレイ増加の原因となる。
また、ALFは、ルマとクロマ映像の両方ともCTU単位で適用有無を判断し、前記判断の結果は、シグナリングを介して復号器に送信する。しかし、16×16から128×128単位の可変的CC-ALF適用有無が判断され、これを適用するため、既存ALF構造とCC-ALFとの間に衝突が発生できる。これはハードウェア具現時の問題点を発生させる同時に多様な可変的CC-ALF適用のためのラインバッファ増加原因となる。
本発明ではCC-ALFシンタックス構造をALFシンタックス構造に統合的に適用することによって、前記提起したCC-ALFのハードウェア具現上の問題点を解決しようとする。
本文書の一実施例によると、CC-ALFが使用(適用)されるかどうかを決定するために、シーケンスパラメータセット(sequence parameter set、SPS)は、CC-ALF可用フラグ(sps_ccalf_enable_flag)を含むことができる。前記CC-ALF可用フラグは、ALFが使用(適用)されるかどうかを決定するためのALF可用フラグ(sps_alf_enabled_flag)と独立的に送信されることができる。
以下の表は、本実施例によるSPSの例示的なシンタックスの一部を示す。
前記表を参照すると、CC-ALFは、常にALFが作動する場合にのみ適用されることができる。即ち、ALF可用フラグ(sps_alf_enabled_flag)が1である場合にのみ、CC-ALF可用フラグ(sps_ccalf_enabled_flag)がパーシングされることができる。前記表によって、CC-ALFとALFが組み合わせられることができる。CC-ALF可用フラグは、CC-ALFが可用であるかどうか(と関連することができる)を示すことができる。
以下の表は、スライスヘッダに関する例示的なシンタックスの一部を示す。
前記表を参照すると、sps_alf_enabled_flagが1である場合にのみ、sps_ccalf_enabled_flagのパーシングが実行されることができる。前記表に含まれているシンタックス要素は、表4に基づいて説明されることができる。一例において、エンコーディング装置によりエンコーディングされる又はデコーディング装置により取得(受信)される映像情報は、スライスヘッダ情報(slice_header())を含むことができる。前記CCALF可用フラグ(sps_ccalf_flag)の値が1であるという判断に基づいて、前記スライスヘッダ情報は、前記フィルタリングされた復元クロマサンプルのCbカラー成分に対してCC-ALFが可用であるかどうかと関連した第1のフラグ(slice_cross_component_alf_cb_enabled_flag)、及び前記フィルタリングされた復元クロマサンプルのCrカラー成分に対してCC-ALFが可用であるかどうかと関連した第2のフラグ(slice_cross_component_alf_cr_enabled_flag)を含むことができる。
一例において、前記第1のフラグ(slice_cross_component_alf_cb_enabled_flag)の値が1であるという判断に基づいて、前記スライスヘッダ情報は、前記Cbカラー成分のためのクロス-コンポーネントフィルタ係数の導出のための第1のAPSのID情報(slice_cross_component_alf_cb_aps_id)を含むことができる。前記第2のフラグ(slice_cross_component_alf_cr_enabled_flag)の値が1であるという判断に基づいて、前記スライスヘッダ情報は、前記Crカラー成分のためのクロス-コンポーネントフィルタ係数の導出のための第2のAPSのID情報(slice_cross_component_alf_cr_aps_id)を含むことができる。
以下の表は、本実施例の他の例によるSPSシンタックスの一部を示す。
以下の表は、スライスヘッダシンタックスの一部を例示的に示す。
前記表9を参照すると、ChromaArrayTypeが0でない、かつALF可用フラグ(sps_alf_enabled_flag)が1である場合、SPSは、CCALF可用フラグ(sps_ccalf_enabled_flag)を含むことができる。例えば、ChromaArrayTypeが0でない場合は、クロマフォーマットがモノクロームでない、クロマフォーマットがモノクロームでない場合に基づいてCCALF可用フラグがSPSを介して送信されることができる。
前記表9を参照すると、ChromaArrayTypeが0でない場合に基づいて、CCALFに関する情報(slice_cross_component_alf_cb_enabled_flag、slice_cross_component_alf_cb_aps_id、slice_cross_component_alf_cr_enabled_flag、slice_cross_component_alf_cr_aps_id)がスライスヘッダ情報に含まれることができる。
一例において、エンコーディング装置によりエンコーディングされる又はデコーディング装置により取得される映像情報は、前記SPSを含むことができる。前記SPSは、ALFが可用であるかどうかと関連した第1のALF可用フラグ(sps_alf_enabled_flag)を含むことができる。例えば、前記第1のALF可用フラグの値が1であるという判断に基づいて、前記SPSは、前記クロス-コンポーネントフィルタリングが可用であるかどうかと関連したCCALF可用フラグを含むことができる。他の例において、sps_ccalf_enabled_flagを使用せずに、sps_alf_enabled_flagが1である場合、常にCCALFを適用(sps_ccalf_enabled_flag==1)することもできる。
以下の表は、本実施例の他の例によるスライスヘッダシンタックスの一部を示す。
前記表を参照すると、ALF可用フラグ(sps_alf_enabled_flag)が1である場合にのみ、CCALF可用フラグ(sps_ccalf_enabled_flag)パーシングが実行されることができる。
以下の表は、前記表に含まれているシンタックス要素に関する例示的なセマンティクスを示す。
前記表のslice_ccalf_chroma_idcは、以下の表のセマンティクスにより説明されることもできる。
以下の表は、本実施例の他の例によるスライスヘッダシンタックスの一部を示す。
前記表に含まれているシンタックス要素は、表12又は表13によって説明されることができる。また、クロマフォーマットがモノクロームでない場合、スライスヘッダにCCALF関連情報が含まれることができる。
以下の表は、本実施例の他の例によるスライスヘッダシンタックスの一部を示す。
以下の表は、前記表に含まれているシンタックス要素に関する例示的なセマンティクスを示す。
以下の表は、本実施例の他の例によるスライスヘッダシンタックスの一部を示す。以下の表に含まれているシンタックス要素は、表12又は表13によって説明されることができる。
前記表を参照すると、slice_alf_enabled_flagを介してslice単位ALF及びCC-ALF適用有無が一度に判断されることができる。slice_alf_chroma_idcパーシング後に、第1のALF可用フラグ(sps_alf_enabled_flag)が1である場合、slice_ccalf_chroma_idcがパーシングされることができる。
前記表を参照すると、slice_alf_enabled_flagが1である場合にのみ、スライスヘッダ情報でsps_ccalf_enabled_flagが1であるかどうかが判断されることができる。前記スライスヘッダ情報は、ALFが可用であるかどうかと関連した第2のALF可用フラグ(slice_alf_enabled_flag)を含むことができる。前記第2のALF可用フラグ(slice_alf_enabled_flag)の値が1であるという判断に基づいて、前記CCALFが前記スライスに可用できる。
以下の表は、APSシンタックスの一部を例示的に示す。シンタックス要素adaptation_parameter_set_idは、APSの識別子情報(ID情報)を示すことができる。
以下の表は、ALFデータに関する例示的なシンタックスを示す。
前記二つの表を参照すると、APSは、ALFデータ(alf_data())を含むことができる。ALFデータを含むAPSは、ALF APS(ALFタイプAPS)と呼ばれることができる。即ち、ALFデータを含むAPSのタイプは、ALFタイプである。APSのタイプは、APSタイプに関する情報又はシンタックス要素(aps_params_type)により決定されることができる。ALFデータは、Cbカラー成分のためのクロス-コンポーネントフィルタがシグナリングされたかどうかと関連したCbフィルタシグナルフラグ(alf_cross_component_cb_filter_signal_flag又はalf_cc_cb_filter_signal_flag)を含むことができる。ALFデータは、Crカラー成分のためのクロス-コンポーネントフィルタがシグナリングされたかどうかと関連したCrフィルタシグナルフラグ(alf_cross_component_cr_filter_signal_flag又はalf_cc_cr_filter_signal_flag)を含むことができる。
一例において、前記Crフィルタシグナルフラグに基づいて、前記ALFデータは、前記Crカラー成分のためのクロス-コンポーネントフィルタ係数の絶対値に関する情報(alf_cross_component_cr_coeff_abs)及び前記Crカラー成分のためのクロス-コンポーネントフィルタ係数の符号に関する情報(alf_cross_component_cr_coeff_sign)を含むことができる。前記Crカラー成分のためのクロス-コンポーネントフィルタ係数の絶対値に関する情報及び前記Crカラー成分のためのクロス-コンポーネントフィルタ係数の符号に関する情報に基づいて、前記Crカラー成分のためのクロス-コンポーネントフィルタ係数が導出されることができる。
一例において、前記ALFデータは、前記Cbカラー成分のためのクロス-コンポーネントフィルタ係数の絶対値に関する情報alf_cross_component_cb_coeff_abs)及び前記Cbカラー成分のためのクロス-コンポーネントフィルタ係数の符号に関する情報(alf_cross_component_cb_coeff_sign)を含むことができる。前記Cbカラー成分のためのクロス-コンポーネントフィルタ係数の絶対値に関する情報及び前記Cbカラー成分のためのクロス-コンポーネントフィルタ係数の符号に関する情報に基づいて、前記Cbカラー成分のためのクロス-コンポーネントフィルタ係数が導出されることができる。
以下の表は、他の例によるALFデータに関するシンタックスを示す。
前記表を参照すると、alf_cross_component_filter_signal_flagを先に送信後、alf_cross_component_filter_signal_flagが1である場合、Cb/Cr filter signal flagを送信することができる。即ち、alf_cross_component_filter_signal_flagは、Cb/Crを統合してCC-ALFフィルタ係数送信有無を決定する。
以下の表は、他の例によるALFデータに関するシンタックスを示す。
以下の表は、前記表に含まれているシンタックス要素に関する例示的なセマンティクスを示す。
以下の表は、他の例によるALFデータに関するシンタックスを示す。
以下の表は、前記表に含まれているシンタックス要素に関する例示的なセマンティクスを示す。
前記二つの表において、alf_cross_component_cb_coeff_abs[j]及びalf_cross_component_cr_coeff_abs[j]シンタックスをパーシングするためのexp-Golombbinarizationの次数は、0乃至9の値のうち一つに定義されることができる。
前記二つの表を参照すると、ALFデータは、Cbカラー成分のためのクロス-コンポーネントフィルタがシグナリングされたかどうかと関連したCbフィルタシグナルフラグ(alf_cross_component_cb_filter_signal_flag又はalf_cc_cb_filter_signal_flag)を含むことができる。前記Cbフィルタシグナルフラグ(alf_cross_component_cb_filter_signal_flag)に基づいて、前記ALFデータは、前記Cbカラー成分のためのクロス-コンポーネントフィルタの個数と関連した情報(ccalf_cb_num_alt_filters_minus1)を含むことができる。前記Cbカラー成分のためのクロス-コンポーネントフィルタの個数と関連した情報に基づいて、前記ALFデータは、前記Cbカラー成分のためのクロス-コンポーネントフィルタ係数の絶対値に関する情報alf_cross_component_cb_coeff_abs)及び前記Cbカラー成分のためのクロス-コンポーネントフィルタ係数の符号に関する情報(alf_cross_component_cr_coeff_sign)を含むことができる。前記Cbカラー成分のためのクロス-コンポーネントフィルタ係数の絶対値に関する情報及び前記Cbカラー成分のためのクロス-コンポーネントフィルタ係数の符号に関する情報に基づいて、前記Cbカラー成分のためのクロス-コンポーネントフィルタ係数が導出されることができる。
一例において、ALFデータは、Crカラー成分のためのクロス-コンポーネントフィルタがシグナリングされたかどうかと関連したCrフィルタシグナルフラグ(alf_cross_component_cr_filter_signal_flag又はalf_cc_cr_filter_signal_flag)を含むことができる。前記Crフィルタシグナルフラグ(alf_cross_component_cr_filter_signal_flag)に基づいて、前記ALFデータは、前記Crカラー成分のためのクロス-コンポーネントフィルタの個数と関連した情報(ccalf_cr_num_alt_filters_minus1)を含むことができる。前記Crカラー成分のためのクロス-コンポーネントフィルタの個数と関連した情報に基づいて、前記ALFデータは、前記Crカラー成分のためのクロス-コンポーネントフィルタ係数の絶対値に関する情報(alf_cross_component_cr_coeff_abs)及び前記Crカラー成分のためのクロス-コンポーネントフィルタ係数の符号に関する情報(alf_cross_component_cr_coeff_sign)を含むことができる。前記Crカラー成分のためのクロス-コンポーネントフィルタ係数の絶対値に関する情報及び前記Crカラー成分のためのクロス-コンポーネントフィルタ係数の符号に関する情報に基づいて、前記Crカラー成分のためのクロス-コンポーネントフィルタ係数が導出されることができる。
以下の表は、本文書の一実施例によるコーディングツリーユニットに関するシンタックスを示す。
以下の表は、前記表に含まれているシンタックス要素に関する例示的なセマンティクスを示す。
以下の表は、本実施例の他の例によるコーディングツリーユニットシンタックスを示す。
前記表を参照すると、CTU単位でCCALFが適用されることができる。一例において、前記映像情報は、コーディングツリーユニットに関する情報(coding_tree_unit())を含むことができる。前記コーディングツリーユニットに関する情報は、Cbカラー成分の前記現在ブロックにクロス-コンポーネントフィルタが適用されるかどうかに関する情報(ccalf_ctb_flag[0])、及び/又はCrカラー成分の前記現在ブロックにクロス-コンポーネントフィルタが適用されるかどうかに関する情報(ccalf_ctb_flag[1])を含むことができる。また、前記コーディングツリーユニットに関する情報は、Cbカラー成分の前記現在ブロックに適用されるクロス-コンポーネントフィルタのフィルタセットインデックスに関する情報(ccalf_ctb_filter_alt_idx[0])、及び/又はCrカラー成分の前記現在ブロックに適用されるクロス-コンポーネントフィルタのフィルタセットインデックスに関する情報(ccalf_ctb_filter_alt_idx[1])を含むことができる。前記シンタックスは、slice_ccalf_enabled_flag及びslice_ccalf_chroma_idcシンタックスによって適応的に送信されることができる。
以下の表は、本実施例の他の例によるコーディングツリーユニットシンタックスを示す。
以下の表は、前記表に含まれているシンタックス要素に関する例示的なセマンティクスを示す。
以下の表は、本実施例の他の例によるコーディングツリーユニットシンタックスを示す。以下の表に含まれているシンタックス要素は、表29によって説明されることができる。
一例において、前記映像情報は、コーディングツリーユニットに関する情報(coding_tree_unit())を含むことができる。前記コーディングツリーユニットに関する情報は、Cbカラー成分の前記現在ブロックにクロス-コンポーネントフィルタが適用されるかどうかに関する情報(ccalf_ctb_flag[0])、及び/又はCrカラー成分の前記現在ブロックにクロス-コンポーネントフィルタが適用されるかどうかに関する情報(ccalf_ctb_flag[1])を含むことができる。また、前記コーディングツリーユニットに関する情報は、Cbカラー成分の前記現在ブロックに適用されるクロス-コンポーネントフィルタのフィルタセットインデックスに関する情報(ccalf_ctb_filter_alt_idx[0])、及び/又はCrカラー成分の前記現在ブロックに適用されるクロス-コンポーネントフィルタのフィルタセットインデックスに関する情報(ccalf_ctb_filter_alt_idx[1])を含むことができる。
図12及び図13は、本文書の実施例(ら)に係るビデオ/映像エンコーディング方法及び関連コンポーネントの一例を概略的に示す。図12に開示された方法は、図2又は図13に開示されたエンコーディング装置により実行されることができる。具体的に、例えば、図12のS1200及びS1210は、前記エンコーディング装置の予測部220により実行されることができ、図12のS1220乃至S1240は、前記エンコーディング装置のレジデュアル処理部230により実行されることができ、S1250は、前記エンコーディング装置の加算部250により実行されることができ、S1260は、前記エンコーディング装置のフィルタリング部260により実行されることができ、S1270は、前記エンコーディング装置のエントロピーエンコーディング部240により実行されることができる。図12に開示された方法は、本文書で詳述した実施例を含むことができる。
図12を参照すると、エンコーディング装置は、予測サンプルを導出することができる(S1200)。予測サンプルは、予測ルマサンプル及び予測クロマサンプルを含むことができる。エンコーディング装置は、予測モードに基づいて前記現在ブロックの予測サンプルを導出することができる。この場合、インター予測又はイントラ予測など、本文書に開示された多様な予測方法が適用されることができる。
エンコーディング装置は、予測関連情報を生成することができる(S1210)。エンコーディング装置は、予測サンプル及び/又はそれらに適用されたモードに基づいて予測関連情報を生成することができる。前記予測関連情報は、多様な予測モード(例えば、マージモード、MVPモード等)に対する情報、MVD情報などを含むことができる。
エンコーディング装置は、レジデュアルサンプルを生成することができる(S1220)。レジデュアルサンプルは、レジデュアルルマサンプル及びレジデュアルクロマサンプルを含むことができる。エンコーディング装置は、現在ブロックに対するレジデュアルサンプルを導出することができ、前記現在ブロックに対するレジデュアルサンプルは、現在ブロックの原本サンプル及び予測サンプルに基づいて導出されることができる。
エンコーディング装置は、(量子化された)変換係数を導出することができる(S1230)。エンコーディング装置は、前記レジデュアルサンプルに対する変換手順に基づいて変換係数を導出することができる。変換係数は、ルマ変換係数及びクロマ変換係数を含むことができる。例えば、レジデュアルルマサンプルに基づいてルマ変換係数が導出されることができ、レジデュアルクロマサンプルに基づいてクロマ変換係数が導出されることができる。例えば、変換手順は、DCT、DST、GBT、又はCNTのうち少なくとも一つを含むことができる。エンコーディング装置は、量子化された変換係数を導出することができる。エンコーディング装置は、前記変換係数に対する量子化手順に基づいて量子化された変換係数を導出することができる。量子化された変換係数は、係数スキャン順序に基づいて1次元ベクトル形態を有することができる。
エンコーディング装置は、レジデュアル情報を生成することができる(S1240)。エンコーディング装置は、前記量子化された変換係数を示すレジデュアル情報を生成することができる。レジデュアル情報は、指数ゴロム、CAVLC、CABACなどのような多様なエンコーディング方法を介して生成されることができる。
エンコーディング装置は、復元サンプルを生成することができる(S1250)。前記復元サンプルは、復元ルマサンプル(復元サンプルのルマ成分)及び/又は復元クロマサンプル(復元サンプルのクロマ成分)を含むことができる。エンコーディング装置は、前記レジデュアル情報に基づいて復元サンプルを生成することができる。復元サンプルは、レジデュアル情報に基づくレジデュアルサンプルを予測サンプルと加算して生成されることができる。
エンコーディング装置は、ALF関連情報及び/又はCCALF関連情報を生成することができる(S1260)。エンコーディング装置は、前記復元サンプルに対するALF関連情報及び/又はCCALF関連情報を生成することができる。エンコーディング装置は、前記復元サンプルに対するフィルタリングのために適用されることができる、ALFに関連したパラメータを導出し、ALF関連情報を生成する。例えば、ALF関連情報は、本文書で詳述したALF関連した情報を含むことができる。エンコーディング装置は、前記復元サンプルのうち復元クロマサンプルのためのCCALF関連情報を生成することができる。
エンコーディング装置は、ビデオ/映像情報をエンコーディングすることができる(S1270)。前記映像情報は、レジデュアル情報及び/又はALF関連情報を含むことができる。エンコーディングされたビデオ/映像情報は、ビットストリーム形態で出力されることができる。前記ビットストリームは、ネットワーク又は格納媒体を介してデコーディング装置に送信されることができる。
一例において、CCALF関連情報は、CCALF可用フラグ、Cb(又は、Cr)カラー成分に対してCCALFが可用であるかどうかと関連したフラグ、Cb(又は、Cr)カラー成分のためのクロス-コンポーネントフィルタがシグナリングされたかどうかと関連したCb(又は、Cr)フィルタシグナルフラグ、Cb(又は、Cr)カラー成分のためのクロス-コンポーネントフィルタの個数と関連した情報、Cb(又は、Cr)カラー成分のためのクロス-コンポーネントフィルタ係数の値に関する情報、Cb(又は、Cr)カラー成分のためのクロス-コンポーネントフィルタ係数の絶対値に関する情報、Cb(又は、Cr)カラー成分のためのクロス-コンポーネントフィルタ係数の符号に関する情報、及び/又はコーディングツリーユニットに関する情報(コーディングツリーユニットシンタックス)内のCb(又は、Cr)カラー成分の現在ブロックにクロス-コンポーネントフィルタが適用されるかどうかに関する情報を含むことができる。
前記映像/ビデオ情報は、本文書の実施例による多様な情報を含むことができる。例えば、前記映像/ビデオ情報は、前述した表1乃至表30のうち少なくとも一つに開示された情報を含むことができる。
一実施例において、前記映像情報は、シーケンスパラメータセット(sequence parameter set、SPS)を含むことができる。前記SPSは、前記クロス-コンポーネントフィルタリングが可用であるかどうかと関連したCCALF可用フラグを含むことができる。前記CCALF可用フラグに基づいて、CCALFのためのクロス-コンポーネントフィルタ係数の導出のために使われるALFデータを含むアダプテーションパラメータセット(adaptation parameter sets、APSs)のID情報(識別子情報)が導出されることができる。
一実施例において、前記SPSは、ALFが可用であるかどうかと関連したALF可用フラグ(sps_alf_enabled_flag)を含むことができる。前記ALF可用フラグ(sps_alf_enabled_flag)の値が1であるという判断に基づいて、前記SPSは、前記クロス-コンポーネントフィルタリングが可用であるかどうかと関連したCCALF可用フラグを含むことができる。
一実施例において、前記映像情報は、スライスヘッダ情報及びアダプテーションパラメータセット(APS)を含むことができる。前記ヘッダ情報は、ALFデータを含むAPSの識別子と関連した情報を含むことができる。例えば、前記クロス-コンポーネントフィルタ係数は、前記ALFデータに基づいて導出されることができる。
一実施例において、前記スライスヘッダ情報は、ALFが可用であるかどうかと関連したALF可用フラグ(slice_alf_enabled_flag)を含むことができる。sps_alf_enabled_flag及びslice_alf_enabled_flagは、各々、第1のALF可用フラグ及び第2のALF可用フラグと呼ばれることができる。前記第2のALF可用フラグ(slice_alf_enabled_flag)の値が1であるという判断に基づいて、前記CCALF可用フラグの値が1であるかどうかが判断されることができる。一例において、前記第2のALF可用フラグの値が1であるという判断に基づいて、前記CCALFが前記スライスに可用できる。
一実施例において、前記ヘッダ情報(スライスヘッダ情報)は、前記フィルタリングされた復元クロマサンプルのCbカラー成分に対してCCALFが可用であるかどうかと関連した第1のフラグ、及び前記フィルタリングされた復元クロマサンプルのCrカラー成分に対してCCALFが可用であるかどうかと関連した第2のフラグを含むことができる。他の例において、前記ALF可用フラグ(slice_alf_enabled_flag)の値が1であるという判断に基づいて、前記ヘッダ情報(スライスヘッダ情報)は、前記フィルタリングされた復元クロマサンプルのCbカラー成分に対してCCALFが可用であるかどうかと関連した第1のフラグ、及び前記フィルタリングされた復元クロマサンプルのCrカラー成分に対してCCALFが可用であるかどうかと関連した第2のフラグを含むことができる。
一実施例において、前記第1のフラグの値が1であるという判断に基づいて、前記スライスヘッダ情報は、前記Cbカラー成分のためのクロス-コンポーネントフィルタ係数の導出のための第1のAPSのID情報(第2のAPSの識別子と関連した情報)を含むことができる。前記第2のフラグの値が1であるという判断に基づいて、前記スライスヘッダ情報は、前記Crカラー成分のためのクロス-コンポーネントフィルタ係数の導出のための第2のAPSのID情報(第2のAPSの識別子と関連した情報)を含むことができる。
一実施例において、前記第1のAPSに含まれている第1のALFデータは、前記Cbカラー成分のためのクロス-コンポーネントフィルタがシグナリングされたかどうかと関連したCbフィルタシグナルフラグを含むことができる。前記Cbフィルタシグナルフラグに基づいて、前記第1のALFデータは、前記Cbカラー成分のためのクロス-コンポーネントフィルタの個数と関連した情報を含むことができる。前記Cbカラー成分のためのクロス-コンポーネントフィルタの個数と関連した情報に基づいて、前記第1のALFデータは、前記Cbカラー成分のためのクロス-コンポーネントフィルタ係数の絶対値に関する情報及び前記Cbカラー成分のためのクロス-コンポーネントフィルタ係数の符号に関する情報を含むことができる。前記Cbカラー成分のためのクロス-コンポーネントフィルタ係数の絶対値に関する情報及び前記Cbカラー成分のためのクロス-コンポーネントフィルタ係数の符号に関する情報に基づいて、前記Cbカラー成分のためのクロス-コンポーネントフィルタ係数が導出されることができる。
一実施例において、前記Cbカラー成分のためのクロス-コンポーネントフィルタの個数と関連した情報は、0次指数ゴロム(0thEG)コーディングされることができる。
一実施例において、前記第2のAPSに含まれている第2のALFデータは、前記Crカラー成分のためのクロス-コンポーネントフィルタがシグナリングされたかどうかと関連したCrフィルタシグナルフラグを含むことができる。前記Crフィルタシグナルフラグに基づいて、前記第2のALFデータは、前記Crカラー成分のためのクロス-コンポーネントフィルタの個数と関連した情報を含むことができる。前記Crカラー成分のためのクロス-コンポーネントフィルタの個数と関連した情報に基づいて、前記第2のALFデータは、前記Crカラー成分のためのクロス-コンポーネントフィルタ係数の絶対値に関する情報及び前記Crカラー成分のためのクロス-コンポーネントフィルタ係数の符号に関する情報を含むことができる。前記Crカラー成分のためのクロス-コンポーネントフィルタ係数の絶対値に関する情報及び前記Crカラー成分のためのクロス-コンポーネントフィルタ係数の符号に関する情報に基づいて、前記Crカラー成分のためのクロス-コンポーネントフィルタ係数が導出されることができる。
一実施例において、前記Crカラー成分のためのクロス-コンポーネントフィルタの個数と関連した情報は、0次指数ゴロム(0thEG)コーディングされることができる。
一実施例において、前記映像情報は、コーディングツリーユニットに関する情報を含むことができる。前記コーディングツリーユニットに関する情報は、Cbカラー成分の前記現在ブロックにクロス-コンポーネントフィルタが適用されるかどうかに関する情報、及び/又はCrカラー成分の前記現在ブロックにクロス-コンポーネントフィルタが適用されるかどうかに関する情報を含むことができる。
一実施例において、前記コーディングツリーユニットに関する情報は、Cbカラー成分の前記現在ブロックに適用されるクロス-コンポーネントフィルタのフィルタセットインデックスに関する情報、及び/又はCrカラー成分の前記現在ブロックに適用されるクロス-コンポーネントフィルタのフィルタセットインデックスに関する情報を含むことができる。
図14及び図15は、本文書の実施例(ら)に係るビデオ/映像デコーディング方法及び関連コンポーネントの一例を概略的に示す。
図14に開示された方法は、図3又は図15に開示されたデコーディング装置により実行されることができる。具体的に、例えば、図14のS1400は、前記デコーディング装置のエントロピーデコーディング部310により実行されることができ、S1410及びS1420は、前記デコーディング装置のレジデュアル処理部320により実行されることができ、S1430は、前記デコーディング装置の予測部330により実行されることができ、S1440は、前記デコーディング装置の加算部340により実行されることができ、S1450乃至S1480は、前記デコーディング装置のフィルタリング部350により実行されることができる。図14に開示された方法は、本文書で詳述した実施例を含むことができる。
図14を参照すると、デコーディング装置は、ビデオ/映像情報を受信/取得することができる(S1400)。ビデオ/映像情報は、予測関連情報及び/又はレジデュアル情報を含むことができる。デコーディング装置は、ビットストリームを介して前記映像/ビデオ情報を受信/取得することができる。一例において、ビデオ/映像情報は、CCAL関連情報をさらに含むことができる。例えば、CCALF関連情報は、CCALF可用フラグ、Cb(又は、Cr)カラー成分に対してCCALFが可用であるかどうかと関連したフラグ、Cb(又は、Cr)カラー成分のためのクロス-コンポーネントフィルタがシグナリングされたかどうかと関連したCb(又は、Cr)フィルタシグナルフラグ、Cb(又は、Cr)カラー成分のためのクロス-コンポーネントフィルタの個数と関連した情報、Cb(又は、Cr)カラー成分のためのクロス-コンポーネントフィルタ係数の絶対値に関する情報、Cb(又は、Cr)カラー成分のためのクロス-コンポーネントフィルタ係数の符号に関する情報、及び/又はコーディングツリーユニットに関する情報(コーディングツリーユニットシンタックス)内のCb(又は、Cr)カラー成分の現在ブロックにクロス-コンポーネントフィルタが適用されるかどうかに関する情報を含むことができる。
前記映像/ビデオ情報は、本文書の実施例に係る多様な情報を含むことができる。例えば、前記映像/ビデオ情報は、前述した表1乃至表30のうち少なくとも一つに開示された情報を含むことができる。
デコーディング装置は、変換係数を導出することができる(S1410)。具体的に、デコーディング装置は、レジデュアル情報に基づいて量子化された変換係数を導出することができる。変換係数は、ルマ変換係数及びクロマ変換係数を含むことができる。量子化された変換係数は、係数スキャン順序に基づいて1次元ベクトル形態を有することができる。デコーディング装置は、前記量子化された変換係数に対する逆量子化手順に基づいて変換係数を導出することができる。
デコーディング装置は、レジデュアルサンプルを導出することができる(S1420)。デコーディング装置は、変換係数に基づいてレジデュアルサンプルを導出することができる。レジデュアルサンプルは、レジデュアルルマサンプル及びレジデュアルクロマサンプルを含むことができる。例えば、ルマ変換係数に基づいてレジデュアルルマサンプルが導出されることができ、クロマ変換係数に基づいてレジデュアルクロマサンプルが導出されることができる。また、前記現在ブロックに対するレジデュアルサンプルは、現在ブロックの原本サンプル及び予測サンプルに基づいて導出されることができる。
デコーディング装置は、前記映像/ビデオ情報に基づいて予測を実行して現在ブロックの予測サンプルを導出することができる(S1430)。デコーディング装置は、予測関連情報に基づいて現在ブロックの前記予測サンプルを導出することができる。予測関連情報は、予測モード情報を含むことができる。デコーディング装置は、前記予測モード情報に基づいて前記現在ブロックにインター予測が適用されるか、又は、イントラ予測が適用されるかを判断することができ、これに基づいて予測を実行することができる。予測サンプルは、予測ルマサンプル及び/又は予測クロマサンプルを含むことができる。
デコーディング装置は、復元サンプルを生成/導出することができる(S1440)。復元サンプルは、復元ルマサンプル及び/又は復元クロマサンプルを含むことができる。デコーディング装置は、前記レジデュアルサンプルに基づいて復元ルマ(又は、クロマ)サンプルを生成することができる。復元サンプルのルマ成分が復元ルマサンプルに対応し、復元サンプルのクロマ成分が復元クロマサンプルに対応できる。
デコーディング装置は、前記復元クロマサンプルのALF手順のためのALFフィルタ係数を導出することができる(S1450)。併せて、デコーディング装置は、前記復元ルマサンプルのALF手順のためのALFフィルタ係数を導出することができる。前記ALFフィルタ係数は、APS内のALFデータに含まれているALFパラメータに基づいて導出されることができる。
デコーディング装置は、フィルタリングされた復元クロマサンプルを生成することができる(S1460)。デコーディング装置は、前記復元クロマサンプル及び前記ALFフィルタ係数に基づいてフィルタリングされた復元サンプルを生成することができる。
デコーディング装置は、前記クロス-コンポーネントフィルタリングのためのクロス-コンポーネントフィルタ係数を導出することができる(S1470)。クロス-コンポーネントフィルタ係数は、前述されたAPSに含まれているALFデータ内のCCALF関連情報に基づいて導出されることができ、該当APSの識別子(ID)情報は、スライスヘッダに含まれることができる(を介してシグナリングされることができる)。
デコーディング装置は、修正フィルタリングされた復元クロマサンプル(modified filtered reconstructed chroma samples)を生成することができる(S1480)。デコーディング装置は、前記復元ルマサンプル、前記フィルタリングされた復元クロマサンプル、及び前記クロス-コンポーネントフィルタ係数に基づいて、修正フィルタリングされた復元クロマサンプルを生成することができる。一例において、デコーディング装置は、前記復元ルマサンプルのうち二つのサンプル間の差を導出することができ、前記差を前記クロス-コンポーネントフィルタ係数のうち一つのフィルタ係数と掛けることができる。前記掛け算の結果と前記フィルタリングされた復元クロマサンプルとに基づいて、デコーディング装置は、前記修正フィルタリングされた復元クロマサンプルを生成することができる。例えば、デコーディング装置は、前記積と前記フィルタリングされた復元クロマサンプルのうち一つのサンプルとの間の和に基づいて前記修正フィルタリングされた復元クロマサンプルを生成することができる。
一実施例において、前記映像情報は、シーケンスパラメータセット(sequence parameter set、SPS)を含むことができる。前記SPSは、前記クロス-コンポーネントフィルタリングが可用であるかどうかと関連したCCALF可用フラグを含むことができる。前記CCALF可用フラグに基づいて、CCALFのためのクロス-コンポーネントフィルタ係数の導出のために使われるALFデータを含むアダプテーションパラメータセット(APSs)のID情報(識別子情報)が導出されることができる。
一実施例において、前記SPSは、ALFが可用であるかどうかと関連したALF可用フラグ(sps_alf_enabled_flag)を含むことができる。前記ALF可用フラグ(sps_alf_enabled_flag)の値が1であるという判断に基づいて、前記SPSは、前記クロス-コンポーネントフィルタリングが可用であるかどうかと関連したCCALF可用フラグを含むことができる。
一実施例において、前記映像情報は、スライスヘッダ情報及びアダプテーションパラメータセット(APS)を含むことができる。前記ヘッダ情報は、ALFデータを含むAPSの識別子と関連した情報を含むことができる。例えば、前記クロス-コンポーネントフィルタ係数は、前記ALFデータに基づいて導出されることができる。
一実施例において、前記スライスヘッダ情報は、ALFが可用であるかどうかと関連したALF可用フラグ(slice_alf_enabled_flag)を含むことができる。sps_alf_enabled_flag及びslice_alf_enabled_flagは、各々、第1のALF可用フラグ及び第2のALF可用フラグと呼ばれることができる。前記第2のALF可用フラグ(slice_alf_enabled_flag)の値が1であるという判断に基づいて、前記CCALF可用フラグの値が1であるかどうかが判断されることができる。一例において、前記第2のALF可用フラグの値が1であるという判断に基づいて、前記CCALFが前記スライスに可用できる。
一実施例において、前記ヘッダ情報(スライスヘッダ情報)は、前記フィルタリングされた復元クロマサンプルのCbカラー成分に対してCCALFが可用であるかどうかと関連した第1のフラグ、及び前記フィルタリングされた復元クロマサンプルのCrカラー成分に対してCCALFが可用であるかどうかと関連した第2のフラグを含むことができる。他の例において、前記ALF可用フラグ(slice_alf_enabled_flag)の値が1であるという判断に基づいて、前記ヘッダ情報(スライスヘッダ情報)は、前記フィルタリングされた復元クロマサンプルのCbカラー成分に対してCCALFが可用であるかどうかと関連した第1のフラグ、及び前記フィルタリングされた復元クロマサンプルのCrカラー成分に対してCCALFが可用であるかどうかと関連した第2のフラグを含むことができる。
一実施例において、前記第1のフラグの値が1であるという判断に基づいて、前記スライスヘッダ情報は、前記Cbカラー成分のためのクロス-コンポーネントフィルタ係数の導出のための第1のAPSのID情報(第2のAPSの識別子と関連した情報)を含むことができる。前記第2のフラグの値が1であるという判断に基づいて、前記スライスヘッダ情報は、前記Crカラー成分のためのクロス-コンポーネントフィルタ係数の導出のための第2のAPSのID情報(第2のAPSの識別子と関連した情報)を含むことができる。
一実施例において、前記第1のAPSに含まれている第1のALFデータは、前記Cbカラー成分のためのクロス-コンポーネントフィルタがシグナリングされたかどうかと関連したCbフィルタシグナルフラグを含むことができる。前記Cbフィルタシグナルフラグに基づいて、前記第1のALFデータは、前記Cbカラー成分のためのクロス-コンポーネントフィルタの個数と関連した情報を含むことができる。前記Cbカラー成分のためのクロス-コンポーネントフィルタの個数と関連した情報に基づいて、前記第1のALFデータは、前記Cbカラー成分のためのクロス-コンポーネントフィルタ係数の絶対値に関する情報及び前記Cbカラー成分のためのクロス-コンポーネントフィルタ係数の符号に関する情報を含むことができる。前記Cbカラー成分のためのクロス-コンポーネントフィルタ係数の絶対値に関する情報及び前記Cbカラー成分のためのクロス-コンポーネントフィルタ係数の符号に関する情報に基づいて、前記Cbカラー成分のためのクロス-コンポーネントフィルタ係数が導出されることができる。
一実施例において、前記Cbカラー成分のためのクロス-コンポーネントフィルタの個数と関連した情報は、0次指数ゴロム(0thEG)コーディングされることができる。
一実施例において、前記第2のAPSに含まれている第2のALFデータは、前記Crカラー成分のためのクロス-コンポーネントフィルタがシグナリングされたかどうかと関連したCrフィルタシグナルフラグを含むことができる。前記Crフィルタシグナルフラグに基づいて、前記第2のALFデータは、前記Crカラー成分のためのクロス-コンポーネントフィルタの個数と関連した情報を含むことができる。前記Crカラー成分のためのクロス-コンポーネントフィルタの個数と関連した情報に基づいて、前記第2のALFデータは、前記Crカラー成分のためのクロス-コンポーネントフィルタ係数の絶対値に関する情報及び前記Crカラー成分のためのクロス-コンポーネントフィルタ係数の符号に関する情報を含むことができる。前記Crカラー成分のためのクロス-コンポーネントフィルタ係数の絶対値に関する情報及び前記Crカラー成分のためのクロス-コンポーネントフィルタ係数の符号に関する情報に基づいて、前記Crカラー成分のためのクロス-コンポーネントフィルタ係数が導出されることができる。
一実施例において、前記Crカラー成分のためのクロス-コンポーネントフィルタの個数と関連した情報は、0次指数ゴロム(0thEG)コーディングされることができる。
一実施例において、前記映像情報は、コーディングツリーユニットに関する情報を含むことができる。前記コーディングツリーユニットに関する情報は、Cbカラー成分の前記現在ブロックにクロス-コンポーネントフィルタが適用されるかどうかに関する情報、及び/又はCrカラー成分の前記現在ブロックにクロス-コンポーネントフィルタが適用されるかどうかに関する情報を含むことができる。
一実施例において、前記コーディングツリーユニットに関する情報は、Cbカラー成分の前記現在ブロックに適用されるクロス-コンポーネントフィルタのフィルタセットインデックスに関する情報、及び/又はCrカラー成分の前記現在ブロックに適用されるクロス-コンポーネントフィルタのフィルタセットインデックスに関する情報を含むことができる。
デコーディング装置は、現在ブロックに対するレジデュアルサンプルが存在する場合、現在ブロックに対するレジデュアルに関する情報を受信することができる。レジデュアルに関する情報は、レジデュアルサンプルに関する変換係数を含むことができる。デコーディング装置は、レジデュアル情報に基づいて現在ブロックに対するレジデュアルサンプル(又は、レジデュアルサンプルアレイ)を導出することができる。具体的に、デコーディング装置は、レジデュアル情報に基づいて量子化された変換係数を導出することができる。量子化された変換係数は、係数スキャン順序に基づいて1次元ベクトル形態を有することができる。デコーディング装置は、前記量子化された変換係数に対する逆量子化手順に基づいて変換係数を導出することができる。デコーディング装置は、変換係数に基づいてレジデュアルサンプルを導出することができる。
デコーディング装置は、(イントラ)予測サンプルとレジデュアルサンプルとに基づいて復元サンプルを生成することができ、前記復元サンプルに基づいて復元ブロック又は復元ピクチャを導出することができる。具体的に、デコーディング装置は、(イントラ)予測サンプルとレジデュアルサンプルとの和に基づいて復元サンプルを生成することができる。以後、デコーディング装置は、必要によって、主観的/客観的画質を向上させるために、デブロッキングフィルタリング及び/又はSAO手順のようなインループフィルタリング手順を前記復元ピクチャに適用できることは、前述の通りである。
例えば、デコーディング装置は、ビットストリーム又はエンコーディングされた情報をデコーディングし、前述した情報(又はシンタックス要素)の全部又は一部を含む映像情報を取得することができる。また、前記ビットストリーム又はエンコーディングされた情報は、コンピュータ読み取り可能な格納媒体に格納されることができ、前述したデコーディング方法が行われるように引き起こすことができる。
前述した実施例において、方法は、一連のステップ又はブロックとしてフローチャートに基づいて説明されているが、該当実施例は、ステップの順序に限定されるわけではなく、あるステップは、前述したところと異なるステップと異なる順序で、又は同時に発生し得る。また、当業者であれば、フローチャートに示されているステップが排他的ではなく、異なるステップが含まれるか、フローチャートの一つ又はそれ以上のステップが本文書の実施例の範囲に影響を与えずに削除され得ることを理解することができる。
前述した本文書の実施例に係る方法は、ソフトウェアの形態で具現されることができ、本文書に係るエンコーディング装置及び/又はデコーディング装置は、例えば、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)ビデオ装置、VR(virtual reality)装置、AR(argumente reality)装置、映像電話ビデオ装置、運送手段端末(ex.車両(自律走行車両含む)端末、飛行機端末、船舶端末など)及び医療用ビデオ装置等に含まれ得、ビデオ信号又はデータ信号を処理するために使用され得る。例えば、OTTビデオ(Over the top video)装置としては、ゲームコンソール、ブルーレイプレーヤー、インターネットアクセスTV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recoder)等を含み得る。
また、本文書の実施例が適用される処理方法は、コンピュータで実行されるプログラムの形態で生産されることができ、コンピュータが読み取ることができる記録媒体に格納されることができる。本文書の実施例に係るデータ構造を有するマルチメディアデータもまた、コンピュータが読み取ることができる記録媒体に格納されることができる。前記コンピュータが読み取ることができる記録媒体は、コンピュータで読み取られるデータが格納される全ての種類の格納装置及び分散格納装置を含む。前記コンピュータが読み取ることができる記録媒体は、例えば、ブルーレイディスク(BD)、汎用直列バス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁気テープ、フロッピディスク、及び光学的データ格納装置を含み得る。また、前記コンピュータが読み取ることができる記録媒体は、搬送波(例えば、インターネットを介した送信)の形態で具現されたメディアを含む。また、エンコーディング方法で生成されたビットストリームが、コンピュータが読み取られる記録媒体に格納されるか、有無線通信ネットワークを介して送信されることができる。
また、本文書の実施例は、プログラムコードによるコンピュータプログラム製品で具現されることができ、前記プログラムコードは、本文書の実施例によってコンピュータで実行されることができる。前記プログラムコードは、コンピュータによって読み取り可能なキャリア上に格納されることができる。
図16は、本文書に開示された実施例が適用されることができるコンテンツストリーミングシステムの例を示す。
図16を参照すると、本文書の実施例が適用されるコンテンツストリーミングシステムは、大きくエンコーディングサーバ、ストリーミングサーバ、ウェブサーバ、メディアストレージ、ユーザ装置、及びマルチメディア入力装置を含むことができる。
前記エンコーディングサーバは、スマートフォン、カメラ、カムコーダ等のようなマルチメディア入力装置から入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これを前記ストリーミングサーバに送信する役割をする。別の例として、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコーディングサーバは省略され得る。
前記ビットストリームは、本文書の実施例が適用されるエンコーディング方法又はビットストリームの生成方法により生成されることができ、前記ストリーミングサーバは、前記ビットストリームを送信又は受信する過程で、一時的に前記ビットストリームを格納することができる。
前記ストリーミングサーバは、ウェブサーバを介してのユーザ要請に基づいてマルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介体役割をする。ユーザが前記ウェブサーバに所望のサービスを要請すれば、前記ウェブサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを送信する。このとき、前記コンテンツストリーミングシステムは、別の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割をする。
前記ストリーミングサーバは、メディア格納所及び/又はエンコーディングサーバからコンテンツを受信することができる。例えば、前記エンコーディングサーバからコンテンツを受信するようになる場合、前記コンテンツをリアルタイムに受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間、格納することができる。
前記ユーザ装置の例では、携帯電話、スマートフォン(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、デスクトップコンピュータ、デジタルサイニジなどがありうる。
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営されることができ、この場合、各サーバで受信するデータは、分散処理されることができる。
本明細書に記載された請求項は、多様な方式で組み合わせることができる。例えば、本明細書の方法請求項の技術的特徴が組み合わせられて装置として具現されることができ、本明細書の装置請求項の技術的特徴が組み合わせられて方法として具現されることができる。また、本明細書の方法請求項の技術的特徴と装置請求項の技術的特徴とが組み合わせられて装置として具現されることができ、本明細書の方法請求項の技術的特徴と装置請求項の技術的特徴とが組み合わせられて方法として具現されることができる。