WO2023248619A1 - 端末装置及びオブジェクト管理サーバ - Google Patents

端末装置及びオブジェクト管理サーバ Download PDF

Info

Publication number
WO2023248619A1
WO2023248619A1 PCT/JP2023/016754 JP2023016754W WO2023248619A1 WO 2023248619 A1 WO2023248619 A1 WO 2023248619A1 JP 2023016754 W JP2023016754 W JP 2023016754W WO 2023248619 A1 WO2023248619 A1 WO 2023248619A1
Authority
WO
WIPO (PCT)
Prior art keywords
anchor
captured image
spatial structure
data
terminal device
Prior art date
Application number
PCT/JP2023/016754
Other languages
English (en)
French (fr)
Inventor
宏暢 藤野
真治 木村
健吾 松本
裕一 市川
拓郎 栗原
修 後藤
泰士 山本
Original Assignee
株式会社Nttドコモ
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 株式会社Nttドコモ filed Critical 株式会社Nttドコモ
Publication of WO2023248619A1 publication Critical patent/WO2023248619A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics

Definitions

  • the present invention relates to a terminal device and an object management server.
  • Patent Document 1 discloses a technique for generating spatial data in which an anchor serving as a reference for the position of a virtual object is mapped onto an image representing a real-world environment captured by a user device.
  • the first application for arranging the anchor and the second application for acquiring the spatial structure of the real space may be different from each other.
  • the first application places the anchor on a two-dimensional captured image showing the real space around the anchor.
  • a three-dimensional spatial structure is obtained by measuring the real space around the anchor in three dimensions using the second application.
  • An object of the present disclosure is to provide a terminal device that aligns the anchor position and spatial structure when the anchor position and spatial structure are obtained using different applications.
  • a terminal device includes a first acquisition unit that acquires captured image data indicating a captured image captured by an imaging device in a real space, and acquires spatial structure data indicating a spatial structure around an anchor in the real space. and a spatial adjustment unit that aligns the anchor and the spatial structure by comparing the captured image indicated by the captured image data and the spatial structure indicated by the spatial structure data. Be prepared.
  • the anchor position and the spatial structure can be aligned.
  • FIG. 1 is a block diagram showing the overall configuration of an information processing system 1 according to an embodiment.
  • FIG. 3 is an explanatory diagram for explaining a plane detected based on a captured image Gk.
  • FIG. 3 is a block diagram showing a configuration example of an object management server 30.
  • FIG. An explanatory diagram showing an example of a data structure of a database DB. 7 is a flowchart showing the content of the arrangement process executed by the terminal device 10.
  • 2 is a flowchart showing the contents of a space adjustment process executed by the terminal device 10.
  • FIG. 1 is a block diagram showing the overall configuration of an information processing system 1.
  • the information processing system 1 includes a terminal device 10 used by a developer, an anchor management server 20 that manages an anchor P (see FIG. 2E), an object management server 30 that manages virtual objects VO, and It comprises a user device 40 utilized by a user of the service.
  • the information processing system 1 shown in FIG. 1 includes one terminal device 10. However, the information processing system 1 may include a plurality of terminal devices 10. Further, the information processing system 1 may include a plurality of user devices 40.
  • the terminal device 10 In the information processing system 1, the terminal device 10, the anchor management server 20, the object management server 30, and the user device 40 communicate with each other via the communication network NW.
  • the terminal device 10 is configured by, for example, a smartphone or a tablet terminal.
  • the terminal device 10 is used by a developer of a service that provides an augmented reality space or a mixed reality space to users.
  • the developer virtually places the virtual object VO used for the service at a position in real space.
  • the terminal device 10 provides a display image Gi (see FIG. 2E) that supports the placement work.
  • the virtual object VO is placed at a relative position with respect to the anchor P shown in FIG. 2E.
  • the anchor management server 20 issues an anchor ID corresponding to the anchor P when information regarding the anchor P is uploaded from the terminal device 10.
  • Anchor ID is identification data that uniquely identifies anchor P.
  • the user device 40 obtains the virtual object data Dv and the anchor ID by accessing the object management server 30. By transmitting the captured image captured by the user device 40 and the acquired anchor ID to the anchor management server 20, the user device 40 transmits the position of the user device 40 with the position of the anchor P as the origin from the anchor management server 20, and the user Self-position data indicating the direction in which the device 40 faces the outside world is acquired.
  • the user device 40 includes a display device and an inertial sensor. The user device 40 causes the display device to display an image in which the virtual object VO is superimposed on the real space based on the self-position data and the output signal of the inertial sensor.
  • the processing device 11 is a processor that controls the entire terminal device 10.
  • the processing device 11 is configured using, for example, a single chip or a plurality of chips. Further, the processing device 11 is configured using, for example, a central processing unit (CPU) including an interface with a peripheral device, an arithmetic unit, a register, and the like. Note that some or all of the functions of the processing device 11 may be realized by hardware such as DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit), PLD (Programmable Logic Device), FPGA (Field Programmable Gate Array), etc. You may.
  • the processing device 11 executes various processes in parallel or sequentially.
  • the storage device 12 is a recording medium that can be read and written by the processing device 11.
  • the storage device 12 also stores a plurality of programs including the control program PR1, the object adjustment application A1, and the space adjustment application A2 executed by the processing device 11, and various data including the virtual object data Dv.
  • the storage device 12 functions as a work area for the processing device 11.
  • the virtual object data Dv is data that expresses the virtual object VO in three dimensions.
  • the space adjustment application A2 has a function of editing the anchor P placed by the object adjustment application A1 and the simple spatial structure around the anchor P. Furthermore, the space adjustment application A2 has a function of transmitting the anchor P and a simple spatial structure around the anchor P to the object management server 30.
  • a simple spatial structure is expressed by a GLB file, which will be described later.
  • the input device 15 is a device that accepts operations from the developer.
  • the input device 15 outputs an operation signal according to the developer's operation to the processing device 11.
  • the input device 15 is configured by, for example, a touch panel.
  • the communication device 16 is hardware as a transmitting/receiving device for communicating with other devices. Further, the communication device 16 is also called, for example, a network device, a network controller, a network card, a communication module, or the like.
  • the communication device 16 may include a connector for wired connection, and the object management server 30 corresponding to the connector may include a circuit.
  • the communication device 16 may include a wireless communication interface. Examples of connectors and interface circuits for wired connections include products compliant with wired LAN, IEEE1394, and USB. Furthermore, examples of wireless communication interfaces include products compliant with wireless LAN, Bluetooth (registered trademark), and the like.
  • the measuring device 18 measures the real space in three dimensions under the control of the processing device 11.
  • the measuring device 18 generates spatial structure data Ds indicating the spatial structure of the real space.
  • the measuring device 18 outputs the spatial structure data Ds to the processing device 11.
  • the measurement device 18 may be configured with a LiDEAR or ToF sensor, for example. Note that in this embodiment, the measuring device 18 is included in the terminal device 10. However, the measuring device 18 may not be included in the terminal device 10.
  • the measuring device 18 is an external device of the terminal device 10, the terminal device 10 and the measuring device 18 perform wired communication or wireless communication.
  • the spatial structure data Ds includes at least the outlines of the floor, walls, and elevator doors.
  • FIG. 2B is an explanatory diagram showing the outline of the spatial structure included in the spatial structure data Ds.
  • the dotted lines shown in FIG. 2B are the contour lines of the floor, wall, and elevator door.
  • the second acquisition unit 112 acquires spatial structure data Ds indicating the spatial structure of the real space around the anchor P.
  • the range of the real space imaged by the imaging device 14 and the range of the real space indicated by the spatial structure data Ds do not necessarily match.
  • the spatial structure indicated by the spatial structure data Ds may include the spatial structure around the anchor P in the real space imaged by the imaging device 14.
  • the plane detection unit 113 detects a plane in the spatial structure of the real space based on the captured image data Dg. For example, the plane detection unit 113 analyzes captured image data Dg obtained by capturing an image of real space while moving the terminal device 10. There are various methods for detecting a plane. In an example of a plane detection method, in the first step, feature points are extracted from the captured image Gk for each frame. In the second step, changes in the positions of feature points between frames are tracked. In the third step, a plane is detected by comparing changes in the position and direction of the imaging device 14 obtained from the output signal of the detection device 13 with changes in the position of the feature point. The plane detection unit 113 generates plane data Dy indicating the detected plane.
  • Anchor P is placed on a plane detected by plane detection section 113.
  • plane detection section 113 For example, assume that a developer uses the terminal device 10 to place a virtual object VO in the elevator hall shown in FIG. 2A. Under this assumption, the plane detection unit 113 detects the floor surface surrounded by a bold line in FIG. 2C as a plane. In this case, an ellipse texture is added to distinguish the detected plane from other parts.
  • the spatial adjustment unit 114 aligns the anchor P and the spatial structure by comparing the captured image Gk indicated by the captured image data Dg and the spatial structure indicated by the spatial structure data Ds.
  • the spatial structure data Ds is generated by three-dimensionally measuring the spatial structure of the real space around the anchor P using the measuring device 18.
  • the position of the anchor P is determined based on the simple spatial structure and the specified data Da.
  • the simple spatial structure is estimated based on the sensor information and captured image data Dg output from the detection device 13. As described above, since the algorithm for determining the position of the anchor P and the algorithm for the spatial structure data Ds are different, alignment is required.
  • the space adjustment unit 114 assumes that the spatial structure indicated by the spatial structure data Ds is viewed from the viewpoint of the imaging device 14 at the time when the imaging device 14 images the real space.
  • the viewpoint of the imaging device 14 is determined by position data Pk and direction data Dk.
  • the space adjustment unit 114 adjusts the anchor P and the spatial structure data Ds by associating the outline of the spatial structure when viewed from an assumed viewpoint with the edge extracted from the captured image Gk. Perform alignment with the spatial structure shown. As a result of alignment, the contour line of the spatial structure and the edge extracted from the captured image Gk match.
  • FIG. 2D is an explanatory diagram for explaining the relationship between the surfaces on which the anchors P are arranged and the boundaries of the surfaces.
  • the anchor P is placed on the floor of an elevator hall.
  • the plane on which the anchor P is placed is shown with diagonal lines.
  • the boundary of the surface where the anchor P is arranged is shown by a thick solid line.
  • the image generation unit 115 reads the virtual object data Dv from the storage device 12.
  • the image generation unit 115 generates a virtual object image VOx representing the virtual object VO based on the read virtual object data Dv.
  • the virtual object image VOx is an image that represents the virtual object VO in two dimensions.
  • the image generation unit 115 arranges the virtual object image VOx at a position specified by the developer based on the operation signal output from the input device 15.
  • the developer places the virtual object image VOx at coordinates (x, y, z) with the origin at the position of the anchor P by inputting the x, y, and z coordinates into the input device 15.
  • the data generation unit 116 generates position data Pk indicating the position of the imaging device 14 and a direction in which the imaging device 14 faces the outside world based on the captured image data Dg, the plane data Dy, and the sensor information output from the detection device 13.
  • Direction data Pc is generated.
  • Generating the position data Pk and direction data Pc is called self-position estimation.
  • SLAM Simultaneous Localization and Mapping
  • the data generation unit 116 generates specification data Da when the developer uses the input device 15 to specify the position of the anchor P on the captured image Gk.
  • Designation data Da indicates the position of anchor P in captured image Gk.
  • the position of anchor P is expressed by coordinates in the camera coordinate system. For example, when the captured image Gk is a 4K image, the captured image Gk has a resolution of 3840 pixels horizontally and 2160 pixels vertically.
  • the display image Gi shown in FIG. 2E is captured with the terminal device 10 facing vertically. In the case of FIG. 2E, the horizontal direction of the captured image Gk is the vertical direction, and the vertical direction is the horizontal direction.
  • the coordinates of the anchor P in the captured image Gk of the anchor P are specified by horizontal pixels and vertical pixels.
  • the designation data Da indicates the position of the anchor P in the captured image Gk in the camera coordinate system.
  • the data generation unit 116 generates a GLB file at the time when the anchor P is placed.
  • a GLB file is data that expresses a three-dimensional virtual space in JPEG.
  • the GLB file includes the position and direction of the imaging device 14, the plane detected by the plane detection unit 113, and polygon data expressing the anchor P.
  • the data generation unit 116 generates relative coordinate data Dr.
  • the relative coordinate data Dr indicates the relative position of the virtual object VO with the anchor P as the origin.
  • the data generation unit 116 generates relative coordinate data Dr based on the coordinates (x, y, z) input by the developer using the input device 15 to place the virtual object VO.
  • the display control unit 117 causes the display device 17 to display the display image Gi. Specifically, the display control unit 117 outputs display image data Di to the display device 17.
  • the communication control unit 118 uses the communication device 16 to send the spatial structure data Ds and captured image data Dg used for alignment of the spatial adjustment unit 114 to the object management server 30, as well as the GLB generated by the data generation unit 116. Have the file sent.
  • FIG. 3 is a block diagram showing an example of the configuration of the object management server 30.
  • the object management server 30 includes a processing device 31, a storage device 32, a communication device 33, a display device 34, and an input device 35. Each element of the object management server 30 is interconnected by one or more buses for communicating information.
  • the processing device 31 is a processor that controls the entire object management server 30. Further, the processing device 11 is configured using, for example, a single chip or a plurality of chips. The processing device 11 is configured using, for example, a central processing unit (CPU) that includes interfaces with peripheral devices, an arithmetic unit, registers, and the like. Note that some or all of the functions of the processing device 11 may be realized by hardware such as a DSP, ASIC, PLD, or FPGA. The processing device 11 executes various processes in parallel or sequentially.
  • CPU central processing unit
  • the storage device 32 is a recording medium that can be read and written by the processing device 31. Furthermore, the storage device 32 stores a plurality of programs including the control program PR2 executed by the processing device 31, and a database DB. Furthermore, the storage device 32 functions as a work area for the processing device 31.
  • the database DB is used by a developer to manage virtual objects VO that are virtually placed in real space.
  • the communication device 33 shown in FIG. 3 is hardware as a transmitting/receiving device for communicating with other devices.
  • the communication device 33 is an example of a first communication device.
  • the communication device 33 is also called, for example, a network device, a network controller, a network card, a communication module, or the like.
  • the communication device 33 may include a connector for wired connection and an interface circuit corresponding to the connector.
  • the communication device 33 may include a wireless communication interface.
  • the processing device 31 reads the control program PR2 from the storage device 32 and executes it. As a result, the processing device 31 functions as an acquisition unit 311 and a management unit 312.
  • the management unit 312 manages virtual object data Dv, anchor ID, relative coordinate data Dr, captured image data Dg, display image data Di, GLB file, and spatial structure data Ds in association with each other. Specifically, the management unit 312 manages the database DB.
  • the virtual object placement process and space adjustment process in the terminal device 10 will be described below.
  • the placement process is a process related to the object adjustment application A1.
  • the space adjustment process is processing content related to the space adjustment application A2.
  • FIG. 5 is a flowchart showing the contents of placement processing.
  • step S10 the processing device 11 acquires captured image data Dg.
  • the captured image data Dg indicates a captured image Gk obtained by the developer photographing the environment in which the virtual object VO is to be placed.
  • step S11 the processing device 11 generates position data Pk indicating the position of the imaging device 14 and direction data indicating the direction in which the imaging device 14 faces the outside world, based on the captured image data Dg and the sensor information output from the detection device 13. Generate Dk.
  • step S12 the processing device 11 detects a plane based on the captured image data Dg and the output signal of the detection device 13.
  • the processing device 11 generates plane data Dy indicating the detected plane.
  • step S13 the processing device 11 receives an operation for arranging the anchor P. Specifically, when the developer uses the input device 15 to specify a position on the captured image Gk by a tap operation or the like, the processing device 11 generates the specified data Da and places the anchor P on the captured image Gk. Anchor P is placed on the surface of the structure to be photographed. As a result, a display image Gi on which the anchor image Gak shown in FIG. 2E is superimposed is generated. Here, the anchor P is placed on the plane detected in step S12.
  • step S14 the processing device 11 acquires the anchor ID from the anchor management server 20. More specifically, the processing device 11 transmits an anchor registration request to the anchor management server 20 via the communication device 16.
  • the anchor registration request includes information regarding anchor P.
  • the anchor management server 20 issues an anchor ID for uniquely identifying the anchor P.
  • the anchor management server 20 returns an anchor registration response including the issued anchor ID to the terminal device 10.
  • the processing device 11 obtains the anchor ID by extracting the anchor ID included in the anchor registration response.
  • step S21 the processing device 11 acquires the captured image data Dg generated when the anchor P is placed. Specifically, a read request including the anchor ID is transmitted from the terminal device 10 to the object management server 30.
  • the object management server 30 returns a read response to the terminal device 10.
  • the read response includes the GLB file, virtual object data Dv, relative coordinate data Dr, and captured image data Dg that correspond to the anchor ID.
  • the processing device 11 acquires the captured image data Dg included in the read response.
  • step S22 the processing device 11 aligns the spatial structure and the captured image Gk by comparing the spatial structure indicated by the spatial structure data Ds and the captured image Gk indicated by the captured image data Dg.
  • step S23 the processing device 11 generates display image data Di indicating the display image Gi by superimposing the anchor image Gak and the virtual object image VOx on the captured image Gk.
  • step S24 the processing device 11 transmits the anchor ID and display image data Di to the object management server 30.
  • the object management server 30 associates the display image data Di with the anchor ID and stores it in the database DB.
  • the terminal device 10 Since the terminal device 10 has the above configuration, the position of the anchor P and the spatial structure can be aligned even when the position of the anchor P and the spatial structure data Ds are obtained using different applications. .
  • the terminal device 10 further includes a plane detection unit 113 that detects a plane in the spatial structure of the real space based on the captured image data Dg, and the anchor P is placed on the plane detected by the plane detection unit 113. . Since the terminal device 10 has the above configuration, the anchor P can be placed on the plane of the spatial structure without measuring the real space in three dimensions.
  • the terminal device 10 transmitted a registration request including virtual object data Dv to the object management server 30.
  • the terminal device 10 may transmit the virtual object data Dv to the object management server 30 in advance. In this case, the terminal device 10 transmits a registration request that does not include the virtual object data Dv to the object management server 30.
  • the information, signals, etc. described may be represented using any of a variety of different technologies.
  • data, instructions, commands, information, signals, bits, symbols, chips, etc. which may be referred to throughout the above description, may refer to voltages, currents, electromagnetic waves, magnetic fields or magnetic particles, light fields or photons, or any of these. It may also be represented by a combination of
  • the input/output information may be stored in a specific location (for example, memory) or may be managed using a management table. Information etc. to be input/output may be overwritten, updated, or additionally written. The output information etc. may be deleted. The input information etc. may be transmitted to other devices.
  • the determination may be made using a value expressed using 1 bit (0 or 1) or a truth value (Boolean: true or false).
  • the comparison may be performed by comparing numerical values (for example, comparing with a predetermined value).
  • each of the functions illustrated in FIGS. 1 to 8 is realized by an arbitrary combination of at least one of hardware and software.
  • the method for realizing each functional block is not particularly limited. That is, each functional block may be realized using one physically or logically coupled device, or may be realized using two or more physically or logically separated devices directly or indirectly (e.g. , wired, wireless, etc.) and may be realized using a plurality of these devices.
  • the functional block may be realized by combining software with the one device or the plurality of devices.
  • the programs exemplified in the above-described embodiments are instructions, instruction sets, codes, codes, regardless of whether they are called software, firmware, middleware, microcode, hardware description language, or by other names. Should be broadly construed to mean a segment, program code, program, subprogram, software module, application, software application, software package, routine, subroutine, object, executable, thread of execution, procedure, function, etc.
  • software, instructions, information, etc. may be sent and received via a transmission medium.
  • a transmission medium For example, if the software uses wired technology (coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), etc.) and/or wireless technology (infrared, microwave, etc.) to create a website, When transmitted from a server or other remote source, these wired and/or wireless technologies are included within the definition of transmission medium.
  • wired technology coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), etc.
  • wireless technology infrared, microwave, etc.
  • the information, parameters, etc. described in this disclosure may be expressed using absolute values, relative values from a predetermined value, or other corresponding information. It may also be expressed as
  • the terminal device 10 and the user device 40 may be mobile stations (MS).
  • a mobile station is defined by a person skilled in the art as a subscriber station, mobile unit, subscriber unit, wireless unit, remote unit, mobile device, wireless device, wireless communication device, remote device, mobile subscriber station, access terminal, mobile terminal, wireless It may also be referred to as a terminal, remote terminal, handset, user agent, mobile client, client, or some other suitable terminology. Further, in this disclosure, terms such as “mobile station,” “user terminal,” “user equipment (UE),” and “terminal” may be used interchangeably.
  • connection refers to direct or indirect connections between two or more elements. Refers to any connection or combination and may include the presence of one or more intermediate elements between two elements that are “connected” or “coupled” to each other.
  • the coupling or connection between elements may be a physical coupling or connection, a logical coupling or connection, or a combination thereof.
  • connection may be replaced with "access.”
  • two elements may include one or more wires, cables, and/or printed electrical connections, as well as in the radio frequency domain, as some non-limiting and non-inclusive examples. , electromagnetic energy having wavelengths in the microwave and optical (both visible and non-visible) ranges.
  • (accessing) may include considering something as a “judgment” or “decision.”
  • judgment and “decision” refer to resolving, selecting, choosing, establishing, comparing, etc. as “judgment” and “decision”. may be included.
  • judgment and “decision” may include regarding some action as having been “judged” or “determined.”
  • judgment (decision) may be read as “assuming", “expecting", “considering”, etc.
  • notification of prescribed information is not limited to explicit notification, but may also be done implicitly (for example, by not notifying the prescribed information). Good too.
  • SYMBOLS 1 Information processing system, 10... Terminal device, 11, 31... Processing device, 14... Imaging device, 16, 33... Communication device, 17... Display device, 111... First acquisition part, 112... Second acquisition part, 113 ...Plane detection section, 114... Space adjustment section, 115... Image generation section, 116... Data generation section, 117... Display control section, 118... Communication control section, 311... Acquisition section, 312... Management section, Pk... Position data, Dk...direction data, Dg...captured image data, Di...display image data, Ds...spatial structure data, Dv...virtual object data, Gk...captured image, P...anchor.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

