IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エルジー エレクトロニクス インコーポレイティドの特許一覧

特許7741336画像符号化/復号化方法、ビットストリームを伝送する方法、及びビットストリームを保存した記録媒体
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-09-08
(45)【発行日】2025-09-17
(54)【発明の名称】画像符号化/復号化方法、ビットストリームを伝送する方法、及びビットストリームを保存した記録媒体
(51)【国際特許分類】
   H04N 19/109 20140101AFI20250909BHJP
   H04N 19/159 20140101ALI20250909BHJP
   H04N 19/176 20140101ALI20250909BHJP
   H04N 19/577 20140101ALI20250909BHJP
【FI】
H04N19/109
H04N19/159
H04N19/176
H04N19/577
【請求項の数】 15
(21)【出願番号】P 2024547653
(86)(22)【出願日】2023-02-15
(65)【公表番号】
(43)【公表日】2025-03-05
(86)【国際出願番号】 KR2023002204
(87)【国際公開番号】W WO2023158212
(87)【国際公開日】2023-08-24
【審査請求日】2024-08-13
(31)【優先権主張番号】63/310,534
(32)【優先日】2022-02-15
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/310,542
(32)【優先日】2022-02-15
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】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)【発明者】
【氏名】パク ネ リ
【審査官】岩井 健二
(56)【参考文献】
【文献】米国特許出願公開第2021/0092435(US,A1)
【文献】米国特許出願公開第2020/0296383(US,A1)
【文献】国際公開第2021/249375(WO,A1)
【文献】国際公開第2020/232845(WO,A1)
【文献】国際公開第2017/195608(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
画像復号化装置によって行われる画像復号化方法であって、前記画像復号化方法は、
現在ブロックの予測方向が双方向であることに基づいて、第1情報を取得するステップと、
前記第1情報が、前記現在ブロックの各予測方向に異なる予測タイプが適用されることを示すことに基づいて、前記異なる予測タイプに対応する少なくとも一つの双方向動き情報候補を参照ブロックから導出するステップと、
前記少なくとも一つの双方向動き情報候補のうちのいずれか一つに基づいて、前記現在ブロックを前記異なる予測タイプで双方向予測するステップと、を含み、
記異なる予測タイプは、sub PU(sub-block unit)予測タイプとnon-sub PU(non-sub-block unit)予測タイプである、画像復号化方法。
【請求項2】
前記双方向動き情報候補は、前記参照ブロックの双方向動き情報のうちの、少なくとも一つのsub PU基盤動き情報を含む動き情報に基づいて導出され、
前記sub PU基盤動き情報は、前記sub PU予測タイプに用いられる動き情報である、請求項1に記載の画像復号化方法。
【請求項3】
前記双方向動き情報候補は、前記参照ブロックの動き情報が予測方向基準で組み合わせられた動き情報のうちの、少なくとも一つのsub PU基盤動き情報を含む動き情報に基づいて導出され、
前記sub PU基盤動き情報は、前記sub PU予測タイプに用いられる動き情報である、請求項1に記載の画像復号化方法。
【請求項4】
前記組み合わせられた動き情報は、前記参照ブロックの予測方向が単方向であることに基づいて導出される、請求項3に記載の画像復号化方法。
【請求項5】
前記参照ブロックは、前記現在ブロックの周辺に位置する周辺ブロック、及び前記現在ブロックに隣接する所定の隣接ブロックを含み、
前記所定の隣接ブロックの予測モードが前記non-sub PU予測タイプであることに基づいて、前記双方向動き情報候補は、前記周辺ブロックの動き情報が予測方向基準で組み合わせられた動き情報に基づいて導出される、請求項1に記載の画像復号化方法。
【請求項6】
前記取得するステップは、
前記現在ブロックが前記異なる予測タイプで双方向予測されるかどうか関する第1条件を判断するステップと、
前記第1条件が満足されることに基づいて、前記第1情報を取得するステップと、を含み、
前記第1条件は、前記現在ブロックの前記予測方向に関する条件、及び前記現在ブロックのサイズに関する所定のサイズ条件を含む、請求項1に記載の画像復号化方法。
【請求項7】
第1条件は、両方の方向のうちの特定方向のmvd(motion vector difference)がシグナリングされるかどうか関する条件をさらに含む、請求項に記載の画像復号化方法。
【請求項8】
前記第1情報が前記現在ブロックの各予測方向に異なる予測タイプが適用されることを示すことに基づいて、第2情報を取得するステップを含み、
予測方向に適用される前記異なる予測タイプは、前記第2情報に基づいて決定され、
前記双方向動き情報候補は、前記決定された異なる予測タイプに対応する、請求項1に記載の画像復号化方法。
【請求項9】
前記第1情報は、各予測方向に適用される異なる予測タイプをさらに示す、請求項1に記載の画像復号化方法。
【請求項10】
前記第1情報が、前記現在ブロックの各予測方向に異なる予測タイプが適用されることを示すことに基づいて、第3情報を取得するステップを含み、
予測方向に適用されるパラメータモデルは、前記第3情報に基づいて決定される、請求項8に記載の画像復号化方法。
【請求項11】
前記現在ブロックの双方向動き情報は、前記少なくとも一つの双方向動き情報候補のうちのいずれか一つと、前記現在ブロックの各予測方向に対して取得されたmvdに基づいて導出され、
前記現在ブロックの各予測方向に対して取得されたmvdの個数は、前記第2情報と前記第3情報に基づいて決定される、請求項10に記載の画像復号化方法。
【請求項12】
記現在ブロックの予測方向のうち、non-sub PU基盤予測モードが適用される方向に対して一つのmvdが取得される、請求項1に記載の画像復号化方法。
【請求項13】
前記第1情報は、前記現在ブロックにサブブロックマージモードが適用されること、或いは前記現在ブロックにアフィン予測モードが適用されることに基づいて取得される、請求項1に記載の画像復号化方法。
【請求項14】
画像符号化装置によって行われる画像符号化方法であって、前記画像符号化方法は、
現在ブロックの予測方向が双方向であることに基づいて、前記現在ブロックの各予測方向に異なる予測タイプが適用されるかどうかを決定するステップであって、前記現在ブロックの各予測方向に異なる予測タイプが適用されることを示す第1情報がビットストリームに符号化される、ステップと、
前記現在ブロックの各予測方向に前記異なる予測タイプが適用されることに基づいて、前記異なる予測タイプに対応する少なくとも一つの双方向動き情報候補を参照ブロックから導出するステップと、
前記少なくとも一つの双方向動き情報候補のうちのいずれか一つに基づいて、前記現在ブロックを前記異なる予測タイプで双方向予測するステップと、を含み、
記異なる予測タイプは、sub PU(sub-block unit)予測タイプとnon-sub PU(non-sub-block unit)予測タイプである、画像符号化方法。
【請求項15】
画像符号化方法によって生成されたビットストリームを伝送する方法であって、
前記画像符号化方法は、
現在ブロックの予測方向が双方向であることに基づいて、前記現在ブロックの各予測方向に異なる予測タイプが適用されるかどうかを決定するステップであって、前記現在ブロックの各予測方向に異なる予測タイプが適用されることを示す第1情報がビットストリームに符号化される、ステップと、
前記現在ブロックの各予測方向に前記異なる予測タイプが適用されることに基づいて、前記異なる予測タイプに対応する少なくとも一つの双方向動き情報候補を参照ブロックから導出するステップと、
前記少なくとも一つの双方向動き情報候補のうちのいずれか一つに基づいて、前記現在ブロックを前記異なる予測タイプで双方向予測するステップと、を含み、
前記異なる予測タイプは、sub PU(sub-block unit)予測タイプとnon-sub PU(non-sub-block unit)予測タイプである、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像符号化/復号化方法、ビットストリームを伝送する方法、及びビットストリームを保存した記録媒体に係り、より詳細には、インター予測の際に互いに異なるタイプの予測ユニットに基づいた双方向予測に関する。
【背景技術】
【0002】
最近、高解像度、高品質の画像、例えばHD(High Definition)画像及びUHD(Ultra High Definition)画像への需要が多様な分野で増加している。画像データが高解像度、高品質になるほど、従来の画像データに比べて、伝送される情報量又はビット量が相対的に増加する。伝送される情報量又はビット量の増加は、伝送費用と保存費用の増加をもたらす。
【0003】
これにより、高解像度、高品質画像の情報を効果的に伝送又は保存し、再生するための高効率の画像圧縮技術が求められる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、符号化/復号化効率が向上した画像符号化/復号化方法及び装置を提供することを目的とする。
【0005】
また、本開示は、互いに異なるタイプの予測ユニットに基づいて双方向予測を行う方法を提供することを目的とする。
【0006】
また、本開示は、双方向予測のための予測候補の多様な誘導方法を提供することを目的とする。
【0007】
また、本開示は、動きベクトル差分を符号化及び取得する方法を提供することを目的とする。
【0008】
また、本開示は、本開示による画像符号化方法によって生成されたビットストリームを保存する、非一時的なコンピュータ可読記録媒体を提供することを目的とする。
【0009】
また、本開示は、本開示による画像復号化装置によって受信され、復号化されて画像の復元に用いられるビットストリームを保存する、非一時的なコンピュータ可読記録媒体を提供することを目的とする。
【0010】
また、本開示は、本開示による画像符号化方法によって生成されたビットストリームを伝送する方法を提供することを目的とする。
【0011】
本開示で解決しようとする技術的課題は上述した技術的課題に制限されず、上述していない別の技術的課題は以降の記載から本開示の属する技術分野における通常の知識を有する者に明確に理解できるだろう。
【課題を解決するための手段】
【0012】
本開示の一態様による画像復号化方法は、画像復号化装置によって行われる画像復号化方法であって、現在ブロックの予測方向が双方向であることに基づいて、第1情報を取得するステップと、前記第1情報が、前記現在ブロックの各予測方向に互いに異なる予測タイプが適用されることを示すことに基づいて、前記互いに異なる予測タイプに対応する少なくとも一つの双方向動き情報候補を参照ブロックから誘導するステップと、前記少なくとも一つの双方向動き情報候補のうちのいずれかに基づいて、前記現在ブロックを前記互いに異なる予測タイプで双方向予測するステップと、を含み、前記互いに異なる予測タイプは、サブブロック単位(sub PU)予測タイプと非サブブロック単位(non-sub PU)予測タイプである、画像復号化方法であってもよい。
【0013】
本発明の他の態様による画像符号化方法は、画像符号化装置によって行われる画像符号化方法であって、現在ブロックの予測方向が双方向であることに基づいて、前記現在ブロックの各予測方向に互いに異なる予測タイプが適用されるか否かを決定するステップ-前記現在ブロックの各予測方向に互いに異なる予測タイプが適用されるか否かを示す第1情報がビットストリームに符号化される-と、前記現在ブロックの各予測方向に前記互いに異なる予測タイプが適用されることに基づいて、前記互いに異なる予測タイプに対応する少なくとも一つの双方向動き情報候補を参照ブロックから誘導するステップと、前記少なくとも一つの双方向動き情報候補のうちのいずれかに基づいて、前記現在ブロックを前記互いに異なる予測タイプで双方向予測するステップと、を含み、前記互いに異なる予測タイプは、サブブロック単位(sub PU)予測タイプと非サブブロック単位(non-sub PU)予測タイプである、画像符号化方法であってもよい。
【0014】
本開示の別の態様によるコンピュータ可読記録媒体は、本開示の画像符号化方法又は装置によって生成されたビットストリームを保存することができる。
【0015】
本開示の別の態様による伝送方法は、本開示の画像符号化方法又は装置によって生成されたビットストリームを伝送することができる。
【0016】
本開示について簡略に要約して上述した特徴は、後述する本開示の詳細な説明の例示的な態様に過ぎず、本開示の範囲を制限するものではない。
【発明の効果】
【0017】
本開示によれば、符号化/復号化効率が向上した画像符号化/復号化方法及び装置が提供されることができる。
【0018】
また、本開示によれば、動き情報が各予測方向別に適応的に誘導されることにより、圧縮効率が向上することができる。
【0019】
また、本開示によれば、各予測方向別に互いに異なる動き情報を誘導するための候補が効率よく構成されることができる。
【0020】
また、本開示によれば、動きベクトル差分のシグナリングのためのビット効率性が改善されることができる。
【0021】
本開示で得られる効果は、上述した効果に限定されず、上述していない別の効果は、以降の記載から、本開示の属する技術分野における通常の知識を有する者に明確に理解できるだろう。
【図面の簡単な説明】
【0022】
図1】本開示による実施例が適用できるビデオコーディングシステムを概略的に示す図である。
【0023】
図2】本開示による実施例が適用できる画像符号化装置を概略的に示す図である。
【0024】
図3】本開示による実施例が適用できる画像復号化装置を概略的に示す図である。
【0025】
図4】画像符号化装置のインター予測部を概略的に示す図である。
【0026】
図5】インター予測に基づいて画像を符号化する方法を示すフローチャートである。
【0027】
図6】画像復号化装置のインター予測部を概略的に示す図である。
【0028】
図7】インター予測に基づいて画像を復号化する方法を示すフローチャートである。
【0029】
図8】インター予測方法を示すフローチャートである。
【0030】
図9】本開示の一実施例による画像符号化方法を示すフローチャートである。
【0031】
図10】本開示の一実施例による画像復号化方法を示すフローチャートである。
【0032】
図11】本開示の一実施例による双方向予測方法の一例を説明するための図である。
【0033】
図12-15】双方向動き情報候補を誘導する例を説明するための図である。
【0034】
図16】本開示の他の一実施例による画像符号化方法及び画像復号化方法を示すフローチャートである。
【0035】
図17】本開示の他の一実施例による画像符号化方法及び画像復号化方法を示すフローチャートである。
【0036】
図18】双方向動き情報候補の誘導に用いられる周辺ブロックの例を説明するための図である。
【0037】
図19】本開示の別の一実施例による画像符号化方法を示すフローチャートである。
【0038】
図20】本開示の他の一実施例による画像復号化方法を示すフローチャートである。
【0039】
図21】本開示の別の一実施例による画像符号化方法を示すフローチャートである。
【0040】
図22】本開示の他の一実施例による画像復号化方法を示すフローチャートである。
【0041】
図23】本開示による動きベクトル差分のシグナリングについての例を説明するための図である。
【0042】
図24】参照ブロックの多様な位置を説明するための図である。
【0043】
図25】本開示による実施例が適用できるコンテンツストリーミングシステムを例示的に示す図である。
【発明を実施するための形態】
【0044】
以下、添付図面を参照して、本開示の実施例について、本開示の属する技術分野における通常の知識を有する者が容易に実施し得るように詳細に説明する。しかし、本開示は、様々な異なる形態で実現でき、ここで説明する実施例に限定されない。
【0045】
本開示の実施例を説明するにあたり、公知の構成又は機能についての具体的な説明が本開示の要旨を不明確にするおそれがあると判断される場合には、それについての詳細な説明は省略する。そして、図面において、本開示についての説明と関係ない部分は省略し、同様の部分には同様の図面符号を付した。
【0046】
本開示において、ある構成要素が他の構成要素と「連結」、「結合」又は「接続」されているとするとき、これは、直接的な連結関係だけでなく、それらの間に別の構成要素が存在する間接的な連結関係も含むことができる。また、ある構成要素が他の構成要素を「含む」又は「有する」とするとき、これは、特に反対される記載がない限り、別の構成要素を排除するのではなく、別の構成要素をさらに含むことができることを意味する。
【0047】
本開示において、「第1」、「第2」などの用語は、一つの構成要素を他の構成要素から区別する目的のみで使用され、特に言及されない限り、構成要素間の順序又は重要度などを限定しない。したがって、本開示の範囲内において、一実施例の第1構成要素を他の実施例で第2構成要素と呼んでもよく、これと同様に、一実施例の第2構成要素を他の実施例で第1構成要素と呼んでもよい。
【0048】
本開示において、互いに区別される構成要素は、それぞれの特徴を明確に説明するためのものであり、構成要素が必ずしも分離されることを意味するものではない。つまり、複数の構成要素が統合されて一つのハードウェア又はソフトウェア単位で構成されてもよく、一つの構成要素が分散されて複数のハードウェア又はソフトウェア単位で構成されてもよい。よって、別に言及しなくても、このように統合された又は分散された実施例も本開示の範囲に含まれる。
【0049】
本開示において、さまざまな実施例で説明する構成要素が必ず必要不可欠な構成要素を意味するものではなく、一部は選択的な構成要素であり得る。したがって、一実施例で説明する構成要素の部分集合で構成される実施例も本開示の範囲に含まれる。また、様々な実施例で説明する構成要素にさらに他の構成要素を含む実施例も、本開示の範囲に含まれる。
【0050】
本開示は、画像の符号化及び復号化に関するものであって、本開示で使用される用語は、本開示で新たに定義されない限り、本開示の属する技術分野における通常の意味を持つことができる。
【0051】
本開示において、「ピクチャ(picture)」は、一般的に、特定の時間帯のいずれか一つの画像を示す単位を意味し、スライス(slice)/タイル(tile)は、ピクチャの一部を構成する符号化単位であって、一つのピクチャは、一つ以上のスライス/タイルで構成できる。また、スライス/タイルは、一つ以上のCTU(coding tree unit)を含むことができる。
【0052】
本開示において、「ピクセル(pixel)」又は「ペル(pel)」は、一つのピクチャ(又は画像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として「サンプル(sample)」が使用できる。サンプルは、一般的に、ピクセル又はピクセルの値を示すことができ、ルーマ(luma)成分のピクセル/ピクセル値のみを示すこともでき、クロマ(chroma)成分のピクセル/ピクセル値のみを示すこともできる。
【0053】
本開示において、「ユニット(unit)」は、画像処理の基本単位を示すことができる。ユニットは、ピクチャの特定の領域及び当該領域に関連する情報のうちの少なくとも一つを含むことができる。ユニットは、場合に応じて、「サンプルアレイ」、「ブロック(block)」又は「領域(area)」などの用語と混用して使用できる。一般な場合、M×Nブロックは、M個の列とN個の行からなるサンプル(又はサンプルアレイ)又は変換係数(transform coefficient)のセット(又はアレイ)を含むことができる。
【0054】
本開示において、「現在ブロック」は、「現在コーディングブロック」、「現在コーディングユニット」、「符号化対象ブロック」、「復号化対象ブロック」又は「処理対象ブロック」のうちのいずれか一つを意味することができる。予測が行われる場合、「現在ブロック」は、「現在予測ブロック」又は「予測対象ブロック」を意味することができる。変換(逆変換)/量子化(逆量子化)が行われる場合、「現在ブロック」は「現在変換ブロック」又は「変換対象ブロック」を意味することができる。フィルタリングが行われる場合、「現在ブロック」は「フィルタリング対象ブロック」を意味することができる。
【0055】
また、本開示において、「現在ブロック」は、クロマブロックという明示的な記載がない限り、ルーマ成分ブロックとクロマ成分ブロックを全て含むブロック又は「現在ブロックのルーマブロック」を意味することができる。現在ブロックのルーマ成分ブロックは、明示的に「ルーマブロック」又は「現在ルーマブロック」のようにルーマ成分ブロックという明示的な記載を含んで表現できる。また、現在ブロックのクロマ成分ブロックは、明示的に「クロマブロック」又は「現在クロマブロック」のようにクロマ成分ブロックという明示的な記載を含んで表現できる。
【0056】
本開示において、「/」と「、」は「及び/又は」と解釈されることができる。例えば、「A/B」と「A、B」は「A及び/又はB」と解釈されることができる。また、「A/B/C」と「A、B、C」は、「A、B及び/又はCのうちの少なくとも一つ」を意味することができる。
【0057】
本開示において、「又は」は「及び/又は」と解釈されることができる。例えば、「A又はB」は、1)「A」のみを意味するか、2)「B」のみを意味するか、3)「A及びB」を意味することができる。又は、本開示において、「又は」は、「追加的に又は代替的に(additionally or alternatively)」を意味することができる。
【0058】
ビデオコーディングシステムの概要
【0059】
図1は、本開示による実施例が適用できるビデオコーディングシステムを概略的に示す図である。
【0060】
一実施例によるビデオコーディングシステムは、符号化装置10及び復号化装置20を含むことができる。符号化装置10は、符号化されたビデオ(video)及び/又は画像(image)情報又はデータをファイル又はストリーミング形式でデジタル記憶媒体又はネットワークを介して復号化装置20へ伝達することができる。
【0061】
一実施例による符号化装置10は、ビデオソース生成部11、符号化部12及び伝送部13を含むことができる。一実施例による復号化装置20は、受信部21、復号化部22及びレンダリング部23を含むことができる。前記符号化部12は、ビデオ/画像符号化部と呼ばれることができ、前記復号化部22は、ビデオ/画像復号化部と呼ばれることができる。伝送部13は、符号化部12に含まれることができる。受信部21は、復号化部22に含まれることができる。レンダリング部23は、ディスプレイ部を含むこともでき、ディスプレイ部は、別個のデバイス又は外部コンポーネントとして構成されることもできる。
【0062】
ビデオソース生成部11は、ビデオ/画像のキャプチャ、合成又は生成過程などを介してビデオ/画像を取得することができる。ビデオソース生成部11は、ビデオ/画像キャプチャデバイス及び/又はビデオ/画像生成デバイスを含むことができる。ビデオ/画像キャプチャデバイスは、例えば、一つ以上のカメラ、以前にキャプチャされたビデオ/画像を含むビデオ/画像アーカイブなどを含むことができる。ビデオ/画像生成デバイスは、例えば、コンピュータ、タブレット及びスマートフォンなどを含むことができ、(電子的に)ビデオ/画像を生成することができる。例えば、コンピュータなどを介して仮想のビデオ/画像が生成されることができ、この場合、ビデオ/画像キャプチャ過程は、関連データが生成される過程に置き換えられることができる。
【0063】
符号化部12は、入力ビデオ/画像を符号化することができる。符号化部12は、圧縮及び符号化効率のために、予測、変換、量子化などの一連の手順を行うことができる。符号化部12は、符号化されたデータ(符号化されたビデオ/画像情報)をビットストリーム(bitstream)形式で出力することができる。
【0064】
伝送部13は、ビットストリーム形式で出力された、符号化されたビデオ/画像情報又はデータを取得することができ、これをファイル又はストリーミング形式でデジタル記憶媒体又はネットワークを介して復号化装置20の受信部21又は他の外部オブジェクトに伝達することができる。デジタル記憶媒体は、USB、SD、CD、DVD、Blu-ray、HDD、SSDなどのさまざまな記憶媒体を含むことができる。伝送部13は、予め決められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介して伝送するためのエレメントを含むことができる。伝送部13は、符号化装置12とは別個の伝送装置として備えられることができ、この場合、伝送装置は、ビットストリーム形式で出力された、符号化されたビデオ/画像情報又はデータを取得する少なくとも一つのプロセッサと、これをファイル又はストリーム形式で伝達する伝送部と、を含むことができる。受信部21は、前記記憶媒体又はネットワークから前記ビットストリームを抽出/受信して復号化部22に伝達することができる。
【0065】
復号化部22は、符号化部12の動作に対応する逆量子化、逆変換、予測などの一連の手順を行ってビデオ/画像を復号化することができる。
【0066】
レンダリング部23は、復号化されたビデオ/画像をレンダリングすることができる。レンダリングされたビデオ/画像は、ディスプレイ部を介して表示されることができる。
【0067】
画像符号化装置の概要
【0068】
図2は、本開示による実施例が適用できる画像符号化装置を概略的に示す図である。
【0069】
図2に示されているように、画像符号化装置100は、画像分割部110、減算部115、変換部120、量子化部130、逆量子化部140、逆変換部150、加算部155、フィルタリング部160、メモリ170、インター予測部180、イントラ予測部185及びエントロピー符号化部190を含むことができる。インター予測部180及びイントラ予測部185は、合わせて「予測部」と呼ばれることができる。変換部120、量子化部130、逆量子化部140及び逆変換部150は、レジデュアル(residual)処理部に含まれることができる。レジデュアル処理部は減算部115をさらに含むこともできる。
【0070】
画像符号化装置100を構成する複数の構成部の全部又は少なくとも一部は、実施例によって一つのハードウェアコンポーネント(例えば、エンコーダ又はプロセッサ)で実現されることができる。また、メモリ170は、DPB(decoded picture buffer)を含むことができ、デジタル記憶媒体によって実現できる。
【0071】
画像分割部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)を誘導する単位であることができる。
【0072】
予測部(インター予測部180又はイントラ予測部185)は、処理対象ブロック(現在ブロック)に対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、現在ブロック又はCU単位でイントラ予測が適用されるか、或いはインター予測が適用されるかを決定することができる。予測部は、現在ブロックの予測に関するさまざまな情報を生成してエントロピー符号化部190に伝達することができる。予測に関する情報は、エントロピー符号化部190で符号化されてビットストリーム形式で出力されることができる。
【0073】
イントラ予測部185は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。前記参照される前記サンプルは、イントラ予測モード及び/又はイントラ予測技法に従って、前記現在ブロックの周辺(neighbor)に位置することもでき、或いは離れて位置することもできる。イントラ予測モードは、複数の非方向性モードと複数の方向性モードを含むことができる。非方向性モードは、例えば、DCモード及びPlanarモードを含むことができる。方向性モードは、予測方向の細かい程度に応じて、例えば33個の方向性予測モード又は65個の方向性予測モードを含むことができる。ただし、これは例示に過ぎず、設定に基づいてそれ以上又はそれ以下の個数の方向性予測モードが使用できる。イントラ予測部185は、周辺ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0074】
インター予測部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)を符号化することにより、現在ブロックの動きベクトルをシグナリングすることができる。動きベクトル差分は、現在ブロックの動きベクトルと動きベクトル予測子との差を意味することができる。
【0075】
予測部は、後述する様々な予測方法及び/又は予測技法に基づいて予測信号を生成することができる。例えば、予測部は、現在ブロックの予測のために、イントラ予測又はインター予測を適用することができるだけでなく、イントラ予測とインター予測を同時に適用することができる。現在ブロックの予測のためにイントラ予測とインター予測を同時に適用する予測方法は、CIIP(combined inter and intra prediction)と呼ばれることができる。また、予測部は、現在ブロックの予測のためにイントラブロックコピー(intra block copy、IBC)を行うこともできる。イントラブロックコピーは、例えば、SCC(screen content coding)などのようにゲームなどのコンテンツ画像/動画コーディングのために使用できる。IBCは、現在ブロックから所定の距離だけ離れた位置の現在ピクチャ内の既に復元された参照ブロックを用いて現在ブロックを予測する方法である。IBCが適用される場合、現在ピクチャ内の参照ブロックの位置は、前記所定の距離に該当するベクトル(ブロックベクトル)として符号化されることができる。IBCは、基本的に現在ピクチャ内で予測を行うが、現在ピクチャ内で参照ブロックを導出するという点で、インター予測と同様に行われることができる。すなわち、IBCは、本開示で説明されるインター予測技法のうちの少なくとも一つを用いることができる。
【0076】
予測部によって生成された予測信号は、復元信号を生成するために用いられるか、或いはレジデュアル信号を生成するために用いられることができる。減算部115は、入力画像信号(原本ブロック、原本サンプルアレイ)から、予測部から出力された予測信号(予測されたブロック、予測サンプルアレイ)を減算して、レジデュアル信号(residual signal、残余ブロック、残余サンプルアレイ)を生成することができる。生成されたレジデュアル信号は、変換部120に伝送されることができる。
【0077】
変換部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)を用いて予測信号を生成し、それに基づいて取得される変換を意味する。変換過程は、正方形の同じサイズを有するピクセルブロックに適用されることもでき、正方形ではない、可変サイズのブロックに適用されることもできる。
【0078】
量子化部130は、変換係数を量子化してエントロピー符号化部190に伝送することができる。エントロピー符号化部190は、量子化された信号(量子化された変換係数に関する情報)を符号化してビットストリーム形式で出力することができる。前記量子化された変換係数に関する情報は、レジデュアル情報と呼ばれることができる。量子化部130は、係数スキャン順序(scan order)に基づいて、ブロック形式の量子化された変換係数を1次元ベクトル形式で再整列することができ、前記1次元ベクトル形式の量子化された変換係数に基づいて、前記量子化された変換係数に関する情報を生成することもできる。
【0079】
エントロピー符号化部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)をさらに含むことができる。本開示で言及されたシグナリング情報、伝送される情報及び/又はシンタックス要素は、上述した符号化手順を介して符号化されて前記ビットストリームに含まれることができる。
【0080】
前記ビットストリームは、ネットワークを介して伝送されることができ、又はデジタル記憶媒体に保存されることができる。ここで、ネットワークは、放送網及び/又は通信網などを含むことができ、デジタル記憶媒体は、USB、SD、CD、DVD、Blu-ray、HDD、SSDなどのさまざまな記憶媒体を含むことができる。エントロピー符号化部190から出力された信号を伝送する伝送部(図示せず)及び/又は保存する保存部(図示せず)が画像符号化装置100の内/外部要素として備えられることができ、又は伝送部はエントロピー符号化部190の構成要素として備えられることもできる。
【0081】
量子化部130から出力された、量子化された変換係数は、レジデュアル信号を生成するために用いられることができる。例えば、量子化された変換係数に逆量子化部140及び逆変換部150を介して逆量子化及び逆変換を適用することにより、レジデュアル信号(レジデュアルブロック又はレジデュアルサンプル)を復元することができる。
【0082】
加算部155は、復元されたレジデュアル信号をインター予測部180又はイントラ予測部185から出力された予測信号に加えることにより、復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部155は、復元部又は復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するようにフィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
【0083】
フィルタリング部160は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部160は、復元ピクチャに様々なフィルタリング方法を適用して、修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ170、具体的にはメモリ170のDPBに保存することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、双方向フィルタ(bilateral filter)などを含むことができる。フィルタリング部160は、各フィルタリング方法についての説明で後述するようにフィルタリングに関する様々な情報を生成してエントロピー符号化部190に伝達することができる。フィルタリングに関する情報は、エントロピー符号化部190で符号化されてビットストリーム形式で出力されることができる。
【0084】
メモリ170に伝送された、修正された復元ピクチャは、インター予測部180で参照ピクチャとして使用されることができる。画像符号化装置100は、これを介してインター予測が適用される場合、画像符号化装置100と画像復号化装置での予測ミスマッチを回避することができ、符号化効率も向上させることができる。
【0085】
メモリ170内のDPBは、インター予測部180での参照ピクチャとして使用するために、修正された復元ピクチャを保存することができる。メモリ170は、現在ピクチャ内の動き情報が導出された(又は符号化された)ブロックの動き情報及び/又は既に復元されたピクチャ内ブロックの動き情報を保存することができる。前記保存された動き情報は、空間周辺ブロックの動き情報又は時間周辺ブロックの動き情報として活用するために、インター予測部180に伝達されることができる。メモリ170は、現在ピクチャ内の復元されたブロックの復元サンプルを保存することができ、イントラ予測部185に伝達することができる。
【0086】
画像復号化装置の概要
【0087】
図3は、本開示による実施例が適用できる画像復号化装置を概略的に示す図である。
【0088】
図3に示されているように、画像復号化装置200は、エントロピー復号化部210、逆量子化部220、逆変換部230、加算部235、フィルタリング部240、メモリ250、インター予測部260及びイントラ予測部265を含んで構成できる。インター予測部260及びイントラ予測部265を合わせて「予測部」と呼ばれることができる。逆量子化部220、逆変換部230はレジデュアル処理部に含まれることができる。
【0089】
画像復号化装置200を構成する複数の構成部の全部又は少なくとも一部は、実施例によって一つのハードウェアコンポーネント(例えば、デコーダ又はプロセッサ)で実現されることができる。また、メモリ170は、DPBを含むことができ、デジタル記憶媒体によって実現できる。
【0090】
ビデオ/画像情報を含むビットストリームを受信した画像復号化装置200は、図2の画像符号化装置100で行われたプロセスに対応するプロセスを実行して画像を復元することができる。例えば、画像復号化装置200は、画像符号化装置で適用された処理ユニットを用いて復号化を行うことができる。したがって、復号化の処理ユニットは、例えばコーディングユニットであることができる。コーディングユニットは、コーディングツリーユニット又は最大コーディングユニットを分割して取得できる。そして、画像復号化装置200を介して復号化及び出力された復元画像信号は、再生装置(図示せず)を介して再生できる。
【0091】
画像復号化装置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の構成要素として備えられることもできる。
【0092】
一方、本開示による画像復号化装置は、ビデオ/画像/ピクチャ復号化装置と呼ばれることができる。前記画像復号化装置は、情報デコーダ(ビデオ/画像/ピクチャ情報デコーダ)及び/又はサンプルデコーダ(ビデオ/画像/ピクチャサンプルデコーダ)を含むこともできる。前記情報デコーダは、エントロピー復号化部210を含むことができ、前記サンプルデコーダは、逆量子化部220、逆変換部230、加算部235、フィルタリング部240、メモリ250、インター予測部260及びイントラ予測部265のうちの少なくとも一つを含むことができる。
【0093】
逆量子化部220では、量子化された変換係数を逆量子化して変換係数を出力することができる。逆量子化部220は、量子化された変換係数を2次元のブロック形式で再整列することができる。この場合、前記再整列は、画像符号化装置で行われた係数スキャン順序に基づいて行われることができる。逆量子化部220は、量子化パラメータ(例えば、量子化ステップサイズ情報)を用いて、量子化された変換係数に対する逆量子化を行い、変換係数(transform coefficient)を取得することができる。
【0094】
逆変換部230では、変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を取得することができる。
【0095】
予測部は、現在ブロックに対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、エントロピー復号化部210から出力された前記予測に関する情報に基づいて、前記現在ブロックにイントラ予測が適用されるか或いはインター予測が適用されるかを決定することができ、具体的なイントラ/インター予測モード(予測技法)を決定することができる。
【0096】
予測部が後述の様々な予測方法(技法)に基づいて予測信号を生成することができるのは、画像符号化装置100の予測部についての説明で述べたのと同様である。
【0097】
イントラ予測部265は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。イントラ予測部185についての説明は、イントラ予測部265に対しても同様に適用されることができる。
【0098】
インター予測部260は、参照ピクチャ上で動きベクトルによって特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導することができる。この時、インター予測モードで伝送される動き情報の量を減らすために、周辺ブロックと現在ブロックとの動き情報の相関性に基づいて動き情報をブロック、サブブロック又はサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測など)情報をさらに含むことができる。インター予測の場合に、周辺ブロックは、現在ピクチャ内に存在する空間周辺ブロック(spatial neighboring block)と参照ピクチャに存在する時間周辺ブロック(temporal neighboring block)を含むことができる。例えば、インター予測部260は、周辺ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出することができる。様々な予測モード(技法)に基づいてインター予測が行われることができ、前記予測に関する情報は、前記現在ブロックに対するインター予測のモード(技法)を指示する情報を含むことができる。
【0099】
加算部235は、取得されたレジデュアル信号を予測部(インター予測部260及び/又はイントラ予測部265を含む)から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることにより、復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用できる。加算部155についての説明は、加算部235に対しても同様に適用できる。加算部235は、復元部又は復元ブロック生成部と呼ばれることもある。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するようにフィルタリングを介して次のピクチャのインター予測のために使用されることもできる。
【0100】
フィルタリング部240は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部240は、復元ピクチャに様々なフィルタリング方法を適用して、修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ250、具体的にはメモリ250のDPBに保存することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、双方向フィルタ(bilateral filter)などを含むことができる。
【0101】
メモリ250のDPBに保存された(修正された)復元ピクチャは、インター予測部260で参照ピクチャとして使用されることができる。メモリ250は、現在ピクチャ内の動き情報が導出された(又は復号化された)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を保存することができる。前記保存された動き情報は、空間周辺ブロックの動き情報又は時間周辺ブロックの動き情報として活用するために、インター予測部260に伝達することができる。メモリ250は、現在ピクチャ内の復元されたブロックの復元サンプルを保存することができ、イントラ予測部265に伝達することができる。
【0102】
本明細書において、画像符号化装置100のフィルタリング部160、インター予測部180及びイントラ予測部185で説明された実施例は、それぞれ画像復号化装置200のフィルタリング部240、インター予測部260及びイントラ予測部265にも、同様に又は対応するように適用されることができる。
【0103】
インター予測
【0104】
画像符号化装置100と画像復号化装置200の予測部は、ブロック単位でインター予測を行って予測サンプルを導出することができる。インター予測は、現在ピクチャ以外のピクチャのデータ要素(例えば、サンプル値、又は動き情報など)に依存的な方法で導出される予測であり得る。現在ブロックにインター予測が適用される場合、参照ピクチャインデックスが指す参照ピクチャ上で動きベクトルによって特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロック(予測サンプルアレイ)が誘導されることができる。このとき、インター予測モードで伝送される動き情報の量を減らすために、周辺ブロックと現在ブロックとの動き情報の相関性に基づいて、現在ブロックの動き情報がブロック、サブブロック、又はサンプル単位で予測されることができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測タイプ(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)がシグナリングされることができる。この場合、前記動きベクトル予測子と動きベクトル差分との和を用いて前記現在ブロックの動きベクトルを導出することができる。
【0105】
前記動き情報は、インター予測タイプ(L0予測、L1予測、Bi予測など)に応じて、L0動き情報及び/又はL1動き情報を含むことができる。L0方向の動きベクトルはL0動きベクトル又はMVL0と呼ばれることができ、L1方向の動きベクトルはL1動きベクトル又はMVL1と呼ばれることができる。L0動きベクトルに基づく予測はL0予測と呼ばれることができ、L1動きベクトルに基づく予測はL1予測と呼ばれることができ、前記L0動きベクトル及び前記L1動きベクトルの両方に基づく予測は、双(Bi)予測と呼ばれることができる。ここで、L0動きベクトルは、参照ピクチャリストL0(L0)に関連する動きベクトルを表すことができ、L1動きベクトルは、参照ピクチャリストL1(L1)に関連する動きベクトルを表すことができる。参照ピクチャリストL0は、前記現在ピクチャよりも出力順に以前ピクチャを参照ピクチャとして含むことができ、参照ピクチャリストL1は、前記現在ピクチャよりも出力順に以後ピクチャを含むことができる。前記以前ピクチャは、順方向(参照)ピクチャと呼ばれることができ、前記以後ピクチャは、逆方向(参照)ピクチャと呼ばれることができる。前記参照ピクチャリストL0は、前記現在ピクチャよりも出力順に以後ピクチャを参照ピクチャとしてさらに含むことができる。この場合、前記参照ピクチャリストL0内で前記以前ピクチャが先にインデックス化され、前記以後ピクチャはその次にインデックス化されることができる。前記参照ピクチャリストL1は、前記現在ピクチャよりも出力順に以前ピクチャを参照ピクチャとしてさらに含むことができる。この場合、前記参照ピクチャリスト1内で前記以後ピクチャが先にインデックス化され、前記以前ピクチャはその次にインデックス化されることができる。ここで、出力順は、POC(picture order count)順序(order)に対応することができる。
【0106】
図4は、画像復号化装置100のインター予測部(180)を概略的に示す図、図5は、インター予測に基づいて画像を符号化する方法を示すフローチャートである。
【0107】
画像符号化装置100は、現在ブロックに対するインター予測を行うことができる(S510)。画像符号化装置100は、現在ブロックのインター予測モード及び動き情報を導出し、前記現在ブロックの予測サンプルを生成することができる。ここで、インター予測モードの決定、動き情報の導出及び予測サンプルの生成の手順は同時に行われてもよく、いずれか一つの手順が他の手順よりも先に行われてもよい。例えば、画像符号化装置100のインター予測部180は、予測モード決定部181、動き情報導出部182及び予測サンプル導出部183を含むことができ、予測モード決定部181で前記現在ブロックに対する予測モードを決定し、動き情報導出部182で前記現在ブロックの動き情報を導出し、予測サンプル導出部183で前記現在ブロックの予測サンプルを導出することができる。例えば、画像符号化装置100のインター予測部180は、動き推定(motion estimation)を介して参照ピクチャの一定領域(サーチ領域)内で前記現在ブロックと類似のブロックをサーチし、前記現在ブロックとの差が最小又は一定基準以下である参照ブロックを導出することができる。これに基づいて、前記参照ブロックが位置する参照ピクチャを指す参照ピクチャインデックスを導出し、前記参照ブロックと前記現在ブロックとの位置差に基づいて動きベクトルを導出することができる。画像符号化装置100は、様々な予測モードのうちの前記現在ブロックに対して適用されるモードを決定することができる。画像符号化装置100は、前記様々な予測モードに対するRDコストを比較し、前記現在ブロックに対する最適の予測モードを決定することができる。
【0108】
例えば、画像符号化装置100は、前記現在ブロックにスキップモード又はマージモードが適用される場合、後述するマージ候補リストを構成し、前記マージ候補リストに含まれたマージ候補が指す参照ブロックのうち、前記現在ブロックとの差が最小又は一定基準以下である参照ブロックを導出することができる。この場合、前記導出された参照ブロックに関連するマージ候補が選択され、前記選択されたマージ候補を指すマージインデックス情報が生成されて復号化装置にシグナリングされることができる。前記選択されたマージ候補の動き情報を用いて前記現在ブロックの動き情報を導出することができる。
【0109】
他の例として、画像符号化装置100は、前記現在ブロックに(A)MVPモードが適用される場合、後述する(A)MVP候補リストを構成し、前記(A)MVP候補リストに含まれたmvp(motion vector predictor)候補のうち、選択されたmvp候補の動きベクトルを前記現在ブロックのmvpとして用いることができる。この場合、例えば、上述した動き推定によって導出された参照ブロックを指す動きベクトルが前記現在ブロックの動きベクトルとして用いられることができ、前記mvp候補のうち、前記現在ブロックの動きベクトルとの差が最も小さい動きベクトルを有するmvp候補が、前記選択されたmvp候補になることができる。前記現在ブロックの動きベクトルから前記mvpを差し引いた差分であるMVD(motion vector difference)が導出できる。この場合、前記MVDに関する情報が画像復号化装置200にシグナリングされることができる。また、(A)MVPモードが適用される場合、前記参照ピクチャインデックスの値は、参照ピクチャインデックス情報で構成されて前記画像復号化装置200に別途シグナリングされることができる。
【0110】
画像符号化装置100は、前記予測サンプルに基づいてレジデュアルサンプルを導出することができる(S520)。画像符号化装置100は、前記現在ブロックの原本サンプルと前記予測サンプルとの比較によって前記レジデュアルサンプルを導出することができる。
【0111】
画像符号化装置100は、予測情報及びレジデュアル情報を含む画像情報を符号化することができる(S530)。画像符号化装置100は、符号化された画像情報をビットストリーム形式で出力することができる。前記予測情報は、前記予測手順に関連する情報として、予測モード情報(例、skip flag、merge flag or mode indexなど)及び動き情報に関する情報を含むことができる。前記動き情報に関する情報は、動きベクトルを導出するための情報である候補選択情報(例えば、merge index、mvp flag or mvp index)を含むことができる。また、前記動き情報に関する情報は、上述したMVDに関する情報及び/又は参照ピクチャインデックス情報を含むことができる。また、前記動き情報に関する情報は、L0予測、L1予測、又は双(bi)予測が適用されるか否かを示す情報を含むことができる。前記レジデュアル情報は、前記レジデュアルサンプルに関する情報である。前記レジデュアル情報は、前記レジデュアルサンプルに対する量子化された変換係数に関する情報を含むことができる。
【0112】
出力されたビットストリームは、(デジタル)記憶媒体に保存されて画像復号化装置200に伝達されてもよく、或いはネットワークを介して画像復号化装置200に伝達されてもよい。
【0113】
一方、上述したように、画像符号化装置100は、前記参照サンプル及び前記レジデュアルサンプルに基づいて復元ピクチャ(復元サンプル及び復元ブロックを含む)を生成することができる。これは、画像復号化装置200で行われるのと同じ予測結果を画像符号化装置100で導出するためであり、これによりコーディング効率を高めることができるからである。したがって、画像符号化装置100は、復元ピクチャ(又は復元サンプル、復元ブロック)をメモリに保存し、インター予測のための参照ピクチャとして活用することができる。前記復元ピクチャにインループフィルタリング手順などがさらに適用できるのは、上述した通りである。
【0114】
図6は、画像復号化装置200のインター予測部260を概略的に示す図、図7は、インター予測に基づいて画像を復号化する方法を示すフローチャートである。
【0115】
画像復号化装置200は、前記画像符号化装置100で行われた動作と対応する動作を行うことができる。画像復号化装置200は、受信された予測情報に基づいて現在ブロックに対して予測を行い、予測サンプルを導出することができる。
【0116】
具体的には、画像復号化装置200は、受信された予測情報に基づいて前記現在ブロックに対する予測モードを決定することができる(S710)。画像復号化装置200は、前記予測情報内の予測モード情報に基づいて、前記現在ブロックにどのインター予測モードが適用されるかを決定することができる。
【0117】
例えば、前記merge flagに基づいて、前記現在ブロックに前記マージモードが適用されるか、或いは(A)MVPモードが決定されるかを決定することができる。或いは、前記モードインデックス(mode index)に基づいて様々なインター予測モード候補のうちの一つを選択することができる。前記インター予測モード候補は、スキップモード、マージモード、及び/又は(A)MVPモードを含むことができ、或いは後述する様々なインター予測モードを含むことができる。
【0118】
画像復号化装置200は、前記決定されたインター予測モードに基づいて前記現在ブロックの動き情報を導出することができる(S720)。例えば、画像復号化装置200は、前記現在ブロックにスキップモード又はマージモードが適用される場合、後述するマージ候補リストを構成し、前記マージ候補リストに含まれたマージ候補のうちの一つのマージ候補を選択することができる。前記選択は、上述した選択情報(merge index)に基づいて行われることができる。前記選択されたマージ候補の動き情報を用いて前記現在ブロックの動き情報が導出することができる。前記選択されたマージ候補の動き情報が前記現在ブロックの動き情報として用いられることができる。
【0119】
他の例として、画像復号化装置200は、前記現在ブロックに(A)MVPモードが適用される場合、後述する(A)MVP候補リストを構成し、前記(A)MVP候補リストに含まれたmvp(motion vector predictor)候補のうち、選択されたmvp候補の動きベクトルを前記現在ブロックのmvpとして用いることができる。前記選択は、上述した選択情報(mvp flag or mvp index)に基づいて行われることができる。この場合、前記MVDに関する情報に基づいて前記現在ブロックのMVDが導出されることができ、前記現在ブロックのmvpと前記MVDに基づいて前記現在ブロックの動きベクトルが導出されることができる。また、前記参照ピクチャインデックス情報に基づいて前記現在ブロックの参照ピクチャインデックスが導出されることができる。前記現在ブロックに関する参照ピクチャリスト内で前記参照ピクチャインデックスが指すピクチャが、前記現在ブロックのインター予測のために参照される参照ピクチャとして導出できる。
【0120】
一方、後述するように候補リスト構成なしで前記現在ブロックの動き情報が導出されることができ、この場合、後述する予測モードで開示された手順に従って前記現在ブロックの動き情報が導出されることができる。この場合、上述したような候補リスト構成は省略可能である。
【0121】
画像復号化装置200は、前記現在ブロックの動き情報に基づいて前記現在ブロックに対する予測サンプルを生成することができる(S730)。この場合、前記現在ブロックの参照ピクチャインデックスに基づいて前記参照ピクチャが導出され、前記現在ブロックの動きベクトルが前記参照ピクチャ上で指す参照ブロックのサンプルを用いて前記現在ブロックの予測サンプルが導出されることができる。この場合、後述するように、場合によっては、前記現在ブロックの予測サンプルの全部又は一部に対する予測サンプルフィルタリング手順がさらに行われることができる。
【0122】
例えば、画像復号化装置200のインター予測部260は、予測モード決定部261、動き情報導出部262、及び予測サンプル導出部263を含むことができ、予測モード決定部181で受信された予測モード情報に基づいて前記現在ブロックに対する予測モードを決定し、動き情報導出部182で受信された動き情報に関する情報に基づいて前記現在ブロックの動き情報(動きベクトル及び/又は参照ピクチャインデックスなど)を導出し、予測サンプル導出部183で前記現在ブロックの予測サンプルを導出することができる。
【0123】
画像復号化装置200は、受信されたレジデュアル情報に基づいて前記現在ブロックに対するレジデュアルサンプルを生成することができる(S740)。画像復号化装置200は、前記予測サンプル及び前記レジデュアルサンプルに基づいて前記現在ブロックに対する復元サンプルを生成し、これに基づいて復元ピクチャを生成することができる(S750)。以後、前記復元ピクチャにインループフィルタリング手順などがさらに適用できるのは、上述した通りである。
【0124】
図8を参照すると、上述したように、インター予測手順は、インター予測モード決定ステップ(S810)、決定された予測モードによる動き情報導出ステップ(S820)、導出された動き情報に基づく予測実行(予測サンプル生成)ステップ(S830)を含むことができる。前記インター予測手順は、上述したように画像符号化装置100及び画像復号化装置(200)で行われることができる。
【0125】
インター予測モードの決定
【0126】
ピクチャ内の現在ブロックを予測するために様々なインター予測モードが使用できる。例えば、マージモード、スキップモード、MVP(motion vector prediction)モード、アフィン(Affine)モード、サブブロックマージモード、MVVD(merge with MVD)モードなどの様々なモードが使用できる。DMVR(Decoder side motion vector refinement)モード、AMVR(adaptive motion vector resolution)モード、Bi-prediction with CU-level weight(BCW)、Bi-directional optical flow(BDOF)などが付随モードとしてさらに或いは代わりに使用できる。アフィンモードは、アフィン動き予測モード(affine motion prediction)と呼ばれることもある。MVPモードは、AMVP(advanced motion vector prediction)モードと呼ばれることもある。本文書で一部のモード及び/又は一部のモードによって導出された動き情報候補は、他のモードの動き情報関連候補のうちの一つとして含まれることもできる。例えば、HMVP候補は、前記マージ/スキップモードのマージ候補として追加されてもよく、或いは前記MVPモードのmvp候補として追加されてもよい。
【0127】
現在ブロックのインター予測モードを指す予測モード情報が画像符号化装置100から画像復号化装置200にシグナリングされることができる。前記予測モード情報は、ビットストリームに含まれて画像復号化装置200に受信されることができる。前記予測モード情報は、多数の候補モードのうちの一つを指示するインデックス情報を含むことができる。或いは、フラグ情報の階層的シグナリングを介してインター予測モードが指示されることもできる。この場合、前記予測モード情報は、一つ以上のフラグを含むことができる。例えば、スキップフラグをシグナリングしてスキップモードの適用如何が指示され、スキップモードが適用されない場合には、マージフラグをシグナリングしてマージモードの適用如何が指示され、マージモードが適用されない場合には、MVPモードが適用されると指示されるか、或いは追加の区分のためのフラグがさらにシグナリングされることもできる。アフィンモードは、独立したモードでシグナリングされてもよく、マージモード又はMVPモードなどに従属的なモードでシグナリングされてもよい。例えば、アフィンモードは、アフィンマージモード及びアフィンMVPモードを含むことができる。
【0128】
動き情報の導出
【0129】
現在ブロックの動き情報を用いてインター予測が行われることができる。画像符号化装置100は、動き推定(motion estimation)手順を介して現在ブロックに対する最適の動き情報を導出することができる。例えば、画像符号化装置100は、現在ブロックに対する原本ピクチャ内の原本ブロックを用いて相関性の高い類似の参照ブロックを参照ピクチャ内の所定の探索範囲内で分数ピクセル単位にて探索することができ、これにより動き情報を導出することができる。ブロックの類似性は、位相(phase)ベースのサンプル値の差に基づいて導出することができる。例えば、ブロックの類似性は、現在ブロック(又は現在ブロックのテンプレート)と参照ブロック(又は参照ブロックのテンプレート)間のSADに基づいて計算できる。この場合、探索領域内のSADが最も小さい参照ブロックに基づいて動き情報が導出されることができる。導出された動き情報は、インター予測モードに基づいて様々な方法に従って画像復号化装置200にシグナリングされることができる。
【0130】
予測サンプルの生成
【0131】
予測モードに従って導出された動き情報に基づいて、現在ブロックに対する予測されたブロックが導出されることができる。前記予測されたブロックは、前記現在ブロックの予測サンプル(予測サンプルアレイ)を含むことができる。現在ブロックの動きベクトルが分数サンプル単位を指す場合、補間(interpolation)手順が行われることができ、これにより参照ピクチャ内で分数サンプル単位の参照サンプルに基づいて前記現在ブロックの予測サンプルが導出されることができる。現在ブロックにアフィン(Affine)インター予測が適用される場合、サンプル/サブブロック単位MVを基に予測サンプルが生成されることができる。双予測が適用される場合、L0予測(すなわち、参照ピクチャリストL0内の参照ピクチャとMVL0を用いた予測)に基づいて導出された予測サンプルと、L1予測(すなわち、参照ピクチャリストL1内の参照ピクチャとMVL1を用いた予測)に基づいて導出された予測サンプルの(位相による)加重和又は加重平均を介して導出された予測サンプルが、現在ブロックの予測サンプルとして用いられることができる。双予測が適用される場合、L0予測に用いられた参照ピクチャと、L1予測に用いられた参照ピクチャが現在ピクチャを基準に互いに異なる時間的方向に位置する場合、(すなわち、双予測でありながら双方向予測に該当する場合)これをtrue双予測と呼ぶことができる。
【0132】
導出された予測サンプルに基づいて復元サンプル及び復元ピクチャが生成されることができ、その後、インループフィルタリングなどの手順が行われることができるのは、前述した通りである。
【0133】
アフィン予測(Affine prediction)
【0134】
既存のビデオコーディングシステムは、符号化ブロックの動き(motion)を表現するために唯一つのMV(motion vector)を使用する(translation motion model使用)。しかし、上記の方法がブロック単位で最適な動きを表現することはできたが、これは、実際の各画素の最適な動きではなく、画素単位で最適のMVを決定することができれば、符号化効率を高めることができる。このために、本実施例では、アフィン動きモデル(affine motion model)を用いて符号化するアフィン動き予測(affine motion prediction)方法について説明する。ファイン動き予測方法は、2個、3個或いは4個のMVを用いてブロックの各画素単位でMVを表現することができる。
【0135】
アフィン動きモデルは、4つの動きを表現することができる。アフィン動きモデルが表現することが可能な動きのうち、3つの動き(translation、scale、rotate)を表現するアフィン動きモデルをsimilarity(or simplified) affine motion modelといい、ここでは、similarity(or simplified) affine motion modelを基準に提案方法を説明する。しかし、方法は、当該動きモデルに限定されない。
【0136】
アフィン動き予測は、2つ以上のcontrol point motion vector(CPMV)sを用いてブロックが含む画素位置のMVを決定することができる。このとき、MVの集合をaffine motion vector field(MVF)といい、符号化/復号化過程でaffine MVFは画素単位或いは既に定義されたサブブロック単位で決定できる。画素単位で決定する場合、各画素値を基準にMVが得られ、サブブロック単位の場合、サブブロックの中央(センター右下側、すなわち中央4つのサンプルのうちの右下側サンプル)画素値を基準に当該ブロックのMVを得ることができる。
【0137】
アフィン予測が可用である場合、現在ブロックに適用可能な動きモデルは、次の3つを含むことができる。並進動きモデル(Translational motion model)、4-パラメータアフィン動きモデル(4-parameter affine motion model)、6-パラメータアフィン動きモデル(6-parameter affine motion model)。ここで、並進動きモデルは、既存のブロック単位動きベクトルが使用されるモデルを示すことができ、4-パラメータアフィン動きモデルは、2つのCPMVが使用されるモデルを示すことができ、6-パラメータアフィン動きモデルは、3つのCPMVが使用されるモデルを示すことができる。
【0138】
前記アフィン動き予測は、アフィンMVP(affine MVP(or affine inter))モード及びアフィンスマージ(affine merge)を含むことができる。アフィン動き予測において、現在ブロックの動きベクトルは、サンプル単位又はサブブロック単位で誘導されることができる。
【0139】
アフィンマージモードが適用される場合、周辺ブロックのCPMVを用いて現在ブロックのCPMVが導出されることができる。この場合、周辺ブロックのCPMVがそのまま現在ブロックのCPMVとして使用されてもよく、周辺ブロックのCPMVが前記周辺ブロックのサイズ及び前記現在ブロックのサイズなどに基づいて修正されて現在ブロックのCPMVとして使用されてもよい。
【0140】
一方、サブブロック単位でMVが導出されるアフィンマージの場合には、サブブロックマージモードと呼ばれることができ、これは、merge_subblock_flag(値1)に基づいて指示されることができる。この場合、後述するファインマージ候補リスト(affine merging candidate list)は、サブブロックマージ候補リスト(subblock merging candidate list)と呼ばれることもある。この場合、前記サブブロックマージ候補リストには、後述するsbTMVPで導出された候補がさらに含まれることができる。この場合、前記sbTMVPで導出された候補は、前記サブブロックマージ候補リストの0番インデックスの候補として用いられることができる。言い換えれば、前記sbTMVPで導出された候補は、前記サブブロックマージ候補リスト内で後述の相続アフィン候補(inherited affine candidates)、組み合わせアフィン候補(constructed affine candidates)よりも前に位置することができる。
【0141】
アフィンMVPモードでは、現在ブロックに対する2以上のcontrol point motion vector prediction(CPMVP)とCPMVを決定した後、差異値に該当するcontrol point motion vector difference(CPMVD)が画像符号化装置100から画像復号化装置200に伝送されることができる。
【0142】
例えば、affine merge flag又はmerge_subblock_flagの値が0である場合、アフィンMVPモードが適用できる。又は、例えば、inter_affine_flagの値が1である場合、前記アフィンMVPモードが適用できる。前記affine MVPモードは、affine CP MVPモードと呼ばれてもよい。又は、affine MVPモードは、affine interモード又はinter affineモードと呼ばれてもよい。affine mvp candidate listは、control point motion vectors predictor candidate listと呼ばれてもよい。
【0143】
実施例
【0144】
本開示は、インター予測過程の双方向動き補償に関する。具体的には、本開示は、各予測方向(L0 or L1)別に互いに異なる予測タイプを適用して現在ブロックの双方向予測を行う方法に関する。
【0145】
互いに異なる予測タイプは、サブブロック単位(sub PU)予測タイプと非サブブロック単位(non-sub PU)予測タイプであってもよい。sub PU予測タイプは、sub PU予測モードと呼ばれてもよく、サブブロック単位でMVが導出されるサブブロックマージモードとアフィンモードがsub PU予測タイプに含まれることができる。non-sub PU予測タイプは、sub PU予測タイプに該当しない予測タイプであって、non-sub PU予測モードと呼ばれてもよい。
【0146】
従来の双方向動き補償過程は、現在ブロックがsub PU予測タイプである場合に、双方向(L0、L1)ともにsub PU予測タイプに基づいて動き補償を行い、現在ブロックがnon-sub PU予測タイプである場合には、双方向ともにnon-sub PU予測タイプに基づいて動き補償を行うことにより、予測ブロックを生成する。
【0147】
例えば、従来のマージモードにおける双方向予測を介した予測モードの決定、動き情報の導出及び予測サンプルの生成は、予測候補から双方向の動き情報を誘導することができる。従来のマージモードで双方向予測を行う具体的な例は、次のように分類できる。すなわち、従来のマージモードは、一方の予測方向をsub PU予測タイプで予測し、他方の予測方向をnon-sub PU予測タイプで予測する方法を支援しない。
【0148】
-merge_subblock_flagが1であれば、双方向ともsub PU予測タイプに基づいて予測を行う
【0149】
-merge_subblock_flagが0であれば、双方向ともnon-sub PU予測タイプに基づいて予測を行う
【0150】
また、従来のマージモードは、予測に用いられる情報が各予測タイプに応じて変わる。すなわち、従来のマージモードは、双方向予測を行う過程で双方向とも同じ情報を使用しなければならない制限を有する。
【0151】
-sub PU予測タイプを適用するとき、周辺ブロック(参照ブロック)がアフィンモードで予測されたブロックである場合には、当該周辺ブロックの保存されたCPMVを利用する
【0152】
-non-sub PU予測タイプを適用するときには、周辺ブロックの保存されたMVを利用する
【0153】
他の例として、動き情報を誘導するために、MVD、MVP index、reference picture indexなどをシグナリングするAMVPモードは、次のように分類できる。すなわち、従来のAMVPモードも、一方の予測方向をsub PU予測タイプで予測し、他方の予測方向をnon-sub PU予測タイプで予測する方法を支援しない。
【0154】
-inter_affine_flagが1である場合、双方向ともsub PU予測タイプに基づいて予測を行う
【0155】
-inter_affine_flagが0である場合、双方向ともnon-sub PUに基づいて予測を行う
【0156】
また、従来のAMVPモードは、予測に用いられる情報が各予測タイプに応じて変わる。すなわち、従来のAMVPモードは、双方向予測を行う過程で双方向とも同じ情報を使用しなければならない制限を有する。
【0157】
-sub PU予測タイプを適用するとき、周辺ブロック(参照ブロック)がアフィンモードで予測されたブロックである場合には、当該周辺ブロックの保存されたCPMVを利用する
【0158】
-non-sub PU予測タイプを適用するときには、周辺ブロックの保存されたMVを利用する
【0159】
さらに、従来のAMVPモードは、ビットストリームを介してシグナリングされる情報の量が各予測タイプによって差を有する。
【0160】
-sub PU予測タイプを適用する場合、各CPのMVを誘導するために要求されるMVD(xoffset、yoffset)を2個以上シグナリングする
【0161】
-non-sub PU予測タイプを適用する場合、予測ブロックを生成するために要求されるMVDをシグナリングする
【0162】
本開示によって提案される方法は、一つの予測ブロックのために双方向予測を行う場合に、各予測方向単位で予測ブロックを生成する過程で互いに異なる予測タイプ(すなわち、sub PU予測タイプ及びnon-sub PU予測タイプ)を同時に支援する方法に該当することができる。したがって、本開示によって提案される方法によれば、各予測方向別に互いに異なる予測タイプが適応的に誘導されるので、圧縮効率が改善できる。
【0163】
また、本開示によって提案される方法は、各予測方向のために、互いに異なる予測タイプを介した動き補償を行い、この過程において、予測方向別に適応的に必要情報を参照することができる。したがって、本開示によって提案される方法によれば、必要情報をシグナリングするのにかかるビットの効率性が向上することができる。
【0164】
実施例1
【0165】
図9は、実施例1による画像符号化方法を示すフローチャートである。
【0166】
図9を参照すると、画像符号化装置100は、現在ブロックの予測方向が双方向であるか否かを判断することができる(S900)。例えば、現在ブロックの予測方向を示すシンタックス要素であるinter_pred_idcの値が双方向予測(PRED_BI)を示すか否かに基づいて、現在ブロックの予測方向が双方向であるか否かが判断できる。
【0167】
現在ブロックの予測方向が双方向である場合に、画像符号化装置100は、各予測方向に互いに異なる予測タイプが適用されるか否かを決定することができる(S910)。ここで、互いに異なる予測タイプは、sub PU予測タイプ及びnon-sub PU予測タイプであり得る。すなわち、S910過程は、特定方向がsub PU予測タイプに基づいて予測され、他の方向がnon-sub PU予測タイプに基づいて予測されるか否かを決定する過程であり得る。現在ブロックの各予測方向に互いに異なる予測タイプが適用されるか否かを示す情報である第1情報(merge_mixed_pu_flag or inter_mixed_pu_flag)は、ビットストリームに符号化できる。
【0168】
各予測方向に互いに異なる予測タイプが適用される場合、画像符号化装置100は、互いに異なる予測タイプに対応する少なくとも一つの双方向動き情報候補を、現在ブロックの参照ブロックから誘導することができる(S920)。
【0169】
例えば、現在ブロックのL0方向がsub PU予測タイプであり、L1方向がnon-sub PU予測タイプである場合に、L0方向がsub PU基盤動き情報であり、L1方向がnon-sub PU基盤動き情報を有する双方向動き情報候補が誘導されることができる。他の例として、現在ブロックのL0方向がnon-sub PU予測タイプであり、L1方向がsub PU予測タイプである場合に、L0方向がnon-sub PU基盤動き情報であり、L1方向がsub PU基盤動き情報である双方向動き情報候補が誘導されることができる。ここで、sub PU基盤動き情報は、sub PU予測タイプに用いられる動き情報であり、non-sub PU基盤動き情報は、non-sub PU予測タイプに用いられる動き情報であり得る。少なくとも一つの双方向動き情報候補は、動き情報候補リストを構成することができる。
【0170】
画像符号化装置100は、誘導された双方向動き情報候補のうちのいずれかに基づいて、すなわち、動き情報候補リストに基づいて現在ブロックを互いに異なる予測タイプで双方向予測することができる(S930)。
【0171】
図10は、実施例1に係る画像復号化方法を示すフローチャートである。
【0172】
図10を参照すると、画像復号化装置200は、現在ブロックの予測方向が双方向であるか否かを判断することができる(S1000)。例えば、現在ブロックの予測方向を示すシンタックス要素であるinter_pred_idcの値が双方向予測(PRED_BI)を示すか否かに基づいて、現在ブロックの予測方向が双方向であるか否かが判断できる。
【0173】
現在ブロックの予測方向が双方向である場合に、画像復号化装置200は、現在ブロックの各予測方向に互いに異なる予測タイプが適用されるか否かを示す情報である第1情報(merge_mixed_pu_flag or inter_mixed_pu_flag)をビットストリームから取得することができる(S1010)。
【0174】
画像復号化装置200は、現在ブロックの各予測方向に互いに異なる予測タイプが適用されるか否かを第1情報に基づいて判断することができる(S1020)。また、画像復号化装置200は、第1情報が、各予測方向に互いに異なる予測タイプが適用されることを示す場合に、互いに異なる予測タイプに対応する少なくとも一つの双方向動き情報候補を参照ブロックから誘導することができる(S1030)。
【0175】
例えば、現在ブロックのL0方向がsub PU予測タイプであり、L1方向がnon-sub PU予測タイプである場合に、L0方向がsub PU基盤動き情報であり、L1方向がnon-sub PU基盤動き情報を有する双方向動き情報候補が誘導できる。他の例として、現在ブロックのL0方向がnon-sub PU予測タイプであり、L1方向がsub PU予測タイプである場合に、L0方向がnon-sub PU基盤動き情報であり、L1方向がsub PU基盤動き情報である双方向動き情報候補が誘導されることができる。ここで、sub PU基盤動き情報は、sub PU予測タイプに用いられる動き情報であり、non-sub PU基盤動き情報は、non-sub PU予測タイプに用いられる動き情報であり得る。少なくとも一つの双方向動き情報候補は、動き情報候補リストを構成することができる。
【0176】
画像復号化装置200は、誘導された双方向動き情報候補のうちのいずれかに基づいて、すなわち、動き情報候補リストに基づいて現在ブロックを互いに異なる予測タイプで双方向予測することができる(S1040)。
【0177】
図11は、実施例1に係る双方向予測方法の一例を説明するための図である。図11では、現在ブロック(Current picture)のL0方向(Reference picture list(L0))の予測タイプをsub PU予測タイプと仮定し、L1方向(Reference picture list(L1))の予測タイプをnon-sub PU予測タイプと仮定する。
【0178】
このような仮定下では、L0方向の予測タイプがsub PU予測タイプであり且つL1方向の予測タイプがnon-sub PU予測タイプである双方向動き情報候補が現在ブロックの双方向予測のために用いられることができる。
【0179】
したがって、一方の方向(例えば、L0)に対しては、sub PU基盤動き補償(motion compensation、MC)が行われ、反対側の方向(例えば、L1)に対しては、non-sub PU基盤動き補償が行われることにより、現在ブロックに対する予測ブロックが生成されることができる。
【0180】
実施例2
【0181】
前述したように、マージモードでは、別途のシンタックスに対するシグナリングなしに(インデックスを除く)、予測候補(動き情報候補)の動き情報のみを用いて現在ブロックの双方向動き情報が誘導されなければならないので、本開示の予測候補は、次の2つの条件を満足しなければならない。
【0182】
-双方向動き情報を誘導することができる
【0183】
-各予測方向別に必要な動き情報を誘導することができる(例えば、L0:CPMV、L1:MV)
【0184】
例えば、参照ブロックが本開示を介して提案される方法で符号化/復号化された場合であるか、或いは参照ブロックがsub PU予測タイプによって双方向予測された場合に、本開示を介して提案される方法を適用するための双方向動き情報が当該参照ブロックに保存されている。したがって、このような場合には、互いに異なる予測タイプの双方向予測を行うことができる。
【0185】
他の例として、参照ブロックが本開示を介して提案される方法で符号化/復号化されていない場合であるか、或いは参照ブロックがnon-sub PU予測タイプによって双方向予測された場合には、本開示を介して提案される方法を適用するための双方向動き情報が当該参照ブロックに保存されていないことがある。したがって、このような場合には、次の方案が行われることができる。
【0186】
-各予測方向別に必要な動き情報を再構成して双方向動き情報候補を誘導する
【0187】
-当該参照ブロックの動き情報を双方向動き情報候補の誘導に利用しない
【0188】
このように、本開示を介して提案される方法がマージモードに適用される場合には、現在ブロックの予測候補リスト(動き情報候補リスト)を構成する過程で、参照する候補が次の条件を満足すれば、当該参照候補を予測候補として構成するか、或いは当該参照候補に基づいて再生成した予測情報を現在ブロックの予測候補として構成することができる。
【0189】
-復号化された周辺ブロック/復号化された以前ピクチャ内のブロック(すなわち、参照ブロック)の動き情報から双方向予測情報(双方向動き情報)を誘導することができ、双方向の動き情報のうちの少なくとも一方向以上からsub PU基盤動き情報を誘導することができる
【0190】
-参照ブロックの動き情報を予測方向単位で分解し、再び組み合わせて双方向動き情報を誘導することができ、再び組み合わせられた双方向の動き情報のうちの少なくとも一つ以上からsub PU基盤動き情報を誘導することができる
【0191】
-任意の予測方向に対して、参照ブロックの動き情報から現在ブロックの動き情報をsub PU単位で誘導することができるように組み合わせることができる
【0192】
一方、本開示を介して提案される方法がAMVPモードに適用される場合に、各予測方向別に互いに異なる予測タイプによって予測ブロックが生成されなければならないので、各予測方向の予測のために参照する動き情報候補が適応的に誘導されなければならない。
【0193】
例えば、図12(a)の左側のように、現在ブロックが提案する方法で符号化された場合(例えば、L0:non-sub PU、L1:sub PU)、
【0194】
-動き情報候補をシグナリングされたMVDで補償して現在ブロックの動き情報を誘導することができる
【0195】
-この過程で、周辺に既に復号化が完了した参照ブロックの情報を参照して動き情報候補として使用するか、或いは参照ブロックの情報を用いて再構成した動き情報を動き情報候補として用いることができる。
【0196】
すなわち、提案する方法は、各予測方向別に互いに異なる予測タイプに基づいて予測を行うので、参照される情報が予測方向別に互いに異なる。したがって、提案する方法は、必要な情報が与えられた場合に限って適用できる。
【0197】
例えば、現在ブロックのL0方向にsub PU予測タイプを適用し、L1方向にnon-sub PU予測タイプを適用しようとすれば、L0方向の動き情報を誘導するためにCPMVのための2つ以上のMVDがシグナリングされなければならず、L1方向の動き情報を誘導するために2つ未満のMVDがシグナリングされなければならない。
【0198】
しかし、予測候補(参照ブロック)からL0方向のCPMVを誘導しなければ、現在ブロックのL0方向のCPMVを誘導しなくなる。例えば、図12(a)の右側の如く、参照ブロックが双方向予測されたが、双方向ともnon-sub PU予測タイプによって予測されたか、或いは双方向予測されていない場合には、現在ブロックのための適切な動き情報を誘導することができない。
【0199】
次に、本開示によって提案される方法がAMVPモードに適用される場合の基本的な動作を要約する。
【0200】
図12(b)に例示されているように、L0方向がsub PU予測タイプに基づいて予測され、L1方向がnon-sub PU予測タイプに基づいて予測される場合、予測候補(参照ブロック)のL0方向のCPMVを参照して、各CPに対するMVPが誘導されることができ、誘導された各MVPとシグナリングされた各CPのMVDを考慮して現在ブロックのL0方向CPMV(動き情報)が誘導されることができる。すなわち、予測候補のL0方向動き情報にaffineモデルを適用して現在ブロックのL0方向動き情報候補が誘導されることができる。また、現在ブロックのL0方向動き情報候補は、予測候補のL1方向動き情報とシグナリングされたMVDを考慮して誘導されることができる。
【0201】
本開示において、誘導された双方向動き情報候補は、単一の動き情報候補リストを構成することができる。したがって、各予測方向ごとに別途の動き情報候補リストを構成し、別途のインデックス情報をシグナリングする従来のAMVPモードに比べて、本開示は、動き情報候補リストを簡単に構成することができ、インデックス情報のシグナリングにかかるビット量を減少させることができる。
【0202】
以上説明された理由及び内容に基づいて、実施例2では、適切な双方向動き情報候補を参照ブロックから誘導し、これらを予測候補リスト(動き情報候補リスト)で構成する方法を提案する。
【0203】
実施例2-1
【0204】
実施例2-1は、参照ブロックの動き情報から双方向動き情報を誘導することができ、双方向の動き情報のうちの少なくとも一方向以上からsub PU基盤動き情報を誘導することができる場合に、これから現在ブロックの双方向動き情報候補を誘導する実施例である。ここで、「少なくとも一方向以上からsub PU基盤動き情報を誘導することができる場合」とは、少なくとも一つ以上のsub PU基盤動き情報が参照ブロックの双方向動き情報に含まれるものであり得る。
【0205】
図13及び図14は、実施例2-1がマージモードに適用される場合に双方向動き情報候補を誘導する例を説明するための図である。
【0206】
図13(a)に例示されているように、現在ブロック(Current block)の参照ブロックが提案する方法で符号化されたか(L0:non-sub PU、L1:sub PU)、参照ブロックの双方向動き情報に少なくとも一つ以上のsub PU基盤動き情報が含まれている場合、これを双方向動き情報候補に誘導することができる。
【0207】
具体的には、図13(b)に例示されているように、現在ブロック(Cur)のL0方向の動き情報は、参照ブロックのL0方向のCPMVに基づいてアフィンモデルを適用して誘導されることができ、現在ブロックのL1方向の動き情報は、参照ブロックのL1方向の動き情報から誘導されることができる。従って、このような参照ブロックの双方向動き情報は、双方向動き情報候補に誘導されることができる。
【0208】
他の例として、図14(a)に例示されているように、参照ブロックが双方向予測され且つ双方向ともsub PU予測タイプで予測された場合、参照ブロックの双方向動き情報には周辺ブロックのCPMVが保存されており(図14(b)の左側)、同時に参照ブロック自体の動き情報(MV)も保存されている(図14(b)の右側)。
【0209】
従って、図14(c)に例示されているように、このような場合には、参照ブロックのCPMVに基づいて、アフィンモデルを適用して現在ブロックのL0方向の動き情報が誘導されることができ、参照ブロックのMVを現在ブロックのL1方向動き情報として用いることができる。従って、このような参照ブロックの双方向動き情報は、双方向動き情報候補に誘導されることができる。
【0210】
図15は、実施例2-1がAMVPモードに適用される場合に双方向動き情報候補を誘導する例を説明するための図である。
【0211】
参照ブロックが提案された方法又はアフィンモードで復号化された場合のようにCPMVを保存している場合、当該動き情報(CPMV)と、CPMVではない参照ブロックの位置に保存された動き情報(MV)とを互いに組み合わせて、双方向動き情報候補が誘導されることができる。
【0212】
例えば、図15(a)に例示されているように、現在ブロック(Current block)の各予測方向に互いに異なる予測タイプが適用されることができ(L0:non-sub PU、L1:sub PU)、双方向動き情報候補を構成するための参照ブロックの位置がA~Gと定義されていることができる。また、参照ブロックの各位置(Candidates Position)に対する動き情報は、表1の通りである。
【0213】
【表1】
【0214】
このような例において、参照ブロックの双方向動き情報のうち、現在ブロックの予測方法(予測タイプ)を適用するのに適切な双方向動き情報が双方向動き情報候補に誘導されることができる。すなわち、表2のように、L0方向の予測タイプがnon-sub PU予測タイプであり、L1方向の予測タイプがsub PU予測タイプである双方向動き情報が双方向動き情報候補に誘導されることができる。
【0215】
【表2】
【0216】
実施例によって、図15(b)に例示されているように、D位置には周辺ブロックのCPMV(CP)が保存されており、同時に参照ブロック自体の動き情報(D)も保存されているので、sub PU予測タイプに対してCPのMVを使用することができ、non-sub PU予測タイプに対しては自体の動き情報を参照することができる。したがって、D位置のsub PUで符号化された動き情報(すなわち、sub PU基盤動き情報)をnon-sub PU基盤動き情報のように処理することができ、このような処理を介して表2のリストを表3のように修正して双方向動き情報候補リストを構成することもできる。
【0217】
【表3】
【0218】
他の例として、図15(a)の例において、参照ブロックの各位置(Candidates Position)に対する動き情報が表4の通りである。
【0219】
【表4】
【0220】
このような場合、参照ブロックの動き情報のうち、現在ブロックの互いに異なる予測タイプを適用するのに適切な動き情報が表5のように双方向動き情報候補に誘導されることができる。
【0221】
【表5】
【0222】
実施例2-2
【0223】
実施例2-2は、参照ブロックの動き情報を予測方向単位で分解し、再び組み合わせて双方向動き情報を誘導することができ、再び組み合わせられた双方向動き情報のうち、少なくとも一方向以上からsub PU基盤動き情報を誘導することができる場合に、これから現在ブロックの双方向動き情報候補を誘導する実施例である。ここで、「少なくとも一方向以上からsub PU基盤動き情報を誘導することができる場合」とは、少なくとも一つ以上のsub PU基盤動き情報が再び組み合わせられた双方向動き情報に含まれるものであり得る。
【0224】
図16は、実施例2-2に係る画像符号化方法及び画像復号化方法を示すフローチャートである。
【0225】
図16を参照すると、画像符号化装置100と画像復号化装置200は、参照ブロックの予測方向を判断することができる(S1600)。参照ブロックの予測方向が単方向である場合、画像符号化装置100と画像復号化装置200は、参照ブロックの動き情報を予測方向単位で組み合わせ、組み合わせられた双方向動き情報を誘導することができる(S1610)。また、画像符号化装置100と画像復号化装置200とは、組み合わせられた双方向動き情報のうち、sub PU基盤動き情報を一つ以上含む動き情報に基づいて、双方向動き情報候補を誘導することができる(S1620)。
【0226】
実施例によって、S1610過程とS1620過程は、S1610過程に独立的に行われてもよい。すなわち、参照ブロックの予測方向に対する判断なしに、組み合わせられた双方向動き情報の誘導と双方向動き情報候補の誘導が行われることができる。
【0227】
次に、実施例2-2がマージモードに適用される場合に双方向動き情報候補を誘導する一例を説明する。
【0228】
図15(a)に例示されているように、現在ブロックの各予測方向に互いに異なる予測タイプが適用され(L0:non-sub PU、L1:sub PU)、双方向動き情報候補を構成するための参照ブロックの位置がA~Gと定義されている。また、参照ブロックの各位置(Candidates Position)に対する動き情報は、表6のようにいずれも単方向動き情報であり得る。
【0229】
【表6】
【0230】
このような場合には、参照ブロックの単方向動き情報を再び組み合わせ、再び組み合わせられた双方向動き情報を誘導し、再び組み合わせられた双方向動き情報から表7のような双方向動き情報候補を誘導することができる。
【0231】
【表7】
【0232】
次に、実施例2-2がAMVPモードに適用される場合に双方向動き情報候補を誘導する一例を説明する。
【0233】
参照ブロックの位置が図15(a)のようであり、当該参照ブロックの動き情報が表1のような場合、参照ブロックの動き情報を各予測方向別に分離し、これを再び組み合わせ、表8のような再び組み合わせられた双方向動き情報が誘導されることができる。再び組み合わせられた双方向動き情報は、現在ブロックの双方向予測のための双方向動き情報候補として用いられることができる。
【0234】
【表8】
【0235】
実施例2-3
【0236】
参照ブロックの動き情報が全てnon-sub PU基盤動き情報である場合には、現在ブロックのsub PU基盤動き情報を誘導するための動き情報を参照ブロックから参照することができない。例えば、図15(a)のように、現在ブロックの各予測方向別に互いに異なる予測タイプが適用され、参照ブロック(A~G)の動き情報が全てnon-sub PU動き情報である場合には、現在ブロックのL1方向のsub PU予測タイプを支援するためのCPMVが誘導されることができない。
【0237】
かかる問題を解決するために、実施例2-3は、現在ブロックのsub PU基盤動き情報を参照ブロックから誘導するのではなく、現在ブロックの周辺に位置する周辺ブロックから誘導する方法を提案する。
【0238】
このために、参照ブロックを隣接ブロックと周辺ブロックに区分するようにする。隣接ブロックは、現在ブロックに隣接するブロックに該当することができる。例えば、図15(a)において、現在ブロックに隣接するA~Gブロックが隣接ブロックに該当することができる。また、隣接ブロックは、現在ブロックの動き情報を誘導するために用いられるもので、予め定義されたブロックであり得る。周辺ブロックは、現在ブロックの周辺に位置するブロックであって、現在ブロックに隣接してもよく、現在ブロックに隣接しなくてもよい。周辺ブロックは、隣接ブロックに該当しないブロックであってもよい。参照ブロックは、隣接ブロックと周辺ブロックを含むことができる。
【0239】
図17は、実施例2-3による画像符号化方法及び画像復号化方法を示すフローチャートである。
【0240】
図17を参照すると、画像符号化装置100と画像復号化装置200は、参照ブロックの予測タイプを判断することができる(S1700)。参照ブロックの予測タイプが全てnon-sub PUである場合、画像符号化装置100と画像復号化装置200は、参照ブロックの動き情報を予測方向単位で組み合わせ、組み合わせられた双方向動き情報を誘導することができる(S1710)。また、画像符号化装置100と画像復号化装置200は、組み合わせられた双方向動き情報に基づいて、双方向動き情報候補を誘導することができる(S1720)。
【0241】
周辺ブロックは、双方向動き情報を含むことができる。もし、周辺ブロックの動き情報が双方向ではない場合であっても、各予測方向単位で適応的に動き情報を参照すると、組み合わせられた双方向動き情報が誘導できる。
【0242】
周辺ブロックに対する一例が図18に示されている。図18に例示されているように、周辺ブロックは、現在ブロックのCP位置の周辺に位置した復元ブロックであり得る。すなわち、A0、A1、B0及びB1は、現在ブロックの左下端CP位置の周辺に位置する周辺ブロックであり、A2、A3、A4、B2、B3及びB4は、現在ブロックの左上端CP位置の周辺に位置する周辺ブロックであり、A5、A6、B5及びB6は、現在ブロックの右上端CP位置の周辺に位置する周辺ブロックであ 得る。
【0243】
図18の例において、L0方向に対しては、non-sub PU予測タイプのための一つの動き情報を誘導し、L1方向に対しては、sub PU予測タイプのための2つ以上のCPMVを誘導することができる。その結果、双方向動き情報候補(予測候補リスト)が表9のように構成できる。
【0244】
【表9】
【0245】
表9において、MV()とCPMV()の括弧内の情報は、図18に示した周辺ブロックの位置を示すことができる。すなわち、表9のように、周辺ブロックの動き情報を用いてL0方向に対するnon-sub PU基盤動き情報が誘導されることができ、周辺ブロックの動き情報を組み合わせたCPMVを用いてL1方向に対するsub PU基盤動き情報が誘導されることができる。
【0246】
実施例3
【0247】
本開示の方法によって各予測方向別に互いに異なる予測タイプを適用するためには、これを支援するためのシンタックス要素がシグナリングされる必要がある。実施例3は、シンタックス要素をシグナリングする方法に対する実施例である。
【0248】
図19は、実施例3に係る画像符号化方法を示すフローチャートである。
【0249】
図19を参照すると、画像符号化装置100は、第1条件(apply_proposed_method_condition)が満足されるか否かを判断することができる(S1900)。第1条件は、本開示の方法を適用するか否かに対する条件であって、現在ブロックの予測方向が双方向であるか否かを含むことができる。第1条件の具体的な内容については後述する。
【0250】
画像符号化装置100は、第1条件が満足される場合に第1情報をビットストリームに符号化することができる(S1910)。ここで、第1情報は、merge_mixed_pu_flag又はinter_mixed_pu_flagに符号化されることができる。画像符号化装置100は、現在ブロックの各予測方向に互いに異なる予測タイプが適用されるか否かを決定することができる(S1920)。
【0251】
また、現在ブロックの各予測方向に互いに異なる予測タイプが適用されると決定された場合、画像符号化装置100は、第2情報(inter_mixed_pu_l0_flag)と第3情報(cu_subpu_type_flag)を符号化することができる(S1930)。実施例によって、S1930過程は、現在ブロックの予測モードがAMVPモードである場合に限って行われることができる。すなわち、第2情報と第3情報は、現在ブロックの予測モードがAMVPモードである場合に符号化できる。
【0252】
図20は、実施例3に係る画像復号化方法を示すフローチャートである。
【0253】
図20を参照すると、画像復号化装置200は、第1条件(apply_proposed_method_condition)が満足されるか否かを判断することができる(S2000)。第1条件は、本開示の方法を適用するか否かに対する条件であって、現在ブロックの予測方向が双方向であるか否かを含むことができる。第1条件の具体的な内容については後述する。
【0254】
画像復号化装置200は、第1条件が満足される場合に、第1情報(merge_mixed_pu_flag or inter_mixed_pu_flag)をビットストリームから取得することができる(S2010)。画像復号化装置200は、第1情報に基づいて、現在ブロックの各予測方向に互いに異なる予測タイプが適用されるか否かを決定することができる(S2020)。
【0255】
第1情報が、現在ブロックの各予測方向に互いに異なる予測タイプが適用されることを示す場合に、画像復号化装置200は、第2情報(inter_mixed_pu_l0_flag)と第3情報(cu_subpu_type_flag)をビットストリームから取得することができる(S2030)。実施例によって、S2030過程は、現在ブロックの予測モードがAMVPモードである場合に限って行われることができる。すなわち、第2情報と第3情報は、現在ブロックの予測モードがAMVPモードである場合に取得されることができる。
【0256】
実施例3は、1)他の情報をシグナリングしない(インデックス情報を除く)従来のマージモードのように行われる実施例(実施例3-1)と、2)他の情報をシグナリングする従来のAMVPモードのように行われる実施例(実施例3-2)に区分されることができる。
【0257】
実施例3-1
【0258】
実施例3-1に係るシンタックス構造に対する一例が表10に示されている。
【0259】
【表10-1】
【表10-2】
【0260】
merge_idxは、マージ候補リスト内のマージ候補を示すことができる。merge_mixed_pu_flagは、第1情報であって、第1条件(apply_proposed_method_condition)が満たされる場合に符号化及び取得されることができる。第1情報は、現在ブロックの各予測方向別に互いに異なる予測タイプが適用されるか否かを示すことができる。merge_mixed_pu_flag=1は、現在ブロックの各予測方向別に互いに異なる予測タイプが適用されることを示し、merge_mixed_pu_flag=0は、現在ブロックの各予測方向別に互いに異なる予測タイプが適用されないことを示すことができる。
【0261】
merge_mixed_pu_flag=1である場合には、本開示を介して提案される方法を適用して予測ブロックが生成されるので、従来の方法を支援するために追加的にシグナリングされていた情報であるmerge_subblock_flag又はregular_merge_flagなどは、シグナリングされなくてもよい。すなわち、merge_subblock_flagは、本開示を介して提案される方法が適用されない場合に(merge_mixed_pu_flag=0)シグナリングされることができる。
【0262】
regular_merge_flagは、マージモード(正規マージモード)が現在ブロックに適用されるか否かを示すことができる。regular_merge_flag=1は、正規マージモードが現在ブロックのインター予測パラメータを生成するために使用されることを示すことができる。
【0263】
merge_subblock_flagは、現在ブロックにサブブロックマージモード(又は、アフィンマージモード)が適用されるか否かを示すことができる。すなわち、merge_subblock_flagは、サブブロックマージモードが現在ブロックに対するサブブロック基盤インター予測パラメータを生成するために使用されるか否かを示すことができる。merge_subblock_idxは、サブブロック基盤マージ候補リストのマージ候補インデックスを示すことができる。
【0264】
インデックス情報(merge_mixed_pu_idx)は、少なくとも一つの双方向動き情報候補のうち、現在ブロックの予測のために用いられる双方向動き情報候補を示すことができる。インデックス情報は、本開示を介して提案された方法のための予測候補(双方向動き情報候補)の最大個数(MaxNumCombinedSubblockMergeCand)が1を超過する場合にシグナリングされることができる。すなわち、予測候補の最大個数が1以下である場合には、インデックス情報に対するシグナリングなしに一つの双方向動き情報候補を用いて予測が行われることができる。
【0265】
mmvd_merge_flagは、MMVD(merge mode with motion vector difference)モードが現在ブロックに適用されるか否かを示すことができる。mmvd_merge_flag=1は、MMVDモードが現在ブロックのインター予測パラメータを生成するために用いられることを示すことができる。mmvd_cand_flagは、マージ候補リスト(merging candidate list)内の一番目の候補(0)又は二番目の候補(1)がmmvd_distance_idx及びmmvd_direction_idxから誘導されたMVDと共に使用されるか否かを示すことができる。mmvd_distance_idxは、変数MmvdDistance[x0][y0]の誘導に用いられるインデックスを示すことができ、mmvd_direction_idxは、変数MmvdSign[x0][y0]の誘導に用いられるインデックスを示すことができる。
【0266】
ciip_flagは、組み合わせられたインター-イントラ予測モード(combined inter-picture merge and intra-picture prediction)が現在ブロックに適用されるか否かを示すことができる。merge_gpm_partition_idxは、GPMモード(geometric partitioning merge mode)の分割形状を示すことができ、merge_gpm_idx0及びmerge_gpm_idx1のそれぞれは、GPM基盤動き補償候補リスト(geometric partitioning based motion compensation candidate list)内の一番目の候補と二番目の候補を示すことができる。
【0267】
実施例3-1に係るシンタックス構造に対する他の一例が表11に示されている。
【0268】
【表11-1】
【表11-2】
【0269】
表11のシンタックス構造は、本開示によって提案する方法が従来のコーディングツール(例えば、サブブロックマージモード)とシンタックス的な融合をなした例である。すなわち、サブブロックマージモードが適用される場合に(merge_subblock_flag=1)、第1条件(apply_proposed_method_condition)の満足如何が判断され、第1条件が満たされる場合に、本開示によって提案される方法の適用如何(merge_mixed_pu_flag)が決定され得る。また、表11の例において、インデックス情報(merge_mixed_pu_idx)の機能は、merge_subblock_idxが行うことができる。
【0270】
実施例3-1に係るシンタックス構造に対する別の一例が表12に示されている。
【0271】
【表12】
【0272】
表12のシンタックス構造は、双方向動き情報候補を選択するためのインデックス情報がシグナリングされない例である。具体的には、表12によれば、表11のif(merge_mixed_pu_flag==1)及びif(MaxNumCombinedSubblockMergeCand>1)が行われず、表11のmerge_mixed_pu_idxがシグナリングされなくてもよい。この場合、現在ブロックの予測に用いられる双方向動き情報候補は、テンプレートマッチングによるコスト(cost)に基づいて決定され、一例として最小コスト(cost)を有する双方向動き情報候補と決定され得る。
【0273】
実施例3-2
【0274】
実施例3-2に係るシンタックス構造に対する一例が表13に示されている。
【0275】
【表13-1】
【表13-2】
【0276】
inter_mixed_pu_flagは、第1情報であって、第1条件(apply_proposed_method_condition)が満たされる場合に符号化及び取得できる。第1情報は、現在ブロックの各予測方向別に互いに異なる予測タイプが適用されるか否かを示すことができる。inter_mixed_pu_flag=1は、現在ブロックの各予測方向別に互いに異なる予測タイプが適用されることを示し、inter_mixed_pu_flag=0は、現在ブロックの各予測方向別に互いに異なる予測タイプが適用されないことを示すことができる。
【0277】
第2情報(inter_mixed_pu_l0_flag)は、現在ブロックの各予測方向別に互いに異なる予測タイプが適用される場合に(inter_mixed_pu_flag=1)シグナリングできる。inter_mixed_pu_l0_flagは、各予測方向に適用される互いに異なる予測タイプを示すことができる。例えば、inter_mixed_pu_l0_flag=1は、L0方向に適用される予測タイプがsub PU予測タイプであることを示すことができ、inter_mixed_pu_l0_flag=0は、L0方向に適用される予測タイプがnon-sub PU予測タイプであることを示すことができる。他の例として、inter_mixed_pu_l0_flag=1は、L0方向に適用される予測タイプがnon-sub PU予測タイプであることを示すことができ、inter_mixed_pu_l0_flag=0は、L0方向に適用される予測タイプがsub PU予測タイプであることを示すことができる。
【0278】
第3情報(cu_subpu_type_flag)は、現在ブロックの各予測方向別に互いに異なる予測タイプが適用される場合に(inter_mixed_pu_flag=1)シグナリングできる。cu_subpu_type_flagは、各予測方向に適用されるパラメータモデルを決定するために用いられることができ、パラメータモデルの決定については後述する。
【0279】
inter_affine_flagは、アフィンモードが現在ブロックに対して適用されるか否かを示すことができる。cu_affine_type_flagは、現在ブロックに適用されるパラメータモデルを示すことができる。例えば、cu_affine_type_flag=1は、6-パラメータモデルが適用されることを示し、cu_affine_type_flag=0は、4-パラメータモデルが適用されることを示すことができる。
【0280】
sym_mvd_flagは、MVDコーディングにおいてsymmetric MVDが使用されるか否かを示すことができる。例えば、sym_mvd_flag=1は、ref_idx_l0、ref_idx_l1及びmvd_codingが存在しないことを示すことができる。ref_idx_l0は、参照ピクチャリスト0(L0方向)内の参照ピクチャを示し、ref_idx_l1は、参照ピクチャリスト1(L1方向)内の参照ピクチャを示すことができる。
【0281】
mvp_l0_flagは、MVPモードが適用される場合にMVP候補リスト0内の候補のうち、現在ブロックのMVPを導出するために選択される候補を示すことができ、mvp_l1_flagは、MVPモードが適用される場合にMVP候補リスト1内の候補のうち、現在ブロックのMVPを導出するために選択される候補を示すことができる。
【0282】
実施例3-2に係るシンタックス構造に対する他の一例が表14に示されている。
【0283】
【表14-1】
【表14-2】
【0284】
表14のシンタックス構造は、本開示を介して提案する方法が従来のコーディングツール(例えば、アフィンモード)とシンタックス的な融合をなした例である。inter_affine_flag=1である場合に、現在ブロックにsub PU予測モードが適用され得る。よって、現在ブロックの予測方向が双方向であれば(inter_pred_idc==PRED_BI)、各予測方向に互いに異なる予測タイプを適用するか否か(inter_mixed_pu_flag)、及び各予測方向にどんな予測タイプを適用するか否かがシグナリングできる。また、表13の例において、第3情報(cu_subpu_type_flag)の機能は、cu_affine_type_flagが行うことができる。
【0285】
第2情報(inter_mixed_pu_l0_flag)に基づいて各予測方向に対する互いに異なる予測タイプを決定する方法に対する一例が、表15に示されている。
【0286】
【表15】
【0287】
表15を参照すると、inter_mixed_pu_flag=0であれば、inter_mixed_pu_l0_flagがシグナリングされず、現在ブロックの双方向は、sub PU予測タイプと決定できる。inter_mixed_pu_flag=1であり且つinter_mixed_pu_l0_flag=0である場合に、現在ブロックのL0方向は、sub PU予測タイプと決定され、現在ブロックのL1方向は、non-sub PU予測タイプと決定されることができる。inter_mixed_pu_flag=1であり且つinter_mixed_pu_l0_flag=1である場合に、現在ブロックのL0方向は、non-sub PU予測タイプと決定され、現在ブロックのL1方向は、sub PU予測タイプと決定されることができる。
【0288】
実施例によって、第1情報は、各予測方向別に互いに異なる予測タイプを適用するか否かを示すのはもとより、各予測方向別に適用される互いに異なる予測タイプを示すこともできる。すなわち、第1情報は、各予測方向別に適用される互いに異なる予測タイプをさらに示すこともできる。このために、第1情報は、前述したフラグ形態ではなく、表16のようなインデックス形態(inter_mixed_pu_idc)で表現されることもできる。
【0289】
【表16】
【0290】
インデックス形態の第1情報に基づいて、各予測方向別に互いに異なる予測タイプを適用するか否か、及び各予測方向に対する互いに異なる予測タイプを決定する方法に対する一例が、表17に示されている。
【0291】
【表17】
【0292】
表17を参照すると、inter_mixed_PU_idc=0である場合に、現在ブロックの双方向は、sub PU予測タイプと決定されることができる。inter_mixed_PU_idc=10である場合に、現在ブロックのL0方向は、sub PU予測タイプと決定され、現在ブロックのL1方向は、non-sub PU予測タイプと決定されることができる。inter_mixed_pu_idc=11である場合に、現在ブロックのL0方向は、non-sub PU予測タイプと決定され、現在ブロックのL1方向は、sub PU予測タイプと決定されることができる。
【0293】
実施例4
【0294】
実施例4は、第1条件(apply_proposed_method_condition)の多様な例に対する実施例である。
【0295】
第1条件は、次のような条件を含んで構成できる。すなわち、次のような条件が満たされる場合に第1情報(merge_mixed_pu_flag or inter_mixed_pu_flag)が符号化及び取得できる。
【0296】
条件1.現在ブロックがBi-predictionで予測ブロックを生成するか否か
【0297】
条件1は、現在ブロックの予測方向が双方向であるか否かである。例えば、条件1は、inter_pred_idc[x0][y0]==PRED_BIが満たされるか否かである。
【0298】
条件2.現在ブロックのサイズが、予め定義されたサイズを満足するか否か
【0299】
条件2は、現在ブロックのサイズ(cbWidth、cbHeight)が所定のサイズを満足するか否かである。例えば、条件2は、cbWidth>=幅の最小値(MIN_COMB_PU_WIDTH)、cbHeight>=高さの最小値(MIN_COMB_PU_HEIGHT)、cbWidth<=幅幅の最大値(MAX_COMB_PU_WIDTH)及びcbHeight<=高さの最大値(MAX_COMB_PU_HEIGHT)を含むことができる。
【0300】
MIN_COMB_PU_WIDTH、MIN_COMB_PU_HEIGHT、MAX_COMB_PU_WIDTH及びMAX_COMB_PU_HEIGHTは、予め定義された値であるか、或いはビットストリームの上位レベルからシグナリングされる値であり得る。また、MIN_COMB_PU_WIDTH、MIN_COMB_PU_HEIGHT、MAX_COMB_PU_WIDTH及びMAX_COMB_PU_HEIGHTの値は、圧縮技術で支援する最小/最大ブロックサイズ内の範囲の値を有することができる。
【0301】
条件3.上位レベル(SPS、PPS、PH、SHなど)において本開示によって提案される方法を支援するか否か
【0302】
本開示によって提案される方法の支援如何が、上位レベルからシグナリングされるシンタックス要素(comb_subpu_enable_flag)によって定義でき、comb_subpu_enable_flag=1である場合に条件3が満足できる。
【0303】
条件4.上位レベル(SPS、PPS、PH、SHなど)で特定予測方向のMVDシグナリングを支援するか否か
【0304】
特定予測方向のMVDシグナリング如何が、上位レベルからシグナリングされるシンタックス要素(ph_mvd_l1_zero_flag)によって定義でき、ph_mvd_l1_zero_flag=0(MVDがシグナリングされる)である場合に条件4が満足できる。
【0305】
実施例5
【0306】
実施例5は、各予測方向に対してMVDを適応的にシグナリングする方法に対する実施例である。
【0307】
従来のAMVPモードでは、予測候補のインデックス(mvp_lx_flag)、参照ピクチャのインデックス(ref_idx_lx)及び動き情報のオフセット(MvdLx、mvdCpLX)がビットストリームに符号化されてシグナリングされることができる。現在ブロックの特定方向の予測タイプがsub PU予測タイプ(例えば、affine)である場合、各control point(CP)のMVD、すなわち、mvdCpLXが少なくとも2つ以上シグナリングされることができる。よって、シグナリングされる情報のビット量がnon-sub PU予測タイプ(例えば、non-affine)に比べて多くの短所を有することができる。さらに、従来の方法では、各予測方向別に互いに同じ予測タイプを適用するので、双方向予測の場合にシグナリングされる情報の量がさらに増加することができる。
【0308】
本開示によって提案される方法は、各予測方向別に互いに異なる予測タイプ(sub PU予測タイプとnon-sub PU予測タイプ)を適用するので、双方向予測の場合にシグナリングされるビットの量を低減させることができ、これにより圧縮効率を向上させることができる。
【0309】
図21は、実施例5に係る画像符号化方法を示すフローチャートである。
【0310】
図21を参照すると、画像符号化装置100は、現在ブロックの各予測方向に適用される互いに異なる予測タイプを決定することができる(S2100)。例えば、画像符号化装置100は、L0方向の予測タイプをsub PU予測タイプと決定し、L1方向の予測タイプをnon-sub PU予測タイプと決定することができる。他の例として、画像符号化装置100は、L0方向の予測タイプをnon-sub PU予測タイプと決定し、L1方向の予測タイプをsub PU予測タイプと決定することができる。予測タイプの決定に対する情報は、第2情報(inter_mixed_pu_l0_flag)に符号化されてシグナリングされることができる。
【0311】
画像符号化装置100は、各予測方向に適用されるパラメータモデルを決定することができる。パラメータモデルは、Translational motion model、4-パラメータモデル(例えば、4-parameter affine motion model)と6-パラメータモデル(例えば、6-parameter affine motion model)を含むことができる。パラメータモデルに対する情報は、第3情報(cu_subpu_type_flag)に符号化されてシグナリングされることができる。
【0312】
画像符号化装置100は、各予測方向に適用された予測タイプを判断し(S2120)、当該判断に基づいて各予測方向に対するMVDをシグナリングすることができる(S2130、S2140)。例えば、L0方向がnon-sub PU予測タイプが適用され、L1方向にsub PU予測タイプが適用された場合、L0方向に対して一つのMVDが符号化されることができ、L1方向に対しては複数個のMVDが符号化されることができる。ここで、sub PU予測タイプが適用された予測方向に対して符号化されるMVDの個数は、S2110過程を介して決定されたパラメータモデルに基づいて決定されることができる。
【0313】
図22は、実施例5に係る画像復号化方法を示すフローチャートである。
【0314】
図22を参照すると、画像復号化装置200は、シグナリングされた第2情報(inter_mixed_pu_l0_flag)と第3情報(cu_subpu_type_flag)に基づいて、各予測方向のパラメータモデル(MotionModelIdc[lX][x][y])を誘導することができる(S2200)。ここで、MotionModelIdc[lx][x][y]は、コーディングユニットの動きモデル(パラメータモデル)を示す変数であって、lxは、参照ピクチャリスト方向(予測方向)を示すことができる。
【0315】
MotionModelIdc[lx][x][y]は、次のように誘導されることができる。
【0316】
-general_merge_flag=1であれば、MotionModelIdc[lx][x][y]=merge_subblock_flag[x0][y0] for lx=0、1
【0317】
-そうではなく(general_merge_flag=0)、
【0318】
-inter_mixed_pu_flag=1であれば、
【0319】
MotionModelIdc[0][x][y]=inter_mixed_pu_l0_flag[x0][y0]?
cu_subpu_type_flag[x0][y0]+1:0
【0320】
MotionModelIdc[1][x][y]=inter_mixed_pu_l0_flag[x0][y0]?0:
cu_subpu_type_flag[x0][y0]+1
【0321】
-inter_mixed_pu_flag=1であれば、
【0322】
MotionModelIdc[lx][x][y]=inter_affine_flag[x0][y0]+cu_affine_type_flag[x0][y0] for lx=0,1
【0323】
MotionModelIdc[lx][x][y]が示すパラメータモデルは、表18の通りである。
【0324】
【表18】
【0325】
各予測方向には、互いに異なる予測タイプが適用されるので、MotionModelIdcは、各予測方向別に互いに異なる値を示すことができる。また、inter_mixed_pu_flag=1である場合に提案する方法が適用されるので、各予測方向を定義するために、MotionModelIdcの一番目の配列が各予測方向を示すように定義されることができる。
【0326】
画像復号化装置200は、各予測方向別にmvd_codingを行ってMVDを各予測方向別に取得することができる(S2210~S2250)。
【0327】
具体的に、画像復号化装置200は、mvd_codingを行って一番目のMVDを取得することができ(S2210)、MotionModelIdcの値を確認することができる(S2220)。MotionModelIdcの値が4-パラメータモデル又は6-パラメータモデルを示す場合( MotionModelIdc>0)、画像復号化装置200は、mvd_codingを追加的に行って2番目のMVDを取得することができる(S2230)。これとは異なり、MotionModelIdc=0である場合には、追加的なmvd_codingが行われなくてもよい。
【0328】
画像復号化装置200は、MotionModelIdcの値を追加的に確認することができる(S2240)。その結果、MotionModelIdcの値が6-パラメータモデルを示す場合(MotionModelIdc>1)、画像復号化装置200は、mvd_codingを追加的に行って3番目のMVDを取得することができる(S2250)。これとは異なり、MotionModelIdc=1である場合には、追加的なmvd_codingが行われなくてもよい。
【0329】
MVDの適応的な符号化及び取得について上述した方法をシンタックス構造で表現すれば、表19の通りである。
【0330】
【表19】
【0331】
表19のmvd_coding(x0、y0、lx、n)において、lxは予測方向を示し、nはmvd_codingが行われる回数を示すことができる。
【0332】
画像復号化装置200は、少なくとも一つの双方向動き情報候補のうちのいずれかと、各予測方向に対して取得されたMVDに基づいて、現在ブロックの双方向動き情報を誘導することができる。また、画像復号化装置は、誘導された双方向動き情報に基づいて双方向予測を行うことができる。
【0333】
適応的にシグナリングされたMVDを用いて現在ブロックを互いに異なる予測タイプで双方向予測する一例が、図23に示されている。図23において、L0方向は、sub PU予測タイプであるので、複数個のMVD(例えば、CPの個数だけ)がシグナリングされ、L1方向は、non-sub予測タイプであるので、単一のMVDがシグナリングされることができる。
【0334】
実施例6
【0335】
実施例6は、参照ブロックの多様な位置に対する実施例である。
【0336】
図24は、動き情報をより詳細に誘導することができる参照ブロックの多様な位置を説明するための図である。図24に例示されているように、参照ブロックは、現在ブロック(Current block)に隣接するブロックと、現在ブロックに隣接しないブロックと、を含むことができる。
【0337】
従って、画像符号化装置100と画像復号化装置200は、現在ブロックに隣接するブロックの動き情報だけではなく、現在ブロックに隣接しないブロックの動き情報も参照することができ、これにより、現在ブロックの動き情報をより詳細に誘導することができる。
【0338】
図25は、本開示による実施例が適用できるコンテンツストリーミングシステムを例示的に示す図である。
【0339】
図25に示すように、本開示の実施例が適用されたコンテンツストリーミングシステムは、大きく、符号化サーバ、ストリーミングサーバ、Webサーバ、メディアストレージ、ユーザ装置及びマルチメディア入力装置を含むことができる。
【0340】
前記符号化サーバは、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置から入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これを前記ストリーミングサーバに伝送する役割を果たす。他の例として、スマートフォン、カメラ、ビデオカメラなどのマルチメディア入力装置がビットストリームを直接生成する場合、前記符号化サーバは省略できる。
【0341】
前記ビットストリームは、本開示の実施例が適用された画像符号化方法及び/又は画像符号化装置によって生成でき、前記ストリーミングサーバは、前記ビットストリームを伝送又は受信する過程で一時的に前記ビットストリームを保存することができる。
【0342】
前記ストリーミングサーバは、Webサーバを介してユーザの要求に基づいてマルチメディアデータをユーザ装置に伝送し、前記Webサーバは、ユーザにどんなサービスがあるかを知らせる媒介体の役割を果たすことができる。ユーザが前記Webサーバに所望のサービスを要求すると、前記Webサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを伝送することができる。この時、前記コンテンツストリーミングシステムは、別途の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割を果たすことができる。
【0343】
前記ストリーミングサーバは、メディアストレージ及び/又は符号化サーバからコンテンツを受信することができる。例えば、前記符号化サーバからコンテンツを受信する場合、前記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間保存することができる。
【0344】
前記ユーザ装置の例としては、携帯電話、スマートフォン(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、デスクトップコンピュータ、デジタルサイネージなどがあり得る。
【0345】
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営されることができ、この場合、各サーバから受信するデータは、分散処理されることができる。
【0346】
本開示の範囲は、様々な実施例の方法による動作が装置又はコンピュータ上で実行されるようにするソフトウェア又はマシン-実行可能なコマンド(例えば、オペレーティングシステム、アプリケーション、ファームウェア(firmware)、プログラムなど)、及びこのようなソフトウェア又はコマンドなどが保存されて装置又はコンピュータ上で実行できる非一時的なコンピュータ可読媒体(non-transitory computer-readable medium)を含む。
【産業上の利用可能性】
【0347】
本開示による実施例は、画像を符号化/復号化することに利用可能である。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12(a)】
図12(b)】
図13(a)】
図13(b)】
図14(a)】
図14(b)】
図14(c)】
図15(a)】
図15(b)】
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25