JP6131950B2 - 情報処理装置、および情報処理方法、並びにプログラム - Google Patents

情報処理装置、および情報処理方法、並びにプログラム Download PDF

Info

Publication number
JP6131950B2
JP6131950B2 JP2014520999A JP2014520999A JP6131950B2 JP 6131950 B2 JP6131950 B2 JP 6131950B2 JP 2014520999 A JP2014520999 A JP 2014520999A JP 2014520999 A JP2014520999 A JP 2014520999A JP 6131950 B2 JP6131950 B2 JP 6131950B2
Authority
JP
Japan
Prior art keywords
image
client
unit
virtual image
information
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.)
Expired - Fee Related
Application number
JP2014520999A
Other languages
English (en)
Other versions
JPWO2013187129A1 (ja
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2014520999A priority Critical patent/JP6131950B2/ja
Publication of JPWO2013187129A1 publication Critical patent/JPWO2013187129A1/ja
Application granted granted Critical
Publication of JP6131950B2 publication Critical patent/JP6131950B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2621Cameras specially adapted for the electronic generation of special effects during image pickup, e.g. digital cameras, camcorders, video cameras having integrated special effects capability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/37Details of the operation on graphic patterns
    • G09G5/377Details of the operation on graphic patterns for mixing or overlaying two or more graphic patterns
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42202Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS] environmental sensors, e.g. for detecting temperature, luminosity, pressure, earthquakes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • 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/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/633Control of cameras or camera modules by using electronic viewfinders for displaying additional information relating to control or operation of the camera
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2350/00Solving problems of bandwidth in display systems
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/022Centralised management of display operation, e.g. in a server instead of locally
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
    • 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/63Control of cameras or camera modules by using electronic viewfinders

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Ecology (AREA)
  • Emergency Management (AREA)
  • Environmental & Geological Engineering (AREA)
  • Environmental Sciences (AREA)
  • Remote Sensing (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)

Description

本開示は、情報処理装置、および情報処理方法、並びにプログラムに関する。特に、拡張現実(AR:Augmented Reality)表示を実行する情報処理装置、および情報処理方法、並びにプログラムに関する。
例えばカメラの撮影画像に、撮影画像以外の仮想画像を重畳した画像は、拡張現実(AR:Augmented Reality)画像と呼ばれ、昨今、様々な分野で利用されている。
特に、近年、通信機能に加えカメラ機能とディスプレイを備えたスマートフォンなどの携帯端末が普及し、これらのスマートフォンにおいて拡張現実(AR)画像を適用したアプリケーションが多く利用されている。
AR画像の1つの利用例として、以下のような例がある。
例えばスマートフォン等の携帯端末のカメラ機能を用いて、あるオブジェクト(被写体)を撮影すると、オブジェクト情報がサーバに送信され、オブジェクトに関連付けられた情報をサーバから受信して、スマートフォンの表示部に撮影オブジェクトとともに表示する処理である。
サーバからスマートフォンに対して送信される画像情報は、例えば撮影オブジェクトに関連する仮想的なキャラクタの画像や、予め撮影済みの人物や景色など、様々である。
なお、AR画像の生成、表示処理について開示した従来技術として、例えば特許文献1(特開2012−58838号公報)がある。
しかし、サーバからの送信する仮想画像が、例えば実際の人物等を撮影した動画であるような場合、この動画をユーザの携帯端末のカメラ撮影画像に重畳表示すると、撮影画像と仮想画像が異なる動きを示し、仮想画像としての人物が撮影画像中に張り付いているだけで、人物が撮影画像中に存在するようには見えないという問題がある。
これは、ユーザが携帯端末で撮影している実写画像は、携帯端末の角度変化等に応じて変化するのに対して、サーバの提供する仮想画像は携帯端末の角度変化等と相関のない動きをしてしまうことが主な原因である。
このような問題を解決するためには、あらゆる角度から撮影した多数の動画像をサーバからユーザ端末に送信し、ユーザ端末側で端末の角度に応じて画像を選択して表示するといった処理が有効と考えられる。しかし、このような処理を行なうと、通信負荷やユーザ端末の負荷が膨大となり、通信遅延や処理遅延を引き起こすことになる。
特開2012−58838号公報
本開示は、例えば上記問題点に鑑みてなされたものであり、例えばユーザの持つ携帯端末のカメラで撮影され表示部に表示された撮影画像に重畳して仮想画像を表示する構成において、カメラの動きに応じて仮想画像を変化させ、あたかも撮影画像内に仮想画像が存在するようなAR画像の表示を実現する情報処理装置、および情報処理方法、並びにプログラムを提供することを目的とする。
本開示の第1の側面は、
撮像部で撮像される撮像画像に仮想画像が重畳される映像を表示する表示部を備える端末の空間位置情報を取得する取得部と、
前記端末の空間位置情報に応じて、前記表示部に前記仮想画像を表示させるための表示情報を特定する特定部と、
を備える情報処理装置にある。
さらに、本開示の情報処理装置の一実施態様において、前記情報処理装置は、画像を撮影する撮像部と、前記撮像部の撮影画像を表示する表示部と、サーバから前記仮想画像を受信し、受信した仮想画像を前記表示部に表示された撮影画像に重畳表示する処理を実行するデータ処理部を有し、前記データ処理部は、情報処理装置の動き情報に応じて所定時間後の前記撮像部位置を推定し、推定位置情報を前記サーバに送信し、前記サーバから、前記推定位置から撮影した仮想画像、または該仮想画像生成用画像とデプスマップを受信して、受信画像、または受信画像に基づく生成画像を前記表示部に表示する処理を実行する。
さらに、本開示の情報処理装置の一実施態様において、前記データ処理部は、現在時刻Tにおける前記撮像部の位置・姿勢情報と移動情報を適用して、サーバとの通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後の前記撮像部の撮影方向を推定し、前記推定方向を前記推定位置情報として前記サーバに送信する。
さらに、本開示の情報処理装置の一実施態様において、前記データ処理部は、現在時刻Tにおける前記撮像部の位置・姿勢情報と移動情報を適用して、サーバとの通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後の前記撮像部の撮影方向の確率を算出し、確率の高い範囲の角度範囲を選択し、選択角度範囲に含まれる複数の視点からの仮想画像、または該仮想画像生成用画像とデプスマップを前記サーバから受信する。
さらに、本開示の情報処理装置の一実施態様において、前記データ処理部は、前記選択角度範囲において、相対的に前記確率の高い画像を高解像度画像とし、相対的に前記確率の低い画像を低解像度画像として設定した画像データを前記サーバから受信する。
さらに、本開示の情報処理装置の一実施態様において、前記データ処理部は、前記選択角度範囲において、前記確率に大きな差異がない場合、前記選択角度範囲に含まれる複数の視点からの仮想画像を同じ解像度を持つ画像として前記サーバから受信する。
さらに、本開示の情報処理装置の一実施態様において、前記データ処理部は、前記サーバから受信した複数の視点からの仮想画像から、前記仮想画像の表示タイミングにおける前記撮像部の撮影方向に近い視点の仮想画像を選択、または前記仮想画像生成用画像とデプスマップを適用して、前記仮想画像の表示タイミングにおける前記撮像部の撮影方向に近い視点から撮影した仮想画像を生成して前記表示部に表示する。
さらに、本開示の第2の側面は、
クライアントとの通信を実行する通信部と、
前記クライアントの表示部に表示されたクライアント撮像部の撮影画像に重畳表示する仮想画像を選択して送信するデータ処理部を有し、
前記データ処理部は、
前記クライアントの動き情報に応じて推定した所定時間後の前記クライアント撮像部位置から撮影した仮想画像、または該仮想画像生成用画像とデプスマップをクライアントに対する送信データとして選択し、クライアントに送信する処理を実行するサーバとしての情報処理装置にある。
さらに、本開示の情報処理装置の一実施態様において、前記データ処理部は、現在時刻Tにおける前記クライアント撮像部の位置・姿勢情報と移動情報を適用して、サーバクライアント間における通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後の前記クライアント撮像部の撮影方向を推定し、推定方向から撮影した仮想画像、または該仮想画像生成用画像とデプスマップをクライアントに対する送信データとして選択する。
さらに、本開示の情報処理装置の一実施態様において、前記データ処理部は、現在時刻Tにおける前記クライアント撮像部の位置・姿勢情報と移動情報を適用して、サーバクライアント間における通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後の前記クライアント撮像部の撮影方向の確率を算出し、確率の高い範囲の角度範囲を選択し、選択角度範囲に含まれる複数の視点からの仮想画像をクライアントに対する送信データとして選択する。
さらに、本開示の情報処理装置の一実施態様において、前記データ処理部は、前記選択角度範囲において、相対的に前記確率の高い画像を高解像度画像とし、相対的に前記確率の低い画像を低解像度画像として設定した送信画像データを生成してクライアントに送信する。
さらに、本開示の第3の側面は、
画像を撮影する撮像部と、
前記撮像部の撮影画像を表示する表示部と、
前記表示部に表示された撮影画像に重畳表示する仮想画像であり、異なる複数の視点からオブジェクトを撮影した複数視点対応の仮想画像を格納した記憶部と、
前記記憶部から前記仮想画像を取得し、取得した仮想画像を前記表示部に表示された撮影画像に重畳表示する処理を実行するデータ処理部を有し、
前記データ処理部は、
情報処理装置の動き情報に応じて所定時間後の前記撮像部位置を推定し、
推定位置から撮影した仮想画像を前記記憶部から選択して表示、または、前記記憶部から取得した仮想画像に基づいて生成して前記表示部に表示する処理を実行する情報処理装置にある。
さらに、本開示の情報処理装置の一実施態様において、前記記憶部は、異なる複数の視点からオブジェクトを撮影した複数視点対応の仮想画像とデプスマップを格納し、前記データ処理部は、前記推定位置から撮影した仮想画像を、前記記憶部から取得した仮想画像とデプスマップを適用して生成して前記表示部に表示する。
さらに、本開示の情報処理装置の一実施態様において、前記データ処理部は、情報処理装置の動き情報に応じて所定時間後の前記撮像部の撮影方向の確率を算出し、高確率の仮想画像を前記記憶部から選択、または、前記記憶部から取得した仮想画像に基づいて生成して前記表示部に表示する処理を実行する。
さらに、本開示の第4の側面は、
情報処理装置において実行する情報処理方法であり、
前記情報処理装置は、
クライアントとの通信を実行する通信部と、
前記クライアントの表示部に表示されたクライアント撮像部の撮影画像に重畳表示する仮想画像を選択して送信するデータ処理部を有し、
前記データ処理部は、
前記クライアントの動き情報に応じて推定した所定時間後の前記クライアント撮像部位置から撮影した仮想画像、または該仮想画像生成用画像とデプスマップをクライアントに対する送信データとして選択し、クライアントに送信する処理を実行する情報処理方法にある。
さらに、本開示の第5の側面は、
情報処理装置において実行する情報処理方法であり、
データ処理部が、撮像部で撮像される撮像画像に仮想画像が重畳される映像を表示する表示部を備える端末の空間位置情報を取得する取得処理と、
データ処理部が、前記端末の空間位置情報に応じて、前記表示部に前記仮想画像を表示させるための表示情報を特定する特定処理を実行する情報処理方法にある。
さらに、本開示の第6の側面は、
情報処理装置において実行する情報処理方法であり、
前記情報処理装置は、
画像を撮影する撮像部と、
前記撮像部の撮影画像を表示する表示部と、
前記表示部に表示された撮影画像に重畳表示する仮想画像であり、異なる複数の視点からオブジェクトを撮影した複数視点対応の仮想画像を格納した記憶部と、
前記記憶部から前記仮想画像を取得し、取得した仮想画像を前記表示部に表示された撮影画像に重畳表示する処理を実行するデータ処理部を有し、
前記データ処理部は、
情報処理装置の動き情報に応じて所定時間後の前記撮像部位置を推定し、
推定位置から撮影した仮想画像を前記記憶部から選択して表示、または、前記記憶部から取得した仮想画像に基づいて生成して前記表示部に表示する処理を実行する情報処理方法にある。
さらに、本開示の第7の側面は、
情報処理装置において情報処理を実行させるプログラムであり、
前記情報処理装置は、
クライアントとの通信を実行する通信部と、
前記クライアントの表示部に表示されたクライアント撮像部の撮影画像に重畳表示する仮想画像を選択して送信するデータ処理部を有し、
前記プログラムは、前記データ処理部に、
前記クライアントの動き情報に応じて推定した所定時間後の前記クライアント撮像部位置から撮影した仮想画像、または該仮想画像生成用画像とデプスマップをクライアントに対する送信データとして選択させ、クライアントに送信する処理を実行させるプログラムにある。
さらに、本開示の第8の側面は、
情報処理装置において情報処理を実行させるプログラムであり、
データ処理部に、撮像部で撮像される撮像画像に仮想画像が重畳される映像を表示する表示部を備える端末の空間位置情報を取得する取得処理と、
データ処理部が、前記端末の空間位置情報に応じて、前記表示部に前記仮想画像を表示させるための表示情報を特定する特定処理を実行させる.プログラムにある。
さらに、本開示の第9の側面は、
情報処理装置において情報処理を実行させるプログラムであり、
前記情報処理装置は、
画像を撮影する撮像部と、
前記撮像部の撮影画像を表示する表示部と、
前記表示部に表示された撮影画像に重畳表示する仮想画像であり、異なる複数の視点からオブジェクトを撮影した複数視点対応の仮想画像を格納した記憶部と、
前記記憶部から前記仮想画像を取得し、取得した仮想画像を前記表示部に表示された撮影画像に重畳表示する処理を実行するデータ処理部を有し、
前記プログラムは、前記データ処理部に、
情報処理装置の動き情報に応じて所定時間後の前記撮像部位置を推定し、推定位置から撮影した仮想画像を前記記憶部から選択して表示、または、前記記憶部から取得した仮想画像に基づいて生成して前記表示部に表示する処理を実行させるプログラムにある。
なお、本開示のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本開示の一実施例の構成によれば、表示部に表示されたカメラ撮影画像に、カメラ撮影方向に応じた自然な仮想画像を重畳表示する構成が実現される。
具体的には、仮想画像をクライアントに送信するサーバと、カメラ撮影画像とサーバから送信される仮想画像を重畳表示するクライアントを有する。サーバはクライアント(カメラ)の動きに応じて推定した所定時間後のクライアント位置から撮影した仮想画像をクライアントに送信する。サーバ、またはクライアントのいずれかにおいて、現在時刻Tにおけるクライアントの位置・姿勢情報と移動情報を適用して、サーバクライアント間における通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後のクライアントの撮影方向を推定し、推定方向から撮影した仮想画像をクライアントに送信する。
これらの構成により、クライアントの表示部に表示されたカメラ撮影画像に、カメラ撮影方向に応じた自然な仮想画像を重畳表示する構成が実現される。
本開示の処理の利用例について説明する図である。 本開示の処理の概要について説明する図である。 本開示の処理の概要について説明する図である。 サーバクライアント間の処理シーケンスの概要について説明する図である。 本開示の第1実施例の処理シーケンスについて説明するフローチャートを示す図である。 クライアント(カメラ)の移動態様の推定処理について説明する図である。 クライアント(カメラ)の角度推定と送信画像の決定処理の詳細について説明するフローチャートを示す図である。 クライアント(カメラ)の角度推定と送信画像の決定処理に適用する情報の例について説明する図である。 クライアント(カメラ)の角度推定と送信画像の決定処理に適用する情報の例について説明する図である。 クライアント(カメラ)の角度推定と送信画像の決定処理に適用する情報の例について説明する図である。 クライアント(カメラ)の角度推定と送信画像の決定処理に適用する情報の例について説明する図である。 クライアント(カメラ)の角度推定と送信画像の決定処理に適用する情報の例について説明する図である。 クライアントに対する送信データの例について説明する図である。 クライアントに対する送信データの例について説明する図である。 本開示の第1実施例のサーバとクライアントの構成例について説明する図である。 本開示の第1実施例において、サーバからクライアントに提供する画像の例について説明する図である。 本開示の第2実施例において、サーバからクライアントに提供する画像の例について説明する図である。 本開示の第2実施例の処理シーケンスについて説明するフローチャートを示す図である。 クライアントに対する送信データの例について説明する図である。 クライアントに対する送信データの例について説明する図である。 クライアントに対する送信データの例について説明する図である。 本開示の第2実施例のサーバとクライアントの構成例について説明する図である。 本開示の第3実施例のサーバとクライアントの構成例について説明する図である。
以下、図面を参照しながら本開示の情報処理装置、および情報処理方法、並びにプログラムの詳細について説明する。なお、説明は以下の項目に従って行う。
1.本開示の処理の概要について
2.本開示の第1実施例について
3.本開示の第2実施例について
4.本開示の第3実施例について
5.その他の実施例について
6.本開示の構成のまとめ
[1.本開示の処理の概要について]
まず、図1以下を参照して、本開示の処理の概要について説明する。
図1は、本開示の処理の一利用例を示す図である。ポスター10の前にユーザA21が立ち、ユーザB22がカメラ機能を持つスマートフォン等の携帯端末(クライアント)30を用いて、ポスター10とユーザA21を含む画像を撮影する。なお、撮影画像は例えば動画像である。
携帯端末(クライアント)30は、クライアント(携帯端末)30の通信部を介して撮影情報をサーバに送信する。サーバは、クライアント(携帯端末)30から受信した撮影情報に基づいて、クライアント(携帯端末)30がポスター10を含む画像を撮影していると認識し、サーバ内のコンテンツデータベースに格納済みのコンテンツ、例えば、ポスター10に印刷されている人物を撮影した動画像コンテンツを取得して、携帯端末(クライアント)30に送信する。
携帯端末(クライアント)30は、サーバから受信したコンテンツ(動画像)を、撮影中の画像に重ねて表示する。図のクライアント(携帯端末)30の表示画像中の仮想画像(実写画像)31である。
図1に示すように、携帯端末(クライアント)30は、携帯端末(クライアント)30が実際に撮影している撮影画像と、サーバから受信した仮想画像を併せて表示した拡張現実(AR:Augmented Reality)画像を表示する。
携帯端末(クライアント)30に表示する仮想画像31は、ユーザA,ユーザBが居る場所には実際には存在しない人物の画像である。
しかし、クライアント(携帯端末)30の画面中には、あたかもユーザA21の隣に立っているように表示される。
クライアント(携帯端末)30は、この仮想画像31を含む撮影画像を動画あるいは静止画として撮影、記録することが可能となる。
しかし、携帯端末(クライアント)30を用いて撮影処理を行っているユーザB22は、携帯端末(クライアント)30を動かしながら画像撮影を行う。このとき撮影方向が変化し、撮影画像は撮影方向の変化に応じて変化する。
例えば、図2に示すように、携帯端末(クライアント)30に備えられたカメラ31の位置は、ユーザによって、(a),(b),(c)のような様々な位置に変化する。
このとき、カメラ31の撮影方向は(方向a)、(方向b)、(方向c)のような様々な設定となる。
携帯端末(クライアント)30に表示される仮想画像31の被写体人物があたかもその撮影現場にいるように表示するためには、仮想画像31は、各撮影方向(方向a)、(方向b)、(方向c)に応じた画像に変更することが必要となる。
例えば図2に示すようにポスター10の前に仮想画像被写体想定位置32を設定したとする。この時、携帯端末(クライアント)30に表示する仮想画像31は、図3に示すように、携帯端末(クライアント)30の動きに応じて変更することで、携帯端末(クライアント)30に表示される仮想画像としての人物が、あたかもその場にいるような設定となる。
図3には以下の5つの撮影方向に応じた仮想画像の理想的な表示画像例を示している。
図3(a)は、仮想画像被写体想定位置32の正面からの撮影状態。
図3(R1)は、仮想画像被写体想定位置32の右斜め方向からの撮影状態。、
図3(R2)は、仮想画像被写体想定位置32の右方向からの撮影状態。
図3(L1)は、仮想画像被写体想定位置32の左斜め方向からの撮影状態。
図3(L2)は、仮想画像被写体想定位置32の左方向からの撮影状態。
図3に示すように、クライアント(携帯端末)30の表示部に、携帯端末の動きに応じた仮想画像を表示することで、あたかも、仮想画像に相当する人物がその場にいるような動画像を表示し、また撮影して記録することが可能となる。
なお、画像撮影および表示を実行するクライアントは、図1に示すようなスマートフォンに限らず、例えばPCや、メガネ型のARグラスなど、様々な情報処理装置によって実現可能である。
本開示の処理を適用することで、スマートフォンやARグラスなどのクライアントに表示中の画像に、人物などの仮想画像を重畳表示する際、重畳対象となる画像の変化に応じて仮想画像を変化させることが可能となり、仮想画像が、重畳対象となるベース画像中に存在するように表示することができる。
具体的には、例えば、様々な視点から観察した自由視点実写動画コンテンツをサーバからクライアントに送信し、クライアントの表示部に表示された例えばカメラ撮影画像に重畳表示する。この処理において、クライアント(カメラ)の動きに応じた自然な動きを持つ仮想画像の表示を実現する。
本開示の処理を行なう実施例について、以下の2つの実施例を順次説明する。
(1)実施例1:クライアントにおいて表示可能な異なる視点のコンテンツをサーバから送信する実施例。
(2)実施例2:サーバから離散的な複数視点のコンテンツと、コンテンツ対応の奥行き情報(デプスマップ)をクライアントに送信し、クライアント側でクライアントに表示する任意視点の画像を生成する実施例、
上記実施例1は、サーバが、クライアントに対して、複数の異なる視点から撮影した動画コンテンツを配信する。クライアントは、クライアントの撮像部(カメラ)の撮影角度情報等に応じて、受信した各視点の動画コンテンツから表示コンテンツを選択し、選択した動画コンテンツのデコード、表示処理を行なう。
クライアントでは動画のデコードのみをすれば良いので負荷が低い。
ただし、より多くの視点の動画像を1度に送る必要があり、通信負荷は大きくなる。
上記実施例2は、サーバが、不連続、すなわち離散的な異なる視点からの動画コンテンツを配信する。さらに、提供する動画コンテンツに対応する奥行き情報(デプスマップ)を併せてクライアントに提供する実施例である。なお、デプスマップは、カメラから被写体までの距離情報を画素単位で設定したデータによって構成される。
クライアント側では、不連続な異なる視点からの動画コンテンツを用いて、必要な表示コンテンツ、すなわち、所望の方向から観察した仮想画像を生成する。例えば、方向Aと方向Bの実写画像と各画像に対応付けられたデプスマップを用いて方向A〜Bの中間視点画像を生成して表示する。
この処理例では、サーバからクライアントに対する送信データを少なくすることができる。最低2視点分(角度や位置によっては3視点以上分)の画像を送信すればよい。
ただし、クライアント側で中間視点画像を生成する必要が発生し、クライアント側の負荷が大きくなる。
なお、実施例1,2のいずれの実施例においても、クライアントは、クライアントに備えられたカメラの位置・角度に応じて生成または選択した仮想画像をクライアントにおいて表示中のベース画像であるカメラ撮影画像に重畳する。なお、サーバが提供しクライアントに重畳する仮想画像は、例えば仮想画像が実写の人物画像である場合、人物以外の画素部分の透過度を最大にし、人物領域の透過度を0に設定するなどの透過度情報あるいはマスク情報と呼ばれる画素単位のαチャンネル情報を持つ動画コンテンツとする。
このようなαチャンネルを持つコンテンツを撮影画像に重畳することで、仮想画像に含まれる人物領域のみがクライアントの撮影画像に重畳され、人物以外の画像領域では撮影画像がそのまま表示される。
また、以下の実施例において詳細に説明するが、サーバとクライアント間の通信においては、ネットワーク遅延が発生する。従って、サーバからクライアントに提供するコンテンツは、ネットワークの遅延を考慮したコンテンツとすることが必要である。すなわち、例えば、クライアントの動きに基づく、一定時間後のクライアントの撮影角度を予測し、その予測角度を中心とした所定範囲内の視点からの動画像コンテンツを適応的に配信する。
この処理により、全視点の動画を配信するのに比べ必要な帯域幅を大幅に削減可能となる。本開示の処理により、例えば、図3を参照して説明したクライアントの動きに応じた仮想画像のリアルタイム描画が実現される。
なお、クライアントの動き予測は、例えばクライアントの撮影画像に含まれるマーカを利用した処理として実行することができる。すなわち、マーカの撮影位置からカメラの位置情報やカメラの移動方向、移動速度等を取得し、これらの情報からクライアントの動きを予測し、所定時間後のカメラの位置、姿勢を推定する。また、クライアントに備えられた加速度・ジャイロセンサなどのセンサ情報を利用した構成としてもよい。
以下、本開示に従った処理の具体的な実施例について説明する。
[2.本開示の第1実施例について]
本開示の第1実施例について説明する。
図1〜図3を参照して説明したように、本開示の処理では、クライアントの表示部に撮影画像に併せて仮想画像を重畳したAR画像を生成して表示する。
仮想画像は、サーバからクライアントに提供する例を説明する。なお、後段で説明するが、サーバからの画像提供を受けずにクライアント内の記憶部から仮想画像を取得する構成も可能である。
図4を参照してサーバとクライアント間の基本的な通信シーケンスについて説明する。
まず、ステップS11において、画像撮影を実行しているクライアント100が、サーバに対して撮影情報を送信する。
撮影情報とは、例えば図1に示すポスター10を撮影していることが確認可能な情報であればよく、ポスターの画像、あるいはポスター10に設定されたサイバーコード(Cyber−Code)などの二次元バーコード等の識別情報でもよい。
サーバ200は、クライアントからの撮影情報を受信すると、撮影情報に基づいてクライアントに提供する動画像コンテンツをデータベースから取得し、取得した動画像コンテンツを送信する。
ただし、この動画像送信において、サーバは、クライアント100の動きに応じて決定する視点画像、すなわち、所定時間後にクライアントが撮影していると推定される方向から観察した仮想画像を選択して送信する。この動画像コンテンツ送信の詳細については後述する。
次に、ステップS13において、クライアント100は、サーバ200から受信した動画像コンテンツを撮影画像に重畳して表示する。
サーバクライアントの基本的な処理の流れは以上の通りである。
さらに、詳細な処理シーケンスについて、図5に示すフローチャートを参照して説明する。
図5に示すフローは、撮影画像に仮想画像を重ねたAR画像の表示処理を実行するクライアントの処理と、仮想画像を提供するサーバの処理を含むフローである。
ステップS101〜S105の処理はクライアントの実行する処理、
ステップS106〜S107の処理は、サーバまたはクライアントのいずれかで実行する処理、
ステップS108の処理はサーバの実行する処理、
ステップS109〜S114の処理は、クライアントの実行する処理、
である。
なお、フローに示す処理は、例えばサーバまたはクライアントの記憶部に格納されたプログラムに従って、サーバまたはクライアントのデータ処理部、すなわちプログラム実行機能を有するCPU等を有するデータ処理部の制御の下に実行される。
以下、各ステップの処理の詳細について、順次、説明する。
(ステップS101)
まず、クライアントは、ステップS101において画像を撮影する。例えば図1に示すようなポスターを撮影する。
(ステップS102)
次に、クライアントはステップS102において、後段で必要となるカメラの位置・角度情報を算出するための情報取得に成功したか否かを判定する。
カメラの位置・角度情報を算出するための情報とは、例えば、撮影画像に含まれるマーカである。マーカとは、例えば図1に示すポスター10に予め印刷されたサイバーコード(Cyber−Code)などの二次元バーコード等である。このようなマーカを認識すれば、カメラ画像に映るマーカの角度から、カメラの位置や角度を算出することができる。
なお、カメラの位置・角度情報を算出するための情報としては、サイパーコード等のマーカに限らず、ポスターやCDのジャケットなどの物体自身であってもよい。
クライアントの実行するカメラの位置・角度算出処理アルゴリズムに応じて、何をカメラの位置・角度情報を算出するための情報として利用するかは異なり、適用情報は様々な設定が可能である。
例えば、クライアントのカメラによって撮影された画像から特徴点を抽出しトラッキングすることでカメラの三次元的位置を認識するようなSLAM(Simultaneous Localization And Mapping)の技術を適用した位置同定処理を行なう構成としてもよい。なお、SLAMを適用した処理については、例えば本出願人と同一出願人の特開2011−43419号公報等に記載されている。
また、その他、カメラの位置・角度情報を算出するための情報として、クライアント装置に付属するセンサの情報を適用してもよい。
このように、ステップS102では、クライアントの実行するカメラの位置・角度情報の取得に成功したか否かを判定する。
情報が得られない場合は、その後のAR画像生成処理は不可能と判断し、処理を終了する。
情報が得られた場合は、ステップS103に進む。
(ステップS103)
次に、クライアントはステップS103において、ステップS102で得られた情報を適用してクライアント(カメラ)の現在の位置および姿勢を算出する。
(ステップS104)
次に、クライアントはステップS104において、クライアントに備えられた加速度センサ、ジャイロセンサの出力値を取得する。
(ステップS105)
次に、クライアントはステップS105において、クライアント(カメラ)の移動速度と移動方向を算出する。
この処理は、例えばステップS103で算出したクライアント(カメラ)の現在の位置および姿勢と、ステップS104で取得したセンサ情報を適用して実行する。
このステップS105の具体的処理例について、図6を参照して説明する。
図6には、画像撮影とAR画像表示を実行するクライアント100と、仮想画像被写体想定位置32を示している。クライアント100は、ユーザが自由に移動可能である。
ステップS103において、クライアントの現在位置:C=(Cx,Cy,Cz)が算出されている。
ステップS104において、クライアントの速度ベクトルV1が算出されている。
また、仮想画像被写体想定位置:T=(tx,ty,tz)とする。
仮想画像被写体想定位置:T=(tx,ty,tz)を始点とし、クライアントの現在位置:C=(Cx,Cy,Cz)を終点とするベクトル(C−T)を半径ベクトルrとする。
ステップS105での処理の目的は、図6に示す角速度ω、すなわち、仮想画像被写体に対する視点切り替え方向の角速度ωを算出することである。
図6に示す角速度ωは、クライアント100の現在時刻の動きに応じた角速度である。
まず、クライアント100の速度ベクトルv1に基づいて、半径ベクトルrに垂直な方向のクライアントの速度ベクトルv2を算出する。
速度ベクトルv2は、仮想画像被写体に対応する視点切り替え方向の速度ベクトルである。
仮想画像被写体に対する視点切り替え方向の角速度ωは、
半径ベクトルrと、
半径ベクトルrに垂直な方向のクライアントの速度ベクトルv2、
これらに基づいて、以下の式で算出できる。
ω=|r×v2|/r
上記式に従って、仮想画像被写体に対する視点切り替え方向の角速度ωを算出する。
(ステップS106)
ステップS106〜S107の処理は、クライアントまたはサーバのいずれかにおいて実行する処理である。
ステップS106では、例えば、クライアントとサーバ間において、pingコマンドを送受信し、往復遅延時間(RTT:round trip time)を計測する。
(ステップS107)
次に、ステップS105で求めたクライアント(カメラ)の移動方向・速度と、ステップS106で求めたネットワーク遅延時間に基づいて、所定時間後のクライアント(カメラ)の撮影角度を推定し、クライアントに送信すべき仮想画像コンテンツの角度範囲を設定して、送信画像を決定する。
このステップS107の処理の詳細について、図7以下を参照して説明する。
ステップS107の処理は、図7に示すフローのステップS201〜S203の処理によって実行される。
(ステップS201)
まず、ネットワーク遅延時間Δt後のクライアント(カメラ)の中心視点を算出する。
現在時刻をT、
ネットワーク遅延時間をΔt、
現在時刻Tのクライアントのカメラ視点をθ
現在時刻Tのクライアントの視点切り替え方向の角速度をω
とする。
なお、ネットワーク遅延時間Δtは、クライアントからサーバまでの往復の遅延時間(レイテンシ)である。
なお、ユーザによるクライアントの操作としては、カメラの移動の他、ズームイン/ズームアウトなどの操作もあるが、これらは、被写体のサイズを変更する処理によって対応可能である。ここでは、仮想画像対応の各視点からの動画像コンテンツからクライアント視点に対応する動画像を選択するための情報を得るため、視点切り替え方向の角速度ωを用いた処理を行なう。
現在時刻Tにおいて、サーバがクライアントに送信すべきデータは、現在時刻Tから、ネットワーク遅延時間Δt後、すなわち時刻T+Δtのクライアントの推定位置から観察した仮想画像である。
すなわち、サーバは、時刻T+Δtにおけるクライアント視点θT+Δtを中心とした所定範囲の角度ないにある視点から撮影された複数の仮想画像コンテンツを送信する。クライアントは、これらの複数画像から実際のクライアントの位置に応じた画像を選択して表示する。
このように、本開示の処理では、クライアントの動きを予測し、予測したクライアントの位置に対応する視点画像を選択してサーバからクライアントに提供する。
この処理により、通信データ量が削減され、また、クライアント側での処理負荷も軽減され、効率的で精度の高いAR画像表示が実現される。
時刻T+Δtにおけるクライアント視点θT+Δtは、単純に計算すれば、以下の式に従って算出可能である。
θT+Δt=θ+ωΔt
ステップS201では、上記式に従って、時刻T+Δtにおけるクライアント視点θT+Δtを算出する。すなわち、ネットワーク遅延時間Δt後のクライアント(カメラ)の中心視点を算出する。
なお、さらにクライアントの角加速度等も考慮し、時刻T+Δtにおける角速度を推考慮して時刻T+Δtにおけるクライアント視点θT+Δtを算出する構成としてもよい。
(ステップS202)
次に、サーバからクライアントに対して送信する画像の視点範囲を決定する。
上記のステップS201において求めたクライアント視点θT+Δtは、時刻Tにおいて得られたデータに従った仮定の下に推定された現在時刻TからΔt後のクライアントの位置に対応する1つの視点である。
しかし、実際は、ユーザは時刻Tにおいて得られたデータに従った仮定に従ってクライアントを移動させるとは限らない、クライアント(カメラ)の移動速度や方向は、逐次、変化する可能性がある。また、ネットワーク遅延時間も一定ではなく、ネットワークの通信状態によって変化する。
従って、ステップS201において求めたクライアント視点θT+Δtは、時刻T+Δtにおける実際のクライアント視点に一致するとは限らず、高確率で発生すると予測される1つの視点位置に過ぎない。
サーバが、クライアント視点θT+Δtに対応する1つの仮想画像コンテンツのみをクライアントに送信した場合、実際のクライアント視点が、視点θT+Δtと一致していれば、その送信画像を表示すればよいが、実際のクライアント視点がずれていると、誤った画像が表示されてしまう。
このような誤った画像の表示を防止するため、サーバは、ステップS201で推定したクライアント視点θT+Δtに対応する仮想画像に加え、その視点の周囲の視点画像も併せてクライアントに送信する。
ステップS202では、クライアントに送信する複数の異なる視点画像コンテンツに対応する視点範囲を決定する。
この視点範囲の決定態様としては様々な態様が可能である。
例えば、現在時刻Tの時点で、時刻T+Δtのクライアントの角速度ωT+Δtを予測し、この予測各速度と、実際のクライアントの時刻T+Δtの角速度ωT+Δtの差分割合のログを収集し、この誤差割合の標準偏差の±2σを送信する角度範囲に設定するといった処理が可能である。
また、このようなログを用いず、予め角度範囲±n度を設定し、ステップS201で推定したクライアント視点θT+Δt±n度の範囲の画像を送信画像として設定する処理を行なってもよい。
さらに、クライアント視点θT+Δt±n度の範囲の画像を送信画像として設定するとともに、
時刻Tのクライアント角速度ωと、
ネットワーク遅延時間Δt、
これらの各値をパラメータにした関数f(ω,Δt)を設定し、関数数f(ω,Δt)が、予め設定した閾値を超えると段階的に角度範囲を増やすといった設定で、送信画像の角度範囲を決定するといった構成としてもよい。
このように、ステップS202では、たとえば、以下のような複数視点の動画像コンテンツをクライアントに送信するコンテンツとして決定する。
(1)ステップS201で算出したクライアント視点θT+Δtから仮想画像対応の被写体(例えば人物)を撮影した動画像コンテンツ1、
(2)上記クライアント視点θT+Δtから+k度の視点から仮想画像対応の被写体(例えば人物)を撮影した動画像コンテンツ2、
(3)上記クライアント視点θT+Δtから−k度の視点から仮想画像対応の被写体(例えば人物)を撮影した動画像コンテンツ3、
(4)上記クライアント視点θT+Δtから+2k度の視点から仮想画像対応の被写体(例えば人物)を撮影した動画像コンテンツ4、
(5)上記クライアント視点θT+Δtから−2k度の視点から仮想画像対応の被写体(例えば人物)を撮影した動画像コンテンツ5、
例えば、これらの5つの動画像コンテンツをクライアントに送信するコンテンツとして決定する。
(ステップS203)
ステップS202では、ステップS201で推定したクライアント視点θT+Δtを含む所定範囲の角度内の複数視点からの動画像をクライアントに送信する画像として決定した。
例えば上記の(1)〜(5)の動画コンテンツである。
しかし、これらの複数の動画コンテンツの視点位置は、クライアント(カメラ)の動き予測に基づいて決定した視点位置であり、クライアント(カメラ)が、上記の(1)〜(5)の画像に対応する視点位置に設定される確率は異なると推定される。
すなわち、ステップS201で推定したクライアント視点θT+Δtは、時刻T+Δtにおけるクライアントの視点として最も高確率で発生すると推定される視点であり、その視点から離れるに従って発生確率は低減すると推定される。
ステップS202において設定した視点範囲に含まれる複数の視点画像コンテンツのすべてを高解像度画像として送信するとデータ量が大きくなり、通信時間の遅延や処理効率が低下する可能性が高くなる。
このような問題の発生を防止するため、ステップS202において設定した視点範囲に含まれる複数の視点画像コンテンツについて、以下のような設定として送信する。
すなわち、時刻T+Δtにおけるクライアントの視点として高確率であると推定される視点の画像は、高解像度画像として送信し、低確率であると推定される範囲の画像は低解像度の画像として送信する。
このような設定での画像送信を実行することで、送信データ量が削減される。
ステップS203では、このような設定の画像送信を可能とするため、ステップS202において設定した視点範囲に含まれる各視点位置にクライアント(カメラ)が設定される確率を推定する。
具体的には、例えば、ステップS201で算出した時刻T+Δtにおけるクライアント視点θT+Δtを最大確率とした正規分布を設定し、正規分布に従った確率密度関数を適用して、各視点位置にクライアント(カメラ)が設定される確率を推定する。
具体的な、各視点角度対応の確率演算アルゴリズムについて、図8以下を参照して説明する。
図8は、ステップS201で算出した時刻T+Δtにおけるクライアント視点θT+Δtを最大確率とした正規分布を示している。
横軸が視点、縦軸が発生確率を示す。
視点軸の中心(0)は、ステップS201で算出した時刻T+Δtにおけるクライアント視点θT+Δtに相当する。
図8に示す正規分布データは、以下のパラメータに基づいて、ステップS201で算出した時刻T+Δtにおけるクライアント視点θT+Δtにを基準として平均=0、標準偏差σとした正規分布データからなる視点確率密度関数である。
時刻Tのクライアント角速度をω
ネットワーク遅延時間をΔt、
標準偏差をσ=α|ω|+Δt
ただし、α予め設定した係数、βは予め設定した正の定数である。
図8には、例として、
ネットワーク遅延時間:Δt=100ms、
クライアント(カメラ)の角速度ωが、以下の3つの場合の例を示している。
ω=0deg/s、
ω=2deg/s、
ω=10deg/s、
クライアント(カメラ)の角速度ωが低速であるほど、ステップS201で算出した時刻T+Δtにおけるクライアント視点θT+Δtの発生確率が周囲の視点の発生確率に比較して、より高くなる。
一方、クライアント(カメラ)の角速度ωが高速であるほど、ステップS201で算出した時刻T+Δtにおけるクライアント視点θT+Δtの発生確率と周囲の視点の発生確率との差が小さくなる。
この図8に示す正規分布データ、すなわち、ステップS201で算出した時刻T+Δtにおけるクライアント視点θT+Δtを最大確率とした正規分布データを用いて、ステップS202において設定した視点範囲に含まれる各視点位置にクライアント(カメラ)が設定される確率を推定する。
なお、図8に示す正規分布データは、視点軸の中心(0)を、ステップS201で算出した時刻T+Δtにおけるクライアント視点θT+Δtに設定している。
この視点軸の中心(0)を、時刻Tにおける実際のクライアント視点θに設定した場合の各角度対応の発生確率を示す確率密度関数は、図9に示す設定となる。
図9には、例として、
ネットワーク遅延時間:Δt=100ms、
クライアント(カメラ)の角速度ωが、以下の5つの場合の例を示している。
ω=0deg/s、
ω=−2deg/s、
ω=+2deg/s、
ω=−10deg/s、
ω=+10deg/s、
この図9に示す確率密度関数は、視点軸の中心(0)を、時刻Tにおける実際のクライアント視点θに設定し、クライアント(カメラ)の角速度ωに応じて、時間Δt後に位置すると推定されるクライアントの位置の確率を示している。
角速度ωが(−)の場合は、左方向(−方向)、角速度ωが(+)の場合は、右方向(+方向)に偏って確率が高くなる設定となる。
また、図8に示す確率密度関数は、
ネットワーク遅延時間:Δt=100ms、
とした例であるが、ネットワーク遅延時間Δtの値に応じて、確率密度関数は変化する。
図10は、
クライアント(カメラ)の角速度ω−3deg/s、
ネットワーク遅延時間:Δtを以下の3つの場合の確率密度関数を示している。
Δt=10ms、
Δt=100ms、
Δt=1000ms、
ネットワーク遅延時間Δtが小さいほど、ステップS201で算出した時刻T+Δtにおけるクライアント視点θT+Δtの発生確率が周囲の視点の発生確率に比較して、より高くなる。
一方、ネットワーク遅延時間Δtが大きいほど、ステップS201で算出した時刻T+Δtにおけるクライアント視点θT+Δtの発生確率と周囲の視点の発生確率との差が小さくなる。
なお、ネットワーク遅延時間Δtは、時刻Tにおいて得られた値を適用して、図8に示す正規分布データを生成すればよい。
なお、ネットワーク遅延時間Δtは、1回のpingデータの送受信によって計測しているため、必ずしも正確な遅延時間が計測されるとは限らない。これを考慮し、遅延時間の揺らぎ補償を実行する構成としてもよい。
図11に、遅延時間の揺らぎ補償グラフを示す。
横軸は、ステップS201で算出した時刻T+Δtにおけるクライアント視点θT+Δtを中心(0)とした視点軸、
縦軸が、発生確率を示している。
なお、前提として、時刻Tにおけるクライアント(カメラ)の角速度ωが変化なく継続すると仮定している。
遅延時間標準偏差をσ
として、揺らぎ補償角度範囲をαωσとする。
ただし、αは、予め設定した係数である。
この前提で、
角度範囲0〜αωσ(またはαωσtn〜0)の区間で一定値最大をとる変則的正規分布関数を確率密度関数と定義する。
すなわち、
αωσ>0のとき、
θ>αωσ
−p=NORMDIST(θ,αωσ,σ)
0=<θ=<αωσ
−p=NORMDIST(0,0,σ)
θ<0
−p=NORMDIST(θ,0,σ)
なお、NORMDIST(x,u,σ)は、平均u、標準偏差σにおける世紀分布でのxの確率密度関数後である。
この確率密度関数を示したのが、図11に示すグラフである。
図11には、
遅延時間標準偏差σ=1ms,10ms,100msの3つの場合の例を示している。
例えば、時間Tにおいてpingコマンドの送受信に基づいて得られたネットワーク遅延時間Δtに対して、この図11に示す遅延時間の揺らぎ補償グラフを適用して、揺らぎ補償を行い、その結果を反映して、図8に示す正規分布データを生成する構成としてもよい。
図7に示すフローのステップS203では、上記の処理により、時間Tにおいて計測した各データ、あるいはその補正データを適用して例えば図8に示す正規分布データからなる確率密度関数を設定し、この確率密度関数に従って、ステップS202において設定した視点範囲に含まれる各視点位置にクライアント(カメラ)が設定される確率を推定する。
このように、図5に示すフローのステップS107では、図7に示すフローに従って、カメラ角度の推定に基づく送信画像の選択処理を実行し、さらに各選択画像の各視点にクライアントが設定される確率を算出する。
具体的には、例えば、図12に示すように送信画像データを決定し、決定した各送信画像の確率、すなわち、クライアントがその視点画像の位置に設定されると推定される確率を算出する。
図12に示すデータは、ステップS107において設定されるデータの一例である。
ステップS107では、例えば図12に示すように、以下のデータ(1)〜(5)を送信画像として決定し、各画像の確率を算出する。
(1)動画コンテンツ1(View1)
ステップS201で算出したクライアント視点θT+Δtから仮想画像対応の被写体(例えば人物)を撮影した動画像コンテンツ1、
クライアントがこの動画コンテンツ1の画像視点に対応する位置に設定される確率=0.40。
(2)動画コンテンツ2(View2)
クライアント視点θT+Δt+kから仮想画像対応の被写体(例えば人物)を撮影した動画像コンテンツ2、
クライアントがこの動画コンテンツ2の画像視点に対応する位置に設定される確率=0.20。
(3)動画コンテンツ3(View3)
クライアント視点θT+Δt−kから仮想画像対応の被写体(例えば人物)を撮影した動画像コンテンツ3、
クライアントがこの動画コンテンツ3の画像視点に対応する位置に設定される確率=0.20。
(4)動画コンテンツ4(View4)
クライアント視点θT+Δt+2kから仮想画像対応の被写体(例えば人物)を撮影した動画像コンテンツ4、
クライアントがこの動画コンテンツ4の画像視点に対応する位置に設定される確率=0.05。
(5)動画コンテンツ5(View5)
クライアント視点θT+Δt−2kから仮想画像対応の被写体(例えば人物)を撮影した動画像コンテンツ5、
クライアントがこの動画コンテンツ5の画像視点に対応する位置に設定される確率=0.05。
ステップS107では、例えば、このような送信画像の決定と発生確率を決定する。
(ステップS108)
次に、図5に示すフローチャートのステップS108の処理について説明する。
ステップS108の処理は、サーバにおいて実行する。
サーバは、ステップS107の処理において決定したデータ、すなわち、例えば、図12に示すクライアントに送信すべき信画像と確率データを用いてクライアントに送信するストリームを生成する。
ストリーム生成例を図13に示す。
サーバは、例えば、図13(A)に示す複数の動画像コンテンツを含むストリームを生成してクライアントに送信する。
図13(B)は、先に図8を参照して説明した確率密度関数のグラフであり、クライアント(カメラ)の時刻T+Δtにおける推定角度を横軸の中心(0)として、各角度に設定されるクライアント(カメラ)の確率を示している。
この確率は、図12に示すデータにおける確率に対応する。
サーバは、確率の高い順から、画像1(View1)、画像2(View2)、画像3(View3)、・・・画像7(View7)として、図13(A)に示すように、高確率の視点画像を高解像度画像(高ビットレート画像)とし、低確率の視点画像を低解像度画像(低ビットレート画像)として構成した複数画像のストリームデータを生成してクライアントに送信する。
図13(A)に示す例は、図13(B)に示す確率分布が得られた場合の送信画像ストリームの設定例である。
これに対して、例えば図14(B)に示すように、確率分布がなだらかな場合には、異なる視点画像を全て同様の解像度のデータとした図14(A)に示すような画像ストリームデータを生成して送信してもよい。
なお、各視点画像は、各々個別のストリームとして送信してもよいが、1つのストリームに複数視点の複数画像をパックして送信する設定としてもよい。
また、サーバの負荷を抑えるために、各視点の画像ストリームはリアルタイムエンコードをするのではなく、解像度・ビットレートごとに事前に生成しておきデータベースに格納しておく構成とするのが好ましい。
なお、サーバからクライアントに送信する画像データは、例えばMPEGなどの所定の符号化アルゴリズムによって符号化されたデータであり、クライアント側でデコード処理を実行する必要がある。クライアントでは、異なる視点画像ストリームに表示を切り替える際に、異なる動画像ストリームを選択して新たにデコードを開始しなければならず、このストリーム切り替え時の遅延によりスムーズな画像切り替えができなくなる恐れがある。
このデコード処理の遅延を最小化するために、クライアントに提供する画像ストリームを、
(a)全フレームがキーフレームである動画シーケンスと、
(b)通常の動画シーケンス、
これらの2種類の画像ストリームとして設定してもよい。
全フレームがキーフレームである動画シーケンスとは、例えば、各画像フレームを単独でデコードできる画像フレームによって構成される符号化データである。通常の動画シーケンスとは、例えば前後の画像フレームを参照したデコードが必要となる符号化データである。
クライアントは、、ストリーム切り替え時にまず「全フレームがキーフレームである動画シーケンス」から1フレーム目を読み込み、高速でデコード処理を行ない表示部に表示し、2フレーム目以降を「通常の動画シーケンス」から読み込みデコードして表示を継続するといった処理が可能となり、表示切り替え時の遅延を低減することが可能となる。
また、クライアント側でのコンテンツデコードの負荷を削減するために、最大の確率の画像を配信するストリームを固定ストリームとして設定し、
固定した同一ストリームを用いて、クライアントの動きに応じて変更した異なる視点のコンテンツを配信する部分的リアルタイムエンコードを実行する構成としてもよい。
このように、確率の高い視点画像を、より高いビットレート、解像度データとして送信することで、クライアントでは、高確率に高画質な画像を表示することができる。また、確率の低い視点の画像も送信しているので、クライアントの急峻な動きがあったとしても、対応視点画像が表示できないといった事態が発生する可能性も低減することが可能となる。
(ステップS109)
図5のフローに戻り、実施例1の処理シーケンスの説明を続ける。
ステップS108においてサーバにおいて画像送信が実行されると、次に、クライアントは、ステップS109において、仮想画像の画像ストリームを受信する。
例えば図13(A)や図14(A)を参照して説明した複数視点画像の動画像データからなるストリームである。
(ステップS110)
次に、クライアントは、ストリームを受信した時点の、カメラの位置・角度を算出し、クライアントの表示部に表示する仮想画像を選択し、さらに選択した仮想画像の重畳位置を決定する。このカメラの位置・角度を算出処理は、先に説明したステップS102〜S103の処理と同様の処理であり、この算出結果を適用して仮想画像の選択処理と重畳位置を決定する。
(ステップS111)
次に、クライアントは、ステップS111において、表示する画像として選択した仮想画像ストリームのデコード処理を実行する。
(ステップS112)
次に、クライアントは、ステップS112において、デコードしたコンテンツを、クライアントの表示部に表示中のカメラ撮影画像に重畳する。
(ステップS113)
次に、クライアントはステップS113において、クライアントの表示部(ディスプレイ)に最終結果としての撮影画像に仮想画像を重畳したAR画像を出力する。
(ステップS114)
ステップS114において、予め設定した終了条件、例えば画像撮影処理の終了、あるいはアプリケーションの終了などの終了条件が発生したか否かを判定し、終了条件が発生した場合は無処理を終了する。終了条件が発生しない場合は、ステップS101に戻り、同様の処理を繰り返す。
このようにして、サーバから送信された仮想画像がクライアントの表示部に表示中の撮影画像に重畳され表示されることになる。
なお、図5に示すフローチャートにおいて、ステップS105〜S107の処理のを省略し、ステップS103のカメラ位置、姿勢情報の取得、ステップS104のカメラの移動方向、速度の算出後、これらの取得情報、すなわちカメラの位置、姿勢、または動き等の空間位置情報に基づいて、表示部に表示するための仮想画像を生成または選択して表示部に出力する構成としてもよい。
図15に、本実施例1を実行するサーバ200とクライアント100の構成例を示す。
クライアント100の通信部108と、サーバ200の通信部207間でデータ送受信を行う。
なお、図15において、クライアント100の構成中に示すネットワーク遅延推定部106と、角度範囲推定部107は、クライアント100ではなくサーバ200の構成要素として設定してもよい。
図15に示すクライアント100、およびサーバ200は、先に説明した図5に示すフローに従った処理を実行する。
図15に示す各構成の実行する処理について、図5のフローの各ステップの処理と対応付けて説明する。
クライアント100の撮像部(カメラ)101は、図5に示すフローのステップS101のカメラ画像取得処理を実行する。
画像認識部102が、図5のフローのステップS102のカメラ位置・姿勢算出情報の取得処理を実行する。具体的には、例えば図1に示すポスターなどの被写体に設定されたマーカの認識処理を実行する。
クライアント(カメラ)位置・姿勢算出部103は、図5のフローのステップS103のカメラ位置・姿勢算出処理を実行する。
センサ(加速度メジャイメセンサ等)104は、図5のフローのステップS104のセンサ情報取得処理を実行する。
クライアント移動速度方向算出部105は、図5のフローのステップS105のクライアント(カメラ)移動速度方向算出処理を実行する。
ネットワーク遅延推定部106は、図5のフローのステップS106のネットワーク遅延推定処理を実行する。
角度範囲推定部107は、図5のフローのステップS107の処理、すなわち、クライアント(カメラ)の位置推定に基づく送信画像の決定処理と確率推定等の処理を実行する。
なお、これらのネットワーク遅延推定部106、角度範囲推定部107は、サーバ200側に設定してサーバ200の処理として実行してもよい。
角度範囲推定部107は、クライアント(カメラ)の位置推定に基づく送信画像を決定し、各送信画像に対応する確率、すなわち各画像に対応する視点位置にクライアントが設定される確率を算出する。具体的には、例えば先に図12を参照して説明したデータを生成する。
このデータは、通信部を介してサーバ200の送信画像データ生成部206に入力される。
サーバ200は、予めクライアントに提供する複数視点の画像コンテンツ(動画ストリーム)を生成し、各視点対応コンテンツ205として保持している。
サーバは、事前処理として以下の処理を実行して、各視点対応コンテンツ205を生成する。
すなわち、奥行き情報(デプスマップ)生成部202において、コンテンツデータベース201に格納されたコンテンツ、すなわち離散的な複数視点からの画像コンテンツを取得し、この画像に対応する奥行き情報(デプスマップ)203を生成する。
さらに、中間視点画像生成部204において、コンテンツデータベース201に格納されたコンテンツと、奥行き情報(デプスマップ)203を適用して、コンテンツデータベース201に格納されたコンテンツに含まれない中間視点からの画像コンテンツを生成する。
サーバ200は、コンテンツデータベース201に格納されたコンテンツと、コンテンツデータベース201に格納されたコンテンツに含まれない中間視点からの画像コンテンツを含む、例えば、ある被写体に対する360度の各視点画像を各視点対応コンテンツ205として予め生成する。
サーバ200の送信画像データ生成部206は、各視点対応コンテンツ205からクライアントに送信する画像コンテンツに基づく送信ストリームを生成する処理を行なう。すなわち、図5に示すフローのステップS108の処理を実行する。
サーバは、例えば、図12に示すクライアントに送信すべき信画像と確率データを用いてクライアントに送信するストリームを生成する。
具体的には、例えば、図13(A)、図14(A)に示すような複数視点の画像コンテンツの組み合わせデータである。
送信画像データ生成部206の生成した送信データは通信部207を介してクライアント100の通信部108に送信される。
クライアント100の通信部108は、図5のフローのステップS109の仮想画像ストリームの受信処理を実行する。
クライアント100のコンテンツ選択&重畳位置算出部109は、図5のフローのステップS110の処理、すなわち、仮想画像の選択と、重畳位置の決定処理を実行する。すなわち、ストリームを受信した時点の、カメラの位置・角度を算出し、クライアントの表示部に表示する仮想画像を選択し、さらに選択した仮想画像の重畳位置を決定する。
デコード部110は、図5のフローのステップS111の処理、すなわち、選択した仮想画像ストリームのデコード処理を実行する。
表示制御部111は、図5のフローのステップS112、S113の処理、すなわち、デコードしたコンテンツを、クライアント100の表示部112に表示中のカメラ撮影画像に重畳したAR画像を出力する。
このようにして、サーバから送信された仮想画像がクライアントの表示部に表示中の撮影画像に重畳され表示されることになる。
なお、図15に示す構成は、サーバ、クライアントの主要構成を示す図であり、サーバ、およびクライアントは、図に示す構成の他、例えば、図6を参照して説明した処理を制御するCPU等を有する制御部や、制御部において実行するプログラムを格納した記憶部などを有する。
[3.本開示の第2実施例について]
次に、本開示の第2実施例について説明する。
第2実施例は、サーバから離散的な複数視点のコンテンツと、コンテンツ対応の奥行き情報(デプスマップ)をクライアントに送信し、クライアント側でクライアントに表示する任意視点の画像を生成する実施例である。
すなわち、サーバは、クライアントに表示予定の仮想画像を生成するための仮想画像生成用画像とデプスマップをクライアントに送信する。
上述した第1実施例の処理と、第2実施例の際について、図16、図17を参照して説明する。
第1実施例においては、ある角度範囲の視点からの動画像コンテンツ、例えば図16に示す動画1〜動画nまでのn個の動画コンテンツをクライアントに送信し、クライアント側では、これらのn個のコンテンツから、クライアントの角度等に適合したコンテンツを選択して表示する処理を行なっていた。
以下に説明する第2実施例では、図17に示すように、ある角度範囲の視点からの動画像コンテンツのうち、離散的な数視点の画像、例えば図17に示すように3視点のみの動画像をクライアントに送信する。さらに、これらの3つの送信動画像に対応する奥行き情報(デプスマップ)を併せてクライアントに送信する。
クライアントは、これら離散的な視点からの画像とデプスマップを適用して、例えば動画1と動画2の間の視点からの中間視点画像を生成してクライアントに表示する画像を生成して表示する。
この第2実施例の構成では、サーバからクライアントに送信する画像データのデータ量を削減することが可能となるという利点がある。
この第2実施例の処理シーケンスについて、図18に示すフローチャートを参照して説明する。
図18に示すフローは先に第1実施例の処理シーケンスとして説明した図5のフローと共通の処理が含まれる。
実施例1と同様の処理は、ステップS101〜S106の処理、ステップS109の処理、ステップS112〜S114の処理である。
図18のフローに示す、
ステップS107b
ステップS108b、
ステップS110b、
ステップS111b、
これらの処理が実施例1とは異なる処理となる。
以下、実施例1と共通の処理については簡略化して説明し、異なる部分について重点的に説明する。
なお、実施例1と同様、図18に示すフローは、撮影画像に仮想画像を重ねたAR画像の表示処理を実行するクライアントの処理と、仮想画像を提供するサーバの処理を含むフローである。
ステップS101〜S105の処理はクライアントの実行する処理、
ステップS106〜S107の処理は、サーバまたはクライアントのいずれかで実行する処理、
ステップS108の処理はサーバの実行する処理、
ステップS109〜S114の処理は、クライアントの実行する処理、
である。
なお、フローに示す処理は、例えばサーバまたはクライアントの記憶部に格納されたプログラムに従って、サーバまたはクライアントのデータ処理部、すなわちプログラム実行機能を有するCPU等を有するデータ処理部の制御の下に実行される。
以下、各ステップの処理の詳細について、順次、説明する。
(ステップS101)
まず、クライアントは、ステップS101において画像を撮影する。例えば図1に示すようなポスターを撮影する。
(ステップS102)
次に、クライアントはステップS102において、後段で必要となるカメラの位置・角度情報を算出するための情報取得に成功したか否かを判定する。
カメラの位置・角度情報を算出するための情報とは、例えば、撮影画像に含まれるマーカである。マーカとは、例えば図1に示すポスター10に予め印刷されたサイバーコード(Cyber−Code)などの二次元バーコード等である。
(ステップS103)
次に、クライアントはステップS103において、ステップS102で得られた情報を適用してクライアント(カメラ)の現在の位置および姿勢を算出する。
(ステップS104)
次に、クライアントはステップS104において、クライアントに備えられた加速度センサ、ジャイロセンサの出力値を取得する。
(ステップS105)
次に、クライアントはステップS105において、クライアント(カメラ)の移動速度と移動方向を算出する。
この処理は、例えばステップS103で算出したクライアント(カメラ)の現在の位置および姿勢と、ステップS104で取得したセンサ情報を適用して実行する。
このステップS105の具体的処理例については、先に図6を参照して説明した通りである
(ステップS106)
ステップS106〜S107bの処理は、クライアントまたはサーバのいずれかにおいて実行する処理である。
ステップS106では、例えば、クライアントとサーバ間において、pingコマンドを送受信し、往復遅延時間(RTT:round trip time)を計測する。
(ステップS107b)
次に、ステップS105で求めたクライアント(カメラ)の移動方向・速度と、ステップS106で求めたネットワーク遅延時間に基づいて、所定時間後のクライアント(カメラ)の撮影角度を推定し、クライアントに送信すべき仮想画像コンテンツの角度範囲を設定して、送信画像を決定する。
このステップS107bの処理は、まず、先に説明した実施例1と同様、図7に示すフローのステップS201〜S203の処理を実行する。
この結果として、例えば、図12に示す送信すべき角度範囲の視点画像とその確率、すなわち、クライアントがその視点画像の位置に設定されると推定される確率を算出する。
本実施例では、さらに、これらの画像のすべてではなく、離散的な視点の画像のみをクライアントに送信する画像として設定する。
具体的には、例えば、図17を参照して説明したような算出した視点角度範囲の両端の画像と、図7のステップS201で推定したクライアント位置、すなわち時刻T+Δtにおけるクライアント(カメラ)の視点に最も近い視点画像の組み合わせを送信画像として選択する。
(ステップS108b)
サーバは、ステップS107bの処理において決定した送信画像データとデプスマップを併せた画像データストリームを生成する。
図19以下を参照してストリーム生成例について説明する。
図19(A)は、図7に示すフローに従って算出された視点対応の確率分布データである。
このデータを利用してクライアントに送信する離散的な視点画像を選択してクライアントに送信する。
図19(B)が送信画像データの例である。
時刻T+Δtにおける視点画像である(View1)と、所定角度離れた位置の視点画像(View2)、(View3)については高解像度画像として送信する。
さらに、時刻T+Δtにおける視点画像である(View1)から離れた視点の角度対応の画像(View4)〜(View7)については低解像度画像として送信する。
なお、各画像には各画像対応の奥行き情報(デプスマップ)を併せてクライアントに送信する。
クライアントが、(View1)と(View2)の間の中間視点画像を表示画像として選択した場合は、クライアント側で(View1)と(View2)の画像と、各画像のデプスマップを利用して中間視点画像を生成して表示する。
その他の各画像の中間視点画像が必要な場合も同様の処理を行なう。
図20に示す例は、さらに、送信画像を削減した処理例である。
図20(A)は、図19(A)と同様、図7に示すフローに従って算出された視点対応の確率分布データである。
このデータを利用してクライアントに送信する離散的な視点画像を選択してクライアントに送信する。
図20(B)が送信画像データの例である。
図20に示す例では、時刻T+Δtにおける視点画像である(View1)と、所定角度離れた位置の視点画像(View2)、(View3)については高解像度画像として送信する。
さらに、時刻T+Δtにおける視点画像である(View1)から離れた視点の角度対応の画像(View4)〜(View7)中、両端の(View6)と(View7)のみを低解像度画像として送信し、(View4),(View5)については送信しない。
クライアントが、(View2)と(View6)の間の中間視点画像を表示画像として選択した場合は、クライアント側で(View2)と(View6)の画像と、各画像のデプスマップを利用して中間視点画像を生成して表示する。
その他の各画像の中間視点画像が必要な場合も同様の処理を行なう。
さらに、確率分布が、例えば図21(A)に示すように、時刻T+Δtにおける視点画像である(View1)の位置の確率が極めて高く、周囲の離れた角度における確率が低い場合は、離れた角度の画像の送信を行わない設定としてもよい。
すなわち、図21(B)に示すように、時刻T+Δtにおける視点画像である(View1)と、所定角度離れた位置の視点画像(View2)、(View3)についてのみ高解像度画像として送信する。
図18のフローのステップS108bでは、このように様々な設定で、送信画像ストリームを生成してクライアントに送信する。
本実施例では、離散的な視点の画像を選択し、デプスマップとともにクライアントに送信し、クライアント側で必要に応じてチュウカンシテンガゾウヲ生成して表示する処理を行なうことになる。
(ステップS109)
図18のフローに戻り、実施例2の処理シーケンスの説明を続ける。
ステップS108bにおいてサーバにおいて画像送信が実行されると、次に、クライアントは、ステップS109において、仮想画像の画像ストリームを受信する。
例えば図19〜図21を参照して説明した複数視点画像の動画像データとデプスマップからなるストリームである。
(ステップS110b)
次に、クライアントは、ストリームを受信した時点の、カメラの位置・角度を算出し、クライアントの表示部に表示する仮想画像の視点位置を決定し、さらに決定した視点対応の仮想画像の重畳位置を決定する。このカメラの位置・角度を算出処理は、先に説明したステップS102〜S103の処理と同様の処理であり、この算出結果を適用して仮想画像の視点位置と重畳位置を決定する。
(ステップS111b)
次に、クライアントは、ステップS111bにおいて、決定した視点位置対応の画像生成に必要な画像ストリームのデコード処理を実行する。
例えば、図20(B)に示す画像を受信し、(View3)と(View7)の中間視点画像を表示画像として決定している場合は、(View3)と(View7)の画像をデコードし、これらの画像のデプスマップを適用して中間視点画像を生成する。
(ステップS112)
次に、クライアントは、ステップS112において、生成した画像コンテンツを、クライアントの表示部に表示中のカメラ撮影画像に重畳する。
(ステップS113)
次に、クライアントはステップS113において、クライアントの表示部(ディスプレイ)に最終結果としての撮影画像に仮想画像を重畳したAR画像を出力する。
(ステップS114)
ステップS114において、予め設定した終了条件、例えば画像撮影処理の終了、あるいはアプリケーションの終了などの終了条件が発生したか否かを判定し、終了条件が発生した場合は無処理を終了する。終了条件が発生しない場合は、ステップS101に戻り、同様の処理を繰り返す。
このようにして、サーバから送信された仮想画像がクライアントの表示部に表示中の撮影画像に重畳され表示されることになる。
図22に、本実施例2を実行するサーバ200とクライアント100の構成例を示す。
クライアント100の通信部108と、サーバ200の通信部207間でデータ送受信を行う。
なお、図22において、クライアント100の構成中に示すネットワーク遅延推定部106と、角度範囲推定部107は、クライアント100ではなくサーバ200の構成要素として設定してもよい。
図22に示すクライアント100、およびサーバ200は、先に説明した図19に示すフローに従った処理を実行する。
図22に示す各構成の実行する処理について、図19のフローの各ステップの処理と対応付けて説明する。
クライアント100の撮像部(カメラ)101は、図19に示すフローのステップS101のカメラ画像取得処理を実行する。
画像認識部102が、図19のフローのステップS102のカメラ位置・姿勢算出情報の取得処理を実行する。具体的には、例えば図1に示すポスターなどの被写体に設定されたマーカの認識処理を実行する。
クライアント(カメラ)位置・姿勢算出部103は、図19のフローのステップS103のカメラ位置・姿勢算出処理を実行する。
センサ(加速度メジャイメセンサ等)104は、図19のフローのステップS104のセンサ情報取得処理を実行する。
クライアント移動速度方向算出部105は、図19のフローのステップS105のクライアント(カメラ)移動速度方向算出処理を実行する。
ネットワーク遅延推定部106は、図19のフローのステップS106のネットワーク遅延推定処理を実行する。
角度範囲推定部107は、図19のフローのステップS107bの処理、すなわち、クライアント(カメラ)の位置推定に基づく送信画像の決定処理と確率推定等の処理を実行する。
なお、これらのネットワーク遅延推定部106、角度範囲推定部107は、サーバ200側に設定してサーバ200の処理として実行してもよい。
角度範囲推定部107は、クライアント(カメラ)の位置推定に基づく送信画像を決定し、各送信画像に対応する確率、すなわち各画像に対応する視点位置にクライアントが設定される確率を算出する。具体的には、例えば先に図12を参照して説明したデータを生成する。
このデータは、通信部を介してサーバ200の送信画像データ生成部206に入力される。
サーバ200は、予めクライアントに提供する離散的な複数の視点の画像コンテンツ(動画ストリーム)をコンテンツデータベース201に保持している。
サーバは、事前処理として奥行き情報(デプスマップ)生成部202において、コンテンツデータベース201に格納されたコンテンツ、すなわち離散的な複数視点からの画像コンテンツを取得し、この画像に対応する奥行き情報(デプスマップ)203を生成する。
サーバ200の送信画像データ生成部206は、各視点対応コンテンツ205からクライアントに送信する画像コンテンツに基づく送信ストリームを生成する処理を行なう。すなわち、図19に示すフローのステップS108bの処理を実行する。
サーバは、例えば、先に図19〜図21を参照して説明したように、離散的な複数視点の画像とデプスマップを併せたデータをクライアントに多提供するデータとして設定する。
送信画像データ生成部206の生成した送信データは通信部207を介してクライアント100の通信部108に送信される。
クライアント100の通信部108は、図19のフローのステップS109の仮想画像ストリームの受信処理を実行する。
クライアント100のコンテンツ選択&重畳位置算出部109は、図19のフローのステップS110bの処理、すなわち、表示すべき仮想画像の視点位置と、重畳位置の決定処理を実行する。すなわち、ストリームを受信した時点の、カメラの位置・角度を算出し、クライアントの表示部に表示する仮想画像の視点位置を決定し、さらに決定した仮想画像の重畳位置を決定する。
デコード部110は、図19のフローのステップS111の処理、すなわち、決定した視点位置対応の画像生成に必要な画像ストリームのデコード処理を実行する。
例えば、図20(B)に示す画像を受信し、(View3)と(View7)の中間視点画像を表示画像として決定している場合は、(View3)と(View7)の画像をデコードし、これらの画像のデプスマップを適用して中間視点画像を生成する。
表示制御部111は、図19のフローのステップS112、S113の処理、すなわち、デコードしたコンテンツを、クライアント100の表示部112に表示中のカメラ撮影画像に重畳したAR画像を出力する。
このようにして、サーバから送信された仮想画像がクライアントの表示部に表示中の撮影画像に重畳され表示されることになる。
この第2実施例の処理は、以下の利点を持つ。
(利点1)ネットワークの帯域幅が削減できる。もしくは、帯域を保ちながら画質を向上させられる。
これは送信すべき視点数が最小、2視点の画像でよくなるためである。
(利点2)クライアント端末の急峻な動きに更にロバストになる。
送信するストリームにおいて、確率の低い視点の中間の元映像はスキップして両端の映像だけを送ることが可能となり、確率の低い視点区間については補間すべき視点間の視差を増加させることで送信するストリームの数を減らすことが可能となる。これによって、実施例1に比べて送信できる角度範囲を広げられやすい。
[4.本開示の第3実施例について]
次に、本開示の第3実施例について説明する。
第3実施例は、上述した第1実施例と第2実施例を組み合わせた実施例である。
第実施例1は、ある角度範囲の視点からの動画像コンテンツ、例えば図16に示す動画1〜動画nまでのn個の動画コンテンツをクライアントに送信し、クライアント側では、これらのn個のコンテンツから、クライアントの角度等に適合したコンテンツを選択して表示する処理を行なっていた。
第2実施例では、図17に示すように、ある角度範囲の視点からの動画像コンテンツのうち、離散的な数視点の画像、例えば図17に示すように3視点のみの動画像をクライアントに送信する。さらに、これらの3つの送信動画像に対応する奥行き情報(デプスマップ)を併せてクライアントに送信する。
第1実施例の処理は、ネットワーク帯域が多く必要だったり、画質が相対的に低かったりするが、クライアントでの処理は低負荷であり、容易に実時間での描画が可能である。
一方、第2実施例の処理は、クライアントでの処理が高負荷で、実時間描画が難しく、バッテリーをより多く消費してしまうが、高画質で必要なネットワーク帯域も少ない。
この2方式を適応的に切り替えることで、さらに状況に応じた最適な動画配信を可能にする構成が実現される。この組み合わせ方式を第3実施例として説明する。
第3実施例は、具体的には、
(a)クライアントの描画速度、演算性能、
(b)ネットワーク帯域幅、
これらをパラメータとして最適な方式、すなわち第1実施例の処理、または第2実施例の処理、いずれかの処理を実行するかを切り替えて処理を行う。
さらに、重畳するコンテンツごとに処理を切り換える設定としてもよい。
例えば、
(a)より高画質が要求されるが、フレームレートは落ちてしまっても良いコンテンツ
(b)30fpsでの描画が要求されるが、低画質でも良いコンテンツ
これらのコンテンツ情報をコンテンツ対応のメタデータとして保持し、このメタデータに応じて、最適な方式、すなわち第1実施例の処理、または第2実施例の処理、いずれかの処理を実行するかを切り替えて処理を行う。
第3実施例の処理を実行するサーバ200とクライアント100の構成例を図23に示す。
図23に示す構成は、先に実施例1のサーバクライアント構成として説明した図15に示す構成に以下の構成を追加した構成である。
クライアント100の、
ネットワーク遅延帯域幅取得部115、
クライアント性能取得部116、
サーバ200の、
コンテンツメタデータベース208、
ストリーム切り替え部209、
これらの構成が追加された構成である。
なお、クライアント100のネットワーク遅延帯域幅取得部115はサーバ200側の設定としてもよい。
クライアント100のネットワーク遅延帯域幅取得部115は、サーバクライアント間の通信ネットワークの帯域幅を計測する。
クライアント100のクライアント性能取得部116は、クライアントの描画速度性能や演算性能を識別する。
これらの計測データや識別データが、サーバ200のストリーム切り替え部209に通知される。
サーバ200のストリーム切り替え部209は、入力情報に応じて最適な方式、すなわち第1実施例の処理、または第2実施例の処理、いずれかの処理を実行するかを切り替えて処理を行う。
また、コンテンツメタデータベース208には、コンテンツ対応のメタデータ、例えば、
(a)より高画質が要求されるが、フレームレートは落ちてしまっても良いコンテンツ
(b)30fpsでの描画が要求されるが、低画質でも良いコンテンツ
これらのコンテンツ対応のメタデータが格納されている。
サーバ200のストリーム切り替え部209は、ソウシンコンテンツに対応するメタデータをコンテンツメタデータベース208から取得し、メタデータに応じて、最適な方式、すなわち第1実施例の処理、または第2実施例の処理、いずれかの処理を実行するかを切り替えて処理を行う。
その他の構成の処理は、実施例1および実施例2において説明した処理と同様の処理となる。
本実施例においては、第1実施例として説明した処理と、第2実施例として説明した処理を、クライアントの性能や、ネットワークにおいて利用可能な帯域幅、あるいはコンテンツ情報としてのメタデータ等に応じて適応的に切り替えることで、状況に応じた最適な動画配信を可能にする構成が実現される。
[5.その他の実施例について]
(a)サーバを利用しない構成について
上述した各実施例では、仮想画像は、サーバが保持し、サーバからクライアントに対して提供する構成とした実施例を説明した。
しかし、仮想画像や仮想画像デプスマップからなるコンテンツをクライアント内のメディア、例えばハードディスクやDVD,BD等のディスク型メディア、あるいはフラッシュメモリ等の記憶部に格納し、クライアントのデータ処理部が、記憶部からコンテンツを読み出して、視点対応の仮想画像を選択またはデプスマップを適用して生成してクライアントの表示部に表示する構成としてもよい。
この場合、上述した実施例におけるサーバ側の処理は、すべてクライアントにおいて実行することになる。
また、上述した実施例において説明したネットワーク遅延については、考慮する必要がなく、ネットワーク遅延の計測処理や、ネットワーク遅延を考慮した角度範囲の設定は不要となる。
(b)クライアント処理を軽減した構成について
さらに、クライアントの処理を軽減した構成として、例えば、第1実施例の処理シーケンスとして説明した図5に示すフローチャート中、クライアントは、ステップS101の画像取得処理と、ステップS113〜S114の処理のみを実行し、その他の処理はサーバにおいて実行する構成としてもよい。
同様に、第2実施例の処理シーケンスとして説明した図18に示すフローチャート中、クライアントは、ステップS101の画像取得処理と、ステップS113〜S114の処理のみを実行し、その他の処理はサーバにおいて実行する構成としてもよい。
すなわち、クライアントは、クライアントで撮影した画像をサーバに送信し、サーバ側において送信画像に基づいてステップS102〜S112の全ての処理を実行する。サーバは、クライアントに表示する1つの視点からの画像のみをクライアントに送信し、クライアントは受信画像を撮影画像上に重畳表示する。
この処理構成とすることで、クライアントの処理負荷が大きく軽減されることになる。
[6.本開示の構成のまとめ]
以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
なお、本明細書において開示した技術は、以下のような構成をとることができる。
(1) 撮像部で撮像される撮像画像に仮想画像が重畳される映像を表示する表示部を備える端末の空間位置情報を取得する取得部と、
前記端末の空間位置情報に応じて、前記表示部に前記仮想画像を表示させるための表示情報を特定する特定部と、
を備える情報処理装置。
(2)前記情報処理装置は、画像を撮影する撮像部と、前記撮像部の撮影画像を表示する表示部と、サーバから前記仮想画像を受信し、受信した仮想画像を前記表示部に表示された撮影画像に重畳表示する処理を実行するデータ処理部を有し、前記データ処理部は、情報処理装置の動き情報に応じて所定時間後の前記撮像部位置を推定し、推定位置情報を前記サーバに送信し、前記サーバから、前記推定位置から撮影した仮想画像を受信して、受信画像、または受信画像に基づく生成画像を前記表示部に表示する処理を実行する前記(1)に記載の情報処理装置。
(3)前記データ処理部は、現在時刻Tにおける前記撮像部の位置・姿勢情報と移動情報を適用して、サーバとの通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後の前記撮像部の撮影方向を推定し、前記推定方向を前記推定位置情報として前記サーバに送信する前記(1)または(2)に記載の情報処理装置。
(4)前記データ処理部は、現在時刻Tにおける前記撮像部の位置・姿勢情報と移動情報を適用して、サーバとの通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後の前記撮像部の撮影方向の確率を算出し、確率の高い範囲の角度範囲を選択し、選択角度範囲に含まれる複数の視点からの仮想画像、または該仮想画像生成用画像とデプスマップを前記サーバから受信する前記(1)〜(3)いずれかに記載の情報処理装置。
(5)前記データ処理部は、前記選択角度範囲において、相対的に前記確率の高い画像を高解像度画像とし、相対的に前記確率の低い画像を低解像度画像として設定した画像データを前記サーバから受信する前記(4)に記載の情報処理装置。
(6)前記データ処理部は、前記選択角度範囲において、前記確率に大きな差異がない場合、前記選択角度範囲に含まれる複数の視点からの仮想画像を同じ解像度を持つ画像として前記サーバから受信する前記(4)に記載の情報処理装置。
(7)前記データ処理部は、前記サーバから受信した複数の視点からの仮想画像から、前記仮想画像の表示タイミングにおける前記撮像部の撮影方向に近い視点の仮想画像を選択、または前記仮想画像生成用画像とデプスマップを適用して、前記仮想画像の表示タイミングにおける前記撮像部の撮影方向に近い視点から撮影した仮想画像を生成して前記表示部に表示する前記(4)〜(7)いずれかに記載の情報処理装置。
(8) クライアントとの通信を実行する通信部と、
前記クライアントの表示部に表示されたクライアント撮像部の撮影画像に重畳表示する仮想画像を選択して送信するデータ処理部を有し、
前記データ処理部は、
前記クライアントの動き情報に応じて推定した所定時間後の前記クライアント撮像部位置から撮影した仮想画像、または該仮想画像生成用画像とデプスマップをクライアントに対する送信データとして選択し、クライアントに送信する処理を実行するサーバとしての情報処理装置。
(9)前記データ処理部は、現在時刻Tにおける前記クライアント撮像部の位置・姿勢情報と移動情報を適用して、サーバクライアント間における通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後の前記クライアント撮像部の撮影方向を推定し、推定方向から撮影した仮想画像、または該仮想画像生成用画像とデプスマップをクライアントに対する送信データとして選択する前記(8)に記載の情報処理装置。
(10)前記データ処理部は、現在時刻Tにおける前記クライアント撮像部の位置・姿勢情報と移動情報を適用して、サーバクライアント間における通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後の前記クライアント撮像部の撮影方向の確率を算出し、確率の高い範囲の角度範囲を選択し、選択角度範囲に含まれる複数の視点からの仮想画像をクライアントに対する送信データとして選択する前記(8)または(9)に記載の情報処理装置。
(11)前記データ処理部は、前記選択角度範囲において、相対的に前記確率の高い画像を高解像度画像とし、相対的に前記確率の低い画像を低解像度画像として設定した送信画像データを生成してクライアントに送信する前記(10)に記載の情報処理装置。
(12) 画像を撮影する撮像部と、
前記撮像部の撮影画像を表示する表示部と、
前記表示部に表示された撮影画像に重畳表示する仮想画像であり、異なる複数の視点からオブジェクトを撮影した複数視点対応の仮想画像を格納した記憶部と、
前記記憶部から前記仮想画像を取得し、取得した仮想画像を前記表示部に表示された撮影画像に重畳表示する処理を実行するデータ処理部を有し、
前記データ処理部は、
情報処理装置の動き情報に応じて所定時間後の前記撮像部位置を推定し、
推定位置から撮影した仮想画像を前記記憶部から選択して表示、または、前記記憶部から取得した仮想画像に基づいて生成して前記表示部に表示する処理を実行する情報処理装置。
(13)前記記憶部は、
異なる複数の視点からオブジェクトを撮影した複数視点対応の仮想画像とデプスマップを格納し、前記データ処理部は、前記推定位置から撮影した仮想画像を、前記記憶部から取得した仮想画像とデプスマップを適用して生成して前記表示部に表示する前記(12)に記載の情報処理装置。
(14)前記データ処理部は、情報処理装置の動き情報に応じて所定時間後の前記撮像部の撮影方向の確率を算出し、高確率の仮想画像を前記記憶部から選択、または、前記記憶部から取得した仮想画像に基づいて生成して前記表示部に表示する処理を実行する前記(12)または(13)に記載の情報処理装置。
さらに、上記した装置およびシステムにおいて実行する処理の方法や、処理を実行させるプログラムも本開示の構成に含まれる。
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
以上、説明したように、本開示の一実施例の構成によれば、表示部に表示されたカメラ撮影画像に、カメラ撮影方向に応じた自然な仮想画像を重畳表示する構成が実現される。
具体的には、仮想画像をクライアントに送信するサーバと、カメラ撮影画像とサーバから送信される仮想画像を重畳表示するクライアントを有する。サーバはクライアント(カメラ)の動きに応じて推定した所定時間後のクライアント位置から撮影した仮想画像をクライアントに送信する。サーバ、またはクライアントのいずれかにおいて、現在時刻Tにおけるクライアントの位置・姿勢情報と移動情報を適用して、サーバクライアント間における通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後のクライアントの撮影方向を推定し、推定方向から撮影した仮想画像をクライアントに送信する。
これらの構成により、クライアントの表示部に表示されたカメラ撮影画像に、カメラ撮影方向に応じた自然な仮想画像を重畳表示する構成が実現される。
10 ポスター
11 マーカ
21,22 ユーザ
30 クライアント(携帯端末)
31 仮想画像
100 クライアント
101 撮像部(カメラ)
102 画像認識部
103 クライアント(カメラ)位置・姿勢算出部
104 センサ(加速度・ジャイロセンサ)
105 クライアント移動祖輝度方向算出部
106 ネットワーク遅延推定部
107 角度範囲推定部
108 通信部
109 コンテンツ選択&重畳位置算出部
110 デコード部
111 表示制御部
112 表示部
115 ネットワーク遅延帯域幅取得部
116 クライアント性能取得部
200 サーバ
201 コンテンツデータベース
202 奥行き情報(デプスマップ)生成部
203 コンテンツ対応奥行き情報(デプスマップ)
204 中間視点画像生成部
205 各視点対応コンテンツ
206 送信画像データ生成部
207 通信部
208 コンテンツメタデータベース
209 ストリーム切り替え部