端末装置は、現実空間を撮像装置が撮像した撮像画像を示す撮像画像データを取得する第1取得部と、現実空間のうちアンカーの周辺における空間構造を示す空間構造データを取得する第2取得部と、撮像画像データの示す撮像画像と空間構造データの示す空間構造とを比較することによって、アンカーと空間構造との位置合わせを行う空間調整部と、を備える。

Description

端末装置及びオブジェクト管理サーバ
 本発明は、端末装置及びオブジェクト管理サーバに関する。
 特許文献1には、ユーザー装置によってキャプチャされた現実世界の環境を表す画像に対して、仮想オブジェクトの位置の基準となるアンカーを画像にマッピングした空間データを生成する技術が開示されている。
特開2019-185759号公報
 ところで、アンカーを現実空間に仮想的に配置する場合、現実空間の空間構造とアンカーとを対応付けることによって、開発者が仮想オブジェクトを現実空間に容易に配置することが可能となる。ここで、アンカーを配置する第1アプリケーションと、現実空間の空間構造を取得する第2アプリケーションとが、互いに異なる場合がある。第1アプリケーションによって、アンカー周辺の現実空間を示す2次元の撮像画像上でアンカーが配置される。第2アプリケーションによってアンカー周辺の現実空間を3次元で計測することによって、3次元の空間構造が得られる。このように互いに異なるアプリケーションを用いてアンカーと空間構造とを取得する場合、アンカーの位置と空間構造との位置合わせを行う必要がある。しかしながら、アンカーは点に過ぎないので、空間構造上でアンカーの位置を適切に設定することができないといった問題があった。
 本開示は、アンカーの位置と空間構造とを互いに異なるアプリケーションを用いて取得する場合に、アンカーの位置と空間構造との位置合わせを行う端末装置を提供することを目的とする。
 本開示に係る端末装置は、現実空間を撮像装置が撮像した撮像画像を示す撮像画像データを取得する第1取得部と、前記現実空間のうちアンカーの周辺における空間構造を示す空間構造データを取得する第2取得部と、前記撮像画像データの示す撮像画像と、前記空間構造データの示す空間構造とを比較することによって、前記アンカーと前記空間構造との位置合わせを行う空間調整部と、を備える。
 本開示によれば、アンカーの位置と空間構造とを互い互いに異なるアプリケーションを用いて取得する場合であっても、アンカーの位置と空間構造とを位置合わせできる。
