WO2025239571A1 - 미디어 콘텐트를 재생하기 위한 장치, 방법, 및 저장 매체 - Google Patents
미디어 콘텐트를 재생하기 위한 장치, 방법, 및 저장 매체Info
- Publication number
- WO2025239571A1 WO2025239571A1 PCT/KR2025/005395 KR2025005395W WO2025239571A1 WO 2025239571 A1 WO2025239571 A1 WO 2025239571A1 KR 2025005395 W KR2025005395 W KR 2025005395W WO 2025239571 A1 WO2025239571 A1 WO 2025239571A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- wearable device
- video
- video data
- display
- frames
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/139—Format conversion, e.g. of frame-rate or size
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/156—Mixing image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
- H04N13/344—Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/485—End-user interface for client configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/488—Data services, e.g. news ticker
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
Definitions
- the electronic devices may include wearable devices that can be worn by a user.
- the electronic devices may include user equipment, AR glasses, VR glasses, and/or a head-mounted device (HMD) (e.g., a video see-through (VST) HMD, an optical see-through (OST) HMD).
- HMD head-mounted device
- a wearable device may include a memory storing instructions and including one or more storage media.
- the wearable device may include a camera system including at least one camera.
- the wearable device may include a display system including at least one display.
- the wearable device may include at least one processor including a processing circuit. The instructions, when individually or collectively executed by the at least one processor, may cause the wearable device to identify a first reference frame of a live video of an external environment acquired through the camera system while displaying the live video through the display system.
- the instructions when individually or collectively executed by the at least one processor, may cause the wearable device, while displaying a live video of an external environment acquired through the camera system through the display system, to identify a second reference frame of the video data stored in the wearable device based on one or more similarity values of frames of the video data with respect to the first reference frame of the live video.
- the instructions when individually or collectively executed by the at least one processor, may cause the wearable device, while displaying a live video of an external environment acquired through the camera system through the display system, to display, through the display system, a visual object extracted from the frames of the video data played back from a time point corresponding to the second reference frame, at least partially overlapping the live video.
- a method performed by a wearable device may include an operation of identifying a first reference frame of a live video of an external environment while displaying the live video.
- the method may include an operation of identifying a second reference frame of the video data stored in the wearable device based on one or more similarity values of frames of the video data with respect to the first reference frame of the live video while displaying the live video of the external environment.
- the method may include an operation of displaying a visual object extracted from the frames of the video data played back from a time point corresponding to the second reference frame while displaying the live video of the external environment, at least partially overlapping the live video.
- a non-transitory computer-readable storage medium may store one or more programs comprising instructions that, when individually or collectively executed by at least one processor of a wearable device including a camera system including at least one camera and a display system including at least one display, cause live video of an external environment acquired through the camera system to be displayed through the display system, while identifying a first reference frame of the live video.
- the non-transitory computer-readable storage medium may store one or more programs comprising instructions that, when individually or collectively executed by the at least one processor, cause identify a second reference frame of the video data stored in the wearable device based on one or more similarity values of frames of the video data to the first reference frame of the live video.
- the non-transitory computer-readable storage medium may store one or more programs including instructions that, when individually or collectively executed by the at least one processor, cause the display system to display a visual object extracted from the frames of the video data reproduced from a time point corresponding to the second reference frame, at least partially overlapping the live video.
- a wearable device may include a memory storing instructions and including one or more storage media.
- the wearable device may include a camera system including at least one camera.
- the wearable device may include a display system including at least one display.
- the wearable device may include at least one processor including a processing circuit. The instructions, when individually or collectively executed by the at least one processor, may cause the wearable device to identify a first reference frame of a live video of an external environment acquired through the camera system while displaying the live video through the display system.
- the instructions when individually or collectively executed by the at least one processor, may cause the wearable device, while displaying live video of an external environment acquired through the camera system through the display system, to identify a second reference frame of the video data stored in the wearable device based on a comparison between background features of the first reference frame of the live video and background features of frames of the video data.
- the instructions when individually or collectively executed by the at least one processor, may cause the wearable device, while displaying live video of an external environment acquired through the camera system through the display system, to display, through the display system, a portion of an image related to a moving object extracted from the frames of the video data played back from a time point corresponding to the second reference frame, at least partially overlapping the live video.
- FIG. 1 is a block diagram of an electronic device within a network environment according to various embodiments.
- Figure 2a illustrates an example of a perspective view of a wearable device.
- FIG. 2b illustrates an example of one or more hardware devices arranged within a wearable device.
- Figures 3a and 3b illustrate an example of the appearance of a wearable device.
- Figure 4 shows an example of a block diagram of a wearable device.
- Fig. 5 shows an example of a block diagram of an electronic device for displaying an image in a virtual space.
- Figures 6a and 6b illustrate examples of how to play back stored video data together with video of the external environment, depending on the location of the wearable device.
- Figure 7a illustrates an example of an operational flow for a method of generating and storing video data by performing processing on a video for an external environment.
- Figure 7b illustrates an example of a method for determining a key frame among frames included in a video.
- Figure 7c shows an example of key points of a frame.
- FIG. 7d illustrates an example of a method for identifying a reference area for 3D media content using reconstructed video data.
- FIG. 8a illustrates an example of an operational flow for a method of displaying a visual object representing stored video data based on the location of a user of a wearable device.
- Figure 8b illustrates an example of how to display a visual object representing video data stored in the time domain.
- Figure 8c illustrates an example of how to display visual objects representing video data stored in the spatial domain.
- Figure 9a illustrates an example of a reference area for 3D media content.
- Figure 9b shows an example of a reference area that changes along a movement trajectory.
- Figure 9c illustrates an example of a fixed reference area with respect to the position of the wearable device.
- FIG. 10A illustrates an example of a method for displaying a selection screen including preview images of a video data set related to the location of a wearable device.
- Figure 10c illustrates an example of how to display an indicator to indicate a reference area.
- FIG. 11 illustrates an example of a flowchart for a method of displaying a visual object representing stored video data based on the similarity between the video and the stored video data for the external environment.
- expressions such as “more than” or “less than” may be used to determine whether a specific condition is satisfied or fulfilled. However, this is merely a description for expressing an example and does not exclude descriptions such as “more than” or “less than.” Conditions described as “more than” may be replaced with “more than,” conditions described as “less than,” and conditions described as “more than and less than” may be replaced with “more than and less than.” In addition, hereinafter, "A" to “B” mean at least one of the elements from A (including A) to B (including B).
- an electronic device (101) may communicate with an electronic device (102) via a first network (198) (e.g., a short-range wireless communication network), or may communicate with at least one of an electronic device (104) or a server (108) via a second network (199) (e.g., a long-range wireless communication network).
- the electronic device (101) may communicate with the electronic device (104) via the server (108).
- the processor (120) may, for example, execute software (e.g., a program (140)) to control at least one other component (e.g., a hardware or software component) of the electronic device (101) connected to the processor (120) and perform various data processing or calculations.
- the processor (120) may store commands or data received from other components (e.g., a sensor module (176) or a communication module (190)) in a volatile memory (132), process the commands or data stored in the volatile memory (132), and store result data in a non-volatile memory (134).
- the processor (120) may include a main processor (121) (e.g., a central processing unit or an application processor) or a secondary processor (123) (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor)) that can operate independently or together therewith.
- a main processor (121) e.g., a central processing unit or an application processor
- a secondary processor (123) e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor
- the secondary processor (123) may be configured to use less power than the main processor (121) or to be specialized for a specified function.
- the secondary processor (123) may be implemented separately from the main processor (121) or as a part thereof.
- the auxiliary processor (123) may control at least a portion of functions or states associated with at least one component (e.g., a display module (160), a sensor module (176), or a communication module (190)) of the electronic device (101), for example, on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state.
- the auxiliary processor (123) e.g., an image signal processor or a communication processor
- the artificial neural network can be one of a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), deep Q-networks, or a combination of two or more of the above, but is not limited to the examples described above.
- the artificial intelligence model can additionally or alternatively include a software structure.
- the memory (130) can store various data used by at least one component (e.g., processor (120) or sensor module (176)) of the electronic device (101).
- the data can include, for example, software (e.g., program (140)) and input data or output data for commands related thereto.
- the memory (130) can include volatile memory (132) or 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) can receive commands or data to be used in a component of the electronic device (101) (e.g., a processor (120)) from an external source (e.g., a user) of the electronic device (101).
- the input module (150) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).
- the audio output module (155) can output audio signals to the outside of the electronic device (101).
- the audio output module (155) can 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. In one embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.
- the display module (160) can visually provide information to an external party (e.g., a user) of the electronic device (101).
- the display module (160) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling the device.
- the display module (160) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.
- the audio module (170) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (170) can acquire sound through the input module (150), output sound through the sound output module (155), or an external electronic device (e.g., electronic device (102)) (e.g., speaker or headphone) directly or wirelessly connected to the electronic device (101).
- an external electronic device e.g., electronic device (102)
- speaker or headphone directly or wirelessly connected to the electronic device (101).
- the sensor module (176) can detect the operating status (e.g., power or temperature) of the electronic device (101) or the external environmental status (e.g., user status) and generate an electrical signal or data value corresponding to the detected status.
- the sensor module (176) can 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, a temperature sensor, a humidity sensor, or an illuminance sensor.
- the interface (177) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (101) with an external electronic device (e.g., 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.
- HDMI high definition multimedia interface
- USB universal serial bus
- SD card interface Secure Digital Card
- connection terminal (178) may include a connector through which the electronic device (101) may be physically connected to an external electronic device (e.g., 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 (e.g., a headphone connector).
- a haptic module (179) can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli that a user can perceive through tactile or kinesthetic sensations.
- the haptic module (179) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
- the camera module (180) can capture still images and videos.
- the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.
- the power management module (188) can manage power supplied to the electronic device (101).
- the power management module (188) can be implemented, for example, as at least a part of a power management integrated circuit (PMIC).
- PMIC power management integrated circuit
- a battery (189) may power at least one component of the electronic device (101).
- the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
- the communication module (190) may support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device (101) and an external electronic device (e.g., electronic device (102), electronic device (104), or server (108)), and the performance of communication through the established communication channel.
- the communication module (190) may operate independently from the processor (120) (e.g., application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication.
- the communication module (190) may include a wireless communication module (192) (e.g., 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) (e.g., a local area network (LAN) communication module, or a power line communication module).
- a wireless communication module (192) e.g., 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) e.g., a local area network (LAN) communication module, or a power line communication module.
- the corresponding communication module can communicate with an external electronic device (104) via a first network (198) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (199) (e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)).
- a first network (198) e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)
- a second network (199) e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)
- a computer network e.g., a
- the wireless communication module (192) can verify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) by using subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (196).
- subscriber information e.g., an international mobile subscriber identity (IMSI)
- the wireless communication module (192) can support 5G networks and next-generation communication technologies following the 4G network, such as NR access technology (new radio access technology).
- the NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and connection of multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency communications)).
- eMBB enhanced mobile broadband
- mMTC massive machine type communications
- URLLC ultra-reliable and low-latency communications
- the wireless communication module (192) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate.
- a high-frequency band e.g., mmWave band
- the wireless communication module (192) can support various technologies for securing performance in a high-frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna.
- the wireless communication module (192) can support various requirements specified in the electronic device (101), an external electronic device (e.g., the electronic device (104)), or a network system (e.g., the second network (199)).
- the wireless communication module (192) can support a peak data rate (e.g., 20 Gbps or more) for eMBB realization, a loss coverage (e.g., 164 dB or less) for mMTC realization, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 1 ms or less for round trip) for URLLC realization.
- a peak data rate e.g., 20 Gbps or more
- a loss coverage e.g., 164 dB or less
- U-plane latency e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 1 ms or less for round trip
- the antenna module (197) can transmit or receive signals or power to or from an external device (e.g., an external electronic device).
- the antenna module (197) may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB).
- the antenna module (197) may include a plurality of antennas (e.g., 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), may be selected from the plurality of antennas by, for example, the communication module (190). 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.
- another component e.g., 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 may include a printed circuit board, an RFIC disposed on or adjacent a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) disposed on or adjacent a second side (e.g., a top side or a side side) of the printed circuit board and capable of transmitting or receiving signals in the designated high-frequency band.
- a first side e.g., a bottom side
- a plurality of antennas e.g., an array antenna
- At least some of the above components can be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).
- peripheral devices e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).
- commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) via a server (108) connected to a second network (199).
- Each of the external electronic devices (102 or 104) may be the same or a different type of device as the electronic device (101).
- all or part of the operations executed in the electronic device (101) may be executed in one or more of the external electronic devices (102, 104, or 108). For example, when the electronic device (101) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (101) may, instead of or in addition to executing the function or service itself, request one or more external electronic devices to perform the function or at least a part of the service.
- One or more external electronic devices that receive the request may execute at least a portion of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (101).
- the electronic device (101) may process the result as is or additionally and provide it as at least a portion of a response to the request.
- cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example.
- the electronic device (101) may provide an ultra-low latency service by using distributed computing or mobile edge computing, for example.
- the external electronic device (104) may include an Internet of Things (IoT) device.
- the server (108) may be an intelligent server utilizing machine learning and/or a neural network.
- the external electronic device (104) or the server (108) may be included in the second network (199).
- the electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
- Figure 2a illustrates an example of a perspective view of a wearable device.
- Figure 2b illustrates an example of one or more hardware components arranged within the wearable device.
- the wearable device (103) may have the form of glasses that are wearable on a body part of the user (e.g., the head).
- the wearable device (103) of FIGS. 2A and 2B may be an example of the electronic device (101) of FIG. 1.
- the wearable device (103) may include a head-mounted display (HMD).
- the housing of the wearable device (103) may include a flexible material, such as rubber and/or silicone, that is configured to fit closely to a portion of the user's head (e.g., a portion of the face surrounding both eyes).
- the housing of the wearable device (103) may include one or more straps that are capable of being twined around the user's head, and/or one or more temples that are detachably attachable to the ears of the head.
- a wearable device (103) may include at least one display (250) and a frame (200) supporting at least one display (250).
- the wearable device (103) can be worn on a part of a user's body.
- the wearable device (103) can provide augmented reality (AR), virtual reality (VR), or mixed reality (MR) that combines augmented reality and virtual reality to the user wearing the wearable device (103).
- AR augmented reality
- VR virtual reality
- MR mixed reality
- the wearable device (103) can display a virtual reality image provided from at least one optical device (282, 284) of FIG. 2B on at least one display (250) in response to a user's designated gesture acquired through the motion recognition cameras (260-2, 260-3) of FIG. 2B.
- At least one display (250) may provide visual information to a user.
- at least one display (250) may include a transparent or translucent lens.
- At least one display (250) may include a first display (250-1) and/or a second display (250-2) spaced apart from the first display (250-1).
- the first display (250-1) and the second display (250-2) may be positioned at positions corresponding to the user's left and right eyes, respectively.
- At least one display (250) can provide visual information transmitted from external light to the user through a lens included in the at least one display (250), and other visual information distinct from the visual information.
- the lens can be formed based on at least one of a Fresnel lens, a pancake lens, or a multi-channel lens.
- at least one display (250) can include a first surface (231) and a second surface (232) opposite to the first surface (231).
- a display area can be formed on the second surface (232) of the at least one display (250).
- external light can be transmitted to the user by being incident on the first surface (231) and transmitted through the second surface (232).
- at least one display (250) can display an augmented reality image combined with a virtual reality image provided from at least one optical device (282, 284) on a real screen transmitted through external light, in a display area formed on the second surface (232).
- At least one display (250) may include at least one waveguide (233, 234) that diffracts light emitted from at least one optical device (282, 284) and transmits the diffracted light to a user.
- the at least one waveguide (233, 234) may be formed based on at least one of glass, plastic, or polymer.
- a nano-pattern may be formed on at least a portion of the exterior or interior of the at least one waveguide (233, 234).
- the nano-pattern may be formed based on a grating structure having a polygonal and/or curved shape. Light incident on one end of the at least one waveguide (233, 234) may be propagated to the other end of the at least one waveguide (233, 234) by the nano-pattern.
- At least one waveguide (233, 234) may include at least one diffractive element (e.g., a diffractive optical element (DOE), a holographic optical element (HOE)) and at least one reflective element (e.g., a reflective mirror).
- at least one waveguide (233, 234) may be arranged within the wearable device (103) to guide a screen displayed by at least one display (250) to the user's eyes.
- the screen may be transmitted to the user's eyes based on total internal reflection (TIR) occurring within the at least one waveguide (233, 234).
- TIR total internal reflection
- the wearable device (103) can analyze an object included in a real image collected through a shooting camera (260-4), combine a virtual object corresponding to an object to be provided with augmented reality among the analyzed objects, and display the virtual object on at least one display (250).
- the virtual object can include at least one of text and an image regarding various information related to the object included in the real image.
- the wearable device (103) can analyze the object based on a multi-camera such as a stereo camera.
- the wearable device (103) can perform spatial recognition (e.g., simultaneous localization and mapping (SLAM)) using a multi-camera and/or time-of-flight (ToF).
- SLAM simultaneous localization and mapping
- ToF time-of-flight
- a user wearing the wearable device (103) can view an image displayed on at least one display (250).
- the frame (200) may be configured as a physical structure that allows the wearable device (103) to be worn on the user's body.
- the frame (200) may be configured so that, when the user wears the wearable device (103), the first display (250-1) and the second display (250-2) can be positioned corresponding to the user's left and right eyes.
- the frame (200) may support at least one display (250).
- the frame (200) may support the first display (250-1) and the second display (250-2) to be positioned corresponding to the user's left and right eyes.
- the frame (200) may include a region (220) that is in contact with at least a portion of a user's body when the user wears the wearable device (103).
- the region (220) of the frame (200) that is in contact with a portion of the user's body may include a region that is in contact with a portion of the user's nose, a portion of the user's ear, and a portion of the side of the user's face that the wearable device (103) makes contact with.
- the frame (200) may include a nose pad (210) that is in contact with a portion of the user's body.
- the nose pad (210) When the wearable device (103) is worn by the user, the nose pad (210) may be in contact with a portion of the user's nose.
- the frame (200) may include a first temple (204) and a second temple (205) that are in contact with another portion of the user's body that is distinct from the portion of the user's body.
- the frame (200) may include a first rim (201) that surrounds at least a portion of the first display (250-1), a second rim (202) that surrounds at least a portion of the second display (250-2), a bridge (203) that is disposed between the first rim (201) and the second rim (202), a first pad (211) that is disposed along a portion of the edge of the first rim (201) from one end of the bridge (203), a second pad (212) that is disposed along a portion of the edge of the second rim (202) from the other end of the bridge (203), a first temple (204) that extends from the first rim (201) and is fixed to a portion of the wearer's ear, and a second temple (205) that extends from the second rim (202) and is fixed to a portion of the ear opposite the ear.
- a first rim (201) that surrounds at least a portion of the first display (250-1)
- a second rim (202) that surrounds at least a portion of
- the first pad (211) and the second pad (212) may be in contact with a portion of the user's nose, and the first temple (204) and the second temple (205) may be in contact with a portion of the user's face and a portion of the user's ear.
- the temples (204, 205) may be rotatably connected to the rim through the hinge units (206, 207) of FIG. 2B.
- the first temple (204) may be rotatably connected to the first rim (201) through the first hinge unit (206) disposed between the first rim (201) and the first temple (204).
- the second temple (205) may be rotatably connected to the second rim (202) through the second hinge unit (207) disposed between the second rim (202) and the second temple (205).
- the wearable device (103) can identify an external object (e.g., a user's fingertip) touching the frame (200) and/or a gesture performed by the external object by using a touch sensor, a grip sensor, and/or a proximity sensor formed on at least a portion of a surface of the frame (200).
- an external object e.g., a user's fingertip
- a grip sensor e.g., a grip sensor
- a proximity sensor formed on at least a portion of a surface of the frame (200).
- the wearable device (103) may include hardwares that perform various functions (e.g., hardwares to be described later based on the block diagram of FIG. 4).
- the hardwares may include a battery module (270), an antenna module (275), at least one optical device (282, 284), speakers (e.g., speakers 255-1, 255-2), a microphone (e.g., microphones 265-1, 265-2, 265-3), a light-emitting module (not shown), and/or a printed circuit board (PCB) (290) (e.g., a printed circuit board).
- the various hardwares may be arranged within the frame (200).
- the microphones e.g., microphones 265-1, 265-2, 265-3) of the wearable device (103) may be disposed on at least a portion of the frame (200) to acquire sound signals.
- a first microphone (265-1) disposed on the bridge (203), a second microphone (265-2) disposed on the second rim (202), and a third microphone (265-3) disposed on the first rim (201) are illustrated in FIG. 2B, but the number and arrangement of the microphones (265) are not limited to the embodiment of FIG. 2B.
- the wearable device (103) may identify the direction of the sound signal by using a plurality of microphones disposed on different portions of the frame (200).
- At least one optical device (282, 284) can project a virtual object onto at least one display (250) to provide various image information to a user.
- at least one optical device (282, 284) can be a projector.
- At least one optical device (282, 284) can be disposed adjacent to at least one display (250) or can be included within at least one display (250) as a part of at least one display (250).
- the wearable device (103) can include a first optical device (282) corresponding to a first display (250-1) and a second optical device (284) corresponding to a second display (250-2).
- At least one optical device (282, 284) may include a first optical device (282) disposed at an edge of a first display (250-1) and a second optical device (284) disposed at an edge of a second display (250-2).
- the first optical device (282) may transmit light to a first waveguide (233) disposed on the first display (250-1), and the second optical device (284) may transmit light to a second waveguide (234) disposed on the second display (250-2).
- the camera (260) may include a recording camera (260-4), an eye tracking camera (ET CAM) (260-1), and/or a motion recognition camera (260-2, 260-3).
- the recording camera (260-4), the eye tracking camera (260-1), and the motion recognition cameras (260-2, 260-3) may be positioned at different locations on the frame (200) and may perform different functions.
- the eye tracking camera (260-1) may output data indicating the position or gaze of the eyes of a user wearing the wearable device (103).
- the wearable device (103) may detect the gaze from an image including the user's pupils obtained through the eye tracking camera (260-1).
- the wearable device (103) can identify an object (e.g., a real object and/or a virtual object) focused on by the user using the user's gaze acquired through the gaze tracking camera (260-1).
- the wearable device (103) that has identified the focused object can execute a function (e.g., gaze interaction) for interaction between the user and the focused object.
- the wearable device (103) can express a part corresponding to the eye of an avatar representing the user in a virtual space using the user's gaze acquired through the gaze tracking camera (260-1).
- the wearable device (103) can render an image (or screen) displayed on at least one display (250) based on the position of the user's eyes.
- the visual quality of a first area related to the gaze within the image and the visual quality (e.g., resolution, brightness, saturation, grayscale, PPI) of a second area distinguished from the first area may be different from each other.
- the wearable device (103) can obtain an image having a visual quality of a first region and a visual quality of a second region that match the user's gaze using foveated rendering.
- the wearable device (103) supports an iris recognition function
- user authentication can be performed based on iris information obtained using a gaze tracking camera (260-1).
- An example in which the gaze tracking camera (260-1) is positioned toward the user's right eye is illustrated in FIG. 2B, but the embodiment is not limited thereto, and the gaze tracking camera (260-1) can be positioned solely toward the user's left eye, or toward both eyes.
- the capturing camera (260-4) can capture an actual image or background to be aligned with a virtual image to implement augmented reality or mixed reality content.
- the capturing camera (260-4) can be used to acquire a high-resolution image based on HR (high resolution) or PV (photo video).
- the capturing camera (260-4) can capture an image of a specific object existing at a location viewed by the user and provide the image to at least one display (250).
- the at least one display (250) can display a single image in which information about an actual image or background including the image of the specific object acquired using the capturing camera (260-4) is superimposed on a virtual image provided through at least one optical device (282, 284).
- the wearable device (103) can compensate for depth information (e.g., the distance between the wearable device (103) and an external object acquired through a depth sensor) using the image acquired through the capturing camera (260-4).
- the wearable device (103) can perform object recognition through an image acquired using the capturing camera (260-4).
- the wearable device (103) can perform a function of focusing on an object (or subject) in an image (e.g., auto focus) and/or an optical image stabilization (OIS) function (e.g., hand shake prevention function) using the capturing camera (260-4).
- the wearable device (103) can perform a pass-through function to display an image acquired through the capturing camera (260-4) by overlapping at least a portion of a screen representing a virtual space on at least one display (250).
- the capturing camera (260-4) can be disposed on a bridge (203) disposed between the first rim (201) and the second rim (202).
- the gaze tracking camera (260-1) can implement more realistic augmented reality by tracking the gaze of a user wearing the wearable device (103) and thereby matching the user's gaze with visual information provided to at least one display (250). For example, when the wearable device (103) looks straight ahead, the wearable device (103) can naturally display environmental information related to the user's front at a location where the user is located on at least one display (250).
- the gaze tracking camera (260-1) can be configured to capture an image of the user's pupil to determine the user's gaze. For example, the gaze tracking camera (260-1) can receive gaze detection light reflected from the user's pupil and track the user's gaze based on the position and movement of the received gaze detection light.
- the gaze tracking camera (260-1) can be positioned at positions corresponding to the user's left and right eyes.
- the gaze tracking camera (260-1) may be positioned within the first rim (201) and/or the second rim (202) to face the direction in which the user wearing the wearable device (103) is positioned.
- the motion recognition camera (260-2, 260-3) can recognize the movement of the user's entire body, such as the user's torso, hand, or face, or a part of the body, and thereby provide a specific event on a screen provided on at least one display (250).
- the motion recognition camera (260-2, 260-3) can recognize the user's motion (gesture recognition), obtain a signal corresponding to the motion, and provide a display corresponding to the signal on at least one display (250).
- the processor can identify the signal corresponding to the motion, and perform a designated function based on the identification.
- the motion recognition camera (260-2, 260-3) can be used to perform a spatial recognition function using SLAM and/or a depth map for 6 degrees of freedom pose (6 dof pose).
- the processor can perform a gesture recognition function and/or an object tracking function using the motion recognition camera (260-2, 260-3).
- the motion recognition cameras (260-2, 260-3) may be positioned on the first rim (201) and/or the second rim (202).
- the camera (260) included in the wearable device (103) is not limited to the above-described gaze tracking camera (260-1) and motion recognition cameras (260-2, 260-3).
- the wearable device (103) can identify an external object included in the FoV using a camera positioned toward the user's FoV.
- the wearable device (103) can identify an external object based on a sensor for identifying the distance between the wearable device (103) and the external object, such as a depth sensor and/or a time of flight (ToF) sensor.
- the camera (260) positioned toward the FoV can support an autofocus function and/or an optical image stabilization (OIS) function.
- the wearable device (103) may include a camera (260) (e.g., a face tracking (FT) camera) positioned toward the face to obtain an image including the face of a user wearing the wearable device (103).
- FT face tracking
- the wearable device (103) may further include a light source (e.g., an LED) that emits light toward a subject (e.g., a user's eyes, face, and/or an external object within the FoV) being photographed using the camera (260).
- the light source may include an infrared wavelength LED.
- the light source may be disposed on at least one of the frame (200) and the hinge units (206, 207).
- the battery module (270) may supply power to electronic components of the wearable device (103).
- the battery module (270) may be disposed within the first temple (204) and/or the second temple (205).
- the battery module (270) may be a plurality of battery modules (270).
- the plurality of battery modules (270) may be disposed within each of the first temple (204) and the second temple (205).
- the battery module (270) may be disposed at an end of the first temple (204) and/or the second temple (205).
- the antenna module (275) can transmit signals or power to the outside of the wearable device (103), or receive signals or power from the outside.
- the antenna module (275) can be positioned within the first temple (204) and/or the second temple (205).
- the antenna module (275) can be positioned close to one surface of the first temple (204) and/or the second temple (205).
- the speaker can output an audio signal to the outside of the wearable device (103).
- the audio output module may be referred to as a speaker.
- the speaker may be positioned within the first temple (204) and/or the second temple (205) so as to be positioned adjacent to the ear of a user wearing the wearable device (103).
- the speaker may include a second speaker (255-2) positioned within the first temple (204) and thus positioned adjacent to the user's left ear, and a first speaker (255-1) positioned within the second temple (205) and thus positioned adjacent to the user's right ear.
- the light-emitting module may include at least one light-emitting element.
- the light-emitting module may emit light of a color corresponding to a specific state or emit light with an action corresponding to a specific state, in order to visually provide information regarding a specific state of the wearable device (103) to the user. For example, when the wearable device (103) requires charging, it may emit red light at a regular cycle.
- the light-emitting module may be disposed on the first rim (201) and/or the second rim (202).
- a wearable device (103) may include a printed circuit board (PCB) (290).
- the PCB (290) may be included in at least one of the first temple (204) or the second temple (205).
- the PCB (290) may include an interposer disposed between at least two sub-PCBs.
- One or more hardwares included in the wearable device (103) e.g., hardwares illustrated by different blocks in FIG. 4 may be disposed on the PCB (290).
- the wearable device (103) may include a flexible PCB (FPCB) for interconnecting the hardwares.
- FPCB flexible PCB
- the wearable device (103) may include at least one of a gyro sensor, a gravity sensor, and/or an acceleration sensor for detecting a posture of the wearable device (103) and/or a posture of a body part (e.g., a head) of a user wearing the wearable device (103).
- a gyro sensor for detecting a posture of the wearable device (103) and/or a posture of a body part (e.g., a head) of a user wearing the wearable device (103).
- Each of the gravity sensor and the acceleration sensor may measure gravitational acceleration and/or acceleration based on mutually perpendicular designated three-dimensional axes (e.g., an x-axis, a y-axis, and a z-axis).
- the gyro sensor may measure an angular velocity of each of the designated three-dimensional axes (e.g., an x-axis, a y-axis, and a z-axis). At least one of the gravity sensor, the acceleration sensor, and the gyro sensor may be referred to as an inertial measurement unit (IMU).
- IMU inertial measurement unit
- the wearable device (103) may identify a user's motion and/or gesture performed to execute or terminate a specific function of the wearable device (103) based on the IMU.
- Figures 3a and 3b illustrate an example of the appearance of a wearable device.
- the wearable device (103) of FIGS. 3A and 3B may be an example of the wearable device (103) of FIGS. 2A and 2B.
- the wearable device (103) of FIGS. 3A and 3B may be an example of the electronic device (101) of FIG. 1.
- an example of the appearance of a first side (310) of a housing of the wearable device (103) is illustrated in FIG. 3A
- an example of the appearance of a second side (320) opposite to the first side (310) is illustrated in FIG. 3B.
- the wearable device (103) may include cameras (260-1) for photographing and/or tracking both eyes of the user adjacent to each of the first display (250-1) and the second display (250-2).
- the cameras (260-1) may be referred to as the gaze tracking camera (260-1) of FIG. 2B.
- the wearable device (103) may include cameras (260-5, 260-6) for photographing and/or recognizing the face of the user.
- the cameras (260-5, 260-6) may be referred to as FT cameras.
- the wearable device (103) may control an avatar representing the user in a virtual space based on the motion of the user's face identified using the cameras (260-5, 260-6).
- the wearable device (103) may change the texture and/or shape of a portion of an avatar (e.g., a portion of an avatar expressing a human face) using information obtained by cameras (260-5, 260-6) (e.g., FT cameras) and representing the facial expression of a user wearing the wearable device (103).
- a portion of an avatar e.g., a portion of an avatar expressing a human face
- cameras 260-5, 260-6
- FT cameras representing the facial expression of a user wearing the wearable device (103).
- a camera e.g., cameras 260-7, 260-8, 260-9, 260-10, 260-11, 260-12
- a sensor e.g., a depth sensor (330)
- the cameras (260-7, 260-8, 260-9, 260-10) may be disposed on the second surface (320) to recognize external objects.
- Cameras (260-7, 260-8, 260-9, 260-10) may be referenced to the motion recognition cameras (260-2, 260-3) of FIG. 2B.
- the wearable device (103) illustrated in FIGS. 2A to 3B are merely exemplary and the present disclosure is not limited thereto.
- the wearable device (103) may further include at least one of the components illustrated in FIGS. 2A to 3B or may not include at least one of the components.
- the wearable device (103) may include the components in a different area (or arrangement) from the area (or arrangement) where the components illustrated in FIGS. 2A to 3B are located.
- the wearable device (103) may include a different number of components than the number of each of the components (e.g., cameras or sensors) illustrated in FIGS. 2A to 3B.
- the hardware or software configuration of the wearable device (103) will be described with reference to FIG. 4.
- Fig. 4 illustrates an example of a block diagram of a wearable device.
- the wearable device (103) of Fig. 4 may be an example of the electronic device (101) of Fig. 1 or the wearable device (103) of Figs. 2a to 3b.
- a wearable device (103) may include a processor (410), a memory (415), a display (250) (e.g., the first display (250-1) and/or the second display (250-2) of FIGS. 2A, 2B, 3A, and 3B), a sensor (420), a camera (430), and/or an output device (435).
- the processor (410), the memory (415), the display (250), the sensor (420), the camera (430), and/or the output device (435) may be electrically and/or operatively connected to each other by electronic components such as a communication bus (402).
- the operative connection of the electronic components may include a direct connection established between the electronic components and/or an indirect connection established between the electronic components such that a first electronic component among the electronic components is controlled by a second electronic component among the electronic components.
- the type and/or number of electronic components included in the wearable device (103) is not limited to those illustrated in FIG. 4.
- the wearable device (103) may include only some of the electronic components illustrated in FIG. 4.
- a processor (410) of a wearable device (103) may include a circuit (e.g., a processing circuit) for processing data based on one or more instructions.
- the circuit for processing data may include, for example, an arithmetic and logic unit (ALU), a field programmable gate array (FPGA), a central processing unit (CPU), and/or an application processor (AP).
- the wearable device (103) may include one or more processors.
- the processor (410) may have a multi-core processor structure such as a dual core, a quad core, a hexa core, and/or an octa core.
- the multi-core processor structure of the processor (410) may include a structure (e.g., a big-little structure) based on a plurality of core circuits that are distinguished by power consumption, clock, and/or calculation amount per unit time.
- a structure e.g., a big-little structure
- the operations and/or functions of the present disclosure may be performed individually or collectively by one or more cores included in the processor (410).
- the processor (410) may include at least one processor.
- the at least one processor may be an example of the processor (120) of FIG. 1.
- the processor (410) may include various processing circuits and/or multiple processors.
- the term "processor" as used herein, including in the claims, may include various processing circuits including at least one processor, and one or more of the at least one processors may be configured to perform the various functions described below individually or collectively in a distributed manner.
- processors when “processor,” “at least one processor,” and “one or more processors” are described as being configured to perform various functions, these terms encompass, for example, and without limitation, situations where one processor performs some of the recited functions and other processor(s) perform other parts of the recited functions, as well as situations where one processor can perform all of the recited functions. Additionally, the at least one processor may comprise a combination of processors that perform the various functions enumerated/disclosed, for example, in a distributed manner. The at least one processor may execute program instructions to achieve or perform the various functions.
- the memory (415) of the wearable device (103) may include electronic components for storing data and/or instructions input to and/or output from the processor (410).
- the memory (415) may include, for example, volatile memory such as random-access memory (RAM) and/or non-volatile memory such as read-only memory (ROM).
- the volatile memory may include, for example, at least one of dynamic RAM (DRAM), static RAM (SRAM), cache RAM, and pseudo SRAM (PSRAM).
- the non-volatile memory may include, for example, at least one of programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), flash memory, hard disk, compact disc, and embedded multi media card (eMMC).
- the memory (415) may be referred to as storage.
- the display (250) of the wearable device (103) can output visualized information to the user of the wearable device (103).
- the display (250) which is arranged in front of the eyes of the user wearing the wearable device (103), can be arranged on at least a portion of the housing of the wearable device (103) (e.g., the first display (250-1) and/or the second display (250-2) of FIGS. 2A, 2B, 3A, and 3B).
- the display (250) can be controlled by a processor (410) including circuits such as a CPU, a GPU (graphics processing unit), and/or a DPU (display processing unit), to output visualized information to the user.
- the display (250) can include a flexible display, a FPD (flat panel display), and/or electronic paper.
- the display (250) may include a liquid crystal display (LCD), a plasma display panel (PDP), and/or one or more light emitting diodes (LEDs).
- the LEDs may include organic LEDs (OLEDs).
- OLEDs organic LEDs
- the embodiment is not limited thereto, and for example, if the wearable device (103) includes a lens for transmitting external light (or ambient light), the display (250) may include a projector (or projection assembly) for projecting light onto the lens.
- the display (250) may be referred to as a display panel and/or a display module.
- the pixels included in the display (250) may be arranged to face one of the user's two eyes when the wearable device (103) is worn by the user.
- the display (250) may include display areas (or active areas) corresponding to each of the user's two eyes.
- a display (250) including at least one display may be referred to as a display system or display assembly.
- the sensor (420) of the wearable device (103) may generate electrical information that may be processed by the processor (410) and/or the memory (415) from non-electronic information related to the wearable device (103).
- the sensor (420) may include a global positioning system (GPS) sensor for detecting the geographic location of the wearable device (103).
- GPS global positioning system
- the sensor (420) may generate information indicating the geographic location of the wearable device (103) based on a global navigation satellite system (GNSS) such as, for example, Galileo or Beidou compass.
- GNSS global navigation satellite system
- the information may be stored in the memory (415), processed by the processor (410), and/or transmitted to another electronic device distinct from the wearable device (103) via communication circuitry.
- the senor (420) may include at least one sensor.
- the at least one sensor may include an inertial measurement unit (IMU) (or IMU sensor).
- the at least one sensor may include a magnetometer, a gyro sensor, a gravity sensor, and/or an acceleration sensor.
- the sensor may include at least a portion of the sensor module (176) of FIG. 1.
- a sensor (420) including the at least one sensor may be referred to as a sensor system or a sensor assembly.
- the camera (430) of the wearable device (103) may include one or more optical sensors (e.g., a charged coupled device (CCD) sensor, a complementary metal oxide semiconductor (CMOS) sensor) that generate electrical signals representing the color and/or brightness of light.
- the plurality of optical sensors included in the camera (430) may be arranged in the form of a two-dimensional array.
- the camera (430) may acquire the electrical signals of each of the plurality of optical sensors substantially simultaneously, and generate an image (or frame) corresponding to light reaching the optical sensors of the two-dimensional grid and including a plurality of pixels arranged two-dimensionally.
- photographic data captured using the camera (430) may mean one image acquired from the camera (430).
- video data captured using the camera (430) may mean a sequence of a plurality of images (or frames) acquired from the camera (430) according to a specified frame rate.
- a wearable device (103) may further include a flash light positioned toward the direction in which the camera (430) receives light and outputs light in that direction.
- the camera (430) may also be referred to as an image sensor.
- the camera (430) can be used to acquire a video including the images (or frames).
- the camera (430) can generate 3D (three-dimensional) media content using at least one video.
- the 3D media content can be referred to as a 3D video or 3D media.
- the camera (430) can use a plurality of red-green-blue (RGB) cameras, or one RGB camera and a depth camera to generate the 3D media content.
- RGB red-green-blue
- the camera (430) can also generate 3D media content through image processing of a video acquired through one camera.
- the number of cameras (430) included in the wearable device (103) can be one or more, as described above with reference to FIGS. 2A and 2B, and/or 3A and 3B.
- a camera (430) including at least one camera may be referred to as a camera system or camera assembly.
- the output device (435) of the wearable device (103) may include an output means for outputting information in a form other than the visualized information provided through the display (250).
- the output device (435) may include a speaker for outputting an acoustic signal.
- the speaker may be used to provide auditory information.
- the output device (435) may include a motor for providing haptic feedback based on vibration.
- the motor may be used to provide tactile information.
- the output device (435) may include the acoustic output module (155) and/or the haptic module (179) of FIG. 1.
- FIG. 4 illustrates the wearable device (103) as including the output device (435), the present disclosure is not limited thereto.
- the wearable device (103) may not include an output device (435) or may include an output device (435) as a component integrated with other components.
- one or more instructions (or commands) representing data to be processed, calculations to be performed, and/or operations to be performed by the processor (410) of the wearable device (103) may be stored in the memory (415) of the wearable device (103).
- a set of one or more instructions may be referred to as a program, firmware, an operating system, a process, a routine, a sub-routine, and/or a software application (hereinafter, “application”).
- the wearable device (103) and/or the processor (410) may perform at least one of the operations of FIG. 7A, FIG. 8A, and FIG. 11 when a set of a plurality of instructions distributed in the form of an operating system, firmware, a driver, a program, and/or a software application is executed.
- the application may include a program and/or a library related to a service provided to a user.
- programs installed in the wearable device (103) may be included in any one of different layers, including the application layer (440), the framework layer (450), and/or the hardware abstraction layer (HAL) (480), based on the target.
- programs e.g., modules or drivers
- the framework layer (450) may be referred to as an XR framework layer from the perspective of including one or more programs for providing an XR (extended reality) service.
- the layers illustrated in FIG. 4 may be logically (or for convenience of explanation) separated, and may not mean that the address space of the memory (415) is separated by the layers.
- programs designed to target at least one of the hardware abstraction layer (480) and/or the application layer (440) may be included.
- the programs included in the framework layer (450) may provide an application programming interface (API) that is executable (or callable) based on other programs.
- API application programming interface
- the application layer (440) may include a program designed to target users of the wearable device (103).
- programs included in the application layer (440) an extended reality (XR) system user interface (UI) (441) and/or an XR application (442) are exemplified, but the embodiment is not limited thereto.
- programs (e.g., software applications) included in the application layer (440) may call an API to cause execution of functions supported by programs included in the framework layer (450).
- the wearable device (103) may display one or more visual objects on the display (250) for performing interaction with the user based on the execution of the XR system UI (441).
- a visual object may refer to an object that can be placed within a screen for transmitting and/or interacting with information, such as text, an image, an icon, a video, a button, a checkbox, a radio button, a text box, a slider, and/or a table.
- a visual object may be referred to as a visual guide, a virtual object, a visual element, a UI element, a view object, and/or a view element.
- the wearable device (103) may provide the user with functions available within a virtual space based on the execution of the XR system UI (441).
- a lightweight renderer (443) and/or an XR plug-in (444) are illustrated to be included within the XR system UI (441), but are not limited thereto.
- the processor (410) may execute a lightweight renderer (443) and/or an XR plug-in (444) within the framework layer (450).
- the wearable device (103) may obtain resources (e.g., APIs, system processes, and/or libraries) used to define, create, and/or execute a rendering pipeline that allows partial changes based on the execution of a lightweight renderer (443).
- the lightweight renderer (443) may be referred to as a lightweight render pipeline from the perspective of defining a rendering pipeline that allows partial changes.
- the lightweight renderer (443) may include a renderer built prior to the execution of a software application (e.g., a prebuilt renderer).
- the wearable device (103) may obtain resources (e.g., APIs, system processes, and/or libraries) used to define, create, and/or execute an entire rendering pipeline based on the execution of an XR plug-in (444).
- the XR plug-in (444) may be referred to as an open XR native client from the perspective of defining (or configuring) an entire rendering pipeline.
- the wearable device (103) may display a screen representing at least a portion of a virtual space on the display (250) based on the execution of the XR application (442).
- the XR plug-in (444-1) included in the XR application (442) may include instructions that support functions similar to those of the XR plug-in (444) of the XR system UI (441). Descriptions of the XR plug-in (444-1) that overlap with those of the XR plug-in (444) may be omitted.
- the wearable device (103) may cause the execution of the virtual space manager (451) based on the execution of the XR application (442).
- the wearable device (103) may display an image on the display (250) in a virtual space based on the execution of the application (445).
- the application (445) may be configured to output image information for displaying a two-dimensional image.
- the wearable device (103) may cause the execution of the virtual space manager (451) based on the execution of the application (445).
- the wearable device (103) may generate dual image information to display the two-dimensional image in a three-dimensional virtual space based on the execution of the application (445).
- the dual image information may include first image information for the left eye and second image information for the right eye, taking into account binocular parallax.
- the wearable device (103) may generate the dual image information based on the image information for displaying the two-dimensional image.
- the wearable device (103) may provide a virtual space service based on the execution of the virtual space manager (451).
- the virtual space manager (451) may include a platform for supporting the virtual space service.
- the wearable device (103) may identify a virtual space formed based on the user's location indicated by data acquired through the camera (430), and may display at least a portion of the virtual space on the display (250).
- the virtual space manager (451) may be referred to as a composition presentation manager (CPM).
- the virtual space manager (451) may include a runtime service (452).
- the runtime service (452) may be referred to as an OpenXR runtime module (or an OpenXR runtime program).
- the wearable device (103) may execute at least one of a user's pose prediction function, a frame timing function, and/or a spatial input function based on the execution of the runtime service (452).
- the wearable device (103) may perform rendering for a virtual space service to the user based on the execution of the runtime service (452).
- a function related to a virtual space, executable by the application layer (440) may be supported based on the execution of the runtime service (452).
- the virtual space manager (451) may include a pass-through manager (453). Based on the execution of the pass-through manager (453), the wearable device (103) may display a screen representing a virtual space (e.g., screen (610) of FIG. 6A) on the display (250), while displaying an image and/or video representing an actual space acquired through an external camera by overlaying it on at least a portion of the screen.
- a virtual space e.g., screen (610) of FIG. 6A
- the wearable device (103) may display a screen representing a virtual space (e.g., screen (610) of FIG. 6A) on the display (250), while displaying an image and/or video representing an actual space acquired through an external camera by overlaying it on at least a portion of the screen.
- the virtual space manager (451) may include an input manager (454).
- the wearable device (103) may identify data (e.g., sensor data) acquired by executing one or more programs included in the recognition service layer (470) based on the execution of the input manager (454).
- the wearable device (103) may use the acquired data to identify user input related to the wearable device (103).
- the user input may be related to a motion (e.g., a hand gesture), gaze, and/or speech of the user identified by a sensor (420) (e.g., an image sensor such as an external camera).
- the user input may be identified based on an external electronic device connected (or paired) via a communication circuit.
- the perception abstract layer (460) can be used for data exchange between the virtual space manager (451) and the perception service layer (470). From the perspective of being used for data exchange between the virtual space manager (451) and the perception service layer (470), the perception abstract layer (460) can be referred to as an interface.
- the perception abstract layer (460) can be referenced as OpenPX.
- the perception abstract layer (460) can be used for a perception client and a perception service.
- the recognition service layer (470) may include one or more programs for processing data acquired from the sensor (420).
- the one or more programs may include at least one of a position tracker (471), a space recognizer (472), a gesture tracker (473), an eye tracker (474), and/or a video generator (476).
- the type and/or number of the one or more programs included in the recognition service layer (470) are not limited to those illustrated in FIG. 4.
- the wearable device (103) can identify the pose of the wearable device (103) using the sensor (420) based on the execution of the position tracker (471).
- the wearable device (103) can identify the 6 degrees of freedom pose (6 dof pose) of the wearable device (103) using data acquired using an external camera (e.g., an image sensor (421)) and/or an IMU (e.g., a motion sensor (422) including a gyro sensor, an acceleration sensor, and/or a geomagnetic sensor) based on the execution of the position tracker (471).
- the position tracker (471) may be referred to as a head tracking (HeT) module (or head tracker, head tracking program).
- HeT head tracking
- the wearable device (103) may obtain information for providing a three-dimensional (3D) virtual space corresponding to the surrounding environment (e.g., external space) of the wearable device (103) (or the user of the wearable device (103)) based on the execution of the space recognizer (472).
- the wearable device (103) may reproduce the surrounding environment of the wearable device (103) in three dimensions using data obtained using an external camera (e.g., the camera (430) or an image sensor) based on the execution of the space recognizer (472).
- the wearable device (103) may identify at least one of a plane, a slope, and stairs based on the surrounding environment of the wearable device (103) reproduced in three dimensions based on the execution of the space recognizer (472).
- the spatial recognizer (472) may be referred to as a scene understanding (SU) module (or scene recognition program).
- SU scene understanding
- the wearable device (103) may identify (or recognize) a pose and/or gesture of a hand of a user of the wearable device (103) based on the execution of the gesture tracker (473).
- the wearable device (103) may identify a pose and/or gesture of a hand of a user using data acquired from an external camera (e.g., camera (430) or an image sensor) based on the execution of the gesture tracker (473).
- the wearable device (103) may identify a pose and/or gesture of a hand of a user based on data (or images) acquired using an external camera based on the execution of the gesture tracker (473).
- the gesture tracker (473) may be referred to as a hand tracking (HaT) module (or hand tracking program) and/or a gesture tracking module.
- HaT hand tracking
- a gesture tracking module or hand tracking program
- the wearable device (103) may identify (or track) eye movements of a user of the wearable device (103) based on the execution of the gaze tracker (474).
- the wearable device (103) may identify eye movements of the user using data acquired from a gaze tracking camera (e.g., camera (430) or an image sensor) based on the execution of the gaze tracker (474).
- the gaze tracker (474) may be referred to as an eye tracking (ET) module (or eye tracking program) and/or a gaze tracking module.
- the recognition service layer (470) of the wearable device (103) may further include a face tracker (475) for tracking the user's face.
- the wearable device (103) may identify (or track) the movement of the user's face and/or the user's expression based on the execution of the face tracker (475).
- the wearable device (103) may estimate the user's expression based on the movement of the user's face based on the execution of the face tracker (475).
- the wearable device (103) may identify the movement of the user's face and/or the user's expression based on data (e.g., images and/or videos) acquired using a camera (425) (e.g., a camera directed at at least a portion of the user's face) based on the execution of the face tracker (475).
- data e.g., images and/or videos
- a camera e.g., a camera directed at at least a portion of the user's face
- the renderer (490) may include instructions for rendering images in a three-dimensional virtual space.
- the processor (410) executing the renderer (490) may obtain at least one image to be at least partially displayed in the display area of the display (250) from a software application. For example, the processor (410) executing the renderer (490) may determine the location of the area where an application (e.g., XR application (442), application (445)) is to be rendered.
- the processor (410) executing the renderer (490) may generate an image of the application to be displayed on the display (250).
- the renderer (490) may synthesize images to generate a composite image to be displayed on the display (250).
- the processor (410) executing the renderer (490) can divide the display area of the display (250) into a foveated portion (or may be referred to as the foveated area) and a peripheral portion (or may be referred to as the residual area) using the gaze position calculated using the position tracker (471) and/or the gaze tracker (474).
- the processor (410) detecting the coordinate values of the gaze position can determine the portion of the display area including the coordinate values as the foveated area.
- the DPU executing the renderer (490) can obtain at least one image corresponding to each of the foveated area and the residual area, and having a size smaller than the size of the entire display area of the display (250) or a resolution smaller than the resolution of the display area.
- the processor (410) executing the renderer (490) may obtain or generate a composite image to be displayed on the display (250) by synthesizing an image corresponding to the foveated area and an image corresponding to the peripheral area. For example, the processor (410) may perform upscaling to enlarge the image corresponding to the peripheral area to the size of the entire display area of the display (250). On the enlarged image, the processor (410) may combine the image corresponding to the foveated area to generate a composite image to be displayed on the display (250). Along the boundary line of the image corresponding to the foveated area, the processor (410) may apply a visual effect, such as blur, to blend the enlarged image and the image corresponding to the foveated area.
- a visual effect such as blur
- the wearable device (103) may process system services and perform hardware-dependent tasks in the framework layer (450) (or operating system).
- the wearable device (103) may use data acquired using hardware components (e.g., sensors (420) and cameras (430)) to construct a spatial coordinate system for the external environment and calculate the position of the wearable device (103) on the spatial coordinate system.
- the external environment may represent an actual environment and may be referred to as a physical environment or an actual environment.
- the recognition service layer (470) of the wearable device (103) may further include a video generator (476) for generating and storing 3D media content.
- the wearable device (103) may use the camera (430) to capture (or acquire) a video of an external environment to generate 3D media content (or 3D video) based on the execution of the video generator (476).
- the wearable device (103) may acquire information about the position of the wearable device (103) on the spatial coordinate system and store it in the form of metadata of the video.
- the wearable device (103) may set (or determine, select) one or more key frames from among a plurality of frames (or images) included in the video based on the execution of the video generator (476).
- a key frame may be a frame that includes relatively many features and may include a frame that is easy to compare with other frames.
- the key frame may be referred to as a reference frame that is used as a standard for comparison.
- the wearable device (103) may perform an analysis between a key frame and frames adjacent to the key frame, and combine the position of the wearable device (103) of the metadata to calculate a movement trajectory (or trajectory) of the wearable device (103) for shooting the video (or a photographer of the video, a wearer of the wearable device (103)).
- the wearable device (103) can store information (or metadata) about the movement trajectory.
- the wearable device (103) can perform reconstruction of 3D media content based on the execution of the video generator (476).
- the wearable device (103) can reconstruct the video into 3D media content based on a reconstruction technique (e.g., Gaussian splatting, Nerf (neural radiance fields)) using the video acquired through the camera (430). For example, the wearable device (103) can calculate (or identify) an area (hereinafter, referred to as a reference area) within the spatial coordinate system where the reconstructed 3D media content can be viewed. For example, information (or metadata) about the reference area can be stored in the wearable device (103).
- a reconstruction technique e.g., Gaussian splatting, Nerf (neural radiance fields)
- the wearable device (103) can calculate (or identify) an area (hereinafter, referred to as a reference area) within the spatial coordinate system where the reconstructed 3D media content can be viewed.
- information (or metadata) about the reference area can be stored in the wearable device (103).
- the video generator (476) may be composed of a plurality of modules including a key frame and trajectory generator (or a key frame and trajectory generation module), a 3D media content reconstructor (or a 3D video reconstruction module), and a reference area calculator (or a viewable area calculation module).
- a key frame and trajectory generator or a key frame and trajectory generation module
- a 3D media content reconstructor or a 3D video reconstruction module
- a reference area calculator or a viewable area calculation module
- the recognition service layer (470) of the wearable device (103) may further include a video player (477) for playing (or displaying) stored 3D media content.
- the wearable device (103) may play (or display, playback) 3D media content so that a current user (or wearer) of the wearable device (103) can check 3D media content stored (or photographed) at a past point in time based on the execution of the video player (477).
- the wearable device (103) may determine a playback time point (or temporal position) and/or a playback position (or spatial position) of the 3D media content by utilizing a position of a user who is currently wearing the wearable device (103) based on the execution of the video player (477).
- the wearable device (103) may determine (or control) the playback speed of the 3D media content by utilizing the relationship between the user and the reference area (or viewable area) of the 3D media content based on the execution of the video player (477). For example, the wearable device (103) may determine (or control) the display degree (or display target) of the 3D media content based on the execution of the video player (477). For example, the display degree (or display target) may include the display of at least some of static objects and dynamic objects.
- the video player (477) may be composed of a plurality of modules including a playback position calculator (or playback position calculation module), a playback speed controller (or playback speed control module), and a display object controller (or background control module).
- a playback position calculator or playback position calculation module
- a playback speed controller or playback speed control module
- a display object controller or background control module
- Fig. 5 illustrates an example block diagram of an electronic device for displaying an image in a virtual space.
- the electronic device of Fig. 5 may include the electronic device (101) of Fig. 1, the wearable device (103) of Figs. 2A to 3B, and Fig. 4.
- FIG. 5 an example is described in which multiple programs/instructions are executed to display an image in a virtual space.
- the multiple programs/instructions may all be executed on a single processor (e.g., an AP) or may be executed by multiple processors (e.g., an AP, a GPU (graphics processing unit), or an NPU (neural processing unit)).
- Being executed by multiple processors means that some programs/instructions may be executed by a first processor, and other programs/instructions may be executed by a second processor different from the first processor.
- the electronic device (101) may execute a virtual space manager (550) (e.g., the virtual space manager (451) of FIG. 4, CPM) to render an image in a virtual space.
- a virtual space manager (550) e.g., the virtual space manager (451) of FIG. 4, CPM
- the virtual space manager (550) may include a platform for supporting a virtual space service.
- the virtual space manager (550) may include a runtime service (551) (e.g., OpenXR Runtime), a panel renderer (552) (e.g., 2D Panel Render), and an XR compositor (553).
- the electronic device (101) may execute at least one of a user pose prediction function, a frame timing function, and/or a spatial input function based on the execution of the runtime service (551).
- the electronic device (101) may display at least one image (video) on a panel (e.g., a 2D panel) to implement a virtual space through the display based on the execution of the panel renderer (552).
- the electronic device (101) may display a rendered image corresponding to RGB information (566) for the panel from the spatialization manager (540) described below through the display (e.g., the display (250)).
- the electronic device (101) may synthesize an image of an actual area captured by a camera in a virtual space (hereinafter, a pass-through image) with a virtual area image based on the execution of the XR compositor (553). For example, the electronic device (101) may generate a composite image by merging the pass-through image and the virtual area image based on the execution of the XR compositor (553). The electronic device (101) can transmit the generated composite image to the display buffer so that the composite image is displayed.
- the electronic device (101) can identify a virtual space through a virtual space manager (550) and display at least a portion of the virtual space on the display (250).
- the virtual space manager (550) may be referred to as a CPM.
- the electronic device (101) can execute the virtual space manager (550) to render an image corresponding to at least a portion of the virtual space.
- the electronic device (101) may execute a spatialization manager (540).
- the spatialization manager (540) may perform processes for displaying an image in a three-dimensional virtual space.
- the electronic device (101) may perform preprocessing based on the execution of the spatialization manager (540) so that the image can be rendered in a three-dimensional virtual space through the virtual space manager (550).
- the electronic device (101) may perform at least some of the functions of the renderer (490) of FIG. 4 based on the execution of the spatialization manager (540).
- the electronic device (101) may process image information provided by an application (e.g., an XR application (510), an application (520) that provides a general 2D screen other than XR, and an application that provides a system UI (530)) based on the execution of the spatialization manager (540).
- a spatialization manager (540) e.g., Space Flinger
- the system scene manager (541) may be executed to display a system UI (530).
- System UI-related information (564) may be transmitted to the system scene manager (541) from a program (e.g., API) that provides the system UI (530).
- the system UI-related information (564) may be obtained through a spatializer API and/or a same-process private API.
- the spatialization manager (540) may determine the layout (e.g., location, display order) of the screen of the system UI (530) in a three-dimensional space through pre-allocated resources.
- the system screen manager (541) may transmit image information (567) for rendering the screen of the system UI (530) to the virtual space manager (550) according to the layout.
- the input manager (542) may be configured to process user input (e.g., user input on a system screen or an app screen).
- the impression engine (543) may be a renderer for image generation (e.g., a lightweight renderer (443)).
- the impression engine (543) may be used to display the system UI (530).
- the spatialization manager (540) may include a lightweight rendering engine (543) for rendering the system UI.
- the lightweight rendering engine (543) does not have sufficient resources to render an avatar used in the HMD, at least one external rendering engine may be used.
- an external rendering engine support module may be added within the spatialization manager (540).
- the electronic device can execute an application.
- an XR application e.g., an XR application (442), a 3D game, an XR map, or other immersive application
- the electronic device can execute a virtual space manager (550).
- the electronic device (101) can provide dual image information (561) provided from the XR application (510) to the virtual space manager (550).
- the dual image information (561) can include two pieces of image information that take binocular parallax into account.
- the dual image information (561) can include first image information for the user's left eye and second image information for the user's right eye for rendering in a three-dimensional virtual space.
- dual image information is used to refer to image information for displaying images for both eyes in a three-dimensional space.
- the above dual image information may also include binocular image information, dual image information, dual image data, dual images, binocular image data, stereoscopic image information, 3D image information, spatial image information, spatial image data, 2D-3D conversion data, dimensional conversion image data, binocular parallax image data, and/or equivalent technical terms.
- the electronic device (101) can generate a composite image by merging image layers through a virtual space manager (550).
- the electronic device (101) can transmit the generated composite image to a display buffer.
- the composite image can be displayed on the display (250) of the electronic device (101).
- the electronic device (101) can execute at least one application among the XR application (510) and other applications (520) (e.g., the first application (520-1), the second application (520-2), ..., the Nth application (520-N)).
- the application (520) can be configured to output image information for displaying a two-dimensional image.
- the application (520) can provide a two-dimensional image.
- the application (520) can be a video application, a schedule application, or an Internet browser application. If it is assumed that in response to the execution of the application (520), image information (562) provided from the application (520) is provided to the virtual space manager (550).
- the electronic device (101) may execute the spatialization manager (540) to provide dual image information to the virtual space manager (550). For example, based on the execution of the spatialization manager (540), the electronic device (101) may receive application-related information (563) from the first application (520-1).
- the application-related information (563) may include image information representing a two-dimensional image of the first application (520-1) (e.g., information including RGB for each pixel) and/or content information in the first application (520-1) (e.g., characteristics of content executed in the first application, type of content).
- Application-related information (563) can be obtained through a spatializer API.
- the electronic device (101) Based on the execution of the spatializer manager (540), the electronic device (101) can identify information (hereinafter, “location information”) about the location of the area where the first application (520-1) is to be rendered and the size of the area to be rendered.
- the electronic device (101) can generate dual image information (565, e.g., RGBx2) that takes into account the user’s binocular disparity through the image information and the location information. Based on the execution of the spatializer manager (540), the electronic device (101) can provide the dual image information (565) to the virtual space manager (550). By converting a simple two-dimensional image into the dual image information (565), a problem that occurs when the image information (562) is directly transmitted to the virtual space manager (550) can be resolved. Additionally, since at least some of the functions for displaying images in a virtual space are performed by the spatialization manager (540) instead of the virtual space manager (550), the burden on the virtual space manager (550) can be reduced.
- dual image information e.g., RGBx2
- the wearable device (103) can generate 3D media content (or 3D video) and play (or display) the generated 3D media content.
- the wearable device (103) can distinguish and display objects within the 3D media content.
- the wearable device (103) can display the object in a fixed state in an identified space when the 3D media content is generated (or captured).
- the wearable device (103) can display the 3D media content so that it has a variable position according to a movement trajectory in an identified space when the 3D media content is generated (or captured).
- the 3D media content can be generated from a plurality of media contents (or videos).
- the wearable device (103) may map the playback location of the 3D media content in the spatial domain based on the wearable device (103). For example, the wearable device (103) may display the 3D media content so that it is recognized as being located at a specified distance from a user currently wearing the wearable device (103). For example, a static object of the 3D media content may be displayed at the specified location. Conversely, a dynamic object of the 3D media content may be displayed so that it is recognized as being located at a location that changes according to a movement trajectory identified during shooting, different from the specified location.
- the wearable device (103) can remap the playback position of the 3D media content, which is a dynamic object, in the spatial domain based on the user's location.
- the playback position of the 3D media content changes as the remapping is performed, the user (or viewer) of the wearable device (103) needs to remember the position to which the playback position will be remapped. If the position to be remapped is variable, the displayed (or played) position of a static object among the 3D media content may change even though its actual existing position is fixed.
- the device, method, and storage medium according to the present disclosure can determine the spatial position and temporal position at which 3D media content (or 3D video) is to be displayed (or played) based on the position of the wearable device (103) (or the user of the wearable device (103)).
- the device, method, and storage medium according to the present disclosure can display a scene of video data (or another video) representing a similar space by utilizing the similarity between a scene (or image, frame) of a video of an external environment that is being acquired and displayed and a scene (or image, frame) of stored video data (or 3D media content, 3D video, or another video).
- the timing corresponding to the frame of the stored video can be determined based on the frame of the video of the external environment that is currently being displayed.
- a visual object representing the stored video to be displayed on the video of the external environment can be determined based on the arrangement of objects within the frame of the stored video.
- the device, method, and storage medium according to the present disclosure can provide a high sense of immersion to the user by displaying the environment at the time point when video data (or 3D media content) is captured and objects (or subjects) within the environment using appropriate spatial and temporal domain locations within the environment currently being viewed by the user.
- the device, method, and storage medium according to the present disclosure can provide convenience to the user by displaying video data with the user in mind.
- the present disclosure will be described below with reference to a wearable device (103) that provides VST (visual see-through), but the present disclosure is not limited thereto.
- the present disclosure may also be applied to a wearable device (103) that provides an AR environment.
- the present disclosure may also be applied to an electronic device (101) that supports playback of 3D media content, rather than a wearable device (103).
- Figures 6a and 6b illustrate examples of how to play back stored video data together with video of the external environment, depending on the location of the wearable device.
- the wearable device (103) of FIGS. 6A and 6B may be an example of the electronic device (101) of FIG. 1, the wearable device (103) of FIGS. 2A to 3B, and the wearable device (103) of FIG. 4.
- the wearable device (103) may include an HMD that supports VST.
- Figures 6a and 6b illustrate examples (600, 650) of a method for playing back stored video data according to the location of a wearable device (103).
- the wearable device (103) may be worn by a user (603).
- the wearable device (103) may be worn on a body part (e.g., head) of the user (603).
- the location of the wearable device (103) may be referred to as the location of the user (603).
- the wearable device (103) can acquire a video of the external environment (605) in which the user (603) is located.
- the wearable device (103) can acquire the video including frames (or images) acquired over time through a camera (e.g., the camera (430) of FIG. 4 or an image sensor).
- the external environment (605) can be referred to as an actual environment or a physical environment.
- the external environment (605) is illustrated as a living room, but the present disclosure is not limited thereto.
- the wearable device (103) may display a screen (610) including a video of the external environment (605) through a display (e.g., the display (250) of FIG. 4).
- a video (615) corresponding to the external environment (605) may be displayed through the display (250) of the wearable device (103).
- the video (615) may include frames (or images) representing the external environment (605).
- the wearable device (103) can check the video data (630) stored in the wearable device (103) while displaying the video (615).
- the stored video data (630) can be acquired and stored before the timing at which the wearable device (103) displays the video (615).
- the wearable device (103) can identify the video data (630) representing an environment similar to the environment (e.g., the external environment (605)) represented in the video (615).
- the wearable device (103) can identify the video data (630) by identifying the location of the wearable device (103) and comparing the location information of the video data (630) with the location of the wearable device (103).
- the location information of the video data (630) may include a geotag based on GPS.
- the wearable device (103) may identify video data (630) from a set of video data, and perform a comparison between the video data (630) and the video (615). For example, the wearable device (103) may compare a key frame (hereinafter, a first key frame) from among the frames of the video (615) and one or more key frames from among the frames of the video data (630).
- a key frame hereinafter, a first key frame
- the one or more key frames are illustrated as including three key frames (631, 632, 633), but the present disclosure is not limited thereto.
- the key frame (631) may represent a living room including a sofa.
- the key frame (632) may represent a living room including children.
- the key frame (633) may represent a kitchen.
- the wearable device (103) may identify a similarity (or similarity value) between each of the key frames (631, 632, 633) of the video data (630) and the first key frame of the video (615), and identify (or select) a key frame (632) based on the identified similarity (or similarity value).
- the key frame (632) of the video data (630) may represent a key frame that is most similar to the first key frame.
- the key frame (632) may be referred to as a second key frame (632) hereinafter.
- the wearable device (103) can acquire a video of an external environment (605) in which a user (603) is located.
- the external environment (605) represented by the acquired video may be substantially the same as the external environment (605) represented by the video acquired in example (600) of FIG. 6A.
- the wearable device (103) can acquire the video including frames (or images) acquired over time through a camera (e.g., the camera (430) of FIG. 4 or an image sensor).
- the external environment (605) may be referred to as an actual environment or a physical environment.
- the external environment (605) is illustrated as a living room, but the present disclosure is not limited thereto.
- the wearable device (103) can display a screen (660) including a video of the external environment (605) through the display (250).
- a video (615) corresponding to the external environment (605) can be displayed through the display (250) of the wearable device (103).
- the video (615) can include frames (or images) representing the external environment (605).
- the wearable device (103) may display a visual object (665) together with the video (615).
- the visual object (665) may represent video data (630) played from a timing corresponding to a second key frame (632).
- the visual object (665) may be 3D media content (or 3D video).
- the visual object (665) may include at least some of the objects displayed in the frame.
- the visual object (665) may include an object (e.g., children) within the second key frame (632).
- the spatial position of the visual object (665) within the video (615) may be determined based on the arrangement (or spatial position) of the object (e.g., children) within the second key frame (632).
- a visual object (665) may at least partially overlap a video (615).
- the wearable device (103) may display a visual object (665) representing video data (630) played back from a timing corresponding to the second key frame (632) when the similarity (or similarity value) between the first key frame of the video (615) and the second key frame (632) of the video data (630) exceeds a reference value.
- the wearable device (103) may determine the similarity by considering the spatial position between the video (615) and the video data (630) (or another video), and then play back the visual object (665) (or 3D media content) generated through the video data (630) together with the video (615) from a similar temporal position (or timing).
- FIGS. 8A to 8C describe specific examples of how to display (or play) a visual object (665) together with a video (615).
- Figure 7a illustrates an example of an operational flow for a method of generating and storing video data by performing processing on a video for an external environment.
- At least some of the methods of FIG. 7A may be performed by the wearable device (103) of FIG. 4.
- at least some of the methods may be controlled by the processor (410) of the wearable device (103).
- the operations may be performed sequentially, but are not necessarily performed sequentially.
- the order of the operations may be changed, and at least two operations may be performed in parallel.
- the wearable device (103) may execute a software application for acquiring 3D media content.
- the wearable device (103) may execute the software application (or 3D media content capturing application) for acquiring (or generating) 3D media content using a video of the external environment.
- the wearable device (103) may execute the 3D media content capturing application based on at least one input from the user.
- the wearable device (103) may acquire a video including a plurality of frames.
- the wearable device (103) may acquire the video including the plurality of frames (or images) through the camera (430) based on the execution of the 3D media content shooting application.
- the video may be recorded (or shot).
- the number of the plurality of frames may be determined according to the frame rate at which the video is recorded. For example, if the frame rate is 60 fps, the video having a length of 30 seconds may have 1800 frames.
- the wearable device (103) can identify one or more key frames of the video and generate a movement trajectory for the video. For example, the wearable device (103) can identify (or select) the one or more key frames and generate the movement trajectory based on simultaneous localization and mapping (SLAM).
- SLAM simultaneous localization and mapping
- the wearable device (103) can identify one or more key frames among the plurality of frames of the video. For example, the wearable device (103) can select (or identify, determine) one or more key frames among the plurality of frames of the video. For specific details on a method for selecting one or more key frames, reference may be made to FIGS. 7B and 7C below.
- FIG. 7B illustrates an example of a method for determining a key frame among frames included in a video.
- FIG. 7B illustrates an example of a video (730) acquired over time through a camera (430) of a wearable device (103).
- the video (730) may represent a video corresponding to the video data (630) of FIG. 6A.
- the present disclosure is not limited thereto.
- the description of the video (730) may be substantially equally applied to a video currently being filmed (or viewed) (e.g., the video (615) of FIG. 6A).
- the video (730) may include a plurality of frames (731, 732, 733, 734, 735) over time.
- the number of the plurality of frames (731, 732, 733, 734, 735) included in the video (730) may be determined according to the frame rate of the camera (430) (or wearable device (103)).
- one or more key frames among a plurality of frames (731, 732, 733, 734, 735) may be determined (or selected).
- the wearable device (103) may extract key points from each of the plurality of frames (731, 732, 733, 734, 735) and select a key frame using the key points of each frame.
- the wearable device (103) may determine frames (732, 734, 735) among the plurality of frames (731, 732, 733, 734, 735) as key frames.
- the wearable device (103) can extract key points within each of the plurality of frames (731, 732, 733, 734, 735).
- the wearable device (103) can extract (or identify) key points using a key point detection algorithm.
- the key point detection algorithm can include scale invariant feature transform (SIFT), Harris corner detection, Features from accelerated segment test (FAST), or Oriented FAST and Rotated BRIEF (ORB).
- SIFT scale invariant feature transform
- FAST Features from accelerated segment test
- ORB Oriented FAST and Rotated BRIEF
- the key point detection algorithm can further include another algorithm that extracts key points (or feature values) of a frame.
- frame (731) may include key points (741).
- key points (741) may represent key points detected for frame (731).
- frame (734) may include key points (751).
- key points (751) may represent key points to be detected for frame (734).
- the wearable device (103) may determine (or select, identify) a frame that satisfies a criterion among a plurality of frames (731, 732, 733, 734, 735) as a key frame.
- the criterion may include that the number of key points in the frame is greater than or equal to the criterion number, that the time interval between the timing (or timestamp) corresponding to the frame and the timing corresponding to the frame determined as the key frame is greater than or equal to the criterion time interval, or that the length of time that the wearable device (103) is located within the area of the external environment indicated by the frame is greater than or equal to the criterion time length.
- the present disclosure is not limited thereto.
- the criterion may include a case where the number of matched key points between key points extracted from a previously determined key frame and key points extracted from a current frame is less than or equal to another criterion number.
- the other criterion number may be different from the criterion number.
- the wearable device (103) may determine a key frame based more on the reliability of key points. For example, if the number of key points having a reliability higher than a reference value is greater than the reference value, the wearable device (103) may determine the corresponding frame as a key frame.
- the wearable device (103) may not determine (or refrain from) determining as a key frame a frame (731) that includes key points (741) that are less than the reference number. Alternatively, the wearable device (103) may determine as a key frame (or select, identify) a frame (734) that includes key points (751) that are greater than or equal to the reference number.
- the wearable device (103) may determine a frame (735) located at a timing spaced apart by a reference time interval or more from a timing corresponding to a frame (734) determined as a key frame, as a key frame.
- the wearable device (103) may determine a frame (735) located at a timing spaced apart by a reference time interval (e.g., 2 frames) or more, as a key frame.
- the frame (735) may include key points that are greater than or equal to the reference number.
- the number of key points may represent the number of key points having a reference reliability or greater.
- the reference time interval may be used to reduce the selection of unnecessarily duplicated key frames for similar spaces.
- the wearable device (103) can detect key points of a frame and use the key points to determine (or select, identify) one or more key frames of a video (or video data).
- An example of the key points of a frame may be referred to in FIG. 7C below.
- Figure 7c shows an example of key points of a frame.
- FIG. 7C illustrates an example of a frame (760) including multiple key points (761a, 762a).
- the frame (760) may include an image representing an external environment at a specific time.
- a frame (760) of the external environment representing a portion of a living room is illustrated, but the present disclosure is not limited thereto.
- the wearable device (103) can detect (or extract, identify) key points (761a, 762a) of the frame (760) based on a key frame extraction algorithm.
- a key frame extraction algorithm In the example of FIG. 7c, an example is described in which the wearable device (103) performs detection for one frame (760), but the present disclosure is not limited thereto.
- the wearable device (103) can perform detection for each of a plurality of frames of a video (or video data).
- the wearable device (103) can detect key points (761a, 762a) based on the shape of at least one object within the frame (760). For example, the wearable device (103) can detect key frames (761a) formed along the exterior of the object (761) (e.g., a cushion). For example, the wearable device (103) can detect key points (762a) formed along an object (e.g., a corner) within the frame (760). In one example, the wearable device (103) can detect key frames for static objects among the objects within the frame in order to perform a more stable comparison when determining key frames.
- a dynamic object within a frame may no longer exist in the space at a timing when a visual object representing 3D media content (or 3D video) (e.g., a visual object (665) of FIG. 6b) is displayed later, and thus, key points of the dynamic object may not be used as key points for detecting a key frame.
- the wearable device (103) may detect key points (761a, 762a), which are key points of static objects among dynamic objects and static objects within the frame (760).
- the wearable device (103) may determine the frame (760) as a key frame. At this time, information on key points (761a, 762a) may be stored together with information indicating the order of the frame (760), which is the key frame. For example, the information indicating the order may indicate the order of the frame (760) among all frames of the video. For example, if the video includes 1800 frames and the frame (760) is the 100th frame, the information indicating the order may indicate 100. At this time, the wearable device (103) may store information on key points (761a, 762a) together with information indicating 100. You can save it.
- information about key points (761a, 762a) may include information obtained from an algorithm (or key point extraction algorithm) used to extract key points and information used for matching (or mapping) between key points.
- the information used for the matching may be referenced as a descriptor or patch for each key point.
- the descriptor may include a vector value.
- information about key points (761a, 762a) may include a portion of a frame at a location where each key point is detected.
- information about a region having a specified size defined from the location of each of the key points (761a) may be included.
- the region information may include a frame (or image) having a size of 21x21 pixels (the specified size).
- the wearable device (103) can generate the movement trajectory for the video using data about the location of the wearable device (103).
- the data about the location of the wearable device (103) can include data acquired by the wearable device (103) through the sensor (420) and/or the camera (430).
- the wearable device (103) can use the data about the location to construct a spatial coordinate system for the space (e.g., the external environment) in which the wearable device (103) is located, and calculate the position and rotation direction (e.g., 6 dof) of the wearable device (103) on the spatial coordinate system.
- the wearable device (103) can set the position and rotation direction on the spatial coordinate system as the origin (P0) at an initial point in time, and calculate the changed position and rotation direction (P1) on the spatial coordinate system according to the movement of the wearable device (103) (or movement by the user).
- the movement can be defined with respect to the x, y, and z axes.
- the changed position and rotation direction (P1) can be calculated at a specified cycle (e.g., 1 ms).
- the wearable device (103) can calculate a set of positions and rotation directions including the changed position and rotation direction (P1) while acquiring the video in operation (705).
- the set of positions and rotation directions can include the last calculated (or identified) position and rotation direction (Px) within the acquisition time of the video.
- the wearable device (103) can calculate (or identify) the movement trajectory including the set of positions and rotation directions. For example, the wearable device (103) can calculate the movement trajectory further based on errors in data acquired by the sensor (420), noise in data acquired by the camera (430), and processing errors, together with the set of positions and rotation directions. For example, the wearable device (103) can perform additional processing to remove errors in data acquired by the sensor (420), noise in data acquired by the camera (430), and processing errors. For example, if the external environment captured (captured) in the video of operation (705) was also captured before operation (705), the captured positions and rotation directions while capturing other previous videos (or video data) need to be the same as the captured positions and rotation directions while capturing the video of operation (705).
- the wearable device (103) can reduce errors in data acquired by the sensor (420) and noise and processing errors in data acquired by the camera (430) by checking the visit record for the external environment, calculating the difference in position and rotation direction between two time points, and performing error correction according to the calculation result.
- the wearable device (103) may reconstruct the video using the one or more key frames and the movement trajectory and store the video data.
- the wearable device (103) may store the one or more key frames and the movement trajectory together with the video data generated using the reconstructed video.
- the wearable device (103) can reconstruct the video using the one or more key frames and the movement trajectory.
- the reconstruction of the video may utilize a reconstruction technique (e.g., Gaussian splatting, Nerf (neural radiance fields)).
- a reconstruction technique e.g., Gaussian splatting, Nerf (neural radiance fields)
- the present disclosure is not limited thereto.
- the wearable device (103) can reconstruct the video using the one or more key frames (or frames of the video). In other words, the wearable device (103) may also perform the reconstruction of the video without utilizing the movement trajectory.
- the wearable device (103) may generate video data that can generate another video representing a part of the external environment from another viewpoint different from the viewpoint from which the video representing a part of the external environment was acquired (filmed) by performing reconstruction of the video.
- the video data may include at least one of an image (or 2D image) representing the part from the viewpoint, position and rotation information of the wearable device (103) corresponding to the viewpoint in a spatial coordinate system, a point cloud, a depth map, a 3D mesh, or a voxel. Specific details regarding information of the video data generated by reconstruction of the video may be referred to FIG. 7D below.
- FIG. 7D illustrates an example of a method for identifying a reference region for 3D media content using reconstructed video data.
- a wearable device (103) illustrates examples (780, 790) of a method for acquiring a video (e.g., 3D media content, or 3D video) and performing reconstruction on the acquired video.
- FIG. 7D illustrates a method for identifying a reference region for 3D media content using reconstructed video data, but the present disclosure is not limited thereto.
- Non-limiting examples include 3D Gaussian splitting, Nerf, and instance neural graphics primitives.
- Example (780) illustrates a video acquired (or filmed) by a wearable device (103) according to execution of a software application for acquiring 3D media content.
- the video may include a frame (or image) of an external environment when looking in a direction (783) from a viewpoint (781).
- a frame is illustrated as an example of the video at a specific timing, but the present disclosure is not limited thereto.
- the video may include a plurality of frames.
- the wearable device (103) may distinguish (or separate) objects (785, 786, 787) by performing reconstruction on the video.
- the objects (785, 786, 787) may be static objects.
- the present disclosure is not limited thereto.
- the wearable device (103) can generate a depth map by performing reconstruction on the video.
- the depth map can include depth information between objects (785, 786, 787).
- the object (785) can be located closer than the object (786)
- the object (786) can be located closer than the object (787).
- the wearable device (103) can generate a 3D mesh and/or voxel to distinguish the objects (785, 786, 787).
- Example (790) shows an image (or 2D image) generated by the wearable device (103) according to the reconstruction of the video.
- the wearable device (103) can generate a 2D image of the external environment viewed from the viewpoint (781) by performing the reconstruction of the video.
- the 2D image can include objects (795, 796, 797).
- object (795) can correspond to object (785).
- object (796) can correspond to object (786).
- object (797) can correspond to object (787).
- the wearable device (103) can acquire and reconstruct the video, which is 3D media content, thereby generating information about the video.
- the wearable device (103) can store video data corresponding to the video, including the information, within the wearable device (103).
- the wearable device (103) may separate objects within a frame as it performs reconstruction of the video. For example, the wearable device (103) may distinguish, as it performs the reconstruction, an object (or sub-object) representing the surrounding environment among the objects and an object (or main object) representing the subject of the video being filmed.
- the main object may be determined (or selected, identified) by the camera operator of the wearable device (103) before or while filming the video.
- the wearable device (103) may determine (or select, identify) the main object by visually highlighting and displaying one or more candidate objects that can be used as the main object and obtaining an input for one or more of the main objects among the candidate objects.
- the wearable device (103) may distinguish objects contained within frames of the video by reconstructing the video.
- the wearable device (103) may distinguish objects within frames into dynamic objects and static objects based on the reconstructed video.
- the dynamic objects may include movable objects (e.g., people, animals, moving devices).
- the static objects may include immovable objects (e.g., furniture, walls, trees).
- information about the distinguished objects may be included in the video data.
- the wearable device (103) may identify a reference area within an external environment in which a visual object can be viewed.
- the reference area may represent an area (or a set of locations) of the external environment of the wearable device (103) (or a user of the wearable device (103)) in which the visual object having a quality higher than a reference quality can be viewed.
- the reference area may be referred to as a viewable area or a viewing area.
- the visual object may represent visual information displayed together with another video (or image) of the external environment when playing (or displaying) the video, which is 3D media content.
- the wearable device (103) may identify the reference area in which the visual object can be identified using the video data.
- the reference area may have an asymmetrical shape.
- the reference area may have the asymmetrical shape.
- the video data only includes information about a first direction (or viewpoint) (e.g., front) of the object, even if reconstruction is performed on the video data, analysis of a second direction (or viewpoint) (e.g., back) of the object may not be performed.
- the wearable device (103) performs reconstruction on the object using the video data, the shape of the object as viewed from the back may be incompletely formed, and thus the reference area may be formed such that the area (or portion) in the second direction is narrower than the area (or portion) in the first direction.
- the reference area may have a symmetrical shape.
- the device (103) may use the video data to identify the complete shape of an object corresponding to the visual object, or, if the video data is sufficient, the reference area may include a set of spatial positions (or coordinates) within a specified distance centered around a position (or coordinate) corresponding to the object in the external environment.
- the reference area may have a spherical shape.
- the position corresponding to the object may be acquired (or calculated) through a sensor (420) and/or a camera (430) of the wearable device (103).
- the reference area may be determined based on the quality of the visual object acquired by the wearable device (103) and the reference quality.
- the reference area may be identified using a set of one or more viewpoints in which the quality of the visual object is equal to or greater than the reference quality.
- the voxels included in the video data generated according to the reconstruction may include a first voxel acquired from the video and a second voxel newly generated (or reconstructed) from the first voxel.
- the wearable device (103) may determine whether each pixel is acquired from the first voxel or the second voxel for an image viewed from a specific viewpoint (e.g., a result of a two-dimensional reprojection of the video, which is 3D media content). In other words, the wearable device (103) can identify whether each of the pixels in the image is calculated from the first voxel or the second voxel, or identify the proportion of pixels calculated from the first voxel (or the second voxel) among all the pixels. For example, if the number of pixels calculated from the second voxel exceeds a reference number, the image viewed from the specific viewpoint may cause awkwardness to the user. Accordingly, the wearable device (103) can identify the reference area by using a set of one or more viewpoints among a plurality of viewpoints in which the number of pixels to be calculated from the second voxel is less than or equal to the reference number.
- a specific viewpoint e.g., a result of
- the reference area may be calculated for each of one or more key frames.
- the wearable device (103) may be identified for each of the one or more key frames among a plurality of frames of the video.
- the wearable device (103) may be identified for the reference area of each of the frames (or remaining frames, general frames) other than the one or more key frames among the plurality of frames through interpolation using the one or more key frames.
- the wearable device (103) may store the identified reference area together with the video data.
- the wearable device (103) may store information about the reference area together with the video data within the wearable device (103).
- the wearable device (103) can acquire (or photograph) a video (or 3D media content, 3D video) of an external environment and store video data generated by reconstructing the video. For example, the wearable device (103) can identify a reference area for the video data and store information about the reference area. Thereafter, when the wearable device (103) is positioned in the external environment, at the user's request, the wearable device (103) can play (or display, playback) a visual object (or 3D media content, 3D video) representing the stored video data.
- the visual object representing a specific frame of the stored video data can include at least some of the objects displayed in the specific frame.
- the visual object can include 3D media content (or 3D video) that displays at least some of the objects.
- FIGS. 8a to 8c For specific details on how to play the visual object representing the stored video, reference may be made to FIGS. 8a to 8c below.
- FIG. 8a illustrates an example of an operational flow for a method of displaying a visual object representing stored video data based on the location of a user of a wearable device.
- At least some of the methods of FIG. 8A may be performed by the wearable device (103) of FIG. 4.
- at least some of the methods may be controlled by the processor (410) of the wearable device (103).
- the operations may be performed sequentially, but are not necessarily performed sequentially.
- the order of the operations may be changed, and at least two operations may be performed in parallel.
- the wearable device (103) may store video data.
- the video data may be directly captured (or acquired) by the wearable device (103) at a past timing, or may be captured (or acquired) by an external electronic device connected to the wearable device (103) and then provided to the wearable device (103).
- the wearable device (103) may display a video of the external environment.
- the video of the external environment may be referred to as a live video, as it is displayed in real time.
- the wearable device (103) may display the video (or live video) of the external environment acquired through the camera (430).
- the external environment may represent a space (or area) of the actual environment (or physical environment) in which the wearable device (103) (or the user of the wearable device (103)) is currently located.
- the video of the external environment may include a plurality of frames (or images).
- the video of the external environment may include the frames acquired over time.
- the video of the external environment may be referred to as a first video.
- the frames included in the first video may be referred to as first frames.
- the wearable device (103) may play (or display) the first video through the display (250) in response to a user's input (or request). For example, the wearable device (103) may play (or display) the first video in response to the user's input indicating that the wearable device (103) is worn. For example, the wearable device (103) may play (or display) the first video in response to the user's identification of an input to the wearable device (103).
- the wearable device (103) may obtain a request for playing 3D media content. For example, while displaying the first video, the wearable device (103) may obtain the request for playing the 3D media content from the user of the wearable device (103). For example, the wearable device (103) may execute a software application for playing the 3D media content (hereinafter, referred to as a 3D media content playing application) according to the request.
- a 3D media content playing application a software application for playing the 3D media content
- the wearable device (103) may obtain the request simultaneously with displaying the first video, or may obtain the request before displaying the first video.
- the 3D media content may include a 3D video generated using video data stored in the wearable device (103).
- the wearable device (103) can identify key points of each frame of the video.
- the wearable device (103) can identify key points of each of the first frames of the first video with respect to the external environment.
- the wearable device (103) can identify key points of each of the first frames while displaying the first video.
- specific details regarding identifying key points of each of the first frames may be substantially identically referred to in the contents of FIGS. 7A, 7B, and 7C described above.
- the wearable device (103) may determine a first key frame (or a first reference frame) of the video. For example, the wearable device (103) may determine (or select, identify) the first key frame from among the first frames of the first video.
- the first key frame may represent a frame selected as a key frame from among the first frames.
- the wearable device (103) may determine the first key frame from among the first frames while displaying the first video. For example, specific details regarding a method for determining the first key frame may be substantially identically referred to in the contents of FIGS. 7A, 7B, and 7C described above.
- the first key frame (or first reference frame) may be a representative frame (or representative image) for representing the external environment currently being played by the wearable device (103).
- the first key frame may be a reference for comparison with video data (or video) of a video data set stored in the wearable device (103).
- the wearable device (103) may identify one or more similarity values of one or more key frames of the stored video data. For example, the wearable device (103) may identify one or more key frames of the video data stored in the wearable device (103) with respect to the first key frame (or first reference frame). For example, the wearable device (103) may identify the location of the wearable device (103) by executing the 3D media content playback application, and may identify the stored video data by comparing the location of the wearable device (103) with location information of the stored video data. For example, the location information of the stored video data may include a geotag based on GPS.
- the wearable device (103) may, while displaying the first video, identify one or more key frames of the video data stored in the wearable device (103) for the first key frame.
- identify one or more key frames of the video data stored in the wearable device (103) for the first key frame is described, but the present disclosure is not limited thereto.
- the wearable device (103) may perform a comparison between each piece of video data included in all video data (or a video data set) stored in the wearable device (103) and the first video.
- the video corresponding to the video data may be referred to as a second video.
- frames of the video data may be referred to as second frames.
- one or more key frames of the video data may represent a key frame determined from among the second frames.
- the wearable device (103) may, while displaying the first video, identify a similarity value between each of the one or more key frames of the video data and the first key frame of the first video. Based on the identification, the wearable device (103) may identify the one or more similarity values for the one or more key frames of the video data. For example, the similarity value may be determined based on the number of matching (or mapped, coincident, related, associated) key points between key frames. However, the present disclosure is not limited thereto.
- the similarity value may include a calculation value of an algorithm (or a comparison algorithm) using the number of matching key points between key frames.
- the wearable device (103) may determine a second key frame (or a second reference frame) of the video data based on one or more similarity values. For example, while displaying the first video, the wearable device (103) may determine (or select, identify) the second key frame (or the second reference frame) of the video data (or the second video) based on one or more similarity values of the one or more key frames of the video data.
- the wearable device (103) may determine the second key frame by using a representative value of the similarity value among the one or more similarity values.
- the representative value may include at least one of a median value, a maximum value, or an average value. In the following description, it is assumed that the representative value is a maximum value, but the present disclosure is not limited thereto.
- the wearable device (103) may determine the second key frame having a maximum similarity value among the one or more key frames.
- the wearable device (103) may determine whether the similarity value of the second key frame exceeds a reference value. For example, while displaying the first video, the wearable device (103) may determine whether the similarity value of the second key frame exceeds the reference value for determining a playback (or display) method of 3D media content.
- the playback method may be related to at least one of a spatial domain or a temporal domain. Specific details related thereto are described below in FIGS. 8B and 8C .
- the reference value may be a value set through the 3D media content playback application.
- the reference value may be set by the user of the wearable device (103).
- the reference value may be increased to support relatively high similarity (or naturalness).
- the wearable device (103) may perform operation (835) if the similarity value of the second key frame exceeds the reference value. Alternatively, in operation (830), the wearable device (103) may perform operation (840) if the similarity value of the second key frame is less than or equal to the reference value.
- the wearable device (103) may display a visual object representing video data played from a timing (or time point) corresponding to a second key frame.
- the wearable device (103) may display a visual object representing the video data (or the second video) played from a timing corresponding to the second key frame, based on the similarity value of the second key frame exceeding the reference value.
- the visual object representing the video data played from a timing corresponding to the second key frame may be displayed to at least partially overlap with the first video.
- the visual object may be a visual object extracted from the frames of the video data (or extracted from the second key frame).
- the wearable device (103) may display a visual object representing video data played from a timing (or point in time) corresponding to a first frame of the video data.
- the wearable device (103) may display a visual object representing the video data played from a first frame of the video data (or the second video) based on the similarity value of the second key frame that is less than or equal to the reference value.
- the visual object representing the video data played from a timing corresponding to the first frame of the video data may be displayed so as to overlap at least partially with the first video.
- the visual object representing the video data played from a timing corresponding to the first frame of the video data may be a visual object extracted from the first frame of the video data.
- FIG. 8B For specific examples of operations (835) and (840), reference may be made to FIG. 8B below.
- FIG. 8B illustrates an example of a method for displaying a visual object representing video data stored in the time domain.
- the screen (850) of FIG. 8B illustrates a video (hereinafter, referred to as the first video) representing an external environment (e.g., a living room) displayed through a wearable device (103).
- the first video may be displayed through the display (250) of the wearable device (103).
- the wearable device (103) may identify key frames (861, 862, 863) among frames of video data (860) (or the second video) while displaying the first video on the screen (850).
- the video data (860) may represent a video captured (or acquired) at a time point before the first video is displayed.
- the video data (860) may include frames (or images, scenes) representing children playing in the living room, starting from a frame (or image, scene) beginning with entering the living room.
- a frame representing a screen (850) among the frames of the first video is a key frame (hereinafter, referred to as the first key frame).
- the wearable device (103) can identify similarity values by comparing the first key frame with each of the key frames (861, 862, 863).
- the number of key frames of the video data (860) may be two or less or four or more.
- the wearable device (103) can determine the key frame (862) having the maximum value among the three similarity values of the key frames (861, 862, 863).
- key frame (862) may be referenced as a second key frame.
- the wearable device (103) may display a visual object (862a) representing video data (860) played from a timing corresponding to the key frame (862) when the similarity value of the key frame (862), which is the second key frame, exceeds a reference value.
- the wearable device (103) may display the visual object (862a) by at least partially overlapping the first video of the screen (850).
- the visual object (862a) may be 3D media content (or 3D video).
- the visual object (862a) representing the key frame (862) may include children.
- the present disclosure is not limited thereto.
- the wearable device (103) may display a visual object (864a) representing video data (860) played from a timing corresponding to the first frame (864) of the video data (860) when the similarity value of the key frame (862), which is the second key frame, is less than or equal to a reference value.
- the wearable device (103) may display the visual object (864a) by at least partially overlapping the first video of the screen (850).
- the visual object (864a) may be 3D media content (or 3D video).
- the visual object (864a) may include a scene of entering a living room.
- the present disclosure is not limited thereto.
- FIGS. 8A and 8B illustrate examples in which the method of reproducing a visual object in the time domain is adjusted (or changed) based on the similarity value of the second key frame
- the present disclosure is not limited thereto.
- the method of reproducing a visual object in the spatial domain may also be adjusted (or changed) based on the similarity value of the second key frame. Specific details related thereto are described below in FIG. 8C.
- FIG. 8C illustrates an example of a method for displaying visual objects representing video data stored in a spatial domain.
- Screens (870, 880) of FIG. 8C illustrate visual objects that are displayed overlaid on a video (hereinafter, referred to as a first video) representing an external environment (e.g., a living room) displayed through a wearable device (103).
- a video hereinafter, referred to as a first video
- an external environment e.g., a living room
- the first video may be displayed through the display (250) of the wearable device (103).
- the screen (870) of FIG. 8c illustrates a visual object (875) displayed together with the first video (871) when the similarity value of the second key frame exceeds the reference value in the operation (835) of FIG. 8a.
- the first video (871) may include frames of the external environment viewed from a viewpoint (873).
- the first video (871) may include an object (872) within the external environment.
- the object (872) may be a sofa.
- the visual object (875) may be displayed in an area (877) relatively adjacent to the object (872).
- the wearable device (103) may display the visual object (875) so that the user of the wearable device (103) recognizes that the visual object (875) is located in an area (877) adjacent to the object (872).
- the wearable device (103) may determine the area (877) using video data (e.g., video data (860) of FIG. 8B) including a frame represented by the visual object (875).
- the area (877) can be determined based on a key frame (862) represented by a visual object (875).
- the wearable device (103) can calculate the location of the area (877) by using the result of key point matching between key frames (e.g., the first key frame representing the screen (850) of FIG. 8B and the key frame (862) of the video data (860).
- the wearable device (103) can transform (e.g., 3D transform) the key points of the key frame (862) to be located at the key points of the first key frame representing the corresponding screen (850).
- the wearable device (103) can calculate a transformation value (e.g., a vector value) so that the key points of the key frame (862) are transformed to the key points of the corresponding first key frame.
- the wearable device (103) can calculate the location of the area (877) by applying the calculated transformation value to the movement trajectory for the video data (860).
- the visual object (875) may be displayed overlapping the first video (871) in an area (877) similar to the area where the children are located within the scene represented by the key frame (862) of the video data (860).
- the screen (880) of FIG. 8c illustrates a visual object (885) displayed together with the first video (871) when the similarity value of the second key frame in the operation (840) of FIG. 8a is less than or equal to the reference value.
- the first video (871) may include frames of the external environment viewed from a viewpoint (873).
- the first video (871) may include an object (872) within the external environment.
- the object (872) may be a sofa.
- the visual object (885) may be displayed in an area (887) that is relatively distant from the object (872).
- the wearable device (103) may display the visual object (885) so that the user of the wearable device (103) recognizes that the visual object (885) is located in an area (887) that is spaced apart from the viewpoint (873) by a specified distance (889).
- the wearable device (103) may display the visual object (885) by overlapping the first video (871) so that the user recognizes that the visual object (885) is located in an area (887) that is spaced apart by a specified distance (889).
- the position of the area (887) may change according to the gaze direction when the gaze direction of the user changes.
- the length of the specified distance (889) may have a preset value.
- the region (887) is depicted as being located further from the object (872) than the region (877), but the present disclosure is not limited thereto.
- the region (887) may represent a fixed position spaced a specified distance (889) from the user's viewpoint (873), or the region (877) may represent a variable position depending on the result of the transformation for the key frame (862) of the video data (860). Accordingly, depending on the result of the transformation, the region (877) may include a position that is recognized as being located closer to the viewpoint (873) than the region (887).
- the wearable device (103) displays a visual object representing the video data based on the similarity value of the second key frame that is less than or equal to the reference value, but the present disclosure is not limited thereto.
- the wearable device (103) may refrain from (or delay, omit) displaying a visual object representing the video data based on the similarity value of the second key frame that is less than or equal to the reference value.
- the wearable device (103) may not display a visual object representing the video data based on the similarity value of the second key frame that is less than or equal to the reference value.
- the wearable device (103) may obtain an input for determining a mode in which an object to be displayed is represented in a visual object (e.g., a visual object (862a) or a visual object (864a) in FIG. 8B, a visual object (875) or a visual object (885) in FIG. 8C).
- the wearable device (103) may determine a type of object to be displayed in the visual object based on the input for determining the mode.
- the input for determining the mode may include a gesture, a virtual button (or a visual object, an affordance) on a screen displayed through the display (250), or an input to a physical button (or an input device) of the wearable device (103).
- the type of the object may include a dynamic object and a static object.
- the wearable device (103) may display a visual object including a dynamic object and a static object.
- the wearable device (103) may display a visual object including a dynamic object among the dynamic objects and static objects.
- the wearable device (103) may display a visual object representing a dynamic object.
- the second mode since static objects of the stored video data are likely to exist identically in the video for the external environment, a visual object representing a dynamic object among the dynamic objects and static objects may be displayed.
- the wearable device (103) can adjust the playback speed of a visual object displayed in operation (835) or operation (840).
- the wearable device (103) can adjust the playback speed of a visual object by comparing the position of the wearable device (103) (or the user of the wearable device (103)) with a reference area.
- the reference area may represent an area within a spatial coordinate system in which the visual object can be viewed.
- being able to view the visual object may represent a case in which the quality (or playback quality) of the visual object is higher than the reference quality.
- information about the reference area may be stored in the wearable device (103).
- the wearable device (103) may reproduce (or display, play back) the visual object at a first playback speed when the location is within the reference area.
- the wearable device (103) may reproduce (or display, play back) the visual object at a second playback speed that is slower than the first playback speed when the location is outside the reference area.
- the first playback speed may correspond to the speed at which video data (or second video) related to the visual object (or 3D media content, 3D video) was captured.
- the second playback speed may be adjusted according to the interval (or distance, length) between the location and the reference area.
- the second playback speed may become slower as the distance from the reference area increases.
- the second playback speed may be set to 0 if the location is outside a threshold area that includes the reference area.
- a playback speed of 0 may indicate a pause (or stop, cancel) of playback.
- FIGS. 9a to 9c For specific details on the playback speed adjusted according to the relationship between the reference area and the position as described above, reference may be made to FIGS. 9a to 9c below.
- Figure 9a illustrates an example of a reference area for 3D media content.
- FIG. 9A illustrates an example (900) of a reference area (920) identified for a visual object (910).
- the reference area (920) may represent a set of virtual locations on a spatial coordinate system from which the visual object (910) can be viewed.
- the visual object (910) may include 3D media content (or 3D video).
- the wearable device (103) may identify (or define, determine, or set) a reference area (920) as it performs reconstruction of 3D media content (or 3D video).
- the reference area (920) may be identified with respect to a visual object (910) (e.g., a frame, at least one object within the frame).
- a visual object (910) e.g., a frame, at least one object within the frame.
- the reference area (920) is illustrated as a circle, but the present disclosure is not limited thereto.
- the reference area (920) may have a spherical shape, as it is a set of locations in space.
- the reference area (920) may have an asymmetrical shape.
- the shape (or size) of a portion of the reference area (920) viewed from direction a may be different from the shape (or size) of a portion of the reference area (920) viewed from direction b.
- the shape of the reference area (920) can be determined based on the degree of recognition of the shape of the object according to the above reconstruction. In the example (900) of Fig. 9a, for convenience of explanation, a circular reference area (920) on a two-dimensional plane is assumed.
- the wearable device (103) can compare the location of the wearable device (103) with the reference area (920). For example, when the location of the wearable device (103) is a first location (905) within the reference area (920), the wearable device (103) can reproduce the visual object (910) using a first playback speed (e.g., x1). Conversely, when the location of the wearable device (103) is at locations (905-1, 905-2) outside the reference area (920), the wearable device (103) can reproduce the visual object (910) using a playback speed slower than the first playback speed. For example, when the location of the wearable device (103) is the second location (905-1), the wearable device (103) can reproduce the visual object (910) using the second playback speed. For example, when the location of the wearable device (103) is the third location (905-2), the wearable device (103) can reproduce the visual object (910) using the third playback speed.
- a first playback speed e.g., x1
- the wearable device (103) can reproduce the visual object (910) using
- the playback speed of the visual object (910) may gradually slow down.
- the playback speed of the visual object (910) may decrease as it moves away from the reference area (920).
- the third playback speed may be slower than the second playback speed.
- the visual object (910) when looking at the visual object (910) from a second location (905-1) spaced apart from the reference area (920) by a first distance (925-1), the visual object (910) may be played at the second playback speed.
- the visual object (910) may be played at the third playback speed.
- the wearable device (103) may stop (or, halt, omit, or refrain from) playing back the visual object (910) when the location of the wearable device (103) is outside the threshold area (930).
- the wearable device (103) may set the playing speed of the visual object (910) to a threshold playing speed (e.g., x0) depending on the location of the wearable device (103) outside the threshold area (930).
- the threshold area (930) may be configured to include a reference area (920).
- the threshold area (930) may be a set of locations spaced apart from the reference area (920) by a preset distance.
- the preset distance may be determined based on at least one of the user's eyesight, the playback performance of the wearable device (103), or the state of the external environment (or the complexity of the external environment).
- the wearable device (103) stops playback of the visual object (910) when the location of the wearable device (103) is outside the critical area (930), but the present disclosure is not limited thereto.
- the wearable device (103) may play a general video instead of playing the visual object (910), which is 3D media content.
- the general video may include visual information displayed on the screen of the display (250) of the wearable device (103).
- Fig. 9b illustrates an example of a reference region that changes along a movement trajectory.
- Example (940) of Fig. 9b illustrates a reference region (e.g., a reference region (920) of Fig. 9a) that changes along a movement trajectory (945) while video data related to a visual object (e.g., a visual object (910) of Fig. 9a) is being captured.
- the wearable device (103) may utilize the reference region that changes along the movement trajectory (945), as in example (940) of Fig. 9b.
- the movement trajectory (945) may represent the trajectory of the wearable device (103) for recording the video (or, the photographer of the video, the wearer of the wearable device (103)).
- information about the movement trajectory (945) may be stored in the wearable device (103).
- the wearable device (103) can identify a movement trajectory (945) while the video data related to the visual object is being captured.
- Example (940) illustrates reference areas (920-1, 920-2, 920-3) that change along the movement trajectory (945) over time.
- the position (950) of the wearable device (103) may be located within the reference area (920-1).
- the playback speed of the visual object may be the first playback speed.
- the position (950) of the wearable device (103) may be located outside the reference area (920-2).
- the playback speed of the visual object may be a second playback speed.
- the second playback speed may be slower than the first playback speed.
- it is assumed that the position (950) is within a critical area (e.g., the critical area (930) of FIG. 9A).
- the position (950) of the wearable device (103) may be located outside the reference area (920-3).
- the playback speed of the visual object may be the third playback speed.
- the third playback speed may be slower than the second playback speed.
- it is assumed that the position (950) is within a critical area (e.g., the critical area (930) of FIG. 9A).
- Example (940) illustrates a case where a visual object including an object that is moving when photographed is played back to a user at a fixed location (950).
- the present disclosure is not limited thereto.
- the wearable device (103) may provide the user with information for adjusting the user's position (950) while displaying the visual object at a changed location along the movement trajectory (945).
- the wearable device (103) may provide the user with auditory or tactile information through the output device (435), or provide the user with visual information through the display (250).
- a specific example of the visual information is described below in FIG. 10c.
- FIG. 9C illustrates an example of a fixed reference area with respect to the position of a wearable device.
- the example (970) of FIG. 9C illustrates a reference area (e.g., a reference area (920) of FIG. 9A) that changes along a movement trajectory (975) while video data related to a visual object (e.g., a visual object (910) of FIG. 9A) is being captured.
- a reference area e.g., a reference area (920) of FIG. 9A
- video data related to a visual object e.g., a visual object (910) of FIG. 9A
- the wearable device (103) performs operation (840) upon determining that the similarity value of the second key frame in operation (830) of FIG.
- the wearable device (103) may utilize the reference area displayed at a fixed position with respect to the position (950, 950-1, or 950-2) of the wearable device (103) (or the user of the wearable device (103)), regardless of the movement trajectory (975), as in the example (970) of FIG. 9C.
- the movement trajectory (975) may represent the trajectory of the wearable device (103) for recording the video (or, the photographer of the video, the wearer of the wearable device (103)).
- information about the movement trajectory (975) may be stored in the wearable device (103).
- the wearable device (103) can identify a movement trajectory (975) while the video data related to the visual object is being captured.
- Example (970) illustrates reference areas (920-4, 920-5, 920-6) that change along positions (950, 950-1, 950-2) regardless of the movement trajectory (975) over time.
- the position (950) of the wearable device (103) may be located within the reference area (920-4).
- the playback speed of the visual object may be the first playback speed.
- the position (950-1) of the wearable device (103) may change from the position (950). Accordingly, the position of the reference area (920-5) may change from the position of the reference area (920-4). At this time, the playback speed of the visual object may be the first playback speed.
- the position (950-2) of the wearable device (103) may change from the position (950-1). Accordingly, the position of the reference area (920-6) may change from the position of the reference area (920-5). At this time, the playback speed of the visual object may be the first playback speed.
- the wearable device (103) may display the visual object so that it is recognized as being located at a specified distance from the user's location (950, 950-1, or 950-2) while the user's location (950, 950-1, or 950-2) changes along the movement trajectory (975).
- the location of the reference area identified (or set, defined) for the visual object changes depending on the user's location (950, 950-1, or 950-2), but the visual object may be recognized as being displayed at a fixed location with respect to the user.
- the wearable device (103) may activate or deactivate the control of the playback speed based on the reference area.
- the wearable device (103) may play a video captured in a space not related to the location of the wearable device (103) as well as a video captured in a space adjacent to the location of the wearable device (103).
- the wearable device (103) may play a video captured in Paris, France.
- the above examples are merely illustrative examples for convenience of explanation, and the present disclosure is not limited thereto.
- FIG. 10A illustrates an example of a method for displaying a selection screen including preview images of a video data set related to the location of a wearable device.
- FIG. 10A a screen (1000, 1005) is illustrated in which a wearable device (103) displays a selection screen including preview images of video data of a video data set.
- the wearable device (103) of FIG. 10A may be an example of the electronic device (101) of FIG. 1, the wearable device (103) of FIGS. 2A to 3B, and the wearable device (103) of FIG. 4.
- the wearable device (103) can display a video (615) of an external environment through a display (the display (250) of FIG. 4).
- the wearable device (103) can identify a location within the external environment displayed in the video (615).
- the wearable device (103) can identify (or search for) a video data set related to the location.
- the video data set can include first video data (1010), second video data (1020), and third video data (1030).
- the present disclosure is not limited thereto.
- the number of video data included in the video data set can be 2 or less or 4 or more.
- the wearable device (103) may display a selection screen (1007) including preview images (1011, 1021, 1031) for video data of a video data set.
- the wearable device (103) may display the selection screen (1007) including the preview images (1011, 1021, 1031) at least partially overlapping the video (615) through the display (250).
- the first preview image (1011) may be a portion (e.g., a frame or a key frame) of the first video data (1010).
- the second preview image (1021) may be a portion (e.g., a frame or a key frame) of the second video data (1020).
- the third preview image (1031) may be a portion (e.g., a frame or key frame) of the third video data (1030).
- the selection screen (1007) may be displayed as the wearable device (103) executes a software application for playing 3D media content.
- the wearable device (103) may obtain input for a selection screen (1007) (or preview images (1011, 1021, 1031)). For example, the wearable device (103) may display a visual object (or 3D media content, 3D video) related to a frame (or key frame) of video data corresponding to the preview image along with (or on) the video (615) based on the obtained input.
- a visual object or 3D media content, 3D video
- a selection screen (1007) including preview images for each frame (or key frame) of video data is illustrated, but the present disclosure is not limited thereto.
- the selection screen (1007) may also include a plurality of preview images for a plurality of key frames of video data (e.g., a plurality of key frames of first video data (1010)).
- Figure 10b illustrates an example of how to display an affordance to indicate the presence of stored video data.
- FIG. 10b illustrates screens (1040, 1050) that display search results of stored video data for the location of a wearable device (103) and an affordance for notifying that the search is in progress.
- the wearable device (103) of FIG. 10b may be an example of the electronic device (101) of FIG. 1, the wearable device (103) of FIGS. 2a to 3b, and the wearable device (103) of FIG. 4.
- the wearable device (103) can display an affordance (1043) to indicate the presence of stored video data together with (or on) the video (615).
- the wearable device (103) can identify a location of the wearable device (103) and display an affordance (1043) indicating a search result for stored video data for the identified location.
- the affordance (1043) can include text (1045), a first menu (1047), and a second menu (1049).
- the text (1045) can include a message (e.g., “There is no video taken at the current location”) to indicate that there is no video taken (or stored) at the identified location.
- the first menu (1047) can be used to switch to a general video mode.
- the wearable device (103) may switch to a mode for general video playback upon receiving an input for the first menu (1047).
- the general video may represent 2D media content rather than 3D media content.
- the second menu (1049) may be used to additionally search for video data stored for the identified location.
- the wearable device (103) may additionally search for video data stored for the identified location upon receiving an input for the second menu (1049).
- an affordance (1055) is shown that is displayed when the wearable device (103) obtains input for a second menu (1049) with respect to screen (1040).
- the wearable device (103) may display the affordance (1055) together with (or on) the video (615) when the wearable device (103) obtains input for the second menu (1049).
- the affordance (1055) may be used to indicate that additional search of stored video data for the identified location is to be performed.
- Figure 10c illustrates an example of how to display an indicator to indicate a reference area.
- FIG. 10c illustrates a screen (1060) displaying an indicator (1065) for indicating a reference area for a visual object (1063) displayed by a wearable device (103).
- the wearable device (103) of FIG. 10c may be an example of the electronic device (101) of FIG. 1, the wearable device (103) of FIGS. 2a to 3b, and the wearable device (103) of FIG. 4.
- the wearable device (103) can display a visual object (1063).
- the visual object (1065) can include 3D media content or 3D video.
- the wearable device (103) can display the visual object (1065) based on a comparison between a first key frame of the video (615) corresponding to an external environment and a second key frame of stored video data.
- the wearable device (103) can display the visual object (1065) when the similarity value of the second key frame with respect to the first key frame exceeds a reference value.
- the wearable device (103) can display an indicator (1067) for a reference area in which the visual object (1065) can be viewed with a quality higher than a reference quality together with the video (615).
- the reference area may be identified (or set, defined) for the visual object (1065).
- the wearable device (103) may display an indicator (1067) to indicate an area where a user of the wearable device (103) can view the visual object (1065) with better quality.
- the indicator (1067) may indicate a portion on the video (615) corresponding to the reference area (or space) of the external environment.
- an indicator (1067) indicating the above-described portion on the video (615) is depicted, but the present disclosure is not limited thereto.
- the indicator (1067) may have the shape of an arrow indicating a direction on the video (615), or may be formed as text.
- FIG. 11 illustrates an example of a flowchart for a method of displaying a visual object representing stored video data based on the similarity between the video and the stored video data for the external environment.
- At least some of the methods of FIG. 11 may be performed by the wearable device (103) of FIG. 4.
- at least some of the methods may be controlled by the processor (410) of the wearable device (103).
- the operations may be performed sequentially, but are not necessarily performed sequentially.
- the order of the operations may be changed, and at least two operations may be performed in parallel.
- the wearable device (103) can identify a first reference frame of the live video. For example, the wearable device (103) can determine the first reference frame (or first key frame) of the live video while displaying the live video of the external environment acquired through the camera (430) through the display (250).
- the wearable device (103) may display the live video (or first video) of the external environment.
- the wearable device (103) may display the live video of the external environment obtained through the camera (430).
- the external environment may represent a space (or area) of the actual environment (or physical environment) in which the wearable device (103) (or the user of the wearable device (103)) is currently located.
- the live video of the external environment may include a plurality of frames (or images).
- the live video of the external environment may include the frames acquired over time.
- the frames included in the live video may be referred to as first frames.
- the wearable device (103) may have stored video data.
- the video data may be directly captured (or acquired) by the wearable device (103) at a past timing (or point in time), or may be captured (or acquired) by an external electronic device connected to the wearable device (103) and then provided to the wearable device (103).
- the video data may represent data regarding a second video (or past video, captured video).
- the wearable device (103) may play (or display) the live video through the display (250) in response to a user's input (or request). For example, the wearable device (103) may play (or display) the live video in response to the user's input indicating that the wearable device (103) is worn. For example, the wearable device (103) may play (or display) the live video in response to the user's identification of an input to the wearable device (103).
- the wearable device (103) may obtain a request for playing 3D media content. For example, while displaying the live video, the wearable device (103) may obtain the request for playing the 3D media content from the user of the wearable device (103). For example, the wearable device (103) may execute a software application for playing the 3D media content (hereinafter, referred to as a 3D media content playing application) according to the request.
- a 3D media content playing application a software application for playing the 3D media content
- the wearable device (103) may obtain the request simultaneously with displaying the live video, or may obtain the request before displaying the live video.
- the 3D media content may include a 3D video generated using video data stored in the wearable device (103).
- the wearable device (103) can identify key points of each of the frames of the live video with respect to the external environment.
- the wearable device (103) can identify key points of each of the first frames of the live video with respect to the external environment.
- the wearable device (103) can identify key points of each of the first frames while displaying the live video.
- specific details regarding identifying key points of each of the first frames may be substantially identically referred to in the contents of FIGS. 7A, 7B, and 7C described above.
- the wearable device (103) may determine (or select, identify) the first reference frame (or the first key frame) from among the first frames of the video.
- the first reference frame may represent a frame selected as a reference frame from among the first frames.
- the wearable device (103) may determine the first reference frame from among the first frames while displaying the video.
- specific details on a method for determining the first reference frame may be substantially identical to the contents of FIGS. 7A, 7B, and 7C described above.
- the first reference frame may be a representative frame (or representative image) for representing the external environment currently being played by the wearable device (103).
- the first reference frame may be a reference for comparison with video data (or video) of a video data set stored in the wearable device (103).
- the wearable device (103) may identify a second reference frame (or second key frame) of the video data stored in the wearable device (103) based on one or more similarity values of the frames of the video data with respect to the first reference frame of the live video. For example, the wearable device (103) may determine the second reference frame based on one or more similarity values of the one or more reference frames of the video data with respect to the first reference frame of the live video, among one or more reference frames of the frames of the video data. For example, the wearable device (103) may determine the second reference frame based on the one or more similarity values while displaying the live video with respect to the external environment.
- the wearable device (103) can identify one or more similarity values of one or more reference frames of the stored video data.
- the wearable device (103) can identify one or more reference frames of the video data stored in the wearable device (103) with respect to the first reference frame.
- the wearable device (103) can identify the location of the wearable device (103) by executing the 3D media content playback application, and can identify the stored video data by comparing the location of the wearable device (103) with location information of the stored video data.
- the location information of the stored video data can include a geotag based on GPS.
- the wearable device (103) may, while displaying the live video, identify one or more reference frames of the video data stored in the wearable device (103) with respect to the first reference frame. While the example describes an example of comparing the one or more reference frames of one video data stored in the wearable device (103) with the first reference frame, the present disclosure is not limited thereto.
- the wearable device (103) may perform a comparison between each video data included in all video data (or a video data set) stored in the wearable device (103) and the video.
- the frames of the video data may be referred to as second frames.
- the one or more reference frames of the video data may represent a reference frame determined from among the second frames.
- the wearable device (103) may, while displaying the video, identify a similarity value between each of the one or more reference frames of the video data and the first reference frame of the video. Based on the identification, the wearable device (103) may identify the one or more similarity values for the one or more reference frames of the video data.
- the similarity value may be determined based on the number of matching (or mapped, coincident, related, associated) key points between the reference frames.
- the similarity value may include a calculated value of an algorithm (or a comparison algorithm) using the number of matching key points between the reference frames.
- the wearable device (103) may determine the second reference frame by using a representative value of the similarity value among the one or more similarity values.
- the representative value may include at least one of a median value, a maximum value, or an average value.
- the wearable device (103) may determine the second reference frame having a maximum similarity value among the one or more reference frames.
- the wearable device (103) may display a visual object extracted from the frames of the video data played back from a point in time (or timing) corresponding to the second reference frame, at least partially overlapping with the live video.
- the wearable device (103) may display the visual object representing the video data played back from a point in time corresponding to the second reference frame, at least partially overlapping with the video, through the display (250).
- the visual object representing the video data played back from a point in time corresponding to the second reference frame may include a visual object extracted from the frames of the video data (or the second reference frame).
- the wearable device (103) may determine whether the similarity value of the second reference frame exceeds the reference value. For example, the wearable device (103) may determine, while displaying the video, whether the similarity value of the second reference frame exceeds the reference value for determining a playback (or display) method of 3D media content.
- the playback method may be related to at least one of a spatial domain or a temporal domain.
- the reference value may be a value set through the 3D media content playback application.
- the reference value may be set by the user of the wearable device (103).
- the reference value may be increased to support relatively high similarity (or naturalness).
- the wearable device (103) may display a visual object representing the video data (or the second video) played from a timing corresponding to the second reference frame, based on the similarity value of the second reference frame exceeding the reference value.
- the visual object representing the video data played from a timing corresponding to the second reference frame may be displayed at least partially overlapping with the first video.
- the wearable device (103) may display a visual object representing the video data played from the first frame of the video data (or the second video) based on the similarity value of the second reference frame that is less than or equal to the reference value.
- the visual object representing the video data played from a timing corresponding to the first frame of the video data may be displayed to at least partially overlap with the first video.
- the wearable device (103) may refrain from (or delay, omit) displaying a visual object representing the video data based on the similarity value of the second reference frame that is less than or equal to the reference value. In other words, the wearable device (103) may not display a visual object representing the video data based on the similarity value of the second reference frame that is less than or equal to the reference value.
- the wearable device (103) may obtain an input for determining a mode indicating an object to be displayed in a visual object (e.g., the visual object (862a) or the visual object (864a) of FIG. 8B , the visual object (875) or the visual object (885) of FIG. 8C ).
- the wearable device (103) may determine a type of object to be displayed in the visual object based on the input for determining the mode.
- the input for determining the mode may include a gesture, an on-screen virtual button (or visual object, affordance) displayed through the display (250), or an input to a physical button (or input device) of the wearable device (103).
- the type of the object may include a dynamic object and a static object.
- the wearable device (103) may display a visual object including a dynamic object and a static object.
- the wearable device (103) may display a visual object including a dynamic object among the dynamic objects and static objects.
- the wearable device (103) may display a visual object representing a dynamic object.
- the second mode since static objects of the stored video data are likely to exist identically in the video for the external environment, a visual object representing a dynamic object among the dynamic objects and static objects may be displayed.
- the wearable device (103) can identify a second reference frame based on a comparison between background features of a reference frame of the live video and background features of frames of the video data, and display a portion of an image related to a moving object of the video data by overlapping it with the live video.
- the wearable device (103) can display the live video of the external environment acquired through the camera (430) through the display (250). For example, the wearable device (103) can identify the first reference frame of the live video while displaying the live video. For example, the wearable device (103) can identify background features of the first reference frame of the live video. The background features may be static objects of the live video. For example, the wearable device (103) can identify background features of the first reference frame of the live video while displaying the live video. For example, the background features of the video data may be static objects. For example, the wearable device (103) can perform a comparison between background features of the first reference frame of the live video and background features of the first reference frame of the live video. For example, the comparison may include identifying similarity (or obtaining a similarity value) between a static object of the live video and a static object of the video data.
- the wearable device (103) may display, through the display (250), a portion of an image related to a moving object extracted from the frames of the video data played back from a point in time corresponding to the second reference frame, at least partially overlapping the live video.
- the moving object may be a dynamic object extracted from the frames of the video data (or the second reference frame).
- the portion of the image may include a visual object for displaying the moving object together with the live video.
- the wearable device (103) can compare the similarity between the live video and the static objects of the video data, and display the dynamic objects of the video data by overlapping them with the live video according to the result of the comparison.
- the wearable device (103) can adjust the playback speed of the visual object.
- the wearable device (103) can adjust the playback speed of the visual object by comparing the position of the wearable device (103) (or the user of the wearable device (103)) with a reference area.
- the reference area may represent an area within a spatial coordinate system where the visual object can be viewed. In this case, in order to define the reference area, being able to view the visual object may mean that the quality (or playback quality) of the visual object is higher than the reference quality.
- information about the reference area may be stored in the wearable device (103).
- the wearable device (103) may reproduce (or display, play back) the visual object at a first playback speed when the location is within the reference area.
- the wearable device (103) may reproduce (or display, play back) the visual object at a second playback speed that is slower than the first playback speed when the location is outside the reference area.
- the first playback speed may correspond to the speed at which video data (or second video) related to the visual object (or 3D media content, 3D video) was captured.
- the second playback speed may be adjusted according to the interval (or distance, length) between the location and the reference area.
- the second playback speed may become slower as the distance from the reference area increases.
- the second playback speed may be set to 0 if the location is outside a threshold area that includes the reference area.
- a playback speed of 0 may indicate a pause (or stop, cancel) of playback.
- the wearable device (103) may perform operations for capturing and storing the video data.
- a method for capturing and storing the video data may be referred to in FIGS. 7A to 7D.
- the present disclosure is not limited thereto.
- the present disclosure may be applied to the electronic device (101) of FIG. 1 .
- the wearable device (103) may acquire 3D media content captured by an electronic device (101) connected to the wearable device (103) and play the same on the wearable device (103).
- the device, method, and storage medium according to the present disclosure can also be applied to a wearable device (103) (or electronic device (101)) including an artificial intelligence model (AI model).
- AI model can include a deep learning-based generative model.
- the wearable device (103) can use the AI model to identify the reference area.
- the wearable device (103) can restore a portion of an object that is difficult to identify through a captured video (or video data) based on the AI model (e.g., a portion in the b direction when the video is captured in the a direction in the example (900) of FIG. 9A). Accordingly, the wearable device (103) can adjust the reference area using the restored information. At this time, the adjusted reference area can have the limitations of the reference area removed.
- the wearable device (103) can identify a similarity value between a video and video data (or a key frame of the video and a key frame of the video data). For example, the wearable device (103) can identify the similarity value based on the artificial intelligence model by using a key frame of the video and one or more key frames of the video data.
- the present disclosure is described as being applied to a wearable device (103) that provides VST, but the present disclosure is not limited thereto.
- the present disclosure can also be applied to a wearable device (103) that provides an AR environment.
- the device, method, and storage medium according to the present disclosure can determine a spatial position and a temporal position at which 3D media content (or 3D video) is to be displayed (or played) based on the position of the wearable device (103) (or the user of the wearable device (103)).
- the device, method, and storage medium according to the present disclosure can display a scene of video data (or another video) representing a similar space by utilizing the similarity between a scene (or image, frame) of a video of an external environment that is being acquired and displayed and a scene (or image, frame) of stored video data (or 3D media content, 3D video, or another video).
- the timing corresponding to a frame of the stored video can be determined based on a frame of the video of the external environment that is currently being displayed.
- a visual object representing the stored video to be displayed on the video of the external environment can be determined based on the arrangement of objects within the frame of the stored video.
- the device, method, and storage medium according to the present disclosure can provide a high level of immersion to the user by displaying the environment at the time point when video data (or 3D media content) is captured and objects (or subjects) within the environment using appropriate spatial and temporal locations within the environment currently being viewed by the user.
- the device, method, and storage medium according to the present disclosure can provide convenience to the user by displaying video data with the user in mind.
- the wearable device (103) may include a memory (415) that stores instructions and includes one or more storage media.
- the wearable device (103) may include a camera system (430) that includes at least one camera.
- the wearable device (103) may include a display system (250) that includes at least one display.
- the wearable device (103) may include at least one processor (410) that includes a processing circuit.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to determine a first key frame of a video of an external environment acquired through the camera system (430) while displaying the video through the display system (250).
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to determine, while displaying, through the display system (250), a video of an external environment acquired through the camera system (430), a second key frame from among one or more key frames of video data stored in the wearable device (103), based on one or more similarity values of the one or more key frames of the video data to the first key frame of the video.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to display, through the display system (250), a visual object representing the video data played from a timing corresponding to the second key frame, at least partially overlapping the video, according to a similarity value of the second key frame exceeding a reference value.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to display, through the display system (250), another visual object representing the video data played from a different timing corresponding to a first frame of the video data, at least partially overlapping the video, based on the similarity value of the second key frame being less than or equal to the reference value.
- the other visual object may be displayed so as to be perceived as being located at a specified distance from a user of the wearable device (103).
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to refrain from displaying the visual object representing the video data played from the timing corresponding to the second key frame, based on the similarity value of the second key frame being less than or equal to the reference value.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to identify key points of each of the frames of the video acquired via the camera system (430).
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to determine a first key frame among the frames of the video as a key frame of the video if the key points of the first key frame satisfy a criterion.
- the above criteria may include at least one of: the number of key points of the first key frame is greater than or equal to a reference number; the time interval between a timing corresponding to the first key frame and a timing corresponding to another key frame of the video is greater than or equal to a reference time interval; or the time length during which the wearable device (103) is positioned within an area within the external environment indicated by the first key frame is greater than or equal to a reference time length.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to identify the similarity value of the second key frame having a maximum value among the one or more similarity values of the one or more key frames of the video data.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to determine whether the similarity value of the second key frame exceeds the reference value.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to identify a difference between a first number of key points of the first key frame and a second number of key points of each of the one or more key frames.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to identify, using the difference, the one or more similarity values.
- Each of the one or more similarity values may be inversely proportional to the difference.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to obtain a request for playback of 3D media content.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to identify the one or more similarity values in response to the request.
- the position at which the visual object is displayed overlapping at least partly with the video can be determined by transforming key points of the second key frame to be positioned at corresponding key points of the first key frame.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to obtain an input for determining a mode in which an object to be displayed within the visual object is to be displayed.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to display the visual object comprising a dynamic object and a static object when the mode is a first mode.
- the instructions, when individually or collectively executed by the at least one processor (410) may cause the wearable device (103) to display the visual object comprising the dynamic object among the dynamic object and the static object when the mode is a second mode different from the first mode.
- the wearable device may further include a sensor system comprising at least one sensor.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to identify a reference area within the external environment in which a user may view the visual object representing the video data.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to identify a location of the wearable device (103) within the external environment using at least one of the sensor system or the camera system (430).
- the instructions, when individually or collectively executed by the at least one processor (410) may cause the wearable device (103) to determine a playback speed of the visual object at a first speed according to the location of the wearable device (103) located within the reference area.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to determine a playback speed of the visual object at a second speed that is slower than the first speed according to the location of the wearable device (103) located outside the reference area.
- the second speed may decrease as the location moves away from the reference area.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to display, through the display system (250), an indicator for indicating the reference area together with the video.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to display, through the display system (250), a notification, together with the video, to notify a user of the wearable device (103) to move into the reference area upon identifying the location of the wearable device (103) outside the reference area.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to identify a video data set including the video data.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to, prior to displaying the visual object, display, through the display system (250), a selection screen including a preview image for the second key frame of the video data within the video data set and another preview image for a key frame of another video data, the selection screen for determining a video to be displayed together with the video.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to display, through the display system (250), together with the video, an affordance for indicating that there is no video data stored within the wearable device (103) prior to displaying the visual object.
- the instructions, when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to execute a software application for acquiring 3D media content before displaying the video.
- the instructions, when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to acquire another video corresponding to the video data according to the execution of the software application.
- the instructions, when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to identify the one or more frames using the another video.
- the instructions, when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to generate a movement trajectory while recording the other video using the other video.
- the instructions, when individually or collectively executed by the at least one processor (410) may cause the wearable device (103) to store the video data within the wearable device (103) as the wearable device (103) reconstructs the other video using the one or more frames and the movement trajectory.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to identify, using the video data, a reference area within the external environment in which a user may view the visual object representing the video data.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to store information about the reference area together with the video data within the wearable device (103).
- the video data may include information about key points of the second key frame.
- the information about the key points of the second key frame may include information about a region having a specified size defined from each of the key points of the second key frame and a descriptor of each of the key points of the second key frame.
- the video data may be obtained from an external electronic device connected to the wearable device (103).
- the method performed by the wearable device (103) as described above may include an operation of determining a first key frame of a video while displaying a video of an external environment.
- the method may include an operation of determining a second key frame, based on one or more similarity values of one or more key frames of video data stored in the wearable device (103) with respect to the first key frame of the video, among one or more key frames of the video data while displaying the video of the external environment.
- the method may include an operation of displaying a visual object representing the video data played from a timing corresponding to the second key frame, at least partially overlapping the video, based on a similarity value of the second key frame exceeding a reference value.
- a non-transitory computer-readable storage medium may store one or more programs including instructions that, when individually or collectively executed by at least one processor (410) of a wearable device (103) including a camera system (430) including at least one camera and a display system (250) including at least one display, cause a video of an external environment acquired through the camera system (430) to be displayed through the display system (250), while determining a first key frame of the video.
- the non-transitory computer-readable storage medium may store one or more programs including instructions that cause, when individually or collectively executed by the at least one processor (410), to determine a second key frame based on one or more similarity values of the one or more key frames of the video data with respect to the first key frame of the video among one or more key frames of the video data stored in the wearable device (103) while displaying a video of an external environment acquired through the camera system (430) through the display system (250).
- the non-transitory computer-readable storage medium may store one or more programs including instructions that cause, when individually or collectively executed by the at least one processor (410), to display, through the display system (250), a visual object representing the video data played from a timing corresponding to the second key frame, at least partially overlapping the video, based on a similarity value of the second key frame exceeding a reference value.
- the wearable device (103) may include a memory (415) storing instructions and including one or more storage media.
- the wearable device (103) may include a camera system (430) including at least one camera.
- the wearable device (103) may include a display system (250) including at least one display.
- the wearable device (103) may include at least one processor (410) including a processing circuit.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to identify a first reference frame of a live video of an external environment acquired through the camera system (430) while displaying the live video through the display system (250).
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to identify a second reference frame of the video data stored in the wearable device (103) based on one or more similarity values of frames of the video data with respect to the first reference frame of the live video while displaying, through the display system (250), a live video of an external environment acquired through the camera system (430).
- the above instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to display, through the display system (250), a live video of an external environment acquired through the camera system (430), while displaying, through the display system (250), a visual object extracted from the frames of the video data played back from a time point corresponding to the second reference frame, at least partially overlapping the live video.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to display, through the display system (250), another visual object extracted from the frames of the video data played back from another point in time corresponding to a first frame of the video data, at least partially overlapping with the live video, based on a similarity value of the second reference frame being less than or equal to a reference value.
- the another visual object may be displayed so as to be perceived as being located at a specified distance from a user of the wearable device (103).
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to refrain from displaying the visual object extracted from the frames of the video data played back from the point in time corresponding to the second reference frame, based on the similarity value of the second reference frame being less than or equal to the reference value.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to identify key points of each of the frames of the live video acquired through the camera system (430).
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to determine the first reference frame as a reference frame of the live video if key points of the first reference frame among the frames of the live video satisfy a criterion.
- the above criteria may include at least one of: the number of key points of the first reference frame is greater than or equal to the reference number; the time interval between a time corresponding to the first reference frame and a time corresponding to another reference frame of the video is greater than or equal to the reference time interval; or the time length during which the wearable device (103) is positioned within an area within the external environment indicated by the first reference frame is greater than or equal to the reference time length.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to identify a similarity value of the second reference frame having a maximum value among the one or more similarity values of the one or more reference frames of the video data.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to determine whether the similarity value of the second reference frame exceeds the reference value.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to identify a difference between a first number of key points of the first reference frame and a second number of key points of each of the one or more reference frames.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to identify, using the difference, the one or more similarity values.
- Each of the one or more similarity values may be inversely proportional to the difference.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to obtain a request for playback of 3D media content.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to identify the one or more similarity values in response to the request.
- the position at which the visual object is displayed overlapping at least partly with the video can be determined by transforming key points of the second reference frame to be positioned at corresponding key points of the first reference frame.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to obtain an input for determining a mode in which an object to be displayed within the visual object is to be displayed.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to display the visual object comprising a dynamic object and a static object when the mode is a first mode.
- the instructions, when individually or collectively executed by the at least one processor (410) may cause the wearable device (103) to display the visual object comprising the dynamic object among the dynamic object and the static object when the mode is a second mode different from the first mode.
- the wearable device (103) may further include a sensor system comprising at least one sensor.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to identify a reference area within the external environment in which a user may view the visual object extracted from the frames of the video data.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to identify a location of the wearable device (103) within the external environment using at least one of the sensor system or the camera system (430).
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to determine a playback speed of the visual object at a first speed according to the location of the wearable device (103) located within the reference area.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to determine a playback speed of the visual object at a second speed that is slower than the first speed according to the location of the wearable device (103) located outside the reference area. The second speed may decrease as the location moves away from the reference area.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to display, through the display system (250), an indicator for indicating the reference area together with the live video.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to display, through the display system (250), along with the live video, a notification to notify a user of the wearable device (103) to move into the reference area upon identifying the location of the wearable device (103) outside the reference area.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to identify a video data set including the video data.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to, prior to displaying the visual object, display, through the display system (250), a selection screen for determining a video to be displayed together with the live video, the selection screen including a preview image for the second reference frame of the video data within the video data set and another preview image for a reference frame of another video data.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to display, through the display system (250), along with the live video, an affordance for indicating that there is no video data stored within the wearable device (103) prior to displaying the visual object.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to execute a software application for acquiring 3D media content before displaying the video.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to acquire another video corresponding to the video data according to execution of the software application.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to identify one or more reference frames of the video data using the another video, and to generate a movement trajectory while capturing the another video.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to store the video data within the wearable device (103) as the wearable device reconstructs the other video using the one or more frames and the movement trajectory.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to identify, using the video data, a reference area within the external environment in which a user can view the visual object extracted from the frames of the video data.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to store information about the reference area together with the video data within the wearable device (103).
- the video data may include information about key points of the second reference frame.
- the information about the key points of the second reference frame may include information about a region having a designated size defined from each of the key points of the second reference frame and a descriptor of each of the key points of the second reference frame.
- the method performed by the wearable device (103) as described above may include an operation of identifying a first reference frame of the live video while displaying a live video of an external environment.
- the method may include an operation of identifying a second reference frame of the video data stored in the wearable device (103) based on one or more similarity values of frames of the video data with respect to the first reference frame of the live video while displaying the live video of the external environment.
- the method may include an operation of displaying a visual object extracted from the frames of the video data played back from a time point corresponding to the second reference frame while displaying the live video of the external environment, at least partially overlapping the live video.
- the non-transitory computer-readable storage medium as described above may store one or more programs including instructions that, when individually or collectively executed by at least one processor (410) of a wearable device (103) including a camera system (430) including at least one camera and a display system (250) including at least one display, cause the wearable device (103) to identify a first reference frame of a live video of an external environment acquired through the camera system (430) while displaying the live video through the display system (250).
- the non-transitory computer-readable storage medium may store one or more programs including instructions that, when individually or collectively executed by the at least one processor (410), cause the wearable device (103) to identify a second reference frame of the video data stored in the wearable device (103) based on one or more similarity values of frames of the video data to the first reference frame of the live video.
- the non-transitory computer-readable storage medium may store one or more programs including instructions that, when individually or collectively executed by the at least one processor (410), cause the display system (250) to display a visual object extracted from the frames of the video data reproduced from a time point corresponding to the second reference frame, at least partially overlapping the live video.
- the wearable device (103) may include a memory (415) storing instructions and including one or more storage media.
- the wearable device (103) may include a camera system (430) including at least one camera.
- the wearable device (103) may include a display system (250) including at least one display.
- the wearable device (103) may include at least one processor (410) including a processing circuit.
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to identify a first reference frame of a live video of an external environment acquired through the camera system (430) while displaying the live video through the display system (250).
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to identify a second reference frame of the video data stored in the wearable device (103) based on a comparison between background features of the first reference frame of the live video and background features of frames of the video data while displaying a live video of an external environment acquired through the camera system (430) through the display system (250).
- the instructions when individually or collectively executed by the at least one processor (410), may cause the wearable device (103) to display, through the display system (250), a portion of an image related to a moving object, extracted from the frames of the video data played back from a time point corresponding to the second reference frame, while displaying, through the display system (250), a live video of an external environment acquired through the camera system (430), at least partially overlapping the live video.
- Electronic devices may take various forms. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to the embodiments of this document are not limited to the aforementioned devices.
- first,” “second,” or “first” or “second” may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order).
- a component e.g., a first component
- another component e.g., a second component
- functionally e.g., a third component
- module used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit.
- a module may be an integral component, or a minimum unit or part of such a component that performs one or more functions.
- a 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 may be implemented as software (e.g., a program (140)) including one or more instructions stored in a storage medium (e.g., an internal memory (136) or an external memory (138)) readable by a machine (e.g., an electronic device (101)).
- a processor e.g., a processor (120)
- the machine e.g., an electronic device (101)
- the one or more instructions may include code generated by a compiler or code executable by an interpreter.
- the machine-readable storage medium may be provided in the form of a non-transitory storage medium.
- 'non-transitory' simply means that the storage medium is a tangible device and does not contain signals (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.
- the method according to various embodiments disclosed in the present document may be provided as included in a computer program product.
- the computer program product may be traded as a product between a seller and a buyer.
- the computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read only memory (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) via an application store (e.g., Play Store TM ) or directly between two user devices (e.g., smart phones).
- an application store e.g., Play Store TM
- at least a portion of the computer program product may be temporarily stored or temporarily generated in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.
- each component e.g., a module or a program of the above-described components may include one or more entities, and some of the entities may be separated and placed in other components.
- one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added.
- a plurality of components e.g., a module or a program
- the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration.
- the operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
웨어러블 장치는, 인스트럭션들을 저장하는 메모리, 카메라 시스템, 디스플레이 시스템, 및 적어도 하나의 프로세서를 포함할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치가: 외부 환경의 라이브 비디오를 표시하는 동안, 상기 라이브 비디오의 제1 기준 프레임을 식별하고, 및 상기 라이브 비디오의 상기 제1 기준 프레임에 대한 저장된 비디오 데이터의 키 프레임들의 하나 이상의 유사도 값들에 기반하여, 상기 비디오 데이터의 제2 기준 프레임을 식별하고, 및 상기 제2 키 프레임에 대응하는 시점으로부터 재생되는 상기 비디오 데이터의 상기 프레임들로부터 추출된 시각적 객체를 상기 라이브 비디오와 적어도 일부 중첩하여 표시하도록, 야기할 수 있다.
Description
아래의 설명들은, 미디어 콘텐트(media content)를 재생(playing)하기 위한 장치, 방법, 및 저장 매체에 관한 것이다.
강화된(enhanced) 사용자 경험(user experience)을 제공하기 위해, 실제 세계(real world) 내 외부 객체 또는 가상 세계(virtual world) 내 가상 객체(virtual object)와 연계로 컴퓨터에 의해 생성된 정보를 표시하는 확장 현실(extended reality) 서비스를 제공하는 전자 장치가 개발되고 있다. 상기 전자 장치는, 사용자에 의해 착용될 수 있는 웨어러블 장치를 포함할 수 있다. 예를 들면, 상기 전자 장치는, 사용자 단말(user equipment), AR 안경(glasses), VR 안경, 및/또는 머리 착용형 장치(head-mounted device, HMD)(예: VST(video see through) HMD, OST(optical see through) HMD)를 포함할 수 있다.
웨어러블 장치는, 인스트럭션들을 저장하고, 하나 이상의 저장 매체들을 포함하는, 메모리를 포함할 수 있다. 상기 웨어러블 장치는, 적어도 하나의 카메라를 포함하는 카메라 시스템을 포함할 수 있다. 상기 웨어러블 장치는, 적어도 하나의 디스플레이를 포함하는 디스플레이 시스템을 포함할 수 있다. 상기 웨어러블 장치는, 프로세싱 회로를 포함하는 적어도 하나의 프로세서를 포함할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치가, 상기 카메라 시스템을 통해 획득되는 외부 환경의 라이브 비디오를, 상기 디스플레이 시스템을 통해, 표시하는 동안, 상기 라이브 비디오의 제1 기준 프레임(reference frame)을 식별하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치가, 상기 카메라 시스템을 통해 획득되는 외부 환경의 라이브 비디오를, 상기 디스플레이 시스템을 통해, 표시하는 동안, 상기 라이브 비디오의 상기 제1 기준 프레임에 대한 비디오 데이터의 프레임들의 하나 이상의 유사도 값들에 기반하여, 상기 웨어러블 장치 내 저장된 상기 비디오 데이터의 제2 기준 프레임을 식별하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치가, 상기 카메라 시스템을 통해 획득되는 외부 환경의 라이브 비디오를, 상기 디스플레이 시스템을 통해, 표시하는 동안, 상기 제2 기준 프레임에 대응하는 시점(time point)으로부터 재생되는 상기 비디오 데이터의 상기 프레임들로부터 추출된 시각적 객체를, 상기 디스플레이 시스템을 통해, 상기 라이브 비디오와 적어도 일부 중첩하여 표시하도록, 야기할 수 있다.
웨어러블 장치에 의해 수행되는 방법은, 외부 환경의 라이브 비디오를 표시하는 동안, 상기 라이브 비디오의 제1 기준 프레임(reference frame)을 식별하는 동작을 포함할 수 있다. 상기 방법은, 외부 환경의 라이브 비디오를 표시하는 동안, 상기 라이브 비디오의 상기 제1 기준 프레임에 대한 비디오 데이터의 프레임들의 하나 이상의 유사도 값들에 기반하여, 상기 웨어러블 장치 내 저장된 상기 비디오 데이터의 제2 기준 프레임을 식별하는 동작을 포함할 수 있다. 상기 방법은, 외부 환경의 라이브 비디오를 표시하는 동안, 상기 제2 기준 프레임에 대응하는 시점(time point)으로부터 재생되는 상기 비디오 데이터의 상기 프레임들로부터 추출된 시각적 객체를 상기 라이브 비디오와 적어도 일부 중첩하여 표시하는 동작을 포함할 수 있다.
비일시적 컴퓨터 판독가능 저장 매체는, 적어도 하나의 카메라를 포함하는 카메라 시스템 및 적어도 하나의 디스플레이를 포함하는 디스플레이 시스템을 포함하는 웨어러블 장치의 적어도 하나의 프로세서에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 카메라 시스템을 통해 획득되는 외부 환경의 라이브 비디오를, 상기 디스플레이 시스템을 통해, 표시하는 동안, 상기 라이브 비디오의 제1 기준 프레임(reference frame)을 식별하도록, 야기하는 인스트럭션들을 포함하는 하나 이상의 프로그램들을 저장할 수 있다. 상기 비일시적 컴퓨터 판독가능 저장 매체는, 상기 적어도 하나의 프로세서에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 라이브 비디오의 상기 제1 기준 프레임에 대한 비디오 데이터의 프레임들의 하나 이상의 유사도 값들에 기반하여, 상기 웨어러블 장치 내 저장된 상기 비디오 데이터의 제2 기준 프레임을 식별하도록, 야기하는 인스트럭션들을 포함하는 하나 이상의 프로그램들을 저장할 수 있다. 상기 비일시적 컴퓨터 판독가능 저장 매체는, 상기 적어도 하나의 프로세서에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 제2 기준 프레임에 대응하는 시점(time point)으로부터 재생되는 상기 비디오 데이터의 상기 프레임들로부터 추출된 시각적 객체를, 상기 디스플레이 시스템을 통해, 상기 라이브 비디오와 적어도 일부 중첩하여 표시하도록, 야기하는 인스트럭션들을 포함하는 하나 이상의 프로그램들을 저장할 수 있다.
웨어러블 장치는, 인스트럭션들을 저장하고, 하나 이상의 저장 매체들을 포함하는, 메모리를 포함할 수 있다. 상기 웨어러블 장치는, 적어도 하나의 카메라를 포함하는 카메라 시스템를 포함할 수 있다. 상기 웨어러블 장치는, 적어도 하나의 디스플레이를 포함하는 디스플레이 시스템를 포함할 수 있다. 상기 웨어러블 장치는, 프로세싱 회로를 포함하는 적어도 하나의 프로세서를 포함할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치가, 상기 카메라 시스템을 통해 획득되는 외부 환경의 라이브 비디오를, 상기 디스플레이 시스템을 통해, 표시하는 동안, 상기 라이브 비디오의 제1 기준 프레임(reference frame)을 식별하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치가, 상기 카메라 시스템을 통해 획득되는 외부 환경의 라이브 비디오를, 상기 디스플레이 시스템을 통해, 표시하는 동안, 상기 라이브 비디오의 상기 제1 기준 프레임의 배경 특징들과 비디오 데이터의 프레임들의 배경 특징들 사이의 비교에 기반하여, 상기 웨어러블 장치 내 저장된 상기 비디오 데이터의 제2 기준 프레임을 식별하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치가, 상기 카메라 시스템을 통해 획득되는 외부 환경의 라이브 비디오를, 상기 디스플레이 시스템을 통해, 표시하는 동안, 상기 제2 기준 프레임에 대응하는 시점(time point)으로부터 재생되는 상기 비디오 데이터의 상기 프레임들로부터 추출된, 이동체(moving object)와 관련된, 이미지의 부분을, 상기 디스플레이 시스템을 통해, 상기 라이브 비디오와 적어도 일부 중첩하여 표시하도록, 야기할 수 있다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경 내의 전자 장치의 블록도이다.
도 2a는 웨어러블 장치의 사시도(perspective view)의 일 예를 도시한다.
도 2b는 웨어러블 장치 내에 배치된 하나 이상의 하드웨어들의 일 예를 도시한다.
도 3a 및 도 3b는 웨어러블 장치의 외관의 일 예를 도시한다.
도 4는 웨어러블 장치의 블록도의 일 예를 나타낸다.
도 5는 가상 공간에서 이미지를 표시하기 위한 전자 장치의 블록도의 예를 나타낸다.
도 6a 및 도 6b는 웨어러블 장치의 위치에 따라, 저장된 비디오 데이터를 외부 환경에 대한 비디오와 함께 재생하는 방법에 대한 예들을 도시한다.
도 7a는 외부 환경에 대한 비디오에 대한 처리를 수행함으로써 비디오 데이터를 생성하고 저장하는 방법에 대한 동작 흐름의 예를 도시한다.
도 7b는 비디오에 포함되는 프레임들 중 키 프레임을 결정하는 방법에 대한 예를 도시한다.
도 7c는 프레임의 키 포인트들의 예를 도시한다.
도 7d는 재구성된 비디오 데이터를 이용하여 3D 미디어 컨텐츠에 대한 기준 영역을 식별하는 방법에 대한 예를 도시한다.
도 8a은 웨어러블 장치의 사용자의 위치에 따라, 저장된 비디오 데이터를 나타내는 시각적 객체를 표시하는 방법에 대한 동작 흐름의 예를 도시한다.
도 8b는 시간 도메인에서 저장된 비디오 데이터를 나타내는 시각적 객체를 표시하는 방법에 대한 예를 도시한다.
도 8c는 공간 도메인에서 저장된 비디오 데이터를 나타내는 시각적 객체를 표시하는 방법에 대한 예를 도시한다.
도 9a는 3D 미디어 컨텐츠에 대한 기준 영역에 대한 예를 도시한다.
도 9b는 이동 궤적을 따라 변경되는 기준 영역에 대한 예를 도시한다.
도 9c는 웨어러블 장치의 위치에 대하여 고정된 기준 영역에 대한 예를 도시한다.
도 10a는 웨어러블 장치의 위치와 관련된 비디오 데이터 세트의 프리뷰 이미지들을 포함하는 선택 화면을 표시하는 방법에 대한 예를 도시한다.
도 10b는 저장된 비디오 데이터의 존재 여부를 알리기 위한 어포던스를 표시하는 방법에 대한 예를 도시한다.
도 10c는 기준 영역을 지시하기 위한 인디케이터를 표시하는 방법에 대한 예를 도시한다.
도 11은 외부 환경에 대한 비디오와 저장된 비디오 데이터 사이의 유사도에 기반하여, 저장된 비디오 데이터를 나타내는 시각적 객체를 표시하는 방법에 대한 동작 흐름의 예를 도시한다.
본 개시에서 사용되는 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 개시에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 개시에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 개시에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 개시에서 정의된 용어일지라도 본 개시의 실시 예들을 배제하도록 해석될 수 없다.
이하에서 설명되는 본 개시의 다양한 실시 예들에서는 하드웨어적인 접근 방법을 예시로서 설명한다. 하지만, 본 개시의 다양한 실시 예들에서는 하드웨어와 소프트웨어를 모두 사용하는 기술을 포함하고 있으므로, 본 개시의 다양한 실시 예들이 소프트웨어 기반의 접근 방법을 제외하는 것은 아니다.
또한, 본 개시에서, 특정 조건의 만족(satisfied), 충족(fulfilled) 여부를 판단하기 위해, 초과 또는 미만의 표현이 사용될 수 있으나, 이는 일 예를 표현하기 위한 기재일 뿐 이상 또는 이하의 기재를 배제하는 것이 아니다. '이상'으로 기재된 조건은 '초과', '이하'로 기재된 조건은 '미만', '이상 및 미만'으로 기재된 조건은 '초과 및 이하'로 대체될 수 있다. 또한, 이하, 'A' 내지 'B'는 A부터(A 포함) B까지의(B 포함) 요소들 중 적어도 하나를 의미한다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경 내의 전자 장치의 블록도이다.
도 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 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
도 2a는 웨어러블 장치의 사시도(perspective view)의 일 예를 도시한다. 도 2b는 웨어러블 장치 내에 배치된 하나 이상의 하드웨어들의 일 예를 도시한다.
일 실시예에 따른, 웨어러블 장치(103)는, 사용자의 신체 부위(예: 머리) 상에 착용 가능한(wearable on), 안경의 형태를 가질 수 있다. 도 2a 및 도 2b의 웨어러블 장치(103)는, 도 1의 전자 장치(101)의 일 예일 수 있다. 웨어러블 장치(103)는, HMD(head-mounted display)를 포함할 수 있다. 예를 들어, 웨어러블 장치(103)의 하우징은 사용자의 머리의 일부분(예를 들어, 두 눈을 감싸는 얼굴의 일부분)에 밀착되는 형태를 가지는 고무, 및/또는 실리콘과 같은 유연성 소재(flexible material)를 포함할 수 있다. 예를 들어, 웨어러블 장치(103)의 하우징은 사용자의 머리에 감길 수 있는(able to be twined around) 하나 이상의 스트랩들, 및/또는 상기 머리의 귀로 탈착 가능한(attachable to) 하나 이상의 템플들(temples)을 포함할 수 있다.
도 2a를 참고하면, 일 실시예에 따른, 웨어러블 장치(103)는, 적어도 하나의 디스플레이(250), 및 적어도 하나의 디스플레이(250)를 지지하는 프레임(200)을 포함할 수 있다.
일 실시예에 따른, 웨어러블 장치(103)는 사용자의 신체의 일부 상에 착용될 수 있다. 웨어러블 장치(103)는, 웨어러블 장치(103)를 착용한 사용자에게, 증강 현실(AR), 가상 현실(VR), 또는 증강 현실과 가상 현실을 혼합한 혼합 현실(MR)을 제공할 수 있다. 예를 들면, 웨어러블 장치(103)는, 도 2b의 동작 인식 카메라(260-2, 260-3)를 통해 획득된 사용자의 지정된 제스처에 응답하여, 도 2b의 적어도 하나의 광학 장치(282, 284)에서 제공되는 가상 현실 영상을 적어도 하나의 디스플레이(250)에 표시할 수 있다.
일 실시예에 따르면, 적어도 하나의 디스플레이(250)는, 사용자에게 시각 정보를 제공할 수 있다. 예를 들면, 적어도 하나의 디스플레이(250)는, 투명 또는 반투명한 렌즈를 포함할 수 있다. 적어도 하나의 디스플레이(250)는, 제1 디스플레이(250-1) 및/또는 제1 디스플레이(250-1)로부터 이격된 제2 디스플레이(250-2)를 포함할 수 있다. 예를 들면, 제1 디스플레이(250-1), 및 제2 디스플레이(250-2)는, 사용자의 좌안과 우안에 각각 대응되는 위치에 배치될 수 있다.
도 2b를 참고하면, 적어도 하나의 디스플레이(250)는, 적어도 하나의 디스플레이(250)에 포함되는 렌즈를 통해 사용자에게 외부 광으로부터 전달되는 시각적 정보와, 상기 시각적 정보와 구별되는 다른 시각적 정보를 제공할 수 있다. 상기 렌즈는, 프레넬(Fresnel) 렌즈, 팬케이크(pancake) 렌즈, 또는 멀티-채널 렌즈 중 적어도 하나에 기반하여 형성될 수 있다. 예를 들면, 적어도 하나의 디스플레이(250)는, 제1 면(surface)(231), 및 제1 면(231)에 반대인 제2 면(232)을 포함할 수 있다. 적어도 하나의 디스플레이(250)의 제2 면(232) 상에, 표시 영역이 형성될 수 있다. 사용자가 웨어러블 장치(103)를 착용하였을 때, 외부 광은 제1 면(231)으로 입사되고, 제2 면(232)을 통해 투과됨으로써, 사용자에게 전달될 수 있다. 다른 예를 들면, 적어도 하나의 디스플레이(250)는, 외부 광을 통해 전달되는 현실 화면에, 적어도 하나의 광학 장치(282, 284)에서 제공되는 가상 현실 영상이 결합된 증강 현실 영상을, 제2 면(232) 상에 형성된 표시 영역에 표시할 수 있다.
일 실시예에서, 적어도 하나의 디스플레이(250)는, 적어도 하나의 광학 장치(282, 284)에서 송출된 광을 회절시켜, 사용자에게 전달하는, 적어도 하나의 웨이브가이드(waveguide)(233, 234)를 포함할 수 있다. 적어도 하나의 웨이브가이드(233, 234)는, 글래스, 플라스틱, 또는 폴리머 중 적어도 하나에 기반하여 형성될 수 있다. 적어도 하나의 웨이브가이드(233, 234)의 외부, 또는 내부의 적어도 일부분에, 나노 패턴이 형성될 수 있다. 상기 나노 패턴은, 다각형, 및/또는 곡면 형상의 격자 구조(grating structure)에 기반하여 형성될 수 있다. 적어도 하나의 웨이브가이드(233, 234)의 일 단으로 입사된 광은, 상기 나노 패턴에 의해 적어도 하나의 웨이브가이드(233, 234)의 타 단으로 전파될 수 있다. 적어도 하나의 웨이브가이드(233, 234)는 적어도 하나의 회절 요소(예: DOE(diffractive optical element), HOE(holographic optical element)), 반사 요소(예: 반사 거울) 중 적어도 하나를 포함할 수 있다. 예를 들어, 적어도 하나의 웨이브가이드(233, 234)는, 적어도 하나의 디스플레이(250)에 의해 표시되는 화면을, 사용자의 눈으로 가이드하기 위하여, 웨어러블 장치(103) 내에 배치될 수 있다. 예를 들어, 상기 화면은, 적어도 하나의 웨이브가이드(233, 234) 내에서 발생되는 전반사(total internal reflection, TIR)에 기반하여, 사용자의 눈으로 송신될 수 있다.
웨어러블 장치(103)는, 촬영 카메라(260-4)를 통해 수집된 현실 영상에 포함된 오브젝트(object)를 분석하고, 분석된 오브젝트 중에서 증강 현실 제공의 대상이 되는 오브젝트에 대응되는 가상 오브젝트(virtual object)를 결합하여, 적어도 하나의 디스플레이(250)에 표시할 수 있다. 가상 오브젝트는, 현실 영상에 포함된 오브젝트에 관련된 다양한 정보에 대한 텍스트, 및 이미지 중 적어도 하나를 포함할 수 있다. 웨어러블 장치(103)는, 스테레오 카메라와 같은 멀티-카메라에 기반하여, 오브젝트를 분석할 수 있다. 상기 오브젝트 분석을 위하여, 웨어러블 장치(103)는 멀티-카메라, 및/또는, ToF(time-of-flight)를 이용하여, 공간 인식(예: SLAM(simultaneous localization and mapping))을 실행할 수 있다. 웨어러블 장치(103)를 착용한 사용자는, 적어도 하나의 디스플레이(250)에 표시되는 영상을 시청할 수 있다.
일 실시예에 따르면, 프레임(200)은, 웨어러블 장치(103)가 사용자의 신체 상에 착용될 수 있는 물리적인 구조로 이루어질 수 있다. 일 실시예에 따르면, 프레임(200)은, 사용자가 웨어러블 장치(103)를 착용하였을 때, 제1 디스플레이(250-1) 및 제2 디스플레이(250-2)가 사용자의 좌안 및 우안에 대응되는 위치할 수 있도록, 구성될 수 있다. 프레임(200)은, 적어도 하나의 디스플레이(250)를 지지할 수 있다. 예를 들면, 프레임(200)은, 제1 디스플레이(250-1) 및 제2 디스플레이(250-2)를 사용자의 좌안 및 우안에 대응되는 위치에 위치되도록 지지할 수 있다.
도 2a를 참조하면, 프레임(200)은, 사용자가 웨어러블 장치(103)를 착용한 경우, 적어도 일부가 사용자의 신체의 일부분과 접촉되는 영역(220)을 포함할 수 있다. 예를 들면, 프레임(200)의 사용자의 신체의 일부분과 접촉되는 영역(220)은, 웨어러블 장치(103)가 접하는 사용자의 코의 일부분, 사용자의 귀의 일부분 및 사용자의 얼굴의 측면 일부분과 접촉하는 영역을 포함할 수 있다. 일 실시예에 따르면, 프레임(200)은, 사용자의 신체의 일부 상에 접촉되는 노즈 패드(210)를 포함할 수 있다. 웨어러블 장치(103)가 사용자에 의해 착용될 시, 노즈 패드(210)는, 사용자의 코의 일부 상에 접촉될 수 있다. 프레임(200)은, 상기 사용자의 신체의 일부와 구별되는 사용자의 신체의 다른 일부 상에 접촉되는 제1 템플(temple)(204) 및 제2 템플(205)을 포함할 수 있다.
예를 들면, 프레임(200)은, 제1 디스플레이(250-1)의 적어도 일부를 감싸는 제1 림(rim)(201), 제2 디스플레이(250-2)의 적어도 일부를 감싸는 제2 림(202), 제1 림(201)과 제2 림(202) 사이에 배치되는 브릿지(bridge)(203), 브릿지(203)의 일단으로부터 제1 림(201)의 가장자리 일부를 따라 배치되는 제1 패드(211), 브릿지(203)의 타단으로부터 제2 림(202)의 가장자리 일부를 따라 배치되는 제2 패드(212), 제1 림(201)으로부터 연장되어 착용자의 귀의 일부분에 고정되는 제1 템플(204), 및 제2 림(202)으로부터 연장되어 상기 귀의 반대측 귀의 일부분에 고정되는 제2 템플(205)을 포함할 수 있다. 제1 패드(211), 및 제2 패드(212)는, 사용자의 코의 일부분과 접촉될 수 있고, 제1 템플(204) 및 제2 템플(205)은, 사용자의 안면의 일부분 및 귀의 일부분과 접촉될 수 있다. 템플(204, 205)은, 도 2b의 힌지 유닛들(206, 207)을 통해 림과 회전 가능하게(rotatably) 연결될 수 있다. 제1 템플(204)은, 제1 림(201)과 제1 템플(204)의 사이에 배치된 제1 힌지 유닛(206)을 통해, 제1 림(201)에 대하여 회전 가능하게 연결될 수 있다. 제2 템플(205)은, 제2 림(202)과 제2 템플(205)의 사이에 배치된 제2 힌지 유닛(207)을 통해 제2 림(202)에 대하여 회전 가능하게 연결될 수 있다. 일 실시예에 따른, 웨어러블 장치(103)는 프레임(200)의 표면의 적어도 일부분 상에 형성된, 터치 센서, 그립 센서, 및/또는 근접 센서를 이용하여, 프레임(200)을 터치하는 외부 객체(예: 사용자의 손끝(fingertip)), 및/또는 상기 외부 객체에 의해 수행된 제스처를 식별할 수 있다.
일 실시예에 따르면, 웨어러블 장치(103)는, 다양한 기능들을 수행하는 하드웨어들(예: 도 4의 블록도에 기반하여 후술될 하드웨어들)을 포함할 수 있다. 예를 들면, 상기 하드웨어들은, 배터리 모듈(270), 안테나 모듈(275), 적어도 하나의 광학 장치(282, 284), 스피커들(예: 스피커들(255-1, 255-2)), 마이크(예: 마이크들(265-1, 265-2, 265-3)), 발광 모듈(미도시), 및/또는 PCB(printed circuit board)(290)(예: 인쇄 회로 기판)을 포함할 수 있다. 다양한 하드웨어들은, 프레임(200) 내에 배치될 수 있다.
일 실시예에 따른, 웨어러블 장치(103)의 마이크(예: 마이크들(265-1, 265-2, 265-3))는, 프레임(200)의 적어도 일부분에 배치되어, 소리 신호를 획득할 수 있다. 브릿지(203) 상에 배치된 제1 마이크(265-1), 제2 림(202) 상에 배치된 제2 마이크(265-2), 및 제1 림(201) 상에 배치된 제3 마이크(265-3)가 도 2b 내에 도시되지만, 마이크(265)의 개수, 및 배치가 도 2b의 일 실시예에 제한되는 것은 아니다. 웨어러블 장치(103) 내에 포함된 마이크(265)의 개수가 두 개 이상인 경우, 웨어러블 장치(103)는 프레임(200)의 상이한 부분들 상에 배치된 복수의 마이크들을 이용하여, 소리 신호의 방향을 식별할 수 있다.
일 실시예에 따르면, 적어도 하나의 광학 장치(282, 284)는, 다양한 이미지 정보를 사용자에게 제공하기 위하여, 적어도 하나의 디스플레이(250)에 가상 오브젝트를 투영할 수 있다. 예를 들면, 적어도 하나의 광학 장치(282, 284)는, 프로젝터일 수 있다. 적어도 하나의 광학 장치(282, 284)는, 적어도 하나의 디스플레이(250)에 인접하여 배치되거나, 적어도 하나의 디스플레이(250)의 일부로써, 적어도 하나의 디스플레이(250) 내에 포함될 수 있다. 일 실시예에 따르면, 웨어러블 장치(103)는, 제1 디스플레이(250-1)에 대응되는, 제1 광학 장치(282) 및 제2 디스플레이(250-2)에 대응되는, 제2 광학 장치(284)를 포함할 수 있다. 예를 들면, 적어도 하나의 광학 장치(282, 284)는, 제1 디스플레이(250-1)의 가장자리에 배치되는 제1 광학 장치(282) 및 제2 디스플레이(250-2)의 가장자리에 배치되는 제2 광학 장치(284)를 포함할 수 있다. 제1 광학 장치(282)는, 제1 디스플레이(250-1) 상에 배치된 제1 웨이브가이드(233)로 광을 송출할 수 있고, 제2 광학 장치(284)는, 제2 디스플레이(250-2) 상에 배치된 제2 웨이브가이드(234)로 광을 송출할 수 있다.
일 실시예에서, 카메라(260)는, 촬영 카메라(260-4), 시선 추적 카메라(eye tracking camera, ET CAM)(260-1), 및/또는 동작 인식 카메라(260-2, 206-3)를 포함할 수 있다. 촬영 카메라(260-4), 시선 추적 카메라(260-1) 및 동작 인식 카메라(260-2, 260-3)는, 프레임(200) 상에서 서로 다른 위치에 배치될 수 있고, 서로 다른 기능을 수행할 수 있다. 시선 추적 카메라(260-1)는, 웨어러블 장치(103)를 착용한 사용자의 눈의 위치 또는 시선(gaze)을 나타내는 데이터를 출력할 수 있다. 예를 들어, 웨어러블 장치(103)는 시선 추적 카메라(260-1)를 통하여 획득된, 사용자의 눈동자가 포함된 이미지로부터, 상기 시선을 탐지할 수 있다. 웨어러블 장치(103)는 시선 추적 카메라(260-1)를 통해 획득된 사용자의 시선을 이용하여, 사용자에 의해 포커스 된 객체(예: 실제 객체, 및/또는 가상 객체)를 식별할 수 있다. 포커스된 객체를 식별한 웨어러블 장치(103)는, 사용자 및 포커스 된 객체 사이의 인터랙션을 위한 기능(예: gaze interaction)을 실행할 수 있다. 웨어러블 장치(103)는 시선 추적 카메라(260-1)를 통해 획득된 사용자의 시선을 이용하여, 가상 공간 내 사용자를 나타내는 아바타의 눈에 대응하는 부분을 표현할 수 있다. 웨어러블 장치(103)는 사용자의 눈의 위치에 기반하여, 적어도 하나의 디스플레이(250) 상에 표시되는 이미지(또는 화면)를 렌더링할 수 있다. 예를 들어, 이미지 내에서 시선과 관련된 제1 영역의 시각적 품질 및 상기 제1 영역과 구분되는 제2 영역의 시각적 품질(예: 해상도, 밝기, 채도, 그레이스케일, PPI)은 서로 다를 수 있다. 웨어러블 장치(103)는, 포비티드 렌더링(foveated rendering)을 이용하여, 사용자의 시선에 매칭되는 제1 영역의 시각적 품질 및 상기 제2 영역의 시각적 품질을 가지는 이미지를 획득할 수 있다. 예를 들어, 웨어러블 장치(103)가 홍채 인식 기능을 지원하는 경우, 시선 추적 카메라(260-1)를 이용하여 획득한 홍채 정보에 기반하여, 사용자 인증을 수행할 수 있다. 시선 추적 카메라(260-1)가 사용자의 우측 눈을 향하여 배치된 일 예가 도 2b 내에 도시되지만, 실시예가 이에 제한되는 것은 아니며, 시선 추적 카메라(260-1)는, 사용자의 좌측 눈을 향하여 단독으로 배치되거나, 또는 양 눈들 전부를 향하여 배치될 수 있다.
일 실시예에서, 촬영 카메라(260-4)는, 증강 현실 또는 혼합 현실 콘텐츠를 구현하기 위해서 가상의 이미지와 정합될 실제의 이미지나 배경을 촬영할 수 있다. 촬영 카메라(260-4)는 HR(high resolution) 또는 PV(photo video)에 기반하여, 고해상도를 가지는 이미지를 획득하기 위해 이용될 수 있다. 촬영 카메라(260-4)는, 사용자가 바라보는 위치에 존재하는 특정 사물의 이미지를 촬영하고, 그 이미지를 적어도 하나의 디스플레이(250)로 제공할 수 있다. 적어도 하나의 디스플레이(250)는, 촬영 카메라(260-4)를 이용해 획득된 상기 특정 사물의 이미지를 포함하는 실제의 이미지나 배경에 관한 정보와, 적어도 하나의 광학 장치(282, 284)를 통해 제공되는 가상 이미지가 겹쳐진 하나의 영상을 표시할 수 있다. 웨어러블 장치(103)는 촬영 카메라(260-4)를 통해 획득한 이미지를 이용하여, 깊이 정보(예: 깊이 센서를 통해 획득된 웨어러블 장치(103) 및 외부 객체 사이의 거리)를 보상할 수 있다. 웨어러블 장치(103)는 촬영 카메라(260-4)를 이용하여 획득한 이미지를 통해, 객체 인식을 수행할 수 있다. 웨어러블 장치(103)는 촬영 카메라(260-4)를 이용하여 이미지 내 객체(또는 피사체)에 초점을 맞추는 기능(예: auto focus) 및/또는 OIS(optical image stabilization) 기능(예: 손 떨림 방지 기능)을 수행할 수 있다. 웨어러블 장치(103)는 적어도 하나의 디스플레이(250) 상에, 가상 공간을 나타내는 화면을 표시하는 동안, 촬영 카메라(260-4)를 통해 획득된 이미지를, 상기 화면의 적어도 일부분에 중첩하여 표시하기 위한 패스-쓰루(pass through) 기능을 수행할 수 있다. 일 실시예에서, 촬영 카메라(260-4)는, 제1 림(201) 및 제2 림(202) 사이에 배치되는 브릿지(203) 상에 배치될 수 있다.
시선 추적 카메라(260-1)는, 웨어러블 장치(103)를 착용한 사용자의 시선(gaze)을 추적함으로써, 사용자의 시선과 적어도 하나의 디스플레이(250)에 제공되는 시각 정보를 일치시켜 보다 현실적인 증강 현실을 구현할 수 있다. 예를 들어, 웨어러블 장치(103)는, 사용자가 정면을 바라볼 때, 사용자가 위치한 장소에서 사용자의 정면에 관련된 환경 정보를 자연스럽게 적어도 하나의 디스플레이(250)에 표시할 수 있다. 시선 추적 카메라(260-1)는, 사용자의 시선을 결정하기 위하여, 사용자의 동공의 이미지를 캡쳐 하도록, 구성될 수 있다. 예를 들면, 시선 추적 카메라(260-1)는, 사용자의 동공에서 반사된 시선 검출 광을 수신하고, 수신된 시선 검출 광의 위치 및 움직임에 기반하여, 사용자의 시선을 추적할 수 있다. 일 실시예에서, 시선 추적 카메라(260-1)는, 사용자의 좌안과 우안에 대응되는 위치에 배치될 수 있다. 예를 들면, 시선 추적 카메라(260-1)는, 제1 림(201) 및/또는 제2 림(202) 내에서, 웨어러블 장치(103)를 착용한 사용자가 위치하는 방향을 향하도록 배치될 수 있다.
동작 인식 카메라(260-2, 260-3)는, 사용자의 몸통, 손, 또는 얼굴 등 사용자의 신체 전체 또는 일부의 움직임을 인식함으로써, 적어도 하나의 디스플레이(250)에 제공되는 화면에 특정 이벤트를 제공할 수 있다. 동작 인식 카메라(260-2, 260-3)는, 사용자의 동작을 인식(gesture recognition)하여 상기 동작에 대응되는 신호를 획득하고, 상기 신호에 대응되는 표시를 적어도 하나의 디스플레이(250)에 제공할 수 있다. 프로세서는, 상기 동작에 대응되는 신호를 식별하고, 상기 식별에 기반하여, 지정된 기능을 수행할 수 있다. 동작 인식 카메라(260-2, 260-3)는, 6 자유도 자세(6 degrees of freedom pose, 6 dof pose)를 위한 SLAM 및/또는 깊이 맵을 이용한 공간 인식 기능을 수행하기 위해 이용될 수 있다. 프로세서는 동작 인식 카메라(260-2, 260-3)을 이용하여, 제스처 인식 기능 및/또는 객체 추적(object tracking) 기능을 수행할 수 있다. 일 실시예에서, 동작 인식 카메라(260-2, 260-3)는, 제1 림(201) 및/또는 제2 림(202)상에 배치될 수 있다.
웨어러블 장치(103) 내에 포함된 카메라(260)는, 상술된 시선 추적 카메라(260-1), 동작 인식 카메라(260-2, 260-3)에 제한되지 않는다. 예를 들어, 웨어러블 장치(103)는 사용자의 FoV를 향하여 배치된 카메라를 이용하여, 상기 FoV 내에 포함된 외부 객체를 식별할 수 있다. 웨어러블 장치(103)가 외부 객체를 식별하는 것은, 깊이 센서, 및/또는 ToF(time of flight) 센서와 같이, 웨어러블 장치(103), 및 외부 객체 사이의 거리를 식별하기 위한 센서에 기반하여 수행될 수 있다. 상기 FoV를 향하여 배치된 상기 카메라(260)는, 오토포커스 기능, 및/또는 OIS(optical image stabilization) 기능을 지원할 수 있다. 예를 들어, 웨어러블 장치(103)는, 웨어러블 장치(103)를 착용한 사용자의 얼굴을 포함하는 이미지를 획득하기 위하여, 상기 얼굴을 향하여 배치된 카메라(260)(예: FT(face tracking) 카메라)를 포함할 수 있다.
비록 도시되지 않았지만, 일 실시예에 따른, 웨어러블 장치(103)는, 카메라(260)를 이용하여 촬영되는 피사체(예: 사용자의 눈, 얼굴, 및/또는 FoV 내 외부 객체)를 향하여 빛을 방사하는 광원(예: LED)을 더 포함할 수 있다. 상기 광원은 적외선 파장의 LED를 포함할 수 있다. 상기 광원은, 프레임(200), 힌지 유닛들(206, 207) 중 적어도 하나에 배치될 수 있다.
일 실시예에 따르면, 배터리 모듈(270)은, 웨어러블 장치(103)의 전자 부품들에 전력을 공급할 수 있다. 일 실시예에서, 배터리 모듈(270)은, 제1 템플(204) 및/또는 제2 템플(205) 내에 배치될 수 있다. 예를 들면, 배터리 모듈(270)은, 복수의 배터리 모듈(270)들일 수 있다. 복수의 배터리 모듈(270)들은, 각각 제1 템플(204)과 제2 템플(205) 각각에 배치될 수 있다. 일 실시예에서, 배터리 모듈(270)은 제1 템플(204) 및/또는 제2 템플(205)의 단부에 배치될 수 있다.
안테나 모듈(275)은, 신호 또는 전력을 웨어러블 장치(103)의 외부로 송신하거나, 외부로부터 신호 또는 전력을 수신할 수 있다. 일 실시예에서, 안테나 모듈(275)은, 제1 템플(204) 및/또는 제2 템플(205) 내에 배치될 수 있다. 예를 들면, 안테나 모듈(275)은, 제1 템플(204), 및/또는 제2 템플(205)의 일면에 가깝게 배치될 수 있다.
스피커는, 음향 신호를 웨어러블 장치(103)의 외부로 출력할 수 있다. 음향 출력 모듈은, 스피커로 참조될 수 있다. 일 실시예에서, 스피커는, 웨어러블 장치(103)를 착용한 사용자의 귀에 인접하게 배치되기 위하여, 제1 템플(204), 및/또는 제2 템플(205) 내에 배치될 수 있다. 예를 들면, 스피커는, 제1 템플(204) 내에 배치됨으로써 사용자의 좌측 귀에 인접하게 배치되는, 제2 스피커(255-2), 및 제2 템플(205) 내에 배치됨으로써 사용자의 우측 귀에 인접하게 배치되는, 제1 스피커(255-1)를 포함할 수 있다.
발광 모듈(미도시)은, 적어도 하나의 발광 소자를 포함할 수 있다. 발광 모듈은, 웨어러블 장치(103)의 특정 상태에 관한 정보를 사용자에게 시각적으로 제공하기 위하여, 특정 상태에 대응되는 색상의 빛을 방출하거나, 특정 상태에 대응되는 동작으로 빛을 방출할 수 있다. 예를 들면, 웨어러블 장치(103)가, 충전이 필요한 경우, 적색 광의 빛을 일정한 주기로 방출할 수 있다. 일 실시예에서, 발광 모듈은, 제1 림(201) 및/또는 제2 림(202) 상에 배치될 수 있다.
도 2b를 참고하면, 일 실시예에 따른, 웨어러블 장치(103)는 PCB(printed circuit board)(290)을 포함할 수 있다. PCB(290)는, 제1 템플(204), 또는 제2 템플(205) 중 적어도 하나에 포함될 수 있다. PCB(290)는, 적어도 두 개의 서브 PCB들 사이에 배치된 인터포저를 포함할 수 있다. PCB(290) 상에서, 웨어러블 장치(103)에 포함된 하나 이상의 하드웨어들(예: 도 4의 상이한 블록들에 의하여 도시된 하드웨어들)이 배치될 수 있다. 웨어러블 장치(103)는, 상기 하드웨어들을 상호연결하기 위한, FPCB(flexible PCB)를 포함할 수 있다.
일 실시예에 따른, 웨어러블 장치(103)는, 웨어러블 장치(103)의 자세, 및/또는 웨어러블 장치(103)를 착용한 사용자의 신체 부위(예: 머리)의 자세를 탐지하기 위한 자이로 센서, 중력 센서, 및/또는 가속도 센서 중 적어도 하나를 포함할 수 있다. 중력 센서, 및 가속도 센서 각각은, 서로 수직인 지정된 3차원 축들(예: x축, y축 및 z축)에 기반하여 중력 가속도, 및/또는 가속도를 측정할 수 있다. 자이로 센서는 지정된 3차원 축들(예: x축, y축 및 z축) 각각의 각속도를 측정할 수 있다. 상기 중력 센서, 상기 가속도 센서, 및 상기 자이로 센서 중 적어도 하나가, IMU(inertial measurement unit)로 참조될 수 있다. 일 실시예에 따른, 웨어러블 장치(103)는 IMU에 기반하여 웨어러블 장치(103)의 특정 기능을 실행하거나, 또는 중단하기 위해 수행된 사용자의 모션, 및/또는 제스처를 식별할 수 있다.
도 3a 및 도 3b는 웨어러블 장치의 외관의 일 예를 도시한다.
도 3a 및 도 3b의 웨어러블 장치(103)는, 도 2a 및 도 2b의 웨어러블 장치(103)의 일 예일 수 있다. 예를 들어, 도 3a 및 도 3b의 웨어러블 장치(103)는 도 1의 전자 장치(101)의 일 예일 수 있다. 일 실시예에 따른, 웨어러블 장치(103)의 하우징의 제1 면(310)의 외관의 일 예가 도 3a에 도시되고, 상기 제1 면(310)의 반대되는(opposite to) 제2 면(320)의 외관의 일 예가 도 3b에 도시될 수 있다.
도 3a를 참고하면, 일 실시예에 따른, 웨어러블 장치(103)의 제1 면(310)은, 사용자의 신체 부위(예: 상기 사용자의 얼굴) 상에 부착가능한(attachable) 형태를 가질 수 있다. 비록 도시되지 않았지만, 웨어러블 장치(101)는, 사용자의 신체 부위 상에 고정되기 위한 스트랩, 및/또는 하나 이상의 템플들(예: 도 2a 및 도 2b의 제1 템플(204), 및/또는 제2 템플(205))을 더 포함할 수 있다. 사용자의 양 눈들 중에서 좌측 눈으로 이미지를 출력하기 위한 제1 디스플레이(250-1), 및 상기 양 눈들 중에서 우측 눈으로 이미지를 출력하기 위한 제2 디스플레이(250-2)가 제1 면(310) 상에 배치될 수 있다. 웨어러블 장치(103)는 제1 면(310) 상에 형성되고, 상기 제1 디스플레이(250-1), 및 상기 제2 디스플레이(250-2)로부터 방사되는 광과 상이한 광(예: 외부 광(ambient light))에 의한 간섭을 방지하기 위한, 고무, 또는 실리콘 패킹(packing)을 더 포함할 수 있다.
일 실시예에 따른, 웨어러블 장치(103)는, 상기 제1 디스플레이(250-1), 및 상기 제2 디스플레이(250-2) 각각에 인접한 사용자의 양 눈들을 촬영, 및/또는 추적하기 위한 카메라들(260-1)을 포함할 수 있다. 상기 카메라들(260-1)은, 도 2b의 시선 추적 카메라(260-1)에 참조될 수 있다. 일 실시예에 따른, 웨어러블 장치(103)는, 사용자의 얼굴을 촬영, 및/또는 인식하기 위한 카메라들(260-5, 260-6)을 포함할 수 있다. 상기 카메라들(260-5, 260-6)은, FT 카메라로 참조될 수 있다. 웨어러블 장치(103)는 카메라들(260-5, 260-6)을 이용하여 식별된 사용자의 얼굴의 움직임(motion)에 기반하여, 가상 공간 내 상기 사용자를 표현하는 아바타를 제어할 수 있다. 예를 들어, 웨어러블 장치(103)는, 카메라들(260-5, 260-6)(예: FT 카메라)에 의해 획득되고 웨어러블 장치(103)를 착용한 사용자의 얼굴 표정을 나타내는 정보를 이용하여, 아바타의 일부분(예: 사람의 얼굴을 표현하는 아바타의 일부분)의 텍스쳐 및/또는 형태를 변경할 수 있다.
도 3b를 참고하면, 도 3a의 제1 면(310)과 반대되는 제2 면(320) 상에, 웨어러블 장치(103)의 외부 환경과 관련된 정보를 획득하기 위한 카메라(예: 카메라들(260-7, 260-8, 260-9, 260-10, 260-11, 260-12)), 및/또는 센서(예: 깊이 센서(330))가 배치될 수 있다. 예를 들어, 카메라들(260-7, 260-8, 260-9, 260-10)은, 외부 객체를 인식하기 위하여, 제2 면(320) 상에 배치될 수 있다. 카메라들(260-7, 260-8, 260-9, 260-10)은, 도 2b의 동작 인식 카메라(260-2, 260-3)에 참조될 수 있다.
예를 들어, 카메라들(260-11, 260-12)을 이용하여, 웨어러블 장치(103)는 사용자의 양 눈들 각각으로 송신될 이미지, 및/또는 비디오를 획득할 수 있다. 카메라(260-11)는, 상기 양 눈들 중에서 우측 눈에 대응하는 제2 디스플레이(250-2)를 통해 표시될 이미지를 획득하도록, 웨어러블 장치(103)의 제2 면(320) 상에 배치될 수 있다. 카메라(260-12)는, 상기 양 눈들 중에서 좌측 눈에 대응하는 제1 디스플레이(250-1)를 통해 표시될 이미지를 획득하도록, 웨어러블 장치(103)의제2 면(320) 상에 배치될 수 있다. 카메라들(260-11, 260-12)은 도 2b의 촬영 카메라(260-4)에 참조될 수 있다.
일 실시예에 따른, 웨어러블 장치(103)는, 웨어러블 장치(103), 및 외부 객체 사이의 거리를 식별하기 위하여 제2 면(320) 상에 배치된 깊이 센서(330)를 포함할 수 있다. 깊이 센서(330)를 이용하여, 웨어러블 장치(103)는, 웨어러블 장치(103)를 착용한 사용자의 FoV의 적어도 일부분에 대한 공간 정보(spatial information)(예: 깊이 맵(depth map))를 획득할 수 있다. 비록 도시되지 않았지만, 웨어러블 장치(103)의 제2 면(320) 상에, 외부 객체로부터 출력된 소리를 획득하기 위한 마이크가 배치될 수 있다. 마이크의 개수는, 실시예에 따라 하나 이상일 수 있다.
도 2a 내지 도 3b에서 도시되는 웨어러블 장치(103)의 구성요소들은, 예시적인 것에 불과할 뿐 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 웨어러블 장치(103)는, 도 2a 내지 도 3b에서 도시되는 상기 구성요소들 중 적어도 하나를 더 포함하거나 적어도 하나를 포함하지 않을 수 있다. 예를 들어, 웨어러블 장치(103)는, 도 2a 내지 도 3b에서 도시되는 상기 구성요소들이 위치되는 영역(또는 배치)와 상이한 영역(또는 배치)에 상기 구성요소들을 포함할 수 있다. 예를 들어, 웨어러블 장치(103)는, 도 2a 내지 도 3b에서 도시되는 상기 구성요소들 각각(예: 카메라 또는 센서)의 개수와 상이한 개수의 구성요소들을 포함할 수 있다. 이하, 도 4를 참조하여, 웨어러블 장치(103)의 하드웨어 또는 소프트웨어 구성이 후술된다.
도 4는 웨어러블 장치의 블록도의 일 예를 나타낸다. 도 4의 웨어러블 장치(103)는, 도 1의 전자 장치(101), 또는 도 2a 내지 도 3b의 웨어러블 장치(103)의 일 예일 수 있다.
도 4를 참조하면, 일 실시예에 따른 웨어러블 장치(103)는 프로세서(410), 메모리(415), 디스플레이(250)(예: 도 2a, 도 2b, 도 3a, 및 도 3b의 제1 디스플레이(250-1) 및/또는 제2 디스플레이(250-2)), 센서(420), 카메라(430), 및/또는 출력 장치(435)를 포함할 수 있다. 프로세서(410), 메모리(415), 디스플레이(250), 센서(420), 카메라(430), 및/또는 출력 장치(435)는 통신 버스(402)와 같은 전자 부품에 의해 서로 전기적으로 및/또는 작동적으로 연결될 수 있다. 본 개시에서, 전자 부품들의 작동적인 연결은, 상기 전자 부품들 중 제1 전자 부품이 상기 전자 부품들 중 제2 전자 부품에 의해 제어되도록, 상기 전자 부품들 사이에 수립된 직접적인 연결 및/또는 상기 전자 부품들 사이에 수립된 간접적인 연결을 포함할 수 있다. 웨어러블 장치(103)에 포함된 전자 부품의 타입 및/또는 개수는 도 4에 도시된 바에 제한되지 않는다. 예를 들어, 웨어러블 장치(103)는 도 4에 도시된 전자 부품들 중 일부만 포함할 수 있다.
일 실시예에 따른 웨어러블 장치(103)의 프로세서(410)는 하나 이상의 인스트럭션들에 기반하여 데이터를 처리하기 위한 회로(예: 처리 회로)를 포함할 수 있다. 데이터를 처리하기 위한 회로는, 예를 들어, ALU(arithmetic and logic unit), FPGA(field programmable gate array), CPU(central processing unit) 및/또는 AP(application processor)를 포함할 수 있다. 일 실시예에서, 웨어러블 장치(103)는 하나 이상의 프로세서들을 포함할 수 있다. 프로세서(410)는 듀얼 코어(dual core), 쿼드 코어(quad core), 헥사 코어(hexa core) 및/또는 옥타 코어(octa core)와 같은 멀티-코어 프로세서의 구조를 가질 수 있다. 프로세서(410)의 멀티-코어 프로세서 구조는, 소비 전력, 클럭 및/또는 단위 시간 당 계산량에 의해 구분되는, 복수의 코어 회로들에 기반하는 구조(예: 빅-리틀 구조)를 포함할 수 있다. 멀티-코어 프로세서 구조를 가지는 프로세서(410)를 포함하는 일 실시예에서, 본 개시의 동작들, 및/또는 기능들은, 프로세서(410)에 포함된 하나 이상의 코어들에 의해 개별적으로 또는 집합적으로 수행될 수 있다.
또한, 프로세서(410)는, 적어도 하나의 프로세서를 포함할 수 있다. 예를 들어, 상기 적어도 하나의 프로세서는, 도 1의 프로세서(120)의 일 예일 수 있다. 예를 들어, 프로세서(410)는 다양한 처리 회로 및/또는 다수의 프로세서들을 포함할 수 있다. 예를 들어, 청구 범위를 포함하여 본 문서에 사용된 용어 "프로세서"는 적어도 하나의 프로세서를 포함하는 다양한 처리 회로를 포함할 수 있고, 상기 적어도 하나의 프로세서의 하나 이상은 분산 방식으로 개별적으로(individually) 또는 집합적으로(collectively) 이하에 설명된 다양한 기능들을 수행하도록 구성될 수 있다. 이하에서 사용된 바와 같이, "프로세서", "적어도 하나의 프로세서", 및 "하나 이상의 프로세서들"은 다양한 기능들을 수행하도록 구성되는 것으로 설명되는 경우, 이러한 용어들은, 예를 들어 제한되지 않고, 하나의 프로세서가 인용된 기능들 중 일부를 수행하고 다른 프로세서(들)가 인용된 기능들 중 다른 일부를 수행하는 상황들, 및 또한 하나의 프로세서가 인용된 기능들 모두를 수행할 수 있는 상황들을 포괄한다. 추가적으로, 상기 적어도 하나의 프로세서는 열거/개시된 다양한 기능들을 예를 들어, 분산된 방식으로 수행하는 프로세서들의 조합을 포함할 수 있다. 적어도 하나의 프로세서는 다양한 기능들을 달성하거나 수행하기 위해 프로그램 인스트럭션들을 실행할 수 있다.
일 실시예에 따른 웨어러블 장치(103)의 메모리(415)는 프로세서(410)로 입력되거나, 및/또는 프로세서(410)로부터 출력되는 데이터 및/또는 인스트럭션들을 저장하기 위한 전자 부품을 포함할 수 있다. 메모리(415)는, 예를 들어, RAM(random-access memory)과 같은 휘발성 메모리(volatile memory) 및/또는 ROM(read-only memory)과 같은 비휘발성 메모리(non-volatile memory)를 포함할 수 있다. 휘발성 메모리는, 예를 들어, DRAM(dynamic RAM), SRAM(static RAM), Cache RAM, PSRAM(pseudo SRAM) 중 적어도 하나를 포함할 수 있다. 비휘발성 메모리는, 예를 들어, PROM(programmable ROM), EPROM(erasable PROM), EEPROM(electrically erasable PROM), 플래시 메모리, 하드디스크, 컴팩트 디스크, eMMC(embedded multi media card) 중 적어도 하나를 포함할 수 있다. 일 실시예에서, 메모리(415)는 스토리지로 지칭될 수 있다.
일 실시예에서, 웨어러블 장치(103)의 디스플레이(250)는 웨어러블 장치(103)의 사용자에게 시각화된 정보를 출력할 수 있다. 웨어러블 장치(103)를 착용한 사용자의 눈 앞에 배열되는 디스플레이(250)는, 웨어러블 장치(103)의 하우징의 적어도 일부에 배치될 수 있다(예: 도 2a, 도 2b, 도 3a, 및 도 3b의 제1 디스플레이(250-1) 및/또는 제2 디스플레이(250-2)). 예를 들어, 디스플레이(250)는, CPU, GPU(graphic processing unit), 및/또는 DPU(display processing unit)와 같은 회로를 포함하는 프로세서(410)에 의해 제어되어, 사용자에게 시각화된 정보(visualized information)를 출력할 수 있다. 디스플레이(250)는 플렉서블 디스플레이, FPD(flat panel display) 및/또는 전자 종이(electronic paper)를 포함할 수 있다. 디스플레이(250)는 LCD(liquid crystal display), PDP(plasma display panel) 및/또는 하나 이상의 LED(light emitting diode)를 포함할 수 있다. 상기 LED는 OLED(organic LED)를 포함할 수 있다. 실시예가 이에 제한되는 것은 아니며, 예를 들어, 웨어러블 장치(103)가 외부 광(external light 또는 ambient light)을 투과하기 위한 렌즈를 포함하는 경우, 디스플레이(250)는 상기 렌즈로 광을 투사하기 위한(projecting onto) 프로젝터(또는 프로젝션 어셈블리)를 포함할 수 있다. 일 실시예에서, 디스플레이(250)는, 디스플레이 패널 및/또는 디스플레이 모듈로 지칭될 수 있다. 디스플레이(250)에 포함된 픽셀들은, 웨어러블 장치(103)의 사용자에 의해 착용될 시에, 상기 사용자의 두 눈들 중 어느 하나를 향해 배치될 수 있다. 예를 들어, 디스플레이(250)는 사용자의 두 눈들 각각에 대응하는 표시 영역들(또는 활성 영역들)을 포함할 수 있다. 예를 들어, 적어도 하나의 디스플레이를 포함하는 디스플레이(250)는 디스플레이 시스템 또는 디스플레이 어셈블리로 참조될 수 있다.
일 실시예에서, 웨어러블 장치(103)의 센서(420)는, 웨어러블 장치(103)와 관련된 비-전기적 정보(non-electronic information)로부터 프로세서(410) 및/또는 메모리(415)에 의해 처리될 수 있는 전기적 정보를 생성할 수 있다. 예를 들어, 센서(420)는 웨어러블 장치(103)의 지리적 위치(geographic location)를 탐지하기 위한 GPS(global positioning system) 센서를 포함할 수 있다. 상기 GPS 방식 외에도, 센서(420)는, 예를 들어, 갈릴레오(Galileo), 베이더우(beidou compass)와 같은 GNSS(global navigation satellite system)에 기반하여 웨어러블 장치(103)의 지리적 위치를 나타내는 정보를 생성할 수 있다. 상기 정보는 메모리(415)에 저장되거나, 프로세서(410)에 의해 처리되거나, 및/또는 통신 회로를 통해 웨어러블 장치(103)와 구별되는 다른 전자 장치로 송신될 수 있다.
예를 들어, 센서(420)는, 적어도 하나의 센서를 포함할 수 있다. 예를 들어, 상기 적어도 하나의 센서는, IMU(inertial measurement unit)(또는 IMU 센서)를 포함할 수 있다. 예를 들어, 상기 적어도 하나의 센서는, 지자기 센서(magnetometer), 자이로 센서, 중력 센서, 및/또는 가속도 센서를 포함할 수 있다. 예를 들어, 상기 센서는, 도 1의 센서 모듈(176)의 적어도 일부를 포함할 수 있다. 예를 들어, 상기 적어도 하나의 센서를 포함하는 센서(420)는 센서 시스템 또는 센서 어셈블리로 참조될 수 있다.
일 실시예에서, 웨어러블 장치(103)의 카메라(430)는, 빛의 색상, 및/또는 밝기를 나타내는 전기 신호를 생성하는 광 센서(예, CCD(charged coupled device) 센서, CMOS(complementary metal oxide semiconductor) 센서)를 하나 이상 포함할 수 있다. 카메라(430)에 포함된 복수의 광 센서들은 2차원 격자(2 dimensional array)의 형태로 배치될 수 있다. 카메라(430)는 복수의 광 센서들 각각의 전기 신호를 실질적으로 동시에 획득하여, 2차원 격자의 광 센서들에 도달한 빛에 대응하고, 2차원으로 배열된 복수의 픽셀들을 포함하는 이미지(또는 프레임)를 생성할 수 있다. 예를 들어, 카메라(430)를 이용하여 캡쳐한 사진 데이터는 카메라(430)로부터 획득한 하나의 이미지를 의미할 수 있다. 예를 들어, 카메라(430)를 이용하여 캡쳐한 비디오 데이터는, 카메라(430)로부터 지정된 프레임율(frame rate)을 따라 획득한 복수의 이미지들(또는 프레임들)의 시퀀스(sequence)를 의미할 수 있다. 일 실시예에 따른 웨어러블 장치(103)는, 카메라(430)가 빛을 수신하는 방향을 향하여 배치되고, 상기 방향으로 빛을 출력하기 위한 플래시 라이트를 더 포함할 수 있다. 예를 들어, 카메라(430)는, 이미지 센서로 참조될 수도 있다.
예를 들어, 카메라(430)는, 상기 이미지들(또는 프레임들)을 포함하는 비디오를 획득하기 위해 이용될 수 있다. 예를 들어, 카메라(430)는, 적어도 하나의 비디오를 이용하여 3D(three dimensional) 미디어 컨텐츠를 생성할 수 있다. 예를 들어, 상기 3D 미디어 컨텐츠는 3D 동영상, 3D 미디어로 참조될 수 있다. 예를 들어, 카메라(430)는, 상기 3D 미디어 컨텐츠를 생성하기 위해, 복수의 RGB(red-green-blue) 카메라들을 이용하거나, 하나의 RGB 카메라 및 깊이 카메라를 이용할 수 있다. 다만, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 카메라(430)는, 하나의 카메라를 통해 획득된 비디오에 대한 이미지 처리를 통해, 3D 미디어 컨텐츠를 생성할 수도 있다. 웨어러블 장치(103) 내에 포함된 카메라(430)의 수는, 도 2a 및 도 2b, 및/또는 도 3a 및 도 3b를 참고하여 상술한 바와 같이, 하나 이상일 수 있다. 예를 들어, 적어도 하나의 카메라를 포함하는 카메라(430)는 카메라 시스템 또는 카메라 어셈블리로 참조될 수 있다.
일 실시예에 따른, 웨어러블 장치(103)의 출력 장치(435)는, 디스플레이(250)를 통해 제공되는 시각화한 형태의 정보 외에 다른 형태의 정보를 출력하기 위한 출력 수단을 포함할 수 있다. 예를 들어, 출력 장치(435)는 음성 신호(acoustic signal)를 출력하기 위한 스피커를 포함할 수 있다. 예를 들어, 스피커는, 청각적 정보를 제공하기 위해 이용될 수 있다. 예를 들어, 출력 장치(435)는 진동에 기반하는 햅틱 피드백을 제공하기 위한 모터를 포함할 수 있다. 예를 들어, 모터는, 촉각적 정보를 제공하기 위해 이용될 수 있다. 예를 들어, 출력 장치(435)는, 도 1의 음향 출력 모듈(155), 및/또는 햅틱 모듈(179)을 포함할 수 있다. 도 4에서는, 웨어러블 장치(103)가 출력 장치(435)를 포함하는 것으로 도시되나, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 웨어러블 장치(103)는, 출력 장치(435)를 포함하지 않거나, 다른 구성요소와 통합된 구성요소로써 출력 장치(435)를 포함할 수 있다.
일 실시예에 따른, 웨어러블 장치(103)의 메모리(415) 내에서, 웨어러블 장치(103)의 프로세서(410)에 의해 처리될 데이터, 수행될 계산 및/또는 동작을 나타내는 하나 이상의 인스트럭션들(또는 명령어들)이 저장될 수 있다. 하나 이상의 인스트럭션들의 집합은, 프로그램, 펌웨어, 운영 체제, 프로세스, 루틴, 서브-루틴 및/또는 소프트웨어 어플리케이션(이하, 어플리케이션)으로 참조될 수 있다. 예를 들어, 웨어러블 장치(103), 및/또는 프로세서(410)는, 운영체제, 펌웨어, 드라이버, 프로그램, 및/또는 소프트웨어 어플리케이션 형태로 배포된 복수의 인스트럭션들의 집합(set of a plurality of instructions)이 실행될 시에, 도 7a, 도 8a, 및 도 11의 동작들 중 적어도 하나를 수행할 수 있다. 이하에서, 소프트웨어 어플리케이션이 웨어러블 장치(103) 내에 설치되었다는 것은, 소프트웨어 어플리케이션(또는 패키지)의 형태로 제공된 하나 이상의 인스트럭션들이 메모리(415) 내에 저장된 것으로써, 상기 하나 이상의 어플리케이션들이 프로세서(410)에 의해 실행 가능한(executable) 포맷(예: 웨어러블 장치(103)의 운영 체제에 의해 지정된 확장자를 가지는 파일)으로 저장된 것을 의미할 수 있다. 일 예로, 어플리케이션은, 사용자에게 제공되는 서비스와 관련된 프로그램, 및/또는 라이브러리를 포함할 수 있다.
도 4를 참고하면, 웨어러블 장치(103)에 설치된 프로그램들은, 타겟에 기반하여, 어플리케이션 레이어(440), 프레임워크 레이어(450) 및/또는 하드웨어 추상화 레이어(hardware abstraction layer, HAL)(480)를 포함하는 상이한 레이어들 중 어느 한 레이어에 포함될 수 있다. 예를 들어, 하드웨어 추상화 레이어(480) 내에, 웨어러블 장치(103)의 하드웨어(예: 디스플레이(250), 및/또는 센서(420))를 타겟으로 설계된 프로그램들(예: 모듈, 또는 드라이버)이 포함될 수 있다. 프레임워크 레이어(450)는, XR(extended reality) 서비스를 제공하기 위한 하나 이상의 프로그램들을 포함하는 관점에서, XR 프레임워크 레이어로 지칭될 수 있다. 예를 들어, 도 4에 도시된 레이어들은, 논리적으로(또는 설명의 편의를 위하여) 구분된 것으로 메모리(415)의 주소 공간이 상기 레이어들에 의해 구분되는 것을 의미하지 않을 수 있다.
예를 들어, 프레임워크 레이어(450) 내에, 하드웨어 추상화 레이어(480) 및/또는 어플리케이션 레이어(440) 중 적어도 하나를 타겟으로 설계된 프로그램들(예: 위치 추적기(471), 공간 인식기(472), 제스처 추적기(473), 시선 추적기(474), 얼굴 추적기(475), 비디오 생성기(476), 및/또는 비디오 재생기(477))이 포함될 수 있다. 프레임워크 레이어(450)에 포함된 프로그램들은, 다른 프로그램에 기반하여 실행가능한(또는 호출(invoke 또는 call)가능한) API(application programming interface)를 제공할 수 있다.
예를 들어, 어플리케이션 레이어(440) 내에, 웨어러블 장치(103)의 사용자를 타겟으로 설계된 프로그램이 포함될 수 있다. 어플리케이션 레이어(440)에 포함된 프로그램들의 일 예로, XR(extended reality) 시스템 UI(user interface)(441), 및/또는 XR 어플리케이션(442)이 예시되지만, 실시예가 이에 제한되는 것은 아니다. 예를 들어, 어플리케이션 레이어(440)에 포함된 프로그램들(예: 소프트웨어 어플리케이션)은, API를 호출하여, 프레임워크 레이어(450)에 포함된 프로그램들에 의해 지원되는 기능의 실행을 야기할 수 있다.
예를 들어, 웨어러블 장치(103)는 XR 시스템 UI(441)의 실행에 기반하여, 사용자와 상호작용을 수행하기 위한 하나 이상의 시각적 객체들을 디스플레이(250) 상에 표시할 수 있다. 시각적 객체는, 텍스트, 이미지, 아이콘, 비디오, 버튼, 체크박스, 라디오버튼, 텍스트 박스, 슬라이더 및/또는 테이블과 같이, 정보의 송신 및/또는 상호작용을 위해 화면 내에 배치될 수 있는 객체를 의미할 수 있다. 시각적 객체는 시각적 가이드, 가상 객체, 시각 요소, UI 요소, 뷰 객체, 및/또는 뷰 요소로 지칭될 수 있다. 웨어러블 장치(103)는, XR 시스템 UI(441)의 실행에 기반하여, 사용자에게, 가상 공간 내에서 이용가능한 기능들을 제공할 수 있다.
도 4를 참고하면, XR 시스템 UI(441) 내에 경량 렌더러(443), 및/또는 XR 플러그인(444)이 포함되도록 도시되어 있지만, 이에 제한되는 것은 아니다. 예를 들어, XR 시스템 UI(441)에 기반하여, 프로세서(410)는 프레임워크 레이어(450) 내 경량 렌더러(443), 및/또는 XR 플러그인(444)을 실행할 수 있다.
예를 들어, 웨어러블 장치(103)는 경량 렌더러(lightweight renderer)(443)의 실행에 기반하여, 부분적인 변경이 허용된, 렌더링 파이프라인을 정의, 생성 및/또는 실행하기 위해 이용되는 자원(예: API, 시스템 프로세스 및/또는 라이브러리)을 획득할 수 있다. 경량 렌더러(443)는 부분적인 변경이 허용된, 렌더링 파이프라인을 정의하는 관점에서, lightweight render pipeline으로 지칭될 수 있다. 경량 렌더러(443)는, 소프트웨어 어플리케이션의 실행 이전에 빌드된 렌더러(예: 프리-빌드(prebuilt) 렌더러)를 포함할 수 있다. 예를 들어, 웨어러블 장치(103)는 XR 플러그인(444)의 실행에 기반하여, 렌더링 파이프라인 전체를 정의, 생성 및/또는 실행하기 위해 이용되는 자원(예: API, 시스템 프로세스 및/또는 라이브러리)을 획득할 수 있다. XR 플러그인(444)은 렌더링 파이프라인 전체를 정의(또는 설정)하는 관점에서, open XR native client로 지칭될 수 있다.
예를 들어, 웨어러블 장치(103)는, XR 어플리케이션(442)의 실행에 기반하여, 가상 공간의 적어도 일부분을 나타내는 화면을 디스플레이(250) 상에 표시할 수 있다. XR 어플리케이션(442)에 포함된 XR 플러그인(444-1)은 XR 시스템 UI(441)의 XR 플러그인(444)과 유사한 기능을 지원하는 인스트럭션들을 포함할 수 있다. XR 플러그인(444-1)의 설명 중 XR 플러그인(444)의 설명과 중복되는 설명은 생략될 수 있다. 웨어러블 장치(103)는, XR 어플리케이션(442)의 실행에 기반하여, 가상 공간 매니저(451)의 실행을 야기할 수 있다.
예를 들어, 웨어러블 장치(103)는, 어플리케이션(445)의 실행에 기반하여, 가상 공간 상에 이미지를 디스플레이(250) 상에 표시할 수 있다. 어플리케이션(445)은 2차원 이미지를 표시하기 위한 이미지 정보를 출력하도록 구성될 수 있다. 웨어러블 장치(103)는, 어플리케이션(445)의 실행에 기반하여, 가상 공간 매니저(451)의 실행을 야기할 수 있다. 웨어러블 장치(103)는, 어플리케이션(445)의 실행에 기반하여, 3차원의 가상 공간에서 상기 2차원 이미지를 나타내기 위하여, 이중 이미지 정보를 생성할 수 있다. 여기서, 이중 이미지 정보는 양안 시차를 고려하여, 좌안을 위한 제1 이미지 정보와 우안을 위한 제2 이미지 정보를 포함할 수 있다. 상기 2차원 이미지를 3차원의 가상 공간에서 나타내기 위해, 웨어러블 장치(103)는 상기 2차원 이미지를 표시하기 위한 이미지 정보에 기반하여, 상기 이중 이미지 정보를 생성할 수 있다.
일 실시 예에 따르면, 웨어러블 장치(103)는 가상 공간 매니저(451)의 실행에 기반하여 가상 공간 서비스를 제공할 수 있다. 예를 들어, 가상 공간 매니저(451)는 가상 공간 서비스를 지원하기 위한 플랫폼을 포함할 수 있다. 웨어러블 장치(103)는 가상 공간 매니저(451)의 실행에 기반하여, 카메라(430)를 통해 획득한 데이터에 의해 나타나는 사용자의 위치를 기준으로 형성된 가상 공간을 식별할 수 있고, 상기 가상 공간의 적어도 일부분을 디스플레이(250) 상에 표시할 수 있다. 가상 공간 매니저(451)는, CPM(composition presentation manager)로 참조될 수 있다.
예를 들어, 가상 공간 매니저(451)는, 런타임 서비스(452)를 포함할 수 있다. 일 예로, 런타임 서비스(452)는 OpenXR runtime 모듈(또는 OpenXR runtime 프로그램)로 참조될 수 있다. 웨어러블 장치(103)는 런타임 서비스(452)의 실행에 기반하여, 사용자의 포즈 예측 기능, 프레임 타이밍 기능, 및/또는 공간 입력 기능 중 적어도 하나를 실행할 수 있다. 일 예로, 웨어러블 장치(103)는 런타임 서비스(452)의 실행에 기반하여 사용자에게 가상 공간 서비스를 위한 렌더링을 수행할 수 있다. 예를 들어, 런타임 서비스(452)의 실행에 기반하여, 어플리케이션 레이어(440)에 의해 실행 가능한, 가상 공간과 관련된 기능이 지원될 수 있다.
예를 들어, 가상 공간 매니저(451)는 pass-through 매니저(453)룰 포함할 수 있다. 웨어러블 장치(103)는, pass-through 매니저(453)의 실행에 기반하여, 가상 공간을 나타내는 화면(예: 도 6a의 화면(610))을 디스플레이(250)상에 표시하는 동안, 외부 카메라를 통해 획득한 실제 공간을 나타내는 이미지 및/또는 비디오를 상기 화면의 적어도 일부분에 중첩하여 표시할 수 있다.
예를 들어, 가상 공간 매니저(451)는, 입력 매니저(454)를 포함할 수 있다. 웨어러블 장치(103)는 입력 매니저(454)의 실행에 기반하여, 인식 서비스 레이어(470) 내에 포함된 하나 이상의 프로그램들을 실행하여 획득된 데이터(예: 센서 데이터)를 식별할 수 있다. 웨어러블 장치(103)는 상기 획득된 데이터를 이용하여, 웨어러블 장치(103)와 관련된 사용자 입력을 식별할 수 있다. 상기 사용자 입력은, 센서(420)(예: 외부 카메라와 같은 이미지 센서)에 의해 식별된 사용자의 모션(예: 손 제스쳐), 시선 및/또는 발언과 관련될 수 있다. 상기 사용자 입력은, 통신 회로를 통해 연결된(또는 페어링된) 외부 전자 장치에 기반하여 식별될 수 있다.
예를 들어, 인식 추상화 레이어(460)(perception abstract layer)는 가상 공간 매니저(451)와 인식 서비스 레이어(perception service layer)(470) 사이의 데이터 교환을 위해 사용될 수 있다. 가상 공간 매니저(451)와 인식 서비스 레이어(perception service layer)(470) 사이의 데이터 교환을 위해 사용되는 관점에서, 인식 추상화 레이어(460)(perception abstract layer)는 인터페이스(interface)로 지칭될 수 있다. 일 예로, 인식 추상화 레이어(460)는 OpenPX로 참조될 수 있다. 인식 추상화 레이어(460)는 perception client 및 perception service를 위해 사용될 수 있다.
일 실시 예에 따르면, 인식 서비스 레이어(470)는 센서(420)로부터 획득된 데이터를 처리하기 위한 하나 이상의 프로그램들을 포함할 수 있다. 하나 이상의 프로그램들은 위치 추적기(471), 공간 인식기(472), 제스처 추적기(473), 시선 추적기(474) 및/또는 비디오 생성기(476) 중 적어도 하나를 포함할 수 있다. 인식 서비스 레이어(470)에 포함된 하나 이상의 프로그램들의 타입 및/또는 개수는 도 4에 도시된 바에 제한되지 않는다.
예를 들어, 웨어러블 장치(103)는, 위치 추적기(471)의 실행에 기반하여, 센서(420)를 이용하여, 웨어러블 장치(103)의 자세를 식별할 수 있다. 웨어러블 장치(103)는 위치 추적기(471)의 실행에 기반하여, 외부 카메라(예: 이미지 센서(421)) 및/또는 IMU(예: 자이로 센서, 가속도 센서 및/또는 지자기 센서를 포함하는 모션 센서(422))를 이용하여 획득된 데이터를 이용하여, 웨어러블 장치(103)의 6 자유도 자세(6 degrees of freedom pose, 6 dof pose)를 식별할 수 있다. 위치 추적기(471)는, 헤드 트래킹(head tracking, HeT) 모듈(또는 헤드 트래커, 헤드 트래킹 프로그램)로 참조될 수 있다.
예를 들어, 웨어러블 장치(103)는 공간 인식기(472)의 실행에 기반하여, 웨어러블 장치(103)(또는, 웨어러블 장치(103)의 사용자)의 주변 환경(예: 외부 공간)에 대응하는 3 차원(three dimension, 3D)의 가상 공간을 제공하기 위한 정보를 획득할 수 있다. 웨어러블 장치(103)는 공간 인식기(472)의 실행에 기반하여, 외부 카메라(예: 카메라(430) 또는 이미지 센서)를 이용하여 획득된 데이터를 이용하여, 웨어러블 장치(103)의 주변 환경을 3 차원으로 재현할 수 있다. 웨어러블 장치(103)는 공간 인식기(472)의 실행에 기반하여 3 차원으로 재현된 웨어러블 장치(103)의 주변 환경에 기반하여, 평면, 경사, 계단 중 적어도 하나를 식별할 수 있다. 공간 인식기(472)는, 장면 인식(scene understanding, SU) 모듈(또는 장면 인식 프로그램)로 참조될 수 있다.
예를 들어, 웨어러블 장치(103)는 제스처 추적기(473)의 실행에 기반하여, 웨어러블 장치(103)의 사용자의 손의 포즈 및/또는 제스처를 식별(또는 인식)할 수 있다. 일 예로, 웨어러블 장치(103)는, 제스처 추적기(473)의 실행에 기반하여, 외부 카메라(예: 카메라(430) 또는 이미지 센서)로부터 획득된 데이터를 이용하여, 사용자의 손의 포즈 및/또는 제스처를 식별할 수 있다. 일 예로, 웨어러블 장치(103)는 제스처 추적기(473)의 실행에 기반하여, 외부 카메라를 이용하여 획득된 데이터(또는, 이미지)에 기반하여, 사용자의 손의 포즈 및/또는 제스처를 식별할 수 있다. 제스처 추적기(473)는, 핸드 트래킹(hand tracking, HaT) 모듈(또는 핸드 트래킹 프로그램), 및/또는 제스처 트레킹 모듈로 참조될 수 있다.
예를 들어, 웨어러블 장치(103)는 시선 추적기(474)의 실행에 기반하여, 웨어러블 장치(103)의 사용자의 눈의 움직임을 식별(또는 추적(tracking))할 수 있다. 일 예로, 웨어러블 장치(103)는 시선 추적기(474)의 실행에 기반하여 시선 추적 카메라(예: 카메라(430) 또는 이미지 센서)로부터 획득된 데이터를 이용하여, 사용자의 눈의 움직임을 식별할 수 있다. 시선 추적기(474)는, 아이 트래킹(eye tracking, ET) 모듈(또는 아이 트래킹 프로그램), 및/또는 시선(gaze) 트래킹 모듈로 참조될 수 있다.
예를 들어, 웨어러블 장치(103)의 인식 서비스 레이어(470)는, 사용자의 얼굴을 추적하기 위한 얼굴 추적기(475)를 더 포함할 수 있다. 예를 들어, 웨어러블 장치(103)는 얼굴 추적기(475)의 실행에 기반하여, 사용자의 얼굴의 움직임 및/또는 사용자의 표정을 식별(또는 추적)할 수 있다. 웨어러블 장치(103)는 얼굴 추적기(475)의 실행에 기반하여, 사용자의 얼굴의 움직임에 기반하여, 사용자의 표정을 추정할 수 있다. 일 예로, 웨어러블 장치(103)는, 얼굴 추적기(475)의 실행에 기반하여, 카메라(425)(예, 사용자의 얼굴의 적어도 일부분을 향하는 카메라)를 이용하여 획득된 데이터(예, 이미지 및/또는 비디오)에 기반하여, 사용자의 얼굴의 움직임 및/또는 사용자의 표정을 식별할 수 있다.
도 4를 참고하면, 렌더러(490)는, 3차원 가상 공간에서 이미지들을 렌더링하기 위한 인스트럭션들을 포함할 수 있다. 렌더러(490)를 실행한 프로세서(410)는, 소프트웨어 어플리케이션에서 디스플레이(250)의 표시 영역에 적어도 부분적으로 표시될, 적어도 하나의 이미지를 획득할 수 있다. 예를 들어, 렌더러(490)를 실행한 프로세서(410)는, 어플리케이션(예: XR 어플리케이션(442), 어플리케이션(445))이 렌더링 될 영역의 위치를 결정할 수 있다. 렌더러(490)를 실행한 프로세서(410)는 디스플레이(250) 상에 표시될 상기 어플리케이션의 이미지를 생성할 수 있다. 렌더러(490)는 이미지들을 합성하여, 디스플레이(250) 상에 표시될 합성 이미지를 생성할 수 있다.
예를 들어, 렌더러(490)를 실행한 프로세서(410)는, 위치 추적기(471) 및/또는 시선 추적기(474)를 이용하여 계산된, 시선 위치를 이용하여, 디스플레이(250)의 표시 영역을, 포비티드 부분(혹은 포비티드 영역으로 지칭될 수 있음) 및 주변 부분(혹은 잔여 영역으로 지칭될 수 있음)으로 구분할 수 있다. 예를 들어, 시선 위치의 좌표 값들을 탐지한 프로세서(410)는, 상기 좌표 값들을 포함하는 표시 영역의 부분을, 포비티드 영역으로 결정할 수 있다. 렌더러(490)를 실행한 DPU는, 상기 포비티드 영역 및 상기 잔여 영역 각각에 대응하고, 디스플레이(250)의 전체 표시 영역의 사이즈 보다 작은 사이즈를 가지거나, 표시 영역의 해상도 보다 적은 해상도를 가지는, 적어도 하나의 이미지를 획득할 수 있다.
렌더러(490)를 실행한 프로세서(410)는, 포비티드 영역에 대응하는 이미지 및 주변 부분에 대응하는 이미지를 합성하여, 디스플레이(250) 상에 표시될 합성 이미지를 획득할 수 있거나, 또는 생성할 수 있다. 예를 들어, 프로세서(410)는 업스케일링을 수행하여, 디스플레이(250)의 전체 표시 영역의 사이즈로, 주변 부분에 대응하는 이미지를 확대할 수 있다. 확대된 이미지 상에, 프로세서(410)는 포비티드 영역에 대응하는 이미지를 결합하여, 디스플레이(250) 상에 표시될 합성 이미지를 생성할 수 있다. 포비티드 영역에 대응하는 이미지의 경계 선을 따라, 프로세서(410)는 블러와 같은 시각 효과를 적용하여, 확대된 이미지 및 포비티드 영역에 대응하는 이미지를 혼합할 수 있다.
예를 들어, 웨어러블 장치(103)는, 프레임워크 레이어(450)(또는 운영 체제)에서, 시스템 서비스들을 처리하고 하드웨어 종속 작업들을 수행할 수 있다. 예를 들어, 웨어러블 장치(103)는, 하드웨어 구성요소들(예: 센서(420), 카메라(430))를 이용하여 획득된 데이터를 이용하여, 외부 환경에 대한 공간 좌표계를 구성하고, 상기 공간 좌표계 상의 웨어러블 장치(103)의 위치를 계산할 수 있다. 예를 들어, 상기 외부 환경은, 실재하는 환경을 나타내는 것으로, 물리 환경 또는 실제 환경으로 참조될 수 있다.
예를 들어, 웨어러블 장치(103)의 인식 서비스 레이어(470)는, 3D 미디어 컨텐츠를 생성하고 저장하기 위한 비디오 생성기(476)를 더 포함할 수 있다. 예를 들어, 웨어러블 장치(103)는, 비디오 생성기(476)의 실행에 기반하여, 3D 미디어 컨텐츠(또는 3D 비디오)를 생성하기 위해, 카메라(430)를 이용하여 외부 환경에 대한 비디오를 촬영(또는 획득)할 수 있다. 예를 들어, 웨어러블 장치(103)는, 비디오 생성기(476)의 실행에 기반하여, 상기 외부 환경에 대한 상기 비디오를 촬영하는 동안, 웨어러블 장치(103)의 상기 공간 좌표계 상의 상기 위치에 대한 정보를 획득하고, 상기 비디오의 메타데이터 형태로 저장할 수 있다. 예를 들어, 웨어러블 장치(103)는, 비디오 생성기(476)의 실행에 기반하여, 상기 비디오에 포함된 복수의 프레임들(또는 이미지들) 중에서 하나 이상의 키 프레임들을 설정(또는 결정, 선택)할 수 있다. 예를 들어, 키 프레임은, 상대적으로 많은 특징(feature)들을 포함하는 프레임으로, 다른 프레임과의 비교가 용이한 프레임을 포함할 수 있다. 이하 본 개시에서, 상기 키 프레임은, 비교의 기준으로 이용되는, 기준 프레임으로 참조될 수 있다. 예를 들어, 웨어러블 장치(103)는, 키 프레임과 상기 키 프레임과 인접한 프레임들 사이의 분석을 수행하고, 상기 메타데이터의 웨어러블 장치(103))의 위치를 결합함으로써, 상기 비디오를 촬영하기 위한 웨어러블 장치(103)(또는, 상기 비디오의 촬영자, 웨어러블 장치(103)의 착용자)의 이동 궤적(또는 궤적)을 계산할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 이동 궤적에 대한 정보(또는 메타데이터)를 저장할 수 있다. 예를 들어, 웨어러블 장치(103)는, 비디오 생성기(476)의 실행에 기반하여, 3D 미디어 컨텐츠의 재구성을 수행할 수 있다. 예를 들어, 웨어러블 장치(103)는, 카메라(430)를 통해 획득된 상기 비디오를 이용하여, 재구성 기법(예: 가우시안 스플레팅(Gaussian splatting), Nerf(neural radiance fields))에 기반하여, 상기 비디오를 3D 미디어 컨텐츠로 재구성할 수 있다. 예를 들어, 웨어러블 장치(103)는, 재구성된 상기 3D 미디어 켄텐츠를 볼 수 있는 상기 공간 좌표계 내의 영역(이하, 기준 영역)을 계산(또는, 식별)할 수 있다. 예를 들어, 상기 기준 영역에 대한 정보(또는 메타데이터)는, 웨어러블 장치(103) 내에 저장될 수 있다.
상기 예에서는, 하나의 모듈로 구성된 비디오 생성기(476)의 실행에 기반하여 수행되는 동작들이 예시되나, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 비디오 생성기(476)는, 키 프레임 및 궤적 생성기(또는 키 프레임 및 궤적 생성 모듈), 3D 미디어 컨텐츠 재구성기(또는 3D 동영상 재구성 모듈), 및 기준 영역 계산기(또는 시청 가능 영역 계산 모듈)을 포함하는 복수의 모듈들로 구성될 수 있다.
예를 들어, 웨어러블 장치(103)의 인식 서비스 레이어(470)는, 저장된 3D 미디어 컨텐츠를 재생(또는 표시)하기 위한 비디오 재생기(477)를 더 포함할 수 있다. 예를 들어, 웨어러블 장치(103)는, 비디오 재생기(477)의 실행에 기반하여, 웨어러블 장치(103)의 현재 사용자(또는 착용자)가 과거의 시점에서 저장된(또는 촬영된) 3D 미디어 컨텐츠를 확인하도록, 3D 미디어 컨텐츠를 재생(또는 표시, 플레이백(playback))할 수 있다. 예를 들어, 웨어러블 장치(103)는, 비디오 재생기(477)의 실행에 기반하여, 현재 웨어러블 장치(103)를 현재 착용하고 있는 사용자의 위치를 이용하여, 3D 미디어 컨텐츠의 재생 시점(time point)(또는 시간상의 위치) 및/또는 재생 위치(또는 공간상의 위치)를 결정할 수 있다. 예를 들어, 웨어러블 장치(103)는, 비디오 재생기(477)의 실행에 기반하여, 사용자와 3D 미디어 컨텐츠의 기준 영역(또는 시청가능 영역) 사이의 관계를 이용하여, 3D 미디어 컨텐츠의 재생 속도를 결정(또는 제어)할 수 있다. 예를 들어, 웨어러블 장치(103)는, 비디오 재생기(477)의 실행에 기반하여, 3D 미디어 컨텐츠의 표시 정도(또는 표시 대상)를 결정(또는 제어)할 수 있다. 예를 들어, 상기 표시 정도(또는 표시 대상)는, 정적 오브젝트 및 동적 오브젝트 중에서 적어도 일부의 표시를 포함할 수 있다.
상기 예에서는, 하나의 모듈로 구성된 비디오 재생기(477)의 실행에 기반하여 수행되는 동작들이 예시되나, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 비디오 재생기(477)는, 재생 위치 계산기(또는 재생 위치 계산 모듈), 재생 속도 제어기(또는 재생 속도 제어 모듈), 및 표시 오브젝트 제어기(또는 배경 제어 모듈)를 포함하는 복수의 모듈들로 구성될 수 있다.
도 5는 가상 공간에서 이미지를 표시하기 위한 전자 장치의 블록도의 예를 나타낸다. 예를 들어, 도 5의 상기 전자 장치는, 도 1의 전자 장치(101), 도 2a 내지 도 3b 및 도 4의 웨어러블 장치(103)를 포함할 수 있다.
도 5에서는, 가상 공간에서 이미지를 표시하기 위한 다수의 프로그램들/인스트럭션들이 실행되는 예가 서술된다. 상기 다수의 프로그램들/인스트럭션들은 하나의 프로세서(예: AP)에서 모두 실행되거나, 다수의 프로세서들(예: AP, GPU(graphic processing unit), NPU(neural processing unit))에 의해 실행될 수 있다. 상기 다수의 프로세서들에 의해 실행될 수 있다는 것의 의미는, 일부 프로그램/인스트럭션은 제1 프로세서에 의해 실행되고 다른 일부 프로그램/인스트럭션은 상기 제1 프로세서와 다른 제2 프로세서에 의해 실행될 수 있음을 나타낸다.
도 5를 참고하면, 전자 장치(101)(또는 웨어러블 장치(103))는, 가상 공간에서 이미지를 렌더링하기 위해 가상 공간 매니저(550)(예: 도 4의 가상 공간 매니저(451), CPM)를 실행할 수 있다. 가상 공간 매니저(550)를 위해, 도 4의 가상 공간 매니저(451)에 대한 설명들이 적어도 일부 참조될 수 있다. 가상 공간 매니저(550)는 가상 공간 서비스를 지원하기 위한 플랫폼을 포함할 수 있다. 가상 공간 매니저(550)는 런타임 서비스(551)(예: OpenXR Runtime), 패널 렌더러(552)(예: 2D Panel Render), XR 합성부(553)(XR Compositor)를 포함할 수 있다. 전자 장치(101)는 런타임 서비스(551)의 실행에 기반하여, 사용자의 포즈 예측 기능, 프레임 타이밍 기능, 및/또는 공간 입력 기능 중 적어도 하나를 실행할 수 있다. 런타임 서비스(551)를 위해, 도 4의 런타임 서비스(452)에 대한 설명들이 적어도 일부 참조될 수 있다. 전자 장치(101)는 패널 렌더러(552)의 실행에 기반하여, 디스플레이를 통해 가상 공간을 구현할 수 있도록 패널(예: 2D 패널)에 적어도 하나의 이미지(영상)를 표시할 수 있다. 예를 들어, 전자 장치(101)는, 후술하는 공간화 매니저(540)로부터의 패널을 위한 RGB 정보(566)에 대응하는 렌더링 이미지를 디스플레이(예: 디스플레이(250))를 통해 표시할 수 있다. 전자 장치(101)는 XR 합성부(553)(XR Compositor)의 실행에 기반하여, 가상 공간 상에서 카메라를 통해 촬영된 실제 영역에 대한 이미지(이하, 패스-쓰루 이미지)와 가상 영역 이미지를 합성할 수 있다. 예를 들어, 전자 장치(101)는, XR 합성부(553)의 실행에 기반하여, 상기 패스-쓰루 이미지와 상기 가상 영역 이미지를 병합함으로써, 합성 이미지를 생성할 수 있다. 전자 장치(101)는, 상기 합성 이미지가 표시되도록, 상기 생성된 합성 이미지를 디스플레이 버퍼에게 전송할 수 있다. 전자 장치(101)는 가상 공간 매니저(550)를 통해 가상 공간을 식별할 수 있고, 가상 공간의 적어도 일부분을 디스플레이(250) 상에 표시할 수 있다. 가상 공간 매니저(550)는, CPM으로 지칭될 수 있다. 전자 장치(101)는 상기 가상 공간의 적어도 일부분에 대응하는 이미지를 렌더링하기 위해, 가상 공간 매니저(550)를 실행할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 공간화 매니저(540)를 실행할 수 있다. 공간화 매니저(540)는 3차원의 가상 공간에 이미지를 표시하기 위한 처리들을 수행할 수 있다. 전자 장치(101)는, 가상 공간 매니저(550)를 통해 3차원의 가상 공간에 이미지가 렌더링될 수 있도록, 공간화 매니저(540)의 실행에 기반하여 사전 처리를 수행할 수 있다. 예를 들어, 전자 장치(101)는, 공간화 매니저(540)의 실행에 기반하여, 도 4의 렌더러(490)의 기능들 중 적어도 일부를 수행할 수 있다. 전자 장치(101)는, 공간화 매니저(540)의 실행에 기반하여, 어플리케이션(예: XR 어플리케이션(510), XR이 아닌 일반 2D 화면을 제공하는 어플리케이션(520), 시스템 UI(530)를 제공하는 어플리케이션)에 의해 제공되는 이미지 정보를 처리할 수 있다. 공간화 매니저(540)(예: Space Flinger)는 시스템 화면 매니저(541)(예: System scene), 입력 매니저(542)(예: Input Routing), 및 경량 렌더링 엔진(543)(예: Impress Engine)을 포함할 수 있다. 시스템 화면 매니저(541)는, 시스템 UI(530)를 표시하기 위해, 실행될 수 있다. 시스템 UI(530)를 제공하는 프로그램(예: API)으로부터, 시스템 UI 관련 정보(564)가 시스템 화면 매니저(541)에게 전송될 수 있다. 시스템 UI 관련 정보(564)는 공간화(spatializer) API 및/또는 Same-process private API를 통해 획득될 수 있다. 공간화 매니저(540)는, 미리 할당된 리소스들을 통해, 3차원 공간에서 시스템 UI(530)의 화면의 레이아웃(예: 위치, 표시 순서)를 결정할 수 있다. 시스템 화면 매니저(541)는, 상기 레이아웃에 따라, 시스템 UI(530)의 화면을 렌더링하기 위한 이미지 정보(567)를 가상 공간 매니저(550)에게 전송할 수 있다. 입력 매니저(542)는 사용자 입력(예: 시스템 화면이나 앱 화면 상에서의 사용자 입력)을 처리하도록 구성될 수 있다. 임프레스 엔진(543)은 이미지 생성을 위한 렌더러(예: 경량 렌더러(443))일 수 있다. 예를 들어, 임프레스 엔진(543)은 시스템 UI(530)를 표시하기 위해 이용될 수 있다. 일 실시예에 따르면, 공간화 매니저(540)에는 시스템 UI를 렌더링(rendering) 하기 위한 경량 렌더링 엔진(543)을 포함할 수 있다. 일 실시예에 따르면, 경량 렌더링 엔진(543)이 HMD에서 사용되는 아바타(avatar)를 렌더링하기에 리소스가 충분하지 않을 경우, 적어도 하나의 외부 렌더링 엔진이 사용될 수도 있다. 이때, 외부 렌더링(예: 3rd party 엔진)과의 호환성 이슈를 해결하기 위해, 공간화 매니저(540) 내부에 외부 렌더링 엔진 지원 모듈이 추가될 수 있다.
일 실시예에 따르면, 전자 장치는 어플리케이션을 실행할 수 있다. 예를 들어, XR 어플리케이션(510)(예: XR 어플리케이션(442), 3D 게임, XR 맵, 기타 몰입형(immersive) 어플리케이션)의 실행에 응답하여, 가상 공간 매니저(550)를 실행할 수 있다. 전자 장치(101)는 XR 어플리케이션(510)으로부터 제공되는 이중 이미지 정보(561)를 가상 공간 매니저(550)에게 제공할 수 있다. 3차원 공간에서 이미지를 표시하기 위해, 이중 이미지 정보(561)는 양안 시차를 고려한 2개의 이미지 정보를 포함할 수 있다. 예를 들어, 이중 이미지 정보(561)는 3차원의 가상 공간에서 렌더링하기 위해, 사용자의 좌안을 위한 제1 이미지 정보와 사용자의 우안을 위한 제2 이미지 정보를 포함할 수 있다. 이하, 본 개시에서 3차원 공간에서 양안을 위한 이미지들을 나타내기 위한 이미지 정보를 지칭하는 용어로서, 이중 이미지 정보가 사용된다. 상기 이중 이미지 정보는 이중 이미지 정보 외에도 양안 이미지 정보, 이중 이미지 정보, 이중 이미지 데이터, 이중 이미지, 양안 이미지 데이터, 입체 이미지 정보, 3D 이미지 정보, 공간 이미지 정보, 공간 이미지 데이터, 2D-3D 변환 데이터, 차원 변환 이미지 데이터, 양안 시차 이미지 데이터, 및/또는 이와 동등한 기술적 용어가 이용될 수 있다. 전자 장치(101)는 가상 공간 매니저(550)를 통해 이미지 레이어들을 병합함으로써, 합성 이미지를 생성할 수 있다. 전자 장치(101)는 상기 생성된 합성 이미지를 디스플레이 버퍼에게 전송할 수 있다. 상기 합성 이미지는 전자 장치(101)의 디스플레이(250) 상에 표시될 수 있다.
일 실시예에 따르면, 전자 장치(101)는 XR 어플리케이션(510)과 다른 어플리케이션(520)(예: 제1 어플리케이션(520-1), 제2 어플리케이션(520-2), ..., N번째 어플리케이션(520-N)))중 적어도 하나의 어플리케이션을 실행할 수 있다. 일 실시예에 따르면, 어플리케이션(520)은 2차원 이미지를 표시하기 위한 이미지 정보를 출력하도록 구성될 수 있다. 다시 말해, 어플리케이션(520)은 2차원 이미지를 제공할 수 있다. 일 예로, 어플리케이션(520)은 영상 어플리케이션, 일정 어플리케이션 또는 어플리케이션(520)은 인터넷 브라우저 어플리케이션일 수 있다. 만약, 어플리케이션(520)의 실행에 응답하여, 어플리케이션(520)으로부터 제공되는 이미지 정보(562)가 가상 공간 매니저(550)에게 제공됨을 가정하자. 이미지 정보(562)는 2차원 평면 내에서의 x좌표와 y좌표만을 가지므로, 사용자를 중심으로 다른 어플리케이션들 간의 선후 관계(즉, 사용자로부터 이격된 거리)가 고려되기 어려울 수 있다. 전자 장치(101)는, 일반적인 2D 화면을 제공하는 어플리케이션(520)을 표시할 때에도, 이중 이미지 정보를 가상 공간 매니저(550)에게 제공하기 위해, 공간화 매니저(540)를 실행할 수 있다. 예를 들어, 공간화 매니저(540)의 실행에 기반하여, 전자 장치(101)는 제1 어플리케이션(520-1)으로부터 어플리케이션 관련 정보(563)를 수신할 수 있다. 예를 들어, 어플리케이션 관련 정보(563)는 제1 어플리케이션(520-1)의 2차원 이미지를 나타내는 이미지 정보(예: 픽셀 별 RGB를 포함하는 정보) 및/또는 제1 어플리케이션(520-1)에서의 컨텐츠 정보(예: 제1 어플리케이션에서 실행되는 컨텐츠의 특성, 컨텐츠의 유형)를 포함할 수 있다. 어플리케이션 관련 정보(563)는 공간화(spatializer) API를 통해 획득될 수 있다. 공간화 매니저(540)의 실행에 기반하여, 전자 장치(101)는 제1 어플리케이션(520-1)이 렌더링될 영역의 위치 및 렌더링될 영역의 크기에 대한 정보(이하, 위치 정보)를 식별할 수 있다. 공간화 매니저(540)의 실행에 기반하여, 전자 장치(101)는 상기 이미지 정보 및 상기 위치 정보를 통해, 사용자의 양안 시차가 고려된, 이중 이미지 정보(565, 예: RGBx2)를 생성할 수 있다. 공간화 매니저(540)의 실행에 기반하여, 전자 장치(101)는 이중 이미지 정보(565)를 가상 공간 매니저(550)에게 제공할 수 있다. 단순한 2차원 이미지를 이중 이미지 정보(565)로 변환함으로써, 이미지 정보(562)가 가상 공간 매니저(550)에게 직접 전달됨으로써 발생하는 문제는 해소될 수 있다. 또한, 가상 공간에서의 이미지 표시를 위한 기능들 중 적어도 일부가 가상 공간 매니저(550) 대신 공간화 매니저(540)에 의해 수행됨에 따라, 가상 공간 매니저(550)의 부담이 감소할 수 있다.
또한, 웨어러블 장치(103)는 3D 미디어 콘텐츠(또는 3D 비디오)를 생성하고, 생성된 3D 미디어 콘텐츠를 재생(또는 표시)할 수 있다. 예를 들어, 웨어러블 장치(103)는, 3D 미디어 콘텐츠 내 오브젝트를 구별하여 표시할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 오브젝트가 정적인 오브젝트인 경우, 3D 미디어 콘텐츠가 생성될 시(또는 촬영될 시) 식별된 공간 상에 고정된 상태로 표시될 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 오브젝트가 동적인 오브젝트인 경우, 3D 미디어 콘텐츠가 생성될 시(또는 촬영될 시) 식별된 공간 상의 이동 궤적에 따라 가변적인 위치를 갖도록 상기 3D 미디어 콘텐츠를 표시할 수 있다. 이 때, 상기 3D 미디어 콘텐츠는, 복수의 미디어 콘텐츠들(또는 비디오들)로부터 생성될 수 있다.
웨어러블 장치(103)는, 3D 미디어 콘텐츠를 재생(또는 표시)하는 경우, 3D 미디어 콘텐츠의 공간 도메인 상의 재생 위치를, 웨어러블 장치(103)를 기준으로 매핑할 수 있다. 예를 들어, 웨어러블 장치(103)는, 웨어러블 장치(103)를 현재 착용하고 있는 사용자로부터 지정된 거리에 위치된 것으로 인식되도록, 3D 미디어 콘텐츠를 표시할 수 있다. 예를 들어, 3D 미디어 콘텐츠의 정적인 오브젝트는, 상기 지정된 위치에 표시될 수 있다. 이와 달리, 3D 미디어 콘텐츠의 동적인 오브젝트는, 상기 지정된 위치와 달리 촬영 시 식별된 이동 궤적에 따라 변경된 위치에 위치된 것으로 인식되도록, 표시될 수 있다. 이에 따라, 동적인 오브젝트인 3D 미디어 콘텐츠가 재생되고 있음에도 불구하고, 웨어러블 장치(103)를 착용한 사용자는 3D 미디어 콘텐츠를 인식하지 못할 수 있다. 이에 따라, 웨어러블 장치(103)는, 상기 사용자의 위치에 기반하여, 동적인 오브젝트인 3D 미디어 콘텐츠의 공간 도메인 상의 재생 위치를 재매핑할 수 있다. 그러나, 재매팽이 수행됨에 따라 3D 미디어 콘텐츠의 재생 위치가 변경되는 바, 웨어러블 장치(103)의 사용자(또는 시청자)는, 상기 재생 위치의 재 매핑될 위치를 기억할 필요가 있다. 만약, 상기 재매핑될 위치가 가변적인 경우, 3D 미디어 콘텐츠 중 정적인 오브젝트는, 실제로 존재하는 위치가 고정됨에도 불구하고, 표시되는(또는 재생되는) 위치가 변경될 수도 있다.
이하, 본 개시에 따른 장치, 방법, 및 저장 매체는, 웨어러블 장치(103)(또는 웨어러블 장치(103)의 사용자)의 위치에 따라 3D 미디어 콘텐츠(또는 3D 비디오)가 표시(또는 재생)될 공간 상의 위치 및 시간 상의 위치를 결정할 수 있다. 예를 들어, 본 개시에 따른 장치, 방법, 및 저장 매체는, 획득되고 표시하고 있는 외부 환경에 대한 비디오의 장면(또는 이미지, 프레임)과 저장된 비디오 데이터(또는 3D 미디어 콘텐츠, 3D 비디오, 다른 비디오)의 장면(또는 이미지, 프레임) 사이의 유사도를 이용하여, 유사한 공간을 나타내는 비디오 데이터(또는 다른 비디오)의 장면을 표시할 수 있다. 이 때, 상기 저장된 비디오의 프레임에 대응하는 타이밍은, 현재 표시 중인 외부 환경에 대한 비디오의 프레임에 따라 결정될 수 있다. 또한, 외부 환경에 대한 비디오 상에서 표시될 저장된 비디오를 나타내는 시각적 객체는, 저장된 비디오의 프레임 내 오브젝트들의 배치에 따라 결정될 수 있다. 이에 따라, 본 개시에 따른 장치, 방법 및 저장 매체는, 비디오 데이터(또는 3D 미디어 콘텐츠)가 촬영될 시점(time point)의 환경과 상기 환경 내의 오브젝트들(또는 피사체들)을, 현재 사용자가 보고 있는 환경 내에 적절한 공간 도메인 상의 위치 및 시간 도메인 상의 위치를 이용하여 표시함으로써, 사용자에게 높은 몰입감을 제공할 수 있다. 또한, 본 개시에 따른 장치, 방법 및 저장 매체는, 사용자를 고려하여 비디오 데이터를 표시함으로써, 사용자에게 편의성을 제공할 수 있다.
이하 본 개시는, 설명의 편의를 위하여, VST(visual see-through)를 제공하는 웨어러블 장치(103)를 기준으로 서술되나, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 본 개시는, AR 환경을 제공하는 웨어러블 장치(103)에 대하여도 적용될 수 있다. 또한, 예를 들어, 본 개시는, 웨어러블 장치(103)가 아닌, 3D 미디어 콘텐츠의 재생을 지원하는 전자 장치(101)에 대하여도 적용될 수 있다.
도 6a 및 도 6b는 웨어러블 장치의 위치에 따라, 저장된 비디오 데이터를 외부 환경에 대한 비디오와 함께 재생하는 방법에 대한 예들을 도시한다.
도 6a 및 도 6b의 웨어러블 장치(103)는, 도 1의 전자 장치(101), 도 2a 내지 도 3b의 웨어러블 장치(103), 도 4의 웨어러블 장치(103)의 일 예일 수 있다. 예를 들어, 웨어러블 장치(103)는, VST를 지원하는 HMD를 포함할 수 있다.
도 6a 및 도 6b는, 웨어러블 장치(103)의 위치에 따라, 저장된 비디오 데이터를 재생하는 방법에 대한 예들(600, 650)을 도시한다. 예를 들어, 웨어러블 장치(103)는, 사용자(603)에 의해 착용될 수 있다. 예를 들어, 웨어러블 장치(103)는, 사용자(603)의 신체 부분(예: 머리 부분)에 대하여 착용될 수 있다. 예를 들어, 웨어러블 장치(103)의 상기 위치는, 사용자(603)의 위치로 참조될 수 있다.
도 6a의 예(600)를 참조하면, 웨어러블 장치(103)는, 사용자(603)가 위치한 외부 환경(605)에 대한 비디오를 획득할 수 있다. 예를 들어, 웨어러블 장치(103)는, 카메라(예: 도 4의 카메라(430) 또는 이미지 센서)를 통해, 시간의 흐름에 따라 획득되는 프레임들(또는 이미지들)을 포함하는 상기 비디오를 획득할 수 있다. 예를 들어, 외부 환경(605)은, 실제 환경 또는 물리 환경으로 참조될 수 있다. 설명의 편의를 위하여, 도 6a의 예(600)에서는, 외부 환경(605)은 거실인 경우가 도시되나, 본 개시가 이에 제한되는 것은 아니다.
예를 들어, 웨어러블 장치(103)는, 외부 환경(605)에 대한 상기 비디오를 포함하는 화면(610)을, 디스플레이(예: 도 4의 디스플레이(250))를 통해, 표시할 수 있다. 화면(610)을 참조하면, 외부 환경(605)에 대응하는 비디오(615)는, 웨어러블 장치(103)의 디스플레이(250)를 통해 표시될 수 있다. 예를 들어, VST를 제공하는 웨어러블 장치(103)의 경우, 비디오(615)는, 외부 환경(605)을 나타내는 프레임들(또는 이미지들)을 포함할 수 있다.
예를 들어, 웨어러블 장치(103)는, 비디오(615)를 표시하는 동안, 웨어러블 장치(103) 내에 저장된 비디오 데이터(630)를 확인할 수 있다. 예를 들어, 저장된 비디오 데이터(630)는, 웨어러블 장치(103)가 비디오(615)를 표시하는 타이밍 이전에 획득되어 저장될 수 있다. 예를 들어, 웨어러블 장치(103)는, 비디오(615)에서 나타내는 환경(예: 외부 환경(605)))과 유사한 환경을 나타내는 비디오 데이터(630)를 식별할 수 있다. 예를 들어, 웨어러블 장치(103)는, 웨어러블 장치(103)의 위치를 식별하고, 웨어러블 장치(103)의 위치와 비디오 데이터(630)의 위치 정보를 비교함으로써, 비디오 데이터(630)를 식별할 수 있다. 예를 들어, 비디오 데이터(630)의 상기 위치 정보는, GPS에 기반한 지오태그(geotag)를 포함할 수 있다.
예를 들어, 도 10a에서 도시되는 바와 같이, 웨어러블 장치(103)는, 비디오 데이터 세트 중 비디오 데이터(630)를 식별하고, 비디오 데이터(630)와 비디오(615)의 비교를 수행할 수 있다. 예를 들어, 웨어러블 장치(103)는, 비디오(615)의 프레임들 중 키 프레임(이하, 제1 키 프레임) 및 비디오 데이터(630)의 프레임들 중 하나 이상의 키 프레임들 사이를 비교할 수 있다. 예(600)에서는, 하나 이상의 키 프레임들이 3개의 키 프레임들(631, 632, 633)을 포함하는 경우가 도시되나, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 키 프레임(631)은, 소파를 포함하는 거실을 나타낼 수 있다. 예를 들어, 키 프레임(632)은, 아이들을 포함하는 거실을 나타낼 수 있다. 예를 들어, 키 프레임(633)은, 부엌을 나타낼 수 있다. 예를 들어, 웨어러블 장치(103)는, 비디오 데이터(630)의 키 프레임들(631, 632, 633) 각각과 비디오(615)의 상기 제1 키 프레임 사이의 유사도(또는 유사도 값)를 식별하고, 식별된 유사도(또는, 유사도 값)에 기반하여 키 프레임(632)을 식별(또는 선택)할 수 있다. 키 프레임들(631, 632, 633) 중에서 비디오 데이터(630)의 키 프레임(632)은, 상기 제1 키 프레임에 대하여 가장 유사한 키 프레임을 나타낼 수 있다. 예를 들어, 키 프레임(632)은, 이하, 제2 키 프레임(632)으로 참조될 수 있다.
도 6b는, 예(650)를 참조하면, 웨어러블 장치(103)는, 사용자(603)가 위치한 외부 환경(605)에 대한 비디오를 획득할 수 있다. 도 6b의 예(650)에서, 획득되는 비디오가 나타내는 외부 환경(605)은, 도 6a의 예(600)에서 획득되는 비디오가 나타내는 외부 환경(605)과 실질적으로 동일할 수 있다. 예를 들어, 웨어러블 장치(103)는, 카메라(예: 도 4의 카메라(430) 또는 이미지 센서)를 통해, 시간의 흐름에 따라 획득되는 프레임들(또는 이미지들)을 포함하는 상기 비디오를 획득할 수 있다. 예를 들어, 외부 환경(605)은, 실제 환경 또는 물리 환경으로 참조될 수 있다. 설명의 편의를 위하여, 도 6b의 예(650)에서는, 외부 환경(605)은 거실인 경우가 도시되나, 본 개시가 이에 제한되는 것은 아니다.
예(650)를 참조하면, 웨어러블 장치(103)는, 외부 환경(605)에 대한 상기 비디오를 포함하는 화면(660)을, 디스플레이(250)를 통해, 표시할 수 있다. 화면(660)을 참조하면, 외부 환경(605)에 대응하는 비디오(615)는, 웨어러블 장치(103)의 디스플레이(250)를 통해 표시될 수 있다. 예를 들어, VST를 제공하는 웨어러블 장치(103)의 경우, 비디오(615)는, 외부 환경(605)을 나타내는 프레임들(또는 이미지들)을 포함할 수 있다.
예를 들어, 웨어러블 장치(103)는, 비디오(615)와 함께, 시각적 객체(665)를 표시할 수 있다. 예를 들어, 시각적 객체(665)는, 제2 키 프레임(632)에 대응하는 타이밍으로부터 재생되는 비디오 데이터(630)를 나타낼 수 있다. 예를 들어, 시각적 객체(665)는, 3D 미디어 콘텐츠(또는 3D 비디오)일 수 있다. 예를 들어, 시각적 객체(665)는, 프레임에서 표시되는 오브젝트들 중 적어도 일부를 포함할 수 있다. 예(650)에서, 시각적 객체(665)는, 제2 키 프레임(632) 내 오브젝트(예: 아이들)를 포함할 수 있다. 예를 들어, 시각적 객체(665)의 비디오(615) 내의 공간적인 위치는, 제2 키 프레임(632) 내 오브젝트(예: 아이들)의 배치(또는 공간 상의 위치)에 따라 결정될 수 있다. 예를 들어, 시각적 객체(665)는, 비디오(615)에 대하여 적어도 일부 중첩될 수 있다.
상술한 바를 참조하면, 웨어러블 장치(103)는, 비디오(615)의 상기 제1 키 프레임과 비디오 데이터(630)의 제2 키 프레임(632) 사이의 유사도(또는 유사도 값)이 기준 값을 초과하는 경우, 제2 키 프레임(632)에 대응하는 타이밍으로부터 재생되는 비디오 데이터(630)를 나타내는 시각적 객체(665)를 표시할 수 있다. 다시 말해서, 웨어러블 장치(103)는, 비디오(615)와 비디오 데이터(630)(또는 다른 비디오) 사이의 공간 상의 위치를 고려하여 유사도를 판단한 후, 비디오(615)와 함께 비디오 데이터(630)를 통해 생성되는 시각적 객체(665)(또는 3D 미디어 콘텐츠)를 유사한 시간 상의 위치(또는 타이밍)로부터 재생할 수 있다. 이하 도 7a 내지 도 7d는, 웨어러블 장치(103) 내에 저장된 비디오 데이터(630)를 생성하는 방법에 대한 구체적인 예시가 서술된다. 이하, 도 8a 내지 도 8c는, 시각적 객체(665)를 비디오(615)와 함께 표시(또는 재생)하는 방법에 대한 구체적인 예시가 서술된다.
도 7a는 외부 환경에 대한 비디오에 대한 처리를 수행함으로써 비디오 데이터를 생성하고 저장하는 방법에 대한 동작 흐름의 예를 도시한다.
도 7a의 상기 방법 중 적어도 일부는, 도 4의 웨어러블 장치(103)에 의해 수행될 수 있다. 예를 들어, 상기 방법 중 적어도 일부는, 웨어러블 장치(103)의 프로세서(410)에 의해 제어될 수 있다. 이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다.
동작(700)에서, 웨어러블 장치(103)는, 3D 미디어 컨텐츠의 획득을 위한 소프트웨어 어플리케이션을 실행할 수 있다. 예를 들어, 웨어러블 장치(103)는, 외부 환경에 대한 비디오를 이용하여, 3D 미디어 컨텐츠를 획득(또는, 생성)하기 위한 상기 소프트웨어 어플리케이션(또는, 3D 미디어 컨텐츠 촬영 어플리케이션)을 실행할 수 있다. 예를 들어, 웨어러블 장치(103)는, 사용자의 적어도 하나의 입력에 기반하여, 상기 3D 미디어 컨텐츠 촬영 어플리케이션을 실행할 수 있다.
동작(705)에서, 웨어러블 장치(103)는, 복수의 프레임들을 포함하는 비디오를 획득할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 3D 미디어 컨텐츠 촬영 어플리케이션의 실행에 기반하여, 카메라(430)를 통해 상기 복수의 프레임들(또는 이미지들)을 포함하는 상기 비디오를 획득할 수 있다. 예를 들어, 상기 비디오는, 녹화될(recorded)(또는 촬영될(shoot)) 수 있다. 예를 들어, 상기 복수의 프레임들의 개수는, 상기 비디오가 녹화되는 프레임율(frame rate)에 따라 결정될 수 있다. 예를 들어, 상기 프레임율이 60fps인 경우, 30초의 길이를 갖는 상기 비디오는, 1800개의 프레임들을 가질 수 있다.
동작(710)에서, 웨어러블 장치(103)는, 상기 비디오의 하나 이상의 키 프레임들을 식별하고, 상기 비디오에 대한 이동 궤적을 생성할 수 있다. 예를 들어, 웨어러블 장치(103)는, SLAM(simultaneous localization and mapping)에 기반하여, 상기 하나 이상의 키 프레임들을 식별하고(또는 선택하고) 상기 이동 궤적을 생성할 수 있다.
예를 들어, 웨어러블 장치(103)는, 상기 비디오의 상기 복수의 프레임들 중 상기 하나 이상의 키 프레임들을 식별할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 비디오의 상기 복수의 프레임들 중 상기 하나 이상의 키 프레임들을 선택(또는, 식별, 결정)할 수 있다. 상기 하나 이상의 키 프레임들을 선택하는 방법에 대한 구체적인 내용은, 이하 도 7b 및 도 7c가 참조될 수 있다.
도 7b는 비디오에 포함되는 프레임들 중 키 프레임을 결정하는 방법에 대한 예를 도시한다. 도 7b는 웨어러블 장치(103)의 카메라(430)를 통해 시간의 흐름에 따라 획득되는 비디오(730)의 예를 도시한다. 예를 들어, 비디오(730)는, 도 6a의 비디오 데이터(630)에 대응하는 비디오를 나타낼 수 있다. 다만, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 비디오(730)에 대한 설명은, 현재 촬영중인(또는 보여지는) 비디오(예: 도 6a의 비디오(615))에 대하여도 실질적으로 동일하게 적용될 수 있다.
도 7b를 참조하면, 비디오(730)는, 시간의 흐름에 따른 복수의 프레임들(731, 732, 733, 734, 735)을 포함할 수 있다. 예를 들어, 비디오(730)에 포함되는 복수의 프레임들(731, 732, 733, 734, 735)의 개수는, 카메라(430)(또는 웨어러블 장치(103))의 프레임율에 따라 결정될 수 있다.
예를 들어, 복수의 프레임들(731, 732, 733, 734, 735) 중 하나 이상의 키 프레임들이 결정(또는 선택)될 수 있다. 예를 들어, 웨어러블 장치(103)는, 복수의 프레임들(731, 732, 733, 734, 735) 각각의 키 포인트들을 추출하고, 각 프레임의 키 포인트들을 이용하여 키 프레임을 선택할 수 있다. 예를 들어, 웨어러블 장치(103)는, 복수의 프레임들(731, 732, 733, 734, 735) 중에서 프레임들(732, 734, 735)을 키 프레임들로 결정할 수 있다.
예를 들어, 웨어러블 장치(103)는, 복수의 프레임들(731, 732, 733, 734, 735) 각각의 프레임 내 키 포인트들을 추출할 수 있다. 예를 들어, 웨어러블 장치(103)는, 키 포인트 검출 알고리즘을 이용하여, 키 포인트들을 추출(또는 식별)할 수 있다. 예를 들어, 상기 키 포인트 검출 알고리즘은, scale invariant feature transform(SIFT), Harris corner detection, Features from accelerated segment test(FAST), 또는 Oriented FAST and Rotated BRIEF(ORB)을 포함할 수 있다. 다만, 본 개시가 이에 제한되는 것은 아니다. 상기 키 포인트 검출 알고리즘은, 프레임의 키 포인트들(또는 특징 값들)을 추출하는 다른 알고리즘을 더 포함할 수 있다.
예(740)를 참조하면, 프레임(731)은, 키 포인트들(741)을 포함할 수 있다. 예를 들어, 키 포인트들(741)은, 프레임(731)에 대하여 검출된 키 포인트들을 나타낼 수 있다. 또한, 예(750)를 참조하면, 프레임(734)은, 키 포인트들(751)을 포함할 수 있다. 예를 들어, 키 포인트들(751)은, 프레임(734)에 대하여 검출될 키 포인트들을 나타낼 수 있다.
예를 들어, 웨어러블 장치(103)는, 복수의 프레임들(731, 732, 733, 734, 735) 중에서 기준을 만족하는 프레임을, 키 프레임으로 결정(또는 선택, 식별)할 수 있다. 예를 들어, 상기 기준은, 프레임 내의 키 포인트들의 개수가 기준 개수 이상인 것, 프레임에 의해 대응하는 타이밍(또는 타임스탬프(timestamp))과 키 프레임으로 결정된 프레임에 대응하는 타이밍 사이의 시간 간격이 기준 시간 간격 이상인 것, 또는, 프레임에 의해 지시되는 외부 환경의 영역 내에 웨어러블 장치(103)가 위치된 시간 길이가 기준 시간 길이 이상인 것을 포함할 수 있다. 다만, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 상기 기준은, 이전에 결정된 키 프레임에서 추출된 키 포인트들과 현재 프레임에서 추출된 키 포인트들 사이의 매칭된 키 포인트들의 개수가 다른 기준 개수 이하인 경우를 포함할 수 있다. 예를 들어, 상기 다른 기준 개수는, 상기 기준 개수와 상이할 수 있다. 예를 들어, 웨어러블 장치(103)는, 키 포인트들의 신뢰도에 더 기반하여 키 프레임을 결정할 수 있다. 예를 들어, 기준 신뢰도 이상을 갖는 키 포인트들의 개수가 상기 기준 개수 이상인 경우, 웨어러블 장치(103)는, 해당 프레임을 키 프레임으로 결정할 수 있다.
예(740) 및 예(750)를 참조하면, 웨어러블 장치(103)는, 상기 기준 개수 미만인 키 포인트들(741)을 포함하는 프레임(731)을 키 프레임으로 결정하지 않을(또는 삼가할) 수 있다. 이와 달리, 웨어러블 장치(103)는, 상기 기준 개수 이상인 키 포인트들(751)을 포함하는 프레임(734)을 키 프레임으로 결정(또는, 선택, 식별)할 수 있다.
도 7b를 참조하면, 웨어러블 장치(103)는, 키 프레임으로 결정된 프레임(734)에 대응하는 타이밍으로부터 기준 시간 간격 이상 이격된 타이밍에 위치된 프레임(735)을 키 프레임으로 결정할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 기준 시간 간격(예: 2 프레임) 이상 이격된 타이밍에 위치된 프레임(735)을 키 프레임으로 결정할 수 있다. 이 때, 프레임(735)은, 상기 기준 개수 이상인 키 포인트들을 포함할 수 있다. 일 예에서, 상기 키 포인트들의 개수는, 기준 신뢰도 이상인 키 포인트들의 개수를 나타낼 수 있다. 상기 기준 시간 간격은, 유사한 공간에 대하여 불필요하게 중복된 키 프레임들이 선택되는 것을 줄이기 위해 이용될 수 있다.
상술한 바를 참조하면, 웨어러블 장치(103)는, 프레임의 키 포인트들을 검출하고, 키 포인트들을 이용하여 비디오(또는 비디오 데이터)이 하나 이상의 키 프레임들을 결정(또는 선택, 식별)할 수 있다. 프레임의 상기 키 포인트들에 대한 예시는, 이하 도 7c가 참조될 수 있다.
도 7c는 프레임의 키 포인트들의 예를 도시한다.
도 7c는 복수의 키 포인트들(761a, 762a)을 포함하는 프레임(760)의 예를 도시한다. 예를 들어, 프레임(760)은, 특정 타이밍에서 외부 환경을 나타내는 이미지를 포함할 수 있다. 도 7c의 예에서는, 거실의 일부를 나타내는 상기 외부 환경의 프레임(760)이 도시되나, 본 개시가 이에 제한되는 것은 아니다.
예를 들어, 웨어러블 장치(103)는, 키 프레임 추출 알고리즘에 기반하여, 프레임(760)의 키 포인트들(761a, 762a)을 검출(또는 추출, 식별)할 수 있다. 도 7c의 예에서는, 웨어러블 장치(103)가 하나의 프레임(760)에 대하여 검출을 수행하는 예가 서술되나, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 웨어러블 장치(103)는, 비디오(또는 비디오 데이터)의 복수의 프레임들 각각에 대한 검출을 수행할 수 있다.
예를 들어, 웨어러블 장치(103)는, 프레임(760) 내 적어도 하나의 오브젝트의 모양(shape)에 따라 키 포인트들(761a, 762a)을 검출할 수 있다. 예를 들어, 웨어러블 장치(103)는, 오브젝트(761)(예: 쿠션)의 외관을 따라 형성되는 키 프레임들(761a)을 검출할 수 있다. 예를 들어, 웨어러블 장치(103)는, 프레임(760) 내 오브젝트(예: 모서리(corner) 부분)를 따라 형성되는 키 포인트들(762a)을 검출할 수 있다. 일 예에서, 웨어러블 장치(103)는, 키 프레임을 결정하는 경우, 보다 안정적인 비교를 수행하기 위해, 프레임 내 오브젝트 중 정적 오브젝트에 대한 키 프레임들을 검출할 수 있다. 예를 들어, 프레임 내 동적 오브젝트는, 추후 3D 미디어 콘텐츠(또는 3D 비디오)를 나타내는 시각적 객체(예: 도 6b의 시각적 객체(665))를 표시하는 타이밍에서는, 해당 공간에 더 이상 존재하지 않을 수 있는 바, 상기 동적 오브젝트의 키 포인트들은, 키 프레임의 검출을 위해 이용되는 키 포인트들로 이용되지 않을 수 있다. 다시 말해서, 웨어러블 장치(103)는, 프레임(760) 내 동적 오브젝트 및 정적 오브젝트 중 정적 오브젝트의 키 포인트들인 키 포인트들(761a, 762a)을 검출할 수 있다.
예를 들어, 웨어러블 장치(103)는, 프레임(760)을 키 프레임으로 결정할 수 있다. 이 때, 상기 키 프레임인 프레임(760)의 순서를 지시하는 정보와 함께, 키 포인트들(761a, 762a)에 대한 정보를 함께 저장할 수 있다. 예를 들어, 상기 순서를 지시하는 정보는, 비디오의 전체 프레임들 중 프레임(760)의 순서를 지시할 수 있다. 예를 들어, 비디오가 1800개의 프레임들을 포함하고, 프레임(760)이 100번째 프레임인 경우, 상기 순서를 지시하는 정보는, 100을 지시할 수 있다. 이 때, 웨어러블 장치(103)는, 100을 지시하는 정보와 함께 키 포인트들(761a, 762a)에 대한 정보를 저장할 수 있다.
예를 들어, 키 포인트들(761a, 762a)에 대한 정보는, 키 포인트를 추출하기 위해 사용된 알고리즘(또는 키 포인트 추출 알고리즘)으로부터 획득된 정보와 키 포인트 간 매칭(또는 매핑)을 위해 이용되는 정보를 포함할 수 있다. 상기 매칭을 위해 이용되는 정보는, 각 키 포인트에 대한 디스크립터(descriptor) 또는 패치(patch)로 참조될 수 있다. 예를 들어, 상기 디스크립터는, 벡터 값을 포함할 수 있다. 또한, 예를 들어, 키 포인트들(761a, 762a)에 대한 정보는, 각 키 포인트가 검출된 위치의 프레임의 일부를 포함할 수 있다. 예를 들어, 키 포인트들(761a) 각각의 위치로부터 정의되는 지정된 사이즈를 갖는 영역 정보를 포함할 수 있다. 예를 들어, 상기 영역 정보는, 21x21 픽셀 크기(상기 지정된 사이즈)의 프레임(또는 이미지)를 포함할 수 있다. 상기 예는, 설명의 편의를 위한 예시적인 것에 불과할 뿐, 본 개시가 이에 제한되는 것은 아니다.
다시 도 7a를 참조하면, 웨어러블 장치(103)는, 웨어러블 장치(103)의 위치에 대한 데이터를 이용하여, 상기 비디오에 대한 상기 이동 궤적을 생성할 수 있다. 예를 들어, 웨어러블 장치(103)의 상기 위치에 대한 상기 데이터는, 웨어러블 장치(103)가 센서(420) 및/또는 카메라(430)를 통해 획득된 데이터를 포함할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 위치에 대한 상기 데이터를 이용하여, 웨어러블 장치(103)가 위치되는 공간(예: 외부 환경)에 대한 공간 좌표계를 구성하고, 웨어러블 장치(103)가 상기 공간 좌표계 상의 위치 및 회전 방향(예: 6 dof)을 계산할 수 있다. 예를 들어, 웨어러블 장치(103)는, 최초 시점에서 상기 공간 좌표계 상의 위치 및 회전 방향을 원점(P0)으로 설정하고, 웨어러블 장치(103)의 이동(또는 사용자에 의한 이동)에 따라 상기 공간 좌표계 상의 변경된 위치 및 회전 방향(P1)을 계산할 수 있다. 예를 들어, 상기 이동은, x, y, z 축에 대하여 정의될 수 있다. 예를 들어, 상기 변경된 위치 및 회전 방향(P1)은, 지정된 주기(예: 1ms) 마다 계산될 수 있다. 예를 들어, 웨어러블 장치(103)는, 동작(705)에서 상기 비디오를 획득하는 동안, 상기 변경된 위치 및 회전 방향(P1)을 포함하는 위치 및 회전 방향에 대한 세트를 계산할 수 있다. 예를 들어, 위치 및 회전 방향에 대한 상기 세트는, 상기 비디오의 획득 시간 내에서 마지막에 계산된(또는 식별된) 위치 및 회전 방향(Px)을 포함할 수 있다.
예를 들어, 웨어러블 장치(103)는, 위치 및 회전 방향에 대한 상기 세트를 포함하는 상기 이동 궤적을 계산(또는 식별)할 수 있다. 예를 들어, 웨어러블 장치(103)는, 위치 및 회전 방향에 대한 상기 세트와 함께, 센서(420)에 의해 획득된 데이터의 에러, 카메라(430)에 의해 획득되는 데이터의 노이즈 및 처리 에러에 더 기반하여, 상기 이동 궤적을 계산할 수 있다. 예를 들어, 웨어러블 장치(103)는, 센서(420)에 의해 획득된 데이터의 에러, 카메라(430)에 의해 획득되는 데이터의 노이즈 및 처리 에러를 제거하는 추가적인 처리를 수행할 수 있다. 예를 들어, 동작(705)의 상기 비디오에서 촬영되는(획득되는) 외부 환경이 동작(705) 이전에도 촬영된 경우, 이전의 다른 비디오(또는 비디오 데이터)가 획득되는 동안의 획득된 위치 및 회전 방향은, 동작(705)의 상기 비디오에서 획득되는 동안의 획득된 위치 및 회전 방향과 동일할 필요가 있다. 따라서, 웨어러블 장치(103)는, 외부 환경에 대한 방문 기록을 확인하고, 두 시점(time point)들 간 위치 및 회전 방향의 차이를 계산하고, 계산 결과에 따른 오차 보정을 수행함으로써, 센서(420)에 의해 획득된 데이터의 에러, 카메라(430)에 의해 획득되는 데이터의 노이즈 및 처리 에러를 줄일 수 있다.
동작(715)에서, 웨어러블 장치(103)는, 상기 하나 이상의 키 프레임들 및 상기 이동 궤적을 이용하여 상기 비디오를 재구성(reconstruct)하고 비디오 데이터를 저장할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 하나 이상의 키 프레임들 및 상기 이동 궤적을, 상기 재구성된 비디오를 이용하여 생성된 상기 비디오 데이터와 함께 저장할 수도 있다.
예를 들어, 웨어러블 장치(103)는, 상기 하나 이상의 키 프레임들 및 상기 이동 궤적을 이용하여 상기 비디오를 재구성할 수 있다. 예를 들어, 상기 비디오의 재구성은, 재구성 기법(예: 가우시안 스플레팅(Gaussian splatting), Nerf(neural radiance fields))이 이용될 수 있다. 다만, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 웨어러블 장치(103)는, 상기 하나 이상의 키 프레임들(또는 상기 비디오의 프레임들)을 이용하여 상기 비디오를 재구성할 수 있다. 다시 말해서, 웨어러블 장치(103)는, 상기 이동 궤적을 이용하지 않고, 상기 비디오의 재구성을 수행할 수도 있다.
예를 들어, 웨어러블 장치(103)는, 상기 비디오의 재구성을 수행함으로써, 외부 환경의 일부를 나타내는 상기 비디오가 획득된(촬영된) 뷰포인트(viewpoint)와 상이한 다른(another) 뷰포인트에서 상기 외부 환경의 상기 일부를 나타내는 다른 비디오를 생성할 수 있는 상기 비디오 데이터를 생성할 수 있다. 예를 들어, 상기 비디오 데이터는, 상기 뷰포인트에서 상기 일부를 나타내는 이미지(또는 2D 이미지), 상기 뷰포인트에 대응하는 웨어러블 장치(103)의 공간 좌표계 상 위치 및 회전 정보, 포인트 클라우드(point cloud), 깊이 맵, 3D 메쉬(mesh), 또는 복셀(voxel) 중 적어도 하나를 포함할 수 있다. 상기 비디오의 재구성에 따라 생성되는 상기 비디오 데이터의 정보에 대한 구체적인 내용은, 이하 도 7d가 참조될 수 있다.
도 7d는 재구성된 비디오 데이터를 이용하여 3D 미디어 컨텐츠에 대한 기준 영역을 식별하는 방법에 대한 예를 도시한다. 도 7d를 참조하면, 웨어러블 장치(103)는, 비디오(예: 3D 미디어 콘텐츠, 또는 3D 비디오)를 획득하고, 획득된 비디오에 대한 재구성을 수행하는 방법에 대한 예들(780, 790)을 도시한다. 도 7d에서는, 재구성된 비디오 데이터를 이용하여 3D 미디어 컨텐츠에 대한 기준 영역을 식별하는 방법이 예시되나, 본 개시가 이에 제한되는 것은 아니다. 제한하지 않는 예로, 3D 가우시안 스플레팅, Nerf, 인스턴트 뉴럴 그래픽스 프리미티브(instance neural graphics primitives)가 이용될 수도 있다.
예(780)는, 웨어러블 장치(103)가 3D 미디어 컨텐츠의 획득을 위한 소프트웨어 어플리케이션의 실행에 따라 획득된(또는 촬영된) 비디오를 도시한다. 예(780)를 참조하면, 상기 비디오는, 뷰포인트(781)에서 방향(783)을 바라보는 경우의 외부 환경에 대한 프레임(또는 이미지)를 포함할 수 있다. 예(780)에서는, 특정 타이밍의 상기 비디오에 대한 예로써, 프레임이 도시되나, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 상기 비디오는, 복수의 프레임들을 포함할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 비디오에 대한 재구성을 수행함으로써, 오브젝트들(785, 786, 787)을 구별(또는 분리)할 수 있다. 예를 들어, 오브젝트들(785, 786, 787)은 정적 오브젝트일 수 있다. 다만, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 웨어러블 장치(103)는, 상기 비디오에 대한 재구성을 수행함으로써, 깊이 맵을 생성할 수 있다. 예를 들어, 상기 깊이 맵은, 오브젝트들(785, 786, 787) 간의 깊이 정보를 포함할 수 있다. 예를 들어, 뷰포인트(781)를 기준으로, 오브젝트(785)는 오브젝트(786) 보다 가깝게 위치될 수 있고, 오브젝트(786)는 오브젝트(787) 보다 가깝게 위치될 수 있다. 예를 들어, 웨어러블 장치(103)는, 오브젝트들(785, 786, 787)을 구별하기 위해, 3D 매쉬 및/또는 복셀을 생성할 수 있다.
예(790)는, 웨어러블 장치(103)는, 상기 비디오의 재구성에 따라 생성되는 이미지(또는 2D 이미지)를 도시한다. 예를 들어, 웨어러블 장치(103)는, 상기 비디오의 상기 재구성을 수행함으로써, 뷰포인트(781)에서 상기 외부 환경을 바라본 2D 이미지를 생성할 수 있다. 예를 들어, 상기 2D 이미지는, 오브젝트들(795, 796, 797)을 포함할 수 있다. 예를 들어, 오브젝트(795)는 오브젝트(785)에 대응할 수 있다. 예를 들어, 오브젝트(796)는 오브젝트(786)에 대응할 수 있다. 예를 들어, 오브젝트(797)는 오브젝트(787)에 대응할 수 있다.
도 7d에서 도시된 바와 같이, 웨어러블 장치(103)는, 3D 미디어 콘텐트인 상기 비디오를 획득하고, 재구성함으로써 상기 비디오에 대한 정보를 생성할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 정보를 포함하는, 상기 비디오에 대응하는 비디오 데이터를 웨어러블 장치(103) 내에 저장할 수 있다.
일 예에서, 웨어러블 장치(103)는, 상기 비디오에 대한 재구성을 수행함에 따라, 프레임 내의 오브젝트들을 분리할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 재구성을 수행함에 따라, 오브젝트들 중 주변 환경을 나타내는 오브젝트(또는 서브 오브젝트(sub object))와, 상기 비디오의 촬영 대상을 나타내는 오브젝트(또는 주요 오브젝트(main object))를 구별할 수 있다. 예를 들어, 상기 주요 오브젝트는, 상기 비디오를 촬영하기 전 또는 촬영하는 동안 웨어러블 장치(103)의 촬영자에 의해 결정(또는 선택, 식별)될 수 있다. 일 예에서, 웨어러블 장치(103)는, 주요 오브젝트로 이용될 수 있는 하나 이상의 후보 오브젝트들을 시각적으로 강조하여 표시하고, 상기 하나 이상이 후보 오브젝트들 중 하나의 주요 오브젝트에 대한 입력을 획득함으로써, 상기 주요 오브젝트를 결정(또는 선택, 식별)할 수도 있다.
다시 도 7a를 참조하면, 예를 들어, 웨어러블 장치(103)는, 상기 비디오의 재구성을 수행함으로써, 상기 비디오의 프레임들 내에 포함되는 오브젝트의 구분을 수행할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 비디오의 상기 재구성에 따라, 프레임 내의 오브젝트를 동적 오브젝트 및 정적 오브젝트로 구별할 수 있다. 예를 들어, 상기 동적 오브젝트는, 이동가능한 오브젝트(예: 사람, 동물, 움직이는 장치)를 포함할 수 있다. 예를 들어, 상기 정적 오브젝트는, 이동이 불가능한 오브젝트(예: 가구, 벽, 나무)를 포함할 수 있다. 예를 들어, 구별된 오브젝트에 대한 정보는, 상기 비디오 데이터에 포함될 수 있다.
동작(720)에서, 웨어러블 장치(103)는, 시각적 객체를 시청할 수 있는 외부 환경 내의 기준 영역을 식별할 수 있다. 예를 들어, 상기 기준 영역은, 기준 품질 이상의 품질을 갖는 상기 시각적 객체를 시청할 수 있는, 웨어러블 장치(103)(또는 웨어러블 장치(103)의 사용자)의 상기 외부 환경의 영역(또는 위치들의 집합)을 나타낼 수 있다. 예를 들어, 상기 기준 영역은, 시청 가능 영역, 또는, 시청 영역으로 참조될 수 있다. 예를 들어, 상기 시각적 객체는, 3D 미디어 컨텐츠인 상기 비디오를 재생(또는 표시) 시, 상기 외부 환경에 대한 다른 비디오(또는 이미지)와 함께 표시되는 시각적 정보를 나타낼 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 비디오 데이터를 이용하여, 상기 시각적 객체를 식별할 수 있는 상기 기준 영역을 식별할 수 있다.
예를 들어, 상기 기준 영역은, 비대칭 형상을 가질 수 있다. 예를 들어, 상기 비디오 데이터를 이용하여, 상기 시각적 객체에 대응하는 오브젝트의 완전한 형상을 식별하기 어려운 경우, 상기 기준 영역은 상기 비대칭 형상을 가질 수 있다. 예를 들어, 상기 비디오 데이터가 상기 오브젝트에 대한 제1 방향(또는 뷰포인트)(예: 정면)에 대한 정보만을 포함하는 경우, 상기 비디오 데이터에 대한 재구성을 수행하더라도, 상기 오브젝트에 대한 제2 방향(또는 뷰포인트)(예: 뒷면)에 대한 분석은 수행되지 않을 수 있다. 이에 따라, 웨어러블 장치(103)가 상기 비디오 데이터를 이용하여 상기 오브젝트에 대한 재구성을 수행하더라도, 뒷면에서 바라본 상기 오브젝트의 형상은 불완전하게 구성될 수 있는 바, 상기 기준 영역은 상기 제2 방향의 영역(또는 부분)이 상기 제1 방향의 영역(또는 부분) 보다 좁게 형성될 수 있다.
이와 달리, 상기 기준 영역은, 대칭 형상을 가질 수 있다. 예를 들어, 장치(103)는, 상기 비디오 데이터를 이용하여 상기 시각적 객체에 대응하는 오브젝트의 완전한 형상을 식별하거나 상기 비디오 데이터가 충분한 경우, 상기 기준 영역은, 상기 외부 환경 상의 상기 오브젝트에 대응하는 위치(또는 좌표)를 중심으로 지정된 거리 내에 포함되는 공간상의 위치들(또는 좌표들)의 집합을 포함할 수 있다. 예를 들어, 상기 기준 영역은, 구의 형상을 가질 수 있다. 상기 오브젝트에 대응하는 위치는, 웨어러블 장치(103)의 센서(420) 및/또는 카메라(430)를 통해 획득(또는 계산)될 수 있다.
예를 들어, 상기 기준 영역은, 웨어러블 장치(103)에 의해 획득되는 상기 시각적 객체의 품질 및 상기 기준 품질에 기반하여 결정될 수 있다. 예를 들어, 상기 기준 영역은, 상기 시각적 객체의 상기 품질이 상기 기준 품질 이상을 갖는 하나 이상의 뷰포인트들의 집합을 이용하여 식별될 수 있다. 예를 들어, 상기 재구성에 따라 생성된 상기 비디오 데이터에 포함되는 복셀은, 상기 비디오로부터 획득되는 제1 복셀과, 상기 제1 복셀로부터 새롭게 생성된(또는 재구성된) 제2 복셀을 포함할 수 있다. 예를 들어, 웨어러블 장치(103)는, 특정 뷰포인트에서 바라본 이미지(예: 3D 미디어 컨텐츠인 상기 비디오의 2차원 사상(reprojection)의 결과)에 대하여, 각 픽셀이 상기 제1 복셀로부터 획득되는 것인지 상기 제2 복셀로부터 획득된 것인지 여부를 결정할 수 있다. 다시 말해서, 웨어러블 장치(103)는, 상기 이미지 내의 모든 픽셀들 각각이, 상기 제1 복셀로부터 계산되는지 또는 상기 제2 복셀로부터 계산되는지 여부를 식별하거나, 상기 모든 픽셀들 중에서 상기 제1 복셀(또는 상기 제2 복셀)로부터 계산된 비율을 식별할 수 있다. 예를 들어, 상기 제2 복셀로부터 계산된 픽셀의 수가 기준 개수를 초과하는 경우, 상기 특정 뷰포인트에서 바라본 이미지는, 사용자에게 어색함을 야기할 수 있다. 이에 따라, 웨어러블 장치(103)는, 복수의 뷰 포인트들 중 상기 제2 복셀로부터 계산될 픽셀의 수가 상기 기준 개수 이하인 하나 이상의 뷰포인트들의 집합을 이용하여, 상기 기준 영역을 식별할 수도 있다.
예를 들어, 상기 기준 영역은, 하나 이상의 키 프레임들 각각에 대하여 계산될 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 비디오의 복수의 프레임들 중 상기 하나 이상의 키 프레임들 각각에 대하여 식별될 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 복수의 프레임들 중 상기 하나 이상의 키 프레임들 외의 프레임들(또는 나머지 프레임, 일반 프레임) 각각의 기준 영역은, 상기 하나 이상의 키 프레임들을 이용한 보간(interpolation)을 통해 식별될 수 있다.
예를 들어, 웨어러블 장치(103)는, 식별된 기준 영역을, 상기 비디오 데이터와 함께 저장할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 기준 영역에 대한 정보를, 상기 비디오 데이터와 함께 웨어러블 장치(103) 내에 저장할 수 있다.
도 7a 내지 도 7d를 참조하면, 웨어러블 장치(103)는, 외부 환경에 대한 비디오(또는, 3D 미디어 콘텐츠, 3D 비디오)를 획득(또는 촬영)하고, 상기 비디오에 대한 재구성을 수행함으로써 생성된 비디오 데이터를 저장할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 비디오 데이터에 대한 기준 영역을 식별하고, 상기 기준 영역에 대한 정보를 저장할 수 있다. 이 후, 웨어러블 장치(103)가 상기 외부 환경에 위치된 경우, 사용자의 요청에 따라, 웨어러블 장치(103)는, 저장된 비디오 데이터를 나타내는 시각적 객체(또는 3D 미디어 콘텐츠, 3D 비디오)를 재생(또는, 표시, 플레이백)할 수 있다. 예를 들어, 저장된 비디오 데이터의 특정 프레임을 나타내는 시각적 객체는, 상기 특정 프레임에서 표시되는 오브젝트들 중 적어도 일부를 포함할 수 있다. 다시 말해서, 시각적 객체는, 상기 오브젝트들 중 상기 적어도 일부를 표시하는 3D 미디어 콘텐츠(또는 3D 비디오)를 포함할 수 있다. 상기 저장된 비디오를 나타내는 상기 시각적 객체를 재생하는 방법에 대한 구체적인 내용은, 이하 도 8a 내지 도 8c가 참조될 수 있다.
도 8a은 웨어러블 장치의 사용자의 위치에 따라, 저장된 비디오 데이터를 나타내는 시각적 객체를 표시하는 방법에 대한 동작 흐름의 예를 도시한다.
도 8a의 상기 방법 중 적어도 일부는, 도 4의 웨어러블 장치(103)에 의해 수행될 수 있다. 예를 들어, 상기 방법 중 적어도 일부는, 웨어러블 장치(103)의 프로세서(410)에 의해 제어될 수 있다. 이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다.
도 8a에서 도시하지 않았으나, 웨어러블 장치(103)는, 비디오 데이터를 저장한 상태일 수 있다. 예를 들어, 상기 비디오 데이터는, 웨어러블 장치(103)가 과거의 타이밍에서 직접 촬영(또는 획득)하거나, 웨어러블 장치(103)와 연결된 외부 전자 장치에 의해 촬영(또는 획득)된 후 웨어러블 장치(103)에게 제공될 수 있다.
동작(800)에서, 웨어러블 장치(103)는, 외부 환경에 대한 비디오를 표시할 수 있다. 이하, 본 개시에서, 상기 외부 환경에 대한 상기 비디오는, 실시간으로 표시중인 바, 라이브 비디오(live video)로 참조될 수 있다. 예를 들어, 웨어러블 장치(103)는, 카메라(430)를 통해 획득되는 상기 외부 환경에 대한 상기 비디오(또는 라이브 비디오)를 표시할 수 있다. 예를 들어, 상기 외부 환경은, 웨어러블 장치(103)(또는 웨어러블 장치(103)의 사용자)가 현재 위치되는 실제 환경(또는 물리 환경)의 공간(또는 영역)을 나타낼 수 있다.
예를 들어, 상기 외부 환경에 대한 상기 비디오는, 복수의 프레임들(또는 이미지들)을 포함할 수 있다. 예를 들어, 상기 외부 환경에 대한 상기 비디오는, 시간의 흐름에 따라 획득되는 상기 프레임들을 포함할 수 있다. 이하에서는, 설명의 편의를 위하여, 상기 외부 환경에 대한 상기 비디오는, 제1 비디오로 참조될 수 있다. 예를 들어, 상기 제1 비디오가 포함하는 상기 프레임들은, 제1 프레임들로 참조될 수 있다.
도 8a에서 도시하지 않았으나, 웨어러블 장치(103)는, 사용자의 입력(또는 요청)에 응답하여, 상기 제1 비디오를, 디스플레이(250)를 통해, 재생(또는 표시)할 수 있다. 예를 들어, 웨어러블 장치(103)는, 사용자가 웨어러블 장치(103)를 착용함을 지시하는 상기 입력에 응답하여, 상기 제1 비디오를 재생(또는 표시)할 수 있다. 예를 들어, 웨어러블 장치(103)는, 사용자가 웨어러블 장치(103)에 대한 입력을 식별함에 응답하여, 상기 제1 비디오를 재생(또는 표시)할 수 있다.
동작(805)에서, 웨어러블 장치(103)는, 3D 미디어 콘텐츠의 재생에 대한 요청을 획득할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 제1 비디오를 표시하는 동안, 웨어러블 장치(103)의 사용자로부터, 상기 3D 미디어 콘텐츠의 재생에 대한 상기 요청을 획득할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 요청에 따라 상기 3D 미디어 콘텐츠의 재생을 위한 소프트웨어 어플리케이션(이하, 3D 미디어 콘텐츠 재생 어플리케이션)을 실행할 수 있다. 상기 예에서는, 상기 제1 비디오를 표시하는 동안, 웨어러블 장치(103)가 상기 요청을 획득하는 경우가 서술되나 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 웨어러블 장치(103)는, 상기 제1 비디오를 표시하는 동시에 상기 요청을 획득하거나, 상기 제1 비디오를 표시하기 전 상기 요청을 획득할 수도 있다. 예를 들어, 상기 3D 미디어 콘텐츠는, 웨어러블 장치(103) 내에 저장된 비디오 데이터를 이용하여 생성되는 3D 비디오를 포함할 수 있다.
동작(810)에서, 웨어러블 장치(103)는, 비디오의 프레임들 각각의 키 포인트들을 식별할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 외부 환경에 대한 상기 제1 비디오의 상기 제1 프레임들 각각의 키 포인트들을 식별할 수 있다. 일 예에서, 웨어러블 장치(103)는, 상기 제1 비디오를 표시하는 동안, 상기 제1 프레임들 각각의 키 포인트들을 식별할 수 있다. 예를 들어, 상기 제1 프레임들 각각의 키 포인트들을 식별하는 것에 대한 구체적인 내용은, 상술한 도 7a, 도 7b 및 도 7c의 내용이 실질적으로 동일하게 참조될 수 있다.
동작(815)에서, 웨어러블 장치(103)는, 비디오의 제1 키 프레임(또는 제1 기준 프레임)을 결정할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 제1 비디오의 상기 제1 프레임들 중에서 상기 제1 키 프레임을 결정(또는, 선택, 식별)할 수 있다. 예를 들어, 상기 제1 키 프레임은, 상기 제1 프레임들 중에서 키 프레임으로 선택되는 프레임을 나타낼 수 있다. 일 예에서, 웨어러블 장치(103)는, 상기 제1 비디오를 표시하는 동안, 상기 제1 프레임들 중에서 상기 제1 키 프레임을 결정할 수 있다. 예를 들어, 상기 제1 키 프레임을 결정하는 방법에 대한 구체적인 내용은, 상술한 도 7a, 도 7b, 및 도 7c의 내용이 실질적으로 동일하게 참조될 수 있다.
예를 들어, 상기 제1 키 프레임(또는 제1 기준 프레임)은, 웨어러블 장치(103)에 의해 현재 재생중인 상기 외부 환경을 나타내기 위한 대표 프레임(또는 대표 이미지)일 수 있다. 예를 들어, 상기 제1 키 프레임은, 웨어러블 장치(103) 내에 저장된 비디오 데이터 세트의 비디오 데이터(또는 비디오)와 비교하기 위한 기준이 될 수 있다.
동작(820)에서, 웨어러블 장치(103)는, 저장된 비디오 데이터의 하나 이상의 키 프레임들의 하나 이상의 유사도 값들을 식별할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 제1 키 프레임(또는 제1 기준 프레임)에 대하여(with respect to), 웨어러블 장치(103) 내에 저장된 상기 비디오 데이터의 하나 이상의 키 프레임들을 식별할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 3D 미디어 콘텐츠 재생 어플리케이션을 실행함에 따라, 웨어러블 장치(103)의 위치를 식별하고, 웨어러블 장치(103)의 위치와 상기 저장된 비디오 데이터의 위치 정보를 비교함으로써, 상기 저장된 비디오 데이터를 식별할 수 있다. 예를 들어, 상기 저장된 비디오 데이터의 상기 위치 정보는, GPS에 기반한 지오태그(geotag)를 포함할 수 있다.
일 예에서, 웨어러블 장치(103)는, 상기 제1 비디오를 표시하는 동안, 상기 제1 키 프레임에 대하여, 웨어러블 장치(103) 내에 저장된 상기 비디오 데이터의 상기 하나 이상의 키 프레임들을 식별할 수 있다. 상기 예에서는, 웨어러블 장치(103) 내에 저장된 하나의 비디오 데이터의 상기 하나 이상의 키 프레임들과 상기 제1 키 프레임을 비교하는 예가 서술되나, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 웨어러블 장치(103)는, 웨어러블 장치(103) 내에 저장된 모든 비디오 데이터(또는 비디오 데이터 세트)에 포함되는 비디오 데이터 각각과 상기 제1 비디오 사이의 비교를 수행할 수 있다.
이하에서는, 설명의 편의를 위해, 상기 비디오 데이터에 대응하는 비디오는, 제2 비디오로 참조될 수 있다. 예를 들어, 상기 비디오 데이터의 프레임들은, 제2 프레임들로 참조될 수 있다. 예를 들어, 상기 비디오 데이터의 상기 하나 이상의 키 프레임들은, 상기 제2 프레임들 중에서 결정된 키 프레임을 나타낼 수 있다.
예를 들어, 웨어러블 장치(103)는, 상기 제1 비디오를 표시하는 동안, 상기 비디오 데이터의 상기 하나 이상의 키 프레임들 각각과 상기 제1 비디오의 상기 제1 키 프레임 사이의 유사도 값을 식별할 수 있다. 웨어러블 장치(103)는, 상기 식별에 기반하여, 상기 비디오 데이터의 상기 하나 이상의 키 프레임들에 대한 상기 하나 이상의 유사도 값들을 식별할 수 있다. 예를 들어, 상기 유사도 값은, 키 프레임들 간의 매칭되는(또는 매핑되는, 일치하는, 관련되는, 연관되는) 키 포인트들의 수에 기반하여 결정될 수 있다. 다만, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 상기 유사도 값은, 키 프레임들 간의 매칭되는 키 포인트들의 수를 이용한 알고리즘(또는, 비교 알고리즘)의 계산 값을 포함할 수 있다.
동작(825)에서, 웨어러블 장치(103)는, 하나 이상의 유사도 값들에 기반하여, 비디오 데이터의 제2 키 프레임(또는 제2 기준 프레임)을 결정할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 제1 비디오를 표시하는 동안, 상기 비디오 데이터의 상기 하나 이상의 키 프레임들의 상기 하나 이상의 유사도 값들에 기반하여, 상기 비디오 데이터(또는 상기 제2 비디오)의 상기 제2 키 프레임(또는 제2 기준 프레임)을 결정(또는, 선택, 식별)할 수 있다.
예를 들어, 웨어러블 장치(103)는, 상기 하나 이상의 유사도 값들 중에서, 유사도 값의 대푯값을 이용하여, 상기 제2 키 프레임을 결정할 수 있다. 예를 들어, 상기 대푯값은, 중간값, 최대값, 또는, 평균값 중 적어도 하나를 포함할 수 있다. 이하에서는, 상기 대푯값이 최대값인 경우를 가정하여 서술되나, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 웨어러블 장치(103)는, 상기 하나 이상의 키 프레임들 중에서, 유사도 값이 최대값을 갖는 상기 제2 키 프레임을 결정할 수 있다.
동작(830)에서, 웨어러블 장치(103)는, 제2 키 프레임의 유사도 값이 기준 값을 초과하는지 여부를 결정할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 제1 비디오를 표시하는 동안, 상기 제2 키 프레임의 상기 유사도 값이 3D 미디어 콘텐츠의 재생(또는 표시) 방법을 결정하기 위한 상기 기준 값을 초과하는지 여부를 결정할 수 있다. 예를 들어, 상기 재생 방법은, 공간 도메인 또는 시간 도메인 중 적어도 하나와 관련될 수 있다. 이와 관련된 구체적인 내용은, 이하 도 8b 및 도 8c에서 서술된다.
예를 들어, 상기 기준 값은, 상기 3D 미디어 콘텐츠 재생 어플리케이션을 통해 설정된 값일 수 있다. 예를 들어, 상기 기준 값은, 웨어러블 장치(103)의 사용자에 의해 설정될 수 있다. 예를 들어, 상기 기준 값은, 상대적으로 높은 유사도(또는 자연스러움)를 지원하기 위해, 증가될 수 있다.
동작(830)에서, 웨어러블 장치(103)는, 상기 제2 키 프레임의 상기 유사도 값이 상기 기준 값을 초과하는 경우, 동작(835)을 수행할 수 있다. 이와 달리, 동작(830)에서, 웨어러블 장치(103)는, 상기 제2 키 프레임의 상기 유사도 값이 상기 기준 값 이하인 경우, 동작(840)을 수행할 수 있다.
동작(835)에서, 웨어러블 장치(103)는, 제2 키 프레임에 대응하는 타이밍(또는, 시점(time point))으로부터 재생되는 비디오 데이터를 나타내는 시각적 객체를 표시할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 기준 값을 초과하는 상기 제2 키 프레임의 상기 유사도 값에 기반하여, 상기 제2 키 프레임에 대응하는 타이밍으로부터 재생되는 상기 비디오 데이터(또는 상기 제2 비디오)를 나타내는 시각적 객체를 표시할 수 있다. 예를 들어, 상기 제2 키 프레임에 대응하는 타이밍으로부터 재생되는 상기 비디오 데이터를 나타내는 시각적 객체는, 상기 제1 비디오에 대하여 적어도 일부 중첩하여 표시될 수 있다. 예를 들어, 상기 시각적 객체는, 상기 비디오 데이터의 상기 프레임들로부터 추출되는(또는, 상기 제2 키 프레임으로부터 추출되는) 시각적 객체일 수 있다.
동작(840)에서, 웨어러블 장치(103)는, 비디오 데이터의 최초 프레임에 대응하는 타이밍(또는 시점)으로부터 재생되는 비디오 데이터를 나타내는 시각적 객체를 표시할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 기준 값 이하인 상기 제2 키 프레임의 상기 유사도 값에 기반하여, 상기 비디오 데이터(또는 상기 제2 비디오)의 최초 프레임으로부터 재생되는 상기 비디오 데이터를 나타내는 시각적 객체를 표시할 수 있다. 예를 들어, 상기 비디오 데이터의 상기 최초 프레임에 대응하는 타이밍으로부터 재생되는 상기 비디오 데이터를 나타내는 시각적 객체는, 상기 제1 비디오에 대하여 적어도 일부 중첩하여 표시될 수 있다. 예를 들어, 상기 비디오 데이터의 상기 최초 프레임에 대응하는 타이밍으로부터 재생되는 상기 비디오 데이터를 나타내는 시각적 객체는, 상기 비디오 데이터의 상기 최초 프레임으로부터 추출되는 시각적 객체일 수 있다. 동작(835) 및 동작(840)에 대한 구체적인 예시는, 이하 도 8b가 참조될 수 있다.
도 8b는 시간 도메인에서 저장된 비디오 데이터를 나타내는 시각적 객체를 표시하는 방법에 대한 예를 도시한다. 도 8b의 화면(850)은, 웨어러블 장치(103)를 통해 표시되는 외부 환경(예: 거실)을 나타내는 비디오(이하, 상기 제1 비디오)를 도시한다. 예를 들어, 웨어러블 장치(103)(또는 웨어러블 장치(103)의 사용자)가 상기 외부 환경 내에 위치됨에 따라, 상기 제1 비디오가 웨어러블 장치(103)의 디스플레이(250)를 통해, 표시될 수 있다.
예를 들어, 웨어러블 장치(103)는, 화면(850)의 상기 제1 비디오를 표시하는 동안, 비디오 데이터(860)(또는 상기 제2 비디오)의 프레임들 중 키 프레임들(861, 862, 863)을 식별할 수 있다. 도 8b의 예에서, 비디오 데이터(860)는, 상기 제1 비디오가 표시되기 전의 시점(time point)에서 촬영된(또는 획득된) 비디오를 나타낼 수 있다. 예를 들어, 비디오 데이터(860)는, 거실에 진입하기 시작하는 프레임(또는, 이미지, 장면)부터, 거실 내에서 놀고 있는 아이들을 나타내는 프레임들(또는, 이미지, 장면)을 포함할 수 있다.
이하에서는, 상기 제1 비디오의 프레임들 중 화면(850)을 나타내는 프레임을 키 프레임(이하, 상기 제1 키 프레임)으로 가정한다. 예를 들어, 웨어러블 장치(103)는, 상기 제1 키 프레임과 키 프레임들(861, 862, 863) 각각을 비교함으로써, 유사도 값들을 식별할 수 있다. 도 8b의 예에서는, 3개의 키 프레임들(861, 862, 863)과 상기 제1 키 프레임을 비교하는 예가 서술되나, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 비디오 데이터(860)의 키 프레임의 개수는 2개 이하 또는 4개 이상일 수 있다. 예를 들어, 웨어러블 장치(103)는, 키 프레임들(861, 862, 863)의 3개의 유사도 값들 중 최대값을 갖는 키 프레임(862)을 결정할 수 있다. 예를 들어, 키 프레임(862)은, 제2 키 프레임으로 참조될 수 있다.
화면(851)을 참조하면, 웨어러블 장치(103)는, 상기 제2 키 프레임인 키 프레임(862)의 유사도 값이 기준 값을 초과하는 경우, 키 프레임(862)에 대응하는 타이밍으로부터 재생되는 비디오 데이터(860)를 나타내는 시각적 객체(862a)를 표시할 수 있다. 예를 들어, 웨어러블 장치(103)는, 화면(850)의 상기 제1 비디오에 적어도 일부 중첩하여, 시각적 객체(862a)를 표시할 수 있다. 예를 들어, 시각적 객체(862a)는, 3D 미디어 콘텐츠(또는 3D 비디오)일 수 있다. 예를 들어, 키 프레임(862)을 나타내는 시각적 객체(862a)는, 아이들을 포함할 수 있다. 다만, 본 개시가 이에 제한되는 것은 아니다.
화면(852)을 참조하면, 웨어러블 장치(103)는, 상기 제2 키 프레임인 키 프레임(862)의 유사도 값이 기준 값 이하인 경우, 비디오 데이터(860)의 최초 프레임(864)에 대응하는 타이밍으로부터 재생되는 비디오 데이터(860)를 나타내는 시각적 객체(864a)를 표시할 수 있다. 예를 들어, 웨어러블 장치(103)는, 화면(850)의 상기 제1 비디오에 적어도 일부 중첩하여, 시각적 객체(864a)를 표시할 수 있다. 예를 들어, 시각적 객체(864a)는, 3D 미디어 콘텐츠(또는 3D 비디오)일 수 있다. 예를 들어, 시각적 객체(864a)는, 거실에 진입하는 장면을 포함할 수 있다. 다만, 본 개시가 이에 제한되는 것은 아니다.
도 8a 및 도 8b에서는, 상기 제2 키 프레임의 상기 유사도 값에 따라, 시간 도메인에서 시각적 객체의 재생 방법이 조정되는(또는 변경되는) 예가 서술되나, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 상기 제2 키 프레임의 상기 유사도 값에 따라, 공간 도메인에서 시각적 객체의 재생 방법이 조정(또는 변경)될 수도 있다. 이와 관련된 구체적인 내용은, 이하 도 8c에서 서술된다.
도 8c는 공간 도메인에서 저장된 비디오 데이터를 나타내는 시각적 객체를 표시하는 방법에 대한 예를 도시한다. 도 8c의 화면들(870, 880)은, 웨어러블 장치(103)를 통해 표시되는 외부 환경(예: 거실)을 나타내는 비디오(이하, 제1 비디오)에 중첩하여 표시되는 시각적 객체를 도시한다. 예를 들어, 웨어러블 장치(103)(또는 웨어러블 장치(103)의 사용자)가 상기 외부 환경 내에 위치됨에 따라, 상기 제1 비디오가 웨어러블 장치(103)의 디스플레이(250)를 통해, 표시될 수 있다.
도 8c의 화면(870)은, 도 8a의 동작(835)에서 상기 제2 키 프레임의 상기 유사도 값이 상기 기준 값을 초과하는 경우, 제1 비디오(871)와 함께 표시되는 시각적 객체(875)를 도시한다. 예를 들어, 제1 비디오(871)는, 뷰포인트(873)에서 바라보는 상기 외부 환경에 대한 프레임들을 포함할 수 있다. 예를 들어, 제1 비디오(871)는, 상기 외부 환경 내의 오브젝트(872)를 포함할 수 있다. 예를 들어, 오브젝트(872)는, 소파일 수 있다.
화면(870)을 참조하면, 시각적 객체(875)는, 오브젝트(872)에 상대적으로 인접한 영역(877)에서 표시될 수 있다. 예를 들어, 웨어러블 장치(103)는, 웨어러블 장치(103)의 사용자에게, 시각적 객체(875)가 오브젝트(872)에 인접한 영역(877)에 위치된 것으로 인식하도록, 시각적 객체(875)를 표시할 수 있다. 예를 들어, 웨어러블 장치(103)는, 시각적 객체(875)에 의해 나타내어지는 프레임을 포함하는 비디오 데이터(예: 도 8b의 비디오 데이터(860))를 이용하여, 영역(877)을 결정할 수 있다.
도 8b의 예를 참조하면, 영역(877)은, 시각적 객체(875)에 의해 나타내어지는 키 프레임(862)에 기반하여 결정될 수 있다. 예를 들어, 웨어러블 장치(103)는, 키 프레임들(예: 도 8b의 화면(850)을 나타내는 상기 제1 키 프레임 및 비디오 데이터(860)의 키 프레임(862)) 간의 키 포인트 매칭의 결과를 이용하여, 영역(877)의 위치를 계산할 수 있다. 웨어러블 장치(103)는, 키 프레임(862)의 키 포인트들이 대응하는 화면(850)을 나타내는 상기 제1 키 프레임의 키 포인트들에 위치하도록 변환(예: 3차원 변환)할 수 있다. 예를 들어, 웨어러블 장치(103)는, 키 프레임(862)의 키 포인트들이 대응하는 상기 제1 키 프레임의 키 포인트들에 변환하도록 변환 값(예: 벡터 값)을 계산할 수 있다. 웨어러블 장치(103)는, 계산된 변환 값을 비디오 데이터(860)에 대한 이동 궤적에 적용함으로써, 영역(877)의 위치를 계산할 수 있다.
다시 도 8c를 참조하면, 시각적 객체(875)는, 비디오 데이터(860)의 키 프레임(862)에 의해 나타내어지는 장면 내에 아이들이 위치된 영역과 유사한 영역(877) 상에서 제1 비디오(871)와 중첩하여 표시될 수 있다.
도 8c의 화면(880)은, 도 8a의 동작(840)에서 상기 제2 키 프레임의 상기 유사도 값이 상기 기준 값 이하인 경우, 제1 비디오(871)와 함께 표시되는 시각적 객체(885)를 도시한다. 예를 들어, 제1 비디오(871)는, 뷰포인트(873)에서 바라보는 상기 외부 환경에 대한 프레임들을 포함할 수 있다. 예를 들어, 제1 비디오(871)는, 상기 외부 환경 내의 오브젝트(872)를 포함할 수 있다. 예를 들어, 오브젝트(872)는, 소파일 수 있다.
화면(880)을 참조하면, 시각적 객체(885)는, 오브젝트(872)에 상대적으로 먼 영역(887)에서 표시될 수 있다. 예를 들어, 웨어러블 장치(103)는, 웨어러블 장치(103)의 사용자에게, 시각적 객체(885)가 뷰포인트(873)로부터 지정된 거리(889) 만큼 이격된 영역(887)에 위치된 것으로 인식하도록, 시각적 객체(885)를 표시할 수 있다. 예를 들어, 웨어러블 장치(103)는, 지정된 거리(889) 만큼 이격된 영역(887)에 위치된 것으로 인식하도록, 시각적 객체(885)를 제1 비디오(871)와 중첩하여 표시할 수 있다. 예를 들어, 영역(887)의 위치는, 사용자의 시선 방향이 변경되는 경우, 상기 시선 방향을 따라서 변경될 수 있다. 예를 들어, 지정된 거리(889)의 길이는, 미리 설정된 값을 가질 수 있다.
화면(880)에서는, 영역(887)이 영역(877)보다 오브젝트(872)로부터 먼 곳에 위치된 것으로 도시되나, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 영역(887)은 사용자의 뷰포인트(873)로부터 지정된 거리(889) 만큼 이격된 고정된 위치를 나타낼 수 있고, 영역(877)은 비디오 데이터(860)의 키 프레임(862)에 대한 변환의 결과에 따라 가변적인 위치를 나타낼 수 있다. 따라서, 상기 변환의 결과에 따라서, 영역(877)은 영역(887) 보다 뷰포인트(873)로부터 가깝게 위치된 것으로 인식되는 위치를 포함할 수 있다.
다시 도 8a를 참조하면, 상기 예에서는, 동작(840)에서, 웨어러블 장치(103)가 상기 기준 값 이하인 상기 제2 키 프레임의 상기 유사도 값에 기반하여, 상기 비디오 데이터를 나타내는 시각적 객체를 표시하는 예가 서술되나, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 웨어러블 장치(103)는, 상기 기준 값 이하인 상기 제2 키 프레임의 상기 유사도 값에 기반하여, 상기 비디오 데이터를 나타내는 시각적 객체의 표시를 삼가할(또는 지연, 생략) 수 있다. 다시 말해서, 웨어러블 장치(103)는, 상기 기준 값 이하인 상기 제2 키 프레임의 상기 유사도 값에 기반하여, 상기 비디오 데이터를 나타내는 시각적 객체를 표시하지 않을 수 있다.
도 8a에서 도시하지 않았으나, 웨어러블 장치(103)는, 시각적 객체(예: 도 8b의 시각적 객체(862a) 또는 시각적 객체(864a), 도 8c의 시각적 객체(875) 또는 시각적 객체(885)) 내 표시될 오브젝트를 나타내는 모드를 결정하기 위한 입력을 획득할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 모드를 결정하기 위한 상기 입력에 따라, 시각적 객체에서 표시될 오브젝트의 유형을 결정할 수 있다. 예를 들어, 상기 모드를 결정하기 위한 상기 입력은, 제스처(gesture), 디스플레이(250)를 통해 표시되는 화면 상의 가상 버튼(또는, 시각적 객체, 어포던스), 또는 웨어러블 장치(103)의 물리 버튼(또는, 입력 장치)에 대한 입력을 포함할 수 있다.
예를 들어, 상기 오브젝트의 유형은, 동적 오브젝트 및 정적 오브젝트를 포함할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 모드가 제1 모드인 경우, 동적 오브젝트 및 정적 오브젝트를 포함하는 시각적 객체를 표시할 수 있다. 이와 달리, 웨어러블 장치(103)는, 상기 모드가 상기 제1 모드와 상이한 제2 모드인 경우, 동적 오브젝트 및 정적 오브젝트 중 동적 오브젝트를 포함하는 시각적 객체를 표시할 수 있다. 다시 말해서, 웨어러블 장치(103)는, 상기 모드가 상기 제2 모드인 경우, 동적 오브젝트를 나타내는 시각적 객체를 표시할 수 있다. 상기 제2 모드의 경우, 저장된 비디오 데이터의 정적 오브젝트는 외부 환경에 대한 비디오에 동일하게 존재할 가능성이 높은 점에서, 동적 오브젝트 및 정적 오브젝트 중에서 동적 오브젝트를 나타내는 시각적 객체가 표시될 수 있다.
또한, 도 8a에서 도시하지 않았으나, 웨어러블 장치(103)는, 동작(835) 또는 동작(840)에서 표시되는 시각적 객체의 재생 속도를 조정할 수 있다. 예를 들어, 웨어러블 장치(103)는, 웨어러블 장치(103)(또는 웨어러블 장치(103)의 사용자)의 위치와 기준 영역을 비교함으로써, 시각적 객체의 재생 속도를 조정할 수 있다. 예를 들어, 상기 기준 영역은, 상기 시각적 객체를 볼 수 있는 공간 좌표계 내의 영역을 나타낼 수 있다. 이 때, 상기 기준 영역을 정의하기 위해, 상기 시각적 객체를 볼 수 있다는 것은, 상기 시각적 객체의 품질(또는 재생 품질)이 기준 품질 이상인 경우를 나타낼 수 있다.
예를 들어, 상기 기준 영역에 대한 정보는, 웨어러블 장치(103) 내에 저장될 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 위치가 상기 기준 영역 내인 경우, 제1 재생 속도로 상기 시각적 객체를 재생(또는 표시, 플레이백)할 수 있다. 이와 달리, 웨어러블 장치(103)는, 상기 위치가 상기 기준 영역 외인 경우, 상기 제1 재생 속도보다 느린 제2 재생 속도로 상기 시각적 객체를 재생(또는, 표시, 플레이백)할 수 있다. 예를 들어, 상기 제1 재생 속도는, 상기 시각적 객체(또는 3D 미디어 콘텐츠, 3D 비디오)와 관련된 비디오 데이터(또는, 제2 비디오)가 촬영된 속도와 대응할 수 있다. 예를 들어, 상기 제2 재생 속도는, 상기 기준 영역으로부터 상기 위치 사이의 간격(또는 거리, 길이)에 따라 조정될 수 있다. 예를 들어, 상기 제2 재생 속도는, 상기 기준 영역으로부터 멀어질수록, 느려질 수 있다. 예를 들어, 상기 제2 재생 속도는, 상기 위치가 상기 기준 영역을 포함하는 임계 영역 외에 위치되는 경우, 0으로 설정될 수 있다. 예를 들어, 재생 속도가 0인 것은, 재생의 중단(또는, 중지, 취소)을 나타낼 수 있다.
상술한 바와 같은, 기준 영역과 위치 사이의 관계에 따라 조정되는 재생 속도에 대한 구체적인 내용은, 이하 도 9a 내지 도 9c가 참조될 수 있다.
도 9a는 3D 미디어 컨텐츠에 대한 기준 영역에 대한 예를 도시한다.
도 9a는, 시각적 객체(910)에 대하여 식별되는 기준 영역(920)에 대한 예(900)를 도시한다. 예를 들어, 기준 영역(920)은, 시각적 객체(910)를 볼 수 있는 공간 좌표계 상의 가상의 위치들의 집합을 나타낼 수 있다. 예를 들어, 시각적 객체(910)는, 3D 미디어 콘텐츠(또는 3D 비디오)를 포함할 수 있다.
예를 들어, 웨어러블 장치(103)는, 3D 미디어 콘텐츠(또는, 3D 비디오)에 대한 재구성을 수행함에 따라, 기준 영역(920)을 식별할(또는, 정의, 결정, 설정) 수 있다. 예를 들어, 기준 영역(920)은, 시각적 객체(910)(예: 프레임, 프레임 내 적어도 하나의 오브젝트)에 대하여 식별될 수 있다. 도 9a의 예(900)에서, 기준 영역(920)은 원형으로 도시되나, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 기준 영역(920)은 공간 상의 위치들의 집합인 바, 구의 형상을 가질 수 있다. 또한, 예를 들어, 기준 영역(920)은, 비대칭 형상을 가질 수도 있다. 예를 들어, 기준 영역(920)은, a 방향에서 보여지는 부분의 모양(또는, 사이즈)과 b 방향에서 보여지는 부분의 모양(또는 사이즈)는 상이할 수 있다. 예를 들어, 기준 영역(920)의 모양은, 상기 재구성에 따라서, 오브젝트의 형상에 대한 인식 정도에 기반하여 결정될 수 있다. 도 9a의 예(900)에서는, 설명의 편의를 위해, 2차원 평면 상 원형의 기준 영역(920)을 가정한다.
예(900)를 참조하면, 웨어러블 장치(103)는, 웨어러블 장치(103)의 위치와 기준 영역(920)을 비교할 수 있다. 예를 들어, 웨어러블 장치(103)는, 웨어러블 장치(103)의 위치가 기준 영역(920) 내 제1 위치(905)인 경우, 제1 재생 속도(예: x1)를 이용하여 시각적 객체(910)를 재생할 수 있다. 이와 달리, 웨어러블 장치(103)는, 웨어러블 장치(103)의 위치가 기준 영역(920) 외의 위치들(905-1, 905-2)인 경우, 상기 제1 재생 속도보다 느린 재생 속도를 이용하여 시각적 객체(910)를 재생할 수 있다. 예를 들어, 웨어러블 장치(103)의 위치가 제2 위치(905-1)인 경우, 웨어러블 장치(103)는, 제2 재생 속도를 이용하여 시각적 객체(910)를 재생할 수 있다. 예를 들어, 웨어러블 장치(103)의 위치가 제3 위치(905-2)인 경우, 웨어러블 장치(103)는, 제3 재생 속도를 이용하여 시각적 객체(910)를 재생할 수 있다.
웨어러블 장치(103)의 위치가 기준 영역(920) 외에 위치되는 경우, 시각적 객체(910)의 재생 속도는 점차 느려질 수 있다. 시각적 객체(910)의 재생 속도는, 기준 영역(920)으로부터 멀어질수록, 감소될 수 있다. 예를 들어, 상기 제3 재생 속도는 상기 제2 재생 속도보다 느릴 수 있다. 예를 들어, 기준 영역(920)으로부터 제1 거리(925-1) 만큼 이격된 제2 위치(905-1)에서, 시각적 객체(910)를 바라보는 경우, 시각적 객체(910)는, 상기 제2 재생 속도로 재생될 수 있다. 기준 영역(920)으로부터 제2 거리(925-2) 만큼 이격된 제3 위치(905-2)에서, 시각적 객체(910)를 바라보는 경우, 시각적 객체(910)는, 상기 제3 재생 속도로 재생될 수 있다.
예(900)를 참조하면, 웨어러블 장치(103)는, 웨어러블 장치(103)의 위치가 임계 영역(930) 외에 위치되는 경우, 시각적 객체(910)의 재생을 중단(또는, 중지, 생략, 삼가)할 수 있다. 예를 들어, 웨어러블 장치(103)는, 임계 영역(930) 외의 웨어러블 장치(103)의 위치에 따라, 시각적 객체(910)의 재생 속도를 임계 재생 속도(예: x0)으로 설정할 수 있다. 예를 들어, 임계 영역(930)은 기준 영역(920)을 포함하도록 구성될 수 있다. 예를 들어, 임계 영역(930)은, 기준 영역(920)에 대하여 미리 설정된 거리만큼 이격된 위치들의 집합일 수 있다. 예를 들어, 상기 미리 설정된 거리는, 사용자의 시력, 웨어러블 장치(103)의 재생 성능, 또는 외부 환경의 상태(또는, 외부 환경의 복잡도) 중 적어도 하나에 기반하여 결정될 수 있다. 상기 예에서는, 웨어러블 장치(103)의 위치가 임계 영역(930) 외에 위치되는 경우, 웨어러블 장치(103)가 시각적 객체(910)의 재생을 중단하는 것으로 서술되나, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 웨어러블 장치(103)의 위치가 임계 영역(930) 외에 위치되는 경우, 웨어러블 장치(103)는 3D 미디어 콘텐츠인 시각적 객체(910)를 재생하는 것 대신, 일반 동영상을 재생할 수도 있다. 예를 들어, 상기 일반 동영상은, 웨어러블 장치(103)의 디스플레이(250)의 화면 상에 표시되는 시각적 정보를 포함할 수 있다.
도 9b는 이동 궤적을 따라 변경되는 기준 영역에 대한 예를 도시한다. 도 9b의 예(940)는, 시각적 객체(예: 도 9a의 시각적 객체(910))와 관련된 비디오 데이터가 촬영되는 동안의 이동 궤적(945)을 따라, 변경되는 기준 영역(예: 도 9a의 기준 영역(920))을 도시한다. 예를 들어, 웨어러블 장치(103)는, 도 8a의 동작(830)에서 상기 제2 키 프레임의 상기 유사도 값이 상기 기준 값을 초과하는 것으로 결정함에 따라 동작(835)을 수행하는 경우, 도 9b의 예(940)와 같이, 이동 궤적(945)에 따라 변경되는 상기 기준 영역을 이용할 수 있다. 예를 들어, 이동 궤적(945)은, 상기 비디오를 촬영하기 위한 웨어러블 장치(103)(또는, 상기 비디오의 촬영자, 웨어러블 장치(103)의 착용자)의 궤적을 나타낼 수 있다. 예를 들어, 이동 궤적(945)에 대한 정보는, 웨어러블 장치(103) 내에 저장될 수 있다.
예(940)를 참조하면, 웨어러블 장치(103)는, 상기 시각적 객체와 관련된 상기 비디오 데이터가 촬영되는 동안의 이동 궤적(945)을 식별할 수 있다. 예(940)는, 시간의 흐름에 따라 이동 궤적(945)을 따라 변경되는 기준 영역들(920-1, 920-2, 920-3)을 도시한다.
제1 타이밍(941)에서, 웨어러블 장치(103)(또는 웨어러블 장치(103)의 사용자)의 위치(950)는, 기준 영역(920-1) 내에 위치될 수 있다. 이 때, 시각적 객체의 재생 속도는 제1 재생 속도일 수 있다.
제1 타이밍(941) 이후 제2 타이밍(942)에서, 웨어러블 장치(103)(또는 웨어러블 장치(103)의 사용자)의 위치(950)는, 기준 영역(920-2) 외에 위치될 수 있다. 이 때, 시각적 객체의 재생 속도는 제2 재생 속도일 수 있다. 상기 제2 재생 속도는 상기 제1 재생 속도 보다 느릴 수 있다. 예(940)에서는, 설명의 편의를 위하여 위치(950)가 임계 영역(예: 도 9a의 임계 영역(930)) 내인 경우를 가정한다.
제2 타이밍(942) 이후 제3 타이밍(943)에서, 웨어러블 장치(103)(또는 웨어러블 장치(103)의 사용자)의 위치(950)는, 기준 영역(920-3) 외에 위치될 수 있다. 이 때, 시각적 객체의 재생 속도는 제3 재생 속도일 수 있다. 상기 제3 재생 속도는 상기 제2 재생 속도 보다 느릴 수 있다. 예(940)에서는, 설명의 편의를 위하여 위치(950)가 임계 영역(예: 도 9a의 임계 영역(930)) 내인 경우를 가정한다.
예(940)는, 촬영될 시 이동하고 있는 오브젝트를 포함하는 상기 시각적 객체를 고정된 위치(950)의 사용자에 대하여 재생하는 경우가 예시된다. 다만, 본 개시가 이에 제한되는 것은 아니다.
일 예에서, 웨어러블 장치(103)는, 이동 궤적(945)을 따라 변경된 위치에서 상기 시각적 객체를 표시하는 동안, 사용자의 위치(950)를 조정하기 위한 정보를 사용자에게 제공할 수 있다. 예를 들어, 웨어러블 장치(103)는, 출력 장치(435)를 통해 사용자에게 청각적 정보 또는 촉각적 정보를 제공하거나, 디스플레이(250)를 통해 사용자에게 시각적 정보를 제공할 수 있다. 상기 시각적 정보에 대한 구체적인 예시는, 이하 도 10c에서 서술된다.
도 9c는 웨어러블 장치의 위치에 대하여 고정된 기준 영역에 대한 예를 도시한다. 도 9c의 예(970)는, 시각적 객체(예: 도 9a의 시각적 객체(910))와 관련된 비디오 데이터가 촬영되는 동안의 이동 궤적(975)을 따라, 변경되는 기준 영역(예: 도 9a의 기준 영역(920))을 도시한다. 예를 들어, 웨어러블 장치(103)는, 도 8a의 동작(830)에서 상기 제2 키 프레임의 상기 유사도 값이 상기 기준 값 이하인 것으로 결정함에 따라 동작(840)을 수행하는 경우, 도 9c의 예(970)와 같이, 이동 궤적(975)과 상관없이, 웨어러블 장치(103)(또는 웨어러블 장치(103)의 사용자)의 위치(950, 950-1, 또는 950-2)에 대하여 고정된 위치에서 표시되는 상기 기준 영역을 이용할 수 있다. 예를 들어, 이동 궤적(975)은, 상기 비디오를 촬영하기 위한 웨어러블 장치(103)(또는, 상기 비디오의 촬영자, 웨어러블 장치(103)의 착용자)의 궤적을 나타낼 수 있다. 예를 들어, 이동 궤적(975)에 대한 정보는, 웨어러블 장치(103) 내에 저장될 수 있다.
예(970)를 참조하면, 웨어러블 장치(103)는, 상기 시각적 객체와 관련된 상기 비디오 데이터가 촬영되는 동안의 이동 궤적(975)을 식별할 수 있다. 예(970)는, 시간의 흐름에 따라 이동 궤적(975)과 상관없이, 위치(950, 950-1, 950-2)을 따라 변경되는 기준 영역들(920-4, 920-5, 920-6)을 도시한다.
제1 타이밍(971)에서, 웨어러블 장치(103)(또는 웨어러블 장치(103)의 사용자)의 위치(950)는, 기준 영역(920-4) 내에 위치될 수 있다. 이 때, 시각적 객체의 재생 속도는 제1 재생 속도일 수 있다.
제1 타이밍(971) 이후 제2 타이밍(972)에서, 웨어러블 장치(103)(또는 웨어러블 장치(103)의 사용자)의 위치(950-1)는 위치(950)로부터 변경될 수 있다. 이에 따라, 기준 영역(920-5)의 위치는, 기준 영역(920-4)의 위치로부터 변경될 수 있다. 이 때, 시각적 객체의 재생 속도는 상기 제1 재생 속도일 수 있다.
제2 타이밍(972) 이후 제3 타이밍(973)에서, 웨어러블 장치(103)(또는 웨어러블 장치(103)의 사용자)의 위치(950-2)는 위치(950-1)로부터 변경될 수 있다. 이에 따라, 기준 영역(920-6)의 위치는, 기준 영역(920-5)의 위치로부터 변경될 수 있다. 이 때, 시각적 객체의 재생 속도는 상기 제1 재생 속도일 수 있다.
상술한 바를 참조하면, 웨어러블 장치(103)는, 이동 궤적(975)을 따라 사용자의 위치(950, 950-1, 또는 950-2)가 변경되는 동안, 사용자의 위치(950, 950-1, 또는 950-2)로부터 지정된 거리에 위치된 것으로 인식되도록 상기 시각적 객체를 표시할 수 있다. 다시 말해서, 상기 시각적 객체에 대하여 식별되는(또는, 설정되는, 정의되는) 기준 영역의 위치는 사용자의 위치(950, 950-1, 또는 950-2)에 따라 변경되나, 시각적 객체는 사용자에 대하여 고정된 위치에서 표시되는 것으로 인식될 수 있다.
도 9a 내지 도 9c를 참조하면, 웨어러블 장치(103)는, 기준 영역과 웨어러블 장치(103)의 위치를 비교함으로써, 시각적 객체의 재생 속도를 제어하는 방법에 대한 예가 서술된다. 다만, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 웨어러블 장치(103)는, 기준 영역에 기반한 재생 속도의 제어를 활성화하거나 비활성화할 수 있다. 예를 들어, 웨어러블 장치(103)는, 기준 영역에 기반한 상기 재생 속도의 제어를 비활성화하는 경우, 웨어러블 장치(103)의 위치와 인접한 공간에서 촬영된 비디오 뿐만 아니라 웨어러블 장치(103)의 위치와 관련되지 않는 공간에서 촬영된 비디오를 재생할 수도 있다. 예를 들어, 웨어러블 장치(103)의 사용자가 한국에 거주하는 경우에도, 웨어러블 장치(103)는, 프랑스의 파리에서 촬영된 비디오를 재생할 수도 있다. 상기 예는, 설명의 편의를 위한 예시에 불과할 뿐, 본 개시가 이에 제한되는 것은 아니다.
도 10a는 웨어러블 장치의 위치와 관련된 비디오 데이터 세트의 프리뷰 이미지들을 포함하는 선택 화면을 표시하는 방법에 대한 예를 도시한다.
도 10a에서, 웨어러블 장치(103)가 비디오 데이터 세트의 비디오 데이터의 프리뷰 이미지들을 포함하는 선택 화면을 표시하는 화면(1000, 1005)이 도시된다. 도 10a의 웨어러블 장치(103)는, 도 1의 전자 장치(101), 도 2a 내지 도 3b의 웨어러블 장치(103), 도 4의 웨어러블 장치(103)의 일 예일 수 있다.
화면(1000)을 참조하면, 웨어러블 장치(103)는, 외부 환경에 대한 비디오(615)를, 디스플레이(도 4의 디스플레이(250))를 통해, 표시할 수 있다. 예를 들어, 웨어러블 장치(103)는, 비디오(615)에서 표시하고 있는 상기 외부 환경 내의 위치를 식별할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 위치와 관련된 상기 비디오 데이터 세트를 식별(또는 탐색)할 수 있다. 예를 들어, 상기 비디오 데이터 세트는, 제1 비디오 데이터(1010), 제2 비디오 데이터(1020), 및 제3 비디오 데이터(1030)를 포함할 수 있다. 다만, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 비디오 데이터 세트가 포함하는 비디오 데이터의 수는 2개 이하 또는 4개 이상일 수 있다.
화면(1005)을 참조하면, 웨어러블 장치(103)는, 비디오 데이터 세트의 비디오 데이터에 대한 프리뷰 이미지들(1011, 1021, 1031)을 포함하는 선택 화면(1007)을 표시할 수 있다. 예를 들어, 웨어러블 장치(103)는, 프리뷰 이미지들(1011, 1021, 1031)을 포함하는 선택 화면(1007)을, 디스플레이(250)를 통해, 비디오(615)에 대하여 적어도 일부 중첩하여 표시할 수 있다. 예를 들어, 제1 프리뷰 이미지(1011)는 제1 비디오 데이터(1010)의 일부(예: 프레임 또는 키 프레임)일 수 있다. 예를 들어, 제2 프리뷰 이미지(1021)는 제2 비디오 데이터(1020)의 일부(예: 프레임 또는 키 프레임)일 수 있다. 예를 들어, 제3 프리뷰 이미지(1031)는 제3 비디오 데이터(1030)의 일부(예: 프레임 또는 키 프레임)일 수 있다. 예를 들어, 선택 화면(1007)은, 웨어러블 장치(103)가 3D 미디어 컨텐츠의 재생을 위한 소프트웨어 어플리케이션이 실행됨에 따라, 표시될 수 있다.
일 예에서, 웨어러블 장치(103)는, 선택 화면(1007)(또는 프리뷰 이미지들(1011, 1021, 1031))에 대한 입력을 획득할 수 있다. 예를 들어, 웨어러블 장치(103)는, 획득된 상기 입력에 기반하여 프리뷰 이미지에 대응하는 비디오 데이터의 프레임(또는 키 프레임)과 관련된 시각적 객체(또는, 3D 미디어 컨텐츠, 3D 비디오)를 비디오(615)와 함께(또는 비디오(615) 상에서) 표시할 수 있다.
도 10a의 화면(1005)에서는, 비디오 데이터 별 프레임(또는 키 프레임)에 대한 프리뷰 이미지를 포함하는 선택 화면(1007)이 도시되나, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 선택 화면(1007)은 비디오 데이터의 복수의 키 프레임들(예: 제1 비디오 데이터(1010)의 복수의 키 프레임들)에 대한 복수의 프리뷰 이미지들을 포함할 수도 있다.
도 10b는 저장된 비디오 데이터의 존재 여부를 알리기 위한 어포던스를 표시하는 방법에 대한 예를 도시한다.
도 10b는, 웨어러블 장치(103)의 위치에 대하여 저장된 비디오 데이터의 탐색 결과 및 탐색 중임을 알리기 위한 어포던스를 표시하는 화면들(1040, 1050)을 도시한다. 도 10b의 웨어러블 장치(103)는, 도 1의 전자 장치(101), 도 2a 내지 도 3b의 웨어러블 장치(103), 도 4의 웨어러블 장치(103)의 일 예일 수 있다.
화면(1040)을 참조하면, 웨어러블 장치(103)는, 저장된 비디오 데이터의 존재 여부를 알리기 위한 어포던스(1043)를, 비디오(615)와 함께(또는 비디오(615) 상에서) 표시할 수 있다. 예를 들어, 웨어러블 장치(103)는, 웨어러블 장치(103)의 위치를 식별하고, 식별된 상기 위치에 대하여 저장된 비디오 데이터의 탐색 결과를 나타내는 어포던스(1043)를 표시할 수 있다. 예를 들어, 어포던스(1043)는, 텍스트(1045), 제1 메뉴(1047), 및 제2 메뉴(1049)를 포함할 수 있다. 예를 들어, 텍스트(1045)는, 식별된 상기 위치에서 촬영된(또는 저장된) 영상이 없음을 알리기 위한 메시지(예: "현재 위치에서 촬영된 영상이 없어요")를 포함할 수 있다. 예를 들어, 제1 메뉴(1047)는, 일반 동영상 모드로의 전환을 위해 이용될 수 있다. 예를 들어, 웨어러블 장치(103)는, 제1 메뉴(1047)에 대한 입력을 획득함에 따라, 일반 동영상 재생을 위한 모드로 전환할 수 있다. 예를 들어, 일반 동영상은, 3D 미디어 콘텐츠가 아닌, 2D 미디어 콘텐츠를 나타낼 수 있다. 예를 들어, 제2 메뉴(1049)는, 식별된 상기 위치에 대하여 저장된 비디오 데이터를 추가적으로 탐색하기 위해 이용될 수 있다. 예를 들어, 웨어러블 장치(103)는, 제2 메뉴(1049)에 대한 입력을 획득함에 따라, 식별된 상기 위치에 대하여 저장된 비디오 데이터를 추가적으로 탐색할 수 있다.
화면(1050)을 참조하면, 화면(1040)에 대하여 웨어러블 장치(103)가 제2 메뉴(1049)에 대한 입력을 획득함에 따라, 표시되는 어포던스(1055)를 도시한다. 예를 들어, 웨어러블 장치(103)는, 제2 메뉴(1049)에 대한 입력을 획득함에 따라, 어포던스(1055)를 비디오(615)와 함께(또는 비디오(615) 상에서) 표시할 수 있다. 예를 들어, 어포던스(1055)는, 식별된 상기 위치에 대하여 저장된 비디오 데이터를 추가적인 탐색이 수행됨을 알리기 위해 이용될 수 있다.
도 10c는 기준 영역을 지시하기 위한 인디케이터를 표시하는 방법에 대한 예를 도시한다.
도 10c는, 웨어러블 장치(103)가 표시하는 시각적 객체(1063)에 대한 기준 영역을 지시하기 위한 인디케이터(1065)를 표시하는 화면(1060)을 도시한다. 도 10c의 웨어러블 장치(103)는, 도 1의 전자 장치(101), 도 2a 내지 도 3b의 웨어러블 장치(103), 도 4의 웨어러블 장치(103)의 일 예일 수 있다.
화면(1060)을 참조하면, 웨어러블 장치(103)는, 시각적 객체(1063)를 표시할 수 있다. 예를 들어, 시각적 객체(1065)는, 3D 미디어 콘텐츠 또는 3D 비디오를 포함할 수 있다. 예를 들어, 웨어러블 장치(103)는, 외부 환경에 대응하는 비디오(615)의 제1 키 프레임과 저장된 비디오 데이터의 제2 키 프레임 사이의 비교에 따라, 시각적 객체(1065)를 표시할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 제1 키 프레임에 대한 상기 제2 키 프레임의 유사도 값이 기준 값을 초과함에 따라, 시각적 객체(1065)를 표시할 수 있다. 이 때, 웨어러블 장치(103)는, 시각적 객체(1065)를 기준 품질 이상인 품질으로 시청할 수 있는 기준 영역에 대한 인디케이터(1067)를 비디오(615)와 함께 표시할 수 있다. 예를 들어, 상기 기준 영역은, 시각적 객체(1065)에 대하여 식별(또는 설정, 정의)될 수 있다. 예를 들어, 웨어러블 장치(103)는, 웨어러블 장치(103)의 사용자가 보다 좋은 품질로 시각적 객체(1065)를 시청할 수 있는 영역을 지시하기 위해, 인디케이터(1067)를 표시할 수 있다. 예를 들어, 인디케이터(1067)는, 상기 외부 환경의 상기 기준 영역(또는 공간)에 대응하는, 비디오(615) 상의 부분을 지시할 수 있다.
화면(1060)에서는, 비디오(615) 상의 상기 부분을 지시하는 인디케이터(1067)가 도시되나, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 인디케이터(1067)는, 비디오(615) 상에서 방향을 가리키는 화살표의 형상을 갖거나, 텍스트로 형성될 수도 있다.
도 11은 외부 환경에 대한 비디오와 저장된 비디오 데이터 사이의 유사도에 기반하여, 저장된 비디오 데이터를 나타내는 시각적 객체를 표시하는 방법에 대한 동작 흐름의 예를 도시한다.
도 11의 상기 방법 중 적어도 일부는, 도 4의 웨어러블 장치(103)에 의해 수행될 수 있다. 예를 들어, 상기 방법 중 적어도 일부는, 웨어러블 장치(103)의 프로세서(410)에 의해 제어될 수 있다. 이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다.
동작(1110)에서, 웨어러블 장치(103)는, 라이브 비디오의 제1 기준 프레임을 식별할 수 있다. 예를 들어, 웨어러블 장치(103)는, 카메라(430)를 통해 획득되는 외부 환경의 상기 라이브 비디오를, 디스플레이(250)를 통해, 표시하는 동안, 상기 라이브 비디오의 상기 제1 기준 프레임(또는 제1 키 프레임)을 결정할 수 있다.
예를 들어, 웨어러블 장치(103)는, 외부 환경에 대한 상기 라이브 비디오(또는, 제1 비디오)를 표시할 수 있다. 예를 들어, 웨어러블 장치(103)는, 카메라(430)를 통해 획득되는 상기 외부 환경의 상기 라이브 비디오를 표시할 수 있다. 예를 들어, 상기 외부 환경은, 웨어러블 장치(103)(또는 웨어러블 장치(103)의 사용자)가 현재 위치되는 실제 환경(또는 물리 환경)의 공간(또는 영역)을 나타낼 수 있다.
예를 들어, 상기 외부 환경에 대한 상기 라이브 비디오는, 복수의 프레임들(또는 이미지들)을 포함할 수 있다. 예를 들어, 상기 외부 환경에 대한 상기 라이브 비디오는, 시간의 흐름에 따라 획득되는 상기 프레임들을 포함할 수 있다. 예를 들어, 상기 라이브 비디오가 포함하는 상기 프레임들은, 제1 프레임들로 참조될 수 있다.
도 11에서 도시하지 않았으나, 동작(1110)을 수행하기 전, 웨어러블 장치(103)는, 비디오 데이터를 저장한 상태일 수 있다. 예를 들어, 상기 비디오 데이터는, 웨어러블 장치(103)가 과거의 타이밍(또는 시점)에서 직접 촬영(또는 획득)하거나, 웨어러블 장치(103)와 연결된 외부 전자 장치에 의해 촬영(또는 획득)된 후 웨어러블 장치(103)에게 제공될 수 있다. 상기 비디오 데이터는, 제2 비디오(또는, 과거 비디오, 촬영된 비디오)에 대한 데이터를 나타낼 수 있다.
도 11에서 도시하지 않았으나, 웨어러블 장치(103)는, 사용자의 입력(또는 요청)에 응답하여, 상기 라이브 비디오를, 디스플레이(250)를 통해, 재생(또는 표시)할 수 있다. 예를 들어, 웨어러블 장치(103)는, 사용자가 웨어러블 장치(103)를 착용함을 지시하는 상기 입력에 응답하여, 상기 라이브 비디오를 재생(또는 표시)할 수 있다. 예를 들어, 웨어러블 장치(103)는, 사용자가 웨어러블 장치(103)에 대한 입력을 식별함에 응답하여, 상기 라이브 비디오를 재생(또는 표시)할 수 있다.
예를 들어, 웨어러블 장치(103)는, 3D 미디어 콘텐츠의 재생에 대한 요청을 획득할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 라이브 비디오를 표시하는 동안, 웨어러블 장치(103)의 사용자로부터, 상기 3D 미디어 콘텐츠의 재생에 대한 상기 요청을 획득할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 요청에 따라 상기 3D 미디어 콘텐츠의 재생을 위한 소프트웨어 어플리케이션(이하, 3D 미디어 콘텐츠 재생 어플리케이션)을 실행할 수 있다. 상기 예에서는, 상기 라이브 비디오를 표시하는 동안, 웨어러블 장치(103)가 상기 요청을 획득하는 경우가 서술되나 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 웨어러블 장치(103)는, 상기 라이브 비디오를 표시하는 동시에 상기 요청을 획득하거나, 상기 라이브 비디오를 표시하기 전 상기 요청을 획득할 수도 있다. 예를 들어, 상기 3D 미디어 콘텐츠는, 웨어러블 장치(103) 내에 저장된 비디오 데이터를 이용하여 생성되는 3D 비디오를 포함할 수 있다.
예를 들어, 웨어러블 장치(103)는, 상기 외부 환경에 대한 상기 라이브 비디오의 프레임들 각각의 키 포인트들을 식별할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 외부 환경에 대한 상기 라이브 비디오의 상기 제1 프레임들 각각의 키 포인트들을 식별할 수 있다. 일 예에서, 웨어러블 장치(103)는, 상기 라이브 비디오를 표시하는 동안, 상기 제1 프레임들 각각의 키 포인트들을 식별할 수 있다. 예를 들어, 상기 제1 프레임들 각각의 키 포인트들을 식별하는 것에 대한 구체적인 내용은, 상술한 도 7a, 도 7b 및 도 7c의 내용이 실질적으로 동일하게 참조될 수 있다.
예를 들어, 웨어러블 장치(103)는, 상기 비디오의 상기 제1 프레임들 중에서 상기 제1 기준 프레임(또는, 상기 제1 키 프레임)을 결정(또는, 선택, 식별)할 수 있다. 예를 들어, 상기 제1 기준 프레임은, 상기 제1 프레임들 중에서 기준 프레임으로 선택되는 프레임을 나타낼 수 있다. 일 예에서, 웨어러블 장치(103)는, 상기 비디오를 표시하는 동안, 상기 제1 프레임들 중에서 상기 제1 기준 프레임을 결정할 수 있다. 예를 들어, 상기 제1 기준 프레임을 결정하는 방법에 대한 구체적인 내용은, 상술한 도 7a, 도 7b, 및 도 7c의 내용이 실질적으로 동일하게 참조될 수 있다.
예를 들어, 상기 제1 기준 프레임은, 웨어러블 장치(103)에 의해 현재 재생중인 상기 외부 환경을 나타내기 위한 대표 프레임(또는 대표 이미지)일 수 있다. 예를 들어, 상기 제1 기준 프레임은, 웨어러블 장치(103) 내에 저장된 비디오 데이터 세트의 비디오 데이터(또는 비디오)와 비교하기 위한 기준이 될 수 있다.
동작(1120)에서, 웨어러블 장치(103)는, 상기 라이브 비디오의 상기 제1 기준 프레임에 대한 상기 비디오 데이터의 상기 프레임들의 하나 이상의 유사도 값들에 기반하여, 웨어러블 장치(103) 내 저장된 상기 비디오 데이터의 제2 기준 프레임(또는, 제2 키 프레임)을 식별할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 비디오 데이터의 상기 프레임들의 하나 이상의 기준 프레임들 중에서, 상기 라이브 비디오의 상기 제1 기준 프레임에 대한 상기 비디오 데이터의 상기 하나 이상의 기준 프레임들의 하나 이상의 유사도 값들에 기반하여, 상기 제2 기준 프레임을 결정할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 외부 환경에 대한 상기 라이브 비디오를 표시하는 동안, 상기 하나 이상의 유사도 값들에 기반하여, 상기 제2 기준 프레임을 결정할 수 있다.
예를 들어, 웨어러블 장치(103)는, 상기 저장된 비디오 데이터의 하나 이상의 기준 프레임들의 상기 하나 이상의 유사도 값들을 식별할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 제1 기준 프레임에 대하여(with respect to), 웨어러블 장치(103) 내에 저장된 상기 비디오 데이터의 상기 하나 이상의 기준 프레임들을 식별할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 3D 미디어 콘텐츠 재생 어플리케이션을 실행함에 따라, 웨어러블 장치(103)의 위치를 식별하고, 웨어러블 장치(103)의 위치와 상기 저장된 비디오 데이터의 위치 정보를 비교함으로써, 상기 저장된 비디오 데이터를 식별할 수 있다. 예를 들어, 상기 저장된 비디오 데이터의 상기 위치 정보는, GPS에 기반한 지오태그(geotag)를 포함할 수 있다.
일 예에서, 웨어러블 장치(103)는, 상기 라이브 비디오를 표시하는 동안, 상기 제1 기준 프레임에 대하여, 웨어러블 장치(103) 내에 저장된 상기 비디오 데이터의 상기 하나 이상의 기준 프레임들을 식별할 수 있다. 상기 예에서는, 웨어러블 장치(103) 내에 저장된 하나의 비디오 데이터의 상기 하나 이상의 기준 프레임들과 상기 제1 기준 프레임을 비교하는 예가 서술되나, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 웨어러블 장치(103)는, 웨어러블 장치(103) 내에 저장된 모든 비디오 데이터(또는 비디오 데이터 세트)에 포함되는 비디오 데이터 각각과 상기 비디오 사이의 비교를 수행할 수 있다.
예를 들어, 상기 비디오 데이터의 프레임들은, 제2 프레임들로 참조될 수 있다. 예를 들어, 상기 비디오 데이터의 상기 하나 이상의 기준 프레임들은, 상기 제2 프레임들 중에서 결정된 기준 프레임을 나타낼 수 있다.
예를 들어, 웨어러블 장치(103)는, 상기 비디오를 표시하는 동안, 상기 비디오 데이터의 상기 하나 이상의 기준 프레임들 각각과 상기 비디오의 상기 제1 기준 프레임 사이의 유사도 값을 식별할 수 있다. 웨어러블 장치(103)는, 상기 식별에 기반하여, 상기 비디오 데이터의 상기 하나 이상의 기준 프레임들에 대한 상기 하나 이상의 유사도 값들을 식별할 수 있다. 예를 들어, 상기 유사도 값은, 기준 프레임들 간의 매칭되는(또는 매핑되는, 일치하는, 관련되는, 연관되는) 키 포인트들의 수에 기반하여 결정될 수 있다. 다만, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 상기 유사도 값은, 기준 프레임들 간의 매칭되는 키 포인트들의 수를 이용한 알고리즘(또는, 비교 알고리즘)의 계산 값을 포함할 수 있다.
예를 들어, 웨어러블 장치(103)는, 상기 하나 이상의 유사도 값들 중에서, 유사도 값의 대푯값을 이용하여, 상기 제2 기준 프레임을 결정할 수 있다. 예를 들어, 상기 대푯값은, 중간값, 최대값, 또는, 평균값 중 적어도 하나를 포함할 수 있다. 이하에서는, 상기 대푯값이 최대값인 경우를 가정하여 서술되나, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 웨어러블 장치(103)는, 상기 하나 이상의 기준 프레임들 중에서, 유사도 값이 최대값을 갖는 상기 제2 기준 프레임을 결정할 수 있다.
동작(1130)에서, 웨어러블 장치(103)는, 상기 제2 기준 프레임에 대응하는 시점(또는, 타이밍)으로부터 재생되는 상기 비디오 데이터의 상기 프레임들로부터 추출된 시각적 객체를, 상기 라이브 비디오와 적어도 일부 중첩하여, 표시할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 제2 기준 프레임에 대응하는 시점으로부터 재생되는 상기 비디오 데이터를 나타내는 상기 시각적 객체를, 디스플레이(250)를 통해, 상기 비디오와 적어도 일부 중첩하여, 표시할 수 있다. 상기 제2 기준 프레임에 대응하는 시점으로부터 재생되는 상기 비디오 데이터를 나타내는 상기 시각적 객체는, 상기 비디오 데이터의 상기 프레임들(또는, 상기 제2 기준 프레임)로부터 추출된 시각적 객체를 포함할 수 있다.
예를 들어, 웨어러블 장치(103)는, 상기 제2 기준 프레임의 상기 유사도 값이 상기 기준 값을 초과하는지 여부를 결정할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 비디오를 표시하는 동안, 상기 제2 기준 프레임의 상기 유사도 값이 3D 미디어 콘텐츠의 재생(또는 표시) 방법을 결정하기 위한 상기 기준 값을 초과하는지 여부를 결정할 수 있다. 예를 들어, 상기 재생 방법은, 공간 도메인 또는 시간 도메인 중 적어도 하나와 관련될 수 있다.
예를 들어, 상기 기준 값은, 상기 3D 미디어 콘텐츠 재생 어플리케이션을 통해 설정된 값일 수 있다. 예를 들어, 상기 기준 값은, 웨어러블 장치(103)의 사용자에 의해 설정될 수 있다. 예를 들어, 상기 기준 값은, 상대적으로 높은 유사도(또는 자연스러움)를 지원하기 위해, 증가될 수 있다.
예를 들어, 웨어러블 장치(103)는, 상기 기준 값을 초과하는 상기 제2 기준 프레임의 상기 유사도 값에 따라, 상기 제2 기준 프레임에 대응하는 타이밍으로부터 재생되는 상기 비디오 데이터(또는 상기 제2 비디오)를 나타내는 시각적 객체를 표시할 수 있다. 예를 들어, 상기 제2 기준 프레임에 대응하는 타이밍으로부터 재생되는 상기 비디오 데이터를 나타내는 시각적 객체는, 상기 제1 비디오에 대하여 적어도 일부 중첩하여 표시될 수 있다.
예를 들어, 웨어러블 장치(103)는, 상기 기준 값 이하인 상기 제2 기준 프레임의 상기 유사도 값에 따라, 상기 비디오 데이터(또는 상기 제2 비디오)의 최초 프레임으로부터 재생되는 상기 비디오 데이터를 나타내는 시각적 객체를 표시할 수 있다. 예를 들어, 상기 비디오 데이터의 상기 최초 프레임에 대응하는 타이밍으로부터 재생되는 상기 비디오 데이터를 나타내는 시각적 객체는, 상기 제1 비디오에 대하여 적어도 일부 중첩하여 표시될 수 있다. 또는, 예를 들어, 웨어러블 장치(103)는, 상기 기준 값 이하인 상기 제2 기준 프레임의 상기 유사도 값에 기반하여, 상기 비디오 데이터를 나타내는 시각적 객체의 표시를 삼가할(또는 지연, 생략) 수 있다. 다시 말해서, 웨어러블 장치(103)는, 상기 기준 값 이하인 상기 제2 기준 프레임의 상기 유사도 값에 기반하여, 상기 비디오 데이터를 나타내는 시각적 객체를 표시하지 않을 수 있다.
예를 들어, 웨어러블 장치(103)는, 시각적 객체(예: 도 8b의 시각적 객체(862a) 또는 시각적 객체(864a), 도 8c의 시각적 객체(875) 또는 시각적 객체(885)) 내 표시될 오브젝트를 나타내는 모드를 결정하기 위한 입력을 획득할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 모드를 결정하기 위한 상기 입력에 따라, 시각적 객체에서 표시될 오브젝트의 유형을 결정할 수 있다. 예를 들어, 상기 모드를 결정하기 위한 상기 입력은, 제스처(gesture), 디스플레이(250)를 통해 표시되는 화면 상의 가상 버튼(또는, 시각적 객체, 어포던스), 또는 웨어러블 장치(103)의 물리 버튼(또는, 입력 장치)에 대한 입력을 포함할 수 있다.
예를 들어, 상기 오브젝트의 유형은, 동적 오브젝트 및 정적 오브젝트를 포함할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 모드가 제1 모드인 경우, 동적 오브젝트 및 정적 오브젝트를 포함하는 시각적 객체를 표시할 수 있다. 이와 달리, 웨어러블 장치(103)는, 상기 모드가 상기 제1 모드와 상이한 제2 모드인 경우, 동적 오브젝트 및 정적 오브젝트 중 동적 오브젝트를 포함하는 시각적 객체를 표시할 수 있다. 다시 말해서, 웨어러블 장치(103)는, 상기 모드가 상기 제2 모드인 경우, 동적 오브젝트를 나타내는 시각적 객체를 표시할 수 있다. 상기 제2 모드의 경우, 저장된 비디오 데이터의 정적 오브젝트는 외부 환경에 대한 비디오에 동일하게 존재할 가능성이 높은 점에서, 동적 오브젝트 및 정적 오브젝트 중에서 동적 오브젝트를 나타내는 시각적 객체가 표시될 수 있다.
상술한 오브젝트의 유형에 따라, 웨어러블 장치(103)는, 상기 라이브 비디오의 기준 프레임의 배경 특징들과, 상기 비디오 데이터의 프레임들의 배경 특징들 사이의 비교에 따라, 제2 기준 프레임을 식별하고, 상기 비디오 데이터의 이동체와 관련된 이미지의 부분을 상기 라이브 비디오와 중첩하여 표시할 수 있다.
예를 들어, 웨어러블 장치(103)는, 카메라(430)를 통해 획득되는 외부 환경의 상기 라이브 비디오를, 디스플레이(250)를 통해, 표시할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 라이브 비디오를 표시하는 동안, 상기 라이브 비디오의 상기 제1 기준 프레임을 식별할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 라이브 비디오의 상기 제1 기준 프레임의 배경 특징들을 식별할 수 있다. 상기 배경 특징들은, 상기 라이브 비디오의 정적 오브젝트일 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 라이브 비디오를 표시하는 동안, 상기 라이브 비디오의 상기 제1 기준 프레임의 배경 특징들을 식별할 수 있다. 예를 들어, 상기 비디오 데이터의 상기 배경 특징들은, 정적 오브젝트일 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 라이브 비디오의 상기 제1 기준 프레임의 배경 특징들 및 상기 라이브 비디오의 상기 제1 기준 프레임의 배경 특징들 사이의 비교를 수행할 수 있다. 예를 들어, 상기 비교는, 상기 라이브 비디오의 정적 오브젝트와 상기 비디오 데이터의 정적 오브젝트 사이의 유사도를 식별하는 것(또는, 유사도 값을 획득하는 것)을 포함할 수 있다.
예를 들어, 웨어러블 장치(103)는, 상기 제2 기준 프레임에 대응하는 시점으로부터 재생되는 상기 비디오 데이터의 상기 프레임들로부터 추출된, 이동체와 관련된 이미지의 부분을, 디스플레이(250)를 통해, 상기 라이브 비디오와 적어도 일부 중첩하여 표시할 수 있다. 예를 들어, 상기 이동체는, 상기 비디오 데이터의 상기 프레임들(또는, 상기 제2 기준 프레임)로부터 추출되는 동적 오브젝트일 수 있다. 예를 들어, 상기 이미지의 부분은, 상기 이동체를 상기 라이브 비디오와 함께 표시하기 위한 시각적 객체를 포함할 수 있다.
상술한 바와 같이, 웨어러블 장치(103)는, 라이브 비디오와 비디오 데이터의 정적 오브젝트들 사이의 유사도를 비교하고, 비교의 결과에 따라서 비디오 데이터의 동적 오브젝트를 상기 라이브 비디오와 중첩하여 표시할 수 있다.
또한, 웨어러블 장치(103)는, 상기 시각적 객체의 재생 속도를 조정할 수 있다. 예를 들어, 웨어러블 장치(103)는, 웨어러블 장치(103)(또는 웨어러블 장치(103)의 사용자)의 위치와 기준 영역을 비교함으로써, 시각적 객체의 재생 속도를 조정할 수 있다. 예를 들어, 상기 기준 영역은, 상기 시각적 객체를 볼 수 있는 공간 좌표계 내의 영역을 나타낼 수 있다. 이 때, 상기 기준 영역을 정의하기 위해, 상기 시각적 객체를 볼 수 있다는 것은, 상기 시각적 객체의 품질(또는 재생 품질)이 기준 품질 이상인 경우를 나타낼 수 있다.
예를 들어, 상기 기준 영역에 대한 정보는, 웨어러블 장치(103) 내에 저장될 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 위치가 상기 기준 영역 내인 경우, 제1 재생 속도로 상기 시각적 객체를 재생(또는 표시, 플레이백)할 수 있다. 이와 달리, 웨어러블 장치(103)는, 상기 위치가 상기 기준 영역 외인 경우, 상기 제1 재생 속도보다 느린 제2 재생 속도로 상기 시각적 객체를 재생(또는, 표시, 플레이백)할 수 있다. 예를 들어, 상기 제1 재생 속도는, 상기 시각적 객체(또는 3D 미디어 콘텐츠, 3D 비디오)와 관련된 비디오 데이터(또는, 제2 비디오)가 촬영된 속도와 대응할 수 있다. 예를 들어, 상기 제2 재생 속도는, 상기 기준 영역으로부터 상기 위치 사이의 간격(또는 거리, 길이)에 따라 조정될 수 있다. 예를 들어, 상기 제2 재생 속도는, 상기 기준 영역으로부터 멀어질수록, 느려질 수 있다. 예를 들어, 상기 제2 재생 속도는, 상기 위치가 상기 기준 영역을 포함하는 임계 영역 외에 위치되는 경우, 0으로 설정될 수 있다. 예를 들어, 재생 속도가 0인 것은, 재생의 중단(또는, 중지, 취소)을 나타낼 수 있다.
도 11에서 도시하지 않았으나, 웨어러블 장치(103)는, 상기 비디오 데이터를 촬영하고 저장하기 위한 동작을 수행할 수 있다. 예를 들어, 상기 비디오 데이터를 촬영하고 저장하기 위한 방법은, 도 7a 내지 도 7d가 참조될 수 있다.
도 2a 내지 도 11에서는, 웨어러블 장치(103)에 적용되는 예들이 서술되나, 본 개시가 이에 제한되는 것은 아니다. 예를 들어, 본 개시는, 도 1의 전자 장치(101)에 대하여 적용될 수 있다. 또한, 예를 들어, 웨어러블 장치(103)는, 웨어러블 장치(103)와 연결된 전자 장치(101)에서 촬영된 3D 미디어 콘텐츠를 획득하고, 웨어러블 장치(103)에서 재생할 수도 있다.
본 개시에 따른 장치, 방법, 및 저장 매체는, 인공 지능 모델(artificial intelligence model, AI model)을 포함하는 웨어러블 장치(103)(또는 전자 장치(101))에 대하여도 적용될 수 있다. 예를 들어, 상기 인공 지능 모델은, 딥 러닝 기반의 생성형 모델을 포함할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 기준 영역을 식별하기 위해, 상기 인공 지능 모델을 이용할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 인공 지능 모델에 기반하여, 촬영된 비디오(또는 비디오 데이터)를 통해 식별하기 어려운 오브젝트의 부분(예: 도 9a의 예(900)에서 a 방향에서 비디오가 촬영되는 경우, b 방향의 부분)을 복원할 수 있다. 이에 따라, 웨어러블 장치(103)는, 복원된 정보를 이용하여, 상기 기준 영역을 조정할 수 있다. 이 때, 조정된 기준 영역은, 상기 기준 영역의 제한이 제거될 수 있다. 또한, 예를 들어, 웨어러블 장치(103)는, 비디오와 비디오 데이터(또는 비디오의 키 프레임과 비디오 데이터의 키 프레임) 사이의 유사도 값을 식별할 수 있다. 예를 들어, 웨어러블 장치(103)는, 상기 비디오의 키 프레임 및 상기 비디오 데이터의 하나 이상의 키 프레임들을 이용하여, 상기 인공 지능 모델에 기반하여, 상기 유사도 값을 식별할 수 있다.
도 2a 내지 도 11의 상기 예들에서, VST를 제공하는 웨어러블 장치(103)에 적용되는 경우가 서술되나, 본 개시가 이에 제한되는 것은 아니다. 본 개시는 웨어러블 장치(103)는, AR 환경을 제공하는 웨어러블 장치(103)에도 적용될 수 있다.
본 개시에 따른 장치, 방법, 및 저장 매체는, 웨어러블 장치(103)(또는 웨어러블 장치(103)의 사용자)의 위치에 따라 3D 미디어 콘텐츠(또는 3D 비디오)가 표시(또는 재생)될 공간 상의 위치 및 시간 상의 위치를 결정할 수 있다. 예를 들어, 본 개시에 따른 장치, 방법, 및 저장 매체는, 획득되고 표시하고 있는 외부 환경에 대한 비디오의 장면(또는 이미지, 프레임)과 저장된 비디오 데이터(또는 3D 미디어 콘텐츠, 3D 비디오, 다른 비디오)의 장면(또는 이미지, 프레임) 사이의 유사도를 이용하여, 유사한 공간을 나타내는 비디오 데이터(또는 다른 비디오)의 장면을 표시할 수 있다. 이 때, 상기 저장된 비디오의 프레임에 대응하는 타이밍은, 현재 표시 중인 외부 환경에 대한 비디오의 프레임에 따라 결정될 수 있다. 또한, 외부 환경에 대한 비디오 상에서 표시될 저장된 비디오를 나타내는 시각적 객체는, 저장된 비디오의 프레임 내 오브젝트들의 배치에 따라 결정될 수 있다. 이에 따라, 본 개시에 따른 장치, 방법 및 저장 매체는, 비디오 데이터(또는 3D 미디어 콘텐츠)가 촬영될 시점(time point)의 환경과 상기 환경 내의 오브젝트들(또는 피사체들)을, 현재 사용자가 보고 있는 환경 내에 적절한 공간상의 위치 및 시간상의 위치를 이용하여 표시함으로써, 사용자에게 높은 몰입감을 제공할 수 있다. 또한, 본 개시에 따른 장치, 방법 및 저장 매체는, 사용자를 고려하여 비디오 데이터를 표시함으로써, 사용자에게 편의성을 제공할 수 있다.
상술한 바와 같은, 웨어러블 장치(103)는, 인스트럭션들을 저장하고, 하나 이상의 저장 매체들을 포함하는, 메모리(415)를 포함할 수 있다. 웨어러블 장치(103)는, 적어도 하나의 카메라를 포함하는 카메라 시스템(430)을 포함할 수 있다. 웨어러블 장치(103)는, 적어도 하나의 디스플레이를 포함하는 디스플레이 시스템(250)을 포함할 수 있다. 웨어러블 장치(103)는, 프로세싱 회로를 포함하는 적어도 하나의 프로세서(410)를 포함할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 카메라 시스템(430)을 통해 획득되는 외부 환경에 대한 비디오를, 상기 디스플레이 시스템(250)을 통해, 표시하는 동안, 상기 비디오의 제1 키 프레임(key frame)을 결정하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 카메라 시스템(430)을 통해 획득되는 외부 환경에 대한 비디오를, 상기 디스플레이 시스템(250)을 통해, 표시하는 동안, 상기 웨어러블 장치(103) 내 저장된 비디오 데이터의 하나 이상의 키 프레임들 중에서, 상기 비디오의 상기 제1 키 프레임에 대한 상기 비디오 데이터의 상기 하나 이상의 키 프레임들의 하나 이상의 유사도 값들에 기반하여, 제2 키 프레임을 결정하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 기준 값을 초과하는 상기 제2 키 프레임의 유사도 값에 따라, 상기 제2 키 프레임에 대응하는 타이밍으로부터 재생되는 상기 비디오 데이터를 나타내는 시각적 객체를, 상기 디스플레이 시스템(250)을 통해, 상기 비디오와 적어도 일부 중첩하여 표시하도록, 야기할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 기준 값 이하인 상기 제2 키 프레임의 상기 유사도 값에 따라, 상기 비디오 데이터의 최초 프레임에 대응하는 다른 타이밍으로부터 재생되는 상기 비디오 데이터를 나타내는 다른 시각적 객체를, 상기 디스플레이 시스템(250)을 통해, 상기 비디오와 적어도 일부 중첩하여 표시하도록, 야기할 수 있다. 상기 다른 시각적 객체는, 상기 웨어러블 장치(103)의 사용자로부터 지정된 거리에 위치된 것으로 인식되도록, 표시될 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 기준 값 이하인 상기 제2 키 프레임의 상기 유사도 값에 기반하여, 상기 제2 키 프레임에 대응하는 상기 타이밍으로부터 재생되는 상기 비디오 데이터를 나타내는 상기 시각적 객체의 표시를 삼가하도록, 야기할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 카메라 시스템(430)을 통해 획득되는 상기 비디오의 프레임들 각각의 키 포인트(key point)들을 식별하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 비디오의 상기 프레임들 중 상기 제1 키 프레임의 키 포인트들이 기준을 만족하는 경우, 상기 제1 키 프레임을 상기 비디오의 키 프레임으로 결정하도록, 야기할 수 있다. 상기 기준은, 상기 제1 키 프레임의 상기 키 포인트들의 개수가 기준 개수 이상인 것, 상기 제1 키 프레임에 대응하는 타이밍과 상기 비디오의 다른 키 프레임에 대응하는 타이밍 사이의 시간 간격이 기준 시간 간격 이상인 것, 또는 상기 제1 키 프레임에 의해 지시되는 상기 외부 환경 내 영역 내에 상기 웨어러블 장치(103)가 위치된 시간 길이가 기준 시간 길이 이상인 것 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 비디오 데이터의 상기 하나 이상의 키 프레임들의 상기 하나 이상의 유사도 값들 중에서 최대값을 갖는 상기 제2 키 프레임의 상기 유사도 값을 식별하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 제2 키 프레임의 상기 유사도 값이 상기 기준 값을 초과하는지 여부를 결정하도록, 야기할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 제1 키 프레임의 키 포인트들의 제1 개수와 상기 하나 이상의 키 프레임들 각각의 키 포인트들의 제2 개수 사이의 차이를 식별하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 차이를 이용하여, 상기 하나 이상의 유사도 값들을 식별하도록, 야기할 수 있다. 상기 하나 이상의 유사도 값들 각각은, 상기 차이에 반비례할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 3D 미디어 콘텐츠의 재생에 대한 요청을 획득하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 요청에 따라, 상기 하나 이상의 유사도 값들을 식별하도록, 야기할 수 있다.
일 실시예에 따르면, 상기 시각적 객체가 상기 비디오와 적어도 일부 중첩하여 표시되는 위치는, 상기 제2 키 프레임의 키 포인트들을 대응하는 상기 제1 키 프레임의 키 포인트들에 위치하도록 변환함으로써, 결정될 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 시각적 객체 내 표시될 오브젝트를 나타내는 모드를 결정하기 위한 입력을 획득하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 모드가 제1 모드인 경우, 동적 오브젝트 및 정적 오브젝트를 포함하는 상기 시각적 객체를, 표시하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 모드가 상기 제1 모드와 상이한 제2 모드인 경우, 상기 동적 오브젝트 및 상기 정적 오브젝트 중 상기 동적 오브젝트를 포함하는 상기 시각적 객체를, 표시하도록, 야기할 수 있다.
일 실시예에 따르면, 상기 웨어러블 장치는, 적어도 하나의 센서를 포함하는 센서 시스템을 더 포함할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 사용자가 상기 비디오 데이터를 나타내는 상기 시각적 객체를 시청할 수 있는 상기 외부 환경 내의 기준 영역을 식별하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 센서 시스템 또는 상기 카메라 시스템(430) 중 적어도 하나를 이용하여, 상기 외부 환경 내의 상기 웨어러블 장치(103)의 위치를 식별하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 기준 영역 내에 위치되는 상기 웨어러블 장치(103)의 상기 위치에 따라, 상기 시각적 객체의 재생 속도를, 제1 속도로 결정하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 기준 영역 외에 위치되는 상기 웨어러블 장치(103)의 상기 위치에 따라, 상기 시각적 객체의 상기 재생 속도를, 상기 제1 속도 보다 느린 제2 속도로 결정하도록, 야기할 수 있다. 상기 제2 속도는, 상기 위치가 상기 기준 영역으로부터 멀어짐에 따라, 감소할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 비디오와 함께, 상기 기준 영역을 지시하기 위한 인디케이터를, 상기 디스플레이 시스템(250)을 통해, 표시하도록, 야기할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 기준 영역 외에 위치되는 상기 웨어러블 장치(103)의 상기 위치를 식별함에 따라, 상기 기준 영역으로 이동할 것을 상기 웨어러블 장치(103)의 사용자에게 알리기 위한 알림을, 상기 비디오와 함께, 상기 디스플레이 시스템(250)을 통해, 표시하도록, 야기할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 비디오 데이터를 포함하는 비디오 데이터 세트를 식별하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 시각적 객체를 표시하기 전, 상기 비디오 데이터 세트 내 상기 비디오 데이터의 상기 제2 키 프레임에 대한 프리뷰 이미지 및 다른 비디오 데이터의 키 프레임에 대한 다른 프리뷰 이미지를 포함하고, 상기 비디오와 함께 표시될 비디오를 결정하기 위한 선택 화면을, 상기 비디오와 함께, 상기 디스플레이 시스템(250)을 통해, 표시하도록, 야기할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 시각적 객체를 표시하기 전, 상기 웨어러블 장치(103) 내 저장된 상기 비디오 데이터가 존재하지 않음을 알리기 위한 어포던스(affordance)를, 상기 비디오와 함께, 상기 디스플레이 시스템(250)을 통해, 표시하도록, 야기할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 비디오를 표시하기 전, 3D 미디어 콘텐츠의 획득을 위한 소프트웨어 어플리케이션을 실행하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 소프트웨어 어플리케이션의 실행에 따라, 상기 비디오 데이터에 대응하는 다른 비디오를 획득하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 다른 비디오를 이용하여, 상기 하나 이상의 프레임들을 식별하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 다른 비디오를 이용하여, 상기 다른 비디오를 촬영하는 동안의 이동 궤적을 생성하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 하나 이상의 프레임들 및 상기 이동 궤적을 이용하여, 상기 다른 비디오를 재구성함에 따라, 상기 비디오 데이터를 상기 웨어러블 장치(103) 내에 저장하도록, 야기할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 비디오 데이터를 이용하여, 사용자가 상기 비디오 데이터를 나타내는 상기 시각적 객체를 시청할 수 있는 상기 외부 환경 내의 기준 영역을 식별하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 기준 영역에 대한 정보를 상기 비디오 데이터와 함께 상기 웨어러블 장치(103) 내에 저장하도록, 야기할 수 있다.
일 실시예에 따르면, 상기 비디오 데이터는, 상기 제2 키 프레임의 키 포인트들에 대한 정보를 포함할 수 있다. 상기 제2 키 프레임의 상기 키 포인트들에 대한 상기 정보는, 상기 제2 키 프레임의 상기 키 포인트들 각각으로부터 정의되는 지정된 사이즈를 갖는 영역 정보 및 상기 제2 키 프레임의 상기 키 포인트들 각각의 디스크립터(descriptor)를 포함할 수 있다.
일 실시예에 따르면, 상기 비디오 데이터는, 상기 웨어러블 장치(103)와 연결된 외부 전자 장치로부터 획득될 수 있다.
상술한 바와 같은, 웨어러블 장치(103)에 의해 수행되는 방법은, 외부 환경에 대한 비디오를 표시하는 동안, 상기 비디오의 제1 키 프레임(key frame)을 결정하는 동작을 포함할 수 있다. 상기 방법은, 외부 환경에 대한 비디오를 표시하는 동안, 상기 웨어러블 장치(103) 내 저장된 비디오 데이터의 하나 이상의 키 프레임들 중에서, 상기 비디오의 상기 제1 키 프레임에 대한 상기 비디오 데이터의 상기 하나 이상의 키 프레임들의 하나 이상의 유사도 값들에 기반하여, 제2 키 프레임을 결정하는 동작을 포함할 수 있다. 상기 방법은, 기준 값을 초과하는 상기 제2 키 프레임의 유사도 값에 기반하여, 상기 제2 키 프레임에 대응하는 타이밍으로부터 재생되는 상기 비디오 데이터를 나타내는 시각적 객체를 상기 비디오와 적어도 일부 중첩하여 표시하는 동작을 포함할 수 있다.
상술한 바와 같은, 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 적어도 하나의 카메라를 포함하는 카메라 시스템(430) 및 적어도 하나의 디스플레이를 포함하는 디스플레이 시스템(250)을 포함하는 웨어러블 장치(103)의 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 카메라 시스템(430)을 통해 획득되는 외부 환경에 대한 비디오를, 상기 디스플레이 시스템(250)을 통해, 표시하는 동안, 상기 비디오의 제1 키 프레임(key frame)을 결정하도록, 야기하는 인스트럭션들을 포함하는 하나 이상의 프로그램들을 저장할 수 있다. 상기 비일시적 컴퓨터 판독가능 저장 매체는 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 카메라 시스템(430)을 통해 획득되는 외부 환경에 대한 비디오를, 상기 디스플레이 시스템(250)을 통해, 표시하는 동안, 상기 웨어러블 장치(103) 내 저장된 비디오 데이터의 하나 이상의 키 프레임들 중에서, 상기 비디오의 상기 제1 키 프레임에 대한 상기 비디오 데이터의 상기 하나 이상의 키 프레임들의 하나 이상의 유사도 값들에 기반하여, 제2 키 프레임을 결정하도록, 야기하는 인스트럭션들을 포함하는 하나 이상의 프로그램들을 저장할 수 있다. 상기 비일시적 컴퓨터 판독가능 저장 매체는 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 기준 값을 초과하는 상기 제2 키 프레임의 유사도 값에 기반하여, 상기 제2 키 프레임에 대응하는 타이밍으로부터 재생되는 상기 비디오 데이터를 나타내는 시각적 객체를, 상기 디스플레이 시스템(250)을 통해, 상기 비디오와 적어도 일부 중첩하여 표시하도록, 야기하는 인스트럭션들을 포함하는 하나 이상의 프로그램들을 저장할 수 있다.
상술한 바와 같은, 웨어러블 장치(103)는, 인스트럭션들을 저장하고, 하나 이상의 저장 매체들을 포함하는, 메모리(415)를 포함할 수 있다. 상기 웨어러블 장치(103)는, 적어도 하나의 카메라를 포함하는 카메라 시스템(430)을 포함할 수 있다. 상기 웨어러블 장치(103)는, 적어도 하나의 디스플레이를 포함하는 디스플레이 시스템(250)을 포함할 수 있다. 상기 웨어러블 장치(103)는, 프로세싱 회로를 포함하는 적어도 하나의 프로세서(410)를 포함할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 카메라 시스템(430)을 통해 획득되는 외부 환경의 라이브 비디오를, 상기 디스플레이 시스템(250)을 통해, 표시하는 동안, 상기 라이브 비디오의 제1 기준 프레임(reference frame)을 식별하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 카메라 시스템(430)을 통해 획득되는 외부 환경의 라이브 비디오를, 상기 디스플레이 시스템(250)을 통해, 표시하는 동안, 상기 라이브 비디오의 상기 제1 기준 프레임에 대한 비디오 데이터의 프레임들의 하나 이상의 유사도 값들에 기반하여, 상기 웨어러블 장치(103) 내 저장된 상기 비디오 데이터의 제2 기준 프레임을 식별하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 카메라 시스템(430)을 통해 획득되는 외부 환경의 라이브 비디오를, 상기 디스플레이 시스템(250)을 통해, 표시하는 동안, 상기 제2 기준 프레임에 대응하는 시점(time point)으로부터 재생되는 상기 비디오 데이터의 상기 프레임들로부터 추출된 시각적 객체를, 상기 디스플레이 시스템(250)을 통해, 상기 라이브 비디오와 적어도 일부 중첩하여 표시하도록, 야기할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 기준 값 이하인 상기 제2 기준 프레임의 유사도 값에 따라, 상기 비디오 데이터의 최초 프레임에 대응하는 다른 시점으로부터 재생되는 상기 비디오 데이터의 상기 프레임들로부터 추출된 다른 시각적 객체를, 상기 디스플레이 시스템(250)을 통해, 상기 라이브 비디오와 적어도 일부 중첩하여 표시하도록, 야기할 수 있다. 상기 다른 시각적 객체는, 상기 웨어러블 장치(103)의 사용자로부터 지정된 거리에 위치된 것으로 인식되도록, 표시될 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 기준 값 이하인 상기 제2 기준 프레임의 상기 유사도 값에 기반하여, 상기 제2 기준 프레임에 대응하는 상기 시점으로부터 재생되는 상기 비디오 데이터의 상기 프레임들로부터 추출된 상기 시각적 객체의 표시를 삼가하도록, 야기할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 카메라 시스템(430)을 통해 획득되는 상기 라이브 비디오의 프레임들 각각의 키 포인트(key point)들을 식별하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 라이브 비디오의 상기 프레임들 중 상기 제1 기준 프레임의 키 포인트들이 기준을 만족하는 경우, 상기 제1 기준 프레임을 상기 라이브 비디오의 기준 프레임으로 결정하도록, 야기할 수 있다. 상기 기준은, 상기 제1 기준 프레임의 상기 키 포인트들의 개수가 기준 개수 이상인 것, 상기 제1 기준 프레임에 대응하는 시점과 상기 비디오의 다른 기준 프레임에 대응하는 시점 사이의 시간 간격이 기준 시간 간격 이상인 것, 또는 상기 제1 기준 프레임에 의해 지시되는 상기 외부 환경 내 영역 내에 상기 웨어러블 장치(103)가 위치된 시간 길이가 기준 시간 길이 이상인 것 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 비디오 데이터의 하나 이상의 기준 프레임들의 상기 하나 이상의 유사도 값들 중에서 최대값을 갖는 상기 제2 기준 프레임의 유사도 값을 식별하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 제2 기준 프레임의 상기 유사도 값이 상기 기준 값을 초과하는지 여부를 결정하도록, 야기할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 제1 기준 프레임의 키 포인트들의 제1 개수와 상기 하나 이상의 기준 프레임들 각각의 키 포인트들의 제2 개수 사이의 차이를 식별하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 차이를 이용하여, 상기 하나 이상의 유사도 값들을 식별하도록, 야기할 수 있다. 상기 하나 이상의 유사도 값들 각각은, 상기 차이에 반비례할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 3D 미디어 콘텐츠의 재생에 대한 요청을 획득하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 요청에 따라, 상기 하나 이상의 유사도 값들을 식별하도록, 야기할 수 있다.
일 실시예에 따르면, 상기 시각적 객체가 상기 비디오와 적어도 일부 중첩하여 표시되는 위치는, 상기 제2 기준 프레임의 키 포인트들을 대응하는 상기 제1 기준 프레임의 키 포인트들에 위치하도록 변환함으로써, 결정될 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 시각적 객체 내 표시될 오브젝트를 나타내는 모드를 결정하기 위한 입력을 획득하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 모드가 제1 모드인 경우, 동적 오브젝트 및 정적 오브젝트를 포함하는 상기 시각적 객체를, 표시하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 모드가 상기 제1 모드와 상이한 제2 모드인 경우, 상기 동적 오브젝트 및 상기 정적 오브젝트 중 상기 동적 오브젝트를 포함하는 상기 시각적 객체를, 표시하도록, 야기할 수 있다.
일 실시예에 따르면, 상기 웨어러블 장치(103)는, 적어도 하나의 센서를 포함하는 센서 시스템을 더 포함할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 사용자가 상기 비디오 데이터의 상기 프레임들로부터 추출된 상기 시각적 객체를 시청할 수 있는 상기 외부 환경 내의 기준 영역을 식별하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 센서 시스템 또는 상기 카메라 시스템(430) 중 적어도 하나를 이용하여, 상기 외부 환경 내의 상기 웨어러블 장치(103)의 위치를 식별하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 기준 영역 내에 위치되는 상기 웨어러블 장치(103)의 상기 위치에 따라, 상기 시각적 객체의 재생 속도를, 제1 속도로 결정하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 기준 영역 외에 위치되는 상기 웨어러블 장치(103)의 상기 위치에 따라, 상기 시각적 객체의 상기 재생 속도를, 상기 제1 속도 보다 느린 제2 속도로 결정하도록, 야기할 수 있다. 상기 제2 속도는, 상기 위치가 상기 기준 영역으로부터 멀어짐에 따라, 감소할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 라이브 비디오와 함께, 상기 기준 영역을 지시하기 위한 인디케이터를, 상기 디스플레이 시스템(250)을 통해, 표시하도록, 야기할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 기준 영역 외에 위치되는 상기 웨어러블 장치(103)의 상기 위치를 식별함에 따라, 상기 기준 영역으로 이동할 것을 상기 웨어러블 장치(103)의 사용자에게 알리기 위한 알림을, 상기 라이브 비디오와 함께, 상기 디스플레이 시스템(250)을 통해, 표시하도록, 야기할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 비디오 데이터를 포함하는 비디오 데이터 세트를 식별하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 시각적 객체를 표시하기 전, 상기 비디오 데이터 세트 내 상기 비디오 데이터의 상기 제2 기준 프레임에 대한 프리뷰 이미지 및 다른 비디오 데이터의 기준 프레임에 대한 다른 프리뷰 이미지를 포함하고, 상기 라이브 비디오와 함께 표시될 비디오를 결정하기 위한 선택 화면을, 상기 라이브 비디오와 함께, 상기 디스플레이 시스템(250)을 통해, 표시하도록, 야기할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 시각적 객체를 표시하기 전, 상기 웨어러블 장치(103) 내 저장된 상기 비디오 데이터가 존재하지 않음을 알리기 위한 어포던스(affordance)를, 상기 라이브 비디오와 함께, 상기 디스플레이 시스템(250)을 통해, 표시하도록, 야기할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 비디오를 표시하기 전, 3D 미디어 콘텐츠의 획득을 위한 소프트웨어 어플리케이션을 실행하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 소프트웨어 어플리케이션의 실행에 따라, 상기 비디오 데이터에 대응하는 다른 비디오를 획득하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 다른 비디오를 이용하여, 상기 비디오 데이터의 하나 이상의 기준 프레임들을 식별하고, 및 상기 다른 비디오를 촬영하는 동안의 이동 궤적을 생성하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 하나 이상의 프레임들 및 상기 이동 궤적을 이용하여, 상기 다른 비디오를 재구성함에 따라, 상기 비디오 데이터를 상기 웨어러블 장치(103) 내에 저장하도록, 야기할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 비디오 데이터를 이용하여, 사용자가 상기 비디오 데이터의 상기 프레임들로부터 추출된 상기 시각적 객체를 시청할 수 있는 상기 외부 환경 내의 기준 영역을 식별하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 기준 영역에 대한 정보를 상기 비디오 데이터와 함께 상기 웨어러블 장치(103) 내에 저장하도록, 야기할 수 있다.
일 실시예에 따르면, 상기 비디오 데이터는, 상기 제2 기준 프레임의 키 포인트들에 대한 정보를 포함할 수 있다. 상기 제2 기준 프레임의 상기 키 포인트들에 대한 상기 정보는, 상기 제2 기준 프레임의 상기 키 포인트들 각각으로부터 정의되는 지정된 사이즈를 갖는 영역 정보 및 상기 제2 기준 프레임의 상기 키 포인트들 각각의 디스크립터(descriptor)를 포함할 수 있다.
상술한 바와 같은, 웨어러블 장치(103)에 의해 수행되는 방법은, 외부 환경의 라이브 비디오를 표시하는 동안, 상기 라이브 비디오의 제1 기준 프레임(reference frame)을 식별하는 동작을 포함할 수 있다. 상기 방법은, 외부 환경의 라이브 비디오를 표시하는 동안, 상기 라이브 비디오의 상기 제1 기준 프레임에 대한 비디오 데이터의 프레임들의 하나 이상의 유사도 값들에 기반하여, 상기 웨어러블 장치(103) 내 저장된 상기 비디오 데이터의 제2 기준 프레임을 식별하는 동작을 포함할 수 있다. 상기 방법은, 외부 환경의 라이브 비디오를 표시하는 동안, 상기 제2 기준 프레임에 대응하는 시점(time point)으로부터 재생되는 상기 비디오 데이터의 상기 프레임들로부터 추출된 시각적 객체를 상기 라이브 비디오와 적어도 일부 중첩하여 표시하는 동작을 포함할 수 있다.
상술한 바와 같은, 비일시적 컴퓨터 판독가능 저장 매체는, 적어도 하나의 카메라를 포함하는 카메라 시스템(430) 및 적어도 하나의 디스플레이를 포함하는 디스플레이 시스템(250)을 포함하는 웨어러블 장치(103)의 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 카메라 시스템(430)을 통해 획득되는 외부 환경의 라이브 비디오를, 상기 디스플레이 시스템(250)을 통해, 표시하는 동안, 상기 라이브 비디오의 제1 기준 프레임(reference frame)을 식별하도록, 야기하는 인스트럭션들을 포함하는 하나 이상의 프로그램들을 저장할 수 있다. 상기 비일시적 컴퓨터 판독가능 저장 매체는, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 라이브 비디오의 상기 제1 기준 프레임에 대한 비디오 데이터의 프레임들의 하나 이상의 유사도 값들에 기반하여, 상기 웨어러블 장치(103) 내 저장된 상기 비디오 데이터의 제2 기준 프레임을 식별하도록, 야기하는 인스트럭션들을 포함하는 하나 이상의 프로그램들을 저장할 수 있다. 상기 비일시적 컴퓨터 판독가능 저장 매체는, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 제2 기준 프레임에 대응하는 시점(time point)으로부터 재생되는 상기 비디오 데이터의 상기 프레임들로부터 추출된 시각적 객체를, 상기 디스플레이 시스템(250)을 통해, 상기 라이브 비디오와 적어도 일부 중첩하여 표시하도록, 야기하는 인스트럭션들을 포함하는 하나 이상의 프로그램들을 저장할 수 있다.
상술한 바와 같은, 웨어러블 장치(103)는, 인스트럭션들을 저장하고, 하나 이상의 저장 매체들을 포함하는, 메모리(415)를 포함할 수 있다. 상기 웨어러블 장치(103)는, 적어도 하나의 카메라를 포함하는 카메라 시스템(430)를 포함할 수 있다. 상기 웨어러블 장치(103)는, 적어도 하나의 디스플레이를 포함하는 디스플레이 시스템(250)를 포함할 수 있다. 상기 웨어러블 장치(103)는, 프로세싱 회로를 포함하는 적어도 하나의 프로세서(410)를 포함할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 카메라 시스템(430)을 통해 획득되는 외부 환경의 라이브 비디오를, 상기 디스플레이 시스템(250)을 통해, 표시하는 동안, 상기 라이브 비디오의 제1 기준 프레임(reference frame)을 식별하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 카메라 시스템(430)을 통해 획득되는 외부 환경의 라이브 비디오를, 상기 디스플레이 시스템(250)을 통해, 표시하는 동안, 상기 라이브 비디오의 상기 제1 기준 프레임의 배경 특징들과 비디오 데이터의 프레임들의 배경 특징들 사이의 비교에 기반하여, 상기 웨어러블 장치(103) 내 저장된 상기 비디오 데이터의 제2 기준 프레임을 식별하도록, 야기할 수 있다. 상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가, 상기 카메라 시스템(430)을 통해 획득되는 외부 환경의 라이브 비디오를, 상기 디스플레이 시스템(250)을 통해, 표시하는 동안, 상기 제2 기준 프레임에 대응하는 시점(time point)으로부터 재생되는 상기 비디오 데이터의 상기 프레임들로부터 추출된, 이동체(moving object)와 관련된, 이미지의 부분을, 상기 디스플레이 시스템(250)을 통해, 상기 라이브 비디오와 적어도 일부 중첩하여 표시하도록, 야기할 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "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))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
Claims (15)
- 웨어러블 장치(103)에 있어서,인스트럭션들을 저장하고, 하나 이상의 저장 매체들을 포함하는, 메모리(415);적어도 하나의 카메라를 포함하는 카메라 시스템(430);적어도 하나의 디스플레이를 포함하는 디스플레이 시스템(250); 및프로세싱 회로를 포함하는 적어도 하나의 프로세서(410)를 포함하고,상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가:상기 카메라 시스템(430)을 통해 획득되는 외부 환경의 라이브 비디오를, 상기 디스플레이 시스템(250)을 통해, 표시하는 동안:상기 라이브 비디오의 제1 기준 프레임(reference frame)을 식별하고, 및상기 라이브 비디오의 상기 제1 기준 프레임에 대한 비디오 데이터의 프레임들의 하나 이상의 유사도 값들에 기반하여, 상기 웨어러블 장치(103) 내 저장된 상기 비디오 데이터의 제2 기준 프레임을 식별하고; 및상기 제2 기준 프레임에 대응하는 시점(time point)으로부터 재생되는 상기 비디오 데이터의 상기 프레임들로부터 추출된 시각적 객체를, 상기 디스플레이 시스템(250)을 통해, 상기 라이브 비디오와 적어도 일부 중첩하여 표시하도록, 야기하는,웨어러블 장치(103).
- 청구항 1에 있어서,상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가:기준 값 이하인 상기 제2 기준 프레임의 유사도 값에 따라, 상기 비디오 데이터의 최초 프레임에 대응하는 다른 시점으로부터 재생되는 상기 비디오 데이터의 상기 프레임들로부터 추출된 다른 시각적 객체를, 상기 디스플레이 시스템(250)을 통해, 상기 라이브 비디오와 적어도 일부 중첩하여 표시하도록, 야기하고,상기 다른 시각적 객체는, 상기 웨어러블 장치(103)의 사용자로부터 지정된 거리에 위치된 것으로 인식되도록, 표시되는,웨어러블 장치(103).
- 청구항 2에 있어서,상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가:상기 기준 값 이하인 상기 제2 기준 프레임의 상기 유사도 값에 기반하여, 상기 제2 기준 프레임에 대응하는 상기 시점으로부터 재생되는 상기 비디오 데이터의 상기 프레임들로부터 추출된 상기 시각적 객체의 표시를 삼가하도록, 야기하는,웨어러블 장치(103).
- 청구항 1에 있어서,상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가:상기 카메라 시스템(430)을 통해 획득되는 상기 라이브 비디오의 프레임들 각각의 키 포인트(key point)들을 식별하고; 및상기 라이브 비디오의 상기 프레임들 중 상기 제1 기준 프레임의 키 포인트들이 기준을 만족하는 경우, 상기 제1 기준 프레임을 상기 라이브 비디오의 기준 프레임으로 결정하도록, 야기하고,상기 기준은:상기 제1 기준 프레임의 상기 키 포인트들의 개수가 기준 개수 이상인 것,상기 제1 기준 프레임에 대응하는 시점과 상기 비디오의 다른 기준 프레임에 대응하는 시점 사이의 시간 간격이 기준 시간 간격 이상인 것, 또는상기 제1 기준 프레임에 의해 지시되는 상기 외부 환경 내 영역 내에 상기 웨어러블 장치(103)가 위치된 시간 길이가 기준 시간 길이 이상인 것 중 적어도 하나를 포함하는,웨어러블 장치(103).
- 청구항 1에 있어서,상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가:상기 비디오 데이터의 하나 이상의 기준 프레임들의 상기 하나 이상의 유사도 값들 중에서 최대값을 갖는 상기 제2 기준 프레임의 유사도 값을 식별하고; 및상기 제2 기준 프레임의 상기 유사도 값이 상기 기준 값을 초과하는지 여부를 결정하도록, 야기하는,웨어러블 장치(103).
- 청구항 5에 있어서,상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가:상기 제1 기준 프레임의 키 포인트들의 제1 개수와 상기 하나 이상의 기준 프레임들 각각의 키 포인트들의 제2 개수 사이의 차이를 식별하고; 및상기 차이를 이용하여, 상기 하나 이상의 유사도 값들을 식별하도록, 야기하고,상기 하나 이상의 유사도 값들 각각은, 상기 차이에 반비례하는,웨어러블 장치(103).
- 청구항 6에 있어서,상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가:3D 미디어 콘텐츠의 재생에 대한 요청을 획득하고; 및상기 요청에 따라, 상기 하나 이상의 유사도 값들을 식별하도록, 야기하는,웨어러블 장치(103).
- 청구항 1에 있어서,상기 시각적 객체가 상기 비디오와 적어도 일부 중첩하여 표시되는 위치는, 상기 제2 기준 프레임의 키 포인트들을 대응하는 상기 제1 기준 프레임의 키 포인트들에 위치하도록 변환함으로써, 결정되는,웨어러블 장치(103).
- 청구항 1에 있어서,상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가:상기 시각적 객체 내 표시될 오브젝트를 나타내는 모드를 결정하기 위한 입력을 획득하고;상기 모드가 제1 모드인 경우, 동적 오브젝트 및 정적 오브젝트를 포함하는 상기 시각적 객체를, 표시하고; 및상기 모드가 상기 제1 모드와 상이한 제2 모드인 경우, 상기 동적 오브젝트 및 상기 정적 오브젝트 중 상기 동적 오브젝트를 포함하는 상기 시각적 객체를, 표시하도록, 야기하는,웨어러블 장치(103).
- 청구항 1에 있어서,상기 웨어러블 장치(103)는, 적어도 하나의 센서를 포함하는 센서 시스템을 더 포함하고,상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가:사용자가 상기 비디오 데이터의 상기 프레임들로부터 추출된 상기 시각적 객체를 시청할 수 있는 상기 외부 환경 내의 기준 영역을 식별하고;상기 센서 시스템 또는 상기 카메라 시스템(430) 중 적어도 하나를 이용하여, 상기 외부 환경 내의 상기 웨어러블 장치(103)의 위치를 식별하고;상기 기준 영역 내에 위치되는 상기 웨어러블 장치(103)의 상기 위치에 따라, 상기 시각적 객체의 재생 속도를, 제1 속도로 결정하고; 및상기 기준 영역 외에 위치되는 상기 웨어러블 장치(103)의 상기 위치에 따라, 상기 시각적 객체의 상기 재생 속도를, 상기 제1 속도 보다 느린 제2 속도로 결정하도록, 야기하고,상기 제2 속도는, 상기 위치가 상기 기준 영역으로부터 멀어짐에 따라, 감소하는,웨어러블 장치(103).
- 청구항 10에 있어서,상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가:상기 라이브 비디오와 함께, 상기 기준 영역을 지시하기 위한 인디케이터를, 상기 디스플레이 시스템(250)을 통해, 표시하도록, 야기하는,웨어러블 장치(103).
- 청구항 1에 있어서,상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가:상기 비디오 데이터를 포함하는 비디오 데이터 세트를 식별하고; 및상기 시각적 객체를 표시하기 전, 상기 비디오 데이터 세트 내 상기 비디오 데이터의 상기 제2 기준 프레임에 대한 프리뷰 이미지 및 다른 비디오 데이터의 기준 프레임에 대한 다른 프리뷰 이미지를 포함하고, 상기 라이브 비디오와 함께 표시될 비디오를 결정하기 위한 선택 화면을, 상기 라이브 비디오와 함께, 상기 디스플레이 시스템(250)을 통해, 표시하도록, 야기하는,웨어러블 장치(103).
- 청구항 1에 있어서,상기 인스트럭션들은, 상기 적어도 하나의 프로세서(410)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가:상기 비디오를 표시하기 전, 3D 미디어 콘텐츠의 획득을 위한 소프트웨어 어플리케이션을 실행하고;상기 소프트웨어 어플리케이션의 실행에 따라, 상기 비디오 데이터에 대응하는 다른 비디오를 획득하고;상기 다른 비디오를 이용하여:상기 비디오 데이터의 하나 이상의 기준 프레임들을 식별하고, 및상기 다른 비디오를 촬영하는 동안의 이동 궤적을 생성하고; 및상기 하나 이상의 프레임들 및 상기 이동 궤적을 이용하여, 상기 다른 비디오를 재구성함에 따라, 상기 비디오 데이터를 상기 웨어러블 장치(103) 내에 저장하도록, 야기하는,웨어러블 장치(103).
- 웨어러블 장치(103)에 의해 수행되는 방법에 있어서,외부 환경의 라이브 비디오를 표시하는 동안:상기 라이브 비디오의 제1 기준 프레임(reference frame)을 식별하는 동작;상기 라이브 비디오의 상기 제1 기준 프레임에 대한 비디오 데이터의 프레임들의 하나 이상의 유사도 값들에 기반하여, 상기 웨어러블 장치(103) 내 저장된 상기 비디오 데이터의 제2 기준 프레임을 식별하는 동작; 및상기 제2 기준 프레임에 대응하는 시점(time point)으로부터 재생되는 상기 비디오 데이터의 상기 프레임들로부터 추출된 시각적 객체를 상기 라이브 비디오와 적어도 일부 중첩하여 표시하는 동작을 포함하는,방법.
- 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 적어도 하나의 카메라를 포함하는 카메라 시스템(430) 및 적어도 하나의 디스플레이를 포함하는 디스플레이 시스템(250)을 포함하는 웨어러블 장치(103)에 의해 개별적으로 또는 집합적으로 실행될 시, 상기 웨어러블 장치(103)가:상기 카메라 시스템(430)을 통해 획득되는 외부 환경의 라이브 비디오를, 상기 디스플레이 시스템(250)을 통해, 표시하는 동안:상기 라이브 비디오의 제1 기준 프레임(reference frame)을 식별하고, 및상기 라이브 비디오의 상기 제1 기준 프레임에 대한 비디오 데이터의 프레임들의 하나 이상의 유사도 값들에 기반하여, 상기 웨어러블 장치(103) 내 저장된 상기 비디오 데이터의 제2 기준 프레임을 식별하고; 및상기 제2 기준 프레임에 대응하는 시점(time point)으로부터 재생되는 상기 비디오 데이터의 상기 프레임들로부터 추출된 시각적 객체를, 상기 디스플레이 시스템(250)을 통해, 상기 라이브 비디오와 적어도 일부 중첩하여 표시하도록, 야기하는 인스트럭션들을 포함하는 하나 이상의 프로그램들을 저장하는,비일시적 컴퓨터 판독가능 저장 매체.
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2024-0064237 | 2024-05-17 | ||
| KR20240064237 | 2024-05-17 | ||
| KR1020240093302A KR20250165168A (ko) | 2024-05-17 | 2024-07-15 | 미디어 콘텐트를 재생하기 위한 장치, 방법, 및 저장 매체 |
| KR10-2024-0093302 | 2024-07-15 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025239571A1 true WO2025239571A1 (ko) | 2025-11-20 |
Family
ID=97720374
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2025/005395 Pending WO2025239571A1 (ko) | 2024-05-17 | 2025-04-21 | 미디어 콘텐트를 재생하기 위한 장치, 방법, 및 저장 매체 |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2025239571A1 (ko) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101313644B1 (ko) * | 2011-11-28 | 2013-10-14 | 서울대학교산학협력단 | 동영상 디스클립터 재활용 방법 |
| JP2014240961A (ja) * | 2014-06-17 | 2014-12-25 | 独立行政法人理化学研究所 | 代替現実システム制御装置、代替現実システム、代替現実システム制御方法、プログラム、および記録媒体 |
| JP2017049680A (ja) * | 2015-08-31 | 2017-03-09 | 大日本印刷株式会社 | 対象物指示システム、対象物指示方法及びプログラム |
| KR101734029B1 (ko) * | 2016-01-19 | 2017-05-10 | 박명준 | 이동형 촬영영상의 유사도 분석을 이용한 지능형 이동 감시시스템 및 그 감시방법 |
| US20170343823A1 (en) * | 2014-12-15 | 2017-11-30 | Shimadzu Corporation | Dynamic image processing device for head mounted display, dynamic image processing method for head mounted display and head mounted display system |
-
2025
- 2025-04-21 WO PCT/KR2025/005395 patent/WO2025239571A1/ko active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101313644B1 (ko) * | 2011-11-28 | 2013-10-14 | 서울대학교산학협력단 | 동영상 디스클립터 재활용 방법 |
| JP2014240961A (ja) * | 2014-06-17 | 2014-12-25 | 独立行政法人理化学研究所 | 代替現実システム制御装置、代替現実システム、代替現実システム制御方法、プログラム、および記録媒体 |
| US20170343823A1 (en) * | 2014-12-15 | 2017-11-30 | Shimadzu Corporation | Dynamic image processing device for head mounted display, dynamic image processing method for head mounted display and head mounted display system |
| JP2017049680A (ja) * | 2015-08-31 | 2017-03-09 | 大日本印刷株式会社 | 対象物指示システム、対象物指示方法及びプログラム |
| KR101734029B1 (ko) * | 2016-01-19 | 2017-05-10 | 박명준 | 이동형 촬영영상의 유사도 분석을 이용한 지능형 이동 감시시스템 및 그 감시방법 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2025239571A1 (ko) | 미디어 콘텐트를 재생하기 위한 장치, 방법, 및 저장 매체 | |
| WO2025216422A1 (ko) | 픽셀들의 깊이 값을 설정하기 위한 웨어러블 장치, 방법, 및 비일시적 컴퓨터 판독 가능 저장 매체 | |
| WO2026034748A1 (ko) | 전자 장치의 데이터를 입력으로 인식하기 위한 웨어러블 장치, 방법, 및 비일시적 컴퓨터 판독 가능 저장 매체 | |
| WO2026043081A1 (ko) | 사용자의 시선에 따라 이미지를 획득하기 위한 웨어러블 장치, 방법, 및 비-일시적 컴퓨터 판독가능 저장매체 | |
| WO2025225926A1 (ko) | 아바타의 전역 움직임을 생성하기 위한 웨어러블 장치, 방법, 및 비일시적 컴퓨터 판독 가능 저장 매체 | |
| WO2025023479A1 (ko) | 가상 공간 내에서 어플리케이션에 관한 시각적 객체를 표시하기 위한 전자 장치, 방법, 및 컴퓨터 판독 가능 저장 매체 | |
| WO2026023845A1 (ko) | 외부 전자 장치와 연결하기 위한 웨어러블 장치, 방법, 및 비일시적 컴퓨터 판독 가능 저장 매체 | |
| WO2025023480A1 (ko) | 가상 공간의 전환에 기반하여 화면을 변경하기 위한 전자 장치, 방법, 및 컴퓨터 판독 가능 저장 매체 | |
| WO2025216484A1 (ko) | 아바타의 표시를 위한 방식을 변경하기 위한 웨어러블 장치, 방법, 및 비일시적 컴퓨터 판독 가능 저장 매체 | |
| WO2025244289A1 (ko) | 사용자 인터페이스를 표시하기 위한 웨어러블 장치, 방법, 및 비일시적 컴퓨터 판독 가능 저장 매체 | |
| WO2025258879A1 (ko) | 데이터를 입력으로 인식하는 웨어러블 장치, 방법, 및 비일시적 컴퓨터 판독 가능 저장 매체 | |
| WO2026059183A1 (ko) | 관심 영역에 대한 프로세싱을 수행하기 위한 웨어러블 장치, 방법, 및 비일시적 컴퓨터 판독 가능 저장 매체 | |
| WO2025048141A1 (ko) | 타겟 객체의 위치를 식별하기 위한 웨어러블 장치 및 방법 | |
| WO2026095355A1 (ko) | 디스플레이를 통해 표시되는 화면을 제어하기 위한 전자 장치, 방법, 및 비-일시적 컴퓨터 판독가능 저장 매체 | |
| WO2025037953A1 (ko) | 다수의 제공자들의 아바타들을 관리하고 표시하기 위한 전자 장치 및 방법 | |
| WO2026043226A1 (ko) | 아바타를 표시하기 위한 전자 장치, 방법, 및 비-일시적 컴퓨터 판독 가능 저장 매체 | |
| WO2025110582A1 (ko) | 외부 객체에 대한 거리를 측정하기 위한 장치 및 방법 | |
| WO2025150657A1 (ko) | 3인칭 시점의 콘텐트를 제공하기 위한 전자 장치 및 방법 | |
| WO2026023964A1 (ko) | 시뮬레이션 입력을 처리하는 웨어러블 장치, 방법, 및 비-일시적 컴퓨터 판독 가능 기록 매체 | |
| WO2026059067A1 (ko) | 가상 환경에서 객체를 표시하기 위한 웨어러블 장치, 방법, 및 비일시적 컴퓨터 판독가능 저장 매체 | |
| WO2026005180A1 (ko) | 고 동적 대역 영상을 생성하는 전자 장치 및 그 동작 방법 | |
| WO2026034811A1 (ko) | 외부 객체에 대응하는 시각적 객체를 표시하기 위한 웨어러블 장치, 방법, 및 비일시적 컴퓨터 판독 가능 저장 매체 | |
| WO2026075378A1 (ko) | 시각적 객체를 표시하기 위한 웨어러블 장치 및 방법 | |
| WO2026059040A1 (ko) | 사용자의 시력에 기반하여 화면을 표시하기 위한 웨어러블 장치, 방법, 및 비-일시적 컴퓨터 판독 가능 저장 매체 | |
| WO2026043265A1 (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: 25803771 Country of ref document: EP Kind code of ref document: A1 |