以下、添付図面を参照して、本開示の実施例について、本開示の属する技術分野における通常の知識を有する者が容易に実施し得るように詳細に説明する。しかし、本開示は、様々な異なる形態で実現でき、ここで説明する実施例に限定されない。
本開示の実施例を説明するにあたり、公知の構成又は機能についての具体的な説明が本開示の要旨を不明確にするおそれがあると判断される場合には、それについての詳細な説明は省略する。そして、図面において、本開示についての説明と関係ない部分は省略し、同様の部分には同様の図面符号を付した。
本開示において、ある構成要素が他の構成要素と「連結」、「結合」又は「接続」されているとするとき、これは、直接的な連結関係だけでなく、それらの間に別の構成要素が存在する間接的な連結関係も含むことができる。また、ある構成要素が他の構成要素を「含む」又は「有する」とするとき、これは、特に反対される記載がない限り、別の構成要素を排除するのではなく、別の構成要素をさらに含むことができることを意味する。
本開示において、「第1」、「第2」などの用語は、一つの構成要素を他の構成要素から区別する目的のみで使用され、特に言及されない限り、構成要素間の順序又は重要度などを限定しない。したがって、本開示の範囲内において、一実施例の第1構成要素は、他の実施例で第2構成要素と呼んでもよく、これと同様に、一実施例の第2構成要素を、他の実施例で第1構成要素と呼んでもよい。
本開示において、互いに区別される構成要素は、それぞれの特徴を明確に説明するためのものであり、構成要素が必ずしも分離されることを意味するものではない。つまり、複数の構成要素が統合されて一つのハードウェア又はソフトウェア単位で構成されてもよく、一つの構成要素が分散されて複数のハードウェア又はソフトウェア単位で構成されてもよい。よって、別に言及しなくても、このように統合された又は分散された実施例も本開示の範囲に含まれる。
本開示において、さまざまな実施例で説明する構成要素が必ず必要不可欠な構成要素を意味するものではなく、一部は選択的な構成要素であり得る。したがって、一実施例で説明する構成要素の部分集合で構成される実施例も本開示の範囲に含まれる。また、様々な実施例で説明する構成要素にさらに他の構成要素を含む実施例も、本開示の範囲に含まれる。
本開示は、画像の符号化及び復号化に関するものであって、本開示で使用される用語は、本開示で新たに定義されない限り、本開示の属する技術分野における通常の意味を持つことができる。
本開示で開示された方法/実施例は、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)を含むことができる。前記CUTは、一つ以上のCUに分割されることができる。
1つのピクチャは、1つ以上のスライス/タイルで構成されることができる。タイルは、ピクチャ内の特定のタイル行(Tile Row)及び特定のタイル列(Tile Column)内に存在する四角領域であり、複数のCTUから構成されることができる。タイル列は、CTUの四角領域として定義されることができ、ピクチャの高さと同じ高さを有し、ピクチャパラメータセットなどのビットストリーム部分からシグナリングされるシンタックス要素によって指定される幅を有することができる。タイル行は、CTUの四角領域として定義されることができ、ピクチャの幅と同じ幅を有し、ピクチャパラメータセットなどのビットストリーム部分からシグナリングされるシンタックス要素によって指定される高さを有することができる。
タイルスキャンは、ピクチャを分割するCTUの所定の連続した順序付け方法である。ここで、CTUは、タイル内でCTUラスタスキャン(raster scan)に従って連続的に順序付けられてもよく、ピクチャ内のタイルは、ピクチャのタイルのラスタスキャン順序に従って連続的に順序付けられてもよい。スライスは、整数個の完全なタイルを含むか、或いは1つのピクチャの1つのタイル内の連続する整数個の完全なCTU行を含むことができる。スライスは、1つのシングルNALユニットに独占的に含まれることができる。
1つのピクチャは、2つ以上のサブピクチャに区分されることができる。サブピクチャは、ピクチャ内の1つ以上のスライスの四角領域であり得る。
1つのピクチャは、1つ以上のタイルグループで構成されることができる。1つのタイルグループは、1つ以上のタイルを含むことができる。ブリックは、ピクチャ内のタイル以内のCTU行の四角領域を示すことができる。1つのタイルは、1つ以上のブリック(Brick)を含むことができる。ブリックは、タイル内のCTU行の四角領域を示すことができる。1つのタイルは、複数のブリックに分割されることができ、それぞれのブリックは、タイルに属する1つ以上のCTU行を含むことができる。複数のブリックに分割されないタイルもブリックとして扱われることができる。
本開示において、「ピクセル(pixel)」又は「ペル(pel)」は、一つのピクチャ(又は画像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として「サンプル(sample)」が使用できる。サンプルは、一般的に、ピクセル又はピクセルの値を示すことができ、ルマ(luma)成分のピクセル/ピクセル値のみを示すこともでき、クロマ(chroma)成分のピクセル/ピクセル値のみを示すこともできる。
本開示において、「ユニット(unit)」は、画像処理の基本単位を示すことができる。ユニットは、ピクチャの特定の領域及び当該領域に関連する情報のうちの少なくとも一つを含むことができる。1つのユニットは、1つのルマブロック及び2つのクロマ(例えば、Cb、Cr)ブロックを含むことができる。ユニットは、場合に応じて、「サンプルアレイ」、「ブロック(block)」又は「領域(area)」などの用語と混用して使用できる。一般な場合、M×Nブロックは、M個の列とN個の行からなるサンプル(又はサンプルアレイ)又は変換係数(transform coefficient)のセット(又はアレイ)を含むことができる。
本開示において、「現在ブロック」は、「現在コーディングブロック」、「現在コーティングユニット」、「符号化対象ブロック」、「復号化対象ブロック」又は「処理対象ブロック」のうちのいずれか一つを意味することができる。予測が行われる場合、「現在ブロック」は、「現在予測ブロック」又は「予測対象ブロック」を意味することができる。変換(逆変換)/量子化(逆量子化)が行われる場合、「現在ブロック」は「現在変換ブロック」又は「変換対象ブロック」を意味することができる。フィルタリングが行われる場合、「現在ブロック」は「フィルタリング対象ブロック」を意味することができる。
本開示において、「現在ブロック」は、クロマブロックという明示的な記載がない限り、「現在ブロックのルマブロック」を意味することができる。「現在ブロックのクロマブロック」は、明示的に「クロマブロック」又は「現在クロマブロック」のようにクロマブロックという明示的な記載を含んで表現できる。
本開示において、「/」と「、」は「及び/又は」と解釈されることができる。例えば、「A/B」と「A、B」は「A及び/又はB」と解釈されることができる。また、「A/B/C」と「A、B、C」は、「A、B及び/又はCのうちの少なくとも一つ」を意味することができる。
本開示において、「又は」は「及び/又は」と解釈されることができる。例えば、「A又はB」は、1)「A」のみを意味するか、2)「B」のみを意味するか、3)「A及びB」を意味することができる。又は、本開示において、「又は」は、「追加的に又は代替的に(additionally or alternatively)」を意味することができる。
本開示において、「少なくとも1つのA及びB(at least one of A and B)」は、「Aのみ」、「Bのみ」又は「AとBの両方」を意味することができる。また、本開示において、「少なくとも1つのA又はB(at least one of A or B)」や「少なくとも1つのA及び/又はB(at least one of A and/or B)」という表現は、「少なくとも1つのA及びB(at least one of A and B)」と同一に解釈されることができる。
また、本開示において、「少なくとも1つのA、B及びC(at least one of A, B and C)」は、「Aのみ」、「Bのみ」、「Cのみ」、又は「A、B及びCの任意のいずれの組み合わせ(any combination of A,B and C)」を意味することができる。また、「少なくとも1つのA、B又はC(at least one of A, B or C)」や「少なくとも1つのA、B及び/又はC(at least one of A,B and/or C)」は、「少なくとも1つのA、B及びC(at least one of A, B and C)」を意味することができる。
また、本開示で使用される括弧は、「例えば(for example)」を意味することができる。具体的に、「予測(イントラ予測)」と表示された場合、「予測」の一例として「イントラ予測」が提案されたものであり得る。言い換えれば、本開示の「予測」は、「イントラ予測」に限定(limit)されず、「イントラ予測」が「予測」の一例として提案されたものであり得る。また、「予測(すなわち、イントラ予測)」と表示された場合にも、「予測」の一例として「イントラ予測」が提案されたものであり得る。
本開示において、1つの図面内で個別に説明される技術的特徴は、個別に実現されてもよく、同時に実現されてもよい。
ビデオコーディングシステムの概要
図1は、本開示によるビデオコーディングシステムを示す。
一実施例によるビデオコーディングシステムは、ソースデバイス10及び受信デバイス20を含むことができる。ソースデバイス10は、符号化されたビデオ(video)及び/又は画像(image)情報又はデータをファイル又はストリーミング形式でデジタル記憶媒体又はネットワークを介して受信デバイス20へ伝達することができる。
一実施例によるソースデバイス10は、ビデオソース生成部11、符号化装置12及び伝送部13を含むことができる。一実施例による受信デバイス20は、受信部21、復号化装置22及びレンダリング部23を含むことができる。前記符号化装置12は、ビデオ/画像符号化装置と呼ばれることができ、前記復号化装置22は、ビデオ/画像復号化装置と呼ばれることができる。伝送部13は、符号化装置12に含まれることができる。受信部21は、復号化装置22に含まれることができる。レンダリング部23は、ディスプレイ部を含むこともでき、ディスプレイ部は、別個のデバイス又は外部コンポーネントとして構成されることもできる。
ビデオソース生成部11は、ビデオ/画像のキャプチャ、合成又は生成過程などを介してビデオ/画像を取得することができる。ビデオソース生成部11は、ビデオ/画像キャプチャデバイス及び/又はビデオ/画像生成デバイスを含むことができる。ビデオ/画像キャプチャデバイスは、例えば、一つ以上のカメラ、以前にキャプチャされたビデオ/画像を含むビデオ/画像アーカイブなどを含むことができる。ビデオ/画像生成デバイスは、例えば、コンピュータ、タブレット及びスマートフォンなどを含むことができ、(電子的に)ビデオ/画像を生成することができる。例えば、コンピュータなどを介して仮想のビデオ/画像が生成されることができ、この場合、ビデオ/画像キャプチャ過程は、関連データが生成される過程に置き換えられることができる。
符号化装置12は、入力ビデオ/画像を符号化することができる。符号化装置12は、圧縮及び符号化の効率のために、予測、変換、量子化などの一連の手順を行うことができる。符号化装置12は、符号化されたデータ(符号化されたビデオ/画像情報)をビットストリーム(bitstream)形式で出力することができる。
伝送部13は、ビットストリーム形式で出力された、符号化されたビデオ/画像情報又はデータを、ファイル又はストリーミング形式でデジタル記憶媒体又はネットワークを介して受信デバイス20の受信部21へ伝達することができる。デジタル記憶媒体は、USB、SD、CD、DVD、Blu-ray(登録商標)、HDD、SSDなどのさまざまな記憶媒体を含むことができる。伝送部13は、予め定められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介して伝送するためのエレメントを含むことができる。受信部21は、前記記憶媒体又はネットワークから前記ビットストリームを抽出/受信して復号化装置22へ伝達することができる。
復号化装置22は、符号化装置12の動作に対応する逆量子化、逆変換、予測などの一連の手順を行ってビデオ/画像を復号化することができる。
レンダリング部23は、復号化されたビデオ/画像をレンダリングすることができる。レンダリングされたビデオ/画像は、ディスプレイ部を介して表示されることができる。
画像符号化装置の概要
図2は、本開示による実施例が適用できる画像符号化装置を概略的に示す図である。
図2に示されているように、画像符号化装置100は、画像分割部110、減算部115、変換部120、量子化部130、逆量子化部140、逆変換部150、加算部155、フィルタリング部160、メモリ170、インター予測部180、イントラ予測部185及びエントロピー符号化部190を含むことができる。インター予測部180及びイントラ予測部185は、合わせて「予測部」と呼ばれることができる。変換部120、量子化部130、逆量子化部140及び逆変換部150は、レジデュアル(residual)処理部に含まれることができる。レジデュアル処理部は減算部115をさらに含むこともできる。
画像符号化装置100を構成する複数の構成部の全部又は少なくとも一部は、実施例によって一つのハードウェアコンポーネント(例えば、エンコーダ又はプロセッサ)で実現されることができる。また、メモリ170は、DPB(decoded picture buffer)を含むことができ、デジタル記憶媒体によって実現できる。
画像分割部110は、画像符号化装置100に入力された入力画像(又は、ピクチャ、フレーム)を一つ以上の処理ユニット(processing unit)に分割することができる。一例として、前記処理ユニットは、コーディングユニット(coding unit、CU)と呼ばれることができる。コーディングユニットは、コーディングツリーユニット(coding tree unit、CTU)又は最大コーディングユニット(largest coding unit、LCU)をQT/BT/TT(Quad-tree/binary-tree/ternary-tree)構造によって再帰的に(recursively)分割することにより取得されることができる。例えば、一つのコーディングニットは、四分木構造、二分木構造及び/又は三分木構造に基づいて、下位(deeper)デプスの複数のコーディングユニットに分割されることができる。コーディングユニットの分割のために、四分木構造が先に適用され、二分木構造及び/又は三分木構造が後で適用されることができる。それ以上分割されない最終コーディングユニットを基に、本開示によるコーディング手順が行われることができる。最大コーディングユニットが最終コーディングユニットとして使用されることができ、最大コーディングユニットを分割して取得した下位デプスのコーディングユニットが最終コーディングユニットとして使用されることもできる。ここで、コーディング手順とは、後述する予測、変換及び/又は復元などの手順を含むことができる。他の例として、前記コーディング手順の処理ユニットは、予測ユニット(PU:Prediction Unit)又は変換ユニット(TU:Transform Unit)であることができる。前記予測ユニット及び前記変換ユニットは、それぞれ前記最終コーディングユニットから分割又はパーティショニングされることができる。前記予測ユニットは、サンプル予測の単位であることができ、前記変換ユニットは、変換係数を誘導する単位、及び/又は変換係数からレジデュアル信号(residual signal)を誘導する単位であることができる。
予測部(インター予測部180又はイントラ予測部185)は、処理対象ブロック(現在ブロック)に対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、現在ブロック又はCU単位でイントラ予測が適用されるか或いはインター予測が適用されるかを決定することができる。予測部は、現在ブロックの予測に関するさまざまな情報を生成してエントロピー符号化部190に伝達することができる。予測に関する情報は、エントロピー符号化部190で符号化されてビットストリーム形式で出力されることができる。
イントラ予測部185は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。参照される前記サンプルは、イントラ予測モード及び/又はイントラ予測技法に従って、前記現在ブロックの周辺(neighbor)に位置することもでき、或いは離れて位置することもできる。イントラ予測モードは、複数の非方向性モードと複数の方向性モードを含むことができる。非方向性モードは、例えば、DCモード及びプランナーモード(Planarモード)を含むことができる。方向性モードは、予測方向の細かい程度に応じて、例えば33個の方向性予測モード又は65個の方向性予測モードを含むことができる。ただし、これは例示に過ぎず、設定に基づいてそれ以上又はそれ以下の個数の方向性予測モードが使用できる。イントラ予測部185は、周辺ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
インター予測部180は、参照ピクチャ上で動きベクトルによって特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導することができる。この時、インター予測モードで伝送される動き情報の量を減らすために、周辺ブロックと現在ブロックとの動き情報の相関性に基づいて動き情報をブロック、サブブロック又はサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測など)情報をさらに含むことができる。インター予測の場合、周辺ブロックは、現在ピクチャ内に存在する空間周辺ブロック(spatial neighboring block)と、参照ピクチャに存在する時間周辺ブロック(temporal neighboring block)を含むことができる。前記参照ブロックを含む参照ピクチャと、前記時間周辺ブロックを含む参照ピクチャとは、同一でもよく、互いに異なってもよい。前記時間周辺ブロックは、コロケート参照ブロック(collocated reference block)、コロケートCU(colCU)などの名前で呼ばれることができる。前記時間周辺ブロックを含む参照ピクチャは、コロケートピクチャ(collocated picture、colPic)と呼ばれることができる。例えば、インター予測部180は、周辺ブロックに基づいて動き情報候補リストを構成し、前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出するために、どの候補が使用されるかを指示する情報を生成することができる。様々な予測モードに基づいてインター予測が行われることができ、例えばスキップモードとマージモードの場合に、インター予測部180は、周辺ブロックの動き情報を現在ブロックの動き情報として用いることができる。スキップモードの場合、マージモードとは異なり、レジデュアル信号が伝送されないことができる。動き情報予測(motion vector prediction、MVP)モードの場合、周辺ブロックの動きベクトルを動きベクトル予測子(motion vector predictor)として用い、動きベクトル差分(motion vector difference)及び動きベクトル予測子に対するインジケータ(indicator)を符号化することにより、現在ブロックの動きベクトルをシグナリングすることができる。動きベクトル差分は、現在ブロックの動きベクトルと動きベクトル予測子との差を意味することができる。
予測部は、後述する様々な予測方法及び/又は予測技法に基づいて予測信号を生成することができる。例えば、予測部は、現在ブロックの予測のために、イントラ予測又はインター予測を適用することができるだけでなく、イントラ予測とインター予測を同時に適用することができる。現在ブロックの予測のためにイントラ予測とインター予測を同時に適用する予測方法は、CIIP(combined inter and intra prediction)と呼ばれることができる。また、予測部は、現在ブロックの予測のためにイントラブロックコピー(intra block copy、IBC)を行うこともできる。イントラブロックコピーは、例えば、SCC(screen content coding)などのようにゲームなどのコンテンツ画像/動画コーディングのために使用できる。IBCは、現在ブロックから所定の距離だけ離れた位置の現在ピクチャ内の既に復元された参照ブロックを用いて現在ブロックを予測する方法である。IBCが適用される場合、現在ピクチャ内の参照ブロックの位置は、前記所定の距離に該当するベクトル(ブロックベクトル)として符号化されることができる。IBCは、基本的に現在ピクチャ内で予測を行うが、現在ピクチャ内で参照ブロックを導出するという点で、インター予測と同様に行われることができる。すなわち、IBCは、本開示で説明されるインター予測技法のうちの少なくとも1つを用いることができる。
予測部によって生成された予測信号は、復元信号を生成するために用いられるか、或いはレジデュアル信号を生成するために用いられることができる。減算部115は、入力画像信号(原本ブロック、原本サンプルアレイ)から、予測部から出力された予測信号(予測されたブロック、予測サンプルアレイ)を減算して、レジデュアル信号(residual signal、残余ブロック、残余サンプルアレイ)を生成することができる。生成されたレジデュアル信号は、変換部120に伝送されることができる。
変換部120は、レジデュアル信号に変換技法を適用して変換係数(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)を用いて予測信号を生成し、それに基づいて取得される変換を意味する。変換過程は、正方形の同じサイズを有するピクセルブロックに適用されることもでき、正方形ではない、可変サイズのブロックに適用されることもできる。
量子化部130は、変換係数を量子化してエントロピー符号化部190に伝送することができる。エントロピー符号化部190は、量子化された信号(量子化された変換係数に関する情報)を符号化してビットストリーム形式で出力することができる。前記量子化された変換係数に関する情報は、レジデュアル情報と呼ばれることができる。量子化部130は、係数スキャン順序(scan order)に基づいて、ブロック形式の量子化された変換係数を1次元ベクトル形式で再整列することができ、前記1次元ベクトル形式の量子化された変換係数に基づいて、前記量子化された変換係数に関する情報を生成することもできる。
エントロピー符号化部190は、例えば、指数ゴロム(exponential Golomb)、CAVLC(context-adaptive variable length coding)、CABAC(context-adaptive binary arithmetic coding)などの様々な符号化方法を行うことができる。エントロピー符号化部190は、量子化された変換係数の他に、ビデオ/画像復元に必要な情報(例えば、シンタックス要素(syntax elements)の値など)を一緒に又は別々に符号化することもできる。符号化された情報(例えば、符号化されたビデオ/画像情報)は、ビットストリーム形式でNAL(network abstraction layer)ユニット単位で伝送又は保存されることができる。前記ビデオ/画像情報は、適応パラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)又はビデオパラメータセット(VPS)などの様々なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/画像情報は、一般制限情報(general constraint information)をさらに含むことができる。本開示で言及されたシグナリング情報、伝送される情報及び/又はシンタックス要素は、上述した符号化手順を介して符号化されて前記ビットストリームに含まれることができる。
前記ビットストリームは、ネットワークを介して伝送されることができ、又はデジタル記憶媒体に保存されることができる。ここで、ネットワークは、放送網及び/又は通信網などを含むことができ、デジタル記憶媒体は、USB、SD、CD、DVD、Blu-ray、HDD、SSDなどのさまざまな記憶媒体を含むことができる。エントロピー符号化部190から出力された信号を伝送する伝送部(図示せず)及び/又は保存する保存部(図示せず)が画像符号化装置100の内/外部要素として備えられることができ、又は伝送部はエントロピー符号化部190の構成要素として備えられることもできる。
量子化部130から出力された、量子化された変換係数は、レジデュアル信号を生成するために用いられることができる。例えば、量子化された変換係数に逆量子化部140及び逆変換部150を介して逆量子化及び逆変換を適用することにより、レジデュアル信号(レジデュアルブロック又はレジデュアルサンプル)を復元することができる。
加算部155は、復元されたレジデュアル信号をインター予測部180又はイントラ予測部185から出力された予測信号に加えることにより、復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部155は、復元部又は復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するようにフィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
フィルタリング部160は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部160は、復元ピクチャに様々なフィルタリング方法を適用して、修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ170、具体的にはメモリ170のDPBに保存することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、双方向フィルタ(bilateral filter)などを含むことができる。フィルタリング部160は、各フィルタリング方法についての説明で後述するようにフィルタリングに関する様々な情報を生成してエントロピー符号化部190に伝達することができる。フィルタリングに関する情報は、エントロピー符号化部190で符号化されてビットストリーム形式で出力されることができる。
メモリ170に伝送された、修正された復元ピクチャは、インター予測部180で参照ピクチャとして使用されることができる。画像符号化装置100は、これを介してインター予測が適用される場合、画像符号化装置100と画像復号化装置での予測ミスマッチを回避することができ、符号化効率も向上させることができる。
メモリ170内のDPBは、インター予測部180での参照ピクチャとして使用するために、修正された復元ピクチャを保存することができる。メモリ170は、現在ピクチャ内の動き情報が導出された(又は符号化された)ブロックの動き情報及び/又は既に復元されたピクチャ内ブロックの動き情報を保存することができる。前記保存された動き情報は、空間周辺ブロックの動き情報又は時間周辺ブロックの動き情報として活用するために、インター予測部180に伝達されることができる。メモリ170は、現在ピクチャ内の復元されたブロックの復元サンプルを保存することができ、イントラ予測部185に伝達することができる。
画像復号化装置の概要
図3は、本開示による実施例が適用できる画像復号化装置を概略的に示す図である。
図3に示されているように、画像復号化装置200は、エントロピー復号化部210、逆量子化部220、逆変換部230、加算部235、フィルタリング部240、メモリ250、インター予測部260及びイントラ予測部265を含んで構成できる。インター予測部260及びイントラ予測部265を合わせて「予測部」と呼ばれることができる。逆量子化部220、逆変換部230はレジデュアル処理部に含まれることができる。
画像復号化装置200を構成する複数の構成部の全部又は少なくとも一部は、実施例によって一つのハードウェアコンポーネント(例えば、デコーダ又はプロセッサ)で実現されることができる。また、メモリ170は、DPBを含むことができ、デジタル記憶媒体によって実現できる。
ビデオ/画像情報を含むビットストリームを受信した画像復号化装置200は、図2の画像符号化装置100で行われたプロセスに対応するプロセスを実行して画像を復元することができる。例えば、画像復号化装置200は、画像符号化装置で適用された処理ユニットを用いて復号化を行うことができる。したがって、復号化の処理ユニットは、例えばコーディングユニットであることができる。コーディングユニットは、コーディングツリーユニット又は最大コーディングユニットを分割して取得できる。そして、画像復号化装置200を介して復号化及び出力された復元画像信号は、再生装置(図示せず)を介して再生できる。
画像復号化装置200は、図2の画像符号化装置から出力された信号をビットストリーム形式で受信することができる。受信された信号は、エントロピー復号化部210を介して復号化できる。例えば、エントロピー復号化部210は、前記ビットストリームをパーシングして画像復元(又はピクチャ復元)に必要な情報(例えば、ビデオ/画像情報)を導出することができる。前記ビデオ/画像情報は、適応パラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)又はビデオパラメータセット(VPS)などの様々なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/画像情報は、一般制限情報(general constraint information)をさらに含むことができる。画像復号化装置は、画像を復号化するために、前記パラメータセットに関する情報及び/又は前記一般制限情報をさらに用いることができる。本開示で言及されたシグナリング情報、受信される情報及び/又はシンタックス要素は、前記復号化手順を介して復号化されることにより、前記ビットストリームから取得されることができる。例えば、エントロピー復号化部210は、指数ゴロム符号化、CAVLC又はCABACなどのコーディング方法に基づいてビットストリーム内の情報を復号化し、画像復元に必要なシンタックス要素の値、レジデュアルに関する変換係数の量子化された値を出力することができる。より詳細には、CABACエントロピー復号化方法は、ビットストリームから各シンタックス要素に該当するビン(bin)を受信し、復号化対象シンタックス要素情報と周辺ブロック及び復号化対象ブロックの復号化情報、或いは以前ステップで復号化されたシンボル/ビンの情報を用いてコンテキスト(context)モデルを決定し、決定されたコンテキストモデルに基づいてビン(bin)の発生確率を予測してビンの算術復号化(arithmetic decoding)を行うことにより、各シンタックス要素の値に該当するシンボルを生成することができる。この時、CABACエントロピー復号化方法は、コンテキストモデルの決定後、次のシンボル/ビンのコンテキストモデルのために、復号化されたシンボル/ビンの情報を用いてコンテキストモデルを更新することができる。エントロピー復号化部210で復号化された情報のうち、予測に関する情報は、予測部(インター予測部260及びイントラ予測部265)に提供され、エントロピー復号化部210でエントロピー復号化が行われたレジデュアル値、すなわち量子化された変換係数及び関連パラメータ情報は、逆量子化部220に入力されることができる。また、エントロピー復号化部210で復号化された情報のうち、フィルタリングに関する情報は、フィルタリング部240に提供されることができる。一方、画像符号化装置から出力された信号を受信する受信部(図示せず)が画像復号化装置200の内/外部要素としてさらに備えられることができ、又は受信部はエントロピー復号化部210の構成要素として備えられることもできる。
一方、本開示による画像復号化装置は、ビデオ/画像/ピクチャ復号化装置と呼ばれることができる。前記画像復号化装置は、情報デコーダ(ビデオ/画像/ピクチャ情報デコーダ)及び/又はサンプルデコーダ(ビデオ/画像/ピクチャサンプルデコーダ)を含むこともできる。前記情報デコーダは、エントロピー復号化部210を含むことができ、前記サンプルデコーダは、逆量子化部220、逆変換部230、加算部235、フィルタリング部240、メモリ250、インター予測部260及びイントラ予測部265のうちの少なくとも一つを含むことができる。
逆量子化部220では、量子化された変換係数を逆量子化して変換係数を出力することができる。逆量子化部220は、量子化された変換係数を2次元のブロック形式で再整列することができる。この場合、前記再整列は、画像符号化装置で行われた係数スキャン順序に基づいて行われることができる。逆量子化部220は、量子化パラメータ(例えば、量子化ステップサイズ情報)を用いて、量子化された変換係数に対する逆量子化を行い、変換係数(transform coefficient)を取得することができる。
逆変換部230では、変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を取得することができる。
予測部は、現在ブロックに対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、エントロピー復号化部210から出力された前記予測に関する情報に基づいて、前記現在ブロックにイントラ予測が適用されるか或いはインター予測が適用されるかを決定することができ、具体的なイントラ/インター予測モード(予測技法)を決定することができる。
予測部が後述の様々な予測方法(技法)に基づいて予測信号を生成することができるのは、画像符号化装置100の予測部についての説明で述べたのと同様である。
イントラ予測部265は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。イントラ予測部185についての説明は、イントラ予測部265に対しても同様に適用されることができる。
インター予測部260は、参照ピクチャ上で動きベクトルによって特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導することができる。この時、インター予測モードで伝送される動き情報の量を減らすために、周辺ブロックと現在ブロックとの動き情報の相関性に基づいて動き情報をブロック、サブブロック又はサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測など)情報をさらに含むことができる。インター予測の場合に、周辺ブロックは、現在ピクチャ内に存在する空間周辺ブロック(spatial neighboring block)と参照ピクチャに存在する時間周辺ブロック(temporal neighboring block)を含むことができる。例えば、インター予測部260は、周辺ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出することができる。様々な予測モード(技法)に基づいてインター予測が行われることができ、前記予測に関する情報は、前記現在ブロックに対するインター予測のモード(技法)を指示する情報を含むことができる。
加算部235は、取得されたレジデュアル信号を予測部(インター予測部260及び/又はイントラ予測部265を含む)から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることにより、復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用できる。加算部155についての説明は、加算部235に対しても同様に適用できる。加算部235は、復元部又は復元ブロック生成部と呼ばれることもある。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するようにフィルタリングを介して次のピクチャのインター予測のために使用されることもできる。
フィルタリング部240は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部240は、復元ピクチャに様々なフィルタリング方法を適用して、修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ250、具体的にはメモリ250のDPBに保存することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、双方向フィルタ(bilateral filter)などを含むことができる。
メモリ250のDPBに保存された(修正された)復元ピクチャは、インター予測部260で参照ピクチャとして使用されることができる。メモリ250は、現在ピクチャ内の動き情報が導出された(又は復号化された)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を保存することができる。前記保存された動き情報は、空間周辺ブロックの動き情報又は時間周辺ブロックの動き情報として活用するために、インター予測部260に伝達することができる。メモリ250は、現在ピクチャ内の復元されたブロックの復元サンプルを保存することができ、イントラ予測部265に伝達することができる。
本明細書において、画像符号化装置100のフィルタリング部160、インター予測部180及びイントラ予測部185で説明された実施例は、それぞれ画像復号化装置200のフィルタリング部240、インター予測部260及びイントラ予測部265にも、同様に又は対応するように適用されることができる。
一般な画像/ビデオコーディング手順
画像/ビデオコーディングにおいて、画像/ビデオを構成するピクチャは、一連の復号化順序(decoding order)に従って符号化/復号化できる。復号化されたピクチャの出力順序(output order)に該当するピクチャ順序(picture order)は、前記復号化順序とは異なるように設定できる。これに基づいて、インター予測の際に、順方向予測だけでなく、逆方向予測も行うことができる。
図4は、本開示の実施例が適用できる概略的なピクチャ復号化手順の例を示す。図4において、S410は、図3で上述した復号化装置のエントロピー復号化部210で行われることができ、S420は、イントラ予測部265及びインター予測部260を含む予測部で行われることができ、S430は、逆量子化部220及び逆変換部230を含むレジデュアル処理部で行われることができ、S440は、加算部235で行われることができ、S450は、フィルタリング部240で行われることができる。S410は、本開示で説明された情報復号化手順を含むことができ、S420は、本開示で説明されたインター/イントラ予測手順を含むことができ、S430は、本開示で説明されたレジデュアル処理手順を含むことができ、S440は、本開示で説明されたブロック/ピクチャ復元手順を含むことができ、S450は、本開示で説明されたインループフィルタリング手順を含むことができる。
図4を参照すると、ピクチャ復号化手順は、図3についての説明で示されているように、概略的に、ビットストリームから(復号化による)画像/ビデオ情報取得手順(S410)、ピクチャ復元手順(S420~S440)、及び復元されたピクチャに対するインループフィルタリング手順(S450)を含むことができる。前記ピクチャ復元手順は、本開示で説明されたインター/イントラ予測(S420)及びレジデュアル処理(S430、量子化された変換係数に対する逆量子化、逆変換)過程を経て取得した予測サンプル及びレジデュアルサンプルに基づいて行われることができる。前記ピクチャ復元手順によって生成された復元ピクチャに対するインループフィルタリング手順を介して、修正(modified)された復元ピクチャが生成されることができ、前記修正された復元ピクチャが、復号化されたピクチャとして出力されることができ、また、復号化装置の復号ピクチャバッファ又はメモリ250に保存されて以後のピクチャの復号化時にインター予測手順で参照ピクチャとして使用されることができる。場合によっては、前記インループフィルタリング手順は省略可能であり、この場合、前記復元ピクチャが復号化されたピクチャとして出力されることができ、また、復号化装置の復号ピクチャバッファ又はメモリ250に保存されて以後のピクチャの復号化時にインター予測手順で参照ピクチャとして使用されることができる。前記インループフィルタリング手順(S450)は、上述したように、デブロッキングフィルタリング手順、SAO(sample adaptive offset)手順、ALF(adaptive loop filter)手順、及び/又はバイラテラルフィルタ(bi-lateral filter)手順などを含むことができ、その一部又は全部が省略可能である。また、前記デブロッキングフィルタリング手順、SAO(sample adaptive offset)手順、ALF(adaptive loop filter)手順、及びバイラテラルフィルタ(bi-lateral filter)手順のうちの一つ又は一部が順次適用されてもよく、全てが順次適用されてもよい。例えば、復元ピクチャに対してデブロッキングフィルタリング手順が適用された後、SAO手順が行われることができる。又は、例えば、復元ピクチャに対してデブロッキングフィルタリング手順が適用された後、ALF手順が行われることができる。これは、符号化装置においても同様に行われることができる。
図5は、本開示の実施例が適用できる概略的なピクチャ符号化手順の例を示す。図5において、S510は、図2で上述した符号化装置のイントラ予測部185又はインター予測部180を含む予測部で行われることができ、S520は、変換部120及び/又は量子化部130を含むレジデュアル処理部で行われることができ、S530は、エントロピー符号化部190で行われることができる。S510は、本開示で説明されたインター/イントラ予測手順を含むことができ、S520は、本開示で説明されたレジデュアル処理手順を含むことができ、S530は、本開示で説明された情報符号化手順を含むことができる。
図5を参照すると、ピクチャ符号化手順は、図2についての説明で示されているように、概略的にピクチャ復元のための情報(例えば、予測情報、レジデュアル情報、パーティショニング情報など)を符号化してビットストリーム形式で出力する手順だけでなく、現在ピクチャに対する復元ピクチャを生成する手順、及び復元ピクチャにインループフィルタリングを適用する手順(optional)を含むことができる。符号化装置は、逆量子化部140及び逆変換部150を介して、量子化された変換係数から(修正された)レジデュアルサンプルを導出することができ、S510の出力である予測サンプルと前記(修正された)レジデュアルサンプルに基づいて復元ピクチャを生成することができる。このように生成された復元ピクチャは、上述した復号化装置で生成した復元ピクチャと同一であり得る。前記復元ピクチャに対するインループフィルタリング手順を介して、修正された復元ピクチャが生成されることができ、これは、復号ピクチャバッファ又はメモリ170に保存されることができ、復号化装置での場合と同様に、以後のピクチャの符号化時にインター予測手順で参照ピクチャとして使用されることができる。上述したように、場合によっては、前記インループフィルタリング手順の一部又は全部は省略可能である。前記インループフィルタリング手順が行われる場合、(インループ)フィルタリング関連情報(パラメータ)がエントロピー符号化部190で符号化されてビットストリーム形式で出力されることができ、復号化装置は、前記フィルタリング関連情報に基づいて符号化装置と同様の方法でインループフィルタリング手順を行うことができる。
このようなインループフィルタリング手順を介して、ブロッキングアーチファクト(artifact)及びリンギング(ringing)アーチファクトなど、画像/動画像コーディング時に発生するノイズを低減することができ、主観的/客観的ビジュアルクオリティを高めることができる。また、符号化装置と復号化装置の両方でインループフィルタリング手順を行うことにより、符号化装置と復号化装置は、同一の予測結果を導出することができ、ピクチャコーディングの信頼性を高め、ピクチャコーディングのために伝送されるべきデータ量を減らすことができる。
上述したように、復号化装置だけでなく、符号化装置においてもピクチャ復元手順が行われることができる。各ブロック単位でイントラ予測/インター予測に基づいて復元ブロックが生成されることができ、復元ブロックを含む復元ピクチャが生成されることができる。現在ピクチャ/スライス/タイルグループがIピクチャ/スライス/タイルグループである場合、前記現在ピクチャ/スライス/タイルグループに含まれるブロックは、イントラ予測のみに基づいて復元されることができる。一方、現在ピクチャ/スライス/タイルグループがP又はBピクチャ/スライス/タイルグループである場合、前記現在ピクチャ/スライス/タイルグループに含まれるブロックは、イントラ予測又はインター予測に基づいて復元されることができる。この場合、現在ピクチャ/スライス/タイルグループ内の一部のブロックに対してはインター予測が適用され、残りの一部のブロックに対してはイントラ予測が適用されることもできる。ピクチャのカラー成分は、ルマ成分及びクロマ成分を含むことができ、本開示で明示的に制限しなければ、本開示で提案される方法及び実施例は、ルマ成分及びクロマ成分に適用されるができる。
コーディング階層及び構造の例
本開示によるコーディングされたビデオ/画像は、例えば、後述するコーディング階層及び構造に従って処理できる。
図6は、コーディングされた画像に対する階層構造を示す図である。コーディングされた画像は、画像の復号化処理及びそれ自体を扱う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ユニットタイプの一例を羅列する。
-DCI(Decoding capability information) NAL unit:DCIを含む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ユニットに対するタイプ
-APS(Adaptation Parameter Set) NAL unit:APSを含むNALユニットに対するタイプ
-PH(Picture header) NAL unit:Type for NAL unit including PH
上述したNALユニットタイプは、NALユニットタイプのためのシンタックス情報を有し、前記シンタックス情報は、NALユニットヘッダーに保存されてシグナリングされることができる。例えば、前記シンタックス情報はnal_unit_typeであることができ、NALユニットタイプはnal_unit_typeの値として特定されることができる。
一方、上述したように、一つのピクチャは、複数のスライスを含むことができ、一つのスライスは、スライスヘッダー及びスライスデータを含むことができる。この場合、一つのピクチャ内の複数のスライス(スライスヘッダー及びスライスデータ集合)に対して一つのピクチャヘッダーがさらに付加されることができる。前記ピクチャヘッダー(ピクチャヘッダーシンタックス)は、前記ピクチャに共通に適用可能な情報/パラメータを含むことができる。
前記スライスヘッダー(スライスヘッダーシンタックス)は、前記スライスに共通に適用可能な情報/パラメータを含むことができる。前記APS(APSシンタックス)又はPPS(PPSシンタックス)は、一つ以上のスライス又はピクチャに共通に適用可能な情報/パラメータを含むことができる。前記SPS(SPSシンタックス)は、一つ以上のシーケンスに共通に適用可能な情報/パラメータを含むことができる。前記VPS(VPSシンタックス)は、マルチレイヤに共通に適用可能な情報/パラメータを含むことができる。前記DCI(DCIシンタックス)は、ビデオ全般に共通に適用可能な情報/パラメータを含むことができる。前記DCIは、復号化能力(decoding capability)に関連する情報/パラメータを含むことができる。本開示において、上位レベルシンタックス(High level syntax、HLS)とは、前記APSシンタックス、PPSシンタックス、SPSシンタックス、VPSシンタックス、DCIシンタックス、ピクチャヘッダーシンタックス、及びスライスヘッダーシンタックスのうちの少なくとも一つを含むことができる。一方、本開示において、下位レベルシンタックス(low level syntax、LLS)は、例えば、スライスデータシンタックス、CTUシンタックス、符号化単位シンタックス、変換単位シンタックスなどを含むことができる。
本開示において、符号化装置から復号化装置へ符号化されてビットストリーム形式でシグナリングされる画像/ビデオ情報は、ピクチャ内のパーティショニング関連情報、イントラ/インター予測情報、レジデュアル情報、インループフィルタリング情報などを含むだけでなく、前記スライスヘッダーの情報、前記ピクチャヘッダーの情報、前記APSの情報、前記PPSの情報、SPSの情報、前記VPSの情報及び/又は前記DCIの情報を含むことができる。また、前記画像/ビデオ情報は、一般制限情報(general constraint information)及び/又はNALユニットヘッダーの情報をさらに含むことができる。
マルチレイヤベースの符号化
本開示による画像/ビデオコーディングは、マルチレイヤベースの画像/ビデオコーディングを含むことができる。前記マルチレイヤベースの画像/ビデオコーディングは、スケーラブルコーディングを含むことができる。マルチレイヤベースのコーディング又はスケーラブルコーディングでは、入力信号をレイヤごとに処理することができる。レイヤによって、入力信号(入力画像/ピクチャ)は、解像度(resolution)、フレームレート(frame rate)、ビットデプス(bit-depth)、カラーフォーマット(color format)、アスファクトレート(aspect ratio)、ビュー(view)のうちの少なくとも1つに対して互いに異なる値を有することができる。この場合、レイヤ間の差異点を利用して(例えば、スケーラビリティに基づいて)、レイヤ間の予測を行うことにより、情報の重複伝送/処理を減らし、圧縮効率を高めることができる。
図7は、本開示の実施例が適用でき、マルチレイヤベースのビデオ/画像信号の符号化が行われるマルチレイヤ符号化装置700の概略的なブロック図を示す。
図7のマルチレイヤ符号化装置700は、前記図2の符号化装置を含むことができる。図2と比較して、図7のマルチレイヤ符号化装置700では、画像分割部110及び加算部155の図示が省略されているが、前記マルチレイヤ符号化装置700は、画像分割部110及び加算部155を含むことができる。一実施例において、画像分割部110及び加算部155はレイヤ単位で含まれることができる。以下、図7についての説明では、マルチレイヤベースの予測について重点的に説明する。例えば、以下に説明される内容の他にも、図7のマルチレイヤ符号化装置700は、先立って図2を参照して説明したような符号化装置に対する技術的思想を含むことができる。
説明の便宜のために、2つのレイヤからなるマルチレイヤ構造が図7に示されている。しかし、本開示の実施例は、2つのレイヤに限定されず、本開示の実施例が適用されるマルチレイヤ構造は、2つ以上のレイヤを含むことができる。
図7を参照すると、符号化装置700は、レイヤ1に対する符号化部700-1と、レイヤ0に対する符号化部700-0と、を含む。レイヤ0はベースレイヤ、参照レイヤ又は下位レイヤであり、レイヤ1はエンハンスメントレイヤ、現在レイヤ又は上位レイヤであり得る。
レイヤ1の符号化部700-1は、予測部720-1、レジデュアル処理部730-1、フィルタリング部760-1、メモリ770-1、エントロピー符号化部740-1、及びMUX(Multiplexer)770を含むことができる。一実施例において、前記MUXは外部コンポーネントとして含まれてもよい。
レイヤ0の符号化部700-0は、予測部720-0、レジデュアル処理部730-0、フィルタリング部760-0、メモリ770-0及びエントロピー符号化部740-0を含むことができる。
予測部720-0、720-1は、入力された画像に対して上述したように様々な予測技法に基づいて予測を行うことができる。例えば、予測部720-0、720-1は、インター予測とイントラ予測を行うことができる。予測部720-0、720-1は、所定の処理単位で予測を行うことができる。予測の実行単位は、コーディングユニット(Coding Unit:CU)であってもよく、変換ユニット(Transform Unit:TU)であってもよい。予測の結果に基づいて予測されたブロック(予測サンプルを含む)が生成されることができ、これに基づいてレジデュアル処理部はレジデュアルブロック(レジデュアルサンプルを含む)を導出することができる。
インター予測を通じては、現在ピクチャの以前ピクチャ及び/又は以後ピクチャのうちの少なくとも1つのピクチャの情報に基づいて予測を行って予測ブロックを生成することができる。イントラ予測を通じては、現在ピクチャ内の周辺サンプルに基づいて予測を行って予測ブロックを生成することができる。
インター予測のモード又は方法として、上述した様々な予測モード方法などが使用できる。インター予測では、予測対象である現在ブロックに対して参照ピクチャを選択し、参照ピクチャ内で現在ブロックに対応する参照ブロックを選択することができる。予測部720-0、720-1は、参照ブロックに基づいて予測されたブロックを生成することができる。
また、予測部720-1は、レイヤ0の情報を用いてレイヤ1に対する予測を行うことができる。本開示では、他のレイヤの情報を用いて現在レイヤの情報を予測する方法を、説明の便宜のために、インターレイヤ予測と呼ぶ。
他のレイヤの情報を用いて予測される(例えば、インターレイヤ予測によって予測される)現在レイヤの情報は、テクスチャ、動き情報、ユニット情報、所定のパラメータ(例えば、フィルタリングパラメータなど)のうちの少なくとも1つであり得る。
また、現在レイヤに対する予測に用いられる(例えば、インターレイヤ予測に用いられる)他のレイヤの情報は、テクスチャ、動き情報、ユニット情報、所定のパラメータ(例えば、フィルタリングパラメータなど)のうちの少なくとも1つであり得る。
インターレイヤ予測において、現在ブロックは、現在レイヤ(例えば、レイヤ1)内の現在ピクチャ内のブロックであって、符号化対象のブロックであり得る。参照ブロックは、現在ブロックの予測に参照されるレイヤ(参照レイヤ、例えば、レイヤ0)において現在ブロックの属するピクチャ(現在ピクチャ)と同じアクセスユニット(AU:access Unit)に属するピクチャ(参照ピクチャ)内のブロックであって、現在ブロックに対応するブロックであり得る。
インターレイヤ予測の一例として、参照レイヤの動き情報を用いて現在レイヤの動き情報を予測するインターレイヤ動き予測がある。インターレイヤ動き予測によれば、参照ブロックの動き情報を用いて現在ブロックの動き情報を予測することができる。すなわち、後述するインター予測モードに従って動き情報を導出する際に、時間的周辺ブロックの代わりにインターレイヤ参照ブロックの動き情報に基づいて動き情報候補を導出することができる。
インターレイヤ動き予測を適用する場合に、予測部720-1は、参照レイヤの参照ブロック(すなわち、インターレイヤ参照ブロック)動き情報をスケーリングして利用することもできる。
インターレイヤ予測の別の例として、インターレイヤテクスチャ予測は、復元された参照ブロックのテクスチャを現在ブロックに対する予測値として用いることができる。このとき、予測部720-1は、参照ブロックのテクスチャをアップサンプリングによってスケーリングされることができる。インターレイヤテクスチャ予測は、インターレイヤ(復元)サンプル予測、又は単にインターレイヤ予測と呼ばれることがある。
インターレイヤ予測の別の例であるインターレイヤパラメータ予測では、参照レイヤの誘導されたパラメータを現在レイヤで再使用するか、或いは参照レイヤで使用したパラメータに基づいて現在レイヤに対するパラメータを誘導することができる。
インターレイヤ予測の別の例であるインターレイヤレジデュアル予測では、他のレイヤのレジデュアル情報を用いて現在レイヤのレジデュアルを予測し、これに基づいて現在ブロックに対する予測を行うことができる。
インターレイヤ予測の別の例であるインターレイヤ差分予測では、現在レイヤの復元ピクチャと参照レイヤの復元ピクチャをアップサンプリング又はダウンサンプリングした画像同士間の差分を利用して、現在ブロックに対する予測を行うことができる。
インターレイヤ予測の別の例であるインターレイヤシンタックス予測では、参照レイヤのシンタックス情報を用いて現在ブロックのテクスチャを予測又は生成することができる。このとき、参照される参照レイヤのシンタックス情報は、イントラ予測モードに関する情報、動き情報を含むことができる。
上述したインターレイヤを用いた予測方法は、特定のブロックに対する予測の際に複数個が用いられることもできる。
ここでは、インターレイヤ予測の例として、インターレイヤテクスチャ予測、インターレイヤ動き予測、インターレイヤユニット情報予測、インターレイヤパラメータ予測、インターレイヤレジデュアル予測、インターレイヤ差分予測、インターレイヤシンタックス予測などを説明したが、本発明で適用可能なインターレイヤ予測は、これらに限定されない。
例えば、インターレイヤ予測を現在レイヤに対するインター予測の拡張として適用することもできる。すなわち、参照レイヤから誘導された参照ピクチャを、現在ブロックのインター予測に参照可能な参照ピクチャに含ませて、現在ブロックに対するインター予測を行うこともできる。
この場合、インターレイヤ参照ピクチャは、現在ブロックに対する参照ピクチャリストに含まれることができる。予測部720-1は、インターレイヤ参照ピクチャを用いて現在ブロックに対するインター予測を行うことができる。
ここで、インターレイヤ参照ピクチャは、参照レイヤの復元されたピクチャを現在レイヤに対応するようにサンプリングして構成された参照ピクチャであり得る。したがって、参照レイヤの復元されたピクチャが現在レイヤのピクチャに対応する場合には、サンプリングなしに参照レイヤの復元されたピクチャをインターレイヤ参照ピクチャとして用いることができる。例えば、参照レイヤの復元されたピクチャと現在レイヤの復元されたピクチャにおけるサンプルの幅と高さが同一であり、参照レイヤのピクチャにおける左上端、右上端、左下端、右下端と、現在レイヤのピクチャにおける左上端、右上端、左下端及び右下端とのオフセットが0である場合、参照レイヤの復元されたピクチャを再びサンプリングせず、現在レイヤのインターレイヤ参照ピクチャとして使用することもできる。
また、インターレイヤ参照ピクチャが誘導される参照レイヤの復元ピクチャは、符号化対象である現在ピクチャと同じAUに属するピクチャであり得る。
インターレイヤ参照ピクチャを参照ピクチャリストに含めて現在ブロックに対するインター予測を行う場合に、インターレイヤ参照ピクチャの参照ピクチャリスト内の位置は参照ピクチャリストL0とL1で互いに異なることができる。例えば、参照ピクチャリストL0では、現在ピクチャ以前の短期参照ピクチャの後にインターレイヤ参照ピクチャが位置することができ、参照ピクチャリストL1では、参照ピクチャリストの最後にインターレイヤ参照ピクチャが位置することもできる。
ここで、参照ピクチャリストL0は、Pスライスのインター予測に使用される参照ピクチャリスト又はBスライスのインター予測において1番目の参照ピクチャリストとして用いられる参照ピクチャリストである。参照ピクチャリストL1は、Bスライスのインター予測に使用される2番目の参照ピクチャリストである。
したがって、参照ピクチャリストL0は、現在ピクチャ以前の短期参照ピクチャ、インターレイヤ参照ピクチャ、現在ピクチャ以後の短期参照ピクチャ、長期参照ピクチャの順で構成されることができる。参照ピクチャリストL1は、現在ピクチャ以後の短期参照ピクチャ、現在ピクチャ以前の短期参照ピクチャ、長期参照ピクチャ、インターレイヤ参照ピクチャの順で構成されることができる。
ここで、Pスライス(predictive slice)は、イントラ予測が行われるか、或いは予測ブロックあたり最大1つの動きベクトル及び参照ピクチャインデックスを用いてインター予測が行われるスライスである。Bスライス(bi-predictive slice)は、イントラ予測が行われるか、或いは予測ブロックあたり最大2つの動きベクトルと参照ピクチャインデックスを用いて予測が行われるスライスである。これに関して、Iスライス(intra slice)は、イントラ予測のみが適用されたスライスである。
また、インターレイヤ参照ピクチャを含む参照ピクチャリストに基づいて現在ブロックに対するインター予測を行う場合に、参照ピクチャリストは、複数のレイヤから誘導された複数のインターレイヤ参照ピクチャを含むことができる。
複数のインターレイヤ参照ピクチャを含む場合に、インターレイヤ参照ピクチャは、参照ピクチャリストL0とL1において交差配置されることもできる。例えば、2つのインターレイヤ参照ピクチャ(Inter-layer reference picture)、インターレイヤ参照ピクチャILRPi及びインターレイヤ参照ピクチャILRPjが現在ブロックのインター予測に使用される参照ピクチャリストに含まれる場合を仮定する。この場合、参照ピクチャリストL0において、ILRPiは現在ピクチャ以前の短期参照ピクチャの後ろに位置し、ILRPjはリストの最後に位置することができる。また、参照ピクチャリストL1において、ILRPiはリストの最後に位置し、ILRPjは現在ピクチャ以後の短期参照ピクチャの後ろに位置することができる。
この場合、参照ピクチャリストL0は、現在ピクチャ以前の短期参照ピクチャ、インターレイヤ参照ピクチャILRPi、現在ピクチャ以後の短期参照ピクチャ、長期参照ピクチャ、インターレイヤ参照ピクチャILRPjの順で構成されることができる。参照ピクチャリストL1は、現在ピクチャ以後の短期参照ピクチャ、インターレイヤ参照ピクチャILRPj、現在ピクチャ以前の短期参照ピクチャ、長期参照ピクチャ、インターレイヤ参照ピクチャILRPiの順で構成されることができる。
また、2つのインターレイヤ参照ピクチャのうち、いずれか一つは、解像度に関するスケーラブルレイヤから誘導したインターレイヤ参照ピクチャであり、他の一つは、異なるビューを提供するレイヤから誘導したインターレイヤ参照ピクチャでもあり得る。この場合、例えば、ILRPiは異なる解像度を提供するレイヤから誘導したインターレイヤ参照ピクチャであり、ILRPjは異なるビューを提供するレイヤから誘導したインターレイヤ参照ピクチャであれば、ビュー(view)を除いたスケーラビリティのみを支援するスケーラブルビデオコーディングの場合、参照ピクチャリストL0は、現在ピクチャ以前の短期参照ピクチャ、インターレイヤ参照ピクチャILRPi、現在ピクチャ以後の短期参照ピクチャ、長期参照ピクチャの順で構成されることができる。参照ピクチャリストL1は、現在ピクチャ以後の短期参照ピクチャ、現在ピクチャ以前の短期参照ピクチャ、長期参照ピクチャ、インターレイヤ参照ピクチャILRPiの順で構成されることができる。
一方、インターレイヤ予測において、インターレイヤ参照ピクチャの情報は、サンプル値のみが用いられてもよく、動き情報(動きベクトル)のみが用いられてもよく、サンプル値と動き情報の両方が用いられてもよい。予測部720-1は、参照ピクチャインデックスがインターレイヤ参照ピクチャを指し示す場合に、符号化装置から受信した情報に応じてインターレイヤ参照ピクチャのサンプル値のみを用いるか、或いはインターレイヤ参照ピクチャの動き情報(動きベクトル)のみを用いるか、或いはインターレイヤ参照ピクチャのサンプル値と動き情報の両方を用いることができる。
インターレイヤ参照ピクチャのサンプル値のみを用いる場合に、予測部720-1は、インターレイヤ参照ピクチャにおいて動きベクトルが特定するブロックのサンプルを現在ブロックの予測サンプルとして誘導することができる。ビュー(view)を考慮しないスケーラブルビデオコーディングの場合に、インターレイヤ参照ピクチャを用いるインター予測(インターレイヤ予測)における動きベクトルは、固定された値(例えば、0)に設定されることができる。
インターレイヤ参照ピクチャの動き情報のみを用いる場合に、予測部720-1は、インターレイヤ参照ピクチャで特定される動きベクトルを、現在ブロックの動きベクトルを誘導するための動きベクトル予測子として用いることができる。また、予測部720-1は、インターレイヤ参照ピクチャで特定される動きベクトルを現在ブロックの動きベクトルとして用いることもできる。
インターレイヤ参照ピクチャのサンプルと動き情報の両方を用いる場合に、予測部720-1は、インターレイヤ参照ピクチャで現在ブロックに対応する領域のサンプルと、インターレイヤ参照ピクチャで特定される動き情報(動きベクトル)を現在ブロックの予測に用いることができる。
符号化装置は、インターレイヤ予測が適用される場合に、参照ピクチャリストにおいてインターレイヤ参照ピクチャを指し示す参照インデックスを復号化装置へ伝送することができ、インターレイヤ参照ピクチャからどの情報(サンプル情報、動き情報、又はサンプル情報と動き情報の両方)を用いるかを特定する情報、すなわち2つのレイヤの間でインターレイヤ予測に関する依存性(dependency)のタイプ(dependency type)を特定する情報も復号化装置へ伝送することができる。
図8は、本開示の実施例が適用でき、マルチレイヤベースのビデオ/画像信号の復号化が行われる復号化装置の概略的なブロック図を示す。図8の復号化装置は、前記図3の復号化装置を含むことができる。図8に示されている再整列部は、省略されるか、或いは逆量子化部に含まれることができる。本図面についての説明では、マルチレイヤベースの予測について重点的に説明する。その他は、前記図3で説明された復号化装置についての説明内容を含むことができる。
また、図8の例では、説明の便宜のために、2つのレイヤからなるマルチレイヤ構造を例として説明する。しかし、本開示の実施例はこれに限定されず、本開示の実施例が適用されるマルチレイヤ構造は2つ以上のレイヤを含むことができることに留意されたい。
図8を参照すると、復号化装置800は、レイヤ1に対する復号化部800-1と、レイヤ0に対する復号化部800-0と、を含むことができる。レイヤ1の復号化部800-1は、エントロピー復号化部810-1、レジデュアル処理部820-1、予測部830-1、加算器840-1、フィルタリング部850-1、メモリ860-1を含むことができる。レイヤ0の復号化部800-0は、エントロピー復号化部810-0、レジデュアル処理部820-0、予測部830-0、加算器840-0、フィルタリング部850-0、メモリ860-0を含むことができる。
符号化装置から画像情報を含むビットストリームが伝送されると、DEMUX805は、レイヤごとに情報をデマルチプレクシングして各レイヤ別の復号化装置へ伝達することができる。
エントロピー復号化部810-1、810-0は、符号化装置で使用したコーディング方式に対応して復号化を行うことができる。例えば、符号化装置でCABACが使用された場合に、エントロピー復号化部810-1、810-0も、CABACを用いてエントロピー復号化を行うことができる。
現在ブロックに対する予測モードがイントラ予測モード(intra prediction)である場合に、予測部830-1、830-0は、現在ピクチャ内の周辺復元サンプルに基づいて現在ブロックに対するイントラ予測を行うことができる。
現在ブロックに対する予測モードがインター予測(inter prediction)モードである場合に、予測部830-1、830-0は、現在ピクチャの以前ピクチャ又は以後ピクチャのうちの少なくとも1つのピクチャに含まれている情報に基づいて、現在ブロックに対するインター予測を行うことができる。インター予測に必要な動き情報の一部又は全部は、符号化装置から受信した情報を確認し、それに対応して誘導されることができる。
インター予測のモードとしてスキップモードが適用される場合には、符号化装置からレジデュアルが伝送されず、予測ブロックを復元ブロックとすることができる。
一方、レイヤ1の予測部830-1は、レイヤ1内の情報のみを用いてインター予測又はイントラ予測を行ってもよく、他のレイヤ(レイヤ0)の情報を用いてインターレイヤ予測を行ってもよい。
他のレイヤの情報を用いて予測される(例えば、インターレイヤ予測によって予測される)現在レイヤの情報としては、テクスチャ、動き情報、ユニット情報、所定のパラメータ(例えば、フィルタリングパラメータなど)のうちの少なくとも1つであり得る。
また、現在レイヤに対する予測に用いられる(例えば、インターレイヤ予測に用いられる)他のレイヤの情報としては、テクスチャ、動き情報、ユニット情報、所定のパラメータ(例えば、フィルタリングパラメータなど)のうちの少なくとも一つであり得る。
インターレイヤ予測において、現在ブロックは、現在レイヤ(例えば、レイヤ1)内の現在ピクチャ内のブロックであって、復号化対象ブロックであり得る。参照ブロックは、現在ブロックの予測に参照されるレイヤ(参照レイヤ、例えば、レイヤ0)における、現在ブロックの属するピクチャ(現在ピクチャ)と同じアクセスユニット(AU:access Unit)に属するピクチャ(参照ピクチャ)内のブロックであって、現在ブロックに対応するブロックであり得る。
マルチレイヤ復号化装置800は、先立ってマルチレイヤ符号化装置700で説明したようにインターレイヤ予測を行うことができる。例えば、マルチレイヤ復号化装置800は、先立ってマルチレイヤ符号化装置700で説明したように、インターレイヤテクスチャ予測、インターレイヤ動き予測、インターレイヤユニット情報予測、インターレイヤパラメータ予測、インターレイヤレジデュアル予測、インターレイヤ差分予測、インターレイヤシンタックス予測などを行うことができ、本開示で適用することが可能なインターレイヤ予測は、これらに限定されない。
予測部830-1は、符号化装置から受信した参照ピクチャインデックス或いは周辺ブロックから誘導した参照ピクチャインデックスが参照ピクチャリスト内でインターレイヤ参照ピクチャを指し示す場合に、インターレイヤ参照ピクチャを用いたインターレイヤ予測を行うことができる。例えば、予測部830-1は、参照ピクチャインデックスがインターレイヤ参照ピクチャを指し示す場合に、インターレイヤ参照ピクチャにおいて動きベクトルによって特定される領域のサンプル値を現在ブロックに対する予測ブロックとして誘導することができる。
この場合、インターレイヤ参照ピクチャは、現在ブロックに対する参照ピクチャリストに含まれることができる。予測部830-1は、インターレイヤ参照ピクチャを用いて現在ブロックに対するインター予測を行うことができる。
ここで、先立ってマルチレイヤ符号化装置700で説明したように、マルチレイヤ復号化装置800の動作において、インターレイヤ参照ピクチャは、参照レイヤの復元されたピクチャを現在レイヤに対応するようにサンプリングして構成された参照ピクチャであり得る。参照レイヤの復元されたピクチャが現在レイヤのピクチャに対応する場合に対する処理も、符号化過程での処理と同様に行われることができる。
また、先立ってマルチレイヤ符号化装置700で説明したように、マルチレイヤ復号化装置800の動作において、インターレイヤ参照ピクチャが誘導される参照レイヤの復元ピクチャは、符号化対象である現在ピクチャと同じAUに属するピクチャであり得る。
また、先立ってマルチレイヤ符号化装置700で説明したように、マルチレイヤ復号化装置800の動作において、インターレイヤ参照ピクチャを参照ピクチャリストに含めて、現在ブロックに対するインター予測を行う場合に、インターレイヤ参照ピクチャの参照ピクチャリスト内の位置は、参照ピクチャリストL0とL1で互いに異なり得る。
また、先立ってマルチレイヤ符号化装置700で説明したように、マルチレイヤ復号化装置800の動作において、インターレイヤ参照ピクチャを含む参照ピクチャリストに基づいて現在ブロックに対するインター予測を行う場合に、参照ピクチャリストは、複数のレイヤから誘導された複数のインターレイヤ参照ピクチャを含むことができ、インターレイヤ参照ピクチャの配置も、先立って符号化過程で説明したのと対応するように行われることができる。
また、先立ってマルチレイヤ符号化装置700で説明したように、マルチレイヤ復号化装置800の動作において、インターレイヤ参照ピクチャの情報は、サンプル値のみ用いられてもよく、動き情報(動きベクトル)のみ用いられてもよく、サンプル値と動き情報の両方が用いられてもよい。
マルチレイヤ復号化装置800は、参照ピクチャリストにおいてインターレイヤ参照ピクチャを指し示す参照インデックスをマルチレイヤ符号化装置700から受信し、それに基づいてインターレイヤ予測を行うことができる。また、マルチレイヤ復号化装置800は、インターレイヤ参照ピクチャからどの情報(サンプル情報、動き情報、又はサンプル情報と動き情報の両方)を用いるかを指し示す情報、すなわち2つのレイヤの間でインターレイヤ予測に関する依存性(dependency)のタイプ(dependency type)を特定する情報も、マルチレイヤ符号化装置700から受信することができる。
図9及び図10を参照して、一実施例によるマルチレイヤ画像符号化装置及びマルチレイヤ画像復号化装置によって行われる画像符号化方法及び復号化方法について説明する。以下の説明の便宜のために、マルチレイヤ画像符号化装置を画像符号化装置と略記する。また、マルチレイヤ画像復号化装置を画像復号化装置と略記する。
図9は、一実施例による画像符号化装置がマルチレイヤに基づいて画像を符号化する方法を説明する図である。一実施例による符号化装置は、第1レイヤのピクチャを符号化することができる(S910)。次に、符号化装置は、第1レイヤに基づいて第2レイヤのピクチャを符号化することができる(S920)。次に、符号化装置は、(マルチレイヤに対する)ビットストリームを出力することができる(S930)。
図10は、一実施例による画像復号化装置がマルチレイヤに基づいて画像を復号化する方法を説明する図である。一実施例による復号化装置は、ビットストリームからビデオ/画像情報を取得することができる(S1010)。次に、復号化装置は、ビデオ/画像情報に基づいて第1レイヤのピクチャを復号化することができる(S1020)。次に、復号化装置は、ビデオ/画像情報及び第1レイヤに基づいて第2レイヤのピクチャを復号化することができる(S1030)。
一実施例において、ビデオ/画像情報は、後述するようなHLS(High levle syntax)を含むことができる。一実施例において、HLSは、本開示で開示されるようなSPS及び/又はPPSを含むことができる。例えば、ビデオ/画像情報は、本開示で説明される情報及び/又はシンタックス要素を含むことができる。本開示で説明されるように、第2レイヤのピクチャは、第1レイヤのピクチャの動き情報/復元サンプル/パラメータに基づいて符号化されていてもよい。一実施例において、第1レイヤは、第2レイヤよりも低いレイヤであり得る。一実施例において、第2レイヤが現在レイヤである場合、第1レイヤは参照レイヤとして参照されることができる。
HLS(High level syntax)シグナリング及びセマンティクス
前述したように、HLSは、ビデオ及び/又は画像符号化のために符号化及び/又はシグナリングされることができる。前述したように、本開示におけるビデオ/画像情報はHLSに含まれることができる。そして、画像/ビデオ符号化方法は、このような画像/ビデオ情報に基づいて行われることができる。
Video Parameter Set signaling
ビデオパラメータセット(Video parameter set、VPS)は、階層情報の伝送のために用いられるパラメータセットである。前記階層情報は、例えば、出力レイヤセット(output layer set、OLS)に関する情報、プロファイルディアレベル(profile tier level)に関する情報、OLSと仮想参照デコーダ(hypothetical reference decoder)との関係に関する情報、OLSとDPBとの関係に関する情報などを含むことができる。
VPS RBSP(raw byte sequence payload)は、参照される前に、TemporalIDが0である少なくとも1つのアクセスユニット(Access Unit、AU)に含まれるか、或いは外部手段を介して提供されることにより、復号化プロセスに利用可能でなければならない。CVS内で特定の値のvps_video_parameter_set_idを有する全てのVPS NALユニットは、同じコンテンツを持たなければならない。
図11は、一実施例によるVPSのシンタックスの一部を示す図である。ビデオパラメータセット(Video parameterset、VPS)は、階層情報の伝送のために使用されるパラメータセットである。以下、図11を参照して、VPSを介してシグナリングできるシンタックス要素を説明する。
vps_video_parameter_set_idは、VPSに対する識別子を提供する。他のシンタックス要素は、vps_video_parameter_set_idを用いてVPSを参照することができる。vps_video_parameter_set_idの値は、0より大きくなければならない。
vps_max_layers_minus1は、VPSを参照する個別CVS(coded video sequence)に存在するレイヤの最大許容個数を示すことができる。例えば、vps_max_layers_minus1に1を加えた値は、VPSを参照する個別CVSに存在するレイヤの最大許容個数を示すことができる。
vps_max_sublayers_minus1に1を加えた値は、前記VPSを参照する個別CVSにおけるレイヤに存在しうる時間的サブレイヤの最大個数を示すことができる。
vps_all_layers_same_num_sublayers_flagの値1は、時間的サブレイヤの個数が、前記VPSを参照する個別CVSにおける全てのレイヤにおいて同一であることを示すことができる。vps_all_layers_same_num_sublayers_flagの値0は、時間的サブレイヤの個数が、前記VPSを参照する個別CVSにおけるレイヤで同一でもよく、同一でなくてもよいことを示すことができる。vps_all_layers_same_num_sublayers_flagの値がビットストリームから提供されない場合、vps_all_layers_same_num_sublayers_flagの値は1に誘導されることができる。
vps_all_independent_layers_flagの値1は、CVSに属する全てのレイヤがインターレイヤ予測を用いず、独立して符号化されたことを示すことができる。vps_all_independent_layers_flagの値0は、CVSに属する少なくとも1つのレイヤがインターレイヤ予測を用いて符号化されたことを示すことができる。
vps_layer_id[i]は、i番目のレイヤのnuh_layer_idの値を示すことができる。任意の2つの負数でない整数値m及びnに対して、mがnより小さい場合、vps_layer_id[m]はvps_layer_id[n]より小さい値を有するように制限されることができる。ここで、nuh_layer_idは、NALユニットヘッダーでシグナリングされるシンタックス要素であって、NALユニットの識別子を示すことができる。
vps_independent_layer_flag[i]の値1は、インデックスiに対応するレイヤにはインターレイヤ予測が適用されないことを示すことができる。vps_independent_layer_flag[i]の値0は、インデックスiに対応するレイヤにはインターレイヤ予測が適用でき、シンタックス要素vps_direct_ref_layer_flag[i][j]がVPSから取得されることを示すことができる。ここで、jは、0からi-1までの値を有することができる。一方、vps_independent_layer_flag[i]の値がビットストリームに存在しない場合、その値は1に誘導されることができる。
vps_direct_ref_layer_flag[i][j]の値0は、インデックスjを有するレイヤが、インデックスiを有するレイヤの直接参照レイヤではないことを示すことができる。vps_direct_ref_layer_flag[i][j]の値1は、インデックスjを有するレイヤが、インデックスiを有するレイヤの直接参照レイヤであることを示すことができる。0からvps_max_layers_minus1までの値の範囲を有するi及びjに対して、vps_direct_ref_layer_flag[i][j]の値がビットストリームから取得されなければ、その値は0に誘導されることができる。vps_independent_layer_flag[i]の値が0であれば、vps_direct_ref_layer_flag[i][j]の値が1となるようにする少なくとも1つのjが存在する可能性があり、このとき、jの値の範囲は、0からi-1までの値の範囲を有することができる。
一実施例において、変数NumDirectRefLayers[i]、DirectRefLayerIdx[i][d]、NumRefLayers[i]、RefLayerIdx[i][r]、及びLayerUsedAsRefLayerFlagd[j]は、図12の擬似コードを用いて誘導されることができる。
変数GeneralLayerIdx[i]は、nuh_layer_idの値がvps_layer_id[i]と等しいレイヤのレイヤインデックスを示し、下記数式のように誘導されることができる。
[数式1]
for(i=0;i<=vps_max_layers_minus1;i++)
GeneralLayerIdx[vps_layer_id[i]]=i
Sequence parameter set signaling
図13は、一実施例に係るSPSのシンタックスの一部を示す図である。シーケンスパラメータセット(Sequence parameter set、SEPS)は、ビデオシーケンスを符号化する情報の伝送のために使用されるパラメータセットである。全てのSPS RBSPは、復号化過程で参照される以前に利用可能であるように制限されることができる。これは、TemporalIdが0である少なくとも1つのAUに含まれるか、或いは外部機器を介して提供されることができる。
以下、図13を参照して、SPSを介してシグナリングできるシンタックス要素について説明する。
シンタックス要素sps_seq_parameter_set_idは、他のシンタックス要素からの参照のためのSPSの識別子を提供する。nuh_layer_id値を問わず、SPS NALユニットは、sps_seq_parameter_set_idの同じ値空間を共有することができる。
特定のSPS NALユニットのnuh_layer_idの値がspsLayerIdであり、特定のVCL NALユニットのnuh_layer_idの値がvclLayerIdであると仮定することができる。このような場合、spsLayerIdの値がvclLayerIdの値以下の値であり、spsLayerIdと同じ値を有するnuh_layer_idを有するレイヤは、vclLayerIdと同じ値を有するnuh_layer_idを有するレイヤを含む少なくとも1つの出力レイヤセットに含まれない限り、特定のVCL NALユニットは、特定のSPS NALユニットを参照しないように制限できる。
sps_video_parameter_set_idの値が0より大きければ、シンタックス要素sps_video_parameter_set_idは、SPSによって参照されるVPSに対するvps_video_parameter_set_idの値を示すことができる。
sps_video_parameter_set_idの値が0であれば、以下が適用できる。
-当該SPSは、VPSを参照しない。
-当該SPSを参照する個別CLVSを復号化する過程で、如何なるVPSも参照されない。
-vps_max_layers_minus1の値は、0に誘導される。
-CVSは、1つのレイヤのみを含む。例えば、CVSに属する全てのVCL NALユニットは、同じnuh_layer_id値を有するように制限されることができる。
-GeneralLayerIdx[nuh_layer_id]の値は、0に誘導されることができる。
-vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]の値は、1に誘導されることができる。
vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]の値が1であれば、nuh_layer_idの値としてnuhLayerIdを有するCLVSによって参照される当該SPSは、nuhLayerIdと同じnuh_layer_idを有するように制限されることができる。
sps_video_parameter_set_idの値は、CVSにおいてCLVSによって参照される全てのSPSで同一に設定されることができる。
res_change_in_clvs_allowed_flagの値1は、SPSを参照するCLVS内のピクチャ解像度が変更できることを示すことができる。res_change_in_clvs_allowed_flagの値0は、SPSを参照する如何なるCLVS内のピクチャ解像度も変更できないことを示すことができる。
pic_width_max_in_luma_samplesは、SPSを参照する個別復号化ピクチャの最大幅をルマサンプル単位で表すことができる。pic_width_max_in_luma_samplesは、0の値を有することができず、max(8、MinCbSizeY)の整数倍の値を有することができる。
sps_video_parameter_set_idの値が0より大きければ、ビットストリーム適合性のために、SPSを参照する少なくとも1つのレイヤを含む全てのOLSに対して、当該OLSのOLSインデックスiがiである場合、pic_width_max_in_luma_samplesの値は、ols_dpb_pic_width[i]以下の値に制限されることができる。
pic_height_max_in_luma_samplesは、SPSを参照する個別復号化ピクチャの最大高さをルマサンプル単位で表すことができる。pic_height_max_in_luma_samplesは、0の値を有することができず、max(8、MinCbSizeY)の整数倍の値を有することができる。
sps_video_parameter_set_idの値が0より大きければ、ビットストリーム適合性のために、SPSを参照する少なくとも1つのレイヤを含む全てのOLSに対して、当該OLSのOLSインデックスiがiである場合、pic_height_max_in_luma_samplesの値は、ols_dpb_pic_width[i]以下の値に制限されることができる。
Picture parameter set signaling
図14は、一実施例によるPPSのシンタックスの一部を示す図である。ピクチャパラメータセット(Picture parameter set、SPS)は、ピクチャを符号化する情報の伝送のために使用されるパラメータセットである。PPS RBSPは、復号化過程で参照される以前に利用できるように制限されてもよい。これは、PPS NALユニットのTemporalId値以下のTemporalIdを有する少なくとも1つのAUに含まれることができ、外部機器を介して提供されることもできる。
以下、図14を参照して、PPSを介してシグナリングできるシンタックス要素について説明する。シンタックス要素pps_pic_parameter_set_idは、他のシンタックス要素によって参照されるためのPPSを表すことができる。pps_pic_parameter_set_idの値は、0から63までの値を有することができる。nuh_layer_idの値に関係なく、PPS NALユニットはpps_pic_parameter_set_idの同じ値空間を共有することができる。
特定のPPS NALユニットのnuh_layer_idの値がppsLayerIdであり、特定のVCL NALユニットのnuh_layer_idの値がvclLayerIdであると仮定することができる。このような場合、ppsLayerIdの値がvclLayerIdの値以下の値であり、ppsLayerIdと同じ値を有するnuh_layer_idを有するレイヤは、vclLayerIdと同じ値を有するnuh_layer_idを有するレイヤを含む少なくとも1つの出力レイヤセットに含まれない限り、特定のVCL NALユニットは、特定のPPS NALユニットを参照しないように制限されることができる。
pps_seq_parameter_set_idは、SPSに対するsps_seq_parameter_set_idの値を表す。pps_seq_parameter_set_idの値は、0から15までの値の範囲を有することができる。pps_seq_parameter_set_idの値は、CLVSで符号化されたピクチャによって参照される全てのPPSで同じ値を有することができる。
pic_width_in_luma_samplesは、ルマサンプル単位でPPSを参照する個別復号化ピクチャの幅を表すことができる。pic_width_in_luma_samplesは、0の値を有せず、Max(8、MinCbSizeY)の整数倍の値を有し、pic_width_max_in_luma_samples以下の値を有するように制限されることができる。ここで、Max(8、MinCbSizeY)は、8とMinCbSizeYのうちの大きい値を表し、MinCbSizeYは、ルマサンプル単位で利用可能な最小コーディングブロックのサイズを表す。
res_change_in_clvs_allowed_flagの値が0であれば、pic_width_in_luma_samplesの値は、pic_width_max_in_luma_samplesと同じ値を有するように制限されることができる。
sps_ref_wraparound_enabled_flagの値が1であれば、(CtbSizeY/Min_CbSizeY+1)の値は、(pic_width_in_luma_samples/MinCbSizeY-1)の値以下の値を有するように制限されることができる。
pic_height_in_luma_samplesは、ルマサンプル単位でPPSを参照する個別復号化ピクチャの高さを表すことができる。pic_height_in_luma_samplesは、0の値を有せず、Max(8、MinCbSizeY)の整数倍の値を有し、pic_height_max_in_luma_samples以下の値を有するように制限されることができる。
res_change_in_clvs_allowed_flagの値が0であれば、pic_height_in_luma_samplesの値は、pic_height_max_in_luma_samplesと同じ値を有するように制限されることができる。
ルマサンプル単位のコーディングツリーブロック単位でルマサンプル単位のピクチャの幅を表す変数PicWidthInCtbsY、ルマサンプル単位のコーディングツリーブロック単位でルマサンプル単位のピクチャの高さを表す変数PicHeightInCtbsY、ルマサンプル単位のコーディングツリーブロック単位でルマサンプル単位のピクチャのサイズを表す変数PicSizeInCtbsY、ルマサンプル単位の最小コーディングブロック単位でルマサンプル単位のピクチャの幅を表す変数PicWidthInMinCbsY、ルマサンプル単位の最小コーディングブロック単位でルマサンプル単位のピクチャの高さを表す変数PicHeightInMinCbsY、ルマサンプル単位の最小コーディングブロック単位でルマサンプル単位のピクチャのサイズを表す変数PicSizeInMinCbsY、ルマサンプル単位でピクチャのサイズを表すPicSizeInSamplesY、クロマサンプル単位でピクチャの幅を表す変数PicWidthInampleC、及びクロマサンプル単位でピクチャの高さを表す変数PicHeightInSamplesCは、下記数式のように誘導されることができる。
[数式2]
PicWidthInCtbsY=Ceil(pic_width_in_luma_samples÷CtbSizeY)
PicHeightInCtbsY=Ceil(pic_height_in_luma_samples÷CtbSizeY)
PicSizeInCtbsY=PicWidthInCtbsY*PicHeightInCtbsY
PicWidthInMinCbsY=pic_width_in_luma_samples/MinCbSizeY
PicHeightInMinCbsY=pic_height_in_luma_samples/MinCbSizeY
PicSizeInMinCbsY=PicWidthInMinCbsY*PicHeightInMinCbsY
PicSizeInSamplesY=pic_width_in_luma_samples*pic_height_in_luma_samples
PicWidthInSamplesC=pic_width_in_luma_samples/SubWidthC
PicHeightInSamplesC=pic_height_in_luma_samples/SubHeightC
上記の数式において、Ceil()は床関数である。CtbSizeYは、コーディングツリーブロックのサイズをルマサンプル単位で表し、ビットストリームから取得できる。MinCbSizeYは、最小コーディングブロックのサイズをルマサンプル単位で表し、ビットストリームから取得できる。SubWidthCは、ルマブロックとクロマブロックとの比率の差を表し、ルマブロックがクロマブロックより大きい比率を整数倍数で表すことができ、ビットストリームから取得できる。
Adaptation parameter set signaling
図15は、一実施例によるAPSのシンタックスの一部を示す図である。適応パラメータセット(Adaptation parameter set、APS)は、ピクチャを符号化する情報の伝送のために使用されるパラメータセットである。以下、図15を参照して、APSを介してシグナリングできるシンタックス要素について説明する。
個別APS RBSPは、参照される以前に先に復号化されることができ、これを参照する符号化スライスNALユニットのTempralId値以下の値を有するTemporalIdを有する少なくとも1つのAUに属するか、或いは外部手段を介して提供されることができる。
adaptation_parameter_set_idは、他のシンタックス要素から参照されるためのAPSの識別子を提供することができる。
aps_params_typeの値がALF_APS又はSCALING_APSと同じである場合、adaption_parameter_set_idの値は、0から7までの値を有することができる。
aps_params_typeの値がLMCS_APSと同じである場合、adaption_parameter_set_idの値は、0から3までの値を有することができる。
特定のAPS NALユニットのnuh_layer_idの値がapsLayerIdであり、特定のVCL NALユニットのnuh_layer_idの値がvclLayerIdであると仮定することができる。このような場合、apsLayerIdの値がvclLayerIdの値以下の値であり、apsLayerIdと同じ値を有するnuh_layer_idを有するレイヤは、vclLayerIdと同じ値を有するnuh_layer_idを有するレイヤを含む少なくとも1つの出力レイヤセットに含まれない限り、特定のVCL NALユニットは、特定のAPS NALユニットを参照しないように制限されることができる。
aps_params_typeは、下記表に示すように、APSによって伝達されるAPSパラメータのタイプを表すことができる。
パラメータ参照問題 前述した実施例によれば、次の問題点が発生する可能性がある。
問題点1.layerBがlayerAの直接又は間接参照レイヤでない場合でも、所定のレイヤであるlayerAに属するピクチャは、他のレイヤであるlayerBに属するパラメータを参照することが許容されることができる。このような場合、レイヤ間参照が存在しない場合でも、パラメータ参照が発生するため、意図せぬ値のパラメータ参照結果が取得されるという問題が発生する可能性がある。
問題点2.シングルレイヤビットストリームに対して、VPSが提供されるべきであるのが必須的ではない可能性がある。しかし、このような場合でも、VPSの所定の情報は、vps_layer_id[0]を用いることにより参照されることができる。このような値は、VPSが提供されなくても、復号化装置が誤った値を使用することを回避するために誘導される必要がある。
問題点3.参照されるパラメータセットが、それを参照するピクチャのnuh_layer_idより低いnuh_layer_idを有するように、一実施例では、SPS及びPPSなどのパラメータセットがレイヤを横切って共有されることができる。しかし、以下の制限が適用される場合、参照ピクチャリサンプリングが許容されず、互いに異なるレイヤでピクチャの解像度が異なるマルチレイヤビットストリームに対して上述のパラメータセットの共有は正常に動作しない可能性がある。
-res_change_in_clvs_allowed_flagの値が0であれば、pic_width_in_luma_samplesの値は、pic_width_max_in_luma_samplesに等しく制限される。
-res_change_in_clvs_allowed_flagの値が0であれば、pic_height_in_luma_samplesの値は、pic_height_max_in_luma_samplesに等しく制限される。
改善方案
以下の実施例は、上述した問題に対する改善方案を提供する。以下の個別実施例は、それぞれ実施されてもよく、少なくとも一部が併合されて実施されてもよい。
問題点1及び2に関して、上述した実施例は、次のように改善されることができる。
改善方案1.layerAと同じnuh_layer_idを有するピクチャが、layerBと同じnuh_layer_idを有するパラメータセットを参照し、layerAとlayerBが同じでなければ、layerBは、layerAの直接又は間接参照レイヤとなるように強制できる。
改善方案2.layerAと同じnuh_layer_idを有するピクチャが、layerBと同じnuh_layer_idを有するパラメータセットを参照し、layerAとlayerBが同じでなければ、現在OLS(例えば、現在復号化されているOLS)は、layerA及びlayerBを含むように強制できる。
改善方案3.代替的に、layerAと同じnuh_layer_idを有するピクチャが、layerBと同じnuh_layer_idを有するパラメータセットを参照し、layerAとlayerBが同じでなければ、layerAを含む個別OLSは、それぞれlayerBを一緒に含むように強制できる。
改善方案4.VPSが提供されない場合(例えば、sps_video_parameter_set_idの値が0である場合)、vps_layer_id[0]の値は、SPSを含むNALユニットのnuh_layer_idと同じ値に誘導されるように制限できる。
改善方案5.代替的に、VPSが提供されない場合(例えば、sps_video_parameter_set_idの値が0である場合)、vps_layer_id[0]の値は、0に誘導されるように制限できる。
問題点1及び3を改善するために、以下の改善方案が適用できる。後述する改善方案は、単独で又は互いに組み合わせられて使用できる。
改善方案6.RPR(reference picture resampling)が可能でない場合、CLVS内の全てのピクチャのサイズは同一に制限できる。例えば、RPRが可能でない場合、同じSPSを参照する全てのPPSでシグナリングされるピクチャサイズ(例えば、pic_width_in_luma_samples及びpic_height_in_luma_samples)は、同じ値を有するように制限できる。
改善方案7.以下の条件が全て真(true)である場合、参照SPSでシグナリングされる最大ピクチャサイズ(例えば、pic_width_max_in_luma_samples及びpic_height_max_in_luma_samples)と同じ値に、シグナリングされるピクチャサイズが制限できる。
-RPRが利用可能でない。
-PPS及びそれで参照されるSPSの全てのnuh_layer_idが同じ値である。
-レイヤが独立して符号化されたレイヤである。例えば、vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]の値が1である場合
改善方案8.layerAと同じnuh_layer_idを有するピクチャが、layerBと同じnuh_layer_idを有するパラメータセットを参照し、layerAがlayerBと同じでない場合、layerBはlayerAの直接又は間接参照レイヤとなるように強制できる。
実施例1
前述した改善方案1の実現のための一実施例として、以下の方案が適用できる。
i番目のインデックスを有するレイヤの直接参照レイヤの個数を表す変数NumDirectRefLayers[i]、i番目のインデックスを有するレイヤの直接参照レイヤを0からNumDirectRefLayers[i]までの値を有するインデックスdで表す変数DirectRefLayerIdx[i][d]、i番目のインデックスを有するレイヤの直接参照レイヤと間接参照レイヤの個数を表す変数NumRefLayers[i]、i番目のインデックスを有するレイヤの直接参照レイヤと間接参照レイヤを0からNumRefLayers[i]までの値を有するインデックスrで表す変数RefLayerIdx[i][r]、インデックスiを有するレイヤがインデックスjを有するレイヤを直接又は間接参照するかを表す変数DependencyFlag[i][j]、及びインデックスjを有するレイヤが他のレイヤから参照されるかを表す変数LayerUsedAsRefLayerFlag[j]は、図16のように誘導できる。
そして、前述したシンタックス要素sps_seq_parameter_set_idに関する<SPS制限1>は、<SPS制限2>のように置き換えられて適用できる。
<SPS制限1>
特定のSPS NALユニットのnuh_layer_idの値がspsLayerIdであり、特定のVCL NALユニットのnuh_layer_idの値がvclLayerIdであると仮定することができる。このような場合、spsLayerIdの値がvclLayerIdの値以下の値であり、spsLayerIdと同じ値を有するnuh_layer_idを有するレイヤは、vclLayerIdと同じ値を有するnuh_layer_idを有するレイヤを含む少なくとも1つの出力レイヤセットに含まれない限り、特定のVCL NALユニットは、特定のSPS NALユニットを参照しないように制限できる。
<SPS制限2>
所定のSPS NALユニットのnuh_layer_idの値をspsLayerIdと仮定し、所定のVCL NALユニットのnuh_layer_idの値をvclLayerIdと仮定することができる。以下の条件が全て満たされない場合、所定のVCL NALユニットは、所定のSPS NALユニットを参照しないように制限できる。
-spsLayerIdの値がvclLayerIdの値以下の値を有する。
-spsLayerIdと同じ値のnuh_layer_idを有するレイヤが、vclLayerIdと同じ値のnuh_layer_idを有するレイヤを含む少なくとも1つのOLSに含まれている。
-DependencyFlag[vclLayerId][spsLayerId]の値が1である
そして、前述したシンタックス要素pps_pic_parameter_set_idに関する<PPS制限1>は、<PPS制限2>のように置き換えられて適用できる。
<PPS制限1>
特定のPPS NALユニットのnuh_layer_idの値がppsLayerIdであり、特定のVCL NALユニットのnuh_layer_idの値がvclLayerIdであると仮定することができる。このような場合、ppsLayerIdの値がvclLayerIdの値以下の値であり、ppsLayerIdと同じ値を有するnuh_layer_idを有するレイヤは、vclLayerIdと同じ値を有するnuh_layer_idを有するレイヤを含む少なくとも1つの出力レイヤセットに含まれない限り、特定のVCL NALユニットは、特定のPPS NALユニットを参照しないように制限できる。
<PPS制限2>
特定のPPS NALユニットのnuh_layer_idの値がppsLayerIdの値であり、特定のVCL NALユニットのnuh_layer_idの値がvclLayerIdであると仮定することができる。このような場合、以下の全ての条件が満たされない限り、特定のVCL NALユニットは、特定のPPS NALユニットを参照しないように制限できる。
-ppsLayerIdの値がvclLayerIdの値以下の値を有する。
-ppsLayerIdと同じ値のnuh_layer_idを有するレイヤが、vclLayerIdと同じ値のnuh_layer_idを有するレイヤを含む少なくとも1つのOLSに含まれている。
-DependencyFlag[vclLayerId][ppsLayerId]の値が1である。
本実施例で説明されているように、SPSとPPSに対する制限を置き換えて行うことにより、layerAと同じnuh_layer_idを有するピクチャが、layerBと同じnuh_layer_idを有するパラメータセットを参照し、layerAとlayerBが同じでなければ、layerBは、layerAの直接又は間接参照レイヤとなるように強制できる。これにより、前述した問題点1及び2が解消できる。
実施例2
前述した改善方案1の実現のための別の一実施例として、以下の方案が適用できる。
まず、実施例1で説明しているように、変数NumDirectRefLayers[i]、DirectRefLayerIdx[i][d]、NumRefLayers[i]、RefLayerIdx[i][r]、DependencyFlag[i][j]、及びLayerUsedAsRefLayerFlag[j]は、図16のように誘導されることができる。
そして、前述したシンタックス要素sps_seq_parameter_set_idに関する<SPS制限1>は、<SPS制限3>のように置き換えられて適用できる。
<SPS制限3>
所定のSPS NALユニットのnuh_layer_idの値をspsLayerIdと仮定し、所定のVCL NALユニットのnuh_layer_idの値をvclLayerIdと仮定することができる。以下の条件が全て満たされない場合、所定のVCL NALユニットは、所定のSPS NALユニットを参照しないように制限できる。
-spsLayerIdの値がvclLayerIdの値と同じである。
-DependencyFlag[vclLayerId][spsLayerId]の値が1である。
そして、前述したシンタックス要素pps_pic_parameter_set_idに関する<PPS制限1>は、<PPS制限3>のように置き換えられて適用できる。
<PPS制限3>
特定のPPS NALユニットのnuh_layer_idの値がppsLayerIdの値であり、特定のVCL NALユニットのnuh_layer_idの値がvclLayerIdであると仮定することができる。このような場合、以下の全ての条件が満たされない限り、特定のVCL NALユニットは、特定のPPS NALユニットを参照しないように制限できる。
-ppsLayerIdの値がvclLayerIdの値と同じである。
-DependencyFlag[vclLayerId][ppsLayerId]の値が1である。
そして、前述したシンタックス要素adaption_parameter_set_idに関する<APS制限1>は、<APS制限2>のように置き換えられて適用できる。
<APS制限1>
特定のAPS NALユニットのnuh_layer_idの値がapsLayerIdであり、特定のVCL NALユニットのnuh_layer_idの値がvclLayerIdであると仮定することができる。このような場合、apsLayerIdの値がvclLayerIdの値以下の値であり、apsLayerIdと同じ値を有するnuh_layer_idを有するレイヤは、vclLayerIdと同じ値を有するnuh_layer_idを有するレイヤを含む少なくとも1つの出力レイヤセットに含まれない限り、特定のVCL NALユニットは、特定のAPS NALユニットを参照しないように制限できる。
<APS制限2>
特定のAPS NALユニットのnuh_layer_idの値がapsLayerIdの値であり、特定のVCL NALユニットのnuh_layer_idの値がvclLayerIdであると仮定することができる。このような場合、以下の全ての条件が満たされない限り、特定のVCL NALユニットは、特定のAPS NALユニットを参照しないように制限できる。
-apsLayerIdの値がvclLayerIdの値と同じである。
-DependencyFlag[vclLayerId][apsLayerId]の値が1である。
本実施例で説明されているようにSPS、PPS及びAPSに対する制限を交替して行うことにより、layerAと同じnuh_layer_idを有するピクチャが、layerBと同じnuh_layer_idを有するパラメータセットを参照し、layerAとlayerBが同一でなければ、layerBは、layerAの直接又は間接参照レイヤとなるように強制できる。これにより、前述した問題点1及び2が解消できる。
実施例3
前述した改善方案2及び3の実現のための一実施例として、以下の方案が適用できる。例えば、前述したシンタックス要素sps_seq_parameter_set_idに関する<SPS制限1>は、<SPS制限4>又は<SPS制限5>のように置き換えられて適用できる。
<SPS制限4>
所定のSPS NALユニットのnuh_layer_idの値をspsLayerIdと仮定し、所定のVCL NALユニットのnuh_layer_idの値をvclLayerIdと仮定することができる。以下の条件が全て満たされない場合、所定のVCL NALユニットは、所定のSPS NALユニットを参照しないように制限できる。
-spsLayerIdの値がvclLayerIdの値以下の値を有する。
-現在復号化されているOLSは、spsLayerIdと同じ値のnuh_layer_idを有するレイヤと、vclLayerIdと同じ値のnuh_layer_idを有するレイヤを含む。
<SPS制限5>
所定のSPS NALユニットのnuh_layer_idの値をspsLayerIdと仮定し、所定のVCL NALユニットのnuh_layer_idの値をvclLayerIdと仮定することができる。以下の条件が全て満たされない場合、所定のVCL NALユニットは、所定のSPS NALユニットを参照しないように制限できる。
-spsLayerIdの値がvclLayerIdの値以下の値を有する。
-vclLayerIdと同じ値のnuh_layer_idを有するレイヤを含むVPSに指定された個別OLSに対して、前記OLSは、spsLayerIdと同じ値のnuh_layer_idを有するレイヤを含む。
そして、前述したシンタックス要素pps_pic_parameter_set_idに関する<PPS制限1>は、<PPS制限4>又は<PPS制限5>のように置き換えられて適用できる。
<PPS制限4>
特定のPPS NALユニットのnuh_layer_idの値がppsLayerIdの値であり、特定のVCL NALユニットのnuh_layer_idの値がvclLayerIdであると仮定することができる。このような場合、以下の全ての条件が満たされない限り、特定のVCL NALユニットは、特定のPPS NALユニットを参照しないように制限できる。
-ppsLayerIdの値がvclLayerIdの値以下の値を有する。
-現在復号化されているOLSは、ppsLayerIdと同じ値のnuh_layer_idを有するレイヤと、vclLayerIdと同じ値のnuh_layer_idを有するレイヤを含む。
<PPS制限5>
特定のPPS NALユニットのnuh_layer_idの値がppsLayerIdの値であり、特定のVCL NALユニットのnuh_layer_idの値がvclLayerIdであると仮定することができる。このような場合、以下の全ての条件が満たされない限り、特定のVCL NALユニットは、特定のPPS NALユニットを参照しないように制限できる。
-ppsLayerIdの値がvclLayerIdの値以下の値を有する。
-vclLayerIdと同じ値のnuh_layer_idを有するレイヤを含むVPSに指定された個別OLSに対して、前記OLSは、ppsLayerIdと同じ値のnuh_layer_idを持つレイヤを含む。
そして、前述したシンタックス要素adaption_parameter_set_idに関する<APS制限1>は、<APS制限3>又は<APS制限4>のように置き換えられて適用できる。
<APS制限3>
特定のAPS NALユニットのnuh_layer_idの値がapsLayerIdの値であり、特定のVCL NALユニットのnuh_layer_idの値がvclLayerIdであると仮定することができる。このような場合、以下の全ての条件が満たされない限り、特定のVCL NALユニットは、特定のAPS NALユニットを参照しないように制限できる。
-apsLayerIdの値がvclLayerId値以下の値である。
-現在復号化されているOLSは、apsLayerIdと同じ値のnuh_layer_idを有するレイヤと、vclLayerIdと同じ値のnuh_layer_idを有するレイヤを含む。
<APS制限4>
特定のAPS NALユニットのnuh_layer_idの値がapsLayerIdの値であり、特定のVCL NALユニットのnuh_layer_idの値がvclLayerIdであると仮定することができる。このような場合、以下の全ての条件が満たされない限り、特定のVCL NALユニットは、特定のAPS NALユニットを参照しないように制限できる。
-apsLayerIdの値がvclLayerId値以下の値である。
-vclLayerIdと同じ値のnuh_layer_idを有するレイヤを含むVPSに指定された個別OLSに対して、前記OLSは、apsLayerIdと同じ値のnuh_layer_idを有するレイヤを含む。
一実施例において、SPSに対する<SPS制限4>、PPSに対する<PPS制限4>及びAPSに対する<APS制限3>が一緒に適用できる。別の一実施例において、SPSに対する<SPS制限5>、PPSに対する<PPS制限5>、及びAPSに対する<APS制限4>が一緒に適用できる。
本実施例で説明されているようにSPS、PPS及びAPSに対する制限を交替して行うことにより、layerAと同じnuh_layer_idを有するピクチャが、layerBと同じnuh_layer_idを有するパラメータセットを参照し、layerAとlayerBが同一でなければ、現在OLS(例えば、現在復号化されているOLS)は、layerA及びlayerBを含むように強制するか、或いはlayerAと同じnuh_layer_idを有するピクチャが、layerBと同じnuh_layer_idを有するパラメータセットを参照し、layerAとlayerBが同じでなければ、layerAを含む個別OLSは、それぞれlayerBを一緒に含むように強制することができる。これにより、前述した問題点1及び2が解消できる。
実施例4
前述した改善方案4の実現のための一実施例として、以下の方案が適用できる。たとえば、sps_video_parameter_set_idの値が0であれば、以下が適用できる。
-当該SPSは、VPSを参照しない。
-当該SPSを参照する個別CLVSを復号化する過程で、如何なるVPSも参照されない。
-vps_max_layers_minus1の値は、0に誘導される。
-CVSは、1つのレイヤのみを含む。例えば、CVSに属する全てのVCL NALユニットは、同じnuh_layer_id値を有するように制限できる。
-GeneralLayerIdx[nuh_layer_id]の値は、0に誘導されることができる。
-vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]の値は、1に誘導されることができる。
-vps_layer_id[0]の値は、nuh_layer_idと同じ値に誘導されることができる。
本実施例で説明されているようにSPSに関する制限を追加することにより、VPSが提供されない場合、vps_layer_id[0]の値は、SPSを含むNALユニットのnuh_layer_idと同じ値に誘導されるように制限できる。これにより、前述した問題点1及び2が解消できる。
実施例5
前述した改善方案6、7及び8の実現のための一実施例として、以下の方案が適用できる。
まず、実施例1で説明したように、変数NumDirectRefLayers[i]、DirectRefLayerIdx[i][d]、NumRefLayers[i]、RefLayerIdx[i][r]、DependencyFlag[i][j]、及びLayerUsedAsRefLayerFlag[j]は、図16のように誘導されることができる。
そして、前述したシンタックス要素sps_seq_parameter_set_idに関する<SPS制限1>は、実施例1で説明したように<SPS制限2>のように置き換えられて適用できる。
そして、前述したシンタックス要素pps_pic_parameter_set_idに関する<PPS制限1>は、実施例1で説明したように<PPS制限2>のように置き換えられて適用できる。
そして、pic_width_in_luma_samplesの値は、前述の説明とは異なり、次のように誘導されることができる。
例えば、res_change_in_clvs_allowed_flagの値が0であれば、pic_width_in_luma_samplesの値は、CLVS内の符号化ピクチャによって参照される全てのPPSに対して同じ値を有するように制限できる。
以下の条件が全て真である場合、pic_width_in_luma_samplesの値は、pic_width_max_in_luma_samplesの値と同じ値を有するように制限できる。
res_change_in_clvs_allowed_flagの値は、0に等しい。
ppsLayerIdの値が、参照されるSPSのnuh_layer_idの値に等しい。
vps_independent_layer_flag[GeneralLayerIdx[ppsLayerId]]の値が、1である。
そして、pic_height_in_luma_samplesの値は、前述の説明とは異なり、次のように誘導されることができる。
例えば、res_change_in_clvs_allowed_flagの値が0であれば、pic_height_in_luma_samplesの値は、CLVS内の符号化されたピクチャによって参照される全てのPPSに対して同じ値を有するように制限できる。
res_change_in_clvs_allowed_flagの値が0であり、vps_independent_layer_flag[GeneralLayerIdx[ppsLayerId]]の値が1であれば、pic_height_in_luma_samplesの値は、pic_height_max_in_luma_samplesの値と同一の値を有するように制限できる。
本実施例で説明されているようにSPS及びPPSに関する制限を追加することにより、前述した改善方案6~8が適用できる。これにより、前述した問題点1及び3が解決できる。
符号化及び復号化方法
以下、一実施例による画像符号化装置及び画像復号化装置によって行われる画像符号化方法及び復号化方法について説明する。
図17は、一実施例による画像復号化装置が画像を復号化するためにパラメータセットの参照可用性を決定する方法を説明するフローチャートである。一実施例による画像復号化装置は、メモリとプロセッサを含み、復号化装置は、プロセッサの動作によって、以下に説明する実施例による復号化を行うことができる。
まず、復号化装置は、ビットストリームからパラメータセット及び画像符号化データを取得することができる(S1710)。次に、復号化装置は、前記画像符号化データを復号化するための前記パラメータセットの参照可用性を決定することができる(S1720)。次に、復号化装置は、参照可用性に基づいて前記画像符号化データを復号化することができる(S1730)。
ここで、復号化装置は、出力レイヤセットのうち、前記画像符号化データに対応するレイヤを含む出力レイヤセットが所定のレイヤを含むか否かに基づいて参照可用性を決定することができる。そして、前記画像符号化データに対応するレイヤは、前記画像符号化データに対応するVCL(Video coding layer)NAL(network abstraction layer)ユニットのレイヤ識別子と同じレイヤ識別子を有するレイヤであり得る。前記出力レイヤセットは、VPS(Video parameter set)に基づいて決定されることができる。例えば、VPSは、出力レイヤセットに関する情報を別途のシンタックス要素としてシグナリングすることができる。
前記所定のレイヤは、前記パラメータセットに対応するレイヤであり得る。例えば、前記所定のレイヤは、前記パラメータセットに対応するNALユニットのレイヤ識別子と同じレイヤ識別子を有するレイヤであり、前記パラメータセットは、SPS(sequence parameter set)、PPS(picture parameter set)、及びAPS(adaptation parameter set)のうちの少なくとも一つであり得る。
レイヤ識別子は、前述したnuh_layer_idで表されることができる。例えば、画像符号化データに対するレイヤ識別子は、画像符号化データに対応するVCL NALユニットのnuh_layer_idであり得る。SPSに対するレイヤ識別子は、SPS NALユニットのnuh_layer_idであり得る。PPSに対するレイヤ識別子は、PPS NALユニットのnuh_layer_idであり得る。APSに対するレイヤ識別子は、APS NALユニットのnuh_layer_idであり得る。
復号化装置は、以下の判断に基づいて参照可用性を決定することができる。図18を参照して説明する。復号化装置は、第1条件が満たされか否かに基づいてパラメータセットの参照如何を決定することができる(S1810)。ここで、第1条件は、前記パラメータセットに対応するレイヤ識別子の値が、前記画像符号化データに対応するレイヤ識別子の値より大きくないか否かであり得る。復号化装置は、前記パラメータセットに対応するレイヤ識別子の値が前記画像符号化データに対応するレイヤ識別子の値より大きければ、前記パラメータセットが前記画像符号化データを復号化するための参照に利用可能でないと決定することができる(S1840)。
一方、復号化装置は、前記パラメータセットに対応するレイヤ識別子の値が、前記画像符号化データに対応するレイヤ識別子の値より大きくなければ、第2条件が満たされるか否かを判断することができる(S1820)。ここで、第2条件は、前記画像符号化データに対応するレイヤ識別子と同じレイヤ識別子を有するレイヤを含む全ての出力レイヤセットが、前記パラメータセットに対応するレイヤ識別子と同じレイヤ識別子を有するレイヤを含むか否かであり得る。
例えば、復号化装置は、前記画像符号化データに対応するレイヤ識別子と同じレイヤ識別子を有するレイヤを含む全ての出力レイヤセットが、前記パラメータセットに対応するレイヤ識別子と同じレイヤ識別子を有するレイヤを含むと、当該パラメータセットは、当該画像符号化データを復号化するための参照に利用可能であると決定することができる(S1830)。そうでない場合、復号化装置は、当該パラメータセットが当該画像符号化データを復号化するための参照に利用可能でないと決定することができる(S1840)。
例えば、前記パラメータセットに対応するレイヤ識別子の値が、前記画像符号化データに対応するレイヤ識別子の値よりも大きいことに基づいて、前記パラメータセットは、前記画像符号化データを復号化するための参照に利用可能でないと決定されることができる。前記画像符号化データに対応するレイヤ識別子と同じレイヤ識別子を有するレイヤを含む全ての出力レイヤセットのうちの少なくとも1つの出力レイヤセットが、前記パラメータセットに対応するレイヤ識別子と同じレイヤ識別子を有するレイヤを含まないことに基づいて、前記パラメータセットは、前記画像符号化データを復号化するための参照に利用可能でないと決定されることができる。
また、前記パラメータセットに対応する第2レイヤ識別子の値が、前記画像符号化データに対応する第1レイヤ識別子の値より大きくなく、前記第1レイヤ識別子と同じレイヤ識別子を有するレイヤを含む全ての出力レイヤセットが、前記第2レイヤ識別子と同じレイヤ識別子を有するレイヤを含むことに基づいて、前記パラメータセットは、前記画像符号化データを復号化するための参照に利用可能であると決定されることができる。
一実施例において、前記パラメータセットは、SPS(sequence parameter set)、PPS(picture parameter set)及びAPS(Adaptation parameter set)を含み、前記パラメータセットに対する参照可用性は、前記SPS、前記PPS及び前記APSに対して個別に決定されることができる。
例えば、前記SPSに対応する第2レイヤ識別子の値が、前記画像符号化データに対応する第1レイヤ識別子の値よりも大きくなく、前記第1レイヤ識別子と同じレイヤ識別子を有するレイヤを含む全ての出力レイヤセットが、前記第2レイヤ識別子と同じレイヤ識別子を有するレイヤを含むことに基づいて、前記SPSは、前記画像符号化データを復号化するための参照に利用可能であると決定されることができる。
これに加えて(又は選択的に)、前記PPSに対応する第3レイヤ識別子の値が、前記画像符号化データに対応する第1レイヤ識別子の値よりも大きくなく、前記第1レイヤ識別子と同じレイヤ識別子を有するレイヤを含む全ての出力レイヤセットが、前記第3レイヤ識別子と同じレイヤ識別子を有するレイヤを含むことに基づいて、前記PPSは、前記画像符号化データを復号化するための参照に利用可能であると決定されることができる。
これに加えて(又は選択的に)、前記APSに対応する第4レイヤ識別子の値が、前記画像符号化データに対応する第1レイヤ識別子の値よりも大きくなく、前記第1レイヤ識別子と同じレイヤ識別子を有するレイヤを含む全ての出力レイヤセットが、前記第4レイヤ識別子と同じレイヤ識別子を有するレイヤを含むことに基づいて、前記APSは、前記画像符号化データを復号化するための参照に利用可能であると決定されることができる。
例えば、一実施例において、画像復号化方法は、ビットストリームからSPS(sequence parameter set)NAL(network abstracion layer)ユニットを取得するステップと、前記ビットストリームからVPS(video parameter set)NALユニットを取得するステップと、前記ビットストリームからPPS(picture parameter set)NALユニットを取得するステップと、前記ビットストリームからAPS(adaptation parameter set)NALユニットを取得するステップと、前記ビットストリームからVCL(video coding layer)NALユニットを取得するステップと、前記VPS NALユニットに基づいて、前記VCL NALユニットが前記SPS NALユニットと前記PPS NALユニットと前記APS NALユニットのうちの少なくとも1つを参照することができるか否かを決定するステップと、を含んで構成できる。ここで、前記VCL NALユニットのレイヤ識別子と、前記VPS NALユニットに基づいて識別された出力レイヤセットのうち、前記VCL NALユニットのレイヤ識別子に対応するレイヤを含む全ての出力レイヤが所定のレイヤを含むか否かに基づいて前記参照の如何が決定されることができる。
例えば、前記SPS NALユニットのレイヤ識別子の値が前記VCL NALユニットのレイヤ識別子の値以下の値を有し、前記VPS NALユニットに基づいて識別された出力レイヤセットのうち、前記VCL NALユニットのレイヤ識別子に対応するレイヤを含む全ての出力レイヤが、前記SPS NALユニットのレイヤ識別子に対応するレイヤをそれぞれ含むことに基づいて、前記VCL NALユニットが前記SPS NALユニットを参照しないか否かが決定されることができる。
また、前記PPS NALユニットのレイヤ識別子の値が前記VCL NALユニットのレイヤ識別子の値以下の値を有し、前記VPS NALユニットに基づいて識別された出力レイヤセットのうち、前記VCL NALユニットのレイヤ識別子に対応するレイヤを含む全ての出力レイヤが、前記PPS NALユニットのレイヤ識別子に対応するレイヤをそれぞれ含むことに基づいて、前記VCL NALユニットが前記PPS NALユニットを参照しないか否かが決定されることができる。
また、前記APS NALユニットのレイヤ識別子の値が前記VCL NALユニットのレイヤ識別子の値以下の値を有し、前記VPS NALユニットに基づいて識別された出力レイヤセットのうち、前記VCL NALユニットのレイヤ識別子に対応するレイヤを含む全ての出力レイヤが、前記APS NALユニットのレイヤ識別子に対応するレイヤをそれぞれ含むことに基づいて、前記VCL NALユニットが前記APS NALユニットを参照しないか否かが決定されることができる。
図19は、一実施例による画像符号化装置が画像を符号化するためにパラメータセットの参照可用性を決定する方法を説明するフローチャートである。一実施例による画像符号化装置は、メモリとプロセッサを含み、符号化装置は、プロセッサの動作によって、前述した復号化方法に対応する方法で符号化を行うことができる。
例えば、符号化装置は、画像を符号化して前記画像の一部分に対する画像符号化データと、前記符号化データに対するパラメータセットを生成することができる(S1910)。そして、符号化装置は、前記画像符号化データと前記パラメータセットとを含むビットストリームを生成することができる(S1920)。ここで、前記画像符号化データを復号化するための前記パラメータセットの参照可用性に基づいて、前記パラメータセットが生成されることができる。そして、前記参照可用性は、出力レイヤセットのうち、前記画像符号化データに対応するレイヤを含む出力レイヤセットが所定のレイヤを含むか否かに基づいて決定されることができる。
より詳細には、前述した復号化方法に相応するように、VPS(Video parameter set)は前記出力レイヤセットに関する情報を含み、前記所定のレイヤは、前記パラメータセットに対応するレイヤであり、前記画像符号化データに対応するレイヤは、前記画像符号化データに対応するVCL(Video coding layer)NAL(network abstraction layer)ユニットのレイヤ識別子と同じレイヤ識別子を有するレイヤであり、前記所定のレイヤは、前記パラメータセットに対応するNALユニットのレイヤ識別子と同じレイヤ識別子を有するレイヤであり、前記パラメータセットは、SPS(sequence parameter set)、PPS(picture parameter set)及びAPS(adaptation parameter set)のうちの少なくとも一つであり得る。
例えば、一実施例において、画像符号化方法は、画像を符号化して、前述したVCL NALユニット、SPS NALユニット、VPS NALユニット、PPS NALユニット及びAPS NALユニットを生成するステップと、前記VCL NALユニット、前記SPS NALユニット、前記VPS NALユニット、前記PPS NALユニット及び前記APS NALユニットを含むビットストリームを生成するステップと、を含んで構成できる。
ここで、前記VCL NALユニットが前記SPS NALユニット、前記PPS NALユニット及び前記APS NALユニットのうちの少なくとも1つを参照することができるか否かに基づいて、前記VCL NALユニットのレイヤ識別子と前記VPS NALユニットが生成されることができる。
また、前記VCL NALユニットが前記SPS NALユニット、前記PPS NALユニット及び前記APS NALユニットのうちの少なくとも1つを参照することができるか否かに基づいて、VPS NALユニットによって識別される出力レイヤセットのうち、前記VCL NALユニットのレイヤ識別子に対応するレイヤを含む全ての出力レイヤが、所定のレイヤを含むように前記VPS NALユニットが生成されることができる。ここで、所定のレイヤは、前記SPS、PPS及びAPSのうちの少なくとも一つに対応するレイヤ識別子と同じレイヤ識別子を有するレイヤであり得る。
応用実施例
本開示の例示的な方法は、説明の明確性のために動作のシリーズで表現されているが、これは、ステップが行われる順序を制限するためのものではなく、必要な場合には、それぞれのステップが同時に又は異なる順序で行われることもできる。本開示による方法を実現するために、例示するステップにさらに他のステップを含むか、一部のステップを除いて残りのステップを含むか、又は一部のステップを除いて追加の他のステップを含むこともできる。
本開示において、所定の動作(ステップ)を行う画像符号化装置又は画像復号化装置は、当該動作(ステップ)の実行条件や状況を確認する動作(ステップ)を行うことができる。例えば、所定の条件が満たされる場合、所定の動作を行うと記載された場合、画像符号化装置又は画像復号化装置は、前記所定の条件が満たされるか否かを確認する動作を行った後、前記所定の動作を行うことができる。
本開示の様々な実施例は、全ての可能な組み合わせを羅列したものではなく、本開示の代表的な態様を説明するためのものであり、様々な実施例で説明する事項は、独立して適用されてもよく、2つ以上の組み合わせで適用されてもよい。
また、本開示の様々な実施例は、ハードウェア、ファームウェア(firmware)、ソフトウェア、又はそれらの組み合わせなどによって実現できる。ハードウェアによる実現の場合、1つ又はそれ以上のASICs(Application Specific Integrated Circuits)、DSPs(Digital Signal Processors)、DSPDs(Digital Signal Processing Devices)、PLDs(Programmable Logic Devices)、FPGAs(Field Programmable Gate Arrays)、汎用プロセッサ(general processor)、コントローラ、マイクロコントローラ、マイクロプロセッサなどによって実現できる。
また、本開示の実施例が適用された画像復号化装置及び画像符号化装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ会話装置、ビデオ通信などのリアルタイム通信装置、モバイルストリーミング装置、記憶媒体、カムコーダ、注文型ビデオ(VoD)サービス提供装置、OTTビデオ(Over the top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、画像電話ビデオ装置、及び医療用ビデオ装置などに含まれることができ、ビデオ信号又はデータ信号を処理するために使用できる。例えば、OTTビデオ(Over the top video)装置としては、ゲームコンソール、ブルーレイプレーヤー、インターネット接続TV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recoder)などを含むことができる。
図20は本開示の実施例が適用できるコンテンツストリーミングシステムを例示する図である。
図20に示されているように、本開示の実施例が適用されたコンテンツストリーミングシステムは、大きく、符号化サーバ、ストリーミングサーバ、Webサーバ、メディアストレージ、ユーザ装置及びマルチメディア入力装置を含むことができる。
前記符号化サーバは、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置から入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これを前記ストリーミングサーバに伝送する役割を果たす。他の例として、スマートフォン、カメラ、ビデオカメラなどのマルチメディア入力装置がビットストリームを直接生成する場合、前記符号化サーバは省略できる。
前記ビットストリームは、本開示の実施例が適用された画像符号化方法及び/又は画像符号化装置によって生成でき、前記ストリーミングサーバは、前記ビットストリームを伝送又は受信する過程で一時的に前記ビットストリームを保存することができる。
前記ストリーミングサーバは、Webサーバを介してユーザの要求に基づいてマルチメディアデータをユーザ装置に伝送し、前記Webサーバは、ユーザにどんなサービスがあるかを知らせる媒介体の役割を果たすことができる。ユーザが前記Webサーバに所望のサービスを要求すると、前記Webサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを伝送することができる。この時、前記コンテンツストリーミングシステムは、別途の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割を果たすことができる。
前記ストリーミングサーバは、メディアストレージ及び/又は符号化サーバからコンテンツを受信することができる。例えば、前記符号化サーバからコンテンツを受信する場合、前記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間保存することができる。
前記ユーザ装置の例としては、携帯電話、スマートフォン(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、デスクトップコンピュータ、デジタルサイネージなどがあり得る。
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営されることができ、この場合、各サーバから受信するデータは、分散処理されることができる。
本開示の範囲は、様々な実施例の方法による動作が装置又はコンピュータ上で実行されるようにするソフトウェア又はマシン-実行可能なコマンド(例えば、オペレーティングシステム、アプリケーション、ファームウェア(firmware)、プログラムなど)、及びこのようなソフトウェア又はコマンドなどが保存されて装置又はコンピュータ上で実行できる非一時的なコンピュータ可読媒体(non-transitory computer-readable medium)を含む。