実施形態に係る情報処理システム1の全体構成を示すブロック図。 撮像画像Gkの一例を示す説明図。 空間構造の一例を示す説明図。 撮像画像Gkに基づいて検出された平面を説明するための説明図。 撮像画像Gkの一例を示す説明図。 表示画像Giの一例を示す説明図。 オブジェクト管理サーバ30の構成例を示すブロック図。 データベースDBのデータ構造の一例を示す説明図。 端末装置10が実行する配置処理の内容を示すフローチャート。 端末装置10が実行する空間調整処理の内容を示すフローチャート。
1:実施形態
 以下、情報処理システム1について説明する。
1.1:実施形態の構成
1.1.1:全体構成
 図1は、情報処理システム1の全体構成を示すブロック図である。図1に示されるように、情報処理システム1は、開発者によって利用される端末装置10、アンカーP(図2E参照)を管理するアンカー管理サーバ20、仮想オブジェクトVOを管理するオブジェクト管理サーバ30及びサービスのユーザーによって利用されるユーザー装置40を備える。図1に示される情報処理システム1は1個の端末装置10を備える。しかし、情報処理システム1は複数の端末装置10を備えてもよい。また、情報処理システム1は複数のユーザー装置40を備えてもよい。
 情報処理システム1において、端末装置10、アンカー管理サーバ20、オブジェクト管理サーバ30、及びユーザー装置40は、通信網NWを介して互いに通信する。
 端末装置10は、例えば、スマートフォン又はタブレット端末によって構成される。端末装置10は、拡張現実空間又は複合現実空間をユーザーに提供するサービスの開発者によって使用される。開発者は、当該サービスに用いられる仮想オブジェクトVOを仮想的に現実空間の位置に配置する。端末装置10は、開発者が仮想オブジェクトVOを配置する場合に、配置作業を支援する表示画像Gi(図2E参照)を提供する。仮想オブジェクトVOは、図2Eに示されるアンカーPを基準とする相対位置に配置される。
 アンカー管理サーバ20は、端末装置10からアンカーPに関する情報がアップロードされた場合、アンカーPに対応するアンカーIDを発行する。アンカーIDは、アンカーPを一意に識別する識別データである。
 アンカー管理サーバ20は、アンカーIDとアンカーPに関する情報とを対応付けて記憶する。アンカーIDはアンカー管理サーバ20から端末装置10に送信される。端末装置10は、仮想オブジェクトVOを示す仮想オブジェクトデータDv、アンカーID、及びアンカーPに関する付加データをオブジェクト管理サーバ30にアップロードする。オブジェクト管理サーバ30は、仮想オブジェクトデータDv、アンカーID、及び付加データを対応付けて管理する。付加データには、表示画像Giを示す表示画像データDi及び後述するGLB(GL Transmission Format Binary)ファイルが含まれる。
 ユーザー装置40は、オブジェクト管理サーバ30にアクセスすることによって、仮想オブジェクトデータDvとアンカーIDとを取得する。ユーザー装置40は、ユーザー装置40によって撮像された撮像画像と取得したアンカーIDをアンカー管理サーバ20に送信することよって、アンカー管理サーバ20からアンカーPの位置を原点とするユーザー装置40の位置とユーザー装置40が外界を向く方向とを示す自己位置データを取得する。ユーザー装置40は表示装置と慣性センサを備える。ユーザー装置40は、自己位置データと慣性センサの出力信号に基づいて、仮想オブジェクトVOを現実空間に重畳させた画像を表示装置に表示させる。
