WO2022154166A1 - 콘텐츠 생성 기능을 제공하기 위한 방법 및 이를 지원하는 전자 장치 - Google Patents
콘텐츠 생성 기능을 제공하기 위한 방법 및 이를 지원하는 전자 장치 Download PDFInfo
- Publication number
- WO2022154166A1 WO2022154166A1 PCT/KR2021/002608 KR2021002608W WO2022154166A1 WO 2022154166 A1 WO2022154166 A1 WO 2022154166A1 KR 2021002608 W KR2021002608 W KR 2021002608W WO 2022154166 A1 WO2022154166 A1 WO 2022154166A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- sub
- electronic device
- image
- objects
- designated
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 51
- 230000000694 effects Effects 0.000 claims description 24
- 241001465754 Metazoa Species 0.000 claims description 19
- 230000033001 locomotion Effects 0.000 claims description 14
- 238000004891 communication Methods 0.000 description 96
- 230000006870 function Effects 0.000 description 59
- 230000003190 augmentative effect Effects 0.000 description 41
- 239000010410 layer Substances 0.000 description 34
- 238000010586 diagram Methods 0.000 description 27
- 230000004044 response Effects 0.000 description 24
- 238000005516 engineering process Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 17
- 238000013528 artificial neural network Methods 0.000 description 16
- 230000008859 change Effects 0.000 description 12
- 238000013473 artificial intelligence Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 239000002356 single layer Substances 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000010191 image analysis Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000000306 recurrent effect Effects 0.000 description 4
- 239000000758 substrate Substances 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000002194 synthesizing effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000010267 cellular communication Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 239000004020 conductor Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 239000000446 fuel Substances 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000003155 kinesthetic effect Effects 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000000638 stimulation Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 1
Images
Classifications
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- 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/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0276—Advertisement creation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0641—Shopping interfaces
- G06Q30/0643—Graphical representation of items or shoppers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- 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
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/63—Control of cameras or camera modules by using electronic viewfinders
- H04N23/631—Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/2621—Cameras specially adapted for the electronic generation of special effects during image pickup, e.g. digital cameras, camcorders, video cameras having integrated special effects capability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2004—Aligning objects, relative positioning of parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2016—Rotation, translation, scaling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2250/00—Details of telephonic subscriber devices
- H04M2250/52—Details of telephonic subscriber devices including functional features of a camera
Definitions
- Various embodiments disclosed in this document relate to an electronic device, and specifically, to a method for providing a content creation function and an electronic device supporting the same.
- an electronic device provides a content creation function based on augmented reality.
- the augmented reality-based content creation function is personalized by synthesizing virtual objects with real objects (e.g., the user's face, body, or objects in the real world such as accessories, landscapes, animals, plants, and objects worn by the user). ) to enable the creation of content.
- the virtual object synthesized into the real object is displayed on the screen and is composed of sub-objects such as text, icon, or image, and the sub-objects may be provided in a form arranged in one layer.
- the sub-objects of the virtual object are provided in the form of one layer, the sub-objects of the virtual object have the same depth, and the sizes or positions of the sub-objects are also collectively adjusted according to the size or position of the virtual object. can be adjusted. Accordingly, the creation of content that expresses the user's own individuality may be limited.
- At least one example of various embodiments is applied to a real object by independently varying the depth, location, size, and application time point for each sub-object constituting the virtual object when content is generated based on augmented reality.
- An object of the present invention is to provide a method for providing a content creation function capable of this and an electronic device supporting the same.
- An electronic device includes at least one camera module, at least one display module, a memory for storing a virtual object including a plurality of sub-objects having a depth, the at least one camera module, and the at least one a display module and a processor operatively connected to the memory, wherein the processor outputs a first image of a real object obtained through the at least one camera module, and displays the virtual object applicable to the first image. It may be configured to output a list of , sub-objects constituting the virtual object selected from the list, and generate a second image in which at least one sub-object selected from among the sub-objects is applied to the first image.
- the method of operating an electronic device includes an operation of outputting a first image of a real object, an operation of outputting a list of virtual objects including a plurality of sub-objects having depths, and at least one applicable to the first image.
- receiving an input for selecting one virtual object outputting sub-objects constituting the virtual object selected by the input, and a second method in which at least one sub-object selected from among the sub-objects is applied to the first image It may include an operation of generating an image.
- An electronic device includes at least one camera module, at least one display module, a memory for storing a virtual object including a plurality of sub-objects having a depth, the at least one camera module, the at least one display module, and and a processor operatively connected to the memory, wherein the processor acquires a first image of a real object obtained through the at least one camera module, and selects at least one sub-object applicable to the first image.
- the position of the at least one sub-object in the first image is determined according to the depth, the at least one sub-object whose position is determined is synthesized with the first image to generate a second image, and the second image is It can be set to output.
- the electronic device When the electronic device according to various embodiments disclosed in this document generates content based on augmented reality, the location, size, and application time of each sub-object constituting the virtual object are independently different and applied to the real object. By doing so, it can support the creation of content that expresses the user's own individuality.
- FIG. 1 is a block diagram of an electronic device in a network environment according to various embodiments of the present disclosure
- FIG. 2 is a schematic block diagram of an electronic device according to various embodiments of the present disclosure.
- FIG. 3 is a diagram for describing a configuration of a virtual object according to various embodiments of the present disclosure
- 4A is a diagram illustrating a situation in which a virtual object is applied to a real object in an electronic device according to various embodiments of the present disclosure
- 4B is a view for explaining a result of applying a virtual object to a real object in an electronic device according to various embodiments of the present disclosure
- FIG. 5 is a flowchart illustrating an operation of applying a virtual object to a real object in an electronic device according to various embodiments of the present disclosure
- 6A is a flowchart illustrating an operation of displaying a sub-object in an electronic device according to various embodiments of the present disclosure
- 6B is a diagram for explaining a situation in which a sub-object is displayed according to various embodiments of the present disclosure
- FIG. 7 is a flowchart illustrating another operation of displaying a sub-object in an electronic device according to various embodiments of the present disclosure
- FIG. 8 is another diagram for describing a configuration of a virtual object according to various embodiments of the present disclosure.
- FIG. 9 is a diagram for explaining a situation in which a sub-object is displayed according to various embodiments of the present disclosure.
- FIG. 10 is a flowchart illustrating an operation of displaying a real object to which a sub-object is applied in an electronic device according to various embodiments of the present disclosure
- 11A is a diagram for describing a situation in which an effect is applied to a sub-object based on state information related to an electronic device.
- 11B is a diagram for explaining a situation in which an effect is applied to a sub-object based on state information related to the object.
- FIG. 12 is a flowchart illustrating another operation of applying a virtual object to a real object in an electronic device according to various embodiments of the present disclosure
- FIG. 1 is a block diagram of an electronic device 101 in a network environment 100 according to various embodiments of the present disclosure.
- an electronic device 101 communicates with an electronic device 102 through a first network 198 (eg, a short-range wireless communication network) or a second network 199 . It may communicate with at least one of the electronic device 104 and the server 108 through (eg, a long-distance wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108 .
- a first network 198 eg, a short-range wireless communication network
- a second network 199 e.g., a second network 199
- the electronic device 101 may communicate with the electronic device 104 through the server 108 .
- the electronic device 101 includes a processor 120 , a memory 130 , an input module 150 , a sound output module 155 , a display module 160 , an audio module 170 , and a sensor module ( 176), interface 177, connection terminal 178, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196 , or an antenna module 197 .
- at least one of these components eg, the connection terminal 178
- some of these components are integrated into one component (eg, display module 160 ). can be
- the processor 120 for example, executes software (eg, a program 140) to execute at least one other component (eg, a hardware or software component) of the electronic device 101 connected to the processor 120. It can control and perform various data processing or operations. According to one embodiment, as at least part of data processing or computation, the processor 120 converts commands or data received from other components (eg, the sensor module 176 or the communication module 190 ) to the volatile memory 132 . may be stored in , process commands or data stored in the volatile memory 132 , and store the result data in the non-volatile memory 134 .
- software eg, a program 140
- the processor 120 converts commands or data received from other components (eg, the sensor module 176 or the communication module 190 ) to the volatile memory 132 .
- the volatile memory 132 may be stored in , process commands or data stored in the volatile memory 132 , and store the result data in the non-volatile memory 134 .
- the processor 120 is a main processor 121 (eg, a central processing unit or an application processor) or a secondary processor 123 (eg, a graphic processing unit, a neural network processing unit) a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor).
- a main processor 121 eg, a central processing unit or an application processor
- a secondary processor 123 eg, a graphic processing unit, a neural network processing unit
- NPU neural processing unit
- an image signal processor e.g., a sensor hub processor, or a communication processor.
- the secondary processor 123 may, for example, act on behalf of the main processor 121 while the main processor 121 is in an inactive (eg, sleep) state, or when the main processor 121 is active (eg, executing an application). ), together with the main processor 121, at least one of the components of the electronic device 101 (eg, the display module 160, the sensor module 176, or the communication module 190) It is possible to control at least some of the related functions or states.
- the coprocessor 123 eg, an image signal processor or a communication processor
- may be implemented as part of another functionally related component eg, the camera module 180 or the communication module 190. have.
- the auxiliary processor 123 may include a hardware structure specialized for processing an artificial intelligence model.
- Artificial intelligence models can be created through machine learning. Such learning may be performed, for example, in the electronic device 101 itself on which the artificial intelligence model is performed, or may be performed through a separate server (eg, the server 108).
- the learning algorithm may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but in the above example not limited
- the artificial intelligence model may include a plurality of artificial neural network layers.
- Artificial neural networks include deep neural networks (DNNs), convolutional neural networks (CNNs), recurrent neural networks (RNNs), restricted boltzmann machines (RBMs), deep belief networks (DBNs), bidirectional recurrent deep neural networks (BRDNNs), It may be one of deep Q-networks or a combination of two or more of the above, but is not limited to the above example.
- the artificial intelligence model may include, in addition to, or alternatively, a software structure in addition to the hardware structure.
- the memory 130 may store various data used by at least one component (eg, the processor 120 or the sensor module 176 ) of the electronic device 101 .
- the data may include, for example, input data or output data for software (eg, the program 140 ) and instructions related thereto.
- the memory 130 may include a volatile memory 132 or a non-volatile memory 134 .
- the program 140 may be stored as software in the memory 130 , and may include, for example, an operating system 142 , middleware 144 , or an application 146 .
- the input module 150 may receive a command or data to be used by a component (eg, the processor 120 ) of the electronic device 101 from the outside (eg, a user) of the electronic device 101 .
- the input module 150 may include, for example, a microphone, a mouse, a keyboard, a key (eg, a button), or a digital pen (eg, a stylus pen).
- the sound output module 155 may output a sound signal to the outside of the electronic device 101 .
- the sound output module 155 may include, for example, a speaker or a receiver.
- the speaker can be used for general purposes such as multimedia playback or recording playback.
- the receiver can be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from or as part of the speaker.
- the display module 160 may visually provide information to the outside (eg, a user) of the electronic device 101 .
- the display module 160 may include, for example, a control circuit for controlling a display, a hologram device, or a projector and a corresponding device.
- the display module 160 may include a touch sensor configured to sense a touch or a pressure sensor configured to measure the intensity of a force generated by the touch.
- the audio module 170 may convert a sound into an electric signal or, conversely, convert an electric signal into a sound. According to an embodiment, the audio module 170 acquires a sound through the input module 150 or an external electronic device (eg, a sound output module 155 ) directly or wirelessly connected to the electronic device 101 . The sound may be output through the electronic device 102 , a speaker or headphones, etc.).
- an external electronic device eg, a sound output module 155
- the sound may be output through the electronic device 102 , a speaker or headphones, etc.
- the sensor module 176 detects an operating state (eg, power or temperature) of the electronic device 101 or an external environmental state (eg, a user state), and generates an electrical signal or data value corresponding to the sensed state. can do.
- the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, a humidity sensor, or an illuminance sensor.
- the interface 177 may support one or more specified protocols that may be used by the electronic device 101 to directly or wirelessly connect with an external electronic device (eg, the electronic device 102 ).
- the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
- the connection terminal 178 may include a connector through which the electronic device 101 can be physically connected to an external electronic device (eg, the electronic device 102 ).
- the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
- the haptic module 179 may convert an electrical signal into a mechanical stimulus (eg, vibration or movement) or an electrical stimulus that the user can perceive through tactile or kinesthetic sense.
- the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
- the camera module 180 may capture still images and moving images. According to an embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
- the power management module 188 may manage power supplied to the electronic device 101 .
- the power management module 188 may be implemented as, for example, at least a part of a power management integrated circuit (PMIC).
- PMIC power management integrated circuit
- the battery 189 may supply power to at least one component of the electronic device 101 .
- battery 189 may include, for example, a non-rechargeable primary cell, a rechargeable secondary cell, or a fuel cell.
- the communication module 190 is a direct (eg, wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (eg, the electronic device 102, the electronic device 104, or the server 108). It can support establishment and communication performance through the established communication channel.
- the communication module 190 may include one or more communication processors that operate independently of the processor 120 (eg, an application processor) and support direct (eg, wired) communication or wireless communication.
- the communication module 190 is a wireless communication module 192 (eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (eg, : It may include a local area network (LAN) communication module, or a power line communication module).
- a wireless communication module 192 eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module
- GNSS global navigation satellite system
- wired communication module 194 eg, : It may include a local area network (LAN) communication module, or a power line communication module.
- a corresponding communication module among these communication modules is a first network 198 (eg, a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network 199 (eg, legacy It may communicate with the external electronic device 104 through a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (eg, a telecommunication network such as a LAN or a WAN).
- a first network 198 eg, a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)
- a second network 199 eg, legacy It may communicate with the external electronic device 104 through a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (eg, a telecommunication network such as a LAN or a WAN).
- a telecommunication network
- the wireless communication module 192 uses subscriber information (eg, International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 within a communication network such as the first network 198 or the second network 199 .
- subscriber information eg, International Mobile Subscriber Identifier (IMSI)
- IMSI International Mobile Subscriber Identifier
- the electronic device 101 may be identified or authenticated.
- the wireless communication module 192 may support a 5G network after a 4G network and a next-generation communication technology, for example, a new radio access technology (NR).
- NR access technology includes high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and access to multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency) -latency communications)).
- eMBB enhanced mobile broadband
- mMTC massive machine type communications
- URLLC ultra-reliable and low-latency
- the wireless communication module 192 may support a high frequency band (eg, mmWave band) to achieve a high data rate, for example.
- a high frequency band eg, mmWave band
- the wireless communication module 192 uses various techniques for securing performance in a high-frequency band, for example, beamforming, massive multiple-input and multiple-output (MIMO), all-dimensional multiplexing. It may support technologies such as full dimensional MIMO (FD-MIMO), an array antenna, analog beam-forming, or a large scale antenna.
- the wireless communication module 192 may support various requirements defined in the electronic device 101 , an external electronic device (eg, the electronic device 104 ), or a network system (eg, the second network 199 ).
- the wireless communication module 192 may include a peak data rate (eg, 20 Gbps or more) for realizing eMBB, loss coverage (eg, 164 dB or less) for realizing mMTC, or U-plane latency for realizing URLLC ( Example: Downlink (DL) and uplink (UL) each 0.5 ms or less, or round trip 1 ms or less) can be supported.
- a peak data rate eg, 20 Gbps or more
- loss coverage eg, 164 dB or less
- U-plane latency for realizing URLLC
- the antenna module 197 may transmit or receive a signal or power to the outside (eg, an external electronic device).
- the antenna module 197 may include an antenna including a conductor formed on a substrate (eg, a PCB) or a radiator formed of a conductive pattern.
- the antenna module 197 may include a plurality of antennas (eg, an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network such as the first network 198 or the second network 199 is connected from the plurality of antennas by, for example, the communication module 190 . can be selected. A signal or power may be transmitted or received between the communication module 190 and an external electronic device through the selected at least one antenna.
- other components eg, a radio frequency integrated circuit (RFIC)
- RFIC radio frequency integrated circuit
- the antenna module 197 may form a mmWave antenna module.
- the mmWave antenna module comprises a printed circuit board, an RFIC disposed on or adjacent to a first side (eg, underside) of the printed circuit board and capable of supporting a designated high frequency band (eg, mmWave band); and a plurality of antennas (eg, an array antenna) disposed on or adjacent to a second side (eg, top or side) of the printed circuit board and capable of transmitting or receiving signals of the designated high frequency band. can do.
- peripheral devices eg, a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
- GPIO general purpose input and output
- SPI serial peripheral interface
- MIPI mobile industry processor interface
- the command or data may be transmitted or received between the electronic device 101 and the external electronic device 104 through the server 108 connected to the second network 199 .
- Each of the external electronic devices 102 or 104 may be the same as or different from the electronic device 101 .
- all or part of the operations performed by the electronic device 101 may be executed by one or more external electronic devices 102 , 104 , or 108 .
- the electronic device 101 may perform the function or service itself instead of executing the function or service itself.
- one or more external electronic devices may be requested to perform at least a part of the function or the service.
- One or more external electronic devices that have received the request may execute at least a part of the requested function or service, or an additional function or service related to the request, and transmit a result of the execution to the electronic device 101 .
- the electronic device 101 may process the result as it is or additionally and provide it as at least a part of a response to the request.
- cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used.
- the electronic device 101 may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing.
- the external electronic device 104 may include an Internet of things (IoT) device.
- the server 108 may be an intelligent server using machine learning and/or neural networks.
- the external electronic device 104 or the server 108 may be included in the second network 199 .
- the electronic device 101 may be applied to an intelligent service (eg, smart home, smart city, smart car, or health care) based on 5G communication technology and IoT-related technology.
- the electronic device 101 may have various types of devices.
- the electronic device 101 may include, for example, a portable communication device (eg, a smartphone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance device.
- a portable communication device eg, a smartphone
- a computer device e.g., a laptop, a desktop, a tablet, or a smart bracelet
- a portable multimedia device e.g., a portable medical device
- a camera e.g., a portable medical device
- a camera e.g., a portable medical device
- a wearable device e.g., a portable medical device
- a home appliance device e.g., a portable medical device, a portable medical device, a camera, a wearable device, or a home appliance device.
- the electronic device 101 according to the embodiment of this document is not limited to the above-described devices.
- first, second, or first or second may simply be used to distinguish an element from other elements in question, and may refer elements to other aspects (e.g., importance or order) is not limited. It is said that one (eg, first) component is “coupled” or “connected” to another (eg, second) component, with or without the terms “functionally” or “communicatively”. When referenced, it means that one component can be connected to the other component directly (eg by wire), wirelessly, or through a third component.
- module used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and is interchangeable with terms such as, for example, logic, logic block, component, or circuit.
- a module may be an integrally formed part or a minimum unit or a part of the part that performs one or more functions.
- the module may be implemented in the form of an application-specific integrated circuit (ASIC).
- ASIC application-specific integrated circuit
- Various embodiments of the present document include one or more instructions stored in a storage medium (eg, internal memory 136 or external memory 138) readable by a machine (eg, electronic device 101).
- a storage medium eg, internal memory 136 or external memory 138
- the processor eg, the processor 120
- the device eg, the electronic device 101
- the one or more instructions may include code generated by a compiler or code executable by an interpreter.
- the device-readable storage medium may be provided in the form of a non-transitory storage medium.
- 'non-transitory' only means that the storage medium is a tangible device and does not contain a signal (eg, electromagnetic wave), and this term is used in cases where data is semi-permanently stored in the storage medium and It does not distinguish between temporary storage cases.
- a signal eg, electromagnetic wave
- the method according to various embodiments disclosed in this document may be provided in a computer program product (computer program product).
- Computer program products may be traded between sellers and buyers as commodities.
- the computer program product is distributed in the form of a device-readable storage medium (eg compact disc read only memory (CD-ROM)), or via an application store (eg Play StoreTM) or on two user devices ( It can be distributed (eg downloaded or uploaded) directly, online between smartphones (eg: smartphones).
- a portion of the computer program product may be temporarily stored or temporarily created in a machine-readable storage medium such as a memory of a server of a manufacturer, a server of an application store, or a relay server.
- each component eg, a module or a program of the above-described components may include a singular or a plurality of entities, and some of the plurality of entities may be separately disposed in other components. have.
- one or more components or operations among the above-described corresponding components may be omitted, or one or more other components or operations may be added.
- a plurality of components eg, a module or a program
- the integrated component may perform one or more functions of each component of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. .
- operations performed by a module, program, or other component are executed sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations are executed in a different order, or omitted. , or one or more other operations may be added.
- FIG. 2 is a schematic block diagram of an electronic device according to various embodiments of the present disclosure.
- FIG. 3 is a diagram for explaining a configuration of a virtual object according to various embodiments of the present disclosure.
- an electronic device 200 (eg, electronic device 101 ) includes a camera module 210 (eg, camera module 180 ) and a display module 220 (eg, display module 160 ). , a processor 230 (eg, the processor 120 ) and a memory 240 (eg, the memory 130 ).
- a camera module 210 eg, camera module 180
- a display module 220 eg, display module 160
- a processor 230 eg, the processor 120
- a memory 240 eg, the memory 130
- the electronic device 200 may be implemented as having more or fewer than those shown in FIG. 2 .
- the electronic device 200 may be configured to include an input module (eg, a touch panel, a hard key, a proximity sensor, a biometric sensor, etc.) or a power supply unit.
- the camera module 210 may include a user's appearance (eg, at least one of a user's face, body, or an accessory worn by the user), a landscape, an animal, a plant, or an object in the real world (reality).
- the first image of the object may be obtained.
- the camera module 210 may acquire the first image based on a predetermined request (eg, a request to execute an augmented reality application).
- the electronic device 200 may include a plurality of camera modules 210 each having different properties or functions.
- at least one of the plurality of camera modules 210 may be a wide-angle camera, and at least the other may be a telephoto camera.
- At least one of the plurality of camera modules 210 may be a front camera, and at least the other may be a rear camera. However, this is only an example, and the present document is not limited thereto.
- the plurality of camera modules 210 may be provided together on the same surface of the electronic device 200 .
- the display module 220 may display various contents (eg, an application execution screen, etc.) based on the control of the processor 230 . At least some of the displayed contents may include a first image acquired through the camera module 210 and a virtual object that can be applied (or synthesized) to the first image.
- the electronic device 200 may include at least one display module 220 .
- the at least one display module 220 may include a flat display, a curved display (or bent display) that can be bent, bent, or rolled without damage through a thin and flexible substrate such as paper. It may include a flexible display that can be freely bent and unfolded.
- the virtual object may be composed of a plurality of sub-objects displayed through the display module 220 .
- Each sub-object may include at least one of text, an icon, or an image, but this is only an example and the present document is not limited thereto.
- some configurations of sub-objects eg, each stroke constituting text
- the first sub-object 301 , the second sub-object 303 , the third sub-object 305 , and the fourth sub-object 307 are the virtual objects 300 .
- Each of these sub-objects 301 to 307 is configured in the form of each independent layer, and each of these layers may be overlaid to create the virtual object 300 .
- each of the sub-objects 301 to 307 may be independently applied to the first image with different positions, sizes, and application time points.
- the virtual object 300 may be composed of sub-objects having a depth based on any one sub-object. For example, as shown in FIG.
- a first sub-object 301, a second sub-object 303 having a first depth (eg, d1) with respect to the first sub-object 301, a second A third sub-object 305 having a second depth (eg, d2) and a fourth sub-object 307 having a third depth (eg, d3) may be provided as a configuration of the virtual object 300 . Accordingly, each of the sub-objects 301 to 307 may be applied to the first image to have different depths, for example, a sense of perspective based on the depth information.
- the processor 230 may control various components of the electronic device 200 .
- the processor 230 may be operatively connected to the camera module 210 , the display module 220 , and the memory 240 .
- the processor 230 may apply each of a plurality of sub-objects configured in the virtual object to the first image.
- the processor 230 detects an input for selecting at least one sub-object among a plurality of sub-objects constituting the virtual object, and the selected sub-object is applied to a partial region in the first image corresponding to the input. You can create an image.
- the processor 230 may display a list of virtual objects through the display module 220 while the first image is displayed, and receive an input for selecting the virtual object. Also, when receiving an input for selecting a virtual object, the processor 230 may display a list of a plurality of sub-objects constituting the selected virtual object through the display module 220 .
- the list of a plurality of sub-objects may be displayed to overlap with at least a part of the first image, but the present document is not limited thereto. For example, a list of a plurality of sub-objects may be displayed separately from the first image.
- the processor 230 may store the first image and the second image generated by the sub-object inside the electronic device 200 (eg, the memory 240) or an external electronic device (eg, the electronic device 102). ), the electronic device 104 , or the server 108).
- the memory 240 may store commands or data related to at least one other component of the electronic device 200 .
- the memory 240 may store at least one virtual object that can be applied (or synthesized) to the first image (or real object) displayed on the display module 220 .
- the memory 240 may store the first image and the second image generated based on the virtual object.
- the memory 240 may include at least one program module.
- the program module may include the program 140 of FIG. 1 .
- the at least one program module may include a display module 242 and a generation module 244 .
- at least one of the above-described modules may be excluded from the configuration of the memory 240 , and conversely, other modules in addition to the above-described modules may be added to the configuration of the memory 240 .
- some of the above-described modules may be integrated into other modules.
- the display module 242 may include a command to display the first image, the virtual object, and sub-objects constituting the virtual object.
- the generating module 244 may include a command to generate a second image based on the first image and the virtual object.
- 4A is a diagram illustrating a situation in which a virtual object is applied to a real object in an electronic device according to various embodiments of the present disclosure
- 4B is a view for explaining a result of applying a virtual object to a real object in an electronic device according to various embodiments of the present disclosure.
- the electronic device 200 may execute an augmented reality function.
- the electronic device 200 may drive the camera module 210 for acquiring the first image of the real object in response to the execution of the augmented reality function.
- the electronic device 200 may process the augmented reality function execution based on the user's request to execute the augmented reality application.
- the electronic device 200 when the augmented reality function is executed, the electronic device 200 provides a menu area 410 that provides an object related to the setting of the camera module 210; A user interface including a control area 420 providing an object related to control of a specific function and an augmented reality screen 430 may be output.
- the menu area 410 may be disposed at the top of the user interface.
- the menu area 410 includes an object 412 for setting an augmented reality function, an object 414 for setting an operation of a flash, an object 416 for setting a timer shooting, and an object for setting a ratio of a shooting screen (418) and the like.
- a control area 420 may be disposed at the bottom of the user interface.
- the control area 420 includes an object 422 that controls entry into a mode for checking a stored image, an object 424 that controls to acquire a preview image, and an operation (eg, front side) of the camera module 210 for acquiring an image. It may include an object 426 for controlling a camera module operation or a rear camera module operation).
- the augmented reality screen 430 may be disposed between an upper end (eg, the menu area 410 ) and a lower end (eg, the control area 420 ) of the user interface.
- the augmented reality screen 430 may be a real-time preview image acquired through the camera module 210 .
- this is only an example, and the present document is not limited thereto.
- the aforementioned menu area 410 and the control area 420 may be disposed on the left and right sides of the user interface or may be overlaid on at least a portion of the augmented reality screen 430 with a certain degree of transparency.
- the menu area 410 and the control area 420 may include objects other than the above-described objects.
- the electronic device 200 may display a list 440 for virtual objects (eg, a forest theme, a space theme, etc.). As shown, the list 440 for the virtual object may be displayed together with the first image acquired through the camera module 210 . According to an embodiment, the electronic device 200 may display the list 440 of the virtual object in response to receiving a predetermined user input. However, this is only an example, and the present document is not limited thereto.
- the list 400 for the virtual object may be automatically displayed in response to the display of the first image.
- the list 440 for the virtual object may be displayed before the first image is displayed or after the display of the first image is finished.
- the electronic device 200 when an input for selecting one virtual object (eg, a forest theme) 442 from the list 440 is detected, the electronic device 200 as shown in (b) of FIG. 4A , The sub-objects 450 constituting the selected virtual object may be displayed.
- the electronic device 200 may display guide information on a sub-object that can be applied to the first image.
- the virtual object may include a plurality of sub-objects (eg, the first sub-object 301 to the fourth sub-object 307 ).
- the electronic device 200 may display only some sub-objects (eg, the second sub-object 303 ) corresponding to a predetermined number among the plurality of sub-objects as guide information on the screen.
- the electronic device 200 may display all of the plurality of sub-objects as guide information on the screen. Accordingly, the user can easily select a sub-object applicable to the first image through guide information on the sub-object displayed on the screen. According to an embodiment, the electronic device 200 may output guide information on a sub-object in response to receiving a predetermined user input or automatically display guide information on a sub-object in response to selection of a virtual object. may be
- the electronic device 200 may generate a second image based on the selected sub-object and the first image as shown in (c) of FIG. 4A.
- the electronic device 200 monitors a change in a position of an input for selecting a sub-object, determines a position in the first image to which the sub-object is to be applied, and generates a second image 460 in which the sub-object is applied ( 462 ) to the determined position. can do.
- the electronic device 200 may determine the location of the selected sub-object in the first image based on depth information of the selected sub-object. In this case, the electronic device 200 may convert the sub-object displayed as guide information into another sub-object ( 470 ).
- the electronic device 200 may display another sub-object (eg, the first sub-object 301) that is not applied to the first image as guide information.
- a sub-object applied to the first image may also be displayed as guide information.
- the sub-object displayed as the guide information is converted into another sub-object ( 470)
- the electronic device 200 may convert a sub-object displayed as guide information into another sub-object (470).
- a desired sub-object among a plurality of sub-objects constituting the virtual object may be selected through input, in this case, the display position of the sub-object selected by the user may be different from the display position of other sub-objects based on the depth information. have.
- the electronic device 200 may apply a first image to each sub-object constituting the virtual object to enable creation of content expressing a user's unique personality. For example, even if the user uses the same virtual object, the position of each sub-object (eg, sub-objects 301 to 307) is placed in the first part (eg, upper left) of the first image as shown in FIG.
- the arranged second image 480 can be created, and as shown in FIG. 4B (b), a part of the sub-object (eg, sub-objects 303 and 307) is placed on the first part (eg, upper left) of the first image. It is also possible to generate a second image 490 in which other parts of the sub-objects (eg, sub-objects 301 and 305) are arranged in a second part (eg, lower left corner) of the first image.
- the electronic device 200 may provide a list of virtual objects and a list of sub-objects for the virtual objects together with the first image.
- the electronic device 200 may omit providing the list of virtual objects and display at least one pre-designated sub-object (eg, a default sub-object) while the first image is displayed.
- the electronic device (eg, the electronic device 200) according to various embodiments includes at least one camera module (eg, the camera module 210), at least one display module (eg, the display module 220), and a depth. ) a memory (eg, memory 240) for storing a virtual object consisting of a plurality of sub-objects having (230)).
- the processor outputs a first image of a real object obtained through the at least one camera module, outputs a list of the virtual objects applicable to the first image, and the list
- the sub-objects constituting the selected virtual object may be output, and at least one sub-object selected from among the sub-objects may be set to generate a second image applied to the first image.
- the processor outputs a first sub-object composed of some of the sub-objects, and when at least one sub-object of the first sub-objects is applied to the first image, another one of the sub-objects is applied to the first image. It may be set to output a second sub-object composed of a part.
- the processor outputs a sub-object of a first type when a first object designated in the first image is recognized, and when a second object designated in the first image is recognized, a second type of sub-object is recognized in the first image. It can be set to output sub-objects.
- the sub-object of the first type may be composed of one sub-object
- the sub-object of the second type may be composed of a plurality of sub-objects.
- the processor may be configured to display the sub-object of the first type by overlapping at least a part of the designated first object.
- the first designated object may include at least one of a human body part or an animal body part
- the second designated object may include at least one of a landscape, a plant, or an object.
- the processor may be configured to check a depth of the selected at least one sub-object and apply the selected at least one sub-object to the first image based on the depth
- the processor when the selected at least one sub-object is applied to a designated first object of the first image, the processor obtains first state information related to the movement of the first object, and Based on the state information, it may be set to apply an effect to at least one sub-object applied to the designated first object.
- the designated first object may include at least one of a human body part and an animal body part.
- the processor may be configured to obtain, when the selected at least one sub-object is applied to a designated second object of the first image, obtain the posture and second state information of the electronic device, and the second state information Based on , it may be set to apply an effect to the specified second object and at least one sub-object applied to the second object.
- the designated second object may include at least one of a landscape, a plant, or an object.
- the processor may be configured to differently set a position, size, or application time point for each sub-object configured in the selected virtual object.
- the processor may be configured to store the generated second image in the electronic device or an external electronic device.
- the electronic device (eg, the electronic device 200) according to various embodiments includes at least one camera module (eg, the camera module 210), at least one display module (eg, the display module 220), and a depth. ) a memory (eg, memory 240) for storing a virtual object composed of a plurality of sub-objects having (230)).
- the processor acquires a first image of a real object obtained through the at least one camera module, and the first image according to a depth of at least one sub-object applicable to the first image It may be configured to determine a position of the at least one sub-object in , generate a second image by synthesizing the at least one sub-object whose position has been determined with the first image, and output the second image.
- FIG. 5 is a flowchart illustrating an operation of applying a virtual object to a real object in an electronic device according to various embodiments of the present disclosure
- the electronic device 200 may execute an augmented reality function and display a first image of a real object.
- the first image may be acquired through the camera module 210 driven in response to the execution of the augmented reality function.
- the electronic device 200 may process the augmented reality function execution based on the user's request to execute the augmented reality application.
- the electronic device 200 may output a virtual object list in operation 520 . According to an embodiment, the electronic device 200 may output a list of virtual objects applicable to the first image.
- the electronic device 200 may select at least one virtual object to be applied to the first image based on the input to the list.
- the input for selecting the virtual object may include a touch input using an electronic pen or a part of the user's body, a gesture input, a proximity input, and a hovering input, but the present document is not limited thereto.
- a virtual object may be selected through input of a hard key.
- the electronic device 200 may output a sub-object configured in the selected virtual object.
- the virtual object may be composed of a plurality of sub-objects, and each sub-object may be composed of an independent layer type.
- the electronic device 200 may display only some of the plurality of sub-objects on the screen or display all of the plurality of sub-objects at once.
- the electronic device 200 may display the second image based on the first image and at least one sub-object selected by the input.
- the electronic device 200 monitors a position change of an input for selecting a sub-object to determine a position in a first image to which the sub-object is to be applied, and generates a second image to which the sub-object is applied to the determined position.
- 6A is a flowchart illustrating an operation of displaying a sub-object in an electronic device according to various embodiments of the present disclosure
- 6B is a diagram for explaining a situation in which a sub-object is displayed according to various embodiments of the present disclosure
- the operations of FIG. 6A described below may represent various embodiments of operation 540 of FIG. 5 .
- the electronic device 200 may display at least one sub-object 650 in operation 610 .
- the virtual object may include a plurality of sub-objects, and the electronic device 200 may display some sub-objects among the plurality of sub-objects through the display module 220 .
- the electronic device 200 may additionally or selectively provide information 660 indicating the progress of the display of the sub-object as shown in FIG. 6B .
- the information may mean a display order (eg, a depth order) of a currently displayed sub-object among sub-objects included in the virtual object. For example, as shown in FIG.
- the electronic device 200 provides information (eg, a shaded box) 672 indicating that a second sub-object among four sub-objects included in the virtual object is currently being displayed. ) can be provided. Such information may be displayed together with the thumbnail image 670 in which the horizontal and vertical sizes of the virtual object are reduced or the resolution of the virtual object is reduced. As another example, the electronic device 200 may provide information indicating the progress level of the display of the sub-object. For example, as shown in FIG. 6B , the electronic device 200 displays 30% of the thumbnail image 680 of the virtual object when the display progresses for the sub-object corresponding to 30% of the sub-objects included in the virtual object. may be shaded (682). Also, when all sub-objects are currently displayed with respect to the virtual object, the electronic device 200 may shade the entire thumbnail image of the virtual object. Accordingly, the user can easily select a sub-object applicable to the first image.
- information eg, a shaded box
- the electronic device 200 may shade the entire thumbnail image of the virtual object. Accordingly
- the electronic device 200 may apply the sub-object to the first image based on the input.
- the electronic device 200 may select a sub-object to be applied to the first image based on a position where an input (eg, a touch input) is sensed.
- the electronic device 200 may detect a change in a position of an input (eg, a drag input) to determine a position in the first image to which the sub-object is to be applied.
- the electronic device 200 may display the second image to which the sub-object is applied.
- the electronic device 200 may display another sub-object in operation 640 .
- the other displayed sub-object may be at least one of sub-objects that may be additionally applied to the second image, as described above with reference to FIG. 4A . These other sub-objects may be displayed together with the second image.
- FIG. 7 is a flowchart illustrating another operation of displaying a sub-object in an electronic device according to various embodiments of the present disclosure
- 8 is another diagram for explaining the configuration of a virtual object according to various embodiments
- FIG. 9 is a diagram for explaining a situation of displaying sub-objects according to various embodiments.
- the operations of FIG. 7 described below may represent various embodiments of operation 540 of FIG. 5 .
- the electronic device 200 may analyze a first image in operation 710 .
- the electronic device 200 may recognize an object in the real world by performing an image analysis operation on the first image acquired through the camera module 210 .
- the electronic device 200 may determine whether a first designated object or a second designated object is recognized as a result of the first image analysis.
- the first designated object may include a human body part (eg, face, hand, etc.) or an animal's body part (eg, face, leg, tail, etc.), and the second designated object may include a landscape, plant, object, etc. , may include objects other than the first designated object.
- the electronic device 200 may display the second type of sub-object in operation 730 .
- the virtual object 800 may be composed of a first type of sub-object 810 composed of a plurality of layers (or sub-objects), and each of the first type sub-objects 810 . may be composed of the sub-object 820 of the second type composed of a single layer.
- the first-type sub-object 810 includes a first-type sub-object 812 composed of a first layer 301 and a fourth layer 307, a second layer 303 and a third layer ( 305) and may be composed of a sub-object 814 of the first type.
- the second type sub-object 820 includes a second type sub-object 822 composed of a first layer 301 , a second type sub-object 824 composed of a second layer 307 , and a third It may be composed of a second type sub-object 826 composed of a layer 303 and a second type sub-object 828 composed of a fourth layer 305 .
- the electronic device 200 may display the sub-object of the second type configured as a single layer together with the first image, based on the recognition of the first designated object.
- the second type sub-object configured as a single layer may overlap at least a portion of the first designated object 910 to be displayed 912 .
- the sub-object of the second type may be displayed adjacent to the first designated object.
- the electronic device 200 may display the first type of sub-object in operation 740 . Based on the recognition of the second designated object, the electronic device 200 may display the sub-object of the first type including a plurality of layers together with the first image. For example, as shown in FIG. 9A , the second type sub-object composed of a plurality of layers is displayed in an empty space where the second designated object is not displayed in the first image 900 ( 902 ). can be However, this is only an example, and the present document is not limited thereto.
- the sub-object of the first type may be displayed to overlap at least a part of the second designated object.
- FIG. 10 is a flowchart illustrating an operation of displaying a real object to which a sub-object is applied in an electronic device according to various embodiments of the present disclosure
- 11A is a diagram for explaining a situation in which an effect is applied to a sub-object based on state information related to an electronic device
- FIG. 11B is a diagram illustrating a situation in which an effect is applied to a sub-object based on state information related to an object It is a drawing for The operations of FIG. 10 described below may represent various embodiments of operation 550 of FIG. 5 .
- the electronic device 200 may determine, in operation 1010 , whether a sub-object is applied to a first designated object or a second designated object.
- the first designated object may include a human face
- the second designated object may include the rest except for the first designated object, such as a landscape, an animal, a plant, or an object.
- the electronic device 200 may recognize an object in the first image using an object recognition algorithm.
- the electronic device 200 may acquire first state information related to the object in operation 1020 .
- the first state information may be related to a motion of an object in the first image.
- the electronic device 200 may detect the movement of the object recognized in the first image by using an object tracking algorithm.
- the electronic device 200 may apply an effect to the sub-object based on the first state information. For example, as shown in (a) of FIG. 11B , the sub-object may be applied to the first designated object, and as shown in (a) of FIG. 11B , the sub-object applied to the first designated object is also a first designated object.
- the object may be moved and displayed in response to the movement of the object.
- the electronic device 200 may acquire second state information related to the electronic device 200 in operation 1040 .
- the second state information may be related to the posture of the electronic device 200 .
- the electronic device 200 may monitor the posture of the electronic device 200 , and posture information of the electronic device 200 (eg, pitch, roll, yaw, etc.) A change in state (eg, the posture of the electronic device 200 ) may be detected based on the change in .
- the electronic device 200 may apply an effect to the sub-object based on the state of the electronic device 200 . For example, as shown in (a) of FIG.
- the sub-object may be applied to the second designated object, and as shown in (a) of FIG. 11B , the second designated object and the sub-object are also the electronic device 200 ) may be displayed by performing perspective transformation corresponding to the state of the .
- FIG. 12 is a flowchart illustrating another operation of applying a virtual object to a real object in an electronic device according to various embodiments of the present disclosure
- an electronic device 1202 (eg, electronic device 200 ) is virtualized from an external electronic device 1204 (eg, electronic device 102 , electronic device 104 , or server 108 ). object can be provided.
- an external electronic device 1204 eg, electronic device 102 , electronic device 104 , or server 108 .
- the electronic device 1202 may execute an augmented reality function in operation 1210 and display a first image of a real object.
- the first image may be acquired through the camera module 210 driven in response to the execution of the augmented reality function.
- the electronic device 1202 may request a virtual object from the external electronic device 1204 in operation 1220 .
- the electronic device 1202 may perform an operation of communicating with the external electronic device 1204 through a first network (eg, a short-range wireless communication network) or a second network (eg, a long-range wireless communication network). .
- a first network eg, a short-range wireless communication network
- a second network eg, a long-range wireless communication network
- the external electronic device 1204 may transmit at least one virtual object to the electronic device 1202 in operation 1230 .
- the electronic device 1202 may output a virtual object list in operation 1240 .
- the electronic device 1202 may output a list of virtual objects provided from the external electronic device 1204 . In this case, if there is a pre-stored virtual object in the electronic device 1202 , the electronic device 1202 may also output a list of the stored virtual objects.
- the electronic device 1202 may select at least one virtual object to be applied to the first image based on the input to the list.
- the electronic device 1202 may output a sub-object configured in the selected virtual object.
- the virtual object may be composed of a plurality of sub-objects, and each sub-object may be composed of an independent layer type.
- the electronic device 1202 may display only some of the plurality of sub-objects on the screen or display all of the plurality of sub-objects at once.
- the electronic device 1202 may display the second image based on the first image and at least one sub-object selected by the input.
- the electronic device 1202 monitors a change in a position of an input for selecting a sub-object, determines a position in a first image to which the sub-object is to be applied, and generates a second image to which the sub-object is applied to the determined position.
- a method of operating an electronic device includes an operation of outputting a first image of a real object and a list of virtual objects including a plurality of sub-objects having a depth. an operation of outputting, an operation of receiving an input for selecting at least one virtual object applicable to the first image, an operation of outputting sub-objects constituting the virtual object selected by the input, and at least one selected from the sub-objects and generating a second image applied to the first image by a sub-object of .
- the method of operating the electronic device includes outputting a first sub-object composed of some of the sub-objects, and when at least one sub-object of the first sub-object is applied to the first image, the sub-object
- the operation may include outputting a second sub-object composed of another part of the objects.
- a method of operating an electronic device includes outputting a sub-object of a first type when a first object designated in the first image is recognized, and when a second object designated in the first image is recognized, It may include an operation of outputting the second type of sub-object.
- the sub-object of the first type may be composed of one sub-object
- the sub-object of the second type may be composed of a plurality of sub-objects.
- the method of operating the electronic device may include displaying the sub-object of the first type by overlapping at least a part of the designated first object.
- the first designated object may include at least one of a human body part or an animal body part
- the second designated object may include at least one of a landscape, a plant, or an object.
- a method of operating an electronic device may include checking a depth of the selected at least one sub-object and applying the selected at least one sub-object to the first image based on the depth.
- a method of operating an electronic device includes: when the selected at least one sub-object is applied to a designated first object of the first image, obtaining first state information related to the movement of the first object; and applying an effect to at least one sub-object applied to the designated first object based on the first state information.
- the designated first object may include at least one of a human body part and an animal body part.
- the method of operating an electronic device may include obtaining posture and second state information of the electronic device when the selected at least one sub-object is applied to a designated second object of the first image; and applying an effect to the specified second object and at least one sub-object applied to the second object based on the second state information.
- the designated second object may include at least one of a landscape, a plant, or an object.
- the method of operating the electronic device may include differently setting a location, size, or application time point for each sub-object included in the selected virtual object.
- FIG. 1 is a block diagram of an electronic device 101 in a network environment 100 according to various embodiments of the present disclosure.
- an electronic device 101 communicates with an electronic device 102 through a first network 198 (eg, a short-range wireless communication network) or a second network 199 . It may communicate with at least one of the electronic device 104 and the server 108 through (eg, a long-distance wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108 .
- a first network 198 eg, a short-range wireless communication network
- a second network 199 e.g., a second network 199
- the electronic device 101 may communicate with the electronic device 104 through the server 108 .
- the electronic device 101 includes a processor 120 , a memory 130 , an input module 150 , a sound output module 155 , a display module 160 , an audio module 170 , and a sensor module ( 176), interface 177, connection terminal 178, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196 , or an antenna module 197 .
- at least one of these components eg, the connection terminal 178
- some of these components are integrated into one component (eg, display module 160 ). can be
- the processor 120 for example, executes software (eg, a program 140) to execute at least one other component (eg, a hardware or software component) of the electronic device 101 connected to the processor 120. It can control and perform various data processing or operations. According to one embodiment, as at least part of data processing or computation, the processor 120 converts commands or data received from other components (eg, the sensor module 176 or the communication module 190 ) to the volatile memory 132 . may be stored in , process commands or data stored in the volatile memory 132 , and store the result data in the non-volatile memory 134 .
- software eg, a program 140
- the processor 120 converts commands or data received from other components (eg, the sensor module 176 or the communication module 190 ) to the volatile memory 132 .
- the volatile memory 132 may be stored in , process commands or data stored in the volatile memory 132 , and store the result data in the non-volatile memory 134 .
- the processor 120 is a main processor 121 (eg, a central processing unit or an application processor) or a secondary processor 123 (eg, a graphic processing unit, a neural network processing unit) a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor).
- a main processor 121 eg, a central processing unit or an application processor
- a secondary processor 123 eg, a graphic processing unit, a neural network processing unit
- NPU neural processing unit
- an image signal processor e.g., a sensor hub processor, or a communication processor.
- the secondary processor 123 may, for example, act on behalf of the main processor 121 while the main processor 121 is in an inactive (eg, sleep) state, or when the main processor 121 is active (eg, executing an application). ), together with the main processor 121, at least one of the components of the electronic device 101 (eg, the display module 160, the sensor module 176, or the communication module 190) It is possible to control at least some of the related functions or states.
- the coprocessor 123 eg, an image signal processor or a communication processor
- may be implemented as part of another functionally related component eg, the camera module 180 or the communication module 190. have.
- the auxiliary processor 123 may include a hardware structure specialized for processing an artificial intelligence model.
- Artificial intelligence models can be created through machine learning. Such learning may be performed, for example, in the electronic device 101 itself on which the artificial intelligence model is performed, or may be performed through a separate server (eg, the server 108).
- the learning algorithm may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but in the above example not limited
- the artificial intelligence model may include a plurality of artificial neural network layers.
- Artificial neural networks include deep neural networks (DNNs), convolutional neural networks (CNNs), recurrent neural networks (RNNs), restricted boltzmann machines (RBMs), deep belief networks (DBNs), bidirectional recurrent deep neural networks (BRDNNs), It may be one of deep Q-networks or a combination of two or more of the above, but is not limited to the above example.
- the artificial intelligence model may include, in addition to, or alternatively, a software structure in addition to the hardware structure.
- the memory 130 may store various data used by at least one component (eg, the processor 120 or the sensor module 176 ) of the electronic device 101 .
- the data may include, for example, input data or output data for software (eg, the program 140 ) and instructions related thereto.
- the memory 130 may include a volatile memory 132 or a non-volatile memory 134 .
- the program 140 may be stored as software in the memory 130 , and may include, for example, an operating system 142 , middleware 144 , or an application 146 .
- the input module 150 may receive a command or data to be used by a component (eg, the processor 120 ) of the electronic device 101 from the outside (eg, a user) of the electronic device 101 .
- the input module 150 may include, for example, a microphone, a mouse, a keyboard, a key (eg, a button), or a digital pen (eg, a stylus pen).
- the sound output module 155 may output a sound signal to the outside of the electronic device 101 .
- the sound output module 155 may include, for example, a speaker or a receiver.
- the speaker can be used for general purposes such as multimedia playback or recording playback.
- the receiver can be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from or as part of the speaker.
- the display module 160 may visually provide information to the outside (eg, a user) of the electronic device 101 .
- the display module 160 may include, for example, a control circuit for controlling a display, a hologram device, or a projector and a corresponding device.
- the display module 160 may include a touch sensor configured to sense a touch or a pressure sensor configured to measure the intensity of a force generated by the touch.
- the audio module 170 may convert a sound into an electric signal or, conversely, convert an electric signal into a sound. According to an embodiment, the audio module 170 acquires a sound through the input module 150 or an external electronic device (eg, a sound output module 155 ) directly or wirelessly connected to the electronic device 101 . The sound may be output through the electronic device 102 , a speaker or headphones, etc.).
- an external electronic device eg, a sound output module 155
- the sound may be output through the electronic device 102 , a speaker or headphones, etc.
- the sensor module 176 detects an operating state (eg, power or temperature) of the electronic device 101 or an external environmental state (eg, a user state), and generates an electrical signal or data value corresponding to the sensed state. can do.
- the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, a humidity sensor, or an illuminance sensor.
- the interface 177 may support one or more specified protocols that may be used by the electronic device 101 to directly or wirelessly connect with an external electronic device (eg, the electronic device 102 ).
- the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
- the connection terminal 178 may include a connector through which the electronic device 101 can be physically connected to an external electronic device (eg, the electronic device 102 ).
- the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
- the haptic module 179 may convert an electrical signal into a mechanical stimulus (eg, vibration or movement) or an electrical stimulus that the user can perceive through tactile or kinesthetic sense.
- the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
- the camera module 180 may capture still images and moving images. According to an embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
- the power management module 188 may manage power supplied to the electronic device 101 .
- the power management module 188 may be implemented as, for example, at least a part of a power management integrated circuit (PMIC).
- PMIC power management integrated circuit
- the battery 189 may supply power to at least one component of the electronic device 101 .
- battery 189 may include, for example, a non-rechargeable primary cell, a rechargeable secondary cell, or a fuel cell.
- the communication module 190 is a direct (eg, wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (eg, the electronic device 102, the electronic device 104, or the server 108). It can support establishment and communication performance through the established communication channel.
- the communication module 190 may include one or more communication processors that operate independently of the processor 120 (eg, an application processor) and support direct (eg, wired) communication or wireless communication.
- the communication module 190 is a wireless communication module 192 (eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (eg, : It may include a local area network (LAN) communication module, or a power line communication module).
- a wireless communication module 192 eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module
- GNSS global navigation satellite system
- wired communication module 194 eg, : It may include a local area network (LAN) communication module, or a power line communication module.
- a corresponding communication module among these communication modules is a first network 198 (eg, a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network 199 (eg, legacy It may communicate with the external electronic device 104 through a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (eg, a telecommunication network such as a LAN or a WAN).
- a first network 198 eg, a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)
- a second network 199 eg, legacy It may communicate with the external electronic device 104 through a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (eg, a telecommunication network such as a LAN or a WAN).
- a telecommunication network
- the wireless communication module 192 uses subscriber information (eg, International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 within a communication network such as the first network 198 or the second network 199 .
- subscriber information eg, International Mobile Subscriber Identifier (IMSI)
- IMSI International Mobile Subscriber Identifier
- the electronic device 101 may be identified or authenticated.
- the wireless communication module 192 may support a 5G network after a 4G network and a next-generation communication technology, for example, a new radio access technology (NR).
- NR access technology includes high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and access to multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency) -latency communications)).
- eMBB enhanced mobile broadband
- mMTC massive machine type communications
- URLLC ultra-reliable and low-latency
- the wireless communication module 192 may support a high frequency band (eg, mmWave band) to achieve a high data rate, for example.
- a high frequency band eg, mmWave band
- the wireless communication module 192 uses various techniques for securing performance in a high-frequency band, for example, beamforming, massive multiple-input and multiple-output (MIMO), all-dimensional multiplexing. It may support technologies such as full dimensional MIMO (FD-MIMO), an array antenna, analog beam-forming, or a large scale antenna.
- the wireless communication module 192 may support various requirements defined in the electronic device 101 , an external electronic device (eg, the electronic device 104 ), or a network system (eg, the second network 199 ).
- the wireless communication module 192 may include a peak data rate (eg, 20 Gbps or more) for realizing eMBB, loss coverage (eg, 164 dB or less) for realizing mMTC, or U-plane latency for realizing URLLC ( Example: Downlink (DL) and uplink (UL) each 0.5 ms or less, or round trip 1 ms or less) can be supported.
- a peak data rate eg, 20 Gbps or more
- loss coverage eg, 164 dB or less
- U-plane latency for realizing URLLC
- the antenna module 197 may transmit or receive a signal or power to the outside (eg, an external electronic device).
- the antenna module 197 may include an antenna including a conductor formed on a substrate (eg, a PCB) or a radiator formed of a conductive pattern.
- the antenna module 197 may include a plurality of antennas (eg, an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network such as the first network 198 or the second network 199 is connected from the plurality of antennas by, for example, the communication module 190 . can be selected. A signal or power may be transmitted or received between the communication module 190 and an external electronic device through the selected at least one antenna.
- other components eg, a radio frequency integrated circuit (RFIC)
- RFIC radio frequency integrated circuit
- the antenna module 197 may form a mmWave antenna module.
- the mmWave antenna module comprises a printed circuit board, an RFIC disposed on or adjacent to a first side (eg, underside) of the printed circuit board and capable of supporting a designated high frequency band (eg, mmWave band); and a plurality of antennas (eg, an array antenna) disposed on or adjacent to a second side (eg, top or side) of the printed circuit board and capable of transmitting or receiving signals of the designated high frequency band. can do.
- peripheral devices eg, a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
- GPIO general purpose input and output
- SPI serial peripheral interface
- MIPI mobile industry processor interface
- the command or data may be transmitted or received between the electronic device 101 and the external electronic device 104 through the server 108 connected to the second network 199 .
- Each of the external electronic devices 102 or 104 may be the same as or different from the electronic device 101 .
- all or part of the operations performed by the electronic device 101 may be executed by one or more external electronic devices 102 , 104 , or 108 .
- the electronic device 101 may perform the function or service itself instead of executing the function or service itself.
- one or more external electronic devices may be requested to perform at least a part of the function or the service.
- One or more external electronic devices that have received the request may execute at least a part of the requested function or service, or an additional function or service related to the request, and transmit a result of the execution to the electronic device 101 .
- the electronic device 101 may process the result as it is or additionally and provide it as at least a part of a response to the request.
- cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used.
- the electronic device 101 may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing.
- the external electronic device 104 may include an Internet of things (IoT) device.
- the server 108 may be an intelligent server using machine learning and/or neural networks.
- the external electronic device 104 or the server 108 may be included in the second network 199 .
- the electronic device 101 may be applied to an intelligent service (eg, smart home, smart city, smart car, or health care) based on 5G communication technology and IoT-related technology.
- the electronic device 101 may have various types of devices.
- the electronic device 101 may include, for example, a portable communication device (eg, a smartphone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance device.
- a portable communication device eg, a smartphone
- a computer device e.g., a laptop, a desktop, a tablet, or a smart bracelet
- a portable multimedia device e.g., a portable medical device
- a camera e.g., a portable medical device
- a camera e.g., a portable medical device
- a wearable device e.g., a portable medical device
- a home appliance device e.g., a portable medical device, a portable medical device, a camera, a wearable device, or a home appliance device.
- the electronic device 101 according to the embodiment of this document is not limited to the above-described devices.
- first, second, or first or second may simply be used to distinguish an element from other elements in question, and may refer elements to other aspects (e.g., importance or order) is not limited. It is said that one (eg, first) component is “coupled” or “connected” to another (eg, second) component, with or without the terms “functionally” or “communicatively”. When referenced, it means that one component can be connected to the other component directly (eg by wire), wirelessly, or through a third component.
- module used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and is interchangeable with terms such as, for example, logic, logic block, component, or circuit.
- a module may be an integrally formed part or a minimum unit or a part of the part that performs one or more functions.
- the module may be implemented in the form of an application-specific integrated circuit (ASIC).
- ASIC application-specific integrated circuit
- Various embodiments of the present document include one or more instructions stored in a storage medium (eg, internal memory 136 or external memory 138) readable by a machine (eg, electronic device 101).
- a storage medium eg, internal memory 136 or external memory 138
- the processor eg, the processor 120
- the device eg, the electronic device 101
- the one or more instructions may include code generated by a compiler or code executable by an interpreter.
- the device-readable storage medium may be provided in the form of a non-transitory storage medium.
- 'non-transitory' only means that the storage medium is a tangible device and does not contain a signal (eg, electromagnetic wave), and this term is used in cases where data is semi-permanently stored in the storage medium and It does not distinguish between temporary storage cases.
- a signal eg, electromagnetic wave
- the method according to various embodiments disclosed in this document may be provided in a computer program product (computer program product).
- Computer program products may be traded between sellers and buyers as commodities.
- the computer program product is distributed in the form of a device-readable storage medium (eg compact disc read only memory (CD-ROM)), or via an application store (eg Play StoreTM) or on two user devices ( It can be distributed (eg downloaded or uploaded) directly, online between smartphones (eg: smartphones).
- a portion of the computer program product may be temporarily stored or temporarily generated in a machine-readable storage medium such as a memory of a server of a manufacturer, a server of an application store, or a memory of a relay server.
- each component eg, a module or a program of the above-described components may include a singular or a plurality of entities, and some of the plurality of entities may be separately disposed in other components. have.
- one or more components or operations among the above-described corresponding components may be omitted, or one or more other components or operations may be added.
- a plurality of components eg, a module or a program
- the integrated component may perform one or more functions of each component of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. .
- operations performed by a module, program, or other component are executed sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations are executed in a different order, or omitted. , or one or more other operations may be added.
- FIG. 2 is a schematic block diagram of an electronic device according to various embodiments of the present disclosure.
- FIG. 3 is a diagram for explaining a configuration of a virtual object according to various embodiments of the present disclosure.
- an electronic device 200 (eg, electronic device 101 ) includes a camera module 210 (eg, camera module 180 ) and a display module 220 (eg, display module 160 ). , a processor 230 (eg, the processor 120 ) and a memory 240 (eg, the memory 130 ).
- a camera module 210 eg, camera module 180
- a display module 220 eg, display module 160
- a processor 230 eg, the processor 120
- a memory 240 eg, the memory 130
- the electronic device 200 may be implemented as having more or fewer than those shown in FIG. 2 .
- the electronic device 200 may be configured to include an input module (eg, a touch panel, a hard key, a proximity sensor, a biometric sensor, etc.) or a power supply unit.
- the camera module 210 may include a user's appearance (eg, at least one of a user's face, body, or an accessory worn by the user), a landscape, an animal, a plant, or an object in the real world (reality).
- the first image of the object may be obtained.
- the camera module 210 may acquire the first image based on a predetermined request (eg, a request to execute an augmented reality application).
- the electronic device 200 may include a plurality of camera modules 210 each having different properties or functions.
- at least one of the plurality of camera modules 210 may be a wide-angle camera, and at least the other may be a telephoto camera.
- At least one of the plurality of camera modules 210 may be a front camera, and at least the other may be a rear camera. However, this is only an example, and the present document is not limited thereto.
- the plurality of camera modules 210 may be provided together on the same surface of the electronic device 200 .
- the display module 220 may display various contents (eg, an application execution screen, etc.) based on the control of the processor 230 . At least some of the displayed contents may include a first image acquired through the camera module 210 and a virtual object that can be applied (or synthesized) to the first image.
- the electronic device 200 may include at least one display module 220 .
- the at least one display module 220 may include a flat display, a curved display (or bent display) that can be bent, bent, or rolled without damage through a thin and flexible substrate such as paper. It may include a flexible display that can be freely bent and unfolded.
- the virtual object may be composed of a plurality of sub-objects displayed through the display module 220 .
- Each sub-object may include at least one of text, an icon, or an image, but this is only an example and the present document is not limited thereto.
- some configurations of sub-objects eg, each stroke constituting text
- the first sub-object 301 , the second sub-object 303 , the third sub-object 305 , and the fourth sub-object 307 are the virtual objects 300 .
- Each of these sub-objects 301 to 307 is configured in the form of each independent layer, and each of these layers may be overlaid to create the virtual object 300 .
- each of the sub-objects 301 to 307 may be independently applied to the first image with different positions, sizes, and application time points.
- the virtual object 300 may be composed of sub-objects having a depth based on any one sub-object. For example, as shown in FIG.
- a first sub-object 301, a second sub-object 303 having a first depth (eg, d1) with respect to the first sub-object 301, a second A third sub-object 305 having a second depth (eg, d2) and a fourth sub-object 307 having a third depth (eg, d3) may be provided as a configuration of the virtual object 300 . Accordingly, each of the sub-objects 301 to 307 may be applied to the first image to have a different depth, for example, a sense of perspective based on the depth information.
- the processor 230 may control various components of the electronic device 200 .
- the processor 230 may be operatively connected to the camera module 210 , the display module 220 , and the memory 240 .
- the processor 230 may apply each of a plurality of sub-objects configured in the virtual object to the first image.
- the processor 230 detects an input for selecting at least one sub-object among a plurality of sub-objects constituting the virtual object, and the selected sub-object is applied to a partial region in the first image corresponding to the input. You can create an image.
- the processor 230 may display a list of virtual objects through the display module 220 while the first image is displayed, and receive an input for selecting the virtual object. Also, when receiving an input for selecting a virtual object, the processor 230 may display a list of a plurality of sub-objects constituting the selected virtual object through the display module 220 .
- the list of a plurality of sub-objects may be displayed to overlap with at least a part of the first image, but the present document is not limited thereto. For example, a list of a plurality of sub-objects may be displayed separately from the first image.
- the processor 230 may store the first image and the second image generated by the sub-object inside the electronic device 200 (eg, the memory 240) or an external electronic device (eg, the electronic device 102). ), the electronic device 104 , or the server 108).
- the memory 240 may store commands or data related to at least one other component of the electronic device 200 .
- the memory 240 may store at least one virtual object that can be applied (or synthesized) to the first image (or real object) displayed on the display module 220 .
- the memory 240 may store the first image and the second image generated based on the virtual object.
- the memory 240 may include at least one program module.
- the program module may include the program 140 of FIG. 1 .
- the at least one program module may include a display module 242 and a generation module 244 .
- at least one of the above-described modules may be excluded from the configuration of the memory 240 , and conversely, other modules in addition to the above-described modules may be added to the configuration of the memory 240 .
- some of the above-described modules may be integrated into other modules.
- the display module 242 may include a command to display the first image, the virtual object, and sub-objects constituting the virtual object.
- the generating module 244 may include a command to generate a second image based on the first image and the virtual object.
- 4A is a diagram illustrating a situation in which a virtual object is applied to a real object in an electronic device according to various embodiments of the present disclosure
- 4B is a view for explaining a result of applying a virtual object to a real object in an electronic device according to various embodiments of the present disclosure.
- the electronic device 200 may execute an augmented reality function.
- the electronic device 200 may drive the camera module 210 for acquiring the first image of the real object in response to the execution of the augmented reality function.
- the electronic device 200 may process the augmented reality function execution based on the user's request to execute the augmented reality application.
- the electronic device 200 when the augmented reality function is executed, the electronic device 200 provides a menu area 410 that provides an object related to the setting of the camera module 210; A user interface including a control area 420 providing an object related to control of a specific function and an augmented reality screen 430 may be output.
- the menu area 410 may be disposed at the top of the user interface.
- the menu area 410 includes an object 412 for setting an augmented reality function, an object 414 for setting an operation of a flash, an object 416 for setting a timer shooting, and an object for setting a ratio of a shooting screen (418) and the like.
- a control area 420 may be disposed at the bottom of the user interface.
- the control area 420 includes an object 422 that controls entry into a mode for checking a stored image, an object 424 that controls to acquire a preview image, and an operation (eg, front side) of the camera module 210 for acquiring an image. It may include an object 426 for controlling a camera module operation or a rear camera module operation).
- the augmented reality screen 430 may be disposed between an upper end (eg, the menu area 410 ) and a lower end (eg, the control area 420 ) of the user interface.
- the augmented reality screen 430 may be a real-time preview image acquired through the camera module 210 .
- this is only an example, and the present document is not limited thereto.
- the aforementioned menu area 410 and the control area 420 may be disposed on the left and right sides of the user interface or may be overlaid on at least a portion of the augmented reality screen 430 with a certain degree of transparency.
- the menu area 410 and the control area 420 may include objects other than the above-described objects.
- the electronic device 200 may display a list 440 for virtual objects (eg, a forest theme, a space theme, etc.). As shown, the list 440 for the virtual object may be displayed together with the first image acquired through the camera module 210 . According to an embodiment, the electronic device 200 may display the list 440 of the virtual object in response to receiving a predetermined user input. However, this is only an example, and the present document is not limited thereto.
- the list 400 for the virtual object may be automatically displayed in response to the display of the first image.
- the list 440 for the virtual object may be displayed before the first image is displayed or after the display of the first image is finished.
- the electronic device 200 when an input for selecting one virtual object (eg, a forest theme) 442 from the list 440 is detected, the electronic device 200 as shown in (b) of FIG. 4A , The sub-objects 450 constituting the selected virtual object may be displayed.
- the electronic device 200 may display guide information on a sub-object that can be applied to the first image.
- the virtual object may include a plurality of sub-objects (eg, the first sub-object 301 to the fourth sub-object 307 ).
- the electronic device 200 may display only some sub-objects (eg, the second sub-object 303 ) corresponding to a predetermined number among the plurality of sub-objects as guide information on the screen.
- the electronic device 200 may display all of the plurality of sub-objects as guide information on the screen. Accordingly, the user can easily select a sub-object applicable to the first image through guide information on the sub-object displayed on the screen. According to an embodiment, the electronic device 200 may output guide information on a sub-object in response to receiving a predetermined user input or automatically display guide information on a sub-object in response to selection of a virtual object. may be
- the electronic device 200 may generate a second image based on the selected sub-object and the first image as shown in (c) of FIG. 4A.
- the electronic device 200 monitors a change in a position of an input for selecting a sub-object, determines a position in the first image to which the sub-object is to be applied, and generates a second image 460 in which the sub-object is applied ( 462 ) to the determined position. can do.
- the electronic device 200 may determine the location of the selected sub-object in the first image based on depth information of the selected sub-object. In this case, the electronic device 200 may convert the sub-object displayed as guide information into another sub-object ( 470 ).
- the electronic device 200 may display another sub-object (eg, the first sub-object 301) that is not applied to the first image as guide information.
- a sub-object applied to the first image may also be displayed as guide information.
- the sub-object displayed as the guide information is converted into another sub-object ( 470)
- the electronic device 200 may convert a sub-object displayed as guide information into another sub-object (470).
- a desired sub-object among a plurality of sub-objects constituting the virtual object may be selected through input, in this case, the display position of the sub-object selected by the user may be different from the display position of other sub-objects based on the depth information. have.
- the electronic device 200 may apply a first image to each sub-object constituting the virtual object to enable creation of content expressing a user's unique personality. For example, even if the user uses the same virtual object, the position of each sub-object (eg, sub-objects 301 to 307) is placed in the first part (eg, upper left) of the first image as shown in FIG.
- the arranged second image 480 can be created, and as shown in FIG. 4B (b), a part of the sub-object (eg, sub-objects 303 and 307) is placed on the first part (eg, upper left) of the first image. It is also possible to generate a second image 490 in which other parts of the sub-objects (eg, sub-objects 301 and 305) are arranged in a second part (eg, lower left corner) of the first image.
- the electronic device 200 may provide a list of virtual objects and a list of sub-objects for the virtual objects together with the first image.
- the electronic device 200 may omit providing the list of virtual objects and display at least one pre-designated sub-object (eg, a default sub-object) while the first image is displayed.
- the electronic device (eg, the electronic device 200) according to various embodiments includes at least one camera module (eg, the camera module 210), at least one display module (eg, the display module 220), and a depth. ) a memory (eg, memory 240) for storing a virtual object consisting of a plurality of sub-objects having (230)).
- the processor outputs a first image of a real object obtained through the at least one camera module, outputs a list of the virtual objects applicable to the first image, and the list
- the sub-objects constituting the selected virtual object may be output, and at least one sub-object selected from among the sub-objects may be set to generate a second image applied to the first image.
- the processor outputs a first sub-object composed of some of the sub-objects, and when at least one sub-object of the first sub-objects is applied to the first image, another one of the sub-objects is applied to the first image. It may be set to output a second sub-object composed of a part.
- the processor outputs a sub-object of a first type when a first object designated in the first image is recognized, and when a second object designated in the first image is recognized, a second type of sub-object is recognized in the first image. It can be set to output sub-objects.
- the sub-object of the first type may be composed of one sub-object
- the sub-object of the second type may be composed of a plurality of sub-objects.
- the processor may be configured to display the sub-object of the first type by overlapping at least a part of the designated first object.
- the first designated object may include at least one of a human body part or an animal body part
- the second designated object may include at least one of a landscape, a plant, or an object.
- the processor may be configured to check a depth of the selected at least one sub-object and apply the selected at least one sub-object to the first image based on the depth
- the processor when the selected at least one sub-object is applied to a designated first object of the first image, the processor obtains first state information related to the movement of the first object, and Based on the state information, it may be set to apply an effect to at least one sub-object applied to the designated first object.
- the designated first object may include at least one of a human body part and an animal body part.
- the processor may be configured to obtain, when the selected at least one sub-object is applied to a designated second object of the first image, obtain the posture and second state information of the electronic device, and the second state information Based on , it may be set to apply an effect to the specified second object and at least one sub-object applied to the second object.
- the designated second object may include at least one of a landscape, a plant, or an object.
- the processor may be configured to differently set a position, size, or application time point for each sub-object configured in the selected virtual object.
- the processor may be configured to store the generated second image in the electronic device or an external electronic device.
- the electronic device (eg, the electronic device 200) according to various embodiments includes at least one camera module (eg, the camera module 210), at least one display module (eg, the display module 220), and a depth. ) a memory (eg, memory 240) for storing a virtual object composed of a plurality of sub-objects having (230)).
- the processor acquires a first image of a real object obtained through the at least one camera module, and the first image according to a depth of at least one sub-object applicable to the first image It may be configured to determine a position of the at least one sub-object in , generate a second image by synthesizing the at least one sub-object whose position has been determined with the first image, and output the second image.
- FIG. 5 is a flowchart illustrating an operation of applying a virtual object to a real object in an electronic device according to various embodiments of the present disclosure
- the electronic device 200 may execute an augmented reality function and display a first image of a real object.
- the first image may be acquired through the camera module 210 driven in response to the execution of the augmented reality function.
- the electronic device 200 may process the augmented reality function execution based on the user's request to execute the augmented reality application.
- the electronic device 200 may output a virtual object list in operation 520 . According to an embodiment, the electronic device 200 may output a list of virtual objects applicable to the first image.
- the electronic device 200 may select at least one virtual object to be applied to the first image based on the input to the list.
- the input for selecting the virtual object may include a touch input using an electronic pen or a part of the user's body, a gesture input, a proximity input, and a hovering input, but the present document is not limited thereto.
- a virtual object may be selected through input of a hard key.
- the electronic device 200 may output a sub-object configured in the selected virtual object.
- the virtual object may be composed of a plurality of sub-objects, and each sub-object may be composed of an independent layer type.
- the electronic device 200 may display only some of the plurality of sub-objects on the screen or display all of the plurality of sub-objects at once.
- the electronic device 200 may display the second image based on the first image and at least one sub-object selected by the input.
- the electronic device 200 monitors a position change of an input for selecting a sub-object to determine a position in a first image to which the sub-object is to be applied, and generates a second image to which the sub-object is applied to the determined position.
- 6A is a flowchart illustrating an operation of displaying a sub-object in an electronic device according to various embodiments of the present disclosure
- 6B is a diagram for explaining a situation in which a sub-object is displayed according to various embodiments of the present disclosure
- the operations of FIG. 6A described below may represent various embodiments of operation 540 of FIG. 5 .
- the electronic device 200 may display at least one sub-object 650 in operation 610 .
- the virtual object may include a plurality of sub-objects, and the electronic device 200 may display some sub-objects among the plurality of sub-objects through the display module 220 .
- the electronic device 200 may additionally or selectively provide information 660 indicating the progress of the display of the sub-object as shown in FIG. 6B .
- the information may mean a display order (eg, a depth order) of a currently displayed sub-object among sub-objects included in the virtual object. For example, as shown in FIG.
- the electronic device 200 provides information (eg, a shaded box) 672 indicating that a second sub-object among four sub-objects included in the virtual object is currently being displayed. ) can be provided. Such information may be displayed together with the thumbnail image 670 in which the horizontal and vertical sizes of the virtual object are reduced or the resolution of the virtual object is reduced. As another example, the electronic device 200 may provide information indicating the progress level of the display of the sub-object. For example, as shown in FIG. 6B , the electronic device 200 displays 30% of the thumbnail image 680 of the virtual object when the display progresses for the sub-object corresponding to 30% of the sub-objects included in the virtual object. may be shaded (682). Also, when all sub-objects are currently displayed with respect to the virtual object, the electronic device 200 may shade the entire thumbnail image of the virtual object. Accordingly, the user can easily select a sub-object applicable to the first image.
- information eg, a shaded box
- the electronic device 200 may shade the entire thumbnail image of the virtual object. Accordingly
- the electronic device 200 may apply the sub-object to the first image based on the input.
- the electronic device 200 may select a sub-object to be applied to the first image based on a position where an input (eg, a touch input) is sensed.
- the electronic device 200 may detect a change in a position of an input (eg, a drag input) to determine a position in the first image to which the sub-object is to be applied.
- the electronic device 200 may display the second image to which the sub-object is applied.
- the electronic device 200 may display another sub-object in operation 640 .
- the other displayed sub-object may be at least one of sub-objects that may be additionally applied to the second image, as described above with reference to FIG. 4A . These other sub-objects may be displayed together with the second image.
- FIG. 7 is a flowchart illustrating another operation of displaying a sub-object in an electronic device according to various embodiments of the present disclosure
- 8 is another diagram for explaining the configuration of a virtual object according to various embodiments
- FIG. 9 is a diagram for explaining a situation of displaying sub-objects according to various embodiments.
- the operations of FIG. 7 described below may represent various embodiments of operation 540 of FIG. 5 .
- the electronic device 200 may analyze a first image in operation 710 .
- the electronic device 200 may recognize an object in the real world by performing an image analysis operation on the first image acquired through the camera module 210 .
- the electronic device 200 may determine whether a first designated object or a second designated object is recognized as a result of the first image analysis.
- the first designated object may include a human body part (eg, face, hand, etc.) or an animal's body part (eg, face, leg, tail, etc.), and the second designated object may include a landscape, plant, object, etc. , may include objects other than the first designated object.
- the electronic device 200 may display the second type of sub-object in operation 730 .
- the virtual object 800 may be composed of a first type of sub-object 810 composed of a plurality of layers (or sub-objects), and each sub-object 810 of the first type may be composed of the sub-object 820 of the second type composed of a single layer.
- the first-type sub-object 810 includes a first-type sub-object 812 composed of a first layer 301 and a fourth layer 307, a second layer 303 and a third layer ( 305) and may be composed of a sub-object 814 of the first type.
- the second type of sub-object 820 includes a second type of sub-object 822 composed of a first layer 301 , a second type of sub-object 824 composed of a second layer 307 , and a third It may be composed of a second type sub-object 826 composed of a layer 303 and a second type sub-object 828 composed of a fourth layer 305 .
- the electronic device 200 may display the sub-object of the second type configured as a single layer together with the first image, based on the recognition of the first designated object.
- the second type sub-object configured as a single layer may overlap at least a portion of the first designated object 910 to be displayed 912 , as shown in FIG. 9B .
- the present document is not limited thereto.
- the second type of sub-object may be displayed adjacent to the first designated object.
- the electronic device 200 may display the first type of sub-object in operation 740 . Based on the recognition of the second designated object, the electronic device 200 may display the sub-object of the first type including a plurality of layers together with the first image. For example, as shown in (a) of FIG. 9 , the second type sub-object composed of a plurality of layers is displayed in an empty space in which the second designated object is not displayed in the first image 900 ( 902 ). can be However, this is only an example, and the present document is not limited thereto.
- the sub-object of the first type may be displayed to overlap at least a part of the second designated object.
- FIG. 10 is a flowchart illustrating an operation of displaying a real object to which a sub-object is applied in an electronic device according to various embodiments of the present disclosure
- 11A is a diagram for explaining a situation in which an effect is applied to a sub-object based on state information related to an electronic device
- FIG. 11B is a diagram illustrating a situation in which an effect is applied to a sub-object based on state information related to an object It is a drawing for The operations of FIG. 10 described below may represent various embodiments of operation 550 of FIG. 5 .
- the electronic device 200 may determine, in operation 1010 , whether a sub-object is applied to a first designated object or a second designated object.
- the first designated object may include a human face
- the second designated object may include the rest except for the first designated object, such as a landscape, an animal, a plant, or an object.
- the electronic device 200 may recognize an object in the first image using an object recognition algorithm.
- the electronic device 200 may acquire first state information related to the object in operation 1020 .
- the first state information may be related to a motion of an object in the first image.
- the electronic device 200 may detect the movement of the object recognized in the first image by using an object tracking algorithm.
- the electronic device 200 may apply an effect to the sub-object based on the first state information. For example, as shown in (a) of FIG. 11B , the sub-object may be applied to the first designated object, and as shown in (a) of FIG. 11B , the sub-object applied to the first designated object is also a first designated object.
- the object may be moved and displayed in response to the movement of the object.
- the electronic device 200 may acquire second state information related to the electronic device 200 in operation 1040 .
- the second state information may be related to the posture of the electronic device 200 .
- the electronic device 200 may monitor the posture of the electronic device 200 , and posture information of the electronic device 200 (eg, pitch, roll, yaw, etc.) A change in state (eg, the posture of the electronic device 200 ) may be detected based on the change in .
- the electronic device 200 may apply an effect to the sub-object based on the state of the electronic device 200 . For example, as shown in (a) of FIG.
- the sub-object may be applied to the second designated object, and as shown in (a) of FIG. 11B , the second designated object and the sub-object are also the electronic device 200 ) may be displayed by performing perspective transformation corresponding to the state of the .
- FIG. 12 is a flowchart illustrating another operation of applying a virtual object to a real object in an electronic device according to various embodiments of the present disclosure
- an electronic device 1202 (eg, electronic device 200 ) is virtualized from an external electronic device 1204 (eg, electronic device 102 , electronic device 104 , or server 108 ). object can be provided.
- an external electronic device 1204 eg, electronic device 102 , electronic device 104 , or server 108 .
- the electronic device 1202 may execute an augmented reality function in operation 1210 and display a first image of a real object.
- the first image may be acquired through the camera module 210 driven in response to the execution of the augmented reality function.
- the electronic device 1202 may request a virtual object from the external electronic device 1204 in operation 1220 .
- the electronic device 1202 may perform an operation of communicating with the external electronic device 1204 through a first network (eg, a short-range wireless communication network) or a second network (eg, a long-range wireless communication network). .
- a first network eg, a short-range wireless communication network
- a second network eg, a long-range wireless communication network
- the external electronic device 1204 may transmit at least one virtual object to the electronic device 1202 in operation 1230 .
- the electronic device 1202 may output a virtual object list in operation 1240 .
- the electronic device 1202 may output a list of virtual objects provided from the external electronic device 1204 . In this case, if there is a pre-stored virtual object in the electronic device 1202 , the electronic device 1202 may also output a list of the stored virtual objects.
- the electronic device 1202 may select at least one virtual object to be applied to the first image based on the input to the list.
- the electronic device 1202 may output a sub-object configured in the selected virtual object.
- the virtual object may be composed of a plurality of sub-objects, and each sub-object may be composed of an independent layer type.
- the electronic device 1202 may display only some of the plurality of sub-objects on the screen or display all of the plurality of sub-objects at once.
- the electronic device 1202 may display the second image based on the first image and at least one sub-object selected by the input.
- the electronic device 1202 monitors a change in a position of an input for selecting a sub-object, determines a position in a first image to which the sub-object is to be applied, and generates a second image to which the sub-object is applied to the determined position.
- a method of operating an electronic device includes an operation of outputting a first image of a real object and a list of virtual objects including a plurality of sub-objects having a depth. an operation of outputting, an operation of receiving an input for selecting at least one virtual object applicable to the first image, an operation of outputting sub-objects constituting the virtual object selected by the input, and at least one selected from the sub-objects and generating a second image applied to the first image by a sub-object of .
- the method of operating the electronic device includes outputting a first sub-object composed of some of the sub-objects, and when at least one sub-object of the first sub-object is applied to the first image, the sub-object
- the operation may include outputting a second sub-object composed of another part of the objects.
- a method of operating an electronic device includes outputting a sub-object of a first type when a first object designated in the first image is recognized, and when a second object designated in the first image is recognized, It may include an operation of outputting the second type of sub-object.
- the sub-object of the first type may be composed of one sub-object
- the sub-object of the second type may be composed of a plurality of sub-objects.
- the method of operating the electronic device may include displaying the sub-object of the first type by overlapping at least a part of the designated first object.
- the first designated object may include at least one of a human body part or an animal body part
- the second designated object may include at least one of a landscape, a plant, or an object.
- a method of operating an electronic device may include checking a depth of the selected at least one sub-object and applying the selected at least one sub-object to the first image based on the depth.
- a method of operating an electronic device includes: when the selected at least one sub-object is applied to a designated first object of the first image, obtaining first state information related to the movement of the first object; and applying an effect to at least one sub-object applied to the designated first object based on the first state information.
- the designated first object may include at least one of a human body part and an animal body part.
- the method of operating an electronic device may include obtaining posture and second state information of the electronic device when the selected at least one sub-object is applied to a designated second object of the first image; and applying an effect to the specified second object and at least one sub-object applied to the second object based on the second state information.
- the designated second object may include at least one of a landscape, a plant, or an object.
- the method of operating the electronic device may include differently setting a location, size, or application time point for each sub-object included in the selected virtual object.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Tourism & Hospitality (AREA)
- Human Resources & Organizations (AREA)
- Multimedia (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Architecture (AREA)
- Development Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Game Theory and Decision Science (AREA)
- Data Mining & Analysis (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
다양한 실시예에 따른 전자 장치는 적어도 하나의 카메라 모듈, 적어도 하나의 디스플레이 모듈, 뎁스(depth)를 가지는 다수의 서브 객체로 구성된 가상 객체를 저장하는 메모리, 상기 적어도 하나의 카메라 모듈, 상기 적어도 하나의 디스플레이 모듈 및 상기 메모리와 동작적으로 연결된 프로세서를 포함하며, 상기 프로세서는 상기 적어도 하나의 카메라 모듈을 통해 획득되는 현실 객체에 대한 제 1 영상을 출력하고, 상기 제 1 영상에 적용 가능한 상기 가상 객체에 대한 리스트를 출력하고, 상기 리스트에서 선택된 가상 객체를 구성하는 서브 객체들을 출력하고, 상기 서브 객체들 중 선택된 적어도 하나의 서브 객체가 상기 제 1 영상에 적용된 제 2 영상을 생성하도록 설정될 수 있다. 이 외에도 명세서를 통해 파악되는 다양한 실시예가 가능하다.
Description
본 문서에서 개시되는 다양한 실시예들은 전자 장치에 관한 것이고, 구체적으로는 콘텐츠 생성 기능을 제공하기 위한 방법 및 이를 지원하는 전자 장치와 관련된다.
최근 디지털 기술의 발달과 함께 이동통신 단말기, 전자 수첩, 스마트 폰, 태블릿 PC, 웨어러블 디바이스 등과 같이 이동하면서 통신 및 개인정보 처리가 가능한 전자 장치들이 다양하게 출시되고 있다. 이러한 전자 장치들은 급속한 기술 발전을 통해 단순한 음성 통화 및 단문 메시지 전송 기능에서 영상 통화, 전자 수첩 기능, 문서 기능, 이메일 기능, 인터넷 기능 등 다양한 기능을 구비하게 되었다.
한편, 최근 전자 장치는 증강 현실 기반의 콘텐츠 생성 기능을 제공하고 있다. 증강 현실 기반의 콘텐츠 생성 기능은 현실 객체(예: 사용자의 얼굴, 신체, 또는 사용자가 착용한 액세서리, 풍경, 동물, 식물, 사물과 같은 현실 세계의 객체)에 가상 객체를 합성하여 개인화된(personalized) 콘텐츠의 생성을 가능하게 한다. 현실 객체에 합성되는 가상 객체는 화면 상의 표시 내용으로 텍스트, 아이콘 또는 이미지와 같은 서브 객체들로 구성되며, 서브 객체들은 하나의 레이어에 배치되는 형태로 제공될 수 있다.
전술한 종래의 증강 현실 기반의 콘텐츠 생성 기능의 운용에서, 현실 객체에 반영되는 가상 객체의 크기를 조절하거나 가상의 객체가 반영되는 위치를 조절하는 것을 가능하게 한다.
하지만, 가상 객체의 서브 객체가 하나의 레이어 형태로 제공되고 있어, 가상 객체의 서브 객체들이 동일한 뎁스(depth)를 가지며 가상의 객체의 크기 또는 위치 조절에 따라 서브 객체들의 크기 또는 위치도 일괄적으로 조절될 수 있다. 이에 사용자 자신만의 개성을 표현하는 콘텐츠 생성에 제한적일 수 있다.
따라서, 다양한 실시예 중 적어도 하나의 예는, 증강 현실에 기반하여 콘텐츠를 생성 시, 가상 객체를 구성하는 각각의 서브 객체에 대하여 독립적으로 뎁스, 위치, 크기 및 적용 시점을 다르게 하여 현실 객체에 적용이 가능한 콘텐츠 생성 기능을 제공하기 위한 방법 및 이를 지원하는 전자 장치를 제공하는데 있다.
다양한 실시예에 따른 전자 장치는 적어도 하나의 카메라 모듈, 적어도 하나의 디스플레이 모듈, 뎁스(depth)를 가지는 다수의 서브 객체로 구성된 가상 객체를 저장하는 메모리, 상기 적어도 하나의 카메라 모듈, 상기 적어도 하나의 디스플레이 모듈 및 상기 메모리와 동작적으로 연결된 프로세서를 포함하며, 상기 프로세서는 상기 적어도 하나의 카메라 모듈을 통해 획득되는 현실 객체에 대한 제 1 영상을 출력하고, 상기 제 1 영상에 적용 가능한 상기 가상 객체에 대한 리스트를 출력하고, 상기 리스트에서 선택된 가상 객체를 구성하는 서브 객체들을 출력하고, 상기 서브 객체들 중 선택된 적어도 하나의 서브 객체가 상기 제 1 영상에 적용된 제 2 영상을 생성하도록 설정될 수 있다.
다양한 실시예에 따른 전자 장치의 동작 방법은 현실 객체에 대한 제 1 영상을 출력하는 동작, 뎁스를 가지는 다수의 서브 객체로 구성된 가상 객체에 대한 리스트를 출력하는 동작, 상기 제 1 영상에 적용 가능한 적어도 하나의 가상 객체를 선택하는 입력을 수신하는 동작, 상기 입력에 의해 선택된 가상 객체를 구성하는 서브 객체들을 출력하는 동작 및 상기 서브 객체들 중 선택된 적어도 하나의 서브 객체가 상기 제 1 영상에 적용된 제 2 영상을 생성하는 동작을 포함할 수 있다.
다양한 실시예에 따른 전자 장치는 적어도 하나의 카메라 모듈, 적어도 하나의 디스플레이 모듈, 뎁스를 가지는 다수의 서브 객체로 구성된 가상 객체를 저장하는 메모리, 상기 적어도 하나의 카메라 모듈, 상기 적어도 하나의 디스플레이 모듈 및 상기 메모리와 동작적으로 연결된 프로세서를 포함하며, 상기 프로세서는, 상기 적어도 하나의 카메라 모듈을 통해 획득되는 현실 객체에 대한 제 1 영상을 획득하고, 상기 제 1 영상에 적용 가능한 적어도 하나의 서브 객체의 뎁스에 따라 상기 제 1 영상에서의 상기 적어도 하나의 서브 객체의 위치를 결정하고, 상기 위치가 결정된 적어도 하나의 서브 객체를 상기 제 1 영상에 합성하여 제 2 영상을 생성하고, 상기 제 2 영상을 출력하도록 설정될 수 있다.
본 문서에 개시되는 다양한 실시예들에 따른 전자 장치는 증강 현실에 기반하여 콘텐츠를 생성 시, 가상 객체를 구성하는 각각의 서브 객체에 대하여 독립적으로 위치, 크기 및 적용 시점을 다르게 하여 현실 객체에 적용하도록 하여 사용자만의 개성을 표현하는 콘텐츠를 생성하도록 지원할 수 있다.
본 문서에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않는다.
도 1은 다양한 실시예들에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 다양한 실시예에 따른 전자 장치의 개략적인 블록도이다.
도 3은 다양한 실시예에 따른 가상 객체의 구성을 설명하기 위한 도면이다.
도 4a는 다양한 실시예에 따른 전자 장치에서 현실 객체에 가상 객체를 적용하는 상황을 설명하는 도면이다.
도 4b는 다양한 실시예에 따른 전자 장치에서 현실 객체에 가상 객체가 적용된 결과를 설명하는 도면이다.
도 5는 다양한 실시예에 따른 전자 장치에서 현실 객체에 가상 객체를 적용하는 동작을 도시한 흐름도이다.
도 6a은 다양한 실시예에 따른 전자 장치에서 서브 객체를 표시하는 동작을 도시한 흐름도이다.
도 6b는 다양한 실시예에 따른 서브 객체를 표시하는 상황을 설명하기 위한 도면이다.
도 7은 다양한 실시예에 따른 전자 장치에서 서브 객체를 표시하는 다른 동작을 도시한 흐름도이다.
도 8은 다양한 실시예에 따른 가상 객체의 구성을 설명하기 위한 다른 도면이다.
도 9는 다양한 실시예에 따른 서브 객체를 표시하는 상황을 설명하기 위한 도면이다.
도 10은 다양한 실시예에 따른 전자 장치에서 서브 객체가 적용된 현실 객체를 표시하는 동작을 도시한 흐름도이다.
도 11a는 전자 장치와 관련된 상태 정보에 기초하여 서브 객체에 효과를 적용하는 상황을 설명하기 위한 도면이다.
도 11b는 객체와 관련된 상태 정보에 기초하여 서브 객체에 효과를 적용하는 상황을 설명하기 위한 도면이다.
도 12는 다양한 실시예에 따른 전자 장치에서 현실 객체에 가상 객체를 적용하는 다른 동작을 도시한 흐름도이다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
이하, 본 문서의 다양한 실시예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 문서의 실시예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
도 1은 다양한 실시예들에 따른 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108) 중 적어도 하나와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성 요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일 실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102), 스피커 또는 헤드폰 등)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일 실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일 실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일 실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일 실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일 실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일 실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.
무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일 실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
다양한 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일 실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제 1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일 실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일 실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치(101)는 다양한 형태의 장치가 될 수 있다. 전자 장치(101)는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치(101)는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어™)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
도 2는 다양한 실시예에 따른 전자 장치의 개략적인 블록도이다. 그리고, 도 3은 다양한 실시예에 따른 가상 객체의 구성을 설명하기 위한 도면이다.
도 2를 참조하면, 전자 장치(200)(예: 전자 장치(101))는 카메라 모듈(210)(예: 카메라 모듈(180)), 디스플레이 모듈(220)(예: 디스플레이 모듈(160)), 프로세서(230)(예: 프로세서(120)) 및 메모리(240)(예: 메모리(130))를 포함할 수 있다. 그러나, 이는 예시적일 뿐, 전술한 구성들이 전자 장치(200)의 필수 구성으로 한정되는 것은 아니다. 예컨대, 전자 장치(200)는 도 2에 도시된 구성들 보다 많은 구성들을 가지거나, 또는 그 보다 적은 구성을 가지는 것으로 구현될 수 있다. 예를 들면, 전자 장치(200)는 입력 모듈(예: 터치 패널, 하드 키, 근접 센서, 생체 센서 등) 또는 전원 공급부 등의 구성을 포함하여 구성될 수 있다.
다양한 실시예에 따르면, 카메라 모듈(210)은 사용자의 외형(예: 사용자의 얼굴, 신체, 또는 사용자가 착용한 액세서리 중 적어도 하나), 풍경, 동물, 식물, 사물과 같은 현실 세계의 객체(현실 객체)에 대한 제 1 영상을 획득할 수 있다. 카메라 모듈(210)은 미리 지정된 요청(예: 증강 현실 어플리케이션을 실행시키는 요청)에 기반하여 제 1 영상을 획득할 수 있다. 일 실시예에 따르면, 전자 장치(200)는 각각 다른 속성 또는 기능을 가진 복수의 카메라 모듈(210)들을 포함할 수 있다. 예를 들면, 복수의 카메라 모듈(210)들 중 적어도 하나는 광각 카메라이고, 적어도 다른 하나는 망원 카메라일 수 있다. 유사하게, 복수의 카메라 모듈(210)들 중 적어도 하나는 전면 카메라이고, 적어도 다른 하나는 후면 카메라일 수 있다. 그러나, 이는 예시적일 뿐, 본 문서가 이에 한정되는 것은 아니다. 예컨대, 복수의 카메라 모듈(210)은 전자 장치(200)의 동일한 면에 함께 구비될 수도 있다.
다양한 실시예에 따르면, 디스플레이 모듈(220)은 프로세서(230)의 제어에 기반하여 다양한 콘텐츠들(예: 어플리케이션 실행 화면 등)을 표시할 수 있다. 표시되는 콘텐츠들 중 적어도 일부는, 카메라 모듈(210)을 통해 획득되는 제 1 영상 및 제 1 영상에 적용(또는 합성)될 수 있는 가상 객체를 포함할 수 있다. 일 실시 예에 따르면, 전자 장치(200)는 적어도 하나의 디스플레이 모듈(220)을 포함할 수 있다. 예를 들어, 적어도 하나의 디스플레이 모듈(220)은 평면형 디스플레이, 종이처럼 얇고 유연한 기판을 통해 손상 없이 휘거나 구부리거나 말 수 있는 커브드 디스플레이(curved display)(또는 벤디드 디스플레이(bended display)) 또는 구부렸다가 폈다가를 자유자재로 할 수 있는 플렉서블 디스플레이를 포함할 수 있다.
일 실시예에 따르면, 가상 객체는 디스플레이 모듈(220)을 통해 표시되는 복수의 서브 객체로 구성될 수 있다. 각각의 서브 객체는 텍스트, 아이콘 또는 이미지 중 적어도 하나를 포함할 수 있으나, 이는 예시적일 뿐 본 문서가 이에 한정되는 것은 아니다. 예컨대, 서브 객체의 일부 구성(예: 텍스트를 구성하는 각각의 획(stroke))도 하나의 서브 객체로 해석될 수도 있다.
예를 들어, 도 3에 도시된 바와 같이, 제 1 서브 객체(301), 제 2 서브 객체(303), 제 3 서브 객체(305) 및 제 4 서브 객체(307)가 가상 객체(300)의 구성일 수 있다. 이러한 서브 객체 각각(301 내지 307)은 각각의 독립된 레이어 형태로 구성되며, 이러한 각각의 레이어들이 오버레이되어 가상 객체(300)로 생성될 수 있다. 이에 따라, 각각의 서브 객체(301 내지 307)가 독립적으로 위치, 크기 및 적용 시점을 다르게 하여 제 1 영상에 적용될 수 있다. 추가적으로 또는 선택적으로, 가상 객체(300)는 어느 하나의 서브 객체를 기준으로 뎁스(depth)를 갖는 서브 객체로 구성될 수도 있다. 예를 들어, 도 3에 도시된 바와 같이, 제 1 서브 객체(301), 제 1 서브 객체(301)를 기준으로, 제 1 뎁스(예: d1)를 가지는 제 2 서브 객체(303), 제 2 뎁스(예: d2)를 가지는 제 3 서브 객체(305), 제 3 뎁스(예: d3)를 가지는 제 4 서브 객체(307)가 가상 객체(300)의 구성으로 제공될 수 있다. 이에 따라, 각각의 서브 객체(301 내지 307)는 뎁스 정보에 기초하여 서로 다른 뎁스, 예를 들어, 원근감을 갖도록 제 1 영상에 적용될 수 있다.
다양한 실시예에 따르면, 프로세서(230)는 전자 장치(200)의 다양한 구성요소들을 제어할 수 있다. 일 실시예에 따르면, 프로세서(230)는 카메라 모듈(210), 디스플레이 모듈(220) 및 메모리(240)와 작동적으로 연결될 수 있다. 프로세서(230)는 가상 객체에 구성된 복수의 서브 객체 각각을 제 1 영상에 적용할 수 있다. 예를 들어, 프로세서(230)는 가상 객체를 구성하는 다수의 서브 객체 중 적어도 하나의 서브 객체를 선택하는 입력을 감지하고, 선택된 서브 객체가 입력에 대응되는 제 1 영상 내의 일부 영역에 적용된 제 2 영상을 생성할 수 있다. 이와 관련하여, 선택적으로 또는 추가적으로, 프로세서(230)는 제 1 영상이 표시되는 동안 가상 객체의 리스트를 디스플레이 모듈(220)을 통해 표시하고, 가상 객체 선택을 위한 입력을 수신할 수 있다. 또한, 프로세서(230)는 가상 객체 선택을 위한 입력을 수신하면, 선택된 가상 객체를 구성하는 다수의 서브 객체에 대한 리스트를 디스플레이 모듈(220)을 통해 표시할 수 있다. 다수의 서브 객체에 대한 리스트는 제 1 영상의 적어도 일부와 중첩되어 표시될 수 있으나, 본 문서가 이에 한정되는 것은 아니다. 예컨대, 다수의 서브 객체에 대한 리스트는 제 1 영상과 구분되어 표시될 수도 있다. 일 실시예에 따르면, 프로세서(230)는 제 1 영상 및 서브 객체에 의해 생성된 제 2 영상을 전자 장치(200) 내부(예: 메모리(240)) 또는 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108))에 저장될 수 있다.
다양한 실시예에 따르면, 메모리(240)는 전자 장치(200)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 예를 들어, 메모리(240)는 디스플레이 모듈(220)에 표시된 제 1 영상(또는 현실 객체)에 적용(또는 합성)이 가능한 적어도 하나의 가상 객체를 저장할 수 있다. 또한, 메모리(240)는 제 1 영상과 가상 객체에 기초하여 생성된 제 2 영상을 저장할 수 있다.
다양한 실시예에 따르면, 메모리(240)는 적어도 하나의 프로그램 모듈을 포함할 수 있다. 프로그램 모듈은 도 1의 프로그램(140)을 포함할 수 있다. 적어도 하나의 프로그램 모듈은 표시 모듈(242) 및 생성 모듈(244)을 포함할 수 있다. 그러나, 이는 예시적일 뿐, 본 문서가 이에 한정되는 것이 아니다. 예컨대, 전술한 모듈 중 적어도 하나가 메모리(240)의 구성에서 제외될 수 있으며, 반대로 전술한 모듈 외에 다른 모듈이 메모리(240)의 구성으로 추가될 수도 있다. 또한, 전술한 모듈 중 일부 모듈은 다른 모듈로 통합될 수도 있다.
일 실시예에 따르면, 표시 모듈(242)은 제 1 영상, 가상 객체, 가상 객체를 구성하는 서브 객체를 표시하도록 하는 명령어를 포함할 수 있다. 일 실시예에 따르면, 생성 모듈(244)은 제 1 영상 및 가상 객체에 기초하여 제 2 영상을 생성하도록 하는 명령어를 포함할 수 있다.
도 4a는 다양한 실시예에 따른 전자 장치에서 현실 객체에 가상 객체를 적용하는 상황을 설명하는 도면이다. 그리고, 도 4b는 다양한 실시예에 따른 전자 장치에서 현실 객체에 가상 객체가 적용된 결과를 설명하는 도면이다.
도 4a를 참조하면, 전자 장치(200)(또는 프로세서(230) 또는 전자 장치(101))는 증강 현실 기능을 실행할 수 있다. 전자 장치(200)는 증강 현실 기능의 실행에 응답하여, 현실 객체에 대한 제 1 영상을 획득하기 위한 카메라 모듈(210)을 구동시킬 수 있다. 일 실시예에 따르면, 전자 장치(200)는 사용자의 증강 현실 어플리케이션을 실행하는 요청에 기반하여, 증강 현실 기능 실행을 처리할 수 있다.
다양한 실시예에 따르면, 도 4a의 (a)에 도시된 바와 같이, 전자 장치(200)는 증강 현실 기능이 실행되면, 카메라 모듈(210)의 설정과 관련된 객체를 제공하는 메뉴 영역(410), 특정 기능의 제어와 관련된 객체를 제공하는 제어 영역(420) 및 증강 현실 화면(430)을 포함하는 사용자 인터페이스를 출력할 수 있다.
일 실시예에 따르면, 사용자 인터페이스의 상단에는 메뉴 영역(410)이 배치될 수 있다. 메뉴 영역(410)은, 증강 현실 기능의 설정을 위한 객체(412), 플래시의 동작 설정을 위한 객체(414), 타이머 촬영의 설정을 위한 객체(416), 촬영 화면의 비율의 설정을 위한 객체(418) 등을 포함할 수 있다. 사용자 인터페이스의 하단에는 제어 영역(420)이 배치될 수 있다. 제어 영역(420)은 저장된 영상을 확인하는 모드로의 진입을 제어하는 객체(422), 프리뷰 영상을 획득하도록 제어하는 객체(424), 영상 획득을 위한 카메라 모듈(210)의 동작(예: 전면 카메라 모듈 동작 또는 후면 카메라 모듈 동작)을 제어하는 객체(426) 등을 포함할 수 있다. 사용자 인터페이스의 상단(예: 메뉴 영역(410))과 하단(예: 제어 영역(420)) 사이에는 증강 현실 화면(430)이 배치될 수 있다. 증강 현실 화면(430)은 카메라 모듈(210)을 통해 획득하는 실시간 프리뷰 영상일 수 있다. 그러나, 이는 예시적일 뿐, 본 문서가 이에 한정되는 것은 아니다. 예컨대, 전술한 메뉴 영역(410)과 제어 영역(420)은, 사용자 인터페이스의 좌측 및 우측에 배치되거나 일정 투명도를 가지고 증강 현실 화면(430)의 적어도 일부에 오버레이될 수도 있다. 또한, 메뉴 영역(410)과 제어 영역(420)에는 전술한 객체들 외에 다른 객체들이 포함될 수도 있다.
다양한 실시예에 따르면, 전자 장치(200)는 가상 객체(예: 숲 테마, 우주 테마 등)에 대한 리스트(440)를 표시할 수 있다. 도시된 바와 같이, 가상 객체에 대한 리스트(440)는 카메라 모듈(210)을 통해 획득되는 제 1 영상과 함께 표시될 수 있다. 일 실시예에 따르면, 전자 장치(200)는 미리 지정된 사용자 입력을 수신하는 것에 응답하여 가상 객체에 대한 리스트(440)를 표시할 수 있다. 그러나, 이는 예시적일 뿐, 본 문서가 이에 한정되는 것은 아니다. 예컨대, 가상 객체에 대한 리스트(400)는 제 1 영상의 표시에 응답하여 자동으로 표시될 수도 있다. 또한, 가상 객체에 대한 리스트(440)는 제 1 영상이 표시되기 전 또는 제 1 영상의 표시가 종료된 후에 표시될 수도 있다.
다양한 실시예에 따르면, 리스트(440)에서 하나의 가상 객체(예: 숲 테마)(442)를 선택하는 입력이 감지되면, 전자 장치(200)는 도 4a의 (b)에 도시된 바와 같이, 선택된 가상 객체를 구성하는 서브 객체(450)를 표시할 수 있다. 예를 들어, 전자 장치(200)는 제 1 영상에 적용될 수 있는 서브 객체에 대한 가이드 정보를 표시할 수 있다. 전술한 바와 같이, 가상 객체는 복수의 서브 객체(예: 제 1 서브 객체(301) 내지 제 4 서브 객체(307))로 구성될 수 있다. 전자 장치(200)는 복수의 서브 객체들 중 미리 지정된 개수에 해당하는 일부 서브 객체(예: 제 2 서브 객체(303)) 만을 가이드로 정보로 화면에 표시할 수도 있다. 다른 예로, 전자 장치(200)는 복수의 서브 객체들 전체를 가이드 정보로 화면에 표시할 수 있다. 이에 따라, 사용자는 화면에 표시되는 서브 객체에 대한 가이드 정보를 통해서, 제 1 영상에 적용할 수 있는 서브 객체를 용이하게 선택할 수 있다. 일 실시예에 따르면, 전자 장치(200)는 미리 지정된 사용자 입력을 수신하는 것에 응답하여 서브 객체에 대한 가이드 정보를 출력하거나 또는 가상 객체의 선택에 응답하여 서브 객체에 대한 가이드 정보를 자동으로 표시할 수도 있다.
다양한 실시예에 따르면, 서브 객체를 선택하는 입력이 감지되면, 도 4a의 (c)에 도시된 바와 같이, 전자 장치(200)는 선택된 서브 객체와 제 1 영상에 기초하여 제 2 영상을 생성할 수 있다. 전자 장치(200)는 서브 객체를 선택하는 입력의 위치 변화를 모니터링하여 서브 객체가 적용될 제 1 영상 내의 위치를 결정하고, 결정된 위치에 서브 객체를 적용(462)한 제 2 영상(460)을 생성할 수 있다. 예를 들어, 전자 장치(200)는 선택된 서브 객체의 뎁스 정보에 기초하여 제 1 영상에서의 선택된 서브 객체의 위치를 결정할 수 있다. 이때, 전자 장치(200)는 가이드 정보로 표시된 서브 객체를 다른 서브 객체로 전환(470)할 수 있다. 예를 들어, 전자 장치(200)는 제 1 영상에 적용되지 않은 다른 서브 객체(예: 제 1 서브 객체(301)를 가이드 정보로 표시할 수 있다. 그러나, 이는 예시적일 뿐, 본 문서가 이에 한정되는 것은 아니다. 예컨대, 제 1 영상에 적용되었던 서브 객체도 가이드 정보로 표시될 수도 있다. 다양한 실시예에 따르면, 가이드 정보로 표시된 서브 객체는 서브 객체의 선택과 상관없이 다른 서브 객체로 전환(470)될 수도 있다. 예를 들어, 전자 장치(200)는 미리 지정된 사용자 입력을 수신하는 것에 응답하여, 가이드 정보로 표시된 서브 객체를 다른 서브 객체로 전환(470)할 수 있다. 이에, 사용자는 가상 객체를 구성하는 복수의 서브 객체 중 자신이 원하는 서브 객체를 입력을 통해서 선택할 수 있다. 이때, 사용자에 의해 선택되는 서브 객체의 표시 위치는 뎁스 정보에 기초하여 다른 서브 객체의 표시 위치와 달라질 수 있다.
다양한 실시예에 따르면, 전자 장치(200)는 가상 객체를 구성하는 각각의 서브 객체를 제 1 영상을 적용하여 사용자만의 개성을 표현하는 콘텐츠 생성을 가능하게 할 수 있다. 예를 들어, 사용자는 동일한 가상 객체를 사용하더라도 도 4b의 (a)와 같이 각각의 서브 객체(예: 서브 객체 301 내지 307)의 위치를 제 1 영상의 제 1 부분(예: 좌측 상단)에 배치한 제 2 영상(480)을 생성할 수 있으며, 도 4b의 (b)와 같이 서브 객체의 일부(예: 서브 객체 303 및 307)를 제 1 영상의 제 1 부분(예: 좌측 상단)에 배치시키고 서브 객체의 다른 일부(예: 서브 객체 301 및 305)를 제 1 영상의 제 2 부분(예: 좌측 하단)에 배치한 제 2 영상(490)을 생성할 수도 있다.
다양한 실시예에 따르면, 도 4a를 통해 전술한 바와 같이, 전자 장치(200)는 가상 객체의 리스트 및 가상 객체에 대한 서브 객체의 리스트를 제 1 영상과 함께 제공할 수 있다. 그러나, 이는 예시적일 뿐, 본 문서가 이에 한정되는 것은 아니다. 예컨대, 전자 장치(200)는 가상 객체의 리스트의 제공을 생략하고, 제 1 영상이 표시되는 동안 미리 지정된 적어도 하나의 서브 객체(예: 디폴트 서브 객체)를 표시할 수도 있다.
다양한 실시예에 따른 전자 장치(예: 전자 장치(200))는 적어도 하나의 카메라 모듈(예: 카메라 모듈(210)), 적어도 하나의 디스플레이 모듈(예: 디스플레이 모듈(220)), 뎁스(depth)를 가지는 다수의 서브 객체로 구성된 가상 객체를 저장하는 메모리(예: 메모리(240)) 및 상기 적어도 하나의 카메라 모듈, 상기 적어도 하나의 디스플레이 모듈 및 상기 메모리와 동작적으로 연결된 프로세서(예: 프로세서(230))를 포함할 수 있다. 일 실시예에 따르면, 상기 프로세서는, 상기 적어도 하나의 카메라 모듈을 통해 획득되는 현실 객체에 대한 제 1 영상을 출력하고, 상기 제 1 영상에 적용 가능한 상기 가상 객체에 대한 리스트를 출력하고, 상기 리스트에서 선택된 가상 객체를 구성하는 서브 객체들을 출력하고, 상기 서브 객체들 중 선택된 적어도 하나의 서브 객체가 상기 제 1 영상에 적용된 제 2 영상을 생성하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는 상기 서브 객체들 중 일부로 구성된 제 1 서브 객체를 출력하고, 상기 제 1 서브 객체 중 적어도 하나의 서브 객체가 상기 제 1 영상에 적용되면, 상기 서브 객체들 중 다른 일부로 구성된 제 2 서브 객체를 출력하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는 상기 제 1 영상에서 지정된 제 1 객체가 인식되는 경우 제 1 타입의 서브 객체를 출력하고, 상기 제 1 영상에서 지정된 제 2 객체가 인식되는 경우, 제 2 타입의 서브 객체를 출력하도록 설정될 수 있다. 일 실시예에 따르면, 상기 제 1 타입의 서브 객체는 하나의 서브 객체로 구성되며, 상기 제 2 타입의 서브 객체는 복수의 서브 객체들로 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는 상기 제 1 타입의 서브 객체를 상기 지정된 제 1 객체의 적어도 일부와 중첩하여 표시하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 지정된 제 1 객체는 사람의 신체 일부 또는 동물의 신체 일부 중 적어도 하나를 포함하며, 상기 제 2 지정된 객체는 풍경, 식물 또는 사물 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 선택된 적어도 하나의 서브 객체의 뎁스를 확인하고, 상기 뎁스에 기초하여 상기 선택된 적어도 하나의 서브 객체를 상기 제 1 영상에 적용하도록 설정될 수 있다
다양한 실시예에 따르면, 상기 프로세서는, 상기 선택된 적어도 하나의 서브 객체가 상기 제 1 영상의 지정된 제 1 객체에 적용되는 경우 상기 제 1 객체의 움직임과 관련된 제 1 상태 정보를 획득하고, 상기 제 1 상태 정보에 기초하여, 상기 지정된 제 1 객체에 적용된 적어도 하나의 서브 객체에 효과를 적용하도록 설정될 수 있다. 일 실시예에 따르면, 상기 지정된 제 1 객체는 사람의 신체 일부 또는 동물의 신체 일부 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 선택된 적어도 하나의 서브 객체가 상기 제 1 영상의 지정된 제 2 객체에 적용되는 경우 상기 전자 장치의 자세와 제 2 상태 정보를 획득하고, 상기 제 2 상태 정보에 기초하여, 상기 지정된 제 2 객체 및 상기 제 2 객체에 적용된 적어도 하나의 서브 객체에 효과를 적용하도록 설정될 수 있다. 일 실시예에 따르면, 상기 지정된 제 2 객체는 풍경, 식물 또는 사물 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 상기 프로세서는 상기 선택된 가상 객체에 구성된 각각의 서브 객체에 대하여 위치, 크기 또는 적용 시점을 다르게 설정하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는 상기 생성된 제 2 영상을 상기 전자 장치 또는 외부 전자 장치에 저장하도록 설정될 수 있다.
다양한 실시예에 따른 전자 장치(예: 전자 장치(200))는 적어도 하나의 카메라 모듈(예: 카메라 모듈(210)), 적어도 하나의 디스플레이 모듈(예: 디스플레이 모듈(220)), 뎁스(depth)를 가지는 다수의 서브 객체로 구성된 가상 객체를 저장하는 메모리(예: 메모리(240)), 상기 적어도 하나의 카메라 모듈, 상기 적어도 하나의 디스플레이 모듈 및 상기 메모리와 동작적으로 연결된 프로세서(예: 프로세서(230))를 포함할 수 있다. 일 실시예에 따르면, 상기 프로세서는 상기 적어도 하나의 카메라 모듈을 통해 획득되는 현실 객체에 대한 제 1 영상을 획득하고, 상기 제 1 영상에 적용 가능한 적어도 하나의 서브 객체의 뎁스에 따라 상기 제 1 영상에서의 상기 적어도 하나의 서브 객체의 위치를 결정하고, 상기 위치가 결정된 적어도 하나의 서브 객체를 상기 제 1 영상에 합성하여 제 2 영상을 생성하고, 상기 제 2 영상을 출력하도록 설정될 수 있다.
도 5는 다양한 실시예에 따른 전자 장치에서 현실 객체에 가상 객체를 적용하는 동작을 도시한 흐름도이다.
도 5를 참조하면, 다양한 실시예에 따른 전자 장치(200)(또는 프로세서(230))는, 510 동작에서, 증강 현실 기능을 실행하고 현실 객체에 대한 제 1 영상을 표시할 수 있다. 제 1 영상은 증강 현실 기능의 실행의 응답으로 구동되는 카메라 모듈(210)을 통해 획득될 수 있다. 일 실시예에 따르면, 전자 장치(200)는 사용자의 증강 현실 어플리케이션을 실행하는 요청에 기반하여, 증강 현실 기능 실행을 처리할 수 있다.
다양한 실시예에 따르면, 전자 장치(200)는 520 동작에서, 가상 객체 리스트를 출력할 수 있다. 일 실시예에 따르면, 전자 장치(200)는 제 1 영상에 적용 가능한 가상 객체에 대한 리스트를 출력할 수 있다.
다양한 실시예에 따르면, 전자 장치(200)는 530 동작에서, 리스트에 대한 입력에 기초하여, 제 1 영상에 적용할 적어도 하나의 가상 객체를 선택할 수 있다. 가상 객체를 선택하는 입력은 전자 펜 또는 사용자 신체의 일부를 이용한 터치, 제스처, 근접, 호버링 입력을 포함할 수 있으며, 본 문서가 이에 한정되는 것은 아니다. 예컨대, 하드 키의 입력을 통해서도 가상 객체를 선택할 수도 있다.
다양한 실시예에 따르면, 전자 장치(200)는 540 동작에서, 선택된 가상 객체에 구성된 서브 객체를 출력할 수 있다. 일 실시예에 따르면, 가상 객체는 복수의 서브 객체로 구성될 수 있으며, 각각의 서브 객체는 독립된 레이어 형태로 구성될 수 있다. 전자 장치(200)는 복수의 서브 객체들 중 일부만을 화면에 표시하거나 복수의 서브 객체들 전체를 한번에 표시할 수도 있다.
다양한 실시예에 따르면, 전자 장치(200)는 550 동작에서, 제 1 영상과 입력에 의해 선택된 적어도 하나의 서브 객체에 기초하여, 제 2 영상을 표시할 수 있다. 일 실시예에 따르면, 전자 장치(200)는 서브 객체를 선택하는 입력의 위치 변화를 모니터링하여 서브 객체가 적용될 제 1 영상 내의 위치를 결정하고, 결정된 위치에 서브 객체를 적용한 제 2 영상을 생성할 수 있다.
도 6a은 다양한 실시예에 따른 전자 장치에서 서브 객체를 표시하는 동작을 도시한 흐름도이다. 도 6b는 다양한 실시예에 따른 서브 객체를 표시하는 상황을 설명하기 위한 도면이다. 이하에서 설명되는 도 6a의 동작들은, 도 5의 540 동작에 대한 다양한 실시예를 나타낸 것일 수 있다.
도 6a를 참조하면, 다양한 실시예에 따른 전자 장치(200)(또는 프로세서(230))는, 610 동작에서, 적어도 하나의 서브 객체(650)를 표시할 수 있다. 전술한 바와 같이, 가상 객체는 복수의 서브 객체들로 구성될 수 있으며, 전자 장치(200)는 복수의 서브 객체들 중 일부 서브 객체를 디스플레이 모듈(220)을 통해 표시할 수 있다. 일 실시예에 따르면, 전자 장치(200)는 추가적으로 또는 선택적으로, 도 6b 에 도시된 바와 같이, 서브 객체의 표시에 대한 진행을 나타내는 정보(660)를 제공할 수 있다. 정보는 가상 객체에 포함된 서브 객체 중 현재 표시되는 서브 객체의 표시 순서(예: 뎁스 순서)를 의미할 수 있다. 예를 들어, 전자 장치(200)는 도 6b에 도시된 바와 같이, 가상 객체에 포함된 4개의 서브 객체 중 현재 2 번째 서브 객체가 표시되고 있음을 나타내는 정보(예: 음영 처리된 박스)(672)를 제공할 수 있다. 이러한 정보는 가상 객체의 가로, 세로 사이즈를 줄이거나 가상 객체의 해상도를 줄인 썸네일 이미지(670)와 함께 표시될 수도 있다. 다른 예로, 전자 장치(200)는 서브 객체에 대한 표시의 진행 정도를 나타내는 정보를 제공할 수 있다. 예컨대, 전자 장치(200)는 도 6b에 도시된 바와 같이, 가상 객체에 포함된 서브 객체 중 현재 30%에 해당되는 서브 객체에 대해 표시가 진행된 경우 가상 객체의 썸네일 이미지(680)의 30%에 대하여 음영 처리(682)할 수 있다. 또한, 가상 객체에 대해 현재 전체 서브 객체의 표시가 진행된 경우, 전자 장치(200)는 가상 객체의 썸네일 이미지 전체에 대하여 음영 처리할 수도 있다. 이에 따라, 사용자는 제 1 영상에 적용할 수 있는 서브 객체를 용이하게 선택할 수 있다.
다양한 실시예에 따르면, 전자 장치(200)는 620 동작에서, 입력에 기초하여 서브 객체를 제 1 영상에 적용할 수 있다. 일 실시예에 따르면, 전자 장치(200)는 입력(예: 터치 입력)이 감지된 위치에 기초하여 제 1 영상에 적용할 서브 객체를 선택할 수 있다. 또한, 전자 장치(200)는 입력(예: 드래그 입력)의 위치 변화를 감지하여 서브 객체가 적용될 제 1 영상 내의 위치를 결정할 수 있다.
다양한 실시예에 따르면, 전자 장치(200)는 630 동작에서, 서브 객체가 적용된 제 2 영상을 표시할 수 있다.
다양한 실시예에 따르면, 전자 장치(200)는 640 동작에서, 다른 서브 객체를 표시할 수 있다. 표시되는 다른 서브 객체는 도 4a를 통해 전술한 바와 같이, 제 2 영상에 추가로 적용될 수 있는 서브 객체들 중 적어도 하나일 수 있다. 이러한 다른 서브 객체는 제 2 영상과 함께 표시될 수 있다.
도 7은 다양한 실시예에 따른 전자 장치에서 서브 객체를 표시하는 다른 동작을 도시한 흐름도이다. 그리고, 도 8은 다양한 실시예에 따른 가상 객체의 구성을 설명하기 위한 다른 도면이고, 도 9는 다양한 실시예에 따른 서브 객체를 표시하는 상황을 설명하기 위한 도면이다. 이하에서 설명되는 도 7의 동작들은, 도 5의 540 동작에 대한 다양한 실시예를 나타낸 것일 수 있다.
도 7을 참조하면, 다양한 실시예에 따른 전자 장치(200)(또는 프로세서(230))는, 710 동작에서, 제 1 영상을 분석할 수 있다. 일 실시예에 따르면, 전자 장치(200)는 카메라 모듈(210)을 통해 획득되는 제 1 영상에 대한 영상 분석 동작을 수행하여 현실 세계의 객체를 인식할 수 있다.
다양한 실시예에 따르면, 전자 장치(200)는 720 동작에서, 제 1 영상 분석 결과로 제 1 지정된 객체가 인식되었는지 또는 제 2 지정된 객체가 인식되었는지 판단할 수 있다. 제 1 지정된 객체는 사람의 신체 일부(예: 얼굴, 손 등) 또는 동물의 신체 일부(예: 얼굴, 다리, 꼬리 등)를 포함할 수 있으며, 제 2 지정된 객체는 풍경, 식물, 사물과 같이, 제 1 지정된 객체를 제외한 나머지 객체를 포함할 수 있다.
다양한 실시예에 따르면, 제 1 영상에서 제 1 지정된 객체가 인식되는 경우, 전자 장치(200)는 730 동작에서 제 2 타입의 서브 객체를 표시할 수 있다. 도 8에 도시된 바와 같이, 가상 객체(800)는 복수의 레이어(또는 서브 객체)로 구성된 제 1 타입의 서브 객체(810)로 구성될 수 있으며, 각각의 제 1 타입의 서브 객체(810)는 단일 레이어로 구성된 제 2 타입의 서브 객체(820)로 구성될 수 있다. 예를 들어, 제 1 타입의 서브 객체(810)는 제 1 레이어(301) 및 제 4 레이어(307)로 구성된 제 1 타입의 서브 객체(812)와 제 2 레이어(303) 및 제 3 레이어(305)로 구성된 제 1 타입의 서브 객체(814)로 구성될 수 있다. 또한, 제 2 타입의 서브 객체(820)는 제 1 레이어(301)로 구성된 제 2 타입의 서브 객체(822), 제 2 레이어(307)로 구성된 제 2 타입의 서브 객체(824), 제 3 레이어(303)로 구성된 제 2 타입의 서브 객체(826) 및 제 4 레이어(305)로 구성된 제 2 타입의 서브 객체(828)로 구성될 수 있다. 일 실시예에 따르면, 전자 장치(200)는 제 1 지정된 객체의 인식에 기반하여, 단일 레이어로 구성된 제 2 타입의 서브 객체를 제 1 영상과 함께 표시할 수 있다. 예를 들어, 단일 레이어로 구성된 제 2 타입의 서브 객체는 도 9의 (b)에 도시된 바와 같이, 제 1 지정된 객체(910)의 적어도 일부와 중첩되어 표시(912)될 수 있다. 그러나, 이는 예시적일 뿐, 본 문서가 이에 한정되는 것은 아니다. 예컨대, 제 2 타입의 서브 객체는 제 1 지정된 객체와 인접하여 표시될 수도 있다.
다양한 실시예에 따르면, 제 1 영상에서 제 2 지정된 객체가 인식되는 경우, 전자 장치(200)는 740 동작에서 제 1 타입의 서브 객체를 표시할 수 있다. 전자 장치(200)는 제 2 지정된 객체의 인식에 기반하여, 복수의 레이어로 구성된 제 1 타입의 서브 객체를 제 1 영상과 함께 표시할 수 있다. 예를 들어, 복수의 레이어로 구성된 제 2 타입의 서브 객체는 도 9의 (a)에 도시된 바와 같이, 제 1 영상(900) 중 제 2 지정된 객체가 표시되지 않은 빈 공간에 표시(902)될 수 있다. 그러나, 이는 예시적일 뿐, 본 문서가 이에 한정되는 것은 아니다. 예컨대 제 1 타입의 서브 객체는 제 2 지정된 객체의 적어도 일부와 중첩되어 표시될 수도 있다.
도 10은 다양한 실시예에 따른 전자 장치에서 서브 객체가 적용된 현실 객체를 표시하는 동작을 도시한 흐름도이다. 그리고, 도 11a는 전자 장치와 관련된 상태 정보에 기초하여 서브 객체에 효과를 적용하는 상황을 설명하기 위한 도면이고, 도 11b는 객체와 관련된 상태 정보에 기초하여 서브 객체에 효과를 적용하는 상황을 설명하기 위한 도면이다. 이하에서 설명되는 도 10의 동작들은, 도 5의 550 동작에 대한 다양한 실시예를 나타낸 것일 수 있다.
도 10을 참조하면, 다양한 실시예에 따른 전자 장치(200)(또는 프로세서(230))는, 1010 동작에서, 서브 객체가 제 1 지정된 객체에 적용되었는지 또는 제 2 지정된 객체에 적용되었는지 판단할 수 있다. 전술한 바와 같이, 제 1 지정된 객체는 사람의 얼굴을 포함할 수 있으며, 제 2 지정된 객체는 풍경, 동물, 식물, 사물과 같이 제 1 지정된 객체를 제외한 나머지를 포함할 수 있다. 이와 관련하여, 전자 장치(200)는 객체 인식 알고리즘을 이용하여 제 1 영상에서 객체를 인식할 수 있다.
다양한 실시예에 따르면, 서브 객체가 제 1 지정된 객체에 적용되는 경우, 전자 장치(200)는 1020 동작에서 객체와 관련된 제 1 상태 정보를 획득할 수 있다. 제 1 상태 정보는 제 1 영상 내의 객체에 대한 움직임과 관련될 수 있다. 이와 관련하여, 전자 장치(200)는 객체 추적 알고리즘을 이용하여 제 1 영상에서 인식된 객체의 움직임을 검출할 수 있다. 또한, 전자 장치(200)는 1030 동작과 같이 제 1 상태 정보에 기초하여 서브 객체에 효과를 적용할 수 있다. 예를 들어, 도 11b의 (a)에 도시된 바와 같이 서브 객체는 제 1 지정된 객체에 적용될 수 있으며, 도 11b의 (a)에 도시된 바와 같이 제 1 지정된 객체에 적용된 서브 객체도 제 1 지정된 객체의 움직임에 대응하여 이동되어 표시될 수 있다.
다양한 실시예에 따르면, 서브 객체가 제 2 지정된 객체에 적용되는 경우, 전자 장치(200)는 1040 동작에서 전자 장치(200)와 관련된 제 2 상태 정보를 획득할 수 있다. 제 2 상태 정보는 전자 장치(200)의 자세와 관련될 수 있다. 이와 관련하여, 전자 장치(200)는 전자 장치(200)의 자세를 모니터링 할 수 있고, 전자 장치(200)의 자세 정보(예: 피치(pitch), 롤(roll), 요(yaw) 등)의 변화에 기반하여 상태 변화(예: 전자 장치(200)의 자세)를 검출할 수 있다. 또한, 전자 장치(200)는 1050 동작과 같이, 전자 장치(200)의 상태에 기초하여 서브 객체에 효과를 적용할 수 있다. 예를 들어, 도 11a의 (a)에 도시된 바와 같이 서브 객체는 제 2 지정된 객체에 적용될 수 있으며, 도 11b의 (a)에 도시된 바와 같이 제 2 지정된 객체 및 서브 객체도 전자 장치(200)의 상태에 대응하여 원근 변환(perspective transformation)되어 표시될 수 있다.
도 12는 다양한 실시예에 따른 전자 장치에서 현실 객체에 가상 객체를 적용하는 다른 동작을 도시한 흐름도이다.
도 12를 참조하면, 전자 장치(1202)(예: 전자 장치(200))는 외부 전자 장치(1204)(예: 전자 장치(102), 전자 장치(104), 또는 서버(108))로부터 가상 객체를 제공받을 수 있다.
다양한 실시예에 따르면, 전자 장치(1202)는 1210 동작에서 증강 현실 기능을 실행하고 현실 객체에 대한 제 1 영상을 표시할 수 있다. 전술한 바와 같이, 제 1 영상은 증강 현실 기능의 실행의 응답으로 구동되는 카메라 모듈(210)을 통해 획득될 수 있다.
다양한 실시예에 따르면, 증강 현실 기능이 실행되면, 전자 장치(1202)는 1220 동작에서, 외부 전자 장치(1204)로 가상 객체를 요청할 수 있다. 이와 관련하여, 전자 장치(1202)는 제 1 네트워크(예: 근거리 무선 통신 네트워크) 또는 제 2 네트워크(예: 원거리 무선 통신 네트워크)를 통하여 외부 전자 장치(1204)와 통신하는 동작을 수행할 수 있다.
다양한 실시예에 따르면, 가상 객체 요청에 응답하여, 외부 전자 장치(1204)는 1230 동작에서, 적어도 하나의 가상 객체를 전자 장치(1202)로 전송할 수 있다.
다양한 실시예에 따르면, 전자 장치(1202)는 1240 동작에서, 가상 객체 리스트를 출력할 수 있다. 일 실시예에 따르면, 전자 장치(1202)는 외부 전자 장치(1204)로부터 제공받은 가상 객체에 대한 리스트를 출력할 수 있다. 이때, 전자 장치(1202) 내부에 미리 저장된 가상 객체가 존재하는 경우, 전자 장치(1202)는 저장된 가상 객체에 대한 리스트도 함께 출력할 수도 있다.
다양한 실시예에 따르면, 전자 장치(1202)는 1250 동작에서, 리스트에 대한 입력에 기초하여, 제 1 영상에 적용할 적어도 하나의 가상 객체를 선택할 수 있다.
다양한 실시예에 따르면, 전자 장치(1202)는 1260 동작에서, 선택된 가상 객체에 구성된 서브 객체를 출력할 수 있다. 일 실시예에 따르면, 가상 객체는 복수의 서브 객체로 구성될 수 있으며, 각각의 서브 객체는 독립된 레이어 형태로 구성될 수 있다. 전자 장치(1202)는 복수의 서브 객체들 중 일부만을 화면에 표시하거나 복수의 서브 객체들 전체를 한번에 표시할 수도 있다.
다양한 실시예에 따르면, 전자 장치(1202)는 1270 동작에서, 제 1 영상과 입력에 의해 선택된 적어도 하나의 서브 객체에 기초하여, 제 2 영상을 표시할 수 있다. 일 실시예에 따르면, 전자 장치(1202)는 서브 객체를 선택하는 입력의 위치 변화를 모니터링하여 서브 객체가 적용될 제 1 영상 내의 위치를 결정하고, 결정된 위치에 서브 객체를 적용한 제 2 영상을 생성할 수 있다.
다양한 실시예에 따른 전자 장치(예: 전자 장치(200))의 동작 방법은 현실 객체에 대한 제 1 영상을 출력하는 동작, 뎁스(depth)를 가지는 다수의 서브 객체로 구성된 가상 객체에 대한 리스트를 출력하는 동작, 상기 제 1 영상에 적용 가능한 적어도 하나의 가상 객체를 선택하는 입력을 수신하는 동작, 상기 입력에 의해 선택된 가상 객체를 구성하는 서브 객체들을 출력하는 동작 및 상기 서브 객체들 중 선택된 적어도 하나의 서브 객체가 상기 제 1 영상에 적용된 제 2 영상을 생성하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치의 동작 방법은 상기 서브 객체들 중 일부로 구성된 제 1 서브 객체를 출력하는 동작 및 상기 제 1 서브 객체 중 적어도 하나의 서브 객체가 상기 제 1 영상에 적용되면, 상기 서브 객체들 중 다른 일부로 구성된 제 2 서브 객체를 출력하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치의 동작 방법은 상기 제 1 영상에서 지정된 제 1 객체가 인식되는 경우 제 1 타입의 서브 객체를 출력하는 동작 및 상기 제 1 영상에서 지정된 제 2 객체가 인식되는 경우, 제 2 타입의 서브 객체를 출력하는 동작을 포함할 수 있다. 일 실시예에 따르면, 상기 제 1 타입의 서브 객체는 하나의 서브 객체로 구성되며, 상기 제 2 타입의 서브 객체는 복수의 서브 객체들로 구성될 수 있다.
다양한 실시예에 따르면, 전자 장치의 동작 방법은 상기 제 1 타입의 서브 객체를 상기 지정된 제 1 객체의 적어도 일부와 중첩하여 표시하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 지정된 제 1 객체는 사람의 신체 일부 또는 동물의 신체 일부 중 적어도 하나를 포함하며, 상기 제 2 지정된 객체는 풍경, 식물 또는 사물 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치의 동작 방법은 상기 선택된 적어도 하나의 서브 객체의 뎁스를 확인하는 동작 및 상기 뎁스에 기초하여 상기 선택된 적어도 하나의 서브 객체를 상기 제 1 영상에 적용하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치의 동작 방법은 상기 선택된 적어도 하나의 서브 객체가 상기 제 1 영상의 지정된 제 1 객체에 적용되는 경우 상기 제 1 객체의 움직임과 관련된 제 1 상태 정보를 획득하는 동작 및 상기 제 1 상태 정보에 기초하여, 상기 지정된 제 1 객체에 적용된 적어도 하나의 서브 객체에 효과를 적용하는 동작을 포함할 수 있다. 일 실시예에 따르면, 상기 지정된 제 1 객체는 사람의 신체 일부 또는 동물의 신체 일부 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치의 동작 방법은 상기 선택된 적어도 하나의 서브 객체가 상기 제 1 영상의 지정된 제 2 객체에 적용되는 경우 상기 전자 장치의 자세와 제 2 상태 정보를 획득하는 동작 및 상기 제 2 상태 정보에 기초하여, 상기 지정된 제 2 객체 및 상기 제 2 객체에 적용된 적어도 하나의 서브 객체에 효과를 적용하는 동작을 포함할 수 있다. 일 실시예에 따르면, 상기 지정된 제 2 객체는 풍경, 식물 또는 사물 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치의 동작 방법은 상기 선택된 가상 객체에 구성된 각각의 서브 객체에 대하여 위치, 크기 또는 적용 시점을 다르게 설정하는 동작을 포함할 수 있다.
이하, 본 문서의 다양한 실시예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 문서의 실시예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
도 1은 다양한 실시예들에 따른 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108) 중 적어도 하나와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성 요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일 실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102), 스피커 또는 헤드폰 등)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일 실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일 실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일 실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일 실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일 실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일 실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.
무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일 실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
다양한 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일 실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제 1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일 실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일 실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치(101)는 다양한 형태의 장치가 될 수 있다. 전자 장치(101)는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치(101)는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어™)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
도 2는 다양한 실시예에 따른 전자 장치의 개략적인 블록도이다. 그리고, 도 3은 다양한 실시예에 따른 가상 객체의 구성을 설명하기 위한 도면이다.
도 2를 참조하면, 전자 장치(200)(예: 전자 장치(101))는 카메라 모듈(210)(예: 카메라 모듈(180)), 디스플레이 모듈(220)(예: 디스플레이 모듈(160)), 프로세서(230)(예: 프로세서(120)) 및 메모리(240)(예: 메모리(130))를 포함할 수 있다. 그러나, 이는 예시적일 뿐, 전술한 구성들이 전자 장치(200)의 필수 구성으로 한정되는 것은 아니다. 예컨대, 전자 장치(200)는 도 2에 도시된 구성들 보다 많은 구성들을 가지거나, 또는 그 보다 적은 구성을 가지는 것으로 구현될 수 있다. 예를 들면, 전자 장치(200)는 입력 모듈(예: 터치 패널, 하드 키, 근접 센서, 생체 센서 등) 또는 전원 공급부 등의 구성을 포함하여 구성될 수 있다.
다양한 실시예에 따르면, 카메라 모듈(210)은 사용자의 외형(예: 사용자의 얼굴, 신체, 또는 사용자가 착용한 액세서리 중 적어도 하나), 풍경, 동물, 식물, 사물과 같은 현실 세계의 객체(현실 객체)에 대한 제 1 영상을 획득할 수 있다. 카메라 모듈(210)은 미리 지정된 요청(예: 증강 현실 어플리케이션을 실행시키는 요청)에 기반하여 제 1 영상을 획득할 수 있다. 일 실시예에 따르면, 전자 장치(200)는 각각 다른 속성 또는 기능을 가진 복수의 카메라 모듈(210)들을 포함할 수 있다. 예를 들면, 복수의 카메라 모듈(210)들 중 적어도 하나는 광각 카메라이고, 적어도 다른 하나는 망원 카메라일 수 있다. 유사하게, 복수의 카메라 모듈(210)들 중 적어도 하나는 전면 카메라이고, 적어도 다른 하나는 후면 카메라일 수 있다. 그러나, 이는 예시적일 뿐, 본 문서가 이에 한정되는 것은 아니다. 예컨대, 복수의 카메라 모듈(210)은 전자 장치(200)의 동일한 면에 함께 구비될 수도 있다.
다양한 실시예에 따르면, 디스플레이 모듈(220)은 프로세서(230)의 제어에 기반하여 다양한 콘텐츠들(예: 어플리케이션 실행 화면 등)을 표시할 수 있다. 표시되는 콘텐츠들 중 적어도 일부는, 카메라 모듈(210)을 통해 획득되는 제 1 영상 및 제 1 영상에 적용(또는 합성)될 수 있는 가상 객체를 포함할 수 있다. 일 실시 예에 따르면, 전자 장치(200)는 적어도 하나의 디스플레이 모듈(220)을 포함할 수 있다. 예를 들어, 적어도 하나의 디스플레이 모듈(220)은 평면형 디스플레이, 종이처럼 얇고 유연한 기판을 통해 손상 없이 휘거나 구부리거나 말 수 있는 커브드 디스플레이(curved display)(또는 벤디드 디스플레이(bended display)) 또는 구부렸다가 폈다가를 자유자재로 할 수 있는 플렉서블 디스플레이를 포함할 수 있다.
일 실시예에 따르면, 가상 객체는 디스플레이 모듈(220)을 통해 표시되는 복수의 서브 객체로 구성될 수 있다. 각각의 서브 객체는 텍스트, 아이콘 또는 이미지 중 적어도 하나를 포함할 수 있으나, 이는 예시적일 뿐 본 문서가 이에 한정되는 것은 아니다. 예컨대, 서브 객체의 일부 구성(예: 텍스트를 구성하는 각각의 획(stroke))도 하나의 서브 객체로 해석될 수도 있다.
예를 들어, 도 3에 도시된 바와 같이, 제 1 서브 객체(301), 제 2 서브 객체(303), 제 3 서브 객체(305) 및 제 4 서브 객체(307)가 가상 객체(300)의 구성일 수 있다. 이러한 서브 객체 각각(301 내지 307)은 각각의 독립된 레이어 형태로 구성되며, 이러한 각각의 레이어들이 오버레이되어 가상 객체(300)로 생성될 수 있다. 이에 따라, 각각의 서브 객체(301 내지 307)가 독립적으로 위치, 크기 및 적용 시점을 다르게 하여 제 1 영상에 적용될 수 있다. 추가적으로 또는 선택적으로, 가상 객체(300)는 어느 하나의 서브 객체를 기준으로 뎁스(depth)를 갖는 서브 객체로 구성될 수도 있다. 예를 들어, 도 3에 도시된 바와 같이, 제 1 서브 객체(301), 제 1 서브 객체(301)를 기준으로, 제 1 뎁스(예: d1)를 가지는 제 2 서브 객체(303), 제 2 뎁스(예: d2)를 가지는 제 3 서브 객체(305), 제 3 뎁스(예: d3)를 가지는 제 4 서브 객체(307)가 가상 객체(300)의 구성으로 제공될 수 있다. 이에 따라, 각각의 서브 객체(301 내지 307)는 뎁스 정보에 기초하여 서로 다른 뎁스, 예를 들어, 원근감을 갖도록 제 1 영상에 적용될 수 있다.
다양한 실시예에 따르면, 프로세서(230)는 전자 장치(200)의 다양한 구성요소들을 제어할 수 있다. 일 실시예에 따르면, 프로세서(230)는 카메라 모듈(210), 디스플레이 모듈(220) 및 메모리(240)와 작동적으로 연결될 수 있다. 프로세서(230)는 가상 객체에 구성된 복수의 서브 객체 각각을 제 1 영상에 적용할 수 있다. 예를 들어, 프로세서(230)는 가상 객체를 구성하는 다수의 서브 객체 중 적어도 하나의 서브 객체를 선택하는 입력을 감지하고, 선택된 서브 객체가 입력에 대응되는 제 1 영상 내의 일부 영역에 적용된 제 2 영상을 생성할 수 있다. 이와 관련하여, 선택적으로 또는 추가적으로, 프로세서(230)는 제 1 영상이 표시되는 동안 가상 객체의 리스트를 디스플레이 모듈(220)을 통해 표시하고, 가상 객체 선택을 위한 입력을 수신할 수 있다. 또한, 프로세서(230)는 가상 객체 선택을 위한 입력을 수신하면, 선택된 가상 객체를 구성하는 다수의 서브 객체에 대한 리스트를 디스플레이 모듈(220)을 통해 표시할 수 있다. 다수의 서브 객체에 대한 리스트는 제 1 영상의 적어도 일부와 중첩되어 표시될 수 있으나, 본 문서가 이에 한정되는 것은 아니다. 예컨대, 다수의 서브 객체에 대한 리스트는 제 1 영상과 구분되어 표시될 수도 있다. 일 실시예에 따르면, 프로세서(230)는 제 1 영상 및 서브 객체에 의해 생성된 제 2 영상을 전자 장치(200) 내부(예: 메모리(240)) 또는 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108))에 저장될 수 있다.
다양한 실시예에 따르면, 메모리(240)는 전자 장치(200)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 예를 들어, 메모리(240)는 디스플레이 모듈(220)에 표시된 제 1 영상(또는 현실 객체)에 적용(또는 합성)이 가능한 적어도 하나의 가상 객체를 저장할 수 있다. 또한, 메모리(240)는 제 1 영상과 가상 객체에 기초하여 생성된 제 2 영상을 저장할 수 있다.
다양한 실시예에 따르면, 메모리(240)는 적어도 하나의 프로그램 모듈을 포함할 수 있다. 프로그램 모듈은 도 1의 프로그램(140)을 포함할 수 있다. 적어도 하나의 프로그램 모듈은 표시 모듈(242) 및 생성 모듈(244)을 포함할 수 있다. 그러나, 이는 예시적일 뿐, 본 문서가 이에 한정되는 것이 아니다. 예컨대, 전술한 모듈 중 적어도 하나가 메모리(240)의 구성에서 제외될 수 있으며, 반대로 전술한 모듈 외에 다른 모듈이 메모리(240)의 구성으로 추가될 수도 있다. 또한, 전술한 모듈 중 일부 모듈은 다른 모듈로 통합될 수도 있다.
일 실시예에 따르면, 표시 모듈(242)은 제 1 영상, 가상 객체, 가상 객체를 구성하는 서브 객체를 표시하도록 하는 명령어를 포함할 수 있다. 일 실시예에 따르면, 생성 모듈(244)은 제 1 영상 및 가상 객체에 기초하여 제 2 영상을 생성하도록 하는 명령어를 포함할 수 있다.
도 4a는 다양한 실시예에 따른 전자 장치에서 현실 객체에 가상 객체를 적용하는 상황을 설명하는 도면이다. 그리고, 도 4b는 다양한 실시예에 따른 전자 장치에서 현실 객체에 가상 객체가 적용된 결과를 설명하는 도면이다.
도 4a를 참조하면, 전자 장치(200)(또는 프로세서(230) 또는 전자 장치(101))는 증강 현실 기능을 실행할 수 있다. 전자 장치(200)는 증강 현실 기능의 실행에 응답하여, 현실 객체에 대한 제 1 영상을 획득하기 위한 카메라 모듈(210)을 구동시킬 수 있다. 일 실시예에 따르면, 전자 장치(200)는 사용자의 증강 현실 어플리케이션을 실행하는 요청에 기반하여, 증강 현실 기능 실행을 처리할 수 있다.
다양한 실시예에 따르면, 도 4a의 (a)에 도시된 바와 같이, 전자 장치(200)는 증강 현실 기능이 실행되면, 카메라 모듈(210)의 설정과 관련된 객체를 제공하는 메뉴 영역(410), 특정 기능의 제어와 관련된 객체를 제공하는 제어 영역(420) 및 증강 현실 화면(430)을 포함하는 사용자 인터페이스를 출력할 수 있다.
일 실시예에 따르면, 사용자 인터페이스의 상단에는 메뉴 영역(410)이 배치될 수 있다. 메뉴 영역(410)은, 증강 현실 기능의 설정을 위한 객체(412), 플래시의 동작 설정을 위한 객체(414), 타이머 촬영의 설정을 위한 객체(416), 촬영 화면의 비율의 설정을 위한 객체(418) 등을 포함할 수 있다. 사용자 인터페이스의 하단에는 제어 영역(420)이 배치될 수 있다. 제어 영역(420)은 저장된 영상을 확인하는 모드로의 진입을 제어하는 객체(422), 프리뷰 영상을 획득하도록 제어하는 객체(424), 영상 획득을 위한 카메라 모듈(210)의 동작(예: 전면 카메라 모듈 동작 또는 후면 카메라 모듈 동작)을 제어하는 객체(426) 등을 포함할 수 있다. 사용자 인터페이스의 상단(예: 메뉴 영역(410))과 하단(예: 제어 영역(420)) 사이에는 증강 현실 화면(430)이 배치될 수 있다. 증강 현실 화면(430)은 카메라 모듈(210)을 통해 획득하는 실시간 프리뷰 영상일 수 있다. 그러나, 이는 예시적일 뿐, 본 문서가 이에 한정되는 것은 아니다. 예컨대, 전술한 메뉴 영역(410)과 제어 영역(420)은, 사용자 인터페이스의 좌측 및 우측에 배치되거나 일정 투명도를 가지고 증강 현실 화면(430)의 적어도 일부에 오버레이될 수도 있다. 또한, 메뉴 영역(410)과 제어 영역(420)에는 전술한 객체들 외에 다른 객체들이 포함될 수도 있다.
다양한 실시예에 따르면, 전자 장치(200)는 가상 객체(예: 숲 테마, 우주 테마 등)에 대한 리스트(440)를 표시할 수 있다. 도시된 바와 같이, 가상 객체에 대한 리스트(440)는 카메라 모듈(210)을 통해 획득되는 제 1 영상과 함께 표시될 수 있다. 일 실시예에 따르면, 전자 장치(200)는 미리 지정된 사용자 입력을 수신하는 것에 응답하여 가상 객체에 대한 리스트(440)를 표시할 수 있다. 그러나, 이는 예시적일 뿐, 본 문서가 이에 한정되는 것은 아니다. 예컨대, 가상 객체에 대한 리스트(400)는 제 1 영상의 표시에 응답하여 자동으로 표시될 수도 있다. 또한, 가상 객체에 대한 리스트(440)는 제 1 영상이 표시되기 전 또는 제 1 영상의 표시가 종료된 후에 표시될 수도 있다.
다양한 실시예에 따르면, 리스트(440)에서 하나의 가상 객체(예: 숲 테마)(442)를 선택하는 입력이 감지되면, 전자 장치(200)는 도 4a의 (b)에 도시된 바와 같이, 선택된 가상 객체를 구성하는 서브 객체(450)를 표시할 수 있다. 예를 들어, 전자 장치(200)는 제 1 영상에 적용될 수 있는 서브 객체에 대한 가이드 정보를 표시할 수 있다. 전술한 바와 같이, 가상 객체는 복수의 서브 객체(예: 제 1 서브 객체(301) 내지 제 4 서브 객체(307))로 구성될 수 있다. 전자 장치(200)는 복수의 서브 객체들 중 미리 지정된 개수에 해당하는 일부 서브 객체(예: 제 2 서브 객체(303)) 만을 가이드로 정보로 화면에 표시할 수도 있다. 다른 예로, 전자 장치(200)는 복수의 서브 객체들 전체를 가이드 정보로 화면에 표시할 수 있다. 이에 따라, 사용자는 화면에 표시되는 서브 객체에 대한 가이드 정보를 통해서, 제 1 영상에 적용할 수 있는 서브 객체를 용이하게 선택할 수 있다. 일 실시예에 따르면, 전자 장치(200)는 미리 지정된 사용자 입력을 수신하는 것에 응답하여 서브 객체에 대한 가이드 정보를 출력하거나 또는 가상 객체의 선택에 응답하여 서브 객체에 대한 가이드 정보를 자동으로 표시할 수도 있다.
다양한 실시예에 따르면, 서브 객체를 선택하는 입력이 감지되면, 도 4a의 (c)에 도시된 바와 같이, 전자 장치(200)는 선택된 서브 객체와 제 1 영상에 기초하여 제 2 영상을 생성할 수 있다. 전자 장치(200)는 서브 객체를 선택하는 입력의 위치 변화를 모니터링하여 서브 객체가 적용될 제 1 영상 내의 위치를 결정하고, 결정된 위치에 서브 객체를 적용(462)한 제 2 영상(460)을 생성할 수 있다. 예를 들어, 전자 장치(200)는 선택된 서브 객체의 뎁스 정보에 기초하여 제 1 영상에서의 선택된 서브 객체의 위치를 결정할 수 있다. 이때, 전자 장치(200)는 가이드 정보로 표시된 서브 객체를 다른 서브 객체로 전환(470)할 수 있다. 예를 들어, 전자 장치(200)는 제 1 영상에 적용되지 않은 다른 서브 객체(예: 제 1 서브 객체(301)를 가이드 정보로 표시할 수 있다. 그러나, 이는 예시적일 뿐, 본 문서가 이에 한정되는 것은 아니다. 예컨대, 제 1 영상에 적용되었던 서브 객체도 가이드 정보로 표시될 수도 있다. 다양한 실시예에 따르면, 가이드 정보로 표시된 서브 객체는 서브 객체의 선택과 상관없이 다른 서브 객체로 전환(470)될 수도 있다. 예를 들어, 전자 장치(200)는 미리 지정된 사용자 입력을 수신하는 것에 응답하여, 가이드 정보로 표시된 서브 객체를 다른 서브 객체로 전환(470)할 수 있다. 이에, 사용자는 가상 객체를 구성하는 복수의 서브 객체 중 자신이 원하는 서브 객체를 입력을 통해서 선택할 수 있다. 이때, 사용자에 의해 선택되는 서브 객체의 표시 위치는 뎁스 정보에 기초하여 다른 서브 객체의 표시 위치와 달라질 수 있다.
다양한 실시예에 따르면, 전자 장치(200)는 가상 객체를 구성하는 각각의 서브 객체를 제 1 영상을 적용하여 사용자만의 개성을 표현하는 콘텐츠 생성을 가능하게 할 수 있다. 예를 들어, 사용자는 동일한 가상 객체를 사용하더라도 도 4b의 (a)와 같이 각각의 서브 객체(예: 서브 객체 301 내지 307)의 위치를 제 1 영상의 제 1 부분(예: 좌측 상단)에 배치한 제 2 영상(480)을 생성할 수 있으며, 도 4b의 (b)와 같이 서브 객체의 일부(예: 서브 객체 303 및 307)를 제 1 영상의 제 1 부분(예: 좌측 상단)에 배치시키고 서브 객체의 다른 일부(예: 서브 객체 301 및 305)를 제 1 영상의 제 2 부분(예: 좌측 하단)에 배치한 제 2 영상(490)을 생성할 수도 있다.
다양한 실시예에 따르면, 도 4a를 통해 전술한 바와 같이, 전자 장치(200)는 가상 객체의 리스트 및 가상 객체에 대한 서브 객체의 리스트를 제 1 영상과 함께 제공할 수 있다. 그러나, 이는 예시적일 뿐, 본 문서가 이에 한정되는 것은 아니다. 예컨대, 전자 장치(200)는 가상 객체의 리스트의 제공을 생략하고, 제 1 영상이 표시되는 동안 미리 지정된 적어도 하나의 서브 객체(예: 디폴트 서브 객체)를 표시할 수도 있다.
다양한 실시예에 따른 전자 장치(예: 전자 장치(200))는 적어도 하나의 카메라 모듈(예: 카메라 모듈(210)), 적어도 하나의 디스플레이 모듈(예: 디스플레이 모듈(220)), 뎁스(depth)를 가지는 다수의 서브 객체로 구성된 가상 객체를 저장하는 메모리(예: 메모리(240)) 및 상기 적어도 하나의 카메라 모듈, 상기 적어도 하나의 디스플레이 모듈 및 상기 메모리와 동작적으로 연결된 프로세서(예: 프로세서(230))를 포함할 수 있다. 일 실시예에 따르면, 상기 프로세서는, 상기 적어도 하나의 카메라 모듈을 통해 획득되는 현실 객체에 대한 제 1 영상을 출력하고, 상기 제 1 영상에 적용 가능한 상기 가상 객체에 대한 리스트를 출력하고, 상기 리스트에서 선택된 가상 객체를 구성하는 서브 객체들을 출력하고, 상기 서브 객체들 중 선택된 적어도 하나의 서브 객체가 상기 제 1 영상에 적용된 제 2 영상을 생성하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는 상기 서브 객체들 중 일부로 구성된 제 1 서브 객체를 출력하고, 상기 제 1 서브 객체 중 적어도 하나의 서브 객체가 상기 제 1 영상에 적용되면, 상기 서브 객체들 중 다른 일부로 구성된 제 2 서브 객체를 출력하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는 상기 제 1 영상에서 지정된 제 1 객체가 인식되는 경우 제 1 타입의 서브 객체를 출력하고, 상기 제 1 영상에서 지정된 제 2 객체가 인식되는 경우, 제 2 타입의 서브 객체를 출력하도록 설정될 수 있다. 일 실시예에 따르면, 상기 제 1 타입의 서브 객체는 하나의 서브 객체로 구성되며, 상기 제 2 타입의 서브 객체는 복수의 서브 객체들로 구성될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는 상기 제 1 타입의 서브 객체를 상기 지정된 제 1 객체의 적어도 일부와 중첩하여 표시하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 지정된 제 1 객체는 사람의 신체 일부 또는 동물의 신체 일부 중 적어도 하나를 포함하며, 상기 제 2 지정된 객체는 풍경, 식물 또는 사물 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 선택된 적어도 하나의 서브 객체의 뎁스를 확인하고, 상기 뎁스에 기초하여 상기 선택된 적어도 하나의 서브 객체를 상기 제 1 영상에 적용하도록 설정될 수 있다
다양한 실시예에 따르면, 상기 프로세서는, 상기 선택된 적어도 하나의 서브 객체가 상기 제 1 영상의 지정된 제 1 객체에 적용되는 경우 상기 제 1 객체의 움직임과 관련된 제 1 상태 정보를 획득하고, 상기 제 1 상태 정보에 기초하여, 상기 지정된 제 1 객체에 적용된 적어도 하나의 서브 객체에 효과를 적용하도록 설정될 수 있다. 일 실시예에 따르면, 상기 지정된 제 1 객체는 사람의 신체 일부 또는 동물의 신체 일부 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 선택된 적어도 하나의 서브 객체가 상기 제 1 영상의 지정된 제 2 객체에 적용되는 경우 상기 전자 장치의 자세와 제 2 상태 정보를 획득하고, 상기 제 2 상태 정보에 기초하여, 상기 지정된 제 2 객체 및 상기 제 2 객체에 적용된 적어도 하나의 서브 객체에 효과를 적용하도록 설정될 수 있다. 일 실시예에 따르면, 상기 지정된 제 2 객체는 풍경, 식물 또는 사물 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 상기 프로세서는 상기 선택된 가상 객체에 구성된 각각의 서브 객체에 대하여 위치, 크기 또는 적용 시점을 다르게 설정하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는 상기 생성된 제 2 영상을 상기 전자 장치 또는 외부 전자 장치에 저장하도록 설정될 수 있다.
다양한 실시예에 따른 전자 장치(예: 전자 장치(200))는 적어도 하나의 카메라 모듈(예: 카메라 모듈(210)), 적어도 하나의 디스플레이 모듈(예: 디스플레이 모듈(220)), 뎁스(depth)를 가지는 다수의 서브 객체로 구성된 가상 객체를 저장하는 메모리(예: 메모리(240)), 상기 적어도 하나의 카메라 모듈, 상기 적어도 하나의 디스플레이 모듈 및 상기 메모리와 동작적으로 연결된 프로세서(예: 프로세서(230))를 포함할 수 있다. 일 실시예에 따르면, 상기 프로세서는 상기 적어도 하나의 카메라 모듈을 통해 획득되는 현실 객체에 대한 제 1 영상을 획득하고, 상기 제 1 영상에 적용 가능한 적어도 하나의 서브 객체의 뎁스에 따라 상기 제 1 영상에서의 상기 적어도 하나의 서브 객체의 위치를 결정하고, 상기 위치가 결정된 적어도 하나의 서브 객체를 상기 제 1 영상에 합성하여 제 2 영상을 생성하고, 상기 제 2 영상을 출력하도록 설정될 수 있다.
도 5는 다양한 실시예에 따른 전자 장치에서 현실 객체에 가상 객체를 적용하는 동작을 도시한 흐름도이다.
도 5를 참조하면, 다양한 실시예에 따른 전자 장치(200)(또는 프로세서(230))는, 510 동작에서, 증강 현실 기능을 실행하고 현실 객체에 대한 제 1 영상을 표시할 수 있다. 제 1 영상은 증강 현실 기능의 실행의 응답으로 구동되는 카메라 모듈(210)을 통해 획득될 수 있다. 일 실시예에 따르면, 전자 장치(200)는 사용자의 증강 현실 어플리케이션을 실행하는 요청에 기반하여, 증강 현실 기능 실행을 처리할 수 있다.
다양한 실시예에 따르면, 전자 장치(200)는 520 동작에서, 가상 객체 리스트를 출력할 수 있다. 일 실시예에 따르면, 전자 장치(200)는 제 1 영상에 적용 가능한 가상 객체에 대한 리스트를 출력할 수 있다.
다양한 실시예에 따르면, 전자 장치(200)는 530 동작에서, 리스트에 대한 입력에 기초하여, 제 1 영상에 적용할 적어도 하나의 가상 객체를 선택할 수 있다. 가상 객체를 선택하는 입력은 전자 펜 또는 사용자 신체의 일부를 이용한 터치, 제스처, 근접, 호버링 입력을 포함할 수 있으며, 본 문서가 이에 한정되는 것은 아니다. 예컨대, 하드 키의 입력을 통해서도 가상 객체를 선택할 수도 있다.
다양한 실시예에 따르면, 전자 장치(200)는 540 동작에서, 선택된 가상 객체에 구성된 서브 객체를 출력할 수 있다. 일 실시예에 따르면, 가상 객체는 복수의 서브 객체로 구성될 수 있으며, 각각의 서브 객체는 독립된 레이어 형태로 구성될 수 있다. 전자 장치(200)는 복수의 서브 객체들 중 일부만을 화면에 표시하거나 복수의 서브 객체들 전체를 한번에 표시할 수도 있다.
다양한 실시예에 따르면, 전자 장치(200)는 550 동작에서, 제 1 영상과 입력에 의해 선택된 적어도 하나의 서브 객체에 기초하여, 제 2 영상을 표시할 수 있다. 일 실시예에 따르면, 전자 장치(200)는 서브 객체를 선택하는 입력의 위치 변화를 모니터링하여 서브 객체가 적용될 제 1 영상 내의 위치를 결정하고, 결정된 위치에 서브 객체를 적용한 제 2 영상을 생성할 수 있다.
도 6a은 다양한 실시예에 따른 전자 장치에서 서브 객체를 표시하는 동작을 도시한 흐름도이다. 도 6b는 다양한 실시예에 따른 서브 객체를 표시하는 상황을 설명하기 위한 도면이다. 이하에서 설명되는 도 6a의 동작들은, 도 5의 540 동작에 대한 다양한 실시예를 나타낸 것일 수 있다.
도 6a를 참조하면, 다양한 실시예에 따른 전자 장치(200)(또는 프로세서(230))는, 610 동작에서, 적어도 하나의 서브 객체(650)를 표시할 수 있다. 전술한 바와 같이, 가상 객체는 복수의 서브 객체들로 구성될 수 있으며, 전자 장치(200)는 복수의 서브 객체들 중 일부 서브 객체를 디스플레이 모듈(220)을 통해 표시할 수 있다. 일 실시예에 따르면, 전자 장치(200)는 추가적으로 또는 선택적으로, 도 6b 에 도시된 바와 같이, 서브 객체의 표시에 대한 진행을 나타내는 정보(660)를 제공할 수 있다. 정보는 가상 객체에 포함된 서브 객체 중 현재 표시되는 서브 객체의 표시 순서(예: 뎁스 순서)를 의미할 수 있다. 예를 들어, 전자 장치(200)는 도 6b에 도시된 바와 같이, 가상 객체에 포함된 4개의 서브 객체 중 현재 2 번째 서브 객체가 표시되고 있음을 나타내는 정보(예: 음영 처리된 박스)(672)를 제공할 수 있다. 이러한 정보는 가상 객체의 가로, 세로 사이즈를 줄이거나 가상 객체의 해상도를 줄인 썸네일 이미지(670)와 함께 표시될 수도 있다. 다른 예로, 전자 장치(200)는 서브 객체에 대한 표시의 진행 정도를 나타내는 정보를 제공할 수 있다. 예컨대, 전자 장치(200)는 도 6b에 도시된 바와 같이, 가상 객체에 포함된 서브 객체 중 현재 30%에 해당되는 서브 객체에 대해 표시가 진행된 경우 가상 객체의 썸네일 이미지(680)의 30%에 대하여 음영 처리(682)할 수 있다. 또한, 가상 객체에 대해 현재 전체 서브 객체의 표시가 진행된 경우, 전자 장치(200)는 가상 객체의 썸네일 이미지 전체에 대하여 음영 처리할 수도 있다. 이에 따라, 사용자는 제 1 영상에 적용할 수 있는 서브 객체를 용이하게 선택할 수 있다.
다양한 실시예에 따르면, 전자 장치(200)는 620 동작에서, 입력에 기초하여 서브 객체를 제 1 영상에 적용할 수 있다. 일 실시예에 따르면, 전자 장치(200)는 입력(예: 터치 입력)이 감지된 위치에 기초하여 제 1 영상에 적용할 서브 객체를 선택할 수 있다. 또한, 전자 장치(200)는 입력(예: 드래그 입력)의 위치 변화를 감지하여 서브 객체가 적용될 제 1 영상 내의 위치를 결정할 수 있다.
다양한 실시예에 따르면, 전자 장치(200)는 630 동작에서, 서브 객체가 적용된 제 2 영상을 표시할 수 있다.
다양한 실시예에 따르면, 전자 장치(200)는 640 동작에서, 다른 서브 객체를 표시할 수 있다. 표시되는 다른 서브 객체는 도 4a를 통해 전술한 바와 같이, 제 2 영상에 추가로 적용될 수 있는 서브 객체들 중 적어도 하나일 수 있다. 이러한 다른 서브 객체는 제 2 영상과 함께 표시될 수 있다.
도 7은 다양한 실시예에 따른 전자 장치에서 서브 객체를 표시하는 다른 동작을 도시한 흐름도이다. 그리고, 도 8은 다양한 실시예에 따른 가상 객체의 구성을 설명하기 위한 다른 도면이고, 도 9는 다양한 실시예에 따른 서브 객체를 표시하는 상황을 설명하기 위한 도면이다. 이하에서 설명되는 도 7의 동작들은, 도 5의 540 동작에 대한 다양한 실시예를 나타낸 것일 수 있다.
도 7을 참조하면, 다양한 실시예에 따른 전자 장치(200)(또는 프로세서(230))는, 710 동작에서, 제 1 영상을 분석할 수 있다. 일 실시예에 따르면, 전자 장치(200)는 카메라 모듈(210)을 통해 획득되는 제 1 영상에 대한 영상 분석 동작을 수행하여 현실 세계의 객체를 인식할 수 있다.
다양한 실시예에 따르면, 전자 장치(200)는 720 동작에서, 제 1 영상 분석 결과로 제 1 지정된 객체가 인식되었는지 또는 제 2 지정된 객체가 인식되었는지 판단할 수 있다. 제 1 지정된 객체는 사람의 신체 일부(예: 얼굴, 손 등) 또는 동물의 신체 일부(예: 얼굴, 다리, 꼬리 등)를 포함할 수 있으며, 제 2 지정된 객체는 풍경, 식물, 사물과 같이, 제 1 지정된 객체를 제외한 나머지 객체를 포함할 수 있다.
다양한 실시예에 따르면, 제 1 영상에서 제 1 지정된 객체가 인식되는 경우, 전자 장치(200)는 730 동작에서 제 2 타입의 서브 객체를 표시할 수 있다. 도 8에 도시된 바와 같이, 가상 객체(800)는 복수의 레이어(또는 서브 객체)로 구성된 제 1 타입의 서브 객체(810)로 구성될 수 있으며, 각각의 제 1 타입의 서브 객체(810)는 단일 레이어로 구성된 제 2 타입의 서브 객체(820)로 구성될 수 있다. 예를 들어, 제 1 타입의 서브 객체(810)는 제 1 레이어(301) 및 제 4 레이어(307)로 구성된 제 1 타입의 서브 객체(812)와 제 2 레이어(303) 및 제 3 레이어(305)로 구성된 제 1 타입의 서브 객체(814)로 구성될 수 있다. 또한, 제 2 타입의 서브 객체(820)는 제 1 레이어(301)로 구성된 제 2 타입의 서브 객체(822), 제 2 레이어(307)로 구성된 제 2 타입의 서브 객체(824), 제 3 레이어(303)로 구성된 제 2 타입의 서브 객체(826) 및 제 4 레이어(305)로 구성된 제 2 타입의 서브 객체(828)로 구성될 수 있다. 일 실시예에 따르면, 전자 장치(200)는 제 1 지정된 객체의 인식에 기반하여, 단일 레이어로 구성된 제 2 타입의 서브 객체를 제 1 영상과 함께 표시할 수 있다. 예를 들어, 단일 레이어로 구성된 제 2 타입의 서브 객체는 도 9의 (b)에 도시된 바와 같이, 제 1 지정된 객체(910)의 적어도 일부와 중첩되어 표시(912)될 수 있다. 그러나, 이는 예시적일 뿐, 본 문서가 이에 한정되는 것은 아니다. 예컨대, 제 2 타입의 서브 객체는 제 1 지정된 객체와 인접하여 표시될 수도 있다.
다양한 실시예에 따르면, 제 1 영상에서 제 2 지정된 객체가 인식되는 경우, 전자 장치(200)는 740 동작에서 제 1 타입의 서브 객체를 표시할 수 있다. 전자 장치(200)는 제 2 지정된 객체의 인식에 기반하여, 복수의 레이어로 구성된 제 1 타입의 서브 객체를 제 1 영상과 함께 표시할 수 있다. 예를 들어, 복수의 레이어로 구성된 제 2 타입의 서브 객체는 도 9의 (a)에 도시된 바와 같이, 제 1 영상(900) 중 제 2 지정된 객체가 표시되지 않은 빈 공간에 표시(902)될 수 있다. 그러나, 이는 예시적일 뿐, 본 문서가 이에 한정되는 것은 아니다. 예컨대 제 1 타입의 서브 객체는 제 2 지정된 객체의 적어도 일부와 중첩되어 표시될 수도 있다.
도 10은 다양한 실시예에 따른 전자 장치에서 서브 객체가 적용된 현실 객체를 표시하는 동작을 도시한 흐름도이다. 그리고, 도 11a는 전자 장치와 관련된 상태 정보에 기초하여 서브 객체에 효과를 적용하는 상황을 설명하기 위한 도면이고, 도 11b는 객체와 관련된 상태 정보에 기초하여 서브 객체에 효과를 적용하는 상황을 설명하기 위한 도면이다. 이하에서 설명되는 도 10의 동작들은, 도 5의 550 동작에 대한 다양한 실시예를 나타낸 것일 수 있다.
도 10을 참조하면, 다양한 실시예에 따른 전자 장치(200)(또는 프로세서(230))는, 1010 동작에서, 서브 객체가 제 1 지정된 객체에 적용되었는지 또는 제 2 지정된 객체에 적용되었는지 판단할 수 있다. 전술한 바와 같이, 제 1 지정된 객체는 사람의 얼굴을 포함할 수 있으며, 제 2 지정된 객체는 풍경, 동물, 식물, 사물과 같이 제 1 지정된 객체를 제외한 나머지를 포함할 수 있다. 이와 관련하여, 전자 장치(200)는 객체 인식 알고리즘을 이용하여 제 1 영상에서 객체를 인식할 수 있다.
다양한 실시예에 따르면, 서브 객체가 제 1 지정된 객체에 적용되는 경우, 전자 장치(200)는 1020 동작에서 객체와 관련된 제 1 상태 정보를 획득할 수 있다. 제 1 상태 정보는 제 1 영상 내의 객체에 대한 움직임과 관련될 수 있다. 이와 관련하여, 전자 장치(200)는 객체 추적 알고리즘을 이용하여 제 1 영상에서 인식된 객체의 움직임을 검출할 수 있다. 또한, 전자 장치(200)는 1030 동작과 같이 제 1 상태 정보에 기초하여 서브 객체에 효과를 적용할 수 있다. 예를 들어, 도 11b의 (a)에 도시된 바와 같이 서브 객체는 제 1 지정된 객체에 적용될 수 있으며, 도 11b의 (a)에 도시된 바와 같이 제 1 지정된 객체에 적용된 서브 객체도 제 1 지정된 객체의 움직임에 대응하여 이동되어 표시될 수 있다.
다양한 실시예에 따르면, 서브 객체가 제 2 지정된 객체에 적용되는 경우, 전자 장치(200)는 1040 동작에서 전자 장치(200)와 관련된 제 2 상태 정보를 획득할 수 있다. 제 2 상태 정보는 전자 장치(200)의 자세와 관련될 수 있다. 이와 관련하여, 전자 장치(200)는 전자 장치(200)의 자세를 모니터링 할 수 있고, 전자 장치(200)의 자세 정보(예: 피치(pitch), 롤(roll), 요(yaw) 등)의 변화에 기반하여 상태 변화(예: 전자 장치(200)의 자세)를 검출할 수 있다. 또한, 전자 장치(200)는 1050 동작과 같이, 전자 장치(200)의 상태에 기초하여 서브 객체에 효과를 적용할 수 있다. 예를 들어, 도 11a의 (a)에 도시된 바와 같이 서브 객체는 제 2 지정된 객체에 적용될 수 있으며, 도 11b의 (a)에 도시된 바와 같이 제 2 지정된 객체 및 서브 객체도 전자 장치(200)의 상태에 대응하여 원근 변환(perspective transformation)되어 표시될 수 있다.
도 12는 다양한 실시예에 따른 전자 장치에서 현실 객체에 가상 객체를 적용하는 다른 동작을 도시한 흐름도이다.
도 12를 참조하면, 전자 장치(1202)(예: 전자 장치(200))는 외부 전자 장치(1204)(예: 전자 장치(102), 전자 장치(104), 또는 서버(108))로부터 가상 객체를 제공받을 수 있다.
다양한 실시예에 따르면, 전자 장치(1202)는 1210 동작에서 증강 현실 기능을 실행하고 현실 객체에 대한 제 1 영상을 표시할 수 있다. 전술한 바와 같이, 제 1 영상은 증강 현실 기능의 실행의 응답으로 구동되는 카메라 모듈(210)을 통해 획득될 수 있다.
다양한 실시예에 따르면, 증강 현실 기능이 실행되면, 전자 장치(1202)는 1220 동작에서, 외부 전자 장치(1204)로 가상 객체를 요청할 수 있다. 이와 관련하여, 전자 장치(1202)는 제 1 네트워크(예: 근거리 무선 통신 네트워크) 또는 제 2 네트워크(예: 원거리 무선 통신 네트워크)를 통하여 외부 전자 장치(1204)와 통신하는 동작을 수행할 수 있다.
다양한 실시예에 따르면, 가상 객체 요청에 응답하여, 외부 전자 장치(1204)는 1230 동작에서, 적어도 하나의 가상 객체를 전자 장치(1202)로 전송할 수 있다.
다양한 실시예에 따르면, 전자 장치(1202)는 1240 동작에서, 가상 객체 리스트를 출력할 수 있다. 일 실시예에 따르면, 전자 장치(1202)는 외부 전자 장치(1204)로부터 제공받은 가상 객체에 대한 리스트를 출력할 수 있다. 이때, 전자 장치(1202) 내부에 미리 저장된 가상 객체가 존재하는 경우, 전자 장치(1202)는 저장된 가상 객체에 대한 리스트도 함께 출력할 수도 있다.
다양한 실시예에 따르면, 전자 장치(1202)는 1250 동작에서, 리스트에 대한 입력에 기초하여, 제 1 영상에 적용할 적어도 하나의 가상 객체를 선택할 수 있다.
다양한 실시예에 따르면, 전자 장치(1202)는 1260 동작에서, 선택된 가상 객체에 구성된 서브 객체를 출력할 수 있다. 일 실시예에 따르면, 가상 객체는 복수의 서브 객체로 구성될 수 있으며, 각각의 서브 객체는 독립된 레이어 형태로 구성될 수 있다. 전자 장치(1202)는 복수의 서브 객체들 중 일부만을 화면에 표시하거나 복수의 서브 객체들 전체를 한번에 표시할 수도 있다.
다양한 실시예에 따르면, 전자 장치(1202)는 1270 동작에서, 제 1 영상과 입력에 의해 선택된 적어도 하나의 서브 객체에 기초하여, 제 2 영상을 표시할 수 있다. 일 실시예에 따르면, 전자 장치(1202)는 서브 객체를 선택하는 입력의 위치 변화를 모니터링하여 서브 객체가 적용될 제 1 영상 내의 위치를 결정하고, 결정된 위치에 서브 객체를 적용한 제 2 영상을 생성할 수 있다.
다양한 실시예에 따른 전자 장치(예: 전자 장치(200))의 동작 방법은 현실 객체에 대한 제 1 영상을 출력하는 동작, 뎁스(depth)를 가지는 다수의 서브 객체로 구성된 가상 객체에 대한 리스트를 출력하는 동작, 상기 제 1 영상에 적용 가능한 적어도 하나의 가상 객체를 선택하는 입력을 수신하는 동작, 상기 입력에 의해 선택된 가상 객체를 구성하는 서브 객체들을 출력하는 동작 및 상기 서브 객체들 중 선택된 적어도 하나의 서브 객체가 상기 제 1 영상에 적용된 제 2 영상을 생성하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치의 동작 방법은 상기 서브 객체들 중 일부로 구성된 제 1 서브 객체를 출력하는 동작 및 상기 제 1 서브 객체 중 적어도 하나의 서브 객체가 상기 제 1 영상에 적용되면, 상기 서브 객체들 중 다른 일부로 구성된 제 2 서브 객체를 출력하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치의 동작 방법은 상기 제 1 영상에서 지정된 제 1 객체가 인식되는 경우 제 1 타입의 서브 객체를 출력하는 동작 및 상기 제 1 영상에서 지정된 제 2 객체가 인식되는 경우, 제 2 타입의 서브 객체를 출력하는 동작을 포함할 수 있다. 일 실시예에 따르면, 상기 제 1 타입의 서브 객체는 하나의 서브 객체로 구성되며, 상기 제 2 타입의 서브 객체는 복수의 서브 객체들로 구성될 수 있다.
다양한 실시예에 따르면, 전자 장치의 동작 방법은 상기 제 1 타입의 서브 객체를 상기 지정된 제 1 객체의 적어도 일부와 중첩하여 표시하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 지정된 제 1 객체는 사람의 신체 일부 또는 동물의 신체 일부 중 적어도 하나를 포함하며, 상기 제 2 지정된 객체는 풍경, 식물 또는 사물 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치의 동작 방법은 상기 선택된 적어도 하나의 서브 객체의 뎁스를 확인하는 동작 및 상기 뎁스에 기초하여 상기 선택된 적어도 하나의 서브 객체를 상기 제 1 영상에 적용하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치의 동작 방법은 상기 선택된 적어도 하나의 서브 객체가 상기 제 1 영상의 지정된 제 1 객체에 적용되는 경우 상기 제 1 객체의 움직임과 관련된 제 1 상태 정보를 획득하는 동작 및 상기 제 1 상태 정보에 기초하여, 상기 지정된 제 1 객체에 적용된 적어도 하나의 서브 객체에 효과를 적용하는 동작을 포함할 수 있다. 일 실시예에 따르면, 상기 지정된 제 1 객체는 사람의 신체 일부 또는 동물의 신체 일부 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치의 동작 방법은 상기 선택된 적어도 하나의 서브 객체가 상기 제 1 영상의 지정된 제 2 객체에 적용되는 경우 상기 전자 장치의 자세와 제 2 상태 정보를 획득하는 동작 및 상기 제 2 상태 정보에 기초하여, 상기 지정된 제 2 객체 및 상기 제 2 객체에 적용된 적어도 하나의 서브 객체에 효과를 적용하는 동작을 포함할 수 있다. 일 실시예에 따르면, 상기 지정된 제 2 객체는 풍경, 식물 또는 사물 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치의 동작 방법은 상기 선택된 가상 객체에 구성된 각각의 서브 객체에 대하여 위치, 크기 또는 적용 시점을 다르게 설정하는 동작을 포함할 수 있다.
Claims (15)
- 전자 장치에 있어서,적어도 하나의 카메라 모듈;적어도 하나의 디스플레이 모듈;뎁스(depth)를 가지는 다수의 서브 객체로 구성된 가상 객체를 저장하는 메모리; 및상기 적어도 하나의 카메라 모듈, 상기 적어도 하나의 디스플레이 모듈 및 상기 메모리와 동작적으로 연결된 프로세서를 포함하며,상기 프로세서는,상기 적어도 하나의 카메라 모듈을 통해 획득되는 현실 객체에 대한 제 1 영상을 출력하고,상기 제 1 영상에 적용 가능한 상기 가상 객체에 대한 리스트를 출력하고,상기 리스트에서 선택된 가상 객체를 구성하는 서브 객체들을 출력하고,상기 서브 객체들 중 선택된 적어도 하나의 서브 객체가 상기 제 1 영상에 적용된 제 2 영상을 생성하도록 설정된 전자 장치.
- 제 1 항에 있어서,상기 프로세서는,상기 서브 객체들 중 일부로 구성된 제 1 서브 객체를 출력하고,상기 제 1 서브 객체 중 적어도 하나의 서브 객체가 상기 제 1 영상에 적용되면, 상기 서브 객체들 중 다른 일부로 구성된 제 2 서브 객체를 출력하도록 설정된 전자 장치.
- 제 1 항에 있어서,상기 프로세서는,상기 제 1 영상에서 지정된 제 1 객체가 인식되는 경우 제 1 타입의 서브 객체를 출력하고,상기 제 1 영상에서 지정된 제 2 객체가 인식되는 경우, 제 2 타입의 서브 객체를 출력하도록 설정되며,상기 제 1 타입의 서브 객체는 하나의 서브 객체로 구성되고,,상기 제 2 타입의 서브 객체는 복수의 서브 객체들로 구성되며,상기 지정된 제 1 객체는 사람의 신체 일부 또는 동물의 신체 일부 중 적어도 하나를 포함하고,상기 제 2 지정된 객체는 풍경, 식물 또는 사물 중 적어도 하나를 포함하는 전자 장치.
- 제 1 항에 있어서,상기 프로세서는,상기 선택된 적어도 하나의 서브 객체의 뎁스를 확인하고,상기 뎁스에 기초하여 상기 선택된 적어도 하나의 서브 객체를 상기 제 1 영상에 적용하도록 설정된 전자 장치.
- 제 1 항에 있어서,상기 프로세서는,상기 선택된 적어도 하나의 서브 객체가 상기 제 1 영상의 지정된 제 1 객체에 적용되는 경우 상기 제 1 객체의 움직임과 관련된 제 1 상태 정보를 획득하고,상기 제 1 상태 정보에 기초하여, 상기 지정된 제 1 객체에 적용된 적어도 하나의 서브 객체에 효과를 적용하도록 설정되며,상기 지정된 제 1 객체는 사람의 신체 일부 또는 동물의 신체 일부 중 적어도 하나를 포함하는 전자 장치.
- 제 1 항에 있어서,상기 프로세서는,상기 선택된 적어도 하나의 서브 객체가 상기 제 1 영상의 지정된 제 2 객체에 적용되는 경우 상기 전자 장치의 자세와 제 2 상태 정보를 획득하고,상기 제 2 상태 정보에 기초하여, 상기 지정된 제 2 객체 및 상기 제 2 객체에 적용된 적어도 하나의 서브 객체에 효과를 적용하도록 설정되며,상기 지정된 제 2 객체는 풍경, 식물 또는 사물 중 적어도 하나를 포함하는 전자 장치.
- 제 1 항에 있어서,상기 프로세서는,상기 선택된 가상 객체에 구성된 각각의 서브 객체에 대하여 위치, 크기 또는 적용 시점을 다르게 설정하도록 설정된 전자 장치.
- 제 1 항에 있어서,상기 프로세서는,상기 생성된 제 2 영상을 상기 전자 장치 또는 외부 전자 장치에 저장하도록 설정된 전자 장치.
- 전자 장치의 동작 방법에 있어서,현실 객체에 대한 제 1 영상을 출력하는 동작;뎁스(depth)를 가지는 다수의 서브 객체로 구성된 가상 객체에 대한 리스트를 출력하는 동작;상기 제 1 영상에 적용 가능한 적어도 하나의 가상 객체를 선택하는 입력을 수신하는 동작;상기 입력에 의해 선택된 가상 객체를 구성하는 서브 객체들을 출력하는 동작; 및상기 서브 객체들 중 선택된 적어도 하나의 서브 객체가 상기 제 1 영상에 적용된 제 2 영상을 생성하는 동작을 포함하는 방법.
- 제 9 항에 있어서,상기 서브 객체들 중 일부로 구성된 제 1 서브 객체를 출력하는 동작; 및상기 제 1 서브 객체 중 적어도 하나의 서브 객체가 상기 제 1 영상에 적용되면, 상기 서브 객체들 중 다른 일부로 구성된 제 2 서브 객체를 출력하는 동작을 포함하는 방법.
- 제 9 항에 있어서,상기 제 1 영상에서 지정된 제 1 객체가 인식되는 경우 제 1 타입의 서브 객체를 출력하는 동작; 및상기 제 1 영상에서 지정된 제 2 객체가 인식되는 경우, 제 2 타입의 서브 객체를 출력하는 동작을 포함하며,상기 제 1 타입의 서브 객체는 하나의 서브 객체로 구성되고,상기 제 2 타입의 서브 객체는 복수의 서브 객체들로 구성되며,상기 지정된 제 1 객체는 사람의 신체 일부 또는 동물의 신체 일부 중 적어도 하나를 포함하고,상기 제 2 지정된 객체는 풍경, 식물 또는 사물 중 적어도 하나를 포함하는 방법.
- 제 9 항에 있어서,상기 선택된 적어도 하나의 서브 객체의 뎁스를 확인하는 동작; 및상기 뎁스에 기초하여 상기 선택된 적어도 하나의 서브 객체를 상기 제 1 영상에 적용하는 동작을 포함하는 방법.
- 제 9 항에 있어서,상기 선택된 적어도 하나의 서브 객체가 상기 제 1 영상의 지정된 제 1 객체에 적용되는 경우 상기 제 1 객체의 움직임과 관련된 제 1 상태 정보를 획득하는 동작; 및상기 제 1 상태 정보에 기초하여, 상기 지정된 제 1 객체에 적용된 적어도 하나의 서브 객체에 효과를 적용하는 동작을 포함하며,상기 지정된 제 1 객체는 사람의 신체 일부 또는 동물의 신체 일부 중 적어도 하나를 포함하는 방법.
- 제 9 항에 있어서,상기 선택된 적어도 하나의 서브 객체가 상기 제 1 영상의 지정된 제 2 객체에 적용되는 경우 상기 전자 장치의 자세와 제 2 상태 정보를 획득하는 동작; 및상기 제 2 상태 정보에 기초하여, 상기 지정된 제 2 객체 및 상기 제 2 객체에 적용된 적어도 하나의 서브 객체에 효과를 적용하는 동작을 포함하며,상기 지정된 제 2 객체는 풍경, 식물 또는 사물 중 적어도 하나를 포함하는 방법.
- 제 9 항에 있어서,상기 선택된 가상 객체에 구성된 각각의 서브 객체에 대하여 위치, 크기 또는 적용 시점을 다르게 설정하는 동작을 포함하는 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21919795.1A EP4261790A4 (en) | 2021-01-12 | 2021-03-03 | METHOD FOR PROVIDING CONTENT CREATION FUNCTION AND ELECTRONIC DEVICE SUPPORTING THE SAME |
US18/351,268 US20230360342A1 (en) | 2021-01-12 | 2023-07-12 | Method for providing content creation function and electronic device supporting same |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0003675 | 2021-01-12 | ||
KR1020210003675A KR20220101783A (ko) | 2021-01-12 | 2021-01-12 | 콘텐츠 생성 기능을 제공하기 위한 방법 및 이를 지원하는 전자 장치 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/351,268 Continuation US20230360342A1 (en) | 2021-01-12 | 2023-07-12 | Method for providing content creation function and electronic device supporting same |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022154166A1 true WO2022154166A1 (ko) | 2022-07-21 |
Family
ID=82447431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2021/002608 WO2022154166A1 (ko) | 2021-01-12 | 2021-03-03 | 콘텐츠 생성 기능을 제공하기 위한 방법 및 이를 지원하는 전자 장치 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230360342A1 (ko) |
EP (1) | EP4261790A4 (ko) |
KR (1) | KR20220101783A (ko) |
WO (1) | WO2022154166A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102525318B1 (ko) * | 2022-07-29 | 2023-04-25 | 팜피 주식회사 | 2d 및 3d 콘텐츠를 동시에 제작하기 위한 방법 및 이를 위한 융합형 제작장치 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160016574A (ko) * | 2014-07-31 | 2016-02-15 | 삼성전자주식회사 | 영상 제공 방법 및 이를 위한 장치 |
KR101891597B1 (ko) * | 2017-05-04 | 2018-10-04 | (주)필링크 | 얼굴 인식 기반의 가상객체 합성 방법 및 이를 위한 장치 |
KR101920035B1 (ko) * | 2017-02-13 | 2018-11-19 | (주)필링크 | 가상 객체를 이용한 증강현실 콘텐츠 제공 방법 및 이를 위한 장치 |
KR101991794B1 (ko) * | 2016-12-06 | 2019-06-25 | 한국과학기술연구원 | 공간적 관계 정보를 이용하여 겹쳐 있는 가상 객체를 선택하기 위한 방법, 프로그램 및 장치 |
KR101984915B1 (ko) * | 2012-12-03 | 2019-09-03 | 삼성전자주식회사 | 증강 현실 컨텐츠 운용 방법 및 이를 지원하는 단말기와 시스템 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10296663B2 (en) * | 2014-05-13 | 2019-05-21 | Atheer, Inc. | Method for moving and aligning 3D objects in a plane within the 2D environment |
US20190088030A1 (en) * | 2017-09-20 | 2019-03-21 | Microsoft Technology Licensing, Llc | Rendering virtual objects based on location data and image data |
KR102450948B1 (ko) * | 2018-02-23 | 2022-10-05 | 삼성전자주식회사 | 전자 장치 및 그의 증강 현실 객체 제공 방법 |
CN111179435B (zh) * | 2019-12-24 | 2024-02-06 | Oppo广东移动通信有限公司 | 增强现实处理方法及装置、系统、存储介质和电子设备 |
-
2021
- 2021-01-12 KR KR1020210003675A patent/KR20220101783A/ko active Search and Examination
- 2021-03-03 WO PCT/KR2021/002608 patent/WO2022154166A1/ko unknown
- 2021-03-03 EP EP21919795.1A patent/EP4261790A4/en active Pending
-
2023
- 2023-07-12 US US18/351,268 patent/US20230360342A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101984915B1 (ko) * | 2012-12-03 | 2019-09-03 | 삼성전자주식회사 | 증강 현실 컨텐츠 운용 방법 및 이를 지원하는 단말기와 시스템 |
KR20160016574A (ko) * | 2014-07-31 | 2016-02-15 | 삼성전자주식회사 | 영상 제공 방법 및 이를 위한 장치 |
KR101991794B1 (ko) * | 2016-12-06 | 2019-06-25 | 한국과학기술연구원 | 공간적 관계 정보를 이용하여 겹쳐 있는 가상 객체를 선택하기 위한 방법, 프로그램 및 장치 |
KR101920035B1 (ko) * | 2017-02-13 | 2018-11-19 | (주)필링크 | 가상 객체를 이용한 증강현실 콘텐츠 제공 방법 및 이를 위한 장치 |
KR101891597B1 (ko) * | 2017-05-04 | 2018-10-04 | (주)필링크 | 얼굴 인식 기반의 가상객체 합성 방법 및 이를 위한 장치 |
Non-Patent Citations (1)
Title |
---|
See also references of EP4261790A4 * |
Also Published As
Publication number | Publication date |
---|---|
US20230360342A1 (en) | 2023-11-09 |
EP4261790A1 (en) | 2023-10-18 |
EP4261790A4 (en) | 2024-05-29 |
KR20220101783A (ko) | 2022-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021066468A1 (en) | Electronic device and control method thereof | |
WO2022055255A1 (ko) | 사용자 인터페이스를 제공하는 전자 장치 및 그 방법 | |
WO2022098204A1 (ko) | 가상현실 서비스를 제공하는 전자 장치 및 방법 | |
WO2022098125A1 (en) | Electronic device and screen control method thereof | |
WO2022131784A1 (ko) | 증강 현실 콘텐츠를 제공하는 전자 장치 및 방법 | |
WO2021256709A1 (ko) | 전자 장치 및 전자 장치의 동작 방법 | |
WO2022059968A1 (ko) | 증강 현실 콘텐츠를 제공하는 전자 장치 및 그의 동작 방법 | |
WO2022154166A1 (ko) | 콘텐츠 생성 기능을 제공하기 위한 방법 및 이를 지원하는 전자 장치 | |
WO2022215910A1 (ko) | 화면 공유 방법 및 그 전자 장치 | |
WO2023132459A1 (ko) | Ar 객체를 표시하는 전자 장치 및 그 방법 | |
WO2022080990A1 (ko) | 전자 장치 및 그의 형태에 기초한 기능 제어 방법 | |
WO2022108379A1 (ko) | 확장 가능한 디스플레이를 포함하는 전자 장치 및 컨텐츠 제공 방법 | |
WO2023017954A1 (ko) | 플렉서블 디스플레이를 포함하는 전자 장치 및 이의 제어 방법 | |
WO2022124561A1 (ko) | 복수의 센서를 이용한 전자 장치의 제어 방법 및 그 전자 장치 | |
WO2022025400A1 (ko) | 전자 펜과 연동된 화면 분할 제공 방법 및 이를 이용한 폴더블 전자 장치 | |
WO2022092652A1 (ko) | 사용자 인터페이스를 제공하는 전자 장치 | |
WO2024085642A1 (ko) | 디스플레이를 포함하는 전자 장치 및 이의 동작 방법 | |
WO2023018175A1 (ko) | 사운드 신호를 보정하는 전자 장치 및 전자 장치의 제어 방법 | |
WO2024034838A1 (ko) | 복수의 디스플레이들을 통해 화면을 표시하기 위한 전자 장치 및 방법 | |
WO2023146290A1 (ko) | 화면 표시를 제어하는 전자 장치 및 전자 장치의 동작 방법 | |
WO2022119214A1 (ko) | 전자 장치 및 전자 장치의 동작 방법 | |
WO2023090833A1 (ko) | 프리뷰 이미지를 제공하는 방법 및 그 전자 장치 | |
WO2024150966A1 (ko) | 알림 정보를 출력하는 전자 장치 및 이의 동작 방법 | |
WO2023282458A1 (ko) | 전자 장치 및 전자 장치의 동작 방법 | |
WO2024063432A1 (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: 21919795 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2021919795 Country of ref document: EP Effective date: 20230712 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |