Method for arranging virtual object in virtual environment based on high-definition map, and electronic device for supporting same
By using high-definition map data to determine the direction, length, and position of virtual object parts, the method addresses inaccuracies in virtual environments, ensuring reliable autonomous driving simulations.
Patent Information
- Application Number
- PCT/KR2024/018385
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-31
- Filing Date
- 2024-11-20
- Publication Date
- 2026-02-05
AI Technical Summary
Existing virtual environments used for autonomous vehicle testing suffer from inaccuracies due to low-precision map data, leading to unreliable positioning of virtual objects, which can result in incorrect orientations of traffic facilities.
A method for placing virtual objects in a high-precision map-based virtual environment involves determining the direction, length, and position of object parts using high-definition map data, including vehicle driving links and vertices, to accurately model traffic facilities.
This approach ensures precise placement of virtual objects, enhancing the reliability of autonomous driving simulations by aligning virtual objects with actual road environments.
Smart Images

Figure KR2024018385_05022026_PF_FP_ABST
Abstract
Description
Method for placing virtual objects in a virtual environment based on a high-precision map and an electronic device supporting the same
[0001] Embodiments of the present disclosure relate to a method for placing virtual objects in a high-precision map-based virtual environment and an electronic device supporting the same.
[0002] In response to the advancement of digital convergence, which integrates various information and communication technologies, electronic devices are providing diverse functions and / or services. For example, electronic devices create virtual environments based on datasets corresponding to real-world road conditions and provide simulation programs or services that enable testing of autonomous vehicle performance in these virtual environments.
[0003] However, if the accuracy of the dataset corresponding to the actual road environment is low, reliability issues may arise in the virtual objects modeled based on that data. For example, data associated with traffic facilities in the dataset may not include information regarding the actual orientation of the traffic facility. In such cases, virtual objects modeled based on that data may be positioned in a uniform direction in the virtual environment or in an orientation that differs from the actual orientation of the traffic facility.
[0004] The present disclosure provides a method for placing virtual objects in a high-precision map-based virtual environment to solve the above-mentioned problems, and a computer program and electronic device stored in a recording medium supporting the method.
[0005] The present disclosure can be implemented in various ways, including methods, electronic devices, and / or computer programs stored on readable recording media.
[0006] A method for placing a virtual object in a virtual environment based on a high-definition map according to one embodiment of the present disclosure may include: a virtual object including a first part, a second part connected to the first part, and a third part connected to the second part; obtaining high-definition map data representing an actual road environment of a specified area; the high-definition map data including a plurality of vehicle driving links having direction information and a plurality of vertices having coordinate information; determining a direction of the second part based on the direction information of the plurality of vehicle driving links; determining a length of the second part based on the coordinate information of the plurality of vertices; determining a position of the third part relative to the second part based on the length of the second part; and determining a direction of the third part based on the direction information of the plurality of vehicle driving links.
[0007] According to one embodiment, the step of determining the direction of the second part may include the step of identifying a first vertex associated with a third part among the plurality of vertices, the step of identifying a first vehicle driving link associated with the first vertex among the plurality of vehicle driving links, and the step of determining the direction of the second part as a second direction perpendicular to the first direction based on a first direction indicated by direction information of the first vehicle driving link.
[0008] According to one embodiment, the step of determining the length of the second part may include the step of identifying a first vertex associated with a third part among the plurality of vertices, the step of identifying a second vertex associated with the first part among the plurality of vertices, the step of calculating a distance between the first vertex and the second vertex based on coordinate information of the first vertex and coordinate information of the second vertex, and the step of determining the length of the second part based on the distance between the first vertex and the second vertex.
[0009] According to one embodiment, the step of determining the position of the third part relative to the second part may include the step of determining a first point of the second part corresponding to a point at which a specified first length is reduced in the length of the second part, and the step of determining the first point of the second part as the position of the third part.
[0010] According to one embodiment, the third part is composed of a plurality of third parts, and the plurality of third parts can have first attribute information.
[0011] According to one embodiment, the step of determining the position of the third part relative to the second part may further include the step of determining a second point of the second part corresponding to a point where the second length specified at the first point of the second part is reduced, and the step of determining the first point and the second point of the second part as positions of each of a plurality of third parts having first attribute information.
[0012] According to one embodiment, the third part may be composed of a plurality of third parts, and each of the plurality of third parts may have first attribute information or second attribute information.
[0013] In one embodiment, the step of determining a position of the third part with respect to the second part may further include the steps of determining a second point of the second part corresponding to a point at which a second length specified at a first point of the second part is reduced, determining at least one third point of the second part corresponding to at least one point defined by dividing a third length specified between the first point and the second point of the second part, determining the first point and the second point of the second part as positions of each of a plurality of third parts having first attribute information, and determining at least one third point of the second part as a position of at least one third part having second attribute information.
[0014] According to one embodiment, the step of determining the direction of the third part may include the step of identifying a first vertex associated with the third part among the plurality of vertices, the step of identifying a first vehicle driving link associated with the first vertex among the plurality of vehicle driving links, and the step of determining the direction of the third part as a third direction opposite to the first direction based on the first direction indicated by the direction information of the first vehicle driving link.
[0015] According to one embodiment, the virtual object may further include a fourth part connected to the first part.
[0016] According to one embodiment, the method may further include the step of identifying a third vertex associated with the first part among the plurality of vertices, and the step of determining a fourth point of the first part corresponding to the specified first height as the location of the fourth part based on coordinate information of the third vertex.
[0017] According to one embodiment of the present disclosure, a computer program stored in a computer-readable recording medium may be provided for executing a method for placing a virtual object in a virtual environment based on a high-definition map on a computer.
[0018] An electronic device for placing a virtual object in a virtual environment based on a high-definition map according to one embodiment of the present disclosure may include a memory for storing instructions and at least one processor, wherein the virtual object includes a first part, a second part connected to the first part, and a third part connected to the second part.
[0019] According to one embodiment, the instructions, when executed by at least one processor, may cause the electronic device to obtain high-precision map data representing an actual road environment of a designated area, the high-precision map data including a plurality of vehicle driving links having direction information and a plurality of vertices having coordinate information, determine a direction of a second part based on the direction information of the plurality of vehicle driving links, determine a length of the second part based on the coordinate information of the plurality of vertices, determine a position of a third part relative to the second part based on the length of the second part, and determine a direction of the third part based on the direction information of the plurality of vehicle driving links.
[0020] According to various embodiments of the present disclosure, when placing a virtual object in a virtual environment generated based on high-precision map data, a mechanism may be provided that can determine at least a partial placement direction, placement length, and / or placement location of the virtual object to correspond to an actual road environment.
[0021] According to various embodiments of the present disclosure, reliable vehicle autonomous driving tests in a virtual environment can be supported based on precise placement of virtual objects in the virtual environment.
[0022] The effects of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by a person having ordinary skill in the art to which the present disclosure pertains from the description of the claims.
[0023] Various embodiments of the present disclosure will be described with reference to the drawings below, and the same or corresponding components may be given the same reference numerals in connection with the description of the drawings.
[0024] FIG. 1 is a diagram illustrating an example of creating a virtual environment based on high-precision map data according to one embodiment of the present disclosure.
[0025] FIG. 2 is a diagram illustrating an example of an electronic device within a network environment according to one embodiment of the present disclosure.
[0026] FIG. 3 is a diagram illustrating an example of a geometric representation of high-precision map data according to one embodiment of the present disclosure.
[0027] FIG. 4 is a diagram illustrating an example of determining the placement direction of a second part of a virtual object in a virtual environment according to one embodiment of the present disclosure.
[0028] FIG. 5 is a diagram illustrating an example of determining the placement direction of a third part of a virtual object in a virtual environment according to one embodiment of the present disclosure.
[0029] FIG. 6 is a diagram illustrating an example of determining a placement position of a third part of a virtual object in a virtual environment according to one embodiment of the present disclosure.
[0030] FIG. 7 is a diagram illustrating an example of determining the placement positions of a plurality of third parts of a virtual object in a virtual environment according to one embodiment of the present disclosure.
[0031] FIG. 8 is a diagram illustrating another example of determining the placement positions of a plurality of third parts of a virtual object in a virtual environment according to one embodiment of the present disclosure.
[0032] FIG. 9 is a diagram illustrating an example of determining a placement location of a fourth part of a virtual object in a virtual environment according to one embodiment of the present disclosure.
[0033] FIG. 10 is a diagram illustrating an example of a method for placing a virtual object in a high-precision map-based virtual environment according to one embodiment of the present disclosure.
[0034] Hereinafter, specific details for implementing the present disclosure will be described in detail with reference to the attached drawings. However, in the following description, specific descriptions of widely known functions or configurations will be omitted if they may unnecessarily obscure the gist of the present disclosure.
[0035] In the attached drawings, identical or corresponding components are assigned the same reference numerals. Furthermore, in the description of the embodiments below, duplicate descriptions of identical or corresponding components may be omitted. However, even if a description of a component is omitted, it is not intended that such component is not included in any embodiment.
[0036] The advantages and features of the disclosed embodiments, and methods for achieving them, will become clearer with reference to the embodiments described below, along with the accompanying drawings. However, the present disclosure is not limited to the embodiments disclosed below and may be implemented in various different forms. These embodiments are provided solely to ensure the completeness of the disclosure and to fully inform those skilled in the art of the scope of the invention.
[0037] The terms used in this disclosure will be briefly described, followed by a detailed description of the disclosed embodiments. The terms used in this disclosure have been selected from widely used, common terms, taking into account the functions of the disclosure. However, these terms may vary depending on the intentions of engineers working in the relevant fields, precedents, the emergence of new technologies, etc. Furthermore, in certain cases, terms may be arbitrarily selected by the applicant, and in such cases, their meanings will be described in detail in the relevant description of the invention. Therefore, the terms used in this disclosure should not be defined simply as names of terms, but rather based on their meanings and the overall content of the disclosure.
[0038] In this disclosure, singular expressions include plural expressions unless the context clearly dictates otherwise. Furthermore, plural expressions include singular expressions unless the context clearly dictates otherwise. Throughout this disclosure, when a part is said to include a component, this does not exclude other components, but rather implies that other components may be included, unless otherwise specifically stated.
[0039] The term "module" or "part" used in this disclosure refers to a software or hardware component, and the "module" or "part" performs certain roles. However, the "module" or "part" is not limited to software or hardware. The "module" or "part" may be configured to reside on an addressable storage medium and may be configured to execute one or more processors. Thus, as an example, the "module" or "part" may include at least one of components such as software components, object-oriented software components, class components, and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, or variables. The functionality provided within the components and "modules" or "parts" may be combined into a smaller number of components and "modules" or "parts," or further separated into additional components and "modules" or "parts."
[0040] In one embodiment, a 'module' or 'unit' may be implemented as a processor and memory. 'Processor' should be broadly construed to include a general-purpose processor, a central processing unit (CPU), a microprocessor, a digital signal processor (DSP), a controller, a microcontroller, a state machine, etc. In some circumstances, 'processor' may also refer to an application-specific integrated circuit (ASIC), a programmable logic device (PLD), a field-programmable gate array (FPGA), etc. 'Processor' may also refer to a combination of processing devices, such as, for example, a combination of a DSP and a microprocessor, a combination of multiple microprocessors, a combination of one or more microprocessors in conjunction with a DSP core, or any other such combination of configurations. 'Memory' should also be broadly construed to include any electronic component capable of storing electronic information. 'Memory' may refer to various types of processor-readable media, such as random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable PROM (EEPROM), flash memory, magnetic or marking data storage, registers, etc. Memory is said to be in electronic communication with the processor if the processor can read information from, and / or write information to, the memory. Memory integrated in a processor is in electronic communication with the processor.
[0041] The terms first, second, A, B, (a), (b), etc. used in this disclosure are only used to distinguish one component from another, and the nature, order, or sequence of the components are not limited by the terms.
[0042] When it is described in this disclosure that a component is 'connected', 'coupled' or 'connected' to another component, it should be understood that the component may be directly connected or connected to the other component, but that another component may also be 'connected', 'coupled' or 'connected' between each component.
[0043] As used herein, the terms “comprises” and / or “comprising” do not exclude the presence or addition of one or more other components, steps, operations and / or elements to the mentioned components, steps, operations and / or elements.
[0044] FIG. 1 is a diagram illustrating an example of generating a virtual environment based on high-precision map data according to one embodiment of the present disclosure. Referring to FIG. 1, an electronic device (100) according to one embodiment may generate a digital twin virtual environment (200) corresponding to an actual road environment of a designated area based on high-precision map data representing an actual road environment of the designated area. For example, the electronic device (100) may receive high-precision map data from an external electronic device (e.g., an external electronic device (500) of FIG. 2) connected via a communication network (e.g., a network (400) of FIG. 2)) and process the high-precision map data using a designated program to generate the virtual environment (200). Alternatively, for example, the electronic device (100) may load high-precision map data stored in an internal memory (e.g., a memory (110) of FIG. 2) and process the high-precision map data using a designated program to generate the virtual environment (200).
[0045] In one embodiment, the electronic device (100) may generate (or model) a virtual object (210) corresponding to a traffic facility in an actual road environment based on high-precision map data. According to various embodiments, the traffic facility may include a comprehensive traffic signal pole including at least one of a support, an attachment, a vehicle signal light, a vehicle sign, and a pedestrian signal light, and the virtual object (210) generated corresponding to the traffic facility may be composed of a plurality of parts corresponding to parts of the comprehensive traffic signal pole. For example, the virtual object (210) may include a first part (212) (e.g., a support), a second part (214) (e.g., an attachment) connected (or coupled) to the first part (212), and at least one third part (216) (e.g., a traffic signal light and / or a traffic sign) connected (or coupled) to the second part (214). In various embodiments, the virtual object (210) may further include other parts in addition to the above-described parts. For example, the virtual object (210) may further include a fourth part (218) (e.g., a pedestrian traffic light) connected (or coupled) to the first part (212).
[0046] According to one embodiment, the electronic device (100) may determine a direction, a length, and / or a relative position of at least some of a plurality of parts of the virtual object (210) in an operation of generating (or modeling) the virtual object (210) based on high-precision map data. For example, the electronic device (100) may determine a direction of a second part (214) and at least one third part (216) based on the high-precision map data. In addition, for example, the electronic device (100) may determine a length of the second part (214) based on the high-precision map data, and determine a relative position of at least one third part (216) based on the length of the second part (214). In one embodiment, the electronic device (100) can create (or model) a virtual object (210) based on determined directions, lengths, and / or relative positions of at least some of a plurality of parts of the virtual object (210), and 3D render the virtual object (210) to place it in a digital twin virtual environment (200). The electronic device (100) can perform various tests related to autonomous driving performance of a vehicle using the created (or constructed) digital twin virtual environment (200).
[0047] Hereinafter, various embodiments for determining the direction, length, and / or relative position of at least some of a plurality of parts of a virtual object (210) based on high-precision map data and an electronic device supporting the same will be described.
[0048] FIG. 2 is a diagram illustrating an example of an electronic device within a network environment according to one embodiment of the present disclosure. Referring to FIG. 2, an electronic device (100) within a network environment according to one embodiment may include an application program capable of executing a digital twin virtual environment (e.g., the digital twin virtual environment (200) of FIG. 1) and may be referred to as a computing device capable of wired and / or wireless communication with an external electronic device (500). For example, the electronic device (100) may include a PC terminal, a mobile phone terminal, a tablet terminal, etc. According to one embodiment, the electronic device (100) may include at least one of a memory (110), at least one processor (120), a communication module (130), and an input / output interface (140).
[0049] The memory (110) may include any non-transitory computer-readable recording medium. In one embodiment, the memory (110) may include a non-volatile permanent mass storage device such as a random access memory (RAM), a read only memory (ROM), a disk drive, a solid state drive (SSD), a flash memory, etc. As another example, a non-volatile permanent mass storage device such as a ROM, an SSD, a flash memory, a disk drive, etc. may be included in the electronic device (100) as a separate permanent storage device distinct from the memory (110). In addition, the memory (110) may store an operating system and at least one program code (e.g., a code for a vehicle autonomous driving simulation program based on a digital twin virtual environment (200) that is installed and executed in the electronic device (100).
[0050] These software components may be loaded from a computer-readable recording medium separate from the memory (110). The separate computer-readable recording medium may include a recording medium directly connectable to the electronic device (100), for example, a computer-readable recording medium such as a floppy drive, a disk, a tape, a DVD / CD-ROM drive, a memory card, etc. As another example, the software components may be loaded into the memory (110) through a communication module (130) other than a computer-readable recording medium. For example, at least one program may be loaded into the memory (110) based on a computer program that is installed by files provided by developers or a file distribution system that distributes installation files of application programs through a network (400).
[0051] In one embodiment, the memory (110) may store commands related to functional operations of components of the electronic device (100). For example, the memory (110) may store commands that, when executed by at least one processor (120), cause components of the electronic device (100) to perform defined functional operations. In addition, the memory (110) may store data received from an external electronic device (500) via a network (400) or from an input / output device (300) via an input / output interface (140). For example, the memory (110) may store high-precision map data representing an actual road environment of a designated area received from an external electronic device (500) or an input / output device (300). In addition, the memory (110) may execute a digital twin virtual environment generated based on the high-precision map data and store an application program (e.g., a vehicle autonomous driving simulation program) that can test the autonomous driving performance of a vehicle in the virtual environment.
[0052] In one embodiment, at least one processor (120) may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input / output operations. Instructions may be provided to the at least one processor (120) by the memory (110) or the communication module (130). For example, the at least one processor (120) may be configured to execute instructions received according to program code stored in a recording device (or recording medium), such as the memory (110).
[0053] According to one embodiment, at least one processor (120) may be configured to operate an application program (or web browser) that provides a service based on a digital twin virtual environment (200). At this time, program code associated with the application program may be loaded into the memory (110). In various embodiments, while the application program is being operated, at least one processor (120) may receive information and / or data provided from an input / output device (300) through an input / output interface (140), or may receive information and / or data provided from an external electronic device (500) through a communication module (130), and may process the received information and / or data and store it in the memory (110). Conversely, at least one processor (120) may transmit information and / or data generated while the application program is being operated to the input / output device (300) through the input / output interface (140), or may transmit the information and / or data to the external electronic device (500) through the communication module (130).
[0054] In one embodiment, at least one processor (120) may obtain high-precision map data corresponding to an actual road environment and generate a digital twin virtual environment (200) based on the data. According to one embodiment, at least one processor (120) may generate (or model) at least one virtual object (e.g., the virtual object (210) of FIG. 1) to be placed in the digital twin virtual environment (200) based on at least a portion of the high-precision map data, and in this operation, may determine at least a partial placement direction, placement length, and / or placement position of the virtual object (210) with respect to the digital twin virtual environment (200). At least one processor (120) may place the virtual object (210) in the digital twin virtual environment (200) by 3D rendering the virtual object (210) based on information about the determined direction, length, and / or position of the at least one virtual object (210).
[0055] The communication module (130) (e.g., a communication device including a communication circuit) may provide a configuration or function for the electronic device (100) to communicate with an external electronic device (500) via a network (400). In addition, the communication module (130) may provide a configuration or function for the electronic device (100) to communicate with another external electronic device or system (e.g., a separate cloud system). For example, signals and / or commands generated by at least one processor (120) according to program codes stored in a recording device such as a memory (110) may be transmitted to the external electronic device (500) via the network (400) by the operation of the communication module (130). Conversely, signals and / or commands provided by the external electronic device (500) may be received by the electronic device (100) via the network (400) and the communication module (130).
[0056] In one embodiment, the communication module (130) may establish communication (or a communication channel) with an external electronic device (500) according to a prescribed communication protocol, and transmit and receive signals and / or data (or a dataset or data packet) with the external electronic device (500) through the communication. For example, the communication module (130) may receive high-precision map data corresponding to an actual road environment of a designated area from the external electronic device (500). In addition, for example, the communication module (130) may transmit data regarding a digital twin virtual environment (200) based on high-precision map data generated by at least one processor (120) to the external electronic device (500).
[0057] The input / output interface (140) may support an interface with an input / output device (300). In one embodiment, the input / output device (300) may include an input device including at least one of a camera including an image sensor, a keyboard, a microphone, and a mouse, and / or an output device including at least one of a display, a speaker, and a haptic feedback device. According to various embodiments, the input / output device (300) may be included in the electronic device (100) or may be configured to be integrated with the electronic device (100) as a single device. As another example, the input / output interface (140) may support an interface with a device that has an integrated configuration or function for performing input and output, such as a touch screen. For example, when at least one processor (120) processes a command of a computer program loaded into the memory (110), a service screen configured using information and / or data provided by an external electronic device (500) or another external electronic device or system may be output to a display through the input / output interface (140). According to various embodiments, the input / output interface (140) may be configured to be included in at least one processor (120).
[0058] FIG. 3 is a diagram illustrating an example of geometrically representing high-precision map data according to an embodiment of the present disclosure. Referring to FIG. 3, high-precision map data acquired by an electronic device (e.g., the electronic device (100) of FIG. 1 and / or FIG. 2 ) according to an embodiment may include a plurality of links (610) and a plurality of vertices (622, 624, and / or 626). For example, the high-precision map data may include a plurality of links (610) in the form of straight lines and / or curves representing at least one of a driving path of a vehicle, a walking path of a user, and an arrangement of lanes and curbs in an actual road environment. Also, for example, the high-precision map data may include a plurality of vertices in the form of points and / or point clouds corresponding to portions of traffic facilities (e.g., integrated traffic light poles) placed in an actual road environment (e.g., a vertex (622) corresponding to the pole of the integrated traffic light pole, a vertex (624 and / or 626) corresponding to at least one traffic light and / or traffic sign, and / or a vertex (not shown) corresponding to a pedestrian signal light).
[0059] In one embodiment, each of the plurality of links (610) may have direction information corresponding to an actual road environment, and each of the plurality of vertices (622, 624 and / or 626) may have position information (e.g., X-axis, Y-axis and Z-axis coordinates) corresponding to an actual road environment.
[0060] In one embodiment, at least some of the plurality of vertices (622, 624, and / or 626) may include attribute information associated with the vertices. For example, a vertex (622) corresponding to a first portion (e.g., a pole) of a traffic facility (e.g., a traffic signal pole) among the plurality of vertices (622, 624, and / or 626) may include attribute information of the first portion (e.g., an identifier representing the pole). Similarly, a vertex (624 and / or 626) corresponding to at least one second portion (e.g., a traffic signal pole and / or a traffic sign) of the traffic facility among the plurality of vertices (622, 624, and / or 626) may include attribute information of the second portion (e.g., an identifier representing the traffic signal pole or the traffic sign, a type of the traffic signal pole or the traffic sign, a specification of the traffic signal pole or the traffic sign, and / or the number of flashing lights of the traffic signal pole).
[0061] In one embodiment, at least some of the plurality of links (610) and the plurality of vertices (622, 624, and / or 626) may include mapping information associated with each other. For example, a plurality of vertices corresponding to portions (e.g., a pole, a traffic light, a traffic sign, and / or a pedestrian signal) of a single traffic facility (e.g., a traffic light pole) and at least one link (e.g., a link indicating a vehicle's driving path) that follows the signaling system of the traffic facility may share the same information (e.g., ID information) and be mapped to each other.
[0062] In one embodiment, the electronic device (100) can generate meshes defining roads, sidewalks, lanes, and curbs using a plurality of links (610) included in high-precision map data, and can generate a virtual object (e.g., a virtual object (210) of FIG. 1) corresponding to a traffic facility (e.g., a traffic light pole) using a plurality of vertices (622, 624, and / or 626). The electronic device (100) can align the generated meshes and virtual object (210) to generate (or build) a digital twin virtual environment (e.g., a digital twin virtual environment (200) of FIG. 1).
[0063] FIG. 4 is a diagram illustrating an example of determining a placement direction of a second part of a virtual object in a virtual environment according to one embodiment of the present disclosure. Referring to FIG. 4, an electronic device (e.g., the electronic device (100) of FIG. 1 and / or FIG. 2) according to one embodiment may generate a first part (212) of a virtual object (210) corresponding to a first part (e.g., a pole) of a traffic facility (e.g., a comprehensive traffic signal pole) based on at least a portion of high-precision map data obtained from an external electronic device (e.g., the external electronic device (500) of FIG. 2) or an internal memory (e.g., the memory (110) of FIG. 2). For example, the electronic device (100) may identify a vertex (622) corresponding to a first part of a traffic facility (e.g., a pillar) among a plurality of vertices included in the high-precision map data, and generate a first part (212) of a virtual object (210) having a corresponding position and height based on position information (e.g., X-axis, Y-axis, and Z-axis coordinates) included in the vertex (622). Alternatively, for example, the electronic device (100) may determine a location for the first part (212) of the virtual object (210) based on location information (e.g., X-axis and Y-axis coordinates) included in the identified vertex (622), and may determine a height (e.g., 6.7 m, 7 m, or 8 m) of the first part (212) of the virtual object (210) defined according to the number and attribute information (e.g., an identifier representing a traffic light or a traffic sign) of at least one vertex (e.g., vertices (624 and / or 626) corresponding to a traffic light and / or a traffic sign in FIG. 3) having mapping information associated with the vertex (622).Alternatively, for example, the electronic device (100) may determine a location for a first part (212) of a virtual object (210) based on location information (e.g., X-axis and Y-axis coordinates) included in the identified vertex (622), and may determine a height of the first part (212) of the virtual object (210) defined according to a length of a second part (214) of the virtual object (210) described below.
[0064] In one embodiment, the electronic device (100) may determine a direction of a second part (214) connected to a first part (212) of a virtual object (210) (e.g., a direction in which an end of the second part (214) not connected to the first part (212) extends) based on at least a portion of the high-precision map data. In this regard, the electronic device (100) may identify, among a plurality of vertices included in the high-precision map data, a vertex (622) corresponding to a first part (e.g., a pole) of a traffic facility (e.g., a traffic signal pole) and / or at least one vertex (e.g., 624 and / or 626 of FIG. 3) corresponding to at least one second part (e.g., a traffic signal and / or a traffic sign) of the traffic facility. Additionally, the electronic device (100) can identify at least one link (610a) (e.g., at least one link indicating a driving path of the vehicle) mapped with the same information as the at least one identified vertex (622, 624, and / or 626). In one embodiment, the electronic device (100) can determine the direction of the second part (214) connected to the first part (212) of the virtual object (210) based on the direction information of the at least one identified link (610a). For example, the electronic device (100) can determine the direction of the second part (214) of the virtual object (210) to face a second direction that is perpendicular to the first direction indicated by the direction information of the at least one identified link (610a).
[0065] In one embodiment, the electronic device (100) may determine a length of a second part (214) of a virtual object (210) based on at least a portion of high-precision map data. In this regard, the electronic device (100) may identify, among a plurality of vertices included in the high-precision map data, a vertex (622) corresponding to a first portion (e.g., a pole) of a traffic facility (e.g., a comprehensive traffic light pole) and at least one vertex (624 and / or 626) corresponding to at least one second portion (e.g., a traffic light and / or a traffic sign) of the traffic facility. In one embodiment, the electronic device (100) may identify a distance between the vertex (622) corresponding to the first portion of the traffic facility and the at least one vertex (624 and / or 626) corresponding to at least one second portion of the traffic facility based on coordinate information (e.g., X-axis and Y-axis coordinates) of each of the identified vertices (622, 624 and / or 626). The electronic device (100) may determine the length of the second part (214) of the virtual object (210) based on a first distance value having a relatively large value among at least one identified distance value. For example, the electronic device (100) may process the first distance value in a designated manner (e.g., round it up) to produce a second distance value, and may determine a larger length value after the produced second distance value among designated candidate length values (e.g., 5 m, 7 m, 9 m, 11 m, and 13 m) for the second part (214) of the virtual object (210) as the length of the second part (214) of the virtual object (210). In various embodiments, the length of the second part (214) of the virtual object (210) may be determined to have a minimum first length value (e.g., 5 m) and a maximum second length value (e.g., 13 m).
[0066] According to various embodiments, the electronic device (100) may determine a height of the second part (214) of the virtual object (210) based on at least a portion of the high-precision map data. For example, the electronic device (100) may identify at least one vertex (624 and / or 626) corresponding to a second part (e.g., a traffic light and / or a traffic sign) of a traffic facility (e.g., a comprehensive traffic light pole) among a plurality of vertices included in the high-precision map data, and may determine a height of the second part (214) of the virtual object (210) such that the second part (214) of the virtual object (210) corresponds to a height value indicated by coordinate information (e.g., a Z-axis coordinate) of the identified vertex.
[0067] FIG. 5 is a diagram illustrating an example of determining a placement direction of a third part of a virtual object in a virtual environment according to one embodiment of the present disclosure. Referring to FIG. 5, an electronic device (e.g., the electronic device (100) of FIG. 1 and / or FIG. 2 ) according to one embodiment may determine a direction of at least one third part (216) of a virtual object (210) corresponding to at least one second part (e.g., a traffic light and / or a traffic sign) of a traffic facility (e.g., a comprehensive traffic light pole) based on at least a portion of high-precision map data. In one embodiment, the direction of at least one third part (216) of the virtual object (210) may be referenced as a direction in which content of a flashing light and / or a traffic sign of a traffic light corresponding to at least one second part of the traffic facility is exposed. In this regard, the electronic device (100) may identify, among a plurality of vertices included in the high-precision map data, a vertex (e.g., vertex (622) of FIG. 3) corresponding to a first part of a traffic facility (e.g., a pole) and / or at least one vertex (e.g., 624 and / or 626 of FIG. 3) corresponding to at least one second part of the traffic facility (e.g., a traffic light and / or a traffic sign). In addition, the electronic device (100) may identify at least one link (610a) (e.g., at least one link indicating a driving path of a vehicle) mapped with the same information as the at least one identified vertex (622, 624 and / or 626). In one embodiment, the electronic device (100) may determine a direction of at least one third part (216) of the virtual object (210) based on direction information of the at least one identified link (610a). For example, the electronic device (100) can determine the direction of at least one third part (216) of the virtual object (210) to face a third direction opposite to the first direction indicated by the direction information of at least one identified link (610a).
[0068] FIG. 6 is a diagram illustrating an example of determining a placement position of a third part of a virtual object in a virtual environment according to an embodiment of the present disclosure. Referring to FIG. 6, an electronic device (e.g., the electronic device (100) of FIG. 1 and / or FIG. 2) according to an embodiment may determine a placement position of a third part (216) of a virtual object (210) corresponding to a single second part (e.g., a single traffic light or traffic sign) of a traffic facility (e.g., a comprehensive traffic light pole) based on at least a portion of high-precision map data. For example, the electronic device (100) may determine a position of the third part (216) of the virtual object (210) corresponding to the single second part of the traffic facility with respect to (or based on) the second part (214) of the virtual object (210) corresponding to the third part (e.g., an attachment) of the traffic facility.
[0069] According to one embodiment, the electronic device (100) may determine a position of a single third part (216) relative to the second part (214) based on a length (L) of the second part (214) of the virtual object (210). In this regard, the electronic device (100) may determine a first point (P1) of the second part (214) corresponding to a point reduced by a specified first length (L1) in a specified direction (e.g., a direction toward the other end of the second part (214) based on one end of the second part (214) that is not connected to the first part (first part (212) of FIG. 4) of the virtual object (210)) from the determined length (L) of the second part (214). The electronic device (100) may determine the first point (P1) as the placement position of the third part (216) of the virtual object (210) corresponding to the second part of the traffic facility (e.g., a single traffic light or traffic sign). According to various embodiments, the electronic device (100) may determine the first length (L1) reduced from the length (L) of the second part (214) of the virtual object (210) to be half the width (e.g., the longitudinal width of the second part (214) of the virtual object (210)) according to the specifications of the traffic light or traffic sign corresponding to the second part of the traffic facility.
[0070] FIG. 7 is a diagram illustrating an example of determining the arrangement positions of a plurality of third parts of a virtual object in a virtual environment according to one embodiment of the present disclosure. Referring to FIG. 7, an electronic device (e.g., the electronic device (100) of FIG. 1 and / or FIG. 2 ) according to one embodiment may determine the positions of a plurality of third parts (216a and 216b) of a virtual object (210) corresponding to a plurality of second parts (e.g., traffic lights, traffic signs, or a combination of traffic lights and traffic signs) of a traffic facility (e.g., a comprehensive traffic light pole) based on at least a portion of high-precision map data. For example, the electronic device (100) may determine the positions of the plurality of third parts (216a and 216b) of the virtual object (210) corresponding to the plurality of second parts of the traffic facility with respect to the second part (214) of the virtual object (210) corresponding to the third part (e.g., the attachment) of the traffic facility (or, based on the second part (214)). According to various embodiments, the plurality of vertices corresponding to each of the plurality of second parts of the traffic facility in the high-precision map data may include the same or different attribute information. For example, the plurality of vertices may include the same first attribute information (e.g., an identifier indicating a traffic light) or the same second attribute information (e.g., an identifier indicating a traffic sign). Alternatively, for example, one vertex of the plurality of vertices may include the first attribute information (e.g., an identifier indicating a traffic light), and the other vertex may include second attribute information (e.g., an identifier indicating a traffic sign) that is different from the first attribute information.
[0071] According to one embodiment, the electronic device (100) can determine the position of each of the plurality of third parts (216a and 216b) relative to the second part (214) based on the length of the second part (214) of the virtual object (210) (e.g., the length L of the second part (214) of FIG. 6). In this regard, the electronic device (100) can determine a first point (P1) of the second part (214) corresponding to a point reduced by a specified first length (e.g., the first length (L1) of FIG. 6) in a specified direction (e.g., a direction toward the other end of the second part (214) based on one end of the second part (214) that is not connected to the first part (the first part (212) of FIG. 4) of the virtual object (210)) from the length (L) of the second part (214) of the determined virtual object (210), and a second point (P2) of the second part (214) corresponding to a point reduced by a second length (L2) in the specified direction from the first point (P1). According to various embodiments, the second length (L2) reduced from the first point (P1) of the second part (214) of the virtual object (210) may be set to a default value or may be changed depending on the length of the second part (214) of the virtual object.
[0072] In one embodiment, the electronic device (100) may determine the first point (P1) and the second point (P2) of the second part (214) of the virtual object (210) as the placement positions of each of the plurality of third parts (216a and 216b) of the virtual object (210) corresponding to the plurality of second parts of the traffic facility (e.g., traffic lights, traffic signs, or a combination of traffic lights and traffic signs).
[0073] FIG. 8 is a diagram illustrating another example of determining the arrangement positions of a plurality of third parts of a virtual object in a virtual environment according to one embodiment of the present disclosure. Referring to FIG. 8, an electronic device (e.g., the electronic device (100) of FIG. 1 and / or FIG. 2 ) according to one embodiment may determine the positions of a plurality of third parts (216a, 216b, and 216c) of a virtual object (210) corresponding to a plurality of second parts (e.g., a combination of traffic lights and traffic signs, or a combination of traffic lights and traffic signs) of a traffic facility (e.g., a comprehensive traffic light pole) based on at least a portion of high-precision map data. For example, the electronic device (100) may determine the location of a plurality of third parts (216a, 216b, and 216c) of the virtual object (210) corresponding to a plurality of second parts of the traffic facility with respect to a second part (214) of the virtual object (210) corresponding to a third part (e.g., an attachment) of the traffic facility (or, based on the second part (214)). In various embodiments, the plurality of vertices corresponding to each of the plurality of second parts of the traffic facility in the high-precision map data may include the same or different attribute information. For example, any one vertex of the plurality of vertices may include the second attribute information (e.g., an identifier representing a traffic sign), and the remaining plurality of vertices may include the first attribute information (e.g., an identifier representing a traffic light).
[0074] According to one embodiment, the electronic device (100) can determine the position of each of the plurality of third parts (216a, 216b, and 216c) relative to the second part (214) based on the length of the second part (214) of the virtual object (210) (e.g., the length L of the second part (214) of FIG. 6). In this regard, the electronic device (100) can determine a first point (P1) of the second part (214) corresponding to a point where the length (L) of the second part (214) of the determined virtual object (210) is reduced by a specified first length (e.g., the first length (L1) of FIG. 6) in a specified direction (e.g., a direction toward the other end of the second part (214) based on one end of the second part (214) that is not connected to the first part (the first part (212) of FIG. 4) of the virtual object (210)) and a second point (P2) of the second part (214) corresponding to a point where the length (L) of the second part (214) of the determined virtual object (210) is reduced by a specified first length (e.g., the second length (L2) of FIG. 7) in a specified direction from the first point (P1). Additionally, the electronic device (100) can determine a third point (P3) of the second part (214) of the determined virtual object (210) by equally dividing the space between the first point (P1) and the second point (P2) of the second part (214) by a designated third length (L3).
[0075] In one embodiment, the electronic device (100) may determine the first point (P1) and the second point (P2) of the second part (214) of the virtual object (210) as the placement positions of each of the plurality of third parts (216a and 216b) of the virtual object (210), which correspond to the plurality of second parts (e.g., traffic lights) of traffic facilities associated with the plurality of vertices having first attribute information (e.g., identifiers indicating traffic lights). In addition, the electronic device (100) may determine the third point (P3) of the second part (214) of the virtual object (210) as the placement positions of the third part (216c) of the virtual object (210), which corresponds to the second part (e.g., traffic signs) of traffic facilities associated with one vertex having second attribute information (e.g., identifiers indicating traffic signs).
[0076] Although not shown, in various embodiments, when there are a plurality of vertices having second attribute information (e.g., identifiers representing traffic signs), the electronic device (100) may determine a plurality of third points (not shown) defined by being evenly divided by a fourth length (not shown) specified between the first point (P1) and the second point (P2) of the second part (214) of the virtual object (210), and may determine the plurality of third points as placement locations of the plurality of third parts of the virtual object (210) corresponding to second parts of traffic facilities (e.g., traffic signs) associated with the plurality of vertices having the second attribute information.
[0077] FIG. 9 is a diagram illustrating an example of determining a placement position of a fourth part of a virtual object in a virtual environment according to an embodiment of the present disclosure. Referring to FIG. 9, an electronic device (e.g., the electronic device (100) of FIG. 1 and / or FIG. 2) according to an embodiment may determine a position of a fourth part (218) of a virtual object (210) corresponding to a fourth part (e.g., a pedestrian signal light) of a traffic facility (e.g., a comprehensive traffic light pole) based on at least a portion of high-precision map data. For example, the electronic device (100) may determine a position of the fourth part (218) of the virtual object (210) corresponding to the fourth part of the traffic facility with respect to (or based on) the first part (212) of the virtual object (210) corresponding to the first part (e.g., a pole) of the traffic facility. In this regard, the electronic device (100) can identify a vertex (e.g., vertex (622) of FIG. 3 and / or FIG. 4) corresponding to a first part (e.g., a pillar) of a traffic facility among a plurality of vertices included in the high-precision map data.
[0078] In one embodiment, the electronic device (100) can determine a fourth point (P4) of the first part (212) of the virtual object (210) corresponding to a designated height (H) based on the location information (e.g., X-axis, Y-axis, and Z-axis coordinates) included in the identified vertex (622). In various embodiments, the designated height (H) for the first part (212) of the virtual object (210) can be set to a default value or can be changed according to the height of the first part (212) of the virtual object. According to one embodiment, the electronic device (100) can determine the fourth point (P4) of the first part (212) of the determined virtual object (210) as a placement position of the fourth part (218) of the virtual object (210) corresponding to a fourth part of a traffic facility (e.g., a pedestrian traffic light).
[0079] FIG. 10 is a diagram illustrating an example of a method for placing virtual objects in a high-precision map-based virtual environment according to one embodiment of the present disclosure. The steps of the method (1000) described in the embodiment of FIG. 10 may be performed sequentially or non-sequentially. For example, the order of the steps of the method (1000) described in the embodiment of FIG. 10 may be changed, or at least two steps may be performed in parallel.
[0080] Referring to FIG. 10, in step S1010, an electronic device (e.g., the electronic device (100) of FIG. 1 and / or FIG. 2) according to one embodiment (or at least one processor (at least one processor (120) of FIG. 2) included in the electronic device (100)) may obtain high-precision map data representing an actual road environment of a specified area. For example, the electronic device (100) may obtain high-precision map data from an external electronic device (e.g., the external electronic device (500) of FIG. 2) connected through a network (e.g., the network (400) of FIG. 2)) using a communication module (e.g., the communication module (130) of FIG. 2). Or, for example, the electronic device (100) may load high-precision map data stored in an internal memory (e.g., the memory (110) of FIG. 2) to obtain the corresponding high-precision map data.
[0081] In step S1020, the electronic device (100) (or at least one processor (120) of the electronic device (100)) according to one embodiment may determine a direction of a second part (e.g., the second part (214) of FIG. 1) of a virtual object (e.g., the virtual object (210) of FIG. 1) based on direction information of a plurality of vehicle driving links. For example, the electronic device (100) may determine a direction of a second part (214) connected (or coupled) to a first part (e.g., the first part (212) of FIG. 1) of the virtual object (210) (e.g., a direction in which one end of the second part (214) that is not connected to the first part (212) extends) based on at least a portion of high-precision map data. In this regard, the electronic device (100) can identify at least one vertex corresponding to a first part (212) of a virtual object (210) (or a first part (pillar) of a traffic facility corresponding to the first part (212)) and / or at least one vertex corresponding to at least one third part (216) of the virtual object (210) (or at least one second part (traffic light and / or traffic sign) of a traffic facility corresponding to at least one third part (216)) among a plurality of vertices included in the high-precision map data.
[0082] In one embodiment, the electronic device (100) can identify at least one link (e.g., at least one link indicating a driving path of a vehicle) mapped with the same information as at least one identified vertex from the high-precision map data, and determine the direction of the second part (214) of the virtual object (210) to face a second direction that is perpendicular to the first direction indicated by the direction information of the at least one identified link.
[0083] In step S1030, the electronic device (100) (or at least one processor (120) of the electronic device (100)) according to one embodiment may determine the length of the second part (214) of the virtual object (210) based on coordinate information of a plurality of vertices. In this regard, the electronic device (100) may identify, among the plurality of vertices included in the high-precision map data, a vertex corresponding to a first part (212) of the virtual object (210) (or a first part (pillar) of a traffic facility corresponding to the first part (212)) and at least one vertex corresponding to at least one third part (216) of the virtual object (210) (or at least one second part (traffic light and / or traffic sign) of a traffic facility corresponding to the at least one third part (216)). In addition, the electronic device (100) can identify the distance between the identified vertices based on coordinate information (e.g., X-axis and Y-axis coordinates) of each of the identified vertices. According to one embodiment, the electronic device (100) can process (e.g., round up) a relatively large first distance value among the at least one identified distance value in a designated manner to produce a second distance value, and determine a large length value after the second distance value among designated candidate length values (e.g., 5 m, 7 m, 9 m, 11 m, and 13 m) for the second part (214) of the virtual object (210) as the length of the second part (214) of the virtual object (210).
[0084] In step S1040, the electronic device (100) (or at least one processor (120) of the electronic device (100)) according to one embodiment can determine the position of at least one third part (216) of the virtual object (210) relative to the second part (214) of the virtual object (210) (or relative to the second part (214)) based on the length of the second part (214) of the virtual object (210).
[0085] For example, if the traffic facility includes a single second part (e.g., a traffic light or a traffic sign), the electronic device (100) may determine a first point of the second part (214) corresponding to a point where the length of the second part (214) of the virtual object (210) is reduced by a specified first length in a specified direction (e.g., in a direction toward the other end of the second part (214) based on one end of the second part (214) that is not connected to the first part (212) of the virtual object (210), and determine the first point as a location of the third part (216) of the virtual object (210) corresponding to the second part of the traffic facility.
[0086] For another example, if the traffic facility includes a plurality of second parts (e.g., traffic lights, traffic signs, or a combination of traffic lights and traffic signs), the electronic device (100) may determine a second point of the second part (214) of the virtual object (210) corresponding to a first point of the second part (214) of the virtual object (210) and a point reduced by a second length in a specified direction from the first point, and may determine the first point and the second point as the placement positions of each of a plurality of third parts (e.g., a plurality of third parts (216a and 216b) of FIG. 7) of the virtual object (210) corresponding to the plurality of second parts of the traffic facility.
[0087] As another example, if a traffic facility includes a second part (e.g., a traffic sign) corresponding to a vertex having second attribute information (e.g., an identifier indicating a traffic sign) and a plurality of second parts corresponding to a plurality of vertices having first attribute information (e.g., an identifier indicating a traffic light), the electronic device (100) may determine the first point and the second point of the second part (214) of the virtual object (210) as the placement positions of each of a plurality of third parts (e.g., a plurality of third parts (216a and 216b) of FIG. 8) of the virtual object (210) corresponding to the plurality of second parts associated with the plurality of vertices having the first attribute information. Additionally, the electronic device (100) can determine a third point of the second part (214) of the virtual object (210) that is evenly divided into a third length specified between the first point and the second point of the second part (214), as a placement position of the third part (e.g., the third part (216c) of FIG. 8) of the virtual object (210) corresponding to the second part associated with the vertex having the second attribute information.
[0088] In step S1050, the electronic device (100) (or at least one processor (120) of the electronic device (100)) according to one embodiment may determine the direction of the third part (216) of the virtual object (210) based on direction information of a plurality of vehicle driving links. In this regard, the electronic device (100) may identify, among a plurality of vertices included in the high-precision map data, a vertex corresponding to the first part (212) of the virtual object (210) (or a first part (pillar) of a traffic facility corresponding to the first part (212)) and / or at least one vertex corresponding to at least one third part (216) of the virtual object (210) (or at least one second part (traffic light and / or traffic sign) of a traffic facility corresponding to the at least one third part (216)). The electronic device (100) can identify at least one link (e.g., at least one link indicating a driving path of a vehicle) mapped with the same information as at least one identified vertex from the high-precision map data, and determine the direction of at least one third part (216) of the virtual object (210) to face a third direction opposite to the first direction indicated by the direction information of the at least one identified link.
[0089] The above-described method may be provided as a computer program stored on a computer-readable recording medium for execution on a computer. The medium may be one that continuously stores a computer-executable program or one that temporarily stores it for execution or download. In addition, the medium may be various recording means or storage means in the form of a single or multiple hardware combinations, and is not limited to a medium directly connected to a computer system, but may also be distributed over a network. Examples of the medium may include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and those configured to store program instructions, including ROM, RAM, and flash memory. In addition, examples of other media may include recording or storage media managed by app stores that distribute applications, sites that supply or distribute various software, servers, etc.
[0090] The methods, operations, or techniques of the present disclosure may be implemented by various means. For example, these techniques may be implemented in hardware, firmware, software, or a combination thereof. Those skilled in the art will appreciate that the various exemplary logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein may be implemented as electronic hardware, computer software, or a combination of both. To clearly illustrate this interchangeability of hardware and software, various exemplary components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software will depend on the particular application and the design requirements imposed on the overall system. Those skilled in the art may implement the described functionality in various ways for each particular application, but such implementations should not be construed as departing from the scope of the present disclosure.
[0091] In a hardware implementation, the processing units used to perform the techniques may be implemented within one or more ASICs, DSPs, digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, electronic devices, other electronic units designed to perform the functions described herein, a computer, or a combination thereof.
[0092] Accordingly, the various exemplary logical blocks, modules, and circuits described in connection with the present disclosure may be implemented or performed by any combination of a general-purpose processor, a DSP, an ASIC, an FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or those designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
[0093] In a firmware and / or software implementation, the techniques may be implemented as instructions stored on a computer-readable medium, such as random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable PROM (EEPROM), flash memory, a compact disc (CD), a magnetic or marking data storage device, etc. The instructions may be executable by one or more processors and may cause the processor(s) to perform certain aspects of the functionality described herein.
[0094] When implemented in software, the techniques described above may be stored on or transmitted as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media, including any medium that facilitates transfer of a computer program from one place to another. Storage media may be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection is properly termed a computer-readable medium.
[0095] For example, if the software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, digital subscriber line, or wireless technologies such as infrared, radio, and microwave are included within the definition of media. Disk and disc, as used herein, includes compact discs, laser discs, optical discs, digital versatile discs (DVDs), floppy disks, and Blu-ray discs, where disks typically reproduce data magnetically, whereas discs reproduce data optically using lasers. Combinations of the above should also be included within the scope of computer-readable media.
[0096] A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium may be coupled to the processor such that the processor can read information from, and write information to, the storage medium. Alternatively, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. Alternatively, the processor and the storage medium may reside as discrete components in the user terminal.
[0097] While the embodiments described above have been described as utilizing aspects of the presently disclosed subject matter in one or more standalone computer systems, the present disclosure is not limited thereto and may be implemented in conjunction with any computing environment, such as a network or distributed computing environment. Furthermore, aspects of the present disclosure may be implemented in multiple processing chips or devices, and storage may be similarly affected across multiple devices. Such devices may include personal computers, network servers, and portable devices.
[0098] While this disclosure has been described with respect to certain embodiments, various modifications and variations can be made without departing from the scope of the present disclosure, which would be apparent to those skilled in the art. Furthermore, such modifications and variations should be considered to fall within the scope of the claims appended to this disclosure.
Claims
1. A method for placing a virtual object in a high-definition map-based virtual environment executed by at least one processor, wherein the virtual object comprises a first part, a second part connected to the first part, and a third part connected to the second part, A step of acquiring the high-precision map data representing the actual road environment of a designated area, wherein the high-precision map data includes a plurality of vehicle driving links having direction information and a plurality of vertices having coordinate information; A step of determining the direction of the second part based on the direction information of the plurality of vehicle driving links; A step of determining the length of the second part based on coordinate information of the plurality of vertices; A step of determining the position of the third part based on the length of the second part; and A step of determining the direction of the third part based on the direction information of the plurality of vehicle driving links. A method comprising:
2. In claim 1, The step of determining the direction of the above second part is: A step of identifying a first vertex associated with the third part among the plurality of vertices; A step of identifying a first vehicle driving link associated with the first vertex among the plurality of vehicle driving links; and A step of determining the direction of the second part as a second direction perpendicular to the first direction based on the first direction indicated by the direction information of the first vehicle driving link. A method comprising:
3. In claim 1, The step of determining the length of the second part is: A step of identifying a first vertex associated with the third part among the plurality of vertices; A step of identifying a second vertex associated with the first part among the plurality of vertices; A step of calculating a distance between the first vertex and the second vertex based on coordinate information of the first vertex and coordinate information of the second vertex; and A step of determining the length of the second part based on the distance between the first vertex and the second vertex A method comprising:
4. In claim 3, The step of determining the position of the third part based on the second part is: A step of determining a first point of the second part corresponding to a point where the first length specified in the length of the second part is reduced; and A step of determining the first point of the second part as the location of the third part A method comprising:
5. In claim 4, The third part is composed of a plurality of third parts, and the plurality of third parts have first attribute information, The step of determining the position of the third part based on the second part is: A step of determining a second point of the second part corresponding to a point where the second length specified at the first point of the second part is reduced; and A step of determining the first point and the second point of the second part as the positions of each of the plurality of third parts having the first attribute information. A method further comprising:
6. In claim 4, The third part is composed of a plurality of third parts, and each of the plurality of third parts has first attribute information or second attribute information, The step of determining the position of the third part with respect to the second part is: A step of determining a second point of the second part corresponding to a point where the second length specified at the first point of the second part is reduced; A step of determining at least one third point of the second part corresponding to at least one point defined by dividing a first point and a second point of the second part by a specified third length; A step of determining the first point and the second point of the second part as the positions of each of the plurality of third parts having the first attribute information; and A step of determining at least one third point of the second part as a location of at least one third part having the second attribute information. A method further comprising:
7. In claim 1, The step of determining the direction of the third part is: A step of identifying a first vertex associated with the third part among the plurality of vertices; A step of identifying a first vehicle driving link associated with the first vertex among the plurality of vehicle driving links; and A step of determining the direction of the third part as a third direction opposite to the first direction based on the first direction indicated by the direction information of the first vehicle driving link. A method comprising:
8. In claim 1, The above virtual object is a fourth part connected to the first part Including more, The above method, A step of identifying a third vertex associated with the first part among the plurality of vertices; and A step of determining a fourth point of the first part corresponding to a specified first height as the location of the fourth part based on the coordinate information of the third vertex. A method further comprising:
9. A computer program stored on a computer-readable recording medium for executing a method according to any one of claims 1 to 8 on a computer.
10. An electronic device for placing a virtual object in a virtual environment based on a high-definition map, wherein the virtual object includes a first part, a second part connected to the first part, and a third part connected to the second part. memory that stores commands; and At least one processor Including, The above instructions, when executed by the at least one processor, cause the electronic device to: Obtaining the high-precision map data representing the actual road environment of a designated area, wherein the high-precision map data includes a plurality of vehicle driving links having direction information and a plurality of vertices having coordinate information, Based on the direction information of the plurality of vehicle driving links, the direction of the second part is determined, Based on the coordinate information of the plurality of vertices, the length of the second part is determined, Based on the length of the second part, the position of the third part is determined based on the second part, An electronic device that determines the direction of the third part based on direction information of the plurality of vehicle driving links.
Citation Information
Patent Citations
Method for operating driving assistance system for motor vehicle, apparatus, driving assistance system, motor vehicle, and computer program
KR1020250028985A
Method and system for generating virtual environment based on high-definition map
KR102427961B1
Transmittance variable optical laminate and manufacturing method for the same, and smart window including the same
KR102901270B1
Marine cable having an end sealing
KR102902944B1