2:端末装置の構成
 図1に示されるように端末装置10は、処理装置11、記憶装置12、検出装置13、撮像装置14、通信装置16、及び表示装置17を備える。端末装置10が有する各要素は、情報を通信するための単体又は複数のバスによって相互に接続される。なお、本明細書における「装置」という用語は、回路、デバイス又はユニット等の他の用語に読替えてもよい。
 処理装置11は、端末装置10の全体を制御するプロセッサである。処理装置11は、例えば、単数又は複数のチップを用いて構成される。また、処理装置11は、例えば、周辺装置とのインターフェース、演算装置及びレジスタ等を含む中央処理装置(CPU:Central Processing Unit)を用いて構成される。なお、処理装置11が有する機能の一部又は全部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)等のハードウェアによって実現してもよい。処理装置11は、各種の処理を並列的又は逐次的に実行する。
 記憶装置12は、処理装置11による読取及び書込が可能な記録媒体である。また、記憶装置12は、処理装置11が実行する制御プログラムPR1、オブジェクト調整アプリA1及び空間調整アプリA2を含む複数のプログラム、並びに仮想オブジェクトデータDvを含む各種のデータを記憶する。記憶装置12は、処理装置11のワークエリアとして機能する。仮想オブジェクトデータDvは仮想オブジェクトVOを三次元で表現するデータである。
 オブジェクト調整アプリA1は、アンカーPの配置及び確認、仮想オブジェクトVOのプレビュー、並びに仮想オブジェクトVOの位置調整の役割を担う。アンカーの確認とは、表示装置17にアンカーPを表示させることによって、どこにアンカーPが配置されているかを開発者が確認することを意味する。オブジェクト調整アプリA1は、アンカーPを配置する処理において、アンカーPに関する情報をアンカー管理サーバ20にアップロードする。また、オブジェクト調整アプリA1は、アンカー管理サーバ20からアンカーIDを取得する。
 空間調整アプリA2は、オブジェクト調整アプリA1によって配置されたアンカーPとアンカーPの周辺の簡易的な空間構造とを編集する機能を有する。また、空間調整アプリA2は、アンカーPとアンカーPの周辺の簡易的な空間構造をオブジェクト管理サーバ30に送信する機能を有する。簡易的な空間構造は、後述するGLBファイルによって表現される。
 検出装置13は、端末装置10の状態を検出する。検出装置13は、例えば、加速度を検出する加速度センサ及び角加速度を検出するジャイロセンサなどの慣性センサ、並びに、方位を検出する地磁気センサである。加速度センサは、直交するX軸、Y軸、及びZ軸の加速度を検出する。ジャイロセンサは、X軸、Y軸、及びZ軸を回転の中心軸とする角加速度を検出する。検出装置13は、ジャイロセンサの出力情報に基づいて、端末装置10の姿勢を示す姿勢情報を生成できる。また、検出装置13は、端末装置10の姿勢を示す姿勢情報、及び端末装置10の動きに関する動き情報、端末装置10の方位を示す方位情報を処理装置11に出力する。動き情報は、3軸の加速度を各々示す加速度情報及び3軸の角加速度を各々示す角加速度情報を含む。姿勢情報、動き情報、及び方位情報等は、検出装置13から出力されるセンサ情報に含まれる。
 撮像装置14は、外界を撮像して得られた撮像画像Gkを出力する。また、撮像装置14は、例えば、レンズ、撮像素子、増幅器、及びAD変換器を備える。レンズを介して集光された光は、撮像素子によってアナログ信号である撮像信号に変換される。増幅器は撮像信号を増幅した上でAD変換器に出力する。AD変換器はアナログ信号である増幅された撮像信号をデジタル信号である撮像画像データDgに変換する。変換された撮像画像データDgは、処理装置11に出力される。例えば、エレベータホールに仮想オブジェクトVOを配置する場合を想定する。開発者が、端末装置10を用いてエレベータホールを撮像した場合、例えば、図2Aに示される撮像画像Gkが撮像される。
 入力装置15は、開発者の操作を受け付ける装置である。入力装置15は、開発者の操作に応じた操作信号を処理装置11に出力する。入力装置15は、例えば、タッチパネルによって構成される。
 通信装置16は、他の装置と通信を行うための、送受信デバイスとしてのハードウェアである。また、通信装置16は、例えば、ネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュール等とも呼ばれる。通信装置16は、有線接続用のコネクターを備え、上記コネクターに対応するオブジェクト管理サーバ30は、回路を備えていてもよい。また、通信装置16は、無線通信インターフェースを備えていてもよい。有線接続用のコネクター及びインターフェース回路としては有線LAN、IEEE1394、USBに準拠した製品が挙げられる。また、無線通信インターフェースとしては無線LAN及びBluetooth(登録商標)等に準拠した製品が挙げられる。
 表示装置17は、画像を表示するデバイスである。表示装置17は、処理装置11の制御のもとで各種の画像を表示する。
 計測装置18は、処理装置11の制御の下、現実空間を3次元で計測する。計測装置18は、現実空間の空間構造を示す空間構造データDsを生成する。計測装置18は、空間構造データDsを処理装置11に出力する。計測装置18は、例えば、LiDEAR又はToFセンサで構成されてもよい。なお、本実施形態では、計測装置18は端末装置10に含まれる。しかし、計測装置18が端末装置10に含まれなくてもよい。計測装置18が端末装置10の外部装置である場合、端末装置10と計測装置18とは、有線通信又は無線通信を実行する。例えば、図2Aに示されるエレベータホールの空間構造を、計測装置18を用いて3次元で計測した場合、空間構造データDsは、少なくとも床面、壁、及びエレベータの扉の輪郭線を含む。図2Bは、空間構造データDsに含まれる空間構造の輪郭線を示す説明図である。図2Bに示される点線は、床面、壁、及びエレベータの扉の輪郭線である。
 以上の構成において、処理装置11は、制御プログラムPR1、オブジェクト調整アプリA1及び空間調整アプリA2を記憶装置12から読み出す。処理装置11は、読み出した制御プログラムPR1、オブジェクト調整アプリA1及び空間調整アプリA2を実行することによって、第1取得部111、第2取得部112、平面検出部113、空間調整部114、画像生成部115、データ生成部116、表示制御部117、及び通信制御部118として、機能する。
 第1取得部111は、現実空間を撮像装置14が現実空間を撮像した撮像画像Gkを示す撮像画像データDgと、現実空間に仮想的に配置される仮想オブジェクトVOの位置の基準となるアンカーPを撮像画像Gk上の点で指定する指定データDaとを取得する。また、第1取得部111は、後述する位置データPk及び方向データPcを取得する。
 第2取得部112は、アンカーPの周辺における現実空間の空間構造を示す空間構造データDsを取得する。撮像装置14によって撮像される現実空間の範囲と、空間構造データDsの示す現実空間の範囲とは、必ずしも一致しない。空間構造データDsの示す空間構造は、撮像装置14によって撮像される現実空間のうち、アンカーPの周辺における空間構造を含めばよい。
 平面検出部113は、撮像画像データDgに基づいて、現実空間の空間構造において平面を検出する。例えば、平面検出部113は、端末装置10を移動しながら現実空間を撮像することによって得られた撮像画像データDgを解析する。平面の検出方法には、各種の手法がある。平面の検出方法の一例では、第1ステップにおいて、フレームごとに撮像画像Gkから特徴点が抽出される。第2ステップにおいて、フレーム間での特徴点の位置の変化がトラッキングされる。第3ステップにおいて、検出装置13の出力信号から得られる撮像装置14の位置及び撮像装置14の方向の変化と特徴点の位置の変化と比較することによって、平面が検出される。平面検出部113は、検出された平面を示す平面データDyを生成する。アンカーPは平面検出部113によって検出された平面に配置される。例えば、開発者が端末装置10を用いて、図2Aに示されるエレベータホールに仮想オブジェクトVOを配置する場合を想定する。この想定において、平面検出部113は、図2Cに太線で囲まれた床面を平面として検出する。この場合、検出された平面を他の部分と区別するため、楕円のテスクチャーが付加される。
 空間調整部114は、撮像画像データDgの示す撮像画像Gkと、空間構造データDsの示す空間構造とを比較することによって、アンカーPと空間構造との位置合わせを行う。上述したように空間構造データDsは、計測装置18を用いて、アンカーPの周辺における現実空間の空間構造を3次元計測することによって生成される。一方、アンカーPの位置は、簡易的な空間構造と指定データDaに基づいて定まる。簡易的な空間構造は、検出装置13から出力されるセンサ情報及び撮像画像データDgに基づいて推定される。このようにアンカーPの位置を求めるアルゴリズムと空間構造データDsのアルゴリズムは相違するため、位置合わせが必要となる。
 撮像画像Gkと空間構造との比較において、空間調整部114は、撮像画像データDgが示す撮像画像Gkに含まれる構造物が有する面であってアンカーPが配置される面の境界と、空間構造データDsによって示される構造物が有する面であってアンカーPが配置される面の境界とを対応付ける。空間構造データDsによって示される構造物が有する面であってアンカーPが配置される面の境界は、図2Bに示される空間構造の輪郭線に含まれる。面の境界の対応付けは、例えば、撮像画像Gkから抽出されたエッジと空間構造の輪郭線とを対応付けることによってなされる。空間構造データDsは3次元で表現され、撮像画像Gkは2次元で表現さる。このため、空間調整部114は、撮像装置14が現実空間を撮像した時点における撮像装置14の視点から、空間構造データDsの示す空間構造を見た場合を想定する。撮像装置14の視点は位置データPk及び方向データDkによって定められる。空間調整部114は、想定される視点から空間構造物を見た場合の当該空間構造物の輪郭線と、撮像画像Gkから抽出されたエッジとを対応付けることによって、アンカーPと空間構造データDsの示す空間構造との位置合わせを行う。位置合わせの結果、空間構造物の輪郭線と、撮像画像Gkから抽出されたエッジとが一致する。
 図2Dは、アンカーPが配置される面、及び面の境界の関係を説明するための説明図である。この例では、アンカーPはエレベータホールの床面に配置されることを想定する。図2Dにおいて、アンカーPが配置される面は斜線で示される。また、図2Dにおいて、アンカーPが配置される面の境界は太い実線で示される。
 画像生成部115は、空間調整部114によって位置合わせされた空間構造(空間構造物の輪郭線)及びアンカーPを、撮像画像Gkに重畳した表示画像Giを示す表示画像データDiを生成する。表示画像Giは、開発者が仮想オブジェクトVOを配置する作業を支援するための画像である。図2Eは、表示画像Giの一例を示す説明図である。
 画像生成部115は、入力装置15から出力された操作信号に基づいて、開発者が指定するアンカーPの位置に、アンカー画像Gakを配置する。画像生成部115は、構造物の面にアンカーPを配置する。図2Eに示される例では、エレベータホールの床面にアンカーPが配置される。アンカー画像Gakは、互いに直交するX軸、Y軸、及びZ軸を示しており、各軸の原点にアンカーPが配置される。
 画像生成部115は、記憶装置12から仮想オブジェクトデータDvを読み出す。画像生成部115は、読み出された仮想オブジェクトデータDvに基づいて、仮想オブジェクトVOを示す仮想オブジェクト画像VOxを生成する。仮想オブジェクト画像VOxは仮想オブジェクトVOを2次元で表現した画像である。画像生成部115は、入力装置15から出力される操作信号に基づいて、開発者が指定する位置に仮想オブジェクト画像VOxを配置する。開発者は、入力装置15にx座標、y座標、及びz座標を入力することによって、アンカーPの位置を原点とする座標(x,y,z)に、仮想オブジェクト画像VOxを配置する。
 データ生成部116は、撮像画像データDg、平面データDy、及び検出装置13から出力されるセンサ情報に基づいて、撮像装置14の位置を示す位置データPk及び撮像装置14が外界を向く方向を示す方向データPcを生成する。位置データPk及び方向データPcを生成することを自己位置推定という。自己位置推定には、SLAM(Simultaneous Localization and Mapping)技術が用いられる。
 データ生成部116は、開発者が入力装置15を用いて、撮像画像Gk上でアンカーPの位置を指定した場合、指定データDaを生成する。指定データDaは撮像画像GkにおけるアンカーPの位置を示す。アンカーPの位置は、カメラ座標系の座標によって表現される。例えば、撮像画像Gkが4Kの画像である場合、撮像画像Gkは、水平3840画素、垂直2160画素の解像度となる。図2Eに示される表示画像Giは、端末装置10を縦に向けた状態で撮像されている。図2Eの場合、撮像画像Gkの横方向が垂直方向であり、縦方向が水平方向である。アンカーPの撮像画像GkにおけるアンカーPの座標は、水平の画素と垂直の画素によって指定される。指定データDaは、撮像画像GkにおけるアンカーPの位置をカメラ座標系で示す。
 データ生成部116は、アンカーPが配置される時点で、GLBファイルを生成する。GLBファイルは、3次元の仮想空間をJPEGで表現するデータである。GLBファイルには、撮像装置14の位置及び方向、平面検出部113によって検出された平面、及びアンカーPが表現されたポリゴンデータが含まれる。
 データ生成部116は、相対座標データDrを生成する。相対座標データDrはアンカーPを原点とする仮想オブジェクトVOの相対位置を示す。データ生成部116は、開発者が仮想オブジェクトVOを配置するために入力装置15を用いて入力した座標(x,y,z)に基づいて、相対座標データDrを生成する。
 表示制御部117は、表示画像Giを表示装置17に表示させる。具体的には、表示制御部117は、表示画像データDiを表示装置17に出力する。
 通信制御部118は、通信装置16を用いて、オブジェクト管理サーバ30へ、空間調整部114の位置合わせに用いられた空間構造データDs及び撮像画像データDg、並びにデータ生成部116によって生成されたGLBファイルを送信させる。
 1.1.3:オブジェクト管理サーバの構成
 図3は、オブジェクト管理サーバ30の構成例を示すブロック図である。オブジェクト管理サーバ30は、処理装置31、記憶装置32、通信装置33、表示装置34、及び入力装置35を備える。オブジェクト管理サーバ30の各要素は、情報を通信するための単体又は複数のバスによって相互に接続される。
 処理装置31は、オブジェクト管理サーバ30の全体を制御するプロセッサである。また、処理装置11は、例えば、単数又は複数のチップを用いて構成される。処理装置11は、例えば、周辺装置とのインターフェース、演算装置及びレジスタ等を含む中央処理装置(CPU)を用いて構成される。なお、処理装置11が有する機能の一部又は全部を、DSP、ASIC、PLD、FPGA等のハードウェアによって実現してもよい。処理装置11は、各種の処理を並列的又は逐次的に実行する。
 記憶装置32は、処理装置31による読取及び書込が可能な記録媒体である。また、記憶装置32は、処理装置31が実行する制御プログラムPR2を含む複数のプログラム、及びデータベースDBを記憶する。また、記憶装置32は、処理装置31のワークエリアとして機能する。
 データベースDBは、開発者によって現実空間に仮想的に配置される仮想オブジェクトVOを管理するために用いられる。
 図3に示される通信装置33は、他の装置と通信を行うための、送受信デバイスとしてのハードウェアである。通信装置33は、第1通信装置の一例である。通信装置33は、例えば、ネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュール等とも呼ばれる。通信装置33は、有線接続用のコネクターを備え、上記コネクターに対応するインターフェース回路を備えていてもよい。また、通信装置33は、無線通信インターフェースを備えていてもよい。
 表示装置34は、画像及び文字情報を表示するデバイスである。入力装置35は、例えば、キーボード、タッチパッド、タッチパネル又はマウス等のポインティングデバイスを含んで構成される。
 処理装置31は、記憶装置32から制御プログラムPR2を読み出して実行する。その結果、処理装置31は、取得部311及び管理部312として機能する。
 取得部311は、通信装置33を介して、端末装置10から、仮想オブジェクトデータDv、アンカーID、相対座標データDr、撮像画像データDg、表示画像データDi、GLBファイル、及び空間構造データDsを取得する。
 管理部312は、仮想オブジェクトデータDv、アンカーID、相対座標データDr、撮像画像データDg、表示画像データDi、GLBファイル、及び空間構造データDsを互いに対応付けて管理する。具体的には、管理部312は、データベースDBを管理する。
 図5は、データベースDBのデータ構造の一例を示す説明図である。データベースDBは、複数のレコードを有する。一つのレコードは、仮想オブジェクトID、仮想オブジェクトデータDv、アンカーID、相対座標データDr、撮像画像データDg、表示画像データDi、及びGLBファイルを対応付ける。仮想オブジェクトIDは、仮想オブジェクトVOを一意に識別する識別子である。
