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

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

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

<>
  • 特許-単一カラー値を有するストリング照合 図1
  • 特許-単一カラー値を有するストリング照合 図2
  • 特許-単一カラー値を有するストリング照合 図3
  • 特許-単一カラー値を有するストリング照合 図4
  • 特許-単一カラー値を有するストリング照合 図5
  • 特許-単一カラー値を有するストリング照合 図6A
  • 特許-単一カラー値を有するストリング照合 図6B
  • 特許-単一カラー値を有するストリング照合 図6C
  • 特許-単一カラー値を有するストリング照合 図6D
  • 特許-単一カラー値を有するストリング照合 図7
  • 特許-単一カラー値を有するストリング照合 図8
  • 特許-単一カラー値を有するストリング照合 図9
  • 特許-単一カラー値を有するストリング照合 図10
  • 特許-単一カラー値を有するストリング照合 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-25
(45)【発行日】2024-01-09
(54)【発明の名称】単一カラー値を有するストリング照合
(51)【国際特許分類】
   H04N 19/105 20140101AFI20231226BHJP
   H04N 19/46 20140101ALI20231226BHJP
   H04N 19/17 20140101ALI20231226BHJP
   H04N 19/186 20140101ALI20231226BHJP
【FI】
H04N19/105
H04N19/46
H04N19/17
H04N19/186
【請求項の数】 23
(21)【出願番号】P 2022525765
(86)(22)【出願日】2021-04-28
(65)【公表番号】
(43)【公表日】2023-01-18
(86)【国際出願番号】 US2021029664
(87)【国際公開番号】W WO2021252094
(87)【国際公開日】2021-12-16
【審査請求日】2022-05-02
(31)【優先権主張番号】63/036,354
(32)【優先日】2020-06-08
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/231,737
(32)【優先日】2021-04-15
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】シュイ,シアオジョォン
(72)【発明者】
【氏名】リィウ,シャン
【審査官】田部井 和彦
(56)【参考文献】
【文献】特表2017-525204(JP,A)
【文献】特表2016-532377(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/105
H04N 19/46
H04N 19/17
H04N 19/186
(57)【特許請求の範囲】
【請求項1】
デコーダが実行する符号化ビデオビットストリームを復号する方法であって、前記方法は、
前記符号化ビデオビットストリームに基づき、ストリング内のサンプルが同じカラー値を共有する単一値ストリング照合モードが有効であると決定するステップと、
前記符号化ビデオビットストリームから、ストリングオフセットベクトル(SV)を取得する代わりに、複数の参照サンプルを含むセットの中の参照サンプルを示すインデックスを取得するステップと、
在ブロックの現在ストリングに含まれるサンプルのために使用されるべき、前記インデックスにより示される前記参照サンプルのカラー値を決定するステップと、
前記決定されたカラー値を用いて、前記現在ストリングに含まれるサンプルを再構成するステップと、
前記再構成されたサンプルを含む前記現在ストリングを用いて、前記現在ブロックを再構成するステップと、
を含む方法。
【請求項2】
前記現在ストリングは、前記現在ブロックの中で走査ラインに沿って連続的に配置された複数のサンプルを含む、請求項1に記載の方法。
【請求項3】
前記セットは、前記現在ブロックの空間的に近隣にある再構成されたサンプルを含む、請求項1又は2に記載の方法。
【請求項4】
前記インデックスは、前記複数の参照サンプルを含む前記セットから前記参照サンプルを選択するために使用される、
請求項3に記載の方法。
【請求項5】
前記再構成されたサンプルは前記現在ブロックの上、又は前記現在ブロックの左、のうちの少なくとも1つに位置する代表位置から選択される、請求項3に記載の方法。
【請求項6】
前記再構成されたサンプルは、前記現在ブロックの上にある複数の行のうち前記現在ブロックに隣接しない行、又は前記現在ブロックの左にある複数の列のうち前記現在ブロックに隣接しない列、のうちの少なくとも1つに位置する代表位置から選択される、請求項3に記載の方法。
【請求項7】
前記現在ブロックの上に位置するブロックが利用可能でないとき、前記再構成されたサンプルは前記現在ブロックの上からは選択されず、前記再構成されたサンプルの2倍量のサンプルが前記現在ブロックの左に位置するブロックから選択され、
前記現在ブロックの左に位置するブロックが利用可能でないとき、前記再構成されたサンプルは前記現在ブロックの左からは選択されず、前記再構成されたサンプルの2倍量のサンプルが前記現在ブロックの上に位置するブロックから選択される、
請求項3に記載の方法。
【請求項8】
前記セットは、走査順で前記現在ブロックの前のストリングの最後のサンプルを含む、請求項1~のいずれか一項に記載の方法。
【請求項9】
前記前のストリングの最後のサンプルは、前記セットの中の、前記セットの所定の位置に含まれる、請求項に記載の方法。
【請求項10】
前記セットは、固定サイズを有するバッファに格納される、請求項1~のいずれか一項に記載の方法。
【請求項11】
符号化ビデオビットストリームを復号する装置であって、前記装置は、
プログラムコードを格納するよう構成される少なくとも1つのメモリと、
前記プログラムコードを読み出し、前記プログラムコードにより指示されるように動作するよう構成される少なくとも1つのプロセッサと、
を含み、前記プログラムコードは、
前記少なくとも1つのプロセッサに、前記符号化ビデオビットストリームに基づき、ストリング内のサンプルが同じカラー値を共有する単一値ストリング照合モードが有効であると決定させるよう構成される第1決定コードと、
前記少なくとも1つのプロセッサに、前記符号化ビデオビットストリームから、ストリングオフセットベクトル(SV)を取得する代わりに、複数の参照サンプルを含むセットの中の参照サンプルを示すインデックスを取得させるよう構成される取得コードと、
前記少なくとも1つのプロセッサに、在ブロックの現在ストリングに含まれるサンプルのために使用されるべき、前記インデックスにより示される前記参照サンプルのカラー値を決定させるよう構成される第2決定コードと、
前記少なくとも1つのプロセッサに、前記決定されたカラー値を用いて、前記現在ストリングに含まれるサンプルを再構成させるよう構成される第1再構成コードと、
前記少なくとも1つのプロセッサに、前記再構成されたサンプルを含む前記現在ストリングを用いて、前記現在ブロックを再構成させる第2再構成コードと、
を含む、装置。
【請求項12】
前記現在ストリングは、前記現在ブロックの中で走査ラインに沿って連続的に配置された複数のサンプルを含む、請求項11に記載の装置。
【請求項13】
前記セットは、前記現在ブロックの空間的に近隣にある再構成されたサンプルを含む、請求項11又は12に記載の装置。
【請求項14】
前記再構成されたサンプルは前記現在ブロックの上、又は前記現在ブロックの左、のうちの少なくとも1つに位置する代表位置から選択される、請求項13に記載の装置。
【請求項15】
前記再構成されたサンプルは、前記現在ブロックの上にある複数の行のうち前記現在ブロックに隣接しない行、又は前記現在ブロックの左にある複数の列のうち前記現在ブロックに隣接しない列、のうちの少なくとも1つに位置する代表位置から選択される、請求項13に記載の装置。
【請求項16】
前記セットは、走査順で前記現在ブロックの前のストリングの最後のサンプルを含む、請求項1115のいずれか一項に記載の装置。
【請求項17】
前記前のストリングの最後のサンプルは、前記セットの中の、前記セットの所定の位置に含まれる、請求項16に記載の装置。
【請求項18】
前記セットは、固定サイズを有するバッファに格納される、請求項1117のいずれか一項に記載の装置。
【請求項19】
命令を格納する非一時的コンピュータ可読媒体であって、前記命令は、符号化ビデオビットストリームを復号する装置の1つ以上のプロセッサにより実行されると、前記1つ以上のプロセッサに、
前記符号化ビデオビットストリームに基づき、ストリング内のサンプルが同じカラー値を共有する単一値ストリング照合モードが有効であると決定させ、
前記符号化ビデオビットストリームから、ストリングオフセットベクトル(SV)を取得する代わりに、複数の参照サンプルを含むセットの中の参照サンプルを示すインデックスを取得させ、
在ブロックの現在ストリングに含まれるサンプルのために使用されるべき、前記インデックスにより示される前記参照サンプルのカラー値を決定させ、
前記決定されたカラー値を用いて、前記現在ストリングに含まれるサンプルを再構成させ、
前記再構成されたサンプルを含む前記現在ストリングを用いて、前記現在ブロックを再構成させる、
非一時的コンピュータ可読媒体。
【請求項20】
前記セットは、前記現在ブロックの空間的に近隣にある再構成されたサンプルを含む、請求項19に記載の非一時的コンピュータ可読媒体。
【請求項21】
前記セットは、走査順で前記現在ブロックの前のストリングの最後のサンプルを含む、請求項19又は20に記載の非一時的コンピュータ可読媒体。
【請求項22】
前記セットは、固定サイズを有するバッファに格納される、請求項19に記載の非一時的コンピュータ可読媒体。
【請求項23】
エンコーダが実行するビデオビットストリームを符号化する方法であって、前記方法は、
符号化ビデオビットストリームに基づき、ストリング内のサンプルが同じカラー値を共有する単一値ストリング照合モードが有効であると決定するステップと、
符号化ビデオビットストリームから、ストリングオフセットベクトル(SV)を取得する代わりに、複数の参照サンプルを含むセットの中の参照サンプルを示すインデックスを取得するステップと、
在ブロックの現在ストリングに含まれるサンプルのために使用されるべき、前記インデックスにより示される前記参照サンプルのカラー値を決定するステップと、
前記決定されたカラー値を用いて、前記現在ストリングに含まれるサンプルを再構成するステップと、
前記再構成されたサンプルを含む前記現在ストリングを用いて、前記現在ブロックを再構成するステップと、
前記再構成された前記現在ブロックに基づく参照ピクチャと、前記ビデオビットストリームに含まれる入力ピクチャとに基づき、前記ビデオビットストリームを符号化するステップと、
を含む方法。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願]
本願は、参照により開示の全体が本願明細書に組み込まれる、米国特許商標庁において35U.S.C.§119の下で米国仮出願番号第63/036,354号、「STRING MATCHING WITH SINGLE COLOR VALUE」、2020年6月8日出願の優先権を主張する米国特許出願番号第17/231,737号、「STRING MATCHING WITH SINGLE COLOR VALUE」、2021年4月5日出願の優先権の利益を主張する。
【0002】
[技術分野]
開示の主題は、ビデオコーディング及び復号に関し、より具体的には、コーディングビデオストリーム内のピクチャヘッダのシグナリングに関する。
【背景技術】
【0003】
ITU-T VCEG(Q6/16) 及びISO/IEC MPEG (JTC1/SC29/WG11)の発行したH.265/HEVC (High Efficiency Video Coding)規格、 2013 (version 1) 2014 (version 2) 2015 (version 3) 及び 2016 (version 4)。2015年に、これらの2つの標準化組織は、一緒にJVET(Joint Video Exploration Team)を形成して、HEVC以後の次世代ビデオコーディング規格を開発する可能性を探索した。2017年10月、彼らは、Joint Call for Proposals on Video Compression with Capability beyond HEVC(CfP)を発表した。2018年2月15日までに、標準ダイナミックレンジ(standard dynamic range(SDR))に関する22個のCfP応答、高ダイナミックレンジ(high dynamic range(HDR))に関する12個のCfP応答、及び360個のビデオカテゴリに関する12個のCfP応答がそれぞれ提出された。2018年4月、全部の受信されたCfP応答は、122MPEG/10th JVET会議で評価された。この会議の結果として、JVETは、HEVC以後の次世代ビデオコーディングの標準化プロセスを正式に発表した。新たな規格は、VVC(Versatile Video Coding)と名付けられ、JVETはJoint Video Expert Teamに改名した。
【発明の概要】
【0004】
実施形態では、少なくとも1つのプロセッサを用いて符号化ビデオビットストリームを復号する方法は、
前記符号化ビデオビットストリームに基づき、単一値ストリング照合モードが有効であると決定するステップと、
前記符号化ビデオビットストリームから、複数の参照サンプルを含むセットの中の参照サンプルを示すインデックスを取得するステップと、
前記インデックスにより示される参照サンプルに基づき、現在ブロックの現在ストリングに含まれるサンプルのために使用されるべきカラー値を決定するステップと、
前記決定されたカラー値に基づき、前記現在ストリングに含まれるサンプルを再構成するステップと、
前記再構成された現在ストリングを用いて、前記現在ブロックを再構成するステップと、
を含む方法が提供される。
【0005】
実施形態では、符号化ビデオビットストリームを復号する装置であって、前記装置は、
プログラムコードを格納するよう構成される少なくとも1つのメモリと、
前記プログラムコードを読み出し、前記プログラムコードにより指示されるように動作するよう構成される少なくとも1つのプロセッサと、
を含み、前記プログラムコードは、
前記少なくとも1つのプロセッサに、前記符号化ビデオビットストリームに基づき、単一値ストリング照合モードが有効であると決定させるよう構成される第1決定コードと、
前記少なくとも1つのプロセッサに、前記符号化ビデオビットストリームから、複数の参照サンプルを含むセットの中の参照サンプルを示すインデックスを取得させるよう構成される取得コードと、
前記少なくとも1つのプロセッサに、前記インデックスにより示される参照サンプルに基づき、現在ブロックの現在ストリングに含まれるサンプルのために使用されるべきカラー値を決定させるよう構成される第2決定コードと、
前記少なくとも1つのプロセッサに、前記決定されたカラー値に基づき、前記現在ストリングに含まれるサンプルを再構成させるよう構成される第1再構成コードと、
前記少なくとも1つのプロセッサに、前記再構成された現在ストリングを用いて、前記現在ブロックを再構成させる第2再構成コードと、
を含む、装置が提供される。
【0006】
実施形態では、命令を格納する非一時的コンピュータ可読媒体であって、前記命令は、符号化ビデオビットストリームを復号する装置の1つ以上のプロセッサにより実行されると、前記1つ以上のプロセッサに、
前記符号化ビデオビットストリームに基づき、単一値ストリング照合モードが有効であると決定させ、
前記符号化ビデオビットストリームから、複数の参照サンプルを含むセットの中の参照サンプルを示すインデックスを取得させ、
前記インデックスにより示される参照サンプルに基づき、現在ブロックの現在ストリングに含まれるサンプルのために使用されるべきカラー値を決定させ、
前記決定されたカラー値に基づき、前記現在ストリングに含まれるサンプルを再構成させ、
前記再構成された現在ストリングを用いて、前記現在ブロックを再構成させる、
非一時的コンピュータ可読媒体が提供される。
【図面の簡単な説明】
【0007】
開示の主題の更なる特徴、特性、及び種々の利点は、以下の詳細な説明及び添付の図面から一層明らかになるだろう。
【0008】
図1】実施形態による、通信システムの簡易ブロック図の概略図である。
【0009】
図2】実施形態による、通信システムの簡易ブロック図の概略図である。
【0010】
図3】実施形態による、デコーダの簡易ブロック図の概略図である。
【0011】
図4】実施形態による、エンコーダの簡易ブロック図の概略図である。
【0012】
図5】実施形態による、イントラピクチャブロック補償の図である。
【0013】
図6A】実施形態による、1つのCTUサイズ探索範囲によるイントラピクチャブロック補償の図である。
図6B】実施形態による、1つのCTUサイズ探索範囲によるイントラピクチャブロック補償の図である。
図6C】実施形態による、1つのCTUサイズ探索範囲によるイントラピクチャブロック補償の図である。
図6D】実施形態による、1つのCTUサイズ探索範囲によるイントラピクチャブロック補償の図である。
【0014】
図7】実施形態による、空間マージ候補の位置の図である。
【0015】
図8】実施形態による、ストリング照合モードの図である。
【0016】
図9】実施形態による、近隣参照サンプルを用いる単一値ストリング照合の図である。
【0017】
図10】実施形態による、符号化ビデオビットストリームを復号する例示的な処理のフローチャートである。
【0018】
図11】一実施形態による、コンピュータシステムの概略図である。
【発明を実施するための形態】
【0019】
図1は、本開示の実施形態による通信システム(100)の簡易ブロック図を示す。システム(100)は、ネットワーク(150)を介して相互接続される少なくとも2つの端末(110~120)を含んでよい。データの一方向送信では、第1端末(110)は、ネットワーク(150)を介して他の端末(120)へ送信するために、ビデオデータをローカル位置でコーディングしてよい。第2端末(120)は、ネットワーク(150)から他の端末のコーディングビデオデータを受信し、コーディングデータを復号して、復元したビデオデータを表示してよい。単方向データ伝送は、メディアサービングアプリケーション等で共通であってよい。
【0020】
図1は、例えばビデオ会議中に生じ得る、コーディングビデオの双方向送信をサポートするために適用される第2の端末ペア(130、140)を示す。データの双方向送信では、各端末(130、140)は、ネットワーク(150)を介して他の端末へ送信するために、ローカルでキャプチャしたビデオデータをコーディングしてよい。各端末130、140は、また、他の端末により送信されたコーディングビデオデータを受信してよく、コーディングデータを復号してよく、及び復元したビデオデータをローカルディスプレイ装置で表示してよい。
【0021】
図1では、端末装置(110~140)は、サーバ、パーソナルコンピュータ、及びスマートフォンとして示されてよいが、本開示の原理はこれらに限定されない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレイヤ、及び/又は専用ビデオ会議設備による適用がある。ネットワーク(150)は、端末(110~140)の間でコーディングビデオデータを運ぶ任意の数のネットワークを表し、例えば有線及び/又は無線通信ネットワークを含む。通信ネットワーク(150)は、回線切り替え及び/又はパケット切り替えチャネルでデータを交換してよい。代表的なネットワークは、電子通信ネットワーク、ローカルエリアネットワーク、広域ネットワーク、及び/又はインターネットを含む。本発明の議論の目的で、ネットワーク(150)のアーキテクチャ及びトポロジは、以下で特に断りの無い限り、本開示の動作にとって重要でないことがある。
【0022】
図2は、開示の主題の適用の一例として、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダの配置を示す。開示の主題は、例えばビデオ会議、デジタルTV、CD、DVD、メモリスティック、等を含むデジタル媒体への圧縮ビデオの格納、他のビデオ可能アプリケーション、等に等しく適用可能である。
【0023】
ストリーミングシステムは、例えば非圧縮ビデオサンプルストリーム(202)を生成するビデオソース(201)、例えばデジタルカメラを含み得るキャプチャサブシステム(213)を含んでよい。サンプルストリーム(202)は、符号化ビデオビットストリームと比べるとき高データ容量を強調するために太線で示され、カメラ(201)に結合されるエンコーダ(203)により処理できる。エンコーダ(203)は、ハードウェア、ソフトウェア、又はそれらの組み合わせを含み、以下に詳述するように開示の主題の態様を可能にし又は実装することができる。符号化ビデオビットストリーム(204)は、サンプルストリームと比べたとき、低データ容量を強調するために細線で示され、将来の使用のためにストリーミングサーバ(205)に格納できる。1つ以上のストリーミングクライアント(206、208)は、ストリーミングサーバ(205)にアクセスして、符号化ビデオビットストリーム(204)のコピー(207、209)を読み出すことができる。クライアント(206)は、ビデオデコーダ(210)を含むことができる。ビデオデコーダ(310)は、符号化ビットストリーム(207)の入来するコピーを復号し、ディスプレイ(212)又は他のレンダリング装置(図示しない)においてレンダリング可能な出力ビデオサンプルストリーム(211)を生成する。幾つかのストリーミングシステムでは、ビデオビットストリーム(204、207、209)は、特定のビデオコーディング/圧縮規格に従い符号化できる。これらの規格の例は、ITU-T Recommendation H.265を含む。策定中のビデオコーディング規格は、略式にVVC(Versatile Video Coding)として知られている。開示の主題は、VVCの文脈で使用されてよい。
【0024】
図3は、本開示の実施形態によるビデオデコーダ(210)の機能ブロック図であり得る。
【0025】
受信機(310)は、ビデオデコーダ(210)により復号されるべき1つ以上のコーディングビデオシーケンス、同じ又は別の実施形態では、一度に1つのコーディングビデオシーケンスを受信してよい。ここで、各コーディングビデオシーケンスの復号は、他のコーディングビデオシーケンスと独立している。コーディングビデオシーケンスは、符号化ビデオデータを格納する記憶装置へのハードウェア/ソフトウェアリンクであってよいチャネル(312)から受信されてよい。受信機(310)は、他のデータ、例えば、それぞれの使用エンティティ(図示しない)へと転送され得るコーディング音声データ及び/又は補助データストリームと共に、符号化ビデオデータを受信してよい。受信機(310)は、他のデータからコーディングビデオシーケンスを分離してよい。ネットワークジッタを除去するために、バッファメモリ(315)は、受信機(310)とエントロピーデコーダ/パーサ(320)(以後、「パーサ」)との間に接続されてよい。受信機(310)が、十分な帯域幅の記憶/転送装置から制御可能に、又はアイソクロナス(isosynchronous)ネットワークから、データを受信しているとき、バッファ(315)は、必要なくてよく又は小さくできる。インターネットのようなベストエフォート型パケットネットワークで使用する場合、バッファ(315)が必要であってよく、比較的大きくすることができ、有利なことに適応サイズにすることができる。
【0026】
ビデオデコーダ(210)は、エントロピーコーディングビデオシーケンスからシンボル(321)を再構成するために、パーサ(320)を含んでよい。これらのシンボルのカテゴリは、デコーダ(210)の動作を管理するために使用される情報、及び場合によっては図3に示したようにデコーダの統合部分ではないがデコーダに接続され得るディスプレイ(212)のようなレンダリング装置を制御するための情報を含む。レンダリング装置のための制御情報は、SEI(Supplementary Enhancement Information)メッセージ又はVUI(Video Usability Information)パラメータセットフラグメント(図示しない)の形式であってよい。パーサ(320)は、受信された符号かビデオシーケンスをパース/エントロピー復号してよい。コーディングビデオシーケンスのコーディングは、ビデオコーディング技術又は規格に従うことができ、可変長コーディング、ハフマンコーディング、コンテキスト依存関係を有する又は有しない算術的コーディング、等を含む、当業者によく知られた原理に従うことができる。パーサ(320)は、コーディングビデオシーケンスから、ビデオデコーダの中のピクセルのサブグループのうちの少なくとも1つについて、該グループに対応する少なくとも1つのパラメータに基づき、サブグループパラメータのセットを抽出してよい。サブグループは、GOP(Groups of Picture)、ピクチャ、サブピクチャ、タイル、スライス、ブリック、マクロブロック、コーディングツリーユニット(Coding Tree Unit :CTU)、コーディングユニット(Coding Unit:CU)、ブロック、変換ユニット(Transform Unit:TU)、予測ユニット(Prediction Unit:PU)、等を含み得る。タイルは、ピクチャ内の特定のタイル列及び行の中で長方形領域のCU/CTUを示してよい。ブリックは、特定のタイル内の長方形領域のCU/CTU行を示してよい。スライスは、NALユニットに含まれる、ピクチャの1つ以上のブリックを示してよい。サブピクチャは、ピクチャ内の1つ以上のスライスの長方形領域を示してよい。エントロピーデコーダ/パーサは、コーディングビデオシーケンスから、変換係数、量子化パラメータ値、動きベクトル、等のような情報も抽出してよい。
【0027】
パーサ(320)は、バッファ(315)から受信したビデオシーケンスに対してエントロピー復号/パース動作を実行して、シンボル(321)を生成してよい。
【0028】
シンボル(321)の再構成は、コーディングビデオピクチャ又はその部分の種類(例えば、インター及びイントラピクチャ、インター及びイントラブロック)及び他の要因に依存して、複数の異なるユニットを含み得る。どのユニットがどのように含まれるかは、パーサ(320)によりコーディングビデオシーケンスからパースされたサブグループ制御情報により制御できる。パーサ320と以下の複数のユニットとの間のこのようなサブグループ制御情報のフローは、明確さのために示されない。
【0029】
既に言及した機能ブロックを超えて、デコーダ(210)は、後述のように、多数の機能ユニットに概念的に細分化できる。商用的制約の下で動作する実際の実装では、これらのユニットの多くは、互いに密に相互作用し、少なくとも部分的に互いに統合され得る。しかしながら、開示の主題を説明する目的で、機能ユニットへの以下の概念的細分化は適切である。
【0030】
第1ユニットは、スケーラ/逆変換ユニット351である。スケーラ/逆変換ユニット(351)は、量子化された変換係数、及び、どの変換が使用されるべきか、ブロックサイズ、量子化係数、量子化スケーリングマトリクス、等を含む制御情報を、パーサ(320)からのシンボル(321)として受信する。これは、アグリゲータ(355)に入力され得るサンプル値を含むブロックを出力できる。
【0031】
幾つかの例では、スケーラ/逆変換ユニット(351)の出力サンプルは、イントラコーディングブロック、つまり、前に再構成されたピクチャからの予測情報を使用しないが現在ピクチャの前に再構成された部分からの予測情報を使用可能なブロック、に属することができる。このような予測情報は、イントラピクチャ予測ユニット(352)により提供できる。幾つかの場合には、イントラピクチャ予測ユニット(352)は、再構成中のブロックと同じサイズ及び形状のブロックを、現在(部分的に再構成された)ピクチャ(358)からフェッチした周囲の既に再構成された情報を用いて、生成する。アグリゲータ(355)は、幾つかの場合には、サンプル毎に、イントラ予測ユニット(352)の生成した予測情報を、スケーラ/逆変換ユニット(351)により提供された出力サンプル情報に追加する。
【0032】
他の場合には、スケーラ/逆変換ユニット(351)の出力サンプルは、インターコーディングされた、場合によっては動き補償されたブロックに関連し得る。このような場合には、動き補償予測ユニット(353)は、参照ピクチャメモリ(357)にアクセスして、予測のために使用されるサンプルをフェッチできる。ブロックに関連するシンボル(321)に従いフェッチしたサンプルを動き補償した後に、これらのサンプルは、アグリゲータ(355)により、出力サンプル情報を生成するために、スケーラ/逆変換ユニットの出力に追加され得る(この場合、残差サンプル又は残差信号と呼ばれる)。動き補償予測ユニットが予測サンプルをフェッチする参照ピクチャメモリ内のアドレスは、例えばX、Y及び参照ピクチャコンポーネントを有し得るシンボル(321)の形式で、動き補償予測ユニットの利用可能な動きベクトルにより制御できる。動き補償は、サブサンプルの正確な動きベクトルが使用中であるとき参照ピクチャメモリからフェッチされたサンプル値の補間、動きベクトル予測メカニズム、等も含み得る。
【0033】
アグリゲータ(355)の出力サンプルは、ループフィルタユニット(356)において種々のループフィルタリング技術を受け得る。ビデオ圧縮技術は、コーディングビデオビットストリームに含まれ且つパーサ(320)からのシンボル(321)としてループフィルタユニット(356)に利用可能にされたパラメータにより制御されるが、コーディングピクチャ又はコーディングビデオシーケンスの(復号順序で)前の部分の復号中に取得されたメタ情報にも応答し、前に再構成されループフィルタリングされたサンプル値にも応答し得るインループフィルタ技術を含み得る。
【0034】
ループフィルタユニット(356)の出力は、レンダー装置(212)へと出力でき及び将来のインターピクチャ予測で使用するために参照ピクチャメモリに格納され得るサンプルストリームであり得る。
【0035】
特定のコーディングピクチャは、一旦完全に再構成されると、将来の予測のための参照ピクチャとして使用できる。コーディングピクチャが完全に再構成され、コーディングピクチャが(例えばパーサ(320)により)参照ピクチャとして識別されると、現在参照ピクチャ(358)は、参照ピクチャバッファ(357)の一部になることができ、後続のコーディングピクチャの再構成を開始する前に、新鮮な現在ピクチャメモリを再割り当てできる。
【0036】
ビデオデコーダ(210)は、ITU-T Rec. H.265のような規格で策定され得る所定のビデオ圧縮技術に従い復号動作を実行してよい。コーディングビデオシーケンスが、ビデオ圧縮技術又は規格で、具体的にはその中のプロファイル文書で指定された、ビデオ圧縮技術又は規格のシンタックスに従うという意味で、コーディングビデオシーケンスは、使用中のビデオ圧縮技術又は規格により指定されたシンタックスに従ってよい。また、遵守のために必要なことは、コーディングビデオシーケンスの複雑さが、ビデオ圧縮技術又は規格のレベルにより定められる限界の範囲内であることであり得る。幾つかの場合には、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えばメガサンプル/秒で測定される)、最大参照ピクチャサイズ、等を制限する。レベルにより設定される限界は、幾つかの場合には、HRD(Hypothetical Reference Decoder)仕様及びコーディングビデオシーケンスの中でシグナリングされるHRDバッファ管理のためのメタデータを通じて更に制限され得る。
【0037】
実施形態では、受信機(310)は、符号化ビデオと共に追加(冗長)データを受信してよい。追加データは、コーディングビデオシーケンスの部分として含まれてよい。追加データは、データを正しく復号するため及び/又は元のビデオデータをより正確に再構成するために、ビデオデコーダ210により使用されてよい。追加データは、例えば、時間的、空間的、又はSNR拡張レイヤ、冗長スライス、冗長ピクチャ、前方誤り訂正符号、等の形式であり得る。
【0038】
図4は、本開示の一実施形態によるビデオエンコーダ(203)の機能ブロック図であり得る。
【0039】
エンコーダ(203)は、ビデオサンプルを、エンコーダ(203)によりコーディングされるべきビデオ画像をキャプチャし得るビデオソース(201)(エンコーダの部分ではない)から受信してよい。
【0040】
ビデオソース(201)は、エンコーダ(203)によりコーディングされるべきソースビデオシーケンスを、任意の適切なビット深さ(例えば、8ビット、10ビット、12ビット、...)、任意の色空間(例えば、BT.601 Y CrCb, RGB,...)、及び任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0, Y CrCb 4:4:4)のデジタルビデオサンプルストリームの形式で、提供してよい。メディア提供システムでは、ビデオソース(201)は、前に準備されたビデオを格納する記憶装置であってよい。ビデオ会議システムでは、ビデオソース(203)は、ビデオシーケンスとしてローカル画像情報をキャプチャするカメラであってよい。ビデオデータは、続けて閲覧されると動きを与える複数の個別ピクチャとして提供されてよい。ピクチャ自体は、ピクセルの空間的配列として組織化されてよい。各ピクセルは、使用中のサンプリング構造、色空間、等に依存して、1つ以上のサンプルを含み得る。当業者は、ピクセルとサンプルとの間の関係を直ちに理解できる。以下の説明はサンプルに焦点を当てる。
【0041】
実施形態によると、エンコーダ(203)は、ソースビデオシーケンスのピクチャを、コーディングビデオシーケンス(443)へと、リアルタイムに又はアプリケーションにより要求される任意の他の時間制約の下でコーディングし圧縮してよい。適切なコーディング速度の実施は、制御部(450)の1つの機能である。制御部は、後述するように他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。結合は、明確さのために図示されない。制御部により設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、...)、ピクチャサイズ、GOP(group of pictures)レイアウト、最大動きベクトル探索範囲、等を含み得る。当業者は、特定のシステム設計のために最適化されたビデオエンコーダ(203)に関連し得るとき、制御部450の他の機能を直ちに識別できる。
【0042】
幾つかのビデオエンコーダは、当業者が「コーディングループ」として直ちに認識する中で動作する。非常に簡略化した説明として、コーディングループは、エンコーダ(430)(以後、「ソースコーダ」)(コーディングされるべき入力ピクチャと参照ピクチャとに基づき、シンボルを生成する)及びエンコーダ(203)内に組み込まれ、シンボルを再構成して、(シンボルとコーディングビデオビットストリームとの間の任意の圧縮が開示の主題において考慮されるビデオ圧縮技術の中で無損失であるとき)(リモート)デコーダが生成し得るサンプルデータを生成する(ローカル)デコーダ(433)の符号化部分を含むことができる。再構成されたサンプルストリームは、参照ピクチャメモリ434に入力される。シンボルストリームの復号が、デコーダ位置(ローカル又はリモート)と独立にビット正確な結果をもたらすとき、参照ピクチャバッファの内容も、ローカルエンコーダとリモートエンコーダとの間でビット正確である。言い換えると、エンコーダの予測部分が、復号中に予測を用いるときデコーダが「見る」のと正確に同じサンプル値を、参照ピクチャサンプルとして「見る」。参照ピクチャ同期性のこの基本原理(及び、例えばチャネルエラーのために同期性が維持できない場合には、結果として生じるドリフト)は、当業者によく知られている。
【0043】
「ローカル」デコーダ(433)の動作は、図3と関連して以上に詳述した「リモート」デコーダ(210)のものと同じであり得る。簡単に図4も参照すると、しかしながら、シンボルが利用可能であり、エントロピーコーダ(445)及びパーサ(320)によるコーディングビデオシーケンスへのシンボルの符号化/復号が無損失であり得るので、チャネル(312)、受信機(310)、バッファ(315)、及びパーサ(320)を含むデコーダ(210)のエントロピー復号部分は、ローカルデコーダ(433)に完全に実装されなくてよい。
【0044】
この点で行われる考察は、デコーダ内に存在するパース/エントロピー復号を除く任意のデコーダ技術も、対応するエンコーダ内と実質的に同一の機能形式で存在する必要があるということである。この理由から、開示の主題は、デコーダ動作に焦点を当てる。エンコーダ技術の説明は、それらが包括的に説明されるデコーダ技術の逆であるので、省略できる。特定の領域においてのみ、より詳細な説明が必要であり、以下に提供される。
【0045】
動作中、幾つかの例では、ソースコーダ(430)は、動き補償された予測コーディングを実行してよい。これは、「参照フレーム」として指定されたビデオシーケンスからの1つ以上の前にコーディングされたフレームを参照して予測的に入力フレームをコーディングする。この方法では、コーディングエンジン(432)は、入力フレームのピクセルブロックと、入力フレームに対する予測基準として選択されてよい参照フレームのピクセルブロックとの間の差分をコーディングする。
【0046】
ローカルビデオデコーダ(433)は、ソースコーダ(430)により生成されたシンボルに基づき、参照フレームとして指定されてよいフレームのコーディングビデオデータを復号してよい。コーディングエンジン(432)の動作は、有利なことに、損失処理であってよい。コーディングビデオデータがビデオデコーダ(図4に図示されない)において復号され得るとき、再構成ビデオシーケンスは、標準的に、幾つかのエラーを有するソースビデオシーケンスの複製であってよい。ローカルビデオデコーダ(433)は、参照フレームに対してビデオデコーダにより実行され得る復号処理を複製し、参照ピクチャキャッシュ(434)に格納されるべき再構成参照フレームを生じ得る。このように、エンコーダ(203)は、(伝送誤りが無ければ)遠端ビデオデコーダにより取得される再構成参照フレームと共通の内容を有する再構成参照フレームのコピーをローカルに格納してよい。
【0047】
予測器(435)は、コーディングエンジン(432)のために予測探索を実行してよい。つまり、コーディングされるべき新しいフレームについて、予測器(435)は、新しいピクチャのための適切な予測基準として機能し得る(候補参照ピクセルブロックのような)サンプルデータ又は参照ピクチャ動きベクトル、ブロック形状、等のような特定のメタデータについて、参照ピクチャメモリ(434)を検索してよい。予測器(435)は、適切な予測基準を見付けるために、サンプルブロック-ピクセルブロック毎に動作してよい。幾つかの例では、予測器(435)により取得された検索結果により決定されるように、入力ピクチャは、参照ピクチャメモリ(434)に格納された複数の参照ピクチャから引き出された予測基準を有してよい。
【0048】
制御部(450)は、例えば、ビデオデータの符号化のために使用されるパラメータ及びサブグループパラメータの設定を含む、ビデオコーダ(430)のコーディング動作を管理してよい。
【0049】
全ての前述の機能ユニットの出力は、エントロピーコーダ(445)におけるエントロピーコーディングを受けてよい。エントロピーコーダは、ハフマンコーディング、可変長コーディング、算術コーディング、等のような当業者によく知られた技術に従いシンボルを無損失圧縮することにより、種々の機能ユニットにより生成されたシンボルを、コーディングビデオシーケンスへと変換する。
【0050】
送信機(440)は、コーディングビデオデータを格納し得る記憶装置へのハードウェア/ソフトウェアリンクであってよい通信チャネル(460)を介する伝送のために準備するために、エントロピーコーダ(445)により生成されたコーディングビデオシーケンスをバッファリングしてよい。送信機(440)は、ビデオコーダ(430)からのコーディングビデオデータを、送信されるべき他のデータ、例えばコーディング音声データ及び/又は補助データストリーム(図示されないソース)とマージ(merge)してよい。
【0051】
制御部(450)は、エンコーダ(203)の動作を管理してよい。コーディング中、制御部(450)は、それぞれのピクチャに適用され得るコーディング技術に影響し得る特定のコーディングピクチャタイプを、各コーディングピクチャに割り当ててよい。例えば、ピクチャは、多くの場合、以下のピクチャタイプのうちの1つとして割り当てられてよい。
【0052】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の任意の他のフレームを使用せずにコーディング及び復号され得るピクチャであってよい。幾つかのビデオコーデックは、例えばIDR(Independent Decoder Refresh)ピクチャを含む異なる種類のイントラピクチャを許容する。当業者は、Iピクチャの変形、及びそれらの個々の適用及び特徴を認識する。
【0053】
予測ピクチャ(Pピクチャ)は、殆どの場合、各ブロックのサンプル値を予測するために1つの動きベクトル及び参照インデックスを用いてイントラ予測又はインター予測を用いてコーディング及び復号され得るピクチャであってよい。
【0054】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために最大2つの動きベクトル及び参照インデックスを用いてイントラ予測又はインター予測を用いてコーディング及び復号され得るピクチャであってよい。同様に、マルチ予測ピクチャは、単一のブロックの再構成のために、2つより多くの参照ピクチャ及び関連付けられたメタデータを使用できる。
【0055】
ソースピクチャは、共通に、複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8、又は16×16個のサンプルのブロック)に空間的に細分化され、ブロック毎にコーディングされてよい。ブロックは、ブロックのそれぞれのピクチャに適用されるコーディング割り当てにより決定される他の(既にコーディングされた)ブロックへの参照により予測的にコーディングされてよい。例えば、Iピクチャのブロックは、非予測的にコーディングされてよく、又はそれらは同じピクチャの既にコーディングされたブロックを参照して予測的にコーディングされてよい(空間予測又はイントラ予測)。Pピクチャのピクセルブロックは、1つの前にコーディングされた参照ピクチャを参照して、空間予測を介して又は時間予測を介して、予測的にコーディングされてよい。Bピクチャのブロックは、1つ又は2つの前にコーディングされた参照ピクチャを参照して、空間予測を介して又は時間予測を介して、非予測的にコーディングされてよい。
【0056】
ビデオコーダ(203)は、ITU-T Rec. H.265のような所定のビデオコーディング技術又は規格に従いコーディング動作を実行してよい。その動作において、ビデオコーダ(203)は、入力ビデオシーケンスの中の時間的及び空間的冗長性を利用する予測コーディング動作を含む種々の圧縮動作を実行してよい。コーディングビデオデータは、従って、使用されているビデオコーディング技術又は規格により指定されたシンタックスに従ってよい。
【0057】
一実施形態では、送信機(440)は、符号化ビデオと共に追加データを送信してよい。ビデオコーダ(430)は、このようなデータをコーディングビデオシーケンスの部分として含んでよい。追加データは、時間/空間/SNR拡張レイヤ、冗長ピクチャ及びスライスのような他の形式の冗長データ、SEI(Supplementary Enhancement Information)メッセージ、VUI(Visual Usability Information)パラメータセットフラグメント、等を含んでよい。
【0058】
イントラブロックコピー(Intra Block Copy)
異なるピクチャからのブロックに基づく補償は、動き補償と呼ばれる。同様に、ブロック補償は、同じピクチャ内の前に再構成された領域からも実行できる。これは、イントラピクチャブロック補償、現在ピクチャ参照(current picture referencing (CPR))、又はイントラブロックコピー(intra block copy (IBC))と呼ばれる。現在ブロックと参照ブロックとの間のオフセット示す変位ベクトルは、ブロックベクトル(block vector (BV))と呼ばれる。任意の値(x又はy方向のいずれかにおいて正又は負)であり得る動き補償における動きベクトルと異なり、ブロックベクトルは、ポイントされる参照ブロックが利用可能であり既に再構成されていることを保証するために、幾つかの制約を有してよい。また、並列処理を考慮するために、タイル境界又は波面はしご形状境界である特定の参照領域は、IBCでは排除される。
【0059】
ブロックベクトルのコーディングは、明示的又は暗示的であり得る。インターコーディングで高度移動ベクトル予測(advanced motion vector prediction (AMVP))モードと呼ばれる)明示的モードでは、ブロックベクトルとその予測子との間の差分がシグナリングされる。暗示的モードでは、ブロックベクトルは、マージモードで動きベクトルと同様の方法で、その予測子から純粋に復元される。ブロックベクトルの分解能は、幾つかの実装では整数位置に制限され、他のシステムでは分数位置を指すことが許容されてよい。
【0060】
ブロックレベルにおけるイントラブロックコピーの使用は、ブロックレベルフラグ、例えばIBCフラグを用いてシグナリングできる。実施形態では、現在ブロックがマージモードでコーディングされないとき、このフラグがシグナリングされる。或いは、それは、参照インデックスアプローチによりシグナリングできる。これは、現在復号されるピクチャを参照ピクチャとして扱うことにより行われる。HEVCSCCでは、そのような参照ピクチャは、リストの最後の位置に置かれる。この特別な参照ピクチャは、また、DPB内の他の時間的参照ピクチャと一緒にマージされる。
【0061】
イントラブロックコピーを第3のモードとして取り扱うような、イントラブロックコピーの幾つかの変形も存在し、これはイントラ又はインター予測モードのいずれとも異なる。こうすることにより、マージモード及びAMVPモードにおけるブロックベクトル予測は、通常のインターモードと分けられる。例えば、イントラブロックコピーモードのために別個のマージ候補リストが定義され、リスト内の全部のエントリが全部ブロックベクトルである。同様に、イントラブロックコピーAMVPモードにおけるブロックベクトル予測リストは、ブロックベクトルのみで構成される。両方のリストに適用される一般的ルールは、それらが候補導出処理の観点でインターマージ候補リスト又はAMVP予測子リストと同じロジックに従ってよいことである。例えば、HEVC又はVVCインターマージモードにおける5個の空間的近隣位置は、自身のマージ候補リストを導出するために、イントラブロックコピーのためにアクセスされる。
【0062】
イントラブロックコピーの例は、図5に示される。図5は、現在ブロック502が参照ブロック504に基づき復号される現在ピクチャ500を示す。参照ブロック504の位置はブロックベクトル506により示される。
【0063】
現在、VVCでは、CPRモードの探索範囲は、現在CTU内であるよう制約される。CPRモードの参照サンプルを格納するための効率的なメモリ要件は、1CTUサイズのサンプルである。
【0064】
この例は、図6A~6Dに示される。例えば、図6Aでは、参照サンプル612aは、Xでマークされ、現在サンプル611のために利用できない。同様に図6Bでは、参照サンプル622a及び622bは、現在サンプル621のために利用できない。図6Cでは、参照サンプル632a、632b、632cは、現在サンプル631のために利用できない。図6Dでは、参照サンプル642a、642b、642c、624dは、現在サンプル641のために利用できない。
【0065】
現在64×64領域の中の再構成サンプルを格納するために既存の参照サンプルメモリを考えると、更に3個の64×64サイズの参照サンプルメモリが必要である。従って、以下に更に詳述される幾つかの実施形態は、CPRモードの効率的な探索範囲を、左CTUの何らかの部分にまで拡張してよく、一方で、参照ピクセルを格納するための合計メモリ要件は不変のままである(1CTUサイズ、全部で4個の64×64参照サンプルメモリ)。
【0066】
有効なブロックベクトル(mvL、1/1pel解像度)が従ってよいビットストリーム適合条件の例が以下に列挙される:
【0067】
ビットストリーム適合の要件は、ルマ動きベクトルmvLが以下の制約に従うことである:
A1:条項6.4.X[近隣グロック利用可能性チェック処理]で指定されるようなブロック利用可能性の導出処理が、(xCb,yCb)に等しく設定された現在ルマ位置(xCurr,yCurr)、及び近隣ルマ位置(xCb+(mvL[0]>>4),yCb+(mvL[1]>>4))を入力として呼び出されるとき、出力はTRUEに等くなければならない。
A2:条項6.4.X[近隣グロック利用可能性チェック処理]で指定されるようなブロック利用可能性の導出処理が、(xCb,yCb)に等しく設定された現在ルマ位置(xCurr,yCurr)、及び近隣ルマ位置(xCb+(mvL[0]>>4)+cbWidth-1,yCb+(mvL[1]>>4)+cbHeight-1)を入力として呼び出されるとき、出力はTRUEに等しくなければならない。
B1:以下の条件のうちの一方又は両方が真であるべきである。
・(mvL[0]>>4)+cbWidthの値が0以下である。
・(mvL[1]>>4)+cbHeightの値が0以下である。
C1:以下の条件が真であるべきである。
【数1】
C2:(xCb+(mvL[0]>>4))>>CtbLog2SizeYが(xCb>>CtbLog2SizeY)-1に等しいとき、条項6.4.X[近隣グロック利用可能性チェック処理]で指定されるようなブロック利用可能性の導出処理は、(xCb,yCb)に等しく設定された現在ルマ位置(xCurr,yCurr)、及び近隣ルマ位置(((xCb+(mvL[0]>>4)+CtbSizeY)>>(CtbLog2SizeY-1))<<(CtbLog2SizeY-1),((yCb+(mvL[1]>>4))>>(CtbLog2SizeY-1))<<(CtbLog2SizeY-1))を入力として呼び出され、出力はFALSE(偽)に等しくなければならない。
【0068】
VVC/HEVC空間マージ候補
図7は、HEVC及びVVCのための5個の空間マージ候補の位置を示す。候補リストを形成する順序は、A0->B0->B1->A1->B2である。
【0069】
履歴に基づく動きベクトル予測
動きベクトル予測(motion vector prediction (MVP))を実行するとき、履歴に基づく動きベクトル予測(history-based motion vector prediction (HMVP))マージ候補は、空間MVP及び時間MVP(TMVP)の後に、マージリストに追加されてよい。この方法では、前のコーディングブロックの動き情報は、テーブルに格納され、現在CUのMVPとして使用される。複数のHMVP候補を有するテーブルは、符号化/復号処理の間、維持される。テーブルは、新しいCTU行に遭遇するとリセットされる(空にされる)。サブブロックインターコーディングCUが存在しないときは常に、関連する動き情報は、新しいHMVP候補として、テーブルの最後のエントリに追加される。
【0070】
VTM3では、HMVPテーブルのサイズSは、6に設定される。これは、最大6個の履歴に基づくMVP(History-based MVP (HMVP))候補がテーブルに追加されてよいことを示す。新しい動き候補をテーブルに挿入するとき、制約された先入れ先出し(first-in-first-out (FIFO))ルールが利用される。ここで、冗長性チェックが先ず適用されて、テーブル内に同一のHMVPが存在するか否かを見付ける。見付かった場合、同一のHMVPはテーブルから削除され、以降の全部のHMVP候補が前方に移動される。
【0071】
HMVP候補は、マージ候補リスト構成処理で使用され得る。テーブル内の最後の幾つかのHMVP候補は、順番にチェックされ、TMVP候補の後に候補リストに挿入される。冗長性チェックは、空間又は時間マージ候補に対して、HMVP候補に適用される。
【0072】
冗長性チェック演算の数を削減するために、以下の簡略化が導入されてよい:
1)マージリスト生成のために使用されるHMVP候補の数は(N<=4)?M:(8-N)として設定される。ここで、Nは、マージリスト内に存在する候補の数を示し、Mは、テーブル内の利用可能なHMVP候補の数を示す。
2)利用可能なマージ候補の合計数が最大許容候補数-1に達すると、HMVPからのマージ候補リスト構成処理は終了する。
【0073】
イントラブロックコピーがインターモードと別のモードとして動作するとき、HBVPと呼ばれる別のヒストリバッファが、前にコーディングされたイントラブロックコピーブロックベクトルを格納するために使用される。
【0074】
インター予測と別個のモードとして、それは、イントラブロックコピーモードの簡略化されたブロックベクトル導出処理を有することが望ましい。同予の履歴に基づくブロックベクトル予測子バッファは、BV予測を実行するために使用できる。以下では、そのようなHBVPの幾つかの特定の使用のために幾つかの情報が提供される。
【0075】
クラスに基づく、履歴に基づくブロックベクトル予測
HBVPバッファは、ブロックサイズ、ブロック位置、等のような幾つかの他の副情報を含む前のIBCコーディングブロックのBV情報を記録するために確立される。
【0076】
記録された情報に基づき、現在ブロック毎に、以下の条件を満たすHBVP内のBVは、対応するカテゴリに分類される:
【0077】
クラス0:コーディングブロックの領域(幅*高さ)が閾値(64ピクセル)以上である。
【0078】
クラス1:BVの頻度(frequency)が2以上である。
【0079】
クラス2:コーディングブロック候補(左上角)が現在ブロックの左にある。
【0080】
クラス3:コーディングブロック候補(左上角)が現在ブロックの上にある。
【0081】
クラス4:コーディングブロック候補(左上角)が現在ブロックの左側上にある。
【0082】
クラス5:コーディングブロック候補(左上角)が現在ブロックの右側上にある。
【0083】
クラス6:コーディングブロック候補(左上角)が現在ブロックの左側下にある。
【0084】
カテゴリ毎に、最近のコーディングブロックのBVが、BV予測子候補として導出される。CBVPリストは、0~6の範囲の各カテゴリのBV予測子を付加することにより構成される。
【0085】
ストリング照合(ストリングコピー)
コーディングブロックは、幾つかの連続するストリングに分割されてよく、各ストリングの後に走査順に沿って次のストリングが続く。走査順は、ラスタスキャン又はトラバーススキャンであることができる。スキャン方向は、垂直又は水平方向であることができる。ストリング毎に、ストリングオフセットベクトル(string offset vector (SV))及びストリングの長さ(length of the string (SL))がシグナリングされる。SVは、参照ストリングが参照領域内のどこからであるかを示すために使用される。長さは、現在/参照ストリングがどれくらい長いかを示すために使用される。
【0086】
ストリング照合又はストリングコピーモードの例は、図8に示される。ここで、8×8CUであってよいCU802は、ラスタスキャン順序を用いて、2つのストリング、例えばストリング804及びストリング806に分割される。ストリング804は最初の29個のサンプルを含み、ストリング806は最後の35個のサンプルを含む。ストリング804及びストリング806の参照は、対応するストリングオフセットベクトルにより示される。例えば、参照ストリング808は、ストリングオフセットベクトル810により示され、参照ストリング812は、ストリングオフセットベクトル814により示される。図8の点線領域は、参照のために使用できる既に再構成された領域である。現在ブロック内のサンプルが参照領域内で自身に一致するものを見付けることができない場合、エスケープサンプルがシグナリングされ、その値は直接コーディングされる。
【0087】
幾つかの従前の方法では、単一値ストリングと呼ばれる空間ストリング照合モードが、コーディング効率を向上するために使用され得る。このモードではSV及びSLが依然としてシグナリングされる。しかし、ストリング全体の中のサンプルは、同じカラー値を共有する。従って、SVは、参照領域からサンプル毎にコピーする代わりに、参照領域内のどの値をこのストリングが使用するかをポイントするために使用される。
【0088】
単一値ストリングモードでは、SVコーディングのシグナリングコストは、コーディング効率を更に向上するために低減できる。
【0089】
パレットモード
スクリーンコンテンツの特定の特性により、HEVC及びVVCのスクリーンコーディング拡張のためのコーディングツールが開発された。ツールは、コーディング効率における有意な利得を示した。特に、パレットモードは、パレット(主要カラー)へのインデックスを用いてピクセルのブロックを表し、空間的冗長性を利用することにより、パレット及びインデックスを符号化する。標準的なパレットモードコーディング方法は、2つの部分から成る:つまり、パレットのコーディング方法と、パレットを用いるサンプルのためのコーディング方法である。後者の部分は、パレットインデックスコーディング、ラン長コーディング、及びエスケープピクセルコーディングで構成される。ここで、パレットコーディング処理に関する要約を提供する。詳細は、ここに全体が組み込まれるバーサタイルビデオコーディング(ドラフト2)、ISO/IEC JTC1/SC29/WG11 JVET-K1001で得られる。
【0090】
主要カラー(Major Colors)の選択
非常に簡易だが効率的なヒストグラムに基づくアルゴリズムが、ピクセルを分類するために使用される。具体的に、ヒストグラムの中の最上位Lピーク値が主要カラーとして選択される。主要カラーに近いピクセル値は、主要カラーに量子化される。任意の主要カラーセットに属さない他のピクセルは、コーディングの前に量子化されるエスケープピクセルである。無損失コーディングでは、量子化処理は使用されない。ピクセル毎に、どのカラーセットに属するかを示すために、カラーインデックスが割り当てられる。カラーインデックスは、用語が混乱を生じないとき、便宜上インデックスとも呼ばれてよい。L個の主要カラーが使用される場合、0~(L-1)の値の主要カラーは、L個の主要カラーのセットについてシグナリングされ、主要カラーNの値はエスケープピクセルセットについてシグナリングされる。パレットは、通常、各カラーエントリがインデックスに関連付けられるカラールックアップテーブルとして実装される。ルマ及びクロマコンポーネントの両方をコーディングするために、単一のパレットが使用される。各エントリは、特定のRGB(YUV)カラーを表す。例えば、(R,G,B)=(0,0,0)を有するエントリ1は、純粋な黒色を表し、(R,G,B)=(2,10,200)を有するエントリ0は、青みを帯びた色を表す。ビデオフォーマットが420であるとき、クロマ平面はアップサンプリングされ、カラーパレットを生成する。
【0091】
パレットモードコーディング
パレットに基づくコーディングは、CUに基づき実行される。
【0092】
パレットエントリの符号化
参照としてパレット予測子リストを用いて現在パレットをコーディングするために、パレット予測子リスト内の各エントリが現在パレットの中で再利用されるかどうかを示すバイナリベクトルが使用される。再利用されるエントリは、現在パレットの始めに置かれ、パレット予測子リスト内のそれらの順序を維持する。これの後に、パレット予測子リスト内に存在しない新しいパレットエントリが続く。所定のエントリを有するパレットイニシャライザが、任意で、パレット予測子リストを初期化するために使用でき、結果としてそのようなシナリオでコーディング効率の向上をもたらす。パレットイニシャライザは、ピクチャパラメータセット(picture parameter set (PPS))又はシーケンスパラメータセット(sequence parameter set (SPS))内でシグナリングできる。
【0093】
最大許容パレット予測子サイズ及びパレットサイズは、高レベルシンタックス(例えばSPS内)で、又はエンコーダ及びデコーダの両方により合意された定義された値として、シグナリングされる。
【0094】
例えば、SPS内で、最大予測子パレットサイズは63であるとシグナリングされ、最大パレットサイズは31であるとシグナリングされる。別の例では、これらの2つの値は、シグナリング無しに、エンコーダ及びデコーダにより仮定される。
【0095】
カラーインデックスの符号化
分類の後に、ブロックのピクセルは、選択された主要カラーセットに従いカラーインデックスに変換できる。予測コーディング方法がインデックスに適用される。ここで、ピクセルラインは、水平モード(つまり、コピーインデックスモード)、垂直モード(つまり、コピー上モード)、及び通常モード(つまり、エスケープモード)を含む3つの異なるモードにより予測できる。文献では、カラーインデックスをコーディングするとき、2つのインデックス走査順序が使用される。つまり、水平トラバーススキャン、及び垂直トラバーススキャンである。インデックス循環フラグは、どのスキャン順序が使用されるかを示すためにシグナリングされる。
【0096】
コピーインデックスモード
コピーインデックスモードでは、最初のピクセルから開始して、1つ以上の連続するインデックスが最初のピクセルからコピーされる。最初のピクセルのインデックスがシグナリングされる。
【0097】
コピー上モード
このモードでは、1つ以上の連続するインデックスが、上のピクセルラインからコピーされる。
【0098】
エスケープモード
次に、エスケープピクセルに遭遇し(主要カラーセット内の最大インデックスによりシグナリングされる)、その対応するピクセル値がインデックスの直後にコーディングされる。CUでは異なるカラー値で、1つより多くのエスケープピクセルが存在してよい。異なるエスケープピクセル位置では、エスケープピクセルのピクセル値は異なってよい。
【0099】
各コピーインデックスモードについて、インデックス値がシグナリングされる。インデックスシグナリングは、CABACスループットを向上するために、前にグループ化される。エスケープ値は、同じ理由で、後でシグナリングされる。コピーインデックスモード及びコピー上モードは、インデックスコーディングとエスケープコーディングとの間にシグナリングされる。
【0100】
ルマ及びクロマコンポーネントのための別個のコーディングツリー構造
伝統的に、コーディングユニットは、ルマ及びクロマコンポーネントの両方のサンプルを含む。JVETでは、クロマコンポーネントのサンプルが、ルマコンポーネントと比べて独立した又は別個の分割ツリー構造を有してよい(デュアルツリーとも呼ばれる)。標準的に、そのような別個のコーディングツリー構造は、CTUレベルから開始する。従って、クロマCU(2つのクロマコンポーネントのみを含むCU)は、対応するサンプル位置におけるそのルマ相対物より大きくなる可能性がある。別の場合には、小さなクロマブロック(例えば、4×4クロマサンプッルより小さいCU)の使用を回避するために、ルマ及びクロマコーディングの分離が、デュアルツリーでCTUベレルより下のコーディングツリーレベルから開始するように、「ローカルデュアルツリー」が提案された。幾つかの条件が満たされると(例えば、親CUサイズが特定の閾値以下である)、ローカルデュアルツリーがトリガされ、そこから、ルマ及びクロマコーディングが、CTUレベルでデュアルツリーと同様に分離される。
【0101】
単一カラー値を有するストリング照合
以下では、用語「ブロック」は、予測ブロック、コーディングブロック、又はコーディングユニット、つまりCUを表してよい。ストリングは、ブロック、単一サンプル、又はブロック全体の中の走査方向に沿って連続するサンプルのセットを表してよい。
【0102】
実施形態は、単一値ストリングモードでの予測のために選択されたサンプルのセット又は所定の位置を有するサンプルを使用することに関連する。どのカラーが使用されるべきかの指示のためにSVをシグナリングする代わりに、セット内の1つのエントリをポイントするインデックスがシグナリングされる。
【0103】
特定の例1~3が以下で議論されるが、これらの実施形態は単なる例であり、限定を意図しない。
【0104】
<例1>
実施形態では、現在ブロックの空間的近隣再構成サンプルが、単一値ストリングを予測するためのセットを形成するために使用されてよい。例えば、図9に示すように、M×Nのサイズを有する現在ブロック902の上部参照サンプル(TL~TM)及び左参照サンプル(TL~LN)のセットが示される。図9に示す例では、M=N=8であるが、これは限定を意図しない。更に、図9に示す例では、インデックス904は、現在ストリング906の参照としてT1が使用されることを示す。
【0105】
実施形態では、イントラ予測を実行するために使用される、現在ブロックの左の列及び上の行が、候補セットとして使用されてよい。インデックスは、それらから1つを選択するために使用できる。図9では、このセットは、TL、Tx(x=0,1,…M,M+1,…)、及びLy(y=0,1,…,N,N+1,…)にあるサンプルを表してよい。
【0106】
実施形態では、それらの上/左近隣からの位置を表すサブセットが、予測セットを形成するために選択されてよい。図9では、このサブセットは、TL、T、T[M/2](又はT[M/2-1])、TM(又はT[M-1])、及びL、L[N/2](又はL[N/2-1])、LN(又はL[N-1])等の位置にあるサンプルを表してよい。
【0107】
実施形態では、近隣位置は、現在ブロックに直接隣接する必要がなくてよく、それらは、例えば、図9のTXの上の行、図9のLYの左の列、等からのものであってよい。
【0108】
実施形態では、順序ルールは、予測セットを形成するために選択されるサンプルについて確立されてよい。実施形態では、上から選択されたサンプルが最初であり、左から右への順であり、左から選択されたサンプルが2番目であり、上から下への順序である、等である。
【0109】
実施形態では、選択されたサンプルの位置について、それが利用可能ではない場合、その値を示すために、幾つかのルールが適用できる。そのようなルールの例は以下の通りである:
・イントラ予測参照サンプルに適用されるルールを使用する。
・有効な参照をその近隣から拡張する(例えば、図5におけるように、T[M]が利用できない場合に、T[M]=T[M-1]i)。
・特定のデフォルト値を割り当てる。
【0110】
実施形態では、選択されたサンプルセットのインデックスが、どのサンプルが現在単一値ストリングを予測するために使用されるかの指示のためにシグナリングされてよい。
【0111】
実施形態では、固定長コーディング(Nビットを有する)が、使用されてよく、予測セットの中のサンプルの数は、2N以下であってよい(ここで、Nは整数値である)。上述の一例では、T,T[M/2-1],T[M/2],T[M-1],L,L[N/2-1],L[N/2-1],及びL[N-1]が選択されてよく、別の例では、CCLM近隣サンプル選択における同様のルールが適用できる。つまり、上近隣ブロックが利用できないとき、上のサンプルは選択されなくてよく、代わりに、2倍の量のサンプルが左近隣列から選択されてよい。左近隣ブロックが利用できないとき、左サンプルは選択されなくてよく、代わりに、2倍の量のサンプルが上近隣行から選択される。2つの近隣のいずれも利用できないとき、このモードは使用されなくてよい。
【0112】
<例2>
実施形態では、前のストリングの最後のサンプルは、現在単一値ストリングで予測サンプルとして使用されてよい。これは、前のストリングが単一値ストリングではないとき、役立つ。従って、そのような条件は、そのようなサンプルの使用を可能にするために課されてよい。
【0113】
実施形態では、現在ストリングがブロック内の最初のものである場合、最後のサンプルは、図9のTL,T,Lを表してよい。特に、水平スキャン順序が使用されるとき、Lが使用されてよく、垂直スキャン順序が使用されるとき、Tが使用されてよい。
【0114】
実施形態では、セットを形成するために他の予測サンプルと結合される場合、予測サンプルセット内のエントリは、このサンプルのために予約されてよい。例えば、予測セットの最初のエントリ又は最後のエントリ。
【0115】
<例3>
実施形態では、固定サイズを有するバッファが、単一値ストリングを予測するためのセットを形成するために、前の再構成サンプルを格納するために使用されてよい。
【0116】
実施形態では、それらの再構成サンプルは、現在コーディングブロック内からであってよい。
【0117】
実施形態では、それらの再構成サンプルは、現在コーディングブロックの外部からであってよい。
【0118】
実施形態では、それらの再構成サンプルは、パレット予測子と同様の方法で導出されてよい。
【0119】
図10は、符号化ビデオビットストリームを復号する例示的な処理1000のフローチャートである。幾つかの実装では、図10の1つ以上の処理ブロックは、デコーダ210により実行されてよい。幾つかの実装では、図10の1つ以上の処理ブロックは、エンコーダ203のような、デコーダ210と別個の又はそれを含む別の装置又は装置のグループにより実行されてよい。
【0120】
図10に示すように、処理1000は、符号化ビデオビットストリームに基づき、単一値ストリング照合モードが有効であると決定するステップを含んでよい(ブロック611)。
【0121】
図10に更に示すように、処理1000は、符号化ビデオビットストリームから、複数の参照サンプルを含むセット内の参照サンプルを示すインデックスを取得するステップを含んでよい(ブロック612)。
【0122】
図10に更に示すように、処理1000は、インデックスにより示された参照サンプルに基づき、現在ブロックの現在ストリングに含まれるサンプルのために使用されるべきカラー値を決定するステップを含んでよい(ブロック613)。
【0123】
図10に更に示すように、処理1000は、決定されたカラー値に基づき、現在ストリングに含まれるサンプルを再構成するステップを含んでよい(ブロック614)。
【0124】
図10に更に示すように、処理1000は、再構成現在ストリングを用いて現在ブロックを再構成するステップを含んでよい(ブロック614)。
【0125】
実施形態では、現在ストリングは、現在ブロックの中で走査ラインに沿って連続的に配置された複数のサンプルを含んでよい。
【0126】
実施形態では、セットは、空間的に現在ブロックの近隣の再構成サンプルを含んでよい。
【0127】
実施形態では、再構成サンプルは現在ブロックの上、又は現在ブロックの左、のうちの少なくとも1つに位置する代表位置から選択されてよい。
【0128】
実施形態では、代表位置は、現在ブロックに直接隣接しなくてよい。
【0129】
実施形態では、セットは、現在ブロックの前のストリングの最後のサンプルを含んでよい。
【0130】
実施形態では、前のストリングの最後のサンプルは、セットの中の、セットの所定の位置に含まれてよい。
【0131】
実施形態では、セットは、固定サイズを有するバッファに格納されてよい。
【0132】
図10は処理1000の例示的なブロックを示すが、処理1000は、幾つかの実装では、図10に示されたブロックより多数のブロック、少数のブロック、又は異なる配置のブロックを含んでよい。追加又は代替として、処理1000のブロックのうちの2つ以上は、並列に実行されてよい。
【0133】
さらに、提案した方法は、処理回路(例えば、1つ以上のプロセッサ又は1つ以上の集積回路)により実施されてよい。一例では、1つ以上のプロセッサは、提案した方法のうちの1つ以上を実行するための、非一時的コンピュータ可読媒体に格納されたプログラムを実行する。
【0134】
上述の技術は、コンピュータ可読命令を用いてコンピュータソフトウェアとして実装でき1つ以上のコンピュータ可読媒体に物理的に格納でる。例えば、図11は、本開示の主題の特定の実施形態を実装するのに適するコンピュータシステム1100を示す。
【0135】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク等のメカニズムにより処理されて、コンピュータ中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、等により直接又はインタープリット、マイクロコード実行、等を通じて実行可能な命令を含むコードを生成し得る、任意の適切な機械コード又はコンピュータ言語を用いてコーディングできる。
【0136】
命令は、例えばパーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム装置、モノのインターネット装置、等を含む種々のコンピュータ又はそのコンポーネントで実行できる。
【0137】
コンピュータシステム1100の図11に示すコンポーネントは、本来例示であり、本開示の実施形態を実装するコンピュータソフトウェアの使用又は機能の範囲に対するようないかなる限定も示唆しない。さらに、コンポーネントの構成も、コンピュータシステム1100の例示的な実施形態に示されたコンポーネントのうちのいずれか又は組み合わせに関連する任意の依存関係又は要件を有すると解釈されるべきではない。
【0138】
コンピュータシステム1100は、特定のヒューマンインタフェース入力装置を含んでよい。このようなヒューマンインタフェース入力装置は、例えば感覚入力(例えば、キーストローク、スワイプ、データグラブ動作)、音声入力(例えば、音声、クラッピング)、視覚的入力(例えば、ジェスチャ)、嗅覚入力(示されない)を通じた1人以上の人間のユーザによる入力に応答してよい。ヒューマンインタフェース装置は、必ずしも人間による意識的入力に直接関連する必要のない特定の媒体、例えば音声(例えば、会話、音楽、環境音)、画像(例えば、スキャンされた画像、デジタルカメラから取得された写真画像)、ビデオ(例えば、2次元ビデオ、3次元ビデオ、立体ビデオを含む)をキャプチャするためにも使用できる。
【0139】
入力ヒューマンインタフェース装置は、キーボード1101、マウス1102、トラックパッド1103、タッチスクリーン1110及び関連するグラフィックアダプタ1150、データグラブ、ジョイスティック1105、マイクロフォン1106、スキャナ1107、カメラ1108、のうちの1つ以上を含んでよい(そのうちの1つのみが示される)。
【0140】
コンピュータシステム1100は、特定のヒューマンインタフェース出力装置も含んでよい。このようなヒューマンインタフェース出力装置は、例えば感覚出力、音声、光、及び匂い/味を通じて1人以上の人間のユーザの感覚を刺激してよい。このようなヒューマンインタフェース出力装置は、感覚出力装置を含んでよい(例えば、タッチスクリーン1110、データグラブ、又はジョイスティック1105による感覚フィードバック、しかし入力装置として機能しない感覚フィードバック装置も存在し得る)、音声出力装置(例えば、スピーカ1109、ヘッドフォン(図示しない)、視覚的出力装置(例えば、スクリーン1110、陰極線管(CRT)スクリーン、液晶ディスプレイ(LCD)スクリーン、プラズマスクリーン、有機発光ダイオード(OLED)スクリーンを含み、それぞれタッチスクリーン入力能力を有し又は有さず、それぞれ感覚フィードバック能力を有し又は有さず、これらのうちの幾つかは例えば立体出力、仮想現実眼鏡(図示しない)、ホログラフィックディスプレイ、及び発煙剤タンク(図示しない)、及びプリンタ(図示しないより多くの出力を出力可能であってよい))。
【0141】
コンピュータシステム1100は、人間のアクセス可能な記憶装置、及び、例えばCD/DVD等の媒体1121を備えるCD/DVDROM/RW1120のような光学媒体、サムドライブ1122、取り外し可能ハードドライブ又は個体状態ドライブ1123、テープ及びフロッピディスク(図示しない)のようなレガシー磁気媒体、セキュリティドングル(図示しない)等のような専用ROM/ASIC/PLDに基づく装置のような関連する媒体も含み得る。
【0142】
当業者は、本開示の主題と関連して使用される用語「コンピュータ可読媒体」が伝送媒体、搬送波、又は他の一時的信号を包含しないことも理解すべきである。
【0143】
コンピュータシステム1100は、1つ以上の通信ネットワークへのインタフェース(1155)も含み得る。ネットワークは、例えば無線、有線、光であり得る。ネットワークへは、更に、ローカル、広域、都市域、車両及び産業、リアルタイム、耐遅延性、等であり得る。ネットワークの例は、イーサネットのようなローカルエリアネットワーク、無線LAN、GSM(global systems for mobile communications)、第3世代(3G)、第4世代(4G)、第5世代(5G)、LTE(Long-Term Evolution)等を含むセルラネットワーク、ケーブルTV、衛星TV、地上波放送TVを含むTV有線又は無線広域デジタルネットワーク、CANBusを含む車両及び産業、等を含む。特定のネットワークは、一般に、特定の汎用データポート又は周辺機器バス(1149)(例えば、コンピュータシステム1100のユニバーサルシリアルバス(USB)ポート))に取り付けられる外部ネットワークインタフェースアダプタ(1154)を必要とする。他のものは、一般に、後述するようなシステムバスへの取り付けによりコンピュータシステム1100のコアに統合される(例えば、イーサネットインタフェースをPCコンピュータシステムへ、又はセルラネットワークインタフェースをスマートフォンコンピュータシステムへ)。例として、ネットワーク1155は、ネットワークインタフェース1154を用いて周辺機器バス1149に接続されてよい。これらのネットワークを用いて、コンピュータシステム1100は、他のエンティティと通信できる。このような通信は、単方向受信のみ(例えば、放送TV)、単方向送信のみ(例えば、特定のCANBus装置へのCANBus)、又は例えばローカル又は広域デジタルネットワークを用いて他のコンピュータシステムへの双方向であり得る。特定のプロトコル及びプロトコルスタックが、それらのネットワーク及びネットワークインタフェース(1154)の各々で使用され得る。
【0144】
前述のヒューマンインタフェース装置、人間のアクセス可能な記憶装置、及びネットワークインタフェースは、コンピュータシステム1100のコア1140に取り付け可能である。
【0145】
コア1140は、1つ以上の中央処理ユニット(CPU)1141、グラフィック処理ユニット(GPU)1142、FPGAの形式の専用プログラマブル処理ユニット1143、特定タスクのためのハードウェアアクセラレータ1144、等を含み得る。これらの装置は、読み出し専用メモリ(ROM)1145、ランダムアクセスメモリ(RAM)1146、内部のユーザアクセス不可能なハードドライブ、SSD、等のような内蔵大容量記憶装置1147と共に、システムバス1148を通じて接続されてよい。幾つかのコンピュータシステムでは、追加CPU、GPU、等による拡張を可能にするために、システムバス1148は、1つ以上の物理プラグの形式でアクセス可能である。周辺機器は、コアのシステムバス1148に直接に、又は周辺機器バス1149を通じて、取り付け可能である。周辺機器バスのアーキテクチャは、周辺機器相互接続(peripheral component interconnect (PCI))、USB、等を含む。
【0146】
CPU1141、GPU1142、FPGA1143、及びアクセラレータ1144は、結合されて前述のコンピュータコードを生成可能な特定の命令を実行できる。該コンピュータコードは、ROM1145又はRAM1146に格納できる。一時的データもRAM1146に格納でき、一方で、永久的データは例えば内蔵大容量記憶装置1147に格納できる。メモリ装置のうちのいずれかへの高速記憶及び読み出しは1つ以上のCPU1141、GPU1142、大容量記憶装置1147、ROM1145、RAM1146等に密接に関連付けられ得るキャッシュメモリの使用を通じて可能にできる。
【0147】
コンピュータ可読媒体は、種々のコンピュータにより実施される動作を実行するためのコンピュータコードを有し得る。媒体及びコンピュータコードは、本開示の目的のために特別に設計され構成されたものであり得、又は、コンピュータソフトウェア分野の当業者によく知られ利用可能な種類のものであり得る。
【0148】
例として及び限定ではなく、アーキテクチャを有するコンピュータシステム1100、及び具体的にはコア1140は、プロセッサ(CPU、GPU、FPGA、アクセラレータ、等を含む)が1つ以上の有形コンピュータ可読媒体内に具現化されたソフトウェアを実行した結果として、機能を提供できる。このようなコンピュータ可読媒体は、コア内蔵大容量記憶装置1147又はROM1145のような非一時的特性のコア1140の特定の記憶装置、及び上述のようなユーザアクセス可能な大容量記憶装置と関連付けられた媒体であり得る。本開示の種々の実施形態を実装するソフトウェアは、このような装置に格納されコア1140により実行できる。コンピュータ可読媒体は、特定の必要に従い、1つ以上のメモリ装置又はチップを含み得る。ソフトウェアは、コア1140及び具体的にはその中のプロセッサ(CPU、GPU、FPGA、等を含む)に、ソフトウェアにより定義された処理に従うRAM1146に格納されたデータ構造の定義及び該データ構造の変更を含む、ここに記載した特定の処理又は特定の処理の特定の部分を実行させることができる。追加又は代替として、コンピュータシステムは、ここに記載の特定の処理又は特定の処理の特定の部分を実行するためにソフトウェアと一緒に又はそれに代わって動作可能な論理ハードワイヤド又は他の回路内の実装(例えば、アクセラレータ1144)の結果として機能を提供できる。ソフトウェアへの言及は、ロジックを含み、適切な場合にはその逆も同様である。コンピュータ可読媒体への言及は、適切な場合には、実行のためにソフトウェアを格納する(集積回路(IC)のような)回路、実行のためにロジックを実装する回路、又はそれらの両方を含み得る。本開示は、ハードウェア及びソフトウェアの任意の適切な組み合わせを含む。
【0149】
本開示は、幾つかの例示的な実施形態を記載したが、代替、置換、及び種々の代用の均等物が存在し、それらは本開示の範囲に包含される。当業者に明らかなことに、ここに明示的に示され又は説明されないが、本開示の原理を実施し、従って、本開示の精神及び範囲に含まれる多数のシステム及び方法を考案可能である。


図1
図2
図3
図4
図5
図6A
図6B
図6C
図6D
図7
図8
図9
図10
図11