(57)【要約】符号器においてビデオシーケンスを符号化する、又は復号器においてビデオシーケンスを復号化するための方法及び装置であって、ブロックに関連するビデオシーケンスから初期動きベクトルを解析し、動きベクトル精密化と動き補償の両方を可能にするように、当該初期動きベクトルの解析に基づいて、複数のサンプルを決定し、複数のサンプルを事前抽出し、複数のサンプルの第１のサブセットを使用して動きベクトル精密化を実行して、最終的な動きベクトルを決定し、複数のサンプルの第２のサブセットを使用して動き補償を実行することを含む。
2021521753.tif 000002
【特許請求の範囲】
【請求項１】
符号器においてビデオシーケンスを符号化する、又は復号器において前記ビデオシーケンスを復号化するための、１つ以上のプロセッサによって実行される方法であって、
ブロックに関連する前記ビデオシーケンスからの初期動きベクトルを解析するステップと、
動きベクトル精密化と動き補償の両方を可能にするように、前記初期動きベクトルの解析に基づいて、複数のサンプルを決定するステップと、
前記複数のサンプルを事前抽出するステップと、
最終的な動きベクトルを決定するように、前記複数のサンプルの第１のサブセットを使用して前記動きベクトル精密化を実行するステップと、
前記複数のサンプルの第２のサブセットを使用して前記動き補償を実行するステップと、を含む方法。
【請求項２】
前記初期動きベクトルと前記最終的な動きベクトルとの間の最大距離を決定するステップと、
前記初期動きベクトルと前記最終的な動きベクトルとの間の最大距離に基づいて、前記複数のサンプルを決定するステップと、をさらに含む請求項１に記載の方法。
【請求項３】
補間フィルタに関連するタップの数を決定するステップと、
前記補間フィルタに関連する前記タップの数に基づいて、前記複数のサンプルを決定するステップと、をさらに含む請求項１または２に記載の方法。
【請求項４】
前記ブロックのサイズを決定するステップと、
前記ブロックのサイズに基づいて前記複数のサンプルを決定するステップと、をさらに含む請求項１ないし３のうちいずれか一項に記載の方法。
【請求項５】
サンプル単位で測った前記初期動きベクトルと前記最終的な動きベクトルとの間の最大距離が、ビデオ圧縮技術又は規格によって制限される請求項１ないし４のうちいずれか一項に記載の方法。
【請求項６】
前記ビデオ圧縮技術又は規格に従って、前記ビデオシーケンスに関連して、動きベクトル精密化ステップなしで別のブロックを再構築し、
前記ブロックに関連する第１の補間フィルタに関連して第１の数のタップが使用され、前記別のブロックに関連する第２の補間フィルタに関連して第２の数のタップが使用される請求項５に記載の方法。
【請求項７】
タップの前記第１の数と、サンプル単位で測った前記初期動きベクトルと前記最終的な動きベクトルとの間の最大距離との合計が、タップの前記第２の数に等しい請求項６に記載の方法。
【請求項８】
タップの前記第１の数は、タップの前記第２の数と異なる請求項６又は７に記載の方法。
【請求項９】
ビデオコーデック技術又は規格が、少なくとも１つの所定のブロックのサイズについて、前記動きベクトル精密化を阻止する請求項１ないし８のうちいずれか一項に記載の方法。
【請求項１０】
前記複数のサンプルの前記第１のサブセットは、前記複数のサンプルの前記第２のサブセットと異なる請求項１ないし９のうちいずれか一項に記載の方法。
【請求項１１】
符号器においてビデオシーケンスを符号化する、又は復号器において前記ビデオシーケンスを復号化するためのデバイスであって、
プログラムコードを記憶するように配置される少なくとも１つのメモリと、
前記プログラムコードを読み取り、前記プログラムコードの指示に従って動作するように配置される少なくとも１つのプロセッサと、を含み、
前記プログラムコードは、
前記少なくとも１つのプロセッサに、ブロックに関連する前記ビデオシーケンスからの初期動きベクトルを解析させるための解析コードと、
前記少なくとも１つのプロセッサに、動きベクトル精密化と動き補償の両方を可能にするように、前記初期動きベクトルの解析に基づいて、複数のサンプルを決定させるための決定コードと、
前記少なくとも１つのプロセッサに、前記複数のサンプルを事前抽出させるための事前抽出コードと、
前記少なくとも１つのプロセッサに、最終的な動きベクトルを決定するように、前記複数のサンプルの第１のサブセットを使用して前記動きベクトル精密化を実行させるための第１の実行コードと、
前記少なくとも１つのプロセッサに、前記複数のサンプルの第２のサブセットを使用して前記動き補償を実行させるための第２の実行コードと、を含むデバイス。
【請求項１２】
前記少なくとも１つのプロセッサに、前記初期動きベクトルと前記最終的な動きベクトルとの間の最大距離を決定させるための他の決定コードをさらに含み、
前記決定コードは、前記少なくとも１つのプロセッサに、前記初期動きベクトルと前記最終的な動きベクトルとの間の最大距離に基づいて、前記複数のサンプルを決定させるものである請求項１１に記載のデバイス。
【請求項１３】
前記少なくとも１つのプロセッサに、補間フィルタに関連するタップの数を決定させるための他の決定コードをさらに含み、
前記決定コードは、前記少なくとも１つのプロセッサに、前記補間フィルタに関連する前記タップの数に基づいて前記複数のサンプルを決定させるものである請求項１１又は１２に記載のデバイス。
【請求項１４】
前記少なくとも１つのプロセッサに、前記ブロックのサイズを決定させるための他の決定コードをさらに含み、
前記決定コードは、前記少なくとも１つのプロセッサに、前記ブロックのサイズに基づいて前記複数のサンプルを決定させるものである請求項１１ないし１３のうちいずれか一項に記載のデバイス。
【請求項１５】
サンプル単位で測った前記初期動きベクトルと前記最終的な動きベクトルとの間の最大距離が、ビデオ圧縮技術又は規格によって制限される請求項１１ないし１４のうちいずれか一項に記載のデバイス。
【請求項１６】
前記ビデオ圧縮技術又は規格に基づき、前記ビデオシーケンスに関連して、動きベクトル精密化ステップなしで別のブロックが再構築され、
前記ブロックに関連する第１の補間フィルタに関連して第１の数のタップが使用され、
前記別のブロックに関連する第２の補間フィルタに関連して第２の数のタップが使用される請求項１５に記載のデバイス。
【請求項１７】
タップの前記第１の数と、サンプル単位で測った前記初期動きベクトルと前記最終的な動きベクトルとの間の最大距離との合計は、タップの前記第２の数に等しい請求項１６に記載のデバイス。
【請求項１８】
タップの前記第１の数は、タップの前記第２の数と異なる請求項１６又は１７に記載のデバイス。
【請求項１９】
前記複数のサンプルの前記第１のサブセットは、前記複数のサンプルの前記第２のサブセットと異なる請求項１１ないし１８のうちいずれか一項に記載のデバイス。
【請求項２０】
デバイスの１つ以上のプロセッサに、
ブロックに関連するビデオシーケンスからの初期動きベクトルを解析するステップと、
動きベクトル精密化と動き補償の両方を可能にするように、前記初期動きベクトルの解析に基づいて、複数のサンプルを決定するステップと、
前記複数のサンプルを事前抽出するステップと、
最終的な動きベクトルを決定するように、前記複数のサンプルの第１のサブセットを使用して前記動きベクトル精密化を実行するステップと、
前記複数のサンプルの第２のサブセットを使用して前記動き補償を実行するステップとを実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、３５Ｕ.Ｓ.Ｃ.  §１１９に基づき、２０１８年６月１４日にてアメリカ特許商標庁に提出されたアメリカ仮出願６２/６８５，２５７号の優先権を主張し、その全内容を参照により本明細書に組み込む。
【０００２】
開示されるテーマは、ビデオ符号化及び復号化に関し、より具体的に、動きベクトル精密化が存在する場合のメモリ帯域幅に関する動き補償補間フィルタの選択に関する。
【背景技術】
【０００３】
動き補償を伴うピクチャ予測を使用するビデオの符号化及び復号化は、何十年も前から知られている。非圧縮のデジタルビデオは一連のピクチャを含んでもよく、各ピクチャの空間次元は、例えば１９２０×１０８０輝度サンプルと関連する色度サンプルである。当該一連のピクチャは、例えば、毎秒６０枚のピクチャ又は６０Ｈｚの固定又は可変のピクチャレート（非公式にはフレームレートとも呼ばれる）を有してもよい。非圧縮のビデオには、高いビットレート要件を有する。例えば、１サンプルあたり８ビットの１０８０ｐ６０４：２：０ビデオ（６０Ｈｚフレームレートでの１９２０×１０８０の輝度サンプル解像度）は、１．５Ｇｂｉｔ/ｓに近い帯域幅が必要である。１時間のこのようなビデオは、６００ＧＢを超えるストレージスペースが必要である。
【０００４】
ビデオの符号化と復号化の１つの目的は、圧縮によって入力ビデオ信号の冗長性を減らすことである。圧縮は、以上で言及された帯域幅又はストレージスペースの要件を低減するのに役立つことができ、いくつかの場合に、２桁以上低減されてもよい。可逆圧縮、非可逆圧縮、及びそれらの組み合わせを使用し得る。可逆圧縮とは、圧縮される元の信号から元の信号の正確なレプリカを再構築できる技術を指す。非可逆圧縮を使用する場合、再構築された信号は、元の信号と異なる可能性があるが、元の信号と再構築された信号の間の歪みは無視できるため、再構築された信号は予期のアプリケーションに役立つ。ビデオの場合、非可逆圧縮は広く適用される。許容される歪みの量はアプリケーションに依存し、例えば、特定のコンシューマストリームアプリケーションのユーザーは、テレビ投稿アプリケーションのユーザーよりも高い歪みを許容できる。達成可能な圧縮率は、許可/許容可能な歪みが大きいほど、圧縮率が高くなることを反映することができる。
【０００５】
ビデオ符号器と復号器は、例えば、動き補償、変換、量子化、エントロピー符号化などを含む若干の幅広いカテゴリからの技術を利用でき、その中のいくつかについて、以下紹介する。
【０００６】
動き補償は非可逆圧縮技術であってもよく、そして、次の技術が含まれる可能性があり、動きベクトル（以降、ＭＶと呼ばれる）によって指示される方向に空間的に変位した後、以前に再構築されたピクチャ又はその一部（参照ピクチャ）からのサンプルデータのブロックは、新しく再構築されるピクチャ又はピクチャの一部の予測に使用される。いくつかの場合に、参照ピクチャは、現在に再構築されているピクチャと同じであってもよい。ＭＶは、ＸとＹの２つの次元、又は３つの次元を有してもよく、３番目の次元は使用中の参照ピクチャの指示（後者は間接的に時間次元であり得る）。
【０００７】
動き補償で使用される動きベクトルは、サブサンプル（サブ画素）精度があり得る。少なくともそのような場合、動き補償は、補間フィルタを使用して、複数の参照ピクチャサンプルから、再構築されたサンプルを補間することに関する。そのような補間フィルタは、例えば、（各次元において）８タップのフィルタを含み得る。より一般的には、ｎタップ補間フィルタを使用するには、補間にｎのサンプルを使用する必要がある可能性がある。その後、単一の次元でのフィルタリングのみが考慮され、当業者は、本明細書で説明される一次元の考慮事項を他の次元に容易に一般化することができる。
【０００８】
いくつかの場合に、動き補償で使用される動きベクトルは、ビットストリームに直接符号化されるか、又は、既に再構築されたメタデータに対する差分情報、例えば、再構築中のピクチャのブロックの動きベクトルデータとして符号化されてもよい。ただし、他の場合に、動きベクトル自体が復号器側の補間の結果であり得る。双方向予測ブロックの場合に、そのような復号器側の動きベクトル導出に使用される周知の技術は、よく知られており、２つの参照ブロックで使用される動きベクトルに基づき、動き補償に使用される動きベクトルを補間することができる。
【０００９】
さらに、動き補償ブロックに使用される動きベクトルを作成する場合に、再構築中のピクチャに属するサンプルデータ（メタデータとは反対）を使用する必要がある可能性がある他の技術がある。例えば、ＪＶＥＴ-Ｄ００２９にそのような技術の１つが記載され、http://phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=2725から入手でき、タイトルは「Ｄｅｃｏｄｅｒ-Ｓｉｔｅ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｒｅｆｉｎｅｍｅｎｔ  Ｂａｓｅｄ  ｏｎ  Ｂｉｌａｔｅｒａｌ  Ｔｅｍｐｌａｔｅ  Ｍａｔｃｈｉｎｇ」である。そこに記載されている技術は、双方向予測（２つの参照ピクチャによる予測）の背景で使用することができる。この例示的な技術の動き補償は、従来の双方向予測再構築技術を使用してテンプレートブロックを作成することを含む。このテンプレートは、復号器側の動き「検索」メカニズムに使用でき、このメカニズムから、精密化動きベクトルを生成できる。この精密化動き補償ベクトルも動き補償ステップへの入力になる。ＪＶＥＴ-Ｄ００２９によれば、このような技術はコーデックの圧縮パフォーマンスに大きなプラスの影響を与える。
【発明の概要】
【課題を解決するための手段】
【００１０】
本明細書は、復号器側の動きベクトル精密化を使用してビデオ符号器／復号器におけるメモリアクセス帯域幅を改善する技術を開示した。本明細書のいくつかの実施形態によれば、動きベクトル精密化を使用する場合に、明確に定義された数（ゼロであり得る）のサンプルのみを事前抽出〔プリフェッチ〕する必要があり、そのような事前抽出は単一のパイプラインステップで発生し得る。
【００１１】
本開示の一態様によれば、符号器においてビデオシーケンスを符号化する、又は復号器においてビデオシーケンスを復号化するための方法は、ブロックに関連するビデオシーケンスから初期動きベクトルを解析するステップと、動きベクトル精密化と動き補償の両方を可能にするように、初期動きベクトルの解析に基づいて複数のサンプルを決定するステップと、複数のサンプルを事前抽出するステップと、最終的な動きベクトルを決定するように、複数のサンプルの第１のサブセット動きベクトルを使用して精密化を実行するステップと、複数のサンプルの第２のサブセットを使用して動き補償を実行するステップとを含む。
【００１２】
本開示の一態様によれば、符号器においてビデオシーケンスを符号化する、又は復号器においてビデオシーケンスを復号化するためのデバイスは、プログラムコードを記憶するように配置される少なくとも１つのメモリと、プログラムコードを読み取り、プログラムコードの指示に従って動作するように配置される少なくとも１つのプロセッサとを含み、当該プログラムコードは、少なくとも１つのプロセッサに、ブロックに関連するビデオシーケンスから初期動きベクトルを解析させるように配置される解析コードと、少なくとも１つのプロセッサに、動きベクトル精密化と動き補償の両方を可能にするように、初期動きベクトルの解析に基づいて複数のサンプルを決定させるように配置される決定コードと、少なくとも１つのプロセッサに、複数のサンプルを事前抽出させるように配置される事前抽出コードと、少なくとも１つのプロセッサに、最終的な動きベクトルを決定するように、複数のサンプルの第１のサブセットを使用して動きベクトル精密化を実行させることように配置される第１の実行コードと、少なくとも１つのプロセッサに、複数のサンプルの第２のサブセットを使用して動き補償を実行させるように配置される第２の実行コードとを含む。
【００１３】
本開示の一態様によれば、命令を記憶する非一時的なコンピュータ可読媒体であって、当該命令は１つ以上の命令を含み、当該１つ以上の命令は、デバイスの１つ以上のプロセッサによって実行される場合に、１つ以上のプロセッサに次の動作を実行させ、ブロックに関連するビデオシーケンスから、初期動きベクトルを解析し、動きベクトル精密化と動き補償の両方を可能にするように、初期動きベクトルの解析に基づいて、複数のサンプルを決定し、複数のサンプルを事前抽出し、最終的な動きベクトルを決定するように、複数のサンプルの第１のサブセットを使用して動きベクトル精密化を実行し、複数のサンプルの第２のサブセットを使用して動き補償を実行する。
【図面の簡単な説明】
【００１４】
開示されたテームの他の特徴、性質及び様々な利点は以下の詳細な説明及び図面からより明確になり、図面において、
【００１５】
【図１】実施形態による通信システムの簡略ブロック図の概略図である。
【００１６】
【図２】実施形態によるストリーミングシステムの簡略ブロック図の概略図である。
【００１７】
【図３】実施形態による復号器の簡略ブロック図の概略図である。
【００１８】
【図４】実施形態による符号器の簡略ブロック図の概略図である。
【００１９】
【図５】実施形態による動きベクトル精密化を伴う動き補償のフローチャートの概略図である。
【００２０】
【図６】実施形態による動き補間に必要なサンプルの概略図である。
【００２１】
【図７】実施形態による動きベクトル精密化を伴う動き補間に必要なサンプルの概略図である。
【００２２】
【図８】実施形態による動きベクトル精密化を伴う動き補間に必要なサンプルラインの概略図である。
【００２３】
【図９】実施形態による例示的な処理のフローチャートである。
【００２４】
【図１０】実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【００２５】
例えばＪＶＥＴ-Ｄ００２９で説明されているような技術は、復号器のメモリ帯域幅要件に大きな影響を与える。具体的に、精密化ステップ（テンプレート生成）に必要なサンプルデータは再構築のためのサンプルデータと異なる可能性があり、所定のブロックの再構築について、復号器は、従来の双方向予測の使用に必要なサンプルデータよりも多くのサンプルデータにアクセスする必要がある。１つ以上の技術を使用すると、追加のメモリ帯域幅（存在する場合）は決定可能である必要があり、そして、最小化による制約に基づいて観察された符号化ゲインに対して最小化する必要がある。
【００２６】
図１は、本開示の実施形態による通信システム（１００）の簡略ブロック図を示す。システム（１００）はネットワーク（１５０）を介して互いに接続された少なくとも２つの端末（１１０、１２０）を含むことができる。データの一方向伝送について、第１の端末（１１０）は、ローカル位置でビデオデータを符号化して、ネットワーク（１５０）を介して他方の端末（１２０）に伝送することができる。第２の端末（１２０）は、ネットワーク（１５０）から、他方の端末の符号化されたビデオデータを受信し、当該符号化されたデータを復号化し、復元されたビデオデータを表示することができる。一方向のデータ伝送はメディアサービスアプリケーションなどでは一般的である。
【００２７】
図１は、例えばビデオ会議中に発生する可能性がある符号化されたビデオの双方向伝送をサポートするために提供される第２対の端末（１３０、１４０）を示す。データの双方向伝送について、各端末（１３０、１４０）は、ローカル位置でキャプチャしたビデオデータを符号化して、ネットワーク（１５０）を介して他方の端末に伝送することができる。各端末（１３０、１４０）はさらに、他方の端末から伝送された、符号化されたビデオデータを受信し、当該符号化されたデータを復号化し、復元されたビデオデータをローカルディスプレイ機器に表示することができる。
【００２８】
図１において、端末（１１０〜１４０）は、サーバ、パソコンコンピュータ、スマートフォンとして例示され得るが、本開示の原理はそれらに限定されない。本開示の実施例は、ラップトップコンピュータ、タブレット、メディアプレイヤー及び／又は専用のビデオ会議機器に適用することができる。ネットワーク（１５０）は、端末（１１０〜４４０）の間で符号化されたビデオデータを伝送する任意の数のネットワークを表し、例えば有線及び／又は無線通信ネットワークを含む。通信ネットワーク（１５０）は、回線交換及び／又はパケット交換チャネルにおいてデータを交換することができる。代表的なネットワークには、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク及び／又はインターネットが含まれる。本出願で説明される目的からすると、以下で解釈されない限り、ネットワーク（１５０）のアーキテクチャ及びトポロジは、本開示の動作にとって重要ではない場合がある。
【００２９】
開示されたテーマの適用例として、図２は、ストリーミング環境におけるビデオの符号器及び復号器の配置を示す。開示されたテーマは同様に、例えばビデオ会議、デジタルＴＶなどが含まれる、ビデオをサポートする他のアプリケーションに適用されることができ、ＣＤ、ＤＶＤ、メモリースティックなどが含まれるデジタルメディアに圧縮されたビデオなどを記憶する。
【００３０】
ストリーミングシステムは、キャプチャサブシステム（２１３）を含むことができ、当該キャプチャサブシステムは、例えばデジタル撮影装置などの、非圧縮のビデオサンプルストリーム（２０２）を作成できるビデオソース（２０１）を含むことができる。サンプルストリーム（２０２）は、符号化されたビデオビットストリームと比較してデータ量が多いことを強調するように、太い線として描画される。サンプルストリーム（２０２）は、撮影装置（２０１）に結合される符号器（２０３）によって処理されることができる。符号器（２０３）は、以下で詳細に説明される開示されるテーマの各態様を実現することができるために、ハードウェア、ソフトウェア又はそれらの組み合わせを含むことができる。符号化されたビデオビットストリーム（２０４）は、サンプルストリームと比較してデータ量が少ないことを強調するように、細い線として描画される。符号化されたビデオビットストリーム（２０４）は、将来の使用のために、ストリーミングサーバ（２０５）に記憶されることができる。１つ以上のストリーミングクライアント（２０６、２０８）は、ストリーミングサーバ（２０５）にアクセスして、符号化されたビデオビットストリーム（２０４）のレプリカ（２０７、２０９）を検索することができる。クライアント（２０６）は、ビデオ復号器（２１０）を含むことができ、当該ビデオ復号器（２１０）は、符号化されたビデオビットストリームの着信レプリカ（２０７）を復号化し、ディスプレイ（２１２）又は他のレンダリングデバイス（図示せず）にレンダリングできる発信ビデオサンプルストリーム（２１１）を作成する。一部のストリーミングシステムでは、符号化されたビデオビットストリーム（２０４、２０７、２０９）は、あるビデオコーディング／圧縮規格に従って符号化され得る。これらの規格の例には、ＩＴＵ-Ｔ  Ｈ.２６５ドラフトが含まれる。非公式に多用途ビデオ符号化またはＶＶＣと呼ばれるビデオ符号化規格は開発中である。開示されたテーマは、ＶＶＣの背景で使用されてもよい。
【００３１】
図３は、本開示の実施形態によるビデオ復号器（２１０）の機能ブロック図であり得る。
【００３２】
受信機（３１０）は、ビデオ復号器（２１０）によって復号化される１つ以上の符号化されたビデオシーケンスを受信することができ、同じ実施例又は他の実施例では、一度に１つの符号化されたビデオシーケンスを受信し、各符号化されたビデオシーケンスの復号化は、他の符号化されたビデオシーケンスと独立している。符号化されたビデオシーケンスをチャネル（３１２）から受信することができ、チャネル（３１２）は、符号化されたビデオデータを記憶するための記憶装置に接続するハードウェア／ソフトウェアリンクであってもよい。受信機（３１０）は、符号化されたビデオデータ及び他のデータ、例えば、符号化されたオーディオデータ及び／又は補助データストリームを受信することができ、これらのデータは、それぞれの使用エンティティ（図示せず）に転送されることができる。受信機（３１０）は、符号化されたビデオシーケンスを他のデータから分離することができる。ネットワークのジッタを防止するために、バッファメモリ（３１５）は、受信機（３１０）とエントロピー復号器／パーサ（４２０）（以下、「パーサ」と呼ばれる）との間に結合されることができる。受信機（３１０）は、十分な帯域幅及び制御可能性を有する記憶／転送装置、又は等時性リアルタイムネットワークからデータを受信する際に、バッファ（３１５）を必要としない可能性があり、又はバッファ（３１５）が小さくなってもよい。例えばインターネットなどのベストエフォート型パケットネットワークで使用するために、バッファ（３１５）を必要とする可能性があり、バッファ（３１５）は比較的大きく、有利に自己適応サイズを有することができる。
【００３３】
ビデオ復号器（２１０）は、エントロピー符号化されたビデオシーケンスに基づきシンボル（３２１）を再構築するように、パーサ（３２０）を含むことができる。図２に示すように、これらのシンボルのカテゴリには、ビデオ復号器（２１０）の動作を管理するための情報、及びディスプレイ（２１２）のような、復号器の構成部分ではないが復号器に結合され得るレンダリングデバイスを制御するための潜在情報が含まれる。（１つ以上の）レンダリングデバイスのための制御情報は、補助拡張情報（ＳＥＩメッセージ）又はビデオユーザビリティ情報（ＶＵＩ）パラメータセットフラグメント（図示せず）という形であってもよい。パーサ（３２０）は、受信された、符号化されたビデオシーケンスを解析〔パース〕／エントロピー復号化することができる。符号化されたビデオシーケンスの符号化は、ビデオ符号化技術又は規格に従って実行することができ、可変長符号化、ハフマン符号化（Ｈｕｆｆｍａｎ  ｃｏｄｉｎｇ）、文脈依存の有無にかかわらず算術符号化などを含む当業者に知られている原理に従うことができる。パーサ（３２０）は、グループに対応する少なくとも１つのパラメータに基づき、符号化されたビデオシーケンスから、ビデオ復号器における画素のサブグループのうちの少なくとも１つのサブグループに関するサブグループパラメータセットを抽出することができる。サブグループは、ピクチャグループ（Ｇｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅｓ，ＧＯＰ）、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット（Ｃｏｄｉｎｇ  Ｕｎｉｔ，ＣＵ）、ブロック、変換ユニット（Ｔｒａｎｓｆｏｒｍ  Ｕｎｉｔ，ＴＵ）、予測ユニット（Ｐｒｅｄｉｃｔｉｏｎ  Ｕｎｉｔ，ＰＵ）などを含むことができる。エントロピー復号器／パーサはさらに、符号化されたビデオシーケンスから、例えば、変換係数、量子化器パラメータ値、動きベクトルなどの情報を抽出してもよい。
【００３４】
パーサ（３２０）は、バッファ（３１５）から受信されたビデオシーケンスに対してエントロピー復号化／解析操作を実行することで、シンボル（３２１）を作成することができる。
【００３５】
シンボル（３２１）の再構築は、符号化されたビデオピクチャ又はその一部のタイプ（例えば、インターピクチャとイントラピクチャ、インターブロックとイントラブロック）及び他の要因によって、複数の異なるユニットに関与する。関与するユニット及び制御方式について、パーサ（３２０）が符号化されたビデオシーケンスから解析したサブグループ制御情報によって制御される。簡潔のために、パーサ（３２０）と以下の複数のユニットとの間での、このようなサブグループ制御情報の流れは図示されていない。
【００３６】
既に言及された機能ブロックに加えて、復号器（２１０）は、概念的には、以下で説明される複数の機能ユニットに細分化される。ビジネス上の制約の下で運行する実際の実現形態において、これらのユニットのうち複数のユニットは互いに密接に相互作用するとともに、少なくとも部分的に互いに統合することができる。しかしながら、開示されたテーマを説明するために、概念的に以下の機能ユニットに細分化されることは適切である。
【００３７】
第１のユニットはスケーラ／逆変換ユニット（３５１）である。スケーラ／逆変換ユニット（３５１）はパーサ（３２０）から（１つ以上の）シンボル（３２１）としての量子化変換係数及び制御情報を受信し、使用する変換方式、ブロックサイズ、量子化因子、量子化スケーリング行列などを含む。スケーラ／逆変換ユニット（３５１）は、サンプル値を含むブロックを出力することができ、これらのブロックはアグリゲーター（３５５）に入力され得る。
【００３８】
いくつかの場合に、スケーラ／逆変換ユニット（３５１）の出力サンプルは、イントラ符号化ブロック、即ち、以前に再構築されたピクチャからの予測情報を使用していないが、現在ピクチャの以前に再構築された部分からの予測情報を使用することができるブロックに属し得る。このような予測情報は、イントラピクチャ予測ユニット（３５２）によって提供されることができる。いくつかの場合に、イントラピクチャ予測ユニット（３５２）は現在の（部分的に再構築された）ピクチャ（３５７ｂ）から抽出された、周囲の既に再構築された情報を使用して、再構築中のブロックと同じサイズ及び形状のブロックを生成する。いくつかの場合に、アグリゲーター（３５５）は、各サンプルごとに、イントラ予測ユニット（３５２）から生成された予測情報を、スケーラ／逆変換ユニット（３５１）によって提供される出力サンプル情報に加算する。
【００３９】
他の場合に、スケーラ／逆変換ユニット（３５１）の出力サンプルは、インター符号化された、潜在的に動き補償されたブロックに属することができる。このような場合に、動き補償予測ユニット（３５３）は、参照ピクチャメモリ（３５７）にアクセスして、予測のためのサンプルを抽出することができる。当該ブロックに属するシンボル（３２１）に基づき、抽出されたサンプルに対して動き補償を行った後、これらのサンプルは、アグリゲーター（３５５）によって、スケーラ／逆変換ユニットの出力（この場合、残差サンプル又は残差信号と呼ばれる）に加算されて、出力サンプル情報が生成される。動き補償ユニットが予測サンプルを抽出するための参照ピクチャメモリ内のアドレスは動きベクトルによって制御され、該動きベクトルはシンボル（３２１）の形で、動き補償予測ユニットにとって利用可能であり、シンボル（３２１）は、例えばＸ、Ｙ及び参照ピクチャ成分を有してもよい。動き補償はさらに、サブサンプルまで正確な動きベクトルが使用されるときの参照ピクチャメモリから抽出されるサンプル値の補間、動きベクトル予測メカニズムなどを含んでもよい。
【００４０】
アグリゲーター（３５５）の出力サンプルは、ループフィルタユニット（３５６）において、様々なループフィルタリング技術によって処理されることができる。ビデオ圧縮技術は、ループ内フィルタ技術を含むことができ、ループ内フィルタ技術は、符号化されたビデシーケンスに含まれる、パーサ（３２０）からのシンボル（３２１）としてループフィルタユニット（３５６）に適用可能なパラメータによって制御され、しかしながら、ビデオ圧縮技術は、符号化されたピクチャ又は符号化されたビデオシーケンスの（復号化順序で）前の部分を復号化する期間に取得されたメタ情報、及び、以前に再構築されループフィルタリングによって処理されたサンプル値に応答することもできる。
【００４１】
ループフィルタユニット（３５６）の出力は、サンプルストリームであってもよく、サンプルストリームは、将来のピクチャ予測で使用されるために、レンダリングデバイス（２１２）に出力され、参照ピクチャバッファ（３５７）に記憶されることができる。
【００４２】
ある符号化されたピクチャは、完全に再構築されたら、将来の予測のための参照ピクチャとして使用される。ひとたび符号化されたピクチャが完全に再構築され、符号化されたピクチャが（例えばパーサ（３２０）によって）参照ピクチャとして認識されると、現在の参照ピクチャ（３５７ｂ）は参照ピクチャバッファ（３５７）の一部になり、その後の符号化されたピクチャの再構築を開始する前に、新たな現在ピクチャメモリを再割り当てすることができる。
【００４３】
ビデオ復号器（３２０）は、例えばＩＴＵ−Ｔ  Ｈ．２６５ドラフトの規格における所定のビデオ圧縮技術に従って復号化動作を実行することができる。ビデオ圧縮技術ドキュメント又は規格、特にその概要ドキュメントで指定されるように、符号化されたビデオシーケンスがビデオ圧縮技術又は規格の構文に従う意味で、符号化されたビデオシーケンスは、使用されているビデオ圧縮技術又は規格によって指定される構文に準拠することができる。準拠性について、さらに、符号化されたビデオシーケンスの複雑さがビデオ圧縮技術又は規格のレベルによって限定される範囲にあるように要求される。いくつかの場合に、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構築サンプリングレート（例えば、メガサンプル／秒で測定する）、及び／又は最大参照ピクチャのサイズなどを制限する。いくつかの場合に、レベルによって設置される制限は、仮想参照復号器（Ｈｙｐｏｔｈｅｔｉｃａｌ  Ｒｅｆｅｒｅｎｃｅ  Ｄｅｃｏｄｅｒ，ＨＲＤ）の仕様、及び符号化されたビデオシーケンスにおいて信号で示されるＨＲＤバッファが管理するメタデータによってさらに限定されることができる。
【００４４】
実施形態において、受信機（３１０）は、符号化されたビデオとともに、追加の（冗長な）データを受信することができる。追加のデータは、（１つ以上の）符号化されたビデオシーケンスの一部として含まれてもよい。追加のデータは、ビデオ復号器（３２０）によって使用されることで、データを正確に復号化し、及び／又は元のビデオデータをより正確に再構築することができる。追加のデータは、例えば時間、空間又は信号対雑音比（ｓｉｇｎａｌ−ｔｏ−ｎｏｉｓｅ  ｒａｔｉｏ，ＳＮＲ）拡張層、冗長スライス、冗長ピクチャ、前方誤り訂正符号などの形であってもよい。
【００４５】
図４は、本開示の実施形態によるビデオ符号器（２０３）の機能ブロック図である。
【００４６】
符号器（２０３）は、ビデオソース（２０１）（符号器の一部ではない）からビデオサンプルを受信することができ、当該ビデオソースは、符号器（２０３）によって符号化される（１つ以上の）ビデオ画像をキャプチャすることができる。
【００４７】
ビデオソース（２０１）は、符号器（２０３）によって符号化されるソースビデオシーケンスをデジタルビデオサンプルストリームの形で提供することができ、当該デジタルビデオサンプルストリームは、任意の適切なビット深さ（例えば：８ビット、１０ビット、１２ビット、・・・）、任意の色空間（例えば、ＢＴ．６０１  ＹＣｒＣＢ、ＲＧＢ、・・・）、及び任意の適切なサンプリング構成（例えば、ＹＣｒＣｂ  ４：２：０、ＹＣｒＣｂ４：４：４）を有してもよい。メディアサービスシステムにおいて、ビデオソース（２０１）は、以前に準備されたビデオを記憶するための記憶装置であってもよい。ビデオ会議システムにおいて、ビデオソース（２０３）は、ビデオシーケンスとして、ローカル画像情報をキャプチャするための撮影装置であってもよい。ビデオデータは、順番に見たときに、動きが付与される複数の個別のピクチャとして提供できる。ピクチャ自体は、空間画素アレイとして編成されてもよく、使用されているサンプリング構成、色空間などによって、各画素には１つ以上のサンプルが含まれてもよい。画素とサンプルとの間の関係は、当業者にとって、容易に理解することができる。以下、サンプルを中心に説明する。
【００４８】
実施形態によれば、ビデオ符号器（２０３）は、ソースビデオシーケンスのピクチャを、リアルタイムで、又はアプリケーションで必要とする他の任意の時間制約の下で、符号化されたビデオシーケンス（４４３）に符号化及び圧縮することができる。適切的な符号化速度で実行することは、コントローラ（４５０）の機能の１つである。コントローラ（４５０）は、以下で説明する他の機能ユニットを制御し、これらのユニットに機能的に結合される。簡潔のために、結合は示されていない。コントローラ（４５０）によって設置されるパラメータは、レート制御関連パラメータ（ピクチャスキップ、量子化器、レート歪み最適化技術のλ値、・・・）、ピクチャサイズ、ピクチャグループ（ｇｒｏｕｐ  ｏｆ  ｐｉｃｔｕｒｅｓ，ＧＯＰ）配置、最大動きベクトル検索範囲などを含んでもよい。当業者は、コントローラ（４５０）の他の機能を容易に認識することができ、これらの機能は特定のシステム設計に対して最適化されたビデオ符号器（２０３）に属する。
【００４９】
あるビデオ符号器は、当業者が容易に「符号化ループ」として認識するという方式で動作する。非常に簡単な説明として、符号化ループは、（符号化対象となる入力ピクチャと（１つ以上の）参照ピクチャに基づきシンボルストリームを作成することを担当する）ソース符号器（４３０）の符号化部分（以下、「ソース符号器」と呼ばれる）と、符号器（２０３）に埋め込まれる（ローカル）復号器（４３３）とを含むことができる。復号器（４３３）はシンボルを再構築することで、（リモート）復号器も作成しようとするサンプルデータを作成する（なぜならば、シンボルと符号化されたビデオビットストリームとの間の任意の圧縮は、開示されたテーマで考慮されるビデオ圧縮技術において可逆であるためである）。当該再構築されたサンプルストリームは、参照ピクチャメモリ（４３４）に入力される。シンボルストリームの復号化により、復号器位置（ローカル又はリモート）と関係がくビット正確な（ｂｉｔ−ｅｘａｃｔ）結果が得られるので、参照ピクチャバッファのコンテンツはローカル符号器とリモート符号器との間でもビット正確である。言い換えれば、符号器の予測部分が「見る」参照ピクチャサンプルは、復号化中に予測するときに復号器が「見る」サンプル値とまったく同じである。この参照ピクチの同期性（及び、（例えばチャネル誤差のため）同期性を維持できない場合に発生するドリフト）の基本原理は当業者にとって周知である。
【００５０】
「ローカル」復号器（４３３）の動作は、例えば図３を結合して以上で詳しく説明した「リモート」復号器（２１０）の動作と同じであってもよい。しかしながら、暫時図３も参照すると、シンボルが使用可能であり、エントロピー符号器（４４５）とパーサ（３２０）とによるシンボルと符号化されたビデオシーケンスとの間の符号化／復号化が無損失でありうる場合、チャネル（３１２）、受信機（３１０）、バッファ（３１５）及びパーサ（３２０）を含む復号器（２１０）のエントロピー復号化部分は、ローカル復号器（４３３）においては完全に実装されなくてもよい。
【００５１】
ここで、復号器に存在する解析／エントロピー復号化に加えて、任意の復号器技術も、必然的に、基本的に同じ機能形式で、対応する符号器に存在することが観察されることができる。この理由に起因して、開示されたテーマは、復号器の動作に着目する。符号器技術の説明は、包括的に説明された復号器技術の逆であるため、符号器技術の説明を簡略化できる。より詳しい説明は、特定の領域のみで必要であり、以下で提供される。
【００５２】
その動作の一部として、ソース符号器（４３０）は動き補償予測符号化を実行することができ、それは、ビデオシーケンスからの１つ以上の以前に符号化されたフレーム（「参照フレーム」として指定される）を参照して、入力フレームを予測的に符号化する。この方法で、符号化エンジン（４３２）は入力フレームの画素ブロックと、入力フレームの（１つ以上の）予測参照として選択される（１つ以上の）参照フレームの画素ブロックとの間の差を符号化する。
【００５３】
ローカルビデオ復号器（４３３）は、ソース符号器（４３０）によって作成されるシンボルに基づき、参照フレームとして指定されることができるフレームの符号化されたビデオデータを復号化することができる。符号化エンジン（４３２）の動作は、有利的には、非可逆処理であってもよい。符号化されたビデオデータがビデオ復号器（図４には図示せず）で復号化される場合、再構築されたビデオシーケンスは、一般的に、多少の誤差を伴うソースビデオシーケンスのレプリカであってもよい。ローカルビデオ復号器（４３３）は、参照フレームに対してビデオ復号器によって実行される復号化処理を複製し、再構成された参照フレームを参照ピクチャキャッシュ（４３４）に記憶することができる。この方法で、ビデオ符号器（２０３）は、再構成された参照フレームのレプリカをローカルに記憶することができ、当該レプリカは、リモートビデオ復号器によって取得された、再構成される参照フレームと共通のコンテンツを有する（伝送誤差がない）。
【００５４】
予測器（４３５）は、符号化エンジン（４３２）に対して予測検索を実行することができる。つまり、符号化対象となる新たなフレームに対して、予測器（４３５）は参照ピクチャメモリ（４３４）において、新たなピクチャ予測参照として使用され得るサンプルデータ（候補参照画素ブロックとする）、又は例えば参照ピクチャ動きベクトル、ブロック形状などの特定のメタデータを検索することができる。予測器（４３５）はサンプルブロックに基づき、画素ブロックごとに動作することで、適切な予測参照を見つけることができる。いくつかの場合に、予測器（４３５）によって取得された検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ（４３４）に記憶される複数の参照ピクチャによって得られた予測参照を有してもよい。
【００５５】
コントローラ（４５０）は、例えばビデオデータを符号化するためのパラメータとサブグループパラメータの設置を含むビデオ符号器（４３０）の符号化動作を管理することができる。
【００５６】
上述した全ての機能ユニットの出力は、エントロピー符号器（４４５）において、エントロピー符号化されることができる。当該エントロピー符号器は、当業者に知られている技術（例えばハフマン符号化、可変長符号化、算術符号化など）に従って、各機能ユニットによって生成されたシンボルに対して可逆圧縮を行うことで、これらのシンボルを符号化されたビデオシーケンスに変換する。
【００５７】
送信機（４４０）は、通信チャネル（４６０）を介した伝送の準備をするように、エントロピー符号器（４４５）によって作成される（１つ以上の）符号化されたビデオシーケンスをバッファリングすることができ、当該通信チャネルは、符号化されたビデオデータを記憶するための記憶装置へのハードウェア／ソフトウェアリンクであってもよい。送信機（４４０）は、ビデオ符号器（４３０）からの符号化されたビデオデータと、伝送対象となる他のデータとを、マージすることができ、当該他のデータは、例えば符号化されたオーディオデータ及び／又は補助データストリーム（ソースは図示せず）である。
【００５８】
コントローラ（４５０）は、ビデオ符号器（２０３）の動作を管理することができる。符号化中に、コントローラ（４５０）は、各符号化されたピクチャに、対応するピクチャに適用される符号化技術に影響を与える可能性がある特定の符号化ピクチャタイプを指定することができる。例えば、一般的に、ピクチャは次のフレームタイプのいずれかとして指定される
【００５９】
イントラピクチャ（Ｉピクチャ）は、シーケンス内の任意の他のピクチャを予測のソースとして使用せず、符号化及び復号化されうるピクチャであってもよい。一部のビデオコーデックは、例えば独立復号器リフレッシュピクチャが含まれる異なるタイプのイントラピクチャを許容する。当業者は、Ｉピクチャのそれらの変形、及び対応する用途及び特徴を知っている。
【００６０】
予測ピクチャ（Ｐピクチャ）は、イントラ予測又はインター予測（多くとも１つの動きベクトルと参照インデックスを使用して各ブロックのサンプル値を予測する）を使用して符号化及び復号化されうるピクチャであってもよい。
【００６１】
双方向予測ピクチャ（Ｂピクチャ）は、イントラ予測又はインター予測（多くとも２つの動きベクトルと参照インデックスを使用して各ブロックのサンプル値を予測する）を使用して符号化及び復号化されうるピクチャであってもよい。同様に、マルチ予測ピクチャは、２つを超える参照ピクチャ及び関連するメタデータを、単一のブロックの再構築に使用することができる。
【００６２】
ソースピクチャは一般的に、空間的に複数のサンプルブロック（例えば、それぞれ４×４、８×８、４×８又は１６×１６個のサンプルを有するブロック）に細分化され、ブロックごとに符号化されることができる。これらのブロックは、ブロックの対応するピクチャに適用される符号化指定によって決定される他の（既に符号化された）ブロックを参照して、予測的に符号化されることができる。例えば、Ｉピクチャのブロックは、非予測的に符号化されてもよく、又は、同じピクチャの既に符号化されたブロックを参照して、予測的に符号化（空間予測又はイントラ予測）されてもよい。Ｐピクチャの画素ブロックは、以前に符号化された１つの参照ピクチャを参照して、空間的予測又は時間的予測を介して予測的に符号化されてもよい。Ｂピクチャのブロックは、以前に符号化された１つ又は２つの参照ピクチャを参照して、空間的予測又は時間的予測を介して予測的に符号化されてもよい。
【００６３】
ビデオ符号器（２０３）は、例えばＩＴＵ−Ｔ  Ｈ．２６５ドラフトにおける所定のビデオ符号化技術又は規格に基づき符号化動作を実行することができる。その動作において、ビデオ符号器（２０３）は、入力ビデオシーケンスにおける時間的と空間的冗長性を使用した予測符号化動作が含まれる様々な圧縮動作を実行することができる。従って、符号化されたビデオデータは、使用されているビデオ符号化技術又は規格によって指定される構文に準拠していることができる。
【００６４】
実施形態において、送信機（４４０）は、符号化されたビデオとともに、追加のデータを送信することができる。ソース符号器（４３０）は、符号化されたビデオシーケンスの一部として、このようなデータを含んでもよい。追加のデータは、時間／空間／ＳＮＲ拡張層、冗長ピクチャとスライスのような他の形式の冗長データ、補助拡張情報（ＳＥＩ）メッセージ、ビデオユーザビリティ情報（ＶＵＩ）パラメータセットフラグメントなどを含んでもよい。
【００６５】
開示されたテーマは、動きベクトル精密化、又は既に再構築されたピクチャからのサンプルデータを使用して同じ所与のピクチャのサンプルデータの再構築に影響を与えるなどの任意の他の技術に適用してもよい。
【００６６】
図５は、（例えば、ＪＶＥＴ-Ｄ００２９で説明されたような）サンプルデータに基づく動きベクトル精密化技術を使用してブロックに対して動き補償を実行する概念的なフローチャートを示す。これ以降、当該方法は、２つの参照ピクチャ及び双方向予測の仮定の下で説明され、しかしながら、例えば、マルチ仮定予測、イントラブロック複製技術と従来の参照ピクチャに基づく動き補償との混合などを含む、他の形式の予測にも同様に適用することができる。
【００６７】
解析ステップ（５０１）において、例えば、ビットストリームを解析し、（１つ以上の）動きベクトルに関連する含まれるシンボルを復号化し、これらの復号化されたシンボルを、既に利用可能な（再構築された）メタデータ（例えば周囲のブロックの動きベクトル）と組み合わせて使用することにより、１つ以上の初期動きベクトルを生成する。このような技術は、通常、「解析〔パース〕」と呼ばれるが、上記のように、解析の厳密な定義（ビットストリームをシンボルストリームに変換するという意味）を超えるメカニズムを含んでもよい。解析ステップ（５０１）の結果は、１つ以上の初期動きベクトル（「ｉＭＶ」）である。
【００６８】
第１の事前抽出〔プリフェッチ〕ステップ（５０２）において、参照ピクチャメモリにアクセスして、動きベクトル精密化により最終的な動きベクトル（「（１つ以上の）ｆＭＶ」）を生成するのに必要となりうるサンプルデータを取得することができる。以下、このような必要なメモリアクセスの回数を説明する。符号器システム及び復号器システムは、いくつかの例外を除いて、参照ピクチャサンプルを参照ピクチャメモリに記憶する。このような参照ピクチャメモリは相対的に低速であり、また、そのアクセスは、特定のハードウェア制約によって支配される可能性がある。いくつかの例外を除いて、事前抽出ステップは、例えば、キャッシュラインなどの粒度で参照ピクチャメモリにアクセスし、キャッシュライン全体を高速メモリ、キャッシュメモリ、レジスタなど（以降、「高速メモリ」と呼ばれる）に複製することで、（いくつかの場合には計算コストがかかる）精密化ステップでは高速にアクセスできるようにする。ｆＭＶの生成に必要なサンプルデータの参照ピクチャメモリにおける位置は、ｉＭＶに基づく従来の動き補償技術によって決定できる。
【００６９】
精密化ステップ（５０３）において、ステップ（５０２）の事前抽出された参照ピクチャサンプルデータは、ｉＭＶ及び他の可能なデータとともにｆＭＶの作成に使用される。開示されたテーマは、精密化ステップの特徴を決して制限しない。一つの可能な精密化ステップは、ＪＶＥＴ-Ｄ００２９で説明されているとおりであってもよい。
【００７０】
第２の事前抽出ステップにおいて、ｆＭＶによって識別される参照ピクチャメモリにおけるサンプルデータを高速メモリに複製することができる。少なくともいくつかの場合に、ｆＭＶによってアクセスするサンプルデータは、ｉＭＶによってアクセスするサンプルデータと異なることに注意されたい。（これらのデータが常に同じであったとしたら、ｉＭＶは常にｆＭＶに等しくなり、精密化ステップは冗長になる。）
【００７１】
最後に、再構築ステップ（５０５）において、ｆＭＶによってブロックのサンプルを再構築する。当該再構築ステップは、従来の技術を双方向予測符号化の動き補償ブロックに使用することができる。
【００７２】
当業者は、動きベクトル精密化（５０３）と再構築（５０５）の両方が補間フィルタを含み得ることを容易に理解することができる。メモリアクセス／帯域幅に関連する属性（例えば、タップの数）及び他の属性（例えば、自己適応性、使用中のフィルタ係数など）の両方に関して、これらのステップに使用されるフィルタは同じでも、異なってもよい。以下の説明では、簡潔にするために、精密化（５０３）と再構築（５０５）の両方で同じ補間フィルタを使用すると仮定する。しかしながら、本明細書におけるいかなる内容も、異なる特性（メモリアクセス／帯域幅に関連する特性であるか他の特性であるかに関係ない）の補間フィルタを精密化及び再構築に使用することを阻止することがない。当業者は、異なるフィルタの使用が必要なアクセスの回数にどのように影響するかを容易に理解することができる。以下の説明では、それに関するいくつかの注釈を含む。
【００７３】
ここで図６を参照し、各事前抽出ステップに必要な参照ピクチャメモリのメモリ帯域幅は、各事前抽出ステップでアクセスする必要がある参照ピクチャメモリにおけるサンプルの数であり得る。
【００７４】
ステップ（５０２）及びステップ（５０４）において、事前抽出する必要があるサンプル量は、以下を含む複数の要因に依存する可能性がある、
【００７５】
ブロックのサイズ、及び
【００７６】
動き補償補間フィルタのタップの数。
【００７７】
いくつかの最新のビデオコーデックでは、ブロックのサイズは大きく変化し得る。１つの次元（以降、「ブロック長」と呼ばれる）に焦点を当てて説明すると、ブロック長は、４つの輝度サンプル又は２つの色度サンプルと短くなることもあり、１２８のサンプル、２５６のサンプル又はそれ以上と長くなることもある。
【００７８】
本明細書のいくつかの実施形態は、（例えば、ＪＶＥＴプロジェクトによる）８タップフィルタを使用する技術に適用可能である。従って、補間される各サンプルについて、８つの参照サンプルにアクセスする必要がある。
【００７９】
第１の例において、４つのサンプルのブロック（６０１）を仮定する（サンプルの１行のみを示している）。ブロック長が４の場合、（円６０２に示すように）（４＋８）−１＝１１個の参照サンプルにアクセスする必要がある。ここで、最近アクセスされた、同じブロックを補間するために使用される以前のサンプルは、同じブロックの後のサンプルを処理するために、高速メモリに保持されていると仮定している。８本の線（６０３）は、ブロック（６０１）の所与のサンプル（６０４）を補間するために必要な８つの陰影をつけたサンプル（６０５）を指示する。
【００８０】
１６のサンプル（６０６）のブロック長の場合、（１６＋８）−１＝２３個の参照サンプルにアクセスする必要がある（６０７）。この例から、当業者は、補間フィルタによるサンプルアクセスの相対的オーバーヘッドがブロックサイズの増加に応じて減少することを容易に観察することができる。これは、補間フィルタのサイズ（タップ数）がブロックサイズに関係しない場合である。
【００８１】
この観察は、小さなブロック補間のオーバーヘッドを妥当な範囲内で維持できる特定の設計選択に繋がる可能性がある。ある実施形態によれば、サンプル又はサンプルラインへのアクセスの回数を、（以下でより詳細に説明されるように）ブロックサイズに基づかせることができる。同じ又は他の実施形態において、ある所定の小さなブロックサイズ（例えば、４サンプル、８サンプルなど）について、ビデオ符号化技術又は規格は、動きベクトル精密化の使用を禁止することができる。同じ又は他の実施形態において、ある所定の小さなブロックサイズについて、ビデオ符号化技術又は規格は、異なるブロックサイズに対して異なる補間フィルタを使用することを要求することができ、上記のオーバーヘッドを最小化するために、有利には、比較的小さなブロックサイズに使用される補間フィルタは、より大きいブロックサイズに使用される補間フィルタよりも少ないタップを使用することができる。
【００８２】
２つの事前抽出ステップが存在するので、精密化及び再構築に使用される補間フィルタのタップの数が同じであると仮定すると、アクセス回数は倍増する必要がある。再び８タップ補間フィルタを仮定し、且つ、１つの次元に着目すると、４サンプルのブロックについては、２*（４＋８−１）＝２２回参照サンプルへアクセスする必要があり、１６個のサンプルのブロックについては、２*（１６＋８―１）＝４６回参照サンプルにアクセスする必要がある。フィルタが異なる場合、当業者は、異なるフィルタのそれぞれに使用されるフィルタタップの数に基づいて上記の算出を容易に修正することができる。
【００８３】
ｉＭＶとｆＭＶがあまり多様ではないと仮定すると、第１の事前抽出ステップ及び第２の事前抽出ステップにて抽出されたサンプルはオーバーラップする可能性がある。具体的には、ｉＭＶとｆＭＶとの差がブロックサイズよりも小さい場合、常にオーバーラップがある。ｉＭＶとｆＭＶとの差は、ビデオ符号化技術又は規格の所定の制約であり得る。高速メモリは、第１の事前抽出ステップのサンプルと第２の事前抽出ステップのサンプルとを同時に保持するのに十分な大きさである（又は、言い換えれば、第２の事前抽出ステップの前に高速メモリをフラッシュする必要がない）という仮定の下で考えると、以下のことを簡単に見ることができる。すなわち、再びｉＭＶとｆＭＶの間の適切に制約される最大差を仮定すると、ｉＭＶとｆＭＶによってアドレス指定されたサンプルデータ間のオーバーラップのため、第２の事前抽出ステップは、以上の算出で示唆される数のサンプルを抽出する必要がない。
【００８４】
よって、単なる各事前抽出ステップで複製されるサンプルの数より良いメモリ帯域幅の近似を得るために、次の第３の因子がある：
【００８５】
ｉＭＶとｆＭＶとの間の最大差。
【００８６】
ここで図７を参照し、再び１次元の場合のみに着目し、ｉＭＶによって変位されたサンプル（７０１）と、ｆＭＶによって変位されたサンプル（７０２）に対して、２サンプルの水平変位によって示される、２サンプルの最大変位を仮定する。この場合、第１の事前抽出ステップのほとんどの事前抽出サンプル、即ち、陰影のない円（７０３）として示されている全ての参照サンプルは、第２の事前抽出ステップにおいて再利用でき、再び事前抽出する必要がない。しかしながら、第２の事前抽出ステップでは、２つの追加のサンプル（７０４）が必要とされる。ブロック長が４、８タップフィルタで、ｉＭＶとｆＭＶとの間の最大差が２の場合、アクセス回数は（４＋８―ｌ）＋２＝１３となり、第２の事前抽出ステップは、最大２つのサンプルを事前抽出する必要がある。１６つのサンプルブロックの場合、同様の算出は（１６＋８―１）＋２＝２５となる。
【００８７】
以上の例から、アクセスする必要があるサンプルの数は次のとおりであると推定される。
【００８８】
ｍｉｎ（（ブロック長＋フィルタタップ数＋最大変位−１），（２*（ブロック長＋フィルタタップ数−１））。
【００８９】
暫時図５を参照すると、一部のシステム設計では、メモリアクセスの設置は、実際のメモリ伝送自体よりも（時間的に）かなり高価になる可能性がある。従って、このようなシステムでは、単一の事前抽出（第１の事前抽出（５０２））において、精密化（５０３）と動き補償／再構築（５０５）の両方に必要な全てのサンプルを事前抽出し、ステップ（５０４）は完全に省略することが有利である。これは、以下で説明するように、ブロック長、フィルタタップ、オーバーラップのような影響要因に特定の制約が課される場合に可能である。例えば、ビデオ圧縮技術又は規格によって制約を課すことができる。
【００９０】
ここまで、単一のブロックの動き補正に必要なメモリアクセスのみが考慮されていた。１つのピクチャは多くのブロックで構成でき、ブロックサイズが大きい場合と比較して、ブロックサイズが小さい場合に、所与のブロックサイズは比例して大きくなる。上記の例に示すように、ブロックサイズが大きい場合に比較して、ブロックサイズが小さい場合に、ブロックサイズに関するメモリアクセスのオーバーヘッドが大幅に大きくなり、従って、符号器が小さいブロックを選択する場合に、メモリ帯域幅の要件は増加する可能性がある。
【００９１】
ビデオ圧縮において、長い補間フィルタは、特にコンテンツ適応的である場合、より優れた圧縮パフォーマンスを実現することができることがよく理解される。同様に、動きベクトルの選択はより自由であり、例えば、ｉＭＶとｆＭＶとの差を選択する（可能な変位を最大化することでオーバーラップを最小化する）際の符号器の自由度を含み、これにより、より優れた圧縮パフォーマンスを実現することができる。最後に、ブロックサイズの選択の自由（小さなブロックの使用を含む）は、圧縮パフォーマンスを増加させることができる。
【００９２】
従って、３つの影響要因は全てビデオ圧縮技術又は規格によって制約されて、圧縮パフォーマンスの可能性とメモリ帯域幅の増加の可能性のバランスをとることができる。
【００９３】
これまでの説明は、１つの次元のみの動きベクトルの分析に焦点を当てた。当業者は、上記の実施形態を２次元に容易に一般化することができ、いくつかの場合、上記の場合と比較して、追加のメモリ帯域幅ニーズは約２の累乗で増加する。
【００９４】
しかしながら、そのような一般化は常に必ずしも必要ではない。具体的には、少なくとも一部の符号器及び復号器システムでは、参照メモリは、サンプルの粒度（又は、サイズがビデオコンテンツの属性に直接関係しない抽象的なキャッシュラインの粒度）ではなく、ラインバッファの粒度でアクセスされる。ラインバッファは、参照ピクチャ、参照タイルなどの所与のラインのサンプルの全て（及び、存在する場合に、記憶されている参照ピクチャメタデータ）を含んでもよい。ラインバッファに基づくアーキテクチャでは、上記で仮定したような動き精密化技術のオーバーヘッドは、垂直次元のみを使用して、追加のラインバッファ抽出の粒度で、算出されてもよい。
【００９５】
一実施形態において、ビデオ符号化技術又は規格に準拠する符号器又は復号器は、初期動きベクトルｉＭＶと最終的な動きベクトルｆＭＶとの間の最大距離、及び補間フィルタにおけるタップ数のうちの１つ以上に制約を課すことにより、動きベクトル精密化の使用による最大メモリ帯域幅増加の技術的要件と、動きベクトル精密化によって得られる符号化ゲインとのバランスをとることができる。
【００９６】
同じ又は他の実施形態において、初期動きベクトルｉＭＶと最終的な動きベクトルｆＭＶとの間の最大距離、及び補間フィルタにおけるタップ数に課される制約は、動きベクトル精密化によるメモリ帯域幅の増加をゼロにすることができるようなものであってもよい。
【００９７】
ここで、図８参照し、ラインバッファに基づくアーキテクチャを仮定する。従って、以下に示されるのは再構築されているか、又は、補間もしくは動きベクトル精密化に使用されるサンプルの垂直次元のみであり、これらのサンプルにおけるサンプルの多くは、対応するラインバッファにあり得ることが理解すべきである（サンプルの１行のみについて示し、且つ、部分的にのみ示される）。
【００９８】
描かれているのは、ｉＭＶによって既に修正された４つの垂直サンプル（８０１）のブロックサイズであるが、以下の考慮事項はいかなるブロックサイズにも適用できる。さらに、ｉＭＶとｆＭＶとの最大差はビデオ圧縮技術又は規格によって２つのサンプルに制限されると仮定し、「上」方向における１つのサンプルは「下」方向における１つのサンプルと同じである。ｆＭＶに依存して、これは、ブロックの動き補償に最大６つのサンプル（８０２）（より正確には、サンプルライン）が関与する可能性があることに繋がる。また、補間フィルタのサイズを６つのサンプルに制限することを考慮する。結果として、事前抽出する必要があるサンプル（或いは、より正確には、サンプルライン）（８０３）の数、及びそれに伴いメモリ帯域幅の要件は、８タップ補間フィルタがあり、動きベクトル精密化がない場合（８０４）と同じである。６つのサンプル（８０２）を補間するための６タップフィルタは６つのサンプル（８０２）の境界の「上部」にある最大２つのサンプル、及び下部にある３つのサンプル（太線８０５でマークされる）にアクセスでき、８タップフィルタの場合、上部にある３つのサンプル、及び下部にある４つのサンプル（太線８０６でマークされる）にアクセスできる。
【００９９】
上記の観察を一般化すると、同じ又は他の実施形態において、制約は、初期動きベクトルｉＭＶと最終的な動きベクトルｆＭＶとの間の最大距離と、動きベクトル精密化を使用する際に使用される補間フィルタにおけるタップの数の合計は、動きベクトル精密化を使用しない際に使用される補間フィルタのタップの数と同じであってもよい、というものであってもよい。この場合、動きベクトル精密化を使用しても、メモリ帯域幅は増加しない。
【０１００】
同じ又は他の実施形態において、（例えば、ラインバッファアクセスで測定される）メモリアクセス要件のある明確な増加はビデオ圧縮技術又は規格によって受け入れられ得る。これは、動きベクトル精密化に使用される補間フィルタのタップの数（「精密化タップ」）、動きベクトル精密化を使用しない際に使用される補間フィルタのタップの数（「非精密化タップ」）、及び初期動きベクトルｉＭＶと最終的な動きベクトルｆＭＶとの間の最大距離（「距離」）によって表現されてもよい。追加のラインバッファアクセスの数は（（精密化タップ＋距離）−非精密化タップ）であってもよい。例えば、非精密化タップを８とする。２つの追加のラインバッファが許容できる場合に、ビデオ圧縮技術又は規格は、例えば、精密化タップ＝８、及び距離＝２という制約を有してもよい。この例示は、動きベクトル精密化の再構築の有無にかかわらず、補間フィルタが同じであり得るという利点を有していてもよい。少なくともあるコンテンツと頻繁に使用される解像度について、最大距離が２であれば、距離値が大きい場合に可能な理論的な符号化効率の向上のほとんどを得るのに十分である。
【０１０１】
図９は、符号器においてビデオシーケンスを符号化する、又は復号器においてビデオシーケンスを復号化するための例示的な処理９００のフローチャートである。いくつかの実施形態において、図９の１つ以上の処理ブロックは、復号器２１０によって実行されてもよい。いくつかの実施形態において、図９の１つ以上の処理ブロックは、復号器２１０とは別の、復号器２１０を含む別のデバイス又はデバイスのグループ（例えば符号器２０３）によって実行されもよい。
【０１０２】
図９に示すように、処理９００は、ブロックに関連するビデオシーケンスから初期動きベクトルを解析することを含むことができる（ブロック９０１）。
【０１０３】
図９にさらに示されるように、処理９００は、動きベクトル精密化と動き補償の両方を可能にするように、初期動きベクトルの解析に基づいて、複数のサンプルを決定することを含むことができる（ブロック９０２）。
【０１０４】
図９にさらに示されるように、処理９００は、複数のサンプルを事前抽出することを含むことができる（ブロック９０３）。
【０１０５】
図９にさらに示されるように、処理９００は、動きベクトル精密化を実行することで、複数のサンプルの第１のサブセットを使用して最終的な動きベクトルを決定することを含むことができる（ブロック９０４）。
【０１０６】
図９にさらに示されるように、処理９００は、複数のサンプルの第２のサブセットを使用して動き補償を実行することを含むことができる（ブロック９０５）。
【０１０７】
図９は、処理９００の例示的なブロックを示したが、いくつかの実施形態において、図９に図示されたこれらのブロックと比べて、処理９００は、追加のブロック、より少ないブロック、異なるブロック、又は異なって配置されたブロックを含むことができる。追加又は代替として、処理９００の２つ以上のブロックは並行して実行されてもよい。
【０１０８】
上述した双方向予測動きベクトル精密化におけるメモリ帯域幅最適化技術は、コンピュータ可読命令を使用してコンピュータソフトウェアとして実現され、１つ以上のコンピュータ可読媒体に物理的に格納されてもよい。例えば、図１０は開示されたテーマのいくつかの実施形態を実現するのに適したコンピュータシステム（１０００）を示す。
【０１０９】
コンピュータソフトウェアは、任意の適切なマシンコード又はコンピュータ言語によって符号化することができ、アセンブル、コンパイル、リンクなどのメカニズムを介して、命令を含むコードを作成することができ、当該命令は、コンピュータ中央処理ユニット（ＣＰＵ）、グラフィック処理ユニット（ＧＰＵ）などによって直接的に実行されるか、又は解釈、マイクロコード実行などによって実行されることができる。
【０１１０】
当該命令は、例えばパーソナルコンピュータ、タブレット、サーバ、スマートフォン、ゲーム機器、モノのインターネット機器などを含む、様々なタイプのコンピュータ又はそれらのコンポーネントで実行されることができる。
【０１１１】
図１０に示すコンピュータシステム１０００のコンポーネントは、本質的に例示であり、本開示の実施形態を実現するためのコンピュータソフトウェアの使用範囲又は機能に制限を加えることを意図するものではない。コンポーネントの配置は、コンピュータシステム１０００の例示的な実施形態に示めされるコンポーネントのいずれか、又はそれらの組み合わせに関連する依存性又は要件を有するものとして解釈されるべきではない。
【０１１２】
コンピュータシステム１０００は、特定のヒューマンマシンインタフェース入力機器を含んでもよい。このようなヒューマンマシンインタフェース入力機器は、例えば触覚入力（例えば、キーストローク、スライド、データグローブ移動）、オーディオ入力（例えば、音声、拍手）、視覚入力（例えば、ジェスチャー）、嗅覚入力（図示せず）による１つ以上の人間のユーザーの入力に応答することができる。ヒューマンマシンインタフェース機器はさらに、例えば、オーディオ（例えば、音声、音楽、環境音）、画像（例えば、スキャンした画像、静的画像撮影装置から取得された写真画像）、ビデオ（例えば２次元ビデオ、ステレオビデオが含まれる３次元ビデオ）などの、人間の意識的な入力に必ずしも直接関連しない特定のメディアをキャプチャするために使用されることもできる。
【０１１３】
ヒューマンマシンインタフェース入力機器は、キーボード１００１、マウス１００２、タッチパッド１００３、タッチパネル１０１０、データグローブ１００４、ジョイスティック１００５、マイク１００６、スキャナ１００７及び撮影装置１００８のうちの１つ以上を含んでもよい（それぞれが１つのみ図示される）。
【０１１４】
コンピュータシステム１０００はさらに特定のヒューマンマシンインタフェース出力機器を含んでもよい。このようなヒューマンマシンインタフェース出力機器は、例えば触覚出力、音、光及び匂い／味によって、１つ以上の人間ユーザーの感覚を刺激することができる。このようなヒューマンマシンインタフェース出力機器は、触覚出力機器（例えば、タッチパネル１０１０、データグローブ１００４又はジョイスティック１００５による触覚フィードバックがあるが、入力機器として使用されない触覚フィードバック機器もある）、オーディオ出力機器（例えば、スピーカー１００９、ヘッドフォン（図示せず））、視覚出力機器（例えば、スクリーン１０１０であって、ＣＲＴスクリーン、ＬＣＤスクリーン、プラズマスクリーン、ＯＬＥＤスクリーンを含み、それぞれはタッチスクリーン入力機能がある場合とない場合、触覚フィードバック機能がある場合とない場合があり、そのうちのいくつかは、ステレオ出力のような手段で、２次元の視覚出力又は３次元以上の出力を出力できる場合がある）、バーチャルリアリティ眼鏡（図示せず）、ホログラフィックディスプレイ及びスモークタンク（図示せず））、プリンター（図示せず）を含むことができる。
【０１１５】
コンピュータシステム１０００はさらに、人間がアクセス可能な記憶装置及びその関連する媒体を含んでもよく、例えば、ＣＤ／ＤＶＤなどの媒体１０２１を有するＣＤ／ＤＶＤ  ＲＯＭ／ＲＷ１０２０などの光学媒体、サムドライブ１０２２、取り外し可能なハードドライブ又はソリッドステートドライブ１０２３、従来の磁気媒体（例えば、磁気テープとフロッピーディスク（図示せず））、セキュリティドングル（図示せず）などの専用ＲＯＭ／ＡＳＩＣ／ＰＬＤによる機器などを含んでもよい。
【０１１６】
また、当業者は、現在開示されたテーマに関連して使用される「コンピュータ可読媒体」という用語には、伝送媒体、搬送波又は他の一時的な信号が含まれていないことを理解するべきである。
【０１１７】
コンピュータシステム１０００はさらに１つ以上の通信ネットワークへのインタフェースを含んでもよい。ネットワークは、例えば無線ネットワーク、有線ネットワーク、光ネットワークであってもよい。ネットワークはさらに、ローカルエリアネットワーク、ワイドエリアネットワーク、メトロポリタンネットワーク、車載ネットワーク、工業用ネットワーク、リアルタイムネットワーク、遅延耐性ネットワークなどであってもよい。ネットワークの例は、例えば、イーサネットなどのローカルエリアネットワーク、無線ＬＡＮ、セルラーネットワーク（ＧＳＭ、３Ｇ、４Ｇ、５Ｇ、ＬＴＥなどを含む）、有線テレビ又は無線ワイドエリアデジタルネットワーク（有線テレビ、衛星テレビ及び地上波テレビを含む）、車載及び工業ネットワーク（ＣＡＮＢｕｓを含む）などを含む。一部のネットワークは一般的に、ある汎用データポート又は周辺バス（１０４９）（例えば、コンピュータシステム１０００のＵＳＢポート）に接続される外部ネットワークインタフェースアダプタを必要とし、他のネットワークは一般的に、以下で説明するようなシステムバス（例えば、ＰＣコンピュータシステムのイーサネットインタフェース、又はスマートフォンコンピュータシステムのセルラーネットワークインタフェース）に接続されることによって、コンピュータシステム１０００のコアに統合される。これらのネットワークのいずれかを使用して、コンピュータシステム１０００は、他のエンティティと通信することができる。このような通信は、一方向、受信のみ（例えば、放送テレビ）、一方向送信のみ（例えば、あるＣＡＮｂｕｓ機器へのＣＡＮｂｕｓ）、又は例えば、ローカルエリア又はワイドエリアデジタルネットワークを使用して他のコンピュータシステムに達する双方向あってもよい。上記のようなこれらのネットワークとネットワークインタフェースのそれぞれに、特定のプロトコル及びプロトコルスタックを使用することができる。
【０１１８】
上記のヒューマンマシンインタフェース機器、人間がアクセス可能な記憶装置及びネットワークインタフェースは、コンピュータシステム１０００のコア１０４０に接続されることができる。
【０１１９】
コア１０４０は、１つ以上の中央処理ユニット（ＣＰＵ）１０４１、グラフィック処理ユニット（ＧＰＵ）１０４２、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）の形の専用プログラマブル処理ユニット１０４３、特定のタスクのためのハードウェアアクセラレータ１０４４などを含んでもよい。これらの機器は、読み取り専用メモリ（ＲＯＭ）１０４５、ランダムアクセスメモリ１０４６、内部大容量記憶装置１０４７（例えばユーザーがアクセスできない内部ハードディスクドライブ、ＳＳＤなど）とともに、システムバス１０４８を介して接続することができる。一部のコンピュータシステムにおいて、システムバス１０４８に１つ以上の物理プラグの形でアクセスできることで、追加のＣＰＵ、ＧＰＵなどによる拡張を可能にすることができる。周辺機器は、直接的又は周辺バス１０４９を介してコアのシステムバス１０４８に接続することができる。周辺バスのアーキテクチャはＰＣＩ、ＵＳＢなどを含む。
【０１２０】
ＣＰＵ１０４１、ＧＰＵ１０４２、ＦＰＧＡ１０４３及びアクセラレータ１０４４は特定の命令を実行でき、これらの命令を組み合わせると、上記のコンピュータコードを構成する。当該コンピュータコードはＲＯＭ１０４５又はＲＡＭ１０４６に記憶されてもよい。一時的なデータはＲＡＭ１０４６に記憶されることもでき、永久データは例えば内部大容量記憶装置１０４１に記憶されることができる。キャッシュメモリを使用することによって、記憶装置のいずれかへの高速ストレージ及び検索を実現し、当該キャッシュメモリは１つ以上のＣＰＵ１０４１、ＧＰＵ１０４２、大容量記憶装置１０４１、ＲＯＭ１０４５、ＲＡＭ１０４６などに密接に関連することができる。
【０１２１】
コンピュータ可読媒体は、コンピュータが実現する様々な動作を実行するためのコンピュータコードを有することができる。媒体とコンピュータコードは、本開示の目的のために、特別に設計及び構築される媒体とコンピュータコードであってもよいし、又は、それらは、コンピュータソフトウェアの当業者にとって周知であり、使用可能なタイプのものであってもよい。
【０１２２】
限定ではなく例として、アーキテクチャ１０００を有するコンピュータシステム、特に、コア１０４０は、（１つ以上の）プロセッサ（ＣＰＵ、ＧＰＵ、ＦＰＧＡ、アクセラレータなどを含む）が１つ以上の有形コンピュータ可読媒体に実装されるソフトウェアを実行することで提供される機能を提供することができる。このようなコンピュータ可読媒体は、上記のような、ユーザーがアクセス可能な大容量記憶装置に関する媒体、及び例えばコア内部大容量記憶装置１０４７又はＲＯＭ１０４５などのコア１０４０の非一時的な特定の記憶装置であってもよい。本開示の様々な実施形態を実現するためのソフトウェアはこのような機器に記憶され、コア１０４０によって実行されることができる。特定のニーズに応じて、コンピュータ可読媒体には１つ以上の記憶装置又はチップが含まれてもよい。ソフトウェアは、コア１０４０、特にその中のプロセッサ（ＣＰＵ、ＧＰＵ、ＦＰＧＡなどを含む）に、本明細書では説明されている特定の処理又は特定の処理の特定の部分を実行させることができ、ＲＡＭ１０４６に記憶されるデータ構成を限定すること、及びソフトウェアによって限定された処理によってこのようなデータ構成を修正することが含まれる。さらに又は代替として、コンピュータシステムは、ロジックハードワイヤードによって提供される、又は他の形式で回路（例えば、アクセラレータ１０４４）に実装される機能を提供することができ、当該回路は、ソフトウェアの代わりに、又はソフトウェアとともに動作して、本明細書では説明されている特定の処理又は特定の処理の特定の部分を実行することができる。適切な場合、ソフトウェアに対する言及にはロジックが含まれ、逆に、ロジックに対する言及にはソフトウェアが含まれてもよい。適切な場合、コンピュータ可読媒体に対する言及には、実行のためのソフトウェアが記憶される回路（例えば、集積回路（ＩＣ））、実行のためのロジックを具現化する回路、又はその両方が含まれてもよい。本開示は、ハードウェアとソフトウェアとの任意の適切な組み合わせを含む。
【０１２３】
この開示は、いくつかの例示的な実施例を説明したが、本開示の範囲内に含まれる変更、置換、及び様々な代替均等物が存在する。従って、当業者は、本明細書では明示的に示されていないか、又は記載されていないが、本開示の原理を具現化したのでその精神及び範囲内にある多数のシステム及び方法を考案できることが認識される。
【図１】
2021521753.tif 000003
【図２】
2021521753.tif 000004
【図３】
2021521753.tif 000005
【図４】
2021521753.tif 000006
【図５】
2021521753.tif 000007
【図６】
2021521753.tif 000008
【図７】
2021521753.tif 000009
【図８】
2021521753.tif 000010
【図９】
2021521753.tif 000011
【図１０】
2021521753.tif 000012
【国際調査報告】
2021521753.tif 000013
2021521753.tif 000014