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

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

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

特許7259013マルチラインイントラ予測のためのモードリストを生成する方法、並びにその装置及びコンピュータプログラム
<>
  • 特許-マルチラインイントラ予測のためのモードリストを生成する方法、並びにその装置及びコンピュータプログラム 図1
  • 特許-マルチラインイントラ予測のためのモードリストを生成する方法、並びにその装置及びコンピュータプログラム 図2
  • 特許-マルチラインイントラ予測のためのモードリストを生成する方法、並びにその装置及びコンピュータプログラム 図3
  • 特許-マルチラインイントラ予測のためのモードリストを生成する方法、並びにその装置及びコンピュータプログラム 図4
  • 特許-マルチラインイントラ予測のためのモードリストを生成する方法、並びにその装置及びコンピュータプログラム 図5
  • 特許-マルチラインイントラ予測のためのモードリストを生成する方法、並びにその装置及びコンピュータプログラム 図6
  • 特許-マルチラインイントラ予測のためのモードリストを生成する方法、並びにその装置及びコンピュータプログラム 図7
  • 特許-マルチラインイントラ予測のためのモードリストを生成する方法、並びにその装置及びコンピュータプログラム 図8
  • 特許-マルチラインイントラ予測のためのモードリストを生成する方法、並びにその装置及びコンピュータプログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-07
(45)【発行日】2023-04-17
(54)【発明の名称】マルチラインイントラ予測のためのモードリストを生成する方法、並びにその装置及びコンピュータプログラム
(51)【国際特許分類】
   H04N 19/11 20140101AFI20230410BHJP
   H04N 19/14 20140101ALI20230410BHJP
   H04N 19/176 20140101ALI20230410BHJP
   H04N 19/46 20140101ALI20230410BHJP
   H04N 19/593 20140101ALI20230410BHJP
