JP6859763B2 - Program, information processing device - Google Patents
Program, information processing device Download PDFInfo
- Publication number
- JP6859763B2 JP6859763B2 JP2017046744A JP2017046744A JP6859763B2 JP 6859763 B2 JP6859763 B2 JP 6859763B2 JP 2017046744 A JP2017046744 A JP 2017046744A JP 2017046744 A JP2017046744 A JP 2017046744A JP 6859763 B2 JP6859763 B2 JP 6859763B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- data
- wide
- distance measurement
- angle image
- 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.)
- Active
Links
Images
Description
本発明は、プログラム、及び情報処理装置に関する。 The present invention relates to a program and an information processing device.
周囲360度の風景を撮像可能な全天球カメラが普及している。全天球カメラで撮像した画像データ(全天球画像)は球に貼り付けられた立体形状を有しており、立体形状の全天球画像を効果的に活用する方法が検討されている。例えば、全天球画像を閲覧するには二次元平面に投影する必要があるが、表示範囲によっては歪みが生じやすくなり、この歪みを低減する技術が考案されている(例えば、特許文献1参照。)。 Spherical cameras that can capture 360-degree landscapes are widespread. The image data (omnidirectional image) captured by the spherical camera has a three-dimensional shape attached to the sphere, and a method for effectively utilizing the three-dimensional spherical image is being studied. For example, in order to view a spherical image, it is necessary to project it on a two-dimensional plane, but distortion is likely to occur depending on the display range, and a technique for reducing this distortion has been devised (see, for example, Patent Document 1). .).
特許文献1には、三次元モデルに全天球画像を貼り付けて、指定された出力範囲によって、視野角を優先的に変化させるか、視点の位置を優先的に変化させるかを切り替える画像処理システムについて開示されている。
In
しかしながら、従来の技術では、全天球画像が三次元形状を有していても、これをコンピュータグラフィックで活用することが容易でないという問題がある。三次元のオブジェクトを情報処理装置で表示させるアプリケーションソフトウェアの開発では、回転、移動、変倍等、よく使う機能が公開されている描画ライブラリを利用することが一般的である。開発者はこれらの描画ライブラリを使用して、効率的にアプリケーションソフトウェア(すなわちプログラム)を開発できる。 However, in the conventional technique, even if the spherical image has a three-dimensional shape, there is a problem that it is not easy to utilize it in computer graphics. In the development of application software for displaying three-dimensional objects on an information processing device, it is common to use a drawing library in which frequently used functions such as rotation, movement, and scaling are open to the public. Developers can use these drawing libraries to efficiently develop application software (ie, programs).
しかしながら、従来の描画ライブラリは全天球画像と直接連携できないため、三次元のオブジェクトと全天球画像が連携したアプリケーションソフトウェアを開発者が開発するには工数が必要となっていた。例えば、全天球画像に壁が写っている場合に、この壁にボール(オブジェクト)をぶつけるようなアプリケーションソフトウェアを作成する場合、開発者は全天球画像、壁及びボールに相当するオブジェクトを個別に生成し、これらの相互作用を記述する必要がある。 However, since the conventional drawing library cannot be directly linked with the spherical image, it requires man-hours for the developer to develop the application software in which the three-dimensional object and the spherical image are linked. For example, when creating application software that hits a ball (object) against a wall when the spherical image shows a wall, the developer separates the spherical image, the wall, and the object corresponding to the ball. It is necessary to generate in and describe these interactions.
本発明は、上記課題に鑑み、三次元のオブジェクトと広角画像が連携したプログラムを提供することを目的とする。 In view of the above problems, an object of the present invention is to provide a program in which a three-dimensional object and a wide-angle image are linked.
本発明は、広角画像、及び、天井方向、地面方向又は周囲方向の測距データの少なくともいずれかを取得する情報処理装置を、前記広角画像が貼り付けられるスクリーンオブジェクトを生成し、前記天井方向の測距データに基づく第一のオブジェクト、前記地面方向の測距データに基づく第二のオブジェクト、又は、前記周囲方向の測距データに基づく第三のオブジェクトの少なくとも1つを生成する撮像オブジェクト生成手段と、
前記広角画像の視点となるカメラオブジェクトを生成するカメラオブジェクト生成手段と、ユーザ定義された三次元オブジェクトを生成するユーザオブジェクト生成手段と、前記スクリーンオブジェクト、前記第一のオブジェクト、前記第二のオブジェクト、前記第三のオブジェクト、及び、前記三次元オブジェクトと、前記スクリーンオブジェクトに貼り付けられる前記広角画像を描画処理部に送出する描画手段として機能させ、前記撮像オブジェクト生成手段は、各オブジェクトが有する物理作用に関する属性に基づき各オブジェクトを更新することを特徴とするプログラムを提供する。
The present invention uses an information processing device that acquires at least one of a wide-angle image and distance measurement data in the ceiling direction, the ground direction, or the surrounding direction to generate a screen object to which the wide-angle image is attached, and in the ceiling direction. An imaging object generating means that generates at least one of a first object based on distance measurement data, a second object based on the distance measurement data in the ground direction, or a third object based on the distance measurement data in the peripheral direction. When,
A camera object generating means for generating a camera object as a viewpoint of the wide-angle image, a user object generating means for generating a user-defined three-dimensional object, the screen object, the first object, and the second object. The third object, the three-dimensional object, and the wide-angle image attached to the screen object are made to function as drawing means to be sent to the drawing processing unit, and the imaging object generating means has a physical action of each object. Provides a program characterized by updating each object based on the attributes related to.
三次元のオブジェクトと広角画像が連携したプログラムを提供することができる。 It is possible to provide a program in which a three-dimensional object and a wide-angle image are linked.
以下、本発明を実施するための形態について図面を参照しながら説明する。 Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings.
本実施形態では、全天球画像に視点位置から「天井」「地面」までの高さ情報、視点位置から周囲方向への距離情報が予め付加されている。本実施形態のアプリケーションソフトウェアは、三次元空間内で全天球画像を仮想的なスクリーンオブジェクトに投影する一方、天井と地面の高さ情報と周囲への距離情報に基づきそれぞれ天井オブジェクト、地面オブジェクト、及び側面オブジェクトといったオブジェクトを三次元空間に配置し、任意の三次元オブジェクトとの物理作用を演算する。 In the present embodiment, height information from the viewpoint position to the "ceiling" and "ground" and distance information from the viewpoint position to the surrounding direction are added to the spherical image in advance. The application software of the present embodiment projects an all-sky image onto a virtual screen object in a three-dimensional space, while the ceiling object and the ground object are based on the height information of the ceiling and the ground and the distance information to the surroundings, respectively. Place objects such as side objects and side objects in 3D space, and calculate the physical action with any 3D object.
オブジェクトの生成や物理作用はライブラリで供給されるため、三次元のオブジェクトと全天球画像が連携するアプリケーションソフトウェアの開発が容易になる。 Since object creation and physical actions are supplied by the library, it is easy to develop application software that links 3D objects and spherical images.
<用語について>
連携とは、一方のオブジェクトが他方のオブジェクトに作用して少なくとも一方のオブジェクトの属性が変化することをいう。例えば、衝突すること、衝突により運動状態等が変わることをいう。
<Terminology>
Coordination means that one object acts on the other object and the attributes of at least one object change. For example, it means colliding, and the state of motion changes due to the collision.
属性とはオブジェクトの有する特徴又は性質をいう。オブジェクトの表示態様や挙動等に影響する設定値ということもできる。具体例は本実施形態で説明する。 An attribute is a feature or property of an object. It can also be said that it is a set value that affects the display mode and behavior of the object. Specific examples will be described in this embodiment.
<構成例>
図1は全天球画像を撮像する撮像装置100の外観図の一例である。筐体101に背中合わせになった2つの撮像部102を有する。2つの撮像部102はつなぎ合わされて周囲360度が撮像された全天球の画像データ(以下、全天球画像という)が得られる。
<Configuration example>
FIG. 1 is an example of an external view of an
筐体101の中央部には操作部103を有し、この操作部103はユーザが撮像操作する際に押下されるシャッターボタンである。また、撮像装置100の上面には天井方向の距離を検出する天方向測距センサ104を有し、撮像装置100の下面には地面方向の距離を検出する地方向測距センサ105を有している。更に、筐体101の周囲には周囲方向の距離を検出するための周囲方向測距センサ106に配置されている。周囲方向測距センサ106は周囲に複数配置されており、この数が多いほど周囲方向の距離を高分解能に検出できる。
An
なお、測距方式はどのような方式でもよいが、例えば、超音波や光のTOF(Time Of Flight)、ステレオカメラ、距離を検出できる単眼カメラなどがある。天方向測距センサ104、地方向測距センサ105、及び、周囲方向測距センサ106は外付けでもよい。
The distance measurement method may be any method, and examples thereof include a TOF (Time Of Flight) of ultrasonic waves and light, a stereo camera, and a monocular camera capable of detecting a distance. The top direction
天方向測距センサ104及び地方向測距センサ105は、操作部103が押下された時の筐体101と天井方向、筐体101と地面方向との距離をそれぞれ検出する。周囲方向測距センサ106は操作部103が押下された時の筐体101の周囲方向の物体との距離を検出する。周囲方向測距センサ106は、例えば操作部103が押下された状態でユーザが筐体101と共に自転した時の周囲方向の物体との距離を検出してもよい。これにより、周囲方向測距センサ106の数を低減できる。また、天方向測距センサ104及び地方向測距センサ105を1つのセンサで兼用してもよい。
The top direction
<ハードウェア構成例>
図2は、撮像装置100のハードウェア構成図の一例を示す。撮像装置100は内部バス210に接続されたCPU204、RAM205、ROM206、二次記憶部207(フラッシュメモリ)、USB制御部208、無線通信部209、画像符号化部202、センサ処理部203、及び、操作部103を有する。また、画像符号化部202には画像処理部201が接続されており、画像処理部201には撮像部102として第1面撮像部102と第2面撮像部102が接続されている。センサ処理部203には天方向測距センサ104、地方向測距センサ105、周囲方向測距センサ106、及び周囲方向測距センサ106が接続されている。
<Hardware configuration example>
FIG. 2 shows an example of a hardware configuration diagram of the
撮像装置100の制御はROM206に記憶されたプログラムをCPU204が実行することで行われる。ユーザが操作部103を操作して撮像を実行すると、画像処理部201は第1面撮像部102及び第2面撮像部102から取得した撮像画像のつなぎ合わせや画質の補正等の画像処理を行う。
The
画像処理部201は画像を画像符号化部202に出力し、画像符号化部202が符号化(所定の方式で圧縮)する。画像符号化部202は撮像画像符号化データを内部バス210経由でRAM205に転送する。
The
センサ処理部203は天方向測距センサ104、地方向測距センサ105、及び周囲方向測距センサ106の測距データを同様に内部バス210経由でRAM205に転送する。
The
プログラムを実行するCPU204はRAM205上の撮像画像符号化データと測距データを1つのファイルに格納し、二次記憶部207に記憶させる。記憶された撮像画像符号化データはUSB制御部208や無線通信部209を介して接続先の情報処理装置(図3に示す)に転送される。情報処理装置は例えば、スマートフォン、タブレット端末、PC(Personal Computer)など、アプリケーションソフトウェアを実行できる装置、電子機器、コンピュータ等である。
The
<情報処理装置について>
図3は情報処理装置10の概略斜視図の一例である。図3の情報処理装置10はPCが想定されている。PCは表示装置としてのディスプレイ308、入力装置としてのキーボード311及びマウス312を有している。
<About information processing equipment>
FIG. 3 is an example of a schematic perspective view of the
情報処理装置10はアプリケーションソフトウェアを実行する。このアプリケーションソフトウェアを情報処理装置10が実行すると、三次元のオブジェクトと全天球画像が描画された三次元コンピュータグラフィック(3DCG)上で、開発者がプログラミングした内容に従い全天球画像と三次元のオブジェクトが連携する。
The
アプリケーションソフトウェアはWebアプリでもよい。この場合、情報処理装置10はブラウザソフトを実行しサーバからHTML及びJavaScript(登録商標)で記述されたWebアプリを取得する。
The application software may be a Web application. In this case, the
アプリケーションソフトウェアには後述する全天球画像三次元描画ライブラリが組み込まれており、アプリケーションソフトウェアは全天球画像三次元描画ライブラリの機能を呼び出すことで、三次元のオブジェクトと全天球画像が連携した三次元コンピュータグラフィックを動作させる。 The application software has a built-in all-sky image three-dimensional drawing library, which will be described later, and the application software calls the functions of the all-sky image three-dimensional drawing library to link the three-dimensional object and the all-sky image. Operate 3D computer graphics.
開発者はライブラリを利用してプログラミングできるので開発工程を低減することができる。 Since the developer can program using the library, the development process can be reduced.
<<情報処理装置のハードウェア構成例>>
図4は、情報処理装置10のハードウェア構成図の一例を示す。情報処理装置10は、装置全体の動作を制御するCPU301、IPL(Initial Program Loader)や静的なデータを記憶したROM302、CPU301のワークエリアとして使用されるRAM303、CPU301が実行するプログラム304pや各種データを記憶するHD304を有する。また、CPU301の制御にしたがってHD304に対する各種データの読み出し又は書き込みを制御するHDD(Hard Disk Drive)305、フラッシュメモリ等の記録メディア306に対するデータの読み出し又は書き込み(記憶)を制御するメディアドライブ307を有する。また、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示するディスプレイ308、ディスプレイへの描画を行うGPU(Graphic Processer Unit)310、通信ネットワークを利用してデータ伝送をするためのネットワークI/F309、文字、数値、各種指示などの入力のための複数のキーを備えたキーボード311を有する。また、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行うマウス312、着脱可能な記録媒体の一例としての光記憶媒体313等に対する各種データの読み出し又は書き込みを制御する光記憶媒体ドライブ314、及び、上記各構成要素を図4に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン320を備えている。
<< Hardware configuration example of information processing device >>
FIG. 4 shows an example of a hardware configuration diagram of the
なお、プログラム304pは、インストール可能な形式又は実行可能な形式のファイルで、上記記録メディア306や光記憶媒体等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。また、プログラム304pは、プログラム配信用のサーバからインストール可能な形式又は実行可能な形式のファイルで情報処理装置10に配布されてもよい。プログラム304pには上記のアプリケーションソフトウェアが含まれる。
The program 304p is a file in an installable format or an executable format, and may be recorded and distributed on a computer-readable recording medium such as the recording medium 306 or the optical storage medium. Further, the program 304p may be distributed to the
<機能について>
図5は、撮像装置100と情報処理装置10の機能をブロック状に示す機能ブロック図の一例である。まず、撮像装置100は、画像データ取得部11、距離データ取得部12、操作受付部13、ファイル作成部14、及び、ファイル送信部15を有する。撮像装置100が有するこれら各部は、図2に示したCPU204がROM206からRAM205に展開されたプログラムを実行し、図2に示す各部を制御することで実現される機能又は手段である。
<About functions>
FIG. 5 is an example of a functional block diagram showing the functions of the
画像データ取得部11は、ユーザの操作に応じて全天球画像を取得する(撮像する)。画像データ取得部11は、CPU204がプログラムを実行して画像処理部201を制御すること等により実現される。
The image
距離データ取得部12は、ユーザの操作に応じて天井方向、地面方向、及び、周囲方向の測距データを取得する。距離データ取得部12は、CPU204がプログラムを実行してセンサ処理部203を制御すること等により実現される。
The distance
操作受付部13は、撮像装置100に対する各種のユーザ操作を受け付ける。操作受付部13は、CPU204がプログラムを実行して操作部103を制御すること等により実現される。
The
ファイル作成部14は、全天球画像と測距データを1つにまとめたファイルを作成する。ファイル作成部14は、CPU204がプログラムを実行すること等により実現される。ファイルは二次記憶部207に記憶される。ファイルのフォーマットの一例を表1に示す。
The
ファイル送信部15は、二次記憶部207に記憶されたファイルを情報処理装置10に送信する。二次記憶部207の全てのファイルを情報処理装置10に送信してもよいし、ユーザが選択したファイルのみを送信してもよい。ファイル送信部15はCPU204がプログラムを実行してUSB制御部208、又は無線通信部209を制御すること等により実現される。ファイルは送信される他、USBメモリなどの記憶媒体に記憶され、情報処理装置10が記憶媒体から読み取ってもよい。また、ファイルが格納されるサーバに送信され、情報処理装置10がサーバからファイルを受信(ダウンロード)してもよい。
The
情報処理装置10は、ファイル取得部21、制御部22、操作受付部23、全天球画像三次元ライブラリ24、及び、描画処理部25を有する。情報処理装置10が有するこれら各部は、図4に示したCPU301がHD304からRAM303に展開されたプログラム304pを実行し、図4に示す各部を制御することで実現される機能又は手段である。
The
ファイル取得部21は、撮像装置100が作成したファイルを取得する。例えば、撮像装置100から無線又は有線で受信したり、記憶媒体から読み取ったり、サーバから受信したりする。ファイル取得部21は、CPU301がHD304からRAM303に展開されたプログラム304pを実行しネットワークI/F309を制御すること等により実現される。
The
制御部22は、情報処理装置10の動作の全体を制御する。アプリケーションソフトウェアには動作手順が記述されており、この記述にしたがって全天球画像三次元ライブラリ24を呼び出す。制御部22は、CPU301がHD304からRAM303に展開されたプログラム304pを実行すること等により実現される。
The
操作受付部23は、情報処理装置10に対する各種のユーザ操作を受け付ける。操作受付部23は、CPU301がプログラム304pを実行してキーボード311及びマウス312を制御すること等により実現される。
The
全天球画像三次元ライブラリ24は、全天球画像を三次元オブジェクトと連携させるためこれらを同じ座標系に配置したり、適切な属性を付与したり、連携させるための機能を備えるプログラムである。ライブラリとは、よく使用される機能がプログラムで記述された部品の集合である。アプリケーションソフトウェアの開発では、従来からライブラリが活用されている。
The spherical image three-
本実施形態では、一例として描画オブジェクト生成部26、カメラオブジェクト生成部27、シーンオブジェクト生成部28、及び、ボールオブジェクト生成部29を有している。全天球画像三次元ライブラリ24はこれらオブジェクトのクラスを有している。クラスはプログラムの設計図、オブジェクトはクラスに具体的な数値が設定された実体である。
In the present embodiment, as an example, it has a drawing
描画オブジェクトは生成されたオブジェクトの描画に関する処理を行う。例えば、各オブジェクトの描画優先度に基づく描画の有無の設定を行い、全天球画像を取得して後述するスクリーンオブジェクトへの貼り付けを描画処理部に要求する。カメラオブジェクト生成部27は撮像装置100のオブジェクト(カメラオブジェクト)を生成する。カメラオブジェクトは全天球画像の視点となる。シーンオブジェクト生成部28は全天球画像や他のオブジェクトを配置するためのシーンオブジェクトを生成する。シーンオブジェクトは空間を表すオブジェクトということができ、時刻経過、重力などの属性を有する。ボールオブジェクト生成部29は全天球画像と連携する三次元オブジェクトの一例としてボールオブジェクト47を生成する。ボールオブジェクト生成部29は開発者などが定義した(ユーザ定義した)任意の三次元オブジェクトを生成できる。ボールオブジェクト47は一例に過ぎない。
The drawing object performs processing related to drawing the generated object. For example, the presence / absence of drawing is set based on the drawing priority of each object, and the drawing processing unit is requested to acquire the spherical image and paste it on the screen object described later. The camera
描画処理部25は、描画オブジェクトからの描画要求に応じて全天球画像を含め、各オブジェクトをディスプレイ114に描画するレンダリングに関する処理を行う。なお、描画処理部25はCPU301がプログラムを実行しGPU310を制御すること等により実現される。
The
周囲測距密度は、周囲方向の測距データの空間密度を表す。例えば、ある水平位置の周囲360°に対して360点の測距データがある場合、周囲測距密度は360点/360°=1である。200点の場合は200/360=0.56である。 Peripheral distance measurement density represents the spatial density of distance measurement data in the peripheral direction. For example, when there are 360 points of distance measurement data for 360 ° around a certain horizontal position, the peripheral distance measurement density is 360 points / 360 ° = 1. In the case of 200 points, 200/360 = 0.56.
画像データ部は既存の符号化方式の画像データ(符号ヘッダと符号)を格納する。測距データ部は天方向測距データ、地方向測距データ及び周囲方向測距データを格納する。 The image data unit stores image data (code header and code) of the existing coding method. The distance measurement data unit stores heavenly distance measurement data, ground direction distance measurement data, and peripheral direction distance measurement data.
<全天球画像三次元ライブラリが生成するオブジェクトの概念的な説明>
図6は、全天球画像三次元ライブラリ24が生成するオブジェクトの一例を示す。各オブジェクトは同じ座標系に配置された三次元オブジェクトである。カメラオブジェクト44は仮想的な三次元空間を情報処理装置10が表示するための視点位置に配置される。カメラオブジェクト44は、座標、視線方向、及び、ズーム倍率(画角)をパラメータとして有する。図示するようなカメラの形状は説明のためのものであり、カメラオブジェクト44は大きさを有する必要はない。
<Conceptual explanation of objects generated by the spherical image 3D library>
FIG. 6 shows an example of an object generated by the spherical image three-
スクリーンオブジェクト43は全天球画像が貼り付けられるオブジェクトである。スクリーンオブジェクト43はカメラオブジェクト44の側(スクリーンオブジェクト43の内側)に貼り付けられる。スクリーンオブジェクト43の形状は図示するような球体であるが、これは全天球画像が球であるためである。スクリーンオブジェクト43の他の形状については後述する。スクリーンオブジェクト43は実際には三角形又は四角形のポリゴンが組み合わされて構築されている。
The
スクリーンオブジェクト43の座標は中心位置がカメラオブジェクト44と一致する座標とする。撮像装置100の位置から全天球画像を情報処理装置10が見えるように各オブジェクトを配置するためである。
The coordinates of the
スクリーンオブジェクト43が球の場合の半径は焦点距離などでよく予め定められている。ユーザは画角α(ズーム倍率)を変更できるため、半径としては適宜決定された値(例えば焦点距離)が用いられればよい。
When the
天井オブジェクト41は、撮像装置100から見た天井を表すオブジェクトであり、ファイルに含まれる天方向測距データに基づき生成される(カメラオブジェクト44に天方向測距データを加えた値)。広さは無限大とし、高さ位置はカメラオブジェクト44を基準に天方向測距データに基づいて決定される。情報処理装置10は天井オブジェクト41を表示するのでなく、スクリーンオブジェクト43に貼り付けられた全天球画像を表示するので、天井オブジェクト41自体は無色透明である。
The
なお、図6では天井オブジェクト41がスクリーンオブジェクト43の外側にあるが、天井オブジェクト41の高さによってはスクリーンオブジェクト43の内側にある場合もある。この場合でも、天井オブジェクト41は無色透明なので、スクリーンオブジェクト43に貼りつけられた実空間の天井の画像を遮ることはない。
Although the
地面オブジェクト42は、撮像装置100から見た地面を表すオブジェクトであり、ファイルに含まれる地方向測距データに基づき生成される。広さは無限大とし、高さ位置はカメラオブジェクト44を基準に地方向測距データに基づいて決定される(カメラオブジェクト44から地方向測距データを減じた値)。また、地面という意味では0(座標系の基準点)としてもよい。情報処理装置10は地面オブジェクト42を表示するのでなく、スクリーンオブジェクト43に貼り付けられた全天球画像を表示するので、地面オブジェクト42自体は無色透明である。
The
なお、図6では地面オブジェクト42がスクリーンオブジェクト43の外側にあるが、地面オブジェクト42の高さによってはスクリーンオブジェクト43の内側に来る場合もある。この場合でも、地面オブジェクト42は無色透明なので、スクリーンオブジェクト43に貼り付けられた実空間の地面の画像を遮ることはない。
Although the
図7は、球でないスクリーンオブジェクト43の一例を示す。図7では、スクリーンオブジェクト43は平面である。この場合、スクリーンの広さはカメラオブジェクト44の画角αの大きさに相当するように可変である。また、スクリーンオブジェクト43は任意の曲率を持たせた曲面でもよい。球体でない場合のスクリーンオブジェクト43とカメラオブジェクト44との距離は、投影した全天球画像がカメラオブジェクト44から歪みなく見えるよう事前に調整した定数とする。例えば、画角αが大きいほど大きくなるような距離である。
FIG. 7 shows an example of a
図8は側面オブジェクト46を模式的に示す図である。図8は、カメラオブジェクト44を上面(天井側)から見た図である。側面オブジェクト46は、撮像装置100の側面(周囲方向)を表すオブジェクトであり、側面オブジェクト46はファイルの周囲方向測距データから生成される。周囲方向測距データは周囲の方向によって変化しうるので帯状(厚みはない)の立体形状のオブジェクトである。
FIG. 8 is a diagram schematically showing the
図8では周囲方向の形状の起伏を示しているが、周囲方向の撮像環境の形状は高さ方向にも起伏がある形状でよい。情報処理装置10は側面オブジェクト46を表示するのでなく、スクリーンオブジェクト43に貼り付けられた全天球画像を表示するので、側面オブジェクト46自体は無色透明である。
Although FIG. 8 shows the undulations of the shape in the peripheral direction, the shape of the imaging environment in the peripheral direction may be a shape having undulations in the height direction as well. Since the
<物理作用>
各オブジェクトは、衝突や落下など実空間と同様の物理的な作用を受けて動作することができる。このため、各オブジェクトには物理作用(相互作用の有無、重力の影響の有無など)の属性が設定されうる。全天球画像三次元ライブラリ24の各生成部は、開発者によるアプリケーションソフトウェアへの記述にしたがって、オブジェクトごとに物理作用の有無及び大きさを設定する。
<Physical action>
Each object can operate under the same physical action as in real space, such as collision and fall. Therefore, attributes of physical action (presence / absence of interaction, presence / absence of influence of gravity, etc.) can be set for each object. Each generation unit of the spherical image three-
スクリーンオブジェクト43には一切の物理作用は設定されない。すなわち他のオブジェクトと衝突したり、重力の影響で落下したりしない。天井オブジェクト41、地面オブジェクト42及び側面オブジェクト46は、他のオブジェクトと相互作用するように生成される。アプリケーションソフトウェアは他のオブジェクト(例えばボールオブジェクト)との衝突を表現することができる。ただし、天井オブジェクト41と地面オブジェクト42及び側面オブジェクト46は重力の影響を受けないように設定される。ボールオブジェクトは他のオブジェクトと相互作用し、更に重力の影響を受けるように設定される。
No physical action is set on the
<描画優先度>
描画優先度とは、視点からみて複数のオブジェクトが重なった場合、描画処理部25がどのオブジェクトを表示するかを決定するための属性である。描画オブジェクトは、各オブジェクトの描画優先度を設定したり変更したりする。図9を用いて説明する。
<Drawing priority>
The drawing priority is an attribute for the
図9は、描画優先度に基づくボールの描画を説明する図の一例である。まず、描画オブジェクトはスクリーンオブジェクト43の描画優先度を最も低く設定する。したがって、スクリーンオブジェクト43に貼り付けられた全天球画像の描画優先度も同様に扱われる。
FIG. 9 is an example of a diagram illustrating drawing of a ball based on drawing priority. First, the drawing object sets the drawing priority of the
ボールオブジェクト47の描画優先度はスクリーンオブジェクト43、天井オブジェクト41、地面オブジェクト42及び側面オブジェクト46よりも高い。
The drawing priority of the
描画オブジェクトは原則的に近くてかつ描画優先度が高いオブジェクトを表示する。ボールオブジェクト47がカメラオブジェクト44とスクリーンオブジェクト43の間にある場合、ボールオブジェクト47の方がスクリーンオブジェクト43(全天球画像)よりも近く、かつ、ボールオブジェクト47の描画優先度の方が高いのでボールオブジェクト47が表示される。ボールオブジェクト47がスクリーンオブジェクト43と側面オブジェクト46の間にある場合、スクリーンオブジェクト43の方が近いが、ボールオブジェクト47の描画優先度の方が高いので、ボールオブジェクト47が表示候補になる。また、ボールオブジェクト47と側面オブジェクト46では、ボールオブジェクト47の方が近いく優先度も高いのでボールオブジェクト47が表示される。ボールオブジェクト47が側面オブジェクト46よりも遠方にある場合、ボールオブジェクト47の優先度の方が高く側面オブジェクト46は透明だが、描画オブジェクトは例外的にボールオブジェクト47を非表示にする(マスクする)。
In principle, drawing objects display objects that are close to each other and have high drawing priority. When the
このように描画優先度を決定することで、各オブジェクトの表示と非表示を制御できる。 By determining the drawing priority in this way, it is possible to control the display and non-display of each object.
<動作手順>
図10,図11を用いて、全天球画像三次元ライブラリ24により作成されたアプリケーションソフトウェアの動作手順を説明する。このアプリケーションソフトウェアは任意の位置からボールを投げる動作を行う。
<Operation procedure>
The operation procedure of the application software created by the spherical image three-
S1:制御部22は、全天球画像三次元ライブラリ24の描画オブジェクト生成部26を呼び出し、描画オブジェクトを生成する。具体的には、描画オブジェクト生成部26は描画クラスコンストラクタを有しており、描画オブジェクトに適切な属性に初期値を設定する。
S1: The
S2:同様に、制御部22はカメラオブジェクト生成部27を呼び出しでカメラオブジェクト44を生成する。この時も、カメラクラスコンストラクタが属性に初期値(座標、画角、視線方向等)を設定する。
S2: Similarly, the
S3:同様に、制御部22はシーンオブジェクト生成部28を呼び出しでシーンオブジェクトを生成する。この時も、シーンクラスコンストラクタが属性に初期値(座標、時刻、重力の大きさ等)を設定する。また、この初期値として全天球画像のファイル名を指定する。
S3: Similarly, the
S4:シーンオブジェクト生成部28はシーンオブジェクトの生成時、連携してスクリーンオブジェクト43を生成する。必要な属性値(座標、サイズ、物理作用、描画優先度等)が設定される。
S4: The scene
S5:更に、シーンオブジェクト生成部28は、指定された全天球画像のファイルをファイル取得部21から取得する。
S5: Further, the scene
S6:シーンオブジェクト生成部28はファイルに格納されている天方向測距データに基づいて天井オブジェクト41を生成しシーンオブジェクトに追加する。また、属性として高さ、サイズ、物理作用、透明度、描画優先度等を設定する。
S6: The scene
S7:同様に、シーンオブジェクト生成部28はファイルに格納されている地方向測距データに基づいて地面オブジェクト42を生成しシーンオブジェクトに追加する。また、属性として、高さ、サイズ、物理作用、透明度、描画優先度等を設定する。
S7: Similarly, the scene
S8:同様に、シーンオブジェクト生成部28はファイルに格納されている周囲方向測距データに基づいて側面オブジェクト46を生成しシーンオブジェクトに追加する。また、属性として物理作用、透明度、描画優先度等を設定する。
S8: Similarly, the scene
S9、S10:次に、制御部22はシーンオブジェクトに表現したい立体として、全天球画像三次元ライブラリ24のボールオブジェクト生成部29を呼び出す。ボールオブジェクト生成部29はボールの他、各種の立体を生成することができる。この時も、立体クラスコンストラクタが初期値(座標、サイズ、速度、向き、物理作用、描画優先度等が設定される)を設定する。ボールのサイズや位置は任意でよい。
S9, S10: Next, the
S11:次に、制御部22は生成したボールオブジェクト47をシーンオブジェクトに追加する。
S11: Next, the
S12:次に、制御部22は描画オブジェクトに対して描画指示をおこなう。つまり、描画を開始する。
S12: Next, the
S13、S14:描画オブジェクトは描画優先度の定義に基づき描画対象の各オブジェクトの描画の有無を決定し、各オブジェクトの座標を描画処理部25に送出する。
S13, S14: The drawing object determines whether or not to draw each object to be drawn based on the definition of drawing priority, and sends the coordinates of each object to the
S15:次に、描画オブジェクトは全天球画像のファイルを読み出す。 S15: Next, the drawing object reads the spherical image file.
S16:描画オブジェクトは、画像データをスクリーンオブジェクト43に対するテクスチャデータとして描画処理部25に送信する。全天球画像はスクリーンオブジェクト43のテクスチャデータとなる。
S16: The drawing object transmits the image data to the
S17:描画処理部25は、テクスチャデータをスクリーンオブジェクト43に貼り付け、描画オブジェクトから送出された描画対象の各オブジェクトの座標、描画の有無に基づき、三次元のオブジェクトを2次元のディスプレイに表示するためのレンダリングを行う。レンダリングとは、各オブジェクトの座標、カメラ位置、画角、視線方向、印影などを処理して、具体的な画素の集合を得ることをいう。
S17: The drawing
S18:以上で、全天球画像とボールがディスプレイに対して表示される。 S18: Now, the spherical image and the ball are displayed on the display.
S19:次に、制御部22は、ボールオブジェクト47の物理的な移動を表現するため、速度と向きをボールオブジェクト47に対して設定する。
S19: Next, the
S20:次に、制御部22は、シーンオブジェクトに対して時刻経過を指示する。時刻経過とはボールが動画のように動いているようにユーザから見える設定された時間間隔である。
S20: Next, the
S21:シーンオブジェクトはボールオブジェクト47に対して、時刻経過、移動速度、及び向きに基づき、位置の更新を行う。ボールオブジェクト47は物理作用に関する属性に重力の影響を受けることが設定されているので、重力加速度で落下する。本実施例では動くのはボールのみである。また、ボールと他の各オブジェクトとの間で衝突判断を行い、衝突する場合は速度と向きの更新を行う。衝突した場合、ボールオブジェクト47が側面オブジェクト46等に近づく角度、速度、ボールオブジェクト47と側面オブジェクト46等の反発係数などから衝突後の速度と向きが算出される。
S21: The scene object updates the position of the
S22:次に、制御部22は、再度、描画オブジェクトに対して描画指示を行う。
S22: Next, the
S23〜S27:全天球画像のファイルの読み出しが不要なるが、それ以外は上記のステップS13〜18と同様である。 S23 to S27: It is not necessary to read the spherical image file, but the other steps are the same as in steps S13 to 18 above.
アプリケーションソフトウェアは、ステップS19〜S27を繰り返す。時刻経過の更新に基づいてボールオブジェクト47の速度と向きの変更を繰り返し行う。このように、アプリケーションソフトウェアは、全天球画像と三次元のオブジェクトが連携した描画処理を、全天球画像三次元ライブラリ24を用いて行うことができる。
The application software repeats steps S19 to S27. The speed and orientation of the
全天球画像三次元ライブラリ24が全天球画像のスクリーンオブジェクト、天井オブジェクト、地面オブジェクト、側面オブジェクト46を生成し、ボールオブジェクト47と相互作用させるので、三次元のオブジェクトと全天球画像が連携したアプリケーションソフトウェアを開発者が開発することが容易になる。
Since the spherical image three-
本実施例では更に光源オブジェクトを生成可能な全天球画像三次元ライブラリ24について説明する。
In this embodiment, a spherical image three-
本実施例の全天球画像三次元ライブラリ24は全天球画像の読み込み時に画像内の光源の位置を推定する。また、光源は天井、側面、又は、地面に配置されると推定して、測距データに基づき空間内の光源の配置位置を算出し、光源オブジェクトを自動的に生成する。図12を用いて説明する。
The spherical image three-
図12は、全天球画像三次元ライブラリ24が生成するオブジェクトの一例を示す。本実施例において、図6において同一の符号を付した構成要素は同様の機能を果たすので、主に本実施例の主要な構成要素についてのみ説明する場合がある。
FIG. 12 shows an example of an object generated by the spherical image three-
図12には光源オブジェクト48が示されている。光源オブジェクト48は空間内の光源を表す。アプリケーションソフトウェアが空間内に配置した三次元の各オブジェクトは光源の影響を受け、アプリケーションソフトウェアは表面上の陰影及びボールオブジェクト47の影49を表現する。
FIG. 12 shows the
シーンオブジェクトは全天球画像から光源位置を推定する。例えば、全天球画像を照明に相当する輝度で二値化して、ノイズを除去する。一定以上の面積を有する画素範囲のうち、光源の形状に類似した画素範囲に光源があると推定する。光源の形状は線状でも円形でもよい。全天球画像三次元ライブラリ24が光源を推定できなかった場合、視点位置に光源オブジェクトを配置する。
The scene object estimates the light source position from the spherical image. For example, the spherical image is binarized with the brightness corresponding to the illumination to remove noise. It is estimated that the light source is located in the pixel range having an area of a certain area or more and similar to the shape of the light source. The shape of the light source may be linear or circular. If the spherical image three-
側面オブジェクト46、地面オブジェクト42及び天井オブジェクト41は無色透明だが、他のオブジェクト(ボール)が形成する影49は表面上に投影されるものとする。
The
アプリケーションソフトウェアがカメラオブジェクト44の付近から視線方向にボールを投げたものとする。ボールオブジェクト47の表面の一部に光源オブジェクトの光があたり陰影が生じる。また、光源オブジェクトとボールを結ぶ直線上にボールオブジェクト47の影49が生じるため、地面オブジェクト42及び側面オブジェクト46に影49が描画される。
It is assumed that the application software throws the ball in the line-of-sight direction from the vicinity of the
<動作手順>
図13は、全天球画像三次元ライブラリ24により作成されたアプリケーションソフトウェアの動作手順を説明するシーケンス図の一例である。図13の説明では主に図10,11との相違を説明する。ステップS1〜S8までの処理は図10と同様である。
<Operation procedure>
FIG. 13 is an example of a sequence diagram for explaining the operation procedure of the application software created by the spherical image three-
S8-2:次に、シーンオブジェクト生成部28は全天球画像から光源位置を推定する。光源位置は緯度と経度で特定される。
S8-2: Next, the scene
S8-3:シーンオブジェクトは、光源位置と測距データに基づき光源オブジェクトの座標を決定する。カメラオブジェクト44と光源位置(緯度・経度)を結ぶ直線が、天井、地面、又は側面のどこと交差するかを判断し、交差すると判断した天井、地面、又は側面の交差点に光源オブジェクトを配置する。
S8-3: The scene object determines the coordinates of the light source object based on the light source position and the distance measurement data. Determine where the straight line connecting the
続く、ステップS9〜S13は図10と同様である。
S14:描画オブジェクトは描画対象の各オブジェクトの座標に加え光源オブジェクトの座標を描画処理部25に送信する。以降の処理は実施例1と同様である。
Subsequent steps S9 to S13 are the same as in FIG.
S14: The drawing object transmits the coordinates of the light source object in addition to the coordinates of each object to be drawn to the
これにより、描画処理部25がレンダリングを行う場合、光源オブジェクトに基づきシェーディング処理をすることができる。シェーディングとは、光源オブジェクト、オブジェクトの反射材質、及び、オブジェクトの法線ベクトルに基づいて陰影を付す処理である。
As a result, when the
このように本実施例の全天球画像三次元ライブラリ24は、全天球画像から光源を検出して光源オブジェクトを生成するので、アプリケーションソフトウェアは他のオブジェクトに対する陰影を施すことができる。
As described above, the spherical image three-
本実施例では全天球画像が動画として撮像された場合に、三次元のオブジェクトと連携するアプリケーションソフトウェアを作成できる全天球画像三次元ライブラリ24について説明する。実施例1では、ボールオブジェクト47が移動しても全天球画像は静止していたが、本実施例ではボールオブジェクト47の移動と共に、全天球画像三次元ライブラリ24が全天球画像も変化させることができる。なお、動画の撮像中、撮像装置100は移動しない(固定されている)ものとする。したがって、視点も移動しない。
In this embodiment, the spherical image three-
本実施例の距離データ取得部12は、動画の撮像中、継続して測距データを検出する。したがって、測距データは動画の撮像と合わせて時間的な変化を有する。表2に本実施例のファイルフォーマットの一例を示す。
The distance
<動作手順>
本実施例のアプリケーションソフトウェアの動作は実施例2の図13と同様であるが、図13に続く処理が本実施例では異なっている。
<Operation procedure>
The operation of the application software of this embodiment is the same as that of FIG. 13 of the second embodiment, but the processing following FIG. 13 is different in this embodiment.
図14は、全天球画像三次元ライブラリ24により作成されたアプリケーションソフトウェアの動作手順を説明するシーケンス図の一例である。図14では、時刻経過に合わせて、シーンオブジェクトが各オブジェクト及び投影する全天球画像を更新する。S19、S20の処理は図11と同様である。
FIG. 14 is an example of a sequence diagram illustrating an operation procedure of the application software created by the spherical image three-
S21-1:シーンオブジェクトは、全天球の動画データのファイルが有する時系列天方向測距データから対応する時刻の測距データを読み出し、天井オブジェクト41の高さを更新する。
S21-1: The scene object reads the distance measurement data at the corresponding time from the time-series celestial distance measurement data contained in the spherical moving image data file, and updates the height of the
S21-2:シーンオブジェクトは、全天球の動画データのファイルが有する時系列地方向測距データから対応する時刻の測距データを読み出し、地面オブジェクト42の高さを更新する。
S21-2: The scene object reads the distance measurement data at the corresponding time from the time-series ground direction distance measurement data contained in the spherical moving image data file, and updates the height of the
S21-3:シーンオブジェクトは、全天球の動画データのファイルが有する時系列周囲方向測距データから対応する時刻の測距データを読み出し、側面オブジェクト46の形状を更新する。
S21-3: The scene object reads the distance measurement data at the corresponding time from the time-series peripheral direction distance measurement data contained in the spherical moving image data file, and updates the shape of the
S21-4:シーンオブジェクトは、全天球の動画データから対応する時刻の画像データを読み出し、光源オブジェクトを更新する。すなわち、光源位置を推定して光源の座標等を更新する。 S21-4: The scene object reads the image data at the corresponding time from the moving image data of the spherical image and updates the light source object. That is, the position of the light source is estimated and the coordinates of the light source are updated.
S21-5:また、シーンオブジェクトは速度、向き及び重力の定義に基づいてボールオブジェクト47の位置を更新し、ボールオブジェクト47と各オブジェクトとの衝突判断を行う。衝突する場合には、速度と向きを更新する。
S21-5: Further, the scene object updates the position of the
ステップS22〜24の処理は実施例2と同様である。
S24-2:描画オブジェクトは、時刻経過にしたがって全天球の動画データを更新する。すなわち、指定された時刻に対応する画像データを動画データから読み出す。
The processing of steps S22 to 24 is the same as that of the second embodiment.
S24-2: The drawing object updates the moving image data of the whole celestial sphere with the passage of time. That is, the image data corresponding to the specified time is read from the moving image data.
以上の処理により、本実施例のアプリケーションソフトウェアは、三次元オブジェクトの移動に合わせて全天球画像を更新するので、動画の全天球画像と三次元のオブジェクトを連携させることができる。 By the above processing, the application software of this embodiment updates the spherical image in accordance with the movement of the three-dimensional object, so that the spherical image of the moving image and the three-dimensional object can be linked.
本実施例では回転しうる撮像装置100により撮像された全天球画像が動画として撮像された場合でも、三次元のオブジェクトと連携するアプリケーションソフトウェアを作成できる全天球画像三次元ライブラリ24について説明する。実施例3との相違は、撮像装置100が回転する点である。撮像装置100が回転角を検出し、シーンオブジェクトが天井オブジェクト41、地面オブジェクト、側面オブジェクト46、光源オブジェクト48、及び、ボールオブジェクト47の位置等を更新するので、撮像装置100に手ぶれなどが生じても情報処理装置10は一定の視点でオブジェクトを描画できる。
In this embodiment, the spherical image three-
図15は、本実施例の撮像装置100のハードウェア構成図の一例を示し、図16は、本実施例の撮像装置100と情報処理装置10の機能をブロック状に示す機能ブロック図の一例である。図15の説明では主に図2との相違を説明する。図15に示すように撮像装置100は角速度センサ107を有し、センサ処理部203と接続されている。
FIG. 15 shows an example of a hardware configuration diagram of the
また、図16の説明では主に図5との相違を説明する。図16の撮像装置100は角速度データ取得部16を有している。角速度データ取得部16は、撮像装置100に生じる角速度を検出する。角速度データ取得部16は、CPU204がプログラムを実行してセンサ処理部203を制御すること等により実現される。角速度データは表3に示すように画像データと共にファイルに格納される。
Further, in the description of FIG. 16, the difference from FIG. 5 will be mainly described. The
<動作手順>
図17は、全天球画像三次元ライブラリ24により作成されたアプリケーションソフトウェアの動作手順を説明するシーケンス図の一例である。図17の説明では主に図14との相違を説明する。図17では、時刻経過に合わせて、アプリケーションソフトウェアが各オブジェクト及び投影する全天球画像を更新すると共に撮像装置100の回転に基づく各オブジェクトの座標を補正する。撮像装置100が回転しても撮像装置100の正面向きが一定になるよう補正する。
<Operation procedure>
FIG. 17 is an example of a sequence diagram for explaining the operation procedure of the application software created by the spherical image three-
S21-1:シーンオブジェクトは、全天球の動画データのファイルが有する時系列角速度データから対応する時刻の角速度を読み出し回転角を算出し、天井オブジェクト41の座標を更新する。すなわち、撮像装置100と同じ回転角だけ天井オブジェクト41を回転させる。
S21-1: The scene object reads the angular velocity at the corresponding time from the time-series angular velocity data of the moving image data file of the whole sky, calculates the rotation angle, and updates the coordinates of the
S21-2:シーンオブジェクトは、全天球の動画データのファイルが有する時系列角速度データから対応する時刻の角速度を読み出し回転角を算出し、地面オブジェクト42の座標を更新する。すなわち、撮像装置100と同じ回転角だけ地面オブジェクト42を回転させる。
S21-2: The scene object reads the angular velocity at the corresponding time from the time-series angular velocity data of the moving image data file of the whole sky, calculates the rotation angle, and updates the coordinates of the
S21-3:シーンオブジェクトは、全天球の動画データのファイルが有する時系列角速度データから対応する時刻の角速度を読み出し回転角を算出し、側面オブジェクト46の座標を更新する。すなわち、撮像装置100と同じ回転角だけ側面オブジェクト46を回転させる。
S21-3: The scene object reads the angular velocity at the corresponding time from the time-series angular velocity data of the moving image data file of the whole sky, calculates the rotation angle, and updates the coordinates of the
S21-4:シーンオブジェクトは、全天球の動画データのファイルが有する時系列角速度データから対応する時刻の角速度を読み出し回転角を算出し、また、光源位置を推定する。そして、撮像装置100と同じ回転角だけ光源オブジェクト48を回転させる。
S21-4: The scene object reads the angular velocity at the corresponding time from the time-series angular velocity data of the moving image data file of the whole sky, calculates the rotation angle, and estimates the light source position. Then, the
S21-5:また、シーンオブジェクトは速度、向き及び重力の定義に基づいて各オブジェクトの位置を更新すると共に、撮像装置100と同じ回転角だけボールオブジェクト47を回転させる。また、ボールと各オブジェクトとの衝突判断を行う。衝突する場合には、速度と向きを更新する。
S21-5: Further, the scene object updates the position of each object based on the definitions of velocity, orientation and gravity, and rotates the
ステップS22〜24の処理は図14と同様である。
S24-2:描画オブジェクトは、時刻経過にしたがって全天球の動画データを更新する。また、撮像装置100と同じ回転角だけ全天球画像を回転させる。
The processing of steps S22 to 24 is the same as in FIG.
S24-2: The drawing object updates the moving image data of the whole celestial sphere with the passage of time. Further, the spherical image is rotated by the same rotation angle as that of the
以上の処理により、本実施例のアプリケーションソフトウェアは、動画の撮像時に手ぶれなどで撮像装置100が回転しても、各オブジェクト及び全天球画像を回転させるので、手ブレ等の筐体101の回転による視点ずれを補正して一定の視点で描画ができる。
By the above processing, the application software of this embodiment rotates each object and the spherical image even if the
本実施例では平行移動しうる撮像装置100により撮像された全天球画像が動画として撮像された場合でも、三次元のオブジェクトと連携するアプリケーションソフトウェアを作成できる全天球画像三次元ライブラリ24について説明する。実施例4との相違は、撮像装置100が平行移動する点である。平行移動の加速度を検出して、アプリケーションソフトウェアが天井オブジェクト41、地面オブジェクト42、側面オブジェクト46、光源オブジェクト48、及び、ボールオブジェクト47の位置等を更新するので、撮像者が移動した場合に各オブジェクトを一緒に移動させて各オブジェクトを描画できる。
In this embodiment, the spherical image three-
図18は、本実施例の撮像装置100のハードウェア構成図の一例を示し、図19は、本実施例の撮像装置100と情報処理装置10の機能をブロック状に示す機能ブロック図の一例である。図18の説明では主に図15との相違を説明する。図18に示すように撮像装置100は加速度センサ108を有し、センサ処理部203と接続されている。
FIG. 18 shows an example of a hardware configuration diagram of the
図19の説明では主に図16との相違を説明する。図19の撮像装置100は加速度データ取得部17を有している。加速度データ取得部17は、撮像装置100に生じる加速度を検出する。加速度データ取得部17は、CPU204がプログラムを実行してセンサ処理部203を制御すること等により実現される。加速度データは表4に示すように画像データと共にファイルに格納される。
In the description of FIG. 19, the difference from FIG. 16 will be mainly described. The
<動作手順>
図20は、全天球画像三次元ライブラリ24により作成されたアプリケーションソフトウェアの動作手順を説明するシーケンス図の一例である。図20の説明では主に図17との相違を説明する。図20では、時刻経過に合わせて、各オブジェクト及び投影する全天球画像を更新すると共に、撮像装置100の平行移動に基づきオブジェクトの座標を補正する。
<Operation procedure>
FIG. 20 is an example of a sequence diagram for explaining the operation procedure of the application software created by the spherical image three-
S21-1:シーンオブジェクトは、全天球の動画データのファイルが有する時系列加速度データから対応する時刻の加速度を読み出し移動量を算出し、天井オブジェクト41の座標を更新する。すなわち、撮像装置100が平行移動した分だけ天井オブジェクト41を平行移動させる。
S21-1: The scene object reads the acceleration at the corresponding time from the time-series acceleration data of the moving image data file of the whole sky, calculates the movement amount, and updates the coordinates of the
S21-2:シーンオブジェクトは、全天球の動画データのファイルが有する時系列加速度データから対応する時刻の加速度を読み出し移動量を算出し、地面オブジェクト42の座標を更新する。すなわち、撮像装置100が平行移動した分だけ地面オブジェクト42を平行移動させる。
S21-2: The scene object reads the acceleration at the corresponding time from the time-series acceleration data of the moving image data file of the whole sky, calculates the movement amount, and updates the coordinates of the
S21-3:シーンオブジェクトは、全天球の動画データのファイルが有する時系列加速度データから対応する時刻の加速度を読み出し移動量を算出し、側面オブジェクト46の座標を更新する。すなわち、撮像装置100が平行移動した分だけ側面オブジェクト46を平行移動させる。
S21-3: The scene object reads the acceleration at the corresponding time from the time-series acceleration data of the moving image data file of the whole sky, calculates the movement amount, and updates the coordinates of the
S21-4:シーンオブジェクトは、全天球の動画データのファイルが有する時系列加速度データから対応する時刻の加速度を読み出し移動量を算出し、また、光源位置を推定する。そして、撮像装置100が平行移動した分だけ光源オブジェクト48を平行移動させる。
S21-4: The scene object reads the acceleration at the corresponding time from the time-series acceleration data of the moving image data file of the whole sky, calculates the movement amount, and estimates the light source position. Then, the
S21-5:また、シーンオブジェクトは速度、向き及び重力の定義に基づいて各オブジェクトの位置を更新すると共に、撮像装置100と同じ移動量だけボールオブジェクト47を平行移動させる。また、ボールと各オブジェクトとの衝突判断を行う。衝突する場合には、速度と向きを更新する。
S21-5: Further, the scene object updates the position of each object based on the definitions of velocity, direction and gravity, and translates the
ステップS22〜24の処理は実施例4と同様である。
S24-2:描画オブジェクトは、時刻経過にしたがって全天球の動画データを更新する。また、撮像装置100と同じ移動量だけ全天球画像を平行移動させる。
The processing of steps S22 to 24 is the same as that of the fourth embodiment.
S24-2: The drawing object updates the moving image data of the whole celestial sphere with the passage of time. In addition, the spherical image is translated by the same amount of movement as that of the
以上の処理により、本実施例のアプリケーションソフトウェアは、動画の撮像時に撮像装置100が移動しても、各オブジェクト及び全天球画像を移動させるので、筐体101の移動による視点ずれを補正して一定の視点で描画ができる。実施例4と合わせれば、視点移動と回転による視点のズレを補正できる。
By the above processing, the application software of the present embodiment moves each object and the spherical image even if the
本実施例では、傾きを持つ有限の大きさの天井オブジェクト41及び地面オブジェクト42生成することができる全天球画像三次元ライブラリ24について説明する。
In this embodiment, a spherical image three-
図21は、撮像シーンを説明する図の一例である。実施例1〜5では、天井と地面が水平であることを前提にした。本実施例では図21に示すように、撮像装置100の上方向にある天井51が傾きを持ち有限の大きさである。また撮像装置100の下方向にある地面52も傾きを持ち有限の大きさである。このような撮像シーンでは天井51と地面52の傾きを、天井オブジェクト41と地面オブジェクト42に反映させることが好ましい。
FIG. 21 is an example of a diagram illustrating an imaging scene. In Examples 1 to 5, it was assumed that the ceiling and the ground were horizontal. In this embodiment, as shown in FIG. 21, the
図22は、全天球画像を撮像する撮像装置100の外観図の一例である。図22の説明では主に図1との相違を説明する。図1の撮像装置100に対して、図22の撮像装置100は複数の天方向測距センサ104及び複数の地方向測距センサ105を有する。したがって、それぞれが複数の測定点で距離を検出できるので、天井又は地面の傾きを検出できる。
FIG. 22 is an example of an external view of the
図23は、全天球画像三次元ライブラリ24が生成するオブジェクトの一例を示す。シーンオブジェクト生成部28は、測距データに基づいて天井と地面の傾きを判断し、この傾きを有する天井オブジェクト41及び地面オブジェクト42をシーンオブジェクトに追加する。また、天井と地面の大きさは測距データが検出された範囲により決定される。図23に示すように天井オブジェクト41及び地面オブジェクト42は複数の測定点の測距データに基づき、傾きを持つ有限の大きさのオブジェクトとして生成される。
FIG. 23 shows an example of an object generated by the spherical image three-
このように、大きさが有限で傾きや起伏がある天井又は地面が撮像されても、適切にオブジェクト生成が可能になる。 In this way, even if a ceiling or ground having a finite size and having an inclination or undulation is imaged, it is possible to appropriately generate an object.
<まとめ>
以上説明したように、本実施形態の全天球画像三次元ライブラリ24は、視点位置から「天井」「地面」までの高さ情報、視点位置から周囲方向への距離情報が全天球画像に付加されていることを利用して、高さ情報と距離情報に基づきそれぞれ天井オブジェクト、地面オブジェクト、及び側面オブジェクトといったオブジェクトを三次元空間に配置できる。また、任意の三次元オブジェクトとの物理作用を演算することができる。オブジェクトの生成や物理作用はライブラリで供給されるため、三次元のオブジェクトと全天球画像が連携するアプリケーションソフトウェアの開発が容易になる。
<Summary>
As described above, in the spherical image three-
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
<Other application examples>
Although the best mode for carrying out the present invention has been described above with reference to examples, the present invention is not limited to these examples, and various modifications are made without departing from the gist of the present invention. And substitutions can be made.
例えば、情報処理装置10がアプリケーションソフトウェアを実行するのでなく、撮像装置100がアプリケーションを実行してもよい。
For example, instead of the
また、測距データは撮像装置100が撮像した値に限られず、ユーザがマニュアルで設定した値でもよい。ユーザは測距データがない場合に設定したり、測距データを編集したりすることができる。
Further, the distance measurement data is not limited to the value captured by the
また、主に屋内の実施例を説明したが、撮像装置100が屋外を撮像して、屋外に適したライブラリが用意されてもよい。この場合天井オブジェクト41が不要になる場合がある。
Further, although the indoor embodiment has been mainly described, the
また、周囲360度が撮像された全天球画像を三次元空間が配置されたが、画像データは周囲360度が撮像されていなくてもよい。本実施形態の画像データは三次元空間に配置されることで見やすくなる湾曲した広角画像であればよい。例えば、水平方向にのみ360度撮像されていてもよいし、全天球の上半分や下半分が撮像されていてもよい。また、180度程度の広角画像でもよい。 Further, although the three-dimensional space is arranged on the spherical image in which the surrounding 360 degrees is captured, the image data does not have to be captured in the peripheral 360 degrees. The image data of the present embodiment may be a curved wide-angle image that is easy to see by being arranged in a three-dimensional space. For example, the image may be taken 360 degrees only in the horizontal direction, or the upper half or the lower half of the whole celestial sphere may be imaged. Further, a wide-angle image of about 180 degrees may be used.
なお、シーンオブジェクト生成部28は撮像オブジェクト生成手段の一例であり、カメラオブジェクト生成部27はカメラオブジェクト生成手段の一例であり、ボールオブジェクト生成部29はユーザオブジェクト生成手段の一例であり、描画オブジェクト生成部26は描画手段の一例である。また、天井オブジェクト41は第一のオブジェクトの一例であり、地面オブジェクト42は第二のオブジェクトの一例であり、側面オブジェクト46は第三のオブジェクトの一例である。ボールオブジェクト47は三次元オブジェクトの一例である。
The scene
10 :情報処理装置
24 :全天球画像三次元ライブラリ
41 :天井オブジェクト
42 :地面オブジェクト
43 :スクリーンオブジェクト
44 :カメラオブジェクト
46 :側面オブジェクト
47 :ボールオブジェクト
48 :光源オブジェクト
100 :撮像装置
10: Information processing device 24: Spherical image three-dimensional library 41: Ceiling object 42: Ground object 43: Screen object 44: Camera object 46: Side object 47: Ball object 48: Light source object 100: Imaging device
Claims (10)
前記広角画像が貼り付けられるスクリーンオブジェクトを生成し、前記天井方向の測距データに基づく第一のオブジェクト、前記地面方向の測距データに基づく第二のオブジェクト、又は、前記周囲方向の測距データに基づく第三のオブジェクトの少なくとも1つを生成する撮像オブジェクト生成手段と、
前記広角画像の視点となるカメラオブジェクトを生成するカメラオブジェクト生成手段と、
ユーザ定義された三次元オブジェクトを生成するユーザオブジェクト生成手段と、
前記スクリーンオブジェクト、前記第一のオブジェクト、前記第二のオブジェクト、前記第三のオブジェクト、及び、前記三次元オブジェクトと、前記スクリーンオブジェクトに貼り付けられる前記広角画像を描画処理部に送出する描画手段として機能させ、
前記撮像オブジェクト生成手段は、各オブジェクトが有する物理作用に関する属性に基づき各オブジェクトを更新することを特徴とするプログラム。 An information processing device that acquires at least one of wide-angle images and distance measurement data in the ceiling direction, the ground direction, or the surrounding direction.
A screen object to which the wide-angle image is attached is generated, and the first object based on the ceiling-direction ranging data, the second object based on the ground-direction ranging data, or the peripheral-direction ranging data. An imaging object generating means that generates at least one of the third objects based on
A camera object generation means for generating a camera object that serves as a viewpoint of the wide-angle image,
User object generation means to generate user-defined 3D objects,
As a drawing means for sending the screen object, the first object, the second object, the third object, the three-dimensional object, and the wide-angle image to be attached to the screen object to the drawing processing unit. Make it work,
The imaging object generation means is a program characterized in that each object is updated based on the attributes related to the physical action of each object.
前記描画手段は、前記透明度と前記描画優先度に基づいて、各オブジェクトの表示を制御する請求項1又は2に記載のプログラム。 The screen object, the first object, the second object, the third object, and the three-dimensional object have the attributes of transparency and drawing priority.
The program according to claim 1 or 2, wherein the drawing means controls the display of each object based on the transparency and the drawing priority.
前記描画手段は、前記光源オブジェクトが生成する影を前記描画処理部に描画させる請求項1〜3のいずれか1項に記載のプログラム。 The imaging object generating means detects a light source from the wide-angle image, and represents a light source at a position where the light source is detected among the first object, the second object, or the third object. Create an object and
The program according to any one of claims 1 to 3, wherein the drawing means causes the drawing processing unit to draw a shadow generated by the light source object.
前記撮像オブジェクト生成手段は、前記相互作用に関する設定を用いて、各オブジェクトの衝突の有無を判断する請求項1〜4のいずれか1項に記載のプログラム。 The physical action includes settings related to interaction with other objects.
The program according to any one of claims 1 to 4, wherein the imaging object generating means determines the presence or absence of collision of each object by using the setting related to the interaction.
前記撮像オブジェクト生成手段は、前記第一のオブジェクト、及び、前記第二のオブジェクト、前記第三のオブジェクトを指示された時刻の前記測距データを用いて更新し、
前記三次元オブジェクトを設定された速度と向き及び物理作用を用いて更新し、
前記描画手段は、前記時刻の前記広角画像を前記描画処理部に送出する請求項1〜5のいずれか1項に記載のプログラム。 The wide-angle image is a moving image, and the distance measurement data is recorded in chronological order together with the moving image.
The imaging object generation means updates the first object, the second object, and the third object with the distance measurement data at a designated time.
The 3D object is updated with the set velocity, orientation and physics.
The program according to any one of claims 1 to 5, wherein the drawing means sends the wide-angle image at the time to the drawing processing unit.
前記撮像オブジェクト生成手段は、前記第一のオブジェクト、前記第二のオブジェクト、前記第三のオブジェクト、及び、前記三次元オブジェクトを、前記角速度データを用いて更新し、
前記描画手段は、前記角速度データを用いて前記広角画像を回転させてから前記描画処理部に送出する請求項1〜6のいずれか1項に記載のプログラム。 The information processing device acquires angular velocity data regarding the rotation angle of the image pickup device that has captured the wide-angle image, and obtains angular velocity data.
The imaging object generation means updates the first object, the second object, the third object, and the three-dimensional object by using the angular velocity data.
The program according to any one of claims 1 to 6, wherein the drawing means rotates the wide-angle image using the angular velocity data and then sends the wide-angle image to the drawing processing unit.
前記撮像オブジェクト生成手段は、前記第一のオブジェクト、前記第二のオブジェクト、前記第三のオブジェクト、及び、前記三次元オブジェクトを、前記加速度データを用いて更新し、
前記描画手段は、前記加速度データを用いて前記広角画像を移動させてから前記描画処理部に送出する請求項1〜7のいずれか1項に記載のプログラム。 The information processing device acquires acceleration data of the image pickup device that has captured the wide-angle image, and obtains acceleration data.
The imaging object generation means updates the first object, the second object, the third object, and the three-dimensional object by using the acceleration data.
The program according to any one of claims 1 to 7, wherein the drawing means moves the wide-angle image using the acceleration data and then sends the wide-angle image to the drawing processing unit.
前記撮像オブジェクト生成手段は、複数の測定点の前記天井方向の測距データに基づく傾きのある前記第一のオブジェクトを生成し、
複数の測定点の前記地面方向の測距データに基づく傾きのある前記第二のオブジェクトを生成する請求項1〜8のいずれか1項に記載のプログラム。 The information processing device acquires distance measurement data in the ceiling direction or distance measurement data in the ground direction of a plurality of measurement points, and obtains the distance measurement data in the ceiling direction.
The imaging object generation means generates the first object having an inclination based on the distance measurement data in the ceiling direction of a plurality of measurement points.
The program according to any one of claims 1 to 8, which generates the second object having an inclination based on the distance measurement data of a plurality of measurement points in the ground direction.
前記広角画像が貼り付けられるスクリーンオブジェクトを生成し、前記天井方向の測距データに基づく第一のオブジェクト、前記地面方向の測距データに基づく第二のオブジェクト、又は、前記周囲方向の測距データに基づく第三のオブジェクトの少なくとも1つを生成する撮像オブジェクト生成手段と、
前記広角画像の視点となるカメラオブジェクトを生成するカメラオブジェクト生成手段と、
ユーザ定義された三次元オブジェクトを生成するユーザオブジェクト生成手段と、
前記スクリーンオブジェクト、前記第一のオブジェクト、前記第二のオブジェクト、前記第三のオブジェクト、及び、前記三次元オブジェクトと、前記スクリーンオブジェクトに貼り付けられる前記広角画像を描画処理部に送出する描画手段と、を有し、
前記撮像オブジェクト生成手段は、各オブジェクトが有する物理作用に関する属性に基づき各オブジェクトを更新することを特徴とする情報処理装置。 An information processing device that acquires at least one of a wide-angle image and distance measurement data in the ceiling direction, the ground direction, or the peripheral direction.
A screen object to which the wide-angle image is attached is generated, and the first object based on the ceiling-direction ranging data, the second object based on the ground-direction ranging data, or the peripheral-direction ranging data. An imaging object generating means that generates at least one of the third objects based on
A camera object generation means for generating a camera object that serves as a viewpoint of the wide-angle image,
User object generation means to generate user-defined 3D objects,
A drawing means for sending the screen object, the first object, the second object, the third object, the three-dimensional object, and the wide-angle image to be attached to the screen object to the drawing processing unit. Have,
The image pickup object generation means is an information processing device characterized in that each object is updated based on an attribute related to a physical action of each object.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017046744A JP6859763B2 (en) | 2017-03-10 | 2017-03-10 | Program, information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017046744A JP6859763B2 (en) | 2017-03-10 | 2017-03-10 | Program, information processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018151793A JP2018151793A (en) | 2018-09-27 |
JP6859763B2 true JP6859763B2 (en) | 2021-04-14 |
Family
ID=63681664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017046744A Active JP6859763B2 (en) | 2017-03-10 | 2017-03-10 | Program, information processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6859763B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11418710B2 (en) | 2019-02-07 | 2022-08-16 | Maxell, Ltd. | Composite reception/emission apparatus |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11328443A (en) * | 1998-05-12 | 1999-11-30 | Synergy:Kk | System and method for generating three-dimensional panorama image and recording media therefor |
US6983082B2 (en) * | 2002-11-15 | 2006-01-03 | Warner Bros. Entertainment Inc. | Reality-based light environment for digital imaging in motion pictures |
-
2017
- 2017-03-10 JP JP2017046744A patent/JP6859763B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018151793A (en) | 2018-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10964108B2 (en) | Augmentation of captured 3D scenes with contextual information | |
US11238644B2 (en) | Image processing method and apparatus, storage medium, and computer device | |
CN109242961B (en) | Face modeling method and device, electronic equipment and computer readable medium | |
JP6687204B2 (en) | Projection image generation method and apparatus, and mapping method between image pixels and depth values | |
JP7344974B2 (en) | Multi-virtual character control method, device, and computer program | |
JP5093053B2 (en) | Electronic camera | |
CN109743892B (en) | Virtual reality content display method and device | |
WO2015122108A1 (en) | Information processing device, information processing method and program | |
JP7353782B2 (en) | Information processing device, information processing method, and program | |
JP2011239361A (en) | System and method for ar navigation and difference extraction for repeated photographing, and program thereof | |
CN107563959B (en) | Panorama generation method and device | |
JP7267753B2 (en) | Control device, control method, and program | |
US9754398B1 (en) | Animation curve reduction for mobile application user interface objects | |
KR101875047B1 (en) | System and method for 3d modelling using photogrammetry | |
JP2009080514A (en) | Sensor arrangement design support system | |
US11062422B2 (en) | Image processing apparatus, image communication system, image processing method, and recording medium | |
JP2021136017A (en) | Augmented reality system using visual object recognition and stored geometry to create and render virtual objects | |
JP7403967B2 (en) | Information processing device, video generation device, image processing system, control method and program thereof | |
WO2020040277A1 (en) | Mixed reality system, program, mobile terminal device, and method | |
US20210142511A1 (en) | Method of generating 3-dimensional model data | |
JP6859763B2 (en) | Program, information processing device | |
JP2018109946A (en) | Display device, program, and method for display | |
JP5506371B2 (en) | Image processing apparatus, image processing method, and program | |
JP6371547B2 (en) | Image processing apparatus, method, and program | |
JP6405539B2 (en) | Label information processing apparatus for multi-viewpoint image and label information processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200116 |
|
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: 20210224 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210309 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6859763 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |