(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024040459
(43)【公開日】2024-03-25
(54)【発明の名称】サブピクチャ及びピクチャヘッダーに関する情報をシグナリングする画像符号化/復号化方法、装置、及びビットストリームを伝送する方法
(51)【国際特許分類】
H04N 19/70 20140101AFI20240315BHJP
【FI】
H04N19/70
【審査請求】有
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2024021020
(22)【出願日】2024-02-15
(62)【分割の表示】P 2022543104の分割
【原出願日】2021-01-14
(31)【優先権主張番号】62/961,188
(32)【優先日】2020-01-14
(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)【発明者】
【氏名】ヘンドリー ヘンドリー
(57)【要約】
【課題】サブピクチャ及びピクチャヘッダーに関する情報をシグナリングする画像符号化/復号化方法、装置、及びビットストリームを伝送する方法が提供される。
【解決手段】本開示による画像復号化方法は、サブピクチャに関する情報がビットストリームに存在するか否かを示す第1フラグを取得するステップと、ピクチャヘッダー情報がスライスヘッダー内に存在するか否かを示す第2フラグを取得するステップと、前記第1フラグ及び前記第2フラグに基づいて前記ビットストリームを復号化するステップと、を含むことができる。前記第1フラグが、前記サブピクチャに関する情報が前記ビットストリームに存在することを示す場合、前記第2フラグは、前記ピクチャヘッダー情報が前記スライスヘッダー内に存在しないことを示す値を有することができる。
【選択図】
図12
【特許請求の範囲】
【請求項1】
サブピクチャに関する情報がビットストリーム内に存在するかどうかを示す第1フラグを取得するステップと、
ピクチャヘッダー情報がスライスヘッダー内に存在するかどうかを示す第2フラグを取得するステップと、
前記第1フラグ及び前記第2フラグに基づいて前記ビットストリームを復号化するステップと、を含み、
前記第1フラグが、前記サブピクチャに関する前記情報が前記ビットストリーム内に存在することを示すことに基づいて、前記第2フラグは、前記ピクチャヘッダー情報が前記スライスヘッダー内に存在しないことを示す値を有する、画像復号化方法。
【請求項2】
前記第1フラグが、前記サブピクチャに関する前記情報が前記ビットストリーム内に存在することを示すことに基づいて、前記スライスヘッダーは、前記スライスヘッダーに関連するスライスを含むサブピクチャの識別子を含む、請求項1に記載の画像復号化方法。
【請求項3】
前記第2フラグが、前記ピクチャヘッダー情報が前記スライスヘッダー内に存在することを示すことに基づいて、前記スライスヘッダーから前記ピクチャヘッダー情報を取得するステップをさらに含む、請求項1に記載の画像復号化方法。
【請求項4】
前記第2フラグは、CLVS(coded layer video sequence)内の全てのスライスに対して同一の値を有する、請求項1に記載の画像復号化方法。
【請求項5】
前記第2フラグが、前記ピクチャヘッダー情報が前記スライスヘッダー内に存在することを示すことに基づいて、前記ピクチャヘッダー情報を伝送するためのNAL(network abstraction layer)ユニットは、CLVS内に存在しない、請求項1に記載の画像復号化方法。
【請求項6】
前記第2フラグが、前記ピクチャヘッダー情報が前記スライスヘッダー内に存在しないことを示すことに基づいて、前記ピクチャヘッダー情報は、NALユニットタイプがPH_NUTと同じNALユニットから取得される、請求項1に記載の画像復号化方法。
【請求項7】
前記第1フラグは、スライスの上位レベルでシグナリングされ、
前記第2フラグは、前記スライスヘッダー内に含まれてシグナリングされる、請求項1に記載の画像復号化方法。
【請求項8】
サブピクチャに関する情報がビットストリーム内に存在するかどうかを示す第1フラグを符号化するステップと、
ピクチャヘッダー情報がスライスヘッダー内に存在するかどうかを示す第2フラグを符号化するステップと、
前記第1フラグ及び前記第2フラグに基づいて前記ビットストリームを符号化するステップと、を含み、
前記第1フラグが、前記サブピクチャに関する前記情報が前記ビットストリーム内に存在することを示すことに基づいて、前記第2フラグは、前記ピクチャヘッダー情報が前記スライスヘッダー内に存在しないことを示す値を有する、画像符号化方法。
【請求項9】
前記第1フラグが、前記サブピクチャに関する前記情報が前記ビットストリーム内に存在することを示すことに基づいて、前記スライスヘッダーは、前記スライスヘッダーに関連するスライスを含むサブピクチャの識別子を含む、請求項8に記載の画像符号化方法。
【請求項10】
前記第2フラグが、前記ピクチャヘッダー情報が前記スライスヘッダー内に存在することを示すことに基づいて、前記スライスヘッダー内に前記ピクチャヘッダー情報を符号化するステップをさらに含む、請求項8に記載の画像符号化方法。
【請求項11】
前記第2フラグは、CLVS(coded layer video sequence)内の全てのスライスに対して同一の値を有する、請求項8に記載の画像符号化方法。
【請求項12】
前記第2フラグが、前記ピクチャヘッダー情報が前記スライスヘッダー内に存在しないことを示すことに基づいて、前記ピクチャヘッダー情報は、NAL(network abstraction layer)ユニットタイプがPH_NUTと同じNALユニットを介してシグナリングされる、請求項8に記載の画像符号化方法。
【請求項13】
前記第1フラグは、スライスの上位レベルでシグナリングされ、
前記第2フラグは、前記スライスヘッダー内に含まれてシグナリングされる、請求項8に記載の画像符号化方法。
【請求項14】
画像のためのビットストリームを伝送する方法であって、
前記ビットストリームを伝送する方法は、
サブピクチャに関する情報が前記ビットストリーム内に存在するかどうかを示す第1フラグを符号化するステップと、ピクチャヘッダー情報がスライスヘッダー内に存在するかどうかを示す第2フラグを符号化するステップと、前記第1フラグ及び前記第2フラグに基づいて前記ビットストリームを符号化するステップと、を行うことによって前記ビットストリームを生成するステップと、
前記ビットストリームを伝送するステップと、を含み、
前記第1フラグが、前記サブピクチャに関する前記情報が前記ビットストリーム内に存在することを示すことに基づいて、前記第2フラグは、前記ピクチャヘッダー情報が前記スライスヘッダー内に存在しないことを示す値を有する、ビットストリームを伝送する方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像符号化/復号化方法及び装置に関し、より詳細には、サブピクチャ及びピクチャヘッダーに関する情報をシグナリングする画像符号化/復号化方法、装置、及び本開示の画像符号化方法/装置によって生成されたビットストリームを伝送する方法に関する。
【背景技術】
【0002】
最近、高解像度、高品質の画像、例えばHD(High Definition)画像及びUHD(Ultra High Definition)画像への需要が多様な分野で増加している。画像データが高解像度、高品質になるほど、従来の画像データに比べて、伝送される情報量又はビット量が相対的に増加する。伝送される情報量又はビット量の増加は、伝送費用と保存費用の増加をもたらす。
【0003】
これにより、高解像度、高品質画像の情報を効果的に伝送又は保存し、再生するための高効率の画像圧縮技術が求められる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、符号化/復号化効率が向上した画像符号化/復号化方法及び装置を提供することを目的とする。
【0005】
また、本開示は、サブピクチャ及びピクチャヘッダーに関する情報を効率よくシグナリングすることにより、符号化/復号化効率の向上を図る画像符号化/復号化方法及び装置を提供することを目的とする。
【0006】
また、本開示は、本開示による画像符号化方法又は装置によって生成されたビットストリームを伝送する方法を提供することを目的とする。
【0007】
また、本開示は、本開示による画像符号化方法又は装置によって生成されたビットストリームを保存した記録媒体を提供することを目的とする。
【0008】
また、本開示は、本開示による画像復号化装置によって受信され、復号化されて画像の復元に利用されるビットストリームを保存した記録媒体を提供することを目的とする。
【0009】
本開示で解決しようとする技術的課題は上述した技術的課題に制限されず、上述していない別の技術的課題は以降の記載から本開示の属する技術分野における通常の知識を有する者に明確に理解できるであろう。
【課題を解決するための手段】
【0010】
本開示の一態様による画像復号化装置によって行われる画像復号化方法は、サブピクチャに関する情報がビットストリームに存在するか否かを示す第1フラグを取得するステップと、ピクチャヘッダー情報がスライスヘッダー内に存在するか否かを示す第2フラグを取得するステップと、前記第1フラグ及び前記第2フラグに基づいて前記ビットストリームを復号化するステップと、を含むことができる。前記第1フラグが、前記サブピクチャに関する情報がビットストリームに存在することを示す場合、前記第2フラグは、前記ピクチャヘッダー情報が前記スライスヘッダー内に存在しないことを示す値を有することができる。
【0011】
本開示による画像復号化方法において、前記第1フラグが、前記サブピクチャに関する情報がビットストリームに存在することを示す場合、前記スライスヘッダーは、前記スライスヘッダーに関連するスライスを含むサブピクチャの識別子を含むことができる。
【0012】
本開示による画像復号化方法において、前記第2フラグが、前記ピクチャヘッダー情報が前記スライスヘッダー内に存在することを示す場合、前記スライスヘッダーから前記ピクチャヘッダー情報を取得するステップをさらに含むことができる。
【0013】
本開示による画像復号化方法において、前記第2フラグは、CLVS(Coded Layer Video Sequence)内の全てのスライスに対して同一の値を有することができる。
【0014】
本開示による画像復号化方法において、前記第2フラグが、前記ピクチャヘッダー情報が前記スライスヘッダー内に存在することを示す場合、前記ピクチャヘッダー情報を伝送するNALユニットがCLVS内に存在しなくてもよい。
【0015】
本開示による画像復号化方法において、前記第2フラグが、前記ピクチャヘッダー情報が前記スライスヘッダー内に存在しないことを示す場合、前記ピクチャヘッダー情報は、NALユニットタイプがPH_NUTであるNALユニットから取得されることができる。
【0016】
本開示による画像復号化方法において、前記第1フラグはスライスの上位レベルでシグナリングされ、前記第2フラグは前記スライスヘッダーに含まれてシグナリングされることができる。
【0017】
本開示の他の態様による画像復号化装置は、メモリ及び少なくとも一つのプロセッサを含み、前記少なくとも一つのプロセッサは、サブピクチャに関する情報がビットストリームに存在するか否かを示す第1フラグを取得し、ピクチャヘッダー情報がスライスヘッダー内に存在するか否かを示す第2フラグを取得し、前記第1フラグ及び前記第2フラグに基づいて前記ビットストリームを復号化することができる。前記第1フラグが、前記サブピクチャに関する情報が前記ビットストリームに存在することを示す場合、前記第2フラグは、前記ピクチャヘッダー情報が前記スライスヘッダー内に存在しないことを示す値を有することができる。
【0018】
本開示の別の態様による画像符号化方法は、サブピクチャに関する情報がビットストリームに存在するか否かを示す第1フラグを符号化するステップと、ピクチャヘッダー情報がスライスヘッダー内に存在するか否かを示す第2フラグを符号化するステップと、前記第1フラグ及び前記第2フラグに基づいて、前記ビットストリームを符号化するステップと、を含むことができる。前記第1フラグが、前記サブピクチャに関する情報が前記ビットストリームに存在することを示す場合、前記第2フラグは、前記ピクチャヘッダー情報が前記スライスヘッダー内に存在しないことを示す値を有することができる。
【0019】
本開示による画像符号化方法において、前記第1フラグが、前記サブピクチャに関する情報が前記ビットストリームに存在することを示す場合、前記スライスヘッダーは、前記スライスヘッダーに関連するスライスを含むサブピクチャの識別子を含むことができる。
【0020】
本開示による画像符号化方法において、前記第2フラグが、前記ピクチャヘッダー情報が前記スライスヘッダー内に存在することを示す場合、前記スライスヘッダーに前記ピクチャヘッダー情報を符号化するステップをさらに含むことができる。
【0021】
本開示による画像符号化方法において、前記第2フラグは、CLVS(Coded Layer Video Sequence)内の全てのスライスに対して同一の値を有することができる。
【0022】
本開示による画像符号化方法において、前記第2フラグが、前記ピクチャヘッダー情報が前記スライスヘッダー内に存在しないことを示す場合、前記ピクチャヘッダー情報は、NALユニットタイプがPH_NUTであるNALユニットを介してシグナリングされることができる。
【0023】
本開示による画像符号化方法において、前記第1フラグはスライスの上位レベルでシグナリングされ、前記第2フラグは前記スライスヘッダーに含まれてシグナリングされることができる。
【0024】
また、本開示の別の態様による伝送方法は、本開示の画像符号化装置又は画像符号化方法によって生成されたビットストリームを伝送することができる。
【0025】
本開示の別の態様によるコンピュータ可読記録媒体は、本開示の画像符号化方法又は画像符号化装置によって生成されたビットストリームを保存することができる。
【0026】
本開示について簡略に要約して上述した特徴は、後述する本開示の詳細な説明の例示的な態様に過ぎず、本開示の範囲を制限するものではない。
【発明の効果】
【0027】
本開示によれば、符号化/復号化効率が向上した画像符号化/復号化方法及び装置が提供されることができる。
【0028】
また、本開示によれば、サブピクチャ及びピクチャヘッダーに関する情報を効率よくシグナリングすることにより、符号化/復号化効率の向上を図ることができる画像符号化/復号化方法及び装置が提供されることができる。
【0029】
また、本開示によれば、本開示による画像符号化方法又は装置によって生成されたビットストリームを伝送する方法が提供されることができる。
【0030】
また、本開示によれば、本開示による画像符号化方法又は装置によって生成されたビットストリームを保存した記録媒体が提供されることができる。
【0031】
また、本開示によれば、本開示による画像復号化装置によって受信され、復号化されて画像の復元に利用されるビットストリームを保存した記録媒体が提供されることができる。
【0032】
本開示で得られる効果は、上述した効果に限定されず、上述していない別の効果は、以降の記載から、本開示の属する技術分野における通常の知識を有する者に明確に理解できるだろう。
【図面の簡単な説明】
【0033】
【
図1】本開示による実施例が適用できるビデオコーディングシステムを概略的に示す図である。
【
図2】本開示による実施例が適用できる画像符号化装置を概略的に示す図である。
【
図3】本開示による実施例が適用できる画像復号化装置を概略的に示す図である。
【
図4】一実施例による画像の分割構造を示す図である。
【
図5】マルチタイプツリー構造によるブロックの分割タイプの一実施例を示す図である。
【
図6】本開示によるマルチタイプツリーを伴う四分木(quadtree with nested multi-type tree)構造におけるブロック分割情報のシグナリングメカニズムを例示的に示す図である。
【
図7】CTUが多重CUに分割される一実施例を示す図である。
【
図8】本開示の一実施例による画像符号化装置がスライス/タイルを用いて画像を符号化する方法を示すフローチャートである。
【
図9】本開示の一実施例による画像復号化装置がスライス/タイルを用いて画像を復号化する方法を示すフローチャートである。
【
図10】ピクチャヘッダーにおけるシグナリング及びシンタックス要素の本開示による一例を示す図である。
【
図11】本開示の一実施例によるスライスヘッダーのシンタックス構造を示す図である。
【
図12】
図11のスライスヘッダーをパーシングし、復号化する方法を示すフローチャートである。
【
図13】
図11のスライスヘッダーを符号化する方法を示すフローチャートである。
【
図14】本開示の他の実施例によるスライスヘッダーのシンタックス構造を示す図である。
【
図15】
図14のスライスヘッダーをパーシングし、復号化する方法を示すフローチャートである。
【
図16】
図14のスライスヘッダーを符号化する方法を示すフローチャートである。
【
図17】本開示の別の実施例によるスライスヘッダーのシンタックス構造を示す図である。
【
図18】
図17のスライスヘッダーをパーシングし、復号化する方法を示すフローチャートである。
【
図19】
図17のスライスヘッダーを符号化する方法を示すフローチャートである。
【
図20】本開示の実施例が適用できるコンテンツストリーミングシステムを例示的に示す図である。
【発明を実施するための形態】
【0034】
以下、添付図面を参照して、本開示の実施例について、本開示の属する技術分野における通常の知識を有する者が容易に実施し得るように詳細に説明する。しかし、本開示は、様々な異なる形態で実現でき、ここで説明する実施例に限定されない。
【0035】
本開示の実施例を説明するにあたり、公知の構成又は機能についての具体的な説明が本開示の要旨を不明確にするおそれがあると判断される場合には、それについての詳細な説明は省略する。そして、図面において、本開示についての説明と関係のない部分は省略し、同様の部分には同様の図面符号を付した。
【0036】
本開示において、ある構成要素が他の構成要素と「連結」、「結合」又は「接続」されているとするとき、これは、直接的な連結関係だけでなく、それらの間に別の構成要素が存在する間接的な連結関係も含むことができる。また、ある構成要素が他の構成要素を「含む」又は「有する」とするとき、これは、特に反対される記載がない限り、別の構成要素を排除するものではなく、別の構成要素をさらに含むことができることを意味する。
【0037】
本開示において、「第1」、「第2」などの用語は、一つの構成要素を他の構成要素から区別する目的のみで使用され、特に言及されない限り、構成要素間の順序又は重要度などを限定しない。したがって、本開示の範囲内で、一実施例における第1構成要素を他の実施例で第2構成要素と呼んでもよく、これと同様に、一実施例における第2構成要素を他の実施例で第1構成要素と呼んでもよい。
【0038】
本開示において、互いに区別される構成要素は、それぞれの特徴を明確に説明するためのものであり、構成要素が必ずしも分離されることを意味するものではない。つまり、複数の構成要素が統合されて一つのハードウェア又はソフトウェア単位で構成されてもよく、一つの構成要素が分散されて複数のハードウェア又はソフトウェア単位で構成されてもよい。よって、別に言及しなくても、このように統合された又は分散された実施例も本開示の範囲に含まれる。
【0039】
本開示において、様々な実施例で説明する構成要素が必ず必要不可欠な構成要素を意味するものではなく、一部は選択的な構成要素であり得る。したがって、一実施例で説明する構成要素の部分集合で構成される実施例も本開示の範囲に含まれる。また、様々な実施例で説明する構成要素にさらに他の構成要素を含む実施例も、本開示の範囲に含まれる。
【0040】
本開示は、画像の符号化及び復号化に関するものであって、本開示で使用される用語は、本開示で新たに定義されない限り、本開示の属する技術分野における通常の意味を持つことができる。
【0041】
本開示において、「ピクチャ(picture)」は、一般的に、特定の時間帯のいずれか一つの画像を示す単位を意味し、スライス(slice)/タイル(tile)は、ピクチャの一部を構成する符号化単位であって、一つのピクチャは、一つ以上のスライス/タイルで構成できる。また、スライス/タイルは、一つ以上のCTU(coding tree unit)を含むことができる。
【0042】
本開示において、「ピクセル(pixel)」又は「ペル(pel)」は、一つのピクチャ(又は画像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として「サンプル(sample)」が使用できる。サンプルは、一般的に、ピクセル又はピクセルの値を示すことができ、ルマ(luma)成分のピクセル/ピクセル値のみを示すこともでき、クロマ(chroma)成分のピクセル/ピクセル値のみを示すこともできる。
【0043】
本開示において、「ユニット(unit)」は、画像処理の基本単位を示す。ユニットは、ピクチャの特定の領域及び当該領域に関連する情報のうちの少なくとも一つを含むことができる。ユニットは、場合に応じて、「サンプルアレイ」、「ブロック(block)」又は「領域(area)」などの用語と混用して使用できる。一般な場合、M×Nブロックは、M個の列とN個の行からなるサンプル(又はサンプルアレイ)又は変換係数(transform coefficient)のセット(又はアレイ)を含むことができる。
【0044】
本開示において、「現在ブロック」は、「現在コーディングブロック」、「現在コーディングユニット」、「符号化対象ブロック」、「復号化対象ブロック」又は「処理対象ブロック」のうちのいずれか一つを意味することができる。予測が行われる場合、「現在ブロック」は、「現在予測ブロック」又は「予測対象ブロック」を意味することができる。変換(逆変換)/量子化(逆量子化)が行われる場合、「現在ブロック」は「現在変換ブロック」又は「変換対象ブロック」を意味することができる。フィルタリングが行われる場合、「現在ブロック」は「フィルタリング対象ブロック」を意味することができる。
【0045】
本開示において、「現在ブロック」は、クロマブロックという明示的な記載がない限り、「現在ブロックのルマブロック」を意味することができる。「現在ブロックのクロマブロック」は、明示的に「クロマブロック」又は「現在クロマブロック」のようにクロマブロックという明示的な記載を含んで表現できる。
【0046】
本開示において、「/」と「、」は「及び/又は」と解釈されることができる。例えば、「A/B」と「A、B」は「A及び/又はB」と解釈されることができる。また、「A/B/C」と「A、B、C」は、「A、B及び/又はCのうちの少なくとも一つ」を意味することができる。
【0047】
本開示において、「又は」は、「及び/又は」と解釈されることができる。例えば、「A又はB」は、1)「A」のみを意味するか、2)「B」のみを意味するか、3)「A及びB」を意味することができる。又は、本開示において、「又は」は、「追加的に又は代替的に(additionally or alternatively)」を意味することができる。
【0048】
ビデオコーディングシステムの概要
【0049】
図1は本開示によるビデオコーディングシステムを示す。
【0050】
一実施例によるビデオコーディングシステムは、符号化装置10及び復号化装置20を含むことができる。符号化装置10は、符号化されたビデオ(video)及び/又は画像(image)情報又はデータをファイル又はストリーミング形式でデジタル記憶媒体又はネットワークを介して復号化装置20へ伝達することができる。
【0051】
一実施例よる符号化装置10は、ビデオソース生成部11、符号化部12及び伝送部13を含むことができる。一実施例による復号化装置20は、受信部21、復号化部22及びレンダリング部23を含むことができる。前記符号化部12は、ビデオ/画像符号化部と呼ばれることができ、前記復号化部22は、ビデオ/画像復号化部と呼ばれることができる。伝送部13は、符号化部12に含まれることができる。受信部21は、復号化部22に含まれることができる。レンダリング部23は、ディスプレイ部を含むこともでき、ディスプレイ部は、別個のデバイス又は外部コンポーネントとして構成されることもできる。
【0052】
ビデオソース生成部11は、ビデオ/画像のキャプチャ、合成又は生成過程などを介してビデオ/画像を取得することができる。ビデオソース生成部11は、ビデオ/画像キャプチャデバイス及び/又はビデオ/画像生成デバイスを含むことができる。ビデオ/画像キャプチャデバイスは、例えば、一つ以上のカメラ、以前にキャプチャされたビデオ/画像を含むビデオ/画像アーカイブなどを含むことができる。ビデオ/画像生成デバイスは、例えば、コンピュータ、タブレット及びスマートフォンなどを含むことができ、(電子的に)ビデオ/画像を生成することができる。例えば、コンピュータなどを介して、仮想のビデオ/画像が生成されることができ、この場合、ビデオ/画像キャプチャ過程は、関連データが生成される過程に置き換えられることができる。
【0053】
符号化部12は、入力ビデオ/画像を符号化することができる。符号化部12は、圧縮及び符号化効率のために、予測、変換、量子化などの一連の手順を行うことができる。符号化部12は、符号化されたデータ(符号化されたビデオ/画像情報)をビットストリーム(bitstream)形式で出力することができる。
【0054】
伝送部13は、ビットストリーム形式で出力された、符号化されたビデオ/画像情報又はデータを、ファイル又はストリーミング形式でデジタル記憶媒体又はネットワークを介して復号化装置20の受信部21に伝達することができる。デジタル記憶媒体は、USB、SD、CD、DVD、Blu-ray(登録商標)、HDD、SSDなどの様々な記憶媒体を含むことができる。伝送部13は、予め決められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介して伝送するためのエレメントを含むことができる。受信部21は、前記記憶媒体又はネットワークから前記ビットストリームを抽出/受信して復号化部22へ伝達することができる。
【0055】
復号化部22は、符号化部12の動作に対応する逆量子化、逆変換、予測などの一連の手順を行ってビデオ/画像を復号化することができる。
【0056】
レンダリング部23は、復号化されたビデオ/画像をレンダリングすることができる。レンダリングされたビデオ/画像は、ディスプレイ部を介して表示されることができる。
【0057】
画像符号化装置の概要
【0058】
図2は本開示による実施例が適用できる画像符号化装置を概略的に示す図である。
【0059】
図2に示されているように、画像符号化装置100は、画像分割部110、減算部115、変換部120、量子化部130、逆量子化部140、逆変換部150、加算部155、フィルタリング部160、メモリ170、インター予測部180、イントラ予測部185及びエントロピー符号化部190を含むことができる。インター予測部180及びイントラ予測部185は、合わせて「予測部」と呼ばれることができる。変換部120、量子化部130、逆量子化部140及び逆変換部150は、レジデュアル(residual)処理部に含まれることができる。レジデュアル処理部は減算部115をさらに含むこともできる。
【0060】
画像符号化装置100を構成する複数の構成部の全部又は少なくとも一部は、実施例によって一つのハードウェアコンポーネント(例えば、エンコーダ又はプロセッサ)で実現されることができる。また、メモリ170は、DPB(decoded picture buffer)を含むことができ、デジタル記憶媒体によって実現できる。
【0061】
画像分割部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)を誘導する単位であることができる。
【0062】
予測部(インター予測部180又はイントラ予測部185)は、処理対象ブロック(現在ブロック)に対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、現在ブロック又はCU単位でイントラ予測が適用されるか、或いはインター予測が適用されるかを決定することができる。予測部は、現在ブロックの予測に関する様々な情報を生成してエントロピー符号化部190へ伝達することができる。予測に関する情報は、エントロピー符号化部190で符号化されてビットストリーム形式で出力されることができる。
【0063】
イントラ予測部185は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。前記参照される前記サンプルは、イントラ予測モード及び/又はイントラ予測技法に従って、前記現在ブロックの周辺(neighbor)に位置することもでき、或いは離れて位置することもできる。イントラ予測モードは、複数の非方向性モードと複数の方向性モードを含むことができる。非方向性モードは、例えば、DCモード及びPlanarモードを含むことができる。方向性モードは、予測方向の細かい程度に応じて、例えば33個の方向性予測モード又は65個の方向性予測モードを含むことができる。但し、これは例示に過ぎず、設定に基づいてそれ以上又はそれ以下の個数の方向性予測モードが使用できる。イントラ予測部185は、周辺ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0064】
インター予測部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)を符号化することにより、現在ブロックの動きベクトルをシグナリングすることができる。動きベクトル差分は、現在ブロックの動きベクトルと動きベクトル予測子との差を意味することができる。
【0065】
予測部は、後述する様々な予測方法及び/又は予測技法に基づいて予測信号を生成することができる。例えば、予測部は、現在ブロックの予測のために、イントラ予測又はインター予測を適用することができるだけでなく、イントラ予測とインター予測を同時に適用することができる。現在ブロックの予測のためにイントラ予測とインター予測を同時に適用する予測方法は、CIIP(combined inter and intra prediction)と呼ばれることができる。また、予測部は、現在ブロックの予測のためにイントラブロックコピー(intra block copy、IBC)を行うこともできる。イントラブロックコピーは、例えば、SCC(screen content coding)などのようにゲームなどのコンテンツ画像/動画コーディングのために使用できる。IBCは、現在ブロックから所定の距離だけ離れた位置の現在ピクチャ内の既に復元された参照ブロックを用いて現在ブロックを予測する方法である。IBCが適用される場合、現在ピクチャ内の参照ブロックの位置は前記所定の距離に該当するベクトル(ブロックベクトル)として符号化されることができる。IBCは、基本的に、現在ピクチャ内で予測を行うが、現在ピクチャ内で参照ブロックを導出するという点において、インター予測と同様に行われることができる。すなわち、IBCは、本開示で説明されるインター予測技法のうちの少なくとも一つを用いることができる。
【0066】
予測部によって生成された予測信号は、復元信号を生成するために用いられるか、或いはレジデュアル信号を生成するために用いられることができる。減算部115は、入力画像信号(原本ブロック、原本サンプルアレイ)から、予測部から出力された予測信号(予測されたブロック、予測サンプルアレイ)を減算して、レジデュアル信号(residual signal、残余ブロック、残余サンプルアレイ)を生成することができる。生成されたレジデュアル信号は、変換部120に伝送されることができる。
【0067】
変換部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)を用いて予測信号を生成し、それに基づいて取得される変換を意味する。変換過程は、正方形の同じサイズを有するピクセルブロックに適用されることもでき、正方形ではない、可変サイズのブロックにも適用されることもできる。
【0068】
量子化部130は、変換係数を量子化してエントロピー符号化部190に伝送することができる。エントロピー符号化部190は、量子化された信号(量子化された変換係数に関する情報)を符号化してビットストリーム形式で出力することができる。前記量子化された変換係数に関する情報は、レジデュアル情報と呼ばれることができる。量子化部130は、係数スキャン順序(scan order)に基づいて、ブロック形式の量子化された変換係数を1次元ベクトル形式で再整列することができ、前記1次元ベクトル形式の量子化された変換係数に基づいて、前記量子化された変換係数に関する情報を生成することもできる。
【0069】
エントロピー符号化部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)をさらに含むことができる。本開示で言及されたシグナリング情報、伝送される情報及び/又はシンタックス要素は、上述した符号化手順を介して符号化されて前記ビットストリームに含まれることができる。
【0070】
前記ビットストリームは、ネットワークを介して伝送されることができ、又はデジタル記憶媒体に保存されることができる。ここで、ネットワークは、放送網及び/又は通信網などを含むことができ、デジタル記憶媒体は、USB、SD、CD、DVD、Blu-ray、HDD、SSDなどの様々な記憶媒体を含むことができる。エントロピー符号化部190から出力された信号を伝送する伝送部(図示せず)及び/又は保存する保存部(図示せず)が画像符号化装置100の内/外部要素として備えられることができ、又は伝送部はエントロピー符号化部190の構成要素として備えられることもできる。
【0071】
量子化部130から出力された、量子化された変換係数は、レジデュアル信号を生成するために用いられることができる。例えば、量子化された変換係数に逆量子化部140及び逆変換部150を介して逆量子化及び逆変換を適用することにより、レジデュアル信号(レジデュアルブロック又はレジデュアルサンプル)を復元することができる。
【0072】
加算部155は、復元されたレジデュアル信号をインター予測部180又はイントラ予測部185から出力された予測信号に加えることにより、復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部155は、復元部又は復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するようにフィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
【0073】
フィルタリング部160は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部160は、復元ピクチャに様々なフィルタリング方法を適用して、修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ170、具体的にはメモリ170のDPBに保存することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、双方向フィルタ(bilateral filter)などを含むことができる。フィルタリング部160は、各フィルタリング方法についての説明で後述するようにフィルタリングに関する様々な情報を生成してエントロピー符号化部190に伝達することができる。フィルタリングに関する情報は、エントロピー符号化部190で符号化されてビットストリーム形式で出力されることができる。
【0074】
メモリ170に伝送された、修正された復元ピクチャは、インター予測部180で参照ピクチャとして使用されることができる。画像符号化装置100は、これを介してインター予測が適用される場合、画像符号化装置100と画像復号化装置での予測ミスマッチを回避することができ、符号化効率も向上させることができる。
【0075】
メモリ170内のDPBは、インター予測部180での参照ピクチャとして使用するために、修正された復元ピクチャを保存することができる。メモリ170は、現在ピクチャ内の動き情報が導出された(又は符号化された)ブロックの動き情報及び/又は既に復元されたピクチャ内ブロックの動き情報を保存することができる。前記保存された動き情報は、空間周辺ブロックの動き情報又は時間周辺ブロックの動き情報として活用するために、インター予測部180に伝達されることができる。メモリ170は、現在ピクチャ内の復元されたブロックの復元サンプルを保存することができ、イントラ予測部185に伝達することができる。
【0076】
画像復号化装置の概要
【0077】
図3は本開示による実施例が適用できる画像復号化装置を概略的に示す図である。
【0078】
図3に示されているように、画像復号化装置200は、エントロピー復号化部210、逆量子化部220、逆変換部230、加算部235、フィルタリング部240、メモリ250、インター予測部260及びイントラ予測部265を含んで構成できる。インター予測部260及びイントラ予測部265を合わせて「予測部」と呼ばれることができる。逆量子化部220、逆変換部230はレジデュアル処理部に含まれることができる。
【0079】
画像復号化装置200を構成する複数の構成部の全部又は少なくとも一部は、実施例によって一つのハードウェアコンポーネント(例えば、デコーダ又はプロセッサ)で実現されることができる。また、メモリ250は、DPBを含むことができ、デジタル記憶媒体によって実現できる。
【0080】
ビデオ/画像情報を含むビットストリームを受信した画像復号化装置200は、
図2の画像符号化装置100で行われたプロセスに対応するプロセスを実行して画像を復元することができる。例えば、画像復号化装置200は、画像符号化装置で適用された処理ユニットを用いて復号化を行うことができる。したがって、復号化の処理ユニットは、例えばコーディングユニットであることができる。コーディングユニットは、コーディングツリーユニット又は最大コーディングユニットを分割して取得できる。そして、画像復号化装置200を介して復号化及び出力された復元画像信号は、再生装置(図示せず)を介して再生できる。
【0081】
画像復号化装置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の構成要素として備えられることもできる。
【0082】
一方、本開示による画像復号化装置は、ビデオ/画像/ピクチャ復号化装置と呼ばれることができる。前記画像復号化装置は、情報デコーダ(ビデオ/画像/ピクチャ情報デコーダ)及び/又はサンプルデコーダ(ビデオ/画像/ピクチャサンプルデコーダ)を含むこともできる。前記情報デコーダは、エントロピー復号化部210を含むことができ、前記サンプルデコーダは、逆量子化部220、逆変換部230、加算部235、フィルタリング部240、メモリ250、インター予測部260及びイントラ予測部265のうちの少なくとも一つを含むことができる。
【0083】
逆量子化部220では、量子化された変換係数を逆量子化して変換係数を出力することができる。逆量子化部220は、量子化された変換係数を2次元のブロック形式で再整列することができる。この場合、前記再整列は、画像符号化装置で行われた係数スキャン順序に基づいて行われることができる。逆量子化部220は、量子化パラメータ(例えば、量子化ステップサイズ情報)を用いて、量子化された変換係数に対する逆量子化を行い、変換係数(transform coefficient)を取得することができる。
【0084】
逆変換部230では、変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を取得することができる。
【0085】
予測部は、現在ブロックに対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、エントロピー復号化部210から出力された前記予測に関する情報に基づいて、前記現在ブロックにイントラ予測が適用されるか或いはインター予測が適用されるかを決定することができ、具体的なイントラ/インター予測モード(予測技法)を決定することができる。
【0086】
予測部が後述の様々な予測方法(技法)に基づいて予測信号を生成することができるのは、画像符号化装置100の予測部についての説明で述べたのと同様である。
【0087】
イントラ予測部265は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。イントラ予測部185についての説明は、イントラ予測部265に対しても同様に適用されることができる。
【0088】
インター予測部260は、参照ピクチャ上で動きベクトルによって特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導することができる。この時、インター予測モードで伝送される動き情報の量を減らすために、周辺ブロックと現在ブロックとの動き情報の相関性に基づいて動き情報をブロック、サブブロック又はサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測など)情報をさらに含むことができる。インター予測の場合に、周辺ブロックは、現在ピクチャ内に存在する空間周辺ブロック(spatial neighboring block)と参照ピクチャに存在する時間周辺ブロック(temporal neighboring block)を含むことができる。例えば、インター予測部260は、周辺ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出することができる。様々な予測モード(技法)に基づいてインター予測が行われることができ、前記予測に関する情報は、前記現在ブロックに対するインター予測のモード(技法)を指示する情報を含むことができる。
【0089】
加算部235は、取得されたレジデュアル信号を予測部(インター予測部260及び/又はイントラ予測部265を含む)から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることにより、復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部155についての説明は、加算部235に対しても同様に適用されることができる。加算部235は、復元部又は復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するようにフィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
【0090】
フィルタリング部240は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部240は、復元ピクチャに様々なフィルタリング方法を適用して、修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ250、具体的にはメモリ250のDPBに保存することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、双方向フィルタ(bilateral filter)などを含むことができる。
【0091】
メモリ250のDPBに保存された(修正された)復元ピクチャは、インター予測部260で参照ピクチャとして使用されることができる。メモリ250は、現在ピクチャ内の動き情報が導出された(又は復号化された)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を保存することができる。前記保存された動き情報は、空間周辺ブロックの動き情報又は時間周辺ブロックの動き情報として活用するために、インター予測部260に伝達することができる。メモリ250は、現在ピクチャ内の復元されたブロックの復元サンプルを保存することができ、イントラ予測部265に伝達することができる。
【0092】
本明細書において、画像符号化装置100のフィルタリング部160、インター予測部180及びイントラ予測部185で説明された実施例は、それぞれ画像復号化装置200のフィルタリング部240、インター予測部260及びイントラ予測部265にも、同様に又は対応するように適用されることができる。
【0093】
画像分割の概要
【0094】
本開示によるビデオ/画像コーディング方法は、次の画像分割構造に基づいて行われることができる。具体的には、後述する予測、レジデュアル処理((逆)変換、(逆)量子化など)、シンタックス要素コーディング、フィルタリングなどの手順は、前記画像の分割構造に基づいて導出されたCTU、CU(及び/又はTU、PU)に基づいて行われることができる。画像はブロック単位で分割されることができ、ブロック分割手順は上述した符号化装置の画像分割部110で行われることができる。分割関連情報は、エントロピー符号化部190で符号化されてビットストリーム形式で復号化装置へ伝達できる。復号化装置のエントロピー復号化部210は、前記ビットストリームから取得した前記分割関連情報に基づいて、現在ピクチャのブロック分割構造を導出し、これに基づいて画像復号化のための一連の手順(例えば、予測、レジデュアル処理、ブロック/ピクチャ復元、インループフィルタリングなど)を行うことができる。
【0095】
ピクチャは、コーディングツリーユニット(coding tree units、CTUs)のシーケンスに分割されることができる。
図4はピクチャがCTUに分割される例を示す。CTUはコーディングツリーブロック(CTB)に対応することができる。或いは、CTUは、ルマサンプルのコーディングツリーブロックと、対応するクロマサンプルの二つのコーディングツリーブロックと、を含むことができる。例えば、三つのサンプルアレイを含むピクチャに対して、CTUは、ルマサンプルのN×Nブロックとクロマサンプルの二つの対応ブロックを含むことができる。
【0096】
CTU分割の概要
【0097】
前述したように、コーディングユニットは、コーディングツリーユニット(CTU)又は最大コーディングユニット(LCU)をQT/BT/TT(Quad-tree/binary-tree/ternary-tree)構造に応じて再帰的に分割することにより取得できる。例えば、CTUは、まず、四分木構造に分割されることができる。その後、四分木構造のリーフノードは、マルチタイプツリー構造によってさらに分割されることができる。
【0098】
四分木による分割は、現在CU(又はCTU)を4等分する分割を意味する。四分木による分割によって、現在CUは、同じ幅と同じ高さを有する4つのCUに分割されることができる。現在CUがそれ以上四分木構造に分割されない場合、現在CUは、四分木構造のリーフノードに該当する。四分木構造のリーフノードに該当するCUは、それ以上分割されず、前述した最終コーディングユニットとして使用できる。又は、四分木構造のリーフノードに該当するCUは、マルチタイプツリー構造によってさらに分割されることができる。
【0099】
図5はマルチタイプツリー構造によるブロックの分割タイプを示す図である。マルチタイプツリー構造による分割は、二分木構造による2つの分割と三分木構造による2つの分割を含むことができる。
【0100】
二分木構造による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が生成されることができる。
【0101】
三分木構造による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の割合で分割する。
図5に示されているように、水平ターナリ分割によって、現在CUの高さの1/4の高さ及び現在CUの幅と同じ幅を有する2つのCUと、現在CUの高さの半分の高さ及び現在CUの幅と同じ幅を有する1つのCUが生成されることができる。
【0102】
図6は本開示によるマルチタイプツリーを伴う四分木(quadtree with nested multi-type tree)構造でのブロック分割情報のシグナリングメカニズムを例示的に示す図である。
【0103】
ここで、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は、前述した最終コーディングユニットとして使用できる。
【0104】
前述したmtt_split_cu_vertical_flag及びmtt_split_cu_binary_flagに基づいて、CUのマルチタイプツリー分割モード(multi-type tree splitting mode、MttSplitMode)が表1の通りに導出されることができる。以下の説明において、マルチツリー分割モードは、マルチツリー分割タイプ又は分割タイプと略称されることがある。
【0105】
【0106】
図7は四分木の適用後にマルチタイプツリーが適用されることによりCTUが多重CUに分割される例を示す。
図7において、太いブロックエッジ(bold block edge)710は四分木分割を示し、残りのエッジ720はマルチタイプツリー分割を示す。CUはコーディングブロックCBに対応することができる。一実施例において、CUは、ルマサンプルのコーディングブロックと、ルマサンプルに対応するクロマサンプルの二つのコーディングブロックと、を含むことができる。
【0107】
クロマ成分(サンプル)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の高さの半分に設定されることができる。
【0108】
一実施例において、ルマサンプル単位を基準にCTUのサイズが128であるとき、CUのサイズは、CTUと同じサイズである128×128から4×4までのサイズを有することができる。一実施例において、4:2:0カラーフォーマット(又はクロマフォーマット)である場合、クロマCBサイズは64×64から2×2までのサイズを有することができる。
【0109】
一方、一実施例において、CUサイズとTUサイズとが同じであることができる。又は、CU領域内に複数のTUが存在することもできる。TUサイズとは、一般的に、ルマ成分(サンプル)TB(Transform Block)サイズを示す。
【0110】
前記TUサイズは、予め設定された値である最大許容TBサイズ(maxTbSize)に基づいて導出されることができる。例えば、前記CUサイズが前記maxTbSizeよりも大きい場合、前記CUから、前記maxTbSizeを持つ複数のTU(TB)が導出され、前記TU(TB)単位で変換/逆変換が行われることができる。例えば、最大許容ルマTBサイズは64×64であり、最大許容クロマTBサイズは32×32であることができる。もし前記ツリー構造によって分割されたCBの幅又は高さが最大変換幅又は高さよりも大きい場合、当該CBは、自動的に(又は黙示的に)水平及び垂直方向のTBサイズの制限を満足するまで分割されることができる。
【0111】
また、例えばイントラ予測が適用される場合、イントラ予測モード/タイプは、前記CU(又はCB)単位で導出され、周辺参照サンプル導出及び予測サンプル生成手順は、TU(又はTB)単位で行われることができる。この場合、一つのCU(又はCB)領域内に一つ又は複数のTU(又はTB)が存在することができ、この場合、前記複数のTU(又はTB)は同じイントラ予測モード/タイプを共有することができる。
【0112】
一方、マルチタイプツリーを伴った四分木コーディングツリースキームのために、次のパラメータがSPSシンタックス要素として符号化装置から復号化装置にシグナリングされることができる。例えば、四分木のルートノードのサイズを示すパラメータであるCTUsize、四分木のリーフノードの最小許容サイズを示すパラメータであるMinQTSize、二分木のルートノードの最大許容サイズを示すパラメータであるMaxBTSize、三分木のルートノードの最大許容サイズを示すパラメータであるMaxTTSize、四分木のリーフノードから分割されるマルチタイプツリーの最大許容階層深さ(maximum allowed hierarchy depth)を示すパラメータであるMaxMttDepth、二分木の最小許容リーフノードサイズを示すパラメータであるMinBtSize、及び三分木の最小許容リーフノードサイズを示すパラメータであるMinTtSizeのうちの少なくとも一つがシグナリングされる。
【0113】
4:2:0のクロマフォーマットを用いる一実施例において、CTUサイズは128×128ルマブロック、及びルマブロックに対応する二つの64×64クロマブロックに設定されることができる。この場合、MinQTSizeは16×16に設定され、MaxBtSizeは128×128に設定され、MaxTtSzieは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と同じかそれより小さい場合、それ以上の追加的な垂直分割は考慮されないことができる。このように分割が考慮されない場合、符号化装置は、分割情報のシグナリングを省略することができる。このような場合、復号化装置は、分割情報を所定の値に誘導することができる。
【0114】
一方、一つの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は、三つのカラー成分(ルマ成分及び二つのクロマ成分)のブロックで構成され得ることを意味することができる。
【0115】
上記において、マルチタイプツリーを伴った四分木コーディングツリー構造について説明したが、CUが分割される構造はこれに限定されない。例えば、BT構造及びTT構造は、多数の分割ツリー(Multiple Partitioning Tree、MPT)構造に含まれる概念と解釈されることができ、CUはQT構造及びMPT構造によって分割されると解釈することができる。QT構造及びMPT構造によってCUが分割される一例において、QT構造のリーフノードが幾つかのブロックに分割されるかに関する情報を含むシンタックス要素(例えば、MPT_split_type)及びQT構造のリーフノードが垂直及び水平のうちのどの方向に分割されるかに関する情報を含むシンタックス要素(例えば、MPT_split_mode)が、シグナリングされることにより、分割構造が決定されることができる。
【0116】
別の例において、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が分割される方法は、これに限定されない。
【0117】
このように、前記マルチタイプツリーを伴った四分木コーディングブロック構造は、非常に柔軟なブロック分割構造を提供することができる。一方、マルチタイプツリーに支援される分割タイプのために、場合によって、異なる分割パターンが潜在的に同一のコーディングブロック構造の結果を導出することができる。符号化装置と復号化装置は、このような冗長(redundant)分割パターンの発生を制限することにより、分割情報のデータ量を減らすことができる。
【0118】
サブピクチャに基づく画像の符号化/復号化
【0119】
1つの符号化対象ピクチャは、複数のCTU、スライス、タイル、又はブリック単位に分割されることができ、さらに、ピクチャは、複数のサブピクチャ単位にも分割されることもできる。
【0120】
ピクチャ内で、サブピクチャは、それに先行するサブピクチャの符号化又は復号化の如何に関係なく符号化又は復号化されることができる。例えば、複数のサブピクチャに対して、互いに異なる量子化が適用されるか、或いは互いに異なる解像度が適用されることができる。
【0121】
さらに、それぞれのサブピクチャは、個別ピクチャのように処理されることができる。例えば、符号化対象ピクチャは、360度の画像/ビデオ又は全方向(omnidirectinal)画像/ビデオにおけるプロジェクテッドピクチャ(a projected picture)又はパックドピクチャ(a packed picture)であり得る。
【0122】
このような実施例において、ユーザ端末(例えば、ヘッドマウントディスプレイ(head mount display))のビューポート(viewport)に基づいてピクチャの一部分がレンダリング又は表示されることができる。したがって、低遅延を実現するために、1つのピクチャを構成するサブピクチャのうち、ビューポートをカバーする少なくとも1つのサブピクチャが残りのサブピクチャよりも優先的に又は独立して符号化又は復号化されることができる。
【0123】
サブピクチャの符号化結果は、サブビットストリーム(a sub-bitstream)又はサブストリーム(a substream)、又は単にビットストリームと呼ばれることがある。復号化装置は、サブビットストリーム又はサブストリーム又はビットストリームからサブピクチャを復号化することができる。このようなケースにおいて、PPS、SPS、VPS及び/又はDPS(復号化パラメータセット)などのHLS(High level sytax)がサブピクチャを符号化/復号化するために使用できる。
【0124】
本開示における上位シンタックス(High level syntax、HLS)とは、前記APSシンタックス、PPSシンタックス、SPSシンタックス、VPSシンタックス、DPSシンタックス、及びSHシンタックスのうちの少なくとも一つを含むことができる。例えば、APS(APSシンタックス)又はPPS(PPSシンタックス)は、1つ以上のスライス又はピクチャに共通に適用可能な情報/パラメータを含むことができる。SPS(SPSシンタックス)は、1つ以上のシーケンスに共通に適用可能な情報/パラメータを含むことができる。VPS(VPSシンタックス)は、多重レイヤーに共通に適用可能な情報/パラメータを含むことができる。DPS(DPSシンタックス)は、ビデオ全般に共通に適用可能な情報/パラメータを含むことができる。例えば、DPSは、CVS(coded video sequence)のconcatenationに関連する情報/パラメータを含むことができる。
【0125】
サブピクチャは、符号化されたピクチャの長方形領域を構成することができる。サブピクチャのサイズは、ピクチャ内で互いに異なるように設定されることができる。1つのシーケンスに属する全てのピクチャに対して、特定の個別サブピクチャのサイズ及び位置は同一に設定されることができる。個別サブピクチャシーケンスは、独立して復号化されることができる。タイルとスライス(及びCTB)は、サブピクチャ境界を超えないように(not span across)制限されることができる。このために、符号化装置は、それぞれのサブピクチャが独立して復号化されるように符号化を行うことができる。このために、ビットストリームにおけるセマンティック制限が要求されることができる。また、1つのシーケンスにおけるピクチャごとに、サブピクチャ内のタイル、スライス及びブリックの配列は、互いに異なるように構成できる。
【0126】
サブピクチャデザインは、ピクチャレベルよりは小さいが、スライス又はタイルグループレベルよりも大きい範囲の抽象化(abstraction)又はカプセル化(encapsulation)を目的とする。これにより、MCTS(motion constraint tile set)サブセットのVCL NALユニットを1つのVVCビットストリームから抽出し、これをVCLレベルでの修正のような困難性なしに他のVVCビットストリームに再配置するなどの処理を行うことができる。ここで、MCTSは、タイル間の空間的、時間的独立性を持つことを可能にする符号化技術である。MCTSが適用されると、現在タイルの属するMCTSに含まれないタイルの情報を参照することができなくなる。画像をMCTSに分割して符号化すると、MCTSの独立的伝送、復号化が可能となる。
【0127】
このようなサブピクチャデザインは、混合解像度を有するビューポート従属的360°ストリーミング方式(mixed resolution viewport dependent 360° streaming schemes)において、眺める方向(viewing orientation)を変換する上で利点を持つ。
【0128】
以下、
図8及び
図9を参照して、スライス/タイルを用いた画像符号化/復号化方法について説明する。
【0129】
図8は本開示の一実施例による画像符号化装置がスライス/タイルを用いて画像を符号化する方法を示すフローチャートである。
【0130】
画像符号化装置は、現在ピクチャを分割することにより、現在ピクチャ内のスライス/タイルを誘導することができる(S810)。
【0131】
画像符号化装置は、ステップS810で誘導されたスライス/タイルに基づいて現在ピクチャを符号化することができる(S820)。
【0132】
図9は本開示の一実施例による画像復号化装置がスライス/タイルを用いて画像を復号化する方法を示すフローチャートである。
【0133】
画像復号化装置は、ビットストリームからビデオ/画像に関する情報を取得することができる(S910)。
【0134】
そして、画像復号化装置は、ステップS910で取得したビデオ/画像に関する情報に基づいて現在ピクチャ内のスライス/タイルを誘導することができる(S920)。ここで、ビデオ/画像に関する情報は、スライス/タイルに関する情報を含むことができる。
【0135】
次に、画像復号化装置は、ステップS920で誘導されたスライス/タイルに基づいて現在ピクチャを復号化することができる(S930)。
【0136】
図8及び
図9において、スライス/タイルに対する情報は、本開示で言及された様々な情報及び/又はシンタックス要素を含むことができる。ビデオ/画像情報は上位レベルシンタックスを含むことができ、上位レベルシンタックスはスライスに対する情報及び/又はタイルに対する情報を含むことができる。上位レベルシンタックスは、ピクチャヘッダーを含むことができ、ピクチャヘッダーの情報は、本開示で説明されたスライスヘッダーに含まれることができる。スライスに対する情報は、現在ピクチャで1つ以上のスライスを特定する情報を含むことができ、タイルに対する情報は、現在ピクチャで1つ以上のタイルを特定する情報を含むことができる。ピクチャには、1つ以上のタイルを含むスライスが存在することができる。
【0137】
上位レベルシンタックス(High level syntax、HLS)シグナリング
【0138】
上述したように、上位レベルシンタックスは、ビデオ/画像コーディングのためにコーディング/シグナリングされることができる。以下、本開示によるピクチャヘッダー及びスライスヘッダーにおけるシグナリング及びシンタックス要素について説明する。
【0139】
ピクチャヘッダー及びスライスヘッダー
【0140】
コーディングされたピクチャは、1つ又は複数のスライスで構成できる。コーディングされたピクチャに対するパラメータは、ピクチャヘッダー(PH)内でシグナリングされ、スライスに対するパラメータは、スライスヘッダー(SH)内でシグナリングされることができる。ピクチャヘッダーは、自体のNALユニット形態で伝達されることができる。スライスヘッダーは、スライス(すなわち、スライスデータ)のペイロードを含むNALユニットの開始部分に存在することができる。以下、ピクチャヘッダー及びスライスヘッダーのシンタックス要素及び各シンタックス要素の意味について、
図10及び
図11を参照して説明する。
【0141】
図10はピクチャヘッダーにおけるシグナリング及びシンタックス要素の本開示による一例を示す図である。
【0142】
picture_header_rbsp()は、ピクチャヘッダーに関連する符号化されているピクチャ内の全てのスライスに対して共通である情報を含むことができる。例えば、picture_header_rbsp()は、参照ピクチャフラグ(non_reference_picture_flag)、GDRピクチャ識別情報(gdr_pic_flag)、no_output_of_prior_pics_flag、recovery_poc_cnt、ph_pic_parameter_set_idなどの情報を含むことができる。ここで、recovery_poc_cntは、gdr_pic_flagが1である場合、picture_header_rbsp()でシグナリングされる。
【0143】
non_reference_picture_flagの第1値(例えば、1)は、ピクチャヘッダーに関連するピクチャが参照ピクチャとして使用されないことを示す。non_reference_picture_flagの第2値(例えば、0)は、ピクチャヘッダーに関連するピクチャが参照ピクチャとして使用されても使用されなくてもよいことを示す。
【0144】
gdr_pic_flagの第1値(例えば、1)は、ピクチャヘッダーに関連するピクチャがGDRピクチャであることを示す。gdr_pic_flagの第2値(例えば、0)は、ピクチャヘッダーに関連するピクチャがGDRピクチャではないことを示す。
【0145】
no_output_of_prior_pics_flagは、ビットストリームで第1ピクチャではないCLVS(coded layer video sequence、コーディングされたレイヤービデオシーケンス)ピクチャを復号化した後、DPBで以前に復号化されたピクチャの出力に影響を及ぼす。
【0146】
recovery_poc_cntは、出力順序上、復号化されたピクチャの復旧地点(recovery point)を示す。
【0147】
ph_pic_parameter_set_idは、使用中のピクチャパラメータセットに対するpps_pic_parameter_set_idの値を示す。pps_pic_parameter_set_idは、他のシンタックスで参照することができるようにPPSを識別するための値である。
【0148】
図10のpicture_header_rbsp()シンタックス構造が含むシンタックス要素は、picture_header_structure()シンタックス構造に含まれてシグナリングされることができる。この場合、picture_header_structure()シンタックス構造は、picture_header_rbsp()シンタックス構造に含まれてシグナリングされることができる。
【0149】
図11は本開示の一実施例によるスライスヘッダーのシンタックス構造を示す図である。
【0150】
図11に示すように、スライスヘッダーを介して、picture_header_in_slice_header_flag、picture_header_structure()、slice_subpic_id、slice_address、num_tiles_in_slice_minus1などがシグナリングされることができる。
【0151】
図11に示されている例において、picture_header_in_slice_header_flagは、ピクチャヘッダーシンタックス構造がスライスヘッダーシンタックス構造内に存在するか否かを示すことができる。picture_header_in_slice_header_flagの第1値(例えば、1又はTrue)は、ピクチャヘッダーがスライスヘッダー内に存在することを示し、picture_header_in_slice_header_flagの第2値(例えば、0又はFalse)は、ピクチャヘッダーがスライスヘッダー内に存在しないことを示すことができる。
【0152】
picture_header_structure()は、picture_header_in_slice_header_flagに基づいて取得されることができる。例えば、picture_header_structure()は、picture_header_in_slice_header_flagが第1値である場合にシグナリングされることができる。picture_header_in_slice_header_flagが第2値である場合、picture_header_structure()は、スライスヘッダーに含まれず、別途のNALユニットに含まれてシグナリングされることができる。
【0153】
slice_subpic_idは、現在スライスが含まれているサブピクチャを識別するためのサブピクチャ識別子に関する情報であり得る。slice_subpic_idはsubpics_present_flagに基づいて取得されることができる。例えば、slice_subpic_idは、subpics_present_flagが1である場合にシグナリングされることができる。subpics_present_flagは、現在ピクチャ内にサブピクチャが存在するか否か、或いはビットストリーム内のサブピクチャに対する情報が存在するか否かを示すことができる。例えば、subpics_present_flagの第1値(例えば、1又はTrue)は、サブピクチャに対する情報がビットストリームに存在するか、現在ピクチャ内にサブピクチャが1つ又はそれ以上存在することができることを示すことができる。subpics_present_flagの第2値(例えば、0又はFalse)は、サブピクチャに対する情報がビットストリームに存在しないか、或いは現在ピクチャ内にサブピクチャが存在しないことを示すことができる。
【0154】
slice_addressは、現在スライスの現在ピクチャ内のアドレスを表すことができる。slice_addressは、rect_slice_flag及び/又はNumTilesInPicに基づいて取得できる。例えば、rect_slice_flagが第1値(例えば、1又はTrue)であるか、或いはNumTilesInPicが1より大きい場合、slice_addressはスライスヘッダーでシグナリングされることができる。このとき、rect_slice_flagは、現在ピクチャに含まれているスライスが四角形のスライスであるか否かを示すインジケータであり得る。例えば、rect_slice_flagは、ピクチャレベル(PPS又はピクチャヘッダー)でシグナリングされることができる。また、NumTilesInPicは、現在ピクチャに含まれているタイルの個数を表すことができる。
【0155】
num_tiles_in_slice_minus1は、現在スライスに含まれているタイルの個数を表すことができる。num_tiles_in_slice_minus1は、rect_slice_flag及びNumTilesInPicに基づいて取得できる。例えば、rect_slice_flagが第2値(例えば、0又はFalse)であり、NumTilesInPicが1より大きい場合、num_tiles_in_slice_minus1はスライスヘッダーでシグナリングできる。
【0156】
図11に示されている実施例において、picture_header_in_slice_header_flagに関連するビットストリーム適合性要求事項として、次の内容が含まれることができる。
【0157】
ビットストリーム適合性を満たすために、picture_header_in_slice_header_flagの値がCLVS内の全てのスライスで同一であることが要求される。
【0158】
また、picture_header_in_slice_header_flagが第1値(例えば、1)である場合、ビットストリーム適合性を満たすために、PH_NUTと同じNALユニットタイプのNALユニットがCLVSに存在しないことが要求される。
【0159】
また、picture_header_in_slice_header_flagが第2値(例えば、0)である場合、ビットストリーム適合性を満たすために、PUの1番目のVCL NALユニットに先立ち、PH_NUTと同じNALユニットタイプのNALユニットがPUに存在することが要求される。
【0160】
図12は
図11のスライスヘッダーをパーシングし、復号化する方法を示すフローチャートである。
【0161】
まず、画像復号化装置は、スライスヘッダーに含まれている第1フラグ(picture_header_in_slice_header_flag)を取得することができる(S1210)。
【0162】
第1フラグは、ピクチャヘッダーがスライスヘッダー内に存在するか否かを示すことができる。また、第1フラグは、現在ピクチャが1つのスライスのみを含むか否かを示すこともできる。
【0163】
第1フラグが第1値(例えば、1又はTrue)である場合(ステップS1220-Yes)、画像復号化装置は、スライスヘッダーからピクチャヘッダーを取得することができる(S1230)。前記第1フラグが第2値(例えば、0又はFalse)である場合(ステップS1220-No)、ピクチャヘッダーは、スライスヘッダーではなく、ピクチャヘッダーNALユニットから取得できる(図示せず)。
【0164】
以後、ステップS1240で、subpics_present_flagが第1値(例えば、1又はTrue)であるか否かが判断できる。subpics_present_flagは、現在ピクチャがサブピクチャを含むか否かを示すことができる。また、subpics_present_flagは、サブピクチャに関する情報がビットストリームに含まれるか否かを示すこともできる。subpics_present_flagは、スライスの上位レベルでシグナリングできる。例えば、subpics_present_flagは、シーケンスパラメータセットに含まれてシグナリングできる。
【0165】
前記subpics_present_flagが第1値(例えば、1又はTrue)である場合(ステップS1240-Yes)、画像復号化装置は、スライスヘッダーからslice_subpic_idを取得することができる(S1250)。前記subpics_present_flagが第2値(例えば、0又はFalse)である場合(ステップS1240-No)、画像復号化装置は、スライスヘッダーからslice_subpic_idのパーシングを省略(スキップ)することができる。
【0166】
以後、ステップS1260で、rect_slice_flagが第1値(例えば、1又はTrue)であるか否か、及び/又はNumTilesInPicが1より大きいか否かが判断できる。rect_slice_flagは、現在ピクチャに含まれているスライスが四角形のスライスであるか否かを示すインジケータであり得る。例えば、rect_slice_flagは、ピクチャレベル(PPS又はピクチャヘッダー)でシグナリングされることができる。また、NumTilesInPicは、現在ピクチャに含まれているタイルの個数を表すことができる。
【0167】
前記rect_slice_flagが第1値(例えば、1又はTrue)であるか、或いはNumTilesInPicが1より大きい場合(ステップS1260-Yes)、画像復号化装置は、スライスヘッダーからslice_addressを取得することができる(S1270)。前記rect_slice_flagが第2値(例えば、0又はFalse)であり、NumTilesInPicが1より大きくない場合(ステップS1260-No)、画像復号化装置は、スライスヘッダーからslice_addressのパーシングを省略(スキップ)することができる。
【0168】
その後、ステップS1280で、rect_slice_flagが第1値(例えば、1又はTrue)であるか否か、及び/又はNumTilesInPicが1より大きいか否かが判断できる。
【0169】
前記rect_slice_flagが第1値(例えば、1又はTrue)であるか、或いはNumTilesInPicが1より大きくない場合(ステップS1280-No)、画像復号化装置は、スライスヘッダーからnum_tiles_in_slice_minus1のパーシングを省略(スキップ)することができる。前記rect_slice_flagが第2値(例えば、0又はFalse)であり、NumTilesInPicが1より大きい場合(ステップS1280-Yes)、画像復号化装置は、スライスヘッダーからnum_tiles_in_slice_minus1を取得することができる(S1290)。
【0170】
以後、画像復号化装置は、スライスヘッダーから後続のシンタックス要素(図示せず)をパーシングすることにより、スライスヘッダーの復号化を行うことができる。
【0171】
図13は
図11のスライスヘッダーを符号化する方法を示すフローチャートである。
【0172】
まず、画像符号化装置は、第1フラグ(picture_header_in_slice_header_flag)の値を決定し、スライスヘッダーに符号化することができる(S1310)。
【0173】
前記第1フラグが第1値(例えば、1又はTrue)である場合(ステップS1320-Yes)、画像符号化装置は、スライスヘッダーにピクチャヘッダーを符号化することができる(S1330)。前記第1フラグが第2値(例えば、0又はFalse)である場合(ステップS1320-No)、ピクチャヘッダーは、スライスヘッダーに符号化されず、ピクチャヘッダーNALユニットに含まれてシグナリングされることができる(図示せず)。
【0174】
以後、ステップS1340で、subpics_present_flagが第1値(例えば、1又はTrue)であるか否かが判断できる。subpics_present_flagは、スライスの上位レベルで決定されてシグナリングされることができる。例えば、subpics_present_flagは、シーケンスパラメータセットに含まれてシグナリングされることができる。
【0175】
subpics_present_flagが第1値(例えば、1又はTrue)である場合(ステップS1340-Yes)、画像符号化装置は、スライスヘッダーにslice_subpic_idを符号化することができる(S1350)。前記subpics_present_flagが第2値(例えば、0又はFalse)である場合(ステップS1340-No)、画像符号化装置は、スライスヘッダーにslice_subpic_idの符号化を省略(スキップ)することができる。
【0176】
以後、ステップS1360で、rect_slice_flagが第1値(例えば、1又はTrue)であるか否か、及び/又はNumTilesInPicが1より大きいか否かが判断できる。
【0177】
前記rect_slice_flagが第1値(例えば、1又はTrue)であるか、或いはNumTilesInPicが1より大きい場合(ステップS1360-Yes)、画像符号化装置は、スライスヘッダーにslice_addressを符号化することができる(S1370)。前記rect_slice_flagが第2値(例えば、0又はFalse)であり、NumTilesInPicが1より大きくない場合(ステップS1360-No)、画像符号化装置は、スライスヘッダーにslice_addressの符号化を省略(スキップ)することができる。
【0178】
以後、ステップS1380で、rect_slice_flagが第1値(例えば、1又はTrue)であるか否か、及び/又はNumTilesInPicが1より大きいか否かが判断できる。
【0179】
前記rect_slice_flagが第1値(例えば、1又はTrue)であるか、或いはNumTilesInPicが1より大きくない場合(ステップS1380-No)、画像符号化装置は、スライスヘッダーにnum_tiles_in_slice_minus1の符号化を省略(スキップ)することができる。前記rect_slice_flagが第2値(例えば、0又はFalse)であり、NumTilesInPicが1より大きい場合(ステップS1380-Yes)、画像符号化装置は、スライスヘッダーにnum_tiles_in_slice_minus1を符号化することができる(S1390)。
【0180】
以後、画像符号化装置は、スライスヘッダーに後続のシンタックス要素(図示せず)を符号化することにより、スライスヘッダーの符号化を行うことができる。
【0181】
図12及び
図13を参照して説明した例において、一部のステップは変更又は省略できる。例えば、slice_address及び/又はnum_tiles_in_slice_minus1の符号化/復号化に関連する条件が変更できる。
【0182】
以下、サブピクチャに基づく画像符号化/復号化を考慮して、
図11~
図13を参照して説明した実施例を改善する方法について説明する。
【0183】
画像符号化装置は、サブピクチャに基づいて現在ピクチャを符号化することができる。或いは、画像符号化装置は、現在ピクチャを構成する少なくとも一つのサブピクチャを符号化し、符号化された少なくとも一つのサブピクチャに対する符号化情報を含むビットストリームを生成することができる。
【0184】
画像復号化装置は、少なくとも一つのサブピクチャに関する符号化情報を含むビットストリームに基づいて、現在ピクチャに含まれている少なくとも一つのサブピクチャを復号化することができる。
【0185】
上述したように、picture_header_in_slice_header_flagは、ピクチャヘッダーがスライスヘッダー内に存在するか否かを示すことができる。また、picture_header_in_slice_header_flagは、現在ピクチャが1つのスライスのみを含むか、或いはさらに多くのスライスを含むかを指し示すことに使用されることもある。現在ピクチャが1つのスライスのみを含む場合、当該スライスは現在ピクチャ内の唯一のスライスなので、スライスヘッダー内の一部のシンタックス要素は固定された値を有する。この場合、固定された値を有する一部のシンタックス要素はシグナリングしないことが効率的であり得る。
【0186】
以下では、上述した効率的なシグナリングを行うための本開示の様々な構成について説明する。以下の構成は、本開示による実施例に個別に適用されてもよく、組み合わせられて適用されてもよい。
【0187】
構成1
【0188】
現在ピクチャが1つのスライスのみを含む場合、スライスヘッダー内の一部のシンタックス要素に対するシグナリングは省略できる。シグナリングが省略された前記シンタックス要素の値は、画像符号化装置及び/又は画像復号化装置によって導出又は推論できる。
【0189】
現在ピクチャが1つのスライスのみを含むか否かは、所定のインジケータによって指し示されることができる。したがって、例えば、前記インジケータによって、現在ピクチャが1つのスライスのみを含むことが指し示される場合、上述した一部のシンタックス要素は、スライスヘッダーに含まれず、その値は推論又は導出できる。このとき、前記インジケータは、前記一部のシンタックス要素がスライスヘッダーに含まれるか否かを示す条件として利用できる。
【0190】
構成2
【0191】
前記構成1で説明されたインジケータは、例えば、picture_header_in_slice_header_flagであり得る。
【0192】
構成3
【0193】
picture_header_in_slice_header_flagの値に応じてシグナリングが省略できるスライスヘッダー内のシンタックス要素は、下記の(a)又は(b)のうちの少なくとも一つを含むことができる。
【0194】
(a)スライスが含まれているサブピクチャを明示するシンタックス要素
【0195】
シンタックス要素(a)のシグナリングが省略可能な理由は、ピクチャあたり1つのスライスのみが含まれる場合、如何なるサブピクチャも特定されないことが明白だからである。例えば、picture_header_in_slice_header_flagが、現在ピクチャが1つのスライスのみを含むことを指し示す場合、現在ピクチャはサブピクチャに基づいて符号化/復号化されないので、サブピクチャに関する情報のシグナリングが省略できる。
【0196】
(b)スライスのアドレスを明示するシンタックス要素
【0197】
シンタックス要素(b)のシグナリングが省略可能である理由は、前記スライスがピクチャ内の唯一の一番目のスライスであることが明白だからである。例えば、picture_header_in_slice_header_flagが、現在ピクチャが1つのスライスのみを含むことを指し示す場合、現在スライスは現在ピクチャ内の唯一のスライスなので、現在スライスに対するアドレスのシグナリングが省略できる。
【0198】
構成4
【0199】
シーケンス内の各ピクチャが只1つのスライスを有する場合、サブピクチャも使用されない。例えば、サブピクチャに関するシンタックス要素subpics_present_flag又はsubpic_info_present_flagは、第2値(例えば、0又はFalse)に制限できる。subpics_present_flag又はsubpic_info_present_flagは、現在ピクチャ内のサブピクチャが存在するか否か、又はビットストリーム内のサブピクチャに対する情報が存在するか否かを示すことができる。subpics_present_flag又はsubpic_info_present_flagは、例えば、シーケンスパラメータセットに含まれてシグナリングされることができる。
【0200】
同様に、subpics_present_flag又はsubpic_info_present_flagが第1値(例えば、1又はTrue)であるとき、シーケンス内の各ピクチャが1つのスライスのみを含むか否かを示すフラグ、又はスライスヘッダーにピクチャヘッダーが存在するか否かを示すフラグ(例えば、picture_header_in_slice_header_flag)は、現在ピクチャが1つのスライスのみを含むことを指し示すことができず、かつ、ピクチャヘッダーがスライスヘッダー内に存在することを指し示すことができない。したがって、例えば、subpics_present_flag又はsubpic_info_present_flagが第1値(例えば、1又はTrue)であるとき、picture_header_in_slice_header_flagは、第2値(例えば、0又はFalse)を有するように制限されることができる。
【0201】
構成5
【0202】
ピクチャヘッダーがピクチャヘッダーNALユニットに存在せず、スライスヘッダーに存在する場合、特定の階層(layer A)のCLVS内で、layer Aを参照する全ての階層(すなわち、layer Aの従属階層)及びlayer Aが参照する全ての階層のピクチャヘッダーは、ピクチャヘッダーNALユニットに存在せず、スライスヘッダーに存在するように制限できる。前記制限は、多階層(multi-layer)ビットストリームの場合、アクセスユニット内のピクチャ境界検出を単純化するために付加できる。
【0203】
図14は本開示の他の実施例によるスライスヘッダーのシンタックス構造を示す図である。
【0204】
図14の実施例によるスライスヘッダー構造と
図11の実施例によるスライスヘッダー構造における同一のシンタックス要素及び同一のシグナリング条件についての説明は同一であるので、重複説明は省略する。
【0205】
図14の実施例によれば、slice_subpic_idをシグナリングする条件が変更できる。具体的には、スライスヘッダーは、subpics_present_flagとpicture_header_in_slice_header_flagに基づいてslice_subpic_idを含むことができる。例えば、subpics_present_flagが第1値(例えば、1又はTrue)であり、picture_header_in_slice_header_flagが第2値(例えば、0又はFalse)である場合、slice_subpic_idはスライスヘッダーでシグナリングできる。これは、上述したように、picture_header_in_slice_header_flagが第1値を有すれば、現在ピクチャは1つのスライスのみを含み、サブピクチャに基づく符号化/復号化が行われないので、サブピクチャに関する情報のシグナリングが不要だからである。
【0206】
また、
図14の実施例によれば、slice_addressをシグナリングする条件が変更できる。具体的には、スライスヘッダーは、rect_slice_flag、NumTilesInPic、及びpicture_header_in_slice_header_flagに基づいてslice_addressを含むことができる。例えば、rect_slice_flagが第1値であるか(例えば、1又はTrue)、或いはNumTilesInPicが1より大きく、picture_header_in_slice_header_flagが第2値(例えば、0又はFalse)である場合、slice_addressは、スライスヘッダーでシグナリングできる。これは、上述したように、picture_header_in_slice_header_flagが第1値を有すれば、現在ピクチャは1つのスライスのみを含むので、スライスのアドレスに関する情報のシグナリングが不要だからである。
【0207】
図14の実施例において、picture_header_in_slice_header_flagに対するビットストリーム適合性要求事項は、次のとおりに改善できる。
【0208】
まず、picture_header_in_slice_header_flagの値がCLVS内の全てのスライスで同一であることが要求される。
【0209】
また、picture_header_in_slice_header_flagが第1値(例えば、1)である場合、NALユニットタイプがPH_NUTであるNALユニットがCLVS内に存在しないことが要求される。これは、ピクチャヘッダーがスライスヘッダーに含まれてシグナリングされるので、ピクチャヘッダーを伝送するための別途のNALユニットが不要だからである。
【0210】
また、picture_header_in_slice_header_flagが第2値(例えば、0)である場合、PUの一番目のVCL NALユニットに先行して、NALユニットタイプがPH_NUTであるNALユニットがPUに存在することが要求される。つまり、現在PUがPH NALユニットを有することが要求される。これは、ピクチャヘッダーを伝送するための別途のNALユニットが必要だからである。
【0211】
また、subpics_present_flag又はsubpic_info_present_flagが第1値(例えば、1)である場合、picture_header_in_slice_header_flagは第1値(例えば、1)ではないことが要求される。この時、picture_header_in_slice_header_flagは第2値(例えば、0)を有するように制限できる。
【0212】
図14の例において、slice_subpic_idは、スライスを含むサブピクチャの識別子を示す。slice_subpic_idが存在すると、変数SubPicIdxは、SubpicIdList[SubPicIdx]がslice_subpic_idと等しくなるように誘導される。slice_subpic_idが存在しなければ、変数SubPicIdxは0に誘導されることができる。
【0213】
図14の例において、slice_subpic_idの長さ(ビット長)は、次のとおりに誘導できる。
【0214】
sps_subpic_id_signalling_present_flagが1であれば、slice_subpic_idの長さは、sps_subpic_id_len_minus1+1に誘導されることができる。ここで、sps_subpic_id_signalling_present_flagは、サブピクチャの識別子がシーケンスパラメータセットでシグナリングされるか否かを示すことができる。sps_subpic_id_len_minus1は、サブピクチャ識別子の長さ情報であって、シーケンスパラメータセットに含まれてシグナリングされることができる。
【0215】
それとも(sps_subpic_id_signalling_present_flagが1ではない場合)、ph_subpic_id_signalling_present_flagが1であれば、slice_subpic_idの長さは、ph_subpic_id_len_minus1+1に誘導されることができる。ここで、ph_subpic_id_signalling_present_flagは、サブピクチャの識別子がピクチャヘッダーでシグナリングされるか否かを示すことができる。ph_subpic_id_len_minus1は、サブピクチャ識別子の長さ情報であって、ピクチャヘッダーに含まれてシグナリングされることができる。
【0216】
それとも(sps_subpic_id_signalling_present_flagとph_subpic_id_signalling_present_flagの両方とも1ではない場合)、pps_subpic_id_signalling_present_flagが1であれば、slice_subpic_idの長さは、pps_subpic_id_len_minus1+1に誘導されることができる。ここで、pps_subpic_id_signalling_present_flagは、サブピクチャの識別子がピクチャパラメータセットでシグナリングされるか否かを示すことができる。pps_subpic_id_len_minus1は、サブピクチャ識別子の長さ情報であって、ピクチャパラメータセットに含まれてシグナリングされることができる。
【0217】
それとも((sps_subpic_id_signalling_present_flag、ph_subpic_id_signalling_present_flag及びpps_subpic_id_signalling_present_flagが全て1ではない場合)、slice_subpic_idの長さは、Ceil(Log2(sps_num_subpics_minus1+1))に誘導されることができる。sps_num_subpics_minus1は、CLVS内の各ピクチャのサブピクチャの数を示すものであり、シーケンスパラメータセットに含まれてシグナリングされることができる。
【0218】
slice_addressは、現在スライスのスライスアドレスを示す。もしslice_addressが存在しない場合、slice_addressの値は0と推論できる。
【0219】
picture_header_structure()は、
図10を参照して説明したpicture_header_rbsp()に含まれている少なくとも一つのシンタックス要素を含むことができる。
【0220】
図15は
図14のスライスヘッダーをパーシングし、復号化する方法を示すフローチャートである。
【0221】
図15のステップS1510~S1530は、それぞれ
図12のステップS1210~S1230と同一であるので、重複説明は省略する。
【0222】
図15のステップS1540~S1570は、それぞれ
図12のステップS1240~S1270に対応することができる。したがって、共通した内容についての重複説明は省略する。
【0223】
図15の実施例によれば、ステップS1540で、subpics_present_flagが第1値(例えば、1又はTrue)であるか否か、及び第1フラグが第2値(例えば、0又はFalse)であるか否かが判断できる。
【0224】
前記subpics_present_flagが第1値であり、前記第1フラグが第2値である場合(ステップS1540-Yes)、画像復号化装置は、スライスヘッダーからslice_subpic_idを取得することができる(S1550)。前記subpics_present_flagが第2値(例えば、0又はFalse)であるか、或いは前記第1フラグが第1値(例えば、1又はTrue)である場合(ステップS1540-No)、画像復号化装置は、スライスヘッダーからslice_subpic_idのパーシングを省略(スキップ)することができる。
【0225】
以後、ステップS1560で、rect_slice_flagが第1値(例えば、1又はTrue)であるか、或いはNumTilesInPicが1より大きいか否か、及び第1フラグが第2値(例えば、0又はFalse)であるか否かが判断できる。
【0226】
前記rect_slice_flagが第1値であるか、或いはNumTilesInPicが1より大きく、前記第1フラグが第2値である場合(ステップS1560-Yes)、画像復号化装置は、スライスヘッダーからslice_addressを取得することができる(S1570)。前記rect_slice_flagが第2値(例えば、0又はFalse)であり、NumTilesInPicが1より大きくないか、或いは前記第1フラグが第1値(例えば、1又はTrue)である場合(ステップS1560-No)、画像復号化装置は、スライスヘッダーからslice_addressのパーシングを省略(スキップ)することができる。
【0227】
図15のステップS1580~S1590は、それぞれ
図12のステップS1280~S1290に対応することができる。よって、重複説明は省略する。
【0228】
図12を参照して説明したように、画像復号化装置は、スライスヘッダーから後続のシンタックス要素(図示せず)をパーシングすることにより、スライスヘッダーの復号化を行うことができる。
【0229】
図16は
図14のスライスヘッダーを符号化する方法を示すフローチャートである。
【0230】
図16のステップS1610~S1630は、それぞれ
図13のステップS1310~S1330と同一であるので、重複説明は省略する。
【0231】
図16のステップS1640~S1670は、それぞれ
図13のステップS1340~S1370に対応することができる。よって、共通した内容についての重複説明は省略する。
【0232】
図16の実施例によれば、ステップS1640で、subpics_present_flagが第1値(例えば、1又はTrue)であるか否か、及び第1フラグが第2値(例えば、0又はFalse)であるか否かが判断できる。
【0233】
前記subpics_present_flagが第1値であり、前記第1フラグが第2値である場合(ステップS1640-Yes)、画像符号化装置は、スライスヘッダーにslice_subpic_idを符号化することができる(S1650)。前記subpics_present_flagが第2値(例えば、0又はFalse)であるか、或いは前記第1フラグが第1値(例えば、1又はTrue)である場合(ステップS1640-No)、画像符号化装置は、スライスヘッダーにslice_subpic_idの符号化を省略(スキップ)することができる。
【0234】
以後、ステップS1660で、rect_slice_flagが第1値(例えば、1又はTrue)であるか、或いはNumTilesInPicが1より大きいか否か及び第1フラグが第2値(例えば、0又はFalse)であるか否かが判断できる。
【0235】
前記rect_slice_flagが第1値であるか、或いはNumTilesInPicが1より大きく、第1フラグが第2値である場合(ステップS1660-Yes)、画像符号化装置は、スライスヘッダーにslice_addressを符号化することができる(S1670)。前記rect_slice_flagが第2値(例えば、0又はFalse)であり、NumTilesInPicが1より大きくないか、或いは前記第1フラグが第1値(例えば、1又はTrue)である場合(ステップS1660-No)、画像符号化装置は、スライスヘッダーにslice_addressの符号化を省略(スキップ)することができる。
【0236】
図16のステップS1680~S1690は、それぞれ
図13のステップS1380~S1390に対応することができる。よって、重複説明は省略する。
【0237】
図13を参照して説明したように、画像符号化装置は、スライスヘッダーに後続のシンタックス要素(図示せず)を符号化することにより、スライスヘッダーの符号化を行うことができる。
【0238】
図15及び
図16を参照して説明した例において、一部のステップは変更又は省略できる。例えば、slice_address及び/又はnum_tiles_in_slice_minus1の符号化/復号化に関連する条件が変更できる。
【0239】
図14乃至
図16を参照して説明した実施例の変形例として、上述したpicture_header_in_slice_header_flagに関する改善された制限事項は、
図11に示されている実施例に適用することができる。この場合、前述した従来の方法の問題点の少なくとも一部が解消できる。具体的には、例えば、スライスヘッダーの上位レベルでシグナリングされるサブピクチャに関する情報(subpics_present_flag又はsubpic_info_present_flag)に基づいてpicture_header_in_slice_header_flagの値が制限できる。より具体的には、subpics_present_flag又はsubpic_info_present_flagが第1値である場合、picture_header_in_slice_header_flagは第2値を有するように制限できる。したがって、subpics_present_flag(又はsubpic_info_present_flag)が第1値である場合(サブピクチャに関する情報がビットストリームに存在するか、或いは現在ピクチャがサブピクチャを含む場合)、picture_header_in_slice_header_flagは、ピクチャヘッダーがスライスヘッダー内に存在しないことを指し示すか、或いは現在ピクチャが1つのスライスのみを含まないことを指し示すことができる。
図14に示されている実施例において、slice_subpic_idは、subpics_present_flagが第1値であり、picture_header_in_slice_header_flagが第2値であるとき、スライスヘッダーから取得できる。しかし、subpics_present_flagが第1値であれば、picture_header_in_slice_header_flagは第2値を有するように制限されるので、slice_subpic_idのパーシング条件として、subpics_present_flagを確認するだけで十分である。つまり、本変形例によれば、ステップS1540及びステップS1640で、第1フラグが第2値であるか否かに対する判断は省略できる。本変形例によれば、画像符号化装置は、subpics_present_flag又はsubpic_info_present_flagが第1値である場合、第2値を有するpicture_header_in_slice_header_flagを符号化することができる。また、画像復号化装置は、subpics_present_flag又はsubpic_info_present_flagが第1値である場合、第2値を有するpicture_header_in_slice_header_flagを取得することができる。
【0240】
図17は本開示の別の実施例によるスライスヘッダーのシンタックス構造を示す図である。
【0241】
図17の実施例によるスライスヘッダー構造と
図14の実施例によるスライスヘッダー構造における同一のシンタックス要素及び同一のシグナリング条件についての説明は同一であるので、重複説明は省略する。
【0242】
図17の実施例によれば、picture_header_in_slice_header_flagをシグナリングする条件が変更できる。具体的には、スライスヘッダーは、subpics_present_flagに基づいてpicture_header_in_slice_header_flagを含むことができる。例えば、subpics_present_flagが第1値(例えば、1又はTrue)である場合、picture_header_in_slice_header_flagは、スライスヘッダーでシグナリングされないことができる。例えば、subpics_present_flagが第2値(例えば、0又はFalse)である場合、picture_header_in_slice_header_flagは、スライスヘッダーでシグナリングできる。これは、上述したように、subpics_present_flagが第1値を有すれば、現在ピクチャは1つのスライスのみを含むことができないので、picture_header_in_slice_header_flagは固定された値(第2値)を有する。したがって、picture_header_in_slice_header_flagのシグナリングが不要だからである。この場合、picture_header_in_slice_header_flagが第1値であれば、シグナリングされるピクチャヘッダーもスライスヘッダーを介してシグナリングされないことができる。
【0243】
また、
図17の実施例によれば、subpics_present_flagが第1値である場合、slice_subpic_idがスライスヘッダーでシグナリングされることができる。
【0244】
以下、slice_address及びnum_tiles_in_slice_minus1についての説明は、
図14を参照して説明したのと同様である。
【0245】
図17の実施例において、picture_header_in_slice_header_flagに対するビットストリーム適合性要求事項は、
図14を参照して説明したのと同様である。
【0246】
図18は
図17のスライスヘッダーをパーシングし、復号化する方法を示すフローチャートである。
【0247】
図18による方法と
図15による方法は、シンタックス要素をパーシングする一部の条件及び順序が異なるだけであり、共通に開示されたシンタックス要素についての説明は同一であり得る。
【0248】
図18の実施例によれば、画像復号化装置は、ステップS1810で、subpics_present_flagの値が第2値(例えば、0又はFalse)であるか否かを判断することができる。
【0249】
ステップS1810で、subpics_present_flagの値が第1値(例えば、1又はTrue)である場合、サブピクチャに基づく符号化/復号化が行われるので、現在ピクチャは1つのスライスのみを含まない。したがって、この場合、画像復号化装置は、スライスヘッダーからpicture_header_in_slice_header_flag及びピクチャヘッダーを取得せず、slice_subpic_idを取得することができる(S1850)。
【0250】
ステップS1810でsubpics_present_flagの値が第2値である場合、画像復号化装置は、スライスヘッダーから第1フラグ(picture_header_in_slice_header_flag)を取得する(S1820)。画像復号化装置は、第1フラグが第1値であるか否かを判断し(S1830)、第1フラグが第1値である場合、スライスヘッダーからピクチャヘッダーを取得することができる(S1840)。第1フラグが第2値である場合、画像復号化装置は、スライスヘッダーからピクチャヘッダーを取得せず、この場合、画像復号化装置は、別途のNALユニットを介してピクチャヘッダーを取得することができる。ステップS1810でsubpics_present_flagの値が第2値である場合、サブピクチャに基づく符号化/復号化が行われないので、画像復号化装置は、サブピクチャに関する情報(slice_subpic_id)を取得しないことがある。
【0251】
図18のステップS1860~S1890は、それぞれ
図15のステップS1560~S1590と同一であるので、重複説明は省略する。
【0252】
図12を参照して説明したように、画像復号化装置は、スライスヘッダーから後続のシンタックス要素(図示せず)をパーシングすることにより、スライスヘッダーの復号化を行うことができる。
【0253】
図19は
図17のスライスヘッダーを符号化する方法を示すフローチャートである。
【0254】
図19による方法と
図16による方法は、シンタックス要素を符号化する一部の条件及び順序が異なるだけであり、共通に開示されたシンタックス要素についての説明は同一であり得る。
【0255】
図19の実施例によれば、画像符号化装置は、ステップS1910でsubpics_present_flagの値が第2値(例えば、0又はFalse)であるか否かを判断することができる。
【0256】
ステップS1910でsubpics_present_flagの値が第1値(例えば、1又はTrue)である場合、サブピクチャに基づく符号化/復号化が行われるので、現在ピクチャは、1つのスライスのみを含まない。よって、この場合、画像符号化装置は、スライスヘッダーにpicture_header_in_slice_header_flag及びピクチャヘッダーを符号化せずに、slice_subpic_idを符号化することができる(S1950)。
【0257】
ステップS1910でsubpics_present_flagの値が第2値である場合、画像符号化装置は、第1フラグ(picture_header_in_slice_header_flag)の値を決定し、スライスヘッダーに第1フラグを符号化することができる(S1920)。画像符号化装置は、第1フラグが第1値であるか否かを判断し(S1930)、第1フラグが第1値である場合、スライスヘッダーにピクチャヘッダーを符号化することができる(S1940)。第1フラグが第2値である場合、画像符号化装置は、スライスヘッダーにピクチャヘッダーを符号化せず、この場合、画像符号化装置は、別途のNALユニットを介してピクチャヘッダーをシグナリングすることができる。ステップS1910で、subpics_present_flagの値が第2値である場合、サブピクチャに基づく符号化/復号化が行われないので、画像符号化装置は、サブピクチャに関する情報(slice_subpic_id)をスライスヘッダーに符号化しないことがある。
【0258】
図19のステップS1960~S1990は、それぞれ
図16のステップS1660~S1690と同一であるので、重複説明は省略する。
【0259】
図13を参照して説明したように、画像符号化装置は、スライスヘッダーに後続のシンタックス要素(図示せず)を符号化することにより、スライスヘッダーの符号化を行うことができる。
【0260】
図18及び
図19を参照して説明した例において、一部のステップは変更又は省略可能である。例えば、slice_address及び/又はnum_tiles_in_slice_minus1の符号化/復号化に関連する条件が変更できる。
【0261】
本開示の実施例によれば、ピクチャヘッダーがスライスヘッダーに存在するかに関する情報及び/又はピクチャが1つのスライスのみを含むかに関する情報のシグナリングをより効率よく行うことができる。
【0262】
また、本開示の実施例によれば、サブピクチャに基づく符号化/復号化が行われるか否かに基づいて、ピクチャヘッダーがスライスヘッダーに存在するかに関する前記情報などをシグナリングするので、不要な情報のシグナリングを防止することができる。
【0263】
本開示で説明されたシンタックス要素の名称は、当該シンタックス要素がシグナリングされる位置に関する情報を含むことができる。例えば、「sps_」で始まるシンタックス要素は、当該シンタックス要素がSPS(シーケンスパラメータセット)でシグナリングされることを意味することができる。また、「pps_」、「ph_」、「sh_」などで始まるシンタックス要素は、当該シンタックス要素がPPS(ピクチャパラメータセット)、ピクチャヘッダー(picture header)、スライスヘッダー(slice header)などでそれぞれシグナリングされることを意味することができる。
【0264】
本開示の例示的な方法は、説明の明確性のために動作のシリーズで表現されているが、これは、ステップが行われる順序を制限するためのものではなく、必要な場合には、それぞれのステップが同時に又は異なる順序で行われることもできる。本開示による方法を実現するために、例示するステップにさらに他のステップを含むか、一部のステップを除いて残りのステップを含むか、又は一部のステップを除いて追加の他のステップを含むこともできる。
【0265】
本開示において、所定の動作(ステップ)を行う画像符号化装置又は画像復号化装置は、当該動作(ステップ)の実行条件や状況を確認する動作(ステップ)を行うことができる。例えば、所定の条件が満足される場合、所定の動作を行うと記載された場合、画像符号化装置又は画像復号化装置は、前記所定の条件が満足されるか否かを確認する動作を行った後、前記所定の動作を行うことができる。
【0266】
本開示の様々な実施例は、全ての可能な組み合わせを羅列したものではなく、本開示の代表的な態様を説明するためのものであり、様々な実施例で説明する事項は、独立して適用されてもよく、2つ以上の組み合わせで適用されてもよい。
【0267】
また、本開示の様々な実施例は、ハードウェア、ファームウェア(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)、コントローラ、マイクロコントローラ、マイクロプロセッサなどによって実現できる。
【0268】
また、本開示の実施例が適用された画像復号化装置及び画像符号化装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ会話装置、ビデオ通信などのリアルタイム通信装置、モバイルストリーミング装置、記憶媒体、カムコーダ、注文型ビデオ(VoD)サービス提供装置、OTTビデオ(Over the top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、画像電話ビデオ装置、及び医療用ビデオ装置などに含まれることができ、ビデオ信号又はデータ信号を処理するために使用できる。例えば、OTTビデオ(Over the top video)装置としては、ゲームコンソール、ブルーレイプレーヤー、インターネット接続TV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recoder)などを含むことができる。
【0269】
図20は本開示による実施例が適用できるコンテンツストリーミングシステムを例示的に示す図である。
【0270】
図20に示されているように、本開示の実施例が適用されたコンテンツストリーミングシステムは、大きく、符号化サーバ、ストリーミングサーバ、Webサーバ、メディアストレージ、ユーザ装置及びマルチメディア入力装置を含むことができる。
【0271】
前記符号化サーバは、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置から入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これを前記ストリーミングサーバに伝送する役割を果たす。他の例として、スマートフォン、カメラ、ビデオカメラなどのマルチメディア入力装置がビットストリームを直接生成する場合、前記符号化サーバは省略できる。
【0272】
前記ビットストリームは、本開示の実施例が適用された画像符号化方法及び/又は画像符号化装置によって生成でき、前記ストリーミングサーバは、前記ビットストリームを伝送又は受信する過程で一時的に前記ビットストリームを保存することができる。
【0273】
前記ストリーミングサーバは、Webサーバを介してユーザの要求に基づいてマルチメディアデータをユーザ装置に伝送し、前記Webサーバは、ユーザにどんなサービスがあるかを知らせる媒介体の役割を果たすことができる。ユーザが前記Webサーバに所望のサービスを要求すると、前記Webサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを伝送することができる。この時、前記コンテンツストリーミングシステムは、別途の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割を果たすことができる。
【0274】
前記ストリーミングサーバは、メディアストレージ及び/又は符号化サーバからコンテンツを受信することができる。例えば、前記符号化サーバからコンテンツを受信する場合、前記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間保存することができる。
【0275】
前記ユーザ装置の例としては、携帯電話、スマートフォン(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、デスクトップコンピュータ、デジタルサイネージなどがあり得る。
【0276】
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営されることができ、この場合、各サーバから受信するデータは、分散処理されることができる。
【0277】
本開示の範囲は、様々な実施例の方法による動作が装置又はコンピュータ上で実行されるようにするソフトウェア又はマシン-実行可能なコマンド(例えば、オペレーティングシステム、アプリケーション、ファームウェア(firmware)、プログラムなど)、及びこのようなソフトウェア又はコマンドなどが保存されて装置又はコンピュータ上で実行できる非一時的なコンピュータ可読媒体(non-transitory computer-readable medium)を含む。
【産業上の利用可能性】
【0278】
本開示による実施例は、画像の符号化/復号化に利用可能である。
【手続補正書】
【提出日】2024-02-15
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
サブピクチャに関する情報がビットストリーム内に存在するかどうかを示す第1フラグを取得するステップと、
ピクチャヘッダー情報がスライスヘッダー内に存在するかどうかを示す第2フラグを取得するステップと、
前記第1フラグ及び前記第2フラグに基づいて前記ビットストリームを復号化するステップと、を含み、
前記第1フラグは、SPS(sequence parameter set)から取得され、
前記第1フラグが、前記サブピクチャに関する前記情報が前記ビットストリーム内に存在することを示すことに基づいて、前記第2フラグは、前記ピクチャヘッダー情報が前記スライスヘッダー内に存在しないことを示す値を有する、画像復号化方法。
【請求項2】
前記第1フラグが、前記サブピクチャに関する前記情報が前記ビットストリーム内に存在することを示すことに基づいて、前記スライスヘッダーは、前記スライスヘッダーに関連するスライスを含むサブピクチャの識別子を含む、請求項1に記載の画像復号化方法。
【請求項3】
前記第2フラグが、前記ピクチャヘッダー情報が前記スライスヘッダー内に存在することを示すことに基づいて、前記スライスヘッダーから前記ピクチャヘッダー情報を取得するステップをさらに含む、請求項1に記載の画像復号化方法。
【請求項4】
前記第2フラグは、CLVS(coded layer video sequence)内の全てのスライスに対して同一の値を有する、請求項1に記載の画像復号化方法。
【請求項5】
前記第2フラグが、前記ピクチャヘッダー情報が前記スライスヘッダー内に存在することを示すことに基づいて、前記ピクチャヘッダー情報を伝送するためのNAL(network abstraction layer)ユニットは、CLVS内に存在しない、請求項1に記載の画像復号化方法。
【請求項6】
前記第2フラグが、前記ピクチャヘッダー情報が前記スライスヘッダー内に存在しないことを示すことに基づいて、前記ピクチャヘッダー情報は、NALユニットタイプがPH_NUTと同じNALユニットから取得される、請求項1に記載の画像復号化方法。
【請求項7】
前記第1フラグは、スライスの上位レベルでシグナリングされ、
前記第2フラグは、前記スライスヘッダー内に含まれてシグナリングされる、請求項1に記載の画像復号化方法。
【請求項8】
サブピクチャに関する情報がビットストリーム内に存在するかどうかを示す第1フラグを符号化するステップと、
ピクチャヘッダー情報がスライスヘッダー内に存在するかどうかを示す第2フラグを符号化するステップと、
前記第1フラグ及び前記第2フラグに基づいて前記ビットストリームを符号化するステップと、を含み、
前記第1フラグは、SPS(sequence parameter set)内に符号化され、
前記第1フラグが、前記サブピクチャに関する前記情報が前記ビットストリーム内に存在することを示すことに基づいて、前記第2フラグは、前記ピクチャヘッダー情報が前記スライスヘッダー内に存在しないことを示す値を有する、画像符号化方法。
【請求項9】
前記第1フラグが、前記サブピクチャに関する前記情報が前記ビットストリーム内に存在することを示すことに基づいて、前記スライスヘッダーは、前記スライスヘッダーに関連するスライスを含むサブピクチャの識別子を含む、請求項8に記載の画像符号化方法。
【請求項10】
前記第2フラグが、前記ピクチャヘッダー情報が前記スライスヘッダー内に存在することを示すことに基づいて、前記スライスヘッダー内に前記ピクチャヘッダー情報を符号化するステップをさらに含む、請求項8に記載の画像符号化方法。
【請求項11】
前記第2フラグは、CLVS(coded layer video sequence)内の全てのスライスに対して同一の値を有する、請求項8に記載の画像符号化方法。
【請求項12】
前記第2フラグが、前記ピクチャヘッダー情報が前記スライスヘッダー内に存在しないことを示すことに基づいて、前記ピクチャヘッダー情報は、NAL(network abstraction layer)ユニットタイプがPH_NUTと同じNALユニットを介してシグナリングされる、請求項8に記載の画像符号化方法。
【請求項13】
前記第1フラグは、スライスの上位レベルでシグナリングされ、
前記第2フラグは、前記スライスヘッダー内に含まれてシグナリングされる、請求項8に記載の画像符号化方法。
【請求項14】
画像のためのビットストリームを伝送する方法であって、
前記ビットストリームを伝送する方法は、
サブピクチャに関する情報が前記ビットストリーム内に存在するかどうかを示す第1フラグを符号化するステップと、ピクチャヘッダー情報がスライスヘッダー内に存在するかどうかを示す第2フラグを符号化するステップと、前記第1フラグ及び前記第2フラグに基づいて前記ビットストリームを符号化するステップと、を行うことによって前記ビットストリームを生成するステップと、
前記ビットストリームを伝送するステップと、を含み、
前記第1フラグは、SPS(sequence parameter set)内に符号化され、
前記第1フラグが、前記サブピクチャに関する前記情報が前記ビットストリーム内に存在することを示すことに基づいて、前記第2フラグは、前記ピクチャヘッダー情報が前記スライスヘッダー内に存在しないことを示す値を有する、ビットストリームを伝送する方法。