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

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

▶ ヒョンダイ モーター カンパニーの特許一覧 ▶ キアモータース コーポレーションの特許一覧 ▶ リサーチ ビジネス ファウンデーション ソンギュングァン ユニバーシティの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-21
(54)【発明の名称】イントラ予測方法及び記録媒体
(51)【国際特許分類】
   H04N 19/105 20140101AFI20240514BHJP
   H04N 19/186 20140101ALI20240514BHJP
   H04N 19/593 20140101ALI20240514BHJP
【FI】
H04N19/105
H04N19/186
H04N19/593
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023573653
(86)(22)【出願日】2022-06-03
(85)【翻訳文提出日】2023-11-29
(86)【国際出願番号】 KR2022007948
(87)【国際公開番号】W WO2022260374
(87)【国際公開日】2022-12-15
(31)【優先権主張番号】10-2021-0073659
(32)【優先日】2021-06-07
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2022-0067918
(32)【優先日】2022-06-03
(33)【優先権主張国・地域又は機関】KR
(81)【指定国・地域】
(71)【出願人】
【識別番号】512297583
【氏名又は名称】ヒョンダイ モーター カンパニー
(71)【出願人】
【識別番号】512297594
【氏名又は名称】キア コーポレーション
(71)【出願人】
【識別番号】517066191
【氏名又は名称】リサーチ アンド ビジネス ファウンデーション ソンギュングァン ユニバーシティ
【氏名又は名称原語表記】RESEARCH & BUSINESS FOUNDATION SUNGKYUNKWAN UNIVERSITY
(74)【代理人】
【識別番号】110000051
【氏名又は名称】弁理士法人共生国際特許事務所
(72)【発明者】
【氏名】ジョン,ビョン ウ
(72)【発明者】
【氏名】キム,ボン ユン
(72)【発明者】
【氏名】イ,ジ ファン
(72)【発明者】
【氏名】パク,スン ウク
(72)【発明者】
【氏名】ホ,ジン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159ME01
5C159PP16
5C159TA25
5C159TA31
5C159TA33
5C159TB08
5C159TC27
5C159TC42
5C159UA02
5C159UA05
5C159UA16
(57)【要約】
【課題】CCLM予測に従って現在クロマブロックの第1の予測子を生成し、現在クロマブロックの周辺画素に基づいて現在クロマブロックの第2の予測子を追加で生成した後、第1の予測子と第2の予測子を加重結合するビデオ符号化方法及び装置を提供する。
【解決手段】改善されたクロスコンポーネント線形モデル予測を利用するビデオ符号化方法及び装置に関する発明として、本実施例は、現在クロマブロックのイントラ予測において、CCLM予測によって現在クロマブロックの第1の予測子を生成し、現在クロマブロックの周辺画素に基づいて現在クロマブロックの第2の予測子を追加で生成した後、第1の予測子と第2の予測子を加重結合する。
【選択図】図8
【特許請求の範囲】
【請求項1】
コンピューティング装置が遂行する、現在クロマブロックのイントラ予測方法において、
前記現在クロマブロックに対してクロスコンポーネント(cross-component)予測のためのクロスコンポーネント予測モードを獲得するステップと、
ここで前記クロスコンポーネント予測は前記現在クロマブロック及び対応ルマ領域に対して前記対応ルマ領域の画素を用いて前記現在クロマブロックを予測する、
前記クロスコンポーネント予測モードに基づいて前記クロスコンポーネント予測を遂行することで、前記現在クロマブロックの第1の予測子を生成するステップと、
前記現在クロマブロックの隣接ブロックの予測モードから代表モード(representative mode)を類推するステップと、
前記代表モードに基づいて前記現在クロマブロックの周辺画素を用いるイントラ予測を遂行することで、前記現在クロマブロックの第2の予測子を生成するステップと、
前記第1の予測子及び前記第2の予測子に対して加重値を誘導するステップ、及び、前記加重値を用いて前記第1の予測子と前記第2の予測子を加重和して前記現在クロマブロックのイントラ予測子を生成するステップと、
を含むことを特徴とする、イントラ予測方法。
【請求項2】
前記代表モードを類推するステップは、
前記現在クロマブロックの周辺画素のうち、特定位置にある周辺画素を含むブロックの予測モードを前記代表モードに設定することを特徴とする、請求項1に記載のイントラ予測方法。
【請求項3】
前記代表モードを類推するステップは、
前記隣接ブロックの予測モードのうち、ブロック個数をベースに導出された最頻予測モードを前記代表モードに設定することを特徴とする、請求項1に記載のイントラ予測方法。
【請求項4】
前記代表モードを類推するステップは、
前記隣接ブロックの予測モードのうち、ブロック面積をベースに導出された最頻予測モードを前記代表モードに設定することを特徴とする、請求項1に記載のイントラ予測方法。
【請求項5】
前記代表モードを類推するステップは、
前記現在クロマブロックの各周辺画素が含まれたブロックの予測モードをベースに導出された最頻予測モードを前記代表モードに設定することを特徴とする、請求項1に記載のイントラ予測方法。
【請求項6】
前記代表モードを類推するステップは、
前記隣接ブロックのうち、アスペクト比が前記現在クロマブロックと同じ、もしくは最も類似するブロックの予測モードを前記代表モードに設定することを特徴とする、請求項1に記載のイントラ予測方法。
【請求項7】
前記加重値を誘導するステップは、
前記現在クロマブロックと前記隣接ブロックとの関連性に基づいて周辺画素関連度を生成した後、前記周辺画素関連度を前記第2の予測子の加重値に設定し、1から前記周辺画素関連度を減算した値を前記第1の予測子の加重値に設定することを特徴とする、請求項1に記載のイントラ予測方法。
【請求項8】
前記加重値を誘導するステップは、
前記隣接ブロックのうち、前記代表モードを用いる隣接ブロックの比率を、ブロック個数をベースに算定して前記周辺画素関連度を誘導することを特徴とする、請求項7に記載のイントラ予測方法。
【請求項9】
前記加重値を誘導するステップは、
前記隣接ブロックのうち、前記代表モードを用いる隣接ブロックの比率を、ブロック面積をベースに算定して前記周辺画素関連度を誘導することを特徴とする、請求項7に記載のイントラ予測方法。
【請求項10】
前記加重値を誘導するステップは、
前記現在クロマブロックが前記隣接ブロックと隣接する全辺の長さのうち、前記代表モードを用いる隣接ブロックが前記現在クロマブロックに隣接する辺の長さの比率に基づいて前記周辺画素関連度を誘導することを特徴とする、請求項7に記載のイントラ予測方法。
【請求項11】
前記加重値を誘導するステップは、
前記現在クロマブロックと前記対応ルマ領域に含まれたブロックとの間の関連性に基づいてルマ画素関連度を生成した後、前記ルマ画素関連度を前記第2の予測子の加重値に設定し、1から前記ルマ画素関連度を減算した値を前記第1の予測子の加重値に設定することを特徴とする、請求項1に記載のイントラ予測方法。
【請求項12】
前記加重値を誘導するステップは、
前記対応ルマ領域に含まれたブロックのうち、前記代表モードを用いるブロックの比率を、ブロック個数をベースに算定して前記ルマ画素関連度を誘導することを特徴とする、請求項11に記載のイントラ予測方法。
【請求項13】
前記加重値を誘導するステップは、
前記対応ルマ領域に含まれたブロックのうち、前記代表モードを用いるブロックの比率を、ブロック面積をベースに算定して前記ルマ画素関連度を誘導することを特徴とする、請求項11に記載のイントラ予測方法。
【請求項14】
前記加重値を誘導するステップは、
前記イントラ予測子の画素を複数のグループにグループ化した後、各グループに対して前記加重値を設定し、前記第2の予測子内画素に対して前記第2の予測子の生成時に使用した周辺画素との距離が近くなるにつれて前記第2の予測子内画素が含まれたグループの加重値が増加することを特徴とする、請求項1に記載のイントラ予測方法。
【請求項15】
コンピューティング装置が遂行する、現在クロマブロックのイントラ予測方法において、
前記現在クロマブロックの周辺画素を用いるイントラ予測モードを獲得するステップと、
前記イントラ予測モードに基づいてイントラ予測を遂行することで、前記現在クロマブロックの第1の予測子を生成するステップと、
前記現在クロマブロックに対してクロスコンポーネント(cross-component)予測のために予め設定されたクロスコンポーネントモードで代表モード(representative mode)を設定するステップと、
ここで、前記クロスコンポーネント予測は前記現在クロマブロック及び対応ルマ領域に対して前記対応ルマ領域の画素を用いて前記現在クロマブロックを予測する、
前記代表モードに基づいて前記クロスコンポーネント予測を遂行することで、前記現在クロマブロックの第2の予測子を生成するステップと、
前記第1の予測子及び前記第2の予測子に対して加重値を誘導するステップ、及び、前記加重値を用いて前記第1の予測子と前記第2の予測子を加重和して前記現在クロマブロックのイントラ予測子を生成するステップと、
を含むことを特徴とする、イントラ予測方法。
【請求項16】
前記加重値を誘導するステップは、
前記現在クロマブロックと隣接ブロックとの関連性に基づいて周辺画素関連度を生成した後、前記周辺画素関連度を前記第2の予測子の加重値に設定し、1から前記周辺画素関連度を減算した値を前記第1の予測子の加重値に設定することを特徴とする、請求項15に記載のイントラ予測方法。
【請求項17】
前記加重値を誘導するステップは、
前記隣接ブロックのうち、前記代表モードを用いる隣接ブロックの比率を、ブロック個数をベースに算定して前記周辺画素関連度を誘導することを特徴とする、請求項16に記載のイントラ予測方法。
【請求項18】
前記加重値を誘導するステップは、
前記現在クロマブロックが前記隣接ブロックと隣接する全辺の長さのうち、前記代表モードを用いる隣接ブロックが前記現在クロマブロックに隣接する辺の長さの比率に基づいて前記周辺画素関連度を誘導することを特徴とする、請求項16に記載のイントラ予測方法。
【請求項19】
前記加重値を誘導するステップは、
前記イントラ予測子の画素を複数のグループにグループ化した後、各グループに対して前記加重値を設定し、前記第1の予測子内画素に対して前記第1の予測子の生成時に使用した周辺画素との距離が近くなるにつれて第1の予測子内画素が含まれたグループの加重値が増加することを特徴とする、請求項15に記載のイントラ予測方法。
【請求項20】
現在クロマブロックに対してクロスコンポーネント(cross-component)予測のためのクロスコンポーネント予測モードを獲得する入力器と、
ここで、前記クロスコンポーネント予測は、前記現在クロマブロック及び対応ルマ領域に対して前記対応ルマ領域の画素を用いて前記現在クロマブロックを予測する、
前記クロスコンポーネント予測モードに基づいて前記クロスコンポーネント予測を遂行することで、前記現在クロマブロックの第1の予測子を生成する第1の予測子生成器と、
前記現在クロマブロックの隣接ブロックの予測モードから代表モード(representative mode)を類推した後、前記代表モードに基づいて前記現在クロマブロックの周辺画素を用いるイントラ予測を遂行することで、前記現在クロマブロックの第2の予測子を生成する第2の予測子生成器及び、前記第1の予測子及び前記第2の予測子に対して加重値を誘導した後、前記加重値を用いて前記第1の予測子と前記第2の予測子を加重和して前記現在クロマブロックのイントラ予測子を生成する加重和器と、
を含むことを特徴とする、イントラ予測装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、改良されたクロスコンポーネント線形モデル(CCLM、Cross-Component Linear Model)予測を利用するビデオ符号化方法及び装置に関する。
【背景技術】
【0002】
以下に記述される内容は、単に本発明に関連する背景情報のみを提供するだけで従来技術を構成するものではない。
【0003】
ビデオデータは音声データや静止画データなどに比べて多くのデータ量を有するため、圧縮のための処理なしにそれ自体を保存又は伝送するためにはメモリを含む多くのハードウェアリソースを必要とする。
【0004】
したがって、通常、ビデオデータを保存又は伝送する際には、符号化器を用いてビデオデータを圧縮して保存又は伝送し、復号化器では圧縮されたビデオデータを受信して圧縮を解除して再生する。このようなビデオ圧縮技術としては、H.264/AVC、HEVC(High Efficiency Video Coding)などをはじめ、HEVCに比べて約30%以上の符号化効率を向上させたVVC(Versatile Video Coding)が存在する。
【0005】
しかし、映像のサイズ及び解像度、フレームレートが徐々に増加しており、これに伴い符号化すべきデータ量も増加しているため、従来の圧縮技術よりも符号化効率が良く画質改善効果も高い新たな圧縮技術が求められている。
【0006】
一般に、符号化対象画像は、いろんな形状とサイズのコーディングユニット(Coding Unit、CU)に分割(partitioning)された後、CU単位で符号化される。ツリー構造は、そのようなCU単位の分割を規定する情報を表し、画像の分割形態を指示するために符号化器から復号化器に伝達される。CUに分割する際、ルマ映像とクロマ画像はそれぞれ独立的に分割される。あるいは、ルマ信号とクロマ信号が同じ構造のCUに分割される。このとき、ルマ信号とクロマ信号が互いに異なる分割構造を有する技術をCST(Chroma Separate Tree)技術又は二重ツリー(dual tree)技術という。CST技術が使用される場合、クロマブロックはルマブロックとは異なる分割方法を有する。また、ルマ信号とクロマ信号が互いに同一の分割構造を有する技術を単一ツリー(single tree)技術という。単一ツリー技術が用いられる場合、クロマブロックはルマブロックと同じ分割方法を有する。
【0007】
一方、クロマ信号の画素とそれに対応するルマ信号の画素との間には線形的関係が存在する。したがって、このような線形関係に基づいてルマ信号の画素からクロマ信号のイントラ予測子を生成することができる従来技術として、CCLM(Cross-Component Linear Model)予測が存在する。現在クロマブロックのイントラ予測のために、CCLM予測は、まず、ルマ映像内で現在クロマブロックに対応するルマ領域を確定する。その後、CCLM予測は、現在クロマブロックの周辺画素ラインにある画素と対応するルマ画素間の線形モデルを導出する。最終的に、CCLM予測は導出された線形モデルを用いて対応ルマ領域の画素値から現在クロマブロックの予測子(predictor)を生成する。
【0008】
CCLM予測では、上述したように、線形モデルの誘導のために現在クロマブロックの周辺画素が用いられるが、予測子の生成時には周辺画素が利用されないという問題が存在する。したがって、現在クロマブロックのイントラ予測時に画質改善及び符号化効率の向上のために、CCLM予測を活用するにあたり、現在クロマブロックの周辺画素を追加で利用する方法が考慮される必要がある。
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明は、現在クロマブロックのイントラ予測におけるCCLM(Cross-Component Linear Model)予測の予測性能を改善するために、CCLM予測に従って現在クロマブロックの第1の予測子を生成し、現在クロマブロックの周辺画素に基づいて現在クロマブロックの第2の予測子を追加で生成した後、第1の予測子と第2の予測子を加重結合するビデオ符号化方法及び装置を提供することに目的がある。
【課題を解決するための手段】
【0010】
本発明の実施例によると、コンピューティング装置が遂行する、現在クロマブロックのイントラ予測方法において、前記現在クロマブロックに対してクロスコンポーネント(cross-component)予測のためのクロスコンポーネント予測モードを獲得するステップ‐ここで、前記クロスコンポーネント予測は、前記現在クロマブロック及び対応ルマ領域に対して前記対応ルマ領域の画素を用いて前記現在クロマブロックを予測する‐と、前記クロスコンポーネント予測モードに基づいて前記クロスコンポーネント予測を遂行することで、前記現在クロマブロックの第1の予測子を生成するステップと、前記現在クロマブロックの隣接ブロックの予測モードから代表モード(representative mode)を推定するステップと、前記代表モードに基づいて前記現在クロマブロックの周辺画素を用いるイントラ予測を遂行することで、前記現在クロマブロックの第2の予測子を生成するステップと、前記第1の予測子及び前記第2の予測子に対して加重値を誘導するステップ、及び、前記加重値を用いて前記第1の予測子と前記第2の予測子を加重和し、前記現在クロマブロックのイントラ予測子を生成するステップと、を含むことを特徴とする、イントラ予測方法を提供する。
【0011】
本発明の別の実施例によると、コンピューティング装置が遂行する、現在クロマブロックのイントラ予測方法において、前記現在クロマブロックの周辺画素を用いるイントラ予測モードを獲得するステップと、前記イントラ予測モードに基づいてイントラ予測を遂行することで、前記現在クロマブロックの第1の予測子を生成するステップと、前記現在クロマブロックに対してクロスコンポーネント(cross-component)予測のために予め設定されたクロスコンポーネントモードで代表モード(representative mode)を設定するステップ‐ここで、前記クロスコンポーネント予測は、前記現在クロマブロック及び対応ルマ領域に対して前記対応ルマ領域の画素を用いて前記現在クロマブロックを予測する‐と、前記代表モードに基づいて前記クロスコンポーネント予測を遂行することで、前記現在クロマブロックの第2の予測子を生成するステップと、前記第1の予測子及び前記第2の予測子に対して加重値を誘導するステップ、及び、前記加重値を用いて前記第1の予測子と前記第2の予測子を加重和し、前記現在クロマブロックのイントラ予測子を生成するステップと、を含むことを特徴とする、イントラ予測方法を提供する。
【0012】
本発明の他の実施例によると、現在クロマブロックに対してクロスコンポーネント(cross-component)予測のためのクロスコンポーネント予測モードを獲得する入力器‐ここで、前記クロスコンポーネント予測は、前記現在クロマブロック及び対応ルマ領域に対して前記対応ルマ領域の画素を用いて前記現在クロマブロックを予測する‐と、前記クロスコンポーネント予測モードに基づいて前記クロスコンポーネント予測を遂行することで、前記現在クロマブロックの第1の予測子を生成する第1の予測子生成器と、前記現在クロマブロックの隣接ブロックの予測モードから代表モード(representative mode)を類推した後、前記代表モードに基づいて前記現在クロマブロックの周辺画素を用いるイントラ予測を遂行することで、前記現在クロマブロックの第2の予測子を生成する第2の予測子生成器、及び、前記第1の予測子及び前記第2の予測子に対して加重値を誘導した後、前記加重値を用いて前記第1の予測子と前記第2の予測子を加重和し、前記現在クロマブロックのイントラ予測子を生成する加重和器と、を含むことを特徴とする、イントラ予測装置を提供する。
【発明の効果】
【0013】
以上で説明したように、本実施例によると、現在クロマブロックのイントラ予測において、CCLM予測に従って現在クロマブロックの第1の予測子を生成し、現在クロマブロックの周辺画素に基づいて現在クロマブロックの第2の予測子を追加で生成した後、第1の予測子と第2の予測子を加重結合するビデオ符号化方法及び装置を提供することで、CCLM予測の予測性能を改善することが可能となる効果がある。
【図面の簡単な説明】
【0014】
図1】本発明の技術を具現できる映像符号化装置に関する例示的なブロック図である。
図2】QTBTTT構造を用いてブロックを分割する方法を説明するための図である。
図3a】広角イントラ予測モードを含む複数のイントラ予測モードを示す図である。
図3b】広角イントラ予測モードを含む複数のイントラ予測モードを示す図である。
図4】現在ブロックの周辺ブロックに関する例示図である。
図5】本発明の技術を具現できる映像復号化装置の例示的なブロック図である。
図6】CCLM予測のために参照する周辺画素を示す例示図である。
図7】クロマチャネルのイントラ予測で用いられる情報を示す例示図である。
図8】本発明の一実施例に係る、クロマブロックのイントラ予測を遂行するイントラ予測部を示す例示図である。
図9】本発明の一実施例に係る、現在クロマブロックの周辺画素のうちの特定の位置にある周辺画素を示す例示図である。
図10】本発明の一実施例に係る、現在クロマブロックの周辺ブロックの分布と予測モードを示す例示図である。
図11】本発明の一実施例に係る、現在クロマブロックの周辺ブロックの分布と予測モードを示す例示図である。
図12】本発明の一実施例に係る、現在クロマブロックの周辺ブロックの分布と予測モードを示す例示図である。
図13】本発明の一実施例に係る、現在クロマブロックの周辺ブロックの分布と予測モードを示す例示図である。
図14】現在クロマブロックの周辺画素を示す例示図である。
図15】本発明の一実施例に係る、現在クロマブロックにすぐ隣接する周辺画素ラインを示す例示図である。
図16】本発明の一実施例に係る、現在クロマブロックにすぐ隣接する周辺画素ラインを示す例示図である。
図17】本発明の別の実施例に係る、現在クロマブロックの周辺ブロックの分布と予測モードを示す例示図である。
図18】本発明の別の実施例に係る、現在クロマブロックの周辺ブロックの分布と予測モードを示す例示図である。
図19】本発明の一実施例に係る現在クロマブロックのイントラ予測方法を示すフローチャートである。
図20】本発明の一実施例に係る、対応ルマ領域内画素のうちの特定の位置にある画素を示す例示図である。
図21】本発明の一実施例に係る、対応ルマ領域に含まれたブロックの分布と予測モードを示す例示図である。
図22】本発明の一実施例に係る、対応ルマ領域に含まれたブロックの分布と予測モードを示す例示図である。
図23】本発明の一実施例に係る、対応ルマ領域に含まれたブロックの分布と予測モードを示す例示図である。
図24】本発明の一実施例に係る、対応ルマ領域に含まれたブロックの分布と予測モードを示す例示図である。
図25】本発明の別の実施例に係る、現在クロマブロックの周辺ブロックの分布と予測モードを示す例示図である。
図26】本発明の別の実施例に係る、現在クロマブロックの周辺ブロックの分布と予測モードを示す例示図である。
図27】本発明の別の実施例に係る、現在クロマブロックの周辺ブロックの分布と予測モードを示す例示図である。
図28】本発明の他の実施例に係る、対応ルマ領域に含まれたブロックの分布と予測モードを示す例示図である。
図29】本発明の他の実施例に係る、対応ルマ領域に含まれたブロックの分布と予測モードを示す例示図である。
図30】本発明の一実施例に係る、現在クロマブロックの予測子内画素に関するグループ化方法を示す例示図である。
図31】本発明の一実施例に係る、第1の予測子と第2の予測子の加重値を示す例示図である。
図32】本発明の他の実施例に係る、現在クロマブロックの予測子内画素に関するグループ化方法を示す例示図である。
図33】本発明の他の実施例に係る、現在クロマブロックの予測子内画素に関するグループ化方法を示す例示図である。
【発明を実施するための形態】
【0015】
以下、本発明の実施例を例示的な図面を参照して詳しく説明する。各図面の構成要素に参照符号を付加するにあたり、同一の構成要素に対しては、たとえ他の図面に表示されても可能な限り同一の符号を有するようにしていることに留意されたい。なお、本実施例を説明するにあたり、関連された公知の構成又は機能についての具体的な説明が本実施例の要旨を曖昧にすると判断される場合には、その詳しい説明は省く。
【0016】
図1は、本発明の技術を具現することができる映像符号化装置についての例示的なブロック図である。以下では、図1の図示を参照して映像符号化装置とこの装置の下位構成について説明する。
【0017】
映像符号化装置は、ピクチャ分割部110、予測部120、減算器130、変換部140、量子化部145、並べ替え部150、エントロピー符号化部155、 逆量子化部160、逆変換部165、加算器170、ループフィルタ部180、及びメモリ190を含むように構成される。
【0018】
映像符号化装置の各構成要素は、ハードウェア又はソフトウェアで具現されてもよく、ハードウェア及びソフトウェアの組み合わせで具現されてもよい。さらに、各構成要素の機能がソフトウェアで具現され、マイクロプロセッサが各構成要素に対応するソフトウェアの機能を実行するように具現されてもよい。
【0019】
1つの映像(ビデオ)は、複数のピクチャを含む1つ以上のシーケンスで構成される。各ピクチャは複数の領域に分割され、各領域ごとに符号化が遂行される。例えば、1つのピクチャは、1つ以上のタイル(Tile)又は/及びスライス(Slice)に分割される。ここで、1つ以上のタイルをタイルグループ(Tile Group)として定義する。各タイル又は/及びスライスは、1つ以上のCTU(Coding Tree Unit)に分割される。そして、各CTUはツリー構造によって1つ以上のCU(Coding Unit)に分割される。各CUに適用される情報はCUのシンタックスとして符号化され、1つのCTUに含まれるCUに共通に適用される情報はCTUのシンタックスとして符号化される。さらに、1つのスライス内のすべてのブロックに共通に適用される情報はスライスヘッダのシンタックスとして符号化され、1つ以上のピクチャを構成するすべてのブロックに適用される情報はピクチャパラメータセット(PPS、Picture Parameter Set)あるいはピクチャ ヘッダに符号化される。さらに、複数のピクチャが共通に参照する情報は、シーケンスパラメータセット(SPS、Sequence Parameter Set)に符号化される。そして、1つ以上のSPSが共通に参照する情報は、ビデオパラメータセット(VPS、Video Parameter Set)に符号化される。さらに、1つのタイル又はタイルグループに共通に適用される情報は、タイル又はタイルグループヘッダのシンタックスとして符号化されてもよい。SPS、PPS、スライスヘッダ、タイル又はタイルグループヘッダに含まれるシンタックスは、上位水準(high level)のシンタックスと称する。
【0020】
ピクチャ分割部110は、CTU(Coding Tree Unit)のサイズを決定する。CTUのサイズに関する情報(CTU size)は、SPS又はPPSのシンタックスとして符号化されて映像復号化装置に伝達される。
【0021】
ピクチャ分割部110は、映像を構成する各ピクチャ(picture)を予め決定されたサイズを有する複数のCTU(Coding Tree Unit)に分割した以降に、ツリー構造(tree structure)を用いてCTU を繰り返し(recursively)分割する。ツリー構造におけるリーフノード(leaf node)が符号化の基本単位であるCU(coding unit)となる。
【0022】
ツリー構造では、上位ノード(あるいは親ノード)が同じサイズの4つの下位ノード(あるいは子ノード)に分割されるクワッドツリー(Quad Tree、QT)、又は上位ノードが2つの下位ノードに分割されるバイナリツリー(Binary Tree、BT)、又は上位ノードが1:2:1の比率で3つの下位ノードに分割されるターナリーツリー(Ternary Tree、TT)、又はこれらのQT構造、BT構造、及びTT構造のうちの2つ以上を混用した構造である。例えば、QTBT(Quad Tree plus Binary Tree)構造が用いられてもよく、あるいはQTBTTT(Quad Tree plus Binary Tree Ternary Tree)構造が用いられてもよい。ここで、BTTTを合わせてMTT(Multiple-Type Tree)と称される。
【0023】
図2は、QTBTTT構造を用いてブロックを分割する方法を説明するための図である。
【0024】
図2に図示するように、CTUは最初にQT構造に分割される。クワッドツリー分割は、分割ブロック(splitting block)のサイズがQTで許容されるリーフノードの最小ブロックサイズMinQTSizeに到達するまで繰り返される。QT構造の各ノードが下位レイヤの4つのノードに分割されるか否かを指示す第1のフラグQT_split_flagは、エントロピー符号化部155によって符号化されて映像復号化装置にシグナリングされる。QTのリーフノードがBTで許容されるルートノードの最大ブロックサイズMaxBTSizeよりも大きくない場合、BT構造又はTT構造のうちのいずれか1つ以上にさらに分割される。BT構造及び/又はTT構造では、複数の分割方向が存在する。例えば、該当ノードのブロックが横に分割される方向と縦に分割される方向の2つが存在する。図2に示すように、MTT分割が開始されると、ノードが分割されたか否かを指示す第2のフラグmtt_split_flagと、分割されたら追加的に分割方向(verticalあるいはhorizontal)を示すフラグ及び/又は分割タイプ(BinaryあるいはTernary)を示すフラグがエントロピー符号化部155によって符号化されて映像復号化装置にシグナリングされる。
【0025】
代替的に、各ノードが下位レイヤの4つのノードに分割されるか否かを指示す第1のフラグQT_split_flagを符号化する前に、そのノードが分割されるか否かを指示すCU分割フラグsplit_cu_flagが符号化されてもよい。CU分割フラグsplit_cu_flag値が分割されていないことを指示す場合、該当ノードのブロックが分割ツリー構造におけるリーフノード(leaf node)となり、符号化の基本単位であるCU(coding unit)となる。CU分割フラグsplit_cu_flag値が分割されることを指示す場合、映像符号化装置は、上述した方式で第1のフラグから符号化を開始する。
【0026】
ツリー構造の他の例示としてQTBTが使用される場合、該当ノードのブロックを同一サイズの2つのブロックに横に分割するタイプ(すなわち、symmetric horizontal splitting)と縦に分割するタイプ(すなわち、symmetric vertical splitting)の2つが存在する。BT構造の各ノードが下位レイヤのブロックに分割されるか否かを指示す分割フラグsplit_flag及び、分割されるタイプを指示す分割タイプ情報がエントロピー符号化部155によって符号化されて映像復号化装置に伝達される。一方、該当ノードのブロックを互いに非対称形態の2つのブロックに分割するタイプが追加でさらに存在してもよい。非対称形態には、該当ノードのブロックを1:3のサイズ比率を有する2つの長方形ブロックに分割する形態が含まれてもよく、あるいは該当ノードのブロックを対角線方向に分割する形態が含まれてもよい。
【0027】
CUは、CTUからのQTBT又はQTBTTT分割に応じて様々なサイズを有する。以下では、符号化又は復号しようとするCU(すなわち、QTBTTTのリーフノード)に該当するブロックを「現在ブロック」と称する。QTBTTT分割の採用に応じ、現在ブロックの形状は正方形だけでなく長方形であってもよい。
【0028】
予測部120は、現在ブロックを予測して予測ブロックを生成する。予測部120は、イントラ予測部122とインター予測部124を含む。
【0029】
一般に、ピクチャ内の現在ブロックはそれぞれ予測的にコーディングされる。一般に、現在ブロックの予測は(現在ブロックを含むピクチャからのデータを使用する)イントラ予測技術又は(現在ブロックを含むピクチャ以前にコーディングされたピクチャからのデータを使用する)インター予測技術を使用して遂行される。インター予測は、一方向予測と双方向予測の両方を含む。
【0030】
イントラ予測部122は、現在ブロックが含まれた現在ピクチャ内で現在ブロックの周辺に位置するピクセル(参照ピクセル)を用いて現在ブロック内のピクセルを予測する。予測方向によって複数のイントラ予測モードが存在する。例えば、図3aに見られるように、複数のイントラ予測モードは、プラナー(planar)モードとDCモードを含む2つの非方向性モードと65個の方向性モードを含む。各予測モードによって使用する周辺ピクセルと演算式が異なるように定義される。
【0031】
長方形形状の現在ブロックに対する効率的な方向性予測のために、図3bに破線の矢印で図示された方向性モード(67~80番、-1~-14番イントラ予測モード)が追加で使用される。これらは、「広角イントラ予測モード(wide angle intra-prediction modes)」と称される。図3bで矢印は、予測に使用される対応する参照サンプルを指すものであり、予測方向を示すものではない。予測方向は、矢印が指す方向と反対である。広角イントラ予測モードは、現在ブロックが長方形のときに追加のビット伝送なしに特定の方向性モードを反対方向で予測を遂行するモードである。このとき、広角イントラ予測モードのうちから、長方形の現在ブロックの幅と高さの比率により、現在ブロックに利用可能な一部の広角イントラ予測モードが決定される。例えば、45度より小さい角度を有する広角イントラ予測モード(67~80番イントラ予測モード)は、現在ブロックが、高さが幅より小さい長方形の形態であるときに利用可能であり、-135度より大きい角度を有する広角イントラ予測モード(-1~-14番イントラ予測モード)は、現在ブロックが、幅が高さよりも大きい長方形の形態であるときに利用可能である。
【0032】
イントラ予測部122は、現在ブロックを符号化するのに使用するイントラ予測モードを決定する。一部の例で、イントラ予測部122は、いろんなイントラ予測モードを使用して現在ブロックをエンコーディングし、テストされたモードから使用する適切なイントラ予測モードを選択してもよい。例えば、イントラ予測部122は、いろんなテストされたイントラ予測モードに対するビットレート歪み(rate-distortion)分析を用いてビットレート歪み値を計算し、テストされたモードの中で最善のビットレート歪み特徴を有するイントラ予測モードを選択してもよい。
【0033】
イントラ予測部122は、複数のイントラ予測モードの中から1つのイントラ予測モードを選択し、選択されたイントラ予測モードによって決定される周辺ピクセル(参照ピクセル)と演算式を用いて現在ブロックを予測する。選択されたイントラ予測モードに関する情報は、エントロピー符号化部155によって符号化されて映像復号化装置に伝達される。
【0034】
インター予測部124は、動き補償プロセスを用いて現在ブロックに対する予測ブロックを生成する。インター予測部124は、現在ピクチャより先に符号化及び復号化された参照ピクチャ内で現在ブロックと最も類似したブロックを探索し、その探索されたブロックを用いて現在ブロックに対する予測ブロックを生成する。そして、現在ピクチャ内の現在ブロックと参照ピクチャ内の予測ブロックとの間の変位(displacement)に該当する動きベクトル(Motion Vector:MV)を生成する。一般に、動き推定はルマ(luma)成分に対して遂行され、ルマ成分に基づいて計算された動きベクトルはルマ成分及びクロマ成分の両方に対して使用される。現在ブロックを予測するために使用された参照ピクチャに関する情報及び、動きベクトルに関する情報を含む動き情報は、エントロピー符号化部155によって符号化されて映像復号化装置に伝達される。
【0035】
インター予測部124は、予測の正確性を高めるために、参照ピクチャ又は参照ブロックに対する補間を遂行してもよい。すなわち、連続する2つの整数サンプル間のサブサンプルは、その2つの整数サンプルを含む連続された複数の整数サンプルにフィルタ係数を適用して補間される。補間された参照ピクチャに対して現在ブロックと最も類似したブロックを検索するステップを遂行すると、動きベクトルは整数サンプル単位の精度(precision)ではなく小数単位の精度まで表現される。動きベクトルの精度又は解像度(resolution)は、符号化しようとする対象領域、例えばスライス、タイル、CTU、CUなどの単位ごとに異なるように設定される。このような適応的動きベクトル解像度(Adaptive Motion Vector Resolution:AMVR)が適用される場合、各対象領域に適用する動きベクトル解像度に関する情報は、対象領域ごとにシグナリングされなければならない。例えば、対象領域がCUである場合、各CUごとに適用された動きベクトル解像度に関する情報がシグナリングされる。動きベクトル解像度に関する情報は、後述する差分動きベクトルの精度を示す情報である。
【0036】
一方、インター予測部124は、双方向予測(bi-prediction)を用いてインター予測を遂行する。双方向予測の場合、2つの参照ピクチャと、各参照ピクチャ内で現在ブロックと最も類似したブロック位置を表す2つの動きベクトルが用いられる。インター予測部124は、参照ピクチャリスト0(RefPicList0)及び参照ピクチャリスト1(RefPicList1)からそれぞれ第1の参照ピクチャ及び第2の参照ピクチャを選択し、各参照ピクチャ内で現在ブロックと類似したブロックを探索して第1の参照ブロックと第2の参照ブロックを生成する。そして、第1の参照ブロックと第2の参照ブロックを平均又は加重平均して現在ブロックに対する予測ブロックを生成する。そして、現在ブロックを予測するために使用した2つの参照ピクチャに関する情報及び、2つの動きベクトルに関する情報を含む動き情報を符号化部150に伝達する。ここで、参照ピクチャリスト0は、予め復元されたピクチャのうち、ディスプレイ順序で現在ピクチャ以前のピクチャで構成され、参照ピクチャリスト1は、予め復元されたピクチャのうち、ディスプレイ順序で現在ピクチャ以降のピクチャで構成される。しかしながら、必ずしもこれに限定されるわけではなく、ディスプレイ順序上で現在ピクチャ以降の既復元のピクチャが参照ピクチャリスト0に追加でさらに含まれてもよく、逆に現在ピクチャ以前の既復元のピクチャが参照ピクチャリスト1に追加でさらに含まれてもよい。
【0037】
動き情報を符号化するのに所要されるビット量を最小化するために多様な方法が用いられる。
【0038】
例えば、現在ブロックの参照ピクチャと動きベクトルが、周辺ブロックの参照ピクチャ及び動きベクトルと同一の場合には、その周辺ブロックを識別できる情報を符号化することで、現在ブロックの動き情報を映像復号化装置に伝達することができる。この方法を「マージモード(merge mode)」とする。
【0039】
マージモードで、インター予測部124は、現在ブロックの周辺ブロックから予め決定された個数のマージ候補ブロック(以下、「マージ候補」という)を選択する。
【0040】
マージ候補を誘導するための周辺ブロックとしては、図4に示されたように、現在ピクチャ内で現在ブロックに隣接する左側ブロックA0、左下段ブロックA1、上段ブロックB0、右上段ブロックB1、及び左上段ブロックA2のうちの全部又は一部が使用される。さらに、現在ブロックが位置する現在ピクチャではなく、参照ピクチャ(現在ブロックを予測するために使用された参照ピクチャと同一であってもよく異なってもよい)内に位置するブロックがマージ候補として使用されてもよい。例えば、参照ピクチャ内で現在ブロックと同一の位置にあるブロック(co-located block)又はその同一の位置のブロックに隣接するブロックがマージ候補として追加でさらに使用される。以上で記述された方法によって選定されたマージ候補の個数が予め設定された個数より小さいと、0ベクトルをマージ候補に追加する。
【0041】
インター予測部124は、このような周辺ブロックを用いて予め決定された個数のマージ候補を含むマージリストを構成する。マージリストに含まれたマージ候補の中から現在ブロックの動き情報として使用するマージ候補を選択し、選択された候補を識別するためのマージインデックス情報を生成する。生成されたマージインデックス情報は、符号化部150によって符号化されて映像復号化装置に伝達される。
【0042】
マージスキップ(merge skip)モードはマージモードの特別な場合であり、量子化を遂行した後、エントロピー符号化のための変換係数が全て零(zero)に近いとき、残差信号の伝送なしに周辺ブロック選択情報のみを伝送する。マージスキップモードを用いることで、動きの少ない映像、静止画、スクリーンコンテンツ映像などで相対的に高い符号化効率を達成することができる。
【0043】
以下、マージモードとマージスキップモードを総称し、マージ/スキップモードで表す。
【0044】
動き情報を符号化するためのまた別の方法は、AMVP(Advanced Motion Vector Prediction)モードである。
【0045】
AMVPモードで、インター予測部124は、現在ブロックの周辺ブロックを用いて現在ブロックの動きベクトルに対する予測動きベクトル候補を誘導する。予測動きベクトル候補を誘導するために使用される周辺ブロックとしては、図4に図示された現在ピクチャ内で現在ブロックに隣接する左側ブロックA0、左下段ブロックA1、上段ブロックB0、右上段ブロックB1、及び左上段ブロックA2のうち、全部又は一部が用いられる。さらに、現在ブロックが位置する現在ピクチャではなく、参照ピクチャ(現在ブロックを予測するために使用された参照ピクチャと同じであってもよく異なってもよい)内に位置するブロックが、予測動きベクトル候補を誘導するために使用される周辺ブロックとして使用されてもよい。例えば、参照ピクチャ内で現在ブロックと同じ位置にあるブロック(collocated block)、又はその同じ位置のブロックに隣接するブロックが使用される。以上で記述された方法によって動きベクトル候補の個数が予め設定された個数より小さいと、0ベクトルを動きベクトル候補に追加する。
【0046】
インター予測部124は、この周辺ブロックの動きベクトルを用いて予測動きベクトル候補を誘導し、予測動きベクトル候補を用いて現在ブロックの動きベクトルに対する予測動きベクトルを決定する。そして、現在ブロックの動きベクトルから予測動きベクトルを減算して差分動きベクトルを算出する。
【0047】
予測動きベクトルは、予測動きベクトル候補に予め定義された関数(例えば、中央値、平均値演算など)を適用して求める。この場合、映像復号化装置も予め定義された関数を知っている。また、予測動きベクトル候補を誘導するために使用する周辺ブロックは既に符号化及び復号化が完了されたブロックであるため、映像復号化装置もその周辺ブロックの動きベクトルも既に知っている。したがって、映像符号化装置は、予測動きベクトル候補を識別するための情報を符号化する必要がない。したがって、この場合には、差分動きベクトルに関する情報と、現在ブロックを予測するために使用した参照ピクチャに関する情報が符号化される。
【0048】
一方、予測動きベクトルは、予測動きベクトル候補のうちのいずれか1つを選択する方式で決定されてもよい。この場合には、差分動きベクトルに関する情報及び現在ブロックを予測するために使用した参照ピクチャに関する情報と共に、選択された予測動きベクトル候補を識別するための情報が追加で符号化される。
【0049】
減算器130は、現在ブロックからイントラ予測部122又はインター予測部124によって生成された予測ブロックを減算して残差ブロックを生成する。
【0050】
変換部140は、空間領域のピクセル値を有する残差ブロック内の残差信号を周波数ドメインの変換係数に変換する。変換部140は、残差ブロックの全体サイズを変換単位として使用して残差ブロック内の残差信号を変換してもよく、あるいは残差ブロックを複数個のサブブロックに分割してそのサブブロックを変換単位として使用して変換してもよい。あるいは、変換領域及び、非変換領域である2つのサブブロックに区分し、変換領域サブブロックのみを変換単位として使用して残差信号を変換してもよい。ここで、変換領域サブブロックは、横軸(又は縦軸)基準1:1のサイズ比率を有する2つの長方形ブロックのうちの1つである。この場合、サブブロックのみを変換したことを指示すフラグcu_sbt_flag、方向性(vertical/horizontal)情報cu_sbt_horizontal_flag、及び/又は位置情報cu_sbt_pos_flagがエントロピー符号化部155によって符号化されて映像復号化装置にシグナリングされる。また、変換領域サブブロックのサイズは、横軸(あるいは縦軸)基準1:3のサイズ比率を有し、このような場合、該当分割を区分するフラグcu_sbt_quad_flagが追加的にエントロピー符号化部155によって符号化されて映像復号化装置にシグナリングされる。
【0051】
一方、変換部140は、残差ブロックに対して横方向と縦方向に個別に変換を遂行する。変換のために、様々なタイプの変換関数又は変換行列が用いられる。例えば、横方向変換と縦方向変換のための変換関数の対をMTS(Multiple Transform Set)と定義する。変換部140は、MTSのうち、変換効率が最も良い1つの変換関数対を選択し、横及び縦方向にそれぞれ残差ブロックを変換する。MTSのうちから選択された変換関数対に関する情報mts_idxは、エントロピー符号化部155によって符号化されて映像復号化装置にシグナリングされる。
【0052】
量子化部145は、変換部140から出力される変換係数を、量子化パラメータを用いて量子化し、量子化された変換係数をエントロピー符号化部155に出力する。量子化部145は、任意のブロックあるいはフレームに対し、変換なしに、関連された残差ブロックを直ちに量子化してもよい。量子化部145は、変換ブロック内の変換係数の位置に応じて互いに異なる量子化係数(スケーリング値)を適用してもよい。二次元に配置された量子化された変換係数に適用される量子化行列は符号化されて映像復号化装置にシグナリングされる。
【0053】
並べ替え部150は、量子化された残差値に対して係数値の並べ替えを遂行する。
【0054】
並べ替え部150は、係数走査(coefficient scanning)を用いて2次元の係数アレイを1次元の係数シーケンスに変更する。例えば、並べ替え部150では、千鳥状スキャン(zig-zag scan)又は対角線スキャン(diagonal scan)を用いてDC係数から高周波数領域の係数までスキャンして1次元の係数シーケンスを出力する。変換単位のサイズ及びイントラ予測モードによって千鳥状スキャンの代わりに2次元の係数アレイを列方向にスキャンする垂直スキャン、2次元のブロック形態係数を行方向にスキャンする水平スキャンが使用されてもよい。すなわち、変換単位のサイズ及びイントラ予測モードによって千鳥状スキャン、対角線スキャン、垂直方向スキャン、及び水平方向スキャンのうちから使用されるスキャン方法が決定されてもよい。
【0055】
エントロピー符号化部155は、CABAC(Context-based Adaptive Binary Arithmetic Code)、指数ゴロム(Exponential Golomb)などの様々な符号化方式を用い、並べ替え部150から出力された1次元の量子化された変換係数のシーケンスを符号化することによってビットストリームを生成する。
【0056】
また、エントロピー符号化部155は、ブロック分割に関連されたCTUサイズ、CU分割フラグ、QT分割フラグ、MTT分割タイプ、MTT分割方向などの情報を符号化し、映像復号化装置が映像符号化装置と同様にブロックを分割できるようにする。また、エントロピー符号化部155は、現在ブロックがイントラ予測によって符号化されたか、それともインター予測によって符号化されたかの如何を指示す予測タイプに関する情報を符号化し、予測タイプによってイントラ予測情報(すなわち、イントラ予測モードに関する情報)又はインター予測情報(動き情報の符号化モード(マージモード又はAMVPモード)、マージモードの場合はマージインデックス、AMVPモードの場合は参照ピクチャインデックス及び差分動きベクトルに関する情報)を符号化する。また、エントロピー符号化部155は、量子化に関連された情報、すなわち量子化パラメータに関する情報及び量子化行列に関する情報を符号化する。
【0057】
逆量子化部160は量子化部145から出力される量子化された変換係数を逆量子化して変換係数を生成する。逆変換部165は、逆量子化部160から出力される変換係数を周波数ドメインから空間ドメインに変換して残差ブロックを復元する。
【0058】
加算部170は、復元された残差ブロックと予測部120によって生成された予測ブロックを加算して現在ブロックを復元する。復元された現在ブロック内のピクセルは、次の順序のブロックをイントラ予測するときに参照ピクセルとして使用される。
【0059】
ループ(loop)フィルタ部180は、ブロックベースの予測及び変換/量子化によって発生するブロッキングアーチファクト(blocking artifacts)、リンギングアーチファクト(ringing artifacts)、ぼかしアーチファクト(blurring artifacts)等を減らすために復元されたピクセルに対するフィルタリングを遂行する。フィルタ部180は、インループ(in-loop)フィルタとしてデブロックフィルタ182、SAO(Sample Adaptive Offset)フィルタ184、及びALF(Adaptive Loop Filter)186の全部又は一部を含む。
【0060】
デブロックフィルタ182は、ブロック単位の符号化/復号化によって発生するブロッキング現象(blocking artifact)を除去するために復元されたブロック間の境界をフィルタリングし、SAOフィルタ184及びalf186は、 デブロックフィルタリングされた映像に対して追加のフィルタリングを遂行する。SAOフィルタ184及びalf186は、損失符号化(lossy coding)によって発生する復元されたピクセルと元本ピクセルとの間の差を補償するために使用されるフィルタである。SAOフィルタ184は、CTU単位でオフセットを適用することで、主観的な画質だけでなく符号化効率も向上させる。これに比べ、ALF186はブロック単位のフィルタリングを遂行し、該当ブロックのエッジ及び変化量の程度を区分して異なるフィルタを適用して歪みを補償する。ALFに使用されるフィルタ係数に関する情報は符号化されて映像復号化装置にシグナリングされる。
【0061】
デブロックフィルタ182、SAOフィルタ184、及びALF186を介してフィルタリングされた復元ブロックはメモリ190に保存される。あるピクチャ内のすべてのブロックが復元されると、復元されたピクチャは、後に符号化しようとするピクチャ内のブロックをインター予測するための参照ピクチャとして使用される。
【0062】
図5は、本発明の技術を具現することができる映像復号化装置の例示的なブロック図である。以下では、図5を参照して映像復号化装置とこの装置の下位構成について説明することにする。
【0063】
映像復号化装置は、エントロピー復号化部510、並べ替え部515、逆量子化部520、逆変換部530、予測部540、加算器550、ループフィルタ部560、及びメモリ570を含むように構成される。
【0064】
図1の映像符号化装置と同様に、映像復号化装置の各構成要素はハードウェア又はソフトウェアで具現されてもよく、ハードウェア及びソフトウェアの組み合わせで具現されてもよい。さらに、各構成要素の機能がソフトウェアで具現され、マイクロプロセッサが各構成要素に対応するソフトウェアの機能を実行するように具現されてもよい。
【0065】
エントロピー復号化部510は、映像符号化装置によって生成されたビットストリームを復号化してブロック分割に関連された情報を抽出することで、復号化しようとする現在ブロックを決定し、現在ブロックを復元するために必要な予測情報と、残差信号に関する情報などを抽出する。
【0066】
エントロピー復号化部510は、SPS(Sequence Parameter Set)又はPPS(Picture Parameter Set)からCTUサイズに関する情報を抽出してCTUのサイズを決定し、ピクチャを決定されたサイズのCTUに分割する。そして、CTUをツリー構造の最上位レイヤ、すなわちルートノードとして決定し、CTUに関する分割情報を抽出することで、ツリー構造を用いてCTUを分割する。
【0067】
例えば、QTBTTT構造を用いてCTUを分割する場合、まずQTの分割に関連された第1のフラグQT_split_flagを抽出して各ノードを下位レイヤの4つのノードに分割する。そして、QTのリーフノードに該当するノードに対しては、MTTの分割に関連された第2のフラグMTT_split_flag及び分割方向(vertical/horizontal)及び/又は分割タイプ(binary/ternary)情報を抽出して該当リーフノードをMTT構造に分割する。これにより、QTのリーフノード以下の各ノードをBT又はTT構造に繰り返し(recursively)分割する。
【0068】
また他の例として、QTBTTT構造を用いてCTUを分割する場合、まずCUの分割可否を指示すCU分割フラグsplit_cu_flagを抽出し、該当ブロックが分割された場合、第1のフラグQT_split_flagを抽出してもよい。分割の過程で、各ノードは、0回以上の繰り返しのQT分割後に0回以上の繰り返しのMTT分割が発生する。例えば、CTUはすぐにMTT分割が発生してもよく、逆に複数回のQT分割のみが発生してもよい。
【0069】
別の例として、QTBT構造を用いてCTUを分割する場合、QTの分割に関連された第1のフラグQT_split_flagを抽出して各ノードを下位レイヤの4つのノードに分割する。そして、QTのリーフノードに該当するノードに対しては、BTでさらに分割されるか否かを指示す分割フラグsplit_flag及び分割方向情報を抽出する。
【0070】
一方、エントロピー復号化部510は、ツリー構造の分割を用いて復号化しようとする現在ブロックを決定すると、現在ブロックがイントラ予測されたかそれともインター予測されたかを指示す予測タイプに関する情報を抽出する。予測タイプ情報がイントラ予測を指示す場合、エントロピー復号化部510は、現在ブロックのイントラ予測情報(イントラ予測モード)に関するシンタックス要素を抽出する。予測タイプ情報がインター予測を指示す場合、エントロピー復号化部510は、インター予測情報に関するシンタックス要素、すなわち、動きベクトル及び、その動きベクトルが参照する参照ピクチャを表す情報を抽出する。
【0071】
また、エントロピー復号化部510は、量子化関連の情報、及び残差信号に関する情報として現在ブロックの量子化された変換係数に関する情報を抽出する。
【0072】
並べ替え部515は、映像符号化装置によって遂行された係数走査順序の逆順で、エントロピー復号化部510でエントロピー復号化された1次元の量子化された変換係数のシーケンスを再び2次元の係数アレイ(すなわち、ブロック)に変更することができる。
【0073】
逆量子化部520は、量子化された変換係数を逆量子化し、量子化パラメータを用いて量子化された変換係数を逆量子化する。逆量子化部520は、二次元に配列された量子化された変換係数に対して互いに異なる量子化係数(スケーリング値)を適用してもよい。逆量子化部520は、映像符号化装置から量子化係数(スケーリング値)の行列を量子化された変換係数の2次元アレイに適用して逆量子化を遂行する。
【0074】
逆変換部530は、逆量子化された変換係数を周波数ドメインから空間ドメインに逆変換して残差信号を復元することで、現在ブロックに対する残差ブロックを生成する。
【0075】
また、逆変換部530は、変換ブロックの一部領域(サブブロック)のみ逆変換する場合、変換ブロックのサブブロックのみを変換したことを指示すフラグcu_sbt_flag、サブブロックの方向性(vertical/horizontal)情報cu_sbt_ horizontal_ flag及び/又はサブブロックの位置情報cu_sbt_pos_flagを抽出し、該当サブブロックの変換係数を周波数ドメインから空間ドメインに逆変換することによって残差信号を復元し、逆変換されない領域に対しては残差信号で「0」値を満たすことによって現在ブロックに対する最終残差ブロックを生成する。
【0076】
また、MTSが適用された場合、逆変換部530は、映像符号化装置からシグナリングされたMTS情報mts_idxを用いて横及び縦方向にそれぞれ適用する変換関数又は変換行列を決定し、決定された変換関数を用いて横及び縦方向に変換ブロック内の変換係数に対して逆変換を遂行する。
【0077】
予測部540は、イントラ予測部542及びインター予測部544を含む。イントラ予測部542は、現在ブロックの予測タイプがイントラ予測であるときに活性化され、インター予測部544は、現在ブロックの予測タイプがインター予測であるときに活性化される。
【0078】
イントラ予測部542は、エントロピー復号化部510から抽出されたイントラ予測モードに対するシンタックス要素から複数のイントラ予測モードのうちの現在ブロックのイントラ予測モードを決定し、イントラ予測モードに応じて現在ブロック周囲の参照ピクセルを用いて現在ブロックを予測する。
【0079】
インター予測部544は、エントロピー復号化部510から抽出されたインター予測モードに対するシンタックス要素を用いて現在ブロックの動きベクトルと、その動きベクトルが参照する参照ピクチャを決定し、動きベクトルと参照ピクチャを用いて現在ブロックを予測する。
【0080】
加算器550は、逆変換部から出力される残差ブロックと、インター予測部又はイントラ予測部から出力される予測ブロックを加算して現在ブロックを復元する。復元された現在ブロック内のピクセルは、後で復号化するブロックをイントラ予測するときの参照ピクセルとして活用される。
【0081】
ループフィルタ部560は、インループフィルタとしてデブロックフィルタ562、SAOフィルタ564及びALF566を含む。デブロックフィルタ562は、ブロック単位の復号化に因って発生するブロッキング現象(blocking artifact)を除去するために、復元されたブロック間の境界をデブロックフィルタリングする。SAOフィルタ564及びALF566は、損失符号化(lossy coding)に因って発生する復元されたピクセルと元本ピクセルとの間の差を補償するために、デブロックフィルタリング以降の復元されたブロックに対して追加のフィルタリングを遂行する。ALFのフィルタ係数は、ビットストリームから復号したフィルタ係数に関する情報を用いて決定される。
【0082】
デブロックフィルタ562、SAOフィルタ564、及びALF566を介してフィルタリングされた復元ブロックはメモリ570に保存される。あるピクチャ内のすべてのブロックが復元されると、復元されたピクチャは、後で符号化しようとするピクチャ内のブロックをインター予測するための参照ピクチャとして使用される。
【0083】
本実施例は、以上で説明したような映像(ビデオ)の符号化及び復号化に関する。より詳しくは、現在クロマブロックのイントラ予測において、CCLM予測に従って現在クロマブロックの第1の予測子を生成し、現在クロマブロックの周辺画素に基づいて現在クロマブロックの第2の予測子を追加で生成した後、第1の予測子と第2の予測子を加重結合するビデオ符号化方法及び装置を提供する。
【0084】
以下の実施例は、映像符号化装置内イントラ予測部122と映像復号化装置内イントラ予測部542に共通に適用される。
【0085】
以下の説明で、符号化/復号化しようとする「対象ブロック(target block)」という用語は、上述したような現在ブロック又はコーディングユニット(CU)と同じ意味で用いられてもよく、又はコーディングユニットの一部の領域を意味してもよい。
【0086】
以下、対象ブロックは、ルマ成分を含むルマブロック、及びクロマ成分を含むクロマブロックを含む。対象ブロックのクロマブロックを対象クロマブロック又は現在クロマブロックと表現する。対象ブロックのルマブロックを対象ルマブロック又は現在ルマブロックと表現する。
【0087】
また、ブロックのアスペクト比(aspect ratio)は、ブロックの横の長さを縦の長さで割った値として定義する。
【0088】
I.CCLM(Cross-component Linear Model)予測
VVC技術で、ルマブロックのイントラ予測モードは、図3aに例示されたように、非方向性モード(すなわち、プラナー及びDC)の他に、細分化された方向性モード(すなわち、2ないし66)を有する。さらに、図3bの例示に追加されるように、ルマブロックのイントラ予測モードは、広角イントラ予測による方向性モード(-14ないし-1及び67ないし80)を有する。
【0089】
一方、ルマブロックが用いる予測方向に応じてクロマブロックもこのような細分化された方向性モードのイントラ予測を制限的に利用することができる。ただし、クロマブロックのイントラ予測では、水平及び垂直方向以外に、ルマブロックが利用できる多様な方向性モードが常に利用されるとは限らない。このような多様な方向性モードを利用できるようにするには、現在クロマブロックの予測モードがDMモードに設定されなければならない。このようにDMモードに設定することで、現在クロマブロックがルマブロックの水平及び垂直でない異なる方向性モードを利用することができる。
【0090】
クロマブロックの符号化時に、使用頻度が高い、もしくは画質維持のために最も基本的に利用するイントラ予測モードは、プラナー(planar)、DC、垂直(Vertical)、水平(Horizontal)、及びDMモードを含む。このとき、DMモードでは、現在クロマブロックに空間的に対応するルマブロックのイントラ予測モードがクロマブロックのイントラ予測モードとして用いられる。
【0091】
映像符号化装置は、映像復号化装置にクロマブロックのイントラ予測モードがDMモードであるか否かをシグナリングする。このとき、映像復号化装置にDMモードを伝達する方法はいろんなものがある。例えば、映像符号化装置は、クロマブロックのイントラ予測モードを指示(indication)するための情報であるintra_chRoma_pred_modeを特定値に設定した後、映像復号化装置に伝送することでDMモードであるか否かを指示することができる。
【0092】
クロマブロックがイントラ予測モードに符号化された場合、映像復号化装置のイントラ予測部542は、表1に従ってクロマブロックのイントラ予測モードIntraPredModeCを設定(set)することができる。
【0093】
以下、クロマブロックのイントラ予測モードに関連された情報であるintra_chRoma_pred_modeとIntraPredModeCを区別するために、それぞれクロマイントラ予測モードインジケータ及びクロマイントラ予測モードで表現される。
【0094】
【表1】
【0095】
ここで、lumaIntraPredModeは、現在クロマブロックに対応するルマブロックのイントラ予測モード(以下、「ルマイントラ予測モード」)である。lumaIntraPredModeは、図3aに例示されている予測モードのうちの1つを表す。たとえば、表1で、lumaIntraPredMode=0はプラナー予測モードを、lumaIntraPredMode=1はDC予測モードを指す。lumaIntraPredModeが18、50、及び66の場合は、それぞれ水平、垂直、及びVDIAと称される方向性モードを示す。一方、intra_chRoma_pred_mode=0、1、2、及び3の場合は、それぞれプラナー、垂直、水平、及びDC予測モードを指示する。intra_chRoma_pred_mode=4の場合がDMモードであり、クロマイントラ予測モードであるIntraPredModeC値はlumaIntraPredMode値と等しく設定される。
【0096】
以下、本実施例は、映像復号化装置による符号化情報の解析を中心に記述される。ただし、説明の便宜上必要な場合、映像符号化装置を言及することにする。それにもかかわらず、以下に記述された大部分の実施例は、映像符号化装置にも同様に同じ又は類似するように適用される。一方、映像符号化装置は、ビットレート歪み最適化の側面から符号化情報を決定する。以降、映像符号化装置はこれらを符号化してビットストリームを生成した後、映像復号化装置にシグナリングする。また、映像符号化装置は、上位段階から符号化情報を獲得して以降の符号化過程を進行することができる。
【0097】
映像符号化/復号化装置で予測を遂行するにあたり、現在符号化及び復号化しようとする対象ブロックの色彩成分(color component)と異なる色彩成分から現在ブロックの予測ブロックを生成する方法をクロスコンポーネント予測(cross-component prediction)と定義する。VVC技術では、現在クロマブロックをイントラ予測するために、クロマ画素と対応ルマ画素との間の線形的関係を用いてクロスコンポーネント予測を遂行するが、これをCCLM(Cross-component Linear Model)予測という。以下、CCLM予測について記述する。
【0098】
まず、映像復号化装置によって遂行される、クロマブロックのイントラ予測モードを解析する過程は表2に示す通りである。
【0099】
【表2】
【0100】
映像復号化装置は、CCLM予測モードの使用如何を指示するcclm_mode_flagを解析する。もし、cclm_mode_flagが1としてCCLMモードを使用する場合、映像復号化装置はcclm_mode_idxを解析してCCLMモードのインデックスを解析する。このとき、cclm_mode_idxの値により、CCLMモードは3つのモードのうちの1つが指示される。一方、cclm_mode_flagが0としてCCLMモードを使用しない場合、映像復号化装置は、上述したように、イントラ予測モードを指示するintra_chRoma_pred_modeを解析する。
【0101】
図6は、CCLM予測のために参照する周辺画素を示す例示図である。
【0102】
現在クロマブロックのイントラ予測のためにCCLMモードが適用された場合、映像復号化装置は現在クロマブロックに対応するルマ映像内の領域(以下、「対応ルマ領域」)を確定する。線形モデルの予測のために、対応ルマ領域の左側参照画素と上段参照画素、及び対象クロマブロックの左側参照画素と上段参照画素が用いられる。以下、左側参照画素と上段参照画素を統合して参照画素、周辺画素、又は隣接画素と表現する。また、クロマ成分の参照画素をクロマ参照画素で表し、ルマ成分の参照画素をルマ参照画素で表す。一方、図6の例示で、クロマブロックのサイズ、すなわち画素の個数はN×N(ここで、Nは自然数)で表す。
【0103】
CCLM予測では、ルマ領域の参照画素とクロマブロックの参照画素との間の線形モデルを誘導した後、対応ルマ領域の復元画素に該当線形モデルを適用することにより、対象クロマブロックの予測子(predictor)である予測ブロックが生成される。例えば、図6に例示されたように、現在クロマブロックの周辺画素ラインにある画素とそれに対応するルマ領域にある画素が結合された4対の画素が線形モデルの誘導に用いられる。映像復号化装置は、4対の画素に対して数1に示すように、線形モデルを表現するα、βを誘導してもよい。
【0104】
【数1】
【0105】
ここで、4対の画素のうち、対応ルマ画素に対し、Xa、Xbのそれぞれは、2つの最小値の平均値、及び2つの最大値の平均値を示す。また、クロマ画素に対し、Ya、Ybのそれぞれは、2つの最小値の平均値、及び2つの最大値の平均値を示す。以降、映像復号化装置は、数2に示すように、線形モデルを用いて対応ルマ領域の画素値rec’L(i,j)から現在クロマブロックの予測子predC(i,j)を生成する。
【0106】
【数2】
【0107】
線形モデルを適用する前に、映像復号化装置は、対応ルマ領域のサイズと現在クロマブロックのサイズとの間での同一如何を確認する。クロマチャネルのサブサンプリング方式によって両者間のサイズが異なる場合、映像復号化装置は、対応ルマ領域にダウンサンプリングを適用することにより、現在クロマブロックのサイズと同一になるように対応ルマ領域のサイズを調節することができる。
【0108】
一方、上述したように、CCLMモードは、線形モデルの誘導過程に用いる周辺画素の位置により、CCLM_LT、CCLM_L、及びCCLM_Tの3つのモードに区分される。CCLM_LTモードは、図6に例示されたように、現在クロマブロックの左側と上段に隣接する周辺画素のうち、各方向で2つの画素を用いる。CCLM_Lは、現在クロマブロックの左側に隣接する周辺画素の中から4つの画素を利用する。最後に、CCLM_Tは、現在クロマブロックの上段に隣接する周辺画素の中から4つの画素を利用する。
【0109】
II.本実施例に係る現在クロマブロックのイントラ予測
図7は、クロマチャネルのイントラ予測で利用できる情報を示す例示図である。
【0110】
映像復号化装置は、クロマチャネルのイントラ予測のために、対応ルマ領域の情報((1))を用いて予測子を生成する方法、又は同一チャネルの情報((2))を用いて予測子を生成する方法を用いる。VVC技術では、各方法に対して多様な技法が存在し、これらの技法が予測モードに区分される。また、予測モードを指示することにより予測子生成方法が指定される。以下、予測子生成方法を設定することを、予測モードを設定するとして記述する。以下、対応ルマ領域の情報((1))を用いて予測子を生成することを「クロスコンポーネント予測」と表現し、その方法を「クロスコンポーネント予測モード」又は「クロスコンポーネント予測方法」と表現する。また、同一チャネルの情報((2))を用いて予測子を生成することを「同一チャネル予測」と表現し、その方法を「同一チャネル予測モード」又は「同一チャネル予測方法」と表現する。
【0111】
例えば、VVC技術でクロマチャネルのイントラ予測方法のうち、対応ルマ領域の情報((1))を用いるクロスコンポーネント予測方法としては、上述したような、CCLMモードがある。この他にも、クロスコンポーネント予測方法では、対応ルマ領域と現在クロマブロックとの間の多数の線形モデルを誘導し、それらを用いて予測する方法、対応位置のルマ画素値の代わりに画素値に基づく勾配値(すなわち、変化値)を用いて線形モデルを誘導し、それを用いて予測する方法、現在クロマブロックの画素値一つを予測するとき、同一位置に対応するルマ画素とその周辺画素値も利用する多対一マッチングを用いて予測する方法などがある。
【0112】
一方、クロマチャネルのイントラ予測方法のうち、同一チャネルの情報((2))を用いる同一チャネル予測方法としては、プラナー、DC、水平方向モード、垂直方向モードなどがある。この他にも、同一チャネル予測方法としては、ISP(Intra Sub Partition)、MIP(Matrix-weighted Intra Prediction)、MRL(Multiple Reference Line)などの技術がある。また、現在ブロック周辺のいろんな参照ラインで方向性又は非方向性モードを類推して予測する方法、対応ルマ領域内画素と該当ブロック周辺画素との距離をベースに加重値を算定した後、この加重値を用いて現在クロマブロック内画素と周辺クロマ画素を加重和して予測する方法なども同一チャネル予測方法となり得る。
【0113】
一方、CCLM予測のようにクロマブロックに対応するルマ領域の情報を用いてクロマブロックの予測子を生成する場合、予測子生成過程で現在クロマブロックの周辺画素の情報が使用されないという問題がある。これは、従来の技術では、対応ルマ領域の情報((1))と同一チャネルの情報((2))のうち、1つだけを用いて予測子を生成するためである。また、クロマチャネルサブサンプリング方式によって対応ルマ領域の情報((1))が現在チャネル内周辺画素のような同一チャネルの情報((2))に比べて重要度が低下する可能性も存在する。これにより、CCLMモードで生成された予測子と隣接する周辺画素との間に不連続性が発生し得る。このような既存技術の問題は、CCLMモードによる予測時に現在チャネルの周辺画素情報を考慮することによって解決される。これは、(1)の情報を用いることに加え、(2)の情報まで用いて予測を遂行することである。あるいは、これらの従来技術の問題は、同一チャネル内の周辺画素情報を使用した予測時(例えば、方向性又は非方向性イントラ予測遂行時)、ルマ領域の情報まで追加で使用することで解決される。これは、(2)の情報を用いることに加え、(1)の情報まで用いて予測を遂行するものである。
【0114】
図8は、本発明の一実施例に係る、クロマブロックのイントラ予測を遂行するイントラ予測部を示す例示図である。
【0115】
上述したような対応ルマ領域の情報と同一チャネルの情報のうちの一つだけを用いることによる問題点に対処するために、本実施例に係る映像復号化装置内イントラ予測部542はCCLMモードに基づく第1の予測子とイントラ予測モードに基づいて追加的に生成された第2の予測子を加重結合して現在クロマブロックの予測子を生成する。ここで、CCLMモードは対応ルマ領域の情報((1))を使用し、イントラ予測モードは同一チャネルの情報((2))を用いる。本実施例によるイントラ予測部542は、入力器802、第1の予測子生成器804、第2の予測子生成器806、及び加重和器808の全部又は一部を含む。一方、映像符号化装置内イントラ予測部122も同一の構成要素を含む。
【0116】
本実施例に係る入力器802は、現在クロマブロックのCCLM予測のためのCCLMモードを獲得する。あるいは、入力器802は、現在クロマブロックのクロスコンポーネント予測のためのクロスコンポーネント予測モードを獲得することができる。
【0117】
第1の予測子生成器804は、CCLMモードに基づくCCLM予測を遂行して現在クロマブロックの第1の予測子を生成する。あるいは、第1の予測子生成器804は、クロスコンポーネント予測モードに基づいてクロスコンポーネント予測を遂行して現在クロマブロックの第1の予測子を生成する。
【0118】
第2の予測子生成器806は、周辺画素を用いるイントラ予測モードに基づいて現在クロマブロックの第2の予測子を生成する。すなわち、第2の予測子生成器806は、同一チャネル情報を利用する同一チャネル予測モードに基づいて第2の予測子を生成する。
【0119】
加重和器808は、加重値を用いて第1の予測子と第2の予測子を加重結合することによって、現在クロマブロックのイントラ予測子を生成する。
【0120】
このとき、映像復号化装置は、第1の予測子と第2の予測子を数3に示すように加重値を用いて加重結合する。
【0121】
【数3】
【0122】
ここで、(i,j)は画素の位置を表し、predC(i,j)は現在クロマブロックのイントラ予測子を表す。predCCLM(i,j)は第1の予測子を表し、predintra(i,j)は第2の予測子を表し、wCCLM(i,j)は加重値を表す。前述のように、predCCLM(i,j)はCCLM予測による予測子を表すが、包括的にクロスコンポーネント予測による予測子を表す。
【0123】
以下、第2の予測子と「追加予測子(additional predictor)」を互換的に用いる。多数の追加予測子が存在する場合、数3にまた別のpredintraが追加され、加重値も1-wCCLM(i,j)内で各追加予測子ごとに分割されて分配される。
【0124】
一方、数3では、加重値がwCCLMを基準として表現されるが、実施例によっては、数4のようにwintraをベースに具現されてもよい。
【0125】
【数4】
【0126】
同一チャネル予測モードによる第2の予測子とCCLMモードによる第1の予測子が、数4のように加重結合される。数4で、同一チャネル予測モードによる予測子を第1の予測子と称し、CCLMモードによる予測子を第2の予測子と称してもよい。このとき、図8に例示されたのと類似するように、同一チャネル情報を用いて第1の予測子を生成するためのイントラ予測モードは解析され、対応ルマ領域の情報を用いて第2の予測子を生成するためのCCLMモードが類推される。したがって、実現例に依存的に、第1の予測子と第2の予測子は、数3及び数4に示された場合の両方を含むことができるものと理解されたい。
【0127】
以下、追加的な言及がない場合便宜上、CCLMモードによる予測子を第1の予測子と称し、周辺画素情報を用いるイントラ予測モードによる予測子を第2の予測子と称し、数3に示すwCCLMを基準に表現された加重値が使用される。さらに、図8に例示されたように、第1の予測子を生成するためのCCLM予測モードは解析され、第2の予測子を生成するためのイントラ予測モードが類推される。
【0128】
映像復号化装置は、周辺画素を用いるイントラ予測モードを自ら類推したり、映像符号化装置によってビットストリーム上に伝送された予測モードを利用したりすることができる。また、映像復号化装置は、第1の予測子と第2の予測子を加重結合する方法を自ら類推したり、映像符号化装置によってビットストリーム上に伝送された方法を用いたりすることができる。イントラ予測モードを類推/伝送する方法、及び加重値を類推/伝送する方法は様々に組み合わせることができる。例えば、イントラ予測モードは映像復号化装置によって類推され、加重結合方法はビットストリームを介して伝送される。逆に、イントラ予測モードはビットストリームを介して伝送され、加重結合方法は映像復号化装置によって類推される。以下、これらの多様な組み合わせについて好ましい実現例を記述する。
【0129】
<実現例1>加重和する予測子の生成方法類推
本実現例は、数3による、同一チャネルの周辺画素を用いる第2の予測子(predintra)の生成方法を類推する。本実現例によると、映像復号化装置は、第2の予測子の予測モードを映像符号化装置から明示的にシグナリング(signaling)されないままで、予め設定された予測モードを第2の予測者の予測モードに設定することができる。あるいは、映像復号化装置は、周辺クロマブロックの幅/高さ/面積/アスペクト比/予測モード、及び対応ルマブロックの幅/高さ/面積/アスペクト比/予測モードのうちの少なくとも1つの情報に基づいて第2の予測子の予測モードのうち、少なくとも1つを類推することができる。ここで、対応ルマブロックは、ブロックの全部又は一部が対応ルマ領域に含まれるブロックとして定義される。
【0130】
一方、本実現例が数4による場合、前述したように、イントラ予測子(predintra)を生成するための同一チャネル予測モードは解析され、対応ルマ領域の情報を用いる予測子(predCCLM)の生成方法が類推される。本実施例によると、映像復号化装置は、predCCLMの予測モードを映像符号化装置から明示的にシグナリングされないままで、予め設定された予測モードをpredCCLMの予測モードに設定することができる。あるいは、映像復号化装置は、周辺クロマブロックの幅/高さ/面積/アスペクト比/予測モードのうちの少なくとも1つの情報に基づいてpredCCLMの予測モードの少なくとも1つを類推することができる。
【0131】
<実現例1-1>事前に定義された予測モードを第2の予測子の予測モードに設定
本実現例で、数3により、映像復号化装置は事前に定義された予測モードを第2の予測子の予測モードに設定する。このとき、使用可能な予測モードは、図3aに例示された67個のイントラ予測モード(predModeIntra)、MIP(Matrix-weighted Intra Prediction)モードなどのように周辺画素に基づいて予測子を生成するモードである。例えば、1つの第2の予測子を用いる場合(すなわち、nが1の場合)、第2の予測子の予測モードはプラナーモードである。したがって、数3を適用して映像復号化装置は、現在クロマブロックの予測子を数5に示すように生成することができる。
【0132】
【数5】
【0133】
別の例として、2つの追加予測子を用いる場合(すなわち、nが2の場合)、追加予測子のそれぞれの予測モードは、プラナーモードとDCモードである。したがって、映像復号化装置は、現在クロマブロックの予測子を数6に示すように生成することができる。
【0134】
【数6】
【0135】
ここで、追加予測子の加重値はw1+w2=1を満たす。本実現例の場合、予め設定された予測モードを、後で説明される「代表モード(representative mode)」と称する。
【0136】
一方、本実現例が数4による場合、対応ルマ領域の情報を用いる予測子(predCCLM)の予測モードが予め設定される。そのようなモードは、上記のようなクロスコンポーネント予測モードのうちの少なくとも1つである。このとき、同一チャネル情報を用いて予測子を生成するための同一チャネル予測モードは解析される。
【0137】
<実現例1-2>現在クロマブロックの周辺ブロックの情報を使用
本実現例にて、数3により、映像復号化装置は現在クロマブロック及び周辺クロマブロックの幅/高さ/面積/アスペクト比/予測モード等の情報を用いて類推した予測モード(以下、「代表モード」と称する)を第2の予測子の予測モードに設定する。このとき、映像復号化装置によって導出される代表モードの個数は、加重和される追加予測子の個数に依存する。
【0138】
映像復号化装置は、代表モードの誘導方法として、次のような5つの方法のうちの1つを用いることができる。
【0139】
1番目の方法として、現在クロマブロックの周辺画素のうち、特定の位置にある周辺画素を含むブロックの予測モードが代表モードに設定される。このとき、特定の位置は、図9の例示のように多様に指定される。
【0140】
例えば、現在クロマブロックの周辺ブロックの分布と予測モードが図10の例示と同じである場合を仮定する(以下の図にて、各ブロック内の数字は予測モードを示す)。映像復号化装置は、左上段に位置する周辺画素(図9の例示で1番位置)に基づいて代表モードを導出する場合、18番モードを代表モードとして用いる。
【0141】
もし、複数の代表モードを類推する場合、映像復号化装置は、図9に例示された位置の周辺画素のうち、複数の画素を選択することができる。例えば、現在クロマブロックの周辺ブロックの分布と予測モードが図11の例示と同じである場合を仮定する。左側最上段周辺画素(図9の例示で2番位置)と上段最左側周辺画素(図9の例示で3番位置)に基づいて代表モードを導出する場合、映像復号化装置は18番モードとプラナー(PL)モードを代表モードとして使用できる。
【0142】
2番目の方法として、現在クロマブロックと隣接するブロックの予測モードのうち、ブロック個数をベースに導出された最頻予測モードが代表モードに設定される。
【0143】
現在クロマブロックの周辺ブロックの分布と予測モードが図12の例示と同じである場合を仮定する。合計5つの隣接ブロックが存在し、このうちの3つのブロックがプラナーモードを用いるので、映像復号化装置は、最頻予測モードに該当するプラナーモードを代表モードとして使用する。もし、複数の代表モードを類推する場合、最頻順に代表モードが導出される。例えば、2つの代表モードを導出する場合、映像復号化装置は、プラナーモードと18番モード(又は、プラナーモードとDCモード)を代表モードとして一緒に類推することができる。
【0144】
予測モードの頻度が同一の場合、優先順位を指定して代表モードが導出される。このとき、優先順位として、{プラナー、DC、水平方向モード、垂直方向モード、…}の順序、昇順、又は降順のように事前に定められた順序が用いられる。あるいは、同一頻度に該当するモードのブロックが左側上段に近いほど高い優先順位が与えられる。
【0145】
例えば、該当モードのブロックが左側上段に近いほど高い優先順位を付与する場合、図12の例示では、18番モードのブロックがDCモードのブロックより左側上段に近接するのでより高い優先順位を有する。したがって、映像復号化装置は、プラナーモードと18番モードを代表モードとして導出することができる。
【0146】
上記の例示の他にも、予測モードの頻度が同一の場合、事前に定義された所定の規則に従って代表モードが類推される。
【0147】
別の実施例として、複数の代表モードを導出する場合、隣接ブロックをグループ化した後、各グループで最頻モードが導出される。このとき、隣接ブロックは、{左側隣接ブロック}、{上段隣接ブロック}のように空間的にグループ化される。例えば、現在クロマブロックの周辺ブロックの分布と予測モードが図13の例示と同じである場合を仮定する。映像復号化装置は、左側に隣接する3つのブロックのうちの2つのブロックがプラナーモードを用いるので、これを1番目の代表モードとして使用し、上段に隣接する3つのブロックのうちの2つのブロックがDCモードを用いるので、これを2番目の代表ブロックとして用いる。
【0148】
3番目の方法として、現在クロマブロックと隣接するブロックの予測モードのうち、ブロック面積をベースに導出された最頻予測モードが代表モードとして設定される。
【0149】
3番目の方法は、2番目の方法である現在クロマブロックの隣接するブロックの予測モードのうち、ブロック個数をベースに導出された最頻予測モードを代表モードとして用いる方法と同様に遂行される。すなわち、3番目の方法では、ブロック個数の代わりに隣接ブロックの面積をベースに最頻モードが導出される。
【0150】
4番目の方法として、現在クロマブロックの各周辺画素が含まれたブロックの予測モードをベースに導出された最頻予測モードが代表モードとして設定される。このとき、単純に現在ブロックにすぐ隣接する周辺画素の他にも、図14の例示のように現在ブロックから若干離れた周辺画素も活用される。いろんな周辺画素ラインのうちの1本のみを選択してもよく、2本以上のラインを選択するなど、多様な組み合わせによる応用が可能である。また、現在ブロックが予測子を生成する過程で必要な周辺画素が存在しない場合、パディングのような方法を用いて周辺画素を生成するが、パディングによって生成された周辺画素を除いて元々存在していた周辺画素のみが使用されてもよい。
【0151】
例えば、図15の例示のように現在ブロックにすぐ隣接する周辺画素ラインのみを用いる場合を仮定する。図15の例示では、現在クロマブロックに左側及び上段に隣接する16個の周辺画素、及び左上段の周辺画素1個を含む17個の周辺画素のうち、プラナーモードを使用する画素が10個で最も多く存在するので、映像復号化装置は、プラナーモードを代表モードとして使用する。複数の代表モードを類推する場合、周辺画素の個数をベースにその次の最頻予測モードが類推された後、また別の代表モードとして使用される。図15の例示では、18番モードが2番目の代表モードになる。
【0152】
このような方法の他にも、図16に例示されたように、映像復号化装置は、現在クロマブロックの左側に隣接する周辺画素と上段に隣接する周辺画素をグループに分けた後、各グループの最頻モードを導出し、これらを代表モードとして使用できる。本例示では、左上段の周辺画素は2つのグループに同時に含まれるものと仮定する。まず、現在クロマブロックの左側に隣接する9つの周辺画素のうち、プラナーモードである周辺画素が6つで最も多く存在するため、映像復号化装置は、プラナーモードを1番目の代表モードとして使用する。現在クロマブロックの上段に隣接する9つの周辺画素のうち、DCモードである周辺画素が7つで最も多く存在するため、映像復号化装置は、DCモードを2番目の代表モードとして使用する。
【0153】
5番目の方法として、現在クロマブロックと隣接するブロックのうち、アスペクト比が現在ブロックと同じ(又は最も類似する)ブロックの予測モードが代表モードとして設定される。例えば、現在クロマブロックの周辺ブロックの分布と予測モードが図17の例示と同じである場合を仮定する。図17の例示では、現在クロマブロックとアスペクト比が同じブロックの予測モードとして、プラナーモードと50番モードが存在する。もし、複数の予測モードが導出された場合、映像復号化装置は、1つの代表モードを選定するためにブロックのサイズがより大きいモードを代表モードとして使用する。図17の例示では、プラナーモードが代表モードとして設定される。
【0154】
もし、複数の代表モードを類推する場合、アスペクト比の類似性が次に高い隣接ブロックの予測モードがまた別の代表モードとして使用される。また別の例として、現在クロマブロックの左側に隣接するブロックと上段に隣接するブロックでそれぞれ現在ブロックとアスペクト比が最も類似するブロックを導出した後、そのブロックが用いる予測モードのそれぞれが代表モードとして使用される。例えば、図18の例示のように2つの代表モードを類推する場合を仮定する。映像復号化装置は、現在クロマブロックの左側に隣接するブロックのうち、現在ブロックとアスペクト比が同じブロックの予測モードである50番モード、及び上段に隣接するブロックのうち、現在ブロックとアスペクト比が同じブロックの予測モードであるプラナーモードを代表モードとして使用できる。
【0155】
以下、図19の図示を用い、第1の予測子と第2の予測子の加重和を利用する、現在クロマブロックのイントラ予測方法を記述する。
【0156】
図19は、本発明の一実施例に係る現在クロマブロックのイントラ予測方法を示すフローチャートである。
【0157】
映像復号化装置はcclm_mode_idxを解析する(S1900)。インデックスcclm_mode_idxを解析し、現在クロマブロックに適用するためのCCLMモードを獲得する。あるいは、映像復号化装置は、インデックスを解析し、現在クロマブロックに適用するためのクロスコンポーネント予測モードを獲得する。
【0158】
映像復号化装置は、解析されたCCLMモードを入力として用いて既に存在するgetCclmPred()関数を遂行することにより第1の予測子(predCCLM)を生成する(S1902)。あるいは、映像復号化装置は、解析されたクロスコンポーネント予測モードを入力として用いて第1の予測子を生成する。
【0159】
映像復号化装置は、getExtraIntraMode()関数を遂行して代表モードを類推する(S1904)。以下、getExtraIntraMode()関数を「代表モード誘導関数」又は短くして「誘導関数」と称する。
【0160】
映像復号化装置は、代表モードを入力として用いて既に存在するgetIntraPred()関数を遂行することにより、第2の予測子(predintra)を生成する(S1906)。
【0161】
映像復号化装置は、第1の予測子と第2の予測子を加重和して現在クロマブロックの予測子(predC)を生成する(S1908)。
【0162】
このとき、実現例1-2の5つの代表モード誘導方法によって代表モードを類推する誘導関数getExtraIntraMode()が多様に具現される。本実現例を具現するgetExtraIntraMode()には、現在クロマブロックの左上段の画素座標(x0,y0)、幅(width)、及び高さ(height)が基本入力として提供される。実現例1-2の1番目の方法の場合、現在ブロックの左上段画素の座標を基準に参照する周辺画素の相対的な座標値オフセット(offset)が追加で入力として提供される。
【0163】
一方、関数内で使用されるgetPU()関数は既存に存在する関数として、画素の座標とチャネル情報を入力として提供され、該当位置の画素が含まれたブロックの情報を返還する。
【0164】
以下、実現例1-2の1番目の方法による誘導関数getExtraIntraMode(x0、y0、幅、高さ、オフセット)の動作を記述する。
【0165】
誘導関数は、現在ブロックの左上段画素の座標(x0,y0)とオフセットをベースに参照する周辺画素の位置(xR,yR)を導出する。
【0166】
誘導関数は、getPU()関数に(xR,yR)座標とクロマチャネルを入力して該当ブロックの情報を生成した後、生成された情報のうち、予測モードを代表モードとして出力する。
【0167】
以下、実現例1-2の2番目の方法による誘導関数getExtraIntraMode(x0,y0,幅,高さ)の動作を記述する。
【0168】
誘導関数は、現在ブロックの左上段画素の座標(x0,y0)、幅及び高さをベースに周辺画素の位置(xR,yR)を探索する。
【0169】
誘導関数は、getPU()関数に(xR,yR)座標とクロマチャネルを入力して該当ブロックの情報を生成した後、生成された情報のうちの予測モードを導出する。
【0170】
誘導関数は、以前に探索した周辺画素が現在探索した周辺画素と異なるブロックに含まれる場合、該当予測モードを「予測モード頻度リスト」に追加し、以前に探索した周辺画素が現在探索した周辺画素と同じブロックに含まれる場合、該当予測モードを予測モード頻度リストに追加しない。
【0171】
誘導関数は、全ての周辺画素に対して上述したような位置探索を遂行して予測モード頻度リストを完成する。
【0172】
誘導関数は、予測モード頻度リストに含まれた予測モードのうちの最頻予測モードを代表モードとして出力する。
【0173】
以下、実現例1-2の3番目の方法による誘導関数getExtraIntraMode(x0,y0,幅,高さ)の動作について記述する。
【0174】
誘導関数は、現在ブロックの左上段画素の座標(x0,y0)、幅及び高さをベースに周辺画素の位置(xR,yR)を探索する。
【0175】
誘導関数は、getPU()関数に(xR,yR)座標とクロマチャネルを入力して該当ブロックの情報を生成した後、生成された情報のうちの予測モード、幅wR及び高さhRを導出する。
【0176】
誘導関数は、以前に探索した周辺画素が現在探索した周辺画素と異なるブロックに含まれる場合、該当予測モードをwR×hR個だけ「予測モード頻度リスト」に追加し、以前に探索した周辺画素が現在探索した周辺画素と同じブロックに含まれる場合、該当予測モードを予測モード頻度リストに追加しない。
【0177】
誘導関数は、全ての周辺画素に対して上述したような位置探索を遂行して予測モード頻度リストを完成する。
【0178】
誘導関数は、予測モード頻度リストに含まれた予測モードのうちの最頻予測モードを代表モードとして出力する。
【0179】
以下、実現例1-2の4番目の方法による誘導関数getExtraIntraMode(x0,y0,幅,高さ)の動作を記述する。
【0180】
誘導関数は、現在ブロックの左上段画素の座標(x0,y0)、幅及び高さをベースに周辺画素の位置(xR,yR)を探索する。
【0181】
誘導関数は、getPU()関数に(xR,yR)座標とクロマチャネルを入力して該当ブロックの情報を生成した後、生成された情報のうち、予測モードを予測モード頻度リストに追加する。
【0182】
誘導関数は、全ての周辺画素に対して上述したような位置探索を遂行して予測モード頻度リストを完成する。
【0183】
誘導関数は、予測モード頻度リストに含まれた予測モードのうち、最頻予測モードを代表モードに出力する。
【0184】
以下、実現例1-2の5番目の方法による誘導関数getExtraIntraMode(x0,y0,幅,高さ)の動作を記述する。
【0185】
誘導関数は、幅と高さを用いて現在ブロックのアスペクト比を計算する。
【0186】
誘導関数は、現在ブロックの左上段画素の座標(x0,y0)、幅及び高さをベースに周辺画素の位置(xR,yR)を探索する。
【0187】
誘導関数はgetPU()関数に(xR,yR)座標とクロマチャネルを入力して該当ブロックの情報を生成した後、生成された情報のうち、予測モード、幅wR、及び高さhRを導出し、幅wRと高さhRを用いて該当ブロックのアスペクト比を計算する。
【0188】
誘導関数は、以前に探索した周辺画素が現在探索した周辺画素と異なるブロックに含まれる場合、該当予測モードと計算したアスペクト比のペアを「アスペクト比類似度リスト」に追加し、以前に探索した周辺画素が現在探索した周辺画素と同じブロックに含まれる場合、該当予測モードと計算したアスペクト比のペアをアスペクト比類似度リストに追加しない。
【0189】
誘導関数は、全ての周辺画素に対してこのような位置探索を遂行してアスペクト比類似度リストを完成する。
【0190】
誘導関数は、アスペクト比類似度リストに含まれた元素のペアに対してそれぞれのアスペクト比を基準に現在ブロックのアスペクト比と類似度が最も高い元素のペアの予測モードを代表モードとして出力する。例えば、アスペクト比は{8,4,2,1,1/2,1/4,1,8}の7種類が存在し、このようなリスト内の2つのアスペクト比のインデックス差の絶対値が小さいほど類似度が高いものと看做される。
【0191】
5つの種類の代表モード誘導方法について上述したような誘導関数getExtraIntraMode()の動作は、1つの代表モードを生成する場合を記述する。もし、複数の代表モードを生成する場合、代表モードの個数numExtraModeを追加で入力することにより、誘導関数が拡張される。
【0192】
一方、本実現例が数4に従う場合、現在クロマブロック及び周辺クロマブロックの情報を用いて予測子(predCCLM)の予測モードを類推される。ここで、予測モードは、上述のようなクロスコンポーネント予測モードのうちの少なくとも1つである。例えば、現在クロマブロックの周辺画素のうち、特定の位置にある周辺画素を含むブロックの予測モードが代表モードに設定される。現在クロマブロックと隣接するブロックの予測モードのうち、ブロック個数をベースに導出された最頻予測モードが代表モードに設定される。現在クロマブロックと隣接するブロックの予測モードのうち、ブロック面積をベースに導出された最頻予測モードが代表モードに設定される。現在クロマブロックの各周辺画素が含まれたブロックの予測モードをベースに導出された最頻予測モードが代表モードに設定される。また、現在クロマブロックのアスペクト比に応じて代表モードが類推される。以降、類推された代表モードが予測子(predCCLM)の予測モードに設定される。
【0193】
<実現例1-3>対応ルマ領域に含まれたブロックの情報を使用
本実現例にて、数3により、映像復号化装置は現在クロマブロックに対応するルマ領域(以下、「対応ルマ領域」)に含まれたブロックの幅/高さ/面積/アスペクト比/予測モード等の情報を用いて類推した予測モード(以下、「代表モード」と称する)を第2の予測者の予測モードに設定する。このとき、映像復号化装置によって導出される代表モードの個数は、加重和される第2の予測子の個数に依存する。
【0194】
映像復号化装置は、代表モードの誘導方法として、次のような4つの方法のうちの1つを用いる。
【0195】
1番目の方法として、対応ルマ領域内の画素のうち、特定の位置にある画素を含むブロックの予測モードが代表モードに設定される。このとき、特定の位置は、図20の例示のように多様に指定される。
【0196】
例えば、対応ルマ領域に含まれたブロックの分布と予測モードが図21の例示と同じである場合を仮定する。映像復号化装置は、正中央に位置する画素(図20の例示で5番位置)に基づいて代表モードを導出する場合、22番モードを代表モードとして用いる。
【0197】
複数の代表モードを類推する場合、映像復号化装置は、図20に例示された位置の画素のうち、複数の画素を選択することができる。図22の例示のように、対応ルマ領域内の画素のうち、右上段と左下段に位置する画素が含まれたブロックの予測モードが代表モードとして用いられる。すなわち、映像復号化装置は、右上段(図20の例示で3番位置)に位置する画素が含まれたブロックの予測モードである66番モードを1番目の代表モードとして使用し、左下段(図20の例示で7番位置)に位置する画素が含まれたブロックの予測モードであるプラナーモードを2番目の代表モードとして用いる。
【0198】
2番目の方法として、対応ルマ領域に含まれたブロックの予測モードのうち、ブロック個数をベースに導出された最頻予測モードが代表モードに設定される。
【0199】
対応ルマ領域に含まれたブロックの分布と予測モードが図23の例示と同じである場合を仮定する。対応ルマ領域には合計5つのブロックが存在し、このうちの2つのブロックがプラナーモードを用いるので、映像復号化装置はプラナーモードを代表モードとして用いる。もし、複数の代表モードを類推する場合、映像復号化装置は、図23の例示で2番目に多くのブロックが用いる予測モードをまた別の代表モードとして用いる。
【0200】
予測モードの頻度が同一の場合、優先順位を指定して代表モードが導出される。このとき、優先順位として、{プラナー,DC,水平方向モード,垂直方向モード,…}の順序、昇順、又は降順のように定められた順序が用いられる。又は、同一頻度に該当するモードのブロックが対応ルマ領域内で多くの面積を占めるほど高い優先順位が与えられる。
【0201】
例えば、該当モードのブロックが対応ルマ領域内で多くの面積を占めるほど高い優先順位を付与する場合、図23の例示では、22番モードのブロックがDC及び18番モードのブロックよりも対応ルマ領域内でより広い面積を占めるので、より高い優先順位を有する。したがって、映像復号化装置は、プラナーモードと22番モードを代表モードとして導出する。
【0202】
上の例示の他にも予測モードの頻度が同一の場合、事前に定義された所定の規則に従って代表モードが類推される。
【0203】
3番目の方法として、対応ルマ領域に含まれたブロックの予測モードのうち、ブロック面積をベースに導出された最頻予測モードが代表モードに設定される。
【0204】
3番目の方法は、2番目の方法である対応ルマ領域に含まれたブロックの予測モードのうち、ブロック個数をベースに導出された最頻予測モードを代表モードとして用いる方法と同様に遂行される。3番目の方法では、ブロック個数の代わりに対応ルマ領域に含まれたブロックの面積をベースに最頻モードが導出される。
【0205】
4番目の方法として、対応ルマ領域に含まれたブロックのうち、アスペクト比が現在ブロックと同じ(又は最も類似する)ブロックの予測モードが代表モードに設定される。例えば、対応ルマ領域に含まれたブロックの分布と予測モードが図24の例示と同じである場合を仮定する。図24の例示では、現在クロマブロックとアスペクト比が同じブロックの予測モードとして、プラナーモードとDCモードが存在する。もし、複数の予測モードが導出された場合、映像復号化装置は、1つの代表モードを選定するためにブロックのサイズがより大きいモードを代表モードとして用いる。図24の例示では、プラナーモードが代表モードに設定される。
【0206】
もし、複数の代表モードを類推する場合、アスペクト比の類似性が次に高いブロックの予測モードがまた別の代表モードとして用いられる。図24の例示で、映像復号化装置は、プラナーモードとDCモードを代表モードとして用いる。
【0207】
上述したような実現例1-3による各代表モード誘導方法は、図19に例示されたようなイントラ予測方法の一部として含まれる。このとき、実現例1-3の4つの代表モード誘導方法によって代表モードを類推するgetExtraIntraMode()が多様に具現される。本実現例を具現する誘導関数getExtraIntraMode()には、現在クロマブロックの左上段画素座標(x0,y0)、幅(width)及び高さ(height)が基本入力として提供される。実現例1-3の1番目の方法の場合、現在クロマブロックの左上段画素の座標に対応するルマ画素の座標を基準に参照する画素位置の相対的な座標値オフセットが追加で入力として提供される。
【0208】
関数内で使用されるgetPU()関数は既存に存在する関数であり、画素の座標とチャネル情報を入力として提供され、該当位置の画素が含まれたブロックの情報を返還する。getColocPos()関数は、既存に存在する関数であり、画素の座標、現在チャネル情報、及び対応チャネル情報を入力として提供され、現在チャネル内の画素に対して対応チャネル内で対応する位置を返還する。また、getColocLen()関数は既存に存在する関数であり、ブロックの幅/高さ、現在チャネル情報、及び対応チャネル情報を入力として提供され、現在チャネルの幅/高さに対して対応チャネル内での長さを返還する。
【0209】
以下、実現例1-3の1番目の方法による誘導関数getExtraIntraMode(x0,y0,幅,高さ,オフセット)の動作を記述する。
【0210】
誘導関数は、現在ブロックの左上段画素の座標(x0,y0)、現在チャネルをクロマチャネル、及び対応チャネルをルマチャネルに入力を受けて対応ルマ画素の座標(x0L,y0L)を導出する。
【0211】
誘導関数は、(x0L,y0L)とオフセットをベースに参照する画素の位置(xR,yR)を導出する。
【0212】
誘導関数は、getPU()関数に(xR,yR)座標とルマチャネルを入力して該当ブロックの情報を生成した後、生成された情報のうち、予測モードを代表モードに出力する。
【0213】
以下、実現例1-3の2番目の方法による誘導関数getExtraIntraMode(x0,y0,幅,高さ)の動作を記述する。
【0214】
誘導関数は、現在ブロックの左上段画素の座標(x0,y0)、現在チャネルをクロマチャネル、及び対応チャネルをルマチャネルに入力を受けて対応ルマ画素の座標(x0L,y0L)を導出する。
【0215】
誘導関数は、現在ブロックの幅又は高さ、現在チャネルをクロマチャネル、及び対応チャネルをルマチャネルに入力を受けて対応ルマチャネルでの長さwidthL及びheightLを導出する。
【0216】
誘導関数は、(x0L,y0L)、widthL及びheightLをベースに対応ルマ領域画素の位置(xR,yR)を探索する。
【0217】
誘導関数は、getPU()関数に(xR,yR)座標とルマチャネルを入力して該当ブロックの情報を生成した後、生成された情報のうち、予測モードを導出する。
【0218】
誘導関数は、以前に探索した画素が現在探索した画素と異なるブロックに含まれる場合、該当予測モードを「予測モード頻度リスト」に追加し、以前に探索した画素が現在探索した画素と同じブロックに含まれる場合、該当予測モードを予測モード頻度リストに追加しない。
【0219】
誘導関数は、対応ルマ領域内の全ての画素に対して上述したような位置探索を遂行して予測モード頻度リストを完成する。
【0220】
誘導関数は、予測モード頻度リストに含まれた予測モードのうち、最頻予測モードを代表モードに出力する。
【0221】
以下、実現例1-3の3番目の方法による誘導関数getExtraIntraMode(x0,y0,幅,高さ)の動作を記述する。
【0222】
誘導関数は、現在ブロックの左上段画素の座標(x0,y0)、現在チャネルをクロマチャネル、及び対応チャネルをルマチャネルに入力を受けて対応ルマ画素の座標(x0L,y0L)を導出する。
【0223】
誘導関数は、現在ブロックの幅又は高さ、現在チャネルをクロマチャネル、及び対応チャネルをルマチャネルに入力を受けて対応ルマチャネルでの長さwidthL及びheightLを導出する。
【0224】
誘導関数は、(x0L,y0L)、widthL及びheightLをベースに対応ルマ領域画素の位置(xR,yR)を探索する。
【0225】
誘導関数は、getPU()関数に(xR,yR)座標とルマチャネルを入力して該当ブロックの情報を生成した後、生成された情報のうち予測モード、幅wR及び高さhRを導出する。
【0226】
誘導関数は、以前に探索した画素が現在探索した画素と異なるブロックに含まれる場合、該当予測モードをwR×hR個だけ「予測モード頻度リスト」に追加し、以前に探索した周辺画素が現在探索した周辺画素と同じブロックに含まれる場合、該当予測モードを予測モード頻度リストに追加しない。
【0227】
誘導関数は、対応ルマ領域内の全ての画素に対して上述したような位置探索を遂行して予測モード頻度リストを完成する。
【0228】
誘導関数は、予測モード頻度リストに含まれた予測モードのうち、最頻予測モードを代表モードに出力する。
【0229】
以下、実現例1-3の4番目の方法による誘導関数getExtraIntraMode(x0,y0,幅,高さ)の動作を記述する。
【0230】
誘導関数は、幅と高さを用いて現在ブロックのアスペクト比を計算する。
【0231】
誘導関数は、現在ブロックの左上段画素の座標(x0,y0)、現在チャネルをクロマチャネル、及び対応チャネルをルマチャネルに入力を受けて対応ルマ画素の座標(x0L,y0L)を導出する。
【0232】
誘導関数は、現在ブロックの幅又は高さ、現在チャネルをクロマチャネル、及び対応チャネルをルマチャネルに入力を受けて対応ルマチャネルでの長さwidthL及びheightLを導出する。
【0233】
誘導関数は、(x0L,y0L)、widthL及びheightLをベースに対応ルマ領域画素の位置(xR,yR)を探索する。
【0234】
誘導関数は、getPU()関数に(xR,yR)座標とルマチャネルを入力して該当ブロックの情報を生成した後、生成された情報のうち、予測モード、幅wR及び高さhRを導出し、幅wRと高さhRを用いて該当ブロックのアスペクト比を計算する。
【0235】
誘導関数は、以前に探索した画素が現在探索した画素と異なるブロックに含まれる場合、該当予測モードと計算したアスペクト比のペアを「アスペクト比頻度リスト」に追加し、以前に探索した画素が現在探索した画素と同じブロックに含まれる場合、該当予測モードと計算したアスペクト比のペアをアスペクト比頻度リストに追加しない。
【0236】
誘導関数は、対応ルマ領域内の全ての画素に対して上述したような位置探索を遂行してアスペクト比頻度リストを完成する。
【0237】
誘導関数は、アスペクト比類似度リストに含まれた元素のペアに対してそれぞれのアスペクト比を基準に現在ブロックのアスペクト比と類似度が最も高い元素のペアの予測モードを代表モードに出力する。例えば、アスペクト比は{8,4,2,1,1/2,1/4,1,8}の7種類が存在し、このようなリスト内の2つのアスペクト比のインデックス差の絶対値が小さいほど類似度が高いものと看做される。
【0238】
4種類の代表モード誘導方法について上述したような誘導関数getExtraIntraMode()の動作は、一つの代表モードを生成する場合を記述する。もし、複数の代表モードを生成する場合、代表モードの個数numExtraModeを追加で入力することで、誘導関数が拡張される。
【0239】
<実現例1-4>実現例1-1、実現例1-2及び実現例1-3の組み合わせ
本実現例にて、数3により、映像復号化装置は、複数の第2の予測子を生成する場合、各第2の予測子を生成する予測モード(以下、「代表モード」と称する)を類推するために、実現例1-1、実現例1-2、及び実現例1-3で提示された方法のうちの1つを選択して用いる。前述の実現例には、既に各実現例内の1つの特定の方法で同時に複数の代表モードを類推する方法が記載されている。本実現例で、映像復号化装置は、各第2の予測子を生成するときに異なる方法を用いて代表モードを類推する。
【0240】
例えば、2つの追加予測子を生成する場合、映像復号化装置は、実現例1-1を用いて1番目の代表モードを類推し、実現例1-2を用いて2番目の代表モードを類推する。あるいは、1番目の代表モードは実現例1-2の2番目の方法(隣接ブロックの個数をベースに最頻予測モードを導出する方法)に基づいて類推され、2番目の代表モードは実現例1-2にて3番目の方法(隣接ブロックの面積をベースに最頻予測モードを導出する方法)に基づいて類推される。他の例として、多様な類推方法の組み合わせが存在し、追加予測子の個数が増加するにつれてより多様な組み合わせの類推方法が使用される。
【0241】
<実現例2>加重結合のための加重値を設定する方法
本実現例では、実現例1によって類推した代表モードに基づいて生成した第2の予測子、及び既存CCLM予測によって生成した第1の予測子を、数3に基づいて加重結合する方法が記述されている。映像復号化装置は、加重結合のための現在ブロック内の画素位置及び幅/高さ/面積/予測モード、周辺ブロックの幅/高さ/面積/予測モード、及び対応ルマブロックの幅/高さ/面積/予測モードのうち、少なくとも1つを考慮することができる。
【0242】
映像復号化装置は、数3でw(i,j)を適切に設定することにより、多様な加重結合方法を具現できる。以下、基本的に既存CCLMモードで生成した第1の予測子(対応ルマ領域の情報((1))による予測子)の他に、1つの第2の予測子(同一チャネルの情報((2))による予測子)が存在する場合について加重結合方法が記述されるが、複数の追加予測子が存在する場合に対しても同じ方法が適用される。
【0243】
以下、実現例2-1ないし実現例2-3は、予測子内の画素全体に対して同じ加重値を設定する方法である。該当実現例に対する加重結合方法は、数7に示すように、予測子内の画素座標(i,j)の影響を考慮せずに叙述される。
【0244】
【数7】
【0245】
実現例2-4は、予測子内の画素座標(i,j)に応じて加重値を異なるように設定する方法であるので、数3の表現を用いて記述される。
【0246】
一方、上述したことは、数4を用いる実現例にも同様に適用される。
【0247】
<実現例2-1>事前に定義された加重値を使用
本実施例で、数3に従い、映像復号化装置は事前に定義された加重値wCCLMを使用する。このとき、事前に定義された加重値では、均等な加重値、CCLM予測により高い加重値(3:1,7:1,…)、又はCCLM予測により低い加重値(1:3,1:7,…)が用いられる。
【0248】
例えば、数8に示すように、映像復号化装置は、全ての予測者に均等な加重値を設定することができる。
【0249】
【数8】
【0250】
あるいは、数9に示すように、映像復号化装置は、CCLM予測による第1の予測者により高い加重値を設定することができる。
【0251】
【数9】
【0252】
<実現例2-2>現在クロマブロックの周辺ブロックの情報を使用
本実現例で、数3に従い、映像復号化装置は現在クロマブロックに隣接する周辺ブロックの幅/高さ/面積/予測モードなどの情報を用いて加重値を設定する。一般に、現在ブロックと隣接するブロックとの間には関連性が存在する。したがって、第2の予測子生成のための予測モード(以下、「代表モード」と称する)を用いる隣接ブロックと現在ブロックとの間の関連性が数値化される。以下、数値化された関連性を周辺画素関連度rCと称する。映像復号化装置は、周辺画素関連度rCを用いて加重値wCCLMの値を設定することができる。
【0253】
映像復号化装置は、周辺画素関連度rCの誘導方法として、次のような3つの方法のうちの1つを用いることができる。
【0254】
1番目の方法として、現在クロマブロックと隣接するブロックのうち、代表モードを用いる隣接ブロックの比率を、ブロック個数をベースに算定してrCが誘導される。
【0255】
例えば、現在クロマブロックに隣接する周辺ブロックの全体個数のうち、代表モードを用いる隣接ブロックの個数の比率を算定した後、この比率がrCに設定される。映像復号化装置は、数10に示すようにこの比率を第2の予測子の加重値として利用し、1から該当比率を減算した値をCCLMモードにより生成された第1の予測子の加重値に設定することができる。
【0256】
【数10】
【0257】
現在クロマブロックに隣接するブロックのブロック分布と予測モードが図25の例示と同じである場合を仮定する。図25の例示で、現在クロマブロックに隣接するブロックは合計5つであり、このうちの3つの隣接ブロックが代表モードであるプラナーモードを用いる。したがって、映像復号化装置は、数10に従って3/5を第2の予測子の加重値に設定し、2/5をCCLMモードによって生成された第1の予測子の加重値に設定する。もし、複数の追加予測子を加重結合する場合、各追加予測子の加重値を同じ方法で計算した後、映像復号化装置は、1から追加予測子の加重値の和を減算した値を第1の予測子の加重値に設定する。
【0258】
一方、上述したような代表モードを用いる隣接ブロックの個数を算定する方法の代わりに、映像復号化装置は現在クロマブロックに隣接する周辺ブロックを全て参照せず、複数の特定位置のみを参照することができる。例えば、図9の例示で2つの位置の画素(4番に位置する左側最下段周辺画素、及び5番に位置する上段最右側周辺画素)のみを参照する場合、代表モード個数に応じた加重値は1:3、2:2、3:1に設定される。すなわち、代表モード個数が多いほど、代表モードを選択した予測子に高い加重値が設定される。現在クロマブロックに隣接するブロックのブロック分布と予測モードが図25と同じである場合を仮定する。代表モードがプラナーモードの場合、2つの位置のうちの1つの位置に代表モードが存在する。したがって、映像復号化装置は、2/4を第2の予測子の加重値に設定し、同じ値である2/4をCCLMモードによって生成された第1の予測子の加重値に設定する。代表モードがVERモード(50番モード)の場合、2つの位置に代表モードが存在しない。したがって、映像復号化装置は、小さい値である1/4を第2の予測子の加重値に設定し、大きい値である3/4をCCLMモードによって生成された第1の予測子の加重値に設定する。
【0259】
2番目の方法として、現在クロマブロックと隣接するブロックのうち、代表モードを用いる隣接ブロックの比率を、ブロック面積をベースに算定してrCが誘導される。
【0260】
例えば、現在クロマブロックに隣接する周辺ブロックの全面積のうち、代表モードを用いる隣接ブロックの面積の比率を算定した後、この比率がrCに設定される。映像復号化装置は、数11に示すようにこの比率を第2の予測子の加重値として用い、1から該当比率を減算した値をCCLMモードにより生成された第1の予測子の加重値に設定する。
【0261】
【数11】
【0262】
現在クロマブロックに隣接するブロックのブロック分布と予測モードが図26の例示と同じである場合を仮定する。図26の例示で、現在クロマブロックに隣接するブロックの総面積は68であり、このうち、代表モードであるプラナーモードを用いる隣接ブロックの広さは28である。したがって、映像復号化装置は、数11に従って28/68を第2の予測子の加重値に設定し、40/68をCCLMモードによって生成された第1の予測子の加重値に設定する。もし、複数の追加予測子を加重結合する場合、各追加予測子の加重値を同じ方法で計算した後、映像復号化装置は、1から追加予測子の加重値の和を減算した値を第1の予測子の加重値に設定する。
【0263】
3番目の方法として、現在クロマブロックが周辺隣接ブロックと隣接する全辺の長さのうち、代表モードを用いる隣接ブロックが現在ブロックと隣接する辺の長さの比率に基づいてrCを誘導される。
【0264】
例えば、現在クロマブロックが周辺隣接ブロックと隣接する全辺の長さのうち、代表モードを用いる隣接ブロックが現在クロマブロックに隣接する辺の長さの比率を算定した後、この比率がrCに設定される。映像復号化装置は、数12に示すようにこの比率を第2の予測子の加重値として用い、1から該当比率を減算した値をCCLMモードにより生成された第1の予測子の加重値に設定する。
【0265】
【数12】
【0266】
現在クロマブロックに隣接するブロックのブロック分布と予測モードが図27の例示と同じである場合を仮定する。図27の例示で、隣接ブロックが現在クロマブロックに隣接する全辺の長さは16であり、このうち、代表モードであるプラナーモードを用いる隣接ブロックが現在クロマブロックに隣接する辺の長さは10である。したがって、映像復号化装置は数12に従って10/16を第2の予測子の加重値に設定し、6/16をCCLMモードによって生成された第1の予測子の加重値に設定する。もし、複数の追加予測子を加重結合する場合、各追加予測子の加重値を同じ方法で計算した後、映像復号化装置は、1から追加予測子の加重値の和を減算した値を第1の予測子の加重値に設定する。
【0267】
本実現例にて、周辺画素関連度rCを算定する過程で全隣接ブロックの個数又は全隣接ブロックの面積が2の二乗数の形態でない場合、これをハードウェア具現時に、除算過程で計算複雑度が大きく増加される。したがって、映像復号化装置は、周辺画素関連度を導出する過程で、各分母と分子に対して数13に示すような演算を用いて2の二乗数の形態で近似化を進行した後、数10ないし数12を用いて周辺画素関連度を導出する。
【0268】
【数13】
【0269】
一方、本実現例が数4に従う場合、現在クロマブロックの予測子(predCCLM)生成のための予測モード(以下、「代表モード」と称する)、及び現在クロマブロックに隣接する周辺ブロックの情報を用いて予測子(predCCLM)の周辺画素関連度rC(=1-wintra)が類推される。ここで、現在クロマブロック及び各周辺ブロックの予測モードは、上述したようなクロスコンポーネント予測モードである。例えば、現在クロマブロックと隣接するブロックのうち、代表モードを用いる隣接ブロックの比率を、ブロック個数をベースに算定してrCが誘導される。現在クロマブロックと隣接するブロックのうち、代表モードを用いる隣接ブロックの比率を、ブロック面積をベースに算定してrCが誘導される。また、現在クロマブロックが周辺隣接ブロックと隣接する全辺の長さのうち、代表モードを用いる隣接ブロックが現在ブロックと隣接する辺の長さの比率に基づいてrCが誘導される。以降、周辺画素関連度が予測子(predCCLM)の加重値に設定される。
【0270】
<実現例2-3>対応ルマ領域に含まれたブロックの情報を使用
本実現例にて、数3に従い、映像復号化装置は現在クロマブロックに対応するルマ領域(以下、「対応ルマ領域」)に含まれたブロックの幅/高さ/面積/予測モード等の情報を用いて加重値を設定する。現在クロマブロックと対応するルマ領域との間には一定の相関関係が存在する。したがって、第2の予測子生成のための予測モード(以下、「代表モード」と称する)を用いる領域内ブロックと現在クロマブロックとの間の関連性が数値化される。以下、数値化された関連性をルマ画素関連度rLと称する。映像復号化装置は、ルマ画素関連度rLを用いて加重値wCCLMの値を設定する。
【0271】
映像復号化装置は、ルマ画素関連度rLの誘導方法として、次のような2つの方法のうちの1つを用いる。
【0272】
1番目の方法として、対応ルマ領域に含まれたブロックのうち、代表モードを用いるブロックの比率を、ブロック個数をベースに算定してrLが誘導される。
【0273】
例えば、対応ルマ領域に含まれたブロックの全体個数のうち、代表モードを用いるブロックの個数の比率を算定した後、この比率がrLに設定される。映像復号化装置は、数14に示すようにこの比率を第2の予測子の加重値として用い、1から該当比率を減算した値をCCLMモードにより生成された第1の予測子の加重値に設定する。
【0274】
【数14】
【0275】
対応ルマ領域に含まれたブロックのブロック分布と予測モードが図28の例示と同じである場合を仮定する。図28の例示で、対応ルマ領域に含まれたブロックは合計5つであり、このうち2つのブロックが代表モードであるプラナーモードを用いる。したがって、映像復号化装置は、数14に従って2/5を第2の予測子の加重値に設定し、3/5をCCLMモードによって生成された第1の予測子の加重値に設定する。もし、複数の追加予測子を加重結合する場合、各追加予測子の加重値を同じ方法で計算した後、映像復号化装置は、1から追加予測子の加重値の和を減算した値を第1の予測子の加重値に設定する。
【0276】
2番目の方法として、対応ルマ領域に含まれたブロックのうち、代表モードを用いるブロックの比率を、ブロック面積をベースに算定してrLが誘導される。
【0277】
例えば、対応ルマ領域の面積のうち、代表モードを用いるブロックが対応ルマ領域と重畳される面積の比率を算定した後、この比率がrLに設定される。映像復号化装置は、数15に示すようにこの比率を第2の予測子の加重値として用い、1から該当比率を減算した値をCCLMモードにより生成された第1の予測子の加重値に設定する。
【0278】
【数15】
【0279】
対応ルマ領域に含まれたブロックのブロック分布と予測モードが図29と同じである場合を仮定する。図29の例示で、対応ルマ領域の総面積は256であり、このうち、代表モードであるプラナーモードを用いるブロックが対応ルマ領域と重畳された面積は96である。したがって、映像復号化装置は、数15に従って96/256を第2の予測子の加重値に設定し、160/256をCCLMモードによって生成された第1の予測子の加重値に設定する。もし、複数の追加予測子を加重結合する場合、各追加予測子の加重値を同じ方法で計算した後、映像復号化装置は、1から追加予測子の加重値の和を減算した値を第1の予測子の加重値に設定する。
【0280】
本実現例にて、ルマ画素関連度rLを算定する過程で全代表モードを用いるブロックの個数又は全ブロックとの重畳面積が2の二乗数の形態でない場合、これをハードウェア具現時、除算のプロセスで計算の複雑度が大幅に増加される。したがって、映像復号化装置は、ルマ画素関連度を導出する過程で、各分母と分子に対して数13に示すのと類似する演算を用いて2の二乗数の形態で近似化を進行した後、数14及び数15を用いてルマ画素関連度を導出する。
【0281】
<実現例2-4>現在クロマブロック内の画素の位置に応じて設定
本実現例では、上述した3つの実現例にて予測子全体に対して1つの統一された加重値が設定されるのとは異なり、予測子内の各画素ごとに加重値が設定される。画素ごとに加重値を設定するために、各画素に対して独立した加重値を設定してもよいが、画素をグループ化した後に各グループごとに加重値を設定することがより効果的である。したがって、本実現例で、映像復号化装置は、予測子の画素をグループ化した後、各グループに対して加重値を設定する。予測子内の画素は、図30に例示されたように多様な方法に従ってグループ化される。図30の例示では、各方法ごとに4つのグループを用いているが、ブロックのサイズ、形状などによってグループの個数は可変される。
【0282】
映像復号化装置は、画素をグループ化するために図30の(a)~(h)のグループ化方法のうちの1つを固定的に用いるか、代表モードに基づいてグループ化方法を決定するかである。例えば、上段周辺画素と左側周辺画素の両方を用いる予測モード(すなわち、プラナーモード、DCモード、そして19番から49番までの間の予測モードなど)に対し、図30の(a)、(e)、(g)のようなグループ化方法が使用される。また、左側周辺画素のみを用いる予測モード(すなわち、18番以下の予測モード、DCモードなど)に対し、図30の(a)、(b)、(d)、(e)、(h)のようなグループ化方法が用いられる。さらに、上段周辺画素のみを用いる予測モード(すなわち、50番以上の予測モード、DCモードなど)に対し、図30の(a)、(b)、(c)、(e)、(f)のようなグループ化方法が用いられる。
【0283】
一方、図30の(a)、(c)、(d)のグループ化方法は、ルマチャネルのイントラ予測子を補正するPDPC(Position Dependent Prediction Combination)技術を適用するとき、周辺画素との距離に応じて予測子内ルマ画素がグループ化される方法と非常に似ている。PDPC技術は、イントラ予測モードに応じて周辺画素の値を用いて生成された初期予測子に対し、予測子画素位置と利用された周辺画素の位置が遠い場合、予測モード方向ラインと反対方向にある周辺画素と予測子画素との間の距離に応じて反対方向の周辺画素と予測子画素を加重結合することで、予測子画素を補完する。このとき、反対方向の周辺画素に対して該当予測子画素との距離が近いほど、反対方向の周辺画素の加重値が増大する。PDPC技術は、予測モード方向ラインの反対方向の周辺画素を用いることが可能な予測モードに適用される。このような予測モードとしては、水平方向モード(18番モード)より小さいモード、垂直方向モード(50番モード)より大きいモード、及び4つの特定モード(プラナーモード、DCモード、水平方向モード(18番モード)、及び垂直方向モード(50番))がある。
【0284】
PDPC技術は、数16を用いてプラナーモード及びDCモードによる予測子を補正し、数17を用いて水平方向モード(18番モード)による予測子を補正し、数18を用いて垂直方向モード(50番モード)による予測子を補正する。また、PDPC技術は、数19を用いて水平方向モード(18番モード)より小さいモードに応じた予測子を補正し、数20を用いて垂直方向モード(50番モード)より大きいモードに応じた予測子を補正する。
【0285】
【数16】
【0286】
【数17】
【0287】
【数18】
【0288】
【数19】
【0289】
【数20】
【0290】
ここで、[x][y]は、現在ブロックの左上段画素の座標を基準に相対的な画素を表す。pred[x][y]は予測モードで生成された初期予測子であり、p[x][-1]及びp[-1] [y]は予測子補正に使用される周辺画素である。nTbW及びnTbHは現在ブロックの幅及び高さを表し、wL[x]及びwT[y]は予測子画素及び周辺画素に適用される加重値を表す。Clip1は、クリッピング関数として数21のように表現される。
【0291】
【数21】
【0292】
また、invAngleは、イントラ予測モードで各方向に合わせて予測子を生成する際に必要な周辺画素の位置を特定するために使用される変数である。VVC技術で、invAngleは数22に示すように算定される。
【0293】
【数22】
【0294】
ここで、intraPredAngleは、イントラ予測モード(PredModeIntra)によって決定される値である。
【0295】
PDPCの方法のうち、水平方向モード又は垂直方向モードの場合に適用される方式は、周辺画素の変化量値を用いて予測子を補正する方式であるため、本実施例とは互換されない。したがって、代表モードがプラナーモード、DCモード、水平方向モード(18番モード)より小さいモード、及び垂直方向モード(50番モード)より大きいモードの場合に適用される方式が、本実施例に係る加重結合方法に適用される。数15、数18、数19の最後の部分を活用して代表モードで生成した第2の予測子predintra[x][y]でpred[x][y]を置き換え、CCLMモードで生成した第1の予測子predCCLM[x][y]でp[x][-1]、p[-1] [y]、refL[x][y]、及びrefT[x][y]を置き換えることで、代表モードで予測時に使用した周辺画素との距離が近くなるにつれて代表モードで生成した予測子画素の加重値が増加される。
【0296】
本実施例は、数23を用いてプラナーモード及びDCモードに応じた予測子を補正する。また、本実施例は、数24を用いて水平方向モード(18番モード)より小さいモードに応じた予測子を補正し、数25を用いて垂直方向モード(50番モード)より大きいモードに応じた予測子を補正する。数23ないし数25によって既存のPDPCの補正原理がそのまま本実現例に沿うように互換される。
【0297】
【数23】
【0298】
【数24】
【0299】
【数25】
【0300】
一方、PDPCの方法を活用しない場合、映像復号化装置は、予測子画素のグループ化以降、周辺画素との距離を考慮してグループ別に加重値を設定する。CCLM予測による第1の予測子の加重値は、周辺画素から遠いほど大きく設定され、代表モードによる第2の予測子に対する加重値は、周辺画素から遠いほど小さく設定される。
【0301】
例えば、図30の(e)の方法で画素がグループ化された場合、図31の例示のように第1の予測子と第2の予測子の加重値が設定される。図31の例示で、現在クロマブロックの(0,0)位置に対して予測子predC(0,0)は、数26のように算定される。
【0302】
【数26】
【0303】
図30の例示は、現在クロマブロックが正方形の形状である場合に対してのグループ化方法を示す。現在ブロックが長方形の形状である場合、図30に例示されたグループ化方法は、長方形のブロックに合わせて変形された後に使用される。例えば、図32の例示は、高さが幅より大きい長方形ブロックに対してのグループ化方法を示し、図33の例示は、幅が高さより大きい長方形ブロックに対してのグループ化方法を示す。
【0304】
<実現例3>第2の予測子の予測モード及び加重値をシグナリングする方法
本実現例で、映像復号化装置は現在クロマブロックのイントラ予測のための情報を類推することなく、映像符号化装置からシグナリングされた情報を用いる。すなわち、第2の予測子の予測モード関連情報、加重結合関連情報などが映像符号化装置から映像復号化装置に伝送される。また、本実施例の適用如何も、映像符号化装置から映像復号化装置にシグナリングされる。
【0305】
<実現例3-1>予測モード関連情報をシグナリングする方法
本実現例で、第2の予測子生成のための予測モード(以下、「代表モード」と称する)関連情報が、映像符号化装置から映像復号化装置に直接シグナリングされる。このとき、関連情報は、代表モード個数、代表モード誘導方法、代表モードインデックスなどを含む。
【0306】
1番目の方法として、代表モード個数は次のようにシグナリングされる。例えば、表3のように、上位レベル(例えばSPS)上に代表モード個数sps_ccip_extra_mode_numが事前に定義される。
【0307】
【表3】
【0308】
映像符号化装置は、事前に定義された代表モード個数を符号化した後、ビットストリームに含めて映像復号化装置にシグナリングする。ここで、変数名内のccipは「Cross CCLM Intra Prediction」の略字である。以下、本実施例に関連されたシグナルの変数名にはccipが挿入される。
【0309】
映像復号化装置は、ビットストリーム内のsps_ccip_extra_mode_numを解析する。以後、sps_ccip_extra_mode_numの値によって予測遂行時に導出する代表モードの個数が決定される。
【0310】
別の例として、代表モード個数が、CUレベルで予測遂行する度にシグナリングされる。表2に前述されたクロマチャネルのイントラ予測モード解析過程は、表4の例示のように変更される。表4によると、cclm_mode_idxを解析した後にccip_extra_mode_numを追加で解析することで、各ブロック予測時に必要な代表モード個数情報がシグナリングされる。
【0311】
【表4】
【0312】
2番目の方法として、代表モード誘導方法は次のようにシグナリングされる。まず、実現例1で提示された代表モード誘導方法は、表5に例示されたようにインデックスで区分される。
【0313】
【表5】
【0314】
以降、表6のように、上位レベル上に代表モード誘導方法のインデックスsps_ccip_mode_infer_idxが事前に定義される。
【0315】
【表6】
【0316】
映像符号化装置は、事前に定義された代表モード誘導方法のインデックスを符号化した後、ビットストリームに含めて映像復号化装置にシグナリングする。映像復号化装置は、ビットストリーム内のsps_ccip_mode_infer_idxを解析する。その後、sps_ccip_mode_infer_idxの値によって予測遂行時に用いる代表モード誘導方法を決定する。
【0317】
別の例として、代表モード誘導方法が、CUレベルで予測遂行の度にシグナリングされる。表7に示すように、クロマチャネルのイントラ予測モード解析過程でcclm_mode_idxを解析した後、ccip_mode_infer_idxを追加で解析することで、各ブロック予測時に用いる代表モード誘導方法がシグナリングされる。
【0318】
【表7】
【0319】
3番目の方法として、代表モードのインデックスがCUレベルで予測遂行の度にシグナリングされる。表8に示すように、クロマチャネルのイントラ予測モード解析過程でcclm_mode_idxを解析した後にccip_extra_mode_idxを追加で解析することで、各ブロック予測時に用いる代表モードがシグナリングされる。
【0320】
【表8】
【0321】
このとき、ccip_extra_mode_idxは、代表モード個数が1個の場合に1個のインデックスを表示する。また、ccip_extra_mode_idxは、複数の代表モードが使用される場合、いろんな代表モードインデックスのリストになる。
【0322】
本実現例の一例として、代表モード個数情報がシグナリングされながら代表モード誘導方法がシグナリングされる。あるいは、代表モード個数情報をシグナリングしないままで予め設定された個数が用いられ、代表モード誘導方法の情報の代わりに代表モードのインデックスがシグナリングされる。この他にも、シグナリングする関連情報とシグナリングしない関連情報を多様な組み合わせで選択することで、多様な予測方式が生成される。
【0323】
<実現例3-2>加重結合関連情報をシグナリングする方法
本実現例では、加重結合関連情報が映像符号化装置から映像復号化装置にシグナリングされる。このとき、加重結合関連情報は、加重結合方法、実現例2-4におけるブロック内画素のグループ化方法、加重結合加重値などを含む。
【0324】
1番目の方法として、加重結合方法は次のようにシグナリングされる。まず、実現例2で提示された加重結合方法を表9に例示されたようにインデックスで区分される。
【0325】
【表9】
【0326】
以降、表10のように、上位レベル(例えば、SPS)上に加重結合方法のインデックスsps_ccip_weight_calc_mode_idxが事前に定義される。
【0327】
【表10】
【0328】
映像符号化装置は、事前に定義された加重結合方法のインデックスを符号化した後、ビットストリームに含めて映像復号化装置にシグナリングする。映像復号化装置は、ビットストリーム内のsps_ccip_weight_calc_mode_idxを解析する。以降、sps_ccip_weight_calc_mode_idxの値によって予測遂行時に用いる加重結合方法を決定する。
【0329】
別の例として、加重結合方法が、CUレベルで予測遂行の度にシグナリングされる。表11に示すように、クロマチャネルのイントラ予測モード解析過程でcclm_mode_idxを解析した後にccip_weight_calc_mode_idxを追加で解析することにより、各ブロック予測時に用いる加重結合方法がシグナリングされる。
【0330】
【表11】
【0331】
2番目の方法として、ブロック内画素のグループ化方法がCUレベルで予測遂行の度にシグナリングされる。グループ化方法のシグナリングは、実現例2-4の加重結合方法でブロック内の画素位置別に加重値を異なるように設定する場合に適用される。代表モードによって使用可能なグループ化方法が異なるため、グループ化方法は表12に例示されたようにインデックスで区分される。
【0332】
【表12】
【0333】
以降、表13に示すように、クロマチャネルのイントラ予測モード解析過程でcclm_mode_idxを解析した後にccip_weight_group_idxを追加で解析することで、各ブロック予測時に用いるグループ化方法がシグナリングされる。
【0334】
【表13】
【0335】
3番目の方法として、加重結合の加重値は、CUレベルで予測遂行の度にシグナリングされる。表14に示すように、クロマチャネルのイントラ予測モード解析過程でcclm_mode_idxを解析した後、ccip_pred_weightを解析することで、各ブロック予測時に各予測子に適用する加重値がシグナリングされる。
【0336】
【表14】
【0337】
このときccip_pred_weightは、代表モード個数が1個の場合、第1の予測子(又は、第2の予測子)に対して1つの加重値を表現する。また、ccip_pred_weightは、複数の代表モードを用いる場合、リストを構成する加重値の個数が代表モードの個数に応じて増加される。
【0338】
<実現例3-3>本発明の適用如何をシグナリングする方法
本発明の適用如何は、ユーザによって次のようにシグナリングされる。本実現例では、既存のCCLMモードによる予測子に対して本発明の実現例の組み合わせによる改善された予測子(すなわち、数3及び数4に例示された予測子predC)の使用を指示するために、そのためのフラグsps_ccip_mode_flagが、表15に示すように上位レベル(例えばSPS)上で定義される。
【0339】
【表15】
【0340】
映像符号化装置は、事前に定義された改善された予測子の使用を指示するフラグsps_ccip_mode_flagを符号化した後、ビットストリームに含めて映像復号化装置にシグナリングする。
【0341】
映像復号化装置は、sps_ccip_mode_flag=0の場合は既存のCCLMモードを使用し、sps_ccip_mode_flag=1の場合は改善されたCCLMモードを用いて予測子を生成することができる。
【0342】
本発明の一例として。実現例3-1と実現例3-2の組み合わせが可能である。例えば、本発明の適用如何をシグナリングして本発明が適用されることで決定されると、以降実現例3-1と実現例3-2の方法が適用される。
【0343】
本発明の適用如何は、表15のように上位レベルでシグナリングされてもよいが、下位レベルでシグナリングされてもよい。すなわち、CUレベルでccip_mode_flagを用いて本発明の適用如何が決定される。映像復号化装置は、ccip_mode_flagが0の場合は既存のCCLMモードを使用し、ccip_mode_flagが1の場合はCCLMモードによる第1の予測子、及びイントラ予測モードによる第2の予測子を加重結合して最終予測子を生成する。
【0344】
映像復号化装置は、予測モードの種類により、表16及び表17のようにccip_mode_flagを解析する。
【0345】
【表16】
【0346】
【表17】
【0347】
あるいは、表18のように予測モードの種類に関係なくccip_mode_flagが解析される場合もある。
【0348】
【表18】
【0349】
一方、予測モードがCCLMモードのうちの1つであり、ccip_mode_flagが1である場合、本発明による代表モードは、同一チャネルの情報((2))を用いて予測子を生成する同一チャネル予測モードである。一方、予測モードが同一チャネル情報を利用する予測モードのうちの1つであり、ccip_mode_flagが1である場合、本発明による代表モードは、対応ルマ領域の情報((1))を用いて予測子を生成するクロスコンポーネント予測モードである。
【0350】
<実現例4>本発明の適用如何を適応的に決定する方法
本実現例は、後述する条件のうちの少なくとも1つ以上を考慮して現在ブロックに対する本発明の適用如何を類推する方法を記述する。本発明の適用如何がシグナリングされないままで、映像符号化装置及び映像復号化装置が本発明の適用如何を同様に類推することができる。このために、現在ブロックの幅/高さ/面積、周辺クロマブロック又は対応ルマブロックの予測モード、現在クロマブロックと周辺画素との関連度、現在クロマブロックと対応ルマ画素との間の関連度、現在クロマブロックの参照サンプルと対応ルマサンプルとの間の関連度などの情報が条件として考慮される。
【0351】
1番目の例示として、現在ブロックのサイズに応じて本発明を適用如何が適応的に決定される。映像符号化装置及び映像復号化装置は、ブロックの広さが予め設定された閾値以上の場合は本発明を適用し、未満の場合は適用しなくてもよい。このとき、閾値は16、32、64など多様な値に事前に設定される。この他にも多様な面積条件に基づいて本発明を適用如何が決定される。
【0352】
2番目の例示として、実現例2の複数の予測子を組み合わせる方法のうち、実現例2-2と実現例2-3で例示された周辺画素関連度とルマ画素関連度を用いて本発明の適用如何が適応的に決定される。周辺画素関連度rCは、現在ブロックと隣接ブロックとの間の関連性を数値化した値として、数10ないし数12のように算定される。ルマ画素関連度rLは、対応ルマ領域内のブロックと現在クロマブロックとの間の関連性を数値化した値として、数14及び数15のように算定される。映像符号化装置及び映像復号化装置は、周辺画素関連度又はルマ画素関連度を導出した後、関連度の値が予め設定された該当閾値未満である場合、本発明を適用せず、以上である場合に適用する。このとき、関連度の値が0と1の間に分布するので、閾値は0.2、0.25、0.3、0.5など多様な値に事前に設定される。
【0353】
3番目の例示として、現在クロマブロックの参照サンプルと対応ルマサンプルに対して2つのサンプル集合間の関連度を算定した後、算定された関連度値に従って本発明の適用如何が適応的に決定される。このとき、関連度は、数27のように、2つの変数間の線形相関関係を数値化した相関係数ρで表現される。
【0354】
【数27】
【0355】
ここで、Cはクロマ参照サンプルであり、Lは対応ルマサンプルであり、nはクロマ参照サンプルの総個数である。また、Cmはクロマ参照サンプルの平均であり、Lmは対応ルマサンプルの平均である。相関係数ρは-1と1の間の値であり、絶対値が1に近いほど、2つの変数間により大きな線形関係があることを示す。
【0356】
映像符号化装置及び映像復号化装置は、ρを導出した後、予め設定された閾値と比較することで、本発明の適用如何を決定することができる。現在ブロックの予測モードがCCLMモードである場合に対し、ρの絶対値が予め設定された閾値以上である場合に本発明が適用されず、未満である場合に本発明が適用される。逆に、現在ブロックの予測モードがイントラ予測子を生成する予測モードである場合に対し、ρの絶対値が予め設定された閾値以上である場合に本発明が適用され、未満の場合に本発明が適用されない。このとき、ρの絶対値が0と1の間に分布するので、閾値は0.2、0.25、0.3、0.5など多様な値に事前に設定される。
【0357】
この他にも、多様な方法でクロマ成分とルマ成分との関連度を測定した後、測定された関連度に基づいて本発明の適用如何が決定される。
【0358】
本明細書のフローチャート/タイミング図では、各プロセスを順次実行することが記載されているが、これは、本発明の一実施例の技術思想を例示的に説明したに過ぎない。言い換えれば、本発明の一実施例が属する技術分野にて通常の知識を有する者であれば、本発明の一実施例の本質的な特性から逸脱しない範囲でフローチャート/タイミング図に記載された順序を変更して実行するか、又は各プロセスのうちの1つ以上のプロセスを並列的に実行するかで多様に修正及び変形して適用可能であるので、フローチャート/タイミング図は時系列的な順序に限定されるものではない。
【0359】
以上の説明における例示的な実施例は、多くの異なる方式で具現できることを理解されたい。1つ以上の例示で説明された機能又は方法は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせで具現される。本明細書で説明された機能的コンポーネントは、それらの具現独立性を特により強調するために「…部(unit)」とラベル付けされていることを理解されたい。
【0360】
一方、本実施例で説明された多様な機能あるいは方法は、1つ以上のプロセッサによって読み取られて実行される非一時的記録媒体に保存された命令語で具現されてもよい。非一時的記録媒体は、例えばコンピュータシステムによって読み取り可能な形式でデータが保存されるあらゆる種類の記録装置を含む。例えば、非一時的記録媒体は、EPROM(erasable programmable read only memory)、フラッシュドライブ、光学ドライブ、磁気ハードドライブ、ソリッドステートドライブ(SSD)のような記憶媒体を含む。
【0361】
以上の説明は、本実施例の技術思想を例示的に説明したものに過ぎず、本実施例が属する技術分野で通常の知識を有する者であれば、本実施例の本質的な特性から逸脱しない範囲で様々な修正及び変形が可能であろう。したがって、本実施例は、本実施例の技術思想を限定するものではなく説明するためのものであり、このような実施例によって本実施例の技術思想の範囲が限定されるものではない。本実施例の保護範囲は、特許請求の範囲によって解釈されるべきであり、それと同等の範囲内にあるすべての技術思想は、本実施例の権利範囲に含まれるものと解釈されるべきである。
【0362】
CROSS-REFERENCETORELATEDAPPLICATION
本特許出願は、2021年6月7日付にて韓国に出願した特許出願番号第10-2021-0073659号、2022年6月3日付にて韓国に出願した特許出願番号第10-2022-0067918号に対して優先権を主張し、そのすべての内容は参考文献として本特許出願に併合される。
【符号の説明】
【0363】
122 イントラ予測部
542 イントラ予測部
802 入力器
804 第1の予測子生成器
806 第2の予測子生成器
808 加重和器
図1
図2
図3a
図3b
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33
【手続補正書】
【提出日】2023-12-08
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
映像復号化装置が遂行する、現在クロマブロックのイントラ予測方法において、
ビットストリームから前記現在クロマブロックに対してクロスコンポーネント(cross-component)予測のためのクロスコンポーネント予測モードを復号化するステップと、
ここで前記クロスコンポーネント予測は前記現在クロマブロック及び対応ルマ領域に対して前記対応ルマ領域の画素を用いて前記現在クロマブロックを予測する、
前記クロスコンポーネント予測モードに基づいて前記クロスコンポーネント予測を遂行することで、前記現在クロマブロックの第1の予測子を生成するステップと、
前記現在クロマブロックの隣接ブロックの予測モードから代表モード(representative mode)を類推するステップと、
前記代表モードに基づいて前記現在クロマブロックの周辺画素を用いるイントラ予測を遂行することで、前記現在クロマブロックの第2の予測子を生成するステップと、
前記第1の予測子及び前記第2の予測子に対して加重値を誘導するステップ、及び、
前記加重値を用いて前記第1の予測子と前記第2の予測子を加重和して前記現在クロマブロックのイントラ予測子を生成するステップと、
を含むことを特徴とする、イントラ予測方法。
【請求項2】
前記代表モードを類推するステップは、
前記現在クロマブロックの周辺画素のうち、特定位置にある周辺画素を含むブロックの予測モードを前記代表モードに設定することを特徴とする、請求項1に記載のイントラ予測方法。
【請求項3】
前記代表モードを類推するステップは、
前記隣接ブロックの予測モードのうち、ブロック個数をベースに導出された最頻予測モードを前記代表モードに設定することを特徴とする、請求項1に記載のイントラ予測方法。
【請求項4】
前記代表モードを類推するステップは、
前記隣接ブロックの予測モードのうち、ブロック面積をベースに導出された最頻予測モードを前記代表モードに設定することを特徴とする、請求項1に記載のイントラ予測方法。
【請求項5】
前記代表モードを類推するステップは、
前記現在クロマブロックの各周辺画素が含まれたブロックの予測モードをベースに導出された最頻予測モードを前記代表モードに設定することを特徴とする、請求項1に記載のイントラ予測方法。
【請求項6】
前記代表モードを類推するステップは、
前記隣接ブロックのうち、アスペクト比が前記現在クロマブロックと同じ、もしくは最も類似するブロックの予測モードを前記代表モードに設定することを特徴とする、請求項1に記載のイントラ予測方法。
【請求項7】
前記加重値を誘導するステップは、
前記現在クロマブロックと前記隣接ブロックとの関連性に基づいて周辺画素関連度を生成した後、前記周辺画素関連度を前記第2の予測子の加重値に設定し、1から前記周辺画素関連度を減算した値を前記第1の予測子の加重値に設定することを特徴とする、請求項1に記載のイントラ予測方法。
【請求項8】
前記加重値を誘導するステップは、
前記隣接ブロックのうち、前記代表モードを用いる隣接ブロックの比率を、ブロック個数をベースに算定して前記周辺画素関連度を誘導することを特徴とする、請求項7に記載のイントラ予測方法。
【請求項9】
前記加重値を誘導するステップは、
前記隣接ブロックのうち、前記代表モードを用いる隣接ブロックの比率を、ブロック面積をベースに算定して前記周辺画素関連度を誘導することを特徴とする、請求項7に記載のイントラ予測方法。
【請求項10】
前記加重値を誘導するステップは、
前記現在クロマブロックが前記隣接ブロックと隣接する全辺の長さのうち、前記代表モードを用いる隣接ブロックが前記現在クロマブロックに隣接する辺の長さの比率に基づいて前記周辺画素関連度を誘導することを特徴とする、請求項7に記載のイントラ予測方法。
【請求項11】
前記加重値を誘導するステップは、
前記イントラ予測子の画素を複数のグループにグループ化した後、各グループに対して前記加重値を設定し、第2の予測子内画素に対して前記第2の予測子の生成時に使用した周辺画素との距離が近くなるにつれて前記第2の予測子内画素が含まれたグループの加重値が増加することを特徴とする、請求項1に記載のイントラ予測方法。
【請求項12】
映像符号化装置が遂行する、現在クロマブロックのイントラ予測方法において、
前記現在クロマブロックに対してクロスコンポーネント(cross-component)予測のためのクロスコンポーネント予測モードを獲得するステップと、
ここで前記クロスコンポーネント予測は前記現在クロマブロック及び対応ルマ領域に対して前記対応ルマ領域の画素を用いて前記現在クロマブロックを予測する、
前記クロスコンポーネント予測モードに基づいて前記クロスコンポーネント予測を遂行することで、前記現在クロマブロックの第1の予測子を生成するステップと、
前記現在クロマブロックの隣接ブロックの予測モードから代表モード(representative mode)を類推するステップと、
前記代表モードに基づいて前記現在クロマブロックの周辺画素を用いるイントラ予測を遂行することで、前記現在クロマブロックの第2の予測子を生成するステップと、
前記第1の予測子及び前記第2の予測子に対して加重値を誘導するステップ、及び、
前記加重値を用いて前記第1の予測子と前記第2の予測子を加重和して前記現在クロマブロックのイントラ予測子を生成するステップと、
を含むことを特徴とする、イントラ予測方法。
【請求項13】
映像符号化方法によって生成されたビットストリームを保存する、コンピュータが読み取り可能な記録媒体として、前記映像符号化方法は、
現在クロマブロックに対してクロスコンポーネント(cross-component)予測のためのクロスコンポーネント予測モードを獲得するステップと、
ここで、前記クロスコンポーネント予測は前記現在クロマブロック及び対応ルマ領域に対して前記対応ルマ領域の画素を用いて前記現在クロマブロックを予測する、
前記クロスコンポーネント予測モードに基づいて前記クロスコンポーネント予測を遂行することで、前記現在クロマブロックの第1の予測子を生成するステップと、
前記現在クロマブロックの隣接ブロックの予測モードから代表モード(representative mode)を類推するステップと、
前記代表モードに基づいて前記現在クロマブロックの周辺画素を用いるイントラ予測を遂行することで、前記現在クロマブロックの第2の予測子を生成するステップと、
前記第1の予測子及び前記第2の予測子に対して加重値を誘導するステップ、及び、前記加重値を用いて前記第1の予測子と前記第2の予測子を加重和して前記現在クロマブロックのイントラ予測子を生成するステップと、
を含むことを特徴とする、記録媒体。
【国際調査報告】