2:実施形態の動作
 以下、端末装置10における仮想オブジェクトの配置処理と空間調整処理とについて説明する。配置処理は、オブジェクト調整アプリA1に関する処理内容である。空間調整処理は空間調整アプリA2に関する処理内容である。
1.2.1:配置処理
 図5は、配置処理の内容を示すフローチャートである。
 ステップS10において、処理装置11は、撮像画像データDgを取得する。撮像画像データDgは、仮想オブジェクトVOを配置しようとする環境を開発者が撮影することにより得られた撮像画像Gkを示す。
 ステップS11において、処理装置11は、撮像画像データDg及び検出装置13から出力されるセンサ情報に基づいて、撮像装置14の位置を示す位置データPk及び撮像装置14が外界を向く方向を示す方向データDkを生成する。
 ステップS12において、処理装置11は、撮像画像データDg及び検出装置13の出力信号に基づいて、平面を検出する。処理装置11は、検出された平面を示す平面データDyを生成する。
 ステップS13において、処理装置11は、アンカーPの配置操作を受け付ける。具体的には、開発者が入力装置15を用いて撮像画像Gk上でアンカーPを配置したい位置をタップ操作等で指定すると、処理装置11は、指定データDaを生成する共に、撮像画像Gkに写る構造物の面にアンカーPを配置する。この結果、図2Eに示されるアンカー画像Gakが重畳された表示画像Giが生成される。ここで、アンカーPは、ステップS12で検出された平面に配置される。
 ステップS14において、処理装置11は、アンカー管理サーバ20からアンカーIDを取得する。より具体的には、処理装置11は、通信装置16を介してアンカー管理サーバ20にアンカー登録要求を送信する。アンカー登録要求には、アンカーPに関する情報が含まれる。アンカー管理サーバ20は、アンカー登録要求を受信すると、アンカーPを一意に識別するためのアンカーIDを発行する。アンカー管理サーバ20は、発行したアンカーIDを含むアンカー登録応答を端末装置10に返信する。処理装置11は、アンカー登録応答に含まれるアンカーIDを取り出すことによって、アンカーIDを取得する。
 ステップS15において、処理装置11は、相対座標データDrを取得する。具体的には、処理装置11は、アンカーPを基準とする仮想オブジェクトVOの相対位置を示す相対座標データDrを、開発者が入力装置15を用いて入力した数値に基づいて取得する。
 ステップS16において、処理装置11はGLBファイルを生成する。GLBファイルには、撮像装置14の位置及び方向、平面検出部113によって検出された平面、及びアンカーPが表現されたポリゴンデータが含まれる。
 ステップS17において、処理装置11は、アンカーID、GLBファイル、仮想オブジェクトデータDv、相対座標データDr及び撮像画像データDgを、通信装置16を介して、オブジェクト管理サーバ30に送信する。オブジェクト管理サーバ30は、アンカーID、GLBファイル、仮想オブジェクトデータDv、相対座標データDr及び撮像画像データDgを管理データベースDBに格納する。
 以上の配置処理において、処理装置11は、以下の様に機能する。処理装置11は、ステップS10において、第1取得部111として機能する。処理装置11は、ステップS11において、データ生成部116として機能する。処理装置11は、ステップS12において、平面検出部113として機能する。処理装置11は、ステップS15において、データ生成部116として機能する。処理装置11は、ステップS14及びステップS17において、通信制御部118として機能する。処理装置11は、ステップS16において、データ生成部116として機能する。
