Shooting method and electronic equipment

By generating low-resolution thumbnails and producing high-quality images after continuous shooting, the problem of electronic devices struggling to balance shooting performance and image quality during continuous shooting is solved, improving user experience and image generation speed.

CN121924364APending Publication Date: 2026-04-24HONOR DEVICE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
HONOR DEVICE CO LTD
Filing Date
2024-12-11
Publication Date
2026-04-24

AI Technical Summary

Technical Problem

Existing electronic devices struggle to balance shooting performance and image quality during continuous shooting, impacting the user experience.

Method used

By generating low-resolution thumbnails and then generating high-quality images after continuous shooting, image processing is optimized using a storage queue to avoid occupying system resources for a long time during continuous shooting. Combined with image fusion and other processing algorithms, high-quality images are generated at specific times.

Benefits of technology

While ensuring photography performance, it improves the quality of images captured in continuous shooting and enhances the user experience, reduces device lag and overheating issues, and increases image generation speed and user satisfaction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121924364A_ABST
    Figure CN121924364A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a shooting method and electronic equipment, and relates to the technical field of terminals. The integral image returning quality of continuous shooting is improved while the shooting performance of the continuous shooting process is not influenced. According to the specific scheme, a first interface of a first application is displayed. And in response to the first operation, generating N frames of thumbnails. And sequentially displaying the N frames of thumbnails at the first position of the first interface according to the generation sequence of the N frames of thumbnails. After the first operation is detected, M frames of first images corresponding to the M frames of thumbnails are generated at the specific time after continuous shooting is finished, and the M frames of thumbnails correspond to the M frames of first images in a one-to-one mode. Wherein the M frames of thumbnails are part or all of the N frames of thumbnails, and the resolution of the M frames of thumbnails is lower than that of the M frames of first images.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims priority to Chinese Patent Application No. 202411491804.6, filed on October 23, 2024, entitled "A continuous shooting processing method and electronic device", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of terminal technology, and in particular to a shooting method and an electronic device. Background Technology

[0003] Taking photos is a way for users to record their lives. With technological advancements, electronic devices (such as mobile phones) offer increasingly diverse shooting functions to meet users' different needs in various shooting scenarios. For example, when users need to capture the continuous movement of a subject, they can use the continuous shooting function (also known as burst mode). This function captures multiple images in succession, recording the subject's movement trajectory. However, current electronic devices cannot simultaneously balance shooting performance and image quality during burst mode, significantly impacting the user experience. Summary of the Invention

[0004] This application provides a shooting method and electronic device to improve the image quality of continuous shooting while ensuring shooting performance, thereby enhancing the user experience.

[0005] Firstly, embodiments of this application provide a shooting method applied to an electronic device. The electronic device has various first applications with shooting functions installed, such as a camera application. When the first application is running in the foreground, the electronic device can display a first interface of the first application. The first interface can be a preview interface for shooting. The first interface includes controls for triggering shooting, such as a first control.

[0006] During the display of the first interface, the electronic device can detect an operation that triggers continuous shooting. For example, the operation triggering continuous shooting could be a first operation applied to the first control. For instance, long-pressing the first control. Or, multiple taps on the first control, where the time interval between two adjacent taps is less than a preset duration.

[0007] In response to a burst-shot operation, the electronic device can sequentially generate N thumbnails. For example, in response to a burst-shot operation, the first thumbnail is generated. In response to the generation of the first thumbnail, the second thumbnail is generated, and so on, until N thumbnails are generated.

[0008] Understandably, thumbnails have low resolution but are generated quickly. During the generation of N thumbnails, the electronic device sequentially displays N thumbnails in the first position on the first interface, allowing the user to perceive the rapid image return of the burst mode. Furthermore, N is a positive integer greater than 1, representing the number of images required to be captured in response to the first operation. After the Nth thumbnail is displayed in the first position, it indicates that the burst mode triggered by the first operation has ended.

[0009] In some embodiments, after detecting the first operation, the electronic device may also generate N frames of first images. There is a one-to-one correspondence between the N thumbnails and the N first images. For the corresponding first images and thumbnails, the generation time of the first image is later than the generation time of the thumbnail, and the image quality of the first image is higher than that of the corresponding thumbnail. Thus, when an instruction to view the images captured by the first operation is detected, the electronic device can display the N frames of first images.

[0010] Additionally, the first M frames in the N-frame first images can be generated at a specific time after the continuous shooting ends, triggering the generation of high-quality image data. The first M frames can be some or all of the first N-frames. M is a positive integer greater than 0 and not greater than N.

[0011] For example, the specific timing mentioned above could be when an operation acting on the first position is detected. In this example, after the first operation is detected, in response to the operation acting on the first position, the generation of an M-frame first image corresponding to an M-frame thumbnail is triggered, with each M-frame thumbnail corresponding to one of the M-frame first images.

[0012] For example, the aforementioned specific timing could also be the detection of an operation instructing the display of a second interface of a second application. When the first application and the second application are different applications, the operation instructing the display of the second interface of the second application could also be an operation that triggers the exit of the first application. When the first application and the second application are the same application, the second interface could be an interface that does not provide shooting services, such as an application configuration interface.

[0013] In this example, after the first operation is detected, in response to the operation instructing the display of the second interface of the second application, a first image corresponding to each thumbnail in the M-frame thumbnails is generated.

[0014] For example, the specific timing described above can also be when the electronic device meets the target condition. The target condition includes one or more of the following conditions:

[0015] (1) Conditions related to CPU resources. For example, the CPU resource utilization rate is less than the preset ratio threshold 1. Another example is that the CPU resource idle rate is greater than the preset ratio threshold 2. The preset ratio threshold 1 and the preset ratio threshold 2 can be different.

[0016] (2) Conditions related to memory resources. For example, the available memory size is greater than the preset reserved memory threshold. Another example is that the memory usage ratio is less than the preset ratio threshold of 3. Yet another example is that the unavailable memory size is less than the preset memory size threshold.

[0017] (3) Conditions specific to the electronic device, such as the device temperature being lower than a preset temperature threshold. Or, the current power consumption of the electronic device being lower than a preset power consumption threshold.

[0018] In this example, after detecting the first operation, in response to determining that the electronic device meets the above target conditions, the electronic device can generate a first image corresponding to each thumbnail in the M-frame thumbnails.

[0019] Understandably, the aforementioned specific timings all occur after the burst shooting triggered by the first operation ends. In the above embodiment, the N-frame thumbnails are generated before the burst shooting ends, while the high-quality M-frame first image is generated at a specific timing after the burst shooting ends. This avoids the problem of device lag, overheating, and other performance degradation caused by prolonged use of system resources to generate high-quality image data during burst shooting. Simultaneously, higher-quality burst images are obtained after shooting, achieving a balance between shooting performance and image quality. Furthermore, the fast thumbnail generation speed, displayed on the shooting preview interface, shortens the perceived burst shooting image return time for the user.

[0020] In some embodiments, where the M-frame thumbnail is a portion of the N-frame thumbnails, the electronic device may also generate a first image corresponding to at least one of the N-frame thumbnails in advance, before the burst shooting corresponding to the first operation ends, such as before displaying the N-frame thumbnail. It is understood that the at least one thumbnail is a thumbnail in the N-frame thumbnails excluding the M-frame thumbnail.

[0021] In the above embodiments, before the burst shooting corresponding to the first operation ends, a portion of high-quality images can be generated first. In this way, when an instruction is detected to view the image captured by the first operation, the first image generated before the burst shooting ends can be displayed immediately, thereby improving the problem of slow image return speed perceived by the user.

[0022] In some embodiments, after the first operation is detected, while generating N frame thumbnails, the first RAW image corresponding to at least one frame thumbnail can also be stored in the first queue.

[0023] Understandably, after detecting the first operation, the first application can sequentially generate N frames of photo-taking instructions. The electronic device can respond to each photo-taking instruction by acquiring the corresponding multi-frame RAW images. Then, a reference RAW image is determined from the multi-frame RAW images, and a thumbnail corresponding to the photo-taking instruction is generated based on this reference RAW image. Additionally, the electronic device can perform image fusion on the multi-frame RAW images of the photo-taking instruction to obtain the first RAW image of the photo-taking instruction. That is, a correspondence can be established between the first RAW image and the thumbnail through the same photo-taking instruction.

[0024] The electronic device responds by storing the first RAW image into the first queue and generating a first image corresponding to at least one frame thumbnail based on the first RAW image in the first queue.

[0025] In the above embodiments, for a portion of the thumbnail, the electronic device can simultaneously start generating the thumbnail and the corresponding first image, thereby improving the generation efficiency of at least one frame of the first image.

[0026] Of course, the first image of at least one of the aforementioned thumbnails does not belong to the first image of the M-frames. In other embodiments, after generating the M-frame thumbnails, the electronic device can store the second RAW image corresponding to the M-frame thumbnails into a second queue. For example, during the generation of the M-frame thumbnails, the second RAW image corresponding to each thumbnail can also be stored into the second queue at the same time as it is generated.

[0027] Understandably, the correspondence between the second RAW image and the thumbnail is also established through the shooting command. The aforementioned second RAW image can be a multi-frame RAW image corresponding to the shooting command.

[0028] In this way, the second queue has a large capacity and is unaffected by the operating status of the first application, allowing for long-term storage of RAW images. After the second RAW images are stored in the second queue, there is no need to immediately consume them. For example, after the burst shooting corresponding to the first operation ends, the electronic device can, at a specific time, sequentially retrieve the second RAW images corresponding to the M frame thumbnails from the second queue according to the generation order of the M frame thumbnails. Based on the retrieved second RAW images, one or more image processing operations are performed to sequentially generate the M first images.

[0029] For example, one or more image processing operations include image fusion operations, filter addition operations, watermarking operations, and operations for enhancing image features.

[0030] In the above embodiments, the transfer storage technology is used as a support to enable the generation of the first image after the continuous shooting ends, thus avoiding the problem of image loss in the obtained continuous shooting images.

[0031] In some embodiments, during the sequential generation of N frame thumbnails, when the i-th frame thumbnail is displayed at a first position on the first interface, the electronic device may also display the burst count (i) at a second position on the first interface. When the (i+1)-th frame thumbnail is displayed at the first position on the first interface, the burst count (i) displayed at the second position is updated to the burst count (i+1). The value of i ranges from 1 to N-1.

[0032] In the above embodiments, during the process of capturing continuous images, the number of images captured in this continuous shooting is displayed in real time, allowing the user to keep track of the continuous shooting progress.

[0033] In some embodiments, the second application is an application with the function of viewing captured images, such as a gallery application. Correspondingly, the aforementioned second interface can be a grid preview interface. The grid preview interface displays multiple frame thumbnails. These thumbnails are arranged in the grid preview interface according to the order of capture time from most recent to oldest, following a left-to-right and top-to-bottom rule. After the burst shooting of the first operation ends, and before receiving an instruction to display the second interface, if no other operation is received, only one thumbnail in the grid preview interface is from the N frame thumbnails corresponding to the first operation, and this thumbnail is positioned as the first one on the left in the first row; this thumbnail can also be called the cover thumbnail. The cover thumbnail includes an aggregation icon.

[0034] In other embodiments, the N-frame thumbnails are thumbnails generated based on RAW images during continuous shooting. After the first image corresponding to the N-frame thumbnails is generated, a new thumbnail can be generated based on the first image after downsampling or proportional reduction, replacing the thumbnail in the N-frame thumbnails corresponding to the first image.

[0035] The electronic device displays a third interface in response to an operation applied to the cover thumbnail. The third interface includes a first image corresponding to the cover thumbnail and an aggregation control. In response to an operation applied to the aggregation control, a fourth interface is displayed. The fourth interface includes P-frame thumbnails, where P-frame thumbnails are part or all of the N-frame thumbnails, and P is a positive integer. In response to selecting the j-th frame thumbnail, a second image corresponding to the j-th frame thumbnail is displayed on the fourth interface. The second image is a frame from the N-frame first image, and j is a positive integer.

[0036] In the above embodiments, the human-computer interaction efficiency of users viewing multiple frames of the first image corresponding to the first operation is improved.

[0037] In some embodiments, before displaying the second image corresponding to the thumbnail of the j-th frame on the fourth interface, if a second image is to be generated, the electronic device may obtain the second RAW image corresponding to the thumbnail of the j-th frame from the second queue, and, based on the obtained second RAW image, perform one or more image processing operations to generate the second image.

[0038] In the above embodiments, the electronic device originally generates the first images of the M frames corresponding to the M frame thumbnails sequentially according to the generation order of the M frame thumbnails. However, when it detects that a user has indicated to view the first image of a certain frame thumbnail, the order in which the first images are generated can be flexibly adjusted to prioritize meeting the user's viewing needs and improve the flexibility of image processing.

[0039] In some embodiments, the P-frame thumbnails in the fourth interface include a first thumbnail and a second thumbnail. The first thumbnail and the second thumbnail are displayed adjacent to each other in a second area of ​​the fourth interface, indicating that their acquisition times are adjacent. In response to an operation applied to the first thumbnail, the electronic device displays a third image corresponding to the first thumbnail in a first area of ​​the fourth interface.

[0040] For example, in response to a user's swipe operation in the second area, the first thumbnail is moved to a selection box in the fourth interface. In response to the selection box overlapping with the first thumbnail, a third image corresponding to the first thumbnail is displayed in the first area of ​​the fourth interface. Subsequently, in response to an operation applied to the first thumbnail or the third image, a first selected label is displayed on the third image, where the third image is one frame out of N frames of the first image.

[0041] For example, in response to a user clicking the first thumbnail, the first thumbnail is moved to a selection box in the fourth interface. In response to the selection box overlapping the first thumbnail, a third image corresponding to the first thumbnail is displayed in a first area of ​​the fourth interface. Subsequently, in response to an operation applied to the first thumbnail or the third image, a first selected label is displayed on the third image, where the third image is one frame out of N frames of the first image.

[0042] For example, in response to a user long-pressing the first thumbnail, the first thumbnail is moved to the selection box in the fourth interface. In the first area of ​​the fourth interface, the third image corresponding to the first thumbnail is displayed, and the third image includes the first selected label.

[0043] After the first selected label is displayed on the third image, in response to the operation of deleting the third image, the first thumbnail and the third image in the fourth interface are de-displayed, and in the first area, the fourth image corresponding to the second thumbnail is displayed, the fourth image being a frame in the N frames of the first image.

[0044] Additionally, in response to an instruction to delete the third image, both the third image and the first thumbnail can be deleted.

[0045] In the above embodiments, the human-computer interaction efficiency of managing (e.g., deleting) images generated by burst shooting is improved.

[0046] In some embodiments, the P-frame thumbnails in the fourth interface include a second thumbnail and a third thumbnail, and the fourth interface also includes a comparison control. After selecting the fourth image corresponding to the second thumbnail and the fifth image of the third thumbnail, in response to an operation performed on the comparison control, the fifth interface is displayed, which includes the fourth image and the fifth image. The fourth image is the first image in the N-frame first images that corresponds to the second thumbnail. The fifth image is the first image in the N-frame first images that corresponds to the third thumbnail.

[0047] As one implementation, the process of selecting the fourth image corresponding to the second thumbnail and the fifth image of the third thumbnail can be as follows: In response to an operation applied to the second thumbnail (e.g., a long press), the electronic device displays the fourth image corresponding to the second thumbnail in a first area of ​​the fourth interface, and displays a second selection tag on the fourth image, where the fourth image is one frame of the N frames of the first image. After the second selection tag is displayed on the fourth image, in response to an operation applied to the third thumbnail, the fourth image is de-displayed, and the fifth image, including the third selection tag, is displayed in the first area.

[0048] As another implementation, the process of selecting the fourth image corresponding to the second thumbnail and the fifth image of the third thumbnail can be as follows: When the fourth image is displayed in the first area of ​​the fourth interface, in response to an operation applied to the second thumbnail, or in response to an operation applied to the fourth image, a second selection label is displayed on the fourth image. After the second selection label is included on the fourth image, in response to an operation applied to the third thumbnail, the fourth image is de-displayed, and the fifth image corresponding to the third thumbnail is displayed in the first area. When the fifth image is displayed in the first area, in response to an operation applied to the third thumbnail, or in response to an operation applied to the fifth image, a third selection label is displayed on the fifth image.

[0049] In the above embodiments, the human-computer interaction efficiency of comparing multiple frames of images generated by continuous shooting is improved.

[0050] In some embodiments, after selecting the fourth image corresponding to the second thumbnail and the fifth image of the third thumbnail, and after detecting an instruction to save as, in response to the second operation, the second interface is displayed again. The second interface includes the fourth thumbnail and the fifth thumbnail, but does not include the cover thumbnail. The fourth thumbnail is a thumbnail generated based on the fourth image, and the fifth thumbnail is a thumbnail generated based on the fifth image. The aggregation icon is not included on the fourth thumbnail and the fifth thumbnail.

[0051] In the above embodiments, the human-computer interaction efficiency of saving one or more frames of images generated by continuous shooting is improved.

[0052] In some embodiments, the first interface further includes a second control, which, in response to an operation performed on the second control, allows the electronic device to activate the continuous shooting function before triggering continuous shooting. For example, displaying a first interface dedicated to continuous shooting, and establishing a camera control channel for continuous shooting.

[0053] After enabling the burst shooting function, when the user touches the first control, the first operation is detected. In response to the first operation, N thumbnails are generated sequentially. This shortens the time required to identify the first operation that triggers burst shooting, thereby improving user satisfaction by increasing the response speed of burst shooting.

[0054] In one implementation, the electronic device includes a camera sensor and a camera hardware abstraction layer (HAL). In response to launching a first application, the camera sensor acquires RAW images and stores the acquired RAW images in a third queue. After detecting a first operation, the first application generates a first capture command and sends it to the camera HAL. In response to the first capture command, the camera HAL retrieves multiple frames of third RAW images corresponding to the first capture command from the third queue. It selects one frame of first reference RAW image from the multiple frames of third RAW images and, based on the first reference RAW image, generates a sixth thumbnail including first extended information, wherein the first extended information includes first name information and an identifier indicating that the third RAW image needs to be stored in a second queue. After generating the sixth thumbnail, the camera HAL sends the sixth thumbnail to the first application. In response to the sixth thumbnail, the first application generates a second capture command and sends it to the camera HAL. In response to the second capture command, the camera HAL retrieves multiple frames of fourth RAW images corresponding to the second capture command from the third queue. A second reference RAW image is selected from the multiple fourth RAW images, and a seventh thumbnail is generated based on the second reference RAW image. After generating the seventh thumbnail, the camera HAL sends the seventh thumbnail to the first application. By carrying extended information in the generated thumbnail, a basis is provided for generating the first image at a specific time.

[0055] As one implementation, before generating the second photo-taking command, it is determined that the number of photo-taking commands generated after the first operation is detected is less than N.

[0056] As an alternative implementation, after the first application receives the seventh thumbnail, it determines that the number of photo capture commands generated since the first operation was detected is equal to N. In response to determining that the number of photo capture commands generated is equal to N, it stops generating photo capture commands.

[0057] This avoids generating too many images in the first burst of shooting, thus preventing unnecessary waste of resources.

[0058] In one implementation, before the first application receives the seventh thumbnail, the first application detects an instruction to stop shooting. After the first application receives the seventh thumbnail, in response to detecting the instruction to stop shooting, the first application discards the seventh thumbnail and stops generating a photo-taking command.

[0059] In the above embodiments, the user can manually stop continuous shooting. In addition, after detecting the user's instruction to stop continuous shooting, the generated thumbnail can be discarded to ensure that the number of continuous shots displayed is the same as the final number of continuous shots, thereby improving the reliability of continuous shooting.

[0060] In some embodiments, the electronic device further includes a storage service process, a media database, and a gallery database. After the first application receives the sixth thumbnail, it stores the sixth thumbnail in a target storage area and, in response to receiving the sixth thumbnail, sends first name information to the media database. The media database, in response to receiving the first name information, generates a first database record including the first name information and triggers the gallery database to generate a second database record including the first name information. After the camera HAL generates a sixth image with the sixth thumbnail, the camera HAL sends the sixth image to the storage service process. The storage service process sends the image information of the sixth image to the media database. The media database associates the image information of the sixth image with the first database record and sends a first synchronization notification to the gallery database. In response to the first synchronization notification, the gallery database associates the image information of the sixth image with a second database record.

[0061] In some embodiments, the storage service process stores the sixth image after receiving it.

[0062] In the above embodiments, the storage service process is independent of the first application. The storage service stores the sixth image, which can prevent the image from being lost if the first application is accidentally closed.

[0063] In a second aspect, embodiments of this application provide an electronic device, a camera sensor, a memory, and one or more processors; the memory is coupled to one or more processors, the memory is used to store computer program code, the camera sensor is used to acquire RAW images, the computer program code includes computer instructions, and one or more processors call the computer instructions to cause the electronic device to perform the methods described in the first aspect and any implementation thereof.

[0064] Thirdly, embodiments of this application provide a computer-readable storage medium including instructions. When the instructions are executed on an electronic device, the electronic device causes the electronic device to perform the method described in the first aspect and any implementation thereof.

[0065] Fourthly, embodiments of this application provide a computer program product, including a computer program or instructions that, when executed on an electronic device, cause the electronic device to perform the methods described in the first aspect and any of its implementations.

[0066] Fifthly, a chip system applied to an electronic device, the chip system comprising one or more processors, the processors being configured to invoke computer instructions to cause the electronic device to perform the methods described in the first aspect and any implementation thereof.

[0067] It should be understood that the second to fifth aspects of the embodiments of this application correspond to the technical solutions of the first aspect of the embodiments of this application, and the beneficial effects achieved by each aspect and the corresponding feasible implementation are similar, and will not be described again. Attached Figure Description

[0068] Figure 1 A software architecture example diagram of an electronic device provided in an embodiment of this application;

[0069] Figure 2 This application provides an example diagram of the functional modules of a camera application.

[0070] Figure 3 This is one of the example diagrams showing a scenario where continuous shooting is enabled, provided in an embodiment of this application.

[0071] Figure 4 This is the second example of a scenario where continuous shooting is enabled, provided in an embodiment of this application.

[0072] Figure 5 One of the schematic diagrams illustrating the principle of the quality-priority continuous shooting function provided in the embodiments of this application;

[0073] Figure 6 A second schematic diagram illustrating the principle of the quality-priority continuous shooting function provided in the embodiments of this application;

[0074] Figure 7 A schematic diagram illustrating the principle of the speed-priority continuous shooting function provided in this application embodiment;

[0075] Figure 8 One of the example diagrams showing a scenario where an electronic device performs continuous shooting according to an embodiment of this application;

[0076] Figure 9 for Figure 8 The interaction diagram between the camera HAL and the camera application in the scene shown.

[0077] Figure 10 Example diagram of a scenario where an electronic device performs continuous shooting according to an embodiment of this application;

[0078] Figure 11 for Figure 10 The interaction diagram between the camera HAL and the camera application in the scene shown.

[0079] Figure 12 Example scene diagrams provided in this application embodiment after enabling the quality-priority burst shooting function;

[0080] Figure 13A This is one of the example images of a scene for viewing a large image corresponding to a burst of images provided in an embodiment of this application;

[0081] Figure 13B The second example of a scene for viewing a large image corresponding to a burst of images provided in an embodiment of this application;

[0082] Figure 14 Example scene diagrams of the large image corresponding to the selected burst images provided in the embodiments of this application;

[0083] Figure 15A An example diagram illustrating a scenario for deleting a selected large image from burst-shot images, provided in an embodiment of this application.

[0084] Figure 15B Example scene diagrams of the large images corresponding to the saved burst images provided in the embodiments of this application;

[0085] Figure 16 Example scene diagrams of the large images corresponding to the comparative burst images provided in the embodiments of this application;

[0086] Figure 17 This is one of the signaling interaction diagrams of the electronic device provided in the embodiments of this application;

[0087] Figure 18 The second signaling interaction diagram of the electronic device provided in the embodiments of this application;

[0088] Figure 19 The third signaling interaction diagram of the electronic device provided in the embodiments of this application;

[0089] Figure 20 The fourth signaling interaction diagram of the electronic device provided in the embodiments of this application;

[0090] Figure 21 The fifth signaling interaction diagram of the electronic device provided in the embodiments of this application;

[0091] Figure 22 This is the sixth signaling interaction diagram of the electronic device provided in the embodiments of this application. Detailed Implementation

[0092] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of this embodiment, unless otherwise stated, "a plurality of" means two or more.

[0093] With the development of technology, electronic devices are offering increasingly diverse shooting functions. Taking electronic devices with built-in camera apps as an example, these apps include various camera modes, such as portrait mode, still image mode, video mode, and night scene mode. Different camera modes correspond to different shooting functions. In different camera modes, the electronic device responds to user input and can capture different types of image data with varying visual effects, such as photos, videos, moving images, night scene images, portrait pictures, and panoramic images.

[0094] In addition, the same camera mode can also correspond to multiple shooting functions. For example, the shooting mode can include a single-shot function for taking a single photo, and a burst shooting function for taking multiple photos in succession.

[0095] When a camera application is running in the foreground of an electronic device and the photo mode is enabled, the camera application can create a camera control channel corresponding to the single-shot function. Understandably, this single-shot function's camera control channel is used to control the camera sensor used during a single shot and to process the image data acquired by that camera sensor. Thus, upon receiving an instruction to take a single shot, the camera application can generate a photo-taking command and obtain the image data corresponding to that command through the single-shot function's camera control channel.

[0096] Upon receiving an instruction to take a burst shot, the camera application creates a camera control channel corresponding to the burst shooting function. This camera control channel controls the camera sensor used during burst shooting and processes the image data acquired by that sensor. Subsequently, the camera application can sequentially generate multiple shooting commands and obtain image data corresponding to each command through the camera control channel.

[0097] For example, indicating a single shot might be a short press of the shutter button, while indicating burst mode might be a long press of the shutter button. Typically, camera apps can determine if a long press of the shutter button has been received by tracking the cumulative duration of the user's touches on the shutter button. Clearly, it takes time for the electronic device to recognize the burst mode instruction. Furthermore, the camera app only creates the camera control path for burst mode after recognizing the burst mode instruction. Creating this path also takes time. Thus, there is a significant time interval between the user's burst mode instruction and the actual execution of the burst mode by the electronic device—a burst mode delay. This delay significantly impacts the user experience.

[0098] Furthermore, traditional continuous shooting requires capturing multiple frames of image data in a short period. If each frame is processed using complex algorithms to improve image quality (such as image fusion algorithms), a significant amount of system resources need to be allocated to process the acquired images during the capture process. This can lead to performance issues such as device overheating and stuttering during shooting, as well as slow image output speed. Related technologies address shooting performance issues by sacrificing image quality. For example, during the continuous capture of multiple frames, a simple image processing algorithm is used to process each frame captured in real time. This simpler image processing algorithm requires less system resources and has a shorter processing time. However, these technologies struggle to reconcile the demands of fast shooting performance with the output requirements of continuous shooting.

[0099] To address the aforementioned issues, this application provides a shooting method that guides the user to manually activate the burst shooting function when the camera application's shooting mode is enabled. Subsequently, upon detecting user interaction with the shooting controls, the method identifies the interaction as an instruction to shoot continuously, thus shortening the recognition time for burst shooting instructions and reducing burst shooting latency. In response to the user activating the burst shooting function, a camera control channel corresponding to the burst shooting function can be immediately created. This allows for immediate acquisition of burst-shot image data via the corresponding camera control channel when subsequent user interactions with the shooting controls are detected.

[0100] In some embodiments, the electronic device responds to a user's instruction to take continuous shots. After initiating continuous shooting, it generates a high-quality large image of the first frame of the current continuous shooting sequence. High-quality large images of other frames are generated after the continuous shooting ends. Understandably, the high-quality large image can be image data processed by one or more complex image algorithms, resulting in high image quality.

[0101] In other embodiments, the electronic device responds to the user's instruction to take continuous shots. After starting continuous shooting, it generates only thumbnails during the continuous shooting process and generates a high-quality large image for each frame corresponding to this continuous shooting after the continuous shooting ends.

[0102] For example, electronic devices can be desktops, laptops, tablets, handheld computers, mobile phones, laptops, ultra-mobile personal computers (UMPCs), netbooks, as well as cellular phones, personal digital assistants (PDAs), VR devices, AR devices, and other devices with image acquisition capabilities.

[0103] Figure 1 This is a schematic diagram of the software and hardware architecture of the electronic device provided in an embodiment of this application. For example... Figure 1 As shown, the software architecture of an electronic device is divided into several layers, each with a clear role and division of labor. Layers communicate with each other through software interfaces. For example, the software architecture of an electronic device, from top to bottom, consists of the application layer, framework layer, system library, and hardware abstraction layer (HAL). Of course, the software architecture of an electronic device can also include... Figure 1 Layers not shown in the diagram include, for example, driver layers that include drivers for various devices.

[0104] like Figure 1 As shown, the application layer includes the camera app and the gallery app. This is understandable. Figure 1 The diagram shows only a portion of the applications; in fact, the application layer can include other applications, which this application does not limit. For example, the application layer may also include applications such as messaging, alarm clock, weather, stopwatch, compass, timer, flashlight, and calendar. Furthermore, the application layer may include other applications with camera functions (e.g., video recording applications) and other applications for viewing images (e.g., image editing applications). Among these, the application with camera functions can be referred to as the first application, and the other applications can be referred to as the second application.

[0105] Figure 2 The diagram illustrates the functional modules of an application with shooting capabilities (e.g., a camera app). Figure 2As shown, the aforementioned camera application may include multiple functional modules corresponding to different shooting modes, such as a burst shooting mode switching module (MultiCaptureFunction) and a burst shooting control module (MultiCaptureFlow). The burst shooting mode switching module can be used to activate or deactivate various types of burst shooting functions in response to user input during shooting mode. The burst shooting control module, after detecting a user instruction to shoot continuously, sequentially generates and issues multiple shooting commands corresponding to this burst.

[0106] like Figure 2 As shown, the aforementioned camera application may also include a shutter control (ShutterButton) and a shutter status control module (ShutterController). The shutter control, also known as the shutter button, is used to receive various events generated by user operations on the shutter control. The shutter status control module can be used to update the shutter status flag when the user triggers or stops continuous shooting.

[0107] For example, before a user-instructed burst shooting operation is detected, the shutter status flag is set to a value of 1, such as ShutterIdleState.

[0108] After detecting a user's instruction to take a burst shot, the shutter status flag is assigned the value 2, for example, value 2 is ShutterMultiCapturingState. For example, the aforementioned instruction to take a burst shot could be a user long-pressing the shutter control. Another example is that the aforementioned instruction to take a burst shot could also be a user quickly tapping the shutter control. Here, a quick tap means that the time interval between two consecutive taps is less than a preset time threshold.

[0109] After the continuous shooting is detected to have ended, the shutter status flag is assigned the value 1. Additionally, values ​​1 and 2 can be other different values; this application embodiment does not limit their specific values.

[0110] Understandably, the aforementioned "end of burst shooting" can mean that after detecting an instruction to shoot continuously, the number of consecutive photo-taking commands generated reaches a preset number. Alternatively, it can mean that an instruction to stop burst shooting is detected. Specifically, when the instruction to shoot continuously is a long press on the shutter control, the instruction to stop burst shooting can stop the pressing of the shutter control. When the instruction to shoot continuously is a series of clicks, the instruction to stop burst shooting can stop if no clicks on the shutter control are received within a set time.

[0111] like Figure 2As shown, the camera application may also include a thumbnail display module (ThumbnailViewExtension) and a thumbnail storage module (StorageMultiCaptureExtension). The thumbnail display module displays a thumbnail of each shooting command during continuous shooting, allowing the user to perceive that multiple frames are being captured consecutively. The thumbnail storage module stores the thumbnail corresponding to each shooting command. Additionally, the camera application includes a communication interface for interacting with the frame layer.

[0112] For example, the framework layer provides the application programming interface (API) and programming framework for applications in the application layer. The framework layer includes some predefined functions.

[0113] like Figure 1 As shown, the framework layer includes camera services and storage services. The camera services implement image acquisition and algorithm processing functions, while the storage services store image data.

[0114] For example, the system library may include various core Java libraries and C++ libraries to support various services of applications (or various components of the operating system) in the application layer.

[0115] like Figure 1 As shown, the above system library includes a media database (MediaProvider) and a gallery database (MediaLibrary).

[0116] The media database can be a database provider, primarily responsible for storing and providing information about media data (videos, images, audio, documents, etc.). The media database inherits from ContentProvider and uses an SQLite database to store information about media data such as images, videos, audio, and documents for use by applications (or operating system components). The main functions of the media database include at least: (1) storing information corresponding to the media data. For example, when the media database scans newly added images on the device, it can store the image information, such as image size, resolution, exposure time, name information, capture time, capture location, and information about the camera sensor that captured the image. (2) providing data access interfaces. For example, through the interfaces provided by ContentProvider, other applications can query, insert, delete, or update information about the media data.

[0117] A gallery database is a library for managing media data. It provides the ability to obtain metadata information of media data and allows applications to perform operations such as creation, modification, and deletion based on media data. The core functions of a gallery database include at least: (1) querying metadata information of media data. Metadata information may include information such as the attributes, content, structure, format, and source of the media data. (2) managing albums and media data, such as creating albums, accessing and modifying media data in albums. (3) manipulating media data, such as creating, renaming, copying, and deleting media data.

[0118] The uses of the aforementioned media database and image library database in this embodiment are described in detail in subsequent embodiments and will not be repeated here. Additionally, after media data in the electronic device is updated, the media database (MediaProvider) will also notify the image library database (MediaLibrary) to synchronize the data.

[0119] For example, the hardware abstraction layer (HAL) can encapsulate drivers in the kernel layer and provide an interface for calling the framework layer, shielding the implementation details of the low-level hardware.

[0120] like Figure 1 As shown, the HAL of an electronic device includes at least the camera HAL. The camera HAL also includes a dump service. The dump service includes a large image processing path 2 and a dump decision framework.

[0121] The Camera HAL can create camera control channels required for different shooting functions. For example, after enabling burst shooting in a camera application, the Camera HAL can create a camera control channel for implementing burst shooting, also known as a super burst shooting camera control channel. A camera control channel can include one or more functional nodes. These include, for example, camera (sensor) nodes for controlling the camera sensor, image front end (IFE) nodes, and various image processing nodes. Image processing nodes can include nodes for executing various image processing algorithms, such as nodes for executing downsampling algorithms, frame selection algorithms, beautification processing, filter addition, watermark addition, image fusion (e.g., image fusion node), and adding extended information. Depending on different image output requirements, different control nodes and functional nodes can form different image processing pathways, such as thumbnail processing pathways, large image processing pathways, preview pathways, and native processing pathways.

[0122] The native processing path involves generating a large image based on the raw image data (RAW image) captured by the camera sensor after the camera application generates the image corresponding to the shooting command, and then sending it back to the camera application. The large image data generated by the native processing path is stored by the camera application. Furthermore, the functional nodes corresponding to the native processing path are related to the operating system configured in the electronic device; this embodiment does not specifically limit this aspect.

[0123] Thumbnail processing pathway: After the camera application generates a shooting command, a thumbnail corresponding to the shooting command is generated based on the RAW image acquired by the camera sensor. In this embodiment, the thumbnail processing pathway corresponding to super burst shooting can also add extended information to the thumbnail. The specific structure of the extended information can be found in subsequent embodiments and will not be elaborated here.

[0124] For example, the thumbnail processing path may include a sensor node, an image front end (IFE) node, a node that performs a downsampling algorithm, a node that performs a frame selection algorithm, and a node that performs the addition of extended information, etc.

[0125] Large image processing path 1: After the camera application generates a shooting command, based on the RAW image collected by the camera sensor, the large image data corresponding to the shooting command is generated in a timely manner and sent back to the storage service, instructing the storage service to store the large image data.

[0126] In some embodiments, during continuous shooting, the first Q large frames of the continuous shooting image can be generated in real time. Here, Q is a positive integer less than or equal to N. N is the total number of frames in the continuous shooting image; that is, the continuous shooting image generated in one continuous shooting session includes N large image data frames (also referred to as the first image), and N is a positive integer greater than 1. In this embodiment, the first Q large frames are generated by the large image processing path 1 during the continuous shooting process.

[0127] In a possible embodiment, during continuous shooting, it is not necessary to generate large-scale images of the continuous shots in real time; that is, all large-scale image data of the continuous shots are generated after the continuous shooting ends. In this scenario, the electronic device may also not contain a large-scale image processing path 1.

[0128] For example, the large image processing path 1 may include a sensor node, an IFE node, a node for performing beautification processing, a node for performing filter addition, a node for performing watermark addition, an image fusion node, etc.

[0129] Preview Path: Used to generate preview frames in real time based on RAW images acquired from the camera sensor. The preview path can include sensor nodes, IFE nodes, etc.

[0130] Of course, the same nodes can be reused between different image processing paths, and this application does not specifically limit this.

[0131] Large image processing pathway 2 is similar to large image processing pathway 1. For example, both can include nodes for performing beautification processing, adding filters, adding watermarks, and image fusion. Furthermore, both can process the RAW image corresponding to the photo-taking command to generate a high-quality image.

[0132] Large image processing pathway 2 also differs from large image processing pathway 1. For example, large image processing pathway 2 can be configured with nodes that execute complex and time-consuming image processing algorithms, such as nodes for executing generative artificial intelligence (AIGC) algorithms. This embodiment of the application does not impose specific limitations on this. Furthermore, large image processing pathway 1 can immediately process the RAW image corresponding to the photo-taking command, while large image processing pathway 2 needs to process the RAW image corresponding to the photo-taking command under specific conditions.

[0133] The specific conditions can be determined according to the actual application scenario. For example, in the embodiments of this application, the specific conditions may be the detection of an event that triggers the exit of an application with shooting function, the system resources meeting the target conditions, or the detection that the user has not interacted with the camera application for a long time after the continuous shooting ends.

[0134] For example, the above target conditions may include:

[0135] (1) Conditions related to CPU resources. For example, the CPU resource utilization rate is less than the preset ratio threshold 1. Another example is that the CPU resource idle rate is greater than the preset ratio threshold 2. The preset ratio threshold 1 and the preset ratio threshold 2 can be different.

