Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Referring to fig. 1, a flowchart of a shooting prompting method according to an embodiment of the present invention is shown.
The shooting prompting method provided by the embodiment of the invention comprises the following steps:
step 101: in the shooting process, a first mark is displayed on a shooting preview interface.
The first mark indicates a current position of the reference object in the photographing preview interface. In the shooting process, if the electronic equipment moves, the position of the reference object in the shooting preview interface changes, and correspondingly, the display position of the first identifier in the shooting preview interface also changes.
The first indicator may be displayed at any suitable location in the capture preview interface. The first marker may be of any shape, for example: triangular, cross or rectangular frames, etc.
Step 102: and under the condition that the moving distance of the electronic equipment is greater than the preset value, updating the display position of the first identifier and outputting prompt information.
The prompt message is used for prompting the user to adjust the first identifier to the position where the first identifier is located before the electronic equipment moves. And adjusting the first identifier to the position where the first identifier is located before the electronic equipment moves, and correspondingly moving the electronic equipment back to the position before the electronic equipment moves, so that the position of the electronic equipment does not change in the shooting process.
The prompt message may be at least one of a text message, a guide identifier, and a voice message.
According to the shooting prompting method provided by the embodiment of the invention, the first identifier is displayed on the shooting preview interface in the shooting process, the display position of the first identifier is updated under the condition that the moving distance of the electronic equipment is greater than the preset value, and the prompting information is output to prompt the user to adjust the first identifier to the position where the first identifier is located before the electronic equipment moves, so that the user can be prompted to adjust the electronic equipment to the position before the electronic equipment moves in time when the electronic equipment is detected to move in the shooting process, the moving degree of the electronic equipment in the shooting process is reduced to the maximum extent, the definition of the preview image input in the shooting process is improved, the scene change degree of the input preview image frame is reduced, and the high-quality target image is shot.
Referring to fig. 2, a second flowchart of the shooting prompting method according to the embodiment of the present invention is shown.
The shooting prompting method in the embodiment of the invention specifically comprises the following steps:
step 201: during shooting, N characteristic areas in a shooting preview interface are determined.
In the specific implementation process, a specific value of N may be set by a person skilled in the art according to actual requirements, and this is not specifically limited in the implementation of the present invention.
In the embodiment of the present invention, reference is made to fig. 3, where N is equal to 5 as an example, fig. 3 is a schematic diagram of positions of feature regions in a shooting preview interface before an electronic device moves, where the schematic diagram includes 5 feature regions 301, and the five feature regions are five boxes F, F1, F2, F3, and F4, respectively. The borders of these feature areas are not displayed in the preview interface and are therefore not visible to the user. In the shooting process, a M × M square area F in the center area of the preview image in the shooting preview interface can be instantly acquired as a feature area, and square areas F1, F2, F3 and F4 with the same size around the preview image can be acquired as feature areas.
It should be noted that the feature region is not limited to the square region shown in fig. 3, and may also be a region with any suitable shape, such as a circle, a triangle, or a hexagon, and the specific shape of the feature region is not particularly limited in the embodiment of the present invention. Fig. 3 shows an exemplary manner of determining a feature area, which is not limited in the specific implementation process, and may also determine only one feature area in the shooting preview interface, for example: only one preset graphic area in the center area of the preview image is taken as a characteristic area; only one preset graphic area at the upper left corner of the preview image is taken as a characteristic area; only one preset image area at the upper right corner of the preview image is taken as a characteristic area; only one preset image area at the lower left corner of the preview image is taken as a characteristic area; and taking only one preset image area at the right upper corner of the preview image as a characteristic area. Of course, it is not necessary to determine two, three, or four preset graphic regions as the feature regions in the shooting preview interface. The embodiments of the present invention are not listed.
Step 202: and displaying the first mark on a target characteristic region in the N characteristic regions.
The target feature region may be any one or more feature regions among the N feature regions, and in the embodiment of the present invention, the target feature region is taken as an F feature region, and the first identifier 302 is displayed on the F feature region for example. The first identifier indicates a current position of the reference object in the capture preview interface where the first identifier is visible to the user. In order to facilitate the user to visually check whether the electronic device moves, a second identifier may be displayed in the shooting preview interface, and in fig. 3, the first identifier and the second identifier are overlapped, so that the second identifier is not labeled.
Step 203: and associating the shooting object of the target characteristic region as a reference object with the first identifier.
When the shooting object of the target characteristic region is taken as a reference object and is associated with the first mark, the characteristic points of the image content of the target characteristic region F can be calculated, the positions of the first mark and the shooting object of the target characteristic region are locked in a characteristic point matching mode, and the shooting object of the target characteristic region is taken as the reference object.
In the embodiment of the present invention, the first flag is associated with the object in the target feature region, and in the specific implementation process, feature points of the image contents in the feature regions F, F1, F2, F3, and F4 may also be calculated, and the positions of the object in the first flag and the object in the five feature regions are all locked by means of feature point matching, but the first flag is always marked on the feature region F. As shown in fig. 4, when the electronic device moves, the F, F1, F2, F3 and F4 feature areas will move together with the locked photographic subject, and the first flag will be displaced in synchronization.
Step 204: and under the condition that the moving distance of the electronic equipment is greater than the preset value, updating the display position of the first identifier and outputting prompt information.
The preset value may be set by a person skilled in the art according to actual requirements, and is not particularly limited in the embodiment of the present invention.
Fig. 5 is a schematic diagram of positions of the first identifier and the second identifier in the shooting preview interface after the electronic device moves. As shown in fig. 3, when the moving distance of the electronic device is greater than the preset value, a certain displacement is generated between the first identifier 302 and the second identifier 303 as shown in fig. 5, which indicates that the electronic device has moved, and at this time, the output prompt information is output, and the output prompt information is used to prompt the user to adjust the first identifier to the position where the first identifier is located before the electronic device moves.
When the prompt information is output, only the guide identifier may be displayed, and the guide identifier indicates the moving direction of the electronic device, so that the first identifier is adjusted to the position where the first identifier is located before the electronic device moves. The moving direction is a direction pointing to the second mark along the first mark.
Or only displaying the text information, wherein the text information instructs the user to adjust the first identifier to the position where the first identifier is located before the electronic equipment moves. Preferably, the text message may further include a moving distance, so that the user can accurately move the electronic device to a position before the movement occurs. For example: when detecting that the electronic device moves 1cm to the left, the displayed text information may be "move the electronic device 1cm to the right"
One way to preferably output the prompt message is to display a guide identifier 304 and a text message 305 at the same time as shown in fig. 6, and this way to preferably output the prompt message can convey the purpose of the user to adjust the electronic device through the text message, and how to adjust the electronic device can be guided by the guide identifier, and the expression is intuitive and clear, which is convenient for the user to understand. As shown in fig. 6, after the first mark 302 and the second mark 303 generate a positioning shift, a guiding mark 304 is displayed on the shooting preview interface, where the guiding mark 304 indicates a shifting direction of the first mark and the second mark, and the electronic device needs to be moved in a reverse direction to align the first mark and the second mark. As shown in fig. 6, if the displacement direction of the first marker and the second marker is horizontal to the left, the electronic device needs to be horizontally moved to the right to align the first marker and the second marker.
According to the shooting prompting method provided by the embodiment of the invention, the first identifier is displayed on the shooting preview interface in the shooting process, the display position of the first identifier is updated under the condition that the moving distance of the electronic equipment is greater than the preset value, and the prompting information is output to prompt the user to adjust the first identifier to the position where the first identifier is located before the electronic equipment moves, so that the user can be prompted to adjust the electronic equipment to the position before the electronic equipment moves in time when the electronic equipment is detected to move in the shooting process, the moving degree of the electronic equipment in the shooting process is reduced to the maximum extent, the definition of the preview image input in the shooting process is improved, the scene change degree of the input preview image frame is reduced, and the high-quality target image is shot. In addition, the embodiment of the invention provides a preferable mode for outputting the prompt information, and the expression is intuitive and clear, thereby being convenient for the user to understand.
Referring to fig. 7, a third flowchart of the shooting prompting method according to the embodiment of the present invention is shown.
The shooting prompting method in the embodiment of the invention specifically comprises the following steps:
step 401: during shooting, a target reference area of a shooting preview interface is determined.
One way to preferably determine the target reference area of the capture preview interface is to:
firstly, acquiring four edge areas of a shooting preview interface; secondly, converging M pixel points towards the center direction of a shooting preview interface for each edge area to obtain four reference subregions; and thirdly, taking an annular area surrounded by the four reference sub-areas as a target reference area.
The M pixel points are the displacement of the same content between the maximum images accepted when the multiple images are aligned. The method for preferentially determining the target reference area has small calculation amount, and can reduce the calculation load of the electronic equipment and shorten the time consumed by calculation.
Step 402: and displaying the first identifier in the target reference area.
The first mark coincides with the target reference area, and the first mark indicates the current position of the reference object in the shooting preview interface. As shown in fig. 8, before the electronic device moves, the first identifier 501 is located inside the shooting preview interface and is located at a distance M from the edge of the shooting preview interface. And calibrating the target reference area and the shooting object in the shooting preview interface displayed in the step 401.
In the image shooting process, when the electronic equipment moves and the position of a shooting object calibrated by the target reference area changes, the position of the target reference area in the shooting preview interface changes along with the change of the position of the target reference area, and the display position of the first mark in the shooting preview interface changes along with the change of the position of the target reference area.
Step 403: and under the condition that the moving distance of the electronic equipment is greater than the preset value, updating the display position of the first identifier and displaying the text information.
The preset value can be K pixel points, and K is smaller than or equal to M. If the preset value is M pixel points, the annular area defined by the four edge areas of the shooting preview interface is equal to the maximum movable range of the target reference area, the target reference area is overlapped with the first mark, the annular area defined by the four edge areas of the shooting preview interface is the maximum movable range of the first mark, when any one reference sub-area of the target reference area moves out of the maximum movable range, the moving distance of the electronic equipment is determined to be larger than the preset value, the display position of the first mark is updated, and the text information is displayed. As shown in fig. 9, the text information 502 is displayed in the shooting preview interface in the case where the first mark 501 has been partially moved out of the maximum movable range, i.e., moved out of the shooting preview interface, as viewed from the display position of the first mark 501. The specific content of the text information can be flexibly set by those skilled in the art, and is not limited to the text information displayed in the "please keep the box in the interface" shown in fig. 9 to achieve better effect, which can prompt the user to adjust the first identifier to the position where the first identifier is located before the electronic device is moved.
When the first identification is detected to be adjusted to the position where the first identification is located before the electronic equipment moves, the character prompt information disappears, and the moving distance of the electronic equipment continues to be detected.
According to the shooting prompting method provided by the embodiment of the invention, the target reference area in the shooting preview interface is determined in the shooting process, the first identifier is displayed in the target reference area, the display position of the first identifier is updated under the condition that the moving distance of the electronic equipment is greater than the preset value, and the text information is output to prompt the user to adjust the first identifier to the position where the first identifier is located before the electronic equipment moves, so that the user can be timely prompted to adjust the electronic equipment to the position before the electronic equipment moves when the electronic equipment is detected to move in the shooting process, the moving degree of the electronic equipment in the shooting process is reduced to the maximum extent, the definition of the preview image input in the shooting process is improved, the scene change degree of the input preview image frame is reduced, and the high-quality target image is shot and obtained. In addition, the embodiment of the invention also provides a preferable mode for determining the target reference area, and the technical mode has small calculation amount, can reduce the calculation load of the electronic equipment and shorten the time consumed by calculation.
Referring to fig. 10, a block diagram of an electronic device of an embodiment of the invention is shown. The terminal can realize the details of the shooting prompting method in the embodiment and achieve the same effect.
The electronic device of the embodiment of the invention comprises: the display module 601 is configured to display a first identifier on a shooting preview interface in a shooting process, where the first identifier indicates a current position of a reference object in the shooting preview interface; an updating module 602, configured to update a display position of the first identifier and output a prompt message to prompt a user to adjust the first identifier to a position where the first identifier is located before the electronic device moves, when a moving distance of the electronic device is greater than a preset value. The display module and the updating module are connected in sequence.
Preferably, the display module includes: the characteristic region determining submodule is used for determining N characteristic regions in the shooting preview interface in the shooting process; a first identifier display sub-module, configured to display the first identifier on a target feature region of the N feature regions; the association submodule is used for associating the shooting object of the target characteristic region as a reference object with the first identifier; wherein N is an integer greater than 1. The characteristic region determining submodule, the first identification display submodule and the correlation submodule are connected in sequence.
Preferably, the display module includes: the reference area determining submodule is used for determining a target reference area of the shooting preview interface in the shooting process; the second identification display submodule is used for displaying the first identification in the target reference area; wherein the first marker coincides with the target reference area. The reference area determination submodule and the second identification display submodule are connected in sequence.
Preferably, the reference region determination sub-module includes: the acquisition unit is used for acquiring four edge areas of the shooting preview interface; the convergence unit is used for converging M pixel points towards the center direction of the shooting preview interface for each edge area to obtain four reference subregions; and the area determining unit is used for taking an annular area formed by the four reference sub-areas as a target reference area. The acquisition unit, the convergence unit, and the region determination unit are connected in sequence.
Preferably, the update module includes an identification position update display sub-module and a prompt information output sub-module, and the prompt information output sub-module includes at least one of the following units: the guide identifier display unit is used for displaying a guide identifier, and the guide identifier indicates the moving direction of the electronic equipment, so that the first identifier is adjusted to the position where the first identifier is located before the electronic equipment moves; and the text information display unit is used for displaying text information, and the text information indicates a user to adjust the first identifier to the position where the first identifier is located before the electronic equipment moves.
The electronic device provided in the embodiment of the present invention can implement each process implemented by the electronic device in the method embodiments of fig. 1 to 9, and is not described herein again to avoid repetition.
According to the electronic equipment provided by the embodiment of the invention, the first identifier is displayed on the shooting preview interface in the shooting process, the display position of the first identifier is updated and prompt information is output to prompt a user to adjust the first identifier to the position where the first identifier is located before the electronic equipment moves under the condition that the moving distance of the electronic equipment is greater than the preset value, the user can be prompted to adjust the electronic equipment to the position before the electronic equipment moves in time when the electronic equipment is detected to move in the shooting process, the moving degree of the electronic equipment in the shooting process is reduced to the maximum extent, the definition of a preview image input in the shooting process is improved, the scene change degree of the input preview image frame is reduced, and a high-quality target image is shot.
Referring to fig. 11, a hardware structure diagram of an electronic device according to an embodiment of the present invention is shown.
Fig. 11 is a schematic diagram of a hardware structure of an electronic device 700 for implementing various embodiments of the present invention, where the electronic device 700 includes, but is not limited to: a radio frequency unit 701, a network module 702, an audio output unit 703, an input unit 704, a sensor 705, a display unit 706, a user input unit 707, an interface unit 708, a memory 709, a processor 710, a power supply 711, and the like. Those skilled in the art will appreciate that the electronic device configuration shown in fig. 11 does not constitute a limitation of electronic devices, which may include more or fewer components than shown, or some components may be combined, or a different arrangement of components. In the embodiment of the present invention, the electronic device includes, but is not limited to, a mobile phone, a tablet computer, a notebook computer, a palm computer, a vehicle-mounted terminal, a wearable device, a pedometer, and the like.
A processor 710, configured to display a first identifier on a shooting preview interface during a shooting process, where the first identifier indicates a current position of a reference object in the shooting preview interface;
and under the condition that the moving distance of the electronic equipment is greater than a preset value, updating the display position of the first identifier, and outputting prompt information to prompt a user to adjust the first identifier to the position where the first identifier is located before the electronic equipment moves.
According to the electronic equipment provided by the embodiment of the invention, the first identifier is displayed on the shooting preview interface in the shooting process, the display position of the first identifier is updated and prompt information is output to prompt a user to adjust the first identifier to the position where the first identifier is located before the electronic equipment moves under the condition that the moving distance of the electronic equipment is greater than the preset value, the user can be prompted to adjust the electronic equipment to the position before the electronic equipment moves in time when the electronic equipment is detected to move in the shooting process, the moving degree of the electronic equipment in the shooting process is reduced to the maximum extent, the definition of a preview image input in the shooting process is improved, the scene change degree of the input preview image frame is reduced, and a high-quality target image is shot.
It should be understood that, in the embodiment of the present invention, the radio frequency unit 701 may be used for receiving and sending signals during a message transmission and reception process or a call process, and specifically, receives downlink data from a base station and then processes the received downlink data to the processor 710; in addition, the uplink data is transmitted to the base station. In general, radio frequency unit 701 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, and the like. In addition, the radio frequency unit 701 may also communicate with a network and other devices through a wireless communication system.
The electronic device provides wireless broadband internet access to the user via the network module 702, such as assisting the user in sending and receiving e-mails, browsing web pages, and accessing streaming media.
The audio output unit 703 may convert audio data received by the radio frequency unit 701 or the network module 702 or stored in the memory 709 into an audio signal and output as sound. Also, the audio output unit 703 may also provide audio output related to a specific function performed by the electronic apparatus 700 (e.g., a call signal reception sound, a message reception sound, etc.). The audio output unit 703 includes a speaker, a buzzer, a receiver, and the like.
The input unit 704 is used to receive audio or video signals. The input Unit 704 may include a Graphics Processing Unit (GPU) 7041 and a microphone 7042, and the Graphics processor 7041 processes image data of a still picture or video obtained by an image capturing device (e.g., a camera) in a video capturing mode or an image capturing mode. The processed image frames may be displayed on the display unit 706. The image frames processed by the graphic processor 7041 may be stored in the memory 709 (or other storage medium) or transmitted via the radio unit 701 or the network module 702. The microphone 7042 may receive sounds and may be capable of processing such sounds into audio data. The processed audio data may be converted into a format output transmittable to a mobile communication base station via the radio frequency unit 701 in case of a phone call mode.
The electronic device 700 also includes at least one sensor 705, such as a light sensor, motion sensor, and other sensors. Specifically, the light sensor includes an ambient light sensor that can adjust the brightness of the display panel 7061 according to the brightness of ambient light, and a proximity sensor that can turn off the display panel 7061 and/or a backlight when the electronic device 700 is moved to the ear. As one type of motion sensor, an accelerometer sensor can detect the magnitude of acceleration in each direction (generally three axes), detect the magnitude and direction of gravity when stationary, and can be used to identify the posture of an electronic device (such as horizontal and vertical screen switching, related games, magnetometer posture calibration), and vibration identification related functions (such as pedometer, tapping); the sensors 705 may also include fingerprint sensors, pressure sensors, iris sensors, molecular sensors, gyroscopes, barometers, hygrometers, thermometers, infrared sensors, etc., which are not described in detail herein.
The display unit 706 is used to display information input by the user or information provided to the user. The Display unit 706 may include a Display panel 7061, and the Display panel 7061 may be configured in the form of a Liquid Crystal Display (LCD), an Organic Light-Emitting Diode (OLED), or the like, where the Display panel 7061 is a screen of an electronic device, and the screen of the electronic device includes N regions, and a photosensitive sensor is correspondingly disposed under each region.
The user input unit 707 may be used to receive input numeric or character information and generate key signal inputs related to user settings and function control of the electronic device. Specifically, the user input unit 707 includes a touch panel 7071 and other input devices 7072. The touch panel 7071, also referred to as a touch screen, may collect touch operations by a user on or near the touch panel 7071 (e.g., operations by a user on or near the touch panel 7071 using a finger, a stylus, or any other suitable object or attachment). The touch panel 7071 may include two parts of a touch detection device and a touch controller. The touch detection device detects the touch direction of a user, detects a signal brought by touch operation and transmits the signal to the touch controller; the touch controller receives touch information from the touch sensing device, converts the touch information into touch point coordinates, sends the touch point coordinates to the processor 710, receives a command from the processor 710, and executes the command. In addition, the touch panel 7071 can be implemented by various types such as resistive, capacitive, infrared, and surface acoustic wave. The user input unit 707 may include other input devices 7072 in addition to the touch panel 7071. In particular, the other input devices 7072 may include, but are not limited to, a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, and a joystick, which are not described herein again.
Further, the touch panel 7071 may be overlaid on the display panel 7061, and when the touch panel 7071 detects a touch operation on or near the touch panel 7071, the touch operation is transmitted to the processor 710 to determine the type of the touch event, and then the processor 710 provides a corresponding visual output on the display panel 7061 according to the type of the touch event. Although the touch panel 7071 and the display panel 7061 are shown in fig. 11 as two separate components to implement the input and output functions of the electronic device, in some embodiments, the touch panel 7071 and the display panel 7061 may be integrated to implement the input and output functions of the electronic device, which is not limited herein.
The interface unit 708 is an interface for connecting an external device to the electronic apparatus 700. For example, the external device may include a wired or wireless headset port, an external power supply (or battery charger) port, a wired or wireless data port, a memory card port, a port for connecting a device having an identification module, an audio input/output (I/O) port, a video I/O port, an earphone port, and the like. The interface unit 708 may be used to receive input (e.g., data information, power, etc.) from an external device and transmit the received input to one or more elements within the electronic apparatus 700 or may be used to transmit data between the electronic apparatus 700 and the external device.
The memory 709 may be used to store software programs as well as various data. The memory 709 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required by at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may store data (such as audio data, a phonebook, etc.) created according to the use of the cellular phone, and the like. Further, the memory 709 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
The processor 710 is a control center of the electronic device, connects various parts of the whole electronic device by using various interfaces and lines, performs various functions of the electronic device and processes data by running or executing software programs and/or modules stored in the memory 709 and calling data stored in the memory 709, thereby monitoring the whole electronic device. Processor 710 may include one or more processing units; preferably, the processor 710 may integrate an application processor, which mainly handles operating systems, user interfaces, application programs, etc., and a modem processor, which mainly handles wireless communications. It will be appreciated that the modem processor described above may not be integrated into processor 710.
The electronic device 700 may also include a power supply 711 (e.g., a battery) for providing power to the various components, and preferably, the power supply 711 may be logically coupled to the processor 710 via a power management system, such that functions of managing charging, discharging, and power consumption may be performed via the power management system.
In addition, the electronic device 700 includes some functional modules that are not shown, and are not described in detail herein.
Preferably, an embodiment of the present invention further provides an electronic device, which includes a processor 710, a memory 709, and a computer program stored in the memory 709 and capable of running on the processor 710, where the computer program is executed by the processor 710 to implement each process of the above-mentioned shooting prompting method embodiment, and can achieve the same technical effect, and in order to avoid repetition, details are not described here again.
The embodiment of the present invention further provides a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the computer program implements each process of the above-mentioned embodiment of the shooting prompting method, and can achieve the same technical effect, and in order to avoid repetition, details are not repeated here. The computer-readable storage medium may be a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
Through the above description of the embodiments, those skilled in the art will clearly understand that the method of the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but in many cases, the former is a better implementation manner. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which is stored in a storage medium (such as ROM/RAM, magnetic disk, optical disk) and includes instructions for enabling a terminal (such as a mobile phone, a computer, a server, an air conditioner, or a network device) to execute the method according to the embodiments of the present invention.
While the present invention has been described with reference to the embodiments shown in the drawings, the present invention is not limited to the embodiments, which are illustrative and not restrictive, and it will be apparent to those skilled in the art that various changes and modifications can be made therein without departing from the spirit and scope of the invention as defined in the appended claims.