(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-14
(45)【発行日】2022-11-22
(54)【発明の名称】簡略化された最確モードリスト生成スキーム
(51)【国際特許分類】
H04N 19/11 20140101AFI20221115BHJP
H04N 19/136 20140101ALI20221115BHJP
H04N 19/176 20140101ALI20221115BHJP
H04N 19/70 20140101ALI20221115BHJP
【FI】
H04N19/11
H04N19/136
H04N19/176
H04N19/70
(21)【出願番号】P 2020560447
(86)(22)【出願日】2019-12-04
(86)【国際出願番号】 US2019064408
(87)【国際公開番号】W WO2020117905
(87)【国際公開日】2020-06-11
【審査請求日】2020-10-28
(32)【優先日】2018-12-04
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2018-12-28
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-11-25
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジャオ,リアン
(72)【発明者】
【氏名】ジャオ,シン
(72)【発明者】
【氏名】リ,シアン
(72)【発明者】
【氏名】リィウ,シャン
【審査官】岩井 健二
(56)【参考文献】
【文献】米国特許出願公開第2018/0146211(US,A1)
【文献】M. Albrecht, et al.,Description of SDR, HDR, and 360° video coding technology proposal by Fraunhofer HHI,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-J0014-v4,10th Meeting: San Diego, US,2018年04月,pp.1-12, 53-55
【文献】Hui-Yu Jiang and Yao-Jen Chang,CE3-related: Advanced MPM based on intra reference line selection scheme,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-K0175-v3,11th Meeting: Ljubljana, SI,2018年07月,pp.1-4
【文献】Liang Zhao, et al.,CE3-related: MPM based multi-line intra prediction scheme,Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-K0482_r1,11th Meeting: Ljubljana, SI,2018年07月,pp.1-3
【文献】Liang Zhao, Xin Zhao, Xiang Li, and Shan Liu,CE3-related: Modifications on MPM list generation,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-M0494_v3,13th Meeting: Marrakech, MA,2019年01月,pp.1-8
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサを用いて符号化ビデオビットストリームの中の現在ブロックを符号化するために使用されるイントラ予測モードをシグナリングする方法であって、前記方法は、
前記現在ブロックのゼロ参照ラインに対応する第1MPM(most probable mode)リストを生成するステップであって、前記第1MPMリストは、複数の角度イントラ予測モードを含む、ステップと、
前記現在ブロックの1つ以上の非ゼロ参照ラインに対応する第2MPMリストを生成するステップであって、前記第2MPMリストは前記複数の角度イントラ予測モードを含む、ステップと、
前記ゼロ参照ラインおよび前記1つ以上の非ゼロ参照ラインの中から、前記現在ブロックを符号化するために使用される参照ラインを示す参照ラインインデックスをシグナリングするステップと、
前記第1MPMリストまたは前記第2MPMリストの中の前記イントラ予測モードを示すイントラモードインデックスをシグナリングするステップと、
を含み、
前記第1MPMリストは、前記複数の角度イントラ予測モードに対応する第1の複数のインデックスを含み、
前記第2MPMリストは、前記複数の角度イントラ予測モードに対応する第2の複数のインデックスを含み、
前記第1の複数のインデックスは、前記第2の複数のインデックスと同じであ
り、
前記第1MPMリストは、1つ以上の非角度イントラ予測モードを更に含み、
前記第2MPMリストは、前記1つ以上の非角度イントラ予測モードを含まない、方法。
【請求項2】
前記1つ以上の非角度イントラ予測モードは、平面モードおよびDCモードのうちの少なくとも1つを含む、請求項
1に記載の方法。
【請求項3】
前記複数の角度イントラ予測モードは、第1角度イントラ予測モードおよび第2角度イントラ予測モードを含み、
前記第1角度イントラ予測モードは、前記第1の複数のインデックスのうちの第1インデックスに対応し、
前記第2角度イントラ予測モードは、前記第1の複数のインデックスのうちの第2インデックスに対応し、
前記第1角度イントラ予測モードは、前記第2の複数のインデックスのうちの第1インデックスに対応し、
前記第2角度イントラ予測モードは、前記第2の複数のインデックスのうちの第2インデックスに対応し、
前記第1の複数のインデックスのうちの前記第1インデックスは、前記第2の複数のインデックスのうちの前記第1インデックスと同じであり、
前記第1の複数のインデックスのうちの前記第2インデックスは、前記第2の複数のインデックスのうちの前記第2インデックスと同じである、請求項1
又は2に記載の方法。
【請求項4】
前記現在ブロックの第1近隣ブロックの第1近隣モードが非角度モードであることに基づき、および前記現在ブロックの第2近隣ブロックの第2近隣モードが角度モードであることに基づき、前記第1MPMリストの第1イントラ予測モードは前記非角度モードであり、前記第1MPMリストの第2イントラ予測モードは前記角度モードである、請求項1乃至
3の何れか一項に記載の方法。
【請求項5】
前記第1近隣モードがDCモードであることに基づき、および前記参照ラインインデックスが、前記参照ラインが前記ゼロ参照ラインであることを示すことに基づき、前記第1MPMリストの前記第1イントラ予測モードは、前記DCモードである、請求項
4に記載の方法。
【請求項6】
前記第1近隣モードが平面モードであることに基づき、および前記参照ラインインデックスが、前記参照ラインが前記ゼロ参照ラインであることを示すことに基づき、前記第1MPMリストの前記第1イントラ予測モードは、前記平面モードである、請求項
4又は
5に記載の方法。
【請求項7】
前記参照ラインインデックスが、前記参照ラインが前記ゼロ参照ラインであることを示すことに基づき、前記第1MPMリストの前記第1イントラ予測モードは平面モードであり、前記第1MPMリストの前記第2イントラ予測モードは前記角度モードであり、前記第1MPMリストの第3イントラ予測モードはDCモードである、請求項
4乃至
6の何れか一項に記載の方法。
【請求項8】
前記参照ラインインデックスが、前記参照ラインが前記ゼロ参照ラインであることを示すことに基づき、および前記現在ブロックの第1近隣ブロックの第1近隣モードが非角度モードであることに基づき、および前記現在ブロックの第2近隣ブロックの第2近隣モードが角度モードであることに基づき、前記第1MPMリストの第1イントラ予測モードは前記角度モードであり、前記第1MPMリストの第2イントラ予測モードは前記非角度モードである、請求項1乃至
7の何れか一項に記載の方法。
【請求項9】
前記参照ラインインデックスが、前記参照ラインが前記ゼロ参照ラインであることを示すことに基づき、および前記現在ブロックの第1近隣ブロックの第1近隣モードが非角度モードであることに基づき、および前記現在ブロックの第2近隣ブロックの第2近隣モードが角度モードであることに基づき、前記第1MPMリストにおける、平面モードおよびDCモードのうちの少なくとも1つの前記角度モードに対する位置は、前記角度モードのモード番号に基づき決定される、請求項1乃至
8の何れか一項に記載の方法。
【請求項10】
前記角度モードが水平モードおよび垂直モードのうちの1つであることに基づき、前記第1MPMリストの第1イントラ予測モードは前記角度モードであり、前記第1MPMリストの第2イントラ予測モードは前記平面モードおよび前記DCモードのうちの少なくとも1つであり、
前記角度モードが前記水平モードおよび前記垂直モード以外のモードであることに基づき、前記第1MPMリストの前記第1イントラ予測モードは、前記平面モードおよび前記DCモードのうちの少なくとも1つであり、前記第1MPMリストの前記第2イントラ予測モードは、前記角度モードである、請求項
9に記載の方法。
【請求項11】
前記角度モードが補間を用いて分数位置で予測サンプルを生成しないモードであることに基づき、前記第1MPMリストの第1イントラ予測モードは前記角度モードであり、前記第1MPMリストの第2イントラ予測モードは前記平面モードおよび前記DCモードのうちの少なくとも1つであり、
前記角度モードが補間を用いて前記分数位置で前記予測サンプルを生成するモードであることに基づき、前記第1MPMリストの前記第1イントラ予測モードは、前記平面モードおよび前記DCモードのうちの少なくとも1つであり、前記第1MPMリストの前記第2イントラ予測モードは、前記角度モードである、請求項
9に記載の方法。
【請求項12】
符号化ビデオビットストリームの中の現在ブロックを符号化するために使用されるイントラ予測モードをシグナリングする装置であって、前記装置は、
プログラムコードを格納するよう構成される少なくとも1つのメモリと、
前記プログラムコードを読み出し、前記プログラムコードにより指示されるように動作するよう構成される少なくとも1つのプロセッサと、
を含み、前記プログラムコードは、
前記プロセッサに、前記現在ブロックのゼロ参照ラインに対応する第1MPM(most probable mode)リストを生成させるよう構成される第1生成コードであって、前記第1MPMリストは、複数の角度イントラ予測モードを含む、第1生成コードと、
前記プロセッサに、前記現在ブロックの1つ以上の非ゼロ参照ラインに対応する第2MPMリストを生成させるよう構成される第2生成コードであって、前記第2MPMリストは前記複数の角度イントラ予測モードを含む、第2生成コードと、
前記プロセッサに、前記ゼロ参照ラインおよび前記1つ以上の非ゼロ参照ラインの中から、前記現在ブロックを符号化するために使用される参照ラインを示す参照ラインインデックスをシグナリングさせるよう構成される第1シグナリングコードと、
前記プロセッサに、前記第1MPMリストまたは前記第2MPMリストの中の前記イントラ予測モードを示すイントラモードインデックスをシグナリングさせるよう構成される第2シグナリングコードと、
を含み、
前記第1MPMリストは、前記複数の角度イントラ予測モードに対応する第1の複数のインデックスを含み、
前記第2MPMリストは、前記複数の角度イントラ予測モードに対応する第2の複数のインデックスを含み、
前記第1の複数のインデックスは、前記第2の複数のインデックスと同じであ
り、
前記第1MPMリストは、1つ以上の非角度イントラ予測モードを更に含み、
前記第2MPMリストは、前記1つ以上の非角度イントラ予測モードを含まない、装置。
【請求項13】
前記複数の角度イントラ予測モードは、第1角度イントラ予測モードおよび第2角度イントラ予測モードを含み、
前記第1角度イントラ予測モードは、前記第1の複数のインデックスのうちの第1インデックスに対応し、
前記第2角度イントラ予測モードは、前記第1の複数のインデックスのうちの第2インデックスに対応し、
前記第1角度イントラ予測モードは、前記第2の複数のインデックスのうちの第1インデックスに対応し、
前記第2角度イントラ予測モードは、前記第2の複数のインデックスのうちの第2インデックスに対応し、
前記第1の複数のインデックスのうちの前記第1インデックスは、前記第2の複数のインデックスのうちの前記第1インデックスと同じであり、
前記第1の複数のインデックスのうちの前記第2インデックスは、前記第2の複数のインデックスのうちの前記第2インデックスと同じである、請求項
12に記載の装置。
【請求項14】
前記参照ラインインデックスが、前記参照ラインが前記ゼロ参照ラインであることを示すことに基づき、および前記現在ブロックの第1近隣ブロックの第1近隣モードが非角度モードであることに基づき、および前記現在ブロックの第2近隣ブロックの第2近隣モードが角度モードであることに基づき、前記第1MPMリストの第1イントラ予測モードは前記角度モードであり、前記第1MPMリストの第2イントラ予測モードは前記非角度モードである、請求項
12又は13に記載の装置。
【請求項15】
コンピュータに、
請求項1乃至
11の何れか一項に記載の方法を実行させるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願]
本願は、35U.S.C.§119に基づき、米国仮特許出願番号第62/775,373号、2018年12月4日に米国特許商標庁に出願、米国仮特許出願番号第62/786,031号、2018年12月28日に米国特許商標庁に出願、および米国特許出願番号第16/694,26号、2019年11月25日に米国特許商標庁に出願、の優先権を主張する。これらの出願は、参照によりその全体がここに組み込まれる。
【0002】
[技術分野]
本開示は、高度ビデオ符号化技術を対象とする。より具体的には、本開示は、ゼロラインおよび非ゼロラインの簡略化された最確モード(most probable mode(MPM))リスト生成方式を対象とする。
【背景技術】
【0003】
ITU-T VCEG(Q6/16) and ISO/IEC MPEG (JTC1/SC29/WG11) published the H.265/HEVC (High Efficiency Video Coding) standard in 2013 (version 1) 2014 (version 2) 2015 (version 3) and 2016 (version 4) [1].2015年に、これらの2つの標準化組織は、一緒にJVET(Joint Video Exploration Team)を形成して、HEVC以後の次世代ビデオ符号化標準を開発する可能性を探索した。2017年10月、彼らは、Joint Call for Proposals on Video Compression with Capability beyond HEVC(CfP)を発表した。2018年2月15日までに、合計で、標準ダイナミックレンジ(standard dynamic range(SDR))に関する22個のCfP応答、高ダイナミックレンジ(high dynamic range(HDR))に関する12個のCfP応答、および360個のビデオカテゴリに関する12個のCfP応答がそれぞれ提出された。2018年4月、全部の受信されたCfP応答は、122MPEG/10th JVET会議で評価された。この会議の結果として、JVETは、HEVC以後の次世代ビデオ符号化の標準化プロセスを正式に発表した。新たな標準は、VVC(Versatile Video Coding)と名付けられ、JVETはJoint Video Expert Teamに改名した。
【0004】
図1に、HEVCで使用されるイントラ予測モードが示される。HEVCには、全部で35個のイントラ予測モードがある。この中で、モード10は水平モードであり、モード26は垂直モードであり、モード2、モード18、モード34は対角モードである。イントラ予測モードは、3つの最確モード(most probable modes(MPMs))および32個の残りのモードによりシグナリングされる。
【0005】
イントラモードを符号化するために、サイズ3の最確モード(most probable mode(MPM))リストは、近隣ブロックのイントラモードに基づき構築される。このMPMリストは、MPMリストまたは1次MPMリストと呼ばれる。イントラモードがMPMリストからのものではない場合、イントラモードが選択したモードに属するか否かを示すために、フラグがシグナリングされる。
【0006】
HEVCのMPMリスト生成処理の例は、以下に示される。
【数1】
【0007】
ここで、leftIntraDirは左のブロックのモードを示すために使用され、aboveIntraDirは上のブロックのモードを示すために使用される。左または上のブロックが現在利用可能ではない場合、leftIntraDirまたはaboveIntraDirはDC_IDXになる。さらに、変数「offset」および「mod」は定数であり、それぞれ29および32に設定される。
【発明の概要】
【0008】
一実施形態では、少なくとも1つのプロセッサを用いて符号化ビデオビットストリームの中の現在ブロックを符号化するために使用されるイントラ予測モードをシグナリングする方法であって、前記現在ブロックのゼロ参照ラインに対応する第1MPM(most probable mode)リストを生成するステップであって、前記第1MPMリストは、複数の角度イントラ予測モードを含む、ステップと、前記現在ブロックの1つ以上の非ゼロ参照ラインに対応する第2MPMリストを生成するステップであって、前記第2MPMリストは前記複数の角度イントラ予測モードを含む、ステップと、前記ゼロ参照ラインおよび前記1つ以上の非ゼロ参照ラインの中から、前記現在ブロックを符号化するために使用される参照ラインを示す参照ラインインデックスをシグナリングするステップと、
前記第1MPMリストまたは前記第2MPMリストの中の前記イントラ予測モードを示すイントラモードインデックスをシグナリングするステップと、を含む方法が提供される。
【0009】
一実施形態では、符号化ビデオビットストリームの中の現在ブロックを符号化するために使用されるイントラ予測モードをシグナリングする装置であって、前記装置は、
プログラムコードを格納するよう構成される少なくとも1つのメモリと、
前記プログラムコードを読み出し、前記プログラムコードにより指示されるように動作するよう構成される少なくとも1つのプロセッサと、
を含み、前記プログラムコードは、
前記プロセッサに、前記現在ブロックのゼロ参照ラインに対応する第1MPM(most probable mode)リストを生成させるよう構成される第1生成コードであって、前記第1MPMリストは、複数の角度イントラ予測モードを含む、第1生成コードと、
前記プロセッサに、前記現在ブロックの1つ以上の非ゼロ参照ラインに対応する第2MPMリストを生成させるよう構成される第2生成コードであって、前記第2MPMリストは前記複数の角度イントラ予測モードを含む、第2生成コードと、
前記プロセッサに、前記ゼロ参照ラインおよび前記1つ以上の非ゼロ参照ラインの中から、前記現在ブロックを符号化するために使用される参照ラインを示す参照ラインインデックスをシグナリングさせるよう構成される第1シグナリングコードと、
前記プロセッサに、前記第1MPMリストまたは前記第2MPMリストの中の前記イントラ予測モードを示すイントラモードインデックスをシグナリングさせるよう構成される第2シグナリングコードと、
を含む、装置が提供される。
【0010】
一実施形態では、命令を記憶した非一時的コンピュータ可読媒体であって、前記命令は、符号化ビデオビットストリームの中の現在ブロックを符号化するために使用されるイントラ予測モードをシグナリングする装置の1つ以上のプロセッサにより実行されると、前記1つ以上のプロセッサに、
前記現在ブロックのゼロ参照ラインに対応する第1MPM(most probable mode)リストを生成させ、前記第1MPMリストは、複数の角度イントラ予測モードを含み、
前記現在ブロックの1つ以上の非ゼロ参照ラインに対応する第2MPMリストを生成させ、前記第2MPMリストは前記複数の角度イントラ予測モードを含み、
前記ゼロ参照ラインおよび前記1つ以上の非ゼロ参照ラインの中から、前記現在ブロックを符号化するために使用される参照ラインを示す参照ラインインデックスをシグナリングさせ、
前記第1MPMリストまたは前記第2MPMリストの中の前記イントラ予測モードを示すイントラモードインデックスをシグナリングさせる、
1つ以上の命令を含む、非一時的コンピュータ可読媒体が提供される。
【図面の簡単な説明】
【0011】
開示の主題の更なる特徴、特性、及び種々の利点は、以下の詳細な説明及び添付の図面から一層明らかになるだろう。
【0012】
【
図1】HEVCにおけるイントラ予測モードの一例の図である。
【0013】
【
図2】符号化ブロック単位に隣接する参照ラインの一例を示す図である。
【0014】
【
図3】VVCにおけるイントラ予測モードの一例の図である。
【0015】
【0016】
【
図5】一実施形態による通信システムの簡略ブロック図である。
【0017】
【
図6】一実施形態による、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置の図である。
【0018】
【
図7】一実施形態によるビデオデコーダの機能ブロック図である。
【0019】
【
図8】一実施形態によるビデオエンコーダの機能ブロック図である。
【0020】
【
図9】一実施形態による符号化ビデオビットストリームの中の現在ブロックを符号化するために使用されるイントラ予測モードをシグナリングする例示的な処理のフローチャートである。
【0021】
【
図10】一実施形態による通信システムの図である。
【発明を実施するための形態】
【0022】
複数の線の(マルチライン、Multi-line)イントラ予測モードは、イントラ予測のためのより多くの参照ラインを使用するために提案されたものであり、エンコーダは、イントラ予測器を生成するためにどの参照ラインが使用されるかを決定しシグナリングする。参照ラインインデックスは、イントラ予測モードの前にシグナリングされ、非ゼロ参照ラインインデックスがシグナリングされる場合には、最確モードだけが許可される。
図2に、4つの参照ラインの例が示される。ここで、各参照ラインは、左上の基準サンプルと一緒に、6個のセグメント、つまりSegmentA~Fで構成される。さらに、SegmentAおよびFは、それぞれSegmentBおよびEから最も近いサンプルによりパディングされる。
【0023】
図3に示すように、VVCには、全部で95個のイントラ予測モードがある。この中で、モード18は水平モードであり、モード50は垂直モードであり、モード2、モード34、モード66は対角モードである。モード-1~-14およびモード67~80は、広角イントラ予測(Wide-Angle Intra Prediction(WAIP))モードと呼ばれる。
【0024】
VTM3.0では、MPMリストのサイズは、隣接参照ライン(ゼロ参照ラインとも呼ばれる)および非隣接参照ライン(非ゼロ参照ラインとも呼ばれる)の両方について6に等しく設定される。
図4に示すように、6個のMPM候補を導出するために使用される近隣モードの位置も、隣接および非隣接参照ラインの場合と同じである。
図4で、ブロックAおよびBは、現在符号化単位の上および左の近隣符号化単位を示し、変数candIntraPredModeAおよびcandIntraPredModeBは、それぞれブロックAおよびBの関連するイントラ予測モードを示す。candIntraPredModeAおよびcandIntraPredModeBは、最初にINTRA_PLANARに等しく設定される。ブロックA(またはB)が利用可能であるとマークされた場合、candIntraPredModeA(またはcandIntraPredModeB)は、ブロックA(またはB)の実際のイントラ予測モードに等しく設定される。
【0025】
MPM候補導出処理は、隣接および非隣接参照ラインについて異なる。ゼロ参照ラインでは、2個の近隣モードの両方が平面またはDCモードである場合、規定モードがMPMリストを構成するために使用され、それらのうちの2個は平面およびDCモードであり、残りの4個のモードは角度規定モードとも呼ばれる角度モードである。非ゼロ参照ラインでは、2個の近隣モードの両方が平面またはDCモードである場合、6個の角度規定モードが、MPMリストを構成するために使用される。
【0026】
MPMリスト導出処理の一例が以下に示される。ここで、candModeList[x]、x=0.5は6個のMPM候補を示し、IntraLumaRefLineIdx[xCb][yCb]は予測されるべきブロックの参照ラインインデックスを示し、IntraLumaRefLineIdx[xCb][yCb]は0、1、または3になり得る。
【数2】
【0027】
VTM4.0では、MPMリストのサイズは6に拡張される。Intra_luma_mpm_flagがTrue(真)のとき、これは、現在モードがMPMリスト内の候補に属することを示す。以下の表1を検討する。
【表1】
【0028】
図5は、本発明の一実施形態による通信システム(300)の簡易ブロック図を示す。通信システム300は、ネットワーク550を介して相互接続される少なくとも2つの端末510~220を含んでよい。データの一方向送信では、第1端末510は、ネットワーク550を介して他の端末520へ送信するために、ビデオデータをローカルで符号化して第2端末520は、ネットワーク550から他の端末の符号化ビデオデータを受信し、符号化データを復号して、復元したビデオデータを表示してよい。単方向データ伝送は、メディアサービングアプリケーション等で共通であってよい。
【0029】
図5は、例えばビデオ会議中に生じ得る、符号化ビデオの双方向送信をサポートするために適用される第2の端末ペア530、540を示す。データの双方向送信では、各端末530、540は、ネットワーク550を介して他の端末へ送信するために、ローカルでキャプチャしたビデオデータを符号化してよい。各端末530、540は、また、他の端末により送信された符号化ビデオデータを受信してよく、符号化データを復号してよく、および復元したビデオデータをローカルディスプレイ装置で表示してよい。
【0030】
図5では、端末装置510~540は、サーバ、パーソナルコンピュータ、及びスマートフォンとして示されてよいが、本開示の原理はこれらに限定されない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレイヤ、及び/又は専用ビデオ会議設備による適用がある。ネットワーク550は、端末装置510~540の間で符号化ビデオデータを運ぶ任意の数のネットワークを表し、例えば有線及び/又は無線通信ネットワークを含む。通信ネットワーク550は、回線切り替え及び/又はパケット切り替えチャネルでデータを交換してよい。代表的なネットワークは、電子通信ネットワーク、ローカルエリアネットワーク、広域ネットワーク、及び/又はインターネットを含む。本発明の議論の目的で、ネットワーク550のアーキテクチャ及びトポロジは、以下で特に断りの無い限り、本開示の動作にとって重要でないことがある。
【0031】
図6は、開示の主題の適用の一例として、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダの配置を示す。開示の主題は、例えばビデオ会議、デジタルTV、CD、DVD、メモリスティック、等を含むデジタル媒体への圧縮ビデオの格納、他のビデオ可能アプリケーション、等に等しく適用可能である。
【0032】
ストリーミングシステムは、例えば非圧縮ビデオサンプルストリーム602を生成するビデオソース601、例えばデジタルカメラを含み得るキャプチャサブシステム613を含んでよい。サンプルストリーム602は、符号化ビデオビットストリームと比べるとき高データ容量を強調するために太線で示され、カメラ601に結合されるエンコーダ603により処理できる。エンコーダ603は、ハードウェア、ソフトウェア、又はそれらの組み合わせを含み、以下に詳述するように開示の主題の態様を可能にし又は実装することができる。符号化ビデオビットストリーム604は、サンプルストリームと比べたとき、低データ容量を強調するために細線で示され、将来の使用のためにストリーミングサーバ605に格納できる。1つ以上のストリーミングクライアント606、608は、ストリーミングサーバ605にアクセスして、符号化ビデオビットストリーム604のコピー607、609を読み出すことができる。クライアント606は、ビデオデコーダ610を含むことができる。ビデオデコーダ310は、符号化ビットストリーム607の入来するコピーを復号し、ディスプレイ612または他のレンダリング装置(図示しない)においてレンダリング可能な出力ビデオサンプルストリーム611を生成する。幾つかのストリーミングシステムでは、ビデオビットストリーム604、607、609は、特定のビデオ符号化/圧縮標準に従い符号化できる。これらの標準の例は、ITU-T Recommendation H.265を含む。策定中のビデオ符号化標準は、略式にVVC(Versatile Video Coding)として知られている。開示の主題は、VVCの文脈で使用されてよい。
【0033】
図7は、本開示の一実施形態によるビデオデコーダ610のブロック図を示す。
【0034】
受信機710は、ビデオデコーダ610により符号化されるべき1つ以上の符号化ビデオシーケンス、同じ又は別の実施形態では、一度に1つの符号化ビデオシーケンスを受信してよい。ここで、各符号化ビデオシーケンスの復号は、他の符号化ビデオシーケンスと独立している。符号化ビデオシーケンスは、符号化ビデオデータを格納する記憶装置へのハードウェア/ソフトウェアリンクであってよいチャネル712から受信されてよい。受信機710は、他のデータ、例えば、それぞれの使用エンティティ(図示しない)へと転送され得る符号化音声データ及び/又は付随的データストリームと共に、符号化ビデオデータを受信してよい。受信機710は、他のデータから符号化ビデオシーケンスを分離してよい。ネットワークジッタを除去するために、バッファメモリ715は、受信機710とエントロピーデコーダ/パーサ720(以後、「パーサ420」)との間に結合されてよい。受信機710が、十分な帯域幅の記憶/転送装置から制御可能に、又はアイソクロナス(isochronous)ネットワークから、データを受信しているとき、バッファ715は、必要なくてよく又は小さくできる。インターネットのようなベストエフォート型パケットネットワークで使用する場合、バッファ715が必要であってよく、比較的大きくすることができ、有利なことに適応サイズにすることができる。
【0035】
ビデオデコーダ610は、符号化ビデオシーケンスからシンボル721を再構成するために、パーサ720を含んでよい。これらのシンボルのカテゴリは、ビデオデコーダ610の動作を管理するために使用される情報、および場合によっては
図7に示したようにデコーダの統合部分ではないがデコーダに結合され得るディスプレイ612のようなレンダリング装置を制御するための情報を含む。レンダリング装置のための制御情報は、SEI(Supplementary Enhancement Information)メッセージ又はVUI(Video Usability Information)パラメータセットフラグメント(図示しない)の形式であってよい。パーサ720は、受信された符号化ビデオシーケンスをパース/エントロピー復号してよい。符号化ビデオシーケンスの符号化は、ビデオ符号化技術又は標準に従うことができ、可変長符号化、ハフマン符号化、コンテキスト依存性を有する又は有しない算術符号化、等を含む、当業者によく知られた原理に従うことができる。パーサ720は、符号化ビデオシーケンスから、ビデオデコーダの中のピクセルのサブグループのうちの少なくとも1つについて、該グループに対応する少なくとも1つのパラメータに基づき、サブグループパラメータのセットを抽出してよい。サブグループは、GOP(Groups of Picture)、ピクチャ、タイル、スライス、マクロブロック、符号化単位(Coding Units:CU)、ブロック、変換単位(Transform Units:TU)、予測単位(Prediction Units:PU)、等を含み得る。エントロピーデコーダ/パーサは、符号化ビデオシーケンスから、変換係数、量子化パラメータ(quantizer parameter(QP))値、動きベクトル、等のような情報も抽出してよい。
【0036】
パーサ720は、バッファ715から受信したビデオシーケンスに対してエントロピー復号/パース動作を実行して、シンボル721を生成してよい。パーサ720は、符号化データを受信し、および特定のシンボル721を選択的に復号してよい。さらに、パーサ720は、特定のシンボル721が動き補償予測ユニット753、スケーラ/逆変換ユニット751、イントラ予測ユニット752、またはループフィルタ756に提供されるべきか否かを決定してよい。
【0037】
シンボル721の再構成は、符号化ビデオピクチャ又はその部分の種類(例えば、インター及びイントラピクチャ、インター及びイントラブロック)及び他の要因に依存して、複数の異なるユニットを含み得る。どのユニットがどのように含まれるかは、パーサ720により符号化ビデオシーケンスからパースされたサブグループ制御情報により制御できる。パーサ720と以下の複数のユニットとの間のこのようなサブグループ制御情報のフローは、明確さのために示されない。
【0038】
既に言及した機能ブロックを超えて、デコーダ610は、後述のように、多数の機能ユニットに概念的に細分化できる。商用的制約の下で動作する実際の実装では、これらのユニットの多くは、互いに密に相互作用し、少なくとも部分的に互いに統合され得る。しかしながら、開示の主題を説明する目的で、機能ユニットへの以下の概念的細分化は適切である。
【0039】
第1ユニットは、スケーラ/逆変換ユニット751である。スケーラ/逆変換ユニット751は、量子化された変換係数、及び、どの変換が使用されるべきか、ブロックサイズ、量子化係数、量子化スケーリングマトリクス、等を含む制御情報を、パーサ720からのシンボル621として受信する。これは、アグリゲータ755に入力され得るサンプル値を含むブロックを出力できる。
【0040】
幾つかの例では、スケーラ/逆変換ユニット751の出力サンプルは、イントラ符号化ブロック、つまり、前に再構成されたピクチャからの予測情報を使用しないが現在ピクチャの前に再構成された部分からの予測情報を使用可能なブロック、に属することができる。このような予測情報は、イントラピクチャ予測ユニット752により提供できる。幾つかの場合には、イントラピクチャ予測ユニット752は、再構成中のブロックと同じサイズ及び形状のブロックを、現在(部分的に再構成された)ピクチャ756からフェッチした周囲の既に再構成された情報を用いて、生成する。アグリゲータ755は、幾つかの場合には、サンプル毎に、イントラ予測ユニット752の生成した予測情報を、スケーラ/逆変換ユニット751により提供された出力サンプル情報に追加する。
【0041】
他の場合には、スケーラ/逆変換ユニット751の出力サンプルは、インター符号化された、場合によっては動き補償されたブロックに関連し得る。このような場合には、動き補償予測ユニット753は、参照ピクチャメモリ757にアクセスして、予測のために使用されるサンプルをフェッチできる。ブロックに関連するシンボル721に従いフェッチしたサンプルを動き補償した後に、これらのサンプルは、アグリゲータ755により、出力サンプル情報を生成するために、スケーラ/逆変換ユニットの出力に追加され得る(この場合、残差サンプル又は残差信号と呼ばれる)。動き補償予測ユニットが予測サンプルをフェッチする参照ピクチャメモリ内のアドレスは、例えばX、Y及び参照ピクチャコンポーネントを有し得るシンボル721の形式で、動き補償予測ユニットの利用可能な動きベクトルにより制御できる。動き補償は、サブサンプルの正確な動きベクトルが使用中であるとき参照ピクチャメモリからフェッチされたサンプル値の補間、動きベクトル予測メカニズム、等も含み得る。
【0042】
アグリゲータ755の出力サンプルは、ループフィルタユニット756において種々のループフィルタリング技術を受け得る。ビデオ圧縮技術は、符号化ビデオビットストリームに含まれ且つパーサ720からのシンボル721としてループフィルタユニット756に利用可能にされたパラメータにより制御されるが、符号化ピクチャ又は符号化ビデオシーケンスの(復号順序で)前の部分の復号中に取得されたメタ情報にも応答し、前に再構成されループフィルタリングされたサンプル値にも応答し得るインループフィルタ技術を含み得る。
【0043】
ループフィルタユニット756の出力は、レンダー装置612へと出力でき及び将来のインターピクチャ予測で使用するために参照ピクチャメモリ756に格納され得るサンプルストリームであり得る。
【0044】
特定の符号化ピクチャは、一旦完全に再構成されると、将来の予測のための参照ピクチャとして使用できる。符号化ピクチャが完全に再構成され、符号化ピクチャが(例えばパーサ720により)参照ピクチャとして識別されると、現在参照ピクチャ656は、参照ピクチャメモリ757の一部になることができ、後続の符号化ピクチャの再構成を開始する前に、新鮮な現在ピクチャメモリを再割り当てできる。
【0045】
ビデオデコーダ610は、ITU-T Rec. H.265のような標準で策定された所定のビデオ圧縮技術に従い復号動作を実行してよい。符号化ビデオシーケンスが、ビデオ圧縮技術又は標準で、具体的にはその中のプロファイル文書で指定された、ビデオ圧縮技術又は標準のシンタックスに従うという意味で、符号化ビデオシーケンスは、使用中のビデオ圧縮技術又は標準により指定されたシンタックスに従ってよい。また、遵守のために必要なことは、符号化ビデオシーケンスの複雑さが、ビデオ圧縮技術又は標準のレベルにより定められる限界の範囲内であることであり得る。幾つかの場合には、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えばメガサンプル/秒で測定される)、最大参照ピクチャサイズ、等を制限する。レベルにより設定される限界は、幾つかの場合には、HRD(Hypothetical Reference Decoder)仕様及び符号化ビデオシーケンスの中でシグナリングされるHDRバッファ管理のためのメタデータを通じて更に制限され得る。
【0046】
一実施形態では、受信機710は、符号化ビデオと共に追加(冗長)データを受信してよい。追加データは、符号化ビデオシーケンスの部分として含まれてよい。追加データは、データを正しく復号するため及び/又は元のビデオデータをより正確に再構成するために、ビデオデコーダ610により使用されてよい。追加データは、例えば、時間的、空間的、又は信号雑音比(SNR)の拡張レイヤ、冗長スライス、冗長ピクチャ、前方誤り訂正符号、等の形式であり得る。
【0047】
図8は、本開示の一実施形態によるビデオエンコーダ603の機能ブロック図であり得る。
【0048】
エンコーダ603は、ビデオサンプルを、エンコーダ603により符号化されるべきビデオ画像をキャプチャし得るビデオソース601(エンコーダの部分ではない)から受信してよい。
【0049】
ビデオソース601は、エンコーダ603により符号化されるべきソースビデオシーケンスを、任意の適切なビット深さ(例えば、8ビット、10ビット、12ビット、...)、任意の色空間(例えば、BT.601 Y CrCB, RGB,...)、及び任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0, Y CrCb 4:4:4)のデジタルビデオサンプルストリームの形式で、提供してよい。メディア提供システムでは、ビデオソース601は、前に準備されたビデオを格納する記憶装置であってよい。ビデオ会議システムでは、ビデオソース603は、ビデオシーケンスとしてローカル画像情報をキャプチャするカメラであってよい。ビデオデータは、続けて閲覧されると動きを与える複数の個別ピクチャとして提供されてよい。ピクチャ自体は、ピクセルの空間的配列として組織化されてよい。各ピクセルは、使用中のサンプリング構造、色空間、等に依存して、1つ以上のサンプルを含み得る。当業者は、ピクセルとサンプルとの間の関係を直ちに理解できる。以下の説明はサンプルに焦点を当てる。
【0050】
一実施形態によると、エンコーダ603は、ソースビデオシーケンスのピクチャを、符号化ビデオシーケンス843へと、リアルタイムに又はアプリケーションにより要求される任意の他の時間制約の下で符号化し圧縮してよい。適切な符号化速度の実施は、制御部850の1つの機能である。制御部は、後述するように他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。結合は、明確さのために図示されない。制御部により設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、...)、ピクチャサイズ、GOP(group of pictures)レイアウト、最大動きベクトル探索範囲、等を含み得る。当業者は、特定のシステム設計のために最適化されたビデオエンコーダ603に関連し得るとき、制御部850の他の機能を直ちに識別できる。
【0051】
幾つかのビデオエンコーダは、当業者が「符号化ループ」として直ちに認識する中で動作する。非常に簡略化した説明として、符号化ループは、エンコーダ830(以後、「ソースコーダ」)(符号化されるべき入力ピクチャと参照ピクチャとに基づき、シンボルを生成する)およびエンコーダ603内に組み込まれ、シンボルを再構成して、(シンボルと符号化ビデオビットストリームとの間の任意の圧縮が開示の主題において考慮されるビデオ圧縮技術の中で無損失であるとき)(リモート)デコーダが生成し得るサンプルデータを生成する(ローカル)デコーダ833の符号化部分を含むことができる。再構成されたサンプルストリームは、参照ピクチャメモリ834に入力される。シンボルストリームの復号が、デコーダ位置(ローカル又はリモート)と独立にビット正確な結果をもたらすとき、参照ピクチャバッファの内容も、ローカルエンコーダとリモートエンコーダとの間でビット正確である。言い換えると、エンコーダの予測部分が、復号中に予測を用いるときデコーダが「見る」のと正確に同じサンプル値を、参照ピクチャサンプルとして「見る」。参照ピクチャ同期性のこの基本原理(及び、例えばチャネルエラーのために同期性が維持できない場合には、結果として生じるドリフト)は、当業者によく知られている。
【0052】
「ローカル」デコーダ833の動作は、
図7と関連して以上に詳述した「リモート」デコーダ610のものと同じであり得る。簡単に
図6も参照すると、しかしながら、シンボルが利用可能であり、エントロピーコーダ845及びパーサ720による符号化ビデオシーケンスへのシンボルの符号化/復号が無損失であり得るので、チャネル712、受信機710、バッファ715、およびパーサ720を含むデコーダ610のエントロピー復号部分は、ローカルデコーダ833に完全に実装されなくてよい。
【0053】
この点で行われる考察は、デコーダ内に存在するパース/エントロピー復号を除く任意のデコーダ技術も、対応するエンコーダ内と実質的に同一の機能形式で存在する必要があるということである。エンコーダ技術の説明は、それらが包括的に説明されるデコーダ技術の逆であるので、省略できる。特定の領域においてのみ、より詳細な説明が必要であり、以下に提供される。
【0054】
動作中、幾つかの例では、ソースコーダ830は、動き補償された予測符号化を実行してよい。これは、「参照フレーム」として指定されたビデオシーケンスからの1つ以上の前に符号化されたフレームを参照して予測的に入力フレームを符号化する。この方法では、符号化エンジン832は、入力フレームのピクセルブロックと、入力フレームに対する予測基準として選択されてよい参照フレームのピクセルブロックとの間の差分を符号化する。
【0055】
ローカルビデオデコーダ833は、ソースコーダ830により生成されたシンボルに基づき、参照フレームとして指定されてよいフレームの符号化ビデオデータを復号してよい。符号化エンジン832の動作は、有利なことに、損失処理であってよい。符号化ビデオデータがビデオデコーダ(
図6に図示されない)において復号され得るとき、再構成ビデオシーケンスは、標準的に、幾つかのエラーを有するソースビデオシーケンスの複製であってよい。ローカルビデオデコーダ833は、参照フレームに対してビデオデコーダにより実行され得る復号処理を複製し、参照ピクチャキャッシュ834に格納されるべき再構成参照フレームを生じ得る。このように、エンコーダ603は、(伝送誤りが無ければ)遠端ビデオデコーダにより取得される再構成参照フレームと共通の内容を有する再構成参照フレームのコピーをローカルに格納してよい。
【0056】
予測器835は、符号化エンジン832のために予測探索を実行してよい。つまり、符号化されるべき新しいフレームについて、予測器835は、新しいピクチャのための適切な予測基準として機能し得る(候補参照ピクセルブロックのような)サンプルデータ又は参照ピクチャ動きベクトル、ブロック形状、等のような特定のメタデータについて、参照ピクチャメモリ834を検索してよい。予測器835は、適切な予測基準を見付けるために、サンプルブロック-ピクセルブロック毎に動作してよい。幾つかの例では、予測器835により取得された検索結果により決定されるように、入力ピクチャは、参照ピクチャメモリ834に格納された複数の参照ピクチャから引き出された予測基準を有してよい。
【0057】
制御部850は、例えば、ビデオデータの符号化のために使用されるパラメータ及びサブグループパラメータの設定を含む、ビデオコーダ830の符号化動作を管理してよい。
【0058】
全ての前述の機能ユニットの出力は、エントロピーコーダ845におけるエントロピー符号化を受けてよい。エントロピーコーダ545は、ハフマン符号化、可変長符号化、算術符号化、等のような当業者によく知られた技術に従いシンボルを無損失圧縮することにより、種々の機能ユニットにより生成されたシンボルを、符号化ビデオシーケンスへと変換する。
【0059】
送信機840は、符号化ビデオデータを格納し得る記憶装置へのハードウェア/ソフトウェアリンクであってよい通信チャネル860を介する伝送のために準備するために、エントロピーコーダ845により生成された符号化ビデオシーケンスをバッファリングしてよい。送信機840は、ビデオコーダ830からの符号化ビデオデータを、送信されるべき他のデータ、例えば符号化音声データ及び/又は補助データストリーム(図示されないソース)と融合(merge)してよい。
【0060】
制御部850は、エンコーダ603の動作を管理してよい。符号化中、制御部850は、それぞれのピクチャに適用され得る符号化技術に影響し得る特定の符号化ピクチャタイプを、各符号化ピクチャに割り当ててよい。例えば、ピクチャは、多くの場合、以下のピクチャタイプのうちの1つとして割り当てられてよい。
【0061】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の任意の他のピクチャを使用せずに符号化及び復号され得るピクチャであってよい。幾つかのビデオコーデックは、例えばIDR(Independent Decoder Refresh)ピクチャを含む異なる種類のイントラピクチャを許容する。当業者は、Iピクチャの変形、及びそれらの個々の適用及び特徴を認識する。
【0062】
予測ピクチャ(Pピクチャ)は、殆どの場合、各ブロックのサンプル値を予測するために1つの動きベクトル及び参照インデックスを用いてイントラ予測又はインター予測を用いて符号化及び復号され得るピクチャであってよい。
【0063】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために最大2つの動きベクトル及び参照インデックスを用いてイントラ予測又はインター予測を用いて符号化及び復号され得るピクチャであってよい。同様に、マルチ予測ピクチャは、単一のブロックの再構成のために、2つより多くの参照ピクチャ及び関連付けられたメタデータを使用できる。
【0064】
ソースピクチャは、共通に、複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8、又は16×16個のサンプルのブロック)に空間的に細分化され、ブロック毎に符号化されてよい。ブロックは、ブロックのそれぞれのピクチャに適用される符号化割り当てにより決定される他の(既に符号化された)ブロックへの参照により予測的に符号化されてよい。例えば、Iピクチャのブロックは、非予測的に符号化されてよく、又はそれらは同じピクチャの既に符号化されたブロックを参照して予測的に符号化されてよい(空間予測又はイントラ予測)。Pピクチャのピクセルブロックは、1つの前に符号化された参照ピクチャを参照して、空間予測を介して又は時間予測を介して、予測的に符号化されてよい。Bピクチャのブロックは、1つ又は2つの前に符号化された参照ピクチャを参照して、空間予測を介して又は時間予測を介して、非予測的に符号化されてよい。
【0065】
ビデオコーダ603は、ITU-T Rec. H.265のような所定のビデオ符号化技術又は標準に従い符号化動作を実行してよい。その動作において、ビデオコーダ603は、入力ビデオシーケンスの中の時間的及び空間的冗長性を利用する予測符号化動作を含む種々の圧縮動作を実行してよい。符号化ビデオデータは、したがって、使用されているビデオ符号化技術又は標準により指定されたシンタックスに従ってよい。
【0066】
一実施形態では、送信機840は、符号化ビデオと共に追加データを送信してよい。ビデオコーダ830は、このようなデータを符号化ビデオシーケンスの部分として含んでよい。追加データは、時間/空間/SNR拡張レイヤ、冗長ピクチャ及びスライスのような他の形式の冗長データ、SEI(Supplementary Enhancement Information)メッセージ、VUI(Visual Usability Information)パラメータセットフラグメント、等を含んでよい。
【0067】
上述のように、VTM3.0では、MPMリスト候補導出処理は、隣接参照ラインと非隣接参照ラインとで異なってよい。その結果、MPMリスト候補導出処理は、符号化効率において明確な利益を有しない各々の場合に複雑になり得る。
【0068】
さらに、VTM3.0では、シグナリングされた参照ラインインデックスが0であり、左および上近隣モードのうちの一方がDCモード以下であり、左および上近隣モードのうちの他方がDCモードより大きいとき、左近隣モードは、常にMPMリストに挿入され、上近隣モードが平面またはDCモードである場合でも、上近隣モードが続く。これは、最適解ではなくてよい。なぜなら、平面およびDCモードは、統計から最も頻繁に使用されるイントラ予測モードだからである。
【0069】
提案される方法は、別個に使用され、または任意の順序で結合されてよい。実施形態では、最も近い参照ラインのラインインデックスが0であってよく、最も近い参照ラインが、ゼロ参照ラインと呼ばれてよい。他のラインは、非ゼロ参照ラインと呼ばれてよい。後述するように、candModeListはMPMリストを示してよく、RefLineIdxは現在ブロックの参照ラインインデックスを示してよく、candIntraPredModeAおよびcandIntraPredModeBは左および上近隣モードを示してよい。1個の近隣モードが平面またはDCモードではない、またはVVC draft2で定められるイントラ予測モード2~66のように、1個の近隣モードが所与の予測方向に従い予測サンプルを生成している場合、このモードは角度モードと呼ばれてよい。1個のモードが平面またはDCモードである場合、このモードは非角度モードと呼ばれてよい。各イントラ予測モードは、イントラ予測モードインデックスと呼ばれ得るモード番号に関連付けられる。例えば、平面、DC、水平、および垂直イントラ予測モードは、それぞれモード番号0、1、18、および50に関連付けられてよい。
【0070】
一実施形態では、変数minABおよびmaxABは以下の通り導出されてよい:
【数3】
【0071】
一実施形態では、変数offsetおよびmodは、以下の2つのシナリオのいずれか1つに従い設定されてよい:offset=61, mod=64; offset=62, mod=65。
【0072】
一実施形態では、非ゼロ参照ラインインデックスがシグナリングされるとき、MPMリスト候補は、左と上の近隣モードの間の絶対モード番号差が所与の閾値より大きい場合に、同じルールを用いて導出されてよい。
【0073】
一実施形態では、所与の閾値は0であってよく、これは、MPMリスト候補が、左と上の近隣モードの間のモード番号差に関わらず同じルールを用いて導出されることを意味する。
【0074】
別の実施形態では、左と上の近隣モードが両方とも角度モードであり、所与の閾値は1、2、または3であってよい。一例では、MPMリスト候補は以下のように導出されてよい。
【数4】
【0075】
別の実施形態では、左と上の近隣モードが両方とも角度モードであり、これら2個のモードのモード番号差が1または2に等しく、MPMリスト候補は同じルールを用いて導出されてよい。一例では、MPMリスト候補は以下のように導出されてよい。
【数5】
【0076】
別の実施形態では、左と上の近隣モードが等しくない場合、MPMリスト候補は、左と上の近隣モードの間のモード番号差に関わらず同じルールを用いて導出されてよい。
【0077】
一実施形態では、左と上の近隣モードが両方とも角度モードであるが、それらが等しくない場合、MPMリスト候補は、左と上の近隣モードの間のモード番号差に関わらず同じルールを用いて導出される。
【0078】
一例では、6個のMPMリスト候補が以下のように導出されてよい。
【数6】
【0079】
別の例では、6個のMPMリスト候補が以下のように導出されてよい。
【数7】
【0080】
別の例では、6個のMPMリスト候補が以下のように導出されてよい。
【数8】
【0081】
別の例では、6個のMPMリスト候補が以下のように導出されてよい。
【数9】
【0082】
別の実施形態では、左と上の近隣モードのうちの少なくとも1つ角度モードである場合、MPMリスト候補は、左と上の近隣モードの間のモード番号差に関わらず同じルールを用いて導出されてよい。
【0083】
実施形態では、2つの近隣モードの両方が角度モードであるとき、非ゼロ参照ラインのMPMリストの中には重複するモード候補が存在してよい。
【0084】
一実施形態では、2つの近隣モードの両方が角度モードであり、これら2つの近隣モードのモード番号差の絶対値が1または2に等しい、または正整数、例えば61、62、63、または64のうちの1つであってよいThresより大きいとき、非ゼロ参照ラインのMPMリストの中には重複するモード候補が存在する。
【0085】
別の実施形態では、ゼロ参照ラインのMPMリストの中に重複する候補が存在しないと制限されてよい。
【0086】
別の実施形態では、2つの近隣モードの両方が角度モードであり等しくないとき、非ゼロ参照ラインのMPMリストの中には重複するモード候補が存在してよい。
【0087】
一実施形態では、ゼロ参照ラインMPMリストを構成するために使用される角度モードは、非ゼロラインMPMリストのために再利用されてよく、これらの角度MPMモードは、ゼロおよび非ゼロ参照ラインMPMリストの両方について同じインデックスを有してよい。
【0088】
一例では、ゼロラインのMPMリストは、{26,18,0,1,25,27}であってよく、26,18,25,および27は角度モードである。したがって、非ゼロラインでは、これらの4個の角度モードも、同じインデックスで使用されてよく、非ゼロラインのMPMリストの一例は、{26,18,17,19,25,27}であってよい。
【0089】
一実施形態では、ゼロ参照ラインMPMリストを構成するために使用される規定角度モードは、非ゼロラインMPMリストのために再利用されてよく、これらの角度MPMモードは、ゼロおよび非ゼロ参照ラインMPMリストの両方について同じインデックスを有してよい。変数Kは正整数である。一例では、Kは4に等しい。
【0090】
一例では、ゼロおよび非ゼロ参照ラインの規定モードは、それぞれ、{平面,DC,垂直,水平,垂直-K,垂直+K}、{2,34,垂直,水平,垂直-K,垂直+K}である。これは、以下のように定式化できる。
【数10】
【0091】
別の例では、ゼロおよび非ゼロ参照ラインの規定モードは、以下のように定式化されてよい。ここで、candIntraPredModeAは平面またはDCモードに等しい。
【数11】
【0092】
一実施形態では、一方の近隣モードが平面またはDCモードである、または任意の非角度モードであり、他方の近隣モードが角度モードである場合、平面またはDCモードは、インデックス0と共にMPMリストに常に最初に挿入されてよく、角度近隣モードは、インデックス1と共にMPMリストに常に2番目に挿入されてよい。
【0093】
一実施形態では、ゼロ参照ラインインデックスがシグナリングされる場合、平面モードは、インデックス0と共にMPMリストに常に最初に挿入されてよく、角度近隣モードは、インデックス1と共にMPMリストに常に2番目に挿入されてよく、DCモードは、インデックス2と共にMPMリストに常に3番目に挿入されてよい。一例は以下に示される。
【数12】
【0094】
別の実施形態では、ゼロ参照インデックスがシグナリングされる場合、非角度近隣モードは、インデックス0と共にMPMリストに常に最初に挿入されてよく、角度近隣モードは、インデックス1と共にMPMリストに常に2番目に挿入されてよく、インデックス2を有するMPM候補は常に(1-candModeList[0])に等しく設定されてよい。一例は以下に示される。
【数13】
【0095】
別の実施形態では、ゼロ参照ラインインデックスがシグナリングされる場合、角度近隣モードは、インデックス0と共にMPMリストに常に最初に挿入されてよく、非角度近隣モードは、インデックス1と共にMPMリストに常に2番目に挿入されてよく、インデックス2を有するMPM候補は常に(1-candModeList[1])に等しく設定されてよい。一例は以下に示される。
【数14】
【0096】
【0097】
一実施形態では、ゼロ参照ラインについて、一方の近隣ブロックが非角度モード、例えば平面モード、DCモード、インターモード、イントラ-インターモード、またはCPRモードに関連付けられ、他方の近隣モードが角度モードである場合、平面またはDCモードがMPMリストの中で角度近隣モードより前に配置されるか否かは、角度近隣モードのモード番号に依存する。
【0098】
一実施形態では、角度近隣モードが垂直モードまたは水平モードである場合、角度近隣モードは、インデックス0と共にMPMリストに最初に挿入され、平面またはDCモードはインデックス1と共にMPMリストに2番目に挿入される。その他の場合、平面またはDCモードはインデックス0と共にMPMリストに最初に挿入され、角度近隣モードはインデックス1と共にMPMリストに2番目に挿入される。別の例は以下に示される。
【数16】
【0099】
一実施形態では、角度近隣モードが垂直モードまたは水平モードまたは対角モードである、例えばモード2、34、66である場合、角度近隣モードは、インデックス0と共にMPMリストに最初に挿入され、平面またはDCモードはインデックス1と共にMPMリストに2番目に挿入される。その他の場合、平面またはDCモードはインデックス0と共にMPMリストに最初に挿入され、角度近隣モードはインデックス1と共にMPMリストに2番目に挿入される。
【0100】
一実施形態では、角度近隣モードが垂直モードまたは水平モードである場合、角度近隣モードは、インデックス0と共にMPMリストに最初に挿入され、平面またはDCモードはインデックス1と共にMPMリストに2番目に挿入される。その他の場合、現在ブロックの左に隣接するブロックの左近隣モードは、インデックス0と共にMPMリストに最初に挿入され、現在ブロックの上にあるブロックの上近隣モードは、インデックス1と共にMPMリストに2番目に挿入される。一例は以下に示される。
【数17】
【0101】
一実施形態では、角度近隣モードが垂直モードまたは水平モードまたは対角モードである、例えばモード2、34、66である場合、角度近隣モードは、インデックス0と共にMPMリストに最初に挿入され、平面またはDCモードはインデックス1と共にMPMリストに2番目に挿入される。その他の場合、左近隣モードはインデックス0と共にMPMリストに最初に挿入され、上近隣モードはインデックス1と共にMPMリストに2番目に挿入される。
【0102】
一実施形態では、角度近隣モードが補間を用いて分数位置において予測サンプルを生成しないモードである場合、例えばモード2、34、66、水平、垂直、72、76、78、80、-6、-10、-12、-14である場合、角度近隣モードは、インデックス0と共にMPMリストに最初に挿入され、平面またはDCモードはインデックス1と共にMPMリストに2番目に挿入される。その他の場合、平面またはDCモードはインデックス0と共にMPMリストに最初に挿入され、角度近隣モードはインデックス1と共にMPMリストに2番目に挿入される。
【0103】
一実施形態では、平面またはDCモードがMPMリストの中で角度近隣モードより前に配置されるか否かの決定も、近隣角度モードの位置に、例えば左近隣ブロックまたは上近隣ブロックに由来するか否かに依存する。
【0104】
一実施形態では、左角度近隣モードが垂直モードである、または上角度近隣モードが水平モードである場合、角度近隣モードは、インデックス0と共にMPMリストに最初に挿入され、平面またはDCモードはインデックス1と共にMPMリストに2番目に挿入される。その他の場合、平面またはDCモードはインデックス0と共にMPMリストに最初に挿入され、角度近隣モードはインデックス1と共にMPMリストに2番目に挿入される。
【0105】
一実施形態では、左角度近隣モードが水平と類似する(horizontal-like)モードであり、補間を用いて分数位置において予測サンプルを生成しない場合、例えばモード2、水平、-6、-10、-12、-14である場合、角度近隣モードは、インデックス0と共にMPMリストに最初に挿入され、平面またはDCモードはインデックス1と共にMPMリストに2番目に挿入される。その他の場合、平面またはDCモードはインデックス0と共にMPMリストに最初に挿入され、角度近隣モードはインデックス1と共にMPMリストに2番目に挿入される。
【0106】
一実施形態では、上角度近隣モードが垂直と類似する(vertical-like)モードであり、補間を用いて分数位置において予測サンプルを生成しないモードである場合、例えばモード66、垂直、72、76、78、80である場合、角度近隣モードは、インデックス0と共にMPMリストに最初に挿入され、平面またはDCモードはインデックス1と共にMPMリストに2番目に挿入される。その他の場合、平面またはDCモードはインデックス0と共にMPMリストに最初に挿入され、角度近隣モードはインデックス1と共にMPMリストに2番目に挿入される。
【0107】
図9は、符号化ビデオビットストリームの中の現在ブロックを符号化するために使用されるイントラ予測モードをシグナリングする例示的な処理900のフローチャートである。幾つかの実装では、
図9の1つ以上の処理ブロックは、デコーダ610により実行されてよい。幾つかの実装では、
図9の1つ以上の処理ブロックは、エンコーダ603のような、デコーダ610と別個のまたはそれを含む別の装置または装置のグループにより実行されてよい。
【0108】
図9に示すように、処理900は、現在ブロックのゼロ参照ラインに対応する第1最確モード(most probable mode(MPM))リストを生成するステップを含んでよい(ブロック910)。第1MPMリストは、複数の角度イントラ予測モードを含んでよい。
【0109】
図9に示すように、処理900は、現在ブロックの1つ以上の非ゼロ参照ラインに対応する第2MPMリストを生成するステップを含んでよい(ブロック920)。第2MPMリストは、複数の角度イントラ予測モードを含んでよい。
【0110】
図9にさらに示されるように、処理900は、ゼロ参照ラインおよび1つ以上の非ゼロ参照ラインの中から、現在ブロックを符号化するために使用される参照ラインを示す参照ラインインデックスをシグナリングするステップを含んでよい(ブロック930)。
【0111】
図9に更に示されるように、処理900は、参照ラインインデックスが参照ラインはゼロ参照ラインであることを示すか否かを決定するステップを含んでよい(ブロック940)。参照ラインインデックスが、参照ラインはゼロ参照ラインであると示すことに基づき、処理900は、次に、第1MPMリストの中から、イントラ予測モードを示すイントラモードインデックスをシグナリングしてよい(ブロック950)。参照ラインインデックスが、参照ラインは1つ以上の非ゼロ参照ラインのうちの1つであると示すことに基づき、処理900は、次に、第2MPMリストの中から、イントラ予測モードを示すイントラモードインデックスをシグナリングしてよい(ブロック950)。
【0112】
一実施形態では、第1MPMリストは、1つ以上の非角度イントラ予測モードを更に含み、第2MPMリストは、1つ以上の非角度イントラ予測モードを含まない。
【0113】
一実施形態では、1つ以上の非角度イントラ予測モードは、平面モードおよびDCモードのうちの少なくとも1つを含む。
【0114】
一実施形態では、第1MPMリストは、複数の角度イントラ予測モードに対応する第1の複数のインデックスを含み、第2MPMリストは、複数の角度イントラ予測モードに対応する第2の複数のインデックスを含み、第1の複数のインデックスは、第2の複数のインデックスと同じである。
【0115】
一実施形態では、複数の角度イントラ予測モードは、第1角度イントラ予測モードおよび第2角度イントラ予測モードを含み、第1角度イントラ予測モードは、第1の複数のインデックスのうちの第1インデックスに対応し、第2角度イントラ予測モードは、第1の複数のインデックスのうちの第2インデックスに対応し、第1角度イントラ予測モードは、第2の複数のインデックスのうちの第1インデックスに対応し、第2角度イントラ予測モードは、第2の複数のインデックスのうちの第2インデックスに対応し、第1の複数のインデックスのうちの第1インデックスは、第2の複数のインデックスのうちの第1インデックスと同じであり、第1の複数のインデックスのうちの第2インデックスは、第2の複数のインデックスのうちの第2インデックスと同じである。
【0116】
一実施形態では、現在ブロックの第1近隣ブロックの第1近隣モードが非角度モードであることに基づき、および現在ブロックの第2近隣ブロックの第2近隣モードが角度モードであることに基づき、第1MPMリストの第1イントラ予測モードは非角度モードであってよく、第1MPMリストの第2イントラ予測モードは前記角度モードであってよい。
【0117】
一実施形態では、第1近隣モードがDCモードであることに基づき、および参照ラインインデックスが、参照ラインがゼロ参照ラインであることを示すことに基づき、第1MPMリストの第1イントラ予測モードは、DCモードである。
【0118】
一実施形態では、第1近隣モードが平面モードであることに基づき、および参照ラインインデックスが、参照ラインがゼロ参照ラインであることを示すことに基づき、第1MPMリストの第1イントラ予測モードは、平面モードであってよい。
【0119】
一実施形態では、参照ラインインデックスが、参照ラインがゼロ参照ラインであることを示すことに基づき、第1MPMリストの第1イントラ予測モードは平面モードであってよく、第1MPMリストの第2イントラ予測モードは角度モードであってよく、第1MPMリストの第3イントラ予測モードはDCモードであってよい。
【0120】
一実施形態では、参照ラインインデックスが、参照ラインがゼロ参照ラインであることと示すことに基づき、および現在ブロックの第1近隣ブロックの第1近隣モードが非角度モードであることに基づき、および現在ブロックの第2近隣ブロックの第2近隣モードが角度モードであることに基づき、第1MPMリストの第1イントラ予測モードは角度モードであってよく、第1MPMリストの第2イントラ予測モードは非角度モードであってよい。
図9は処理900の例示的なブロックを示すが、処理900は、幾つかの実装では、
図9に示されたブロックより多数のブロック、少数のブロック、または異なる配置のブロックを含んでよい。追加または代替として、処理900のブロックのうちの2つ以上は、並列に実行されてよい。
【0121】
さらに、提案した方法は、処理回路(例えば、1つ以上のプロセッサまたは1つ以上の集積回路)により実施されてよい。一例では、1つ以上のプロセッサは、提案した方法のうちの1つ以上を実行するための、非一時的コンピュータ可読媒体に格納されたプログラムを実行する。
【0122】
上述の技術は、コンピュータ可読命令を用いてコンピュータソフトウェアとして実装でき、1つ以上のコンピュータ可読媒体に物理的に格納でる。例えば、
図10は、本開示の主題の特定の実施形態を実装するのに適するコンピュータシステム1200を示す。
【0123】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク等のメカニズムにより処理されて、コンピュータ中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、等により直接又はインタープリット、マイクロコード実行、等を通じて実行可能な命令を含むコードを生成し得る、任意の適切な機械コードまたはコンピュータ言語を用いて符号化できる。
【0124】
命令は、例えばパーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム装置、モノのインターネット装置、等を含む種々のコンピュータ又はそのコンポーネントで実行できる。
【0125】
コンピュータシステム1200の
図10に示すコンポーネントは、本来例示であり、本開示の実施形態を実装するコンピュータソフトウェアの使用又は機能の範囲に対するようないかなる限定も示唆しない。さらに、コンポーネントの構成も、コンピュータシステム1200の例示的な実施形態に示されたコンポーネントのうちのいずれか又は組み合わせに関連する任意の依存性又は要件を有すると解釈されるべきではない。
【0126】
コンピュータシステム1200は、特定のヒューマンインタフェース入力装置を含んでよい。このようなヒューマンインタフェース入力装置は、例えば感覚入力(例えば、キーストローク、スワイプ、データグラブ動作)、音声入力(例えば、音声、クラッピング)、視覚的入力(例えば、ジェスチャ)、嗅覚入力(示されない)を通じた1人以上の人間のユーザによる入力に応答してよい。ヒューマンインタフェース装置は、必ずしも人間による意識的入力に直接関連する必要のない特定の媒体、例えば音声(例えば、会話、音楽、環境音)、画像(例えば、スキャンされた画像、デジタルカメラから取得された写真画像)、ビデオ(例えば、2次元ビデオ、3次元ビデオ、立体ビデオを含む)をキャプチャするためにも使用できる。
【0127】
入力ヒューマンインタフェース装置は、キーボード1001、マウス1002、トラックパッド1003、タッチスクリーン1010、データグラブ1204、ジョイスティック1005、マイクロフォン1006、スキャナ1007、カメラ1008、のうちの1つ以上を含んでよい(そのうちの1つのみが示される)。
【0128】
コンピュータシステム1200は、特定のヒューマンインタフェース出力装置も含んでよい。このようなヒューマンインタフェース出力装置は、例えば感覚出力、音声、光、及び匂い/味を通じて1人以上の人間のユーザの感覚を刺激してよい。このようなヒューマンインタフェース出力装置は、感覚出力装置(例えば、タッチスクリーン1010、データグラブ1204、又はジョイスティック1005による感覚フィードバック、しかし入力装置として機能しない感覚フィードバック装置も存在し得る)、音声出力装置(例えば、スピーカ1009、ヘッドフォン(図示しない)、視覚的出力装置(例えば、スクリーン1010、陰極線管(CRT)スクリーン、液晶ディスプレイ(LCD)スクリーン、プラズマスクリーン、有機発光ダイオード(OLED)スクリーンを含み、それぞれタッチスクリーン入力能力を有し又は有さず、それぞれ感覚フィードバック能力を有し又は有さず、これらのうちの幾つかは例えば立体出力、仮想現実眼鏡(図示しない)、ホログラフィックディスプレイ、及び発煙剤タンク(図示しない)のような手段を通じて2次元視覚的出力または3次元より多くの出力を出力可能であってよい)、及びプリンタ(図示しない)を含んでよい。
【0129】
コンピュータシステム1200は、人間のアクセス可能な記憶装置、及び、例えばCD/DVD等の媒体1021を備えるCD/DVDROM/RW1020のような光学媒体、サムドライブ1022、取り外し可能ハードドライブ又は個体状態ドライブ1023、テープ及びフロッピディスク(図示しない)のようなレガシー磁気媒体、セキュリティドングル(図示しない)等のような専用ROM/ASIC/PLDに基づく装置のような関連する媒体も含み得る。
【0130】
当業者は、本開示の主題と関連して使用される用語「コンピュータ可読媒体」が伝送媒体、搬送波、又は他の一時的信号を包含しないことも理解すべきである。
【0131】
コンピュータシステム1200は、1つ以上の通信ネットワークへのインタフェースも含み得る。ネットワークは、例えば無線、有線、光であり得る。ネットワークへは、更に、ローカル、広域、都市域、車両及び産業、リアルタイム、耐遅延性、等であり得る。ネットワークの例は、イーサネットのようなローカルエリアネットワーク、無線LAN、GSM(global systems for mobile communications)、第3世代(3G)、第4世代(4G)、第5世代(5G)、LTE(Long-Term Evolution)等を含むセルラネットワーク、ケーブルTV、衛星TV、地上波放送TVを含むTV有線又は無線広域デジタルネットワーク、CANBusを含む車両及び産業、等を含む。特定のネットワークは、一般に、特定の汎用データポート又は周辺機器バス1049(例えば、コンピュータシステム1200のUSBポート)に取り付けられる外部ネットワークインタフェースを必要とする。他のものは、一般に、後述するようなシステムバスへの取り付けによりコンピュータシステム1200のコアに統合される(例えば、イーサネットインタフェースをPCコンピュータシステムへ、又はセルラネットワークインタフェースをスマートフォンコンピュータシステムへ)。これらのネットワークを用いて、コンピュータシステム1200は、他のエンティティと通信できる。このような通信は、単方向受信のみ(例えば、放送TV)、単方向送信のみ(例えば、特定のCANbus装置へのCANbus)、又は例えばローカル又は広域デジタルネットワークを用いて他のコンピュータシステムへの双方向であり得る。特定のプロトコル及びプロトコルスタックが、上述のネットワーク及びネットワークインタフェースの各々で使用され得る。
【0132】
前述のヒューマンインタフェース装置、人間のアクセス可能な記憶装置、及びネットワークインタフェースは、コンピュータシステム1200のコア1040に取り付け可能である。
【0133】
コア1040は、1つ以上の中央処理ユニット(CPU)1041、グラフィック処理ユニット(GPU)1042、FPGAの形式の専用プログラマブル処理ユニット1043、特定タスクのためのハードウェアアクセラレータ1044、等を含み得る。これらの装置は、読み出し専用メモリ(ROM)1045、ランダムアクセスメモリ(RAM)1046、内部のユーザアクセス不可能なハードドライブ、SSD、等のような内蔵大容量記憶装置1047と共に、システムバス1248を通じて接続されてよい。幾つかのコンピュータシステムでは、追加CPU、GPU、等による拡張を可能にするために、システムバス1248は、1つ以上の物理プラグの形式でアクセス可能である。周辺機器は、コアのシステムバス1248に直接に、又は周辺機器バス1049を通じて、取り付け可能である。周辺機器バスのアーキテクチャは、PCI、USB、等を含む。
【0134】
CPU1041、GPU1042、FPGA1043、及びアクセラレータ1044は、結合されて前述のコンピュータコードを生成可能な特定の命令を実行できる。該コンピュータコードは、ROM1045またはRAM1046に格納できる。一時的データもRAM1046に格納でき、一方で、永久的データは例えば内蔵大容量記憶装置1047に格納できる。メモリ装置のうちのいずれかへの高速記憶及び読み出しはCPU1041、GPU1042、大容量記憶装置1047、ROM1045、RAM1046等のうちの1つ以上に密接に関連付けられ得るキャッシュメモリの使用を通じて可能にできる。
【0135】
コンピュータ可読媒体は、種々のコンピュータにより実施される動作を実行するためのコンピュータコードを有し得る。媒体及びコンピュータコードは、本開示の目的のために特別に設計され構成されたものであり得、又は、コンピュータソフトウェア分野の当業者によく知られ利用可能な種類のものであり得る。
【0136】
例として及び限定ではなく、アーキテクチャを有するコンピュータシステム1200、及び具体的にはコア1040は、プロセッサ(CPU、GPU、FPGA、アクセラレータ、等を含む)が1つ以上の有形コンピュータ可読媒体内に具現化されたソフトウェアを実行した結果として、機能を提供できる。このようなコンピュータ可読媒体は、コア内蔵大容量記憶装置1047又はROM1045のような非一時的特性のコア1040の特定の記憶装置、及び上述のようなユーザアクセス可能な大容量記憶装置と関連付けられた媒体であり得る。本開示の種々の実施形態を実装するソフトウェアは、このような装置に格納されコア1040により実行できる。コンピュータ可読媒体は、特定の必要に従い、1つ以上のメモリ装置又はチップを含み得る。ソフトウェアは、コア1040及び具体的にはその中のプロセッサ(CPU、GPU、FPGA、等を含む)に、ソフトウェアにより定義された処理に従うRAM1046に格納されたデータ構造の定義及び該データ構造の変更を含む、ここに記載した特定の処理又は特定の処理の特定の部分を実行させることができる。追加又は代替として、コンピュータシステムは、ここに記載の特定の処理又は特定の処理の特定の部分を実行するためにソフトウェアと一緒に又はそれに代わって動作可能な論理ハードワイヤド又は他の回路内の実装(例えば、アクセラレータ1044)の結果として機能を提供できる。ソフトウェアへの言及は、ロジックを含み、適切な場合にはその逆も同様である。コンピュータ可読媒体への言及は、適切な場合には、実行のためにソフトウェアを格納する(集積回路(IC)のような)回路、実行のためにロジックを実装する回路、又はそれらの両方を含み得る。本開示は、ハードウェア及びソフトウェアの任意の適切な組み合わせを含む。
【0137】
本開示は、幾つかの例示的な実施形態を記載したが、代替、置換、及び種々の代用の均等物が存在し、それらは本開示の範囲に包含される。当業者に明らかなことに、ここに明示的に示され又は説明されないが、本開示の原理を実施し、したがって、本開示の精神及び範囲に含まれる多数のシステム及び方法を考案可能である。