1.2.2:空間調整処理
 図6は、配置処理の内容を示すフローチャートである。
 ステップS20において、処理装置11は、計測装置18から出力される空間構造データDsを取得する。
 ステップS21において、処理装置11は、アンカーPの配置時に生成された撮像画像データDgを取得する。具体的には、端末装置10からオブジェクト管理サーバ30に、アンカーIDを含む読出要求を送信する。
 オブジェクト管理サーバ30は、読出応答を端末装置10に返信する。読出応答には、アンカーIDに対応する、GLBファイル、仮想オブジェクトデータDv、相対座標データDr及び撮像画像データDgが含まれる。処理装置11は、読出応答に含まれる撮像画像データDgを取得する。
 ステップS22において、処理装置11は、空間構造データDsの示す空間構造と、撮像画像データDgの示す撮像画像Gkとを比較することによって、空間構造と撮像画像Gkとの位置合わせを実行する。
 ステップS23において、処理装置11は、撮像画像Gkにアンカー画像Gak及び仮想オブジェクト画像VOxを重畳することによって、表示画像Giを示す表示画像データDiを生成する。
 ステップS24において、処理装置11は、アンカーIDと表示画像データDiをオブジェクト管理サーバ30に送信する。オブジェクト管理サーバ30は、表示画像データDiをアンカーIDと対応付けて、データベースDBに記憶する。
 以上の空間調整処理において、処理装置11は、以下の様に機能する。処理装置11は、ステップS20において、第2取得部112として機能する。処理装置11は、ステップS21において、第1取得部111として機能する。処理装置11は、ステップS22において、空間調整部114として機能する。処理装置11は、ステップS23において、画像生成部115として機能する。処理装置11は、ステップS24において、通信制御部118として機能する。