Claims (20)

  1. 撮像部で撮像される撮像画像に仮想画像が重畳される映像を表示する表示部を備える端末の空間位置情報を取得する取得部と、
    前記端末の空間位置情報に応じて、前記表示部に前記仮想画像を表示させるための表示情報を特定する特定部を有し、
    前記特定部は、
    複数の異なる視点からの観察画像に相当する複数の仮想画像から、前記仮想画像の表示タイミングにおける前記撮像部の撮影方向に近い視点の仮想画像を、前記表示情報として選択する情報処理装置。
  2. 前記情報処理装置は、
    画像を撮影する撮像部と、
    前記撮像部の撮影画像を表示する表示部と、
    サーバから前記仮想画像を受信し、受信した仮想画像を前記表示部に表示された撮影画像に重畳表示する処理を実行するデータ処理部を有し、
    前記データ処理部は、
    情報処理装置の動き情報に応じて所定時間後の前記撮像部位置を推定し、推定位置情報を前記サーバに送信し、
    前記サーバから、前記推定位置近傍の複数位置から撮影した複数の仮想画像、または該仮想画像生成用画像とデプスマップを受信して、受信画像、または受信画像に基づく生成画像を前記表示部に表示する処理を実行する請求項1に記載の情報処理装置。
  3. 前記データ処理部は、
    現在時刻Tにおける前記撮像部の位置・姿勢情報と移動情報を適用して、サーバとの通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後の前記撮像部の撮影方向を推定し、前記推定方向を前記推定位置情報として前記サーバに送信する請求項2に記載の情報処理装置。
  4. 前記データ処理部は、
    現在時刻Tにおける前記撮像部の位置・姿勢情報と移動情報を適用して、サーバとの通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後の前記撮像部の撮影方向の確率を算出し、確率の高い範囲の角度範囲を選択し、選択角度範囲に含まれる複数の視点からの仮想画像、または該仮想画像生成用画像とデプスマップを前記サーバから受信する請求項2または3に記載の情報処理装置。
  5. 前記データ処理部は、
    前記選択角度範囲において、相対的に前記確率の高い画像を高解像度画像とし、相対的に前記確率の低い画像を低解像度画像として設定した画像データを前記サーバから受信する請求項4に記載の情報処理装置。
  6. 前記データ処理部は、
    前記選択角度範囲において、前記確率に大きな差異がない場合、前記選択角度範囲に含まれる複数の視点からの仮想画像を同じ解像度を持つ画像として前記サーバから受信する請求項4に記載の情報処理装置。
  7. 前記データ処理部は、
    前記サーバから受信した複数の視点からの仮想画像から、前記仮想画像の表示タイミングにおける前記撮像部の撮影方向に近い視点の仮想画像を選択、
    または前記仮想画像生成用画像とデプスマップを適用して、前記仮想画像の表示タイミングにおける前記撮像部の撮影方向に近い視点から撮影した仮想画像を生成して前記表示部に表示する請求項4〜6いずれかに記載の情報処理装置。
  8. クライアントとの通信を実行する通信部と、
    前記クライアントの表示部に表示されたクライアント撮像部の撮影画像に重畳表示する仮想画像を選択して送信するデータ処理部を有し、
    前記データ処理部は、
    前記クライアントの動き情報に応じて推定した所定時間後の前記クライアント撮像部位置近傍の複数位置から撮影した複数の仮想画像、または該仮想画像生成用画像とデプスマップをクライアントに対する送信データとして選択し、クライアントに送信する処理を実行するサーバとしての情報処理装置。
  9. 前記データ処理部は、
    現在時刻Tにおける前記クライアント撮像部の位置・姿勢情報と移動情報を適用して、サーバクライアント間における通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後の前記クライアント撮像部の撮影方向を推定し、推定方向から撮影した仮想画像、または該仮想画像生成用画像とデプスマップをクライアントに対する送信データとして選択する請求項8に記載の情報処理装置。
  10. 前記データ処理部は、
    現在時刻Tにおける前記クライアント撮像部の位置・姿勢情報と移動情報を適用して、サーバクライアント間における通信の往復遅延時間であるネットワーク遅延時間Δtを考慮した時間T+Δt後の前記クライアント撮像部の撮影方向の確率を算出し、確率の高い範囲の角度範囲を選択し、選択角度範囲に含まれる複数の視点からの仮想画像をクライアントに対する送信データとして選択する請求項8または9に記載の情報処理装置。
  11. 前記データ処理部は、
    前記選択角度範囲において、相対的に前記確率の高い画像を高解像度画像とし、相対的に前記確率の低い画像を低解像度画像として設定した送信画像データを生成してクライアントに送信する請求項10に記載の情報処理装置。
  12. 画像を撮影する撮像部と、
    前記撮像部の撮影画像を表示する表示部と、
    前記表示部に表示された撮影画像に重畳表示する仮想画像であり、異なる複数の視点からオブジェクトを撮影した複数視点対応の仮想画像を格納した記憶部と、
    前記記憶部から前記仮想画像を取得し、取得した仮想画像を前記表示部に表示された撮影画像に重畳表示する処理を実行するデータ処理部を有し、
    前記データ処理部は、
    情報処理装置の動き情報に応じて所定時間後の前記撮像部位置を推定し、
    前記記憶部に格納された推定位置近傍の複数位置から撮影した複数の仮想画像から、前記仮想画像の表示タイミングにおける前記撮像部の撮影方向に近い視点の仮想画像を選択して表示、または、前記記憶部から取得した仮想画像に基づいて生成して前記表示部に表示する処理を実行する情報処理装置。
  13. 前記記憶部は、
    異なる複数の視点からオブジェクトを撮影した複数視点対応の仮想画像とデプスマップを格納し、
    前記データ処理部は、
    前記推定位置から撮影した仮想画像を、前記記憶部から取得した仮想画像とデプスマップを適用して生成して前記表示部に表示する請求項12に記載の情報処理装置。
  14. 前記データ処理部は、
    情報処理装置の動き情報に応じて所定時間後の前記撮像部の撮影方向の確率を算出し、高確率の仮想画像を前記記憶部から選択、または、前記記憶部から取得した仮想画像に基づいて生成して前記表示部に表示する処理を実行する請求項12または13に記載の情報処理装置。
  15. 情報処理装置において実行する情報処理方法であり、
    前記情報処理装置は、
    クライアントとの通信を実行する通信部と、
    前記クライアントの表示部に表示されたクライアント撮像部の撮影画像に重畳表示する仮想画像を選択して送信するデータ処理部を有し、
    前記データ処理部は、
    前記クライアントの動き情報に応じて推定した所定時間後の前記クライアント撮像部位置近傍の複数位置から撮影した複数の仮想画像、または該仮想画像生成用画像とデプスマップをクライアントに対する送信データとして選択し、クライアントに送信する処理を実行する情報処理方法。
  16. 情報処理装置において実行する情報処理方法であり、
    データ処理部が、撮像部で撮像される撮像画像に仮想画像が重畳される映像を表示する表示部を備える端末の空間位置情報を取得する取得処理と、
    データ処理部が、前記端末の空間位置情報に応じて、前記表示部に前記仮想画像を表示させるための表示情報を特定する特定処理を実行し、
    前記特定処理において、複数の異なる視点からの観察画像に相当する複数の仮想画像から、前記仮想画像の表示タイミングにおける前記撮像部の撮影方向に近い視点の仮想画像を、前記表示情報として選択する情報処理方法。
  17. 情報処理装置において実行する情報処理方法であり、
    前記情報処理装置は、
    画像を撮影する撮像部と、
    前記撮像部の撮影画像を表示する表示部と、
    前記表示部に表示された撮影画像に重畳表示する仮想画像であり、異なる複数の視点からオブジェクトを撮影した複数視点対応の仮想画像を格納した記憶部と、
    前記記憶部から前記仮想画像を取得し、取得した仮想画像を前記表示部に表示された撮影画像に重畳表示する処理を実行するデータ処理部を有し、
    前記データ処理部は、
    情報処理装置の動き情報に応じて所定時間後の前記撮像部位置を推定し、
    前記記憶部に格納された推定位置近傍の複数位置から撮影した複数の仮想画像から、前記仮想画像の表示タイミングにおける前記撮像部の撮影方向に近い視点の仮想画像を選択して表示、または、前記記憶部から取得した仮想画像に基づいて生成して前記表示部に表示する処理を実行する情報処理方法。
  18. 情報処理装置において情報処理を実行させるプログラムであり、
    前記情報処理装置は、
    クライアントとの通信を実行する通信部と、
    前記クライアントの表示部に表示されたクライアント撮像部の撮影画像に重畳表示する仮想画像を選択して送信するデータ処理部を有し、
    前記プログラムは、前記データ処理部に、
    前記クライアントの動き情報に応じて推定した所定時間後の前記クライアント撮像部位置近傍の複数位置から撮影した複数の仮想画像、または該仮想画像生成用画像とデプスマップをクライアントに対する送信データとして選択させ、クライアントに送信する処理を実行させるプログラム。
  19. 情報処理装置において情報処理を実行させるプログラムであり、
    データ処理部に、撮像部で撮像される撮像画像に仮想画像が重畳される映像を表示する表示部を備える端末の空間位置情報を取得する取得処理と、
    データ処理部が、前記端末の空間位置情報に応じて、前記表示部に前記仮想画像を表示させるための表示情報を特定する特定処理を実行させ、
    前記特定処理において、複数の異なる視点からの観察画像に相当する複数の仮想画像から、前記仮想画像の表示タイミングにおける前記撮像部の撮影方向に近い視点の仮想画像を、前記表示情報として選択させるプログラム。
  20. 情報処理装置において情報処理を実行させるプログラムであり、
    前記情報処理装置は、
    画像を撮影する撮像部と、
    前記撮像部の撮影画像を表示する表示部と、
    前記表示部に表示された撮影画像に重畳表示する仮想画像であり、異なる複数の視点からオブジェクトを撮影した複数視点対応の仮想画像を格納した記憶部と、
    前記記憶部から前記仮想画像を取得し、取得した仮想画像を前記表示部に表示された撮影画像に重畳表示する処理を実行するデータ処理部を有し、
    前記プログラムは、前記データ処理部に、
    情報処理装置の動き情報に応じて所定時間後の前記撮像部位置を推定し、前記記憶部に格納された推定位置近傍の複数位置から撮影した複数の仮想画像から、前記仮想画像の表示タイミングにおける前記撮像部の撮影方向に近い視点の仮想画像を選択して表示、または、前記記憶部から取得した仮想画像に基づいて生成して前記表示部に表示する処理を実行させるプログラム。
