A photographing method and an electronic device
By responding to the user's shooting preparation actions, the camera automatically captures an image and provides the first image. By combining shooting modes and user habits, it solves the problem of inconsistent images caused by user reaction time, thus improving the efficiency of the camera and the user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2024-12-03
- Publication Date
- 2026-06-05
AI Technical Summary
During the shooting process, the user's reaction time causes the scene recorded by the shooting device to be inconsistent with the scene the user expects to record, affecting the user experience. In addition, existing technologies have problems with latency and storage memory usage.
The camera responds to the user's shooting preparation actions, automatically captures an image and provides the first image as feedback. It also generates appropriate shooting instructions based on the shooting mode and user habits, reducing response delay and storage memory usage.
It improves the acquisition efficiency of the shooting equipment and the user experience, ensures that the feedback image presents the scene expected by the user, and reduces latency and storage memory consumption.
Smart Images

Figure CN122160615A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of terminal technology, and in particular to a shooting method and electronic device. Background Technology
[0002] As shooting equipment becomes increasingly portable, its popularity in people's lives has also increased, and people have become accustomed to using it to record life and capture beautiful moments. However, beautiful moments in life are often fleeting. In the actual shooting process, users need to observe the beautiful scene they want to record and then control the shooting device to take the picture by performing a shooting action.
[0003] However, from the moment a user observes the beautiful scene they want to record, to the moment they take the picture, and then to the moment they control the camera to complete the shot, there is a reaction time involved. Therefore, the scene actually recorded by the camera after the user takes the picture is not the scene the user observed. This makes it impossible for the user to accurately record the scene they expect to record, thus affecting the user experience. Summary of the Invention
[0004] This application provides a shooting method and an electronic device that can assist the user in acquiring a first image before the user performs the shooting action. This can help the user complete the shooting of the first image, improve the acquisition efficiency of the shooting device, and thus enhance the user experience.
[0005] To achieve the above objectives, the embodiments of this application adopt the following technical solutions:
[0006] Firstly, a shooting method is provided, utilizing a shooting device. In this method, firstly, the shooting device, in response to a user's shooting preparation action, captures a first image; secondly, the shooting device, in response to acquiring the first shooting action, feeds back the first image. This allows the device to assist the user in capturing the first image based on their shooting preparation action. Because the user does not need to perform the shooting action during this process, the impact of reaction delays during the user's shooting action on the output image is reduced, ensuring that the first image fed back to the user presents the scene the user expects to record. Furthermore, the first image can be fed back to the user immediately upon performing the shooting action, thereby improving both the acquisition efficiency of the shooting device and the user experience.
[0007] Among them, the shooting preparation actions include the actions taken by the user to adjust the shooting parameters of the shooting equipment before performing the first shooting action.
[0008] In one possible implementation of the first aspect, when the capturing device captures a first image in response to a shooting preparation action performed by the user, firstly, the capturing device generates a first shooting instruction carrying the expected shooting time in response to the shooting preparation action performed by the user; secondly, the capturing device captures the first image at the expected shooting time.
[0009] In this way, the timing of the shooting action can be regulated by the expected shooting time, and the actual shooting time of the shooting device can be delayed. This controls the shooting device to complete the shooting of the first image at the expected shooting time. As a result, the shooting device can avoid prematurely shooting the first image when it detects the shooting preparation action, which would not only fail to obtain the first image that the user is interested in, but also increase the memory occupied by the buffer storage.
[0010] In one possible implementation of the first aspect, when the capturing device generates a first capturing instruction in response to a capturing preparation action performed by the user, firstly, the capturing device obtains its current capturing mode; secondly, the capturing device receives the first action performed by the user; finally, the capturing device, in conjunction with its own capturing mode, determines whether the first action performed by the user can be regarded as a capturing preparation action in the currently used capturing mode; and if the capturing device determines that the first action is a capturing preparation action, it generates a first capturing instruction so that the capturing device captures a first image according to the first capturing instruction.
[0011] In different shooting modes, the shooting device has different shooting parameters.
[0012] In this way, when the shooting device assists the user in taking the first image, it can combine the actual shooting mode used by the user to more accurately capture the shooting preparation actions that are in line with the current shooting mode. This avoids accidentally triggering the shooting of the first image due to the wrong capture of shooting preparation actions that are not in line with the current shooting mode. As a result, it can avoid obtaining the first image that the user is not interested in and can also reduce the occupation of buffer memory.
[0013] In one possible implementation of the first aspect, when the capturing device determines that the first action is a shooting preparation action based on the shooting mode, and generates a first shooting instruction, firstly, the capturing device obtains the historical action set corresponding to the currently used shooting mode from at least one stored historical action set; then, when the capturing device determines that the first action is a shooting preparation action based on at least one historical preparation action recorded in the historical action set corresponding to the shooting mode, it obtains the shooting parameters suitable for acquiring the first image under the current shooting mode; finally, based on the obtained shooting parameters, it generates the first shooting instruction.
[0014] The historical action set includes at least one historical preparation action; the historical preparation action is the shooting preparation action that the user has performed in shooting mode.
[0015] In this way, combined with the shooting mode, the user's shooting preparation actions can be accurately captured, so as to avoid the problem of erroneous capture of shooting preparation actions. This can also avoid the problem of invalid first image acquisition caused by erroneous capture of shooting preparation actions, and reduce the response frequency of the shooting device and the amount of data processing of the shooting device.
[0016] In one possible implementation of the first aspect, firstly, the shooting device acquires the user's shooting log; secondly, the shooting device obtains from the acquired shooting log at least one historical shooting record generated by the user during historical shooting, and the second action corresponding to each historical shooting record; then, for each second action performed by the user during historical shooting, the number of times the user performs that second action is counted; finally, if the number of times the second action is performed is greater than a preset threshold, it indicates that the second action is a habitual preparatory action performed by the user before performing the shooting action. In this case, the second action is identified as a historical preparatory action and recorded in the historical action set corresponding to the current shooting mode, resulting in an updated historical action set. Thus, during subsequent use of the shooting device, the updated historical action set is used to identify whether the user has performed a shooting preparatory action.
[0017] The second action includes actions performed by the user before triggering the recording of historical shooting data, which are used to adjust the shooting parameters of the shooting device.
[0018] In one possible implementation of the first aspect, when the shooting device generates a first shooting instruction after determining that the first action is a shooting preparation action in conjunction with the shooting mode, firstly, the shooting device obtains a prediction model corresponding to the current shooting mode; secondly, the first action is used as the input of the prediction model, so that when the prediction model determines that the first action is a shooting preparation action, the shooting parameters suitable for acquiring the first image in the current shooting mode are obtained; finally, the first shooting instruction is generated based on the obtained shooting parameters.
[0019] In this way, the prediction model built into the shooting device can be used to predict whether the user is preparing to shoot and whether the user needs assistance in taking the first image. This can help the user accurately issue the first shooting command so that the first image obtained can present the scene that the user expects to record.
[0020] In one possible implementation of the first aspect, when the shooting device responds to acquiring a first shooting action and feeds back a first image, firstly, when the shooting device responds to acquiring the first shooting action, it acquires the generation time (click1) of the first shooting instruction generated by the shooting device and the acquisition time (click2) of the first shooting action; secondly, it compares the generation time and the acquisition time, and if the time difference between the acquisition time of the first shooting action (click2) and the generation time of the first shooting instruction (click1) is less than a time difference threshold (δ), then it feeds back the first image to the user.
[0021] This avoids providing users with images they don't want.
[0022] In one possible implementation of the first aspect, firstly, the shooting device acquires the user's shooting log; secondly, the shooting device acquires at least one historical shooting record generated by the user during the historical shooting process and the second action corresponding to each historical shooting record from the acquired shooting log; then, the second action corresponding to each historical shooting record is used as the input feature, and the triggering state of each historical shooting record is used as the output feature to train the prediction model in real time, so as to realize the real-time update of the prediction model, thereby obtaining the updated prediction model, so that in the subsequent use of the shooting device, the updated prediction model can be used to determine whether the user has performed the shooting preparation action.
[0023] The second action includes actions performed by the user before triggering the recording of historical shooting data, which are used to adjust the shooting parameters of the shooting device.
[0024] In this way, during the use of the shooting equipment, the shooting habits learned by the shooting equipment (such as the shooting preparation actions that the user habitually performs) become closer and closer to the shooting habits of the user who owns the shooting equipment. As a result, it can help the user capture the desired image without increasing the storage memory of the shooting equipment.
[0025] In one possible implementation of the first aspect, when the capturing device captures the first image, firstly, the capturing device acquires the second image; secondly, the second image is processed according to the imaging basic parameters included in the first capturing instruction corresponding to the capturing preparation action, so as to obtain the first image that can be used to provide feedback to the user.
[0026] In this way, image processing can be completed before the user takes a picture, generating a first image that can be fed back to the user. Then, after the user takes a picture, the first image that has been processed can be fed back to the user immediately, so as to achieve the purpose of "instant capture".
[0027] In one possible implementation of the first aspect, when the capturing device returns the first image, the capturing device may save the first image to the storage area of the capturing device to present it to the user when the user views the captured image, and / or display the first image in the preview screen of the capturing device.
[0028] In this way, after the user performs the shooting action, feedback can be given to the user in various forms, thereby enriching the forms of feedback to the user. Furthermore, the first image captured by the user can be fed back to the user in a timely manner without affecting the user's normal shooting.
[0029] In one possible implementation of the first aspect, a preview page is displayed on the shooting device, the preview page being used to display a preview image; the shooting preparation actions include at least one of the following: clicking the preview image to focus, switching the shooting mode, and adjusting the shooting parameters.
[0030] In one possible implementation of the first aspect, the shooting device includes a shooting button, a volume button, and a power button; a preview page displays shooting controls; and a first shooting action includes at least one of the following: clicking the shooting control to trigger an image shooting action, pressing the shooting button to trigger an image shooting action, pressing the volume button to trigger an image shooting action, pressing the power button to trigger an image shooting action, using voice to trigger an image shooting action, or using gestures to trigger an image shooting action.
[0031] In one possible implementation of the first aspect, the shooting parameters include the expected shooting time and imaging fundamental parameters; the imaging fundamental parameters include at least one of the following: resolution, shutter speed, dynamic range, frame rate, focal length, pixel size, white balance parameters, signal-to-noise ratio, image stabilization parameters, exposure compensation parameters, ISO, aperture parameters, color, color temperature, and brightness.
[0032] In a second aspect, an electronic device is provided, the electronic device including a memory and one or more processors; the memory is coupled to the processors; wherein the memory stores computer program code, the computer program code including computer instructions, and when the computer instructions are executed by the processor, the electronic device performs the shooting method as described in the first aspect and any implementation thereof.
[0033] Thirdly, a computer-readable storage medium is provided, including computer instructions that, when executed on an electronic device, cause the electronic device to perform the photographing method as described in the first aspect and any implementation thereof.
[0034] Fourthly, a computer program product is provided that, when run on an electronic device, causes the electronic device to execute the shooting method as described in the first aspect and any of its implementations.
[0035] The beneficial effects that the electronic device provided in the second aspect, the computer-readable storage medium provided in the third aspect, and the computer program product provided in the fourth aspect can achieve are similar to the beneficial effects that can be achieved in the first aspect and any of its implementations, and will not be repeated here. Attached Figure Description
[0036] Figure 1 This illustration shows a schematic diagram of a conventional shooting process provided in an embodiment of this application;
[0037] Figure 2 This illustration shows one of the photographing processes provided in an embodiment of this application;
[0038] Figure 3 This illustration shows a schematic diagram of a shooting device setup scenario provided in an embodiment of this application;
[0039] Figure 4 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of this application is shown;
[0040] Figure 5 A schematic diagram of the software structure of an electronic device provided in an embodiment of this application is shown;
[0041] Figure 6 A flowchart of a shooting method provided in an embodiment of this application is shown;
[0042] Figure 7 This illustration shows a preview page diagram provided in an embodiment of this application;
[0043] Figure 8 This is a second schematic diagram of a shooting process provided in an embodiment of this application;
[0044] Figure 9 This illustration shows a third schematic diagram of a shooting process provided in an embodiment of this application;
[0045] Figure 10 This illustration shows one of the shooting triggering diagrams provided in an embodiment of this application;
[0046] Figure 11 This illustration shows a second schematic diagram of a shooting trigger provided in an embodiment of this application;
[0047] Figure 12 This illustration shows a schematic diagram of a shooting process provided in an embodiment of this application;
[0048] Figure 13 This illustration shows a benefit diagram provided by an embodiment of this application;
[0049] Figure 14 This illustration shows a delay diagram provided by an embodiment of this application;
[0050] Figure 15 A schematic diagram of the hardware structure of another electronic device provided in an embodiment of this application is shown. Detailed Implementation
[0051] The technical solutions of the embodiments of this application will be described below with reference to the accompanying drawings. In the description of this application, unless otherwise stated, " / " indicates that the objects before and after are in an "or" relationship. For example, A / B can represent A or B. "And / or" in this application is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone, where A and B can be singular or plural. Furthermore, in the description of this application, unless otherwise stated, "multiple" refers to two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple. Furthermore, to facilitate a clear description of the technical solutions in the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish identical or similar items with substantially the same function and effect. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and that "first" and "second" are not necessarily different. Meanwhile, in the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is being used as an example, illustration, or description. Any embodiment or design scheme described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of terms such as "exemplary" or "for example" is intended to present related concepts in a concrete manner for ease of understanding.
[0052] Furthermore, the business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided by the embodiments of this application. As those skilled in the art will know, with the emergence of new business scenarios, the technical solutions provided by the embodiments of this application are also applicable to similar technical problems.
[0053] With the development of intelligent and portable shooting equipment, these devices can now be used on electronic devices such as mobile phones and tablets, as well as portable imaging devices such as micro-cameras and SLR cameras. It is precisely because of this increasing portability that shooting equipment has become more prevalent in people's lives, and people are gradually becoming accustomed to using it to record life and capture its beautiful moments.
[0054] The following combination Figure 1 The standard shooting process for users is explained. A "physical world change timeline" is used to represent the passage of time and the sequence of scenes in the physical world. As can be seen from the physical world change timeline, scene 0, scene 1, scene 2, and so on, gradually appear in the physical world.
[0055] A "shooting action execution timeline" is used to represent the passage of time in the physical world and the execution sequence of the user's shooting actions. After observing scene 1, the user performs the first shooting action. Since the user needs reaction time, it can be seen from the shooting action execution timeline that the moment the user performs the first shooting action for scene 1 occurs is later than the moment scene 1 occurs.
[0056] A "command generation timeline" is used to represent the passage of time in the physical world and the generation sequence of shooting commands in the shooting device. The shooting device responds to the user's first shooting action by generating a second shooting command. As can be seen from the command generation timeline, the generation time of the second shooting command is later than the execution time of the first shooting action.
[0057] A "shooting process timeline" is used to represent the passage of time in the physical world and the execution sequence of the device's shooting actions. The shooting device responds to the shooting command and executes the second shooting action for scene 1. As can be seen from the shooting process timeline, the execution time of the second shooting action is later than the generation time of the second shooting command.
[0058] An "image output timeline" is used to represent the passage of time in the physical world and the order in which images are output. The imaging device performs a second shooting action, capturing the first image. Since image processing is involved between the completion of image capture and the output of the image, the output timeline shows that the output of the first image occurs later than the execution of the second shooting action.
[0059] In the aforementioned conventional shooting process, from the user observing the scene 1 they want to record, to the user performing the first shooting action, and then to the shooting device performing the second shooting action to complete the image capture, there is a user reaction delay. Therefore, the scene presented in the first image actually captured by the user through the shooting device should be the scene that appears after scene 1, and not the scene 1 that the user wants to record. It is evident that the user cannot accurately record the first image that presents scene 1, thus affecting the user experience.
[0060] Furthermore, in addition to the existing response delay, the imaging device needs to further process the captured image after it has captured the image. For example, it needs to convert the acquired optical signals into analog / digital signals to obtain a first image that can be output. Therefore, in a conventional shooting process, from the time the imaging device completes the image capture to the time it sends the captured image back to the user, there is also a processing delay caused by the image processing process. In other words, after the user performs the first shooting action, they still need to wait a certain amount of time before they can obtain the image they captured.
[0061] Currently, users can use two shooting methods: press-to-shoot and low-latency frame selection shooting. Press-to-shoot refers to the user controlling the shooting device to capture an image by pressing a virtual control or physical button. In this method, the reaction time of the user pressing the virtual control or physical button causes a shooting delay, thus preventing the capture of the scene the user wants to record. For example... Figure 2 As shown, the images obtained by the user do not capture the scene the user intended to record.
[0062] Low-latency frame-selection shooting refers to a shooting method that captures images or videos at a lower frame rate and then plays them back at a normal or faster rate. In this method, the user still needs to press virtual controls or physical buttons to trigger image capture, thus the shooting latency issue remains. Furthermore, during low-latency frame-selection shooting, the shooting device's buffer rotates, increasing the device's power consumption and buffer memory usage.
[0063] Based on the above, this application provides a shooting method. First, the shooting device monitors the shooting-related actions performed by the user, so as to automatically capture the first image when the user performs the shooting preparation action; then, when the user performs the first shooting action of requesting to acquire the first image, the acquired first image is directly fed back to the user. Thus, this application combines the shooting preparation actions performed by the user to assist the user in capturing the first image. Because the user does not need to perform the shooting action during the process of assisting the user in capturing the first image, the impact of the reaction delay that exists when the user performs the shooting action on the output image can be reduced, ensuring that the first image fed back to the user can present the wonderful scene observed by the user, such as... Figure 3 As shown. This improves the user's shooting experience.
[0064] Furthermore, after capturing an image, the camera performs image processing to obtain a first image that can be displayed to the user. Therefore, the processed first image can be immediately displayed to the user as soon as the user performs the initial shooting action, thus achieving real-time display of the first image. Figure 3 As shown. In this way, by improving the output efficiency of the first image, the acquisition efficiency of the imaging device is further improved.
[0065] The shooting device can be a mobile phone, tablet computer, portable imaging device, head-mounted display device, laptop computer, or other portable electronic device with shooting capabilities. Head-mounted display devices can include virtual reality devices, augmented reality devices, and mixed reality devices. Portable imaging devices can include digital cameras, film cameras, and instant cameras. Digital cameras can include compact cameras, single-lens reflex (SLR) digital cameras, and point-and-shoot cameras.
[0066] The electronic device 100 involved in the above-described shooting method provided in this application embodiment can be found in [reference needed]. Figure 4 As shown. Electronic device 100 may include processor 110, external memory interface 120, internal memory 121, universal serial bus (USB) interface 130, charging management module 140, power management module 141, battery 142, antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, microphone 170, sensor module 180, button 190, camera 191, display screen 192, etc. The sensor module 180 may include pressure sensor 180A, gyroscope sensor 180B, barometric pressure sensor 180C, proximity sensor 180D, ambient light sensor 180E, touch sensor 180F, etc.
[0067] It is understood that the structures illustrated in the embodiments of this application do not constitute a specific limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements.
[0068] 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.
[0069] The controller can be the nerve center and command center of the electronic device 100. The controller can generate operation control signals according to the instruction opcode and timing signals to complete the control of fetching and executing instructions.
[0070] The processor 110 may also include a 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.
[0071] USB port 130 is a USB standard compliant interface, specifically a Mini USB port, Micro USB port, USB Type-C port, etc. USB port 130 can be used to connect a charger to charge electronic device 100, and can also be used for data transfer between electronic device 100 and peripheral devices. It can also be used to connect headphones for audio playback. This interface can also be used to connect other electronic devices, such as AR devices.
[0072] 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 the USB interface 130. In some wireless charging embodiments, the charging management module 140 receives wireless charging input via the wireless charging coil of the electronic device 100. While charging the battery 142, the charging management module 140 can also supply power to the electronic device via the power management module 141.
[0073] The power management module 141 connects 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, providing power to the processor 110, internal memory 121, external memory, display screen 192, camera 191, and wireless communication module 160, etc. The power management module 141 can also monitor parameters such as battery capacity, battery cycle count, and battery health status (leakage current, impedance). In some other embodiments, the power management module 141 may also be located within the processor 110. In other embodiments, the power management module 141 and the charging management module 140 may be located in the same device.
[0074] The wireless communication function of electronic device 100 can be realized through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor, etc.
[0075] Electronic device 100 implements display functions through a GPU, display screen 192, etc. The GPU is a microprocessor for image processing, connected to the display screen 192. The GPU is used to perform mathematical and geometric calculations for graphics rendering. Processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information.
[0076] The display screen 192 is used to display images, videos, etc., for example, to display a first image to a user. In some embodiments, the electronic device 100 may include one or N display screens 192, where N is a positive integer greater than 1.
[0077] Electronic device 100 can perform shooting functions through ISP, camera 191, video codec, GPU, display 192 and application processor.
[0078] The ISP is used to process the data fed back by the camera 191. In some embodiments, the ISP may be located in the camera 191.
[0079] Camera 191 is used to capture still images or videos. In some embodiments, electronic device 100 may include one or N cameras 191, where N is a positive integer greater than 1.
[0080] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100. The external memory card communicates with the processor 110 through the external memory interface 120 to perform data storage functions. For example, files such as a first image can be saved on the external memory card.
[0081] 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 electronic device 100 by running the instructions stored in internal memory 121. Internal memory 121 may include a program storage area and a data storage area.
[0082] Electronic device 100 can capture images by receiving voice commands through microphone 170.
[0083] Microphone 170, also known as a "microphone" or "voice transducer," is used to convert sound signals into electrical signals. When making a phone call or sending a voice message, the user can speak by bringing their mouth close to microphone 170, inputting sound signals into microphone 170; alternatively, the user can issue voice commands through microphone 170 to trigger image capture. Electronic device 100 may be equipped with at least one microphone 170.
[0084] Pressure sensor 180A is used to sense pressure signals and can convert the pressure signals into electrical signals. In some embodiments, pressure sensor 180A can be disposed on display screen 192. There are many types of pressure sensors 180A, such as resistive pressure sensors, inductive pressure sensors, and capacitive pressure sensors. A capacitive pressure sensor may include at least two parallel plates with conductive material. When a force is applied to pressure sensor 180A, the capacitance between the electrodes changes. Electronic device 100 can also calculate the touch position based on the detection signal from pressure sensor 180A, and determine the user's action related to filming based on the user's touch position.
[0085] The gyroscope sensor 180B can be used to determine the motion attitude of the electronic device 100. In some embodiments, the angular velocity of the electronic device 100 about three axes (i.e., the x, y, and z axes) can be determined by the gyroscope sensor 180B. The gyroscope sensor 180B can be used for image stabilization.
[0086] A barometric pressure sensor 180C is used to measure air pressure. In some embodiments, the electronic device 100 estimates the shooting environment in which the user is located using the air pressure value measured by the barometric pressure sensor 180C.
[0087] A distance sensor 180D is used to measure distance. The electronic device 100 can measure distance using infrared or laser. In some embodiments, during a shooting scene, the electronic device 100 can utilize the distance sensor 180D to measure distance for rapid focusing.
[0088] The ambient light sensor 180E is used to sense the ambient light intensity. The electronic device 100 can adaptively adjust the brightness of the display screen 192 according to the sensed ambient light intensity. The ambient light sensor 180E can also be used to automatically adjust the white balance when taking pictures.
[0089] Touch sensor 180F, also known as a "touch panel," can be located on display screen 192. The touch sensor 180F and display screen 192 together form a touchscreen, also known as a "touch screen." Touch sensor 180F detects touch operations applied to or near it. The touch sensor can transmit the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through display screen 192. In other embodiments, touch sensor 180F may also be located on the surface of electronic device 100, in a different position than display screen 192.
[0090] Buttons 190 include a power button, volume buttons, and a shutter button. Buttons 190 can be mechanical buttons or touch buttons. Electronic device 100 can receive button input and generate key signal inputs related to user settings and function control of electronic device 100.
[0091] The electronic device 100 provided in this application embodiment can run an operating system (OS). This operating system can be various operating systems used in the industry, such as an operating system based on OpenHarmony, like HarmonyOS; or other operating systems such as Android. TM An operating system can be the iOS mobile operating system; it can also be various open-source operating systems or their derivatives, such as Linux OS, and other embedded operating systems; it can also be a future new type of operating system, such as an AI operating system based on artificial intelligence. An operating system is a set of interconnected system software programs that manage and control the operation of an electronic device 100, utilize and run hardware and software resources, and provide public services to organize user interaction. In an electronic device 100, the operating system connects downwards to the physical devices at the hardware layer and upwards to provide a runtime environment for application software.
[0092] An operating system typically includes a kernel layer, a middleware layer, and an application layer. The application layer includes applications, which can include system applications and third-party applications. The middleware layer includes a suite of software providing various services to application developers, or frameworks providing services such as databases, multimedia, and graphics, or capabilities such as distributed scheduling and system scaling. For example, the middleware layer may include a framework layer and / or a system service layer. The framework layer provides application programming interfaces (APIs) and programming frameworks for applications in the application layer. The system service layer includes the system's core capabilities, providing services to applications through the framework layer. The kernel layer is the layer between hardware and software. The kernel layer may include hardware drivers and the operating system kernel. In addition to providing hardware drivers, the kernel layer also supports functions such as memory management and system process management.
[0093] The electronic devices 100 used in our daily lives come in various types and forms, and are applied in a wide range of scenarios. Therefore, based on the different forms and functions of the electronic devices 100, different application scenarios, and different user needs, the operating systems used in the electronic devices 100 may also be different. The basic functions implemented by the electronic device 100 provided in this application can be implemented using a general-purpose operating system or a dedicated operating system. To more clearly illustrate the implementation of the embodiments of this application under a specific operating system, the architecture of HarmonyOS is shown below. Those skilled in the art can deduce the implementation of the embodiments of this application under other specific operating systems, such as Android. TM Implementation under operating systems, etc.
[0094] The software architecture of electronic device 100 can be divided into several layers. In some embodiments, such as... Figure 5 As shown, from bottom to top, the layers are: kernel layer, system service layer, framework layer, and application layer. Layers communicate with each other through software interfaces. System functions can be tailored, added, or combined at the subsystem level depending on the deployment scenario of different device types, and each subsystem can also be tailored, added, or combined at the functional level.
[0095] Kernel layer:
[0096] The kernel abstract layer (KAL) provides basic kernel capabilities to upper layers by shielding the differences between multiple kernels, including but not limited to process / thread management, memory management, file system, network management, and peripheral device management.
[0097] Kernel Subsystem: Supports the selection of a suitable OS kernel for different resource-constrained devices, including but not limited to Linux kernel, HarmonyOS kernel, LiteOS (Lite Operating System), etc.
[0098] Driver Subsystem: The driver framework is the foundation for the open system hardware ecosystem, providing unified peripheral access capabilities and a framework for driver development and management. The driver framework includes: display drivers, camera drivers, audio drivers, Bluetooth drivers, sensor drivers, etc.
[0099] System service layer:
[0100] The system service layer comprises the core capabilities of the system, providing services to applications through the framework layer. This layer includes, but is not limited to, a set of subsystems.
[0101] The system's basic capability subsystem set provides fundamental capabilities for the operation, scheduling, and migration of distributed applications across multiple devices. This set may include distributed soft bus, distributed data management, distributed task scheduling, and Ark multi-language runtime; it may also include multi-modal input subsystem, graphics subsystem, security subsystem, and AI business subsystem.
[0102] Basic software service subsystem set: provides public and general software services; the basic software service subsystem set may include event notification subsystem, telephone subsystem, multimedia subsystem, etc.
[0103] Enhanced software service subsystem suite: Provides differentiated enhanced software services for different devices; the enhanced software service subsystem suite may include smart screen proprietary business subsystem, wearable proprietary business subsystem, IoT proprietary business subsystem, etc.
[0104] Hardware service subsystem set: Provides hardware services; the hardware service subsystem set may include location service subsystem, unified identity and access management (IAM) subsystem, wearable proprietary hardware service subsystem, biometric identification, IoT proprietary hardware service subsystem, etc.
[0105] Distributed task scheduling enables distributed service management (discovery, synchronization, registration, and invocation), supporting remote startup, remote invocation, remote connection, and migration of applications across devices.
[0106] Distributed data management enables data synchronization, data storage, data sharing, and data access across all scenarios and devices.
[0107] The distributed soft bus provides communication-related capabilities for seamless interconnection between multiple devices, including: WLAN service capabilities, Bluetooth service capabilities, soft bus, inter-process communication (remote procedure call, RPC), and StarFlash communication capabilities.
[0108] Ark Multilingual Runtime is a unified compilation runtime platform designed to support the joint compilation and execution of multiple programming languages and multiple chip platforms.
[0109] Framework layer:
[0110] The framework layer provides application programming interfaces (APIs) and programming frameworks for applications in the application layer. The framework layer includes: the ArkUI framework (which provides a complete infrastructure for UI development of system applications, including UI functions such as components, layouts, animations, and interactive events, as well as a real-time interface preview tool), the user application framework, and the Ability framework (an Ability is a lightweight application; the Ability framework schedules and manages the operation and lifecycle of Abilities). Different devices may have different operating systems, and the APIs they support may also differ.
[0111] The HarmonyOS API is a series of open capabilities provided to support HarmonyOS application development. The HarmonyOS API can be set at the framework layer or independently of the framework layer. The HarmonyOS API includes the Audio API (audio service), Push API (push service), and Account API (account service), among others.
[0112] Application layer:
[0113] Applications can include system apps and extended / third-party apps. System apps can include the desktop, control bar, settings, contacts, phone, camera, etc., while extended / third-party apps can include social apps, travel apps, etc.
[0114] The following describes the shooting method provided in the embodiments of this application. In some embodiments, such as Figure 6 As shown, the method may include the following steps S601-S602.
[0115] S601, The shooting device responds to the shooting preparation action performed by the user and captures the first image.
[0116] Among them, shooting preparation actions are the actions that users habitually perform before taking the first shot to adjust the shooting parameters of the shooting device. Shooting preparation actions can reflect whether the user has the intention to shoot. Different users have different habitual shooting preparation actions. For example, user A is accustomed to performing a shooting preparation action of manually clicking to focus before taking the first shot; user B is accustomed to performing a shooting preparation action of adjusting the brightness before taking the first shot.
[0117] Users can adjust the shooting parameters of the camera in at least two ways: First, by adjusting the spatial position of the camera. Second, by adjusting the camera's built-in parameters.
[0118] Adjusting the spatial position of the shooting equipment can include adjusting the angle, position, and height of the shooting equipment.
[0119] As mentioned above, the shooting preparation action can be a single operation performed by the user, or a combination of multiple single operations.
[0120] In some examples, a preview page is displayed on the shooting device to display a preview image; the preview image refers to the image presented by at least one object within the acquisition range of the shooting device (e.g., a camera) at the current shooting moment.
[0121] When the shooting preparation action is a single operation, it includes at least one of the following: tapping the preview image to focus, switching shooting modes, or adjusting shooting parameters. For example, the user tapping the preview image to focus with their finger... Figure 7 As shown in (a), the user's action of switching the shooting mode to "Night Scene" mode is as follows. Figure 7 As shown in (b). Taking the aperture parameter as the shooting parameter as an example, the user's action of adjusting the aperture parameter (F) is as follows: Figure 7 As shown in (c).
[0122] When the shooting preparation action is a combination of multiple single operation actions, the shooting preparation action includes at least one of the following: clicking the preview image to focus and adjust the shooting parameters, clicking the preview image to focus and switch the shooting mode, switching the shooting mode and adjusting the shooting parameters, and clicking the preview image to focus, switching the shooting mode and adjusting the shooting parameters.
[0123] The shooting parameters include the expected shooting time and basic imaging parameters. The basic imaging parameters refer to the parameters that the user can adjust during the shooting process to change the image imaging effect. The basic imaging parameters include at least one of the following: resolution, shutter speed, dynamic range, frame rate, focal length, pixel size, white balance parameters, signal-to-noise ratio, image stabilization parameters, exposure compensation parameters, ISO, aperture parameters, color, color temperature, and brightness.
[0124] In this way, the shooting device can be integrated with the user's shooting preparation actions, assisting the user in capturing the first image even without the user performing any shooting action. Because the user does not need to perform any shooting action during the process of assisting in capturing the first image, the impact of the reaction delay that exists when the user performs shooting action on the output image is reduced, ensuring that the first image fed back to the user presents the scene the user expects to record, such as... Figure 8 As shown.
[0125] In some implementations, when the capturing device captures the first image in response to a user's shooting preparation action, firstly, the capturing device determines the expected shooting time of the first image in response to the user's shooting preparation action, and adds the expected shooting time to the shooting instruction in the form of a timestamp to generate a first shooting instruction; secondly, the capturing device completes the capture of the first image at the expected shooting time indicated by the first shooting instruction.
[0126] The expected shooting time can be the time when the first shooting command is generated, or it can be a time determined after the generation time based on the current shooting mode of the shooting device and / or the position of the target object in the preview screen.
[0127] If the expected shooting time is the same as the time the first shooting command is generated, the shooting device will immediately execute the action of capturing the first image after generating the first shooting command, so that the acquired first image presents the scene that appeared at the time the first shooting command was generated. If the expected shooting time is determined based on the shooting mode and / or the position of the target object, the shooting device will delay for a period of time after generating the first shooting command, and then execute the action of capturing the first image at the expected shooting time, so that the acquired first image presents the scene that appeared at the expected shooting time. Figure 9 As shown.
[0128] In this way, the timing of the shooting action can be regulated by the expected shooting time. In some cases, the actual shooting time of the shooting device can be delayed, and the shooting device can be controlled to complete the shooting of the first image at the expected shooting time. This can further ensure that the first image obtained can present the scene that the user wants, and avoid the problem that the shooting device will immediately execute the shooting of the first image when it detects the shooting preparation action, which will result in the inability to obtain the first image that the user is interested in, and will also increase the memory occupation of the buffer memory.
[0129] In some implementations, when determining the expected shooting time based on the current shooting mode of the shooting device, the shooting device first obtains the user's historical shooting intervals in the current shooting mode. Secondly, combining the generation time of the first shooting command and the historical shooting intervals, the time that is after the generation time of the first shooting command and differs from the generation time of the first shooting command by the historical shooting interval is determined as the expected shooting time of the shooting device.
[0130] For example, the historical shooting interval is the average time interval between the historical preparation action and the historical shooting action during each historical shooting process when the user uses the current shooting mode.
[0131] For example, in three historical shooting processes using "Sports Mode", the execution time interval between historical preparation action 1 and historical shooting action 1 in historical shooting process 1 is 1 second, the execution time interval between historical preparation action 2 and historical shooting action 2 in historical shooting process 2 is 1.6 seconds, and the execution time interval between historical preparation action 3 and historical shooting action 3 in historical shooting process 3 is 1.3 seconds. Therefore, the historical shooting interval corresponding to "Sports Mode" can be determined as: (1s + 1.6s + 1.3s) / 3 = 1.3s.
[0132] In other implementations, when determining the expected shooting time based on the target object's position, the capturing device first identifies the target object to be tracked from the preview screen. Second, based on the user's historical image capture data, it determines the target display position of the target object in the first image. Then, based on the target object's current position and movement speed in the preview screen, it determines the target time when the target object moves to the target display position. Finally, it determines the target time as the expected shooting time.
[0133] The speed at which the target object moves in the preview image can refer to: the speed at which the target object moves when the shooting device remains stationary; the speed at which the shooting device moves when the target object remains stationary; or the speed at which the target object moves relative to the shooting device when both the target object and the shooting device are moving.
[0134] The target object can be displayed at any location within the first image. This arbitrary location could be the center of the first image, or it could be determined by analyzing the user's historical image captures, based on user habits, to determine the target object's display location.
[0135] For example, taking a "person" as the target object, during the user's historical photography of "people," the image capture is typically triggered when the person moves to the center of the preview image, ensuring the person's display position is centered within the image. Therefore, when the target object is a "person," the target display position is the center of the first image. Similarly, taking a "bird" as the target object, during the user's historical photography of "birds," the image capture is typically triggered when the bird moves to the upper left of the preview image, ensuring the bird's display position is also in the upper left corner. Again, when the target object is a "bird," the target display position is the upper left corner of the first image.
[0136] In other embodiments, when the capturing device determines the expected shooting time based on the target object's current shooting mode and its position in the preview image, it first identifies the target object to be tracked in the current shooting mode from the preview image. Secondly, considering the current shooting mode of the capturing device, it determines the target display position of the target object in the first image under the current shooting mode. Then, based on the target object's current position and movement speed in the preview image, it determines the target time when the target object moves to the target display position. Finally, it determines the target time as the expected shooting time.
[0137] There is a correspondence between the shooting mode and the target object. For example, when the shooting mode is portrait mode, the target object is a person; when the shooting mode is scene mode, the target object is an animal and / or plant, etc.
[0138] The location of the target object can be determined using an image recognition algorithm.
[0139] Therefore, by combining the shooting mode of the shooting device and the display position of the target object, the expected shooting time of the shooting device can be determined more reasonably.
[0140] In one implementation, when the shooting device generates a first shooting instruction in response to a shooting preparation action performed by the user, firstly, the shooting device obtains its current shooting mode; secondly, the shooting device receives the first action performed by the user; finally, the shooting device, in conjunction with its own shooting mode, determines whether the first action performed by the user can be regarded as a shooting preparation action in the currently used shooting mode; and if the shooting device determines that the first action is a shooting preparation action, it generates a first shooting instruction so that the shooting device can capture a first image according to the first shooting instruction.
[0141] The current shooting mode of the shooting device can be the default mode at the factory / when the device is powered on, or it can be selected by the user based on the shooting environment, or it can be automatically selected by the shooting device based on the shooting environment. "Shooting device leaving the factory" means that the shooting device has passed inspection and leaves the production line to enter the market.
[0142] In some embodiments, the shooting mode may include a shutter priority mode and a shooting mode. A shutter priority mode refers to the shooting mode built into the shooting device at the factory; shutter priority modes may include fully automatic mode (A+), aperture priority mode (Av), shutter priority mode (Tv), fully manual mode (M), flexible priority auto exposure mode (Fv), program auto exposure mode (P), creative filter mode mode, hybrid auto mode mode (A), or special scene mode mode (SCN), etc.
[0143] A photography mode refers to a mode related to the shooting environment of the shooting device. The photography mode can be selected by the user or automatically selected by the shooting device based on the shooting environment. Photography modes can include portrait mode, night scene mode, sports mode, macro mode, starry sky mode, landscape mode, snow mode, and cloudy mode, etc. Portrait mode can also include stage light mode, photographer's light mode, natural light mode, and contour light mode, etc.
[0144] The shooting device has different shooting parameters in different shooting modes; for example, in "Night Mode", the shooting device has an aperture of F / 1.2, a shutter speed of 1 / 125s, and an ISO of 3200; in "Sport Mode", the shooting device has an aperture of F / 5.6, a shutter speed of 1 / 1000s, and an ISO of 800; and in "Snow Mode", the shooting device has an aperture of F / 2.8, a shutter speed of 1 / 800s, and an ISO of 100.
[0145] For users, the pre-shooting actions differ depending on the shooting mode. For example, in low-light environments (e.g., at night), the camera should be used in "Night Mode." In Night Mode, to capture a high-quality image, the user would perform the pre-shooting action of "increasing the shooting brightness." Alternatively, when shooting portraits, the camera should be used in "Portrait Mode." To better blur the background and make the subject stand out, the user would perform the pre-shooting action of "increasing the aperture parameters." Or, if the user lacks shooting experience (and cannot select suitable shooting parameters), the camera should be used in "Auto Mode." In Auto Mode, the camera automatically sets the shooting parameters, and the user only needs to perform the pre-shooting action of "focusing."
[0146] Therefore, in this embodiment of the application, the shooting device will combine the current shooting mode to determine whether the first action is a shooting preparation action, so as to more accurately capture the shooting preparation action that conforms to the current shooting mode, avoid erroneously triggering the shooting of the first image due to the incorrect capture of the shooting preparation action that does not conform to the current shooting mode, thereby avoiding the acquisition of the first image that is not of interest to the user, and also reducing the occupation of buffer memory.
[0147] S602, The shooting device responds to the acquisition of the first shooting action and outputs the first image.
[0148] In some embodiments, the imaging device may be equipped with a capture button, a volume button, and a power button; the first capturing action includes at least one of the following: pressing the volume button to trigger image capture, pressing the power button to trigger image capture, or pressing the capture button to trigger image capture, such as... Figure 10 As shown in (a).
[0149] Alternatively, the camera's preview page displays shooting controls; the first shooting action may also include: clicking the shooting controls to trigger image capture, such as... Figure 10 As shown in (b).
[0150] Alternatively, the microphone on the shooting device can receive the user's voice information, and the first shooting action can also include: the action of voice triggering image capture, such as... Figure 11 As shown in (a).
[0151] Alternatively, the camera on the shooting device can receive the user's posture information, and the first shooting action can also include: the action of posture triggering image capture, such as... Figure 11 As shown in (b).
[0152] In one implementation, when the shooting device responds to acquiring a first shooting action and feeds back a first image, firstly, the shooting device, in response to acquiring the first shooting action, acquires the generation time (click1) of the first shooting instruction generated by the shooting device and the acquisition time (click2) of the first shooting action; secondly, it compares the generation time (click1) and the acquisition time (click2), and if the time difference between the acquisition time (click2) of the first shooting action and the generation time (click1) of the first shooting instruction is less than a time difference threshold (δ), then it feeds back the first image to the user.
[0153] Therefore, based on the generation time of the first shooting instruction (click1) and the acquisition time of the first shooting action (click2), it can be determined whether the first image needs to be fed back to the user. This is to avoid feeding back the first image to the user even when the user has not performed the first shooting action corresponding to the shooting preparation action, for example, when the time interval between the shooting preparation action and the first shooting action is greater than or equal to the time difference threshold, which would affect the user's operating experience and increase the data processing load of the shooting device.
[0154] The first shooting instruction is the instruction generated by the shooting device when it receives the shooting preparation action performed by the user.
[0155] In a typical shooting process, the user immediately takes the picture after completing the shooting preparation actions to capture the desired footage. Therefore, the time difference between the user's shooting preparation and shooting actions will not exceed the user's maximum reaction time. Thus, in some implementations, the time difference threshold (δ) can be set as the user's maximum reaction time.
[0156] However, in some special shooting situations, such as in "Sports Mode", in order to capture the desired moment during shooting while moving (or while shooting moving objects), the user will perform shooting preparation actions in advance. In this case, the time difference between the moment the user performs the shooting preparation action and the moment the shooting action is performed may exceed the user's limit reaction time.
[0157] Therefore, in some other implementations, the time difference threshold (δ) can be a time difference value set according to the user's shooting habits, such as the average difference between the time when the user performs the shooting preparation action and the time when the user performs the shooting action during historical shooting.
[0158] In some examples, when setting the time difference based on the user's shooting habits, firstly, the shooting device obtains at least one historical shooting record from the shooting log for the user in the current shooting mode; secondly, based on each historical shooting record, it determines the first execution time of the shooting action corresponding to this historical shooting record and the second execution time of the shooting preparation action corresponding to this historical shooting record; then, it determines the execution time difference between the first execution time and the second execution time for each historical shooting record; finally, based on the execution time difference corresponding to each historical shooting record, it determines the time difference threshold corresponding to the current shooting mode.
[0159] In this way, a reasonable time difference threshold (δ) can be set for different shooting modes. This allows for a more accurate prediction of the user's shooting intentions based on their shooting preparation actions, thereby better assisting the user in capturing images and improving the user experience.
[0160] In some embodiments, when identifying whether a first action is a shooting preparation action, the shooting device may adopt at least two identification methods: one is to determine whether the first action is a shooting preparation action based on a historical action set established in advance for each shooting mode; the other is to predict whether the first action is a shooting preparation action using a pre-trained prediction model.
[0161] In one implementation, when the capturing device determines whether a first action is a shooting preparation action based on a pre-established historical action set for each shooting mode, and generates a first shooting command, the capturing device first retrieves the historical action set corresponding to the currently used shooting mode from at least one stored historical action set. Then, if the capturing device determines that the first action is a shooting preparation action based on at least one historical preparation action recorded in the historical action set corresponding to the shooting mode, it retrieves the shooting parameters suitable for acquiring the first image under the current shooting mode. Finally, the capturing device generates the first shooting command based on the retrieved shooting parameters.
[0162] The historical action set includes at least one historical preparation action. A historical preparation action refers to a shooting preparation action performed by the user during historical shooting, while shooting in the current shooting mode. For example, during a user's historical shooting process, if the user repeatedly performed the "increase brightness" shooting parameter adjustment action while shooting in "Night Mode," triggering the shooting action, then "increase brightness" is considered a shooting preparation action performed by the user in "Night Mode"; that is, "increase brightness" is a historical preparation action in the historical action set corresponding to "Night Mode."
[0163] After acquiring the historical action set corresponding to the shooting mode, the shooting device can determine whether the first action is a shooting preparation action by comparing it one by one with each historical preparation action. For example, taking the shooting mode as "Night Scene Mode", the historical action set corresponding to "Night Scene Mode" includes three historical preparation actions: focusing, switching filter modes, and turning on the flash. In this case, if the user's first action is focusing, it can be determined that the user has performed a shooting preparation action in the current shooting mode; if the user's first action is turning off the flash, it can be determined that the user has not performed a shooting preparation action in the current shooting mode.
[0164] The first action can be a single operation performed by the user, such as a click to achieve focus; or it can be a combination of multiple operations, such as turning on the flash and adjusting the aperture size.
[0165] The aforementioned historical preparation actions can be a single operation performed by the user, such as a click operation to achieve focus; or they can be a combination of multiple operations, such as turning on the flash and adjusting the aperture size.
[0166] In this way, the user's shooting preparation actions can be accurately captured based on the historical action set corresponding to the shooting mode, so as to avoid the problem of incorrectly capturing shooting preparation actions. This can avoid the problem of invalid first image acquisition due to incorrect capture of shooting preparation actions, and also reduce the response frequency of the shooting device and reduce the data processing volume of the shooting device.
[0167] For a set of historical actions, the main processes involved are the establishment process and the update process.
[0168] In one implementation, when creating a historical action set, firstly, for each shooting mode, the shooting device acquires multiple sample shooting records generated by multiple sample users during the historical shooting process of using that shooting mode, as well as the fourth action corresponding to each sample shooting record. Then, for each fourth action performed by the user during the historical shooting process, the shooting device counts the number of times the user performs that fourth action. Finally, if the number of times the fourth action is performed exceeds a preset threshold, it indicates that the fourth action is a habitual preparatory action performed by the sample user before performing the actual shooting action when using that shooting mode; in this case, the fourth action can be identified as a historical preparatory action. Finally, based on the identified multiple historical preparatory actions, a historical action set for that shooting mode is formed.
[0169] In this way, a historical action set corresponding to each shooting mode can be generated, and the shooting device can immediately capture and recognize whether the user has performed shooting preparation actions after leaving the factory, thereby assisting the user in shooting.
[0170] In one implementation, when updating the created historical actions in real time, the camera first acquires the user's shooting log in the current shooting mode. Second, the camera retrieves at least one historical shooting record generated by the user during the historical shooting process from the shooting log in the current shooting mode, along with the second action corresponding to each historical shooting record. Then, for each second action performed by the user during the historical shooting process, the camera counts the number of times the user performed that second action. Finally, if the number of times the second action is performed exceeds a preset threshold, it indicates that the second action is a habitual preparatory action performed by the user before performing the shooting action. In this case, the camera identifies the second action as a historical preparatory action and records it in the historical action set corresponding to the current shooting mode, obtaining an updated historical action set. This updated historical action set is then used in subsequent use of the camera to determine whether the user has performed a shooting preparatory action.
[0171] The second action includes actions performed by the user before triggering the recording of historical shooting data, which are used to adjust the shooting parameters of the shooting device.
[0172] The methods for obtaining user shooting logs include at least the following: First, the shooting device can obtain the user's shooting logs by reading its own recorded historical shooting information; second, the shooting device can communicate with other shooting devices used by the user to obtain the user's shooting logs from the historical shooting information recorded by other shooting devices; third, the shooting device can communicate with cloud devices to obtain the user's shooting logs from the historical shooting information recorded by the cloud devices.
[0173] In some implementations, after determining that the second action is a historical preparation action, the shooting device will check whether the second action is a historical preparation action already recorded in the historical action set. If the second action is a historical preparation action already recorded in the historical action set, it will not be recorded again in the historical action set corresponding to the current shooting mode, so as to avoid repeatedly recording the second action in the historical action set and occupying the storage space of the shooting device. If the second action is not recorded in the historical action set, the shooting device will record the second action in the historical action set corresponding to the current shooting mode to update the historical action set.
[0174] In this way, for the shooting device, during the shooting process of the user holding the shooting device, the shooting log generated by the user holding the shooting device can be used to update the historical action set corresponding to the shooting mode in real time. This makes the historical preparation actions recorded in the historical action set match the shooting habits of the user holding the shooting device, thereby enabling the shooting device to more accurately capture and identify whether the user holding the shooting device has performed shooting preparation actions.
[0175] In another implementation, when the imaging device uses a pre-trained prediction model to determine whether the first action is a shooting preparation action in order to generate a first shooting command, firstly, the imaging device obtains the prediction model corresponding to the current shooting mode; secondly, the first action is used as the input of the prediction model, so that if the prediction model determines that the first action is a shooting preparation action, the imaging parameters suitable for acquiring the first image in the current shooting mode are obtained; finally, the first shooting command is generated based on the obtained imaging parameters.
[0176] The prediction model includes machine learning models, algorithms, functions, etc., that can be used to predict shooting behaviors (e.g., shooting preparation actions).
[0177] In this way, the predictive model built into the shooting device can be used to accurately capture the user's shooting preparation actions, so as to avoid the problem of erroneous capture of shooting preparation actions. This can also avoid the problem of invalid first image acquisition due to erroneous capture of shooting preparation actions, and reduce the response frequency of the shooting device and the amount of data processing of the shooting device.
[0178] For predictive models, the main processes involved are the establishment process and the update process.
[0179] In one implementation, when building a prediction model, firstly, for each shooting mode, the shooting device acquires multiple sample shooting records generated by multiple sample users during the historical shooting process of using this shooting mode, as well as the fifth action corresponding to each sample shooting record; then, the fifth action corresponding to each sample shooting record is used as the input feature, and the triggering state of each sample shooting record is used as the output feature to train the constructed prediction model to obtain the trained prediction model corresponding to the shooting mode.
[0180] The fifth action includes actions performed by the sample user before triggering the sample shooting record to adjust the shooting parameters of the shooting device. The fifth action corresponding to each sample shooting record can be the same as or different from the fourth action corresponding to the above-mentioned sample shooting records, depending on the actual situation.
[0181] In this way, a predictive model can be generated for each shooting mode, and the shooting device can immediately capture and identify whether the user is performing shooting preparation actions after leaving the factory, thereby assisting the user in shooting.
[0182] In one implementation, when updating the trained prediction model, firstly, the shooting device acquires the user's shooting log; secondly, the shooting device obtains at least one historical shooting record generated by the user during the historical shooting process and the third action corresponding to each historical shooting record from the acquired shooting log; then, the third action corresponding to each historical shooting record is used as the input feature, and the triggering state of each historical shooting record is used as the output feature to train the prediction model in real time, thereby realizing the real-time update of the prediction model, and thus obtaining the updated prediction model, so that in the subsequent use of the shooting device, the updated prediction model can be used to determine whether the user has performed the shooting preparation action.
[0183] The third action corresponding to the historical shooting record can be the same as or different from the second action corresponding to the historical shooting record, depending on the actual situation.
[0184] Real-time training is a method for updating a model in real time. It means that when a new sample (e.g., a newly generated historical shooting record) is acquired during the use of the prediction model, the prediction model can be updated in real time using the new sample. For example, when a user takes a picture using a shooting device, the device will add a historical shooting record for this shooting action. The newly added historical shooting record corresponds to the third action performed by the user before taking the picture. Taking the third action as "increasing brightness + adjusting filter mode" as an example, the prediction model can be trained in real time using the trigger state of "increasing brightness + adjusting filter mode" and the newly added historical shooting record to obtain an updated prediction model.
[0185] The purpose of updating the prediction model in real time is to enable the prediction model to learn more about the shooting habits of users holding shooting equipment by updating the model coefficients and / or coefficient weights in the prediction model. In this way, the prediction model can more accurately capture and identify whether the user is performing shooting preparation actions.
[0186] Furthermore, updating the predictive model actually updates the parameters involved in the functions and / or algorithms within the predictive model; it does not add new parameters or new functions. Therefore, compared to a historical action set that continuously records new historical preparation actions, using a predictive model to capture and identify whether a user has performed a shooting preparation action will not increase the storage memory of the shooting device during subsequent use.
[0187] In some implementations, when capturing the first image, the capturing device first acquires a second image; wherein the second image is an image formed based on optical imaging principles and has not undergone image processing. Secondly, the capturing device performs image processing on the second image according to the imaging fundamental parameters included in the first capturing command corresponding to the capturing preparation action, to obtain the first image for feedback to the user.
[0188] In this way, image processing can be completed before the user takes a picture, generating a first image that can be fed back to the user. Then, after the user takes a picture, the first image that has been processed can be fed back to the user immediately, so as to achieve the purpose of "instant capture".
[0189] In some implementations, when the capturing device returns the first image, the capturing device may save the first image to the capturing device for presentation to the user when the user views the captured image, and / or display the first image in the preview screen of the capturing device.
[0190] In this way, after the user performs the shooting action, feedback can be given to the user in various forms, thereby enriching the forms of feedback to the user. Furthermore, the first image captured by the user can be fed back to the user in a timely manner without affecting the user's normal shooting.
[0191] The following combination Figure 12 The following describes the shooting process of the shooting method in the embodiments of this application. As can be seen from the timeline of changes in the physical world, as time progresses in the physical world, scenes 0, 1, 2, and so on will gradually appear.
[0192] The "preparation action execution timeline" is used to represent the passage of time in the physical world and the execution sequence of the user's shooting preparation actions. The user performs shooting preparation actions after scene 1 appears and before scene 2 appears, hoping to capture the first image of scene 2 at the moment it appears. Combining the preparation action execution timeline, it can be seen that the execution time of the user's shooting preparation actions is later than the occurrence of scene 1 but earlier than the occurrence of scene 2.
[0193] At this point, relative to the shooting device, after detecting the user's shooting preparation action, the shooting device generates the first shooting command based on the shooting preparation action. Combining the command generation timeline, it can be seen that the generation time of the first shooting command is later than the execution time of the shooting preparation action, but earlier than the occurrence time of scene 2.
[0194] The camera responds to the first shooting command and executes the second shooting action at the moment scene 2 occurs. As can be seen from the shooting process timeline, the execution time of the second shooting action is the same as the moment scene 2 occurs.
[0195] From the user's perspective, the user takes the first shot after observing scene 2. Since the user needs reaction time, it can be seen from the shooting action execution timeline that the user's first shooting action for scene 2 is performed later than the occurrence of scene 2.
[0196] During normal shooting, the shooting device should generate a second shooting command in response to the user's first shooting action. Looking at the command generation timeline, it can be seen that the second shooting command is generated later than both the execution of the first shooting action and the generation of the first shooting command. Since the shooting device has already generated the first shooting command for shooting scene 2, a second shooting command will not be generated when the user performs the first shooting action.
[0197] At this point, after the user performs the first shooting action, the imaging device can directly provide the user with the previously captured first image. Since the imaging device has already completed the image processing involved in the image output process before the user performs the first shooting action, the first image can be provided to the user immediately upon the user's execution of the first shooting action. Therefore, based on the image output timeline, it can be seen that the output time of the first image is later than the execution time of the second shooting action, but can be the same as the execution time of the first shooting action.
[0198] The following combination Figure 13 This paper describes the performance and user experience benefits of the shooting method provided in the embodiments of this application during actual shooting. Since the generation of the first shooting command does not involve the user's reaction time, the generation time of the first shooting command is M ms earlier than the second shooting command triggered by the user performing the first shooting action. In other words, the first shooting command has a performance benefit of M ms in command generation speed compared to the second shooting command, where M ms is the user's reaction delay.
[0199] Because the capturing device responds to the first capturing command and completes the image capturing and processing process in advance, the first image 1 obtained after image processing can be immediately fed back to the user when the user performs the first capturing action. If the capturing device responds to the second capturing command and performs the image capturing and processing process, then the output time of the first image 2 will be W ms later than the output time of the first image 1; that is, the first image 1 has a W ms experience advantage in image output speed compared to the first image 2.
[0200] The following combination Figure 14 This application describes the reaction delay involved in the actual shooting process of the shooting method provided in the embodiments. By combining the "physical world change timeline" and the "shooting action execution timeline," it can be seen that from the appearance of scene 1 to the user starting to execute the first shooting action, there is a user subjective reaction delay. Furthermore, from the user starting to execute the first shooting action (e.g., the finger begins to move towards the shooting control) to the end of executing the first shooting action (e.g., pressing the preview page to display the shooting control), there is also an operation delay. In addition, during the process of the shooting device responding to the user's first shooting action, there is also a device response delay.
[0201] In this way, by learning the user's shooting habits, the shooting device can monitor the user's shooting preparation actions. As a result, it can trigger the shooting of the image based on the shooting preparation actions even when the user has not performed the shooting action. Theoretically, this can reduce the reaction time required for the user to trigger human-computer interaction by performing the shooting action, as well as the desired time of the shooting device. For example, it is expected to improve the shooting efficiency by 100+ ms.
[0202] Based on this, since the shooting device can complete the image processing process before the user performs the shooting action, the first image with completed image processing can be fed back to the user immediately after the user performs the shooting action. Therefore, the performance optimization benefits in terms of shooting and image output efficiency can be improved, for example, by 200+ ms, to achieve the goal of "instant capture".
[0203] Furthermore, it can still capture the scene that the user wants to record without needing to perform "burst shooting", which alleviates the problem of high power consumption and serious memory loss caused by the rotation of the image stream buffer memory in the low latency frame selection shooting scheme.
[0204] In some solutions, multiple embodiments of this application can be combined, and the combined solution can be implemented. Optionally, some operations in the processes of each method embodiment may be combined, and / or the order of some operations may be changed. Furthermore, the execution order between the steps of each process is merely exemplary and does not constitute a limitation on the execution order between steps; other execution orders are also possible. It is not intended to indicate that the execution order is the only possible order in which these operations can be performed. Those skilled in the art will conceive of various ways to reorder the operations described in the embodiments of this application. In addition, it should be noted that the process details involved in one embodiment of this application are also applicable to other embodiments in a similar manner, or different embodiments may be combined.
[0205] Furthermore, some steps in the method embodiments can be equivalently replaced with other possible steps. Alternatively, some steps in the method embodiments may be optional and can be deleted in certain use cases. Or, other possible steps may be added to the method embodiments.
[0206] Furthermore, the various method embodiments can be implemented individually or in combination.
[0207] It is understood that, in order to achieve the above functions, the aforementioned electronic device includes hardware and / or software modules corresponding to perform each function. Based on the algorithmic steps of the various examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application in conjunction with the embodiments, but such implementation should not be considered beyond the scope of this application.
[0208] This application embodiment can divide the electronic device into functional modules according to the above method example. For example, each function can be divided into its own functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware. It should be noted that the module division in this embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.
[0209] This application also provides an electronic device, such as... Figure 15 As shown, the electronic device may include one or more processors 1501, memory 1502 and communication interface 1503.
[0210] The memory 1502, communication interface 1503, and processor 1501 are coupled together. For example, the memory 1502, communication interface 1503, and processor 1501 can be coupled together via bus 1504.
[0211] The communication interface 1503 is used for data transmission with other devices. The memory 1502 stores computer program code. The computer program code includes computer instructions, which, when executed by the processor 1501, cause the electronic device to perform the login method described in this embodiment.
[0212] The processor 1501 may be a processor or controller, such as a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in connection with this disclosure. The processor may also be a combination that implements computational functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.
[0213] Bus 1504 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Bus 1504 can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 15 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0214] This application also provides a computer-readable storage medium storing computer program code. When the processor executes the computer program code, the electronic device executes the relevant method steps in the above method embodiments.
[0215] The electronic devices and computer storage media provided in this application are used to execute the corresponding methods provided above. Therefore, the beneficial effects they can achieve can be referred to the beneficial effects of the corresponding methods provided above, and will not be repeated here.
[0216] Through the above description of the embodiments, those skilled in the art can clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.
[0217] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another device, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.
[0218] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0219] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0220] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiments of this application, in essence, or the part that contributes, or all or part of the technical solution, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0221] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A shooting method, characterized in that, Applied to a shooting device; the method includes: In response to a shooting preparation action performed by the user, a first image is captured; the shooting preparation action includes actions taken by the user to adjust the shooting parameters of the shooting device before performing the first shooting action; In response to acquiring the first shooting action, the first image is fed back.
2. The shooting method according to claim 1, characterized in that, The step of capturing a first image in response to a user-executed shooting preparation action includes: In response to the user's shooting preparation action, a first shooting instruction is generated; the first shooting instruction includes the expected shooting time. At the expected shooting time, the first image is captured.
3. The shooting method according to claim 2, characterized in that, The first shooting instruction is generated in response to the user's shooting preparation action, including: Obtain the current shooting mode of the shooting device; wherein, the shooting device has different shooting parameters in different shooting modes; Receive the first action performed by the user; If, in conjunction with the shooting mode, the first action is determined to be a shooting preparation action, the first shooting instruction is generated.
4. The shooting method according to claim 3, characterized in that, When, in conjunction with the shooting mode, the first action is determined to be a shooting preparation action, the first shooting instruction is generated, including: Obtain the historical action set corresponding to the shooting mode; wherein, the historical action set includes at least one historical preparation action; the historical preparation action is the shooting preparation action that the user has performed in the shooting mode; If the first action is determined to be a shooting preparation action based on the first action and the at least one historical preparation action, shooting parameters for acquiring the first image are obtained. Based on the shooting parameters, the first shooting instruction is generated.
5. The shooting method according to claim 4, characterized in that, The method further includes: Obtain the user's shooting log; From the shooting log, obtain at least one historical shooting record of the user and a second action corresponding to each historical shooting record; the second action includes an action performed by the user before triggering the recording of the historical shooting record to adjust the shooting parameters of the shooting device; For each second action, obtain the number of times the second action was executed during the historical shooting process; If the number of times the second action is executed exceeds a preset threshold, the second action is identified as the historical preparation action and recorded in the historical action set to obtain the updated historical action set.
6. The shooting method according to claim 3, characterized in that, When, in conjunction with the shooting mode, the first action is determined to be a shooting preparation action, the first shooting instruction is generated, including: Obtain the prediction model corresponding to the shooting mode; Using the prediction model, if the first action is determined to be a shooting preparation action, shooting parameters for acquiring the first image are obtained. Based on the shooting parameters, the first shooting instruction is generated.
7. The shooting method according to claim 6, characterized in that, The method further includes: Obtain the user's shooting log; From the shooting log, obtain at least one historical shooting record of the user and a third action corresponding to each historical shooting record; the third action includes an action performed by the user before triggering the recording of the historical shooting record, which is used to adjust the shooting parameters of the shooting device; Based on the historical shooting records and the third action corresponding to each historical shooting record, the prediction model is trained in real time to obtain an updated prediction model.
8. The shooting method according to any one of claims 1-7, characterized in that, The response to acquiring the first shooting action and feeding back the first image includes: In response to acquiring the first shooting action, the generation time of the first shooting instruction corresponding to the shooting preparation action and the acquisition time of the first shooting action are acquired. If the time difference between the generation time and the acquisition time is less than the time difference threshold, the first image is fed back.
9. The shooting method according to any one of claims 1-8, characterized in that, The first image capture includes: Take a second image; Based on the imaging basic parameters included in the first shooting command corresponding to the shooting preparation action, the second image is processed to obtain the first image.
10. The shooting method according to any one of claims 1-9, characterized in that, The feedback of the first image includes: Save and / or display the first image.
11. The shooting method according to any one of claims 1-10, characterized in that, The shooting device displays a preview page, which is used to display a preview image; the shooting preparation actions include at least one of the following: clicking the preview image to focus, switching shooting modes, and adjusting shooting parameters.
12. The shooting method according to claim 11, characterized in that, The shooting device includes a shooting button, a volume button, and a power button; the preview page displays shooting controls; the first shooting action includes at least one of the following: clicking the shooting control to trigger image shooting, pressing the shooting button to trigger image shooting, pressing the volume button to trigger image shooting, pressing the power button to trigger image shooting, voice-triggered image shooting, and gesture-triggered image shooting.
13. The shooting method according to any one of claims 1-12, characterized in that, The shooting parameters include the expected shooting time and basic imaging parameters; the basic imaging parameters include at least one of the following: resolution, shutter speed, dynamic range, frame rate, focal length, pixel size, white balance parameters, signal-to-noise ratio, image stabilization parameters, exposure compensation parameters, ISO, aperture parameters, color, color temperature, and brightness.
14. An electronic device, characterized in that, The device includes a memory and one or more processors; the memory is coupled to the processors; the memory stores computer program code, the computer program code including computer instructions, which, when executed by the processor, cause the electronic device to perform the shooting method as described in any one of claims 1-13.
15. A computer-readable storage medium, characterized in that, Includes computer instructions that, when executed on an electronic device, cause the electronic device to perform the photographing method as described in any one of claims 1-13.
16. A computer program product, characterized in that, When the computer program product is run on an electronic device, the electronic device performs the shooting method as described in any one of claims 1-13.