(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-28
(45)【発行日】2023-10-06
(54)【発明の名称】改善された最確モードリスト生成方法
(51)【国際特許分類】
H04N 19/70 20140101AFI20230929BHJP
H04N 19/593 20140101ALI20230929BHJP
【FI】
H04N19/70
H04N19/593
(21)【出願番号】P 2021531590
(86)(22)【出願日】2020-01-06
(86)【国際出願番号】 US2020012304
(87)【国際公開番号】W WO2020146225
(87)【国際公開日】2020-07-16
【審査請求日】2021-06-02
(32)【優先日】2019-01-13
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-08-02
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】リャン・ジャオ
(72)【発明者】
【氏名】シン・ジャオ
(72)【発明者】
【氏名】シアン・リ
(72)【発明者】
【氏名】シャン・リュウ
【審査官】鉢呂 健
(56)【参考文献】
【文献】BROSS, Benjamin et al.,Versatile Video Coding (Draft 3),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 12th Meeting: Macao, CN, 3-12 Oct. 2018, [JVET-L1001-v9],JVET-L1001 (version 13),ITU-T,2019年01月08日,<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/12_Macao/wg11/JVET-L1001-v13.zip>: JVET-L1001-v9.docx: pp.37-39,78-81
【文献】DE-LUXAN-HERNANDEZ, Santiago et al.,CE3: Intra Sub-Partitions Coding Mode (Tests 1.1.1 and 1.1.2),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 13th Meeting: Marrakech, MA, 9-18 Jan. 2019, [JVET-M0102-v3],JVET-M0102 (version 3),ITU-T,2019年01月04日,<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/13_Marrakech/wg11/JVET-M0102-v3.zip>: JVET-M0102-v3.docx: pp.1-7
【文献】WANG, Biao et al.,CE3-related: Harmonization of MPM list construction,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 13th Meeting: Marrakesh, Morocco, 9-18 Jan. 2019, [JVET-M0295-r2],JVET-M0295 (version 2),ITU-T,2019年01月11日,<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/13_Marrakech/wg11/JVET-M0295-v2.zip>: JVET-M0295-r2.docx: pp.1-7
【文献】ZHAO, Liang 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 11th Meeting: Ljubljana, SI, 10-18 July 2018, [JVET-K0482_r1],JVET-K0482 (version 3),ITU-T,2018年07月14日,<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/11_Ljubljana/wg11/JVET-K0482-v3.zip>: JVET-K0482_r1.docx: pp.1-3
【文献】ZHAO, Liang et al.,CE3-related: Unified MPM list based on CE3-3.3 and CE3-3.5.1,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 14th Meeting: Geneva, CH, 19-27 March 2019, [JVET-N0394-r2],JVET-N0394 (version 3),ITU-T,2019年03月20日,<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/14_Geneva/wg11/JVET-N0394-v3.zip>: JVET-N0394_r2.docx: pp.1-11
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
コンピュータの少なくとも1つのプロセッサを使用して符号化ビデオビットストリーム中の現ブロックをエンコードするために使用されるイントラ予測モードをシグナリングする方法であって、
複数の候補イントラ予測モードを決定するステップと、
前記複数の候補イントラ予測モードを使用して最確モード(MPM)リストを生成するステップと、
隣接参照ラインおよび複数の非隣接参照ラインを含む複数の参照ラインの中から前記現ブロックをエンコードするために使用される参照ラインを示す参照ラインインデックスをシグナリングするステップと、
前記イントラ予測モードを示すイントラモードインデックスをシグナリングするステップと
を含んでおり、
前記MPMリストは、前記現ブロックをエンコードするために使用される前記参照ライン、およびイントラサブパーティション(ISP)モードが有効であるかどうかに基づいて生成され、
前記MPMリストの第1のイントラ予測モードは、平面モードである、方法において、
前記参照ラインが前記隣接参照ラインであること、および前記ISPモードが有効でないことに基づいて、前記MPMリストは、前記決定された複数の候補イントラ予測モードのすべてを含
み、
前記参照ラインが前記隣接参照ラインであり、かつ、前記ISPモードが有効でない場合、前記参照ラインが前記隣接参照ラインであり、かつ、前記ISPモードが有効である場合、あるいは、前記参照ラインが前記複数の非隣接参照ラインのうちの1つである場合、前記MPMリストは同じMPMリストである、方法。
【請求項2】
前記MPMリストの第2のイントラ予測モードは、DCモードである、請求項
1に記載の方法。
【請求項3】
コンピュータの少なくとも1つのプロセッサを使用して符号化ビデオビットストリーム中の現ブロックをエンコードするために使用されるイントラ予測モードをシグナリングする方法であって、
複数の候補イントラ予測モードを決定するステップと、
前記複数の候補イントラ予測モードを使用して最確モード(MPM)リストを生成するステップと、
隣接参照ラインおよび複数の非隣接参照ラインを含む複数の参照ラインの中から前記現ブロックをエンコードするために使用される参照ラインを示す参照ラインインデックスをシグナリングするステップと、
前記イントラ予測モードを示すイントラモードインデックスをシグナリングするステップと
を含んでおり、
前記MPMリストは、前記現ブロックをエンコードするために使用される前記参照ライン、およびイントラサブパーティション(ISP)モードが有効であるかどうかに基づいて生成され、
前記MPMリストの第1のイントラ予測モードは、平面モードである、方法において、
前記参照ラインが前記隣接参照ラインであること、および前記ISPモードが有効でないことに基づいて、前記MPMリストは、前記決定された複数の候補イントラ予測モードのすべてを含み、
前記参照ラインが前記隣接参照ラインであることを示す前記参照ラインインデックスに基づき、前記イントラモードインデックスの最初の1つまたは2つのビンが、コンテキスト符号化され、コンテキストは、前記ISPモードが有効であるかどうかに基づいて決定される
、方法。
【請求項4】
コンピュータの少なくとも1つのプロセッサを使用して符号化ビデオビットストリーム中の現ブロックをエンコードするために使用されるイントラ予測モードをシグナリングする方法であって、
複数の候補イントラ予測モードを決定するステップと、
前記複数の候補イントラ予測モードを使用して最確モード(MPM)リストを生成するステップと、
隣接参照ラインおよび複数の非隣接参照ラインを含む複数の参照ラインの中から前記現ブロックをエンコードするために使用される参照ラインを示す参照ラインインデックスをシグナリングするステップと、
前記イントラ予測モードを示すイントラモードインデックスをシグナリングするステップと
を含んでおり、
前記MPMリストは、前記現ブロックをエンコードするために使用される前記参照ライン、およびイントラサブパーティション(ISP)モードが有効であるかどうかに基づいて生成され、
前記MPMリストの第1のイントラ予測モードは、平面モードである、方法において、
前記参照ラインが前記隣接参照ラインであること、および前記ISPモードが有効でないことに基づいて、前記MPMリストは、前記決定された複数の候補イントラ予測モードのすべてを含み、
前記参照ラインが前記隣接参照ラインであることを示す前記参照ラインインデックスに基づき、前記イントラモードインデックスの最初の1つまたは2つのビンが、コンテキスト符号化され、コンテキストは、前記参照ラインインデックスの値に基づいて決定される
、方法。
【請求項5】
コンピュータの少なくとも1つのプロセッサを使用して符号化ビデオビットストリーム中の現ブロックをエンコードするために使用されるイントラ予測モードをシグナリングする方法であって、
複数の候補イントラ予測モードを決定するステップと、
前記複数の候補イントラ予測モードを使用して最確モード(MPM)リストを生成するステップと、
隣接参照ラインおよび複数の非隣接参照ラインを含む複数の参照ラインの中から前記現ブロックをエンコードするために使用される参照ラインを示す参照ラインインデックスをシグナリングするステップと、
前記イントラ予測モードを示すイントラモードインデックスをシグナリングするステップと
を含んでおり、
前記MPMリストは、前記現ブロックをエンコードするために使用される前記参照ライン、およびイントラサブパーティション(ISP)モードが有効であるかどうかに基づいて生成され、
前記MPMリストの第1のイントラ予測モードは、平面モードである、方法において、
前記参照ラインが前記隣接参照ラインであること、および前記ISPモードが有効でないことに基づいて、前記MPMリストは、前記決定された複数の候補イントラ予測モードのすべてを含み、
前記参照ラインが前記隣接参照ラインであることを示す前記参照ラインインデックスに基づき、前記イントラモードインデックスの最初の1つまたは2つのビンが、コンテキスト符号化され、コンテキストは、前記ISPモードが有効であるかどうか、および前記参照ラインインデックスに基づいて決定される
、方法。
【請求項6】
前記コンピュータを含むデバイスであって、前記コンピュータが、
プログラムコードを格納するように構成された少なくとも1つのメモリを更に備え、
前記少なくとも1つのプロセッサが、前記プログラムコードを読み出し、前記プログラムコードに従って処理を行うように構成され、
前記プログラムコードは、前記少なくとも1つのプロセッサに、請求項1~
5のいずれか一項に記載の方法を実行させるものである、
デバイス。
【請求項7】
前記コンピュータにおいて、前記少なくとも1つのプロセッサに、請求項1~
5のいずれか一項に記載の方法を実行させるものである、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、米国特許商標庁における2019年1月13日付の米国仮出願第62/791,858号および2019年8月2日付の米国出願第16/529,941号に対する米国特許法第119条からの優先権を主張し、これらの出願は、参照によりその全体が本明細書に組み込まれる。
【0002】
本開示は、先進のビデオ符号化技術に関する。より具体的には、本開示は、ゼロラインおよび非ゼロラインのための簡略化された最確モード(MPM)リスト生成方法に関する。
【背景技術】
【0003】
ITU-T VCEG(Q6/16)およびISO/IEC MPEG(JTC 1/SC 29/WG 11)が、H.265/HEVC(高効率ビデオ符号化)規格を、2013年(バージョン1)、2014年(バージョン2)、2015年(バージョン3)、および2016年(バージョン4)に公開した[1]。2015年に、これら2つの標準化団体は、HEVCを超える次のビデオ符号化規格を開発する可能性を探索するために、JVET(共同ビデオ研究チーム)(Joint Video Exploration Team)を共同で結成した。2017年10月、JVETは、HEVCを超える機能を備えるビデオ圧縮についての提案を求める参加の呼び掛け(Joint Call for Proposals on Video Compression with Capability beyond HEVC)(CfP)を発行した。2018年2月15日までに、合計で、標準ダイナミックレンジ(SDR)についての22件のCfP応答、高ダイナミックレンジ(HDR)についての12件のCfP応答、および360°ビデオのカテゴリについての12件のCfP応答が、それぞれ提出された。2018年4月に、提出されたすべてのCfP応答について、122 MPEG / 10th JVET meetingにおいて評価を行った。この会合の結果として、JVETは、HEVCを超える次世代ビデオ符号化の標準化プロセスを正式に開始した。新たな規格は、多用途ビデオ符号化(Versatile Video Coding)(VVC)と名付けられ、JVETは、共同ビデオエキスパートチーム(Joint Video Expert Team)と改称された。
【0004】
HEVCにおいて使用されるイントラ予測モードが、
図1に示されている。HEVCにおいては、全部で35個のイントラ予測モードが存在し、そのうちで、モード10が水平モードであり、モード26が垂直モードであり、モード2、モード18、およびモード34が対角モードである。イントラ予測モードは、3つの最確モード(MPM)および残りの32個のモードによってシグナリングされる。
【0005】
イントラモードを符号化するために、サイズ3の最確モード(MPM)リストが、隣接ブロックのイントラモードに基づいて構築され、このMPMリストは、MPMリストまたはプライマリMPMリストと呼ばれる。イントラモードがMPMリストからのものでない場合、イントラモードが選択されたモードに属するかどうかを示すフラグがシグナリングされる。
【0006】
HEVCのMPMリストの生成プロセスの例を、以下に示す。
● If(leftIntraDir==aboveIntraDir&&leftIntraDir>DC_IDX)
〇 MPM[0]=leftIntraDir;
〇 MPM[1]=((leftIntraDir+offset)%mod)+2;
〇 MPM[2]=((leftIntraDir-1)%mod)+2;
● Else if(leftIntraDir==aboveIntraDir)
〇 MPM[0]=PLANAR_IDX;
〇 MPM[1]=DC_IDX;
〇 MPM[2]=VER_IDX;
● Else if(leftIntraDir!=aboveIntraDir)
〇 MPM[0]=leftIntraDir;
〇 MPM[1]=aboveIntraDir;
〇 If(leftIntraDir>0&&aboveIntraDir>0)
■ MPM[2]=PLANAR_IDX;
〇 Else
■ MPM[2]=(leftIntraDir+aboveIntraDir)<2?VER_IDX:DC_IDX;
【0007】
ここで、leftIntraDirは、左のブロックにおけるモードを示すために使用され、aboveIntraDirは、上方のブロックにおけるモードを示すために使用される。左またはブロックが現時点において利用できない場合、leftIntraDirまたはaboveIntraDirは、DC_IDXになる。また、変数「offset」および「mod」は、定数値であり、それぞれ29および32に設定されている。
【発明の概要】
【0008】
一実施形態において、少なくとも1つのプロセッサを使用して符号化ビデオビットストリーム中の現ブロックをエンコードするために使用されるイントラ予測モードをシグナリングする方法が提供され、この方法は、複数の候補イントラ予測モードを決定することと、複数の候補イントラ予測モードを使用して最確モード(MPM)リストを生成することと、隣接参照ラインおよび複数の非隣接参照ラインを含む複数の参照ラインの中から現ブロックをエンコードするために使用される参照ラインを示す参照ラインインデックスをシグナリングすることと、イントラ予測モードを示すイントラモードインデックスをシグナリングすることとを含み、MPMリストは、現ブロックをエンコードするために使用される参照ライン、およびイントラサブパーティション(ISP)モードが有効であるかどうかに基づいて生成される。
【0009】
一実施形態において、符号化ビデオビットストリーム中の現ブロックをエンコードするために使用されるイントラ予測モードをシグナリングするためのデバイスが提供され、このデバイスは、プログラムコードを格納するように構成された少なくとも1つのメモリと、プログラムコードを読み出し、プログラムコードによって命令されるとおりに動作するように構成された少なくとも1つのプロセッサとを備え、プログラムコードは、複数の候補イントラ予測モードを決定することを、少なくとも1つのプロセッサに実行させるように構成された決定コードと、複数の候補イントラ予測モードを使用して最確モード(MPM)リストを生成することを、少なくとも1つのプロセッサに実行させるように構成された生成コードと、隣接参照ラインおよび複数の非隣接参照ラインを含む複数の参照ラインの中から現ブロックをエンコードするために使用される参照ラインを示す参照ラインインデックスをシグナリングすることを、少なくとも1つのプロセッサに実行させるように構成された第1のシグナリングコードと、イントラ予測モードを示すイントラモードインデックスをシグナリングすることを、少なくとも1つのプロセッサに実行させるように構成された第2のシグナリングコードとを含み、MPMリストは、現ブロックをエンコードするために使用される参照ライン、およびイントラサブパーティション(ISP)モードが有効であるかどうかに基づいて生成される。
【0010】
一実施形態において、命令を格納した非一時的なコンピュータ可読媒体が提供され、命令は、符号化ビデオビットストリーム中の現ブロックをエンコードするために使用されるイントラ予測モードをシグナリングするためのデバイスの1つ以上のプロセッサによって実行されたときに、複数の候補イントラ予測モードを決定すること、複数の候補イントラ予測モードを使用して最確モード(MPM)リストを生成すること、隣接参照ラインおよび複数の非隣接参照ラインを含む複数の参照ラインの中から現ブロックをエンコードするために使用される参照ラインを示す参照ラインインデックスをシグナリングすること、およびイントラ予測モードを示すイントラモードインデックスをシグナリングすることを、1つ以上のプロセッサに実行させる1つ以上の命令を含んでおり、MPMリストは、現ブロックをエンコードするために使用される参照ライン、およびイントラサブパーティション(ISP)モードが有効であるかどうかに基づいて生成される。
【0011】
開示される主題のさらなる特徴、性質、および種々の利点が、以下の詳細な説明および添付の図面からさらに明らかになるであろう。
【図面の簡単な説明】
【0012】
【
図1】HEVCにおけるイントラ予測モードの一例の図である。
【
図2】符号化ブロックユニットに隣接する参照ラインの一例を示す図である。
【
図3】VVCにおけるイントラ予測モードの一例の図である。
【
図5】イントラサブパーティション(ISP)符号化モードにおける4×8および8×4のブロックの分割の一例の図である。
【
図6】ISP符号化モードにおける4×8、8×4、および4×4のブロックを除くすべてのブロックの分割の一例の図である。
【
図7】一実施形態による通信システムの概略のブロック図である。
【
図8】一実施形態によるストリーミング環境におけるビデオエンコーダおよびデコーダの配置の図である。
【
図9】一実施形態によるビデオデコーダの機能ブロック図である。
【
図10】一実施形態によるビデオエンコーダの機能ブロック図である。
【
図11】一実施形態による符号化ビデオビットストリーム中の現ブロックを符号化するために使用されるイントラ予測モードをシグナリングするための典型的なプロセスのフローチャートである。
【
図12】一実施形態によるコンピュータシステムの図である。
【発明を実施するための形態】
【0013】
イントラ予測のためにより多くの参照ラインを使用するために、マルチラインイントラ予測が提案されており、エンコーダは、イントラ予測器を生成するために使用される参照ラインを決定し、シグナリングする。参照ラインインデックスが、イントラ予測モードの前にシグナリングされ、非ゼロの参照ラインインデックスがシグナリングされた場合、最確モードのみが許される。
図2に、4つの参照ラインの例が示されており、各々の参照ラインは、6つのセグメント、すなわちセグメントA~Fと、左上の参照サンプルとで構成される。さらに、セグメントAおよびFは、それぞれセグメントBおよびEからの最も近いサンプルでパディングされる。
【0014】
VVCにおいては、
図3に示されるように、全部で95個のイントラ予測モードが存在でき、モード18が水平モードであり、モード50が垂直モードであり、モード2、モード34、およびモード66が対角モードである。モード-1~-14およびモード67~80は、広角イントラ予測(WAIP)モードと呼ばれる。
【0015】
VTM3.0においてMPMリストのサイズは、隣接参照ライン(ゼロの参照ラインとも呼ばれる)および非隣接参照ライン(非ゼロの参照ラインとも呼ばれる)の両方について、6に等しく設定される。6つのMPM候補を導出するために使用される隣接モードの位置も、隣接参照ラインおよび非隣接参照ラインについて同じであり、これが
図4に示されている。
図4において、ブロックAは、現在の符号化ユニットの左の隣接符号化ユニットを表し、ブロックBは、現在の符号化ユニットの上方の隣接符号化ユニットを表し、変数candIntraPredModeAおよびcandIntraPredModeBは、それぞれブロックAおよびブロックBの関連のイントラ予測モードを表し、candIntraPredModeAおよびcandIntraPredModeBは、最初はINTRA_PLANARに等しく設定される。ブロックA(または、B)が利用可能であるとマークされている場合、candIntraPredModeA(または、candIntraPredModeB)は、ブロックA(または、B)の実際のイントラ予測モードに等しく設定される。
【0016】
MPM候補の導出処理は、隣接参照ラインと非隣接参照ラインとで異なる。ゼロの基準線においては、2つの隣接モードが両方とも平面モードまたはDCモードである場合、デフォルトモードがMPMリストを構築するために使用され、ここでデフォルトモードは、2つが平面モードおよびDCモードであり、残りの4つのモードが角度モード(角度デフォルトモードとも呼ばれることもある)である。非ゼロの基準線においては、2つの隣接モードが両方とも平面モードまたはDCモードである場合、6つの角度デフォルトモードがMPMリストを構築するために使用される。
【0017】
MPMリストの導出プロセスの例が下記に示され、ここでcandModeList[x](x=0,1,2,3,4,5)は、6つのMPM候補を表す。換言すると、candModeList[0]が0番目のMPM候補を表すことができ、candModeList[1]が1番目のMPM候補を表すことができ、candModeList[2]が2番目のMPM候補を表すことができ、candModeList[3]が3番目のMPM候補を表すことができ、candModeList[4]が4番目のMPM候補を表すことができ、candModeList[5]が5番目のMPM候補を表すことができる。以下に示されるMPMリストの導出プロセスにおいて、IntraLumaRefLineIdx[xCb][yCb]は、予測対象のブロックの参照ラインインデックスを表し、IntraLumaRefLineIdx[xCb][yCb]は、0、1、または3であってよい。
・candIntraPredModeBがcandIntraPredModeAに等しく、candIntraPredModeAがINTRA_DCよりも大きい場合、candModeList[x](x=0、・・・、5)は、以下のように導出される。
・IntraLumaRefLineIdx[xCb][yCb]が0に等しい場合、以下が当てはまる。
candModeList[0]=candIntraPredModeA
candModeList[1]=INTRA_PLANAR
candModeList[2]=INTRA_DC
candModeList[3]=2+((candIntraPredModeA+61)%64)
candModeList[4]=2+((candIntraPredModeA-1)%64)
candModeList[5]=2+((candIntraPredModeA+60)%64)
・そうでない(IntraLumaRefLineIdx[xCb][yCb]が0に等しくない)場合、以下が当てはまる。
candModeList[0]=candIntraPredModeA
candModeList[1]=2+((candIntraPredModeA+61)%64)
candModeList[2]=2+((candIntraPredModeA-1)%64)
candModeList[3]=2+((candIntraPredModeA+60)%64)
candModeList[4]=2+(candIntraPredModeA%64)
candModeList[5]=2+((candIntraPredModeA+59)%64)
・さもなければ、candIntraPredModeBがcandIntraPredModeAに等しくなく、candIntraPredModeAまたはcandIntraPredModeBがINTRA_DCより大きい場合、以下が当てはまる。
・変数minABおよびmaxABが、以下のように導出される。
minAB=candModeList[(candModeList[0]>candModeList[1])?1:0]
maxAB=candModeList[(candModeList[0]>candModeList[1])?0:1]
・candIntraPredModeAおよびcandIntraPredModeBが両方ともINTRA_DCよりも大きい場合、candModeList[x](x=0、・・・、5)は、以下のように導出される。
candModeList[0]=candIntraPredModeA
candModeList[1]=candIntraPredModeB
・IntraLumaRefLineIdx[xCb][yCb]が0に等しい場合、以下が当てはまる。
candModeList[2]=INTRA_PLANAR
candModeList[3]=INTRA_DC
・maxAB-minABが2以上62以下の範囲にある場合、以下が当てはまる。
candModeList[4]=2+((maxAB+61)%64)
candModeList[5]=2+((maxAB-1)%64)
・そうでない場合、以下が当てはまる。
candModeList[4]=2+((maxAB+60)%64)
candModeList[5]=2+((maxAB)%64)
・他の場合(IntraLumaRefLineIdx[xCb][yCb]が0に等しくない場合)、以下が当てはまる。
・maxAB-minABが1に等しい場合、以下が当てはまる。
candModeList[2]=2+((minAB+61)%64)
candModeList[3]=2+((maxAB-1)%64)
candModeList[4]=2+((minAB+60)%64)
candModeList[5]=2+(maxAB%64)
・そうでなく、maxAB-minABが2に等しい場合、以下が当てはまる。
candModeList[2]=2+((minAB-1)%64)
candModeList[3]=2+((minAB+61)%64)
candModeList[4]=2+((maxAB-1)%64)
candModeList[5]=2+((minAB+60)%64)
・そうでなく、maxAB-minABが61よりも大きい場合、以下が当てはまる。
candModeList[2]=2+((minAB-1)%64)
candModeList[3]=2+((maxAB+61)%64)
candModeList[4]=2+(minAB%64)
candModeList[5]=2+((maxAB+60)%64)
・そうでない場合、以下が当てはまる。
candModeList[2]=2+((minAB+61)%64)
candModeList[3]=2+((minAB-1)%64)
candModeList[4]=2+((maxAB+61)%64)
candModeList[5]=2+((maxAB-1)%64)
・他の場合(candIntraPredModeAまたはcandIntraPredModeBがINTRA_DCよりも大きい場合、candModeList[x](x=0、・・・、5)は、以下のように導出される。
・IntraLumaRefLineIdx[xCb][yCb]が0に等しい場合、以下が当てはまる。
candModeList[0]=candIntraPredModeA
candModeList[1]=candIntraPredModeB
candModeList[2]=1-minAB
candModeList[3]=2+((maxAB+61)%64)
candModeList[4]=2+((maxAB-1)%64)
candModeList[5]=2+((maxAB+60)%64)
・他の場合(IntraLumaRefLineIdx[xCb][yCb]が0に等しくない場合)、以下が当てはまる。
candModeList[0]=maxAB
candModeList[1]=2+((maxAB+61)%64)
candModeList[2]=2+((maxAB-1)%64)
candModeList[3]=2+((maxAB+60)%64)
candModeList[4]=2+(maxAB%64)
candModeList[5]=2+((maxAB+59)%64)
・そうでない場合、以下が当てはまる。
・IntraLumaRefLineIdx[xCb][yCb]が0に等しい場合、以下が当てはまる。
candModeList[0]=candIntraPredModeA
candModeList[1]=(candModeList[0]==INTRA_PLANAR)?INTRA_DC:
INTRA_PLANAR
candModeList[2]=INTRA_ANGULAR50
candModeList[3]=INTRA_ANGULAR18
candModeList[4]=INTRA_ANGULAR46
candModeList[5]=INTRA_ANGULAR54
・そうでない(IntraLumaRefLineIdx[xCb][yCb]が0に等しくない)場合、以下が当てはまる。
candModeList[0]=INTRA_ANGULAR50
candModeList[1]=INTRA_ANGULAR18
candModeList[2]=INTRA_ANGULAR2
candModeList[3]=INTRA_ANGULAR34
candModeList[4]=INTRA_ANGULAR66
candModeList[5]=INTRA_ANGULAR26
【0018】
VTM4.0において、MPMリストのサイズは6に拡張される。intra_luma_mpm_flagが真である場合、それは、現在のモードがMPMリストの候補に属することを示す。下記の表1を検討されたい。
【0019】
【0020】
イントラサブパーティション(ISP)符号化モードは、表2に示されるように、輝度イントラ予測ブロックをブロックサイズの次元に応じて垂直または水平に2つまたは4つのサブパーティションに分割する。
図5および
図6は、2つの可能性の例を示している。すべてのサブパーティションは、少なくとも16個のサンプルを有するという条件を満たす。
【0021】
【0022】
これらのサブパーティションの各々について、エンコーダによって送信された係数をエントロピ復号し、次いでそれらを逆量子化および逆変換することによって、残差信号を生成することができる。次いで、サブパーティションをイントラ予測することができ、最終的に、残差信号を予測信号に加えることによって対応する再構成サンプルが得られる。したがって、各々のサブパーティションの再構築された値を、プロセスを繰り返す次のサブパーティションの予測の生成に利用することができ、以下同様である。すべてのサブパーティションは、同じイントラモードを共有することができる。
【0023】
イントラモードおよび利用された分割に基づいて、通常の順序および逆の順序と称される2つの異なる種類の順序が使用され得る。通常の順序において、処理されるべき第1のサブパーティションは、CUの左上のサンプルを含み、次いで水平分割においては下方に続き、垂直分割においては右へと続くサブパーティションである。結果として、サブパーティションの予測信号の生成に使用される参照サンプルは、ラインの左側および上側にのみ位置する。他方で、逆の処理順序は、CUの左下のサンプルを含むサブパーティションで始まり、上方へと続くか、あるいはCUの右上のサンプルを含むサブパーティションで始まり、左方へと続く。
【0024】
ISPアルゴリズムを、MPMリストの一部であるイントラモードでテストすることができる。この理由で、ブロックがISPを使用する場合、MPMフラグを1になると推測することができる。さらに、ISPが特定のブロックに使用される場合、MPMリストを、DCモードを除外し、ISPの水平分割について水平イントラモードを優先し、垂直分割について垂直イントラモードを優先するように、修正することができる。
【0025】
図7が、本開示の一実施形態による通信システム(300)の概略のブロック図を示している。通信システム(300)は、ネットワーク(750)を介して相互接続された少なくとも2つの端末(710~720)を含むことができる。データの一方向の送信のために、第1の端末(710)は、ネットワーク(750)を介して他の端末(720)へと送信するために、自身のその場でビデオデータを符号化することができる。第2の端末(720)は、他の端末の符号化ビデオデータをネットワーク(750)から受信し、符号化データを復号し、復元されたビデオデータを表示することができる。一方向のデータ伝送は、メディアサービングアプリケーションなどにおいて一般的であり得る。
【0026】
図7は、例えばビデオ会議の最中に生じ得る符号化されたビデオの双方向伝送をサポートするように用意された端末(730、740)の第2のペアを示している。データの双方向伝送のために、各々の端末(730、740)は、ネットワーク(750)を介して他の端末へと送信するために、自身のその場でキャプチャされたビデオデータを符号化することができる。さらに、各々の端末(730,740)は、他方の端末によって送信された符号化ビデオデータを受信し、符号化データを復号し、復元されたビデオデータを自身のその場のディスプレイデバイスに表示することができる。
【0027】
図7において、端末(710~740)は、サーバ、パーソナルコンピュータ、およびスマートフォンとして示されているかもしれないが、本開示の原理は、そのように限定されるわけではない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、および/または専用のビデオ会議機器にも適用可能である。ネットワーク(750)は、例えば有線および/または無線の通信ネットワークなど、端末(710~740)の間で符号化ビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(750)は、回路交換チャネルおよび/またはパケット交換チャネルにおいてデータを交換することができる。代表的なネットワークとして、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、および/またはインターネットが挙げられる。本明細書の目的に関して、ネットワーク(750)のアーキテクチャおよびトポロジは、本明細書において以下で説明されない限り、本開示の動作に無関係であり得る。
【0028】
図8は、本開示の主題の適用の一例として、ストリーミング環境におけるビデオエンコーダおよびデコーダの配置を示している。本開示の主題は、例えば、ビデオ会議、デジタルTV、CD、DVD、メモリスティック、などを含むデジタル媒体への圧縮ビデオの格納、などを含む他のビデオ対応アプリケーションにも等しく適用可能であり得る。
【0029】
ストリーミングシステムは、例えば非圧縮ビデオサンプルストリーム(802)を作成するデジタルカメラなどのビデオソース(801)を含むことができるキャプチャサブシステム(813)を含むことができる。そのサンプルストリーム(802)(符号化後のビデオビットストリームと比べてデータ量が多いことを強調するために太線として示されている)を、カメラ801)に結合したエンコーダ(803)によって処理することができる。エンコーダ(803)は、以下でさらに詳しく説明されるように本開示の主題の態様を可能にし、あるいは実装するために、ハードウェア、ソフトウェア、またはそれらの組み合わせを含むことができる。符号化されたビデオビットストリーム(804)(サンプルストリームと比べてデータ量が少ないことを強調するために細線として示されている)を、将来の使用のためにストリーミングサーバ(805)に格納することができる。1つ以上のストリーミングクライアント(806、808)が、ストリーミングサーバ(805)にアクセスして、符号化されたビデオビットストリーム(804)のコピー(807、809)を取得することができる。クライアント(806)は、もたらされる符号化されたビデオビットストリームのコピー(807)を復号し、ディスプレイ(812)または他のレンダリングデバイス(図示せず)上にレンダリングすることができる出力ビデオサンプルストリーム(811)を生成するビデオデコーダ(810)を含むことができる。いくつかのストリーミングシステムにおいては、ビデオビットストリーム(804、807、809)を、特定のビデオ符号化/圧縮規格に従って符号化することができる。それらの規格の例として、ITU-T勧告H.265が挙げられる。多用途ビデオ符号化(VVC)として非公式に知られているビデオ符号化規格が、開発中である。本開示の主題は、VVCの状況において使用され得る。
【0030】
図9は、本発明の一実施形態によるビデオデコーダ(810)の機能ブロック図であり得る。
【0031】
レシーバ(910)が、デコーダ(810)によって復号されるべき1つ以上のコーデックビデオシーケンスを受信することができ、同じ実施形態または別の実施形態において、一度に1つの符号化ビデオシーケンスが復号され、各々の符号化ビデオシーケンスの復号は、他の符号化ビデオシーケンスから独立している。符号化ビデオシーケンスは、符号化されたビデオデータを格納するストレージデバイスへのハードウェア/ソフトウェアリンクであってよいチャネル(912)から受信され得る。レシーバ(910)は、それぞれの使用エンティティ(図示せず)へと転送され得る符号化されたオーディオデータおよび/または補助データストリームなどの他のデータと共に、符号化されたビデオデータを受信することができる。レシーバ(910)は、符号化ビデオシーケンスを他のデータから分離することができる。ネットワークジッタに対抗するために、バッファメモリ(915)を、レシーバ(910)とエントロピデコーダ/パーサ(920)(以下では、「パーサ」)との間に結合させることができる。レシーバ(910)が充分な帯域幅および制御性を有する格納場所/転送デバイスまたはアイソシクロナスネットワークからデータを受信しているとき、バッファ(915)は必要とされなくてもよく、あるいは小さくてよい。インターネットなどのベストエフォートパケットネットワークで使用される場合、バッファ(915)が必要とされる可能性があり、比較的大きくてよく、好都合には適応的なサイズであってよい。
【0032】
ビデオデコーダ(810)は、エントロピ符号化されたビデオシーケンスからシンボル(921)を再構築するためのパーサ(920)を含むことができる。これらのシンボルのカテゴリは、デコーダ(810)の動作を管理するために使用される情報を含み、おそらくは、
図9に示されているようにデコーダの一体の一部分ではないが、デコーダに結合できるディスプレイ(812)などのレンダリングデバイスを制御するための情報を含む。レンダリングデバイスの制御情報は、補足強化情報(SEIメッセージ)またはビデオユーザビリティ情報(VUI)パラメータセットフラグメント(図示せず)の形態であってよい。パーサ(920)は、受信した符号化ビデオシーケンスを解析/エントロピ復号することができる。符号化ビデオシーケンスの符号化は、ビデオ符号化技術または規格に従うことができ、可変長符号化、ハフマン符号化、コンテキスト依存性を有し、あるいは有さない算術符号化、などの当業者にとって周知の原理に従うことができる。パーサ(920)は、グループに対応する少なくとも1つのパラメータに基づいて、符号化ビデオシーケンスから、ビデオデコーダにおけるピクセルのサブグループのうちの少なくとも1つに関する一式のサブグループパラメータを抽出することができる。サブグループは、ピクチャ群(GOP)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)、などを含むことができる。さらに、エントロピデコーダ/パーサは、変換係数、量子化器パラメータ(QP)値、動きベクトル、などの情報を、符号化ビデオシーケンスから抽出することができる。
【0033】
パーサ(920)は、シンボル(921)を生成するために、バッファ(915)から受信したビデオシーケンスに対してエントロピ復号/解析動作を実行することができる。パーサ(920)は、符号化されたデータを受け取り、特定のシンボル(921)を選択的に復号することができる。さらに、パーサ(920)は、特定のシンボル(921)を動き補償予測ユニット(953)へともたらすべきか、スケーラ/逆変換ユニット(951)へともたらすべきか、イントラ予測ユニット(952)へともたらすべきか、あるいはループフィルタ(956)へともたらすべきかを決定することができる。
【0034】
シンボル(921)の再構成には、符号化されたビデオピクチャまたはその一部の種類(インターピクチャおよびイントラピクチャ、インターブロックおよびイントラブロック、など)、および他の因子に依存して、複数の異なるユニットが関与し得る。どのユニットがどのように関与するかを、パーサ(920)によって符号化ビデオシーケンスから解析されたサブグループ制御情報によって制御することができる。パーサ(920)と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは、明瞭にするために図示されていない。
【0035】
すでに述べた機能ブロックを超えて、デコーダ(810)を、以下で説明されるようにいくつかの機能ユニットに概念的に細分化することができる。商業的制約の下で動作する実際の実装において、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的に互いに統合することが可能である。しかしながら、本開示の主題を説明する目的において、以下の機能ユニットへの概念的細分化が適切である。
【0036】
第1のユニットは、スケーラ/逆変換ユニット(951)である。スケーラ/逆変換ユニット(951)は、量子化された変換係数、ならびに使用すべき変換、ブロックサイズ、量子化係数、量子化スケーリング行列、などを含む制御情報を、パーサ(920)からシンボル(621)として受信する。スケーラ/逆変換ユニット(951)は、アグリゲータ(955)へと入力することができるサンプル値を含むブロックを出力することができる。
【0037】
いくつかの場合、スケーラ/逆変換(951)の出力サンプルは、イントラ符号化ブロック、すなわち以前に再構成された画像からの予測情報を使用していないが、現在のピクチャのすでに再構成された部分からの予測情報を使用することができるブロックに関連し得る。そのような予測情報を、イントラピクチャ予測ユニット(952)によってもたらすことができる。いくつかの場合、イントラピクチャ予測ユニット(952)は、再構成中のブロックと同じサイズおよび形状のブロックを、現在の(部分的に再構成された)ピクチャ(956)から取り出される周囲のすでに再構成された情報を使用して生成する。アグリゲータ(955)は、いくつかの場合に、サンプルごとのやり方で、イントラ予測ユニット(952)が生成した予測情報を、スケーラ/逆変換ユニット(951)によってもたらされる出力サンプル情報に追加する。
【0038】
他の場合に、スケーラ/逆変換ユニット(951)の出力サンプルは、インター符号化され、おそらくは動き補償されたブロックに関連し得る。そのような場合、動き補償予測ユニット(953)は、予測に使用されるサンプルを取り出すために参照ピクチャメモリ(957)にアクセスすることができる。取り出されたサンプルについてブロックに関連するシンボル(921)に従って動き補償を行った後に、これらのサンプルを、アグリゲータ(955)によってスケーラ/逆変換ユニットの出力(この場合、残差サンプルまたは残差信号と呼ばれる)に追加して、出力サンプル情報を生成することができる。動き補償ユニットが予測サンプルを取り出す参照ピクチャメモリ内のアドレスを、例えばX、Y、および参照ピクチャ成分を有することができるシンボル(921)の形式で動き補償ユニットにとって利用可能な動きベクトルによって制御することができる。さらに、動き補償は、サブサンプルの正確な動きベクトルが使用される場合の参照ピクチャメモリから取り出されたサンプル値の補間、動きベクトル予測機構、などを含むことができる。
【0039】
アグリゲータ(955)の出力サンプルに、ループフィルタユニット(956)におけるさまざまなループフィルタ処理技術を適用することができる。ビデオ圧縮技術は、符号化ビデオビットストリームに含まれ、パーサ(920)からのシンボル(921)としてループフィルタユニット(956)にとって利用可能にされるパラメータによって制御されるループ内フィルタ技術を含むことができるが、符号化されたピクチャまたは符号化されたビデオシーケンスの以前の(復号順の)部分の復号時に取得されたメタ情報に応答することもでき、以前に再構成およびループフィルタ処理されたサンプル値に応答することもできる。
【0040】
ループフィルタユニット(956)の出力は、レンダリングデバイス(812)へと出力可能かつ将来のインターピクチャ予測に使用するために参照ピクチャメモリ(956)に格納可能であるサンプルストリームであってよい。
【0041】
ひとたび完全に再構成されると、特定の符号化されたピクチャを、将来の予測のための参照ピクチャとして使用することができる。符号化されたピクチャが完全に再構成され、符号化されたピクチャが(例えば、パーサ(920)によって)参照ピクチャとして識別されると、現在の参照ピクチャ(656)は、参照ピクチャバッファ(957)の一部になることができ、新たな現在のピクチャメモリを後続の符号化されたピクチャの再構成を開始する前に再び割り当てることができる。
【0042】
ビデオデコーダ(810)は、例えばITU-T勧告H.265などの規格に文書化されていてよい所定のビデオ圧縮技術に従って復号動作を実行することができる。符号化されたビデオシーケンスは、ビデオ圧縮技術文書または規格において、とりわけそのプロファイル文書で指定されているように、ビデオ圧縮技術または規格の構文に忠実であるという意味で、使用されているビデオ圧縮技術または規格によって指定された構文に従うことができる。また、符号化されたビデオシーケンスの複雑さがビデオ圧縮技術または規格のレベルによって定義される境界内にあることが、準拠のために必要である。いくつかの場合、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えば、メガサンプル/秒の単位にて測定される)、最大参照ピクチャサイズ、などを制限する。レベルによって設定される限界は、いくつかの場合に、仮想参照デコーダ(HRD)の使用および符号化されたビデオシーケンスにおいてシグナリングされるHRDバッファ管理のためのメタデータによってさらに制限され得る。
【0043】
一実施形態において、レシーバ(910)は、符号化されたビデオと共に追加の(冗長な)データを受信することができる。追加のデータは、符号化されたビデオシーケンスの一部として含まれてよい。追加のデータを、データを適切に復号し、さらには/あるいは元のビデオデータをより正確に再構成するために、ビデオデコーダ(810)によって使用することができる。追加のデータは、例えば、時間、空間、または信号対雑音比(SNR)拡張層、冗長スライス、冗長ピクチャ、前方誤り訂正符号、などの形態であってよい。
【0044】
図10が、本開示の一実施形態によるビデオエンコーダ(803)の機能ブロック図であり得る。
【0045】
エンコーダ(803)は、エンコーダ(803)によって符号化されるべきビデオ画像を取り込むことができるビデオソース(801)(エンコーダの一部ではない)からビデオサンプルを受信することができる。
【0046】
ビデオソース(801)は、エンコーダ(803)によって符号化されるべきソースビデオシーケンスを、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、・・・)、任意の色空間(例えば、BT.601 Y CrCB、RGB、・・・)、および任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)であってよいデジタルビデオサンプルストリームの形態でもたらすことができる。メディアサービングシステムにおいて、ビデオソース(801)は、あらかじめ用意されたビデオを格納するストレージデバイスであってよい。ビデオ会議システムにおいて、ビデオソース(803)は、その場の画像情報をビデオシーケンスとして取り込むカメラであってよい。ビデオデータを、順序どおりに見たときに動きを与える複数の個々のピクチャとしてもたらすことができる。ピクチャ自体は、ピクセルの空間アレイとして編成されてよく、各ピクセルは、使用されているサンプリング構造、色空間、などに応じた1つ以上のサンプルを含むことができる。当業者であれば、ピクセルとサンプルとの関係を容易に理解することができる。以下の説明は、サンプルに着目する。
【0047】
一実施形態によれば、エンコーダ(803)は、リアルタイムまたは用途によって要求される任意の他の時間制約下で、ソースビデオシーケンスのピクチャを符号化ビデオシーケンス(1043)へと符号化および圧縮することができる。適切な符号化速度を適用することは、コントローラ(1050)の一機能である。コントローラは、以下で説明されるように他の機能ユニットを制御し、これらのユニットに機能的に結合する。結合は、分かりやすくするために図示されていない。コントローラによって設定されるパラメータとして、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、・・・)、ピクチャサイズ、ピクチャ群(GOP)レイアウト、最大動きベクトル探索範囲、などが挙げられる。当業者であれば、特定のシステム設計に合わせて最適化されたビデオエンコーダ(803)に関連しうるものとして、コントローラ(1050)の他の機能を容易に特定することができる。
【0048】
いくつかのビデオエンコーダは、当業者であれば容易に理解するいわゆる「符号化ループ」にて動作する。きわめて簡略化された説明として、符号化ループは、エンコーダ(1030)(以下では、「ソースコーダ」)の符号化部分(符号化されるべき入力ピクチャと参照ピクチャとに基づくシンボルの生成を担当する)、およびエンコーダ(803)に埋め込まれ、(リモート)デコーダも生成するサンプルデータを生成すべくシンボルを再構成する(ローカル)デコーダ(1033)から構成することができる(本開示の主題において考慮されるビデオ圧縮技術では、シンボルと符号化ビデオビットストリームとの間の圧縮が可逆であるため)。その再構成されたサンプルストリームは、参照ピクチャメモリ(1034)に入力される。シンボルストリームの復号は、デコーダ位置(ローカルまたはリモート)にかかわりなくビット正確な結果をもたらすため、参照ピクチャバッファの内容も、ローカルエンコーダとリモートエンコーダとの間でビット正確である。換言すると、エンコーダの予測部は、復号において予測を使用するときにデコーダが「見る」ものと正確に同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャの同時性(および、例えばチャネル誤差ゆえに同時性を維持することができない場合の結果として生じるドリフト)のこの基本原理は、当業者にとって周知である。
【0049】
「ローカル」デコーダ(1033)の動作は、
図9に関連してすでに詳細に説明した「リモート」デコーダ(810)の動作と同じであり得る。しかしながら、
図6も簡単に参照すると、シンボルが利用可能であり、エントロピコーダ(1045)およびパーサ(920)による符号化ビデオシーケンスへのシンボルの符号化/復号は可逆であり得るため、チャネル(912)、レシーバ(910)、バッファ(915)、およびパーサ(920)を含むデコーダ(810)のエントロピ復号部分は、ローカルデコーダ(1033)に完全には実装されなくてもよい。
【0050】
この時点でなされ得る観測は、デコーダ内に存在する解析/エントロピ復号を除くあらゆるデコーダ技術が、必然的に、対応するエンコーダにも実質的に同一の機能形態で存在する必要があるということである。エンコーダ技術の説明は、それらが包括的に説明されたデコーダ技術の逆であるため、省略可能である。特定の領域においてのみ、より詳細な説明が必要とされ、以下に提示される。
【0051】
その動作の一部として、ソースコーダ(1030)は、「参照フレーム」として指定されたビデオシーケンスからの1つ以上の以前に符号化されたフレームを参照して入力フレームを予測的に符号化する動き補償予測符号化を実行することができる。このようにして、符号化エンジン(1032)は、入力フレームのピクセルブロックと、入力フレームへの予測参照として選択され得る参照フレームのピクセルブロックとの間の差を符号化する。
【0052】
ローカルビデオデコーダ(1033)は、ソースコーダ(1030)によって生成されたシンボルに基づいて、参照フレームとして指定されうるフレームの符号化ビデオデータを復号し得る。符号化エンジン(1032)の動作は、好都合には、不可逆プロセスであり得る。符号化されたビデオデータがビデオデコーダ(
図6には示されていない)において復号され得る場合、再構成されたビデオシーケンスは、典型的には、いくつかのエラーを有するソースビデオシーケンスの複製であり得る。ローカルビデオデコーダ(1033)は、参照フレームについてビデオデコーダによって実行されうる復号プロセスを複製し、再構成された参照フレームを参照ピクチャキャッシュ(1034)に格納させることができる。このようにして、エンコーダ(803)は、遠端のビデオデコーダ(伝送エラーなし)によって取得され得る再構成された参照フレームと共通のコンテンツを有する再構成された参照フレームのコピーをローカルに格納することができる。
【0053】
予測器(1035)は、符号化エンジン(1032)のための予測探索を実行することができる。すなわち、符号化されるべき新たなフレームについて、予測器(1035)は、新たなピクチャのための適切な予測参照として役立ちうる(候補参照ピクセルブロックとしての)サンプルデータあるいは参照ピクチャの動きベクトル、ブロック形状、などの特定のメタデータを求めて、参照ピクチャメモリ(1034)を検索し得る。予測器(1035)は、適切な予測参照を見つけるために、サンプルブロック対ピクセルブロックのやり方で動作することができる。いくつかの場合、予測器(1035)によって取得された検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(1034)に格納された複数の参照ピクチャから引き出される予測参照を有することができる。
【0054】
コントローラ(1050)は、例えば、ビデオデータを符号化するために使用されるパラメータおよびサブグループパラメータの設定など、ビデオコーダ(1030)の符号化動作を管理することができる。
【0055】
前述のすべての機能ユニットの出力は、エントロピコーダ(1045)におけるエントロピ符号化の対象となり得る。エントロピコーダは、例えばハフマン符号化、可変長符号化、算術符号化、などの当業者に知られた技術に従ってシンボルを可逆に圧縮することによって、種々の機能ユニットによって生成されたシンボルを符号化ビデオシーケンスに変換する。
【0056】
トランスミッタ(1040)は、符号化されたビデオデータを格納するストレージデバイスへのハードウェア/ソフトウェアリンクであってよい通信チャネル(1060)を介した送信のための準備のために、エントロピコーダ(1045)によって生成された符号化ビデオシーケンスをバッファすることができる。トランスミッタ(1040)は、ビデオコーダ(1030)からの符号化されたビデオデータを、符号化されたオーディオデータおよび/または補助データストリーム(ソースは図示せず)などの送信されるべき他のデータと統合することができる。
【0057】
コントローラ(1050)は、エンコーダ(803)の動作を管理することができる。符号化の際に、コントローラ(1050)は、各々の符号化されたピクチャに、それぞれのピクチャに適用され得る符号化技術を左右し得る特定の符号化ピクチャタイプを割り当てることができる。例えば、ピクチャは、以下のフレームタイプのうちの1つとして割り当てられることが多い。
【0058】
イントラピクチャ(Iピクチャ)は、シーケンス内の他のフレームを予測のソースとして使用することなく符号化および復号され得るピクチャであり得る。いくつかのビデオコーデックは、例えばIndependent Decoder Refresh Picturesを含む異なる種類のイントラピクチャを可能にする。当業者は、Iピクチャのそれらの変種ならびにそれらのそれぞれの用途および特徴を認識している。
【0059】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために最大で1つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して符号化および復号され得るピクチャであり得る。
【0060】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために最大で2つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して符号化および復号され得るピクチャであり得る。同様に、複数予測ピクチャは、単一のブロックの再構成のために3つ以上の参照ピクチャおよび関連のメタデータを使用することができる。
【0061】
ソースピクチャは、一般に、複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8、または16×16サンプルのブロック)へと空間的に細分化され、ブロックごとのやり方で符号化され得る。ブロックは、ブロックのそれぞれのピクチャに適用される符号化割当によって決定されるように、他の(すでに符号化された)ブロックを参照して予測的に符号化され得る。例えば、Iピクチャのブロックは、非予測的に符号化されてよく、あるいは同じピクチャのすでに符号化されたブロックを参照して予測的に符号化されてよい(空間予測またはイントラ予測)。Pピクチャのピクセルブロックは、非予測的に符号化されても、以前に符号化された1つの参照ピクチャを参照して空間予測または時間予測を介して符号化されてもよい。Bピクチャのブロックは、非予測的に符号化されても、以前に符号化された1つまたは2つの参照ピクチャを参照して空間予測または時間予測を介して符号化されてもよい。
【0062】
ビデオコーダ(803)は、ITU-T勧告H.265などの所定のビデオ符号化技術または規格に従って符号化動作を実行することができる。その動作において、ビデオコーダ(803)は、入力ビデオシーケンスにおける時間的および空間的冗長性を利用する予測符号化動作を含むさまざまな圧縮動作を実行することができる。したがって、符号化されたビデオデータは、使用されているビデオ符号化技術または規格によって指定された構文に従うことができる。
【0063】
一実施形態において、トランスミッタ(1040)は、符号化されたビデオと共に追加のデータを送信することができる。ビデオコーダ(1030)は、そのようなデータを符号化されたビデオシーケンスの一部として含むことができる。追加のデータは、時間/空間/SNR強化レイヤ、冗長ピクチャおよびスライスなどの他の形態の冗長データ、補足強化情報(SEI)メッセージ、ビジュアルユーザビリティ情報(VUI)パラメータセットフラグメント、などを含みうる。
【0064】
上述したように、VTM3.0において、MPMリスト候補導出プロセスは、ISPモードが有効でない場合の隣接参照ライン、ISPモードが有効である場合の隣接参照ライン、および非隣接参照ラインについて異なり得る。結果として、MPMリスト候補導出プロセスは、符号化効率における明確な利益を伴わずに、それぞれの場合において複雑になり得る。
【0065】
実施形態において、最も近い参照ラインのラインインデックスは0であってよく、最も近い参照ラインは、ゼロの参照ラインまたは隣接参照ラインと呼ばれ得る。他のラインは、非ゼロの参照ラインまたは非隣接参照ラインと呼ばれ得る。以下の説明において、candModeListは、MPMリストを表すことができ、RefLineIdxは、現在のブロックの参照ラインインデックスを表すことができ、candIntraPredModeAおよびcandIntraPredModeBは、左および上方の隣接モードを表すことができる。1つの隣接モードが平面モードまたはDCモードではない場合、または1つの隣接モードが、VVC draft 2で定義されたイントラ予測モード2~66などの所与の予測方向に従って予測サンプルを生成している場合、このモードは角度モードと呼ばれ得る。1つのモードが、平面モードまたはDCモードなど、指向性イントラ予測を示していない場合、このモードは、非角度モードと呼ばれ得る。各々のイントラ予測モードは、イントラ予測モードインデックスと呼ばれ得るモード番号に関連付けられ得る。例えば、平面、DC、水平、および垂直イントラ予測モードは、それぞれモード番号0、1、18、および50に関連付けられ得る。
【0066】
一実施形態において、MPMリスト内の第1の候補のMPMインデックスを、0と表すことができ、第2の候補のMPMインデックスを、1と表すことができ、以下同様である。
【0067】
一実施形態において、変数minABおよびmaxABを、以下のように導出することができる。
candModeList[0]=candIntraPredModeA
candModeList[1]=candIntraPredModeB
minAB=candModeList[(candModeList[0]>candModeList[1])?1:0]
maxAB=candModeList[(candModeList[0]>candModeList[1])?0:1]
【0068】
一実施形態において、変数offsetおよびmodは、以下の2つのシナリオ、すなわちoffset=61、mod=64またはoffset=62、mod=65のいずれか一方に従って設定されてよい。
【0069】
一実施形態においては、ISPモードが有効でない場合の隣接参照ライン、ISPモードが有効である場合の隣接参照ライン、および非隣接参照ラインについて、同じMPMリスト構築プロセスが共有されてよく、候補の順序は同じであってよい。
【0070】
一実施形態において、平面モードおよびDCモードは常にMPMリストに含まれてよく、導出された角度イントラ予測モードの数はNに等しく設定されてよい。Nは、1、2、3、4、5、または6などの正の整数であってよい。
【0071】
一実施形態においては、ISP関連の構文要素が、参照ラインインデックスの後にシグナリングされてよく、参照ラインインデックスが隣接参照ラインを示すデフォルト値である場合に使用される。
【0072】
一実施形態において、参照ラインインデックス関連の構文要素は、ISP関連の構文要素の後に、ISP関連の構文要素がISPモードが使用されないことを示す値でシグナリングされる場合に、シグナリングされてよい。
【0073】
別の実施形態において、MPMリスト内のすべての候補を、ISPモードが有効でない場合のゼロの参照ラインのために使用することができる。
【0074】
別の実施形態において、MPMリスト内のDCモードを除くすべての候補を、ISPモードが有効である場合の隣接参照ラインのために使用することができる。
【0075】
別の実施形態において、MPMリスト内の平面モードおよびDCモードを除くすべての候補を、非隣接参照ラインのために使用することができる。
【0076】
別の実施形態において、平面モードは、インデックス0でMPMリストに常に最初に挿入されてよい。
【0077】
一実施形態において、平面モードおよびDCモードは、インデックス0および1でMPMリストに常に最初に挿入されてよい。
【0078】
別の実施形態において、MPMインデックスのシグナリングは、コンテキスト符号化されてよく、コンテキストは、隣接ブロックが角度予測モードによって符号化され得るかどうかに依存する。
【0079】
別の実施形態において、MPMインデックスのシグナリングは、コンテキスト符号化されてよく、コンテキストは、隣接ブロックのMPMインデックス(および/または、MPMフラグ)に依存する。
【0080】
一実施形態において、MPMインデックスの最初のK個のビンのシグナリングは、コンテキス符号化されてよく、コンテキストは、隣接ブロックのMPMインデックスおよび参照ラインインデックス(および/または、MPMフラグ)に依存する。Kは、1または2などの正の整数であってよい。
【0081】
一実施形態において、MPMインデックスの最初のK個のビンは、コンテキス符号化されてよく、コンテキストは、隣接ブロックのMPMインデックス、ISPフラグ、および参照ラインインデックス(および/または、MPMフラグ)に依存する。
【0082】
別の実施形態において、MPMインデックスの最初のK個のビンは、コンテキスト符号化されてよく、MPMインデックスの他のビンは、バイパス符号化される。
【0083】
別の実施形態において、ここで使用される隣接ブロックは、MPMリスト生成に使用される隣接ブロックと同じであってよい。
【0084】
一実施形態において、参照ラインインデックスが0としてシグナリングされるとき、MPMインデックスの最初のK個のビン、例えば最初の2つのビンは、コンテキスト符号化されてよく、コンテキストは、ISPモードが有効であるかどうか、および/または現在のブロックの参照ラインインデックス値に依存し得る。
【0085】
一実施形態において、参照ラインインデックスが0としてシグナリングされる場合、MPMインデックスの最初のK個のビン、例えば最初の2つのビンは、コンテキスト符号化されてよく、コンテキストは、隣接ブロックのMPMインデックスおよび参照ラインインデックス(および/または、MPMフラグ)に依存し得る。
【0086】
別の実施形態において、MPMインデックスの最初のK個のビンについて、3つのコンテキストが使用され得る。隣接ブロックの両方のMPMフラグが真であり、参照ラインインデックスが0であり、MPMインデックスがTh以下である場合、1つのコンテキストが使用され、そうではなく、隣接ブロックのMPMフラグのうちの1つだけが真であり、参照ラインインデックスが0であり、MPMインデックスがTh以下である場合、第2のコンテキストが使用され得る。そうでない場合、第3のコンテキストが使用され得る。Thは、1、2、または3などの正の整数であってよい。
【0087】
別の実施形態において、参照ラインインデックスがゼロとしてシグナリングされ、ISPが現在のブロックについて偽に等しく設定される場合、MPMインデックスの第2のビンについて、MPMインデックスの第2のビンはコンテキスト符号化され得る。隣接ブロックの両方のMPMフラグが真であり、参照ラインインデックスが0に等しく、MPMインデックスが1(または、0)に等しい場合、1つのコンテキストが使用され得、そうではなく、隣接ブロックのMPMフラグのうちの1つだけが真であり、参照ラインインデックスが0に等しく、MPMインデックスが1(または、0)に等しい場合、第2のコンテキストが使用され得る。そうでない場合、第3のコンテキストが使用され得る。
【0088】
一実施形態において、真に等しいISPフラグを有する隣接参照ラインおよび非隣接参照ラインについて、MPMリスト候補を、左方および上方の隣接モード間の絶対的なモード数の差が所与のしきい値以上である場合、同じ規則を使用して導出することができる。
【0089】
一実施形態において、所与のしきい値は0であり、これは、MPMリスト候補が、左方および上方の隣接モードの間のモード数の差にかかわらず同じ規則を使用して導出されることを意味する。
【0090】
別の実施形態において、左方および上方の隣接モードが等しくない場合、MPMリスト候補は、左方および上方の隣接モードの間のモード数の差にかかわらず同じ規則を使用して導出され得る。
【0091】
一実施形態において、左方および上方の隣接モードが両方とも角度モードであるが、等しくない場合、MPMリスト候補は、左方および上方の隣接モードの間のモード数の差にかかわらず同じ規則を使用して導出される。
【0092】
一例において、6つのMPM候補が以下のように導出される。
candModeList[0]=candIntraPredModeA
candModeList[1]=candIntraPredModeB
candModeList[2]=2+((minAB+offset)%mod)
candModeList[3]=2+((minAB-1)%mod)
candModeList[4]=2+((maxAB+offset)%mod)
candModeList[5]=2+((maxAB-1)%mod)
【0093】
別の例において、6つのMPM候補が以下のように導出される。
candModeList[0]=candIntraPredModeA
candModeList[1]=candIntraPredModeB
candModeList[2]=2+((minAB+offset)%mod)
candModeList[3]=2+((maxAB-1)%mod)
candModeList[4]=2+((minAB-1)%mod)
candModeList[5]=2+((maxAB+offset)%mod)
【0094】
別の例において、6つのMPM候補が以下のように導出される。
candModeList[0]=candIntraPredModeA
candModeList[1]=candIntraPredModeB
candModeList[2]=2+((maxAB+offset)%mod)
candModeList[3]=2+((maxAB-1)%mod)
candModeList[4]=2+((minAB+offset)%mod)
candModeList[5]=2+((minAB-1)%mod)
【0095】
別の例において、6つのMPM候補が以下のように導出される。
candModeList[0]=candIntraPredModeA
candModeList[1]=candIntraPredModeB
candModeList[2]=2+((candIntraPredModeA+offset)%mod)
candModeList[3]=2+((candIntraPredModeA-1)%mod)
candModeList[4]=2+((candIntraPredModeB+offset)%mod)
candModeList[5]=2+((candIntraPredModeB-1)%mod)
【0096】
別の実施形態において、左方および上方の少なくとも一方が角度モードである場合、MPMリスト候補は、左方および上方の隣接モードの間のモード数の差にかかわらず同じ規則を使用して導出され得る。
【0097】
一実施形態において、左方および上方の隣接モードのどちらも非角度モードである場合、デフォルトモードがMPM候補リストを満たすために使用され、角度デフォルトモードは、ISPフラグが偽に等しい隣接参照ライン、ISPフラグが真に等しい隣接参照ライン、および非隣接参照ラインについて同じである。
【0098】
一実施形態において、デフォルト角度モードは{50、18、2、34}であり得る。
【0099】
別の実施形態において、デフォルト角度モードは{50、18、34、66}であり得る。
【0100】
図11が、符号化ビデオビットストリーム中の現ブロックを符号化するために使用されるイントラ予測モードをシグナリングするための典型的なプロセス1100のフローチャートである。いくつかの実装において、
図11の1つ以上のプロセスブロックは、デコーダ810によって実行され得る。いくつかの実装において、
図11の1つ以上のプロセスブロックは、エンコーダ803など、別のデバイス、あるいはデコーダ810とは別であり、もしくはデコーダ810を含むデバイス群によって実行され得る。
【0101】
図11に示されるように、プロセス1100は、複数の候補イントラ予測モードを決定することを含むことができる(ブロック1110)。
【0102】
図11にさらに示されるように、プロセス1100は、複数の候補イントラ予測モードを使用して最確モード(MPM)リストを生成することを含むことができる(ブロック1120)。
【0103】
図11にさらに示されるように、プロセス1100は、隣接参照ラインおよび複数の非隣接参照ラインを含む複数の参照ラインの中から現ブロックを符号化するために使用される参照ラインを示す参照ラインインデックスをシグナリングすることを含むことができる(ブロック1130)。
【0104】
図11にさらに示されるように、プロセス1100は、イントラ予測モードを示すイントラモードインデックスをシグナリングすることを含むことができる(ブロック1140)。
【0105】
一実施形態において、MPMリストは、現ブロックを符号化するために使用される参照ライン、およびイントラサブパーティション(ISP)モードが有効であるかどうかに基づいて生成され得る。
【0106】
一実施形態において、参照ラインが隣接参照ラインであること、およびISPモードが有効でないことに基づいて、MPMリストは、候補イントラ予測モードのすべてを含み得る。
【0107】
一実施形態において、参照ラインが隣接参照ラインであること、およびISPモードが有効であることに基づいて、MPMリストは、DCモードを除く候補イントラ予測モードのすべてを含み得る。
【0108】
一実施形態において、参照ラインが複数の非隣接参照ラインのうちの1つであることに基づいて、MPMリストは、DCモードおよび平面モードを除く候補イントラ予測モードのすべてを含み得る。
【0109】
一実施形態において、MPMリストの第1のイントラ予測モードは平面モードであり得る。
【0110】
一実施形態において、MPMリストの第2のイントラ予測モードはDCモードであり得る。
【0111】
一実施形態において、参照ラインが隣接参照ラインであることを示す参照ラインインデックスに基づいて、イントラモードインデックスの最初の2つのビンがコンテキスト符号化され、コンテキストは、ISPモードが有効であるかどうかに基づいて決定され得る。
【0112】
一実施形態において、参照ラインが隣接参照ラインであることを示す参照ラインインデックスに基づいて、イントラモードインデックスの最初の2つのビンがコンテキスト符号化され、コンテキストは、参照ラインインデックスの値に基づいて決定され得る。
【0113】
一実施形態において、参照ラインが隣接参照ラインであることを示す参照ラインインデックスに基づいて、イントラモードインデックスの最初の2つのビンがコンテキスト符号化され、コンテキストは、ISPモードが有効であるかどうか、および参照ラインインデックスに基づいて決定され得る。
【0114】
一実施形態において、参照ラインが隣接参照ラインであることを示す参照ラインインデックスに基づいて、イントラモードインデックスの最初の2つのビンがコンテキスト符号化され、コンテキストは、イントラモードインデックス、および隣接ブロックを符号化するために使用された参照ラインを示す参照ラインインデックスに基づいて決定され得る。
【0115】
図11はプロセス1100の典型的なブロックを示しているが、いくつかの実装において、プロセス1100は、
図11に示されたブロックと比べて、追加のブロック、より少数のブロック、異なるブロック、または異なる配置のブロックを含むことができる。これに加え、あるいはこれに代えて、プロセス1100のブロックのうちの2つ以上が並列に実行されてもよい。
【0116】
さらに、提案される方法は、処理回路(例えば、1つ以上のプロセッサまたは1つ以上の集積回路)によって実装され得る。一例においては、1つ以上のプロセッサが、非一時的なコンピュータ可読媒体に格納されたプログラムを実行して、提案される方法のうちの1つ以上を実行する。
【0117】
上述した技術は、コンピュータ可読命令を使用し、1つ以上のコンピュータ可読媒体に物理的に格納されたコンピュータソフトウェアとして実装され得る。例えば、
図12が、本開示の主題の特定の実施形態の実装に適したコンピュータシステム1200を示している。
【0118】
コンピュータソフトウェアは、任意の適切なマシンコードまたはコンピュータ言語を使用して符号化されてよく、アセンブリ、コンパイル、リンク、または同様の機構により、コンピュータ中央処理装置(CPU)、グラフィック処理装置(GPU)、などによって直接実行でき、あるいはインタープリタ、マイクロコード実行、などを介して実行できる命令を含むコードを生み出すことができる。
【0119】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機、IoTデバイス、などを含むさまざまな種類のコンピュータまたはその構成要素上で実行され得る。
【0120】
コンピュータシステム1200について
図12に示される構成要素は、本質的に例示であり、本開示の実施形態を実装するコンピュータソフトウェアの使用または機能の範囲について、いかなる限定を示唆することも意図していない。コンポーネントの構成を、コンピュータシステム1200の典型的な実施形態に示されているいずれかの構成要素または構成要素の組み合わせに関する何らかの依存性または要件を有していると、解釈してはならない。
【0121】
コンピュータシステム1200は、特定のヒューマンインターフェース入力デバイスを含むことができる。そのようなヒューマンインターフェース入力デバイスは、例えば、触れることによる入力(キーストローク、スワイプ、データグローブの動き、など)、音声入力(声、拍手、など)、視覚入力(ジェスチャなど)、嗅覚入力(図示せず)を介した1人以上の人間のユーザによる入力に応答することができる。さらに、ヒューマンインターフェースデバイスを、オーディオ(例えば、音声、音楽、周囲音)、画像(例えば、スキャン画像、静止画カメラから得られる写真画像)、ビデオ(例えば、二次元ビデオ、立体ビデオを含む三次元ビデオ)、などの人間による意識的な入力に必ずしも直接的に関連しない特定の媒体を取り込むために使用することもできる。
【0122】
入力ヒューマンインターフェースデバイスは、キーボード1201、マウス1202、トラックパッド1203、タッチスクリーン1210、データグローブ1204、ジョイスティック1205、マイクロフォン1206、スキャナ1207、カメラ1208(それぞれ1つだけ図示されている)のうちの1つ以上を含むことができる。
【0123】
さらに、コンピュータシステム1200は、特定のヒューマンインターフェース出力デバイスを含むことができる。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および匂い/味によって1人以上の人間のユーザの感覚を刺激することができる。そのようなヒューマンインターフェース出力デバイスとして、触覚出力デバイス(例えば、タッチスクリーン1210、データグローブ1204、またはジョイスティック1205による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスも存在し得る)、音声出力デバイス(例えば、スピーカ1209、ヘッドホン(図示せず))、視覚出力デバイス(例えば、陰極線管(CRT)スクリーン、液晶ディスプレイ(LCD)スクリーン、プラズマスクリーン、有機発光ダイオード(OLED)スクリーンを含むスクリーン1210であり、それぞれタッチスクリーン入力機能を備えても、備えなくてもよく、それぞれ触覚フィードバック機能を備えても、備えなくてもよく、一部は二次元の視覚出力を出力可能であってよく、あるいは立体出力、仮想現実メガネ(図示せず)、ホログラフィックディスプレイ、および煙タンク(図示せず)などの手段によって三次元以上の出力を出力することが可能であってよい)、およびプリンタ(図示せず)を挙げることができる。
【0124】
さらに、コンピュータシステム1200は、CD/DVDなどの媒体1221を有するCD/DVD ROM/RW 1220などの光学媒体、サムドライブ1222、リムーバブルハードドライブまたはソリッドステートドライブ1223、テープおよびフロッピーディスク(図示せず)などのレガシー磁気媒体、セキュリティドングル(図示せず)などの専用ROM/ASIC/PLDベースのデバイス、などの人間にとってアクセス可能な記憶装置およびそれらの関連の媒体を含むことができる。
【0125】
さらに、当業者であれば、本開示の主題に関連して使用されるとき、「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、または他の一時的信号を包含しないことを理解すべきである。
【0126】
さらに、コンピュータシステム1200は、1つ以上の通信ネットワークへのインターフェースを含むことができる。ネットワークは、例えば、無線、有線、光であり得る。さらに、ネットワークは、ローカル、広域、メトロポリタン、車両および産業、リアルタイム、遅延耐性、などであり得る。ネットワークの例として、イーサネットや無線LANなどのローカルエリアネットワーク、モバイル通信用グローバルシステム(GSM)、第3世代(3G)、第4世代(4G)、第5世代(5G)、ロングタームエボリューション(LTE)、などを含むセルラーネットワーク、ケーブルTV、衛星TV、および地上波放送TVを含むテレビ有線または無線広域デジタルネットワーク、CANBusを含む車両および産業用ネットワーク、などが挙げられる。特定のネットワークは、一般に、特定の汎用データポートまたは周辺バス(1249)(例えば、コンピュータシステム1200のユニバーサルシリアルバス(USB)ポートや、後述のようなシステムバスへの取り付けによってコンピュータシステム1200のコアに一般的に統合される他のポートなど)に取り付けられる外部ネットワークインターフェースアダプタを必要とする(例えば、PCコンピュータシステムへのイーサネットインターフェースまたはスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム1200は他のエンティティと通信することができる。そのような通信は、例えばローカルまたは広域デジタルネットワークを使用する他のコンピュータシステムに対して、受信のみの単方向(例えば、放送TV)、送信のみの単方向(例えば、CANbusから特定のCANbusデバイスへ)、または双方向であり得る。特定のプロトコルおよびプロトコルスタックが、上述したように、これらのネットワークおよびネットワークインターフェースのそれぞれで使用され得る。
【0127】
前述のヒューマンインターフェースデバイス、人間にとってアクセス可能な記憶装置、およびネットワークインターフェースは、コンピュータシステム1200のコア1240に取り付けられ得る。
【0128】
コア1240は、1つ以上の中央処理装置(CPU)1241、グラフィック処理装置(GPU)1242、フィールドプログラマブルゲートエリア(FPGA)1243の形態の特殊なプログラマブル処理装置、特定のタスクのためのハードウェアアクセラレータ1244、などを含むことができる。これらのデバイスは、読み取り専用メモリ(ROM)1245、ランダムアクセスメモリ(RAM)1246、ユーザによるアクセスが不可能な内部ハードドライブ、ソリッドステートドライブ(SSD)などの内部大容量ストレージ1247と共に、システムバス1248を介して接続され得る。いくつかのコンピュータシステムにおいて、システムバス1248は、追加のCPU、GPUなどによる拡張を可能にするために、1つ以上の物理プラグの形態でアクセス可能であり得る。周辺機器を、コアのシステムバス1248に直接取り付けることができ、あるいは周辺機器用バス1249を介して取り付けることができる。周辺機器用バスのアーキテクチャは、周辺機器相互接続(PCI)、USB、などを含む。
【0129】
CPU 1241、GPU 1242、FPGA 1243、およびアクセラレータ1244は、組み合わせにて上述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードは、ROM 1245またはRAM 1246に格納され得る。一時的なデータもRAM 1246に格納され得る一方で、恒久的なデータは、例えば内部大容量ストレージ1247に格納され得る。メモリデバイスのいずれかへの高速な格納および取り出しを、1つ以上のCPU 1241、GPU 1242、大容量記憶装置1247、ROM 1245、およびRAM 1246、などに密接に関連付けられ得るキャッシュメモリの使用によって可能にすることができる。
【0130】
コンピュータ可読媒体は、コンピュータによって実現されるさまざまな動作を実行するためのコンピュータコードを有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築された媒体およびコンピュータコードであってよく、あるいはコンピュータソフトウェア技術の当業者にとって周知かつ利用可能な種類の媒体およびコンピュータコードであってよい。
【0131】
限定ではなく、例として、アーキテクチャ1200を有するコンピュータシステム、とりわけコア1240は、1つ以上の有形のコンピュータ可読媒体に具現化されたソフトウェアのプロセッサ(CPU、GPU、FPGA、アクセラレータ、などを含む)による実行の結果としての機能を提供することができる。そのようなコンピュータ可読媒体は、上述のようなユーザにとってアクセス可能な大容量ストレージ、ならびにコア内部大容量ストレージ1247またはROM 1245などの非一時的な性質のコア1240の特定のストレージに関連付けられた媒体であり得る。本開示のさまざまな実施形態を実現するソフトウェアは、そのようなデバイスに格納され、コア1240によって実行され得る。コンピュータ可読媒体は、特定の必要性に応じて、1つ以上のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア1240、具体的にはコア内のプロセッサ(CPU、GPU、FPGA、などを含む)に、RAM 1246に格納されるデータ構造を定義すること、およびソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を修正することを含む本明細書に記載の特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。これに加え、あるいはこれに代えて、コンピュータシステムは、ソフトウェアの代わりに動作し、あるいはソフトウェアと協働して、本明細書に記載の特定のプロセスまたは特定のプロセスの特定の部分を実行することができる配線または他のやり方で回路(例えば、アクセラレータ1244)に具現化された論理回路の結果としての機能を提供することができる。ソフトウェアへの言及は、必要に応じて、論理回路を包含することができ、逆もまた同様である。コンピュータ可読媒体への言及は、必要に応じて、実行のためのソフトウェアを格納する回路(集積回路(IC)など)、実行のための論理回路を具現化する回路、またはその両方を包含することができる。本開示は、ハードウェアとソフトウェアとの任意の適切な組み合わせを包含する。
【0132】
いくつかの典型的な実施形態を本開示において説明してきたが、本開示の範囲に含まれる変更、置換、およびさまざまな代替の等価物が存在する。したがって、本明細書に明示的には示されておらず、あるいは説明されていないが、本開示の原理を具現化し、したがって本開示の精神および範囲に含まれる多数のシステムおよび方法を、当業者であれば考え出すことができることを、理解できるであろう。
【0133】
頭字語:
HEVC:高効率ビデオ符号化
HDR:高ダイナミックレンジ
SDR:標準ダイナミックレンジ
VVC:多用途ビデオ符号化
JVET:共同ビデオ研究チーム
MPM:最確モード
WAIP:広角イントラ予測
CU:符号化ユニット
PU:予測ユニット
PDPC:位置依存予測組み合わせ
ISP:イントラサブパーティション