(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024097996
(43)【公開日】2024-07-19
(54)【発明の名称】長方形スライスのサイズ情報を選択的に符号化する画像符号化/復号化方法及び装置、並びにビットストリームを伝送する方法
(51)【国際特許分類】
H04N 19/70 20140101AFI20240711BHJP
【FI】
H04N19/70
【審査請求】有
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2024079190
(22)【出願日】2024-05-15
(62)【分割の表示】P 2022554649の分割
【原出願日】2021-03-08
(31)【優先権主張番号】62/987,336
(32)【優先日】2020-03-09
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】502032105
【氏名又は名称】エルジー エレクトロニクス インコーポレイティド
【氏名又は名称原語表記】LG ELECTRONICS INC.
【住所又は居所原語表記】128, Yeoui-daero, Yeongdeungpo-gu, 07336 Seoul,Republic of Korea
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100165191
【弁理士】
【氏名又は名称】河合 章
(74)【代理人】
【識別番号】100114018
【弁理士】
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100159259
【弁理士】
【氏名又は名称】竹本 実
(72)【発明者】
【氏名】ヘンドリー ヘンドリー
(72)【発明者】
【氏名】キム スン ファン
(72)【発明者】
【氏名】シータル パルリ
(57)【要約】
【課題】スライスのサイズ情報を選択的に符号化する画像符号化/復号化方法及び装置が提供される。
【解決手段】本開示による画像復号化装置によって行われる画像復号化方法は、現在ピクチャの少なくとも一部に対応する現在スライスのサイズを示すサイズ情報をビットストリームから取得するステップと、前記サイズ情報に基づいて前記現在スライスのサイズを決定するステップと、を含むことができる。
【選択図】
図32
【特許請求の範囲】
【請求項1】
画像復号化装置によって行われる画像復号化方法であって、
現在ピクチャの少なくとも一部に対応する現在スライスのサイズを示すサイズ情報をビットストリームから取得するステップと、
前記サイズ情報に基づいて前記現在スライスのサイズを決定するステップと、を含み、
前記サイズ情報は、前記現在スライスの幅をタイル列の単位で示す幅情報、及び前記現在スライスの高さをタイル行の単位で示す高さ情報を含み、
前記サイズ情報を取得するステップは、前記現在スライスが前記現在ピクチャの最後のタイル列又は最後のタイル行に属するか否かに基づいて行われ、
前記現在スライスの左上側のタイルが前記現在ピクチャの最後のタイル行に属するか否かに基づいて、前記現在スライスの高さ情報が前記ビットストリームから取得されない、画像復号化方法。
【請求項2】
前記現在スライスの左上側のタイルが前記現在ピクチャの最後のタイル行に属さないことに基づいて、前記現在スライスの高さ情報が前記ビットストリームから取得される、請求項1に記載の画像復号化方法。
【請求項3】
前記現在スライスの左上側のタイルが前記現在ピクチャの最後のタイル行に属することに基づいて、前記現在スライスの高さ情報が、前記ビットストリームから取得されず、所定の値に決定される、請求項1に記載の画像復号化方法。
【請求項4】
前記所定の値は、1つのタイル行を示す値である、請求項3に記載の画像復号化方法。
【請求項5】
前記現在スライスが長方形スライスである、請求項1に記載の画像復号化方法。
【請求項6】
前記サイズ情報を取得するステップは、前記現在ピクチャを分割するスライスの個数に基づいて行われ、
前記現在ピクチャを分割するスライスの個数は、
前記現在ピクチャの分割可用性を決定するステップと、
前記現在ピクチャの分割が利用可能であることに基づいて、前記現在ピクチャを分割するタイルの行の個数とタイルの列の個数を決定するステップと、
前記タイル列の個数に基づいて、前記現在ピクチャを分割するタイル列のそれぞれに対する幅を決定するステップと、
前記タイル行の個数に基づいて、前記現在ピクチャを分割するタイル行のそれぞれに対する高さを決定するステップと、
前記現在ピクチャを分割するタイルの個数に基づいて、前記現在ピクチャが四角スライスに分割されるか否かを決定するステップと、
前記現在ピクチャが四角スライスに分割されるか否かに基づいて、前記現在ピクチャを分割するスライスの個数をビットストリームから取得するステップと、を行うことにより決定される、請求項1に記載の画像復号化方法。
【請求項7】
画像符号化装置によって行われる画像符号化方法であって、
現在ピクチャの少なくとも一部に対応する現在スライスを決定するステップと、
前記現在スライスのサイズ情報を含むビットストリームを生成するステップと、を含み、
前記サイズ情報は、前記現在スライスの幅をタイル列の単位で示す幅情報、及び前記現在スライスの高さをタイル行の単位で示す高さ情報を含み、
前記ビットストリームを生成するステップは、前記現在スライスが前記現在ピクチャの最後のタイル列又は最後のタイル行に属するか否かに基づいて行われ、
前記現在スライスの左上側のタイルが前記現在ピクチャの最後のタイル行に属することに基づいて、前記現在スライスの高さ情報が前記ビットストリーム内に符号化されない、画像符号化方法。
【請求項8】
前記現在スライスが長方形スライスである、請求項7に記載の画像符号化方法。
【請求項9】
ビットストリームを送信する方法であって、
画像符号化方法に基づいてビットストリームを生成するステップと、
前記ビットストリームを送信するステップと、を含み、
前記画像符号化方法は、
現在ピクチャの少なくとも一部に対応する現在スライスを決定するステップと、
前記現在スライスのサイズ情報を含むビットストリームを生成するステップと、を含み、
前記サイズ情報は、前記現在スライスの幅をタイル列の単位で示す幅情報、及び前記現在スライスの高さをタイル行の単位で示す高さ情報を含み、
前記ビットストリームを生成するステップは、前記現在スライスが前記現在ピクチャの最後のタイル列又は最後のタイル行に属するか否かに基づいて行われ、
前記現在スライスの左上側のタイルが前記現在ピクチャの最後のタイル行に属することに基づいて、前記現在スライスの高さ情報が前記ビットストリーム内に符号化されない、ビットストリーム送信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像符号化/復号化方法及び装置に係り、より詳細には、スライスのサイズ情報を選択的に符号化する画像符号化/復号化方法及び装置、並びに本開示の画像符号化方法/装置によって生成されたビットストリームを伝送する方法に関する。
【背景技術】
【0002】
最近、高解像度、高品質の画像、例えばHD(High Definition)画像及びUHD(Ultra High Definition)画像への需要が多様な分野で増加している。画像データが高解像度、高品質になるほど、従来の画像データに比べて、伝送される情報量又はビット量が相対的に増加する。伝送される情報量又はビット量の増加は、伝送費用と保存費用の増加をもたらす。
【0003】
これにより、高解像度、高品質画像の情報を効果的に伝送又は保存し、再生するための高効率の画像圧縮技術が求められる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、符号化/復号化の効率が向上した画像符号化/復号化方法及び装置を提供することを目的とする。
【0005】
また、本開示は、スライスのサイズ情報を選択的に符号化することにより、符号化/復号化の効率の向上を図る画像符号化/復号化方法及び装置を提供することを目的とする。
【0006】
また、本開示は、本開示による画像符号化方法又は装置によって生成されたビットストリームを伝送する方法を提供することを目的とする。
【0007】
また、本開示は、本開示による画像符号化方法又は装置によって生成されたビットストリームを保存した記録媒体を提供することを目的とする。
【0008】
また、本開示は、本開示による画像復号化装置によって受信され、復号化されて画像の復元に利用されるビットストリームを保存した記録媒体を提供することを目的とする。例えば、前記記録媒体には、本開示による復号化装置が本開示による画像復号化方法を行うように引き起こすビットストリームが保存されることができる。
【0009】
本開示で解決しようとする技術的課題は上述した技術的課題に制限されず、上述していない別の技術的課題は以降の記載から本開示の属する技術分野における通常の知識を有する者に明確に理解できるであろう。
【課題を解決するための手段】
【0010】
本開示の一態様による画像復号化装置によって行われる画像復号化方法は、現在ピクチャの少なくとも一部に対応する現在スライスのサイズを示すサイズ情報をビットストリームから取得するステップと、前記サイズ情報に基づいて前記現在スライスのサイズを決定するステップと、を含むことができる。ここで、前記サイズ情報は、前記現在スライスの幅をタイル列の単位で示す幅情報、及び現在スライスの高さをタイル行の単位で示す高さ情報を含み、前記サイズ情報をビットストリームから取得するステップは、前記現在スライスが前記現在ピクチャの最後のタイル列又は最後のタイル行に属するか否かに基づいて行われることができる。
【0011】
また、本開示の一態様による画像復号化装置は、メモリ及び少なくとも1つのプロセッサを含む画像復号化装置であって、前記少なくとも1つのプロセッサは、現在ピクチャの少なくとも一部に対応する現在スライスのサイズを示すサイズ情報をビットストリームから取得し、前記サイズ情報に基づいて前記現在スライスのサイズを決定することができる。ここで、前記サイズ情報は、前記現在スライスの幅をタイル列の単位で示す幅情報、及び前記現在スライスの高さをタイル行の単位で示す高さ情報を含み、前記サイズ情報は、前記現在スライスが前記現在ピクチャの最後のタイル列又は最後のタイル行に属するか否かに基づいて取得されることができる。
【0012】
また、本開示の一態様による画像符号化装置によって行われる画像符号化方法は、現在ピクチャの少なくとも一部に対応する現在スライスを決定するステップと、前記現在スライスのサイズ情報を含むビットストリームを生成するステップと、を含むことができる。ここで、前記サイズ情報は、前記現在スライスの幅をタイル列の単位で示す幅情報、及び前記現在スライスの高さをタイル行の単位で示す高さ情報を含み、前記現在スライスのサイズ情報を含むビットストリームを生成するステップは、前記現在スライスが前記現在ピクチャの最後のタイル列又は最後のタイル行に属するか否かに基づいて行われることができる。
【0013】
本開示の別の態様による伝送方法は、本開示の画像符号化装置又は画像符号化方法によって生成されたビットストリームを伝送することができる。
【0014】
本開示の別の態様によるコンピュータ可読記録媒体は、本開示の画像符号化方法又は画像符号化装置によって生成されたビットストリームを保存することができる。
【0015】
本開示について簡略に要約して上述した特徴は、後述する本開示の詳細な説明の例示的な態様に過ぎず、本開示の範囲を制限するものではない。
【発明の効果】
【0016】
本開示によれば、符号化/復号化の効率が向上した画像符号化/復号化方法及び装置が提供されることができる。
【0017】
また、本開示によれば、スライスのサイズ情報を選択的に符号化することにより、符号化/復号化の効率の向上を図ることができる画像符号化/復号化方法及び装置が提供されることができる。
【0018】
また、本開示によれば、本開示による画像符号化方法又は装置によって生成されたビットストリームを伝送する方法が提供されることができる。
【0019】
また、本開示によれば、本開示による画像符号化方法又は装置によって生成されたビットストリームを保存した記録媒体が提供されることができる。
【0020】
また、本開示によれば、本開示による画像復号化装置によって受信され、復号化されて画像の復元に利用されるビットストリームを保存した記録媒体が提供されることができる。
【0021】
本開示で得られる効果は、上述した効果に限定されず、上述していない別の効果は、以降の記載から、本開示の属する技術分野における通常の知識を有する者に明確に理解できるだろう。
【図面の簡単な説明】
【0022】
【
図1】本開示による実施例が適用できるビデオコーディングシステムを概略的に示す図である。
【
図2】本開示による実施例が適用できる画像符号化装置を概略的に示す図である。
【
図3】本開示による実施例が適用できる画像復号化装置を概略的に示す図である。
【
図4】本開示の一実施例による画像の分割構造を示す図である。
【
図5】マルチタイプツリー構造によるブロックの分割タイプの一実施例を示す図である。
【
図6】本開示によるマルチタイプツリーを伴う四分木(quadtree with nested multi-type tree)構造におけるブロック分割情報のシグナリングメカニズムを例示する図である。
【
図7】CTUが多重CUに分割される一実施例を示す図である。
【
図8】一実施例による周辺参照サンプルを示す図である。
【
図9】一実施例によるイントラ予測を説明する図である。
【
図10】一実施例によるイントラ予測を説明する図である。
【
図11】一実施例によるインター予測を用いた符号化方法を説明する図である。
【
図12】一実施例によるインター予測を用いた復号化方法を説明する図である。
【
図13】1つのシンタックス要素を符号化するための一実施例によるCABACを示すブロック図である。
【
図14】一実施例によるエントロピー符号化と復号化を説明する図である。
【
図15】一実施例によるエントロピー符号化と復号化を説明する図である。
【
図16】一実施例によるエントロピー符号化と復号化を説明する図である。
【
図17】一実施例によるエントロピー符号化と復号化を説明する図である。
【
図18】一実施例によるピクチャ復号化及び符号化手順の例を示す図である。
【
図19】一実施例によるピクチャ復号化及び符号化手順の例を示す図である。
【
図20】一実施例によるコーディングされた画像に対する階層構造を示す図である。
【
図21】タイル、スライス及びサブピクチャを用いてピクチャを分割した実施例を示す図である。
【
図22】タイル、スライス及びサブピクチャを用いてピクチャを分割した実施例を示す図である。
【
図23】タイル、スライス及びサブピクチャを用いてピクチャを分割した実施例を示す図である。
【
図24】タイル、スライス及びサブピクチャを用いてピクチャを分割した実施例を示す図である。
【
図25】シーケンスパラメータセットに対するシンタックスの一実施例を示す図である。
【
図26】ピクチャパラメータセットのシンタックスの一実施例を示す図である。
【
図27】スライスヘッダーのシンタックスの一実施例を示す図である。
【
図28】符号化方法及び復号化方法の一実施例を示す図である。
【
図29】符号化方法及び復号化方法の一実施例を示す図である。
【
図30】ピクチャパラメータセットに対する他の一実施例を示す図である。
【
図31】ピクチャパラメータセットに対する他の一実施例を示す図である。
【
図33】SliceTopLeftTileIdxを決定するアルゴリズムを示す図である。
【
図34】SliceTopLeftTileIdxを決定するアルゴリズムを示す図である。
【
図36】本開示の実施例が適用できるコンテンツストリーミングシステムを例示する図である。
【発明を実施するための形態】
【0023】
以下、添付図面を参照して、本開示の実施例について、本開示の属する技術分野における通常の知識を有する者が容易に実施し得るように詳細に説明する。しかし、本開示は、様々な異なる形態で実現でき、ここで説明する実施例に限定されない。
【0024】
本開示の実施例を説明するにあたり、公知の構成又は機能についての具体的な説明が本開示の要旨を不明確にするおそれがあると判断される場合には、それについての詳細な説明は省略する。そして、図面において、本開示についての説明と関係ない部分は省略し、同様の部分には同様の図面符号を付した。
【0025】
本開示において、ある構成要素が他の構成要素と「連結」、「結合」又は「接続」されているとするとき、これは、直接的な連結関係だけでなく、それらの間に別の構成要素が存在する間接的な連結関係も含むことができる。また、ある構成要素が他の構成要素を「含む」又は「有する」とするとき、これは、特に反対される記載がない限り、別の構成要素を排除するのではなく、別の構成要素をさらに含むことができることを意味する。
【0026】
本開示において、「第1」、「第2」などの用語は、一つの構成要素を他の構成要素から区別する目的のみで使用され、特に言及されない限り、構成要素間の順序又は重要度などを限定しない。したがって、本開示の範囲内において、一実施例の第1構成要素は、他の実施例で第2構成要素と呼んでもよく、これと同様に、一実施例の第2構成要素を、他の実施例で第1構成要素と呼んでもよい。
【0027】
本開示において、互いに区別される構成要素は、それぞれの特徴を明確に説明するためのものであり、構成要素が必ずしも分離されることを意味するものではない。つまり、複数の構成要素が統合されて一つのハードウェア又はソフトウェア単位で構成されてもよく、一つの構成要素が分散されて複数のハードウェア又はソフトウェア単位で構成されてもよい。よって、別に言及しなくても、このように統合された又は分散された実施例も本開示の範囲に含まれる。
【0028】
本開示において、さまざまな実施例で説明する構成要素が必ず必要不可欠な構成要素を意味するものではなく、一部は選択的な構成要素であり得る。したがって、一実施例で説明する構成要素の部分集合で構成される実施例も本開示の範囲に含まれる。また、様々な実施例で説明する構成要素にさらに他の構成要素を含む実施例も、本開示の範囲に含まれる。
【0029】
本開示は、画像の符号化及び復号化に関するものであって、本開示で使用される用語は、本開示で新たに定義されない限り、本開示の属する技術分野における通常の意味を持つことができる。
【0030】
本開示において、「ビデオ(video)」は、時間の流れによる一連の画像(image)の集合を意味することができる。「ピクチャ(picture)」は、一般的に、特定の時間帯のいずれか一つの画像を示す単位を意味し、スライス(slice)/タイル(tile)は、符号化においてピクチャの一部を構成する符号化単位である。一つのピクチャは、一つ以上のスライス/タイルで構成できる。また、スライス/タイルは、一つ以上のCTU(coding tree unit)を含むことができる。1つのピクチャは、1つ以上のスライス/タイルで構成できる。1つのピクチャは、1つ以上のタイルグループで構成できる。1つのタイルグループは、1つ以上のタイルを含むことができる。ブリックは、ピクチャ内のタイル以内のCTU行の四角領域を示すことができる。1つのタイルは、1つ以上のブリック(Brick)を含むことができる。ブリックは、タイル内のCTU行の四角領域を示すことができる。1つのタイルは、複数のブリックに分割されることができ、それぞれのブリックは、タイルに属する1つ以上のCTU行を含むことができる。複数のブリックに分割されないタイルもブリックとして扱われることができる。
【0031】
本開示において、「ピクセル(pixel)」又は「ペル(pel)」は、一つのピクチャ(又は画像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として「サンプル(sample)」が使用できる。サンプルは、一般的に、ピクセル又はピクセルの値を示すことができ、ルマ(luma)成分のピクセル/ピクセル値のみを示すこともでき、クロマ(chroma)成分のピクセル/ピクセル値のみを示すこともできる。
【0032】
本開示において、「ユニット(unit)」は、画像処理の基本単位を示すことができる。ユニットは、ピクチャの特定の領域及び当該領域に関連する情報のうちの少なくとも一つを含むことができる。1つのユニットは、一つのルマブロック及び2つのクロマ(例えば、Cb、Cr)ブロックを含むことができる。ユニットは、場合に応じて、「サンプルアレイ」、「ブロック(block)」又は「領域(area)」などの用語と混用して使用できる。一般な場合、M×Nブロックは、M個の列とN個の行からなるサンプル(又はサンプルアレイ)又は変換係数(transform coefficient)のセット(又はアレイ)を含むことができる。
【0033】
本開示において、「現在ブロック」は、「現在コーディングブロック」、「現在コーティングユニット」、「符号化対象ブロック」、「復号化対象ブロック」又は「処理対象ブロック」のうちのいずれか一つを意味することができる。予測が行われる場合、「現在ブロック」は、「現在予測ブロック」又は「予測対象ブロック」を意味することができる。変換(逆変換)/量子化(逆量子化)が行われる場合、「現在ブロック」は「現在変換ブロック」又は「変換対象ブロック」を意味することができる。フィルタリングが行われる場合、「現在ブロック」は「フィルタリング対象ブロック」を意味することができる。
【0034】
本開示において、「現在ブロック」は、クロマブロックという明示的な記載がない限り、「現在ブロックのルマブロック」を意味することができる。「現在ブロックのクロマブロック」は、明示的に「クロマブロック」又は「現在クロマブロック」のようにクロマブロックという明示的な記載を含んで表現できる。
【0035】
本開示において、「/」と「、」は「及び/又は」と解釈されることができる。例えば、「A/B」と「A、B」は「A及び/又はB」と解釈されることができる。また、「A/B/C」と「A、B、C」は、「A、B及び/又はCのうちの少なくとも一つ」を意味することができる。
【0036】
本開示において、「又は」は「及び/又は」と解釈されることができる。例えば、「A又はB」は、1)「A」のみを意味するか、2)「B」のみを意味するか、3)「A及びB」を意味することができる。又は、本開示において、「又は」は、「追加的に又は代替的に(additionally or alternatively)」を意味することができる。
【0037】
ビデオコーディングシステムの概要
【0038】
図1は本開示によるビデオコーディングシステムを示す図である。
【0039】
一実施例によるビデオコーディングシステムは、ソースデバイス10及び受信デバイス20を含むことができる。ソースデバイス10は、符号化されたビデオ(video)及び/又は画像(image)情報又はデータをファイル又はストリーミング形式でデジタル記憶媒体又はネットワークを介して受信デバイス20へ伝達することができる。
【0040】
一実施例によるソースデバイス10は、ビデオソース生成部11、符号化装置12及び伝送部13を含むことができる。一実施例による受信デバイス20は、受信部21、復号化装置22及びレンダリング部23を含むことができる。前記符号化装置12は、ビデオ/画像符号化装置と呼ばれることができ、前記復号化装置22は、ビデオ/画像復号化装置と呼ばれることができる。伝送部13は、符号化装置12に含まれることができる。受信部21は、復号化装置22に含まれることができる。レンダリング部23は、ディスプレイ部を含むこともでき、ディスプレイ部は、別個のデバイス又は外部コンポーネントとして構成されることもできる。
【0041】
ビデオソース生成部11は、ビデオ/画像のキャプチャ、合成又は生成過程などを介してビデオ/画像を取得することができる。ビデオソース生成部11は、ビデオ/画像キャプチャデバイス及び/又はビデオ/画像生成デバイスを含むことができる。ビデオ/画像キャプチャデバイスは、例えば、一つ以上のカメラ、以前にキャプチャされたビデオ/画像を含むビデオ/画像アーカイブなどを含むことができる。ビデオ/画像生成デバイスは、例えば、コンピュータ、タブレット及びスマートフォンなどを含むことができ、(電子的に)ビデオ/画像を生成することができる。例えば、コンピュータなどを介して、仮想のビデオ/画像が生成されることができ、この場合、ビデオ/画像キャプチャ過程は、関連データが生成される過程に置き換えられることができる。
【0042】
符号化装置12は、入力ビデオ/画像を符号化することができる。符号化装置12は、圧縮及び符号化効率のために、予測、変換、量子化などの一連の手順を行うことができる。符号化装置12は、符号化されたデータ(符号化されたビデオ/画像情報)をビットストリーム(bitstream)形式で出力することができる。
【0043】
伝送部13は、ビットストリーム形式で出力された、符号化されたビデオ/画像情報又はデータを、ファイル又はストリーミング形式でデジタル記憶媒体又はネットワークを介して受信デバイス20の受信部21に伝達することができる。デジタル記憶媒体は、USB、SD、CD、DVD、Blu-ray(登録商標)、HDD、SSDなどのさまざまな記憶媒体を含むことができる。伝送部13は、予め決められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介して伝送するためのエレメントを含むことができる。受信部21は、前記記憶媒体又はネットワークから前記ビットストリームを抽出/受信して復号化装置22へ伝達することができる。
【0044】
復号化装置22は、符号化装置12の動作に対応する逆量子化、逆変換、予測などの一連の手順を行ってビデオ/画像を復号化することができる。
【0045】
レンダリング部23は、復号化されたビデオ/画像をレンダリングすることができる。レンダリングされたビデオ/画像は、ディスプレイ部を介して表示されることができる。
【0046】
画像符号化装置の概要
【0047】
図2は本開示による実施例が適用できる画像符号化装置を概略的に示す図である。
【0048】
図2に示されているように、画像符号化装置100は、画像分割部110、減算部115、変換部120、量子化部130、逆量子化部140、逆変換部150、加算部155、フィルタリング部160、メモリ170、インター予測部180、イントラ予測部185及びエントロピー符号化部190を含むことができる。インター予測部180及びイントラ予測部185は、合わせて「予測部」と呼ばれることができる。変換部120、量子化部130、逆量子化部140及び逆変換部150は、レジデュアル(residual)処理部に含まれることができる。レジデュアル処理部は減算部115をさらに含むこともできる。
【0049】
画像符号化装置100を構成する複数の構成部の全部又は少なくとも一部は、実施例によって一つのハードウェアコンポーネント(例えば、エンコーダ又はプロセッサ)で実現されることができる。また、メモリ170は、DPB(decoded picture buffer)を含むことができ、デジタル記憶媒体によって実現できる。
【0050】
画像分割部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)を誘導する単位であることができる。
【0051】
予測部(インター予測部180又はイントラ予測部185)は、処理対象ブロック(現在ブロック)に対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、現在ブロック又はCU単位でイントラ予測が適用されるか、或いはインター予測が適用されるかを決定することができる。予測部は、現在ブロックの予測に関するさまざまな情報を生成してエントロピー符号化部190に伝達することができる。予測に関する情報は、エントロピー符号化部190で符号化されてビットストリーム形式で出力されることができる。
【0052】
イントラ予測部185は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。参照される前記サンプルは、イントラ予測モード及び/又はイントラ予測技法に従って、前記現在ブロックの周辺(neighbor)に位置することもでき、或いは離れて位置することもできる。イントラ予測モードは、複数の非方向性モードと複数の方向性モードを含むことができる。非方向性モードは、例えば、DCモード及びPlanarモードを含むことができる。方向性モードは、予測方向の細密な程度に応じて、例えば33個の方向性予測モード又は65個の方向性予測モードを含むことができる。ただし、これは例示に過ぎず、設定に基づいてそれ以上又はそれ以下の個数の方向性予測モードが使用できる。イントラ予測部185は、周辺ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0053】
インター予測部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)を符号化することにより、現在ブロックの動きベクトルをシグナリングすることができる。動きベクトル差分は、現在ブロックの動きベクトルと動きベクトル予測子との差を意味することができる。
【0054】
予測部は、後述する様々な予測方法及び/又は予測技法に基づいて予測信号を生成することができる。例えば、予測部は、現在ブロックの予測のために、イントラ予測又はインター予測を適用することができるだけでなく、イントラ予測とインター予測を同時に適用することができる。現在ブロックの予測のためにイントラ予測とインター予測を同時に適用する予測方法は、CIIP(combined inter and intra prediction)と呼ばれることができる。また、予測部は、現在ブロックの予測のためにイントラブロックコピー(intra block copy、IBC)を行うこともできる。イントラブロックコピーは、例えば、SCC(screen content coding)などのようにゲームなどのコンテンツ画像/動画コーディングのために使用できる。IBCは、現在ブロックから所定の距離だけ離れた位置の現在ピクチャ内の既に復元された参照ブロックを用いて現在ブロックを予測する方法である。IBCが適用される場合、現在ピクチャ内の参照ブロックの位置は前記所定の距離に該当するベクトル(ブロックベクトル)として符号化されることができる。IBCは、基本的に、現在ピクチャ内で予測を行うが、現在ピクチャ内で参照ブロックを導出するという点において、インター予測と同様に行われることができる。すなわち、IBCは、本開示で説明されるインター予測技法のうちの少なくとも一つを用いることができる。
【0055】
予測部によって生成された予測信号は、復元信号を生成するために用いられるか、或いはレジデュアル信号を生成するために用いられることができる。減算部115は、入力画像信号(原本ブロック、原本サンプルアレイ)から、予測部から出力された予測信号(予測されたブロック、予測サンプルアレイ)を減算して、レジデュアル信号(residual signal、残余ブロック、残余サンプルアレイ)を生成することができる。生成されたレジデュアル信号は、変換部120に伝送されることができる。
【0056】
変換部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)を用いて予測信号を生成し、それに基づいて取得される変換を意味する。変換過程は、正方形の同じサイズを有するピクセルブロックに適用されることもでき、正方形ではない、可変サイズのブロックに適用されることもできる。
【0057】
量子化部130は、変換係数を量子化してエントロピー符号化部190に伝送することができる。エントロピー符号化部190は、量子化された信号(量子化された変換係数に関する情報)を符号化してビットストリーム形式で出力することができる。前記量子化された変換係数に関する情報は、レジデュアル情報と呼ばれることができる。量子化部130は、係数スキャン順序(scan order)に基づいて、ブロック形式の量子化された変換係数を1次元ベクトル形式で再整列することができ、前記1次元ベクトル形式の量子化された変換係数に基づいて、前記量子化された変換係数に関する情報を生成することもできる。
【0058】
エントロピー符号化部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)をさらに含むことができる。本開示で言及されたシグナリング情報、伝送される情報及び/又はシンタックス要素は、上述した符号化手順を介して符号化されて前記ビットストリームに含まれることができる。
【0059】
前記ビットストリームは、ネットワークを介して伝送されることができ、又はデジタル記憶媒体に保存されることができる。ここで、ネットワークは、放送網及び/又は通信網などを含むことができ、デジタル記憶媒体は、USB、SD、CD、DVD、Blu-ray、HDD、SSDなどのさまざまな記憶媒体を含むことができる。エントロピー符号化部190から出力された信号を伝送する伝送部(図示せず)及び/又は保存する保存部(図示せず)が画像符号化装置100の内/外部要素として備えられることができ、又は伝送部はエントロピー符号化部190の構成要素として備えられることもできる。
【0060】
量子化部130から出力された、量子化された変換係数は、レジデュアル信号を生成するために用いられることができる。例えば、量子化された変換係数に逆量子化部140及び逆変換部150を介して逆量子化及び逆変換を適用することにより、レジデュアル信号(レジデュアルブロック又はレジデュアルサンプル)を復元することができる。
【0061】
加算部155は、復元されたレジデュアル信号をインター予測部180又はイントラ予測部185から出力された予測信号に加えることにより、復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部155は、復元部又は復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するようにフィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
【0062】
フィルタリング部160は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部160は、復元ピクチャに様々なフィルタリング方法を適用して、修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ170、具体的にはメモリ170のDPBに保存することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、双方向フィルタ(bilateral filter)などを含むことができる。フィルタリング部160は、各フィルタリング方法についての説明で後述するようにフィルタリングに関する様々な情報を生成してエントロピー符号化部190に伝達することができる。フィルタリングに関する情報は、エントロピー符号化部190で符号化されてビットストリーム形式で出力されることができる。
【0063】
メモリ170に伝送された、修正された復元ピクチャは、インター予測部180で参照ピクチャとして使用されることができる。画像符号化装置100は、これを介してインター予測が適用される場合、画像符号化装置100と画像復号化装置での予測ミスマッチを回避することができ、符号化効率も向上させることができる。
【0064】
メモリ170内のDPBは、インター予測部180での参照ピクチャとして使用するために、修正された復元ピクチャを保存することができる。メモリ170は、現在ピクチャ内の動き情報が導出された(又は符号化された)ブロックの動き情報及び/又は既に復元されたピクチャ内ブロックの動き情報を保存することができる。前記保存された動き情報は、空間周辺ブロックの動き情報又は時間周辺ブロックの動き情報として活用するために、インター予測部180に伝達されることができる。メモリ170は、現在ピクチャ内の復元されたブロックの復元サンプルを保存することができ、イントラ予測部185に伝達することができる。
【0065】
画像復号化装置の概要
【0066】
図3は本開示による実施例が適用できる画像復号化装置を概略的に示す図である。
【0067】
図3に示されているように、画像復号化装置200は、エントロピー復号化部210、逆量子化部220、逆変換部230、加算部235、フィルタリング部240、メモリ250、インター予測部260及びイントラ予測部265を含んで構成できる。インター予測部260及びイントラ予測部265を合わせて「予測部」と呼ばれることができる。逆量子化部220、逆変換部230はレジデュアル処理部に含まれることができる。
【0068】
画像復号化装置200を構成する複数の構成部の全部又は少なくとも一部は、実施例によって一つのハードウェアコンポーネント(例えば、デコーダ又はプロセッサ)で実現されることができる。また、メモリ170は、DPBを含むことができ、デジタル記憶媒体によって実現できる。
【0069】
ビデオ/画像情報を含むビットストリームを受信した画像復号化装置200は、
図2の画像符号化装置100で行われたプロセスに対応するプロセスを実行して画像を復元することができる。例えば、画像復号化装置200は、画像符号化装置で適用された処理ユニットを用いて復号化を行うことができる。したがって、復号化の処理ユニットは、例えばコーディングユニットであることができる。コーディングユニットは、コーディングツリーユニット又は最大コーディングユニットを分割して取得できる。そして、画像復号化装置200を介して復号化及び出力された復元画像信号は、再生装置(図示せず)を介して再生できる。
【0070】
画像復号化装置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の構成要素として備えられることもできる。
【0071】
一方、本開示による画像復号化装置は、ビデオ/画像/ピクチャ復号化装置と呼ばれることができる。前記画像復号化装置は、情報デコーダ(ビデオ/画像/ピクチャ情報デコーダ)及び/又はサンプルデコーダ(ビデオ/画像/ピクチャサンプルデコーダ)を含むこともできる。前記情報デコーダは、エントロピー復号化部210を含むことができ、前記サンプルデコーダは、逆量子化部220、逆変換部230、加算部235、フィルタリング部240、メモリ250、インター予測部260及びイントラ予測部265のうちの少なくとも一つを含むことができる。
【0072】
逆量子化部220では、量子化された変換係数を逆量子化して変換係数を出力することができる。逆量子化部220は、量子化された変換係数を2次元のブロック形式で再整列することができる。この場合、前記再整列は、画像符号化装置で行われた係数スキャン順序に基づいて行われることができる。逆量子化部220は、量子化パラメータ(例えば、量子化ステップサイズ情報)を用いて、量子化された変換係数に対する逆量子化を行い、変換係数(transform coefficient)を取得することができる。
【0073】
逆変換部230では、変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を取得することができる。
【0074】
予測部は、現在ブロックに対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、エントロピー復号化部210から出力された前記予測に関する情報に基づいて、前記現在ブロックにイントラ予測が適用されるか或いはインター予測が適用されるかを決定することができ、具体的なイントラ/インター予測モード(予測技法)を決定することができる。
【0075】
予測部が後述の様々な予測方法(技法)に基づいて予測信号を生成することができるのは、画像符号化装置100の予測部についての説明で述べたのと同様である。
【0076】
イントラ予測部265は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。イントラ予測部185についての説明は、イントラ予測部265に対しても同様に適用されることができる。
【0077】
インター予測部260は、参照ピクチャ上で動きベクトルによって特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導することができる。この時、インター予測モードで伝送される動き情報の量を減らすために、周辺ブロックと現在ブロックとの動き情報の相関性に基づいて動き情報をブロック、サブブロック又はサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測など)情報をさらに含むことができる。インター予測の場合に、周辺ブロックは、現在ピクチャ内に存在する空間周辺ブロック(spatial neighboring block)と参照ピクチャに存在する時間周辺ブロック(temporal neighboring block)を含むことができる。例えば、インター予測部260は、周辺ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出することができる。様々な予測モード(技法)に基づいてインター予測が行われることができ、前記予測に関する情報は、前記現在ブロックに対するインター予測のモード(技法)を指示する情報を含むことができる。
【0078】
加算部235は、取得されたレジデュアル信号を予測部(インター予測部260及び/又はイントラ予測部265を含む)から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることにより、復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部155についての説明は、加算部235に対しても同様に適用できる。加算部235は、復元部又は復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するようにフィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
【0079】
フィルタリング部240は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部240は、復元ピクチャに様々なフィルタリング方法を適用して、修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ250、具体的にはメモリ250のDPBに保存することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、双方向フィルタ(bilateral filter)などを含むことができる。
【0080】
メモリ250のDPBに保存された(修正された)復元ピクチャは、インター予測部260で参照ピクチャとして使用されることができる。メモリ250は、現在ピクチャ内の動き情報が導出された(又は復号化された)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を保存することができる。前記保存された動き情報は、空間周辺ブロックの動き情報又は時間周辺ブロックの動き情報として活用するために、インター予測部260に伝達することができる。メモリ250は、現在ピクチャ内の復元されたブロックの復元サンプルを保存することができ、イントラ予測部265に伝達することができる。
【0081】
本明細書において、画像符号化装置100のフィルタリング部160、インター予測部180及びイントラ予測部185で説明された実施例は、それぞれ画像復号化装置200のフィルタリング部240、インター予測部260及びイントラ予測部265にも、同様に又は対応するように適用されることができる。
【0082】
画像分割の概要
【0083】
本開示によるビデオ/画像コーディング方法は、次の画像分割構造に基づいて行われることができる。具体的には、後述する予測、レジデュアル処理((逆)変換、(逆)量子化など)、シンタックス要素コーディング、フィルタリングなどの手順は、前記画像の分割構造に基づいて導出されたCTU、CU(及び/又はTU、PU)に基づいて行われることができる。画像はブロック単位で分割されることができ、ブロック分割手順は上述した符号化装置の画像分割部110で行われることができる。分割関連情報は、エントロピー符号化部190で符号化されてビットストリーム形式で復号化装置へ伝達できる。復号化装置のエントロピー復号化部210は、前記ビットストリームから取得した前記分割関連情報に基づいて、現在ピクチャのブロック分割構造を導出し、これに基づいて画像復号化のための一連の手順(例えば、予測、レジデュアル処理、ブロック/ピクチャ復元、インループフィルタリングなど)を行うことができる。
【0084】
ピクチャは、コーディングツリーユニット(coding tree units、CTUs)のシーケンスに分割されることができる。
図4はピクチャがCTUに分割される例を示す。CTUはコーディングツリーブロック(Coding tree blocks、CTB)に対応することができる。或いは、CTUは、ルマサンプルのコーディングツリーブロックと、対応するクロマサンプルの二つのコーディングツリーブロックと、を含むことができる。例えば、三つのサンプルアレイを含むピクチャに対して、CTUは、ルマサンプルのN×Nブロックとクロマサンプルの二つの対応ブロックを含むことができる。コーディング及び予測などのためのCTUの最大許容サイズは、変換のためのCTUの最大許容サイズとは異なることができる。例えば、CTU内のルマブロックの最大許容サイズは、たとえルマ変換ブロックの最大サイズが64×64である場合でも、128×128であり得る。
【0085】
CTU分割の概要
【0086】
前述したように、コーディングユニットは、コーディングツリーユニット(CTU)又は最大コーディングユニット(LCU)をQT/BT/TT(Quad-tree/binary-tree/ternary-tree)構造によって再帰的に分割することにより取得できる。例えば、CTUは、まず、四分木構造に分割されることができる。その後、四分木構造のリーフノードは、マルチタイプツリー構造によってさらに分割されることができる。
【0087】
四分木による分割は、現在CU(又はCTU)を4等分する分割を意味する。四分木による分割によって、現在CUは、同じ幅と同じ高さを有する4つのCUに分割されることができる。現在CUがそれ以上四分木構造に分割されない場合、現在CUは、四分木構造のリーフノードに該当する。四分木構造のリーフノードに該当するCUは、それ以上分割されず、前述した最終コーディングユニットとして使用できる。又は、四分木構造のリーフノードに該当するCUは、マルチタイプツリー構造によってさらに分割されることができる。
【0088】
図5はマルチタイプツリー構造によるブロックの分割タイプを示す図である。マルチタイプツリー構造による分割は、二分木構造による2つの分割と三分木構造による2つの分割を含むことができる。
【0089】
二分木構造による2つの分割は、垂直バイナリ分割(vertical binary splitting、SPLIT_BT_VER)と水平バイナリ分割(horizontal binary splitting、SPLIT_BT_HOR)を含むことができる。垂直バイナリ分割(SPLIT_BT_VER)は、現在CUを垂直方向に二等分する分割を意味する。
図4に示されているように、垂直バイナリ分割によって、現在CUの高さと同じ高さ及び現在CUの幅の半分の幅を有する2つのCUが生成されることができる。水平バイナリ分割(SPLIT_BT_HOR)は、現在CUを水平方向に二等分する分割を意味する。
図5に示されているように、水平バイナリ分割によって、現在CUの高さの半分の高さ、及び現在CUの幅と同じ幅を有する2つのCUが生成されることができる。
【0090】
三分木構造による2つの分割は、垂直ターナリ分割(vertical ternary splitting、SPLIT_TT_VER)と水平ターナリ分割(horizontal ternary splitting、SPLIT_TT_HOR)を含むことができる。垂直ターナリ分割(SPLIT_TT_VER)は、現在CUを垂直方向に1:2:1の割合で分割する。
図5に示されているように、垂直ターナリ分割によって、現在CUの高さと同じ高さ及び現在CUの幅の1/4の幅を有する2つのCUと、現在CUの高さと同じ高さ及び現在CUの幅の半分の幅を有するCUが生成されることができる。水平ターナリ分割(SPLIT_TT_HOR)は、現在CUを水平方向に1:2:1の割合で分割する。
図4に示されているように、水平ターナリ分割によって、現在CUの高さの1/4の高さ、及び現在CUの幅と同じ幅を有する2つのCUと、現在CUの高さの半分の高さ、及び現在CUの幅と同じ幅を有する1つのCUが生成されることができる。
【0091】
図6は本開示によるマルチタイプツリーを伴う四分木(quadtree with nested multi-type tree)構造におけるブロック分割情報のシグナリングメカニズムを例示的に示す図である。
【0092】
ここで、CTUは四分木のルート(root)ノードとして扱われ、CTUは四分木構造に初めて分割される。現在CU(CTU又は四分木のノード(QT_node))に対して四分木分割を行うか否かを指示する情報(例えば、qt_split_flag)がシグナリングされることができる。例えば、qt_split_flagが第1値(例えば、「1」)であれば、現在CUは四分木に分割されることができる。また、qt_split_flagが第2値(例えば、「0」)であれば、現在CUは、四分木に分割されず、四分木のリーフノード(QT_leaf_node)になる。各四分木のリーフノードは、以後、マルチタイプツリー構造にさらに分割されることができる。つまり、四分木のリーフノードは、マルチタイプツリーのノード(MTT_node)になることができる。マルチタイプツリー構造で、現在ノードがさらに分割されるかを指示するために、第1フラグ(a first flag、例えば、mtt_split_cu_flag)がシグナリングされることができる。もし当該ノードがさらに分割される場合(例えば、第1フラグが1である場合)には、分割方向(splitting direction)を指示するために、第2フラグ(a second flag、例えば、mtt_split_cu_verticla_flag)がシグナリングされることができる。例えば、第2フラグが1である場合には、分割方向は垂直方向であり、第2フラグが0である場合には、分割方向は水平方向であることができる。その後、分割タイプがバイナリ分割タイプであるかターナリ分割タイプであるかを指示するために、第3フラグ(a third flag、例えば、mtt_split_cu_binary_flag)がシグナリングされることができる。例えば、第3フラグが1である場合には、分割タイプはバイナリ分割タイプであり、第3フラグが0である場合には、分割タイプはターナリ分割タイプであることができる。バイナリ分割又はターナリ分割によって取得されたマルチタイプツリーのノードは、マルチタイプツリー構造にさらにパーティショニングされることができる。しかし、マルチタイプツリーのノードは四分木構造にパーティショニングされることはできない。前記第1フラグが0である場合、マルチタイプツリーの該当ノードは、それ以上分割されず、マルチタイプツリーのリーフノード(MTT_leaf_node)になる。マルチタイプツリーのリーフノードに該当するCUは、前述した最終コーディングユニットとして使用できる。
【0093】
前述したmtt_split_cu_vertical_flag及びmtt_split_cu_binary_flagに基づいて、CUのマルチタイプツリー分割モード(multi-type tree splitting mode、MttSplitMode)が表1の通りに導出されることができる。以下の説明において、マルチツリー分割モードは、マルチツリー分割タイプ又は分割タイプと略称されることがある。
【0094】
【0095】
図7は四分木の適用後にマルチタイプツリーが適用されることによりCTUが多重CUに分割される例を示す。
図7において、太いブロックエッジ(bold block edge)710は四分木分割を示し、残りのエッジ720はマルチタイプツリー分割を示す。CUはコーディングブロックCBに対応することができる。一実施例において、CUは、ルマサンプルのコーディングブロックと、ルマサンプルに対応するクロマサンプルの二つのコーディングブロックと、を含むことができる。クロマ成分(サンプル)CB又はTBサイズは、ピクチャ/画像のカラーフォーマット(クロマフォーマット、例えば、4:4:4、4:2:2、4:2:0など)による成分比に従ってルマ成分(サンプル)CB又はTBサイズに基づいて導出されることができる。カラーフォーマットが4:4:4である場合、クロマ成分CB/TBサイズは、ルマ成分CB/TBサイズと同一に設定されることができる。カラーフォーマットが4:2:2である場合、クロマ成分CB/TBの幅はルマ成分CB/TBの幅の半分に設定され、クロマ成分CB/TBの高さはルマ成分CB/TBの高さに設定されることができる。カラーフォーマットが4:2:0である場合、クロマ成分CB/TBの幅はルマ成分CB/TBの幅の半分に設定され、クロマ成分CB/TBの高さはルマ成分CB/TBの高さの半分に設定されることができる。
【0096】
一実施例において、ルマサンプル単位を基準にCTUのサイズが128であるとき、CUのサイズは、CTUと同じサイズである128×128から4×4までのサイズを有することができる。一実施例において、4:2:0カラーフォーマット(又はクロマフォーマット)である場合、クロマCBサイズは64×64から2×2までのサイズを有することができる。
【0097】
一方、一実施例において、CUサイズとTUサイズとが同じであり得る。又は、CU領域内に複数のTUが存在することもできる。TUサイズとは、一般的に、ルマ成分(サンプル)TB(Transform Block)サイズを示すことができる。
【0098】
前記TUサイズは、予め設定された値である最大許容TBサイズ(maxTbSize)に基づいて導出されることができる。例えば、前記CUサイズが前記maxTbSizeよりも大きい場合、前記CUから、前記maxTbSizeを持つ複数のTU(TB)が導出され、前記TU(TB)単位で変換/逆変換が行われることができる。例えば、最大許容ルマTBサイズは64×64であり、最大許容クロマTBサイズは32×32であり得る。もし前記ツリー構造によって分割されたCBの幅又は高さが最大変換幅又は高さよりも大きい場合、当該CBは、自動的に(又は黙示的に)水平及び垂直方向のTBサイズの制限を満足するまで分割されることができる。
【0099】
また、例えばイントラ予測が適用される場合、イントラ予測モード/タイプは、前記CU(又はCB)単位で導出され、周辺参照サンプルの導出及び予測サンプルの生成手順は、TU(又はTB)単位で行われることができる。この場合、一つのCU(又はCB)領域内に一つ又は複数のTU(又はTB)が存在することができ、この場合、前記複数のTU(又はTB)は同じイントラ予測モード/タイプを共有することができる。
【0100】
一方、マルチタイプツリーを伴った四分木コーディングツリースキームのために、次のパラメータがSPSシンタックス要素として符号化装置から復号化装置にシグナリングされることができる。例えば、四分木のルートノードのサイズを示すパラメータであるCTUsize、四分木のリーフノードの最小許容サイズを示すパラメータであるMinQTSize、二分木のルートノードの最大許容サイズを示すパラメータであるMaxBTSize、三分木のルートノードの最大許容サイズを示すパラメータであるMaxTTSize、四分木のリーフノードから分割されるマルチタイプツリーの最大許容階層深さ(maximum allowed hierarchy depth)を示すパラメータであるMaxMttDepth、二分木の最小許容リーフノードサイズを示すパラメータであるMinBtSize、及び三分木の最小許容リーフノードサイズを示すパラメータであるMinTtSizeのうちの少なくとも一つがシグナリングされることができる。
【0101】
4:2:0のクロマフォーマットを用いる一実施例において、CTUサイズは128×128ルマブロック、及びルマブロックに対応する二つの64×64クロマブロックに設定されることができる。この場合、MinQTSizeは16×16に設定され、MaxBtSizeは128×128に設定され、MaxTtSizeは64×64に設定され、MinBtSize及びMinTtSizeは4×4に設定され、MaxMttDepthは4に設定されることができる。四分木分割は、CTUに適用されて四分木のリーフノードを生成することができる。四分木のリーフノードはリーフQTノードと呼ばれることができる。四分木のリーフノードは16×16サイズ(例えば、the MinQTSize)から128×128サイズ(例えば、the CTU size)を有することができる。もしリーフQTノードが128×128である場合、さらに二分木/三分木に分割されないことができる。これは、この場合に分割されてもMaxBtsize及びMaxTtsize(例えば、64×64)を超過するためである。これ以外の場合、リーフQTノードは、マルチタイプツリーにさらに分割されることができる。よって、リーフQTノードは、マルチタイプツリーに対するルートノード(root node)であり、リーフQTノードは、マルチタイプツリーデプス(mttDepth)0値を有することができる。もし、マルチタイプツリーデプスがMaxMttdepth(例えば、4)に到達した場合、それ以上の追加分割は考慮されないことができる。もし、マルチタイプツリーノードの幅がMinBtSizeと同じであり、2xMinTtSizeと同じかそれより小さい場合、それ以上の追加的な水平分割は考慮されないことができる。もし、マルチタイプツリーノードの高さがMinBtSizeと同じであり、2xMinTtSizeと同じかそれより小さい場合、それ以上の追加的な垂直分割は考慮されないことができる。このように分割が考慮されない場合、符号化装置は、分割情報のシグナリングを省略することができる。このような場合、復号化装置は、分割情報を所定の値に誘導することができる。
【0102】
一方、一つのCTUは、ルマサンプルのコーディングブロック(以下、「ルマブロック」という)と、これに対応するクロマサンプルの二つのコーディングブロック(以下、「クロマブロック」という)と、を含むことができる。前述したコーディングツリースキームは、現在CUのルマブロック及びクロマブロックに対して同様に適用されることもでき、個別的に(separate)適用されることもできる。具体的には、一つのCTU内のルマブロック及びクロマブロックが同じブロックツリー構造に分割されることができ、この場合のツリー構造は、シングルツリー(SINGLE_TREE)と表すことができる。又は、一つのCTU内のルマブロック及びクロマブロックは、個別ブロックツリー構造に分割されることができ、この場合のツリー構造は、デュアルツリー(DUAL_TREE)と表すことができる。つまり、CTUがデュアルツリーに分割される場合、ルマブロックに対するブロックツリー構造とクロマブロックに対するブロックツリー構造が別個に存在することができる。このとき、ルマブロックに対するブロックツリー構造は、デュアルツリールマ(DUAL_TREE_LUMA)と呼ばれることができ、クロマブロックに対するブロックツリー構造は、デュアルツリークロマ(DUAL_TREE_CHROMA)と呼ばれることができる。P及びBスライス/タイルグループに対して、一つのCTU内のルマブロック及びクロマブロックは、同じコーディングツリー構造を持つように制限されることができる。しかし、Iスライス/タイルグループに対して、ルマブロック及びクロマブロックは、互いに個別ブロックツリー構造を持つことができる。もし個別ブロックツリー構造が適用される場合、ルマCTB(Coding Tree Block)は、特定のコーディングツリー構造に基づいてCUに分割され、クロマCTBは、他のコーディングツリー構造に基づいてクロマCUに分割されることができる。すなわち、個別ブロックツリー構造が適用されるIスライス/タイルグループ内のCUは、ルマ成分のコーディングブロック又は2つのクロマ成分のコーディングブロックで構成され、P又はBスライス/タイルグループのCUは、三つのカラー成分(ルマ成分及び二つのクロマ成分)のブロックで構成されることができることを意味することができる。
【0103】
上記において、マルチタイプツリーを伴った四分木コーディングツリー構造について説明したが、CUが分割される構造はこれに限定されない。例えば、BT構造及びTT構造は、多数の分割ツリー(Multiple Partitioning Tree、MPT)構造に含まれる概念と解釈されることができ、CUはQT構造及びMPT構造によって分割されると解釈することができる。QT構造及びMPT構造によってCUが分割される一例において、QT構造のリーフノードが幾つかのブロックに分割されるかに関する情報を含むシンタックス要素(例えば、MPT_split_type)及びQT構造のリーフノードが垂直及び水平のうちのどの方向に分割されるかに関する情報を含むシンタックス要素(例えば、MPT_split_mode)がシグナリングされることにより、分割構造が決定されることができる。
【0104】
別の例において、CUは、QT構造、BT構造又はTT構造とは異なる方法で分割されることができる。つまり、QT構造によって下位デプスのCUが上位デプスのCUの1/4サイズに分割されるか、或いはBT構造によって下位デプスのCUが上位デプスのCUの1/2サイズに分割されるか、或いはTT構造によって下位デプスのCUが上位デプスのCUの1/4又は1/2サイズに分割されるのとは異なり、下位デプスのCUは、場合によって、上位デプスのCUの1/5、1/3、3/8、3/5、2/3又は5/8のサイズに分割されることができ、CUが分割される方法は、これに限定されない。
【0105】
このように、前記マルチタイプツリーを伴った四分木コーディングブロック構造は、非常に柔軟なブロック分割構造を提供することができる。一方、マルチタイプツリーに支援される分割タイプのために、場合によって異なる分割パターンが潜在的に同一のコーディングブロック構造結果を導出することができる。符号化装置と復号化装置は、このような冗長(redundant)分割パターンの発生を制限することにより、分割情報のデータ量を減らすことができる。
【0106】
また、本文書によるビデオ/画像の符号化及び復号化において、画像処理単位は階層的構造を持つことができる。一つのピクチャは、一つ以上のタイル、ブリック、スライス、及び/又はタイルグループに区分できる。一つのスライスは一つ以上のブリックを含むことができる。一つのブリックは、タイル内の一つ以上のCTU行(row)を含むことができる。スライスはピクチャの整数個のブリックを含むことができる。一つのタイルグループは一つ以上のタイルを含むことができる。一つのタイルは一つ以上のCTUを含むことができる。前記CTUは一つ以上のCUに分割されることができる。タイルは、ピクチャ内で複数のCTUからなる特定のタイル行及び特定のタイル列で構成される四角領域であり得る。タイルグループは、ピクチャ内のタイルラスタースキャンによる整数個のタイルを含むことができる。スライスヘッダーは、該当スライス(スライス内のブロック)に適用できる情報/パラメータを運ぶことができる。符号化装置又は復号化装置がマルチコアプロセッサを有する場合、前記タイル、スライス、ブリック及び/又はタイルグループに対する符号化/復号化手順は並列処理できる。
【0107】
本開示において、スライス又はタイルグループの呼称又は概念は混用できる。すなわち、タイルグループヘッダーは、スライスヘッダーと呼ばれることができる。ここで、スライスは、intra(I)slice、predictive(P)slice、及びbi-predictive(B)sliceを含むスライスタイプのうちの一つのタイプを有することができる。Iスライス内のブロックに対しては、予測のためにインター予測は使用されず、イントラ予測のみ使用されることができる。もちろん、この場合にも、予測なしに原本サンプル値をコーディングしてシグナリングすることもできる。Pスライス内のブロックに対しては、イントラ予測又はインター予測が使用でき、インター予測が使用される場合には、単(uni)予測のみ使用できる。一方、Bスライス内のブロックに対しては、イントラ予測又はインター予測が使用でき、インター予測が使用される場合には、最大双(bi)予測まで使用できる。
【0108】
符号化装置は、ビデオ画像の特性(例えば、解像度)に応じて、或いはコーディングの効率又は並列処理を考慮して、タイル/タイルグループ、ブリック、スライス、最大及び最小コーディングユニットサイズを決定することができる。そして、これに関する情報又はこれを誘導し得る情報がビットストリームに含まれることができる。
【0109】
復号化装置は、現在ピクチャのタイル/タイルグループ、ブリック、スライス、タイル内のCTUが多数のコーディングユニットに分割されたかなどを示す情報を取得することができる。符号化装置及び復号化装置は、このような情報を特定の条件下でのみシグナリングすることにより、符号化効率を高めることもできる。
【0110】
前記スライスヘッダー(スライスヘッダーシンタックス)は、前記スライスに共通に適用可能な情報/パラメータを含むことができる。APS(APSシンタックス)又はPPS(PPSシンタックス)は、一つ以上のピクチャに共通に適用可能な情報/パラメータを含むことができる。SPS(SPSシンタックス)は、一つ以上のシーケンスに共通に適用可能な情報/パラメータを含むことができる。VPS(VPSシンタックス)は、多重レイヤーに共通に適用可能な情報/パラメータを含むことができる。DPS(DPSシンタックス)は、ビデオ全般に共通に適用可能な情報/パラメータを含むことができる。DPSは、CVS(coded video sequence)の結合に関連する情報/パラメータを含むことができる。
【0111】
また、例えば、前記タイル/タイルグループ/ブリック/スライスの分割及び構成などに関する情報は、前記上位レベルシンタックスを介して符号化段階において構成されてビットストリーム形式で復号化装置へ伝達できる。
【0112】
イントラ予測の概要
【0113】
以下、上述した符号化装置及び復号化装置が行うイントラ予測についてより詳細に説明する。イントラ予測は、現在ブロックの属するピクチャ(以下、現在ピクチャ)内の参照サンプルに基づいて現在ブロックに対する予測サンプルを生成する予測を示すことができる。
【0114】
図8を参照して説明する。現在ブロック801にイントラ予測が適用される場合、現在ブロック801のイントラ予測に使用する周辺参照サンプルが導出されることができる。前記現在ブロックの周辺参照サンプルは、サイズnW×nHの現在ブロックの左側(left)境界に隣接するサンプル811及び左下側(bottom-left)に隣接するサンプル812を含む合計2×nH個のサンプル、現在ブロックの上側(top)境界に隣接するサンプル821及び右上側(top-right)に隣接するサンプル822を含む合計2×nW個のサンプル、並びに現在ブロックの左上側(top-light)に隣接する1つのサンプル831を含むことができる。又は、前記現在ブロックの周辺参照サンプルは、複数列の上側周辺サンプル及び複数行の左側周辺サンプルを含むこともできる。
【0115】
また、前記現在ブロックの周辺基準サンプルは、サイズnW×nHの現在ブロックの右側(right)境界に隣接する合計nH個のサンプル841、現在ブロックの下側(bottom)境界に隣接する合計nW個のサンプル851、及び現在ブロックの右下側(bottom-right)に隣接する一つのサンプル842を含むこともできる。
【0116】
ただし、現在ブロックの周辺参照サンプルのうちの一部は、まだ復号化されていないか、或いは利用可能でない可能性がある。この場合、復号化装置は、利用可能でないサンプルを利用可能なサンプルで置き換える(substitution)ことにより、予測に使用する周辺参照サンプルを構成することができる。又は、利用可能なサンプルの補間(interpolation)を介して、予測に使用する周辺参照サンプルを構成することができる。
【0117】
周辺参照サンプルが導出された場合、(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ベースのイントラ予測と呼ばれることができる。このようなイントラ予測方法は、イントラ予測モード(例えば、DCモード、Planarモード及び方向性モード)と区分してイントラ予測タイプと呼ばれることができる。前記イントラ予測タイプは、イントラ予測技法又は付加イントラ予測モードなどの様々な用語で呼ばれることができる。例えば、前記イントラ予測タイプ(又は付加イントラ予測モードなど)は、上述したLIP、PDPC、MRL、ISPのうちの少なくとも一つを含むことができる。前記LIP、PDPC、MRL、ISPなどの特定のイントラ予測タイプを除いた一般イントラ予測方法は、ノーマルイントラ予測タイプと呼ばれることができる。ノーマルイントラ予測タイプは、上述した特定のイントラ予測タイプが適用されない場合を指すことができ、上述したイントラ予測モードに基づいて予測が行われることができる。一方、必要に応じて、導出された予測サンプルに対する後処理フィルタリングが行われることもできる。
【0118】
具体的には、イントラ予測手順は、イントラ予測モード/タイプ決定ステップ、周辺参照サンプル導出ステップ、イントラ予測モード/タイプベースの予測サンプル導出ステップを含むことができる。さらに、必要に応じて、導出された予測サンプルに対する後処理フィルタリング(post-filtering)ステップが行われることもできる。
【0119】
一方、上述したイントラ予測タイプの他にも、ALWIP(affine linear weighted intra prediction)が使用されることができる。前記ALWIPは、LWIP(linear weighted intra prediction)又はMIP(matrix weighted intra prediction又はmatrix based intra prediction)と呼ばれることもできる。前記MIPが現在ブロックに対して適用される場合、i)平均化(averaging)手順が行われた周辺参照サンプルを用いてii)マトリクスベクトルマルチプリケーション(matrix-vector-multiplication)手順を行い、iii)必要に応じて水平/垂直補間(interpolation)手順をさらに行うことにより、前記現在ブロックに対する予測サンプルを導出することができる。前記MIPのために使用されるイントラ予測モードは、上述したLIP、PDPC、MRL、ISPイントラ予測、又はノーマルイントラ予測で使用されるイントラ予測モードとは異なるように構成できる。前記MIPのためのイントラ予測モードは、MIPイントラ予測モード、MIP予測モード又はMIPモードと呼ばれることができる。例えば、前記MIPのためのイントラ予測モードに応じて、前記マトリクスベクトルマルチプリケーションで使用されるマトリクス及びオフセットが異なるように設定されることができる。ここで、前記マトリクスは(MIP)重みマトリクスと呼ばれることができ、前記オフセットは(MIP)オフセットベクトル又は(MIP)バイアス(bias)ベクトルと呼ばれることができる。具体的なMIP方法については後述する。
【0120】
イントラ予測に基づくブロック復元手順及び符号化装置内のイントラ予測部は、概略的に例を挙げて以下を含むことができる。S910は、符号化装置のイントラ予測部185によって行われることができ、S920は、符号化装置の減算部115、変換部120、量子化部130、逆量子化部140及び逆変換部150のうちの少なくとも1つを含むレジデュアル処理部によって行われることができる。具体的には、S920は、符号化装置の減算部115によって行われることができる。S930で、予測情報は、イントラ予測部185によって導出され、エントロピー符号化部190によって符号化されることができる。S930で、レジデュアル情報は、レジデュアル処理部によって導出され、エントロピー符号化部190によって符号化されることができる。前記レジデュアル情報は、前記レジデュアルサンプルに関する情報である。前記レジデュアル情報は、前記レジデュアルサンプルに対する量子化された変換係数に関する情報を含むことができる。上述したように、前記レジデュアルサンプルは、符号化装置の変換部120を介して変換係数に導出され、前記変換係数は、量子化部130を介して量子化された変換係数として導出されることができる。前記量子化された変換係数に関する情報が、レジデュアルコーディング手順を介してエントロピー符号化部190で符号化されることができる。
【0121】
符号化装置は、現在ブロックに対するイントラ予測を行うことができる(S910)。符号化装置は、現在ブロックに対するイントラ予測モード/タイプを導出し、現在ブロックの周辺参照サンプルを導出することができ、前記イントラ予測モード/タイプ及び前記周辺参照サンプルに基づいて前記現在ブロック内の予測サンプルを生成する。ここで、イントラ予測モード/タイプの決定、周辺参照サンプルの導出、及び予測サンプルの生成手順は、同時に行われてもよく、いずれか一つの手順が他の手順よりも先に行われてもよい。例えば、図示されてはいないが、符号化装置のイントラ予測部185は、イントラ予測モード/タイプ決定部、参照サンプル導出部、予測サンプル導出部を含むことができ、イントラ予測モード/タイプ決定部で前記現在ブロックに対するイントラ予測モード/タイプを決定し、参照サンプル導出部で前記現在ブロックの周辺参照サンプルを導出し、予測サンプル導出部で前記現在ブロックの予測サンプルを導出することができる。一方、後述する予測サンプルフィルタリング手順が行われる場合、イントラ予測部185は、予測サンプルフィルタ部をさらに含むこともできる。符号化装置は、複数のイントラ予測モード/タイプのうち、前記現在ブロックに対して適用されるモード/タイプを決定することができる。符号化装置は、前記イントラ予測モード/タイプに対するRDコストを比較し、前記現在ブロックに対する最適なイントラ予測モード/タイプを決定することができる。
【0122】
一方、符号化装置は、予測サンプルフィルタリング手順を行うこともできる。予測サンプルフィルタリングは、ポストフィルタリングと呼ばれることができる。前記予測サンプルフィルタリング手順によって、前記予測サンプルのうちの一部又は全部がフィルタリングされることができる。場合によっては、前記予測サンプルフィルタリング手順は省略可能である。
【0123】
符号化装置は、(フィルタリングされた)予測サンプルに基づいて前記現在ブロックに対するレジデュアルサンプルを生成することができる(S920)。符号化装置は、現在ブロックの原本サンプルにおける前記予測サンプルを位相に基づいて比較し、前記レジデュアルサンプルを導出することができる。
【0124】
符号化装置は、前記イントラ予測に関する情報(予測情報)、及び前記レジデュアルサンプルに関するレジデュアル情報を含む画像情報を符号化することができる(S930)。前記予測情報は、前記イントラ予測モード情報、前記イントラ予測タイプ情報を含むことができる。符号化装置は、符号化された画像情報がビットストリーム形式で出力されることができる。出力されたビットストリームは、記憶媒体又はネットワークを介して復号化装置へ伝達されることができる。
【0125】
前記レジデュアル情報は、後述するレジデュアルコーディングシンタックスを含むことができる。符号化装置は、前記レジデュアルサンプルを変換/量子化して、量子化された変換係数を導出することができる。前記レジデュアル情報は、前記量子化された変換係数に対する情報を含むことができる。
【0126】
一方、上述したように、符号化装置は、復元ピクチャ(復元サンプル及び復元ブロックを含む)を生成することができる。このために、符号化装置は、前記量子化された変換係数を再び逆量子化/逆変換処理して(修正された)レジデュアルサンプルを導出することができる。このようにレジデュアルサンプルを変換/量子化した後、再び逆量子化/逆変換を行う理由は、上述したように復号化装置で導出されるレジデュアルサンプルと同一のレジデュアルサンプルを導出するためである。符号化装置は、前記予測サンプルと(修正された)レジデュアルサンプルに基づいて前記現在ブロックに対する復元サンプルを含む復元ブロックを生成することができる。前記復元ブロックに基づいて前記現在ピクチャに対する復元ピクチャが生成されることができる。前記復元ピクチャにインループフィルタリング手順などがさらに適用できるのは、上述しとおりである。
【0127】
イントラ予測に基づくビデオ/画像復号化手順及び復号化装置内のイントラ予測部は、概略的に例を挙げて以下を含むことができる。復号化装置は、前記符号化装置で行われた動作と対応する動作を行うことができる。
【0128】
S1010~S1030は、復号化装置のイントラ予測部265によって行われることができ、S1010の予測情報及びS1040のレジデュアル情報は、復号化装置のエントロピー復号化部210によってビットストリームから取得できる。復号化装置の逆量子化部220及び逆変換部230のうちの少なくとも一つを含むレジデュアル処理部は、前記レジデュアル情報に基づいて現在ブロックに対するレジデュアルサンプルを導出することができる。具体的には、前記レジデュアル処理部の逆量子化部220は、前記レジデュアル情報に基づいて導出された量子化された変換係数に基づいて、逆量子化を行って変換係数を導出し、前記レジデュアル処理部の逆変換部230は、前記変換係数に対する逆変換を行って前記現在ブロックに対するレジデュアルサンプルを導出することができる。S1050は、復号化装置の加算部235又は復元部によって行われることができる。
【0129】
具体的には、復号化装置は、受信された予測情報(イントラ予測モード/タイプ情報)に基づいて、現在ブロックに対するイントラ予測モード/タイプを導出することができる(S1010)。復号化装置は、前記現在ブロックの周辺参照サンプルを導出することができる(S1020)。復号化装置は、前記イントラ予測モード/タイプ及び前記周辺参照サンプルに基づいて前記現在ブロック内の予測サンプルを生成することができる(S1030)。この場合、復号化装置は予測サンプルフィルタリング手順を行うことができる。予測サンプルフィルタリングは、ポストフィルタリングと呼ばれることができる。前記予測サンプルフィルタリング手順によって、前記予測サンプルのうちの一部又は全部がフィルタリングされることができる。場合によっては、予測サンプルフィルタリング手順は省略可能である。
【0130】
復号化装置は、受信したレジデュアル情報に基づいて前記現在ブロックに対するレジデュアルサンプルを生成することができる。復号化装置は、前記予測サンプル及び前記レジデュアルサンプルに基づいて前記現在ブロックに対する復元サンプルを生成し、前記復元サンプルを含む復元ブロックを導出することができる(S1040)。前記復元ブロックに基づいて前記現在ピクチャに対する復元ピクチャが生成されることができる。前記復元ピクチャにインループフィルタリング手順などがさらに適用できるのは、上述したとおりである。
【0131】
ここで、復号化装置のイントラ予測部265は、たとえ図示されてはいないが、イントラ予測モード/タイプ決定部、参照サンプル導出部、予測サンプル導出部を含むことができ、イントラ予測モード/タイプ決定部は、エントロピー復号化部210で取得されたイントラ予測モード/タイプ情報に基づいて前記現在ブロックに対するイントラ予測モード/タイプを決定し、参照サンプル導出部は、前記現在ブロックの周辺参照サンプルを導出し、予測サンプル導出部は、前記現在ブロックの予測サンプルを導出することができる。一方、上述した予測サンプルフィルタリング手順が行われる場合、イントラ予測部265は、予測サンプルフィルタ部をさらに含むこともできる。
【0132】
前記イントラ予測モード情報は、例えば、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リストが構成されることができる。
【0133】
さらに、前記イントラ予測タイプ情報は、様々な形態で実現できる。一例として、前記イントラ予測タイプ情報は、前記イントラ予測タイプのうちのいずれか一つを指示するイントラ予測タイプインデックス情報を含むことができる。他の例として、前記イントラ予測タイプ情報は、前記MRLが前記現在ブロックに適用されるか、及び適用される場合には幾番目の参照サンプルラインが用いられるかを示す参照サンプルライン情報(例えば、intra_luma_ref_idx)、前記ISPが前記現在ブロックに適用されるかを示すISPフラグ情報(例えば、intra_subpartitions_mode_flag)、前記ISPが適用される場合にサブパーティションが分割タイプを指示するISPタイプ情報(例えば、intra_subpartitions_split_flag)、PDCPの適用如何を示すフラグ情報、又はLIPの適用如何を示すフラグ情報のうちの少なくとも一つを含むことができる。また、前記イントラ予測タイプ情報は、前記現在ブロックにMIPが適用されるか否かを示すMIPフラグを含むことができる。
【0134】
前記イントラ予測モード情報及び/又は前記イントラ予測タイプ情報は、本文書で説明したコーディング方法を介して符号化/復号化されることができる。例えば、前記イントラ予測モード情報及び/又は前記イントラ予測タイプ情報は、truncated(rice)binary codeに基づいてエントロピーコーディング(例えば、CABAC、CAVLC)コーディングを介して符号化/復号化されることができる。
【0135】
インター予測の概要
【0136】
以下、
図2及び
図3を参照した符号化及び復号化についての説明におけるインター予測方法の詳細技術を説明する。復号化装置の場合、インター予測に基づくビデオ/画像復号化方法及び復号化装置内のインター予測部が以下の説明に従って動作することができる。符号化装置の場合、インター予測に基づくビデオ/画像符号化方法及び符号化装置内のインター予測部が以下の説明に従って動作することができる。これに加えて、以下の説明によって符号化されたデータはビットストリーム形式で保存できる。
【0137】
符号化装置/画像復号化装置の予測部は、ブロック単位でインター予測を行って予測サンプルを導出することができる。インター予測は、現在ピクチャ以外のピクチャのデータ要素(例えば、サンプル値、又は動き情報など)に依存的な方法で導出される予測を示すことができる。現在ブロックにインター予測が適用される場合、参照ピクチャインデックスが指す参照ピクチャ上で動きベクトルによって特定される参照ブロック(参照サンプルアレイ)を基に、現在ブロックに対する予測されたブロック(予測サンプルアレイ)を誘導することができる。この時、インター予測モードで伝送される動き情報の量を減らすために、周辺ブロックと現在ブロックとの動き情報の相関性に基づいて現在ブロックの動き情報をブロック、サブブロック又はサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測タイプ(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)はシグナリングされることができる。この場合、前記動きベクトル予測子及び動きベクトル差分の和を用いて前記現在ブロックの動きベクトルを導出することができる。
【0138】
前記動き情報は、インター予測タイプ(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は、前記現在ピクチャよりも出力順序において以前のピクチャを参照ピクチャとしてさらに含むことができる。この場合、前記参照ピクチャリストL1内で前記以後のピクチャが先にインデックス化され、前記以前のピクチャはその次にインデックス化されることができる。ここで、出力順序は、POC(picture order count)順序(order)に対応することができる。
【0139】
インター予測に基づくビデオ/画像符号化手順及び符号化装置内のインター予測部は、概略的に例を挙げて以下を含むことができる。
図11を参照して説明する。符号化装置は、現在ブロックに対するインター予測を行う(S1110)。符号化装置は、現在ブロックのインター予測モード及び動き情報を導出し、前記現在ブロックの予測サンプルを生成することができる。ここで、インター予測モード決定、動き情報導出及び予測サンプル生成手順は、同時に行われてもよく、いずれか一つの手順が他の手順よりも先に行われてもよい。例えば、符号化装置のインター予測部は、予測モード決定部、動き情報導出部、及び予測サンプル導出部を含むことができ、予測モード決定部で前記現在ブロックに対する予測モードを決定し、動き情報導出部で前記現在ブロックの動き情報を導出し、予測サンプル導出部で前記現在ブロックの予測サンプルを導出することができる。例えば、符号化装置のインター予測部は、動き推定(motion estimation)を介して参照ピクチャの一定の領域(探索領域)内で前記現在ブロックと類似のブロックを探索し、前記現在ブロックとの差が最小又は一定の基準以下である参照ブロックを導出することができる。これに基づいて、前記参照ブロックが位置する参照ピクチャを指し示す参照ピクチャインデックスを導出し、前記参照ブロックと前記現在ブロックとの位置差に基づいて動きベクトルを導出することができる。符号化装置は、様々な予測モードのうち、前記現在ブロックに対して適用されるモードを決定することができる。符号化装置は、前記様々な予測モードに対するRD costを比較し、前記現在ブロックに対する最適の予測モードを決定することができる。
【0140】
例えば、符号化装置は、前記現在ブロックにスキップモード又はマージモードが適用される場合、後述するマージ候補リストを構成し、前記マージ候補リストに含まれているマージ候補が指し示す参照ブロックのうち、前記現在ブロックとの差が最小又は一定の基準以下である参照ブロックを導出することができる。この場合、前記導出された参照ブロックに関連するマージ候補が選択され、前記選択されたマージ候補を指し示すマージインデックス情報が生成されて復号化装置にシグナリングされることができる。前記選択されたマージ候補の動き情報を用いて前記現在ブロックの動き情報を導出することができる。
【0141】
他の例として、符号化装置は、前記現在ブロックに(A)MVPモードが適用される場合、後述する(A)MVP候補リストを構成し、前記(A)MVP候補リストに含まれているmvp(motion vector predictor)候補のうち、選択されたmvp候補の動きベクトルを前記現在ブロックのmvpとして用いることができる。この場合、例えば、上述した動き推定によって導出された参照ブロックを指し示す動きベクトルが前記現在ブロックの動きベクトルとして用いられることができ、前記mvp候補のうち、前記現在ブロックの動きベクトルとの差が最も小さい動きベクトルを持つmvp候補が、前記選択されたmvp候補になることができる。前記現在ブロックの動きベクトルから前記mvpを差し引いた差分であるMVD(motion vector difference)が導出されることができる。この場合、前記MVDに関する情報が復号化装置にシグナリングされることができる。また、(A)MVPモードが適用される場合、前記参照ピクチャインデックスの値は、参照ピクチャインデックス情報で構成されて別途に前記復号化装置にシグナリングされることができる。
【0142】
符号化装置は、前記予測サンプルに基づいてレジデュアルサンプルを導出することができる(S1120)。符号化装置は、前記現在ブロックの原本サンプルと前記予測サンプルとの比較によって前記レジデュアルサンプルを導出することができる。
【0143】
符号化装置は、予測情報及びレジデュアル情報を含む画像情報を符号化する(S1130)。符号化装置は、符号化された画像情報をビットストリーム形式で出力することができる。前記予測情報は、前記予測手順に関連した情報であって、予測モード情報(例えば、skip flag、merge flag又はmode indexなど)及び動き情報に関する情報を含むことができる。前記動き情報に関する情報は、動きベクトルを導出するための情報である候補選択情報(例えば、merge index、mvp flag又はmvp index)を含むことができる。また、前記動き情報に関する情報は、上述したMVDに関する情報及び/又は参照ピクチャインデックス情報を含むことができる。また、前記動き情報に関する情報は、L0予測、L1予測、又は双(bi)予測が適用されるか否かを示す情報を含むことができる。前記レジデュアル情報は、前記レジデュアルサンプルに関する情報である。前記レジデュアル情報は、前記レジデュアルサンプルに対する量子化された変換係数に関する情報を含むことができる。
【0144】
出力されたビットストリームは、(デジタル)記憶媒体に保存されて復号化装置に伝達されることができ、又はネットワークを介して復号化装置に伝達されることもできる。
【0145】
一方、上述したように、符号化装置は、前記参照サンプル及び前記レジデュアルサンプルに基づいて復元ピクチャ(復元サンプル及び復元ブロックを含む)を生成することができる。これは、復号化装置で行われるのと同じ予測結果を符号化装置で導出するためであり、これによりコーディング効率を高めることができるためである。したがって、符号化装置は、復元ピクチャ(又は復元サンプル、復元ブロック)をメモリに保存し、インター予測のためのピクチャとして活用することができる。前記復元ピクチャにインループフィルタリング手順などがさらに適用できるのは、上述したとおりである。
【0146】
インター予測に基づくビデオ/画像復号化手順及び復号化装置内のインター予測部は、概略的に、例えば以下を含むことができる。
【0147】
復号化装置は、前記符号化装置で行われた動作と対応する動作を行うことができる。復号化装置は、受信された予測情報に基づいて現在ブロックに対する予測を行い、予測サンプルを導出することができる。
【0148】
具体的に、復号化装置は、受信された予測情報に基づいて、前記現在ブロックに対する予測モードを決定することができる(S1210)。復号化装置は、前記予測情報内の予測モード情報に基づいて、前記現在ブロックにどのインター予測モードが適用されるかを決定することができる。
【0149】
例えば、前記マージフラグ(merge flag)に基づいて、前記現在ブロックに前記マージモードが適用されるか、或いは(A)MVPモードが決定されるかを決定することができる。又は、前記mode indexに基づいて、多様なインター予測モード候補のうちのいずれか一つを選択することができる。前記インター予測モード候補は、スキップモード、マージモード及び/又は(A)MVPモードを含むことができ、或いは後述する様々なインター予測モードを含むことができる。
【0150】
復号化装置は、前記決定されたインター予測モードに基づいて前記現在ブロックの動き情報を導出する(S1220)。例えば、復号化装置は、前記現在ブロックにスキップモード又はマージモードが適用される場合、後述するマージ候補リストを構成し、前記マージ候補リストに含まれているマージ候補のうちのいずれか一つを選択することができる。前記選択は、上述した選択情報(merge index)に基づいて行われることができる。前記選択されたマージ候補の動き情報を用いて前記現在ブロックの動き情報を導出することができる。前記選択されたマージ候補の動き情報が前記現在ブロックの動き情報として用いられることができる。
【0151】
他の例として、復号化装置は、前記現在ブロックに(A)MVPモードが適用される場合、後述する(A)MVP候補リストを構成し、前記(A)MVP候補リストに含まれているmvp(motion vector predictor)候補の中から選ばれたmvp候補の動きベクトルを前記現在ブロックのmvpとして用いることができる。前記選択は、上述した選択情報(mvp flag又はmvp index)に基づいて行われることができる。この場合、前記MVDに関する情報に基づいて、前記現在ブロックのMVDを導出することができ、前記現在ブロックのmvpと前記MVDに基づいて前記現在ブロックの動きベクトルを導出することができる。また、前記参照ピクチャインデックス情報に基づいて前記現在ブロックの参照ピクチャインデックスを導出することができる。前記現在ブロックに関する関連参照ピクチャリスト内で前記参照ピクチャインデックスが指し示すピクチャが、前記現在ブロックのインター予測のために参照される参照ピクチャとして導出されることができる。
【0152】
一方、後述するように候補リスト構成なしに前記現在ブロックの動き情報が導出されることができ、この場合、後述する予測モードで開示された手順に従って前記現在ブロックの動き情報が導出されることができる。この場合、上述した候補リスト構成は省略可能である。
【0153】
復号化装置は、前記現在ブロックの動き情報に基づいて、前記現在ブロックに対する予測サンプルを生成することができる(S1230)。この場合、前記現在ブロックの参照ピクチャインデックスに基づいて前記参照ピクチャを導出し、前記現在ブロックの動きベクトルが前記参照ピクチャ上で指し示す参照ブロックのサンプルを用いて前記現在ブロックの予測サンプルを導出することができる。この場合、後述するように、場合に応じて、前記現在ブロックの予測サンプルのうちの全部又は一部に対する予測サンプルフィルタリング手順がさらに行われることができる。
【0154】
例えば、復号化装置のインター予測部は、予測モード決定部、動き情報導出部及び予測サンプル導出部を含むことができ、予測モード決定部から受信された予測モード情報に基づいて、前記現在ブロックに対する予測モードを決定し、動き情報導出部から受信された動き情報に関する情報に基づいて前記現在ブロックの動き情報(動きベクトル及び/又は参照ピクチャインデックスなど)を導出し、予測サンプル導出部で前記現在ブロックの予測サンプルを導出することができる。
【0155】
復号化装置は、受信されたレジデュアル情報に基づいて、前記現在ブロックに対するレジデュアルサンプルを生成する(S1240)。復号化装置は、前記予測サンプル及び前記レジデュアルサンプルに基づいて前記現在ブロックに対する復元サンプルを生成し、これに基づいて復元ピクチャを生成することができる(S1250)。以後、前記復元ピクチャにインループフィルタリング手順などがさらに適用できるのは、上述したとおりである。
【0156】
上述したように、インター予測手順は、インター予測モード決定ステップ、決定された予測モードによる動き情報導出ステップ、及び導出された動き情報に基づく予測実行(予測サンプルの生成)ステップを含むことができる。前記インター予測手順は、前述したように符号化装置及び復号化装置で行われることができる。
【0157】
量子化/逆量子化
【0158】
上述したように、符号化装置の量子化部は、変換係数に量子化を適用して、量子化された変換係数を導出することができ、符号化装置の逆量子化部又は復号化装置の逆量子化部は、量子化された変換係数に逆量子化を適用して変換係数を導出することができる。
【0159】
動画像/静止画像の符号化及び復号化では、量子化率を変化させることができ、変化した量子化率を用いて圧縮率を調節することができる。実現の観点では、複雑度を考慮して量子化率を直接使用する代わりに、量子化パラメータ(QP、quantization parameter)を使用することができる。例えば、0から63までの整数値の量子化パラメータを使用することができ、各量子化パラメータ値は、実際の量子化率に対応することができる。また、ルマ成分(ルマサンプル)に対する量子化パラメータQPYと、クロマ成分(クロマサンプル)に対する量子化パラメータQPCとは異なるように設定されることができる。
【0160】
量子化過程は、変換係数Cを入力とし、量子化率(Qstep)で除算して、これに基づいて、量子化された変換係数C`を得ることができる。この場合、計算複雑度を考慮して量子化率にスケールを乗じて整数形態にし、スケール値に対応する値だけシフト演算を行うことができる。量子化率とスケール値との積に基づいて量子化スケール(quantization scale)が導出できる。すなわち、QPに応じて、前記量子化スケールが導出できる。前記変換係数Cに前記量子化スケールを適用して、これに基づいて、量子化された変換係数C`を導出することもできる。
【0161】
逆量子化過程は、量子化過程の逆過程であり、量子化された変換係数C`に量子化率Qstepを乗じて、これに基づいて、復元された変換係数C``を得ることができる。この場合、前記量子化パラメータに応じてレベルスケール(level scale)が導出でき、前記量子化された変換係数C`に前記レベルスケールを適用して、これに基づいて、復元された変換係数C`を導出すことができる。復元された変換係数C``は、変換及び/又は量子化過程における損失(loss)により最初変換係数Cとは多少差異がありうる。したがって、符号化装置においても、復号化装置と同様に逆量子化を行うことができる。
【0162】
一方、周波数に応じて量子化強度を調節する適応的周波数別重み付け量子化(adaptive frequency weighting quantization)技術が適用できる。前記適応的周波数別重み付け量子化技術は、周波数別に量子化強度を異なるように適用する方法である。前記適応的周波数別重み付け量子化は、予め定義された量子化スケーリングマトリクスを用いて各周波数別量子化強度を異なるように適用することができる。つまり、上述した量子化/逆量子化過程は、前記量子化スケーリングマトリクスをより基にして行われることができる。例えば、現在ブロックのサイズ及び/又は前記現在ブロックのレジデュアル信号を生成するために、前記現在ブロックに適用された予測モードがインター予測であるか、又はイントラ予測であるかによって異なる量子化スケーリングマトリクスが使用できる。前記量子化スケーリングマトリクスは、量子化マトリクス又はスケーリングマトリクスと呼ばれることができる。前記量子化スケーリングマトリクスは、予め定義されることができる。また、周波数適応的スケーリングのために、前記量子化スケーリングマトリクスに対する周波数別量子化スケール情報が符号化装置で構成/符号化されて復号化装置へシグナリングされることができる。前記周波数別量子化スケール情報は量子化スケーリング情報と呼ばれることができる。前記周波数別量子化スケール情報は、スケーリングリストデータ(scaling_list_data)を含むことができる。前記スケーリングリストデータに基づいて、(修正された)前記量子化スケーリングマトリクスが導出されることができる。また、前記周波数別量子化スケール情報は、前記スケーリングリストデータの存否を指し示す存否フラグ(present flag)情報を含むことができる。又は、前記スケーリングリストデータが上位レベル(例えば、SPS)でシグナリングされた場合、より下位レベル(例えば、PPS or tile group headerなど)で前記スケーリングリストデータが修正されるか否かを指し示す情報などがさらに含まれることができる。
【0163】
変換/逆変換
【0164】
前述したように、符号化装置は、イントラ/インター/IBC予測などを介して予測されたブロック(予測サンプル)に基づいてレジデュアルブロック(レジデュアルサンプル)を導出することができ、導出されたレジデュアルサンプルに変換及び量子化を適用して、量子化された変換係数を導出することができる。量子化された変換係数に対する情報(レジデュアル情報)は、レジデュアルコーディングシンタックスに含まれて符号化された後、ビットストリーム形式で出力されることができる。復号化装置は、前記ビットストリームから前記量子化された変換係数に対する情報(レジデュアル情報)を取得し、復号化して量子化された変換係数を導出することができる。復号化装置は、量子化された変換係数に基づいて逆量子化/逆変換を経てレジデュアルサンプルを導出することができる。上述したように、前記量子化/逆量子化及び/又は変換/逆変換のうちの少なくとも一つは省略可能である。前記変換/逆変換が省略される場合、前記変換係数は係数又はレジデュアル係数と呼ばれることもでき、或いは表現の統一性のために変換係数と依然として呼ばれることもできる。前記変換/逆変換の省略如何は、変換スキップフラグ(例えば、transform_skip_flag)に基づいてシグナリングされることができる。
【0165】
前記変換/逆変換は、変換カーネルに基づいて行われることができる。例えば、変換/逆変換を行うためのMTS(multiple transform selection)スキーム(scheme)が適用できる。この場合、多数の変換カーネルセットのうちの一部が選択されて現在ブロックに適用できる。変換カーネルは、変換マトリクスや変換タイプなど、さまざまな用語で呼ばれることができる。例えば、変換カーネルセットは、垂直方向変換カーネル(垂直変換カーネル)及び水平方向変換カーネル(水平変換カーネル)の組み合わせを示すことができる。
【0166】
前記変換/逆変換は、CU又はTU単位で行われることができる。すなわち、前記変換/逆変換は、CU内のレジデュアルサンプル又はTU内のレジデュアルサンプルに対して適用できる。CUサイズとTUサイズとが同じでもよく、或いはCU領域内に複数のTUが存在してもよい。一方、CUサイズとは、一般にルマ成分(サンプル)CBサイズを示すことができる。TUサイズとは、一般にルマ成分(サンプル)TBサイズを示すことができる。クロマ成分(サンプル)CB又はTBサイズは、カラーフォーマット(クロマフォーマット、例えば、4:4:4、4:2:2、4:2:0など)による成分比に応じて、ルマ成分(サンプル)CB又はTBサイズに基づいて導出されることができる。前記TUサイズは、maxTbSizeに基づいて導出されることができる。例えば、前記CUサイズが前記maxTbSizeより大きい場合、前記CUから前記maxTbSizeの複数のTU(TB)が導出され、前記TU(TB)単位で変換/逆変換が行われることができる。前記maxTbSizeは、ISPなどの様々なイントラ予測タイプの適用如何判断などに考慮できる。前記maxTbSizeに対する情報は、予め決定されてもよく、或いは符号化装置で生成及び符号化されて符号化装置へシグナリングされてもよい。
【0167】
エントロピーコーディング
【0168】
先立って
図2を参照して説明したように、ビデオ/画像情報の一部又は全部は、エントロピー符号化部190によってエントロピー符号化でき、
図3を参照して説明したビデオ/画像情報の一部又は全部は、エントロピー復号化部310によってエントロピー復号化できる。この場合、前記ビデオ/画像情報は、シンタックス要素(syntax element)単位で符号化/復号化できる。本文書において、情報が符号化/復号化されるとは、本段落で説明される方法によって符号化/復号化されることを含むことができる。
【0169】
図13は一つのシンタックス要素を符号化するためのCABACのブロック図を示す。CABACの符号化過程は、まず、入力信号が2進値ではなく、シンタックス要素である場合に2値化(binarization)を介して入力信号を2進値に変換することができる。入力信号が既に2進値である場合には、2値化を経ることなくバイパスできる。ここで、2進値を構成するそれぞれの2進数0又は1をビン(bin)と呼ぶことができる。例えば、二値化後の2進ストリング(ビンストリング)が110である場合、1、1、0のそれぞれを一つのビンと呼ぶことができる。一つのシンタックス要素に対する前記ビンは、当該シンタックス要素の値を示すことができる。
【0170】
2値化されたビンは、正規(regular)コーディングエンジン又はバイパス(bypass)コーディングエンジンに入力されることができる。正規コーディングエンジンは、当該ビンに対して確率値を反映するコンテキスト(context)モデルを割り当て、割り当てられたコンテキストモデルに基づいて当該ビンを符号化することができる。正規コーディングエンジンでは、各ビンに対するコーディングを行った後、当該ビンに対する確率モデルを更新することができる。このようにコーディングされるビンを、コンテキストコーディングされたビン(context-coded bin)と呼ぶことができる。バイパスコーディングエンジンは、入力されたビンに対して確率を推定する手順と、コーディング後に当該ビンに適用した確率モデルを更新する手順を省略することができる。バイパスコーディングエンジンの場合、コンテキストを割り当てる代わりに均一な確率分布(例えば、50:50)を適用して入力されるビンをコーディングすることにより、コーディング速度を向上させることができる。このようにコーディングされるビンをバイパスビン(bypass bin)と呼ぶことができる。コンテキストモデルは、コンテキストコーディング(正規コーディング)されるビン別に割当及び更新されることができ、コンテキストモデルは、ctxidx又はctxIncに基づいて指示されることができる。ctxidxはctxIncに基づいて導出されることができる。具体的には、例えば、前記正規コーディングされるビンのそれぞれに対するコンテキストモデルを指すコンテキストインデックス(ctxidx)は、context index increment(ctxInc)及びcontext index offset(ctxIdxOffset)の和として導出されることができる。ここで、前記ctxIncは、各ビン別に異なるように導出されることができる。前記ctxIdxOffsetは、前記ctxIdxの最小値(the lowest value)で表されることができる。前記ctxIdxの最小値は、前記ctxIdxの初期値(initValue)と呼ばれることができる。前記ctxIdxOffsetは、一般に、他のシンタックス要素に対するコンテキストモデルとの区分のために用いられる値であり、一つのシンタックス要素に対するコンテキストモデルは、ctxincに基づいて区分/導出されることができる。
【0171】
エントロピー符号化手順で正規コーディングエンジンを介して符号化を行うのか、バイパスコーディングエンジンを介して符号化を行うのかを決定し、コーディング経路をスイッチングすることができる。エントロピー復号化は、エントロピー符号化と同様の過程を逆順に行うことができる。
【0172】
上述したエントロピーコーディングは、例えば、
図14及び
図15のように行われることができる。
図14及び
図15を参照すると、符号化装置(エントロピー符号化部)は、画像/ビデオ情報に関するエントロピーコーディング手順を行うことができる。前記画像/ビデオ情報は、パーティショニング関連情報、予測関連情報(例えば、インター/イントラ予測区分情報、イントラ予測モード情報、インター予測モード情報など)、レジデュアル情報、インループフィルタリング関連情報などを含むことができ、或いは、それに関する様々なシンタックス要素を含むことができる。前記エントロピーコーディングは、シンタックス要素単位で行われることができる。
図14のステップS1410~S1420は、上述した
図2の符号化装置のエントロピー符号化部190によって行われることができる。
【0173】
符号化装置は、対象シンタックス要素に対する2値化を行うことができる(S1410)。ここで、前記2値化は、Truncated Rice binarization process、Fixed-length binarization processなどの多様な2値化方法に基づくことができ、対象シンタックス要素に対する2値化方法は、予め定義されることができる。前記2値化手順は、エントロピー符号化部190内の2値化部191によって行われることができる。
【0174】
符号化装置は、前記対象シンタックス要素に対するエントロピー符号化を行うことができる(S1420)。符号化装置は、CABAC(context-adaptive arithmetic coding)又はCAVLC(context-adaptive variable length coding)などのエントロピーコーディング技法に基づいて、対象シンタックス要素のビンストリングに対して、正規コーディングベース(コンテキストベース)又はバイパスコーディングベースの符号化を行うことができ、その出力は、ビットストリームに含まれることができる。前記エントロピー符号化手順は、エントロピー符号化部190内のエントロピー符号化処理部192によって行われることができる。前述したように、前記ビットストリームは、(デジタル)記憶媒体又はネットワークを介して復号化装置へ伝達できる。
【0175】
図16及び
図17を参照すると、復号化装置(エントロピー復号化部)は、符号化された画像/ビデオ情報を復号化することができる。前記画像/ビデオ情報は、パーティショニング関連情報、予測関連情報(例えば、インター/イントラ予測区分情報、イントラ予測モード情報、インター予測モード情報など)、レジデュアル情報、インループフィルタリング関連情報などを含むことができ、或いは、それに関する様々なシンタックス要素を含むことができる。前記エントロピーコーディングは、シンタックス要素単位で行われることができる。S1610~S1620は、上述した
図3の復号化装置のエントロピー復号化部210によって行われることができる。
【0176】
復号化装置は、対象シンタックス要素に対する2値化を行うことができる(S1610)。ここで、前記2値化は、Truncated Rice binarization process、Fixed-length binarization processなどの多様な2値化方法に基づくことができ、対象シンタックス要素に対する2値化方法は、予め定義されることができる。復号化装置は、前記2値化手順を介して、対象シンタックス要素の利用可能値に対する利用可能ビンストリング(ビンストリング候補)を導出することができる。前記2値化手順は、エントロピー復号化部210内の2値化部211によって行われることができる。
【0177】
復号化装置は、前記対象シンタックス要素に対するエントロピー復号化を行うことができる(S1620)。復号化装置は、ビットストリーム内の入力ビットから前記対象シンタックス要素に対する各ビンを順次復号化及びパーシングしながら、導出されたビンストリングを当該シンタックス要素に対する利用可能ビンストリングと比較することができる。もし、導出されたビンストリングが前記利用可能ビンストリングのうちの一つと同じであれば、当該ビンストリングに対応する値が当該シンタックス要素の値として導出されることができる。もし、そうでなければ、前記ビットストリーム内の次のビットをさらにパーシングした後、上述した手順を再び行うことができる。このような過程によってビットストリーム内に特定の情報(特定のシンタックス要素)に対する開始ビット又は終了ビットを使用しなくても、可変長ビットを用いて当該情報をシグナリングすることができる。これにより、低い値に対しては相対的にさらに少ないビットを割り当てることができ、全般的なコーディング効率を高めることができる。
【0178】
復号化装置は、CABAC又はCAVLCなどのエントロピーコーディング技法に基づいてビットストリームから前記ビンストリング内の各ビンに対してコンテキストベース又はバイパスベースの復号化を行うことができる。前記エントロピー復号化手順は、エントロピー復号化部210内のエントロピー復号化処理部212によって行われることができる。前記ビットストリームは、上述したように画像/ビデオ復号化のための様々な情報を含むことができる。上述したように、前記ビットストリームは、(デジタル)記憶媒体又はネットワークを介して復号化装置へ伝達されることができる。
【0179】
本文書において、符号化装置から復号化装置への情報のシグナリングを示すために、シンタックス要素を含むテーブル(シンタックステーブル)が使用できる。本文書で使用される前記シンタックス要素を含むテーブルのシンタックス要素の順序は、ビットストリームからシンタックス要素のパーシング順序(parsing order)を示すことができる。符号化装置は、前記シンタックス要素がパーシング順序に従って復号化装置でパーシングできるようにシンタックステーブルを構成及び符号化することができ、復号化装置は、ビットストリームから当該シンタックステーブルのシンタックス要素をパーシング順序に従ってパーシング及び復号化してシンタックス要素の値を取得することができる。
【0180】
一般的な画像/ビデオコーディング手順
【0181】
画像/ビデオコーディングにおいて、画像/ビデオを構成するピクチャは、一連の復号化順序(decoding order)に従って符号化/復号化されることができる。復号化されたピクチャの出力順序(output order)に該当するピクチャ順序(picture order)は、前記復号化順序とは異なるように設定されることができる。これに基づいて、インター予測の際に、順方向予測だけでなく逆方向予測も行うことができる。
【0182】
図18は本文書の実施例が適用可能な概略的なピクチャ復号化手順の例を示す。
図18において、S1810は、
図3で上述した復号化装置のエントロピー復号化部210で行われることができ、S1820は、イントラ予測部265及びインター予測部260を含む予測部で行われることができ、S1830は、逆量子化部220及び逆変換部230を含むレジデュアル処理部で行われることができ、S1840は、加算部235で行われることができ、S1850は、フィルタリング部240で行われることができる。S1810は、本文書で説明された情報復号化手順を含むことができ、S1820は、本文書で説明されたインター/イントラ予測手順を含むことができ、S1830は、本文書で説明されたレジデュアル処理手順を含むことができ、S1840は、本文書で説明されたブロック/ピクチャ復元手順を含むことができ、S1850は、本文書で説明されたインループフィルタリング手順を含むことができる。
【0183】
図18を参照すると、ピクチャ復号化手順は、
図3についての説明で示されているように、概略的に、ビットストリームから(復号化による)画像/ビデオ情報取得手順(S1810)、ピクチャ復元手順(S1820~S1840)、及び復元されたピクチャに対するインループフィルタリング手順(S1850)を含むことができる。前記ピクチャ復元手順は、本文書で説明されたインター/イントラ予測(S1820)及びレジデュアル処理(S1830、量子化された変換係数に対する逆量子化、逆変換)過程を経て取得した予測サンプル及びレジデュアルサンプルに基づいて行われることができる。前記ピクチャ復元手順によって生成された復元ピクチャに対するインループフィルタリング手順を介して、修正(modified)された復元ピクチャが生成されることができ、前記修正された復元ピクチャが、復号化されたピクチャとして出力されることができ、また、復号化装置の復号ピクチャバッファ又はメモリ250に保存されて以後のピクチャの復号化時にインター予測手順で参照ピクチャとして使用されることができる。場合によっては、前記インループフィルタリング手順は省略可能であり、この場合、前記復元ピクチャが復号化されたピクチャとして出力されることができ、また、復号化装置の復号ピクチャバッファ又はメモリ250に保存されて以後のピクチャの復号化時にインター予測手順で参照ピクチャとして使用されることができる。前記インループフィルタリング手順(S1850)は、上述したように、デブロッキングフィルタリング手順、SAO(sample adaptive offset)手順、ALF(adaptive loop filter)手順、及び/又はバイラテラルフィルタ(bi-lateral filter)手順などを含むことができ、その一部又は全部が省略可能である。また、前記デブロッキングフィルタリング手順、SAO(sample adaptive offset)手順、ALF(adaptive loop filter)手順、及びバイラテラルフィルタ(bi-lateral filter)手順のうちの一つ又は一部が順次適用されることができ、或いはすべてが順次適用されることもできる。例えば、復元ピクチャに対してデブロッキングフィルタリング手順が適用された後、SAO手順が行われることができる。又は、例えば、復元ピクチャに対してデブロッキングフィルタリング手順が適用された後、ALF手順が行われることができる。これは、符号化装置においても同様に行われることができる。
【0184】
図19は本文書の実施例が適用できる概略的なピクチャ符号化手順の例を示す。
図19において、S1910は、
図2で上述した符号化装置のイントラ予測部185又はインター予測部180を含む予測部で行われることができ、S1920は、変換部120及び/又は量子化部130を含むレジデュアル処理部で行われることができ、S1930は、エントロピー符号化部190で行われることができる。S1910は、本文書で説明されたインター/イントラ予測手順を含むことができ、S1920は、本文書で説明されたレジデュアル処理手順を含むことができ、S1930は、本文書で説明された情報符号化手順を含むことができる。
【0185】
図19を参照すると、ピクチャ符号化手順は、
図2についての説明で示されているように、概略的にピクチャ復元のための情報(例えば、予測情報、レジデュアル情報、パーティショニング情報など)を符号化してビットストリーム形式で出力する手順だけでなく、現在ピクチャに対する復元ピクチャを生成する手順、及び復元ピクチャにインループフィルタリングを適用する手順(optional)を含むことができる。符号化装置は、逆量子化部140及び逆変換部150を介して、量子化された変換係数から(修正された)レジデュアルサンプルを導出することができ、S1910の出力である予測サンプルと前記(修正された)レジデュアルサンプルに基づいて復元ピクチャを生成することができる。このように生成された復元ピクチャは、上述した復号化装置で生成した復元ピクチャと同一であり得る。前記復元ピクチャに対するインループフィルタリング手順を介して、修正された復元ピクチャが生成されることができ、これは、復号ピクチャバッファ又はメモリ170に保存されることができ、復号化装置での場合と同様に、以後のピクチャの符号化時にインター予測手順で参照ピクチャとして使用されることができる。上述したように、場合によっては、前記インループフィルタリング手順の一部又は全部は省略可能である。前記インループフィルタリング手順が行われる場合、(インループ)フィルタリング関連情報(パラメータ)がエントロピー符号化部190で符号化されてビットストリーム形式で出力されることができ、復号化装置は、前記フィルタリング関連情報に基づいて符号化装置と同様の方法でインループフィルタリング手順を行うことができる。
【0186】
このようなインループフィルタリング手順を介して、ブロッキングアーチファクト(artifact)及びリンギング(ringing)アーチファクトなど、画像/動画像コーディング時に発生するノイズを低減することができ、主観的/客観的ビジュアルクオリティを高めることができる。また、符号化装置と復号化装置の両方でインループフィルタリング手順を行うことにより、符号化装置と復号化装置は、同一の予測結果を導出することができ、ピクチャコーディングの信頼性を高め、ピクチャコーディングのために伝送されるべきデータ量を減らすことができる。
【0187】
上述したように、復号化装置だけでなく、符号化装置においてもピクチャ復元手順が行われることができる。各ブロック単位でイントラ予測/インター予測に基づいて復元ブロックが生成されることができ、復元ブロックを含む復元ピクチャが生成されることができる。現在ピクチャ/スライス/タイルグループがIピクチャ/スライス/タイルグループである場合、前記現在ピクチャ/スライス/タイルグループに含まれるブロックは、イントラ予測のみに基づいて復元されることができる。一方、現在ピクチャ/スライス/タイルグループがP又はBピクチャ/スライス/タイルグループである場合、前記現在ピクチャ/スライス/タイルグループに含まれるブロックは、イントラ予測又はインター予測に基づいて復元されることができる。この場合、現在ピクチャ/スライス/タイルグループ内の一部のブロックに対してはインター予測が適用され、残りの一部のブロックに対してはイントラ予測が適用されることもできる。ピクチャのカラー成分は、ルマ成分及びクロマ成分を含むことができ、本文書で明示的に制限しなければ、本文書で提案される方法及び実施例は、ルマ成分及びクロマ成分に適用されるができる。
【0188】
コーディング階層及び構造の例
【0189】
本文書によるコーディングされたビデオ/画像は、例えば、後述するコーディング階層及び構造に従って処理できる。
【0190】
図20はコーディングされた画像に対する階層構造を示す図である。コーディングされた画像は、画像の復号化処理及びそれ自体を扱うVCL(video coding layer、ビデオコーディング階層)、符号化された情報を伝送し保存する下位システム、そしてVCLと下位システムとの間に存在し、ネットワーク適応機能を担当するNAL(network abstraction layer、ネットワーク抽象階層)に区分されることができる。
【0191】
VCLでは、圧縮された画像データ(スライスデータ)を含むVCLデータを生成するか、或いはピクチャパラメータセット(Picture Parameter Set:PPS)、シーケンスパラメータセット(Sequence Parameter Set:SPS)、ビデオパラメータセット(Video Parameter Set:VPS)などの情報を含むパラメータセット又は画像の復号化処理に付加的に必要なSEI(Supplemental Enhancement Information)メッセージを生成することができる。
【0192】
NALでは、VCLで生成されたRBSP(Raw Byte Sequence Payload)にヘッダー情報(NALユニットヘッダー)を付加してNALユニットを生成することができる。このとき、RBSPは、VCLで生成されたスライスデータ、パラメータセット、SEIメッセージなどをいう。NALユニットヘッダーには、該当NALユニットに含まれるRBSPデータによって特定されるNALユニットタイプ情報を含むことができる。
【0193】
図示されているように、NALユニットは、VCLで生成されたRBSPによってVCL NALユニットとNon-VCL NALユニットに区分されることができる。VCL NALユニットは、画像に対する情報(スライスデータ)を含んでいるNALユニットを意味することができ、Non-VCL NALユニットは、画像を復号化するために必要な情報(パラメータセット又はSEIメッセージ)を含んでいるNALユニットを意味することができる。
【0194】
上述したVCL NALユニット、Non-VCL NALユニットは、下位システムのデータ規格に応じてヘッダー情報を付けてネットワークを介して伝送されることができる。例えば、NALユニットは、H.266/VVCファイルフォーマット、RTP(Real-time Transport Protocol)、TS(Transport Stream)などの所定の規格のデータ形式に変形して様々なネットワークを介して伝送されることができる。
【0195】
上述したように、NALユニットは、当該NALユニットに含まれるRBSPデータ構造(structure)に応じてNALユニットタイプが特定されることができ、このようなNALユニットタイプに対する情報は、NALユニットヘッダーに保存されてシグナリングされることができる。
【0196】
例えば、NALユニットが画像に対する情報(スライスデータ)を含むか否かによって、大きくVCL NALユニットタイプとNon-VCL NALユニットタイプに分類されることができる。VCL NALユニットタイプは、VCL NALユニットが含むピクチャの性質及び種類などによって分類されることができ、Non-VCL NALユニットタイプは、パラメータセットの種類などによって分類されることができる。
【0197】
以下に、Non-VCL NALユニットタイプが含むパラメータセット/情報の種類などによって特定されたNALユニットタイプの一例を羅列する。
【0198】
-DCI(Decoding capability information) NAL unit:DCIを含むNALユニットに対するタイプ
【0199】
-VPS(Video Parameter Set) NAL unit:VPSを含むNALユニットに対するタイプ
【0200】
-SPS(Sequence Parameter Set) NAL unit:SPSを含むNALユニットに対するタイプ
【0201】
-PPS(Picture Parameter Set) NAL unit:PPSを含むNALユニットに対するタイプ
【0202】
-APS(Adaptation Parameter Set) NAL unit:APSを含むNALユニットに対するタイプ
【0203】
-PH(Picture header) NAL unit:Type for NAL unit including PH
【0204】
上述したNALユニットタイプは、NALユニットタイプのためのシンタックス情報を有し、前記シンタックス情報は、NALユニットヘッダーに保存されてシグナリングされることができる。例えば、前記シンタックス情報はnal_unit_typeであることができ、NALユニットタイプはnal_unit_typeの値で特定されることができる。
【0205】
一方、上述したように、一つのピクチャは、複数のスライスを含むことができ、一つのスライスは、スライスヘッダー及びスライスデータを含むことができる。この場合、一つのピクチャ内の複数のスライス(スライスヘッダー及びスライスデータ集合)に対して一つのピクチャヘッダーがさらに付加されることができる。前記ピクチャヘッダー(ピクチャヘッダーシンタックス)は、前記ピクチャに共通に適用可能な情報/パラメータを含むことができる。
【0206】
前記スライスヘッダー(スライスヘッダーシンタックス)は、前記スライスに共通に適用可能な情報/パラメータを含むことができる。前記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シンタックス、符号化単位シンタックス、変換単位シンタックスなどを含むことができる。
【0207】
本文書において、符号化装置から復号化装置へ符号化されてビットストリーム形式でシグナリングされる画像/ビデオ情報は、ピクチャ内のパーティショニング関連情報、イントラ/インター予測情報、レジデュアル情報、インループフィルタリング情報などを含むだけでなく、前記スライスヘッダーの情報、前記ピクチャヘッダーの情報、前記APSの情報、前記PPSの情報、SPSの情報、VPSの情報及び/又はDCIの情報を含むことができる。また、前記画像/ビデオ情報は、一般制限情報(general constraint information)及び/又はNAL unit headerの情報をさらに含むことができる。
【0208】
サブピクチャ、スライス、タイルを用いたピクチャのパーティショニング
【0209】
1つのピクチャは、少なくとも1つのタイル行(tile rows)及び少なくとも1つのタイル列(tile columns)に分割されることができる。1つのタイルは、CTUのシーケンスで構成され、1つのピクチャの四角領域をカバーすることができる。
【0210】
スライスは、1つのピクチャ内にある整数個の連続した完全なCTU行(row)又は整数個の完全なタイルで構成されることができる。
【0211】
スライスに対して2つのモードが支援できる。1つはラスタースキャンスライスモード(raster-scan slice mode)、もう1つは四角スライスモード(rectangular slice mode)と呼ばれることができる。ラスタースキャンスライスモードで、1つのスライスは、1つのピクチャにおいてタイルラスタースキャン順序で存在する完全なタイルシーケンスを含むことができる。四角スライスモードにおいて、1つのスライスは、ピクチャの四角領域を形成するように集合された多数の完全なタイルを含むか、或いはピクチャの四角領域を形成するように集合された1つのタイルの連続した完全な多数のCTU行を含むことができる。四角スライス内のタイルは、スライスに対応する四角領域内においてタイルラスタースキャン順序でスキャンされることができる。サブピクチャは、ピクチャの四角領域をカバーするように集合された少なくとも1つのスライスを含むことができる。
【0212】
ピクチャの分割関係をより詳細に説明するために、
図21~
図24を参照して説明する。
図21~
図24は、タイル、スライス及びサブピクチャを用いてピクチャを分割した実施例を示す。
図21は、12個のタイルと3個のラスタースキャンスライスに分割されたピクチャの例示を示す。
図22は、24個のタイル(6個のタイル列と4個のタイル行)及び9個の四角スライスに分割されたピクチャの例示を示す。
図23は、4つのタイル(2つのタイル列と2つのタイル行)及び4つの四角スライスに分割されたピクチャの例示を示す。
【0213】
図24は、サブピクチャにピクチャを分割した例示を示す。
図24において、ピクチャは、4×4のCTUからなる1つのスライスをそれぞれカバーする12個の左側タイルと、2×2のCTUからなる垂直に集合された2つのスライスをそれぞれカバーする6個の右側タイルに分割され、1つのピクチャは、全体的に互いに異なる面積を有する24個のスライスと24個のサブピクチャに分割されている。
図24の例示において、個別スライスは個別サブピクチャに対応している。
【0214】
HLS(High level syntax)シグナリング及びセマンティクス
【0215】
前述したように、HLSは、ビデオ及び/又は画像符号化のために符号化及び/又はシグナリングされることができる。前述したように、本明細書におけるビデオ/画像情報はHLSに含まれることができる。そして、画像/ビデオ符号化方法は、このような画像/ビデオ情報に基づいて行われることができる。
【0216】
ピクチャヘッダー及びスライスヘッダー
【0217】
符号化されたピクチャは、少なくとも1つのスライスで構成されることができる。符号化されたピクチャを記述するパラメータはピクチャヘッダー(PH、picture header)内でシグナリングされることができ、或いはスライスを記述するパラメータはスライスヘッダー(SH、slice header)内でシグナリングされることができる。PHは、それに対するNALユニットタイプとして伝送されることができる。SHは、スライス(例えば、スライスデータ)のペイロードを構成するNALユニットの開始点で提供されることができる。
【0218】
ピクチャパーティショニングシグナリング
【0219】
一実施例において、1つのピクチャは、複数のサブピクチャ、タイル及び/又はスライスにパーティショニングされることができる。サブピクチャのシグナリングは、シーケンスパラメータセットで提供されることができる。タイル及び四角スライスのシグナリングは、ピクチャパラメータセットで提供されることができる。そして、ラスタースキャンスライスのシグナリングは、スライスヘッダーで提供されることができる。
【0220】
図25は、シーケンスパラメータセットに対するシンタックスの一実施例を示す。
図25のシンタックスにおいて、シンタックス要素についての説明は、次の通りである。
【0221】
subpic_info_present_flagシンタックス要素は、サブピクチャ情報が存在するか否かを示すことができる。例えば、subpic_info_present_flagの第1値(例えば、0)は、CLVS(coded layer video squence)に対するサブピクチャ情報がビットストリームに存在せず、CLVSの個別ピクチャに1つのサブピクチャのみ存在することを示すことができる。subpic_info_present_flagの第2値(例えば、1)は、CLVS(coded layer video squence)に対するサブピクチャ情報がビットストリームに存在し、CLVSの個別ピクチャに属する少なくとも1つのサブピクチャが存在し得ることを示すことができる。
【0222】
ここで、CLVSは、符号化されたビデオシーケンスのレイヤーを意味することができる。CLVSは、復元信号が発生するまで出力されないIRAP(intra random access point)ピクチャ又はGDR(gradual decoding refresh)ピクチャの予測単位(PU)と同じnuh_layer_idを有するPUのシーケンスであり得る。
【0223】
シンタックス要素sps_num_subpics_minus1は、サブピクチャの個数を示すことができる、例えば、これに1に加えた値は、CLVSの個別ピクチャに属するサブピクチャの数を示すことができる。sps_num_subpics_minus1の値は、0からCeil(pic_width_max_in_luma_samples/CtbSizeY)*Ceil(pic_height_max_in_luma_samples/CtbSizeY)-1までの値を有することができる。sps_num_subpics_minus1の値が存在しない場合、sps_num_subpics_minus1の値は0に誘導されることができる。
【0224】
シンタックス要素sps_independent_subpics_flagの値1は、CLVS内のサブピクチャの境界を超えてイントラ予測が行われず、インター予測が行われず、インループフィルタリング動作が行われないことを示すことができる。
【0225】
シンタックス要素sps_independent_subpics_flagの値0は、CLVS内のサブピクチャの境界を超えてインター予測又はインループフィルタリング動作が行われ得ることを示すことができる。sps_independent_subpics_flagの値が存在しない場合、sps_independent_subpics_flagの値は0に誘導されることができる。
【0226】
シンタックス要素subpic_ctu_top_left_x[i]は、i番目のサブピクチャの最左上側のCTUの横位置(horizontal position)をCtbSizeYの単位で示すことができる。subpic_ctu_top_left_x[i]シンタックス要素の長さは、Ceil(Log2((pic_width_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY))ビットであり得る。subpic_ctu_top_left_x[i]が存在しない場合、その値は0に誘導されることができる。ここで、pic_width_max_in_luma_samplesは、ルマサンプル単位で表されたピクチャの最大幅を示す変数であり得る。CtbSizeYは、CTBのルマサンプル単位サイズを示す変数であり得る。CtbLog2SizeYは、CTBのルマサンプル単位サイズにログ2を取った値を示す変数であり得る。
【0227】
シンタックス要素subpic_ctu_top_left_y[i]は、i番目のサブピクチャの最左上側のCTUの縦位置(vertical position)をCtbSizeYの単位で示すことができる。subpic_ctu_top_left_x[i]シンタックス要素の長さは、Ceil(Log2((pic_height_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY))ビットであり得る。ここで、pic_height_max_in_luma_samplesは、ルマサンプル単位で表されたピクチャの最大高さを示す変数であり得る。subpic_ctu_top_left_y[i]が存在しない場合、その値は0に誘導されることができる。
【0228】
シンタックス要素subpic_width_minus1[i]に1を加えた値は、1番目のサブピクチャの幅を示し、単位はCtbSizeYであり得る。subpic_width_minus1[i]の長さは、Ceil(Log2((pic_width_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY))ビット長であり得る。subpic_width_minus1[i]の値が存在しない場合、subpic_width_minus1[i]の値は、((pic_width_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY)-subpic_ctu_top_left_x[i]-1として計算されることができる。
【0229】
シンタックス要素subpic_height_minus1[i]に1を加えた値は、1番目のサブピクチャの高さを示し、単位はCtbSizeYであり得る。subpic_height_minus1[i]の長さは、Ceil(Log2((pic_height_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY))ビット長であり得る。subpic_height_minus1[i]が存在しない場合、subpic_height_minus1[i]の値は、((pic_height_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY)-subpic_ctu_top_left_y[i]-1として計算されることができる。
【0230】
シンタックス要素subpic_treated_as_pic_flag[i]の値1は、CLVS内のそれぞれの符号化ピクチャのi番目のサブピクチャがインループフィルタリング動作を除いては1つのピクチャとして扱われることを示す。subpic_treated_as_pic_flag[i]の値0は、CLVS内のそれぞれの符号化ピクチャのi番目のサブピクチャがインループフィルタリング動作を除いては1つのピクチャとして扱われないことを示す。subpic_treated_as_pic_flag[i]が存在しない場合、subpic_treated_as_pic_flag[i]の値は、sps_independent_subpics_flagの値に設定されることができる。
【0231】
シンタックス要素loop_filter_across_subpic_enabled_flag[i]の値1は、CLVS内のそれぞれの符号化ピクチャ内のi番目のサブピクチャの境界を超えてインループフィルタリングが行われ得ることを示すことができる。loop_filter_across_subpic_enabled_flag[i]の値0は、CLVS内のそれぞれの符号化ピクチャ内のi番目のサブピクチャの境界を超えてインループフィルタリングが行われないことを示すことができる。loop_filter_across_subpic_enabled_flag[i]の値が存在しない場合、loop_filter_across_subpic_enabled_flag[i]の値は1-sps_independent_subpics_flagと決定されることができる。
【0232】
図26は、ピクチャパラメータセットのシンタックスの一実施例を示す。
図26のシンタッスにおいて、シンタックス要素は、次の通りである。
【0233】
シンタックス要素no_pic_partition_flagの第1値(例えば、0)は、PPSを参照するそれぞれのピクチャが2つ以上のタイル又はスライスにパーティショニングされ得ることを示すことができる。no_pic_partition_flagの第2値(例えば、1)は、PPSを参照するそれぞれのピクチャにピクチャパーティショニングが適用されないことを示すことができる。
【0234】
シンタックス要素pps_log2_ctu_size_minus5に5を加えた値は、それぞれのCTUのルマコーディングブロックサイズを示すことができる。pps_log2_ctu_size_minus5の値は、シーケンスパラメータセットにおいて同じ値を示すsps_log2_ctu_size_minus5と等しくなるように制限されることができる。
【0235】
シンタックス要素num_exp_tile_columns_minus1に1を加えた値は、明示的に提供されるタイル列の幅の個数を示す。num_exp_tile_columns_minus1の値は、0からPicWidthInCtbsY-1までの値を持つことができる。no_pic_partition_flagの値が1である場合、num_exp_tile_columns_minus1の値は0に誘導されることができる。
【0236】
シンタックス要素num_exp_tile_rows_minus1に1を加えた値は、明示的に提供されるタイル行の高さの個数を示すことができる。num_exp_tile_rows_minus1の値は、0からPicHeightInCtbsY-1までの値を持つことができる。no_pic_partition_flagの値が1である場合、num_exp_tile_rows_minus1の値は0に誘導されることができる。
【0237】
シンタックス要素tile_column_width_minus1[i]に1を加えた値は、i番目のタイル列の幅をCTB単位で示すことができる。ここで、iは0からnum_exp_tile_columns_minus1-1までの値を持つことができる。tile_column_width_minus1[num_exp_tile_columns_minus1]は、タイル列のインデックスがnum_exp_tile_columns_minus1以上であるタイルの幅を誘導するために使用できる。tile_column_width_minus1[i]の値は、0からPicWidthInCtbsY-1までの値を持つことができる。tile_column_width_minus1[i]がビットストリームから提供されない場合、tile_column_width_minus1[0]の値はPicWidthInCtbsY-1の値に設定されることができる。
【0238】
シンタックス要素tile_row_height_minus1[i]に1を加えた値は、i番目のタイル行の高さをCTB単位で示すことができる。ここで、iは0からnum_exp_tile_rows_minus1-1までの値を持つことができる。tile_row_height_minus1[num_exp_tile_rows_minus1]は、タイル行のインデックスがnum_exp_tile_rows_minus1以上であるタイルの高さを誘導するために使用できる。tile_row_height_minus1[i]の値は、0からPicHeightInCtbsY-1までの値を持つことができる。tile_row_height_minus1[i]がビットストリームから提供されない場合、tile_row_height_minus1[0]の値はPicHeightInCtbsY-1の値に設定されることができる。
【0239】
シンタックス要素rect_slice_flagの値0は、各スライス内のタイルがラスタースキャン順にスキャンされ、スライス情報がピクチャパラメータセットを介してシグナリングされないことを示すことができる。rect_slice_flagの値1は、各スライス内のタイルがピクチャの四角領域をカバーし、スライス情報がピクチャパラメータセットを介してシグナリングされることを示すことができる。ここで、変数NumTilesInPicは、ピクチャ内に存在するタイルの個数を示すことができる。rect_slice_flagがビットストリームに存在しない場合、rect_slice_flagの値は1に誘導されることができる。一方、subpic_info_present_flagの値が1である場合、rect_slice_flagの値は1となるように強制されることができる。
【0240】
シンタックス要素single_slice_per_subpic_flagの値1は、各サブピクチャが1つの四角スライスのみで構成されることを示すことができる。single_slice_per_subpic_flagの値0は、各サブピクチャが少なくとも1つの四角スライスで構成できることを示すことができる。single_slice_per_subpic_flagがビットストリームに存在しない場合、single_slice_per_subpic_flagの値は0に誘導されることができる。
【0241】
シンタックス要素num_slices_in_pic_minus1に1を加えた値は、ピクチャ内のスライスの個数を示すことができる。シンタックス要素tile_idx_delta_present_flagの値0は、tile_idx_delta[i]シンタックス要素がピクチャパラメータセットに存在せず、ピクチャパラメータセットを参照するすべてのピクチャは、スライスラスタースキャン順序に従って四角スライス行と四角スライス列にパーティショニングされることを示すことができる。tile_idx_delta_present_flagの値1は、tile_idx_delta[i]シンタックス要素がピクチャパラメータセットに存在することができ、ピクチャパラメータセットを参照するピクチャに属する全ての四角スライスは、増加するi値によるtile_idx_delta[i]の値によって指し示される順に特定され得ることを示すことができる。tile_idx_delta_present_flagが存在しない場合、tile_idx_delta_present_flagの値は0に誘導されることができる。
【0242】
シンタックス要素slice_width_in_tiles_minus1[i]に1を加えた値は、i番目の四角スライスの幅をタイル列の単位で示すことができる。slice_width_in_tiles_minus1[i]の値は、0からNumTileColumns-1までの値を持つことができる。ここで、iがnum_slices_in_pic_minus1より小さく、NumTileColumnsの値が1であれば、slice_width_in_tiles_minus1[i]の値は0に誘導されることができる。ここで、変数NumTileColumnsは、現在ピクチャに存在するタイル列の個数を示す変数であり得る。ここで、変数NumTileRowsは、現在ピクチャに存在するタイル行の個数を示す変数であり得る。
【0243】
シンタックス要素slice_height_in_tiles_minus1[i]に1を加えた値は、num_exp_slices_in_tile[i]の値が0であるとき、i番目の四角スライスの高さをタイル行の単位で示すことができる。slice_height_in_tiles_minus1[i]の値は、0からNumTileRows-1までの値を持つことができる。iの値がnum_slices_in_pic_minus1より小さく、slice_height_in_tiles_minus1[i]の値がビットストリームから取得されない場合、slice_height_in_tiles_minus1[i]の値は、下記数式のように誘導されることができる。
【0244】
[数式1]
【0245】
slice_height_in_tiles_minus1[i]=NumTileRows==1?0:slice_height_in_tiles_minus1[i-1]
【0246】
SliceTopLeftTileIdxは、スライスの最左上側のタイルのインデックスを示す変数であり得る。
【0247】
シンタックス要素num_exp_slices_in_tile[i]は、i番目のスライスを含むタイル(例えば、SliceTopLeftTileIdx[i]と同じタイルインデックスを持つタイル)内のスライスに対して明示的に提供されるスライスの高さの個数を示すことができる。num_exp_slices_in_tile[i]の値は、0からRowHeight[SliceTopLeftTileIdx[i]/NumTileColumns]-1までの値を持つことができる。num_exp_slices_in_tile[i]がビットストリームから提供されない場合、num_exp_slices_in_tile[i]の値は0に誘導されることができる。ここで、RowHight[i]は、i番目のタイルの高さをCTB単位で示す変数であり得る。ここで、num_exp_slices_in_tile[i]の値が0である場合、i番目のスライスを含むタイルは、複数のタイルに分割されない可能性がある。
【0248】
シンタックス要素exp_slice_height_in_ctus_minus1[i][j]に1を加えた値は、i番目のスライスを含むタイル内のj番目の四角スライスの高さをCTU行の単位で示すことができる。exp_slice_height_in_ctus_minus1[i][j]の値は、0からRowHeight[SliceTopLeftTileIdx[i]/NumTileColumns]-1までの値を持つことができる。
【0249】
変数NumSlicesInTile[i]は、i番目のスライスを含むタイル内に存在するスライスの個数を示すことができる。
【0250】
シンタックス要素tile_idx_delta[i]は、(i+1)番目の四角スライス内の1番目のCTUを含むタイルのタイルインデックスとi番目の四角スライス内の1番目のCTUを含むタイルのタイルインデックスとの差分を示すことができる。tile_idx_delta[i]の値は、-NumTilesInPic+1からNumTilesInPic-1までの値を持つことができる。tile_idx_delta[i]の値がビットストリームに存在しない場合、tile_idx_delta[i]の値は0に誘導されることができる。tile_idx_delta[i]の値が存在する場合、tile_idx_delta[i]の値は、0ではない値を持つように強制されることができる。
【0251】
シンタックス要素loop_filter_across_tiles_enabled_flagの値1は、インループフィルタリング動作がピクチャパラメータセットを参照するピクチャ内のタイル境界を超えて動作することができることを示すことができる。loop_filter_across_tiles_enabled_flagの値0は、インループフィルタリング動作がピクチャパラメータセットを参照するピクチャのタイル境界を超えて動作しないことを示すことができる。
【0252】
インループフィルタリング動作は、デブロッキングフィルタ、SAO(sample adaptive offset)フィルタ、及びALF(adaptive loop filter)のうちのいずれか一つのフィルタリング動作を含むことができる。loop_filter_across_tiles_enabled_flagがビットストリームに存在しない場合、loop_filter_across_tiles_enabled_flagの値は1に誘導されることができる。
【0253】
シンタックス要素loop_filter_across_slices_enabled_flagの値1は、インループフィルタリング動作がピクチャパラメータセットを参照するピクチャ内のスライス境界を超えて動作し得ることを示すことができる。loop_filter_across_slice_enabled_flagの値0は、インループフィルタリング動作がピクチャパラメータセットを参照するピクチャのスライス境界を超えて動作しないことを示すことができる。インループフィルタリング動作は、デブロッキングフィルタ、SAO(sample adaptive offset)フィルタ、及びALF(adaptive loop filter)のうちのいずれか一つのフィルタリング動作を含むことができる。loop_filter_across_slice_enabled_flagがビットストリームに存在しない場合、loop_filter_across_slice_enabled_flagの値は1に誘導されることができる。
【0254】
図27は、スライスヘッダーのシンタックスの一実施例を示す。
図27のシンタックスにおいて、シンタックス要素は、次の通りである。
【0255】
シンタックス要素slice_subpic_idは、スライスを含むサブピクチャのサブピクチャIDを示すことができる。slice_subpic_idの値がビットストリームに存在する場合、変数CurrSubpicIdxの値は、SubpicIdVal[CurrSubpicIdx]の値がslice_subpic_idの値を持つCurrSubpicIdxの値に誘導されることができる。そうでなければ(slice_subpic_idがビットストリームに存在しない)、CurrSubpicIdxの値は0に誘導されることができる。slice_subpic_idの長さはsps_subpic_id_len_minus1+1ビット長であり得る。ここで、NumSlicesInSubpic[i]は、i番のサブピクチャ内のスライスの個数を示す変数であり得る。変数CurrSubpicIdxは、現在サブピクチャのインデックスを示すことができる。
【0256】
シンタックス要素slice_addressは、スライスのスライスアドレスを示す。slice_addressが提供されない場合、slice_addressの値は0に誘導されることができる。
【0257】
一方、rect_slice_flagの値が0であれば、スライスアドレスは、スライス内の1番目のタイルのラスタースキャンタイルインデックスと同一であり、slice_addressシンタックス要素の長さはCeil(Log2(NumTilesInPic))ビット長であり、slice_addressは0からNumTilesInPic-1までの値を持つことができる。そうでなければ(rect_slice_flagの値が0ではない値、例えば1であれば)、スライスのアドレスはスライスのサブピクチャレベルスライスインデックスであり、slice_addressシンタックス要素の長さはCeil(Log2(NumSlicesInSubpic[CurrSubpicIdx]))ビット長であり、slice_addressシンタックス要素は0からNumSlicesInSubpic[CurrSubpicIdx]-1までの値を持つことができる。
【0258】
シンタックス要素sh_extra_bit[i]は、0又は1の値を持つことができる。復号化装置は、sh_extra_bit[i]の値に関係なく復号化を行うことができる。このために、符号化装置は、sh_extra_bit[i]値に関係なく復号化が行われるようにビットストリームを生成しなければならない。ここで、NumExtraShBitsは、スライスヘッダーで情報をシグナリングするためにさらに要求されるビット数を示す変数であり得る。
【0259】
シンタックス要素num_tiles_in_slice_minus1に1を加えた値は、存在すれば、スライスにおけるタイルの個数を示すことができる。num_tiles_in_slice_minus1の値は、0からNumTilesInPic-1までの値を持つことができる。
【0260】
現在スライス内のCTUの個数を表す変数NumCtusInCurrSlice、及びスライス内のi番目のCTBのピクチャラスタースキャンアドレスを示すリストCtbAddrInCurrSlice[i](ここで、iは0からNumCtusInCurrSlice-1までの値を持つ)は、次のように誘導されることができる。
【0261】
【0262】
変数SubpicLeftBoundaryPos、SubpicTopBoundaryPos、SubpicRightBoundaryPos、及びSubpicBotBoundaryPosは、次のアルゴリズムのように誘導されることができる。
【0263】
【0264】
ピクチャパーティショニングシグナリングの改善
【0265】
上述したピクチャパーティショニングに関するシグナリングは、スライスが四角スライスである場合に不要な情報がシグナリングされるという問題点を持っている。例えば、スライスが四角(例えば、長方形)スライスである場合、タイル単位で個別スライスの幅がシグナリングされることができる。しかし、スライスの最左上側位置のタイルが最後のタイル列のタイルである場合、スライスの幅は、1つのタイル単位ではない他の値になることができない。例えば、このような場合、スライスの幅は、1つのタイル単位で誘導される幅値のみを有することができる。したがって、このようなスライスの幅は、シグナリングされないか、或いは1つのタイル単位に制限されることができる。
【0266】
同様に、スライスが四角(例えば、長方形)スライスである場合、タイル単位で個別スライスの幅がシグナリングされることができる。しかし、スライスの最左上側位置のタイルが最後のタイル行のタイルである場合、スライスの高さは、1つのタイル単位ではない他の値になることができない。したがって、このようなスライスの高さは、シグナリングされないか、或いは1つのタイル単位に制限されることができる。
【0267】
上述した問題点を改善するために、次の方案が適用できる。以下の実施例は、スライスが四角(例えば、長方形)スライスであり、タイル単位で個別スライスの幅及び/又は高さがシグナリングされる場合に適用できる。次の方案は、互いに個別に適用されてもよく、他の少なくとも1つの実施例と組み合わせられて使用されてもよい。
【0268】
方案1.四角スライスの1番目のタイル(例えば、左上隅のタイル)がピクチャの最後のタイル列に位置したタイルである場合、スライスの幅のシグナリングを提供しないことができる。このような場合、スライスの幅は1タイル単位に誘導されることができる。
【0269】
例えば、シンタックス要素slice_width_in_tiles_minus1[i]は、ビットストリームに存在しなくてもよい。シンタックス要素slice_width_in_tiles_minus1[i]の値は、0に誘導されることができる。
【0270】
方案2.四角スライスの1番目のタイル(例えば、左上隅のタイル)がピクチャの最後のタイル列に位置したタイルである場合にも、スライスの幅のシグナリングが提供されることができる。しかし、このような場合、スライスの幅は1タイル単位に制限されることができる。
【0271】
例えば、シンタックス要素slice_width_in_tiles_minus1[i]は、ビットストリームに存在することができ、これによりパーシングされることができる。しかし、シンタックス要素slice_width_in_tiles_minus1[i]の値は、0に制限されることができる。
【0272】
方案3.四角スライスの1番目のタイル(例えば、左上隅のタイル)がピクチャの最後のタイル行に位置したタイルである場合、スライスの高さのシグナリングが提供されないことができる。このような場合、スライスの高さは1タイル単位に誘導されることができる。
【0273】
例えば、シンタックス要素slice_height_in_tiles_minus1[i]は、ビットストリームに存在しなくてもよい。シンタックス要素slice_height_in_tiles_minus1[i]の値は、0に誘導されることができる。
【0274】
方案4.四角スライスの1番目のタイル(例えば、左上隅のタイル)がピクチャの最後のタイル行に位置したタイルである場合、スライスの高さのシグナリングが提供されることができる。このような場合、スライスの高さは1タイル単位に制限されることができる。
【0275】
例えば、シンタックス要素slice_height_in_tiles_minus1[i]は、ビットストリームに存在することができ、これによりパーシングされることができる。しかし、シンタックス要素slice_height_in_tiles_minus1[i]の値は、0と等しくなるように制限されることができる。
【0276】
一実施例において、前述した実施例は、
図28及び
図29のように符号化及び復号化方法に適用できる。一実施例による符号化装置は、現在ピクチャ内のスライス及び/又はタイルを誘導することができる(S2810)。そして、符号化装置は、誘導されたスライス及び/又はタイルに基づいて現在ピクチャを符号化することができる(S2820)。
【0277】
同様に、一実施例による復号化装置は、ビットストリームからビデオ/画像情報を取得することができる(S2910)。そして、復号化装置は、ビデオ/画像情報(スライス及び/又はタイルに関する情報を含む)に基づいて、現在ピクチャ内に存在するスライス及び/又はタイルを誘導することができる(S2920)。そして、復号化装置は、前記スライス及び/又はタイルに基づいて現在ピクチャを復元及び/又は復号化することができる(S2930)。
【0278】
符号化装置及び復号化装置の前述の処理のために、スライス及び/又はタイルに関する情報は、前述した情報及びシンタックスを含むことができる。ビデオ又は画像の情報はHLSを含むことができる。HLSは、スライスに関する情報及び/又はタイルに関する情報を含むことができる。HLSは、サブピクチャに関する情報をさらに含むことができる。スライスに関する情報は、現在ピクチャに属する少なくとも1つのスライスを特定する情報を含むことができる。そして、タイルに関する情報は、現在ピクチャに属する少なくとも1つのタイルを特定する情報を含むことができる。サブピクチャに関する情報は、現在ピクチャに属する少なくとも1つのサブピクチャを特定する情報を含むことができる。1つのピクチャ内には、少なくとも1つのスライスを含むタイルが存在することができる。
【0279】
例えば、
図29のS2930で、現在ピクチャを復元及び/又は復号化することは、誘導されたスライス及び/又はタイルに基づいて行われることができる。1つのピクチャをパーティショニングすることにより、様々な観点から符号化及び復号化の効用性を得ることができる。
【0280】
例えば、並行処理(Parallel processing)とエラー回復力(Error resilience)のためにピクチャがパーティショニングされることができる。並行処理の場合、マルチコアCPUで行われる幾つかの実施例は、ソースピクチャがタイル及び/又はスライスに分割されることを要求することができる。個別スライス及び/又はタイルは、互いに異なるコアで並列処理されることができる。これは、他の方法では処理できない高解像度リアルタイムビデオコーディングを行うために非常に効率的である。さらに、このようなパーティショニングは、タイル間で共有される情報を減らすことにより、メモリに対する制約を減らすという利点を有する。並列処理が行われる間にタイルが、互いに異なるスレッドに分散することができるので、並列アーキテクチャは、その分割メカニズムによって有用性を有する。例えば、インター予測で候補動き情報を誘導する過程で、互いに異なるスライス及び/又はタイルに存在する隣接ブロックは使用されないように制限されることができる。情報及び/又はシンタックス要素を符号化するために使用されるコンタクト情報は、個別スライス及び/又はタイルごとに初期化されることができる。
【0281】
エラー回復力の場合、符号化されたタイル及び/又はスライスに対して等しくないエラー防止(UEP、Unequal error protection)が適用されることにより引き起こされることができる。
【0282】
実施例1
【0283】
以下、上述した方案1と方案3に基づく実施例について説明する。以下の実施例は、VVC仕様などの符号化/復号化技法を改善するために適用できる。
【0284】
一実施例において、ピクチャパラメータセットをシグナリングするためのシンタックステーブルは、
図30のように設定されることができる。他の一実施例において、ピクチャパラメータセットをシグナリングするためのシンタックステーブルは、
図31のように設定されることができる。
【0285】
図30の実施例において、0からnum_slices_in_pic_minus1-1までの値を持つiに対して、NumTileColumnsの値が1より大きく、SliceTopLeftTileIdx[i]%NumTileColumnsの値がNumTileColumns-1ではない場合、シンタックス要素slice_width_in_tiles_minus1[i]がiに対して順次取得されることができる。
【0286】
そして、0からnum_slices_in_pic_minus1-1までの値を持つiに対して、NumTileRowsの値が1より大きく、tile_idx_delta_present_flagの値が1であるか、或いはSliceTopLeftTileIdx[i]%NumTileColumnsの値が0であり、SliceTopLeftTileIdx[i]/NumTileColumnsの値がNumTileRows-1ではない場合、シンタックス要素slice_height_in_tile_minus1[i]がiに対して順次取得されることができる。
【0287】
図30及び
図31の実施例において、シンタックス要素slice_width_in_tiles_minus1[i]は、i番目の四角スライスの幅を示すシンタックス要素であり得る。例えば、slice_width_in_tiles_minus1[i]に1を加えた値は、i番目の四角スライスの幅をタイル列の単位で示すことができる。slice_width_in_tiles_minus1[i]の値は、0からNumTileColumns-1までの値を持つことができる。slice_width_in_tiles_minus1[i]がビットストリームから取得されない場合、slice_width_in_tiles_minus1[i]の値は0に誘導されることができる。
【0288】
このようにslice_width_in_tiles_minus1[i]の定義が変更される場合、既存の「iがnum_slices_in_pic_minus1より小さく、NumTileColumnsの値が1と等しい場合、slice_width_in_tiles_minus1[i]の値が0に誘導される」という制限は省略できる。これにより、
図31の実施例のように、ピクチャパラメータセットシンタックスから「NumTileColumns>1」条件が削除されることができる。
【0289】
slice_height_in_tiles_minus1[i]は、i番目の四角スライスの高さを示すシンタックス要素であり得る。例えば、num_exp_slices_in_tile[i]の値が0である場合、slice_height_in_tiles_minus1[i]に1を加えた値は、i番目の四角スライスの高さをタイル行の単位で示すことができる。slice_height_in_tiles_minus1[i]の値は、0からNumTileRows-1までの値を持つことができる。
【0290】
slice_height_in_tiles_minus1[i]がビットストリームから取得されない場合、slice_height_in_tiles_minus1[i]の値は、次のように誘導されることができる。
【0291】
まず、NumTileRowの値が1であるか、或いはSliceTopLeftTileIdx[i]%NumTileColumnsの値がNumTileColumns-1である場合、slice_height_in_tiles_minus1[i]の値は0に誘導されることができる。
【0292】
そうでなければ(例えば、NumTileRowの値が1ではなく、SliceTopLeftTileIdx[i]%NumTileColumnsの値がNumTileColumns-1でない場合)、slice_height_in_tiles_minus1[i]の値は、slice_height_in_tiles_minus1[i-1]に誘導されることができる。例えば、slice_height_in_tiles_minus1[i]の値は、以前のスライスの高さ値であるslice_height_in_tiles_minus1[i-1]に設定されることができる。例えば、1つのタイル内のすべてのスライスのslice_height_in_tiles_minus1[i]の値は同一に設定されることができる。
【0293】
このようにslice_height_in_tiles_minus1[i]の定義が変更される場合、既存の「iがnum_slices_in_pic_minus1より小さく、NumTileRowsの値が1と等しい場合、slice_width_in_tiles_minus1[i]の値が0に誘導される」という制限は省略できる。これにより、
図31の実施例のように、ピクチャパラメータセットシンタックスから「NumTileRows>1」条件が削除されることができる。
【0294】
実施例2
【0295】
以下、上述した方案2及び方案4に基づく実施例について説明する。以下の実施例は、VVC仕様などの符号化/復号化技法を改善するために適用できる。
【0296】
一実施例において、slice_width_in_tiles_minus1[i]は、i番目の四角スライスの幅を示すシンタックス要素であり得る。例えば、slice_width_in_tiles_minus1[i]に1を加えた値は、i番目の四角スライスの幅をタイル列の単位で示すことができる。slice_width_in_tiles_minus1[i]の値は、0からNumTileColumns-1までの値を持つことができる。slice_width_in_tiles_minus1[i]がビットストリームから取得されない場合、slice_width_in_tiles_minus1[i]の値は0に誘導されることができる。
【0297】
このとき、iがnum_slices_in_pic_minus1より小さく、NumTileColumnsの値が1と等しい場合、slice_width_in_tiles_minus1[i]の値は0に誘導されることができる。また、ビットストリーム適合性のために、i番目の四角スライスの1番目のタイルがタイル列の最後のタイルである場合、slice_width_in_tiles_minus1[i]の値は0に強制されることができる。
【0298】
slice_height_in_tiles_minus1[i]は、i番目の四角スライスの高さを示すシンタックス要素であり得る。例えば、num_exp_slices_in_tile[i]の値が0である場合、slice_height_in_tiles_minus1[i]に1を加えた値は、i番目の四角スライスの高さをタイル行の単位で示すことができる。slice_height_in_tiles_minus1[i]の値は、0からNumTileRows-1までの値を持つことができる。
【0299】
このとき、iがnum_slices_in_pic_minus1より小さく、slice_height_in_tiles_minus1[i]の値がビットストリームから取得されない場合、slice_height_in_tiles_minus1[i]の値はNumTileRowsの値によって決定されることができる。例えば、下記数式のように決定されることができる。
【0300】
[数式2]
【0301】
slice_height_in_tiles_minus1[i]=NumTileRows==1?0:slice_height_in_tiles_minus1[i-1]
【0302】
また、ビットストリーム適合性のために、i番目の四角スライスの1番目のタイルがタイル行の最後のタイルである場合、slice_height_in_tiles_minus1[i]の値は0に強制されることができる。
【0303】
符号化及び復号化方法
【0304】
以下、一実施例による画像符号化装置及び画像復号化装置によって行われる画像符号化方法及び復号化方法について説明する。
【0305】
まず、復号化装置の動作を説明する。一実施例による画像復号化装置は、メモリとプロセッサを含み、復号化装置は、プロセッサの動作によって復号化を行うことができる。
図32は、一実施例による復号化装置の復号化方法を示す。
【0306】
一実施例による復号化装置は、現在ピクチャの分割可用性を示すシンタックス要素no_pic_partition_flagをビットストリームから取得することができる。復号化装置は、前述したように、no_pic_partition_flagの値に基づいて前記現在ピクチャの分割可用性を決定することができる(S3210)。
【0307】
前記現在ピクチャの分割が利用可能である場合、復号化装置は、現在ピクチャを分割するタイル行の個数を示すシンタックス要素num_exp_tile_rows_minus1、及びタイル列の個数を示すシンタックス要素num_exp_tile_columns_minus1をビットストリームから取得し、これからタイル行と列の個数を前述の説明のように決定することができる(S3220)。
【0308】
前記タイル列の個数に基づいて、復号化装置は、前記現在ピクチャを分割するタイル列のそれぞれに対する幅を示すシンタックス要素tile_column_width_minus1をビットストリームから取得し、これからそれぞれのタイル列の幅を前述の説明のように決定することができる(S3230)。
【0309】
前記タイル行の個数に基づいて、復号化装置は、前記現在ピクチャを分割するタイル行のそれぞれに対する高さを示すシンタックス要素tile_row_height_minus1[i]をビットストリームから取得し、これからそれぞれのタイル行の高さを決定することができる(S3240)。そして、復号化装置は、タイル列の個数とタイル行の個数との積で、現在ピクチャを分割するタイルの個数を計算することができる。
【0310】
次に、復号化装置は、現在ピクチャを分割するタイルの個数が1より大きいか否かに基づいて、前記現在ピクチャが四角スライスに分割されるか否かを示すシンタックス要素rect_slice_flagを取得し、その値から前述の説明のように現在ピクチャが四角スライスに分割されるか否かを決定することができる(S3250)。
【0311】
次に、復号化装置は、現在ピクチャが四角スライスに分割されるか否かに基づいて、前記現在ピクチャを分割するスライスの個数を示すシンタックス要素num_slices_in_pic_minus1をビットストリームから取得し、これから現在ピクチャを分割するスライスの個数を前述の説明のように決定することができる(S3260)。
【0312】
次に、復号化装置は、前記現在ピクチャを分割するスライスの個数だけ、前記現在ピクチャを分割するスライスのそれぞれに対するサイズを示すサイズ情報をビットストリームから取得することができる(S3270)。
【0313】
ここで、サイズ情報は、前記スライスの幅を示す幅情報であるシンタックス要素slice_width_in_tiles_minus1[i]、及び前記スライスの高さを示す高さ情報であるシンタックス要素slice_height_in_tiles_minus1[i]を含むことができる。slice_width_in_tiles_minus1[i]は、スライスの幅をタイル列の単位で示し、前記slice_height_in_tiles_minus1[i]は、スライスの高さをタイル行の単位で示すことができる。
【0314】
ここで、復号化装置が現在スライス(例えば、i番目のスライス)のサイズ情報をビットストリームから取得する場合、復号化装置は、現在スライスの左上側のタイルが前記現在ピクチャの最後のタイル列に属するか否かに基づいて、slice_width_in_tiles_minus1[i]を前記ビットストリームから取得することができる。
【0315】
例えば、前記現在スライスの左上側のタイルインデックス(例えば、SliceTopLeftTileIdx)が、前記現在ピクチャに属するタイル列の最後の列に該当するタイルインデックスではない場合、slice_width_in_tiles_minus1[i]は、前記ビットストリームから取得されることができる。しかし、前記現在スライスの左上側のタイルインデックスが、前記現在ピクチャに属するタイル列の最後の列に該当するタイルインデックスである場合、slice_width_in_tiles_minus1[i]は、前記ビットストリームから取得されず、0と決定されることができる。
【0316】
同様に、復号化装置は、現在スライスの左上側のタイルが前記現在ピクチャの最後のタイル行に属するか否かに基づいて、slice_height_in_tiles_minus1[i]を前記ビットストリームから取得することができる。
【0317】
例えば、前記現在スライスの左上側のタイルインデックスが、前記現在ピクチャに属するタイル行の最後の行に該当するタイルインデックスではない場合、slice_height_in_tiles_minus1[i]は、前記ビットストリームから取得されることができる。しかし、前記現在スライスの左上側のタイルインデックスが、前記現在ピクチャに属するタイル行の最後の行に該当するタイルインデックスである場合、slice_height_in_tiles_minus1[i]は、前記ビットストリームから取得されず、0と決定されることができる。
【0318】
次に、復号化装置は、前記サイズ情報に基づいて、前記現在ピクチャを分割するそれぞれのスライスのサイズを決定し、決定されたスライスを復号化することにより画像を復号化することができる。例えば、決定されたサイズのスライス内に含まれているCTUを、前述したインター又はイントラ予測などを用いて復号化することにより、スライスを復号化することができる(S3280)。
【0319】
一方、SliceTopLeftTileIdxは、スライスの最左上側のタイルのインデックスを示す変数であり、
図33及び
図34のアルゴリズムによって決定されることができる。
図33及び
図34のアルゴリズムは、1つの連続したアルゴリズムを示す。
【0320】
次に、符号化装置の動作について説明する。一実施例による画像符号化装置は、メモリとプロセッサを含み、符号化装置は、プロセッサの動作によって前記復号化装置の復号化に対応する方式で符号化を行うことができる。例えば、
図35に示すように、符号化装置は、現在ピクチャを符号化することができる。まず、符号化装置は、現在ピクチャに対するタイル列とタイル行を決定することができる(S3510)。次に、画像を分割するスライスを決定することができる(S3520)。次に、符号化装置は、スライスのサイズ情報を含む所定の情報を含むビットストリームを生成することができる(S3530)。例えば、符号化装置は、先立って復号化装置がビットストリームから取得するシンタックス要素であるno_pic_partition_flag、num_exp_tile_rows_minus1、num_exp_tile_columns_minus1、tile_column_width_minus1、tile_row_height_minus1[i]、rect_slice_flag、num_slices_in_pic_minus1、slice_width_in_tiles_minus1[i]、及びslice_height_in_tiles_minus1[i]を含むビットストリームを生成することができる。
【0321】
このとき、前記サイズ情報は、前記現在スライスが前記現在ピクチャの最後のタイル列又は最後のタイル行に属するか否かに基づいてビットストリームに含まれることができる。例えば、符号化装置は、slice_width_in_tiles_minus1[i]及びslice_height_in_tiles_minus1[i]を先立っての復号化装置での説明と対応するように、現在スライスの左上側のタイルが最後のタイル列であるか及び/又は最後のタイル行であるかに基づいてビットストリームに符号化することができる。ここで、前記現在スライスは長方形スライスであり得る。
【0322】
応用実施例
【0323】
本開示の例示的な方法は、説明の明確性のために動作のシリーズで表現されているが、これは、ステップが行われる順序を制限するためのものではなく、必要な場合には、それぞれのステップが同時に又は異なる順序で行われることもできる。本開示による方法を実現するために、例示するステップにさらに他のステップを含むか、一部のステップを除いて残りのステップを含むか、又は一部のステップを除いて追加の他のステップを含むこともできる。
【0324】
本開示において、所定の動作(ステップ)を行う画像符号化装置又は画像復号化装置は、当該動作(ステップ)の実行条件や状況を確認する動作(ステップ)を行うことができる。例えば、所定の条件が満たされる場合、所定の動作を行うと記載された場合、画像符号化装置又は画像復号化装置は、前記所定の条件が満たされるか否かを確認する動作を行った後、前記所定の動作を行うことができる。
【0325】
本開示の様々な実施例は、すべての可能な組み合わせを羅列したものではなく、本開示の代表的な態様を説明するためのものであり、様々な実施例で説明する事項は、独立して適用されてもよく、2つ以上の組み合わせで適用されてもよい。
【0326】
また、本開示の様々な実施例は、ハードウェア、ファームウェア(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)、コントローラ、マイクロコントローラ、マイクロプロセッサなどによって実現できる。
【0327】
また、本開示の実施例が適用された画像復号化装置及び画像符号化装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ会話装置、ビデオ通信などのリアルタイム通信装置、モバイルストリーミング装置、記憶媒体、カムコーダ、注文型ビデオ(VoD)サービス提供装置、OTTビデオ(Over the top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、画像電話ビデオ装置、及び医療用ビデオ装置などに含まれることができ、ビデオ信号又はデータ信号を処理するために使用できる。例えば、OTTビデオ(Over the top video)装置としては、ゲームコンソール、ブルーレイプレーヤー、インターネット接続TV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recoder)などを含むことができる。
【0328】
図36は本開示の実施例が適用できるコンテンツストリーミングシステムを例示する図である。
【0329】
図36に示されているように、本開示の実施例が適用されたコンテンツストリーミングシステムは、大きく、符号化サーバ、ストリーミングサーバ、Webサーバ、メディアストレージ、ユーザ装置及びマルチメディア入力装置を含むことができる。
【0330】
前記符号化サーバは、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置から入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これを前記ストリーミングサーバに伝送する役割を果たす。他の例として、スマートフォン、カメラ、ビデオカメラなどのマルチメディア入力装置がビットストリームを直接生成する場合、前記符号化サーバは省略できる。
【0331】
前記ビットストリームは、本開示の実施例が適用された画像符号化方法及び/又は画像符号化装置によって生成でき、前記ストリーミングサーバは、前記ビットストリームを伝送又は受信する過程で一時的に前記ビットストリームを保存することができる。
【0332】
前記ストリーミングサーバは、Webサーバを介してユーザの要求に基づいてマルチメディアデータをユーザ装置に伝送し、前記Webサーバは、ユーザにどんなサービスがあるかを知らせる媒介体の役割を果たすことができる。ユーザが前記Webサーバに所望のサービスを要求すると、前記Webサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを伝送することができる。この時、前記コンテンツストリーミングシステムは、別途の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割を果たすことができる。
【0333】
前記ストリーミングサーバは、メディアストレージ及び/又は符号化サーバからコンテンツを受信することができる。例えば、前記符号化サーバからコンテンツを受信する場合、前記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間保存することができる。
【0334】
前記ユーザ装置の例としては、携帯電話、スマートフォン(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、デスクトップコンピュータ、デジタルサイネージなどがあり得る。
【0335】
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営されることができ、この場合、各サーバから受信するデータは、分散処理されることができる。
【0336】
本開示の範囲は、様々な実施例の方法による動作が装置又はコンピュータ上で実行されるようにするソフトウェア又はマシン-実行可能なコマンド(例えば、オペレーティングシステム、アプリケーション、ファームウェア(firmware)、プログラムなど)、及びこのようなソフトウェア又はコマンドなどが保存されて装置又はコンピュータ上で実行できる非一時的なコンピュータ可読媒体(non-transitory computer-readable medium)を含む。
【産業上の利用可能性】
【0337】
本開示による実施例は、画像を符号化/復号化することに利用可能である。
【手続補正書】
【提出日】2024-06-13
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
画像復号化装置によって行われる画像復号化方法であって、
現在ピクチャの少なくとも一部に対応する現在スライスのサイズを示すサイズ情報をビットストリームから取得するステップと、
前記サイズ情報に基づいて前記現在スライスのサイズを決定するステップと、を含み、
前記サイズ情報は、前記現在スライスの幅をタイル列の単位で示す幅情報、及び前記現在スライスの高さをタイル行の単位で示す高さ情報を含み、
前記サイズ情報を取得するステップは、前記現在スライスが前記現在ピクチャの最後のタイル列又は最後のタイル行に属するか否かに基づいて行われ、
前記現在スライスの左上側のタイルが前記現在ピクチャの最後のタイル行に属するか否かに基づいて、前記現在スライスの高さ情報が前記ビットストリームから取得されず、
前記現在スライスの左上側のタイルが前記現在ピクチャの最後のタイル列に属するか否かに基づいて、前記現在スライスの幅情報が前記ビットストリームから取得されない、画像復号化方法。
【請求項2】
前記現在スライスの左上側のタイルが前記現在ピクチャの最後のタイル行に属さないことに基づいて、前記現在スライスの高さ情報が前記ビットストリームから取得される、請求項1に記載の画像復号化方法。
【請求項3】
前記現在スライスの左上側のタイルが前記現在ピクチャの最後のタイル行に属することに基づいて、前記現在スライスの高さ情報が、前記ビットストリームから取得されず、所定の値に決定される、請求項1に記載の画像復号化方法。
【請求項4】
前記所定の値は、1つのタイル行を示す値である、請求項3に記載の画像復号化方法。
【請求項5】
前記現在スライスが長方形スライスである、請求項1に記載の画像復号化方法。
【請求項6】
前記サイズ情報を取得するステップは、前記現在ピクチャを分割するスライスの個数に基づいて行われ、
前記現在ピクチャを分割するスライスの個数は、
前記現在ピクチャの分割可用性を決定するステップと、
前記現在ピクチャの分割が利用可能であることに基づいて、前記現在ピクチャを分割するタイルの行の個数とタイルの列の個数を決定するステップと、
前記タイル列の個数に基づいて、前記現在ピクチャを分割するタイル列のそれぞれに対する幅を決定するステップと、
前記タイル行の個数に基づいて、前記現在ピクチャを分割するタイル行のそれぞれに対する高さを決定するステップと、
前記現在ピクチャを分割するタイルの個数に基づいて、前記現在ピクチャが四角スライスに分割されるか否かを決定するステップと、
前記現在ピクチャが四角スライスに分割されるか否かに基づいて、前記現在ピクチャを分割するスライスの個数をビットストリームから取得するステップと、を行うことにより決定される、請求項1に記載の画像復号化方法。
【請求項7】
画像符号化装置によって行われる画像符号化方法であって、
現在ピクチャの少なくとも一部に対応する現在スライスを決定するステップと、
前記現在スライスのサイズ情報を含むビットストリームを生成するステップと、を含み、
前記サイズ情報は、前記現在スライスの幅をタイル列の単位で示す幅情報、及び前記現在スライスの高さをタイル行の単位で示す高さ情報を含み、
前記ビットストリームを生成するステップは、前記現在スライスが前記現在ピクチャの最後のタイル列又は最後のタイル行に属するか否かに基づいて行われ、
前記現在スライスの左上側のタイルが前記現在ピクチャの最後のタイル行に属することに基づいて、前記現在スライスの高さ情報が前記ビットストリーム内に符号化されず、
前記現在スライスの左上側のタイルが前記現在ピクチャの最後のタイル列に属することに基づいて、前記現在スライスの幅情報が前記ビットストリーム内に符号化されない、画像符号化方法。
【請求項8】
前記現在スライスが長方形スライスである、請求項7に記載の画像符号化方法。
【請求項9】
ビットストリームを送信する方法であって、
画像符号化方法に基づいてビットストリームを生成するステップと、
前記ビットストリームを送信するステップと、を含み、
前記画像符号化方法は、
現在ピクチャの少なくとも一部に対応する現在スライスを決定するステップと、
前記現在スライスのサイズ情報を含むビットストリームを生成するステップと、を含み、
前記サイズ情報は、前記現在スライスの幅をタイル列の単位で示す幅情報、及び前記現在スライスの高さをタイル行の単位で示す高さ情報を含み、
前記ビットストリームを生成するステップは、前記現在スライスが前記現在ピクチャの最後のタイル列又は最後のタイル行に属するか否かに基づいて行われ、
前記現在スライスの左上側のタイルが前記現在ピクチャの最後のタイル行に属することに基づいて、前記現在スライスの高さ情報が前記ビットストリーム内に符号化されず、
前記現在スライスの左上側のタイルが前記現在ピクチャの最後のタイル列に属することに基づいて、前記現在スライスの幅情報が前記ビットストリーム内に符号化されない、ビットストリーム送信方法。