(57)【要約】  ２Ｄサラウンドビューから３Ｄサラウンドビューへのシームレスな遷移方法（０８００）において、この方法は、２Ｄ−ＳＲＶ処理チェーンの初期化（０８０１）、ＨＬＯＳハンドシェイクが完了するのを待機している間及びＨＬＯＳハンドシェイクが完了する際（０８０２）の２Ｄサラウンドビューの表示、３Ｄ‐ＳＲＶ処理チェーンの初期化（０８０３）及び３Ｄ−ＳＲＶバッファ出力の待機（０８０４）、２Ｄ−ＳＲＶディスプレイパイプラインの無効化及び３Ｄ−ＳＲＶディスプレイパイプラインの有効化（０８０５）、スイッチバックモニタの有効化（０８０６）、シームレスかつグリッチフリーな３Ｄサラウンドビューへの原子的切り替え（０８０７）、及び、３Ｄサラウンドビューのモニタ上への表示（０８０８）を含む。別の方法が、ＨＬＯＳにおけるクラッシュの検出、及び、３Ｄサラウンドビューから２Ｄサラウンドビューへのシームレスな切り替えを含む。
2020521231.tif 000002
【特許請求の範囲】
【請求項１】
ディスプレイシステムにおける２Ｄサラウンドビューから３Ｄサラウンドビューへのシームレスな遷移のための方法であって、
（ａ）  ２Ｄ−ＳＲＶ処理チェーンを初期化するステップ、
（ｂ）  ＨＬＯＳハンドシェイクが完了するのを待機している間に前記２Ｄサラウンドビューを表示するステップ、
（ｃ）  ＨＬＯＳハンドシェイクが完了した場合は３Ｄ−ＳＲＶ処理チェーンを初期化し、完了していない場合は（ｂ）に進むステップ、
（ｄ）  ３Ｄ−ＳＲＶバッファ出力を待機するステップ、
（ｅ）  ２Ｄ−ＳＲＶディスプレイパイプラインを無効化し、３Ｄ−ＳＲＶディスプレイパイプラインを有効化するステップ、
（ｆ）  スイッチバックモニタを有効化するステップ、
（ｇ）  前記３Ｄサラウンドビューへ原子的に切り替えるステップ、
（ｈ）  前記ディスプレイシステム上に前記３Ｄサラウンドビューを表示するステップ、
を含む、方法。
【請求項２】
請求項１に記載の方法であって、前記初期化するステップ（ａ）が、ブートローダからブートすること、及び、２Ｄ‐ＳＲＶディスプレイパイプラインを有効化することを更に含む、方法。
【請求項３】
請求項２に記載の方法であって、ブートするための時間が１ミリ秒〜１０ミリ秒の範囲である、方法。
【請求項４】
請求項１に記載の方法であって、前記２Ｄサラウンドビューを表示するステップ（ｂ）が更に、
ａ．  少なくとも一つの光学的デバイスで一つ又は複数の入力画像を捕捉するステップ、
ｂ．  前記入力画像を整合及び混合するステップ、
ｃ．  前記入力画像を一つの出力画像にスティッチングするステップ、
ｄ．  ２Ｄ−ＳＲＶディスプレイパイプラインが有効化されているかをチェックするステップ、及び
ｅ．  前記２Ｄサラウンドビューを表示するステップ、
を含む、方法。
【請求項５】
請求項１に記載の方法であって、ＨＬＯＳハンドシェイクが完了するのを待機するステップ（ｂ）が更に、
ａ．  ＧＰＵを初期化するステップ、
ｂ．  ＨＬＯＳの準備ができているかをチェックするステップ、及び
ｃ．  ＧＰＵが前記３Ｄサラウンドビューを提供する準備ができているかをチェックするステップ、
を含む、方法。
【請求項６】
請求項１に記載の方法であって、前記３Ｄ‐ＳＲＶ処理チェーンを初期化するステップ（ｃ）が、ＲＴＯＳを作動させている補助コアとＨＬＯＳを作動させている主コアとの間の通信メカニズムを有効化することを更に含む、方法。
【請求項７】
請求項１に記載の方法であって、３Ｄ‐ＳＲＶバッファ出力を待機するステップ（ｄ）が、捕捉バッファがＧＰＵに流れることを可能にすることを更に含む、方法。
【請求項８】
請求項１に記載の方法であって、前記２Ｄ処理チェーン及び前記３Ｄ処理チェーン両方が同時に並列に作動している、方法。
【請求項９】
請求項１に記載の方法であって、ビューポートを介して入力画像を捕捉し、前記入力画像を前記２Ｄ処理チェーン及び前記３Ｄ処理チェーンに同時に提示することを更に含む、方法。
【請求項１０】
請求項１に記載の方法であって、前記２Ｄサラウンドビューと前記３Ｄサラウンドビューとの間で原子的に切り替わるレイテンシーが実質的に０である、方法。
【請求項１１】
請求項１に記載の方法であって、前記２Ｄサラウンドビューと前記３Ｄサラウンドビューとの間で原子的に切り替わるレイテンシーが１６ミリ秒から５００ミリ秒の範囲である、方法。
【請求項１２】
請求項１に記載の方法であって、前記２Ｄサラウンドビューと前記３Ｄサラウンドビューとの間で原子的に切り替わる前記ステップが、入力フレームを失うことなく成される、方法。
【請求項１３】
請求項１に記載の方法であって、フェールセーフを更に含み、前記フェールセーフが、
ａ．  フェールセーフモニタリングアルゴリズムを有効化するステップ、
ｂ．  前記３Ｄサラウンドビューにおける故障を検出するステップ、
ｃ．  ３Ｄ−ＳＲＶディスプレイパイプラインを無効化し、２Ｄ−ＳＲＶディスプレイパイプラインを有効化するステップ、
ｄ．  ３Ｄ処理チェーンを無効化し、強制的なリクレームを有効化するステップ、
ｅ．  前記２Ｄサラウンドビューへ原子的に切り替えること、
ｆ．  モニタに前記２Ｄサラウンドビューを表示するステップ、
を更に含む、方法。
【請求項１４】
請求項１に記載の方法であって、前記３Ｄサラウンドビューを表示するステップ（ｈ）が、
ａ．  少なくとも一つの光学的デバイスで一つ又は複数の入力画像を捕捉するステップ、
ｂ．  ＧＰＵ提供ブロックを介して処理するステップ、
ｃ．  前記入力画像を一つの出力画像にスティッチングするステップ、
ｄ．  ３Ｄ−ＳＲＶディスプレイパイプラインが有効化されているかをチェックするステップ、及び
ｅ．  前記３Ｄサラウンドビューを表示するステップ、
を更に含む、方法。
【請求項１５】
故障を検出し、３Ｄサラウンドビューから２Ｄサラウンドビューに遷移するためのフェールセーフな方法であって、
（ａ）  新しいフレームを捕捉するステップ、
（ｂ）  ３Ｄ処理チェーンが有効化されている場合は前記３Ｄサラウンドビューを表示し、有効化されていない場合は前記２Ｄサラウンドビューを表示するステップ、
（ｃ）  前記３Ｄサラウンドビューが有効化されている場合、前記新しいフレームのタイプが３Ｄフレームであるかをチェックし、３Ｄフレームである場合は故障検出アルゴリズムを有効化し、３Ｄ  ＳＲＶを表示し、３Ｄフレームでない場合は故障検出アルゴリズムを有効化し、ステップ（ｄ）において故障が検出されたかをチェックするステップ、
（ｄ）  故障が検出された場合、３Ｄ−ＳＲＶディスプレイパイプラインを無効化し、２Ｄ−ＳＲＶディスプレイパイプラインを有効化し、故障が検出されない場合、前記新しいフレームを適切にドロップするステップ、
（ｅ）  ３Ｄ処理チェーンを無効化し、強制的なバッファリクレームを有効化するステップ、
（ｆ）  前記２Ｄサラウンドビューへ原子的に切り替えるステップ、及び
（ｇ）  モニタに前記２Ｄサラウンドビューを表示するステップ、
を含む、方法。
【請求項１６】
請求項１５に記載の方法であって、前記ステップ（ｄ）が、
ａ．  前記新しいフレームを捕捉するステップ、
ｂ．  前記捕捉されたフレームが３Ｄタイプフレームでない場合、遅延カウンタを１だけインクリメントし、３Ｄタイプフレームである場合は遅延カウンタをリセットするステップ、及び
ｃ．  前記遅延カウンタが閾値を超えているかをチェックし、超えている場合は故障を検出するステップ、
を更に含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、３Ｄビューへのシームレスな遷移を備えるサラウンドビューシステムに関する。
【背景技術】
【０００２】
３次元サラウンドビュー（３Ｄ‐ＳＲＶ）システムは、概して、ハイレベルオペレーティングシステム（ＨＬＯＳ：high level operating system）によって管理されるグラフィカル処理ユニット（ＧＰＵ）を用いる。インフォテイメントシステムにおいて、ＨＬＯＳがソフトウェアセキュリティ脆弱性のためクラッシュする恐れがある。ＨＬＯＳがクラッシュした場合、３Ｄ‐ＳＲＶディスプレイはフリーズし、このフリーズは、運転手がリアルタイムディスプレイからの視覚的出力を用いて車を操縦している間に起こると、事故につながる恐れがある。従って、故障が検出されてディスプレイがフリーズ又はグリッチするとき、２Ｄサラウンドビュー又は別のビューにシームレスに遷移する必要がある。
【０００３】
サラウンドビュー（ＳＲＶ）は、複数の方位に沿って視野を混合することによって、オブジェクトのパノラマビューをスティッチング（繋ぎ合わせ）している。４方向に沿って捕捉されたビデオは、複数のアルゴリズム、すなわち、幾何学的整合（alignment）、測光整合、及び混合を介して処理されて、パノラマビューを生成する。ＳＲＶは、オーバーヘッドとして見える、オブジェクトの２Ｄ‐ＳＲＶ鳥瞰図と、異なるビューポートに沿った３Ｄ‐ＳＲＶパノラマビューとに大別される。図１（０１００）は、概して、スクリーン上に表示される画像の、従来の３Ｄ  ＳＲＶ（０１０３）と２Ｄ  ＳＲＶ（０１０４）を図示する。入力画像（０１０１）は、複数のカメラによって捕捉され得、幾何学的修正エンジン（０１０２）が、これらの画像を補正し、整合し、３Ｄ  ＳＲＶ又は２Ｄ  ＳＲＶに混合し得る。
【０００４】
図２は、概して、画像の３Ｄ  ＳＲＶ処理エンジン及び２Ｄ  ＳＲＶ処理エンジンの従来のブロック図を図示する。２Ｄ処理エンジンは、チャネル捕捉ブロック（０２０１）、整合及び混合ブロック（０２０２）、スティッチングブロック（０２０３）、及びディスプレイブロック（０２０４）を含む。３Ｄ  ＳＲＶ処理エンジンは、チャネル捕捉ブロック（０２１１）、グラフィカル処理ユニット（ＧＰＵ）提供（rendering）ブロック（０２１２）、スティッチングブロック（０２１３）、及びディスプレイブロック（０２１４）を含む。２Ｄ  ＳＲＶ処理エンジン及び３Ｄ  ＳＲＶ処理エンジンは、ハイレベルオペレーティングシステム（ＨＬＯＳ）（０２１６）及びリアルタイムオペレーティングシステム（ＲＴＯＳ）（０２１５）と共に作動され得る。従来のシステムは、２Ｄ処理エンジン又は３Ｄ処理エンジンのいずれかを実装する。従って、システムが２Ｄ処理エンジンを実装しているときであってディスプレイブロック（０２０４）上の画像がフリーズする場合に、３Ｄ処理エンジンにシームレスに切り替えることができない。或いは、システムが３Ｄ処理エンジンを実装しているときであってディスプレイブロック（０２１４）上の画像がフリーズする場合に、２Ｄ処理エンジンにシームレスに切り替えることができない。２Ｄ処理エンジンと３Ｄ処理エンジンとの間の切り替えの失敗は、運転手がリアルタイムディスプレイからの視覚的出力を用いて車を操縦している間の事故につながる恐れがある。従って、２Ｄ処理エンジンと３Ｄ処理エンジンの両方を並列に又はその他の様式で実装及び作動させて、特に自動車における安全上の問題を緩和しつつ、これらのエンジン間のシームレスな切り替えが存在するようにする必要がある。３Ｄ  ＳＲＶ処理エンジンがクラッシュした場合に、周辺の鳥瞰図をユーザーに提供する耐故障性のシステムが必要とされている。３Ｄ‐ＳＲＶアプリケーションを作動させる従来のデバイスは、ＨＬＯＳクラッシュの際に頼るべくフェールセーフ冗長性を教示しておらず、ボード全体をリブートしなければならない。
【発明の概要】
【０００５】
２Ｄサラウンドビューから３Ｄサラウンドビューへのシームレスな遷移のための或る方法において、この方法は、２Ｄ‐ＳＲＶ処理チェーンを初期化すること、ＨＬＯＳハンドシェイクが完了するのを待機する間及びＨＬＯＳハンドシェイクの完了の際に２Ｄサラウンドビューを表示すること、３Ｄ‐ＳＲＶ処理チェーンを初期化し、３Ｄ‐ＳＲＶバッファ出力を待機すること、２Ｄ‐ＳＲＶディスプレイパイプラインを無効化し、３Ｄ‐ＳＲＶディスプレイパイプラインを有効化すること、スイッチバックモニタを有効化すること、３Ｄサラウンドビューにシームレスかつグリッチフリーで原子的に切り替えること、及び、３Ｄサラウンドビューをモニタに表示することを含む。別の方法が、ＨＬＯＳにおけるクラッシュを検出すること、及び、３Ｄサラウンドビューから２Ｄサラウンドビューにシームレスに切り替えることを含む。
【図面の簡単な説明】
【０００６】
【図１】出力３Ｄフレーム及び出力２Ｄフレームに幾何学的に変換される従来の入力フレームを図示する。
【０００７】
【図２】従来のサラウンドビュー処理方法を図示する。
【０００８】
【図３】例示の実施例の一態様に従ったブートアップルーチンの例示的なスクリーンショットを示す。
【０００９】
【図４】例示の実施例の一態様に従った、図３において図示したブートアップ後の２Ｄサラウンドビューの例示的なスクリーンショットを示す。
【００１０】
【図５】例示の実施例の一態様に従った、図４の２Ｄサラウンドビューから３Ｄサラウンドビューへのシームレスな切り替えの例示的なスクリーンショットを示す。
【００１１】
【図６】例示の実施例の一態様に従った、故障を検出した後の図４の３Ｄサラウンドビューから２Ｄサラウンドビューへのシームレスな切り替えの例示的なスクリーンショットを示す。
【００１２】
【図７】例示の実施例の一態様に従った、２Ｄ‐ＳＲＶ処理チェーン及び３Ｄ‐ＳＲＶ処理チェーンとの入力画像の同時処理の例示的な装置を示す。
【００１３】
【図８Ａ】例示の実施例の一態様に従った、２Ｄサラウンドビューディスプレイから３Ｄサラウンドビューディスプレイへの例示的なシームレスな遷移方法を示す。
【００１４】
【図８Ｂ】例示の実施例の一態様に従った、故障の検出の際に３Ｄサラウンドビューディスプレイから２Ｄサラウンドビューディスプレイに遷移するための例示的なフェールセーフな方法を示す。
【００１５】
【図９】例示の実施例の一態様に従った、２Ｄサラウンドビューディスプレイから３Ｄサラウンドビューディスプレイへのシームレスな遷移の例示的なブロック図を示す。
【００１６】
【図１０】例示の実施例の一態様に従った、２Ｄサラウンドビューディスプレイから３Ｄサラウンドビューディスプレイへのシームレスな遷移の例示的なタイミングフローチャートを図示する。
【００１７】
【図１１】例示の実施例の一態様に従った故障検出方法の例示的なフローチャートである。
【発明を実施するための形態】
【００１８】
本願の多くの革新的な教示は、好ましい実施例を特に参考にして説明されており、これらの革新的な教示は、有利にも、２Ｄサラウンドビューから３Ｄサラウンドビューへのシームレスでグリッチフリーな遷移の特定の問題に適用される。しかしながら、この実施例は、本明細書における革新的な教示の多くの有利な用途の一例に過ぎない。概して、本願の本明細書において成される記述は、必ずしもこれらの種々の実施例のいずれかを限定するものではない。また、幾つかの記述は、幾つかの特徴に適用されるが他の特徴には適用されない場合もある。
【００１９】
例示の実施例は、ブートアップの際の２Ｄサラウンドビューから３Ｄサラウンドビューへのシームレスな遷移、及び、故障の検出の際の３Ｄサラウンドビューから２Ｄサラウンドビューへのシームレスな遷移に関する。例示の実施例は、オートモーティブ、ＡＤＡＳ、又はインフォテイメントシステムを含む。
【００２０】
「３Ｄ‐ＳＲＶ」、「３Ｄ  ＳＲＶ」、「３Ｄサラウンドビュー」、「３Ｄビュー」という用語は、本明細書において、オブジェクト又は場所を囲む、３次元ビューを定義するために交換可能に用いられる。同様に、「２Ｄ‐ＳＲＶ」、「２Ｄ  ＳＲＶ」、「２Ｄサラウンドビュー」、「２Ｄビュー」は、本明細書において、オブジェクト又は場所を囲む、２次元鳥瞰図を定義するために交換可能に用いられる。「出力画像」及び「出力フレーム」という用語は、本明細書において、スクリーン上に表示される画像を示すために交換可能に用いられる。また、「入力画像」及び「入力フレーム」という用語は、本明細書において、カメラによって捕捉される画像を示すために交換可能に用いられる。
【００２１】
図３は、一つの好ましい実施例に従ったブートアップルーチンの例示的なスクリーンショットを示す。スクリーンショット（０３００）は、例示的な装置（０３１２）を用いて生成される事象（０３０１、０３０２、０３０３、及び０３０４）のタイムラインを図示する。時間（０３０１）において電源投入及びブートすると、プロセッサが、ブートコードを実行し得、カメラのビューポート、及びＨＬＯＳをロードするためのポインタなどのその他のパラメータを初期化し得る。図４（０４００）は、好ましい実施例に従った、図３に図示したブートアップ後の２Ｄサラウンドビューの例示的なスクリーンショットを示す。時間（０３０２）において、スクリーン（０４０１）上に周辺の鳥瞰図を示す２Ｄ  ＳＲＶが表示され得る。図５（０５００）は、好ましい実施例に従った、図４の２Ｄサラウンドビューから３Ｄサラウンドビューへのシームレスな切り替えの例示的なスクリーンショットを示す。時間（０３０３）において、３Ｄサラウンド処理エンジン及び３Ｄパイプラインディスプレイが有効化されると、ディスプレイは、グリッチなしに２Ｄ  ＳＲＶビューから３Ｄ  ＳＲＶビューにシームレスに切り替わる。図６（０６００）は、例示の一実施例に従った、故障を検出した後の、図４の３Ｄサラウンドビューから２Ｄサラウンドビューへのシームレスな切り替えの例示的なスクリーンショットを示す。時間（０３０４）において、３Ｄ  ＳＲＶエンジン又は３Ｄ  ＳＲＶパイプラインディスプレイにおいて何らかの故障が検出されると、例示的な装置（０７００）は、ユーザーディスプレイ上の画像を２Ｄ  ＳＲＶビューにシームレスに切り替える。
【００２２】
図７は、好ましい実施例に従った、２Ｄ‐ＳＲＶ処理チェーン及び３Ｄ‐ＳＲＶ処理チェーンを用いる、入力画像の同時処理の例示的な装置及びデータフローを示す。装置（０７００）は、チャネル捕捉ブロック（０７０１）、整合及び混合ブロック（０７０２）、２Ｄスティッチングブロック（０７０３）、ＧＰＵ提供ブロック（０７１１）、３Ｄスティッチングブロック（０７１２）、フェールセーフモニタ（０７１３）、及びディスプレイブロック（０７１４）を含む。チャネル捕捉ブロック（０７０１）は、一つ又は複数のカメラからの画像を捕捉し得る。補助コア又はプロセッサ（図示せず）上で作動するＲＴＯＳ（０７０４）が、ＧＰＵ提供ブロック（０７１１）を除くブロック間の情報の流れを制御し得る。ＬｉｎｕｘオペレーティングシステムなどのＨＬＯＳ（０７０６）が、埋め込みプロセッサ（図示せず）上で作動している可能性があり、ＨＬＯＳが初期化され、ロードされ、準備が整うと、ＧＰＵ提供ブロック（０７１１）を介して画像が処理され得る。ＲＴＯＳ（０７０４）及びＨＬＯＳ（０７０６）は、ハンドシェイクプロトコルを実施して、３Ｄ  ＳＲＶのための捕捉された画像の処理を可能にし得る。カメラは、例えば、左、右、中央、及び後部などの異なる位置で自動車に取り付けられ得る。また、カメラは、異なった視野又は視野角を有し得る。カメラの数は、１〜２０個、より好ましくは１〜４個とし得る。カメラによって捕捉される画像の数は、１〜２０個、より好ましくは１〜４個とし得る。画像を捕捉すると、チャネル捕捉ブロック（０７０１）は、整合及び混合ブロック（０７０２）に、及びＧＰＵ提供ブロック（０７１１）に、画像を最小の処理で転送し得る。画像は、整合及び混合ブロック（０７０２）における更なる処理の後に、整合され得、一つの画像に混合され得る。画像の各々は、変換され得、後方又は前方にマッピングされ得、歪みに対して幾何学的に補正され得、２Ｄスティッチングブロック（０７０３）に転送される出力画像に混合され得る。入力画像から処理された出力画像は、一つの２Ｄ  ＳＲＶ出力画像にスティッチングされ得、ディスプレイデバイス（０７１４）上のディスプレイのためにフェールセーフモニタ（０７１３）を通過し得る。２Ｄ  ＳＲＶ画像は、補助コアとＲＴＯＳが作動している限り、表示スクリーン上のディスプレイのために常に利用可能である。ＲＴＯＳは、クラッシュの影響を受けやすく、欠陥耐性があると証明されることが多い。しかし、ボードの電源が投入されている限り、補助コアは作動している可能性がある。従って、一実施例に従って、２Ｄ‐ＳＲＶバッファは、ディスプレイのために常に利用可能である。入力画像及び出力画像の画素フォーマットのために、任意の利用可能な業界標準が選択され得る。ＲＴＯＳとＨＬＯＳとの間のハンドシェイクの後、３Ｄ  ＳＲＶ処理エンジンが初期化され得、ＧＰＵが準備できたとき、捕捉ブロックによって捕捉された入力画像は、ＧＰＵ提供ユニット（０７１１）を介して処理され得る。次いで、処理された入力画像は、３Ｄ  ＳＲＶスティッチングングブロック（０７１２）において３Ｄ  ＳＲＶ画像にスティッチングされ得る。３Ｄスティッチングブロックからの３Ｄ  ＳＲ���画像は、フェールセーフモニタ（０７１３）を介して流れ、３ＤパイプラインディスプレイがＨＬＯＳによって有効化されると、ディスプレイデバイス（０７１４）上に表示される。フェールセーフモニタは、補助コア上で連続的に作動しており、２Ｄスティッチングブロック及び３Ｄスティッチングブロック両方から入力を受け取る。好ましい実施例に従って、出力画像の表示は、３Ｄ  ＳＲＶが初期化され、表示のための準備ができた後に、２Ｄ  ＳＲＶから３Ｄ  ＳＲＶにシームレスに切り替わる。別の好ましい実施例に従って、フェールセーフモニタ（０７１３）における故障を検出すると、出力画像のディスプレイが、２Ｄ  ＳＲＶにシームレスに切り替わる。更に別の例示の実施例に従って、入力画像は、２Ｄ  ＳＲＶ処理エンジン及び３Ｄ  ＳＲＶ処理エンジンを介して同時に処理される。フェールセーフモニタは、図８Ｂ（０８１０）において後述するように、誤差を監視し得る。
【００２３】
図８Ａ（０８００）のフローチャートに概して示されるように、２Ｄサラウンドビューディスプレイから３Ｄサラウンドビューへの例示的なシームレスな遷移方法は、下記のステップに関して概して説明され得る。
１．  ＜２Ｄ−ＳＲＶ処理チェーンを初期化し、２Ｄサラウンドビューを表示するステップ（０８０１）＞
このステップは更に、ブートローダからブートすること、及び、２Ｄ‐ＳＲＶディスプレイパイプラインを有効化することを含む。２Ｄ−ＳＲＶディスプレイパイプラインは、初期設定で自動的に有効化され得る。ブートする時間は、１ミリ秒から１０ミリ秒までの範囲である。２Ｄ−ＳＲＶアプリケーションのためのブート時間（ボードの電源投入からの時間）は、用いられているカメラ及びセンサの数に応じて、３００ｍｓ〜１０ｓまでの範囲であり得る。
２．  ＜ＨＬＯＳハンドシェイクが完了するのを待機している間に２Ｄサラウンドビューを表示するステップ（０８０２）＞
図７において説明したように２Ｄサラウンドビューを表示するステップは、概して、下記のステップに関して説明され得る。
ａ．  少なくとも一つの光学的デバイスで一つ又はそれ以上の入力画像を捕捉するステップ、
ｂ．  入力画像を整合及び混合するステップ、
ｃ．  画像を一つの出力画像にスティッチングするステップ、
ｄ．  ２Ｄ‐ＳＲＶディスプレイパイプラインが有効化されているかをチェックするステップ、及び
ｅ．  ２Ｄサラウンドビューを表示するステップ。
図１０のタイミングフローチャートにおいて説明するように、ＨＬＯＳハンドシェイクを待機するステップは、概して、下記のステップに関して説明され得る。
ａ．  ＧＰＵを初期化するステップ、
ｂ．  ＨＬＯＳが準備できているかをチェックするステップ（ＧＰＵの初期化は、ＨＬＯＳが準備できているときにのみ行われ、従って、ポイントａ及びｂを入れ替える必要がある）、及び
ｃ．  ＧＰＵが３Ｄサラウンドビューを提供する準備ができているかをチェックするステップ。
３．  ＜ＨＬＯＳハンドシェイクが完了した場合、３Ｄ‐ＳＲＶ処理チェーンを初期化し、完了していない場合、ステップ（０８０２）に進むステップ（０８０３）＞
好ましい実施例に従って、３Ｄ‐ＳＲＶ処理チェーンが初期化及び有効化されるとき、２Ｄ処理チェーン及び３Ｄ処理チェーンは、同時にかつ並列に作動している。３Ｄ  ＳＲＶ処理エンジン及び２Ｄ  ＳＲＶ処理エンジン両方への入力画像の同時提示は、システムが、２Ｄ  ＳＲＶビューから３Ｄ  ＳＲＶビューに切り替わることを可能にし、故障が検出されるとき、３Ｄ  ＳＲＶビューから２Ｄ  ＳＲＶビューへの切り替えを可能にする。
４．  ＜３Ｄ−ＳＲＶバッファ出力を待機するステップ（０８０４）＞
３Ｄ  ＳＲＶ処理エンジンが初期化及び有効化されると、入力フレームは、入力フレームがＧＰＵブロックに流れることを可能にする３Ｄ‐ＳＲＶバッファに渡され得る。
５．  ＜２Ｄ−ＳＲＶディスプレイパイプラインを無効化し、３Ｄ−ＳＲＶディスプレイパイプラインを有効化するステップ（０８０５）＞
レジスタマップにおける或るレジスタビットが１又は０に書き込まれ得、２Ｄ‐ＳＲＶディスプレイパイプラインが無効化され得る。同様に、レジスタマップにおける或るレジスタビットが１又は０に書き込まれ得、３Ｄ‐ＳＲＶディスプレイパイプラインが有効化され得る。レジスタマップは、所定のアドレス指定位置を有する内部メモリに維持され得る。
６．  ＜スイッチバックモニタを有効化するステップ（０８０６）＞
７．  ＜３Ｄサラウンドビューに原子的に切り替わるステップ（０８０７）＞
例示の一実施例に従って、２Ｄサラウンドビューと３Ｄサラウンドビューとの間で表示を原子的に切り替えるレイテンシーは、実質的に０である。より好ましい実施例に従って、２Ｄサラウンドビューと３Ｄサラウンドビューとの間で表示を原子的に切り替えるレイテンシーは、３０ミリ秒〜１分３０秒である。表示が３０フレーム／秒（ＦＰＳ）でリフレッシュされる場合、レイテンシーは３０ｍｓから５００ｍｓまでの範囲であり得、表示が６０ＦＰＳでリフレッシュされる場合、レイテンシーは１５ｍｓ〜２５０ｍｓの間で変化し得る。更に別の例示の実施例に従って、２Ｄサラウンドビューと３Ｄサラウンドビューとの間で表示を原子的に切り替えるレイテンシーは、入力フレームを失うことなく行われる。
８．  ＜３Ｄサラウンドビューをモニタに表示するステップ（０８０８）＞
図７において説明したような３Ｄサラウンドビューを表示する方法は、概して下記のステップに関して説明され得る。
ａ．  少なくとも一つの光学的デバイスで一つ又はそれ以上の入力画像を捕捉するステップ、
ｂ．  ＧＰＵ提供ブロックを介して処理するステップ、
ｃ．  画像を一つの出力画像にスティッチングするステップ、
ｄ．   ３Ｄ‐ＳＲＶディスプレイパイプラインが有効化されているかをチェックするステップ、及び
ｅ．  ３Ｄサラウンドビューを表示するステップ。
【００２４】
好ましい実施例に従って、入力画像が、ビューポートを介して捕捉され、２Ｄ処理チェーン及び３Ｄ処理チェーンに同時に提示される。処理及び表示の状態を追跡し続けるために、状態機械が実装され得る。状態機械は、表示エンジン及びカウンタの状態を追跡し続けるために、システムオンチップ（ＳＯＣ）において実装され得る。方法ステップの各々は、処理の状態に対応し得る。誤差、３Ｄと２Ｄとの間の切り替え、ディスプレイパイプラインの有効化及び無効化などの、所定のトリガ条件に基づいて、各クロックサイクル上で状態機械が現在の状態から次の状態へ遷移するように、現在の状態及び次の状態の変数が実装され得る。フェールセーフモニタは、事象によってトリガされる状態機械とし得る。これらの事象は、現在、３Ｄ‐ＳＲＶバッファの利用可能性を含み、これは、パイプライン及びバッファ管理を有効化／無効化への状態の変更をトリガする（捕捉されたバッファが３Ｄ‐ＳＲＶ処理チェーンと共有されるべきかを決定する）。
【００２５】
図８Ｂ（０８１０）のフローチャートに概して示されるように、故障の検出の際に３Ｄサラウンドビューディスプレイから２Ｄサラウンドビューディスプレイに遷移するための好ましいフェールセーフな方法は、下記のステップに関して概して説明され得る。
１．  ＜新しいフレームを捕捉するステップ（０８１１）＞
２．  ＜３Ｄ処理チェーンが有効化される場合、３Ｄサラウンドビューを表示し、有効化されない場合、ステップ（０８１８）で２Ｄサラウンドビューを表示するステップ（０８１２）＞
３．  ＜３Ｄサラウンドビューが有効化された場合、新しいフレームのタイプが３Ｄフレームであるかをチェックし、３Ｄフレームである場合は、ステップ（０８１４）で故障検出アルゴリズムを有効化し、３Ｄ  ＳＲＶを表示し、３Ｄフレームでない場合は、ステップ（０８１４）で故障検出アルゴリズムを有効化し、ステップ（０８１５）で故障が検出されたかをチェックするステップ（０８１３）＞
４．  ＜故障検出アルゴリズムを有効化するステップ（０８１４）＞
５．  ＜故障が検出された場合、ステップ（０８１６）に進み、故障が検出されない場合、フレームを適切にドロップするステップ（０８１５）＞
図１１に示されるように故障を検出する方法は、概して下記のステップに関して説明され得る。
ａ．  新しいフレームを捕捉するステップ、
ｂ．  捕捉されたフレームが３Ｄタイプフレームでない場合、遅延カウンタを１だけインクリメントし、３Ｄタイプフレームである場合、遅延カウンタをリセットするステップ、及び
ｃ．  遅延カウンタが閾値を超えているかをチェックし、超えている場合、故障を検出するステップ。
６．  ＜２Ｄサラウンドビューに原子的に切り替え、３Ｄ−ＳＲＶディスプレイパイプラインを無効化し、２Ｄ−ＳＲＶディスプレイパイプラインを有効化するステップ（０８１６）＞
７．  ＜３Ｄ処理チェーンを無効化し、強制的なバッファリクレーム（reclaim）を有効化する（０８１７）ステップ＞
ＨＬＯＳによって入力フレームをストアするために用いられるバッファは、故障が検出され、ＨＬＯＳがクラッシュされるときに解放されない場合がある。例示の一実施例に従って、バッファは、フレームがドロップされないように強制的にリクレームされる。ブックキーピングメカニズムを利用して、ＨＬＯＳを作動しているコアと共有されるバッファ（入力フレーム）の追跡を継続し得る。ブックキーピングメカニズムは、提供するためにＧＰＵに転送される前に、ペンディングのバッファリストにキューされる（queued）バッファアドレスを含み得る。故障のためにＧＰＵによって返されたバッファの場合、そのバッファに対応するバッファアドレスはデキュー（de-queued）され得る。ＨＬＯＳクラッシュの際、ペンディングのバッファリスト内のすべてのバッファは、リストが空になるまで強制的にクリアされる。強制的なバッファリクレームは、システムの性能が劣化しないことを保証する。例えば、３０フレーム／秒（ＦＰＳ）で画像又はフレームを表示するには、バッファリクレームが必要となり得る。バッファリクレームが有効化されていない場合、性能は１５ＦＰＳまで落ちる可能性がある。ＨＬＯＳ及びＲＴＯＳは、捕捉されたビデオバッファなどの共有資源を共有し得、ＨＬＯＳによって保持されたＨＬＯＳクラッシュバッファが解放されないと、ビデオ出力を捕捉するために再び用いることができない。これは、書き込みに利用可能なバッファが限られている捕捉ソースでのボトルネックにつながる恐れがある。ＨＬＯＳ故障の検出のレイテンシーに応じて、ＨＬＯＳが保持する捕捉バッファの数は変化し得る。レイテンシーが高ければ高いほど、ＨＬＯＳによって保持されているバッファの数が多くなり、その後、捕捉ソースにおいて利用可能なバッファが少なくなる。従って、クラッシュ検出後にシステムが２Ｄ‐ＳＲＶに切り替わるとき、２Ｄ‐ＳＲＶ処理チェーンがそのバッファに戻らない限り、捕捉ソースはバッファに書き込むことができないので、フレームレートは著しく下がる。ＨＬＯＳ故障検出のレイテンシーが高く、バッファリクレームが実装されていない場合、フレームレートは５〜１０ＦＰＳまで落ちることがある。バッファリクレームが実装される場合、捕捉ソースが書き込むためにすべてのバッファが利用可能であるので、フレームレートは一定（３０ＦＰＳ/６０ＦＰＳ）であり得る。
２Ｄ  ＳＲＶビューへの切り替えは、フレームをドロップすることなく、また性能を失うことなく、シームレスに行われる。
８．  ＜２Ｄサラウンドビューをモニタに表示するステップ（０８１８）＞
【００２６】
図９は、好ましい実施例に従った、２Ｄサラウンドビューディスプレイから３Ｄサラウンドビューディスプレイへのシームレスな遷移の例示的なブロック図を示す。図７（０７００）と同様に、図９（０９００）は、２Ｄ  ＳＲＶアルゴリズムブロック（０９０７）によって生成される２Ｄ  ＳＲＶ画像（０９０６）と、３Ｄ  ＳＲＶアルゴリズムブロック（０９０３）によって生成される３Ｄ  ＳＲＶ画像（０９０４）とを同時に受け取るフェールセーフモニタブロック（０９０５）を含む。入力画像又はフレームが、ビデオ捕捉ブロック（０９０１）によって捕捉され得、２Ｄ  ＳＲＶアルゴリズムブロック（０９０７）及び３Ｄ  ＳＲＶアルゴリズムブロック（０９０３）の両方に提示され得る。フェールセーフモニタ（０９０５）は、シームレス遷移ブロック（０９１５）及びディスプレイ切り替えブロック（０９２５）を更に含む。シームレス遷移ブロック（０９１５）は、故障が検出されない限り、ディスプレイが、デフォルトの２Ｄ  ＳＲＶビューから３Ｄ  ＳＲＶビューに切り替えられることを可能にする。ディスプレイ切り替えブロック（０９２５）は、図１１に記載されるように、故障の検出の際に、ディスプレイ（０９０８）を３Ｄ  ＳＲＶビューから２Ｄ  ＳＲＶビューに切り替える。また、フェールセーフモニタブロックは、３Ｄ処理エンジンを有効化又は無効化することを示すために、３Ｄ有効化ブロック（０９０２）への３Ｄ有効化信号を生成し得る。３Ｄ有効化ブロックは、ビデオ捕捉ブロック（０９０１）から３Ｄ  ＳＲＶアルゴリズムブロック（０９０３）への入力フレームの流れを可能にするゲートとして機能し得る。フェールセーフモニタが３Ｄ処理の誤差を検出した場合、３Ｄ有効化ブロックは無効化され得、３Ｄ  ＳＲＶアルゴリズムブロックへの入力フレームの流れをブロックし得る（０９０３）。
【００２７】
図１０は、好ましい実施例に従った、２Ｄサラウンドビューディスプレイから３Ｄサラウンドビューディスプレイへのシームレスな遷移の例示的なタイミングフローチャートを図示する。電源が投入されると、埋め込みプロセッサが、まずブートし得、数ミリ秒間ｒｏｍコード（１００１）からブートｒｏｍを作動し得る。ブットローダ（１００２）が、ブートロムからの命令を複数段階で実行し得、時間（１０１０）の一段階において補助コアが初期化され得、時間（１０１２）の別の段階においてＤＳＰアルゴリズムが初期化され得、２Ｄ  ＳＲＶを作動させる。２Ｄ  ＳＲＶエンジンは、時間（１０１２）に初期化され、時間（１０１３）に準備される。ブートローダをロードするための時間は、一次コア上で１〜１０ミリ秒であり得るが、ブート、ファームウェアの初期化、及びその後の補助コア上でのアプリケーションの作動は、用いられるセンサのタイプ及びカメラの数に応じて３００ミリ秒から１０秒までの範囲であり得る。その後、２Ｄ  ＳＲＶ処理エンジンが作動し、３Ｄ  ＳＲＶエンジンが初期化されて作動するまで、２Ｄ  ＳＲＶ画像がディスプレイスクリーンに表示される。次に、埋め込みプロセッサは、カーネルを介してＨＬＯＳをロードし得る（１００３）。一例において、ＨＬＯＳはＬｉｎｕｘＯＳであり得、他の例においてＨＬＯＳはＡｎｄｒｏｉｄ又はＱＮＸであり得る。ＧＰＵ（１００４）が、２Ｄ  ＳＲＶエンジンが作動している間、カーネル実行中に初期化され得る。ＨＬＯＳは、ＧＰＵ初期化が完了するのを待機し得、次いで、３Ｄ  ＳＲＶ処理エンジンを初期化する（１００５）ために適切なハンドシェイクを実施し得る。時間（１０１４）において３Ｄ  ＳＲＶ処理エンジン初期化が完了すると、ディスプレイは、ブロック（０９１５）と同様のシームレス遷移ブロック（１００６）を介して、３Ｄ  ＳＲＶディスプレイにシームレスに切り替わり得る。３Ｄ  ＳＲＶディスプレイパイプライン（１００７）は、２Ｄ  ＳＲＶビューから３Ｄ  ＳＲＶビューへのシームレスな遷移の際に有効化される。ブートローダは、一次コア上で作動され、補助コア上のファームウェアをロードし（１０１０及び１０１２に示すように）、これらのコアに関連するクロックをリセットして、それぞれのコア上のファームウェアの初期化を可能にする。リセットがトリガされると、ブートローダは、（一次コア自体にロードされた）カーネルをロードするようにジャンプし、ファームウェアが補助コア上の初期化を完了するのを待機しない可能性がある。これは、ファームウェアができるだけ早く補助コア上にロードされることを保証し、ＨＬＯＳとは独立して作動するアプリケーションが非常に迅速にサービスされることを保証する。また、ブートローダは、ファームウェア初期化が完了するのを待機する必要なく、迅速にカーネル初期化にジャンプし得る。各コア（一次及び補助）は、その他のコア状態のチェックを維持するために作動しているタスクを有し、それぞれのコア上で作動するＯＳ（ＲＴＯＳ/ＨＬＯＳ）が準備されると、コアとの通信メカニズムを確立する。この通信メカニズムは、コア間のバッファの流れを確立するのに役立ち、また、ＳＲＶアプリケーション間の切り替えを容易にす��事象をトリガする。
【００２８】
図１１のフローチャート（１１００）に概して示されるように、故障の検出の際に３Ｄサラウンドビューディスプレイから２Ｄサラウンドビューディスプレイに遷移するための好ましいフェールセーフな検出方法が、概して下記のステップに関して説明され得る。
１．  新しいフレームを捕捉し、３Ｄ  ＳＲＶ処理が有効化されているかをチェックし、有効化されている場合はステップ（１１０２）に進み、有効化されていない場合はステップ（１１１０）に進むステップ（１１０１）、
２．  新しいフレームが３Ｄタイプフレームであるかをチェックし、３Ｄタイプフレームであればステップ（１１０３）に進み、３Ｄタイプフレームでなければステップ（１１０５）に進むステップ（１１０２）、
３．  遅延カウンタをリセットするステップ（１１０３）、
４．  ３Ｄ  ＳＲＶビューにおいて３Ｄフレームを表示するステップ（１１０４）、
５．  遅延カウンタを１だけインクリメントするステップ（１１０５）、
６．  遅延カウンタが閾値を超えているかをチェックし、超えている場合はステップ（１１０８）に進み、超えていない場合はステップ（１１０７）に進むステップ（１１０６）、
７．  フレームを適切にドロップするステップ（１１０７）、
８．  ３Ｄ‐ＳＲＶディスプレイパイプラインを無効化し、２Ｄ‐ＳＲＶディスプレイパイプラインを有効化するステップ（１１０８）、
９．  ３Ｄ−ＳＲＶ処理エンジンを無効化し、強制的なバッファリクレームを開始するステップ（１１０９）、及び
１０．  ２Ｄ  ＳＲＶビューを表示するステップ（１１１０）。
【００２９】
２Ｄサラウンドビューから３Ｄサラウンドビューへのシームレスな遷移のための方法において、この方法は下記を含む。
（ａ）  ２Ｄ‐ＳＲＶ処理チェーンを初期化すること、
（ｂ）  ＨＬＯＳハンドシェイクが完了するのを待機している間に２Ｄサラウンドビューを表示すること、
（ｃ）  ＨＬＯＳハンドシェイクが完了した場合は３Ｄ‐ＳＲＶ処理チェーンを初期化し、完了していない場合は段階（ｂ）に進むこと、
（ｄ）  ３Ｄ−ＳＲＶバッファ出力を待機すること、
（ｅ）  ２Ｄ−ＳＲＶディスプレイパイプラインを無効化し、３Ｄ−ＳＲＶディスプレイパイプラインを有効化すること、
（ｆ）  スイッチバックモニタを有効化すること、
（ｇ）  ３Ｄサラウンドビューに原子的に切り替えること、及び
（ｈ）  モニタに３Ｄサラウンドビューを表示すること。
【００３０】
この一般的な方法は、例示の実施例の範囲内のステップの再配置及び／又は付加／削除を用いて、多くの要因に応じて大幅に改変され得る。これを、本明細書に記載される種々の好ましい実施例のシステムと共に他の実施例と組み合わせることは、例示の実施例の全体的な範囲内にある。
【００３１】
考えられる実施例には、構成の基本的なテーマにおける多種多様な変形が含まれる。本明細書に記載される例は、可能な用途の全範囲を表すものではない。本明細書に記載される例は、ほぼ無限の可能性の幾つかである。
【００３２】
この基本的なシステム、方法、及びプロダクトバイプロセスは、下記を含むがこれらに限定されない、種々の副次的な実施例で増強され得る。
【００３３】
下記など、上述の説明内で教示された要素の組み合わせに基づいて、他の実施例が可能である。
・  初期化するステップが、ブートローダからブートすること、及び、２Ｄ‐ＳＲＶディスプレイパイプラインを有効化することを更に含む実施例。
・  ブートするための時間が、１ミリ秒から１０ミリ秒までの範囲である実施例。
・  ２Ｄサラウンドビューを表示するステップが、下記のステップを更に含む実施例。
ａ．  一つ又はそれ以上の入力画像を少なくとも一つの光学的デバイスで捕捉するステップ、
ｂ．  入力画像を整合及び混合するステップ、
ｃ．  これらの画像を一つの出力画像にスティッチングするステップ、
ｄ．  ２Ｄ‐ＳＲＶディスプレイパイプラインが有効化されているかをチェックするステップ、及び
ｅ．  ２Ｄサラウンドビューを表示するステップ。
・  ＨＬＯＳハンドシェイクが完了するのを待機するステップが、下記のステップを更に含む実施例。
ａ．  ＧＰＵを初期化するステップ、
ｂ．  ＨＬＯＳの準備ができているかをチェックするステップ、及び
ｃ．  ＧＰＵが３Ｄサラウンドビューを提供する準備ができているかをチェックするステップ。
・  ３Ｄ‐ＳＲＶ処理チェーンを初期化するステップが、ＲＴＯＳを作動させている補助コアとＨＬＯＳを作動させている主コアとの間の通信メカニズムを有効化するステップを更に含む実施例。
・  ３Ｄ‐ＳＲＶバッファ出力を待機するステップが、捕捉バッファがＧＰＵに流れることを可能にすることを更に含む実施例。
・  ２Ｄ処理チェーンと３Ｄ処理チェーン両方が同時に並列に作動している実施例。
・  ビューポートを介して入力画像を捕捉すること、及び、これらの画像を２Ｄ処理チェーン及び３Ｄ処理チェーンに同時に提示することを更に含む実施例。
・  ２Ｄサラウンドビューと３Ｄサラウンドビューとの間で原子的に切り替わるレイテンシーが実質的に０である実施例。
・  ２Ｄサラウンドビューと３Ｄサラウンドビュー範囲との間で原子的に切り替わるレイテンシーが１６ミリ秒から５００ミリ秒の範囲である実施例。
・  ２Ｄサラウンドビューと３Ｄサラウンドビューとの間で原子的に切り替わるステップが、入力フレームの損失なしに行われる実施例。
・  フェールセーフを更に含み、フェールセーフが、下記のステップを更に含む実施例。
ａ．  フェールセーフモニタリングアルゴリズムを有効化するステップ、
ｂ．  ３Ｄサラウンドビューにおける故障を検出するステップ、
ｃ．  ３Ｄ−ＳＲＶディスプレイパイプラインを無効化し、２Ｄ−ＳＲＶディスプレイパイプラインを有効化するステップ、
ｄ．  ３Ｄ処理チェーンを無効化し、強制的なリクレームを有効化するステップ、
ｅ．  ２Ｄサラウンドビューに原子的に切り替えるステップ、及び
ｆ．  モニタに２Ｄサラウンドビューを表示するステップ。
・  ３Ｄサラウンドビューを表示するステップが、下記のステップを更に含む実施例。
ａ．  少なくとも一つの光学的デバイスで一つ又はそれ以上の入力画像を捕捉するステップ、
ｂ．  ＧＰＵ提供ブロックを介して処理するステップ、
ｃ．  これらの画像を一つの出力画像にスティッチングするステップ、
ｄ．  ３Ｄ‐ＳＲＶディスプレイパイプラインが有効化されているかをチェックするステップ、及び
ｅ．  ３Ｄサラウンドビューを表示するステップ。
【図１】
2020521231.tif 000003
【図２】
2020521231.tif 000004
【図３】
2020521231.tif 000005
【図４】
2020521231.tif 000006
【図５】
2020521231.tif 000007
【図６】
2020521231.tif 000008
【図７】
2020521231.tif 000009
【図８Ａ】
2020521231.tif 000010
【図８Ｂ】
2020521231.tif 000011
【図９】
2020521231.tif 000012
【図１０】
2020521231.tif 000013
【図１１】
2020521231.tif 000014
【国際調査報告】
2020521231.tif 000015