(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-21
(45)【発行日】2022-10-31
(54)【発明の名称】ビデオビットストリームにおける適応画像サイズのシグナリング
(51)【国際特許分類】
H04N 19/132 20140101AFI20221024BHJP
H04N 19/172 20140101ALI20221024BHJP
H04N 19/174 20140101ALI20221024BHJP
H04N 19/59 20140101ALI20221024BHJP
H04N 19/70 20140101ALI20221024BHJP
【FI】
H04N19/132
H04N19/172
H04N19/174
H04N19/59
H04N19/70
(21)【出願番号】P 2021552150
(86)(22)【出願日】2020-03-11
(86)【国際出願番号】 US2020021959
(87)【国際公開番号】W WO2020185814
(87)【国際公開日】2020-09-17
【審査請求日】2021-09-02
(32)【優先日】2019-03-11
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ウェンジャー,ステファン
(72)【発明者】
【氏名】チョイ,ビョンドゥ
(72)【発明者】
【氏名】リィウ,シャン
【審査官】久保 光宏
(56)【参考文献】
【文献】Hendry, et al.,"On adaptive resolution change (ARC) for VVC",JVET-M0135,version 1,[online], Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2019年01月02日,Pages 1-3,[令和4年9月9日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=4940> and <URL: https://jvet-experts.org/doc_end_user/documents/13_Marrakech/wg11/JVET-M0135-v1.zip>.
【文献】Stephan Wenger, et al.,"[AHG19] On Signaling of Adaptive Resolution Change",JVET-N0052,version 1,[online], Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2019年03月13日,Pages 1-11,[令和4年9月9日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=5772> and <URL: https://jvet-experts.org/doc_end_user/documents/14_Geneva/wg11/JVET-N0052-v1.zip>.
(58)【調査した分野】(Int.Cl.,DB名)
H04N19/00-19/98
CSDB(日本国特許庁)
IEEEXplore(IEEE)
(57)【特許請求の範囲】
【請求項1】
符号化ビデオシーケンスの符号化画像を復号する方法であって、
前記方法は、少なくとも1つのプロセッサによって実行され、かつ、前記方法は、
パラメータセットから、複数の候補デコード解像度を復号するステップと、
サンプルグループに適用可能な過渡的ヘッダ構造において符号化されたインデックスを介して、前記複数の候補デコード解像度の中から候補デコード解像度を選択するステップと、
出力解像度および前記選択された候補デコード解像度に基づいて、前記サンプルグループに係るサンプルを再サンプリングするステップと、
前記再サンプリングされたサンプルを使用して、予測をイネーブルするステップと、
を含む、方法。
【請求項2】
前記予測をイネーブルするステップは、前記符号化画像または符号化ビデオシーケンスの以前の部分の復号の最中に獲得されたメタ情報、および、以前に再構成され、かつ、ループフィルタリングされたサンプル値に基づいて、前記再サンプリングされたサンプルを使用する、
請求項1に記載の方法。
【請求項3】
前記過渡的ヘッダ構造は、画像ヘッダ、タイルグループヘッダ、タイルヘッダ、スライスヘッダ、および、ブロックグループヘッダのうち、任意の1つまたは任意の組み合わせである、
請求項1に記載の方法。
【請求項4】
前記インデックスは、指数ゴロムコードで符号化される、
請求項3に記載の方法。
【請求項5】
前記過渡的ヘッダ構造は、前記タイルグループヘッダであり、かつ、
前記タイルグループヘッダは、再サンプリングファクタを含む、
請求項3に記載の方法。
【請求項6】
前記過渡的ヘッダ構造は、前記タイルグループヘッダであり、かつ、
前記タイルグループヘッダは、適応解像度変化(ARC)参照情報を含む、
請求項3に記載の方法。
【請求項7】
前記ARC参照情報は、パラメータセット内で利用可能なARC情報のサブセットを参照する、
請求項6に記載の方法。
【請求項8】
前記複数の候補デコード解像度の前に、指数ゴロムコードで符号化されたシンタックス要素で、前記候補デコード解像度のいくつかが符号化されている、
請求項1に記載の方法。
【請求項9】
符号化ビデオシーケンスの符号化画像を復号する装置であって、
前記装置は、
コンピュータプログラムコードを保管するように構成された少なくとも1つのメモリと、
前記少なくとも1つのメモリにアクセスし、かつ、前記コンピュータプログラムコードに従って動作するように構成された少なくとも1つのプロセッサと、
を含み、
前記コンピュータプログラムコードが、前記少なくとも1つのプロセッサによって実行されると、請求項1乃至8いずれか一項に記載の方法を実施する、
装置。
【請求項10】
符号化ビデオシーケンスの符号化画像を復号するためのコンピュータプログラムであって、
前記コンピュータプログラムは、命令を含み、実行されると、プロセッサに、請求項1乃至8いずれか一項に記載の方法を実施させる、
コンピュータプログラム。
【請求項11】
ビデオシーケンスを符号化する方法であって、
前記方法は、少なくとも1つのプロセッサによって実行され、かつ、前記方法は、
ビデオシーケンスを符号化するステップと、
パラメータセットから、複数の候補デコード解像度を復号するステップと、
サンプルグループに適用可能な過渡的ヘッダ構造において符号化されたインデックスを介して、前記複数の候補デコード解像度の中から候補デコード解像度を選択するステップと、
出力解像度および前記選択された候補デコード解像度に基づいて、前記サンプルグループに係るサンプルを再サンプリングするステップと、
前記再サンプリングされたサンプルを使用して、予測をイネーブルするステップと、
を含む、方法。
【請求項12】
前記予測をイネーブルするステップは、符号化画像または符号化ビデオシーケンスの以前の部分の復号の最中に獲得されたメタ情報、および、以前に再構成され、かつ、ループフィルタリングされたサンプル値に基づいて、前記再サンプリングされたサンプルを使用する、
請求項11に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
開示される技術的事項(subject matter)事項は、ビデオ符号化(coding)および復号(decoding)に関し、そして、より具体的には、画像(picture)、または画像の一部のサイズのシグナリングに関する。サイズは、画像から画像、または、画像の一部からの一部で変化し得るものである。
【0002】
本出願は、米国特許商標庁において2019年3月11日に出願された米国仮特許出願第62/816667号に基づく優先権を主張するものであり、その全体が参照により本明細書に組み込まれている。
【背景技術】
【0003】
動き補償を伴う画像間(inter-picture)予測を使用するビデオ符号化および復号は、数十年にわたり知られている。非圧縮ディジタルビデオは、一連の画像から構成され得るものであり、各画像は、例えば、1920×1080の輝度(luminance)サンプルおよび関連する色度(chrominance)サンプルの空間次元を有する。一連の画像は、例えば、60ピクチャ/秒または60Hzの固定または可変の画像速度(picture rate)(非公式には、フレームレート(frame rate)としても知られている)を有する。非圧縮ビデオは、著しいビットレート要件を有している。例えば、サンプル当たり8ビットでの1080p60 4:2:0ビデオ(60Hzのフレームレートでの1920×1080の輝度サンプル解像度)は、1.5Gbit/sに近い帯域幅を必要とする。そうしたビデオの1時間は、600Gバイトを超える記憶領域(storage space)を必要とする。
【0004】
ビデオ符号化および復号の1つの目的は、圧縮(compression)による、入力ビデオ信号における冗長性の低減であり得る。圧縮は、前述の帯域幅または記憶領域の必要性を、場合によっては、2桁以上低減するのに役立つ。可逆(lossless)圧縮および非可逆(lossy)圧縮の両方、並びに、それらの組み合わせを使用することができる。可逆圧縮は、圧縮されたオリジナル信号からオリジナル信号の正確なコピーを再構成することができる技術を参照する。非可逆圧縮を使用する場合、再構成された信号は、オリジナル信号と同一ではないことがあるが、オリジナル信号と再構成された信号との間の歪み(distortion)は、再構成された信号が意図されるアプリケーションについて有用であるように十分小さい。ビデオの場合、非可逆圧縮が広く使用されている。許容される歪みの量は、アプリケーションに依存する。例えば、所定のカスタマ・ストリーミングアプリケーションのユーザは、テレビジョン寄与アプリケーションのユーザよりも高い歪みを許容し得る。達成可能な圧縮比は、より高い許容可能/容認可能な歪みはより高い圧縮比を生じ得ること、を反映することができる。
【0005】
ビデオエンコーダおよびデコーダは、例えば、動き補償、変換、量子化、およびエントロピー符号化を含む、いくつかの広範なカテゴリからの技術を利用することができる。そのいくつかが、以下に紹介されている。
【0006】
歴史的に、ビデオエンコーダおよびデコーダは、所与の画像サイズにおいて動作する傾向があり、ほとんどの場合、符号化ビデオシーケンス(CVS)、画像のグループ(GOP)、または、同様なマルチピクチャ時間フレームについて定義され、かつ、一定のままであった。例えば、MPEG-2において、システム設計は、シーンのアクティビティ(activity)といった要因に依存して水平解像度(そして、従って、画像サイズ)を変化させることが知られている。しかし、それゆえ、典型的にGOPに対しては、I画像(I picture)においてのみである。CVS内で異なる解像度を使用するための参照画像(reference picture)の再サンプリングが、例えば、ITU-T Rec.H.263 Annex Pから知られている。しかしながら、ここでは、画像サイズが変更されず、参照画像のみが再サンプリングされ、使用されている画像キャンバスの部分だけ(ダウンサンプリングの場合)、または、キャプチャされているシーンの部分だけ(アップサンプリングの場合)を、結果として、潜在的に、生じている。さらに、H.263 Annex Qは、個々のマクロブロックの再サンプリングを、(各次元において)2倍、上方または下方に可能にする。再び、画像サイズは同一のままである。マクロブロックのサイズはH.263において固定されており、そして、従って、信号化される必要は無い。
【0007】
予測画像における画像サイズの変化は、現代のビデオコーディングにおいてより主流となった。例えば、VP9は、画像全体について参照画像の再サンプリングおよび解像度の変化を可能にする。同様に、VVCに対してなされる所定の提案(例えば、Hendry共著の“On adaptive resolution change(ARC) for VVC”、Joint Video Team文書JVET-M0135-v1、2019年1月9-19日、であり、その全体が本明細書に組み込まれている)は、参照画像全体を異なる(より高い又はより低い)解像度へ再サンプリングすることを可能にする。その文書では、異なる解像度が、シーケンスパラメータセットにおいて符号化され、そして、画像パラメータセットにおいて画像ごとにシンタックス要素(syntax elements)によって参照されることが示唆されている。
【発明の概要】
【0008】
実施形態に従って、符号化ビデオシーケンスの符号化画像を復号する方法は、少なくとも1つのプロセッサによって実行される。かつ、前記方法は、パラメータセットから、複数の候補デコード解像度(candidate decoded resolutions)を復号するステップと、サンプルグループに適用可能な過渡的ヘッダ構造において符号化されたインデックスを介して、前記複数の候補デコード解像度の中から候補デコード解像度を選択するステップと、出力解像度および前記選択された候補デコード解像度に基づいて、前記サンプルグループに係るサンプルを再サンプリングするステップと、前記再サンプリングされたサンプルを使用して、予測をイネーブルするステップと、を含む。
【0009】
実施形態に従って、符号化ビデオシーケンスの符号化画像を復号する装置は、コンピュータプログラムコードを保管するように構成された少なくとも1つのメモリと、前記少なくとも1つのメモリにアクセスし、かつ、前記コンピュータプログラムコードに従って動作するように構成された少なくとも1つのプロセッサと、を含む。前記コンピュータプログラムコードは、パラメータセットから、複数の候補デコード解像度を復号させる、ように構成された復号コードと、サンプルグループに適用可能な過渡的ヘッダ構造において符号化されたインデックスを介して、前記複数の候補デコード解像度の中から候補デコード解像度を選択させる、ように構成された選択コードと、出力解像度および前記選択された候補デコード解像度に基づいて、前記サンプルグループに係るサンプルを再サンプリングさせる、ように構成された再サンプリングコードと、前記再サンプリングされたサンプルを使用して、予測をイネーブルさせる、ように構成されたイネーブリングコードと、を含む。
【0010】
実施形態に従って、符号化ビデオシーケンスの符号化画像を復号するためのプログラムを保管している非一時的なコンピュータで読取り可能な記憶媒体は、命令を含む。命令が実行されると、プロセッサに、パラメータセットから、複数の候補デコード解像度を復号し、サンプルグループに適用可能な過渡的ヘッダ構造において符号化されたインデックスを介して、前記複数の候補デコード解像度の中から候補デコード解像度を選択し、出力解像度および前記選択された候補デコード解像度に基づいて、前記サンプルグループに係るサンプルを再サンプリングし、前記再サンプリングされたサンプルを使用して、予測をイネーブルする、ようにさせる。
【図面の簡単な説明】
【0011】
開示される技術的事項のさらなる特徴、性質、および種々の利点が、以下の詳細な説明および添付の図面からより明らかになるだろう。
【
図1】
図1は、一つの実施形態に従った、通信システムの簡素化されたブロック図の概略図である。
【
図2】
図2は、一つの実施形態に従った、通信システムの簡素化されたブロック図の概略図である。
【
図3】
図3は、一つの実施形態に従った、デコーダの簡素化されたブロック図の概略図である。
【
図4】
図4は、一つの実施形態に従った、エンコーダの簡素化されたブロック図の概略図である。
【
図5A】
図5Aは、示されるように、ARCパラメータのシグナリングのためのオプションの概略図である。
【
図5B】
図5Bは、示されるように、一つの実施形態に従った、ARCパラメータのシグナリングのためのオプションの概略図である。
【
図6B】
図6Bは、一つの実施形態に従った、符号化ビデオシーケンスの符号化画像を復号する方法を説明するフローチャートである。
【
図6C】
図6Cは、一つの実施形態に従った、ビデオシーケンスの復号を制御するための装置の簡素化されたブロック図である。
【
図7】
図7は、一つの実施形態に従った、コンピュータシステムの概略図である。
【発明を実施するための形態】
【0012】
最近、単一ビデオ画像への、複数の意味的に(semantically)独立した画像部分の圧縮されたドメイン集約または抽出が、注目を集めている。特に、例えば、360符号化(360 coding)または所定の監視アプリケーションのコンテキスト(context)において、複数の意味的に独立したソース画像(例えば、立方体投影(cube-projected)360シーンの6つの立方体表面、または、マルチカメラ監視セットアップの場合の個々のカメラ入力)は、所与の時点で異なるシーン毎のアクティビティに対処するために、別々の適応解像度設定を必要とし得る。別の言葉で言えば、エンコーダは、所与の時点で、360全体または監視シーンを構成する異なる意味的に独立した画像について異なる再サンプリング係数を使用することを選択し得る。単一の画像へと結合される場合には、次いで、参照画像の再サンプリングが実行されること、および、符号化された画像の部分について、適応解像度符号化シグナリングが利用可能であることを必要とする。
【0013】
図1は、本開示の一つの実施形態に従った、通信システム(100)の簡素化されたブロック図を示している。システム(100)は、ネットワーク(150)を介して相互接続された少なくとも2つの端末(110-120)を含み得る。データの一方向性伝送(unidirectional transmission)のために、第1端末(110)は、ネットワーク(150)を介して他方の端末(120)に対して伝送するために、ローカル位置でビデオデータを符号化し得る。第2端末(120)は、ネットワーク(150)から他方の端末の符号化されたビデオデータを受信し、符号化されたデータを復号し、そして、回復されたビデオデータを表示し得る。一方向性データ伝送は、媒体提供(media serving)アプリケーション、等において一般的であり得る。
【0014】
図1は、例えば、テレビ会議の最中に発生し得る符号化されたビデオの双方向性伝送をサポートするために提供される端末の第2ペア(130、140)を示している。データの双方向性伝送のために、各端末(130、140)は、ローカル位置でキャプチャされたビデオデータを、ネットワーク(150)を介して他方の端末へ伝送するために符号化し得る。各端末(130、140)は、また、他方の端末によって送信された符号化ビデオデータを受信し、符号化データを復号し、そして、回復されたビデオデータをローカルのディスプレイ装置に表示し得る。
【0015】
図1において、端末(110-140)は、サーバ、パーソナルコンピュータ、およびスマートフォンとして示されてよいが、本開示の原理は、そのように限定されるものではない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、及び/又は、専用のビデオ会議装置を用いたアプリケーションを見出す。ネットワーク(150)は、例えば、有線及び/又は無線通信ネットワークを含む、端末(110-140)間で符号化ビデオデータを伝達する任意の数のネットワークを表している。通信ネットワーク(150)は、回線交換及び/又はパケット交換チャネルにおいてデータを交換することができる。代表的なネットワークは、通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、及び/又は、インターネットを含む。本説明の目的のために、ネットワーク(150)のアーキテクチャおよびトポロジーは、以下で説明されない限り、本開示の動作について取るに足らないものであり得る。
【0016】
図2は、開示される技術的事項の一つの適用例として、ストリーミング環境におけるビデオエンコーダおよびデコーダの配置を示している。開示される技術的事項は、他のビデオ・イネーブルド・アプリケーションに対して同様に適用可能である。例えば、ビデオ会議、デジタルTV、および、CD、DVD、メモリスティック、等を含むデジタルメディア上の圧縮ビデオの保管、などを含むものである。
【0017】
ストリーミングシステムは、例えば、非圧縮ビデオサンプルストリーム(202)を生成するビデオソース(201)、例えばデジタルカメラ、を含むことができる、キャプチャサブシステム(213)を含み得る。このサンプルストリーム(202)、符号化ビデオビットストリームと比較した場合に高いデータボリュームを強調するための太線として示されているものは、カメラ(201)に結合されたエンコーダ(203)によって処理され得る。エンコーダ(203)は、以下でより詳細に説明されるように、開示される技術的事項の態様を可能にし、または実現するためのハードウェア、ソフトウェア、または、それらの組み合わせを含み得る。符号化ビデオビットストリーム(204)、サンプルストリームと比較した場合により低いデータボリュームを強調するための細いラインとして示されているものは、将来の使用のためにストリーミングサーバ(205)に保管され得る。1つ以上のストリーミングクライアント(206、208)は、符号化ビデオビットストリーム(204)のコピー(207、209)をフェッチす(retrieve)ために、ストリーミングサーバ(205)にアクセスすることができる。クライアント(206)は、符号化ビデオビットストリーム(207)の入力(incoming)コピーをデコードし、そして、ディスプレイ(212)または他のレンダリング装置(図示なし)上でレンダリングされ得る出力(outgoing)ビデオサンプルストリーム(211)を生成する、ビデオデコーダ(210)を含み得る。いくつかのストリーミングシステムにおいて、ビデオビットストリーム(204、207、209)は、所定のビデオ符号化/圧縮標準に従って、符号化され得る。これらの標準の例は、ITU-T Recommendation H.265を含む。汎用ビデオ符号化またはVVCとして非公式に知られている、ビデオ符号化規格が開発中である。開示される技術的事項は、VVCのコンテキストにおいて使用され得る。
【0018】
図3は、一つの実施形態に従った、ビデオデコーダ(210)の機能ブロック図であり得る。
【0019】
受信器(310)は、デコーダ(210)によって復号されるべき1つ以上のコーデック(codec)ビデオシーケンスを受信し得る。同一または別の実施形態において、一度に1つの符号化ビデオシーケンスであり、ここで、各符号化ビデオシーケンスの復号は、他の符号化ビデオシーケンスから独立している。符号化ビデオシーケンスは、チャネル(312)から受信され得る。チャネルは、符号化ビデオデータを保管するストレージ装置へのハードウェア/ソフトウェアリンクであり得る。受信器(310)は、符号化されたビデオデータを、例えば、符号化オーディオデータ及び/又は補助的なデータストリームである、他のデータと共に受信することができ、これらは、エンティティ(図示なし)を使用して、それぞれに対して転送され得る。受信器(310)は、符号化ビデオシーケンスを他のデータから分離することができる。ネットワークジッタに対抗するために、バッファメモリ(315)が、受信器(310)とエントロピーデコーダ/パーサ(320)(以降、「パーサ(“parser”)」)との間に結合され得る。受信器(310)が、十分な帯域幅および制御可能性の保管/転送装置から、または、アイソシンクロナス(isosynchronous)ネットワークからデータを受信している場合、バッファ(315)は不要であってよく、または、小さくてよい。インターネットといったベストエフォートのパケットネットワークにおける使用のために、バッファ(315)が必要とされ、比較的に大きく、かつ、有利なことに適応サイズ(adaptive size)であり得る。
【0020】
ビデオデコーダ(210)は、エントロピー符号化ビデオシーケンスからシンボル(321)を再構成するためのパーサ(320)を含み得る。これらのシンボルのカテゴリは、デコーダ(210)の動作を管理するために使用される情報、および、
図2に示されるように、デコーダの必須の部分ではないが、デコーダに結合され得るディスプレイ(212)といったレンダリング装置を制御するための潜在的な情報を含んでいる。レンダリングデバイスのための制御情報は、補足拡張情報(Supplementary Enhancement Information、SEI messages)またはビデオユーザビリティ情報(Video Usability Information、VUI)パラメータセットフラグメント(図示なし)の形式であり得る。パーサ(320)は、受信した符号化ビデオシーケンスを構文解析/エントロピー復号することができる。符号化ビデオシーケンスの符号化は、可変長符号化、ハフマン(Huffman)符号化、コンテキスト感度を伴うまたは伴わない算術符号化、等を含む、ビデオ符号化技術または標準に従い得る。パーサ(320)は、グループに対応する少なくとも1つのパラメータに基づいて、ビデオデコーダ内のピクセルのサブグループのうちの少なくとも1つに対するサブグループパラメータのセットを、符号化ビデオシーケンスから抽出することができる。サブグループは、画像のグループ(GOP)、画像、タイル、スライス、マクロブロック、符号化単位(Coding Unit、CU)、ブロック、変換単位(Transform Unit、TU)、予測単位(Prediction Unit、PU)等を含み得る。エントロピーデコーダ/パーサは、また、変換係数、量子化パラメータ値、動きベクトル、等といった符号化ビデオシーケンス情報から抽出することができる。
【0021】
パーサ(320)は、シンボル(321)を作成するために、バッファ(315)から受信したビデオシーケンスについてエントロピー復号/構文解析動作を実行することができる。
【0022】
シンボル(321)の再構成は、符号化されたビデオ画像またはその部分(例えば、画像間および画像内、ブロック間およびブロック内)のタイプ、および、他の要因に応じて、複数の異なるユニットを含むことができる。どのユニットが、そして、どのように関与するかは、パーサ(320)によって符号化ビデオシーケンスから構文解析されたサブグループ制御情報によってコントロールされ得る。パーサ(320)と以下の複数ユニットとの間のそうしたサブグループ制御情報のフローは、明確化のために図示されていない。
【0023】
既に述べた機能ブロックの他に、デコーダ210は、以下で説明されように、概念的に、いくつかの機能ユニットへと細分化され得る。商業的制約の下で動作する実用的な実装において、これらのユニットの多くは、相互に密接に相互作用し、そして、少なくとも部分的には、相互に統合され得る。しかしながら、開示される技術的事項を説明するためには、以下の機能ユニットへと概念的に細分化することが適切である。
【0024】
第1ユニットは、スケーラ/逆変換ユニット(351)である。スケーラ/逆変換ユニット(351)は、量子化された変換係数、並びに、パーサ(320)からのシンボル(321)として、使用する変換、ブロックサイズ、量子化係数、量子化スケーリングマトリクス、等を含む、制御情報を受信する。それは、アグリゲータ(355)へと入力され得るサンプル値を含むブロックを出力することができる。
【0025】
場合によって、スケーラ/逆変換(351)の出力サンプルは、イントラ符号化ブロックに関連し得る。すなわち、以前に再構成された画像からの予測情報を使用していないが、現在ピクチャに係る以前に再構成された部分からの予測情報を使用することができるブロックである。そうした予測情報は、イントラ画像予測ユニット(352)によって提供され得る。場合によって、イントラ画像予測ユニット(352)は、現在ピクチャ(部分的に再構成されたもの)(356)からフェッチされた周囲の(surrounding)既に再構成された情報を使用して、再構成の下で同じサイズおよび形状のブロックを生成する。アグリゲータ(355)は、場合によって、サンプル毎に、イントラ予測ユニット(352)が生成した予測情報を、スケーラ/逆変換ユニット(351)によって提供される出力サンプル情報に追加する。
【0026】
他の場合に、スケーラ/逆変換ユニット(351)の出力サンプルは、インター符号化され、そして、潜在的に動き補償されたブロックに関連し得る。そうした場合、動き補償予測ユニット(353)は、予測に使用されるサンプルをフェッチするために、参照画像メモリ(357)にアクセスすることができる。ブロックに関連するシンボル(321)に従った、フェッチしたサンプルの動き補償の後で、これらのサンプルは、出力サンプル情報を生成するように、アグリゲータ(355)によって、スケーラ/逆変換ユニットの出力(この場合には、残留サンプルまたは残留信号と呼ばれる)に加えられ得る。動き補償ユニットが予測サンプルをフェッチする参照画像メモリ形態(form)内のアドレスは、例えばX、Y、および参照画像コンポーネントを有し得る、シンボル(321)の形態で動き補償ユニットに利用可能な、動きベクトルによって制御され得る。動き補償は、また、サブサンプルの正確な動きベクトルが使用されているときに参照画像メモリからフェッチされるサンプル値の補間、動きベクトル予測メカニズム、等も含み得る。
【0027】
アグリゲータ(355)の出力サンプルは、ループフィルタユニット(354)内の種々のループフィルタリング技術の対象となり得る。ビデオ圧縮技術は、符号化ビデオビットストリームに含まれるパラメータによって制御され、かつ、パーサ(320)からのシンボル(321)としてループフィルタユニット(354)に利用可能にされるループ内(in-loop)フィルタリング技術を含むことができるが、また、符号化された画像または符号化ビデオシーケンスの以前の部分(復号順で)の復号の最中に獲得されたメタ情報にも対応し、並びに、以前に再構成され、かつ、ループフィルタリングされたサンプル値に応答し得る。
【0028】
ループフィルタユニット(354)の出力は、レンダリング装置(212)に出力され、同様に、将来のインター画像予測における使用のために参照画像メモリ(356)に保管され得る、サンプルストリームであり得る。
【0029】
所定の符号化された画像は、一旦、完全に再構成されると、将来の予測のための参照画像として使用され得る。一旦、符号化された画像が完全に再構成され、そして、符号化された画像が参照画像として識別されると(例えば、パーサ(320)によって)、現在の参照画像(356)は参照画像バッファ(357)の一部となり、そして、次の符号化された画像の再構成を開始する前に、新たな現在ピクチャメモリが再割当てされ得る。
【0030】
ビデオデコーダ320は、ITU-T Rec. H.265.といった、標準において文書化され得る既定のビデオ圧縮技術に従ってデコーディング動作を実行することができる。符号化ビデオシーケンスは、使用されているビデオ圧縮技術または標準によって規定されるシンタックスに準拠し得る。ビデオ圧縮技術文書または標準の中で、そして、特には、そのうちのプロファイル文書の中で規定されるように、ビデオ圧縮技術または標準のシンタックスに従うという意味においてである。また、コンプライアンスのために必要なことは、符号化ビデオシーケンスの複雑性が、ビデオ圧縮技術または標準のレベルによって定義される範囲内にあることであり得る。ある場合に、レベルは、最大画像サイズ、最大フレームレート、最大再構成サンプルレート(例えば、毎秒メガサンプルで測定される)、最大参照画像サイズ、等を制限する。レベルによって設定された制限は、場合によっては、符号化ビデオシーケンスで信号化されたHRDバッファ管理のための仮想基準デコーダ(Hypothetical Reference Decoder、HRD)仕様およびメタデータを通して、さらに制限され得る。
【0031】
一つの実施形態において、受信器(310)は、符号化されたビデオを伴う追加の(冗長な)データを受信することができる。追加データは、符号化ビデオシーケンスの一部として含まれることがある。追加のデータは、データを適切にデコードするため、かつ/あるいは、元のビデオデータをより正確に再構成するために、ビデオデコーダ(320)によって使用され得る。追加のデータは、例えば、時間的、空間的、または、SNR強化層、冗長スライス、冗長画像、前方エラー補正コード、等の形態であり得る。
【0032】
図4は、本開示の一つの実施形態に従った、ビデオエンコーダ(203)の機能ブロック図であり得る。
【0033】
エンコーダ(203)は、エンコーダ(203)によって符号化されるビデオ画像をキャプチャすることができるビデオソース(201)(エンコーダの一部ではない)からビデオサンプルを受信することができる。
【0034】
ビデオソース(201)は、デジタルビデオサンプルストリームの形態で、エンコーダ(203)によって符号化されるソースビデオシーケンスを提供することができ、形態は、任意の適切なビット深さ(例えば、8ビット、10ビット、12ビット、...)、任意の色空間(例えば、BT.601 Y CrCB、RGB、...)、および任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)であり得る。メディア配信(media serving)システムにおいて、ビデオソース(201)は、以前に準備されたビデオを保管しているストレージ装置であり得る。ビデオ会議システムにおいて、ビデオソース(203)は、ビデオシーケンスとしてローカル画像情報をキャプチャするカメラであり得る。ビデオデータは、シーケンスで見たときに、動きを伝える複数の個々の画像として提供されてよい。画像自体は、ピクセルの空間的アレイとして構成されてよく、ここで、各ピクセルは、使用中のサンプリング構造、色空間、等に応じて、1つ以上のサンプルを含むことができる。当業者であれば、ピクセルとサンプルとの間の関係を容易に理解することができる。以下の説明は、サンプルに焦点を当てている。
【0035】
一つの実施形態に従って、エンコーダ(203)は、リアルタイムで、または、アプリケーションによって要求される任意の他の時間の制約下で、ソースビデオシーケンスの画像を符号化ビデオシーケンス(443)へと符号化および圧縮することができる。適切な符号化速度を実施することは、コントローラ(450)の一つの機能である。コントローラは、以下に説明されるように、他の機能ユニットを制御し、そして、これらのユニットに機能的に結合されている。結合は、明確化のために示されていない。コントローラによって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、...)、画像サイズ、画像のグループ(GOP)レイアウト、最大動きベクトル検索範囲、等を含み得る。当業者であれば、コントローラ(450)の他の機能を容易に識別することができる。それらは、所定のシステム設計のために最適化されたビデオエンコーダ(203)に関連し得るからである。
【0036】
いくつかのビデオエンコーダは、「符号化ループ(“coding loop”)」として当業者が容易に認識できるものにおいて動作する。過度に単純化された説明として、符号化ループは、エンコーダ(430)の符号化部分(以下、「ソースコーダ(“source coder”)」)(符号化されるべき入力ピクチャ、および参照画像に基づいてシンボルを生成する責任を負う)、および、サンプルデータを生成するためにシンボルを再構成するエンコーダ(203)内に埋め込まれた(ローカル)デコーダ(433)で構成され、(リモート)デコーダも、また、(開示される技術的事項において考慮されたビデオ圧縮技術において、シンボルと符号化ビデオビットストリームとの間の任意の圧縮が可逆(lossless)なように)生成するだろう。再構成されたサンプルストリームは、参照画像メモリ(434)に対する入力である。シンボルストリームの復号は、デコーダ位置(ローカルまたはリモート)に依存しないビットパーフェクト(bit-exact)な結果をもたらすので、参照画像バッファのコンテンツも、また、ローカルエンコーダとリモートエンコーダの間でビットパーフェクトである。別の言葉で言えば、エンコーダの予測部分は、デコーダが、復号の最中に予測を使用するときに「見る(”see”)」のと全く同一のサンプル値を参照画像サンプルとして「見る」。参照画像同期性に係るこの基本原理(および、例えば、チャンネルエラーのために、同期性を維持することができない場合に結果として生じるドリフト)は、当業者にとって周知である。
【0037】
「ローカル(“local”)」デコーダ(433)のオペレーションは、「リモート(“remote”)」デコーダ(210)と同じであり得る。これは、
図3と関連して既に上記に詳述されている。しかしながら、
図3を、また、簡単に参照すると、シンボルが利用可能であり、かつ、エントロピー符号化器(445)およびパーサ(320)による符号化ビデオシーケンスに対するシンボルの符号化/復号が可逆であり得るので、チャネル(312)、受信器(310)、バッファ(315)、およびパーサ(320)を含む、デコーダ(210)のエントロピー復号部分は、ローカルデコーダ(433)内に完全には実装されないことがある。
【0038】
この時点で行うことができる観察は、デコーダ内に存在する解析/エントロピー復号を除く任意のデコーダ技術も、また、対応するエンコーダ内に、実質的に同一な機能的形態で存在する必要があることである。この理由のために、開示される技術的事項はデコーダのオペレーションに焦点を当てる。エンコーダ技術の説明は、包括的に記述されたデコーダ技術の逆であるため、省略することができる。所定の分野においてだけ、より詳細な説明が必要であり、そして、以下に提供されている。
【0039】
そのオペレーションの一部として、ソースコーダ(430)は、動き補償予測符号化(motion compensated predictive coding)を実行することができ、それは、「参照フレーム(“reference frame”)」として指定されたビデオシーケンスからの1つ以上の以前に符号化されたフレーム(previously coded-frames)に関して入力フレームを予測的に符号化するものである。このようにして、符号化エンジン(432)は、入力フレームのピクセルブロックと、入力フレームに対する予測リファレンス(prediction reference)として選択され得る参照フレームのピクセルブロックとの間の差異を符号化する。
【0040】
ローカルビデオデコーダ(433)は、ソースコーダ(430)によって生成されたシンボルに基づいて、参照フレームとして指定され得るフレームの符号化ビデオデータを復号することができる。符号化エンジン(432)のオペレーションは、有利なことに、不可逆プロセスであり得る。符号化ビデオデータがビデオデコーダ(
図4に図示なし)で復号され得る場合、再構成されたビデオシーケンスは、典型的には、いくつかのエラーを伴うソースビデオシーケンスのレプリカであり得る。ローカルビデオデコーダ(433)は、ビデオデコーダによって参照フレーム上で実行され、かつ、再構成された参照フレームを参照画像キャッシュ(434)に保管させ得る、復号プロセスを複製する。このようにして、エンコーダ(203)は、遠端(far-end)ビデオデコーダによって獲得される再構成された参照フレームとして共通のコンテンツを有する再構成された参照フレームのコピーを、ローカルに保管することができる(伝送エラーなく)。
【0041】
予測器(435)は、符号化エンジン(432)のために予測サーチを実行することができる。すなわち、符号化されるべき新しいフレームについて、予測器(435)は、新しいピクチャに対する適切な予測リファレンスとして役立ち得る、(候補参照ピクセルブロックとしての)サンプルデータ、または、参照画像動画ベクトル、ブロック形状、等といった、所定のメタデータについて、参照画像メモリ(434)を検索することができる。予測器(435)は、適切な予測リファレンスを見出すために、サンプルブロック-ピクセルブロック毎に動作し得る。場合によっては、予測器(435)によって獲得される検索結果によって決定されるように、入力ピクチャは、参照画像メモリ(434)に保管された複数の参照画像から引き出された予測リファレンスを有することができる。
【0042】
コントローラ(450)は、例えば、ビデオデータを符号化するために使用されるパラメータおよびサブグループパラメータの設定を含む、ビデオコーダ(430)の符号化オペレーションを管理することができる。
【0043】
全ての前述した機能ユニットの出力は、エントロピー符号化器(445)においてエントロピー符号化を受け得る。エントロピー符号化器は、例えば、ハフマン符号化、可変長符号化、算術符号化、等として、当業者に知られた技術に従って、シンボルを可逆に圧縮することによって、種々の機能ユニットにより生成されたシンボルを符号化ビデオシーケンスへと変換する。
【0044】
送信器(440)は、エントロピー符号化器(445)によって生成されると、符号化ビデオシーケンスをバッファし、通信チャネル(460)を介した送信のために準備することができる。通信チャネルは、符号化ビデオデータを保管するストレージ装置に対するハードウェア/ソフトウェアリンクであってよい。送信器(440)は、ビデオコーダ(430)からの符号化ビデオデータを、送信される他のデータ、例えば、符号化オーディオデータ及び/又は補助的なデータストリーム(ソースは示されない)とマージすることができる。
【0045】
コントローラ(450)は、エンコーダ(203)のオペレーションを管理することができる。符号化の最中に、コントローラ(450)は、各符号化画像に対して、所定の符号化画像タイプを割り当てることができ、これは、それぞれの画像に適用され得る符号化技術に影響を及ぼし得る。例えば、ピクチャは、しばしば、次のフレームタイプの1つとして割り当てられ得る。
【0046】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内のあらゆる他のフレームを使用しないで、符号化され、かつ、復号され得るものであり得る。いくつかのビデオコーデック(codec)は、例えば、独立デコーダ・リフレッシュ・ピクチャ(Independent Decoder Refresh Pictures)を含む、異なるタイプのイントラピクチャを許容する。当業者であれば、Iピクチャのこれらの変形例、並びに、それらのそれぞれのアプリケーションおよび機能を知っている。
【0047】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、最大で1つの動きベクトルおよび参照インデックスを使用して、イントラ予測またはインター予測を用いて符号化および復号され得るものであり得る。
【0048】
双方向予測ピクチャ(Bi-directionally Predictive Picture)(Bピクチャ)は、各ブロックのサンプル値を予測するために、最大で2つの動きベクトルおよび参照インデックスを使用して、イントラ予測またはインター予測を用いて符号化および復号され得るものであり得る。同様に、複数の予測画像は、単一のブロックの再構成のために、2つ以上の参照画像および関連するメタデータを使用することができる。
【0049】
ソース画像は、一般的に、複数のサンプルブロック(例えば、4×4、8×8、4×8、または16×16のサンプルそれぞれのブロック)へと空間的に細分され、そして、ブロック毎に符号化される。ブロックは、ブロックそれぞれの画像に適用される符号化割り当てによって決定されるように、(既に符号化された)他のブロックを参照して予測的に符号化され得る。例えば、Iピクチャのブロックは、非予測的に符号化されてよく、または、それらは、同じ画像の既に符号化されたブロックを参照して予測的に符号化され得る(空間予測またはイントラ予測)。Pピクチャのピクセルブロックは、1つの以前に符号化された参照画像を参照して、非予測的に、空間的予測を介して、または、時間的予測を介して、符号化され得る。Bピクチャのブロックは、1つ又は2つの以前に符号化された参照画像を参照して、非予測的に、空間的予測を介して、または、時間的予測を介して符号化され得る。
【0050】
ビデオコーダ(203)は、ITU-T Rec. H.265といった、既定のビデオ符号化技術または標準に従って、符号化オペレーションを実行することができる。そのオペレーションにおいて、ビデオコーダ(203)は、入力ビデオシーケンスにおける時間的および空間的冗長性を利用する予測符号化オペレーションを含む、種々の圧縮オペレーションを実行することができる。符号化ビデオデータは、従って、使用されているビデオ符号化技術または標準によって指定されたシンタックスに適合し得る。
【0051】
一つの実施形態において、送信器(440)は、符号化ビデオと共に追加データを送信することができる。ビデオコーダ(430)は、符号化ビデオシーケンスの一部として、そうしたデータを含み得る。追加データは、時間的/空間的/SNR強化層、冗長画ピクチャおよびスライスといった他の形式の冗長データ、補足拡張情報(SEI)メッセージ、ビデオユーザビリティ情報(VUI)パラメータセットフラグメント、等を含み得る。
【0052】
開示される技術的事項の所定の態様をより詳細に説明する前に、この明細書の残りの部分で参照されるいくつかの用語が紹介されることを要する。
【0053】
これから先に、サブ画像は、場合によって、サンプル、ブロック、マクロブロック、コーディングユニット、または、セマンティックに(semantically)グループ化され、かつ、変更された解像度で独立して符号化され得る類似のエンティティの矩形配置を参照する。1つの画像に対して1つ以上のサブ画像が存在し得る。1つ以上の符号化されたサブ画像は、符号化された画像を形成することができる。1つ以上のサブ画像が1つの画像へと組み立てられ得る。そして、1つ以上のサブ画像が1つの画像から抽出され得る。所定の環境において、1つ以上の符号化されたサブ画像は、サンプルレベルをトランスコーディング(transcoding)することなく、符号化された画像へと圧縮されたドメイン内に組み立てられ得る。そして、同一または所定の他の場合に、1つ以上の符号化されたサブ画像は、圧縮されたドメイン内の符号化された画像から抽出され得る。
【0054】
適応解像度変化(Adaptive Resolution Change、ARC)は、これから先に、例えば、参照画像の再サンプリングによって、符号化ビデオシーケンス内の画像またはサブ画像の解像度の変更を可能にするメカニズムを参照する。ARCパラメータは、適応解像度変化を実行するために必要とされる制御情報のタイプを参照し得る。これは、例えば、フィルターパラメータ、スケーリング係数、出力及び/又は参照画像の解像度、種々の制御フラグ、等を含み得る。従って、ARC情報は、ARCパラメータに対応するデータおよび値を参照し得る。
【0055】
上記の説明は、単一の、意味的に独立した符号化ビデオ画像を符号化し、そして、復号することに焦点を当てている。独立したARCパラメータを用いた複数のサブ画像のコーディング/デコーディングの含意、および、その含意される追加の複雑性を説明する前に、ARCパラメータのシグナリングのためのオプションが説明されるべきである。
【0056】
図5Aを参照すると、ARCパラメータのシグナリングのためのいくつかの新規なオプションが示されている。オプションそれぞれで述べたように、これらは、符号化効率性、複雑性、および、アーキテクチャの観点から、所定の利点および所定の欠点を有している。ビデオ符号化標準または技術は、ARCパラメータのシグナリングのために、これらのオプション、または他のオプションのうちの1つ以上を選択することができる。オプションは、相互に排他的ではなく、そして、アプリケーションのニーズ、関連する標準技術、または、エンコーダの選択に基づいて、たぶん、交換され得る。
【0057】
ARCパラメータのクラスは、以下を含み得る。
【0058】
-X次元およびY次元において分離または結合された、アップ/ダウンサンプルファクタ
【0059】
-所与の数の画像に対する一定速度のズームイン/アウトを示す、時間的次元の加算を伴う、アップ/ダウンサンプルファクタ
【0060】
-上記の2つのいずれかが、ファクタを含むテーブル(table)を指し示し得る1つ以上の短いシンタックス要素の符号化を含み得る。
【0061】
-入力画像、出力画像、参照画像、符号化された画像に係る、サンプル、ブロック、マクロブロック、CU、または、任意の他の適切な粒度(granularity)の単位での、X次元またはY次元における、組み合わされ又は別個の、解像度。1つ以上の解像度(例えば、入力画像について1つ、参照画像について1つ、といったもの)が存在する場合、所定の場合には、1組の値が別の組の値から推測される得る。そうしたものは、例えば、フラグの使用によって、ゲート(gated)され得る。より詳細な例については、以下を参照のこと。
【0062】
-「ワーピング(“warping”)」座標は、H.263 Annex Pで使用されているものと類似して、上述のように、再び適切な粒度である。H.263 Annex Pは、そうしたワーピング座標を符号化するための1つの効率的な方法を定義しているが、他の、潜在的により効率的な方法も、また、おそらく考案され得る。例えば、可変長の可逆的な、Annex Pのワーピング座標に係る「ハフマン(“Huffman”)」スタイルの符号化は、適切な長さのバイナリ符号化で置き換えられ得る。ここで、バイナリコードワードの長さは、例えば、最大画像サイズから導出され、ことによると、所定の係数が掛け算され、かつ、所定の値だけオフセットされて、最大画像サイズの境界の外に「ワーピング」することができる。
【0063】
-アップまたはダウンサンプルのフィルターパラメータ。最も簡単なケースでは、アップ及び/又はダウンサンプリングのために単一のフィルタだけが存在し得る。しかしながら、所定の場合には、フィルタ設計においてより多くの柔軟性を可能にすることが有利であり、そして、フィルターパラメータのシグナリングを必要とし得る。そうしたパラメータは、可能なフィルタ設計のリスト内のインデックスを通して選択され得るものであり、フィルタは、(例えば、適切なエントロピー符号化技術を使用して、フィルタ係数のリストを通して)完全に指定され得るものであり、フィルタは、上述のメカニズムのいずれかに従って、次いで、シグナリングされるアップ/ダウンサンプル比率を通して暗黙的に選択され得る、等。
【0064】
これから先、説明は、コードワード(codeword)を通して示される、アップ/ダウンサンプルファクタに係る有限の(finite)セット(X次元およびY次元の両方で使用されるのと同じファクタ)の符号化を仮定する。このコードワードは、有利なことに、例えば、H.264およびH.265といったビデオ符号化仕様における所定のシンタックス要素に共通の指数ゴロム(Exp-Golomb)コードを使用して可変長符号化され得る。アップ/ダウンサンプルファクタへの値の一つの適切なマッピングは、例えば、以下のテーブルに従い得る。
【表1】
【0065】
多くの類似のマッピングは、アプリケーションのニーズ、および、ビデオ圧縮技術または標準において利用可能なアップおよびダウンスケールメカニズムの能力に従って、考案され得る。テーブルは、より多くの値へ拡張され得る。値は、また、例えば、バイナリ符号化を使用して、指数ゴロムコード以外のエントロピー符号化メカニズムによっても表され得る。これは、例えばMANEによって、ビデオ処理エンジン(主要なエンコーダおよびデコーダ)自体の外側で再サンプリングファクタに関心ある場合に、所定の利点を有し得る。解像度の変更が必要とされない(おそらく)最も一般的なケースについて、指数ゴロムコードは、短く選択され得ること、上のテーブルでは、単一ビットのみであること、が留意されるべきである。これは、最も一般的な場合について、バイナリコードを使用することより、有利な符号化効率を有し得る。
【0066】
テーブルにおけるエントリの数、並びに、それらのセマンティックは、完全に又は部分的に設定可能(configurable)であり得る。例えば、テーブルの基本的なアウトラインは、シーケンスまたはデコーダパラメータセットといった「高(“high”)」パラメータセットで伝達され得る。代替的または追加的に、1つ以上のそうしたテーブルは、ビデオ符号化技術または標準で定義され、そして、例えば、デコーダまたはシーケンスパラメータセットを通して選択され得る。
【0067】
これから先、上述のように符号化された、アップサンプル/ダウンサンプルファクタ(ARC情報)が、どのようにビデオ符号化技術または標準のシンタックスに含まれるかを説明する。同様な検討が、アップ/ダウンサンプル・フィルタを制御する1つ、または少数のコードワードに適用され得る。フィルタまたは他のデータ構造について比較的に大量のデータが必要な場合の説明は、以下を参照のこと。
【0068】
H.263 Annex Pは、特にH.263 PLUSPTYPE(503)ヘッダ拡張において、画像ヘッダ501への4つのワーピング座標の形式でARC情報502を含む。ARC情報502のこの形態は、a)利用可能な画像ヘッダが存在し、かつ、b)ARC情報の頻繁な変更が予想される、場合に使用され得る。しかしながら、H.263スタイルのシグナリングを使用する場合のオーバヘッドは、非常に高く、そして、画像ヘッダが一時的な性質のものであり得るので、画像境界の中にスケーリング係数が属ないことがある。
【0069】
上述の、JVCET-M135-v1は、画像パラメータセット(504)内に配置されたARC参照情報(505)(インデックス)を含み、次いでシーケンスパラメータセット(507)内に配置されるターゲット解像度を含むテーブル(506)をインデックス付けする。シーケンスパラメータセット(507)内のテーブル(506)における可能な解像度の配置は、筆者による口頭の記述によれば、能力交換の最中の相互運用性交渉ポイントとしてSPSを使用することによって、正当化され得る。解像度は、適切な画像パラメータセット(504)を参照することによって、テーブル(506)内の値によって設定された制限の中で、画像から画像へと変化し得る。
【0070】
以下の追加的なオプションは、ビデオビットストリームにおいてARC情報を伝達するために存在し得る。これらのオプションそれぞれは、上述のように、所定の利点を有している。これらのオプションは、同一のビデオ符号化技術または標準において同時に存在し得る。
【0071】
図5Bに示される一つの実施形態において、再サンプリング(ズーム)係数といったARC情報(509)は、スライスヘッダ、GOBヘッダ、タイルヘッダ、または、タイルグループヘッダ(これから先は、タイルグループヘッダ)(508)内に存在し得る。これは、例えば、上に示されるように、単一の可変長ue(v)、または、数ビットの固定長コードワードといった、ARC情報が小さい場合に十分であり得る。タイルグループヘッダ内にARC情報を有することは、追加的な利点を有し、ARC情報が、例えば、画像全体ではなく、そのタイルグループによって表されるサブ画像に適用可能であり得る。以下も参照のこと。加えて、ビデオ圧縮技術または標準が全体画像の適応解像度変化のみを想定しているとしても(例えば、タイルグループベースの適応解像度の変更とは対照的に)、ARC情報をタイルグループヘッダの中へに入れることは、H.263スタイルの映像ヘッダの中へ入れることと比較して、エラー耐性の観点から所定の利点を有している。
【0072】
同一または別の実施形態において、ARC情報(512)自体は、例えば、画像パラメータセット、ヘッダパラメータセット、タイルパラメータセット、適応パラメータセット、等(示される適応パラメータセット)といった、適切なパラメータセット(511)内に存在し得る。そのパラメータセットの範囲は、有利なことに、画像、例えばタイルグループ(tile group)より大きくなくてよい。ARC情報の使用は、関連するパラメータセットのアクティベーション(activation)を通じて暗黙的である。例えば、ビデオ符号化技術または標準が映像ベースのARCのみを考慮する場合には、映像パラメータセットまたは均等物が適切であり得る。
【0073】
同一または別の実施形態において、ARC参照情報(513)は、タイルグループヘッダ(514)または同様なデータ構造内に存在し得る。その参照情報(513)は、単一のピクチャを超えたスコープを伴うパラメータセット(516)内で利用可能なARC情報のサブセット(515)を参照することができる。例えば、シーケンスパラメータセット、または、デコーダパラメータセットである。
【0074】
JVET-M0135-v1で使用されるように、タイルグループヘッダ、PPS、シーケンスパラメータセット(SPS)からの画像パラメータセット(PPS)の間接的に暗示される(indirect implied)アクティベーションの追加レベルは、画像パラメータセットが、シーケンスパラメータセットと同じように、能力交渉またはアナウンスに使用され得る(および、RFC3984といった所定の標準において有し得る)ので、不必要であると思われる。PPSは、一般的に、各スライスヘッダにおいて見られるシンタックス要素によって決定されるように、ゼロ以上の符号化画像全体に適用されるシンタックス要素を含む、シンタックス構造を参照する。SPSは、一般的に、各画像ヘッダに見られるシンタックス要素によって参照されるPPSにおいて見られるシンタックス要素のコンテンツによって決定される、ゼロ以上の符号化層ビデオシーケンス(CLVS)全体に適用されるシンタックス要素を含む、シンタックス構造を参照する。しかしながら、ARC情報が、例えば、タイルグループによっても、また、表現されるサブ画像に適用されるべきである場合、適応パラメータセットまたはヘッダパラメータセットといった、タイルグループに制限されたアクティベーション範囲を伴うパラメータセットが、より良い選択であり得る。また、ARC情報が、無視できるサイズよりも大きい場合-例えば、多数のフィルタ係数といったフィルタ制御情報を含んでいる-、パラメータは、符号化効率性の観点から直接的にヘッダ(508)を使用するよりも良い選択であり得る。それらの設定は、同一のパラメータセットを参照することによって、将来の画像またはサブ画像によって再利用可能であり得るからである。
【0075】
シーケンスパラメータセット、または、複数の画像にまたがるスコープを有する別のより高いパラメータセットを使用する場合には、所定の考慮事項が適用され得る。
【0076】
1.ARC情報テーブル(516)を保管するために設定されたパラメータは、ある場合に、シーケンスパラメータセットであり得るが、他の場合には、有利なことに、デコーダパラメータセットであり得る。デコーダパラメータセットは、複数のCVS、すなわち、符号化ビデオストリーム、つまり、セッション開始からセッション解除(teardown)までの全ての符号化ビデオビット、に係るアクティベーションスコープを有し得る。そうしたスコープの方がより適切であり得る。なぜなら、可能なARCファクタは、デコーダ機能であってよく、おそらくは、ハードウェアに実装されてよく、そして、ハードウェア機能は、任意のCVS(少なくともいくつかのエンターテイメントシステムでは、1秒以下の長さの画像グループである)では変化しない傾向があるからである。とはいえ、テーブルをシーケンスパラメータセットの中へ置くことは、ここにおいて説明される配置オプション内に、特には、以下のポイント2と共に、明示的に含まれている。
【0077】
2.ARC参照情報(513)は、有利なことに、JVCET-M0135-v1のように画像パラメータセットの中にではなく、画像/スライスタイル/GOB/タイルグループヘッダ(これから先は、タイルグループヘッダ)(514)の中に直接的に配置され得る。その理由は、以下のとおりである。例えば、ARC参照情報といった、画像パラメータセット内の単一の値を、エンコーダが変更したい場合には、新たなPPSを作成し、かつ、その新たなPPSを参照する必要があるからである。ARC参照情報のみが変化するが、例えば、PPS内の量子化マトリックス情報といった他の情報は留まるものと仮定する。そうした情報は、相当なサイズであり得るし、そして、新たなPPSを完全にするために再送される必要があるだろう。ARC参照情報は、テーブル(513)へのインデックスといった単一のコードワードであってよく、そして、変化する唯一の値であろうから、全ての、例えば、量子化マトリックス情報、を再送することは煩雑であり、かつ、無駄である。これまでのところ、JVET-M0135-v1で提案されるように、PPSを介した間接化(indirection)を回避するために、符号化効率の観点から、かなり良好であり得る。同様に、ARC参照情報をPPSの中へと入れることは、画像パラメータセットのアクティベーションのスコープが画像であるため、ARC参照情報(513)によって参照されるARC情報が、サブ画像ではなく、画像全体に適用する必要があるという、追加的な欠点を有する。
【0078】
同一または別の実施形態において、ARCパラメータのシグナリングは、
図6Aで概説されるような詳細な実施例に従うことができる。
図6Aは、少なくとも1993年以降のビデオ符号化標準において使用されるような、表現におけるシンタックス図を示している。そうしたシンタックス図の表記法は、概ねCスタイルのプログラミングに従っている。太字の線は、ビットストリーム内に存在するシンタックス要素を示しており、太字でない線は、しばしば、制御フローまたは変数の設定を示している。
【0079】
画像の(おそらくは矩形の)部分に適用可能なヘッダのシンタックス構造に係る一つの例としてのタイルグループヘッダ(601)は、条件付きで、可変長の、指数ゴロムコード化シンタックス要素dec_pic_size_idx(602)(太字で示されている)を含み得る。タイルグループヘッダにおけるこのシンタックス要素の存在は、適応解像度(603)の使用によってゲートされ得る。-ここで、太字で示されていないフラグの値は、シンタックス図において発生するポイントで、フラグがビットストリーム内に存在することを意味する。適応解像度が、この画像又はその一部について使用されているか否かは、ビットストリームの内側または外側の任意の高レベルなシンタックス構造においてシグナリングされ得る。示された実施例では、以下で概説されるように、シーケンスパラメータセットでシグナリングされる。
【0080】
依然として
図6Aを参照すると、シーケンスパラメータセット(610)の抜粋も、また、示されている。最初のシンタックス要素はadpaptive_pic_resolution_change_flag(611)である。真の場合、そのフラグは、適応解像度の使用を示すことができ、これは、次いで、所定の制御情報を必要とし得る。この例において、そうした制御情報は、パラメータセット(612)およびタイルグループヘッダ(601)におけるif()ステートメントに基づくフラグの値に基づいて、条件的に存在する。
【0081】
適応解像度を使用している場合に、この例において、符号化された出力解像度は、サンプル(613)の単位での出力解像度である。数字613は、output_pic_width_in_luma_samplesと、output_pic_height_in_luma_samplesの両方を参照し、これらは一緒に、出力画像の解像度を定義することができる。ビデオ符号化技術または標準の別の場所で、どちらかの値に対する所定の制限が定義され得る。例えば、レベル定義は、出力サンプルの総数を制限し、それは、これら2つのシンタックス要素の値の積であり得る。また、所定のビデオ符号化技術または標準、もしくは、例えば、システム規格といった、外部の技術または規格は、ナンバリング範囲(例えば、一方または両方の次元は2のべき乗の数字で割り切れることを要する)またはアスペクト比(例えば、幅と高さとは、4:3または16:9といった関係であることを要する)を、制限し得る。そうした制限は、ハードウェアの実装を促進するため、または、他の理由のために導入され得る。
【0082】
所定のアプリケーションにおいては、暗にそのサイズを出力画像サイズである仮定するのではなく、エンコーダが、デコーダに所定の参照画像サイズを使用するように指示することが懸命である。この例において、シンタックス要素reference_pic_size_present_flag(614)は、参照画像寸法(615)の条件的な存在をゲートgate)する(再び、数字は幅および高さの両方を参照する)。
【0083】
最後に、可能な復号画像の幅および高さのテーブルが示されている。そうしたテーブルは、例えば、テーブル表示(num_dec_pic_size_in_luma_samples_minus1)(616)によって表すことができる。「マイナス1(“minus 1”)」は、そのシンタックス要素の値の解釈(interpretation)を参照することができる。例えば、符号化された値がゼロである場合、1個のテーブルエントリが存在する。値が5の場合には、6個のテーブルエントリが存在し、テーブルにおける各「行(“line”)」について、復号された画像の幅および高さが、次いで、シンタックスに含まれている(617)。
【0084】
提示されるテーブルエントリ(617)は、タイルグループヘッダ内のシンタックス要素dec_pic_size_idx(602)を使用してインデックス付けされ得る。それによって、タイルグループ毎の異なるデコードされたサイズ-事実上、ズーム係数-を可能にしている。
【0085】
所定のビデオ符号化技術または標準、例えばVP9は、空間的スケーラビリティ(scalability)を可能にするように、時間的スケーラビリティと共に、参照画像再サンプリングの所定の形態(開示される技術的事項とはかなり異なってシグナリングされる)を実施することによって空間的スケーラビリティをサポートする。特に、所定の参照画像は、空間的強化層のベースを形成するために、ARCスタイル技術を使用して、より高い解像度へアップサンプリングされ得る。これらのアップサンプリングされた画像は、高解像度での通常の予測メカニズムを使用して、詳細を追加するように、精密化され得る。
【0086】
開示される技術的事項は、そうした環境で使用することができる。所定の場合には、同一または別の実施形態において、NALユニットヘッダにおける値、例えば時間的(Temporal)IDフィールドが、時間的層だけでなく、空間的層も示すために使用され得る。そうすることは、所定のシステム設計に対してある種の利点を有している。例えば、NALユニットヘッダの時間的ID値に基づいて選択された時間的レイヤについて作成され、かつ、最適化されたSelected Forwarding Units(SFU)は、スケーラブルな環境のために、変更することなく使用され得る。これを可能にするために、符号化された画像サイズと時間的層との間のマッピングに対する要求が存在し、NALユニットヘッダの時間的IDフィールドによって示され得る。
【0087】
図6Bは、一つの実施形態に従った、符号化ビデオシーケンスの符号化画像を復号する方法(620)を示すフローチャートである。いくつかの実施において、
図6Bの1つ以上のプロセスブロックは、デコーダ(210)によって実行され得る。いくつかの実装において、
図6Bの1つ以上のプロセスブロックは、エンコーダ(203)といった、デコーダ(210)から分離され、または、デコーダ(210)を含む、別のデバイスまたはデバイスのグループによって実行され得る。
【0088】
図6Bを参照すると、方法(620)は、ARC情報が利用可能であるか否かを決定すること(621)を含む。そして、ARC情報が利用可能でないと決定される場合には、本方法は終了する(650)。ARC情報が利用可能であると決定された場合に、本方法は、パラメータセットから、複数の候補デコード解像度(candidate decoded resolution)を復号すること(625)を含む。
【0089】
本方法(620)は、サンプルグループに適用可能な過渡的ヘッダ構造で符号化されたインデックスを介して、複数の候補デコード解像度の中から候補デコード解像度を選択すること(630)を含む。
【0090】
本方法(620)は、出力解像度および選択された候補デコード解像度に基づいて、サンプルグループに係るサンプルを再サンプリングすること(635)を含む。
【0091】
本方法(620)は、再サンプリングされたサンプルを使用して予測をイネーブルすること(640)を含む。
【0092】
本方法(620)は、さらに、過渡的ヘッダ構造が、画像ヘッダ、タイルグループヘッダ、タイルヘッダ、スライスヘッダ、および、ブロックグループヘッダのうち任意の1つまたは任意の組み合わせであること、を含み得る。
【0093】
本方法(620)は、さらに、インデックスが指数ゴロムコードで符号化されていること、を含み得る。
【0094】
本方法(620)は、さらに、過渡的ヘッダ構造がタイルグループヘッダであり、かつ、タイルグループヘッダが再サンプリング要因(factor)因子を含むこと、を含み得る。
【0095】
本方法(620)は、さらに、過渡的ヘッダ構造がタイルグループヘッダであり、かつ、タイルグループヘッダが適応解像度変化(ARC)参照情報を含むこと、を含み得る。
【0096】
本方法(620)は、さらに、ARC参照情報が、パラメータセット内で利用可能なARC情報のサブセットを参照すること、を含み得る。
【0097】
本方法(620)は、さらに、複数の候補デコード解像度に先立って、多数の候補デコード解像度が指数ゴロムコード化シンタックス要素において符号化されること、を含み得る。
【0098】
図6Bは、本方法(620)の例示的なブロックをしている、いくつかの実装において、本方法(620)は、
図6Bに示されたものよりも、追加のブロック、少ないブロック、異なるブロック、または、異なる配置のブロックを含み得る。追加的、または代替的に、本方法(620)のブロックのうちの2つ以上は、並行して実施されても得る。
【0099】
さらに、提案される方法は、処理回路(例えば、1つ以上のプロセッサまたは1つ以上の集積回路)によって実施され得る。一つの実施形態においては、1つ以上のプロセッサが、提案される方法の1つ以上を実行するために、非一時的なコンピュータで読取り可能な媒体に保管されたプログラムを実行する。
【0100】
図6Cは、一つの実施形態に従った、ビデオシーケンスの符号化画像を復号するための装置(660)の簡素化されたブロック図である。
【0101】
図6Cを参照すると、本装置(660)は、コードを復号すること(670)、コードを選択すること(675)、コードを再サンプリングすること(680)、および、コードをイネーブルすること(685)、を含んでいる。
【0102】
コードを復号化すること(670)は、パラメータセットから、複数の候補デコード解像度を復号するように構成されている。
【0103】
コードを選択すること(675)は、サンプルグループに適用可能な過渡的ヘッダ構造で符号化されたインデックスを介して、複数の候補デコード解像度の中から候補デコード解像度を選択するように構成されている。
【0104】
コードを再サンプリングすること(680)は、出力解像度および選択された候補デコード解像度に基づいて、サンプルグループに係るサンプルを再サンプリングするように構成されている。
【0105】
コードをイネーブルすること(685)は、再サンプリングされたサンプルを使用して、予測をイネーブルするように構成されている。
【0106】
上述のネットワーク抽象化ユニットヘッダにおける画像参照のための技術は、コンピュータで読取り可能な命令を使用してコンピュータソフトウェアとして実装され、そして、1つ以上のコンピュータで読取り可能な媒体に物理的に保管され得る。例えば、
図7は、開示される技術的事項のうち所定の実施形態を実施するために適したコンピュータシステム700を示している。
【0107】
コンピュータソフトウェアは、命令を含むコードを作成するために、アセンブリ、コンパイル、リンク、または同様のメカニズムの対象となり得る、任意の適切な機械コードまたはコンピュータ言語を使用して符号化され得る。命令は、コンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)、等によって、直接的に、または、解釈(interpretation)、マイクロコード実行、等を通して実行され得る。
【0108】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム装置、モノのインターネット、等を含む、種々のタイプのコンピュータ又はそのコンポーネント上で実行され得る。
【0109】
コンピュータシステム700について
図7において示されるコンポーネントは、本質的に例示的なものであり、そして、本開示の実施形態を実装するコンピュータソフトウェアの使用または機能性の範囲に関していなかる制限も示唆するようには意図されていない。また、コンポーネントの構成は、コンピュータシステム700の例示的な実施形態において示されるコンポーネントのうち任意の1つ又は組み合わせに関するいかなる従属性または要件も有するものとして解釈されるべきではない。
【0110】
コンピュータシステム700は、所定のヒューマンインターフェイス入力装置を含み得る。そうしたヒューマンインターフェイス入力装置は、例えば、触覚入力(例えば、キーストローク、スワイプ、データグローブの動き)、オーディオ入力(例えば、音声、拍手)、視覚入力(例えば、ジェスチャ)、嗅覚入力(図示なし)を通じて、一人以上の人間ユーザによる入力に対して応答し得る。ヒューマンインターフェイス装置は、また、オーディオ(例えば、音声、音楽、雰囲気の音)、画像(例えば、スキャン画像、静止画像カメラから獲得する写真画像)、ビデオ(例えば、2次元ビデオ、立体画像を含む3次元ビデオ)といった、人間による意識的な入力に必ずしも直接的に関係しない所定の媒体をキャプチャするためにも使用され得る。
【0111】
入力ヒューマンインターフェイス装置は、キーボード701、マウス702、トラックパッド703、タッチスクリーン710、データグローブ704、ジョイスティック705、マイクロホン706、スキャナ707、カメラ708のうちの1つ以上(それぞれ1つだけが描かれている)を含み得る。
【0112】
コンピュータシステム700は、また、所定のヒューマンインターフェイス出力装置を含み得る。そうしたヒューマンインターフェイス出力装置は、例えば、触覚出力、音、光、および、嗅覚/味覚を通して、一人以上の人間ユーザの感覚を刺激することができる。そうしたヒューマンインターフェイス出力装置は、触覚出力装置(例えば、タッチスクリーン710、データグローブ704、または、ジョイスティック705による触覚フィードバック、しかし、入力装置として機能しない触覚フィードバック装置も、また、存在し得る)、オーディオ出力装置(例えば、スピーカー709、ヘッドフォン(図示なし))、視覚出力装置(ブラウン管(CRT)スクリーン、液晶ディスプレイ(LCD)スクリーン、プラズマスクリーン、有機発光ダイオード(OLED)スクリーンを含むスクリーン710であり、各々がタッチスクリーン入力機能を有するか又は有さない、各々が触覚フィードバック機能を有するか又は有さず、-これらのいくつかは、立体画像出力といった手段を介して、2次元の視覚出力または3次元以上の出力をアウトプットすることができ、仮想現実メガネ(図示なし)、ホログラフィックディスプレイおよびスモークタンク(図示なし)、といったもの)、および、プリンタ(図示なし)を含み得る。
【0113】
コンピュータシステム700は、また、人間がアクセス可能なストレージ装置、および、それらの関連媒体を含み得る。CD/DVD等の媒体721を用いるCD/DVD ROM/RW 720を含む光媒体、サムドライブ(thumb drive) 722、リムーバブルハードドライブまたはソリッドステートドライブ723、テープおよびフロッピー(登録商標)ディスクといったレガシー磁気媒体、セキュリティドングル(図示なし)といった特殊化されたROM/ASIC/PLDベースの装置、等といったものである。
【0114】
当業者であれば、また、ここで開示されている技術的事項に関連して使用される用語「コンピュータで読取り可能な媒体(“computer readable media”)」は、伝送媒体、搬送波、または、他の一時的な信号を包含しないことも理解すべきである。
【0115】
コンピュータシステム700は、また、1つ以上の通信ネットワーク(755)に対するインターフェイスを含み得る。ネットワーク(755)は、例えば、無線、有線、光であり得る。ネットワークは、さらに、ローカル、ワイドエリア、メトロポリタン、車両および工業、リアルタイム、遅延耐性(delay-tolerant)、等であり得る。ネットワーク(755)の例は、イーサネット、無線LAN、移動通信のためのグローバルシステム(GSM)、第3世代(3G)、第4世代(4G)、第5世代(5G)、ロングターム・エボリューション(LTE)、等を含むセルラーネットワーク、ケーブルテレビ、衛星テレビ、および、地上波放送テレビを含む、有線または無線のワイドエリアデジタルネットワーク、CANBusを含む車両および工業、等を含み得る。所定のネットワーク(755)は、一般的に、所定の汎用データポートまたはペリフェラルバス(749)に取り付けられる外部ネットワーク・インターフェイスアダプタ(754)を必要とする。例えば、コンピュータシステム700のユニバーサルシリアルバス(USB)ポート、といったものであり、他のものは、一般的に、以下に説明されるシステムバスに取り付けることによって、コンピュータシステム700のコアに組み込まれる(例えば、PCコンピュータシステムへのイーサネット・インターフェイス、または、スマートフォン・コンピュータシステムへのセルラーネットワーク・インターフェイス)。一つの例として、ネットワーク755は、ネットワークインターフェイス754を使用してペリフェラルバス749に接続され得る。これらのネットワークのいずれかを使用して、コンピュータシステム700は、他のエンティティと通信することができる。そうした通信は、一方向性(uni-directional)、受信専用(例えば、放送テレビ)、一方向性送信専用(例えば、所定のCANバス装置へのCANバス)、もしくは、例えば、ローカルまたはワイドエリアデジタルネットワークを使用する他のコンピュータシステムへの、双方向性(bi-directional)であり得る。所定のプロトコルおよびプロトコルスタックは、上述のように、それらのネットワーク(755)およびネットワークインターフェイス(754)の各々で使用され得る。
【0116】
上述のヒューマンインターフェイス装置、人間がアクセス可能なストレージ装置、および、ネットワークインターフェイス(754)は、コンピュータシステム700のコア740に取り付けられ得る。
【0117】
コア740は、1つ以上の中央処理装置(CPU)741、グラフィックス処理装置(GPU)742、フィールドプログラマブルゲートアレイ(FPGA)743の形態で特殊化されたプログラマブル処理装置、所定のタスクのためのハードウェアアクセラレータ744、等を含み得る。これらの装置は、リードオンリーメモリ(ROM)745、ランダムアクセスメモリ(RAM)746、内部非ユーザアクセス可能ハードドライブ、ソリッドステートドライブ(SSD)、等といった内部大容量ストレージ装置747と共に、システムバス748を通じて接続され得る。いくつかのコンピュータシステムにおいて、システムバス748は、追加のCPU、GPU、等による拡張を可能にするために、1つ以上の物理的プラグの形態でアクセス可能であり得る。ペリフェラル装置は、コアのシステムバス748に直接的に取り付けられても、または、ペリフェラルバス749を通じて取り付けられてもよい。ペリフェラルバスのアーキテクチャは、ペリフェラルコンポーネントインターコネクト(PCI)、USB、等を含む。
【0118】
CPU 741、GPU 742、FPGA 743、およびアクセラレータ744は、組み合わせて、上述のコンピュータコードを構成することができる所定の命令を実行することができる。そのコンピュータコードは、ROM 745またはRAM 746に保管することができる。過渡的データは、また、RAM 746に保管することができ、一方で、永久的データは、例えば、内部大容量ストレージ装置747に保管することができる。メモリデバイスのいずれかへの高速保管および検索が、1つ以上のCPU 741、GPU 742、大容量ストレージ装置747、ROM 745、RAM 746、等と密接に関連付けされ得る、キャッシュメモリの使用を通じて、可能にされ得る。
【0119】
コンピュータで読取り可能な媒体は、種々のコンピュータ実装オペレーションを実行するためのコンピュータコードをその上に有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築され得るか、または、それらは、コンピュータソフトウェア技術の当業者にとって周知かつ入手可能な種類のものであり得る。
【0120】
一つの例として、そして、限定するものではなく、アーキテクチャ700を有するコンピュータシステム、および、具体的にはコア740は、1つ以上の有形なコンピュータで読取り可能な媒体において具現化されたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータ、等を含む)の結果として機能性を提供することができる。そうしたコンピュータで読取り可能な媒体は、上述のようにユーザがアクセス可能な大容量ストレージ装置、並びに、コア内部大容量ストレージ装置747またはROM 745といった、非一時的な性質のコア740に係る所定のストレージ装置であり得る。本開示の様々な実施形態を実装するソフトウェアは、そうした装置において保管され、そして、コア740によって実行され得る。コンピュータで読取り可能な媒体は、特定的なニーズに応じて、1つ以上のメモリデバイスまたはチップを含み得る。ソフトウェアは、コア1040、および、具体的には、その中のプロセッサ(CPU、GPU、FPG、等を含む)に、ここにおいて説明された特定のプロセスまたは特定のプロセスに係る特定の部分を実行させ得る。RAM 746に保管されたデータ構造を定義すること、および、ソフトウェアによって定義されたプロセスに従ってそうしたデータ構造を修正することを含むものである。追加して、または代替として、コンピュータシステムは、回路(例えば、アクセラレータ744)において配線された、または、他の方法で具現化されたロジックの結果として機能性を提供することができる。回路は、ここにおいて説明される特定のプロセスまたは特定のプロセスの特定的な部分を実行するために、ソフトウェアの代わりに、または、一緒に動作することができる。ソフトウェアへの参照は、ロジックを含み、そして、適切な場合には、その逆もまた同様である。コンピュータで読取り可能な媒体への参照は、実行のためのソフトウェアを保管する回路(集積回路(IC)といったもの)、実行のためのロジックを具体化する回路、または、適切な場合には、その両方を含むことができる。本開示は、ハードウェアおよびソフトウェアの任意の適切な組み合わせを包含するものである。
【0121】
本開示は、いくつかの例示的な実施形態を説明してきたが、変更、置換、および様々な代替等価物が存在し、それらは本開示の範囲内にある。このように、当業者であれば、ここにおいて明示的に示され、または、説明されていなくても、本開示の原理を具体化し、かつ、従って、本開示の精神および範囲内にある多のシステムおよび方法を考案することができることが、正しく理解されるだろう。