1.3:実施形態が奏する効果
 以上の説明によれば、端末装置10は、現実空間を撮像装置14が撮像した撮像画像Gkを示す撮像画像データDgを取得する第1取得部111と、現実空間のうちアンカーPの周辺における空間構造を示す空間構造データDsを取得する第2取得部112と、撮像画像データDgの示す撮像画像Gkと、空間構造データDsの示す空間構造とを比較することによって、アンカーPと空間構造データDsの示す空間構造との位置合わせを行う空間調整部114とを備える。
 端末装置10は、以上の構成を備えるので、アンカーPの位置と空間構造データDsとを互い互いに異なるアプリケーションを用いて取得する場合であっても、アンカーPの位置と空間構造とを位置合わせできる。
 また、端末装置10は、空間調整部114によって位置合わせされた空間構造及びアンカーPを、撮像画像Gkに重畳した表示画像Giを示す表示画像データDiを生成する画像生成部115と、表示画像Giを表示装置17に表示させる表示制御部117を更に備える。
 端末装置10は、以上の構成を備えるので、開発者は、空間構造及びアンカーPを、撮像画像Gkに重畳した表示画像Giを視認できる。
 また、端末装置10は、通信装置16を用いて、仮想オブジェクトVOを管理するオブジェクト管理サーバ30へ空間調整部114によって位置合わせに用いられた空間構造データDs及び撮像画像データDgを送信させる通信制御部118を更に備える。端末装置10は、以上の構成を有するので、オブジェクト管理サーバ30は、仮想オブジェクトVO、位置合わせ済みの空間構造データDs及び撮像画像データDgを対応付けて管理できる。
 また、端末装置10は、撮像画像データDgに基づいて、現実空間の空間構造において平面を検出する平面検出部113を更に備え、アンカーPは、平面検出部113によって検出された平面に配置される。端末装置10は、以上の構成を有するので、現実空間を3次元で計測しなくても、アンカーPを空間構造の平面に配置できる。
 オブジェクト管理サーバ30は、空間調整部114の位置合わせに用いられた空間構造データDs及び前記撮像画像データDgを端末装置10から受信する通信装置33(受信部の一例)と、仮想オブジェクトVOと、端末装置10から受信した空間構造データDs及び撮像画像データDgとを対応付けて管理する管理部312を備える。仮想オブジェクトVOの位置は、空間構造の平面に配置されるアンカーPを基準に定まる。オブジェクト管理サーバ30は、仮想オブジェクトVOを、アンカーPの周辺の空間構造及びアンカーPの周辺の撮像画像といった2種類の情報と対応付けて管理するので、一種類の情報と対応付けて管理する場合と比較して、仮想オブジェクトVOの位置をより正確に管理できる。
3:変形例
 本開示は、以上に例示した実施形態に限定されない。具体的な変形の態様を以下に例示する。以下の例示から任意に選択された2以上の態様を併合してもよい。
3.1:変形例1
 上述した実施形態において、端末装置10はオブジェクト調整アプリA1を実行することによって、検出装置13から出力されるセンサ情報と撮像画像データDgとに基づいて、アンカーPの周辺の簡易的な空間構造を推定した。この推定の過程において、端末装置10は撮像画像Gkから得られる特徴点を示す特徴点マップを生成し、生成した特徴点マップをアンカー管理サーバ20に送信してもよい。アンカー管理サーバ20は、アンカーIDと対応付けて特徴点マップを管理する。アンカー管理サーバ20は、ユーザー装置40から撮像画像を受信した場合に、受信した撮像画像から特徴点を抽出し、抽出した特徴点を特徴点マップと照合することによって、ユーザー装置40の位置と方向を推定し、推定した位置と方向を端末装置10に返信してもよい。
3.2:変形例2
 上述した実施形態において、端末装置10は仮想オブジェクトデータDvを含む登録要求をオブジェクト管理サーバ30に送信した。しかし、本開示はこれに限定されない。端末装置10は、仮想オブジェクトデータDvを事前にオブジェクト管理サーバ30に送信してもよい。この場合、端末装置10は、仮想オブジェクトデータDvを含まない登録要求をオブジェクト管理サーバ30に送信する。
4:その他
(1)上述した実施形態では、記憶装置12及び記憶装置32は、ROM及びRAMなどを例示したが、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリデバイス(例えば、カード、スティック、キードライブ)、CD-ROM(Compact Disc-ROM)、レジスタ、リムーバブルディスク、ハードディスク、フロッピー(登録商標)ディスク、磁気ストリップ、データベース、サーバその他の適切な記憶媒体である。また、プログラムは、電気通信回線を介してネットワークから送信されてもよい。また、プログラムは、電気通信回線を介して通信網NWから送信されてもよい。
(2)上述した実施形態において、説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
(3)上述した実施形態において、入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
(4)上述した実施形態において、判定は、1ビットを用いて表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
(5)上述した実施形態において例示した処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
(6)図1~図8に例示された各機能は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
(7)上述した実施形態において例示したプログラムは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称を用いて呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
 また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)及び無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
