(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-24
(45)【発行日】2023-12-04
(54)【発明の名称】L字型パーティション分割ツリーを用いたイントラコーディング
(51)【国際特許分類】
H04N 19/593 20140101AFI20231127BHJP
H04N 19/119 20140101ALI20231127BHJP
H04N 19/176 20140101ALI20231127BHJP
H04N 19/182 20140101ALI20231127BHJP
【FI】
H04N19/593
H04N19/119
H04N19/176
H04N19/182
(21)【出願番号】P 2022519448
(86)(22)【出願日】2020-11-09
(86)【国際出願番号】 US2020059705
(87)【国際公開番号】W WO2021206754
(87)【国際公開日】2021-10-14
【審査請求日】2022-03-28
(32)【優先日】2020-04-09
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-08-14
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジャオ,シン
(72)【発明者】
【氏名】ジャオ,リアン
(72)【発明者】
【氏名】リィウ,シャン
【審査官】岩井 健二
(56)【参考文献】
【文献】特開2010-171729(JP,A)
【文献】米国特許出願公開第2020/0099925(US,A1)
【文献】米国特許出願公開第2019/0020888(US,A1)
【文献】米国特許出願公開第2017/0353730(US,A1)
【文献】米国特許出願公開第2017/0244964(US,A1)
【文献】米国特許出願公開第2014/0192876(US,A1)
【文献】国際公開第2017/190288(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサによって実行される方法であって、当該方法は、
ビデオデータのブロックを取得するステップと、
前記ブロックをL字型パーティション及び第2のパーティションに分割するステップであって、前記第2のパーティションは長方形パーティション及び別のL字型パーティションのうちの1つである、分割するステップと、
再構成した隣接サンプルのチェーンを含む参照サンプルチェーンを参照サンプルとして使用して、前記L字型パーティションのイントラ予測を行うステップと、を含み、
前記チェーンには、前記L字型パーティションに隣接する再構成したサンプルからの複数の水平参照線と複数の垂直参照線との両方が含まれ、
前記複数の水平参照線のうちの1つの水平参照線及び前記複数の垂直参照線のうちの1つの垂直参照線が、前記ブロック内にある、
方法。
【請求項2】
前記複数の垂直参照線のうちの第1の垂直参照線は、前記複数の水平参照線のうちの第1の水平参照線に直接接続されており、
前記複数の水平参照線のうちの前記第1の水平参照線は、前記複数の垂直参照線のうちの第2の垂直参照線に直接接続されており、
前記複数の垂直参照線のうちの前記第2の垂直参照線は、前記複数の水平参照線のうちの第2の水平参照線に直接接続されており、
前記複数の水平参照線のうちの前記第1の水平参照線及び前記複数の垂直参照線のうちの前記第2の垂直参照線は、前記ブロック内にあり、
前記複数の垂直参照線のうちの前記第1の垂直参照線及び前記複数の水平参照線のうちの前記第2の水平参照線は、前記ブロックの外側にある、請求項
1に記載の方法。
【請求項3】
少なくとも1つの前記水平参照線の少なくとも1つのサンプルを、前記ブロックに沿った左側の列にマッピングするステップと、
少なくとも1つの前記垂直参照線の少なくとも1つのサンプルを、前記ブロックに沿った上部の行にマッピングするステップと、をさらに含む、請求項
1に記載の方法。
【請求項4】
少なくとも1つの前記水平参照線の少なくとも1つのサンプルを、前記ブロックに沿った上部の行にマッピングするステップと、
少なくとも1つの前記垂直参照線の少なくとも1つのサンプルを、前記ブロックに沿った前記上部の行にマッピングするステップと、をさらに含む、請求項
1に記載の方法。
【請求項5】
前記イントラ予測を行うステップは、前記L字型パーティションのサンプルを、前記参照サンプルチェーンの垂直側及び水平側の少なくとも一方に投影するステップを含む、請求項1乃至
4のいずれか一項に記載の方法。
【請求項6】
双方向予測モードを有効にするステップと、
前記双方向予測モードにおいて、前記参照サンプルチェーンの第1の部分及び第2の部分の加重和を利用して、前記第2のパーティションの現在のブロックの予測子を生成するステップと、をさらに含み、
前記参照サンプルチェーンの前記第1の部分及び前記第2の部分は、前記現在のブロックに隣接しておらず、
前記参照サンプルチェーンの前記第1の部分及び前記第2の部分は、それぞれ、前記現在のブロックの右側及び左側にある、請求項1乃至
5のいずれか一項に記載の方法。
【請求項7】
前記参照サンプルチェーンの前記第1の部分は、前記現在のブロックの右側と上部との両方にあり、
前記参照サンプルチェーンの前記第2の部分は、前記現在のブロックの左側と下部との両方にある、請求項
6に記載の方法。
【請求項8】
前記参照サンプルチェーンの前記第1の部分及び前記第2の部分のうちの第1のものは、前記ブロック内にあり、
前記参照サンプルチェーンの前記第1の部分及び前記第2の部分のうちの第2のものは、前記ブロックの外側にある、請求項
7に記載の方法。
【請求項9】
前記L字型パーティションは、第1の側と、該第1の側とは反対側の第2の側とを含み、
前記第1の側には、前記第2の側よりも高い高さが含まれ、
前記L字型パーティションは、第3の側と、該第3の側とは反対の第4の側とをさらに含み、
前記第3の側には、前記第4の側よりも大きい幅が含まれる、請求項1乃至
8のいずれか一項に記載の方法。
【請求項10】
機器であって、当該機器は、
コンピュータプログラムコードを格納するように構成された少なくとも1つのメモリと、
前記コンピュータプログラムコードにアクセスし、該コンピュータプログラムコードによって指示されるように動作するように構成された少なくとも1つのハードウェアプロセッサと、を含み、
該プロセッサが、前記コンピュータプログラムコードの指示に従って、請求項1乃至
9のいずれか一項に記載の方法を実行する
、
機器。
【請求項11】
コンピュータにプロセスを実行させるプログラムを格納する非一時的なコンピュータ可読媒体であって、前記プログラムが前記コンピュータのプロセッサによって実行されると、前記プロセッサに、請求項1乃至
9のいずれか一項に記載の方法を実行させる、
非一時的なコンピュータ可読媒体。
【請求項12】
コンピュータ可読命令を使用したコンピュータソフトウェアであって、前記コンピュータ可読命令がコンピュータのプロセッサによって実行されると、前記プロセッサに、請求項1乃至
9のいずれか一項に記載の方法を実行させる、
コンピュータソフトウェア。
【請求項13】
コンピュータプログラムであって、前記コンピュータプログラムがコンピュータのプロセッサによって実行されると、前記プロセッサに、請求項1乃至
9のいずれか一項に記載の方法を実行させる、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
本願は、2020年4月9日に出願された米国仮特許出願第63/007,852号、及び2020年8月14日に出願された米国特許出願第16/993,491号からの優先権を主張するものであり、これらの文献の全体が本明細書に組み込まれる。
【0002】
分野
本開示は、先進の画像及びビデオコーディング技術のセットを対象としており、例示的な実施形態によれば、より具体的には、1つ又は複数のL字型パーティション分割ツリーを用いたイントラコーディングスキームを対象としている。
【背景技術】
【0003】
関連技術の説明
AOMedia Video1(AV1)は、インターネットを介したビデオ送信のために設計されたオープンビデオコーディングフォーマットであり、半導体企業、ビデオオンデマンドプロバイダ、ビデオコンテンツプロデューサ、ソフトウェア開発会社、及びWebブラウザベンダを含む2015年に設立されたコンソーシアムであるAOMedia(Alliance for Open Media)によってVP9の後継として開発された。AV1プロジェクトのコンポーネントの多くは、アライアンスメンバーによる以前の研究努力から提供された。個々のコントリビュータ(contributor)は数年前に実験的な技術プラットフォームを開始した。Xiph/MozillaのDaalaは2010年に既にコードを公開し、Googleの実験的なVP9進化プロジェクトVP10は2014年9月12日に発表され、CiscoのThorは2015年8月11日に公開された。VP9のコードベースに基づいて、AV1には追加の技術が組み込まれ、そのいくつかはこれらの実験フォーマットで開発された。AV1リファレンスコーデックの最初のバージョン0.1.0は、2016年4月7日に公開された。アライアンスは、参照、ソフトウェアベースのエンコーダ及びデコーダとともに、2018年3月28日にAV1ビットストリーム仕様のリリースを発表した。2018年6月25日に、仕様の検証済みバージョン1.0.0がリリースされ、2019年1月8日に、仕様のエラッタ1を含む検証済みバージョン1.0.0がリリースされた。AV1ビットストリーム仕様には、参照ビデオコーデックが含まれている。
【0004】
図10Aは、VP9を用いたブロックパーティション分割の態様の簡略化したブロック
図1000を表しており、これは、ブロック1001のブロック1002における64×64レベルから開始して4×4レベルまで(ブロック8×8にいくつかの追加の制限を加え、レベル1003より下での)4ウェイパーティションツリーを使用する。例示的な実施形態によれば、Rとして指定されたパーティションは、同じパーティションツリーが最低の4×4レベルに達するまでより低いスケールで繰り返され得るという点で、再帰的と呼ばれ得ることに留意されたい。
【0005】
図10Bは、AV1を用いたブロックパーティション分割の態様の簡略化したブロック
図1010を表しており、これは、
図10Bに示されるようにレベル1004においてそのようなパーティションツリーを10ウェイ構造に拡張するだけでなく、ブロック1020のブロック1021において128×128から開始する最大サイズも大きくする(VP9/AV1用語ではスーパーブロックと呼ばれる)。レベル1004には、上記のようにVP9には存在しなかった4:1/1:4の長方形パーティションが含まれ、例示的な実施形態によれば、長方形パーティションのいずれもさらに再分割できないことに留意されたい。さらに、AV1は、例えば、特定の場合に2×2クロマインター予測が可能になるという意味で、8×8レベル未満のパーティションの使用にさらに柔軟性を追加する。
【0006】
HEVCを用いた実施形態によれば、コーディングツリーユニット(CTU)は、様々なローカル特性に適応するためにコーディングツリーとして示される四分木構造を使用して、コーディングユニット(CU)に分割される。画像間(inter-picture:インターピクチャ)(時間的)又は画像内(intra
picture:イントラピクチャ)(空間的)予測を使用してピクチャ領域をコーディングするかどうかの決定は、CUレベルで行われる。各CUは、PU分割タイプに応じて、さらに1つ、2つ、又は4つの予測ユニット(PU)に分割することができる。1つのPU内で、同じ予測プロセスが適用され、関連情報がPUベースでデコーダに送信される。PU分割タイプに基づく予測プロセスを適用して残余ブロックを取得した後に、CUのコーディングツリーのような別の四分木構造に従って、CUを変換ユニット(TU)にパーティション分割することができる。HEVC構造の重要な特徴の1つは、CU、PU、及びTUを含む複数のパーティションの概念があることである。HEVCでは、CU又はTUは正方形のみであるが、インター予測ブロックの場合に、PUは正方形又は長方形にすることができる。HEVCでは、1つのコーディングブロックをさらに4つの正方形のサブブロックに分割することができ、変換は各サブブロック、すなわちTUに対して実行される。各TUは、(四分木分割を使用して)再帰的にさらに小さなTUに分割することができ、これは、残余四分木(RQT)と呼ばれる。
【0007】
ピクチャ境界では、HEVCは暗黙的な四分木分割を採用しているため、サイズがピクチャ境界に適合するまでブロックは四分木分割を続ける。
【0008】
図11Aは、含まれるマルチタイプツリー(MTT)構造1101に関する簡略化したブロック
図1100VVCを表しており、このMTTは、例示した四分木(QT)と、ネスト化した二分木(BT)及び三分木(トリプル/ターナリーツリー)(TT)との組合せである。CTU又はCUは、最初にQTによって再帰的に正方形ブロックにパーティション分割される。次に、各QTリーフをBT又はTTによってさらにパーティション分割することができ、この場合に、BT及びTTの分割を再帰的に適用してインターリーブさせることができるが、それ以上のQTパーティション分割を適用することができない。関連する全ての提案において、TTは、長方形ブロックを垂直方向又は水平方向に1:2:1の比で3つのブロックに分割する(こうして、2の累乗以外の幅及び高さを回避する)。パーティションエミュレーション防止のために、追加の分割制約が、典型的に、
図11Bの簡略化した
図1102に示されるように、MTTに対して、ブロック1103(クワッド)、1104(バイナリ、JEM)、及び1105(ターナリ)に関するVVCのQT-BT-TTブロックパーティション分割に課され、パーティションの重複を回避する(例えば、垂直方向/水平方向の3分木分割の結果として、中央のパーティションに対して垂直方向/水平方向の2分木分割を禁止する)。BT及びTTの最大深度に更なる制限が設定され得る。
【0009】
VP9は、45~207°の角度に対応する8つの指向性(directional:方向性)モードをサポートする。指向性テクスチャでより多様な空間冗長性を活用するために、AV1では、指向性イントラモードが、より細かい粒度で設定された角度に拡張される。元の8つの角度は僅かに変更され、公称角度として作成される。これらの8つの公称角度は、V_PRED1401、H_PRED1402、D45_PRED1403、D135_PRED1404、D113_PRED1405、D157_PRED1406、D203_PRED1407、及びD67_PRED1408と呼ばれ、これは、AVIのイントラ予測モード、より具体的にはAVIの方向性イントラ予測に関する
図14の簡略化した
図1400に示されている。各公称角度について、実施形態に応じて7つのより細かい角度が存在し得るので、AV1には、合計で56個の指向性角度がある。予測角度は、公称イントラ角に角度デルタを加えたもので表され、これは、-3~3で、3°のステップサイズを乗算する。AV1では、5つの非角度スムーズモードとともに8つの公称モードが最初に通知され、次に現在のモードが角度モードである場合に、対応する公称角度に対する角度デルタを示すインデックスがさらに通知される。一般的な方法でAV1の指向性予測モードを実装するために、AV1の56個の指向性イントラ予測モードは全て、各ピクセルを参照サブピクセル位置に投影し、参照ピクセルを2タップのバイナリフィルタで補間する統合指向性予測器を使用して実装される。
【0010】
AV1には、DC、PAETH、SMOOTH、SMOOTH_V、及びSMOOTH_Hの5つの無指向性の滑らかなイントラ予測モードがある。DC予測の場合に、左側及び上部(above)の隣接サンプルの平均が、予測されるブロックの予測子として使用される。PAETH予測子の場合に、最初に上部(top)、左側、及び左上の参照サンプルがフェッチされ、次に(上部+左側-左上)に最も近い値が、予測されるピクセルの予測子として設定される。AVIの無指向性の滑らかなイントラ予測子に関する
図15の簡略化したブロック
図1500を使用すると、現在のブロックの1つのピクセルに対して上部、左側、及び左上のサンプルの位置が示されている。SMOOTH、SMOOTH_V、及びSMOOTH_Hモードの場合に、垂直方向又は水平方向、或いは両方向の平均による2次補間を使用したブロックの予測がある。
【0011】
エッジ上のリファレンスとの減衰する空間的相関を取り込むために、フィルタイントラモードがルマブロックのために設計されている。AV1には5つのフィルタイントラモードが規定されており、それぞれが、4×2パッチのピクセルとそのパッチに隣接する7つの隣接ピクセルとの間の相関を反映する8つの7タップフィルタのセットによって表される。換言すると、7タップフィルタの重み係数は位置に依存する。8×8ブロックを例にとると、それは8つの4×2パッチに分割され、これは、再帰的フィルタリングベースのイントラ予測子の特徴に関する
図16の簡略化したブロック
図1600に関して示されている。これらのパッチは、
図16にB0、B1、B2、B3、B4、B5、B6、及びB7によって示される。各パッチについて、R0~R7で示される7つの隣接ピクセルを使用して、現在のパッチのピクセルを予測する。パッチB0の場合に、全ての隣接(ピクセル)は既に再構成されている。ただし、他のパッチの場合に、全ての隣接(ピクセル)が再構成されているわけではなく、直ぐ隣(のピクセル)の予測値が参照として使用される。例えば、パッチB7の全ての隣接ピクセルが再構成されていないので、実施形態によれば、隣接パッチ(すなわち、B5及びB6)の予測サンプルが代わりに使用される。
【0012】
CfL(Chroma from Luma)は、クロマピクセルを、一致する再構成したルマピクセルの線形関数としてモデル化するクロマのみのイントラ予測子である。CfL予測は次のように表される。
CfL(α)=α×LAC+DC (式1)
ここで、LACはルマ成分のAC寄与を示し、αは線形モデルのパラメータを示し、DCはクロマ成分のDC寄与を示している。具体的には、再構成したルマピクセルがクロマ解像度にサブサンプリングされ、次に平均値が差し引かれ、AC寄与が形成される。AC寄与からクロマAC成分を概算するために、いくつかの従来技術のようにデコーダにスケーリングパラメータを計算させる代わりに、AV1 CfLは、元のクロマピクセルに基づいてパラメータαを決定し、ビットストリームでそれらに通知する。これにより、デコーダの複雑さが軽減され、より正確な予測が可能になる。クロマコンポーネントのDC寄与に関しては、殆どのクロマコンテンツに十分であり、成熟した高速実装を備えたイントラDCモードを使用して計算される。
【0013】
マルチラインのイントラ予測は、イントラ予測により多くの参照線を使用するために提案され、エンコーダは、どの参照線を使用してイントラ予測子を生成するかを決定し、信号通知する。参照線インデックスは、イントラ予測モードの前に通知され、ゼロ以外の参照線インデックスが通知された場合に、最も可能性の高いモードのみが許可される。
図17に示されるマルチライン・イントラ予測モードに関して簡略化した
図1700に示されるように、4つの参照線(参照線0(1711)、参照線1(1712)、参照線2(1713)、及び参照線3(1714))の例が示され、各参照線は、4つのセグメント、すなわち、セグメントA(1701)、セグメントB(1702)、セグメントC(1703)、セグメントD(1704)から構成される。さらに、理解を容易にするために、異なる参照線で再構成したサンプルは、
図17の異なるパターンで塗りつぶされており、マルチラインのイントラ予測モードは、マルチ参照線予測(MRLP)モードとも呼ばれ得る。
【0014】
本明細書でより完全に説明する(例えば、本明細書の他の図の中で
図12を用いて)L字型パーティションでは、1つ又は複数の再構成した隣接サンプルも、右側及び/又は下(bottom)部のいずれかから利用可能であり得、これは、予測を行うために上部及び左側の参照サンプルを使用するイントラ予測スキームと完全に互換性がない場合がある。さらに、L字型パーティションでは、隣接する参照サンプルがもはや直線を形成しなくなり得るため、マルチ参照線予測(MRLP)とL字型パーティションとの両方の機能を同時に作成するには、MRLPとL字型パーティションとの間の調和に対処する必要があり得る。
【0015】
従って、そのような問題に対する技術的解決策が望まれている。
【発明の概要】
【0016】
コンピュータプログラムコードを格納するように構成されたメモリと、コンピュータプログラムコードにアクセスし、コンピュータプログラムコードによって指示されるように動作するように構成された1つ又は複数のハードウェアプロセッサとを含む方法及び機器が提供される。コンピュータプログラム選択コードは、プロセッサに、コンピュータプログラムコードを実装させるように構成され、コンピュータプログラムコードは、プロセッサに、ビデオデータのブロックを取得させるように構成された取得コードと;プロセッサに、ブロックをL字型パーティション及び第2のパーティションに分割させるように構成された分割コードであって、第2のパーティションは長方形パーティション及び別のL字型パーティションのうちの1つである、分割コードと;プロセッサに、再構成した隣接サンプルのチェーンを含む参照サンプルチェーンを参照サンプルとして使用して、L字型パーティションのイントラ予測を行うように構成された実行コードと;をプロセッサに実装させるように構成される。
【0017】
例示的な実施形態によれば、チェーンには、L字型パーティションに隣接する再構成したサンプルからの複数の水平参照線と複数の垂直参照線との両方が含まれる。
【0018】
例示的な実施形態によれば、複数の垂直参照線のうちの第1の垂直参照線は、複数の水平参照線のうちの第1の水平参照線に直接接続されており、複数の水平参照線のうちの第1の水平参照線は、複数の垂直参照線のうちの第2の垂直参照線に直接接続されており、複数の垂直参照線のうちの第2の垂直参照線は、複数の水平参照線のうちの第2の水平参照線に直接接続されており、複数の水平参照線のうちの第1の水平参照線及び複数の垂直参照線のうちの第2の垂直参照線は、ブロック内にあり、複数の垂直参照線のうちの第1の垂直参照線及び複数の水平参照線のうちの第2の水平参照線は、ブロックの外側にある。
【0019】
例示的な実施形態によれば、コンピュータプログラム選択コードは、プロセッサに、コンピュータプログラムコードを実装させるようにさらに構成され、コンピュータプログラムコードは、プロセッサに、少なくとも1つの水平参照線の少なくとも1つのサンプルをブロックに沿った左側の列にマッピングさせる、及び少なくとも1つの垂直参照線の少なくとも1つのサンプルをブロックに沿った上部の行にマッピングさせるように構成されたマッピングコードをプロセッサに実装させるように構成される。
【0020】
例示的な実施形態によれば、コンピュータプログラム選択コードは、プロセッサに、コンピュータプログラムコードを実装させるようにさらに構成され、コンピュータプログラムコードは、プロセッサに、少なくとも1つの水平参照線の少なくとも1つのサンプルをブロックに沿った上部の行にマッピングさせる、及び少なくとも1つの垂直参照線の少なくとも1つのサンプルをブロックに沿った上部の行にマッピングさせるように構成されたマッピングコードをプロセッサに実装させるように構成される。
【0021】
例示的な実施形態によれば、イントラ予測を行うことは、L字型パーティションのサンプルを、参照サンプルチェーンの垂直側及び水平側の少なくとも一方に投影することを含む。
【0022】
例示的な実施形態によれば、コンピュータプログラム選択コードは、プロセッサに、コンピュータプログラムコードを実装させるようにさらに構成され、コンピュータプログラムコードは、プロセッサに、双方向予測モードを有効にさせるように構成された有効化コード;双方向予測モードにおいて、参照サンプルチェーンの第1の部分及び第2の部分の加重和を利用して、第2のパーティションの現在のブロックの予測子を生成するように構成された生成コードと、をプロセッサに実装させるように構成され、参照サンプルチェーンの第1の部分及び第2の部分は、現在のブロックに隣接しておらず、参照サンプルチェーンの第1の部分及び第2の部分は、それぞれ、現在のブロックの右側及び左側にある。
【0023】
例示的な実施形態によれば、参照サンプルチェーンの第1の部分は、現在のブロックの右側と上部との両方にあり、参照サンプルチェーンの第2の部分は、現在のブロックの左側と下部との両方にある。
【0024】
例示的な実施形態によれば、参照サンプルチェーンの第1の部分及び第2の部分のうちの第1のものは、ブロック内にあり、参照サンプルチェーンの第1の部分及び第2の部分のうちの第2のものは、ブロックの外側にある。
【0025】
例示的な実施形態によれば、L字型パーティションは、第1の側と、第1の側とは反対側の第2の側を含み、第1の側には、第2の側よりも高い高さが含まれ、L字型パーティションは、第3の側と、第3の側とは反対側の第4の側とをさらに含み、第3の側には、第4の側よりも大きい幅が含まれる。
【図面の簡単な説明】
【0026】
開示する主題の更なる特徴、性質、及び様々な利点は、以下の詳細な説明及び添付の図面からより明らかになろう。
【発明を実施するための形態】
【0027】
以下で説明する提案する特徴は、個別に使用することも、任意の順序で組み合わせることもできる。さらに、実施形態は、処理回路(例えば、1つ又は複数のプロセッサ、或いは1つ又は複数の集積回路)によって実装され得る。一例では、1つ又は複数のプロセッサは、非一時的なコンピュータ可読媒体に格納されているプログラムを実行する。
【0028】
図1は、本開示の一実施形態による通信システム100の簡略化したブロック図を示している。通信システム100は、ネットワーク105を介して相互接続された少なくとも2つの端末102及び103を含み得る。データの一方向送信の場合に、第1の端末103は、ローカル位置でビデオデータをコード化して、ネットワーク105を介して他の端末102に送信することができる。第2の端末102は、ネットワーク105から他の端末のコード化したビデオデータを受信し、コード化したデータを復号化し、復元したビデオデータを表示することができる。一方向データ送信は、メディアサービス提供アプリケーション等で一般的であり得る。
【0029】
図1は、例えば、ビデオ会議中に発生し得るコード化したビデオの双方向送信をサポートするために提供される端末101及び104の第2のペアを示している。データの双方向送信の場合に、各端末101及び104は、ローカル位置で取り込んだビデオデータをコード化して、ネットワーク105を介して他の端末に送信することができる。各端末101及び104は、他の端末によって送信されるコード化したビデオデータを受信することもでき、コード化したデータを復号化し、復元したビデオデータをローカル表示装置で表示することができる。
【0030】
図1では、端末101、102、103、及び104は、サーバ、パーソナルコンピュータ、及びスマートフォンとして示され得るが、本開示の原理は、そのように限定されるものではない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、及び/又は専用のビデオ会議機器を用いた用途を見出す。ネットワーク105は、端末101、102、103、及び104の間でコード化したビデオデータを伝達する、例えば有線及び/又は無線通信ネットワークを含む任意の数のネットワークを表す。通信ネットワーク105は、回線交換及び/又はパケット交換チャネルでデータを交換することができる。代表的なネットワークには、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、及び/又はインターネットが含まれる。本議論の目的のために、ネットワーク105のアーキテクチャ及びトポロジーは、本明細書で以下に説明しない限り、本開示の動作にとって重要ではない可能性がある。
【0031】
図2は、開示する主題のアプリケーションの例として、ストリーミング環境でのビデオエンコーダ及びデコーダの配置を示している。開示する主題は、例えば、ビデオ会議、デジタルTV、CD、DVD、メモリスティック等を含むデジタル媒体への圧縮ビデオの格納を含む、他のビデオ対応アプリケーションに等しく適用することができる。
【0032】
ストリーミングシステムは、例えば、非圧縮ビデオサンプルストリーム213を作成するビデオソース201、例えばデジタルカメラを含むことができる取込みサブシステム203を含み得る。そのサンプルストリーム213は、符号化したビデオビットストリームと比較した場合に、高データボリュームとして強調され得、カメラ201に結合したエンコーダ202によって処理することができる。エンコーダ202は、以下でより詳細に説明するように、開示する主題の態様を可能にする又は実装するためのハードウェア/ソフトウェア、又はそれらの組合せを含むことができる。符号化したビデオビットストリーム204は、サンプルストリームと比較して低データボリュームとして強調され得るが、将来の使用のためにストリーミングサーバ205に格納され得る。1つ又は複数のストリーミングクライアント212及び207は、ストリーミングサーバ205にアクセスして、符号化したビデオビットストリーム204のコピー208及び206を取得(retrieve:検索)することができる。クライアント212は、符号化したビデオビットストリーム208の着信コピーを復号化し、ディスプレイ209又は他のレンダリング装置(図示せず)上でレンダリングされ得る発信ビデオサンプルストリーム210を作成するビデオデコーダ211を含む。一部のストリーミングシステムでは、ビデオビットストリーム204、206、及び208は、特定のビデオコーディング/圧縮規格に従って符号化することができる。これらの規格の例は上記に記載しており、本明細書でさらに説明する。
【0033】
図3は、本発明の実施形態によるビデオデコーダ300の機能ブロック図であり得る。
【0034】
受信機302は、デコーダ300によって復号化される1つ又は複数のコーデックビデオシーケンス、同じ又は別の実施形態では、一度に1つのコード化したビデオシーケンスを受信することができ、各コード化したビデオシーケンスの復号化は、他のコード化したビデオシーケンスから独立している。コード化したビデオシーケンスは、チャネル301から受信することができ、チャネル301は、符号化したビデオデータを格納するストレージ装置へのハードウェア/ソフトウェアリンクであり得る。受信機302は、他のデータ、例えば、コード化した音声データ及び/又は補助データストリームと共に符号化したビデオデータを受信することができ、これらは、それぞれの使用エンティティ(図示せず)に転送され得る。受信機302は、コード化したビデオシーケンスを他のデータから分離することができる。ネットワークジッターに対抗するために、バッファメモリ303が、受信機302とエントロピーデコーダ/パーサ304(以降「パーサ」)との間に結合され得る。受信機302が、十分な帯域幅及び可制御性のストア装置/転送装置から、又は等同期ネットワークからデータを受信しているときに、バッファ303は必要でないか、又は小さい可能性がある。インターネット等のベストエフォートパケットネットワークで使用するには、バッファ303が必要になる場合があり、比較的大きくなる可能性があり、適応サイズを有利にすることができる。
【0035】
ビデオデコーダ300は、エントロピーコード化ビデオシーケンスからシンボル313を再構成するためのパーサ304を含み得る。これらのシンボルのカテゴリには、デコーダ300の動作を管理するために使用される情報、及びデコーダの一体的な部分ではないがそのデコーダに結合することができるディスプレイ312等のレンダリング装置を制御するための潜在的な情報が含まれる。レンダリング装置の制御情報は、補足拡張情報(SEIメッセージ)又はビデオユーザビリティ情報(VUI)パラメータセットフラグメント(図示せず)の形式であり得る。パーサ304は、受信したコード化ビデオシーケンスを解析/エントロピー復号化することができる。コード化したビデオシーケンスのコーディングは、ビデオコーディング技術又は規格に従うことができ、可変長コーディング、ハフマンコーディング、コンテキスト感度の有無にかかわらない算術コーディング等を含む、当業者によく知られた原理に従うことができる。パーサ304は、グループに対応する少なくとも1つのパラメータに基づいて、コード化したビデオシーケンスから、ビデオデコーダ内のピクセルのサブグループの少なくとも1つについてサブグループパラメータのセットを抽出することができる。サブグループには、GOP(Group of Picture)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)等を含めることができる。エントロピーデコーダ/パーサは、コード化したビデオシーケンス情報から、変換係数、量子化器パラメータ値、動きベクトル等を抽出することもできる。
【0036】
パーサ304は、バッファ303から受信したビデオシーケンスに対してエントロピー復号化/解析操作を実行して、シンボル313を作成することができる。パーサ304は、符号化データを受信し、特定のシンボル313を選択的に復号化することができる。さらに、パーサ304は、特定のシンボル313が、動き補償予測ユニット306、スケーラ/逆変換ユニット305、イントラ予測ユニット307、又はループフィルタ311に提供すべきかどうかを決定することができる。
【0037】
シンボル313の再構成は、コード化したビデオピクチャ又はその一部のタイプ(例えば、インターピクチャ(画像間)及びイントラピクチャ(画像内)、インターブロック(ブロック間)及びイントラブロック(ブロック内))、及び他の要因に応じて、複数の異なるユニットを含むことができる。どのユニットが関与し、どのように関与するかは、パーサ304によってコード化したビデオシーケンスから解析されたサブグループ制御情報によって制御することができる。パーサ304と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは、明確にするために示していない。
【0038】
既に述べた機能ブロックを超えて、デコーダ300は、以下に説明するように、概念的にいくつかの機能ユニットに細分化(sub-divide:再分割)することができる。商業的制約の下で動作する実際の実施態様では、これらのユニットの多くは、互いに密接に相互作用しており、少なくとも部分的には互いに統合することができる。しかしながら、開示する主題を説明するために、以下の機能単位への概念的な細分化が適切である。
【0039】
第1のユニットは、スケーラ/逆変換ユニット305である。スケーラ/逆変換ユニット305は、量子化した変換係数だけでなく、使用する変換、ブロックサイズ、量子化係数、量子化スケーリング行列等を含む制御情報を、パーサ304からのシンボル313として受信する。それ(スケーラ/逆変換ユニット305)は、アグリゲータ310に入力することができるサンプル値を含むブロックを出力することができる。
【0040】
場合によっては、スケーラ/逆変換305の出力サンプルは、イントラコード化ブロック、つまり、以前に再構成したピクチャからの予測情報を使用していないが、現在のピクチャの以前に再構成した部分からの予測情報を使用することができるブロックに関係する可能性がある。そのような予測情報は、イントラピクチャ予測ユニット307によって提供することができる。場合によっては、イントラピクチャ予測ユニット307は、現在(部分的に再構成した)ピクチャ309からフェッチした既に再構成した周囲の情報を使用して、再構成の中のブロックと同じサイズ及び形状のブロックを生成する。場合によっては、アグリゲータ310は、サンプル毎に、イントラ予測ユニット307が生成した予測情報を、スケーラ/逆変換ユニット305によって提供される出力サンプル情報に追加する。
【0041】
他の場合には、スケーラ/逆変換ユニット305の出力サンプルは、インターコード化され、潜在的に動き補償されたブロックに関係する可能性がある。そのような場合に、動き補償予測ユニット306は、参照ピクチャメモリ308にアクセスして、予測に使用されるサンプルをフェッチすることができる。ブロックに関連するシンボル313に従ってフェッチされたサンプルを動き補償した後に、これらのサンプルは、アグリゲータ310によって、スケーラ/逆変換ユニットの出力(この場合、残余サンプル又は残余信号と呼ばれる)に追加され、出力サンプル情報を生成することができる。動き補償ユニットが予測サンプルをフェッチする参照ピクチャメモリ内のアドレスは、動きベクトルによって制御することができ、例えば、X、Y、及び参照ピクチャ成分を有することができるシンボル313の形式で動き補償ユニットに利用可能になる。動き補償には、サブサンプルの正確な動きベクトルが使用されているときに参照ピクチャメモリからフェッチされたサンプル値の補間、動きベクトル予測メカニズム等も含まれる。
【0042】
アグリゲータ310の出力サンプルは、ループフィルタユニット311において様々なループフィルタリング技術の対象となり得る。ビデオ圧縮技術は、インループ(in-loop)フィルタ技術を含むことができ、インループフィルタ技術は、コード化したビデオビットストリームに含まれ、パーサ304からのシンボル313としてループフィルタユニット311に利用可能されるパラメータによって制御されるが、コード化したピクチャ又はコード化したビデオシーケンスの以前の(復号化順序で)部分の復号化中に得られたメタ情報に応答すること、及び以前に再構成したループフィルタリングしたサンプル値にも応答することもできる。
【0043】
ループフィルタユニット311の出力は、レンダリング装置312に出力され得るだけでなく、将来のインターピクチャ予測で使用するために、参照ピクチャメモリ557に格納され得るサンプルストリームであり得る。
【0044】
特定のコード化したピクチャは、完全に再構成されると、将来の予測のための参照ピクチャとして使用することができる。コード化したピクチャが完全に再構成され、コード化したピクチャが(例えば、パーサ304によって)参照ピクチャとして識別されると、現在の参照ピクチャ309は、参照ピクチャバッファ308の一部になることができ、次のコード化したピクチャの再構成を開始する前に、新しい現在のピクチャメモリを、再割り当てすることができる。
【0045】
ビデオデコーダ300は、ITU-T RecH.265等の規格に文書化され得る所定のビデオ圧縮技術に従って復号化動作を実行することができる。コード化したビデオシーケンスは、ビデオ圧縮技術又は規格の構文に準拠しているという意味で、ビデオ圧縮技術又は規格で指定され且つその中で特にプロファイル文書で指定されるように、使用されるビデオ圧縮技術又は規格で指定された構文に準拠することができる。また、コンプライアンスのために必要なのは、コード化したビデオシーケンスの複雑さが、ビデオ圧縮技術又は規格のレベルによって規定した範囲内にあることである。場合によっては、レベルによって、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えば、1秒あたりメガサンプルで測定される)、最大参照ピクチャサイズ等が制限される。場合によっては、レベルによって設定された制限は、仮想参照デコーダ(HRD)の仕様と、コード化したビデオシーケンスで通知されるHRDバッファ管理のメタデータとによってさらに制限されることがある。
【0046】
一実施形態では、受信機302は、符号化したビデオとともに追加の(冗長な)データを受信することができる。追加のデータは、コード化したビデオシーケンスの一部として含まれる場合がある。ビデオデコーダ300が追加のデータを使用して、データを適切に復号化する及び/又は元のビデオデータをより正確に再構成することができる。追加のデータは、例えば、時間的、空間的、又は信号対雑音比(SNR)の拡張(enhancement)層、冗長スライス、冗長ピクチャ、前方誤り訂正コード等の形式にすることができる。
【0047】
図4は、本開示の一実施形態によるビデオエンコーダ400の機能ブロック図であり得る。
【0048】
エンコーダ400は、エンコーダ400によってコード化されるビデオ画像を取り込むことができるビデオソース401(エンコーダの一部ではない)からビデオサンプルを受信することができる。
【0049】
ビデオソース401は、エンコーダ(303)によってコード化されるソースビデオシーケンスを、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、・・・)、任意の色空間(例えば、BT.601 Y CrCB、RGB、・・・)、及び任意の適切なサンプリング構造(例えば、Y CrCB4:2:0、Y CrCB4:4:4)であり得るデジタルビデオサンプルストリームの形式で提供することができる。メディアサービス提供システムでは、ビデオソース401は、以前に準備したビデオを格納するストレージ装置であり得る。ビデオ会議システムでは、ビデオソース401は、ローカル画像情報をビデオシーケンスとして取り込むカメラであり得る。ビデオデータは、順番に見たときに動きを与える複数の個別のピクチャとして提供することができる。ピクチャ自体は、ピクセルの空間アレイとして編成することができ、各ピクセルは、使用中のサンプリング構造、色空間等に応じて、1つ又は複数のサンプルを含むことができる。当業者は、ピクセルとサンプルとの間の関係を容易に理解することができる。以下の説明はサンプルに焦点を当てている。
【0050】
一実施形態によれば、エンコーダ400は、ソースビデオシーケンスのピクチャを、リアルタイムで、又はアプリケーションによって必要とされる他の任意の時間的制約の下で、コード化したビデオシーケンス510にコード化及び圧縮することができる。適切なコーディング速度を強制することは、コントローラ402の1つの機能である。コントローラは、以下で説明するように他の機能ユニットを制御し、これらのユニットに機能的に結合される。結合は、明確にするために描かれていない。コントローラによって設定されるパラメータには、レート制御関連のパラメータ(ピクチャスキップ、量子化器、レート歪み最適化手法のラムダ値等)、ピクチャサイズ、GOP(Group of Picture)レイアウト、最大動きベクトル検索範囲等が含まれ得る。当業者は、特定のシステム設計のために最適化したビデオエンコーダ400に関係し得るので、コントローラ402の他の機能を容易に特定することができる。
【0051】
一部のビデオエンコーダは、当業者が「コーディング・ループ」として容易に認識できるもので動作する。過度に単純化した説明として、コーディング・ループは、エンコーダ402(以下、「ソースコーダ」)の符号化部分(コード化される入力ピクチャ及び参照ピクチャに基づいてシンボルを作成する責任がある)、及びエンコーダ400に埋め込まれた(ローカル)デコーダ406であって、シンボルを再構成して、(リモート)デコーダも作成するサンプルデータを作成する(シンボルとコード化したビデオビットストリームとの間の任意の圧縮は、開示する主題で考慮されるビデオ圧縮技術において無損失(lossless)であるため)デコーダ406を構成することができる。その再構成したサンプルストリームは、参照ピクチャメモリ405に入力される。シンボルストリームの復号化は、デコーダの位置(ローカル又はリモート)に関係なくビット正確(bit-exact)な結果をもたらすので、参照ピクチャバッファの内容も、ローカルエンコーダとリモートエンコーダとの間でビット正確である。換言すると、エンコーダの予測部分は、復号化中に予測を使用するときにデコーダが「見る」のとまったく同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャの同期性(及び、例えばチャネルエラーのために同期性を維持できない場合は結果として生じるドリフト)のこの基本原理は、当業者によく知られている。
【0052】
「ローカル」デコーダ406の動作は、
図3に関して上記で既に詳細に説明している「リモート」デコーダ300の動作と同じであり得る。しかしながら、
図4でも簡単に説明すると、シンボルが利用可能であり、エントロピーコーダ408及びパーサ304によるコード化したビデオシーケンスへのシンボルの符号化/復号化は損失のない(lossless:可逆)であり得るので、チャネル310、受信機302、バッファ303、及びパーサ304を含むデコーダ300のエントロピー復号化部分は、ローカルデコーダ406に完全に実装されていない場合がある。
【0053】
この時点で行うことができる所見は、デコーダに存在する解析/エントロピー復号化以外のデコーダ技術も、対応するエンコーダに実質的に同一の機能形式で必ず存在する必要があるということである。エンコーダ技術の説明は、包括的に説明しているデコーダ技術の逆であるため、省略することができる。特定の領域でのみ、より詳細な説明が必要であり、以下に提供する。
【0054】
その動作の一部として、ソースコーダ403は、動き補償予測コーディングを実行することができ、これは、「参照フレーム」として指定されたビデオシーケンスからの1つ又は複数の以前にコード化したフレームを参照して入力フレームを予測的にコード化する。このようにして、コーディングエンジン407は、入力フレームのピクセルブロックと、入力フレームへの予測参照として選択され得る参照フレームのピクセルブロックとの間の差をコード化する。
【0055】
ローカルビデオデコーダ406は、ソースコーダ403によって作成されたシンボルに基づいて、参照フレームとして指定され得るフレームのコード化したビデオデータを復号化することができる。コーディングエンジン407の動作は、有利には損失のある(lossy:不可逆)プロセスであり得る。コード化したビデオデータがビデオデコーダ(
図4には図示せず)で復号化され得る場合に、再構成したビデオシーケンスは、典型的に、いくつかのエラーを伴うソースビデオシーケンスの複製であり得る。ローカルビデオデコーダ406は、ビデオデコーダによって参照フレームに対して実行され得、再構成した参照フレームを参照ピクチャキャッシュ405に格納させ得る復号化プロセスを複製する。このようにして、エンコーダ400は、共通のコンテンツを有する再構成した参照フレームのコピーを、遠端のビデオデコーダによって取得される再構成した参照フレーム(送信エラーがない)としてローカルに格納し得る。
【0056】
予測器404は、コーディングエンジン407の予測検索を実行することができる。すなわち、コード化される新しいフレームについて、予測器404は、新しいピクチャの適切な予測参照として機能し得る、サンプルデータ(候補参照ピクセルブロックとして)又は参照ピクチャの動きベクトル、ブロック形状等特定のメタデータについて参照ピクチャメモリ405を検索することができる。予測器404は、適切な予測参照を見つけるために、ピクセルブロック毎のサンプルブロック(sample block-by-pixel block)に基づいて動作することができる。場合によっては、予測器404によって得られた検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ405に格納された複数の参照ピクチャから引き出された予測参照を有し得る。
【0057】
コントローラ402は、例えば、ビデオデータを符号化するために使用されるパラメータ及びサブグループパラメータの設定を含む、ビデオコーダ403のコーディング動作を管理することができる。
【0058】
前述の全ての機能ユニットの出力は、エントロピーコーダ408においてエントロピーコーディングを受けることができる。エントロピーコーダは、例えば、ハフマンコーディング、可変長コーディング、算術コーディング等として当業者に知られている技術に従ってシンボルを無損失で圧縮することにより、様々な機能ユニットによって生成されたシンボルを符号化したビデオシーケンスに変換する。
【0059】
送信機409は、エントロピーコーダ408によって作成されたコード化ビデオシーケンスをバッファリングして、通信チャネル411を介した送信のためにそのシーケンスを準備することができ、通信チャネル411は、復号化したビデオデータを格納するストレージ装置へのハードウェア/ソフトウェアリンクであり得る。送信機409は、ビデオコーダ403からのコード化したビデオデータを、送信される他のデータ、例えば、コード化した音声データ及び/又は補助データストリーム(ソースは図示せず)とマージすることができる。
【0060】
コントローラ402は、エンコーダ400の動作を管理することができる。コーディング中に、コントローラ405は、各コード化ピクチャに特定のコード化ピクチャタイプを割り当てることができ、このタイプは、それぞれのピクチャに適用され得るコーディング技術に影響を与え得る。例えば、ピクチャは、大抵の場合、次のフレームタイプのいずれかとして割り当てられ得る。
【0061】
イントラピクチャ(Iピクチャ)は、シーケンス内の他のフレームを予測のソースとして使用せずにコード化及び復号化され得るピクチャであり得る。一部のビデオコーデックでは、例えばIndependent Decoder Refresh Picturesを含む、様々なタイプのイントラピクチャを使用することができる。当業者は、Iピクチャのそれらの変形及びそれらのそれぞれの用途及び特徴を知っている。
【0062】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、最大で1つの動きベクトル及び参照インデックスを使用するイントラ予測又はインター予測を使用して、コード化及び復号化され得るピクチャであり得る。
【0063】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、最大2つの動きベクトル及び参照インデックスを使用したイントラ予測又はインター予測を使用してコード化及び復号化され得るピクチャであり得る。同様に、マルチ予測ピクチャは、単一のブロックの再構成のために3つ以上の参照ピクチャ及び関連するメタデータを使用することができる。
【0064】
ソースピクチャは、通常、空間的に複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8、又は16×16サンプルのブロック)に再分割され、ブロック毎にコード化され得る。ブロックは、ブロックのそれぞれのピクチャに適用されるコーディング割り当てによって決定されるように、他の(既にコード化した)ブロックを参照して予測的にコード化することができる。例えば、Iピクチャのブロックは、非予測的にコード化される場合もあれば、同じピクチャの既に符号化したブロックを参照して予測的にコード化される場合もある(空間的予測又はイントラ予測)。Pピクチャのピクセルブロックは、空間予測を介して、又は以前にコード化した1つの参照ピクチャを参照する時間予測を介して、非予測的にコード化され得る。Bピクチャのブロックは、空間予測を介して、又は以前にコード化した1つ又は2つの参照ピクチャを参照する時間予測を介して、非予測的にコード化され得る。
【0065】
ビデオコーダ400は、ITU-T Rec.H.265等の所定のビデオコーディング技術又は規格に従ってコーディング動作を実行することができる。その動作において、ビデオコーダ400は、入力ビデオシーケンスにおける時間的及び空間的冗長性を利用する予測コーディング動作を含む、様々な圧縮動作を実行することができる。従って、符号化したビデオデータは、使用されるビデオコーディング技術又は規格によって指定された構文に準拠し得る。
【0066】
一実施形態では、送信機409は、符号化したビデオと共に追加のデータを送信することができる。ソースコーダ403は、そのようなデータをコード化したビデオシーケンスの一部として含み得る。追加データには、時間的/空間的/SNR拡張層、冗長なピクチャ及びスライス等の他の形式の冗長データ、補足拡張情報(SEI)メッセージ、ビジュアルユーザビリティ情報(VUI)パラメータセットフラグメント等が含まれ得る。
【0067】
図5は、高効率ビデオコーディング(HEVC)及びジョイント探索モデル(JEM)で使用されるイントラ予測モードを示している。自然なビデオで提示される任意のエッジ方向をキャプチャするために、指向性イントラモードの数が、HEVCで使用されるように33から65に拡張される。HEVCの上のJEMの追加の指向性モードは、
図1(5)(b)に点線の矢印で示されており、平面モード及びDCモードは同じままである。これらのより高密度の指向性イントラ予測モードは、全てのブロックサイズ、及びルマとクロマとの両方のイントラ予測に適用される。
図5に示されるように、点線の矢印で特定される指向性イントラ予測モードは、奇数のイントラ予測モードインデックスに関連付けられており、奇数のイントラ予測モードと呼ばれる。実線の矢印で特定される指向性イントラ予測モードは、偶数イントラ予測モードインデックスに関連付けられており、偶数イントラ予測モードと呼ばれる。この文書では、
図5の実線又は点線の矢印で示される指向性イントラ予測モードは、角度モードとも呼ばれる。
【0068】
JEMでは、合計67個のイントラ予測モードがルマイントラ予測に使用される。イントラモードをコード化するために、サイズ6の最も可能性の高いモード(MPM)リストが、隣接するブロックのイントラモードに基づいて作成される。イントラモードがMPMリストにない場合に、イントラモードが選択されるモードに属しているかどうかを示すフラグが通知される。JEM-3.0には、16個の選択モードがあり、4つおきの角度モードとして均一に選択される。JVET-D0114及びJVET-G0060では、その均一に選択されたモードを置き換えるために、16個のセカンダリMPMが導出される。
【0069】
図6は、イントラ指向性モード(intra directional modes)に利用されるN個の参照層(reference
tiers)を示している。ブロックユニット611、セグメントA601、セグメントB602、セグメントC603、セグメントD604、セグメントE605、セグメントF606、第1の参照層610、第2の参照層609、第3の参照層608、及び第4の参照層607がある。
【0070】
HEVCとJEMとの両方、及びH.264/AVC等の他の規格では、現在のブロックを予測するために使用される参照サンプルは、最も近い参照線(行又は列)に制限されている。マルチ参照線のイントラ予測の方法では、候補参照線(行又は列)の数が、イントラ指向性モードについて1つ(つまり最も近い)からNに増加し、ここで、Nは1以上の整数である。
図2は、マルチラインのイントラ指向性予測方法の概念を示すために、4×4予測ユニット(PU)を例として取り上げている。イントラ指向性モードでは、N個の参照層のうちの1つを任意に選択して、予測子を生成することができる。換言すると、予測子p(x,y)は、参照サンプルS1、S2、・・・、及びSNのうちの1つから生成される。どの参照層がイントラ指向性モードに選択されたかを示すフラグが通知される。Nが1に設定されると、イントラ指向性予測方法はJEM2.0の従来の方法と同じになる。
図6では、参照線610、609、608、及び607は、左上の参照サンプルとともに、6つのセグメント601、602、603、604、605、及び606から構成される。この文書では、参照層を参照線とも呼ぶ。現在のブロック単位内の左上のピクセルの座標は(0,0)であり、1番目の参照線の左上のピクセルは(-1,-1)である。
【0071】
JEMでは、ルマ成分について、イントラ予測サンプル生成に使用される隣接サンプルは、生成プロセスの前にフィルタリングされる。フィルタリングは、所与のイントラ予測モード及び変換ブロックサイズによって制御される。イントラ予測モードがDCであるか、又は変換ブロックサイズが4×4に等しい場合に、隣接するサンプルはフィルタリングされない。所与のイントラ予測モードと垂直モード(又は水平モード)との間の距離が予め規定したしきい値よりも大きい場合に、フィルタリングプロセスが有効になる。隣接するサンプルのフィルタリングには、[1,2,1]フィルタ及び双線形フィルタが使用される。
【0072】
位置依存のイントラ予測の組合せ(PDPC)方法は、フィルタリングしていない境界参照サンプルと、フィルタリングした境界参照サンプルを使用したHEVCスタイルのイントラ予測との組合せを呼び出すイントラ予測方法である。(x,y)にある各予測サンプルpred[x][y]は、次のように計算される。
pred[x][y]=(wL*R-1,y+wT*Rx,-1+wTL*R-1,-1+(64-wL-wT-wTL)*pred[x][y]+32)>>6 (式2)
ここで、Rx,-1、R-1,yは、それぞれ現在のサンプル(x,y)の上部及び左側にあるフィルタリングしていない参照サンプルを表し、R-1,-1は、現在のブロックの左上隅にあるフィルタリングしていない参照サンプルを表す。重み付けは次のように計算される。
wT=32>>((y<<1)>>shift) (式3)
wL=32>>((x<<1)>>shift) (式4)
wTL=-(wL>>4)-(wT>>4) (式5)
shift=(log2(width)+log2(height)+2)>>2 (式6)。
shiftはシフトを示し、widthは幅を示し、heightは高さを示す。
【0073】
図7は、1つの4×4ブロック内の位置(0,0)及び(1,0)に対するDCモードPDPC重み(wL,wT,wTL)を示す
図700を示している。PDPCがDC、平面、水平、及び垂直のイントラモードに適用される場合に、HEVC DCモード境界フィルタ又は水平/垂直モードエッジフィルタ等の追加の境界フィルタは必要ない。
図7は、右上の対角モードに適用されるPDPCの参照サンプルR
x,-1、R
-1,y、及びR
-1,-1の規定を示している。予測サンプルpred(x’,y’)は、予測ブロック内の(x’,y’)にある。参照サンプルR
x,-1の座標xは次の式で与えられる:x=x’+y’+1。そして、参照サンプルR
-1,yの座標yは同様に次の式で与えられる:y=x’+y’+1。
【0074】
図8は、ローカル照明補償(LIC)
図800を示しており、スケーリング係数a及びオフセットbを使用した、照明変化の線形モデルに基づいている。また、それは、インターモード(inter-mode:モード間)コード化コーディングユニット(CU)毎に適応的に有効又は無効になる。
【0075】
LICがCUに適用される場合に、最小二乗誤差法を使用して、現在のCUの隣接サンプル及びそれらに対応する参照サンプルを用いてパラメータa及びbを導出する。より具体的には、
図8に示されるように、CUのサブサンプリングした(2:1サブサンプリング)隣接サンプルと、参照ピクチャ内の対応するサンプル(現在のCU又はサブCUの動き情報によって識別される)とが使用される。ICパラメータは、予測方向毎に個別に導出及び適用される。
【0076】
CUがマージモードでコード化されている場合に、LICフラグは、マージモードでの動き情報のコピーと同様の方法で、隣接するブロックからコピーされる。それ以外の場合には、LICフラグがCUに通知され、LICが適用されるか否かが示される。
【0077】
図9Aは、HEVCで使用されるイントラ予測モード900を示している。HEVCには、合計35個のイントラ予測モードがあり、そのうちモード10は水平モードであり、モード26は垂直モードであり、モード2、モード18、及びモード34は対角モードである。イントラ予測モードは、3つの最も可能性の高いモード(MPM)及び残りの32個のモードによって通知される。
【0078】
図9Bは、多用途ビデオコーディング(VVC)の実施形態において、合計87個のイントラ予測モードがあり、モード18が水平モードであり、モード50が垂直モードであり、モード2、モード34、及びモード66が対角モードであることを示している。モード-1~-10及びモード67~76は、広角イントラ予測(WAIP)モードと呼ばれる。
【0079】
位置(x,y)にある予測サンプルpred(x,y)は、イントラ予測モード(DC、平面、角度)と、PDPC式に従って参照サンプルの線形結合とを使用して予測される。
pred(x,y)=(wL×R-1,y+wT×Rx,-1-wTL×R-1,-1+(64-wL-wT+wTL)×pred(x,y)+32)>>6 (式7)
ここで、Rx,-1、R-1,yは、それぞれ現在のサンプル(x,y)の上部及び左側にある参照サンプルを表し、R-1,-1は、現在のブロックの左上隅にある参照サンプルを表す。
【0080】
DCモードの場合に、重みは、幅及び高さの寸法を有するブロックについて次のように計算される。
wT=32>>((y<<1)>>nScale)、wL=32>>((x<<1)>>nScale)、wTL=(wL>>4)+(wT>>4) (式8)
(nScale=(log2(width)-2+log2(height)-2+2)>>2の場合)
ここで、wTは、同じ水平座標を有する上記の参照線にある参照サンプルの重み係数を示し、wLは、同じ垂直座標を有する左側の参照線にある参照サンプルの重み係数を示し、wTLは、現在のブロックの左上の参照サンプルの重み係数を示す。nScaleは、軸に沿って重み係数がどれだけ速く減少するかを指定する(wLは左から右に減少する、又はwTが上から下に減少する)、つまり、重み係数の減少率であり、それは、現在の設計ではx軸(左から右)とy軸(上から下)に沿って同じである。そして、32は、隣接するサンプルの初期の重み係数を示し、初期の重み係数は、現在のCBの左上のサンプルに割り当てられた上部(左側又は左上)の重みでもあり、PDPCプロセスの隣接するサンプルの重み係数は、この初期重み係数以下にする必要がある。
【0081】
平面モードの場合はwTL=0であり、水平モードの場合はwTL=wTであり、垂直モードの場合はwTL=wLである。PDPCの重みは、加算及びシフトのみで計算することができる。pred(x,y)の値は、式(1)を使用して1つのステップで計算することができる。
【0082】
図12は、L字型パーティションの簡略化したブロック
図1200を示している。
図12の図から理解されるように、L字型パーティション分割は、ブロックを1つ又は複数のL字型パーティション及び1つ又は複数の長方形パーティションに及び/又は1つ又は複数のL字型パーティションに分割することができ、及びL字型(又はLタイプ)パーティションは、
図12に示されるように、高さ1201、幅1202、短手幅1203、短手高さ1204の形状として規定され、回転したL字型パーティションもここではL字型パーティションとして見なされる。
【0083】
図12に関する上の議論で示したように、幅、高さ、短手幅、短手高さ等、いくつかの用語がL字型パーティションに関連付けられる。
【0084】
L字型パーティション分割ツリーの例について、
図13Aの簡略化したブロック
図1300に関して以下に説明し、ここで、1つのブロックは、1つのL字型パーティション(パーティション1)と1つの長方形パーティション(0)とを含む2つのパーティションにパーティション分割され、例示的な実施形態によれば、例えば、
図13Aに示される構成1301、1302、1303、及び1304のいずれかにパーティション分割される。
【0085】
同様に、
図13Bは、ブロック1305及びブロック1306を、L字型パーティション(パーティション1)と別のL字型パーティション(パーティション0)とに分割することができる
図1300Bを示している。
【0086】
1つ又は複数のL字型パーティションに関する本明細書の例示的な実施形態は、別々に使用することも、任意の順序で組み合わせて使用することもできる。本文書では、L字型(又はLタイプ)のパーティションを
図13A及び
図13Bに示される形状と規定し、回転したL字型パーティションもL字型パーティションとみなすように理解される。
【0087】
以下に議論し、
図14~
図26に示される例示的な実施形態によれば、例えば、ブロックが複数のL字型パーティション(LP)及び長方形パーティション(RP)にパーティション分割される場合に、L字型パーティションのイントラ予測を行うために使用される参照サンプルは、別のLP又はRPの再構成した隣接サンプルから取得される一方、再構成した隣接サンプルは、1つの水平直線及び1つの垂直直線ではなく、任意の形状(arbitrary shape)のチェーンを形成する連続したサンプルのグループを形成する。そのような参照サンプルを合わせて、参照サンプルチェーン(RSC)と呼ぶことが理解されよう。
【0088】
図18の簡略化したブロック
図1800等の例示的な実施形態によれば、
図18に示されるように、ブロックAは、1つはLP(「1」と示される)及び1つはRP(「0」と示される)である2つのパーティションとしてパーティション分割される。パーティション1のイントラ予測を行うために、再構成したサンプルチェーン内のサンプル(
図18の影付きのブロックで示される)が参照サンプルとして使用される。
【0089】
例えば、実施形態では、LP(パーティション1)のサンプル(
図18のc0及びc1)に対して指向性(又は角度)イントラ予測を行う場合に、サンプル座標はRSCに投影される。サンプル座標がRSCの垂直側に投影される場合に、垂直状(vertical like)方向に沿ったサンプル(r0及びr1等)を使用して、予測サンプル値が生成される。サンプル座標がRSCの水平側に投影される場合に、水平状(horizontal like)方向に沿ったサンプル(r2及びr3等)を使用して、予測サンプル値が生成される。
【0090】
さらに、実施形態によれば、MRLPを行う場合に、4つのRSCを使用している
図18の簡略
図1900の例に示されるように、マルチ参照線の代わりに複数のRSCが使用され、各RSC内のサンプルが、LP1の側で理解しやすいように、それぞれ同じテクスチャを用いてマークされる。
【0091】
実施形態では、MRLPを行う場合に、隣接しない再構成サンプルを使用することができ、直線を形成する上部及び左側の再構成サンプルのみをMRLPのイントラ予測に使用することができ、例えば、上部サンプル及び左側サンプルには、現在のブロックの直接の隣接ではない1つ又は複数のサンプルが含まれ得る
図20の簡略
図2000を参照されたい。
図20から、1つ又は複数のテクスチャサンプルが、LP(パーティション1)のMRLPを実行するために使用されることが理解されよう。
【0092】
さらに、
図21の簡略
図2100に関する例示的な実施形態では、別の実施形態では、現在のブロック内のサンプルの再構成の前に、異なるパーティション(LP又はRPのいずれか)からの右側又は下部の隣接するサンプルが再構成される場合に、右側及び下部の隣接するサンプルがRSCを形成し、イントラ予測を行うために使用される。例が
図21に示され、ここでは、LP(パーティション1)はRP(パーティション0)の前に再構成され、従って、サンプル(影付きのブロックで示される)は、RSCを形成し、RP(パーティション0)のイントラ予測に使用することができる。
【0093】
例示的な実施形態によれば、平面モード(HEVC及びVVCで規定される)又はSMOOTH、SMOOTH-H、SMOOTH-Vモード(AV1で規定される)を行うときに、右側又は下部のサンプルが再構成される場合に、これらの再構成したサンプルは、右側及び下部のサンプルを上部及び左側の再構成サンプルで外挿する代わりに、平面(又はSMOOTH、SMOOTH-H、SMOOTH-V)モードの4タップ補間で直接使用することができ、DCモードを実行する場合に、上部(above)及び左側の再構成した隣接サンプルのみだけでなく、RSCで利用可能な全てのサンプル(右側及び下部の再構成したサンプルを含み得る)を使用して、DC予測子を生成することができる。
【0094】
さらに、DCモードでは、上部(above)及び左側の再構成した隣接サンプルだけでなく、RSCで使用可能な左下及び右上を除く全てのサンプル(右側及び下部の再構成サンプルを含み得る)を使用して、DC予測子を生成することができる。境界フィルタリング(HEVCで規定される)又はPDPC(VVCで規定される)を実行する場合に、上部(above)及び左側の再構成した隣接サンプルだけでなく、RSCで利用可能な全てのサンプル(右側及び下部の再構成サンプルを含み得る)を使用して、境界フィルタリング及びPDPC予測を適用することができる。
【0095】
図22の
図2200等の例に関して、
図22のパーティション0から影付きの領域に引かれた線によって示されるように、再構成したサンプルが両方の対向側で利用できる場合に、双方向のイントラ予測を適用することができる。
【0096】
例えば、現在のブロックの前に左側と右側との両方のサンプルが再構成される場合に、水平状予測方向に沿った左側及び右側のサンプルの加重和を利用して、例えば
図22の
図2200に関して示される予測子を生成する双方向予測モードを有効にすることができる。一実施形態では、現在のブロックの前に左側と右側との両方のサンプルが再構成される場合に、水平状予測方向に沿った左側及び右側のサンプルの加重和を利用して予測子を生成する双方向予測モードを使用して、水平状予測を置き換える。それにより、双方向予測モードにおいて、影付きの参照サンプルチェーンの第1の部分及び第2の部分の加重和を利用することによって、
図22の長方形パーティション0内の現在のブロックの予測子を生成することができ、ここで、
図22に示されるように、第1及び第2の部分はそれぞれ、現在のブロック及び参照サンプルチェーンの右側及び左側からのものであり、現在のブロック及び参照サンプルチェーンに隣接していない側であり、現在のブロックを少なくとも3つの側(
図22に示す向きからわかるように、左側、上部、右側)で取り囲んでいる。
図22及び
図23に示されるように、それらの図の参照サンプルチェーンへのそれぞれの矢印によって示されるように、参照サンプルチェーンの第1の部分は、現在のブロックの右側と上部との両方にあり、参照サンプルチェーンの第2の部分は、現在のブロックの左側と下部との両方にある。
【0097】
さらに、
図23の
図2300に示されるように、現在のブロックの前に上部と下部との両方のサンプルが再構成される場合に、垂直状予測方向に沿った左側及び右側のサンプルの加重和を利用して予測子を生成する双方向予測モードを有効にすることができ、現在のブロックの前に上部と下部との両方のサンプルが再構成される場合に、垂直状予測方向に沿って左側及び右側のサンプルの加重和を利用して予測子を生成する双方向予測モードを使用して、垂直状予測を置き換える。
【0098】
ブロックがいくつかのL字型パーティション(LP)及び長方形パーティション(RP)にパーティション分割されるときに、再構成した隣接サンプルが1つの水平直線及び1つの垂直直線ではなく、任意のチェーン(RSC)を形成する場合に、RSCのサンプルは、最初に上部の行及び左側の列にマッピングされ、それによって、
図24の
図2400のそのようなマッピングによって示されるように、これらの上部の行及び左側の列の参照サンプルを現在のブロックのイントラ予測に使用することができる。例示的な実施形態よれば、RSCから上部及び左側の列へのサンプルのそのようなマッピングは、イントラ予測方向に沿って行われる。あるいはまた、RSCから上部及び左側の列へのサンプルのそのようなマッピングは、2タップの双線形フィルタ又は4タップの3次フィルタ又は最も近い整数サンプルを使用して行われる。さらに代わりに、RSC内の全てのサンプルを上部の行にマッピングすることができ、例が
図25の
図2500に示される。
【0099】
例えば、
図25に関して、実施形態は、
図25のように、イントラ予測方向が垂直状であると決定されたとき、又はイントラ予測方向が水平状であると決定されたときに、RSC内の全てのサンプルを上部の行にマッピングすることができる。
【0100】
代替案はまた、RSC内の全てのサンプルを左側の列にマッピングすることができる、又は例えば、イントラ予測方向が水平状であると決定された場合にのみ、RSC内の全てのサンプルを左上の列にマッピングすることができるような、例示的な実施形態によって構成される。同様に、代替の実施形態はまた、イントラ予測方向が垂直状であると決定された場合にのみ、RSC内の全てのサンプルを左上の列にマッピングすることができるという特徴を含む。
【0101】
L字型パーティションを用いた、右側及び/又は下部のいずれかからも利用可能であり得る1つ又は複数の再構成した隣接サンプルのそのような実施形態を考慮して、隣接する参照サンプルがもはや直線を形成しない場合でも、このようなサンプルを依然として利用することができる。
【0102】
従って、本明細書に記載の例示的な実施形態により、上記の技術的問題は、これらの技術的解決策の1つ又は複数によって有利に改善され得る。
【0103】
上記の技術は、コンピュータ可読命令を使用してコンピュータソフトウェアとして実装され、1つ又は複数のコンピュータ可読媒体に、又は特別に構成された1つ又は複数のハードウェアプロセッサによって物理的に格納され得る。例えば、
図26は、開示する主題の特定の実施形態を実施するのに適したコンピュータシステム2600を示している。
【0104】
コンピュータソフトウェアは、コンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)等によって直接又は解釈を通じてマイクロコード等を実行できる命令を含むコードを作成するために、アセンブリ、コンパイル、リンク、又は同様のメカニズムの対象となり得る任意の適切な機械語又はコンピュータ言語を使用してコード化することができる。
【0105】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム装置、モノのインターネット装置等を含む、様々なタイプのコンピュータ又はそのコンポーネントで実行することができる。
【0106】
図26に示されるコンピュータシステム2600の構成要素は、本質的に例示的なものであり、本開示の実施形態を実施するコンピュータソフトウェアの使用範囲又は機能に関する制限を示唆することを意図するものではない。また、コンポーネントの構成は、コンピュータシステム2600の例示的な実施形態に示されるコンポーネントのいずれか1つ又は組合せに関連する依存性又は要件を有すると解釈すべきではない。
【0107】
コンピュータシステム2600は、特定のヒューマンインターフェイス入力装置を含み得る。そのようなヒューマンインターフェイス入力装置は、例えば、触覚入力(キーストローク、スワイプ、データグローブの動き等)、音声入力(音声、拍手等)、視覚入力(ジェスチャー等)、嗅覚入力(図示せず)を介して、1人又は複数の人間のユーザによる入力に応答することができる。ヒューマンインターフェイス装置を使用して、音声(音声、音楽、周囲の音等)、画像(スキャン画像、静止画カメラから取得した写真画像等)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオ等)等、人間による意識的な入力に必ずしも直接関連しない特定のメディアをキャプチャすることもできる。
【0108】
入力ヒューマンインターフェイス装置は、キーボード2601、マウス2602、トラックパッド2603、タッチスクリーン2610、ジョイスティック2605、マイク2606、スキャナ2608、カメラ2607(それぞれ1つだけが示される)の1つ又は複数を含むことができる。
【0109】
コンピュータシステム2600は、特定のヒューマンインターフェイス出力装置も含み得る。そのようなヒューマンインターフェイス出力装置は、例えば、触覚出力、音、光、及び匂い/味覚を通して、1人又は複数の人間のユーザの感覚を刺激し得る。このようなヒューマンインターフェイス出力装置には、触覚出力装置(例えば、タッチスクリーン2610又はジョイスティック2605による触覚フィードバックであるが、入力装置として機能しない触覚フィードバック装置でもあり得る)、オーディオ出力装置(スピーカ2609、ヘッドホン(図示せず))、視覚出力装置(CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン2610等、それぞれタッチスクリーン入力機能の有無にかかわらず、それぞれ触覚フィードバック機能の有無にかかわらず、そのうちのいくつかは、ステレオグラフィック出力(仮想現実眼鏡(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず))等の手段を介して、2次元視覚出力又は3次元以上の出力を出力でき得る)、及びプリンタ(図示せず)が含まれ得る。
【0110】
コンピュータシステム2600は、人間がアクセス可能なストレージ装置とそれに関連するメディア(CD/DVD2611を含むCD/DVD ROM/RW2620を含む光メディア及び同様のメディア、サムドライブ2622、リムーバブルハードドライブ又はソリッドステートドライブ2623、テープ及びフロッピーディスク(図示せず)等のレガシー磁気メディア、セキュリティドングル(図示せず)等の特殊なROM/ASIC/PLDベースの装置等)を含めることもできる。
【0111】
当業者は、現在開示している主題に関連して使用される「コンピュータ可読媒体」という用語は、送信媒体、搬送波、又は他の一時的な信号を含まないことも理解すべきである。
【0112】
コンピュータシステム2600は、1つ又は複数の通信ネットワーク2698へのインターフェイス2699を含もことができる。ネットワーク2698は、例えば、無線、有線、光であり得る。ネットワーク2698はさらに、ローカル、広域、大都市圏、車両及び産業用、リアルタイム、遅延耐性等にすることができる。ネットワーク2698の例には、イーサネット等のローカルエリアネットワーク、無線LAN、GSM、3G、4G、5G、LTE等を含むセルラーネットワーク、ケーブルTV、衛星TV、地上波放送TVを含む有線又は無線広域TVデジタルネットワーク、CANBusを含む車両及び産業用ネットワーク等が含まれる。特定のネットワーク2698は、通常、特定の汎用データポート又は周辺バス(2650及び2651)(例えば、コンピュータシステム2600のUSBポート等)に接続された外部ネットワークインターフェイスアダプタを必要とし、他は、通常、以下に説明するようにシステムバスに接続することによってコンピュータシステム2600のコア(例えば、PCコンピュータシステムへのイーサネットインターフェイス、又はスマートフォンコンピュータシステムへのセルラーネットワークインターフェイス)に統合される。これらのネットワーク2698のいずれかを使用して、コンピュータシステム2600は他のエンティティと通信することができる。そのような通信は、単方向、受信専用(例えば、ブロードキャストTV)、単方向送信専用(例えば、CANbusから特定のCANbus装置)、又は例えば、ローカル又は広域デジタルネットワークを使用する他のコンピュータシステムへの双方向であり得る。上記のように、特定のプロトコル及びプロトコルスタックをこれらのネットワーク及びネットワークインターフェイスのそれぞれで使用することができる。
【0113】
前述のヒューマンインターフェイス装置、ヒューマンアクセス可能なストレージ装置、及びネットワークインターフェイスは、コンピュータシステム2600のコア2640に接続することができる。
【0114】
コア2640は、1つ又は複数の中央処理装置(CPU)2641、グラフィックス処理装置(GPU)2642、グラフィックスアダプタ2617、フィールドプログラマブルゲートエリア(FPGA)2643の形態の特殊なプログラム可能な処理装置、特定のタスクのためのハードウェアアクセラレータ2644等を含むことができる。これらの装置は、読み取り専用メモリ(ROM)2645、ランダムアクセスメモリ2646、内部の非ユーザアクセス可能ハードドライブ、SSD等の内部大容量記憶装置2647とともに、システムバス2648を介して接続することができる。一部のコンピュータシステムでは、システムバス2648は、1つ又は複数の物理プラグの形態でアクセス可能であり、追加のCPU、GPU等による拡張を可能にする。周辺装置は、コアのシステムバス2648に直接接続することも、周辺バス2649を介して接続することもできる。周辺バスのアーキテクチャには、PCI、USB等が含まれる。
【0115】
CPU2641、GPU2642、FPGA2643、及びアクセラレータ2644は、組み合わせて前述のコンピュータコードを構成できる特定の命令を実行することができる。そのコンピュータコードは、ROM2645又はRAM2646に格納することができる。移行データはRAM2646にも格納できるが、永続データは、例えば内部大容量ストレージ2647に格納することができる。任意のメモリ装置への高速保存及び取得は、1つ又は複数のCPU2641、GPU2642、大容量ストレージ2647、ROM2645、RAM2646等と密接に関連付けることができるキャッシュメモリを使用して有効にすることができる。
【0116】
コンピュータ可読媒体は、様々なコンピュータ実施動作を実行するためのコンピュータコードをその上に含むことができる。メディア及びコンピュータコードは、本開示の目的のために特別に設計及び構成されたものであり得るか、又はコンピュータソフトウェア技術の当業者によく知られ利用可能な類のものであり得る。
【0117】
限定ではなく例として、アーキテクチャを有するコンピュータシステム2600、具体的にはコア2640は、1つ又は複数の有形のコンピュータ可読媒体に組み込まれたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータ等を含む)の結果として機能を提供することができる。そのようなコンピュータ可読媒体は、上記で紹介したユーザアクセス可能な大容量記憶ストレージ、及びコア内部大容量記憶ストレージ2647又はROM2645等の非一時的性質のコア2640の特定のストレージに関連する媒体であり得る。本開示の様々な実施形態を実施するソフトウェアは、そのような装置に格納され、コア2640によって実行され得る。コンピュータ可読媒体は、特定の必要性に従って、1つ又は複数のメモリ装置又はチップを含み得る。ソフトウェアは、コア2640、特にその中のプロセッサ(CPU、GPU、FPGA等を含む)に、RAM2646に格納されたデータ構造の規定及びソフトウェアによって規定したプロセスに従ってそのようなデータ構造の変更を含む、本明細書に記載の特定のプロセス又は特定のプロセスの特定の部分を実行させることができる。加えて、又は代替として、コンピュータシステムは、本明細書に記載の特定のプロセス又は特定のプロセスの特定の部分を実行するためにソフトウェアの代わりに又はソフトウェアと一緒に動作することができる回路(例えば、アクセラレータ2644)に配線された又は他の方法で具体化されたロジックの結果として機能を提供することができる。ソフトウェアへの参照にはロジックを含めることができ、必要に応じてその逆も可能である。コンピュータ可読媒体への言及は、必要に応じて、実行のためのソフトウェアを格納する回路(集積回路(IC)等)、実行のためのロジックを具体化する回路、又はその両方を包含することができる。本開示は、ハードウェア及びソフトウェアの任意の適切な組合せを包含する。
【0118】
本開示はいくつかの例示的な実施形態を説明しているが、本開示の範囲内にある変更、順列、及び様々な代替同等物が存在する。こうして、当業者は、本明細書に明示的に示していないか又は説明していないが、開示の原理を具体化し、こうしてその精神及び範囲内にある多数のシステム及び方法を想起することができることが理解されよう。