【FI】
H04N19/11
H04N19/14
H04N19/176
H04N19/46
H04N19/593
【請求項の数】 20
(21)【出願番号】P 2021512372
(86)(22)【出願日】2019-09-30
(65)【公表番号】
(43)【公表日】2021-08-26
(86)【国際出願番号】 US2019053769
(87)【国際公開番号】W WO2020072346
(87)【国際公開日】2020-04-09
【審査請求日】2020-11-04
【審判番号】
【審判請求日】2022-09-22
(31)【優先権主張番号】62/742,252
(32)【優先日】2018-10-05
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/511,626
(32)【優先日】2019-07-15
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジャオ,リアン
(72)【発明者】
【氏名】ジャオ,シン
(72)【発明者】
【氏名】リ,シアン
(72)【発明者】
【氏名】リィウ,シャン
【合議体】
【審判長】畑中 高行
【審判官】川崎 優
【審判官】國分 直樹
(56)【参考文献】
【文献】特表2021-530160(JP,A)
【文献】米国特許出願公開第2018/0146211(US,A1)
【文献】国際公開第2020/002641(WO,A1)
【文献】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
【文献】Biao Wang, et al.,CE3-related: Harmonization on MPM list construction,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-M0295_r2,13th Meeting: Marrakech, MA,2019年01月,pp.1-7
【文献】Ling Li, et al.,CE3-related: Harmonization on MPM list,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-M0815_v2,13th Meeting: Marrakech, MA,2019年01月,pp.1-2
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサが実行する、符号化された動画像ビットストリームにおける、現在ブロックを符号化するために使用されるイントラ予測モードをシグナリングする方法であって、
前記少なくとも1つのプロセッサが、
前記現在ブロックのゼロ参照ラインに対応する第1の最確モードリスト(MPMリスト)を生成するステップであって、前記第1のMPMリストが、第1の複数のイントラ予測モードを含む、ステップと、
前記現在ブロックの1つ以上の非ゼロ参照ラインに対応する第2のMPMリストを生成するステップであって、前記第2のMPMリストが、前記第1の複数のイントラ予測モードのサブセットである第2の複数のイントラ予測モードからなる、ステップと、
前記ゼロ参照ラインおよび前記1つ以上の非ゼロ参照ラインのうち、前記現在ブロックを符号化するために使用される参照ラインを示す参照ラインインデックスをシグナリングするステップと、
前記イントラ予測モードを示すイントラモードインデックスをシグナリングするステップとを含み、
前記参照ラインが前記ゼロ参照ラインであることを前記参照ラインインデックスが示すことに基づいて、前記イントラモードインデックスが、第1のMPMリスト内の前記イントラ予測モードを示す、もしくは、
前記参照ラインが前記1つ以上の非ゼロ参照ラインのうちの1つであることを前記参照ラインインデックスが示すことに基づいて、前記イントラモードインデックスが、前記第2のMPMリスト内の前記イントラ予測モードを示す、方法。
【請求項2】
前記ゼロ参照ラインが、前記現在ブロックの複数の参照ラインのうち、最も近い参照ラインを含む、請求項1に記載の方法。
【請求項3】
平面イントラ予測モードが、前記第2のMPMリストから除外される、請求項1に記載の方法。
【請求項4】
DCイントラ予測モードが前記第2のMPMリストから除外される、請求項1に記載の方法。
【請求項5】
平面イントラ予測モードおよびDCイントラ予測モードが、前記第2のMPMリストから除外される、請求項1に記載の方法。
【請求項6】
前記第2のMPMリストが、前記第1のMPMリストよりも小さく、平面イントラ予測モード、DCイントラ予測モード、およびMPMインデックスが5と等しいモードが、前記第2のMPMリストから除外される、請求項1に記載の方法。
【請求項7】
前記第1の複数のイントラ予測モードの数が6であり、前記第2の複数のイントラ予測モードの数が4である、請求項6に記載の方法。
【請求項8】
前記参照ラインが前記ゼロ参照ラインであることを前記参照ラインインデックスが示すことに基づいて、第1の数のビンを使用して、前記イントラモードインデックスがシグナリングされ、
前記参照ラインが前記1つ以上の非ゼロ参照ラインのうちの前記1つであることを前記参照ラインインデックスが示すことに基づいて、前記第1の数のビンよりも少ない第2の数のビンを使用して、前記イントラモードインデックスがシグナリングされる、
請求項1に記載の方法。
【請求項9】
前記第1の数のビンが5つであり、前記第2の数のビンが3つである、請求項8に記載の方法。
【請求項10】
前記参照ラインインデックスが、前記イントラモードインデックスの前にシグナリングされる、請求項1に記載の方法。
【請求項11】
符号化された動画像ビットストリームにおける、現在ブロックを符号化するために使用されるイントラ予測モードをシグナリングするデバイスであって、
プログラムコードを記憶するように構成された少なくとも1つのメモリと、
前記プログラムコードを読み、前記プログラムコードによって命令されるように動作するように構成された少なくとも1つのプロセッサとを備え、
前記プログラムコードが、
前記現在ブロックのゼロ参照ラインに対応する第1の最確モードリスト(MPMリスト)を生成することを前記プロセッサに行わせるように構成された第1生成コードであって、前記第1のMPMリストが、第1の複数のイントラ予測モードを含む、第1生成コードと、
前記現在ブロックの1つ以上の非ゼロ参照ラインに対応する第2のMPMリストを生成することを前記プロセッサに行わせるように構成された第2生成コードであって、前記第2のMPMリストが、前記第1の複数のイントラ予測モードのサブセットである第2の複数のイントラ予測モードからなる、第2生成コードと、
前記ゼロ参照ラインおよび前記1つ以上の非ゼロ参照ラインのうち、前記現在ブロックを符号化するために使用される参照ラインを示す参照ラインインデックスをシグナリングすることを前記プロセッサに行わせるように構成された第1通知コードと、
前記イントラ予測モードを示すイントラモードインデックスをシグナリングすることを前記プロセッサに行わせるように構成された第2通知コードとを含み、
前記参照ラインが前記ゼロ参照ラインであることを前記参照ラインインデックスが示すことに基づいて、前記イントラモードインデックスが第1のMPMリスト内の前記イントラ予測モードを示す、もしくは、
前記参照ラインが前記1つ以上の非ゼロ参照ラインのうちの1つであることを前記参照ラインインデックス示すことに基づいて、前記イントラモードインデックスが、前記第2のMPMリスト内の前記イントラ予測モードを示す、デバイス。
【請求項12】
平面イントラ予測モードが、前記第2のMPMリストから除外される、請求項11に記載のデバイス。
【請求項13】
DCイントラ予測モードが前記第2のMPMリストから除外される、請求項11に記載のデバイス。
【請求項14】
平面イントラ予測モードおよびDCイントラ予測モードが、前記第2のMPMリストから除外される、請求項11に記載のデバイス。
【請求項15】
前記第2のMPMリストが、前記第1のMPMリストよりも小さく、平面イントラ予測モード、DCイントラ予測モード、およびMPMインデックスが5と等しいモードが、前記第2のMPMリストから除外される、請求項11に記載のデバイス。
【請求項16】
前記第1の複数のイントラ予測モードの数が6であり、前記第2の複数のイントラ予測モードの数が4である、請求項15に記載のデバイス。
【請求項17】
前記参照ラインが前記ゼロ参照ラインであることを前記参照ラインインデックスが示すことに基づいて、第1の数のビンを使用して、前記イントラモードインデックスがシグナリングされ、
前記参照ラインが前記1つ以上の非ゼロ参照ラインのうちの1つであることを前記参照ラインインデックスが示すことに基づいて、前記第1の数のビンよりも少ない第2の数のビンを使用して、前記イントラモードインデックスがシグナリングされる、
請求項11に記載のデバイス。
【請求項18】
前記第1の数のビンが5つであり、前記第2の数のビンが3つである、請求項17に記載のデバイス。
【請求項19】
前記参照ラインインデックスが、前記イントラモードインデックスの前にシグナリングされる、請求項11に記載のデバイス。
【請求項20】
コンピュータに請求項1乃至10の何れか一項に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、米国特許商標庁に、2018年10月5日に出願された米国仮出願第62/742,252号明細書および2019年7月15日に出願された米国特許出願第16/511,626号明細書による、米国特許法119条による優先権を主張しており、これらの明細書は、参照によりその全体が本明細書に援用される。
【0002】
本開示は、高度な動画像符号化技術に関する。より具体的には、本開示は、マルチラインイントラ予測のためのモードリスト生成スキームに関する。
【背景技術】
【0003】
ITU-T VCEG(Q6/16)およびISO/IEC MPEG(JTC 1/SC 29/WG 11)は、H.265/HEVC(High Efficiency Video Coding)規格を、2013年(バージョン1)、2014年(バージョン2)、2015年(バージョン3)、および2016年(バージョン4)に発表した[1]。2015年に、これら2つの標準組織は、共同でJVET(Joint Video Exploration Team)を結成し、HEVCを超える次の動画像符号化規格の開発の可能性を探索した。2017年10月、これらの標準組織は、HEVCを超える性能を備えた動画像圧縮に関する共同提案募集(CfP)を発行した。2018年2月15日までに、標準ダイナミックレンジ(SDR)で合計22のCfPレスポンス、ハイダイナミックレンジ(HDR)で12のCfPレスポンス、360ビデオカテゴリ(360 video categories)で12のCfPレスポンスがそれぞれ提出された。2018年4月に、受領されたすべてのCfPレスポンスが、122 MPEG/第10回JVET会議で評価された。この会議の結果、JVETは、HEVCを超える次世代の動画像符号化の標準化プロセスを正式に開始した。新しい規格はVVC(Versatile Video Coding)と名付けられ、JVETはJoint Video Expert Teamと改名された。
【0004】
HEVCで使用されるイントラ予測モードを図1に示す。HEVCにおいては、合計35のイントラ予測モードがあり、これらのうち、モード10は水平モード、モード26は垂直モードであり、モード2、モード18およびモード34は斜めモードである。イントラ予測モードは、3つの最確モード(most probable mode;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】
マルチラインイントラ予測は、イントラ予測のためにより多くの参照ラインを使用するために提案され、エンコーダが、イントラ予測器を生成するために使用される参照ラインを決定および通知する。参照ラインインデックスはイントラ予測モードの前に通知され、非ゼロ参照ラインインデックスが通知された場合は、平面(Planar)モード/DCモードはイントラ予測モードから除外される。図2には、4つの参照ラインの例が描かれており、各参照ラインは、左上の参照サンプルとともに、6つのセグメント、すなわち、セグメントA~Fで構成されている。さらに、セグメントAおよびFには、それぞれセグメントBおよびEからの最も近いサンプルが埋め込まれる。
【0009】
マルチラインイントラ予測の場合、非ゼロ参照ラインで使用可能なモードがゼロ参照ラインと同じ場合、マルチラインイントラ予測の符号化の複雑度は非常に高くなる。したがって、非ゼロ参照ラインに使用可能なイントラ予測モードの数を減らす必要がある。
【発明の概要】
【課題を解決するための手段】
【0010】
一実施形態では、少なくとも1つのプロセッサが実行する、符号化された動画像ビットストリームにおける、現在ブロックを符号化するために使用されるイントラ予測モードをシグナリング(本願において、「信号伝達」、「通知」とも記する)する方法であって、少なくとも1つのプロセッサが、現在ブロックのゼロ参照ラインに対応する第1の最確モード(MPM)リスト(MPMリスト)を生成するステップであって、第1のMPMリストが、第1の複数のイントラ予測モードを含む、ステップと、現在ブロックの1つ以上の非ゼロ参照ラインに対応する第2のMPMリストを生成するステップであって、第2のMPMリストが、第2の複数のイントラ予測モードを含み、第2の複数のイントラ予測モードが、第1の複数のイントラ予測モードのサブセットを含む、ステップと、ゼロ参照ラインおよび1つ以上の非ゼロ参照ラインのうち、現在ブロックを符号化するために使用される参照ラインを示す参照ラインインデックスを信号伝達するステップと、イントラ予測モードを示すイントラモードインデックスを信号伝達するステップとを含み、参照ラインがゼロ参照ラインであることを参照ラインインデックスが示すことに基づいて、イントラモードインデックスが第1のMPMリスト内のイントラ予測モードを示し、もしくは、参照ラインが1つ以上の非ゼロ参照ラインのうちの1つであることを参照ラインインデックスが示すことに基づいて、イントラモードインデックスが、第2のMPMリスト内のイントラ予測モードを示す、方法が提供される。
【0011】
一実施形態では、符号化された動画像ビットストリームにおける、現在ブロックを符号化するために使用されるイントラ予測モードを信号伝達するデバイスであって、プログラムコードを記憶するように構成された少なくとも1つのメモリと、プログラムコードを読み、プログラムコードによって命令されるように動作するように構成された少なくとも1つのプロセッサとを備え、プログラムコードが、現在ブロックのゼロ参照ラインに対応する第1の最確モードリスト(MPMリスト)を生成することをプロセッサに行わせるように構成された第1生成コードであって、第1のMPMリストが、第1の複数のイントラ予測モードを含む、第1生成コードと、現在ブロックの1つ以上の非ゼロ参照ラインに対応する第2のMPMリストを生成することをプロセッサに行わせるように構成された第2生成コードであって、第2のMPMリストが、第2の複数のイントラ予測モードを含み、第2の複数のイントラ予測モードが、第1の複数のイントラ予測モードのサブセットを含む、第2生成コードと、ゼロ参照ラインおよび1つ以上の非ゼロ参照ラインのうち、現在ブロックを符号化するために使用される参照ラインを示す参照ラインインデックスを信号伝達することをプロセッサに行わせるように構成された第1通知コードと、イントラ予測モードを示すイントラモードインデックスを信号伝達することをプロセッサに行わせるように構成された第2通知コードとを含み、参照ラインがゼロ参照ラインであることを参照ラインインデックスが示すことに基づいて、イントラモードインデックスが第1のMPMリスト内のイントラ予測モードを示し、もしくは、参照ラインが1つ以上の非ゼロ参照ラインのうちの1つであることを参照ラインインデックス示すことに基づいて、イントラモードインデックスが、第2のMPMリスト内のイントラ予測モードを示す、デバイスが提供される。
【0012】
一実施形態では、1つ以上の命令を含む命令を記憶する非一時的なコンピュータ可読媒体であって、上記1つ以上の命令が、符号化された動画像ビットストリームにおける、現在ブロックを符号化するために使用されるイントラ予測モードを信号伝達するデバイスの1つ以上のプロセッサによって実行されるとき、上記1つ以上のプロセッサに、現在ブロックのゼロ参照ラインに対応する第1の最確モードリスト(MPMリスト)を生成することであって、第1のMPMリストが、第1の複数のイントラ予測モードを含む、第1のMPMリストを生成することと、現在ブロックの1つ以上の非ゼロ参照ラインに対応する第2のMPMリストを生成することであって、第2のMPMリストが、第2の複数のイントラ予測モードを含み、第2の複数のイントラ予測モードが、第1の複数のイントラ予測モードのサブセットを含む、第2のMPMリストを生成することと、ゼロ参照ラインおよび1つ以上の非ゼロ参照ラインのうち、現在ブロックを符号化するために使用される参照ラインを示す参照ラインインデックスを信号伝達することと、イントラ予測モードを示すイントラモードインデックスを信号伝達することとを行わせ、参照ラインがゼロ参照ラインであることを参照ラインインデックスが示すことに基づいて、イントラモードインデックスが第1のMPMリスト内のイントラ予測モードを示し、参照ラインが1つ以上の非ゼロ参照ラインのうちの1つであることを参照ラインインデックスが示すことに基づいて、イントラモードインデックスが、第2のMPMリスト内のイントラ予測モードを示す、非一時的なコンピュータ可読媒体が提供される。
【0013】
開示される主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになるであろう。
【図面の簡単な説明】
【0014】
図1】HEVCにおけるイントラ予測モードの例の図である。
図2】符号化ブロックユニットに隣接する参照ラインの一例を示す図である。
図3】VVCにおけるイントラ予測モードの例の図である。
図4】一実施形態による通信システムの簡略ブロック図である。
図5】一実施形態によるストリーミング環境における動画像エンコーダおよび動画像デコーダの配置の図である。
図6】一実施形態による動画像デコーダの機能ブロック図である。
図7】一実施形態による動画像エンコーダの機能ブロック図である。
図8】一実施形態による、符号化された動画像ビットストリーム内の現在のブロックを符号化するために使用されるイントラ予測モードを通知するための例示的なプロセスのフローチャートである。
図9】一実施形態に係るコンピュータシステムの図である。
【発明を実施するための形態】
【0015】
VVCでは、図3に示すように合計95のイントラ予測モードがあり、モード18は水平モード、モード50は垂直モード、モード2、モード34、およびモード66は斜めモードである。モード-1~モード-10、およびモード67~モード76は、ワイドアングルイントラ予測(Wide-Angle Intra Prediction,WAIP)モードと呼ばれることがある。
【0016】
VTM2.0.1では、MPMリストのサイズは3で、MPMリストの生成プロセスはHEVCと同じである。1つの違いは、VTM2.0.1には67の通知されるモードがあるため、「offset」が61に変更され、「mod」が64に変更されることである。
【0017】
次の節では、ルマイントラモード(luma intra mode)の符号化プロセスを説明する。すなわち、IntraPredModeY[xPb][yPb]は、以下の順序付けられたステップによって導出できる。
1.隣接する位置(xNbA,yNbA)および(xNbB,yNbB)を、それぞれ(xPb-1,yPb)および(xPb,yPb-1)と等しく設定する。
2.XがAまたはBのいずれかに置き換えられる場合、変数candIntraPredModeXを次のように導出する。
-6.4.X節[Ed.(BB):Neighbouring blocks availability checking process tbd]に規定されているように、ブロックの使用可能性導出プロセスを、(xPb,yPb)と等しく設定されたlocation(xCurr,yCurr)と、(xNbX,yNbX)と等しく設定された、隣接するlocation(xNbY,yNbY)とを入力とし、出力をavailableXに割り当てて呼び出す。
-候補のイントラ予測モードcandIntraPredModeXを、次のように導出する。
-次の条件の1つ以上が満たされる場合、candIntraPredModeXを、INTRA_DCと等しく設定する。
-変数availableXはFALSEと等しい。
-CuPredMode[xNbX][yNbX]はMODE_INTRAと等しくない。
-XはBと等しく、yPb-1は((yPb>>CtbLog2SizeY)<<CtbLog2SizeY)より小さい。
-そうでない場合は、candIntraPredModeXを、IntraPredModeY[xNbX][yNbX]と等しく設定する。
3.x=0..2のときのcandModeList[x]を、次のように導出する。
-candIntraPredModeBがcandIntraPredModeAと等しい場合、以下を適用する。
-candIntraPredModeAが2未満(すなわち、INTRA_PLANARまたはINTRA_DCと等しい)場合,x=0..2のときのcandModeList[x]を、次のように導出する。
candModeList[0]=INTRA_PLANAR
candModeList[1]=INTRA_DC
candModeList[2]=INTRA_ANGULAR50
-そうでない場合は、x=0..2のときのcandModeList[x]を、次のように導出する。candModeList[0]=candIntraPredModeAcandModeList[1]=2+((candIntraPredModeA+61)%64)candModeList[2]=2+((candIntraPredModeA-1)%64)
-そうでなく、(candIntraPredModeBがcandIntraPredModeAと等しくない)場合、以下を適用する。
-candModeList[0]およびcandModeList[1]を、以下のように導出する。
candModeList[0]=candIntraPredModeA
candModeList[1]=candIntraPredModeB
-candModeList[0]およびcandModeList[1]のいずれもINTRA_PLANARと等しくない場合、candModeList[2]をINTRA_PLANARと等しく設定する。
-そうでない場合、candModeList[0]およびcandModeList[1]のいずれもINTRA_DCと等しくない場合、candModeList[2]をINTRA_DCと等しく設定する。
-そうでない場合、candModeList[2]をINTRA_ANGULAR50と等しく設定する。
4.IntraPredModeY[xPb][yPb]を、次の手順を適用することによって導出する。
-intra_luma_mpm_flag[xPb][yPb]が1と等しい場合、IntraPredModeY[xPb][yPb]を、candModeList[intra_luma_mpm_idx[xPb][yPb]]と等しく設定する。
-そうでない場合、IntraPredModeY[xPb][yPb]を、以下の順序付けられたステップを適用することによって導出する。
1.配列candModeList[x]、x=0..2を、次の順序付けられた手順によって変更する。
i.candModeList[0]がcandModeList[1]より大きいとき、両方の値を以下のように入れ替える。
(candModeList[0],candModeList[1])=Swap(candModeList[0],candModeList[1])
ii.candModeList[0]がcandModeList[2]より大きいとき、両方の値を以下のように入れ替える。
(candModeList[0],candModeList[2])=Swap(candModeList[0],candModeList[2])
iii.candModeList[1]がcandModeList[2]より大きいとき、両方の値を以下のように入れ替える。
(candModeList[1],candModeList[2])=Swap(candModeList[1],candModeList[2])
2.IntraPredModeY[xPb][yPb]を、次の順序付けられたステップによって導出する。
i.IntraPredModeY[xPb][yPb]を、intra_luma_mpm_remainder[xPb][yPb]と等しく設定する。
ii.0以上2以下のiについて、IntraPredModeY[xPb][yPb]がcandModeList[i]以上のとき、IntraPredModeY[xPb][yPb]の値を1インクリメントする。
【0018】
x=xPb..xPb+cbWidth-1であり、y=yPb..yPb+cbHeight-1であるときの変数IntraPredModeY[x][y]をIntraPredModeY[xPb][yPb]と等しく設定する。
【0019】
VVCの開発においては、サイズが6のMPMリストが提案されている。平面モードおよびDCモードは、常にMPMリストに含まれてもよい。2つの隣接するモード、すなわち左側モードと上側モードを使用して、残りの4つのMPMを生成してもよい。
【0020】
VTM4.0では、MPMリストのサイズが6に拡張されている。intra_luma_mpm_flagがtrueの場合、現在のモードがMPMリストの候補に属していることを示す。以下の表1を検討する。
【表1】
【0021】
図4は、本開示の一実施形態による通信システム(300)の簡略ブロック図を示す。通信システム(300)は、ネットワーク(450)を介して相互接続された少なくとも2つの端末(410~420)を含んでもよい。データの一方向送信の場合、第1の端末(410)は、ネットワーク(450)を介して他の端末(420)に送信するために、ローカル位置で動画像データを符号化してもよい。第2の端末(420)は、ネットワーク(450)から他の端末の符号化された動画像データを受信し、符号化されたデータを復号し、回復された動画像データを表示してもよい。一方向のデータ送信は、メディア提供アプリケーション等では一般的であるかもしれない。
【0022】
図4は、例えば、ビデオ会議中に発生する可能性がある符号化された動画像の双方向送信をサポートするために提供される第2のペアの端末(430、440)を示す。データの双方向送信の場合、各々の端末(430、440)は、ネットワーク(450)を介して他の端末に送信するために、ローカル位置でキャプチャされた動画像データを符号化してもよい。各端末(430、440)はまた、他の端末によって送信された、符号化された動画像データを受信し、符号化されたデータを復号し、回復された動画像データをローカル表示デバイスに表示してもよい。
【0023】
図4では、端末(410~440)は、サーバ、パーソナルコンピュータおよびスマートフォンとして示される場合があるが、本開示の原理はそのように限定されない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、および/または専用のビデオ会議機器において、用途を見出す。ネットワーク(450)は、例えば有線通信ネットワークおよび/または無線通信ネットワークを含む、端末(410~440)間で符号化動画像データを伝達する任意の数のネットワークを表す。通信ネットワーク(450)は、回路交換チャネルおよび/またはパケット交換チャネルでデータを交換することができる。代表的なネットワークには、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、および/またはインターネットが含まれる。本説明の目的のために、ネットワーク(450)のアーキテクチャおよびトポロジーは、本明細書で以下に説明されない限り、本開示の動作にとって重要ではない場合がある。
【0024】
図5は、開示された主題に対する用途の例として、ストリーミング環境における動画像エンコーダおよび動画像デコーダの配置を示す。開示された主題は、例えば、ビデオ会議、デジタルテレビ、およびCD、DVD、メモリスティック等を含むデジタル媒体への圧縮動画像の記憶等を含む他の動画像対応用途に等しく適用可能とすることができる。
【0025】
ストリーミングシステムは、例えば非圧縮動画像サンプルストリーム(502)を作成する、例えばデジタルカメラ等の動画像ソース(501)を含むことができるキャプチャサブシステム(513)を含んでもよい。符号化された動画像ビットストリームと比較して高いデータボリュームを強調するために太線で示されているサンプルストリーム(502)は、カメラ501)に結合されたエンコーダ(503)で処理することができる。エンコーダ(503)は、以下でより詳細に説明されるように、開示された主題の態様を可能にするまたは実装するためのハードウェア、ソフトウェア、またはそれらの組み合わせを含むことができる。サンプルストリームと比較して低いデータボリュームを強調するために細い線で示されている、符号化された動画像ビットストリーム(504)は、将来の使用のためにストリーミングサーバ(505)に記憶することができる。1つ以上のストリーミングクライアント(506、508)は、ストリーミングサーバ(505)にアクセスして、符号化された動画像ビットストリーム(504)のコピー(507、509)を取得することができる。クライアント(506)は、入力される、符号化された動画像ビットストリーム(507)のコピーを復号し、ディスプレイ(512)またはその他のレンダリングデバイス(不図示)でレンダリングできる、出力される動画像サンプルストリーム(511)を作成する動画像デコーダ(510)を含んでもよい。一部のストリーミングシステムでは、動画像ビットストリーム(504、507、509)を特定の動画像符号化/圧縮規格に従って符号化することができる。これらの規格の例には、ITU-T勧告H.265が含まれる。開発中の動画像符号化規格は、非公式にVersatile Video
Coding(VVC)として知られている。開示される主題は、VVCの文脈で使用されてもよい。
【0026】
図6は、本発明の一実施形態による動画像デコーダ(510)の機能ブロック図であり得る。
【0027】
受信器(610)は、デコーダ(510)によって復号される1つ以上のコーデック動画像シーケンスを受信することができ、同じ、または別の実施形態では、一度に1つの符号化動画像シーケンスを受信でき、各符号化動画像シーケンスの復号は、他の符号化動画像シーケンスから独立している。符号化された動画像シーケンスは、チャネル(612)から受信されてもよく、チャネルは、符号化された動画像データを記憶する記憶装置へのハードウェアリンク/ソフトウェアリンクであってもよい。受信器(610)は、動画像データを、他のデータ、例えば、符号化されたオーディオデータおよび/または補助データストリームであって、それぞれを使用するエンティティ(不図示)に転送され得る他のデータとともに受信してもよい。受信器(610)は、符号化された動画像シーケンスを他のデータから分離してもよい。ネットワークジッタに対抗するために、バッファメモリ(615)は、受信器(610)とエントロピーデコーダ/パーサ(620)(以後「パーサ」)との間に結合され得る。受信器(610)が、十分な帯域幅と制御性を有する記憶/転送デバイスから、またはアイソクロナスネットワークからデータを受信しているとき、バッファ(615)は必要とされないか、または小さくしてもよい。インターネット等のベストエフォートパケットネットワークで使用するために、バッファ(615)が必要となる場合、バッファ(615)を比較的大きくでき、有利に、適応サイズにすることができる。
【0028】
動画像デコーダ(510)は、エントロピー符号化動画像シーケンスからシンボル(621)を再構築するためのパーサ(620)を含み得る。これらのシンボルのカテゴリは、デコーダ(510)の動作を管理するために使用される情報が含まれ、図6に示されたように、デコーダの一体部分ではなく、デコーダに結合できるディスプレイ(512)等のレンダリングデバイスを制御するための情報が含まれる可能性がある。レンダリングデバイスの制御情報は、Supplementary Enhancement Information(SEIメッセージ)またはVideo Usability Information(VUI)パラメータセットフラグメント(不図示)の形式であってもよい。パーサ(620)は、受信した、符号化された動画像シーケンスをパース/エントロピー復号してもよい。符号化された動画像シーケンスの、符号化は、動画像符号化技術または規格に準拠することができ、可変長符号化、ハフマン符号化、文脈依存の有無にかかわらない算術符号化等を含む、当業者に周知の原理に従うことができる。パーサ(620)は、グループに対応する少なくとも1つのパラメータに基づいて、動画像デコーダにおけるピクセルのサブグループのうちの少なくとも1つのためのサブグループパラメータのセットを、符号化動画像シーケンスから抽出してもよい。サブグループには、グループオブピクチャ(Groups of Pictures,GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(Coding Units,CU)、ブロック、トランスフォームユニット(Transform Units,TU)、予測ユニット(PU)等が含まれ得る。エントロピーデコーダ/パーサはまた、変換係数、量子化パラメータ(QP)値、動きベクトル等を符号化された動画像シーケンス情報から抽出できる。
【0029】
パーサ(620)は、バッファ(615)から受信した動画像シーケンスに対してエントロピー復号/解析動作を実行して、シンボル(621)を作成してもよい。パーサ(620)は、符号化されたデータを受け取り、特定のシンボル(621)を選択的に復号してもよい。さらに、パーサ(620)は、特定のシンボル(621)が、動き補償予測ユニット(653)、スケーラ/逆変換ユニット(651)、イントラ予測ユニット(652)、またはループフィルタ(656)に提供されるべきか否かを判断してもよい。
【0030】
シンボル(621)の再構築は、符号化された動画像ピクチャまたはその一部(インターピクチャおよびイントラピクチャ、インターブロックおよびイントラブロック等)のタイプ、およびその他の要因に応じて、複数の異なるユニットを含むことができる。どのユニットが、どのように含まれるかは、符号化された動画像シーケンスから、パーサ(620)によってパースされたサブグループ制御情報によって制御することができる。パーサ(620)と以下の複数のユニットとの間の、そのようなサブグループ制御情報の流れは、明確化のために図示されていない。
【0031】
すでに述べた機能ブロックのほかに、デコーダ(510)は概念的に、以下に説明するように、いくつかの機能ユニットに細分することができる。商業的な制約の下で動作する実際実装形態では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的には互いに統合することができる。しかしながら、開示された主題を説明するために、以下の機能ユニットへの概念的な細分が適切である。
【0032】
最初のユニットは、スケーラ/逆変換ユニット(651)である。スケーラ/逆変換ユニット(651)は、どの変換を使用するか、ブロックサイズ、量子化因子、量子化スケーリングマトリックス等を含む制御情報と共に、量子化された変換係数をパーサ(620)からのシンボル(621)として受信する。これにより、アグリゲータ(655)に入力できるサンプル値を含むブロックを出力することができる。
【0033】
場合によっては、スケーラ/逆変換(651)の出力サンプルは、イントラ符号化されたブロック、すなわち、以前に再構築されたピクチャからの予測情報を使用しておらず、現在ピクチャの、以前に再構築された部分からの予測情報を使用できるブロックに関係することがある。そのような予測情報は、イントラピクチャ予測ユニット(652)によって提供することができる。場合によっては、イントラピクチャ予測ユニット(652)は、現在の(部分的に再構築された)ピクチャ(656)からフェッチされた、周囲のすでに再構築された情報を使用して、再構築中のブロックと同じサイズおよび同じ形状のブロックを生成する。アグリゲータ(655)は、場合によっては、サンプルごとに、イントラ予測ユニット(652)が生成した予測情報を、スケーラ/逆変換ユニット(651)によって提供された出力サンプル情報に追加する。
【0034】
他の場合には、スケーラ/逆変換ユニット(651)の出力サンプルは、インター符号化され、場合によっては動き補償されたブロックに関係する可能性がある。そのような場合、動き補償予測ユニット(653)は、参照ピクチャメモリ(657)にアクセスして、予測に使用されるサンプルをフェッチすることができる。ブロックに関係するシンボル(621)に従ってフェッチされたサンプルを動き補償した後、これらのサンプルは、アグリゲータ(655)によってスケーラ/逆変換ユニット(この場合、残差サンプルまたは残差信号と呼ばれる)の出力に追加して、出力サンプル情報を生成することができる。動き補償ユニットが予測サンプルをフェッチする参照ピクチャメモリ形式内のアドレスは、動きベクトルによって制御でき、この動きベクトルは、例えばX、Y、および参照ピクチャのコンポーネントを持つことができるシンボル(621)の形式で動き補償ユニットが使用可能である。動き補償には、サブサンプルの正確な動きベクトルが使用されているときに、参照ピクチャメモリからフェッチされたサンプル値の補間、動きベクトル予測メカニズム等も含まれる。
【0035】
アグリゲータ(655)の出力サンプルには、ループフィルタユニット(656)において様々なループフィルタリング技術を施すことができる。動画像圧縮技術には、符号化された動画像ビットストリームに含まれるパラメータによって制御され、パーサ(620)からシンボル(621)としてループフィルタユニット(656)に提供されるインループフィルタ技術を含めることができるが、さらに、以前に再構築され、ループフィルタ処理されたサンプル値に加え、符号化ピクチャ、または符号化動画像シーケンスの以前(復号順で)の部分の復号中に取得されたメタ情報にも反応することができる。
【0036】
ループフィルタユニット(656)の出力は、レンダリングデバイス(512)に出力することができ、将来のインターピクチャ予測で使用するために参照ピクチャメモリ(656)に記憶できるサンプルストリームとすることができる。
【0037】
特定の符号化ピクチャは、完全に再構築されると、将来の予測のための参照ピクチャとして使用できる。符号化ピクチャが完全に再構築され、符号化ピクチャが(例えば、パーサ(620)によって)参照ピクチャとして識別されると、現在の参照ピクチャ(656)は、参照ピクチャバッファ(657)の一部になることができ、次の符号化ピクチャの再構築を開始する前に、新しい現在のピクチャメモリを再割り当てできる。
【0038】
動画像デコーダ(510)は、ITU-T Rec.H.265等の規格において文書化されているような、所定の動画像圧縮技術に従って、復号動作を行ってもよい。符号化された動画像シーケンスは、動画像圧縮技術文書または規格、特にその中のプロファイル文書に規定されているように、動画像圧縮技術または規格のシンタックスに従う、という意味において、使用されている動画像圧縮技術または規格によって規定されるシンタックスに準拠している場合がある。また、符号化された動画像シーケンスの複雑度が、動画像圧縮技術または規格のレベルで定義されている範囲内にあることも、準拠に必要である。場合によっては、レベルによって、最大ピクチャサイズ、最大フレームレート、最大再構築サンプルレート(例えば、メガサンプル/秒で測定)、最大参照ピクチャサイズ等が制約される。レベルによって設定された制限は、場合によっては、Hypothetical Reference Decoder(HRD)の仕様と、符号化された動画像シーケンスで通知されるHRDバッファ管理のメタデータとによって、さらに制約されることがある。
【0039】
一実施形態では、受信器(610)は、符号化された動画像とともに、追加の(冗長な)データを受信してもよい。追加のデータは、符号化された動画像シーケンスの一部として含まれてもよい。追加のデータは、データを適切に復号、および/または元の動画像データをより正確に再構築するために、動画像デコーダ(510)によって使用されてもよい。追加のデータは、例えば、時間的、空間的、または信号対雑音比(SNR)エンハンスメントレイヤ、冗長スライス、冗長ピクチャ、前方誤り訂正コード等の形式にすることができる。
【0040】
図7は、本開示の一実施形態による動画像エンコーダ(503)の機能ブロック図であってもよい。
【0041】
エンコーダ(503)は、エンコーダ(503)によって符号化されるべき動画像をキャプチャし得る(エンコーダの一部ではない)動画像ソース(501)から動画像サンプルを受信してもよい。
【0042】
動画像ソース(501)は、エンコーダ(503)によって符号化されるべきソース動画像シーケンスを、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット…)、任意の色空間(例えば、BT.601 Y CrCB,RGB,…)、および任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0,Y CrCb 4:4:4)であることができるデジタル動画像サンプルストリームの形式で提供し得る。メディア提供システムでは、動画像ソース(501)は、以前に準備された動画像を記憶する記憶装置であってもよい。ビデオ会議システムでは、動画像ソース(503)は、ローカル画像情報を動画像シーケンスとしてキャプチャするカメラであってもよい。動画像データは、順番に見たときに動きを与える複数の個別のピクチャとして提供されてもよい。ピクチャ自体は、ピクセルの空間アレイとして編成することができ、各ピクセルは、使用中のサンプリング構造、色空間等に応じて、1つ以上のサンプルを含むことができる。当業者は、ピクセルとサンプルとの間の関係を容易に理解することができる。以下では、サンプルを中心に説明する。
【0043】
一実施形態によれば、エンコーダ(503)は、リアルタイムで、または用途によって要求される他の任意の時間制約の下で、ソース動画像シーケンスのピクチャを符号化し、圧縮して符号化動画像シーケンス(743)にしてもよい。適切な符号化速度を強制することは、コントローラ(750)の機能の1つである。コントローラは、以下に説明するように他の機能ユニットを制御し、これらのユニットに機能的に結合されている。明確化のために、結合は描かれていない。コントローラによって設定されるパラメータには、レート制御関連のパラメータ(ピクチャスキップ、量子化、レート歪み最適化技術のラムダ値、…)、ピクチャサイズ、グループオブピクチャ(GOP)レイアウト、最大動きベクトル検索範囲等を含めることができる。当業者は、特定のシステム設計に最適化された動画像エンコーダ(503)に関係する場合があるため、コントローラ(750)の他の機能を容易に識別することができる。
【0044】
一部の動画像エンコーダは、当業者が「符号化ループ」として容易に認識するものにおいて動作する。単純化しすぎた説明として、符号化ループは、エンコーダ(730)(以降「ソースコーダ」)の符号化部分(符号化されるべき入力ピクチャおよび参照ピクチャに基づいてシンボルを作成する責任がある)と、シンボルを再構築して、(シンボルと符号化された動画像ビットストリームとの間の任意の圧縮は、開示された主題で検討されている動画像圧縮技術では無損失であるため)(リモート)デコーダも作成するであろうサンプルデータを作成するエンコーダ(503)に組み込まれた(ローカル)デコーダ(733)とで構成できる。その再構築されたサンプルストリームは、参照ピクチャメモリ(734)に入力される。シンボルストリームの復号により、デコーダの場所(ローカルまたはリモート)に関係なくビットパーフェクトな結果が得られるため、参照ピクチャバッファの内容もローカルエンコーダとリモートエンコーダとの間でビットパーフェクトである。言い換えると、エンコーダの予測部分は、復号中に予測を使用したときにデコーダが「見る」であろうものとまったく同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャ同期性のこの基本原理(および、例えばチャネルエラーのために同期性が維持できない場合に生じるドリフト)は、当業者によく知られている。
【0045】
「ローカル」デコーダ(733)の動作は、「リモート」デコーダ(510)の動作と同じであることができ、これは、図6に関連して上記ですでに詳細に説明されている。図6も簡単に参照するが、シンボルが使用可能であり、エントロピーコーダ(745)およびパーサ(620)による符号化された動画像シーケンスに対するシンボルの符号化/復号は無損失であることができるので、デコーダ(510)の、チャネル(612)、受信器(610)、バッファ(615)、およびパーサ(620)を含むエントロピーデコーダ部分は、ローカルデコーダ(733)に完全に実装されなくてもよい。
【0046】
この時点で行うことができる観察は、デコーダに存在する、パース/エントロピー復号以外のどのデコーダ技術も、対応するエンコーダに実質的に同一の機能形式で必ず存在する必要があることである。エンコーダ技術の説明は、包括的に説明されたデコーダ技術の逆であるため、省略できる。特定の領域でのみ、より詳細な説明が必要であり、以下に提供される。
【0047】
その動作の一部として、ソースコーダ(730)は、「参照フレーム」として指定された動画像シーケンスからの、1つ以上の以前に符号化されたフレームを参照して予測的に入力フレームを符号化する動き補償予測符号化を実行することができる。このようにして、符号化エンジン(732)は、入力フレームのピクセルブロックと、入力フレームに対する予測参照として選択され得る参照フレームのピクセルブロックとの間の差異を符号化する。
【0048】
ローカル動画像デコーダ(733)は、ソースコーダ(730)によって作成されたシンボルに基づいて、参照フレームとして指定され得るフレームの符号化動画像データを復号し得る。符号化エンジン(732)の動作は、損失の多いプロセスであることが有利である場合がある。符号化された動画像データが動画像デコーダ(図6では不図示)で復号され得るとき、再構築された動画像シーケンスは、通常、いくらかの誤差を伴うソース動画像シーケンスのレプリカであり得る。ローカル動画像デコーダ(733)は、参照フレームに対して動画像デコーダによって実行され得る復号プロセスのレプリカを作成し、再構築された参照フレームを参照ピクチャキャッシュ(734)に記憶させてもよい。このようにして、エンコーダ(503)は、遠端動画像デコーダによって得られる再構築参照フレームと共通の内容を有する再構築参照フレームのコピー(送信エラーがない)をローカルに記憶することができる。
【0049】
予測器(735)は、符号化エンジン(732)の予測検索を実行してもよい。すなわち、符号化されるべき新しいフレームについて、予測器(735)は、参照ピクチャメモリ(734)から、(候補参照ピクセルブロックとしての)サンプルデータ、または参照ピクチャの動きベクトル、ブロック形状等の特定のメタデータであって、新しいピクチャの適切な予測参照として機能するメタデータを検索してもよい。予測器(735)は、適切な予測参照を見つけるために、サンプルブロックごとピクセルブロックごとに動作することができる。いくつかの場合において、予測器(735)によって得られた検索結果によって判断されるように、入力ピクチャは、参照ピクチャメモリ(734)に記憶された複数の参照ピクチャから引き出された予測参照を有してもよい。
【0050】
コントローラ(750)は、例えば、動画像データを符号化するために使用されるパラメータおよびサブグループパラメータの設定を含む、動画像コーダ(730)の符号化動作を管理してもよい。
【0051】
前述のすべての機能ユニットの出力には、エントロピーコーダ(745)でエントロピー符号化が施されてもよい。エントロピーコーダは、例えばハフマン符号化、可変長符号化、算術符号化等の当業者に知られている技術に従ってシンボルを無損失圧縮することにより、様々な機能ユニットによって生成されたシンボルを符号化動画像シーケンスに変換する。
【0052】
送信器(740)は、エントロピーコーダ(745)によって作成された符号化動画像シーケンスをバッファリングして、通信チャネル(760)を介して送信する準備をすることができる。通信チャネル(760)は、符号化された動画像データを記憶する記憶装置へのハードウェア/ソフトウェアリンクであってもよい。送信器(740)は、動画像コーダ(730)からの符号化動画像データを、送信すべき他のデータ、例えば符号化オーディオデータおよび/または補助データストリーム(ソースは不図示)とマージしてもよい。
【0053】
コントローラ(750)は、エンコーダ(503)の動作を管理してもよい。符号化中に、コントローラ(750)は、各符号化ピクチャに特定の符号化ピクチャタイプを割り当ててもよく、このピクチャタイプは、それぞれのピクチャに適用され得る符号化技術に影響を及ぼす場合がある。例えば、多くの場合、ピクチャは次のフレームタイプの1つとして割り当てられる。
【0054】
イントラピクチャ(Intra Picture,Iピクチャ)は、シーケンス内の他のフレームを予測のソースとして使用せずに符号化および復号できるものである。一部の動画像コーデックでは、例えば、インディペンデントデコーダリフレッシュピクチャ(Independent Decoder Refresh Pictures)等、様々なタイプのイントラピクチャを使用できる。当業者は、Iピクチャのそれらの変形、およびそれらのそれぞれの用途および特徴を知っている。
【0055】
プレディクティブピクチャ(Predictive picture、Pピクチャ)は、各ブロックのサンプル値を予測するために、最大で1つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して符号化および復号され得るものとし得る。
【0056】
バイディレクショナリプレディクティブピクチャ(Bi-directionally Predictive Picture、B画像)は、各ブロックのサンプル値を予測するために、最大で2つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して符号化および復号され得るものとし得る。同様に、マルチプルプレディクティブピクチャは、単一ブロックの再構築に2つを超える参照ピクチャおよび関連メタデータを使用できる。
【0057】
ソースピクチャは、通常、複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8、または16×16サンプルのブロック)に空間的に細分され、ブロックごとに符号化される。ブロックは、ブロックのそれぞれのピクチャに適用された符号化割り当てによって判断される、他の(すでに符号化されている)ブロックを参照して予測的に符号化される。例えば、Iピクチャのブロックは非予測的に符号化されてもよく、またはそれらは同じピクチャのすでに符号化されたブロック(空間予測またはイントラ予測)を参照して予測的に符号化されてもよい。Pピクチャのピクセルブロックは、以前に符号化された1つの参照ピクチャを参照して、空間的予測によって、または時間的予測によって、予測的に符号化されてもよい。Bピクチャのブロックは、1つもしくは2つの以前に符号化された参照ピクチャを参照して、空間的予測によって、または時間的予測によって、予測的に符号化されてもよい。
【0058】
動画像コーダ(503)は、ITU-T Rec.H.265等の所定の動画像符号化技術または規格に従って、符号化動作を行ってもよい。その動作において、動画像コーダ(503)は、入力動画像シーケンスにおける時間的冗長性および空間的冗長性を活用する予測符号化操作を含む、様々な圧縮操作を実行してもよい。したがって、符号化された動画像データは、使用されている動画像符号化技術または規格で指定されたシンタックスに準拠してもよい。
【0059】
一実施形態では、送信器(740)は、符号化された動画像とともに追加のデータを送信してもよい。動画像コーダ(730)は、そのようなデータを、符号化された動画像シーケンスの一部として含め得る。追加のデータには、時間的/空間的/SNRエンハンスメントレイヤ、冗長ピクチャや冗長スライス、SEI(Supplementary Enhancement Information)メッセージ、VUI(Visual Usability Information)パラメータセットフラグメント等の冗長データの他の形式が含まれ得る。
【0060】
実施形態では、最も近い参照ラインのラインインデックスは、0であるとし得る。最も近い参照ラインをゼロ参照ラインと呼び、他のラインを非ゼロ参照ラインと呼び得る。通知される最大の参照ライン番号は、Nと表記される。
【0061】
実施形態では、非ゼロ参照ラインの場合、イントラモードインデックスは、ゼロ参照ラインMPMリストのサブセットであるモードリスト、すなわち二次MPMリストから通知され得る。したがって、ゼロ参照ラインMPMリストに含まれないモードは、非ゼロ参照ラインには使用されず、参照ラインインデックスは、イントラ予測モードの前に通知され得る。
【0062】
一実施形態では、ゼロ参照ラインMPMリスト内の平面モードおよびDCモードが、非ゼロ参照ラインモードリストから除外され、ゼロ参照ラインMPMリスト内の他のすべてのモードが非ゼロ参照ラインに使用される。
【0063】
別の実施形態では、非ゼロ参照ラインのモードリスト生成プロセスは、平面モードおよびDCモードが非ゼロ参照ラインのモードリストから除外されることを除いて、ゼロ参照ラインMPMリスト生成プロセスと同じである。
【0064】
一実施形態では、非ゼロ参照ラインのモードリストのサイズは4であるが、ゼロ参照ラインのMPMリストのサイズは6である。
【0065】
別の実施形態では、非ゼロ参照ラインのモードリストのサイズは3であり、ゼロ参照ラインのMPMリストのサイズは6である。
【0066】
別の実施形態では、ゼロ参照ラインのMPMインデックスを通知するために、5つのビン(bin)が使用されるのに対し、非ゼロ参照ラインのモードインデックスを通知するために最大3つのビンが使用されることを除いて、非ゼロ参照ラインのモードインデックスの通知は、ゼロ参照ラインのMPMインデックス通知と同じである。
【0067】
別の実施形態では、ゼロ参照ラインのMPMインデックスを通知するために、5つのビンが使用されるのに対し、非ゼロ参照ラインのモードインデックスを通知するために最大2つのビンが使用されることを除いて、非ゼロ参照ラインのモードインデックスの通知は、ゼロ参照ラインのMPMインデックス通知と同じである。
【0068】
別の実施形態では、ゼロ参照ラインのMPMリストにおける、平面モード、DCモード、およびMPMインデックスが5と等しいモードが、非ゼロ参照ラインについては除外される。
【0069】
図8は、符号化された動画像ビットストリーム内の現在ブロックを符号化するために使用されるイントラ予測モードを通知するための例示的なプロセス800のフローチャートである。いくつかの実装形態では、図8の1つ以上のプロセスブロックは、デコーダ510によって実行されてもよい。いくつかの実装形態では、図8の1つ以上のプロセスブロックは、エンコーダ503等の、別のデバイス、またはデコーダ510とは別のデバイスグループ、もしくはデコーダ510を含むデバイスグループによって実行され得る。
【0070】
図8に示されるように、プロセス800は、現在ブロックのゼロ参照ラインに対応する第1の最確モード(MPM)リストを生成することを含み得る(ブロック810)。第1のMPMリストは、第1の複数のイントラ予測モードを含み得る。
【0071】
図8にさらに示されるように、プロセス800は、現在ブロックの1つ以上の非ゼロ参照ラインに対応する第2のMPMリストを生成することを含み得る(ブロック820)。第2のMPMリストは、第1の複数のイントラ予測モードのサブセットであり得る第2の複数のイントラ予測モードを含み得る。
【0072】
図8にさらに示すように、プロセス800は、ゼロ参照ラインおよび1つ以上の非ゼロ参照ラインのうち、現在ブロックを符号化するために使用される参照ラインを示す参照ラインインデックスを通知することを含み得る(ブロック830)。
【0073】
図8にさらに示されるように、プロセス800は、参照ラインインデックスが、参照ラインがゼロ参照ラインであることを示すか否かを判断することを含み得る(ブロック840)。参照ラインがゼロ参照ラインであることを参照ラインインデックスが示すことに基づいて、プロセス800は、次に、第1のMPMリスト内からイントラ予測モードを示すイントラモードインデックスを通知し得る(ブロック850)。参照ラインが1つ以上の非ゼロ参照ラインのうちの1つであることを参照ラインインデックスが示すことに基づいて、プロセス800は、次に、第2のMPMリスト内からイントラ予測モードを示すイントラモードインデックスを通知し得る(ブロック850)。
【0074】
一実施形態では、ゼロ参照ラインは、現在ブロックの複数の参照ラインのうち、最も近い参照ラインを含んでもよい。
【0075】
一実施形態では、平面イントラ予測モードを第2のMPMリストから除外することができる。
【0076】
一実施形態では、DCイントラ予測モードは、第2のMPMリストから除外されてもよい。
【0077】
一実施形態では、平面イントラ予測モードおよびDCイントラ予測モードは、第2のMPMリストから除外されてもよい。
【0078】
一実施形態では、第2のMPMリストは、第1のMPMリストより小さくてもよい。
【0079】
一実施形態では、第1の複数のイントラ予測モードの数は6であってもよく、第2の複数のイントラ予測モードの数は4であってもよい。
【0080】
一実施形態では、参照ラインがゼロ参照ラインであることを参照ラインインデックスが示すことに基づいて、第1の数のビンを使用して、イントラモードインデックスが通知され、参照ラインが、1つ以上の非ゼロ参照ラインのうちの1つであることを参照ラインインデックス示すことに基づいて、第1の数のビンよりも少ない第2の数のビンを使用してイントラモードインデックスが通知される。
【0081】
一実施形態では、ビンの第1の数は5であってもよく、ビンの第2の数は3であってもよい。
【0082】
一実施形態では、参照ラインインデックスは、イントラモードインデックスの前に通知されてもよい。
【0083】
図8はプロセス800の例示的なブロックを示すが、いくつかの実装形態では、プロセス800は、追加のブロック、より少ないブロック、異なるブロック、または図8に示すものとは異なる配置のブロックを含み得る。付加的に、または代替的に、プロセス800のブロックのうちの2つ以上は、並行して実行されてもよい。
【0084】
さらに、提案された方法は、処理回路(例えば、1つ以上のプロセッサまたは1つ以上の集積回路)によって実装されてもよい。一例では、1つ以上のプロセッサは、非一時的コンピュータ可読媒体に記憶されているプログラムを実行して、提案された方法の1つ以上を実行する。
【0085】
上記の技術は、コンピュータ可読命令を使用してコンピュータソフトウェアとして実装でき、1つ以上のコンピュータ可読媒体に物理的に記憶できる。例えば、図9は、開示された主題の特定の実施形態を実装するのに適切なコンピュータシステム1200を示している。
【0086】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク等のメカニズムが施されて、コンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)等が直接、またはインタープリテーション、マイクロコード実行を通じて実行できる命令を含むコードを作成する、適切なマシンコードまたはコンピュータ言語を使用してコーディングできる。
【0087】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイス等を含む、様々なタイプのコンピュータまたはそのコンポーネント上で実行することができる。
【0088】
コンピュータシステム1200について図9に示されるコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用または機能の範囲に関する制限を示唆することを意図するものではない。また、コンポーネントの構成は、コンピュータシステム1200の例示的な実施形態に示されているコンポーネントの、いずれか1つまたは組み合わせに関する依存性または要求があると解釈されるべきではない。
【0089】
コンピュータシステム1200は、特定のヒューマンインタフェース入力デバイスを含んでもよい。そのようなヒューマンインタフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブ動作等)、オーディオ入力(音声、拍手等)、視覚入力(ジェスチャー等)、嗅覚入力(不図示)等、1人以上の人間のユーザーによる入力に反応してもよい。ヒューマンインタフェースデバイスを使用して、オーディオ(音声、音楽、環境音等)、画像(スキャンした画像、静止画像カメラから得られる写真画像等)、動画像(二次元動画像、立体動画像を含む三次元動画像等)等の、人間による意識的な入力に必ずしも直接関係しない特定の媒体をキャプチャすることもできる。
【0090】
入力ヒューマンインタフェースデバイスは、キーボード901、マウス902、トラックパッド903、タッチスクリーン910、データグローブ1204、ジョイスティック905、マイク906、スキャナ907、カメラ908のうち1つ以上(各1つのみを図示)を含んでもよい。
【0091】
コンピュータシステム1200はまた、特定のヒューマンインタフェース出力デバイスを含んでもよい。そのようなヒューマンインタフェース出力デバイスは、例えば、触覚出力、音、光、および嗅覚/味覚を通じて、1人以上の人間のユーザーの感覚を刺激し得る。そのようなヒューマンインタフェース出力デバイスには、触覚出力デバイス(例えば、タッチスクリーン910、データグローブ1204、またはジョイスティック905による触覚フィードバックが含まれるが、入力デバイスとして機能しない触覚フィードバックデバイスもある)、音声出力デバイス(スピーカー909、ヘッドフォン(不図示)等)、視覚出力デバイス(ブラウン管(CRT)スクリーン、液晶ディスプレイ(LCD)スクリーン、プラズマスクリーン、有機発光ダイオード(OLED)スクリーンであって、それぞれタッチスクリーン入力機能を有していても有していなくてもよく、それぞれに触覚フィードバック機能を有していても有していなくてもよく、その一部は、ステレオグラフィック出力等の手段によって、二次元の視覚的出力または三次元以上の出力を出力できるスクリーン、仮想現実メガネ(不図示)、ホログラフィックディスプレイおよびスモークタンク(不図示)を含むスクリーン910等)、およびプリンター(不図示)を含んでもよい。
【0092】
コンピュータシステム1200はまた、人間がアクセス可能な記憶装置およびそれらに関連する媒体、例えばCD/DVD等の光学媒体921を備えたCD/DVD ROM/RW920等、サムドライブ922、取り外し可能なハードドライブまたはソリッドステートドライブ923、テープやフロッピーディスク(不図示)等のレガシー磁気媒体、セキュリティドングル等の特殊なROM/ASIC/PLDベースのデバイス(不図示)等を含んでもよい。
【0093】
当業者はまた、本明細書で開示される主題に関連して使用される「コンピュータ可読媒体」という用語は、送信媒体、搬送波、または他の一時的な信号を包含しないことを理解されたい。
【0094】
コンピュータシステム1200は、1つ以上の通信ネットワークへのインタフェースも含むことができる。ネットワークは、例えば、無線、有線、光であってもよい。さらに、ネットワークは、ローカル、ワイドエリア、大都市圏、車両、および産業、リアルタイム、遅延耐性のネットワーク等であってもよい。ネットワークの例には、イーサネット、無線LAN等のローカルエリアネットワーク、モバイル通信(GSM)、第3世代(3G)、第4世代(4G)、第5世代(5G)、Long-Term Evolution(LTE)等を含むセルラネットワーク、TV有線または無線広域デジタルネットワークであって、ケーブルテレビ、衛星テレビ、および地上波放送テレビを含むTV有線または無線広域デジタルネットワーク、CANBusを含む車両および産業ネットワーク等が含まれる。特定のネットワークは一般に、特定の汎用データポートまたは周辺バス(949)(例えば、コンピュータシステム1200のユニバーサルシリアルバス(USB)ポート等に接続される外部ネットワークインタフェースアダプタを必要とし、他の場合は一般に、以下に説明するシステムバスに取り付けることによって、コンピュータシステム1200のコア内に(例えば、イーサネットインタフェースによってPCコンピュータシステムに、またはセルラネットワークインタフェースによってスマートフォンコンピュータシステムに)統合される。これらのネットワークのいずれかを使用して、コンピュータシステム1200は他のエンティティと通信することができる。このような通信は、単方向受信のみ(例えば、放送テレビ)、単方向送信のみ(例えば、CANbusから特定のCANbusデバイス)、または双方向、例えば、ローカルエリアまたはワイドエリアデジタルネットワークを使用する他のコンピュータシステムへの通信であってもよい。上記のような、これらのネットワークおよびネットワークインタフェースのそれぞれで、特定のプロトコルとプロトコルスタックを使用することができる。
【0095】
前述のヒューマンインタフェースデバイス、人間がアクセス可能な記憶装置、およびネットワークインタフェースは、コンピュータシステム1200のコア940に取り付けることができる。
【0096】
コア940には、1つ以上の中央処理装置(CPU)941、グラフィックス処理装置(GPU)942、フィールドプログラマブルゲートエリア(Field Programmable
Gate Areas,FPGA)943の形式の特殊なプログラマブル処理装置、特定のタスク用のハードウェアアクセラレータ944等を含んでもよい。これらのデバイスは、リードオンリーメモリ(ROM)945、ランダムアクセスメモリ(RAM)946、内部の、ユーザーがアクセスできないハードドライブ、ソリッドステートドライブ(SSD)等の内部の大容量記憶装置947とともに、システムバス1248を介して接続される。一部のコンピュータシステムでは、システムバス1248に1つ以上の物理プラグの形でアクセスして、追加のCPU、GPU等による拡張を可能にすることができる。周辺機器は、コアのシステムバス1248に直接、または周辺バス949を介して取り付けることができる。周辺バスのアーキテクチャには、ペリフェラルコンポーネントインターコネクト(PCI)、USB等が含まれる。
【0097】
CPU941、GPU942、FPGA943、およびアクセラレータ944は、組み合わせて、前述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードは、ROM945またはRAM946に記憶できる。一時的なデータも、RAM946に記憶することができるのに対し、永続データは、例えば内部の大容量記憶装置947に記憶することができる。いずれかのメモリデバイスへの高速の記憶および検索は、1つ以上のCPU941、GPU942、大容量記憶装置947、ROM945、RAM946等と密接に関連付けることができるキャッシュメモリを使用することで可能になる。
【0098】
コンピュータ可読媒体は、様々なコンピュータ実装動作を実行するためのコンピュータコードを有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであってもよいし、あるいはコンピュータソフトウェア技術分野の当業者に周知であり使用可能な種類のものであってもよい。
【0099】
限定ではなく例として、アーキテクチャを有するコンピュータシステム1200、特にコア940は、1つ以上の有形のコンピュータ可読媒体に内蔵されたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータ等を含む)の結果として機能を提供することができる。このようなコンピュータ可読媒体は、コア内部の大容量記憶装置947またはROM945等の非一時的な性質のコア940の特定の記憶装置に加え、上記に紹介したようなユーザーがアクセス可能な大容量記憶装置に関連する媒体であってもよい。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに記憶され、コア940によって実行され得る。コンピュータ可読媒体は、特定のニーズに従って、1つ以上のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア940および具体的にはその中のプロセッサ(CPU、GPU、FPGA等を含む)に、RAM946に記憶されたデータ構造の定義およびそのようなデータ構造の変更を含む、本明細書に説明されている特定のプロセスまたは特定のプロセスの特定の部分を、ソフトウェアによって定義されたプロセスに従って実行させることができる。付加的に、または代替的に、コンピュータシステムは、ハードウェアにより実現された、または別の方法で回路(例えば、アクセラレータ944)に組み込まれたロジックであって、ソフトウェアの代わりに、またはソフトウェアとともに動作して、本明細書で説明する特定のプロセスまたは特定のプロセスの特定の部分を実行できるロジックの結果として機能を提供することができる。ソフトウェアへの言及には、適切な場合にはロジックを含むことができ、その逆も可能である。コンピュータ可読媒体への言及には、適切な場合には、実行されるソフトウェアを記憶する回路(集積回路(IC)等)、実行されるロジックが組み込まれた回路、またはその両方を含むことができる。本開示には、ハードウェアとソフトウェアの任意の適切な組み合わせが含まれる。
【0100】
本開示はいくつかの例示的な実施形態を説明してきたが、本開示の範囲内に入る、変更形態、代替形態、置換形態、および様々な均等形態が存在する。したがって、当業者であれば、本明細書では明示的に図示されておらず、説明されていなくても、本開示の原理を具現化し、したがってその趣旨および範囲内にある多数のシステムおよび方法を考案できることが理解されよう。
【符号の説明】
【0101】
300 通信システム
410 端末
420 端末
430 端末
440 端末
450 ネットワーク
501 動画像ソース、カメラ
502 非圧縮動画像サンプルストリーム
503 動画像エンコーダ、動画像ソース、
504 動画像ビットストリーム
505 ストリーミングサーバ
506 ストリーミングクライアント
507 コピー、動画像ビットストリーム
508 ストリーミングクライアント
509 コピー、動画像ビットストリーム
510 動画像デコーダ
511 動画像サンプルストリーム
512 ディスプレイ、レンダリングデバイス
513 キャプチャサブシステム
610 受信器
612 チャネル
615 バッファメモリ、バッファ
620 パーサ
621 シンボル
651 スケーラ/逆変換ユニット
652 イントラ予測ユニット、イントラピクチャ予測ユニット
653 動き補償予測ユニット
655 アグリゲータ
656 ループフィルタ、ループフィルタユニット、参照ピクチャメモリ、参照ピクチャ
657 参照ピクチャメモリ、参照ピクチャバッファ
730 ソースコーダ、動画像コーダ
732 符号化エンジン
733 ローカルデコーダ、ローカル動画像デコーダ
734 参照ピクチャメモリ、参照ピクチャキャッシュ
735 予測器
740 送信器
743 符号化動画像シーケンス
745 エントロピーコーダ
750 コントローラ
760 通信チャネル
800 プロセス
901 キーボード
902 マウス
903 トラックパッド
905 ジョイスティック
906 マイク
907 スキャナ
908 カメラ
909 スピーカー
910 タッチスクリーン
921 光学媒体
922 サムドライブ
923 ソリッドステートドライブ
940 コア
941 中央処理装置(CPU)
942 グラフィックス処理装置(GPU)
943 フィールドプログラマブルゲートエリア(FPGA)
944 ハードウェアアクセラレータ
945 リードオンリーメモリ(ROM)
946 ランダムアクセスメモリ(RAM)
947 大容量記憶装置
949 周辺バス
1200 コンピュータシステム
1204 データグローブ
1248 システムバス
図1
図2
図3
図4
図5
図6
図7
図8
図9