WO2022131465A1 - 증강 현실 콘텐츠를 디스플레이하는 전자 장치 및 방법 - Google Patents
증강 현실 콘텐츠를 디스플레이하는 전자 장치 및 방법 Download PDFInfo
- Publication number
- WO2022131465A1 WO2022131465A1 PCT/KR2021/007686 KR2021007686W WO2022131465A1 WO 2022131465 A1 WO2022131465 A1 WO 2022131465A1 KR 2021007686 W KR2021007686 W KR 2021007686W WO 2022131465 A1 WO2022131465 A1 WO 2022131465A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- location information
- electronic device
- vectors
- augmented reality
- reality content
- Prior art date
Links
- 230000003190 augmentative effect Effects 0.000 title claims abstract description 182
- 238000000034 method Methods 0.000 title claims abstract description 64
- 239000013598 vector Substances 0.000 claims abstract description 214
- 238000001514 detection method Methods 0.000 claims abstract description 54
- 238000009877 rendering Methods 0.000 claims abstract description 13
- 238000004891 communication Methods 0.000 claims description 39
- 230000005540 biological transmission Effects 0.000 claims description 15
- 238000010586 diagram Methods 0.000 description 27
- 230000033001 locomotion Effects 0.000 description 17
- 238000012545 processing Methods 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000013450 outlier detection Methods 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
Definitions
- Disclosed embodiments relate to a method of displaying augmented reality content and an electronic device for displaying augmented reality content.
- Augmented reality refers to a technology for providing a user with a virtual screen that provides additional information by synthesizing and combining a virtual object or thing based on an image of a real world space.
- augmented reality technology is expanding to fields such as telemedicine diagnosis, broadcasting, location-based service, mobile game, mobile solution industry, and education.
- the user terminal may provide augmented reality by directly generating and rendering augmented reality content.
- the user terminal may provide augmented reality by directly generating and rendering augmented reality content.
- due to limitations in computing performance of the user terminal and power consumption generated when rendering the augmented reality content there is a limit in generating the augmented reality content by the user terminal.
- a cloud-based augmented reality technology in which a user terminal receives and outputs augmented reality content from a server with high computing power that generates and renders augmented reality content is attracting attention.
- the user terminal receives, from the server, augmented reality content corresponding to the location information and direction information of the user terminal transmitted from the user terminal to the server, and displays it.
- the disclosed embodiments are intended to solve the above-described problem, and augmented reality content due to an error in sensor information or data transmitted from the user terminal to the server and a delay time caused by data transmission/reception between the user terminal and the server
- An electronic device that displays augmented reality content by correcting an error in a rendered position may be provided.
- the disclosed embodiments may also provide a method of displaying augmented reality content using an electronic device.
- a method for displaying augmented reality content by an electronic device is generated from a server to display augmented reality content for a real space and the augmented reality content.
- receiving first location information detecting a plurality of objects existing in the space using a detection model, and obtaining object location information of the detected objects; calculating first vectors representing a difference between the first location information and the object location information; identifying second vectors for correcting the first location information among the first vectors; generating second location information about a location where the augmented reality content is to be displayed by correcting the first location information based on the second vectors; and displaying the augmented reality content by rendering the augmented reality content to locations corresponding to the second location information.
- the electronic device for displaying augmented reality content includes a communication interface for performing data communication with a server, a memory for storing a program including one or more instructions, and a memory for the program stored in the memory.
- a processor executing one or more instructions, the processor controlling the communication interface to receive, from the server, augmented reality content for a real space and first location information generated to display the augmented reality content; , detects a plurality of objects existing in the space using a detection model, obtains object location information of the detected objects, and generates first vectors representing a difference between the first location information and the object location information.
- the electronic device may be configured to generate second location information regarding a , and display the augmented reality content by rendering the augmented reality content to locations corresponding to the second location information.
- FIG. 1 is a diagram for describing a method in which an electronic device receives augmented reality content received from a server and corrects a position for displaying the received augmented reality content, according to an exemplary embodiment.
- FIG. 2 is a block diagram illustrating a configuration of an electronic device according to an exemplary embodiment.
- 3A to 3B are diagrams for explaining a method of correcting a position where augmented reality content is displayed and operating an electronic device to display the augmented reality content at the corrected position, according to an exemplary embodiment.
- FIG. 4 is a diagram for describing a method in which an electronic device matches first location information and object information and calculates first vectors, according to an exemplary embodiment.
- FIG. 5 is a diagram for describing a method for an electronic device to identify second vectors to be used to correct first location information from among first vectors, according to an exemplary embodiment.
- 6A to 6D are for explaining a method of calculating first vectors, identifying second vectors from among the first vectors, and generating second location information using the second vectors, according to an exemplary embodiment;
- the drawings are referenced.
- FIG. 7 is a diagram for describing a method of rendering and displaying augmented reality content based on second location information by an electronic device, according to an exemplary embodiment.
- FIG. 8 is a diagram for describing a method for a server to generate augmented reality data and a method for an electronic device to recognize an object based on augmented reality data, according to an exemplary embodiment.
- FIG. 9 is a diagram for describing a method for an electronic device to generate second location information by correcting first location information and to render augmented reality content based on the second location information, according to another exemplary embodiment.
- FIG. 10 is a block diagram illustrating detailed configurations of an electronic device and a server according to an exemplary embodiment.
- FIG. 11 is a block diagram illustrating components constituting a network environment when a server according to an embodiment is an edge data network using edge computing technology.
- the first location information is location information generated from a server.
- the first location information means information generated by the server to display augmented reality content on the screen of the electronic device.
- the server may acquire an image (eg, an image in real space) from the electronic device, and generate augmented reality content based on the acquired image.
- the server may generate first location information that is information about a location for displaying the augmented reality content based on objects detected in the acquired image.
- the server may transmit the generated augmented reality content and first location information to the electronic device.
- the second location information is location information generated by the electronic device.
- the second location information refers to information generated by correcting the first location information received from the server in order for the electronic device to render augmented reality content on the screen of the electronic device.
- the electronic device may generate second location information by correcting an error included in the first location information, and render and display the augmented reality content received from the server based on the second location information.
- the first vector refers to a vector indicating a difference between first position information generated from a server and object position information indicating positions of objects detected by the electronic device in space. That is, the first vector may be information indicating how much the difference between the position of the object in the real space and the position calculated by the server to display the augmented reality content on the object is different.
- the first vector may include size information and direction information.
- the second vector refers to vectors other than vectors determined to be outliers among the first vectors. That is, the second vector may be vectors in which information determined as outliers is removed while indicating how much the difference is between the position of the object in the real space and the position calculated by the server to display augmented reality content on the object. Accordingly, the second vectors may be a subset of the first vectors.
- the electronic device may generate second location information by correcting the first location information received from the server based on the second vectors, and may render augmented reality content based on the second location information.
- FIG. 1 is a diagram for explaining a method of receiving augmented reality content from a server and correcting a position for displaying the received augmented reality content by an electronic device, according to an exemplary embodiment
- an electronic device 1000 may provide augmented reality content 125 to a user by using augmented reality data received from a server 2000 .
- the electronic device 1000 may display the augmented reality content 125 corresponding to each of the objects on an image acquired for a predetermined real space including at least one object.
- the electronic device 1000 includes a mobile device (eg, a smart phone, a tablet PC, etc.) capable of transmitting and receiving data through a network with the server 2000, such as a general-purpose computer (PC, personal computer). It may include a computing device. Also, the electronic device 1000 may include a mobile device (eg, a smart phone, a tablet PC, etc.) including an artificial intelligence model, and a computing device such as a personal computer (PC). Also, the electronic device 1000 may receive a user input. For example, the electronic device 1000 may receive a user input for selecting a type of the augmented reality content 125 and display the augmented reality content 125 selected by the user. In another example, the electronic device 1000 may receive a user input for selecting an object and display the augmented reality content 125 corresponding to the selected object.
- a mobile device eg, a smart phone, a tablet PC, etc.
- the electronic device 1000 may receive a user input for selecting a type of the augmented reality content 125 and display the augmented reality content
- the server 2000 may transmit/receive data to and from the electronic device 1000 .
- the server 2000 receives an image and sensor information (eg, location information of the electronic device 1000 , view information of the electronic device 1000 , etc.) from the electronic device 1000 , and the electronic device 1000 obtains Augmented reality data related to an object included in an image may be generated. Also, the server 2000 may transmit the generated augmented reality data to the electronic device 1000 .
- an image and sensor information eg, location information of the electronic device 1000 , view information of the electronic device 1000 , etc.
- Augmented reality data related to an object included in an image may be generated.
- the server 2000 may transmit the generated augmented reality data to the electronic device 1000 .
- the augmented reality data received from the server 2000 includes the augmented reality content 125 corresponding to each of at least one object in the image, and first location information 101 regarding a location for displaying the augmented reality content 125 . may be included, but is not limited thereto.
- the augmented reality content 125 When the augmented reality content 125 is displayed on the electronic device 1000 , the augmented reality content 125 is rendered based on the first location information 101 calculated and received by the server 2000 , and the electronic device 1000 . ) can be displayed on the screen. In this case, an error may exist in the first location information 101 received from the server 2000 due to a network delay time or inaccuracy of sensor information from the electronic device 1000 . Therefore, in the image 110 rendered based on the first location information 101, the location of the object in the real space and the location corresponding to the first location information 101 do not exactly match, so that the augmented reality content 125 is It may not be displayed in the correct position.
- the electronic device 1000 does not display the augmented reality content 125 based on the first location information 101 received from the server 2000 , but includes the augmented reality content 125 in the first location information 101 .
- the second location information 102 is generated by correcting the first location information 101 to remove an error, etc., and the augmented reality content 125 is rendered and displayed based on the generated second location information 102 . can do.
- the electronic device 1000 may detect at least one object in real space using a detection model, and obtain object location information of the detected objects.
- the electronic device 1000 may compare the object location information with the first location information 101 to calculate first vectors representing a difference between the object location information and the first location information 101 .
- the electronic device 1000 may identify second vectors to be used to correct the first location information 101 .
- the second vectors may be vectors excluding outlier vectors calculated by detecting the object as an incorrect position among the first vectors.
- the electronic device 1000 may generate the second location information 102 by correcting the first location information 101 received from the server 2000 using the second vectors.
- the electronic device 1000 may generate the rendered image 120 based on the second location information based on the generated second location information 102 and display the augmented reality content 125 .
- FIG. 2 is a block diagram illustrating a configuration of an electronic device 1000 according to an exemplary embodiment.
- the electronic device 1000 may include a communication interface 1100 , a sensing unit 1200 , an input unit 1300 , an output unit 1400 , a processor 1500 , and a memory 1600 .
- the communication interface 1100 may perform data communication with the server 2000 under the control of the processor 1500 . Also, the communication interface 1100 may perform data communication not only with the server 2000 but also with other electronic devices.
- Communication interface 1100 is, for example, wired LAN, wireless LAN (Wireless LAN), Wi-Fi (Wi-Fi), Bluetooth (Bluetooth), Zigbee (zigbee), WFD (Wi-Fi Direct), infrared communication (IrDA, Infrared Data Association), BLE (Bluetooth Low Energy), NFC (Near Field Communication), WiBro (Wireless Broadband Internet, Wibro), WiMAX (World Interoperability for Microwave Access, WiMAX), SWAP (Shared Wireless Access Protocol), WiGig Data communication may be performed with the server 2000 or other electronic devices using at least one of a data communication method including (Wireless Gigabit Allicance, WiGig) and RF communication.
- WiGig Wireless Gigabit Allicance, WiGig
- the communication interface 1100 includes sensor information (eg, location information of the electronic device 1000 , a field of view of the electronic device 1000 ) sensed by the sensing unit 1200 . information, etc.) may be transmitted to the server 2000 .
- sensor information eg, location information of the electronic device 1000 , a field of view of the electronic device 1000
- information, etc. may be transmitted to the server 2000 .
- the location information of the electronic device 1000 may be obtained by the electronic device 1000 using a location sensor of the electronic device 1000 such as a GPS sensor.
- the electronic device 1000 may detect a motion of the electronic device 1000 using a position sensor, and update location information of the electronic device 1000 based on the detected motion.
- the field of view information of the electronic device 1000 may be obtained by the electronic device 1000 from a gyro sensor or the like.
- the electronic device 1000 may detect a motion of the electronic device 1000 using a gyro sensor or the like, and may update view information of the electronic device 1000 based on the detected motion.
- the sensing unit 1200 may include various sensors configured to sense information about the surrounding environment of the electronic device 1000 .
- the sensing unit 1200 may include an image sensor (camera), an infrared sensor, an ultrasonic sensor, a lidar sensor, an obstacle sensor, and the like, but is not limited thereto.
- the field of view information of the electronic device 1000 may be obtained from a field of view on an image acquired by the camera of the electronic device 1000 .
- the field of view information may be information regarding a direction orthogonal to the rear side of the electronic device 1000 .
- the field of view information of the electronic device 1000 may be obtained by comparing images acquired by the camera of the electronic device 1000 .
- the sensing unit 1200 may acquire spatial structure information for a predetermined space by using at least one of a camera, an ultrasonic sensor, and a lidar sensor.
- the sensing unit 1200 may acquire object image data for performing object detection by using a camera.
- the sensing unit 1200 may detect a motion of the electronic device 1000 by using at least one of a position sensor and a gyro sensor, and calculate location information of the electronic device 1000 based on the detected motion. have.
- the user input unit 1300 (eg, a user interface circuit) according to an exemplary embodiment refers to a means through which data for controlling the electronic device 1000 is input by a user.
- the user input unit 1300 includes a key pad, a dome switch, and a touch pad (contact capacitive method, pressure resistance film method, infrared sensing method, surface ultrasonic conduction method, integral type).
- a tension measurement method a piezo effect method, etc.
- a touch screen a jog wheel, a jog switch, etc., but is not limited thereto.
- the user input unit 1300 may receive a user input for the electronic device 1000 in relation to the disclosed embodiments of the electronic device 1000 .
- the output unit 1400 (eg, an output circuit) according to an embodiment is for outputting an audio signal or a video signal, and may include a speaker, a display, and the like, but is not limited thereto.
- the speaker of the output unit 1400 may output audio data received from the communication interface 1100 or stored in the memory 1600 . Also, an acoustic signal related to a function performed by the electronic device 1000 may be output.
- the display of the output unit 1400 may display information processed by the electronic device 1000 .
- the display may display augmented reality content rendered on objects in real space, or a user interface (UI) or graphic user interface (GUI) related to augmented reality content.
- UI user interface
- GUI graphic user interface
- the processor 1500 may perform overall operations of the electronic device 1000 .
- the processor 1500 may execute one or more instructions of a program stored in the memory 1600 .
- the processor 1500 may be composed of hardware components that perform arithmetic, logic, input/output operations and signal processing.
- the processor 1500 is, for example, a central processing unit (Central Processing Unit), a microprocessor (microprocessor), a graphic processor (Graphic Processing Unit), ASICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), DSPDs (Digital Signal Processing Devices), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), Application Processors (APs), Neural Processing Units, or artificial intelligence-only processors designed with a hardware structure specialized for processing artificial intelligence models. It may consist of at least one, but is not limited thereto.
- the detection models executed by the processor 1500 may be downloaded from an external source to the electronic device 1000 and stored in the memory 1600 of the electronic device 1000 . Also, the detection models stored in the memory 1600 may be updated.
- the processor 1500 loads and executes the detection model stored in the memory 1600 , thereby detecting objects in space and acquiring location information of the objects.
- the processor 1500 may generate second location information for newly rendering the augmented reality content by comparing the acquired object information with the first location information that is a location for displaying the augmented reality content received from the server.
- the memory 1600 is, for example, a flash memory type, a hard disk type, a multimedia card micro type, or a card type memory (eg, SD or XD memory). etc.), non-volatile memory including at least one of ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, magnetic disk, optical disk, and It may include a volatile memory such as random access memory (RAM) or static random access memory (SRAM).
- RAM random access memory
- SRAM static random access memory
- the memory 1600 may store instructions, data structures, and program codes readable by the processor 1500 .
- operations performed by the processor 1500 may be implemented by executing instructions or codes of a program stored in the memory 1600 .
- FIG. 3A is a flowchart illustrating operations performed by an electronic device to correct and display a position where augmented reality content is displayed, according to an exemplary embodiment.
- the electronic device 1000 may receive first location information generated to display augmented reality content and augmented reality content for a predetermined real space from the server 2000 .
- the augmented reality content and the first location information received from the server 2000 include an image of a predetermined space received from the electronic device 1000 , location information of the electronic device 1000 , and a field of view of the electronic device 1000 . It may be generated by the server 2000 based on information and the like.
- the first location information may be location information for displaying augmented reality content corresponding to objects detected by the server 2000 in an image of a predetermined space.
- the augmented reality content may be that the server 2000 receives an image of a predetermined space from the electronic device 1000 , detects an object in the image, and generates augmented reality content for the detected object.
- the location information and the view information of the electronic device 1000 received from the electronic device 1000 are further used to determine the identified location of the electronic device 1000 and the electronic device 1000 .
- the direction it faces may be reflected in the augmented reality content.
- the electronic device 1000 Before displaying the received augmented reality content, the electronic device 1000 according to an embodiment may correct first location information generated to display the augmented reality content.
- the electronic device 1000 may detect at least one or more objects existing in space using the detection model, and obtain object location information of the detected objects.
- the electronic device 1000 may detect objects in a space-captured image by using the detection model and obtain object classification information indicating the classification of objects and object position information indicating the positions of the objects. Also, the electronic device 1000 may acquire only object location information by using the detection model.
- the detection model mounted on the electronic device 1000 may be a lightweight detection model having a lower detection accuracy but a faster detection speed than a detection model mounted on the server 2000 . Accordingly, the electronic device 1000 may quickly acquire object location information to be acquired within the processing capability of the electronic device 1000 .
- the electronic device 1000 may calculate first vectors indicating a difference between the first location information and the object location information.
- the first location information and the object location information may include data in the form of coordinates corresponding to the display screen of the electronic device 1000 .
- the electronic device 1000 may match the first location information and the object location information.
- various matching algorithms may be applied to a method of matching the first location information and the object location information.
- the matching algorithm may be, for example, a Minimum Cost Maximum Flow (MCMF) algorithm, a Hungarian algorithm, or the like, but is not limited thereto.
- MCMF Minimum Cost Maximum Flow
- the electronic device 1000 calculates a difference between the matched object location information and the first location information based on a result of matching each piece of object location information with each of the first location information, and thus the object location information and the first location information It is possible to calculate first vectors representing the difference between the two.
- an object may not be detected by the electronic device 1000 even though the object is actually present (if not detected).
- the object location information since the object location information is not obtained for the undetected object, the first location information corresponding to the undetected object may not match. Accordingly, since there is no matching result value, the first vector may not be calculated for an undetected object. A description of a case in which an object is not detected will be described below with reference to FIG. 3B .
- the electronic device 1000 may identify second vectors to be used to correct the first location information from among the first vectors.
- an object may be detected at a location other than where the object is actually located, thereby obtaining inaccurate object location information ( false detection).
- the value of the first vector representing the difference between the object location information and the first location information may also be an inaccurate value. Accordingly, the electronic device 1000 may identify only the remaining values excluding incorrect values from among the first vectors as the second vector, and use the identified second vectors to correct the first location information.
- the electronic device 1000 may apply an outlier detection algorithm to the first vectors.
- the outlier detection algorithm may be, for example, a k-Nearest Neighbors (kNN) algorithm, a Local Outlier Factor (LOF) algorithm, or the like, but is not limited thereto.
- kNN k-Nearest Neighbors
- LEF Local Outlier Factor
- the electronic device 1000 may identify outlier vectors classified as outliers among the first vectors, and may identify vectors other than the outlier vectors among the first vectors as second vectors.
- the electronic device 1000 corrects the first location information using the second vectors, so that the augmented reality content is location information about a location to be displayed on the display of the electronic device 1000 . 2 You can create location information.
- object location information matched with the first location information exists among a plurality of pieces of first location information, and a first vector indicating a difference between the first location information and the matched object location information
- the second location information may be generated by correcting the first location information using a second vector corresponding to the first location information.
- object location information matched with the first location information exists among the plurality of pieces of first location information, and a first vector indicating a difference between the first location information and the matched object location information is the first
- the second location information may be generated by correcting the first location information using a representative value of all second vectors.
- the electronic device 1000 uses the representative value of all second vectors to obtain the first location information. By correcting it, the second position information can be generated.
- the electronic device 1000 may generate the second location information by moving each of the first location information by a representative value of the second vectors with respect to all the first location information.
- the electronic device 1000 when the electronic device 1000 generates the second location information by correcting the first location information using the above-described methods, the electronic device 1000 further uses the sensor information obtained from the sensors of the electronic device 1000 to generate the second location information.
- information can be generated.
- the electronic device 1000 uses a motion sensor (eg, a gyro sensor) of the electronic device 1000 , which is information about movement information of the electronic device 1000 , such as a movement direction, a movement speed, and a viewing direction.
- the second location information in which the movement information is reflected may be generated by further using the movement direction, movement speed, and viewing direction of the electronic device 1000 when obtaining/calculating and generating the second location information.
- a detailed method for generating the second location information by the electronic device 1000 will be further described with reference to FIG. 3B .
- the electronic device 1000 may display the augmented reality content at the corrected location by rendering the augmented reality content at locations corresponding to the second location information.
- FIG. 3B is a diagram for further explaining the flowchart of FIG. 3A .
- a first object 310 , a second object 320 , a third object 330 , and a fourth object 340 may exist in a predetermined space.
- the server 2000 provides augmented reality content corresponding to each of the first to fourth objects 310 , 320 , 330 and 340 , and the first to fourth objects 310 , 320 , 330 and 340 , respectively.
- the first location information 101a , 101b , 101c , 101d indicating a location for displaying may be generated and transmitted to the electronic device 1000 .
- the first location information 101a, 101b, 101c, 101d indicating a location for displaying augmented reality content for the object includes the first location information 101a for the first object 310, It may be the first location information 101b of the second object 320 , the first location information 101c of the third object 330 , and the first location information 101d of the fourth object 340 . .
- positions in which the first objects 310 to 340 are actually located in a predetermined space may be different from those of 301 .
- an error in sensor information transmitted from the electronic device 1000 to the server 2000 an error exists in the first location information 101a , 101b , 101c , 101d generated by the server 2000 .
- the positions of the first object 310 to the fourth object 340 are not updated in real time in the server 2000 due to a network delay, so that the server 2000 An error may exist in the generated first location information 101a, 101b, 101c, and 101d.
- the electronic device 1000 detects the first object 310 to the fourth object 340 using the detection model, and includes object location information 311 and 321 indicating the location of the object. 331) can be obtained.
- the electronic device 1000 may include object location information 311 indicating the location of the first object 310 , object location information 321 indicating the location of the second object 320 , and the third object 330 . It is possible to obtain object location information 331 indicating the location of . In this case, the object location information 331 indicating the location of the third object 330 due to an error in the detection model, etc.
- the fourth object 340 may not be detected by the electronic device 1000 even though it actually exists in the space.
- the electronic device 1000 may calculate first vectors 312 , 322 , and 332 by comparing the first location information with the object location information.
- the electronic device 1000 calculates a difference between the first location information 101a of the first object 310 and the object location information 311 indicating the location of the first object 310 to calculate the first object A first vector 312 corresponding to 310 may be calculated.
- the electronic device 1000 calculates a difference between the first location information 101b of the second object 320 and the object location information 321 indicating the location of the second object 320 to calculate the second object A first vector 322 corresponding to 320 may be calculated.
- the electronic device 1000 calculates a difference between the first location information 101c of the third object 330 and the object location information 331 indicating the location of the third object 330 to determine the third object A first vector 332 corresponding to (330) may be calculated.
- the fourth object 340 since the fourth object 340 is not detected by the electronic device 1000 , object location information indicating the location of the fourth object 340 does not exist, and thus the fourth object 340 is not detected by the electronic device 1000 .
- the first vector may not be calculated.
- the electronic device 1000 selects second vectors to be used to correct the first location information 101a, 101b, 101c, and 101d from among the calculated first vectors 312 , 322 , and 332 . can be identified.
- the electronic device 1000 may identify outlier vectors by applying an outlier detection algorithm to the first vectors 312 , 322 , and 332 . Specifically, since the object location information 331 indicating the location of the third object 330 was obtained by erroneously detecting another part in the image other than the third object 330 as an object due to an error in the detection model, etc. 3 The first vector 332 corresponding to the object 330 may be identified as an outlier vector. In this case, the electronic device 1000 may identify the remaining first vectors 312 and 322 as the second vectors except for the first vector 332 corresponding to the third object identified as the outlier among the first vectors. can
- the electronic device 1000 corrects the first location information 101a, 101b, 101c, and 101d using the second vectors, so that the augmented reality content is positioned at a position to be displayed on the display of the electronic device 1000 . It is possible to generate the second location information 102a, 102b, 102c, and 102d that is location information.
- the electronic device 1000 identifies the first location information 101a of the first object 310 .
- the second location information 102a corresponding to the first object 310 may be generated by correcting it using the obtained second vector.
- the electronic device 1000 determines the first location information 101b of the second object 320 as the identified second vector.
- the second position information 102b corresponding to the second object 320 may be generated by performing correction using two vectors.
- the electronic device 1000 since the first vector 332 corresponding to the third object 330 is not identified as the second vector, the electronic device 1000 generates the first location information 101c for the third object 330 .
- the second location information 102c corresponding to the third object 330 may be generated by moving by the representative value of the two vectors.
- the first location information 101d of the fourth object 340 is obtained by using representative values of the second vectors. By correcting, the second location information 102d corresponding to the fourth object 340 may be generated.
- the electronic device 1000 renders the augmented reality content received from the server 2000 at locations corresponding to the generated second location information 102a, 102b, 102c, and 102d, thereby providing the first object
- the augmented reality content may be displayed at the corrected positions where the 310 to the fourth objects 340 actually exist, respectively.
- FIG. 4 is a diagram for describing a method in which the electronic device 1000 matches first location information and object information and calculates first vectors 410 , 420 , 430 , and 440 according to an embodiment.
- a predetermined space is a baseball stadium and objects to be recognized in the space are baseball players will be described as an example.
- predetermined spaces and objects are not limited thereto.
- the electronic device 1000 may match first location information received from the server 2000 with object location information obtained by the electronic device 1000 using a detection model. have.
- Locations corresponding to the first location information received from the server 2000 may be different from locations where objects are actually located in space. For example, since there is an error in sensor information transmitted from the electronic device 1000 to the server 2000 , an error may exist in the first location information generated by the server 2000 . In another example, when a movement of the electronic device 1000 occurs, the positions of objects in space are not updated in real time in the server 2000 due to a network delay, so that an error occurs in the first position information generated by the server 2000 . may exist.
- some of the object location information obtained by the electronic device 1000 using the detection model may be location information obtained by inaccurately detecting another part of the space as an object, rather than an object actually located in the space. .
- the electronic device 1000 may match the first location information received from the server 2000 with the object location information obtained as a result of object detection.
- the electronic device 1000 may set a reference point at a location corresponding to the first location information and a location corresponding to the object location information, respectively, and match the set reference points.
- the reference point may be data in the form of coordinates.
- the electronic device 1000 sets the lower end of a bounding box corresponding to the first location information on the image as a reference point, and sets the lower end of the bounding box corresponding to the object location information on the image as a reference point, Reference points can be matched.
- the present invention is not limited thereto, and the electronic device 1000 may match the first location information with the object location information by using other coordinates in the bounding box as a reference point.
- the matching algorithm may be, for example, a Minimum Cost Maximum Flow (MCMF) algorithm, a Hungarian algorithm, or the like, but is not limited thereto.
- MCMF Minimum Cost Maximum Flow
- Reference numeral 400 of FIG. 4 visualizes a result of matching the first location information with objects and the first vectors 410 , 420 , 430 , and 440 calculated based on the matching result.
- the electronic device 1000 may calculate the first vectors 410 , 420 , and 430 based on the matching result. For example, for each matching result in which the object location information and the first location information are matched, a difference between the reference point of the first location information from the reference point of the object location information is calculated, and a first vector corresponding to each matching result can be calculated.
- the first vectors 410 , 420 , and 430 may be vectors indicating a distance and a direction from a location corresponding to the first location information to a location corresponding to the object location information.
- the electronic device 1000 may identify second vectors to be used to correct the first location information from among the calculated first vectors 410 , 420 , and 430 .
- FIG. 5 is a diagram for describing a method for the electronic device 1000 to identify second vectors to be used to correct first location information from among first vectors, according to an exemplary embodiment.
- the electronic device 1000 uses second vectors for generating corrected second location information from the first location information as first vectors 510 and 520 . , 530) can be identified.
- the 500 of FIG. 5 is a visualization of the calculated first vectors 510 , 520 , and 530 .
- the electronic device 1000 may generate a list of first vectors by collecting the calculated first vectors 510 , 520 , and 530 .
- the electronic device 1000 may detect outlier vectors from among the calculated first vectors 510 , 520 , and 530 .
- the outlier vector may mean a vector in which the length and/or direction of the vector is significantly different from that of another vector.
- the first vectors 510 , 520 , and 530 will be divided into a first vector a 510 , a first vector b 520 , and a first vector c 530 .
- the electronic device 1000 may apply an outlier detection algorithm to the calculated first vectors.
- the outlier detection algorithm may be, for example, a k-Nearest Neighbors (kNN) algorithm, a Local Outlier Factor (LOF) algorithm, or the like, but is not limited thereto.
- a first vector b 520 among the first vectors may be identified as an outlier vector.
- the electronic device 1000 identifies the first vector a (510) and the first vector c (530), which are the remaining first vectors except for the first vector b (520) identified as the outlier vector, as the second vectors. can do.
- the electronic device 1000 may generate second location information that is location information about a location where the augmented reality content is to be displayed by using the identified second vectors.
- 6A is a diagram for describing a method for an electronic device to identify first vectors according to an exemplary embodiment.
- the electronic device 1000 receives the first location information 601 from the server 2000, detects a plurality of objects in a predetermined space using a detection model, and locates the object.
- the first vectors 603 may be identified by acquiring the information 602 and comparing the first location information 601 with the object location information 602 .
- the plurality of objects are divided into first to eighth objects 611 to 618 , ninth objects and tenth objects 621 and 622 , and eleventh to thirteenth objects 631 to 633 . decide to do
- the first location information 601 means location information indicating a location for displaying augmented reality content for each of the first to thirteenth objects calculated and received from the server 2000 .
- the detection model mounted on the electronic device 1000 may be a detection model that is lighter than the detection model mounted on the server 2000 . In this case, all objects existing in the space may not be accurately detected.
- the obtained object location information 602 may be accurate object location information obtained by accurately detecting the object.
- the obtained object location information 602 may be inaccurate object location information obtained by inaccurately detecting an object (in case of erroneous detection).
- object location information may not be obtained because the object is not detected (if not detected).
- the electronic device 1000 cannot determine whether the obtained object location information 602 is accurate object location information or inaccurate object location information based on the obtained object location information 602 alone. Accordingly, the electronic device 1000 matches the obtained object location information 602 with the first location information 601 regardless of whether the obtained object location information 602 is accurate object location information, and The first vectors 603 may be calculated by calculating the difference between the matched information. In this case, for the eleventh object to the thirteenth object 631 to 633 , since the object location information 602 has not been obtained, there is no object location information matching the first location information 601 , and thus The first vectors are not calculated.
- 6B is a diagram for describing a method for an electronic device to identify an outlier vector from among first vectors, according to an exemplary embodiment.
- the electronic device 1000 in order to distinguish the first vectors calculated from inaccurate object location information, the electronic device 1000 according to an embodiment includes outlier vectors 604 among the obtained first vectors 603 . can be identified.
- the image frame in which the server 2000 generates the first location information 601 and the image frame in which the electronic device 1000 obtains the object location information 602 are the same image frame or within a predetermined number of frames may be an adjacent image frame of Accordingly, the degree of movement of objects within a short interval within a predetermined number of frames is similar, but the degree of movement may not be large. Accordingly, in this case, the first vectors 603 calculated from the ninth and tenth objects 621 and 622 that are erroneously detected objects may be detected as outlier vectors 604 .
- the electronic device 1000 may identify vectors other than vectors detected as outlier vectors 604 among the first vectors 603 as second vectors 605 .
- first vectors 603 calculated from the first to eighth objects 611 to 618 are identified as second vectors 605 .
- FIG. 6C is a diagram for explaining a method of correcting first location information by an electronic device using second vectors, according to an exemplary embodiment.
- the electronic device 1000 may correct the first location information 601 by using the second vectors 605 .
- the electronic device 1000 obtains the first location information 601 of the respective objects.
- the corrected second position information 607 may be generated by performing correction based on the second vector 605 corresponding to the first position information 601 .
- the identified second vectors 605 do not exist, and for each of the ninth and tenth objects 621 and 622 in which the first vector is identified as an outlier vector, each object
- the corrected second location information 607 may be generated by correcting the first location information 601 of each of them based on the representative value 606 of the second vector.
- the electronic device 1000 sets the first location information 601 of each object as a representative value of the second vector.
- Corrected second position information 607 may be generated by correcting based on 606 .
- the representative value 606 of the second vector may be obtained using the second vectors 605 .
- the representative value 606 of the second vector may be an average value or a median value of the second vectors 605 , but is not limited thereto.
- the electronic device 1000 may generate the second location information 607 by correcting the first location information 601 by the above-described methods.
- 6D is a diagram for explaining a method of correcting first location information by an electronic device using representative values of second vectors, according to an exemplary embodiment.
- the electronic device 1000 may correct the first location information 601 by using the representative value 606 of the second vector.
- the electronic device 1000 corrects the first location information 601 based on the representative value 606 of the second vector for all objects existing in the space, thereby providing the corrected second location information. (607) can be created.
- the representative value 606 of the second vector may be an average value or a median value of the above-described second vectors 605 , but is not limited thereto.
- FIG. 7 is a diagram for explaining a method of rendering and displaying augmented reality content based on second location information by the electronic device 1000 according to an exemplary embodiment.
- the electronic device 1000 provides augmented reality content for objects in space by correcting the first location information received from the server 2000 .
- Second location information that is information about a location for rendering may be generated. Based on the generated second location information, the electronic device 1000 may render augmented reality contents to locations corresponding to the second location information.
- the electronic device 1000 may recognize the player A 701 as an object.
- the electronic device 1000 may render and display the augmented reality content 710 for the player A 701 based on the second location information 705 corresponding to the player A 701 .
- the electronic device 1000 may render and display augmented reality content corresponding to the objects existing in the space, respectively, based on the generated second location information.
- FIG. 8 is a diagram for describing a method in which the server 2000 generates augmented reality data and a method in which an electronic device recognizes an object based on the augmented reality data, according to an exemplary embodiment.
- the electronic device 1000 transmits at least one of an acquired image, location information of the electronic device, field of view information of the electronic device 1000, and user information of the electronic device 1000 to the server 2000 .
- the electronic device 1000 may transmit location information and view information of the electronic device 1000 in a real space such as a stadium, a performance hall, an exhibition hall, and a shopping mall to the server 2000 .
- the electronic device 1000 may transmit user information (eg, gender, age, occupation, interest information, etc.) to the server 2000 .
- the server 2000 may detect an object using a detection model and generate augmented reality data.
- at least one of location information, view information, and user information of the electronic device 1000 may be further used.
- the present invention is not limited thereto, and other information may be further used to generate the augmented reality data.
- the augmented reality data may include augmented reality content for the object and a location for displaying the augmented reality content rule.
- the server 2000 may generate augmented reality content based on location information and view information of the electronic device 1000 .
- the electronic device 1000 when the electronic device 1000 is located in a baseball stadium and it is determined that the field of view information represents the ground in the baseball stadium, detects baseball players in the stadium in the received image, and augmented reality about the baseball players You can create content.
- the server 2000 may generate augmented reality content based on user information of the electronic device 1000 . Specifically, when a baseball game between Team A and Team B is played, if the user of the electronic device 1000 is a fan of Team A, the server 2000 generates augmented reality content about the baseball players, Augmented reality content may be mainly generated with content recommended to fans (eg, team A cheering content, etc.).
- the server 2000 may generate first location information indicating a location for displaying the generated augmented reality content on the screen of the electronic device 1000 .
- the electronic device 1000 may receive augmented reality data including augmented reality content and first location information from the server 2000 .
- the electronic device 1000 may acquire an image.
- the image may be acquired using a camera included in the electronic device 1000 .
- the image obtained in step S840 may be an image of the same frame as the image described in step S810, may be a frame following the image described above in step S810, and may be an image after a predetermined number of frames from the image described above in step S810. can be
- the electronic device 1000 may detect objects in the image obtained in operation S840 based on the augmented reality data.
- the electronic device 1000 may detect the object based on first location information included in the augmented reality data. Specifically, in order to reduce the amount of computation, the electronic device 1000 may detect an object by preferentially searching for locations corresponding to the first location information and surrounding locations within the acquired image.
- the electronic device 1000 may detect the object based on augmented reality content included in the augmented reality data. Specifically, when the augmented reality content is augmented reality content about a baseball player, the electronic device 1000 may detect the object using a detection model suitable for detecting the baseball player.
- the electronic device 1000 may generate second location information by correcting the first location information included in the augmented reality data. Also, the electronic device 1000 may render and display augmented reality content based on the second location information. Since this corresponds to steps S330 to S360 of FIG. 3 , a description thereof will be omitted for simplicity of description.
- FIG. 9 is a diagram for explaining a method for the electronic device 1000 to generate second location information by correcting first location information, and to render augmented reality content based on the second location information, according to another embodiment .
- the electronic device 1000 may receive the first location information 901 indicating a location where the augmented reality content generated from the server 2000 is rendered.
- the first location information 901 indicating locations where the augmented reality content is rendered may be generated based on the first image frame 910 .
- the electronic device 1000 when the electronic device 1000 according to an embodiment renders and displays the augmented reality content on the second image frame 920, data transmission/reception between the electronic device 1000 and the server 2000 is delayed.
- the first location information 901 that is calculated based on the first image frame 910 and is location information for displaying the augmented reality content is not the rendering location information generated based on the second image frame 920 . may have been received.
- the electronic device 1000 detects objects in the second image frame 920 according to the above-described embodiments to obtain object location information, and generates the second location information 902 to generate the second location information.
- the augmented reality content may be rendered and displayed at locations corresponding to the information 902 .
- the electronic device 1000 when the electronic device 1000 generates the second location information 902 to correct the location at which the augmented reality content according to the above-described embodiment is rendered, calculates the amount of computation.
- objects in a frame may be detected based on a predetermined frame interval rather than all frames, and object location information of the detected objects may be obtained.
- the electronic device 1000 may detect objects in a frame every K frames, and obtain object location information of the detected objects. For example, when the electronic device 1000 generates the second location information 902 with respect to the second image frame 920 and corrects the location where the augmented reality content is rendered, the electronic device 1000 displays the second image Operations for generating the second location information 902 according to the above-described embodiments may be performed again every K-th frame after the frame 920 .
- the electronic device 1000 matches the first location information 901 last received from the server 2000 with respect to the object location information acquired for every K frames, and matches the object location information with the first location information 901 .
- First vectors indicating a difference between one location information may be calculated.
- the electronic device 1000 identifies second vectors to be used to correct the first location information 901 from among the calculated first vectors, and relates to a location where the augmented reality content is to be displayed using the second vectors.
- the second location information 902 may be generated.
- the predetermined frame interval K may be determined based on a data transmission/reception delay time between the electronic device 1000 and the server 2000 .
- the electronic device 1000 may determine the predetermined frame interval as a value smaller than the current value K. For example, the electronic device 1000 may generate the second location information 902 more frequently by determining the predetermined frame interval to be J (J ⁇ K).
- the electronic device 1000 may determine the predetermined frame interval as a value greater than the current value K. For example, the electronic device 1000 may generate the second location information 902 less frequently by determining the predetermined frame interval to be L (L > K).
- FIG. 10 is a block diagram illustrating detailed configurations of the electronic device 1000 and the server 2000 according to an exemplary embodiment.
- the electronic device 1000 may include a communication interface 1100 , a sensing unit 1200 , an input unit 1300 , an output unit 1400 , a processor 1500 , and a memory 1600 .
- the communication interface 1100 , the sensing unit 1200 , the input unit 1300 , the output unit 1400 , and the processor 1500 have been described above with reference to FIG. 2 , and thus descriptions thereof will be omitted.
- Data and program command codes corresponding to the object detection module 1610 , the second location information generation module 1620 , and the augmented reality content output module 1630 may be stored in the memory 1600 according to an embodiment.
- the present invention is not limited thereto, and the electronic device 1000 may provide the augmented reality content to the user by using more software modules than the software modules shown in FIG. 10 , and have fewer software modules than the software modules shown in FIG. 10 .
- the electronic device 1000 may provide augmented reality content to the user using
- the processor 1500 detects objects in a predetermined space using the data and the instruction code related to the object detection module 1610 , so that object classification information indicating the type of object and object location information indicating the location of the object etc can be obtained. Also, there may be a plurality of detection models included in the object detection module 1610 . In this case, the processor 1500 may determine a suitable detection model based on location information of the electronic device 1000 and perform object detection. For example, when location information of the electronic device 1000 indicates a baseball stadium, the electronic device 1000 detects an object using a detection model suitable for detecting objects (eg, a baseball player) in the baseball stadium. can be performed. In another example, when the location information of the electronic device 1000 indicates a shopping mall, the electronic device 1000 performs object detection using a detection model suitable for detecting objects (eg, shopping items) in the shopping mall. can do.
- a detection model suitable for detecting objects eg, shopping items
- the processor 1500 may generate the second location information by correcting the first location information by using the data and the command code related to the second location information generating module 1620 .
- the processor 1500 may render the augmented reality content based on the generated second location information.
- the processor 1500 compares the object location information obtained as a result of object detection with the first location information that is received from the server 2000 and indicates a location where the augmented reality content is rendered, and determines the difference between the object location information and the first location information.
- the representing vectors may be identified, and the processor 1500 may generate second location information used to render the augmented reality content to a location corresponding to the exact location of the object based on the identified vectors.
- the processor 1500 may output the augmented reality content by using the data and the instruction code related to the augmented reality content output module 1630 .
- the processor 1500 may render and display the augmented reality content received from the server 2000 on an image based on the generated second location information.
- the server 2000 may include a communication interface 2100 , a processor 2200 , and a storage unit 2300 .
- the communication interface 2100 may perform data communication with the electronic device 1000 under the control of the processor 2200 .
- Communication interface 2100 is, for example, wired LAN, wireless LAN (Wireless LAN), Wi-Fi (Wi-Fi), Bluetooth (Bluetooth), Zigbee (zigbee), WFD (Wi-Fi Direct), infrared communication (IrDA, Infrared Data Association), BLE (Bluetooth Low Energy), NFC (Near Field Communication), WiBro (Wireless Broadband Internet, Wibro), WiMAX (World Interoperability for Microwave Access, WiMAX), SWAP (Shared Wireless Access Protocol), WiGig Data communication with the electronic device 1000 may be performed using at least one of a data communication method including (Wireless Gigabit Allicance, WiGig) and RF communication.
- WiGig Wireless Gigabit Allicance, WiGig
- the communication interface 2100 In order to generate augmented reality content, the communication interface 2100 according to an embodiment provides an image and sensor information (eg, location information of the electronic device 1000 and a field of view of the electronic device 1000 ) from the electronic device 1000 . information, etc.) and transmit the generated augmented reality content to the electronic device 1000 .
- image and sensor information eg, location information of the electronic device 1000 and a field of view of the electronic device 1000
- the processor 2200 may execute one or more instructions of a program stored in the storage 2300 .
- the processor 2200 may include hardware components that perform arithmetic, logic, input/output operations and signal processing.
- the processor 2200 may include, for example, a central processing unit (Central Processing Unit), a microprocessor, a graphic processor (Graphic Processing Unit), Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), and Digital Signal Processors (DSPDs). Signal Processing Devices), PLDs (Programmable Logic Devices), FPGAs (Field Programmable Gate Arrays), APs (Application Processors), Neural Processing Units, or artificial intelligence-only processors designed with a hardware structure specialized for processing artificial intelligence models. It may consist of at least one, but is not limited thereto.
- a central processing unit Central Processing Unit
- a microprocessor a graphic processor (Graphic Processing Unit), Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), and Digital Signal Processors (DSPDs).
- ASICs Application Specific Integrated Circuits
- DSPs Digital Signal Processors
- DSPDs Digital Signal Processors
- Signal Processing Devices PLDs (Programm
- the processor 2200 may detect objects in the received image and generate augmented reality content related to the detected object. Also, the processor 2200 may generate first location information indicating a location for displaying the generated augmented reality content.
- the storage unit 2300 is, for example, a flash memory type, a hard disk type, a multimedia card micro type, or a card type memory (eg, SD or XD).
- Non-volatile memory including at least one of memory, etc.), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, magnetic disk, and optical disk and volatile memory such as random access memory (RAM) or static random access memory (SRAM).
- the storage unit 2300 may store instructions, data structures, and program codes readable by the processor 2200 .
- operations performed by the processor 2200 may be implemented by executing instructions or codes of a program stored in the storage 2300 .
- data and program command codes corresponding to the object detection module 2310 , the augmented reality content generation module 2320 , and the first location information generation module 2330 may be stored in the storage unit 2300 .
- the processor 2200 may detect the types and positions of objects in the input image by using the data and the command code related to the object detection module 2310 . Also, there may be a plurality of detection models included in the object detection module 2310 . When there are a plurality of detection models, the server 2000 may determine an appropriate detection model based on location information of the electronic device 1000 and perform object detection.
- the processor 2200 may generate augmented reality content related to the detected object by using the data and the instruction code related to the augmented reality content generating module 2320 .
- the processor 2200 uses the first location information generation module 2330 to display the generated augmented reality content at a location corresponding to the object location of the detected objects, the first location information can create The processor 2200 may transmit the generated first location information and the generated augmented reality content to the electronic device 1000 using the communication interface 2100 .
- the server 2000 illustrated in FIG. 10 may be an edge data network using a multi-access edge computing (MEC) technology. This will be further described in the description of FIG. 11 .
- MEC multi-access edge computing
- FIG. 11 is a block diagram illustrating components constituting a network environment when the server 2000 according to an embodiment is an edge data network using edge computing technology.
- Edge computing technology may include, for example, multi-access edge computing (MEC) or fog computing (FOC).
- MEC multi-access edge computing
- FOC fog computing
- Edge computing technology provides data to an electronic device through a location geographically close to the electronic device, for example, a separate server installed inside or near the base station (hereinafter referred to as 'edge data network' or 'MEC server') It can mean the skill to
- an application requiring low latency among at least one application installed in the electronic device is located in a geographically close location without going through a server located in an external data network (DN) (eg, the Internet).
- DN external data network
- Data can be sent and received through the installed edge server.
- FIG. 11 for convenience of description, an edge data network using a multi-access edge computing (MEC) technology will be described as a reference.
- MEC multi-access edge computing
- the network environment may include an electronic device 1000 , an edge data network 2500 , a cloud server 3000 , and an access network (AN, 4000).
- the configuration included in the network environment is not limited thereto.
- each of the components included in the network environment may mean a physical entity unit or a software or module unit capable of performing an individual function.
- the electronic device 1000 may mean a device used by a user.
- the electronic device 1000 may include a terminal, a user equipment (UE), a mobile station, a subscriber station, a remote terminal, and a wireless terminal. , or a user device.
- UE user equipment
- the electronic device 1000 may include a terminal, a user equipment (UE), a mobile station, a subscriber station, a remote terminal, and a wireless terminal. , or a user device.
- the electronic device 1000 may be an electronic device that provides augmented reality content according to the above-described embodiments.
- the electronic device 1000 includes a first application client (or application client) 122 , a second application client 124 , and an edge enabler client (or an MEL (MEC) enabling layer) 130 .
- the electronic device 1000 may perform a necessary operation using the edge enabler client 130 to use the MEC service.
- the edge enabler client 130 may be used to search for an application and supply required data to the application.
- the electronic device 1000 may execute a plurality of applications.
- the electronic device 1000 may execute the first application client 122 and the second application client 124 .
- the plurality of applications may include a required data transmission rate, delay time (or latency), reliability, the number of electronic devices accessed to the network, a network access period of the electronic device 1000 , or average data.
- Different network services may be required based on at least one of usage.
- the different network services may include, for example, enhanced mobile broadband (eMBB), ultra-reliable and low latency communication (URLLC), or massive machine type communication (mMTC).
- eMBB enhanced mobile broadband
- URLLC ultra-reliable and low latency communication
- mMTC massive machine type communication
- the application client of the electronic device 1000 may refer to a basic application pre-installed in the electronic device 1000 or an application provided by a third party. That is, it may mean a client application program that is run in the electronic device 1000 for a specific application service. Several application clients may be driven in the electronic device 1000 . At least one of these application clients may use a service provided from the edge data network 2500 .
- the application client is an application installed and executed in the electronic device 1000 , and may provide a function of transmitting and receiving data through the edge data network 2500 .
- the application client of the electronic device 1000 may refer to application software executed on the electronic device 1000 to use a function provided by one or more specific edge applications.
- the plurality of applications 122 and 124 of the electronic device 1000 perform data transmission with the cloud server 3000 or the edge data network 2500 based on a required network service type.
- Data transmission based on edge computing can be performed. For example, if the first application client 122 does not request a low delay time, the first application client 122 may perform data transmission with the cloud server 3000 .
- the second application client 124 may perform MEC-based data transmission with the edge data network 2500 .
- the access network 4000 may provide a channel for wireless communication with the electronic device 1000 .
- the access network 4000 may be a radio access network (RAN), a base station, an inode ratio (eNB, eNodeB), a 5G node (5G node), a transmission/reception point (TRP, transmission/reception point), or It may mean 5th generation NodeB (5GNB).
- RAN radio access network
- eNB inode ratio
- 5G node 5G node
- TRP transmission/reception point
- It may mean 5th generation NodeB (5GNB).
- the edge data network 2500 may mean a server to which the electronic device 1000 accesses to use the MEC service.
- the edge data network 2500 may be installed in a location geographically close to the electronic device, for example, inside or near the base station.
- the edge data network 2500 may transmit/receive data to and from the electronic device 1000 without using an external data network (DN) (eg, the Internet).
- DN external data network
- MEC may be referred to as multi-access edge computing or mobile-edge computing.
- the edge data network 2500 may include a MEC host, an edge computing server, a mobile edge host, an edge computing platform, a MEC server, etc. may be referred to as , but for convenience of description, it will be referred to as an edge data network 2500 hereinafter.
- the edge data network 2500 includes a first edge application 142 , a second edge application 144 , and an edge enabler server (or MEP (MEC platform)) 146 .
- the edge enabler server 146 is a configuration that provides MEC service or performs traffic control in the edge data network 2500, and the edge enabler server 146 provides application-related information (eg, of the application). Availability/enablement may be provided to the edge enabler client 130 .
- the edge data network 2500 may execute a plurality of applications.
- the edge data network 2500 may execute the first edge application 142 and the second edge application 144 .
- the edge application may mean an application application provided by a third party in the edge data network 2500 that provides the MEC service, and may also be referred to as an edge application.
- the edge application may be used to establish a data session with the application client in order to transmit and receive data related to the application client. That is, an edge application can establish a data session with an application client.
- the data session may refer to a communication path formed in order to transmit and receive data between the application client of the electronic device 1000 and the edge application of the edge data network 2500 .
- an application of the edge data network 2500 may be referred to as an MEC application, an edge application server, and an edge application.
- an application of the edge data network 2500 is referred to as an edge application.
- the edge application may mean an application server existing in the edge data network.
- the cloud server 3000 may provide content related to an application.
- the cloud server 3000 may be managed by a content provider.
- the cloud server 3000 may transmit/receive data to and from the electronic device 1000 through an external data network (DN) (eg, the Internet).
- DN external data network
- CN core network
- DN data network
- the data network transmits and receives data (or data packets) to and from the electronic device 1000 through the core network and the access network 4000 to provide a service (eg, an Internet service, an IP multimedia subsystem (IMS) service) can provide
- a service eg, an Internet service, an IP multimedia subsystem (IMS) service
- the data network may be managed by a carrier.
- the edge data network 2500 may be connected to the access network 4000 or the core network through a data network (eg, a local DN).
- the electronic device accesses the edge data network 2500 through the access network 4000 .
- data for executing the application client can be transmitted/received.
- FIGS. 2 and 10 are block diagrams for an exemplary embodiment.
- Each component in the block diagram may be integrated, added, or omitted according to the specifications of each device that is actually implemented. That is, two or more components may be combined into one component, or one component may be subdivided into two or more components as needed.
- the function performed in each block is for describing the embodiments, and the specific operation or device does not limit the scope of the present invention.
- the method for displaying augmented reality content by the electronic device may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium.
- the computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination.
- the program instructions recorded on the medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software.
- Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks.
- - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
- Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
- the method for displaying augmented reality content by the electronic device may be provided by being included in a computer program product.
- Computer program products may be traded between sellers and buyers as commodities.
- the computer program product may include a S/W program and a computer-readable storage medium in which the S/W program is stored.
- computer program products may include products (eg, downloadable apps) in the form of S/W programs distributed electronically through manufacturers of electronic devices or electronic markets (eg, Google Play Store, App Store). have.
- the storage medium may be a server of a manufacturer, a server of an electronic market, or a storage medium of a relay server temporarily storing a SW program.
- the computer program product in a system consisting of a server and an electronic device, may include a storage medium of the server or a storage medium of the electronic device.
- a third device eg, a smart phone
- the computer program product may include a storage medium of the third device.
- the computer program product may include the S/W program itself transmitted from the server to the electronic device or the third device, or transmitted from the third device to the electronic device.
- one of the server, the electronic device, and the third device may execute the computer program product to perform the method according to the disclosed embodiments.
- two or more of the server, the electronic device, and the third device may execute the computer program product to distribute the method according to the disclosed embodiments.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
증강 현실 콘텐츠를 디스플레이하는 방법 및 전자 장치가 제공된다. 전자 장치가 증강 현실 콘텐츠를 디스플레이하는 방법은, 서버로부터 현실의 공간에 대한 증강 현실 콘텐츠 및 상기 증강 현실 콘텐츠를 디스플레이하기 위해 생성된 제1 위치 정보들을 수신하는 단계; 검출 모델을 이용하여 상기 공간에 존재하는 복수개의 객체들을 검출하고, 상기 검출된 객체들의 객체 위치 정보들을 획득하는 단계; 상기 제1 위치 정보들과 상기 객체 위치 정보들 간의 차이를 나타내는 제1 벡터들을 산출하는 단계; 상기 제1 벡터들 중에서, 상기 제1 위치 정보들을 보정하기 위한 제2 벡터들을 식별하는 단계; 상기 제2 벡터들에 기초하여 상기 제1 위치 정보들을 보정함으로써 상기 증강 현실 콘텐츠가 디스플레이 될 위치에 관한 제2 위치 정보들을 생성하는 단계; 및 상기 제2 위치 정보들에 대응되는 위치들로 상기 증강 현실 콘텐츠를 렌더링하여 상기 증강 현실 콘텐츠를 디스플레이하는 단계를 포함할 수 있다.
Description
개시된 실시예들은 증강 현실 콘텐츠를 디스플레이하는 방법 및 증강 현실 콘텐츠를 디스플레이하는 전자 장치에 관한 것이다.
증강 현실(AUGMENTED REALITY)은 현실 세계 공간의 이미지를 기반으로, 가상의 대상 또는 사물을 합성 및 결합함으로써, 부가적인 정보를 제공하는 가상의 화면을 사용자에게 제공하는 기술을 지칭한다.
증강 현실 기술의 활용범위들은 원격 의료 진단, 방송, 위치기반 서비스, 모바일 게임, 모바일 솔루션 업계, 교육 등의 분야로 확장되고 있다.
사용자 단말기는 직접 증강 현실 컨텐츠를 생성 및 렌더링함으로써, 증강 현실을 제공할 수 있다. 하지만, 사용자 단말기의 컴퓨팅 성능의 한계와 증강 현실 컨텐츠를 렌더링할 때 발생되는 전력 소비량으로 인하여, 사용자 단말기가 증강 현실 컨텐츠를 생성하는데 한계점이 존재하였다.
최근, 네트워크 기술이 발전됨에 따라서, 사용자 단말기가 증강 현실 콘텐츠를 생성 및 렌더링하는 높은 컴퓨팅 성능의 서버로부터 증강 현실 콘텐츠를 수신하여 출력하는, 클라우드 기반의 증강 현실 기술이 주목받고 있다. 특히, 사용자 단말기는 사용자 단말기가 서버로 전송한 사용자 단말기의 위치 정보 및 방향 정보에 대응하는 증강 현실 컨텐츠를 서버로부터 수신하고, 디스플레이한다.
하지만, 클라우드 기반의 증강 현실 기술은 사용자 단말기와 서버 사이에 데이터가 송수신됨으로써 발생되는 지연 시간에 의해서, 증강 현실 컨텐츠가 표시될 객체가 빠르게 움직이거나, 사용자 단말기가 빠르게 움직이는 경우, 객체의 위치에 맞게 증강 현실 컨텐츠를 표시하지 못하는 문제점이 존재한다. 따라서, 자연스럽지 못한 증강 현실 컨텐츠를 사용자에게 제공하는 문제가 발생된다.
개시된 실시예들은, 전술한 문제를 해결하기 위한 것으로서, 사용자 단말기로부터 서버로 전송 된 센서 정보 또는 데이터 등의 오차 및 사용자 단말기와 서버 사이에 데이터가 송수신됨으로써 발생되는 지연 시간으로 인한, 증강 현실 콘텐츠가 렌더링되는 위치의 오차를 보정하여 증강 현실 콘텐츠를 디스플레이하는 전자 장치를 제공할 수 있다.
개시된 실시예들은 또한, 전자 장치를 이용하여 증강 현실 콘텐츠를 디스플레이하는 방법을 제공할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 일 실시예에 따른 전자 장치가 증강 현실 콘텐츠를 디스플레이하는 방법은, 서버로부터 현실의 공간에 대한 증강 현실 콘텐츠 및 상기 증강 현실 콘텐츠를 디스플레이하기 위해 생성된 제1 위치 정보들을 수신하는 단계; 검출 모델을 이용하여 상기 공간에 존재하는 복수개의 객체들을 검출하고, 상기 검출된 객체들의 객체 위치 정보들을 획득하는 단계; 상기 제1 위치 정보들과 상기 객체 위치 정보들 간의 차이를 나타내는 제1 벡터들을 산출하는 단계; 상기 제1 벡터들 중에서, 상기 제1 위치 정보들을 보정하기 위한 제2 벡터들을 식별하는 단계; 상기 제2 벡터들에 기초하여 상기 제1 위치 정보들을 보정함으로써 상기 증강 현실 콘텐츠가 디스플레이 될 위치에 관한 제2 위치 정보들을 생성하는 단계; 상기 제2 위치 정보들에 대응되는 위치들로 상기 증강 현실 콘텐츠를 렌더링하여 상기 증강 현실 콘텐츠를 디스플레이하는 단계를 포함할 수 있다.
또한, 일 실시예에 따른 증강 현실 콘텐츠를 디스플레이하는 전자 장치는, 서버와 데이터 통신을 수행하는 통신 인터페이스, 하나 이상의 명령어들(instructions)을 포함하는 프로그램을 저장하는 메모리, 상기 메모리에 저장된 상기 프로그램의 하나 이상의 명령어들을 실행하는 프로세서를 포함하고, 상기 프로세서는, 상기 서버로부터 현실의 공간에 대한 증강 현실 콘텐츠 및 상기 증강 현실 콘텐츠를 디스플레이하기 위해 생성된 제1 위치 정보들을 수신하도록 상기 통신 인터페이스를 제어하고, 검출 모델을 이용하여 상기 공간에 존재하는 복수개의 객체들을 검출하고, 상기 검출된 객체들의 객체 위치 정보들을 획득하고, 상기 제1 위치 정보들과 상기 객체 위치 정보들 간의 차이를 나타내는 제1 벡터들을 산출하고, 상기 제1 벡터들 중에서, 상기 제1 위치 정보들을 보정하기 위한 제2 벡터들을 식별하고, 상기 제2 벡터들에 기초하여 상기 제1 위치 정보들을 보정함으로써 상기 증강 현실 콘텐츠가 디스플레이 될 위치에 관한 제2 위치 정보들을 생성하고, 상기 제2 위치 정보들에 대응되는 위치들로 상기 증강 현실 콘텐츠를 렌더링하여 상기 증강 현실 콘텐츠를 디스플레이하는, 전자 장치일 수 있다.
도 1은 일 실시예에 따른 전자 장치가 서버로부터 수신된 증강 현실 콘텐츠를 수신하고, 수신된 증강 현실 콘텐츠를 디스플레이하기 위한 위치를 보정하는 방법을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 전자 장치의 구성을 도시한 블록도이다.
도 3a 내지 3b는 일 실시예에 따른 전자 장치가 증강 현실 콘텐츠가 디스플레이되는 위치를 보정하고, 보정된 위치에 디스플레이하기 위해 동작하는 방법을 설명하기 위한 도면들이다.
도 4는 일 실시예에 따른 전자 장치가 제1 위치 정보들과 객체 정보들을 매칭하고, 제1 벡터들을 산출하는 방법을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 전자 장치가 제1 벡터들 중에서, 제1 위치 정보들을 보정하기 위해 사용할 제2 벡터들을 식별하는 방법을 설명하기 위한 도면이다.
도 6a 내지 6d는 일 실시예에 따른 전자 장치가 제1 벡터들을 산출하고, 제1 벡터들 중에서 제2 벡터들을 식별하고, 제2 벡터들을 이용하여 제2 위치정보들을 생성하는 방법을 설명하기 위해 참조되는 도면들이다.
도 7은 일 실시예에 따른 전자 장치가 제2 위치 정보에 기초하여 증강 현실 콘텐츠를 렌더링하고 디스플레이하는 방법을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 서버가 증강 현실 데이터를 생성하는 방법 및 전자 장치가 증강 현실 데이터에 기초하여 객체를 인식하는 방법을 설명하기 위한 도면이다.
도 9는 다른 실시예에 따른 전자 장치가 제1 위치 정보를 보정하여 제2 위치 정보를 생성하고, 제2 위치 정보에 기초하여 증강 현실 콘텐츠를 렌더링하기 위한 방법을 설명하기 위한 도면이다.
도 10은 일 실시예에 따른 전자 장치 및 서버의 세부 구성을 설명하기 위한 블록도이다.
도 11은 일 실시예에 따른 서버가 엣지 컴퓨팅 기술을 이용하는 엣지 데이터 네트워크인 경우, 네트워크 환경을 구성하는 구성요소들을 설명하기 위한 블록도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 명세서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 또한, 본 명세서에서 사용되는 '제1' 또는 '제2' 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
개시된 실시예들에서, 제1 위치 정보는 서버로부터 생성된 위치 정보이다. 제1 위치 정보는 서버가 전자 장치의 화면 내에서 증강 현실 콘텐츠를 디스플레이하기 위해 생성한 정보를 의미한다. 서버는 전자 장치로부터 이미지(예를 들어, 현실 공간의 이미지)를 획득하고, 획득된 이미지에 기초하여 증강 현실 콘텐츠를 생성할 수 있다. 또한, 증강 현실 콘텐츠를 생성할 때, 서버는 획득된 이미지 내에서 검출된 객체들을 바탕으로 증강 현실 콘텐츠를 디스플레이하기 위한 위치에 관한 정보인 제1 위치 정보를 생성할 수 있다. 서버는 생성된 증강 현실 콘텐츠 및 제1 위치 정보를 전자 장치로 전송할 수 있다.
개시된 실시예들에서, 제2 위치 정보는 전자 장치로부터 생성된 위치 정보이다. 제2 위치 정보는, 전자 장치가 전자 장치의 화면 내에 증강 현실 콘텐츠를 렌더링하기 위해, 서버로부터 수신된 제1 위치 정보를 보정하여 생성한 정보를 의미한다. 전자 장치는 제1 위치 정보에 포함되는 오차 등을 보정함으로써 제2 위치 정보를 생성하고, 서버로부터 수신된 증강 현실 콘텐츠를 제2 위치 정보에 기초하여 렌더링하고, 디스플레이 할 수 있다.
개시된 실시예들에서, 제1 벡터는 서버로부터 생성된 제1 위치 정보와 전자 장치가 공간 내에서 검출한 객체들의 위치를 나타내는 객체 위치 정보 간 차이를 나타내는 벡터를 의미한다. 즉, 제1 벡터는 현실 공간 내 객체의 위치와, 객체에 증강 현실 콘텐츠를 디스플레이하기 위해 서버가 계산한 위치가 얼마나 차이나는지 여부를 나타내는 정보일 수 있다. 제1 벡터는 크기 정보 및 방향 정보를 포함할 수 있다.
개시된 실시예들에서, 제2 벡터는 제1 벡터들 중에서 이상치(outlier)로 판단되는 벡터들을 제외한 나머지 벡터들을 의미한다. 즉, 제2 벡터는 현실 공간 내 객체의 위치와, 객체에 증강 현실 콘텐츠를 디스플레이하기 위해 서버가 산출한 위치가 얼마나 차이나는지 여부를 나타내면서도, 이상치로 판단되는 정보들은 제거한 벡터들일 수 있다. 따라서, 제2 벡터들은 제1 벡터들의 부분 집합일 수 있다. 전자 장치는 제2 벡터들에 기초하여, 서버로부터 수신된 제1 위치 정보들을 보정함으로써 제2 위치 정보들을 생성하고, 제2 위치 정보에 기초하여 증강 현실 콘텐츠를 렌더링할 수 있다.
도 1은 일 실시예에 따른 전자 장치가 서버로부터 증강 현실 콘텐츠를 수신하고, 수신된 증강 현실 콘텐츠를 디스플레이하기 위한 위치를 보정하는 방법을 설명하기 위한 도면이다.
도 1을 참조하면, 일 실시예에 따른 전자 장치(1000)는 서버(2000)로부터 수신된 증강 현실 데이터를 이용하여 사용자에게 증강 현실 콘텐츠(125)를 제공할 수 있다. 예를 들어, 전자 장치(1000)는 적어도 하나의 객체들을 포함하는 소정의 현실 공간에 대하여 획득한 이미지 상에, 객체들 각각에 대응되는 증강 현실 콘텐츠(125)를 디스플레이 할 수 있다.
일 실시예에 따르면, 전자 장치(1000)는 서버(2000)와 네트워크를 통해서 데이터를 송수신할 있는 모바일 장치(예를 들면, 스마트폰, 태블릿PC 등), 범용 컴퓨터(PC, Personal Computer)와 같은 연산 장치를 포함할 수 있다. 또한, 전자 장치(1000)는 인공지능 모델을 포함하는 모바일 장치(예를 들면, 스마트폰, 태블릿PC 등), 범용 컴퓨터(PC, Personal Computer) 같은 연산 장치를 포함할 수 있다. 또한, 전자 장치(1000)는 사용자 입력을 수신할 수 있다. 예를 들어, 전자 장치(1000)는 증강 현실 콘텐츠(125)의 종류를 선택하는 사용자 입력을 수신하여 사용자가 선택한 증강 현실 콘텐츠(125)를 디스플레이 할 수 있다. 다른 예에서, 전자 장치(1000)는 객체를 선택하는 사용자 입력을 수신하여, 선택된 객체에 대응되는 증강 현실 콘텐츠(125)를 디스플레이 할 수 있다.
일 실시예에 따르면, 서버(2000)는 전자 장치(1000)와 데이터를 송수신 할 수 있다. 서버(2000)는 전자 장치(1000)로부터 이미지 및 센서 정보(예를 들어, 전자 장치(1000)의 위치 정보, 전자 장치(1000)의 시야 정보 등)를 수신하고, 전자 장치(1000)가 획득한 이미지에 포함된 객체에 관련된 증강 현실 데이터를 생성할 수 있다. 또한, 서버(2000)는 생성된 증강 현실 데이터를 전자 장치(1000)로 전송할 수 있다.
서버(2000)로부터 수신된 증강 현실 데이터는 이미지 내 적어도 하나의 객체들 각각에 대응되는 증강 현실 콘텐츠(125), 증강 현실 콘텐츠(125)를 디스플레이하기 위한 위치에 관한 제1 위치 정보(101)를 포함할 수 있으나, 이에 한정되는 것은 아니다.
증강 현실 콘텐츠(125)가 전자 장치(1000)에서 디스플레이 되는 경우, 증강 현실 콘텐츠(125)는 서버(2000)에서 계산되어 수신된 제1 위치 정보(101)에 기초하여 렌더링되고, 전자 장치(1000)의 화면에 디스플레이 될 수 있다. 이 경우, 서버(2000)로부터 수신된 제1 위치 정보(101)는 네트워크의 지연시간이나 전자 장치(1000)로부터의 센서 정보의 부정확함 등의 이유로 오차가 존재할 수 있다. 따라서, 제1 위치 정보(101)에 기초하여 렌더링된 이미지(110)는, 현실 공간 내 객체의 위치와 제1 위치 정보(101)에 대응되는 위치가 정확하게 일치되지 않아 증강현실 콘텐츠(125)가 정확한 위치에 디스플레이 되지 않을 수 있다.
따라서, 일 실시예에 따른 전자 장치(1000)는 서버(2000)로부터 수신된 제1 위치 정보(101)에 기초하여 증강 현실 콘텐츠(125)를 디스플레이 하지 않고, 제1 위치 정보(101)에 포함되는 오차 등을 제거하기 위해 제1 위치 정보(101)를 보정함으로써 제2 위치 정보(102)를 생성하고, 생성된 제2 위치 정보(102)에 기초하여 증강 현실 콘텐츠(125)를 렌더링하여 디스플레이 할 수 있다.
예를 들어, 일 실시예에 따른 전자 장치(1000)는 검출 모델을 이용하여 현실 공간 내 적어도 하나의 객체들을 검출하고, 검출된 객체들의 객체 위치 정보를 획득할 수 있다. 전자 장치(1000)는 객체 위치 정보와 제1 위치 정보(101)를 비교하여, 객체 위치 정보와 제1 위치 정보(101) 간 차이를 나타내는 제1 벡터들을 계산할 수 있다. 또한, 전자 장치(1000)는 제1 벡터들 중에서, 제1 위치 정보(101)들을 보정하기 위해 사용할 제2 벡터들을 식별할 수 있다. 이 경우, 제2 벡터들은, 제1 벡터들 중에서 객체가 잘못된 위치로 검출되어 산출된 이상치(outlier) 벡터들을 제외한 벡터들일 수 있다. 전자 장치(1000)는 제2 벡터들을 이용하여 서버(2000)로부터 수신된 제1 위치 정보(101)를 보정하여 제2 위치 정보(102)를 생성할 수 있다. 전자 장치(1000)는 생성된 제2 위치 정보(102)에 기초하여 제2 위치 정보에 기초하여 렌더링된 이미지(120)를 생성하고, 증강 현실 콘텐츠(125)를 디스플레이 할 수 있다.
도 2는 일 실시예에 따른 전자 장치(1000)의 구성을 도시한 블록도이다.
도 2를 참조하면, 전자 장치(1000)는 통신 인터페이스(1100), 센싱부(1200), 입력부(1300), 출력부(1400), 프로세서(1500) 및 메모리(1600)를 포함할 수 있다.
통신 인터페이스(1100)(예를 들어, 통신 회로)는 프로세서(1500)의 제어에 의해 서버(2000)와 데이터 통신을 수행할 수 있다. 또한, 통신 인터페이스(1100)는 서버(2000)뿐 아니라, 다른 전자 장치들과도 데이터 통신을 수행할 수 있다.
통신 인터페이스(1100)는 예를 들어, 유선 랜, 무선 랜(Wireless LAN), 와이파이(Wi-Fi), 블루투스(Bluetooth), 지그비(zigbee), WFD(Wi-Fi Direct), 적외선 통신(IrDA, infrared Data Association), BLE (Bluetooth Low Energy), NFC(Near Field Communication), 와이브로(Wireless Broadband Internet, Wibro), 와이맥스(World Interoperability for Microwave Access, WiMAX), SWAP(Shared Wireless Access Protocol), 와이기그(Wireless Gigabit Allicance, WiGig) 및 RF 통신을 포함하는 데이터 통신 방식 중 적어도 하나를 이용하여 서버(2000) 또는 다른 전자 장치들과 데이터 통신을 수행할 수 있다.
일 실시예에 따른 통신 인터페이스(1100)는 증강 현실 콘텐츠를 생성하기 위하여, 센싱부(1200)에서 센싱된 센서 정보(예를 들어, 전자 장치(1000)의 위치 정보, 전자 장치(1000)의 시야 정보 등)를 서버(2000)로 전송할 수 있다.
일 실시예에 따르면, 전자 장치(1000)의 위치 정보는 전자 장치(1000)가 GPS 센서와 같은 전자 장치(1000)의 위치 센서를 이용하여 획득한 것일 수 있다. 전자 장치(1000)는 위치 센서를 이용하여, 전자 장치(1000)의 움직임을 검출하고, 검출된 움직임에 기초하여 전자 장치(1000)의 위치 정보를 갱신할 수 있다.
일 실시예에 따르면, 전자 장치(1000)의 시야 정보(Field of View)는 전자 장치(1000)가 자이로 센서 등으로부터 획득할 수 있다. 전자 장치(1000)는 자이로 센서 등을 이용하여 전자 장치(1000)의 움직임을 검출하고, 검출된 움직임에 기초하여 전자 장치(1000)의 시야 정보를 갱신할 수 있다.
또한, 일 실시예에 따른 센싱부(1200)는 전자 장치(1000)의 주변 환경에 관한 정보를 센싱하도록 구성되는 다양한 센서들을 포함할 수 있다. 예를 들어, 센싱부(1200)는 이미지 센서(카메라), 적외선 센서, 초음파 센서, 라이더(Lidar) 센서, 장애물 센서 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에 따르면, 전자 장치(1000)의 시야 정보는 전자 장치(1000)의 카메라에 의해서 획득된 이미지 상의 시야(Field of View)로부터 획득된 것일 수 있다. 예를 들면, 전자 장치(1000)가 배면에 위치된 카메라를 이용하여 획득되는 이미지를 통해 시야 정보를 획득하는 경우, 시야 정보는 전자 장치(1000)의 배면에 직교하는 방향에 관한 정보일 수 있다.
일 실시예에 따르면, 전자 장치(1000)의 시야 정보는 전자 장치(1000)의 카메라에 의해서 획득된 이미지들을 비교함으로써 획득된 것일 수 있다.
또한, 일 실시예에 따른 센싱부(1200)는 카메라, 초음파 센서, 라이더 센서 중 적어도 하나를 이용하여, 소정의 공간에 대한 공간 구조 정보를 획득할 수 있다. 센싱부(1200)는 카메라를 이용하여, 객체 검출을 수행하기 위한 객체 이미지 데이터를 획득할 수 있다. 다른 예에서, 센싱부(1200)는 위치 센서, 자이로 센서 중 적어도 하나를 이용하여, 전자 장치(1000)의 움직임을 검출하고, 검출된 움직임에 기초하여 전자 장치(1000)의 위치 정보를 계산할 수 있다.
일 실시예에 따른 사용자 입력부(1300)(예를 들어, 사용자 인터페이스 회로)는 사용자로부터 전자 장치(1000)를 제어하기 위한 데이터가 입력되는 수단을 의미한다. 예를 들어, 사용자 입력부(1300)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 터치스크린, 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
사용자 입력부(1300)는 전자 장치(1000)가 개시된 실시예들과 관련하여 전자 장치(1000)에 대한 사용자 입력을 수신할 수 있다.
일 실시예에 따른 출력부(1400)(예를 들어, 출력 회로)는 오디오 신호 또는 비디오 신호의 출력을 위한 것으로, 스피커, 디스플레이 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
출력부(1400)의 스피커는 통신 인터페이스(1100)로부터 수신되거나 메모리(1600)에 저장된 오디오 데이터를 출력할 수 있다. 또한, 전자 장치(1000)에서 수행되는 기능과 관련된 음향 신호를 출력할 수 있다.
출력부(1400)의 디스플레이는 전자 장치(1000)에서 처리되는 정보를 표시할 수 있다. 예를 들어, 디스플레이는 현실 공간 내 객체들에 렌더링 된 증강 현실 콘텐츠를 표시하거나, 증강 현실 콘텐츠와 관련된 UI(User Interface) 또는 GUI(Graphic User Interface)를 표시할 수도 있다.
일 실시예에 따른 프로세서(1500)(예를 들어, 제어 회로)는 전자 장치(1000)의 전반적인 동작을 수행할 수 있다. 프로세서(1500)는 메모리(1600)에 저장된 프로그램의 하나 이상의 명령어들(instructions)을 실행할 수 있다. 프로세서(1500)는 산술, 로직 및 입출력 연산과 시그널 프로세싱을 수행하는 하드웨어 구성 요소로 구성될 수 있다.
프로세서(1500)는 예를 들어, 중앙 처리 장치(Central Processing Unit), 마이크로 프로세서(microprocessor), 그래픽 프로세서(Graphic Processing Unit), ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), AP(Application Processor), 뉴럴 프로세서(Neural Processing Unit) 또는 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계된 인공지능 전용 프로세서 중 적어도 하나로 구성될 수 있으나, 이에 제한되는 것은 아니다.
프로세서(1500)에 의해 실행되는 검출 모델들은 외부 소스로부터 전자 장치(1000)로 다운로드 되어, 전자 장치(1000)의 메모리(1600) 내에 저장될 수 있다. 또한, 메모리(1600)에 저장된 검출 모델들은 업데이트 될 수 있다.
일 실시예에 따른 프로세서(1500)는 메모리(1600)에 저장된 검출 모델을 로딩하여 실행시킴으로써, 공간 내 객체들을 검출하고 객체의 위치 정보를 획득할 수 있다. 또한, 프로세서(1500)는 획득된 객체 정보를 서버로부터 수신된 증강 현실 콘텐츠를 디스플레이하기 위한 위치인 제1 위치 정보와 비교함으로써, 새롭게 증강 현실 콘텐츠를 렌더링 할 제2 위치 정보를 생성할 수 있다.
메모리(1600)는 예를 들어, 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나를 포함하는 비휘발성 메모리 및 램(RAM, Random Access Memory) 또는 SRAM(Static Random Access Memory)과 같은 휘발성 메모리를 포함할 수 있다.
메모리(1600)에는 프로세서(1500)가 판독할 수 있는 명령어들, 데이터 구조, 및 프로그램 코드(program code)가 저장될 수 있다. 개시된 실시예들에서, 프로세서(1500)가 수행하는 동작들은 메모리(1600)에 저장된 프로그램의 명령어들 또는 코드들을 실행함으로써 구현될 수 있다.
도 3a는 일 실시예에 따른 전자 장치가 증강 현실 콘텐츠가 디스플레이되는 위치를 보정하여 디스플레이하기 위한 동작들을 도시한 흐름도이다.
단계 S310에서, 전자 장치(1000)는 서버(2000)로부터 소정의 현실 공간에 대한 증간 현실 콘텐츠 및 증강 현실 콘텐츠를 디스플레이하기 위해 생성된 제1 위치 정보들을 수신할 수 있다.
이 경우, 서버(2000)로부터 수신되는 증강 현실 콘텐츠 및 제1 위치 정보들은, 전자 장치(1000)로부터 수신된 소정 공간에 대한 이미지, 전자 장치(1000)의 위치 정보, 전자 장치(1000)의 시야 정보 등에 기초하여, 서버(2000)에서 생성된 것일 수 있다.
제1 위치 정보들은, 소정 공간에 대한 이미지 내에서 서버(2000)가 검출한 객체들에 대응되는, 증강 현실 콘텐츠를 디스플레이하기 위한 위치 정보들일 수 있다.
또한, 증강 현실 콘텐츠는, 서버(2000)가 전자 장치(1000)로부터 소정 공간에 대한 이미지를 수신하고, 이미지 내에서 객체를 검출하고, 검출된 객체에 대한 증강 현실 콘텐츠를 생성한 것일 수 있다. 이 경우, 증강 현실 콘텐츠가 생성될 때, 전자 장치(1000)로부터 수신된 전자 장치(1000)의 위치 정보 및 시야 정보가 더 이용되어 식별된 전자 장치(1000)의 위치 및 전자 장치(1000)가 향하는 방향이 증강 현실 콘텐츠에 반영될 수 있다.
일 실시예에 따른 전자 장치(1000)는 수신된 증강 현실 콘텐츠를 디스플레이하기 이전에, 증강 현실 콘텐츠를 디스플레이하기 위해 생성된 제1 위치 정보를 보정할 수 있다.
단계 S320에서, 일 실시예에 따른 전자 장치(1000)는 검출 모델을 이용하여 공간에 존재하는 적어도 하나 이상의 객체들을 검출하고, 검출된 객체들의 객체 위치 정보들을 획득할 수 있다.
전자 장치(1000)는 검출 모델을 이용하여, 공간을 촬영한 이미지 상에서 객체들을 검출하고 객체들의 분류를 나타내는 객체 분류 정보 및 객체들의 위치를 나타내는 객체 위치 정보를 획득할 수 있다. 또한, 전자 장치(1000)는 검출 모델을 이용하여 객체 위치 정보만을 획득할 수도 있다.
일 실시예에 따른 전자 장치(1000)에 탑재된 검출 모델은, 서버(2000)에 탑재된 검출 모델보다 검출 정확도는 낮으나 검출 속도는 빠른, 경량화된 검출 모델일 수 있다. 따라서, 전자 장치(1000)는 전자 장치(1000)가 처리 가능한 연산 능력 내에서 획득하고자 하는 객체 위치 정보를 빠르게 획득할 수 있다.
단계 S330에서, 일 실시예에 따른 전자 장치(1000)는 제1 위치 정보들과 객체 위치 정보들 간의 차이를 나타내는 제1 벡터들을 산출할 수 있다. 일 실시예에서, 제1 위치 정보들 및 객체 위치 정보들은, 전자 장치(1000)의 디스플레이 화면에 대응되는 좌표 형태의 데이터를 포함할 수 있다.
일 실시예에 따른 전자 장치(1000)는 제1 위치 정보들과 객체 위치 정보들을 매칭할 수 있다. 이 경우, 제1 위치 정보들과 객체 위치 정보들의 매칭하는 방법은 다양한 매칭 알고리즘이 적용될 수 있다. 매칭 알고리즘은 예를 들어, 최소 비용 최대 유량(Minimum Cost Maximum Flow; MCMF) 알고리즘, 헝가리안(Hungarian) 알고리즘 등의 알고리즘일 수 있으나, 이에 한정되는 것은 아니다.
전자 장치(1000)는 객체 위치 정보들 각각과 제1 위치 정보들 각각이 매칭된 결과에 기초하여, 매칭된 객체 위치 정보와 제1 위치 정보의 차이를 계산함으로써, 객체 위치 정보와 제1 위치 정보 간 차이를 나타내는 제1 벡터들을 산출할 수 있다.
또한, 전자 장치(1000)가 공간에 존재하는 적어도 하나의 객체들을 검출한 결과, 어느 객체는 객체가 실제로 존재하는데도 전자 장치(1000)에 의해 검출되지 않을 수 있다(미검출된 경우). 이 경우, 검출되지 않은 객체는 객체 위치 정보가 획득되지 않기 때문에, 검출되지 않은 객체에 대응되는 제1 위치 정보가 매칭되지 않을 수 있다. 따라서, 매칭 결과 값이 존재하지 않으므로, 검출되지 않은 객체에 대해서는 제1 벡터가 산출되지 않을 수 있다. 객체가 검출되지 않은 경우에 대한 설명은 도 3b를 참조하여 아래에서 서술하기로 한다.
단계 S340에서, 일 실시예에 따른 전자 장치(1000)는 제1 벡터들 중에서, 제1 위치 정보들을 보정하기 위해 사용할 제2 벡터들을 식별할 수 있다.
예를 들어, 전자 장치(1000)가 공간에 존재하는 적어도 하나의 객체들을 검출한 결과, 어느 객체는 객체가 실제로 위치하는 곳이 아닌 다른 위치에서 검출되어 부정확한 객체 위치 정보가 획득되었을 수 있다(오검출된 경우). 이 경우, 획득된 객체 위치 정보가 부정확한 객체 위치 정보이기 때문에, 객체 위치 정보와 제1 위치 정보 간 차이를 나타내는 제1 벡터의 값 또한 부정확한 값일 수 있다. 따라서, 전자 장치(1000)는 제1 벡터들 중에서 부정확한 값들을 제외한 나머지 값들 만을 제2 벡터로 식별하고, 식별된 제2 벡터들을 제1 위치 정보들을 보정하기 위해 사용할 수 있다.
일 실시예에서, 제2 벡터들을 식별하기 위해, 전자 장치(1000)는 제1 벡터들에 이상치(outlier) 탐지 알고리즘을 적용할 수 있다. 이상치 탐지 알고리즘은 예를 들어, k-최근접 이웃(k-Nearest Neighbors; kNN) 알고리즘, 로컬 아웃라이어 팩터(Local Outlier Factor; LOF) 알고리즘 등의 알고리즘일 수 있으나, 이에 한정되는 것은 아니다. 전자 장치(1000)는 이상치 탐지 알고리즘 수행 결과, 제1 벡터들 중에서 이상치로 분류된 이상치 벡터들을 식별하고, 제1 벡터들 중에서 이상치 벡터들을 제외한 나머지 벡터들을 제2 벡터들로 식별할 수 있다.
단계 S350에서, 일 실시예에 따른 전자 장치(1000)는 제2 벡터들을 이용하여 제1 위치 정보들을 보정함으로써, 증강 현실 콘텐츠가 전자 장치(1000)의 디스플레이에 디스플레이 될 위치에 관한 위치 정보인 제2 위치 정보를 생성할 수 있다.
예를 들어, 전자 장치(1000)는 복수의 제1 위치 정보들 중에서, 제1 위치 정보와 매칭된 객체 위치 정보가 존재하고, 제1 위치 정보와 매칭된 객체 위치 정보 간 차이를 나타내는 제1 벡터가 제2 벡터로 식별된 경우에 대해서, 제1 위치 정보를 제1 위치 정보에 대응되는 제2 벡터를이용하여 보정함으로써 제2 위치 정보를 생성할 수 있다.
또한, 전자 장치(1000)는 복수의 제1 위치 정보들 중에서, 제1 위치 정보와 매칭된 객체 위치 정보가 존재하고, 제1 위치 정보와 매칭된 객체 위치 정보 간 차이를 나타내는 제1 벡터가 제2 벡터로 식별되지 않은 경우에 대해서, 제1 위치 정보를 전체 제2 벡터들의 대표 값을 이용하여 보정함으로써 제2 위치 정보를 생성할 수 있다.
또한, 전자 장치(1000)는 복수의 제1 위치 정보들 중에서, 제1 위치 정보와 매칭된 객체 위치 정보가 존재하지 않는 경우에 대해서, 제1 위치 정보를 전체 제2 벡터들의 대표 값을 이용하여 보정함으로써 제2 위치 정보를 생성할 수 있다.
다른 예에서, 전자 장치(1000)는 모든 제1 위치 정보들에 대하여, 제1위치 정보들 각각을 제2 벡터들의 대표 값만큼 이동하여 제2 위치 정보를 생성할 수 있다.
또한, 전자 장치(1000) 는 전술한 방법들을 이용하여 제1 위치 정보들을 보정하여 제2 위치 정보들을 생성할 때, 전자 장치(1000)의 센서들로부터 획득된 센서 정보를 더 이용하여 제2 위치 정보들을 생성할 수 있다. 예를 들어, 전자 장치(1000)는 전자 장치(1000)의 동작 센서(예를 들어, 자이로 센서) 등을 이용하여 전자 장치(1000)의 이동 정보에 관한 정보들인 이동 방향, 이동 속도 및 시야 방향 등을 획득/산출하고, 제2 위치 정보들을 생성할 때 전자 장치(1000)의 이동 방향, 이동 속도 및 시야 방향을 더 이용하여 이동 정보가 반영된 제2 위치 정보를 생성할 수 있다.
전자 장치(1000)가 제2 위치 정보들을 생성하는 구체적인 방법에 대해서는 도 3b를 참조하여 더 설명하기로 한다.
단계 S360에서, 일 실시예에 따른 전자 장치(1000)는 제2 위치 정보들에 대응되는 위치들로 증강 현실 콘텐츠를 렌더링함으로써, 보정된 위치에 증강 현실 콘텐츠를 디스플레이 할 수 있다.
도 3b는 도 3a의 흐름도를 추가적으로 설명하기 위한 도면이다.
도 3b의 301을 참조하면, 소정 공간에는 제1 객체(310), 제2 객체(320), 제3 객체(330), 제4 객체(340)가 존재할 수 있다. 서버(2000)는 제1 객체 내지 제4 객체들 각각(310, 320, 330 및 340)에 대하여, 제1 객체 내지 제4 객체들 각각(310, 320, 330 및 340)에 대응되는 증강 현실 콘텐츠를 디스플레이하기 위한 위치를 나타내는 제1 위치 정보들(101a, 101b, 101c, 101d)을 생성하고, 전자 장치(1000)로 송신할 수 있다.
일 실시예에서, 객체에 대한 증강 현실 콘텐츠를 디스플레이하기 위한 위치를 나타내는 제1 위치 정보들(101a, 101b, 101c, 101d)은, 제1 객체(310)에 대한 제1 위치 정보(101a), 제2 객체(320)에 대한 제1 위치 정보(101b), 제3 객체(330)에 대한 제1 위치 정보(101c), 제4 객체(340)에 대한 제1 위치 정보(101d)일 수 있다.
그러나 도 3b의 302를 참조하면, 소정 공간에 제1 객체(310) 내지 제4 객체(340)가 실제로 위치하는 위치는 301과 다를 수 있다. 예를 들어, 전자 장치(1000)로부터 서버(2000)로 전송된 센서 정보 등에 오차가 존재하여, 서버(2000)가 생성한 제1 위치 정보들(101a, 101b, 101c, 101d)에 오차가 존재할 수 있다. 다른 예에서, 전자 장치(1000)의 움직임 발생 시, 네트워크 지연으로 인하여 서버(2000)에서 제1 객체(310) 내지 제4 객체(340)의 위치가 실시간으로 업데이트되지 않아, 서버(2000)가 생성한 제1 위치 정보들(101a, 101b, 101c, 101d)에 오차가 존재할 수 있다.
도 3b의 303은 도 3a의 단계 S320에 대응된다. 도 3b의 303을 참조하면, 전자 장치(1000)는 검출 모델을 이용하여 제1 객체(310) 내지 제4 객체(340)를 검출하고, 객체의 위치를 나타내는 객체 위치 정보들(311, 321, 331)을 획득할 수 있다. 예를 들어, 전자 장치(1000)는 제1 객체(310)의 위치를 나타내는 객체 위치 정보(311), 제2 객체(320)의 위치를 나타내는 객체 위치 정보(321), 제3 객체(330)의 위치를 나타내는 객체 위치 정보(331)를 획득할 수 있다. 이 경우, 검출 모델의 오류 등으로 인하여 제3 객체(330)의 위치를 나타내는 객체 위치 정보(331)는 제3 객체(330)가 아닌 이미지 내 다른 부분을 객체로 부정확하게 검출하여 획득된 위치 정보일 수 있다. 또한, 검출 모델의 오류 등으로 인하여 제4 객체(340)는 공간 내 실제로 존재하는데도 전자 장치(1000)에 의해 검출되지 않을 수 있다.
도 3b의 304는 도 3a의 단계 S330 내지 단계 S340에 대응된다. 도 3b의 304를 참조하면, 일 실시예에 따른 전자 장치(1000)는 제1 위치 정보들과 객체 위치 정보들을 비교하여 제1 벡터들(312, 322, 332)을 산출할 수 있다.
예를 들어, 전자 장치(1000)는 제1 객체(310)에 대한 제1 위치 정보(101a)와 제1 객체(310)의 위치를 나타내는 객체 위치 정보(311)의 차이를 계산하여 제1 객체(310)에 대응되는 제1 벡터(312)를 산출할 수 있다.
다른 예에서, 전자 장치(1000)는 제2 객체(320)에 대한 제1 위치 정보(101b)와 제2 객체(320)의 위치를 나타내는 객체 위치 정보(321)의 차이를 계산하여 제2 객체(320)에 대응되는 제1 벡터(322)를 산출할 수 있다.
다른 예에서, 전자 장치(1000)는 제3 객체(330)에 대한 제1 위치 정보(101c)와 제3 객체(330)의 위치를 나타내는 객체 위치 정보(331)의 차이를 계산하여 제3 객체(330)에 대응되는 제1 벡터(332)를 산출할 수 있다.
다른 예에서, 제4 객체(340)는 전자 장치(1000)에 의해 검출되지 않았기 때문에, 제4 객체(340)의 위치를 나타내는 객체 위치 정보가 존재하지 않으므로, 제4 객체(340)에 대응되는 제1 벡터는 산출되지 않을 수 있다.
또한, 일 실시예에 따른 전자 장치(1000)는 산출된 제1 벡터들(312, 322, 332) 중에서, 제1 위치 정보(101a, 101b, 101c, 101d)들을 보정하기 위해 사용할 제2 벡터들을 식별할 수 있다.
예를 들어, 전자 장치(1000)는 제1 벡터들(312, 322, 332)에 대하여, 이상치(outlier) 탐지 알고리즘을 적용하여 이상치 벡터들을 식별할 수 있다. 구체적으로, 제3 객체(330)의 위치를 나타내는 객체 위치 정보(331)는 검출 모델의 오류 등으로 인하여 제3 객체(330)가 아닌 이미지 내 다른 부분을 객체로 잘못 검출하여 획득되었기 때문에, 제3 객체(330)에 대응되는 제1 벡터(332)는 이상치 벡터로 식별될 수 있다. 이 경우, 전자 장치(1000)는 제1 벡터들 중에서 이상치 벡터로 식별된 제3 객체에 대응되는 제1 벡터(332)를 제외한 나머지 제1 벡터들(312, 322)을 제2 벡터로 식별할 수 있다.
도 3b의 305는 도 3a의 단계 S350에 대응된다. 일 실시예에 따른 전자 장치(1000)는 제2 벡터들을 이용하여 제1 위치 정보(101a, 101b, 101c, 101d)들을 보정함으로써, 증강 현실 콘텐츠가 전자 장치(1000)의 디스플레이에 디스플레이 될 위치에 관한 위치 정보인 제2 위치 정보들(102a, 102b, 102c, 102d)를 생성할 수 있다.
예를 들어, 전자 장치(1000)는 제1 객체(310)에 대응되는 제1 벡터(312)가 제2 벡터로 식별 되었으므로, 제1 객체(310)에 대한 제1 위치 정보(101a)를 식별된 제2 벡터를 이용하여 보정함으로써 제1 객체(310)에 대응되는 제2 위치 정보(102a)를 생성할 수 있다.
또한, 전자 장치(1000)는 제2 객체(320)에 대응되는 제1 벡터(322)가 제2 벡터로 식별 되었으므로, 제2 객체(320)에 대한 제1 위치 정보(101b)를 식별된 제2 벡터를 이용하여 보정함으로써 제2 객체(320)에 대응되는 제2 위치 정보(102b)를 생성할 수 있다.
또한, 전자 장치(1000)는 제3 객체(330)에 대응되는 제1 벡터(332)가 제2 벡터로 식별되지 않았으므로, 제3 객체(330)에 대한 제1 위치 정보(101c)를 제2 벡터들의 대표 값만큼 이동하여 제3 객체(330)에 대응되는 제2 위치 정보(102c)를 생성할 수 있다.
또한, 전자 장치(1000)는 제4 객체(340)에 대응되는 제1 벡터가 존재하지 않으므로, 제4 객체(340)에 대한 제1 위치 정보(101d)를 제2 벡터들의 대표 값을 이용하여 보정함으로써 제4 객체(340)에 대응되는 제2 위치 정보(102d)를 생성할 수 있다.
도 3b의 306은 도 3a의 단계 S360에 대응된다. 일 실시예에 따른 전자 장치(1000)는 생성된 제2 위치 정보들(102a, 102b, 102c, 102d)에 대응되는 위치들로 서버(2000)로부터 수신된 증강 현실 콘텐츠를 렌더링함으로써, 제1 객체(310) 내지 제4 객체(340)가 각각 실제로 존재하는 보정된 위치에 증강 현실 콘텐츠를 디스플레이 할 수 있다.
도 4는 일 실시예에 따른 전자 장치(1000)가 제1 위치 정보들과 객체 정보들을 매칭하고, 제1 벡터들(410, 420, 430, 440)을 산출하는 방법을 설명하기 위한 도면이다.
설명의 편의를 위하여, 이하에서 개시되는 실시예들은 소정의 공간이 야구 경기장이고, 공간 내 인식 대상인 객체들은 야구 선수들인 경우를 예로 들어 설명하기로 한다. 다만, 이는 예시일 뿐이며 소정 공간 및 객체들은 이에 한정되지 않는다.
도 4를 참조하면, 일 실시예에 따른 전자 장치(1000)는 서버(2000)에서 수신된 제1 위치 정보들과 전자 장치(1000)가 검출 모델을 이용하여 획득한 객체 위치 정보들을 매칭할 수 있다.
서버(2000)에서 수신된 제1 위치 정보들에 대응되는 위치들은, 객체들이 공간 내 실제로 위치하는 위치들과 다를 수 있다. 예를 들어, 전자 장치(1000)로부터 서버(2000)로 전송된 센서 정보 등에 오차가 존재하여, 서버(2000)가 생성한 제1 위치 정보들에 오차가 존재할 수 있다. 다른 예에서, 전자 장치(1000)의 움직임 발생 시, 네트워크 지연으로 인하여 서버(2000)에서 공간 내 객체들의 위치가 실시간으로 업데이트 되지 않아, 서버(2000)가 생성한 제1 위치 정보들에 오차가 존재할 수 있다.
또한, 전자 장치(1000)가 검출 모델을 이용하여 획득한 객체 위치 정보들 중 일부는, 공간 내 실제로 위치하는 객체가 아닌, 공간의 다른 부분을 객체로 부정확하게 검출하여 획득된 위치 정보일 수 있다.
일 실시예에 따른 전자 장치(1000)는 서버(2000)에서 수신된 제1 위치 정보들과, 객체 검출 결과 획득된 객체 위치 정보들을 매칭할 수 있다. 전자 장치(1000)는 예를 들어 제1 위치 정보에 대응되는 위치 및 객체 위치 정보에 대응되는 위치에서 각각 기준점을 설정하고, 설정된 기준점들을 매칭할 수 있다. 구체적으로, 기준점은 좌표 형태의 데이터일 수 있다. 이 경우, 전자 장치(1000)는 이미지 상에서 제1 위치 정보에 대응되는 경계 박스(bounding box) 하단을 기준점으로 설정하고, 이미지 상에서 객체 위치 정보에 대응되는 경계 박스 하단을 기준점으로 설정하여, 각각 설정된 기준점들을 매칭할 수 있다. 다만, 이에 한정되는 것은 아니며, 전자 장치(1000)는 경계 박스 내 다른 좌표를 기준점으로 하여 제1 위치 정보들과 객체 위치 정보들을 매칭할 수 있다.
일 실시예에 따른 전자 장치(1000)가 제1 위치 정보들과 객체 위치 정보들을 매칭하는 방법은, 다양한 매칭 알고리즘이 적용될 수 있다. 매칭 알고리즘은 예를 들어, 최소 비용 최대 유량(Minimum Cost Maximum Flow; MCMF) 알고리즘, 헝가리안(Hungarian) 알고리즘 등의 알고리즘일 수 있으나, 이에 한정되는 것은 아니다.
도 4의 400은, 제1 위치 정보들과 객체들이 매칭된 결과 및 매칭 결과에 기초하여 산출된 제1 벡터들(410, 420, 430, 440)을 시각화하여 나타낸 것이다.
일 실시예에 따른 전자 장치(1000)는 매칭 결과에 기초하여 제1 벡터들(410, 420, 430)을 산출할 수 있다. 예를 들어, 객체 위치 정보와 제1 위치 정보가 매칭된 각각의 매칭 결과에 대해서, 객체 위치 정보의 기준점으로부터 제1 위치 정보의 기준점의 차이를 계산하여, 각각의 매칭 결과에 대응되는 제1 벡터를 산출할 수 있다. 이 경우, 제1 벡터들(410, 420, 430) 제1 위치 정보에 대응되는 위치로부터 객체 위치 정보에 대응되는 위치까지의 거리 및 방향을 나타내는 벡터들일 수 있다. 전자 장치(1000)는 산출된 제1 벡터들(410, 420, 430) 중에서, 제1 위치 정보들을 보정하기 위해 사용할 제2 벡터들을 식별할 수 있다.
도 5는 일 실시예에 따른 전자 장치(1000)가 제1 벡터들 중에서, 제1 위치 정보들을 보정하기 위해 사용할 제2 벡터들을 식별하는 방법을 설명하기 위한 도면이다.
일 실시예에 따른 전자 장치(1000)는 증강 현실 콘텐츠를 정확한 위치에 렌더링하기 위해, 제1 위치 정보들로부터 보정된 제2 위치 정보들을 생성하기 위한 제2 벡터들을 제1 벡터들(510, 520, 530) 중에서 식별할 수 있다.
도 5의 500은 산출된 제1 벡터들(510, 520, 530)을 시각화하여 나타낸 것이다. 일 실시예에 따른 전자 장치(1000)는 산출된 제1 벡터들(510, 520, 530)을 모아 제1 벡터들의 리스트를 생성할 수 있다.
도 5를 참조하면, 일 실시예에 따른 전자 장치(1000)는 산출된 제1 벡터들(510, 520, 530) 중에서 이상치(outlier) 벡터들을 탐지할 수 있다. 이상치 벡터는, 벡터의 길이 및/또는 방향이 다른 벡터와 크게 다른 벡터를 의미 할 수 있다. 설명의 편의를 위하여, 제1 벡터들(510, 520, 530)을 제1 벡터 a(510), 제1 벡터 b(520), 제1 벡터 c(530)로 구분하여 설명하기로 한다. 예를 들어, 전자 장치(1000)는 산출된 제1 벡터들에 대하여 이상치 탐지 알고리즘을 적용할 수 있다. 이상치 탐지 알고리즘은, 예를 들어, k-최근접 이웃(k-Nearest Neighbors; kNN) 알고리즘, 로컬 아웃라이어 팩터(Local Outlier Factor; LOF) 알고리즘 등의 알고리즘일 수 있으나, 이에 한정되는 것은 아니다.
제1 벡터들(510, 520, 530)에 대해서 이상치 벡터들을 탐지한 결과, 제1 벡터들 중에서 제1 벡터 b(520)가 이상치 벡터로 식별될 수 있다. 이 경우, 전자 장치(1000)는 이상치 벡터로 식별된 제1 벡터 b(520)를 제외한 나머지 제1 벡터들인 제1 벡터 a(510) 및 제1 벡터 c(530)를 제2 벡터들로 식별할 수 있다.
전자 장치(1000)는 식별된 제2 벡터들을 이용하여 증강 현실 콘텐츠가 디스플레이 될 위치에 관한 위치 정보인 제2 위치 정보들을 생성할 수 있다.
도 6a는 일 실시예에 따른 전자 장치가 제1 벡터들을 식별하는 방법을 설명하기 위한 도면이다.
도 6a를 참조하면, 일 실시예에 따른 전자 장치(1000)는 서버(2000)로부터 제1 위치 정보들(601)을 수신하고, 검출 모델을 이용하여 소정 공간 내 복수의 객체들을 검출하여 객체 위치 정보들(602)을 획득하고, 제1 위치 정보들(601)과 객체 위치 정보들(602)을 비교하여 제1 벡터들(603)을 식별할 수 있다.
설명의 편의를 위하여, 복수의 객체들을 제1 객체 내지 제8 객체(611 내지 618), 제9 객체 및 제10 객체(621, 622) 제11 객체 내지 제13 객체(631 내지 633)들로 구분하기로 한다.
개시된 실시예에서, 제1 위치 정보들(601)은 서버(2000)로부터 계산되어 수신된, 제1 객체 내지 제13 객체 각각에 대하여 증강 현실 콘텐츠를 디스플레이하기 위한 위치를 나타내는 위치 정보들을 의미한다.
또한, 일 실시예에 따른 전자 장치(1000)에 탑재된 검출 모델은, 서버(2000)에 탑재된 검출 모델보다 경량화 된 검출 모델일 수 있다. 이 경우, 공간 내 존재하는 모든 객체들이 정확하게 검출되지 않을 수 있다.
예를 들어, 제1 객체 내지 제8 객체(611 내지 618)에 대해서는, 획득된 객체위치 정보들(602)이 정확하게 객체가 검출됨으로써 획득된 정확한 객체 위치 정보들일 수 있다. 그러나, 제9 객체 및 제10 객체(621, 622)에 대해서는, 획득된 객체 위치 정보들(602)이 부정확하게 객체가 검출(오검출된 경우)됨으로써 획득된 부정확한 객체 위치 정보들일 수 있다. 또한, 제11 객체 내지 제13 객체(631 내지 633)에 대해서는, 객체가 검출되지 않아(미검출된 경우) 객체 위치 정보들이 획득되지 않을 수 있다.
그러나, 전자 장치(1000)는 획득된 객체 위치 정보들(602)만으로는 획득된 객체 위치 정보들(602)이 정확한 객체 위치 정보들인지, 부정확한 객체 위치 정보들인지 알 수 없다. 따라서, 전자 장치(1000)는 획득된 객체 위치 정보들(602)이 정확한 객체 위치 정보인지 여부에 관계 없이, 획득된 객체 위치 정보들(602)과 제1 위치 정보들(601)을 매칭하고, 매칭된 정보 간 차이를 계산하여 제1 벡터들(603)을 산출할 수 있다. 이 경우, 제11 객체 내지 제13 객체(631 내지 633)에 대해서는, 객체 위치 정보들(602)이 획득되지 않았으므로 제1 위치 정보들(601)과 매칭되는 객체 위치 정보들이 존재하지 않고, 따라서 제1 벡터들이 산출되지 않는다.
도 6b는 일 실시예에 따른 전자 장치가 제1 벡터들 중에서 이상치 벡터를 식별하는 방법을 설명하기 위한 도면이다.
도 6b를 참조하면, 일 실시예에 따른 전자 장치(1000)는 부정확한 객체 위치 정보들로부터 산출된 제1 벡터들을 구별하기 위하여, 획득된 제1 벡터들(603) 중에서 이상치 벡터들(604)을 식별할 수 있다.
구체적으로, 서버(2000)가 제1 위치 정보들(601)을 생성한 이미지 프레임과 전자 장치(1000)가 객체 위치 정보들(602)을 획득한 이미지 프레임은, 동일한 이미지 프레임이거나 소정 개수 프레임 이내의 인접한 이미지 프레임일 수 있다. 따라서, 소정 개수 프레임 이내의 짧은 간격 내 객체들의 이동 정도는 유사하고, 이동 정도가 크지 않을 수 있다. 따라서 이 경우, 오검출된 객체들인 제9 객체 및 제10 객체(621, 622)로부터 산출된 제1 벡터들(603)은 이상치 벡터들(604)로 탐지될 수 있다.
전자 장치(1000)는 제1 벡터들(603) 중에서, 이상치 벡터들(604)로 탐지된 벡터들을 제외한 나머지 벡터들을 제2 벡터들(605)로 식별할 수 있다. 이 경우, 개시된 실시예에서, 제1 객체 내지 제8 객체(611 내지 618)로부터 산출된 제1 벡터들(603)이 제2 벡터들(605)로 식별된다.
도 6c는 일 실시예에 따른 전자 장치가 제2 벡터들을 이용하여 제1 위치 정보를 보정하는 방법을 설명하기 위한 도면이다.
도 6c를 참조하면, 일 실시예에서, 전자 장치(1000)는 제2 벡터들(605)들을 이용하여, 제1 위치 정보들(601)을 보정할 수 있다.
예를 들어, 전자 장치(1000)는 식별된 제2 벡터들(605)이 존재하는 제1 객체 내지 제8 객체(611 내지 618) 각각에 대해서, 각각의 객체들의 제1 위치 정보(601)를 제1 위치 정보(601)에 대응되는 제2 벡터(605)에 기초하여 보정함으로써 보정된 제2 위치 정보(607)를 생성할 수 있다. 또한, 전자 장치(1000)는 식별된 제2 벡터들(605)이 존재하지 않고, 제1 벡터가 이상치 벡터로 식별된 제9 객체 및 제10 객체(621, 622) 각각에 대해서, 각각의 객체들의 제1 위치 정보(601)를 제2 벡터의 대표 값(606)에 기초하여 보정함으로써 보정된 제2 위치 정보(607)를 생성할 수 있다. 또한, 전자 장치(1000)는 산출된 제1 벡터들이 존재하지 않는 제11 객체 내지 제13 객체(631 내지 633)에 대해서, 각각의 객체들의 제1 위치 정보(601)를 제2 벡터의 대표 값(606)에 기초하여 보정함으로써 보정된 제2 위치 정보(607)를 생성할 수 있다.
제2 벡터의 대표 값(606)은, 제2 벡터들(605)을 이용하여 획득될 수 있다. 예를 들어, 제2 벡터의 대표 값(606)은 제2 벡터들(605)의 평균값, 중간값 등일 수 있으나 이에 한정되지 않는다.
일 실시예에 따른 전자 장치(1000)는 전술한 방법들에 의해 제1 위치 정보들(601)을 보정하여 제2 위치 정보들(607)을 생성할 수 있다.
도 6d는 일 실시예에 따른 전자 장치가 제2 벡터들의 대표 값을 이용하여 제1 위치 정보를 보정하는 방법을 설명하기 위한 도면이다.
도 6d를 참조하면, 다른 실시예에서, 전자 장치(1000)는 제2 벡터의 대표 값(606)을 이용하여, 제1 위치 정보들(601)을 보정할 수 있다. 구체적으로, 전자 장치(1000)는 공간 내 존재하는 모든 객체들에 대해서, 제1 위치 정보들(601)을 제2 벡터의 대표 값(606)에 기초하여 보정함으로써, 보정된 제2 위치 정보들(607)을 생성할 수 있다. 제2 벡터의 대표 값(606)은, 전술한 제2 벡터들(605)의 평균값, 또는 중간값 등일 수 있으나 이에 한정되지 않는다.
도 7은 일 실시예에 따른 전자 장치(1000)가 제2 위치 정보에 기초하여 증강 현실 콘텐츠를 렌더링하고 디스플레이하는 방법을 설명하기 위한 도면이다.
일 실시예에 따른 전자 장치(1000)는 도 6a 내지 도 6d에 대한 설명에서 전술한 것과 같이, 서버(2000)로부터 수신된 제1 위치 정보를 보정함으로써, 공간 내 객체들에 대해 증강 현실 콘텐츠를 렌더링하기 위한 위치에 관한 정보인 제2 위치 정보들을 생성할 수 있다. 전자 장치(1000)는 생성된 제2 위치 정보들에 기초하여, 제2 위치 정보들에 대응되는 위치들로 증강 현실 콘텐츠들을 렌더링 할 수 있다.
예를 들어, 전자 장치(1000)는 A 선수(701)를 객체로 인식했을 수 있다. 전자 장치(1000)는 A 선수(701)에 대응되는 제2 위치 정보(705)에 기초하여, A 선수(701)에 대한 증강 현실 콘텐츠(710)를 렌더링하여 디스플레이 할 수 있다.
같은 방식으로, 전자 장치(1000)는 공간 내 존재하는 객체들에 대하여, 생성된 제2 위치 정보들에 기초하여, 객체에 대응되는 증강 현실 콘텐츠를 각각 렌더링하여 디스플레이 할 수 있다.
도 8은 일 실시예에 따른 서버(2000)가 증강 현실 데이터를 생성하는 방법 및 전자 장치가 증강 현실 데이터에 기초하여 객체를 인식하는 방법을 설명하기 위한 도면이다.
도 8을 참조하면, 단계 S810에서, 전자 장치(1000)는 획득한 이미지 및 전자 장치의 위치 정보, 전자 장치(1000)의 시야 정보, 전자 장치(1000)의 사용자 정보 중 적어도 하나를 서버(2000)로 전송할 수 있다. 예를 들어, 전자 장치(1000)는 경기장, 공연장, 전시장 및 쇼핑몰 등과 같은 현실 공간내에서의 전자 장치(1000)의 위치 정보 및 시야 정보를 서버(2000)로 전송할 수 있다. 다른 예에서, 전자 장치(1000)는 사용자 정보(예를 들어, 성별, 연령, 직업, 관심사 정보 등)을 서버(2000)로 전송할 수 있다.
단계 S820에서, 서버(2000)는 전자 장치(1000)로부터 수신된 이미지에 대해서, 검출 모델을 이용하여 객체를 검출하고 증강 현실 데이터를 생성할 수 있다. 일 실시예에서, 전자 장치(1000)의 위치 정보, 시야 정보, 사용자 정보가 중 적어도 하나가 더 이용될 수 있다. 다만 이에 한정되지 않으며, 증강 현실 데이터 생성을 위해 다른 정보가 더 이용될 수도 있다. 또한, 증강 현실 데이터는, 객체에 대한 증강 현실 콘텐츠 및 증강 현실 콘텐츠룰 디스플레이하기 위한 위치 등을 포함할 수 있다.
예를 들어, 서버(2000)는 전자 장치(1000)의 위치 정보 및 시야 정보에 기초하여, 증강 현실 콘텐츠를 생성할 수 있다. 일 실시예에서, 전자 장치(1000)가 야구 경기장에 위치하고, 시야 정보가 야구 경기장 내 그라운드를 나타내는 것으로 판단되는 경우, 수신된 이미지 내에서 경기장 내 야구 선수들을 검출하고, 야구 선수들에 관한 증강 현실 콘텐츠를 생성할 수 있다.
또한, 서버(2000)는 전자 장치(1000)의 사용자 정보에 기초하여, 증강 현실 콘텐츠를 생성할 수 있다. 구체적으로, A팀과 B팀의 야구 경기가 진행될 때, 전자 장치(1000)의 사용자가 A팀의 팬인 경우, 서버(2000)는 야구 선수들에 관한 증강 현실 콘텐츠를 생성할 때, A팀의 팬에게 추천되는 콘텐츠(예를 들어, A팀 응원 콘텐츠 등)위주로 증강 현실 콘텐츠를 생성할 수 있다.
또한, 서버(2000)는 생성된 증강 현실 콘텐츠를 전자 장치(1000)의 화면 내에서 디스플레이하기 위한 위치를 나타내는 제1 위치 정보들을 생성할 수 있다.
단계 S830에서, 전자 장치(1000)는 서버(2000)로부터 증강 현실 콘텐츠 및 제1 위치 정보를 포함하는 증강 현실 데이터를 수신할 수 있다.
단계 S840에서, 전자 장치(1000)는 이미지를 획득할 수 있다. 이 경우, 이미지는 전자 장치(1000)에 포함된 카메라를 이용하여 획득될 수 있다. 단계 S840에서 획득된 이미지는, 단계 S810에서 전술한 이미지와 동일한 프레임의 이미지일 수 있으며, 단계 S810에서 전술한 이미지의 다음 프레임일 수 있고, 단계 S810에서 전술한 이미지로부터 소정 개수의 프레임 이후의 이미지일 수 있다.
단계 S850에서, 전자 장치(1000)는 증강 현실 데이터에 기초하여, 단계 S840에서 획득된 이미지 내 객체들을 검출할 수 있다.
예를 들어, 전자 장치(1000)는 단계 S840에서 획득된 이미지 내에서 객체들을 검출할 때, 증강 현실 데이터에 포함되는 제1 위치 정보들에 기초하여 객체를 검출할 수 있다. 구체적으로, 전자 장치(1000)는 연산량을 감소시키기 위해, 획득된 이미지 내에서 제1 위치 정보들에 대응되는 위치들 및 그 주변 위치들을 우선적으로 탐색하여 객체를 검출할 수 있다.
또한, 전자 장치(1000)는 단계 S840에서 획득된 이미지 내에서 객체들을 검출할 때, 증강 현실 데이터에 포함되는 증강 현실 콘텐츠에 기초하여 객체를 검출할 수 있다. 구체적으로, 전자 장치(1000)는 증강 현실 콘텐츠가 야구 선수에 관한 증강 현실 콘텐츠인 경우, 야구선수를 검출하기 적합한 검출 모델을 이용하여 객체를 검출할 수 있다.
단계 S850 이후에, 전자 장치(1000)는 증강 현실 데이터에 포함되는 제1 위치 정보들을 보정하여, 제2 위치 정보들을 생성할 수 있다. 또한, 전자 장치(1000)는 제2 위치 정보들에 기초하여 증강 현실 콘텐츠를 렌더링하고 디스플레이 할 수 있다. 이는 도 3의 단계 S330 내지 S360에 대응되므로, 설명의 간단을 위해 설명을 생략한다.
도 9는 다른 실시예에 따른 전자 장치(1000)가 제1 위치 정보를 보정하여 제2 위치 정보를 생성하고, 제2 위치 정보에 기초하여 증강 현실 콘텐츠를 렌더링하기 위한 방법을 설명하기 위한 도면이다.
일 실시예에 따른 전자 장치(1000)는 서버(2000)로부터 생성된 증강 현실 콘텐츠가 렌더링 되는 위치를 나타내는 제1 위치 정보(901)를 수신할 수 있다. 이 경우, 증강 현실 콘텐츠가 렌더링 되는 위치들을 나타내는 제1 위치 정보(901)들은, 제1 이미지 프레임(910)에 기초하여 생성된 것일 수 있다.
따라서, 일 실시예에 따른 전자 장치(1000)가 제2 이미지 프레임(920)에 증강 현실 콘텐츠를 렌더링하여 디스플레이 하려고 할 때, 전자 장치(1000)와 서버(2000) 사이의 데이터 송수신이 지연됨으로 인해, 제2 이미지 프레임(920)에 기초하여 생성된 렌더링 위치 정보가 아닌, 제1 이미지 프레임(910)에 기초하여 계산되고, 증강 현실 콘텐츠를 디스플레이하기 위한 위치 정보인 제1 위치 정보(901)들이 수신되었을 수 있다.
이 경우, 전자 장치(1000)는 전술한 실시예들에 따라 제2 이미지 프레임(920) 내에서 객체들을 검출하여 객체 위치 정보들을 획득하고, 제2 위치 정보(902)들을 생성하여, 제2 위치 정보들(902)에 대응되는 위치들로 증강 현실 콘텐츠를 렌더링하여 디스플레이 할 수 있다.
또한, 일 실시예에서, 전자 장치(1000)가 전술한 실시예에 따른 증강 현실 콘텐츠가 렌더링 되는 위치를 보정하기 위해 제2 위치 정보들(902)을 생성할 때, 전자 장치(1000)는 연산량을 감소시키기 위해 모든 프레임이 아닌 소정 프레임 간격을 기준으로 프레임 내 객체들을 검출하고, 검출된 객체들의 객체 위치 정보들을 획득할 수 있다.
예를 들어, 전자 장치(1000)는 소정 프레임 간격 K를 기준으로, K 프레임 마다 프레임 내 객체들을 검출하고, 검출된 객체들의 객체 위치 정보들을 획득할 수 있다. 예를 들어, 전자 장치(1000)가 제2 이미지 프레임(920)에 대해서 제2 위치 정보(902)를 생성하여 증강 현실 콘텐츠가 렌더링 되는 위치를 보정한 경우, 전자 장치(1000)는 제2 이미지 프레임(920) 이후의 K번째 프레임 마다 다시 전술한 실시예들에 따른 제2 위치 정보(902)를 생성하는 동작들을 수행할 수 있다.
일 실시예에 따른 전자 장치(1000)는 K 프레임 마다 획득된 객체 위치 정보들에 대하여, 서버(2000)로부터 마지막으로 수신된 제1 위치 정보들(901)을 매칭하고, 객체 위치 정보들과 제1 위치 정보들의 차이를 나타내는 제1 벡터들을 산출할 수 있다. 또한 전자 장치(1000)는 산출된 제1 벡터들 중에서, 제1 위치 정보들(901)을 보정하기 위해 사용할 제2 벡터들을 식별하고, 제2 벡터들을 이용하여 증강 현실 콘텐츠가 디스플레이 될 위치에 관한 제2 위치 정보들(902)을 생성할 수 있다.
또한, 일 실시예에 따른 전자 장치(1000)가 소정 프레임 간격 K를 기준으로 프레임 내 존재하는 객체 위치 정보들을 획득하고, 전술한 실시예들에 따라 제2 위치 정보들(902)을 생성할 때, 소정 프레임 간격 K는 전자 장치(1000)와 서버(2000) 사이의 데이터 송수신 지연 시간에 기초하여 결정될 수 있다.
예를 들어, 전자 장치(1000)가 현재 소정 프레임 간격 K 마다 제2 위치 정보들을 생성할 때, 전자 장치(1000)와 서버(2000) 사이의 데이터 송수신 지연 시간이 현재 지연 시간보다 커지면 전자 장치(1000)에서 증강 현실 콘텐츠가 렌더링되는 위치의 오차가 커질 수 있다. 따라서, 전자 장치(1000)는 소정 프레임 간격을 현재 값인 K 보다 작은 값으로 결정할 수 있다. 예를 들어, 전자 장치(1000)는 소정 프레임 간격을 J로 결정(J < K)함으로써, 더 잦은 빈도로 제2 위치 정보들(902)을 생성할 수 있다.
또한, 전자 장치(1000)와 서버(2000) 사이의 데이터 송수신 지연 시간이 현재 지연 시간보다 작아지면, 전자 장치(1000)에서 증강 현실 콘텐츠가 렌더링되는 위치의 오차가 작아질 수 있다. 따라서, 전자 장치(1000)는 소정 프레임 간격을 현재 값인 K 보다 큰 값으로 결정할 수 있다. 예를 들어, 전자 장치(1000)는 소정 프레임 간격을 L로 결정(L > K)함으로써, 더 적은 빈도로 제2 위치 정보들(902)을 생성할 수 있다.
도 10은 일 실시예에 따른 전자 장치(1000) 및 서버(2000)의 세부 구성을 설명하기 위한 블록도이다.
도 10을 참조하면, 전자 장치(1000)는 통신 인터페이스(1100), 센싱부(1200), 입력부(1300), 출력부(1400), 프로세서(1500) 및 메모리(1600)를 포함할 수 있다. 통신 인터페이스(1100), 센싱부(1200), 입력부(1300), 출력부(1400), 프로세서(1500)에 관한 설명은 도 2에서 전술하였으므로 여기에서는 설명을 생략하기로 한다.
일 실시예에 따른 메모리(1600)에는 객체 검출 모듈(1610), 제2 위치 정보 생성 모듈(1620), 증강 현실 콘텐츠 출력 모듈(1630)에 대응되는 데이터 및 프로그램 명령어 코드들이 저장되어 있을 수 있다. 다만, 이에 한정되는 것은 아니며, 도 10에 도시된 소프트웨어 모듈보다 많은 소프트웨어 모듈을 이용하여 전자 장치(1000)가 증강 현실 콘텐츠를 사용자에게 제공할 수 있고, 도 10에 도시된 소프트웨어 모듈보다 적은 소프트웨어 모듈을 이용하여 전자 장치(1000)가 증강 현실 콘텐츠를 사용자에게 제공할 수도 있다.
일 실시예에서, 프로세서(1500)는 객체 검출 모듈(1610)에 관한 데이터 및 명령어 코드를 이용하여, 소정 공간 내 객체들을 검출함으로써 객체의 종류를 나타내는 객체 분류 정보, 객체의 위치를 나타내는 객체 위치 정보 등을 획득할 수 있다. 또한, 객체 검출 모듈(1610)에 포함되는 검출 모델은 복수개일 수 있다. 이 경우, 프로세서(1500)는 전자 장치(1000)의 위치 정보에 기초하여 적합한 검출 모델을 결정하고, 객체 검출을 수행할 수 있다. 예를 들어, 전자 장치(1000)의 위치 정보가 야구 경기장을 나타내는 경우, 전자 장치(1000)는 야구 경기장 내 객체들(예를 들어, 야구 선수)을 검출하기에 적합한 검출 모델을 이용하여 객체 검출을 수행할 수 있다. 다른 예에서, 전자 장치(1000)의 위치 정보가 쇼핑몰을 나타내는 경우, 전자 장치(1000)는 쇼핑몰 내 객체들(예를 들어, 쇼핑 아이템)을 검출하기에 적합한 검출 모델을 이용하여 객체 검출을 수행할 수 있다.
일 실시예에서, 프로세서(1500)는 제2 위치 정보 생성 모듈(1620)에 관한 데이터 및 명령어 코드를 이용하여, 제1 위치 정보를 보정함으로써 제2 위치 정보를 생성할 수 있다. 프로세서(1500)는 생성된 제2 위치 정보에 기초하여 증강 현실 콘텐츠를 렌더링 할 수 있다.할 수 있다. 프로세서(1500)는 객체 검출 결과 획득된 객체 위치 정보들과 서버(2000)로부터 수신되고 증강 현실 콘텐츠가 렌더링 되는 위치를 나타내는 제1 위치 정보들을 비교하여, 객체 위치 정보와 제1 위치 정보 간 차이를 나타내는 벡터들을 식별하고, 식별된 벡터들에 기초하여 프로세서(1500)가 증강 현실 콘텐츠를 객체의 정확한 위치에 대응되는 위치로 렌더링하는데 이용되는 제2 위치 정보를 생성할 수 있다.
일 실시예에서, 프로세서(1500)는 증강 현실 콘텐츠 출력 모듈(1630)에 관한 데이터 및 명령어 코드를 이용하여, 증강 현실 콘텐츠를 출력할 수 있다. 프로세서(1500)는 생성된 제2 위치 정보들에 기초하여, 서버(2000)로부터 수신된 증강 현실 콘텐츠를 이미지 상에 렌더링하고, 디스플레이 할 수 있다.
서버(2000)는 통신 인터페이스(2100), 프로세서(2200) 및 저장부(2300)를 포함할 수 있다.
통신 인터페이스(2100)는 프로세서(2200)의 제어에 의해 전자 장치(1000)와 데이터 통신을 수행할 수 있다.
통신 인터페이스(2100)는 예를 들어, 유선 랜, 무선 랜(Wireless LAN), 와이파이(Wi-Fi), 블루투스(Bluetooth), 지그비(zigbee), WFD(Wi-Fi Direct), 적외선 통신(IrDA, infrared Data Association), BLE (Bluetooth Low Energy), NFC(Near Field Communication), 와이브로(Wireless Broadband Internet, Wibro), 와이맥스(World Interoperability for Microwave Access, WiMAX), SWAP(Shared Wireless Access Protocol), 와이기그(Wireless Gigabit Allicance, WiGig) 및 RF 통신을 포함하는 데이터 통신 방식 중 적어도 하나를 이용하여 전자 장치(1000)와 데이터 통신을 수행할 수 있다.
일 실시예에 따른 통신 인터페이스(2100)는 증강 현실 콘텐츠를 생성하기 위하여, 전자 장치(1000)로부터 이미지 및 센서 정보(예를 들어, 전자 장치(1000)의 위치 정보, 전자 장치(1000)의 시야 정보 등)를 수신하고, 생성된 증강 현실 콘텐츠를 전자 장치(1000)로 전송할 수 있다.
프로세서(2200)는 저장부(2300)에 저장된 프로그램의 하나 이상의 명령어들(instructions)을 실행할 수 있다. 프로세서(2200)는 산술, 로직 및 입출력 연산과 시그널 프로세싱을 수행하는 하드웨어 구성 요소로 구성될 수 있다.
프로세서(2200)는 예를 들어, 중앙 처리 장치(Central Processing Unit), 마이크로 프로세서(microprocessor), 그래픽 프로세서(Graphic Processing Unit), ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), AP(Application Processor), 뉴럴 프로세서(Neural Processing Unit) 또는 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계된 인공지능 전용 프로세서 중 적어도 하나로 구성될 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에 따른 프로세서(2200)는 수신된 이미지 내에서 객체들을 검출하여, 검출된 객체이 관련된 증강 현실 콘텐츠를 생성할 수 있다. 또한, 프로세서(2200)는 생성된 증강 현실 콘텐츠를 디스플레이하기 위한 위치를 나타내는 제1 위치 정보를 생성할 수 있다.
저장부(2300)는 예를 들어, 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나를 포함하는 비휘발성 메모리 및 램(RAM, Random Access Memory) 또는 SRAM(Static Random Access Memory)과 같은 휘발성 메모리를 포함할 수 있다.
저장부(2300)에는 프로세서(2200)가 판독할 수 있는 명령어들, 데이터 구조, 및 프로그램 코드(program code)가 저장될 수 있다. 개시된 실시예들에서, 프로세서(2200)가 수행하는 동작들은 저장부(2300)에 저장된 프로그램의 명령어들 또는 코드들을 실행함으로써 구현될 수 있다.
또한, 저장부(2300)에는 객체 검출 모듈(2310), 증강 현실 콘텐츠 생성 모듈 (2320), 제1 위치 정보 생성 모듈(2330)에 대응되는 데이터 및 프로그램 명령어 코드들이 저장될 수 있다.
일 실시예에서, 프로세서(2200)는 객체 검출 모듈(2310)에 관한 데이터 및 명령어 코드를 이용하여, 입력된 이미지 내 객체들의 종류 및 위치를 검출할 수 있다. 또한, 객체 검출 모듈(2310)에 포함되는 검출 모델은 복수개일 수 있다. 검출 모델이 복수개인 경우, 서버(2000)는 전자 장치(1000)의 위치 정보에 기초하여 적합한 검출 모델을 결정하고, 객체 검출을 수행할 수 있다.
일 실시예에서, 프로세서(2200)는 증강 현실 콘텐츠 생성 모듈(2320)에 관한 데이터 및 명령어 코드를 이용하여, 검출된 객체에 관련된 증강 현실 콘텐츠를 생성할 수 있다.
일 실시예에서, 프로세서(2200)는 제1 위치 정보 생성 모듈(2330)을 이용하여, 생성된 증강 현실 콘텐츠가 검출된 객체들의 객체 위치에 대응되는 위치로 디스플레이되도록 하는데 이용되는, 제1 위치 정보들을 생성할 수 있다. 프로세서(2200)는 생성된 제1 위치 정보들 및 생성된 증강 현실 콘텐츠를 통신 인터페이스(2100)를 이용하여 전자 장치(1000)로 전송할 수 있다.
한편, 도 10에 도시된 서버(2000)는 MEC(Multi-access Edge Computing) 기술을 이용하는 엣지 데이터 네트워크(edge data network)일 수 있다. 이에 대해서는 도 11에 대한 설명에서 추가로 서술하기로 한다.
도 11은 일 실시예에 따른 서버(2000)가 엣지 컴퓨팅 기술을 이용하는 엣지 데이터 네트워크인 경우, 네트워크 환경을 구성하는 구성요소들을 설명하기 위한 블록도이다.
엣지 컴퓨팅 기술은, 예를 들어, MEC(Multi-access Edge Computing) 또는 포그 컴퓨팅(fog computing, FOC)을 포함할 수 있다. 엣지 컴퓨팅 기술은 전자 장치와 지리적으로 가까운 위치, 예를 들어, 기지국 내부 또는 기지국 근처에 설치된 별도의 서버(이하, '엣지 데이터 네트워크' 또는 'MEC 서버'라 한다)를 통해 전자 장치로 데이터를 제공하는 기술을 의미할 수 있다.
예를 들어, 전자 장치에 설치된 적어도 하나의 애플리케이션 중 낮은 지연 시간(latency)을 요구하는 애플리케이션은 외부 데이터 네트워크(data network, DN)(예: 인터넷)에 위치한 서버를 통하지 않고, 지리적으로 가까운 위치에 설치된 엣지 서버를 통해 데이터를 송수신할 수 있다. 도 11에서는 설명의 편의를 위하여, MEC(Multi-access Edge Computing) 기술을 이용하는 엣지 데이터 네트워크를 기준으로 설명하기로 한다. 다만 이에 한정되는 것은 아니다.
도 11을 참조하면, 개시된 실시예에 따른 네트워크 환경은 전자 장치(1000), 엣지 데이터 네트워크(2500), 클라우드 서버(3000) 및 액세스 네트워크(access network, AN, 4000)를 포함할 수 있다. 다만, 네트워크 환경이 포함하는 구성이 이에 제한되는 것은 아니다.
일 실시예에 따르면, 네트워크 환경에 포함되는 구성요소들 각각은 물리적인 객체(entity) 단위를 의미하거나, 개별적인 기능(function)을 수행할 수 있는 소프트웨어 또는 모듈 단위를 의미할 수 있다.
일 실시예에 따르면, 전자 장치(1000)는 사용자에 의해 사용되는 장치를 의미할 수 있다. 예를 들면, 전자 장치(1000)는 단말(terminal), 사용자 단말(UE, user equipment), 이동국(mobile station), 가입자국(subscriber station), 원격 단말(remote terminal), 무선 단말(wireless terminal), 또는 사용자 장치(user device)를 의미할 수 있다.
또한, 전자 장치(1000)는 전술한 실시예들에 따른 증강 현실 콘텐츠를 제공하는 전자 장치일 수 있다.
도 11을 참조하면, 전자 장치(1000)는 제1 애플리케이션 클라이언트(또는, 애플리케이션 클라이언트)(122), 제2 애플리케이션 클라이언트(124) 및 엣지 인에이블러 클라이언트(edge enabler client)(또는, MEL(MEC enabling layer))(130)를 포함할 수 있다. 전자 장치(1000)는 MEC 서비스의 사용을 위하여 엣지 인에이블러 클라이언트(130)를 이용하여 필요한 작업을 수행할 수 있다. 예를 들어, 엣지 인에이블러 클라이언트(130)를 이용하여 애플리케이션을 검색하고 요구되는 데이터를 애플리케이션에 공급할 수 있다.
일 실시예에 따르면, 전자 장치(1000)는 복수의 애플리케이션들을 실행할 수 있다. 예를 들면, 전자 장치(1000)는 제1 애플리케이션 클라이언트(122) 및 제2 애플리케이션 클라이언트(124)를 실행할 수 있다. 복수의 애플리케이션들은 요구되는 데이터 전송 속도, 지연 시간(또는 속도)(latency), 신뢰성(reliability), 네트워크에 접속(access)된 전자 장치의 수, 전자 장치(1000)의 네트워크 접속 주기, 또는 평균 데이터 사용량 중 적어도 하나에 기반하여 서로 다른 네트워크 서비스를 요구(require)할 수 있다. 서로 다른 네트워크 서비스는, 예를 들어, eMBB(enhanced mobile broadband), URLLC(ultra- reliable and low latency communication), 또는 mMTC(massive machine type communication)를 포함할 수 있다.
전자 장치(1000)의 애플리케이션 클라이언트는 전자 장치(1000)에 미리 설치된 기본 애플리케이션 또는 제 3자가 제공하는 애플리케이션을 의미할 수 있다. 즉, 특정 응용 서비스를 위하여 전자 장치(1000) 내에서 구동되는 클라이언트(client) 응용 프로그램을 의미할 수 있다. 전자 장치(1000) 내에는 여러 애플리케이션 클라이언트들이 구동될 수 있다. 이 애플리케이션 클라이언트들 중 적어도 하나 이상은 엣지 데이터 네트워크(2500)로부터 제공되는 서비스를 사용할 수 있다. 예를 들면, 애플리케이션 클라이언트는 전자 장치(1000)에 설치되어 실행되는 애플리케이션으로서, 엣지 데이터 네트워크(2500)를 통해 데이터를 송수신하는 기능을 제공할 수 있다. 전자 장치(1000)의 애플리케이션 클라이언트는, 하나 이상의 특정 엣지 애플리케이션들에 의해 제공된 기능을 이용하기 위해, 전자 장치(1000) 상에서 실행되는 애플리케이션 소프트웨어를 의미할 수 있다.
일 실시예에 따르면, 전자 장치(1000)의 복수의 애플리케이션들(122, 124)은 요구되는 네트워크 서비스 타입에 기반하여 클라우드 서버(3000)와 데이터 전송을 수행하거나, 또는 엣지 데이터 네트워크(2500)와 엣지 컴퓨팅에 기반한 데이터 전송을 수행할 수 있다. 예를 들어, 제1 애플리케이션 클라이언트(122)가 낮은 지연 시간을 요구하지 않으면, 제1 애플리케이션 클라이언트(122)는 클라우드 서버 (3000)와 데이터 전송을 수행할 수 있다.
다른 예를 들어, 제2 애플리케이션 클라이언트(124)가 낮은 지연 시간을 요구하면, 제2 애플리케이션 클라이언트(124)는 엣지 데이터 네트워크(2500)와 MEC 기반 데이터 전송을 수행할 수 있다.
일 실시예에 따르면, 액세스 네트워크(4000)는 전자 장치(1000)와의 무선 통신을 위한 채널(channel)을 제공할 수 있다. 예를 들면, 액세스 네트워크(4000)는 RAN(radio access network), 기지국(base station), 이노드비(eNB, eNodeB), 5G 노드(5G node), 송수신 포인트(TRP, transmission/reception point), 또는 5GNB(5th generation NodeB)를 의미할 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(2500)는 전자 장치(1000)가 MEC 서비스를 이용하기 위하여 접속하는 서버를 의미할 수 있다. 엣지 데이터 네트워크(2500)는 전자 장치와 지리적으로 가까운 위치, 예를 들어, 기지국 내부 또는 기지국 근처에 설치될 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(2500)는 외부 데이터 네트워크(data network, DN)(예: 인터넷)를 통하지 않고, 전자 장치(1000)와 데이터를 송수신할 수 있다. 일 실시 예에서, MEC는 multi-access edge computing 또는 mobile-edge computing로 지칭될 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(2500)는, MEC 호스트(host), 엣지 컴퓨팅 서버(edge computing server), 모바일 엣지 호스트(mobile edge host), 엣지 컴퓨팅 플랫폼(edge computing platform), MEC 서버 등으로 지칭될 수 있으나, 설명의 편의를 위해, 이하에서는 엣지 데이터 네트워크(2500)로 지칭하기로 한다.
도 11을 참조하면, 엣지 데이터 네트워크(2500)는, 제1 엣지 애플리케이션(edge application)(142), 제2 엣지 애플리케이션(144) 및 엣지 인에이블러 서버(또는, MEP(MEC platform))(146)를 포함할 수 있다. 엣지 인에이블러 서버(146)는 엣지 데이터 네트워크(2500)에서 MEC 서비스를 제공하거나 트래픽 제어 등을 수행하는 구성으로, 엣지 인에이블러 서버(146)는 애플리케이션에 관련된 정보(예를 들어, 애플리케이션의 유효성/활성화(availability/enablement))를 엣지 인에이블러 클라이언트(130)에 제공할 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(2500)는 복수의 애플리케이션들을 실행할 수 있다. 예를 들면, 엣지 데이터 네트워크(2500)는 제1 엣지 애플리케이션(142) 및 제2 엣지 애플리케이션(144)을 실행할 수 있다. 일 실시예에 따르면, 엣지 에플리케이션은 MEC 서비스를 제공하는 엣지 데이터 네트워크(2500) 내 제 3자가 제공하는 응용 애플리케이션을 의미할 수 있고, 엣지 애플리케이션으로 지칭될 수도 있다. 엣지 애플리케이션은 애플리케이션 클라이언트와 관련된 데이터를 송수신하기 위하여, 애플리케이션 클라이언트와 데이터 세션을 형성하는데 이용될 수 있다. 즉, 엣지 애플리케이션은 애플리케이션 클라이언트와 데이터 세션을 형성할 수 있다.
일 실시예에 따르면, 데이터 세션은, 전자 장치(1000)의 애플리케이션 클라이언트와 엣지 데이터 네트워크(2500)의 엣지 애플리케이션이 데이터를 송수신하기 위하여 형성되는 통신 경로를 의미할 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(2500)의 애플리케이션은, MEC 애플리케이션(MEC App), 엣지 애플리케이션 서버(edge application server) 및 엣지 애플리케이션으로 지칭될 수 있다. 편의를 위해, 이하, 본 개시에서는 엣지 데이터 네트워크(2500)의 애플리케이션은 엣지 에플리케이션으로 지칭된다. 이때, 애플리케이션으로 기재되었으나, 엣지 애플리케이션은 엣지 데이터 네트워크에 존재하는 애플리케이션 서버를 의미할 수 있다.
일 실시예에 따르면, 클라우드 서버(3000)는 애플리케이션과 관련된 컨텐츠를 제공할 수 있다. 예를 들어, 클라우드 서버(3000)는 컨텐츠 사업자에 의하여 관리될 수 있다. 일 실시예에 따르면, 클라우드 서버(3000)는 외부 데이터 네트워크(data network, DN)(예: 인터넷)를 통해서, 전자 장치(1000)와 데이터를 송수신할 수 있다.
도 11에는 도시되지 아니하였으나, 액세스 네트워크(4000)와 엣지 데이터 네트워크(2500) 사이에 코어 네트워크(core network, CN) 및 데이터 네트워크(data network, DN)가 존재할 수 있다.
일 실시예에 따르면, 데이터 네트워크는 코어 네트워크 및 액세스 네트워크(4000)를 통해, 전자 장치(1000)에게 데이터(또는 데이터 패킷)를 송수신함으로써 서비스(예: 인터넷 서비스, IMS(IP multimedia subsystem) 서비스)를 제공할 수 있다. 예를 들어, 데이터 네트워크는 통신 사업자에 의하여 관리될 수 있다. 일 실시 예에 있어서, 엣지 데이터 네트워크(2500)는 데이터 네트워크(예: 로컬(local) DN)를 통해 액세스 네트워크(4000) 또는 코어 네트워크와 연결될 수 있다.
일 실시예에 따르면, 전자 장치(1000)에서 제1 애플리케이션 클라이언트(122) 또는 제2 애플리케이션 클라이언트(124)가 실행되는 경우, 전자 장치는 액세스 네트워크(4000)를 통해 엣지 데이터 네트워크(2500)에 접속함으로써, 애플리케이션 클라이언트를 실행시키기 위한 데이터를 송수신할 수 있다.
한편, 도 2 및 도 10에 도시된 전자 장치(1000), 서버(2000)의 블록도는 일 실시예를 위한 블록도이다. 블록도의 각 구성요소는 실제 구현되는 각 장치의 사양에 따라 통합, 추가 또는 생략될 수 있다. 즉 필요에 따라 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나, 혹은 하나의 구성요소가 2 이상의 구성요소로 세분되어 구성될 수 있다. 또한, 각 블록에서 수행하는 기능은 실시예들을 설명하기 위한 것이며, 그 구체적인 동작이나 장치는 본 발명의 권리범위를 제한하지 아니한다.
일 실시예에 따른 전자 장치가 증강 현실 콘텐츠를 디스플레이하는 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
또한, 개시된 실시예들에 따른 전자 장치가 증강 현실 콘텐츠를 디스플레이하는 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다.
컴퓨터 프로그램 제품은 S/W 프로그램, S/W 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있다. 예를 들어, 컴퓨터 프로그램 제품은 전자 장치의 제조사 또는 전자 마켓(예, 구글 플레이 스토어, 앱 스토어)을 통해 전자적으로 배포되는 S/W 프로그램 형태의 상품(예, 다운로더블 앱)을 포함할 수 있다. 전자적 배포를 위하여, S/W 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사의 서버, 전자 마켓의 서버, 또는 SW 프로그램을 임시적으로 저장하는 중계 서버의 저장매체가 될 수 있다.
컴퓨터 프로그램 제품은, 서버 및 전자 장치로 구성되는 시스템에서, 서버의 저장매체 또는 전자 장치의 저장매체를 포함할 수 있다. 또는, 서버 또는 전자 장치와 통신 연결되는 제3 장치(예, 스마트폰)가 존재하는 경우, 컴퓨터 프로그램 제품은 제3 장치의 저장매체를 포함할 수 있다. 또는, 컴퓨터 프로그램 제품은 서버로부터 전자 장치 또는 제3 장치로 전송되거나, 제3 장치로부터 전자 장치로 전송되는 S/W 프로그램 자체를 포함할 수 있다.
이 경우, 서버, 전자 장치 및 제3 장치 중 하나가 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수 있다. 또는, 서버, 전자 장치 및 제3 장치 중 둘 이상이 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 분산하여 실시할 수 있다.
이상에서 실시예들에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.
Claims (20)
- 전자 장치가 증강 현실 콘텐츠를 디스플레이하는 방법에 있어서,서버로부터 현실의 공간에 대한 증강 현실 콘텐츠 및 상기 증강 현실 콘텐츠를 디스플레이하기 위해 생성된 제1 위치 정보들을 수신하는 단계;검출 모델을 이용하여 상기 공간에 존재하는 복수개의 객체들을 검출하고, 상기 검출된 객체들의 객체 위치 정보들을 획득하는 단계;상기 제1 위치 정보들과 상기 객체 위치 정보들 간의 차이를 나타내는 제1 벡터들을 산출하는 단계;상기 제1 벡터들 중에서, 상기 제1 위치 정보들을 보정하기 위한 제2 벡터들을 식별하는 단계;상기 제2 벡터들에 기초하여 상기 제1 위치 정보들을 보정함으로써 상기 증강 현실 콘텐츠가 디스플레이 될 위치에 관한 제2 위치 정보들을 생성하는 단계; 및상기 제2 위치 정보들에 대응되는 위치들로 상기 증강 현실 콘텐츠를 렌더링하여 상기 증강 현실 콘텐츠를 디스플레이하는 단계를 포함하는, 방법.
- 제1항에 있어서,상기 제1 벡터들을 산출하는 단계는,상기 객체 위치 정보들을 상기 제1 위치 정보들과 매칭하는 단계; 및상기 객체 위치 정보들에 매칭된 상기 제1 위치 정보들에 대하여, 상기 제1 위치 정보에 대응되는 위치로부터 상기 객체 위치 정보에 대응되는 위치까지의 거리 및 방향을 나타내는 벡터들을 제1 벡터들로 산출하는 단계를 포함하는, 방법.
- 제2항에 있어서,상기 제2 벡터들을 식별하는 단계는,상기 제1 벡터들 중에서 이상치(outlier)를 나타내는 이상치 벡터들을 식별하는 단계; 및상기 제1 벡터들 중에서 상기 이상치 벡터들을 제외한 나머지 벡터들을 제2 벡터들로 식별하는 단계를 포함하는, 방법.
- 제3항에 있어서,상기 제2 위치 정보들을 생성하는 단계는,상기 객체 위치 정보들에 매칭된 제1 위치 정보들 중에서, 상기 제2 벡터가 식별된 제1 위치 정보들을 상기 제2 벡터들에 기초하여 보정하는 단계;상기 객체 위치 정보들에 매칭된 제1 위치 정보들 중에서, 상기 이상치 벡터가 식별된 제1 위치 정보들을 상기 제2 벡터들의 대표 값을 이용하여 보정하는 단계; 및상기 객체 위치 정보들에 매칭되지 않은 제1 위치 정보들에 대하여, 상기 제2 벡터들의 대표 값을 이용하여 보정하는 단계를 포함하는, 방법.
- 제4항에 있어서,상기 제2 벡터들의 대표 값은 상기 제2 벡터들의 평균 값인 것인, 방법.
- 제1항에 있어서,상기 전자 장치의 위치 정보 및 시야 정보를 상기 서버로 전송하는 단계를 더 포함하고,상기 서버로부터 소정의 공간에 대한 증강 현실 콘텐츠 및 상기 증강 현실 콘텐츠를 디스플레이하기 위해 생성된 제1 위치 정보들을 수신하는 단계는,상기 서버가 상기 전자 장치의 위치 정보 및 상기 전자 장치의 시야 정보에 기초하여 생성한 상기 증강 현실 콘텐츠 및 상기 제1 위치 정보들을 상기 서버로부터 수신하는, 방법.
- 제6항에 있어서,상기 검출 모델을 이용하여 상기 공간에 존재하는 복수개의 객체들을 검출하고, 상기 검출된 객체들의 객체 위치 정보들을 획득하는 단계는,상기 제1 위치 정보들에 기초하여 상기 복수개의 객체들을 검출하고, 상기 객체들의 객체 위치 정보들을 획득하는, 방법.
- 제1항에 있어서,상기 제2 벡터들을 이용하여 상기 증강 현실 콘텐츠가 디스플레이 될 위치에 관한 제2 위치 정보들을 생성하는 단계는,상기 전자 장치의 센서들로부터 획득된 센서 정보를 더 이용하여 제2 위치 정보들을 생성하는, 방법.
- 제1항에 있어서,상기 검출 모델을 이용하여 상기 공간에 존재하는 복수개의 객체들을 검출하고, 상기 검출된 객체들의 객체 위치 정보들을 획득하는 단계는,소정 프레임 간격을 기준으로 상기 검출 모델을 이용하여 상기 공간에 존재하는 복수개의 객체들을 검출하고, 상기 객체들의 객체 위치 정보들을 획득하는, 방법.
- 제9항에 있어서,상기 소정 프레임 간격은,상기 전자 장치와 상기 서버 사이의 데이터 송수신 지연 시간에 기초하여 결정되는 것인, 방법.
- 증강 현실 콘텐츠를 디스플레이하는 전자 장치에 있어서,서버와 데이터 통신을 수행하는 통신 인터페이스;하나 이상의 명령어들(instructions)을 포함하는 프로그램을 저장하는 메모리; 및상기 메모리에 저장된 상기 프로그램의 하나 이상의 명령어들을 실행하는 프로세서를 포함하고,상기 프로세서는,상기 서버로부터 현실의 공간에 대한 증강 현실 콘텐츠 및 상기 증강 현실 콘텐츠를 디스플레이하기 위해 생성된 제1 위치 정보들을 수신하도록 상기 통신 인터페이스를 제어하고,검출 모델을 이용하여 상기 공간에 존재하는 복수개의 객체들을 검출하고, 상기 검출된 객체들의 객체 위치 정보들을 획득하고,상기 제1 위치 정보들과 상기 객체 위치 정보들 간의 차이를 나타내는 제1 벡터들을 산출하고,상기 제1 벡터들 중에서, 상기 제1 위치 정보들을 보정하기 위한 제2 벡터들을 식별하고,상기 제2 벡터들에 기초하여 상기 제1 위치 정보들을 보정함으로써 상기 증강 현실 콘텐츠가 디스플레이 될 위치에 관한 제2 위치 정보들을 생성하고,상기 제2 위치 정보들에 대응되는 위치들로 상기 증강 현실 콘텐츠를 렌더링하여 상기 증강 현실 콘텐츠를 디스플레이하는, 전자 장치.
- 제11항에 있어서,상기 프로세서는,상기 객체 위치 정보들을 상기 제1 위치 정보들과 매칭하고,상기 객체 위치 정보들에 매칭된 상기 제1 위치 정보들에 대하여, 상기 제1 위치 정보에 대응되는 위치로부터 상기 객체 위치 정보에 대응되는 위치까지의 거리 및 방향을 나타내는 벡터들을 제1 벡터들로 산출하는, 전자 장치.
- 제12항에 있어서,상기 프로세서는,상기 제1 벡터들 중에서 이상치(outlier)를 나타내는 이상치 벡터들을 식별하고,상기 제1 벡터들 중에서 상기 이상치 벡터들을 제외한 나머지 벡터들을 제2 벡터들로 식별하는, 전자 장치.
- 제13항에 있어서,상기 프로세서는,상기 객체 위치 정보들에 매칭된 제1 위치 정보들 중에서, 상기 제2 벡터가 식별된 제1 위치 정보들을 상기 제2 벡터들을 이용하여 보정하고,상기 객체 위치 정보들에 매칭된 제1 위치 정보들 중에서, 상기 이상치 벡터가 식별된 제1 위치 정보들을 상기 제2 벡터들의 대표 값을 이용하여 보정하고,상기 객체 위치 정보들에 매칭되지 않은 제1 위치 정보들에 대하여, 상기 제2 벡터들의 대표 값을 이용하여 보정하는, 전자 장치.
- 제11항에 있어서,상기 프로세서는,상기 전자 장치의 위치 정보 및 시야 정보를 상기 서버로 전송하도록 상기 통신 인터페이스를 제어하고,상기 서버가 상기 전자 장치의 위치 정보 및 상기 전자 장치의 시야 정보에 기초하여 생성한 상기 증강 현실 콘텐츠 및 상기 제1 위치 정보들을 상기 서버로부터 수신하도록 상기 통신 인터페이스를 제어하는, 전자 장치.
- 제16항에 있어서,상기 프로세서는,상기 제1 위치 정보들에 기초하여 상기 복수개의 객체들을 검출하고, 상기 객체들의 객체 위치 정보들을 획득하는, 전자 장치.
- 제11항에 있어서,상기 프로세서는,상기 전자 장치의 센서들로부터 획득된 센서 정보를 더 이용하여 제2 위치 정보들을 생성하는, 전자 장치.
- 제11항에 있어서,상기 프로세서는,소정 프레임 간격을 기준으로 상기 검출 모델을 이용하여 상기 공간에 존재하는 복수개의 객체들을 검출하고, 상기 객체들의 객체 위치 정보들을 획득하는, 전자 장치.
- 제18항에 있어서,상기 소정 프레임 간격은,상기 전자 장치와 상기 서버 사이의 데이터 송수신 지연 시간에 기초하여 결정되는 것인, 방법.
- 제1항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/435,614 US20220405983A1 (en) | 2020-12-14 | 2021-06-18 | Electronic device and method for displaying augmented reality content |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200174727A KR20220084842A (ko) | 2020-12-14 | 2020-12-14 | 증강 현실 콘텐츠를 디스플레이하는 전자 장치 및 방법 |
KR10-2020-0174727 | 2020-12-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022131465A1 true WO2022131465A1 (ko) | 2022-06-23 |
Family
ID=82057783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2021/007686 WO2022131465A1 (ko) | 2020-12-14 | 2021-06-18 | 증강 현실 콘텐츠를 디스플레이하는 전자 장치 및 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220405983A1 (ko) |
KR (1) | KR20220084842A (ko) |
WO (1) | WO2022131465A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220108536A1 (en) * | 2020-10-07 | 2022-04-07 | Samsung Electronics Co., Ltd. | Method of displaying augmented reality and electronic device for performing same |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230168786A1 (en) * | 2021-11-30 | 2023-06-01 | Verizon Patent And Licensing Inc. | Methods and Systems for Location-Based Accessing of Predesignated Data Payloads Using Extended Reality |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120090866A (ko) * | 2011-02-08 | 2012-08-17 | 광주과학기술원 | 모바일 기기를 이용하는 증강현실 환경에서 복수 객체 추적방법 및 이를 이용한 시스템 |
KR20140103046A (ko) * | 2013-02-15 | 2014-08-25 | 삼성전자주식회사 | 객체 추적 방법 및 이를 지원하는 전자 장치 |
US20140267419A1 (en) * | 2013-03-15 | 2014-09-18 | Brian Adams Ballard | Method and system for representing and interacting with augmented reality content |
US20160055674A1 (en) * | 2014-08-25 | 2016-02-25 | Daqri, Llc | Extracting sensor data for augmented reality content |
KR101898075B1 (ko) * | 2017-12-29 | 2018-09-12 | 주식회사 버넥트 | 공간 인식 및 사물 인식이 동시에 적용된 증강현실 시스템 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2465538B (en) * | 2008-08-01 | 2013-03-13 | Sony Corp | Method and apparatus for generating an event log |
US20140233800A1 (en) * | 2013-02-15 | 2014-08-21 | Samsung Electronics Co., Ltd. | Method of tracking object and electronic device supporting the same |
KR101716326B1 (ko) * | 2015-09-08 | 2017-03-14 | 클릭트 주식회사 | 가상현실영상 전송방법, 재생방법 및 이를 이용한 프로그램 |
KR102630519B1 (ko) * | 2016-12-26 | 2024-01-31 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 이물 검출방법 |
KR102357355B1 (ko) * | 2017-10-23 | 2022-01-28 | 삼성전자주식회사 | 가상 오브젝트 생성 방법 및 장치 |
US11166028B2 (en) * | 2019-02-01 | 2021-11-02 | Comcast Cable Communications, Llc | Methods and systems for providing variable bitrate content |
JP2020201583A (ja) * | 2019-06-06 | 2020-12-17 | ルネサスエレクトロニクス株式会社 | 半導体装置、移動体装置および移動体装置の制御方法 |
-
2020
- 2020-12-14 KR KR1020200174727A patent/KR20220084842A/ko active IP Right Grant
-
2021
- 2021-06-18 US US17/435,614 patent/US20220405983A1/en not_active Abandoned
- 2021-06-18 WO PCT/KR2021/007686 patent/WO2022131465A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120090866A (ko) * | 2011-02-08 | 2012-08-17 | 광주과학기술원 | 모바일 기기를 이용하는 증강현실 환경에서 복수 객체 추적방법 및 이를 이용한 시스템 |
KR20140103046A (ko) * | 2013-02-15 | 2014-08-25 | 삼성전자주식회사 | 객체 추적 방법 및 이를 지원하는 전자 장치 |
US20140267419A1 (en) * | 2013-03-15 | 2014-09-18 | Brian Adams Ballard | Method and system for representing and interacting with augmented reality content |
US20160055674A1 (en) * | 2014-08-25 | 2016-02-25 | Daqri, Llc | Extracting sensor data for augmented reality content |
KR101898075B1 (ko) * | 2017-12-29 | 2018-09-12 | 주식회사 버넥트 | 공간 인식 및 사물 인식이 동시에 적용된 증강현실 시스템 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220108536A1 (en) * | 2020-10-07 | 2022-04-07 | Samsung Electronics Co., Ltd. | Method of displaying augmented reality and electronic device for performing same |
Also Published As
Publication number | Publication date |
---|---|
KR20220084842A (ko) | 2022-06-21 |
US20220405983A1 (en) | 2022-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019132518A1 (en) | Image acquisition device and method of controlling the same | |
WO2022131465A1 (ko) | 증강 현실 콘텐츠를 디스플레이하는 전자 장치 및 방법 | |
WO2020159147A1 (ko) | 전자 장치 및 전자 장치의 그래픽 객체 제어 방법 | |
WO2016085253A1 (en) | Screen configuration method, electronic device, and storage medium | |
WO2016064132A1 (en) | Wearable device and method of transmitting content | |
WO2017039341A1 (en) | Display apparatus and control method thereof | |
WO2015126044A1 (ko) | 이미지를 처리하기 위한 방법 및 그 전자 장치 | |
WO2014017757A1 (en) | Method of transmitting inquiry message, display device for the method, method of sharing information, and mobile terminal | |
WO2016159654A1 (ko) | 위젯 제공 시스템 및 방법 | |
WO2015057013A1 (ko) | 휴대용 장치가 웨어러블 장치를 통하여 정보를 표시하는 방법 및 그 장치 | |
WO2016060438A2 (en) | Method and apparatus for providing advertising content | |
WO2022075668A1 (ko) | 인공지능 모델을 분산 처리하는 시스템 및 그 동작 방법 | |
WO2018124500A1 (ko) | 객체의 인식 결과를 제공하는 방법 및 전자 장치 | |
WO2018124842A1 (ko) | 컨텐트에 관한 정보를 제공하는 방법 및 디바이스 | |
WO2018074768A1 (ko) | 영상 표시 방법 및 그 전자장치 | |
WO2021132922A1 (en) | Computing device and operation method thereof | |
WO2016114475A1 (en) | Method of providing preset service by bending mobile device according to user input of bending mobile device and mobile device performing the same | |
WO2022031041A1 (ko) | 단말에 3d 캐릭터 이미지를 제공하는 엣지 데이터 네트워크 및 그 동작 방법 | |
WO2018070793A1 (en) | Method, apparatus, and recording medium for processing image | |
WO2018124464A1 (ko) | 전자 장치 및 전자 장치의 검색 서비스 제공 방법 | |
WO2018182053A1 (ko) | 오브젝트의 형상에 대한 정보를 획득하는 방법 및 장치 | |
WO2023033538A1 (ko) | 전자 장치 및 전자 장치의 제어 방법 | |
WO2022045613A1 (ko) | 비디오 품질 향상 방법 및 장치 | |
WO2017104922A1 (ko) | 추천 컨텐츠 제공 방법 및 이를 위한 장치 | |
WO2015142135A1 (ko) | 영상을 디스플레이 하는 방법 및 디바이스 |
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: 21906770 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21906770 Country of ref document: EP Kind code of ref document: A1 |