[0136] (2) Conditions related to memory resources. For example, the available memory size is greater than the preset reserved memory threshold. Another example is that the memory usage ratio is less than the preset ratio threshold of 3. Yet another example is that the unavailable memory size is less than the preset memory size threshold.

[0137] (3) Conditions specific to the electronic device, such as the device temperature being lower than a preset temperature threshold. Or, the current power consumption of the electronic device being lower than a preset power consumption threshold.

[0138] Additionally, the native processing path can also be used to generate large image data corresponding to the photo-taking command. In some embodiments, if the same photo-taking command can correspond to multiple frames of large image data, multiple image processing paths can be selected from the native processing path, large image processing path 1, and large image processing path 2 according to business needs. Then, the selected image processing path is used to process the RAW image corresponding to the photo-taking command to obtain multiple large image data. If the photo-taking command corresponds to one large image data, one image processing path can be selected from the native processing path, large image processing path 1, and large image processing path 2 according to business needs. Then, the selected image processing path is used to process the RAW image corresponding to the photo-taking command to obtain one large image data.

[0139] In some embodiments, the camera HAL also includes multiple cache queues, with different cache queues serving different pathways. For example, large image processing pathway 1 corresponds to cache queue 1, large image processing pathway 2 corresponds to cache queue 2, preview pathway corresponds to cache queue 3, and native processing pathway corresponds to cache queue 4.

[0140] The following examples illustrate the uses of cache queues 1-4, which prioritize both quality and speed in continuous shooting. Further details on the implementation of quality-priority and speed-priority continuous shooting will be provided in subsequent embodiments and will not be elaborated upon here.

[0141] In response to an instruction to open the camera app, a shooting preview interface provided by the camera app can be displayed. Upon displaying the shooting preview interface, the camera sensor can begin acquiring RAW images and store each acquired RAW frame in buffer queue 3. Thus, the preview path can sequentially retrieve each RAW frame from buffer queue 3 and generate a corresponding preview frame. The preview path can send the preview frame to the camera app, and the camera app, upon receiving the preview frame, can display it in the shooting preview interface.

[0142] After opening the camera app and enabling the quality-priority burst shooting function, a burst shooting instruction is detected. In response to this instruction, the camera app begins sending shooting commands to the camera HAL. Upon receiving the first Q shooting commands, the camera HAL, in response to the received commands, retrieves the corresponding multi-frame RAW images from buffer queue 3 and generates a target RAW image based on the retrieved multi-frame RAW images. The generated target RAW image can then be stored in buffer queue 1.

[0143] Optionally, in response to the target RAW image being stored in cache queue 1, if cache queue 1 does not contain other RAW images stored earlier, the large image processing path 1 can perform one or more image processing operations based on the target RAW image to obtain the corresponding high-quality large image. Optionally, in response to the target RAW image being stored in cache queue 1, if cache queue 1 includes other RAW images stored earlier, the target RAW image can be processed immediately after the large image processing path 1 processes the RAW images stored earlier.

[0144] As one implementation method, the target RAW image mentioned above refers to the fused RAW image corresponding to the shooting command. For example, the steps to obtain the target RAW image are as follows:

[0145] Step A1: In response to the shooting command, the camera HAL can retrieve the multi-frame RAW images related to the shooting command from the buffer queue 3.

[0146] For example, each RAW image in cache queue 3 corresponds to a preview frame, and each preview frame corresponds to a display time. That is, the RAW images in cache queue 3 also correspond to display times. The photo capture command also carries a photo capture timestamp.

[0147] It is understandable that multiple photo-taking commands will be generated consecutively during the same burst shooting process. Within the same burst shooting process, the timestamp of the first photo-taking command can be the point in time when the user instructs to take a photo. The timestamps of subsequent photo-taking commands can be the points in time when those commands are generated; this embodiment does not specifically limit this.

[0148] The RAW image related to the above-mentioned photo capture command can be a RAW image where the time interval between the display time and the photo capture timestamp is less than a preset time interval.

[0149] For example, the number of RAW images that can be stored in buffer queue 3 is limited. The camera sensor acquires RAW images in real time and stores them in buffer queue 3. After buffer queue 3 is full of RAW images, the oldest RAW image acquired in buffer queue 3 is deleted each time a new RAW image is stored. In this way, the RAW images in buffer queue 3 are continuously updated as the camera sensor acquires RAW images normally. In this example, when the camera HAL receives a shooting command, it can use all the RAW images in buffer queue 3 as the RAW images related to the shooting command.

[0150] Additionally, after identifying the multiple RAW frames related to the shooting command, the information of the shooting command (shooting timestamp, name information, etc.) can be added to the image information of the RAW frame to associate it with the shooting command. Specifically, the name information carried in the shooting command corresponding to burst shooting includes a marker field indicating burst shooting.

[0151] Step A2: The image fusion node can fuse the RAW images related to the shooting command to obtain the target RAW image related to the shooting command.

[0152] After opening the camera app and enabling the quality-priority burst shooting function, a burst shooting instruction is detected. In response to this instruction, the camera app begins sending shooting commands to the camera HAL. When the camera HAL receives the last M shooting commands, it retrieves the corresponding multi-frame RAW images from cache queue 3. After associating the retrieved multi-frame RAW images with the shooting commands, they are stored in cache queue 2. Cache queue 2 is unaffected by the camera app's running state, can exist for a long time, and has a large capacity. The RAW images stored in cache queue 2 do not require immediate processing. That is, after the multi-frame RAW images corresponding to the shooting commands are stored in cache queue 2, under certain conditions, the large image processing pathway 2 begins to perform one or more image processing operations based on the RAW images already stored in cache queue 2 to obtain the corresponding high-quality large image.

[0153] In a possible embodiment, when the camera HAL receives the next M capture commands, the camera HAL, in response to receiving the capture command, retrieves the multi-frame RAW images corresponding to the capture command from the buffer queue 3, and performs image fusion based on the multi-frame RAW images to obtain the corresponding target RAW image. Then, the target RAW image is stored in the buffer queue 2. After the target RAW image is stored in the buffer queue 2, under certain conditions, the large image processing path 2 can process the target RAW image to generate the corresponding large image data.

[0154] After opening the camera app and enabling the speed-priority burst shooting function, a burst shooting instruction is detected. In response to this instruction, the camera app sends a shooting command to the camera HAL. Upon receiving the shooting command, the camera HAL retrieves the multi-frame RAW images corresponding to the command from cache queue 3, as well as a reference RAW image selected from the multi-frame RAW images. Optionally, the reference RAW image can be any frame from the multi-frame RAW images corresponding to the shooting command. Optionally, the reference RAW image can also be an optimal RAW image selected from the multi-frame RAW images corresponding to the shooting command based on multiple dimensions such as image sharpness, image feature quantity, and image aesthetic score. The selected reference RAW image can then be stored in cache queue 4.

[0155] Optionally, in response to the reference RAW graph being stored in cache queue 4, if there are no other RAW graphs stored in cache queue 4 with an earlier time, the native processing path can generate the corresponding large graph data based on the reference RAW graph.

[0156] Understandable. Figure 1This is merely an example diagram of a software architecture for an electronic device; the electronic device may also include... Figure 1 Layers not shown, each layer may also include Figure 1 Software functional modules not shown. In subsequent embodiments, the focus will be on modules with... Figure 1 The electronic device with the software structure shown is described. Additionally, Figure 1 Although only the camera sensor of the electronic device is shown, the electronic device may also include... Figure 1 Other hardware not shown, such as other sensors, CPU, memory, GPU, etc.

[0157] The following uses mobile phone-shaped electronic devices as an example, along with accompanying diagrams, to illustrate application scenarios for enabling camera functions on electronic devices:

[0158] In some embodiments, the electronic device may guide the user to manually activate the burst shooting function.

[0159] The camera application is running in the foreground of the electronic device, such as Figure 3 As shown in (a) above, the shooting preview interface 301 of the photo mode is displayed. The shooting preview interface 301 includes a snapshot function icon 302.

[0160] Optionally, when the electronic device first runs a camera application that supports burst shooting, the capture function icon 302 is displayed in an "unselected" state, and a reminder bubble 303 is displayed relative to the capture function icon 302. For example, the reminder bubble 303 includes the text "Click to start capture" to guide the user to enable the capture function.

[0161] Optionally, when the electronic device is running a camera application that supports continuous shooting for the first time, the snapshot function is not enabled by default. Accordingly, the snapshot function icon 302 is displayed in an "unselected" state. In other embodiments, when the electronic device is running a camera application that supports continuous shooting for the first time, if the snapshot function was enabled the previous time the camera application was run, the snapshot function icon 302 is displayed in a "selected" state. Conversely, when the electronic device is running a camera application that supports continuous shooting for the first time, if the snapshot function was not enabled the previous time the camera application was run, the snapshot function icon 302 is displayed in an "unselected" state.

[0162] like Figure 3 As shown in (a), in response to the operation performed on the snapshot function icon 302, the following is displayed: Figure 3 The shooting preview interface 301 shown in (b) is shown in the figure.

[0163] For example, operations performed on the snapshot function icon 302 may include clicks, swipes, long presses, and other operations generated through direct contact with the display screen. Operations performed on the snapshot function icon 302 may also include detecting voice commands or air gestures that indicate operation on the snapshot function icon 302. Operations performed on other objects (e.g., other controls, images, interfaces) mentioned in subsequent embodiments are similar and will not be elaborated here.

[0164] Figure 3 The shooting preview interface 301 shown in (b) includes a selected snapshot function icon 302 and an unselected burst shooting function control 304, which can also be referred to as a second control. Additionally, if the electronic device has not yet enabled the burst shooting function, a reminder bubble 305 can be displayed relative to the burst shooting function control 304. For example, the reminder bubble 305 includes the text "Click to enable Super Burst Shooting" to guide the user to enable the burst shooting function.

[0165] In some embodiments, the continuous shooting function is enabled in response to an operation of the continuous shooting function control 304 acting on the "unselected mode".

[0166] For example, the process of activating the continuous shooting function includes: (1) displaying as shown in the image. Figure 3 The continuous shooting preview interface 306 shown in (c) is in the "selected state" of the continuous shooting function control 304 in the continuous shooting preview interface 306. The continuous shooting preview interface 306 can also be called the first interface. (2) Create a camera control channel for super continuous shooting, and allocate the camera sensor required for continuous shooting, etc. Among them, such as Figure 3 As shown in (c), the continuous shooting preview interface 306 includes a shutter control 308 with a continuous shooting indicator 307, which can also be called the first control.

[0167] After the continuous shooting function is activated, when the electronic device detects an operation on the touch shutter control 308, it can determine that an operation instructing continuous shooting has been detected. In response to this operation, it immediately acquires and generates corresponding image data. This corresponding image data can be a thumbnail of each frame of the continuous shooting image, also known as a continuous shooting thumbnail.

[0168] Understandably, after enabling the continuous shooting function, on the one hand, there's no need to wait for the shutter control 308 to be pressed for the preset duration before the continuous shooting instruction can be detected, saving the time spent recognizing the instruction. On the other hand, after recognizing the continuous shooting instruction, the time spent creating the camera control path is eliminated, allowing for immediate acquisition and generation of the corresponding image data, shortening the perceptible image return time and improving the user experience.

[0169] In other embodiments, the operation of instructing continuous shooting described above can also be an operation of quickly clicking the shutter control 308, and this application embodiment does not specifically limit this. Of course, the operation that acts on the shutter control 308 and can trigger continuous shooting can also be called the first operation.

[0170] In some embodiments, the burst shooting function can include multiple types, such as speed-priority burst shooting (also known as high-speed burst shooting) and quality-priority burst shooting (also known as high-quality burst shooting). In speed-priority burst shooting, large image data corresponding to each shooting command in the burst can be generated quickly. In quality-priority burst shooting, the image quality of the large image data corresponding to each shooting command in the burst needs to be ensured. In some embodiments, when the burst shooting function is enabled, the quality-priority burst shooting function is enabled by default. Of course, users can adjust the settings accordingly. Figure 4 The operation shown in (a) on the burst preview interface 306 switches the burst shooting function from quality-priority burst shooting to speed-priority burst shooting.

[0171] like Figure 4 As shown in (a), the burst preview interface 306 includes a storage icon 401. In response to a user's action on the storage icon 401 (e.g., a user swiping up relative to the storage icon 401), the following can be displayed: Figure 4 (b) shows the continuous shooting preview interface 306. Among them, Figure 4 (b) The burst shooting preview interface 306 shown includes: quick configuration icons corresponding to multiple auxiliary shooting functions. For example, automatic capture icon 402-1, super burst shooting icon 402-2, exposure icon 402-3 and watermark icon 402-4.

[0172] For example, the electronic device can turn the automatic capture function on or off in response to the user's operation of the automatic capture icon 402-1. When the automatic capture function is turned on, the electronic device can identify that the subject in the continuously acquired image data is in motion and automatically trigger a photo capture. That is, even without receiving a user's instruction to capture, it can automatically generate and store the corresponding large image data. For example, the electronic device can turn automatic exposure on or off in response to the operation of the exposure icon 402-3. For example, the electronic device can turn on or off adding a watermark to the captured image data in response to the user's operation of the watermark icon 402-4.

[0173] like Figure 4 As shown in (b), when the continuous shooting function is enabled, the Super Continuous Shooting icon 402-2 is displayed in a selected state. The electronic device can respond to the user's operation on the Super Continuous Shooting icon 402-2 by displaying as shown in (b). Figure 4As shown in (c), the automatic capture icon 402-1, super burst capture icon 402-2, exposure icon 402-3, and watermark icon 402-4 are removed from the display. Instead, the icons 403-1 (indicating burst capture function is off), 403-2 (indicating quality priority), and 403-3 (indicating speed priority) are displayed. Among icons 403-1, 403-2, and 403-3, only one icon is selected at any given time, while the other two are unselected.

[0174] For example, in Figure 3 In the scenario shown in (b), in response to the operation on the continuous shooting control 304, after the continuous shooting function is enabled, the quality-priority continuous shooting function is enabled by default. Accordingly, in Figure 4 In the scenarios shown in (b) and (c), after the electronic device receives an operation on the Super Burst icon 402-2, it displays as follows: Figure 4 Interface 306 is shown in (c). Among the icons 403-1, 403-2, and 403-3 displayed on the continuous shooting preview interface 306, icon 403-2, which indicates quality priority, is displayed in a selected state. In a possible embodiment, in Figure 3 In the scenario shown in (b), in response to the operation on the continuous shooting control 304, after enabling the continuous shooting function, the speed-priority continuous shooting function can also be enabled by default. Accordingly, as Figure 4 In the scenario shown in (b), after the electronic device receives the operation on the super burst icon 402-2, among the icons 403-1, 403-2 and 403-3 displayed on the burst preview interface 306, the icon 403-3 indicating speed priority is selected.

[0175] Additionally, when the continuous shooting function is enabled, such as Figure 4 As shown in (b), in response to the user's operation on the Super Burst Icon 402-2, the displayed Icon 403-1 is in an unselected state. In response to the operation applied to Icon 403-1, the burst shooting function can be turned off, and the selected Icon 403-1 can be displayed. As shown in the foregoing embodiments, the above operations can be clicks, long presses, swipes, voice commands, or gesture commands, etc.

[0176] Taking the continuous shooting function as an example, which defaults to quality-priority continuous shooting, such as... Figure 4 As shown in (c), the speed-priority icon 403-3 in the burst preview interface 306 is displayed in an unselected state. In response to the user's action on icon 403-3, the speed-priority burst shooting function is enabled, and the quality-priority burst shooting function is disabled. Accordingly, the electronic device can display... Figure 4 The continuous shooting preview interface 407 is shown in (d) in the image. Figure 4 In the continuous shooting preview interface 407 shown in (d), the icon 403-3 indicating speed priority is selected, while the icons 403-2 indicating quality priority and 403-1 indicating that continuous shooting is off are not selected. Additionally, the shutter control 308 in the continuous shooting preview interface 407 displays a continuous shooting indicator 405. The continuous shooting indicators 307 and 405 are different; 307 corresponds to the quality-priority continuous shooting function, and 405 corresponds to the speed-priority continuous shooting function, allowing users to easily distinguish the currently active type of continuous shooting function.

[0177] Continue as Figure 4 As shown in (d), the continuous shooting preview interface 407 also includes a back control 404. The back control 404 can be displayed adjacent to icons 403-1, 403-2, and 403-3. Figure 4 (d) After the burst preview interface 407, in response to the operation on the rewind control 404, the following is displayed: Figure 4 The burst preview interface 407 shown in (e) is shown in the image. Compared to... Figure 4 The continuous shooting preview interface 407 shown in (d) is shown in the middle. Figure 4 In the continuous shooting preview interface 407 shown in (e), icons 403-1, 403-2, and 403-3 are not displayed, but the snapshot function icon 302 and the continuous shooting function control 406 are displayed. The continuous shooting function control 406 represents the speed-priority continuous shooting function. Users can subsequently use the same operation to switch from the speed-priority continuous shooting function to the quality-priority continuous shooting function; this embodiment does not specifically limit this.

[0178] In a possible embodiment, by Figure 4 As shown in (a) to (d), after enabling the speed-priority continuous shooting function, if a user operation to disable the continuous shooting function is detected, such as an operation on the continuous shooting function control 406 or the snapshot function icon 302, the continuous shooting function can be disabled. After disabling the continuous shooting function, if another operation to enable the continuous shooting function is detected, the speed-priority continuous shooting function can be enabled in response to the operation to enable the continuous shooting function.

[0179] In other embodiments, the electronic device defaulting to continuous shooting means enabling a quality-priority continuous shooting function, through... Figure 4 As shown in (a) to (d), after enabling the speed-priority continuous shooting function, if a user's action to disable the continuous shooting function is detected, the continuous shooting function is disabled in response to the user's instruction to disable the continuous shooting function. After disabling the continuous shooting function, if another instruction to enable the continuous shooting function is detected, the quality-priority continuous shooting function is enabled by default in response to the instruction to enable the continuous shooting function.

[0180] Similarly, through similar Figure 4 In methods (a) to (d), after enabling the quality-priority continuous shooting function, the continuous shooting function is disabled in response to a user's instruction to disable it. After disabling the continuous shooting function, if another instruction to enable the continuous shooting function is detected, the quality-priority continuous shooting function can be enabled in response to that instruction.

[0181] The following is combined Figure 5 , Figure 6 and Figure 7 The implementation details of enabling either the quality-priority continuous shooting function or the speed-priority continuous shooting function are introduced respectively.

[0182] like Figure 5 As shown in (a), in response to an instruction to open the camera app, the electronic device runs the camera app in the foreground. For example, the electronic device can display a shooting preview interface provided by the camera app.

[0183] For example, in response to displaying the shooting preview interface, the camera application can control the camera sensor to start acquiring RAW images and sequentially store the acquired RAW images into the cache queue 3.