JP2014520999A 2012-06-12 2013-04-24 情報処理装置、および情報処理方法、並びにプログラム Expired - Fee Related JP6131950B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014520999A JP6131950B2 (ja) 2012-06-12 2013-04-24 情報処理装置、および情報処理方法、並びにプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2012133319 2012-06-12
JP2012133319 2012-06-12
PCT/JP2013/061995 WO2013187129A1 (ja) 2012-06-12 2013-04-24 情報処理装置、および情報処理方法、並びにプログラム
JP2014520999A JP6131950B2 (ja) 2012-06-12 2013-04-24 情報処理装置、および情報処理方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JPWO2013187129A1 JPWO2013187129A1 (ja) 2016-02-04
JP6131950B2 true JP6131950B2 (ja) 2017-05-24

Family

ID=49757964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014520999A Expired - Fee Related JP6131950B2 (ja) 2012-06-12 2013-04-24 情報処理装置、および情報処理方法、並びにプログラム

Country Status (7)

Country Link
US (1) US9773333B2 (ja)
EP (1) EP2860606B1 (ja)
JP (1) JP6131950B2 (ja)
CN (1) CN104364754A (ja)
BR (1) BR112014030593A2 (ja)
IN (1) IN2014DN10335A (ja)
WO (1) WO2013187129A1 (ja)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014035430A1 (en) * 2012-08-31 2014-03-06 Hewlett-Packard Development Company, L.P. Active regions of an image with accessible links
US10712898B2 (en) 2013-03-05 2020-07-14 Fasetto, Inc. System and method for cubic graphical user interfaces
US9753553B2 (en) * 2013-07-03 2017-09-05 Sony Interactive Entertainment America Llc Systems, methods, and computer-readable media for generating computer-mediated reality display data
EP3022638B1 (en) * 2013-07-18 2018-04-04 Fasetto, L.L.C. System and method for multi-angle videos
US10095873B2 (en) 2013-09-30 2018-10-09 Fasetto, Inc. Paperless application
JP2015076010A (ja) * 2013-10-10 2015-04-20 富士通株式会社 端末装置、シンクライアントシステム、表示方法および表示プログラム
US10311595B2 (en) * 2013-11-19 2019-06-04 Canon Kabushiki Kaisha Image processing device and its control method, imaging apparatus, and storage medium
US9584402B2 (en) 2014-01-27 2017-02-28 Fasetto, Llc Systems and methods for peer to peer communication
US9787799B2 (en) 2014-02-27 2017-10-10 Dropbox, Inc. Systems and methods for managing content items having multiple resolutions
US10885104B2 (en) * 2014-02-27 2021-01-05 Dropbox, Inc. Systems and methods for selecting content items to store and present locally on a user device
KR20150101915A (ko) * 2014-02-27 2015-09-04 삼성전자주식회사 3차원 gui 화면의 표시 방법 및 이를 수행하기 위한 디바이스
JP5901680B2 (ja) * 2014-04-04 2016-04-13 株式会社デジタル 携帯端末装置および表示装置
US9332285B1 (en) * 2014-05-28 2016-05-03 Lucasfilm Entertainment Company Ltd. Switching modes of a media content item
JP2015228009A (ja) 2014-06-03 2015-12-17 セイコーエプソン株式会社 頭部装着型表示装置、頭部装着型表示装置の制御方法、情報送受信システム、および、コンピュータープログラム
EP3175588B1 (en) 2014-07-10 2023-10-25 Fasetto, Inc. Systems and methods for message editing
CN104183004A (zh) * 2014-08-12 2014-12-03 小米科技有限责任公司 天气显示方法及装置
WO2016057091A1 (en) 2014-10-06 2016-04-14 Fasetto, Llc Systems and methods for portable storage devices
US10437288B2 (en) 2014-10-06 2019-10-08 Fasetto, Inc. Portable storage device with modular power and housing system
KR102235707B1 (ko) * 2015-01-29 2021-04-02 한국전자통신연구원 콘텐츠 부가 정보 제공 방법 및 모바일 단말 및 콘텐츠 제어 서버
EP3745679B1 (en) 2015-03-11 2024-05-01 Fasetto, Inc. Systems and methods for web api communication
CN106162117B (zh) * 2015-04-10 2019-04-16 北京智谷睿拓技术服务有限公司 显示控制方法和装置
TWI547177B (zh) * 2015-08-11 2016-08-21 晶睿通訊股份有限公司 視角切換方法及其攝影機
US9928655B1 (en) * 2015-08-31 2018-03-27 Amazon Technologies, Inc. Predictive rendering of augmented reality content to overlay physical structures
KR101716326B1 (ko) * 2015-09-08 2017-03-14 클릭트 주식회사 가상현실영상 전송방법, 재생방법 및 이를 이용한 프로그램
US10962780B2 (en) * 2015-10-26 2021-03-30 Microsoft Technology Licensing, Llc Remote rendering for virtual images
US10198355B2 (en) 2015-10-29 2019-02-05 Dropbox, Inc. Proving a dynamic digital content cache
JP6515787B2 (ja) * 2015-11-02 2019-05-22 富士通株式会社 仮想デスクトッププログラム、仮想デスクトップ処理方法、および仮想デスクトップシステム
WO2017096245A1 (en) 2015-12-03 2017-06-08 Fasetto, Llc Systems and methods for memory card emulation
JP6958360B2 (ja) * 2015-12-11 2021-11-02 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム
US10318226B2 (en) * 2016-01-21 2019-06-11 Google Llc Global command interface for a hybrid display
US9600939B1 (en) 2016-05-19 2017-03-21 Augmently, LLC Augmented reality platform using captured footage from multiple angles
CN106101684A (zh) * 2016-06-30 2016-11-09 深圳市虚拟现实科技有限公司 远程全景图像实时传输和流畅显示的方法
JP6419128B2 (ja) * 2016-10-28 2018-11-07 キヤノン株式会社 画像処理装置、画像処理システム、画像処理方法及びプログラム
MX2019005965A (es) 2016-11-23 2019-10-24 Fasetto Inc Sistemas y metodos para transmision de medios.
KR20190131022A (ko) 2017-02-03 2019-11-25 파세토, 인크. 키잉된 디바이스들에서의 데이터 스토리지에 대한 시스템들 및 방법들
KR101788545B1 (ko) * 2017-03-06 2017-10-20 클릭트 주식회사 가상현실영상 전송방법, 재생방법 및 이를 이용한 프로그램
CN107592520B (zh) * 2017-09-29 2020-07-10 京东方科技集团股份有限公司 Ar设备的成像装置及成像方法
WO2019079628A1 (en) 2017-10-19 2019-04-25 Fasetto, Inc. PORTABLE ELECTRONIC DEVICE CONNECTING SYSTEMS
KR102022980B1 (ko) * 2017-12-01 2019-09-19 클릭트 주식회사 깊이데이터를 이용한 증강현실영상 제공방법 및 프로그램
JP2021505938A (ja) 2017-12-01 2021-02-18 ファセット・インコーポレーテッド データ暗号化を改善するシステムおよび方法
CN109932926A (zh) * 2017-12-19 2019-06-25 帝斯贝思数字信号处理和控制工程有限公司 低延时的用于图像处理系统的试验台
CN108108023B (zh) * 2018-01-02 2021-02-19 联想(北京)有限公司 一种显示方法和显示系统
JP2021522568A (ja) 2018-04-17 2021-08-30 ファセット・インコーポレーテッド リアル・タイム・フィードバックを伴うプレゼンテーションのためのデバイス
EP3588249A1 (en) * 2018-06-26 2020-01-01 Koninklijke Philips N.V. Apparatus and method for generating images of a scene
WO2020015611A1 (zh) 2018-07-20 2020-01-23 广东虚拟现实科技有限公司 虚拟内容的交互显示方法、终端设备及存储介质
CN109298781B (zh) * 2018-08-28 2020-11-06 百度在线网络技术(北京)有限公司 基于ar的留言处理方法、装置、设备及计算机存储介质
US10983677B2 (en) 2018-11-16 2021-04-20 Dropbox, Inc. Prefetching digital thumbnails from remote servers to client devices based on a dynamic determination of file display criteria
JP2020095602A (ja) * 2018-12-14 2020-06-18 ヤフー株式会社 表示プログラム、表示装置および表示方法
JP2020095645A (ja) * 2018-12-14 2020-06-18 ヤフー株式会社 表示プログラム、表示装置および表示方法
CN111385627B (zh) * 2018-12-29 2022-12-02 中兴通讯股份有限公司 一种增强现实设备及其控制方法、计算机可读存储介质
CN110139028B (zh) * 2019-03-25 2020-07-07 华为技术有限公司 一种图像处理的方法及头戴式显示设备
US11582537B2 (en) * 2019-10-14 2023-02-14 Inscape Data, Inc. Dynamic content serving using a media device
JP7290584B2 (ja) * 2020-01-21 2023-06-13 Kddi株式会社 情報システム、端末、サーバ及びプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085409B2 (en) * 2000-10-18 2006-08-01 Sarnoff Corporation Method and apparatus for synthesizing new video and/or still imagery from a collection of real video and/or still imagery
US7020463B2 (en) * 2001-03-09 2006-03-28 The Directv Group, Inc. Methodology for mobile user terminals in broadband systems
DE102005061952B4 (de) 2005-12-23 2008-09-11 Metaio Gmbh Verfahren und System zur Bestimmung einer Ungenauigkeitsinformation in einem Augmented Reality System
US7962637B2 (en) * 2006-11-03 2011-06-14 Apple Computer, Inc. Dynamic adjustments of video streams
JP2010191607A (ja) * 2009-02-17 2010-09-02 Hitachi Ltd 画像生成表示方法、画像生成表示システム、サーバ装置および画像表示端末
JP2011043419A (ja) 2009-08-21 2011-03-03 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
JP5238887B2 (ja) 2009-09-25 2013-07-17 株式会社東芝 多視点画像生成方法および装置
KR101096392B1 (ko) * 2010-01-29 2011-12-22 주식회사 팬택 증강 현실 제공 시스템 및 방법
JP5243477B2 (ja) * 2010-04-13 2013-07-24 パナソニック株式会社 ブラー補正装置およびブラー補正方法
KR101572892B1 (ko) * 2010-05-06 2015-11-30 엘지전자 주식회사 이동 단말기 및 이것의 영상 디스플레이 방법
JP2012058838A (ja) 2010-09-06 2012-03-22 Sony Corp 画像処理装置、プログラム及び画像処理方法
KR101260576B1 (ko) * 2010-10-13 2013-05-06 주식회사 팬택 Ar 서비스를 제공하기 위한 사용자 단말기 및 그 방법
JP5472056B2 (ja) * 2010-11-19 2014-04-16 コニカミノルタ株式会社 表示システム、表示処理装置、表示方法、および表示プログラム

