WO2022033162A1 - 一种模型加载方法以及相关装置 - Google Patents

一种模型加载方法以及相关装置 Download PDF

Info

Publication number
WO2022033162A1
WO2022033162A1 PCT/CN2021/100049 CN2021100049W WO2022033162A1 WO 2022033162 A1 WO2022033162 A1 WO 2022033162A1 CN 2021100049 W CN2021100049 W CN 2021100049W WO 2022033162 A1 WO2022033162 A1 WO 2022033162A1
Authority
WO
WIPO (PCT)
Prior art keywords
model
simplified
source
simplified model
server
Prior art date
Application number
PCT/CN2021/100049
Other languages
English (en)
French (fr)
Inventor
胡景贻
杨中婷
涂镇亥
邵兴文
刘海波
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2022033162A1 publication Critical patent/WO2022033162A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality

Definitions

  • the present application relates to the field of image processing, and in particular, to a model loading method and related devices.
  • 3D models In the field of engineering technology, the initial main application design of three-dimensional (3-dimensional, 3D) models is to transmit design information to suppliers for manufacturing. Such models contain a lot of design information, resulting in very large models, and the size of a single model generally exceeds 1G.
  • 3D models have derived more and more application scenarios, such as simulation design, product display using Augmented Reality (AR) technology, etc. In new application scenarios, more simplified models are required. It is an efficient and quick way to re-use the 3D original model that has been built.
  • the lightweight technology automatically deletes invisible faces and parts from the 3D original model through the program, so as to reduce the size of the model. This technology can delete unnecessary parts and faces on the premise of ensuring the appearance of the model, and retain useful information to the greatest extent.
  • Embodiments of the present application provide a model loading method and a related device, which are used to realize fast model loading on the premise of ensuring the fineness of the appearance of the model.
  • an embodiment of the present application provides a model loading method, and the model loading method is mainly applied to virtual reality (also referred to as Web3D technology) in a web page. It is based on modeling techniques to describe interactive 3D objects and scenes, not only on the Internet, but also in local client systems.
  • virtual reality also referred to as Web3D technology
  • the virtual reality technology used to realize the web page is mainly applied to the terminal including the display screen, so the method specifically includes: the terminal sends a model loading request to the server; then the server sends the simplified model to the terminal device, and a source model corresponding to the simplified model, wherein the loading speed of the simplified model is greater than the loading speed of the source model, the difference between the appearance of the source model and the appearance of the simplified model is less than a preset threshold, and the preset threshold does not exceed
  • the recognition range of the resolution of the human eye that is, when the simplified model and the source model are displayed on a graphical user interface (GUI), the human eye cannot recognize the difference between the display effect of the simplified model and the display effect of the source model difference
  • the terminal preferentially loads the simplified model, and displays the simplified model through the GUI after the simplified model is loaded; the terminal starts the background thread to load the source model synchronously while loading the simplified model. After the model is loaded, the terminal replaces the simplified model displayed in the GUI with the source model.
  • the resolution of the human eye is different according to the age of the user or the physiological characteristics of the user.
  • the myopia group when the difference between the appearance of the source model and the simplified model exceeds ten percent, the appearance of the source model and the simplified model can be determined when the difference between the appearance of the source model and the simplified model exceeds 10%
  • the non-myopia population may determine that the appearance of the source model differs from the appearance of the reduced model when the difference between the appearance of the source model and the appearance of the reduced model exceeds five percent.
  • the resolution of the human eye may be the average resolution of the human eye of all users as the resolution of the human eye, so as to set the preset threshold; the user may also be determined according to age or physiological characteristics.
  • the groups are divided, and then the average human eye resolution is taken as the human eye resolution for each group, so as to set the preset threshold.
  • the model generally refers to a three-dimensional model (ie, a 3D model).
  • the 3D model usually refers to a product computer-aided design (Computer Aided Design, CAD) or computer-aided manufacturing (Computer Aided Manufacturing, CAM) model.
  • CAD Computer Aided Design
  • CAM computer-aided manufacturing
  • the 3D model is a polygonal representation of the object, usually displayed on a computer or other video device.
  • the displayed objects can be real-world entities or fictitious objects. Anything that exists in physical nature can be represented by a 3D model.
  • the source model may be an industrial model generated by third-party software, a rendered model obtained by rendering the industrial model, or an AR model after AR processing, and only the source model has a model's
  • the complete structure is sufficient, and there is no specific limitation here.
  • Thread is the basic unit for the operating system to allocate processor time, and a task process can have multiple threads executing code at the same time.
  • threads can be distinguished into two different types: foreground threads and background threads. And whether a thread is a foreground thread or a background thread can be determined by its IsBackground property. This property is both readable and writable. Its default value is false, which means that a thread defaults to the foreground thread. We can make it a background thread by setting its IsBackground property to true. Therefore, in this embodiment, the terminal device invokes the foreground thread to load the simplified model, and the GUI of the terminal device will display the simplified model as a display element.
  • the source model loaded through the background thread will be cached, and after the source model is loaded, the terminal device can directly call the source model from the cache to display it through the GUI of the terminal device.
  • replacing the simplified model on the GUI with the source model may directly call the source model from the cache to reload, thereby realizing the replacement of the simplified model and the source model; it may also be directly based on the simplified model
  • the source model is added; it can also be that the server generates a first simplified model, so that the sum of the data of the first simplified model and the data of the simplified model is equal to the data of the source model, and the simplified model sent to the terminal includes the first simplified model. Simplify the model, and finally, when replacing the simplified model with the source model, superimpose the first simplified model and the simplified model to obtain the source model.
  • the terminal may be an electronic device such as a mobile phone, a tablet computer, and an AR terminal, or other electronic device with a display screen, such as a personal computer, etc., which is not specifically limited here.
  • the server can be a local server or a cloud server, which is not limited here.
  • the server generates a simplified model with a similar appearance according to the source model, and the loading speed of the simplified model is faster than the loading speed of the source model, and then when the server obtains the model loading request from the terminal, the simplified model is combined with The source model is sent to the terminal together, and the terminal calls the foreground thread to load the simplified model preferentially. Because the loading speed of the simplified model is fast, it can achieve fast loading; and calls the background thread to load the source model and replace the simplified model after the loading is completed. Model.
  • the simplified model is similar to the display effect of the source model on the display interface, so the user's experience of the appearance of the model is also better.
  • the loading speed of the simplified model satisfies the fast loading condition of the model.
  • the model fast loading condition is used to indicate that the model loading duration is less than the preset duration, and the preset duration can be limited according to the current network conditions or application scenarios.
  • the user sets the preset duration to be 2 seconds according to the current network conditions, and the model fast loading condition indicates that the loading duration of the simplified model does not exceed 2 seconds.
  • the application scenario is an AR-side application scenario. In order to ensure the smoothness of the AR application, the loading time of the model does not exceed 1 second, and the preset duration is set to 1 second.
  • the data of the simplified model includes at least appearance data of the source model, and the data of the simplified model is smaller than the data of the source model.
  • the server sends the simplified model and the source model to the terminal at the same time, the loading speed of the simplified model is faster than the loading speed of the source model, which means that under the same network environment, the data of the simplified model is smaller than that of the source model.
  • the data of the simplified model includes appearance data and internal data, wherein the appearance data is used to indicate the data required to generate the outer surface of the simplified model, and the internal data is relative to the appearance data and used to indicate the generation of the simplified model Data required for parts other than surfaces.
  • the data of the source model also includes appearance data and internal data
  • the appearance data of the source model is also used to indicate the data required to generate the outer surface of the source model
  • the internal data of the source model is used to indicate the generation of other than Data required for parts other than the outer surface of this source model.
  • the terminal may adopt the following technical solutions when displaying the simplified model and the source model:
  • the terminal In response to the first operation, the terminal triggers the terminal to send the model loading request to the server, thereby finally realizing the display of the simplified model through the first GUI; in response to the second operation, the terminal triggers the terminal to load the model into the first GUI.
  • the simplified model is replaced with the source model, thereby enabling display of the source model through the first GUI.
  • the specific conditions of the first operation and the second operation are different.
  • the first operation may be that the terminal is in the running state
  • the second operation may be The terminal is in a quiescent state.
  • the first operation may be that the user clicks a model loading control in the first GUI
  • the second operation may be that the user clicks a model operation control in the first GUI
  • the model operation control is used to indicate that the user can view operations other than the appearance operations (such as zooming in, zooming out, rotating, etc.) of the model, such as clicking to view the internal parts of the model or the specific details of the model.
  • the specific generation operation of the simplified model is as follows: the server obtains a simplified parameter, where the simplified parameter is used to indicate the fineness of generating the simplified model; then the server generates the simplified model according to the simplified parameter and the source model.
  • a simplified model corresponding to the source model wherein the loading speed of the simplified model is greater than the loading speed of the source model, and the difference between the appearance of the source model and the appearance of the simplified model is less than a preset threshold, and the preset threshold does not exceed the human eye
  • the recognition range of the resolution wherein, the preset threshold value does not exceed the recognition range of the resolution of the human eye to indicate that the human eye cannot recognize the difference between the appearance display effect of the simplified model and the source model on the GUI.
  • the server may also generate a first simplified model according to the simplified model and the source model, and the source model is obtained after the first simplified model and the simplified model are integrated and loaded.
  • the server can send the source model, the simplified model and the first simplified model to the terminal, or can send the simplified model and the first simplified model to the terminal Simplify the model; then the terminal calls the foreground thread to load the simplified model first, and calls the background thread to load the first simplified model; finally, after the first simplified model is loaded, the first simplified model and the simplified model are integrated and loaded to obtain the source model.
  • the server can automatically generate the first simplified model from deleted parts or modeling process data.
  • the simplified parameter can be designed according to different model lightweight technologies.
  • the bounding box technology is described, and the simplified parameter can be the size of the bounding box.
  • the simplified parameter may further include an offset size of the bounding box, where the offset size is used to indicate the offset of the size reduction or enlargement of the bounding box. shift.
  • the specific operation of the server to obtain the simplified model according to the simplified parameters and the source model is as follows:
  • the server generates a bounding box surrounding the appearance of the source model according to the size of the bounding box indicated by the simplification parameter, and then calculates the simplified model by intersecting the surface of the bounding box and the outer surface of the source model respectively.
  • the specific calculation method of the intersection calculation is as follows: the part that intersects the bounding box with the outer surface of the source model is retained, and the non-intersection is deleted. For example, if there is a raised screw on the source model, when the bounding box covers the surface of the source model, the screw is located inside the bounding box, then the screw does not intersect with the bounding box, then delete the screw to get a simplified model here Appearance.
  • the server may reduce or enlarge the size of the bounding box according to the offset. It can be understood that, the smaller the size of the bounding box, the higher the appearance fineness of the simplified model, and the larger the size of the bounding box, the lower the appearance fineness of the simplified model.
  • the server may encapsulate the source model and the simplified model to obtain a model file, and may also establish an association relationship between the source model and the simplified model. Therefore, when the server sends the source model and the simplified model to the terminal, the server can directly send the model file to the terminal or send the source model and the simplified model to the terminal through the association relationship. If the server generates the first simplified model, an association relationship is also established between the source model, the first simplified model and the simplified model.
  • the server when data transmission is performed between the server and the terminal, the server needs to perform data coding and modulation on the simplified model and the source model, and then send it to the terminal; therefore, after receiving the data packet, the terminal needs to perform data encoding and modulation on the data packet.
  • Decoding is performed to obtain the reduced model and the source model.
  • the encoding and modulation mode of the server and the decoding mode of the terminal are also different, which are not specifically limited here.
  • an embodiment of the present application provides a terminal, and the device has a function of implementing the terminal behavior in the above-mentioned first aspect.
  • the functions can be implemented by hardware, or can be implemented by hardware executing corresponding software.
  • the hardware or software includes one or more modules corresponding to the above functions.
  • the terminal includes units or modules for performing the steps of the above first aspect.
  • the terminal includes: a sending module for sending a model loading request to a server; a receiving module for receiving a source model sent by the server and a simplified model corresponding to the source model, where the loading speed of the simplified model is higher than that of the source model
  • the loading speed of the model, the difference between the appearance of the source model and the appearance of the simplified model is less than a preset threshold, and the preset threshold does not exceed the recognition range of human eye resolution
  • the processing module is used to preferentially load the simplified model,
  • the source model is loaded through a background thread
  • the display module is used to display the simplified model in the first GUI preferentially; after the loading of the source model is completed, the simplified model in the first GUI is replaced with the source model.
  • it also includes a storage module for storing necessary program instructions and data of the terminal.
  • the terminal includes: a processor and a transceiver, where the processor is configured to support the terminal to perform corresponding functions in the method provided in the first aspect.
  • the transceiver is used to instruct the communication between the terminal and the server, and send the information or instructions involved in the above method to the server.
  • the terminal may further include a memory, which is used for coupling with the processor, and which stores necessary program instructions and data of the terminal.
  • the chip when the terminal is configured as a chip, the chip includes: a processing module and a transceiver module. Model load requests are sent to other chips or modules coupled to this chip.
  • the processing module may be, for example, a processor configured to generate a model loading request or parse a model file, and the processing module may execute computer-executed instructions stored in the storage unit to support the terminal to perform the corresponding functions in the method of the first aspect.
  • the storage unit may be a storage unit in the chip, such as a register, a cache, etc., and the storage unit may also be a storage unit located outside the chip, such as a read-only memory (read-only memory, ROM) or other types of static storage devices that can store static information and instructions, random access memory (RAM), etc.
  • ROM read-only memory
  • RAM random access memory
  • the terminal includes: a processor, a baseband circuit, a radio frequency circuit and an antenna.
  • the processor is used to control the functions of each circuit, and the baseband circuit is used to generate a model loading request. After analog conversion, filtering, amplification, and up-conversion processing through the radio frequency circuit, it is sent to the server through the antenna.
  • the terminal further includes a memory, which stores necessary program instructions and data of the terminal.
  • processors mentioned in any of the above may be a general-purpose central processing unit (Central Processing Unit, CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more An integrated circuit for controlling program execution of the model loading method of the above aspects.
  • CPU Central Processing Unit
  • ASIC application-specific integrated circuit
  • the present application provides a server, and the device has the function of implementing the server behavior in the above-mentioned first aspect.
  • the functions can be implemented by hardware, or can be implemented by hardware executing corresponding software.
  • the hardware or software includes one or more modules corresponding to the above functions.
  • the server includes units or modules for performing the steps of the above first aspect.
  • the server includes: a processing module configured to obtain a simplified model corresponding to the source model, the loading speed of the simplified model is higher than the loading speed of the source model, and the difference between the appearance of the source model and the appearance of the simplified model is smaller than a predetermined Set a threshold, the preset threshold does not exceed the recognition range of human eye resolution; the receiving module is used to receive the model loading request sent by the terminal; the sending module is used to respond to the model loading request and send the source to the terminal. model and the simplified model, so that the terminal loads the simplified model first, and then loads the source model.
  • it also includes a storage module for storing necessary program instructions and data of the server.
  • the server includes: a processor and a transceiver, the processor is configured to support the server to perform corresponding functions in the method provided in the first aspect.
  • the transceiver is used to instruct the communication between the server and the terminal, and send the information or instructions involved in the above method to the terminal.
  • the server may further include a memory, which is coupled to the processor and stores necessary program instructions and data for the server.
  • the chip when the server is configured as a chip, the chip includes: a processing module and a transceiver module, the processing module may be a processor, for example, the processor is used to obtain a simplified model corresponding to the source model, so The simplified model has the same fine appearance as the source model, and the transceiver module can be, for example, an input/output interface, a pin or a circuit on the chip, and receives a model loading request sent by the terminal or generates a The model file is transferred to other chips or modules coupled with this chip.
  • the processing module can execute the computer-executed instructions stored in the storage unit, so as to support the server to perform the corresponding function in the method of the first aspect.
  • the storage unit may be a storage unit in the chip, such as a register, a cache, etc., and the storage unit may also be a storage unit located outside the chip, such as a read-only memory (read-only memory, ROM) or other types of static storage devices that can store static information and instructions, random access memory (RAM), etc.
  • ROM read-only memory
  • RAM random access memory
  • the server includes: a processor, a radio frequency circuit and an antenna.
  • the processor is used to control the functions of each circuit part, and the processor is used to generate data packets including the source model and the simplified model. After analog conversion, filtering, amplification, and up-conversion processing through the radio frequency circuit, the processor is sent to the terminal through the antenna.
  • the server further includes a memory, which stores necessary program instructions and data of the server.
  • the processor mentioned in any one of the above may be a CPU, a microprocessor, an ASIC, or one or more integrated circuits for controlling the execution of programs of the above-mentioned model loading methods.
  • the present application provides a computer-readable storage medium, where instructions are stored in the computer-readable storage medium, and the instructions instruct a computer to execute the first aspect or any implementation manner of the first aspect. Model loading method.
  • the present application provides a computer program product comprising instructions, which, when run on a computer, cause the computer to execute the model loading method described in the first aspect or any implementation manner of the first aspect.
  • the present application may further combine to provide more implementation manners.
  • FIG. 1 is a schematic diagram of an exemplary solution for model lightweighting
  • Fig. 2 is the schematic diagram of an exemplary scheme of adopting LOD technology to carry out model light physicalization
  • FIG. 3 is a schematic diagram of an exemplary solution in Web3D technology
  • FIG. 4 is a schematic diagram of a system architecture diagram in an embodiment of the present application.
  • FIG. 5 is a schematic diagram of a hardware structure of a server and a terminal in an embodiment of the present application
  • FIG. 6 is a schematic diagram of a workflow of a server and a terminal in an embodiment of the present application.
  • FIG. 7 is a schematic diagram of an embodiment of a model loading method in an embodiment of the present application.
  • FIG. 8 is a schematic diagram of a workflow for a server to acquire a source model in an embodiment of the present application
  • FIG. 9 is a schematic diagram of generating a simplified model in an embodiment of the application.
  • 10A to 10D are schematic diagrams showing an exemplary interface for model loading in an embodiment of the present application.
  • FIG. 11 is a schematic diagram of an embodiment of a terminal in an embodiment of the present application.
  • FIG. 12 is a schematic diagram of another embodiment of the terminal in the embodiment of the present application.
  • FIG. 13 is a schematic diagram of an embodiment of a server in an embodiment of the present application.
  • FIG. 14 is a schematic diagram of another embodiment of the server in the embodiment of the present application.
  • the naming or numbering of the steps in this application does not mean that the steps in the method flow must be executed in the time/logical sequence indicated by the naming or numbering, and the named or numbered process steps can be implemented according to the The technical purpose is to change the execution order, as long as the same or similar technical effects can be achieved.
  • the division of units in this application is a logical division. In practical applications, there may be other division methods. For example, multiple units may be combined or integrated into another system, or some features may be ignored. , or not implemented, in addition, the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, and the indirect coupling or communication connection between units may be electrical or other similar forms. There are no restrictions in the application.
  • units or sub-units described as separate components may or may not be physically separated, may or may not be physical units, or may be distributed into multiple circuit units, and some or all of them may be selected according to actual needs. unit to achieve the purpose of the scheme of this application.
  • Model In this embodiment, it usually refers to a three-dimensional model (ie, a 3D model).
  • the 3D model usually refers to the product CAD or CAM model.
  • the 3D model is a polygonal representation of the object, usually displayed on a computer or other video device.
  • the displayed objects can be real-world entities or fictitious objects. Anything that exists in physical nature can be represented by a 3D model.
  • the source model may be an industrial model generated by third-party software, a rendered model obtained by rendering the industrial model, or an AR model after AR processing, and only the source model It is sufficient to have a complete structure of a model, which is not specifically limited here.
  • 3D model lightweight specifically refers to product CAD or CAM model lightweight. Mainly based on product CAD/CAM 3D model, using part surface extraction technology to remove 3D modeling process data, lighten complex features into simple geometric shapes, reduce the space occupied by parts, and improve part operations (rotation, scaling) and drawings rendering speed.
  • the lightweighting of the 3D model can be specifically shown in Figure 1, where Figure a in Figure 1 is used to indicate the original 3D model; the 3D model is removed from part of the surface of the part to obtain the figure shown in Figure b in Figure 1. lightweight model. Compared with the original 3D model, the lightweight model has less data of some parts, so that the volume of the lightweight model is reduced.
  • 3D model rendering The 3D model is finally formed according to the set environment, lighting, material and rendering parameters, and the final model and high-definition pictures are called 3D model rendering.
  • AR model perform actions such as action definition, animation production, embedded video, embedded audio, etc. on the rendered model, and finally support models displayed on multiple devices (computer/mobile phone/tablet/virtual glasses) and multiple operating systems (Windows/Android/IOS).
  • LOD technology is the abbreviation of Levels of Detail, which means multiple levels of detail. LOD technology refers to determining the resource allocation of object rendering according to the position and importance of the nodes of the object model in the display environment, reducing the number of faces and details of non-important objects, so as to obtain efficient rendering operations.
  • the process of obtaining a lightweight model by the LOD technology can be shown in Figure 2.
  • Web3D technology It is a technology that realizes virtual reality in web pages. It is based on modeling techniques to describe interactive 3D objects and scenes, not only on the Internet, but also in local client systems. Its application scenario can be shown in Figure 3, in which 301 is a display interface of a web page, wherein the 3D model 302 is displayed in the display interface as an interface element. At the same time, the display interface also includes a model operation control 303 . The corresponding presentation of the 3D model is implemented in response to an operation on the model operation control 303 (eg, a touch operation to swipe left).
  • 301 is a display interface of a web page, wherein the 3D model 302 is displayed in the display interface as an interface element.
  • the display interface also includes a model operation control 303 .
  • the corresponding presentation of the 3D model is implemented in response to an operation on the model operation control 303 (eg, a touch operation to swipe left).
  • Bounding box Also called circumscribed minimum rectangle, it is an algorithm for solving the optimal bounding space of discrete point sets.
  • the most common bounding box algorithms are Axis-aligned bounding box (AABB), bounding sphere (Sphere), Oriented bounding box (OBB) and Fixed direction convex hull (Fixed directions hulls, FDH) or k-DOP et al.
  • Thread It is the basic unit for the operating system to allocate processor time, and multiple threads can execute code simultaneously in a task process.
  • threads can be distinguished into two different types: foreground threads and background threads. And whether a thread is a foreground thread or a background thread can be determined by its IsBackground property. This property is both readable and writable. Its default value is false, which means that a thread defaults to the foreground thread. We can make it a background thread by setting its IsBackground property to true. Therefore, in this embodiment, the terminal device invokes the foreground thread to load the simplified model, and the GUI of the terminal device will display the simplified model as a display element.
  • the source model loaded through the background thread will be cached, and after the source model is loaded, the terminal device can directly call the source model from the cache to display it on the GUI of the terminal device.
  • the technical solutions provided by the embodiments of the present application are mainly applied to an exemplary solution for loading Web 3D models.
  • the application scenario may be as shown in FIG. 4 , including a server and a terminal, wherein the server is used for making 3D models and simplifying the 3D models. model, wherein, in order to meet the fast model loading condition, the loading speed of the simplified model is greater than the loading speed of the source model, and the difference between the appearance of the source model and the appearance of the simplified model is less than a preset threshold, the preset The threshold does not exceed the recognition range of human eye resolution.
  • the data of the simplified model needs to be smaller than the data of the source model.
  • the difference between the appearance of the source model and the appearance of the simplified model is smaller than the preset threshold
  • the difference between the appearance data of the 3D model and the appearance data of the simplified model is smaller than the preset threshold.
  • the data of the simplified model includes appearance data and internal data, wherein the appearance data is used to indicate the data required to generate the outer surface of the simplified model, and the internal data is relative to the appearance data, used for Indicates the data required to generate the parts other than the surfaces of this simplified model.
  • the data of the source model also includes appearance data and internal data
  • the appearance data of the source model is also used to indicate the data required to generate the outer surface of the source model
  • the internal data of the source model is used to indicate the generation of other than Data required for parts other than the outer surface of this source model.
  • the preset threshold value does not exceed the recognition range of the resolution of the human eye to indicate that the human eye cannot recognize the difference between the appearance display effect of the simplified model and the source model on the GUI. That is to say, even if the appearance of the simplified model is different from that of the source model, when displayed on the same GUI, the user cannot recognize that the appearance of the simplified model is different from that of the source model.
  • the appearance display effect of the simplified model and the source model on the GUI is consistent with the user's perception, which ensures the fineness of the appearance of the model.
  • a terminal user submits a content experience request (ie, a corresponding model loading request)
  • the server feeds back the corresponding 3D model and the simplified model of the 3D model to the terminal; when the terminal parses the data package, the simplified model is preferentially loaded, and the background thread is called for synchronous loading.
  • the source model through sequential loading, allows the model to be displayed quickly and improves the user experience.
  • FIG. 5 is a schematic diagram of a model loading network architecture according to an embodiment of the present application, including one or more terminals 501, one or more servers 502, and one or more storage devices 503, wherein the terminal 501, the server 502 and the Data interaction between the storage devices 503 may be implemented through wired or wireless network communication.
  • a client (such as a game application) loaded with a model can run on the terminal 501, and the client can access the server 502 by calling a related interface (such as an S3 interface or a REST interface). Specifically, the client can access the server 502 according to the domain name or IP address of the server 502. Find the server 502 and initiate the request.
  • a related interface such as an S3 interface or a REST interface
  • the storage device 503 is used to store data that the terminal 501 or the server 502 needs to store.
  • the storage device 503 may be a storage medium in the server or a cloud storage system.
  • the concept of cloud storage system is similar to cloud computing. It refers to a large number of different types of storage devices in the network that work together through application software through cluster applications, grid technology or distributed file systems and other functions to jointly provide external services.
  • Object storage is the core of cloud storage.
  • the basic storage unit of an object storage system is an object. Each object is a combination of data and data attribute sets. Data attributes can be set according to application requirements, including data distribution and service quality.
  • the core design idea of object storage is virtualization.
  • the storage device 503 may be an Object Storage Device (OSD) in an object storage system.
  • OSD Object Storage Device
  • Each OSD is a smart device with its own storage medium, processor, memory, and network system, and is responsible for managing local stored object.
  • the storage device 503 may include one or more storage clusters, each storage cluster may be composed of one or more physical volumes (buckets), and a logical volume is also established on the storage cluster, and each logical volume may Corresponding to one or more physical volumes, it can be understood that a storage cluster aggregates the storage space in multiple physical volumes (such as disks or hard disks) into a storage pool that can provide a unified access interface for clients.
  • the access interface accesses and utilizes the storage space on the storage cluster.
  • the storage cluster may include five physical volumes (such as hard disks) each with a storage space of 1G, then the storage cluster may provide a client with a storage space of 5G.
  • physical volumes are used to store data, including removable storage devices and non-removable storage devices, such as hard disks.
  • the server 502 is mainly used for producing the source model of the 3D model and the corresponding simplified model, and manages the storage device 503 to store the source model and the corresponding simplified model, and also performs corresponding processing on the request of the terminal 501 .
  • the server 502 may provide the terminal 501 with metadata or data generated by packaging the source model and the simplified model. Metadata is information used to describe data attributes.
  • metadata mainly includes the storage location of the source model and the simplified model.
  • the server 502 can be functionally divided into a model acquisition module 5021 , a simplified model generation module 5022 , and a model data storage module 5023 .
  • the functions of the above three components are described below in conjunction with Figure 4:
  • the model obtaining module 5021 can obtain the model to be processed (ie the source model) from the model library according to the requirements of the model maker (ie the calling instruction).
  • the simplified model generation module 5022 can, after obtaining the model to be processed, the model maker can perform lightweight processing on the model to be processed as needed, automatically generate a simplified model, and keep the appearance accuracy of the simplified model the same as that of the source model. In other words, keep the appearance of the simplified model and the source model the same in the GUI (that is, the loading speed of the simplified model is greater than that of the source model, and the difference between the appearance of the source model and the simplified model is less than
  • the preset threshold value does not exceed the recognition range of the human eye resolution). Wherein, the preset threshold value does not exceed the recognition range of the resolution of the human eye to indicate that the human eye cannot recognize the difference between the appearance display effect of the simplified model and the source model on the GUI.
  • the resolution of the human eye may be different according to the age of the user or the physiological characteristics of the user.
  • the appearance of the source model and the simplified model can be determined when the difference between the appearance of the source model and the simplified model exceeds 10%
  • the non-myopia population may determine that the appearance of the source model differs from the appearance of the reduced model when the difference between the appearance of the source model and the appearance of the reduced model exceeds five percent.
  • the resolution of the human eye may be the average resolution of the human eye of all users as the resolution of the human eye, so as to set the preset threshold; the user may also be determined according to age or physiological characteristics. The groups are divided, and then the average human eye resolution is taken as the human eye resolution for each group, so as to set the preset threshold.
  • the model data storage module 5023 packages and stores the source model and the simplified model in the storage device 503 for the terminal 501 to call.
  • the source model and the simplified model can be encapsulated into a model file to be stored in the storage device 503, or an association relationship between the source model and the simplified model can be established and then stored in the storage device 503 respectively.
  • the operation is not limited here.
  • the terminal 501 can be functionally divided into a model obtaining module 5011 , a simple model loading module 5012 and a source model loading module 5013 .
  • the functions of the above three components are described below in conjunction with Figure 4:
  • the module acquisition module 5011 sends a model loading request to the server 502 according to user requirements, and the server 502 responds to the model loading request terminal 501 by sending the source model and the corresponding data package of the simplified model or the storage address corresponding to the source model and the simplified model; the The module obtaining module 5011 receives the data package corresponding to the source model and the simplified model, or downloads the data package corresponding to the source model and the simplified model according to the storage address.
  • the simplified model loading module 5012 parses the source model and the data package corresponding to the simplified model, and preferentially loads the simplified model.
  • the source model loading module 5013 loads the source model in parallel when the simplified model loading module 5012 loads the simplified model.
  • the model can be loaded quickly while maintaining the same appearance accuracy as the source model.
  • the server sends the simplified model and the source model to the terminal at the same time
  • the loading speed of the simplified model is greater than the loading speed of the source model, which means that under the same network environment, the simplified model has a higher loading speed than the source model.
  • the data is smaller than the source model.
  • the data of the simplified model includes appearance data and internal data, wherein the appearance data is used to indicate the data required to generate the outer surface of the simplified model, and the internal data is relative to the appearance data and used to indicate the generation of the simplified model Data required for parts other than surfaces.
  • the data of the source model also includes appearance data and internal data
  • the appearance data of the source model is also used to indicate the data required to generate the outer surface of the source model
  • the internal data of the source model is used to indicate the generation of other than Data required for parts other than the outer surface of this source model.
  • the loading speed of the simplified model satisfies the fast loading condition of the model.
  • the fast loading conditions of the model can be limited according to the current network conditions or application scenarios.
  • the user sets the loading time of the model to be no more than 2 seconds according to the current network conditions, then the loading speed of the simplified model needs to satisfy the loading time of the simplified model that does not exceed 2 seconds.
  • the terminal 501 may include user equipment including a display screen in various forms, a connected vehicle device, a wearable device, an Internet of Things device, or a smart robot device, etc., for example: a mobile phone, a tablet computer, a smart watch, Vehicle terminal, AR terminal and other equipment.
  • user equipment including a display screen in various forms, a connected vehicle device, a wearable device, an Internet of Things device, or a smart robot device, etc., for example: a mobile phone, a tablet computer, a smart watch, Vehicle terminal, AR terminal and other equipment.
  • data transmission can be performed between the terminal 501, the server 502 and the storage device 503 through a preset protocol, for example, a transmission control protocol (transmission control protocol, TCP), an internet protocol (internet protocol, IP) and the like.
  • a transmission control protocol transmission control protocol, TCP
  • an internet protocol internet protocol, IP
  • FIG. 6 is a schematic diagram of a system architecture for model loading according to an embodiment of the present application, including a production interface (ie, a server) and a browsing interface (terminal).
  • the server receives the input model making parameters through a third-party tool, thereby generating the source model; then when the source model has a loading requirement, the server receives the instruction signaling for generating the simplified model and the related simplified model parameters,
  • the message server is passed to the model conversion server; then the model conversion service calls the simple model component, the simple model component obtains the simple model parameters from the model conversion server, and generates a simple model generation script according to the simple model parameters; then the The simplified model component sends the simplified model generation script to the model conversion server; the model conversion server generates a simplified model according to the simplified model generation script and the source model, and previews it; after the model maker confirms the display effect of the simplified model , the simplified model and the source model are packaged and saved to the storage device.
  • the server can also compare the model parameters of the source model with the model parameters of the simplified model to obtain the model parameters of the first simplified model, and automatically generate the first simplified model according to the model parameters, wherein , after the model parameters of the first simplified model and the model parameters of the simplified model are integrated and superimposed, the model parameters of the source model can be obtained (that is, the sum of the data equivalent to the first simplified model and the data of the simplified model is equal to the source model). model data).
  • the simplified model is preferentially obtained, and after the data reading is completed, it is displayed quickly. After completing this part of the work, the user can perform three-dimensional operations in the scene, including rotation, translation, zooming, and so on.
  • a background thread is opened for downloading the source model. After the source model is downloaded, the source model is loaded into the memory. After the memory is loaded, the simplified model is replaced with the source model and displayed in the GUI to realize seamless replacement between the source model and the simplified model.
  • the terminal can also open another background thread to load the first simplified model while loading the simplified model, and after the loading of the first simplified model is completed,
  • the source model is obtained by integrating and loading the first simplified model and the simplified model.
  • a background thread is used to load the source model to illustrate the model loading method.
  • One embodiment includes:
  • the server obtains the source model.
  • the server obtains the source model from the model database by receiving the model calling instruction.
  • the model database can be stored in the cloud storage system or in the server's own local storage device.
  • the specific calling process can be shown in Figure 8: As shown in a in Figure 8, the model database is stored in the server's own storage device, and the server can call the source model from its own storage device through the corresponding interface. .
  • the model database is stored in the cloud storage system, and the server calls the source model to the cloud storage system through a data transmission protocol.
  • the server generates a simplified model according to the source model, the loading speed of the simplified model is greater than the loading speed of the source model, and the difference between the appearance of the source model and the appearance of the simplified model is less than a preset threshold, the preset threshold Do not exceed the recognition range of human eye resolution.
  • the server operates on the source model according to the corresponding lightweight technology to generate a simplified model.
  • the loading speed of the simplified model is greater than the loading speed of the source model
  • the difference between the appearance of the source model and the appearance of the simplified model is less than a preset threshold
  • the preset threshold does not exceed the resolution of the human eye. Identify the range.
  • the specific operation of the server to generate the simplified model according to the lightweight technology is as follows:
  • the server receives model rendering parameters or other parameters to make the source model (that is, when the source model is a rendering model or an AR model), or the server directly obtains an industrial model from the model database as the source model;
  • the technology generates a simplified model of the rendered model or AR model or industrial model.
  • the lightweight technology may be a bounding box technology.
  • the simplified parameter is used to indicate the size of the bounding box (it may also be used to indicate the appearance fineness of the simplified model) or the simplified parameter is used to indicate The size of the bounding box and the offset by which to reduce the size.
  • the specific operation of generating the simplified model by the server can be as follows: the server generates a plurality of bounding boxes that can cover the outer surface of the source model according to the size of the bounding box; The surface performs an intersection calculation, and the parts that intersect with at least one face of the bounding box are retained, and those that do not intersect are culled to generate the simplified model.
  • the outer surface of the simplified model retains the color, texture, position, and related structural relationships of the source model.
  • a simulation diagram for generating a simplified model using the bounding box technique may be as shown in FIG. 9 .
  • the server can preview the simplified model when making the simplified model. If the model maker finds that the precision of the simplified model is less than the current GUI pixel when previewing the simplified model If required, the display effect cannot be the same as the display effect of the source model (that is, there is a difference in the display effect visible to the human eye); or the server compares the display effect of the source model with the display effect of the simplified model, and if there is a difference in display effect If the threshold value is exceeded (the threshold value is determined according to the resolution of human eye recognition), the server will receive an instruction to generate the simplified model again. At this time, the server can further reduce the size of the bounding box and improve the precision of the simplified model.
  • the server packages and stores the source model and the simplified model to a storage device.
  • server packaged and stored the source model and the simplified model to the storage device may specifically be as follows:
  • the server generates a corresponding association relationship between the source model and the simplified model, and stores it in a storage device.
  • the server encapsulates the source model and the simplified model into a model file (that is, encapsulates into a whole file) and then stores them in a storage device.
  • the storage device may be a storage medium of the server or a cloud storage system.
  • association relationship between the source model and the simplified model may be associated through a label or an index, and the specific manner is not limited here.
  • the index of the source model is "1”
  • the index of the simplified model is also "1”
  • the source model and the simplified model are sent according to the index. send together.
  • the terminal sends a model loading request to the server.
  • the terminal When the terminal invokes the source model through the client running by itself, it sends a model loading request to the server.
  • the model loading request may be a loading request for a 3D model of a character in a game scenario, a loading request for an AR model in an AR application scenario, or a loading request for displaying a 3D model of a device, which is not limited here.
  • the server sends the source model and the simplified model to the terminal.
  • the server may call the source model and the simplified model through an internal interface, and then send the source model and the simplified model to the terminal .
  • the server may request the source model and the simplified model from the cloud storage system, and then forward the source model and the simplified model to the terminal; or the server may request the terminal to Send the storage addresses of the source model and the simplified model in the cloud storage system, so that the terminal sends a download request to the cloud storage system according to the storage addresses, and receives the source model and the simplified model sent by the cloud storage system.
  • the terminal preferentially loads the simplified model.
  • the terminal calls the foreground thread of the application to decode the data to obtain the simplified model, and then loads the simplified model into the memory. Show this simplified model.
  • the terminal simultaneously invokes a background thread to load the source model.
  • the terminal calls the background thread of the application program to decode and load the source model. That is, the simplified model and the source model are loaded at the same time. Since the simplified model is small in size, the simplified model is loaded and displayed first.
  • the terminal replaces the simplified model in the GUI with the source model.
  • the terminal calls the source model from the memory, and replaces the simplified model in the GUI with the source model.
  • replacing the simplified model on the GUI with the source model may directly call the source model from the cache to reload, thereby realizing the replacement of the simplified model and the source model; it may also be directly based on the simplified model
  • the source model is added; it can also be that the server generates a first simplified model, so that the sum of the data of the first simplified model and the data of the simplified model is equal to the data of the source model, and the simplified model sent to the terminal includes the first simplified model. Simplify the model, and finally, when replacing the simplified model with the source model, superimpose the first simplified model and the simplified model to obtain the source model.
  • the terminal can immediately replace the simplified model in the GUI with the source model after the source model is loaded; or after the terminal receives the trigger instruction, replace the simplified model in the GUI with the source model.
  • the GUI always displays the simplified model, and when the terminal ends moving and is in a stationary state, the GUI displays the source model.
  • FIGS. 10A to 10D are schematic diagrams of the model loading method in this embodiment.
  • FIG. 10A includes a user interface 1001 of the terminal, wherein the user interface 1001 includes a loading request control 1002 and the model loading area 1003 .
  • the terminal In response to an operation of the loading request control 1002 (such as a click or a touch operation), the terminal sends a model loading request to the server.
  • the server sends the simplified model and the source model to the terminal in response to the model loading request.
  • FIG. 10B includes a user interface 1004 of the terminal, wherein the user interface 1004 includes a load request control 1002 , a model loading area 1003 and a model operation control 1005 .
  • the model loading area 1003 is used to display the model, and the simplified model is displayed in the model loading area 1003 of the user interface 1004; the model in the model loading area 1003 is changed in response to the operation of the model operation control 1005 (such as clicking or touching) display angle or display size.
  • the simplified model in the model loading area 1003 is turned in a direction and displayed at another angle.
  • FIG. 10D includes a user interface 1006 of the terminal, wherein the user interface 1006 includes a load request control 1002 , a model loading area 1003 and a model operation control 1005 .
  • the model loading area 1003 is used to display the model, and the source model is displayed in the model loading area 1003 of the user interface 1006; the model in the model loading area 1003 is changed in response to the operation of the model operation control 1005 (such as clicking or touching) display angle or display size or display the internal parts of the model, and change the display angle and display size of the internal parts of the model.
  • FIGS. 10A to 10D only show the loading method of the model in one exemplary solution.
  • the model loading process shown in FIG. 10B may be a simplified model loaded by the user during exercise; and the model loading process shown in FIG. 10D may be a user need Freeze the source model loaded when looking closely at the details of this AR model. That is, during the loading process of the AR model, the simplified model does not need to be replaced immediately after the loading of the source model is completed, but the user's actions are used to determine whether the source model needs to be replaced, thereby reducing the consumption of network resources.
  • the terminal 1100 includes: a processing module 1101, a sending module 1102, a receiving module 1103, and a display module 1104, wherein the processing module 1101, the sending module 1102, the receiving module 1103, and the display module 1104 is connected via a bus.
  • the terminal 1100 may be the terminal in the foregoing method embodiments, or may be configured as one or more chips in the terminal.
  • the terminal 1100 may be configured to execute part or all of the functions of the terminal in the foregoing method embodiments.
  • the sending module 1102 may be configured to perform step 704 in the foregoing method embodiments and send corresponding data.
  • the sending module 1102 sends a model loading request to the server;
  • the receiving module 1103 can be used to perform the receiving step of step 705 in the above method embodiment, for example, the receiving module 1103 receives the source model and the simplified model sent by the server ;
  • the processing module 1101 may be used to execute steps 706 to 708 in the above method embodiments.
  • the processing module 1101 preferentially loads the simplified model; meanwhile, calls the background thread to load the source model;
  • the display module 1104 is configured to preferentially display the simplified model through the first GUI; after the source model is loaded, replace the simplified model in the first GUI with the source model.
  • the terminal 1100 further includes a storage module, which is coupled with the processing module, so that the processing module can execute the computer execution instructions stored in the storage module to implement the functions of the terminal in the above method embodiments.
  • the storage module optionally included in the apparatus 1100 may be a storage unit within a chip, such as a register, a cache, etc., and the storage module may also be a storage unit located outside the chip, such as a ROM or a storage unit capable of storing static information and other types of static storage devices for instructions, RAM, etc.
  • FIG. 12 is a schematic diagram showing a possible structure of a terminal 1200 in the foregoing embodiment, and the terminal 1200 may be configured as the aforementioned terminal.
  • the terminal 1200 may include a processor 1202 , a computer-readable storage medium/memory 1203 , a transceiver 1204 , an input device 1205 and an output device 1206 , and a bus 1201 .
  • processors, transceivers, computer-readable storage media, etc. are connected through a bus.
  • the embodiments of the present application do not limit the specific connection medium between the above components.
  • the transceiver 1204 sends a model load request to the server, and receives the source model and the simplified model sent by the server;
  • the processor 1202 preferentially loads the simplified model; simultaneously invokes a background thread to load the source model;
  • the output device 1206 When the output device 1206 is a display device, the output device 1206 preferentially displays the simplified model, and displays the source model after the source model is loaded.
  • the processor 1202 may include baseband circuitry, eg, may encapsulate, encode, etc. data according to a protocol to generate a model loading request.
  • the transceiver 1204 may include a radio frequency circuit, so as to modulate and amplify the model loading request and send it to the server.
  • the processor 1202 may run an operating system to control functions between various devices and devices.
  • the transceiver 1204 may include a baseband circuit and a radio frequency circuit.
  • the model loading request may be processed by the baseband circuit, and then sent to the server by the radio frequency circuit.
  • the transceiver 1204 and the processor 1202 can implement the corresponding steps in any of the foregoing embodiments in FIG. 4 to FIG. 10D , and details are not repeated here.
  • FIG. 12 only shows a simplified design of the terminal.
  • the terminal may include any number of transceivers, processors, memories, etc., and all the terminals that can implement the present application are included in the present application. within the scope of protection.
  • the processor 1202 involved in the above-mentioned apparatus 1200 may be a general-purpose processor, such as a CPU, a network processor (NP), a microprocessor, etc., or an ASIC, or one or more programs used to control the solution of the present application implemented integrated circuits. It can also be a digital signal processor (DSP), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components.
  • DSP digital signal processor
  • FPGA field-programmable gate array
  • a controller/processor may also be a combination that implements computing functions, such as a combination comprising one or more microprocessors, a combination of a DSP and a microprocessor, and the like. Processors typically perform logical and arithmetic operations based on program instructions stored in memory.
  • the above-mentioned bus 1201 may be a peripheral component interconnect (PCI for short) bus or an extended industry standard architecture (EISA for short) bus or the like.
  • PCI peripheral component interconnect
  • EISA extended industry standard architecture
  • the bus can be divided into address bus, data bus, control bus and so on. For ease of representation, only one thick line is shown in FIG. 12, but it does not mean that there is only one bus or one type of bus.
  • the computer-readable storage medium/memory 1203 mentioned above may also store an operating system and other application programs.
  • the program may include program code, and the program code includes computer operation instructions.
  • the above-mentioned memory may be ROM, other types of static storage devices that can store static information and instructions, RAM, other types of dynamic storage devices that can store information and instructions, disk storage, and the like.
  • Memory 1203 may be a combination of the above storage types.
  • the above-mentioned computer-readable storage medium/memory may be in the processor, outside the processor, or distributed over multiple entities including the processor or processing circuit.
  • the computer-readable storage medium/memory described above may be embodied in a computer program product.
  • a computer program product may include a computer-readable medium in packaging materials.
  • the embodiments of the present application also provide a general-purpose processing system, for example, commonly referred to as a chip, and the general-purpose processing system includes: one or more microprocessors that provide processor functions; and an external memory that provides at least a part of a storage medium. , all of which are connected together with other support circuits through an external bus architecture.
  • the processor is caused to execute some or all of the steps in the model loading method of the terminal in the embodiments described in FIGS. 4 to 10D , and/or for the techniques described in this application. other processes.
  • the steps of the methods or algorithms described in conjunction with the disclosure of the present application may be implemented in a hardware manner, or may be implemented in a manner in which a processor executes software instructions.
  • the software instructions can be composed of corresponding software modules, and the software modules can be stored in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, removable hard disk, CD-ROM, or any other form of storage known in the art in the medium.
  • An exemplary storage medium is coupled to the processor, such that the processor can read information from, and write information to, the storage medium.
  • the storage medium can also be an integral part of the processor.
  • the processor and storage medium may reside in an ASIC. Alternatively, the ASIC may be located in the terminal. Of course, the processor and the storage medium may also exist in the terminal as discrete components.
  • the server 1300 in this embodiment of the present application includes: a processing module 1301, a receiving module 1302 and a sending module 1303, wherein the processing module 1301, the receiving module 1302 and the sending module 1303 are connected through a bus.
  • the server 1300 may be the server in the foregoing method embodiments, or may be configured as one or more chips in the server.
  • the server 1300 may be configured to execute part or all of the functions of the server in the above method embodiments.
  • the processing module 1301 may be used to perform steps 701 to 703 in the above method embodiments.
  • the processing module 1301 obtains a source model; generates a simplified model according to the source model; packages the source model and the simplified model and stores them in a storage device;
  • the receiving module 1302 may be configured to perform step 704 in the foregoing method embodiments.
  • the receiving module 1302 receives the model loading request sent by the terminal;
  • the sending module 1303 may be configured to perform step 705 in the above method embodiments. For example, the sending module 1303 sends the source model and the simplified model to the terminal.
  • the server 1300 further includes a storage module, where the storage module can be used to store the source model and the simplified model.
  • the storage module is coupled with the processing module, so that the processing module can execute the computer-executed instructions stored in the storage module to implement the function of the server in the above method embodiment.
  • a storage module optionally included in the server 1300 may be an in-chip storage unit, such as a register, a cache, etc., and the storage module may also be a storage unit located outside the chip, such as a ROM or a storage unit capable of storing static information and other types of static storage devices for instructions, RAM, etc.
  • FIG. 14 shows a schematic diagram of a possible structure of a server 1400 in the above-mentioned embodiment, and the server 1400 may be configured as the aforementioned server.
  • the server 1400 may include: a processor 1402 , a computer-readable storage medium/memory 1403 , a transceiver 1404 , an input device 1405 and an output device 1406 , and a bus 1401 . Wherein, processors, transceivers, computer-readable storage media, etc. are connected through a bus.
  • the embodiments of the present application do not limit the specific connection medium between the above components.
  • the processor 1402 obtains a source model; generates a simplified model according to the source model, the simplified model includes the appearance data of the source model, and the difference between the appearance data of the simplified model and the appearance data of the source model less than a preset threshold; package the source model and the simplified model and store them in a storage device;
  • the transceiver 1404 receives the model loading request sent by the terminal; and sends the source model and the simplified model to the terminal.
  • the processor 1402 may run an operating system that controls functions between various devices and devices.
  • the transceiver 1404 may include a baseband circuit and a radio frequency circuit.
  • the data packet may be processed by the baseband circuit and the radio frequency circuit and then sent to the terminal.
  • the transceiver 1404 and the processor 1402 can implement the corresponding steps in any of the foregoing embodiments in FIG. 4 to FIG. 10D , and details are not repeated here.
  • FIG. 14 only shows a simplified design of the server.
  • the server may contain any number of transceivers, processors, memories, etc., and all the servers that can implement the present application are in the within the scope of protection.
  • the processor 1402 involved in the above server 1400 may be a general-purpose processor, such as a CPU, NP, a microprocessor, etc., or an ASIC, or one or more integrated circuits for controlling the execution of the programs of the present application. It can also be a DSP, FPGA or other programmable logic device, discrete gate or transistor logic device, discrete hardware components.
  • a controller/processor may also be a combination that implements computing functions, such as a combination comprising one or more microprocessors, a combination of a DSP and a microprocessor, and the like. Processors typically perform logical and arithmetic operations based on program instructions stored in memory.
  • the above-mentioned bus 1401 may be a PCI bus or an EISA bus or the like.
  • the bus can be divided into address bus, data bus, control bus and so on. For ease of presentation, only one thick line is shown in FIG. 14, but it does not mean that there is only one bus or one type of bus.
  • the computer-readable storage medium/memory 1403 mentioned above may also store an operating system and other application programs.
  • the program may include program code, and the program code includes computer operation instructions.
  • the above-mentioned memory may be ROM, other types of static storage devices that can store static information and instructions, RAM, other types of dynamic storage devices that can store information and instructions, disk storage, and the like.
  • Memory 1403 may be a combination of the above storage types.
  • the above-mentioned computer-readable storage medium/memory may be in the processor, outside the processor, or distributed over multiple entities including the processor or processing circuit.
  • the computer-readable storage medium/memory described above may be embodied in a computer program product.
  • a computer program product may include a computer-readable medium in packaging materials.
  • the embodiments of the present application also provide a general-purpose processing system, for example, commonly referred to as a chip, and the general-purpose processing system includes: one or more microprocessors that provide processor functions; and an external memory that provides at least a part of a storage medium. , all of which are connected together with other support circuits through an external bus architecture.
  • the instructions stored in the memory when executed by the processor, cause the processor to perform some or all of the steps in the model loading method of the server in the embodiments described in FIGS. 4 to 10D , and/or for the techniques described in this application. other processes.
  • the steps of the methods or algorithms described in conjunction with the disclosure of the present application may be implemented in a hardware manner, or may be implemented in a manner in which a processor executes software instructions.
  • the software instructions can be composed of corresponding software modules, and the software modules can be stored in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, removable hard disk, CD-ROM, or any other form of storage known in the art in the medium.
  • An exemplary storage medium is coupled to the processor, such that the processor can read information from, and write information to, the storage medium.
  • the storage medium can also be an integral part of the processor.
  • the processor and storage medium may reside in an ASIC.
  • the ASIC may be located in a server.
  • the processor and storage medium may also exist in the server as discrete components.
  • the disclosed system, apparatus and method may be implemented in other manners.
  • the apparatus embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as an independent product, may be stored in a computer-readable storage medium.
  • the technical solutions of the present application can be embodied in the form of software products in essence, or the parts that contribute to the prior art, or all or part of the technical solutions, and the computer software products are stored in a storage medium , including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage medium includes: U disk, mobile hard disk, Read-Only Memory (ROM, Read-Only Memory), Random Access Memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program codes .