(8)前述の各形態において、「システム」及び「ネットワーク」という用語は、互換的に使用される。
(9)本開示において説明した情報、パラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。
(10)端末装置10及びユーザー装置40は、移動局(MS:Mobile Station)である場合が含まれる。移動局は、当業者によって、加入者局、モバイルユニット、加入者ユニット、ワイヤレスユニット、リモートユニット、モバイルデバイス、ワイヤレスデバイス、ワイヤレス通信デバイス、リモートデバイス、モバイル加入者局、アクセス端末、モバイル端末、ワイヤレス端末、リモート端末、ハンドセット、ユーザーエージェント、モバイルクライアント、クライアント、又はいくつかの他の適切な用語で呼ばれる場合もある。また、本開示においては、「移動局」、「ユーザー端末(user terminal)」、「ユーザー装置(UE:User Equipment)」、「端末」等の用語は、互換的に使用され得る。
(11)上述した実施形態において、「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的な結合又は接続であっても、論理的な結合又は接続であっても、或いはこれらの組み合わせであってもよい。例えば、「接続」は「アクセス」を用いて読み替えられてもよい。本開示において使用する場合、2つの要素は、1又はそれ以上の電線、ケーブル及びプリント電気接続の少なくとも一つを用いて、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギーなどを用いて、互いに「接続」又は「結合」されると考えることができる。
(12)上述した実施形態において、「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
(13)本開示において使用される「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up、search、inquiry)(例えば、テーブル、データベース又は別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。また、「判断(決定)」は、「想定する(assuming)」、「期待する(expecting)」、「みなす(considering)」などで読み替えられてもよい。
(14)上述した実施形態において、「含む(include)」、「含んでいる(including)」及びそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。更に、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
(15)本開示において、例えば、英語でのa, an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
(16)本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、「結合される」等の用語も、「異なる」と同様に解釈されてもよい。
(17)本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行う通知に限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
 以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施できる。したがって、本開示の記載は、例示説明を目的とし、本開示に対して何ら制限的な意味を有さない。
 1…情報処理システム、10…端末装置、11,31…処理装置、14…撮像装置、16,33…通信装置、17…表示装置、111…第1取得部、112…第2取得部、113…平面検出部、114…空間調整部、115…画像生成部、116…データ生成部、117…表示制御部、118…通信制御部、311…取得部、312…管理部、Pk…位置データ、Dk…方向データ、Dg…撮像画像データ、Di…表示画像データ、Ds…空間構造データ、Dv…仮想オブジェクトデータ、Gk…撮像画像、P…アンカー。

Claims (5)

  1.  現実空間を撮像装置が撮像した撮像画像を示す撮像画像データを取得する第1取得部と、
     前記現実空間のうちアンカーの周辺における空間構造を示す空間構造データを取得する第2取得部と、
     前記撮像画像データの示す撮像画像と、前記空間構造データの示す空間構造とを比較することによって、前記アンカーと前記空間構造との位置合わせを行う空間調整部と、
     を備える端末装置。
  2.  前記空間調整部によって位置合わせされた前記空間構造及び前記アンカーを、前記撮像画像に重畳した表示画像を示す表示画像データを生成する画像生成部と、
     前記表示画像を表示装置に表示させる表示制御部とを更に備える、
     請求項1に記載の端末装置。
  3.  通信装置を用いて、仮想オブジェクトを管理するオブジェクト管理サーバへ、前記空間調整部の位置合わせに用いられた前記空間構造データ及び前記空間調整部の位置合わせに用いられた前記撮像画像データを送信させる通信制御部を更に備える、請求項1に記載の端末装置。
  4.  前記撮像画像データに基づいて、前記現実空間の空間構造において平面を検出する平面検出部を更に備え、
     前記アンカーは、前記平面検出部によって検出された平面に配置される、
     請求項1に記載の端末装置。
  5.  仮想オブジェクトを管理するオブジェクト管理サーバであって、
     現実空間を撮像装置が撮像した撮像画像を示す撮像画像データを取得する第1取得部と、前記現実空間のうちアンカーの周辺における空間構造を示す空間構造データを取得する第2取得部と、前記撮像画像データの示す撮像画像と前記空間構造データの示す空間構造とを比較することによって、前記アンカーと前記空間構造との位置合わせを行う空間調整部と、を備える端末装置から、前記空間調整部の位置合わせに用いられた前記空間構造データ及び前記撮像画像データを受信する受信部と、
     前記仮想オブジェクトと、前記端末装置から受信した前記空間構造データ及び前記撮像画像データとを対応付けて管理する管理部と、
     を備えるオブジェクト管理サーバ。
PCT/JP2023/016754 2022-06-21 2023-04-27 端末装置及びオブジェクト管理サーバ WO2023248619A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-099485 2022-06-21
JP2022099485 2022-06-21

Publications (1)

Publication Number Publication Date
WO2023248619A1 true WO2023248619A1 (ja) 2023-12-28

Family

ID=89379548

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/016754 WO2023248619A1 (ja) 2022-06-21 2023-04-27 端末装置及びオブジェクト管理サーバ

Country Status (1)

Country Link
WO (1) WO2023248619A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014002645A (ja) * 2012-06-20 2014-01-09 Shimizu Corp 合成画像表示システム及びその方法
JP2020098568A (ja) * 2018-10-03 2020-06-25 株式会社エム・ソフト 情報管理装置、情報管理システム、情報管理方法および情報管理プログラム
JP6961157B1 (ja) * 2021-05-25 2021-11-05 株式会社x garden 情報処理システム、情報処理方法及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014002645A (ja) * 2012-06-20 2014-01-09 Shimizu Corp 合成画像表示システム及びその方法
JP2020098568A (ja) * 2018-10-03 2020-06-25 株式会社エム・ソフト 情報管理装置、情報管理システム、情報管理方法および情報管理プログラム
JP6961157B1 (ja) * 2021-05-25 2021-11-05 株式会社x garden 情報処理システム、情報処理方法及びプログラム

Similar Documents

Publication Publication Date Title
US9355452B2 (en) Camera and sensor augmented reality techniques
US7554575B2 (en) Fast imaging system calibration
WO2018164460A1 (en) Method of providing augmented reality content, and electronic device and system adapted to the method
RU2533628C2 (ru) Устройство обработки информации, способ обработки информации и программа
EP2700040B1 (en) Color channels and optical markers
KR101330805B1 (ko) 증강 현실 제공 장치 및 방법
WO2011058910A1 (ja) 情報処理装置、情報処理方法、プログラムおよび情報処理システム
WO2011070871A1 (ja) 情報処理装置、情報処理方法およびプログラム
KR20120015922A (ko) 비가시 객체에 대한 증강 현실 정보 제공 장치 및 방법
WO2020042968A1 (zh) 一种对象信息的获取方法、装置以及存储介质
US10672191B1 (en) Technologies for anchoring computer generated objects within augmented reality
CN112116690A (zh) 视频特效生成方法、装置及终端
CA3115906A1 (en) Augmented reality system and method
WO2023248619A1 (ja) 端末装置及びオブジェクト管理サーバ
CN110650210B (zh) 影像数据获取方法、装置及存储介质
US20200042821A1 (en) Interactive method and interactive system
WO2022265347A1 (en) Three-dimensional scene recreation using depth fusion
KR20140103021A (ko) 객체 인식이 가능한 전자 장치
WO2023199627A1 (ja) ガイド画像管理装置
JP2018081424A (ja) 画像処理装置および画像処理方法
CN110460841A (zh) 一种电视机检测方法、装置、电子设备及存储介质
WO2023074852A1 (ja) 情報処理装置
WO2023171341A1 (ja) 表示制御装置
KR20210048244A (ko) 3차원 기반의 실내위치 추정 장치 및 시스템
JP7328361B2 (ja) 測定装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23826808

Country of ref document: EP

Kind code of ref document: A1