ホームページ >テクノロジー周辺機器 >AI >HoloLens の内部 PCIe データリンク伝送の改善: Microsoft が AR/VR 特許を共有
(Nweon 2023 年 12 月 27 日) 有線接続は「ハード リンク」と呼ばれることがあり、あるノードを別のノードに物理的に接続します。有線接続の 1 つは PCIe です。 PCIe は高速ノードを接続するために使用されるインターフェイスです。PCIe などの高速接続端末とプロトコルには大きな利点がありますが、この種の端末の動作には高電力が必要です。ヘッドセットのようなバッテリー駆動のコンピューティング アーキテクチャの場合、これはシステムに大きな負担をかけることになります。
Microsoft は、「相互接続ネットワークのノード間のエラー回復と電源管理」というタイトルの特許出願の中で、データを再送信することなくエラー状態から回復することにより、送信ノードと受信ノード間の接続を改善することについて説明しています。ヘッドセットにかかるシステムの負荷。
一実施形態では、データストリーミングを開始する。データ ストリームには、さまざまなタイプのデータ パケットが含まれます。誤り訂正符号 (ECC) は、制御データ タイプのパケットにオプションで適用されます。送信ノードと受信ノードは、複数の仮想チャネルを備えたハード リンクを介して接続されます。各仮想チャネルは、対応する電力消費ノードに関連付けられます。
受信ノードが制御データ型パケットを受信した場合、必要に応じて再送せずに誤り訂正を行います。送信ノードは、各仮想チャネルの最終データ型パケットを送信する際に、終了条件型パケットを送信する。対応する仮想チャネルに対応する対応する電力消費ノードは、アクティブ状態から低電力状態に遷移する。
特定の実施形態は、仮想チャネルを介したパケット送信がいつ完了するかを識別し、パケット送信が完了したときにノードを低電力状態に入らせることによって、バッテリ駆動装置の電力使用を改善するように構成される。
図2に示すように、相互接続ネットワーク200の例をここに示す。相互接続ネットワーク200は、ノード205やノード210など、任意の数の相互接続ノードを含むことができる。ノード 205 および 210 は、HPU ホログラフィック処理ユニットなどのさまざまなタイプのコンピューティング コンポーネントにすることができます。
図に示すように、ノード 205 は高速リンク 215 を介してノード 210 に接続されています。高速リンク215は、高速データ伝送をサポートする任意のタイプの物理チャネル接続であり得る。#### 説明される実施形態は、任意の数の仮想チャネルを含むように高速リンク215を仮想化することができる。たとえば、ハード リンク 240 は高速リンク 215 を表します。ハードリンク240は、仮想チャネル245、250、255、および260などの任意の数の仮想チャネルを含むように示されている。パケット 265 など、さまざまな仮想チャネルを通過するパケットが示されています。
各仮想チャネルはそれぞれのバッファに関連付けられます。例えば、仮想チャネル245はバッファ270に関連付けられ、仮想チャネル250はバッファ275に関連付けられ得る。他の仮想チャネルはそれぞれのバッファに関連付けられます。各バッファには、対応するバッファ サイズ 280 を設定できます。本発明の原理によれば、ハードウェアは、さまざまな要求者(すなわち、受信ノード)間のチャネル帯域幅のバランスを維持することができる。
図 3 と図 4 は、ヘッドマウント ディスプレイの例です。
#### 高速リンク410Aは、フロントエンドハウジングに配置されたコンピューティングユニットとリアエンドハウジングに配置されたコンピューティングユニットとの間で高速表示データおよび/またはセンサデータを送信するために使用され得る。高速リンク410Aは、多数の計算サイクルまたは通信を通過できるように、待ち時間が少なくなるように設計されている。対照的に、低速リンク405Aは、電力、接地、またはスイッチング機構を提供するために使用することができる。図2の高速リンク215は、図4の高速リンク410Aを表すことができ、図2のノード205および210は、表示回路420A、CPU420Bおよび440Aなど、図4に示される任意の計算ユニットを表すことができる。 、GPU 420C および 4406、SOC 420D および HPU 440C。
図 8 には、動作要件 800 がリストされています。最初に、動作要件800には、リアルタイムデータ要件805が含まれる。ヘッドセットについて前述したように、ユーザーにコンテンツを表示するために使用されるヘッドセットにはリアルタイム要件があるため、データの再送信を避けることが望ましいです。
さらに、ヘッドセットの内容は、ヘッドセットの姿勢/方向、MR シーンのシーン変化、ホログラムとのインタラクションなど、さまざまな要因に基づいて動的に変化します。したがって、ヘッドセットに実装される場合、リアルタイムデータ要件805を満たすために、ヘッドセット内のあるノードから別のノードへのデータ転送が要求される可能性がある。これは、ヘッドセットの実装には、従来のシステムのようにデータ エラーが発生したときにデータを再送信する機能がないことを意味します。
ライブ データ リクエスト 805 のため、エラーを解決または修正するための再送信は利用できません。したがって、Microsoft の発明では、エラーに対応するための新しいテクノロジが導入されています。
さらに、動作要件 800 には、低オーバーヘッド要件 810 が含まれます。前述したように、ノード間のハード リンクの帯域幅は限られています。本発明で説明される原理は、リアルタイムデータ要件805を満たすだけでなく、バスプロトコルに少量の余分なオーバーヘッドを置くことができる誤り訂正技術を提供する。
800 動作要件には、低消費電力要件 815 も含める必要があります。データフローの特定の特性に応じて、実施形態は電力消費を削減するために電力消費ノードを選択的にオフにすることができる。例えば、ヘッドマウントディスプレイ環境では、実施形態は、ノード間で送信される特定のデータパケットを検出することによって、レーザーを低出力状態にすることができる。
#### 上記の要件を達成するために、実施形態は、特定のタイプのデータパケットがデータフローにおいて1つのノードから別のノードに送信されるようにする。図9は、図2で論じたパッケージを代表するパッケージ例900を示す。データパケット900は、制御データタイプのデータパケット905、非制御データタイプのデータパケット910、および終了条件データパケット915を含む、異なる形式を取ることができることに注目する価値がある。
すべての仮想チャネルがそれぞれのデータ ストリームの送信を完了した後、データ ストリームの送信を完了した最後の仮想チャネルは追加の最終終了条件パケットを送信して、すべての仮想チャネルのステータスを示します。送信ノードは、すべての仮想チャネルがスキャン用のそれぞれのデータ ストリームの送信を完了するまで、仮想チャネルに新しいトラフィックを送信しません。新しいスキャンが開始されるか、新しいフレームが開始されると、仮想チャネルは再びパケットの送信を開始します。
###制御データ型パッケージ905は、特定の操作がどのように実行されるかを制御するために使用されるパッケージ型である。例えば、ヘッダ表示例を参照すると、制御データタイプパケット905は、レーザが発射されるとき、タイミング情報、ペイロードタイプ情報、仮想チャネル情報についての情報を含むことができ、レーザパルスが配置される場所についての情報をさらに含むことができる。####制御データタイプパケット905は、どのチャネルまたは仮想チャネルを使用するかを示すヘッダ情報を含むこともできる。たとえば、ヘッドセットの各レーザーを独自の仮想チャネルに関連付けることができます。制御データタイプパケット905は、仮想チャネルの対応するレーザに関する制御情報および仮想チャネル情報##を含むことができる。
制御データ タイプのパケット 905 の重要性により、パケットはエラー訂正コード ECC 925 を使用して保護されます。明確にするために、制御データタイプのパケット905に含まれる時間および位置情報は差分圧縮されており非常に重要であるため、ECC 925は送信中に発生する可能性のあるエラーからデータを保護するために使用されます。制御データタイプパケット905に含まれるデータにエラーが許容される場合、スキャン全体が破損し、結果として得られる画像フレームにアーティファクトが導入される可能性があります。
図 10 は、図 9 の ECC 925 を表す ECC 1000 の追加説明を提供します。具体的には、ECC1000は、シングルビットエラー訂正1005およびダブルビットエラー訂正1010を含む少なくとも2つのタイプの保護を含む。
### 一実施形態では、エラー保護は、xビットのエラー訂正およびx1ビットのエラー検出である。 ECC 1000 がエラー レートをサポートしていることを確認するには、[ECC 1000] を選択します。 ECC 1000 は、制御データ タイプ パケットあたり 8 ビット、または制御データ タイプ パケットの長さに応じて選択される他のビット数で使用できます。### 図9に戻ると、非制御データタイプのパケット910は、色強度、継続時間、レーザーパルスサイズなど、スキャンにおける特定のピクセルを照射する方法などのペイロード情報を含むパケットである。したがって、非制御データタイプのパケット910は、ピクセルがどのように照明されるかのメカニズムを記述するピクセルデータ930を含む。
新しいデータ フローごとに 1 つの制御データ タイプのパケットを仮想チャネル経由で送信できますが、任意の数の非制御データ タイプのパケットをデータ フローで送信できます。さらに、単一の非制御データ タイプのパケットが破損すると、単一のピクセルのみが破損する可能性があります。ヘッドセットのリフレッシュ レートの範囲は通常 90 Hz ~ 120 Hz で、解像度が非常に高いため、ユーザーは個々のピクセルの損傷に気付かない可能性があります。これらの条件を考慮すると、実施形態は、非制御データタイプのパケット910にECCを課すことを選択的に回避する。非制御データ タイプのパケット 910 で発生したエラーは、これらのエラーの影響が最小限であるため、単純に受け入れることができます
制御データ型パケット905にECC925を適用することで、ECC925により受信ノードでの誤り訂正・検出が可能となるため、制御データ型パケット905を再送する必要がなくなり、リアルタイム処理が可能となる。それにより、図8のリアルタイムデータ要件805の要件を満たす。
#### ECC925を制御データタイプのパケット905にのみ適用し、非制御データタイプのパケット910には適用しないことによって、追加データが複数のデータパックではなく単一のパケットにのみ適用されるため、実施形態は低オーバーヘッド要件810を満たす。したがって、追加のオーバーヘッドも無視できます### さらに、ECCを適用することによって、実施形態は、エラーが検出されたときに自動的に回復することができ、したがって自動ハードウェア回復要件825を満たす。したがって、実施形態は、データタイプ、またはむしろ異なるデータパケットタイプに基づいて、異なるデータ保護要件を課す。
終了条件パッケージ915は、データフローが完了したときにトリガーするために使用されるパッケージです。言い換えれば、すべての非制御データ タイプのパケットが送信されると、終了条件パケット 915 がデータ フローの最後のパケットとして送信されます
特定のスキャンで特定のレーザーによってピクセルが照射されない場合、レーザーの対応する仮想チャネル上で送信される制御データ タイプのパケットまたは非制御データ タイプのパケットが存在しない可能性があります。代わりに、終了条件パケット 915 のみを送信できます。起こり得るエラーを軽減するために、複数の終了条件パケットを送信できます。
### 図11は、複数の仮想チャネル1100を含むシナリオ例を示しており、図10で紹介された3つの異なるパケットタイプが送信されている。図 11 は、12 の仮想チャネルとデータ フローが左から右に流れるシナリオを示しています。さらに、さまざまなバッグ タイプがさまざまなシェーディング手法を使用して示されています。このシナリオ例では、各仮想チャネルはヘッドセット内の 1 つのレーザーに対応し、各仮想チャネルには送信される独自の対応するデータ ストリームがあります。
図 11 は、チャネル 1 のデータ フローが制御データ タイプのパケットで始まり、次に 5 つの非制御データ タイプのパケットが含まれ、その後に終了条件パケットが含まれる様子を示しています。チャネル 2 も同様で、制御データ タイプのパケット、2 つの非制御データ タイプのパケット、および終了条件パケットが含まれています。チャネル 1 とチャネル 2 は、スキャン内のピクセルを照射するためにチャネルに対応するレーザーが使用されるため、データを送信します。一方、チャネル 3 は、スキャンされたピクセルの照射に使用されないレーザーに対応します。したがって、チャネル 3 を介して送信されるデータ ストリームにはエンド コンディション パケットのみが含まれます。この終了条件パケットは、対応するレーザーがこの特定のスキャンに使用されないことを知らせるのに役立ちます。
したがって、レーザーが特定のスキャン中に使用されることを意図していない場合、レーザーの仮想チャネルを通じて送信されるデータ ストリームには 1 つ以上の終了条件パケットのみが含まれます。
図 12 は、図 11 の仮想チャネル 1100 を表す仮想チャネル 1200 に焦点を当てています。図 12 は、終了条件パケットがチャネル 1 でどのように送信されるかを示しています。終了条件パケットは、対応する電力消費ノードが電力消費モードから電力消費低減モードに移行できることをシステムに通知するためのトリガ1210として動作する。このトリガーは、システムが電力ノードがアイドル状態であることを認識し、電力低減モードに移行できるため有益です。
####たとえば、ヘッドマウントディスプレイ環境では、ヘッドマウントディスプレイはレーザー送信機1215を含み、それ自体がレーザー1215A、1215B、および1215Cを含む。チャネル 1 は、特にレーザー 1215A に対応する仮想チャネルです。チャネル1を介して端末条件パケットを送信すると、システムは、レーザ1215Aの使用が完了したことを認識し、したがって、レーザ光を生成するアクティブモード1220から低電力モード1225、または場合によってはオフモード1230にさえ移行することができる。 ###図12に示すように、終了条件がトリガされ、レーザ1215Aがレーザ光の放射を停止する一方で、レーザ1215Bおよび1215Cは依然としてレーザ光を放射し続けることができる。図 11 によれば、異なる仮想チャネルごとに終了ステータス データ パケットを送信することにより、各仮想チャネルに対応するノードは低消費電力状態になり、システムの電力を維持します。
図 11 に戻ると、チャネル 1 が終了条件パケットを送信する最後のチャネルとして示されています。どの仮想チャネルが終了条件データ パケットを最後に送信するかに関係なく、仮想チャネルのデータ フローのタスクは、いわゆるカプセル化操作を実行することであり、終了条件データ パケットは「最後の」終了条件タイプのデータ パケットを構成します。 1315 (図 13 に示すように)
最終終了条件タイプのパケット 1315 は、他のすべての仮想チャネルのすべてのデータ フローが完了したことを示す追加情報を受信ノードに提供します。この機能は、最後の終了条件タイプ パケット 1315 がスキャンの終了を通知するため、ヘッドマウント ディスプレイ環境では有益です。
関連特許: Microsoft 特許 | 相互接続ネットワークのノード間のエラー回復と電源管理
「ノード間エラー回復と電源管理」というタイトルの Microsoft 特許出願は、もともと 2023 年 8 月に出願され、最近米国特許商標庁によって公開されました
一般的に、米国特許出願は審査後、出願日または優先日から 18 か月後に自動的に公開されるか、または要求に応じて出願日から 18 か月以内に公開されることに注意してください。申請者の。特許出願の公開は、特許が承認されることを意味するものではないことに注意してください。特許出願後、USPTO は実際の審査を必要とし、審査には 1 ~ 3 年かかる場合があります。
また、これはあくまで特許出願であり、必ず承認されるという保証はなく、本当に商品化され実用化効果が得られるかどうかも判断できません。
以上がHoloLens の内部 PCIe データリンク伝送の改善: Microsoft が AR/VR 特許を共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。