Abstract

一种模型加载方法以及相关装置,用于在保证模型外观精细度的前提下,实现模型快速加载。所述方法包括:该终端向服务器发送模型加载请求;然后该服务器向该终端设备发送简化模型,以及该简化模型对应的源模型,其中该简化模型的加载速度大于该源模型的加载速度,该源模型的外观与该简化模型的外观之间的差异小于预设阈值,该预设阈值不超出人眼分辨率的识别范围;该终端优先加载该简化模型;调用后台线程同时加载该源模型,在该源模型加载完成之后,该终端将第一GUI中显示的简化模型替换为该源模型。

Description

一种模型加载方法以及相关装置
本申请要求于2020年08月14日提交中国专利局、申请号为202010823735.X、发明名称为“一种模型加载方法以及相关装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及图像处理领域,尤其涉及一种模型加载方法以及相关装置。
背景技术
在工程技术领域,三维(3-dimensional,3D)模型最初的主要应用设计,是传递设计信息给供应商用于生产制造。此类模型包含很多的设计信息,导致模型很大,单个模型大小一般超过1G。随着数字化的推行,3D模型衍生出了越来越多的应用场景,比如仿真设计、利用增强现实(Augmented Reality,AR)技术进行产品的展示等。在新的应用场景下,需要更多的简化模型。而对已经建好的3D原始模型进行轻量化后再利用是一种高效快捷的方式。轻量化技术通过程序,自动对3D原始模型进行删除外观不可见的面和部件,从而达到减少模型大小的技术。该项技术可以在保证模型外观的前提下,删除不需要的部件和面,最大程度的保留有用信息。
而随着用户要求体验越来越精细的要求,导致模型体验端的模型细节需要大部分保留,但是受限带宽的影响,模型不能无节制的变大。为了提升用户首屏加载的时间,需要调和两者之间的矛盾。即需要找到一种办法能让大型工程模型能快速加载的方法。
发明内容
本申请实施例提供了一种模型加载方法以及相关装置,用于在保证模型外观精细度的前提下,实现模型快速加载。
第一方面,本申请实施例提供一种模型加载方法,该模型加载方法主要应用于在网页中虚拟现实(也称为Web3D技术)。它基于建模技术,描述交互式的3D对象和场景,不仅应用在互联网上,也可以用在本地客户系统中。本实施例中,用于实现在网页中实现虚拟现实技术主要应用于包括显示屏的终端,因此该方法具体包括:该终端向服务器发送模型加载请求;然后该服务器向该终端设备发送简化模型,以及该简化模型对应的源模型,其中该简化模型的加载速度大于该源模型的加载速度,该源模型的外观与该简化模型的外观之间的差异小于预设阈值,该预设阈值不超出人眼分辨率的识别范围(即该简化模型与该源模型在图形用户界面(graphical user interface,GUI)显示时,人眼无法识别出该简化模型的显示效果与该源模型的显示效果之间的差异);该终端优先加载该简化模型,并在简化模型加载完成之后通过GUI对该简化模型进行显示;该终端在加载该简化模型的同时,启动后台线程同步加载该源模型,在该源模型加载完成之后,该终端将该GUI中显示的该简化模型替换为该源模型。
在实际应用中,该人眼分辨率根据用户年龄或者用户的生理特征的不同具有差异性。比如近视群体与未近视群体相比,近视群体(比如近视400度)在该源模型的外观 与该简化模型的外观之间的差异超出百分之十时可以确定该源模型的外观与该简化模型的外观存在差异,而未近视群体在该源模型的外观与该简化模型的外观之间的差异超出百分之五时就可以确定该源模型的外观与该简化模型的外观存在差异。根据上述情况,本实施例中,该人眼分辨率可以根据取全体用户的平均人眼分辨率作为该人眼分辨率,从而设定该预设阈值;也可以根据年龄或者生理特征对用户进行群体划分,然后对于每一个群体取平均人眼分辨率作为该人眼分辨率,从而设定该预设阈值。
本实施例中该模型通常是指三维模型(即3D模型)。该3D模型通常指产品计算机辅助设计(Computer Aided Design,CAD)或计算机辅助制造(Computer Aided Manufacturing,CAM)模型。该3D模型是物体的多边形表示,通常用计算机或者其它视频设备进行显示。显示的物体可以是现实世界的实体,也可以是虚构的物体。任何物理自然界存在的东西都可以用3D模型表示。在一些可能实现方式中,该源模型可以是第三方软件生成的工业模型,也可以是将该工业模型进行渲染得到的渲染模型或者进行AR处理后的AR模型,只有该源模型具有一个模型的完整结构即可,具体此处不做限定。
线程是操作系统分配处理器时间的基本单元,并且一个任务进程中可以有多个线程同时执行代码。在操作系统运行过程中,线程可以区分为两种不同类型:前台线程和后台线程。而一个线程是前台线程还是后台线程可由它的IsBackground属性来决定。这个属性是可读又可写的。它的默认值为false,即意味着一个线程默认为前台线程。我们可以将它的IsBackground属性设置为true,从而使之成为一个后台线程。因此本实施例中,该终端设备调用前台线程加载该简化模型,则该终端设备的GUI会将该简化模型作为显示元素进行显示。而通过后台线程加载的源模型则会进行缓存,在该源模型加载完成之后,该终端设备可以直接从缓存中调用该源模型通过该终端设备的GUI进行显示。
本实施例中,将该GUI上的简化模型替换为源模型可以是直接从缓存中调用该源模型重新加载,从而实现简化模型与源模型的替换;也可以是直接在该简化模型的基础上增加该源模型;也可以是服务器生成第一简化模型,使得该第一简化模型的数据与该简化模型的数据之和等于该源模型的数据,且发送给该终端的简化模型包括该第一简化模型,最后在将简化模型替换为源模型时,将该第一简化模型与该简化模型进行叠加得到该源模型。
而该终端可以是手机、平板电脑、AR终端等电子设备,也可以是带有显示屏的其他电子设备,如个人电脑等,具体此处不做限定。而服务器可以本地服务器也可以云端服务器,具体此处不做限定。
本实施例中,该服务器根据源模型生成外观相似的简化模型,且该简化模型的加载速度大于源模型的加载速度,然后在该服务器在获取到终端的模型加载请求时,将该简化模型与该源模型一起发送给该终端,该终端调用前台线程优先加载该简化模型,由于该简化模型的加载速度较快从而实现快速加载;并调用后台线程加载该源模型并在加载完成之后替换该简化模型。同时该简化模型与该源模型在显示界面的显示效果相似,因此用户对于模型的外观观感体验也较好。
一种可能实现方式中,该简化模型的加载速度满足模型快速加载条件。该模型快速加载条件用于指示模型加载时长小于预设时长,而该预设时长可以根据当前网络情况或 应用场景进行限定。一种示例性方案中,用户根据当前网络情况设置该预设时长为2秒,则该模型快速加载条件指示该简化模型的加载时长不超过2秒。另一种示例性方案中,该应用场景为AR端应用场景,为了保证AR应用的顺畅,该模型的加载时长不超过1秒,则该预设时长设置为1秒。
一种可能实现方式中,该简化模型的数据至少包括该源模型的外观数据,且该简化模型的数据小于该源模型的数据。在该服务器将该简化模型和该源模型同时发送给该终端过程中该简化模型的加载速度大于该源模型的加载速度,即说明在相同的网络环境下,该简化模型的数据小于该源模型。该简化模型的数据包括外观数据以及内部数据,其中外观数据用于指示生成该简化模型的外表面所需要的数据,而该内部数据是相对于该外观数据而言,用于指示生成该简化模型除外表面之外的零件所需要的数据。同理,该源模型的数据也包括外观数据以及内部数据,该源模型的外观数据也用于指示生成该源模型的外表面所需要的数据;而该源模型的内部数据用于指示生成除该源模型的外表面之外的零件所需要的数据。
一种可能实现方式中,该终端在显示该简化模型与该源模型时可以采用如下技术方案:
该终端响应于第一操作,触发该终端向该服务器发送该模型加载请求,从而最后实现通过该第一GUI显示该简化模型;该终端响应于第二操作,触发该终端将该第一GUI中的简化模型替换为源模型,从而实现通过该第一GUI显示该源模型。可以理解的是,根据应用场景不同,该第一操作与该第二操作的具体情况不同,比如,在AR模型应用场景下,该第一操作可以是终端处于运行状态,该第二操作可以是终端处于静止状态。在Web模型加载应用场景下,该第一操作可以是用户点选第一GUI中的模型加载控件,该第二操作可以是用户点选第一GUI中的模型操作控件。具体来说,该模型操作控件用于指示用户可以查看模型除外观操作(比如放大、缩小、旋转等)以外操作,比如点选查看模型内部零件或者模型具体细节。
一种可能实现方式中,该简化模型的具体生成操作如下:该服务器获取简化参数,其中该简化参数用于指示生成该简化模型的精细度;然后该服务器根据该简化参数和该源模型生成该源模型对应的简化模型,其中该简化模型的加载速度大于该源模型的加载速度,该源模型的外观与该简化模型的外观之间的差异小于预设阈值,该预设阈值不超出人眼分辨率的识别范围。其中,该预设阈值不超过人眼分辨率的识别范围用于指示人眼无法识别该简化模型与该源模型在GUI上外观显示效果的差异。即说明即使该简化模型的外观与该源模型在外观存在差异,但是在同一GUI上进行显示时,用户并不能识别出该简化模型的外观显示效果与该源模型的外观显示效果有差异,从而实现该简化模型与该源模型在GUI上的外观显示效果在用户的观感上达成一致,保证了模型外观精细度。
本实施例中,该服务器还可以根据该简化模型与该源模型生成第一简化模型,该第一简化模型与该简化模型整合加载之后得到该源模型。基于该方案,该服务器在接收到终端发送的模型加载请求时,该服务器可以向该终端发送该源模型、简化模型和该第一简化模型,或者可以向该终端发送该简化模型和该第一简化模型;然后该终端调用前台线程优先加载该简化模型,调用后台线程加载该第一简化模型;最终在该第一简化模型加载完成之后,将该第一简化模型与该简化模型整合加载得到该源模型。具体来说,该 服务器可以根据该简化参数得到该简化模型之后,自动将删除的零件或者建模过程数据生成该第一简化模型。
具体来说,该简化参数可以根据模型轻量化技术的不同进行设计,本实施例中,该包围盒技术进行说明,该简化参数可以是包围盒的尺寸大小。而为了实现在生成简化模型的过程中实时调整简化模型的精细度,该简化参数中还可以包括该包围盒的偏移大小,其中该偏移大小用于指示该包围盒尺寸缩小或放大的偏移。
根据上述包围盒技术,该服务器根据该简化参数和该源模型得到该简化模型的具体操作如下:
该服务器根据该简化参数指示的包围盒尺寸生成包围该源模型外观的包围盒,然后分别对该包围盒的面与该源模型的外表面求交计算得到该简化模型。其中求交计算具体计算方式如下:将该包围盒与该源模型的外表面相交的部分保留,不相交的删除。比如在源模型上存在一个凸起的螺钉,在包围盒覆盖该源模型表面时,该螺钉位于该包围盒内部,则该螺钉未与该包围盒相交,则删除该螺钉得到简化模型在此处的外观。
一种可能实现方式中,若该服务器根据预设的包围盒的尺寸大小得到的简化模型预览效果不满足要求,则该服务器可以根据该偏移大小对该包围盒的尺寸大小进行缩小或放大。可以理解的是,包围盒的尺寸越小,则该简化模型的外观精细度越高,包围盒的尺寸越大,则该简化模型的外观精细度越低。
一种可能实现方式中,该服务器对该源模型与该简化模型可以进行封装得到模型文件,也可以将该源模型与该简化模型建立关联关系。因此在该服务器向该终端发送该源模型和该简化模型时,该服务器可以直接将该模型文件发送给该终端也可以通过该关联关系将该源模型与该简化模型一起发送给终端。若该服务器生成该第一简化模型,则该源模型、第一简化模型和该简化模型同样建立关联关系。
本实施例中,服务器与终端之间进行数据传输时,该服务器需要将该简化模型与该源模型进行数据编码调制,然后发送给该终端;因此该终端在接收到数据包之后需要对数据包进行解码从而得到该简化模型和该源模型。具体来说根据该服务器与终端之间的数据传输协议的不同,该服务器的编码调制的方式以及终端解码的方式也不相同,具体此处不做限定。
第二方面,本申请实施例提供一种终端,该装置具有实现上述第一方面中终端行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的实现方式中,该终端包括用于执行以上第一方面各个步骤的单元或模块。例如,该终端包括:发送模块,用于向服务器发送模型加载请求;接收模块,用于接收所述服务器发送的源模型和所述源模型对应的简化模型,该简化模型的加载速度大于该源模型的加载速度,该源模型的外观与该简化模型的外观之间的差异小于预设阈值,该预设阈值不超过人眼分辨率的识别范围;处理模块,用于优先加载该简化模型,同时通过后台线程加载该源模型;显示模块,用于优先在第一GUI显示该简化模型;在该源模型加载完成之后,将该第一GUI中的简化模型替换为该源模型。
可选的,还包括存储模块,用于保存终端必要的程序指令和数据。
在一种可能的实现方式中,该终端包括:处理器和收发器,所述处理器被配置为支 持终端执行上述第一方面提供的方法中相应的功能。收发器用于指示终端与服务器之间的通信,向服务器发送上述方法中所涉及的信息或指令。可选的,此终端还可以包括存储器,所述存储器用于与处理器耦合,其保存终端必要的程序指令和数据。
在一种可能的实现方式中,当该终端配置为芯片时,该芯片包括:处理模块和收发模块,所述收发模块例如可以是该芯片上的输入/输出接口、管脚或电路等,将模型加载请求传送给与此芯片耦合的其他芯片或模块中。所述处理模块例如可以是处理器,此处理器用于生成模型加载请求或解析模型文件,该处理模块可执行存储单元存储的计算机执行指令,以支持终端执行上述第一方面方法中相应的功能。可选地,所述存储单元可以为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
在一种可能的实现方式中,该终端包括:处理器,基带电路,射频电路和天线。其中处理器用于实现对各个电路部分功能的控制,基带电路用于生成模型加载请求,经由射频电路进行模拟转换、滤波、放大和上变频等处理后,再经由天线发送给服务器。可选的,该终端还包括存储器,其保存终端必要的程序指令和数据。
其中,上述任一处提到的处理器,可以是一个通用中央处理器(Central Processing Unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制上述各方面模型加载方法的程序执行的集成电路。
第三方面,本申请提供一种服务器,该装置具有实现上述第一方面中服务器行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的实现方式中,该服务器包括用于执行以上第一方面各个步骤的单元或模块。例如,该服务器包括:处理模块,用于获取源模型对应的简化模型,该简化模型的加载速度大于该源模型的加载速度,该源模型的外观与该简化模型的外观之间的差异小于预设阈值,该预设阈值不超过人眼分辨率的识别范围;接收模块,用于接收终端发送的模型加载请求;发送模块,用于响应所述模型加载请求,向所述终端发送所述源模型和所述简化模型,以使得所述终端优先加载所述简化模型,后加载所述源模型。
可选的,还包括存储模块,用于保存服务器必要的程序指令和数据。
在一种可能的实现方式中,该服务器包括:处理器和收发器,所述处理器被配置为支持服务器执行上述第一方面提供的方法中相应的功能。收发器用于指示服务器和终端之间的通信,向终端发送上述方法中所涉及的信息或指令。可选的,此服务器还可以包括存储器,所述存储器用于与处理器耦合,其保存服务器必要的程序指令和数据。
在一种可能的实现方式中,当该服务器配置为芯片时,该芯片包括:处理模块和收发模块,所述处理模块例如可以是处理器,此处理器用于获取源模型对应的简化模型,所述简化模型与所述源模型具有相同精细度的外观,所述收发模块例如可以是该芯片上的输入/输出接口、管脚或电路等,接收该终端发送的模型加载请求或将处理器生成的模型文件传送给与此芯片耦合的其他芯片或模块中。该处理模块可执行存储单元存储的计算机执行指令,以支持服务器执行上述第一方面方法中相应的功能。可选地,所述存 储单元可以为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
在一种可能的实现方式中,该服务器包括:处理器,射频电路和天线。其中处理器用于实现对各个电路部分功能的控制,处理器用于生成包括源模型和简化模型的数据包,经由射频电路进行模拟转换、滤波、放大和上变频等处理后,再经由天线发送给终端。可选的,该服务器还包括存储器,其保存服务器必要的程序指令和数据。
其中,上述任一处提到的处理器,可以是一个CPU,微处理器,ASIC,或一个或多个用于控制上述各方面模型加载方法的程序执行的集成电路。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令指示计算机执行上述第一方面或第一方面的任一种实现方式所述的模型加载方法。
第五方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种实现方式所述的模型加载方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1为模型轻量化的一个示例性方案的示意图;
图2为采用LOD技术进行模型轻理化的一个示例性方案的示意图;
图3为Web3D技术中一个示例性方案的示意图;
图4为本申请实施例中一个系统架构图的示意图;
图5为本申请实施例中的服务器与终端的一个硬件结构示意图;
图6为本申请实施例中服务器与终端的一个工作流程示意图;
图7为本申请实施例中模型加载方法的一个实施例示意图;
图8为本申请实施例中服务器获取源模型的一个工作流程示意图;
图9为本申请实施例中简化模型的生成示意图;
图10A至图10D为本申请实施例中模型加载的一个示例性界面显示示意图;
图11为本申请实施例中终端的一个实施例示意图;
图12为本申请实施例中终端的另一个实施例示意图;
图13为本申请实施例中服务器的一个实施例示意图;
图14为本申请实施例中服务器的另一个实施例示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适 当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。本申请中所出现的单元的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个单元可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的单元或子单元可以是也可以不是物理上的分离,可以是也可以不是物理单元,或者可以分布到多个电路单元中,可以根据实际的需要选择其中的部分或全部单元来实现本申请方案的目的。
为了更好地理解本发明实施例,在此首先释明下面实施例可能涉及到的概念:
模型:本实施例中通常是指三维模型(即3D模型)。该3D模型通常指产品CAD或CAM模型。该3D模型是物体的多边形表示,通常用计算机或者其它视频设备进行显示。显示的物体可以是现实世界的实体,也可以是虚构的物体。任何物理自然界存在的东西都可以用3D模型表示。在本实施例的一些可能实现方式中,该源模型可以是第三方软件生成的工业模型,也可以是将该工业模型进行渲染得到的渲染模型或者进行AR处理后的AR模型,只有该源模型具有一个模型的完整结构即可,具体此处不做限定。
3D模型轻量化:3D模型轻量化特指产品CAD或CAM模型轻量化。主要是以产品CAD/CAM 3D模型为基础,利用零件表面抽取技术,去除3D建模过程数据,将复杂特征轻量化成简单几何形状,减少零件占用空间,提升零件操作(旋转、缩放)和图纸渲染速度。一种示例性方案中,3D模型轻量化具体可以如图1所示,其中,图1中a图用于指示原3D模型;将该3D模型去除部分零件表面,得到图1中b图所指示的轻量化模型。该轻量化模型比原3D模型少了部分零件的数据,从而该轻量化模型的体积减小。
3D模型渲染:将3D模型,按照设定好的环境、灯光、材质及渲染参数,最后形成的模型和高清图片,称为3D模型渲染。
AR模型:将渲染模型进行动作定义、动画制作、嵌入视频、嵌入音频等作业,最终支持多设备(电脑/手机/平板/虚拟眼镜),多操作系统(Windows/安卓/IOS)显示的模型。
LOD技术:LOD技术即Levels of Detail的简称,意为多细节层次。LOD技术指根据物体模型的节点在显示环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算。该LOD技术得到轻量化模型的过程可以如图2所示。
Web3D技术:是实现网页中虚拟现实的一种技术。它基于建模技术,描述交互式的3D对象和场景,不仅应用在互联网上,也可以用在本地客户系统中。其应用场景可以如图3所示,图中301为网页的一个显示界面,其中,该3D模型302作为一个界面元素 显示在该显示界面中。同时该显示界面中还包括模型操作控件303。响应于对模型操作控件303的操作(比如触摸操作向左划)实现3D模型的相应展示。
包围盒:也叫外接最小矩形,是一种求解离散点集最优包围空间的算法,基本思想是用体积稍大且特性简单的几何体(称为包围盒)来近似地代替复杂的几何对象。最常见的包围盒算法有轴对齐包围盒(Axis-aligned bounding box,AABB),包围球(Sphere),方向包围盒(Oriented bounding box,OBB)以及固定方向凸包(Fixed directions hulls,FDH)或k-DOP等。
线程:是操作系统分配处理器时间的基本单元,并且一个任务进程中可以有多个线程同时执行代码。在操作系统运行过程中,线程可以区分为两种不同类型:前台线程和后台线程。而一个线程是前台线程还是后台线程可由它的IsBackground属性来决定。这个属性是可读又可写的。它的默认值为false,即意味着一个线程默认为前台线程。我们可以将它的IsBackground属性设置为true,从而使之成为一个后台线程。因此本实施例中,该终端设备调用前台线程加载该简化模型,则该终端设备的GUI会将该简化模型作为显示元素进行显示。而通过后台线程加载的源模型则会进行缓存,在该源模型加载完成之后,该终端设备可以直接从缓存中调用该源模型通过该终端设备的GUI上进行显示。
本申请实施例提供的技术方案主要应用于Web3D模型加载一种示例性方案中,该应用场景可以如图4所示,包括服务器以及终端,其中,该服务器用于制作3D模型以及3D模型的简化模型,其中,为了满足模型快速加载条件,该简化模型的加载速度要大于该源模型的加载速度,且该源模型的外观与该简化模型的外观之间的差异小于预设阈值,该预设阈值不超出人眼分辨率的识别范围。在相同网络环境的情况下,为实现该简化模型的加载速度大于该源模型的加载,则需要该简化模型的数据小于该源模型的数据。为了满足该源模型的外观与该简化模型的外观之间的差异小于预设阈值,则该3D模型的外观数据与该简化模型的外观数据之间的差值小于预设阈值。本实施例中,该简化模型的数据包括外观数据以及内部数据,其中外观数据用于指示生成该简化模型的外表面所需要的数据,而该内部数据是相对于该外观数据而言,用于指示生成该简化模型除外表面之外的零件所需要的数据。同理,该源模型的数据也包括外观数据以及内部数据,该源模型的外观数据也用于指示生成该源模型的外表面所需要的数据;而该源模型的内部数据用于指示生成除该源模型的外表面之外的零件所需要的数据。其中,该预设阈值不超过人眼分辨率的识别范围用于指示人眼无法识别该简化模型与该源模型在GUI上外观显示效果的差异。即说明即使该简化模型的外观与该源模型在外观存在差异,但是在同一GUI上进行显示时,用户并不能识别出该简化模型的外观显示效果与该源模型的外观显示效果有差异,从而实现该简化模型与该源模型在GUI上的外观显示效果在用户的观感上达成一致,保证了模型外观精细度。在终端用户提交内容体验请求(即相应的模型加载请求)时,该服务器将对应的3D模型和3D模型的简化模型反馈到终端;终端解析数据包时优先加载简化模型,同时调用后台线程同步加载源模型,通过顺序加载的方式,让模型快速展示,提升用户体验。
下面请参阅图5,图5为本申请实施例模型加载网络架构示意图,包括一个或多个终端501、一个或多个服务器502以及一个或多个存储设备503,其中,终端501、服务 器502以及存储设备503之间可以通过有线或无线的网络通信方式实现数据交互。
终端501上可以运行模型加载的客户端(例如游戏应用),通过该客户端调用相关的接口(例如S3接口或REST接口)访问服务器502,具体地,客户端可以根据服务器502的域名或IP地址寻找到服务器502并发起请求。
存储设备503用于存储终端501或服务器502需要存储的数据,例如,存储设备503可以是服务器中的存储介质或者是云端存储系统。其中云端存储系统的概念与云计算类似,它是指通过集群应用、网格技术或分布式文件系统等功能,网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统,保证数据的安全性,并节约存储空间。对象存储作为云存储的核心,对象存储系统的存储基本单元是对象,每个对象是数据和数据属性集的综合体,数据属性可以根据应用的需求进行设置,包括数据分布以及服务质量等。对象存储的核心设计思想是虚拟化,具体说来,就是把文件的物理存储位置,比如目录、磁盘等,虚拟化为卷(bucket),把文件虚拟化为对象。对应用层来说,简化了对数据的存取访问,屏蔽了底层存储技术的异构性和复杂性。例如,存储设备503可以是对象存储系统中的对象存储设备(Object Storage Device,OSD),每个OSD都是一个智能设备,具有自己的存储介质、处理器、内存以及网络系统等,负责管理本地存储的对象。其中,存储设备503可以包含一个或多个存储集群(storage cluster),每个存储集群可以由一个或多个物理卷(bucket)组成,在存储集群上还建立有逻辑卷,每个逻辑卷可以对应一个或多个物理卷,可以理解的是,存储集群是将多个物理卷(如磁盘或硬盘)中的存储空间聚合成一个能够给客户端提供统一访问接口的存储池,客户端可以通过该访问接口访问和利用存储集群上的存储空间,例如,存储集群可以包括5个存储空间均为1G的物理卷(如硬盘),那么该存储集群可以为客户端提供5G的存储空间。可以理解的是,物理卷用于存储数据,包括可移动存储设备和不可移动存储设备,比如:硬盘。
服务器502主要用于制作3D模型的源模型以及对应的简化模型,并管理存储设备503存储该源模型以及对应的简化模型,同时对终端501的请求做相应的处理。例如,服务器502可以为终端501提供元数据或者该源模型以及简化模型打包生成的数据。元数据是用于描述数据属性的信息,本申请中元数据主要包括源模型以及简化模型的存储位置。
具体地,在本申请实施例中,服务器502从功能上可以区分为模型获取模块5021和简模生成模块5022以及模型数据存储模块5023。下面结合图4对以上三个部件的功能进行介绍:
模型获取模块5021可以根据模型制作者的要求(即调用指令),从模型库中获取待处理模型(即源模型)。
简模生成模块5022可以在获取到该待处理模型之后,模型制作者根据需要对该待处理模型进行轻量化处理,自动生成简化模型,并保持该简化模型的外观精度与源模型的外观精度相同或者说保持该简化模型与该源模型在GUI中的外观显示效果相同(即该简化模型的加载速度大于该源模型的加载速度,该源模型的外观与该简化模型的外观之间的差异小于预设阈值,该预设阈值不超出人眼分辨率的识别范围)。其中,该预设阈值不超过人眼分辨率的识别范围用于指示人眼无法识别该简化模型与该源模型在GUI上 外观显示效果的差异。即说明即使该简化模型的外观与该源模型在外观存在差异,但是在同一GUI上进行显示时,用户并不能识别出该简化模型的外观显示效果与该源模型的外观显示效果有差异。在实际应用中,该人眼分辨率可以根据用户年龄或者用户的生理特征的不同具有差异性。比如近视群体与未近视群体相比,近视群体(比如近视400度)在该源模型的外观与该简化模型的外观之间的差异超出百分之十时可以确定该源模型的外观与该简化模型的外观存在差异,而未近视群体在该源模型的外观与该简化模型的外观之间的差异超出百分之五时就可以确定该源模型的外观与该简化模型的外观存在差异。根据上述情况,本实施例中,该人眼分辨率可以根据取全体用户的平均人眼分辨率作为该人眼分辨率,从而设定该预设阈值;也可以根据年龄或者生理特征对用户进行群体划分,然后对于每一个群体取平均人眼分辨率作为该人眼分辨率,从而设定该预设阈值。
该模型数据存储模块5023将该源模型以及该简化模型打包存储在存储设备503中,以供终端501调用。本实施例中,该源模型与该简化模型可以封装为一个模型文件从而存储在存储设备503中,也可以将该源模型与该简化模型建立关联关系然后分别存储在该存储设备503中,具体操作此处不做限定。
具体地,在本申请实施例中,终端501从功能上可以区分为模型获取模块5011、简模加载模块5012以及源模型加载模块5013。下面结合图4对以上三个部件的功能进行介绍:
模块获取模块5011根据用户需求向该服务器502发送模型加载请求,该服务器502响应该模型加载请求终端501发送该源模型以及简化模型对应的数据包或者该源模型以及简化模型对应的存储地址;该模块获取模块5011接收该源模型以及简化模型对应的数据包或者根据该存储地址下载该源模型以及简化模型对应的数据包。
简模加载模块5012对该源模型以及简化模型对应的数据包进行解析,优先加载该简化模型。
源模型加载模块5013在该简模加载模块5012加载该简化模型时,并行加载该源模型。通过多线程的方式,实现该模型在保持外观精度与源模型相同的情况下,快速加载。本实施例中,在该服务器将该简化模型和该源模型同时发送给该终端过程中该简化模型的加载速度大于该源模型的加载速度,即说明在相同的网络环境下,该简化模型的数据小于该源模型。该简化模型的数据包括外观数据以及内部数据,其中外观数据用于指示生成该简化模型的外表面所需要的数据,而该内部数据是相对于该外观数据而言,用于指示生成该简化模型除外表面之外的零件所需要的数据。同理,该源模型的数据也包括外观数据以及内部数据,该源模型的外观数据也用于指示生成该源模型的外表面所需要的数据;而该源模型的内部数据用于指示生成除该源模型的外表面之外的零件所需要的数据。本实施例中,该简化模型的加载速度满足模型快速加载条件。该模型快速加载条件可以根据当前网络情况或应用场景进行限定。一种示例性方案中,用户根据当前网络情况设置模型的加载时长不超过2秒,则该简化模型的加载速度需要满足该简化模型的加载时长不超过2秒。
可选地,终端501可以包括以各种形式存在的包括显示屏的用户设备、车联网设备、可穿戴设备、物联网设备、或智能机器人设备等等,例如:手机、平板电脑、智能手表、 车载终端、AR终端等设备。
可选地,终端501、服务器502以及存储设备503之间可以通过预置的协议进行数据传输,例如,传输控制协议(transmission control protocol,TCP),网络协议(internet protocol,IP)等。
下面请参阅图6,图6为本申请实施例模型加载的系统架构示意图,包括制作界面(即服务器)和浏览界面(终端)。在服务器侧,该服务器通过第三方工具接收输入的模型制作参数,从而生成源模型;然后在该源模型存在加载需求时,该服务器接收生成简模的指示信令以及相关的简模参数,通过消息服务器,传递给模型转换服务器;然后该模型转换服务调用简模组件,该简模组件从该模型转换服务器中获取简模参数,并根据该简模参数生成简模生成脚本;然后该简模组件将该简模生成脚本发送到该模型转换服务器;该模型转换服务器根据该简模生成脚本以及该源模型生成简化模型,并进行预览;在模型制作者确认简化模型的显示效果之后,将该简化模型与该源模型打包保存至存储设备。该服务器在生成该简化模型的同时,还可以将源模型的模型参数与简化模型的模型参数进行比较,得到第一简化模型的模型参数,并根据该模型参数自动生成该第一简化模型,其中,该第一简化模型的模型参数与该简化模型的模型参数进行整合叠加之后可以得到该源模型的模型参数(即相当于该第一简化模型的数据与该简化模型的数据相加等于该源模型的数据)。
在终端侧,当终端需要进行浏览时,优先获取简化模型,数据读取完成之后,进行快速显示。在完成这部分工作之后用户已可在该场景下进行三维操作,包括旋转、平移、缩放等。在该终端加载简化模型的同时,开辟一个后台线程,用于下载源模型。当源模型下载完成之后,将源模型加载到内存中,内存加载完成之后,用源模型替换简化模型在GUI中进行显示,实现源模型和简化模型之间的无缝替换。若该服务器将该第一简化模型发送给该终端,则该终端也可以加载该简化模型的同时,开辟另一个后台线程加载该第一简化模型,并在该第一简化模型模型加载完成后,将该第一简化模型与该简化模型进行整合加载得到该源模型。
为便于理解,下面进一步对本方案中的模型加载方法进行介绍,请参阅图7,本实施例中以后台线程加载源模型进行说明模型加载方法的一个实施例包括:
701、该服务器获取源模型。
服务器接收模型调用指令从模型数据库中获取该源模型,可以理解的是,该模型数据库可以存储在云端存储系统,也可以存储在该服务器自身本地存储设备中。
其具体的调用过程可以如图8所示:如图8中的a所示,该模型数据库存储在该服务器自身的存储设备,该服务器可以通过相应的接口从自身的存储设备中调用该源模型。
如图8中的b所示,该模型数据库存储在云端存储系统,则该服务器通过数据传输协议向该云端存储系统调用该源模型。
702、该服务器根据该源模型生成简化模型,该简化模型的加载速度大于该源模型的加载速度,该源模型的外观与该简化模型的外观之间的差异小于预设阈值,该预设阈值不超出人眼分辨率的识别范围。
该服务器根据相应的轻量化技术对该源模型进行操作,生成简化模型。本实施例中, 该简化模型的加载速度大于该源模型的加载速度,该源模型的外观与该简化模型的外观之间的差异小于预设阈值,该预设阈值不超出人眼分辨率的识别范围。本实施例中,该服务器根据轻量化技术生成简化模型的具体操作如下:
该服务器接收模型渲染参数或者其他参数制作该源模型(即该源模型为渲染模型或者AR模型时)或者该服务器直接从模型数据库获取工业模型作为该源模型;然后该服务器根据简化参数以及轻量化技术生成该渲染模型或AR模型或工业模型的简化模型。
本实施例中,该轻量化技术可以是包围盒技术,此时该简化参数用于指示该包围盒的尺寸大小(也可以用于指示该简化模型的外观精细度)或者该简化参数用于指示该包围盒的尺寸大小以及尺寸缩小的偏移量。在此技术下,该服务器生成简化模型的具体操作可以如下:该服务器根据该包围盒的尺寸生成可以覆盖该源模型外表面的多个包围盒;然后对包围盒的六个面与源模型外表面进行求交计算,将与包围盒的至少一个面相交的零件保留,不相交的剔除,从而生成该简化模型。本实施例中,该简化模型的外表面保留了该源模型的颜色、贴图、位置以及相关的结构关系等等。一种示例性方案中,在使用该包围盒技术生成简化模型的模拟图可以如图9所示。
在该简化参数还包括尺寸缩小的偏移量时,服务器制作该简化模型时可以对该简化模型进行预览,若模型制作者在预览该简化模型时,发现该简化模型的精细度在当前GUI像素要求下,显示效果无法与源模型的显示效果相同(即人眼可见的发现显示效果存在差异);或者该服务器将源模型的显示效果与该简化模型的显示效果进行比较,若存在显示效果差异超过阈值(该阈值根据人眼识别的分辨率确定),则该服务器将接收到再次生成简化模型的指令,这时该服务器可以将该包围盒的尺寸进一步的缩小,提高简化模型的精细度。
703、该服务器将该源模型与该简化模型打包存储至存储设备。
本实施例中,该服务器将该源模型与简化模型打包存储至存储设备具体可以如下:
一种可能实现方式中,该服务器将该源模型与该简化模型生成对应的关联关系,并存储在存储设备。
另一种可能实现方式中,该服务器将该源模型与该简化模型封装成一个模型文件(即封装为一个整体文件)然后存储至存储设备。
本实施例中,该存储设备可以为该服务器的存储介质也可以为云端存储系统。
其中,该源模型与该简化模型之间的关联关系可以是通过标签或索引进行关联,具体方式此处不做限定。一种示例性方案中,该源模型的索引为“1”,该简化模型的索引也为“1”,后续发送该源模型和该简化模型时,根据该索引将该源模型与该简化模型一起发送。
704、该终端向该服务器发送模型加载请求。
该终端通过自身运行的客户端调用该源模型时,向该服务器发送模型加载请求。本实施例中,该模型加载请求可以是游戏场景下对人物3D模型的加载请求或者AR应用场景下对于AR模型的加载请求或者在器件3D模型展示的加载请求,具体情况此处不做限定。
705、该服务器向该终端发送该源模型和该简化模型。
本实施例中,在该源模型和该简化模型存储至该服务器的本地存储介质时,该服务 器可以通过内部接口调用该源模型和该简化模型,然后向该终端发送该源模型和该简化模型。
在该源模型和该简化模型存储至云端存储系统时,该服务器可以向该云端存储系统请求该源模型和该简化模型,然后转发该源模型与该简化模型给终端;或者该服务器向该终端发送该源模型与该简化模型在该云端存储系统的存储地址,以使得该终端根据该存储地址向该云端存储系统发送下载请求,并接收该云端存储系统发送的该源模型和该简化模型。
706、该终端优先加载该简化模型。
在该终端接收该源模型与该简化模型的过程中,该终端调用应用程序的前台线程对数据解码得到该简化模型,然后加载该简化模型至内存,在内存加载完成之后,通过该终端的GUI展示该简化模型。
707、该终端同时调用后台线程加载该源模型。
在该终端接收该源模型与该简化模型的过程中,在该应用程序的前台线程进行简化模型的解析以及加载时,该终端调用该应用程序的后台线程对源模型进行解码和加载。即该简化模型与该源模型同时进行加载,由于简化模型体积较小,该简化模型先加载完成并展示。
708、在该源模型加载完成之后,该终端将该GUI中的简化模型替换为该源模型。
本实施例中,在该源模型加载完成(即该源模型已加载至内存)之后,该终端从内存中调用该源模型,并将该GUI中的简化模型替换为该源模型。
本实施例中,将该GUI上的简化模型替换为源模型可以是直接从缓存中调用该源模型重新加载,从而实现简化模型与源模型的替换;也可以是直接在该简化模型的基础上增加该源模型;也可以是服务器生成第一简化模型,使得该第一简化模型的数据与该简化模型的数据之和等于该源模型的数据,且发送给该终端的简化模型包括该第一简化模型,最后在将简化模型替换为源模型时,将该第一简化模型与该简化模型进行叠加得到该源模型。
可以理解的是,该终端可以在源模型加载完成后,立即将该GUI中的简化模型替换为该源模型;也可以在该终端接收到触发指令之后,再将该GUI中的简化模型替换为该源模型。比如,在AR应用场景下,该终端移动过程中,该GUI一直显示该简化模型,在该终端结束移动处于静止状态时,该GUI中显示该源模型。
下面以器件的3D模型加载的应用场景对本申请实施例中的模型加载方法进行说明,一种示例性方案中,图10A至图10D为本实施例中模型加载方法的示意图。
图10A包括该终端的用户界面1001,其中,该用户界面1001中包括加载请求控件1002以及该模型加载区域1003。响应于对该加载请求控件1002的操作(如点击、触摸操作)该终端向该服务器发送模型加载请求。该服务器响应于该模型加载请求,向该终端向送该简化模型和该源模型。
图10B包括该终端的用户界面1004,其中,该用户界面1004中包括加载请求控件1002、模型加载区域1003以及模型操作控件1005。该模型加载区域1003用于显示模型,在用户界面1004的模型加载区域1003中展示的是简化模型;响应于对该模型操作控件1005的操作(如点击或触摸)改变该模型加载区域1003中模型的展示角度或展示大小。 如图10C所示,响应于对该模型操作控件1005的操作,此时模型加载区域1003中的简化模型转了方向,进行了另一个角度的展示。
图10D包括该终端的用户界面1006,其中,该用户界面1006中包括加载请求控件1002、模型加载区域1003以及模型操作控件1005。该模型加载区域1003用于显示模型,在用户界面1006的模型加载区域1003中展示的是源模型;响应于对该模型操作控件1005的操作(如点击或触摸)改变该模型加载区域1003中模型的展示角度或展示大小或者展示模型的内部零件、以及改变对模型内部零件的展示角度和展示大小。
上述图10A至10D仅展示了一种示例性方案中的模型的加载方法。若该模型应用于AR场景,或者是云端应用场景,则该图10B中所示的模型加载过程可以是用户在运动过程中加载的简化模型;而图10D所示的模型加载过程可以是用户需要定格仔细查看该AR模型的细节时加载的源模型。即在AR模型的加载过程中,可以不需要在源模型加载完成之后立即替换该简化模型,而是通过用户的动作进行判断是否需要替换成该源模型,从而减少网络资源的消耗。
上面对于本申请实施例中的模型加载方法进行了描述,下面对本申请实施例中的终端和服务器进行说明。
具体请参阅图11所示,本申请实施例中该终端1100包括:处理模块1101、发送模块1102、接收模块1103和显示模块1104,其中该处理模块1101、发送模块1102、接收模块1103以及显示模块1104通过总线连接。终端1100可以是上述方法实施例中的终端,也可以配置为终端内的一个或多个芯片。终端1100可以用于执行上述方法实施例中的终端的部分或全部功能。
例如,该发送模块1102,可以用于执行上述方法实施例中的步骤704和相应数据的发送。例如,发送模块1102向该服务器发送模型加载请求;该接收模块1103可以用于执行上述方法实施例中的步骤705的接收步骤,例如该接收模块1103接收该服务器发送的该源模型和该简化模型;该处理模块1101可以用于执行上述方法实施例中的步骤706至步骤708。例如,处理模块1101优先加载该简化模型;同时调用后台线程加载该源模型;
显示模块1104,用于优先通过第一GUI显示该简化模型;在该源模型加载完成之后,将该第一GUI中的简化模型替换为该源模型。
可选的,终端1100还包括存储模块,此存储模块与处理模块耦合,使得处理模块可执行存储模块中存储的计算机执行指令以实现上述方法实施例中终端的功能。在一个示例中,装置1100中可选的包括的存储模块可以为芯片内的存储单元,如寄存器、缓存等,所述存储模块还可以是位于芯片外部的存储单元,如ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM等。
应理解,上述图11对应实施例中终端的各模块之间所执行的流程与前述图4至图10D中对应方法实施例中的终端执行的流程类似,具体此处不再赘述。
图12示出了上述实施例中一种终端1200可能的结构示意图,该终端1200可以配置成是前述终端。该终端1200可以包括:处理器1202、计算机可读存储介质/存储器1203、收发器1204、输入设备1205和输出设备1206,以及总线1201。其中,处理器,收发器,计算机可读存储介质等通过总线连接。本申请实施例不限定上述部件之间的具 体连接介质。
一个示例中,该收发器1204向服务器发送模型加载请求,并接收该服务器发送的源模型和简化模型;
该处理器1202优先加载该简化模型;同时调用后台线程加载该源模型;
在该输出设备1206为显示设备时,该输出设备1206优先显示该简化模型,在该源模型加载完成之后,显示该源模型。
一个示例中,处理器1202可以包括基带电路,例如,可以对数据按照协议进行封装,编码等以生成模型加载请求。收发器1204可以包括射频电路,以对模型加载请求进行调制放大等处理后发送给服务器。
又一个示例中,处理器1202可以运行操作系统,控制各个设备和器件之间的功能。收发器1204可以包括基带电路和射频电路,例如,可以对模型加载请求经由基带电路,射频电路进行处理后发送给服务器。
该收发器1204与该处理器1202可以实现上述图4至图10D中任一实施例中相应的步骤,具体此处不做赘述。
可以理解的是,图12仅仅示出了终端的简化设计,在实际应用中,终端可以包含任意数量的收发器,处理器,存储器等,而所有的可以实现本申请的终端都在本申请的保护范围之内。
上述装置1200中涉及的处理器1202可以是通用处理器,例如CPU、网络处理器(network processor,NP)、微处理器等,也可以是ASIC,或一个或多个用于控制本申请方案程序执行的集成电路。还可以是数字信号处理器(digital signal processor,DSP)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。控制器/处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。处理器通常是基于存储器内存储的程序指令来执行逻辑和算术运算。
上述涉及的总线1201可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
上述涉及的计算机可读存储介质/存储器1203还可以保存有操作系统和其他应用程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,上述存储器可以是ROM、可存储静态信息和指令的其他类型的静态存储设备、RAM、可存储信息和指令的其他类型的动态存储设备、磁盘存储器等等。存储器1203可以是上述存储类型的组合。并且上述计算机可读存储介质/存储器可以在处理器中,还可以在处理器的外部,或在包括处理器或处理电路的多个实体上分布。上述计算机可读存储介质/存储器可以具体体现在计算机程序产品中。举例而言,计算机程序产品可以包括封装材料中的计算机可读介质。
可以替换的,本申请实施例还提供一种通用处理系统,例如通称为芯片,该通用处理系统包括:提供处理器功能的一个或多个微处理器;以及提供存储介质的至少一部分的外部存储器,所有这些都通过外部总线体系结构与其它支持电路连接在一起。当存储 器存储的指令被处理器执行时,使得处理器执行终端在图4至图10D所述实施例中的模型加载方法中的部分或全部步骤,和/或用于本申请所描述的技术的其它过程。
结合本申请公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于终端中。当然,处理器和存储介质也可以作为分立组件存在于终端中。
具体请参阅图13所示,本申请实施例中该服务器1300包括:处理模块1301、接收模块1302以及发送模块1303,其中,该处理模块1301、接收模块1302以及发送模块1303通过总线连接。服务器1300可以是上述方法实施例中的服务器,也可以是配置为服务器内的一个或多个芯片。服务器1300可以用于执行上述方法实施例中的服务器的部分或全部功能。
例如,该处理模块1301可以用于执行上述方法实施例中的步骤701至步骤703。例如,处理模块1301获取源模型;根据该源模型生成简化模型;将该源模型与该简化模型打包存储至存储设备;
该接收模块1302,可以用于执行上述方法实施例中的步骤704。例如,该接收模块1302接收该终端发送的模型加载请求;
该发送模块1303,可以用于执行上方法实施例中的步骤705。例如,该发送模块1303向该终端发送该源模型和简化模型。
可选的,服务器1300还包括存储模块,该存储模块可用于存储该源模型和该简化模型。此存储模块与处理模块耦合,使得处理模块可执行存储模块中存储的计算机执行指令以实现上述方法实施例中服务器的功能。在一个示例中,服务器1300中可选的包括的存储模块可以为芯片内的存储单元,如寄存器、缓存等,所述存储模块还可以是位于芯片外部的存储单元,如ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM等。
应理解,上述图13对应实施例中服务器的各模块之间所执行的流程与前述图4至图10D中对应方法实施例中的服务器执行的流程类似,具体此处不再赘述。
图14示出了上述实施例中一种服务器1400可能的结构示意图,该服务器1400可以配置成是前述服务器。该服务器1400可以包括:处理器1402、计算机可读存储介质/存储器1403、收发器1404、输入设备1405和输出设备1406,以及总线1401。其中,处理器,收发器,计算机可读存储介质等通过总线连接。本申请实施例不限定上述部件之间的具体连接介质。
一个示例中,该处理器1402获取源模型;根据该源模型生成简化模型,该简化模型包含所述源模型的外观数据,且所述简化模型的外观数据与所述源模型的外观数据的差异小于预设阈值;将该源模型与该简化模型打包存储至存储设备;
该收发器1404接收该终端发送的模型加载请求;向该终端发送该源模型和简化模 型。
一个示例中,处理器1402可以运行操作系统,控制各个设备和器件之间的功能。收发器1404可以包括基带电路和射频电路,例如,可以对数据包经由基带电路,射频电路进行处理后发送给终端。
该收发器1404与该处理器1402可以实现上述图4至图10D中任一实施例中相应的步骤,具体此处不做赘述。
可以理解的是,图14仅仅示出了服务器的简化设计,在实际应用中,服务器可以包含任意数量的收发器,处理器,存储器等,而所有的可以实现本申请的服务器都在本申请的保护范围之内。
上述服务器1400中涉及的处理器1402可以是通用处理器,例如CPU、NP、微处理器等,也可以是ASIC,或一个或多个用于控制本申请方案程序执行的集成电路。还可以是DSP、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。控制器/处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。处理器通常是基于存储器内存储的程序指令来执行逻辑和算术运算。
上述涉及的总线1401可以是PCI总线或EISA总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
上述涉及的计算机可读存储介质/存储器1403还可以保存有操作系统和其他应用程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,上述存储器可以是ROM、可存储静态信息和指令的其他类型的静态存储设备、RAM、可存储信息和指令的其他类型的动态存储设备、磁盘存储器等等。存储器1403可以是上述存储类型的组合。并且上述计算机可读存储介质/存储器可以在处理器中,还可以在处理器的外部,或在包括处理器或处理电路的多个实体上分布。上述计算机可读存储介质/存储器可以具体体现在计算机程序产品中。举例而言,计算机程序产品可以包括封装材料中的计算机可读介质。
可以替换的,本申请实施例还提供一种通用处理系统,例如通称为芯片,该通用处理系统包括:提供处理器功能的一个或多个微处理器;以及提供存储介质的至少一部分的外部存储器,所有这些都通过外部总线体系结构与其它支持电路连接在一起。当存储器存储的指令被处理器执行时,使得处理器执行服务器在图4至图10D所述实施例中的模型加载方法中的部分或全部步骤,和/或用于本申请所描述的技术的其它过程。
结合本申请公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于服务器中。当然,处理器和存储介质也可以作为分立组件存在于服务器中。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (41)

  1. 一种模型加载方法,其特征在于,包括:
    向服务器发送模型加载请求;
    接收所述服务器发送的源模型和所述源模型对应的简化模型,所述简化模型的加载速度大于所述源模型的加载速度,所述源模型的外观与所述简化模型的外观之间的差异小于预设阈值,所述预设阈值不超过人眼分辨率的识别范围;
    优先加载所述简化模型并在第一图形用户界面GUI显示所述简化模型,同时调用后台线程加载所述源模型;
    在所述源模型加载完成之后,将所述第一GUI中的简化模型替换为所述源模型。
  2. 根据权利要求1所述的方法,其特征在于,所述简化模型的加载速度满足模型快速加载条件。
  3. 根据权利要求1或2所述的方法,其特征在于,所述简化模型的数据至少包括所述源模型的外观数据,且所述简化模型的数据小于所述源模型的数据。
  4. 根据权利要求1至3中任一项所述的方法,其特征在于,所述预设阈值不超过人眼分辨率的识别范围用于指示人眼无法识别所述简化模型与所述源模型在GUI上外观显示效果的差异。
  5. 根据权利要求1至4中任一项所述的方法,其特征在于,所述人眼分辨率为全体用户的平均人眼分辨率;
    或者,所述人眼分辨率为当前用户所属群体的平均人眼分辨率,所述当前用户所属群体由所述当前用户的年龄或生理特征确定。
  6. 根据权利要求1至5中任一项所述的方法,其特征在于,所述方法包括:
    响应第一操作,触发向所述服务器发送模型加载请求;
    响应第二操作,触发将所述第一GUI中的简化模型替换为所述源模型。
  7. 根据权利要求6所述的方法,其特征在于,所述第一操作为终端处于运动状态,所述第二操作为所述终端处于静止状态;
    或,
    所述第一操作为点选模型加载控件,所述第二操作为点选模型操作控件。
  8. 根据权利要求1至7中任一项所述的方法,其特征在于,所述优先加载所述简化模型并在第一图形用户界面GUI显示所述简化模型包括:
    调用应用程序的前台线程加载所述简化模型,并通过所述第一GUI显示所述简化模型。
  9. 根据权利要求1至8中任一项所述的方法,其特征在于,所述简化模型由所述服务器根据简化参数和所述源模型生成,所述简化参数用于指示生成所述简化模型时的精细度。
  10. 根据权利要求9所述的方法,其特征在于,所述简化参数包括包围盒的尺寸大小;
    或,
    所述简化参数包括包围盒的尺寸大小以及所述包围盒的偏移大小,所述偏移大小用于指示所述包围盒尺寸缩小或放大的偏移。
  11. 一种模型加载方法,其特征在于,包括:
    获取源模型对应的简化模型,所述简化模型的加载速度大于所述源模型的加载速度,所述源模型的外观与所述简化模型的外观之间的差异小于预设阈值,所述预设阈值不超过人眼分辨率的识别范围;
    接收终端发送的模型加载请求;
    响应所述模型加载请求,向所述终端发送所述源模型和所述简化模型,以使得所述终端优先加载所述简化模型,后加载所述源模型。
  12. 根据权利要求11所述的方法,其特征在于,所述简化模型的加载速度满足模型快速加载条件。
  13. 根据权利要求11或12所述的方法,其特征在于,所述简化模型的数据至少包括所述源模型的外观数据,且所述简化模型的数据小于所述源模型的数据。
  14. 根据权利要求11至13中任一项所述的方法,其特征在于,所述预设阈值不超过人眼分辨率的识别范围用于指示人眼无法识别所述简化模型与所述源模型在GUI上外观显示效果的差异。
  15. 根据权利要求11至14中任一项所述的方法,其特征在于,所述方法还包括:
    获取所述人眼分辨率,所述人眼分辨率为全体用户的平均人眼分辨率;或者,所述人眼分辨率为当前用户所属群体的平均人眼分辨率,所述当前用户所属群体由所述当前用户的年龄或生理特征确定。
  16. 根据权利要求11至15中任一项所述的方法,其特征在于,所述获取源模型对应的简化模型之前,所述方法还包括:
    获取简化参数,所述简化参数用于指示生成所述简化模型时的精细度。
  17. 根据权利要求16所述的方法,其特征在于,所述简化参数包括包围盒的尺寸大小;
    或,
    所述简化参数包括包围盒的尺寸大小以及所述包围盒的偏移大小,所述偏移大小用于指示所述包围盒尺寸缩小或放大的偏移。
  18. 根据权利要求16或17所述的方法,其特征在于,所述获取源模型对应的简化模型包括:
    按照所述简化参数生成包围盒,所述包围盒覆盖所述源模型的外表面;
    分别对所述包围盒的面与所述源模型的外表面求交计算得到所述简化模型。
  19. 根据权利要求18所述的方法,其特征在于,所述分别对所述包围盒的面与所述源模型的外表面求交计算得到所述简化模型包括:
    将所述包围盒面与所述源模型的外表面相交的部分保留,不相交的删除,得到所述简化模型。
  20. 根据权利要求18所述的方法,其特征在于,若所述简化参数包括包围盒的尺寸大小以及所述包围盒的偏移大小,则所述按照所述简化参数生成包围盒之后,所述方法还包括:
    根据所述偏移大小调整所述包围盒的尺寸大小。
  21. 根据权利要求11至20中任一项所述的方法,其特征在于,所述方法还包括:
    将所述源模型与所述简化模型封装为模型文件;
    将所述模型文件存储至存储设备。
  22. 根据权利要求21所述的方法,其特征在于,所述存储设备为所述服务器的本地存储介质;
    或,
    所述存储设备为云端存储系统。
  23. 一种终端,其特征在于,包括:
    发送模块,用于向服务器发送模型加载请求;
    接收模块,用于接收所述服务器发送的源模型和所述源模型对应的简化模型,所述简化模型的加载速度大于所述源模型的加载速度,所述源模型的外观与所述简化模型的外观之间的差异小于预设阈值,所述预设阈值不超过人眼分辨率的识别范围;
    处理模块,用于优先加载所述简化模型,同时调用后台线程加载所述源模型;
    显示模块,用于优先在第一图形用户界面GUI显示所述简化模型;所述源模型加载完成之后,将所述第一GUI中的简化模型替换为所述源模型。
  24. 根据权利要求23所述的终端,其特征在于,所述简化模型的加载速度满足模型快速加载条件。
  25. 根据权利要求23或24所述的终端,其特征在于,所述简化模型的数据至少包括所述源模型的外观数据,且所述简化模型的数据小于所述源模型的数据。
  26. 根据权利要求23至25中任一项所述的终端,其特征在于,所述处理模块,用于响应第一操作,触发向所述服务器发送模型加载请求;响应第二操作,触发将所述第一GUI中的简化模型替换为所述源模型。
  27. 根据权利要求26所述的终端,其特征在于,所述第一操作为所述终端处于运动状态,所述第二操作为所述终端处于静止状态;
    或,
    所述第一操作为点选模型加载控件,所述第二操作为点选模型操作控件。
  28. 一种服务器,其特征在于,包括:
    处理模块,用于获取源模型对应的简化模型,所述简化模型的加载速度大于所述源模型的加载速度,所述源模型的外观与所述简化模型的外观之间的差异小于预设阈值,所述预设阈值不超出人眼分辨率的识别范围;
    接收模块,用于接收终端发送的模型加载请求;
    发送模块,用于响应所述模型加载请求,向所述终端发送所述源模型和所述简化模型,以使得所述终端优先加载所述简化模型,后加载所述源模型。
  29. 根据权利要求28所述的服务器,其特征在于,所述简化模型的加载速度满足模型快速加载条件。
  30. 根据权利要求28或29所述的服务器,其特征在于,所述简化模型的数据至少包括所述源模型的外观数据,且所述简化模型的数据小于所述源模型的数据。
  31. 根据权利要求28至30中任一项所述的服务器,其特征在于,所述预设阈值不超过人眼分辨率的识别范围用于指示人眼无法识别所述简化模型与所述源模型在GUI上外观显示效果的差异。
  32. 根据权利要求28或31中任一项所述的服务器,其特征在于,所述服务器还包括获取模块,用于获取简化参数,所述简化参数用于指示生成所述简化模型时的精细度。
  33. 根据权利要求32所述的服务器,其特征在于,所述简化参数包括包围盒的尺寸大小;
    或,
    所述简化参数包括包围盒的尺寸大小以及所述包围盒的偏移大小,所述偏移大小用于指示所述包围盒尺寸缩小或放大的偏移。
  34. 根据权利要求32或33所述的服务器,其特征在于,所述处理模块,具体用于按照所述简化参数生成包围盒,所述包围盒覆盖所述源模型的外表面;
    分别对所述包围盒的面与所述源模型的外表面求交计算得到所述简化模型。
  35. 根据权利要求28至34中任一项所述的服务器,其特征在于,所述处理模块,还用于将所述源模型与所述简化模型封装为模型文件;将所述模型文件存储至存储设备。
  36. 根据权利要求35所述的服务器,其特征在于,所述存储设备为所述服务器的本地存储介质;或,所述存储设备为云端存储系统。
  37. 一种终端,其特征在于,包括至少一个处理器以及存储器,所述处理器用于与所述存储器耦合,所述处理器调用所述存储器中存储的指令以控制所述终端执行权利要求1至10中任一项所述的方法。
  38. 一种服务器,其特征在于,包括至少一个处理器以及存储器,所述处理器用于与所述存储器耦合,所述处理器调用所述存储器中存储的指令以控制所述服务器执行权利要求11至22中任一项所述的方法。
  39. 一种模型加载系统,其特征在于,包括如权利要求23至27中任一项所述的终端和如权利要求28至36中任一项所述的服务器。
  40. 一种计算机存储介质所述计算机存储介质存储有计算机指令,所述计算机指令用于执行上述权利要求1至权利要求22中任意任一项所述的方法。
  41. 一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述权利要求1至权利要求22中任意任一项所述的方法。
PCT/CN2021/100049 2020-08-14 2021-06-15 一种模型加载方法以及相关装置 WO2022033162A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010823735.XA CN114077489A (zh) 2020-08-14 2020-08-14 一种模型加载方法以及相关装置
CN202010823735.X 2020-08-14

Publications (1)

Publication Number Publication Date
WO2022033162A1 true WO2022033162A1 (zh) 2022-02-17

Family

ID=80246897

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/100049 WO2022033162A1 (zh) 2020-08-14 2021-06-15 一种模型加载方法以及相关装置

Country Status (2)

Country Link
CN (1) CN114077489A (zh)
WO (1) WO2022033162A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114647462B (zh) * 2022-05-23 2022-09-02 深圳市中视典数字科技有限公司 一种三维模型数据轻量化加载方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5379371A (en) * 1987-10-09 1995-01-03 Hitachi, Ltd. Displaying method and apparatus for three-dimensional computer graphics
CN1805354A (zh) * 2006-01-23 2006-07-19 北京航空航天大学 一种基于远程渲染的三维模型网络发布方法
CN101854368A (zh) * 2009-04-03 2010-10-06 吕伟伟 用于三维场景模型递进传输的方法和装置
CN102780722A (zh) * 2011-05-11 2012-11-14 北京磊友信息科技有限公司 向移动终端提供应用程序的方法和服务器
CN109976554A (zh) * 2019-03-15 2019-07-05 佛山市小云科技有限公司 一种移动终端基于web的增强现实技术的实现方法
US20200241922A1 (en) * 2019-01-29 2020-07-30 Aveva Software, Llc Lazy loading for design views system and server

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5379371A (en) * 1987-10-09 1995-01-03 Hitachi, Ltd. Displaying method and apparatus for three-dimensional computer graphics
CN1805354A (zh) * 2006-01-23 2006-07-19 北京航空航天大学 一种基于远程渲染的三维模型网络发布方法
CN101854368A (zh) * 2009-04-03 2010-10-06 吕伟伟 用于三维场景模型递进传输的方法和装置
CN102780722A (zh) * 2011-05-11 2012-11-14 北京磊友信息科技有限公司 向移动终端提供应用程序的方法和服务器
US20200241922A1 (en) * 2019-01-29 2020-07-30 Aveva Software, Llc Lazy loading for design views system and server
CN109976554A (zh) * 2019-03-15 2019-07-05 佛山市小云科技有限公司 一种移动终端基于web的增强现实技术的实现方法

Also Published As

Publication number Publication date
CN114077489A (zh) 2022-02-22

Similar Documents

Publication Publication Date Title
US20200364937A1 (en) System-adaptive augmented reality
EP3657327A1 (en) Method for rendering game, and method, apparatus and device for generating game resource file
CN107154063B (zh) 图像展示区域的形状设置方法及装置
US11711563B2 (en) Methods and systems for graphics rendering assistance by a multi-access server
KR20210151114A (ko) 하이브리드 렌더링
US9396564B2 (en) Atlas generation based on client video configuration
WO2019228013A1 (zh) 在3d模型上展示富文本的方法、装置及设备
WO2022095526A1 (zh) 图形引擎和适用于播放器的图形处理方法
CN112307403A (zh) 页面渲染方法、装置、存储介质以及终端
EP4325423A1 (en) Rendering method, device and system
CN111710020B (zh) 动画渲染方法和装置及存储介质
WO2023197762A1 (zh) 图像渲染方法、装置、电子设备、计算机可读存储介质及计算机程序产品
WO2022033162A1 (zh) 一种模型加载方法以及相关装置
US20140161173A1 (en) System and method for controlling video encoding using content information
US9305373B2 (en) Customized real-time media system and method
CN116069435B (zh) 在虚拟场景中动态加载图片资源的方法、系统及存储介质
US20230169733A1 (en) System and method for rendering objects in an extended reality
CN113419806B (zh) 图像处理方法、装置、计算机设备和存储介质
JP7301453B2 (ja) 画像処理方法、画像処理装置、コンピュータプログラム、及び電子機器
CN112565869B (zh) 一种视频重定向的窗口融合方法、装置及设备
CN116843802A (zh) 虚拟形象的处理方法及相关产品
CN115705668A (zh) 一种视图绘制的方法、装置及存储介质
US10417327B2 (en) Interactive and dynamically animated 3D fonts
CN112316433B (zh) 游戏画面渲染方法、装置、服务器和存储介质
RU2810701C2 (ru) Гибридный рендеринг

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: 21855218

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21855218

Country of ref document: EP

Kind code of ref document: A1