Also Published As

Publication number Publication date
IN2014DN10335A (ja) 2015-08-07
BR112014030593A2 (pt) 2017-06-27
US9773333B2 (en) 2017-09-26
EP2860606A1 (en) 2015-04-15
WO2013187129A1 (ja) 2013-12-19
EP2860606B1 (en) 2018-01-10
US20150145889A1 (en) 2015-05-28
CN104364754A (zh) 2015-02-18
JPWO2013187129A1 (ja) 2016-02-04
EP2860606A4 (en) 2015-12-16

Similar Documents

Publication Publication Date Title
JP6131950B2 (ja) 情報処理装置、および情報処理方法、並びにプログラム
US11303881B2 (en) Method and client for playing back panoramic video
US20220174252A1 (en) Selective culling of multi-dimensional data sets
US11706403B2 (en) Positional zero latency
US10341632B2 (en) Spatial random access enabled video system with a three-dimensional viewing volume
KR102363364B1 (ko) 파노라마 비디오의 상호작용적 전송을 위한 방법 및 시스템
EP3459252B1 (en) Method and apparatus for spatial enhanced adaptive bitrate live streaming for 360 degree video playback
EP3526974B1 (en) Processing spherical video data on the basis of a region of interest
JP6410918B2 (ja) パノラマ映像コンテンツの再生に使用するシステム及び方法
CN111627116B (zh) 图像渲染控制方法、装置及服务器
US20120293613A1 (en) System and method for capturing and editing panoramic images
EP3065049A2 (en) Interactive video display method, device, and system
US9838687B1 (en) Apparatus and method for panoramic video hosting with reduced bandwidth streaming
CN109600674A (zh) 非线性媒体的基于客户端的自适应流式传输
US20180295352A1 (en) Adapting video images for wearable devices
CN107592549B (zh) 基于双向通信的全景视频播放拍照系统
CN107707830B (zh) 基于单向通信的全景视频播放拍照系统
EP2936806B1 (en) Realistic point of view video method and apparatus
WO2017086355A1 (ja) 送信装置、送信方法、受信装置、受信方法および送受信システム
US10192362B2 (en) Generating virtual reality and augmented reality content for a live event
CN110636336A (zh) 发送装置及方法、接收装置及方法及计算机可读存储介质
WO2018178510A2 (en) Video streaming
CN117440175A (zh) 用于视频传输的方法、装置、系统、设备和介质
CN117999787A (zh) 多视图视频数据的呈现
EP3430810A1 (en) Method and apparatus for processing video information

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160310

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161121

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170321

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170403

R151 Written notification of patent or utility model registration

Ref document number: 6131950

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees