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

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

2022-515992イントラ予測基盤の画像符号化/復号化方法及び装置
<>
  • -イントラ予測基盤の画像符号化/復号化方法及び装置 図1
  • -イントラ予測基盤の画像符号化/復号化方法及び装置 図2
  • -イントラ予測基盤の画像符号化/復号化方法及び装置 図3
  • -イントラ予測基盤の画像符号化/復号化方法及び装置 図4
  • -イントラ予測基盤の画像符号化/復号化方法及び装置 図5
  • -イントラ予測基盤の画像符号化/復号化方法及び装置 図6
  • -イントラ予測基盤の画像符号化/復号化方法及び装置 図7
  • -イントラ予測基盤の画像符号化/復号化方法及び装置 図8
  • -イントラ予測基盤の画像符号化/復号化方法及び装置 図9
  • -イントラ予測基盤の画像符号化/復号化方法及び装置 図10
  • -イントラ予測基盤の画像符号化/復号化方法及び装置 図11
  • -イントラ予測基盤の画像符号化/復号化方法及び装置 図12
  • -イントラ予測基盤の画像符号化/復号化方法及び装置 図13
  • -イントラ予測基盤の画像符号化/復号化方法及び装置 図14
  • -イントラ予測基盤の画像符号化/復号化方法及び装置 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-02-24
(54)【発明の名称】イントラ予測基盤の画像符号化/復号化方法及び装置
(51)【国際特許分類】
   H04N 19/593 20140101AFI20220216BHJP
   H04N 19/11 20140101ALI20220216BHJP
   H04N 19/136 20140101ALI20220216BHJP
   H04N 19/176 20140101ALI20220216BHJP
【FI】
H04N19/593
H04N19/11
H04N19/136
H04N19/176
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021533307
(86)(22)【出願日】2019-12-30
(85)【翻訳文提出日】2021-06-10
(86)【国際出願番号】 KR2019018740
(87)【国際公開番号】W WO2020139060
(87)【国際公開日】2020-07-02
(31)【優先権主張番号】10-2018-0173164
(32)【優先日】2018-12-28
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2018-0173228
(32)【優先日】2018-12-29
(33)【優先権主張国・地域又は機関】KR
(81)【指定国・地域】
(71)【出願人】
【識別番号】521096049
【氏名又は名称】ビー1、インスティテュート、オブ、イメージ、テクノロジー、インコーポレイテッド
【氏名又は名称原語表記】B1 INSTITUTE OF IMAGE TECHNOLOGY, INC.
(74)【代理人】
【識別番号】100091487
【弁理士】
【氏名又は名称】中村 行孝
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100118843
【弁理士】
【氏名又は名称】赤岡 明
(74)【代理人】
【識別番号】100217940
【弁理士】
【氏名又は名称】三並 大悟
(72)【発明者】
【氏名】キム、ギベク
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159TA32
5C159TA33
5C159TB08
5C159TC02
5C159TC42
(57)【要約】
本発明に係る画像符号化/復号化方法及び装置は、現在ブロックのイントラ予測のための参照領域を決定し、現在ブロックのイントラ予測モードを誘導し、参照領域とイントラ予測モードに基づいて現在ブロックを復号化することができる。
【特許請求の範囲】
【請求項1】
現在ブロックのイントラ予測のための参照領域を決定するステップと、
前記現在ブロックのイントラ予測モードを誘導するステップと、
前記参照領域と前記イントラ予測モードに基づいて、前記現在ブロックを復号化するステップと、を含み、
復号化装置に既に定義されたイントラ予測モードは、MPM候補群とNon-MPM候補群に区分され、
前記MPM候補群は、第1候補グループ又は第2候補グループのうちの少なくとも一つを含み、
前記現在ブロックのイントラ予測モードは、前記第1候補グループ又は前記第2候補グループのうちのいずれか一つから誘導される、画像復号化方法。
【請求項2】
前記第1候補グループは、前記復号化装置に既に定義されたデフォルトモードで構成され、
前記第2候補グループは、複数のMPM候補で構成される、請求項1に記載の画像復号化方法。
【請求項3】
前記デフォルトモードは、Planarモード、DCモード、垂直モード、水平モード、垂直モード又は対角モードのうちの少なくとも一つである、請求項2に記載の画像復号化方法。
【請求項4】
前記複数のMPM候補は、周辺ブロックのイントラ予測モード、前記周辺ブロックのイントラ予測モードからn値を減算して取得されたモード、又は前記周辺ブロックのイントラ予測モードにn値を加算して取得されたモードのうちの少なくとも一つを含み、
nは1、2又はそれ以上の自然数を意味する、請求項2に記載の画像復号化方法。
【請求項5】
前記複数のMPM候補は、DCモード、垂直モード、水平モード、前記垂直モードに対してm値を減算又は加算して取得されたモード、又は前記水平モードに対してm値を減算又は加算して取得されたモードのうちの少なくとも一つを含み、
mは1、2、3、4又はそれ以上の自然数である、請求項2に記載の画像復号化方法。
【請求項6】
符号化装置でシグナリングされるフラグに基づいて、前記第1候補グループ又は前記第2候補グループのうちのいずれか一つが選択される、請求項1に記載の画像復号化方法。
【請求項7】
前記誘導されたイントラ予測モードは、前記誘導されたイントラ予測モードに所定のオフセットを適用して変更され、
前記オフセットの適用は、前記現在ブロックの大きさ、形状、分割情報、イントラ予測モードの値又は成分タイプのうちの少なくとも一つに基づいて選択的に行われる、請求項1に記載の画像復号化方法。
【請求項8】
前記参照領域を決定するステップは、
前記参照領域に属する利用不可画素を探索するステップと、
前記利用不可画素を利用可能画素で代替するステップと、を含む、請求項1に記載の画像復号化方法。
【請求項9】
前記利用可能画素は、ビット深度値に基づいて決定されるか、或いは前記利用不可画素の左側、右側、上端又は下端のうちの少なくとも一つに隣接する画素である、請求項8に記載の画像復号化方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像符号化/復号化方法及び装置に関する。
【背景技術】
【0002】
最近、高解像度・高品質の画像、例えばHD(High Definition)画像やUHD(Ultra High Definition)画像などに対する需要が様々な応用分野で増加しており、これにより高効率の画像圧縮技術が議論されている。
【0003】
画像圧縮技術として、現在ピクチャの以前又は以後ピクチャから現在ピクチャに含まれている画素値を予測するインター予測技術、現在ピクチャ内の画素情報を用いて、現在ピクチャに含まれている画素値を予測するイントラ予測技術、出現頻度の高い値に短い符号を割り当て、出現頻度の低い値に長い符号を割り当てるエントロピー符号化技術などの様々な技術が存在し、これらの画像圧縮技術を利用して画像データを効果的に圧縮して伝送又は格納することができる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、効率的なブロック分割方法及び装置を提供することを目的とする。
【0005】
本発明は、イントラ予測モード誘導方法及び装置を提供することを目的とする。
【0006】
本発明は、イントラ予測のための参照領域を決定する方法及び装置を提供することを目的とする。
【0007】
本発明は、成分のタイプによるイントラ予測方法及び装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の画像符号化/復号化方法及び装置は、現在ブロックのイントラ予測のための参照領域を決定し、前記現在ブロックのイントラ予測モードを誘導し、前記参照領域と前記イントラ予測モードに基づいて、前記現在ブロックを復号化することができる。
【0009】
本発明の画像符号化/復号化方法及び装置において、符号化/復号化装置に既に定義されたイントラ予測モードは、MPM候補群とNon-MPM候補群に区分され、前記MPM候補群は、第1候補グループ又は第2候補グループのうちの少なくとも一つを含むことができる。
【0010】
本発明の画像符号化/復号化方法及び装置において、前記現在ブロックのイントラ予測モードは、前記第1候補グループ又は前記第2候補グループのうちのいずれか一つから誘導できる。
【0011】
本発明の画像符号化/復号化方法及び装置において、前記第1候補グループは、前記復号化装置に既に定義されたデフォルトモードで構成され、前記第2候補グループは、複数のMPM候補で構成されることができる。
【0012】
本発明の画像符号化/復号化方法及び装置において、前記デフォルトモードは、Planarモード、DCモード、垂直モード、水平モード、垂直モード又は対角モードのうちの少なくとも一つであることができる。
【0013】
本発明の画像符号化/復号化方法及び装置において、前記複数のMPM候補は、周辺ブロックのイントラ予測モード、前記周辺ブロックのイントラ予測モードからn値を減算して取得されたモード、又は前記周辺ブロックのイントラ予測モードにn値を加算して取得されたモードのうちの少なくとも一つを含み、nは1、2又はそれ以上の自然数を意味することができる。
【0014】
本発明の画像符号化/復号化方法及び装置において、前記複数のMPM候補は、DCモード、垂直モード、水平モード、前記垂直モードに対してm値を減算又は加算して取得されたモード、又は前記水平モードに対してm値を減算又は加算して取得されたモードのうちの少なくとも一つを含み、mは1、2、3、4又はそれ以上の自然数であることができる。
【0015】
本発明の画像符号化/復号化方法及び装置において、符号化装置は、現在ブロックのイントラ予測モードが属する候補グループを決定し、前記候補グループを識別するフラグを符号化し、復号化装置は、符号化装置でシグナリングされるフラグに基づいて前記第1候補グループ又は前記第2候補グループのうちのいずれか一つを選択することができる。
【0016】
本発明の画像符号化/復号化方法及び装置において、前記誘導されたイントラ予測モードは、前記誘導されたイントラ予測モードに所定のオフセットを適用して変更できる。
【0017】
本発明の画像符号化/復号化方法及び装置において、前記オフセットの適用は、前記現在ブロックの大きさ、形状、分割情報、イントラ予測モードの値又は成分タイプのうちの少なくとも一つに基づいて選択的に行われ得る。
【0018】
本発明の画像符号化/復号化方法及び装置において、前記参照領域を決定するステップは、前記参照領域に属する利用不可画素を探索するステップと、前記利用不可画素を利用可能画素で代替するステップと、を含むことができる。
【0019】
本発明の画像符号化/復号化方法及び装置において、前記利用可能画素は、ビット深度値に基づいて決定されるか、或いは前記利用不可画素の左側、右側、上端又は下端のうちの少なくとも一つに隣接する画素であることができる。
【発明の効果】
【0020】
本発明は、適応的なブロック分割によってイントラ予測符号化/復号化の効率を向上させることができる。
【0021】
本発明によれば、MPM候補群に基づくイントラ予測モードの誘導を介してより正確かつ効率的に予測を行うことができる。
【0022】
本発明によれば、色差ブロックの場合、成分間参照基盤の予測モードを別のグループとして定義することにより、色差ブロックのイントラ予測モードの誘導をより効率よく行うことができる。
【0023】
本発明によれば、イントラ予測のための参照領域の利用不可画素を所定の利用可能画素で代替することにより、イントラ予測の精度と効率を向上させることができる。
【0024】
本発明によれば、成分間参照に基づいて画面間予測の効率を向上させることができる。
【図面の簡単な説明】
【0025】
図1】本発明の一実施形態による画像符号化装置を示すブロック図である。
図2】本発明の一実施形態による画像復号化装置を示すブロック図である。
図3】本発明が適用される一実施形態として、ピクチャを複数のフラグメント領域に分割する方法を示す図である。
図4】本発明が適用される一実施形態として、画像符号化/復号化装置に既に定義されたイントラ予測モードを示す例示図である。
図5】本発明が適用される一実施形態として、イントラ予測に基づいて現在ブロックを復号化する方法を示す図である。
図6】本発明が適用される一実施形態として、参照領域の利用不可画素を代替する方法を示す図である。
図7】本発明が適用される一実施形態として、イントラ予測モードを変更/補正する方法を示す図である。
図8】本発明が適用される一実施形態として、成分間参照に基づく予測方法を示す図である。
図9】本発明が適用される一実施形態として、参照領域を構成する方法を示す図である。
図10】本発明が適用される一実施形態として、ステップ別にイントラ予測モードセットを構成する例示図である。
図11】本発明が適用される一実施形態として、イントラ予測モードを複数の候補群に分類する方法を示す図である。
図12】本発明が適用される一実施形態として、現在ブロックとそれに隣接する画素を示す例示図である。
図13】本発明が適用される一実施形態として、イントラ予測をステップ別に行う方法を示す図である。
図14】本発明が適用される一実施形態として、イントラ予測のための任意の画素に対する例示図である。
図15】本発明が適用される一実施形態として、任意の画素に基づいて複数のサブ領域に区画される例示図である。
【発明を実施するための形態】
【0026】
本発明の画像符号化/復号化方法及び装置は、現在ブロックのイントラ予測のための参照領域を決定し、前記現在ブロックのイントラ予測モードを誘導し、前記参照領域と前記イントラ予測モードに基づいて、前記現在ブロックを復号化することができる。
【0027】
本発明の画像符号化/復号化方法及び装置において、符号化/復号化装置に既に定義されたイントラ予測モードは、MPM候補群とNon-MPM候補群に区分され、前記MPM候補群は、第1候補グループ又は第2候補グループのうちの少なくとも一つを含むことができる。
【0028】
本発明の画像符号化/復号化方法及び装置において、前記現在ブロックのイントラ予測モードは、前記第1候補グループ又は前記第2候補グループのうちのいずれか一つから誘導できる。
【0029】
本発明の画像符号化/復号化方法及び装置において、前記第1候補グループは、前記復号化装置に既に定義されたデフォルトモードで構成され、前記第2候補グループは、複数のMPM候補で構成されることができる。
【0030】
本発明の画像符号化/復号化方法及び装置において、前記デフォルトモードは、Planarモード、DCモード、垂直モード、水平モード、垂直モード又は対角モードのうちの少なくとも一つであることができる。
【0031】
本発明の画像符号化/復号化方法及び装置において、前記複数のMPM候補は、周辺ブロックのイントラ予測モード、前記周辺ブロックのイントラ予測モードからn値を減算して取得されたモード、又は前記周辺ブロックのイントラ予測モードにn値を加算して取得されたモードのうちの少なくとも一つを含み、nは1、2又はそれ以上の自然数を意味することができる。
【0032】
本発明の画像符号化/復号化方法及び装置において、前記複数のMPM候補は、DCモード、垂直モード、水平モード、前記垂直モードに対してm値を減算又は加算して取得されたモード、又は前記水平モードに対してm値を減算又は加算して取得されたモードのうちの少なくとも一つを含み、mは1、2、3、4又はそれ以上の自然数であることができる。
【0033】
本発明の画像符号化/復号化方法及び装置において、符号化装置は、現在ブロックのイントラ予測モードが属する候補グループを決定し、前記候補グループを識別するフラグを符号化し、復号化装置は、符号化装置でシグナリングされるフラグに基づいて前記第1候補グループ又は前記第2候補グループのうちのいずれか一つを選択することができる。
【0034】
本発明の画像符号化/復号化方法及び装置において、前記誘導されたイントラ予測モードは、前記誘導されたイントラ予測モードに所定のオフセットを適用して変更できる。
【0035】
本発明の画像符号化/復号化方法及び装置において、前記オフセットの適用は、前記現在ブロックの大きさ、形状、分割情報、イントラ予測モードの値又は成分タイプのうちの少なくとも一つに基づいて選択的に行われ得る。
【0036】
本発明の画像符号化/復号化方法及び装置において、前記参照領域を決定するステップは、前記参照領域に属する利用不可画素を探索するステップと、前記利用不可画素を利用可能画素で代替するステップを含むことができる。
【0037】
本発明の画像符号化/復号化方法及び装置において、前記利用可能画素は、ビット深度値に基づいて決定されるか、或いは前記利用不可画素の左側、右側、上端又は下端のうちの少なくとも一つに隣接する画素であることができる。
[発明の実施のための形態]
【0038】
本発明は、様々な変更を加えることができ、様々な実施形態を有することができるので、特定の実施形態を図面に例示し、詳細な説明に詳細に説明する。ところが、これは本発明を特定の実施形態について限定するものではなく、本発明の思想及び技術範囲に含まれるすべての変更、均等物乃至代替物を含むものと理解されるべきである。各図面を説明しながら、同様の参照符号を同様の構成要素に対して使用した。
【0039】
用語「第1」、「第2」などは多様な構成要素の説明に使用できるが、これらの構成要素は上記の用語によって限定されてはならない。これらの用語は、一つの構成要素を他の構成要素から区別する目的にのみ使われる。例えば、本発明の権利範囲から外れることなく、第1構成要素は第2構成要素と命名することができ、これと同様に、第2構成要素も第1構成要素と命名することができる。用語「及び/又は」は、複数の関連した記載項目の組み合わせ又は複数の関連した記載項目のいずれかを含む。
【0040】
ある構成要素が他の構成要素に「連結されて」いる或いは「接続されて」いるとした場合には、その他の構成要素に直接連結されている或いは接続されていることもあるが、それらの間に別の構成要素が介在することもあると理解されるべきである。これに対し、ある構成要素が他の構成要素に「直接連結されて」いる或いは「直接接続されて」いるとした場合には、それらの間に別の構成要素が介在しないと理解されるべきである。
【0041】
本発明で使用した用語は、単に特定の実施形態を説明するために使われたものであり、本発明を限定するものではない。単数の表現は、文脈上明白に異なる意味ではない限り、複数の表現を含む。本発明において、「含む」又は「有する」などの用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品又はこれらの組み合わせが存在することを指定するものであり、一つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品又はこれらの組み合わせの存在又は付加可能性を予め排除しないと理解されるべきである。
【0042】
以下、添付図面を参照して、本発明の好適な実施形態をより詳細に説明する。図面上の同一の構成要素については同一の参照符号を使用し、同一の構成要素についての重複説明は省略する。
【0043】
図1は本発明の一実施形態に係る画像符号化装置を示すブロック図である。
【0044】
図1を参照すると、画像符号化装置100は、ピクチャ分割部110、予測部120、125、変換部130、量子化部135、再整列部160、エントロピー符号化部165、逆量子化部140、逆変換部145、フィルタ150及びメモリ155を含むことができる。
【0045】
図1に示された各構成部は、画像符号化装置で互いに異なる特徴的な機能を示すために独立して図示したものであって、各構成部が分離されたハードウェア又は一つのソフトウェア構成単位からなることを意味しない。すなわち、各構成部は、説明の便宜上、それぞれの構成部として羅列して含むものであり、各構成部のうちの少なくとも二つの構成部が組み合わせられて一つの構成部をなすか、或いは一つの構成部が複数の構成部に分けられて機能を行うことができ、このような各構成部の統合された実施形態及び分離された実施形態も、本発明の本質から外れない限り、本発明の権利範囲に含まれる。
【0046】
また、一部の構成要素は、本発明において本質的な機能を行う不可欠の構成要素ではなく、単に性能を向上させるための選択的構成要素であり得る。本発明は、単に性能向上のために使用される構成要素を除く、本発明の本質の実現に必要不可欠な構成部のみを含んで実現でき、単に性能向上のために使用される選択的構成要素を除く必須構成要素のみを含む構造も本発明の権利範囲に含まれる。
【0047】
ピクチャ分割部110は、入力されたピクチャを少なくとも一つの処理単位に分割することができる。このとき、処理単位は、予測単位(Prediction Unit:PU)であってもよく、変換単位(Transform Unit:TU)であってもよく、符号化単位(Coding Unit:CU)であってもよい。ピクチャ分割部110では、一つのピクチャに対して複数の符号化単位、予測単位及び変換単位の組み合わせに分割し、所定の基準(例えば、費用関数)として一つの符号化単位、予測単位及び変換単位の組み合わせを選択してピクチャを符号化することができる。
【0048】
例えば、一つのピクチャは複数の符号化単位に分割できる。ピクチャから符号化単位を分割するためには、四分木構造(Quad Tree Structure)などの再帰的なツリー構造を使用することができるが、一つの画像又は最大大きさの符号化単位(largest coding unit)又は符号化ツリー単位(Coding Tree Unit、CTU)をルートにして他の符号化単位に分割される符号化単位は、分割された符号化単位の個数だけの子ノードをもって分割され得る。一定の制限に応じてそれ以上分割されない符号化ユニットは、リーフノードとなる。つまり、一つの符号化単位に対して正方形分割のみが可能であると仮定した場合、一つの符号化単位は、最大4つの異なる符号化単位に分割され得る。
【0049】
以下、本発明の実施形態では、符号化単位は、符号化を行う単位の意味で使用することもあり、復号化を行う単位の意味で使用することもある。
【0050】
予測単位は、一つの符号化単位内で同じ大きさの少なくとも一つの正方形又は長方形などの形状をもって分割されたものであってもよく、一つの符号化単位内で分割された予測単位のうちのいずれかがもう一つの予測単位とは異なる形状及び/又は大きさを有するように分割されたものであってもよい。
【0051】
符号化単位を基礎としてイントラ予測を行う予測単位を生成するときに最小符号化単位ではない場合、複数の予測単位N×Nに分割せずにイントラ予測を行うことができる。
【0052】
予測部120、125は、インター予測を行うインター予測部120と、イントラ予測を行うイントラ予測部125とを含むことができる。予測単位に対してインター予測を使用するか或いはイントラ予測を行うかを決定し、各予測方法による具体的な情報(例えば、イントラ予測モード、動きベクトル、参照ピクチャなど)を決定することができる。このとき、予測が行われる処理単位と、予測方法及び具体的な内容が定められる処理単位とは互いに異なり得る。例えば、予測方法と予測モードなどは予測単位で決定され、予測の実行は変換単位で行われてもよい。 生成された予測ブロックと原本ブロックとの残差値(残差ブロック)は、変換部130に入力できる。また、予測のために使用した予測モード情報、動きベクトル情報などは、残差値と一緒にエントロピー符号化部165で符号化されて復号化器に伝達され得る。特定の符号化モードを使用する場合、予測部120、125を介して予測ブロックを生成せずに、原本ブロックをそのまま符号化して復号化部に伝送することも可能である。
【0053】
インター予測部120は、現在ピクチャの以前ピクチャ又は以後ピクチャのうちの少なくとも一つのピクチャの情報に基づいて予測単位を予測することもでき、場合によっては、現在ピクチャ内の符号化が完了した一部領域の情報に基づいて予測単位を予測することもできる。インター予測部120は、参照ピクチャ補間部、動き予測部、動き補償部を含むことができる。
【0054】
参照ピクチャ補間部では、メモリ155から参照ピクチャ情報の提供を受け、参照ピクチャで整数画素以下の画素情報を生成することができる。輝度画素の場合、1/4画素単位で整数画素以下の画素情報を生成するためにフィルタ係数を異にするDCTベースの8タップ補間フィルタ(DCT-based Interpolation Filter)が使用できる。色差信号の場合、1/8画素単位で整数画素以下の画素情報を生成するためにフィルタ係数を異にするDCTベースの4タップ補間フィルタ(DCT-based Interpolation Filter)が使用できる。
【0055】
動き予測部は、参照ピクチャ補間部によって補間された参照ピクチャに基づいて動き予測を行うことができる。動きベクトルを算出するための方法として、FBMA(Full search-based Block Matching Algorithm)、TSS(Three Step Search)、NTS(New Three-Step Search Algorithm)などの様々な方法が使用できる。動きベクトルは、補間された画素に基づいて1/2又は1/4画素単位の動きベクトル値を持つことができる。動き予測部では、動き予測方法を異にして現在予測単位を予測することができる。動き予測方法として、スキップ(Skip)方法、マージ(Merge)方法、AMVP(Advanced Motion Vector Prediction)方法、イントラーブロックコピー(Intra Block Copy)方法などの様々な方法が使用できる。
【0056】
イントラ予測部125は、現在ピクチャ内の画素情報である現在ブロック周辺の参照画素情報に基づいて予測単位を生成することができる。現在予測単位の周辺ブロックがインター予測を行ったブロックであって、参照画素がインター予測を行った画素である場合、インター予測を行ったブロックに含まれる参照画素を、周辺のイントラ予測を行ったブロックの参照画素情報で代替して使用することができる。つまり、参照画素が利用可能でない場合は、利用可能でない参照画素情報を、利用可能な参照画素のうちの少なくとも一つの参照画素で代替して使用することができる。
【0057】
イントラ予測における予測モードは、参照画素情報を予測方向に応じて使用する方向性予測モードと、予測の実行時に方向性情報を使用しない非方向性モードとを有することができる。輝度情報を予測するためのモードと色差情報を予測するためのモードとが互いに異なることができ、色差情報を予測するために、輝度情報を予測するために使用されたイントラ予測モード情報又は予測された輝度信号情報を活用することができる。
【0058】
イントラ予測を行う際に予測単位の大きさと変換単位の大きさとが同じである場合には、予測単位の左側に存在する画素、左上端に存在する画素、上端に存在する画素に基づいて予測単位に対するイントラ予測を行うことができる。しかし、イントラ予測を行う際に予測単位の大きさと変換ユニットの大きさとが互いに異なる場合には、変換単位を基礎とした参照画素を用いてイントラ予測を行うことができる。また、最小符号化単位に対してのみN×N分割を使用するイントラ予測を使用することができる。
【0059】
イントラ予測方法は、予測モードに応じて参照画素にAIS(Adaptive Intra Smoothing)フィルタを適用した後、予測ブロックを生成することができる。参照画素に適用されるAISフィルタの種類は互いに異なることができる。イントラ予測方法を行うために、現在予測単位のイントラ予測モードは、現在予測単位の周辺に存在する予測単位のイントラ予測モードから予測することができる。周辺予測単位から予測されたモード情報を用いて現在予測単位の予測モードを予測する場合、現在予測単位と周辺予測単位のイントラ予測モードが同一であれば、所定のフラグ情報を用いて、現在予測単位と周辺予測単位の予測モードが同一であるという情報を伝送することができ、もし現在予測単位と周辺予測単位の予測モードが互いに異なれば、エントロピー符号化を行って現在ブロックの予測モード情報を符号化することができる。
【0060】
また、予測部120、125で生成された予測単位に基づいて予測を行った予測ブロックと予測単位の原本ブロックとの差異値である残差値(Residual)情報を含む残差ブロックが生成できる。生成された残差ブロックは、変換部130に入力できる。
【0061】
変換部130では、原本ブロックと予測部120、125を介して生成された予測単位の残差値(residual)情報を含む残差ブロックをDCT(Discrete Cosine Transform)、DST(Discrete Sine Transform)、KLTなどの変換方法を用いて変換させることができる。残差ブロックを変換するためにDCTを適用するか、DSTを適用するか、或いはKLTを適用するかは、残差ブロックを生成するために使用された予測単位のイントラ予測モード情報に基づいて決定することができる。
【0062】
量子化部135は、変換部130で周波数領域に変換された値を量子化することができる。ブロックに応じて又は画像の重要度に応じて、量子化係数は変わり得る。量子化部135で算出された値は、逆量子化部140と再整列部160に提供できる。
【0063】
再整列部160は、量子化された残差値に対して係数値の再整列を行うことができる。
【0064】
再整列部160は、係数スキャニング(Coefficient Scanning)方法によって2次元のブロック形態係数を1次元のベクトル形態に変更することができる。例えば、再整列部160では、ジグザグスキャン(Zig-Zag Scan)方法を用いてDC係数から高周波数領域の係数までスキャンして1次元のベクトル形態に変更することができる。変換単位の大きさ及びイントラ予測モードに応じて、ジグザグスキャンの代わりに、2次元のブロック形態係数を列方向にスキャンする垂直スキャン、2次元のブロック形態係数を行方向にスキャンする水平スキャンが使用されてもよい。つまり、変換単位の大きさ及びイントラ予測モードに応じて、ジグザグスキャン、垂直方向スキャン及び水平方向スキャンのうち、どのスキャン方法が使用されるかを決定することができる。
【0065】
エントロピー符号化部165は、再整列部160によって算出された値に基づいてエントロピー符号化を行うことができる。エントロピー符号化は、例えば、指数ゴロム(Exponential Golomb)、CAVLC(Context-Adaptive Variable Length Coding)、CABAC(Context-Adaptive Binary Arithmetic Coding)などのさまざまな符号化方法を使用することができる。
【0066】
エントロピー符号化部165は、再整列部160及び予測部120、125から符号化単位の残差値係数情報及びブロックタイプ情報、予測モード情報、分割単位情報、予測単位情報及び伝送単位情報、動きベクトル情報、参照フレーム情報、ブロックの補間情報、フィルタリング情報などの様々な情報を符号化することができる。
【0067】
エントロピー符号化部165では、再整列部160から入力された符号化単位の係数値をエントロピー符号化することができる。
【0068】
逆量子化部140及び逆変換部145では、量子化部135で量子化された値を逆量子化し、変換部130で変換された値を逆変換する。逆量子化部140及び逆変換部145で生成された残差値(Residual)は、予測部120、125に含まれている動き推定部、動き補償部及びイントラ予測部を介して予測された予測単位と合わせられて復元ブロック(Reconstructed Block)を生成することができる。
【0069】
フィルタ部150は、デブロッキングフィルタ、オフセット補正部及びALF(Adaptive Loop Filter)のうちの少なくとも一つを含むことができる。
【0070】
デブロッキングフィルタは、復元されたピクチャにおけるブロック間の境界により生じたブロック歪みを除去することができる。デブロッキングを行うか否かを判断するために、ブロックに含まれている幾つかの列又は行に含まれている画素に基づいて、現在ブロックにデブロッキングフィルタを適用するか否かを判断することができる。ブロックにデブロッキングフィルタを適用する場合、必要なデブロッキングフィルタリング強度に応じて強いフィルタ(Strong Filter)又は弱いフィルタ(Weak Filter)を適用することができる。また、デブロッキングフィルタを適用するにあたり、垂直フィルタリング及び水平フィルタリングを行う場合、水平方向のフィルタリング及び垂直方向のフィルタリングが並行処理されるようにすることができる。
【0071】
オフセット補正部は、デブロッキングを行った画像に対して画素単位で原本画像とのオフセットを補正することができる。特定のピクチャに対するオフセット補正を行うために、画像に含まれている画素を一定数の領域に区分した後、オフセットを行う領域を決定し、該当領域にオフセットを適用する方法、又は各画素のエッジ情報を考慮してオフセットを適用する方法を使用することができる。
【0072】
ALF(Adaptive Loop Filtering)は、フィルタリングした復元画像と原本画像とを比較した値に基づいて行われ得る。画像に含まれている画素を所定のグループに分けた後、該当グループに適用される一つのフィルタを決定し、グループごとに差別的にフィルタリングを行うことができる。ALFを適用するか否かに関連した情報は、輝度信号は符号化単位別に伝送でき、それぞれのブロックに応じて適用されるALFフィルタの形状及びフィルタ係数は変わり得る。また、適用対象ブロックの特性を問わずに、同じ形態(固定された形態)のALFフィルタが適用されてもよい。
【0073】
メモリ155は、フィルタ部150を介して算出された復元ブロック又はピクチャを格納することができ、格納された復元ブロック又はピクチャは、インター予測を行うときに予測部120、125に提供できる。
【0074】
図2は本発明の一実施形態による画像復号化装置を示すブロック図である。
【0075】
図2を参照すると、画像復号化器200は、エントロピー復号化部210、再整列部215、逆量子化部220、逆変換部225、予測部230、235、フィルタ部240、及びメモリ245を含むことができる。
【0076】
画像符号化器から画像ビットストリームが入力された場合、入力されたビットストリームは、画像符号化器と逆の手順で復号化できる。
【0077】
エントロピー復号化部210は、画像符号化器のエントロピー符号化部でエントロピー符号化を行ったのと逆の手順でエントロピー復号化を行うことができる。例えば、画像符号化器で行われた方法に対応して、指数ゴロム(Exponential Golomb)、CAVLC(Context-Adaptive Variable Length Coding)、CABAC(Context-Adaptive Binary Arithmetic Coding)などのさまざまな方法が適用できる。
【0078】
エントロピー復号化部210では、符号化器で行われたイントラ予測及びインター予測に関連した情報を復号化することができる。
【0079】
再整列部215は、エントロピー復号化部210でエントロピー復号化されたビットストリームを符号化部で再整列した方法に基づいて再整列を行うことができる。1次元のベクトル形態で表現された係数を再び2次元のブロック形態の係数に復元して再整列を行うことができる。再整列部215は、符号化部で行われた係数スキャニングに関連する情報の提供を受け、当該符号化部で行われたスキャニングの順序に基づいて逆にスキャニングする方法によって再整列を行うことができる。
【0080】
逆量子化部220は、符号化器から提供された量子化パラメータと再整列されたブロックの係数値に基づいて逆量子化を行うことができる。
【0081】
逆変換部225は、画像符号化器で行った量子化結果に対して変換部で行った変換、すなわち、DCT、DST及びKLTに対して逆変換、すなわち、逆DCT、逆DST及び逆KLTを行うことができる。逆変換は、画像符号化器で決定された伝送単位に基づいて行われ得る。画像復号化器の逆変換部225では、予測方法、現在ブロックの大きさ及び予測方向などの複数の情報に応じて変換技法(例えば、DCT、DST、KLT)が選択的に行われ得る。
【0082】
予測部230、235は、エントロピー復号化部210から提供された予測ブロック生成関連情報、及びメモリ245から提供された以前に復号化されたブロック又はピクチャ情報に基づいて、予測ブロックを生成することができる。
【0083】
前述したように、画像符号化器での動作と同様にイントラ予測を行うときに予測単位の大きさと変換単位の大きさとが同一である場合には、予測単位の左側に存在する画素、左上端に存在する画素、上端に存在するする画素に基づいて予測単位に対するイントラ予測を行うが、イントラ予測を行うときに予測単位の大きさと変換単位の大きさとが互いに異なる場合には、変換単位に基づく参照画素を用いてイントラ予測を行うことができる。また、最小符号化単位に対してのみN×N分割を使用するイントラ予測を使用することもできる。
【0084】
予測部230、235は、予測単位判別部、インター予測部及びイントラ予測部を含むことができる。予測単位判別部は、エントロピー復号化部210から入力される予測単位情報、イントラ予測方法の予測モード情報、インター予測方法の動き予測関連情報などの様々な情報の入力を受け、現在符号化単位において予測単位を区分し、予測単位がインター予測を行うか、それともイントラ予測を行うかを判別することができる。インター予測部230は、画像符号化装置から提供された現在予測単位のインター予測に必要な情報を用いて、現在予測単位が含まれている現在ピクチャの以前ピクチャ又は以後ピクチャのうちの少なくとも一つのピクチャに含まれている情報に基づいて、現在予測単位に対するインター予測を行うことができる。又は、現在予測単位が含まれている現在ピクチャ内で、既に復元された一部領域の情報に基づいてインター予測を行うこともできる。
【0085】
インター予測を行うために符号化単位を基準に該当符号化単位に含まれている予測単位の動き予測方法がスキップモード(Skip Mode)、マージモード(Merge Mode)、AMVPモード(AMVP Mode)及びイントラブロックコピーモードのうちのいずれの方法であるかを判断することができる。
【0086】
イントラ予測部235は、現在ピクチャ内の画素情報に基づいて予測ブロックを生成することができる。予測単位がイントラ予測を行った予測単位である場合、画像符号化器から提供された予測単位のイントラ予測モード情報に基づいてイントラ予測を行うことができる。イントラ予測部235には、AIS(Adaptive Intra Smoothing)フィルタ、参照画素補間部及びDCフィルタを含むことができる。AISフィルタは、現在ブロックの参照画素にフィルタリングを行う部分であって、現在予測単位の予測モードに応じてフィルタの適用有無を決定して適用することができる。画像符号化器から提供された予測単位の予測モード及びAISフィルタ情報を用いて現在ブロックの参照画素にAISフィルタリングを行うことができる。現在ブロックの予測モードがAISフィルタリングを行わないモードである場合、AISフィルタは適用されなくてもよい。
【0087】
参照画素補間部は、予測単位の予測モードが参照画素を補間した画素値に基づいてイントラ予測を行う予測単位である場合、参照画素を補間して整数値以下の画素単位の参照画素を生成することができる。現在予測単位の予測モードが、参照画素を補間せずに予測ブロックを生成する予測モードである場合、参照画素は補間されなくてもよい。DCフィルタは、現在ブロックの予測モードがDCモードである場合、フィルタリングを介して予測ブロックを生成することができる。
【0088】
復元されたブロック又はピクチャは、フィルタ部240に提供できる。フィルタ部240は、デブロッキングフィルタ、オフセット補正部、ALFを含むことができる。
【0089】
画像符号化器から当該ブロック又はピクチャにデブロッキングフィルタを適用するか否かについての情報、及びデブロッキングフィルタを適用した場合に強いフィルタを適用したのか或いは弱いフィルタを適用したのかについての情報の提供を受けることができる。画像復号化器のデブロッキングフィルタでは、画像符号化器から提供されたデブロッキングフィルタ関連情報の提供を受け、画像復号化器で当該ブロックに対するデブロッキングフィルタリングを行うことができる。
【0090】
オフセット補正部は、符号化時に画像に適用されたオフセット補正の種類及びオフセット値の情報などに基づいて、復元された画像に対してオフセット補正を行うことができる。
【0091】
ALFは、符号化装置から提供されたALF適用有無情報、ALF係数情報などに基づいて符号化単位に適用できる。このようなALF情報は、特定のパラメータセットに含まれて提供されてもよい。
【0092】
メモリ245は、復元されたピクチャ又はブロックを格納して参照ピクチャ又は参照ブロックとして使用できるようにすることができ、また、復元されたピクチャを出力部へ提供することができる。
【0093】
本明細書において、符号化単位、符号化ブロック、現在ブロックなどは、同じ意味で解釈できる。後述する実施形態は、前記画像符号化装置及び/又は画像復号化装置の対応ユニットで実行できる。
【0094】
図3は本発明が適用される一実施形態として、ピクチャを複数のフラグメント領域に分割する方法を示す図である。
【0095】
一つのピクチャは、所定のフラグメント領域に分割できる。本発明に係るフラグメント領域は、サブピクチャ(subpicture)、スライス(slice)、タイル(tile)、符号化ツリー単位(CTU)又は符号化単位(CU)のうちの少なくとも一つを含むことができる。
【0096】
図3を参照すると、ピクチャ300は、一つ又はそれ以上のサブピクチャを含むことができる。つまり、ピクチャは、一つのサブピクチャで構成されることもでき、図3に示すように複数のサブピクチャに分割されることもできる。
【0097】
サブピクチャは、符号化の設定に応じて分割情報が異なるように構成できる。(1)例えば、ピクチャを横切る垂直又は水平ラインに基づく一括的な分割方式でサブピクチャを取得することができる。(2)又は、各サブピクチャの特徴情報(位置、大きさ、形状など。形状は長方形を仮定して後述)に基づく部分的な分割方式でサブピクチャを取得することができる。
【0098】
(1)前者の場合、サブピクチャを区画する垂直又は水平ラインに基づいてサブピクチャの分割情報が構成できる。
【0099】
前記ライン基盤の分割は、均等又は非均等分割のうちの一つの方式を使用することができる。均等方式が使用される場合には、各ラインの分割個数に関する情報が発生することができ、非均等方式が使用される場合には、各ライン間の間隔情報(幅又は高さ)が発生することができる。符号化の設定に応じて、均等又は非均等分割方式のうちの一つが使用でき、方式選択情報が明示的に発生することもできる。垂直と水平ラインに均等又は非均等分割方式が一括して適用できる。又は、垂直ラインと水平ラインに適用される方法を異ならせる場合も可能である。前記分割情報に基づいてサブピクチャの個数情報が誘導できる。
【0100】
前記ライン間の間隔情報は、n個のサンプル単位、CTUサイズ、(2*CTUサイズ)、(4*CTUサイズ)などの単位で符号化されたものであり得る。ここで、nは4、8、16、32、64、128、256又はそれ以上の自然数であることができる。前記発生する情報は、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)及びピクチャヘッダ(PH)のうちの少なくとも一つのレベルでシグナリングできる。
【0101】
(2)後者の場合は、サブピクチャの位置情報(例えば、各サブピクチャの左上端、右上端、左下端、右下端位置などを示す情報)、サイズ情報(例えば、幅又は高さを示す情報)、サブピクチャの個数情報などからサブピクチャの分割情報が構成できる。
【0102】
サブピクチャの個数を特定する情報(以下、個数情報)は、符号化装置で符号化され、復号化装置は、符号化された個数情報に基づいて、一つのピクチャを構成するサブピクチャの個数を決定することができる。前記個数情報は、VPS、SPS、PPS及びPHのうちの少なくとも一つのレベルでシグナリングできる。又は、サブピクチャの分割情報(位置、サイズ情報など)に基づいてサブピクチャの個数情報を黙示的に誘導することもできる。
【0103】
各サブピクチャの位置を特定する情報(以下、位置情報)は、当該サブピクチャの既に約束された位置のx座標又はy座標を含むことができる。既に約束された位置は、当該サブピクチャの左上端、右上端、左下端及び右下端の中から定められることができる。前記位置情報は、符号化装置で符号化され、復号化装置は、符号化された位置情報に基づいて、各サブピクチャの位置を決定することができる。ここで、x座標/y座標は、n個のサンプル単位、CTUサイズ、(2*CTUサイズ)、(4*CTUサイズ)などの単位で表現できる。ここで、nは1、2、4、8、16、32、64、128、256又はそれ以上の自然数であることができる。一例として、サブピクチャの左上端CTUのx座標とy座標で位置情報を符号化した場合には、CTU(CtbSize)の単位で幅と高さがそれぞれ2と3であれば、サブピクチャの位置(左上端)は(2*CtbSize、3*CtbSize)と決定できる。
【0104】
各サブピクチャのサイズを特定する情報(以下、サイズ情報)は、当該サブピクチャの幅情報と高さ情報のうちの少なくとも一つを含むことができる。ここで、幅/高さ情報は、n個のサンプル単位、CTUサイズ、(2*CTUサイズ)、(4*CTUサイズ)などの単位で符号化されたものであり得る。ここで、nは4、8、16、32、64、128、256又はそれ以上の自然数であることができる。一例として、幅情報がCTUサイズ(CtbSize)の単位で符号化された場合において、幅情報が6であれば、サブピクチャの幅は(6*CtbSize)と決定できる。
【0105】
前述した位置情報とサイズ情報は、ピクチャに属するサブピクチャの個数が2つ以上である場合に限って符号化/復号化されるように制限されることもできる。すなわち、前記個数情報に基づくサブピクチャの個数が2つより大きいか同じである場合には、位置情報とサイズ情報がシグナリングされ、そうでない場合には、サブピクチャはピクチャと同じ位置/サイズに設定できる。ただし、サブピクチャの個数が2つ以上である場合であっても、ピクチャの左上端に位置する一番目のサブピクチャに対する位置情報はシグナリングされず、二番目のサブピクチャに対する位置情報からシグナリングされることができる。また、ピクチャの最後のサブピクチャに対する位置情報又はサイズ情報のうちの少なくとも一つは、シグナリングされないことができる。
【0106】
図3を参照すると、一つのサブピクチャは、一つ又はそれ以上のスライスを含むことができる。つまり、一つのサブピクチャは一つのスライスで構成されることもでき、複数のスライスに分割されることもできる。サブピクチャは、水平方向に分割された複数のスライスで構成されることもでき、垂直方向に分割された複数のスライスで構成されることもできる。
【0107】
一つのピクチャ又はサブピクチャに属するスライスの個数を特定する情報(以下、個数情報)は、符号化装置で符号化され、復号化装置は、符号化された個数情報に基づいて、一つのピクチャ又はサブピクチャを構成するサブピクチャの個数を決定することができる。前記個数情報は、VPS、SPS、PPS及びPHのうちの少なくとも一つのレベルでシグナリングされることができる。ただし、前記個数情報は、長方形状のスライスが許容される場合、又は一つのサブピクチャが一つのスライスで構成されていない場合のうちの少なくとも一つの条件を満足するときにのみシグナリングされることができる。
【0108】
各スライスのサイズを特定する情報(以下、サイズ情報)は、当該スライスの幅情報と高さ情報のうちの少なくとも一つを含むことができる。ここで、幅/高さ情報は、タイル、CTUの単位で符号化されたものであり得る。
【0109】
ただし、一つのスライスが複数のサブピクチャにまたがるように分割されることは許容されない可能性がある。つまり、一つのサブピクチャを一つ又はそれ以上のスライスを完全に含むように区画できる。又は、一つのサブピクチャを構成するスライスは、水平方向又は垂直方向のうちのいずれか一つの方向にのみ分割されるように制限されることもできる。
【0110】
図3を参照すると、一つのサブピクチャ又はスライス310は、一つ又はそれ以上のタイルを含むことができる。つまり、一つのスライスは、一つのタイルで構成されることもでき、複数のタイルで構成されることもできる。ただし、これに限定されず、一つのタイルに複数のスライスが含まれることも許容されることができる。一例として、一つのスライスは、一つのタイルに属する複数のCTU行のサブセット(subset)で構成できる。この場合、一つのタイルに属するスライスの個数を特定する情報(以下、個数情報)は、符号化装置で符号化され、復号化装置は、符号化された個数情報に基づいて、一つのタイルを構成するスライスの個数を決定することができる。各スライスのサイズを特定する情報(以下、サイズ情報)は、当該スライスの幅情報と高さ情報のうちの少なくとも一つを含むことができる。ここで、幅/高さ情報は、CTUサイズの単位で符号化されたものであり得る。ただし、一つのスライスが複数のCTU行のサブセット(subset)で構成された場合、当該スライスの高さ情報のみがシグナリングされ、幅情報はシグナリングされないことができる。前記個数/サイズ情報は、VPS、SPS、PPS及びPHのうちの少なくとも一つのレベルでシグナリングされることができる。
【0111】
前述した個数、位置、大きさに関する情報のうちの少なくとも一つは、ピクチャが所定のフラグメント領域に分割される場合に限って要求される。一例として、前記情報は、当該ピクチャが複数のスライス又はタイルに分割される場合に限ってシグナリングされることができる。このため、現在ピクチャが複数のスライス又はタイルに分割されるか否かを示す別のフラグが使用できる。前記フラグは、VPS、SPS、PPS及びPHのうちの少なくとも一つのレベルでシグナリングされることができる。
【0112】
図3を参照すると、一つのタイルは、複数のCTUで構成でき、一つのCTU320(以下、「第1ブロック」という)は、垂直ライン又は水平ラインのうちの少なくとも一つによって複数のサブブロック(以下、「第2ブロック」という)に分割できる。前記垂直ラインと水平ラインは、一つ、二つ又はそれ以上であり得る。以下、第1ブロックは、CTUに制限されず、CTUから分割された符号化ブロック(CU)、予測符号化/復号化の基本単位である予測ブロック(PU)、又は変換符号化/復号化の基本単位である変換ブロック(TU)であり得る。前記第1ブロックは、正方形のブロックであってもよく、非正方形のブロックであってもよい。
【0113】
前記第1ブロックの分割は、四分木(quad tree)だけでなく、二分木(binary tree)、三分木(ternary tree)などのマルチツリーに基づいて行われ得る。
【0114】
具体的に、四分木分割(QT)は、第1ブロックを4つの第2ブロックに四分割する分割タイプである。例えば、2N×2Nの第1ブロックがQT分割により分割される場合、第1ブロックは、サイズN×Nの4つの第2ブロックに四分割できる。QTは、正方形のブロックにのみ適用されるように制限できるが、非正方形のブロックに適用することも可能である。
【0115】
二分木分割(BT)は、第1ブロックを2つの第2ブロックに二分割する分割タイプである。BTは、水平二分木(以下、Horizontal BT)と垂直二分木(以下、Vertical BT)を含むことができる。Horizontal BTは、一つの水平ラインによって第1ブロックが二つの第2ブロックに二分割される分割タイプである。前記二分割は、対称もしくは非対称的に行われ得る。例えば、2N×2Nの第1ブロックがHorizontal BT分割により分割される場合には、第1ブロックは、高さの比率が(a:b)である二つの第2ブロックに分割できる。ここで、aとbは同じ値であってもよく、aはbよりも大きいか小さくてもよい。Vertical BTは、一つの垂直ラインによって第1ブロックが二つの第2ブロックに二分割される分割タイプである。前記二分割は、対称もしくは非対称的に行われ得る。例えば、2N×2Nの第1ブロックがVertical BT分割により分割される場合、第1ブロックは、幅の比率が(a:b)である二つの第2ブロックに分割できる。ここで、aとbは同じ値であってもよく、aはbよりも大きいか小さくてもよい。
【0116】
三分木分割(TT)は、第1ブロックを3つの第2ブロックに三分割する分割タイプである。同様に、TTは水平三分木(以下、Horizontal TT)と垂直三分木(以下、Vertical TT)を含むことができる。Horizontal TTは、二つの水平ラインによって第1ブロックが三つの第2ブロックに三分割される分割タイプである。例えば、2N×2Nの第1ブロックがHorizontal TT分割により分割される場合、第1ブロックは、高さの比率が(a:b:c)である三つの第2ブロックに分割できる。ここで、a、b、cは同じ値であってもよい。又は、aとcは同一であり、bはaよりも大きいか小さくてもよい。例えば、aとcは2であり、bは1であり得る。Vertical TTは、二つの垂直ラインによって第1ブロックが三つの第2ブロックに三分割される分割タイプである。例えば、2N×2Nの第1ブロックがVertical TTにより分割される場合、第1ブロックは、幅の比率が(a:b:c)である三つの第2ブロックに分割できる。ここで、a、b、cは同じ値であってもよく、互いに異なる値であってもよい。又は、aとcは同一であり、bはaよりも大きいか小さくてもよい。又は、aとbは同一であり、cはaよりも大きいか小さくてもよい。又は、bとcは同一であり、aはbよりも大きいか小さくてもよい。例えば、aとcは2であり、bは1であり得る。
【0117】
前述した分割は、符号化装置からシグナリングされる分割情報に基づいて行われ得る。前記分割情報は、分割タイプ情報、分割方向情報又は分割比率情報のうちの少なくとも一つを含むことができる。
【0118】
前記分割タイプ情報は、符号化/復号化装置に既に定義された分割タイプのいずれかを特定することができる。前記既に定義された分割タイプは、QT、Horizontal BT、Vertical BT、Horizontal TT、Vertical TT又は非分割モード(No split)のうちの少なくとも一つを含むことができる。又は、前記分割タイプ情報は、QT、BT又はTTが適用されるか否かについての情報を意味することもある。これはフラグ或いはインデックスの形態で符号化できる。一例として、分割タイプ情報は、QTが適用されるか否かを示す第1フラグ、又はBT又はTTが適用されるか否かを示す第2フラグのうちの少なくとも一つを含むことができる。第2フラグに応じて、BT又はTTのうちのいずれか一つが選択的に使用できる。ただし、第1フラグは、第1ブロックの大きさが所定の閾値の大きさと同じかそれより小さい場合に限ってシグナリングされることができる。閾値の大きさは、64、128又はそれ以上の自然数であり得る。第1ブロックの大きさが閾値の大きさよりも大きい場合、第1ブロックはQT分割のみを用いて分割されるように強制できる。また、第2フラグは、第1フラグに応じてQTが適用されない場合に限ってシグナリングされることができる。
【0119】
前記分割方向情報は、BT又はTTの場合、水平方向に分割されるか、それとも垂直方向に分割されるかを示すことができる。前記分割比率情報は、BT又はTTの場合、第2ブロックの幅及び/又は高さの比率を示すことができる。
【0120】
図3に示されたブロック320は、8N×8Nの大きさであり、分割デプスがkである正方形のブロック(以下、「第1ブロック」という)と仮定する。第1ブロックの分割情報がQT分割を指示する場合、第1ブロックは、4つのサブブロック(以下、「第2ブロック」という)に四分割できる。前記第2ブロックは、4N×4Nの大きさであり、(k+1)の分割デプスを持つことができる。
【0121】
前記4つの第2ブロックは、QT、BT、TT又は非分割モードのうちのいずれかに基づいて再び分割できる。例えば、第2ブロックの分割情報がHorizontal BTを表す場合、前記第2ブロックは、二つのサブブロック(以下、「第3ブロック」という)に二分割できる。この際、前記第3ブロックは、4N×2Nの大きさであり、(k+2)の分割デプスを持つことができる。
【0122】
前記第3ブロックも、QT、BT、TT又は非分割モードのうちのいずれかに基づいて再び分割できる。例えば、前記第3ブロックの分割情報がVertical BTを表す場合、前記第3ブロックは、二つのサブブロック321、322に二分割できる。この時、前記サブブロック321、322は、2N×2Nの大きさであり、(k+3)の分割デプスを持つことができる。又は、前記第3ブロックの分割情報がHorizontal BTを表す場合、前記第3ブロックは、二つのサブブロック323、324に二分割できる。この時、前記サブブロック413、414は、4N×Nの大きさであり、(k+3)の分割デプスを持つことができる。
【0123】
前記分割は、周辺ブロックとは独立的或いは並列的に行われてもよく、所定の優先順位に基づいて順次行われてもよい。
【0124】
分割対象である現在ブロックの分割情報は、現在ブロックの上位ブロックの分割情報又は周辺ブロックの分割情報のうちの少なくとも一つに基づいて従属的に決定されることもできる。例えば、前記第2ブロックがHorizontal BT分割により分割され、上端の第3ブロックがVertical BT分割により分割された場合、下端の第3ブロックはVertical BT分割により分割される必要がない。下端の第3ブロックがVertical BT分割により分割される場合、これは第2ブロックがQT分割により分割されるのと同じ結果が出るからである。したがって、下端の第3ブロックの分割情報(特に、分割方向情報)は、符号化が省略でき、復号化装置は、下端の第3ブロックが水平方向に分割されるように設定することができる。
【0125】
前記上位ブロックは、前記現在ブロックの分割デプスよりも小さい分割デプスを持つブロックを意味することができる。例えば、現在ブロックの分割デプスが(k+2)である場合、上位ブロックの分割デプスは(k+1)であり得る。前記周辺ブロックは、現在ブロックの上側或いは左側に隣接するブロックであることができる。前記周辺ブロックは、現在ブロックと同じ分割デプスを持つブロックであることができる。
【0126】
前述した分割は、符号化/復号化の最小単位まで繰り返し行われ得る。最小単位に分割された場合、当該ブロックに対する分割情報は、符号化装置からそれ以上シグナリングされない。前記最小単位に対する情報は、最小単位の大きさ又は形態のうちの少なくとも一つを含むことができる。前記最小単位の大きさは、ブロックの幅、高さ、幅と高さのうちの最小値或いは最大値、幅と高さの和、画素数、分割デプスなどで表現できる。前記最小単位に対する情報は、ビデオシーケンス、ピクチャ、スライス又はブロック単位のうちの少なくとも一つでシグナリングできる。又は、前記最小単位に対する情報は、符号化/復号化装置に既に約束された値であってもよい。前記最小単位に対する情報は、CU、PU、TUに対してそれぞれシグナリングできる。一つの最小単位に対する情報がCU、PU、TUに同様に適用されてもよい。以下、後述する実施形態のブロックは、前述したブロック分割によって取得されたものであり得る。
【0127】
本発明の一実施形態によるブロック分割は、支援可能な範囲内で取得でき、そのためのブロック分割設定情報が支援できる。例えば、m×nの大きさ(例えば、mとnは2、4、8、16、32、64、128などの自然数)の最大符号化ブロック(CTU)、最小符号化ブロック、最大変換ブロック、最小変換ブロック、ブロック別の最大分割デプスk(例えば、符号化/変換×Intra/Inter×QT/BT/TTなど。kは0、1、2又はそれ以上)などがブロック分割設定情報に含まれることができる。これは、VPS、SPS、PPS、PH及びスライスヘッダのうちの少なくとも一つのレベルでシグナリングされることができる。
【0128】
前述した一部のフラグメント領域(サブピクチャ、スライス、タイルなど)の場合、各フラグメント領域を区画/分割(例えば、フラグメント領域の位置、大きさ情報を誘導など)するためには、所定の基礎情報(例えば、CTUやタイルなどのように、当該フラグメント領域の下位又は基礎単位に対する情報)が要求されることができる。このとき、VPS-SPS-PPSなどの順に行うこともできるが、同時多発的な符号化/復号化のためなら、前記基礎情報を各フラグメント領域の区画/分割が支援されるレベルに提供することが必要であることができる。
【0129】
例えば、SPSにおいてCTU情報が発生(固定的に発生)することができ、これに基づいて、サブピクチャ(SPSにおける処理を仮定)の分割有無に応じてCTU情報が使用(分割される場合)できる。又は、スライス、タイル(PPSにおける処理を仮定)の分割有無に応じてCTU情報が発生(分割される場合。さらに発生)することができ、これに基づいてスライス、タイルに分割されることができる。
【0130】
まとめると、フラグメント画像の区画/分割に使用される基礎情報は、一つのレベルで発生することができる。又は、フラグメント画像の種類に応じて、区画/分割に使用される基礎情報は、二つ以上のレベルで発生することもできる。
【0131】
フラグメント画像の種類に関係なく、フラグメント画像の区画に参照される基礎情報(シンタックス又はフラグ)は、一つのレベルで発生することができる。又は、フラグメント画像に応じて、各フラグメント画像の区画に参照される基礎情報は、複数のレベルで発生することもできる。この時、前記基礎情報は、二つ以上のレベルで発生及び存在することができても、同じ値又は情報を持つように設定して一つのレベルで発生及び存在するのと同じ効果を維持することができる。しかし、前記基礎情報の場合、同じ値又は情報を持たせることが基本的な設定であり得る。これに限定せず、異なる値又は情報を持つ変形も可能である。
【0132】
図4は本発明が適用される一実施形態として、画像符号化/復号化装置に既に定義されたイントラ予測モードを示す例示図である。
【0133】
図4を参照すると、既に定義されたイントラ予測モードは、67個のモードで構成された予測モード候補群として定義でき、具体的には65個の方向性モード(2番乃至66番)と二つの非方向性モード(DC、Planar)を含むことができる。このとき、方向性モードは、傾き(例えば、dy/dx)又は角度情報(Degree)に区分できる。上記の例で説明されるイントラ予測モードの全部又は一部が輝度成分又は色差成分の予測モード候補群に含まれてもよく、その他の追加的なモードが予測モード候補群に含まれてもよい。
【0134】
また、カラー空間間の相関性を用いて符号化/復号化が完了した他のカラー空間の復元ブロックを現在ブロックの予測に使用することができ、これを支援する予測モードを含むことができる。例えば、色差成分の場合には、現在ブロックと対応する輝度成分の復元されたブロックを用いて現在ブロックの予測ブロックを生成することができる。つまり、カラー空間間の相関性を考慮して、復元されたブロックに基づいて予測ブロックを生成することができる。
【0135】
符号化/復号化の設定に基づいて予測モード候補群を適応的に決定することができる。予測の精度を高めるための目的で候補群の数を増やすことができ、予測モードに応じたビット量を減らすための目的で候補群の数を減らすことができる。
【0136】
例えば、A候補群(67個。65個の方向性モードと二つの非方向性モード)、B候補群(35個。33個の方向性モードと二つの非方向性モード)、C候補群(18個。17個の方向性モードと一つの非方向性モード)などの候補群のうちのいずれかを選択することができ、ブロックの大きさと形状に応じて適応的に候補群が選択又は決定できる。
【0137】
また、符号化/復号化の設定に基づいて予測モード候補群の構成を多様に持つことができる。例えば、図4のようにモードの間が均等に予測モード候補群を構成するか、或いは、図4で18番モードと34番モードとの間のモードの個数が2番モードと18番モードとの間のモードの個数よりもさらに多く候補群を構成することができる。又は、その逆の場合が可能である。ブロックの形状(つまり、正方形、幅が高さよりも大きい非正方形、高さが幅よりも大きい非正方形など)に応じて適応的に候補群を構成することができる。
【0138】
例えば、現在ブロックの幅が高さよりも大きい場合には、2番乃至18番に属するイントラ予測モードの全部又は一部は利用されず、67番乃至80番に属するイントラ予測モードの全部又は一部で代替できる。一方、現在ブロックの幅が高さよりも小さい場合には、50番乃至66番に属するイントラ予測モードの全部又は一部は利用されず、-14番乃至-1番に属するイントラ予測モードの全部又は一部で代替できる。
【0139】
本発明において特別な言及がないとき、均等なモード間隔を有する既に定義された一つの予測モード候補群(A候補群)でイントラ予測を行う場合を仮定して説明するが、本発明の主要要素が、前記説明のような適応的なイントラ予測設定にも変更適用が可能である。
【0140】
図5は本発明が適用される一実施形態として、イントラ予測に基づいて現在ブロックを復号化する方法を示すものである。
【0141】
図5を参照すると、現在ブロックのイントラ予測のための参照領域を決定することができる(S500)。
【0142】
本発明による参照領域は、現在ブロックの左側、上端、左上端、左下端又は右上端のうちの少なくとも一つに隣接する領域であり得る。また、図5に示していないが、参照領域は、現在ブロックの右側、右下端又は下端のうちの少なくとも一つに隣接する領域をさらに含むことができる。これは、現在ブロックのイントラ予測モード、符号化/復号化順序、スキャン順序などに基づいて選択的に利用できる。
【0143】
符号化/復号化装置は、イントラ予測に利用可能な複数の画素ラインを定義することができる。複数の画素ラインは、現在ブロックに隣接する第1画素ライン、第1画素ラインに隣接する第2画素ライン、第2画素ラインに隣接する第3画素ライン、又は第3画素ラインに隣接する第4画素ラインのうちの少なくとも一つを含むことができる。
【0144】
例えば、符号化/復号化の設定に基づいて、複数の画素ラインは、第1乃至第4画素ラインを全て含むこともでき、第3画素ラインを除いた残りの画素ラインのみを含むこともできる。又は、複数の画素ラインは、第1画素ライン及び第4画素ラインのみを含むか、或いは第1画素ライン乃至第3画素ラインのみを含むこともできる。
【0145】
現在ブロックは、前記複数の画素ラインのうちのいずれか一つ又はそれ以上の画素ラインを選択し、これを参照領域として用いることができる。このとき、前記選択は、符号化装置でシグナリングされるインデックス(refIdx)に基づいて行われ得る。又は、前記選択は、所定の符号化情報に基づいて行われ得る。ここで、符号化情報は、現在ブロックの大きさ、形状、分割タイプ、イントラ予測モードが非方向性モードであるか否か、イントラ予測モードが水平方向性であるか否か、イントラ予測モードの角度又は成分タイプのうちの少なくとも一つを含むことができる。
【0146】
例えば、イントラ予測モードがPlanarモード又はDCモードである場合には、第1画素ラインのみが用いられるように制限できる。又は、現在ブロックの大きさが所定の閾値と同じかそれよりも小さい場合、第1画素ラインのみが用いられるように制限できる。ここで、大きさは、現在ブロックの幅又は高さのうちのいずれか(例えば、最大値、最小値など)、幅と高さの和、又は現在ブロックに属するサンプルの個数で表現できる。又は、イントラ予測モードが所定の閾値角度よりも大きい場合(又は、所定の閾値角度よりも小さい場合)、第1画素ラインのみが用いられるように制限できる。前記閾値角度は、前述した予測モード候補群のうち、モード2、モード66に対応するイントラ予測モードの角度であり得る。
【0147】
一方、前記参照領域の画素のうちの少なくとも一つが利用不可である場合が発生することがあり、このような場合、利用不可画素は、既に決定されたデフォルト値で代替されるか、或いは利用可能画素で代替され得る。これについては、図6を参照して詳細に説明する。
【0148】
図5を参照すると、現在ブロックのイントラ予測モードを誘導することができる(S510)。
【0149】
現在ブロックは、輝度ブロックと色差ブロックを含む概念であり、前記イントラ予測モードは、輝度ブロックと色差ブロックそれぞれに対して決定できる。以下、復号化装置に既に定義されたイントラ予測モードは、非方向性モード(Planarモード、DCモード)及び65個の方向性モードで構成されることを仮定する。
【0150】
1.輝度ブロックの場合
前述した既に定義されたイントラ予測モードは、MPM候補群とNon-MPM候補群に区分できる。現在ブロックのイントラ予測モードは、MPM候補群又はNon-MPM候補群のうちのいずれかを選択的に用いて誘導できる。このために、現在ブロックのイントラ予測モードがMPM候補群から誘導されるか否かを示すフラグ(以下、第1フラグ)が使用できる。例えば、第1フラグが第1値である場合には、MPM候補群が使用され、第1フラグが第2値である場合には、Non-MPM候補群が使用され得る。
【0151】
具体的に、第1フラグが第1値である場合には、現在ブロックのイントラ予測モードは、少なくとも一つのMPM候補を含むMPM候補群(candModeList)及びMPMインデックスに基づいて決定できる。MPM候補群は、MPM候補群に属するMPM候補のうちのいずれか一つを特定する情報であり得る。MPMインデックスは、MPM候補群に複数のMPM候補が属する場合に限ってシグナリングできる。
【0152】
これに対し、第1フラグが第2値である場合(すなわち、MPM候補群に現在ブロックのイントラ予測モードと同じMPM候補が存在しない場合)、現在ブロックのイントラ予測モードは、シグナリングされる残余モード情報に基づいて決定できる。前記残余モード情報は、MPM候補を除いた残りのモードのうちのいずれか一つを特定することができる。
【0153】
以下、MPM候補群を決定する方法について説明する。
【0154】
(実施形態1)MPM候補群は、隣接ブロックのイントラ予測モードmodeA、(modeA-n)、(modeA+n)又はデフォルトモードのうちの少なくとも一つを含むことができる。前記n値は、1、2、3、4又はそれ以上の整数であり得る。前記隣接ブロックは、現在ブロックの左側及び/又は上端に隣接するブロックを意味することができる。但し、これに限定されず、隣接ブロックは、左上端、左下端又は右上端に隣接するブロックのうちの少なくとも一つを含むこともできる。デフォルトモードは、Planarモード、DCモード、又は所定の方向性モードのうちの少なくとも一つであることができる。所定の方向性モードは、水平モード(modeV)、垂直モード(modeH)、(modeV-k)、(modeV+k)、(modeH-k)又は(modeH+k)のうちの少なくとも一つを含むことができる。ここで、kは1、2、3、4、5、又はそれ以上の整数であり得る。
【0155】
前記MPMインデックスは、MPM候補群のMPMのうち、現在ブロックのイントラ予測モードと同じMPMを特定することができる。つまり、MPMインデックスによって特定されたMPMが現在ブロックのイントラ予測モードに設定できる。
【0156】
(実施形態2)MPM候補群は、m個の候補グループに区分されることもできる。mは2、3、4又はそれ以上の整数であり得る。以下、説明の便宜のために、MPM候補群は、第1候補グループと第2候補グループに区分されることを仮定する。
【0157】
符号化/復号化装置は、第1候補グループ又は第2候補グループのうちのいずれか一つを選択することができる。前記選択は、現在ブロックのイントラ予測モードが第1候補グループに属するか、それとも第2候補グループに属するかを特定するフラグ(以下、第2フラグ)に基づいて行われ得る。例えば、第2フラグが第1値である場合には、現在ブロックのイントラ予測モードは、第1候補グループから誘導され、そうでない場合には、現在ブロックのイントラ予測モードは、第2候補グループから誘導され得る。
【0158】
具体的には、第2フラグに基づいて第1候補グループが用いられる場合には、第1候補グループに属する複数のデフォルトモードのうちのいずれかを特定する第1MPMインデックスがシグナリングされることができる。シグナリングされた第1MPMインデックスに対応するデフォルトモードは、現在ブロックのイントラ予測モードに設定されることができる。これに対し、第1候補グループが一つのデフォルトモードで構成された場合には、前記第1MPMインデックスはシグナリングされず、現在ブロックのイントラ予測モードは、第1候補グループのデフォルトモードに設定されることができる。
【0159】
第2フラグに基づいて第2候補グループが用いられる場合には、第2候補グループに属する複数のMPM候補のうちのいずれかを特定する第2MPMインデックスがシグナリングされることができる。シグナリングされた第2MPMインデックスに対応するMPM候補は、現在ブロックのイントラ予測モードに設定されることができる。これに対し、第2候補グループが一つのMPM候補で構成された場合、前記第2MPMインデックスはシグナリングされず、現在ブロックのイントラ予測モードは第2候補グループのMPM候補に設定されることができる。
【0160】
一方、前記第2フラグは、前述した第1フラグが第1値である場合(条件1)に限ってシグナリングできる。また、前記第2フラグは、現在ブロックの参照領域が第1画素ラインと決定された場合に限ってシグナリングされることができる。現在ブロックが隣接していない画素ラインを参照する場合、第1候補グループのMPM候補が使用されないように制限されることができる。又は、逆に、第2フラグに基づいて、現在ブロックのイントラ予測モードが第1候補グループから誘導される場合、現在ブロックが第1画素ラインだけを参照するように制限されることもできる。
【0161】
また、現在ブロックがサブブロック単位のイントラ予測を行わない場合(条件2)に限って第2フラグがシグナリングできる。逆に、現在ブロックがサブブロック単位のイントラ予測を行う場合、前記フラグは、シグナリングされず、復号化装置で第2値に設定されることもできる。
【0162】
前述した条件1又は2のうちのいずれか一つの条件を満足する場合には、第2フラグがシグナリングされることもでき、条件1及び2の両方を満足する場合には、第2フラグがシグナリングされるように設定されることもできる。
【0163】
第1候補グループは、既に定義されたデフォルトモードで構成できる。前記デフォルトモードは、方向性モード又は非方向性モードのうちの少なくとも一つであることができる。例えば、方向性モードは、垂直モード、水平モード又は対角線モードのうちの少なくとも一つを含むことができる。非方向性モードは、Planarモード又はDCモードのうちの少なくとも一つを含むことができる。
【0164】
第1候補グループは、r個の非方向性モード又は方向性モードのみで構成されることができる。rは1、2、3、4、5又はそれ以上の整数であることができる。rは符号化/復号化装置に既に約束された固定値であることもでき、所定の符号化パラメータに基づいて可変的に決定されることもできる。
【0165】
第2候補グループは、複数のMPM候補を含むことができる。ただし、第2候補グループは、第1候補グループに属するデフォルトモードを含まないように制限されることができる。前記MPM候補の個数は、2つ、3つ、4つ、5つ、6つ又はそれ以上であることができる。MPM候補の個数は、符号化/復号化装置に既に約束された固定値であるか、符号化パラメータに基づいて可変的に決定され得る。MPM候補は、現在ブロックに隣接する周辺ブロックのイントラ予測モードに基づいて誘導できる。周辺ブロックは、現在ブロックの左側、上端、左上端、左下端又は右上端の少なくとも一つに隣接するブロックであることができる。
【0166】
具体的には、左側ブロックのイントラ予測モード(candIntraPredModeA)と上端ブロックのイントラ予測モード(candIntraPredModeB)とが同一であるか否か、candIntraPredModeAとcandIntraPredModeBが非方向性モードであるか否かを考慮して、MPM候補が決定されることができる。
【0167】
[CASE1]例えば、candIntraPredModeAとcandIntraPredModeBが同一であり、candIntraPredModeAが非方向性モードではない場合、現在ブロックのMPM候補は、candIntraPredModeA、(candIntraPredModeA-n)、(candIntraPredModeA+n)又は非方向性モードのうちの少なくとも一つを含むことができる。ここで、nは1、2又はそれ以上の整数であることができる。前記非方向性モードは、Planarモード又はDCモードのうちの少なくとも一つを含むことができる。一例として、現在ブロックのMPM候補は、下記表1のように決定できる。表1のindexは、MPM候補の位置又は優先順位を特定するが、これに限定されない。
【0168】
【表1】
【0169】
[CASE2]又は、candIntraPredModeAとcandIntraPredModeBとが同一ではなく、candIntraPredModeAとcandIntraPredModeBの両方とも非方向性モードでない場合には、現在ブロックのMPM候補は、candIntraPredModeA、candIntraPredModeB、(maxAB-n)、(maxAB+n)、(minAB-n)、(minAB+n)又は非方向性モードのうちの少なくとも一つを含むことができる。ここで、maxABとminABは、candIntraPredModeAとcandIntraPredModeBのうちの最大値と最小値をそれぞれ意味し、nは1、2又はそれ以上の整数であることができる。前記非方向性モードは、Planarモード又はDCモードのうちの少なくとも一つを含むことができる。一例として、candIntraPredModeAとcandIntraPredModeBの差異値(D)に基づいて、第2候補群の候補モードは、下記表2のように決定できる。表2のindexは、MPM候補の位置又は優先順位を特定するが、これに限定されない。
【0170】
【表2】
【0171】
前述した表2において、MPM候補のうち、いずれかはminABに基づいて誘導され、他の一つはmaxABに基づいて誘導される。ただし、これに限定されず、MPM候補はminABに関係なくmaxABに基づいて誘導でき、逆に、maxABに関係なくminABに基づいて誘導できる。
【0172】
[CASE3]candIntraPredModeAとcandIntraPredModeBとが同一ではなく、candIntraPredModeAとcandIntraPredModeBのうちのいずれか一つのみが非方向性モードである場合、現在ブロックのMPM候補は、maxAB、(maxAB-n)、(maxAB+n)又は非方向性モードのうちの少なくとも一つを含むことができる。ここで、maxABは、candIntraPredModeAとcandIntraPredModeBのうちの最大値を意味し、nは1、2又はそれ以上の整数であることができる。前記非方向性モードは、Planarモード又はDCモードのうちの少なくとも一つを含むことができる。一例として、現在ブロックのMPM候補は下記表3のように決定できる。表3のindexは、MPM候補の位置又は優先順位を特定するが、これに限定されない。
【0173】
【表3】
【0174】
[CASE4]candIntraPredModeAとcandIntraPredModeBとが同一ではなく、candIntraPredModeAとcandIntraPredModeBの両方とも非方向性モードである場合、現在ブロックのMPM候補は、非方向性モード、垂直モード、水平モード、(垂直モード-m)、(垂直モード+m)、(水平モード-m)又は(水平モード+m)のうちの少なくとも一つを含むことができる。ここで、mは1、2、3、4又はそれ以上の整数であることができる。前記非方向性モードは、Planarモード又はDCモードのうちの少なくとも一つを含むことができる。一例として、現在ブロックのMPM候補は、下記表5のように決定できる。表4のindexは、MPM候補の位置又は優先順位を特定するが、これに限定されない。例えば、水平モードにindex1が割り当てられるか、或いは最も大きいindexが割り当てられることができる。また、MPM候補は、対角線モード(例えば、モード2、モード34、モード66)、(対角線モード-m)又は(対角線モード+m)のうちの少なくとも一つを含むこともできる。
【0175】
【表4】
【0176】
前述した過程を経て復号化されたイントラ予測モード(IntraPredMode)は、所定のオフセットに基づいて変更/補正できる。これは図7を参照して詳しく説明する。
【0177】
2.色差ブロックの場合
色差ブロックのための既に定義されたイントラ予測モードは、第1グループと第2グループに区分できる。ここで、第1グループは成分間参照基盤の予測モードで構成され、第2グループは前述した既に定義されたイントラ予測モードの全部又は一部で構成され得る。
【0178】
色差ブロックのイントラ予測モードは、前記第1グループ又は第2グループのうちのいずれかを選択的に用いて誘導できる。前記選択は、所定の第3フラグに基づいて行われ得る。前記第3フラグは、色差ブロックのイントラ予測モードが第1グループに基づいて誘導されるか、或いは第2グループに基づいて誘導されるかを示すことができる。
【0179】
例えば、前記第3フラグが第1値である場合には、色差ブロックのイントラ予測モードは、第1グループに属する一つ又はそれ以上の成分間参照基盤の予測モードのうちのいずれかに決定できる。これについては、図8で詳細に説明する。
【0180】
これに対し、第3フラグが第2値である場合には、色差ブロックのイントラ予測モードは、第2グループに属する複数のイントラ予測モードのうちのいずれかに決定できる。一例として、第2グループは表5のように定義でき、色差ブロックのイントラ予測モードは、符号化装置でシグナリングされる情報(intra_chroma_pred_mode)と輝度ブロックのイントラ予測モード(IntraPredModeY)に基づいて誘導できる。
【0181】
【表5】
【0182】
表5によれば、色差ブロックのイントラ予測モードは、前記シグナリングされた情報と輝度ブロックのイントラ予測モードに基づいて決定できる。表5に記載されたモード番号は、図4でのモード番号に対応する。例えば、シグナリングされた情報intra_chroma_pred_modeの値が0である場合には、色差ブロックのイントラ予測モードは、輝度ブロックのイントラ予測モードに応じて対角モード(66)又はPlanarモード(0)に決定されることができる。又は、シグナリングされた情報intra_chroma_pred_modeの値が4である場合には、色差ブロックのイントラ予測モードは、輝度ブロックのイントラ予測モードと同一に設定できる。一方、輝度ブロックのイントラ予測モード(IntraPredModeY)は、輝度ブロック内の特定の位置を含むサブブロックのイントラ予測モードであることができる。ここで、輝度ブロック内の特定の位置は、色差ブロック内の中央位置に対応することができる。
【0183】
ただし、色差ブロック内の中央位置に対応する輝度ブロック内のサブブロックが利用不可である場合が発生することができる。ここで、利用不可とは、当該サブブロックがイントラモードで符号化されていない場合であることができる。たとえば、当該サブブロックがインターモード又は現在ピクチャ参照モードで符号化された場合のように、サブブロックがイントラ予測モードを持っていない場合には、当該サブブロックは利用不可と判断できる。この場合、輝度ブロックのイントラ予測モード(IntraPredModeY)は、符号化/復号化装置に既に約束されたモードに設定されることができる。ここで、既に約束されたモードは、Planarモード、DCモード、垂直モード又は水平モードのうちのいずれか一つであることができる。
【0184】
図5を参照すると、イントラ予測のための参照領域とイントラ予測モードに基づいて、現在ブロックを復号化することができる(S520)。
【0185】
前記現在ブロックの復号化は、現在ブロックのサブブロック単位で行われ得る。このために、現在ブロックは複数のサブブロックに分割できる。ここで、現在ブロックは、リーフノード(leaf node)に該当することができる。リーフノードは、より小さい符号化ブロックにそれ以上分割されない符号化ブロックを意味することができる。つまり、リーフノードは、前述したツリー基盤のブロック分割を介してそれ以上分割されないブロックを意味することができる。
【0186】
前記分割は、現在ブロックの大きさに基づいて行われ得る(実施形態1)。
【0187】
例えば、現在ブロックの大きさが所定の閾値の大きさよりも小さい場合、現在ブロックは、垂直又は水平方向に二分割できる。逆に、現在ブロックの大きさが前記閾値の大きさと同じかそれより大きい場合には、現在ブロックは、垂直又は水平方向に四分割できる。前記閾値の大きさは、符号化装置でシグナリングされてもよく、復号化装置に既に定義された固定値であってもよい。例えば、閾値の大きさはN×Mで表現され、NとMは4、8、16又はそれ以上であってもよい。前記NとMは、同一であるように設定されてもよく、互いに異なるように設定されてもよい。
【0188】
又は、現在ブロックの大きさが所定の閾値の大きさよりも小さい場合には、現在ブロックは非分割(non-split)され、そうでない場合には、現在ブロックは二分割又は四分割できる。
【0189】
前記分割は、現在ブロックの形状に基づいて行われ得る(実施形態2)。
【0190】
例えば、現在ブロックの形状が正方形である場合には、現在ブロックは四分割され、そうでない場合には、現在ブロックは二分割され得る。逆に、現在ブロックの形状が正方形である場合には、現在ブロックは二分割され、そうでない場合には、現在ブロックは四分割され得る。
【0191】
又は、現在ブロックの形状が正方形である場合には、現在ブロックは二分割又は四分割され、そうでない場合には、現在ブロックは非分割され得る。逆に、現在ブロックの形状が正方形である場合には、現在ブロックは非分割され、そうでない場合には、現在ブロックは二分割又は四分割され得る。
【0192】
前述した実施形態1又は2のうちのいずれかが選択的に適用されて分割されてもよく、実施形態1と2の組み合わせに基づいて分割されてもよい。
【0193】
前記二分割は、垂直又は水平のうちのいずれかの方向に二分割されるものであり、前記四分割は、垂直又は水平のうちのいずれかの方向に四分割されるか、或いは垂直及び水平方向に四分割されることを含むことができる。
【0194】
前記実施形態では、二分割又は四分割を説明するが、これに限定されず、現在ブロックは、垂直又は水平方向に三分割されてもよい。この場合、幅又は高さの比が(1:1:2)、(1:2:1)又は(2:1:1)であり得る。
【0195】
サブブロック単位への分割か否か、四分割か否か、分割「num」、分割個数などに関する情報は、符号化装置からシグナリングされてもよく、所定の符号化パラメータに基づいて復号化装置で可変的に決定されてもよい。ここで、符号化パラメータは、ブロックの大きさ/形状、分割タイプ(四分割、二分割、三分割)、イントラ予測モード、イントラ予測のための隣接画素の範囲/位置、成分タイプ(例えば、輝度、色差)、変換ブロックの最大/最小大きさ、変換タイプ(例えば、変換スキップ、DCT2、DST7、DCT8)などを意味することができる。
【0196】
現在ブロックのサブブロックは、所定の優先順位に基づいて順次予測/復元できる。この場合、現在ブロックの第1サブブロックに対して予測/復元され、第2サブブロックは、既に復号化された第1サブブロックを参照して予測/復元され得る。前記優先順位に関連して、上→下の順に予測/復元するが、上端と下端の各サブブロックは左→右の順に予測/復元できる。又は、上→下の順に予測/復元するが、上端及び下端の各サブブロックは右→左の順に予測/復元できる。又は、下→上の順に予測/復元するが、下端及び上端の各サブブロックは左→右の順に予測/復元できる。又は、下→上の順に予測/復元するが、下端及び上端の各サブブロックは右→上の順に予測/復元できる。又は、左→右の順に予測/復元するが、左側及び右側の各サブブロックは上→下の順に予測/復元できる。又は、左→右の順に予測/復元するが、左側及び右側の各サブブロックは下→上の順に予測/復元できる。又は、右→左の順に予測/復元するが、右側及び左側の各サブブロックは上→下の順に予測/復元できる。又は、右→左の順に予測/復元するが、右側及び左側の各サブブロックは下→上の順に予測/復元できる。
【0197】
符号化/復号化装置は、前述した順序のいずれか一つを定義し、これを固定的に使用することができる。又は、符号化/復号化装置は、前述した順序のうちの少なくとも2つを定義し、これらのうちのいずれかを選択的に使用することもできる。このため、既に定義された順序のうちのいずれかを特定するインデックス又はフラグが符号化されてシグナリングされ得る。
【0198】
図6は本発明が適用される一実施形態として、参照領域の利用不可画素を代替する方法を示すものである。
【0199】
前述したように、参照領域は第1画素ライン乃至第4画素ラインのうちのいずれか一つに決定できる。ただし、本実施形態では、説明の便宜のために参照領域が第1画素ラインである場合を仮定する。本実施形態は、第2画素ライン乃至第4画素ラインについても同一/類似に適用できる。
【0200】
参照領域の画素が全て利用不可である場合、当該画素は、ビット深度(bitdepth)によって表現される画素値の範囲又は画像の実際画素値の範囲のうちのいずれか一つの値で代替できる。例えば、画素値範囲の最大値、最小値、中央値、平均値などが代替される値に該当することができる。ビット深度が8である場合、ビット深度の中央値で代替する場合、参照領域のすべての画素は128で埋められることができる。
【0201】
ただし、そうでない場合、すなわち、参照領域の画素がすべて利用不可ではないが、参照領域の画素のうちの少なくとも一つが利用不可である場合、現在ブロックの上端参照領域、左側参照領域、右側参照領域又は下端参照領域のうちの少なくとも一つに対して代替過程が行われ得る。説明の便宜のために、現在ブロックの左側、上端、右側参照領域を中心に説明する。
【0202】
(STEP1)現在ブロック(予測ブロック)に隣接する左上端画素(TL)が利用不可であるか否かを判断する。もし左上端画素(TL)が利用不可である場合、当該画素はビット深度の中央値で代替できる。
【0203】
(STEP2)上端参照領域に利用不可画素が存在するかを順次探索することができる。ここで、上端参照領域は、現在ブロックの上端又は右上端に隣接する画素ラインのうちの少なくとも一つを含むことができる。上端参照領域の長さは、現在ブロックの幅(nW)、(2*nW)、又は幅と高さの和(nW+nH)と同一であることができる。
【0204】
ここで、探索は、左側から右側の方向に行われることができる。このとき、画素p[x][-1]が利用不可であると判断された場合、画素p[x][-1]は、周辺画素p[x-1][-1]で代替できる。又は、探索は、右側から左側の方向に行われることもできる。このとき、画素p[x][-1]が利用不可であると判断された場合、画素p[x][-1]は、周辺画素p[x+1][-1]で代替できる。
【0205】
(STEP3)左側参照領域に利用不可画素が存在するかを順次探索することができる。ここで、左側参照領域は、現在ブロックの左側又は左下端に隣接する画素ラインのうちの少なくとも一つを含むことができる。左側参照領域の長さは、現在ブロックの高さ(nH)、(2*nH)、又は幅と高さの和(nW+nH)と同一であることができる。
【0206】
ここで、探索は、上端から下端の方向に行われることができる。このとき、画素p[-1][y]が利用不可であると判断された場合、画素p[-1][y]は、周辺画素p[-1][y-1]で代替できる。又は、探索は、下端から上端の方向に行われることもできる。このとき、画素p[-1][y]が利用不可であると判断された場合、画素p[-1][y]は、周辺画素p[-1][y+1]で代替できる。
【0207】
(STEP4)右側参照領域に利用不可画素が存在するかを順次探索することができる。ここで、右側参照領域は、現在ブロックの右側に隣接する画素ラインを含むことができる。右側参照領域の長さは、現在ブロックの高さ(nH)と同一であることができる。
【0208】
ここで、探索は、上端から下端の方向に行われることができる。このとき、画素p[nW][y]が利用不可であると判断された場合、画素p[nW][y]は、周辺画素p[nW][y-1]で代替できる。又は、探索は、下端から上端の方向に行われることもできる。このとき、画素p[nW][y]が利用不可であると判断された場合には、画素p[nW][y]は、周辺画素p[nW][y+1]で代替できる。
【0209】
又は、右側参照領域に対しては、別途の探索過程が省略できる。その代わりに、右側参照領域の利用不可画素は、ビット深度の中央値で埋められることができる。又は、右側参照領域の利用不可画素は、現在ブロックに隣接する右上端画素TR又は右下端画素BRのうちのいずれかで代替されるか、或いはこれらの代表値で代替され得る。ここで、代表値は、平均値、最大値、最小値、最頻値、中央値などで表現できる。又は、右側参照領域の利用不可画素は、右上端画素TRと右下端画素BRのそれぞれに所定の重みを適用して誘導できる。このとき、重みは、右側参照領域の利用不可画素と右上端画素TR間の第1距離と、右側参照領域の利用不可画素と右下端画素BR間の第2距離を考慮して決定できる。前記右下端画素BRは、現在ブロックに隣接する左上端画素TL、右上端画素TR又は左下端画素BLのうちのいずれか一つで埋められるか、左上端画素TL、右上端画素TR又は左下端画素BLのうちの少なくとも2つの代表値で代替できる。ここで、代表値は、前述した通りである。又は、前記右下端画素BRは、左上端画素TL、右上端画素TR又は左下端画素BLのうちの少なくとも2つにそれぞれ所定の重みを適用して誘導できる。ここで、重みは、前記右下端画素BRとの距離を考慮して決定できる。
【0210】
一方、前述した代替過程は、上端→左側→右側の優先順序で行われることに限定されない。例えば、代替過程は、左側→上端→右側の優先順序で行われ得る。又は、代替過程は、上端及び左側参照領域に対して並列的に行われ、その後、右側参照領域に対して行われることもできる。また、STEP1過程は、左側→上端→右側の優先順序で代替過程が行われる場合には省略できる。
【0211】
図7は本発明が適用される一実施形態として、イントラ予測モードを変更/補正する方法を示す図である。
【0212】
復号化されたイントラ予測モード(IntraPredMode)は、所定のオフセットに基づいて変更できる。前記オフセットの適用は、ブロックの属性、すなわち、サイズ、形状、分割情報、分割デプス、イントラ予測モードの値、又は成分タイプのうちの少なくとも一つに基づいて選択的に行われ得る。ここで、ブロックは、前記現在ブロック及び/又は現在ブロックの周辺ブロックを意味することができる。
【0213】
前記分割情報は、現在ブロックが複数のサブブロックに分割されるか否かを示す第1情報、分割方向(例えば、水平又は垂直)を示す第2情報、又は分割されたサブブロックの個数に関する第3情報のうちの少なくとも一つを含むことができる。前記分割情報は、符号化装置で符号化されてシグナリングされることができる。又は、前記分割情報の一部は、前述したブロックの属性に基づいて復号化装置で可変的に決定されることもでき、符号化/復号化装置に既に定義された固定値に設定されることもできる。
【0214】
例えば、前記第1情報が第1値である場合には、現在ブロックは、複数のサブブロックに分割され、そうでない場合には、現在ブロックは、複数のサブブロックに分割されないことができる(NO_SPLIT)。現在ブロックが複数のサブブロックに分割される場合には、前記第2情報に基づいて、現在ブロックは、水平分割(HOR_SPLIT)又は垂直分割(VER_SPLIT)できる。この際、現在ブロックはk個のサブブロックに分割できる。ここで、kは2、3、4又はそれ以上の整数であることができる。又は、kは1、2、4などのように2の指数乗に制限できる。又は、現在ブロックの幅又は高さのうちの少なくとも一つが4であるブロック(例えば、4×8、8×4)の場合には、前記kは2に設定され、そうでない場合には、前記kは4、8又は16に設定されることができる。現在ブロックが非分割である場合(NO_SPLIT)、前記kは1に設定されることができる。
【0215】
前記現在ブロックは、互いに同一の幅と高さを持つサブブロックに分割されることもでき、互いに異なる幅と高さを持つサブブロックに分割されることもできる。現在ブロックは、前述したブロックの属性に関係なく、符号化/復号化装置に既に約束されたN×Mブロック単位(例えば、2×2、2×4、4×4、8×4、8×8など)に分割されることもできる。
【0216】
前記オフセットは、現在ブロックの大きさが所定の閾値T1と同じかそれより小さい場合にのみ適用できる。ここで、閾値T1は、オフセットが適用される最大ブロックサイズを意味することができる。又は、現在ブロックの大きさが所定の閾値T2と同じかそれより大きい場合にのみ適用されることもできる。このとき、閾値T2は、オフセットが適用される最小ブロックサイズを意味することができる。前記閾値は、ビットストリームを介してシグナリングされることもできる。又は、前述したブロックの属性のうちの少なくとも一つに基づいて、復号化装置で可変的に決定されることもでき、符号化/復号化装置に既に約束された固定値でもあり得る。
【0217】
又は、前記オフセットは、現在ブロックの形状がnon-squareである場合にのみ適用できる。一例として、次の条件を満足する場合には、現在ブロックのIntraPredModeに所定のオフセット(例えば、65)が加算できる。
【0218】
-nW is greater than nH
-IntraPredMode is greater than or equal to 2
-IntraPredMode is less than(whRatio>1)?(8+2*whRatio):8
【0219】
ここで、nWとnHは現在ブロックの幅と高さをそれぞれ意味し、whRatioはAbs(Log2(nW/nH))に設定できる。
【0220】
又は、次の条件を満足する場合、現在ブロックのIntraPredModeに対して所定のオフセット(例えば、67)を減算することができる。
【0221】
-nH is greater than nW
-IntraPredMode is less than or equal to 66
-IntraPredMode is greater than(whRatio>1)?(60-2*whRatio):60
【0222】
前述したように、現在ブロックの属性を考慮して、現在ブロックのイントラ予測モード(IntraPredMode)に対してオフセットを加算/減算して、最終イントラ予測モードを決定することができる。ただし、これに限定されず、オフセットの適用は、現在ブロックの代わりに、サブブロックの属性(例えば、サイズ、形状)を考慮して、同一/類似に行われることもできる。
【0223】
図8は本発明が適用される一実施形態として、成分間参照に基づく予測方法を示すものである。
【0224】
現在ブロックは、成分のタイプによって輝度ブロックと色差ブロックに分類できる。色差ブロックは、既に復元された輝度ブロックの画素を用いて予測でき、これを成分間参照と呼ぶ。本実施形態では、色差ブロックは(nTbW×nTbH)の大きさを有し、色差ブロックに対応する輝度ブロックは(2*nTbW×2*nTbH)の大きさを有することを仮定する。
【0225】
図8を参照すると、色差ブロックのイントラ予測モードを決定することができる(S800)。
【0226】
図5で考察したように、第3フラグに基づいて、色差ブロックのイントラ予測モードは、第1グループに属する一つ又はそれ以上の成分間参照基盤の予測モードのうちのいずれか一つに決定できる。第1グループは、成分間参照基盤の予測モードのみで構成できる。符号化/復号化装置は、成分間参照基盤の予測モードとして、INTRA_LT_CCLM、ITRA_L_CCLM、又はINTRA_T_CCLMのうちの少なくとも一つを定義することができる。INTRA_LT_CCLMは、輝度/色差ブロックに隣接する左側及び上端領域をすべて参照するモードであり、INTRA_L_CCLMは、輝度/色差ブロックに隣接する左側領域を参照するモードであり、INTRA_T_CCLMは、輝度/色差ブロックに隣接する上端領域を参照するモードであることができる。
【0227】
前記成分間参照基盤の予測モードのうちのいずれか一つを選択するために、所定のインデックスが使用できる。前記インデックスは、INTRA_LT_CCLM、INTRA_L_CCLM、又はINTRA_T_CCLMのうちのいずれか一つを特定する情報であることができる。前記インデックスは、前記第3フラグが第1値である場合に限ってシグナリングされることができる。第1グループに属する成分間参照基盤の予測モードと各予測モードに割り当てられたインデックスは、下記表6のとおりである。
【0228】
【表6】
【0229】
表6は各予測モードに割り当てられるインデックスの一例に過ぎず、これに限定されない。つまり、表6に示すように、INTRA_LT_CCLM、INTRA_L_CCLM、INTRA_T_CCLMの優先順序でインデックスが割り当てられてもよく、INTRA_LT_CCLM、INTRA_T_CCLM、INTRA_L_CCLMの優先順序でインデックスが割り当てられてもよい。或いは、INTRA_LT_CCLMがINTRA_T_CCLM又はINTRA_L_CCLMよりも低い優先順序を持つこともできる。前記第3フラグは、成分間参照が許容されるか否かを示す情報に基づいて選択的にシグナリングできる。例えば、前記情報の値が1である場合には、前記第3フラグがシグナリングされ、そうでない場合には、前記第3グラフはシグナリングされないことができる。ここで、情報は後述する所定の条件に基づいて0又は1に決定できる。
【0230】
(条件1)成分間参照に基づく予測が許容されるか否かを示す第4フラグが0である場合には、前記情報は0に設定できる。前記第4フラグは、VPS、SPS、PPS及びスライスヘッダのうちの少なくとも一つでシグナリングできる。
【0231】
(条件2)次のサブ条件のうちの少なくとも一つを満足する場合には、前記情報は1に設定できる。
【0232】
-qtbtt_dual_tree_intra_flagの値が0である場合
【0233】
-スライスタイプがIスライスではない場合
【0234】
-符号化ツリーブロックの大きさが64×64よりも小さい場合
【0235】
前記条件2で、qtbtt_dual_tree_intra_flagは、符号化ツリーブロックがサイズ64×64の符号化ブロックに黙示的に分割され、サイズ64×64の符号化ブロックがデュアルツリーに分割されるか否かを示すことができる。前記デュアルツリーは、輝度成分と色差成分が互いに独立した分割構造をもって分割される方式を意味することができる。前記符号化ツリーブロックの大きさ(CtbLog2Size)は、符号化/復号化装置に既に定義された大きさ(例えば、64×64、128×128、256×256)であってもよく、符号化装置で符号化されてシグナリングされてもよい。
【0236】
(条件3)次のサブ条件のうちの少なくとも一つを満足する場合には、前記情報は1に設定できる。
【0237】
-第1上位ブロックの幅と高さが64である場合
【0238】
-第1上位ブロックのデプスが(CtbLog2Size-6)と同一であり、第1上位ブロックがHorizontal BT分割により分割され、第2上位ブロックが64×32である場合
【0239】
-第1上位ブロックのデプスが(CtbLog2Size-6)よりも大きい場合
【0240】
-第1上位ブロックのデプスが(CtbLog2Size-6)と同一であり、第1上位ブロックがHorizontal BT分割により分割され、第2上位ブロックがVertical BT分割により分割された場合
【0241】
前記条件3で、第1上位ブロックは、現在色差ブロックを下位ブロックとして含むブロックであり得る。例えば、現在色差ブロックのデプスがkである場合には、第1上位ブロックのデプスは(kn)であり、nは1、2、3、4又はそれ以上であり得る。前記第1上位ブロックのデプスは、四分木ベースの分割によるデプスのみを意味するか、或いは四分木、二分木又は三分木のうちの少なくとも一つの分割によるデプスを意味することができる。前記第2上位ブロックは、第1上位ブロックに属する下位ブロックであって、現在色差ブロックよりも小さいデプスを、第1上位ブロックよりも大きいデプスを持つことができる。例えば、現在色差ブロックのデプスがkである場合、第2上位ブロックのデプスは(k-m)であり、mはnよりも小さい自然数であり得る。
【0242】
前述した条件1~3のいずれか一つも満足しない場合、前記情報は0に設定できる。
【0243】
但し、条件1~3のうちの少なくとも一つを満足する場合でも、次のサブ条件のうちの少なくとも一つを満足する場合には、前記情報は0に再設定できる。
【0244】
-第1上位ブロックが64×64であり、前述したサブブロック単位の予測を行う場合
【0245】
-第1上位ブロックの幅又は高さのうちの少なくとも一つが64よりも小さく、第1上位ブロックのデプスが(CtbLog2Size-6)と同じである場合
【0246】
図8を参照すると、色差ブロックの成分間参照のための輝度領域を特定することができる(S810)。
【0247】
前記輝度領域は、輝度ブロック、又は輝度ブロックに隣接する隣接領域のうちの少なくとも一つを含むことができる。ここで、輝度ブロックは、画素pY[x][y](x=0..nTbW*2-1、y=0..nTbH*2-1)を含む領域として定義できる。前記画素は、インループフィルタが適用される前の復元値を意味することができる。
【0248】
前記隣接領域は、左側隣接領域、上端隣接領域又は左上端隣接領域のうちの少なくとも一つを含むことができる。前記左側隣接領域は、画素pY[x][y](x=-1..-3、y=0..2*numSampL-1)を含む領域に設定できる。前記設定は、numSampLの値が0よりも大きい場合に限って行われ得る。前記上端隣接領域は、画素pY[x][y](x=0..2*numSampT-1、y=-1..-3)を含む領域に設定できる。前記設定は、numSampTの値が0よりも大きい場合に限って行われ得る。前記左上端隣接領域は、画素pY[x][y](x=-1、y=-1、-2)を含む領域に設定できる。上記の設定は、輝度ブロックの左上端領域が利用可能である場合に限って行われ得る。
【0249】
前述したnumSampL及びnumSampTは、現在ブロックのイントラ予測モードに基づいて決定できる。ここで、現在ブロックは色差ブロックを意味することができる。
【0250】
例えば、現在ブロックのイントラ予測モードがINTRA_LT_CCLMである場合、下記数式1のように誘導できる。ここで、INTRA_LT_CCLMは、成分間参照が現在ブロックの左側及び上端に隣接する領域に基づいて行われるモードを意味することができる。
【0251】
[数式1]
numSampT=availT?nTbW:0
numSampL=availL?nTbH:0
【0252】
数式1によると、numSampTは、現在ブロックの上端隣接領域が利用可能である場合にはnTbWに誘導され、そうでない場合には0に誘導され得る。同様に、numSampLは、現在ブロックの左側隣接領域が利用可能である場合にはnTbHに誘導され、そうでない場合には0に誘導され得る。
【0253】
これに対し、現在ブロックのイントラ予測モードがINTRA_LT_CCLMではない場合には、下記数式2のように誘導できる。
【0254】
[数式2]
numSampT=(availT&&predModeIntra==INTRA_T_CCLM)?(nTbW+numTopRight):0
numSampL=(availL&&predModeIntra==INTRA_L_CCLM)?(nTbH+numLeftBelow):0
【0255】
数式2において、INTRA_T_CCLMは、成分間参照が現在ブロックの上端に隣接する領域に基づいて行われるモードを意味し、INTRA_L_CCLMは、成分間参照が現在ブロックの左側に隣接する領域に基づいて行われるモードを意味することができる。numTopRightは、色差ブロックの右上端に隣接する領域に属する全部又は一部画素の個数を意味することができる。一部の画素は、当該領域の最下端画素ライン(row)に属する画素のうちの利用可能画素を意味することができる。利用可能に対する判断は左から右方向に画素の利用可能か否かを順次判断し、これは利用不可画素が発見されるまで行われ得る。numLeftBelowは、色差ブロックの左下端に隣接する領域に属する全部又は一部の画素の個数を意味することができる。一部の画素は、当該領域の最右側画素ライン(column)に属する画素のうちの利用可能画素を意味することができる。利用可能に対する判断は上から下方向に画素の利用可能か否かを順次判断し、これは利用不可画素が発見されるまで行われ得る。
【0256】
図8を参照すると、S810で特定された輝度領域に対してダウンサンプリングが行われ得る(S820)。
【0257】
前記ダウンサンプリングは、1.輝度ブロックに対するダウンサンプリング、2.輝度ブロックの左側隣接領域に対するダウンサンプリング、又は3.輝度ブロックの上端隣接領域に対するダウンサンプリングのうちの少なくとも一つを含むことができ、以下に詳細に考察する。
【0258】
1.輝度ブロックに対するダウンサンプリング
(実施形態1)
ダウンサンプリングされた輝度ブロックの画素pDsY[x][y](x=0..nTbW-1、y=0..nTbH-1)は、輝度ブロックの対応画素pY[2*x][2*y]及び周辺画素に基づいて誘導できる。周辺画素は、対応画素の左側、右側、上端又は下端のうちの少なくとも一つの方向に隣接する画素を意味することができる。例えば、画素pDsY[x][y]は、下記数式3のように誘導できる。
【0259】
[数式3]
pDsY[x][y]=(pY[2*x][2*y-1]+pY[2*x-1][2*y]+4*pY[2*x][2*y]+pY[2*x+1][2*y]+pY[2*x][2*y+1]+4)>>3
【0260】
但し、現在ブロックの左側/上端隣接領域が利用不可能である場合が存在することができる。もし現在ブロックの左側隣接領域が利用不可能である場合、ダウンサンプリングされた輝度ブロックの画素pDsY[0][y](y=1..nTbH-1)は、輝度ブロックの対応画素pY[0][2*y]及び周辺画素に基づいて誘導できる。周辺画素は、対応画素の上端又は下端のうちの少なくとも一つの方向に隣接する画素を意味することができる。例えば、画素pDsY[0][y](y=1..nTbH-1)は、下記数式4のように誘導できる。
【0261】
[数式4]
pDsY[0][y]=(pY[0][2*y-1]+2*pY[0][2*y]+pY[0][2*y+1]+2)>>2
【0262】
もし現在ブロックの上端隣接領域が利用不可能である場合、ダウンサンプリングされた輝度ブロックの画素pDsY[x][0](x=1..nTbW-1)は、輝度ブロックの対応画素pY[2*x][0]及び周辺画素に基づいて誘導できる。周辺画素は、対応画素の左側又は右側のうちの少なくとも一つの方向に隣接する画素を意味することができる。例えば、画素pDsY[x][0](x=1..nTbW-1)は、下記数式5のように誘導できる。
【0263】
[数式5]
pDsY[x][0]=(pY[2*x-1][0]+2*pY[2*x][0]+pY[2*x+1][0]+2)>>2
【0264】
一方、ダウンサンプリングされた輝度ブロックの画素pDsY[0][0]は、輝度ブロックの対応画素pY[0][0]及び/又は周辺画素に基づいて誘導できる。周辺画素の位置は、現在ブロックの左側/上端隣接領域の利用可能か否かによって異なるように決定できる。
【0265】
例えば、左側隣接領域が利用可能であり、上端隣接領域が利用可能でない場合には、pDsY[0][0]は、下記数式6のように誘導できる。
【0266】
[数式6]
pDsY[0][0]=(pY[-1][0]+2*pY[0][0]+pY[1][0]+2)>>2
【0267】
これに対し、左側隣接領域が利用可能でなく、上端隣接領域が利用可能である場合には、pDsY[0][0]は、下記数式7のように誘導できる。
【0268】
[数式7]
pDsY[0][0]=(pY[0][-1]+2*pY[0][0]+pY[0][1]+2)>>2
【0269】
一方、左側及び上端隣接領域の両方とも利用可能でない場合、pDsY[0][0]は、輝度ブロックの対応画素pY[0][0]に設定できる。
【0270】
(実施形態2)
ダウンサンプリングされた輝度ブロックの画素pDsY[x][y](x=0..nTbW-1、y=0..nTbH-1)は、輝度ブロックの対応画素pY[2*x][2*y]及び周辺画素に基づいて誘導できる。周辺画素は、対応画素の下端、左側、右側、左下端又は右下端のうちの少なくとも一つの方向に隣接する画素を意味することができる。例えば、画素pDsY[x][y]は、下記数式8のように誘導できる。
【0271】
[数式8]
pDsY[x][y]=(pY[2*x-1][2*y]+pY[2*x-1][2*y+1]+2*pY[2*x][2*y]+2*pY[2*x][2*y+1]+pY[2*x+1][2*y]+pY[2*x+1][2*y+1]+4)>>3
【0272】
但し、もし現在ブロックの左側隣接領域が利用不可能である場合、ダウンサンプリングされた輝度ブロックの画素pDsY[0][y](y=0..nTbH-1)は、輝度ブロックの対応画素pY[0][2*y]及び下端の周辺画素に基づいて誘導できる。例えば、画素pDsY[0][y](y=0..nTbH-1)は、下記数式9のように誘導できる。
【0273】
[数式9]
pDsY[0][y]=(pY[0][2*y]+pY[0][2*y+1]+1)>>1
【0274】
輝度ブロックのダウンサンプリングは、前述した実施形態1及び2のうちのいずれかに基づいて行われ得る。この時、所定のフラグに基づいて実施形態1又は2のうちのいずれかが選択できる。前記フラグは、ダウンサンプリングされた輝度画素が原輝度画素と同じ位置を持つか否かを示すことができる。例えば、前記フラグが第1値である場合には、ダウンサンプリングされた輝度画素が原輝度画素と同じ位置を持つ。これに対し、前記フラグが第2値である場合には、ダウンサンプリングされた輝度画素は、原輝度画素と水平方向には同じ位置を持つが、垂直方向にはハーフペル(half pel)だけシフトされた位置を持つ。
【0275】
2.輝度ブロックの左側隣接領域に対するダウンサンプリング
(実施形態1)
ダウンサンプリングされた左側隣接領域の画素pLeftDsY[y](y=0..numSampL-1)は、左側隣接領域の対応画素pY[-2][2*y]及び周辺画素に基づいて誘導できる。周辺画素は、対応画素の左側、右側、上端又は下端のうちの少なくとも一つの方向に隣接する画素を意味することができる。例えば、画素pLeftDsY[y]は、下記数式10のように誘導できる。
【0276】
[数式10]
pLeftDsY[y]=(pY[-2][2*y-1]+pY[-3][2*y]+4*pY[-2][2*y]+pY[-1][2*y]+pY[-2][2*y+1]+4)>>3
【0277】
但し、現在ブロックの左上端隣接領域が利用不可能である場合、ダウンサンプリングされた左側隣接領域の画素pLeftDsY[0]は、左側隣接領域の対応画素pY[-2][0]及び周辺画素に基づいて誘導できる。周辺画素は、対応画素の左側又は右側のうちの少なくとも一つの方向に隣接する画素を意味することができる。例えば、画素pLeftDsY[0]は、下記数式11のように誘導できる。
【0278】
[数式11]
pLeftDsY[0]=(pY[-3][0]+2*pY[-2][0]+pY[-1][0]+2)>>2
【0279】
(実施形態2)
ダウンサンプリングされた左側隣接領域の画素pLeftDsY[y](y=0..numSampL-1)は、左側隣接領域の対応画素pY[-2][2*y]及び周辺画素に基づいて誘導できる。周辺画素は、対応画素の下側、左側、右側、左下端又は右下端のうちの少なくとも一つの方向に隣接する画素を意味することができる。例えば、画素pLeftDsY[y]は、下記数式12のように誘導できる。
【0280】
[数式12]
pLeftDsY[y]=(pY[-1][2*y]+pY[-1][2*y+1]+2*pY[-2][2*y]+2*pY[-2][2*y+1]+pY[-3][2*y]+pY[-3][2*y+1]+4)>>3
【0281】
同様に、左側隣接領域のダウンサンプリングは、前述した実施形態1及び2のうちのいずれかに基づいて行われ得る。この時、所定のフラグに基づいて実施形態1又は2のうちのいずれかが選択できる。前記フラグは、ダウンサンプリングされた輝度画素が原輝度画素と同じ位置を持つか否かを示し、これは、前述した通りである。
【0282】
一方、左側隣接領域に対するダウンサンプリングは、numSampL値が0よりも大きい場合に限って行われ得る。numSampL値が0よりも大きい場合とは、現在ブロックの左側隣接領域が利用可能であり、現在ブロックのイントラ予測モードはINTRA_LT_CCLM又はINTRA_L_CCLMである場合を意味することができる。
【0283】
3.輝度ブロックの上端隣接領域に対するダウンサンプリング
(実施形態1)
ダウンサンプリングされた上端隣接領域の画素pTopDsY[x](x=0..numSampT-1)は、上端隣接領域が輝度ブロックとは異なるCTUに属するか否かを考慮して誘導できる。
【0284】
上端隣接領域が輝度ブロックと同じCTUに属する場合、ダウンサンプリングされた上端隣接領域の画素pTopDsY[x]は、上端隣接領域の対応画素pY[2*x][-2]及び周辺画素に基づいて誘導できる。周辺画素は、対応画素の左側、右側、上端又は下端のうちの少なくとも一つの方向に隣接する画素を意味することができる。例えば、画素pTopDsY[x]は、下記数式13のように誘導できる。
【0285】
[数式13]
pTopDsY[x]=(pY[2*x][-3]+pY[2*x-1][-2]+4*pY[2*x][-2]+pY[2*x+1][-2]+pY[2*x][-1]+4)>>3
【0286】
これに対し、上端隣接領域が輝度ブロックとは異なるCTUに属する場合、ダウンサンプリングされた上端隣接領域の画素pTopDsY[x]は、上端隣接領域の対応画素pY[2*x][-1]及び周辺画素に基づいて誘導できる。周辺画素は、対応画素の左側又は右側のうちの少なくとも一つの方向に隣接する画素を意味することができる。例えば、画素pTopDsY[x]は、下記数式14のように誘導できる。
【0287】
[数式14]
pTopDsY[x]=(pY[2*x-1][-1]+2*pY[2*x][-1]+pY[2*x+1][-1]+2)>>2
【0288】
又は、現在ブロックの左上端隣接領域が利用不可能である場合、前記周辺画素は、対応画素の上端又は下端のうちの少なくとも一つの方向に隣接する画素を意味することができる。例えば、画素pTopDsY[0]は、下記数式15のように誘導できる。
【0289】
[数式15]
pTopDsY[0]=(pY[0][-3]+2*pY[0][-2]+pY[0][-1]+2)>>2
【0290】
又は、現在ブロックの左上端隣接領域が利用不可能であり、上端隣接領域が輝度ブロックとは異なるCTUに属する場合、画素pTopDsY[0]は、上側隣接領域の画素pY[0][-1]に設定できる。
【0291】
(実施形態2)
ダウンサンプリングされた上端隣接領域の画素pTopDsY[x](x=0..numSampT-1)は、上端隣接領域が輝度ブロックとは異なるCTUに属するか否かを考慮して誘導できる。
【0292】
上端隣接領域が輝度ブロックと同じCTUに属する場合、ダウンサンプリングされた上側隣接領域の画素pTopDsY[x]は、上端隣接領域の対応画素pY[2*x][-2]及び周辺画素に基づいて誘導できる。周辺画素は、対応画素の下端、左側、右側、左下端又は右下端のうちの少なくとも一つの方向に隣接する画素を意味することができる。例えば、画素pTopDsY[x]は、下記数式16のように誘導できる。
【0293】
[数式16]
pTopDsY[x]=(pY[2*x-1][-2]+pY[2*x-1][-1]+2*pY[2*x][-2]+2*pY[2*x][-1]+pY[2*x+1][-2]+pY[2*x+1][-1]+4)>>3
【0294】
これに対し、上端隣接領域が輝度ブロックとは異なるCTUに属する場合、ダウンサンプリングされた上端隣接領域の画素pTopDsY[x]は、上端隣接領域の対応画素pY[2*x][-1]及び周辺画素に基づいて誘導できる。周辺画素は、対応画素の左側又は右側のうちの少なくとも一つの方向に隣接する画素を意味することができる。例えば、画素pTopDsY[x]は、下記数式17のように誘導できる。
【0295】
[数式17]
pTopDsY[x]=(pY[2*x-1][-1]+2*pY[2*x][-1]+pY[2*x+1][-1]+2)>>2
【0296】
又は、現在ブロックの左上端隣接領域が利用不可能である場合、前記周辺画素は、対応画素の上端又は下端のうちの少なくとも一つの方向に隣接する画素を意味することができる。例えば、画素pTopDsY[0]は、下記数式18のように誘導できる。
【0297】
[数式18]
pTopDsY[0]=(pY[0][-2]+pY[0][-1]+1)>>1
【0298】
又は、現在ブロックの左上端隣接領域が利用不可能であり、上端隣接領域が輝度ブロックとは異なるCTUに属する場合、画素pTopDsY[0]は、上端隣接領域の画素pY[0][-1]に設定できる。
【0299】
同様に、上端隣接領域のダウンサンプリングは、前述した実施形態1及び2のうちのいずれかに基づいて行われ得る。この時、所定のフラグに基づいて実施形態1又は2のうちのいずれかが選択できる。前記フラグは、ダウンサンプリングされた輝度画素が原輝度画素と同じ位置を持つか否かを示し、これは、前述したとおりである。
【0300】
一方、上端隣接領域に対するダウンサンプリングは、numSampT値が0よりも大きい場合に限って行われ得る。numSampT値が0よりも大きい場合とは、現在ブロックの上端隣接領域が利用可能であり、現在ブロックのイントラ予測モードはINTRA_LT_CCLM又はINTRA_T_CCLMである場合を意味することができる。
【0301】
前述した輝度ブロックの左側又は上端隣接領域のうちの少なくとも一つ(以下、輝度参照領域)に対するダウンサンプリングは、特定の位置の対応画素pY[-2][2*y]及び周辺画素のみを用いて行われることができる。ここで、特定の位置は、色差ブロックの左側又は上端隣接領域のうちの少なくとも一つ(以下、色差参照領域)に属する複数の画素の中から選択された画素の位置に基づいて決定できる。
【0302】
前記選択された画素は、色差参照領域において奇数番目に位置する画素であるか、或いは偶数番目に位置する画素であることができる。又は、前記選択された画素は、開始画素、及び開始画素から所定の間隔ごとに位置する一つ又はそれ以上の画素であることができる。ここで、開始画素は、色差参照領域において一番目、二番目又は三番目に位置する画素であることができる。前記間隔は、1つ、2つ、3つ、4つ又はそれ以上のサンプル間隔であることができる。例えば、前記間隔が1つのサンプル間隔である場合、選択された画素は、n番目の画素、(n+2)番目の画素などを含むことができる。選択された画素の個数は、2つ、4つ、6つ、8つ又はそれ以上であることができる。
【0303】
前記選択された画素の個数、開始画素及び間隔は、色差参照領域の長さ(つまり、numSampL及び/又はnumSampT)又は色差ブロックのイントラ予測モードのうちの少なくとも一つに基づいて可変的に決定できる。又は、選択された画素の個数は、色差参照領域の長さ及び色差ブロックのイントラ予測モードに関係なく、符号化/復号化装置に既に約束された固定個数(例えば、4つ)であることができる。
【0304】
図8を参照すると、色差ブロックの成分間参照のためのパラメータを誘導することができる(S830)。
【0305】
前記パラメータは、重み又はオフセットのうちの少なくとも一つを含むことができる。前記パラメータは、現在ブロックのイントラ予測モードを考慮して決定できる。前記パラメータは、色差参照領域の選択された画素、及び輝度参照領域のダウンサンプリングを介して取得された画素を用いて誘導できる。
【0306】
具体的には、輝度参照領域のダウンサンプリングを介して取得されたn個の画素間の大きさの比較を行うことにより、n個の画素を2つのグループに分類することができる。例えば、第1グループは、n個の画素のうち、相対的に大きい値を持つ画素のグループであり、第2グループは、n個のサンプルのうち、第1グループの画素を除いた残りの画素のグループであることができる。すなわち、第2グループは、相対的に小さい値を持つ画素のグループであることができる。ここで、nは4、8、16又はそれ以上であることができる。第1グループに属する画素の平均値を最大値(MaxL)に設定し、第2グループに属する画素の平均値を最小値(MinL)に設定することができる。
【0307】
前記輝度参照領域のダウンサンプリングを介して取得されたn個の画素に対するグループ化に基づいて、色差参照領域の選択された画素をグループ化することができる。輝度参照領域に対する第1グループの画素に対応する色差参照領域の画素を用いて、色差参照領域に対する第1グループを構成し、輝度参照領域に対する第2グループの画素に対応する色差参照領域の画素を用いて、色差参照領域に対する第2グループを構成することができる。同様に、第1グループに属する画素の平均値を最大値(MaxC)に設定し、第2グループに属する画素の平均値を最小値(MinC)に設定することができる。
【0308】
前記算出された最大値(MaxL、MaxC)及び最小値(MinL、MinC)に基づいて、前記パラメータの重み及び/又はオフセットを誘導することができる。
【0309】
色差ブロックは、ダウンサンプリングされた輝度ブロックとパラメータに基づいて予測できる(S840)。
【0310】
色差ブロックは、ダウンサンプリングされた輝度ブロックの画素に、既に誘導された重み又はオフセットのうちの少なくとも一つを適用して予測できる。
【0311】
図9は本発明が適用される一実施形態として、参照領域を構成する方法を示す図である。
【0312】
本発明に係る参照領域は、現在ブロックの隣接する領域であることができる。次に、カテゴリー別に参照領域が分類されて各参照領域を利用可能画素で構成する方法について説明する。説明の便宜のために、現在ブロックの左側、上端、右側参照領域を中心に説明する。後述する実施形態で述べていない説明は、図6で説明した実施形態を介して参照又は誘導できる。
【0313】
図9を参照すると、参照領域の画素を所定のカテゴリーに区分することができる(SA00)。
【0314】
参照領域はk個のカテゴリーに区分/分類することができ、kは1、2、3又はそれ以上の整数であることができる。又は、kは2以下の整数に制限できる。参照領域は、画像タイプ(I/P/B)、成分タイプ(Y/Cb/Crなど)、ブロックの属性(大きさ、形状、分割情報、分割デプスなど)、参照画素の位置などに基づいて、所定のカテゴリーのうちのいずれか一つに分類できる。ここで、ブロックは、現在ブロック及び/又は現在ブロックの周辺ブロックを意味することができる。
【0315】
例えば、ブロックの大きさによって所定のカテゴリーに分類できる。この際、ブロックの大きさは、閾値の大きさによって支援範囲が定められることができる。各閾値の大きさは、幅(W)と高さ(H)でW、H、W×H、W*Hと表現できる。WとHは4、8、16、32などの自然数であることができる。閾値の大きさは2つ以上支援され、ブロックが持つことが可能な最小値、最大値などの支援範囲の設定に使用できる。
【0316】
又は、参照画素の位置によって所定のカテゴリーに分類できる。この時、前記参照画素の位置は、画素単位によって定義することができるか、或いは当該参照画素の属するブロックの方向(左、右、上、下、左上、右上、左下、右下方向)によって定義することができる。
【0317】
図6を参照すると、左上端画素(TL)、右上端画素(TR)、左下端画素(BL)、右下端画素(BR)の位置の中に含まれるか否かによって定義することができる。また、現在ブロックの幅(2*nW)、高さ(2*nH)、又は幅と高さの和(nW+nH)に基づいて位置するTL0、TL1、TR0、TR1、BL0、BL1、BR0、BR1画素位置の中に含まれるか否かによって定義することができる。また、図12を参照すると、上、下、左、右ブロックの両端に位置する画素であるT0、T3、B0、B3、L0、L3、R0、R3画素位置の中に含まれるか否かによって定義することができる。又は、各ブロックの中間に位置する画素(T1、L2、B2、R1など)の中に含まれるか否かによって定義することができる。
【0318】
前記様々な符号化要素に基づいて参照領域(参照画素)をカテゴリー別に分類することができる。
【0319】
図9を参照すると、参照領域に属する利用不可画素を探索することができる(SA10)。
【0320】
参照領域に利用不可画素が存在するかを順次探索することができる。図6を参照すると、探索の開始位置は、TL、TR、BL、BRの中で定められることができるが、これに限定されない。このとき、順次行われる場合には、探索の開始位置は1つに設定することができるが、並列的に行われる場合のために2つ以上に設定してもよい。
【0321】
利用不可画素の探索領域は、前記探索の開始位置に基づいて定められることができる。もし1つの探索位置が指定された場合(TLと仮定)には、上端参照領域又は左側参照領域を右側参照領域よりも先に探索をすることができるが、符号化設定(並列処理)ではそうでないことができる。
【0322】
ここで、探索方向は、時計方向又は反時計方向の中から定められることができる。このとき、参照領域全体を対象に、前記時計方向又は反時計方向のうちの一つを選択することができる。又は、参照領域の位置に基づいて適応的に選択することができる。つまり、上端/下端/左側/右側参照領域に時計方向又は反時計方向のうちのいずれか一つの探索方向を支援することができる。ここで、前記参照領域の位置が現在ブロックの幅(nW)、高さ(nH)にのみ限定されて配置されない(つまり、2*nW、2*nH、nW+nHなどに含まれる参照領域も含む)を理解しなければならない。
【0323】
ここで、時計方向の場合は、左側参照領域では下端から上端への方向、上端参照領域では左側から右側への方向、右側参照領域では上端から下端への方向、下端参照領域では右側から左側への方向を意味することができる。反時計方向は、時計方向から逆に誘導できる。
【0324】
たとえば、現在ブロックに隣接する左上端画素TLから探索を開始するとき、上端参照領域と右側参照領域は、時計方向(左→右、上→下)に探索することができる。そして、左側参照領域と下端参照領域は、反時計方向(上→下、左→右)に探索することができる。ただし、前記説明は、一部の例示に過ぎず、様々な変形の例が可能である。
【0325】
図9を参照すると、カテゴリー別に設定された方法を用いて利用可能画素で代替することができる(SA20)。
【0326】
利用不可画素は、既に決定されたデフォルト値(例えば、画素値の範囲の中央値など)で代替することができる。又は、所定の利用可能画素に基づいて代替することができるが、1つ以上の隣接する利用可能画素をコピー、線形外挿、内挿などを介して取得した値で利用可能画素を代替することができる。まず、各画素の位置に基づいてカテゴリーを区分する過程を先行する。次に、前記各方法が複数のカテゴリーに応じてどのように適用されるかについての例示を挙げ、前記利用不可画素は対象画素と称する。
【0327】
一例<1>として、対象画素は、参照領域に利用可能画素が存在する場合には、利用可能画素に基づいて取得された画素値を用いて代替することができ、参照領域に利用可能画素が存在しない場合には、デフォルト値で代替することができる。
【0328】
一例<2>として、対象画素は、探索の開始位置を含んで対象画素の前に利用可能画素が存在する場合には、利用可能画素に基づいて取得された画素値を用いて代替することができ、対象画素の前に利用可能画素が存在しない場合には、デフォルト値で代替することができる。
【0329】
一例<3>として、対象画素は、デフォルト値で代替することができる。
【0330】
<1>の場合、参照領域に利用可能画素が存在するか否かに応じて、利用可能画素で代替する方法を説明している。<2>の場合、以前の探索過程中に利用可能画素が存在するか否かに応じて利用可能画素で代替する方法を説明している。<3>の場合、1つの固定的な利用可能画素で代替する方法を説明している。
【0331】
もし1つのカテゴリーが支援される場合、前記<1>乃至<3>で一つの利用可能画素で代替する方法を使用することができる。もし2つ以上のカテゴリーが支援される場合、1つのカテゴリーに属する照画素は、<1>乃至<3>の中からいずれか一つを選択し、他のカテゴリーに属する参照画素は、<1>乃至<3>の中からいずれか一つを選択して使用することができる。
【0332】
図9を参照すると、参照領域を利用可能画素で構成することができる(SA30)。そして、画面内予測(イントラ予測)を行うことができる(SA40)。
【0333】
前述した実施形態を介して、参照領域の利用不可画素を対象としてカテゴリーに区分してカテゴリーによる利用可能画素を代替する方法について説明した。また、利用不可画素だけでなく、利用可能画素でも、カテゴリーに応じてデフォルト値で代替するか、或いは他の利用可能画素で代替するか、或いは他の利用可能画素に基づいて取得された値で代替するなどの変形が可能である。
【0334】
図10は本発明が適用される一実施形態として、ステップ別にイントラ予測モードセットを構成する例示図である。
【0335】
図10の(Step1)を参照すると、様々な予測モード候補群の構成が支援でき、その中のいずれか一つを黙示的又は明示的に選択することができる。前記予測モード候補群は、モードの個数、方向性モードの傾き情報(dy/dx)、方向性モードの支援範囲などによって区分できる。このとき、モードの個数の場合、k個(方向性a個、非方向性b個)で構成されても、a又はbが異なる予測モード候補群が存在することができる。
【0336】
予測モード候補群選択情報は、明示的に発生することができ、VPS、SPS、PPS、PH及びスライスヘッダのうちの少なくとも一つのレベルでシグナリングできる。又は、符号化の設定に基づいて黙示的に予測モード候補群が選択できる。このとき、画像タイプ(I/P/B)、成分タイプ、ブロックの属性(大きさ、形状、分割情報、分割デプスなど)に基づいて前記符号化の設定が定義できる。ここで、ブロックは、現在ブロック及び/又は現在ブロックの周辺ブロックを意味することができ、本実施形態では、同様に適用される説明であり得る。
【0337】
(Step1)を介して一つの予測モード候補群が選定(本例では、Bが選定)されると、これに基づいてイントラ予測又は予測モード符号化を行うことができる。又は、効率的な候補群の構成のための作業を行うことができ、これを(Step2)を介して考察する。
【0338】
図10の(Step2)を参照すると、一部の予測モードの構成を多様に構成することができ、この中の一つを黙示的又は明示的に選択することができる。(B0)乃至(B2)は、一部の方向の予測モード(図面における点線)はよく使用されないことを仮定した候補構成であり得る。
【0339】
予測モード候補群選択情報は、明示的に発生することができ、CTU、符号化ブロック、予測ブロック、変換ブロックなどでシグナリングできる。又は、符号化の設定に基づいて黙示的に予測モード候補群が選択でき、符号化の設定は以前の様々な符号化要素で定義できる。
【0340】
ここで、ブロックの形状は、ブロックの幅/高さの比(W:H)に基づいて細密化することができるが、W:Hのすべての可能な割合に合わせて予測モード候補群も異なるように構成できるか、或いはW:Hの一定割合に限って予測モード候補群が異なるように構成できる。
【0341】
(Step2)を介して一つの予測モード候補群が選定(本例では、B1が選定)されると、これに基づいてイントラ予測又は予測モード符号化を行うことができる。又は、効率的な候補群の構成のための作業を行うことができ、これを(Step 3)を介して考察する。
【0342】
図10の(Step3)を参照すると、予測モード候補群の数が多いため、一部の予測モード(図面における点線)はよく使用されないことを仮定した候補構成であり得る。
【0343】
予測モード候補群選択情報は、明示的に発生することができ、CTU、符号化ブロック、予測ブロック、変換ブロックなどでシグナリングできる。又は、符号化の設定に基づいて黙示的に予測モード候補群が選択でき、符号化の設定は以前の様々な符号化要素で定義できる。そして、ブロックの予測モードや位置などが符号化の設定を定義するのにさらに考慮される要素であり得る。
【0344】
このとき、予測モード、ブロックの位置は、現在ブロックの隣接する隣接ブロックの情報を意味することができる。つまり、現在ブロックと隣接ブロックの属性情報に基づいて、よく使用されないものと推定される予測モードを誘導し、当該モードを予測モード候補群から除外することができる。
【0345】
例えば、隣接ブロックは、図12のTL、T0、TR0、L0、BL0位置を含むとき、当該ブロックの予測モードが一部の方向性(左上から右下への方向)を有すると仮定する。この際、現在ブロックの予測モードは、高い確率で一部の方向性を持つものと予想することができるが、次の処理可能性が存在することができる。
【0346】
例えば、予測モード候補群内のモードに対していずれもイントラ予測を行うことができる。そして、予測モード候補群に基づいて予測モード符号化を行うことができる。
【0347】
又は、一部のモードは、除去された予測モード候補群内のモードに対してイントラ予測を行うことができる。そして、一部のモードは、除去された予測モード候補群に基づいて予測モード符号化を行うことができる。
【0348】
上記の例を比較すると、発生確率が低いと思われる予測モードを、実際予測及び符号化過程(non-MPMなどとして含むことができる)で含めて進めるか、或いは除去して進めるかが区分される特性であることができる。
【0349】
(B21)の場合、隣接ブロックの予測モードとは異なる方向性を有する予測モードを一部除去した構成であり得るが、当該方向性モードが実際に発生する場合のためにまばらに配置された一部のモードが除去された例示であり得る。
【0350】
図11は本発明が適用される一実施形態として、イントラ予測モードを複数の候補群に分類する方法を示すものである。
【0351】
次に、イントラ予測モードの復号化のために一つ以上の候補群に分類する場合について説明する。これは、前述したMPM候補群、Non-MPM候補群と同一又は類似の概念であることができる。そこで、本実施形態で言及していない部分は、以前の実施形態によって同一又は類似に誘導することができる。本実施形態の場合、様々な候補群の個数への拡張と候補群の構成方法について後述する。
【0352】
現在ブロックのイントラ予測モードは、複数の候補群のうちのいずれか一つを選択的に用いて誘導できるが、このために(候補群の個数-1)以下の個数だけ選択フラグが使用できる。
【0353】
例えば、3つの候補群(A、B、C)に予測モードが分類される場合には、現在ブロックのイントラ予測モードがA候補群から誘導されるか否かを示すフラグ(第1フラグ)が使用できる。
【0354】
このとき、第1フラグが第1値である場合には、A候補群が使用され、第1フラグが第2値である場合には、現在ブロックのイントラ予測モードがB候補群から誘導されるか否かを示すフラグ(第2フラグ)が使用され得る。
【0355】
このとき、第2フラグが第1値である場合には、B候補群が使用され、第2フラグが第2値である場合には、C候補群が使用され得る。上記の例では、3つの候補群が支援され、このために、第1フラグと第2フラグ、合計2つの選択フラグが使用できる。
【0356】
前記候補群のうちのいずれか一つが選択されるとき、現在ブロックのイントラ予測モードは、候補群及び候補群インデックスに基づいて決定できる。候補群インデックスは、候補群に属する候補のうちのいずれか一つを特定する情報であることができる。候補群インデックスは、候補群に複数の候補が属する場合に限ってシグナリングできる。
【0357】
上記の例を用いて、3つの候補群が支援されるときの選択フラグに関する構成を説明した。前記構成のように優先順位の高い候補群から現在ブロックの予測モードが誘導されるか否かを示すフラグが順次支援(例えば、第1フラグ→第2フラグの順序)できる。つまり、所定の候補群選択フラグが発生し、当該候補群が選定されなければ、その次の順位の候補群の選択フラグが発生する構成であることができる。
【0358】
又は、前記選択フラグとは異なる意味を持つ構成であることができる(EE)。たとえば、現在ブロックのイントラ予測モードがA又はB候補群から誘導されるか否かを示すフラグ(第1フラグ)が使用できる。
【0359】
このとき、第1フラグが第1値である場合には、C候補群が使用され、第1フラグが第2値である場合には、現在ブロックのイントラ予測モードがA候補群から誘導されるか否かを示すフラグ(第2フラグ)が使用され得る。
【0360】
このとき、第2フラグが第1値である場合、A候補群が使用され、第2フラグが第2値である場合には、B候補群が使用され得る。
【0361】
A、B、C候補群はそれぞれm、n、p個の候補を持つことができ、mは1、2、3、4、5、6又はそれ以上の整数であることができる。nは1、2、3、4、5、6又はそれ以上の整数であることができる。又は、nは10~40の間の整数であることができる。pは(予測モードの総数-m-n)個であり得る。ここで、mはnと同じかそれより小さいことができ、nはpと同じかそれより小さいことができる。
【0362】
他の例として、4つの候補群(A、B、C、D)に予測モードが分類される場合には、現在ブロックのイントラ予測モードがA、B、C候補群から誘導されるか否かを示すフラグ(第1フラグ、第2フラグ、第3フラグ)が使用できる。
【0363】
このとき、第2フラグは、第1フラグが第2値である場合に発生することができ、第3フラグは、第2フラグが第2値である場合に発生することができる。すなわち、第1フラグが第1値である場合にはA候補群、第2フラグが第1値である場合にはB候補群がそれぞれ使用できる。そして、第3フラグが第1値である場合にはC候補群、第3フラグが第2値である場合にはD候補群がそれぞれ使用できる。本例は、3つの候補群構成の一部例示(EE)のように反対される構成も可能である。
【0364】
又は、第2フラグは、第1フラグが第1値である場合に発生することができ、第3フラグは、第1フラグが第2値である場合に発生することができる。第2フラグが第1値である場合にはA候補群、第2フラグが第2値である場合にはB候補群がそれぞれ使用できる。第3フラグが第1値である場合にはC候補群、第3フラグが第2値である場合にはD候補群がそれぞれ使用できる。
【0365】
A、B、C、D候補群はそれぞれm、n、p、q個の候補を持つことができ、mは1、2、3、4、5、6又はそれ以上の整数であることができる。nは1、2、3、4、5、6又はそれ以上の整数であることができる。又は、nは8~24の間の整数であることができる。pは6、7、8、9、10、11、12などの整数であることができる。又は、pは10~32の間の整数であることができる。qは(予測モードの総数-m-n-p)であることができる。ここで、mはnと同じかそれより小さいことができ、nはpと同じかそれより小さいことができ、pはqと同じかそれより小さいことができる。
【0366】
次に、複数の候補群が支援されるとき、各候補群を構成する方法について説明する。複数の候補群を支援する理由は、効率的なイントラ予測モード復号化のための目的にある。つまり、現在ブロックのイントラ予測モードと同一であると予想される予測モードは、優先順位の高い候補群で構成し、そうでない予測モードは、優先順位の低い候補群で構成するのにその目的がある。
【0367】
例えば、図11において、それぞれcategory2(a)、category3(bとc)、category4(d)が優先順位の最も低い候補群である場合には、以前の優先順位の候補群のどこにも含まれていない予測モードで候補群が構成できる。本実施形態において、前記候補群は、以前の候補群に含まれていない残りの予測モードで構成されるので、後述する各候補群を構成する予測モード間の優先順位に無関係(つまり、優先順位を考慮せずに、以前の候補群に含まれていない残りのモードでのみ構成)な候補群であると仮定する。そして、候補群間の優先順位(重要度)は、図11のように昇順(category1→category2→category3→category4)であると仮定し、後述する例における優先順位は、各候補群を構成するために予測モードの羅列に使用される用語であることを仮定する。
【0368】
前述したMPM候補群のように、隣接ブロックの予測モード、デフォルトモード、所定の方向性モードなどで候補群を構成することができる。その中でも最も発生可能性の高い予測モードに少ないビット量を割り当てるための目的で候補群構成のための所定の優先順位を定めて候補群を構成することができる。
【0369】
図11の(a)を参照すると、第1候補群(Category1)のための優先順位が支援できる。前記優先順位に基づいて、第1候補群の個数に合わせて第1候補群の構成を完了すると、残りの予測モード(b、jなど)は第2候補群(Categor 2)で構成することができる。
【0370】
図11の(b)を参照すると、第1候補群と第2候補群のための共通の優先順位が支援できる。前記優先順位に基づいて、第1候補群の個数に合わせて第1候補群の構成を完了する。第1候補群に最終的に含まれている予測モード(e)以後の優先順位(c以後)に基づいて、第2候補群の個数に合わせて第2候補群の構成を完了する。そして、残りの予測モード(b、jなど)は、第3候補群(Category3)で構成することができる。
【0371】
図11の(c)を参照すると、第1候補群と第2候補群のための個々の優先順位(第1優先順位、第2優先順位)が支援できる。第1優先順位に基づいて、第1候補群の個数に合わせて第1候補群の構成を完了する。そして、第2優先順位に基づいて、第2候補群の個数に合わせて第2候補群の構成を完了する。そして、残りの予測モード(b、w、xなど)は第3候補群で構成することができる。
【0372】
ここで、第2優先順位は、従来の優先順位(第1優先順位)のように隣接ブロックの予測モード<1>、デフォルトモード<2>、所定の方向性モード<3>などに基づいて設定できる。ただし、第1優先順位とは異なる重要度に基づいて、優先順位が設定(例えば、第1優先順位が1-2-3の順で構成されたならば、第2優先順位は3-2-1の順で構成など)されることもできる。また、第2優先順位は、以前の候補群に含まれているモードが何であるかに応じて可変的に構成でき、現在ブロックの隣接ブロックのモードにも影響を受けることができる。第2優先順位は、第1優先順位とは異なるように構成されることが基本原則であり得るが、第1候補群の構成に応じて第2優先順位の構成が部分的な影響を受けることができることを理解することができる。本段落において、第1優先順位(以前順位)と第1候補群(以前候補群)、そして第2優先順位(現在順位)と第2候補群(現在候補群)は、数字のように固定的な順位に限って説明されるものではないことをやはり理解しなければならない。
【0373】
図11の(d)を参照すると、第1候補群と第2候補群のための共通の優先順位(第1優先順位)が支援され、第3候補群のための個々の優先順位(第2優先順位)が支援され得る。第1優先順位に基づいて、第1候補群の個数に合わせて第1候補群の構成を完了する。第1候補群に最終的に含まれた予測モード(d)以後の優先順位(e以後)に基づいて、第2候補群の個数に合わせて第2候補群の構成を完了する。そして、第2優先順位に基づいて、第3候補群の個数に合わせて第3候補群の構成を完了する。そして、残りの予測モード(u、fなど)は、第4候補群で構成することができる。
【0374】
本発明の一実施形態によれば、現在ブロックのイントラ予測モードは、予測モードを1つ又はそれ以上の候補群で構成することができ、これに基づいて予測モード復号化を行うことができる。このとき、候補群の構成のために使用される優先順位が一つ又はそれ以上支援できる。前記優先順位は、一つ又はそれ以上の候補群の構成過程に使用できる。
【0375】
上記の例では、二つ以上の優先順位が支援される場合、以前の候補群(第1候補群)に使用された優先順位(第1優先順位)とは別個の優先順位(第2優先順位)を、他の候補群(第2候補群)に使用する場合について説明した。これは、一つの候補群内のすべての候補が一つの優先順位に基づいて構成される場合に該当することができる。
【0376】
また、第1候補群に使用された第1優先順位は、第2候補群の一部の候補構成に使用することができる。すなわち、第2候補群の一部の候補(cand_A)は、第1優先順位(第1候補群に含まれていないモードから開始)に基づいて決定され、第2候補群の一部の候補(又は残りの候補。cand_B)は、第2優先順位に基づいて決定され得る。このとき、cand_Aは、0、1、2、3、4、5又はそれ以上の整数であることができる。すなわち、第1候補群を構成するときに未だ含まれていない予測モードは、第2候補群に含ませる構成であることができる。
【0377】
例えば、3つの候補群が支援され、第1候補群は2つの候補で構成され、第1優先順位は隣接するブロック(例えば、左、上)の予測モード、所定の方向性モード(例えば、Ver、Horなど)、所定の非方向性モード(例えば、DC、Planarなど)で定められることができる(例えば、Pmode_L-Pmode_U-DC-Planar-Ver-Horなど)。第1優先順位に基づいて、第1候補群の個数に合わせて候補群の構成を完了する(例えば、Pmode_L、Pmode_U)。
【0378】
このとき、第2候補群は、6つの候補で構成され、第2優先順位は、隣接するブロックの予測モードに所定の間隔(1、2、3、4又はそれ以上の整数)を有する方向性モード、一定の傾き(dy/dx1:1、1:2、2:1、4:1、1:4など)の方向性モードで定められることができる(例えば、Diagonal down left-Diagonal down right-Diagonal up right-<Pmode_L+2>、<Pmode_U+2>など)。
【0379】
前記第2候補群は、第2優先順位に基づいて、第2候補群の個数に合わせて候補群を構成することができる。又は、前記第2候補群の2つの候補は、第1優先順位に基づいて構成(DC、Planar)することができ、残りの4つの候補は、第2優先順位に基づいて構成(DDL、DDR、DUR)することができる。
【0380】
説明の便宜のために、第1候補群、第2候補群、第1優先順位のように以前の説明と同じ用語を使用するが、複数の候補群の中で候補群間の優先順位が1番目と2番目に固定されたものではないことに留意すべきである。
【0381】
まとめると、予測モード復号化のために複数の候補群に分類され、一つ以上の優先順位が支援されるとき、所定の候補群は、1つ又はそれ以上の優先順位に基づいて構成できる。
【0382】
図12は本発明が適用される一実施形態として、現在ブロックとそれに隣接する画素を示す例示図である。
【0383】
図12を参照すると、現在ブロックに属する画素a~pとそれに隣接する画素を示している。詳細には、現在ブロックに隣接する、参照可能な画素Ref_T、Ref_L、Ref_TL、Ref_TR、Ref_BL、及び、現在ブロックに隣接する、参照不可能な画素B0~B3、R0~R3、BRを示す。これは、一部の符号化順序、スキャン順序などが固定的な状況(現在ブロックの左、上、左上、右上、左下のブロックは参照可能)であることを仮定して示す図であり、前記符号化設定の変化に応じて、異なる構成に変形可能であることを理解すべきである。
【0384】
図13は本発明が適用される一実施形態として、イントラ予測をステップ別に行う方法を示すものである。
【0385】
現在ブロックは、左、右、上、下方向の中に位置した画素を用いてイントラ予測を行うことができる。この時、図12に示すように、参照可能な画素だけでなく、参照不可能な画素が存在することができる。参照可能な画素だけでなく、参照不可能な画素位置も、画素値をよく推定してこれを活用することにより、符号化効率を向上させることができる。
【0386】
図13を参照すると、任意の画素値を取得することができる(SB00)。
【0387】
ここで、任意の画素は、現在ブロックを中心に参照不可能な画素又は現在ブロックの内部画素がその対象となることができる。次に、図面を用いて、任意の画素位置について説明する。
【0388】
図14は本発明が適用される一実施形態として、イントラ予測のための任意の画素に対する例示図である。
【0389】
図14を参照すると、現在ブロックの外部に位置し、参照不可能な画素cだけでなく、現在ブロックの内部に位置する画素a、bも、前記任意の画素対象となることができる。以下は、現在ブロックの大きさがWidth×Heightであり、左上側の座標が(0、0)であることを仮定する。
【0390】
図14のa、bは(0、0)~(Width-1、Height-1)に位置することができる。
【0391】
一例として、現在ブロックの境界ライン(左、右、上、下)に位置することができる。たとえば、現在ブロックの右側列である(Width-1、0)~(Width-1、Height-1)又は現在ブロックの下端行である(0、Height-1)~(Width-1、Height-1)に位置することができる。
【0392】
一例として、現在ブロックの奇数又は偶数の列と行に位置することができる。たとえば、現在ブロックの偶数列に位置することができるか、或いは現在ブロックの奇数列に位置することができる。又は、現在ブロックの偶数行と奇数列に位置することができるか、或いは現在ブロックの奇数行と奇数列に位置することができる。ここで、前記奇数や偶数の他に、kの倍数又は指数乗2に該当する列又は行に位置することもでき、kは1、2、3、4、5又はそれ以上の整数であることができる。
【0393】
図14のcは参照可能な画素と現在ブロックを外れた箇所に位置することができる。
【0394】
一例として、現在ブロックの境界ライン(本例では右、下)に位置することができる。たとえば、現在ブロックの右側境界である(Width、0)~(Width、Height)又は現在ブロックの下端境界である(0、Height)~(Width、Height)に位置することができる。
【0395】
一例として、現在ブロックの奇数又は偶数の列と行に位置することができる。たとえば、現在ブロックの右側境界越えの偶数行に位置することができるか、或いは現在ブロックの下端境界越えの奇数列に位置することができる。ここで、前記奇数や偶数の他に、kの倍数又は指数乗2に該当する列又は行に位置することもでき、kは1、2、3、4、5又はそれ以上の整数であることができる。
【0396】
現在ブロックのイントラ予測のために使用/参照される任意の画素は、m個であることができ、mは1、2、3、4又はそれ以上であることができる。又は、任意の画素の個数は、現在ブロックの大きさ(幅又は高さ)に基づいて設定されることもできる。たとえば、Width/w_factor個、Height/h_factor個、又は(Width*Height)/wh_factor個の任意の画素がイントラ予測のために使用できる。ここで、w_factor、h_factorは、それぞれブロックの幅と高さに基づいて、分割値として使用される、既に決定された値であることができ、1、2、4、8などの整数であることができる。ここで、wh_factorは、ブロックの大きさに基づいて分割値として使用される、既に決定された値であることができ、2、4、8、16などの整数であることができる。
【0397】
また、任意の画素の個数は、画像タイプ、成分タイプ、ブロックの属性、イントラ予測モードなどの全部又は一部の符号化要素に基づいて定められることもできる。
【0398】
前記過程によって取得された任意の画素は、当該画素値を参照可能な領域から取得することができる。例えば、任意の画素を基準に水平又は垂直方向に位置する、参照可能な画素に基づいて、画素値を取得することができる。
【0399】
このとき、(<1>水平方向/<2>垂直方向)に位置する一つ又はそれ以上の画素(k個。kは1、2、3、4、5、6などの整数)からコピー又は重み平均などを介して取得された値を、任意の画素の画素値として取得することができる。前記(<1>水平方向/<2>垂直方向)は、任意の画素の座標のうち、(<1>y成分/<2>x成分)が同一又は類似である、参照可能な画素が画素値の取得に使用/参照されることもできるが、広い意味で現在ブロックの(<1>左側方向/<2>上端方向)に位置した、参照可能な画素が任意の画素の画素値の取得に使用できる形態への拡張も可能である。
【0400】
前記水平又は垂直方向のうち、いずれか一つの方向に基づいて画素値が取得できるか、或いは両方に基づいて画素値が取得できる。このとき、様々な符号化要素(画像タイプ、ブロックの属性などのように、前述した例で説明する)に基づいて画素値取得設定が定められることができる。
【0401】
たとえば、現在ブロックは、幅が高さよりもさらに大きい長方形の形状である場合には、垂直方向に位置する、参照可能な画素に基づいて、任意の画素の画素値を取得することができる。又は、垂直方向と水平方向に位置する、参照可能な画素に基づいて、それぞれの1次画素値を取得した場合には、水平方向で取得された1次画素値よりも垂直方向で取得された1次画素値に重みをさらに適用して2次画素値(すなわち、任意の画素の画素値)を取得することができる。
【0402】
又は、現在ブロックは、高さが幅よりもさらに大きい長方形の形状である場合には、水平方向に位置する、参照可能な画素に基づいて、任意の画素の画素値を取得することができる。又は、垂直方向と水平方向に位置する、参照可能な画素に基づいて、それぞれの1次画素値を取得した場合には、垂直方向で取得された1次画素値よりも水平方向で取得された1次画素値に重みをさらに適用して2次画素値(つまり、任意の画素の画素値)を取得することができる。もちろん、上記の例に限定されず、反対される構成も可能である。
【0403】
また、所定の候補リストを構成し、その中の少なくとも一つを選択して任意の画素の画素値を取得することができ、CTU、符号化ブロック、予測ブロック、変換ブロックなどの単位のいずれか一つでシグナリングされることができる。この時、前記候補リストは、既に決定された値で構成されることができるか、或いは前述した現在ブロックに隣接する参照可能な画素に基づいて構成されることもできる。このとき、候補リストの個数は、2、3、4、5又はそれ以上の整数であることができる。又は、10~20の間の整数又は20~40の間の整数又は10~40の間の整数であることができる。
【0404】
ここで、前記候補リストは、画素値が候補として構成できるか、或いは画素値を誘導する数式、特徴値などが候補として構成できる。後者の場合は、任意の画素の位置(x又はy座標)と画素値を求める数式又は特徴値に基づいて、様々な画素値が任意の画素単位で誘導されることもできる。
【0405】
上記の説明のように一つ以上の任意の画素が取得され、それに基づいてイントラ予測が行われることができる。以下は、説明の便宜のために、任意の画素が一つである場合を仮定する。しかし、後述する例が、任意の画素が2つ以上取得される場合でも同一又は類似に拡張適用できることは明らかである。
【0406】
図13を参照すると、任意の画素に基づいて複数のサブ領域に区画することができる(SB10)。
【0407】
ここで、サブ領域は、任意の画素を基準に水平又は垂直ラインに基づいて区画でき、サブ領域の個数は2、3、4又はそれ以上の整数であることができる。次の図面を用いて、サブ領域の構成について説明する。
【0408】
図15は本発明が適用される一実施形態として、任意の画素に基づいて複数のサブ領域に区画される例示図である。
【0409】
図15を参照すると、任意の画素dの垂直又は水平ラインである所定のサブ領域b、cが取得でき、垂直ラインと水平ラインに基づいて所定のサブ領域aが取得できる。
【0410】
このとき、任意の画素と、垂直方向に参照可能な画素Tとの間にサブ領域bが取得でき、任意の画素と、水平方向に参照可能な画素Lとの間にサブ領域cが取得できる。このとき、サブ領域bとcは、常に固定的に生じる領域ではなく、現在ブロックの任意の画素関連設定(例えば、b又はcも任意の画素である場合など)に基づいて二つのうちの一つだけ発生した場合も可能である。もしサブ領域bとcのうちの一つだけ発生する場合には、サブ領域aは発生しない構成であってもよい。
【0411】
図15に示すように、T又はLは現在ブロックの隣接する参照可能な画素を意味することができる。又は、T又はLは、任意の画素dの垂直又は水平方向に位置したdとは異なる任意の画素e、fを意味することもできる。これは、任意の画素dも他の任意の画素のT又はLである可能性もあるという意味である。
【0412】
上記の例のように、現在ブロック内の任意の画素の個数や配置などに基づいて、サブ領域の大きさが定められることができる。
【0413】
例えば、任意の画素が2つ以上存在し、1マスの間隔で位置する場合には、サブ領域a、b、cはそれぞれ1×1の大きさを持つことができる。又は、任意の画素が1つ存在し、図14のcに位置する場合には、サブ領域a、b、cはそれぞれ(Width×Height)、(1×Height)、(Width×1)の大きさを持つことができる。
【0414】
図13を参照すると、所定の順序に従って画面内予測(イントラ予測)を行うことができる(SB20)。
【0415】
ここで、任意の画素の位置に応じて、一部のサブ領域は、イントラ予測のための予測値として使用できるか、或いはイントラ予測のための一時的参照値として使用できる。
【0416】
例えば、任意の画素(又はサブ領域d)が図14のcに位置する場合には、サブ領域bとcが現在ブロックの外部に位置し、サブ領域aのみがイントラ予測の対象となることができる。又は、任意の画素が図14のcの上側に位置する場合には、サブ領域bは現在ブロックの外部に位置し、サブ領域aとcはイントラ予測の対象となることができる。又は、任意の画素が図14のcの左側に位置する場合には、サブ領域cは現在ブロックの外部に位置し、サブ領域aとbはイントラ予測の対象となることができる。又は、任意の画素が現在ブロックの内部に位置する場合には、サブ領域a、b、cはイントラ予測の対象となることができる。
【0417】
上記の例のように、任意の画素の位置に応じて、イントラ予測の対象となるか或いは一時的参照値として使用できる。
【0418】
以下、任意の画素が現在ブロックの内部に位置する場合を仮定して説明するが、前記位置への変更が起こっても、後述する例が同一又は類似に適用されて理解できる。
【0419】
任意の画素位置及び画素値は前のステップで取得したので、サブ領域a、b、cの中で所定の優先順位に従って各サブ領域取得過程を経ることができる。たとえば、b→c又はc→bの順で各サブ領域の画素値を取得し、サブ領域aの画素値を取得することができる。
【0420】
サブ領域bの場合は、任意の画素d又はTに基づいて画素値を取得することができる。サブ領域cの場合は、任意の画素d又はLに基づいて画素値を取得することができる。
【0421】
図示されてはいないが、左上側の画素をTL(つまり、Tの水平ラインとLの垂直ラインとの交差点)と仮定しよう。TLとTが現在ブロックの上端に位置する場合、TLとTとの間の画素は参照可能である。また、TLとLが現在ブロックの左側に位置する場合、TLとLとの間の画素は参照可能である。前記参照可能な画素は、現在ブロックの隣接ブロックに属するからである。
【0422】
これに対し、TL又はTの中の一つでも現在ブロックの内部に位置する場合、TLとTとの間の画素は参照可能である。また、TL又はLの中の一つでも現在ブロックの内部に位置する場合、TLとLとの間の画素は参照可能である。前記参照可能な画素は、他の任意の画素に基づいて取得されたサブ領域である可能性があるからである。
【0423】
そのため、サブ領域aの場合は、サブ領域b、c、そしてTLとTとの間の参照可能な領域及びTLとLとの間の参照可能な領域に基づいて画素値を取得することができる。もちろん、TL、T、L、dが前記サブ領域aの画素値の取得に使用されることも可能である。ここで、任意の画素も参照可能であることを意味する。
【0424】
前記過程を介して任意の画素に基づいて現在ブロックのイントラ予測を行うことができる。
【0425】
任意の画素に基づいてイントラ予測を行うことは、イントラ予測モードのうちの一つのモードとして構成できるか、或いは従来のモードを代替する構成として含まれることができる。
【0426】
又は、予測方法のうちの一つの候補として区分し、そのための選択情報が発生することもできる。例えば、方向性モード又は非方向性モードに基づいてイントラ予測を行う方法の追加予測方法として考慮できる。前記選択情報は、CTU、符号化ブロック、予測ブロック、変換ブロックなどでシグナリングできる。
【0427】
以下、前記任意の画素位置が図14のcである場合を仮定して説明する。ただし、これに限定されず、別の位置に配置される場合にも、後述する内容が同一又は類似に適用できる。次に、図12を参照して説明する。
【0428】
現在ブロック、及び現在ブロックの右、下ブロックは、符号化されていないが、参照可能な領域のデータに基づいて推定することができる。
【0429】
たとえば、現在ブロックの右側と下側境界に隣接する領域であるRef_TR、Ref_BLなどでデータをそのままコピーするか或いは誘導し、これを現在ブロックの右側又は下側境界に埋めることができる。一例として、右側境界はT3、TR0、TR1などの画素のうちの一つをそのままコピーして埋めるか、或いはT3、TRO、TR1などにフィルタリングを適用して取得されたた値を埋めることができる。
【0430】
又は、現在ブロックの隣接する領域であるRef_TL、Ref_T、Ref_L、Ref_TR、Ref_BLなどでデータをそのままコピーするか或いは誘導し、これを現在ブロックの右下側境界に埋めることができる。一例として、前記隣接する領域で1つ又はそれ以上の画素に基づいて取得された値を、現在ブロックの右下側境界に埋めることができる。
【0431】
ここで、現在ブロックの右側境界は(d~p)又は(R0~R3)であることができる。現在ブロックの下側境界は(m~p)又は(B0~B3)であることができる。現在ブロックの右下側境界は、p、BR、R3、B3のうちの一つであることができる。
【0432】
次の例では、右側境界をR0~R3、下側境界をB0~B3、右下側境界をBRと仮定する。
【0433】
(右側境界と下側境界処理)
たとえば、右側境界は、垂直方向に隣接するT3、TR0、TR1のうちのいずれか一つをコピーして埋め、下側境界は、水平方向に隣接するL3、BL0、BL1のうちのいずれか一つをコピーして埋めることができる。
【0434】
又は、右側境界は、垂直方向に隣接するT3、TR0、TR1に対して重み平均を取った値で埋め、下側境界は、水平方向に隣接するL3、BL0、BL1に対して重み平均を取った値で埋めることができる。
【0435】
前記右側境界と前記下側境界の値を取得した後、これに基づいて現在ブロックのイントラ予測を行うことができる。
【0436】
(右下側境界処理)
例えば、右下側境界はT3、TR0、TR1、L3、BL0、BL1のうちのいずれか一つをコピーして埋めることができる。又は、T3、TR0、TR1のうちのいずれか一つとL3、BL0、BL1のうちのいずれか一つを重み平均した値で埋めることができる。又は、T3、TR0、TR1に対して重み平均を取った値と、L3、BL0、BL1に対して重み平均を取った値のうちのいずれか一つを埋めることができる。又は、T3、TR0、TR1に対して1次重み平均を取った値と、L3、BL0、BL1に対して1次重み平均を取った値とを2次重み平均した値で埋めることができる。
【0437】
前記右下側境界の値を取得した後、これに基づいて右側境界又は下側境界の値を取得することができ、右側境界又は下側境界に基づいて現在ブロックのイントラ予測を行うことができる。
【0438】
次に、右下側境界処理について説明する。
【0439】
TL、TR0、BL0、BRの位置を考慮する構成を仮定する。ここで、BRは、右下側境界の画素を意味し、TR0はBRの垂直方向に位置する参照可能な画素、BL0はBRの水平方向に位置する参照可能な画素、TLは現在ブロックの左上側境界又はTR0の水平方向とBL0の垂直方向との交差点に位置する参照可能な画素であることができる。
【0440】
前記画素位置に基づいて、現在ブロックの方向性、特徴情報(例えば、エッジなど)を推定することができる。
【0441】
一例<1>として、TLからBRへと対角線方向に移動するとき、画素値が徐々に増加又は減少することができる。このとき、TLはTR0とBL0よりも大きいか同じであれば、BRはTR0とBL0よりも小さいか同じであることができる。又は、反対の構成であってもよい。
【0442】
一例<2>として、BL0からTR0へと対角線方向に移動するとき、画素値が徐々に増加又は減少することができる。このとき、BL0はTLとBRよりも大きいか同じであれば、TR0はTLとBRよりも小さいか同じであることができる。又は、反対の構成であってもよい。
【0443】
一例<3>として、左(TL、BL0)から右(TR0、BR)へと水平方向に移動するとき、画素値が徐々に増加又は減少することができる。このとき、TLはTR0よりも大きいか同じであれば、BL0はBRよりも大きいか同じであることができる。又は、反対の構成であってもよい。
【0444】
一例<4>として、上端(TL、TR0)から下端(BL0、BR)へと垂直方向に移動するとき、画素値が徐々に増加又は減少することができる。このとき、TLはBL0よりも大きいか同じであれば、TR0はBRよりも大きいか同じであることができる。又は、反対の構成であってもよい。
【0445】
上記の例のような画像特徴が現在ブロックに存在すれば、これを用いて右下側境界を予想することができる。このとき、推定対象画素の垂直又は水平方向に位置する画素と、各画素の垂直又は水平方向の交差点である画素などが要求でき、これらの画素値の比較などに基づいて推定対象画素を予測することができる。
【0446】
<1>例示:TL<=TR0、TL<=BL0の条件であるときは、TLからBR側に増加する傾向であることを推定し、画素間の差分値に基づいてBR値を誘導(予測)することができる。
【0447】
例えば、TR0に(BL0-TL)値を加えてBR画素値を誘導するか、或いはBL0に(TR0-TL)値を加えてBR画素値を誘導するか、或いは前の二つを平均又は重み平均してBR画素値を誘導することができる。
【0448】
<2>例示:TL>=BL0、TL<=TR0の条件であるときは、BL0からTR0側に増加する傾向であることを推定し、画素間の差分値に基づいてBR値を誘導することができる。
【0449】
例えば、TR0から(TL-BL0)値を差し引いてBR画素値を誘導するか、或いはBL0に(TR0-TL)値を加えてBR画素値を誘導するか、或いは前の二つを平均又は重み平均してBR画素値を誘導する。
【0450】
上記の例は、現在ブロックを中心に隣接する所定の画素に基づいてブロックの特性を推定し、任意の画素(BR)を予測する場合について説明している。一方、制限的な画素によりブロックの特徴を正確に把握するのは困難なことがある。一例として、前記BRを誘導するために参照される画素の一部にインパルス成分が存在する場合、正確な特徴の把握が困難なことがある。
【0451】
このため、現在ブロックの上端領域と左側領域の特性情報(例えば、分散、標準偏差など)を算出することができる。一例として、TLとTR0との間の画素の特性情報、又はTLとBL0との間の画素の特性情報がブロックの増加又は減少などをよく反映すると判断されると、前記TL、TR0、BL0などの現在ブロックの所定の画素に基づいてBRのような任意の画素の値を誘導する方法を使用することができる。
【0452】
本開示の様々な実施形態は、すべての可能な組み合わせを羅列したのではなく、本開示の代表的な様相を説明するためのものであり、様々な実施形態で説明する事項は、独立して適用されてもよく、二つ以上の組み合わせで適用されてもよい。
【0453】
また、本開示の様々な実施形態は、ハードウェア、ファームウェア(firmware)、ソフトウェア、又はそれらの組み合わせなどによって実現できる。ハードウェアによる実現の場合、一つ又はそれ以上の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)、コントローラ、マイクロコントローラ、マイクロプロセッサなどによって実現できる。
【0454】
本開示の範囲は、様々な実施形態の方法による動作が装置又はコンピュータ上で実行されるようにするソフトウェア又はマシン-実行可能な命令(例えば、オペレーティングシステム、アプリケーション、ファームウェア(firmware)、プログラムなど)、及びこのようなソフトウェア又は命令などが格納されて装置又はコンピュータ上で実行可能な非一時的コンピュータ可読媒体(non-transitory computer-readable medium)を含む。
【産業上の利用可能性】
【0455】
本発明は、ビデオ信号を符号化/復号化するために利用可能である。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
【国際調査報告】