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

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

▶ テンセント・アメリカ・エルエルシーの特許一覧

特許7395771テンプレートマッチングベースのイントラ予測
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-01
(45)【発行日】2023-12-11
(54)【発明の名称】テンプレートマッチングベースのイントラ予測
(51)【国際特許分類】
   H04N 19/105 20140101AFI20231204BHJP
   H04N 19/11 20140101ALI20231204BHJP
   H04N 19/147 20140101ALI20231204BHJP
   H04N 19/157 20140101ALI20231204BHJP
   H04N 19/176 20140101ALI20231204BHJP
   H04N 19/593 20140101ALI20231204BHJP
   H04N 19/70 20140101ALI20231204BHJP
【FI】
H04N19/105
H04N19/11
H04N19/147
H04N19/157
H04N19/176
H04N19/593
H04N19/70
【請求項の数】 13
(21)【出願番号】P 2022565834
(86)(22)【出願日】2022-04-26
(65)【公表番号】
(43)【公表日】2023-06-30
(86)【国際出願番号】 US2022071930
(87)【国際公開番号】W WO2022232784
(87)【国際公開日】2022-11-03
【審査請求日】2022-10-27
(31)【優先権主張番号】63/179,891
(32)【優先日】2021-04-26
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/727,570
(32)【優先日】2022-04-22
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】リー,リン
(72)【発明者】
【氏名】リー,シャン
(72)【発明者】
【氏名】リウ,シャン
【審査官】久保 光宏
(56)【参考文献】
【文献】特表2019-535211(JP,A)
【文献】国際公開第2020/145775(WO,A1)
【文献】Yang Wang, et al.,"EE2-related: Template-based intra mode derivation using MPMs",Document: JVET-V0098-v2, [online],JVET-V0098 (version 2),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29,2021年04月22日,Pages 1-4,[令和5年10月25日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=10746> and <URL: https://jvet-experts.org/doc_end_user/documents/22_Teleconference/wg11/JVET-V0098-v2.zip>.,(See document file "JVET-V0098_r1.docx" in the zip file "JVET-V0098-v2.zip".)
【文献】Geert Van der Auwera, et al.,"Description of Core Experiment 3: Intra Prediction and Mode Coding",Document: JVET-J1023, [online],JVET-J1023 (version 1),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2018年04月20日,Pages 1 and 31-36,[令和5年10月25日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=3520> and <URL: https://jvet-experts.org/doc_end_user/documents/10_San%20Diego/wg11/JVET-J1023-v1.zip>.,(See document file "JVET-J1023.docx" in the zip file "JVET-J1023-v1.zip".)
【文献】M. Albrecht, et al.,"Description of SDR, HDR, and 360° video coding technology proposal by Fraunhofer HHI",Document: JVET-J0014-v2, [online],JVET-J0014 (version 2),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2018年04月08日,Pages 53-55,[令和5年10月25日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=3421> and <URL: https://jvet-experts.org/doc_end_user/documents/10_San%20Diego/wg11/JVET-J0014-v2.zip>.,(See document file "JVET-J0014-v2.docx" in the zip file "JVET-J0014-v2.zip".)
【文献】Po-Han Lin, et al.,"Multiple reference line intra prediction based on JEM7.0",Document: JVET-J0070, [online],JVET-J0070 (version 2),Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2018年04月14日,Pages 1-3,[令和5年10月25日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=3480> and <URL: https://jvet-experts.org/doc_end_user/documents/10_San%20Diego/wg11/JVET-J0070-v2.zip>.,(See document file "JVET-J0070_r1.doc" in the zip file "JVET-J0070-v2.zip".)
【文献】Anthony Nasrallah, et al.,"Decoder-Side Intra Mode Derivation with Texture Analysis in VVC Test Model",Proceedings of 2019 IEEE International Conference on Image Processing (ICIP),IEEE,2019年08月26日,Pages 3153-3157,ISBN: 978-1-5386-6249-6, <DOI: 10.1109/ICIP.2019.8803773>.
【文献】Xiaoyu Xiu, et al.,"Decoder-side intra mode derivation for block-based video coding",Proceedings of 2016 Picture Coding Symposium (PCS),IEEE,2016年12月07日,全5頁,ISBN: 978-1-5090-5966-9, <DOI: 10.1109/PCS.2016.7906340>.
【文献】松尾 翔平(外3名),「周辺近傍画素を利用したイントラ予測改善手法の検討」,情報処理学会研究報告,日本,社団法人 情報処理学会,2007年03月05日,Vol.2007, No.22,第37~42頁,ISSN: 0919-6072.
(58)【調査した分野】(Int.Cl.,DB名)
H04N19/00-19/98
CSDB(日本国特許庁)
学術文献等データベース(日本国特許庁)
IEEEXplore(IEEE)
(57)【特許請求の範囲】
【請求項1】
デコーダ内で実行されるデコーディングの方法であって、
コーディング単位(CU)、テンプレート領域、および複数の参照領域のコーディングされた情報をコーディングされたビデオビットストリームから受信するステップであって、前記コーディングされた情報は、テンプレートマッチングベースの多重参照線(MRL)イントラ予測モードに基づいて前記CUが予測されるかどうかを示す第1の構文要素を含み、前記テンプレート領域は、前記CUに隣接し、前記複数の参照領域は、前記テンプレート領域に隣接する、ステップと、
前記テンプレートマッチングベースのMRLイントラ予測モードに基づいて前記CUが予測されることを示す第1の構文要素に応答して、(i)前記複数の参照領域の各々の中のサンプルに基づく前記テンプレート領域のそれぞれの予測サンプルと、(ii)前記それぞれの予測サンプルに対応する前記テンプレート領域の再構成されたサンプルとの間の複数のコスト値を決定するステップと、
前記複数のコスト値に基づいて前記複数の参照領域から参照領域を決定するステップと、
前記決定された参照領域のサンプルに基づいて前記CUのサンプルを再構成するステップと、を含む、方法。
【請求項2】
前記複数のコスト値の各々は、(i)前記複数の参照領域のそれぞれの1つの中の前記サンプルに基づいて決定される前記テンプレート領域の前記それぞれの予測サンプルと、(ii)前記それぞれの予測サンプルに対応する前記テンプレート領域の前記再構成されたサンプルとの間の差に従って決定される、請求項1に記載の方法。
【請求項3】
前記テンプレート領域は、(i)前記CUの上側の上方の行内の上部サンプル、および(ii)前記CUの左側に隣接する列内の側部サンプルのうちの1つまたはそれらの組み合わせをさらに含む、請求項1に記載の方法。
【請求項4】
前記テンプレート領域は、前記側部サンプルの上方に位置し、且つ前記上部サンプルに隣接するインターフェースサンプルをさらに含む、請求項3に記載の方法。
【請求項5】
前記複数の参照領域は、
前記テンプレート領域の上側の上方に位置する行部分と、前記テンプレート領域の左側に隣接する列部分とを含む第1の参照領域と、
前記第1の参照領域の前記行部分の上方の行部分と、前記第1の参照領域の前記列部分に隣接する列部分とを含む第2の参照領域と、
前記第2の参照領域の前記行部分の上方の行部分と、前記第2の参照領域の前記列部分に隣接する列部分とを含む第3の参照領域と、を含む、請求項4に記載の方法。
【請求項6】
前記テンプレート領域は、(i)前記CUの上側の上方の第1の行内の上部サンプルおよび前記第1の行の上方の第2の行内の上部サンプルと、(ii)前記CUの左側に隣接する第1の列内の側部サンプルおよび前記第1の列に沿った第2の列内の側部サンプルとのうちの1つまたはそれらの組み合わせをさらに含む、請求項1に記載の方法。
【請求項7】
前記テンプレート領域は、前記第1および第2の列の前記側部サンプルの上方かつ前記第1および第2の行の前記上部サンプルの左方に位置するインターフェースサンプルをさらに含む、請求項6に記載の方法。
【請求項8】
前記複数の参照領域は、
前記テンプレート領域の上側の上方に位置する行部分および前記テンプレート領域の左側に隣接する列部分を含む第1の参照領域と、
前記第1の参照領域の前記行部分の上方の行部分および前記第1の参照領域の前記列部分に隣接する列部分を含む第2の参照領域と、を含む、請求項7に記載の方法。
【請求項9】
前記コーディングされた情報から第2の構文要素をデコーディングするステップであって、前記第2の構文要素は、前記CUがテンプレートベースのイントラモード導出(TIMD)モードに基づいてイントラ予測されるかどうかを示し、前記TIMDモードは、候補イントラ予測モードのセットを含む、ステップと、
前記CUが前記テンプレートマッチングベースのMRLイントラ予測モードに基づいて予測されることを示す前記第1の構文要素、および前記CUが前記TIMDモードに基づいてイントラ予測されることを示す第2の構文要素に応答して、(i)前記複数の参照領域のそれぞれの1つの中に位置する前記サンプル、および(ii)前記候補イントラ予測モードのセット内のそれぞれの候補イントラ予測モードに基づいて前記テンプレート領域の前記それぞれの予測サンプルを決定するステップと、
前記複数のコスト値を決定するステップであって、前記複数のコスト値の各々は、前記テンプレート領域の前記それぞれの予測サンプルと、前記それぞれの予測サンプルに対応する前記テンプレート領域の前記再構成されたサンプルとの間の絶対値変換された差の合計に従って決定される、ステップと、
前記複数のコスト値の中で最低のコスト値と関連する、前記複数の参照領域からの参照領域および前記候補イントラ予測モードのセットからのイントラ予測モードのペアを決定するステップと、
前記参照領域および前記イントラ予測モードの前記決定されたペア内のサンプルに基づいて前記CUの前記サンプルを再構成するステップと、をさらに含む、請求項1に記載の方法。
【請求項10】
前記CUが前記TIMDモードに基づいてイントラ予測されないことを示す前記第2の構文要素に応答して、別のイントラコーディングモードに関連する構文要素をデコーディングするステップであって、前記別のイントラコーディングモードは、行列ベースのイントラ予測(MIP)および最確モード(MPM)のうちの1つを含む、ステップをさらに含む、請求項9に記載の方法。
【請求項11】
ビデオデコーディングのための装置であって、請求項1~10のいずれか1項に記載の方法を実行するように構成された処理回路を含む、装置。
【請求項12】
少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに請求項1~10のいずれか1項に記載の方法を行わせる命令を含むコンピュータプログラム。
【請求項13】
エンコーダ内で実行されるエンコーディングの方法であって、
(i)コーディングユニット(CU)の複数の参照領域の各々におけるサンプルに基づいた画像中のCUのテンプレート領域のそれぞれの予測サンプルと、(ii)前記それぞれの予測サンプルに対応する前記テンプレート領域の再構成されたサンプルとの間の複数のコスト値を決定するステップであって、前記テンプレート領域は、前記CUに隣接し、前記複数の参照領域は、前記テンプレート領域に隣接する、ステップと、
前記複数のコスト値に基づいて前記複数の参照領域から参照領域を決定するステップと、
前記決定された参照領域および前記テンプレート領域に基づいてテンプレートマッチングベースの多重参照線(MRL)イントラ予測モードによって前記CUについての予測を行うステップと、
前記CUが前記テンプレートマッチングベースのMRLイントラ予測モードに基づいてイントラ予測されているかどうかを示す第1の構文要素を生成するステップと、を含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
参照による組み込み
本願は、2022年4月22日に出願された米国特許出願第17/727,570号「TEMPLATE MATCHING INTRA PREDICTION」に対する優先権の利益を主張し、同出願は、2021年4月26日に出願された米国仮出願第63/179,891号「Template Matching Based Intra Prediction」に対する優先権の利益を主張する。これらの出願の開示は、その全体が参照により本明細書に組み込まれる。
【0002】
本開示は、ビデオコーディングに一般的に関連する実施形態を記載する。
【背景技術】
【0003】
本明細書で提供される背景の説明は、本開示の文脈を一般的に提示するためのものである。本発明者の仕事であって、それがこの背景セクションに記載されているという範囲において、さもなければ出願時に先行技術に当たらないかもしれない記載の側面は、本開示に対する先行技術として明示的にも暗示的にも認めない。
【0004】
ビデオコーディング及びデコーディングは、モーション補正を伴うインター画像予測を用いて行うことができる。非圧縮デジタルビデオは、一連の画像を含むことができ、各画像は、例えば、1920×1080の輝度サンプル及び関連する色サンプルの空間寸法を有する。一連の画像は、例えば、60画像/秒または60Hzの固定または可変の画像速度(非公式にはフレームレートとも知られる)を有することができ、非圧縮ビデオは、特定のビットレート要件を有する。例えば、サンプル当たり8ビットの1080p60 4:2:0ビデオ(60Hzのフレームレートでの1920x1080の輝度サンプル解像度)は、1.5 Gbit/sに近い帯域幅を必要とする。このようなビデオの1時間は、600Gバイトを超える記憶領域を必要とする。
【0005】
ビデオコーディング及びデコーディングの1つの目的は、圧縮による入力ビデオ信号の冗長性の低減である。圧縮は、場合によっては、前述の帯域幅および/または記憶領域の要件を2桁以上低減する助けとなり得る。可逆圧縮および不可逆圧縮の両方、ならびにそれらの組み合わせを採用することができる。可逆圧縮とは、元の信号の正確なコピーを圧縮された元の信号から再構成することができる技法をいう。不可逆圧縮を使用する場合、再構成された信号は、元の信号と同一ではないかもしれないが、元の信号と再構成された信号との間の歪みは、再構成された信号を意図された用途に有用にするのに十分小さい。ビデオの場合、非可逆圧縮が広く用いられている。許容される歪みの量は、用途に依存し、例えば、特定の消費者ストリーミングアプリケーションのユーザは、テレビ配信アプリケーションのユーザよりも高い歪みを許容し得る。達成可能な圧縮比は、より高い許可できる/許容される歪みがより高い圧縮比をもたらすことができることを反映し得る。
【0006】
ビデオエンコーダおよびデコーダは、例えば、モーション補償、変換、量子化、およびエントロピーコーディングを含むいくつかの広範なカテゴリからの技法を利用することができる。
【0007】
ビデオコーデック技術は、イントラコーディングとして知られる技法を含むことができる。イントラコーディングでは、サンプル値は、以前に再構成された参照画像からのサンプルまたは他のデータを参照することなく表現される。いくつかのビデオコーデックでは、画像は空間的にサンプルのブロックに分割される。サンプルのブロックすべてがイントラモードでコーディングされる場合、その画像はイントラ画像であり得る。イントラ画像及び独立デコーダリフレッシュ画像のようなそれらの派生物は、デコーダ状態をリセットするために使用することができ、従って、コーディングされたビデオビットストリームおよびビデオセッションにおける最初の画像として、または静止画像として使用することができる。イントラブロックのサンプルにある変換を施すことができ、変換係数をエントロピーコーディングの前に量子化することができる。イントラ予測は、変換前の領域におけるサンプル値を最小化する技法であり得る。場合によっては、変換後のDC値が小さく、AC係数が小さいほど、所与の量子化ステップにおいてエントロピーコーディング後のブロックを表すのに必要なサイズであるビット数が少なくなる。
【0008】
例えばMPEG-2世代コーディング技術から知られているような伝統的なイントラコーディングは、イントラ予測を使用しない。しかしながら、いくつかのより新しいビデオ圧縮技術は、例えば、空間的に隣接し、かつデコーディングの順番で先行するデータブロックのエンコーディングおよび/またはデコーディングの間に得られた、周囲のサンプルデータおよび/またはメタデータから試みる技法を含む。このような技法は、以下では「イントラ予測」技法と呼ばれる。少なくともいくつかのケースでは、イントラ予測は再構成中の現行画像からの参照データのみを使用し、参照画像からの参照データは使用しないことに留意されたい。
【0009】
さまざまな形式のイントラ予測があり得る。所与のビデオコーディング技術において、2つ以上のそのような技法が使用され得る場合、使用中の技法は、イントラ予測モードでコーディングされ得る。場合によっては、モードは、サブモードおよび/またはパラメータを有することができ、それらは、個別にコーディングされ得るか、またはモードコードワードに含まれ得る。所与のモード、サブモード、および/またはパラメータの組み合わせに対してどのコードワードを使用するかは、イントラ予測によるコーディング効率利得に影響を及ぼし得るし、コードワードをビットストリームに変換するために使用されるエントロピーコーディング技術も同様である。
【0010】
あるモードのイントラ予測は、H.264において導入され、H.265において改良され、共同探査モデル(JEM)、汎用ビデオコーディング(VVC)、およびベンチマークセット(BMS)のようなより新しいコーディング技術においてさらに改良された。予測子ブロックは、既に利用可能なサンプルに属する隣接するサンプル値を使用して形成され得る。隣接するサンプルのサンプル値は、ある方向に従って予測子ブロックにコピーされる。使用中の方向への参照は、ビットストリームにコーディングされ得るし、またはそれ自体が予測されてもよい。
【0011】
図1を参照すると、右下に示されているのは、H.265の33個の可能な予測子方向(35個のイントラモードの33個の角度モードに対応する)から知られている9個の予測子方向のサブセットである。矢印が収束する点(101)は、予測されるサンプルを表す。矢印は、サンプルが予測される方向を表す。例えば、矢印(102)は、サンプル(101)が、水平から45度の角度で、サンプルから右上に向かって予測されることを示す。同様に、矢印(103)は、サンプル(101)が、水平から22.5度の角度で、サンプルから左下に向かって予測されることを示す。
【0012】
依然として図1を参照すると、左上には、4×4サンプルの正方形ブロック(104)(破線の太線で示されている)が示されている。正方形ブロック(104)は、16個のサンプルを含み、各サンプルは「S」、Y次元におけるその位置(例えば、行インデックス)、およびX次元におけるその位置(例えば、列インデックス)でラベル付けされる。例えば、サンプルS21は、Y次元の(上から)2番目のサンプルおよびX次元の(左から)1番目のサンプルである。同様に、サンプルS44は、YおよびX次元の両方においてブロック(104)の4番目のサンプルである。ブロックのサイズが4×4サンプルであるので、S44は一番右下にある。さらに、同様の番号付けスキームに従った参照サンプルを示す。参照サンプルは、R、ブロック(104)に対するそのY位置(例えば、行インデックス)およびX位置(列インデックス)でラベル付けされる。H.264とH.265の両方で、予測サンプルは再構成中のブロックに隣接しているため、負の値を使用する必要はない。
【0013】
イントラ画像予測は、シグナル伝達された予測方向に応じて、隣接するサンプルから参照サンプル値をコピーすることによって機能する。例えば、コーディングされたビデオビットストリームは、このブロックについて、矢印(102)と一致する予測方向を示す信号を含むと仮定する。すなわち、サンプルは、予測サンプルから右上へ、水平方向から45度の角度で予測される。その場合、サンプルS41、S32、S23、及びS14は、同じ参照サンプルR05から予測される。次いで、サンプルS44は、参照サンプルR08から予測される。
【0014】
場合によっては、特に方向が45度で均一に割り切れない場合には、参照サンプルを計算するために、複数の参照サンプルの値を、例えば内挿によって組み合わせることができる。
【0015】
ビデオコーディング技術の発達に伴い、可能な方向の数が増加している。H.264(2003年)では、9個の異なる方向を表すことができた。これは、H.265(2013年)で33個に増加し、開示時のJEM/VVC/BMSでは、最大65個の方向をサポートできる。最も可能性の高い方向を同定するために実験が行われ、エントロピーコーディングにおけるある技術が、より可能性の低い方向に対するあるペナルティを受け入れて、少数のビットでそれらの可能性のある方向を表現するために使用される。さらに、方向それ自体が、時には、隣接する、すでにデコーディングされたブロックで使用された隣接する方向から予測することができる。
【0016】
図2は、経時的に増加する予測方向の数を示すために、JEMによる65個のイントラ予測方向を示す概略図(201)を示す。
【0017】
方向を表すコーディングされたビデオビットストリーム中のイントラ予測方向ビットのマッピングは、ビデオコーディング技術によって異なることができ、例えば、予測方向の単純な直接マッピングからイントラ予測モード、コードワード、最も可能性の高いモードを含む複雑な適応スキーム、および類似の技法まで及ぶことができる。しかし、すべての場合で、ビデオコンテンツにおいて、他の特定の方向よりも統計的に起こりにくい特定の方向が存在し得る。ビデオ圧縮の目標は冗長性の低減であるので、良好に動作するビデオコーディング技術においては、より可能性の低い方向は、より可能性の高い方向よりも多くのビット数によって表されるだろう。
【発明の概要】
【0018】
本開示の態様は、ビデオエンコーディング/デコーディングのための方法および装置を提供する。いくつかの例では、ビデオデコーディング装置は、受信回路および処理回路を含む。
【0019】
本開示の一態様によれば、デコーダ内で実行されるデコーディング方法が提供される。この方法では、コーディング単位(CU)、テンプレート領域、および複数の参照領域のコーディングされた情報を、コーディングされたビデオビットストリームから受信することができる。コーディングされた情報は、テンプレートマッチングベースの多重参照線(MRL)イントラ予測モードに基づいてCUが予測されるかどうかを示す第1の構文要素を含むことができる。テンプレート領域は、CUに隣接することができ、複数の参照領域は、テンプレート領域に隣接することができる。CUがテンプレートマッチングベースのMRLイントラ予測モードに基づいて予測されることを示す第1の構文要素に応答して、複数のコスト値が、(i)複数の参照領域の各々におけるサンプルに基づいてテンプレート領域のそれぞれの予測サンプルと、(ii)それぞれの予測サンプルに対応するテンプレート領域の再構成サンプルとの間で決定され得る。参照領域は、複数のコスト値に基づいて複数の参照領域から決定することができる。CUのサンプルは、決定された参照領域のサンプルに基づいて再構成することができる。
【0020】
いくつかの実施形態では、複数のコスト値の各々は、(i)複数の参照領域のそれぞれの1つのサンプルに基づいて決定されるテンプレート領域のそれぞれの予測サンプルと、(ii)それぞれの予測サンプルに対応するテンプレート領域の再構成サンプルとの間の差に従って決定され得る。
【0021】
いくつかの実施形態では、テンプレート領域は、(i)CUの上部の上の行内の上部サンプル、および(ii)CUの左側部に隣接する列内の側部サンプルのうちの1つまたはそれらの組み合わせをさらに含むことができる。
【0022】
いくつかの実施形態では、テンプレート領域は、側部サンプルの上に位置し、かつ上部サンプルに隣接するインターフェースサンプルをさらに含むことができる。
【0023】
いくつかの実施形態では、複数の参照領域は、(i)テンプレート領域の上部の上に位置する行部分と、テンプレート領域の左側部に隣接する列部分とを含む第1の参照領域と、(ii)第1の参照領域の行部分の上の行部分と、第1の参照領域の列部分に隣接する列部分とを含む第2の参照領域と、(iii)第2の参照領域の行部分の上の行部分と、第2の参照領域の列部分に隣接する列部分とを含む第3の参照領域とを含むことができる。
【0024】
いくつかの実施形態では、テンプレート領域は、(i)CUの上部の上の第1行内の上部サンプル、および(ii)CUの左側部に隣接する第1列内の側部サンプルのうちのまたはそれらの組み合わせをさらに含むことができる。テンプレート領域はまた、(i)第1行の上の第2行内の上部サンプル、および(ii)第1列に沿った第2列内の側面サンプルのうちの1つまたはそれらの組み合わせを含むことができる。
【0025】
いくつかの実施形態では、テンプレート領域は、第1列および第2列の側部サンプルの上に位置し、かつ第1行および第2行の上部サンプルの左のインターフェースサンプルをさらに含むことができる。
【0026】
いくつかの実施形態では、複数の参照領域は、テンプレート領域の上部の上に位置する行部分とテンプレート領域の左側に隣接する列部分とを含む第1の参照領域と、第1の参照領域の行部分の上の行部分と第1の参照領域の列部分に隣接する列部分とを含む第2の参照領域とを含むことができる。
【0027】
この方法では、第2の構文要素はコーディングされた情報からさらにデコーディングすることができ、ここで、第2の構文要素はCUがテンプレートベースのイントラモード導出(TIMD)モードに基づいてイントラ予測されるかどうかを示すことができる。TIMDモードは、候補イントラ予測モードのセットを含むことができる。CUがテンプレートマッチングベースのMRLイントラ予測モードに基づいて予測されることを示す第1の構文要素、およびCUがTIMDモードに基づいてイントラ予測されることを示す第2の構文要素に応答して、テンプレート領域のそれぞれの予測サンプルは、(i)複数の参照領域のそれぞれの1つの中に位置するサンプル、および(ii)候補イントラ予測モードのセット内のそれぞれの候補イントラ予測モードに基づいて決定され得る。複数のコスト値を決定することができる。複数のコスト値の各々は、テンプレート領域のそれぞれの予測サンプルと、それぞれの予測サンプルに対応するテンプレート領域の再構成サンプルとの間の絶対値変換された差の合計に従って決定され得る。複数のコスト値の中で最低のコスト値と関連する、複数の参照領域からの参照領域および候補イントラ予測モードのセットからのイントラ予測モードのペアを決定することができる。CUのサンプルは、参照領域およびイントラ予測モードの決定されたペア内のサンプルに基づいて再構成することができる。
【0028】
いくつかの実施形態では、CUがTIMDモードに基づいてイントラ予測されないことを示す第2の構文要素に応答して、別のイントラコーディングモードに関連する構文要素をデコーディングすることができ、ここで、他のイントラコーディングモードは、行列ベースのイントラ予測(MIP)および最確モード(MPM)のうちの1つを含むことができる。
【0029】
本開示の別の態様によれば、装置が提供される。装置は、処理回路を有する。処理回路は、ビデオコーディングのために開示された方法を実行するように構成される。
【0030】
また、本開示の態様は、ビデオデコーディングのためにコンピュータによって実行されたときに、コンピュータにビデオデコーディングのための方法を実行させる命令を記憶する非一時的コンピュータ可読媒体を提供する。
【図面の簡単な説明】
【0031】
開示された主題のさらなる特徴、性質、および種々の利点は、以下の詳細な説明および添付の図面からより明らかになるであろう:
【0032】
図1】イントラ予測モードの例示的サブセットの概略図である。
図2】例示的なイントラ予測方向の説明図である。
図3】一実施形態による通信システム(300)の簡略ブロック図の概略図である。
図4】一実施形態による通信システム(400)の簡略ブロック図の概略図である。
図5】一実施形態によるデコーダの簡略ブロック図の概略図である。
図6】一実施形態によるエンコーダの簡略ブロック図の概略図である。
図7】別の実施形態によるエンコーダのブロック図を示す。
図8】別の実施形態によるデコーダのブロック図を示す。
図9】一実施形態による多重参照線(MRL)イントラ予測の概略図である。
図10】一実施形態によるテンプレートベースのイントラモード導出(TIMD)の概略図である。
図11A】一実施形態による、テンプレートマッチングベースのMRLの第1の例示的テンプレートを示す。
図11B】一実施形態による、テンプレートマッチングベースのMRLの第2の例示的テンプレートを示す。
図11C】一実施形態による、テンプレートマッチングベースのMRLの第3の例示的テンプレートを示す。
図11D】一実施形態による、テンプレートマッチングベースのMRLの第4の例示的テンプレートを示す。
図12】本開示のいくつかの実施形態に従う、例示的なデコーディングプロセスの概要を示すフローチャートを示す。
図13】本開示のいくつかの実施形態に従う、例示的なエンコーディングプロセスの概要を示すフローチャートを示す。
図14】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0033】
図3は、本開示の一実施形態による通信システム(300)の簡略化されたブロック図を示す。通信システム(300)は、例えばネットワーク(350)を介して互いに通信することができる複数の端末デバイスを含む。例えば、通信システム(300)は、ネットワーク(350)を介して相互接続された第1の対の端末デバイス(310)および(320)を含む。図3の例では、第1の対の端末デバイス(310)および(320)は、データの一方向送信を行う。例えば、端末デバイス(310)は、ネットワーク(350)を介して他方の端末デバイス(320)に送信するために、ビデオデータ(例えば、端末デバイス(310)によってキャプチャされたビデオ画像ストリーム)をコーディングすることができる。エンコーディングされたビデオデータは、1つ以上のコーディングされたビデオビットストリームの形態で送信することができる。端末デバイス(320)は、ネットワーク(350)からコーディングされたビデオデータを受信し、コーディングされたビデオデータをデコーディングして、ビデオ画像を復元し、復元されたビデオデータに従ってビデオ画像を表示することができる。一方向データ伝送は、媒体提供用途等において一般的である。
【0034】
別の例では、通信システム(300)は、例えば、ビデオ会議中に発生し得るコーディングされたビデオデータの双方向送信を行う第2の対の端末デバイス(330)および(340)を含む。データの双方向送信のために、例えば、端末デバイス(330)及び(340)の各端末デバイスは、ネットワーク(350)を介して端末デバイス(330)及び(340)の他方の端末デバイスに送信するために、ビデオデータ(例えば、端末デバイスによってキャプチャされるビデオ画像ストリーム)をコーディングすることができる。端末デバイス(330)及び(340)の各端末デバイスは、端末デバイス(330)及び(340)のうちの他方の端末デバイスによって送信されたコーディングされたビデオデータを受信し、コーディングされたビデオデータをデコーディングして、ビデオ画像を復元し、復元されたビデオデータに従って、アクセス可能なディスプレイデバイスにビデオ画像を表示することができる。
【0035】
図3の例では、端末デバイス(310)、(320)、(330)および(340)は、サーバ、パーソナルコンピュータおよびスマートフォンとして図示することができるが、本開示の原理は、それに限定されない。本開示の実施形態は、ラップトップ・コンピュータ、タブレット・コンピュータ、メディア・プレーヤ、および/または専用のビデオ会議機器への適用を見出す。ネットワーク(350)は、例えば、有線および/または無線通信ネットワークを含む、端末デバイス(310)、(320)、(330)および(340)の間でコーディングされたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(350)は、回線交換および/またはパケット交換チャネル内のデータを交換することができる。代表的なネットワークには、通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワークおよび/またはインターネットが含まれる。本説明の目的のために、ネットワーク(350)のアーキテクチャおよびトポロジーは、以下に説明しない限り、本開示の動作には重要ではない。
【0036】
図4は、開示された主題の適用例として、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置を示す。開示された主題は、例えば、ビデオ会議、デジタルTV、圧縮ビデオのCD、DVD、メモリスティックなどを含むデジタル媒体上への記憶などを含む、ビデオが可能とする他の用途にも同様に適用可能である。
【0037】
ストリーミングシステムは、キャプチャサブシステム(413)を含んでもよく、キャプチャサブシステム(413)は、ビデオソース(401)、例えば、デジタルカメラを含むことができ、例えば、非圧縮のビデオ画像のストリーム(402)を生成する。一例では、ビデオ画像のストリーム(402)は、デジタルカメラによって撮影されるサンプルを含む。エンコーディングされたビデオデータ(404)(またはコーディングされたビデオビットストリーム)と比較した場合の高データ量を強調するために太線として描かれたビデオ画像のストリーム(402)は、ビデオソース(401)に結合されたビデオエンコーダ(403)を含む電子デバイス(420)によって処理することができる。ビデオエンコーダ(403)は、ハードウェア、ソフトウェア、またはそれらの組み合わせを含むことができ、以下により詳細に説明されるように、開示された主題の態様を可能にし、または実現する。エンコーディングされたビデオデータ(404)(またはエンコーディングされたビデオビットストリーム(404))は、ビデオ画像(402)のストリームと比較して、より低いデータ量を強調するために細線として描かれており、将来の使用のためにストリーミング・サーバ(405)に記憶することができる。図4のクライアント・サブシステム(406)および(408)のような1つ以上のストリーミング・クライアント・サブシステムは、ストリーミング・サーバ(405)にアクセスして、エンコーディングされたビデオデータ(404)のコピー(407)および(409)を取り出すことができる。クライアント・サブシステム(406)は、例えば、電子デバイス(430)内にビデオデコーダ(410)を含むことができる。ビデオデコーダ(410)は、エンコーディングされたビデオデータの入ってくるコピー(407)をデコーディングし、ディスプレイ(412)(例えば、ディスプレイスクリーン)または他のレンダリングデバイス(図示せず)上にレンダリングすることができるビデオ画像の出ていくストリーム(411)を生成する。いくつかのストリーミングシステムでは、エンコーディングされるビデオデータ(404)、(407)、および(409)(例えば、ビデオビットストリーム)は、特定のビデオコーディング/圧縮標準に従ってエンコーディングすることができる。これらの標準の例には、ITU-T勧告H.265が含まれる。一例では、開発中のビデオコーディング標準は、汎用ビデオコーディング(VVC)として非公式に知られている。開示された主題事項は、VVCの文脈で使用することができる。
【0038】
電子デバイス(420)および(430)は、他の構成要素(図示せず)を含むことができることに留意されたい。例えば、電子デバイス(420)は、ビデオデコーダ(図示せず)も含むことができ、電子デバイス(430)は、ビデオエンコーダ(図示せず)も含むことができる。
【0039】
図5は、本開示の一実施形態によるビデオデコーダ(510)のブロック図を示す。ビデオデコーダ(510)は、電子デバイス(530)に含まれ得る。電子デバイス(530)は、受信器(531)(例えば、受信回路)を含むことができる。ビデオデコーダ(510)は、図4の例におけるビデオデコーダ(410)に代わって使用することができる。
【0040】
受信器(531)は、ビデオデコーダ(510)によってデコーディングされるべき1つ以上のコーディングされたビデオシーケンスを受信することができ、同一または別の実施形態では、一度に1つのコーディングされたビデオシーケンスを受信することができ、ここで、コーディングされたビデオシーケンスの各々のデコーディングは、他のコーディングされたビデオシーケンスから独立している。コーディングされたビデオシーケンスは、チャネル(501)から受信することができ、このチャネルは、エンコーディングされたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクであってもよい。受信器(531)は、エンコーディングされたビデオデータを、他のデータ、例えば、コーディングされたオーディオデータおよび/または補助的なデータストリームと共に受信することができ、これらのデータは、それぞれの使用するエンティティ(図示せず)に転送することができる。受信器(531)は、コーディングされたビデオシーケンスを他のデータから分離することができる。ネットワークジッタに対抗するために、バッファメモリ(515)は、受信器(531)とエントロピーデコーダ/パーサ(520)(以下、「パーサ(520)」)との間に結合されてもよい。特定の用途では、バッファメモリ(515)は、ビデオデコーダ(510)の一部である。別の用途では、それは、ビデオデコーダ(510)の外側にあることができる(図示せず)。さらに別の用途では、例えばネットワークジッタに対抗するために、ビデオデコーダ(510)の外側にバッファメモリ(図示せず)があり、加えて、例えば再生タイミングを処理するために、ビデオデコーダ(510)の内側に別のバッファメモリ(515)があり得る。受信器(531)が、十分な帯域幅および制御可能性を有する記憶/転送デバイスから、または同期ネットワークからデータを受信している場合、バッファメモリ(515)は不要であるか、または小さくてもよい。インターネットのようなベストエフォート型パケットネットワークでの使用のために、バッファメモリ(515)は、必要とされ得るし、比較的大きく、有利に適応サイズであり得、ビデオデコーダ(510)の外側のオペレーティングシステムまたは類似の要素(図示せず)に少なくとも部分的に実装され得る。
【0041】
ビデオデコーダ(510)は、コーディングされたビデオシーケンスからシンボル(521)を再構成するためのパーサ(520)を含んでもよい。これらのシンボルのカテゴリは、ビデオデコーダ(510)の動作を管理するために使用される情報、および、潜在的に、レンダリングデバイス(512)(例えば、ディスプレイスクリーン)のような、電子デバイス(530)に統合された部分ではないが、図5に示されたように、電子デバイス(530)に結合され得るレンダリングデバイスを制御する情報を含む。レンダリングデバイスの制御情報は、補足拡張情報(SEIメッセージ)またはビデオユーザビリティ情報(VUI)パラメータセットフラグメント(図示せず)の形式であってもよい。パーサ(520)は、受信するコーディングされたビデオシーケンスを構文解析/エントロピーデコーディングすることができる。コーディングされたビデオシーケンスのコーディングは、ビデオコーディング技術または標準に従うことができ、可変長コーディング、ハフマンコーディング、コンテキスト感度を伴うまたは伴わない算術コーディングなどを含む種々の原理に従うことができる。パーサ(520)は、グループに対応する少なくとも1つのパラメータに基づいて、ビデオデコーダ内の画素のサブグループのうちの少なくとも1つについてのサブグループパラメータのセットを、コーディングされたビデオシーケンスから抽出することができる。サブグループは、画像のグループ(GOP)、画像、タイル、スライス、マクロブロック、コーディング単位(CU)、ブロック、変換単位(TU)、予測単位(PU)などを含むことができる。パーサ(520)はまた、変換係数、量子化パラメータ値、モーションベクトルなどの情報もコーディングされたビデオシーケンスから抽出することができる。
【0042】
パーサ(520)は、シンボル(521)を生成するように、バッファメモリ(515)から受信したビデオシーケンスに対してエントロピーデコーディング/構文解析動作を実行することができる。
【0043】
シンボル(521)の再構成には、コーディングされたビデオ画像またはその部分(インター画像及びイントラ画像、インターブロック及びイントラブロックなど)の種類および他の要因に応じて、複数の異なるユニットが関与し得る。どのユニットがどのように関与するかは、コーディングされたビデオシーケンスからパーサ(520)によって構文解析されたサブグループ制御情報によって制御される。パーサ(520)と以下の複数のユニットとの間のこのようなサブグループ制御情報の流れは、明確性のために図示されていない。
【0044】
すでに述べた機能ブロックを越えて、ビデオデコーダ(510)は、概念的に、以下に説明するように、いくつかの機能ユニットに細分化することができる。商業的制約の下で動作する実用的な実装では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的に互いに統合することができる。しかしながら、開示された主題事項を説明するためには、以下の機能ユニットに概念的に細分化することが適切である。
【0045】
第1のユニットは、スケーラ/逆変換ユニット(551)である。スケーラ/逆変換ユニット(551)は、量子化された変換係数、及び使用する変換、ブロックサイズ、量子化因数、量子化スケーリング行列などを含む制御情報をシンボル(521)としてパーサ(520)から受信する。スケーラ/逆変換ユニット(551)は、サンプル値を含むブロックを出力することができ、それらは集約装置(555)に入力され得る。
【0046】
場合によっては、スケーラ/逆変換(551)の出力サンプルは、イントラコーディングされたブロック、すなわち、以前に再構成された画像からの予測情報を使用していないが、現行画像の以前に再構成された部分からの予測情報を使用することができるブロックに関連付けることができる。このような予測情報は、イントラ画像予測ユニット(552)によって提供され得る。場合によっては、イントラ画像予測ユニット(552)は、現行画像バッファ(558)から取り出された既に再構成された周囲の情報を使用して、再構成中のブロックの同じサイズおよび形状のブロックを生成する。現行画像バッファ(558)は、例えば、部分的に再構成された現行画像および/または完全に再構成された現行画像をバッファする。集約装置(555)は、場合によっては、サンプル毎に、イントラ予測ユニット(552)が生成した予測情報を、スケーラ/逆変換ユニット(551)によって提供されるような出力サンプル情報に追加する。
【0047】
他の場合には、スケーラ/逆変換ユニット(551)の出力サンプルは、インターコーディングされ、潜在的にモーション補償されたブロックに関係することができる。このような場合、モーション補償予測ユニット(553)は、予測に使用されるサンプルを取り出すための参照画像メモリ(557)にアクセスすることができる。ブロックに関連するシンボル(521)に従って取り出されたサンプルをモーション補償した後、これらのサンプルは、出力サンプル情報を生成するために、集約装置(555)によって、スケーラ/逆変換ユニット(551)の出力(この場合は、残留サンプルまたは残留信号と呼ばれる)に追加され得る。モーション補償予測ユニット(553)が予測サンプルを取り出す参照画像メモリ(557)内のアドレスは、例えば、X、Y、および参照画像コンポーネントを有することができるシンボル(521)の形態でモーション補償予測ユニット(553)に利用可能なモーションベクトルによって制御することができる。また、モーション補償は、サブサンプルの正確なモーションベクトルが使用されている場合の参照画像メモリ(557)から取り出されるサンプル値の補間、モーションベクトル予測メカニズムなども含むことができる。
【0048】
集約装置(555)の出力サンプルは、ループフィルタユニット(556)内で種々のループフィルタ技術を受けることができる。ビデオ圧縮技術は、パーサ(520)からのシンボル(521)としてコーディングされたビデオシーケンス(コーディングされたビデオビットストリームとも呼ばれる)に含まれ、ループフィルタユニット(556)に利用可能になるパラメータによって制御されるループ内フィルタ技術を含み得るが、コーディングされた画像またはコーディングされたビデオシーケンスの(デコーディングの順番で)以前の部分のデコーディングの間に得られたメタ情報に敏感であると共に、以前に再構成されループフィルタされたサンプル値に敏感でもあり得る。
【0049】
ループフィルタユニット(556)の出力は、レンダリングデバイス(512)に出力され、また将来のインター画像予測に使用するために参照画像メモリ(557)に記憶され得るサンプルストリームであり得る。
【0050】
特定のコーディングされた画像は、いったん完全に再構成されると、将来の予測のための参照画像として使用することができる。例えば、いったん現行画像に対応するコーディングされた画像が完全に再構成され、コーディングされた画像が(例えば、パーサ(520)によって)参照画像として識別された場合、現行画像バッファ(558)は参照画像メモリ(557)の一部となり得、新しい現行画像バッファは、次のコーディングされた画像の再構成を開始する前に再割当てされ得る。
【0051】
ビデオデコーダ(510)は、ITU-T Rec H.265.等の標準における所定のビデオ圧縮技術に従ってデコーディング動作を実行することができる。コーディングされたビデオシーケンスは、コーディングされたビデオシーケンスが、ビデオ圧縮技術または標準の構文およびビデオ圧縮技術または標準に文書化されているプロファイルの両方に従うという意味で、使用されているビデオ圧縮技術または標準によって指定された構文に適合し得る。具体的には、プロファイルは、特定のツールを、そのプロファイルの下で使用可能な唯一のツールとして、ビデオ圧縮技術または標準で使用可能なすべてのツールから選択することができる。また、コンプライアンスのために必要なことは、コーディングされたビデオシーケンスの複雑さが、ビデオ圧縮技術または標準のレベルによって定義される範囲内にあり得ることである。場合によっては、レベルは、最大画像サイズ、最大フレームレート、最大再構成サンプルレート(例えば、毎秒メガサンプルの単位で測定される)、最大参照画像サイズなどを制限する。レベルによって設定された制限値は、場合によっては、コーディングされたビデオシーケンス中に信号化された仮設参照デコーダ(HRD)バッファ管理のためのHRDの仕様とメタデータによってさらに制限され得る。
【0052】
一実施形態では、受信器(531)は、エンコーディングされたビデオと共に追加の(冗長な)データを受信することができる。追加のデータは、コーディングされたビデオシーケンスの一部として含まれることがある。追加のデータは、データを適切にデコーディングするため、および/または元のビデオデータをより正確に再構成するために、ビデオデコーダ(510)によって使用されてもよい。追加のデータは、例えば、時間的、空間的、または信号雑音比(SNR)エンハンスメント層、冗長スライス、冗長画像、前方誤り訂正コードなどの形態であり得る。
【0053】
図6は、本開示の一実施形態によるビデオエンコーダ(603)のブロック図を示す。ビデオエンコーダ(603)は、電子デバイス(620)に含まれる。電子デバイス(620)は、送信器(640)(例えば、送信回路)を含む。ビデオエンコーダ(603)は、図4の例におけるビデオエンコーダ(403)に代わって使用することができる。
【0054】
ビデオエンコーダ(603)は、ビデオエンコーダ(603)によってコーディングされるべきビデオサンプルをキャプチャすることができるビデオソース(601)(図6の例では電子デバイス(620)の一部ではない)からビデオサンプルを受け取ることができる。別の例では、ビデオソース(601)は、電子デバイス(620)の一部である。
【0055】
ビデオソース(601)は、任意の適切なビット深さ(例えば、8ビット、10ビット、12ビット、...)、任意の色空間(例えば、BT.601 Y CrCB、RGB、...)、および任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)であり得るデジタルビデオサンプルストリームの形態で、ビデオエンコーダ(603)によってコーディングされるべきソースビデオシーケンスを提供することができる。メディア配信システムにおいて、ビデオソース(601)は、事前に準備されたビデオを記憶する記憶デバイスであってもよい。ビデオ会議システムでは、ビデオソース(601)は、局所的な画像情報をビデオシーケンスとしてキャプチャするカメラであってもよい。ビデオデータは、順番に見たときにモーションを伝える複数の個々の画像として提供されてもよい。画像自体は、画素の空間アレイとして構成されてもよく、各画素は、使用中のサンプリング構造、色空間などに応じて、1つ以上のサンプルを含むことができる。当業者は、画素とサンプルとの関係を容易に理解することができる。以下の説明は、サンプルに焦点を当てている。
【0056】
一実施形態によれば、ビデオエンコーダ(603)は、ソースビデオシーケンスの画像を、リアルタイムで、またはアプリケーションによって要求される任意の他の時間制約下で、コーディングされたビデオシーケンス(643)にコーディングおよび圧縮することができる。適切なコーディング速度を実現することは、制御器(650)の一つの機能である。いくつかの実施形態において、制御器(650)は、以下に記載されるように他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。結合は、明確性のために描かれていない。制御器(650)によって設定されるパラメータは、レート制御関連パラメータ(画像スキップ、量子化器、レート歪み最適化技術のラムダ値、...)、画像サイズ、画像のグループ(GOP)レイアウト、最大モーションベクトル探索範囲などを含むことができる。制御器(650)は、特定のシステム設計のために最適化されたビデオエンコーダ(603)に関連する他の適切な機能を有するように構成することができる。
【0057】
いくつかの実施形態では、ビデオエンコーダ(603)は、コーディングループで動作するように構成される。過剰に単純化された説明として、一例において、コーディングループは、ソースコーダ(630)(例えば、コーディングされるべき入力画像に基づくシンボルストリームなどのシンボルおよび参照画像を生成する責任を負う)と、ビデオエンコーダ(603)に埋め込まれた(局所)デコーダ(633)とを含むことができる。デコーダ(633)は、シンボルを再構成して、(シンボルとコーディングされたビデオビットストリームとの間の任意の圧縮が、開示された主題において考慮されたビデオ圧縮技術において可逆であるように)(遠隔)デコーダも生成するであろう方法と同様の方法でサンプルデータを生成する。再構成されたサンプルストリーム(サンプルデータ)は、参照画像メモリ(634)に入力される。シンボルストリームのデコーディングが、デコーダ位置(局所または遠隔)に依存しないビットごとに正確な結果をもたらすので、参照画像メモリ(634)中の内容も、局所エンコーダと遠隔エンコーダとの間でビットごとに正確である。言い換えると、エンコーダの予測部分は、デコーダがデコーディング中に予測を使用するときに「見る」のとまったく同じサンプル値を参照画像サンプルとして「見る」。参照画像同期性のこの基本原理(および、例えば、チャネルエラーのために同期性を維持できないならば結果として生じるドリフト)は、いくつかの関連技術においても同様に使用される。
【0058】
「局所」デコーダ(633)の動作は、ビデオデコーダ(510)のような「遠隔」デコーダの動作と同じであり得、これは、すでに図5に関連して上述されている。しかし、図5も簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(645)およびパーサ(520)によるコーディングされたビデオシーケンスへのシンボルのエンコーディング/デコーディングが可逆であり得るので、バッファメモリ(515)およびパーサ(520)を含むビデオデコーダ(510)のエントロピーデコーディング部分は、局所デコーダ(633)では完全には実装されない場合がある。
【0059】
この時点で可能な観察からわかることは、デコーダ内に存在する構文解析/エントロピーデコーディングを除く任意のデコーダ技術も、対応するエンコーダ内に実質的に同一の機能的形態で存在する必要があることである。この理由のために、開示された主題はデコーダ動作に焦点を当てる。エンコーダ技術の記述は、包括的に記述されたデコーダ技術の逆であるため、省略することができる。特定の分野においてのみ、より詳細な記述が必要であり、以下に提供される。
【0060】
動作中に、いくつかの例において、ソースコーダ(630)は、モーション補償された予測コーディングを実行することができ、それは、「参照画像」として指定されたビデオシーケンスからの1つ以上の以前にコーディングされた画像に関して入力画像を予測的にコーディングする。このようにして、コーディングエンジン(632)は、入力画像の画素ブロックと、入力画像に対する予測参照として選択され得る参照画像の画素ブロックとの間の差分をコーディングする。
【0061】
局所ビデオデコーダ(633)は、ソースコーダ(630)によって生成されたシンボルに基づいて、参照画像として指定することができる画像のコーディングされたビデオデータをデコーディングすることができる。コーディングエンジン(632)の動作は、有利には、不可逆プロセスであり得る。コーディングされたビデオデータがビデオデコーダ(図6には示されない)でデコーディングされ得る場合、再構成されたビデオシーケンスは、典型的には、いくつかのエラーを伴うソースビデオシーケンスのレプリカであり得る。局所ビデオデコーダ(633)は、参照画像上でビデオデコーダによって実行され得るデコーディング過程を複製し、再構成された参照画像を参照画像キャッシュ(634)に記憶させることができる。このようにして、ビデオエンコーダ(603)は、遠端のビデオデコーダによって得られるであろう(伝送エラーのない)再構成された参照画像として、共通のコンテンツを有する局所的に再構成された参照画像のコピーを記憶することができる。
【0062】
予測子(635)は、コーディングエンジン(632)について予測探索を実行することができる。すなわち、コーディングされるべき新しい画像に対して、予測子(635)は、参照画像メモリ(634)からサンプルデータ(候補参照画素ブロックとして)、または参照画像モーションベクトル、ブロック形状などのような特定のメタデータを検索することができ、これらは、新しい画像に対して適切な予測参照として役立つことができる。予測子(635)は、適切な予測参照を見出すために、サンプルブロック‐画素ブロック毎に動作し得る。場合によっては、予測子(635)によって得られた検索結果によって決定されるように、入力画像は、参照画像メモリ(634)に記憶された複数の参照画像から引き出された予測参照を有することができる。
【0063】
制御器(650)は、例えば、ビデオデータをエンコーディングするために使用されるパラメータおよびサブグループパラメータの設定を含む、ソースコーダ(630)のコーディング動作を管理してもよい。
【0064】
前述のすべての機能ユニットの出力は、エントロピーコーダ(645)におけるエントロピーコーディングを受けることができる。エントロピーコーダ(645)は、ハフマンコーディング、可変長コーディング、算術コーディングなどの技術に従って可逆圧縮することによって、種々の機能ユニットによって生成されたシンボルをコーディングされたビデオシーケンスに変換する。
【0065】
送信器(640)は、エントロピーコーダ(645)によって生成されるようにコーディングされたビデオシーケンスをバッファし、通信チャネル(660)を介した送信の準備を行うことができ、通信チャネル(660)は、エンコーディングされたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクであってもよい。送信器(640)は、ビデオコーダ(603)からのコーディングされたビデオデータを、例えばコーディングされたオーディオデータおよび/または補助的なデータストリーム(ソースは図示せず)など、送信されるべき他のデータとマージすることができる。
【0066】
制御器(650)は、ビデオエンコーダ(603)の動作を管理することができる。コーディングの間、制御器(650)は、コーディングされた画像の各々に、特定のコーディングされた画像タイプを割り当てることができ、これは、各画像に適用され得るコーディング技術に影響を及ぼし得る。例えば、画像は、しばしば、以下の画像タイプの1つとして割り当てられ得る:
【0067】
イントラ画像(I画像)は、予測のソースとしてシーケンス内の他の画像を使用せずにコーディングおよびデコーディングされ得るものであり得る。いくつかのビデオコーデックは、例えば、独立デコーダリフレッシュ(「IDR」)画像を含む、異なるタイプのイントラ画像を許容する。当業者は、I画像のこれらの変形例、並びにそれらのそれぞれの用途及び特徴を知っている。
【0068】
予測画像(P画像)は、各ブロックのサンプル値を予測するために、最大で1つのモーションベクトルと参照インデックスを使用するイントラ予測またはインター予測を用いて、コーディングおよびデコーディングされ得るものであり得る。
【0069】
双方向予測画像(B画像)は、各ブロックのサンプル値を予測するために、最大で2つのモーションベクトルと参照インデックスを使用するイントラ予測またはインター予測を用いて、コーディングおよびデコーディングされ得るものであり得る。同様に、多重予測画像は、1つのブロックの再構成のために、3つ以上の参照画像および関連するメタデータを使用することができる。
【0070】
ソース画像は、通常、空間的に複数のサンプルブロック(例えば、各々4×4、8×8、4×8、または16×16サンプルのブロック)に分割され、ブロック毎にコーディングされる。ブロックは、ブロックのそれぞれの画像に適用されるコーディング割り当てによって決定されるように、他の(既にコーディングされた)ブロックを参照して予測的にコーディングされ得る。例えば、I画像のブロックは、非予測的にコーディングされてもよく、または、それらは、同じ画像の既にコーディングされたブロックを参照して予測的にコーディングされてもよい(空間的予測またはイントラ予測)。P画像の画素ブロックは、以前にコーディングされた一つの参照画像を参照して、空間的予測または時間的予測を介して予測的にコーディングされ得る。B画像のブロックは、1つまたは2つの以前にコーディングされた参照画像を参照して、空間的予測または時間的予測を介して予測的にコーディングされ得る。
【0071】
ビデオエンコーダ(603)は、ITU-T Rec H.265などの所定のビデオコーディング技術または標準に従ってコーディング動作を実行することができる。その動作において、ビデオエンコーダ(603)は、入力ビデオシーケンスにおける時間的および空間的冗長性を利用する予測コーディング動作を含む、種々の圧縮動作を実行することができる。従って、コーディングされたビデオデータは、使用されているビデオコーディング技術または標準によって指定された構文に適合し得る。
【0072】
一実施形態では、送信器(640)は、エンコーディングされたビデオと共に追加のデータを送信してもよい。ソースコーダ(630)は、コーディングされたビデオシーケンスの一部としてそのようなデータを含むことができる。追加のデータは、時間的/空間的/SNR強調層、冗長画像およびスライス、SEIメッセージ、VUIパラメータセットフラグメントなどのような他の形式の冗長データを含んでもよい。
【0073】
ビデオは、時間シーケンスにおいて複数のソース画像(ビデオ画像)としてキャプチャされ得る。イントラ画像予測(しばしば、イントラ予測と略される)は、与えられた画像における空間的相関を利用し、インター画像予測は、画像間の(時間的または他の)相関を利用する。一例では、現行画像と呼ばれるエンコーディング/デコーディング下の特定の画像は、ブロックに分割される。現行画像内のブロックが、ビデオ内の以前にコーディングされ、かつ、まだバッファに入れられた参照画像内の参照ブロックに類似する場合、現行画像内のブロックは、モーションベクトルと呼ばれるベクトルによってコーディングされ得る。モーションベクトルは、参照画像内の参照ブロックを指し、複数の参照画像が使用されている場合には、参照画像を識別する第3の寸法を有することができる。
【0074】
いくつかの実施形態において、バイ予測技術は、インター画像予測において使用され得る。バイ予測技術によれば、ビデオ内の現行画像へのデコーディング順序で両方とも先行する(ただし、表示順序では、それぞれ過去および将来である可能性がある)第一参照画像および第二参照画像のような二つの参照画像が使用される。現行画像内のブロックは、第1の参照画像内の第1の参照ブロックを指す第1のモーションベクトルと、第2の参照画像内の第2の参照ブロックを指す第2のモーションベクトルとによってコーディングすることができる。ブロックは、第1の参照ブロックと第2の参照ブロックの組み合わせによって予測することができる。
【0075】
さらに、コーディング効率を改善するために、インター画像予測にマージモード技法を使用することができる。
【0076】
本開示のいくつかの実施形態によれば、インター画像予測およびイントラ画像予測などの予測は、ブロックの単位で実行される。例えば、HEVC標準によれば、ビデオ画像のシーケンス中の画像は、圧縮のためにコーディングツリー単位(CTU)に分割され、画像中のCTUは、64×64画素、32×32画素、または16×16画素のように、同じサイズを有する。一般に、CTUは、1つのルミナンスCTBと2つのクロミナンスCTBである3つのコーディングツリーブロック(CTB)を含む。各CTUは、1つまたは複数のコーディング単位(CU)に再帰的に4木分割することができる。例えば、64×64画素のCTUは、64×64画素の1CU、32×32画素の4CU、または16×16画素の16CUに分割することができる。例では、各CUは、インター予測タイプまたはイントラ予測タイプのような、CUの予測タイプを決定するために分析される。CUは時間的および/または空間的予測可能性に依存して1つ以上の予測単位(PU)に分割される。一般に、各PUはルミナンス予測ブロック(PB)と2つのクロミナンスPBを含む。一実施形態では、コーディング(エンコーディング/デコーディング)における予測操作は、予測ブロックのユニットにおいて実行される。予測ブロックの一例としてルミナンス予測ブロックを用いると、予測ブロックは、8×8画素、16×16画素、8×16画素、16×8画素など、画素に対する値(例えば、ルミナンス値)の行列を含む。
【0077】
図7は、本開示の別の実施形態によるビデオエンコーダ(703)の図を示す。ビデオエンコーダ(703)は、ビデオ画像のシーケンス内の現行ビデオ画像内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックをコーディングされたビデオシーケンスの一部であるコーディングされた画像にエンコーディングするように構成される。一実施形態では、ビデオエンコーダ(703)は、図4の例のビデオエンコーダ(403)の代わりに使用される。
【0078】
HEVCの例では、ビデオエンコーダ(703)は、8×8サンプルの予測ブロックなどの処理ブロックに対するサンプル値の行列を受信する。ビデオエンコーダ(703)は、処理ブロックが、例えば、レート歪み最適化を使用して、イントラモード、インターモード、またはバイ予測モードを使用して、最良にコーディングされるかどうかを決定する。処理ブロックがイントラモードでコーディングされる場合、ビデオエンコーダ703は、処理ブロックをコーディングされた画像にエンコーディングするためにイントラ予測技術を使用してもよく、処理ブロックがインターモードまたはバイ予測モードでコーディングされる場合、ビデオエンコーダ703は、処理ブロックをコーディングされた画像にエンコーディングするために、それぞれ、インター予測技術またはバイ予測技術を使用してもよい。ある種のビデオコーディング技術では、マージモードは、予測子の外側のコーディングされたモーションベクトル成分の利益なしに、モーションベクトルが1つ以上のモーションベクトル予測子から導出されるインター画像予測サブモードであり得る。特定の他のビデオコーディング技術では、対象ブロックに適用可能なモーションベクトル成分が存在してもよい。一実施形態では、ビデオエンコーダ(703)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)などの他の構成要素を含む。
【0079】
図7の例では、ビデオエンコーダ(703)は、インターエンコーダ(730)、イントラエンコーダ(722)、残留演算器(723)、スイッチ(726)、残留エンコーダ(724)、一般制御器(721)、および図7に示すように一緒に結合されたエントロピーエンコーダ(725)を含む。
【0080】
インターエンコーダ(730)は、現行ブロック(例えば、処理ブロック)のサンプルを受信し、ブロックを参照画像内の1つ以上の参照ブロックと比較し(例えば、前の画像および後の画像内のブロック)、インター予測情報(例えば、インターエンコーディング技術による冗長情報の記述、モーションベクトル、マージモード情報)を生成し、任意の適切な技術を使用して、インター予測情報に基づいてインター予測結果(例えば、予測されたブロック)を計算するように構成される。いくつかの例では、参照画像は、エンコーディングされたビデオ情報に基づいてデコーディングされたデコーディングされた参照画像である。
【0081】
イントラエンコーダ(722)は、現行ブロック(例えば、処理ブロック)のサンプルを受信するように構成され、ある場合には、ブロックを、同じ画像で既にコーディングされているブロックと比較し、変換後に量子化された係数を生成し、また、ある場合には、イントラ予測情報(例えば、1つ以上のイントラコーディング技術に従ったイントラ予測方向情報)も生成する。一例では、イントラエンコーダ(722)は、また、同じ画像内のイントラ予測情報および参照ブロックに基づいてイントラ予測結果(例えば、予測されたブロック)を計算する。
【0082】
一般制御器(721)は、一般制御データを決定し、一般制御データに基づいてビデオエンコーダ(703)の他の構成要素を制御するように構成される。一例では、一般制御器(721)は、ブロックのモードを決定し、そのモードに基づいてスイッチ(726)に制御信号を供給する。例えば、モードがイントラモードの場合、一般制御器(721)は、スイッチ(726)を制御して、残留演算器(723)が使用するイントラモードの結果を選択し、エントロピーエンコーダ(725)を制御して、イントラ予測情報を選択し、ビットストリームにイントラ予測情報を含めるように制御し、モードがインターモードの場合、一般制御器(721)は、スイッチ(726)を制御して、残留演算器(723)が使用するインター予測結果を選択し、エントロピーエンコーダ(725)を制御して、インター予測情報を選択し、ビットストリームにインター予測情報を含めるように制御する。
【0083】
残留演算器(723)は、受信されたブロックと、イントラエンコーダ(722)またはインターエンコーダ(730)から選択された予測結果との間の差(残留データ)を計算するように構成される。残留エンコーダ(724)は、残留データに基づいて動作し、残留データをエンコーディングして変換係数を生成するように構成される。一例では、残留エンコーダ(724)は、残留データを空間ドメインから周波数ドメインに変換し、変換係数を生成するように構成される。次いで、変換係数は、量子化処理にかけられ、量子化された変換係数を得る。様々な実施形態では、ビデオエンコーダ(703)は、残留デコーダ(728)も含む。残留デコーダ(728)は、逆変換を実行し、デコーディングされた残留データを生成するように構成される。デコーディングされた残留データは、イントラエンコーダ(722)及びインターエンコーダ(730)によって適切に使用することができる。例えば、インターエンコーダ(730)は、デコーディングされた残留データおよびインター予測情報に基づいてデコーディングされたブロックを生成することができ、イントラエンコーダ(722)は、デコーディングされた残留データおよびイントラ予測情報に基づいてデコーディングされたブロックを生成することができる。デコーディングされたブロックは、デコーディングされた画像を生成するために適切に処理され、デコーディングされた画像は、メモリ回路(図示せず)内でバッファリングされ、いくつかの例では参照画像として使用され得る。
【0084】
エントロピーエンコーダ(725)は、エンコーディングされたブロックを含むようにビットストリームをフォーマットするように構成される。エントロピーエンコーダ(725)は、HEVC標準などの適切な標準に従った種々の情報を含むように構成される。一例では、エントロピーエンコーダ(725)は、一般的な制御データ、選択された予測情報(例えば、イントラ予測情報またはインター予測情報)、残留情報、およびビットストリーム内の他の適切な情報を含むように構成される。開示された主題に従って、インターモードまたはバイ予測モードのいずれかのマージサブモードにおけるブロックをコーディングする場合、残留情報は存在しないことに留意されたい。
【0085】
図8は、本開示の別の実施形態によるビデオデコーダ(810)の図を示す。ビデオデコーダ(810)は、コーディングされたビデオシーケンスの一部であるコーディングされた画像を受信し、コーディングされた画像をデコーディングして再構成された画像を生成するように構成される。一例では、ビデオデコーダ(810)は、図4の例のビデオデコーダ(410)の代わりに使用される。
【0086】
図8の例では、ビデオデコーダ(810)は、エントロピーデコーダ(871)、インターデコーダ(880)、残留デコーダ(873)、再構成モジュール(874)、および図8に示すように一緒に結合されたイントラデコーダ(872)を含む。
【0087】
エントロピーデコーダ(871)は、コーディングされた画像から、そのコーディングされた画像が構成される構文要素を表す特定のシンボルを再構成するように構成することができる。このようなシンボルは、例えば、ブロックがコーディングされるモード(例えば、イントラモード、インターモード、バイ予測モード、マージサブモードまたは別のサブモードにおける後者の2つ)、イントラデコーダ(872)またはインターデコーダ(880)によってそれぞれ予測のために使用される特定のサンプルまたはメタデータを識別することができる予測情報(例えば、イントラ予測情報またはインター予測情報)、例えば量子化された変換係数の形態の残留情報などを含むことができる。一例として、予測モードがインターまたはバイ予測モードである場合には、インター予測情報がインターデコーダ(880)に提供され、予測タイプがイントラ予測タイプである場合には、イントラ予測情報がイントラデコーダ(872)に提供される。残留情報は、逆量子化を受けることができ、残留デコーダ(873)に提供される。
【0088】
インターデコーダ(880)は、インター予測情報を受信し、インター予測情報に基づいてインター予測結果を生成するように構成される。
【0089】
イントラデコーダ(872)は、イントラ予測情報を受信し、イントラ予測情報に基づいて予測結果を生成するように構成される。
【0090】
残留デコーダ(873)は、逆量子化された変換係数を抽出するために逆量子化を実行し、逆量子化された変換係数を処理して残留を周波数領域から空間領域に変換するように構成される。残留デコーダ(873)はまた、特定の制御情報(量子化パラメータ(QP)を含む)を必要とする場合があり、その情報は、エントロピーデコーダ(871)によって提供されてもよい(これは、低ボリューム制御情報のみであり得るので、図示されていないデータ経路)。
【0091】
再構成モジュール(874)は、空間領域において、残留デコーダ(873)による出力としての残留と、(場合によっては、インターまたはイントラ予測モジュールによる出力としての)予測結果とを組み合わせて、再構成されたブロックを形成するように構成され、これは、再構成された画像の一部であってもよく、次に、再構成されたビデオの一部であってもよい。脱保護操作等の他の適切な操作を行って、視覚品質を改善することができることに留意されたい。
【0092】
なお、ビデオエンコーダ(403)、(603)および(703)、ならびにビデオデコーダ(410)、(510)および(810)は、任意の適切な技術を用いて実現することができる。一実施形態では、ビデオエンコーダ(403)、(603)、および(703)、ならびにビデオデコーダ(410)、(510)、および(810)は、1つ以上の集積回路を使用して実現され得る。別の実施形態では、ビデオエンコーダ(403)、(603)、および(603)、ならびにビデオデコーダ(410)、(510)、および(810)は、ソフトウェア命令を実行する1つ以上のプロセッサを使用して実現することができる。
【0093】
本開示は、テンプレートマッチングベースのイントラ予測に対する改良を含む。
【0094】
ITU-T VCEG (Q6/16)及びISO/IEC MPEG (JTC 1/SC 29/WG 11)は、2013年(バージョン1)、2014年(バージョン2)、2015年(バージョン3)、2016年(バージョン4)にH.265/HEVC (High Efficiency Video Coding)標準を公表した。2015年には、これら2つの標準組織が共同でJVET (Joint Video Exploration Team)を結成し、HEVCを越えた次のビデオコーディング標準の開発の可能性を探った。2018年4月、JVETはHEVCを超えた次世代ビデオコーディングの標準化プロセスを正式に開始した。この新しい標準はVersatile Video Coding (VVC)と命名され、JVETはJoint Video Expert Teamに改名された。2020年7月、H.266/VVCバージョン1が完成した。2021年1月に、VVC能力を超えた圧縮の増大を調査するためにアドホックグループが設立された。
【0095】
デコーダ側のイントラモード導出において、イントラモードは、ビットストリーム内でシグナル伝達される関連する構文要素を用いて導出することができ、又は、イントラモードは、ビットストリーム内でシグナル伝達される関連する構文要素を用いることなく、デコーダ側で導出することができる。デコーダ側でイントラモードを導出するための多くの方法があり、「デコーダ側イントラモード導出」という表現は、本開示に記載された例示的な方法に限定されない。
【0096】
多重参照線(MRL)イントラ予測は、イントラ予測のためにより多くの参照線(または参照領域)を用いることができる。図9に示されているように、4つの参照線の例が示されており、ここで、セグメントAおよびFのサンプルは、再構成された隣接するサンプルからフェッチされるのではなく、セグメントBおよびEからそれぞれ最も近いサンプルでパディング(または充填)される。HEVCイントラ画像予測は、最も近い参照線(例えば、参照線0)を使用する。MRLでは、2つの追加ライン(例えば、参照ライン1および参照ライン3)を使用することができる。従って、これらの2つの追加ラインのサンプルをブロック単位(902)のイントラ予測に適用することができる。
【0097】
選択された参照線のインデックス(例えば、mrl_idx)は、シグナル伝達され、ブロック単位(902)のためのイントラ予測子を生成するために使用され得る。0より大きい参照線インデックスについては、最確数モード(MPM)リストに追加の参照線モードのみを含めることができ、残りのモード(例えば、MPMリストに含まれないイントラ予測モード)を含まないMPMインデックスのみをシグナル伝達することができる。参照線インデックスは、イントラ予測モードの前にシグナル伝達することができ、平面及びDCモードは、ゼロでない参照線インデックスがシグナル伝達される場合には、イントラ予測モードから除外することができる。
【0098】
テンプレートベースのイントラモード導出(TIMD)は、テンプレートとして現行CUの参照サンプルを使用し、TIMDに関連する候補イントラ予測モードのセットの中から最良のイントラモードを選択することができる。図10に示されるように、現行CU (1002)の隣接する再構成されたサンプルは、テンプレート(1004)として使用され得る。テンプレート(1004)内の再構成されたサンプルは、テンプレート(1004)の予測サンプルと比較され得る。予測サンプルは、テンプレート(1004)の参照サンプル(1006)を使用して生成され得る。参照サンプル(1006)は、テンプレート(1004)の周囲の隣接する再構成サンプルであり得る。コスト関数を使用して、候補となるイントラ予測モードのそれぞれのセットに基づいて、テンプレート(1004)内の予測サンプルと再構成されたサンプルとの間のコスト(または歪み)を計算することができる。最良のイントラ予測モードとして、最小コスト(または歪み)のイントラ予測モードを選択して、現行CU (1002)をインター予測することができる。
【0099】
表1は、TIMDに関連する例示的なコーディング・プロセスを示す。表1に示されるように、DIMDフラグ(例えばDIMD_flag)が1でない(または真でない)時、TIMDフラグ(例えばTIMD_flag)はシグナル伝達可能である。DIMD_flagが1の時、現行CU/PUはDIMDを使用しており、ISPフラグ(例えば、ISP_flag)は現行CU/PUにISPが使用されているかどうかを見るために構文解析されることができる。DIMD_flagが1でない場合、TIMD_flagは構文解析される。TIMD_flagが1の時、TIMDは他のイントラコーディングツールを適用せずに現行CU/PUに適用することができる(例えば、TIMDが使用される時はISPは許可されない)。TIMD_flagが1でない時、(MIP、MRL、MPMなど)関連の構文要素のような他のイントラコーディングツールがデコーダで構文解析できる。
【表1】
【0100】
本開示では、デコーダ側テンプレートマッチングベースのMRLを適用することができる。テンプレートマッチングベースのMRLは、テンプレートを使用して、現行CU/PUの候補参照線の中から参照線(例えば、最良の参照線)を見つけることができ、参照線は、現行CU/PUのイントラ予測のために使用することができる。現行CUの参照インデックスは、ビットストリームでシグナル伝達される代わりに、テンプレートマッチングベースの方法で導出することができる。テンプレートの例は与えられ得るが、図11A~11Dに限定されない。
【0101】
一実施形態において、テンプレートは、図11Aおよび11Bに示すように、1つの列および/または1つの行のみを含むことができる。従って、候補参照線は参照線1、2、及び3を含むことができる。例えば、図11Aにおいて、現行CU (1102)は、(i)現行CU (1102)の上側の上の行における上部サンプル(1104A)および(ii)現行CU (1102)の左側に隣接する列における側部サンプル(1104B)の1つまたは組み合わせを含むことができるテンプレートを有することができる。参照線1、2、および3内のサンプル(1106)を適用して、テンプレートの予測サンプルを生成することができる。図11Bでは、現行CU (1102)のテンプレートはまた、側部サンプル1104Bの上方且つ上部サンプル1104Aに隣接するインターフェースサンプル(1104C)も含むことができる。
【0102】
図11Cでは、現行CU (1102)のテンプレートは、複数の行における上部サンプルおよび複数の列における側部サンプルの1つまたは組み合わせ、例えば、(i)現行CU (1102)の上側の上の第1の行における上部サンプル(1104A)および第1の行の上の第2の行における上部サンプル(1104D)、ならびに(ii)現行CU (1102)の左側に隣接する第1の列における側部サンプル(1104B)および第1の列に沿った第2の列における側部サンプル(1104E)の1つまたは組み合わせを含んでもよい。従って、候補参照線は参照線2および3であり得る。参照線2および3内のサンプル(1106)を適用して、テンプレートの予測サンプルを生成することができる。図11Dにおいて、テンプレートはまた、第1および第2の列の側部サンプル(1104B)および(1104E)の上方且つ第1および第2の行の上部サンプル(1104A)および(1104D)の左方に配置されたインターフェースサンプル(1104C)も含むことができる。
【0103】
各候補参照線に対して、テンプレートの予測サンプルを生成することができる。コスト関数を使用して、テンプレートの予測サンプルとテンプレートの予測サンプルに対応するテンプレートの再構成されたサンプルとの間のコストを計算することができる。例えば、絶対差の和(SAD)または絶対変換差の和(SATD)を、テンプレートの予測サンプルとテンプレートの予測サンプルに対応するテンプレートの再構成されたサンプルとの間で計算することができる。最小コスト(例えば、最小SAD値または最小SATD値)の参照線を、現行CU/PUの参照線または最良参照線として選択することができる。従って、参照線内のサンプルは、現行CU/PUをイントラ予測するために適用することができる。
【0104】
テンプレートマッチングベースのMRLの適用は、テンプレートマッチングベースのMRLフラグ(例えば、MRL_flag)のような、テンプレートマッチングベースのMRL情報によって示され得る。例えば、テンプレートマッチングベースのMRLフラグの値が1の場合、現行CU/PUがテンプレートマッチングベースのMRLを使用することを示す。それ以外の、MRL_flagの値が1と異なる場合、テンプレートマッチングベースのMRLは使用されない。
【0105】
本開示において、テンプレートマッチングベースのMRLは、別のテンプレートベースのモードと組み合わせることができる。例えば、図10に記載したテンプレートマッチングベースのMRLとTIMDの組み合わせを適用することができる。テンプレートマッチングベースのMRLおよびTIMDの組み合わせについての例示的な擬似コードを表2に示すことができる。
【表2】
【0106】
表2に示すように、TIMDフラグ(例えば、TIMD_flag)は、シグナル伝達され得る。TIMD_flagが1の場合、現行CU/PUがTIMDを使用していることを示す。さらに、テンプレートマッチングベースのMRLフラグ(例えば、MRL_flag)を解析して、テンプレートマッチングベースのMRLが現行CU/PUに使用されているかどうかを判定することができる。TIMD_flagが1でない時、他の関連構文要素(例えば、MIP、MPMなど)をデコーダで構文解析できる。
【0107】
TIMD_flagとMRL_flagの両方が1に等しい場合、同じテンプレート(例えば、図11A~11Dに示されているテンプレートのいずれか)を使用して、選択されたイントラモード(例えば、最良のイントラモード)と選択された参照線(例えば、最良の参照線)を決定することができる。したがって、selectedIntraMode (例えば、bestIntraMode)とselectedRefereneLine (例えば、bestReferenceLine)のペアを得ることができる。使用されるイントラモードおよび参照線を決定するために、TIMDに関連する候補イントラモードのセットおよび候補参照線(例えば、図11A~11Dの参照線1~3)を通じて探索プロセスを行うことができる。SATDまたはSADを、候補イントラモードのセットの各々および候補参照線の各々について、テンプレートの予測サンプルとテンプレートの再構成されたサンプルとの間で計算することができる。従って、イントラモードと参照線のいくつかのペアを得ることができる。コストが最小のイントラモードと参照線のペアが現行CU/PUについてのイントラモードと参照線のペアとして選択できる。その後、選択されたイントラモードと選択された参照線を使ってイントラ予測を行うことができる。
【0108】
図12は、本開示のいくつかの実施形態に従う例示的なデコーディングプロセス(1200)の概要を示すフローチャートを示す。図13は、本開示のいくつかの実施形態に従う例示的エンコーディングプロセス(1300)の概要を示すフローチャートを示す。提案された方法は、別々に、または任意の順序で組み合わせて使用することができる。さらに、方法(または実施形態)、エンコーダ、およびデコーダの各々は、処理回路(例えば、1つ以上のプロセッサ、または1つ以上の集積回路)によって実現されてもよい。一例では、1つ以上のプロセッサは、一時的でないコンピュータ読取り可能媒体に記憶されたプログラムを実行する。
【0109】
実施形態において、プロセス(例えば、(1200)および(1300))の任意の動作は、必要に応じて、任意の数または順序で結合または配置されてもよい。実施形態において、プロセス(例えば、(1200)および(1300))の動作のうちの2つ以上は、並行して実行されてもよい。
【0110】
プロセス(例えば、(1200)および(1300))は、再構成中のブロックに対する予測ブロックを生成するために、ブロックの再構成および/またはエンコーディング中に使用することができる。様々な実施形態では、プロセス(例えば、(1200)および(1300)は、端末デバイス(210)、(220)、(230)および(240)中の処理回路、ビデオエンコーダ(303)の機能を実行する処理回路、ビデオデコーダ(310)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、ビデオエンコーダ(503)の機能を実行する処理回路などの処理回路によって実行される。いくつかの実施形態では、プロセス(例えば、(1200)および(1300))は、ソフトウェア命令で実現され、従って、処理回路がソフトウェア命令を実行すると、処理回路は、プロセス(例えば、(1200)および(1300))を実行する。
【0111】
図12に示すように、プロセス(1200)は、(S1201)から開始し、次いで(S1210)に進むことができる。(S1210)において、コーディング単位(CU)、テンプレート領域、および複数の参照領域のコーディングされた情報を、コーディングされたビデオビットストリームから受信することができる。コーディングされた情報は、テンプレートマッチングベースの多重参照線(MRL)イントラ予測モードに基づいてCUが予測されるかどうかを示す第1の構文要素を含むことができる。テンプレート領域は、CUに隣接することができ、複数の参照領域は、テンプレート領域に隣接することができる。
【0112】
(S1220)において、CUがテンプレートマッチングベースのMRLイントラ予測モードに基づいて予測されることを示す第1の構文要素に応答して、複数のコスト値が、(i)複数の参照領域の各々におけるサンプルに基づくテンプレート領域の各々の予測サンプルと、(ii)各予測サンプルに対応するテンプレート領域の再構成されたサンプルとの間で決定され得る。
【0113】
(S1230)において、参照領域は、複数のコスト値に基づいて複数の参照領域から決定され得る。
【0114】
(S1240)において、CUのサンプルは、決定された参照領域のサンプルに基づいて再構成され得る。
【0115】
いくつかの実施形態では、複数のコスト値のそれぞれは、(i)複数の参照領域のそれぞれの1つのサンプルに基づいて決定されるテンプレート領域のそれぞれの予測サンプルと、(ii)それぞれの予測サンプルに対応するテンプレート領域の再構成されたサンプルとの間の差に従って決定され得る。
【0116】
いくつかの実施形態において、テンプレート領域は、(i)CUの上側の上の行における上部サンプル、および(ii)CUの左側に隣接する列における側部サンプルの1つまたは組み合わせをさらに含むことができる。
【0117】
いくつかの実施形態において、テンプレート領域は、側部サンプルの上方且つ上部サンプルに隣接して位置するインターフェースサンプルをさらに含むことができる。
【0118】
いくつかの実施形態では、複数の参照領域は、(i)テンプレート領域の上側の上に位置する行部分と、テンプレート領域の左側に隣接する列部分とを含む第1の参照領域と、(ii)第1の参照領域の行部分の上に位置する行部分と、第1の参照領域の列部分に隣接する列部分とを含む第2の参照領域と、(iii)第2の参照領域の行部分の上に位置する行部分と、第2の参照領域の列部分に隣接する列部分とを含む第3の参照領域とを含むことができる。
【0119】
いくつかの実施形態において、テンプレート領域は、(i)CUの上側の上の第1の行における上部サンプル、および(ii)CUの左側に隣接する第1の列における側部サンプルの1つまたは組み合わせをさらに含むことができる。テンプレート領域はまた、(i)第1の行の上の第2の行における上部サンプル、および(ii)第1の列に沿った第2の列における側部サンプルの1つまたは組み合わせも含むことができる。
【0120】
いくつかの実施形態において、テンプレート領域は、第1の列および第2の列の側部サンプルの上に、且つ第1の行および第2の行の上部サンプルの左に配置されたインターフェースサンプルをさらに含むことができる。
【0121】
いくつかの実施形態では、複数の参照領域は、テンプレート領域の上側の上に位置する行部分と、テンプレート領域の左側に隣接する列部分とを含む第1の参照領域と、第1の参照領域の行部分の上に位置する行部分と、第1の参照領域の列部分に隣接する列部分とを含む第2の参照領域とを含むことができる。
【0122】
プロセス(1200)において、第2の構文要素は、さらに、コーディングされた情報からデコーディングされ得、ここで、第2の構文要素は、CUがテンプレートベースのイントラモード導出(TIMD)モードに基づいてイントラ予測されるかどうかを示すことができる。TIMDモードは、候補イントラ予測モードのセットを含むことができる。CUがテンプレートマッチングベースのMRLイントラ予測モードに基づいて予測されることを示す第1の構文要素、およびCUがTIMDモードに基づいてイントラ予測されることを示す第2の構文要素に応答して、テンプレート領域のそれぞれの予測サンプルは、(i)複数の参照領域のそれぞれの1つに位置するサンプル、および(ii)候補イントラ予測モードのセットにおけるそれぞれの候補イントラ予測モードに基づいて決定され得る。複数のコスト値を決定することができる。複数のコスト値のそれぞれは、テンプレート領域のそれぞれの予測サンプルと、それぞれの予測サンプルに対応するテンプレート領域の再構成されたサンプルとの間の絶対変換された差の合計に従って決定され得る。複数の参照領域からの参照領域のペアと、候補のイントラ予測モードのセットからのイントラ予測モードとを決定することができ、それは、複数のコスト値の中で最低のコスト値と関連する。CUのサンプルは、決定された参照領域のペア中のサンプルおよびイントラ予測モードに基づいて再構成することができる。
【0123】
いくつかの実施形態において、CUがTIMDモードに基づいてイントラ予測されていないことを示す第2の構文要素に応答して、他のイントラコーディングモードに関連する構文要素をデコーディングすることができ、他のイントラコーディングモードは行列ベースのイントラ予測(MIP)およびMPMの1つを含むことができる。
【0124】
図13に示すように、プロセス(1300)は、(S1301)から開始して、次いで(S1310)に進むことができる。(S1310)において、複数のコスト値は、(i)コーディングユニット(CU)の複数の参照領域の各々におけるサンプルに基づいた画像中のCUのテンプレート領域のそれぞれの予測サンプルと、(ii)それぞれの予測サンプルに対応するテンプレート領域の再構成されたサンプルとの間で決定され得る。テンプレート領域は、CUに隣接することができ、複数の参照領域は、テンプレート領域に隣接することができる。
【0125】
例えば、複数のコスト値のそれぞれは、複数の参照領域のそれぞれの1つにおけるサンプルに基づいて決定されたテンプレート領域のそれぞれの予測サンプルと、それぞれの予測サンプルに対応するテンプレート領域の再構成されたサンプルとの間の差に従って決定され得る。
【0126】
(S1320)において、参照領域は、複数のコスト値に基づいて複数の参照領域から決定され得る。例えば、決定された参照領域は、複数のコスト値の中で最も低いコスト値と関連付けることができる。
【0127】
(S1330)において、決定された参照領域およびテンプレート領域に基づいてテンプレートマッチングベースの多重参照線(MRL)イントラ予測モードによってCUについての予測を行うことができる。
【0128】
(S1340)では、CUがテンプレートマッチングベースのMRLイントラ予測モードに基づいてイントラ予測されているかどうかを示す第1の構文要素を生成することができる。
【0129】
上述の技術は、コンピュータ読取可能な命令を用い、1つ以上のコンピュータ読取可能な媒体に物理的に記憶されるコンピュータソフトウェアとして実現することができる。例えば、図14は、開示された主題の特定の実施形態を実施するのに適したコンピュータシステム(1400)を示す。
【0130】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク、または類似のメカニズムの対象となり得る任意の適切な機械コードまたはコンピュータ言語を使用してコーディングされて、1つまたは複数のコンピュータ中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)などによって、直接的に、またはインタープリテーション、マイクロコード実行などを通して実行され得る命令を含むコードを作成することができる。
【0131】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイス等を含む種々のタイプのコンピュータまたはその構成要素上で実行することができる。
【0132】
コンピュータシステム(1400)について図14に示す構成要素は、本質的に例示的なものであり、本開示の実施形態を実現するコンピュータソフトウェアの使用範囲または機能性に関する制限を示唆することを意図するものではない。また、構成要素の構成は、コンピュータシステム(1400)の例示的な実施形態に示される構成要素の任意の1つまたは組み合わせに関するいかなる従属性または要件も有するものとして解釈されてはならない。
【0133】
コンピュータシステム(1400)は、特定のヒューマンインターフェース入力デバイスを含んでもよい。このようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(例えば、キーストローク、スワイプ、データグローブ運動)、音声入力(例えば、音声、拍手)、視覚入力(例えば、ジェスチャ)、嗅覚入力(図示せず)を介して、一人または複数の人間ユーザによる入力に応答することができる。また、ヒューマンインターフェイスデバイスは、オーディオ(例えば、音声、音楽、周囲音)、画像(例えば、走査画像、静止画像カメラから得られる写真画像)、ビデオ(例えば、2次元ビデオ、立体ビデオを含む3次元ビデオ)のような、人間による意識的入力に必ずしも直接関係しない特定の媒体をキャプチャするために使用することができる。
【0134】
入力ヒューマンインターフェースデバイスは、キーボード(1401)、マウス(1402)、トラックパッド(1403)、タッチスクリーン(1410)、データグローブ(図示せず)、ジョイスティック(1405)、マイクロホン(1406)、スキャナ(1407)、カメラ(1408)の1つ以上(それぞれの1つのみ図示)を含んでもよい。
【0135】
コンピュータシステム(1400)はまた、特定のヒューマンインターフェース出力デバイスを含んでもよい。このようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および嗅覚/味覚を通して、1人または複数の人間ユーザの感覚を刺激することができる。このようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(1410)、データグローブ(図示せず)、またはジョイスティック(1405)による触覚フィードバックがあるが、入力デバイスとして働かない触覚フィードバックデバイスもある)、オーディオ出力デバイス(例えば、スピーカー(1409)、ヘッドフォン(図示せず))、視覚出力デバイス(例えば、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(1410)などであって、各々がタッチスクリーン入力能力を有する、または有さない、各々が触覚フィードバック能力を有する、または有さない、各々のうちの一部は、2次元視覚出力、または立体画像出力、仮想現実メガネ(図示せず)、ホログラフィックディスプレイおよびスモークタンク(図示せず)などの手段を通じて4次元以上の出力を出力することができるものもある)、およびプリンタ(図示せず)を含み得る。
【0136】
コンピュータシステム(1400)はまた、人間がアクセス可能な記憶デバイス、及び、CD/DVDまたは類似の媒体(1421)を有するCD/DVD ROM/RW を含む光媒体(1420)、サムドライブ(1422)、取り外し可能なハードドライブ又はソリッドステートドライブ(1423)、テープ及びフロッピーディスク(図示せず)のようなレガシー磁気媒体、セキュリティドングル(図示せず)のような特殊化されたROM/ASIC/PLDベースのデバイス等の関連媒体を含むこともできる。
【0137】
当業者はまた、現在開示されている主題に関連して使用される用語「コンピュータ可読媒体」は、伝送媒体、搬送波、または他の過渡信号を包含しないことを理解すべきである。
【0138】
コンピュータシステム(1400)はまた、1つ以上の通信ネットワーク(1455)へのインターフェース(1454)を含むこともできる。ネットワークは、例えば、無線、有線、光であり得る。ネットワークは、さらに、局所、広域、大都市、車両および工業、リアルタイム、遅延耐性などであり得る。ネットワークの例としては、イーサネット、無線LAN、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルTV、衛星TV、および地上放送TVを含む有線または無線の広域デジタルネットワーク、CANBusを含む車両および産業などが挙げられる。特定のネットワークは、一般に、特定の汎用データポートまたは周辺バス(1449)に接続される外部ネットワークインターフェースアダプタ(例えば、コンピュータシステム(1400)のUSBポート)を必要とし、他のネットワークインターフェースアダプタは、一般に、以下に説明するシステムバスに接続されることによって、コンピュータシステム(1400)のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインターフェースまたはスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム(1400)は、他のエンティティと通信することができる。このような通信は、単指向性、受信のみ(例えば、放送テレビ)、単指向性送信専用(例えば、特定のCANバスデバイスへのCANバス)、または、例えば、局所または広域デジタルネットワークを使用する他のコンピュータシステムへの双指向性であってもよい。特定のプロトコルおよびプロトコルスタックは、上述のように、それらのネットワークおよびネットワークインタフェースの各々で使用することができる。
【0139】
前述のヒューマンインタフェースデバイス、人がアクセス可能な記憶デバイス、およびネットワークインタフェースは、コンピュータシステム(1400)のコア(1440)に取り付けることができる。
【0140】
コア(1440)は、1つ以上の中央処理ユニット(CPU) (1441)、グラフィックス処理ユニット(GPU) (1442)、フィールドプログラマブルゲートエリア(FPGA) (1443)の形式の特殊プログラマブル処理ユニット、特定のタスクのためのハードウェアアクセラレータ(1444)、グラフィックスアダプタ(1450)などを含むことができる。これらのデバイスは、読出し専用メモリ(ROM) (1445)、ランダムアクセスメモリ(1446)、内部大容量記憶デバイス、例えば内部ユーザアクセス不可ハードドライブ、SSD等(1447)と共に、システムバス(1448)を介して接続されてもよい。いくつかのコンピュータシステムでは、システムバス(1448)は、追加のCPU、GPUなどによる拡張を可能にするために、1つまたは複数の物理プラグの形態でアクセス可能である。周辺デバイスは、コアのシステムバス(1448)に直接接続することも、周辺バス(1449)を介して接続することもできる。一例では、スクリーン(1410)は、グラフィックスアダプタ(1450)に接続され得る。周辺バスのアーキテクチャは、PCI、USBなどを含む。
【0141】
CPU(1441)、GPU(1442)、FPGA(1443)、およびアクセラレータ(1444)は、組み合わせて、上述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードは、ROM (1445)またはRAM (1446)に記憶することができる。過渡的なデータは、RAM (1446)に記憶することもでき、永久データは、例えば、内部大容量記憶デバイス(1447)に記憶することができる。1つ以上のCPU (1441)、GPU (1442)、大容量記憶デバイス(1447)、ROM (1445)、RAM (1446)などと密接に関連付けることができるキャッシュメモリを使用することによって、メモリデバイスのいずれかへの高速記憶および検索を可能にすることができる。
【0142】
コンピュータ読取可能媒体は、種々のコンピュータ実装された動作を実行するためのコンピュータコードをその上に有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであってもよく、またはそれらは、コンピュータソフトウェア技術に熟練した者に周知でかつ入手可能な種類のものであってもよい。
【0143】
一例として、限定するものではなく、アーキテクチャ(1400)を有するコンピュータシステム、具体的にはコア(1440)は、1つ以上の有形のコンピュータ可読媒体に具現化されたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータ等を含む)の結果としての機能性を提供することができる。そのようなコンピュータ読取可能媒体は、上述のようなユーザがアクセス可能な大容量記憶デバイスに関連する媒体であってもよいし、コア内部大容量記憶デバイス(1447)またはROM (1445)のような非一時的な性質のコア(1440)の特定の記憶デバイスであってもよい。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに記憶され、コア(1440)によって実行され得る。コンピュータ読取可能媒体は、特定のニーズに応じて、1つまたは複数のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア(1440)およびその中の具体的にプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM (1446)に記憶されたデータ構造を定義し、ソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を修正することを含む、本明細書に記載された特定のプロセスまたは特定の部分を実行させることができる。さらに、または代替として、コンピュータシステムは、回路(例えば、アクセラレータ(1444))内に配線された、または他の方法で具体化された論理の結果としての機能性を提供することができ、これは、本明細書に記載される特定のプロセスまたは特定のプロセスの特定の部分を実行するためのソフトウェアの代わりに、またはそれと共に動作することができる。ソフトウェアへの参照は、論理を含み、また、適切な場合には、その逆も可能である。コンピュータ読取り可能媒体への参照は、実行のためのソフトウェアを記憶する回路(集積回路(IC)のような)、実行のためのロジックを具体化する回路、または適切な場合にはその両方を含むことができる。本開示は、ハードウェアおよびソフトウェアの任意の適切な組み合わせを包含する。
【0144】
付録A:頭字語
JEM:共同探査モデル
VVC:汎用ビデオコーディング
BMS:ベンチマークセット
MV:モーションベクトル
HEVC:高効率ビデオコーディング
SEI:補足拡張情報
VUI:ビデオ操作性情報
GOP:画像のグループ
TU:変換単位、
PU:予測単位
CTU:コーディングツリー単位
CTB:コーディングツリーブロック
PB:予測ブロック
HRD:仮設参照デコーダ
SNR:信号雑音比
CPU:中央処理ユニット
GPU:グラフィックス処理ユニット
CRT:ブラウン管
LCD:液晶ディスプレイ
OLED:有機発光ダイオード
CD:コンパクトディスク
DVD:デジタルビデオディスク
ROM:読み出し専用メモリ
RAM:ランダムアクセスメモリ
ASIC:特定用途向け集積回路
PLD:プログラマブルロジックデバイス
LAN:局所エリアネットワーク
GSM:移動通信のためのグローバルシステム
LTE:長期的発展
CANBus:コントローラエリアネットワークバス
USB:ユニバーサルシリアルバス
PCI:ペリフェラルコンポーネント相互接続
FPGA:フィールドプログラマブルゲートエリア
SSD:ソリッドステートドライブ
IC:集積回路
CU:コーディング単位
【0145】
本開示は、いくつかの例示的な実施形態を記載してきたが、本開示の範囲内にある変更、置換、および種々の代替等価物がある。したがって、当業者は、本明細書に明示的に示されていないか、または記載されていないが、本開示の原理を具体化し、従って、本開示の精神および範囲内にある多くのシステムおよび方法を考案することができることが理解されるであろう。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11A
図11B
図11C
図11D
図12
図13
図14