(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024045200
(43)【公開日】2024-04-02
(54)【発明の名称】復号器、プログラム及び方法
(51)【国際特許分類】
H04N 19/11 20140101AFI20240326BHJP
H04N 19/157 20140101ALI20240326BHJP
H04N 19/176 20140101ALI20240326BHJP
H04N 19/70 20140101ALI20240326BHJP
【FI】
H04N19/11
H04N19/157
H04N19/176
H04N19/70
【審査請求】有
【請求項の数】7
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024002100
(22)【出願日】2024-01-10
(62)【分割の表示】P 2022036438の分割
【原出願日】2019-09-03
(31)【優先権主張番号】62/726,419
(32)【優先日】2018-09-03
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】504161984
【氏名又は名称】ホアウェイ・テクノロジーズ・カンパニー・リミテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】ワン、ビャオ
(72)【発明者】
【氏名】エセンリク、セミ
(72)【発明者】
【氏名】コトラ、アナンド メハー
(72)【発明者】
【氏名】ガオ、ハン
(72)【発明者】
【氏名】チェン、ジアンレ
(72)【発明者】
【氏名】ツァオ、ツィジェ
(57)【要約】 (修正有)
【課題】隣接するブロックのイントラモードに基づいてイントラモード符号化方式を適応的に選択する。
【解決手段】方法は、現在のブロックに対する最確モード(MPM)フラグの値をビットストリームから取得する段階及びMPMフラグの値が、現在のブロックに対するイントラ予測モードがイントラ予測モードのMPMセットに含まれるイントラ予測モードであることを示す場合、現在のブロックに対するMPMインデックスをビットストリームから取得する段階を含む。現在のブロックの左側に隣接するブロックのイントラ予測モードが平面モードであり、且つ、現在のブロックの上側に隣接するブロックのイントラ予測モードが平面モードである場合、予測モードのMPMセットは、平面モード、DCモード、鉛直モード、水平モード、鉛直モードに対応し第1オフセットを用いるイントラ予測モード及び鉛直モードに対応し第2オフセットを用いるイントラ予測モードを含む。
【選択図】
図6
【特許請求の範囲】
【請求項1】
映像を符号化するための符号化方法であって、前記符号化方法は、
複数のイントラ予測モードから、前記映像の現在のブロックに対するイントラ予測モードを取得する段階であって、前記複数のイントラ予測モードは、最確モード(MPM)のセットを有する、段階と、
MPMフラグをビットストリームに符号化する段階であって、前記MPMフラグは、前記現在のブロックに対する前記イントラ予測モードがMPMの前記セットに含まれているイントラ予測モードであるかどうかを示す、段階と、
前記現在のブロックに対する前記イントラ予測モードがMPMの前記セットに含まれているイントラ予測モードである場合、前記現在のブロックに対するMPMインデックスを前記ビットストリームに符号化する段階と、
前記現在のブロックに対する前記イントラ予測モードがMPMの前記セットに含まれているイントラ予測モードである場合、前記MPMフラグ及び前記MPMインデックスに基づいて、前記現在のブロックを前記ビットストリームに符号化する段階と
を備え、
条件が満たされる場合、MPMの前記セットは、直流(DC)モード、鉛直モード、水平モード、第1オフセットを有する前記鉛直モードの値に対応するイントラ予測モード、及び、第2オフセットを有する前記鉛直モードの前記値に対応するイントラ予測モードを有し、
前記条件は、
前記現在のブロックの左側に隣接するブロックのイントラ予測モードが平面モードであり、且つ、前記現在のブロックの上側に隣接するブロックのイントラ予測モードが前記平面モードであること、
前記現在のブロックの前記左側に隣接するブロックの前記イントラ予測モードが前記平面モードであり、且つ、前記現在のブロックの前記上側に隣接するブロックの前記イントラ予測モードがDCモードであること、
前記現在のブロックの前記左側に隣接するブロックが利用可能でなく、且つ、前記現在のブロックの前記上側に隣接するブロックの前記イントラ予測モードが前記平面モードであること、
前記現在のブロックの前記左側に隣接するブロックが利用可能でなく、且つ、前記現在のブロックの前記上側に隣接するブロックが利用可能でないこと、又は、
前記現在のブロックの前記左側に隣接するブロックの前記イントラ予測モードが前記平面モードであり、且つ、前記現在のブロックの前記上側に隣接するブロックが利用可能でないこと
を有する、符号化方法。
【請求項2】
前記符号化方法は、前記現在のブロックに対する前記イントラ予測モードがMPMの前記セットに含まれていないイントラ予測モードである場合、前記MPMフラグに基づいて前記現在のブロックを前記ビットストリームに符号化する段階をさらに備える、請求項1に記載の符号化方法。
【請求項3】
前記現在のブロックに対する前記MPMフラグが真であり、且つ、前記現在のブロックに対するさらなるインデックス値が0である場合、前記現在のブロックに対する前記イントラ予測モードは平面モードである、請求項1又は2に記載の符号化方法。
【請求項4】
前記第1オフセットは-4である、請求項1から3のいずれか一項に記載の符号化方法。
【請求項5】
前記第2オフセットは+4である、請求項1から4のいずれか一項に記載の符号化方法。
【請求項6】
請求項1から5のいずれか一項に記載の符号化方法を実行するための処理回路を備える符号化器。
【請求項7】
記憶媒体と、1つ又は複数のプロセッサとを備えるデバイスであって、前記記憶媒体は、符号化されたビットストリーム及びコンピュータ命令を格納するように構成されており、
前記コンピュータ命令が前記1つ又は複数のプロセッサにより実行された場合、前記コンピュータ命令は、前記1つ又は複数のプロセッサに、前記符号化されたビットストリームを取得すべく、請求項1から5のいずれか一項に記載の符号化方法を実行させ、
前記デバイスは、通信インタフェースをさらに備え、前記通信インタフェースは、前記符号化されたビットストリームを受信又は送信するように構成されている、デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は画像及び/又は映像の符号化及び復号の技術分野に関し、具体的には、イントラ予測のための方法及び装置に関する。
【背景技術】
【0002】
デジタル映像が、DVDディスクの登場以来、広く用いられるようになった。映像は、伝送前に符号化され、伝送媒体を用いて伝送される。視聴者は映像を受信し、視聴デバイスを用いて当該映像を復号し表示する。何年にもわたって、映像品質は、例えば、解像度、色深度、及びフレームレートの向上によって改善されてきた。これにより、大容量のデータストリームが、今日ではインターネット及び移動通信ネットワークを介して普通に伝送されるようになった。
【0003】
しかしながら、解像度が高い映像は通常、多くの情報が含まれているため、より広い帯域幅を必要とする。帯域幅要件を低減するために、映像の圧縮を伴う映像符号化規格が導入されてきた。映像を符号化する場合、帯域幅要件(又は、ストレージの場合には対応するメモリ要件)は低減される。多くの場合、この低減が品質を犠牲にすることになる。したがって、映像符号化規格は、帯域幅要件と品質との間でバランスを取ろうとしている。
【0004】
高効率映像符号化方式(High Efficiency Video Coding:HEVC)は、当業者によく知られている映像符号化規格の一例である。HEVCでは、符号化単位(CU)を予測単位(PU)又は変換単位(TU)に分割する。多目的映像符号化方式(Versatile Video Coding:VVC)の次世代規格は、ITU-Tの映像符号化専門家グループ(Video Coding Experts Group:VCEG)とISO/IECの動画像符号化専門家グループ(Moving Picture Experts Group:MPEG)という標準化団体による最新の合同映像プロジェクトであり、映像符号化研究合同チーム(Joint Video Exploration Team:JVET)として知られるパートナーシップにおいて共同作業が行われている。VVCは、ITU-TのH.266/次世代映像符号化(Next Generation Video Coding:NGVC)規格とも呼ばれる。VVCでは、複数の分割タイプの概念を排除し、すなわち、最大変換長に対して大きすぎるサイズを有するCUのために、必要な場合以外は、CU、PU、及びTUの概念を分離し、CUの分割形状に対してより柔軟性をサポートする。
【0005】
これらの符号化単位(CU)(ブロックとも呼ばれる)の処理は、そのサイズ、空間位置、及び符号化器により指定される符号化モードに依存する。符号化モードは、予測のタイプに従って、イントラ予測モードとインター予測モードという2つのグループに分類することができる。イントラ予測モードは、同じピクチャ(フレーム又は画像とも呼ばれる)のサンプルを用いて、参照サンプルを生成し、再構成されようとしているブロックのサンプルに対する予測値を計算する。イントラ予測は、空間予測とも呼ばれる。インター予測モードは、時間予測向けに設計されており、前のピクチャ又は次のピクチャの参照サンプルを用いて、現在のピクチャのブロックのサンプルを予測する。
【0006】
ITU-TのVCEG(Q6/16)及びISO/IECのMPEG(JTC 1/SC 29/WG 11)は、現在のHEVC規格を大幅に超える圧縮能力を有する将来の映像符号化技術の標準化に対する潜在的必要性を調査している(スクリーンコンテンツ符号化及び高ダイナミックレンジ符号化用の現在の拡張機能及び近い将来の拡張機能を含む)。これらのグループは、映像符号化共同研究チーム(JVET)として知られる合同の協力的取り組みで、この研究活動に共に従事しており、この分野の専門家が提案する圧縮技術設計を評価している。
【0007】
VTM(Versatile Test Model)規格は35個のイントラモードを用い、一方、BMS(Benchmark Set)は67個のイントラモードを用いる。
【0008】
BMSで現在説明されているイントラモードの符号化方式は、複雑であるとみなされ、非選択モードセットの欠点は、インデックスリストが常に一定であるということである。
[発明の概要]
本願の実施形態が、独立クレームに従って、復号するための装置及び方法を提供する。本願の実施形態は、例えば、効率的な最確モード(Most Probable Mode:MPM)方式をイントラ予測に提供する。前述の目的及び他の目的が、独立クレームの主題によって達成される。従属クレーム、明細書、及び図面から、さらなる実装形態が明らかとなる。添付の独立クレームでは特定の実施形態の要点が述べられ、従属クレームでは他の実施形態について述べられている。本発明の第1態様は、映像の現在のブロックを復号する方法に関する。この復号方法は、現在のブロックに対する最確モード(MPM)フラグの値をビットストリームから取得する段階と、MPMフラグの値が、現在のブロックに対するイントラ予測モードがイントラ予測モードのMPMセットに含まれるイントラ予測モードであることを示す場合、現在のブロックに対するMPMインデックスをビットストリームから取得する段階と、現在のブロックに対するイントラ予測モードの値を現在のブロックに対するMPMインデックス及びMPMセットに基づいて取得する段階とを含み、現在のブロックの左側に隣接するブロックのイントラ予測モードが平面(Planar)モードである且つ現在のブロックの上側に隣接するブロックのイントラ予測モードが平面モードである場合、予測モードのMPMセットは、平面モード、DCモード、鉛直モード、水平モード、鉛直モードに対応し第1オフセットを用いるイントラ予測モード、及び鉛直モードに対応し第2オフセットを用いるイントラ予測モードを含む。本方法は、例えば、映像復号デバイスにより実行されてよい。第1態様による方法の実行可能な実装形態では、現在のブロックに対するMPMフラグの値が1である且つ現在のブロックに対するMPMインデックスが0である場合、現在のブロックに対するイントラ予測モードは平面モードである。第1態様の前述した任意の実装例又は第1態様による方法の実行可能な実装形態では、第1オフセットは-4である。第1態様の前述した任意の実装例又は第1態様による方法の実行可能な実装形態では、第2オフセットは+4である。本発明の第2態様は、映像の現在のブロックを復号する方法に関する。この復号方法は、現在のブロックに対する最確モード(MPM)フラグの値をビットストリームから取得する段階と、MPMフラグの値が、現在のブロックに対するイントラ予測モードがイントラ予測モードのMPMセットに含まれるイントラ予測モードであることを示す場合、現在のブロックに対するMPMインデックスをビットストリームから取得する段階と、現在のブロックに対するイントラ予測モードの値を現在のブロックに対するMPMインデックス及びMPMセットに基づいて取得する段階とを含み、現在のブロックの左側に隣接するブロックのイントラ予測モードが平面モードである且つ現在のブロックの上側に隣接するブロックのイントラ予測モードがDCモードである場合、予測モードのMPMセットは、平面モード、DCモード、鉛直モード、水平モード、鉛直モードに対応し第1オフセットを用いるイントラ予測モード、及び鉛直モードに対応し第2オフセットを用いるイントラ予測モードを含む。本方法は、例えば、映像復号デバイスにより実行されてよい。第2態様による方法の実行可能な実装形態では、現在のブロックに対するMPMフラグの値が1である且つ現在のブロックに対するMPMインデックスが0である場合、現在のブロックに対するイントラ予測モードは平面モードである。第2態様の前述した任意の実装例又は第2態様による方法の実行可能な実装形態では、第1オフセットは-4である。第2態様の前述した任意の実装例又は第2態様による方法の実行可能な実装形態では、第2オフセットは+4である。本発明の第3態様は、映像の現在のブロックを復号する方法に関する。この復号方法は、現在のブロックに対する最確モード(MPM)フラグの値をビットストリームから取得する段階と、MPMフラグの値が、現在のブロックに対するイントラ予測モードがイントラ予測モードのMPMセットに含まれるイントラ予測モードであることを示す場合、現在のブロックに対するMPMインデックスをビットストリームから取得する段階と、現在のブロックに対するイントラ予測モードの値を現在のブロックに対するMPMインデックス及びMPMセットに基づいて取得する段階とを含み、現在のブロックの左側に隣接するブロックが利用できない且つ現在のブロックの上側に隣接するブロックのイントラ予測モードが平面モードである場合、予測モードのMPMセットは、平面モード、DCモード、鉛直モード、水平モード、鉛直モードに対応し第1オフセットを用いるイントラ予測モード、及び鉛直モードに対応し第2オフセットを用いるイントラ予測モードを含む。本方法は、例えば、映像復号デバイスにより実行されてよい。第3態様による方法の実行可能な実装形態では、現在のブロックに対するMPMフラグの値が1である且つ現在のブロックに対するMPMインデックスが0である場合、現在のブロックに対するイントラ予測モードは平面モードである。第3態様の前述した任意の実装例又は第3態様による方法の実行可能な実装形態では、第1オフセットは-4である。第3態様の前述した任意の実装例又は第3態様による方法の実行可能な実装形態では、第2オフセットは+4である。本発明の第4態様は、映像の現在のブロックを復号する方法に関する。この復号方法は、現在のブロックに対する最確モード(MPM)フラグの値をビットストリームから取得する段階と、MPMフラグの値が、現在のブロックに対するイントラ予測モードがイントラ予測モードのMPMセットに含まれるイントラ予測モードであることを示す場合、現在のブロックに対するMPMインデックスをビットストリームから取得する段階と、現在のブロックに対するイントラ予測モードの値を現在のブロックに対するMPMインデックス及びMPMセットに基づいて取得する段階とを含み、現在のブロックの左側に隣接するブロックが利用できない且つ現在のブロックの上側に隣接するブロックが利用できない場合、予測モードのMPMセットは、平面モード、DCモード、鉛直モード、水平モード、鉛直モードに対応し第1オフセットを用いるイントラ予測モード、及び鉛直モードに対応し第2オフセットを用いるイントラ予測モードを含む。本方法は、例えば、映像復号デバイスにより実行されてよい。第4態様による方法の実行可能な実装形態では、現在のブロックに対するMPMフラグの値が1である且つ現在のブロックに対するMPMインデックスが0である場合、現在のブロックに対するイントラ予測モードは平面モードである。第4態様の前述した任意の実装例又は第4態様による方法の実行可能な実装形態では、第1オフセットは-4である。第4態様の前述した任意の実装例又は第4態様による方法の実行可能な実装形態では、第2オフセットは+4である。本発明の第5態様は、映像の現在のブロックを復号する方法に関する。この復号方法は、現在のブロックに対する最確モード(MPM)フラグの値をビットストリームから取得する段階と、MPMフラグの値が、現在のブロックに対するイントラ予測モードがイントラ予測モードのMPMセットに含まれるイントラ予測モードであることを示す場合、現在のブロックに対するMPMインデックスをビットストリームから取得する段階と、現在のブロックに対するイントラ予測モードの値を現在のブロックに対するMPMインデックス及びMPMセットに基づいて取得する段階とを含み、現在のブロックの左側に隣接するブロックのイントラ予測モードが平面モードである且つ現在のブロックの上側に隣接するブロックが利用できない場合、予測モードのMPMセットは、平面モード、DCモード、鉛直モード、水平モード、鉛直モードに対応し第1オフセットを用いるイントラ予測モード、及び鉛直モードに対応し第2オフセットを用いるイントラ予測モードを含む。本方法は、例えば、映像復号デバイスにより実行されてよい。第5態様による方法の実行可能な実装形態では、現在のブロックに対するMPMフラグの値が1である且つ現在のブロックに対するMPMインデックスが0である場合、現在のブロックに対するイントラ予測モードは平面モードである。第5態様の前述した任意の実装例又は第5態様による方法の実行可能な実装形態では、第1オフセットは-4である。第5態様の前述した任意の実装例又は第5態様による方法の実行可能な実装形態では、第2オフセットは+4である。本発明の第5態様は、映像ストリームを復号する装置に関し、本装置はプロセッサ及びメモリを含む。メモリは、第1態様から第4態様又は第1態様から第4態様の任意の実行可能な実装例若しくは実施形態による方法を、プロセッサに実行させる命令を格納している。本発明の第6態様はコンピュータ可読記憶媒体に関し、コンピュータ可読記憶媒体は、実行されると1つ又は複数のプロセッサに映像データを符号化させる命令を格納している。本命令は、第1態様から第4態様又は第1態様から第4態様の任意の実行可能な実装例若しくは実施形態による方法を、1つ又は複数のプロセッサに実行させる。第7態様によれば、本発明は、コンピュータで実行されると、第1態様から第4態様又は第1態様から第4態様の任意の実行可能な実装例若しくは実施形態による方法を実行するためのプログラムコードを含むコンピュータプログラムに関する。さらに、本願の実施形態は、例えば、イントラモード符号化方式を提供する。非選択モードセットが現在のブロックの特性に基づいて適応できる、例えば、隣接するブロックのイントラモードに基づいて適応できる。1つ又は複数の実施形態の詳細は、添付図面及び以下の説明に記載されている。他の特徴、目的、及び利点が、本明細書、図面、及び特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0009】
以下の実施形態は、添付図面を参照してより詳細に説明される。
【0010】
【
図1】本発明の実施形態を実装するように構成された映像符号化システムの一例を示すブロック図である。
【0011】
【
図2】本発明の実施形態を実装するように構成された映像符号化器の一例を示すブロック図である。
【0012】
【
図3】本発明の実施形態を実装するように構成された映像復号器の構造を一例として示すブロック図である。
【0013】
【
図4】67個のイントラ予測モードを示す概略図を示す。
【0014】
【
図5】MPM導出用の隣接ブロックを示す概略図を示す。
【0015】
【
図6】最初の3つのモードを残りのモードリストの中から導出するのに用いられる、第2階層隣接ブロックのイントラモードを示す概略図を示す。
【0016】
【
図7】残りのモードリスト生成処理における最初の3つのモードの一例を示す概略図を示す。
【0017】
【0018】
【
図9】映像復号方法の一例を示す別の概略図を示す。
【0019】
【発明を実施するための形態】
【0020】
イントラ予測のための装置及び方法が開示される。本装置及び本方法は、マッピング処理を用いて、イントラ予測の計算手順を簡略化し、符号化効率を向上させる。保護の範囲は、特許請求の範囲で定められる。
【0021】
[頭字語及び用語の定義]
【0022】
CTU/CTB:符号化ツリー単位(Coding Tree Unit)/符号化ツリーブロック(Coding Tree Block)
【0023】
CU/CB:符号化単位(Coding Unit)/符号化ブロック(Coding Block)
【0024】
PU/PB:予測単位(Prediction Unit)/予測ブロック(Prediction Block)
【0025】
TU/TB:変換単位(Transform Unit)/変換ブロック(Transform Block)
【0026】
HEVC:高効率映像符号化方式(High Efficiency Video Coding)
【0027】
H.264/AVC及びHEVCなどの映像符号化方式が、成功したブロックベースのハイブリッド映像符号化の原理に沿って設計されている。この原理を用いると、まずピクチャは複数のブロックに分割され、各ブロックはイントラピクチャ予測又はインターピクチャ予測を用いて予測される。
【0028】
H.261以降のいくつかの映像符号化規格は「不可逆ハイブリットビデオコーデック」のグループに属している(すなわち、サンプル領域おける空間及び時間予測と、変換領域において量子化を適用するための2D変換符号化とを組み合わせている)。映像シーケンスの各ピクチャは通常、非重複ブロックのセットに分割され、符号化は通常、ブロックレベルで行われる。言い換えれば、符号化器では、映像は通常、例えば空間(イントラピクチャ)予測及び時間(インターピクチャ)予測を用いて予測ブロックを生成し、予測ブロックから現在のブロック(現在処理されている/処理予定のブロック)を差し引いて残差ブロックを取得し、変換領域において残差ブロックの変換及び残差ブロックの量子化を行い、伝送されるデータ量を低減(圧縮)することで、ブロック(ピクチャブロック)レベルで処理される、すなわち、符号化される。一方、復号器では、符号化器と比較して逆の処理が符号化ブロック又は圧縮ブロックに部分的に適用されて、現在のブロックを表示のために再構成する。さらに、符号化器が復号器の処理ループを繰り返すことにより、両方が同一の予測(例えば、イントラ予測及びインター予測)及び/又は再構成物を、次のブロックを処理するために、すなわち、符号化するために生成することになる。
【0029】
本明細書で用いられる場合、用語「ブロック」はピクチャ又はフレームの一部であってよい。説明の便宜上、本発明の実施形態は本明細書では、ITU-Tの映像符号化専門家グループ(VCEG)とISO/IECの動画像符号化専門家グループ(MPEG)とによる映像符号化に関する共同作業チーム(JCT-VC)が開発した、高効率映像符号化方式(HEVC)又は多目的映像符号化方式(VVC)の参照ソフトウェアに準拠して説明される。当業者であれば、本発明の実施形態がHEVC又はVVCに限定されないことを理解するであろう。これは、CU、PU、及びTUを指すことがある。HEVCでは、符号化ツリーで表される四分木構造を用いて、CTUが複数のCUに分割される。インターピクチャ(時間)予測又はイントラピクチャ(空間)予測を用いてピクチャ領域を符号化するかどうかという決定は、CUレベルで行われる。各CUはさらに、PUの分割タイプに従って、1つ、2つ、又は4つのPUに分割することができる。1つのPUの内部では、同じ予測処理が適用され、関連情報はPUベースで復号器に伝送される。PUの分割タイプに基づいて予測処理を適用することによって残差ブロックを取得した後に、CUが複数の変換単位(TU)に、CU用の符号化ツリーと同様の別の四分木構造に従って分割され得る。映像圧縮技術の最新の開発では、四分木及び二分木(QTBT)分割が、符号化ブロックを分割するのに用いられる。QTBTブロック構造では、CUは、正方形又は長方形のいずれかであってよい。例えば、符号化ツリー単位(CTU)が、まず四分木構造で分割される。四分木リーフノードはさらに、二分木構造で分割される。二分木リーフノードは符号化単位(CU)と呼ばれ、このセグメンテーションは予測及び変換の処理に用いられ、これ以上分割することはない。つまり、CU、PU、及びTUはQTBT符号化ブロック構造において同じブロックサイズを有する。並行して、複数の分割、例えば、三分木分割もQTBTブロック構造と一緒に用いるよう提案された。
【0030】
ITU-TのVCEG(Q6/16)及びISO/IECのMPEG(JTC 1/SC 29/WG 11)は、現在のHEVC規格を大幅に超える圧縮能力を有する将来の映像符号化技術の標準化に対する潜在的必要性を調査している(スクリーンコンテンツ符号化及び高ダイナミックレンジ符号化用の現在の拡張機能及び近い将来の拡張機能を含む)。これらのグループは、映像符号化共同研究チーム(JVET)として知られる合同の協力的取り組みで、この研究活動に共に従事しており、この分野の専門家が提案する圧縮技術設計を評価している。
【0031】
以下の説明では、本開示の一部を形成する添付図面を参照する。添付図面には、実例として、本発明が位置付けられ得る具体的な態様が示されている。
【0032】
例えば、説明された方法に関連した開示が、その方法を実行するように構成された対応するデバイス又はシステムにも当てはまってよく、逆もまた同様であることが理解される。例えば、特定の方法の段階が説明される場合、対応するデバイスが、説明された方法の段階を実行するユニットを、そのようなユニットが明示的に説明されていない又は図に示されていない場合でも、含んでよい。さらに、本明細書に説明される様々な例示的な態様の特徴は、特に断りのない限り、互いに組み合わされてよいことが理解される。
【0033】
映像符号化は通常、映像又は映像シーケンスを形成する一連のピクチャの処理のことを指す。ピクチャ、画像、又はフレームという用語は、映像符号化の分野及び本願では同義語として用いられてよい、又は用いられる。各ピクチャは通常、非重複ブロックのセットに分割される。ピクチャの符号化/復号は通常、ブロックレベルで行われる。例えば、インターフレーム予測又はイントラフレーム予測を用いて、予測ブロックを生成し、その予測ブロックを現在のブロック(現在処理されている/処理予定のブロック)から差し引いて残差ブロックを取得し、さらに、伝送されるデータ量を低減(圧縮)するために変換及び量子化が行われる。一方、復号器側では、逆の処理が符号化/圧縮ブロックに適用され、ブロックが表示のために再構成される。
【0034】
図1は、本願(本開示)の技法を利用し得る符号化システム10、例えば、映像符号化システム10を一例として示す概念図又は概略ブロック図である。映像符号化システム10の符号化器20(例えば、映像符号化器20)及び復号器30(例えば、映像復号器30)は、本願において説明される様々な例に従って技法を実行するように構成され得るデバイスの例を表している。
図1に示すように、符号化システム10は、符号化済みデータ13、例えば、符号化済みピクチャ13を、符号化済みデータ13の復号のために、例えば、送信先デバイス14に提供するように構成された送信元デバイス12を含む。送信元デバイス12は符号化器20を含み、追加的に、すなわち、任意選択的に、ピクチャソース16、前処理ユニット18(例えば、ピクチャ前処理ユニット18)、及び通信インタフェース又は通信ユニット22を含んでよい。
【0035】
ピクチャソース16は、例えば、現実世界のピクチャを撮像するための任意の種類のピクチャ撮像デバイス、及び/又は任意の種類のピクチャ若しくはコメント生成デバイス(スクリーンコンテンツの符号化では、スクリーン上の一部のテキストも符号化予定のピクチャ又は画像の一部とみなされる)、例えば、コンピュータアニメーションによるピクチャを生成するためのコンピュータグラフィックスプロセッサ、又は現実世界のピクチャ、コンピュータアニメーションによるピクチャ(例えば、スクリーンコンテンツ、仮想現実(VR)のピクチャ、及び/又はこれらの任意の組み合わせ(例えば、拡張現実(AR)のピクチャ)を取得且つ/又は提供するための任意の種類のデバイスであってもよく、これを含んでもよい。
【0036】
(デジタル)ピクチャが、強度値を有するサンプルの2次元アレイ又は行列とみなされる、又はみなされ得る。アレイ内のサンプルが、ピクセル(画素(picture element)の短縮形)又はペルとも呼ばれることがある。アレイ又はピクチャの水平及び鉛直の方向(又は軸)のサンプル数は、ピクチャのサイズ及び/又は解像度を決める。色の表現については、通常、3つの色成分が使用される。すなわち、ピクチャは3つのサンプルアレイで表されても、これを含んでもよい。RBG形式又は色空間では、ピクチャは対応する赤、緑、及び青のサンプルアレイを含む。しかしながら、映像符号化では、各ピクセルは通常、輝度/色差形式又は色空間、例えば、YCbCrで表される。YCbCrは、Y(代わりにLも用いられることがある)で示される輝度成分とCb及びCrで示される2つの色差成分とを含む。輝度(又は短縮してルマ(luma))成分Yは、輝度又は(例えば、グレースケールピクチャでのような)グレーレベルの強度を表し、2つの色差(又は短縮してクロマ(chroma))成分であるCb及びCrは、色度又は色情報成分を表す。したがって、YCbCr形式のピクチャは、輝度サンプル値(Y)の輝度サンプルアレイと、色差値(Cb及びCr)の2つの色差サンプルアレイとを含む。RGB形式のピクチャがYCbCr形式に変換されてもよく、逆もまた同様であり、この処理は色変換としても知られている。ピクチャが単色である場合、そのピクチャは輝度サンプルアレイだけを含んでよい。
【0037】
ピクチャソース16(例えば、映像ソース16)は、例えば、ピクチャを撮像するためのカメラ、すでに撮像されたピクチャ又は生成されたピクチャを含む又は格納するメモリ、例えば、ピクチャメモリ、及び/又はピクチャを取得又は受信する任意の種類のインタフェース(内部又は外部)であってもよい。カメラは例えば、ローカルカメラでも、送信元デバイスに組み込まれた一体型カメラでもよく、メモリは、ローカルメモリでも、例えば送信元デバイスに組み込まれた一体型メモリでもよい。インタフェースは例えば、外部映像ソースからピクチャを受信する外部インタフェース、例えば、カメラのような外部のピクチャ撮像デバイスでも、外部メモリでも、外部のピクチャ生成デバイス、例えば、外部のコンピュータグラフィックスプロセッサ、コンピュータ、又はサーバでもよい。インタフェースは、任意の種類のインタフェース、例えば、任意の専用又は標準化されたインタフェースプロトコルによる有線又は無線インタフェース、光インタフェースであり得る。ピクチャデータ17を取得するためのインタフェースは、通信インタフェース22と同じインタフェースでも、通信インタフェース22の一部であってもよい。
【0038】
前処理ユニット18及び前処理ユニット18により行われる処理と区別して、ピクチャ又はピクチャデータ17(例えば、映像データ16)は、未処理ピクチャ又は未処理ピクチャデータ17とも呼ばれることがある。
【0039】
前処理ユニット18は、(未処理)ピクチャデータ17を受信し、このピクチャデータ17に対して前処理を行い、前処理済みピクチャ19又は前処理済みピクチャデータ19を取得するように構成される。前処理ユニット18により行われる前処理は、例えば、トリミング、カラーフォーマット変換(例えば、RGBからYCbCrへの変換)、色補正、又はノイズ除去を含んでもよい。前処理ユニット18は任意選択のコンポーネントでもよいことが理解できる。
【0040】
符号化器20(例えば、映像符号化器20)は、前処理済みピクチャデータ19を受信し、符号化済みピクチャデータ21を提供するように構成される(さらなる詳細が、例えば
図2に基づいて後述される)。
【0041】
送信元デバイス12の通信インタフェース22は、符号化済みピクチャデータ21を受信し、これを別のデバイス、例えば送信先デバイス14若しくは任意の他のデバイスに、格納若しくは直接再構成するために伝送するか、あるいは、それぞれ符号化済みデータ13を格納する前、且つ/又は符号化済みデータ13を別のデバイス、例えば送信先デバイス14若しくは任意の他のデバイスに復号若しくは格納するために伝送する前に、符号化済みピクチャデータ21を処理するように構成されてよい。
【0042】
送信先デバイス14は、復号器30(例えば、映像復号器30)を含み、さらに、すなわち任意選択的に通信インタフェース又は通信ユニット28、後処理ユニット32、及びディスプレイデバイス34を含んでもよい。
【0043】
送信先デバイス14の通信インタフェース28は、符号化済みピクチャデータ21又は符号化済みデータ13を、例えば、送信元デバイス12から直接、又は任意の他のソース、例えば記憶デバイス(例えば、符号化済みピクチャデータ記憶デバイス)から受信するように構成される。
【0044】
通信インタフェース22及び通信インタフェース28は、符号化済みピクチャデータ21又は符号化済みデータ13を、送信元デバイス12と送信先デバイス14との間の直接通信リンク、例えば、直接的な有線接続又は無線接続を介して、又は任意の種類のネットワーク、例えば、有線ネットワーク若しくは無線ネットワーク又はこれらの任意の組み合わせ、又は任意の種類のプライベートネットワーク及びパブリックネットワーク、又はこれらの任意の種類の組み合わせを介して、送信又は受信するように構成されてよい。
【0045】
通信インタフェース22は、例えば、符号化済みピクチャデータ21を、通信リンク又は通信ネットワークを介して伝送するために、適切な形式、例えばパケットにパッケージ化するように構成されてよい。
【0046】
通信インタフェース22と対を成す通信インタフェース28は、例えば、符号化済みデータ13をデパッケージして、符号化済みピクチャデータ21を取得するように構成されてよい。
【0047】
通信インタフェース22及び通信インタフェース28は両方とも、
図1に符号化済みピクチャデータ13の矢印で送信元デバイス12から送信先デバイス14に向かうように示す単方向通信インタフェースとして構成されても、双方向通信インタフェースとして構成されてもよく、あるいは、例えばメッセージを送信又は受信し、例えば接続を確立し、通信リンク及び/又はデータ伝送(例えば、符号化済みピクチャデータの伝送)に関連した任意の他の情報の受領確認及びやり取りを行うように構成されてよい。
【0048】
復号器30は、符号化済みピクチャデータ21を受信し、復号済みピクチャデータ31又は復号済みピクチャ31を提供するように構成される(さらなる詳細は、例えば
図3に基づいて後述される)。
【0049】
送信先デバイス14のポストプロセッサ32は、復号済みピクチャデータ31(再構成済みピクチャデータとも呼ばれる)、例えば復号済みピクチャ31を後処理して、後処理済みピクチャデータ33、例えば、後処理済みピクチャ33を取得するように構成される。後処理ユニット32により行われる後処理は、例えば、復号済みピクチャデータ31を、例えば、ディスプレイデバイス34による表示のために準備する目的で、例えば、カラーフォーマット変換(例えば、YCbCrからRGBへの変換)、色補正、トリミング、若しくは再サンプリング、又は任意の他の処理を含んでよい。
【0050】
送信先デバイス14のディスプレイデバイス34は、ピクチャを例えばユーザ又は視聴者に表示するために、後処理済みピクチャデータ33を受信するように構成される。ディスプレイデバイス34は、再構成済みピクチャを表示するための任意の種類のディスプレイ、例えば、一体型又は外付けのディスプレイ又はモニタであってもよく、これを含んでもよい。ディスプレイは、例えば、液晶ディスプレイ(LCD)、有機発光ダイオードディスプレイ(OLED)、プラズマディスプレイ、プロジェクタ、マイクロLEDディスプレイ、液晶オンシリコン(LCoS)、デジタル光プロセッサ(DLP)、又は任意の種類の他のディスプレイを含んでよい。
【0051】
図1では、送信元デバイス12及び送信先デバイス14を別個のデバイスとして示しているが、デバイスの実施形態には、両方又は両方の機能、つまり、送信元デバイス12又は対応する機能と送信先デバイス14又は対応する機能とが含まれてもよい。そのような実施形態では、送信元デバイス12又は対応する機能と送信先デバイス14又は対応する機能とは、同じハードウェア及び/又はソフトウェアを用いて、又は別個のハードウェア及び/又はソフトウェア又はこれらの任意の組み合わせで実装されてよい。
【0052】
本明細書に基づいて当業者には明らかとなるが、
図1に示すような、送信元デバイス12及び/又は送信先デバイス14内の異なるユニット又は機能の存在及び機能の(厳密な)分割は、実際のデバイス及び応用に応じて変わってもよい。
【0053】
符号化器20(例えば、映像符号化器20)及び復号器30(例えば、映像復号器30)はそれぞれ、1つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック、ハードウェア、又はこれらの任意の組み合わせなどの様々な好適な回路のうちのいずれか1つとして実装されてよい。これらの技法がソフトウェアで部分的に実装される場合、デバイスがそのソフトウェア用の命令を好適な非一時的コンピュータ可読記憶媒体に格納してよく、1つ又は複数のプロセッサを用いるハードウェアで命令を実行して、本開示の技法を実行してよい。前述したもの(ハードウェア、ソフトウェア、ハードウェアとソフトウェアとの組み合わせなどを含む)のうちのいずれか1つは、1つ又は複数のプロセッサであるとみなされてよい。映像符号化器20及び映像復号器30のそれぞれは、1つ又は複数の符号化器又は復号器に含まれてよく、そのうちのいずれかはそれぞれのデバイスに一体型符号化器/復号器(コーデック)の一部として組み込まれてもよい。
【0054】
図2は、本願の技法を実装するように構成された一例としての映像符号化器20の概略的/概念的なブロック図を示す。
図2の例では、映像符号化器20は、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、逆量子化ユニット210及び逆変換処理ユニット212、再構成ユニット214、バッファ216、ループフィルタユニット220、復号済みピクチャバッファ(DPB)230、予測処理ユニット260、並びにエントロピー符号化ユニット270を含む。予測処理ユニット260は、インター予測ユニット244、イントラ予測ユニット254、及びモード選択ユニット262を含んでよい。インター予測ユニット244は、動き推定ユニット及び動き補償ユニットを含んでよい(不図示)。
図2に示す映像符号化器20は、ハイブリッド映像符号化器又はハイブリッドビデオコーデックによる映像符号化器とも呼ばれることがある。
【0055】
例えば、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、予測処理ユニット260、及びエントロピー符号化ユニット270は、符号化器20の順方向の信号経路を形成する。それに対して例えば、逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、バッファ216、ループフィルタ220、復号済みピクチャバッファ(DPB)230、及び予測処理ユニット260は、符号化器の逆方向の信号経路を形成する。符号化器の逆方向の信号経路は、復号器の信号経路に対応する(
図3の復号器30を参照)。
【0056】
符号化器20は、例えば入力202によって、ピクチャ201又はピクチャ201のブロック203を、例えば、映像又は映像シーケンスを形成する一連のピクチャのうちのピクチャを、受信するように構成される。ピクチャブロック203は、現在のピクチャブロック又は符号化予定のピクチャブロックとも呼ばれることがあり、ピクチャ201は、現在のピクチャ又は符号化予定のピクチャと呼ばれることがある(具体的には、映像符号化では現在のピクチャと他のピクチャ(例えば、同じ映像シーケンス、すなわち現在のピクチャも含む映像シーケンスのうちの、すでに符号化された及び/又は復号されたピクチャ)とを区別する)。
【0057】
予測処理ユニット260は、ブロック予測処理ユニット260とも呼ばれ、ブロック203(現在のピクチャ201の現在のブロック203)及び再構成済みピクチャデータ、例えば、バッファ216からの同じ(現在の)ピクチャの参照サンプル及び/又は復号済みピクチャバッファ230からの1つ又は複数のすでに復号済みのピクチャからの参照ピクチャデータ231を受信又は取得し、そのようなデータを予測のために処理する、すなわち、予測ブロック265を提供するように構成される。この予測ブロックは、インター予測ブロック245でもイントラ予測ブロック255でもよい。
【0058】
モード選択ユニット262は、予測モード(例えば、イントラ予測モード又はインター予測モード)及び/又は対応する予測ブロック245又は255を選択するように構成されてよく、この予測ブロックは、残差ブロック205の計算及び再構成ブロック215の再構成に予測ブロック265として用いられる。
【0059】
モード選択ユニット262の実施形態は、予測モードを(例えば、予測処理ユニット260によりサポートされる予測モードから)選択するように構成されてよく、これにより、最適な選択、言い換えれば最小残差(最小残差とは、伝送又は格納のための圧縮率が高いことを意味する)又は最小シグナリングオーバヘッド(最小シグナリングオーバヘッドとは、伝送又は格納のための圧縮率が高いことを意味する)が提供される、あるいは両方が考慮されるか又は両方のバランスが取られる。モード選択ユニット262は、レート歪み最適化(RDO)に基づいて予測モードを決定するように構成される、すなわち、最小レート歪み最適化を提供する予測モード又は関連するレート歪みが少なくとも予測モード選択基準を満たす予測モードを選択するように構成されてよい。
【0060】
イントラ予測ユニット254はさらに、イントラ予測パラメータ、例えば、選択したイントラ予測モードに基づいて、イントラ予測ブロック255を決定するように構成される。どのような場合でも、イントラ予測ユニット254は、あるブロックに対するイントラ予測モードを選択した後に、イントラ予測パラメータを、すなわち当該ブロックに対する選択したイントラ予測モードを示す情報を、エントロピー符号化ユニット270に提供するようにも構成される。1つの例では、イントラ予測ユニット254は、後述される複数のイントラ予測技法の任意の組み合わせを行うように構成されてよい。
【0061】
図3は、本願の技法を実装するように構成された例示的な映像復号器30を示す。映像復号器30は、例えば、符号化器20によって符号化された符号化済みピクチャデータ(例えば、符号化済みビットストリーム)21を受信し、復号済みピクチャ31を取得するように構成される。復号処理の際に、映像復号器30は、映像データを、例えば、符号化済み画像スライスのピクチャブロック及び関連する構文要素を表す符号化済み映像ビットストリームを、映像符号化器100から受信する。
【0062】
図3の例では、復号器30は、エントロピー復号ユニット304、逆量子化ユニット310、逆変換処理ユニット312、再構成ユニット314(例えば、加算器314)、バッファ316、ループフィルタ320、復号済みピクチャバッファ330、及び予測処理ユニット360を含む。予測処理ユニット360は、インター予測ユニット344、イントラ予測ユニット354、及びモード選択ユニット362を含んでよい。映像復号器30は、いくつかの例では、
図2の映像符号化器100に関して説明された符号化経路に対して一般に逆の復号経路を実行してよい。
【0063】
エントロピー復号ユニット304は、符号化済みピクチャデータ21に対してエントロピー復号を行い、例えば、量子化係数309及び/又は復号済み符号化パラメータ(
図3には示していない)、例えば(復号済みの)インター予測パラメータ、イントラ予測パラメータ、ループフィルタパラメータ、及び/又は他の構文要素のうちのいずれか又は全てを取得するように構成される。エントロピー復号ユニット304はさらに、インター予測パラメータ、イントラ予測パラメータ、及び/又は他の構文要素を予測処理ユニット360に転送するように構成される。映像復号器30は、画像スライスレベルで及び/又は画像ブロックレベルで、構文要素を受信してよい。
【0064】
逆量子化ユニット310は逆量子化ユニット110と機能が同一であってよく、逆変換処理ユニット312は逆変換処理ユニット112と機能が同一であってよく、再構成ユニット314は再構成ユニット114と機能が同一であってよく、バッファ316はバッファ116と機能が同一であってよく、ループフィルタ320はループフィルタ120と機能が同一であってよく、復号済みピクチャバッファ330は復号済みピクチャバッファ130と機能が同一であってよい。
【0065】
予測処理ユニット360は、インター予測ユニット344とイントラ予測ユニット354とを含んでよく、インター予測ユニット344は機能がインター予測ユニット144に類似してよく、イントラ予測ユニット354は機能がイントラ予測ユニット154に類似してよい。予測処理ユニット360は通常、ブロック予測を行う且つ/又は予測ブロック365を符号化済みデータ21から取得し、予測関連パラメータ及び/又は選択した予測モードについての情報を、例えばエントロピー復号ユニット304から(明示的に又は暗黙的に)受信又は取得するように構成される。
【0066】
画像スライスがイントラ符号化済み(I)スライスとして符号化された場合、予測処理ユニット360のイントラ予測ユニット354は、現在の画像スライスのピクチャブロックに対する予測ブロック365を、信号で送られたイントラ予測モードと現在のフレーム又はピクチャのすでに復号済みのブロックからのデータとに基づいて生成するように構成される。映像フレームがインター符号化(すなわち、B又はP)スライスとして符号化された場合、予測処理ユニット360のインター予測ユニット344(例えば、動き補償ユニット)は、現在の画像スライスの画像ブロックに対する予測ブロック365を、エントロピー復号ユニット304から受信した動きベクトル及び他の構文要素に基づいて生成するように構成される。インター予測では、予測ブロックは、複数の参照ピクチャリストのうちの1つに含まれる複数の参照ピクチャのうちの1つから生成されてよい。映像復号器30は、リスト0及びリスト1という参照フレームリストを、デフォルトの構成技法を用いて、DPB330に格納された参照ピクチャに基づいて構成してよい。
【0067】
予測処理ユニット360は、現在の画像スライスの画像ブロックに対する予測情報を、動きベクトル及び他の構文要素を解析することによって決定するように構成され、この予測情報を用いて、復号中の現在の画像ブロックに対する予測ブロックを生成する。例えば、予測処理ユニット360は、受信した構文要素の一部を用いて、画像スライスの画像ブロックを符号化するのに用いられる予測モード(例えば、イントラ予測又はインター予測)、インター予測スライスのタイプ(例えば、Bスライス、Pスライス、又はGPBスライス)、スライスに対する複数の参照ピクチャリストのうちの1つ又は複数についての構成情報、スライスのインター符号化済み画像ブロックごとの動きベクトル、スライスのインター符号化済み画像ブロックごとのインター予測状況、及び現在の画像スライス内の画像ブロックを復号するための他の情報を決定する。
【0068】
逆量子化ユニット310は、ビットストリームで提供され且つエントロピー復号ユニット304により復号される量子化変換係数を逆量子化する、すなわち量子化を解除するように構成される。逆量子化処理は、画像スライス内の画像ブロックごとに映像符号化器100によって計算される量子化パラメータを用いて、量子化の程度を判定し、さらに、適用すべき逆量子化の程度を判定することを含んでよい。
【0069】
逆変換処理ユニット312は、逆変換、例えば、逆DCT、逆整数変換、又は概念的に同様の逆変換処理を変換係数に適用し、ピクセル領域において残差ブロックを生成するように構成される。
【0070】
再構成ユニット314(例えば、加算器314)は、逆変換ブロック313(すなわち、再構成された残差ブロック313)を予測ブロック365に加え、例えば、再構成された残差ブロック313のサンプル値と予測ブロック365のサンプル値とを加えることにより、サンプル領域において再構成ブロック315を取得するように構成される。
【0071】
ループフィルタユニット320(符号化ループ中、又は符号化ループ後のいずれか)は、再構成ブロック315をフィルタリングして、フィルタリング済みブロック321を取得し、例えば、ピクセル遷移を滑らかにする、又は別の方法で映像品質を向上させるように構成される。1つの例では、ループフィルタユニット320は、後述される複数のフィルタリング技法の任意の組み合わせを行うように構成されてよい。ループフィルタユニット320は、デブロッキングフィルタ、サンプルアダプティブオフセット(SAO)フィルタ、又は他のフィルタ、例えば、バイラテラルフィルタ又はアダプティブループフィルタ(ALF)又は鮮鋭化フィルタ若しくは平滑化フィルタ又は協調フィルタなどの、1つ又は複数のループフィルタを表すことが意図されている。ループフィルタユニット320が、ループフィルタ内にあるものとして
図3に示されているが、他の構成では、ループフィルタユニット320はポストループフィルタとして実装されてもよい。
【0072】
所与のフレーム又はピクチャにおける復号済み画像ブロック321は次に、復号済みピクチャバッファ330に格納される。復号済みピクチャバッファ330は、次の動き補償に用いられる参照ピクチャを格納する。
【0073】
復号器30は、復号済みピクチャ331を、例えば出力332を介して、ユーザへの表示又は視聴のために出力するように構成される。
【0074】
映像復号器30の他の変形例が、圧縮されたビットストリームを復号するのに用いられ得る。例えば、復号器30は、ループフィルタリングユニット320を用いずに、出力映像ストリームを生成することができる。例えば、非変換ベースの復号器30が、特定のブロック又はフレーム用の逆変換処理ユニット312を用いずに、残差信号を直接的に逆量子化することができる。別の実装例では、映像復号器30は、逆量子化ユニット310及び逆変換処理ユニット312を単一のユニットに組み合わせることができる。
【0075】
HEVC/H.265規格によれば、35個のイントラ予測モードが利用可能である。
図4に示すように、このセットは、以下のモードを含む。すなわち、平面モード(イントラ予測モードのインデックスは0)と、DCモード(イントラ予測モードのインデックスは1)と、180°の範囲をカバーし且つ
図4に黒矢印で示される2~34の範囲のイントラ予測モードのインデックス値を有する方向(角度)モードとを含む。自然な映像に存在する任意のエッジ方向をとらえるために、方向性イントラモードの数は33から、HEVCで用いられるように65まで拡張される。追加の方向性モードは、
図4に点線矢印で示されており、平面モード及びDCモードは同じままである。イントラ予測モードでカバーされる範囲は180°より広くすることができることは、注目に値する。具体的には、3~64のインデックス値を有する62個の方向性モードが、およそ230°の範囲をカバーする、すなわち、これらのモードのうちのいくつかのペアは反対の方向性を有する。HEVC参照モデル(HM)及びJEMプラットフォームの場合、一対の角度モード(すなわち、モード2及び66)だけが、
図4に示すように反対の方向性を有する。予測値を構成するために、従来の角度モードでは、参照サンプルを取り、(必要であれば)そのサンプルをフィルタリングしてサンプル予測値を獲得する。予測値を構成するのに必要な参照サンプルの数は、補間に用いられるフィルタの長さに依存する(例えば、バイリニアフィルタ及びキュービックフィルタは、それぞれ2及び4の長さを有する)。
【0076】
VTM(Versatile Test Model:多目的テストモデル)は35個のイントラモードを用い、一方、BMS(Benchmark Set:ベンチマークセット)は67個のイントラモードを用いる。67個のイントラモードを符号化するために、BMSにおける現在のイントラモード符号化方式は、以下の方法を用いる。
【0077】
BMSにおける方向性イントラモードの数の増加に適応するために、6個の最確モード(MPM)を有するイントラモード符号化方法が用いられる。以下の2つの主要な技術的側面が関係している。
1)6個のMPMの導出。
2)6個のMPM及び非MPMモードのエントロピー符号化。
【0078】
BMSでは、MPMリストに含まれるモードは、隣接イントラモード、導出イントラモード、及び初期設定イントラモードという3つのグループに分類される。
【0079】
5個の隣接イントラ予測モードが、MPMリストを形成するのに用いられる。5個の隣接ブロックの位置はマージモードに用いられるものと同じである、すなわち、
図5に示すように、左(L)、上(A)、左下(BL)、右上(AR)、及び左上(AL)である。初期のMPMリストが、5個の隣接イントラモード、平面モード、及びDCモードをMPMリストに挿入することにより形成される。重複したモードを除去するのにプルーニング処理が用いられることにより、一意のモードだけがMPMリストに含まれることになる。初期モードが含まれている場合の順序は、左、上、平面、DC、左下、右上、左上である。
【0080】
MPMリストがいっぱいではない(すなわち、リスト内のMPM候補が6個未満である)場合、導出モードが追加される。このイントラモードは、既にMPMリストに含まれている角度モードに-1又は+1を加えることで取得される。導出は、非角度モード、すなわち、DC又は平面には適用されない。
【0081】
最後に、MPMリストがまだそろっていない場合、初期設定モードが、鉛直、水平、イントラモード2、対角線モードの順序で追加される。この処理の結果として、6個のMPMモードという一意のリストが生成される。
【0082】
6個のMPMのエントロピー符号化では、MPMの簡略化した単項二値化(unary binarization)が用いられる。最初の3つのビンは、現在信号で送られているビンに関連したMPMモードに依存するコンテクストで符号化される。MPMモードは、次の3つのカテゴリのうちの1つに分類される。すなわち、(a)当該モードが水平に属するかどうか(MPMモードは対角線方向より小さい又はこれと等しい)、(b)鉛直(対角線方向より大きいMPMモード)、又は(c)非角度(DC及び平面)クラス、というカテゴリである。したがって、3つのコンテクストがMPMインデックスを信号で送るのに用いられる。
【0083】
残りの61個の非MPMの符号化は、次のように行われる。61個の非MPMはまず、選択モードセットと非選択モードセットという2つのセットに分割される。選択モードセットは16個のモードを含み、残り(45個のモード)は非選択モードセットに割り当てられる。現在のモードが属するモードセットは、ビットストリームにフラグを用いて示されている。次に、選択セットからのモードは、4ビットの固定長コードを用いて信号で送られ、非選択セットからのモードは簡略化したバイナリコードで符号化される。選択モードセットは、合計61個の非MPMをインデックスで次のようにサブサンプリングすることで生成される。
選択モードセット={0,4,8,12,16,20…60}
非選択モードセット={1,2,3,5,6,7,9,10…59}
【0084】
異なるイントラモードのシグナリングメカニズムの概要は、表1に示されている。
【表1】
【0085】
別の例では、3つの最確モード(MPM)を有するイントラモード符号化方法が用いられる。一例において、intra_luma_mpm_flag[x0][y0]、intra_luma_mpm_idx[x0][y0]、及びintra_luma_mpm_remainder[x0][y0]という構文要素が、ルマサンプルに対するイントラ予測モードを指定する。アレイインデックスであるx0、y0は、ピクチャの左上ルマサンプルに対する、考慮された予測ブロックの左上ルマサンプルの位置(x0,y0)を指定する。intra_luma_mpm_flag[x0][y0]が1と等しい場合、イントラ予測モードは、隣接するイントラ予測済みの予測単位から推定される。
【0086】
現在のブロックに対するイントラ予測(IntraPredModeY[xPb][yPb])が、以下の順序付けられた段階によって導出される。
【0087】
隣接位置である(xNbA,yNbA)及び(xNbB,yNbB)はそれぞれ、(xPb-1,yPb)及び(xPb,yPb-1)と等しく設定される。
【0088】
XがA又はBのいずれかに置き換えられる場合、これらの変数であるcandIntraPredModeXは次のように導出される。
【0089】
あるブロックに対する利用可能性導出処理は、入力として位置(xCurr,yCurr)を(xPb,yPb)と等しく設定し且つ隣接位置(xNbY,yNbY)を(xNbX,yNbX)と等しく設定した状態で呼び出され、出力はavailableXに割り当てられる。
【0090】
候補となるイントラ予測モードであるcandIntraPredModeXは、次のように導出される。
【0091】
以下の条件のうちの1つ又は複数が当てはまる場合、candIntraPredModeXはINTRA_DCと等しく設定される。
【0092】
変数であるavailableXは、FALSEと等しい。CuPredMode[xNbX][yNbX]は、MODE_INTRAと等しくない。XはBと等しく、yPb-1は((yPb>>CtbLog2SizeY)<<CtbLog2SizeY)より小さい。それ以外の場合、candIntraPredModeXは、IntraPredModeY[xNbX][yNbX]と等しく設定される。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]=candIntraPredModeA
candModeList[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と等しく設定される。IntraPredModeY[xPb][yPb]は、以下の手順を適用することで導出される。intra_luma_mpm_flag[xPb][yPb]が1と等しい場合、IntraPredModeY[xPb][yPb]は、candModeList[intra_luma_mpm_idx[xPb][yPb]]と等しく設定される。あるいは、IntraPredModeY[xPb][yPb]は、以下の順序付けられた段階を適用することで導出される。アレイcandModeList[x](x=0~2)は、以下の順序付けられた段階によって修正される。candModeList[0]がcandModeList[1]より大きい場合、両方の値が次のように交換される。
(candModeList[0],candModeList[1])=Swap(candModeList[0],candModeList[1])
candModeList[0]がcandModeList[2]より大きい場合、両方の値が次のように交換される。
(candModeList[0],candModeList[2])=Swap(candModeList[0],candModeList[2])
candModeList[1]がcandModeList[2]より大きい場合、両方の値が次のように交換される。
(candModeList[1],candModeList[2])=Swap(candModeList[1],candModeList[2])(8-11)
IntraPredModeY[xPb][yPb]は、以下の順序付けられた段階によって導出される。IntraPredModeY[xPb][yPb]は、intra_luma_mpm_remainder[xPb][yPb]と等しく設定される。0~2(両端を含む)と等しいiについて、IntraPredModeY[xPb][yPb]がcandModeList[i]より大きい又はこれと等しい場合、IntraPredModeY[xPb][yPb]の値は1だけインクリメントされる。
【0093】
本願の1つの実装形態において、フレームはピクチャと同じである。
【0094】
本開示の1つの態様において、最確モード(MPM)リストを構成する方法が開示される。本方法は、現在の符号化ブロックの左側のブロックが利用可能かどうかを判定し、現在の符号化ブロックの左側のブロックが利用可能である場合、左側のブロックのイントラ予測モードをMPMリストに追加する段階と、現在の符号化ブロックの上側のブロックが利用可能かどうかを判定し、現在の符号化ブロックの上側のブロックが利用可能である場合、上側のブロックのイントラ予測モードをMPMリストに追加する段階と、MPMリストに平面モードが含まれていない場合、平面モードをMPMリストに追加する段階と、MPMリストにDCモードが含まれていない場合、DCモードをMPMリストに追加する段階とを含む。
【0095】
本願の1つの実装形態では、現在の符号化ブロックの上側のブロックが利用可能である且つ上側のブロックのイントラ予測モードがMPMリストに含まれていない場合、上側のブロックのイントラ予測モードをMPMリストに追加する。
【0096】
本願の1つの実装形態では、現在の符号化ブロックの上側のブロックが利用可能である且つ上側のブロックのイントラ予測モードがMPMリストに含まれている場合、実行される「追加」、すなわち「追加」処理の結果によってMPMリストが変わることはない。
【0097】
本願の1つの実装形態では、左側のブロックの予測モードがイントラ予測モードではない場合、現在の符号化ブロックの左側のブロックは利用できない。
【0098】
本願の1つの実装形態では、現在の符号化ブロックがフレームの左端側に位置する符号化ブロックである場合、現在の符号化ブロックの左側のブロックは利用できない。
【0099】
本願の1つの実装形態では、並列処理がサポートされている且つ現在の符号化ブロックがタイルの左端側に位置する符号化ブロックである場合、現在の符号化ブロックの左側のブロックは利用できない。
【0100】
本願の1つの実装形態では、並列処理がサポートされていない、且つ現在の符号化ブロックがタイルの左端側に位置する符号化ブロックであるが、フレームの左端側には位置していない場合、現在の符号化ブロックの左側のブロックは利用可能である。
【0101】
本願の1つの実装形態では、並列処理がサポートされている且つ現在の符号化ブロックがスライスの左端側に位置する符号化ブロックである場合、現在の符号化ブロックの左側のブロックは利用できない。
【0102】
本願の1つの実装形態では、並列処理がサポートされていない、且つ現在の符号化ブロックがスライスの左端側に位置する符号化ブロックであるが、フレームの左端側には位置していない場合、現在の符号化ブロックの左側のブロックは利用可能である。
【0103】
本願の1つの実装形態では、上側のブロックの予測モードがイントラ予測モードではない場合、現在の符号化ブロックの上側のブロックは利用できない。
【0104】
本願の1つの実装形態では、現在の符号化ブロックがフレームの上端側に位置する符号化ブロックである場合、現在の符号化ブロックの上側のブロックは利用できない。
【0105】
本願の1つの実装形態では、並列処理がサポートされている且つ現在の符号化ブロックがタイルの上端側に位置する符号化ブロックである場合、現在の符号化ブロックの上側のブロックは利用できない。
【0106】
本願の1つの実装形態では、並列処理がサポートされていない、且つ現在の符号化ブロックがタイルの上端側に位置する符号化ブロックであるが、フレームの上端側には位置していない場合、現在の符号化ブロックの上側のブロックは利用可能である。
【0107】
本願の1つの実装形態では、並列処理がサポートされている且つ現在の符号化ブロックがスライスの上端側に位置する符号化ブロックである場合、現在の符号化ブロックの上側のブロックは利用できない。
【0108】
本願の1つの実装形態では、並列処理がサポートされていない、且つ現在の符号化ブロックがスライスの上端側に位置する符号化ブロックであるが、フレームの上端側には位置していない場合、現在の符号化ブロックの上側のブロックは利用可能である。
【0109】
本願の1つの実装形態では、ラインバッファのサイズが制限されている且つ現在の符号化ブロックが現在のCTUの上端側に位置する符号化ブロックである場合、現在の符号化ブロックの上側のブロックは利用できない。
【0110】
本願の1つの実装形態では、現在の符号化ブロックがフレームの左端側に位置していない符号化ブロックである場合、現在の符号化ブロックの左側のブロックは利用可能である。
【0111】
本願の1つの実装形態では、現在の符号化ブロックがフレームの上端側に位置していない符号化ブロックである場合、現在の符号化ブロックの上側のブロックは利用可能である。
【0112】
本願の1つの実装形態では、本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である場合、イントラ予測モードのセットのうちの第1のイントラ予測モードがMPMリストに含まれているかどうかを確認し、第1のイントラ予測モードがMPMリストに含まれていない場合、第1のイントラ予測モードをMPMリストに追加する段階を含み、イントラ予測モードのセットは、(第1のイントラ予測モードとして)鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、又は対角線モード(DIA_IDX)を含む。
【0113】
本願の1つの実装形態では、本方法はさらに、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、又は対角線モード(DIA_IDX)をMPMリストに追加する段階を含む。
【0114】
本願の1つの実装形態では、本方法はさらに、角度モード候補のリストを含み、角度モード候補のリストは、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、又は対角線モード(DIA_IDX)を含む又はこれらのモードで構成されてMPMリストになる。本方法はさらに、リストの角度モードがMPMリストにあるかどうかをリスト内の角度モードの順序に従って繰り返し判定し、それぞれの角度モードがMPMリストにない場合、それぞれの角度モードをMPMリストに追加する段階を含む。
【0115】
本願の1つの実装形態では、MPMリストの構成は、現在の符号化ブロックの左側のブロックが利用可能かどうかを、例えば、空のMPMリストに基づいて判定する段階から始まる。
【0116】
本願の1つの実装形態では、本方法はさらに、現在の符号化ブロックの左側のブロックが利用できない且つほぼ左方向にある他のブロック(例えば、
図5のBL又はAL)が利用可能である場合、他のブロックのイントラ予測モードをMPMリストに挿入し、左側のブロックが利用可能である場合には、他のブロックのイントラ予測モードをMPMリストに挿入しない段階を含む。
【0117】
本願の1つの実装形態では、本方法はさらに、現在の符号化ブロックの上側のブロックが利用できない且つほぼ上方向にある他のブロック(例えば、
図5のAR又はAL)が利用可能である場合、他のブロックのイントラ予測モードをMPMリストに挿入し、上側のブロックが利用可能である場合には、他のブロックのイントラ予測モードをMPMリストに挿入しない段階を含む。
【0118】
本願の1つの実装形態では、本方法はさらに、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、又は対角線モード(DIA_IDX)を、これらのモードがMPMリストにない場合にはMPMリストに追加する段階を含む。
【0119】
本願の1つの実装形態では、本方法はさらに、現在の符号化ブロックの左側及び上側のブロックが両方とも角度ではない場合、もう1つの他の隣接ブロック(例えば、
図5のBL又はAL又はAR)をさらに確認する段階を含む。これらのブロック(BL又はAL又はAR)のうちのいずれかが角度である場合、前述したように、この角度モードを-1+1導出処理用の開始角度モードとして用いる。
【0120】
本願の1つの実装形態では、VER_IDXに対応する値が50であり、HOR_IDXに対応する値が18であり、VDIA_IDXに対応する値が66であり且つこの値はこれらの角度モードに対応する値の中で最大の値であってよく、イントラモード2に対応する値2はこれらの角度モードに対応する値の中で最小の値であってよく、DIA_IDXに対応する値は34である。
【0121】
本願の1つの実装形態では、MPMリスト内のイントラ予測モードの数が閾値未満である場合、イントラ予測モードのセットのうちの第1のイントラ予測モードがMPMリストに含まれているかどうかを確認し、第1のイントラ予測モードがMPMリストに含まれていない場合には、第1のイントラ予測モードをMPMリストに追加する。イントラ予測モードのセットは、(第1のイントラ予測モードとして)鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、又は対角線モード(DIA_IDX)を含む。
【0122】
本願の1つの実装形態では、本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である場合、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、又は対角線モード(DIA_IDX)を含むイントラ予測モードのセットのうちのイントラ予測モードを前述の順序に従って、当該イントラ予測モードがMPMリストに含まれていない場合には予測モードの数が閾値と等しくなるまで、繰り返しMPMリストに追加する段階を含む。
【0123】
本願の1つの実装形態では、本方法はさらに、現在の符号化ブロックの左側のブロックが利用できない且つMPMリスト内のイントラ予測モードの数が閾値未満である場合、イントラ予測モードのセットのうちの第1のイントラ予測モードがMPMリストに含まれているかどうかを確認し、第1のイントラ予測モードがMPMリストに含まれていない場合には、第1のイントラ予測モードをMPMリストに追加する段階を含む。イントラ予測モードのセットは、(第1のイントラ予測モードとして)鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、対角線モード(DIA_IDX)、又はイントラモード2(2)を含む。
【0124】
本願の1つの実装形態では、本方法はさらに、現在の符号化ブロックの左側のブロックが利用できない且つMPMリスト内のイントラ予測モードの数が閾値未満である場合、鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、対角線モード(DIA_IDX)、又はイントラモード2(2)を含むイントラ予測モードのセットのうちのイントラ予測モードを前述の順序に従って、当該イントラ予測モードがMPMリストに含まれていない場合には予測モードの数が閾値と等しくなるまで、繰り返しMPMリストに追加する段階を含む。
【0125】
本願の1つの実装形態では、本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である場合、イントラ予測モードのセットのうちの第1のイントラ予測モードがMPMリストに含まれているかどうかを確認し、第1のイントラ予測モードがMPMリストに含まれていない場合には、第1のイントラ予測モードをMPMリストに追加する段階を含む。イントラ予測モードのセットは、(第1のイントラ予測モードとして)鉛直モード(VER_IDX)、水平モード(HOR_IDX)、VER_IDXに対応しオフセット-4を用いるイントラ予測モード、又はVER_IDXに対応しオフセット4を用いるイントラ予測モードを含む。
【0126】
本願の1つの実装形態では、VER_IDXに対応しオフセット-4を用いるイントラ予測モードが、VER_IDXに対応する値を用いてオフセット-4を加え、対応したイントラ予測モードの値を取得する。例えば、VER_IDXの値が50のときに、VER_IDXに対応しオフセット-4を用いるイントラ予測モードがイントラ予測モード46であり、VER_IDXに対応しオフセット4を用いるイントラ予測モードがイントラ予測モード54である。その他のオフセットを用いる例は、この例と同様の処理を有する。
【0127】
-1又は+1又は他のオフセット値を実行する場合、ラップアップ(wrap up)及びラップダウン(wrap down)の操作を伴うことがあることに留意されたい。例えば、イントラモード(2)の値が2(角度モードに対応する値の中で最小の値)である場合、イントラモード(2)-1は66になり(ラップアップのケース)、又はVDIA_IDXの値が66(角度モードに対応する値の中で最大の値)である場合、VDIA_IDX+1は2になる(ラップダウンのケース)。
【0128】
本願の1つの実装形態では、本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である場合、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、VER_IDXに対応しオフセット-4を用いるイントラ予測モード、又はVER_IDXに対応しオフセット4を用いるイントラ予測モードを含むイントラ予測モードのセットのうちのイントラ予測モードを前述の順序に従って、当該イントラ予測モードがMPMリストに含まれていない場合には予測モードの数が閾値と等しくなるまで、繰り返しMPMリストに追加する段階を含む。
【0129】
本願の1つの実装形態では、本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である場合、イントラ予測モードのセットのうちの第1のイントラ予測モードがMPMリストに含まれているかどうかを確認し、第1のイントラ予測モードがMPMリストに含まれていない場合には、第1のイントラ予測モードをMPMリストに追加する段階を含む。イントラ予測モードのセットは、(第1のイントラ予測モードとして)鉛直モード(VER_IDX)、水平モード(HOR_IDX)、VER_IDXに対応しオフセット4を用いるイントラ予測モード、又はVER_IDXに対応しオフセット-4を用いるイントラ予測モードを含む。
【0130】
本願の1つの実装形態では、本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である場合、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、VER_IDXに対応しオフセット4を用いるイントラ予測モード、又はVER_IDXに対応しオフセット-4を用いるイントラ予測モードを含むイントラ予測モードのセットのうちのイントラ予測モードを前述の順序に従って、当該イントラ予測モードがMPMリストに含まれていない場合には予測モードの数が閾値と等しくなるまで、繰り返しMPMリストに追加する段階を含む。
【0131】
本願の1つの実装形態では、本方法はさらに、現在の符号化ブロックの左側のブロックが利用できない且つMPMリスト内のイントラ予測モードの数が閾値未満である場合、イントラ予測モードのセットのうちの第1のイントラ予測モードがMPMリストに含まれているかどうかを確認し、第1のイントラ予測モードがMPMリストに含まれていない場合には、第1のイントラ予測モードをMPMリストに追加する段階を含み、イントラ予測モードのセットは、以下のイントラ予測モードセットのうちの1つを含む。すなわち、
(第1のイントラ予測モードとして)鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VER_IDXに対応しオフセット-1を用いるイントラ予測モード、及びVER_IDXに対応しオフセット1を用いるイントラ予測モード、又は
(第1のイントラ予測モードとして)鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VER_IDXに対応しオフセット-4を用いるイントラ予測モード、及びVER_IDXに対応しオフセット4を用いるイントラ予測モード、又は
(第1のイントラ予測モードとして)鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VDIA_IDXに対応しオフセット-4を用いるイントラ予測モード、及びVER_IDXに対応しオフセット-1を用いるイントラ予測モード、又は
(第1のイントラ予測モードとして)鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VDIA_IDXに対応しオフセット-4を用いるイントラ予測モード、及びVER_IDXに対応しオフセット+1を用いるイントラ予測モード、又は
(第1のイントラ予測モードとして)鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VDIA_IDXに対応しオフセット-1を用いるイントラ予測モード、及びVER_IDXに対応しオフセット-1を用いるイントラ予測モード、又は
(第1のイントラ予測モードとして)鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VDIA_IDXに対応しオフセット-1を用いるイントラ予測モード、及びVER_IDXに対応しオフセット1を用いるイントラ予測モード、又は
(第1のイントラ予測モードとして)鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VER_IDXに対応しオフセット-1を用いるイントラ予測モード、及びVDIA_IDXに対応しオフセット-4を用いるイントラ予測モード、又は
(第1のイントラ予測モードとして)鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VER_IDXに対応しオフセット1を用いるイントラ予測モード、及びVDIA_IDXに対応しオフセット-4を用いるイントラ予測モード、又は
(第1のイントラ予測モードとして)鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VER_IDXに対応しオフセット-1を用いるイントラ予測モード、及びVDIA_IDXに対応しオフセット-1を用いるイントラ予測モード、又は
(第1のイントラ予測モードとして)鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VER_IDXに対応しオフセット1を用いるイントラ予測モード、及びVDIA_IDXに対応しオフセット-1を用いるイントラ予測モード
のうちの1つである。
【0132】
本願の1つの実装形態では、本方法はさらに、現在の符号化ブロックの左側のブロックが利用できない且つMPMリスト内のイントラ予測モードの数が閾値未満である場合、イントラ予測モードのセットのうちのイントラ予測モードを前述の順序に従って、当該イントラ予測モードがMPMリストに含まれていない場合には予測モードの数が閾値と等しくなるまで、繰り返しMPMリストに追加する段階を含み、イントラ予測モードのセットは、以下のイントラ予測モードセットのうちの1つを含む。すなわち、
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VER_IDXに対応しオフセット-1を用いるイントラ予測モード、及びVER_IDXに対応しオフセット1を用いるイントラ予測モード、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VER_IDXに対応しオフセット-4を用いるイントラ予測モード、及びVER_IDXに対応しオフセット4を用いるイントラ予測モード、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VDIA_IDXに対応しオフセット-4を用いるイントラ予測モード、及びVER_IDXに対応しオフセット-1を用いるイントラ予測モード、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VDIA_IDXに対応しオフセット-4を用いるイントラ予測モード、及びVER_IDXに対応しオフセット+1を用いるイントラ予測モード、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)VDIA_IDXに対応しオフセット-1を用いるイントラ予測モード、及びVER_IDXに対応しオフセット-1を用いるイントラ予測モード、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VDIA_IDXに対応しオフセット-1を用いるイントラ予測モード、及びVER_IDXに対応しオフセット1を用いるイントラ予測モード、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VER_IDXに対応しオフセット-1を用いるイントラ予測モード、及びVDIA_IDXに対応しオフセット-4を用いるイントラ予測モード、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VER_IDXに対応しオフセット1を用いるイントラ予測モード、及びVDIA_IDXに対応しオフセット-4を用いるイントラ予測モード、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VER_IDXに対応しオフセット-1を用いるイントラ予測モード、及びVDIA_IDXに対応しオフセット-1を用いるイントラ予測モード、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VER_IDXに対応しオフセット1を用いるイントラ予測モード、及びVDIA_IDXに対応しオフセット-1を用いるイントラ予測モード
のうちの1つである。
【0133】
本願の1つの実装形態では、本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である且つ現在の符号化ブロックの上側のブロックが利用できない場合、イントラ予測モードのセットのうちの第1のイントラ予測モードがMPMリストに含まれているかどうかを確認し、第1のイントラ予測モードがMPMリストに含まれていない場合には、第1のイントラ予測モードをMPMリストに追加する段階を含み、イントラ予測モードのセットは、(第1のイントラ予測モードとして)水平モード(HOR_IDX)、イントラモード2(2)、対角線モード(DIA_IDX)、又は鉛直対角線モード(VDIA_IDX)を含む。
【0134】
本願の1つの実装形態では、本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である且つ現在の符号化ブロックの上側のブロックが利用できない場合、水平モード(HOR_IDX)、イントラモード2(2)、対角線モード(DIA_IDX)、又は鉛直対角線モード(VDIA_IDX)を含むイントラ予測モードのセットのうちのイントラ予測モードを前述の順序に従って、当該イントラ予測モードがMPMリストに含まれていない場合には予測モードの数が閾値と等しくなるまで、繰り返しMPMリストに追加する段階を含む。
【0135】
本願の1つの実装形態では、本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である、且つ現在の符号化ブロックの左側のブロックが利用可能である、且つ現在の符号化ブロックの上側のブロックが利用可能である場合、イントラ予測モードのセットのうちの第1のイントラ予測モードがMPMリストに含まれているかどうかを確認し、第1のイントラ予測モードがMPMリストに含まれていない場合には、第1のイントラ予測モードをMPMリストに追加する段階を含み、イントラ予測モードのセットは、(第1のイントラ予測モードとして)鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、又は対角線モード(DIA_IDX)を含む。
【0136】
本願の1つの実装形態では、本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である、且つ現在の符号化ブロックの左側のブロックが利用可能である、且つ現在の符号化ブロックの上側のブロックが利用可能である場合、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、又は対角線モード(DIA_IDX)を含むイントラ予測モードのセットのうちのイントラ予測モードを前述の順序に従って、当該イントラ予測モードがMPMリストに含まれていない場合には予測モードの数が閾値と等しくなるまで、繰り返しMPMリストに追加する段階を含む。
【0137】
本願の1つの実装形態では、本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である且つ現在の符号化ブロックの上側のブロックが利用できない場合、イントラ予測モードのセットのうちの第1のイントラ予測モードがMPMリストに含まれているかどうかを確認し、第1のイントラ予測モードがMPMリストに含まれていない場合には第1のイントラ予測モードをMPMリストに追加する段階を含み、イントラ予測モードのセットは、(第1のイントラ予測モードとして)水平モード(HOR_IDX)、イントラモード2(2)、対角線モード(DIA_IDX)、又は鉛直対角線モード(VDIA_IDX)を含む。
【0138】
本願の1つの実装形態では、本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である且つ現在の符号化ブロックの上側のブロックが利用できない場合、水平モード(HOR_IDX)、イントラモード2(2)、対角線モード(DIA_IDX)、又は鉛直対角線モード(VDIA_IDX)を含むイントラ予測モードのセットのうちのイントラ予測モードを前述の順序に従って、当該イントラ予測モードがMPMリストに含まれていない場合には予測モードの数が閾値と等しくなるまで、繰り返しMPMリストに追加する段階を含む。
【0139】
本願の1つの実装形態では、本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である、且つ現在の符号化ブロックの左側のブロックが利用可能である、且つ現在の符号化ブロックの上側のブロックが利用可能である場合、イントラ予測モードのセットのうちの第1のイントラ予測モードがMPMリストに含まれているかどうかを確認し、第1のイントラ予測モードがMPMリストに含まれていない場合には第1のイントラ予測モードをMPMリストに追加する段階を含み、イントラ予測モードのセットは、(第1のイントラ予測モードとして)鉛直モード(VER_IDX)、水平モード(HOR_IDX)、VER_IDXに対応しオフセット-4を用いるイントラ予測モード、又はVER_IDXに対応しオフセット4を用いるイントラ予測モードを含む。
【0140】
本願の1つの実装形態では、本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である、且つ現在の符号化ブロックの左側のブロックが利用可能である、且つ現在の符号化ブロックの上側のブロックが利用可能である場合、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、VER_IDXに対応しオフセット-4を用いるイントラ予測モード、又はVER_IDXに対応しオフセット4を用いるイントラ予測モードを含むイントラ予測モードのセットのうちのイントラ予測モードを前述の順序に従って、当該イントラ予測モードがMPMリストに含まれていない場合には予測モードの数が閾値と等しくなるまで、繰り返しMPMリストに追加する段階を含む。
【0141】
本願の1つの実装形態では、本方法はさらに、現在の符号化ブロックの上側のブロックが利用できない且つMPMリスト内のイントラ予測モードの数が閾値未満である場合、イントラ予測モードのセットのうちの第1のイントラ予測モードがMPMリストに含まれているかどうかを確認し、第1のイントラ予測モードがMPMリストに含まれていない場合には第1のイントラ予測モードをMPMリストに追加する段階を含み、イントラ予測モードのセットは、以下のイントラ予測モードセットのうちの1つを含む。すなわち、
(第1のイントラ予測モードとして)水平モード(HOR_IDX)、イントラモード2(2)、HOR_IDXに対応しオフセット-1を用いるイントラ予測モード、及びHOR_IDXに対応しオフセット1を用いるイントラ予測モード、又は
(第1のイントラ予測モードとして)水平モード(HOR_IDX)、イントラモード2(2)、HOR_IDXに対応しオフセット-4を用いるイントラ予測モード、及びオフセット4を加えたHOR_IDX、又は
(第1のイントラ予測モードとして)水平モード(HOR_IDX)、イントラモード2(2)、イントラモード2(2)に対応しオフセット4を用いるイントラ予測モード、及びHOR_IDXに対応しオフセット-1を用いるイントラ予測モード、又は
(第1のイントラ予測モードとして)水平モード(HOR_IDX)、イントラモード2(2)、イントラモード2(2)に対応しオフセット4を用いるイントラ予測モード、及びHOR_IDXに対応しオフセット1を用いるイントラ予測モード、又は
(第1のイントラ予測モードとして)水平モード(HOR_IDX)、イントラモード2(2)、イントラモード2(2)に対応しオフセット1を用いるイントラ予測モード、及びHOR_IDXに対応しオフセット-1を用いるイントラ予測モード、又は、
(第1のイントラ予測モードとして)水平モード(HOR_IDX)、イントラモード2(2)、イントラモード2(2)に対応しオフセット1を用いるイントラ予測モード、及びHOR_IDXに対応しオフセット1を用いるイントラ予測モード、又は
(第1のイントラ予測モードとして)水平モード(HOR_IDX)、イントラモード2(2)、HOR_IDXに対応しオフセット-1を用いるイントラ予測モード、及びイントラモード2(2)に対応しオフセット4を用いるイントラ予測モード、又は
(第1のイントラ予測モードとして)水平モード(HOR_IDX)、イントラモード2(2)、HOR_IDXに対応しオフセット1を用いるイントラ予測モード、及びイントラモード2(2)に対応しオフセット4を用いるイントラ予測モード、又は
(第1のイントラ予測モードとして)水平モード(HOR_IDX)、イントラモード2(2)、HOR_IDXに対応しオフセット-1を用いるイントラ予測モード、及びイントラモード2(2)に対応しオフセット1を用いるイントラ予測モード、又は
(第1のイントラ予測モードとして)水平モード(HOR_IDX)、イントラモード2(2)、HOR_IDXに対応しオフセット1を用いるイントラ予測モード、及びイントラモード2(2)に対応しオフセット1を用いるイントラ予測モード
のうちの1つである。
【0142】
本願の1つの実装形態では、本方法はさらに、現在の符号化ブロックの上側のブロックが利用できない且つMPMリスト内のイントラ予測モードの数が閾値未満である場合、イントラ予測モードのセットのうちのイントラ予測モードを前述の順序に従って、当該イントラ予測モードがMPMリストに含まれていない場合には予測モードの数が閾値と等しくなるまで、繰り返しMPMリストに追加する段階を含み、イントラ予測モードのセットは以下のイントラ予測モードセットのうちの1つを含む。すなわち、
水平モード(HOR_IDX)、イントラモード2(2)、HOR_IDXに対応しオフセット-1を用いるイントラ予測モード、及びHOR_IDXに対応しオフセット1を用いるイントラ予測モード、又は
水平モード(HOR_IDX)、イントラモード2(2)、HOR_IDXに対応しオフセット-4を用いるイントラ予測モード、及びオフセット4を加えたHOR_IDX、又は
水平モード(HOR_IDX)、イントラモード2(2)、イントラモード2(2)に対応しオフセット4を用いるイントラ予測モード、及びHOR_IDXに対応しオフセット-1を用いるイントラ予測モード、又は
水平モード(HOR_IDX)、イントラモード2(2)、イントラモード2(2)に対応しオフセット4を用いるイントラ予測モード、及びHOR_IDXに対応しオフセット1を用いるイントラ予測モード、又は
水平モード(HOR_IDX)、イントラモード2(2)、イントラモード2(2)に対応しオフセット1を用いるイントラ予測モード、及びHOR_IDXに対応しオフセット-1を用いるイントラ予測モード、又は
水平モード(HOR_IDX)、イントラモード2(2)、イントラモード2(2)に対応しオフセット1を用いるイントラ予測モード、及びHOR_IDXに対応しオフセット1を用いるイントラ予測モード、又は
水平モード(HOR_IDX)、イントラモード2(2)、HOR_IDXに対応しオフセット-1を用いるイントラ予測モード、及びイントラモード2(2)に対応しオフセット4を用いるイントラ予測モード、又は
水平モード(HOR_IDX)、イントラモード2(2)、HOR_IDXに対応しオフセット1を用いるイントラ予測モード、及びイントラモード2(2)に対応しオフセット4を用いるイントラ予測モード、又は
水平モード(HOR_IDX)、イントラモード2(2)、HOR_IDXに対応しオフセット-1を用いるイントラ予測モード、及びイントラモード2(2)に対応しオフセット1を用いるイントラ予測モード、又は
水平モード(HOR_IDX)、イントラモード2(2)、HOR_IDXに対応しオフセット1を用いるイントラ予測モード、及びイントラモード2(2)に対応しオフセット1を用いるイントラ予測モード
のうちの1つである。
【0143】
本願の1つの実装形態では、本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である場合、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、又は対角線モード(DIA_IDX)を含むイントラ予測モードのセットのうちのイントラ予測モードが前述の順序に従って、イントラ予測モードがMPMリストに含まれていない場合には予測モードの数が閾値と等しくなるまで、繰り返しMPMリストに追加される段階を含む。
【0144】
本願の1つの実装形態では、本方法はさらに、現在の符号化ブロックの左側のブロックが利用できない且つMPMリスト内のイントラ予測モードの数が閾値未満である場合、イントラ予測モードのセットのうちの第1のイントラ予測モードがMPMリストに含まれているかどうかを確認し、第1のイントラ予測モードがMPMリストに含まれていない場合には第1のイントラ予測モードをMPMリストに加える段階を含み、イントラ予測モードのセットは、鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、対角線モード(DIA_IDX)、又はイントラモード2(2)を含む。
【0145】
本願の1つの実装形態では、本方法はさらに、現在の符号化ブロックの左側のブロックが利用できない且つMPMリスト内のイントラ予測モードの数が閾値未満である場合、鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、対角線モード(DIA_IDX)、又はイントラモード2(2)を含むイントラ予測モードのセットのうちのイントラ予測モードを前述の順序に従って、当該イントラ予測モードがMPMリストに含まれていない場合には予測モードの数が閾値と等しくなるまで、繰り返しMPMリストに追加する段階を含む。
【0146】
本願の1つの実装形態では、イントラ予測モードをMPMリストに追加する段階は、イントラ予測モードに対応する値をMPMリストに追加する段階であることが理解され得るであろう。
【0147】
本願の1つの実装形態では、閾値は6である。本願の1つの実装形態では、本方法はさらに、現在の符号化ブロックの左側のブロックが利用可能である且つ左側のブロックのイントラ予測モードが角度モードである場合、左側のブロックの予測モードにオフセットを加えて新たな予測モードを取得し、新たな予測モードがMPMリストにない場合には新たな予測モードをMPMリストに追加する段階を含む。ある例では、オフセットは-1であり、別の例では、オフセットは1である。いくつかの例では、オフセットは2でも-2でもよい。
【0148】
本願の1つの実装例では、本方法はさらに、現在の符号化ブロックの上側のブロックが利用可能である且つ上側のブロックのイントラ予測モードが角度モードである場合、上側のブロックの予測モードにオフセットを加えて上側オフセット予測モードを取得し、上側オフセット予測モードがMPMリストにない場合には上側オフセット予測モードをMPMリストに追加する段階を含む。ある例では、オフセットは-1であり、別の例では、オフセットは1である。いくつかの例では、オフセットは2でも-2でもよい。
【0149】
本願の1つの態様では、符号化器が、上記の方法を実行するための処理回路を含む。
【0150】
本願の1つの態様では、復号器が、上記の方法を実行するための処理回路を含む。
【0151】
本願の1つの態様では、コンピュータプログラム製品が、上記の方法を実行するためのプログラムコードを含む。
【0152】
本願の1つの態様では、最確モード(MPM)リストを構成するための復号器が、1つ又は複数のプロセッサと、プロセッサに結合され且つプロセッサが実行するプログラムを格納した非一時的コンピュータ可読記憶媒体とを含み、プログラムは、プロセッサにより実行されると、上記の方法を実行するよう復号器を構成する。
【0153】
本願の1つの態様では、最確モード(MPM)リストを構成するための符号化器が、1つ又は複数のプロセッサと、プロセッサに結合され且つプロセッサが実行するプログラムを格納した非一時的コンピュータ可読記憶媒体とを含み、プログラムは、プロセッサにより実行されると、上記の方法を実行するよう符号化器を構成する。
【0154】
一例においては、次の通りである。
【0155】
段階1:現在の符号化ブロックの左側のブロックが利用可能かどうかを判定する。
【0156】
現在の符号化ブロックの左側のブロックが利用可能である場合、左側のブロックのイントラ予測モードをMPMリストに追加する。MPMリストは空リストであってよく、現在の符号化ブロックの左側のブロックが利用可能である場合、左側のブロックのイントラ予測モードがMPMリストに追加され、MPMリストは1つのイントラ予測モードを含む。また、現在の符号化ブロックの左側のブロックが利用できない場合、MPMリストは段階1の後でも依然として空リストである。
【0157】
段階2:現在の符号化ブロックの上側のブロックが利用可能かどうかを判定する。
【0158】
現在の符号化ブロックの上側のブロックが利用可能である場合、上側のブロックのイントラ予測モードをMPMリストに追加する。MPMリストは、左側のブロックのイントラ予測モードを含んでいても、依然として空リストであってもよい。
【0159】
現在の符号化ブロックの上側のブロックが利用可能である且つMPMリストが左側のブロックのイントラ予測モードを含む場合、上側のブロックのイントラ予測モードが左側のブロックのイントラ予測モードと同じであるかどうかがさらに判定され、両方のモードが同じである場合、上側のブロックのイントラ予測モードをMPMリストに加える段階の結果によって、MPMリスト内のイントラ予測モードの数が変わることはなく、MPMリストはイントラ予測モードを1つだけ含む。上側のブロックのイントラ予測モードが左側のブロックのイントラ予測モードと同じではない場合、上側のブロックのイントラ予測モードをMPMリストに追加すると、MPMリストはイントラ予測モードを2つ含む。
【0160】
現在の符号化ブロックの上側のブロックが利用可能である且つMPMリストが依然として空リストである場合、上側のブロックのイントラ予測モードをMPMリストに追加すると、MPMリストはイントラ予測モードを1つだけ含む。
【0161】
現在の符号化ブロックの上側のブロックが利用できない且つMPMリストが左側のブロックのイントラ予測モードを含む場合、MPMリストは依然として左側のブロックのイントラ予測モードだけを含むことになる。
【0162】
現在の符号化ブロックの上側のブロックが利用できない且つMPMリストが依然として空リストである場合、MPMリストは依然として空リストのままになる。
【0163】
段階3:平面モードがMPMリストにない場合、平面モードをMPMリストに追加する。
【0164】
段階2の後に、MPMリストが平面モードを含まない場合、平面モードをMPMリストに追加する。
【0165】
左側のブロックのイントラ予測モード及び上側のブロックのイントラ予測モードが両方とも利用できない場合、又は利用可能なイントラ予測モードが平面モードではない場合、MPMリストは平面モードを含まない。
【0166】
平面モードがMPMリストにある場合、段階4に進む。
【0167】
段階4:DCモードがMPMリストにない場合、DCモードをMPMリストに追加する。
【0168】
段階2又は段階3の後に、MPMリストがDCモードを含まない場合、DCモードをMPMリストに追加する。
【0169】
左側のブロックのイントラ予測モード及び上側のブロックのイントラ予測モードが両方とも利用できない場合、又は利用可能なイントラ予測モードがDCモードではない場合、MPMリストはDCモードを含まない。
【0170】
DCモードがMPMリストにある場合、以下の段階に進むか、又はMPMリストの構成を終了する。
【0171】
本願の1つの実装形態では、各段階において、予測モードをMPMリストに追加する処理では、重複した予測モードがMPMリストにないことを確認する必要がある。したがって、MPMリストに追加する必要があるイントラ予測モードが、MPMリスト内の1つのイントラ予測モードと同じである場合、「追加」処理はMPMリストを変更しない、又は「追加」処理は実行されない。
【0172】
本願の1つの実装形態では、段階4の後に、角度モードが存在する場合に限り、angular-1、angular+1を行う。
【0173】
一例において、MPMリスト内のイントラ予測モードの数が6個である。段階4の後、MPMの長さに関して、3つのケースがある。ケース1:MPM長は2である→L及びAは両方とも角度ではない(>DC)又は利用できない、平面及びDCだけが存在する→4つの初期設定モードを全て用いる。ケース2:MPM長は3である→L及びAのうちの1つは角度である、又は両者は同じ角度である。→1つの初期設定モードを用いる。ケース3:MPM長は4である→L及びAは両方とも角度であり、両者は異なる→初期設定モードはどれも用いられず、L-1及びL+1のうちの少なくとも1つが追加されることになる。これらのうちの1つが上記(diff(L-A)=1)と重複している場合、A-1及びA+1のうちの少なくとも1つがさらに挿入されることになる。
【0174】
本願の1つの実装形態では、本方法はさらに、現在の符号化ブロックの左側のブロックが利用可能である且つ左側のブロックのイントラ予測モードが角度モードである場合、左側のブロックの予測モードにオフセットを加えて新たな予測モードを取得し、新たな予測モードがMPMリストにない場合には新たな予測モードをMPMリストに追加する段階を含む。
【0175】
別の例では、MPMリストは6個のイントラ予測モードを含み、上記の4つの段階は、最大ケースで4つのイントラ予測モードだけを取得し得る。本方法はさらに、以下の段階を含む。段階5:現在の符号化ブロックの左側のブロックが利用可能である且つ左側のブロックのイントラ予測モードが角度モードである場合、左側のブロックの予測モードにオフセットを加えて新たな予測モードを取得し、新たな予測モードがMPMリストにない場合には新たな予測モードをMPMリストに追加する。例えば、現在の符号化ブロックの左側のブロックが角度モード27である(この角度イントラ予測モードに対応する値が27である)場合、上記の4つの段階の後のMPMリストは(27,15,0,1)である。左側のブロックの予測モードにオフセットを加えて新たな予測モードを取得し、新たな予測モードがMPMリストにない場合には新たな予測モードをMPMリストに追加する。一例において、オフセットは-1であり、そのため、新たな予測モードは26となるので、更新されたMPMリストは(27,15,0,1,26)である。別の例では、オフセットは1であり、そのため、新たな予測モードは28となるので、更新されたMPMリストは(27,15,0,1,28)である。別の例では、段階5は左側のブロックのイントラ予測モードに2つのオフセットを加えることができ、最初に-1を加え、その後1を加えるか、又は最初に1を加え、その後-1を加える。その結果、更新されたMPMリストは、(27,15,0,1,26,28)又は(27,15,0,1,28,26)になり得る。段階5の後、MPMリストがいっぱいであるかどうかを確認する(MPMリスト内のイントラ予測モードの数が閾値(例えば閾値は6である)と等しい場合、MPMリストはいっぱいである。MPMリスト内のイントラ予測モードの数が閾値未満である場合、MPMリストはいっぱいではない)。MPMリストがいっぱいである場合、MPMリストの構成は終了し、MPMリストがいっぱいではない場合、以下の段階に進む。現在の符号化ブロックの左側のブロックが利用できない場合、段階5は実行されず、以下の段階に進む。
【0176】
オフセット(例えば、-1又は+1)を角度予測モードに加える場合、ラップアップ操作及びラップダウン操作を伴うことがあることに留意されたい。例えば、角度予測モードangularLeftが2である場合、angularLeft-1は66になり(ラップアップのケース)、angularLeftが66である場合、angularLeft+1は2になる(ラップダウンのケース)。
【0177】
本願の1つの実装形態では、本方法はさらに、現在の符号化ブロックの上側のブロックが利用可能である且つ上側のブロックのイントラ予測モードが角度モードである場合、上側のブロックの予測モードにオフセットを加えて上側オフセット予測モードを取得し、上側オフセット予測モードがMPMリストにない場合には上側オフセット予測モードをMPMリストに追加する段階を含む。
【0178】
一例において、本方法はさらに、以下の段階を含む。段階6:現在の符号化ブロックの上側のブロックが利用可能であり且つ上側のブロックのイントラ予測モードが角度モードである場合、上側のブロックの予測モードにオフセットを加えて上側オフセット予測モードを取得し、上側オフセット予測モードがMPMリストにない場合には新たな予測モードをMPMリストに追加する。例えば、現在の符号化ブロックの上側のブロックが角度モード26である(この角度イントラ予測モードに対応する値が26である)場合、上記の5つの段階の後のMPMリストは(27,26,0,1,28)である。左側のブロックの予測モードにオフセットを加えて上側オフセット予測モードを取得し、上側オフセット予測モードがMPMリストにない場合には上側オフセット予測モードをMPMリストに追加する。一例において、オフセットは-1であり、そのため、上側オフセット予測モードは25となるので、更新されたMPMリストは(27,26,0,1,28,25)である。別の例では、オフセットは1であり、そのため、上側オフセット予測モードは27となり、モード27は挿入されているので、上側オフセットモード27の挿入が阻止される。別の例では、段階6が上側のブロックのイントラ予測モードに2つのオフセットを加えることができ、1つのオフセットを加えた後に、MPMリストがまだいっぱいではない場合には、最初に-1を加え、その後1を加えるか、又は最初に1を加え、その後-1を加える。現在の符号化ブロックの上側のブロックが利用できない場合、段階6は実行されず、以下の段階に進む。段階6の後、MPMリストがいっぱいかどうか(MPMリスト内のイントラ予測モードの数が6と等しいかどうか)を確認する。MPMリストがいっぱいである場合、MPMリストの構成は終了し、MPMリストがいっぱいではない場合(MPMリスト内のイントラ予測モードの数が6未満である場合)、以下の段階に進む。
【0179】
本願の1つの実装形態では、本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である場合(例えば、閾値が6)、初期設定リストを用いてMPMリストを構成する段階を含む。
【0180】
一例において、MPMリスト内のイントラ予測モードの数が閾値未満である場合、初期設定リストが、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、又は対角線モード(DIA_IDX)を含む。
【0181】
一例において、MPMリスト内のイントラ予測モードの数が閾値未満である場合、初期設定リストが、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、オフセット-4を加えたVER_IDX、又はオフセット4を加えたVER_IDXを含む。
【0182】
一例において、MPMリスト内のイントラ予測モードの数が閾値未満である場合、初期設定リストが、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、オフセット4を加えたVER_IDX、又はオフセット-4を加えたVER_IDXを含む。
【0183】
一例において、現在の符号化ブロックの左側のブロックが利用できない且つMPMリスト内のイントラ予測モードの数が閾値未満である場合、初期設定リストが、
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、対角線モード(DIA_IDX)、若しくはイントラモード2(2)、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、オフセット-1を加えたVER_IDX、及びオフセット1を加えたVER_IDX、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、オフセット-4を加えたVER_IDX、及びオフセット4を加えたVER_IDX、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、オフセット-4を加えたVDIA_IDX、及びオフセット-1を加えたVER_IDX、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、オフセット-4を加えたVDIA_IDX、及びオフセット+1を加えたVER_IDX、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、オフセット-1を加えたVDIA_IDX、及びオフセット-1を加えたVER_IDX、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、オフセット-1を加えたVDIA_IDX、及びオフセット1を加えたVER_IDX、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、オフセット-1を加えたVER_IDX、及びオフセット-4を加えたVDIA_IDX、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、オフセット1を加えたVER_IDX、及びオフセット-4を加えたVDIA_IDX、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、オフセット-1を加えたVER_IDX、及びオフセット-1を加えたVDIA_IDX、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、オフセット1を加えたVER_IDX、及びオフセット-1を加えたVDIA_IDXを含む。
【0184】
一例において、MPMリスト内のイントラ予測モードの数が閾値未満である且つ現在の符号化ブロックの上側のブロックが利用できない場合、初期設定リストが、水平モード(HOR_IDX)、イントラモード2(2)、対角線モード(DIA_IDX)、又は鉛直対角線モード(VDIA_IDX)を含む。
【0185】
一例において、MPMリスト内のイントラ予測モードの数が閾値未満である、且つ現在の符号化ブロックの左側のブロックが利用可能である、且つ現在の符号化ブロックの上側のブロックが利用可能である場合、初期設定リストが、
鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、若しくは対角線モード(DIA_IDX)、又は
鉛直モード(VER_IDX)、水平モード(HOR_IDX)、オフセット-4を加えたVER_IDX、若しくはオフセット4を加えたVER_IDX、又は
鉛直モード(VER_IDX)、水平モード(HOR_IDX)、オフセット4を加えたVER_IDX、若しくはオフセット-4を加えたVER_IDXを含む。
【0186】
一例において、MPMリスト内のイントラ予測モードの数が閾値未満である且つ現在の符号化ブロックの上側のブロックが利用できない場合、初期設定リストが、
水平モード(HOR_IDX)、イントラモード2(2)、オフセット-1を加えたHOR_IDX、及びオフセット1を加えたHOR_IDX、又は
水平モード(HOR_IDX)、イントラモード2(2)、オフセット-4を加えたHOR_IDX、及びオフセット4を加えたHOR_IDX、又は
水平モード(HOR_IDX)、イントラモード2(2)、オフセット4を加えたイントラモード2(2)、及びオフセット-1を加えたHOR_IDX、又は
水平モード(HOR_IDX)、イントラモード2(2)、オフセット4を加えたイントラモード2(2)、及びオフセット1を加えたHOR_IDX、又は
水平モード(HOR_IDX)、イントラモード2(2)、オフセット1を加えたイントラモード2(2)、及びオフセット-1を加えたHOR_IDX、又は
水平モード(HOR_IDX)、イントラモード2(2)、オフセット1を加えたイントラモード2(2)、及びオフセット1を加えたHOR_IDX、又は
水平モード(HOR_IDX)、イントラモード2(2)、オフセット-1を加えたHOR_IDX、及びオフセット4を加えたイントラモード2(2)、又は
水平モード(HOR_IDX)、イントラモード2(2)、オフセット1を加えたHOR_IDX、オフセット4を加えたイントラモード2(2)、又は
水平モード(HOR_IDX)、イントラモード2(2)、オフセット-1を加えたHOR_IDX、及びオフセット1を加えたイントラモード2(2)、又は
水平モード(HOR_IDX)、イントラモード2(2)、オフセット1を加えたHOR_IDX、及びオフセット1を加えたイントラモード2(2)を含む。
【0187】
本願の1つの実装形態では、現在の符号化ブロックの左側のブロックが利用できない場合、現在の符号化ブロックの上側のブロックが利用可能であってもよく、利用できなくてもよい。
【0188】
本願の1つの実装形態では、現在の符号化ブロックの上側のブロックが利用できない場合、現在の符号化ブロックの左側のブロックが利用可能であってもよく、利用できなくてもよい。
【0189】
本願の1つの実装形態では、本方法はさらに、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、又は対角線モード(DIA_IDX)をMPMリストに追加する段階を含む。
【0190】
本願の1つの実装形態では、本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である場合、イントラ予測モードのセットのうちの第1のイントラ予測モードがMPMリストに含まれているかどうかを確認し、第1のイントラ予測モードがMPMリストに含まれていない場合には第1のイントラ予測モードをMPMリストに追加する段階を含み、イントラ予測モードのセットは、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、又は対角線モード(DIA_IDX)を含む。
【0191】
本願の1つの実装形態では、本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である場合、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、又は対角線モード(DIA_IDX)を含むイントラ予測モードのセットのうちのイントラ予測モードを前述の順序に従って、当該イントラ予測モードがMPMリストに含まれていない場合には予測モードの数が閾値と等しくなるまで、繰り返しMPMリストに追加する段階を含む。
【0192】
一例において、段階6の後に、MPMリストがまだいっぱいではない(MPMリスト内のイントラ予測モードの数が閾値未満である)場合、初期設定モードリスト内のイントラ予測モードを、このモード又はこれらのモードがMPMリストにない場合には順番にMPMリストに追加し、MPMリストがいっぱいになるまでこの段階を繰り返し行う。段階7:鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、又は対角線モード(DIA_IDX)をMPMリストに追加する。例えば、鉛直モードがMPMリストにない且つMPMリストがいっぱいではない場合、鉛直モードをMPMリストに追加し、鉛直モードを追加した後にMPMリストがいっぱいである場合、MPMリストの構成を終了する。鉛直モードを追加した後に、MPMリストがまだいっぱいではない場合、水平モードがMPMリストにあるかどうかを確認する。水平モードがMPMリストにある場合、さらに、イントラモード2がMPMリストにあるかどうかを確認し、水平モードがMPMリストにない場合、水平モードをMPMリストに追加する。MPMリストがいっぱいになるまで、この段階を繰り返し行う。
【0193】
本願の1つの実装形態では、初期設定モードリストを用いる段階7において、初期設定モードをMPMリストに挿入するたびに、重複したモードが挿入されていないことを確認することになっている。挿入に成功した場合、MPMがいっぱいであるかどうかを検出するために、別の確認が行われる。MPMがいっぱいであれば、MPMの構成処理は終了し、そうでなければ、他の初期設定モードを用い、指定された順序で挿入を継続する。
【0194】
本願の1つの実装形態では、本方法はさらに、現在の符号化ブロックの左側のブロックが利用できない且つMPMリスト内のイントラ予測モードの数が閾値未満である場合、イントラ予測モードのセットのうちの第1のイントラ予測モードがMPMリストに含まれているかどうかを確認し、第1のイントラ予測モードがMPMリストに含まれていない場合には第1のイントラ予測モードをMPMリストに追加する段階を含み、イントラ予測モードのセットは、鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、対角線モード(DIA_IDX)、又はイントラモード2(2)を含む。
【0195】
本願の1つの実装形態では、本方法はさらに、現在の符号化ブロックの左側のブロックが利用できない且つMPMリスト内のイントラ予測モードの数が閾値未満である場合、鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、対角線モード(DIA_IDX)、又はイントラモード2(2)を含むイントラ予測モードのセットのうちのイントラ予測モードを前述の順序に従って、当該イントラ予測モードがMPMリストに含まれていない場合には予測モードの数が閾値と等しくなるまで、繰り返しMPMリストに追加する段階を含む。
【0196】
一例において、段階6の後に、MPMリストがまだいっぱいではない且つ現在の符号化ブロックの左側のブロックが利用できない場合、初期設定モードリスト内のイントラ予測モードを、このモード又はこれらのモードがMPMリストにない場合には順番にMPMリストに追加し、MPMリストがいっぱいになるまでこの段階を繰り返し行う。段階7:鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、対角線モード(DIA_IDX)、又はイントラモード2(2)をMPMリストに追加する。例えば、鉛直モードがMPMリストにない且つMPMリストがいっぱいではない場合、鉛直モードをMPMリストに追加し、鉛直モードを追加した後にMPMリストがいっぱいである場合、MPMリストの構成を終了する。鉛直モードを追加した後に、MPMリストがまだいっぱいではない場合、鉛直対角線モードがMPMリストにあるかどうかを確認する。鉛直対角線モードがMPMリストにある場合、さらに、対角線モードがMPMリストにあるかどうかを確認し、対角線モードがMPMリストにない場合、対角線モードをMPMリストに追加する。MPMリストがいっぱいになるまで、この段階を繰り返し行う。
【0197】
本願の1つの実装形態では、本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である且つ現在の符号化ブロックの上側のブロックが利用できない場合、イントラ予測モードのセットのうちの第1のイントラ予測モードがMPMリストに含まれているかどうかを確認し、第1のイントラ予測モードがMPMリストに含まれていない場合には第1のイントラ予測モードをMPMリストに追加する段階を含み、イントラ予測モードのセットは、水平モード(HOR_IDX)、イントラモード2(2)、対角線モード(DIA_IDX)、又は鉛直対角線モード(VDIA_IDX)を含む。
【0198】
本願の1つの実装形態では、本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である且つ現在の符号化ブロックの上側のブロックが利用できない場合、水平モード(HOR_IDX)、イントラモード2(2)、対角線モード(DIA_IDX)、又は鉛直対角線モード(VDIA_IDX)を含むイントラ予測モードのセットのうちのイントラ予測モードを前述の順序に従って、当該イントラ予測モードがMPMリストに含まれていない場合には予測モードの数が閾値と等しくなるまで、繰り返しMPMリストに追加する段階を含む。
【0199】
一例において、段階6の後に、MPMリストがまだいっぱいではない且つ現在の符号化ブロックの上側のブロックが利用できない場合、初期設定モードリスト内のイントラ予測モードを、このモード又はこれらのモードがMPMリストにない場合には順番にMPMリストに追加し、MPMリストがいっぱいになるまでこの段階を繰り返し行う。段階7:水平モード(HOR_IDX)、イントラモード2(2)、対角線モード(DIA_IDX)、又は鉛直対角線モード(VDIA_IDX)をMPMリストに追加する。例えば、水平モードがMPMリストにない且つMPMリストがいっぱいではない場合、水平モードをMPMリストに追加し、水平モードを追加した後にMPMリストがいっぱいである場合、MPMリストの構成を終了する。水平モードを追加した後に、MPMリストがまだいっぱいではない場合、イントラモード2がMPMリストにあるかどうかを確認する。イントラモード2がMPMリストにある場合、さらに、対角線モードがMPMリストにあるかどうかを確認し、対角線モードがMPMリストにない場合、対角線モードをMPMリストに追加する。MPMリストがいっぱいになるまで、この段階を繰り返し行う。
【0200】
本願の1つの実装形態では、本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である、且つ現在の符号化ブロックの左側のブロックが利用可能である、且つ現在の符号化ブロックの上側のブロックが利用可能である場合、イントラ予測モードのセットのうちの第1のイントラ予測モードがMPMリストに含まれているかどうかを確認し、第1のイントラ予測モードがMPMリストに含まれていない場合には第1のイントラ予測モードをMPMリストに追加する段階を含み、イントラ予測モードのセットは、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、又は対角線モード(DIA_IDX)を含む。
【0201】
本願の1つの実装形態では、本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である、且つ現在の符号化ブロックの左側のブロックが利用可能である、且つ現在の符号化ブロックの上側のブロックが利用可能である場合、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、又は対角線モード(DIA_IDX)を含むイントラ予測モードのセットのうちのイントラ予測モードを前述の順序に従って、当該イントラ予測モードがMPMリストに含まれていない場合には予測モードの数が閾値と等しくなるまで、繰り返しMPMリストに追加する段階を含む。
【0202】
一例において、段階6の後に、MPMリストがまだいっぱいではない、且つ現在の符号化ブロックの左側のブロックが利用可能である、且つ現在の符号化ブロックの上側のブロックも利用可能である場合、初期設定モードリスト内のイントラ予測モードを、このモード又はこれらのモードがMPMリストにない場合にはMPMリストに追加し、MPMリストがいっぱいになるまでこの段階を繰り返し行う。段階7:鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、又は対角線モード(DIA_IDX)をMPMリストに追加する。例えば、鉛直モードがMPMリストにない且つMPMリストがいっぱいではない場合、鉛直モードをMPMリストに追加し、鉛直モードを追加した後にMPMリストがいっぱいである場合、MPMリストの構成を終了する。鉛直モードを追加した後に、MPMリストがまだいっぱいではない場合、水平モードがMPMリストにあるかどうかを確認する。水平モードがMPMリストにある場合、さらに、イントラモード2がMPMリストにあるかどうかを確認し、イントラモード2がMPMリストにない場合、イントラモード2をMPMリストに追加する。MPMリストがいっぱいになるまで、この段階を繰り返し行う。
【0203】
本願の1つの実装形態では、本方法はさらに、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、オフセット-4を加えたVER_IDX、又はオフセット4を加えたVER_IDXをMPMリストに追加する段階を含む。
【0204】
本願の1つの実装形態では、本方法はさらに、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、オフセット4を加えたVER_IDX、又はオフセット-4を加えたVER_IDXをMPMリストに追加する段階を含む。
【0205】
一例において、段階6の後に、MPMリストがまだいっぱいではない場合、初期設定モードリスト内のイントラ予測モードを、このモード又はこれらのモードがMPMリストにない場合にはMPMリストに追加し、MPMリストがいっぱいになるまで、この段階を繰り返し行う。段階7、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、オフセット-4を加えたVER_IDX、若しくはオフセット4を加えたVER_IDXをMPMリストに追加する、又は鉛直モード(VER_IDX)、水平モード(HOR_IDX)、オフセット4を加えたVER_IDX、若しくはオフセット-4を加えたVER_IDXをMPMリストに追加する。例えば、鉛直モードがMPMリストにない且つMPMリストがいっぱいではない場合、鉛直モードをMPMリストに追加し、鉛直モードを追加した後にMPMリストがいっぱいである場合、MPMリストの構成を終了する。鉛直モードを追加した後に、MPMリストがまだいっぱいではない場合、水平モードがMPMリストにあるかどうかを確認する。水平モードがMPMリストにある場合、さらに、オフセット-4を加えたVER_IDXの値と等しい値の予測モードがMPMリストにあるかどうかを確認し、オフセット-4を加えたVER_IDXの値と等しい値の予測モードがMPMリストにない場合、オフセット-4を加えたVER_IDXの値と等しい値の予測モードをMPMリストに追加する。MPMリストがいっぱいになるまで、この段階を繰り返し行う。
【0206】
一例において、段階6の後に、MPMリストがまだいっぱいではない且つ現在の符号化ブロックの左側のブロックが利用できない場合、初期設定モードリスト内のイントラ予測モードを、このモード又はこれらのモードがMPMリストにない場合にはMPMリストに追加し、MPMリストがいっぱいになるまでこの段階を繰り返し行う。段階7:鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、対角線モード(DIA_IDX)、又はイントラモード2(2)をMPMリストに追加する。例えば、鉛直モードがMPMリストにない且つMPMリストがいっぱいではない場合、鉛直モードをMPMリストに追加し、鉛直モードを追加した後にMPMリストがいっぱいである場合、MPMリストの構成を終了する。鉛直モードを追加した後に、MPMリストがまだいっぱいではない場合、鉛直対角線モードがMPMリストにあるかどうかを確認する。鉛直対角線モードがMPMリストにある場合、さらに、対角線モードがMPMリストにあるかどうかを確認し、対角線モードがMPMリストにない場合、対角線モードをMPMリストに追加する。MPMリストがいっぱいになるまで、この段階を繰り返し行う。
【0207】
一例において、段階6の後に、MPMリストがまだいっぱいではない且つ現在の符号化ブロックの上側のブロックが利用できない場合、初期設定モードリスト内のイントラ予測モードを、このモード又はこれらのモードがMPMリストにない場合にはMPMリストに追加し、MPMリストがいっぱいになるまでこの段階を繰り返し行う。段階7:水平モード(HOR_IDX)、イントラモード2(2)、対角線モード(DIA_IDX)、又は鉛直対角線モード(VDIA_IDX)をMPMリストに追加する。例えば、水平モードがMPMリストにない且つMPMリストがいっぱいではない場合、水平モードをMPMリストに追加し、水平モードを追加した後にMPMリストがいっぱいである場合、MPMリストの構成を終了する。水平モードを追加した後に、MPMリストがまだいっぱいではない場合、イントラモード2がMPMリストにあるかどうかを確認する。イントラモード2がMPMリストにある場合、さらに、対角線モードがMPMリストにあるかどうかを確認し、対角線モードがMPMリストにない場合、対角線モードをMPMリストに追加する。MPMリストがいっぱいになるまで、この段階を繰り返し行う。
【0208】
一例において、段階6の後に、MPMリストがまだいっぱいではない、且つ現在の符号化ブロックの左側のブロックが利用可能である、且つ現在の符号化ブロックの上側のブロックが利用可能である場合、初期設定モードリスト内のイントラ予測モードを、このモード又はこれらのモードがMPMリストにない場合にはMPMリストに追加し、MPMリストがいっぱいになるまでこの段階を繰り返し行う。段階7:鉛直モード(VER_IDX)、水平モード(HOR_IDX)、オフセット-4を加えたVER_IDX、又はオフセット4を加えたVER_IDXをMPMリストに追加する。一例において、既定の初期設定モード、すなわち、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、又は対角線モード(DIA_IDX)が提供され、MPMリストがいっぱいではない場合にはMPMリストが構成される。これらの初期設定モードに関する、さらなる手法が2つ提案されている。これらの手法は、適応型初期設定手法及び変更初期設定手法である。適応型モードを用いる手法は、フレームの左端及び上端に位置するブロックを考慮する。フレームの左側境界に位置するブロックでは、水平モードが用いられる可能性は低い。現在のブロックの左側のブロックに位置するソース予測サンプルが存在しないからである。一般に水平モード(すなわち、DIA_IDX、モード2)を用いるモードも、可能性が低い。フレームの上側境界に位置するブロックでは、鉛直モードが用いられる可能性は低い。現在のブロックの上側のブロックに位置するソース予測サンプルが存在しないからである。一般に鉛直モード(すなわち、VDIA_IDX、DIA_IDX)を用いるモードも、可能性が低い。したがって、以下の境界認識手法が用いられる。現在の符号化ブロックの左側のブロックが存在しない場合、以下のモード、すなわち、VER_IDX、VDIA_IDX、DIA_IDX、モード2を初期設定候補モードとして順に用いる。そうでなければ(左側のブロックが存在する場合は)、次の通りである。現在の符号化ブロックの上側のブロックが存在しない場合、以下のモード、すなわち、HOR_IDX、モード2、DIA_IDX、VDIA_IDXを初期設定候補モードとして順に用いる。そうでなければ(上側のブロックが存在する場合は)、標準的な初期設定モードである、VER_IDX、HOR_IDX、イントラモード2(2)、VDIA_IDX、又はDIA_IDXを用いる。変更初期設定手法は、以下の候補モード、すなわち、VER、HOR、VER-4、VER+4をMPMリストに追加する。VER-4及びVER+4の順序は、交換可能である。これら2つの方法の1つの組み合わせが、次のようになり得る。現在の符号化ブロックの左側のブロックが存在しない場合、以下のモード、すなわち、VER_IDX、VDIA_IDX、DIA_IDX、モード2を初期設定候補モードとして順に用いる。そうでなければ(左側のブロックが存在する場合は)、次の通りである。現在の符号化ブロックの上側のブロックが存在しない場合、以下のモード、すなわち、HOR_IDX、モード2、DIA_IDX、VDIA_IDXを初期設定候補モードとして順に用いる。そうでなければ(上側のブロックが存在する場合は)、VER_IDX、HOR_IDX、VER、HOR、VER-4、VER+4という変更初期設定モードを用いる。
【0209】
本開示の1つの態様では、6エントリ式MPMリストを構成する簡略化した方法が提案され、この方法は、現在の符号化単位の左側のブロックについて利用可能性を確認する段階を含む。左側のブロックの位置は
図5によって示されており、左側のブロックは「L」と表示されている。
【0210】
左側のブロックは、イントラ予測情報(すなわち、イントラ予測モード)が左側のブロックから導出できない場合には利用できない。そのような場合は、以下のケースが含まれる。左側のブロックはイントラ予測ブロックではない。左側のブロックは存在しない、例えば、現在のブロックはフレームの左端側に位置する符号化ブロックである。符号化器又は復号器が並列処理をサポートしている場合、左側のブロックが現在のブロックの異なるタイルに位置している又は現在のブロックと共に位置しているとき、すなわち、現在の符号化ブロックがタイルの左端側に存在する又は位置するとき、左側のブロックは存在しない(又は利用できない)とみなされてよい。別の例では、並列処理が符号化器又は復号器でサポートされていない場合、左側のブロックは、現在のブロックの異なるタイルに位置するとき、すなわち、現在の符号化ブロックがタイルの左端側に位置するとき、利用可能とみなされてよい。並列処理が符号化器又は復号器でサポートされている場合、左側のブロックは、異なるスライスに現在のブロックと共に位置するとき、すなわち、現在の符号化ブロックがスライスの左端側に位置するとき、存在しないとみなされてよい。別の例では、並列処理が符号化器又は復号器でサポートされていない場合、左側のブロックは、異なるスライスに現在のブロックと共に位置するとき、すなわち、現在の符号化ブロックがスライスの左端側に位置するとき、利用可能とみなされてよい。
【0211】
それ以外の場合(すなわち、左側のブロックが利用可能である場合)、左側のブロックのイントラ予測モードを6エントリ式MPMリストに含む。
【0212】
現在の符号化単位の上側のブロックについて、利用可能性を確認する。上側のブロックの位置は
図5によって示されており、上側のブロックは「A」と表示されている。
【0213】
上側のブロックは、イントラ予測情報(すなわち、イントラ予測モード)が上側のブロックから導出できない場合には利用できない。そのような場合は、以下のケースが含まれる。上側のブロックはイントラ予測ブロックではない。上側のブロックは存在しない。例えば、現在のブロックは、フレームの上端側に位置する符号化ブロックである。並列処理が符号化器又は復号器でサポートされている場合、上端のブロックは、異なるタイルに現在のブロックと共に位置するならば、すなわち、現在の符号化ブロックがタイルの上端側に位置するならば、存在しないとみなされてよい。別の例では、並列処理が符号化器又は復号器でサポートされていない場合、上端のブロックは、異なるタイルに現在のブロックと共に位置しているならば、すなわち、現在の符号化ブロックがタイルの上端側に位置しているならば、利用可能とみなされてよい。並列処理が符号化器又は復号器でサポートされている場合、上端のブロックは、異なるスライスに現在のブロックと共に位置しているならば、すなわち、現在の符号化ブロックがスライスの上端側に位置するならば、存在しないとみなされてよい。別の例では、並列処理が符号化器又は復号器でサポートされていない場合、上端のブロックは、異なるスライスに現在のブロックと共に位置しているならば、すなわち、現在の符号化ブロックがスライスの上端側に位置するならば、利用可能とみなされてよい。
【0214】
符号化器又は復号器のラインバッファのサイズを制限する必要がある場合、上端のブロックは、異なるCTUに現在のブロックと共に位置しているならば、すなわち、現在の符号化ブロックが現在のCTUの上端側に位置するならば、存在しないとみなされてよい。
【0215】
一例において、復号器側又は符号化器側がラインバッファの制約をサポートしている場合、異なるCTUに現在のブロックのCTUと共に位置する上側のブロックが、存在しないとみなされる。ラインバッファの制約をサポートしていない場合、上側のブロックが存在するとみなす。
【0216】
それ以外の場合(すなわち、左側のブロックが利用可能である場合)、上端のブロックのイントラ予測モードを6エントリ式MPMリストに含む。
【0217】
平面(PLANAR_IDX=0)モードがMPMリストに挿入されているかどうかを確認(すなわち、左側及び上端のブロックのいずれかのイントラモードが平面モードであることを確認)し、平面モードがMPMリストに挿入されていない場合に限り、平面モードをMPMリストに挿入する。DC(DC_IDX=1)モードがMPMリストに挿入されているかどうかを確認(すなわち、左側及び上端のブロックのいずれかのイントラモードがDCモードであることを確認)し、DCモードがMPMリストに挿入されていない場合に限り、DCモードをMPMリストに挿入する。
【0218】
左側のブロックが利用可能である且つそのイントラ予測モードが角度モードである(すなわち、モード>DC_IDX、モードはangularLeftであるとする)場合、angularLeft-1、angularLeft+1を実行することによって、左側のブロックの最も近い2つの角度モードを獲得する。例えば、-1又は+1を実行する場合、ラップアップ操作及びラップダウン操作を伴うことがあることに留意されたい。
【0219】
angularLeftが2である場合、angularLeft-1は66になり(ラップアップのケース)、又はangularLeftが66である場合、angularLeft+1は2になる(ラップダウンのケース)。
【0220】
angularLeft-1の予測モードがMPMリストに挿入されていない場合、その予測モードをMPMリストに挿入する。
【0221】
angularLeft+1の予測モードがMPMリストに挿入されていない場合、その予測モードをMPMリストに挿入する。
【0222】
MPMリストがいっぱいではない、且つ上側のブロックが利用可能である、且つイントラ予測モードが角度モードである(すなわち、モード>DC_IDXであり、モードはangularAboveであるとする)場合、angularAbove-1、angularAbove+1を実行することによって、上側のブロックの最も近い2つの角度モードを獲得する。-1又は+1を実行する場合、ラップアップ操作及びラップダウン操作を伴うことがあることに留意されたい。一例において、angularLeftが2である場合、angularLeft-1は66になり(ラップアップのケース)、angularLeftが66である場合、angularLeft+1は2になる(ラップダウンのケース)。
【0223】
angularAbove-1の予測モードがMPMリストに挿入されていない場合、その予測モードをMPMリストに挿入する。
【0224】
MPMリストがいっぱいではない(例えば、MPMリスト内の予測モードの数が6未満である)且つangularAbove+1の予測モードがMPMリストに挿入されていない場合、その予測モードをMPMリストに挿入する。
【0225】
MPMリストがいっぱいではない場合、MPMリストがいっぱいになるまで(例えば、MPMリスト内の予測モードの数が6と等しくなるまで)以下のモード、すなわち、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、又は対角線モード(DIA_IDX)をMPMリストに挿入する。
【0226】
提案された方法の変形例の概要は、次の通りである。
【0227】
左側のブロックの利用可能性は、並列処理のサポート有無を両方とも考慮しなければならない。
【0228】
上側のブロックの利用可能性は、並列処理のサポート有無を両方とも考慮しなければならない。
【0229】
左側及び上側のブロックの2つの最も近いモードを導出する順序は、最初に+1、その後-1であってもよい。
【0230】
MPMリストの最後の候補は、VIDA_IDX又はDIA_IDXのいずれかであってもよい。
【0231】
挿入の順序は、左、上、平面、DC、及び初期設定モード(VER_IDX、HOR_IDX、2、VDIA_IDX、又はDIA_IDX)であってもよい。
【0232】
mpm_idxのシグナリングでは、簡略化した単項二値化が用いられる。mpm_idxの最初の3つのビンによって、3つの異なる独立したコンテクストを用いることが可能になる、又はmpm_idxの全てのビンが符号化された経路によるCABACである。
【0233】
本開示は、イントラモードシグナリング方式の向上を目標とする。本開示では、映像復号方法及び映像復号器が提案される。
【0234】
図7は、例えば、VVC向けに提案されているように、67個のイントラ予測モードの一例を示す。平面モード(インデックス0)、DCモード(インデックス1)、及びインデックス2~66の角度モードを含む67個のイントラ予測モードという複数のイントラ予測モードである。
図7の左下の角度モードはインデックス2を意味し、これらのインデックスの番号付けは、インデックス66が
図7の右上隅の角度モードになるまでインクリメントされる。
【0235】
本願の別の態様では、処理回路を含む復号器が開示され、上記の復号方法を実行するように構成される。
【0236】
本願の別の態様では、コンピュータプログラム製品が開示され、上記の復号方法を実行するためのプログラムコードを含む。
【0237】
本願の別の態様では、映像データを復号する復号器が開示され、復号器は、1つ又は複数のプロセッサと、プロセッサに結合され且つプロセッサが実行するプログラムを格納する非一時的コンピュータ可読記憶媒体とを含み、プログラムは、プロセッサにより実行されると、上記の復号方法を実行するように復号器を構成する。
【0238】
処理回路は、ハードウェアで、又はハードウェアとソフトウェアとの組み合わせで、例えばソフトウェアをプログラム可能なプロセッサなどで実装可能である。
【0239】
本願の別の態様では、符号化方法が開示される。本方法は、ピクチャブロックのイントラ予測モードを複数のイントラ予測モードから取得する段階であって、ピクチャブロック用の複数のイントラ予測モードは、最確モード(MPM)のセット及び非MPMのセットを含み、非MPMのセットはイントラ予測モードの第1セット及びイントラ予測モードの第2セットを含む、段階と、ピクチャブロックのイントラ予測モードが非MPMのセットにある場合、イントラ予測モードの第1セットのうちの少なくとも1つのイントラ予測モードと非MPMのセットのうちの少なくとも1つのイントラ予測モードとのマッピング関係を生成する段階と、ピクチャブロックのイントラ予測モードを符号化して、マッピング関係に従ってイントラ予測モードの符号語を取得する段階とを含む。
【0240】
本願の1つの実装形態では、ピクチャブロックのイントラ予測モードを取得する処理は、以下の実施形態部分の詳細な説明における関連する開示、又はITU-TのH.264、ITU-TのH.265などの映像符号化技術の分野における関連する開示を参照することができる。
【0241】
本願の1つの実装形態では、符号化方法はさらに、MPMのセットを生成し、ピクチャブロックのイントラ予測モードがMPMのセットにあるかどうかを判定する段階を含む。したがって、ピクチャブロックのイントラ予測モードがMPMのセットにない場合、ピクチャブロックのイントラ予測モードは非MPMのセットにある。MPMのセットを生成する処理は、明細書部分における関連する開示、又はITU-TのH.264、ITU-TのH.265などの映像符号化技術の分野における関連する開示を参照することができる。
【0242】
本願の1つの実装形態では、イントラ予測モードの第1セットのうちの少なくとも1つのイントラ予測モードと非MPMのセットのうちの少なくとも1つのイントラ予測モードとのマッピング関係を生成する処理は、復号側の関連する開示を参照することができる。
【0243】
本願の1つの実装形態では、イントラ予測モードの第1セットが5個のビットを用いて符号化され、イントラ予測モードの第2セットが6個のビットを用いて符号化される。
【0244】
本願の別の態様では、処理回路を含む符号化器が開示され、上記の符号化方法を実行するように構成される。
【0245】
本願の別の態様では、コンピュータプログラム製品が開示され、上記の符号化方法を実行するためのプログラムコードを含む。
【0246】
本願の別の態様では、映像データを符号化する符号化器が開示され、符号化器は、1つ又は複数のプロセッサと、プロセッサに結合され且つプロセッサが実行するプログラムを格納する非一時的コンピュータ可読記憶媒体とを含み、プログラムは、プロセッサにより実行されると、上記の符号化方法を実行するように符号化器を構成する。
【0247】
処理回路は、ハードウェアで、又はハードウェアとソフトウェアとの組み合わせで、例えばソフトウェアをプログラム可能なプロセッサなどで実装可能である。
【0248】
本願の1つの実装形態では、
図8に従って、本願が映像復号方法を開示する。本方法は以下の段階を含む。
S801:ピクチャブロックの符号化済みデータを復号して、ピクチャブロック用の複数のイントラ予測モードからイントラ予測モードを取得する。ピクチャブロック用の複数のイントラ予測モードは最確モード(MPM)のセット及び非MPMのセットを含み、非MPMのセットはイントラ予測モードの第1セット及びイントラ予測モードの第2セットを含む。イントラ予測モードの第1セット内のモードはN個のビットを用いて符号化され、イントラ予測モードの第2セット内のモードはM個のビットを用いて符号化され、N及びMは正の整数であり、NはMより小さい。ピクチャブロックの符号化済みデータを復号してピクチャブロック用の複数のイントラ予測モードからイントラ予測モードを取得する段階(S801)は、以下の段階を含む。
S802:符号化済みデータを復号して、ピクチャブロック用のイントラ予測モードがMPMのセットにあるかどうかを示すインジケーションを取得する。ピクチャブロック用のイントラ予測モードがMPMのセットにないことをインジケーションが示す場合、以下の段階を行う。
S803:イントラ予測モードの第1セットのうちの少なくとも1つのイントラ予測モードと、非MPMのセットのうちの少なくとも1つのイントラ予測モードとのマッピング関係を生成する。
S804:符号化済みデータを復号して、ピクチャブロック用のイントラ予測モードの符号語を取得する。
S805:マッピング関係及びイントラ予測モードの符号語に従って、ピクチャブロック用のイントラ予測モードを取得する。
【0249】
本願の映像復号方法によれば、簡略化した二値化方式を用いて、非MPMのセット内の予測モードを符号化し、マッピング関係が生成されるので、現在のブロック用の予測モードは、少ないビットを用いて符号化される可能性が高く、復号器側での計算の複雑さが軽減される。
【0250】
本願の1つの実装形態では、
図9に従って、本願が映像復号方法を開示する。本方法は以下の段階を含む。
【0251】
S901:ピクチャブロックの符号化済みデータを受信する。復号器側は、符号化器側と復号器側との間の直接通信リンク、例えば、有線若しくは無線による直接的な接続を介して、又は任意の種類のネットワーク、例えば、有線ネットワーク若しくは無線ネットワーク又はこれらの任意の組み合わせ、又は任意の種類のプライベートネットワーク及びパブリックネットワーク、又はこれらの任意の種類の組み合わせを介して、符号化済みピクチャデータを受信するように構成されてよい。
【0252】
S902:符号化済みデータを復号して、ピクチャブロック用のイントラ予測モードがMPMのセットにあるかどうかを示すインジケーションを取得する。ピクチャブロック用のイントラ予測モードがMPMのセットにあるかどうかを示すインジケーションはフラグであってよく、フラグの値が1の場合は、ピクチャブロック用のイントラ予測モードがMPMのセットにあることを示してよく、フラグの値が0の場合は、ピクチャブロック用のイントラ予測モードがMPMのセットにないことを示してよい。例えば、符号化器側では、MPMリスト(MPMのセット)がイントラモードのセット、例えば[25,42,63]であり、現在のブロックのイントラモード値が42である場合、現在のブロック用のイントラモードがMPMリストの2番目のエントリにあるので、MPMフラグインジケータは1に設定される。例えば、現在のブロックのイントラモードが42ではなく41である場合、MPMフラグインジケータは0に設定され、MPMフラグは、符号化済みデータで復号側に送信される。
【0253】
ピクチャブロック用のイントラ予測モードがMPMのセットにあることをインジケーションが示す場合、段階S903を行う。
【0254】
ピクチャブロック用のイントラ予測モードがMPMのセットにあることをインジケーションが示す場合、段階S904を行う。
【0255】
S903:符号化済みデータを復号し、ピクチャブロック用のイントラ予測モードをMPMのセットに従って取得する。1つの例において、ピクチャブロック用のイントラ予測モードがMPMのセットにあることをインジケーションが示す場合。ピクチャブロック用のイントラ予測モード(IntraPredModeY[xPb][yPb])の導出処理は、次のように定められる。IntraPredModeY[xPb][yPb]は、以下の手順を適用して導出される。intra_luma_mpm_flag[xPb][yPb]が1と等しい(これは、ピクチャブロック用のイントラ予測モードがMPMのセットにあることを示す)場合、IntraPredModeY[xPb][yPb]は、candModeList[intra_luma_mpm_idx[xPb][yPb]]と等しく設定される。(xPb,yPb)は、現在のピクチャの左上のルマサンプルに対する現在のルマ予測ブロックの左上サンプルを指定し、candModeListは実際のMPMリストである。符号化済みデータを復号してMPMインデックスを取得し、MPMインデックス及びMPMリストに従ってピクチャブロックのイントラ予測モードを取得する。具体例では、MPMのセットは(15,0,20)であり、MPMインデックスの値は2であるため、ピクチャブロックのイントラ予測モードは平面モード(値0)である。別の具体例では、MPMのセットは(15,36,0,1,21,19)であり、MPMインデックスの値は5であるため、ピクチャブロックのイントラ予測モードは角度モード21である。
【0256】
S904:イントラ予測モードの第1セットのうちの少なくとも1つのイントラ予測モードと、非MPMのセットのうちの少なくとも1つのイントラ予測モードとのマッピング関係を生成する。
【0257】
一例において、ピクチャブロック用のイントラ予測モードがMPMのセットにないことをインジケーションが示す場合、2つのリスト、すなわち、符号語リスト及び導出モードリストが構成される。まず、符号語リストが次のように構成される。
1.MPMリスト内の最小モードを探す。最小モードはMsと仮定する。
2.初期インクリメント変数Inc=1を設定する。
3.候補モードMcを(Ms+Inc)に設定し、モードMcもMPMリストにあるかどうかを確認する。McがMPMリストにない場合、Mcを符号語リストに追加し、そうでなければ段階4に進む。
4.符号語リスト内の挿入されたエントリがいっぱいである(挿入された長さが符号語リストの長さと等しい)かどうかを確認する。いっぱいであれば、終了する。いっぱいでなければ、Inc=Inc+1に設定して、段階3に進む。
要約すると、符号語リストは、MPMリストに存在しているモード以外に、最小モードを含むことになる。MPMリストの長さがLであると仮定すれば、符号語リストの長さは、64-(67-L)=L-3となる。一例において、MPMリストが(15,36,0,1,21,19)である場合、構成される符号語は(2,3,4)である。次いで、導出モードリストが次のように構成される。
1.MPMリスト内の最初の2つの角度モードを探す。探す角度モードはangular0及びangular1であると仮定する。
2.初期インクリメント変数Inc=1を設定する。
3.新たなモードM0minus=angular0-Incを導出する。M0minusは、角度モードも保証することに留意されたい(すなわち66>=M0minus>=2)。したがって、angular0が2と等しく、Incが1である場合、導出されるM0minusは66になり、Incが2である場合、M0minusは65になる、などである。マイナス操作は、最大角度モードにラップアップすることになる。
4.M0minusがMPMリストにあるかどうかを確認し、M0minusがない場合且つ導出モードリストがいっぱいではない場合、M0minusを導出モードリストに挿入する。そうでなければ、つまり、導出モードリストがいっぱいであれば、終了する。いっぱいでなければ、段階5に進む。
5.新たなモードM0plus=angular0+Incを導出する。M0plusは、角度モードも保証することに留意されたい(すなわち、66>=M0plus>=2)。したがって、angular0が66と等しく、Incが1である場合、導出されるM0plusは2になり、Incが2である場合、M0plusは3になる、などである。プラス操作は、最小角度モードにラップダウンすることになる。
6.M0plusがMPMリストにあるかどうかを確認し、M0plusがない場合且つ導出モードリストがいっぱいではない場合、M0plusを導出モードリストに挿入する。そうでなければ、つまり、導出モードリストがいっぱいであれば、終了する。いっぱいでなければ、段階7に進む。
7.angular0をangular1に置き換えて、段階3~6を繰り返す。
8.Inc=Inc+1に設定して、段階3~7を繰り返す。
要約すると、導出モードリストは、MPMリスト内の最初の2つの角度モードの隣接モードを取得する。これらの隣接モードが既にMPMリストに含まれている場合、これらの隣接モードは導出モードリストから除外される。MPMリストの長さがLであると仮定すれば、導出モードリストの長さは、64-(67-L)=L-3となる。一例において、MPMリストが(15,36,0,1,21,19)である場合、構成される導出モードリストは(14,16,35)である。符号語リスト及び導出モードリストが構成されると、両方のリスト間の双方向のマッピング関係が構築される。すなわち、符号語リスト(2,3,4)及び導出モードリスト(14,16,35)を有する上記の例示的なリストが与えられると、2←→14、3←→16、及び4←→35というマッピングになる。ここで、←→は双方向のマッピングを表している。
【0258】
2つの選択肢によって、符号語リストと導出モードリストとの双方向のマッピング関係を構築するのが可能となる。最初の選択肢は、導出モードリスト及び符号語リストの両方に要素が存在し得るような方法で、導出モードリストが構成されるようにすることである。もう一方の選択肢は、導出モードリストが符号語リスト内のモードと重複しないようにすることである。
【0259】
別の例では、本願の1つの実装形態において、イントラ予測モードの第1セットのうちの少なくとも1つのイントラ予測モードと、非MPMのセットのうちの少なくとも1つのイントラ予測モードとのマッピング関係を生成する段階は、各イントラ予測モードカテゴリに含まれるMPMのセット内のイントラ予測モードの数及び/又は方向に従って、複数のイントラ予測モードカテゴリを順位付けする段階と、最上位のイントラ予測モードカテゴリに従ってマッピング関係を生成する段階とを含む。一例において、5個の角度イントラ予測モードカテゴリ、すなわち、DCモード(DC_IDX)、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、及び対角線モード(DIA_IDX)がある。ここで、各角度イントラ予測モードカテゴリに含まれる最確モードリストの角度イントラ予測モードは、例えば、最確モードリストの角度イントラ予測モードのそれぞれを、最確モードリストの対応する角度イントラ予測モードに最も近い角度イントラ予測モードカテゴリに関連付けるように対応する。別の例では、2番目に最上位の角度イントラ予測モードカテゴリを用いて、この段階を繰り返す。一例において、イントラ予測モードの第1セットのうちの少なくとも1つのイントラ予測モードと、非MPMのセットのうちの少なくとも1つのイントラ予測モードとのマッピング関係を生成する段階は、MPMのセットに対応する複数の値にオフセットを加えることによってイントラ予測モードの初期セットを生成する段階と、MPMのセットを分類して最上位のイントラ予測モードカテゴリを取得する段階と、最上位のイントラ予測モードカテゴリ及びイントラ予測モードの初期セットに従ってマッピング関係を生成する段階とを含む。一例において、イントラ予測モードの初期セットは、MPMのセットに対応する複数の値に、-1、+1、+2、-2、+3、-3、+4、又は-4というオフセットを加えることによって生成される。一例において、マッピング関係は、平面モード(PLANAR_IDX)、DCモード(DC_IDX)、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、及び対角線モード(DIA_IDX)を含む又はこれらで構成される既定の初期設定モードリストに従って生成される。
【0260】
S905:符号化済みデータを復号して、ピクチャブロック用のイントラ予測モードの符号語を取得する。符号語は、N個のビット又はM個のビットを用いて、符号化側で符号化される。一例において、符号語は双方向のマッピング関係であるため、符号語に対応するイントラ予測モードは、非MPMのセット内の別のイントラ予測モードにマッピングされてよい。
【0261】
S906:マッピング関係及びイントラ予測モードの符号語に従って、ピクチャブロック用のイントラ予測モードを取得する。一例において、双方向のマッピング関係が構築された後に、イントラ予測モードの符号語に対応するイントラ予測モードが符号語リスト又は導出モードリストにあるかどうかを確認する。解析されたイントラ予測モードが、符号語リストにも導出モードリストにもない場合、解析されたイントラ予測モードとして最終予測モードを設定する。解析されたイントラ予測モードが符号語リストにだけ、又は導出モードリストにだけある場合、その対応するマッピングされたイントラ予測モードとして最終予測モードを設定する。解析されたイントラ予測モードが符号語リスト及び導出モードリストの両方にある場合、これら2つのリストの構築にメカニズムが導入されることにより、双方向のマッピング関係が調整され、全ての重複モードが別のリストの重複モードにマッピングされる。一例として、MPMリストが(0 1 2 3 50 66)であり、符号語リストが(4 5 6)であり、導出モードリストが(4 65 5)である。導出モードリスト又は符号語リストを構成する場合、4←→4、5←→5、及び6←→65であることを確認する。
【0262】
復号器が、上記の方法を実行するように構成された処理回路を含む。
【0263】
本開示では、プログラムコードを含むコンピュータプログラム製品が、上記の方法を実行するために開示される。
【0264】
本開示では、映像データを復号する復号器が開示され、復号器は、1つ又は複数のプロセッサと、プロセッサに結合され且つプロセッサが実行するプログラムを格納する非一時的コンピュータ可読記憶媒体とを含み、プログラムは、プロセッサにより実行されると、上記の方法を実行するように復号器を構成する。
【0265】
図7は、例えば、VVC向けに提案されているように、67個のイントラ予測モードの一例を示す。平面モード(インデックス0)、DCモード(インデックス1)、及びインデックス2~66の角度モードを含む67個のイントラ予測モードという複数のイントラ予測モードである。
図7の左下の角度モードはインデックス2を意味し、これらのインデックスの番号付けは、インデックス66が
図7の右上隅の角度モードになるまでインクリメントされる。
【0266】
以下では、さらなる実施形態が開示される。番号付けは、本明細書の他の実施形態又は実施例の番号付けと必ずしも一致しないことがある。
[実施形態1]
最確モード(MPM)リストを構成するための方法であり、本方法は、現在の符号化ブロックの左側のブロックが利用可能かどうかを判定し、現在の符号化ブロックの左側のブロックが利用可能である場合、左側のブロックのイントラ予測モードをMPMリストに追加する段階と、現在の符号化ブロックの上側のブロックが利用可能かどうかを判定し、現在の符号化ブロックの上側のブロックが利用可能である場合、上側のブロックのイントラ予測モードをMPMリストに追加する段階と、平面モードがMPMリストにない場合、平面モードをMPMリストに追加する段階と、DCモードがMPMリストにない場合、DCモードをMPMリストに追加する段階とを含む。
【0267】
[実施形態2]
左側のブロックの予測モードがイントラ予測モードではない場合、現在の符号化ブロックの左側のブロックは利用できない、実施形態1に記載の方法。
【0268】
[実施形態3]
現在の符号化ブロックがフレームの左端側に位置する符号化ブロックである場合、現在の符号化ブロックの左側のブロックは利用できない、実施形態1又は2に記載の方法。
【0269】
[実施形態4]
並列処理がサポートされている且つ現在の符号化ブロックがタイルの左端側に位置している符号化ブロックである場合、現在の符号化ブロックの左側のブロックは利用できない、実施形態1から3のいずれか1つに記載の方法。
【0270】
[実施形態5]
並列処理がサポートされていない、且つ現在の符号化ブロックがタイルの左端側に位置しているが、フレームの左端側には位置していない符号化ブロックである場合、現在の符号化ブロックの左側のブロックは利用可能である、実施形態1から4のいずれか1つに記載の方法。
【0271】
[実施形態6]
並列処理がサポートされている且つ現在の符号化ブロックがスライスの左端側に位置している符号化ブロックである場合、現在の符号化ブロックの左側のブロックは利用できない、実施形態1から5のいずれか1つに記載の方法。
【0272】
[実施形態7]
並列処理がサポートされていない、且つ現在の符号化ブロックがスライスの左端側に位置しているが、フレームの左端側には位置していない符号化ブロックである場合、現在の符号化ブロックの左側のブロックは利用可能である、実施形態1から6のいずれか1つに記載の方法。
【0273】
[実施形態8]
上側のブロックの予測モードがイントラ予測モードではない場合、現在の符号化ブロックの上側のブロックは利用できない、実施形態1から7のいずれか1つに記載の方法。
【0274】
[実施形態9]
現在の符号化ブロックがフレームの上端側に位置している符号化ブロックである場合、現在の符号化ブロックの上側のブロックは利用できない、実施形態1から8のいずれか1つに記載の方法。
【0275】
[実施形態10]
並列処理がサポートされている且つ現在の符号化ブロックがタイルの上端側に位置している符号化ブロックである場合、現在の符号化ブロックの上側のブロックは利用できない、実施形態1から9のいずれか1つに記載の方法。
【0276】
[実施形態11]
並列処理がサポートされていない、且つ現在の符号化ブロックがタイルの上端側に位置しているが、フレームの上端側には位置していない符号化ブロックである場合、現在の符号化ブロックの上側のブロックは利用可能である、実施形態1から10のいずれか1つに記載の方法。
【0277】
[実施形態12]
並列処理がサポートされている且つ現在の符号化ブロックがスライスの上端側に位置している符号化ブロックである場合、現在の符号化ブロックの上側のブロックは利用できない、実施形態1から11のいずれか1つに記載の方法。
【0278】
[実施形態13]
並列処理がサポートされていない、且つ現在の符号化ブロックがスライスの上端側に位置しているがフレームの上端側には位置していない符号化ブロックである場合、現在の符号化ブロックの上側のブロックは利用可能である、実施形態1から12のいずれか1つに記載の方法。
【0279】
[実施形態14]
ラインバッファのサイズが制限されている且つ現在の符号化ブロックが現在のCTUの上端側に位置している符号化ブロックである場合、現在の符号化ブロックの上側のブロックは利用できない、実施形態1から13のいずれか1つに記載の方法。
【0280】
[実施形態15]
本方法はさらに、現在の符号化ブロックの左側のブロックが利用可能である且つ左側のブロックのイントラ予測モードが角度モードである場合、左側のブロックの予測モードにオフセットを加えて新たな予測モードを取得し、新たな予測モードがMPMリストにない場合には新たな予測モードをMPMリストに追加する段階を含む、実施形態1から14のいずれか1つに記載の方法。
【0281】
[実施形態16]
オフセットは-1である、実施形態15に記載の方法。
【0282】
[実施形態17]
オフセットは1である、実施形態15に記載の方法。
【0283】
[実施形態18]
本方法はさらに、現在の符号化ブロックの上側のブロックが利用可能である且つ上側のブロックのイントラ予測モードが角度モードである場合、上側のブロックの予測モードにオフセットを加えて上側オフセット予測モードを取得し、上側オフセット予測モードがMPMリストにない場合、上側オフセット予測モードをMPMリストに追加する段階を含む、実施形態1から17のいずれか1つに記載の方法。
【0284】
[実施形態19]
オフセットは-1である、実施形態18に記載の方法。
【0285】
[実施形態20]
オフセットは1である、実施形態18に記載の方法。
【0286】
[実施形態21]
本方法はさらに、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、又は対角線モード(DIA_IDX)をMPMリストに追加する段階を含む、実施形態1から20のいずれか1つに記載の方法。
【0287】
[実施形態22]
本方法はさらに、角度モード候補のリストを含み、角度モード候補のリストは、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、又は対角線モード(DIA_IDX)を含む又はこれらのモードで構成されてMPMリストになり、本方法はさらに、リストの角度モードがMPMリストにあるかどうかをリスト内の角度モードの順序に従って繰り返し判定し、それぞれの角度モードがMPMリストにない場合、それぞれの角度モードをMPMリストに追加する段階を含む、実施形態1から20のいずれか1つに記載の方法。
【0288】
[実施形態23]
MPMリストの構成は、現在の符号化ブロックの左側のブロックが利用可能かどうかを、例えば、空のMPMリストに基づいて判定する段階から始まる、実施形態1から20のいずれか1つに記載の方法。
【0289】
[実施形態24]
本方法はさらに、現在の符号化ブロックの左側のブロックが利用できない且つほぼ左方向にある他のブロック(例えば、
図5のBL又はAL)が利用可能である場合、他のブロックのイントラ予測モードをMPMリストに挿入し、左側のブロックが利用可能である場合には、他のブロックのイントラ予測モードをMPMリストに挿入しない段階を含む、実施形態1から23のいずれか1つに記載の方法。
【0290】
[実施形態25]
本方法はさらに、現在の符号化ブロックの上側のブロックが利用できない且つほぼ上方向にある他のブロック(例えば、
図5のAR又はAL)が利用可能である場合、他のブロックのイントラ予測モードをMPMリストに挿入し、上側のブロックが利用可能である場合には、他のブロックのイントラ予測モードをMPMリストに挿入しない段階を含む、実施形態1から23のいずれか1つに記載の方法。
【0291】
[実施形態26]
本方法はさらに、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、又は対角線モード(DIA_IDX)を、これらのモードがMPMリストにない場合にはMPMリストに追加する段階を含む、実施形態1から25のいずれか1つに記載の方法。
【0292】
[実施形態27]
本方法はさらに、現在の符号化ブロックの左側及び上側のブロックの両方が角度ではない場合、もう1つの他の隣接ブロック(例えば、図面5のBL又はAL又はAR)をさらに確認する段階を含む、実施形態1から26のいずれか1つに記載の方法。これらのブロック(BL又はAL又はAR)のうちのいずれかが角度である場合、前述したように、この角度モードを-1+1導出処理用の開始角度モードとして用いる。
【0293】
[実施形態28]
実施形態1から27のいずれか1つに記載の方法を実行するための処理回路を含む符号化器。
【0294】
[実施形態29]
実施形態1から27のいずれか1つに記載の方法を実行するための処理回路を含む復号器。
【0295】
[実施形態30]
実施形態1から27のいずれか1つに記載の方法を実行するためのプログラムコードを含むコンピュータプログラム製品。
【0296】
[実施形態31]
最確モード(MPM)リストを構成するための復号器であって、復号器は、1つ又は複数のプロセッサと、プロセッサに結合され且つプロセッサが実行するプログラムを格納する非一時的コンピュータ可読記憶媒体とを含み、プログラムは、プロセッサにより実行されると、実施形態1から27のいずれか1つに記載の方法を実行するように復号器を構成する。
【0297】
[実施形態32]
最確モード(MPM)リストを構成するための符号化器であって、符号化器は、1つ又は複数のプロセッサと、プロセッサに結合され且つプロセッサが実行するプログラムを格納する非一時的コンピュータ可読記憶媒体とを含み、プログラムは、プロセッサにより実行されると、実施形態1から27のいずれか1つに記載の方法を実行するように復号器を構成する。
【0298】
[実施形態33]
イントラ予測用の最確モード(MPM)リストを構成するための方法であって、本方法は、現在の符号化ブロックの左側のブロックが利用可能かどうかを判定し、現在の符号化ブロックの左側のブロックが利用可能である場合、左側のブロックのイントラ予測モードをMPMリストに追加する段階と、現在の符号化ブロックの上側のブロックが利用可能かどうかを判定し、現在の符号化ブロックの上側のブロックが利用可能である且つ上側のブロックのイントラ予測モードがMPMリストにない場合、上側のブロックのイントラ予測モードをMPMリストに追加する段階と、平面モードがMPMリストにない場合、平面モードをMPMリストに追加する段階と、DCモードがMPMリストにない場合、DCモードをMPMリストに追加する段階とを含む。
【0299】
[実施形態34]
現在の符号化ブロックがフレームの左端側に位置している符号化ブロックである場合、現在の符号化ブロックの左側のブロックは利用できない、実施形態33に記載の方法。
【0300】
[実施形態35]
現在の符号化ブロックがフレームの左端側に位置していない符号化ブロックである場合、現在の符号化ブロックの左側のブロックは利用可能である、実施形態33又は34に記載の方法。
【0301】
[実施形態36]
現在の符号化ブロックがフレームの上端側に位置している符号化ブロックである場合、現在の符号化ブロックの上側のブロックは利用できない、実施形態33から35のいずれか1つに記載の方法。
【0302】
[実施形態37]
現在の符号化ブロックがフレームの上端側に位置していない符号化ブロックである場合、現在の符号化ブロックの上側のブロックは利用可能である、実施形態33から36のいずれか1つに記載の方法。
【0303】
[実施形態38]
本方法はさらに、現在の符号化ブロックの左側のブロックが利用可能である且つ左側のブロックのイントラ予測モードが角度モードである場合、左側のブロックの予測モードにオフセットを加えて新たな予測モードを取得し、新たな予測モードがMPMリストにない場合には新たな予測モードをMPMリストに追加する段階を含む、実施形態33から37のいずれか1つに記載の方法。
【0304】
[実施形態39]
本方法はさらに、現在の符号化ブロックの上側のブロックが利用可能である且つ上側のブロックのイントラ予測モードが角度モードである場合、上側のブロックの予測モードにオフセットを加えて上側オフセット予測モードを取得し、上側オフセット予測モードがMPMリストにない場合には上側オフセット予測モードをMPMリストに追加する段階を含む、実施形態33から38のいずれか1つに記載の方法。
【0305】
[実施形態40]
オフセットは-1である、実施形態38又は39に記載の方法。
【0306】
[実施形態41]
オフセットは1である、実施形態38又は39に記載の方法。
【0307】
[実施形態42]
本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である場合、イントラ予測モードのセットのうちの第1のイントラ予測モードがMPMリストに含まれているかどうかを確認し、第1のイントラ予測モードがMPMリストに含まれていない場合には第1のイントラ予測モードをMPMリストに追加する段階を含み、イントラ予測モードのセットは、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、又は対角線モード(DIA_IDX)を含む、実施形態33から41のいずれか1つに記載の方法。
【0308】
[実施形態43]
本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である場合、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、又は対角線モード(DIA_IDX)を含むイントラ予測モードのセットのうちのイントラ予測モードを前述の順序に従って、当該イントラ予測モードがMPMリストに含まれていない場合には予測モードの数が閾値と等しくなるまで、繰り返しMPMリストに追加する段階を含む、実施形態33から41のいずれか1つに記載の方法。
【0309】
[実施形態44]
本方法はさらに、現在の符号化ブロックの左側のブロックが利用できない且つMPMリスト内のイントラ予測モードの数が閾値未満である場合、イントラ予測モードのセットのうちの第1のイントラ予測モードがMPMリストに含まれているかどうかを確認し、第1のイントラ予測モードがMPMリストに含まれていない場合には第1のイントラ予測モードをMPMリストに加える段階を含み、イントラ予測モードのセットは、鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、対角線モード(DIA_IDX)、又はイントラモード2(2)を含む、実施形態33から41のいずれか1つに記載の方法。
【0310】
[実施形態45]
本方法はさらに、現在の符号化ブロックの左側のブロックが利用できない且つMPMリスト内のイントラ予測モードの数が閾値未満である場合、鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、対角線モード(DIA_IDX)、又はイントラモード2(2)を含むイントラ予測モードのセットのうちのイントラ予測モードを前述の順序に従って、当該イントラ予測モードがMPMリストに含まれていない場合には予測モードの数が閾値と等しくなるまで、繰り返しMPMリストに追加する段階を含む、実施形態33から41のいずれか1つに記載の方法。
【0311】
[実施形態46]
本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である場合、イントラ予測モードのセットのうちの第1のイントラ予測モードがMPMリストに含まれているかどうかを確認し、第1のイントラ予測モードがMPMリストに含まれていない場合には、第1のイントラ予測モードをMPMリストに追加する段階を含む。イントラ予測モードのセットは、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、VER_IDXに対応しオフセット-4を用いるイントラ予測モード、又はVER_IDXに対応しオフセット4を用いるイントラ予測モードを含む、実施形態33から41のいずれか1つに記載の方法。
【0312】
[実施形態47]
本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である場合、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、VER_IDXに対応しオフセット-4を用いるイントラ予測モード、又はVER_IDXに対応しオフセット4を用いるイントラ予測モードを含むイントラ予測モードのセットのうちのイントラ予測モードを前述の順序に従って、当該イントラ予測モードがMPMリストに含まれていない場合には予測モードの数が閾値と等しくなるまで、繰り返しMPMリストに追加する段階を含む、実施形態33から41のいずれか1つに記載の方法。
【0313】
[実施形態48]
本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である場合、イントラ予測モードのセットのうちの第1のイントラ予測モードがMPMリストに含まれているかどうかを確認し、第1のイントラ予測モードがMPMリストに含まれていない場合には、第1のイントラ予測モードをMPMリストに追加する段階を含む。イントラ予測モードのセットは、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、VER_IDXに対応しオフセット4を用いるイントラ予測モード、又はVER_IDXに対応しオフセット-4を用いるイントラ予測モードを含む、実施形態33から41のいずれか1つに記載の方法。
【0314】
[実施形態49]
本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である場合、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、VER_IDXに対応しオフセット4を用いるイントラ予測モード、又はVER_IDXに対応しオフセット-4を用いるイントラ予測モードを含むイントラ予測モードのセットのうちのイントラ予測モードを前述の順序に従って、当該イントラ予測モードがMPMリストに含まれていない場合には予測モードの数が閾値と等しくなるまで、繰り返しMPMリストに追加する段階を含む、実施形態33から41のいずれか1つに記載の方法。
【0315】
[実施形態50]
本方法はさらに、現在の符号化ブロックの左側のブロックが利用できない且つMPMリスト内のイントラ予測モードの数が閾値未満である場合、イントラ予測モードのセットのうちの第1のイントラ予測モードがMPMリストに含まれているかどうかを確認し、第1のイントラ予測モードがMPMリストに含まれていない場合には第1のイントラ予測モードをMPMリストに追加する段階を含み、イントラ予測モードのセットは以下のイントラ予測モードセットのうちの1つ、すなわち、
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VER_IDXに対応しオフセット-1を用いるイントラ予測モード、及びVER_IDXに対応しオフセット1を用いるイントラ予測モード、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VER_IDXに対応しオフセット-4を用いるイントラ予測モード、及びVER_IDXに対応しオフセット4を用いるイントラ予測モード、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VDIA_IDXに対応しオフセット-4を用いるイントラ予測モード、及びVER_IDXに対応しオフセット-1を用いるイントラ予測モード、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VDIA_IDXに対応しオフセット-4を用いるイントラ予測モード、及びVER_IDXに対応しオフセット+1を用いるイントラ予測モード、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VDIA_IDXに対応しオフセット-1を用いるイントラ予測モード、及びVER_IDXに対応しオフセット-1を用いるイントラ予測モード、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VDIA_IDXに対応しオフセット-1を用いるイントラ予測モード、及びVER_IDXに対応しオフセット1を用いるイントラ予測モード、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VER_IDXに対応しオフセット-1を用いるイントラ予測モード、及びVDIA_IDXに対応しオフセット-4を用いるイントラ予測モード、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VER_IDXに対応しオフセット1を用いるイントラ予測モード、及びVDIA_IDXに対応しオフセット-4を用いるイントラ予測モード、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VER_IDXに対応しオフセット-1を用いるイントラ予測モード、及びVDIA_IDXに対応しオフセット-1を用いるイントラ予測モード、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VER_IDXに対応しオフセット1を用いるイントラ予測モード、及びVDIA_IDXに対応しオフセット-1を用いるイントラ予測モード
のうちの1つを含む、実施形態33から41のいずれか1つに記載の方法。
【0316】
[実施形態51]
本方法はさらに、現在の符号化ブロックの左側のブロックが利用できない且つMPMリスト内のイントラ予測モードの数が閾値未満である場合、イントラ予測モードのセットのうちのイントラ予測モードを前述の順序に従って、当該イントラ予測モードがMPMリストに含まれていない場合には予測モードの数が閾値と等しくなるまで、繰り返しMPMリストに追加する段階を含み、イントラ予測モードのセットは以下のイントラ予測モードセットのうちの1つ、すなわち、
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VER_IDXに対応しオフセット-1を用いるイントラ予測モード、及びVER_IDXに対応しオフセット1を用いるイントラ予測モード、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VER_IDXに対応しオフセット-4を用いるイントラ予測モード、及びVER_IDXに対応しオフセット4を用いるイントラ予測モード、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VDIA_IDXに対応しオフセット-4を用いるイントラ予測モード、及びVER_IDXに対応しオフセット-1を用いるイントラ予測モード、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VDIA_IDXに対応しオフセット-4を用いるイントラ予測モード、及びVER_IDXに対応しオフセット+1を用いるイントラ予測モード、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)VDIA_IDXに対応しオフセット-1を用いるイントラ予測モード、及びVER_IDXに対応しオフセット-1を用いるイントラ予測モード、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VDIA_IDXに対応しオフセット-1を用いるイントラ予測モード、及びVER_IDXに対応しオフセット1を用いるイントラ予測モード、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VER_IDXに対応しオフセット-1を用いるイントラ予測モード、及びVDIA_IDXに対応しオフセット-4を用いるイントラ予測モード、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VER_IDXに対応しオフセット1を用いるイントラ予測モード、及びVDIA_IDXに対応しオフセット-4を用いるイントラ予測モード、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VER_IDXに対応しオフセット-1を用いるイントラ予測モード、及びVDIA_IDXに対応しオフセット-1を用いるイントラ予測モード、又は
鉛直モード(VER_IDX)、鉛直対角線モード(VDIA_IDX)、VER_IDXに対応しオフセット1を用いるイントラ予測モード、及びVDIA_IDXに対応しオフセット-1を用いるイントラ予測モード
のうちの1つを含む、実施形態33から41のいずれか1つに記載の方法。
【0317】
[実施形態52]
本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である且つ現在の符号化ブロックの上側のブロックが利用できない場合、イントラ予測モードのセットのうちの第1のイントラ予測モードがMPMリストに含まれているかどうかを確認し、第1のイントラ予測モードがMPMリストに含まれていない場合には第1のイントラ予測モードをMPMリストに追加する段階を含み、イントラ予測モードのセットは、水平モード(HOR_IDX)、イントラモード2(2)、対角線モード(DIA_IDX)、又は鉛直対角線モード(VDIA_IDX)を含む、実施形態33から41のいずれか1つに記載の方法。
【0318】
[実施形態53]
本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である且つ現在の符号化ブロックの上側のブロックが利用できない場合、水平モード(HOR_IDX)、イントラモード2(2)、対角線モード(DIA_IDX)、又は鉛直対角線モード(VDIA_IDX)を含むイントラ予測モードのセットのうちのイントラ予測モードを前述の順序に従って、当該イントラ予測モードがMPMリストに含まれていない場合には予測モードの数が閾値と等しくなるまで、繰り返しMPMリストに追加する段階を含む、実施形態33から41のいずれか1つに記載の方法。
【0319】
[実施形態54]
本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である、且つ現在の符号化ブロックの左側のブロックが利用可能である、且つ現在の符号化ブロックの上側のブロックが利用可能である場合、イントラ予測モードのセットのうちの第1のイントラ予測モードがMPMリストに含まれているかどうかを確認し、第1のイントラ予測モードがMPMリストに含まれていない場合には第1のイントラ予測モードをMPMリストに追加する段階を含み、イントラ予測モードのセットは、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、又は対角線モード(DIA_IDX)を含む、実施形態33から41のいずれか1つに記載の方法。
【0320】
[実施形態55]
本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である、且つ現在の符号化ブロックの左側のブロックが利用可能である、且つ現在の符号化ブロックの上側のブロックが利用可能である場合、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、イントラモード2(2)、鉛直対角線モード(VDIA_IDX)、又は対角線モード(DIA_IDX)を含むイントラ予測モードのセットのうちのイントラ予測モードを前述の順序に従って、当該イントラ予測モードがMPMリストに含まれていない場合には予測モードの数が閾値と等しくなるまで、繰り返しMPMリストに追加する段階を含む、実施形態33から41のいずれか1つに記載の方法。
【0321】
[実施形態56]
本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である且つ現在の符号化ブロックの上側のブロックが利用できない場合、イントラ予測モードのセットのうちの第1のイントラ予測モードがMPMリストに含まれているかどうかを確認し、第1のイントラ予測モードがMPMリストに含まれていない場合には第1のイントラ予測モードをMPMリストに追加する段階を含み、イントラ予測モードのセットは、水平モード(HOR_IDX)、イントラモード2(2)、対角線モード(DIA_IDX)、又は鉛直対角線モード(VDIA_IDX)を含む、実施形態33から41のいずれか1つに記載の方法。
【0322】
[実施形態57]
本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である且つ現在の符号化ブロックの上側のブロックが利用できない場合、水平モード(HOR_IDX)、イントラモード2(2)、対角線モード(DIA_IDX)、又は鉛直対角線モード(VDIA_IDX)を含むイントラ予測モードのセットのうちのイントラ予測モードを前述の順序に従って、当該イントラ予測モードがMPMリストに含まれていない場合には予測モードの数が閾値と等しくなるまで、繰り返しMPMリストに追加する段階を含む、実施形態33から41のいずれか1つに記載の方法。
【0323】
[実施形態58]
本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である、且つ現在の符号化ブロックの左側のブロックが利用可能である、且つ現在の符号化ブロックの上側のブロックが利用可能である場合、イントラ予測モードのセットのうちの第1のイントラ予測モードがMPMリストに含まれているかどうかを確認し、第1のイントラ予測モードがMPMリストに含まれていない場合には第1のイントラ予測モードをMPMリストに追加する段階を含み、イントラ予測モードのセットは、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、VER_IDXに対応しオフセット-4を用いるイントラ予測モード、又はVER_IDXに対応しオフセット4を用いるイントラ予測モードを含む、実施形態33から41のいずれか1つに記載の方法。
【0324】
[実施形態59]
本方法はさらに、MPMリスト内のイントラ予測モードの数が閾値未満である、且つ現在の符号化ブロックの左側のブロックは利用可能である、且つ現在の符号化ブロックの上側のブロックが利用可能である場合、鉛直モード(VER_IDX)、水平モード(HOR_IDX)、VER_IDXに対応しオフセット-4を用いるイントラ予測モード、又はVER_IDXに対応しオフセット4を用いるイントラ予測モードを含むイントラ予測モードのセットのうちのイントラ予測モードを前述の順序に従って、当該イントラ予測モードがMPMリストに含まれていない場合には予測モードの数が閾値と等しくなるまで、繰り返しMPMリストに追加する段階を含む、実施形態33から41のいずれか1つに記載の方法。
【0325】
[実施形態60]
本方法はさらに、現在の符号化ブロックの上側のブロックが利用できない且つMPMリスト内のイントラ予測モードの数が閾値未満である場合、イントラ予測モードのセットのうちの第1のイントラ予測モードがMPMリストに含まれているかどうかを確認し、第1のイントラ予測モードがMPMリストに含まれていない場合には第1のイントラ予測モードをMPMリストに追加する段階を含み、イントラ予測モードのセットは、以下のイントラ予測モードセットのうちの1つ、すなわち、
水平モード(HOR_IDX)、イントラモード2(2)、HOR_IDXに対応しオフセット-1を用いるイントラ予測モード、及びHOR_IDXに対応しオフセット1を用いるイントラ予測モード、又は
水平モード(HOR_IDX)、イントラモード2(2)、HOR_IDXに対応しオフセット-4を用いるイントラ予測モード、及びオフセット4を加えたHOR_IDX、又は
水平モード(HOR_IDX)、イントラモード2(2)、イントラモード2(2)に対応しオフセット4を用いるイントラ予測モード、及びHOR_IDXに対応しオフセット-1を用いるイントラ予測モード、又は
水平モード(HOR_IDX)、イントラモード2(2)、イントラモード2(2)に対応しオフセット4を用いるイントラ予測モード、及びHOR_IDXに対応しオフセット1を用いるイントラ予測モード、又は
水平モード(HOR_IDX)、イントラモード2(2)、イントラモード2(2)に対応しオフセット1を用いるイントラ予測モード、及びHOR_IDXに対応しオフセット-1を用いるイントラ予測モード、又は
水平モード(HOR_IDX)、イントラモード2(2)、イントラモード2(2)に対応しオフセット1を用いるイントラ予測モード、及びHOR_IDXに対応しオフセット1を用いるイントラ予測モード、又は
水平モード(HOR_IDX)、イントラモード2(2)、HOR_IDXに対応しオフセット-1を用いるイントラ予測モード、及びイントラモード2(2)に対応しオフセット4を用いるイントラ予測モード、又は
水平モード(HOR_IDX)、イントラモード2(2)、HOR_IDXに対応しオフセット1を用いるイントラ予測モード、及びイントラモード2(2)に対応しオフセット4を用いるイントラ予測モード、又は
水平モード(HOR_IDX)、イントラモード2(2)、HOR_IDXに対応しオフセット-1を用いるイントラ予測モード、及びイントラモード2(2)に対応しオフセット1を用いるイントラ予測モード、又は
水平モード(HOR_IDX)、イントラモード2(2)、HOR_IDXに対応しオフセット1を用いるイントラ予測モード、及びイントラモード2(2)に対応しオフセット1を用いるイントラ予測モード
のうちの1つを含む、実施形態33から41のいずれか1つに記載の方法。
【0326】
[実施形態61]
本方法はさらに、現在の符号化ブロックの上側のブロックが利用できない且つMPMリスト内のイントラ予測モードの数が閾値未満である場合、イントラ予測モードのセットのうちのイントラ予測モードを前述の順序に従って、当該イントラ予測モードがMPMリストに含まれていない場合には予測モードの数が閾値と等しくなるまで、繰り返しMPMリストに追加する段階を含み、イントラ予測モードのセットは以下のイントラ予測モードセットのうちの1つ、すなわち、
水平モード(HOR_IDX)、イントラモード2(2)、HOR_IDXに対応しオフセット-1を用いるイントラ予測モード、及びHOR_IDXに対応しオフセット1を用いるイントラ予測モード、又は
水平モード(HOR_IDX)、イントラモード2(2)、HOR_IDXに対応しオフセット-4を用いるイントラ予測モード、及びオフセット4を加えたHOR_IDX、又は
水平モード(HOR_IDX)、イントラモード2(2)、イントラモード2(2)に対応しオフセット4を用いるイントラ予測モード、及びHOR_IDXに対応しオフセット-1を用いるイントラ予測モード、又は
水平モード(HOR_IDX)、イントラモード2(2)、イントラモード2(2)に対応しオフセット4を用いるイントラ予測モード、及びHOR_IDXに対応しオフセット1を用いるイントラ予測モード、又は
水平モード(HOR_IDX)、イントラモード2(2)、イントラモード2(2)に対応しオフセット1を用いるイントラ予測モード、及びHOR_IDXに対応しオフセット-1を用いるイントラ予測モード、又は
水平モード(HOR_IDX)、イントラモード2(2)、イントラモード2(2)に対応しオフセット1を用いるイントラ予測モード、及びHOR_IDXに対応しオフセット1を用いるイントラ予測モード、又は
水平モード(HOR_IDX)、イントラモード2(2)、HOR_IDXに対応しオフセット-1を用いるイントラ予測モード、及びイントラモード2(2)に対応しオフセット4を用いるイントラ予測モード、又は
水平モード(HOR_IDX)、イントラモード2(2)、HOR_IDXに対応しオフセット1を用いるイントラ予測モード、及びイントラモード2(2)に対応しオフセット4を用いるイントラ予測モード、又は
水平モード(HOR_IDX)、イントラモード2(2)、HOR_IDXに対応しオフセット-1を用いるイントラ予測モード、及びイントラモード2(2)に対応しオフセット1を用いるイントラ予測モード、又は
水平モード(HOR_IDX)、イントラモード2(2)、HOR_IDXに対応しオフセット1を用いるイントラ予測モード、及びイントラモード2(2)に対応しオフセット1を用いるイントラ予測モード
のうちの1つを含む、実施形態33から41のいずれか1つに記載の方法。
【0327】
[実施形態62]
実施形態33から61のいずれか1つに記載の方法を実行するための処理回路を含む符号化器。
【0328】
[実施形態63]
実施形態33から61のいずれか1つに記載の方法を実行するための処理回路を含む復号器。
【0329】
[実施形態64]
実施形態33から61のいずれか1つに記載の方法を実行するためのプログラムコードを含むコンピュータプログラム製品。
【0330】
[実施形態65]
最確モード(MPM)リストを構成するための復号器であって、復号器は、1つ又は複数のプロセッサと、プロセッサに結合され且つプロセッサが実行するプログラムを格納する非一時的コンピュータ可読記憶媒体とを含み、プログラムは、プロセッサにより実行されると、実施形態33から61のいずれか1つに記載の方法を実行するように復号器を構成する。
【0331】
[実施形態66]
最確モード(MPM)リストを構成するための符号化器であって、符号化器は、1つ又は複数のプロセッサと、プロセッサに結合され且つプロセッサが実行するプログラムを格納する非一時的コンピュータ可読記憶媒体とを含み、プログラムは、プロセッサにより実行されると、実施形態33から61のいずれか1つに記載の方法を実行するように復号器を構成する。
【0332】
図10は、本開示の一実施形態によるネットワークデバイスの概略図である。ネットワークデバイスは、本明細書で説明されたように、開示された実施形態を実装するのに適している。ネットワークデバイスは、データを受信するための入力ポート及び受信器ユニット(Rx)と、データを処理するプロセッサ、論理ユニット、又は中央演算処理装置(CPU)と、データを伝送するための送信器ユニット(Tx)及び出力ポートと、データを格納するためのメモリとを含む。ネットワークデバイスは、入力ポート、受信器ユニット、送信器ユニット、及び出力ポートに、光信号又は電気信号を出力又は入力するために結合された、光/電気(OE)変換コンポーネント及び電気/光(EO)変換コンポーネントも含んでよい。
【0333】
プロセッサは、ハードウェア及びソフトウェアによって実装される。プロセッサは、1つ又は複数のCPUチップ、コア(例えば、マルチコアプロセッサ)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、及びデジタル信号プロセッサ(DSP)として実装されてよい。プロセッサは、入力ポート、受信器ユニット、送信器ユニット、出力ポート、及びメモリと通信する。プロセッサは、符号化モジュールを含む。符号化モジュールは、上述の開示された実施形態を実装する。例えば、符号化モジュールは、様々なネットワーキング機能を実装、処理、準備、又は提供する。したがって、符号化モジュールを含むことで、ネットワークデバイスの機能が著しく向上し、ネットワークデバイスを異なる状態に変換させる。あるいは、符号化モジュールは、メモリに格納され且つプロセッサにより実行される命令として実装される。
【0334】
メモリは、1つ又は複数のディスク、テープドライブ、及びソリッドステートドライブを含み、オーバフローデータ記憶デバイスとして用いられ、プログラムを格納し(そのようなプログラムは実行のために選択される)、またプログラムを実行する際に読み出される命令及びデータを格納してよい。メモリは、揮発性及び/又は不揮発性であってよく、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、三値連想メモリ(TCAM)、及び/又はスタティックランダムアクセスメモリ(SRAM)であってよい。
【0335】
図10は、様々な実施形態を実装するのに用いられ得る装置1500のブロック図である。装置1500は、
図1に示す送信元デバイス12であっても、
図2に示す映像符号化器20であっても、
図1に示す送信先デバイス14であっても、
図3に示す映像復号器30であってもよい。さらに、装置1500は、説明した要素のうちの1つ又は複数を提供できる。一部の実施形態では、装置1500は、スピーカ、マイク、マウス、タッチスクリーン、キーパッド、キーボード、プリンタ、及びディスプレイなどの、1つ又は複数の入力/出力デバイスを備えている。装置1500は、1つ又は複数の中央演算処理装置(CPU)1510、メモリ1520、大容量記憶装置1530、映像アダプタ1540、及びバスに接続されたI/Oインタフェース1560を含んでよい。バスは、メモリバス若しくはメモリコントローラ、ペリフェラルバス、又はビデオバスなどを含むあらゆるタイプのいくつかのバスアーキテクチャのうちの1つ又は複数である。
【0336】
CPU1510は、任意のタイプの電子データプロセッサを有してよい。メモリ1520は、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、同期DRAM(SDRAM)、リードオンリメモリ(ROM)、又はこれらの組み合わせなどの、任意のタイプのシステムメモリを有しても、このような任意のタイプのシステムメモリであってもよい。一実施形態において、メモリ1520は、起動時に使用するROMと、プログラム実行中に用いるプログラム及びデータを格納するDRAMとを含んでよい。複数の実施形態において、メモリ1520は非一時的なメモリである。大容量記憶装置1530は、データ、プログラム、及び他の情報を格納し、バスを介してデータ、プログラム、及び他の情報をアクセス可能にする任意のタイプの記憶デバイスを含む。大容量記憶装置1530は、例えば、ソリッドステートドライブ、ハードディスクドライブ、磁気ディスクドライブ、又は光ディスクドライブなどのうちの1つ又は複数を含む。
【0337】
映像アダプタ1540及びI/Oインタフェース1560は、外付け入出力デバイスを装置1500に結合するインタフェースを提供する。例えば、装置1500は、SQLコマンドインタフェースをクライアントに提供してよい。図示したように、入出力デバイスの例には、映像アダプタ1540に結合されたディスプレイ1590と、I/Oインタフェース1560に結合されたマウス/キーボード/プリンタ1570の任意の組み合わせとが含まれる。他のデバイスが装置1500に結合されてもよく、追加のインタフェースカード又はより少ないインタフェースカードが利用されてもよい。例えば、シリアルインタフェースカード(不図示)が、シリアルインタフェースをプリンタに提供するのに用いられてよい。
【0338】
装置1500は、1つ又は複数のネットワークインタフェース1550も含み、このネットワークインタフェースは、イーサネット(登録商標)ケーブルなどの有線リンク、及び/又はノード若しくは1つ又は複数のネットワーク1580にアクセスするための無線リンクを含む。ネットワークインタフェース1550によって、装置1500がネットワーク1580を介して遠隔ユニットと通信できるようになる。例えば、ネットワークインタフェース1550は、データベースへの通信を提供してよい。一実施形態において、装置1500は、データ処理、及び他の処理ユニットなどの遠隔デバイス、インターネット、又は遠隔記憶設備などとの通信のために、ローカルエリアネットワーク又はワイドエリアネットワークに結合される。
【0339】
所与のブロック内のピクセルを予測するのに必要な加重係数の値を計算するために、区分的線形近似が導入される。区分的線形近似は、一方で、簡単な加重係数計算と比較して距離加重予測メカニズムの計算の複雑さを大幅に低減し、他方では、先行技術の簡略化されたものと比較して加重係数値の精度向上を達成するのに役立つ。
【0340】
実施形態は、他の双方向で位置依存のイントラ予測技法(例えば、PDPCの様々な修正例)、及び、あるピクセルから他のピクセルまでの距離に依存する加重係数を用いて、ピクチャの様々な部分をブレンドするメカニズム(例えば、画像処理における、いくつかのブレンディング方法)に適用されてよい。
【0341】
本開示において説明された主題の実装例及びオペレーションが、デジタル電子回路、又はコンピュータソフトウェア、ファームウェア、又は本開示において開示された構造体及びそれらの構造的均等物を含むハードウェア、又はこれらのうちの1つ又は複数の組み合わせで実装されてもよい。本開示において説明された主題の実装例が、1つ又は複数のコンピュータプログラムとして、すなわちコンピュータプログラム命令の1つ又は複数のモジュールとして実装され、データ処理装置が実行するために、又はデータ処理装置のオペレーションを制御するために、コンピュータ記憶媒体上に符号化されてよい。あるいは又はさらに、プログラム命令は、人工的に発生させた伝搬信号、例えば、データ処理装置が実行するために好適な受信器装置に伝送する情報を符号化するために生成される、機械が発生させた電気信号、光信号、又は電磁信号上に符号化されてよい。コンピュータ記憶媒体、例えば、コンピュータ可読媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムアクセス若しくはシリアルアクセスのメモリアレイ又はデバイス、又はこれらのうちの1つ又は複数の組み合わせであってもよく、又はこれらに含まれてもよい。さらに、コンピュータ記憶媒体は伝搬信号ではないが、コンピュータ記憶媒体は、人工的に発生させた伝搬信号に符号化されたコンピュータプログラム命令の送信元でも送信先でもよい。コンピュータ記憶媒体は、1つ又は複数の別個の物理的及び/又は非一時的コンポーネント又は媒体(例えば、複数のCD、ディスク、又は他の記憶デバイス)であってもよく、又はこれらに含まれてもよい。
【0342】
一部の実装例では、本開示において説明されたオペレーションは、クラウドコンピューティングネットワークのサーバ上で提供されるホステッドサービスとして実装されてよい。例えば、コンピュータ可読記憶媒体は、論理的にグループ化されてよく、またクラウドコンピューティングネットワーク内でアクセス可能であってよい。クラウドコンピューティングネットワーク内のサーバが、クラウドベースのサービスを提供するためのクラウドコンピューティングプラットフォームを含んでよい。「クラウド」、「クラウドコンピューティング」、及び「クラウドベースの」という用語は、本開示の範囲から逸脱することなく、必要に応じて、区別なく用いられてよい。クラウドベースのサービスは、サーバにより提供され、ネットワークを通じてクライアントプラットフォームに送られて、クライアントコンピュータ上でローカルに実行されるアプリケーションを拡張する、補完する、又は置き換える、ホステッドサービスであってよい。回路は、クラウドベースのサービスを用いて、ソフトウェアアップグレード、アプリケーション、及び他のリソースをすぐに受信することができ、クラウドベースのサービスを用いなければ、これらのリソースが回路に送られるまでに長期間を要することになるであろう。
【0343】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られている)が、コンパイラ型言語又はインタプリタ型言語、宣言型言語又は手続き型言語を含む任意の形式のプログラム言語で記述されてよく、またスタンドアローンのプログラムとして、又はモジュール、コンポーネント、サブルーチン、オブジェクト、若しくはコンピューティング環境で用いるのに適した他のユニットとして含む、任意の形式で導入されてよい。コンピュータプログラムは、ファイルシステムのファイルに対応してよいが、そうする必要がなくてもよい。プログラムは、他のプログラム又はデータ(例えば、マークアップ言語の文書に格納された1つ又は複数のスクリプト)を保持するファイルの一部に、対象のプログラムに特化した単一のファイルに、又は複数の協調(coordinated)ファイル(例えば、1つ又は複数のモジュール、サブプログラム、又はコードの一部を格納するファイル)に格納されてよい。コンピュータプログラムは、1つのコンピュータ上で、あるいは1つの場所に位置している又は複数の場所に分散して通信ネットワークで相互接続されている複数のコンピュータ上で実行されるように導入されてよい。
【0344】
本開示において説明される処理フロー及び論理フローは、1つ又は複数のコンピュータプログラムを実行する1つ又は複数のプログラム可能なプロセッサにより実行され、入力データを処理して出力を生成することでアクションが実行されてよい。処理フロー及び論理フローはまた、装置によって実行されてもよく、装置は専用の論理回路として、例えば、FPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)として実装されてもよい。
【0345】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用及び専用のマイクロプロセッサの両方、及び任意の種類のデジタルコンピュータのいずれか1つ又は複数のプロセッサを含む。一般に、プロセッサは、リードオンリメモリ又はランダムアクセスメモリ又はその両方から命令及びデータを受信することになる。コンピュータの基本的な要素は、命令に従ってアクションを実行するプロセッサと、命令及びデータを格納する1つ又は複数のメモリデバイスである。一般に、コンピュータはまた、データを格納する1つ又は複数の大容量記憶デバイス、例えば、磁気ディスク、光磁気ディスク、又は光ディスクを含む、又はこれらの大容量記憶デバイスからデータを受け取る、若しくはこれらの大容量記憶デバイスにデータを移す、又はその両方を行うように動作可能に結合される。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。さらに、コンピュータは、いくつか例を挙げると、例えば、携帯電話、携帯情報端末(PDA)、モバイルオーディオビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信器、又は携帯型記憶デバイス(例えば、ユニバーサルシリアルバス(USB)フラッシュドライブ)といった別のデバイスに組み込まれてもよい。コンピュータプログラム命令及びデータを格納するのに適したデバイスは、あらゆる形式の不揮発性メモリ、媒体、及びメモリデバイスを含み、例として、半導体メモリデバイス(例えば、EPROM、EEPROM、及びフラッシュメモリデバイス)、磁気ディスク(例えば、内蔵ハードディスク又はリムーバブルディスク)、光磁気ディスク、並びにCD-ROMディスク及びDVD-ROMディスクを含む。プロセッサ及びメモリは、専用の論理回路によって補完されても、専用の論理回路に組み込まれてもよい。
【0346】
本開示は多くの具体的な実装の詳細を含むが、これらの詳細は、あらゆる実装例又は請求され得ることの範囲に対する限定と解釈されるべきではなく、むしろ特定の実装例の特定の実装例に固有の特徴に関する説明と解釈すべきである。本開示において、別個の複数の実装例の文脈で説明されている一定の特徴が、組み合わせて単一の実装例に実装されてもよい。反対に、単一の実装例の文脈で説明されている様々な特徴が、複数の実装例に別個に、又は任意の好適部分的組み合わせで実装されてもよい。さらに、複数の特徴が一定の組み合わせで動作するものと上述されることがあり、またそのようなものとして最初に請求されることもあるが、請求した組み合わせからの1つ又は複数の特徴が、場合によっては、その組み合わせから削除されることがあり、請求した組み合わせは、部分的組み合わせ又は部分的組み合わせの変形例を対象にしてもよい。
【0347】
同様に、図面にはオペレーションが特定の順序で示されているが、これは、望ましい結果を実現するために、そのようなオペレーションが、示されている特定の順序で又は順番に行われること、あるいは示されている全てのオペレーションが行われることが必要であると理解されるべきではない。一定の状況では、マルチタスキング及び並列処理が有利になることがある。さらに、上述した実装例における様々なシステムコンポーネントの分割は、そのような分割があらゆる実装例で必要とされるものと理解されるべきではなく、説明したプログラムコンポーネント及びシステムが一般に、単一のソフトウェア製品に共に統合されても、複数のソフトウェア製品にパッケージ化されてもよいことを理解されたい。
【0348】
したがって、主題の特定の実装例が説明されている。他の実装例も、以下の特許請求の範囲の範囲内に入る。場合によっては、特許請求の範囲に列挙したアクションは、異なる順序で行われてもよく、依然として望ましい結果を実現し得る。さらに、添付図面に示した処理は、望ましい結果を実現するために、示されている特定の順序又は順番を必ずしも必要とするものではない。特定の実装例では、マルチタスキング及び並列処理が有利になることがある。
【0349】
いくつかの実施形態が本開示において提供されているが、開示されたシステム及び方法は、本開示の精神又は範囲から逸脱することなく、多くの他の特定の形式で具現化され得ることを理解されたい。本例は、例示的であって限定的ではないとみなされるべきであり、本明細書に与えられた詳細を限定する意図はない。例えば、様々な要素又はコンポーネントは、別のシステムに組み込まれても統合されてもよく、又は、一定の特徴が省略されても、実装されなくてもよい。
【0350】
さらに、様々な実施形態において別個のもの又は独立したものとして説明され示された技法、システム、サブシステム、及び方法が、本開示の範囲から逸脱することなく、他のシステム、モジュール、技法、又は方法と組み合わされても統合されてもよい。互いに結合される、互いに直接結合される、又は互いに通信するものとして示され説明された他の要素が、電気的であれ、機械的であれ、又は別の方法であれ、何らかのインタフェース、デバイス、又は中間コンポーネントを介して間接的に結合されても、通信してもよい。他の変更例、置換例、及び代替例が、当業者によって確かめられ、本明細書に開示された精神及び範囲から逸脱することなく、これらの例を行うことができる。
【外国語明細書】