[0184] During the display of the shooting preview interface, the camera HAL retrieves RAW images captured in real-time by the camera sensor from buffer queue 3. These images are then processed by the camera HAL's preview path to generate preview frames corresponding to each RAW image. Afterward, the preview frames are passed to the operating system's display component, triggering their display in the shooting preview interface; that is, the preview frames are sent for display. For example, when RAW images are captured... Figures 1-7 RAW files can be generated and displayed sequentially. Figures 1-7 The corresponding preview frames are 1 to 7.

[0185] like Figure 5 As shown in (a), when the quality-priority burst shooting function is enabled, during the display preview frames 1-7, a user-instructed burst shooting operation is detected, for example, an operation acting on... Figure 3 The operation of the shutter control 308 shown in (c) refers to the detection of a high-quality continuous shooting operation. In response to the high-quality continuous shooting operation, the camera application can generate the first shooting command corresponding to the continuous shooting (e.g., shooting command 1). The camera HAL's thumbnail processing path can, in response to shooting command 1, select the corresponding reference RAW image from among the multiple RAW images corresponding to shooting command 1. The method for determining the multiple RAW images corresponding to shooting command 1 can be referred to the aforementioned embodiments and will not be repeated here. Figure 5 In the example shown in (a), RAW is selected. Figures 1-7This refers to the multi-frame RAW images corresponding to the photo capture command 1. Understandably, the multi-frame RAW images corresponding to photo capture command 1 are usually continuously captured RAW images with short acquisition intervals, and the image content (e.g., the subject appearing in the image and its position) is very similar between different RAW images. Optionally, the aforementioned reference RAW image can be any one or any number of frames from the multi-frame RAW images corresponding to photo capture command 1. Optionally, the aforementioned reference RAW image can also be an optimal RAW image selected from the multi-frame RAW images corresponding to photo capture command 1 based on multiple dimensions such as image sharpness, image feature quantity, and image aesthetic score. For example, Figure 5 As shown in (a) above, RAW Figure 4 Selected as the reference RAW image.

[0186] Continue as Figure 5 As shown in (a) above, determine the RAW Figure 4 After obtaining the reference RAW image corresponding to image capture command 1, the thumbnail processing path can process that RAW image. Figure 4 To obtain the corresponding abbreviation Figure 4 This data is then passed to the camera app. The camera app performs further processing, such as storing the thumbnail. Figure 4 For example, displaying thumbnails. Figure 4 This allows users to perceive that the burst of shots has begun to return images.

[0187] In addition, thumbnails generated by the thumbnail processing pathway can carry extended information, such as... Figure 5 The abbreviation shown in (a) Figure 4 The carried extension 1 can also be called target extension information 1.

[0188] As one implementation method, such as Figure 5 The abbreviation shown in (a) is as follows. Figure 4 Target extended information 1 can be as follows:

[0189] If Savepol icy is set to 0, it means that the large image data corresponding to the thumbnail needs to be stored by the camera application.

[0190] Continue as Figure 5 As shown in (a), in response to photographing command 1, after determining the multi-frame RAW images corresponding to photographing command 1, the image fusion node can perform image fusion processing based on the multi-frame RAW images corresponding to photographing command 1 to obtain the corresponding RAW image a. RAW image a is the target RAW image corresponding to photographing command 1. Figure 1 Also known as the first RAW image, the camera HAL can store the RAW image a into the buffer queue 1, which is called the first queue.

[0191] If RAW image a is stored in cache queue 1 and cache queue 1 does not contain other RAW images, large image processing path 1 can immediately perform one or more image processing operations based on RAW image a to obtain large image data a corresponding to capture command 1, that is, Figure 5 The large image 501 shown in (a) can be referred to as the first image. One or more image processing operations include: (1) noise reduction. (2) adjusting the display effect of RAW image a according to the 3A data of RAW image a. (3) beautifying RAW image a, adding filters, adding watermarks, etc. (4) operations to enhance image features.

[0192] like Figure 5 As shown in (a), after obtaining the large image data 'a' corresponding to the photo capture command 1, it is passed to the storage service for storage. Compared to storage by the camera application, if the camera application is closed before the large image data 'a' is fully stored, the large image data of photo capture command 1 will not be lost.

[0193] In some embodiments, Figure 5 In the scenario shown in (a), the RAW graph is not stored in the cache queue 2.

[0194] Additionally, the camera app receives the abbreviation corresponding to the photo capture command 1. Figure 4 Then, a second photo-taking command can be generated for this burst of shots, such as photo-taking command 2. Figure 5 As shown in (b), during the display preview frames 8-14, the camera application generates a photo capture command 2 and sends the photo capture command 2 to the camera HAL. In response to receiving the photo capture command 2, the camera HAL determines the RAW file in the buffer queue 3. Figures 8-14 These are the multi-frame RAW images corresponding to the photo capture command 2. Then, from the RAW... Figures 8-14 The reference RAW image corresponding to the photo capture command 2 is determined in the middle, for example, RAW Figure 12 .like Figure 5 As shown in (b), the thumbnail processing pathway can process this RAW file. Figure 12 To obtain the corresponding abbreviation Figure 12 This information is then passed to the camera app. The camera app can then display a thumbnail. Figure 12 The system prompts the user that continuous shooting is in progress, with images being returned frame by frame.

[0195] Similarly, the thumbnails generated by the thumbnail processing pathway Figure 12 It can also carry extended information, such as abbreviations. Figure 12 The carried extension 2 can also be called target extension information 2.

[0196] As one implementation method, such as Figure 5 The abbreviation shown in (b) is as follows. Figure 12 The target extended information 2 can be as follows:

