Dynamic effect display method, electronic device, readable storage medium and chip
Patent Information
- Application Number
- PCT/CN2025/126081
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-02-21
- Filing Date
- 2025-09-30
- Publication Date
- 2026-08-27
Smart Images

Figure CN2025126081_27082026_PF_FP_ABST
Abstract
Description
A method for displaying animation effects, an electronic device, a readable storage medium, and a chip.
[0001] This application claims priority to Chinese Patent Application No. 202510205836.3, filed on February 21, 2025, entitled "A Motion Effect Display Method, Electronic Device, Readable Storage Medium and Chip", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of electronic devices, and more particularly to a motion display method, an electronic device, a readable storage medium, and a chip. Background Technology
[0003] Currently, electronic devices can enhance the visual effects and interactive experience for users by displaying dynamic effects (such as lighting and shadow effects, gradient effects, etc.) in the user interface (UI). Dynamic effects can convey various attributes and states of objects. Compared to 2D image displays, dynamic effects make the user interface more vivid and fluid, providing users with richer information and a better visual experience. Currently, electronic devices mostly use video animations or frame sequences to achieve dynamic effects on the user interface. However, video animations or frame sequences typically contain a large amount of image data, especially high-resolution and high-frame-rate animations, which consume a significant amount of storage space and memory resources, easily causing the electronic device to slow down or lag, thus affecting the user experience. Summary of the Invention
[0004] This application provides a motion effect display method, an electronic device, a readable storage medium, and a chip to solve the problem in the prior art that the display of motion effects through video animation or sequence frames occupies the storage space and memory resources of electronic devices.
[0005] To achieve the above objectives, this application adopts the following technical solution:
[0006] In a first aspect, a motion effect display method is provided, applied to an electronic device. The method includes: receiving dynamic input data indicating a change in the state of the electronic device, wherein the state of the electronic device corresponds to the input data; and displaying a first motion effect in response to the dynamic input data. The first motion effect includes a plurality of display images, wherein the d-th display image in the first motion effect is generated by modifying the parameter configuration of the first image based on the d-th input data in the dynamic input data, wherein d is a positive integer.
[0007] The motion effect display method of this application embodiment involves an electronic device generating display images corresponding to various states by modifying the parameter configuration of a first image. The dynamic input data indicating the state changes of the electronic device causes the display images to change accordingly, thereby presenting a motion effect display. This method can achieve flexible and seamless animation display, greatly reducing memory space usage while improving the display quality and smoothness of the motion effect screen, thus enhancing the user experience.
[0008] In some embodiments, the state change of the electronic device includes: the electronic device moving in position; and / or the scene of the electronic device changing; and / or the display state of the electronic device changing; and / or the pose state of the electronic device changing.
[0009] The state changes of the electronic device involved in this embodiment can be any changes in the scene, page, or form of the electronic device caused by factors that change over time, including but not limited to the examples given in this embodiment. The state of the electronic device has a corresponding relationship with the input data.
[0010] In some embodiments, the first image has a mapping relationship between N pixel coordinates and corresponding N first mapping values, and the generation method of the d-th display image includes: generating the first image, wherein the N first mapping values corresponding to the N pixel coordinates in the first image can be represented as relating pixel coordinates (x, y, z) to pixel coordinates (x, y, z). n y n The first function g(x) n y n Based on the d-th input data, determine the first function g(x). n y n The N second mapping values corresponding to the d-th input data can be represented as the values of the pixel coordinates (x, y, y). n y n The second function g(x) of the d-th input data n y n Based on the N second mapping values, determine the color values corresponding to the N pixel coordinates to generate the d-th display image.
[0011] In some embodiments, dynamic input data can be represented as a function d(t) with respect to time t, and the first function and the second function have the following correspondence: g(x n y n ,d)=a(d(t))+b(d(t))*g(x n y n ); where a(d(t)) and b(d(t)) are both mapping values of the function d(t) at time t, and a(d(t)) and b(d(t)) may be the same or different.
[0012] In some embodiments, color values can be represented as a function g(x) n y n The third function c(g(x) of d) n y n ,d)), Based on N second mapping values, determine the color values corresponding to N pixel coordinates, including: determining N points corresponding to the N pixel coordinates according to the second function, where each point is any value in the second mapping values; calculating the color values corresponding to each of the N pixel coordinates using the following formulas: c n (g(x n y n ,d))=mix(c n c n+1 ,smoothstep(N n N n+1 g(x) n y n ,d))); where, the smoothstep function is used to calculate the smooth interpolation between two adjacent points; the mix function is used to limit the smooth interpolation to N n With N n+1 between.
[0013] In this embodiment, the dynamic input data can be represented as a function d(t) with respect to time t. That is, the dynamic input data changes continuously with time. Therefore, during the state changes of the electronic device, a(d(t)) and b(d(t)) change dynamically with the continuous change of the dynamic input data. Continuous changes in a(d(t)) can achieve a gradual movement effect along a certain direction. When a(d(t)) < 0, the interval shifts towards the direction of decreasing gradual mapping; when a(d(t)) > 0, the interval shifts towards the direction of increasing gradual mapping. Continuous changes in the value of b(d(t)) can achieve changes in the gradual range. When b(t) < 1, the gradual range expands; when b(t) > 1, the gradual range shrinks. Through this transformation method, the corresponding displayed image in each state can change with time, thus presenting a dynamic display effect. This method can achieve flexible and seamless animation display, significantly reducing memory usage while improving the display quality and smoothness of the dynamic effect, thus enhancing the user experience.
[0014] In addition, the mix and smoothstep functions can be used to achieve smooth and continuous transitions in the displayed image during changes, thereby presenting better animation display effects and improving the user experience.
[0015] In some embodiments, the first image includes a grayscale gradient image with brightness gradually changing from 0 to 100; or, the first image includes a red channel gradient image with R channel values gradually changing from 0 to 255; or, the first image includes a green channel gradient image with G channel values gradually changing from 0 to 255; or, the first image includes a blue channel gradient image with B channel values gradually changing from 0 to 255.
[0016] In other embodiments, the first image may also be a combination of a gradient image and a single-channel image, such as a color segmentation image or a monochrome image.
[0017] In some embodiments, the first image includes a gradient region along a first path. Different gradient paths give the first image a corresponding overall shape.
[0018] In some embodiments, the first path includes one or more of the following: strip, fan, circle, semicircle, S-shape, and L-shape.
[0019] In addition, the overall shape of the first image can include more display forms. The first path shown in this embodiment is only an example for illustration. In the actual implementation process, it can be set according to the actual required animation effect. This embodiment does not limit this.
[0020] In this embodiment, different overall shapes of the first image can result in different display effects of the final animation, thereby enriching the display information of the animation, making the user interface more vivid and smooth, and bringing users a better visual experience.
[0021] Secondly, a motion effect display device is provided for use in an electronic device. The device includes: a receiving module for receiving dynamic input data indicating changes in the state of the electronic device, wherein the state of the electronic device corresponds to the input data; and a display module for displaying a first motion effect in response to the dynamic input data. The first motion effect includes several display images, wherein the d-th display image in the first motion effect is generated by modifying the parameter configuration of the first image based on the d-th input data in the dynamic input data, where d is a positive integer.
[0022] Thirdly, an electronic device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor, when executing the computer program, implements the method shown in the first aspect.
[0023] Fourthly, a computer-readable storage medium is provided that stores a computer program, which, when executed by a processor, implements the method shown in the first aspect.
[0024] Fifthly, a chip is provided, the chip including a processor and a memory, the memory storing a computer program that, when executed by the processor, implements the method shown in the first aspect.
[0025] In a sixth aspect, a computer program product is provided, the computer program product including instructions that, when executed on a computer or processor, cause the computer or processor to perform the method shown in the first aspect.
[0026] It is understood that the beneficial effects of the second to sixth aspects mentioned above can be found in the relevant descriptions in the first aspect mentioned above, and will not be repeated here. Attached Figure Description
[0027] Figure 1 is a schematic diagram of the structure of an electronic device provided in an embodiment of this application;
[0028] Figure 2 is a schematic flowchart of a motion effect display method provided in an embodiment of this application;
[0029] Figure 3 is a schematic diagram of a first image provided in an embodiment of this application;
[0030] Figure 4 is a flowchart illustrating an embodiment of the motion effect display method provided in this application;
[0031] Figure 5 is a schematic diagram of a first display image provided in an embodiment of this application;
[0032] Figure 6 is a schematic diagram of each displayed image in the first animation provided in an embodiment of this application;
[0033] Figure 7 is a schematic diagram of the display images of an electronic device provided in an embodiment of this application under different states;
[0034] Figure 8 is a schematic diagram of the color value range of an electronic device under different states according to an embodiment of this application;
[0035] Figure 9 is a schematic diagram of the motion effect display device provided in an embodiment of this application;
[0036] Figure 10 is a schematic diagram of the chip structure provided in the embodiment of this application. Detailed Implementation
[0037] The technical solutions provided in the embodiments of this application will be described below with reference to the accompanying drawings.
[0038] It should be understood that in the description of the embodiments of this application, unless otherwise stated, " / " means "or". For example, A / B can mean A or B. The "and / or" in this document is merely a description of the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, and B exists alone.
[0039] In this embodiment, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of this embodiment, unless otherwise stated, "a plurality of" means two or more.
[0040] Currently, electronic devices can enhance the visual effects and dynamic experience of users by displaying animations (such as lighting effects, gradient effects, etc.) in their UI. Animations can be used to convey various attributes and states of objects. Compared with 2D image displays, animations can make the user interface more vivid and fluid, provide users with richer information, and bring them a better visual experience.
[0041] In some embodiments, the display effect of the animation can be applied during image or interface transitions. For example, when an electronic device switches from the current image to another image or from the current interface to another interface, the electronic device displays an animation in response to the switching operation. This animation can also be referred to as transition animation, transition effects, etc.
[0042] Currently, electronic devices mostly use video animations or sequence frames to achieve dynamic display effects on the user interface.
[0043] Video animation refers to creating dynamic effects by playing a series of static image frames at high speed. Taking light and shadow effects as an example, these effects can be presented in the form of video animation. For instance, in scenes such as movies, advertisements, and games, changes in light and shadow are shown through video, thereby achieving smooth and continuous changes in light and shadow and dynamic effects.
[0044] A frame sequence refers to breaking down an overall motion effect into a series of static images (each frame is an independent picture), and then playing these images in a certain order and at certain time intervals to create a dynamic effect. Frame sequences are commonly used in game development, UI design, and other fields, especially when frame-by-frame control of lighting and shadow changes is required. Their advantage lies in their high flexibility and precise control over the effect of each frame.
[0045] However, both video animations and frame sequences contain a large amount of image data. In particular, high-resolution and high-frame-rate animations will occupy a lot of storage space and memory resources of electronic devices, which can easily cause electronic devices to run slowly or lag, affecting the user experience.
[0046] Furthermore, when creating motion effects through video animation or frame sequences, playback is limited to a pre-defined order, such as forward or reverse. However, this playback method is relatively fixed and lacks flexibility, making real-time adjustments or interactions difficult during playback. For example, it cannot dynamically change the animation's playback speed, direction, or content based on user actions or environmental changes.
[0047] In summary, while video animation and frame sequences can achieve relatively complex dynamic display effects, they have certain limitations in terms of flexibility and interactivity due to their large resource consumption and fixed playback methods.
[0048] Therefore, this application provides a motion effect display method. By modifying the parameter configuration of the first image, the electronic device realizes the motion effect display process corresponding to the state change of the electronic device. While greatly reducing memory space occupation, it can also improve the display quality and smoothness of the motion effect and enhance the user experience.
[0049] To better understand the embodiments of this application, the structure of the electronic device of the embodiments of this application is described below.
[0050] Figure 1 is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. As shown in Figure 1, the electronic device may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headphone jack 170D, a sensor module 180, buttons 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc.
[0051] Processor 110 may include one or more processing units, such as: application processor (AP), modem processor, graphics processing unit (GPU), image signal processor (ISP), controller, memory, video codec, digital signal processor (DSP), baseband processor, and / or neural network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.
[0052] The controller can serve as the nerve center and command center of an electronic device. Based on the instruction opcode and timing signals, the controller generates operation control signals to control the fetching and execution of instructions.
[0053] The processor 110 may also integrate internal memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can store instructions or data that the processor 110 has just used or that are used repeatedly. If the processor 110 needs to use the instruction or data again, it can retrieve it directly from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0054] The charging management module 140 receives charging input from a charger. The charger can be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 receives charging input from the wired charger via a USB interface 130. In some wireless charging embodiments, the charging management module 140 receives wireless charging input via the wireless charging coil of the control device. While charging the battery 142, the charging management module 140 can also supply power to the electronic device via the power management module 141.
[0055] The power management module 141 is used to connect the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140, and supplies power to the processor 110, display screen 194, camera 193, etc. The power management module 141 can also be used to monitor parameters such as battery capacity, battery cycle count, and battery health status (leakage current, impedance).
[0056] The wireless communication function of electronic devices can be realized through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor, etc.
[0057] Mobile communication module 150 can provide wireless communication solutions for electronic devices, including 2G / 3G / 4G / 5G. Wireless communication module 160 can provide wireless communication solutions for electronic devices, including wireless local area networks (WLAN) (such as wireless fidelity (WiFi) networks) and Bluetooth (BT).
[0058] Electronic devices utilize GPUs, displays (194), and application processors to achieve display functions. The GPU is a microprocessor for image processing, connecting the displays (194) and the application processor.
[0059] The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information.
[0060] Display screen 194 is used to display images, videos, etc. Display screen 194 includes a display panel. In some embodiments, the electronic device may include one or N displays screens 194, where N is a positive integer greater than 1.
[0061] Electronic devices can achieve shooting functions through ISP, camera 193, video codec, GPU, display 194 and application processor.
[0062] The ISP (Image Signal Processor) is used to process data fed back from the camera 193. For example, when taking a picture, the shutter is opened, and light is transmitted through the lens to the camera's photosensitive element. The light signal is converted into an electrical signal, and the camera's photosensitive element transmits the electrical signal to the ISP for processing, transforming it into an image visible to the naked eye. The ISP can also perform algorithmic optimization on image noise and brightness. The ISP can also optimize parameters such as exposure and color temperature of the shooting scene. In some embodiments, the ISP can be set within the camera 193. For example, the ISP can control the photosensitive element for exposure and taking pictures based on shooting parameters.
[0063] Camera 193 is used to capture still images or videos. An object passes through the lens, generating an optical image that is projected onto a photosensitive element. This photosensitive element can be a charge-coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, which is then passed to an ISP (Image Signal Processor) for conversion into a digital image signal. The ISP outputs the digital image signal to a DSP (Digital Signal Processor) for further processing. The DSP converts the digital image signal into standard RGB, YUV, or other image formats.
[0064] In some embodiments, the electronic device may include one or N cameras 193, where N is a positive integer greater than 1.
[0065] The camera 193 can be located at the edge of the electronic device, and can be an under-display camera or a pop-up camera. The camera 193 can include a rear camera or a front camera. This application does not limit the specific location and shape of the camera 193.
[0066] Digital signal processors (DSPs) are used to process digital signals. Besides digital image signals, they can also process other digital signals. For example, when an electronic device is selecting a frequency, a DSP can perform a Fourier transform on the frequency energy.
[0067] Video codecs are used to compress or decompress digital video. Electronic devices can support one or more video codecs. This allows the electronic device to play or record video in various encoded formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.
[0068] An NPU (Neural Processing Unit) is a computational processor for neural networks (NNs). By borrowing the structure of biological neural networks, such as the transmission patterns between neurons in the human brain, it can rapidly process input information and continuously learn on its own. NPUs enable intelligent cognitive applications in electronic devices, such as image recognition, facial recognition, speech recognition, and text understanding.
[0069] The external storage interface 120 can be used to connect an external memory card, such as a micro secure digital memory card (Micro SD card), to expand the storage capacity of electronic devices. The external memory card communicates with the processor 110 through the external storage interface 120 to perform data storage functions. For example, music, video, and other files can be saved on the external memory card.
[0070] Internal memory 121 can be used to store computer executable program code, which includes instructions. Processor 110 executes various functional applications and data processing of the electronic device by running instructions stored in internal memory 121 and / or instructions stored in memory located within the processor. Internal memory 121 can be any type of memory within the electronic device. Internal memory 121 can be a standalone module or integrated with other modules.
[0071] In addition, the internal memory 121 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc.
[0072] Electronic devices can implement audio functions through audio modules 170, speakers 170A, receivers 170B, microphones 170C, headphone jacks 170D, and application processors. Examples include music playback and recording.
[0073] The audio module 170 is used to convert digital audio data into analog audio electrical signals for output, and also to convert analog audio electrical signals into digital audio data for input. The audio module 170 may include an analog-to-digital converter and a digital-to-analog converter. For example, the audio module 170 is used to convert the analog audio electrical signals output from the microphone 170C into digital audio data. The audio module 170 can also be used to encode and decode audio data. In some embodiments, the audio module 170 may be located in the processor 110, or some functional modules of the audio module 170 may be located in the processor 110.
[0074] The speaker 170A, also known as a "loudspeaker," is used to convert analog audio electrical signals into sound signals. Electronic devices can listen to music or make hands-free calls through the speaker 170A.
[0075] The receiver 170B, also known as the "earpiece," is used to convert analog audio electrical signals into sound signals. When an electronic device answers a phone call or voice message, the receiver 170B can be brought close to the listener's ear to hear the voice.
[0076] Microphone 170C, also known as a "microphone" or "voice transducer," is used to convert sound signals into analog audio electrical signals. When making a phone call or sending a voice message, the user can speak by bringing their mouth close to microphone 170C, inputting the sound signal into microphone 170C. Microphone 170C can be a built-in component of an electronic device or an external accessory.
[0077] In some embodiments, the electronic device may include one or more microphones 170C, wherein each or more microphones cooperate to acquire sound signals from various directions and convert the acquired sound signals into analog audio electrical signals, and may also perform noise reduction, sound source identification, or directional recording functions, etc.
[0078] This application does not impose a specific limitation on the number of microphones 170C in its embodiments.
[0079] The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an accelerometer sensor 180E, a distance sensor 180F, a proximity sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
[0080] The SIM card interface 195 is used to connect SIM cards. The SIM card can be inserted into or removed from the SIM card interface 195 to achieve contact and separation with the electronic device. The electronic device can support one or N SIM card interfaces, where N is a positive integer greater than 1. The SIM card interface 195 supports Nano SIM cards, Micro SIM cards, and other SIM cards. Multiple cards can be inserted into the same SIM card interface 195 simultaneously. The multiple cards can be of the same or different types.
[0081] It is understood that the structures illustrated in the embodiments of this application do not constitute a specific limitation on the electronic device. In other embodiments of this application, the electronic device may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0082] Based on the electronic devices provided in the above embodiments, the technical solutions of this application and how the technical solutions of this application solve the above-mentioned technical problems will be described in detail below with specific embodiments. The following specific embodiments can be implemented independently or in combination with each other. The same or similar concepts or processes may not be described again in some embodiments. It should be understood that the interfaces provided in the embodiments of this application are only examples and do not constitute a further limitation on the embodiments of this application.
[0083] Figure 2 is a schematic flowchart of a motion effect display method provided in an embodiment of this application. As shown in Figure 2, the method includes the following steps S201 to S202.
[0084] S201, the electronic device receives dynamic input data indicating changes in the state of the electronic device, and the state of the electronic device corresponds to the input data.
[0085] In this embodiment, the state changes of the electronic device include: the electronic device moving; and / or, the scene of the electronic device changing; and / or, the display state of the electronic device changing; and / or, the pose state of the electronic device changing. The specific details of each state change of the electronic device will be explained in detail in the following embodiments, and will not be repeated here.
[0086] In some embodiments, changes in the state of an electronic device can also be changes in system data within the electronic device or changes in the state of an application running on the electronic device. Changes in the state of an electronic device generate dynamic data input; for example, the input data corresponding to the first state of the electronic device could be 0, the input data corresponding to the second state could be 1, the input data corresponding to the third state could be 2, and so on. These changes in the state of the electronic device generate changes in the input data, thus forming a dynamic data input process.
[0087] Ultimately, regardless of the specific state change, the essence of any state change is a change in state over time. Therefore, the state change of the electronic device involved in this embodiment can be any change in the scene, page, or form of the electronic device caused by factors that change over time. This time-varying factor can be represented as a function d(t) of time t, meaning that dynamic input data can be represented as a function d(t) of time t. It is evident that the state change of the electronic device can also include many other processes that change over time, which will not be listed in this embodiment.
[0088] Furthermore, in this embodiment, the states of the electronic device correspond to the input data. For example, in a first state, the electronic device has first input data; in a second state, it has second input data, and so on. Moreover, the input data corresponding to each state is different.
[0089] In this embodiment, the electronic device can detect changes in its own state through built-in sensors. For example, as shown in the previous embodiment, the electronic device may move or its pose may change. This can be determined by the electronic device using sensors such as positioning sensors, accelerometers, or gyroscopes. Additionally, the electronic device can also change its state after receiving a switching operation. The switching operation can be a click operation on a switching control that exists on the first interface currently displayed on the electronic device. This switching control indicates that the electronic device should switch from the first interface to the second interface. Alternatively, the switching operation can also be a selection operation on the first interface, such as clicking, long-pressing, double-clicking, pressing, or swiping.
[0090] S202, the electronic device responds to dynamic input data and displays the first motion effect.
[0091] The first animation effect includes several display images. The d-th display image in the first animation effect is generated by the electronic device after modifying the parameter configuration of the first image based on the d-th input data in the dynamic input data, where d is a positive integer. In other words, during the display of the first animation effect, each display image displayed in the first animation effect is related to the state changes of the electronic device, and each state has a corresponding display image, thus forming the display effect of the first animation effect.
[0092] In this embodiment, the d-th display image can be any display image displayed in the first animation. The d-th display image in the first animation is generated based on the d-th input data in the dynamic input data. That is, each display image in the animation display process corresponds to the dynamic input data. As shown in the previous embodiment, the dynamic input data can be represented as a function d(t) with respect to time t. Assuming that one input data represents a state of the electronic device, then at time t1, when d is 1, the first display image displayed in the first animation is the first display image (also called the first display image); at time t2, when d is 2, the second display image displayed in the first animation is the second display image (also called the second display image), and so on. As the dynamic input data changes continuously, each generated display image changes with the change of the dynamic input data, thereby forming a dynamic display effect.
[0093] The first image serves as the initial image for presenting the animation effect. It can be a gradient grayscale image with a gradient display effect, as shown in Figure 3(a), or a single-channel segmentation image with a segmentation display effect, as shown in Figure 3(b). The specific shape of the first image is related to the final display effect that the first animation effect needs to present, and can be set according to the actual scene requirements. This embodiment does not impose any restrictions on this.
[0094] The motion effect display method provided in this application embodiment can be applied to any practical use of electronic devices during state changes, including scene switching, page or form changes. This motion effect display method achieves smooth transitions between various displayed images in the motion effect. This smooth transition is generated by modifying the parameter configuration of the first image. The entire process is algorithm-based. Compared to existing technologies that use video animation or frame sequences to achieve motion effect display, this method significantly reduces memory usage while improving the display quality and smoothness of transition animations, thus enhancing the user experience.
[0095] The animation display method provided in this embodiment will be illustrated below with specific examples. The following embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments.
[0096] Figure 4 is a flowchart illustrating a motion effect display method according to an embodiment of this application, involving a motion effect display process in which an electronic device switches from a first state to a second state. The first state refers to the current state of the electronic device, and the second state refers to the state of the electronic device after the switch. As shown in Figure 4, the method includes the following steps S401 to S405.
[0097] S401, the electronic device generates the first image.
[0098] In some embodiments, the first image includes a grayscale gradient image with brightness gradually changing from 0 to 100, or a single-channel gradient image with a certain RGB channel value gradually changing from 0 to 255. For example, a red channel gradient image is one where only the red channel value changes from 0 to 255, while the green and blue channel values remain 0, and the image is displayed as a gradient from black to pure red; a green channel gradient image is one where only the green channel value changes from 0 to 255, while the red and blue channel values remain 0, and the image is displayed as a gradient from black to pure green; a blue channel gradient image is one where only the blue channel value changes from 0 to 255, while the red and green channel values remain 0, and the image is displayed as a gradient from black to pure blue. Whether it is a grayscale gradient image or a single-channel gradient image, assuming the first image includes N pixel coordinates, the N first mapping values (also called first gradient mapping values) corresponding to the N pixel coordinates in the first image can be represented by an algorithm as follows about the pixel coordinates (x, y, x, y ... n y n The first function g(x) n y n Optionally, the first mapping value of the first function has a first range, for example, when the first image is a grayscale gradient from 0 to 1, then the first function g(x) has a first range. n y nThe first mapping value g∈[0,1] is used to normalize the value of the first mapping value within the first range interval. Here, a grayscale image from 0 to 1 refers to an image where the range of grayscale values is normalized to the interval [0,1], where 0 represents pure black, 1 represents pure white, and intermediate values (such as 0.5) represent gray. It can be understood that when the first function (x... n y n After the first function (x) is determined, n y n The value and range of the first mapping value corresponding to it are also determined accordingly.
[0099] Optionally, the first image in this embodiment further includes a gradient region along a first path. The first path includes one or more of the following: a strip, a fan, a circle, a semicircle, an S-shape, and an L-shape. Referring to Figure 3(a), this figure shows a gradient region corresponding to a circular gradient path. Different gradient paths give the first image a corresponding overall shape. Of course, the overall shape of the first image can also include more display forms. The first path shown in this embodiment is only an example for illustration. In the specific implementation process, it can be set according to the actual required animation effect. This embodiment does not impose any limitations on this.
[0100] The first mapping value corresponding to the N pixel coordinates in the first image can all be represented by an algorithm as a function relating the pixel coordinates (x, y ... n y n The first function g(x) n y n Therefore, the first path can also be represented by an algorithm in the first function g(x). n y n )middle.
[0101] It should be noted that in this embodiment, the electronic device can generate a first image based on a preset image and then calculate the function corresponding to the first image; alternatively, it can directly represent the first image through a function and use it as the initial image for input.
[0102] S402, the electronic device receives first input data for indicating the first state in the first state.
[0103] The first state corresponds to the first input data.
[0104] S403, the electronic device displays a first display image generated based on the first image, according to the first input data.
[0105] Based on the foregoing embodiments, the d-th display image in the first animation is generated by modifying the parameter configuration of the first image according to the d-th input data in the dynamic input data. Therefore, the first display image is generated by modifying the parameter configuration of the first image according to the 1st input data in the dynamic input data. The generation process of the first image will be described in detail below.
[0106] The N first mapping values corresponding to the N pixel coordinates in the first image can all be represented by the algorithm as relating the pixel coordinates (x, y, y) n y n The first function g(x) n y n For example, if the dynamic input data can be represented as a function d(t) with respect to time t, after the electronic device generates the first image, at time t1, it determines the first function g(x) based on the first input data. n y n The N second mapping values corresponding to the first input data can be represented as the pixel coordinates (x, y, y) n y n The second function g(x) of the first input data n y n ,1). The relationship between the first and second functions can be expressed by the following formula: g(x n y n ,1)=a(d(t))+b(d(t))*g(x n y n If the first mapping value of the first function has a first range, then the second mapping value of the second function has a second range.
[0107] In some embodiments, based on the above formula, when a(d(t)) is a constant A, where A∈[-1,1], and b(d(t)) is a constant 1, g(x) n y n ,1)=A+g(x n y n In this case, the second mapping value is the first mapping value plus a constant A. In this example, A can be any value between [-1, 1]. For example, if A is 1, then g(x) n y n ,1)=g(x n y n )+1. If g(x) n y n If the first range of g(x) is [0,1], then g(x) n y nThe second range of 1) is [1,2]. Through this data processing method of mapping modification, N second mapping values of the first input data are obtained.
[0108] In other embodiments, the same formula is used, where a(d(t)) is a constant 0, b(d(t)) is a constant B, where B is neither 0 nor 1, and g(x) n y n ,1)=B*g(x n y n In this case, the second mapping value is the first mapping value multiplied by a constant B. In this example, B can be any value other than 0 and 1; for example, if B is 2, then g(x) = 2. n y n ,1)=2*g(x n y n If g(x) n y n If the first range of g(x) is [0,1], then g(x) n y n The second range of 1) is [0,2]. Through this data processing method of mapping modification, N second mapping values of the first input data are obtained.
[0109] In some other embodiments, also based on the above formula, when a(d(t)) is a constant A and b(d(t)) is a constant B, g(x n y n ,1)=A+B*g(x n y n In this case, the second mapping value is the first mapping value multiplied by a constant B and then added to a constant A. In this example, A can be any value between [-1, 1], for example, A is 1. B can be any value other than 0 and 1, for example, B is 2. n y n ,1)=1+2*g(x n y n If g(x) n y n If the first range of g(x) is [0,1], then g(x) n y n The second range of 1) is [1,3]. Through this data processing method of mapping modification, N second mapping values of the first input data are obtained.
[0110] In this embodiment, the data processing method for the first mapping value of the first function includes replacing the mapping value or modifying the mapping value (for example, increasing or decreasing the mapping value based on the original first mapping value).
[0111] The replacement mapping value involves replacing all N first mapping values corresponding to N pixel coordinates with other mapping values to obtain the replaced second mapping values. For example, to modify the first mapping value corresponding to pixel coordinates (x1, y1), assuming the first mapping value is 0, it is changed to the second mapping value 1.
[0112] Modify the mapping value as shown in the above embodiment, g(x) n y n ,1)=a(d(t))+b(d(t))*g(x n y n a(d(t)) and b(d(t)) are the basis for modifying the mapping value. That is, based on the original first mapping value, the second mapping value is obtained by recalculating it through a certain algorithm.
[0113] It is understandable that during the state changes of an electronic device, a(d(t)) and b(d(t)) are dynamically changing along with the continuous changes in dynamic input data, and a(d(t)) and b(d(t)) can be the same or different. For example, continuous change of a(d(t)) can achieve a gradual movement effect along a certain direction; when a(d(t)) < 0, the interval shifts in the direction of decreasing gradual mapping, and when a(d(t)) > 0, the interval shifts in the direction of increasing gradual mapping. Continuous change of the value of b(d(t)) can achieve a change in the gradual interval; when b(t) < 1, the gradual interval expands, and when b(t) > 1, the gradual interval shrinks.
[0114] After the electronic device modifies the parameter configuration of the first mapping value of the first image, the first mapping value corresponding to each pixel coordinate in the first image changes to the second mapping value, thereby changing the overall mapping value of the first image.
[0115] It should be noted that the data processing methods shown in the above embodiments are only examples for illustration. In the actual data processing process, the parameter configuration of the first image can be modified by simpler or more complex calculation methods according to the actual needs of the animation effect. This embodiment does not limit this.
[0116] In this embodiment, after determining the N second mapping values of the first input data, the electronic device determines the color values corresponding to the N pixel coordinates based on the N second mapping values. That is, the electronic device maps the final image color according to the modified second mapping values to generate the first display image.
[0117] For example, taking the generation of a first display image with gradient colors by an electronic device as an example, the gradient colors can be represented with respect to the second mapping value g(x). n yn The third function c(g(x)) of 1) n y n ,1)), a gradient color can contain multiple points N1, N2, ..., N n Here, a point refers to any point within the range of mapped values. All points are arranged consecutively, and the point value N∈[0,1]. Each point can be a different color c1, c2, ..., c n Then, the gradient color value within the point interval [Nn, Nn+1] can be represented as c. n (g(x n y n ,1))=mix(c n c n+1 ,smoothstep(N n N n+1 In the expression `mix`, the `mix` function is used to calculate the smooth interpolation between two points to achieve a smooth transition between displayed images, and the `smoothstep` function is used to limit the smooth interpolation to N. n With N n+1 between.
[0118] In this embodiment, after the mapping value of the first image changes, the color value corresponding to the first image also changes, thereby generating the first display image. Referring to Figure 5, which shows a schematic diagram of the first display image, as shown, after mapping modification and color value calculation, the color value corresponding to point 0 is d9d6d9, the color value corresponding to point 22 is 6e4e7e, the color value corresponding to point 55 is 9759b1, the color value corresponding to point 83 is 300a4a, the color value corresponding to point 90 is 180028, and the color value corresponding to point 100 is 000000. It should be noted that the color values corresponding to each point in the display image can also be values corresponding to other colors. The color values shown in Figure 5 are only illustrative and do not constitute a limitation on this embodiment. The electronic device displays the generated first display image as the first display image corresponding to the first input data.
[0119] S404, after the electronic device switches from the first state to the second state, it receives second input data for indicating the second state.
[0120] In this embodiment, the electronic device switching from the first state to the second state may include the following:
[0121] (1) The electronic device moves from the first position to the second position.
[0122] The first position can be the current location of the electronic device, and the second position can be the location of the electronic device after it has moved. When the position of the electronic device changes, it can be considered that the state of the electronic device has changed.
[0123] (2) The electronic device switches from the first scene to the second scene.
[0124] The scenarios for electronic devices can be user-defined or preset by the device, such as morning scenarios, commuting scenarios, exercise scenarios, returning home scenarios, movie-watching scenarios, sleep scenarios, navigation scenarios, ride-hailing scenarios, driving scenarios, and meeting scenarios. Electronic devices can switch between one scenario during operation.
[0125] In this embodiment, the scene switching of the electronic device can be a change between various scenes, such as switching from a morning scene to a commuting scene, where the scene in which the electronic device is located changes; it can also be a change in the real-time state corresponding to a certain scene. For example, in a sports scene, the electronic device's step count is 3000 steps at the first moment and 6000 steps at the second moment. The step count of the electronic device changes during the time period from the first moment to the second moment, which can also be considered as a change in the real-time state of the electronic device regarding the step count in the sports scene. In other words, in this embodiment, the state switching process of the electronic device can be a switch from one scene to another, or a switch from a real-time state in one scene to another real-time state in the same scene.
[0126] (3) The electronic device switches from the first display state to the second display state.
[0127] The display states of electronic devices include always-on display (AOD) state, lock screen state, and desktop state. Electronic devices can switch from always-on display state to lock screen state, and vice versa.
[0128] (4) The electronic device switches from the first position state to the second pose state.
[0129] In some embodiments, changes in the pose state of an electronic device include changes in one or more of the device's attitude angles (also known as Euler angles, including pitch angle α, roll angle β, and offset angle γ). Changes in different types of angle information will result in different tilt states of the electronic device. For example, when the electronic device is in a shaking state, the offset angle changes, causing the electronic device to switch from a pose state at a first offset angle to a pose state at a second offset angle. Similarly, changes in the pitch angle or roll angle information will also cause changes in the pose state of the electronic device.
[0130] In other embodiments, when the electronic device is a foldable product, the pose state of the electronic device also includes a folded state, an unfolded state, and states corresponding to different opening and closing angles. For example, a foldable phone has a first state corresponding to an opening and closing angle of a first angle, and a second state corresponding to an opening and closing angle of a second angle. The first angle and the second angle are any values between 0 and 180°, and the first angle and the second angle are different.
[0131] In this embodiment, changes in the state of the electronic device can be detected by sensors built into the device, such as gyroscopes, accelerometers, magnetometers, and gravity sensors. For example, the electronic device can detect its pose information using a gyroscope or other auxiliary sensors.
[0132] It should be noted that the state of the electronic device involved in the embodiments of this application includes any time-varying factors that cause the electronic device to currently possess a device form. Each state of the electronic device can be represented as a function d(t) with respect to time t. That is, the state of the electronic device changes over time. For example, at a first time t1, the electronic device is in a first state, and at a second time t2, the electronic device is in a second state. The first time and the second time are different; the second time is a point in time later than the first time.
[0133] For example, in the specific implementation of an electronic device detecting whether its state has changed, the electronic device first detects the current attitude angle information using a gyroscope, which is α = 100°, β = 120°, γ = 0°. The electronic device determines this current attitude angle information as the first attitude state. During use, the user may adjust the attitude angle of the electronic device, such as by flipping or shaking it. After the adjustment, the attitude angle information of the electronic device is now α = 150°, β = 170°, γ = 0°. The electronic device determines this current attitude angle information as the second attitude state. The change in attitude state causes a change in the state of the electronic device. After switching from the first state to the second state, the electronic device receives second input data indicating the second state.
[0134] In this embodiment, based on different states corresponding to different dynamic input data, after switching from the first state to the second state, the electronic device receives the second input data corresponding to the second state. For example, the data input corresponding to the electronic device in the AOD state is 0, and the input data corresponding to the lock screen state is 1. When the electronic device switches from the AOD state to the lock screen state, it receives input data 1 indicating the lock screen state. The change in input data corresponds to the change in the electronic device's state. The electronic device processes the first image according to the change in input data, with different states corresponding to different mapped display images. When the changes in each state form dynamic data input, different display images corresponding to different states are generated, thereby achieving a display effect that displays the first animation effect as the dynamic input data changes during the state switching process.
[0135] S405, the electronic device displays a second display image generated from the first image based on the second input data.
[0136] After the electronic device switches from a first state to a second state, it receives second input data indicating the second state. Then, based on the second input data, it displays a second display image generated from the first image. Similarly, when the electronic device switches from the second state to a third state, it receives third input data indicating the third state. Then, based on the third input data, it displays a third display image generated from the first image, and the first display image is different from both the second and third display images. This process continues, with the change in the electronic device's state driving dynamic changes in the input data, ultimately generating different display images. Therefore, from a display effect perspective, the switching of the electronic device's state drives the switching of the display images, thus creating a dynamic display effect. Furthermore, by controlling the data calculation method of the display images corresponding to each dynamic input data, dynamic display effects such as smooth, gradual animations can be achieved, as shown in Figure 6. The generation of the second and third display images, as well as subsequent display images corresponding to state switches, can all be implemented using the embodiment shown in step S403 above, and will not be elaborated upon here.
[0137] In some embodiments, consider an electronic device switching from an AOD (Always-On) state to a 90° folded state and then back to a normally unfolded state. Assume the input data for the electronic device in the AOD state is 0, in the 90° folded state is 1, and in the normally unfolded state is 2. As the input data dynamically changes, the electronic device can display the animation effect shown in Figure 7. Figure 7(a) shows the display image of the electronic device in the AOD state, Figure 7(b) shows the display image of the electronic device in the 90° folded state, and Figure 7(c) shows the display image of the electronic device in the normally unfolded state. The display images in Figures 7(a), 7(b), and 7(c) are generated by modifying the parameter configuration of the first image to varying degrees, involving not only modifications to mapping values but also modifications to color values. For example, as shown in Figure 8, each state has a corresponding color value range, thus creating an animation effect where the electronic device displays animations according to changes in the device state.
[0138] Combining the functions involved in the above embodiments, the animation display process driven by dynamic input data provided in this application embodiment can be represented by the following function c:
[0139] The method for displaying animation effects based on images provided in this application embodiment is not only applicable to the scenario shown in this embodiment, but can also be applied to other scenarios where electronic devices undergo state changes. The specific settings can be made according to the actual situation, and this embodiment does not impose any limitations on this.
[0140] The motion effect display method of this application embodiment involves an electronic device generating display images corresponding to various states by modifying the parameter configuration of a first image. The dynamic input data indicating the state changes of the electronic device changes, causing the display images to change accordingly with time or with the state of the device, thereby presenting a motion effect display. This method can achieve flexible and seamless animation display, greatly reducing memory space usage while improving the display quality and smoothness of the motion effect, thus enhancing the user experience.
[0141] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0142] This application also provides a motion effect display device for use in electronic devices. As shown in FIG9, the device includes a receiving module 901 and a display module 902.
[0143] The receiving module 901 is used to receive dynamic input data indicating changes in the state of the electronic device, and the state of the electronic device corresponds to the input data.
[0144] Display module 902 is used to display a first animation effect in response to dynamic input data; the first animation effect includes several display images, and the d-th display image in the first animation effect is generated after modifying the parameter configuration of the first image according to the d-th input data in the dynamic input data, where d is a positive integer.
[0145] This application also provides an electronic device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it is configured to perform the motion display methods shown in the above embodiments.
[0146] This application also provides a chip, as shown in FIG10, which includes a processor and a memory. The memory stores a computer program, which, when executed by the processor, implements the motion display method in the above embodiments.
[0147] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the motion display methods provided in the above embodiments.
[0148] This application also provides a computer program product, which includes a computer program. When the computer program is run by an electronic device, the electronic device implements the motion display method provided in the above embodiments.
[0149] It should be understood that the processor mentioned in the embodiments of this application can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor.
[0150] It should also be understood that the memory mentioned in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).
[0151] In the embodiments provided in this application, the division of each framework or module is only a logical functional division. In actual implementation, there may be other division methods. For example, multiple frameworks or modules may be combined or integrated into another system, or some features may be ignored or not executed.
[0152] Furthermore, the functional modules in the various embodiments of this application can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module. The integrated modules described above can be implemented in hardware or as software functional modules.
[0153] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0154] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.
[0155] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.
Claims
A method for displaying animation effects, characterized in that, Applied to electronic devices, the method includes: Receive dynamic input data indicating changes in the state of the electronic device, wherein the state of the electronic device corresponds to the input data; In response to the dynamic input data, a first animation effect is displayed; the first animation effect includes a plurality of display images, wherein the d-th display image in the first animation effect is generated by modifying the parameter configuration of the first image according to the d-th input data in the dynamic input data, where d is a positive integer. The method according to claim 1, characterized in that, The state changes of the electronic device include: The electronic device has moved; and / or, The scenario for the electronic device has changed; and / or, The display state of the electronic device changes; and / or, The pose state of the electronic device changes. The method according to claim 1 or 2, characterized in that, The first image has a mapping relationship between N pixel coordinates and corresponding N first mapping values, and the generation method of the d-th display image includes: The first image is generated, and the N first mapping values corresponding to the N pixel coordinates in the first image can be represented as follows about pixel coordinates (x, y, z). n y n The first function g(x) n y n ); Based on the d-th input data, determine the first function g(x) n y n The N second mapping values corresponding to the d-th input data can be represented as the pixel coordinates (x, y, y) n y n The second function g(x) of the d-th input data n y n ,d); Based on the N second mapping values, determine the color values corresponding to the N pixel coordinates to generate the d-th display image. The method according to claim 3, characterized in that, The dynamic input data can be represented as a function d(t) with respect to time t, and the first function and the second function have the following correspondence: g(x n ,y n ,d)=a(d(t))+b(d(t))*g(x n ,y n ); Where a(d(t)) and b(d(t)) are both mapping values of the function d(t) at time t, and a(d(t)) and b(d(t)) may be the same or different. The method according to claim 3 or 4, characterized in that, The color value can be expressed as a function of the second function g(x) n y n The third function c(g(x) of d) n y n d)) The step of determining the color values corresponding to the N pixel coordinates based on the N second mapping values includes: The second function determines N points corresponding to the N pixel coordinates, where each point is any value in the second mapping value. The color values corresponding to the N pixel coordinates are calculated using the following formulas: c n (g(x n ,y n ,d))=mix(c n ,c n+1 ,smoothstep(N n ,N n+1 ,g(x n ,y n ,d))); The `smoothstep` function is used to calculate the smooth interpolation between two adjacent points; the `mix` function is used to limit the smooth interpolation to N. n With N n+1 between. The method according to any one of claims 1 to 5, characterized in that, The first image includes a grayscale gradient image with brightness gradually changing from 0 to 100; or, The first image includes a red channel gradient map where the R channel value gradually changes from 0 to 255; or, The first image includes a green channel gradient map with G channel values gradually changing from 0 to 255; or, The first image includes a blue channel gradient map with B channel values gradually changing from 0 to 255. The method according to any one of claims 1 to 6, characterized in that, The first image includes a gradient region along a first path. The method according to claim 7, characterized in that, The first path includes one or more of the following: strip, fan, circle, semicircle, S-shape, and L-shape. An electronic device, characterized in that, The method includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor, when executing the computer program, implements the method as described in any one of claims 1 to 8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method as described in any one of claims 1 to 8. A chip characterized in that, The chip includes a processor and a memory, the memory storing a computer program that, when executed by the processor, implements the method as described in any one of claims 1 to 8. A computer program product, characterized in that, The computer program product includes instructions that, when executed on a computer or processor, cause the computer or processor to perform the method as described in any one of claims 1 to 8.