JP2016537903A - バーチャルリアリティコンテンツのつなぎ合わせおよび認識 - Google Patents

バーチャルリアリティコンテンツのつなぎ合わせおよび認識 Download PDF

Info

Publication number
JP2016537903A
JP2016537903A JP2016536463A JP2016536463A JP2016537903A JP 2016537903 A JP2016537903 A JP 2016537903A JP 2016536463 A JP2016536463 A JP 2016536463A JP 2016536463 A JP2016536463 A JP 2016536463A JP 2016537903 A JP2016537903 A JP 2016537903A
Authority
JP
Japan
Prior art keywords
image
camera
module
pixel
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016536463A
Other languages
English (en)
Inventor
バン・ホフ,アーサー
アナウ,トーマス・エム
クリステンセン,イェンス
コペイニッグ,ダニエル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jaunt Inc
Jaunt Inc
Original Assignee
Jaunt Inc
Jaunt Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jaunt Inc, Jaunt Inc filed Critical Jaunt Inc
Publication of JP2016537903A publication Critical patent/JP2016537903A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • H04N13/117Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0242Determining effectiveness of advertisements
    • G06Q30/0246Traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0263Targeted advertisements based upon Internet or website rating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0277Online advertisement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4038Scaling the whole image or part thereof for image mosaicing, i.e. plane images composed of plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/11Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information not detectable on the record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B31/00Arrangements for the associated working of recording or reproducing apparatus with related apparatus
    • G11B31/006Arrangements for the associated working of recording or reproducing apparatus with related apparatus with video camera or receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/189Recording image signals; Reproducing recorded image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/243Image signal generators using stereoscopic image cameras using three or more 2D image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/282Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/66Remote control of cameras or camera parts, e.g. by remote control devices
    • H04N23/661Transmitting camera control signals through networks, e.g. control via the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0273Determination of fees for advertising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0283Price estimation or determination
    • G06Q30/0284Time or distance, e.g. usage of parking meters or taximeters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20228Disparity calculation for image-based rendering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources

Abstract

この開示は、バーチャルリアリティコンテンツを生成するために画像フレームおよび音声データを集約するためのシステムおよび方法を含む。システムはプロセッサと命令を格納するメモリとを含み、命令は、実行されると、システムが、カメラアレイから画像フレームを記述する映像データを受信し、マイクロホンアレイから音声データを受信し、左パノラマ画像のストリームおよび右パノラマ画像のストリームを含む3次元(3D)映像データのストリームを生成するために画像フレームを集約し、音声データから3D音声データのストリームを生成し、3D映像データのストリームおよび3D音声データのストリームを含むバーチャルリアリティコンテンツを生成するようにする。

Description

分野
ここに述べる実現化例は、バーチャルプレゼンスシステムおよび方法に関する。より特定的には、ここに述べる実現化例は、バーチャルリアリティ(virtual reality:VR)コンテンツを生成するために、カメラアレイからの画像フレームおよびマイクロホンアレイからの音声データを集約することに関する。
背景
技術が向上するにつれて、人々は、人間同士の交流からますます遠ざかっている。現実の世界で人々と交流する代わりに、人々は、自分たちの電話や他のモバイル装置で生じる変化により興味を持つようになっている。これは、孤独および疎外感をもたらし得る。
孤立感を減少させるためのある方法は、バーチャルリアリティシステムの使用から生じる。バーチャルリアリティシステムでは、ユーザは、ソフトウェアによって生成された視覚的表示とやりとりして、新しい場所、活動などを体験する。たとえば、ユーザはゲームをし、ゲームの他の登場人物とやりとりする場合がある。別の例では、政府は現在、パイロットを訓練するためにバーチャルリアリティシステムを使用している。しかしながら、VRシステムはリアリティが不十分であるため、現在のシステムは孤立感を完全には改善していない。
いくつかのVRゴーグルが市場に投入されている。これらのゴーグルは、スクリーンとジャイロスコープセンサと加速度計とを組合わせて、広範な視野と応答性の頭部追跡とを有するVR鑑賞システムを作り出し得る。これらのVRゴーグルの多くは当初、ゲーム市場を狙ったものであり、初期反応は、それらが人気を博するであろうということを示している。
ここに請求される主題は、いかなる欠点も解決する実現化例、または上述のような環境でのみ動作する実現化例に限定されない。むしろ、この背景は、ここに説明されるいくつかの実現化例が実践され得る技術領域の一例を例示するためにのみ提供されている。
概要
この開示で説明される主題の革新的な一局面によれば、バーチャルリアリティコンテンツを生成するために画像フレームおよび音声データを集約するためのシステムは、1つ以上のプロセッサと、1つ以上の有形の非一時的なコンピュータ読取可能媒体とを含み、コンピュータ読取可能媒体は、1つ以上のプロセッサに通信可能に結合され、以下の動作を行なうために1つ以上のプロセッサによって実行可能な実行可能命令を格納しており、以下の動作は、カメラモジュールから画像フレームを記述する映像データを受信することと、マイクロホンアレイから音声データを受信することと、左パノラマ画像のストリームおよび右パノラマ画像のストリームを含む3D映像データのストリームを集約することと、音声データから3D音声データのストリームを生成することと、3D映像データのストリームおよび3D音声データのストリームを含むバーチャルリアリティコンテンツを生成することとを含む。
この開示で説明される主題の別の革新的な局面によれば、左パノラマ画像および右パノラマ画像を生成するために画像フレームをつなぎ合わせるためのシステムは、1つ以上のプロセッサと、1つ以上の有形の非一時的なコンピュータ読取可能媒体とを含み、コンピュータ読取可能媒体は、1つ以上のプロセッサに通信可能に結合され、以下の動作を行なうために1つ以上のプロセッサによって実行可能な実行可能命令を格納しており、以下の動作は、特定の時間にカメラアレイの2つ以上のカメラモジュールによって取り込まれた画像フレームを受信することと、2つ以上のカメラモジュールからの第1の組のカメラモジュール間に第1のバーチャルカメラを補間することと、第1の組のカメラモジュール間の第1の組の視差(disparity)マップを定めることと、特定の時間に第1の組のカメラモジュールによって取り込まれた第1の組の画像フレームから、第1のバーチャルカメラのために、特定の時間に関連付けられた第1のバーチャルカメラ画像を、第1の組の視差マップに基づいて生成することと、2つ以上のカメラモジュールによって取り込まれた画像フレームおよび第1のバーチャルカメラの第1のバーチャルカメラ画像から、特定の時間に関連付けられた左パノラマ画像および右パノラマ画像を構築することとを含む。
この開示で説明される主題のさらに別の革新的な局面によれば、システムは、1つ以上のプロセッサと、1つ以上の有形の非一時的なコンピュータ読取可能媒体とを含み、コンピュータ読取可能媒体は、1つ以上のプロセッサに通信可能に結合され、以下の動作を行なうために1つ以上のプロセッサによって実行可能な実行可能命令を格納しており、以下の動作は、生成を行なうようにプログラミングされたプロセッサベースのコンピューティング装置を用いて、3次元映像データの圧縮されたストリームおよび3次元音声データのストリームを含むバーチャルリアリティコンテンツを生成することと、バーチャルリアリティコンテンツをユーザに提供することと、バーチャルリアリティコンテンツでのユーザの凝視の位置を検出することと、ユーザの凝視の位置に基づいて第1の広告を示唆することとを含む。
この開示で説明される主題のさらに別の革新的な局面によれば、システムは、1つ以上のプロセッサと、1つ以上の有形の非一時的なコンピュータ読取可能媒体とを含み、コンピュータ読取可能媒体は、1つ以上のプロセッサに通信可能に結合され、以下の動作を行なうために1つ以上のプロセッサによって実行可能な実行可能命令を格納しており、以下の動作は、受信を行なうようにプログラミングされたプロセッサベースのコンピューティング装置を用いて、第1のユーザへの3次元映像データのストリームおよび3次元音声データのストリームを含むバーチャルリアリティコンテンツを受信することと、第1のユーザのためにソーシャルネットワークを生成することと、バーチャルリアリティコンテンツとのユーザのやりとりを含むソーシャルグラフを生成することとを含む。
この開示で説明される主題のさらに別の革新的な局面によれば、システムは、1つ以上のプロセッサと、1つ以上の有形の非一時的なコンピュータ読取可能媒体とを含み、コンピュータ読取可能媒体は、1つ以上のプロセッサに通信可能に結合され、以下の動作を行なうために1つ以上のプロセッサによって実行可能な実行可能命令を格納しており、以下の動作は、提供を行なうようにプログラミングされたプロセッサベースのコンピューティング装置を用いて、3次元映像データの圧縮されたストリームおよび3次元音声データのストリームを含むバーチャルリアリティコンテンツを提供することと、バーチャルリアリティコンテンツのユーザ凝視の位置を判断することと、位置ごとのユーザ凝視の数に基づいて、別々の色を含むヒートマップを生成することとを含む。
他の局面は、これらのおよび他の革新的な局面のための対応する方法、システム、機器、およびコンピュータプログラム製品を含む。
これらのおよび他の実現化例は各々、以下の動作および特徴のうちの1つ以上をオプションで含んでいてもよい。たとえば、特徴は、左カメラマップに基づいて、左パノラマ画像のための第1の整合カメラモジュールを識別すること;右カメラマップに基づいて、右パノラマ画像のための第2の整合カメラモジュールを識別すること;左パノラマ画像のストリームにおける対応する左パノラマ画像を形成するために、特定の時間に第1の整合カメラモジュールによって取り込まれた第1の画像フレームをつなぎ合わせること;右パノラマ画像のストリームにおける対応する右パノラマ画像を形成するために、特定の時間に第2の整合カメラモジュールによって取り込まれた第2の画像フレームをつなぎ合わせること;パノラマにおける、ヨー値およびピッチ値を有する画素のために、左カメラマップは、パノラマにおける画素のための第1の整合カメラモジュールを識別して、パノラマにおける画素を第1の整合カメラモジュールの画像平面における画素に整合させ、右カメラマップは、パノラマにおける画素のための第2の整合カメラモジュールを識別して、パノラマにおける画素を第2の整合カメラモジュールの画像平面における画素に整合させること;左カメラマップは、左パノラマ画像における画素位置を対応する第1の整合カメラモジュールに関連付け、画素位置は、左視方向におけるパノラマの点に対応していること;対応する第1の整合カメラモジュールは、パノラマの点への視方向を含む視野を有すること;対応する第1の整合カメラモジュールの視方向は、他のカメラモジュールに関連付けられた他の視方向よりも、左視方向に近いこと;ユーザに関連付けられた現在の視方向を判断すること;現在の視方向に基づいて、左パノラマ画像のストリームおよび右パノラマ画像のストリームを生成すること;左パノラマ画像は、ユーザの現在の視方向において、現在の視方向とは反対の第2の視方向よりも高い解像度を有すること;右パノラマ画像は、ユーザの現在の視方向において、現在の視方向とは反対の第2の視方向よりも高い解像度を有することを含む。
たとえば、動作は、左パノラマ画像および右パノラマ画像における色欠陥を補正することと、左パノラマ画像および右パノラマ画像におけるつなぎ合わせエラーを補正することとを含む。
たとえば、動作は、ユーザの凝視の位置に基づいて、広告を表示するための費用を決定し、費用はユーザが位置を凝視する時間の長さに基づいていること;第2の広告にリンクされるバーチャルリアリティコンテンツの一部としてグラフィカルオブジェクトを提供すること;バーチャルリアリティコンテンツの少なくとも一部を含む底部および上部を表示するためのグラフィックスを生成して、少なくとも底部または上部の一部である広告を提供することを含む。
たとえば、動作は、バーチャルリアリティコンテンツに基づいて、第1のユーザと第2のユーザとのつながりを示唆すること;バーチャルリアリティコンテンツに基づいて、ソーシャルネットワークに関連付けられたグループを示唆すること;第1のユーザがバーチャルリアリティコンテンツとやりとりすることに基づいて、ソーシャルネットワーク更新を自動的に生成することを含むこと;バーチャルリアリティコンテンツに関連付けられた主題を判断し、主題に興味を持っている他のユーザを判断すること、他のユーザは、第1のユーザがバーチャルリアリティコンテンツとやりとりすることに基づいて、ソーシャルネットワーク更新を受信すること;活動のタイプに基づいてソーシャルネットワーク更新を発行すべきかどうかを判断するために、第1のユーザのためのプライバシー設定を生成すること;および、バーチャルリアリティコンテンツの一部として表示された広告を第1のユーザが凝視することに関する情報をソーシャルグラフに格納することを含む。
特徴は、主題に興味を持っている他のユーザを判断することは、他のユーザが、自分が主題に興味を持っていることを明らかに示すことに基づいている、ということをオプションで含んでいてもよい。
たとえば、動作は、バーチャルリアリティ体験のプレイリストを生成することを含む。特徴は、プレイリストが、バーチャルリアリティコンテンツの多くのユーザビュー、地理的位置に基づいていること、または、プレイリストが、主題の専門家であるユーザによって生成され、プレイリストは主題に基づいていることを含んでいてもよい。
実現化例の目的および利点は、少なくとも、請求項で特に指摘された要素、特徴、および組合せによって実現され、達成されるであろう。
前述の概説および以下の詳細な説明はともに例示および説明のためのものであり、請求されているようなこの開示を限定するためのものではない、ということが理解されるべきである。
図面の簡単な説明
添付図面を用いて、例示的な実現化例を、追加の特定性および詳細とともに記載し、説明する。
VRコンテンツを生成するために画像フレームおよび音声データを収集し、集約する例示的なシステムのいくつかの実現化例のブロック図である。 バーチャルリアリティシステム用のコンテンツを生成するための例示的なシステムのいくつかの実現化例のブロック図である。 例示的な集約システムを含むコンピューティング装置のいくつかの実現化例のブロック図である。 いくつかの実現化例に従った、VRコンテンツを生成するために画像フレームおよび音声データを集約するための例示的な方法を示す図である。 いくつかの実現化例に従った、VRコンテンツを生成するために画像フレームおよび音声データを集約するための別の例示的な方法の一部を示す図である。 いくつかの実現化例に従った、VRコンテンツを生成するために画像フレームおよび音声データを集約するための別の例示的な方法の一部を示す図である。 いくつかの実現化例に従った、VRコンテンツを生成するために画像フレームおよび音声データを集約するための別の例示的な方法の一部を示す図である。 特定の時間に複数のカメラモジュールによって取り込まれた複数の画像フレームから左パノラマ画像および右パノラマ画像を生成する例示的なプロセスを示す図である。 例示的なパノラマ画像を示す図解である。 例示的なカメラマップを示す図解である。 左カメラマップを構築するために左パノラマ画像における画素のための第1のカメラモジュールを選択し、右カメラマップを構築するために右パノラマ画像における画素のための第2のカメラモジュールを選択する例示的なプロセスを示す図解である。 左カメラマップを構築するために左パノラマ画像における画素のための第1のカメラモジュールを選択し、右カメラマップを構築するために右パノラマ画像における画素のための第2のカメラモジュールを選択する例示的なプロセスを示す図解である。 2つのカメラ区分の境界上の画素を混合する例示的なプロセスを示す図解である。 表現が向上した例示的なパノラマ画像を示す図解である。 表現が向上した例示的なパノラマ画像を示す図解である。 いくつかの実現化例に従った、カメラの増加密度とつなぎ合わせエラーの減少との関係を示す図解である。 いくつかの実現化例に従った、カメラの増加密度とつなぎ合わせエラーの減少との関係を示す図解である。 いくつかの実現化例に従った、カメラの増加密度とつなぎ合わせエラーの減少との関係を示す図解である。 例示的な集約システムを含むコンピューティング装置のいくつかの実現化例のブロック図である。 いくつかの実現化例に従った、左および右パノラマ画像を生成するために特定の時間に取り込まれた画像フレームをつなぎ合わせるための例示的な方法の一部を示す図である。 いくつかの実現化例に従った、左および右パノラマ画像を生成するために特定の時間に取り込まれた画像フレームをつなぎ合わせるための例示的な方法の一部を示す図である。 いくつかの実現化例に従った、2つの隣接するカメラモジュール間に位置するバーチャルカメラのためにバーチャルカメラ画像を生成するための例示的な方法の一部を示す図である。 いくつかの実現化例に従った、2つの隣接するカメラモジュール間に位置するバーチャルカメラのためにバーチャルカメラ画像を生成するための例示的な方法の一部を示す図である。 いくつかの実現化例に従った、第1の隣接するカメラモジュールの第1のサブ画像から第2の隣接するカメラモジュールの第2のサブ画像に画素の視差をマッピングする視差マップを推定するための例示的な方法の一部を示す図である。 いくつかの実現化例に従った、第1の隣接するカメラモジュールの第1のサブ画像から第2の隣接するカメラモジュールの第2のサブ画像に画素の視差をマッピングする視差マップを推定するための例示的な方法の一部を示す図である。 いくつかの実現化例に従った、2つの隣接するカメラモジュールの投影中心を接続するエピポーラ線に沿った画素のための類似性スコアを求めるための例示的な方法の一部を示す図である。 いくつかの実現化例に従った、2つの隣接するカメラモジュールの投影中心を接続するエピポーラ線に沿った画素のための類似性スコアを求めるための例示的な方法の一部を示す図である。 いくつかの実現化例に従った、特定の時間に関連付けられた左パノラマ画像および右パノラマ画像を生成する例示的なプロセスを示す図である。 いくつかの実現化例に従った、例示的なパノラマ画像を示す図解である。 いくつかの実現化例に従った、例示的なカメラマップを示す図解である。 いくつかの実現化例に従った、左および右カメラマップの構築のためにパノラマにおける点のための整合カメラを選択することを示す図解である。 いくつかの実現化例に従った、左および右カメラマップの構築のためにパノラマにおける点のための整合カメラを選択することを示す図解である。 いくつかの実現化例に従った、左および右カメラマップの構築のためにパノラマにおける点のための整合カメラを選択することを示す図解である。 いくつかの実現化例に従った、エピポーラ線に沿った例示的な視差を示す図解である。 いくつかの実現化例に従った、実在するカメラとバーチャルカメラとの間へのバーチャルカメラの補間を示す図解である。 例示的なコンテンツシステムを含むコンピューティング装置のいくつかの実現化例のブロック図である。 バーチャルリアリティコンテンツが表示され得る異なるパネルを示す図である。 バーチャルリアリティコンテンツの一部として表示される例示的な広告を示す図である。 例示的なソーシャルネットワークコンテンツを示す図である。 追加のバーチャルリアリティコンテンツへのリンクを含む例示的なバーチャルリアリティコンテンツを示す図である。 いくつかの実現化例に従った、VRコンテンツを生成するために画像フレームおよび音声データを集約するための例示的な方法の一部を示す図である。 いくつかの実現化例に従った、VRコンテンツを生成するために画像フレームおよび音声データを集約するための例示的な方法の一部を示す図である。 いくつかの実現化例に従った、VRコンテンツを生成するために画像フレームおよび音声データを集約するための例示的な方法の一部を示す図である。 バーチャルリアリティシステムにおいて広告を生成するための例示的な方法を示す図である。 バーチャルリアリティコンテンツに基づいてソーシャルネットワークを生成するための例示的な方法を示す図である。 バーチャルリアリティコンテンツを分析するための例示的な方法を示す図である。
いくつかの例示的な実現化例の詳細な説明
VR体験は、別の場所にいるというリアルな感覚を生み出すものを含む場合がある。そのような体験を生み出すことは、あるシーンについて3次元(「3−D」)映像およびオプションで3−D音声を再生することを伴う場合がある。たとえば、ユーザが、頭上に木の枝の樹冠がある森の中に立っていると想像されたい。ユーザは、さまざまな方向において木々、岩、および他の物体を見るであろう。ユーザが自分の頭を左右におよび/または上下に回転させるにつれて、物体の視差(たとえば、位置のシフト)が、奥行き知覚、たとえば、視野における物体までの距離、および/または視野における物体間の距離を概して知覚する能力をユーザに提供する。ユーザは、流れる水を聞いて、自分の背後に小川または川があると感知するであろう。ユーザが自分の頭を側方に傾けるにつれて、ユーザの小川または川の見え方が変化し、水の音が変化する。小川または川はより見やすくなり、および/または、水の音はよりはっきりと、より明瞭になるであろう。ユーザは、水が自分からどれくらい離れているか、および水がどれくらいの速さで流れているかについてよりよく感知する。ユーザの上方の木の枝の樹冠では、鳥が鳴いている。ユーザが自分の頭を上方に傾けると、ユーザの感覚は周囲の環境の変化を検出する。ユーザは樹冠を見るであろう。ユーザは青い鳥が鳴いているのを見るであろう。ユーザは、視差に基づいて、鳥がどれくらい離れているかという感覚を有するであろう。そしてユーザは現在、鳥に面しているため、鳥が鳴いているのをよりはっきりと、大きい声で聞くであろう。ユーザは自分の頭を元の前向きの位置へと傾け、そこでユーザは、自分からほんの10フィート離れたところに立っている鹿に面するであろう。鹿はユーザに向かって走り出し、ユーザの奥行き知覚は、鹿が自分に近づいていることを示す。ユーザの奥行き知覚と鹿の周囲の物体の相対位置とに基づいて、ユーザは、鹿が速いペースで自分に向かって走ってきていることがわかるであろう。
現在のVRソリューションは、前の段落に述べられたシーンを、空間的に分離された複数のカメラによって生成される映像からリアルに再現できない場合がある。たとえば、3D映像は、鹿がユーザに向かって走ってきていること、およびあるペースで走ってきていることを示す奥行き知覚を有することが必要とされる。3D音声は、3D映像を強化し得る。たとえば、3D音声により、ユーザは、自分の頭を左右に傾けるにつれて水の変化を聞くこと、または、自分の頭を上方に傾けるにつれて鳥のさえずりを違ったふうに聞くことができるようになり得る。既存のソリューションは、ここに説明されるように3D映像を作り出さず、および/または3D映像を3D音声と組合わせないため、それらは、前の段落に述べられたシーンをリアルに再現することができない。
この開示は、オプションで没入型の3D音声聴取体験と組合わされ得る没入型の3D鑑賞体験を提供することにより、別の場所にいるというリアルな感覚を生み出すことに関する。
いくつかの実現化例では、ここに説明されるシステムは、カメラアレイ、マイクロホンアレイ、集約システム、鑑賞システム、および他の装置、システム、またはサーバを含み得る。このシステムは、カメラアレイおよびマイクロホンアレイによって記録され得る、コンサート、スポーツの試合、結婚式、記者会見、映画、プロモーションイベント、テレビ会議、もしくは他のイベントまたはシーンを含むもののそれらに限定されない、あらゆるイベントの記録および提示に適用可能である。イベントまたはシーンの記録は、イベントが起こっている間、またはその後で、VRディスプレイ(たとえば、1対のVRゴーグル)を通して鑑賞され得る。
カメラアレイに含まれるカメラモジュールは、球状ハウジングの周りに搭載され、十分な直径および視野を有して異なる方向に配向されたレンズを有していてもよく、そのため、立体画像をレンダリングするために十分な視差がカメラモジュールによって取り込まれる。カメラアレイは、異なる視方向を有する画像フレームを記述する未加工映像データを集約システムに出力してもよい。
マイクロホンアレイは、さまざまな方向から音を取り込むことができる。マイクロホンアレイは、取り込まれた音および関連する指向性を集約システムに出力してもよく、それは、集約システムが任意の方向からの音を再現することを可能にする。
集約システムは、カメラアレイから出力された未加工映像データおよびマイクロホンアレイから出力された未加工音声データを、処理および格納のために集約してもよい。いくつかの実現化例では、集約システムは、未加工映像データを収集するための1組のギガビット・イーサネット(登録商標)スイッチと、未加工音声データを収集するための音声インターフェイスとを含んでいてもよい。未加工映像データおよび音声データはともに、未加工映像データおよび音声データを格納するための記憶装置を有するクライアント装置またはサーバに供給されてもよい。
集約システムは、複数の記録装置にわたって受信された未加工映像データおよび音声データを処理するために、および、未加工映像データおよび音声データを3D映像および音声データの単一の圧縮されたストリームに変換するために、非一時的メモリに格納されたコードおよびルーチンを含んでいてもよい。たとえば、集約システムは、プロセッサによって実行されると、複数のカメラモジュールからの画像フレームを、左目視のための左パノラマ画像のストリーム(パノラマ画像の左ストリームとも呼ばれる)および右目視のための右パノラマ画像のストリーム(パノラマ画像の右ストリームとも呼ばれる)といった左目視および右目視のための2つのパノラマ3D映像ストリームになるようにつなぎ合わせるコードおよびルーチンを含んでいてもよい。
いくつかの実現化例では、集約システムは、各々異なる方向の複数のビューからの画像フレームを使用して立体パノラマを構築してもよい。たとえば、カメラアレイは、球の全360度の周りに配置された複数のカメラモジュールを含む。カメラモジュールは各々、異なる方向を指すレンズを有する。カメラモジュールは球の360度の周りに配置され、シーンの画像を複数の視点から撮っているため、特定の時間にカメラモジュールによって取込まれた画像は、異なる方向からのシーンの複数のビューを含む。結果として生じる、特定の時間についての左または右パノラマ画像は、その特定の時間におけるシーンの球状表現を含む。左または右パノラマ画像における各画素は、隣接する画素とはわずかに異なる方向のシーンのビューを表わしていてもよい。
いくつかの実現化例では、集約システムは、左カメラマップに基づいて、カメラアレイによって取り込まれた画像フレームから左目視のための左パノラマ画像のストリームを生成する。左カメラマップは、左パノラマ画像における画素ごとに、対応する整合カメラモジュールを識別する。パノラマ画像における画素は、パノラマシーンにおける点に対応していてもよく、パノラマ画像における画素のための整合カメラモジュールは、他のカメラモジュールよりも、その点についてのより良好なビューを有するレンズを有するカメラモジュールであってもよい。左カメラマップは、左パノラマ画像における画素を、対応する整合カメラモジュールにマッピングしてもよい。同様に、集約システムは、右カメラマップに基づいて、カメラアレイによって取り込まれた画像フレームから右目視のための右パノラマ画像のストリームを生成する。右カメラマップは、右パノラマ画像における画素ごとに、対応する整合カメラモジュールを識別する。右カメラマップは、右パノラマ画像における画素を、対応する整合カメラモジュールにマッピングしてもよい。
集約システムはまた、プロセッサによって実行されると、左および右パノラマ画像上のカメラ較正エラー、露光または色欠陥、つなぎ合わせアーチファクト、およびの他のエラーを補正するコードおよびルーチンを含んでいてもよい。
集約システムはまた、4チャンネルアンビソニック音声トラックを3D映像ストリームに追加してもよく、標準ムービング・ピクチャー・エキスパーツ・グループ(moving picture experts group:MPEG)フォーマットまたは他の好適なコード化/圧縮フォーマットを使用して3D映像および音声ストリームをコード化し圧縮してもよい。
いくつかの実現化例では、集約システムは、3D映像データをフィルタリングしてその品質を向上させるように構成されたコードおよびルーチンを含む。集約システムはまた、映像の見た目を映像効果を用いて意図的に変更するためのコードおよびルーチンを含んでいてもよい。いくつかの実現化例では、集約システムは、映像においてユーザにとって興味のある区域を判断し、その映像における興味のある区域に対応する音声を増強するように構成されたコードおよびルーチンを含む。
鑑賞システムは、VR表示装置(たとえば、オキュラス・リフト(Oculus Rift)VRディスプレイまたは他の好適なVRディスプレイ)、および音声再生装置(たとえば、ヘッドホンまたは他の好適なスピーカ)上で、集約システムから受信された3D映像および音声ストリームを復号してレンダリングする。VR表示装置は、没入型の3D鑑賞体験を提供するために、ユーザのために左および右パノラマ画像を表示してもよい。鑑賞システムは、ユーザの頭の動きを追跡するVR表示装置を含んでいてもよい。鑑賞システムはまた、没入型の3D鑑賞体験をユーザに提示するために、ユーザの頭の動きに基づいて3D映像データおよび音声データを処理して調節するためのコードおよびルーチンを含んでいてもよく、それにより、ユーザは、イベントまたはシーンを任意の方向で見ることができる。オプションで、3D音声も、3D鑑賞体験を強化するために提供されてもよい。
いくつかの実現化例では、ここに説明されるシステムは、コンテンツシステムを含む。コンテンツシステムは、集約システムの機能性と同様の機能性を提供してもよい。コンテンツシステムはまた、以下により詳細に説明されるような他の機能性を提供してもよい。
バーチャルリアリティコンテンツが一旦生成されれば、バーチャルリアリティコンテンツのための用途はたくさんある。一実施形態では、コンテンツシステムは、バーチャルリアリティ内に広告を生成する。たとえば、広告は、ユーザの上方またはユーザの下方といった目立たない区域に表示される。バーチャルリアリティシステムは、ユーザの凝視の位置に基づいて、広告についてどのように請求するかを判断できてもよい。別の実施形態では、コンテンツシステムはソーシャルネットワークアプリケーションと通信して、バーチャルリアリティコンテンツをともに使用するために、ソーシャルネットワーク上のユーザの友達についてバーチャルリアリティ更新を生成するために、あるバーチャルリアリティ主題に対するユーザの興味に基づいてユーザにコンテンツを示唆するなどのために、ユーザを識別する。さらに別の実施形態では、バーチャルリアリティシステムは、ユーザ凝視のヒートマップ、およびバーチャルリアリティ体験のプレイリストといった全体的使用情報を判断する。
この開示はまた、パノラマ画像を形成するために画像をつなぎ合わせることに関する。
画像つなぎ合わせエラーは、カメラの物理的特性の測定におけるエラー(たとえば、カメラの空間位置、回転、焦点、および焦点距離におけるエラー)を含む第1の原因、カメラの画像測定特性間の不整合(たとえば、輝度、コントラスト、および色における不整合)を含む第2の原因、および、異なるカメラからの近くの物体の視角の差異を含む第3の原因を含むもののそれらに限定されない1つ以上の原因から生じ得る。
第1および第2の原因によって生じるつなぎ合わせエラーは、カメラ較正を通して除去され得る。たとえば、公知の色、輝度、コントラスト、空間的配向、および位置を有する物体を使用して、各カメラを特徴付け、画像フレームを取り込むためにカメラを使用する前にカメラパラメータ(たとえば、焦点、センサゲイン、ホワイトバランス)を調節してもよい。それに代えて、またはそれに加えて、カメラ間の重複する画像を分析してもよく、画像後処理手法を使用して、重複する画像間の差を減少させるようにカメラモデルパラメータを調節してもよい。
第3の原因によって生じるつなぎ合わせエラーは、単一の連続的な、球状の画像センサの理想に近づくように、カメラアレイにおける(実在するカメラとも呼ばれる)カメラモジュールの数を増加させることによって減少または排除され得る。このメカニズムは、隣接するカメラ間の視角の差異を減少させ、ひいては、つなぎ合わせアーチファクトを減少させ得る。いくつかの実現化例では、より多くの実在するカメラをカメラアレイに追加するのではなく、カメラアレイにおける実在するカメラ間にバーチャルカメラを補間することによって、増加するカメラ密度が達成されてもよい。このアプローチは、バーチャルカメラのためのバーチャルカメラ画像を生成するために、各画像画素の空間的近接または奥行き(たとえば、奥行きマップ)の推定に少なくとも部分的に基づいて、実在のカメラからの画像を補間することによって達成されてもよい。たとえば、カメラビューの左へのシフトを近似するために、画像における画素は、カメラへの画素の推定された近接に基づいて右にシフトされてもよい。パララックスをシミュレートするために、第2の画素よりもカメラに近い第1の画素は、第2の画素よりも長い距離右にシフトしてもよい。画素シフトから生成されるバーチャルカメラ画像は、すべての近くのカメラからのシフトされたビューを組合わせることによって改良されてもよい。
いくつかの実現化例では、奥行きセンサが、標準立体アルゴリズムを使用して計算され、またはプライムセンス(PrimeSense)の奥行きセンサなどの奥行きセンサを用いて得られてもよい。奥行きセンサは、補間されたビューにおいて目に見える差をエラーがもたらさない限り、完全に正確でなくてもよい。たとえば、特徴がない背景が、背景への鑑賞位置または視角にかかわらず、同一画像として存在してもよい。特徴がない背景は画素シフトに対して変化しないため、背景の奥行き推定におけるエラーは、画像補間に影響を与えない場合がある。
いくつかの実現化例では、ここに説明される集約システムは、増加するカメラ密度をシミュレートするために、カメラアレイにおけるカメラモジュール間にバーチャルカメラを補間してもよい。バーチャルカメラは、そのビューが直接観察されないカメラであってもよい。たとえば、バーチャルカメラは、そのビューが実在するカメラセンサから収集された画像データまたは他のバーチャルカメラのバーチャルカメラ画像データから推定され得るカメラであってもよい。バーチャルカメラは、2つ以上の隣接するカメラモジュール間に位置する、シミュレートされたカメラを表わしていてもよい。バーチャルカメラの位置、配向、視野、被写界深度、焦点距離、露光、およびホワイトバランスなどは、バーチャルカメラが基づいている2つ以上の隣接するカメラモジュールとは異なっていてもよい。
バーチャルカメラは、2つ以上の隣接するカメラモジュールによって取り込まれた2つ以上の画像フレームから推定されたバーチャルカメラ画像を有していてもよい。いくつかの実現化例では、バーチャルカメラは、2つ以上の隣接するカメラモジュール間の特定の位置に位置していてもよく、バーチャルカメラのバーチャルカメラ画像は、隣接するカメラモジュール間に位置する特定の位置からの推定されたカメラビューを表わしていてもよい。たとえば、複数のカメラモジュールを有するカメラアレイは、球状のケースの周りに収容されてもよい。バーチャルカメラは、球状のケースの周りの任意の角度位置について定められてもよく、そのバーチャルカメラ画像もその任意の角度位置について推定されてもよい。それは、カメラアレイが単に別々のカメラモジュールによって別々の視点を取り込む場合でも、球の周りでの視点の連続回転をシミュレートする。いくつかの実現化例では、バーチャルカメラはまた、実在する2つのカメラ間に補間することによって推定されてもよい。実在するカメラは、カメラアレイにおけるカメラモジュールを指していてもよい。それに代えて、バーチャルカメラはまた、実在するカメラと別のバーチャルカメラとの間に補間されてもよい。それに代えて、バーチャルカメラは、2つの他のバーチャルカメラ間に補間されてもよい。
いくつかの実現化例では、集約システムは、第1および第2のカメラ間の視差マップを推定すること、第1および第2のカメラの画像フレームを判断すること、ならびに、視差マップに基づいて第1および第2のカメラの画像フレームをシフトし、組合わせてバーチャルカメラ画像を生成することによって、第1のカメラと第2のカメラとの間に位置するバーチャルカメラのためのバーチャルカメラ画像を推定してもよい。第1のカメラは、実在するカメラであってもよく、またはバーチャルカメラであってもよい。第2のカメラも、実在するカメラであってもよく、またはバーチャルカメラであってもよい。
いくつかの実現化例では、集約システムは、カメラアレイにおけるカメラモジュールによって取り込まれた画像フレームを記述する映像データを受信してもよく、3D映像データのストリームを生成するためにその映像データを処理してもよい。たとえば、集約システムは、カメラアレイにおいて補間されるバーチャルカメラを定め、バーチャルカメラのためのバーチャルカメラ画像を推定し、画像フレームおよびバーチャルカメラ画像を、左目視のための左パノラマ画像のストリームおよび右目視のための右パノラマ画像のストリームといった左目視および右目視のための2つのパノラマ3D映像ストリームになるようにつなぎ合わせてもよい。3D映像データのストリームは、左および右パノラマ画像のストリームを含む。
この開示の実現化例を、添付図面を参照して説明する。
図1Aは、ここに説明される少なくともいくつかの実現化例に従って配置された、VRコンテンツを生成するために画像フレームおよび音声データを収集し、集約する例示的なシステム100のいくつかの実現化例のブロック図を示す。図示されたシステム100は、カメラアレイ101と、接続ハブ123と、マイクロホンアレイ107と、クライアント装置127と、鑑賞システム133とを含む。いくつかの実現化例では、システム100は加えて、サーバ129と、第2のサーバ198とを含む。クライアント装置127、鑑賞システム133、サーバ129、および第2のサーバ198は、ネットワーク105を介して通信可能に結合されてもよい。
ここに説明される実現化例におけるさまざまな構成要素およびサーバの分離は、すべての実現化例においてそのような分離を必要とする、と理解されるべきではなく、説明される構成要素およびサーバは概して、単一の構成要素またはサーバにともに組込まれ得る、ということが理解されるべきである。この開示に鑑みて理解されるように、追加、修正、または省略が、この開示の範囲から逸脱することなく、図示された実現化例に行なわれてもよい。
図1Aは、1つのカメラアレイ101と、1つの接続ハブ123と、1つのマイクロホンアレイ107と、1つのクライアント装置127と、1つのサーバ129と、1つの第2のサーバ198とを示しているが、この開示は、1つ以上のカメラアレイ101と、1つ以上の接続ハブ123と、1つ以上のマイクロホンアレイ107と、1つ以上のクライアント装置127と、1つ以上のサーバ129と、1つ以上の第2のサーバ198と、1つ以上の鑑賞システム133とを有するシステムアーキテクチャに当てはまる。さらに、図1Aはシステム100のエンティティに結合された1つのネットワーク105を示しているが、実際には、1つ以上のネットワーク105がこれらのエンティティに接続されてもよく、その1つ以上のネットワーク105はさまざまな異なるタイプのものであってもよい。
カメラアレイ101は、画像フレームを含む未加工映像データを取り込むように構成されたモジュール式カメラシステムであってもよい。図1Aに示す図示された実現化例では、カメラアレイ101は、(ここに個別におよびまとめてカメラモジュール103とも呼ばれる)カメラモジュール103a、103b…103nを含む。図1Aには3つのカメラモジュール103a、103b、103nが図示されているが、カメラアレイ101は、任意の数のカメラモジュール103を含んでいてもよい。カメラアレイ101は、1つの個別のカメラを含む、各カメラモジュール103を有する個別のカメラを使用して構築されてもよい。いくつかの実現化例では、カメラアレイ101はまた、奥行きセンサ、運動センサ(たとえば、全地球測位システム(global positioning system:GPS)、加速度計、ジャイロスコープなど)、カメラアレイ101の位置を感知するためのセンサ、および他のタイプのセンサを含むもののそれらに限定されないさまざまなセンサを含んでいてもよい。
カメラアレイ101は、さまざまな構成を使用して構築されてもよい。たとえば、カメラアレイ101におけるカメラモジュール103a、103b…103nは、カメラモジュール103a、103b…103nにおける対応するレンズが異なる方向に向かって面した状態で、さまざまな形状(たとえば、球、線、円柱、円錐、および立方体など)に構成されてもよい。カメラアレイ101は、カメラアレイ101からある特定のカメラモジュール103が取り外されたり、カメラアレイ101に新しいカメラモジュール103が追加されたりするように、柔軟な構造を有する。たとえば、カメラモジュール103はカメラアレイ101内に、カメラモジュール103が挿入され得る開口を区画の各々が形成するハニカムパターンで位置付けられる。別の例では、カメラアレイ101は、水平軸に沿った複数のレンズと、垂直軸上のより少ない数のレンズとを含む。
いくつかの実現化例では、カメラアレイ101におけるカメラモジュール103a、103b…103nは、立体画像をレンダリングするのに十分な視差を取り込むために十分な直径および視野を有して、球の周りで異なる方向に配向されていてもよい。たとえば、カメラアレイ101は、直径20センチメートルの球の周りに分布された32個のポイント・グレー(Point Grey)のブラックフライ(Blackfly)ギガビット・イーサネット(登録商標)カメラを含んでいてもよい。別の例では、カメラアレイ101は、球の周りに分布されたHERO3+GoPro(登録商標)カメラを含んでいてもよい。ポイント・グレーのブラックフライカメラモデルとは異なるカメラモデルが、カメラアレイ101に含まれていてもよい。たとえば、いくつかの実現化例では、カメラアレイ101は、3D画像または映像をレンダリングするように構成された1つ以上の光学センサで外面が覆われた球を含んでいてもよい。光学センサは、コントローラに通信可能に結合されてもよい。球の外面全体が、3D画像または映像をレンダリングするように構成された光学センサで覆われていてもよい。
いくつかの実現化例では、カメラアレイ101におけるカメラモジュール103は、2つ以上の視点からすべての物体が見えるように、十分な視野重複を有するように構成されている。たとえば、カメラアレイ101に含まれる各カメラモジュール103についての水平視野は、70度である。いくつかの実現化例では、2つ以上のカメラモジュール103によって物体を見るように構成されたカメラアレイ101を有することは、カメラアレイ101によって取り込まれた画像における露光または色欠陥を補正するために有益である。
カメラアレイ101におけるカメラモジュール103は、内蔵バッテリを含んでいても含んでいなくてもよい。カメラモジュール103は、接続ハブ123に結合されたバッテリから電力を得てもよい。いくつかの実現化例では、カメラモジュール103の外側ケースは、カメラモジュール103における熱が、他の材料を使用する場合よりも迅速に放散されるように、金属などの熱伝導材料で作られてもよい。いくつかの実現化例では、各カメラモジュール103は、熱放散要素を含んでいてもよい。熱放散要素の例は、ヒートシンク、ファン、および熱放散パテを含むものの、それらに限定されない。
カメラモジュール103の各々は、1つ以上のプロセッサ、1つ以上のメモリ装置(たとえば、セキュアデジタル(secure digital:SD)メモリカード、セキュアデジタル大容量(secure digital high capacity:SDHC)メモリカード、セキュアデジタル拡張容量(secure digital extra capacity:SDXC)メモリカード、およびコンパクトフラッシュ(compact flash:CF)(登録商標)メモリカードなど)、光学センサ(たとえば、半導体電荷結合素子(charge-coupled device:CCD)、相補型金属酸化膜半導体(complementary metal oxide semiconductor:CMOS)およびN型金属酸化膜半導体(NMOS、ライブMOS)におけるアクティブ画素センサなど)、奥行きセンサ(たとえば、プライムセンスの奥行きセンサ)、レンズ(たとえば、カメラレンズ)、および他の好適な構成要素を含んでいてもよい。
いくつかの実現化例では、カメラアレイ101におけるカメラモジュール103a、103b…103nは、カメラモジュール103a、103b…103nが順に接続されているデイジーチェーンを形成してもよい。カメラアレイ101におけるカメラモジュール103a、103b…103nは、デイジーチェーンを通して同期されてもよい。デイジーチェーンにおける1つのカメラモジュール(たとえば、第1のカメラモジュール103a)は、カメラアレイ101における他のカメラモジュールのためのクロック信号を制御するマスターカメラモジュールとして構成されてもよい。クロック信号は、カメラアレイ101におけるカメラモジュール103の動作(たとえば、開始動作、停止動作)を同期させるために使用されてもよい。カメラモジュール103の同期された開始および停止動作を通して、それぞれのカメラモジュール103a、103b…103nによって取り込まれたそれぞれの映像データにおける画像フレームも同期される。
カメラアレイ101およびカメラモジュール103の例示的な実現化例は、「カメラモジュールを含むカメラアレイ」(Camera Array Including Camera Modules)と題され、2014年7月28日に出願された米国出願第14/444,938号に記載されており、当該出願はその全体がここに引用により援用される。
カメラモジュール103は接続ハブ123に結合されてもよい。たとえば、カメラモジュール103aは、信号線102aを介して接続ハブ123に通信可能に結合され、カメラモジュール103bは、信号線102bを介して接続ハブ123に通信可能に結合され、カメラモジュール103nは、信号線102nを介して接続ハブ123に通信可能に結合される。いくつかの実現化例では、この開示における信号線は、映像データおよび音声データを送信するのに好適な、イーサネット(登録商標)ケーブル、高解像度マルチメディアインターフェイス(high-definition multimedia interface:HDMI(登録商標))ケーブル、ユニバーサル・シリアル・バス(universal serial bus:USB)ケーブル、RCAケーブル、ファイヤーワイヤ(Firewire)、カメラリンク(CameraLink)、または任意の他の信号線を使用する接続などの有線接続あるいは有線接続の任意の組合せを表わしていてもよい。それに代えて、この開示における信号線は、ワイヤレス・フィデリティ(Wi−Fi)接続またはBluetooth(登録商標)接続などの無線接続を表わしていてもよい。
マイクロホンアレイ107は、環境において異なる方向から音を取り込むように構成された1つ以上のマイクロホンを含んでいてもよい。いくつかの実現化例では、マイクロホンアレイ107は、1つ以上のプロセッサと、1つ以上のメモリとを含んでいてもよい。マイクロホンアレイ107は、熱放散要素を含んでいてもよい。図示された実現化例では、マイクロホンアレイ107は、信号線104を介して接続ハブ123に結合される。それに代えて、またはそれに加えて、マイクロホンアレイ107は、クライアント装置127などのシステム100の他のエンティティに直接結合されてもよい。
マイクロホンアレイ107は、さまざまな方向から音を取り込んでもよい。音は、マイクロホンアレイ107に通信可能に結合された非一時的メモリに、未加工音声データとして格納されてもよい。マイクロホンアレイ107は、音の指向性を検出してもよい。音の指向性は、未加工音声データの一部としてコード化され格納されてもよい。
いくつかの実現化例では、マイクロホンアレイ107は、任意の方向からの音の再現を可能にする、アンビソニックス(ambisonics)の原理に従ったコア・サウンド(Core Sound)のテトラミック(Tetramic)音場4面体マイクロホンアレイを含んでいてもよい。たとえば、マイクロホンアレイ107は、カメラアレイ101の上部に搭載され、音および音響指向性を記録するために使用されるアンビソニックス・マイクロホンを含んでいてもよい。いくつかの実現化例では、マイクロホンアレい107は、ジョゼフ・グラド(Joseph Grado)HMP−1記録システム、もしくは、同じまたは同様の音響原理に従って構成された任意の他のマイクロホンシステムを含む。いくつかの実現化例では、マイクロホンアレイ107はアイゲンマイク(Eigenmike)を含み、それは有利にはより多くのマイクロホンを含み、その結果、より高次の(すなわち、空間的により正確な)アンビソニックスを行なうことができる。マイクロホンは、カメラアレイ101の上部に搭載されてもよく、カメラモジュール103間に位置付けられてもよく、またはカメラアレイ101の本体内に位置付けられてもよい。
いくつかの実現化例では、カメラモジュール103は、カメラハウジング(たとえば、球状のハウジング、または別の好適な形状を有するハウジング)の周りに搭載されてもよい。マイクロホンアレイ107は、同じカメラハウジングの周りに搭載された複数のマイクロホンを含んでいてもよく、各マイクロホンは異なる位置に位置している。カメラハウジングは、人間の頭部の頭影遮音特性のためのプロキシとして作用してもよい。図2を参照して以下に説明されるように、記録された音声データの再生中、音声モジュール212は、ユーザの耳に最も近い配向を有するマイクロホンから、ユーザの耳のための音声トラックを選択してもよい。それに代えて、ユーザの耳のための音声トラックは、ユーザの耳に最も近いマイクロホンによって記録された音声トラックから補間されてもよい。
接続ハブ123は、マイクロホンアレイ107によって記録された未加工音声データを受信し、処理および格納のために未加工音声データをクライアント装置127に転送してもよい。接続ハブ123はまた、それぞれのカメラモジュール103によって取り込まれた画像フレームを記述する未加工映像データのストリームを受信し、集約してもよい。接続ハブ123は次に、処理および格納のために未加工映像データをクライアント装置127に転送してもよい。接続ハブ123は、信号線106を介してクライアント装置127に通信可能に結合される。いくつかの例では、接続ハブ123はUSBハブであってもよい。いくつかの実現化例では、接続ハブ123は、カメラアレイ101におけるカメラモジュール103に電力を供給するための1つ以上のバッテリ125を含む。それに代えて、またはそれに加えて、カメラモジュール103に電力を供給するために、1つ以上のバッテリ125が接続ハブ123に結合されてもよい。
クライアント装置127は、プロセッサベースのコンピューティング装置であってもよい。たとえば、クライアント装置127は、パーソナルコンピュータ、ラップトップ、タブレットコンピューティング装置、スマートフォン、セットトップボックス、ネットワーク対応テレビ、または任意の他のプロセッサベースのコンピューティング装置であってもよい。いくつかの実現化例では、クライアント装置127はネットワーク機能性を含み、信号線108を介してネットワーク105に通信可能に結合される。クライアント装置127は、ネットワーク105を介してデータをサーバ129に送信するように、またはデータをサーバ129から受信するように構成されてもよい。
クライアント装置127は、接続ハブ123から未加工映像データおよび未加工音声データを受信してもよい。いくつかの実現化例では、クライアント装置127は、クライアント装置127に関連付けられた記憶装置に未加工映像データおよび未加工音声データをローカルに格納してもよい。それに代えて、クライアント装置127は、未加工映像データおよび未加工音声データをネットワーク105を介してサーバ129に送信してもよく、サーバ129に関連付けられた記憶装置に未加工映像データおよび音声データを格納してもよい。いくつかの実現化例では、クライアント装置127は、3D映像データを形成するためにカメラモジュール103によって取り込まれた未加工映像データを集約し、3D音声データを形成するためにマイクロホンアレイ107によって取り込まれた未加工音声データを集約するための集約システム131を含む。それに代えて、またはそれに加えて、集約システム131は、サーバ129上で動作可能であってもよい。
集約システム131は、3D映像データのストリームおよび3D音声データのストリームをそれぞれ生成するために未加工映像データおよび未加工音声データを集約するように構成されたシステムを含んでいてもよい。集約システム131は、図1Aの単一の装置または装置の組合せに格納されてもよい。いくつかの実現化例では、集約システム131は、フィールドプログラマブルゲートアレイ(field-programmable gate array:FPGA)または特定用途向け集積回路(application-specific integrated circuit:ASIC)を含む、ハードウェアを使用して実現され得る。いくつかの他の実現化例では、集約システム131は、ハードウェアとソフトウェアとの組合せを使用して実現されてもよい。集約システム131については、図2〜5および図11〜15Bを参照して以下により詳細に説明する。
鑑賞システム133は、リアリティが強化された眼鏡;3Dディスプレイおよび/または位置追跡センサを有するテレビ、スマートフォン、タブレット、または他の装置;鑑賞位置制御を有する表示装置などを含むもののそれらに限定されない、VR表示装置(たとえば、オキュラス・リフトVRディスプレイ)または他の好適なVRディスプレイ上で、3D映像データのストリームを復号してレンダリングするために、コンピューティング装置を含むかまたは使用してもよい。鑑賞システム133はまた、音声再生装置(たとえば、ヘッドホン、または他の好適なスピーカ装置)上で、3D音声データのストリームを復号してレンダリングしてもよい。鑑賞システム133は、3D映像データをレンダリングするように構成されたVRディスプレイと、3D音声データをレンダリングするように構成された音声再生装置とを含んでいてもよい。鑑賞システム133は、信号線110を介してクライアント装置127に結合され、信号線112を介してネットワーク105に結合されてもよい。ユーザ134は、鑑賞システム133とやりとりしてもよい。
いくつかの実現化例では、鑑賞システム133は、クライアント装置127からVRコンテンツを受信してもよい。それに代えて、またはそれに加えて、鑑賞システム133は、サーバ129からVRコンテンツを受信してもよい。鑑賞システム133はまた、集約システム131に結合されてもよく、集約システム131からVRコンテンツを受信してもよい。VRコンテンツは、3D映像データのストリーム、3D音声データのストリーム、3D映像データの圧縮されたストリーム、3D音声データの圧縮されたストリーム、および他の好適なコンテンツのうちの1つ以上を含んでいてもよい。
鑑賞システム133は、ユーザの頭部配向を追跡してもよい。たとえば、鑑賞システム133は、ユーザの頭部配向の変化を検出するために使用される1つ以上の加速度計またはジャイロスコープを含んでいてもよい。鑑賞システム133は、ユーザの頭部配向に基づいて、3D映像データのストリームをVR表示装置上で、および3D音声データのストリームをスピーカーシステム上で復号してレンダリングしてもよい。ユーザが自分の頭部配向を変えるにつれて、鑑賞システム133は、ユーザの頭部配向の変化に基づいて3D映像データおよび3D音声データのレンダリングを調節してもよい。
鑑賞システム133は、没入型の鑑賞体験をユーザ134に提供してもよい。たとえば、鑑賞システム133は、VRコンテンツを見ているユーザ134が、実際の環境に似た態様で自分がVRコンテンツに包囲されているように感じるように、広範な視野を有するVR表示装置を含んでいてもよい。シーンの全360度のビューがユーザ134に提供され、ユーザ134はあらゆる方向でシーンを見てもよい。ユーザ134が自分の頭を動かすにつれて、ビューは、ユーザがまるで実際の世界で自分の頭を動かしているかのように、ユーザ134が見るであろうビューと整合するように修正される。実際の世界で左目および右目が見るであろうビューをシミュレートするように、目の各々に異なるビュー(たとえば、左目視のための左パノラマ画像のストリーム、および右目視のための右パノラマ画像のストリーム)を提供することにより、鑑賞システム133は、シーンの3Dビューをユーザ134を与えてもよい。加えて、没入型の3D鑑賞体験を強化するために、ユーザの頭部配向に基づいて、3D周囲音がユーザ134に提供されてもよい。たとえば、没入型の映画における登場人物が現在、ユーザ134の背後にいる場合、登場人物の声は、ユーザ134の背後から発するようであってもよい。
いくつかの実現化例では、鑑賞システム133は、ユーザ134が、ユーザの瞳孔間距離に適合するように左パノラマ画像および右パノラマ画像を調節できるようにしてもよい。左パノラマ画像および右パノラマ画像は、より大きい瞳孔間距離を有するユーザについてはより離れるように動き、より小さい瞳孔間距離を有するユーザについてはより近づくように動いてもよい。
いくつかの実現化例では、鑑賞システム133は、ユーザ134がシステム100の1つ以上の構成要素に入力を提供できるように構成された、マイクロホン、カメラ、マウス、またはキーボードなどの周辺装置を含む。たとえば、ユーザ134は、ソーシャルネットワークサーバ135によって提供されるソーシャルネットワークサービスにステータス更新を提供するために、周辺装置とやりとりしてもよい。いくつかの実現化例では、周辺装置は、マイクロソフト(登録商標)キネクト(Kinect)または別の同様の装置などの運動センサを含み、それは、ユーザ134が鑑賞システム133またはシステム100の他のエンティティにジェスチャー入力を提供できるようにする。
いくつかの実現化例では、鑑賞システム133は、バーチャルリアリティ体験をよりリアルにするためにユーザと物理的に接触するための周辺装置を含む。鑑賞システム133は、バーチャルリアリティコンテンツに対応する触感をユーザ134に提供するためのグローブを含んでいてもよい。たとえば、バーチャルリアリティコンテンツは別のユーザの画像を含んでいてもよく、ユーザ134が手を伸ばしてその別のユーザに触れると、鑑賞システム133は、ユーザ134がその別のユーザと物理的に接触しているように感じさせる圧力および振動を提供する。いくつかの実現化例では、鑑賞システム133は、身体の他の部位用の周辺装置を含んでいてもよい。
いくつかの実現化例では、複数の鑑賞システム133が、集約システム131によってストリーミングされたVRコンテンツを受信し、消費してもよい。言い換えれば、2つ以上の鑑賞システム133が、集約システム131に通信可能に結合されて、集約システム131によって生成されたVRコンテンツを同時にまたは同時期に受信し、消費するように構成されてもよい。
ネットワーク105は、有線または無線の従来のタイプのものであってもよく、星型構成、トークンリング構成、または他の構成を含む多くの異なる構成を有していてもよい。さらに、ネットワーク105は、複数の装置が通信し得る、ローカルエリアネットワーク(local area network:LAN)、ワイドエリアネットワーク(wide area network:WAN)(たとえばインターネット)、または他の相互接続されたデータ経路を含んでいてもよい。いくつかの実現化例では、ネットワーク105はピアツーピアネットワークであってもよい。ネットワーク105はまた、さまざまな異なる通信プロトコルでデータを送信するための電気通信ネットワークの一部に結合されるか、または電気通信ネットワークの一部を含んでいてもよい。いくつかの実現化例では、ネットワーク105は、ショートメッセージングサービス(short messaging service:SMS)、マルチメディアメッセージングサービス(multimedia messaging service:MMS)、ハイパーテキスト転送プロトコル(hypertext transfer protocol:HTTP)、直接データ接続、WAP、電子メールなどを介することを含む、データを送受信するためのBLUETOOTH(登録商標)通信ネットワークまたはセルラー通信ネットワークを含んでいてもよい。
サーバ129は、プロセッサと、メモリと、ネットワーク通信能力とを含むハードウェアサーバであってもよい。図示された実現化例では、サーバ129は、信号線120を介してネットワーク105に結合される。サーバ129は、ネットワーク105を介して、システム100の他のエンティティのうちの1つ以上との間でデータを送受信する。たとえば、サーバ129は、クライアント装置127から、3D映像データ(または圧縮された3D映像データ)のストリームおよび3D音声データ(または圧縮された3D音声データ)のストリームを含むVRコンテンツを受信し、そのVRコンテンツを、サーバ129に関連付けられた記憶装置に格納する。それに代えて、サーバ129は、クライアント装置127から未加工映像データおよび未加工音声データを受信し、VRコンテンツを作成するためにその未加工映像データおよび未加工音声データを集約するための集約システム131を含む。鑑賞システム133は、サーバ129またはクライアント装置127からVRコンテンツにアクセスしてもよい。
第2のサーバ198は、プロセッサと、メモリと、ネットワーク通信能力とを含むハードウェアサーバであってもよい。図示された実現化例では、第2のサーバ198は、信号線197を介してネットワーク105に結合される。第2のサーバ198は、ネットワーク105を介して、システム100の他のエンティティのうちの1つ以上との間でデータを送受信する。第2のサーバ198は、ライブ画像とコンピュータ生成画像とが組合わされるように、コンピュータ生成画像をストリームへの挿入のために集約システム131に提供してもよい。他の実現化例では、第2のサーバ198は、ライブコンテンツが音声トラックを含むように、ストリームへの挿入のために集約システム131に提供され得る音声トラックを提供する。たとえば、音声トラックはサウンドトラックである。
いくつかの実現化例では、第2のサーバ198は、集約システム131に提供される映像または音声を修正するための機能性を含む。たとえば、第2のサーバ198は、プロセッサによって実行され、音声のノイズキャンセル、音声のための反響効果、映像効果の挿入などを提供するように構成されたコードおよびルーチンを含む。したがって、第2のサーバ198は、集約システム131に関連付けられた映像および音声を増強または変換するように構成されてもよい。
いくつかの実現化例では、システム100は、2つ以上のカメラアレイ101と2つ以上のマイクロホンアレイ107とを含んでおり、ユーザは、2つ以上のカメラアレイ101の2点以上の視点を切替えてもよい。たとえば、システム100は、野球の試合などのライブイベントを記録するために使用されてもよい。ユーザは、第1のカメラアレイ101に関連付けられた第1の視点から野球の試合を見るために鑑賞システム133を使用してもよい。プレーが競技場で展開し、ユーザは、プレーのよりよい見晴らしを有するように視点を切替えたくなるかもしれない。ユーザは鑑賞システム133を介して集約システム131に入力を提供し、集約システム131は、プレーのよりよい見晴らしを提供する第2のカメラアレイ101に切替えてもよい。第2のカメラアレイ101は、ユーザの新しい見晴らし点に固有の異なる音をユーザに提供する異なるマイクロホンアレイ107に関連付けられてもよい。
図1Bは、ここに説明される少なくともいくつかの実現化例に従って配置された、バーチャルリアリティコンテンツを生成するために画像フレームおよび音声データを収集し、集約する例示的なシステム199のいくつかの実現化例のブロック図を示す。図示されたシステム199は、カメラアレイ101と、接続ハブ123と、マイクロホンアレイ107と、クライアント装置127と、鑑賞システム133とを含む。いくつかの実現化例では、システム199は加えて、サーバ129と、ソーシャルネットワークサーバ135と、コンテンツサーバ139と、広告サーバ141と、第2のサーバ198とを含む。クライアント装置127、鑑賞システム133、サーバ129、ソーシャルネットワークサーバ135、コンテンツサーバ139、第2のサーバ198、および広告サーバ141は、ネットワーク105を介して通信可能に結合されてもよい。
図1Bは、1つのカメラアレイ101と、1つの接続ハブ123と、1つのマイクロホンアレイ107と、1つのクライアント装置127と、1つのサーバ129と、1つのソーシャルネットワークサーバ135と、1つのコンテンツサーバ139と、1つの広告サーバ141と、1つの第2のサーバ198と、1つの鑑賞システム133とを示しているが、この開示は、1つ以上のカメラアレイ101と、1つ以上の接続ハブ123と、1つ以上のマイクロホンアレイ107と、1つ以上のクライアント装置127と、1つ以上のサーバ129と、1つ以上のソーシャルネットワークサーバ135と、1つ以上のコンテンツサーバ139と、1つ以上の広告サーバ141と、1つ以上の第2のサーバ198と、1つ以上の鑑賞システム133とを有するシステムアーキテクチャに当てはまる。さらに、図1Bはシステム199のエンティティに結合された1つのネットワーク105を示しているが、実際には、1つ以上のネットワーク105がこれらのエンティティに接続されてもよく、その1つ以上のネットワーク105はさまざまな異なるタイプのものであってもよい。
コンテンツシステム171は、クライアント装置127、サーバ129、またはシステム199の別のエンティティ上で動作可能であってもよい。鑑賞システム133はまた、コンテンツシステム171に結合されてもよく、コンテンツシステム171からバーチャルリアリティコンテンツを受信してもよい。第2のサーバ198は、コンテンツシステム171に関連付けられた映像および音声を増強または変換するように構成されてもよい。
広告サーバ141は、プロセッサと、メモリと、ネットワーク通信能力とを含むハードウェアサーバであってもよい。図示された実施形態では、広告サーバ141は、信号線114を介してネットワーク105に結合される。広告サーバ141は、ネットワーク105を介して、システム199の他のエンティティのうちの1つ以上との間でデータを送受信する。いくつかの実現化例では、広告サーバ141は、バーチャルリアリティコンテンツの一部としての表示のためにコンテンツシステム171によって要求された広告のための広告リポジトリである。
いくつかの実現化例では、広告サーバ141は、特定のユーザへの広告、さまざまなタイプのコンテンツ(たとえば、コンテンツサーバ139が供給するコンテンツ、クライアント装置127またはサーバ129が供給するバーチャルリアリティコンテンツ)とともに表示される広告、クライアント装置127、鑑賞システム133、またはユーザ134に関連付けられた特定の位置またはインターネット・プロトコル(Internet Protocol:IP)アドレスへの広告を標的にするための規則を含む。広告サーバ141は、広告を選択し、および/または標的にするための他の規則を含んでいてもよい。
いくつかの実現化例では、広告サーバ141は、鑑賞システム133によって表示されたバーチャルリアリティコンテンツに関連付けられたメタデータを受信し、そのメタデータに基づいて、バーチャルリアリティコンテンツとともに提示するための広告を選択する。たとえば、広告サーバ141は、バーチャルリアリティコンテンツに関連付けられたキーワードに基づいて、格納された広告を選択する。標的とされた広告をユーザに提供するために他の方法が可能であり、それらは、ここに説明される実現化例で代替的にまたは付加的に実現されてもよい。
コンテンツサーバ139は、プロセッサと、メモリと、ネットワーク通信能力とを含むハードウェアサーバであってもよい。図示された実施形態では、コンテンツサーバ139は、信号線116を介してネットワーク105に結合される。コンテンツサーバ139は、ネットワーク105を介して、システム199の他のエンティティのうちの1つ以上との間でデータを送受信する。コンテンツサーバ139によって提供されるコンテンツは、3D映像データおよび/または3D音声データとしてレンダリングされるように構成されたあらゆるコンテンツを含んでいてもよい。いくつかの実現化例では、コンテンツサーバ139によって提供されるコンテンツは、スポーツイベント、結婚式、記者会見または他のイベントなどのイベントの映像、映画、テレビ番組、ミュージックビデオ、グーグル(Google)(登録商標)ストリートビューマップなどのインタラクティブマップ、および任意の他のバーチャルリアリティコンテンツであってもよい。いくつかの実現化例では、コンテンツはビデオゲームを含む。他の実現化例では、コンテンツは、バーチャルリアリティコンテンツとして体験されるように構成された家族写真などの写真を含む。
いくつかの実現化例では、コンテンツサーバ139は、コンテンツシステム171、クライアント装置127、または鑑賞システム133からの要求に応答してコンテンツを提供する。たとえば、コンテンツサーバ139は、キーワードを使用して検索可能である。クライアント装置127、鑑賞システム133、またはコンテンツシステム171は、コンテンツサーバ139にキーワード検索を提供して、鑑賞システム133上で見られるべきコンテンツを選択する。いくつかの実現化例では、コンテンツサーバ139は、ユーザがコンテンツサーバ139に関連付けられたコンテンツを閲覧できるようにする。たとえば、コンテンツは購入用アイテムを含むバーチャル店舗を含んでおり、ユーザは店舗を3Dで見てまわってもよい。いくつかの実現化例では、コンテンツサーバ139はユーザにコンテンツ推薦を提供してもよい。たとえば、コンテンツサーバ139は、3D店舗内の購入用アイテムを推薦する。
ソーシャルネットワークサーバ135は、プロセッサと、メモリと、ネットワーク通信能力とを含むハードウェアサーバであってもよい。図示された実施形態では、ソーシャルネットワークサーバ135は、信号線118を介してネットワーク105に結合される。ソーシャルネットワークサーバ135は、ネットワーク105を介して、システム199の他のエンティティのうちの1つ以上との間でデータを送受信する。ソーシャルネットワークサーバ135は、ソーシャルネットワークアプリケーション137を含む。ソーシャルネットワークは、ユーザが共通の特徴によってつなげられ得る一種の社会的構造であってもよい。共通の特徴は、たとえば友情、家族、仕事、興味などの関係/つながりを含む。共通の特徴は、明示的でなくてもよい。たとえば、共通の特徴は、同じライブイベント(たとえば、サッカーの試合、コンサートなど)を見たり、同じビデオゲームをしたりするユーザを含んでいてもよい。いくつかの実現化例では、ユーザは、コンテンツシステム171および鑑賞システム133によって提供される機能性を使用して、イベントを見ている。共通の特徴は、明示的に定義された関係、および他のオンラインユーザとの社会的つながりによって暗示された関係を含む1つ以上のソーシャルネットワーキングシステムによって提供されてもよく、これらの関係はソーシャルグラフを形成する。いくつかの例では、ソーシャルグラフは、これらのユーザのマッピング、および、ユーザがどのようにつながっているかを反映していてもよい。
1つのソーシャルネットワークアプリケーション137を有するたった1つのソーシャルネットワークサーバ135が図示されているが、ネットワーク105に結合されたソーシャルネットワークが複数あってもよく、各々がそれ自体のサーバ、アプリケーション、およびソーシャルグラフを有する。たとえば、第1のソーシャルネットワークは、よりビジネスネットワーキングに向けられてもよく、第2のソーシャルネットワークは、より学問に向けられ、またはより学問中心であってもよく、第3のソーシャルネットワークは、より地元のビジネスに向けられてもよく、第4のソーシャルネットワークは出会いに向けられてもよく、他のソーシャルネットワークは一般的に興味のあることまたは特定の対象に向けられてもよい。別の実施形態では、ソーシャルネットワークアプリケーション137は、コンテンツシステム171の一部であってもよい。
いくつかの実現化例では、ソーシャルネットワークは、ユーザの1つ以上の社会的活動を記述するソーシャルフィードを提供するサービスを含む。たとえば、ソーシャルフィードは、ユーザの行動、表現された考え、表現された意見などを記述する、ユーザについての1つ以上のステータス更新を含む。いくつかの実現化例では、ソーシャルネットワークアプリケーション137によって提供されるサービスは、「ソーシャルネットワークサービス」と呼ばれる。他の実現化例が可能であり得る。
いくつかの実現化例では、ソーシャルネットワークサーバ135は、ユーザのソーシャルグラフからのデータを、そのユーザのためのバーチャルリアリティ体験に組込むために、カメラアレイ101、マイクロホンアレイ107、コンテンツシステム171、サーバ129、鑑賞システム133、およびクライアント装置127のうちの1つ以上と通信する。
ここで図2を参照して、ここに説明される少なくともいくつかの実現化例に従った集約システム131の一例を図示する。図2は、集約システム131と、メモリ237と、プロセッサ235と、記憶装置241と、通信部245とを含むコンピューティング装置200のブロック図である。図示された実現化例では、コンピューティング装置200の構成要素は、バス220によって通信可能に結合される。いくつかの実現化例では、コンピューティング装置200は、パーソナルコンピュータ、スマートフォン、タブレットコンピュータ、セットトップボックス、または任意の他のプロセッサベースのコンピューティング装置であってもよい。コンピューティング装置200は、図1Aのクライアント装置127、サーバ129、およびシステム100における別の装置のうちの1つであってもよい。
プロセッサ235は、計算を行ない、電子表示信号を表示装置に提供するための、算術論理演算ユニット、マイクロプロセッサ、汎用コントローラ、または何らかの他のプロセッサアレイを含んでいてもよい。プロセッサ235は、他の構成要素との通信のために信号線238を介してバス220に結合される。プロセッサ235はデータ信号を処理してもよく、複雑命令セットコンピュータ(complex instruction set computer:CISC)アーキテクチャ、縮小命令セットコンピュータ(reduced instruction set computer:RISC)アーキテクチャ、または命令セットの組合せを実現するアーキテクチャを含むさまざまなコンピューティングアーキテクチャを含んでいてもよい。図2は単一のプロセッサ235を含むが、複数のプロセッサが含まれていてもよい。他のプロセッサ、オペレーティングシステム、センサ、ディスプレイ、および物理的構成が可能であってもよい。
メモリ237は、ここに説明される機能性を提供するためにデータを格納する非一時的メモリを含む。メモリ237は、ダイナミックランダムアクセスメモリ(dynamic random access memory:DRAM)装置、スタティックランダムアクセスメモリ(static random access memory:SRAM)装置、フラッシュメモリ、または何らかの他のメモリ装置であってもよい。いくつかの実現化例では、メモリ237はまた、より永続的に情報を格納するための、ハードディスクドライブ、フロッピー(登録商標)ディスクドライブ、CD−ROM装置、DVD−ROM装置、DVD−RAM装置、DVD−RW装置、フラッシュメモリ装置、または何らかの他の大容量記憶装置を含む、不揮発性メモリまたは同様の永続的記憶装置および媒体を含む。メモリ237は、集約システム131がその機能性を提供するためのコード、ルーチンおよびデータを格納してもよい。メモリ237は、信号線244を介してバス220に結合される。
通信部245は、図1Aに示すシステム100のエンティティのうちのいずれかにデータを送信してもよい。同様に、通信部245は、図1Aに示すシステム100のエンティティのうちのいずれかからデータを受信してもよい。通信部245は、接続ハブ123から未加工映像データおよび未加工音声データを受信するための1つ以上のイーサネット(登録商標)スイッチを含んでいてもよい。通信部245は、信号線246を介してバス220に結合される。いくつかの実現化例では、通信部245は、図1Aのネットワーク105などのネットワークへの、または別の通信チャネルへの直接的な物理的接続のためのポートを含む。たとえば、通信部245は、別のコンピューティング装置との有線通信のためのUSB、SD、RJ45、または同様のポートなどのポートを含んでいてもよい。いくつかの実現化例では、通信部245は、IEEE802.11、IEEE802.16、BLUETOOTH(登録商標)、または別の好適な無線通信方法を含む1つ以上の無線通信方法を使用して別のコンピューティング装置または他の通信チャネルとデータを交換するための無線トランシーバを含む。
いくつかの実現化例では、通信部245は、ショートメッセージングサービス(SMS)、マルチメディアメッセージングサービス(MMS)、ハイパーテキスト転送プロトコル(HTTP)、直接データ接続、WAP、電子メール、または別の好適なタイプの電子通信を介することを含むセルラー通信ネットワーク上でデータを送受信するためのセルラー通信トランシーバを含む。いくつかの実現化例では、通信部245は、有線ポートと無線トランシーバとを含む。通信部245はまた、TCP/IP、HTTP、HTTPSおよびSMTPなどを含む標準ネットワークプロトコルを使用したデータの配信のための、ネットワークへの他の従来の接続を提供する。
記憶装置241は、ここに説明される機能性を提供するためにデータを格納する非一時的記憶媒体であってもよい。記憶装置241は、ダイナミックランダムアクセスメモリ(DRAM)装置、スタティックランダムアクセスメモリ(SRAM)装置、フラッシュメモリ、または何らかの他のメモリ装置であってもよい。いくつかの実現化例では、記憶装置241はまた、より永続的に情報を格納するための、ハードディスクドライブ、フロッピー(登録商標)ディスクドライブ、CD−ROM装置、DVD−ROM装置、DVD−RAM装置、DVD−RW装置、フラッシュメモリ装置、または何らかの他の大容量記憶装置を含む、不揮発性メモリまたは同様の永続的記憶装置および媒体を含む。記憶装置241は、信号線242を介してバス220に通信可能に結合される。
図2に示す実現化例では、集約システム131は、通信モジュール202と、較正モジュール204と、カメラマッピングモジュール206と、映像モジュール208と、補正モジュール210と、音声モジュール212と、ストリーム組合せモジュール214とを含む。集約システム131のこれらのモジュールは、バス220を介して互いに通信可能に結合される。
いくつかの実現化例では、集約システム131の各モジュール(たとえば、モジュール202、204、206、208、210、212、または214)は、以下に説明されるそのそれぞれの機能性を提供するためにプロセッサ235によって実行可能であるそれぞれの1組の命令を含んでいてもよい。いくつかの実現化例では、集約システム131の各モジュールは、コンピューティング装置200のメモリ237に格納されてもよく、プロセッサ235によってアクセス可能および実行可能であってもよい。集約システム131の各モジュールは、プロセッサ235およびコンピューティング装置200の他の構成要素と協働および通信するために適合されてもよい。
通信モジュール202は、集約システム131とコンピューティング装置200の他の構成要素との間の通信を扱うためのルーチンを含むソフトウェアであってもよい。通信モジュール202は、信号線222を介してバス220に通信可能に結合されてもよい。通信モジュール202は、図1Aに示すシステム100のエンティティのうちの1つ以上との間で通信部245を介してデータを送受信する。たとえば、通信モジュール202は、通信部245を介して接続ハブ123から未加工映像データを受信してもよく、その未加工映像データを映像モジュール208に転送してもよい。別の例では、通信モジュール202は、通信部245を介して、ストリーム組合せモジュール214からVRコンテンツを受信してもよく、そのVRコンテンツを鑑賞システム133に送信してもよい。
いくつかの実現化例では、通信モジュール202は、集約システム131の構成要素からデータを受信し、そのデータをメモリ237または記憶装置241に格納する。たとえば、通信モジュール202は、ストリーム組合せモジュール214からVRコンテンツを受信し、そのVRコンテンツをメモリ237または記憶装置241に格納する。いくつかの実現化例では、通信モジュール202は、メモリ237または記憶装置241からデータを検索し、そのデータを集約システム131の1つ以上の適切な構成要素に送信する。それに代えて、またはそれに加えて、通信モジュール202はまた、集約システム131の構成要素間の通信を扱ってもよい。
較正モジュール204は、カメラアレイ101におけるカメラモジュール103を較正するためのルーチンを含むソフトウェアであってもよい。較正モジュール204は、信号線224を介してプロセッサ235およびコンピューティング装置200の他の構成要素と協働および通信するために適合されてもよい。
いくつかの実現化例では、カメラモジュール103に含まれるレンズが、ある量の球状歪みを有する場合がある。カメラモジュール103で取り込まれた画像は、歪んだ画像からのパノラマ画像の生成中に補正される必要がある樽形歪みまたは糸巻形歪みを有する場合がある。樽形歪みは、「魚眼効果」と呼ばれる場合がある。カメラモジュール103ごとに、較正モジュール204は、対応するカメラモジュール103におけるレンズによって生じた関連付けられた歪みを判断するために、そのレンズを較正する。たとえば、公知の位置に配置された公知の形状(たとえば、公知の位置における市松模様)を有するテストパターンのスナップショットが、カメラモジュール103によって取り込まれてもよい。較正モジュール204は、テストパターンのスナップショットから、カメラモジュール103に含まれるレンズの特性を判断してもよい。レンズの特性は、レンズに関連付けられた歪みパラメータ、光心、および他の光学特性を含み得るものの、それらに限定されない。
較正モジュール204は、各レンズの特性を記述するデータを構成ファイルに格納する。構成ファイルは、カメラアレイ101におけるすべてのカメラモジュール103のすべてのレンズの特性を記述するデータを含んでいてもよい。たとえば、構成ファイルは、カメラアレイ101における各レンズについての歪みパラメータ、光心、および他の光学特性を記述するデータを含む。
それに代えて、またはそれに加えて、較正モジュール204は、カメラアレイ101の物理的特性の変動を判断するために、マルチカメラ幾何学的較正をカメラアレイ101に対して行なってもよい。たとえば、較正モジュール204は、カメラアレイ101における各レンズについてカメラ配向のわずかな変動を判断してもよく、カメラ配向のわずかな変動は、カメラアレイ101の設置または製造プロセス中に生じる人為ミスによって引き起こされ得る。別の例では、較正モジュール204は、各カメラモジュール103における対応するレンズの予測されるロール、ピッチおよびヨーにおけるエラーを推定してもよい。較正モジュール204は、各カメラモジュール103における対応するレンズについての位置および回転オフセットを判断してもよく、対応するレンズについての位置および回転オフセットを較正ファイルに格納してもよい。その結果、カメラアレイ101における各々2つのレンズの相対位置が、2つの対応するレンズの位置および回転オフセットに基づいて判断されてもよい。たとえば、各々2つのレンズ間の空間変換が、2つの対応するレンズの位置および回転オフセットに基づいて判断されてもよい。
カメラマッピングモジュール206は、左カメラマップおよび右カメラマップを構築するためのルーチンを含むソフトウェアであってもよい。カメラマッピングモジュール206は、信号線226を介してプロセッサ235およびコンピューティング装置200の他の構成要素と協働および通信するために適合されてもよい。
シーン全体のパノラマを表わすために、2次元(2D)球状パノラマ画像が使用されてもよい。映像モジュール208に関して以下に説明されるように、シーン全体の立体視を提供するために、両目のための2つの立体パノラマ画像が生成されてもよい。たとえば、左目視のために左パノラマ画像が生成されてもよく、右目視のために右パノラマ画像が生成されてもよい。例示的なパノラマ画像を図6Aに示す。
パノラマ画像における画素は、ヨー値およびピッチ値によって提示されてもよい。ヨーは中心の周りの回転を表わし、水平のx軸上に、
ヨー=3600×x/幅…(1)
として表わされてもよい。ヨーは00〜3600の値を有する。ピッチは上下回転を表わし、垂直のy軸上に、
ピッチ=900×(高さ/2−y)/(高さ/2)…(2)
として表わされてもよい。ピッチは−900〜900の値を有する。
パノラマ画像は、視差(たとえば、画素位置のシフト)を奥行きに変換する人間の脳の能力を活用することによって、実際の奥行き感を与え得る。たとえば、近くの物体は遠くの物体よりも大きい視差を有し得る。視差は、2つの画像間での位置の画素シフトを表わしていてもよい。視差は、両目の間の距離を表わす両眼間拒離によって生じ得る。各々の目は、わずかに異なる画像を受信するかもしれず、それが奥行き感を生み出す。
典型的な立体視システム(たとえば、3D映画)は、奥行き感を生み出すために、2つの異なる平面画像を両目にそれぞれ示してもよい。各平面画像では、画像におけるすべての画素が、片目で見た位置を表わす。たとえば、平面画像におけるすべての画素が、同じ視方向のビューを表わし得る。しかしながら、ここに説明されるパノラマ画像(左または右パノラマ画像)では、パノラマ画像における各画素は、わずかに異なる方向のビューを表わし得る。たとえば、左パノラマ画像における、ヨー∈[0°,360°]およびピッチ=00の位置にある画素は、頭がそのヨー値およびピッチ値によって示された位置へと回転される際の左目の目視位置を表わし得る。同様に、右パノラマ画像における、ヨー∈[0°,360°]およびピッチ=00の位置にある画素は、頭がそのヨー値およびピッチ値によって示された位置へと回転される際の右目の目視位置を表わし得る。ピッチ=00(たとえば、上下回転なし)については、頭がヨー=0°からヨー=360°まで回転される際、水平軸における全360度の頭部回転で、目視位置のための混合されたパノラマが生成され得る。
いくつかの実現化例では、混合されたパノラマは、水平軸に沿った頭部回転(たとえばヨー)については効果的であるものの、垂直軸(たとえばピッチ)については効果的ではない。ユーザが自分の頭を上方または下方に傾けるにつれて(たとえば、ピッチ≠0°)、球上の点に対するユーザの目の主要配向は、ピッチ=0°と比べてそれほど良好に規定されなくなり得る。たとえば、ユーザがピッチ=90°でまっすぐ上を見ると、球の北極点に対するユーザの目の配向はまったく不明瞭かもしれない。なぜなら、ユーザの目は、どのヨーからも球の北極点を見るかもしれないためである。立体視は、水平配向において支持される左/右眼球を使用して、上下方向において支持されないかもしれない。その結果、両眼視は、調節関数f(pitch)を用いて両眼間拒離を減少させることによって、徐々になくなるかもしれない。ピッチが0°から90°まで増加し、または0°から−90°まで減少するにつれて、調節関数f(pitch)の出力は1から0へと低下するかもしれない。たとえば、調節関数f(pitch)は、cos(pitch)を含んでいてもよい。両眼間拒離は、調節関数f(pitch)に基づいて調節されてもよい。たとえば、ピッチに関連付けられた両眼間拒離は、
両眼間拒離=max(両眼間拒離)×f(pitch)…(3)
として調節されてもよい。式中、max(両眼間拒離)は、両眼間拒離の最大値を表わす(たとえば、ピッチ=00の場合、両眼間拒離はその最高値にある)。f(pitch)=cos(pitch)の場合、両眼間拒離は、
両眼間拒離=max(両眼間拒離)×cos(pitch)…(4)
として表わされてもよい。
いくつかの例では、両眼間拒離の最大値は約60ミリメートルであってもよい。他の例では、両眼間拒離の最大値は、60ミリメートルよりも大きい、または60ミリメートルよりも小さい値を有していてもよい。
カメラマッピングモジュール206は、左パノラマ画像における画素ごとに対応する整合カメラモジュール103を識別する左カメラマップを構築してもよい。たとえば、パノラマにおける点を表わす左パノラマ画像における画素のために、左カメラマップは、他のカメラモジュール103と比較してパノラマにおける点について最良のビューを有する整合カメラモジュール103を識別してもよい。このため、左カメラマップは、左パノラマ画像における画素を、対応する画素について最良のビューを有する整合カメラモジュール103にマッピングしてもよい。画素のための整合カメラモジュール103の決定を、以下により詳細に説明する。
例示的なカメラマップを、図6Bを参照して示す。カメラマップは、左カメラマップまたは右カメラマップを含んでいてもよい。カメラマップは、(ヨー,ピッチ)を入力として使用してもよく、(整合カメラモジュールの識別子,x,y)という出力を生成してもよく、パノラマ画像における画素(ヨー,ピッチ)が、識別された整合カメラモジュールの画像平面における画素(x,y)として得られ得ることを示す。カメラマップは、出力(整合カメラモジュールの識別子,x,y)を、入力(ヨー,ピッチ)に関するマップエントリに格納してもよい。3D空間における点をカメラモジュールの画像平面における画素上にマッピングするために、カメラモジュールの画像平面における画素が、カメラモデル(たとえば、ピンホールカメラモデル、またはより複雑なレンズモデル)を使用することによって判断されてもよく、ここで、3D空間における点は、カメラモジュールから特定の距離にあると仮定される。たとえば、図7Aを参照して、点716についての距離は、点716からカメラアレイ101の中心までの距離を指してもよい。距離は、一定の半径で設定されてもよく、または、ピッチおよびヨーの関数として変化してもよい。距離は、(1)シーンを測定すること、(2)人間のオペレータによる手動調節、(3) 奥行きセンサを使用して、3D空間における点の奥行きを測定すること、または(4)ステレオ視差アルゴリズムを使用して奥行きを判断することによって判断されてもよい。
パノラマにおける点を表わす左パノラマ画像における画素ごとに、カメラマッピングモジュール206は、上述の数式(1)、(2)、および(3)をそれぞれ使用して、ヨー、ピッチ、および両眼間拒離を求めてもよい。カメラマッピングモジュール206は、そのヨーおよびピッチを使用して、パノラマにおける対応する点への左目の視方向(たとえば、左視方向)を表わすベクトルを構築してもよい。
いくつかの実現化例では、左パノラマ画像における画素のための、その画素のより良好なビューを有する整合カメラモジュール103は、左パノラマ画像における画素に対応するパノラマにおける点への視方向を有していてもよい。整合カメラモジュール103の視方向は、パノラマにおける同じ点への他のカメラモジュール103の他の視方向よりも、左視方向に近い。たとえば、図7Aを参照して、整合カメラモジュール103aの視方向714は、他のカメラモジュール103の他の視方向よりも、左視方向704により平行である。言い換えれば、左パノラマ画像における画素ごとに、左カメラマップは、他のカメラモジュール103の他の視方向よりも左視方向に最も平行である視方向を有する、対応する整合カメラモジュール103を識別してもよい。左視方向により平行である視方向を有する整合カメラモジュール103の図を、図7Aおよび図7Bを参照して示す。
同様に、カメラマッピングモジュール206は、右パノラマ画像における画素ごとに対応する整合カメラモジュール103を識別する右カメラマップを構築してもよい。たとえば、パノラマにおける点を表わす右パノラマ画像における画素のために、右カメラマップは、他のカメラモジュール103よりもパノラマにおける点についてより良好なビューを有する整合カメラモジュール103を識別してもよい。このため、右カメラマップは、右パノラマ画像における画素を、対応する画素についてより良好なビューを有する整合カメラモジュール103にマッピングしてもよい。
パノラマにおける点を表わす右パノラマ画像における画素ごとに、カメラマッピングモジュール206は、上述の数式(1)、(2)、および(3)をそれぞれ使用して、ヨー、ピッチ、および両眼間拒離を求めてもよい。カメラマッピングモジュール206は、そのヨーおよびピッチを使用して、パノラマにおける対応する点への右目の視方向(たとえば、右視方向)を表わすベクトルを構築してもよい。
いくつかの実現化例では、右パノラマ画像における画素のための、その画素のより良好なビューを有する整合カメラモジュール103は、右パノラマ画像における画素に対応するパノラマにおける点への視方向を有していてもよい。整合カメラモジュール103の視方向は、パノラマにおける同じ点への他のカメラモジュール103の他の視方向よりも、右視方向に近い。たとえば、整合カメラモジュール103の視方向は、他のカメラモジュール103の他の視方向よりも、右視方向により平行である。言い換えれば、右パノラマ画像における画素ごとに、右カメラマップは、他のカメラモジュール103の他の視方向よりも右視方向に最も平行である視方向を有する、対応する整合カメラモジュール103を識別してもよい。
カメラアレイ101の物理的構成は一定であるため、左および右カメラマップはそれぞれ異なる左および右パノラマ画像について同じである。左および右カメラマップは、オンザフライ計算と比較してより迅速な処理速度を達成するために、予め計算され、格納されてもよい。
映像モジュール208は、VR表示装置上で再生されると3D映像をレンダリングするように構成された3D映像データのストリームを生成するためのルーチンを含むソフトウェアであってもよい。映像モジュール208は、信号線280を介してプロセッサ235およびコンピューティング装置200の他の構成要素と協働および通信するために適合されてもよい。3D映像データのストリームは、経時変化し得るシーンの立体パノラマを記述してもよい。3D映像データのストリームは、左目視のための左パノラマ画像のストリームおよび右目視のための右パノラマ画像のストリームを含んでいてもよい。
いくつかの実現化例では、映像モジュール208は、カメラアレイ101におけるさまざまなカメラモジュール103から、画像フレームを記述する未加工映像データを受信する。映像モジュール208は、カメラモジュール103の各々に関連付けられた位置およびタイミングを識別し、カメラモジュール103の位置およびタイミングに基づいて画像フレームを同期させる。映像モジュール208は、異なるカメラモジュール103によって同時に取り込まれた対応する画像フレームを同期させる。
たとえば、映像モジュール208は、第1のカメラモジュール103から画像フレームの第1のストリームを受信し、第2のカメラモジュール103から画像フレームの第2のストリームを受信する。映像モジュール208は、第1のカメラモジュール103がヨー=00およびピッチ=00の位置に位置し、第2のカメラモジュール103がヨー=300およびピッチ=00の位置に位置すると識別する。映像モジュール208は、第1の特定の時間T=T0に取り込まれた第1のストリームからの第1の画像フレームを、同じ特定の時間T=T0に取り込まれた第2のストリームからの第2の画像フレームと関連付け、第2の特定の時間T=T1に取り込まれた第1のストリームからの第3の画像フレームを、同じ特定の時間T=T1に取り込まれた第2のストリームからの第4の画像フレームと関連付けることなどにより、画像フレームの第1のストリームを画像フレームの第2のストリームと同期させる。
いくつかの実現化例では、映像モジュール208は、同期された画像フレームにおける較正エラーを補正モジュール210が補正するように、同期された画像フレームを補正モジュール210に送信する。たとえば、補正モジュール210は、画像フレームにおけるレンズ歪み、配向エラー、および回転エラーなどを補正してもよい。補正モジュール210は、較正エラーを補正した後で、画像フレームを映像モジュール208に送り返してもよい。
映像モジュール208は、カメラマッピングモジュール206から左カメラマップおよび右カメラマップを受信してもよい。それに代えて、映像モジュール208は、記憶装置241またはメモリ237から左および右カメラマップを検索してもよい。映像モジュール208は、左カメラマップに基づいて、画像フレームから左パノラマ画像のストリームを構築してもよい。たとえば、映像モジュール208は、左カメラマップにリストされた整合カメラモジュール103を識別する。映像モジュール208は、第1の特定の時間T=T0に整合カメラモジュール103によって取り込まれた画像フレームをつなぎ合わせることにより、第1の左パノラマ画像PIL,0を構築する。映像モジュール208は、第2の特定の時間T=T1に整合カメラモジュール103によって取り込まれた画像フレームをつなぎ合わせることにより、第2の左パノラマ画像PIL,1を構築し、以降同様である。映像モジュール208は、第1の左パノラマ画像PIL,0、第2の左パノラマ画像PIL,1、および他の構築された左パノラマ画像を含むように、左パノラマ画像のストリームを構築する。
具体的には、特定の時間T=Ti(i=0、1、2、…)での左パノラマ画像PIL,iにおける画素について、映像モジュール208は、(1)左カメラマップから整合カメラモジュール103を識別し、(2)左パノラマ画像PIL,iにおける画素を、特定の時間T=Tiに整合カメラモジュール103によって取り込まれた画像フレームからの対応する画素となるように構成する。左パノラマ画像PIL,iにおける画素と、整合カメラモジュール103の画像フレームにおける対応する画素とは、パノラマにおける同じ点に対応していてもよい。たとえば、パノラマにおける点に対応する左パノラマ画像PIL,iにおける画素位置について、映像モジュール208は、(1)特定の時間T=Tiに整合カメラモジュール103によって取り込まれた画像フレームから、パノラマにおける同じ点に同じく対応する画素を検索し、(2)整合カメラモジュール103の画像フレームからの画素を、左パノラマ画像PIL,iの画素位置に配置する。
同様に、映像モジュール208は、左パノラマ画像のストリームの構築に関して上述されたものと同様の動作を行なうことにより、右カメラマップに基づいて、画像フレームから右パノラマ画像のストリームを構築する。たとえば、映像モジュール208は、右カメラマップにリストされた整合カメラモジュール103を識別する。映像モジュール208は、第1の特定の時間T=T0に整合カメラモジュール103によって取り込まれた画像フレームをつなぎ合わせることにより、第1の右パノラマ画像PIR,0を構築する。映像モジュール208は、第2の特定の時間T=T1に整合カメラモジュール103によって取り込まれた画像フレームをつなぎ合わせることにより、第2の右パノラマ画像PIR,1を構築し、以降同様である。映像モジュール208は、第1の右パノラマ画像PIR,0、第2の右パノラマ画像PIR,1、および他の構築された右パノラマ画像を含むように、右パノラマ画像のストリームを構築する。
具体的には、特定の時間T=Ti(i=0、1、2、…)での右パノラマ画像PIR,iにおける画素について、映像モジュール208は、(1)右カメラマップから整合カメラモジュール103を識別し、(2)右パノラマ画像PIR,iにおける画素を、特定の時間T=Tiに整合カメラモジュール103によって取り込まれた画像フレームからの対応する画素となるように構成する。右パノラマ画像PIR,iにおける画素と、整合カメラモジュール103の画像フレームにおける対応する画素とは、パノラマにおける同じ点に対応していてもよい。
いくつかの実現化例では、映像モジュール208は、複数のカメラモジュール103に関連付けられた重みに従って複数のカメラモジュール103の画像フレームからの画素を混合することにより、左または右パノラマ画像における画素を構築してもよい。例示的な画素混合プロセスを、図8を参照して以下により詳細に説明する。
いくつかの実現化例では、左および右パノラマ画像は、水平面における立体視(たとえば、ヨー∈[00,3600]およびピッチ=00)のために最適化されてもよい。それに代えて、またはそれに加えて、左および右パノラマ画像は、ユーザの視方向に基づいて最適化されてもよい。たとえば、映像モジュール208は、ユーザの現在の視方向に基づいて、左パノラマ画像および右パノラマ画像のストリームを適応的に構築してもよい。左および右パノラマ画像のストリームによって提供されるパノラマは、ユーザの現在の視方向において高解像度を有し、逆の視方向において低解像度を有していてもよい。このパノラマは、指向性パノラマと呼ばれてもよい。ユーザが新しい視方向においてパノラマを見るために自分の頭を回転させるにつれて、指向性パノラマは、新しい視方向において高解像度を有し、新しい視方向とは反対の視方向において低解像度を有するように調節されてもよい。指向性パノラマのみが構築されるため、全体的に高解像度のパノラマを構築する場合と比較して、帯域幅および他のリソースが節約され得る。しかしながら、ユーザが視方向を急に変えなければ、3D鑑賞体験の品質は影響を受けない。
いくつかの実現化例では、構築された左または右パノラマ画像は、色欠陥を有する場合がある。たとえば、カメラモジュール103におけるレンズは異なる方向を指す場合があるため、異なるレンズについては、光および色の状態が違う場合がある。いくつかのカメラモジュール103によって撮られたいくつかの画像フレームは露光過多であるかもしれず、一方、他のカメラモジュール103によって撮られたいくつかの他の画像フレームは露光不足であるかもしれない。異なるカメラモジュール103からの画像フレーム間の露光または色欠陥は、左または右パノラマ画像の構築プロセス中に補正モジュール210によって補正されてもよい。
それに加えて、またはそれに代えて、隣接するカメラモジュール103間の視差により、構築された左または右パノラマ画像はつなぎ合わせアーチファクト(すなわち、つなぎ合わせエラー)を有するかもしれず、その場合、視点は、カメラモジュール103から隣接するカメラモジュール103に切替わる。カメラモジュール103から遠く離れた物体は取るに足りない視差を有するかもしれず、遠くの物体についてはつなぎ合わせエラーはないかもしれない。しかしながら、カメラモジュール103に近い物体は顕著な視差を有するかもしれず、近くの物体についてはつなぎ合わせエラーがあるかもしれない。つなぎ合わせエラーの補正については、補正モジュール210に関して以下により詳細に説明する。
補正モジュール210は、画像フレームまたはパノラマ画像における収差を補正するためのルーチンを含むソフトウェアであってもよい。補正モジュール210は、信号線228を介してバス220に通信可能に結合される。収差は、較正エラー、露光または色欠陥、つなぎ合わせアーチファクト、および他のタイプの収差を含み得る。つなぎ合わせアーチファクトは、左または右パノラマ画像を形成するためにさまざまなカメラモジュール103からの画像フレームをつなぎ合わせる際に映像モジュール208が犯すエラーを含み得る。補正モジュール210は、収差を識別するために、画像フレームまたはパノラマ画像を分析してもよい。補正モジュール210は、収差をマスクするかまたは補正するために、画像フレームまたはパノラマ画像を処理してもよい。補正モジュール210は、収差を自動的に補正してもよく、または、収差を手動で補正するために集約システム131のアドミニストレータにツールまたはリソースを提供してもよい。
いくつかの実現化例では、補正モジュール210は、カメラモジュール103によって取り込まれた画像フレームを受信し、それらの画像フレーム上の較正エラーを補正する。たとえば、補正モジュール210は、カメラモジュール103に関連付けられたレンズ歪みパラメータ、位置、および回転オフセットに基づいて、画像フレームにおけるレンズ歪み(たとえば、樽形歪みまたは糸巻形歪み)およびカメラ配向エラーを補正してもよい。
別の例では、補正モジュール210は、カメラモジュール103によって取り込まれた画像フレームを分析し、画像フレームに存在する較正エラーを判断し、カメラモジュール103を較正するために使用される較正因子を求めてもよい。較正因子は、カメラモジュール103によって取り込まれた画像フレームを、画像フレームがより少ないエラーを含むように自動的に修正するために使用されるデータを含んでいてもよい。いくつかの実現化例では、較正因子は、ユーザがVRコンテンツを消費する間に検出可能なエラーを画像フレームが含まないように、補正モジュール210によって画像フレームに適用される。たとえば、補正モジュール210は、較正エラーによって生じた画像フレームにおける欠陥を検出してもよい。補正モジュール210は、欠陥に関連付けられた1つ以上の画素を判断してもよい。補正モジュール210は、これらの画素に関連付けられた画素値を判断し、次に、欠陥が補正されるように較正因子を使用して画素値を修正してもよい。いくつかの実現化例では、較正因子はまた、カメラアレイ101の較正欠陥を手動で補正するために較正因子を使用するカメラアレイ101のアドミニストレータに提供されてもよい。
いくつかの実現化例では、補正モジュール210は、カメラアレイ101によって取り込まれた画像フレームにおける露光または色欠陥を検出し、補正してもよい。たとえば、補正モジュール210は、露光または色欠陥に関連付けられた1つ以上の画素を判断してもよい。補正モジュール210は、これらの画素に関連付けられた画素値を判断し、次に、鑑賞システム133を使用したVRコンテンツの消費中に露光または色欠陥がユーザ134によって検出できないように、画素値を修正してもよい。いくつかの実現化例では、カメラアレイ101のカメラモジュール103は重複する視野を有し、カメラアレイ101によって取り込まれた画像フレームにおける露光または色欠陥は、この重複を使用して補正または自動補正されてもよい。他の実現化例では、カメラアレイ101によって取り込まれた画像フレームにおける露光または色欠陥は、公知の値のカラーチャートに基づいた較正を使用して補正されてもよい。
いくつかの実現化例では、補正モジュール210は、近くの物体によって生じたつなぎ合わせエラーを補正してもよい。たとえば、物体がカメラアレイ101に近いほど、各カメラモジュール103から物体までの視角の差が大きくなる。つなぎ合わせ境界を横断する近くの物体は、不意に視角間を移行する場合があり、ひいては明らかな視覚的不連続性をもたらす場合がある。これはここに「近くの物体の問題」と呼ばれる場合がある。つなぎ合わせアーチファクトは、近くの物体について生じる場合がある。つなぎ合わせエラーを減少させるための1つの例示的なメカニズムは、単一の連続的な、球状の画像センサの理想に近づくように、カメラアレイ101の球状ハウジングケース全体にわたって分布されるカメラモジュール103の数を増加させることを含んでいてもよい。このメカニズムは、隣接するカメラ間の視角の差異を減少させ、ひいては、つなぎ合わせアーチファクトを減少させ得る。それに代えて、つなぎ合わせアーチファクトが減少するように、増加するカメラ密度をシミュレートするために、実在するカメラ間にバーチャルカメラを補間してもよい。バーチャルカメラを使用した画像つなぎ合わせは、「画像つなぎ合わせ」(Image Stitching)と題され、2014年8月21日に出願された米国出願第14/465,581号により詳細に記載されており、当該出願はその全体がここに引用により援用される。
音声モジュール212は、音声再生装置上で再生されると3D音声をレンダリングするように構成された3D音声データのストリームを生成するためのルーチンを含むソフトウェアであってもよい。音声モジュール212は、信号線230を介してバス220に通信可能に結合される。音声モジュール212は、マイクロホンアレイ107から受信された未加工音声データに基づいて、3D音声データを生成してもよい。いくつかの実現化例では、音声モジュール212は、映像モジュール208によって生成された3D映像データに対応する4チャンネルアンビソニック音声トラックを生成するために、未加工音声データを処理してもよい。4チャンネルアンビソニック音声トラックは、迫力ある360度の3D音声体験をユーザ134に提供し得る。
いくつかの実現化例では、4チャンネル音声トラックは、テトラミックマイクロホンなどのマイクロホンアレイ107によって、「A」フォーマットで記録されてもよい。音声モジュール212は、「A」フォーマットの4チャンネル音声トラックを、W、X、Y、およびZという4つの信号を含む「B」フォーマットに変換してもよい。W信号は、全指向性マイクロホンに対応する圧力信号を表わしていてもよく、X信号、Y信号、Z信号は、前後方向、左右方向、上下方向の指向性の音にそれぞれ対応していてもよい。いくつかの実現化例では、「B」フォーマットの信号は、モノモード、ステレオモード、バイノーラルモード、4つ以上のスピーカを含むサラウンドサウンドモード、および任意の他のモードを含むもののそれらに限定されない多くのモードで再生されてもよい。いくつかの例では、音声再生装置は1対のヘッドホンを含んでいてもよく、1対のヘッドホンでの音声再生のためにバイノーラル再生モードが使用されてもよい。音声モジュール212は、ユーザ134のために迫力ある3D聴取体験を有するバイノーラル音声を生成するために、頭部伝達関数(Head Related Transfer Function:HRTF)を用いて「B」フォーマットのチャンネルを畳み込んでもよい。
いくつかの実現化例では、音声モジュール212は、ユーザの頭部回転と一致するように音定位を提供するように構成された3D音声データを生成する。たとえば、音がユーザの右手側から出ていて、ユーザがその音に面するよう回転した場合、VRコンテンツの消費中に再生される音声は、それがまるでユーザの前から来るかのように聞こえる。
いくつかの実現化例では、未加工音声データは、記録された音の指向性を記述する指向性データを用いてコード化される。音声モジュール212は、ユーザの頭部配向の回転に基づいて再生中に再現される音を変更する3D音声データを生成するために、指向性データを分析してもよい。たとえば、音の指向性は、ユーザの頭部位置の角度と整合するように回転されてもよい。VRコンテンツが、頭上に木の枝の樹冠がある森を描くと仮定する。VRコンテンツ用の音声は、川の音を含む。指向性データは、川がユーザ134の背後にあることを示し、そのため、音声モジュール212によって生成される3D音声データは、再生中、川がまるでユーザ134の背後に位置するかのように聞こえるようにする音声を再現するように構成される。これは、3D音声データが指向性を再現するように構成されている一例である。川の音声を聞くと、ユーザ134は、川が自分の背後にあると感知するであろう。3D音声データは、ユーザ134が自分の頭を側方に傾けるにつれて水の音が変化するように構成される。傾斜角度が始点を基準として180度に近づくにつれて、川は、それがまるでユーザ134の前にあるかのように聞こえる。これは、3D音声データが、ユーザ134の頭部位置の角度に基づいて指向性を再現するように構成されている一例である。3D音声データは、川の音がよりはっきりと、より明瞭になり、ユーザ134が、水が自分からどれくらい離れているか、および水がどれくらいの速さで流れているかについてよりよく感知するように構成されてもよい。
ストリーム組合せモジュール214は、VRコンテンツを生成するために3D映像データのストリームと3D音声データのストリームとを組合わせるためのルーチンを含むソフトウェアであってもよい。ストリーム組合せモジュール214は、信号線229を介してバス220に通信可能に結合される。3D映像データのストリームは、左目視のための左パノラマ画像のストリームおよび右目視のための右パノラマ画像のストリームを含む。左パノラマ画像のストリームと右パノラマ画像のストリームとの間には、冗長性が存在する。
ストリーム組合せモジュール214は、圧縮された3D映像データのストリームを生成するために、映像圧縮手法を使用して左パノラマ画像のストリームおよび右パノラマ画像のストリームを圧縮してもよい。いくつかの実現化例では、左または右パノラマ画像の各ストリーム内で、ストリーム組合せモジュール214は、対応するストリームのサイズを減少させるために、1つのフレームから次のフレームに冗長情報を使用してもよい。たとえば、第1の画像フレーム(たとえば参照フレーム)を参照して、次の画像フレームにおける冗長情報が、次の画像フレームのサイズを減少させるために除去されてもよい。この圧縮は、左または右パノラマ画像の同じストリーム内での時間的圧縮またはフレーム間圧縮と呼ばれる場合がある。
それに代えて、またはそれに加えて、ストリーム組合せモジュール214は、一方のストリーム(左パノラマ画像のストリームまたは右パノラマ画像のストリームのいずれか)を参照ストリームとして使用し、その参照ストリームに基づいて他方のストリームを圧縮してもよい。この圧縮は、ストリーム間圧縮と呼ばれる場合がある。たとえば、ストリーム組合せモジュール214は、各左パノラマ画像を、対応する右パノラマ画像のための参照フレームとして使用してもよく、参照された左パノラマ画像に基づいて対応する右パノラマ画像を圧縮してもよい。
いくつかの実現化例では、ストリーム組合せモジュール214は、VRコンテンツのストリームを形成するために、3D映像データ(または圧縮された3D映像データ)3D音声データのストリームをコード化してもよい。たとえば、ストリーム組合せモジュール214は、H.264を使用して3D映像データのストリームを圧縮し、アドバンスト・オーディオ・コーディング(advanced audio coding:AAC)を使用して3D音声データのストリームを圧縮してもよい。別の例では、ストリーム組合せモジュール214は、標準MPEGフォーマットを使用して、3D映像データのストリームおよび3D音声データのストリームを圧縮してもよい。VRコンテンツは、3D映像データのストリーム(または圧縮された3D映像データのストリーム)、3D音声データのストリーム(または圧縮された3D音声データのストリーム)、コンテンツサーバ139からのコンテンツデータ、広告サーバ141からの広告データ、ソーシャルネットワークサーバ135からのソーシャルデータ、および任意の他の好適なVRコンテンツの任意の組合せを使用して、ストリーム組合せモジュール214によって構築されてもよい。
いくつかの実現化例では、VRコンテンツは、MP4、WebM、VP8、および任意の他の好適なフォーマットなどのコンテナフォーマットでパッケージ化されてもよい。VRコンテンツは、クライアント装置127またはサーバ129にファイルとして格納されてもよく、ユーザ134のためにクライアント装置127またはサーバ129から鑑賞システム133へストリーミングされてもよい。それに代えて、VRコンテンツは、デジタル多用途ディスク(digital versatile disc:DVD)、フラッシュメモリ、または別のタイプの記憶装置に格納されてもよい。
ここで図3を参照して、ここに説明される少なくともいくつかの実現化例に従った、VRコンテンツを生成するために画像フレームおよび音声データを集約するための例示的な方法300を説明する。方法300は、図1および図2に関して説明される。別々のブロックとして図示されているが、さまざまなブロックは、所望の実現化例に依存して、追加のブロックになるよう分割されてもよく、より少ないブロックになるよう組合わされてもよく、または削除されてもよい。
図3の図示された実現化例では、方法300は、通信モジュール202が未加工映像データを受信するステップ(302)を含んでいてもよい。未加工映像データは、カメラモジュール103からの画像フレームを記述してもよい。通信モジュール202は、マイクロホンアレイ107から未加工音声データを受信する(304)。映像モジュール208は、3D映像データのストリームを生成するために画像フレームを集約する(306)。3D映像データのストリームは、左パノラマ画像のストリームおよび右パノラマ画像のストリームを含む。音声モジュール212は、未加工音声データから3D音声データのストリームを生成する(310)。ストリーム組合せモジュール214は、3D映像データのストリームおよび3D音声データのストリームを含むVRコンテンツを生成する(312)。
ここに開示されたこのおよび他のプロセスおよび方法のために、これらのプロセスおよび方法で行なわれる機能は異なる順序で実現されてもよい、ということを、当業者であれば理解するであろう。さらに、概説されたステップおよび動作は単に例として提供されており、これらのステップおよび動作のうちのいくつかは、開示された実現化例の本質を損なうことなく、オプションであってもよく、より少ないステップおよび動作になるよう組合わされてもよく、または追加のステップおよび動作になるよう拡張されてもよい。
図4A〜図4Cは、いくつかの実現化例に従った、VRコンテンツを生成するために画像フレームおよび音声データを集約するための別の例示的な方法400を示す。方法400は、図1および図2に関して説明される。別々のブロックとして図示されているが、さまざまなブロックは、所望の実現化例に依存して、追加のブロックになるよう分割されてもよく、より少ないブロックになるよう組合わされてもよく、または削除されてもよい。
図4Aを参照して、較正モジュール204は、カメラアレイ101におけるカメラモジュール103を較正する(402)。通信モジュール202は、カメラモジュール103から画像フレームを記述する未加工映像データを受信する(404)。通信モジュール202は、マイクロホンアレイ107から未加工音声データを受信する(406)。映像モジュール208は、カメラモジュール103の各々に関連付けられた位置およびタイミングを識別する(408)。映像モジュール208は、カメラモジュール103に関連付けられた位置およびタイミングに基づいて、画像フレームを同期させる(410)。カメラマッピングモジュール206は、左カメラマップおよび右カメラマップを構築する(412)。左カメラマップは、左パノラマ画像における画素のための整合カメラモジュール103を識別する。たとえば、パノラマにおける点を表わす左パノラマ画像における画素のために、左カメラマップは、他のカメラモジュール103よりもその点へのより良好なビューを有する整合カメラモジュール103を識別する。同様に、右カメラマップは、右パノラマ画像における画素のための整合カメラモジュール103を識別する。
図4Bを参照して、映像モジュール208は、左カメラマップに基づいて、画像フレームから左パノラマ画像のストリームを生成する(414)。たとえば、映像モジュール208は、左カメラマップに基づいて、左パノラマ画像における画素のための整合カメラモジュール103を識別する。映像モジュール208は、対応する左パノラマ画像を形成するために、特定の時間に対応する整合カメラモジュール103によって取り込まれた画像フレームをつなぎ合わせる。補正モジュール210は、左パノラマ画像における色欠陥を補正する(416)。補正モジュール210は、左パノラマ画像におけるつなぎ合わせエラーを補正する(418)。
映像モジュール208は、右カメラマップに基づいて、画像フレームから右パノラマ画像のストリームを生成する(420)。たとえば、映像モジュール208は、右カメラマップに基づいて、右パノラマ画像における画素のための整合カメラモジュール103を識別する。映像モジュール108は、対応する右パノラマ画像を形成するために、特定の時間に対応する整合カメラモジュール103によって取り込まれた画像フレームをつなぎ合わせる。補正モジュール210は、右パノラマ画像における色欠陥を補正する(422)。補正モジュール210は、右パノラマ画像におけるつなぎ合わせエラーを補正する(424)。
図4Cを参照して、ストリーム組合せモジュール214は、3D映像データの圧縮されたストリームを生成するために、左パノラマ画像のストリームおよび右パノラマ画像のストリームを圧縮する(426)。音声モジュール212は、未加工音声データから3D音声データのストリームを生成する(428)。ストリーム組合せモジュール214は、3D映像データの圧縮されたストリームおよび3D音声データのストリームを含むVRコンテンツを生成する(430)。いくつかの実現化例では、ストリーム組合せモジュール214はまた、3D音声データの圧縮されたストリームを形成するために3D音声データのストリームを圧縮してもよく、VRコンテンツは、3D映像データの圧縮されたストリームおよび3D音声データの圧縮されたストリームを含んでいてもよい。
図5は、ここに説明される少なくともいくつかの実現化例に従って配置された、特定の時間に複数のカメラモジュール103a、103b…103nによって取り込まれた複数の画像フレームから左パノラマ画像および右パノラマ画像を生成する例示的なプロセス500を示す。特定の時間T=Ti(i=0、1、2、…)に、カメラモジュール103aは画像フレーム502aを取り込み、カメラモジュール103bは画像フレーム502bを取り込み、カメラモジュール103nは画像フレーム502nを取り込む。映像モジュール208は、画像フレーム502a、502b、および502nを受信する。映像モジュール208は、左カメラマップ504に基づいて左パノラマ画像508を生成し、右カメラマップ506に基づいて右パノラマ画像510を生成するために、画像フレーム502a、502b、および502nを集約する。左パノラマ画像508および右パノラマ画像510は、特定の時間T=Tiに関連付けられる。
図6Aは、ここに説明される少なくともいくつかの実現化例に従って配置された、例示的なパノラマ画像を示す図解600である。パノラマ画像は、水平面における回転を表わす第1の軸「ヨー」と、垂直方向での上下回転を表わす第2の軸「ピッチ」とを有する。パノラマ画像は、シーンパノラマの360度の球全体をカバーする。パノラマ画像における位置[ヨー,ピッチ]での画素は、「ヨー」値と「ピッチ」値とを有する頭部回転で見られるパノラマにおける点を表わす。このため、パノラマ画像は、単一の頭部位置からのシーンの単一のビューではなく、さまざまな頭部回転からの混合されたビューを含む。
図6Bは、ここに説明される少なくともいくつかの実現化例に従って配置された、例示的なカメラマップを示す図解650である。例示的なカメラマップは、パノラマ画像のカメラ区分652aおよび652bにおける第1の画素を第1の整合カメラモジュール103に整合させ、カメラ区分654における第2の画素を第2の整合カメラモジュール103に整合させ、カメラ区分656aおよび656bにおける第3の画素を第3の整合カメラモジュール103に整合させる。カメラ区分652aおよび652b内のパノラマ画像の第1の画素については、第1の画素のための値は、第1の整合カメラモジュール103によって取り込まれた第1の画像フレームにおける対応する画素値であるように構成されてもよい。同様に、カメラ区分654内のパノラマ画像の第2の画素については、第2の画素のための値は、第2の整合カメラモジュール103によって取り込まれた第2の画像フレームにおける対応する画素値であるように構成されてもよい。カメラ区分656aおよび656b内のパノラマ画像の第3の画素については、第3の画素のための値は、第3の整合カメラモジュール103によって取り込まれた第3の画像フレームにおける対応する画素値であるように構成されてもよい。この例では、パノラマ画像は、第1の整合カメラモジュール103からの第1の画像フレームの一部、第2の整合カメラモジュール103からの第2の画像フレームの一部、第3の整合カメラモジュール103からの第3の画像フレームの一部、および他の整合カメラモジュール103からの他の画像フレームの一部を使用してつなぎ合わされる。
図7Aおよび図7Bは、ここに説明される少なくともいくつかの実現化例に従って配置された、左および右パノラマ画像における画素のための整合カメラモジュール103を選択する例示的なプロセスを示す図解700および730である。図7Aを参照して、カメラアレイ101は、球状ハウジング上に搭載されたカメラモジュール103a、103b、103c、103dおよび他のカメラモジュールを含む。点716は、ヨー=900およびピッチ=00を有する頭部回転位置に対応すると仮定する。左目の位置718と右目の位置720との間には、両眼間拒離712が示されている。ピッチ=00であるため、両眼間拒離712はその最大値にある。左目の位置718および右目の位置720は、(1)点716からカメラアレイ101の中心まで第1の線を引き、(2)現在のピッチ値に基づいて両眼間拒離を求め、(3)第1の線に垂直であり、かつヨー=[00,3600]およびピッチ=00を有する平面と平行である第2の線(ここで、第2の線は、求められた両眼間拒離と等しい長さを有し、カメラアレイ101の中心を中心とする)を引き、(4)第2の線の左端点を左目の位置718として構成し、第2の線の右端点を右目の位置720として構成することによって、定められてもよい。
左目の位置718から点716への左視方向704と、右目の位置720から点716への右視方向708とが、図7Aに示されている。カメラモジュール103a、103b、および103cは、点716への視方向714、722、710をそれぞれ有する。
カメラモジュール103aの視方向714は、他の視方向722および710と比較して、左視方向704により平行である(たとえば、視方向714と左視方向704との間の角度は、左視方向704と他の視方向722および710との間の角度よりも小さい)ため、カメラモジュール103aが、左カメラマップにおいて、他のカメラモジュールよりも点716についてより良好なビューを有する整合カメラモジュールとして選択される。カメラモジュール103cの視方向710は、他の視方向722および714と比較して、右視方向708により平行であるため、カメラモジュール103cが、右カメラマップにおいて、他のカメラモジュールよりも点716についてより良好なビューを有する整合カメラモジュールとして選択される。
図7Bを参照して、パノラマにおける点736は、ヨー=800およびピッチ=00を有する頭部回転位置に対応すると仮定する。左目の位置748と右目の位置749との間には、両眼間拒離742が図示されている。左目の位置748から点736への左視方向734と、右目の位置749から点736への右視方向740とが、図7Bに示されている。カメラモジュール103a、103b、103c、および103dは、点736への視方向732、738、744、731をそれぞれ有する。カメラモジュール103aの視方向732は、他の視方向738、744、731と比較して、左視方向734により平行であるため、カメラモジュール103aが、左カメラマップにおいて、点736についてより良好なビューを有する整合カメラモジュールとして選択される。カメラモジュール103bの視方向738は、他の視方向731、734、744と比較して、右視方向740により平行であるため、カメラモジュール103bが、右カメラマップにおいて、点736についてより良好なビューを有する整合カメラモジュールとして選択される。
いくつかの実現化例では、左目視のための左パノラマ画像における点736のための整合カメラモジュールを判断する動作は、(1)それぞれの視野に点736を有する1組のカメラモジュールを判断する、(2)左目の位置748から点736への左視方向734を判断する、(3)1組のカメラモジュールについて、点736への1組の視方向を判断する、(4)1組の視方向から視方向732を選択する(ここで、視方向732は、左視方向734と1組のうちの他の視方向との間に形成される角度と比較して、左視方向734と最小角度を形成する(言い換えれば、視方向732は、他の視方向よりも、左視方向734により平行である))、および(5)点736のための整合カメラモジュールを、視方向732を有するカメラモジュール103aとして構成する、と要約され得る。左パノラマ画像における点736のための整合カメラモジュールを判断するための他のいくつかの費用関数は、それらの費用関数が左目の位置748からのビューへの最良の近似の何らかの概念を定義し得る限り、可能である。
同様に、右目視のための右パノラマ画像における点736のための整合カメラモジュールを判断する動作は、(1)それぞれの視野に点736を有する1組のカメラモジュールを判断する、(2)右目の位置749から点736への右視方向740を判断する、(3)1組のカメラモジュールについて、点736への1組の視方向を判断する、(4)1組の視方向から視方向738を選択する(ここで、視方向738は、右視方向740と1組のうちの他の視方向との間に形成される角度と比較して、右視方向740と最小角度を形成する)、および(5)点736のための整合カメラモジュールを、視方向738を有するカメラモジュール103bとして構成する、と要約され得る。右パノラマ画像における点736のための整合カメラモジュールを判断するための他のいくつかの費用関数は、それらの費用関数が右目の位置749からのビューへの最良の近似の何らかの概念を定義し得る限り、可能である。
図8は、ここに説明される少なくともいくつかの実現化例に従って配置された、2つのカメラ区分の境界上の画素を混合する例示的なプロセスを示す図解800である。一例として、以下の説明は、2つのカメラ区分804および806の境界802上の画素を混合することを指す。より一般的には、その説明は、他のカメラ区分の境界上の画素を混合することにも当てはまる。
図8を参照して、例示的なカメラマップ810は、カメラ区分804および806における画素を、第1の整合カメラモジュール103および第2の整合カメラモジュール103にそれぞれマッピングする。言い換えれば、第1の整合カメラモジュール103は、他のカメラモジュールよりも、カメラ区分804における第1の画素についてより良好なビューを有し、第2の整合カメラモジュール103は、他のカメラモジュールよりも、カメラ区分806における第2の画素についてより良好なビューを有する。
カメラ区分804内に位置するパノラマ画像の画素については、それらの画素のための値は、第1の整合カメラモジュール103によって取り込まれた対応する画素値であるように構成されてもよい。同様に、カメラ区分806内に位置するパノラマ画像の画素については、それらの画素のための値は、第2の整合カメラモジュール103によって取り込まれた対応する画素値であるように構成されてもよい。しかしながら、境界802上のパノラマ画像の画素については、カメラモジュール間のわずかな色または照明の不整合によって生じる、目に見えるつなぎ目が、境界802上で低減または排除されるように、境界802上のパノラマ画像の画素値を形成するために、第1の整合カメラモジュール103によって取り込まれた第1の画素値は、第2の整合カメラモジュール103によって取り込まれた第2の画素値と混合されてもよい。
たとえば、第1のカメラモジュール103によって取り込まれた第1の画素値は、第1の高周波数部分と第1の低周波数部分とに分離されてもよく、第1のカメラモジュール103によって取り込まれた第2の画素値は、第2の高周波数部分と第2の低周波数部分とに分離されてもよい。第1の低周波数部分と第2の低周波数部分とは、混合された低周波数部分を形成するために、対応するカメラモジュールに関連付られた重みを使用して組合わされてもよい。第1の高周波数部分および第2の高周波数部分のうちの一方が選択され、混合された低周波数部分と組合わされて、境界802上で混合された画素のための画素値を形成してもよい。たとえば、混合された画素は、以下のように得られてもよい。
Figure 2016537903
式中、Mは、境界802上の画素を取り込むカメラモジュール(または整合カメラモジュール)の総数を表わし、Wiは、対応するカメラモジュールiについての重みを表わす。
カメラモジュールiの低周波数部分についての重みWiは、ユーザの視点がカメラモジュールiの視野境界に向かって動くにつれて低下し得る。たとえば、ユーザが自分の頭を回転させ、ユーザの視点がカメラモジュールiの視野からカメラモジュールi+1の視野に動くにつれて、カメラモジュールiの低周波数部分についての重みWiはゼロまで低下し、カメラモジュールi+1の低周波数部分についての重みWi+1はゼロから非ゼロ値に増加し得る。
いくつかの実現化例では、カメラモジュールの低周波数部分についての重みは、カメラマップに格納されてもよい。上述のように、カメラマップは、「(整合カメラモジュールの識別子,x,y)」というエントリを、入力(ヨー,ピッチ)に関するマップエントリに格納してもよく、ここで、入力(ヨー,ピッチ)は、パノラマ画像における画素(ヨー,ピッチ)を表わしていてもよく、(x,y)は、識別された整合カメラモジュールの画像平面における位置(x,y)での画素を表わしていてもよい。カメラマップはまた、識別された各整合カメラモジュールの低周波数部分についてのそれぞれの重みを格納してもよい。たとえば、カメラマップは、「(整合カメラモジュールの識別子,x,y,整合カメラモジュールの低周波数部分についての重み)」というエントリを、入力(ヨー,ピッチ)に関するマップエントリに格納してもよい。
図9Aおよび図9Bは、ここに説明される少なくともいくつかの実現化例に従って配置された、表現が向上した例示的なパノラマ画像(たとえば、左または右パノラマ画像)を示す図解900および920である。図9Aを参照して、例示的なパノラマ画像901は、赤道領域902(3600×900)と、北極領域904(たとえば、3600×450の天井領域)と、南極領域906(たとえば、3600×450の床領域)とを含んでいてもよい。赤道領域902は、北極領域904および南極領域906よりも歪みが少ない区域を含んでいてもよい。
領域902、904、および906を含むパノラマ画像901を使用してパノラマを構築するのではなく、赤道領域902と、正方形の北極部分924(900×900、北極は北極部分924の中心にある)と、正方形の南極部分926(900×900、南極は南極部分926の中心にある)とを使用して、パノラマを構築してもよい。言い換えれば、パノラマを構築するために、北極部分924および南極部分926はそれぞれ北極領域904および南極領域906にとって代わってもよい。たとえば、赤道領域902を球の中央区分に貼り、正方形の北極部分924を球の上部区分に貼り、正方形の南極部分926を球の底部区分に貼ることによって、パノラマを構築してもよい。北極部分924の周囲長は900×4=3600であり、それは赤道領域902の上縁と整合する。同様に、南極部分926の周囲長は900×4=3600であり、それは赤道領域902の底縁と整合する。
図9Aの領域902、904、および906を使用して構築されたパノラマと比較すると、赤道領域902、北極部分924、および南極部分926を使用して構築されたパノラマは、極領域において画素がより少なく(たとえば、25%少ない)、また、歪みがより少ない。部分924および926についての解像度は、赤道領域902についての解像度より低くてもよく、それは、パノラマを表わす効率をさらに向上させる。赤道領域902、北極部分924、および南極部分926は、図9Bに示すように矩形の画像として配置され、鑑賞システム133に送信されてもよい。
図10A〜10Cは、いくつかの実現化例に従った、カメラモジュール103の増加密度とパノラマ画像におけるつなぎ合わせエラーの減少との関係を示す図解1000、1040、および1060である。図10Aを参照して、4つのカメラモジュール(たとえば、カメラ1、2、3、および4)が2つの同心壁の内部に位置しており、円形の内壁1002は、円形の外壁1004よりも、カメラ1、2、3、および4に近く、かつ短い。パノラマビューを取り込むカメラが4つあるため、内壁1002および外壁1004のパノラマビューは、実線1006a、1006b、1006c、および1006dを使用して示すように、等しい4象限へと分割され得る。各カメラは、内壁1002のパノラマビューの対応する部分を取り込むために、広範な視野を必要とし得る。たとえば、カメラ2の広範な視野が、破線1008aおよび1008bを使用して示されている。
カメラ1、2、3、および4の中心は、内壁1002および外壁1004の中心と同じ場所に配置されていないため、各カメラは、外壁1004のビューよりもカメラ象限間の重複が少ない内壁1002のビューを有し得る。たとえば、カメラ2からの内壁1002および外壁1004のビューを、図10Bの左の図に示す。陰をつけた区域は重複を示す。異なるカメラからの画像をつなぎ合わせるために、各象限画像の境界は直線である必要があり得る。しかしながら、内壁1002および外壁1004双方についての重複をなくすことができる直線はないかもしれない。たとえば、外壁1004についての重複をなくす直線1042Aおよび1042Bは、内壁1002の一部を切り離す。このため、パノラマにおいて内壁1002の一部が消えるかもしれない。内壁1002についての重複をなくす直線1044Aおよび1044Bは、パノラマにおいて外壁1004の重複を残す。このため、パノラマにおいて外壁1004の一部が複製されるかもしれない。
カメラ象限間の重複を除去した後の内壁1002および外壁1004のビューを、図10Bの中央の図に示す。しかしながら、内壁1002は外壁1004よりもカメラ2に近いため、内壁1002のビューは、図10Bの中央の図に示すように外壁1004のビューよりもサイズが大きい。異なるカメラからの内壁1002および外壁1004のビューが、内壁1002のビューを調節せずにつなぎ合わされる場合、つなぎ合わせエラーが生じ得る。言い換えれば、視覚的に検出可能なつなぎ合わせエラーを回避するために、内壁1002のビューは、図10Bの右の図に示すように外壁1004のビューと一致するように調節されてもよい。
シーンにおけるさまざまな位置にさまざまな物体が位置するシナリオでは、遠くの物体のビューに適合するようにより近くの物体のビューを調節することは、難題であり得る。しかしながら、シーンを取り込むためにより多くのカメラが追加される場合(たとえば、カメラの密度が増加する場合)、各カメラはシーンを取り込むためにより狭い視野を使用し、内壁1002および外壁1004についての各カメラの視角は集束するであろう。その結果、異なるカメラからの画像の集約から生じるつなぎ合わせエラーは、低減または排除され得る。例として、カメラ2およびカメラ2の視角を、図10Cに示す。カメラ2のより狭い視野が使用される場合、カメラ2からの内壁1002および外壁1004の視角は集束するであろう。カメラアレイ101におけるカメラ密度を増加させるための例示的なメカニズムは、カメラアレイ101にバーチャルカメラを追加することを含んでいてもよく、それについて、図11〜15Bを参照して以下により詳細に説明する。
ここで図11を参照して、ここに説明される少なくともいくつかの実現化例に従った集約システム131の別の例を図示する。図11は、集約システム131と、メモリ1137と、プロセッサ1135と、記憶装置1141と、通信部1145とを含むコンピューティング装置1100のブロック図である。図示された実現化例では、コンピューティング装置1100の構成要素は、バス1120によって通信可能に結合される。いくつかの実現化例では、コンピューティング装置1100は、パーソナルコンピュータ、スマートフォン、タブレットコンピュータ、セットトップボックス、または任意の他のプロセッサベースのコンピューティング装置であってもよい。コンピューティング装置1100は、図1Aのクライアント装置127、サーバ129、およびシステム100における別の装置のうちの1つであってもよい。
プロセッサ1135は、計算を行ない、電子表示信号を表示装置に提供するための、算術論理演算ユニット、マイクロプロセッサ、汎用コントローラ、または何らかの他のプロセッサアレイを含んでいてもよい。プロセッサ1135は、他の構成要素との通信のために信号線1138を介してバス1120に結合される。プロセッサ1135はデータ信号を処理してもよく、複雑命令セットコンピュータ(CISC)アーキテクチャ、縮小命令セットコンピュータ(RISC)アーキテクチャ、または命令セットの組合せを実現するアーキテクチャを含むさまざまなコンピューティングアーキテクチャを含んでいてもよい。図11は単一のプロセッサ1135を含むが、複数のプロセッサが含まれていてもよい。他のプロセッサ、オペレーティングシステム、センサ、ディスプレイ、および物理的構成が可能であってもよい。
メモリ1137は、ここに説明される機能性を提供するためにデータを格納する非一時的メモリを含む。メモリ1137は、ダイナミックランダムアクセスメモリ(DRAM)装置、スタティックランダムアクセスメモリ(SRAM)装置、フラッシュメモリ、または何らかの他のメモリ装置であってもよい。いくつかの実現化例では、メモリ1137はまた、より永続的に情報を格納するための、ハードディスクドライブ、フロッピー(登録商標)ディスクドライブ、CD−ROM装置、DVD−ROM装置、DVD−RAM装置、DVD−RW装置、フラッシュメモリ装置、または何らかの他の大容量記憶装置を含む、不揮発性メモリまたは同様の永続的記憶装置および媒体を含む。メモリ1137は、集約システム131がその機能性を提供するためのコード、ルーチンおよびデータを格納してもよい。メモリ1137は、信号線1144を介してバス1120に結合される。
通信部1145は、図1Aに示すシステム100のエンティティのうちのいずれかにデータを送信してもよい。同様に、通信部1145は、図1Aに示すシステム100のエンティティのうちのいずれかからデータを受信してもよい。通信部1145は、接続ハブ123から未加工映像データおよび未加工音声データを受信するための1つ以上のイーサネット(登録商標)スイッチを含んでいてもよい。通信部1145は、信号線1146を介してバス1120に結合される。いくつかの実現化例では、通信部1145は、図1Aのネットワーク105などのネットワークへの、または別の通信チャネルへの直接的な物理的接続のためのポートを含む。たとえば、通信部1145は、別のコンピューティング装置との有線通信のためのUSB、SD、RJ45、または同様のポートなどのポートを含んでいてもよい。いくつかの実現化例では、通信部1145は、IEEE802.11、IEEE802.16、BLUETOOTH(登録商標)、または別の好適な無線通信方法を含む1つ以上の無線通信方法を使用して別のコンピューティング装置または他の通信チャネルとデータを交換するための無線トランシーバを含む。
いくつかの実現化例では、通信部1145は、ショートメッセージングサービス(SMS)、マルチメディアメッセージングサービス(MMS)、ハイパーテキスト転送プロトコル(HTTP)、直接データ接続、WAP、電子メール、または別の好適なタイプの電子通信を介することを含むセルラー通信ネットワーク上でデータを送受信するためのセルラー通信トランシーバを含む。いくつかの実現化例では、通信部1145は、有線ポートと無線トランシーバとを含む。通信部1145はまた、TCP/IP、HTTP、HTTPSおよびSMTPなどを含む標準ネットワークプロトコルを使用したデータの配信のための、ネットワークへの他の従来の接続を提供する。
記憶装置1141は、ここに説明される機能性を提供するためにデータを格納する非一時的記憶媒体であってもよい。記憶装置1141は、ダイナミックランダムアクセスメモリ(DRAM)装置、スタティックランダムアクセスメモリ(SRAM)装置、フラッシュメモリ、または何らかの他のメモリ装置であってもよい。いくつかの実現化例では、記憶装置1141はまた、より永続的に情報を格納するための、ハードディスクドライブ、フロッピー(登録商標)ディスクドライブ、CD−ROM装置、DVD−ROM装置、DVD−RAM装置、DVD−RW装置、フラッシュメモリ装置、または何らかの他の大容量記憶装置を含む、不揮発性メモリまたは同様の永続的記憶装置および媒体を含む。記憶装置1141は、信号線1142を介してバス1120に通信可能に結合される。
図11に示す実現化例では、集約システム131は、通信モジュール1102と、視差モジュール1104と、バーチャルカメラモジュール1106と、類似性スコアモジュール1108と、カメラマッピングモジュール1110と、映像モジュール1112と、音声モジュール1114と、ストリーム組合せモジュール1116とを含む。集約システム131のこれらのモジュールは、バス1120を介して互いに通信可能に結合される。
いくつかの実現化例では、集約システム131の各モジュール(たとえば、モジュール1102、1104、1106、1108、1110、1112、1114、または1116)は、以下に説明されるそのそれぞれの機能性を提供するためにプロセッサ1135によって実行可能であるそれぞれの1組の命令を含んでいてもよい。いくつかの実現化例では、集約システム131の各モジュールは、コンピューティング装置1100のメモリ1137に格納されてもよく、プロセッサ1135によってアクセス可能および実行可能であってもよい。集約システム131の各モジュールは、プロセッサ1135およびコンピューティング装置1100の他の構成要素と協働および通信するために適合されてもよい。
通信モジュール1102は、集約システム131とコンピューティング装置1100の他の構成要素との間の通信を扱うためのルーチンを含むソフトウェアであってもよい。通信モジュール1102は、信号線1122を介してバス1120に通信可能に結合されてもよい。通信モジュール1102は、図1Aに示すシステム100のエンティティのうちの1つ以上との間で通信部1145を介してデータを送受信する。たとえば、通信モジュール1102は、通信部1145を介して接続ハブ123から未加工映像データを受信してもよく、その未加工映像データを映像モジュール1112に転送してもよい。別の例では、通信モジュール1102は、通信部1145を介して、ストリーム組合せモジュール1116からVRコンテンツを受信してもよく、そのVRコンテンツを鑑賞システム133に送信してもよい。
いくつかの実現化例では、通信モジュール1102は、集約システム131の構成要素からデータを受信し、そのデータをメモリ1137または記憶装置1141に格納する。たとえば、通信モジュール1102は、ストリーム組合せモジュール1116からVRコンテンツを受信し、そのVRコンテンツをメモリ1137または記憶装置1141に格納する。いくつかの実現化例では、通信モジュール1102は、メモリ1137または記憶装置1141からデータを検索し、そのデータを集約システム131の1つ以上の適切な構成要素に送信する。それに代えて、またはそれに加えて、通信モジュール1102はまた、集約システム131の構成要素間の通信を扱ってもよい。
視差モジュール1104は、2つ以上のカメラモジュール103間の視差マップを推定するためのルーチンを含むソフトウェアであってもよい。視差モジュール1104は、信号線1124を介してバス1120に通信可能に結合されてもよい。いくつかの実現化例では、2つ以上のカメラモジュール103は、2つ以上の隣接するカメラモジュール103であってもよい。2つ以上の隣接するカメラモジュール103は、互いの近傍に位置し、重複する視野を有する、カメラアレイ101における2つ以上のカメラモジュール103を指していてもよい。それに代えて、2つ以上のカメラモジュール103は、隣接するカメラモジュールでなくてもよい。2つ以上のカメラモジュール103は、重複する視野を有していてもよい。説明の便宜上、およびその簡潔性のために、第1の隣接するカメラモジュール103(「カメラA」とも呼ばれる)および第2の隣接するカメラモジュール103(「カメラB」とも呼ばれる)に関して、視差マップの推定を以下に説明する。この説明は、3つ以上の隣接するカメラモジュール103間の視差マップの推定にも当てはまる。
カメラAおよびカメラBは、重複する視野を有していてもよい。この重複する視野内の物体は双方のカメラから見ることができ、これらのカメラによって取り込まれた画像フレームにおけるこれらの物体の見た目は、対応するカメラの視点に基づいて定められるであろう。たとえば、特定の時間に、カメラAは、あるシーンについての第1の画像を取り込み、カメラBは、そのシーンについての第2の画像を取り込んでもよい。第1の画像は、重複する視野において第2の画像からの第2のサブ画像と重複する第1のサブ画像を有していてもよい。第1のサブ画像は、重複する視野のある区域においてカメラBの視野と重複する、第1の画像の一部を表わしていてもよい。第2のサブ画像は、重複する視野のその区域においてカメラAの視野と重複する、第2の画像の一部を表わしていてもよい。説明の便宜上、第1のサブ画像は「画像AB」と呼ばれる場合があり、第2のサブ画像は「画像BA」と呼ばれる場合がある。画像ABおよび画像BAは、カメラAおよびカメラBの重複する視野において互いに重複する。
カメラAおよびカメラBの画像平面が同一平面でない場合、同一平面の画像を作り出すために、画像回転などの変換が適用されてもよい。カメラAおよびカメラBの画像平面が同一平面であり、2つのカメラの投影中心が、シーンにおける物体と比較して互いにより接近している場合、第1および第2の画像における物体の見た目は、主として、2つのカメラの投影中心を接続するエピポーラ線に沿ったそれらの変位が異なる場合がある。第1および第2の画像における物体の異なる見た目は、パララックスと呼ばれる場合があり、第1および第2の画像における物体位置の差は、視差と呼ばれる場合がある。視差の図を図18に示す。
視差マップは、個別の画素のレベルでの、2つのカメラ間の重複する視野内の視差を特定する2次元(2D)マップを表わしていてもよい。たとえば、カメラAからカメラBへの第1の視差マップは、画像ABから画像BAに画素の視差をマッピングしてもよく、視差(AB→BA)と呼ばれてもよい。カメラBからカメラAへの第2の視差マップは、画像BAから画像ABに画素の視差をマッピングしてもよく、視差(BA→AB)と呼ばれてもよい。第1の視差マップ「視差(AB→BA)」および第2の視差マップ「視差(BA→AB)」)は、略対称形であってもよく、閉塞点で異なってもよい。閉塞点とは、あるカメラには見えるものの、別のカメラには、その別のカメラからのビューが他の物体によって遮られるために見えない画素を指す場合がある。
たとえば、すべてのエピポーラ線が水平になるように、またはX軸に沿うように、カメラAをカメラBの左に水平に変位させると仮定する。画像ABおよび画像BAは双方とも、100画素×100画素というサイズをそれぞれ有する。第1の視差マップ「視差(AB→BA)」および第2の視差マップ「視差(BA→AB)」は各々、100×100というサイズを有し得る。なぜなら、第1および第2の視差マップは各々、重複する視野全体をカバーするためである。第1の視差マップ「視差(AB→BA)」における位置(8,4)でのマップエントリが「−5」という視差値を有する、すなわち、位置(8,4)での画像ABの画素が、位置(3,4)での画像BAの画素に対応する(たとえば、x座標値3=8−5)と仮定する。「−5」という視差値は、カメラAの投影中心をカメラBの投影中心に接続するエピポーラ線に沿ったエピポーラ方向とは反対の方向における「5」という視差を表わし得る。対称的に、第2の視差マップ「視差(BA→AB)」の位置(3,4)でのマップエントリは、「5」という視差値を有していてもよい。すなわち、位置(3,4)での画像BAの画素は、位置(8,4)での画像Aの画素に対応する(たとえば、x座標値8=3+5)。「5」という視差値は、エピポーラ線に沿ったエピポーラ方向における「5」という視差を表わし得る。
その結果、画像ABと第1の視差マップ「視差(AB→BA)」とを考慮すると、カメラBには見えるもののカメラAには見えない点以外で、画像BAの推定値が求められ得る。同様に、その結果、画像BAと第2の視差マップ「視差(BA→AB)」とを考慮すると、カメラAには見えるもののカメラBには見えない点以外で、画像ABの推定値が求められ得る。
視差モジュール1104は、画像ABの画素と画像BAの画素とを比較することによって、第1の視差マップ「視差(AB→BA)」を推定してもよい。カメラAおよびカメラBの露光、ゲイン、ホワイトバランス、焦点、および他の特性が同一ではない場合、画像ABおよび画像BAは、2つの画像間の輝度、色、および鮮明さを整合させるために調節されてもよい。画像ABにおける画素(x,y)について、1組の視差値が選択され、画素(x,y)についての1組の視差値に対応する1組の類似性スコアが、以下により詳細に説明されるような類似性スコアモジュール1108によって求められる。第1の視差マップ「視差(AB→BA)」の位置(x、y)でのマップエントリは、1組の類似性スコアからの最高類似性スコアを有する視差値と等しい値を有していてもよい。視差マップを推定する例示的な方法は、図14Aおよび図14Bを参照して説明される。
たとえば、画像ABおよび画像BAが水平視差を有すると仮定する。画像ABの画素(3,5)について、第1の視差値「0」が選択される。このため、第1の類似性スコアを求めるために、画像BAの画素(3,5)が画像ABの画素(3,5)と比較される。なぜなら、画像BAの画素(3,5)は、画像ABの画素(3,5)に対して視差「0」を有するためである。次に、第2の視差値「−1」が選択され、第2の類似性スコアを求めるために、画像BAの画素(2,5)が画像ABの画素(3,5)と比較される。なぜなら、画像ABの画素(3,5)は、画像BAの画素(2,5)に対して視差「−1」を有するためである。同様に、画像ABの画素(3,5)について、他の視差値が選択され、対応する類似性スコアが求められてもよい。第1の視差マップ「視差(AB→BA)」の位置(3,5)でのマップエントリは、求められた類似性スコアからの最高類似性スコアに対応する視差値を有するように構成されてもよい。
視差値は、整数値(たとえば、0、−1、1、−2、2、…)または非整数値を含んでいてもよい。非整数視差値は、画素補間を使用して類似性スコアを求めるために使用されてもよい。視差値についての最大絶対値は、シーンにおける物体がどれくらいカメラに近づくと予想されるかに基づいて求められてもよい。
同様に、視差モジュール1104は、上述のものと同様の動作を行なうことによって、第2の視差マップ「視差(BA→AB)」を推定してもよい。それに代えて、視差モジュール1104は、第1の視差マップ「視差(AB→BA)」から第2の視差マップ「視差(BA→AB)」を推定してもよい。たとえば、第1の視差マップの位置(x,y)でのマップエントリが「d」という視差値を有する場合、第2の視差マップの位置(x+d,y)でのマップエントリは「−d」という視差値を有する。
いくつかの実現化例では、画像ABにおける1つ以上の画素は、画像BAにおいて対応する画素を有さないかもしれず、逆もまた同様である。なぜなら、シーンにおいて前景物体が背景物体を閉塞するかもしれないためである。視差モジュール1104は、類似性スコアしきい値を設定することによって画素閉塞を検出してもよい。たとえば、ある画素のための最高類似性スコアが類似性スコアしきい値未満である場合、視差マップにおけるその画素に対応するマップエントリは、画素閉塞を示すようにブランクになるように構成されてもよい。
いくつかの実現化例では、視差モジュール1104は、視差衝突を検出してもよい。各画素の視差は独立して求められ得るため、視差マップにおいて衝突が起こり得る。衝突とは、第1の画像における2つ以上の画素が第2の画像における共通の画素にマッピングし得ることを示す場合があり、これら2つ以上の画素は、衝突画素と呼ばれる場合がある。視差モジュール1104は、衝突画素から、より高い類似性スコアを有する衝突画素を選択してもよく、より高い類似性スコアを有する衝突画素を第2の画像における共通の画素にマッピングする視差マップにおける対応するマップエントリを構成してもよい。より低い類似性スコアを有する他の衝突画素については、視差モジュール1104は、画素閉塞を示すために、視差マップにおいて、関連付けられたマップエントリをブランクのままにしてもよい。
たとえば、第1の視差マップ「視差(AB→BA)」の計算中、画像ABにおける画素(10,13)および(7,13)はともに、視差値「−4」および「−1」、類似性スコア「10」および「8」をそれぞれ有して、画像BAにおける共通の画素(6,13)に対応するかもしれない。この例では、画像ABにおける画素(10,13)および(7,13)について、視差衝突が生じる。画素(10,13)は画素(7,13)よりも高い類似性スコアを有するため、視差モジュール1104は、位置(10,13)で視差値「−4」を有するマップエントリを構成し、位置(7,13)で画素閉塞を示すためにマップエントリをブランクになるように構成してもよい。
いくつかの実現化例では、視差モジュール1104は、閉塞画素のための視差値を推定してもよい。たとえば、視差モジュール1104は、閉塞画素に最も近い、エピポーラ線に沿った2つの非閉塞画素を判断してもよく、2つの非閉塞画素は各々、閉塞画素の一方側にある。2つの非閉塞画素は2つの視差値をそれぞれ有していてもよい。視差モジュール1104は、2つの視差値から小さい方の視差値を、閉塞画素のための視差値として選択してもよい。たとえば、エピポーラ線に沿った視差マップが、視差値「2」、「3」、「4」、「閉塞」、「閉塞」、「7」、「7」、「8」をそれぞれ有するマップエントリを含むと仮定する。視差モジュール1104は、マップエントリのための視差値がそれぞれ「2」、「3」、「4」、「4」、「4」、「7」、「7」、「8」となるように推定してもよく、ここで、閉塞されたマップエントリは視差値「4」および「4」を有すると推定されてもよい。
それに代えて、視差モジュール1104は、カメラに向かって傾斜する壁などの傾向特徴を取り込むために、視差の傾向をモデル化してもよい。たとえば、エピポーラ線に沿った視差マップが、視差値「1」、「2」、「3」、「閉塞」、「閉塞」、「9」、「9」、「10」をそれぞれ有するマップエントリを含むと仮定する。視差モジュール1104は、マップエントリのための視差値がそれぞれ「1」、「2」、「3」、「4」、「5」、「9」、「9」、「10」となるように推定してもよい。この例では、視差値「1」、「2」、および「3」は、増加する傾向を示していてもよく、閉塞されたマップエントリは、増加する傾向に続いて視差値「4」および「5」を有すると推定されてもよい。
いくつかの実現化例では、同じ重複する視野において3つ以上のカメラが重複するかもしれず、視差推定を向上させるために、異なるカメラからの視差情報を組合わせてもよい。たとえば、第1のカメラ、第2のカメラ、および第3のカメラの投影中心が、水平エピポーラ線に沿って位置すると仮定する。第1のカメラおよび第2のカメラは、シーンにおける物体を観察するための第1の対の左目視および右目視を形成してもよい。第2のカメラおよび第3のカメラは、シーンにおける物体を観察するための第2の対の左目視および右目視を形成してもよい。3つのカメラの投影中心が水平エピポーラ線に沿って等距離で間隔をあけている場合、理想的には、第1の対および第2の対はともに、シーンにおける同じ物体について同じ視差測定値を有するであろう。しかしながら、視差測定値はノイズを有し得るため、第1の対の第1の視差測定値は、第2の対の第2の視差測定値とは異なるかもしれない。第1の視差測定値および第2の視差測定値は、一致についてチェックするために使用されてもよく、測定精度を向上させるための視差測定値を生成するために組合わされてもよい。いくつかの実現化例では、視差マップはノイズがあるかもしれず、視差モジュール1104は、視差マップを平滑化するために、メジアンフィルタなどのエッジ保存フィルタを適用してもよい。
バーチャルカメラモジュール1106は、バーチャルカメラおよびバーチャルカメラのためのバーチャルカメラ画像を判断するためのルーチンを含むソフトウェアであってもよい。バーチャルカメラモジュール1106は、信号線1126を介してバス1120に結合されてもよい。いくつかの実現化例では、バーチャルカメラモジュール1106は、カメラアレイ101における隣接するカメラモジュール103間に1つ以上のバーチャルカメラを補間してもよい。たとえば、バーチャルカメラモジュール1106は、カメラAとカメラBとの間に1つ以上のバーチャルカメラを補間してもよく、カメラAおよびカメラBの位置に対する1つ以上のバーチャルカメラのための1つ以上の位置を判断してもよい。バーチャルカメラモジュール1106はまた、カメラアレイ101における他の隣接するカメラモジュール103間に他のバーチャルカメラを補間してもよい。
カメラAとカメラBとの間のバーチャルカメラごとに、バーチャルカメラモジュール1106は、第1の視差マップ「視差(AB→BA)」、第2の視差マップ「視差(BA→AB)」、ならびに、カメラAおよびカメラBの位置に対するバーチャルカメラの位置に基づいて、バーチャルカメラ画像を推定してもよい。カメラAおよびカメラBの位置に対するバーチャルカメラの位置は、0〜1の値を有するスカラαによって判断されてもよく、ここで、α=0は、バーチャルカメラがカメラAと同じ場所に配置されていることを示し、α=1は、バーチャルカメラがカメラBと同じ場所に配置されていることを示す。バーチャルカメラのためのバーチャルカメラ画像は、カメラAの画像ABおよびカメラBの画像BAから推定されてもよい。
たとえば、バーチャルカメラモジュール1106は、第1の視差マップ「視差(AB→BA)」のマップエントリに格納された視差値をスカラαで変倍してもよく、画像ABにおけるそれぞれの画素をそれぞれの変倍された視差値だけシフトして、画像ABから第1のシフトされた画像を生成してもよい。バーチャルカメラモジュール1106は、第2の視差マップ「視差(BA→AB)」のマップエントリに格納された視差値をスカラ1−αで変倍してもよく、画像BAにおけるそれぞれの画素をそれぞれの変倍された視差値だけシフトして、画像BAから第2のシフトされた画像を生成してもよい。バーチャルカメラモジュール1106は、第1のシフトされた画像と第2のシフトされた画像とを組合わせて、バーチャルカメラのためのバーチャルカメラ画像を生成してもよい。たとえば、第1のシフトされた画像および第2のシフトされた画像の双方において規定された画素ごとに、バーチャルカメラモジュール1106は、2つのシフトされた画像の対応する画素値から平均値を出すかまたは最大値をとってもよい。バーチャルカメラモジュール1106は、線形または非線形フィルタと、以前のまたは将来の画像フレームからの時間的情報とを使用して、バーチャルカメラ画像における抜けた画素を埋めてもよい。例示的な非線形フィルタは、メジアンフィルタを含む。バーチャルカメラのためのバーチャルカメラ画像を推定する例示的な方法は、図13Aおよび図13Bを参照して以下に説明される。
類似性スコアモジュール1108は、第の1画像(たとえば画像AB)における第1の画素と第2の画像(たとえば画像BA)における第2の画素との間の類似性スコアを求めるためのルーチンを含むソフトウェアであってもよい。第2の画像における第2の画素は、第1の画像における第1の画素に対して異なる視差を有する場合がある。類似性スコアモジュール1108は、信号線1180を介してバス1120に結合されてもよい。
特定の視差値について、類似性スコアモジュール1108は、エピポーラ線に沿った画像ABの画素のためのメトリック値を生成する。メトリック値は、差の絶対値和(sum of absolute difference:SAD)、差の二乗和(sum of squared difference:SSD)、相関ベースの値、または他の好適なメトリクスのうちの1つを含んでいてもよい。メトリック値は、赤、緑、青(RGB)カラーチャンネルのすべてにわたって、またはYUV、輝度などの何らかの他の色空間において求められてもよい。たとえば、画像ABの2つの画素(1,5)および(2,5)は、エピポーラ線に沿っている。視差値「3」について、類似性スコアモジュール1108は、(1)画像ABの画素(1,5)を画像BAの画素(4,5)と比較することによって、画像ABの画素(1,5)のための第1のメトリック値を求め、(2)画像ABの画素(2,5)を画像BAの画素(5,5)と比較することによって、画像ABの画素(2、5)のための第2のメトリック値を求める。視差値「4」について、類似性スコアモジュール1108は、(1)画像ABの画素(1,5)を画像BAの画素(5,5)と比較することによって、画像ABの画素(1,5)のための第1のメトリック値を求め、(2)画像ABの画素(2,5)を画像BAの画素(6,5)と比較することによって、画像ABの画素(2,5)のための第2のメトリック値を求める。
メトリック値はまた、距離メトリックスコアと呼ばれてもよい。メトリック値は、2つの画素間の距離を計算することによって、2つの画素がどれくらい類似しているかを測ってもよい。ゼロ値のメトリック値は、2つの画素が距離ゼロで同一であることを示し得る。より大きいメトリック値は、より小さいメトリック値よりも、2つの画素間のより多くの相違を表わし得る。
いくつかの実現化例では、類似性スコアモジュール1108は、画素整合測定に影響を与え得るノイズを減少させるために、最初に画像ABおよび画像BAをフィルタリングまたは処理してもよい。類似性スコアモジュール1108は、エピポーラ線に垂直な方向におけるわずかな不整合を打ち消すために、エピポーラ線に垂直な方向に沿って、より良好な整合を有する画素について検索を行なってもよい。
類似性スコアモジュール1108は、エピポーラ線に沿った隣接画素のランを規定するために使用され得るメトリックしきい値を求めてもよい。ランは、求められたメトリックしきい値未満のメトリック値を有する画素の隣接するグループを含んでいてもよい。類似性スコアモジュール1108は、画素とメトリックしきい値とに関連付けられたメトリック値に基づいて、エピポーラ線に沿った画素のためのランを求めてもよい。たとえば、ラン計算に関与するエピポーラ線に沿った特定の画素は、計算されたランと等しいラン値を有していてもよい。類似性スコアモジュール1108は、画素のランとメトリックしきい値とに基づいて、エピポーラ線に沿った画素のための予備スコアを求めてもよい。たとえば、エピポーラ線に沿った各画素のための予備スコアは、対応する画素のランをメトリックしきい値で割ったものと等しくてもよい。次に、類似性スコアモジュール1108は、メトリックしきい値を変更して、異なるメトリックしきい値についてエピポーラ線に沿った画素のための異なる予備スコアを求めてもよい。メトリックしきい値は、ゼロ〜最大しきい値間の範囲で変更されてもよい。最大しきい値は、2つの画像が異なる物体を有する画像であると判断する前に、ユーザが視覚的にどれだけの差を許容し得るかに基づいて求められてもよい。メトリック値が最大しきい値を上回る場合、メトリック値を計算するために使用された2つの画像は、同じ物体を取り込む画像として扱われない場合がある。類似性スコアモジュール1108は、エピポーラ線に沿った画素のための類似性スコアを、その画素の最高予備スコアとして求めてもよい。類似性スコアは、2つの画素間の類似度を示し得る。2つの画素のためのより高い類似性スコアは、より小さい類似性スコアよりも、2つの画素間のより多くの類似性を示し得る。類似性スコアを求める方法は、図15Aおよび図15Bを参照して以下に説明される。
たとえば、ある特定の視差値のためのエピポーラ線に沿った画素のためのSADメトリック値は、3、4、2、3、1、6、8、3、1を含んでいてもよい。メトリックしきい値が5であると類似性スコアモジュール1108が判断した場合、そのメトリックしきい値を上回らない隣接画素のランは、5、0、2を含んでいてもよい。ここで、最初の5つのメトリック値「3、4、2、3、1」はメトリックしきい値未満であるため、「5」のランが生成され、次の2つのメトリック値「6、8」はメトリックしきい値を上回るため、「0」のランが生成され、最後の2つのメトリック値「3、1」はメトリックしきい値未満であるため、「2」のランが生成される。このため、メトリック値「3、4、2、3、1」を有する最初の5つの画素は各々、「5」のランを有していてもよく、メトリック値「6、8」を有する次の2つの画素は各々、「0」のランを有していてもよく、「3、1」のメトリック値を有する最後の2つの画素は各々、「2」のランを有していてもよい。その結果、エピポーラ線に沿った画素のためのランは、5、5、5、5、5、0、0、2、2を含む。エピポーラ線に沿った画素のための予備スコアは、対応するランをメトリックしきい値「5」で割ったものと等しくてもよく、1、1、1、1、1、0、0、2/5、2/5を含んでいてもよい。次に、メトリックしきい値は、6となるように修正されてもよい。画素のためのランは、6、6、6、6、6、6、0、0、2、2を含んでいてもよい。メトリックしきい値「6」についてのエピポーラ線に沿った画素のための別の1組の予備スコアは、1、1、1、1、1、1、0、2/6、2/6を含んでいてもよい。類似性スコアモジュール1108は、異なるメトリックしきい値を選択して、画素のための異なるメトリックしきい値に関連付けられた異なる予備スコアを求めてもよい。類似性スコアモジュール1108は、エピポーラ線に沿った特定の画素のための類似性スコアを、その特定の画素の最高予備スコアとして求めてもよい。
より一般的には、視差マップを推定し、類似性スコアを求めるためのここに説明されたメカニズムは、例として提供されている。視差マップおよび類似性スコアを推定するやり方は、他にも多数あり得る。
カメラマッピングモジュール1110は、左カメラマップおよび右カメラマップを構築するためのルーチンを含むソフトウェアであってもよい。カメラマッピングモジュール1110は、信号線1128を介してプロセッサ1135およびコンピューティング装置1100の他の構成要素と協働および通信するために適合されてもよい。
カメラマップは、左カメラマップまたは右カメラマップを含んでいてもよい。カメラマップは、(ヨー,ピッチ)を入力として使用してもよく、(整合カメラの識別子,x,y)という出力を生成してもよく、パノラマ画像における画素(ヨー,ピッチ)が、識別された整合カメラの画像平面における画素(x,y)として得られ得ることを示す。カメラマップは、出力(整合カメラの識別子,x,y)を、入力(ヨー,ピッチ)に関するマップエントリに格納してもよい。3D空間における点をカメラモジュールの画像平面における画素上にマッピングするために、カメラモジュールの画像平面における画素が、カメラモデル(たとえば、ピンホールカメラモデル、またはより複雑なレンズモデル)を使用することによって判断されてもよく、ここで、3D空間における点は、カメラモジュールから特定の距離にあると仮定される。
シーンのパノラマを表わすために、2次元(2D)球状パノラマ画像が使用されてもよい。映像モジュール1112に関して以下に説明されるように、シーン全体の立体視を提供するために、両目のための2つの立体パノラマ画像が生成されてもよい。たとえば、左目視のために左パノラマ画像が生成されてもよく、右目視のために右パノラマ画像が生成されてもよい。例示的なパノラマ画像を図16Bに示す。
カメラマッピングモジュール1110は、左パノラマ画像における画素ごとにそれぞれの整合カメラを識別する左カメラマップを構築してもよい。たとえば、パノラマにおける点を表わす左パノラマ画像における画素のために、左カメラマップは、他のカメラモジュール103および他のバーチャルカメラよりもパノラマにおける点についてより良好なビューを有する整合カメラモジュール103または整合バーチャルカメラを識別してもよい。整合カメラは、整合カメラモジュール103(たとえば、実在するカメラ)または整合バーチャルカメラを含んでいてもよい。このため、左カメラマップは、左パノラマ画像における画素を、対応する画素についてより良好なビューを有する整合カメラにマッピングしてもよい。画素のための整合カメラの決定を、以下により詳細に説明する。例示的なカメラマップを、図16Cを参照して示す。
パノラマにおける点を表わす左パノラマ画像における画素について、カメラマッピングモジュール1110は、上述の数式(1)、(2)、および(3)をそれぞれ使用して、ヨー、ピッチ、および両眼間拒離を求めてもよい。カメラマッピングモジュール1110は、そのヨーおよびピッチを使用して、パノラマにおける点への左目の視方向(たとえば、左視方向)を表わすベクトルを構築してもよい。
いくつかの実現化例では、左パノラマ画像における画素のための整合カメラは、その画素に対応する点への視方向を有する。整合カメラの視方向は、パノラマにおける同じ点への他のカメラモジュール103およびバーチャルカメラの他の視方向よりも、左視方向に近い。たとえば、整合カメラの視方向は、他のカメラモジュール103およびバーチャルカメラの他の視方向よりも、左視方向により平行である。整合カメラの図を、図17A〜図17Cを参照して示す。
同様に、カメラマッピングモジュール1110は、右パノラマ画像における画素ごとに対応する整合カメラを識別する右カメラマップを構築してもよい。たとえば、パノラマにおける点を表わす右パノラマ画像における画素のために、右カメラマップは、他のカメラモジュール103およびバーチャルカメラよりもパノラマにおける点についてより良好なビューを有する整合カメラを識別してもよい。このため、右カメラマップは、右パノラマ画像における画素を、対応する画素についてより良好なビューを有する整合カメラにマッピングしてもよい。
いくつかの実現化例では、左および右カメラマップは、オンザフライ計算と比較してより迅速な処理速度を達成するために、予め計算され、格納されてもよい。
映像モジュール1112は、VR表示装置上で再生されると3D映像をレンダリングするように構成された3D映像データのストリームを生成するためのルーチンを含むソフトウェアであってもよい。映像モジュール1112は、信号線1130を介してプロセッサ1135およびコンピューティング装置1100の他の構成要素と協働および通信するために適合されてもよい。3D映像データのストリームは、経時変化し得るシーンの立体パノラマを記述してもよい。3D映像データのストリームは、左目視のための左パノラマ画像のストリームおよび右目視のための右パノラマ画像のストリームを含んでいてもよい。
いくつかの実現化例では、映像モジュール1112は、カメラアレイ101におけるさまざまなカメラモジュール103から、画像フレームを記述する未加工映像データを受信する。映像モジュール1112は、カメラモジュール103の各々に関連付けられた位置およびタイミングを識別し、カメラモジュール103の位置およびタイミングに基づいて画像フレームを同期させる。映像モジュール1112は、異なるカメラモジュール103によって同時に取り込まれた対応する画像フレームを同期させる。いくつかの実現化例では、映像モジュール1112または集約システム131における別のモジュールは、同期された画像フレームにおける較正エラーを補正してもよい。
映像モジュール1112は、カメラマッピングモジュール1110から左カメラマップおよび右カメラマップを受信してもよい。それに代えて、映像モジュール1112は、記憶装置1141またはメモリ1137から左および右カメラマップを検索してもよい。映像モジュール1112は、左カメラマップに基づいて、カメラモジュール103によって取り込まれた画像フレームおよびバーチャルカメラのバーチャルカメラ画像から左パノラマ画像のストリームを構築してもよい。たとえば、映像モジュール1112は、左カメラマップから整合カメラを識別する。整合カメラは、整合カメラモジュール103と、整合バーチャルカメラとを含んでいてもよい。映像モジュール1112は、(1)第1の特定の時間T=T0に整合カメラモジュール103によって取り込まれた画像フレームと、(2)第1の特定の時間T=T0に関連付けられた整合バーチャルカメラのバーチャルカメラ画像とをつなぎ合わせることにより、第1の特定の時間T=T0に関連付けられた第1の左パノラマ画像PIL,0を構築する。映像モジュール1112は、(1)第2の特定の時間T=T1に整合カメラモジュール103によって取り込まれた画像フレームと、(2)第2の特定の時間T=T1に関連付けられた整合バーチャルカメラのバーチャルカメラ画像とをつなぎ合わせることにより、第2の特定の時間T=T1に関連付けられた第2の左パノラマ画像PIL,1を構築し、以降同様である。映像モジュール1112は、第1の特定の時間T=T0に関連付けられた第1の左パノラマ画像PIL,0、第2の特定の時間T=T1に関連付けられた第2の左パノラマ画像PIL,1、および他の構築された左パノラマ画像を含むように、左パノラマ画像のストリームを構築する。
具体的には、特定の時間T=Ti(i=0、1、2、…)に関連付けられた左パノラマ画像PIL,iにおける画素について、映像モジュール1112は、(1)左カメラマップから整合カメラを識別し(整合カメラは、整合カメラモジュール103または整合バーチャルカメラを含む)、(2)左パノラマ画像PIL,iにおける画素を、特定の時間T=Tiに関連付けられた整合カメラの画像からの対応する画素となるように構成する(画像は、特定の時間T=Tiに整合カメラモジュール103によって取り込まれた画像フレーム、または特定の時間T=Tiに関連付けられた整合バーチャルカメラのバーチャルカメラ画像である)。左パノラマ画像PIL,iにおける画素と、整合カメラの画像における対応する画素とは、パノラマにおける同じ点に対応していてもよい。たとえば、パノラマにおける点に対応する左パノラマ画像PIL,iにおける画素位置について、映像モジュール1112は、(1)特定の時間T=Tiに関連付けられた整合カメラの画像から、パノラマにおける同じ点に同じく対応する画素を検索し、(2)整合カメラの画像からの画素を、左パノラマ画像PIL,iの画素位置に配置する。
同様に、映像モジュール1112は、左パノラマ画像のストリームの構築に関して上述されたものと同様の動作を行なうことにより、右カメラマップに基づいて、カメラモジュール103によって取り込まれた画像フレームおよびバーチャルカメラのバーチャルカメラ画像から右パノラマ画像のストリームを構築する。説明はここでは繰り返さない。
音声モジュール1114は、音声再生装置上で再生されると3D音声をレンダリングするように構成された3D音声データのストリームを生成するためのルーチンを含むソフトウェアであってもよい。音声モジュール1114は、信号線1113を介してバス1120に通信可能に結合される。音声モジュール1114は、マイクロホンアレイ107から受信された未加工音声データに基づいて、3D音声データを生成してもよい。いくつかの実現化例では、音声モジュール1114は、映像モジュール1112によって生成された3D映像データに対応する4チャンネルアンビソニック音声トラックを生成するために、未加工音声データを処理してもよい。4チャンネルアンビソニック音声トラックは、迫力ある360度の3D音声体験をユーザ134に提供し得る。
いくつかの実現化例では、4チャンネル音声トラックは、テトラミックマイクロホンなどのマイクロホンアレイ107によって、「A」フォーマットで記録されてもよい。音声モジュール1114は、「A」フォーマットの4チャンネル音声トラックを、W、X、Y、およびZという4つの信号を含む「B」フォーマットに変換してもよい。W信号は、全指向性マイクロホンに対応する圧力信号を表わしていてもよく、X信号、Y信号、Z信号は、前後方向、左右方向、上下方向の指向性の音にそれぞれ対応していてもよい。いくつかの実現化例では、「B」フォーマットの信号は、モノモード、ステレオモード、バイノーラルモード、4つ以上のスピーカを含むサラウンドサウンドモード、および任意の他のモードを含むもののそれらに限定されない多くのモードで再生されてもよい。いくつかの例では、音声再生装置は1対のヘッドホンを含んでいてもよく、1対のヘッドホンでの音声再生のためにバイノーラル再生モードが使用されてもよい。音声モジュール1114は、ユーザ134のために迫力ある3D聴取体験を有するバイノーラル音声を生成するために、頭部伝達関数(HRTF)を用いて「B」フォーマットのチャンネルを畳み込んでもよい。
いくつかの実現化例では、音声モジュール1114は、ユーザの頭部回転と一致するように音定位を提供するように構成された3D音声データを生成する。たとえば、未加工音声データは、記録された音の指向性を記述する指向性データを用いてコード化される。音声モジュール1114は、ユーザの頭部配向の回転に基づいて再生中に再現される音を変更する3D音声データを生成するために、指向性データを分析してもよい。
ストリーム組合せモジュール1116は、VRコンテンツを生成するために3D映像データのストリームと3D音声データのストリームとを組合わせるためのルーチンを含むソフトウェアであってもよい。ストリーム組合せモジュール1116は、信号線1131を介してバス1120に通信可能に結合される。3D映像データのストリームは、左目視のための左パノラマ画像のストリームおよび右目視のための右パノラマ画像のストリームを含む。
ストリーム組合せモジュール1116は、圧縮された3D映像データのストリームを生成するために、映像圧縮手法を使用して左パノラマ画像のストリームおよび右パノラマ画像のストリームを圧縮してもよい。いくつかの実現化例では、左または右パノラマ画像の各ストリーム内で、ストリーム組合せモジュール1116は、対応するストリームのサイズを減少させるために、1つのフレームから次のフレームに冗長情報を使用してもよい。たとえば、第1の画像フレーム(たとえば参照フレーム)を参照して、次の画像フレームにおける冗長情報が、次の画像フレームのサイズを減少させるために除去されてもよい。この圧縮は、左または右パノラマ画像の同じストリーム内での時間的圧縮またはフレーム間圧縮と呼ばれる場合がある。
それに代えて、またはそれに加えて、ストリーム組合せモジュール1116は、一方のストリーム(左パノラマ画像のストリームまたは右パノラマ画像のストリームのいずれか)を参照ストリームとして使用し、参照ストリームに基づいて他方のストリームを圧縮してもよい。この圧縮は、ストリーム間圧縮と呼ばれる場合がある。たとえば、ストリーム組合せモジュール1116は、各左パノラマ画像を、対応する右パノラマ画像のための参照フレームとして使用してもよく、参照された左パノラマ画像に基づいて対応する右パノラマ画像を圧縮してもよい。
いくつかの実現化例では、ストリーム組合せモジュール1116は、VRコンテンツのストリームを形成するために、3D映像データ(または圧縮された3D映像データ)および3D音声データのストリームをコード化してもよい。たとえば、ストリーム組合せモジュール1116は、VRコンテンツのストリームを形成するために、h.264を使用して3D映像データのストリームを圧縮し、アドバンスト・オーディオ・コーディング(AAC)を使用して3D音声データのストリームを圧縮してもよい。別の例では、ストリーム組合せモジュール1116は、VRコンテンツのストリームを形成するために、標準MPEGフォーマットを使用して、3D映像データのストリームおよび3D音声データのストリームを圧縮してもよい。
いくつかの実現化例では、VRコンテンツは、MP4、WebM、VP8、および任意の他の好適なフォーマットなどのコンテナフォーマットでパッケージ化されてもよい。VRコンテンツは、クライアント装置127またはサーバ129にファイルとして格納されてもよく、ユーザ134のためにクライアント装置127またはサーバ129から鑑賞システム133へストリーミングされてもよい。それに代えて、VRコンテンツは、デジタル多用途ディスク(DVD)、フラッシュメモリ、または別のタイプの記憶装置に格納されてもよい。
図12Aおよび図12Bは、いくつかの実現化例に従った、左パノラマ画像および右パノラマ画像を生成するために特定の時間に取り込まれた画像フレームをつなぎ合わせるための例示的な方法1200を示す。方法1200は、図1Aおよび図11に関して説明される。別々のブロックとして図示されているが、さまざまなブロックは、所望の実現化例に依存して、追加のブロックになるよう分割されてもよく、より少ないブロックになるよう組合わされてもよく、または削除されてもよい。
図12Aを参照して、方法1200は、通信モジュール1102が、特定の時間にカメラアレイ101のカメラモジュール103によって取り込まれた画像フレームを受信するステップ(1202)を含んでいてもよい。通信モジュール1102は、カメラアレイ101におけるカメラモジュール103の構成を記述するデータを受信する(1204)。たとえば、通信モジュール1102は、カメラモジュール103の位置および配向を記述するデータを受信する。バーチャルカメラモジュール1106は、カメラアレイ101における異なる組の隣接するカメラモジュール103を判断する。各組の隣接するカメラモジュール103は、カメラアレイ101において互いの近傍に位置し、重複する視野を有する、2つ以上のカメラモジュール103を含んでいてもよい。
各組の隣接するカメラモジュールごとに、視差モジュール1104は、対応する1組の隣接するカメラモジュールに関する1組の視差マップを定める(1206)。視差モジュール1104は、異なる組の隣接するカメラモジュールのために、異なる組の視差マップを生成する。各組の隣接するカメラモジュールごとに、バーチャルカメラモジュール1106は、対応する1組からの隣接するカメラモジュール間に補間される1つ以上のバーチャルカメラを定める(1208)。バーチャルカメラモジュール1106は、異なる組の隣接するカメラモジュールのために、異なるバーチャルカメラを定める。1組の隣接するカメラモジュール間に補間されたバーチャルカメラのために、バーチャルカメラモジュール1106は、(1)1組の隣接するカメラモジュールに関連付けられた1組の視差マップと、(2)バーチャルカメラの位置とに基づいて、特定の時間に隣接するカメラモジュールによって取り込まれた画像フレームを補間することにより、特定の時間に関連付けられたバーチャルカメラのためのバーチャルカメラ画像を生成する(1210)。同様に、バーチャルカメラモジュール1106は、すべてのバーチャルカメラのために、特定の時間に関連付けられたバーチャルカメラ画像を生成する。バーチャルカメラのために特定の時間に関連付けられたバーチャルカメラ画像を生成するための例示的な方法は、図13Aおよび図13Bを参照して以下に説明される。
図12Bを参照して、カメラマッピングモジュール1110は、カメラアレイ101におけるカメラモジュール103の構成とバーチャルカメラの位置とに基づいて、左カメラマップおよび右カメラマップを構築する(1212)。映像モジュール1112は、(1)特定の時間にカメラモジュール103によって取り込まれた画像フレームと、(2)特定の時間に関連付けられたバーチャルカメラのバーチャルカメラ画像とから、左カメラマップに基づいて、特定の時間に関連付けられた左パノラマ画像を構築する(1214)。映像モジュール1112は、(1)特定の時間にカメラモジュール103によって取り込まれた画像フレームと、(2)特定の時間に関連付けられたバーチャルカメラのバーチャルカメラ画像とから、右カメラマップに基づいて、特定の時間に関連付けられた右パノラマ画像を構築する(1216)。
ここに開示されたこのおよび他のプロセスおよび方法のために、これらのプロセスおよび方法で行なわれる機能は異なる順序で実現されてもよい、ということを、当業者であれば理解するであろう。さらに、概説されたステップおよび動作は単に例として提供されており、これらのステップおよび動作のうちのいくつかは、開示された実現化例の本質を損なうことなく、オプションであってもよく、より少ないステップおよび動作になるよう組合わされてもよく、または追加のステップおよび動作になるよう拡張されてもよい。
図13Aおよび図13Bは、いくつかの実現化例に従った、2つの隣接するカメラモジュール間に位置するバーチャルカメラのために特定の時間に関連付けられたバーチャルカメラ画像を生成するための例示的な方法1300を示す。方法1300は、図1Aおよび図11に関して説明される。別々のブロックとして図示されているが、さまざまなブロックは、所望の実現化例に依存して、追加のブロックになるよう分割されてもよく、より少ないブロックになるよう組合わされてもよく、または削除されてもよい。
図13Aを参照して、視差モジュール1104は、第1の隣接するカメラモジュールと第2の隣接するカメラモジュールとの間の重複する視野を判断する(1302)。視差モジュール1104は、特定の時間に第1の隣接するカメラモジュールによって取り込まれた第1の画像フレームと第2の隣接するカメラモジュールによって取り込まれた第2の画像フレームとを判断する(1304)。視差モジュール1104は、第1の画像からの第1のサブ画像(たとえば画像AB)と第2の画像からの第2のサブ画像(たとえば画像BA)とを判断し、第1のサブ画像および第2のサブ画像は、重複する視野において互いに重複している(1306)。視差モジュール1104は、第1のサブ画像から第2のサブ画像に画素の視差をマッピングする第1の視差マップを生成する(1308)。視差モジュール1104は、第2のサブ画像から第1のサブ画像に画素の視差をマッピングする第2の視差マップを生成する(1310)。視差マップを生成するための例示的な方法は、図14Aおよび図14Bを参照して以下に説明される。
図13Bを参照して、バーチャルカメラモジュール1106は、第1の隣接するカメラモジュールと第2の隣接するカメラモジュールとの間に位置するバーチャルカメラの位置を判断する(1312)。バーチャルカメラモジュール1106は、第1の視差マップとバーチャルカメラの位置とに基づいて、第1のサブ画像から第1のシフトされたサブ画像を生成する(1314)。バーチャルカメラモジュール1106は、第2の視差マップとバーチャルカメラの位置とに基づいて、第2のサブ画像から第2のシフトされたサブ画像を生成する(1316)。バーチャルカメラモジュール1106は、バーチャルカメラのために特定の時間に関連付けられたバーチャルカメラ画像を生成するために、第1のシフトされたサブ画像と第2のシフトされたサブ画像とを組合わせる(1318)。
図14Aおよび図14Bは、いくつかの実現化例に従った、第1の隣接するカメラモジュールの第1のサブ画像から第2の隣接するカメラモジュールの第2のサブ画像に画素の視差をマッピングする視差マップを推定するための例示的な方法1400を示す。方法1400は、図1Aおよび図11に関して説明される。別々のブロックとして図示されているが、さまざまなブロックは、所望の実現化例に依存して、追加のブロックになるよう分割されてもよく、より少ないブロックになるよう組合わされてもよく、または削除されてもよい。
図14Aを参照して、視差モジュール1104は、第1の隣接するカメラモジュールと第2の隣接するカメラモジュールとの間の重複する視野における画素位置を選択する(1402)。視差モジュール1104は、視差値を選択する(1403)。類似性スコアモジュール1108は、(1)選択された画素位置での第1のサブ画像の画素と(2)第2の画素位置での第2のサブ画像の第2の画素との間の類似性スコアを求め、第2の画素位置は、選択された視差値だけ、選択された画素位置と離れている(1404)。求められた類似性スコアは、選択された視差値に関連付けられる。類似性スコアを求めるための例示的な方法は、図15Aおよび図15Bを参照して以下に説明される。
視差モジュール1104は、少なくとも選択すべき追加の視差値があるかどうかを判断する(1406)。少なくとも選択すべき追加の視差値がある場合、方法1400はブロック1403に進む。その他の場合、方法1400はブロック1408に進む。その結果、異なる視差値に関連付けられた異なる類似性スコアが、選択された画素位置のために生成される。視差モジュール1104は、異なる視差値に対応する類似性スコアから最高類似性スコアを求める(1408)。視差モジュール1104は、最高類似性スコアに関連付けられた視差値を求める(1410)。
図14Bを参照して、視差モジュール1104は、選択された画素位置に、最高類似性スコアに関連付けられた視差値を割り当てる(1412)。視差モジュール1104は、少なくとも処理すべき追加の画素位置が重複する視野にあるかどうかを判断する(1416)。少なくとも処理すべき追加の画素位置がある場合、方法1400はブロック1402に進む。その他の場合、方法1400はブロック1418に進む。ブロック1418で、視差モジュール1104は、視差マップにおける画素位置のための対応する最高類似性スコアに関連付けられた視差値を含む視差マップを生成する。
図15Aおよび図15Bは、いくつかの実現化例に従った、2つの隣接するカメラモジュールの投影中心を接続するエピポーラ線に沿った画素のための視差値に関連付けられた類似性スコアを求めるための例示的な方法1500を示す。方法1500は、図1Aおよび図11に関して説明される。別々のブロックとして図示されているが、さまざまなブロックは、所望の実現化例に依存して、追加のブロックになるよう分割されてもよく、より少ないブロックになるよう組合わされてもよく、または削除されてもよい。
図15Aを参照して、類似性スコアモジュール1108は、(1)第1のサブ画像からのエピポーラ線に沿った第1の画素位置での第1の画素を、(2)第2のサブ画像からのエピポーラ線に沿った第2の画素位置での対応する第2の画素とそれぞれ比較することにより、第1の画素位置のためのメトリック値を生成する(1502)。対応する第2の画素位置は、視差値の分だけ、対応する第1の画素位置と離れており、1対の対応する第1の画素位置および対応する第2の画素位置のために、対応するメトリック値が生成される。第1のサブ画像は第1の隣接するカメラモジュールによって取り込まれ、第2のサブ画像は第2の隣接するカメラモジュールによって取り込まれ、第1および第2の隣接するカメラモジュールの重複する視野において、第1のサブ画像は第2のサブ画像と重複する。
最初に、類似性スコアモジュール1108は、第1の画素位置のための類似性スコアを、ゼロになるように設定する(1504)。類似性スコアモジュール1108は、メトリック値のランを求めるために使用されるメトリックしきい値を選択する(1506)。類似性スコアモジュール1108は、メトリックしきい値とメトリック値とに基づいて、第1の画素位置のためのランを求める(1508)。類似性スコアモジュール1108は、第1の画素位置の対応するランとメトリックしきい値とに基づいて、第1の画素位置のための予備スコアを求める(1510)。たとえば、対応する第1の画素位置のための予備スコアは、対応する第1の画素位置の対応するランをメトリックしきい値で割ったものと等しくてもよい。
図15Bを参照して、類似性スコアモジュール1108は、1つ以上の対応する予備スコアよりも低い1つ以上の類似性スコアを有する、第1の画素位置からの1つ以上の第3の画素位置があるかどうかを判断する(1512)。1つ以上の第3の画素位置が、対応する予備スコアよりも低い1つ以上の類似性スコアを有する場合、類似性スコアモジュール1108は、1つ以上の第3の画素位置のための1つ以上の類似性スコアを、1つ以上の対応する予備スコアとなるように構成する(1514)。その他の場合、方法1500はブロック1516に進む。
ブロック1516で、類似性スコアモジュール1108は、少なくとも選択すべき追加のメトリックしきい値があるかどうかを判断する。少なくとも選択すべき追加のメトリックしきい値がある場合、方法はブロック1506に進む。その他の場合、方法1500はブロック1518に進む。ブロック1518で、類似性スコアモジュール1108は、エピポーラ線に沿った第1の画素位置での第1の画素のための類似性スコアを出力する。
図16Aは、いくつかの実現化例に従った、(1)特定の時間に複数のカメラモジュールによって取り込まれた複数の画像フレームと、(2)特定の時間に関連付けられたバーチャルカメラのバーチャルカメラ画像とから、左パノラマ画像および右パノラマ画像を生成する例示的なプロセス1600を示す。特定の時間T=Ti(i=0、1、2、…)に、カメラモジュール103aは画像フレーム1602aを取り込み、カメラモジュール103bは画像フレーム1602bを取り込み、カメラモジュール103nは画像フレーム1602nを取り込む。カメラモジュール103aとカメラモジュール103bとの間に位置するバーチャルカメラのバーチャルカメラ画像1603が生成される。バーチャルカメラ画像1603は、特定の時間T=Tiに関連付けられる。特定の時間T=Tiに関連付けられた他のバーチャルカメラの他のバーチャルカメラ画像も生成されてもよい。映像モジュール1112は、画像フレーム1602a、1602b…1602nを受信する。映像モジュール1112は、(1)左カメラマップ1604に基づいて特定の時間T=Tiに関連付けられた左パノラマ画像1608を生成し、(2)右カメラマップ1606に基づいて特定の時間T=Tiに関連付けられた右パノラマ画像1610を生成するために、画像フレーム1602a、1602b…1602n、バーチャルカメラ画像1603、および他のバーチャルカメラ画像をつなぎ合わせる。
図16Bは、いくつかの実現化例に従った例示的なパノラマ画像を示す図解1630である。パノラマ画像は、水平面における回転を表わす第1の軸「ヨー」と、垂直方向での上下回転を表わす第2の軸「ピッチ」とを有する。パノラマ画像は、シーンパノラマの360度の球全体をカバーする。パノラマ画像における位置[ヨー,ピッチ]での画素は、「ヨー」値と「ピッチ」値とを有する頭部回転で見られるパノラマにおける点を表わす。このため、パノラマ画像は、単一の頭部位置からのシーンの単一のビューではなく、さまざまな頭部回転からの混合されたビューを含む。
図16Cは、いくつかの実現化例に従った例示的なカメラマップを示す図解1650である。例示的なカメラマップは、パノラマ画像のカメラ区分1652aおよび1652bにおける第1の画素を第1のカメラモジュール103にマッピングし、カメラ区分1654における第2の画素をバーチャルカメラにマッピングし、カメラ区分1655における第3の画素を第2のカメラモジュール103にマッピングする。第1および第2のカメラモジュール103は、カメラアレイ101において隣接しており、バーチャルカメラは、第1のカメラモジュール103と第2のカメラモジュール103との間に補間される。
カメラ区分1652aおよび1652b内のパノラマ画像の第1の画素については、第1の画素のための値は、第1のカメラモジュール103によって取り込まれた第1の画像フレームにおける対応する画素値であるように構成されてもよい。同様に、カメラ区分1654内のパノラマ画像の第2の画素については、第2の画素のための値は、バーチャルカメラのバーチャルカメラ画像における対応する画素値であるように構成されてもよい。バーチャルカメラ画像は、第1のカメラモジュール103の第1の画像フレームと第2のカメラモジュール103の第2の画像フレームとに基づいて生成されてもよい。カメラ区分1655内のパノラマ画像の第3の画素については、第3の画素のための値は、第2のカメラモジュール103によって取り込まれた第2の画像フレームにおける対応する画素値であるように構成されてもよい。この例では、パノラマ画像は、第1のカメラモジュール103からの第1の画像フレームの一部、バーチャルカメラのバーチャルカメラ画像の一部、第2のカメラモジュール103からの第2の画像フレームの一部、および他のカメラモジュール103またはバーチャルカメラからの他の画像の一部を使用してつなぎ合わされる。
図17A〜図17Cは、いくつかの実現化例に従った、左および右カメラマップの構築のためにパノラマにおける点のための整合カメラを選択することを示す図解1700、1730、および1760である。図17Aを参照して、カメラアレイ101は、球状ハウジング上に搭載されたカメラモジュール103a、103b、103cおよび他のカメラモジュールを含む。カメラモジュール間には、バーチャルカメラは補間されていない。点1703は、ヨー=650およびピッチ=00を有する頭の回転位置に対応すると仮定する。左目の位置1704と右目の位置1706との間には、両眼間拒離1702が示されている。ピッチ=00であるため、両眼間拒離1702はその最大値にある。
左目の位置1704から点1703への左視方向1712と、右目の位置1706から点1703への右視方向1714とが、図17Aに示されている。カメラモジュール103aおよび103bは、点1703への視方向1710および1716をそれぞれ有する。
カメラモジュール103aの視方向1710は、視方向1716および他の視方向と比較して、左視方向1712により平行である(たとえば、視方向1710と左視方向1712との間の角度は、左視方向1712と他の視方向との間の角度よりも小さい)ため、カメラモジュール103aが、左カメラマップを構築するために、他のカメラモジュールよりも点1703についてより良好なビューを有する整合カメラとして選択されてもよい。このため、点1703に対応する左パノラマ画像の画素は、カメラモジュール103aによって取り込まれた画像フレームにおける対応する画素の画素値と等しい画素値を有していてもよい。
カメラモジュール103bの視方向1716は、視方向1710および他の視方向と比較して、右視方向1714により平行であるため、カメラモジュール103bが、右カメラマップを構築するために、他のカメラモジュールよりも点1703についてより良好なビューを有する整合カメラとして選択されてもよい。このため、点1703に対応する右パノラマ画像の画素は、カメラモジュール103bによって取り込まれた画像フレームにおける対応する画素の画素値と等しい画素値を有していてもよい。
図17Bを参照して、カメラモジュール103aと103bとの間にバーチャルカメラ1742および1744が補間される。バーチャルカメラ1742は点1703への視方向1749を有し、バーチャルカメラ1744は点1703への視方向1746を有する。
バーチャルカメラ1742の視方向1749は、視方向1710、1746、1716および他の視方向と比較して、左視方向1712により平行であるため、バーチャルカメラ1742が、左カメラマップを構築するために、他のカメラモジュールまたはバーチャルカメラよりも点1703についてより良好なビューを有する整合カメラとして選択されてもよい。このため、点1703に対応する左パノラマ画像の画素は、バーチャルカメラ1742のバーチャルカメラ画像における対応する画素の画素値と等しい画素値を有していてもよい。
バーチャルカメラ1744の視方向1746は、視方向1710、1749、1716および他の視方向と比較して、右視方向1714により平行であるため、バーチャルカメラ1744が、右カメラマップを構築するために、他のカメラモジュールまたはバーチャルカメラよりも点1703についてより良好なビューを有する整合カメラとして選択されてもよい。このため、点1703に対応する右パノラマ画像の画素は、バーチャルカメラ1744のバーチャルカメラ画像における対応する画素の画素値と等しい画素値を有していてもよい。
図17Cを参照して、隣接するカメラモジュール間に補間されるバーチャルカメラが多数あり、それが連続的な視点でパノラマを取り込むことをシミュレートすると仮定する。左視方向1712と同じ視方向を有するバーチャルカメラ1762が、左カメラマップを構築するために、点1703のための整合カメラとして選択されてもよい。このため、点1703に対応する左パノラマ画像の画素は、バーチャルカメラ1762のバーチャルカメラ画像における対応する画素の画素値と等しい画素値を有していてもよい。右視方向1714と同じ視方向を有するバーチャルカメラ1764が、右カメラマップを構築するために、点1703のための整合カメラとして選択されてもよい。このため、点1703に対応する右パノラマ画像の画素は、バーチャルカメラ1764のバーチャルカメラ画像における対応する画素の画素値と等しい画素値を有していてもよい。
図18は、いくつかの実現化例に従った、エピポーラ線のエピポーラ方向に沿った例示的な視差を示す図解1800である。カメラAは第1の画像平面を有し、カメラBは第2の画像平面を有する。第1の画像平面および第2の画像平面は、同一平面の画像平面である。第1および第2の画像平面が同一平面でない場合、カメラAおよびカメラBの画像は、同一平面となるように変換されてもよい。カメラAのためのピンホール位置1802と、カメラBのためのピンホール位置1806とが、図18に示されている。パノラマにおける点1804は、カメラAにより、ピンホール位置1802に対する、その画像平面における点1808として取り込まれる。点1804はまた、カメラBにより、ピンホール位置1806に対する、その画像平面における点1814として取り込まれる。点1814は、ピンホール位置1806に対して右にシフトされている。カメラAとカメラBとの間の中心点に、バーチャルカメラが追加される。バーチャルカメラは、バーチャルカメラの画像平面の中心の真上にあるピンホール位置1803に関連付けられる。ピンホール位置1802も、カメラAの画像平面の中心の真上にあり、ピンホール位置1806は、カメラBの画像平面の中心の真上にある。点1804は、バーチャルカメラにより、その画像平面における点1809として取り込まれてもよい。(1)バーチャルカメラのピンホール位置1803はカメラAのピンホール位置1802とカメラBのピンホール位置1806との中間にあり、(2)バーチャルカメラの画像平面も、カメラAの画像平面とカメラBの画像平面との中間にあるため、点1809の位置は、点1808の位置と点1814の位置との中間にある。
図19は、いくつかの実現化例に従った、実在するカメラとバーチャルカメラとの間へのバーチャルカメラの補間を示す図解1900である。3つの実在するカメラ(カメラ1、カメラ2、カメラ3)を、図19の左の図に示す。線1902、1904、および1906に沿ったシーンのビューはそれぞれ、実在するカメラのうちの2つによって補間されてもよい。線1902、1904、および1906は各々、3つの実在するカメラのうちの2つを接続する。バーチャルカメラは、線1902、1904、および1906に沿って補間されてもよい。たとえば、図19の右の図に示すように、線1902に沿ってバーチャルカメラ4が補間されてもよい。さらに、バーチャルカメラ4はまた、3つの実在するカメラによって形成される三角形の内部で他のバーチャルカメラを定めるために使用されてもよい。たとえば、図19の右の図を参照して、バーチャルカメラ4とカメラ3との間の線1908に沿って、バーチャルカメラ5が補間されてもよい。同様に、他のバーチャルカメラが、2つの実在するカメラ間、実在するカメラとバーチャルカメラとの間、または2つのバーチャルカメラ間に補間されてもよい。
ここで図20を参照して、ここに説明される少なくともいくつかの実現化例に従ったコンテンツシステム171の一例を図示する。図20は、コンテンツシステム171と、メモリ2037と、プロセッサ2035と、記憶装置2041と、通信部2045とを含むコンピューティング装置2000のブロック図である。図示された実施形態では、コンピューティング装置2000の構成要素は、バス2020によって通信可能に結合される。いくつかの実現化例では、コンピューティング装置2000は、パーソナルコンピュータ、スマートフォン、タブレットコンピュータ、セットトップボックス、または任意の他のプロセッサベースのコンピューティング装置であってもよい。コンピューティング装置2000は、図1Bのクライアント装置127、サーバ129、およびシステム199における別の装置のうちの1つであってもよい。
プロセッサ2035は、計算を行ない、電子表示信号を表示装置に提供するための、算術論理演算ユニット、マイクロプロセッサ、汎用コントローラ、または何らかの他のプロセッサアレイを含んでいてもよい。プロセッサ2035は、他の構成要素との通信のために信号線2038を介してバス2020に結合される。プロセッサ2035はデータ信号を処理してもよく、複雑命令セットコンピュータ(CISC)アーキテクチャ、縮小命令セットコンピュータ(RISC)アーキテクチャ、または命令セットの組合せを実現するアーキテクチャを含むさまざまなコンピューティングアーキテクチャを含んでいてもよい。図20は単一のプロセッサ2035を含むが、複数のプロセッサが含まれていてもよい。他のプロセッサ、オペレーティングシステム、センサ、ディスプレイ、および物理的構成が可能であってもよい。
メモリ2037は、ここに説明される機能性を提供するためにデータを格納する非一時的メモリを含む。メモリ2037は、ダイナミックランダムアクセスメモリ(DRAM)装置、スタティックランダムアクセスメモリ(SRAM)装置、フラッシュメモリ、または何らかの他のメモリ装置であってもよい。いくつかの実現化例では、メモリ2037はまた、より永続的に情報を格納するための、ハードディスクドライブ、フロッピー(登録商標)ディスクドライブ、CD−ROM装置、DVD−ROM装置、DVD−RAM装置、DVD−RW装置、フラッシュメモリ装置、または何らかの他の大容量記憶装置を含む、不揮発性メモリまたは同様の永続的記憶装置および媒体を含む。メモリ2037は、コンテンツシステム171がその機能性を提供するためのコード、ルーチンおよびデータを格納してもよい。メモリ2037は、信号線2044を介してバス2020に結合される。
通信部2045は、図1Bに示すシステム199のエンティティのうちのいずれかにデータを送信してもよい。同様に、通信部2045は、図1Bに示すシステム199のエンティティのうちのいずれかからデータを受信してもよい。通信部2045は、接続ハブ123から未加工映像データおよび未加工音声データを受信するための1つ以上のイーサネット(登録商標)スイッチを含んでいてもよい。通信部2045は、信号線2046を介してバス2020に結合される。いくつかの実現化例では、通信部2045は、図1Bのネットワーク105などのネットワークへの、または別の通信チャネルへの直接的な物理的接続のためのポートを含む。たとえば、通信部2045は、別のコンピューティング装置との有線通信のためのUSB、SD、RJ45、または同様のポートなどのポートを含んでいてもよい。いくつかの実現化例では、通信部2045は、IEEE802.11、IEEE802.16、BLUETOOTH(登録商標)、または別の好適な無線通信方法を含む1つ以上の無線通信方法を使用して別のコンピューティング装置または他の通信チャネルとデータを交換するための無線トランシーバを含む。
いくつかの実現化例では、通信部2045は、ショートメッセージングサービス(SMS)、マルチメディアメッセージングサービス(MMS)、ハイパーテキスト転送プロトコル(HTTP)、直接データ接続、WAP、電子メール、または別の好適なタイプの電子通信を介することを含むセルラー通信ネットワーク上でデータを送受信するためのセルラー通信トランシーバを含む。いくつかの実現化例では、通信部2045は、有線ポートと無線トランシーバとを含む。通信部2045はまた、TCP/IP、HTTP、HTTPSおよびSMTPなどを含む標準ネットワークプロトコルを使用したデータの配信のための、ネットワークへの他の従来の接続を提供する。
記憶装置2041は、ここに説明される機能性を提供するためにデータを格納する非一時的記憶媒体であってもよい。記憶装置2041は、ダイナミックランダムアクセスメモリ(DRAM)装置、スタティックランダムアクセスメモリ(SRAM)装置、フラッシュメモリ、または何らかの他のメモリ装置であってもよい。いくつかの実現化例では、記憶装置2041はまた、より永続的に情報を格納するための、ハードディスクドライブ、フロッピー(登録商標)ディスクドライブ、CD−ROM装置、DVD−ROM装置、DVD−RAM装置、DVD−RW装置、フラッシュメモリ装置、または何らかの他の大容量記憶装置を含む、不揮発性メモリまたは同様の永続的記憶装置および媒体を含む。記憶装置2041は、信号線2042を介してバス2020に通信可能に結合される。
図20に示す実現化例では、コンテンツシステム171は、通信モジュール2002と、較正モジュール2004と、カメラマッピングモジュール2006と、映像モジュール2008と、補正モジュール2010と、音声モジュール2012と、ストリーム組合せモジュール2014と、広告モジュール2016と、ソーシャルモジュール2018と、コンテンツモジュール2056とを含む。コンテンツシステム171のこれらのモジュールは、バス2020を介して互いに通信可能に結合される。
いくつかの実現化例では、コンテンツシステム171の各モジュール(たとえば、モジュール2002、2004、2006、2008、2010、2012、2014、2016、2018、または2056)は、以下に説明されるそのそれぞれの機能性を提供するためにプロセッサ2035によって実行可能であるそれぞれの1組の命令を含んでいてもよい。いくつかの実現化例では、コンテンツシステム171の各モジュールは、コンピューティング装置2000のメモリ2037に格納されてもよく、プロセッサ2035によってアクセス可能および実行可能であってもよい。コンテンツシステム171の各モジュールは、プロセッサ2035およびコンピューティング装置2000の他の構成要素と協働および通信するために適合されてもよい。
通信モジュール2002は、コンテンツシステム171とコンピューティング装置2000の他の構成要素との間の通信を扱うためのルーチンを含むソフトウェアであってもよい。通信モジュール2002は、信号線2022を介してバス2020に通信可能に結合されてもよい。通信モジュール2002は、図1Bに示すシステム199のエンティティのうちの1つ以上との間で通信部2045を介してデータを送受信する。たとえば、通信モジュール2002は、通信部2045を介して接続ハブ123から未加工映像データを受信してもよく、その未加工映像データを映像モジュール2008に転送してもよい。別の例では、通信モジュール2002は、通信部2045を介して、ストリーム組合せモジュール2014からバーチャルリアリティコンテンツを受信してもよく、そのバーチャルリアリティコンテンツを鑑賞システム133に送信してもよい。
いくつかの実現化例では、通信モジュール2002は、コンテンツシステム171の構成要素からデータを受信し、そのデータをメモリ2037または記憶装置2041に格納する。たとえば、通信モジュール2002は、ストリーム組合せモジュール2014からバーチャルリアリティコンテンツを受信し、そのバーチャルリアリティコンテンツをメモリ2037または記憶装置2041に格納する。いくつかの実現化例では、通信モジュール2002は、メモリ2037または記憶装置2041からデータを検索し、そのデータをコンテンツシステム171の1つ以上の適切な構成要素に送信する。それに代えて、またはそれに加えて、通信モジュール2002はまた、コンテンツシステム171の構成要素間の通信を扱ってもよい。
較正モジュール2004は、カメラアレイ101におけるカメラモジュール103を較正するためのルーチンを含むソフトウェアであってもよい。較正モジュール2004は、信号線2024を介してプロセッサ2035およびコンピューティング装置2000の他の構成要素と協働および通信するために適合されてもよい。較正モジュール2004は、図2の較正モジュール204と同様の動作を行ない、機能性を提供してもよく、その説明はここでは繰り返さない。
カメラマッピングモジュール2006は、左カメラマップおよび右カメラマップを構築するためのルーチンを含むソフトウェアであってもよい。カメラマッピングモジュール2006は、信号線2026を介してプロセッサ2035およびコンピューティング装置2000の他の構成要素と協働および通信するために適合されてもよい。カメラマッピングモジュール2006は、図2のカメラマッピングモジュール206または図11のカメラマッピングモジュール1110と同様の動作を行ない、機能性を提供してもよく、その説明はここでは繰り返さない。
映像モジュール2008は、バーチャルリアリティ表示装置上で再生されると3D映像をレンダリングするように構成された3D映像データのストリームを生成するためのルーチンを含むソフトウェアであってもよい。映像モジュール2008は、信号線2080を介してプロセッサ2035およびコンピューティング装置2000の他の構成要素と協働および通信するために適合されてもよい。3D映像データのストリームは、経時変化し得るシーンの立体パノラマを記述してもよい。3D映像データのストリームは、左目視のための左パノラマ画像のストリームおよび右目視のための右パノラマ画像のストリームを含んでいてもよい。映像モジュール2008は、図2の映像モジュール208または図11の映像モジュール1112と同様の動作を行ない、機能性を提供してもよく、その説明はここでは繰り返さない。
補正モジュール2010は、画像フレームまたはパノラマ画像における収差を補正するためのルーチンを含むソフトウェアであってもよい。補正モジュール2010は、信号線2028を介してバス2020に通信可能に結合される。補正モジュール2010は、図2の補正モジュール210と同様の動作を行ない、機能性を提供してもよく、その説明はここでは繰り返さない。
音声モジュール2012は、音声再生装置上で再生されると3D音声をレンダリングするように構成された3D音声データのストリームを生成するためのルーチンを含むソフトウェアであってもよい。音声モジュール2012は、信号線2030を介してバス2020に通信可能に結合される。音声モジュール2012は、図2の音声モジュール212と同様の動作を行ない、機能性を提供してもよく、その説明はここでは繰り返さない。
ストリーム組合せモジュール2014は、バーチャルリアリティコンテンツを生成するために3D映像データのストリームと3D音声データのストリームとを組合わせるためのルーチンを含むソフトウェアであってもよい。ストリーム組合せモジュール2014は、信号線2029を介してバス2020に通信可能に結合される。ストリーム組合せモジュール2014は、図2のストリーム組合せモジュール214と同様の動作を行ない、機能性を提供してもよく、その説明はここでは繰り返さない。
バーチャルリアリティコンテンツは、3D映像データのストリーム(または圧縮された3D映像データのストリーム)、3D音声データのストリーム(または圧縮された3D音声データのストリーム)、コンテンツサーバ139からのコンテンツデータ、広告サーバ141からの広告データ、ソーシャルネットワークサーバ135からのソーシャルデータ、および任意の他の好適なバーチャルリアリティコンテンツの任意の組合せを使用して、ストリーム組合せモジュール2014によって構築されてもよい。
いくつかの実現化例では、バーチャルリアリティコンテンツは、MP4、WebM、VP8、および任意の他の好適なフォーマットなどのコンテナフォーマットでパッケージ化されてもよい。バーチャルリアリティコンテンツは、クライアント装置127またはサーバ129にファイルとして格納されてもよく、ユーザ134のためにクライアント装置127またはサーバ129から鑑賞システム133へストリーミングされてもよい。それに代えて、バーチャルリアリティコンテンツは、デジタル多用途ディスク(DVD)、フラッシュメモリ、または別のタイプの記憶装置に格納されてもよい。
広告モジュール2016は、コンテンツシステム171によって生成されたバーチャルリアリティコンテンツに広告を追加するためのルーチンを含むソフトウェアであってもよい。たとえば、広告サーバ141は、1つ以上の広告を記述する広告データを格納し、送信する。広告モジュール2016は、広告をバーチャルリアリティコンテンツに組込む。たとえば、広告は、画像、音声トラック、または映像を含み、広告モジュール2016は、広告をバーチャルリアリティコンテンツに組込む。広告は、バーチャルリアリティコンテンツにおいてつなぎ合わされた映像であってよい。いくつかの実現化例では、広告は、広告モジュール2016がバーチャルリアリティコンテンツに組込むオーバーレイを含む。たとえば、オーバーレイは透かしを含む。透かしは、製品またはサービスについての広告であってもよい。いくつかの実現化例では、広告サーバ141からの広告は、広告を表示するための位置を記述する広告データを含む。この場合、広告モジュール2016は、広告データに従って広告を表示してもよい。広告モジュール2016は、信号線2017を介してバス2020に通信可能に結合されてもよい。
いくつかの実現化例では、広告データは、広告をどのようにバーチャルリアリティコンテンツに組込むかを記述するデータを含む。たとえば、広告データは、広告がバーチャルリアリティコンテンツのどこに含まれるかを記述する。広告モジュール2016は、広告データを分析し、広告データに従って広告をバーチャルリアリティコンテンツに組込んでもよい。他の実現化例では、ユーザ134は広告モジュール2016にユーザ入力を提供し、そのユーザ入力は、広告をどのようにバーチャルリアリティコンテンツに組込むかを記述するユーザ嗜好を特定する。広告モジュール2016は、ユーザ入力を分析し、そのユーザ入力に少なくとも部分的に基づいて広告を組込んでもよい。
広告は、多くの形をとり得る。たとえば、広告は、ユーザがやりとりできる、会社のロゴまたはグラフィカルオブジェクトの製品配置であってもよい。いくつかの実現化例では、広告モジュール2016は、ユーザがよく見る区域に広告を挿入する。他の実現化例では、広告モジュール2016は、あまりよく使用されない区域に広告を挿入する。たとえば、図21Aは、バーチャルリアリティコンテンツが上部パネル2102および底部パネル2103に表示された状態のユーザ2101の図2100である。ユーザ2101は、自分の頭を上向きに動かすことにより、上部パネル2102におけるバーチャルリアリティコンテンツを見ることができる。ユーザ2101は、自分の頭を下向きに動かすことにより、底部パネル2103におけるバーチャルリアリティコンテンツを見ることができる。
図21Bは、広告モジュール2016がどのように広告を図21Aのパネルのうちの1つに組込むかを示す図2105である。たとえば、図21Bは上部パネル2102を示す。バーチャルリアリティコンテンツは、森林についてのものである。ユーザは、上部パネル2102において木2106の縁を見ることができる。上部パネル2102の中央に、広告モジュール2016は、サンフランシスコ旅行についての広告2108を挿入する。ユーザにとって見ることが重要であり得るバーチャルリアリティコンテンツと広告が重複しないため、上部パネル2102は、広告にとってよい場所であり得る。
いくつかの実現化例では、バーチャルリアリティコンテンツは、バーチャルリアリティコンテンツの生成時のエラーによって生じるつなぎ合わせ収差を含む。補正モジュール2010などのコンテンツシステム171の要素が、つなぎ合わせ収差を識別するためにバーチャルリアリティコンテンツを分析する。補正モジュール2010は、バーチャルリアリティコンテンツにおけるつなぎ合わせ収差の位置を記述するデータを、広告モジュール2016に送信する。広告モジュール2016は、バーチャルリアリティコンテンツの再生時につなぎ合わせ収差がユーザ134に見えないように、バーチャルリアリティコンテンツにおけるつなぎ合わせ収差の位置に広告を組込む。
広告モジュール2016は、広告主に課金するために、広告に関連付けられた費用を決定してもよい。たとえば、広告モジュール2016は、広告サーバ141からの広告を表示することに対して広告主に課金する。いくつかの実現化例では、広告モジュール2016は、広告の位置に基づいて、広告を表示するための費用を決定する。費用は、ユーザごとに個人化された、ユーザがバーチャルリアリティコンテンツの特定の部分内で見る場所、ユーザが概してバーチャルリアリティコンテンツを見る場所などに基づいていてもよい。いくつかの実現化例では、広告モジュール2016は、広告とのやりとりに関連付けられた費用を決定する。たとえば、ユーザが広告をクリックすると(クリックスルー)より多くの金額を課金するオンラインマガジンと同様に、広告モジュール2016は、広告モジュール2016がユーザ凝視に基づいてユーザが特定の広告を見たと判断すると、より多くの金額を課金してもよい。いくつかの実現化例では、広告モジュール2016は、たとえば広告主のウェブページのバーチャルリアリティレンダリングなどのように、ユーザが広告を選択してその広告に関するバーチャルリアリティコンテンツを見ることができるように、広告のためのリンクを生成する。この行動もクリックスルーと同様であるため、広告モジュール2016は、この行動についてより多く課金してもよい。
広告モジュール2016は、ユーザが異なる広告を凝視することに基づいて、ユーザのためのプロファイルを生成してもよい。広告モジュール2016は、広告についてのカテゴリを識別し、ユーザがそのカテゴリまたはそのカテゴリに関連付けられた広告主に興味を持っていると判断してもよい。いくつかの実現化例では、広告モジュール2016は、ユーザプロファイルに基づいて、広告を表示するための費用を決定する。たとえば、広告モジュール2016は、あるユーザがポテトチップスまたはポテトチップスの特定の製造業者に興味を持っていると判断する。その結果、広告モジュール2016は、ポテトチップスに対する興味を示していない他のユーザよりも、そのユーザにポテトチップスについての広告を表示するためにより多く課金する。
ソーシャルモジュール2018は、鑑賞システム133またはコンテンツシステム171がソーシャルネットワークアプリケーション137とやりとりできるようにするためのルーチンを含むソフトウェアであってもよい。たとえば、ソーシャルモジュール2018は、ユーザ134と鑑賞システム133またはコンテンツシステム171とのやりとりを記述するソーシャルデータを生成してもよい。やりとりは、ユーザ134についてのステータス更新であってもよい。ユーザ134は、ユーザ134を記述するソーシャルデータがユーザ134の承認なく発行されないように、ソーシャルデータを承認してもよい。一実施形態では、ソーシャルモジュール2018はソーシャルデータを通信部2045に送信し、通信部2045はソーシャルデータをソーシャルネットワークアプリケーション137に送信する。別の実施形態では、ソーシャルモジュール2018とソーシャルネットワークアプリケーション137とは同じである。ソーシャルモジュール2018は、信号線2019を介してバス2020に通信可能に結合されてもよい。
いくつかの実現化例では、ソーシャルネットワークアプリケーション137は、共通の特徴に基づいてユーザを接続するソーシャルグラフを生成する。たとえば、ユーザは、友人関係、共通の対象に対する興味、あるユーザが別のユーザによって発行された投稿をフォローすることなどに基づいて接続される。一実施形態では、ソーシャルモジュール2018は、ユーザ134およびソーシャルグラフを介したユーザの人脈がバーチャルリアリティコンテンツを同時期に消費することできるようにするためのルーチンを含む。たとえば、コンテンツシステム171は、2つ以上の鑑賞システム133に通信可能に結合される。ソーシャルグラフにおいて、第1のユーザ134が第2のユーザ134に接続される。第1のユーザ134は第1の鑑賞システム133とやりとりし、第2のユーザ134は第2の鑑賞システム133とやりとりする。第1のユーザ134および第2のユーザ134は、それぞれの鑑賞システム133を同時に使用して、コンテンツシステム171によって提供されるバーチャルリアリティコンテンツを消費してもよい。いくつかの実現化例では、バーチャルリアリティコンテンツの消費は、ソーシャルネットワークと一体化されてもよい。
いくつかの実現化例では、ソーシャルモジュール2018は、バーチャルリアリティコンテンツとのユーザとのやりとりに関する情報を、ソーシャルネットワークアプリケーション137に送信する。たとえば、ソーシャルモジュール2018は、映像全体またはその映像内のフレームについての主題を判断してもよい。ソーシャルモジュール2018は、主題およびユーザに関する情報をソーシャルネットワークアプリケーション137に送信してもよく、それは、共有される主題に基づいてソーシャルグラフを生成する。いくつかの実現化例では、ソーシャルモジュール2018は、ユーザがどのように広告に反応するかに関する情報を鑑賞システム133から受信し、ソーシャルグラフへの組込みのためにその情報をソーシャルネットワークアプリケーション137に送信する。たとえば、鑑賞システム133は、ユーザが家の飾りつけに関する広告に興味を持っていることをユーザの凝視がどのように示すかに関する情報を送信する。ソーシャルモジュール2018は、家の飾りつけに対するユーザの興味をソーシャルネットワークアプリケーション137に送信し、それは、その興味を用いてユーザのプロファイルを更新し、ユーザがつながり得る、同様に家の飾りつけに興味を持っている他のユーザを識別する。別の実施形態では、ソーシャルネットワークアプリケーション137は、広告に関する情報を使用して、ソーシャルネットワーク内の広告をユーザに提供する。
いくつかの実現化例では、ソーシャルネットワークアプリケーション137は、バーチャルリアリティコンテンツとのユーザのやりとりに基づいて、ユーザ間のつながりを示唆する。たとえば、第1のユーザおよび第2のユーザの双方が同じバーチャルリアリティコンテンツにアクセスした場合、ソーシャルネットワークアプリケーション137は、彼らが友達になることを示唆してもよい。別の例では、2人のユーザが同じ主題を有するバーチャルリアリティコンテンツにアクセスした場合、ソーシャルネットワークアプリケーション137は、彼らがつながることを示唆する。ソーシャルネットワーク上の第1のユーザがあるタイプの主題の専門家であり、第2のユーザが同じ主題を有するバーチャルリアリティコンテンツをしきい値の数だけ見るさらに別の例では、ソーシャルネットワークアプリケーション137は、第2のユーザがソーシャルネットワークで第1のユーザをフォローすることを示唆する。
ソーシャルネットワークアプリケーション137は、ユーザのバーチャルリアリティコンテンツの消費に基づいて、ユーザがソーシャルネットワークにおけるグループに参加することを示唆してもよい。たとえば、他のユーザとのサイエンスフィクションアドベンチャーを伴うバーチャルリアリティコンテンツを見るユーザのために、ソーシャルネットワークアプリケーション137は、ソーシャルネットワークにおけるサイエンスフィクション・ロールプレーイングに関するグループを示唆する。
いくつかの実現化例では、ソーシャルモジュール2018は、ソーシャルネットワークアプリケーション137がユーザに関する更新を投稿するために使用する、ユーザのやりとりに関する情報を、ソーシャルネットワークアプリケーション137に送信する。更新は、生じているユーザのやりとりのタイプに関する情報、バーチャルリアリティコンテンツに関する情報、およびバーチャルリアリティコンテンツへのアクセス方法を含んでいてもよい。ソーシャルネットワークアプリケーション137は、第1のユーザに関する更新を、ソーシャルグラフを介して第1のユーザにつながっている、ソーシャルネットワークにおける他のユーザに投稿してもよい。たとえば、更新は、第1のユーザの友達、第1のユーザの友達の友達、または親しい友達のみを含む第1のユーザの人脈の部分集合によって見られる。ソーシャルネットワークアプリケーション137はまた、同じバーチャルリアリティコンテンツを見た、またはバーチャルリアリティコンテンツの一部である主題に対する興味を示した他のユーザに、更新を投稿してもよい。
いくつかの実現化例では、ソーシャルネットワークアプリケーション137は、バーチャルリアリティコンテンツに関連付けられた主題を判断し、その主題に興味を持っている他のユーザを判断する。たとえば、ソーシャルネットワークアプリケーション137は、ユーザが登録時に作成したユーザプロファイルの一部として主題がリストされているため、ユーザがその主題に明らかに興味を持っていると判断する。別の例では、ソーシャルネットワークアプリケーション137は、主題に対する興味を判断するために、ユーザがその主題を有する映像を予め定められた数だけ見る、またはその主題に関する記事を予め定められた数だけ投稿する、といった暗示的な活動を使用する。ソーシャルネットワークアプリケーション137は、バーチャルリアリティコンテンツとのユーザのやりとりに関するソーシャルネットワーク更新を、同じ主題に興味を持っている他のユーザに限定してもよい。
いくつかの実現化例では、ソーシャルネットワークアプリケーション137は、バーチャルリアリティコンテンツが慎重を期するものでない限り、更新を投稿する。たとえば、バーチャルリアリティコンテンツがポルノグラフィーである場合、ソーシャルネットワークアプリケーション137は更新を投稿しない。いくつかの実現化例では、ソーシャルネットワークアプリケーション137は、更新の一部になり得ないタイプの主題に関するユーザ嗜好をユーザに提供する。たとえば、ソーシャルネットワークがビジネス関係向けである場合、ソーシャルネットワークアプリケーション137は、ユーザが有名人に関するバーチャルリアリティコンテンツを消費することに関する更新を投稿しない。
図21Cは、ユーザについてのソーシャルネットワーク更新のプロファイルページの例示的な図2110である。この例では、ジェーン・ドゥ(Jane Doe)というユーザが、バーチャルワールドIと宝の宮殿(Virtual World I and Treasure Palace)についてのバーチャルリアリティコンテンツとのやりとりを有する。バーチャルリアリティコンテンツの第1の更新2111は、ユーザの識別と、参加ボタン2112と、更新に対して承認、否認、またはコメントするためのリンクとを含む。ユーザが参加ボタン2112をクリックした場合、一実施形態では、ソーシャルネットワークアプリケーション137はコンテンツシステム171に開始するよう命令する。承認リンクは、「いいね」、+1、親指を立てるなどの多くの形をとり得る。否認リンクは、−1、「よくないね」、親指を下げるなどの多くの形をとり得る。
バーチャルリアリティコンテンツの第2の更新2113は、バーチャルリアリティゲームにおけるユーザの進渉状況に関するステータス更新を含む。この例では、別のユーザが、「ジェーンに報酬」ボタン2114を選択することにより、ゲーム内報酬をユーザに提供できてもよい。たとえば、そのボタンを選択すると、ソーシャルネットワークアプリケーション137は、追加の寿命、それにおいてオブジェクトを購入するためのクレジット、時間などをユーザに提供するよう、コンテンツシステム171に命令できるようになってもよい。
コンテンツモジュール2056は、コンテンツシステム171がコンテンツサーバ139からコンテンツを受信すること、および、いくつかの実現化例では、バーチャルリアリティコンテンツの分析を提供することを可能にするためのルーチンを含むソフトウェアであってもよい。たとえば、コンテンツサーバ139は、鑑賞システム133による再生にとって好適である、映像、画像、音楽、ビデオゲーム、または任意の他のVRコンテンツなどのコンテンツを格納する。コンテンツモジュール2056は、信号線2057を介してバス2020に通信可能に結合されてもよい。
いくつかの実現化例では、コンテンツサーバ139は、コンテンツデータを格納するメモリに通信可能に結合される。コンテンツデータは、映像データまたは音声データを含む。たとえば、映像は対応する音声トラックと同期した一連の画像を含み得るため、コンテンツサーバ139に格納された映像は、映像要素と音声要素とを有する。映像要素は映像データによって記述され、音声要素は音声データによって記述される。この例では、映像データおよび音声データは、コンテンツサーバ139によって送信されるコンテンツデータに含まれる。コンテンツシステム171はコンテンツデータを受信し、次に、コンテンツデータに含まれる映像データおよび音声データに少なくとも部分的に基づいて、鑑賞システム133のためのバーチャルリアリティコンテンツを生成する。コンテンツサーバ139によってホストされる画像、音楽、ビデオゲーム、または任意の他のコンテンツについても、同様の例が可能である。
いくつかの実現化例では、コンテンツモジュール2056は、バーチャルリアリティコンテンツの分析を提供する。たとえば、コンテンツモジュール2056は、すべてのユーザの凝視の位置に関する情報を受信して、それらの情報を集約してもよい。コンテンツモジュール2056は、画像における特定の位置を見たユーザの数に別々の色が対応しているヒートマップを生成してもよい。たとえば、画像がキッチンにおける場所である場合、ヒートマップは、大抵のユーザがキッチンテーブルおよび器具を見たこと、および、壁を見たユーザはほんの少しだったことを示す。
コンテンツモジュール2056は、分析データを使用してバーチャルリアリティコンテンツのプレイリストを生成してもよい。たとえば、コンテンツモジュール2056は、さまざまなバーチャルリアリティ体験の人気を判断してもよい。人気は、バーチャルリアリティコンテンツにアクセスするユーザの数、ユーザがバーチャルリアリティコンテンツとやりとりした後のユーザ格付けなどに基づいていてもよい。プレイリストは、フランスのパリのベスト10の描写など、トピックに基づいていてもよく、または、利用可能なべスト50のバーチャルリアリティコンテンツなど、全体的な人気に基づいていてもよい。いくつかの実現化例では、コンテンツモジュール2056は、主題の専門家である人々からプレイリストを生成する。たとえば、コンテンツモジュール2056は、有名なシェフによって格付けされた(または作成された)ような最良の料理映像のプレイリストを生成する。別の例では、コンテンツモジュール2056は、10億ドルの技術企業のオーナーによって提示された技術に関する最良のバーチャルリアリティコンテンツなど、専門家によって作成されたプレイリストを受け付ける。
いくつかの実現化例では、コンテンツモジュール2056は、バーチャルリアリティコンテンツのゲーム化を管理する。コンテンツモジュール2056は、バーチャルリアリティコンテンツとのユーザのやりとりを追跡してもよく、ユーザのやりとりのしきい値量を達成したことに対する報酬を提供する。たとえば、コンテンツモジュール2056は、ユーザがゲームで5つのオブジェクトを識別すると、報酬として新しいバーチャルリアリティコンテンツをユーザに与える。コンテンツモジュール2056はまた、オブジェクトの見つけ方の手がかりを提供してもよい。
いくつかの実現化例では、コンテンツモジュール2056は、ユーザがあるバーチャルリアリティ体験から別のバーチャルリアリティ体験へと動くために、バーチャルリアリティコンテンツ内にリンクを生成する。図21Dは、ユーザが歩き回って車2122が路上にある道路に接近していることを体験しているバーチャルリアリティコンテンツ2121の一例を示す(2120)。右上の隅には、ユーザが家のバーチャルリアリティコンテンツにアクセスするために選択できる、リンクされた画像2123がある。ユーザは、グローブなどの周辺装置を使用して、手を伸ばしてリンクされた画像2123に触れてもよい。いくつかの実現化例では、コンテンツシステム171は、マウスを使用してオブジェクトをクリックするのと同様に人差し指でタップするなど、リンクされた画像2123にアクセスするための特定の動きを認識する。ユーザはまた、マウスなどの周辺装置にアクセスし、スクリーン上にカーソルを位置付けて、リンクされた画像2123を選択してもよい。
図22A〜図22Cは、いくつかの実現化例に従った、バーチャルリアリティコンテンツを生成するために画像フレームおよび音声データを集約するための例示的な方法2200を示す。方法2200は、図1Bおよび図20に関して説明される。別々のブロックとして図示されているが、さまざまなブロックは、所望の実施形態に依存して、追加のブロックになるよう分割されてもよく、より少ないブロックになるよう組合わされてもよく、または削除されてもよい。
図22Aを参照して、較正モジュール2004は、カメラアレイ101におけるカメラモジュール103を較正する(2202)。通信モジュール2002は、カメラモジュール103から画像フレームを記述する未加工映像データを受信する(2204)。通信モジュール2002は、マイクロホンアレイ107から未加工音声データを受信する(2206)。映像モジュール2008は、カメラモジュール103の各々に関連付けられた位置およびタイミングを識別する(2208)。映像モジュール2008は、カメラモジュール103に関連付けられた位置およびタイミングに基づいて、画像フレームを同期させる(2210)。カメラマッピングモジュール2006は、左カメラマップおよび右カメラマップを構築する(2212)。左カメラマップは、左パノラマ画像における画素のための整合カメラモジュール103を識別する。たとえば、パノラマにおける点を表わす左パノラマ画像における画素のために、左カメラマップは、他のカメラモジュール103よりもその点へのより良好なビューを有する整合カメラモジュール103を識別する。同様に、右カメラマップは、右パノラマ画像における画素のための整合カメラモジュール103を識別する。
図22Bを参照して、映像モジュール2008は、左カメラマップに基づいて、画像フレームから左パノラマ画像のストリームを生成する(2214)。たとえば、映像モジュール2008は、左カメラマップに基づいて、左パノラマ画像における画素のための整合カメラモジュール103を識別する。特定の時間について、映像モジュール2008は、特定の時間フレームのための左パノラマ画像を形成するために、対応する整合カメラモジュール103からその特定の時間に同期された画像フレームをつなぎ合わせる。補正モジュール2010は、左パノラマ画像における色欠陥を補正する(2216)。補正モジュール2010は、左パノラマ画像におけるつなぎ合わせエラーを補正する(2218)。
映像モジュール2008は、右カメラマップに基づいて、画像フレームから右パノラマ画像のストリームを生成する(2220)。たとえば、映像モジュール2008は、右カメラマップに基づいて、右パノラマ画像における画素のための整合カメラモジュール103を識別する。特定の時間について、映像モジュール108は、その特定の時間のための右パノラマ画像を形成するために、対応する整合カメラモジュール103からその特定の時間に同期された画像フレームをつなぎ合わせる。補正モジュール2010は、右パノラマ画像における色欠陥を補正する(2222)。補正モジュール2010は、右パノラマ画像におけるつなぎ合わせエラーを補正する(2224)。
図22Cを参照して、ストリーム組合せモジュール2014は、3D映像データの圧縮されたストリームを生成するために、左パノラマ画像のストリームおよび右パノラマ画像のストリームを圧縮する(2226)。音声モジュール2012は、未加工音声データから3D音声データのストリームを生成する(2228)。ストリーム組合せモジュール2014は、3D映像データの圧縮されたストリームおよび3D音声データのストリームを含むVRコンテンツを生成する(2230)。いくつかの実現化例では、ストリーム組合せモジュール2014はまた、3D音声データの圧縮されたストリームを形成するために3D音声データのストリームを圧縮してもよく、VRコンテンツは、3D映像データの圧縮されたストリームおよび3D音声データの圧縮されたストリームを含んでいてもよい。
図23は、バーチャルリアリティシステムにおいて広告を生成するための例示的な方法2300を示す。方法2300は、図1Bおよび図20に関して説明される。別々のブロックとして図示されているが、さまざまなブロックは、所望の実施形態に依存して、追加のブロックになるよう分割されてもよく、より少ないブロックになるよう組合わされてもよく、または削除されてもよい。
ストリーム組合せモジュール2014は、3次元映像データのストリームおよび3次元音声データのストリームを含むバーチャルリアリティコンテンツを生成する(2302)。ストリーム組合せモジュール2014は、バーチャルリアリティコンテンツをユーザに提供する(2304)。広告モジュール2016は、バーチャルリアリティコンテンツでのユーザの凝視の位置を検出する(2306)。たとえば、広告モジュール2016は、鑑賞システム133からユーザ凝視情報を受信し、または、広告モジュール2016は、ユーザが通常、バーチャルリアリティコンテンツのどこに見るかに関する統計情報を使用する。広告モジュール2016は、ユーザの凝視の位置に基づいて、第1の広告を示唆する(2308)。たとえば、広告モジュール2016は、ユーザが最もよく見るところに広告を配置すべきであると判断する。別の例では、広告モジュール2016は、広告がバーチャルリアリティコンテンツを妨げないように、ユーザがそれほど頻繁に見ない位置に広告を配置すべきであると判断する。
いくつかの実現化例では、広告モジュール2016は、ユーザの凝視の位置に基づいて、広告を表示するための費用を決定する(2310)。たとえば、ユーザがよりよく見る領域については、費用はより高くなるであろう。いくつかの実現化例では、広告モジュール2016は、第2の広告にリンクされるバーチャルリアリティコンテンツの一部として、グラフィカルオブジェクトを提供する(2312)。たとえば、グラフィカルオブジェクトは、第2の広告にアクセスするためにユーザが触れることのできるソーダ缶を含む。第2の広告は、オブジェクト上に現われるポップアップウィンドウなど、バーチャルリアリティコンテンツの一部として表示されてもよく、または、第2の広告は、ユーザがグラフィカルオブジェクトに触れることに応答して広告サーバ141によって起動される別のアプリケーションの一部であってもよい。
図24は、バーチャルリアリティコンテンツに基づいてソーシャルネットワークを生成するための例示的な方法2400を示す。方法2400は、図1Bおよび図20に関して説明される。別々のブロックとして図示されているが、さまざまなブロックは、所望の実施形態に依存して、追加のブロックになるよう分割されてもよく、より少ないブロックになるよう組合わされてもよく、または削除されてもよい。方法2400は、ソーシャルネットワークアプリケーション137が、コンテンツシステム171とは別個のソーシャルネットワークサーバ135に対してステップを行なうものとして説明されるが、方法ステップはまた、コンテンツシステム171の一部であるソーシャルモジュール2018によって行なわれてもよい。
ソーシャルネットワークアプリケーション137は、第1のユーザのための3次元映像データのストリームおよび3次元音声データのストリームを含むバーチャルリアリティコンテンツを、コンテンツシステム171から受信する(2402)。ソーシャルネットワークアプリケーション137は、第1のユーザのためにソーシャルネットワークを生成する(2404)。たとえば、ソーシャルネットワークは、共有の属性に基づいてユーザをつなげる。ソーシャルネットワークアプリケーション137は、バーチャルリアリティコンテンツとのユーザのやりとりを含むソーシャルグラフを生成する(2406)。たとえば、ユーザは、ユーザがバーチャルリアリティの世界内で互いに連絡をとることに基づいて、ソーシャルネットワークにおいてつなげられる。いくつかの実現化例では、ソーシャルネットワークアプリケーション137は、つながったユーザが同じバーチャルリアリティコンテンツを見るためのリンクを生成する。たとえば、ユーザは、コンテンツシステム171を開始するために、ソーシャルネットワークにおけるボタンをクリックしてもよい。
一実施形態では、ソーシャルネットワークアプリケーション137は、バーチャルリアリティコンテンツに基づいて、第1のユーザと第2のユーザとのつながりを示唆する(2408)。たとえば、第1および第2のユーザが同じバーチャルリアリティコンテンツを見る場合、ソーシャルネットワークアプリケーション137は示唆をする。別の実施形態では、ソーシャルネットワークアプリケーション137は、バーチャルリアリティコンテンツに基づいて、ソーシャルネットワークに関連付けられたグループを示唆する(2410)。たとえば、ソーシャルネットワークアプリケーション137は、ユーザが見るバーチャルリアリティコンテンツの一部でもある主題に関するグループを示唆する。ソーシャルネットワークアプリケーション137は、第1のユーザがバーチャルリアリティコンテンツとやりとりすることに基づいて、ソーシャルネットワーク更新を自動的に生成してもよい(2412)。たとえば、ソーシャルネットワークアプリケーション137は、ユーザがストリームを開始した場合、目標を達成した場合などに更新を生成する。ソーシャルネットワークアプリケーション137は、バーチャルリアリティコンテンツの一部として表示された広告を第1のユーザが凝視することに関する情報をソーシャルグラフに格納してもよい(2414)。いくつかの実現化例では、ソーシャルネットワークアプリケーション137は、その情報を使用してソーシャルネットワーク内に広告を表示する。
図25は、バーチャルリアリティコンテンツを分析するための例示的な方法2500を示す。方法2500は、図1Bおよび図20に関して説明される。別々のブロックとして図示されているが、さまざまなブロックは、所望の実施形態に依存して、追加のブロックになるよう分割されてもよく、より少ないブロックになるよう組合わされてもよく、または削除されてもよい。
ストリーム組合せモジュール2014は、3次元映像データのストリームおよび3次元音声データのストリームを含むバーチャルリアリティコンテンツをユーザに提供する(2502)。ストリームが表示された後、コンテンツモジュール2056は、たとえば鑑賞システム133からユーザ凝視に関する情報を受信する。コンテンツモジュール2056は、バーチャルリアリティコンテンツのユーザ凝視の位置を判断し(2504)、位置ごとのユーザ凝視の数に基づいて、別々の色を含むヒートマップを生成する(2506)。たとえば、ヒートマップは、最もよく見られる区域を示すために赤を使用し、それほどよく見られない区域を示すためにオレンジを使用し、最もよく見られない区域を示すために黄色を使用する。一実施形態では、コンテンツモジュール2056は、バーチャルリアリティ体験のプレイリストを生成する(2508)。たとえば、プレイリストは、最も見られたバーチャルリアリティコンテンツ、最も高く格付けされたバーチャルリアリティコンテンツ、特定の領域についてのプレイリスト、またはある主題の専門家からのプレイリストを含む。
ここに説明された実現化例は、以下により詳細に述べられるようなさまざまなコンピュータハードウェアまたはソフトウェアモジュールを含む専用または汎用コンピュータの使用を含んでいてもよい。
ここに説明された実現化例は、格納されたコンピュータ実行可能命令またはデータ構造を担持しまたは有するためのコンピュータ読取可能媒体を使用して実現されてもよい。そのようなコンピュータ読取可能媒体は、汎用または専用コンピュータによってアクセスされ得る任意の利用可能な媒体であってもよい。限定のためではなく例として、そのようなコンピュータ読取可能媒体は、コンピュータ実行可能命令またはデータ構造の形をした所望のプログラムコードを担持するかまたは格納するために使用され、汎用または専用コンピュータによってアクセスされ得る、ランダムアクセスメモリ(RAM)、読出専用メモリ(Read-Only Memory:ROM)、電気的消去可能プログラム可能読出専用メモリ(Electrically Erasable Programmable Read-Only Memory:EEPROM)、コンパクトディスク読出専用メモリ(Compact Disc Read-Only Memory:CD−ROM)または他の光学ディスクストレージ、磁気ディスクストレージまたは他の磁気記憶装置、フラッシュメモリ装置(たとえば、固体メモリ装置)、もしくは任意の他の記憶媒体を含む有形のコンピュータ読取可能記憶媒体を含んでいてもよい。上述のものの組合せも、コンピュータ読取可能媒体の範囲内に含まれていてもよい。
コンピュータ実行可能命令は、たとえば、汎用コンピュータ、専用コンピュータ、または専用処理装置(たとえば、1つ以上のプロセッサ)にある機能または機能群を行なわせる命令およびデータを含む。構造的特徴および/または方法論的行為に特有の文言で主題を説明してきたが、添付された請求項で定義される主題は上述の特定の特徴または行為に必ずしも限定されないということが理解されるべきである。むしろ、上述の特定の特徴および行為は、請求項を実現する例示的な形として開示されている。
ここに使用されるように、「モジュール」または「構成要素」という用語は、コンピューティングシステムのモジュールまたは構成要素、および/または、汎用ハードウェア(たとえば、コンピュータ読取可能媒体、処理装置など)に格納され、および/または汎用ハードウェアによって実行され得るソフトウェアオブジェクトまたはソフトウェアルーチンの動作を行なうように構成された特定のハードウェア実現化例を指していてもよい。いくつかの実現化例では、ここに説明された異なる構成要素、モジュール、エンジン、およびサービスは、(たとえば別々のスレッドとして)コンピューティングシステム上で実行されるオブジェクトまたはプロセスとして実現されてもよい。ここに説明されたシステムおよび方法の一部は概して、(汎用ハードウェアに格納され、および/または汎用ハードウェアによって実行される)ソフトウェアで実現されると説明されているが、特定のハードウェア実現化例、またはソフトウェアと特定のハードウェア実現化例との組合せも可能であり、考えられる。この説明では、「コンピューティングエンティティ」とは、ここにこれまで定義されたような任意のコンピューティングシステム、もしくは、コンピューティングシステム上で実行される任意のモジュールまたはモジュールの組合せであってもよい。
ここに記載されたすべての例および条件付き文言は、技術の促進のために発明者によって寄与された開示および概念を読者が理解するのを助けるという教育上の目的のために意図されており、そのような具体的に記載された例および条件に限定されないと解釈されるべきである。この開示の実現化例を詳細に説明してきたが、開示の精神および範囲から逸脱することなく、さまざまな変更、置換え、および変形をここに行なうことができる、ということが理解され得る。

Claims (62)

  1. コンピュータにより実現される方法であって、
    カメラモジュールから画像フレームを記述する映像データを受信するステップと、
    マイクロホンアレイから音声データを受信するステップと、
    集約を行なうようにプログラミングされたプロセッサベースのコンピューティング装置によって、3次元(3D)映像データのストリームを生成するために前記画像フレームを集約するステップとを含み、前記3D映像データのストリームは、左パノラマ画像のストリームおよび右パノラマ画像のストリームを含み、前記方法はさらに、
    前記音声データから3D音声データのストリームを生成するステップと、
    前記3D映像データのストリームおよび前記3D音声データのストリームを含むバーチャルリアリティコンテンツを生成するステップとを含む、方法。
  2. 前記3D映像データのストリームを生成するために前記画像フレームを集約するステップは、
    左カメラマップに基づいて、左パノラマ画像のための第1の整合カメラモジュールを識別するステップと、
    右カメラマップに基づいて、右パノラマ画像のための第2の整合カメラモジュールを識別するステップと、
    前記左パノラマ画像のストリームにおける対応する左パノラマ画像を形成するために、特定の時間に前記第1の整合カメラモジュールによって取り込まれた第1の画像フレームをつなぎ合わせるステップと、
    前記右パノラマ画像のストリームにおける対応する右パノラマ画像を形成するために、特定の時間に前記第2の整合カメラモジュールによって取り込まれた第2の画像フレームをつなぎ合わせるステップとを含む、請求項1に記載の方法。
  3. パノラマにおける、ヨー値およびピッチ値を有する画素のために、
    前記左カメラマップは、前記パノラマにおける前記画素のための第1の整合カメラモジュールを識別して、前記パノラマにおける前記画素を前記第1の整合カメラモジュールの画像平面における画素に整合させ、
    前記右カメラマップは、前記パノラマにおける前記画素のための第2の整合カメラモジュールを識別して、前記パノラマにおける前記画素を前記第2の整合カメラモジュールの画像平面における画素に整合させる、請求項2に記載の方法。
  4. 前記左カメラマップは、左パノラマ画像における画素位置を対応する第1の整合カメラモジュールに関連付け、前記画素位置は、左視方向におけるパノラマの点に対応しており、
    前記対応する第1の整合カメラモジュールは、前記パノラマの前記点への視方向を含む視野を有し、
    前記対応する第1の整合カメラモジュールの前記視方向は、他のカメラモジュールに関連付けられた他の視方向よりも、前記左視方向に近い、請求項2に記載の方法。
  5. 前記3D映像データのストリームを生成するために前記画像フレームを集約するステップは、
    ユーザに関連付けられた現在の視方向を判断するステップと、
    前記現在の視方向に基づいて、前記左パノラマ画像のストリームおよび前記右パノラマ画像のストリームを生成するステップとを含む、請求項1に記載の方法。
  6. 前記左パノラマ画像は、前記ユーザの前記現在の視方向において、前記現在の視方向とは反対の第2の視方向よりも高い解像度を有し、
    前記右パノラマ画像は、前記ユーザの前記現在の視方向において、前記現在の視方向とは反対の前記第2の視方向よりも高い解像度を有する、請求項5に記載の方法。
  7. 前記左パノラマ画像および前記右パノラマ画像における色欠陥を補正するステップと、
    前記左パノラマ画像および前記右パノラマ画像におけるつなぎ合わせエラーを補正するステップとをさらに含む、請求項1に記載の方法。
  8. 1つ以上のプロセッサと、
    1つ以上の有形の非一時的なコンピュータ読取可能媒体とを含む、システムであって、前記コンピュータ読取可能媒体は、前記1つ以上のプロセッサに通信可能に結合され、以下の動作を行なうために前記1つ以上のプロセッサによって実行可能な実行可能命令を格納しており、前記以下の動作は、
    カメラモジュールから画像フレームを記述する映像データを受信することと、
    マイクロホンアレイから音声データを受信することと、
    左パノラマ画像のストリームおよび右パノラマ画像のストリームを含む3D映像データのストリームを集約することと、
    前記音声データから3D音声データのストリームを生成することと、
    前記3D映像データのストリームおよび前記3D音声データのストリームを含むバーチャルリアリティコンテンツを生成することとを含む、システム。
  9. 前記1つ以上のプロセッサによって実行可能な前記命令は、
    左カメラマップに基づいて、左パノラマ画像のための第1の整合カメラモジュールを識別し、
    右カメラマップに基づいて、右パノラマ画像のための第2の整合カメラモジュールを識別し、
    前記左パノラマ画像のストリームにおける対応する左パノラマ画像を形成するために、特定の時間に前記第1の整合カメラモジュールによって取り込まれた第1の画像フレームをつなぎ合わせ、
    前記右パノラマ画像のストリームにおける対応する右パノラマ画像を形成するために、特定の時間に前記第2の整合カメラモジュールによって取り込まれた第2の画像フレームをつなぎ合わせることにより、
    前記3D映像データのストリームを生成するために前記画像フレームを集約する、請求項8に記載のシステム。
  10. パノラマにおける、ヨー値およびピッチ値を有する画素のために、
    前記左カメラマップは、前記パノラマにおける前記画素のための第1の整合カメラモジュールを識別して、前記パノラマにおける前記画素を前記第1の整合カメラモジュールの画像平面における画素に整合させ、
    前記右カメラマップは、前記パノラマにおける前記画素のための第2の整合カメラモジュールを識別して、前記パノラマにおける前記画素を前記第2の整合カメラモジュールの画像平面における画素に整合させる、請求項9に記載のシステム。
  11. 前記左カメラマップは、左パノラマ画像における画素位置を対応する第1の整合カメラモジュールに関連付け、前記画素位置は、左視方向におけるパノラマの点に対応しており、
    前記対応する第1の整合カメラモジュールは、前記パノラマの前記点への視方向を含む視野を有し、
    前記対応する第1の整合カメラモジュールの前記視方向は、他のカメラモジュールに関連付けられた他の視方向よりも、前記左視方向に近い、請求項9に記載のシステム。
  12. 前記1つ以上のプロセッサによって実行可能な前記命令は、
    ユーザに関連付けられた現在の視方向を判断し、
    前記現在の視方向に基づいて、前記左パノラマ画像のストリームおよび前記右パノラマ画像のストリームを生成することにより、
    前記3D映像データのストリームを生成するために前記画像フレームを集約する、請求項8に記載のシステム。
  13. 前記左パノラマ画像は、前記ユーザの前記現在の視方向において、前記現在の視方向とは反対の第2の視方向よりも高い解像度を有し、
    前記右パノラマ画像は、前記ユーザの前記現在の視方向において、前記現在の視方向とは反対の前記第2の視方向よりも高い解像度を有する、請求項12に記載のシステム。
  14. 前記1つ以上のプロセッサによって実行可能な前記命令は、
    前記左パノラマ画像および前記右パノラマ画像における色欠陥を補正することと、
    前記左パノラマ画像および前記右パノラマ画像におけるつなぎ合わせエラーを補正することとをさらに含む動作を行なう、請求項8に記載のシステム。
  15. コンピュータ読取可能プログラムを含む非一時的なコンピュータ使用可能媒体を含む、コンピュータプログラム製品であって、前記コンピュータ読取可能プログラムは、コンピュータ上で実行されると、前記コンピュータに以下のステップを行なわせ、前記以下のステップは、
    カメラモジュールから画像フレームを記述する映像データを受信するステップと、
    マイクロホンアレイから音声データを受信するステップと、
    3次元(3D)映像データのストリームを生成するために前記画像フレームを集約するステップとを含み、前記3D映像データのストリームは、左パノラマ画像のストリームおよび右パノラマ画像のストリームを含み、前記以下のステップはさらに、
    前記音声データから3D音声データのストリームを生成するステップと、
    前記3D映像データのストリームおよび前記3D音声データのストリームを含むバーチャルリアリティコンテンツを生成するステップとを含む、コンピュータプログラム製品。
  16. 前記3D映像データのストリームを生成するために前記画像フレームを集約するステップは、
    左カメラマップに基づいて、左パノラマ画像のための第1の整合カメラモジュールを識別するステップと、
    右カメラマップに基づいて、右パノラマ画像のための第2の整合カメラモジュールを識別するステップと、
    前記左パノラマ画像のストリームにおける対応する左パノラマ画像を形成するために、特定の時間に前記第1の整合カメラモジュールによって取り込まれた第1の画像フレームをつなぎ合わせるステップと、
    前記右パノラマ画像のストリームにおける対応する右パノラマ画像を形成するために、特定の時間に前記第2の整合カメラモジュールによって取り込まれた第2の画像フレームをつなぎ合わせるステップとを含む、請求項15に記載のコンピュータプログラム製品。。
  17. パノラマにおける、ヨー値およびピッチ値を有する画素のために、
    前記左カメラマップは、前記パノラマにおける前記画素のための第1の整合カメラモジュールを識別して、前記パノラマにおける前記画素を前記第1の整合カメラモジュールの画像平面における画素に整合させ、
    前記右カメラマップは、前記パノラマにおける前記画素のための第2の整合カメラモジュールを識別して、前記パノラマにおける前記画素を前記第2の整合カメラモジュールの画像平面における画素に整合させる、請求項16に記載のコンピュータプログラム製品。
  18. 前記左カメラマップは、左パノラマ画像における画素位置を対応する第1の整合カメラモジュールに関連付け、前記画素位置は、左視方向におけるパノラマの点に対応しており、
    前記対応する第1の整合カメラモジュールは、前記パノラマの前記点への視方向を含む視野を有し、
    前記対応する第1の整合カメラモジュールの前記視方向は、他のカメラモジュールに関連付けられた他の視方向よりも、前記左視方向に近い、請求項16に記載のコンピュータプログラム製品。
  19. 前記3D映像データのストリームを生成するために前記画像フレームを集約するステップは、
    ユーザに関連付けられた現在の視方向を判断するステップと、
    前記現在の視方向に基づいて、前記左パノラマ画像のストリームおよび前記右パノラマ画像のストリームを生成するステップとを含む、請求項15に記載のコンピュータプログラム製品。
  20. 前記左パノラマ画像は、前記ユーザの前記現在の視方向において、前記現在の視方向とは反対の第2の視方向よりも高い解像度を有し、
    前記右パノラマ画像は、前記ユーザの前記現在の視方向において、前記現在の視方向とは反対の前記第2の視方向よりも高い解像度を有する、請求項19に記載のコンピュータプログラム製品。
  21. 方法であって、
    特定の時間にカメラアレイの2つ以上のカメラモジュールによって取り込まれた画像フレームを受信するステップと、
    前記2つ以上のカメラモジュールからの第1の組のカメラモジュール間に第1のバーチャルカメラを補間するステップと、
    前記第1の組のカメラモジュール間の第1の組の視差マップを定めるステップと、
    生成を行なうようにプログラミングされたプロセッサベースのコンピューティング装置によって、前記特定の時間に前記第1の組のカメラモジュールによって取り込まれた第1の組の画像フレームから、前記第1のバーチャルカメラのために、前記特定の時間に関連付けられた第1のバーチャルカメラ画像を生成するステップとを含み、前記第1のバーチャルカメラ画像は、前記第1の組の視差マップに基づいて生成され、前記方法はさらに、
    前記2つ以上のカメラモジュールによって取り込まれた前記画像フレームおよび前記第1のバーチャルカメラの前記第1のバーチャルカメラ画像から、前記特定の時間に関連付けられた左パノラマ画像および右パノラマ画像を構築するステップを含む、方法。
  22. 前記第1の組のカメラモジュールは、重複する視野を有する第1のカメラモジュールおよび第2のカメラモジュールを含み、
    前記第1の組のカメラモジュールによって取り込まれた前記第1の組の画像フレームは、前記第1のカメラモジュールによって取り込まれた第1の画像と、前記第2のカメラモジュールによって取り込まれた第2の画像とを含み、
    前記第1の画像は、前記重複する視野上で前記第2の画像の第2のサブ画像と重複する第1のサブ画像を含み、
    前記第1の組のカメラモジュール間の前記第1の組の視差マップを定めるステップは、
    前記第1のサブ画像から前記第2のサブ画像に画素の視差をマッピングする第1の視差マップを定めるステップと、
    前記第2のサブ画像から前記第1のサブ画像に画素の視差をマッピングする第2の視差マップを定めるステップとを含む、請求項21に記載の方法。
  23. 前記第1のバーチャルカメラのために前記第1のバーチャルカメラ画像を生成するステップは、
    前記第1および第2のカメラモジュールに対する前記第1のバーチャルカメラの位置を判断するステップと、
    前記第1の視差マップおよび前記第1のバーチャルカメラの位置に基づいて、前記第1のサブ画像から第1のシフトされたサブ画像を生成するステップと、
    前記第2の視差マップおよび前記第1のバーチャルカメラの位置に基づいて、前記第2のサブ画像から第2のシフトされたサブ画像を生成するステップと、
    前記第1のバーチャルカメラのために前記第1のバーチャルカメラ画像を生成するために、前記第1のシフトされたサブ画像と前記第2のシフトされたサブ画像とを組合わせるステップとを含む、請求項22に記載の方法。
  24. 前記第1のサブ画像から前記第2のサブ画像に画素の視差をマッピングする前記第1の視差マップを定めるステップは、
    前記重複する視野における対応する画素位置ごとに、
    前記画素位置での前記第1のサブ画像の第1の画素と第2の画素位置での前記第2のサブ画像の第2の画素との間の類似性スコアを求めるステップを含み、前記画素位置と前記第2の画素位置の各々との間の対応する距離は、異なる視差値と等しく、前記第1の視差マップを定めるステップはさらに、
    前記類似性スコアから最高類似性スコアを求めるステップと、
    前記最高類似性スコアに関連付けられた視差値を求めるステップと、
    前記最高類似性スコアに関連付けられた前記視差値を、前記第1の視差マップにおける前記画素位置に割り当てるステップとを含む、請求項22に記載の方法。
  25. 前記第2のサブ画像から前記第1のサブ画像に画素の視差をマッピングする前記第2の視差マップを定めるステップは、
    前記重複する視野における対応する画素位置ごとに、
    前記画素位置での前記第2のサブ画像の第1の画素と第2の画素位置での前記第1のサブ画像の第2の画素との間の類似性スコアを求めるステップを含み、前記画素位置と前記第2の画素位置の各々との間の対応する距離は、異なる視差値と等しく、前記第2の視差マップを定めるステップはさらに、
    前記類似性スコアから最高類似性スコアを求めるステップと、
    前記最高類似性スコアに関連付けられた視差値を求めるステップと、
    前記最高類似性スコアに関連付けられた前記視差値を、前記第2の視差マップにおける前記画素位置に割り当てるステップとを含む、請求項22に記載の方法。
  26. 前記第1のバーチャルカメラと前記第1の組のカメラモジュールからの第1のカメラモジュールとの間に第2のバーチャルカメラを補間するステップと、
    前記第1のバーチャルカメラおよび前記第1のカメラモジュールに関連付けられた第2の組の視差マップを定めるステップと、
    前記第2の組の視差マップに基づいて、前記第1のカメラモジュールの画像フレームおよび前記第1のバーチャルカメラモジュールの前記第1のバーチャルカメラ画像から、前記第2のバーチャルカメラのために、前記特定の時間に関連付けられた第2のバーチャルカメラ画像を生成するステップとをさらに含み、
    前記特定の時間に関連付けられた前記左パノラマ画像および前記右パノラマ画像は、前記2つ以上のカメラモジュールによって取り込まれた前記画像フレーム、前記第1のバーチャルカメラの前記第1のバーチャルカメラ画像、および前記第2のバーチャルカメラの前記第2のバーチャルカメラ画像から構築される、請求項21に記載の方法。
  27. 前記2つ以上のカメラモジュールからの第2の組のカメラモジュール間に第3のバーチャルカメラを補間するステップと、
    前記第2の組のカメラモジュールに関連付けられた第3の組の視差マップを定めるステップと、
    前記第3の組の視差マップに基づいて、前記特定の時間に前記第2の組のカメラモジュールによって取り込まれた第2の組の画像フレームから、前記第3のバーチャルカメラのために、前記特定の時間に関連付けられた第3のバーチャルカメラ画像を生成するステップとをさらに含み、
    前記特定の時間に関連付けられた前記左パノラマ画像および前記右パノラマ画像は、前記2つ以上のカメラモジュールによって取り込まれた前記画像フレーム、前記第1のバーチャルカメラの前記第1のバーチャルカメラ画像、および前記第3のバーチャルカメラの前記第3のバーチャルカメラ画像から構築される、請求項21に記載の方法。
  28. 前記2つ以上のカメラモジュールおよび前記第1のバーチャルカメラの構成に基づいて、左カメラマップおよび右カメラマップを構築するステップをさらに含み、
    前記左パノラマ画像は、前記左カメラマップに基づいて、前記画像フレームおよび前記第1のバーチャルカメラ画像から構築され、
    前記右パノラマ画像は、前記右カメラマップに基づいて、前記画像フレームおよび前記第1のバーチャルカメラ画像から構築される、請求項21に記載の方法。
  29. 1つ以上のプロセッサと、
    1つ以上の有形の非一時的なコンピュータ読取可能媒体とを含む、システムであって、前記コンピュータ読取可能媒体は、前記1つ以上のプロセッサに通信可能に結合され、以下の動作を行なうために前記1つ以上のプロセッサによって実行可能な実行可能命令を格納しており、前記以下の動作は、
    特定の時間にカメラアレイの2つ以上のカメラモジュールによって取り込まれた画像フレームを受信することと、
    前記2つ以上のカメラモジュールからの第1の組のカメラモジュール間に第1のバーチャルカメラを補間することと、
    前記第1の組のカメラモジュール間の第1の組の視差マップを定めることと、
    前記特定の時間に前記第1の組のカメラモジュールによって取り込まれた第1の組の画像フレームから、前記第1のバーチャルカメラのために、前記特定の時間に関連付けられた第1のバーチャルカメラ画像を、前記第1の組の視差マップに基づいて生成することと、
    前記2つ以上のカメラモジュールによって取り込まれた前記画像フレームおよび前記第1のバーチャルカメラの前記第1のバーチャルカメラ画像から、前記特定の時間に関連付けられた左パノラマ画像および右パノラマ画像を構築することとを含む、システム。
  30. 前記第1の組のカメラモジュールは、重複する視野を有する第1のカメラモジュールおよび第2のカメラモジュールを含み、
    前記第1の組のカメラモジュールによって取り込まれた前記第1の組の画像フレームは、前記第1のカメラモジュールによって取り込まれた第1の画像と、前記第2のカメラモジュールによって取り込まれた第2の画像とを含み、
    前記第1の画像は、前記重複する視野上で前記第2の画像の第2のサブ画像と重複する第1のサブ画像を含み、
    前記1つ以上のプロセッサによって実行可能な前記命令は、
    前記第1のサブ画像から前記第2のサブ画像に画素の視差をマッピングする第1の視差マップを定め、
    前記第2のサブ画像から前記第1のサブ画像に画素の視差をマッピングする第2の視差マップを定めることにより、
    前記第1の組のカメラモジュール間の前記第1の組の視差マップを定める、請求項29に記載のシステム。
  31. 前記1つ以上のプロセッサによって実行可能な前記命令は、
    前記第1および第2のカメラモジュールに対する前記第1のバーチャルカメラの位置を判断し、
    前記第1の視差マップおよび前記第1のバーチャルカメラの位置に基づいて、前記第1のサブ画像から第1のシフトされたサブ画像を生成し、
    前記第2の視差マップおよび前記第1のバーチャルカメラの位置に基づいて、前記第2のサブ画像から第2のシフトされたサブ画像を生成し、
    前記第1のバーチャルカメラのために前記第1のバーチャルカメラ画像を生成するために、前記第1のシフトされたサブ画像と前記第2のシフトされたサブ画像とを組合わせることにより、
    前記第1のバーチャルカメラのために前記第1のバーチャルカメラ画像を生成する、請求項30に記載のシステム。
  32. 前記1つ以上のプロセッサによって実行可能な前記命令は、
    前記重複する視野における対応する画素位置ごとに、
    前記画素位置での前記第1のサブ画像の第1の画素と第2の画素位置での前記第2のサブ画像の第2の画素との間の類似性スコアを求め(前記画素位置と前記第2の画素位置の各々との間の対応する距離は、異なる視差値と等しい)、
    前記類似性スコアから最高類似性スコアを求め、
    前記最高類似性スコアに関連付けられた視差値を求め、
    前記最高類似性スコアに関連付けられた前記視差値を、前記第1の視差マップにおける前記画素位置に割り当てることにより、
    前記第1のサブ画像から前記第2のサブ画像に画素の視差をマッピングする前記第1の視差マップを定める、請求項30に記載のシステム。
  33. 前記1つ以上のプロセッサによって実行可能な前記命令は、
    前記重複する視野における対応する画素位置ごとに、
    前記画素位置での前記第2のサブ画像の第1の画素と第2の画素位置での前記第1のサブ画像の第2の画素との間の類似性スコアを求め(前記画素位置と前記第2の画素位置の各々との間の対応する距離は、異なる視差値と等しい)、
    前記類似性スコアから最高類似性スコアを求め、
    前記最高類似性スコアに関連付けられた視差値を求め、
    前記最高類似性スコアに関連付けられた前記視差値を、前記第2の視差マップにおける前記画素位置に割り当てることにより、
    前記第2のサブ画像から前記第1のサブ画像に画素の視差をマッピングする前記第2の視差マップを定める、請求項30に記載のシステム。
  34. 前記1つ以上のプロセッサによって実行可能な前記命令は、
    前記第1のバーチャルカメラと前記第1の組のカメラモジュールからの第1のカメラモジュールとの間に第2のバーチャルカメラを補間することと、
    前記第1のバーチャルカメラおよび前記第1のカメラモジュールに関連付けられた第2の組の視差マップを定めることと、
    前記第2の組の視差マップに基づいて、前記第1のカメラモジュールの画像フレームおよび前記第1のバーチャルカメラモジュールの前記第1のバーチャルカメラ画像から、前記第2のバーチャルカメラのために、前記特定の時間に関連付けられた第2のバーチャルカメラ画像を生成することとをさらに含む動作を行ない、
    前記特定の時間に関連付けられた前記左パノラマ画像および前記右パノラマ画像は、前記2つ以上のカメラモジュールによって取り込まれた前記画像フレーム、前記第1のバーチャルカメラの前記第1のバーチャルカメラ画像、および前記第2のバーチャルカメラの前記第2のバーチャルカメラ画像から構築される、請求項29に記載のシステム。
  35. 前記1つ以上のプロセッサによって実行可能な前記命令は、
    前記2つ以上のカメラモジュールからの第2の組のカメラモジュール間に第3のバーチャルカメラを補間することと、
    前記第2の組のカメラモジュールに関連付けられた第3の組の視差マップを定めることと、
    前記第3の組の視差マップに基づいて、前記特定の時間に前記第2の組のカメラモジュールによって取り込まれた第2の組の画像フレームから、前記第3のバーチャルカメラのために、前記特定の時間に関連付けられた第3のバーチャルカメラ画像を生成することとをさらに含む動作を行ない、
    前記特定の時間に関連付けられた前記左パノラマ画像および前記右パノラマ画像は、前記2つ以上のカメラモジュールによって取り込まれた前記画像フレーム、前記第1のバーチャルカメラの前記第1のバーチャルカメラ画像、および前記第3のバーチャルカメラの前記第3のバーチャルカメラ画像から構築される、請求項29に記載のシステム。
  36. コンピュータ読取可能プログラムを含む非一時的なコンピュータ使用可能媒体を含む、コンピュータプログラム製品であって、前記コンピュータ読取可能プログラムは、コンピュータ上で実行されると、
    特定の時間にカメラアレイの2つ以上のカメラモジュールによって取り込まれた画像フレームを受信するステップと、
    前記2つ以上のカメラモジュールからの第1の組のカメラモジュール間に第1のバーチャルカメラを補間するステップと、
    前記第1の組のカメラモジュール間の第1の組の視差マップを定めるステップと、
    前記特定の時間に前記第1の組のカメラモジュールによって取り込まれた第1の組の画像フレームから、前記第1のバーチャルカメラのために、前記特定の時間に関連付けられた第1のバーチャルカメラ画像を、前記第1の組の視差マップに基づいて生成するステップと、
    前記2つ以上のカメラモジュールによって取り込まれた前記画像フレームおよび前記第1のバーチャルカメラの前記第1のバーチャルカメラ画像から、前記特定の時間に関連付けられた左パノラマ画像および右パノラマ画像を構築するステップとを、前記コンピュータに行なわせる、コンピュータプログラム製品。
  37. 前記第1の組のカメラモジュールは、重複する視野を有する第1のカメラモジュールおよび第2のカメラモジュールを含み、
    前記第1の組のカメラモジュールによって取り込まれた前記第1の組の画像フレームは、前記第1のカメラモジュールによって取り込まれた第1の画像と、前記第2のカメラモジュールによって取り込まれた第2の画像とを含み、
    前記第1の画像は、前記重複する視野上で前記第2の画像の第2のサブ画像と重複する第1のサブ画像を含み、
    前記第1の組のカメラモジュール間の前記第1の組の視差マップを定めるステップは、
    前記第1のサブ画像から前記第2のサブ画像に画素の視差をマッピングする第1の視差マップを定めるステップと、
    前記第2のサブ画像から前記第1のサブ画像に画素の視差をマッピングする第2の視差マップを定めるステップとを含む、請求項36に記載のコンピュータプログラム製品。
  38. 前記第1のバーチャルカメラのために前記第1のバーチャルカメラ画像を生成するステップは、
    前記第1および第2のカメラモジュールに対する前記第1のバーチャルカメラの位置を判断するステップと、
    前記第1の視差マップおよび前記第1のバーチャルカメラの位置に基づいて、前記第1のサブ画像から第1のシフトされたサブ画像を生成するステップと、
    前記第2の視差マップおよび前記第1のバーチャルカメラの位置に基づいて、前記第2のサブ画像から第2のシフトされたサブ画像を生成するステップと、
    前記第1のバーチャルカメラのために前記第1のバーチャルカメラ画像を生成するために、前記第1のシフトされたサブ画像と前記第2のシフトされたサブ画像とを組合わせるステップとを含む、請求項37に記載のコンピュータプログラム製品。
  39. 前記第1のサブ画像から前記第2のサブ画像に画素の視差をマッピングする前記第1の視差マップを定めるステップは、
    前記重複する視野における対応する画素位置ごとに、
    前記画素位置での前記第1のサブ画像の第1の画素と第2の画素位置での前記第2のサブ画像の第2の画素との間の類似性スコアを求めるステップを含み、前記画素位置と前記第2の画素位置の各々との間の対応する距離は、異なる視差値と等しく、前記第1の視差マップを定めるステップはさらに、
    前記類似性スコアから最高類似性スコアを求めるステップと、
    前記最高類似性スコアに関連付けられた視差値を求めるステップと、
    前記最高類似性スコアに関連付けられた前記視差値を、前記第1の視差マップにおける前記画素位置に割り当てるステップとを含む、請求項37に記載のコンピュータプログラム製品。
  40. 前記第2のサブ画像から前記第1のサブ画像に画素の視差をマッピングする前記第2の視差マップを定めるステップは、
    前記重複する視野における対応する画素位置ごとに、
    前記画素位置での前記第2のサブ画像の第1の画素と第2の画素位置での前記第1のサブ画像の第2の画素との間の類似性スコアを求めるステップを含み、前記画素位置と前記第2の画素位置の各々との間の対応する距離は、異なる視差値と等しく、前記第2の視差マップを定めるステップはさらに、
    前記類似性スコアから最高類似性スコアを求めるステップと、
    前記最高類似性スコアに関連付けられた視差値を求めるステップと、
    前記最高類似性スコアに関連付けられた前記視差値を、前記第2の視差マップにおける前記画素位置に割り当てるステップとを含む、請求項37に記載のコンピュータプログラム製品。
  41. 前記コンピュータ読取可能プログラムは、前記コンピュータ上で実行されると、
    前記第1のバーチャルカメラと前記第1の組のカメラモジュールからの第1のカメラモジュールとの間に第2のバーチャルカメラを補間するステップと、
    前記第1のバーチャルカメラおよび前記第1のカメラモジュールに関連付けられた第2の組の視差マップを定めるステップと、
    前記第2の組の視差マップに基づいて、前記第1のカメラモジュールの画像フレームおよび前記第1のバーチャルカメラモジュールの前記第1のバーチャルカメラ画像から、前記第2のバーチャルカメラのために、前記特定の時間に関連付けられた第2のバーチャルカメラ画像を生成するステップとを、前記コンピュータにさらに行なわせ、
    前記特定の時間に関連付けられた前記左パノラマ画像および前記右パノラマ画像は、前記2つ以上のカメラモジュールによって取り込まれた前記画像フレーム、前記第1のバーチャルカメラの前記第1のバーチャルカメラ画像、および前記第2のバーチャルカメラの前記第2のバーチャルカメラ画像から構築される、請求項36に記載のコンピュータプログラム製品。
  42. 前記コンピュータ読取可能プログラムは、前記コンピュータ上で実行されると、
    前記2つ以上のカメラモジュールからの第2の組のカメラモジュール間に第3のバーチャルカメラを補間するステップと、
    前記第2の組のカメラモジュールに関連付けられた第3の組の視差マップを定めるステップと、
    前記第3の組の視差マップに基づいて、前記特定の時間に前記第2の組のカメラモジュールによって取り込まれた第2の組の画像フレームから、前記第3のバーチャルカメラのために、前記特定の時間に関連付けられた第3のバーチャルカメラ画像を生成するステップとを、前記コンピュータにさらに行なわせ、
    前記特定の時間に関連付けられた前記左パノラマ画像および前記右パノラマ画像は、前記2つ以上のカメラモジュールによって取り込まれた前記画像フレーム、前記第1のバーチャルカメラの前記第1のバーチャルカメラ画像、および前記第3のバーチャルカメラの前記第3のバーチャルカメラ画像から構築される、請求項36に記載のコンピュータプログラム製品。
  43. 生成を行なうようにプログラミングされたプロセッサベースのコンピューティング装置を用いて、3次元映像データの圧縮されたストリームおよび3次元音声データのストリームを含むバーチャルリアリティコンテンツを生成するステップと、
    前記バーチャルリアリティコンテンツをユーザに提供するステップと、
    前記バーチャルリアリティコンテンツでの前記ユーザの凝視の位置を検出するステップと、
    前記ユーザの凝視の位置に基づいて第1の広告を示唆するステップとを含む、方法。
  44. 前記ユーザの凝視の位置に基づいて、広告を表示するための費用を決定するステップをさらに含む、請求項43に記載の方法。
  45. 前記広告を表示するための費用を決定するステップはさらに、前記ユーザが前記位置を凝視する時間の長さに基づいている、請求項44に記載の方法。
  46. 第2の広告にリンクされる前記バーチャルリアリティコンテンツの一部としてグラフィカルオブジェクトを提供するステップをさらに含む、請求項43に記載の方法。
  47. 前記バーチャルリアリティコンテンツの少なくとも一部を含む底部および上部を表示するためのグラフィックスを生成するステップと、
    少なくとも前記底部または前記上部の一部である広告を提供するステップとをさらに含む、請求項43に記載の方法。
  48. 受信を行なうようにプログラミングされたプロセッサベースのコンピューティング装置を用いて、第1のユーザへの3次元映像データのストリームおよび3次元音声データのストリームを含むバーチャルリアリティコンテンツを受信するステップと、
    前記第1のユーザのためにソーシャルネットワークを生成するステップと、
    前記バーチャルリアリティコンテンツとのユーザのやりとりを含むソーシャルグラフを生成するステップとを含む、方法。
  49. 前記バーチャルリアリティコンテンツに基づいて、前記第1のユーザと第2のユーザとのつながりを示唆するステップをさらに含む、請求項48に記載の方法。
  50. 前記バーチャルリアリティコンテンツに基づいて、前記ソーシャルネットワークに関連付けられたグループを示唆するステップをさらに含む、請求項48に記載の方法。
  51. 前記第1のユーザが前記バーチャルリアリティコンテンツとやりとりすることに基づいて、ソーシャルネットワーク更新を自動的に生成するステップをさらに含む、請求項48に記載の方法。
  52. 前記バーチャルリアリティコンテンツに関連付けられた主題を判断するステップと、
    前記主題に興味を持っている他のユーザを判断するステップとをさらに含み、
    前記他のユーザは、前記第1のユーザが前記バーチャルリアリティコンテンツとやりとりすることに基づいて、前記ソーシャルネットワーク更新を受信する、請求項51に記載の方法。
  53. 前記主題に興味を持っている他のユーザを判断するステップは、前記他のユーザが、自分が前記主題に興味を持っていることを明らかに示すことに基づいている、請求項52に記載の方法。
  54. 活動のタイプに基づいてソーシャルネットワーク更新を発行すべきかどうかを判断するために、前記第1のユーザのためのプライバシー設定を生成するステップをさらに含む、請求項48に記載の方法。
  55. 前記バーチャルリアリティコンテンツの一部として表示された広告を前記第1のユーザが凝視することに関する情報をソーシャルグラフに格納するステップをさらに含む、請求項48に記載の方法。
  56. 物理的な刺激を提供するために振動するよう、物理的ハードウェアに命令を送信するステップをさらに含む、請求項48に記載の方法。
  57. 提供を行なうようにプログラミングされたプロセッサベースのコンピューティング装置を用いて、3次元映像データの圧縮されたストリームおよび3次元音声データのストリームを含むバーチャルリアリティコンテンツを提供するステップと、
    前記バーチャルリアリティコンテンツのユーザ凝視の位置を判断するステップと、
    位置ごとのユーザ凝視の数に基づいて、別々の色を含むヒートマップを生成するステップとを含む、方法。
  58. バーチャルリアリティ体験のプレイリストを生成するステップをさらに含む、請求項57に記載の方法。
  59. 前記プレイリストは、バーチャルリアリティコンテンツの多くのユーザビューに基づいている、請求項58に記載の方法。
  60. 前記プレイリストは、地理的位置に基づいている、請求項58に記載の方法。
  61. 前記プレイリストは、主題の専門家であるユーザによって生成され、前記プレイリストは前記主題に基づいている、請求項58に記載の方法。
  62. 前記プレイリストは、ソーシャルグラフの2つ以上のユーザプロファイルでの傾向に基づいて自動的に生成される、請求項58に記載の方法。
JP2016536463A 2013-08-21 2014-08-21 バーチャルリアリティコンテンツのつなぎ合わせおよび認識 Pending JP2016537903A (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201361868527P 2013-08-21 2013-08-21
US61/868,527 2013-08-21
US201462004645P 2014-05-29 2014-05-29
US62/004,645 2014-05-29
US201462008215P 2014-06-05 2014-06-05
US62/008,215 2014-06-05
US201462029254P 2014-07-25 2014-07-25
US62/029,254 2014-07-25
PCT/US2014/052168 WO2015027105A1 (en) 2013-08-21 2014-08-21 Virtual reality content stitching and awareness

Publications (1)

Publication Number Publication Date
JP2016537903A true JP2016537903A (ja) 2016-12-01

Family

ID=52479993

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2016536325A Expired - Fee Related JP6289641B2 (ja) 2013-08-21 2014-08-14 カメラモジュールを含むカメラアレイ
JP2016536463A Pending JP2016537903A (ja) 2013-08-21 2014-08-21 バーチャルリアリティコンテンツのつなぎ合わせおよび認識

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2016536325A Expired - Fee Related JP6289641B2 (ja) 2013-08-21 2014-08-14 カメラモジュールを含むカメラアレイ

Country Status (3)

Country Link
US (8) US9451162B2 (ja)
JP (2) JP6289641B2 (ja)
WO (2) WO2015026632A1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6298874B1 (ja) * 2016-12-01 2018-03-20 株式会社コロプラ 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
WO2018135730A1 (ko) * 2017-01-23 2018-07-26 고범준 Vr 영상 생성 방법, vr 영상 처리 방법 및 vr 영상 처리 시스템
KR20190029096A (ko) * 2017-09-11 2019-03-20 삼성전자주식회사 복수의 카메라를 통해 수신되는 이미지를 처리하기 위한 장치 및 방법
JP2019511073A (ja) * 2016-04-02 2019-04-18 ブイエムジー エコ エスピー.ジーオー.オー 全方向画像記録のために多数カメラからデータをダウンロードする方法と装置
KR20190113226A (ko) * 2018-03-28 2019-10-08 현대모비스 주식회사 실시간 3차원 지도 구축 장치 및 방법
WO2019235106A1 (ja) 2018-06-06 2019-12-12 株式会社アルファコード ヒートマップ提示装置およびヒートマップ提示用プログラム
JP2020507845A (ja) * 2017-02-15 2020-03-12 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 画像処理方法、装置、及び機械可読媒体
KR20200068624A (ko) * 2018-03-28 2020-06-15 현대모비스 주식회사 3차원 지도 구축에 있어 3차원 거리정보의 실시간 업데이트 장치 및 방법
WO2024071172A1 (ja) * 2022-09-27 2024-04-04 雅史 高尾 情報同期システム、情報同期プログラム及び情報同期方法

Families Citing this family (252)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9769365B1 (en) 2013-02-15 2017-09-19 Red.Com, Inc. Dense field imaging
WO2014145722A2 (en) * 2013-03-15 2014-09-18 Digimarc Corporation Cooperative photography
US10652503B2 (en) 2013-11-01 2020-05-12 Charles W. Dozier Camera video recorder
US9282309B1 (en) * 2013-12-22 2016-03-08 Jasmin Cosic Methods, systems and apparatuses for multi-directional still pictures and/or multi-directional motion pictures
US9196039B2 (en) 2014-04-01 2015-11-24 Gopro, Inc. Image sensor read window adjustment for multi-camera array tolerance
US9900722B2 (en) 2014-04-29 2018-02-20 Microsoft Technology Licensing, Llc HRTF personalization based on anthropometric features
EP4113991A1 (en) * 2014-09-03 2023-01-04 Nevermind Capital LLC Methods and apparatus for capturing, streaming and/or playing back content
DE102014217843A1 (de) * 2014-09-05 2016-03-10 Martin Cudzilo Vorrichtung zum Vereinfachen der Reinigung von Oberflächen und Verfahren zum Erfassen geleisteter Reinigungsarbeiten
US20160085426A1 (en) * 2014-09-18 2016-03-24 The Boeing Company Interactive Imaging System
KR20160034037A (ko) * 2014-09-19 2016-03-29 삼성전자주식회사 화면 캡쳐를 위한 방법 및 그 전자 장치
CN105511336A (zh) * 2014-09-26 2016-04-20 鸿富锦精密工业(深圳)有限公司 电子装置控制方法
US10250337B1 (en) * 2014-10-24 2019-04-02 Wahoo Technologies, LLC System and method for providing underwater media capture
US9729253B2 (en) * 2014-10-24 2017-08-08 Wahoo Technologies, LLC System and method for providing underwater video
US10235714B2 (en) * 2014-12-01 2019-03-19 Verizon Patent And Licensing Inc. Customized virtual reality user environment control
WO2016086379A1 (en) * 2014-12-04 2016-06-09 SZ DJI Technology Co., Ltd. Imaging system and method
US9654868B2 (en) 2014-12-05 2017-05-16 Stages Llc Multi-channel multi-domain source identification and tracking
US9508335B2 (en) 2014-12-05 2016-11-29 Stages Pcs, Llc Active noise control and customized audio system
US9747367B2 (en) 2014-12-05 2017-08-29 Stages Llc Communication system for establishing and providing preferred audio
US10609475B2 (en) 2014-12-05 2020-03-31 Stages Llc Active noise control and customized audio system
US10210624B2 (en) 2014-12-09 2019-02-19 Inuitive Ltd. Method for determining depth for stereoscopic reconstruction of three dimensional images
US9860635B2 (en) 2014-12-15 2018-01-02 Panasonic Intellectual Property Management Co., Ltd. Microphone array, monitoring system, and sound pickup setting method
US10356393B1 (en) * 2015-02-16 2019-07-16 Amazon Technologies, Inc. High resolution 3D content
US10362290B2 (en) 2015-02-17 2019-07-23 Nextvr Inc. Methods and apparatus for processing content based on viewing information and/or communicating content
US9832450B2 (en) * 2015-02-17 2017-11-28 Nextvr Inc. Methods and apparatus for generating and using reduced resolution images and/or communicating such images to a playback or content distribution device
US10462477B2 (en) 2015-02-25 2019-10-29 Cinova Media Partial evaluator system and method
US9857939B2 (en) * 2015-02-27 2018-01-02 Accenture Global Services Limited Three-dimensional virtualization
US9558760B2 (en) * 2015-03-06 2017-01-31 Microsoft Technology Licensing, Llc Real-time remodeling of user voice in an immersive visualization system
TW201637432A (zh) * 2015-04-02 2016-10-16 Ultracker Technology Co Ltd 即時影像縫合裝置及即時影像縫合方法
KR102360453B1 (ko) 2015-04-10 2022-02-09 삼성전자 주식회사 카메라 설정 방법 및 장치
US9778740B2 (en) * 2015-04-10 2017-10-03 Finwe Oy Method and system for tracking an interest of a user within a panoramic visual content
KR20160133230A (ko) 2015-05-12 2016-11-22 엘지전자 주식회사 이동 단말기
US10825081B2 (en) * 2015-05-14 2020-11-03 Ebay Inc. Displaying a virtual environment of a session
TWI610250B (zh) * 2015-06-02 2018-01-01 鈺立微電子股份有限公司 監測系統及其操作方法
US10102226B1 (en) 2015-06-08 2018-10-16 Jasmin Cosic Optical devices and apparatuses for capturing, structuring, and using interlinked multi-directional still pictures and/or multi-directional motion pictures
US20180190388A1 (en) * 2015-06-15 2018-07-05 University Of Maryland, Baltimore Method and Apparatus to Provide a Virtual Workstation With Enhanced Navigational Efficiency
US10084959B1 (en) 2015-06-25 2018-09-25 Amazon Technologies, Inc. Color adjustment of stitched panoramic video
US10277813B1 (en) * 2015-06-25 2019-04-30 Amazon Technologies, Inc. Remote immersive user experience from panoramic video
KR101683385B1 (ko) * 2015-06-26 2016-12-07 동서대학교산학협력단 360°실사 vr체험공간에 적용될 입체음향 레코딩 및 재생 방법
EP3113485A1 (en) * 2015-07-03 2017-01-04 LG Electronics Inc. Mobile terminal and method for controlling the same
GB2540226A (en) * 2015-07-08 2017-01-11 Nokia Technologies Oy Distributed audio microphone array and locator configuration
US9813622B2 (en) * 2015-07-27 2017-11-07 Futurewei Technologies, Inc. Color corrected high resolution imaging
US10043237B2 (en) * 2015-08-12 2018-08-07 Gopro, Inc. Equatorial stitching of hemispherical images in a spherical image capture system
WO2017030985A1 (en) 2015-08-14 2017-02-23 Pcms Holdings, Inc. System and method for augmented reality multi-view telepresence
US20170053413A1 (en) * 2015-08-18 2017-02-23 Nokia Technologies Oy Method, apparatus, and computer program product for personalized stereoscopic content capture with single camera end user devices
US10169917B2 (en) 2015-08-20 2019-01-01 Microsoft Technology Licensing, Llc Augmented reality
US10235808B2 (en) 2015-08-20 2019-03-19 Microsoft Technology Licensing, Llc Communication system
US9609176B2 (en) * 2015-08-27 2017-03-28 Nokia Technologies Oy Method and apparatus for modifying a multi-frame image based upon anchor frames
US10306267B2 (en) * 2015-08-31 2019-05-28 International Business Machines Corporation System, method, and recording medium for compressing aerial videos
KR101716326B1 (ko) 2015-09-08 2017-03-14 클릭트 주식회사 가상현실영상 전송방법, 재생방법 및 이를 이용한 프로그램
US20210337223A1 (en) * 2015-09-09 2021-10-28 Vantrix Corporation Method and system for panoramic multimedia streaming enabling view-region selection
US20170200316A1 (en) * 2015-09-10 2017-07-13 Sphere Optics Company, Llc Advertising system for virtual reality environments
US10205930B2 (en) * 2015-09-15 2019-02-12 Jaunt Inc. Camera allay including camera modules with heat sinks
US10511895B2 (en) * 2015-10-09 2019-12-17 Warner Bros. Entertainment Inc. Cinematic mastering for virtual reality and augmented reality
US10249091B2 (en) * 2015-10-09 2019-04-02 Warner Bros. Entertainment Inc. Production and packaging of entertainment data for virtual reality
US10460700B1 (en) 2015-10-12 2019-10-29 Cinova Media Method and apparatus for improving quality of experience and bandwidth in virtual reality streaming systems
US20170103577A1 (en) * 2015-10-12 2017-04-13 Cinova Media Method and apparatus for optimizing video streaming for virtual reality
US11609427B2 (en) 2015-10-16 2023-03-21 Ostendo Technologies, Inc. Dual-mode augmented/virtual reality (AR/VR) near-eye wearable displays
US9681111B1 (en) 2015-10-22 2017-06-13 Gopro, Inc. Apparatus and methods for embedding metadata into video stream
US10033928B1 (en) * 2015-10-29 2018-07-24 Gopro, Inc. Apparatus and methods for rolling shutter compensation for multi-camera systems
US10206040B2 (en) 2015-10-30 2019-02-12 Essential Products, Inc. Microphone array for generating virtual sound field
US11106273B2 (en) * 2015-10-30 2021-08-31 Ostendo Technologies, Inc. System and methods for on-body gestural interfaces and projection displays
FR3043520B1 (fr) * 2015-11-10 2018-09-07 La Tour Azur Systeme de production et de diffusion en live ou differe, de contenus audio-video 3d
US9973696B1 (en) 2015-11-23 2018-05-15 Gopro, Inc. Apparatus and methods for image alignment
US9792709B1 (en) * 2015-11-23 2017-10-17 Gopro, Inc. Apparatus and methods for image alignment
US9848132B2 (en) 2015-11-24 2017-12-19 Gopro, Inc. Multi-camera time synchronization
WO2017091019A1 (en) 2015-11-27 2017-06-01 Samsung Electronics Co., Ltd. Electronic device and method for displaying and generating panoramic image
KR102632270B1 (ko) * 2015-11-27 2024-02-02 삼성전자주식회사 전자 장치 및 파노라마 영상 표시와 생성 방법
US10593028B2 (en) * 2015-12-03 2020-03-17 Samsung Electronics Co., Ltd. Method and apparatus for view-dependent tone mapping of virtual reality images
KR102571876B1 (ko) 2015-12-16 2023-08-28 인터디지털 씨이 페턴트 홀딩스 적어도 하나의 플렌옵틱 비디오를 리포커싱하기 위한 방법 및 디바이스
KR102410016B1 (ko) 2015-12-16 2022-06-16 삼성전자주식회사 이미지 처리 장치 및 이미지 처리 시스템
US10345594B2 (en) 2015-12-18 2019-07-09 Ostendo Technologies, Inc. Systems and methods for augmented near-eye wearable displays
US10621433B1 (en) 2015-12-18 2020-04-14 EControls Holdings, KKC Multiscopic whitetail scoring game camera systems and methods
GB2545729A (en) * 2015-12-23 2017-06-28 Nokia Technologies Oy Methods and apparatuses relating to the handling of a plurality of content streams
US10578882B2 (en) 2015-12-28 2020-03-03 Ostendo Technologies, Inc. Non-telecentric emissive micro-pixel array light modulators and methods of fabrication thereof
US9667859B1 (en) 2015-12-28 2017-05-30 Gopro, Inc. Systems and methods for determining preferences for capture settings of an image capturing device
US9794691B2 (en) * 2015-12-28 2017-10-17 Facebook, Inc. Using bone transducers to imply positioning of audio data relative to a user
US9715638B1 (en) 2015-12-31 2017-07-25 Nokia Technologies Oy Method and apparatus for identifying salient subimages within a panoramic image
KR20180111798A (ko) * 2016-01-03 2018-10-11 휴먼아이즈 테크놀로지즈 리미티드 파노라마 프레임 생성 프로세스에서 프레임의 적응적 스티칭
US9922387B1 (en) 2016-01-19 2018-03-20 Gopro, Inc. Storage of metadata and images
US9967457B1 (en) 2016-01-22 2018-05-08 Gopro, Inc. Systems and methods for determining preferences for capture settings of an image capturing device
EP3196838A1 (en) 2016-01-25 2017-07-26 Nokia Technologies Oy An apparatus and associated methods
KR20180102125A (ko) 2016-02-09 2018-09-14 주식회사 소니 인터랙티브 엔터테인먼트 영상 표시 시스템
US10742950B2 (en) * 2016-02-15 2020-08-11 Nvidia Corporation Collecting and processing stereoscopic digital image data to produce a parallax corrected tilted head view
US9665098B1 (en) 2016-02-16 2017-05-30 Gopro, Inc. Systems and methods for determining preferences for flight control settings of an unmanned aerial vehicle
US9973746B2 (en) 2016-02-17 2018-05-15 Gopro, Inc. System and method for presenting and viewing a spherical video segment
US9602795B1 (en) 2016-02-22 2017-03-21 Gopro, Inc. System and method for presenting and viewing a spherical video segment
US9743060B1 (en) 2016-02-22 2017-08-22 Gopro, Inc. System and method for presenting and viewing a spherical video segment
WO2017149441A1 (en) 2016-02-29 2017-09-08 Nokia Technologies Oy Adaptive control of image capture parameters in virtual reality cameras
US10148874B1 (en) * 2016-03-04 2018-12-04 Scott Zhihao Chen Method and system for generating panoramic photographs and videos
US9761056B1 (en) * 2016-03-10 2017-09-12 Immersv, Inc. Transitioning from a virtual reality application to an application install
CN205430338U (zh) * 2016-03-11 2016-08-03 依法儿环球有限公司 带vr内容采集组件的智能手机或便携式电子通讯装置
US10088898B2 (en) * 2016-03-31 2018-10-02 Verizon Patent And Licensing Inc. Methods and systems for determining an effectiveness of content in an immersive virtual reality world
WO2017172528A1 (en) 2016-04-01 2017-10-05 Pcms Holdings, Inc. Apparatus and method for supporting interactive augmented reality functionalities
US10609365B2 (en) * 2016-04-05 2020-03-31 Disney Enterprises, Inc. Light ray based calibration system and method
US10353203B2 (en) 2016-04-05 2019-07-16 Ostendo Technologies, Inc. Augmented/virtual reality near-eye displays with edge imaging lens comprising a plurality of display devices
EP3229470B1 (en) * 2016-04-06 2021-12-22 Facebook, Inc. Efficient canvas view generation from intermediate views
US10165258B2 (en) 2016-04-06 2018-12-25 Facebook, Inc. Efficient determination of optical flow between images
JP6735592B2 (ja) * 2016-04-08 2020-08-05 キヤノン株式会社 画像処理装置及びその制御方法、画像処理システム
CA3019672A1 (en) * 2016-04-12 2017-10-19 R-Stor Inc. Method and apparatus for presenting advertisements in a virtualized environment
DE102016013510B4 (de) 2016-04-18 2019-03-14 Kastriot Merlaku Scheinwerfer-System für Fahrzeuge aller Art, mit mindestens einem Leuchtmittel und eine Kamera für die Fahrbahn-Erfassung
US10453431B2 (en) 2016-04-28 2019-10-22 Ostendo Technologies, Inc. Integrated near-far light field display systems
US10187568B1 (en) 2016-05-02 2019-01-22 Bao Tran Video smart phone
US10522106B2 (en) 2016-05-05 2019-12-31 Ostendo Technologies, Inc. Methods and apparatus for active transparency modulation
GB2550124B (en) * 2016-05-06 2021-11-17 Nctech Ltd Camera
CN109074630A (zh) 2016-05-20 2018-12-21 上海安科迪智能科技有限公司 具有分布式存储器的阵列照相机成像系统
JP6833348B2 (ja) * 2016-05-25 2021-02-24 キヤノン株式会社 情報処理装置、画像処理システム、情報処理装置の制御方法、仮想視点画像の生成方法、及び、プログラム
JP6429829B2 (ja) * 2016-05-25 2018-11-28 キヤノン株式会社 画像処理システム、画像処理装置、制御方法、及び、プログラム
JP6672075B2 (ja) * 2016-05-25 2020-03-25 キヤノン株式会社 制御装置、制御方法、及び、プログラム
CN105915772A (zh) * 2016-05-27 2016-08-31 武汉理工大学 一种室内全景数据采集小车
WO2017218341A1 (en) 2016-06-17 2017-12-21 Axon Enterprise, Inc. Systems and methods for aligning event data
EP3264371B1 (en) * 2016-06-28 2021-12-29 Nokia Technologies Oy Apparatus for sharing objects of interest and associated methods
FI20165547A (fi) 2016-06-30 2017-12-31 Nokia Technologies Oy Laitteisto, menetelmä ja tietokoneohjelma videokoodausta ja videokoodauksen purkua varten
US9674435B1 (en) * 2016-07-06 2017-06-06 Lawrence Maxwell Monari Virtual reality platforms for capturing content for virtual reality displays
US20200180509A1 (en) * 2016-07-08 2020-06-11 Miguel Angel Rodriguez Ortiz Vehicular Camera System for Improving a Driver's Visibility
KR102561371B1 (ko) 2016-07-11 2023-08-01 삼성전자주식회사 디스플레이장치와, 기록매체
US10148876B1 (en) * 2016-07-26 2018-12-04 360fly, Inc. Panoramic video cameras, camera systems, and methods that facilitate handling multiple video streams while tracking an object
CN107666568A (zh) * 2016-07-28 2018-02-06 廖信凯 现场全景实时立体环绕串流影音传播方法和系统
US10089063B2 (en) 2016-08-10 2018-10-02 Qualcomm Incorporated Multimedia device for processing spatialized audio based on movement
JP6657475B2 (ja) 2016-08-25 2020-03-04 エルジー エレクトロニクス インコーポレイティド 全方位ビデオを伝送する方法、全方位ビデオを受信する方法、全方位ビデオの伝送装置及び全方位ビデオの受信装置
EP3503546A4 (en) 2016-08-25 2020-01-22 LG Electronics Inc. -1- METHOD FOR SENDING AN OMNIDIRECTIONAL VIDEO, METHOD FOR RECEIVING AN OMNIDIRECTIONAL VIDEO, DEVICE FOR SENDING AN OMNIDIRECTIONAL VIDEO, AND DEVICE FOR RECEIVING AN OMNIDIRECTIONAL VIDEO
JP6938123B2 (ja) 2016-09-01 2021-09-22 キヤノン株式会社 表示制御装置、表示制御方法及びプログラム
US20180063428A1 (en) * 2016-09-01 2018-03-01 ORBI, Inc. System and method for virtual reality image and video capture and stitching
CN106161966A (zh) * 2016-09-08 2016-11-23 深圳市锐尔威视科技有限公司 Vr双摄像方法及其系统
US9934758B1 (en) 2016-09-21 2018-04-03 Gopro, Inc. Systems and methods for simulating adaptation of eyes to changes in lighting conditions
US11025921B1 (en) 2016-09-22 2021-06-01 Apple Inc. Providing a virtual view by streaming serialized data
US10410376B1 (en) * 2016-09-26 2019-09-10 Amazon Technologies, Inc. Virtual reality media content decoding of portions of image frames
WO2018063957A1 (en) * 2016-09-30 2018-04-05 Silver VR Technologies, Inc. Methods and systems for virtual reality streaming and replay of computer video games
CN106485781A (zh) * 2016-09-30 2017-03-08 广州博进信息技术有限公司 基于实时视频流的三维场景构建方法及其系统
US10268896B1 (en) 2016-10-05 2019-04-23 Gopro, Inc. Systems and methods for determining video highlight based on conveyance positions of video content capture
JP6881110B2 (ja) * 2016-10-13 2021-06-02 株式会社リコー 情報処理システム、情報処理方法およびプログラム
US9980078B2 (en) 2016-10-14 2018-05-22 Nokia Technologies Oy Audio object modification in free-viewpoint rendering
US11423562B2 (en) * 2016-10-18 2022-08-23 Photonic Sensors & Algorithms, S.L. Device and method for obtaining distance information from views
KR102561860B1 (ko) * 2016-10-25 2023-08-02 삼성전자주식회사 전자장치 및 그 제어방법
CN107993276B (zh) * 2016-10-25 2021-11-23 杭州海康威视数字技术股份有限公司 一种全景图像的生成方法及装置
US20190253743A1 (en) * 2016-10-26 2019-08-15 Sony Corporation Information processing device, information processing system, and information processing method, and computer program
WO2018081609A1 (en) * 2016-10-27 2018-05-03 Livelike Inc. Spatial audio based advertising in virtual or augmented reality video streams
US9973792B1 (en) 2016-10-27 2018-05-15 Gopro, Inc. Systems and methods for presenting visual information during presentation of a video segment
US10257395B2 (en) 2016-10-31 2019-04-09 Nokia Technologies Oy Method, apparatus and computer program product for creating virtual reality content of an event
BR112019007279A2 (pt) 2016-11-17 2019-07-09 Intel Corp indicação de janela de visualização sugerida para vídeo panorâmico
US10945080B2 (en) 2016-11-18 2021-03-09 Stages Llc Audio analysis and processing system
US9980042B1 (en) 2016-11-18 2018-05-22 Stages Llc Beamformer direction of arrival and orientation analysis system
US9980075B1 (en) 2016-11-18 2018-05-22 Stages Llc Audio source spatialization relative to orientation sensor and output
KR101851338B1 (ko) * 2016-12-02 2018-04-23 서울과학기술대학교 산학협력단 실감형 미디어 영상을 제공하는 장치
TWI632812B (zh) 2016-12-16 2018-08-11 財團法人工業技術研究院 視訊串流之接合與傳輸方法、視訊串流閘道裝置及視訊串流觀看裝置
US10805507B2 (en) * 2016-12-21 2020-10-13 Shanghai Xiaoyi Technology Co., Ltd. Method and system for configuring cameras to capture images
US11636572B2 (en) 2016-12-29 2023-04-25 Nokia Technologies Oy Method and apparatus for determining and varying the panning speed of an image based on saliency
CN106774930A (zh) * 2016-12-30 2017-05-31 中兴通讯股份有限公司 一种数据处理方法、装置及采集设备
US20180190033A1 (en) * 2016-12-30 2018-07-05 Facebook, Inc. Systems and methods for providing augmented reality effects and three-dimensional mapping associated with interior spaces
WO2018129197A1 (en) * 2017-01-04 2018-07-12 Nvidia Corporation Cloud generation of content to be streamed to vr/ar platforms using a virtual view broadcaster
US10692262B2 (en) * 2017-01-12 2020-06-23 Electronics And Telecommunications Research Institute Apparatus and method for processing information of multiple cameras
US10659906B2 (en) 2017-01-13 2020-05-19 Qualcomm Incorporated Audio parallax for virtual reality, augmented reality, and mixed reality
EP3573339A4 (en) * 2017-01-19 2020-08-05 Sony Interactive Entertainment Inc. IMAGE PROVIDING DEVICE
US11096004B2 (en) * 2017-01-23 2021-08-17 Nokia Technologies Oy Spatial audio rendering point extension
US10769679B2 (en) 2017-01-25 2020-09-08 Crackle, Inc. System and method for interactive units within virtual reality environments
US10893212B2 (en) * 2017-01-26 2021-01-12 Sony Corporation Spherically-arranged imaging array having pairs of cameras with overlapping fields of view
EP3577631A1 (en) * 2017-02-01 2019-12-11 PCMS Holdings, Inc. System and method for augmented reality content delivery in pre-captured environments
US10044980B1 (en) * 2017-02-06 2018-08-07 International Busines Machines Corporation Conference management
US10607654B2 (en) * 2017-02-09 2020-03-31 Verizon Patent And Licensing Inc. Using sharding to generate virtual reality content
JP6824579B2 (ja) * 2017-02-17 2021-02-03 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置および画像生成方法
US10194101B1 (en) 2017-02-22 2019-01-29 Gopro, Inc. Systems and methods for rolling shutter compensation using iterative process
US10885650B2 (en) * 2017-02-23 2021-01-05 Eys3D Microelectronics, Co. Image device utilizing non-planar projection images to generate a depth map and related method thereof
WO2018157098A1 (en) * 2017-02-27 2018-08-30 Essential Products, Inc. Microphone array for generating virtual sound field
CN110326285B (zh) * 2017-03-02 2021-06-25 索尼半导体解决方案公司 图像传感器和控制系统
US10028070B1 (en) 2017-03-06 2018-07-17 Microsoft Technology Licensing, Llc Systems and methods for HRTF personalization
US10531219B2 (en) 2017-03-20 2020-01-07 Nokia Technologies Oy Smooth rendering of overlapping audio-object interactions
US10278002B2 (en) 2017-03-20 2019-04-30 Microsoft Technology Licensing, Llc Systems and methods for non-parametric processing of head geometry for HRTF personalization
US11532128B2 (en) * 2017-03-23 2022-12-20 Qualcomm Incorporated Advanced signaling of regions of interest in omnidirectional visual media
US20180284954A1 (en) * 2017-03-30 2018-10-04 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Identifying a target area to display a popup graphical element
US10306212B2 (en) * 2017-03-31 2019-05-28 Verizon Patent And Licensing Inc. Methods and systems for capturing a plurality of three-dimensional sub-frames for use in forming a volumetric frame of a real-world scene
US10609283B2 (en) * 2017-04-01 2020-03-31 Intel Corporation Sharing panoramic video images over a wireless display session
US10187607B1 (en) 2017-04-04 2019-01-22 Gopro, Inc. Systems and methods for using a variable capture frame rate for video capture
US11451689B2 (en) * 2017-04-09 2022-09-20 Insoundz Ltd. System and method for matching audio content to virtual reality visual content
US10726574B2 (en) * 2017-04-11 2020-07-28 Dolby Laboratories Licensing Corporation Passive multi-wearable-devices tracking
US20180300916A1 (en) * 2017-04-14 2018-10-18 Facebook, Inc. Prompting creation of a networking system communication with augmented reality elements in a camera viewfinder display
US10362265B2 (en) 2017-04-16 2019-07-23 Facebook, Inc. Systems and methods for presenting content
WO2018193713A1 (ja) * 2017-04-21 2018-10-25 ソニー株式会社 撮像装置
US10453273B2 (en) 2017-04-25 2019-10-22 Microsoft Technology Licensing, Llc Method and system for providing an object in virtual or semi-virtual space based on a user characteristic
US10740972B2 (en) 2017-04-28 2020-08-11 Harman International Industries, Incorporated System and method for presentation and control of augmented vehicle surround views
US10880086B2 (en) 2017-05-02 2020-12-29 PracticalVR Inc. Systems and methods for authenticating a user on an augmented, mixed and/or virtual reality platform to deploy experiences
TWI636316B (zh) * 2017-05-05 2018-09-21 致伸科技股份有限公司 通訊裝置及其光學裝置
US11074036B2 (en) 2017-05-05 2021-07-27 Nokia Technologies Oy Metadata-free audio-object interactions
US10278001B2 (en) 2017-05-12 2019-04-30 Microsoft Technology Licensing, Llc Multiple listener cloud render with enhanced instant replay
US9843883B1 (en) * 2017-05-12 2017-12-12 QoSound, Inc. Source independent sound field rotation for virtual and augmented reality applications
US10165386B2 (en) 2017-05-16 2018-12-25 Nokia Technologies Oy VR audio superzoom
US10944971B1 (en) 2017-05-22 2021-03-09 Cinova Media Method and apparatus for frame accurate field of view switching for virtual reality
US20180342043A1 (en) * 2017-05-23 2018-11-29 Nokia Technologies Oy Auto Scene Adjustments For Multi Camera Virtual Reality Streaming
CN108965751B (zh) * 2017-05-25 2021-09-17 钰立微电子股份有限公司 用于产生360度深度图的图像装置
CN107315470B (zh) * 2017-05-25 2018-08-17 腾讯科技(深圳)有限公司 图形处理方法、处理器和虚拟现实系统
CN110999281B (zh) 2017-06-09 2021-11-26 Pcms控股公司 一种用于允许在虚拟景观中探索的方法及装置
CN109102312A (zh) * 2017-06-21 2018-12-28 华硕电脑股份有限公司 广告推播系统及其服务器与电子装置
JP6915855B2 (ja) * 2017-07-05 2021-08-04 株式会社オーディオテクニカ 集音装置
GB2564642A (en) * 2017-07-10 2019-01-23 Nokia Technologies Oy Methods and apparatuses for panoramic image processing
WO2019023659A1 (en) * 2017-07-28 2019-01-31 Magical Technologies, Llc SYSTEMS, METHODS AND APPARATUS FOR CONTINUOUSLY INTEGRATING INCREASED, INTEGRATED, VIRTUAL AND / OR MIXED REALITIES WITH PHYSICAL REALITIES FOR IMPROVING WEB, MOBILE EXPERIENCES AND / OR OTHER DIGITAL EXPERIENCES
TWI658434B (zh) * 2017-08-22 2019-05-01 鴻海精密工業股份有限公司 影像處理裝置及方法
CN109427040B (zh) 2017-08-22 2023-10-10 富联国基(上海)电子有限公司 图像处理装置及方法
US11249714B2 (en) 2017-09-13 2022-02-15 Magical Technologies, Llc Systems and methods of shareable virtual objects and virtual objects as message objects to facilitate communications sessions in an augmented reality environment
JP6419278B1 (ja) 2017-09-19 2018-11-07 キヤノン株式会社 制御装置、制御方法、及びプログラム
CN109557998B (zh) 2017-09-25 2021-10-15 腾讯科技(深圳)有限公司 信息交互方法、装置、存储介质和电子装置
US11395087B2 (en) 2017-09-29 2022-07-19 Nokia Technologies Oy Level-based audio-object interactions
US10469968B2 (en) * 2017-10-12 2019-11-05 Qualcomm Incorporated Rendering for computer-mediated reality systems
WO2019079826A1 (en) 2017-10-22 2019-04-25 Magical Technologies, Llc DIGITAL ASSISTANT SYSTEMS, METHODS AND APPARATUSES IN AN INCREASED REALITY ENVIRONMENT AND LOCAL DETERMINATION OF VIRTUAL OBJECT PLACEMENT AND SINGLE OR MULTIDIRECTIONAL OBJECTIVES AS GATEWAYS BETWEEN A PHYSICAL WORLD AND A DIGITAL WORLD COMPONENT OF THE SAME ENVIRONMENT OF INCREASED REALITY
EP3477466A1 (en) * 2017-10-31 2019-05-01 Nokia Technologies Oy Provision of virtual reality content
IL255891B2 (en) * 2017-11-23 2023-05-01 Everysight Ltd Selecting a site for displaying information
EP3493162A1 (en) * 2017-12-04 2019-06-05 Canon Kabushiki Kaisha Virtual viewpoint synthesis
DE102018130770A1 (de) * 2017-12-13 2019-06-13 Apple Inc. Stereoskopische Wiedergabe von virtuellen 3D-Objekten
US20190206102A1 (en) * 2017-12-29 2019-07-04 Facebook, Inc. Systems and methods for enhancing content
US11006188B2 (en) 2017-12-29 2021-05-11 Comcast Cable Communications, Llc Secondary media insertion systems, methods, and apparatuses
US10500496B2 (en) * 2018-01-12 2019-12-10 International Business Machines Corporation Physical obstacle avoidance in a virtual reality environment
JP6967779B2 (ja) * 2018-01-12 2021-11-17 ザインエレクトロニクス株式会社 映像信号受信モジュールおよび映像信号送受信システム
CN108492123B (zh) * 2018-01-17 2022-02-15 上海大兮软件科技有限公司 一种基于虚拟现实技术的广告发布系统及其发布方法
US10904374B2 (en) 2018-01-24 2021-01-26 Magical Technologies, Llc Systems, methods and apparatuses to facilitate gradual or instantaneous adjustment in levels of perceptibility of virtual objects or reality object in a digital scene
US11398088B2 (en) 2018-01-30 2022-07-26 Magical Technologies, Llc Systems, methods and apparatuses to generate a fingerprint of a physical location for placement of virtual objects
KR102177401B1 (ko) * 2018-02-02 2020-11-11 재단법인 다차원 스마트 아이티 융합시스템 연구단 무소음 전방향 카메라 장치
CN108470324B (zh) * 2018-03-21 2022-02-25 深圳市未来媒体技术研究院 一种鲁棒的双目立体图像拼接方法
KR102012589B1 (ko) * 2018-03-22 2019-08-20 주식회사 엘지유플러스 영상 생성 장치 및 방법
US10542368B2 (en) 2018-03-27 2020-01-21 Nokia Technologies Oy Audio content modification for playback audio
GB2573094A (en) * 2018-03-28 2019-10-30 Stretfordend Ltd Broadcast system
US11089265B2 (en) 2018-04-17 2021-08-10 Microsoft Technology Licensing, Llc Telepresence devices operation methods
US10721510B2 (en) 2018-05-17 2020-07-21 At&T Intellectual Property I, L.P. Directing user focus in 360 video consumption
US10482653B1 (en) 2018-05-22 2019-11-19 At&T Intellectual Property I, L.P. System for active-focus prediction in 360 video
US10827225B2 (en) 2018-06-01 2020-11-03 AT&T Intellectual Propety I, L.P. Navigation for 360-degree video streaming
KR102435519B1 (ko) * 2018-06-20 2022-08-24 삼성전자주식회사 360도 영상을 처리하는 방법 및 장치
KR102546764B1 (ko) * 2018-07-24 2023-06-22 한화비전 주식회사 영상 제공 장치 및 방법
US11205443B2 (en) 2018-07-27 2021-12-21 Microsoft Technology Licensing, Llc Systems, methods, and computer-readable media for improved audio feature discovery using a neural network
CN109272509B (zh) * 2018-09-06 2021-10-29 郑州云海信息技术有限公司 一种连续图像的目标检测方法、装置、设备及存储介质
US11488264B2 (en) * 2018-09-14 2022-11-01 Philippe Charles Laik Interaction recommendation engine
US11488189B2 (en) * 2018-11-28 2022-11-01 Kyndryl, Inc. Interactive loyalty rewards structure
US11032607B2 (en) 2018-12-07 2021-06-08 At&T Intellectual Property I, L.P. Methods, devices, and systems for embedding visual advertisements in video content
CN109489564B (zh) * 2018-12-29 2023-07-28 东莞市兆丰精密仪器有限公司 一种具有自动防撞功能的影像测量仪及其防撞方法
US11467656B2 (en) 2019-03-04 2022-10-11 Magical Technologies, Llc Virtual object control of a physical device and/or physical device control of a virtual object
EP3712843A1 (en) * 2019-03-19 2020-09-23 Koninklijke Philips N.V. Image signal representing a scene
US10825221B1 (en) * 2019-04-23 2020-11-03 Adobe Inc. Music driven human dancing video synthesis
US11270338B2 (en) 2019-06-19 2022-03-08 International Business Machines Corporation Optimizing a digital display
US11379287B2 (en) 2019-07-17 2022-07-05 Factualvr, Inc. System and method for error detection and correction in virtual reality and augmented reality environments
US11553123B2 (en) 2019-07-18 2023-01-10 Microsoft Technology Licensing, Llc Dynamic detection and correction of light field camera array miscalibration
US11082659B2 (en) 2019-07-18 2021-08-03 Microsoft Technology Licensing, Llc Light field camera modules and light field camera module arrays
US11064154B2 (en) * 2019-07-18 2021-07-13 Microsoft Technology Licensing, Llc Device pose detection and pose-related image capture and processing for light field based telepresence communications
US11270464B2 (en) 2019-07-18 2022-03-08 Microsoft Technology Licensing, Llc Dynamic detection and correction of light field camera array miscalibration
WO2021061350A1 (en) * 2019-09-27 2021-04-01 Apple Inc. Managing devices having additive displays
US11356796B2 (en) * 2019-11-22 2022-06-07 Qualcomm Incorporated Priority-based soundfield coding for virtual reality audio
US10949986B1 (en) 2020-05-12 2021-03-16 Proprio, Inc. Methods and systems for imaging a scene, such as a medical scene, and tracking objects within the scene
EP4179725A1 (en) * 2020-07-10 2023-05-17 Terraclear Inc. Intelligent multi-visual camera system and method
WO2022043925A1 (en) * 2020-08-26 2022-03-03 Eunoe Llc A system, modular platform and method for xr based self-feedback, dialogue, and publishing
JP7233454B2 (ja) * 2021-01-22 2023-03-06 株式会社Nttコノキュー 処理装置、処理方法及び処理プログラム
CN112887842B (zh) * 2021-01-22 2023-08-11 惠州Tcl移动通信有限公司 视频处理方法、装置、存储介质及移动终端
JP7204789B2 (ja) * 2021-01-26 2023-01-16 キヤノン株式会社 制御装置、制御方法、及び、プログラム
US11610224B2 (en) 2021-03-16 2023-03-21 International Business Machines Corporation Electronic display systems
DE102021005196B4 (de) 2021-10-13 2023-11-02 Paul Zetzsch Neustrukturierung von digitalem Bildmaterial durch Anpassung an punktbasierte Netzstrukturen
US11706266B1 (en) * 2022-03-09 2023-07-18 Meta Platforms Technologies, Llc Systems and methods for assisting users of artificial reality platforms
US11750930B1 (en) 2022-03-17 2023-09-05 Honeywell International Inc. Panoramic vision system with parallax mitigation
NO20220340A1 (en) * 2022-03-21 2023-09-22 Pictorytale As Integrating external messages in an augmented reality environment
WO2024089887A1 (ja) * 2022-10-28 2024-05-02 日本電信電話株式会社 情報提示装置、情報提示方法及び情報提示プログラム

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11103472A (ja) * 1997-09-26 1999-04-13 Canon Inc 撮影方法及び装置
JP2001320616A (ja) * 2000-02-29 2001-11-16 Matsushita Electric Ind Co Ltd 撮像システム
JP2003333569A (ja) * 2002-05-13 2003-11-21 Sony Corp ファイルフォーマット、情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム
JP2004514951A (ja) * 2000-11-29 2004-05-20 アールヴイシー エルエルシー 球面立体視撮影システム及びその方法
JP2006128818A (ja) * 2004-10-26 2006-05-18 Victor Co Of Japan Ltd 立体映像・立体音響対応記録プログラム、再生プログラム、記録装置、再生装置及び記録メディア
JP2006162692A (ja) * 2004-12-02 2006-06-22 Hosei Univ 講義コンテンツ自動作成システム
JP2011199425A (ja) * 2010-03-17 2011-10-06 Fujifilm Corp パノラマ画像生成装置、パノラマ画像生成方法、パノラマ画像生成プログラム、撮像装置
JP2012095229A (ja) * 2010-10-28 2012-05-17 Sharp Corp 画像表示装置及び画像表示装置用のコンピュータプログラム

Family Cites Families (202)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4507683A (en) * 1982-04-02 1985-03-26 Ampex Corporation Camera status and diagnostics display system
US5495576A (en) 1993-01-11 1996-02-27 Ritchey; Kurtis J. Panoramic image based virtual reality/telepresence audio-visual system and method
EP0971541A3 (en) 1995-03-24 2000-08-23 PPT Vision, Inc. High speed digital video serial link
US6747644B1 (en) 1995-08-04 2004-06-08 Sun Microsystems, Inc. Decompression of surface normals in three-dimensional graphics data
US6141034A (en) * 1995-12-15 2000-10-31 Immersive Media Co. Immersive imaging method and apparatus
JPH10334393A (ja) 1997-05-29 1998-12-18 Mitsubishi Heavy Ind Ltd 車両検知装置
US6128108A (en) 1997-09-03 2000-10-03 Mgi Software Corporation Method and system for compositing images
US20010015751A1 (en) * 1998-06-16 2001-08-23 Genex Technologies, Inc. Method and apparatus for omnidirectional imaging
WO2000060869A1 (en) 1999-04-08 2000-10-12 Internet Pictures Corporation Perspective-corrected video presentations
US7015954B1 (en) * 1999-08-09 2006-03-21 Fuji Xerox Co., Ltd. Automatic video system using multiple cameras
US6865289B1 (en) 2000-02-07 2005-03-08 Canon Kabushiki Kaisha Detection and removal of image occlusion errors
US20020075295A1 (en) * 2000-02-07 2002-06-20 Stentz Anthony Joseph Telepresence using panoramic imaging and directional sound
US6767287B1 (en) 2000-03-16 2004-07-27 Sony Computer Entertainment America Inc. Computer system and method for implementing a virtual reality environment for a multi-player game
US8707185B2 (en) 2000-10-10 2014-04-22 Addnclick, Inc. Dynamic information management system and method for content delivery and sharing in content-, metadata- and viewer-based, live social networking among users concurrently engaged in the same and/or similar content
JP2002197376A (ja) 2000-12-27 2002-07-12 Fujitsu Ltd ユーザに応じてカストマイズされた仮想世界を提供する方法および装置
WO2003009599A1 (en) 2001-07-16 2003-01-30 Alogics Co., Ltd. Video monitoring system using daisy chain
JP2003046758A (ja) 2001-07-31 2003-02-14 Canon Inc 撮像装置、情報処理装置、画像処理装置およびその方法、並びに、画像処理システム
US6947059B2 (en) * 2001-08-10 2005-09-20 Micoy Corporation Stereoscopic panoramic image capture device
US7224382B2 (en) * 2002-04-12 2007-05-29 Image Masters, Inc. Immersive imaging system
US7525576B2 (en) 2003-02-17 2009-04-28 Axis, Ab Method and apparatus for panning and tilting a camera
US7463280B2 (en) * 2003-06-03 2008-12-09 Steuart Iii Leonard P Digital 3D/360 degree camera system
JP4270961B2 (ja) * 2003-07-17 2009-06-03 株式会社リコー デジタルカメラ
US8861922B2 (en) 2003-09-29 2014-10-14 Alcatel Lucent Watermarking scheme for digital video
JP2005159691A (ja) * 2003-11-26 2005-06-16 Hitachi Ltd 監視システム
JP2006054771A (ja) * 2004-08-16 2006-02-23 Yokogawa Electric Corp ネットワークハブ装置
US8750509B2 (en) 2004-09-23 2014-06-10 Smartvue Corporation Wireless surveillance system releasably mountable to track lighting
US8842179B2 (en) 2004-09-24 2014-09-23 Smartvue Corporation Video surveillance sharing system and method
US20060082663A1 (en) 2004-10-15 2006-04-20 Rooy Jan V Video camera
US7884848B2 (en) 2005-05-25 2011-02-08 Ginther Mark E Viewing environment and recording system
US20070027844A1 (en) 2005-07-28 2007-02-01 Microsoft Corporation Navigating recorded multimedia content using keywords or phrases
US8471910B2 (en) * 2005-08-11 2013-06-25 Sightlogix, Inc. Methods and apparatus for providing fault tolerance in a surveillance system
US9270976B2 (en) 2005-11-02 2016-02-23 Exelis Inc. Multi-user stereoscopic 3-D panoramic vision system and method
US8059185B2 (en) * 2005-12-28 2011-11-15 Canon Kabushiki Kaisha Photographing apparatus, image display method, computer program and storage medium for acquiring a photographed image in a wide range
KR100653200B1 (ko) 2006-01-09 2006-12-05 삼성전자주식회사 기하 정보를 교정하여 파노라마 영상을 제공하는 방법 및장치
US20100045773A1 (en) * 2007-11-06 2010-02-25 Ritchey Kurtis J Panoramic adapter system and method with spherical field-of-view coverage
US7932919B2 (en) 2006-04-21 2011-04-26 Dell Products L.P. Virtual ring camera
DE602007006494D1 (de) 2006-08-01 2010-06-24 Panasonic Corp Kameraeinrichtung, flüssigkeitslinse und bilderfassungsverfahren
US10387891B2 (en) 2006-10-17 2019-08-20 Oath Inc. Method and system for selecting and presenting web advertisements in a full-screen cinematic view
GB2444533B (en) 2006-12-06 2011-05-04 Sony Uk Ltd A method and an apparatus for generating image content
WO2008068456A2 (en) 2006-12-06 2008-06-12 Sony United Kingdom Limited A method and an apparatus for generating image content
DE102007013239A1 (de) 2007-03-15 2008-09-18 Mobotix Ag Überwachungsanordnung
US20080262910A1 (en) * 2007-04-20 2008-10-23 Utbk, Inc. Methods and Systems to Connect People via Virtual Reality for Real Time Communications
US8601386B2 (en) 2007-04-20 2013-12-03 Ingenio Llc Methods and systems to facilitate real time communications in virtual reality
US8681224B2 (en) 2007-06-26 2014-03-25 Dublin City University Method for high precision lens distortion calibration and removal
US8924250B2 (en) * 2007-09-13 2014-12-30 International Business Machines Corporation Advertising in virtual environments based on crowd statistics
US20090238378A1 (en) 2008-03-18 2009-09-24 Invism, Inc. Enhanced Immersive Soundscapes Production
US8671349B2 (en) 2008-05-15 2014-03-11 International Business Machines Corporation Virtual universe teleportation suggestion service
US20100097444A1 (en) 2008-10-16 2010-04-22 Peter Lablans Camera System for Creating an Image From a Plurality of Images
WO2010017166A2 (en) 2008-08-04 2010-02-11 Dolby Laboratories Licensing Corporation Overlapped block disparity estimation and compensation architecture
US20100036735A1 (en) 2008-08-11 2010-02-11 International Business Machines Corporation Triggering immersive advertisements in a virtual universe
US8724007B2 (en) 2008-08-29 2014-05-13 Adobe Systems Incorporated Metadata-driven method and apparatus for multi-image processing
US20100083139A1 (en) 2008-09-26 2010-04-01 International Business Machines Corporation Virtual universe avatar companion
US8577156B2 (en) 2008-10-03 2013-11-05 3M Innovative Properties Company Systems and methods for multi-perspective scene analysis
RU2382406C1 (ru) * 2008-10-10 2010-02-20 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ улучшения карты диспарантности и устройство для реализации способа
US20100100429A1 (en) 2008-10-17 2010-04-22 Microsoft Corporation Systems and methods for using world-space coordinates of ad objects and camera information for adverstising within a vitrtual environment
JP5046047B2 (ja) 2008-10-28 2012-10-10 セイコーインスツル株式会社 画像処理装置、及び画像処理プログラム
US8542232B2 (en) 2008-12-28 2013-09-24 Avaya Inc. Method and apparatus for monitoring user attention with a computer-generated virtual environment
US20100169842A1 (en) 2008-12-31 2010-07-01 Microsoft Corporation Control Function Gestures
US8774559B2 (en) 2009-01-19 2014-07-08 Sharp Laboratories Of America, Inc. Stereoscopic dynamic range image sequence
RU2421933C2 (ru) 2009-03-24 2011-06-20 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Система и способ формирования и воспроизведения трехмерного видеоизображения
US9237317B2 (en) * 2009-05-02 2016-01-12 Steven J. Hollinger Throwable camera and network for operating the same
US8405701B2 (en) * 2009-06-10 2013-03-26 Alcatel Lucent System to freely configure video conferencing camera placement
US9706903B2 (en) 2009-06-18 2017-07-18 Endochoice, Inc. Multiple viewing elements endoscope system with modular imaging units
US8615713B2 (en) 2009-06-26 2013-12-24 Xerox Corporation Managing document interactions in collaborative document environments of virtual worlds
DE102009039251A1 (de) 2009-08-28 2011-03-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren und Vorrichtung zum Zusammenfügen von mehreren digitalen Einzelbildern zu einem Gesamtbild
GB2473248A (en) 2009-09-04 2011-03-09 Sony Corp Determining image misalignment by comparing image characteristics at points along a line
JP2011135246A (ja) 2009-12-24 2011-07-07 Sony Corp 画像処理装置、撮像装置、および画像処理方法、並びにプログラム
EP2354840A1 (en) 2010-02-05 2011-08-10 Siemens Aktiengesellschaft An apparatus and a method for performing a difference measurement of an object image
US20130278631A1 (en) 2010-02-28 2013-10-24 Osterhout Group, Inc. 3d positioning of augmented reality information
US20110222757A1 (en) 2010-03-10 2011-09-15 Gbo 3D Technology Pte. Ltd. Systems and methods for 2D image and spatial data capture for 3D stereo imaging
WO2011159401A1 (en) 2010-05-03 2011-12-22 Invisage Technologies, Inc. Devices and methods for high-resolution image and video capture
WO2011152149A1 (ja) 2010-06-03 2011-12-08 日本電気株式会社 領域推薦装置、領域推薦方法、及び記録媒体
JP5390707B2 (ja) 2010-06-24 2014-01-15 富士フイルム株式会社 立体パノラマ画像合成装置、撮像装置並びに立体パノラマ画像合成方法、記録媒体及びコンピュータプログラム
US8944928B2 (en) * 2010-08-26 2015-02-03 Blast Motion Inc. Virtual reality system for viewing current and previously stored or calculated motion data
JP5005080B2 (ja) 2010-09-06 2012-08-22 キヤノン株式会社 パノラマ画像の生成方法
WO2012039404A1 (ja) 2010-09-24 2012-03-29 株式会社Gnzo 映像ビットストリームの伝送システム
US20130031475A1 (en) 2010-10-18 2013-01-31 Scene 53 Inc. Social network based virtual assembly places
US9876953B2 (en) 2010-10-29 2018-01-23 Ecole Polytechnique Federale De Lausanne (Epfl) Omnidirectional sensor array system
JP5742179B2 (ja) 2010-11-05 2015-07-01 ソニー株式会社 撮像装置、画像処理装置、および画像処理方法、並びにプログラム
WO2012083415A1 (en) 2010-11-15 2012-06-28 Tandemlaunch Technologies Inc. System and method for interacting with and analyzing media on a display using eye gaze tracking
US9497154B2 (en) * 2010-12-13 2016-11-15 Facebook, Inc. Measuring social network-based interaction with web content external to a social networking system
EP2652629B1 (en) 2010-12-13 2018-11-07 Nokia Technologies Oy Method and apparatus for 3d capture syncronization
US9036001B2 (en) 2010-12-16 2015-05-19 Massachusetts Institute Of Technology Imaging system for immersive surveillance
US9007432B2 (en) 2010-12-16 2015-04-14 The Massachusetts Institute Of Technology Imaging systems and methods for immersive surveillance
US8548269B2 (en) 2010-12-17 2013-10-01 Microsoft Corporation Seamless left/right views for 360-degree stereoscopic video
US20120162362A1 (en) * 2010-12-22 2012-06-28 Microsoft Corporation Mapping sound spatialization fields to panoramic video
US8711238B2 (en) 2011-02-01 2014-04-29 Aptina Imaging Corporation Systems and methods for synchronizing and controlling multiple image sensors
US20120203640A1 (en) 2011-02-03 2012-08-09 U Owe Me, Inc. Method and system of generating an implicit social graph from bioresponse data
US9471934B2 (en) 2011-02-25 2016-10-18 Nokia Technologies Oy Method and apparatus for feature-based presentation of content
US9661205B2 (en) 2011-02-28 2017-05-23 Custom Manufacturing & Engineering, Inc. Method and apparatus for imaging
US8670183B2 (en) 2011-03-07 2014-03-11 Microsoft Corporation Augmented view of advertisements
US20120232998A1 (en) 2011-03-08 2012-09-13 Kent Schoen Selecting social endorsement information for an advertisement for display to a viewing user
US8601380B2 (en) 2011-03-16 2013-12-03 Nokia Corporation Method and apparatus for displaying interactive preview information in a location-based user interface
JP2014112750A (ja) * 2011-03-23 2014-06-19 Panasonic Corp 映像変換装置
US9300947B2 (en) 2011-03-24 2016-03-29 Kodak Alaris Inc. Producing 3D images from captured 2D video
US20140099623A1 (en) 2012-10-04 2014-04-10 Karmarkar V. Amit Social graphs based on user bioresponse data
US8581961B2 (en) 2011-03-31 2013-11-12 Vangogh Imaging, Inc. Stereoscopic panoramic video capture system using surface identification and distance registration technique
EP2509300A1 (en) 2011-04-05 2012-10-10 American DJ Supply, Inc. Controllable LED video camera system
EP2695385B8 (en) * 2011-04-08 2016-03-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Capturing panoramic or semi-panoramic 3d scenes
US8510166B2 (en) * 2011-05-11 2013-08-13 Google Inc. Gaze tracking system
WO2012164149A1 (en) 2011-05-31 2012-12-06 Nokia Corporation Method and apparatus for controlling a perspective display of advertisements using sensor data
US9077458B2 (en) 2011-06-17 2015-07-07 Microsoft Technology Licensing, Llc Selection of advertisements via viewer feedback
US9015746B2 (en) 2011-06-17 2015-04-21 Microsoft Technology Licensing, Llc Interest-based video streams
KR101265667B1 (ko) 2011-06-21 2013-05-22 ㈜베이다스 차량 주변 시각화를 위한 3차원 영상 합성장치 및 그 방법
US20130016186A1 (en) 2011-07-13 2013-01-17 Qualcomm Incorporated Method and apparatus for calibrating an imaging device
US8706137B2 (en) 2011-08-02 2014-04-22 Qualcomm Incorporated Likelihood of mobile device portal transition
DE102011052802B4 (de) 2011-08-18 2014-03-13 Sick Ag 3D-Kamera und Verfahren zur Überwachung eines Raumbereichs
US8996510B2 (en) 2011-08-23 2015-03-31 Buckyball Mobile, Inc. Identifying digital content using bioresponse data
US8749396B2 (en) 2011-08-25 2014-06-10 Satorius Stedim Biotech Gmbh Assembling method, monitoring method, communication method, augmented reality system and computer program product
WO2013033842A1 (en) 2011-09-07 2013-03-14 Tandemlaunch Technologies Inc. System and method for using eye gaze information to enhance interactions
US9916538B2 (en) 2012-09-15 2018-03-13 Z Advanced Computing, Inc. Method and system for feature detection
US9015084B2 (en) 2011-10-20 2015-04-21 Gil Thieberger Estimating affective response to a token instance of interest
US9202251B2 (en) 2011-11-07 2015-12-01 Anurag Bist System and method for granular tagging and searching multimedia content based on user reaction
US8879155B1 (en) 2011-11-09 2014-11-04 Google Inc. Measurement method and system
WO2013103151A1 (ja) * 2012-01-04 2013-07-11 株式会社ニコン 電子機器、情報生成方法、及び位置推定方法
US8773503B2 (en) * 2012-01-20 2014-07-08 Thermal Imaging Radar, LLC Automated panoramic camera and sensor platform with computer and optional power supply
KR101850101B1 (ko) * 2012-01-31 2018-04-19 한국전자통신연구원 시선 추적을 이용한 광고 제공 방법
WO2013121098A1 (en) 2012-02-14 2013-08-22 Nokia Corporation Method and apparatus for providing social interaction with programming content
US20130259447A1 (en) 2012-03-28 2013-10-03 Nokia Corporation Method and apparatus for user directed video editing
US20130258044A1 (en) 2012-03-30 2013-10-03 Zetta Research And Development Llc - Forc Series Multi-lens camera
US9317923B2 (en) 2012-04-06 2016-04-19 Brigham Young University Stereo vision apparatus and method
US8644596B1 (en) 2012-06-19 2014-02-04 Google Inc. Conversion of monoscopic visual content using image-depth database
US9615728B2 (en) 2012-06-27 2017-04-11 Camplex, Inc. Surgical visualization system with camera tracking
US9204041B1 (en) 2012-07-03 2015-12-01 Gopro, Inc. Rolling shutter synchronization
US9699485B2 (en) 2012-08-31 2017-07-04 Facebook, Inc. Sharing television and video programming through social networking
EP2893702A4 (en) * 2012-09-10 2016-06-08 Aemass Inc CAPTURING MULTI-DIMENSIONAL DATA OF AN ENVIRONMENT USING MULTIPLE DEVICES
KR101479471B1 (ko) 2012-09-24 2015-01-13 네이버 주식회사 사용자의 시선에 기초하여 광고를 제공하는 방법 및 시스템
KR20140039920A (ko) 2012-09-25 2014-04-02 삼성전자주식회사 영상 데이터 처리 방법과 장치 및 이를 포함하는 단말기
EP2712541B1 (en) 2012-09-27 2015-12-30 SensoMotoric Instruments Gesellschaft für innovative Sensorik mbH Tiled image based scanning for head and/or eye position for eye tracking
US8965121B2 (en) * 2012-10-04 2015-02-24 3Dmedia Corporation Image color matching and equalization devices and related methods
US8794521B2 (en) * 2012-10-04 2014-08-05 Cognex Corporation Systems and methods for operating symbology reader with multi-core processor
CA2890174A1 (en) 2012-11-05 2014-05-08 360 Heros, Inc. 360 degree camera mount and related photographic and video system
US8902322B2 (en) 2012-11-09 2014-12-02 Bubl Technology Inc. Systems and methods for generating spherical images
US20150124088A1 (en) 2012-11-16 2015-05-07 Scopix Inc. Tubular camera module
US9001226B1 (en) * 2012-12-04 2015-04-07 Lytro, Inc. Capturing and relighting images using multiple devices
US9264598B1 (en) 2012-12-12 2016-02-16 Amazon Technologies, Inc. Collaborative image capturing
US20140359647A1 (en) 2012-12-14 2014-12-04 Biscotti Inc. Monitoring, Trend Estimation, and User Recommendations
US9571726B2 (en) 2012-12-20 2017-02-14 Google Inc. Generating attention information from photos
CA2938159C (en) 2013-02-04 2021-07-27 Valorisation-Recherche, Limited Partnership Omnistereo imaging
KR102099086B1 (ko) 2013-02-20 2020-04-09 삼성전자주식회사 디지털 텔레비전 및 사용자 디바이스를 이용하여 사용자 맞춤형 인터랙션을 제공하는 방법, 그 디지털 텔레비전 및 사용자 디바이스
US9462164B2 (en) 2013-02-21 2016-10-04 Pelican Imaging Corporation Systems and methods for generating compressed light field representation data using captured light fields, array geometry, and parallax information
US20140245335A1 (en) 2013-02-25 2014-08-28 Comcast Cable Communications, Llc Environment Object Recognition
US10179543B2 (en) * 2013-02-27 2019-01-15 Magna Electronics Inc. Multi-camera dynamic top view vision system
KR20230173231A (ko) 2013-03-11 2023-12-26 매직 립, 인코포레이티드 증강 및 가상 현실을 위한 시스템 및 방법
US9933921B2 (en) 2013-03-13 2018-04-03 Google Technology Holdings LLC System and method for navigating a field of view within an interactive media-content item
US9413930B2 (en) * 2013-03-14 2016-08-09 Joergen Geerds Camera system
US9706008B2 (en) 2013-03-15 2017-07-11 Excalibur Ip, Llc Method and system for efficient matching of user profiles with audience segments
US9241103B2 (en) * 2013-03-15 2016-01-19 Voke Inc. Apparatus and method for playback of multiple panoramic videos with control codes
US9454220B2 (en) 2014-01-23 2016-09-27 Derek A. Devries Method and system of augmented-reality simulations
US9269187B2 (en) * 2013-03-20 2016-02-23 Siemens Product Lifecycle Management Software Inc. Image-based 3D panorama
US9483117B2 (en) * 2013-04-08 2016-11-01 Nokia Technologies Oy Apparatus, method and computer program for controlling a near-eye display
US20140310630A1 (en) 2013-04-12 2014-10-16 Navteq B.V. Method and apparatus for providing interactive three-dimensional indoor environments
CA2909493C (en) * 2013-04-16 2018-01-23 Christian Weissig Alignment of a camera system, camera system and alignment aid
US9123172B2 (en) 2013-05-20 2015-09-01 Steven Sebring Systems and methods for producing visual representations of objects
US9742991B2 (en) 2013-05-24 2017-08-22 Robert Frank Latorre 360 degree photobooth kiosk
US9589350B1 (en) 2013-05-30 2017-03-07 360 Lab Llc. Utilizing three overlapping images for exposure correction during panoramic image stitching
US9467750B2 (en) 2013-05-31 2016-10-11 Adobe Systems Incorporated Placing unobtrusive overlays in video content
US10262462B2 (en) 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
TWI545388B (zh) * 2013-06-14 2016-08-11 豪威科技股份有限公司 產生全景圖像的系統和方法
US20150026718A1 (en) 2013-07-19 2015-01-22 United Video Properties, Inc. Systems and methods for displaying a selectable advertisement when video has a background advertisement
US9154761B2 (en) 2013-08-19 2015-10-06 Google Inc. Content-based video segmentation
KR20150022276A (ko) 2013-08-22 2015-03-04 삼성전자주식회사 이미지 파일에서 암호화된 메시지를 추출하는 전자 장치 및 방법
US9264770B2 (en) 2013-08-30 2016-02-16 Rovi Guides, Inc. Systems and methods for generating media asset representations based on user emotional responses
WO2015039067A1 (en) 2013-09-16 2015-03-19 Duke University Method for combining multiple image fields
US11740692B2 (en) 2013-11-09 2023-08-29 Shenzhen GOODIX Technology Co., Ltd. Optical eye tracking
KR20150054413A (ko) 2013-11-12 2015-05-20 삼성전자주식회사 시선 데이터에 따라 컨텐츠의 위치를 결정하는 전자 장치 및 방법
US20150138065A1 (en) 2013-11-21 2015-05-21 Nvidia Corporation Head-mounted integrated interface
US10126822B2 (en) 2013-12-16 2018-11-13 Leap Motion, Inc. User-defined virtual interaction space and manipulation of virtual configuration
US10764645B2 (en) 2014-01-22 2020-09-01 Sunshine Partners LLC Viewer-interactive enhanced video advertisements
US20150248918A1 (en) 2014-02-28 2015-09-03 United Video Properties, Inc. Systems and methods for displaying a user selected object as marked based on its context in a program
US10203762B2 (en) 2014-03-11 2019-02-12 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
US9270714B2 (en) 2014-03-13 2016-02-23 International Business Machines Corporation Content preview generation using social network analysis
US9562773B2 (en) 2014-03-15 2017-02-07 Aurora Flight Sciences Corporation Autonomous vehicle navigation system and method
US9282367B2 (en) 2014-03-18 2016-03-08 Vixs Systems, Inc. Video system with viewer analysis and methods for use therewith
US9197885B2 (en) 2014-03-20 2015-11-24 Gopro, Inc. Target-less auto-alignment of image sensors in a multi-camera system
EP3129849B1 (en) 2014-04-11 2020-02-12 Facebook Technologies, LLC Systems and methods of eye tracking calibration
KR20150122355A (ko) 2014-04-23 2015-11-02 엘지전자 주식회사 썸네일 이미지를 디스플레이 하는 헤드 마운티드 디스플레이 디바이스 및 그 제어 방법
US20150317353A1 (en) 2014-05-02 2015-11-05 At&T Intellectual Property I, L.P. Context and activity-driven playlist modification
US9712761B2 (en) 2014-05-28 2017-07-18 Qualcomm Incorporated Method for embedding product information in video using radio frequencey information
US9911454B2 (en) 2014-05-29 2018-03-06 Jaunt Inc. Camera array including camera modules
US9349068B2 (en) 2014-06-05 2016-05-24 Honeywell International Inc. Detecting camera conditions to initiate camera maintenance
US9420176B2 (en) 2014-06-19 2016-08-16 Omnivision Technologies, Inc. 360 degree multi-camera system
US10438331B2 (en) 2014-06-26 2019-10-08 Intel Corporation Distortion meshes against chromatic aberrations
US9858720B2 (en) 2014-07-25 2018-01-02 Microsoft Technology Licensing, Llc Three-dimensional mixed-reality viewport
US10440398B2 (en) 2014-07-28 2019-10-08 Jaunt, Inc. Probabilistic model to compress images for three-dimensional video
US9774887B1 (en) 2016-09-19 2017-09-26 Jaunt Inc. Behavioral directional encoding of three-dimensional video
US9747011B2 (en) 2014-09-16 2017-08-29 Google Inc. Continuation of playback of media content by different output devices
WO2016154359A1 (en) 2015-03-23 2016-09-29 Golfstream Inc. Systems and methods for programmatically generating anamorphic images for presentation and 3d viewing in a physical gaming and entertainment suite
US20160295194A1 (en) 2015-03-30 2016-10-06 Ming Shi CO., LTD. Stereoscopic vision system generatng stereoscopic images with a monoscopic endoscope and an external adapter lens and method using the same to generate stereoscopic images
US10156908B2 (en) 2015-04-15 2018-12-18 Sony Interactive Entertainment Inc. Pinch and hold gesture navigation on a head-mounted display
US9396588B1 (en) 2015-06-30 2016-07-19 Ariadne's Thread (Usa), Inc. (Dba Immerex) Virtual reality virtual theater system
US10388071B2 (en) 2016-03-25 2019-08-20 Sony Interactive Entertainment Inc. Virtual reality (VR) cadence profile adjustments for navigating VR users in VR environments
WO2017197402A2 (en) 2016-05-13 2017-11-16 Maana, Inc. Machine-assisted object matching
US11032536B2 (en) 2016-09-19 2021-06-08 Verizon Patent And Licensing Inc. Generating a three-dimensional preview from a two-dimensional selectable icon of a three-dimensional reality video
US10681341B2 (en) 2016-09-19 2020-06-09 Verizon Patent And Licensing Inc. Using a sphere to reorient a location of a user in a three-dimensional virtual reality video
US20180096507A1 (en) 2016-10-04 2018-04-05 Facebook, Inc. Controls and Interfaces for User Interactions in Virtual Spaces
US20180176465A1 (en) 2016-12-16 2018-06-21 Prolific Technology Inc. Image processing method for immediately producing panoramic images
US10499090B2 (en) 2016-12-30 2019-12-03 Facebook, Inc. Systems and methods to transition between media content items
US10339692B2 (en) 2017-06-09 2019-07-02 Sony Interactive Entertainment Inc. Foveal adaptation of particles and simulation models in a foveated rendering system
US10688662B2 (en) 2017-12-13 2020-06-23 Disney Enterprises, Inc. Robot navigation in context of obstacle traffic including movement of groups
US10901687B2 (en) 2018-02-27 2021-01-26 Dish Network L.L.C. Apparatus, systems and methods for presenting content reviews in a virtual world
US10694167B1 (en) 2018-12-12 2020-06-23 Verizon Patent And Licensing Inc. Camera array including camera modules

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11103472A (ja) * 1997-09-26 1999-04-13 Canon Inc 撮影方法及び装置
JP2001320616A (ja) * 2000-02-29 2001-11-16 Matsushita Electric Ind Co Ltd 撮像システム
JP2004514951A (ja) * 2000-11-29 2004-05-20 アールヴイシー エルエルシー 球面立体視撮影システム及びその方法
JP2003333569A (ja) * 2002-05-13 2003-11-21 Sony Corp ファイルフォーマット、情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム
JP2006128818A (ja) * 2004-10-26 2006-05-18 Victor Co Of Japan Ltd 立体映像・立体音響対応記録プログラム、再生プログラム、記録装置、再生装置及び記録メディア
JP2006162692A (ja) * 2004-12-02 2006-06-22 Hosei Univ 講義コンテンツ自動作成システム
JP2011199425A (ja) * 2010-03-17 2011-10-06 Fujifilm Corp パノラマ画像生成装置、パノラマ画像生成方法、パノラマ画像生成プログラム、撮像装置
JP2012095229A (ja) * 2010-10-28 2012-05-17 Sharp Corp 画像表示装置及び画像表示装置用のコンピュータプログラム

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019511073A (ja) * 2016-04-02 2019-04-18 ブイエムジー エコ エスピー.ジーオー.オー 全方向画像記録のために多数カメラからデータをダウンロードする方法と装置
JP2018092303A (ja) * 2016-12-01 2018-06-14 株式会社コロプラ 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP6298874B1 (ja) * 2016-12-01 2018-03-20 株式会社コロプラ 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
WO2018135730A1 (ko) * 2017-01-23 2018-07-26 고범준 Vr 영상 생성 방법, vr 영상 처리 방법 및 vr 영상 처리 시스템
KR20180088538A (ko) * 2017-01-23 2018-08-06 고범준 Vr 영상 생성 방법, vr 영상 처리 방법 및 vr 영상 처리 시스템
KR101949261B1 (ko) * 2017-01-23 2019-02-18 고범준 Vr 영상 생성 방법, vr 영상 처리 방법 및 vr 영상 처리 시스템
JP2020507845A (ja) * 2017-02-15 2020-03-12 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 画像処理方法、装置、及び機械可読媒体
JP7053634B2 (ja) 2017-02-15 2022-04-12 アリババ・グループ・ホールディング・リミテッド 画像処理方法、装置、及び機械可読媒体
KR102372808B1 (ko) 2017-09-11 2022-03-15 삼성전자주식회사 복수의 카메라를 통해 수신되는 이미지를 처리하기 위한 장치 및 방법
KR20190029096A (ko) * 2017-09-11 2019-03-20 삼성전자주식회사 복수의 카메라를 통해 수신되는 이미지를 처리하기 위한 장치 및 방법
KR20200068624A (ko) * 2018-03-28 2020-06-15 현대모비스 주식회사 3차원 지도 구축에 있어 3차원 거리정보의 실시간 업데이트 장치 및 방법
KR102275695B1 (ko) * 2018-03-28 2021-07-09 현대모비스 주식회사 3차원 지도 구축에 있어 3차원 거리정보의 실시간 업데이트 장치 및 방법
KR20190113226A (ko) * 2018-03-28 2019-10-08 현대모비스 주식회사 실시간 3차원 지도 구축 장치 및 방법
KR102508960B1 (ko) 2018-03-28 2023-03-14 현대모비스 주식회사 실시간 3차원 지도 구축 장치 및 방법
WO2019235106A1 (ja) 2018-06-06 2019-12-12 株式会社アルファコード ヒートマップ提示装置およびヒートマップ提示用プログラム
WO2024071172A1 (ja) * 2022-09-27 2024-04-04 雅史 高尾 情報同期システム、情報同期プログラム及び情報同期方法

Also Published As

Publication number Publication date
US11032490B2 (en) 2021-06-08
WO2015026632A1 (en) 2015-02-26
US9930238B2 (en) 2018-03-27
US20170236149A1 (en) 2017-08-17
US20150055937A1 (en) 2015-02-26
US20170236162A1 (en) 2017-08-17
US20150054913A1 (en) 2015-02-26
JP6289641B2 (ja) 2018-03-07
US11128812B2 (en) 2021-09-21
US10425570B2 (en) 2019-09-24
WO2015027105A1 (en) 2015-02-26
US20160373640A1 (en) 2016-12-22
US10708568B2 (en) 2020-07-07
US9451162B2 (en) 2016-09-20
JP2016538790A (ja) 2016-12-08
US20150058102A1 (en) 2015-02-26
US20150055929A1 (en) 2015-02-26
US10334220B2 (en) 2019-06-25
US20200007743A1 (en) 2020-01-02
US10666921B2 (en) 2020-05-26

Similar Documents

Publication Publication Date Title
US10666921B2 (en) Generating content for a virtual reality system
US10691202B2 (en) Virtual reality system including social graph
US10701426B1 (en) Virtual reality system including social graph
JP7368886B2 (ja) 情報処理システム、情報処理方法、および情報処理プログラム
US11184599B2 (en) Enabling motion parallax with multilayer 360-degree video
US20220264068A1 (en) Telepresence system and method
Lelyveld et al. Virtual reality primer with an emphasis on camera-captured VR
CN109997175B (zh) 确定虚拟对象的大小
KR20180069781A (ko) 가상의 3차원 비디오 생성 및 관리 시스템 및 방법
TW201238361A (en) Camera with multiple color sensors
US11323838B2 (en) Method and apparatus for providing audio content in immersive reality
WO2021095573A1 (ja) 情報処理システム、情報処理方法及びプログラム
US10937462B2 (en) Using sharding to generate virtual reality content
US11431901B2 (en) Aggregating images to generate content
US11887249B2 (en) Systems and methods for displaying stereoscopic rendered image data captured from multiple perspectives
US20200225467A1 (en) Method for projecting immersive audiovisual content
US20220232201A1 (en) Image generation system and method
WO2023048973A1 (en) 3d spotlight

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180606

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20181211