[0197] Message = {

[0198] "type": extend

[0199] “scence”: QS

[0200] “Phontoinfo”: [{

[0201] “photo”:{

[0202] JpegName: IMG-2024-002 / / Represents the name information of the large image data in photo capture command 2;

[0203] Segmented: 1 / / This means that the RAW image corresponding to photo capture command 2 needs to be stored in cache queue 2;

[0204] Savepolicy: 1 / / This means that the large image data corresponding to this thumbnail needs to be stored by the storage service after it is generated.

[0205] Understandably, unlike generating the large image data for photo capture command 1, in this embodiment, it is not necessary to immediately generate the large image data for photo capture command 2. The camera HAL can instruct the dump service to generate the multi-frame RAW images (e.g., RAW files) corresponding to photo capture command 2. Figures 8-14 All RAW images are stored in cache queue 2, but not in cache queue 1. Cache queue 2 can also be called the second queue, and RAW images stored in cache queue 2 can be called second RAW images. There is a correspondence between the second RAW images stored in cache queue 2 and the shooting command, as well as a correspondence between the thumbnail of the shooting command.

[0206] Under certain conditions, large image processing path 2 can process the RAW images already stored in cache queue 2 to obtain the corresponding large image data. For example, it can obtain the large image data corresponding to shooting command 2. See the following for details. Figure 6 (a) in the middle.

[0207] Similarly, the camera app receives the abbreviation corresponding to the photo capture command 2. Figure 12 Then, a third photo-taking command can be generated for this burst of shots, such as photo-taking command 3.

[0208] like Figure 5 As shown in (c), during the display preview frames 15-21, the camera application generates a capture command 3 and sends the capture command 3 to the camera HAL. In response to receiving the capture command 3, the camera HAL determines from the buffer queue 3 that RAW images 15-21 are the multi-frame RAW images corresponding to the capture command 3. The thumbnail processing path selects a reference RAW image from RAW images 15-21 that corresponds to the capture command 3, for example, selecting a RAW... Figure 16 This serves as the reference RAW image for the photo capture command 3. The thumbnail processing path can process this RAW image. Figure 16 To obtain the corresponding abbreviation Figure 16 This information is then passed to the camera app. The camera app can then display a thumbnail. Figure 16 And, triggers the generation of the next photo-taking command for this burst of shots, and so on.

[0209] Similarly, abbreviation Figure 16 It also carries target extended information 2. Understandably, the abbreviation... Figure 16 Name information and abbreviation in target extended information 2 Figure 12 The name information in the target extended information 2 is different.

[0210] In addition, such as Figure 5 As shown in (c), in response to photographing command 3, the camera HAL can use the dump service to store the multi-frame RAW images corresponding to photographing command 3 into buffer queue 2, but not into buffer queue 1. Under certain conditions, large image processing path 2 can process the RAW images already stored in buffer queue 2 to obtain the corresponding large image data, such as the large image data corresponding to photographing command 3. See below for details. Figure 6 (b) in the middle.

[0211] During the period when the camera HAL receives photo capture commands 1-3, certain conditions are not met, such as the camera application being constantly running in the foreground. Figure 5 As shown in (c), when the multi-frame RAW image corresponding to the shooting command 3 is stored in the cache queue 2, the large image processing path 2 has not yet processed the multi-frame RAW image corresponding to the shooting command 2. In this scenario, the cache queue 2 also includes the multi-frame RAW image corresponding to the shooting command 2.

[0212] In some embodiments, the first Q large frames of the burst image are generated during the burst shooting process, and the last M large frames are generated after the burst shooting ends, or when there is sufficient idle system data. Here, Q + M = N. When Q = 0, M = N, meaning that all large image data are generated after the burst shooting ends.

[0213] When Q is greater than 0, during continuous shooting, when the camera HAL receives the first Q shooting commands, it refers to... Figure 5 The process is handled according to the flow shown in (a). During continuous shooting, when the camera HAL receives the last M shooting commands, it refers to... Figure 5 The process shown in (b) is followed.

[0214] For example, when Q equals 1, after detecting that the user has triggered a high-quality burst shooting operation, the electronic device follows... Figure 5The processes shown in (a), (b), and (c) sequentially process the three consecutively generated photo-taking commands. For example, when Q equals 2, after detecting that the user has triggered a high-quality burst shooting operation, the electronic device follows... Figure 5 The process shown in (a) handles photo capture command 1 and photo capture command 2. The electronic device follows... Figure 5 The process shown in (b) is for processing the photo-taking command 3.

[0215] In this way, during continuous shooting, it's unnecessary to generate all the large images corresponding to the burst shots, and it avoids consuming excessive system resources for image data processing, thus preventing performance issues such as overheating and stuttering during shooting. Furthermore, it shortens the processing time for multiple shooting commands during continuous shooting, improving the response speed of a single burst shot. Additionally, since the first large image of the burst shot is generated during shooting, if a user request to view the burst images is detected after shooting ends, the system can immediately display the first large image of the burst shots in response to this request, reducing the perceived burst image loading time for the user.

[0216] In other embodiments, all large-format image data of the burst shots can be generated after the burst shooting ends, or when there is sufficient idle system data. That is, during the burst shooting process, only thumbnails can be generated, without generating large-format image data of the burst shots. Accordingly, during the execution of the burst shooting process, each thumbnail generated carries target extended information 2, and the RAW image of each shooting command corresponding to the burst shooting is stored in the cache queue 2. In this way, under specific conditions, the large-format image processing path 2 sequentially generates large-format image data of each frame of the burst shots based on the RAW images in the cache queue 2.

[0217] In this way, during continuous shooting, there is no need to generate large image data or consume a lot of system resources to process image data, avoiding shooting performance issues such as overheating and lag during shooting, shortening the processing time for multiple shooting commands in continuous shooting, and improving the response speed of a single continuous shot.

[0218] Taking the camera application exiting foreground operation under specific conditions as an example, in response to the camera application switching from foreground to background operation, the application interfaces of other applications (such as desktop applications, gallery applications, etc.) are displayed. In response to exiting the camera application, the dump service sequentially retrieves multiple RAW frames corresponding to each photo-taking command from cache queue 2 according to the order of the photo-taking timestamps. Then, the large image processing path 2 in the dump service generates the large image data corresponding to that photo-taking command.

[0219] For example, the large image processing path 2 can perform one or more of the following image processing based on the multi-frame RAW images corresponding to the shooting command: (1) noise reduction. (2) adjusting the display effect of the target RAW image according to the 3A data of the target RAW image. (3) beautifying the target RAW image, adding filters, adding watermarks, etc. (4) fusing the target RAW image with other RAW images related to the shooting command 2 to improve image clarity. (5) using the AIGC algorithm to enhance image features.

[0220] In these two commands, the timestamps for taking photos (command 2 and command 3) can be the time when the command was generated. The timestamp for command 2 is earlier than the timestamp for command 3.

[0221] like Figure 6 As shown in (a), the dump service can first obtain the multi-frame RAW image (e.g., RAW) corresponding to the photo capture command 2 from the cache queue 2. Figures 8-14 Then, the large image processing path 2 is based on RAW. Figures 8-14 Image fusion is performed to obtain the target RAW image corresponding to the capture command 2, for example, RAW image b. Large image processing path 2 can perform one or more image processing operations based on RAW image b to generate large image data b corresponding to capture command 2, also known as large image 601, or the first image. Then, the dump service passes large image 601 to the storage service. The storage service stores large image 601. After storing large image 601, the storage space occupied by the RAW image corresponding to capture command 2 in cache queue 2 is released.

[0222] After that, as Figure 6 As shown in (b), the dump service continues to retrieve multi-frame RAW images (e.g., RAW images 15-21) corresponding to the photo-taking instruction 3 from the cache queue 2. The large image processing pathway 2 in the dump service generates the target RAW image corresponding to the photo-taking instruction 3, such as RAW image c. The large image processing pathway 2 can perform one or more image processing operations based on RAW image c to generate large image data c corresponding to the photo-taking instruction 3, also known as large image 602. Afterwards, the dump service passes large image 602 to the storage service. The storage service stores large image 602. Similarly, after storing large image 602, the storage space occupied by the RAW image corresponding to the photo-taking instruction 3 in the cache queue 2 can be released.

[0223] In some embodiments, if the dump service detects that a user intends to view the large image data of the photo capture command 2 during the process of synthesizing the large image data b, the synthesis of the large image data of the photo capture command 3 can be paused, and system resources can be scheduled to prioritize the synthesis of the large image data c of the photo capture command 3.

[0224] like Figure 7As shown in (a), when the camera application is running in the foreground of the electronic device, and in a scenario where the speed-priority continuous shooting function is enabled, the camera sensor sequentially stores the captured RAW images into buffer queue 3. The camera HAL retrieves the RAW images captured in real time by the camera sensor from buffer queue 3, and processes them through the camera HAL's preview path to generate preview frames corresponding to each RAW image. Then, the preview frames are passed to the operating system's display component to trigger the display of the preview frames, i.e., the preview frames are sent for display. For example, when RAW images are captured... Figures 1-7 It can generate and display RAW files sequentially. Figures 1-7 The corresponding preview frames are 1 to 7.

[0225] like Figure 7 As shown in (a), during the display of preview frames 1-7, a user-instructed burst shooting operation was detected, for example, an operation acting on... Figure 4 The operation of shutter control 308 shown in (e) refers to detecting a user triggering high-speed continuous shooting. In response to this trigger, the camera application can generate the first shooting command corresponding to the continuous shooting (e.g., shooting command 1). The camera HAL can select a reference RAW image from the multi-frame RAW images corresponding to shooting command 1. For example, in... Figure 7 In the example shown in (a), RAW is selected. Figures 1-7 This refers to the multi-frame RAW image corresponding to the photo capture command 1. In RAW Figures 1-7 In the middle, select RAW Figure 4 The RAW image serves as a reference for the first photo capture instruction.

[0226] Continue as Figure 7 As shown in (a) above, determine the RAW Figure 4 After obtaining the reference RAW image corresponding to image capture command 1, the camera HAL can process the RAW image. Figure 4 Store in cache queue 4. RAW Figure 4 After being stored in buffer queue 4, the native processing path can process single-frame RAW. Figure 4 The system generates a corresponding large image data 4 and passes it to the camera application. The camera application can then display and store this large image data 4, notifying the user that the burst mode has started processing the images.

[0227] For example, the native processing path can perform short-duration and simple image processing based on the reference RAW image. For example, (1) performing image noise reduction. (2) adjusting the display effect of the target RAW image based on the 3A data of the target RAW image.

[0228] In some embodiments, such as Figure 7 As shown in (a), the RAW image corresponding to the photo capture command 1 can be stored in cache queue 4, but not in cache queue 1 and cache queue 2.

[0229] Additionally, after receiving the large image data 4, the camera application can generate a second shooting command for this burst of shots, such as shooting command 2. Figure 7 As shown in (b), during the display preview frames 8-14, the camera application generates a capture command 2. After receiving the capture command 2, the camera HAL determines the RAW files in the buffer queue 3. Figures 8-14 This refers to the multi-frame RAW image corresponding to the capture command 2. The camera HAL can retrieve images from RAW. Figures 8-14 Select the reference RAW image that corresponds to the photo capture command 2. For example, select the RAW image. Figure 12 This serves as the reference RAW image for the photo capture command 2.

[0230] In determining RAW Figure 12 After obtaining the reference RAW image for image capture command 2, the camera HAL can capture the RAW image. Figure 12 Store in cache queue 4. RAW Figure 12 After being stored in buffer queue 4, the native processing path can be based on a single frame of RAW. Figure 12 This generates a large image data 12 and passes it to the camera application. The camera application can then display and store this large image data 12.

[0231] In some embodiments, such as Figure 7 As shown in (b), the RAW image corresponding to the photo capture command 2 can be stored in cache queue 4, but not in cache queue 1 and cache queue 2.

[0232] In addition, after the camera application receives the large image data 12, it can generate the third shooting command for this burst of shots, such as shooting command 3.

[0233] like Figure 7 As shown in (c), during the display preview frames 15-21, the camera application generates capture command 3. After receiving capture command 3, the camera HAL determines in buffer queue 3 that RAW images 15-21 are the multi-frame RAW images corresponding to capture command 3. The camera HAL can select a reference RAW image corresponding to capture command 3 from RAW images 15-21, for example, selecting a RAW image... Figure 16 This serves as the reference RAW image for the photo capture command 3.

[0234] In determining RAW Figure 16 After obtaining the reference RAW image corresponding to image capture command 3, the camera HAL can capture the RAW image. Figure 16 Stored in buffer queue 4. Afterwards, the native processing path can be based on the RAW of a single frame in buffer queue 4. Figure 16The system generates a large image data 16 and passes it to the camera application. The camera application can display and store the large image data 16. Additionally, in response to the large image data 16, the camera application can generate the next shooting command for this burst of shots, and so on.

[0235] In some embodiments, such as Figure 7 As shown in (c), the RAW image corresponding to the photo capture command 3 can be stored in cache queue 4, but not in cache queue 1 and cache queue 2.

[0236] As can be seen, in the speed-priority burst shooting function, large image data for each shooting command can be generated using the native processing channel during the burst shooting process. (Comparison) Figure 7 (a) and Figure 5 In the scenario shown in (a), generating the large image data 4 corresponding to photo capture command 1 is faster than generating the large image data a corresponding to photo capture command 1. (Comparison) Figure 7 (b) and Figure 6 In the scenario shown in (a), generating the large image data 12 corresponding to photo capture command 2 is faster than generating the large image data b corresponding to photo capture command 2. (Comparison) Figure 7 (c) and Figure 6 In scenario (b), generating the large image data 16 corresponding to photo capture command 3 is faster than generating the large image data c corresponding to photo capture command 3. However, the image quality of the large image data a corresponding to photo capture command 1 is higher than that of the large image data 4. Similarly, the image quality of the large image data b corresponding to photo capture command 2 is higher than that of the large image data 12. The image quality of the large image data c corresponding to photo capture command 3 is higher than that of the large image data 16. Users can choose to use either the quality-priority or speed-priority continuous shooting function according to their own shooting needs.

[0237] The following section will take the continuous shooting function with quality priority as an example to introduce the shooting method provided in the embodiments of this application.

[0238] like Figure 8 As shown in (a) above, the electronic device displays a burst shooting preview interface 306. The burst shooting preview interface 306 displays a preview frame 801, which can be image data generated from a RAW image acquired in real-time by the camera sensor, as mentioned in the previous embodiment.

[0239] In some embodiments, such as Figure 8 As shown in (a), when a user touches the shutter control 308, the electronic device can display the following in response to the touch operation: Figure 8 The continuous shooting real-time interface 802 shown in (b) is shown in the middle.

[0240] For example, a camera application can receive a touch event reported from the touch layer of the display screen, indicating that a user has touched the display area of ​​the shutter control 308. After the camera application determines that the touch event is not accidental, it can determine that the user has touched the shutter control 308.

[0241] During the display of the live burst mode 802, the electronic device can generate multiple shooting commands in sequence.

[0242] As one implementation method, the camera application generates multiple shooting commands corresponding to this burst of shots. The camera application generates the first shooting command for this burst (e.g., ...). Figure 5 Following the photo-taking command 1) shown in (a), the camera HAL responds to the first photo-taking command by generating a corresponding thumbnail 803 and returning the thumbnail 803 to the camera application, triggering the camera application to generate the next photo-taking command. The thumbnail 803 corresponds to... Figure 5 The abbreviation shown in (a) Figure 4 .

[0243] After generating thumbnail 803, the electronic device can, as... Figure 8 Thumbnail 803 is displayed on the gallery entry control 804 shown in (b).

[0244] For example, the gallery entry control 804 is displayed in the first position of the burst preview interface 306. After detecting the operation indicating burst shooting, the electronic device sequentially generates N frame thumbnails. Each time a thumbnail is generated, the thumbnail displayed in the first position is updated, so that the generated N frame thumbnails are displayed sequentially in the first position.

[0245] In addition, electronic devices can also be used in, for example Figure 8 The continuous shooting live interface 802 shown in (b) displays the number of continuous shots 805. For example, when the thumbnail 803 corresponding to the first shooting command is displayed in the first position, the number of continuous shots 805 displayed in the second position of the continuous shooting live interface 802 is the value "1".

[0246] Subsequently, for each thumbnail generated corresponding to a photo-taking command, the value of the burst shot count 805 is updated. For example, when generating the thumbnail of the i-th frame, the thumbnail of the i-th frame is displayed in the first position of the burst shot real-time interface 802, and the first burst shot count, denoted as i, is displayed in the second position. Here, i is a positive integer less than N. When generating the thumbnail of the (i+1)-th frame, the thumbnail of the (i+1)-th frame is displayed in the first position of the burst shot real-time interface 802, and the second burst shot count, denoted as i+1, is displayed in the second position.

[0247] In addition, each generated thumbnail can replace the original thumbnail displayed on the gallery entry control 804. In this way, during continuous shooting, the thumbnails displayed on the gallery entry control 804 are constantly refreshed, making users feel that the image return speed is very fast during continuous shooting.

[0248] In some embodiments, the electronic device can limit the number of photo capture commands that can be generated in a single burst, that is, limit the number of images that can be obtained in a single burst. For example, the number of photo capture commands that can be generated in a single burst can be limited to 30. Figure 8 In the scenarios shown in (b) and (c), after detecting an operation on the shutter control 308 (e.g., after the user touches the shutter control 308 with their finger and does not remove it), a shooting command is generated in response to the operation. After generating the thumbnail 806 corresponding to the thirtieth shooting command, as shown in... Figure 8 As shown in (c), after updating the continuous shooting quantity 805 to the value "30", a thumbnail 806 is displayed on the gallery entry control 804. Afterwards, even if the user's finger remains on the shutter control 308, the electronic device can switch the display as shown in [image / description]. Figure 8 The burst preview interface 306 shown in (d) indicates to the user that the current burst has ended. A thumbnail 806 is also displayed on the gallery entry control 804 of the burst preview interface 306.

[0249] In the above process, such as Figure 9 As shown, the camera application sends photo capture command 1 (the first photo capture command in this burst) to the camera HAL, and the camera HAL returns the abbreviated version of photo capture command 1. Figure 1 (That is, Figure 8 In the thumbnail shown in (b), 803, the camera application displays the number of shots in burst mode as "1" (805). The camera application sends a shooting command 2 (the second shooting command in this burst) to the camera HAL, and the camera HAL returns the thumbnail corresponding to shooting command 2. Figure 2 The camera app displays a value of "2" for the burst shot count of 805. Similarly, the camera app sends a photo capture command 30 (the thirtieth photo capture command in this burst) to the camera HAL. The camera HAL returns a thumbnail 30 corresponding to photo capture command 30 (i.e., ...). Figure 8 In the thumbnail shown in (b), 806, the camera application displays a burst shot count of "30" 805. Then, the burst shooting ends, and the burst shot count 805 is no longer displayed. Afterwards, under certain conditions, the camera HAL can generate the corresponding burst images, which consist of 30 large image data.

[0250] Additionally, in scenarios where burst shooting with speed priority is enabled, the camera app sends a capture command to the camera HAL, and the camera HAL returns a large image to the camera app. The camera app responds to this large image data by displaying the burst count of 805 or updating the burst count value to 805. The camera app can also generate the next capture command based on this large image data.

[0251] In other embodiments, the user can also manually instruct the continuous shooting to stop before the maximum number of shots is reached.

[0252] like Figure 10 As shown in (a), the electronic device displays a continuous shooting preview interface 306. Upon detecting a user touch on the shutter control 308, the electronic device can display, in response to this action, a continuous shooting preview interface 306. Figure 10 The burst shooting real-time interface 802 is shown in (b). Similarly, during this burst shooting process, the value of the burst shooting quantity 805 is updated after each thumbnail of a shooting command is generated. Figure 10 As shown in (b), after generating the thumbnail 803 of the first photo-taking command, the number of consecutive shots 805 with a value of "1" is displayed, and the generation of the next photo-taking command is triggered, and so on. After generating the thumbnail 901 of the eleventh photo-taking command, as shown in (b), Figure 10 As shown in (c), a thumbnail 901 can be displayed on the gallery entry control 804, and the value of the burst shot count 805 can be updated to "11". If a user instruction to stop burst shooting is detected at this time (e.g., the user's finger leaves the shutter control 308), the generation of the shooting command and the display of the thumbnail 901 can be stopped. Figure 10 The continuous shooting preview interface 306 is shown in (d). Figure 10 The gallery entry control 804 of the burst preview interface 306 shown in (d) also displays a thumbnail 901.

[0253] In the above process, such as Figure 11 As shown, the camera application sends photo capture command 1 (the first photo capture command in this burst) to the camera HAL, and the camera HAL returns the abbreviated version of photo capture command 1. Figure 1 (That is, Figure 10 In the thumbnail shown in (b), 803, the camera application displays the number of shots in burst mode as "1" (805). The camera application sends a shooting command 2 (the second shooting command in this burst) to the camera HAL, and the camera HAL returns the thumbnail corresponding to shooting command 2. Figure 2 The camera app displays a value of "2" for the burst shot count of 805. Similarly, the camera app sends a shooting command 11 (the eleventh shooting command in this burst) to the camera HAL. The camera HAL returns the abbreviation corresponding to shooting command 11. Figure 11 (That is, Figure 10In the thumbnail shown in (c) 901, the camera application displays a burst shot count of "11" 805. The camera application sends a shooting command 12 (the twelfth shooting command in this burst) to the camera HAL, generating the thumbnail corresponding to shooting command 12. Figure 12 Previously, a user instruction to stop continuous shooting was detected. The camera app received the thumbnail... Figure 12 Afterwards, in response to the instruction to stop continuous shooting, the thumbnails can be discarded directly. Figure 12 In addition, the original image data corresponding to the photo-taking command 12 is deleted to ensure that the number of large images corresponding to the subsequent burst images is 11, which is consistent with the number of burst images seen by the user before the burst ends, thus ensuring the user experience.

[0254] As shown in the previous embodiments, after enabling the quality-priority burst shooting function, a large number of RAW images are stored in the buffer queue 2 for each burst shot. In some embodiments, the number of RAW images that the buffer queue 2 can store is always limited. When the buffer queue 2 is full or about to be full (for example, a burst shot can capture a maximum of 30 images, but the remaining storage space in the buffer queue 2 is insufficient to store the RAW images corresponding to 30 shooting commands), the quality-priority burst shooting function is unavailable.

[0255] In some embodiments, when the quality-priority burst shooting function is unavailable and the user enables the quality-priority burst shooting function, such as Figure 12 As shown in (a), a prompt message 1201 is displayed on the continuous shooting preview interface 306, which includes the text "Continuous shooting limit reached, please try again later". Additionally, the shutter control on the continuous shooting preview interface 306 changes from shutter control 308 to shutter control 1202. The display format of shutter control 308 differs from that of shutter control 1202, indicating that the current function is limited.

[0256] In some embodiments, when the quality-priority continuous shooting function is unavailable, detecting a user-instructed shooting action may not trigger the shooting task, or it may only trigger the task of capturing a single frame image. For example, detecting a user touch on the shutter control 1202 may trigger a single shooting instruction in response to that action. Figure 12 As shown in (b), after receiving the thumbnail 1203 of the photo-taking command, the thumbnail 1203 is displayed on the gallery entry control 804 of the burst preview interface 306. Additionally, the prompt message 1201 continues to be displayed on the burst preview interface 306.

[0257] Afterwards, the camera application runs in the background, or if the camera application does not receive user interaction for an extended period, it can be determined that certain conditions are met. Under these conditions, large image processing path 2 synthesizes the corresponding large image data based on the RAW images in cache queue 2. After the large image data is synthesized, the processed RAW images in cache queue 2 can be deleted. This allows cache queue 2 to continue storing RAW images. That is, as... Figure 12 In the scenarios shown in (a) and (c), after displaying the prompt message 1201, the user follows the prompt and pauses the image capture for a period of time, as follows... Figure 12 As shown in (c), the electronic device can cancel the display of prompt message 1201. The shutter control in the continuous shooting preview interface 306 changes from shutter control 1202 to shutter control 308.

[0258] In other embodiments, if the quality-priority burst shooting function is unavailable, it can automatically switch to the speed-priority burst shooting function. After switching to the speed-priority burst shooting function, a corresponding reminder message can be displayed to notify the user that the speed-priority burst shooting function has been temporarily switched. Once the quality-priority burst shooting function becomes available, it can also be switched back to the quality-priority burst shooting function from the speed-priority function.

[0259] In some embodiments, after continuous shooting ends, in response to an operation performed on the gallery entry control 804, the most recently captured image from the continuous shooting can be displayed. For example, Figure 8 After the continuous shooting shown in (d) ends, the display will show... Figure 13A The burst preview interface 306 shown in (a) is as follows. In response to an operation on the gallery entry control 804 displaying thumbnails 806, or in response to an operation on the first position, the following can be displayed: Figure 13A The large image preview interface 1301 shown in (b) is the application interface of the image library application. The large image preview interface 1301 displays a large cover image with burst photos, such as large image data 1302. The image library application mentioned above can be a second application, and the large image preview interface 1301 can be a second interface provided by the second application.

[0260] Understandably, large image data 1302 can be the large image data corresponding to photo capture command 1. The process of generating large image data 1302 can be found in [reference needed]. Figure 5 The scene shown in (a) corresponds to large image data 1302. Figure 5The large image data 'a' shown in (a) will not be elaborated upon here. Large image data 1302 is generated before the continuous shooting ends. After the continuous shooting ends, a user instruction to view the continuous images is detected. In response to this operation, large image data 1302 can be displayed first. While displaying large image data 1302, other large image data corresponding to the continuous images can also be generated based on the RAW images in cache queue 2.

[0261] Understandably, a burst image refers to a set of image data composed of large image data from multiple photo-taking commands. When a user selects thumbnail 806, it indicates that the user intends to view the burst image corresponding to thumbnail 806. Accordingly, the gallery application can search the gallery database for the database record 'a' corresponding to the burst cover image of that burst image. This database record 'a' can be a database record created by the gallery database after the camera application receives thumbnail 803; details can be found in subsequent embodiments. This database record 'a' includes the name information carried in photo-taking command 1, which includes an identifier field indicating burst shooting. Additionally, in the scenario where the default large image data for photo-taking command 1 is a burst cover image, the name information carried in photo-taking command 1 can also include a field indicating the cover image, such as 'cover'.

[0262] If the name information in database record 'a' includes an identifier field, such as Figure 13A As shown in (a), after detecting an operation on thumbnail 806, in response to that operation, it is possible to... Figure 13A The large image preview interface 1301 shown in (b) displays an aggregation control 1303. Users can use the aggregation control 1303 to instruct others to view the images corresponding to the burst images.

[0263] In other embodiments, Figure 8 After the continuous shooting shown in (d) ends, the display will show as follows: Figure 13B The burst preview interface 306 is shown in (a) above. A thumbnail 806 is displayed on the gallery entry control 804 in the burst preview interface 306. In response to an operation indicating exiting the camera application, such as a swipe-up exit operation, ... Figure 13B As shown in (b), the electronic device can display an application interface 1701 for a desktop application. This application interface 1701 includes an application icon 1702 for a gallery application. The aforementioned desktop application can also be referred to as a second application, and the aforementioned application interface 1701 can also be considered a second interface.

[0264] In response to the action applied to application icon 1702, display the application interface of the Gallery application, for example... Figure 13B The grid preview interface 1703 is shown in (c). The grid preview interface 1703 includes thumbnails 1704. The thumbnails 1704 include aggregate icons 1705.

[0265] Understandably, thumbnail 1704 can be a thumbnail of the burst-shot cover image, and can also be called a cover thumbnail. If the burst-shot cover image has not been generated, thumbnail 1704 is a thumbnail generated based on the RAW image during the burst-shot process. If the burst-shot cover image has already been generated, thumbnail 1704 is a thumbnail generated based on the burst-shot cover image. For example, it could be an image obtained by downsampling the burst-shot cover image, or an image obtained by proportionally reducing the burst-shot cover image.

[0266] Continuing with the example of the large cover image taken in burst mode (image data 1302), thumbnail 1704 is a thumbnail of image data 1302. For example... Figure 13B As shown in (c) and (d), a user action on thumbnail 1704 is detected. In response to this action, a large image preview interface 1301, also known as a third interface, is displayed. Figure 13B The large image preview interface 1301 shown in (d) is... Figure 13A The large image preview interface 1301 shown in (b) is the same, both including large image data 1302 (the first image corresponding to thumbnail 1704) and aggregation control 1303.

[0267] Continue as Figure 13A As shown in (b), in response to an operation performed on the aggregation control 1303, the following can be displayed: Figure 13A The editing preview interface 1304 shown in (c) can also be referred to as the fourth interface. The display area 1305 of the editing preview interface 1304 displays P-frame thumbnails. The P-frame thumbnails can be part or all of the N-frame thumbnails generated during the same burst shooting process; they can also be called thumbnails corresponding to the burst images. The P-frame thumbnails can be arranged from left to right according to the order of their generation time. When a P-frame thumbnail is part of an N-frame thumbnail, the other part of the N-frame thumbnails is hidden. In response to an operation applied to the display area 1305, the thumbnails displayed in the display area 1305 can be updated, and the hidden thumbnails in the N-frame thumbnails can be displayed after the update. Furthermore, P can be a variable positive integer; for example, when switching from displaying the large image preview interface 1301 to displaying the editing preview interface 1304, the value of P is 3. After detecting a sliding operation applied to the display area 1305, P can gradually change to 4, then to 5; this embodiment does not specifically limit this change.

[0268] like Figure 13AAs shown in (c), the display area 1305 includes a selection box 1306. When the selection box 1306 overlaps with the display position of the thumbnail 803 of the photo capture command 1, the large image data 1302 is displayed in the editing preview interface 1304. A cover setting control 1310 is displayed relative to the selection box 1306. When the selection box 1306 overlaps with the display position of the thumbnail 803, and the large image data 1302 is a burst-shot cover image, the cover setting control 1310 is in an unselectable state.

[0269] like Figure 13A As shown in (c), in response to a user's left swipe operation in display area 1305, the display position of the thumbnail in display area 1305 also moves to the left, while the display position of the selection box 1306 can remain unchanged. For example, as... Figure 13A As shown in (c) and (d), thumbnail 803 moves from the center of display area 1305 to the far left of display area 1305. Since large image data 1302 is a continuous-shot cover image, after selection box 1306 and thumbnail 803 no longer overlap, as shown... Figure 13A As shown in (d), the electronic device can display cover label 1309 relative to thumbnail 803.

[0270] Additionally, thumbnail 1307-1 is the thumbnail corresponding to photo capture command 2. After moving it, as shown... Figure 13A As shown in (d), thumbnail 1307-1 continues to be adjacent to thumbnail 803. Thumbnail 1307-2 is the thumbnail corresponding to photo capture command 3. After being moved, as shown... Figure 13A As shown in (d), thumbnail 1307-2 continues to be adjacent to thumbnail 1307-2 and overlaps with the position of selection box 1306.

[0271] like Figure 13A As shown in (d), after the thumbnail 1307-2 (also known as the j-th frame thumbnail) overlaps with the display position of the selection box 1306, if the electronic device has already generated the large image data 1308 (also known as the second image) for the shooting instruction 3 using the large image processing path 2, the large image data 1308 is displayed in the editing preview interface 1304, for example, in the first area of ​​the editing preview interface 1304. If the electronic device has not yet generated the large image data 1308, system resources can be scheduled to prioritize the generation of the large image data 1308 corresponding to the shooting instruction 3 and display it in the editing preview interface 1304. In addition, since the large image data 1308 is not a burst-shot cover image, after the thumbnail 1307-2 overlaps with the display position of the selection box 1306, as shown in (d), the large image data 1308 is displayed in the first area of ​​the editing preview interface 1304. Figure 13A As shown in (d), the set cover control 1310 is displayed in the selectable state. In response to an operation on the set cover control 1310 in the selectable state, the electronic device can set the large image data 1308 as a burst cover image.

[0272] Additionally, following the user's left swipe, the display positions of thumbnails 803, 1307-1, and 1307-2 shift to the left. This allows the right side of display area 1305 to display other previously hidden thumbnails, such as thumbnail 1307-3 corresponding to photo capture command 4 and thumbnail 1307-4 corresponding to photo capture command 5. This enables the scrolling display of thumbnails corresponding to burst-shot images within display area 1305.

[0273] like Figure 14 As shown in (a), when large image data 1308 is displayed in the editing preview interface 1304, in response to the operation applied to large image data 1308, large image data 1308 is marked as selected. For example, selection indicator 1401 is displayed relative to large image data 1308, and selection indicator 1402 is displayed relative to thumbnails 1307-2.

[0274] In a possible embodiment, when the display positions of thumbnail 1307-2 and selection box 1306 do not overlap, in response to an operation applied to thumbnail 1307-2, such as a long press operation on thumbnail 1307-2, the display position of thumbnail 1307-2 is moved so that thumbnail 1307-2 overlaps with selection box 1306. At the same time, thumbnail 1307-2 and the corresponding large image data 1308 are directly selected. Accordingly, a selection mark (also known as a selection label) is displayed on both thumbnail 1307-2 and large image data 1308.

[0275] After that, as Figure 14 As shown in (b), the user's left swipe operation on display area 1305 is detected again, and in response to the left swipe operation, as follows: Figure 14 As shown in (c), thumbnails 1307-2, 1307-3, 1307-4, 1307-5, and 1307-6 are displayed in display area 1305. Among them, thumbnail 1307-4 (the second thumbnail) overlaps with the selection box 1306.

[0276] Similarly, if the electronic device has already generated the large image data 1403 for the image capture instruction 5 using the large image processing path 2, then... Figure 14 The large image data 1403 is displayed on the editing preview interface 1304 shown in (c). If the electronic device has not yet generated the large image data 1403, system resources can be allocated to prioritize the generation of the large image data 1403 corresponding to the photo capture command 5, and then displayed on [the screen]. Figure 14 The editing preview interface 1304 shown in (c) is shown in the figure.

[0277] like Figure 14As shown in (c) and (d) in the diagram, during the display of large image data 1403, in response to a user's selection operation (e.g., clicking) on ​​large image data 1403, a selection indicator 1404 can be displayed relative to large image data 1403, and a selection indicator 1405 can be displayed relative to thumbnails 1307-4.

[0278] In some embodiments, after a user triggers the selection of at least one frame of large image data through operations in the editing preview interface 1304, they can also trigger the deletion of that large image data through operations in the editing preview interface 1304. For example, in Figure 14 In the scenario shown in (a), in response to the user's action, after selecting the large image data 1308, as follows... Figure 15A As shown in (a), in the display area 1305 of the editing preview interface 1304, thumbnails 803, 1307-1, 1307-2, 1307-3, and 1307-4 are arranged sequentially from left to right. The editing preview interface 1304 also includes the large image data 1308 corresponding to thumbnail 1307-2. The thumbnail 1307-2 (also referred to as the first thumbnail) displays a selection indicator 1402 (also referred to as the selection label). The large image data 1308 (also referred to as the third image) displays a selection indicator 1401 (also referred to as the first selection label). Figure 15A As shown in (a), an operation on the delete control 2001 is detected, such as clicking the delete control 2001. In response to this operation, the following is displayed: Figure 15A The editing preview interface 1304 shown in (b) is as follows, where, Figure 15A The edit preview interface 1304 shown in (b) includes a reminder pop-up 2002.

[0279] For example, the reminder pop-up 2002 includes deletion prompt content, such as prompting the user to confirm the deletion of the selected large image. The reminder pop-up 2002 also includes a cancel deletion control 2003 and a confirm deletion control 2004.

[0280] If an operation is detected that affects the Cancel Delete control 2003, in response to that operation, continue to display as shown below. Figure 15A The editing preview interface 1304 is shown in (a) of the image.

[0281] If an operation is detected acting on the confirmation delete control 2004, in response to this operation, the large image data 1308 and the thumbnail 1307 are deleted. Additionally, in response to this operation, the following can also be displayed: Figure 15A The editing preview interface 1304 is shown in (c) of the diagram. Among them, Figure 15AThe editing preview interface 1304 shown in (c) does not include large image data 1308 and thumbnails 1307-2. Figure 15A In the display area 1305 shown in (c), thumbnails 803, 1307-1, 1307-3, 1307-4, and 1307-5 are arranged from left to right. After thumbnail 1307-2 is deleted, thumbnail 1307-3 (the second thumbnail) overlaps with selection box 1306. In response to the overlapping display of thumbnail 1307-3 and selection box 1306, if the large image corresponding to thumbnail 1307-3 has not yet been generated, the electronic device can allocate system resources to immediately generate the large image data 2005 (the fourth image) corresponding to thumbnail 1307-3, and display the large image data 2005 in the editing preview interface 1304.

[0282] Understandably, during the display of the editing preview interface 1304, after selecting multiple large image data frames, the user can also trigger the deletion of the selected multiple large image data frames and their corresponding thumbnails by operating the delete control 2001 in the editing preview interface 1304.

[0283] like Figure 15B As shown, the edit preview interface 1304 also includes a save-as control 1501. In response to an operation performed on the save-as control 1501, a prompt pop-up 1502 can be displayed. The prompt pop-up 1502 includes configuration items 1503, 1504, and 1505.

[0284] In some embodiments, in response to an operation acting on configuration item 1503, the electronic device can save the large image data selected by the user in a burst of images in the gallery application.

[0285] In response to the operation applied to configuration item 1503, "Save Larger Image Data in Gallery Application" means: in the gallery database, generate a "Save Database Record" corresponding to the selected large image data.

[0286] Understandably, during continuous shooting, the camera application can trigger the gallery database to generate a native database record for each shooting command. Specific implementation details can be found in subsequent embodiments. This native database record includes the name information carried in the shooting command. The same continuous image corresponds to multiple native database records, with their generation times adjacent, and the name information they contain includes an identifier field indicating continuous shooting. For example, database record 'a' mentioned in the previous embodiment could be the native database record corresponding to the large cover image of the continuous image. After generating the large image data of the continuous images, the gallery database can associate the image information of each frame of the large image data with the corresponding native database record. Specific implementation details can be found in subsequent embodiments.

[0287] In the above embodiment, after detecting the user's instruction to save large image data 1308 and large image data 1403, in response to the operation, separate save database records can be created for large image data 1308 and large image data 1403. The save database records, compared to the original database records, do not include a continuous shooting indicator field in their name information.

[0288] In some embodiments, after creating a saved database record for large image data 1308 and a saved database record for large image data 1403, the original database records for large image data 1308 and large image data 1403 can be deleted from the gallery database, while retaining the original database records for large image data that were not selected in the burst images. In this way, the gallery application can still respond to user actions and display other large image data in the burst images besides large image data 1308 and large image data 1403.

[0289] After creating the save-as-a-database records for large image data 1308 and large image data 1403, in response to the user's second operation, the grid preview interface of the image library application is displayed. The grid preview interface includes thumbnails 1704 of the burst cover image (e.g., large image data 1302), thumbnails of large image data 1308, and thumbnails of large image data 1403. Thumbnail 1704 includes an aggregation icon, while the thumbnails of large image data 1308 and large image data 1403 do not. If large image data 1308 is the fourth image, the thumbnail of large image data 1308 can also be called the fourth thumbnail, which can be an image obtained by downsampling or proportionally reducing the size of large image data 1308. In the case where the aforementioned large image data 1403 is the fifth image, the thumbnail of the aforementioned large image data 1403 can also be called the fifth thumbnail, which can be an image obtained by downsampling or proportionally reducing the large image data 1403.

[0290] For example, in response to an operation applied to a thumbnail of the burst cover image, it can be displayed again. Figure 13A The large image preview interface 1301 shown in (b) is different in that, in response to the operation performed on the large image preview interface 1301, the edit preview interface 1304 that is displayed again does not contain the thumbnails corresponding to the large image data 1308 and the large image data 1403.

[0291] For example, in response to an operation performed on the grid preview interface, such as clicking the thumbnail of large image data 1308 in the grid preview interface, the gallery application can find the corresponding saved database record for large image data 1308 through the gallery database. Since the saved database record does not contain an identifier field indicating continuous shooting, the gallery application does not display the aggregation control when displaying large image data 1308.

[0292] For example, in response to an operation on the grid preview interface, such as clicking the thumbnail of large image data 1403 in the grid preview interface, the gallery application can find the corresponding saved database record for large image data 1403 through the gallery database. Since the saved database record does not contain an identifier field indicating continuous shooting, the gallery application does not display the aggregation control when displaying large image data 1403.

[0293] In other embodiments, after creating the saved database records corresponding to large image data 1308 and large image data 1403, all native database records corresponding to the burst images can be deleted from the image library database, as well as the related data of the large image data that was not selected in the burst images. For example, if the large image data that was not selected has already been generated, it can be deleted. Or, if the large image data that was not selected has not been generated, the RAW image used to generate the large image data can be deleted.

[0294] In this embodiment, after creating the save-as-a-database records for large image data 1308 and large image data 1403, the grid preview interface of the gallery application is displayed in response to user operation. The grid preview interface includes thumbnails of large image data 1308 and large image data 1403, but does not include thumbnail 1704 of the burst cover image of the burst images (e.g., large image data 1302).

[0295] In some embodiments, such as Figure 15B As shown, in response to the operation applied to configuration item 1504, the electronic device saves all large image data corresponding to the burst images. For details, please refer to Save Large Image Data 1308 and Large Image Data 1403, which will not be elaborated here.

[0296] In some embodiments, after saving all the large image data of the burst images, all native database records corresponding to the burst images in the gallery database can be deleted. After saving all the large image data corresponding to the burst images, in response to user interaction, the gallery application's grid preview interface is displayed. The grid preview interface includes thumbnails of each frame of large image data corresponding to the burst images, but does not include thumbnails of the burst cover image. In a possible embodiment, after saving all the large image data of the burst images, the native database records corresponding to the burst images in the gallery database may not be deleted. After saving all the large image data corresponding to the burst images, in response to user interaction, the gallery application's grid preview interface is displayed. The grid preview interface includes thumbnails of the burst cover image (e.g., large image data 1302) and thumbnails of each frame of large image data corresponding to the burst images.

[0297] In some embodiments, in response to an operation performed on configuration item 1505, the display of the prompt pop-up 1502 is cancelled.

[0298] like Figure 16 As shown, after receiving the user's operation of selecting multiple frames of large image data, the editing preview interface 1605 is displayed. The editing preview interface 1605 includes a comparison control 1602.

[0299] In response to the user's action on the comparison control 1602, the comparison interface 1603 is displayed. The comparison interface 1603 includes the large image data selected by the user and a thumbnail of the selected large image data.

[0300] Understandably, the number of large images that can be displayed on the same screen is limited; for example, a maximum of four large images can be displayed. If the user has selected more than four large images, only four large images can be displayed in the comparison interface 1603. For example, the four large images displayed can be selected at a time earlier than the other large images, or the timestamps of the four large images displayed can be earlier than the other large images selected by the user.

[0301] For example, after detecting that the user sequentially selects the large image data corresponding to thumbnails 1604-1, 1604-2, 1604-3, 1604-4, and 1604-5, such as... Figure 16 As shown, in response to the user's operation on the comparison control 1602, the comparison interface 1603, i.e., the fifth interface, is displayed. The thumbnails 1604-1, 1604-2, 1604-3, 1604-4, and 1604-5 mentioned above include a second thumbnail and a third thumbnail. Furthermore, as shown in the previous embodiment, when the second thumbnail is selected, a second selection label can be displayed relative to the fourth image of the second thumbnail; when the third thumbnail is selected, a third selection label can be displayed relative to the fifth image of the third thumbnail.

[0302] The comparison interface 1603 includes large image data 1605-1, 1605-2, 1605-3, and 1605-4. These large image data 1605-1, 1605-2, 1605-3, and 1605-4 include a fourth image corresponding to the second thumbnail and a fifth image corresponding to the third thumbnail.

[0303] The comparison interface 1603 also includes thumbnails 1604-1, 1604-2, 1604-3, 1604-4, and 1604-5. Thumbnail 1604-1 corresponds to the large image data 1605-1, thumbnail 1604-2 corresponds to the large image data 1605-2, thumbnail 1604-3 corresponds to the large image data 1605-3, and thumbnail 1604-4 corresponds to the large image data 1605-4. For example... Figure 16 As shown, in comparison interface 1603, thumbnails 1604-1, 1604-2, 1604-3, and 1604-4 are all selected, while thumbnail 1604-5 is unselected.

[0304] For example, in response to an operation applied to a selected thumbnail, the corresponding large image data can be de-displayed, and the large image data displayed in the interface can be rearranged. For instance, in response to an operation applied to thumbnail 1604-4, large image data 1605-4 can be de-displayed, and in the comparison interface 1603, large image data 1605-1, 1605-2, and 1605-3 can be rearranged in top-to-bottom order. Continuing the previous example, in response to an operation applied to thumbnail 1604-3, large image data 1605-3 can be de-displayed, and in the comparison interface 1603, large image data 1605-1 and 1605-2 can be rearranged in top-to-bottom order.

[0305] For example, in response to an operation on a thumbnail that is in an unselected state, such as clicking thumbnail 1604-5, the large image data corresponding to thumbnail 1604-5 can be displayed. Alternatively, thumbnail 1604-5 becomes selected.

[0306] Figures 17-19 It is shown that: in Figure 3 and Figure 8 In the scenario shown, this illustrates the signaling interaction between the software and hardware modules of the electronic device when executing the shooting method. For example... Figure 17 As shown, the above method may include:

[0307] S1, the camera application's burst mode switching module receives a user instruction to enable the quality-priority burst mode.

[0308] In some embodiments, Figure 3 In the scenario shown in (b), when an operation is detected on the burst shooting function control 304, the burst shooting mode switching module can recognize that the user has instructed to activate the quality-priority burst shooting function. In other embodiments, when the user speaks a voice command to activate the quality-priority burst shooting function, the burst shooting mode switching module can also recognize that the user has instructed to activate the quality-priority burst shooting function; this application embodiment does not specifically limit this.

[0309] S2, the continuous shooting mode switching module indicates that the continuous shooting control module is set to a high-quality continuous shooting indicator.

[0310] For example, the continuous shooting control module can query and update the value of the shooting function flag bit. A value of 3 for the shooting function flag bit indicates that the quality-priority continuous shooting function is enabled. A value of 4 for the shooting function flag bit indicates that the speed-priority continuous shooting function is enabled. A value of 5 for the shooting function flag bit indicates that the continuous shooting function is not enabled. Values ​​3, 4, and 5 can be different characters, and their specific values ​​are not limited in this embodiment. In some embodiments, the continuous shooting control module can set the high-quality continuous shooting flag by configuring the shooting function flag bit to a value of 3.

[0311] S3, the continuous shooting control module calls the camera service to instruct the creation of a camera control path for super continuous shooting.

[0312] S4, the camera service instructs the camera HAL to create a camera control path for super burst shooting.

[0313] The camera control channel can include multiple functional nodes, and different functional nodes can form different control paths, image processing paths, etc. See details for further information. Figure 1 The examples shown will not be repeated here.

[0314] S5, Camera HAL initializes the camera sensor.

[0315] In some embodiments, the camera HAL can initialize the camera sensor through the camera control channel. For example, it can configure camera parameters (such as output format, output size, exposure time, etc.) to the camera sensor and control the camera sensor to start current.

[0316] S6, camera sensor acquires RAW images.

[0317] S7, the camera sensor stores the acquired RAW image into the camera HAL's buffer queue 3.

[0318] In some embodiments, the camera sensor can transmit the acquired RAW images to the camera HAL. For example, the camera sensor stores the real-time acquired RAW images in a buffer queue 3 (also known as the third queue). The preview path in the camera control channel can generate a preview frame based on the RAW images in the buffer queue 3, and transmit the preview frame to the display component in the operating system through the camera service. The display component then instructs the electronic device to display the preview frame.

[0319] The RAW images captured by the camera sensor can carry a corresponding acquisition timestamp. After the electronic device displays the preview frame corresponding to the RAW image, the time when the preview frame was sent can also be linked.

[0320] In a possible embodiment, the camera control path for super burst shooting described above can be created when the camera application is opened. That is, S3 to S7 can be executed after the operation of opening the camera application is detected. This application embodiment does not specifically limit this.

[0321] After enabling the Super Burst mode, for example, in Figure 17 After S7, such as Figure 18 As shown, the above method also includes:

[0322] S101, the camera shutter control recognizes the user's touch of the shutter control 308.

[0323] In some embodiments, after a user touches the shutter control 308, the process immediately proceeds to S102. In other embodiments, after a user touches the shutter control 308, the LongClickProcessor can be instructed to count the duration of contact between the user and the display area of ​​the shutter control 308 to determine whether it is a long press operation (or, whether it is a non-accidental touch operation). After determining that it is a long press operation (or a non-accidental touch operation), the process immediately proceeds to S102.

[0324] S102, The shutter control sends notification 1 to the shutter status control module.

[0325] In some embodiments, the above notification 1 may indicate that the user has instructed to start continuous shooting, which is used to trigger the process to enter S103.

[0326] S103, the shutter status control module queries the high-quality continuous shooting indicator through the continuous shooting control module.

[0327] In some embodiments, in response to notification 1, the shutter state control module can obtain the value of the shooting function flag bit through the continuous shooting control module. If the obtained value is 3, it is determined that a high-quality continuous shooting flag has been found, and the process proceeds to S104.

[0328] S104, the shutter state control module changes the shutter state marker from value 1 (ShutterIdleState) to value 2 (ShutterMultiCapturingState), indicating that continuous shooting mode has been entered.

[0329] S105, the shutter status control module indicates that the continuous shooting control module has started continuous shooting.

[0330] In some embodiments, the shutter state control module can send a capture command to the continuous shooting control module to instruct it to start continuous shooting. After receiving the capture command, the continuous shooting control module can determine that the current continuous shooting scene is quality-priority based on the shooting function flag bit being set to 1, and that the continuous shooting task has not yet started (e.g., the first shooting command has not yet been generated), and the process proceeds to S106.

[0331] S106, the continuous shooting control module sends a continuous shooting preprocessing instruction to the thumbnail storage module.

[0332] S107, The thumbnail storage module generates prefix information for the image names of this burst of shots.

[0333] The prefix information is the common part of the name information of the large image data generated from this burst of shooting, such as IMG-2024. This application embodiment does not specifically limit the rules for generating the prefix information. Additionally, the generated prefix information may include an identifier field indicating the burst of shooting.

[0334] S108, the thumbnail storage module sends the generated prefix information to the continuous shooting control module.

[0335] S109, The continuous shooting control module sends a shooting command 1 to the camera service.

[0336] The name information 1 carried by the photo-taking command 1 includes prefix information. If the first large frame of the default burst image is the burst cover image, the name information 1 also includes a field indicating the cover image. In possible embodiments, the photo-taking command 1 also includes a photo-taking timestamp, and may also carry other information, such as an identifier indicating the currently enabled camera mode; this application embodiment does not specifically limit this.

[0337] S110, the camera service sends a photo-taking command 1 to the camera HAL.

[0338] S111, the camera HAL determines the multi-frame RAW image and reference RAW corresponding to the shooting command 1 from the buffer queue 3. Figure 1 .

[0339] In some embodiments, after S6, the camera sensor begins to continuously acquire RAW images and stores the real-time acquired RAW images in the buffer queue 3. In response to the capture command 1, the camera HAL can retrieve the multi-frame RAW images corresponding to the capture command 1 from the buffer queue 3. The method for determining the multi-frame RAW images corresponding to the capture command 1 can refer to the aforementioned embodiments. Of course, in addition to determining the multi-frame RAW images based on the display time and the capture timestamp in the capture command 1 as mentioned in the aforementioned embodiments, the multi-frame RAW images can also be determined based on the capture timestamp of the RAW image itself and the capture timestamp in the capture command 1.

[0340] After determining the multi-frame RAW images corresponding to shooting command 1, the reference RAW image corresponding to shooting command 1 can also be determined from the multi-frame RAW images corresponding to shooting command 1. Figure 1 Determine the reference RAW Figure 1 The methods can be referred to in the relevant technologies or the foregoing embodiments, and will not be elaborated here.

[0341] S112, Camera HAL generates target RAW Figure 1 target abbreviation Figure 1 And, to shorten the target Figure 1 Add target extended information 1.

[0342] Among them, the target is abbreviated. Figure 1 Corresponding to Figure 5 The abbreviation shown in (a) is as follows. Figure 4 target abbreviation Figure 1 The extended information can be the target extended information 1 mentioned in the aforementioned embodiments. Target extended information 1 includes relevant information about the large image data corresponding to the photo-taking command 1. For example, the relevant information may include: name information 1 (e.g., IMG-2024-001). Additionally, the relevant information also includes an indication of the target RAW file corresponding to the photo-taking command 1. Figure 1 Information that needs to be stored in cache queue 1.

[0343] S113, Camera HAL sends target thumbnail to camera service. Figure 1 .

[0344] S114, Camera service sends target thumbnail to continuous shooting control module Figure 1 .

[0345] S115, The continuous shooting control module sends the target thumbnail to the thumbnail display module. Figure 1 .

[0346] S116, The thumbnail display module displays the target thumbnail. Figure 1 .

[0347] S117, the continuous shooting control module sends the target thumbnail to the thumbnail storage module. Figure 1 .

[0348] In some embodiments, S117 and S115 are steps following S114, and there is no necessary order between S117 and S115.

[0349] S118, The thumbnail storage module thumbnails the target. Figure 1 Stored in the thumbnail cache. The target thumbnail... Figure 1 The storage name in the thumbnail cache is Name Information 1.

[0350] In some embodiments, the thumbnail cache is a portion of the storage space corresponding to the file system. For example, the storage path corresponding to the thumbnail cache in the file system could be: / Storage / DCIM / Camera / cache. Target thumbnail Figure 1 The name information carried is IMG-2024-001, target abbreviation. Figure 1 The storage name under / Storage / DCIM / Camera / cache is IMG-2024-001.

[0351] S119, the thumbnail storage module responds to receiving the target thumbnail Figure 1 Send name information 1 to the media database.

[0352] In some embodiments, there is no necessary order between S118 and S119.

[0353] S120, the media database generates database record a corresponding to name information 1.

[0354] S121, Media database notification, gallery database scan thumbnail cache.

[0355] In some embodiments, the media database sends a scan notification to the gallery database, triggering the image database to scan the thumbnail cache, that is, to scan the thumbnails stored under / Storage / DCIM / Camera / cache.

[0356] Understandably, / Storage / DCIM / Camera / cache is a pre-agreed storage path for storing thumbnails. When the gallery database receives a scan notification, it can perform a scan according to the pre-agreed storage path. In possible embodiments, the scan notification may carry the storage path to be scanned, but this application does not limit this.

[0357] Optionally, the scan notification may also include a target thumbnail. Figure 1Name information 1 allows the image library database to scan the thumbnail cache according to name information 1, and to find the target thumbnail. Figure 1 Then, the process proceeds to S122.

[0358] Optionally, the scan notification may not include the name information of the target thumbnail. The gallery database can traverse all thumbnails in the thumbnail cache. When it reaches a thumbnail for which a database record has not yet been generated in the gallery database, it creates the database record for that thumbnail, i.e., including executing S122.

[0359] S122, after scanning the target thumbnail Figure 1 At that time, the image library database generates database record a.

[0360] Optionally, in target abbreviation Figure 1 When the target extended information 1 is included, the generated database record a includes name information 1 and identifier 1, indicating the target abbreviation. Figure 1 The corresponding RAW graph is stored in cache queue 1. Target thumbnail Figure 1 The corresponding RAW image can be the RAW image corresponding to shooting command 1 (e.g., the target RAW). Figure 1 ).

[0361] Optionally, in target abbreviation Figure 1 When the target extended information 1 is included, the database record b may also include the name information 1, but not the identifier 1. This application embodiment does not specifically limit this.

[0362] S123, the camera HAL generates the corresponding target RAW image based on the multi-frame RAW image corresponding to the capture command 1. Figure 1 .

[0363] In some embodiments, by fusing multiple RAW frames, a target RAW image with better image quality and richer image features can be obtained. Figure 1 Based on target RAW Figure 1 The generated large image data has higher clarity. As one implementation method, S123 can be performed by the image fusion node in the camera HAL.

[0364] S124, camera HAL will target RAW Figure 1 Store in cache queue 1.

[0365] S125, camera HAL based on target RAW in buffer queue 1 Figure 1 Generate the corresponding target size Figure 1 .

[0366] In some embodiments, the target RAW can be generated by the large image processing path 1 of the camera HAL. Figure 1 The corresponding target is large Figure 1 For specific implementation details, please refer to the examples described above. Figure 5 In (a), the target is large. Figure 1 Corresponding to Figure 5 The large image data 'a' shown in (a) will not be elaborated upon here.

[0367] Furthermore, S112 and S123 are steps executed after S111; there is no necessary order between them. It's understandable that generating a thumbnail takes less time than generating the large image data. If the target thumbnail is created simultaneously... Figure 1 And the goal is big Figure 1 Generate target abbreviation Figure 1 The time is earlier than the target size generated Figure 1 The time frame. That is, S112 to S122 will be executed before S123.

[0368] S126, Camera HAL sends target data to storage service. Figure 1 .

[0369] S127, storage services will target large Figure 1 Store it in the storage space corresponding to the file system.

[0370] In some embodiments, the target is large Figure 1 The storage path in the file system could be / Storage / DCIM / Camera / . (Target size) Figure 1 The storage name under the file system is Name Information 1, for example, IMG-2024-001. Understandably, whether the camera application is running in the foreground or background will not affect the storage service. During continuous shooting, even if the camera application process is unexpectedly destroyed, the target data stored by the storage service will still be protected. Figure 1 It will not be lost, ensuring the reliability of the storage of the acquired images.

[0371] In some embodiments, the storage service is available when the storage target is large. Figure 1 Afterwards, you can also delete the target thumbnail from the thumbnail cache. Figure 1 In other possible embodiments, the target abbreviation may not be deleted. Figure 1 This application does not specifically limit this aspect.

[0372] S128, the storage service sends the target data to the media database. Figure 1 Image information.

[0373] The image information mentioned above may include the original image size, resolution, exposure time, name information 1, acquisition time (the timestamp carried in the photo capture command 1), acquisition location, and information of the camera sensor that captured the image.

[0374] S129, the media database will target large Figure 1 The image information is associated with database record 1.

[0375] S130, the media database notifies the gallery database to synchronize data.

[0376] In some embodiments, the media database may send a synchronization notification to the gallery database. Optionally, the synchronization notification may or may not carry name information 1.

[0377] S131, the image database will target large Figure 1 Image information is associated with database record a

[0378] Understandably, both database record a and database record 1 contain name information 1. Optionally, when the synchronization notification includes name information 1, the gallery database can locate database record 1 in the media database according to name information 1, obtain the image information associated with database record 1, and associate it with database record a. Optionally, when the synchronization notification does not include name information 1, the gallery database determines that database record a has not yet been associated with image information, locates database record 1 in the media database according to name information 1 in database record b, obtains the image information associated with database record 1, and associates it with database record a.

[0379] Afterwards, other applications can view and manipulate the target image through the gallery database. Figure 1 .

[0380] Additionally, target abbreviation Figure 1 It can also trigger the continuous shooting control module to generate the next shooting command, namely, shooting command 2. For example... Figure 19 As shown, after S114, the following steps are also included:

[0381] S201, the continuous shooting control module of the camera application sends a shooting command 2 to the camera service. The shooting command 2 (also known as the first shooting command) carries name information 2, which also includes prefix information. Name information 1 and name information 2 are different.

[0382] For example, the photo-taking command 2 may also include a photo-taking timestamp, which may be the time point at which the photo-taking command 2 was generated. The photo-taking command 2 may also include an identifier indicating the current camera mode.

[0383] S202, The camera service sends a photo-taking command 2 to the camera HAL.

[0384] S203, the camera HAL selects the multi-frame RAW image corresponding to the shooting command 2 and the reference RAW image from the buffer queue 3. Figure 2 .

[0385] In some embodiments, the implementation details of S203 described above can be referred to in the foregoing embodiments. Figure 5 In (b), the multi-frame RAW image corresponding to the photo capture command 2 can also be called the third RAW image. (Refer to RAW) Figure 2 (Also known as the first reference RAW chart) corresponds to Figure 5 RAW shown in (b) Figure 12 This will not be elaborated upon here.

[0386] S204, Camera HAL Generation Reference RAW Figure 2 target abbreviation Figure 2 And, to shorten the target Figure 2 Add target extended information 2.

[0387] The target extended information 2 (which can also be called the first extended information) includes relevant information about the large image data corresponding to the photo-taking command 2. Target thumbnail Figure 2 This can also be referred to as the sixth thumbnail. For example, the relevant information may include: name information 2 (e.g., IMG-2024-002), also known as the first name information, and information (or identifiers) indicating that the multi-frame RAW images corresponding to the photo capture command 2 need to be stored in the cache queue 2.

[0388] S205, Camera HAL sends target thumbnail to camera service. Figure 2 .

[0389] S206, The camera service sends a target thumbnail to the continuous shooting control module. Figure 2 .

[0390] In some embodiments, if the number of shooting commands generated in this burst of shooting does not reach a preset maximum number (e.g., 30), the target is minimized. Figure 2 This can trigger the continuous shooting control module to generate the next shooting command (e.g., the second shooting command). Based on the next shooting command, steps S201 to S215 are repeated. For example, multiple frames of fourth RAW images corresponding to the second shooting command are retrieved from the third queue. A second reference RAW image is selected from the multiple frames of fourth RAW images, and a seventh thumbnail is generated based on the second reference RAW image. This process continues, and will not be elaborated further here.

[0391] S207, The continuous shooting control module sends the target thumbnail to the thumbnail display module. Figure 2 .

[0392] S208, Thumbnail display module displays target thumbnail Figure 2 .

[0393] S209, The continuous shooting control module sends the target thumbnail to the thumbnail storage module. Figure 2 .

[0394] S210, the thumbnail storage module thumbnails the target. Figure 2 Store in thumbnail cache.

[0395] Among them, the target is abbreviated. Figure 2 The storage name in the thumbnail cache area (also known as the target storage area) is Name Information 2.

[0396] S211, the thumbnail storage module responds to the target thumbnail Figure 2 The target extended information 2, send name information 2 to the media database.

[0397] S212, the media database generates database record 2 corresponding to name information 2.

[0398] Among them, database record 2 (e.g., the first database record) includes name information 2.

[0399] S213, Media database notification, gallery database scan thumbnail cache.

[0400] S214, after scanning the target thumbnail Figure 2 At that time, database record b is generated.

[0401] Among them, database record b (such as the second database record) includes name information 2 and identifier 2, indicating the target abbreviation. Figure 2 The corresponding multi-frame RAW images of the photo capture command 2 are stored in cache queue 2.

[0402] In addition, the implementation details of S212 to S214 can be found in S120 to S123 of the aforementioned embodiments, and will not be repeated here.

[0403] In some embodiments, if another application instructs the target thumbnail to be opened Figure 2 For large image data, the image library database can find database record b containing identifier 2. If the target thumbnail is determined based on database record b... Figure 2 The large image data has not yet been generated (e.g., database record b has not yet been associated with image information). The image library database can trigger storage service scheduling system resources through other applications to generate a target thumbnail based on the multi-frame RAW images corresponding to photo capture command 2 in cache queue 2. Figure 2 Large image data.

[0404] S215, the camera HAL's dump service stores the multi-frame RAW images corresponding to the shooting command 2 into the buffer queue 2.

[0405] In some embodiments, S215 and S204 are both steps following S203, and there is no necessary order between S215 and S204.

[0406] In other embodiments, the dump service can perform image fusion based on the multiple RAW frames corresponding to the capture command 2 to obtain the corresponding target RAW image. The dump service can perform image fusion on the target RAW frames corresponding to the capture command 2. Figure 2 Stored in cache queue 2. Then, under specific conditions, the dump service performs a transfer based on the target RAW file in cache queue 2. Figure 2 The large image data corresponding to the photo-taking command 2 is generated. For specific implementation details, please refer to the subsequent embodiments, which will not be elaborated here.

[0407] In some embodiments, during continuous shooting, if the number of shots taken has not yet reached a preset maximum, and a user instruction to stop continuous shooting is detected, such as... Figure 20 As shown, the electronic device can also perform the following steps:

[0408] S301, the shutter control detects that the user's finger has left the shutter control.

[0409] S302, The shutter control sends a notification 2 to the shutter status control module.

[0410] Notification 2 can indicate that the user has instructed to stop continuous shooting.

[0411] S303, the shutter state control module determines the current shutter state marker position as value 2 (ShutterMultiCapturingState).

[0412] S304, the shutter status control module instructs the continuous shooting control module to stop issuing the corresponding shooting command for continuous shooting.

[0413] In some embodiments, after the shutter state control module instructs the continuous shooting control module to stop issuing the corresponding shooting command for continuous shooting, the continuous shooting control module receives the thumbnail, does not generate the next shooting command, and discards the thumbnail.

[0414] S305, the continuous shooting control module sends a notification that continuous shooting has stopped to the shutter status control module.

[0415] S306, the shutter state control module sets the shutter state flag from value 2 (ShutterMultiCapturingState) to value 1 (ShutterIdleState), indicating that the continuous shooting mode has been exited.

[0416] In some embodiments, under specific conditions, the dump service can generate a large non-first frame image from the continuous shooting process based on the RAW images in cache queue 2. For example, under specific conditions such as the camera application running in the background or closing the camera application, such as... Figure 21 As shown, the electronic device can also perform the following steps:

[0417] S401, the camera application detected an event that triggered an exit.

[0418] For example, the event that triggers exit could be detecting a user instruction to switch the camera app to the background. As another example, the event could also be detecting a user instruction to close the camera app. Yet another example could be detecting an abnormality requiring the camera app to be destroyed.

[0419] S402, In response to the event that triggers exit, the camera application sends a notification 3 to the storage service.

[0420] Notification 3 indicates that the camera app will soon switch to running in the background or be closed.

[0421] S403, the storage service responds to notification 3, instructing the dump service to begin compositing the large image.

[0422] For example, the storage service can issue a compositing instruction 1 to the dump service to trigger the execution of compositing a large image. When this compositing instruction 1 does not carry name information, that is, it does not indicate which frame of large image data to compose.

[0423] S404, the camera HAL transfer service retrieves the corresponding RAW images from cache queue 2 in the order of the shooting timestamps of the shooting commands to generate the corresponding large image data.

[0424] Understandably, cache queue 2 contains RAW images corresponding to multiple shooting commands. These multiple shooting commands can include shooting commands corresponding to the same burst of shots, as well as shooting commands corresponding to different bursts of shots. For example, ... Figure 8 As shown in (d), after the first burst of shots ends, the user's finger leaves the shutter control 308. Then, the user touches it again. Figure 8 The shutter control 308 in the burst shooting preview interface 306 shown in (d) triggers the second burst shot. In this way, the buffer queue 2 can store not only the RAW image of the shooting command corresponding to the first burst shot, but also the RAW image of the shooting command corresponding to the second burst shot.

[0425] The following steps S405 to S412 are examples of obtaining the multi-frame RAW image corresponding to the photo capture command 2.

[0426] S405, after the dump service retrieves the RAW image corresponding to photo capture command 2 from cache queue 2, it generates the target RAW image corresponding to photo capture command 2. Figure 2 .

[0427] For example, the multiple RAW images corresponding to the photo capture command 2 are subjected to image fusion processing to obtain the fused target RAW image. Figure 2 .

[0428] S406, camera HAL generates target RAW Figure 2 The corresponding target is large Figure 2 .

[0429] In some embodiments, the large graph processing path 2 of the dump service can process the target RAW. Figure 2 Perform one or more image processing operations to obtain the corresponding target size. Figure 2 The implementation details of S405 and S406 described above can be found in the foregoing embodiments. Figure 6 The description in (a) of the text, where the target is large Figure 2 Corresponding to Figure 6 The large image data b shown in (a) will not be elaborated here.

[0430] S407, the dump service sends the target large... Figure 2 .

[0431] S408, storage service will target large Figure 2 It is stored in the storage space corresponding to the file system. In some embodiments, the storage target is large. Figure 2 For implementation details, please refer to the storage target large Figure 1 This will not be elaborated upon here. Additionally, storage services are suitable for large storage targets. Figure 2 Afterwards, you can also delete the target thumbnail from the thumbnail cache. Figure 2 In other possible embodiments, the target abbreviation may not be deleted. Figure 2 This application does not impose specific limitations on this aspect.

[0432] S409, the storage service sends the target large file to the media database. Figure 2 Image information.

[0433] The aforementioned image information may include the target size Figure 2 The image size, resolution, exposure time, name information 2, acquisition time (timestamp of the photo capture command 2), acquisition location, and information of the camera sensor that captured the image, etc.

[0434] S410, the media database will target large Figure 2 The image information is associated with database record 2.

[0435] S411, the media database notifies the gallery database to synchronize.

[0436] For example, a media database can send the first synchronization notification to a gallery database.

[0437] S412, the image database will target large Figure 2 The image information is associated with database record b.

[0438] In some embodiments, the implementation details of S410 to S412 can be referred to S129 to S131 in the foregoing embodiments, and will not be repeated here.

[0439] The database record b is associated with a large target. Figure 2 After obtaining the image information, other applications can view and manipulate the target image through the image library database. Figure 2 .

[0440] In some embodiments, upon detecting a user instruction to view burst images, the electronic device, in response to that instruction, can immediately begin generating large-scale image data corresponding to the burst images. For example, Figure 13A As shown in (a) and (b), when a user's instruction to view the burst image corresponding to thumbnail 806 is detected, and there is an uncomposite large image in the large image data corresponding to the burst image, the electronic device responds to the operation and can immediately start generating the large image data corresponding to the burst image based on the RAW image already stored in the cache queue 2.

[0441] In some embodiments, upon detecting a user instruction to view a large frame of image data corresponding to a burst of images, before that large frame data has been composited, the electronic device can immediately begin generating that large frame data in response to the operation. For example, Figure 13A As shown in (c) and (d), the electronic device detects a user action (e.g., a swipe) on display area 1305. In response to this swipe, the electronic device can display an overlapping selection box 1306 and a thumbnail 1307-2. In this scenario, if the large image data for thumbnail 1307-2 has not yet been generated, it can be generated immediately.

[0442] For example, Figure 14 As shown in (b) and (c), a user's swipe operation in the display area 1305 is detected. In response to this swipe operation, an overlapping selection box 1306 and thumbnails 1307-4 are displayed. In this scenario, if the large image data of thumbnail 1307-4 has not yet been generated, the large image data of thumbnail 1307-4 can be generated immediately.

[0443] The following is combined Figure 22This section describes the signaling interactions between various software and hardware modules in an electronic device when a user instructs the user to view a large frame of a burst of images, but the large frame has not yet been synthesized:

[0444] S501, the gallery application receives the thumbnail of the target selected by the user. Figure 3 The operation.

[0445] For example, in Figure 13A In the scenario shown in (d), the display position of the selection box 1306 overlaps with that of the thumbnail 1307-2, indicating that the user has selected thumbnail 1307-2. Accordingly, thumbnail 1307-2 is the target thumbnail. Figure 3 .

[0446] For example, in Figure 14 In the scenario shown in (c), it is detected that the display position of the selection box 1306 overlaps with the thumbnail 1307-4, which confirms that the user has selected the thumbnail 1307-4. Accordingly, the thumbnail 1307-4 is the target thumbnail. Figure 3 .

[0447] S502, Gallery application instructs gallery database to search for target thumbnail Figure 3 The corresponding database record c.

[0448] In some embodiments, a gallery application may send a target thumbnail to a gallery database. Figure 3 The storage name, that is, the target abbreviation. Figure 3 The corresponding photo-taking command 3 carries the name information 3. The photo library database can search for database records c containing the name information 3.

[0449] S503, The image library database determines that database record c contains identifier 2, and the target thumbnail that has not yet been synthesized. Figure 3 Large image data.

[0450] For example, if database record c is not yet associated with any image information, it can be determined that the target thumbnail has not yet been synthesized. Figure 3 Large image data.

[0451] S504, The gallery database sends notification 4 to the gallery application, indicating the target thumbnail. Figure 3 The large image data has not yet been synthesized.

[0452] S505, the gallery application retrieves the target thumbnail from the thumbnail buffer. Figure 3 And, display target thumbnail Figure 3 .

[0453] For example, target abbreviation Figure 3 If the large image data 1308 has not yet been generated when creating thumbnail 1307-2, you can... Figure 13A In the image (d) shown, a magnified thumbnail 1307-2 is displayed at the location of the large image data 1308.

[0454] For example, target abbreviation Figure 3 If the large image data 1403 has not yet been generated when creating the thumbnail 1307-4, you can... Figure 14 In (c) shown in the figure, a magnified thumbnail 1307-4 is displayed at the display position of the large image data 1403.

[0455] In some embodiments, S506 is an optional step, and this application embodiment does not specifically limit it.

[0456] S506, the gallery application calls the storage service to trigger the composite target thumbnail. Figure 3 Corresponding large image.

[0457] For example, the gallery application sends a compositing instruction 2 to the storage service, which includes the target thumbnail. Figure 3 Corresponding name information 3.

[0458] S507, Storage Service Instruction Dump Service Synthetic Target Abbreviation Figure 3 Corresponding large image.

[0459] For example, the storage service can send a synthesis instruction 2 to the dump service.

[0460] S508, Dump service confirmed that synthesis target abbreviated has not started. Figure 3 Larger image.

[0461] In some embodiments, in response to the synthesis instruction 2, if the transfer service has already started synthesizing large image data, it can be determined whether the large image data being synthesized is related to the synthesis instruction 2.

[0462] If the name information of the large image data being synthesized is the same as the name information 3 in synthesis instruction 2, it indicates that the large image data being synthesized is related to synthesis instruction 2. If they are different, it indicates that the large image data being synthesized is not related to synthesis instruction 2.

[0463] Optionally, the large image data being synthesized is related to synthesis instruction 2. After generating the corresponding large image data, S508 to S511 are not executed, and S512 to S519 are executed directly.

[0464] Optionally, since the large image data being synthesized is unrelated to synthesis instruction 2, the processing of the large image data being generated is paused, and S509 is executed after S508.

[0465] S509, the dump service retrieves the target abbreviated value from cache queue 2. Figure 3 The corresponding multi-frame RAW image.

[0466] In some embodiments, target abbreviation Figure 3 The corresponding multi-frame RAW image can be the multi-frame RAW image corresponding to shooting command 3. The dump service can find the multi-frame RAW image corresponding to shooting command 3 from cache queue 2 using name information 3.

[0467] S510, the dump service fuses the multi-frame RAW images to generate the target RAW. Figure 3 .

[0468] In some embodiments, the large image processing path 2 of the dump service includes an image fusion node. Optionally, the image fusion node can perform image fusion based on multiple RAW frames to obtain the target RAW image corresponding to the capture command 3. Figure 3 .

[0469] In other embodiments, if the RAW image stored in cache queue 2 is the target RAW image corresponding to shooting command 3... Figure 3 S509 and S510 can be skipped. That is, the target RAW is retrieved from cache queue 2. Figure 3 Then, the process proceeds to S511.

[0470] S511, Dump service generates target RAW Figure 3 The corresponding target is large Figure 3 .

[0471] S512, the dump service sends the target large value to the storage service. Figure 3 .

[0472] For example, the target RAW is generated from the large graph processing path 2 in the dump service. Figure 3 The corresponding target is large Figure 3 .

[0473] S513, storage services will target large Figure 3 Store it in the storage space corresponding to the file system.

[0474] S514, the storage service sends the target data to the media database. Figure 3 Image information.

[0475] In some embodiments, there is no necessary order between S513 and S514.

[0476] S515, the media database will target large... Figure 3 The image information is associated with database record 3.

[0477] Among them, database record 3 includes name information 3.

[0478] S516, the media database notifies the gallery database to synchronize.

[0479] S517, the image database will target large Figure 3 The image information is associated with database record c.

[0480] S518, The gallery database sends notification 5 to the gallery application, indicating the target thumbnail. Figure 3 Big goal Figure 3 Synthesized.

[0481] S519, the gallery application retrieves the target size from the file system. Figure 3 And, display target large Figure 3 .

[0482] in addition, Figure 18 and Figure 19 This illustrates the processing methods for the first photo capture command (e.g., photo capture command 1) and subsequent photo capture commands (e.g., photo capture command 2) during the same burst shooting process. In a possible embodiment, the first photo capture command (e.g., photo capture command 1) can also be processed according to... Figure 19 , Figure 21 or Figure 22 The process is handled in the following manner, that is, after S111, according to... Figure 19 Methods S204 to S215: Generating target abbreviations Figure 1 Among them, the target is abbreviated. Figure 1 The extended information is similar to target extended information 2, both including an identifier indicating that the RAW image of shooting command 1 should be stored in cache queue 2. Then, multiple frames of RAW images of shooting command 1 are stored in cache queue 2, without generating the corresponding large image. Under specific conditions, the RAW image corresponding to shooting command 1 is retrieved from cache queue 2, and the corresponding large image is generated.

[0483] Some embodiments of this application also provide an electronic device, which may include a memory and one or more processors. The memory and processors are coupled. The memory is used to store computer program code, which includes computer instructions. When the processor executes the computer instructions, the electronic device can perform various functions or steps performed by the electronic device in the above method embodiments.

[0484] This application also provides a computer-readable storage medium including computer instructions that, when executed on the electronic device, cause the electronic device to perform various functions or steps performed by the mobile phone in the above method embodiments.

[0485] This application also provides a computer program product that, when run on an electronic device, causes the electronic device to perform various functions or steps performed by the mobile phone in the above method embodiments.

[0486] 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.

[0487] 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 apparatus, 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 apparatuses or units may be electrical, mechanical, or other forms.

[0488] 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.

[0489] 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.

[0490] 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 solutions of the embodiments of this application, essentially or in other words, the parts that contribute to the prior art, or all or part of the technical solutions, 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.

[0491] 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 electronic devices, the method includes: Displaying a first interface of a first application, the first interface including a first control; In response to a first operation applied to the first control, N frames of thumbnails are generated, wherein each thumbnail in the N frames of thumbnails corresponds to a frame of the first image, and N is a positive integer; The N frame thumbnails are displayed sequentially at the first position on the first interface according to the generation order of the N frame thumbnails. After the first operation is detected, in response to the operation applied to the first position, an M-frame first image corresponding to the M-frame thumbnail is generated, wherein the M-frame thumbnail and the M-frame first image are in one-to-one correspondence. Alternatively, after detecting the first operation, in response to an operation instructing the display of a second interface of a second application, a first image corresponding to each thumbnail in the M-frame thumbnails is generated, wherein the first application and the second application are different; Alternatively, after detecting the first operation, if the electronic device meets the target conditions, a first image corresponding to each thumbnail in the M-frame thumbnail is generated, wherein the target conditions include one or more of the following: the CPU resource utilization rate of the electronic device is less than a preset ratio threshold; the available memory size of the electronic device is greater than a preset reserved memory size threshold; and the device temperature of the electronic device is less than a preset temperature threshold. Where M is a positive integer, the M-frame thumbnail is part or all of the N-frame thumbnails, and the resolution of the M-frame thumbnail is lower than the resolution of the M-frame first image.

2. The method according to claim 1, characterized in that, When the M-frame thumbnail is a portion of the N-frame thumbnail, the method further includes the following steps before displaying the N-frame thumbnail: Generate a first image corresponding to at least one of the thumbnails in the N-frame thumbnails, wherein the at least one thumbnail is a thumbnail in the N-frame thumbnails excluding the M-frame thumbnails.

3. The method according to claim 2, characterized in that, Before generating the first image corresponding to at least one of the N frame thumbnails, the method further includes: Store the first RAW image corresponding to the at least one frame thumbnail into the first queue; In response to storing the first RAW image into the first queue, a first image corresponding to the at least one frame thumbnail is generated based on the first RAW image in the first queue.

4. The method according to any one of claims 1-3, characterized in that, The method further includes: After generating the M-frame thumbnails, the second RAW image corresponding to the M-frame thumbnails is stored in the second queue; The generation of the first M-frame image includes: sequentially obtaining the second RAW images corresponding to the M-frame thumbnails from the second queue according to the generation order of the M-frame thumbnails; and performing one or more image processing operations based on the obtained second RAW images to sequentially generate the first M-frame image, wherein the one or more image processing operations include image fusion operation, filter addition operation, watermark addition operation, and operation for enhancing image features.

5. The method according to claim 1, characterized in that, When displaying the thumbnail of the i-th frame at a first position on the first interface, the method further includes: The first burst count is displayed at a second position on the first interface; wherein the value of the first burst count is i, and i is a positive integer greater than 0 and less than N; When the thumbnail of the (i+1)th frame is displayed at the first position on the first interface, the first burst count displayed at the second position is updated to the second burst count, and the value of the second burst count is i+1.

6. The method according to any one of claims 1-5, characterized in that, The first operation includes: long press or continuous tap.

7. The method according to claim 4, characterized in that, The second interface is a grid preview interface, which includes a cover thumbnail. The cover thumbnail is one frame from the N-frame thumbnails, and the cover thumbnail includes an aggregation icon. The method further includes: In response to an operation applied to the cover thumbnail, a third interface is displayed, wherein the third interface includes a first image and an aggregation control corresponding to the cover thumbnail; In response to an operation applied to the aggregation control, a fourth interface is displayed, the fourth interface including P-frame thumbnails, the P-frame thumbnails being part or all of the N-frame thumbnails, where P is a positive integer; In response to the operation of selecting the thumbnail of the j-th frame, a second image corresponding to the thumbnail of the j-th frame is displayed on the fourth interface. The second image is a frame of the first N-frame image corresponding to the thumbnail of the N-frame, where j is a positive integer.

8. The method according to claim 7, characterized in that, Before displaying the second image corresponding to the thumbnail of the j-th frame on the fourth interface, the method further includes: It has been determined that the second image has not yet been generated; Obtain the second RAW image corresponding to the thumbnail of the j-th frame from the second queue, and perform one or more image processing operations based on the obtained second RAW image to generate the second image.

9. The method according to claim 7, characterized in that, The P-frame thumbnail in the fourth interface includes a first thumbnail and a second thumbnail, which are displayed adjacent to each other in the fourth interface. The method further includes: In response to an operation applied to the first thumbnail, a third image corresponding to the first thumbnail is displayed in a first area of ​​the fourth interface, and a first selected label is displayed on the third image, wherein the third image is a frame of the N frames of the first image; In response to an instruction to delete the third image, the first thumbnail and the third image in the fourth interface are de-displayed, and a fourth image corresponding to the second thumbnail is displayed in the first area, the fourth image being a frame in the N frames of the first image.

10. The method according to any one of claims 7-9, characterized in that, The P-frame thumbnails in the fourth interface include a second thumbnail and a third thumbnail. The fourth interface also includes a comparison control. The method further includes: In response to an operation applied to the second thumbnail, a fourth image corresponding to the second thumbnail is displayed in a first area of ​​the fourth interface, and a second selected label is displayed on the fourth image, wherein the fourth image is a frame in the N frames of the first image; After the second selection tag is included on the fourth image, in response to the operation applied to the third thumbnail, the fourth image is de-displayed, and a fifth image including the third selection tag is displayed in the first area, the fifth image being one of the N frames of the first image, the fifth image corresponding to the third thumbnail; In response to an operation performed on the comparison control, a fifth interface is displayed, which includes the fourth image and the fifth image.

11. The method according to any one of claims 7-9, characterized in that, The P-frame thumbnails in the fourth interface include a second thumbnail and a third thumbnail. The fourth interface also includes a comparison control. The method further includes: When a fourth image is displayed in the first area of ​​the fourth interface, in response to an operation performed on the second thumbnail, or in response to an operation performed on the fourth image, a second selection label is displayed on the fourth image, the fourth image being a frame in the N frames of the first image, and the fourth image corresponding to the second thumbnail; After the second selection label is included on the fourth image, in response to the operation applied to the third thumbnail, the fourth image is de-displayed, and a fifth image corresponding to the third thumbnail is displayed in the first area, the fifth image being a frame in the N frames of the first image; When the fifth image is displayed in the first area, in response to an operation performed on the third thumbnail, or in response to an operation performed on the fifth image, a third selected label is displayed on the fifth image; After the third selected label is included on the fifth image, a fifth interface is displayed in response to an operation performed on the comparison control, the fifth interface including the fourth image and the fifth image.

12. The method according to any one of claims 7-9, characterized in that, The N frame thumbnails in the fourth interface include a second thumbnail and a third thumbnail, and the method further includes: When a fourth image is displayed in the first area of ​​the fourth interface, in response to an operation performed on the second thumbnail, or in response to an operation performed on the fourth image, a second selection label is displayed on the fourth image, the fourth image being a frame in the N frames of the first image, and the fourth image corresponding to the second thumbnail; After the second selection label is included on the fourth image, in response to the operation applied to the third thumbnail, the fourth image is de-displayed, and a fifth image corresponding to the third thumbnail is displayed in the first area, the fifth image being a frame in the N frames of the first image; When the fifth image is displayed in the first area, in response to an operation performed on the third thumbnail, or in response to an operation performed on the fifth image, a third selected label is displayed on the fifth image; After the fifth image includes a third selected label and an operation indicating to save is detected, in response to the second operation, the second interface is displayed again. The second interface includes a fourth thumbnail and a fifth thumbnail, but does not include the cover thumbnail. The fourth thumbnail is a thumbnail generated based on the fourth image, and the fifth thumbnail is a thumbnail generated based on the fifth image. The fourth and fifth thumbnails do not include the aggregation icon.

13. The method according to any one of claims 1-12, characterized in that, The first interface includes a second control, and before detecting the first operation, the method further includes: In response to the operation performed on the second control, the continuous shooting function is activated; When the continuous shooting function is enabled, generating N frame thumbnails in response to a first operation applied to the first control includes: generating the N frame thumbnails sequentially in response to an operation of touching the first control.

14. The method according to claim 2, characterized in that, The electronic device includes a camera sensor and a camera hardware abstraction layer (HAL), and the method further includes: In response to launching the first application, the camera sensor acquires a RAW image, and the camera sensor stores the acquired RAW image into a third queue; After detecting the first operation, the first application generates a first photo-taking command and sends it to the camera HAL; The generation of N frame thumbnails includes: the camera HAL responding to the first shooting command by obtaining multiple frames of third RAW images corresponding to the first shooting command from the third queue; selecting a first reference RAW image from the multiple frames of third RAW images; and generating a sixth thumbnail including first extended information based on the first reference RAW image, wherein the first extended information includes first name information and an identifier indicating that the third RAW image needs to be stored in the second queue; After generating the sixth thumbnail, the method further includes: the camera HAL sending the sixth thumbnail to the first application; The first application responds to the sixth thumbnail, generates a second photo-taking command, and sends it to the camera HAL; The generation of N-frame thumbnails further includes: the camera HAL responding to the second shooting command by obtaining multiple frames of fourth RAW images corresponding to the second shooting command from the third queue; selecting a second reference RAW image from the multiple frames of fourth RAW images; and generating a seventh thumbnail based on the second reference RAW image. After generating the seventh thumbnail, the method further includes: the camera HAL sending the seventh thumbnail to the first application.

15. The method according to claim 14, characterized in that, Before generating the second photo-taking command, the method further includes: It is determined that the number of photo capture commands generated after the first operation was detected is less than N.

16. The method according to claim 14, characterized in that, After the first application receives the seventh thumbnail, the method further includes: Determine that the number of photo capture commands generated after the first operation is detected is equal to N; In response to determining that the number of photo capture commands generated is equal to N, stop generating photo capture commands.

17. The method according to claim 14, characterized in that, Before the first application receives the seventh thumbnail, the method further includes: The first application detected an instruction to stop recording; After the first application receives the seventh thumbnail, the method further includes: in response to detecting an operation indicating to stop shooting, the first application discards the seventh thumbnail and stops generating a photo-taking command.

18. The method according to claim 14, characterized in that, The electronic device also includes storage service processes, a media database, and a gallery database; After the first application receives the sixth thumbnail, the method further includes: The first application stores the sixth thumbnail in the target storage area, and, in response to receiving the sixth thumbnail, sends first name information to the media database; In response to receiving the first name information, the media database generates a first database record including the first name information, and triggers the gallery database to generate a second database record including the first name information; The process of generating the first image of the M-frame corresponding to the M-frame thumbnail includes: the camera HAL generating the sixth image corresponding to the sixth thumbnail; After generating the sixth image, the method further includes: the camera HAL sending the sixth image to the storage service process; The storage service process sends the image information of the sixth image to the media database; The media database associates the image information of the sixth image with the first database record, and sends a first synchronization notification to the image library database; In response to the first synchronization notification, the image library database associates the image information of the sixth image with the second database record.

19. The method according to claim 18, characterized in that, After the storage service process receives the sixth image, the method further includes: storing the sixth image by the storage service process.

20. An electronic device, characterized in that, The electronic device includes: a camera sensor, a memory, and one or more processors; the memory is coupled to the one or more processors, the memory is used to store computer program code, the camera sensor is used to acquire RAW images, the computer program code includes computer instructions, and the one or more processors call the computer instructions to cause the electronic device to perform the method as described in any one of claims 1-19.

21. A computer-readable storage medium comprising instructions, characterized in that, When the instructions are executed on an electronic device, the electronic device causes the electronic device to perform the method as described in any one of claims 1-19.

22. A computer program product, characterized in that, The computer program product includes a computer program or instructions that, when executed on an electronic device, cause the electronic device to perform the method as described in any one of claims 1-19.

23. A chip system, characterized in that, The chip system is applied to an electronic device, the chip system including one or more processors, the processors being configured to invoke computer instructions to cause the electronic device to perform the method as described in any one of claims 1-19.