(57)【特許請求の範囲】
【請求項１】
カメラシステムであって、カメラアレイとマイクロホンアレイとを含み、
前記カメラアレイは、
前記カメラアレイ内部の熱を通過させて放散させる１つ以上のスリット、第１の開口、および第２の開口を有するハウジングと、
第１のレンズおよび第１のセンサを含み、前記ハウジングの前記第１の開口に取り外し可能に結合され、前記ハウジングから取り外して９０°回転してから前記ハウジングに再挿入可能なように回転対称形である第１のカメラモジュールと、
第２のレンズおよび第２のセンサを含み、前記ハウジングの前記第２の開口に取り外し可能に結合され、前記ハウジングから取り外して９０°回転してから前記ハウジングに再挿入可能なように回転対称形である第２のカメラモジュールと、
プロセッサと、メモリと、ステータスインジケータと、スイッチとを含むマスターカメラとを含み、
前記スイッチは、前記第１のカメラモジュールおよび前記第２のカメラモジュールの各々に、前記第１のレンズおよび前記第１のセンサならびに前記第２のレンズおよび前記第２のセンサをそれぞれ使用して映像データの記録を開始するための開始動作を起動するよう命令するように構成されており、
前記スイッチは、前記第１のカメラモジュールおよび前記第２のカメラモジュールの各々に、記録を停止するための停止動作を起動するよう命令するように構成されており、
前記ステータスインジケータは、前記第１のカメラモジュール、前記第２のカメラモジュール、および前記カメラアレイのうちの少なくとも１つのステータスを示すように構成されており、
前記マイクロホンアレイは、前記カメラアレイの上部に搭載され、任意の方向からの音の再現を可能にするために音声を取り込むように構成される、カメラシステム。
【請求項２】
前記カメラアレイは、前記第１のカメラモジュール、前記第２のカメラモジュール、および前記マスターカメラを含むｎ個のカメラモジュールを備え、
前記ｎ個のカメラモジュールは、重複した映像データを取り込むように配向されている、請求項１に記載のシステム。
【請求項３】
前記ハウジングは、ハニカムの形状をしている、請求項１または２に記載のシステム。
【請求項４】
前記カメラアレイは、前記第１のカメラモジュール、前記第２のカメラモジュール、および前記マスターカメラを含むｎ個のカメラモジュールを備え、
前記ｎ個のカメラモジュールは、前記マスターカメラが前記第１のカメラモジュールに結合され、前記第１のカメラモジュールが前記第２のカメラモジュールに結合され、ｎ−１番目のカメラモジュールが前記マスターカメラに結合された状態で、デイジーチェーンを形成する、請求項１〜３のいずれか１項に記載のシステム。
【請求項５】
前記第１のカメラモジュール、前記第２のカメラモジュール、および前記マスターカメラの各々は、別の対応する１つのカメラモジュールと重複する少なくとも１つの視野を有するように位置付けられている、請求項１〜４のいずれか１項に記載のシステム。
【請求項６】
前記第１のカメラモジュール、前記第２のカメラモジュール、および前記カメラアレイのうちの少なくとも１つのステータスは不良ステータスを含み、
前記ステータスインジケータは、前記第１のカメラモジュール、前記第２のカメラモジュール、および前記カメラアレイのうちの少なくとも１つに不良が生じたことに応答して前記不良ステータスを示すように構成されている、請求項１〜５のいずれか１項に記載のシステム。
【請求項７】
前記ステータスインジケータは、前記第１のカメラモジュールおよび前記第２のカメラモジュールのうちの１つに生じた不良の不良ステータスを示すように構成された全体ステータスインジケータであり、
前記第１のカメラモジュールおよび前記第２のカメラモジュールはさらに、前記第１のカメラモジュールおよび前記第２のカメラモジュールに生じた不良の前記不良ステータスを示すように構成された個別ステータスインジケータを含む、請求項１〜６のいずれか１項に記載のシステム。
【請求項８】
前記第１のセンサは奥行きマップを求めるために使用する奥行きセンサを含む、請求項１〜７のいずれか１項に記載のシステム。
【請求項９】
パノラマ画像を表示するために３次元映像および音声データのストリームを生成するための集約システムをさらに含む、請求項１〜８のいずれか１項に記載のシステム。
【請求項１０】
バーチャルリアリティディスプレイおよびサラウンドサウンドシステム上で、前記３次元映像を復号してレンダリングし、前記音声データを再生するように構成された鑑賞システムをさらに含む、請求項９に記載のシステム。
【請求項１１】
前記カメラアレイは、前記第１のカメラモジュール、前記第２のカメラモジュール、および前記マスターカメラを含むｎ個のカメラモジュールを備え、
前記ｎ個のカメラモジュールは、対応する映像データを異なる方向で同時に取り込むために、デイジーチェーンを通して同期される、請求項１〜１０のいずれか１項に記載のシステム。
【請求項１２】
前記ｎ個のカメラモジュールは、前記デイジーチェーンを介して制御およびステータスメッセージを互いに渡す、請求項１１に記載のシステム。
【請求項１３】
前記カメラアレイは、前記第１のカメラモジュール、前記第２のカメラモジュール、および前記マスターカメラを含むｎ個のカメラモジュールを備え、
前記ｎ個のカメラモジュールに結合され、前記ｎ個のカメラモジュールの各々からクライアント装置に前記映像データを転送するように構成された接続ハブをさらに含む、請求項１〜１２のいずれか１項に記載のシステム。
【請求項１４】
前記接続ハブは、前記ｎ個のカメラモジュールに電力を供給するためのバッテリを含む、請求項１３に記載のシステム。
【請求項１５】
前記第１のカメラモジュール、前記第２のカメラモジュール、および前記マスターカメラの各々はさらに、対応するカメラモジュールに関連付けられた装置識別子を前記映像データに埋め込むための画像信号プロセッサを含む、請求項１〜１４のいずれか１項に記載のシステム。
【請求項１６】
コンピュータにより実現される方法であって、
１つ以上のプロセッサで、カメラアレイにおける複数のカメラモジュールの各々の装置識別子および位置を識別するステップを含み、前記複数のカメラモジュールはマスターカメラを含み、前記方法はさらに、
前記複数のカメラモジュールに不良がないことを確認するステップと、
前記マスターカメラにおいて開始動作を起動するステップとを含み、前記マスターカメラは他のカメラモジュールに映像データの記録を開始するよう命令し、前記方法はさらに、
前記複数のカメラモジュールから複数の画像フレームおよび前記複数の画像フレームの各々に関連付けられたタイムスタンプを含む映像データを受信するステップと、
前記複数の画像フレーム間の重複を判定するステップと、
前記重複に基づいて露光欠陥および色欠陥のうちの少なくとも１つを補正するステップと、
前記タイムスタンプおよび前記重複に基づいて前記複数の画像フレームをつなぎ合わせるステップと、
つなぎ合わせた画像フレームから３次元映像を生成するステップと、
音声データを合成するステップと、
パノラマ画像を表示するために前記３次元映像および前記音声データのストリームを生成するステップとを含む、方法。
【請求項１７】
前記複数の画像フレームは、前記複数のカメラモジュールの各々の相対位置に基づいてつなぎ合わされる、請求項１６に記載の方法。
【請求項１８】
前記複数のカメラモジュールのうちの１つからの映像データを見るためのユーザインターフェイスを生成するステップをさらに含む、請求項１６または１７に記載の方法。
【請求項１９】
コンピュータ上で実行されると、前記コンピュータに以下のステップを行なわせるコンピュータプログラムであって、前記以下のステップは、
カメラアレイにおける複数のカメラモジュールの各々の装置識別子および位置を識別するステップを含み、前記複数のカメラモジュールはマスターカメラを含み、前記以下のステップはさらに、
前記複数のカメラモジュールに不良がないことを確認するステップと、
前記マスターカメラにおいて開始動作を起動するステップとを含み、前記マスターカメラは他のカメラモジュールに映像データの記録を開始するよう命令し、前記以下のステップはさらに、
前記複数のカメラモジュールから複数の画像フレームおよび前記複数の画像フレームの各々に関連付けられたタイムスタンプを含む映像データを受信するステップと、
前記複数の画像フレーム間の重複を求めるステップと、
前記重複に基づいて露光欠陥および色欠陥のうちの少なくとも１つを補正するステップと、
前記タイムスタンプおよび前記重複に基づいて前記複数の画像フレームをつなぎ合わせるステップと、
つなぎ合わせた画像フレームから３次元映像を生成するステップと、
音声データを合成するステップと、
パノラマ画像を表示するために前記３次元映像および前記音声データのストリームを生成するステップとを含む、コンピュータプログラム。
【請求項２０】
前記複数の画像フレームは、前記複数のカメラモジュールの各々の相対位置に基づいてつなぎ合わされる、請求項１９に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
分野
ここに述べる実施形態は、カメラシステムに関する。より特定的には、ここに述べる実施形態は、画像を記録するための１つ以上のカメラモジュールを含むカメラシステムに関する。
【背景技術】
【０００２】
背景
異なる場所または同じ場所において映像を記録するために複数のカメラを使用する既存のカメラシステムは、劣った品質の映像を生成する場合がある。たとえば、セキュリティシステムにおけるカメラは、異なるカメラ間での同期を考慮することなく独立して映像を取り込む場合がある。各カメラは、異なるカメラ間で連携することなく、他のカメラから独立して動作する場合がある。
【０００３】
ここに請求される主題は、いかなる欠点も解決する実施形態、または上述のような環境でのみ動作する実施形態に限定されない。むしろ、この背景は、ここに説明されるいくつかの実施形態が実践され得る技術領域の一例を例示するためにのみ提供されている。
【発明の概要】
【課題を解決するための手段】
【０００４】
概要
この開示で説明される主題の革新的な一局面によれば、カメラシステムは、カメラモジュールを含むカメラアレイを含み、カメラモジュールは、プロセッサと、メモリと、センサと、レンズと、ステータスインジケータと、スイッチとを含むマスターカメラを含み、スイッチは、カメラモジュールに、カメラモジュールの各々におけるレンズおよびセンサを使用して映像データの記録を開始するための開始動作を起動するよう命令するように構成されており、スイッチは、カメラモジュールに、記録を停止するための停止動作を起動するよう命令するように構成されており、ステータスインジケータは、カメラモジュールのうちの少なくとも１つまたはカメラアレイのステータスを示すように構成されている。
【０００５】
一般に、この開示で説明される主題の別の革新的な局面は、カメラモジュールのための開口を形成するハウジング（カメラモジュールは回転対称形のハウジングを含む）；ハニカムの形状をしたハウジング（ハニカムの各区画の中心は、カメラモジュールのうちの１つのための開口を形成する）；任意の方向からの音の再現を可能にするために音声を取り込むように構成されたマイクロホンアレイ；パノラマ画像を表示するために３次元映像および音声データのストリームを生成するための集約システム；バーチャルリアリティディスプレイおよびサラウンドサウンドシステム上で、３次元映像を復号してレンダリングし、音声データを再生するように構成された鑑賞システム；カメラモジュールに連結され、カメラモジュールのうちの少なくとも１つからクライアント装置に映像データを転送するように構成された接続ハブ（接続ハブは、カメラモジュールの各々に電力を供給するためのバッテリを含む）を含む方法で具現化されてもよい。
【０００６】
これらのおよび他の実現化例は各々、以下の動作および特徴のうちの１つ以上をオプションで含んでいてもよい。たとえば、特徴は、カメラモジュールが、マスターカメラが第１のカメラモジュールに結合され、第１のカメラモジュールが「ｎ」カメラモジュールに結合され、「ｎ」カメラモジュールがマスターカメラに結合された状態で、デイジーチェーンを形成すること；各カメラモジュールは、別のカメラモジュールと重複する少なくとも１つの視野を有するように位置付けられていること；カメラモジュールのうちの１つのステータスは不良ステータスを含み、ステータスインジケータは、カメラモジュールのうちの１つに不良が生じたことに応答して不良ステータスを示すこと；ステータスインジケータは、カメラモジュールのうちのいずれかに生じた不良の不良ステータスを示すように構成された全体ステータスインジケータであり、カメラモジュールはさらに、カメラモジュールのうちの１つに生じた不良の不良ステータスを示すように構成された個別ステータスインジケータを含むこと；カメラモジュールは、対応する映像データを異なる方向で同時に取り込むために、デイジーチェーンを通して同期されること；カメラモジュールは、デイジーチェーンを介して制御およびステータスメッセージを互いに渡すことを含む。
【０００７】
この開示で説明される主題の別の革新的な局面によれば、方法は、１つ以上のプロセッサで、カメラアレイにおける各カメラモジュールの装置識別子および位置を識別するステップを含み、カメラモジュールはマスターカメラを含み、前記方法はさらに、カメラモジュールに不良がないことを確認するステップと、マスターカメラにおいて開始動作を起動するステップとを含み、マスターカメラは他のカメラモジュールに記録を開始するよう命令し、前記方法はさらに、カメラモジュールから画像フレームを含む映像データを受信するステップと、映像データに基づいて画像フレームをつなぎ合わせる（stitch）ステップと、３次元映像を生成するステップと、音声データを合成するステップと、パノラマ画像を表示するために３次元映像および音声データのストリームを生成するステップとを含む。いくつかの実施形態では、方法はさらに、各カメラモジュールの相対位置を識別するために幾何学的較正を行なうように構成されている。いくつかの実施形態では、画像フレームは、各カメラモジュールの較正相対位置に基づいてつなぎ合わされる。いくつかの実施形態では、方法はさらに、カメラモジュールのうちの１つからの映像データを見るためのユーザインターフェイスを生成するように構成されている。
【０００８】
他の局面は、これらのおよび他の革新的な局面のための対応する方法、システム、機器、およびコンピュータプログラム製品を含む。
【０００９】
この開示は、多くの点で特に有利である。第１に、カメラアレイは、ユーザのためにリアルな３次元体験を生成する。第２に、カメラモジュールは、交換可能な構成要素を有して回転対称形となるように設計されており、それは修正の実現をより容易にする。第３に、集約システムは、バーチャルリアリティ体験のプレビュー、および個別のカメラモジュールからの画像を含む、異なるレベルの詳細をユーザが見ることができるようにするためのユーザインターフェイスを含む。
【００１０】
図面の簡単な説明
添付図面を用いて、例示的な実施形態を、追加の特定性および詳細とともに記載し、説明する。
【図面の簡単な説明】
【００１１】
【図１】１つ以上のカメラモジュールを使用して映像データを記録するための例示的なカメラシステムのいくつかの実施形態のブロック図である。
【図２】例示的な集約システムのいくつかの実施形態のブロック図である。
【図３Ａ】いくつかの実施形態に従った、カメラアレイと接続ハブとを含む例示的なシステムを示す図である。
【図３Ｂ】いくつかの実施形態に従った例示的なハウジングを示す図である。
【図３Ｃ】いくつかの実施形態に従った例示的なマイクロホンアレイを示す図である。
【図４】いくつかの実施形態に従った、カメラアレイを使用して映像データを提供するための例示的な方法を示す図である。
【図５】いくつかの実施形態に従った、不良カメラモジュールを検出するための例示的な方法を示す図である。
【発明を実施するための形態】
【００１２】
実施形態の説明
この開示は、１つ以上のカメラモジュールを有するカメラアレイを含むカメラシステムに関する。このカメラシステムの用途は、車両用の後方カメラシステム、１つ以上のカメラモジュールを含むカメラアレイが装着されたロボット、最高級撮影ツール、およびバーチャルプレゼンスを有する他の好適な用途を含み得るものの、それらに限定されない。たとえば、このカメラシステムのある用途は、バーチャルリアリティ（virtual reality：ＶＲ）体験をユーザに提供することを含んでいてもよい。理想的なバーチャルリアリティ体験は、別の場所にいるというリアルな感覚を生み出すものである。そのような体験を生み出すことは、あるシーンについて３次元（３Ｄ）映像を再生することを伴う場合がある。この開示は、没入型の３Ｄ鑑賞体験を提供することにより、別の場所にいるというリアルな感覚を生み出すように設計された、パノラマ的バーチャルプレゼンスシステムおよび方法に関し得る。ユーザが経験することを享受し得る３Ｄシーンの例は、行楽地、スポーツイベント、結婚式、会議、記者会見、地図ソフトウェアの一部としての場所の確認、水中シーンの体験、ムクドリのざわめきの体験、低速度撮影で加速されるシーン変化などを含む。
【００１３】
例示的な一実施形態に従ったカメラシステムは、カメラアレイと、カメラアレイに結合された接続ハブ（たとえば、ユニバーサル・シリアル・バス（universal serial bus：ＵＳＢ）ハブ）と、接続ハブに結合されたクライアント装置（たとえば、ラップトップコンピュータ）とを含んでいてもよい。カメラアレイは、同じ物体または同じシーンについての映像データを複数の角度から同時に取り込むように構成された複数のカメラモジュールを含んでいてもよい。各カメラモジュールは、プロセッサと、メモリと、センサと、レンズとを含んでいてもよい。カメラアレイにおけるカメラモジュールは、デイジーチェーンを介して制御およびステータスメッセージを互いに渡し、異なるカメラモジュールによって取り込まれた画像フレームのタイミングを同期させるために、デイジーチェーン状に結合されてもよい。たとえば、カメラモジュールは、異なるカメラモジュールからの画像フレームが同期されるように、映像データの記録を同時に開始し、停止するように同期される。
【００１４】
カメラアレイにおけるカメラモジュールのうちの１つは、カメラモジュールの動作を制御するためのスイッチ（たとえばマイクロスイッチ）を含むマスターカメラモジュールであってもよい。たとえば、ユーザは、カメラアレイにおけるすべてのカメラモジュールを使用して映像データの記録を同時に開始するために、スイッチを初めて押してもよい。ユーザは、映像データの記録を停止するために、スイッチを２度目に押してもよい。
【００１５】
いくつかの実施形態では、カメラアレイは加えて、デイジーチェーンにおける最後のカメラモジュールに結合された全体ステータスインジケータ（たとえば、発光ダイオード（light-emitting diode：ＬＥＤ））を含む。全体ステータスインジケータは、カメラアレイの全体的なステータスを示してもよい。カメラアレイにおけるすべてのカメラモジュールに不良がない場合（たとえば、すべてのカメラモジュールが適切に機能する場合）、全体ステータスインジケータは、カメラアレイについて正常ステータスを示す。しかしながら、カメラモジュールの少なくとも１つに不良が生じた場合、全体ステータスインジケータは、カメラアレイについて不良ステータスを示す。各カメラモジュールは加えて、対応するカメラモジュールの個別のステータスを示すための対応するステータスインジケータを含んでいてもよい。カメラアレイにおける全体ステータスインジケータおよびカメラモジュールにおけるそれぞれのステータスインジケータを利用することにより、カメラアレイの全体的なステータスおよびカメラモジュールの個別のステータスがいつでも監視され得る。たとえば、あるカメラモジュールにおけるメモリカードがいっぱいである場合、全体ステータスインジケータおよびそのカメラモジュールに対応する個別ステータスインジケータの双方が不良ステータスを示してもよく、カメラアレイを操作しているユーザが、どのカメラモジュールが不良を有するかを判断できるようにする。
【００１６】
カメラアレイは、モジュール式カメラシステムの少なくとも一部であってもよく、各カメラは、モジュール式カメラシステムのモジュールを形成する。カメラアレイは、カメラアレイからある特定のカメラモジュールを取り外すこと、およびカメラアレイに新しいカメラモジュールを追加することが容易であるように、柔軟な構造を有する。カメラアレイにおけるカメラモジュールは、異なる形状に構成されてもよい。たとえば、カメラアレイは、線、円柱、球、または別の形状に配置された複数のカメラモジュールを含む。各カメラモジュールは、カメラアレイが物体またはシーンを複数の方向から同時に取り込むように、異なる方向を指すように構成されてもよい。
【００１７】
カメラモジュールは、カメラモジュールによって取り込まれた映像データを接続ハブを介してクライアント装置に転送するために、接続ハブに結合されていてもよい。いくつかの実施形態では、カメラモジュールは内蔵バッテリを有さず、接続ハブが、カメラモジュールに電力を供給するためのバッテリを含んでいてもよい。接続ハブは、映像データをクライアント装置に送信するためにクライアント装置に結合されてもよい。
【００１８】
ここに説明されるカメラシステムは、異なるカメラモジュール間でのデータ通信用の第１の通信機構（たとえば、異なるカメラモジュール間での通信用のバス）と、カメラモジュールの動作を中央制御するための第２の通信機構（たとえば、カメラモジュールの動作を制御するための制御バス）とを含む、２種類の通信機構を含んでいてもよい。
【００１９】
ここに説明されるカメラシステムは加えて、カメラアレイによって取り込まれた映像データを処理するための１組のアルゴリズムを含んでいてもよい。１組のアルゴリズムは、複数のカメラモジュールにわたる入力を３Ｄ映像の単一ストリーム（たとえば、３Ｄ映像データの単一の圧縮されたストリーム）に変換するために、非一時的メモリに格納される。１組のアルゴリズムは、図２を参照して以下により詳細に説明されるような１つ以上の「モジュール」で実現されてもよい。たとえば、１組のアルゴリズムは、映像データにおける色を滑らかにし、補正するための色補正アルゴリズムを含む。別の例では、１組のアルゴリズムは、複数のカメラからの映像データを、左目視および右目視のための２つの大型フォーマットのパノラマ映像ストリームになるようにつなぎ合わせ、標準ＭＰＥＧフォーマットまたは他の好適なコード化／圧縮フォーマットを使用して映像をコード化し圧縮するソフトウェアで実現されてもよい。
【００２０】
ここに説明される実施形態は、単なる例示として説明された上述のパノラマ的バーチャルプレゼンスシステムに対するさまざまな追加、修正、および／または省略を考慮している。したがって、上述のカメラシステムは限定的であると解釈されるべきでない。たとえば、図１に関して以下に説明されるカメラシステムは、この開示の範囲から逸脱することなく、上述のものと比べて追加のおよび／または異なる構成要素または機能性を含んでいてもよい。
【００２１】
添付図面を参照して、明細書の実施形態を説明する。
図１は、ここに説明される少なくとも１つの実施形態に従って配置されたカメラシステム１００のいくつかの実施形態のブロック図を示す。図示されたシステム１００は、カメラアレイ１０１と、接続ハブ１２３と、クライアント装置１２７と、サーバ１２９とを含む。クライアント装置１２７およびサーバ１２９は、ネットワーク１０５を介して通信可能に結合されてもよい。この開示に鑑みて理解されるように、追加、修正、または省略が、この開示の範囲から逸脱することなく、図示された実施形態に行なわれてもよい。
【００２２】
図１は、１つのカメラアレイ１０１と、１つの接続ハブ１２３と、１つのクライアント装置１２７と、１つのサーバ１２９とを示しているが、この開示は、１つ以上のカメラアレイ１０１と、１つ以上の接続ハブ１２３と、１つ以上のクライアント装置１２７と、１つ以上のサーバ１２９とを有するシステムアーキテクチャに当てはまる。さらに、図１はシステム１００のエンティティに結合された１つのネットワーク１０５を示しているが、実際には、１つ以上のネットワーク１０５がこれらのエンティティに接続されてもよく、その１つ以上のネットワーク１０５はさまざまな異なるタイプのものであってもよい。
【００２３】
一実施形態では、システム１００はハウジング（図示せず）を含む。ハウジングは、カメラモジュール１０３がカメラアレイ１０１に結合され得る場所に開口を有する、金属または他の材料の単一シートであってもよい。いくつかの実施形態では、ハウジングは耐水性または防水性のものであってもよい。耐水性のハウジングは、暴風雨の際、カメラモジュール１０３に損傷を与えることなく屋外で使用され得る。防水性のハウジングは、水中の映像を取り込むために使用され得る。いくつかの実施形態では、防水性のハウジングはまた、水中深くの映像を取り込むために耐圧性である。
【００２４】
ハウジングは、熱を大気中に放散するためにカメラモジュール１０３から奪う熱放散材料から構築されてもよい。いくつかの実施形態では、カメラモジュール１０３はまた、熱がカメラアレイ１０１を出る経路を作り出すための金属ハウジングを含む。システム１００内での熱放散を助けるための他の装置が可能であり、たとえば、システム１００は、システム１００の構成要素を冷却するためにシステム全体に水を流すための管を含んでいてもよい。他の例は、システム１００から熱風を送風するための静音ファン、ヒートシンク、および熱放散パテを含んでいてもよい。さらに別の例は、受動空冷のためにハウジングにスリットを含めることである。いくつかの実施形態では、熱放散材料は、それらが音声記録を妨げないように、それらに騒音がないことに基づいて選択される。熱放散を向上させる別の方法は、カメラアレイのうち、熱を最も生成する構成要素を、表面のできるだけ近くに構成することである。たとえば、カメラモジュール１０３におけるＩＳＰ１１５は、カメラモジュール１０３の縁に沿って位置していてもよい。
【００２５】
いくつかの実施形態では、システム１００は、カメラアレイ１０１の温度を判断するための温度センサを含む。いくつかの実施形態では、温度センサは、熱放散材料に通信可能に結合され、熱放散材料に、温度変化に応答するよう命令する。たとえば、温度があるしきい値を越えると、温度センサはファンに、より激しく送風するよう命令する。いくつかの他の実施形態では、温度センサは、マスターカメラモジュール１０３ａに通信可能に結合され、マスターカメラモジュール１０３ａからの情報に基づいて熱放散材料に命令する。たとえば、映像記録が低速度撮影シーケンスを使用している場合、温度センサは、より少ない水が管を通って流れるよう命令し、したがって、ストリーミング映像よりも少ない熱を生成する。別の例では、映像が高電力状態で記録している場合、温度センサは熱放散材料に、より多くの熱を放散するよう命令する。さらに別の例では、撮影中のシーンの照明が不十分で画像センサの騒音がより明らかである場合、温度センサは熱放散材料に、より積極的に熱を放散するよう命令する。
【００２６】
カメラアレイ１０１は、画像フレームを含む未加工映像データを取り込むように構成されたモジュール式カメラシステムであってもよい。図１に示す図示された実施形態では、カメラアレイ１０１は、（ここに個別におよびまとめてカメラモジュール１０３とも呼ばれる）カメラモジュール１０３ａ、１０３ｂ…１０３ｎを含む。図１には３つのカメラモジュール１０３ａ、１０３ｂ、１０３ｎが図示されているが、カメラアレイ１０１は、任意の数のカメラモジュール１０３を含んでいてもよい。カメラアレイ１０１は、各カメラモジュール１０３を有する個別のカメラを使用して構築されてもよい。
【００２７】
カメラアレイ１０１は、さまざまな構成を使用して構築されてもよい。たとえば、カメラアレイ１０１におけるカメラモジュール１０３ａ、１０３ｂ…１０３ｎは、対応するレンズ１１３が異なる方向に面した状態で、さまざまな形状（たとえば、球、線、円柱、円錐、立方体など）に構成されてもよい。たとえば、カメラモジュール１０３はカメラアレイ１０１内に、カメラモジュール１０３が挿入され得る開口を区画の各々が形成するハニカムパターンで位置付けられる。別の例では、カメラアレイ１０１は、水平軸に沿った複数のレンズと、垂直軸上のより少ない数のレンズとを含む。
【００２８】
いくつかの実施形態では、カメラアレイ１０１におけるカメラモジュール１０３ａ、１０３ｂ…１０３ｎは、立体画像をレンダリングするのに十分な視差（view disparity）を取り込むために十分な直径および視野を有して、球の周りで異なる方向に配向されている。たとえば、カメラアレイ１０１は、球の周りに分布されたＨＥＲＯ３＋ＧｏＰｒｏ（登録商標）カメラを含んでいてもよい。別の例では、カメラアレイ１０１は、直径２０センチメートルの球の周りに分布された３２個のポイント・グレー（Point Grey）のブラックフライ（Blackfly）ギガビット・イーサネット（登録商標）カメラを含んでいてもよい。ＨＥＲＯ３＋またはポイント・グレーのブラックフライカメラモデルとは異なるカメラモデルが、カメラアレイ１０１に含まれていてもよい。たとえば、いくつかの実施形態では、カメラアレイ１０１は、３Ｄ画像または映像をレンダリングするように構成された１つ以上の光学センサで外面が覆われた球を含む。光学センサは、コントローラに通信可能に結合されてもよい。球の外面全体が、３Ｄ画像または映像をレンダリングするように構成された光学センサで覆われていてもよい。
【００２９】
カメラアレイ１０１は、ある特定のカメラモジュール１０３がカメラアレイ１０１から容易に取り外されるように、柔軟な構造を有する。いくつかの実施形態では、カメラモジュール１０３は、カメラモジュール１０３がハウジングに挿入され、取り外され、９０度回転され、ハウジングに再挿入されるように、回転対称形である。この例では、等距離の４辺を有するカメラモジュール１０３など、ハウジングの辺は等距離であってもよい。これは、ベースを変更することなく、画像フレームの横置きまたは縦置きを可能にする。いくつかの実施形態では、レンズ１１３およびカメラモジュール１０３は交換可能である。新しいカメラモジュール１０３がカメラアレイ１０１に追加されてもよい。いくつかの実施形態では、カメラモジュール１０３は、ＵＳＢコネクタを介してカメラアレイ１０１に接続される。
【００３０】
いくつかの実施形態では、カメラアレイ１０１におけるカメラモジュール１０３は、２つ以上の視点によってすべての物体が見えるように、十分な視野重複を有するように位置付けられている。いくつかの実施形態では、２つ以上のカメラによって物体を見るように構成されたカメラアレイ１０１を有することは、カメラアレイ１０１によって取り込まれた画像における露光または色欠陥を補正するために有益であり得る。他の利点は、視差／奥行きの計算、立体再現、および、カメラアレイを横切る露光不足および露光過多の交互のモザイクパターンを使用したマルチカメラ高ダイナミックレンジ（high-dynamic range：ＨＤＲ）撮像を行なう可能性を含む。
【００３１】
いくつかの実施形態では、カメラアレイ１０１はまた、全ての方向から音を取り込むためのマイクロホンアレイ（図１には図示せず）を含んでいてもよい。たとえば、マイクロホンアレイは、任意の方向からの音の再現を可能にする、アンビソニックス（ambisonics）の原理に従ったコア・サウンド（Core Sound）のテトラミック（Tetramic）音場４面体マイクロホンアレイを含んでいてもよい。別の例では、マイクロホンアレイはアイゲンマイク（Eigenmike）を含み、それは有利にはより多くのマイクロホンを含み、その結果、より高次の（すなわち、空間的により正確な）アンビソニックスを行なうことができる。マイクロホンは、カメラアレイ１０１の上部に搭載されてもよく、カメラモジュール１０３間に位置付けられてもよく、またはカメラアレイ１０１の本体内に位置付けられてもよい。
【００３２】
いくつかの実施形態では、カメラアレイ１０１におけるカメラモジュール１０３は、カメラモジュール１０３のサイズがよりコンパクトになるように、内蔵バッテリを含まない。カメラモジュール１０３は、接続ハブ１２３の一部であるバッテリ１２５から電力を得てもよい。
【００３３】
いくつかの実現化例では、接続ハブはバッテリ１２５を含まず、電力は別の電源によって供給される。たとえば、壁付コンセント、発電機、電力創出器のうちの１つ以上、またはこれらの要素の任意の組合せが、カメラモジュール１０３などの負荷に電力を提供する。電源は、交流（「ＡＣ」）であっても、直流（「ＤＣ」）であってもよい。いくつかの実現化例では、電源は、ＤＣ電源に変換されるＡＣ電源であってもよい。たとえば、発電機または壁付コンセントからのＡＣ電圧は、ＤＣ電圧をカメラモジュール１０３に提供するために電力創出器を通ってルーティングされる。電源はまた、電源を１つ以上の負荷に適合する電圧レベルへと改良するための電力低減要素を含んでいてもよい。ＡＣ電圧については、電力低減要素は、ＡＣ電圧を降圧するように構成された１つ以上の降圧変圧器、または任意の他の要素、または要素の組合せを含んでいてもよい。ＤＣ電圧については、電力低減要素は、ＤＣ電圧を降圧するように構成された１つ以上の直列電圧降下抵抗器、分圧器網、または任意の他の要素、または要素の組合せを含んでいてもよい。たとえば、発電機または壁付コンセントからのＡＣ電圧は、ＤＣ電圧を提供するために電力創出器を通ってルーティングされ、このＤＣ電圧は、カメラモジュールに電力を供給するのに適切なレベルまでＤＣ電圧を降下させるために、１つ以上の直列電圧降下抵抗器を通ってルーティングされる。
【００３４】
いくつかの実施形態では、カメラモジュール１０３の外側ケースは、カメラモジュール１０３における熱が、他の材料を使用する場合よりも効率的に放散されるように、金属などの熱伝導材料で作られてもよい。いくつかの実施形態では、各カメラモジュール１０３は、熱放散要素を含んでいてもよい。熱放散要素の例は、ヒートシンク、ファン、および熱放散パテを含むものの、それらに限定されない。
【００３５】
図１に示されるように、カメラモジュール１０３ａは、プロセッサ１０７ａと、メモリ１０９ａと、センサ１１１ａと、レンズ１１３ａと、ＩＳＰ１１５ａと、スイッチ１１７と、ステータスインジケータ１１９ａとを含む。
【００３６】
プロセッサ１０７ａは、計算を行ない、電子表示信号を表示装置に提供するための算術論理演算ユニット、マイクロプロセッサ、汎用コントローラ、または何らかの他のプロセッサアレイを含んでいてもよい。プロセッサ１０７ａはデータ信号を処理してもよく、複雑命令セットコンピュータ（complex instruction set computer：ＣＩＳＣ）アーキテクチャ、縮小命令セットコンピュータ（reduced instruction set computer：ＲＩＳＣ）アーキテクチャ、または命令セットの組合せを実現するアーキテクチャを含むさまざまなコンピューティングアーキテクチャを含んでいてもよい。カメラモジュール１０３ａには単一のプロセッサが図示されているが、カメラモジュール１０３ａは複数のプロセッサを含んでいてもよい。
【００３７】
メモリ１０９ａは、ここに説明される機能性を提供するためにデータを格納する非一時的メモリを含む。メモリ１０９ａは、ダイナミックランダムアクセスメモリ（dynamic random access memory：ＤＲＡＭ）装置、スタティックランダムアクセスメモリ（static random access memory：ＳＲＡＭ）装置、フラッシュメモリ、または何らかの他のメモリ装置であってもよい。いくつかの実施形態では、メモリ１０９ａは、カメラモジュール１０３ａによって取り込まれた未加工映像データ（たとえば画像フレーム）を格納するための１つ以上のカメラメモリカードを含んでいてもよい。例示的なメモリカードは、セキュアデジタル（secure digital：ＳＤ）メモリカード、セキュアデジタル大容量（secure digital high capacity：ＳＤＨＣ）メモリカード、セキュアデジタル拡張容量（secure digital extra capacity：ＳＤＸＣ）メモリカード、およびコンパクトフラッシュ（compact flash：ＣＦ）（登録商標）メモリカードなどを含むものの、それらに限定されない。
【００３８】
センサ１１１ａは、物理的変化を感知する任意の装置である。たとえば、センサ１１１ａは、光学像を電気信号に変換する装置であってもよい。たとえば、センサ１１１は光を取り込み、取り込まれた光を電気信号に変換する。例示的なセンサ１１１ａは、半導体電荷結合素子（charge-coupled device：ＣＣＤ）、相補型金属酸化膜半導体（complementary metal oxide semiconductor：ＣＭＯＳ）およびＮ型金属酸化膜半導体（ＮＭＯＳ、ライブＭＯＳ）におけるアクティブ画素センサなどを含むものの、それらに限定されない。他の例示的なセンサ１１１ａが可能である。
【００３９】
いくつかの実施形態では、センサ１１１ａは奥行きセンサを含んでいてもよい。いくつかの実施形態では、奥行きセンサは、赤外線レーザ光のスペックルパターンといった構造化された光を使用して奥行きを判断する。たとえば、奥行きセンサは、プライムセンス（PrimeSense）の奥行きセンサを含んでいてもよい。別の実施形態では、奥行きセンサは、光信号がカメラと被写体との間を移動するのにかかる時間に基づいて奥行きを判断する飛行時間技術を使用して奥行きを判断する。奥行きセンサは、奥行きマップを求めるために使用されてもよい。
【００４０】
一実施形態では、センサ１１１ａは動作検出器である。たとえば、センサ１１１ａは、カメラモジュール１０３ａの配向を測定するジャイロスコープである。別の例では、センサ１１１ａは、カメラモジュール１０３ａの加速を測定するために使用される加速度計である。さらに別の例では、センサ１１１ａは、全地球測位システム（global positioning system：ＧＰＳ）、無線ネットワークを介した三角測量による位置検出などの位置検出を含む。
【００４１】
別の実施形態では、センサ１１１ａは、音声を記録するためのマイクロホンを含む。カメラアレイ１０１が別個のマイクロホンを有していても、各カメラモジュール１０３にマイクロホンを含めることは、３Ｄ映像とともに再生するための３Ｄ音声を生成するために有益であり得る。
【００４２】
レンズ１１３ａは、光を伝えて屈折させ、光線を集束または発散させることができる光学装置であってもよい。たとえば、レンズ１１３ａはカメラレンズであってもよい。
【００４３】
画像信号プロセッサ（image signal processor：ＩＳＰ）１１５ａは、センサ１１１ａから電気信号を受信し、その電気信号から画素の色を判断するためにデモザイク処理を行なう。いくつかの実施形態では、ＩＳＰは、オートフォーカス、露光、およびホワイトバランスを制御する。いくつかの実施形態では、ＩＳＰ１１５ａは、より速い送信のために未加工映像データを圧縮する。いくつかの他の実施形態では、未加工映像データは集約システム１３１によって圧縮される。ＩＳＰは、カメラモジュール１０３の装置識別子（たとえばシリアルナンバー）を未加工映像データに埋め込む。ＩＳＰ１１５ａは交換可能であってもよい。
【００４４】
いくつかの実施形態では、ＩＳＰ１１５ａは、画像フレームに関連付けられた属性と、画像ファイルに対して行なわれた任意の画像処理とを含む、各フレームに関連付けられたメタデータログを生成する。たとえば、メタデータファイルは、どんな種類の露光および色処理が使用されたかを含む。
【００４５】
スイッチ１１７は、カメラモジュール１０３ａの動作を制御するための装置であってもよい。たとえば、スイッチ１１７は、カメラモジュール１０３ａの開始動作および停止動作を制御するために使用されるマイクロスイッチまたはボタンを含む。スイッチ１１７は、カメラモジュール１０３ａの外部にあり、ユーザによって作動されてもよい。別の実施形態では、スイッチ１１７は、カメラモジュール１０３ａの内部にある。
【００４６】
いくつかの実現化例では、スイッチ１１７は無線で制御される。たとえば、スイッチ１１７は、狭域通信（dedicated short-range communication：ＤＳＲＣ）、ワイヤレス・フィデリティ（「ＷｉＦｉ」）、Bluetooth（登録商標）、または任意の他の無線通信プロトコルを介して制御されてもよい。いくつかの実現化例では、スイッチ１１７は、有形のハードウェア装置である。他の実現化例では、スイッチ１１７は、有形の非一時的メモリに格納され、１つ以上のプロセッサによって実行されるコードおよびルーチンである。たとえば、スイッチ１１７は、有形の非一時的メモリに格納され、有線または無線通信連結器を介してプロセッサベースのコンピューティング装置によって制御されるコードおよびルーチンであってもよい。スイッチ１１７のコードおよびルーチンを格納する有形の非一時的メモリは、有線または無線通信連結器を介してスイッチ１１７を制御するプロセッサベースのコンピューティング装置の要素であってもなくてもよい。
【００４７】
以下により詳細に説明されるように、カメラモジュール１０３ａは、カメラアレイ１０１のマスターカメラモジュールであってもよく、同じカメラアレイ１０１における他のカメラモジュール１０３の動作を制御してもよい。たとえば、カメラアレイ１０１におけるすべてのカメラモジュール１０３が、未加工映像データの記録をそれぞれ同時に開始するように同期されるように、カメラモジュール１０３ａにおける開始動作の起動が、他のカメラモジュール１０３における開始動作の起動も引き起こしてもよい。カメラアレイ１０１におけるすべてのカメラモジュール１０３が、映像データの記録をそれぞれ同時に停止するように同期されるように、カメラモジュール１０３ａにおける停止動作の起動が、他のカメラモジュール１０３における停止動作の起動も引き起こしてもよい。
【００４８】
その結果、スイッチ１１７は、カメラモジュール１０３ａの動作を制御するだけでなく、カメラアレイ１０１における他のカメラモジュール１０３の動作も同時に制御する。たとえば、ユーザは、カメラアレイ１０１におけるカメラモジュール１０３を使用して映像データの記録を開始するために、スイッチ１１７を初めて押してもよい。ユーザは、カメラアレイ１０１を使用した映像データの記録を停止するために、スイッチ１１７を２度目に押してもよい。
【００４９】
ステータスインジケータ１１９ａは、カメラモジュール１０３ａのステータスを示すように構成された装置であってもよい。カメラモジュール１０３ａのステータスは、正常ステータスおよび不良ステータスのうちの１つであってもよい。たとえば、カメラモジュール１０３ａが適切に機能する場合、ステータスインジケータ１１９ａは、カメラモジュール１０３ａの正常ステータスを示す。しかしながら、カメラモジュール１０３ａで不良が生じた場合、ステータスインジケータ１１９ａは、カメラモジュール１０３ａの不良ステータスを示してもよい。たとえば、メモリ１０９ａにおける格納空間がいっぱいで、カメラモジュール１０３ａによって取り込まれた映像データがこれ以上メモリ１０９ａに格納されないことを示す場合、ステータスインジケータ１１９ａは、カメラモジュール１０３ａで不良が生じたことを示す不良ステータスを示してもよい。ステータスインジケータはまた、たとえばカメラが起動していること、または停止していることを示す他のステータスを示してもよい。
【００５０】
いくつかの実施形態では、ステータスインジケータ１１９ａは、発光ダイオード（ＬＥＤ）を含んでいてもよい。ステータスインジケータ１１９ａが正常ステータスを示す場合、ＬＥＤは光を放射してもよい。それに代えて、ステータスインジケータ１１９ａが不良ステータスを示す場合、ＬＥＤは光を放射しなくてもよい。いくつかの実施形態では、ＬＥＤは、異なるステータスを示すために、複数の色の光を放射してもよく、または異なるレートで光を放射してもよい。
【００５１】
カメラモジュール１０３ｂは、プロセッサ１０７ｂと、メモリ１０９ｂと、センサ１１１ｂと、レンズ１１３ｂと、ステータスインジケータ１１９ｂとを含む。カメラモジュール１０３ｎは、プロセッサ１０７ｎと、メモリ１０９ｎと、センサ１１１ｎと、レンズ１１３ｎと、ステータスインジケータ１１９ｎとを含む。プロセッサ１０７ｂおよび１０７ｎはプロセッサ１０７ａと同様であり、メモリ１０９ｂおよび１０９ｎはメモリ１０９ａと同様であり、センサ１１１ｂおよび１１１ｎはセンサ１１１ａと同様であり、レンズ１１３ｂおよび１１３ｎはレンズ１１３ａと同様であり、ステータスインジケータ１１９ｂおよび１１９ｎはステータスインジケータ１１９ａと同様である。説明はここでは繰り返さない。
【００５２】
カメラアレイ１０１におけるカメラモジュール１０３ａ、１０３ｂ…１０３ｎは、カメラモジュール１０３ａ、１０３ｂ…１０３ｎが順に接続されているデイジーチェーンを形成してもよい。たとえば、カメラモジュール１０３ａはカメラモジュール１０３ｂに接続され、それはカメラモジュール１０３ｎに接続され、それはカメラモジュール１０３ａに接続されることによってリングを完成させる。以下により詳細に説明されるように、カメラアレイ１０１におけるカメラモジュール１０３ａ、１０３ｂ…１０３ｎは、デイジーチェーンを通して同期される。デイジーチェーンにおける１つのカメラモジュール１０３（たとえば、第１のカメラモジュール１０３ａ）は、カメラアレイ１０１における他のカメラモジュールのためのクロック信号を制御することによって、カメラアレイ１０１が１つのエンティティとして作用できるようにするマスターカメラモジュールとして構成されてもよい。クロック信号は、カメラアレイ１０１におけるカメラモジュール１０３の動作を同期させるために使用されてもよい。マスターカメラモジュールは、マスターカメラモジュールの動作、および、同じカメラアレイ１０１における他のカメラモジュール１０３の動作を制御するためのスイッチを含む。たとえば、図１に示すように、カメラモジュール１０３ａは、カメラアレイ１０１におけるカメラモジュールの動作を制御するためのスイッチ１１７を含むマスターカメラモジュールである。別の実施形態では、カメラモジュールは双方向通信を行なう。
【００５３】
マスターカメラモジュール１０３ａは、カメラモジュール１０３ｂの開始動作または停止動作を制御するために、信号線１１４を介してカメラモジュール１０３ｂに接続される。たとえば、カメラモジュール１０３ａが映像データの記録を開始すると、クロック信号が信号線１１４を介してカメラモジュール１０３ｂに送信されてもよく、カメラモジュール１０３ａおよびカメラモジュール１０３ｂはそれぞれ同時に映像データの記録を開始するようになる。カメラモジュール１０３ａが映像データの記録を停止すると、カメラモジュール１０３ｂにはクロック信号が送信されず、カメラモジュール１０３ａおよびカメラモジュール１０３ｂはそれぞれ同時に映像データの記録を停止するようになる。
【００５４】
一実施形態では、マスターカメラモジュール１０３ａは、信号線１１４を介してカメラモジュール１０３ｂと直接通信する。別の実施形態では、マスターカメラモジュール１０３ａは接続ハブ１２３と通信し、それがラップトップなどのクライアント装置１２７に接続され、それは接続ハブ１２３を通してカメラモジュール１０３ｂに命令を通信する。
【００５５】
カメラモジュール１０３ｂは、デイジーチェーンにおける次のカメラモジュール１０３の動作がクロック信号によってカメラモジュール１０３ｂと同期されるように、カメラモジュール１０３ｂから次のカメラモジュール１０３にクロック信号を供給するために、信号線１１６を介して次のカメラモジュール１０３に接続される。カメラモジュール１０３ｎは、カメラモジュール１０３ｎの動作がクロック信号によってデイジーチェーンにおける前のカメラモジュール１０３と同期されるように、前のカメラモジュール１０３からクロック信号を得るために、信号線１１８を介して前のカメラモジュール１０３に接続される。
【００５６】
その結果、カメラアレイ１０１におけるカメラモジュール１０３ａ、１０３ｂ…１０３ｎの動作（たとえば開始動作、停止動作）は同期され、カメラモジュール１０３ａ、１０３ｂ…１０３ｎによって取り込まれたそれぞれの映像データにおける画像フレームも同期される。マスターカメラモジュール１０３ａにおける開始動作（または停止動作）の起動は、カメラアレイ１０１における他のすべてのカメラモジュール１０３の開始動作（または停止動作）の起動を同時に引き起こしてもよい。このため、カメラモジュール１０３ａ、１０３ｂ…１０３ｂによって形成されたデイジーチェーンは、カメラモジュール１０３ａ、１０３ｂ…１０３ｎの開始動作および停止動作を同期させるように構成されてもよく、カメラモジュール１０３ａ、１０３ｂ…１０３ｎによって取り込まれた画像フレームが同期されるようにする。カメラモジュール１０３ａ、１０３ｂ…１０３ｎにおけるクロック信号は、カメラアレイ１０１におけるカメラモジュール１０３ａ、１０３ｂ…１０３ｎがそれぞれ１秒あたり６０個の画像フレームを取り込むように、６０Ｈｚの周波数を有していてもよい。
【００５７】
いくつかの実施形態では、全体ステータスインジケータ１２１が、カメラモジュール１０３のうちの１つに接続されて、カメラモジュール１０３のうちの少なくとも１つのステータスまたはカメラアレイ１０１の全体的なステータスを示してもよい。これは、ハートビートモニタリングとも呼ばれてもよい。たとえば、全体ステータスインジケータ１２１は、信号線１２０を介してカメラモジュール１０３ｎに接続されてもよい。カメラモジュール１０３ｎから全体ステータスインジケータ１２１にクロック信号が供給されてもよい。カメラアレイ１０１の全体的なステータスは、正常ステータスおよび不良ステータスのうちの１つであってもよい。たとえば、カメラアレイ１０１におけるすべてのカメラモジュール１０３に不良がない場合、全体ステータスインジケータ１２１は、カメラアレイ１０１について正常ステータスを示す。
【００５８】
しかしながら、カメラアレイ１０１におけるカメラモジュール１０３のうちの少なくとも１つに不良が生じた場合、全体ステータスインジケータ１２１は、カメラアレイ１０１について不良ステータスを示す。たとえば、カメラモジュール１０３ｂが過熱したかメモリカードがいっぱいだったために、カメラモジュール１０３ｂが誤動作したと仮定する。カメラモジュール１０３ｂにおけるステータスインジケータ１１９ｂは、カメラモジュール１０３ｂについて不良ステータスを示してもよく、全体ステータスインジケータ１２１は、カメラアレイ１０１について全体不良ステータスを示してもよい。ステータスインジケータ１１９と全体ステータスインジケータ１２１との組合せを使用することにより、カメラアレイ１０１の全体的なステータスおよびカメラモジュール１０３の個別のステータスがいつでも監視され得る。いくつかの実施形態では、全体ステータスインジケータ１２１および個別ステータスインジケータ１１９は、単一のディスプレイの一部である。
【００５９】
いくつかの実施形態では、全体ステータスインジケータ１２１は計数を行なう。たとえば、全体ステータスインジケータ１２１は、カメラアレイ１０１において使用可能なカメラモジュール１０３の数をカウントする。
【００６０】
カメラモジュール１０３は接続ハブ１２３に結合されてもよい。たとえば、カメラモジュール１０３ａは、信号線１０２を介して接続ハブ１２３に通信可能に結合される。カメラモジュール１０３ｂは、信号線１０４を介して接続ハブ１２３に通信可能に結合される。カメラモジュール１０３ｎは、信号線１０６を介して接続ハブ１２３に通信可能に結合される。信号線１０２、１０４、および１０６の各々は、有線接続（たとえば、画像データを送信するためのＵＳＢケーブル、イーサネット（登録商標）ケーブル、ＨＤＭＩ（登録商標）ケーブル、ＲＣＡケーブル、ファイヤーワイヤ（Firewire）、カメラリンク（CameraLink）、サンダーボルト（Thunderbolt）またはカスタムバス）、もしくは無線接続（たとえば、ワイヤレス・フィデリティ（Ｗｉ−Ｆｉ）、Bluetooth（登録商標）など）を表わしていてもよい。
【００６１】
接続ハブ１２３は、それぞれのカメラモジュール１０３から、画像フレームを記述する未加工映像データのストリームを受信し、集約してもよい。未加工映像データは圧縮されてもよい。いくつかの実施形態では、接続ハブ１２３は、未加工映像データが格納されるメモリカードまたは他の非一時的メモリを含む。接続ハブ１２３は次に、未加工映像データをクライアント装置１２７に転送してもよい。いくつかの例では、接続ハブ１２３はＵＳＢハブであってもよい。いくつかの実施形態では、未加工映像データは接続ハブを通ってクライアント装置１２７にストリーミングされる。他の例では、ユーザは、ハブ１２３からメモリカードを手動で取り外し、メモリカードから未加工映像データをクライアント装置１２７へと抽出してもよい。
【００６２】
いくつかの実施形態では、接続ハブ１２３は、カメラアレイ１０１におけるカメラモジュール１０３に電力を供給するための１つ以上のバッテリ１２５を含む。それに代えて、またはそれに加えて、カメラモジュール１０３に電力を供給するために、１つ以上のバッテリ１２５が接続ハブ１２３に結合されてもよい。
【００６３】
クライアント装置１２７は、プロセッサベースのコンピューティング装置であってもよい。たとえば、クライアント装置１２７は、パーソナルコンピュータ、ラップトップ、タブレットコンピューティング装置、スマートフォン、セットトップボックス、ネットワーク対応テレビ、または任意の他のプロセッサベースのコンピューティング装置であってもよい。図示された実施形態では、クライアント装置１２７は、信号線１０８を介して接続ハブ１２３に結合される。いくつかの実施形態では、クライアント装置１２７はネットワーク機能性を含み、信号線１１０を介してネットワーク１０５に通信可能に結合される。クライアント装置１２７は、ネットワーク１０５を介してデータをサーバ１２９に送信するように、またはデータをサーバ１２９から受信するように構成されてもよい。いくつかの実施形態では、クライアント装置１２７は、３Ｄ映像データを形成するためにカメラモジュール１０３によって取り込まれた未加工映像データを集約するための集約システム１３１を含む。それに代えて、またはそれに加えて、集約システム１３１は、サーバ１２９上で動作可能であってもよい。
【００６４】
集約システム１３１は、プロセッサによって実行されると、３Ｄ映像データを形成するためにカメラモジュール１０３から受信された未加工映像データ（たとえば画像フレーム）を集約する１組のコードおよびルーチンを含んでいてもよい。集約システム１３１は、未加工映像データを処理して３Ｄ映像データの圧縮されたストリームを生成するように構成されてもよい。いくつかの実施形態では、３Ｄ映像の圧縮されたストリームは、１つ以上のパケットを含んでいてもよい。３Ｄ映像データは、ＶＲディスプレイまたは別の好適なディスプレイ上での再生のために構成されてもよい。３Ｄ映像データは、あるシーンの立体パノラマを記述してもよい。
【００６５】
図２を参照して以下に説明されるように、集約システム１３１は、映像および音声モジュール２０８を含む。映像および音声モジュール２０８は、カメラアレイ１０１におけるカメラモジュール１０３から受信された未加工映像データに基づいて、３Ｄ映像データを生成してもよい。カメラアレイ１０１は、いくつかの実施形態では３６０度の球全体をほぼ覆う、あるシーンの映像データまたは画像を複数の方向またはビューから取り込むための複数のカメラモジュール１０３を含んでいてもよい。さまざまなビューは、映像および音声モジュール２０８が立体画像を生成し、レンダリングするのに十分な視差を提供する。これらのおよび他の実施形態では、映像および音声モジュール２０８は、３Ｄ映像データによって記述される３Ｄパノラマを形成するために画像をつなぎ合わせるためのつなぎ合わせアルゴリズムを含んでいてもよい。たとえば、映像および音声モジュール２０８は、複数のカメラからの映像を、左目視および右目視のための２つの大型フォーマットのパノラマ映像ストリームになるようにつなぎ合わせてもよい。
【００６６】
いくつかの実施形態では、集約システム１３１は、映像データをフィルタリングしてその品質を向上させるように構成されたコードおよびルーチンを含む。集約システム１３１はまた、映像の見た目を映像効果を用いて意図的に変更するためのコードおよびルーチンを含んでいてもよい。集約システム１３１については、図２を参照して以下により詳細に説明する。いくつかの実施形態では、集約システム１３１は、３Ｄ音声データを生成するために、カメラアレイ１０１に関連付けられたマイクロホンおよび／またはカメラモジュール１０３に関連付けられたマイクロホンからの音を処理するためのアルゴリズムを含む。
【００６７】
サーバ１２９は、プロセッサと、メモリと、ネットワーク通信能力とを含むハードウェアサーバであってもよい。図示された実現化例では、サーバ１２９は、信号線１１２を介してネットワーク１０５に結合される。サーバ１２９は、ネットワーク１０５を介して、システム１００の他のエンティティのうちの１つ以上との間でデータを送受信する。たとえば、サーバ１２９は、クライアント装置１２７から３Ｄ映像データ（または圧縮された３Ｄ映像データ）を受信し、その３Ｄ映像データを、サーバ１２９に関連付けられたストレージに格納する。いくつかの実施形態では、サーバ１２９は、クライアント装置１２７から未加工映像データを受信し、３Ｄ映像データを作成するためにその未加工映像データを集約するための集約システム１３１を含む。
【００６８】
ネットワーク１０５は、有線または無線の従来のタイプのものであってもよく、星型構成、トークンリング構成、または他の構成を含む多くの異なる構成を有していてもよい。さらに、ネットワーク１０５は、複数の装置が通信し得る、ローカルエリアネットワーク（local area network：ＬＡＮ）、ワイドエリアネットワーク（wide area network：ＷＡＮ）（たとえばインターネット）、または他の相互接続されたデータ経路を含んでいてもよい。いくつかの実施形態では、ネットワーク１０５はピアツーピアネットワークであってもよい。ネットワーク１０５はまた、さまざまな異なる通信プロトコルでデータを送信するための電気通信ネットワークの一部に結合されるか、または電気通信ネットワークの一部を含んでいてもよい。いくつかの実施形態では、ネットワーク１０５は、ショートメッセージングサービス（short messaging service：ＳＭＳ）、マルチメディアメッセージングサービス（multimedia messaging service：ＭＭＳ）、ハイパーテキスト転送プロトコル（hypertext transfer protocol：ＨＴＴＰ）、直接データ接続、ＷＡＰ、電子メールなどを介することを含む、データを送受信するためのBluetooth（登録商標）通信ネットワークまたはセルラー通信ネットワークを含んでいてもよい。
【００６９】
いくつかの実施形態では、システム１００は加えて、鑑賞システム（図示せず）を含んでいてもよい。鑑賞システムは、ＶＲディスプレイ上で映像を復号してレンダリングし、ユーザが頭の向きを変えるにつれて出力を調節する。鑑賞システムは、オキュラス・リフト（Oculus Rift）ＶＲディスプレイまたは他の好適なＶＲディスプレイ上で映像を復号してレンダリングするために、コンピュータを含むかまたは使用してもよい。
【００７０】
ここで図２を参照して、ここに説明される少なくとも１つの実施形態に従った集約システム１３１の一例を図示する。図２は、集約システム１３１と、メモリ２３７と、プロセッサ２３５と、通信部２４５と、記憶装置２４１とを含むコンピューティング装置２００のブロック図である。コンピューティング装置２００の構成要素は、バス２２０によって通信可能に結合される。いくつかの実施形態では、コンピューティング装置２００は、クライアント装置１２７、サーバ１２９、または別のコンピューティング装置のうちの１つであってもよい。
【００７１】
プロセッサ２３５は、計算を行ない、電子表示信号を表示装置に提供するための、算術論理演算ユニット、マイクロプロセッサ、汎用コントローラ、または何らかの他のプロセッサアレイを含んでいてもよい。プロセッサ２３５は、他の構成要素との通信のために信号線２３８を介してバス２２０に結合される。プロセッサ２３５はデータ信号を処理してもよく、複雑命令セットコンピュータ（ＣＩＳＣ）アーキテクチャ、縮小命令セットコンピュータ（ＲＩＳＣ）アーキテクチャ、または命令セットの組合せを実現するアーキテクチャを含むさまざまなコンピューティングアーキテクチャを含んでいてもよい。図２は単一のプロセッサ２３５を含むが、複数のプロセッサが含まれていてもよい。他のプロセッサ、オペレーティングシステム、センサ、ディスプレイ、および物理的構成が可能であってもよい。
【００７２】
メモリ２３７は、ここに説明される機能性を提供するためにデータを格納する非一時的メモリを含む。メモリ２３７は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）装置、スタティックランダムアクセスメモリ（ＳＲＡＭ）装置、フラッシュメモリ、または何らかの他のメモリ装置であってもよい。いくつかの実施形態では、メモリ２３７はまた、より永続的に情報を格納するための、ハードディスクドライブ、フロッピー（登録商標）ディスクドライブ、ＣＤ−ＲＯＭ装置、ＤＶＤ−ＲＯＭ装置、ＤＶＤ−ＲＡＭ装置、ＤＶＤ−ＲＷ装置、フラッシュメモリ装置、または何らかの他の大容量記憶装置を含む、不揮発性メモリまたは同様の永続的記憶装置および媒体を含む。メモリ２３７は、集約システム１３１がその機能性を提供するために必要なコード、ルーチンおよびデータを格納してもよい。メモリ２３７は、信号線２４４を介してバス２２０に結合される。
【００７３】
通信部２４５は、図１に示すシステム１００を構成するエンティティのうちのいずれかにデータを送信してもよい。同様に、通信部２４５は、図１に示すシステム１００を構成するエンティティのうちのいずれかからデータを受信してもよい。通信部２４５は、信号線２４６を介してバス２２０に結合される。いくつかの実施形態では、通信部２４５は、図１のネットワーク１０５などのネットワークへの、または別の通信チャネルへの直接的な物理的接続のためのポートを含む。たとえば、通信部２４５は、クライアント装置との有線通信のためのＵＳＢ、ＳＤ、ＲＪ４５、または同様のポートなどのポートを含んでいてもよい。いくつかの実施形態では、通信部２４５は、ＩＥＥＥ８０２．１１、ＩＥＥＥ８０２．１６、BLUETOOTH（登録商標）、または別の好適な無線通信方法を含む１つ以上の無線通信方法を使用してクライアント装置または他の通信チャネルとデータを交換するための無線トランシーバを含む。
【００７４】
いくつかの実施形態では、通信部２４５は、ショートメッセージングサービス（ＳＭＳ）、マルチメディアメッセージングサービス（ＭＭＳ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、直接データ接続、ＷＡＰ、電子メール、または別の好適なタイプの電子通信を介することを含むセルラー通信ネットワーク上でデータを送受信するためのセルラー通信トランシーバを含む。いくつかの実施形態では、通信部２４５は、有線ポートと無線トランシーバとを含む。通信部２４５はまた、ＴＣＰ／ＩＰ、ＨＴＴＰ、ＨＴＴＰＳおよびＳＭＴＰなどを含む標準ネットワークプロトコルを使用したデータの配信のための、ネットワークへの他の従来の接続を提供する。
【００７５】
記憶装置２４１は、ここに説明される機能性を提供するためにデータを格納する非一時的記憶媒体であり得る。記憶装置２４１は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）装置、スタティックランダムアクセスメモリ（ＳＲＡＭ）装置、フラッシュメモリ、または何らかの他のメモリ装置であってもよい。いくつかの実施形態では、記憶装置２４１はまた、より永続的に情報を格納するための、ハードディスクドライブ、フロッピー（登録商標）ディスクドライブ、ＣＤ−ＲＯＭ装置、ＤＶＤ−ＲＯＭ装置、ＤＶＤ−ＲＡＭ装置、ＤＶＤ−ＲＷ装置、フラッシュメモリ装置、または何らかの他の大容量記憶装置を含む、不揮発性メモリまたは同様の永続的記憶装置および媒体を含む。記憶装置２４１は、信号線２４２を介してバス２２０に通信可能に結合される。いくつかの実施形態では、記憶装置２４１は、メモリ２３７に一時的に格納されたデータを格納してもよい。
【００７６】
図２に示す実現化例では、集約システム１３１は、通信モジュール２０２と、較正モジュール２０４と、不良検出モジュール２０６と、映像および音声モジュール２０８と、補正モジュール２１０と、アクセスモジュール２１２と、ユーザインターフェイスモジュール２１４とを含む。集約システム１３１のこれらの構成要素は、バス２２０を介して互いに通信可能に結合される。
【００７７】
通信モジュール２０２は、集約システム１３１とコンピューティング装置２００の他の構成要素との間の通信を扱うためのルーチンを含むソフトウェアであり得る。いくつかの実施形態では、通信モジュール２０２は、集約システム１３１とコンピューティング装置２００の他の構成要素との間の通信を扱うための以下に説明される機能性を提供するためにプロセッサ２３５によって実行可能である１組の命令であり得る。いくつかの実施形態では、通信モジュール２０２は、コンピューティング装置２００のメモリ２３７に格納可能であり、プロセッサ２３５によってアクセス可能および実行可能であり得る。通信モジュール２０２は、信号線２２２を介してプロセッサ２３５およびコンピューティング装置２００の他の構成要素と協働および通信するために適合されてもよい。
【００７８】
通信モジュール２０２は、集約システム１３１がどこに格納されるかに依存して、接続ハブ１２３、クライアント装置１２７、およびサーバ１２９のうちの１つ以上との間で通信部２４５を介してデータを送受信する。たとえば、通信モジュール２０２は、通信部２４５を介して接続ハブ１２３から未加工映像データを受信し、その未加工映像データを映像および音声モジュール２０８に送信する。別の例では、通信モジュール２０２は、通信モジュール２０２がスイッチ１１７に送信する、カメラモジュール１０３を開始および停止させるための命令を、映像および音声モジュール２０８から受信する。
【００７９】
いくつかの実施形態では、通信モジュール２０２は、集約システム１３１の構成要素からデータを受信し、そのデータを記憶装置２４１およびメモリ２３７のうちの１つ以上に格納する。いくつかの実施形態では、通信モジュール２０２は、記憶装置２４１またはメモリ２３７からデータを検索し、そのデータを集約システム１３１の１つ以上の構成要素に送信する。いくつかの実施形態では、通信モジュール２０２は、集約システム１３１の構成要素間の通信を扱ってもよい。たとえば、通信モジュール２０２は、補正モジュール２１０から色補正後の３Ｄ映像データを受信し、その３Ｄ映像データをアクセスモジュール２１２に送信する。
【００８０】
較正モジュール２０４は、カメラアレイ１０１を較正するためのルーチンを含むソフトウェアであり得る。いくつかの実施形態では、較正モジュール２０４は、カメラアレイ１０１を較正するための以下に説明される機能性を提供するためにプロセッサ２３５によって実行可能である１組の命令であり得る。いくつかの実施形態では、較正モジュール２０４は、コンピューティング装置２００のメモリ２３７に格納可能であり、プロセッサ２３５によってアクセス可能および実行可能であり得る。較正モジュール２０４は、信号線２２４を介してプロセッサ２３５およびコンピューティング装置２００の他の構成要素と協働および通信するために適合されてもよい。
【００８１】
いくつかの実施形態では、較正モジュール２０４は、カメラアレイ１０１におけるカメラモジュール１０３ごとに装置識別子を識別して、カメラアレイ１０１における各カメラモジュール１０３の相対位置を識別するために幾何学的較正を行なうように構成されてもよい。装置識別子は、映像ファイルの一部である装置またはレンズシリアルナンバーを含んでいてもよい。較正モジュール２０４は、生産時および搭載中の機械的公差に起因するわずかな変動を補正するために幾何学的較正を行なう。たとえば、カメラモジュール１０３は、カメラモジュール１１５をカメラアレイ１０１に装着するかまたは製造する際に生じる人為ミスに起因するカメラ配向のわずかな変動を含む場合がある。いくつかの実施形態では、較正モジュール２０４は、記録された較正済対象画像に関する情報を特殊な装備を使用して受信することによって幾何学的較正を行ない、それに応じて値を調節する。いくつかの他の実施形態では、較正モジュール２０４は、映像コンテンツを使用して映像が記録された後で幾何学的較正を行なう。
【００８２】
いくつかの実施形態では、較正モジュール２０４は、外部マーカーに関する入力（たとえば、外部マーカーの座標）を受信し、それらの入力に基づいてカメラモジュール１０３を較正してもよい。較正モジュール２０４は、各カメラモジュール１０３によって取り込まれた画像を分析し、画像に存在するエラーを判断し、対応するカメラモジュール１０３を較正するために使用される較正因子を求めてもよい。較正因子は、対応するカメラモジュール１１５によって取り込まれた画像を、画像がより少ないエラーを含むように自動的に修正するために使用されるデータを含んでいてもよい。いくつかの実施形態では、較正因子は、ユーザが３Ｄ映像コンテンツを消費する間に検出可能なエラーを画像が含まないように、較正モジュール２０４によって画像に適用される。たとえば、較正モジュール２０４は、較正エラーによって生じた画像における欠陥を検出してもよい。較正モジュール２０４は、欠陥に関連付けられた１つ以上の画素を判断してもよい。較正モジュール２０４は、これらの画素に関連付けられた画素値を判断し、次に、欠陥が補正されるように較正因子を使用して画素値を修正してもよい。
【００８３】
いくつかの実施形態では、較正モジュール２０４は、外部較正ボックスによって判断されるカメラレンズひずみに関する情報を有する構成ファイルを受信する。
【００８４】
いくつかの実施形態では、較正因子はまた、カメラアレイ１０１におけるカメラモジュール１０３の較正欠陥を手動で補正するために較正因子を使用するカメラアレイ１０１のアドミニストレータに提供されてもよい。いくつかの他の実施形態では、カメラモジュール１０３ごとに、位置および回転オフセットが記憶ファイルに保存される。
【００８５】
不良検出モジュール２０６は、カメラアレイ１０１における不良カメラモジュール１０３を検出するためのルーチンを含むソフトウェアであり得る。いくつかの実施形態では、不良検出モジュール２０６は、カメラアレイ１０１における不良カメラモジュール１０３を検出するための以下に説明される機能性を提供するためにプロセッサ２３５によって実行可能である１組の命令であり得る。いくつかの実施形態では、不良検出モジュール２０６は、コンピューティング装置２００のメモリ２３７に格納可能であり、プロセッサ２３５によってアクセス可能および実行可能であり得る。不良検出モジュール２０６は、信号線２２６を介してプロセッサ２３５およびコンピューティング装置２００の他の構成要素と協働および通信するために適合されてもよい。
【００８６】
不良検出モジュール２０６は、全体ステータスインジケータ１２１を使用して、カメラアレイ１０１の全体的なステータスを監視する。すべてのカメラモジュール１０３が適切に機能する場合、全体ステータスインジケータ１２１は、カメラアレイ１０１の全体的なステータスを正常ステータスとして示してもよい。それに代えて、少なくとも１つのカメラモジュール１０３に不良が生じた場合、全体ステータスインジケータ１２１は、カメラアレイ１０１の全体的なステータスを不良ステータスとして示してもよい。不良が生じたことを全体的なステータスが示す場合、不良検出モジュール２０６は、カメラモジュール１０３のそれぞれの個別のステータスを、それぞれのステータスインジケータ１１９を使用して判断する。不良検出モジュール２０６は、不良ステータスに関連付けられたステータスインジケータ１１９を判断する。不良検出モジュール２０６は、不良ステータスを有するステータスインジケータ１１９に関連付けられたカメラモジュール１０３を、不良カメラモジュールとして判断する。たとえば、カメラモジュール１０３ｂにおけるメモリ１０９ｂがいっぱいである場合、全体ステータスインジケータ１２１およびステータスインジケータ１１９ｂの双方が不良ステータスを示してもよい。このため、不良検出モジュール２０６は、カメラモジュール１０３ｂを不良カメラモジュールとして判断する。不良がないと不良検出モジュール２０６が判断した場合、映像および音声モジュール２０８はカメラモジュール１０３に、記録を開始するよう命令してもよい。
【００８７】
映像および音声モジュール２０８は、３Ｄ映像を生成し、音声データを合成し、３Ｄ映像および音声データのストリームを生成するためのルーチンを含むソフトウェアであり得る。いくつかの実施形態では、映像および音声モジュール２０８は、３Ｄ映像および音声データのストリームを生成するための以下に説明される機能性を提供するためにプロセッサ２３５によって実行可能である１組の命令であり得る。いくつかの実施形態では、映像および音声モジュール２０８は、コンピューティング装置２００のメモリ２３７に格納可能であり、プロセッサ２３５によってアクセス可能および実行可能であり得る。映像および音声モジュール２０８は、信号線２８０を介してプロセッサ２３５およびコンピューティング装置２００の他の構成要素と協働および通信するために適合されてもよい。
【００８８】
いくつかの実施形態では、映像および音声モジュール２０８は、不良検出モジュール２０６から、カメラアレイ１０１に不良がないという徴候を受信する。次に、映像および音声モジュール２０８はマスターカメラモジュールに、記録を開始するよう命令する。映像および音声モジュール２０８は、カメラモジュール１０３から、画像フレームを記述する未加工映像データを受信する。ある時点で、映像および音声モジュール２０８は、マスターカメラモジュールにおいて停止動作を起動する。たとえば、映像および音声モジュール２０８は、ユーザからの手動入力、クロックに従った時間の満了などに応答して、停止動作を起動する。
【００８９】
映像および音声モジュール２０８は、カメラモジュール１０３から受信された未加工映像データに基づいて３Ｄ映像データを生成してもよい。たとえば、映像および音声モジュール２０８は、映像におけるフレーム同期信号に基づいて、ならびに、搭載されたマイクロホンおよび／または各カメラモジュール１０３におけるマイクロホンからの音声トラックを使用してマイクロホンからの音声トラックを時間整列させることによって、画像フレームをつなぎ合わせてもよい。いくつかの実施形態では、つなぎ合わせは、幾何学的較正にも基づいている。映像および音声モジュール２０８は、３Ｄ映像データによって記述される３Ｄパノラマを形成するために、カメラモジュール１０３によって取り込まれた画像をつなぎ合わせるためのつなぎ合わせアルゴリズムを含んでいてもよい。たとえば、映像モジュール２０８は、複数のカメラからの未加工映像データを、左目視および右目視のための２つの大型フォーマットのパノラマ映像ストリームになるようにつなぎ合わせてもよい。
【００９０】
映像および音声モジュール２０８は、複数のマイクロホンから音声を受信し、音声トラックに関連付けられたタイミングに基づいて音声を合成して、ユーザの頭の位置に基づいて変化する３Ｄ音声データを生成する。いくつかの実施形態では、映像および音声モジュール２０８は、３Ｄアンビソニックマイクロホンからの音声をスポットマイクロホンと混ぜて、十分に空間化された音響効果を作り出す。映像および音声モジュール２０８は、バイノーラル音声を生成する。いくつかの実施形態では、映像および音声モジュール２０８は、リアルタイムのバイノーラル音声を生成するために頭部伝達関数を使用する。いくつかの実施形態では、音声はドルビー（Dolby）（登録商標）AtmosTMに適合している。いくつかの実施形態では、映像および音声モジュール２０８は、パノラマ画像を表示するために３Ｄおよび音声データのストリームを生成する。
【００９１】
いくつかの実施形態では、映像および音声モジュール２０８は、異なる方向からの複数のビューからの画像を使用して立体パノラマを構築してもよい。たとえば、カメラアレイ１０１は、球の全３６０度の周りに配置された複数のレンズ１１３を有する複数のカメラモジュール１０３を含む。レンズ１１３は各々、異なる方向を指す。カメラモジュール１０３は球の３６０度の周りに配置され、シーンの画像を複数の視点から撮っているため、映像データは、異なる方向からの複数のビューを含む。結果として生じるパノラマ画像は、シーンの球状表現である。パノラマにおける各画素は、隣接する画素とはわずかに異なる方向のビューを表わしていてもよい。
【００９２】
いくつかの実施形態では、映像および音声モジュール２０８は、カメラモジュール１０３の場所に基づいて立体パノラマを生成する。たとえば、カメラモジュール１０３が互いにデイジーチェーン接続され、マスターカメラモジュールが他のカメラモジュール１０３に記録を開始するよう命令する場合、映像および音声モジュール２０８は、立体パノラマを構築するために、記録に関連付けられたタイムスタンプを使用する。
【００９３】
補正モジュール２１０は、カメラモジュール１０３によって取り込まれた画像における露光または色欠陥を検出し、補正するためのルーチンを含むソフトウェアであり得る。いくつかの実施形態では、補正モジュール２１０は、カメラモジュール１０３によって取り込まれた画像における露光または色欠陥を検出し、補正するための以下に説明される機能性を提供するためにプロセッサ２３５によって実行可能である１組の命令であり得る。いくつかの実施形態では、補正モジュール２１０は、コンピューティング装置２００のメモリ２３７に格納可能であり、プロセッサ２３５によってアクセス可能および実行可能であり得る。補正モジュール２１０は、信号線２２８を介してプロセッサ２３５およびコンピューティング装置２００の他の構成要素と協働および通信するために適合されてもよい。
【００９４】
たとえば、カメラモジュール１０３のレンズ１１３は異なる方向を指しているため、照明および色の状態が劇的に変わるかもしれない。カメラモジュール１０３のすべてのレンズ１１３が同一に構成される場合、いくつかの画像が露光不足または露光過多になるかもしれない。補正モジュール２１０は、露光または色欠陥を検出してもよい。補正モジュール２１０は、露光または色欠陥に関連付けられた１つ以上の画素を判断してもよい。補正モジュール２１０は、これらの画素に関連付けられた画素値を判断し、次に、クライアント装置を使用した３Ｄ映像コンテンツの消費中に露光または色欠陥がユーザによって検出できないように、画素値を修正してもよい。いくつかの実施形態では、カメラモジュール１０３は重複する視野を有し、カメラモジュール１０３によって取り込まれた画像における露光または色欠陥は、この重複を使用して補正または自動補正され得る。他の実施形態では、カメラモジュール１０３によって取り込まれた画像における露光または色欠陥は、公知の値のカラーチャートに基づいた較正を使用して補正され得る。
【００９５】
アクセスモジュール２１２は、３Ｄ映像データへのアクセスを提供するためのルーチンを含むソフトウェアであり得る。いくつかの実施形態では、アクセスモジュール２１２は、３Ｄ映像データへのアクセスを提供するための以下に説明される機能性を提供するためにプロセッサ２３５によって実行可能である１組の命令であり得る。いくつかの実施形態では、アクセスモジュール２１２は、コンピューティング装置２００のメモリ２３７に格納可能であり、プロセッサ２３５によってアクセス可能および実行可能であり得る。アクセスモジュール２１２は、信号線２３０を介してプロセッサ２３５およびコンピューティング装置２００の他の構成要素と協働および通信するために適合されてもよい。
【００９６】
いくつかの実施形態では、アクセスモジュール２１２は、映像および音声モジュール２０８または補正モジュール２１０から受信された３Ｄ映像データを記憶装置２４１に格納する。アクセスモジュール２１２は、ユーザからのアクセス要求の受信に応答して、ユーザが３Ｄ映像データにアクセスできるようにする。いくつかの実施形態では、アクセスモジュール２１２は、３Ｄデータを見るために構成された鑑賞システムに３Ｄ映像データを送信して、ユーザが鑑賞システムから３Ｄ映像データを見られるようにする。いくつかの他の実施形態では、アクセスモジュール２１２は、３Ｄ映像データをサーバ１２９に送信して、ユーザがネットワーク１０５を介してサーバ１２９から３Ｄ映像データにアクセスできるようにする。
【００９７】
ユーザインターフェイスモジュール２１４は、ユーザインターフェイスを提供するためのグラフィックデータを生成するためのルーチンを含むソフトウェアであり得る。いくつかの実施形態では、ユーザインターフェイスモジュール２１４は、ユーザインターフェイスを提供するためのグラフィックデータを生成するための以下に説明される機能性を提供するためにプロセッサ２３５によって実行可能である１組の命令であり得る。ユーザインターフェイスモジュール２１４は、信号線２３２を介してプロセッサ２３５およびコンピューティング装置２００の他の構成要素と協働および通信するために適合されてもよい。
【００９８】
いくつかの実施形態では、ユーザインターフェイスモジュール２１４は、記録動作をいつ開始するか、および記録動作をいつ停止するかを特定するために、クライアント装置１２７のユーザのためのユーザインターフェイスを生成する。いくつかの実施形態では、ユーザインターフェイスは、メモリ管理、ホワイトバランス、色温度、ゲイン、ＩＳＯ、フィルタ、クロック、ファイル名、ワイヤレス・フィデリティ（ＷｉＦｉ）、温度、電力消費、シリアルナンバー、映像ストリームのプレビュー、およびカメラモジュール１０３のうちの１つ以上によって記録されている映像に関する情報を含む。ユーザは、ＩＳＯ、色温度、ホワイトバランス、フィルタ、クロック、ファイル名などの設定のうちのいくつかを修正可能であってもよい。いくつかの他の実施形態では、ユーザインターフェイスモジュール２１４は、全体ステータスインジケータ１２１および個別ステータスインジケータ１１９に関する情報を生成する。たとえば、ユーザインターフェイスモジュール２１４は、カメラモジュール１０３のうちのどれが問題を体験しているかに関する通知をユーザのために生成する。いくつかの実施形態では、通知は、過熱したカメラ、いっぱいのディスク空間などの問題に関する特定の情報を含む。
【００９９】
ここで図３Ａを参照して、カメラアレイ１０１と接続ハブ１２３とを含む例示的なシステム３００を示す。この例では、カメラアレイ１０１は、マイクロホンアレイ３０１と、カメラモジュール３０２用の球体とを含む。カメラモジュール３０２は、ハウジング３０４に結合するレンズ３０３を含むディスクを有するとして図示されている。ハウジングは、カメラアレイ１０１の内部からの熱を逃すためのいくつかのスリット３０５を含む。カメラアレイ１０１は接続ハブ３０６に結合され、それは、未加工映像データをクライアント装置１２７（図示せず）に送信するための複数のケーブルを含む。
【０１００】
図３Ｂは、球状ハニカムのように見えるように設計された例示的なハウジング３５０を示す。ハウジング３５０は、カメラモジュール１０３のための開口を含む。この例では、開口は、レンズのためのディスク空間と、カメラモジュール１０３の本体のためのほぼ等距離の辺を有する矩形のハウジングとを含む。矩形の空間は、カメラモジュール１０３が、矩形の空間に挿入され、取り外され、９０度回転され、矩形の空間に再挿入されることを可能にする。いくつかの実施形態では、カメラモジュール１０３は、経時的な極度の位置変化（たとえば、カメラ装備の形状変化）を回避するために、ハウジングにねじで物理的に搭載される。
【０１０１】
図３Ｃは、例示的なマイクロホンアレイ３７０を示す。この例では、マイクロホンアレイ３７０は、３Ｄ音声を生成するための音声を取り込むために４つの異なる方向に位置付けられた４つの音場マイクロホン３７１を含む。マイクロホンの位置付けは、ユーザが３Ｄ体験中に自分の頭を動かすことに応答して音声が調節され得るように、音響指向性を記録して再現することを可能にする。マイクロホンユニット３７０はまた、マイクロホンユニット３７０をカメラアレイ１０１に搭載するためのマウント３７２を含む。マウントの設計は、レンズの視野を妨げるかもしれないブームマイクロホンよりも有利である。
【０１０２】
ここで図４を参照して、ここに説明される少なくとも１つの実施形態に従った、カメラアレイ１０１を使用して映像データを提供するための方法４００の一例を説明する。方法４００は、図１および図２に関して説明される。別々のブロックとして図示されているが、さまざまなブロックは、所望の実現化例に依存して、追加のブロックになるよう分割されてもよく、より少ないブロックになるよう組合わされてもよく、または削除されてもよい。
【０１０３】
ここに開示されたこのおよび他のプロセスおよび方法のために、これらのプロセスおよび方法で行なわれる機能は異なる順序で実現されてもよい、ということを、当業者であれば理解するであろう。さらに、概説されたステップおよび動作は単に例として提供されており、これらのステップおよび動作のうちのいくつかは、開示された実施形態の本質を損なうことなく、オプションであってもよく、より少ないステップおよび動作になるよう組合わされてもよく、または追加のステップおよび動作になるよう拡張されてもよい。
【０１０４】
いくつかの実施形態では、方法４００は、較正モジュール２０４と、不良検出モジュール２０６と、映像および音声モジュール２０８とを含む集約システム１３１によって行なわれる。較正モジュール２０４は、カメラアレイ１０１における各カメラモジュール１０３の装置識別子および位置を識別し、カメラモジュール１０３はマスターカメラを含む（４０２）。不良検出モジュール２０６は、カメラモジュール１０３に不良がないことを確認する（４０４）。いくつかの実施形態では、不良検出モジュール２０６は、不良のしきい値数を使用して、進むべきかどうかを判断する。たとえば、２つ以下のカメラモジュール１０３が誤動作している場合、それらのカメラモジュール１０３が互いに隣り合っていない限り、不良検出モジュール２０６は進むであろう。不良検出モジュール２０６は、不良はないという確認を映像および音声モジュール２０８に送信する。
【０１０５】
映像および音声モジュール２０８は、マスターカメラにおいて開始動作を起動し、マスターカメラは他のカメラモジュール１０３に記録を開始するよう命令する（４０６）。たとえば、マスターカメラは、デイジーチェーン構成の他のカメラモジュール１０３に記録を開始するよう命令するスイッチ１１７を含む。映像および音声モジュール２０８はまた、映像データのためのタイムスタンプを提供して、カメラモジュール１０３に特定のファイル名を使用するよう命令してもよい。
【０１０６】
映像および音声モジュール２０８は、カメラモジュール１０３から画像フレームを含む映像データを受信する（４０８）。映像および音声モジュール２０８は、映像データに基づいて画像フレームをつなぎ合わせ（４１０）、３Ｄ映像を生成し（４１２）、音声データを合成し（４１４）、パノラマ画像を表示するために３Ｄ映像および音声データのストリームを生成する（４１６）。いくつかの実施形態では、映像および音声モジュール２０８は、フレームの各々に関連付けられたタイムスタンプに基づいて、カメラモジュール１０３の各々からの画像フレームをつなぎ合わせる。
【０１０７】
ここに開示されたこのおよび他のプロセスおよび方法のために、これらのプロセスおよび方法で行なわれる機能は異なる順序で実現されてもよい、ということを、当業者であれば理解するであろう。さらに、概説されたステップおよび動作は単に例として提供されており、これらのステップおよび動作のうちのいくつかは、開示された実施形態の本質を損なうことなく、オプションであってもよく、より少ないステップおよび動作になるよう組合わされてもよく、または追加のステップおよび動作になるよう拡張されてもよい。
【０１０８】
図４は、ここに説明される少なくとも１つの実施形態に従った、不良カメラモジュールを検出するための例示的な方法４００を示す。方法４００は、図１および図２に関して説明される。別々のブロックとして図示されているが、さまざまなブロックは、所望の実現化例に依存して、追加のブロックになるよう分割されてもよく、より少ないブロックになるよう組合わされてもよく、または削除されてもよい。
【０１０９】
いくつかの実施形態では、方法４００は、較正モジュール２０４と、不良検出モジュール２０６と、映像および音声モジュール２０８とを含む集約システム１３１によって行なわれる。較正モジュール２０４は、カメラアレイ１０１におけるカメラモジュール１０３ごとに装置識別子を識別し、カメラモジュール１０３はマスターカメラを含む（５０２）。不良検出モジュール２０６は、カメラモジュール１０３に不良がないと判断する（５０４）。不良検出モジュール２０６は、この判断を映像および音声モジュール２０８に送信する。
【０１１０】
映像および音声モジュール２０８は、マスターカメラにおいて開始動作を起動し、マスターカメラはカメラモジュール１０３に記録を開始するよう命令する（５０６）。映像および音声モジュール２０８は、カメラモジュールから画像フレームを記述する映像データを受信する（５０８）。映像および音声モジュール２０８は、マスターカメラにおいて停止動作を起動し、マスターカメラはカメラモジュールに記録を停止するよう命令する（５１０）。
【０１１１】
映像および音声モジュール２０８は次に、各カメラモジュール１０３の相対位置に基づいて画像フレームをつなぎ合わせる（５１２）。いくつかの実施形態では、相対位置は、独立して行なわれる幾何学的較正から判断される。他の実施形態では、較正モジュール２０４は、映像コンテンツを使用して映像が記録された後で幾何学的較正を行なう。たとえば、映像および音声モジュール２０８は、各カメラモジュール１０３の相対位置を、つなぎ合わせを行なうためのつなぎ合わせアルゴリズムと組合わせて使用する。映像および音声モジュール２０８は、３Ｄ映像データを生成する（５１４）。映像および音声モジュール２０８は、音声データを合成する（５１６）。たとえば、映像および音声モジュール２０８は、４つの異なるマイクロホンからの音声を使用して、バーチャルリアリティー体験中のユーザの頭の角度に依存して調節される音声を作り出す。映像および音声モジュール２０８は、パノラマ画像を表示するために３Ｄ映像および音声データのストリームを生成する（５１８）。
【０１１２】
ここに説明された実施形態は、以下により詳細に述べられるようなさまざまなコンピュータハードウェアまたはソフトウェアモジュールを含む専用または汎用コンピュータの使用を含んでいてもよい。
【０１１３】
ここに説明された実施形態は、格納されたコンピュータ実行可能命令またはデータ構造を担持しまたは有するためのコンピュータ読取可能媒体を使用して実現されてもよい。そのようなコンピュータ読取可能媒体は、汎用または専用コンピュータによってアクセスされ得る任意の利用可能な媒体であってもよい。限定のためではなく例として、そのようなコンピュータ読取可能媒体は、コンピュータ実行可能命令またはデータ構造の形をした所望のプログラムコードを担持するかまたは格納するために使用され、汎用または専用コンピュータによってアクセスされ得る、ランダムアクセスメモリ（ＲＡＭ）、読出専用メモリ（Read-Only Memory：ＲＯＭ）、電気的消去可能プログラム可能読出専用メモリ（Electrically Erasable Programmable Read-Only Memory：ＥＥＰＲＯＭ）、コンパクトディスク読出専用メモリ（Compact Disc Read-Only Memory：ＣＤ−ＲＯＭ）または他の光学ディスクストレージ、磁気ディスクストレージまたは他の磁気記憶装置、フラッシュメモリ装置（たとえば、固体メモリ装置）、もしくは任意の他の記憶媒体を含む有形のコンピュータ読取可能記憶媒体を含んでいてもよい。上述のものの組合せも、コンピュータ読取可能媒体の範囲内に含まれていてもよい。
【０１１４】
コンピュータ実行可能命令は、たとえば、汎用コンピュータ、専用コンピュータ、または専用処理装置（たとえば、１つ以上のプロセッサ）にある機能または機能群を行なわせる命令およびデータを含む。構造的特徴および／または方法論的行為に特有の文言で主題を説明してきたが、添付された請求項で定義される主題は上述の特定の特徴または行為に必ずしも限定されないということが理解されるべきである。むしろ、上述の特定の特徴および行為は、請求項を実現する例示的な形として開示されている。
【０１１５】
ここに使用されるように、「モジュール」または「構成要素」という用語は、コンピューティングシステムのモジュールまたは構成要素、および／または、汎用ハードウェア（たとえば、コンピュータ読取可能媒体、処理装置など）に格納され、および／または汎用ハードウェアによって実行され得るソフトウェアオブジェクトまたはソフトウェアルーチンの動作を行なうように構成された特定のハードウェア実施形態を指していてもよい。いくつかの実施形態では、ここに説明された異なる構成要素、モジュール、エンジン、およびサービスは、（たとえば別々のスレッドとして）コンピューティングシステム上で実行されるオブジェクトまたはプロセスとして実現されてもよい。ここに説明されたシステムおよび方法の一部は概して、（汎用ハードウェアに格納され、および／または汎用ハードウェアによって実行される）ソフトウェアで実現されると説明されているが、特定のハードウェア実施形態、またはソフトウェアと特定のハードウェア実施形態との組合せも可能であり、考えられる。この説明では、「コンピューティングエンティティ」とは、ここにこれまで定義されたような任意のコンピューティングシステム、もしくは、コンピューティングシステム上で実行される任意のモジュールまたはモジュールの組合せであってもよい。
【０１１６】
ここに記載されたすべての例および条件付き文言は、技術の促進のために発明者によって寄与された発明および概念を読者が理解するのを助けるという教育上の目的のために意図されており、そのような具体的に記載された例および条件に限定されないと解釈されるべきである。発明の実施形態を詳細に説明してきたが、発明の精神および範囲から逸脱することなく、さまざまな変更、置換え、および変形をここに行なうことができる、ということが理解され得る。
【図１】
0006289641.tif 000002
【図２】
0006289641.tif 000003
【図３Ａ】
0006289641.tif 000004
【図３Ｂ】
0006289641.tif 000005
【図３Ｃ】
0006289641.tif 000006
【図４】
0006289641.tif 000007
【図５】
0006289641.tif 000008