Patent Description:
This application relates to the technical field of video shooting, and in particular to a video processing method and apparatus, an electronic device, and a storage medium.

With the development of technologies, users have increasingly high requirements for an effect of videos shot through terminals such as mobile phones. However, videos shot through current mobile phones have poor quality in a low-light night scene due to shooting limitation.

<CIT> relates to the field of image processing technology, and in particular, relates to a method, device, and mobile terminal for generating night scene images.

<CIT> relates to the field of image processing technology, and in particular to a night scene image processing method, device, electronic device and storage medium.

<CIT> relates to a field of imaging technology, and in particular, to an imaging processing method for a camera module in a night scene, an electronic device, and a storage medium.

Harald Brendel: "ALEXA Log C Curve Usage in VFX" relates to logarithmic encoding for images.

A video processing method and apparatus, an electronic device, and a storage medium are provided, to improve quality of a video shot in a low-light night scene.

According to a first aspect, a video processing method is provided. The method includes: in a first night mode or a second night mode, obtaining a video shot through a camera lens, where the video includes a video image of a first exposure frame and a video image of a second exposure frame that are alternated, and a time for which the video image of a first exposure frame is exposed is greater than a time for which the video image of a second exposure frame is exposed; in the first night mode, processing the video image of a first exposure frame by using an artificial intelligence AI night algorithm, where processing by using the AI night algorithm is used for reducing noise and increasing a luminance; in the first night mode, fusing a video image of a first exposure frame processed by using the AI night algorithm and the video image of a second exposure frame not processed by using the AI night algorithm, to obtain a fused video, where the video image of a first exposure frame has a first weight; and in the second night mode, fusing the video image of a first exposure frame and the video image of a second exposure frame, to obtain a fused video, where the video image of a first exposure frame has a second weight, and the first weight is greater than the second weight.

In a possible implementation, the video processing method further includes: in the first night mode, processing the fused video by using a logarithm LOG curve corresponding to a current photosensitivity ISO of the camera lens, to obtain a LOG video; and processing the LOG video based on a look up table LUT, to obtain a video processed by using the LUT. During video recording, the LOG video is processed based on a LUT corresponding to a determined video style template or a LUT corresponding to the first night mode by using a LUT technology in a movie industry. This enables a recorded video to have a style effect corresponding to the determined video style template, or a color restoration effect of a skin color of a portrait to be improved, to meet a high color correction requirement.

In a possible implementation, the video processing method further includes: the processing the video image of a first exposure frame by using an AI night algorithm includes: obtaining statistical information corresponding to the video image of a first exposure frame; and using the statistical information and a RAW image of the video image of a first exposure frame as inputs to be processed by using the AI night algorithm, to obtain a processed RAW image of the video image of a first exposure frame.

In a possible implementation, the video processing method further includes: periodically obtaining a luminance of a current image in a video shot through the camera lens, and if the luminance is less than a first luminance threshold, displaying a first night mode, or if the luminance is greater than a second luminance threshold, displaying a second night mode. The first luminance threshold is less than the second luminance threshold.

In a possible implementation, the video processing method further includes: in the first night mode, obtaining a video in a manner of non-overlapping exposure; and in the second night mode, obtaining a video in a manner of overlapping exposure.

In a possible implementation, a process of processing the fused video by using a logarithm LOG curve corresponding to a current photosensitivity ISO of the camera lens, to obtain a LOG video, and a process of processing the LOG video based on a look up table LUT, to obtain a video processed by using the LUT are performed in a first video processing procedure. The video processing method further includes a second video processing procedure. The second video processing procedure includes: processing the fused video by using the logarithm LOG curve corresponding to the current photosensitivity ISO of the camera lens, to obtain a LOG video; and processing the LOG video based on a look up table LUT, to obtain a video processed by using the LUT. The video processing method further includes: storing the video processed by using the LUT in the first video processing procedure; and previewing the video processed by using the LUT in the second video processing procedure.

According to a second aspect, a video processing apparatus is provided. The video processing apparatus includes: a processor and a memory. The memory is configured to store at least one instruction. The instruction is loaded and executed by the processor to implement the foregoing video processing method.

According to a third aspect, an electronic device is provided. The electronic device includes: a camera lens and the foregoing video processing apparatus.

According to a fourth aspect, a computer-readable storage medium is provided. The computer-readable storage medium stores a computer program. When the computer program is run on a computer, the computer is enabled to perform the foregoing video processing method.

In the video processing method and apparatus, the electronic device, and the storage medium in embodiments of this application, the video shot through the camera lens includes the video image of a first exposure frame and the video image of a second exposure frame that are alternated. A time for which the video image of a first exposure frame is exposed is greater than a time for which the video image of a second exposure frame is exposed. In the first night mode, the video image of a first exposure frame processed by using the AI night algorithm and the video image of a second exposure frame not processed by using the AI night algorithm are fused. In the second night mode, the video image of a first exposure frame and the video image of a second exposure frame are fused. Compared with the second night mode, in the first night mode, the video image of a first exposure frame has a greater fusion weight. On the one hand, in the first night mode, only an image that is exposed for a long time is processed by using the IA night algorithm, reducing a time for which the image is processed, and on the other hand, compared with the second night mode, in the first night mode, a fusion weight of the image that is exposed for a long time is increased. This enables a fused image to more clearly reflect an effect of processing by using the AI night algorithm, improving quality of a video shot in a low-light night scene.

Terms used in implementations of this application are merely intended to explain specific embodiments of this application, but are not intended to limit this application.

Before introducing embodiments of this application, an electronic device in the embodiments of this application is first described. As shown in <FIG>, the electronic device <NUM> may include a processor <NUM>, camera lenses <NUM>, displays <NUM>, and the like. It may be understood that a structure shown in this embodiment of the present invention does not constitute a specific limitation on the electronic device <NUM>. In some other embodiments of this application, the electronic device <NUM> may include more or fewer components than those shown in the figure, combine some components, split some components, or have a different component arrangement. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.

The processor <NUM> may include one or more processing units. For example, the processor <NUM> may include a graphics processing unit (graphics processing unit, GPU), an image signal processor (image signal processor, ISP), a controller, a video codec, a digital signal processor (digital signal processor, DSP), and the like. Different processing units may be separate devices or may be integrated into one or more processors. The controller may generate an operation control signal based on instruction operation code and a time sequence signal, to complete control of instruction fetching and instruction execution. A memory may be further disposed in the processor <NUM> and is configured to store instructions and data.

The electronic device <NUM> implements a display function by using the GPU, the displays <NUM>, an application processor, and the like. The GPU is a microprocessor for image processing and is connected to the displays <NUM> and the application processor. The GPU is configured to perform mathematical and geometric computation and render a graph. The processor <NUM> may include one or more GPUs and execute program instructions to generate or change display information.

The electronic device <NUM> can implement a shooting function by using the ISP, the camera lenses <NUM>, the video codec, the GPU, the displays <NUM>, the application processor, and the like.

The ISP is configured to process data fed back by the camera lens <NUM>. For example, during shooting, a shutter is pressed, and light is transmitted to a photosensitive element of the camera lens through a lens. An optical signal is converted into an electrical signal, and the photosensitive element of the camera lens transmits the electrical signal to the ISP for processing, to convert the electrical signal into a visible image. The ISP may further perform algorithm optimization on noise, luminance, and complexion of the image. The ISP may further optimize parameters such as exposure and a color temperature of a shooting scene. In some embodiments, the ISP may be disposed in the camera lens <NUM>.

The camera lens <NUM> is configured to capture a still image or a video. An optical image of an object is generated through the lens and is projected onto the photosensitive element. The photosensitive element may be a charge coupled device (charge coupled device, CCD) or a complementary metal-oxide-semiconductor (complementary metal-oxide-semiconductor, CMOS) phototransistor. The photosensitive element converts the optical signal into the electrical signal and then transmits the electrical signal to the ISP to convert the electrical signal into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard format such as RGB or YUV. In some embodiments, the electronic device <NUM> may include one or N camera lenses <NUM>, where N is a positive integer greater than <NUM>.

The digital signal processor is configured to process a digital signal and may process another digital signal in addition to the digital image signal. For example, when the electronic device <NUM> selects a frequency, the digital signal processor is configured to perform Fourier transformation or the like on frequency energy.

The video codec is configured to compress or decompress a digital video. The electronic device <NUM> may support one or more video codecs. In this way, the electronic device <NUM> may play or record videos in a plurality of encoding formats, for example, moving picture experts group (moving picture experts group, MPEG)<NUM>, MPEG2, MPEG3, and MPEG4.

As shown in <FIG>, an embodiment of this application provides a video processing method. The video processing method may be performed by a processor <NUM>, that is, an ISP or a combination of the ISP and another processor. The video processing method includes the following steps.

In a first night mode or a second night mode, step <NUM> is performed: obtaining a video shot through a camera lens. The video includes a video image of a first exposure frame and a video image of a second exposure frame that are alternated. A time for which the video image of a first exposure frame is exposed is greater than a time for which the video image of a second exposure frame is exposed.

The first night mode and the second night mode may be switched based on a user's selection or may be automatically determined and switched based on a current image of a video shot through the camera lens. While the camera lens is capturing the video, different exposure time is alternately used for capturing, so that video images based on the different exposure time are fused subsequently.

In the first night mode, step <NUM> is performed: processing the video image of a first exposure frame by using an artificial intelligence (Artificial Intelligence, AI) night algorithm. Processing by using the AI night algorithm is used for reducing noise and increasing a luminance, to implement detail restoration in a night scene.

The first night mode is a mode appropriate for recording a night video. In this mode, a video image is to be processed by using the AI night algorithm. In an electronic device, a camera lens captures a video image of a first exposure frame and a video image of a second exposure frame at a high frequency. Therefore, if the AI night algorithm is used for both the video image of a first exposure frame and the video image of a second exposure frame, a high frame rate requirement may not be met. Because other video images of a first exposure frame are exposed for a long time, have a large light intake, and are more appropriate for a night scene, in this embodiment of this application, one of the other video images of a first exposure frame is selected to be processed by using the AI night algorithm, and the video image of a second exposure frame is not processed by using the AI night algorithm. In this way, the video image of a first exposure frame that is more appropriate for the night scene is processed by using the AI night algorithm, so that application of the AI night algorithm may be implemented within a valid time.

In the first night mode, step <NUM> is performed: fusing a video image of a first exposure frame processed by using the AI night algorithm and the video image of a second exposure frame not processed by using the AI night algorithm, to obtain a fused video. The video image of a first exposure frame has a first weight.

During fusing of video images, every video image of a first exposure frame and every video image of a second exposure frame that are adjacent are fused into a new frame of video image. The fused video image includes information in the video image of a first exposure frame and information in the video image of a second exposure frame. Fusion weight of the two frames of images may be adjusted. The video image of a first exposure frame has the first weight, that is, a fusion weight occupied by the video image of a first exposure frame in two frames. As the first weight is larger, more information in the video image of a first exposure frame is included in the fused video image. Correspondingly, as a weight occupied by the video image of a second exposure frame is small, less information in the video image of a second frame is included in the fused video image.

In the second night mode, step <NUM> is performed: fusing the video image of a first exposure frame and the video image of a second exposure frame, to obtain a fused video. The video image of a first exposure frame has a second weight. The first weight is greater than the second weight.

Specifically, it is assumed that the first weight occupies <NUM>% and the second weight occupies <NUM>%, that is, in the second night mode, the video image of a first exposure frame and the video image of a second exposure frame are fused based on the first weight of <NUM>% and the second weight of <NUM>% respectively. A fused video image includes <NUM>% of the information in the video image of a first exposure frame and <NUM>% of the information in the video image of a second exposure frame. In the first night mode, the video image of a first exposure frame and the video image of a second exposure frame are fused based on <NUM>% of a weight of the video image of a first exposure frame and <NUM>% of a weight of the video image of a second exposure frame. A fused video image includes <NUM>% of the information in the video image of a first exposure frame and <NUM>% of the information in the video image of a second exposure frame. That is, compared with the second night mode, in the first night mode, the video image of a first exposure frame has a greater fusion weight. In this way, an effect of processing by using the AI night algorithm may be more clearly reflected in the fused video image on the premise that the video image of a second exposure frame is not processed by using the AI night algorithm. For a fused video, a related video processing process may be continually performed to complete video recording.

In the video processing method in this embodiment of this application, the video shot through the camera lens includes the video image of a first exposure frame and the video image of a second exposure frame that are alternated. A time for which the video image of a first exposure frame is exposed is greater than a time for which the video image of a second exposure frame is exposed. In the first night mode, the video image of a first exposure frame processed by using the AI night algorithm and the video image of a second exposure frame not processed by using the AI night algorithm are fused. In the second night mode, the video image of a first exposure frame and the video image of a second exposure frame are fused. Compared with the second night mode, in the first night mode, the video image of a first exposure frame has a greater fusion weight. On the one hand, in the first night mode, only an image that is exposed for a long time is processed by using the IA night algorithm, reducing a time for which the image is processed, and on the other hand, compared with the second night mode, in the first night mode, a fusion weight of the image that is exposed for a long time is increased. This enables a fused image to more clearly reflect an effect of processing by using the AI night algorithm, improving quality of a video shot in a low-light night scene.

In a possible implementation, as shown in <FIG>, the video processing method further includes the following steps.

In the first night mode, step <NUM> is performed: processing a fused video by using a logarithm LOG curve corresponding to a current photosensitivity ISO of the camera lens, to obtain a LOG video. The LOG curve is a scene-based curve, and the LOG curve is slightly different in different ISOs. As the ISO increases, a maximum value of the LOG curve is also increased. When the ISO is increased to a level, a highlight is presented in a shoulder shape, keeping the highlight from overexposure. <FIG> illustrates a LOG curve in which an abscissa is a linear signal, expressed by a <NUM>-bit coded value Code Value, and an ordinate is a LOG signal processed by using the LOG curve, expressed by a <NUM>-bit coded value. Through processing by using the LOG curve, a signal input of a camera lens may be used for encoding information of a dark interval to a middle tone (as shown in a steep part of the curve in <FIG>), to form <NUM>-bit signal output. This conforms to a LOG sensing rule for light by human eyes and keeps information of a dark part maximally. For a LOG video, a limited bit depth may be used for keeping details of a shadow and a highlight maximally. An ASA in <FIG> is photosensitivity, and different ASAs correspond to different ISOs, both of which belong to different standards.

Step <NUM>: Process the LOG video based on a look up table (Look Up Table, LUT) to obtain a video processed by using the LUT.

Specifically, the LUT is essentially a mathematical transformation model. One set of RGB values may be output as another set of RGB values by using the LUT, to change an exposure and a color of an image. In the first night mode, for example, there may be two LUT-based processing manners. One of the LUT-based processing manners is processing a video in a night scene by only the LUT, to improve a color restoration effect of a skin color of a portrait. In this manner, a corresponding LUT in the first night mode may be automatically used. The other of the LUT-based processing manners is processing a video in a night scene by using the LUT. In this manner, a color restoration effect of a skin color of a portrait can be improved, and different video styles may be used. Description is performed with the second method as an example below. LUTs corresponding to different video styles may be generated in advance. Before recording a video, the electronic device first determines a video style template. For example, the electronic device may determine the video style template based on a user selection or automatically determines the video style template based on a scene corresponding to an image obtained by a current camera lens through artificial intelligence (AI). For example, it is assumed that the electronic device is a mobile phone, in a possible implementation, as shown in <FIG>, a user operates the mobile phone to display a shooting interface in a first night mode. The shooting interface includes a movie mode option. When the user further selects the movie mode option to display a movie mode, in another possible implementation, the movie mode is displayed for the user. The mobile phone determines and automatically displays a first night scene in a video image for preview shot through a camera lens. A corresponding movie mode interface includes a plurality of video style template options, including, for example, a style template of a movie "A", a style template of a movie "B", or a style template of a movie "C". Only the style template of a movie "A" is shown in the user interface shown in <FIG>. It may be understood that a plurality of different movie style templates may be displayed side by side in the user interface. LUTs corresponding to different movie style templates may be generated in advance based on corresponding movie color matching styles, and color conversion of the LUTs has a style characteristic of a corresponding movie. For example, a color matching style of the movie "A" is a complementary color. The complementary color means that two corresponding colors form a contrast effect. Contrast is emphasized by two colors of a warm color system and a cold color system, to improve a bright and prominent effect. Usually, two contrasting colors symbolize a conflicting behavior. Through presentation of external complementary colors, that a role is in a conflict state or an exhausted state is expressed. A LUT corresponding to the style template of the movie "A" is used for presenting the complementary colors more distinctly after color mapping is transformed, to simulate the color matching style of the movie "A". In a possible implementation, as shown in <FIG>, the user operates the mobile phone to display the movie mode, and the mobile phone obtains an image currently shot through a camera lens, determines a scene corresponding to the image according to an AI algorithm, and determines a recommended video style template corresponding to the scene. For example, if it is recognized that a subject of a currently shot image is a young female character, a corresponding recommended video style template is determined to be the style template of the movie "C" according to the algorithm. The movie "C" is a movie themed on the young female character, and a color matching style of the movie "C" may be simulated for a corresponding LUT. For example, if it is recognized that a currently shot image is a city street, a corresponding video style template is determined to be the style template of the movie "B" according to the algorithm. The movie "B" is a movie with a city street as a main scene, and a color matching style of the movie "B" may be stimulated for a corresponding LUT. In this way, a video style template conforming to a current scene may be automatically recommended to the user. A LUT appropriate for a mobile electronic device may be generated by pre-extraction from the movie style.

Different LUTs are used for the electronic device, and related modules in the electronic device may be adapted to LUTs of different styles. For example, if a predetermined video style template is a gray-tone video style template, a gray-tone image is characterized with a strong texture feeling, a low saturation, no more color interference except a color of a person's skin, and a cold color of a dark part. Based on these characteristics, the electronic device may adjust related module parameters while recording a video, keep a texture in an image without strong denoising and sharpening, appropriately reduce the saturation of the image, keep real restoration of a skin color in the image, and adjust the dark part of the image to a cold color.

In the video processing method in this embodiment of this application, during video recording, a LOG video is processed by using a LUT technology in a movie industry and based on a LUT corresponding to a determined video style template or a LUT corresponding to the first night mode. This enables a recorded video to have a style effect corresponding to the determined video style template, or a color restoration effect of a skin color of a portrait to be improved, to meet a high color correction requirement.

In a possible implementation, as shown in <FIG>, step <NUM> of processing the video image of a first exposure frame by using the AI night algorithm includes: Obtaining statistical information corresponding to the video image of a first exposure frame; and using the statistical information and a RAW image of the video image of a first exposure frame as inputs to be processed by using the AI night algorithm, to obtain a processed RAW image of the video image of a first exposure frame.

Specifically, the RAW image is raw data in which a sensor in a camera lens converts a captured light source signal into a digital signal. For example, the electronic device includes a camera lens <NUM>, an AI night algorithm module <NUM>, and a statistical information obtaining module <NUM>. The statistical information obtaining module <NUM> may be a module in an ISP. In step <NUM>, the video image of a first exposure frame and the video image of a second exposure frame are obtained by using the camera lens <NUM>, and the video image of a first exposure frame is transmitted to the statistical information obtaining module <NUM> and the AI night algorithm module <NUM>. The statistical information obtaining module <NUM> obtains stats statistical information corresponding to an image based on the video image of a first exposure frame and transmits the statistical information to the AI night algorithm module <NUM>. The video image of a first exposure frame transmitted to the AI night algorithm module <NUM> may be a RAW image. The AI night algorithm module <NUM> uses the RAW image as an input, and processes the video image of a first frame based on obtained corresponding statistical information, to obtain a processed RAW image, and outputs the processed RAW image to a subsequent process. It should be noted that in this embodiment, a process of processing by using the AI night algorithm is performed by using the AI night algorithm module <NUM> in a RAW domain in an entire image processing process. In another possible implementation, for example, the process of processing by using the AI night algorithm may be alternatively performed in a YUV domain.

The following describes relevant content of the RAW and YUV.

Bayer domain: Each lens on a digital camera is provided with an optical sensor to measure luminance of light. However, to obtain a full-color image, three optical sensors are usually required to obtain information on three primary colors, red, green, and blue, respectively. To reduce costs and a volume of the digital camera, a manufacturer usually uses a CCD image sensor or CMOS image sensor. Usually, a raw image output by the CMOS image sensor is in RGB format of the Bayer domain, and a single pixel includes only one color value. To obtain a gray value of an image, color information of each pixel is to be inserted and supplemented, and then a gray value of each pixel is to be calculated. In other words, the Bayer domain means a raw image format in the digital camera.

The RAW domain, alternatively referred to as a RAW format, means an unprocessed image. Further, the RAW image may be understood as raw data of a digital signal into which a photosensitive element of a camera, such as a complementary metal oxide semiconductor (Complementary Metal Oxide Semiconductor, CMOS) or a charge-coupled device (Charge-coupled Device, CCD), converts a captured light source signal. A RAW file is a file in which raw information of a sensor of the digital camera is recorded, and setting of some metadata (Metadata, such as photosensitivity ISO (International Organization for Standardization), a shutter speed, an aperture value, and a white balance) generated due to shooting by the camera is recorded. The RAW domain is a format without non-linear processing and compression by the ISP. A full name of the RAW format is a RAW image format.

YUV is a color encoding method and is usually used in various video processing components. When encoding a picture or a video, in consideration of human perceptibility, YUV allows a bandwidth of chrominance to be reduced. YUV is a kind of compiled true-color space (color space), and proprietary terms such as Y'UV, YUV, YCbCr, and YPbPr may all be referred to as YUV, and overlap each other. "Y" represents luminance (Luminance or Luma), that is, a grayscale value. "U" and "V" represent chrominance (Chrominance or Chroma), and are used for describing a color and saturation of a video and specifying a color of a pixel. Generally, YUV is divided into two formats. One of the two formats is a packed format (packed formats) in which Y, U, V are stored as a macro pixels array in a manner similar to a manner in which RGB is stored. The other of the two formats is a planar format (planarformats) in which three components of Y, U, and V are stored in different matrices respectively. The planar format (planar format) means that every Y component, U component, and V component are organized in separate planes, that is, all U components are behind the Y component, and the V component is behind all U components.

In a possible implementation, as shown in <FIG>, the video processing method further includes the following steps. Step <NUM>: Periodically obtain a luminance of a current image in the video shot through the camera lens. Step <NUM>: Determine an interval to which the luminance belongs, and if the luminance is less than a first luminance threshold, display a first night mode, or if the luminance is greater than a second luminance threshold, display a second night mode, where the first luminance threshold is less than the second luminance threshold.

Specifically, in a night scene, a first night mode and a second night mode are further divided based on an image luminance. The first night mode is corresponding to a low-light night scene, and the second night mode is corresponding to a light night scene. In different night modes, fusion weights of a video image of a first exposure frame are different. To prevent frequent switching of algorithms, the first luminance threshold is set to be less than the second luminance threshold. For example, a current mode is the second night mode, and an image luminance is greater than the second luminance threshold. In this case, if the image luminance is gradually reduced to be less than the second luminance threshold and greater than the first luminance threshold, the night mode is still the second night mode and is not switched to the first night mode until the image luminance is reduced to be less than the first luminance threshold. Similarly, in the first night mode, if the image luminance is gradually increased, when the image luminance is increased to be greater than the first luminance threshold and less than the second luminance threshold, the night mode is still the first night mode and is not switched to the second night mode until the image luminance is increased to be greater than the second luminance threshold. In this logic, ping-pong handover of different night modes with a single threshold may be prevented. It should be noted that for a strategy for determining an initial night mode, a determining logic used when the image luminance is between the first luminance threshold and the second luminance threshold may be added, to divide a scene of any image luminance into a corresponding night mode. Further, during switching between the first night mode and the second night mode, change of a fusion weight of the video image of a first exposure frame during fusion may be smoothly adjusted to further reduce a mutation effect of a video image. For example, the fusion weight of the video image of a first exposure frame in the first night mode is <NUM>%, and the fusion weight of the video image of a first exposure frame in the second night mode is <NUM>%. During switching from the first night mode to the second night mode, the fusion weight of the video image of a first exposure frame may be gradually changed from <NUM>% to <NUM>%. Similarly, during switching from the second night mode to the first night mode, the fusion weight of the video image of a first exposure frame may be gradually changed from <NUM>% to <NUM>%.

In the embodiment, in the first night mode, a video is obtained in a manner of non-overlapping exposure. In the second night mode, a video is obtained in a manner of overlapping exposure.

Specifically, a camera lens captures a frame of image in two stages: exposure and readout. The non-overlapping exposure means that exposure and readout of a next frame are performed only after exposure and readout of a current frame are completed. The overlapping exposure means that exposure of a current frame overlaps readout of a previous frame, that is, a next frame starts to be exposed while a previous frame is being read out. A stagger high-dynamic range (High-Dynamic Range, HDR) technology may be used in the second night mode, to increase a dynamic range. However, in this mode, a longest time for which the video image of a first exposure frame is exposed is limited, and noise is amplified, which is not appropriate for the low-light night scene. Therefore, in the solution provided in this embodiment of this application, switching of different night modes is implemented based on the image luminance at night.

In a possible implementation, step <NUM>: processing a LOG video based on a look up table (Look Up Table, LUT), to obtain a video processed by using the LUT includes the following.

Cube interpolation space is established based on the LUT, where the LUT is a 3D-LUT.

Implementation of the 3D-LUT is performed in the RGB domain, and the 3D-LUT is a color correction and mapping relationship commonly used in a movie industry. An arbitrarily input RGB pixel value may be converted into a corresponding another RGB pixel value. For example, if a <NUM>-bit RGB video image is input, a <NUM>-bit RGB video image obtained after LUT processing and mapping is output. Entire RGB color space is evenly divided into, for example, <NUM>×<NUM>×<NUM> cubes, to be corresponding to the LUT. A side length step_size of each cube is, for example, <NUM>(<NUM>-<NUM>)=<NUM><NUM>.

A cube to which each pixel in a LOG video belongs in the cube interpolation space is determined, where the cube is divided into six tetrahedrons.

The LOG video is used as an input during LUT processing. A pixel is obtained by processing and mapping each pixel in an image of the LOG video by using the LUT, that is, a process of processing the LOG video by using the LUT may be implemented. A cube to which each pixel in each LOG video as an input belongs in the foregoing cube interpolation space is to be determined, and the cube is divided into six tetrahedrons.

A tetrahedron to which each pixel in the LOG video belongs is determined.

A pixel value of a pixel corresponding to a vertex of a cube is converted into a pixel value obtained by LUT processing. Interpolation is performed, based on a tetrahedron to which each pixel belongs, on a pixel not corresponding to the vertex of the cube, and the pixel value is converted into a pixel value obtained by LUT processing.

Specifically, if an input pixel is located at a vertex of a cube, a mapped RGB pixel value may be directly obtained based on an index of the vertex and 3D-LUT, that is, a pixel value of the pixel may be mapped and converted into a corresponding pixel value directly by using the LUT. If the pixel is located between vertices of the cube, interpolation is performed based on the tetrahedron to which the pixel belongs.

In a possible implementation, as shown in <FIG>, a cube has a <NUM>th vertex to a <NUM>th vertex, which are respectively expressed by numbers <NUM> to <NUM> in <FIG>. A direction from the <NUM>th vertex to a <NUM>st vertex is a coordinate axis direction of a blue B channel. A direction from the <NUM>th vertex to a <NUM>th vertex is a coordinate axis direction of a red R channel. A direction from the <NUM>th vertex to a <NUM>nd vertex is a coordinate axis direction of a green G channel. The <NUM>th vertex, the <NUM>st vertex, the <NUM>nd vertex, and a <NUM>rd vertex are located in a same plane. The <NUM>st vertex, the <NUM>rd vertex, a <NUM>th vertex, and the <NUM>th vertex are located in a same plane. The <NUM>th vertex, the <NUM>th vertex, a <NUM>th vertex, and the <NUM>th vertex are located in a same plane. The <NUM>th vertex, the <NUM>nd vertex, the <NUM>th vertex, and the <NUM>th vertex are located in a same plane. The <NUM>th vertex, the <NUM>st vertex, the <NUM>th vertex, and the <NUM>th vertex form a first tetrahedron. The <NUM>th vertex, the <NUM>st vertex, the <NUM>rd vertex, and the <NUM>th vertex form a second tetrahedron. The <NUM>th vertex, the <NUM>nd vertex, the <NUM>rd vertex, and the <NUM>th vertex form a third tetrahedron. The <NUM>th vertex, the <NUM>th vertex, the <NUM>th vertex, and the <NUM>th vertex form a fourth tetrahedron. The <NUM>th vertex, the <NUM>th vertex, the <NUM>th vertex, and the <NUM>th vertex form a fifth tetrahedron. The <NUM>th vertex, the <NUM>nd vertex, the <NUM>th vertex, and the <NUM>th vertex form a sixth tetrahedron. Coordinates of an ith vertex are (Ri, Gi, Bi), and a value of i is <NUM>, <NUM>, <NUM>, <NUM>,. , or <NUM>. A pixel value of the ith vertex obtained by LUT processing is VE (Ri, Gi, Bi), where E is R, G, and B respectively.

The process of performing interpolation, based on a tetrahedron to which each pixel belongs, on a pixel not corresponding to the vertex of the cube, and converting the pixel value into a pixel value obtained by LUT processing includes the following.

A pixel value VE (R, G, B) of a E channel obtained by LUT processing is generated based on a current pixel (R, G, B), where E is R, G, and B respectively, and the current pixel means a pixel to be interpolated currently in an input LOG video.

VE (R, G, B)=VE (R0, G0, B0)+(delta_valueR_E×deltaR+delta_valueG_E×deltaG+delta_valueB_E×deltaB+(step_size>><NUM>) )/(step_size).

VE (R0, G0, B0) is a pixel value of a E channel obtained by LUT processing at the <NUM>th vertex (R0, G0, B0), where E is R, G, and B respectively.

delta_valueR_E is a difference between pixel values of the E channel that are obtained by LUT processing and that are of two vertices in the coordinate axis direction of the R channel corresponding to a tetrahedron to which the current pixel belongs. delta_valueG_E is a difference between pixel values of the E channel that are obtained by LUT processing and that are of two vertices in the coordinate axis direction of the G channel corresponding to a tetrahedron to which the current pixel belongs. delta_valueB_E is a difference between pixel values of the E channel that are obtained by LUT processing and that are of two vertices in the coordinate axis direction of the B channel corresponding to a tetrahedron to which the current pixel belongs.

deltaR is a difference between an R value in the current pixel (R, G, B) and an R0 value in the <NUM>th vertex (R0, G0, B0). deltaG is a difference between a G value in the current pixel (R, G, B) and a G0 value in the <NUM>th vertex (R0, G0, B0). deltaB is a difference between a B value in the current pixel (R, G, B) and a B0 value in the <NUM>th vertex (R0, G0, B0).

>> represents a right shift operation, and (step_size>><NUM>) represents a right shift of step_size by one bit.

Specifically, for example, for the input current pixel (R, G, B), deltaR, deltaG, and deltaB are calculated. deltaR, deltaG, and deltaB represent distances between the current pixel (R, G, B) and the <NUM>th vertex respectively, and deltaR=R-R0, deltaG=G-G0, and deltaB=B-B0. A tetrahedron to which the current pixel belongs may be determined based on a relationship between deltaR, deltaG, and deltaB. If deltaB≥deltaR and deltaR≥deltaG, it is determined that the current pixel belongs to the first tetrahedron. If deltaB≥deltaG and deltaG≥deltaR, it is determined that the current pixel belongs to the second tetrahedron. If deltaG≥deltaB and deltaB≥deltaR, it is determined that the current pixel belongs to the third tetrahedron. If deltaR≥deltaB and deltaB≥deltaG, it is determined that the current pixel belongs to the fourth tetrahedron. If deltaR≥deltaG and deltaG≥deltaB, it is determined that the current pixel belongs to the fifth tetrahedron. If the relationship between deltaR, deltaG, and deltaB does not meet any condition for the first tetrahedron to the fifth tetrahedron, it is determined that the current pixel belongs to the sixth tetrahedron. It is assumed that the current pixel (R, G, B) belongs to the first tetrahedron, during calculation of a pixel value VR (R, G, B) of the R channel of the pixel after LUT processing, delta_valueR_E is a difference between pixel values of the E channel that are obtained by LUT processing and that are of two vertices in the coordinate axis direction of the R channel corresponding to a tetrahedron to which the current pixel belongs, that is, delta_valueR_R=VR (R5, G5, B5)-VR (R1, G1, B1), delta_valueG_R=VR (R7, G7, B7)-VR (R5, G5, B5), delta_valueB_R=VR (R1, G1, B1)-VR (R0, G0, B0), VR (R, G, B)=VR (R0, G0, B0)+(delta_valueR_R×deltaR+delta_valueG_R×deltaG+delta_valueB_R×deltaB+(step_size>><NUM> ))/(step_size). During calculation of a pixel value VG (R, G, B) of the G channel of the pixel after LUT processing, delta_valueG_E is a difference between pixel values of the E channel that are obtained by LUT processing and that are of two vertices in the coordinate axis direction of the G channel corresponding to a tetrahedron to which the current pixel belongs, that is, delta_valueR_G=VR (R5, G5, B5)-VR (R1, G1, B1), delta_valueG_G=VG (R7, G7, B7)-VG (R5, G5, B5), delta_valueB_G=VG (R1, G1, B1)-VG (R0, G0, B0), VG (R, G, B)=VG (R0, G0, B0)+(delta_valueR_G×deltaR+delta_valueG_G×deltaG+delta_valueB_G×deltaB+(step_size>><NUM> ))/(step_size). During calculation of a pixel value VG (R, G, B) of the B channel of the pixel after LUT processing, delta_valueB_E is a difference between pixel values of the E channel that are obtained by LUT processing and that are of two vertices in the coordinate axis direction of the B channel corresponding to a tetrahedron to which the current pixel belongs, that is, delta_valueR_B=VB (R5, G5, B5)-VB (R1, G1, B1), delta_valueG_B=VB (R7, G7, B7)-VB (R5, G5, B5), delta_valueB_B=VB (R1, G1, B1)-VB (R0, G0, B0), VB (R, G, B)=VB (R0, G0, B0)+(delta_valueR_B×deltaR+delta_valueG_B×deltaG+delta_valueB_B×deltaB+(step_size>><NUM> ))/(step_size). If the current pixel (R, G, B) belongs to another tetrahedron, the calculation process is similar, and a difference lies in calculation of delta_valueR_E. For example, for the second tetrahedron, delta_valueR_R=VR (R7, G7, B7)-VR (R3, G3, B3), delta_valueG_R=VR (R3, G3, B3)-VR (R1, G1, B1), delta_valueB_R=VR (R1, G1, B1)-VR (R0, G0, B0). The calculation process based on the another tetrahedron is not described herein in detail.

In a possible implementation, before step <NUM>: processing a LOG video based on a look up table (Look Up Table, LUT) to obtain a video processed by using the LUT, the method further includes: converting the LOG video from a LOG video in RGB color space to a LOG video in YUV color space; and performing YUV denoising on the LOG video in the YUV color space, to obtain a denoised LOG video. The LOG video using the LUT in step <NUM> is the LOG video obtained by YUV denoising. Because the LOG video obtained in step <NUM> can reflect details in a dark part, but amplify noise in the dark part simultaneously, that is, noise is introduced, the LOG video may be converted into a LOG video in the YUV color space and then subject to YUV denoising, and the noise is reduced by using an algorithm, to improve quality of a video image.

In a possible implementation, before step <NUM>: processing a LOG video based on a look up table (Look Up Table, LUT) to obtain a video processed by using the LUT, the method further includes: converting the denoised LOG video from the LOG video in the YUV color space to the LOG video in the RGB color space. After step <NUM>: processing a LOG video based on a look up table (Look Up Table, LUT) to obtain a video processed by using the LUT, the method further includes: converting the video processed by using the LUT in the RGB color space to a video in the YUV color space. Because a process of processing the LOG video based on the LUT in step <NUM> is implemented based on the RGB color space, before step <NUM>, the video in the YUV color space is first converted into the video in the RGB color space, and then after step <NUM>, the video in the RGB color space is reconverted into the video in the YUV color space.

YUV (also referred to as YCbCr) is a color coding method used in a European television system. In a modern color television system, a three-tube color camera or a color CCD camera is usually used for image shooting, and then an obtained color image signal is subject to color separation, amplification, and correction, so that an RGB signal is obtained. The RGB signal is then changed into a luminance signal Y and two color difference signals B-Y (U) and R-Y (V) by using a matrix conversion circuit. Finally, a transmit end encodes the three signals and then transmits encoded signals through a same channel. This color representation method is the YUV color space. YCbCr is a specific implementation of a YUV model and is actually a scaled and shifted copy of YUV. Y has a same meaning as Y in YUV, and Cb and Cr both mean colors, except that Cb and Cr differ in a representation method. In a YUV family, YCbCr is a most widely used member in a computer system and is used in a wide application field, such as JPEG and MPEG. Generally, YUV mostly means YCbCr. A UV plane is shown in <FIG>.

Interconversion of the RGB color space and the YUV color space may be implemented by a matrix of 3x3: <MAT>.

YUV has four main sampling formats: YCbCr <NUM>:<NUM>:<NUM>, YCbCr <NUM>:<NUM>:<NUM>, YCbCr <NUM>:<NUM>:<NUM>, and YCbCr <NUM>:<NUM>:<NUM>. In a possible implementation, as shown in <FIG> and <FIG>, an electronic device may specifically include a camera lens <NUM>, an AI night algorithm module <NUM>, a statistical information obtaining module <NUM>, demosaic (Demosaic) modules <NUM>, warp modules <NUM>, a fusion module <NUM>, noise processing modules <NUM>, color correction matrix (Color Correction Matrix, CCM) modules <NUM>, global tone mapping (Global Tone Mapping, GTM) modules <NUM>, scaling (Scaler) modules <NUM>, YUV denoising modules <NUM>, and LUT-based processing modules <NUM>. For example, during video recording, the camera lens <NUM> obtains a video image of a first exposure frame and a video image of a second exposure frame by shooting. An exposure time corresponding to the video image of a first exposure frame is greater than an exposure time corresponding to the video image of a second exposure frame. In a first night mode, the statistical information obtaining module <NUM> obtains statistical information corresponding to the video image of a first exposure frame, and the AI night algorithm module <NUM> processes the statistical information and a RAW image of the video image of a first exposure frame as inputs to be processed by using the AI night algorithm, to obtain a RAW image that is of the video image of a first exposure frame and that is processed by using the AI night algorithm. A video image of a first exposure frame processed by using the AI night algorithm and the video image of a second exposure frame not processed by using the AI night algorithm are processed by the demosaic module <NUM> respectively. This enables the images to be converted from a RAW domain to an RGB domain. Then the two video images are processed by the warp module <NUM> respectively, so that alignment and stabilization effects are achieved by warping the video images. Then the two video images are processed by the fusion module <NUM>, so that the two video images are fused as one video image, and fused data is divided into two data streams. A video processing method includes a first video processing procedure S1 and a second video processing procedure S2. One of the two data streams processed by the fusion module <NUM> enters the first video processing procedure S1 and the other of the two data streams enters the second video processing procedure S2.

In the first video processing procedure S1, a process of converting a video shot through a camera lens into a video in wide-gamut color space, a process of processing a video by using a logarithm LOG curve to obtain a LOG video, and a process of processing the LOG video based on a LUT are performed.

For example, the first video processing procedure S1 includes: The noise processing module <NUM> denoises a video that is from the fusion module <NUM> and that is shot through the camera lens <NUM>, the CCM module <NUM> processes a denoised video to be converted into a video in wide-gamut RGB color space, the GTM module <NUM> processes a converted fused video by using a logarithm LOG curve corresponding to a current photosensitivity ISO of the camera lens, to obtain a LOG video, the scaling module <NUM> scales a processed video, the YUV denoising module <NUM> performs YUV denoising on a scaled video, and then the LUT-based processing module <NUM> processes a LOG video obtained by YUV denoising based on a look up table LUT, to obtain a video processed by using the LUT. After the first video processing procedure S1, the video processed by using the LUT in the first video processing procedure S1 is stored as a recorded video.

The second video processing procedure S2 includes: The noise processing module <NUM> denoises a video that is from the fusion module <NUM> and that is shot through the camera lens <NUM>, the CCM module <NUM> processes a denoised video to be converted into a video in wide-gamut RGB color space, the GTM module <NUM> processes a converted fused video by using a logarithm LOG curve corresponding to a current photosensitivity ISO of the camera lens, to obtain a LOG video, the scaling module <NUM> scales the LOG video, the YUV denoising module <NUM> performs YUV denoising on a scaled video, and then the LUT-based processing module <NUM> processes a LOG video obtained by YUV denoising based on a look up table LUT, to obtain a video processed by using the LUT. After the second video processing procedure S2, the video processed by using the LUT in the second video processing procedure S2 is previewed.

Only a specific video recording process in the first night mode is described above. Based on a determining process in step <NUM>, the second night mode may be switched to and displayed during recording. In the second night mode, processing by using the AI night algorithm is not performed. The video image of a first exposure frame and the video image of a second exposure frame are respectively processed by the demosaic modules <NUM> to be converted from the RAW domain into the RGB domain. Then the two video images are respectively processed by the warp module <NUM>. Alignment and stabilization effects can be achieved by warping the video images. Then the two video images are processed by the fusion module <NUM> to be fused into one video image. In the second night mode, a fusion weight of the video image of a first exposure frame video is less than a fusion weight of the video image of a first exposure frame in the first night mode. A process of video image processing after fusion in the second night mode may be the same as or different from a process of video image processing after fusion in the first night mode, which is not limited in this embodiment of this application.

Embodiments of this application are described below with reference to a software architecture. In an embodiment of this application, an Android system of a layered architecture is used as an example to describe a software structure of the electronic device <NUM>. <FIG> is a block diagram of the software structure of the electronic device <NUM> according to an embodiment of this application.

Software is divided into several layers by using the layered architecture, and each layer has a definite role and task. The layers communicate with each other by using a software interface. In some embodiments, an Android system is divided into five layers: an application (Application) layer, an application framework (framework) layer, a system library (library), a hardware abstraction layer (Hardware Abstraction Layer, HAL) layer, and a kernel layer from top to bottom. The application layer may include applications such as a camera.

The application framework layer may include a camera application programming interface (Application Programming Interface, API), MediaRecorder, Surfaceview, and the like. MediaRecorder is configured to record video or picture data and to enable such data accessible to an application. Surfaceview is configured to display a previewed image.

The system library may include a plurality of functional modules, for example, CameraSevice.

The hardware abstraction layer is configured to provide interface support, including, for example, a camera pipeline CameraPipeline to be called by a camera service.

The kernel layer includes a display driver, a camera lens driver, and the like.

With reference to a specific scene in which a video is captured, the application layer sends a CaptureRequest. The request is corresponding to a stream of a video and a preview stream. The HAL calls back two streams based on the dataflow (dataflow). The preview stream is sent for display, and the stream of a video is sent to a mediacodec.

The recorded video processing method provided in embodiments of this application may be represented by a plurality of functions in two shooting modes. The two shooting modes may mean a movie mode and a professional mode.

The movie mode is a shooting mode related to a movie theme. In this mode, an image displayed by an electronic device <NUM> may present an effect of viewing a movie to the user from senses. The electronic device <NUM> further provides a plurality of video style templates related to the movie theme. The user may use the video style templates to obtain a tone-adjusted image or video. Tones of the images or videos are similar to or the same as tones of a movie. In the following embodiments of this application, in the movie mode, at least an interface for the user to trigger a LUT function and an HDR10 function may be provided. Refer to the following embodiment for description of the LUT function and the HDR10 function in detail.

For example, it is assumed that the electronic device <NUM> is a mobile phone. In a possible implementation, as shown in <FIG>, the electronic device may display a movie mode in response to an operation of a user. For example, the electronic device <NUM> may detect a touch operation performed by the user on a camera application. In response to the operation, the electronic device <NUM> displays a default shooting interface of the camera application. The default shooting interface may include: a preview box, a shooting mode list, a gallery shortcut key, a shutter control, and the like.

The preview box may be used for displaying an image captured by a camera lens <NUM> in real time. The electronic device <NUM> may refresh display content in the preview box in real time, so that the user previews an image currently captured by the camera lens <NUM>.

One or more shooting mode options may be displayed in the shooting mode list. The one or more shooting mode options may include: a portrait mode option, a video mode option, a photo mode option, a movie mode option, and a professional option. The one or more shooting mode options may be expressed as text information on an interface, such as "PORTRAIT", "VIDEO", "PHOTO", "MOVIE", and "PRO". This application is not limited thereto. The one or more shooting mode options may be alternatively displayed as icons or interactive elements (interactive element, IE) in other forms on the interface.

The gallery shortcut may be used for starting a gallery application. The gallery application is an application for picture management on an electronic device such as a smartphone or a tablet computer, and may also be referred to as an "album". A name of the application is not limited in this embodiment. The gallery application may support the user in performing various operations on a picture stored in the electronic device <NUM>, for example, operations such as browsing, editing, deleting, and selecting.

The shutter control may be configured to monitor an operation performed by the user to trigger shooting. The electronic device <NUM> may detect a user operation acting on the shutter control. In response to the operation, the electronic device <NUM> may store an image in the preview box as a picture in the gallery application. In addition, the electronic device <NUM> may further display a thumbnail of a stored image in the gallery shortcut. That is, the user may tap the shutter control to trigger image shooting. The shutter control may be a button or a control in another form.

The electronic device <NUM> may detect a touch operation by a user acting on the movie mode option. In response to the operation, the electronic device displays a user interface shown in <FIG>.

In some embodiments, the electronic device <NUM> may start the movie mode by default after the camera application is started. This application is not limited thereto. The electronic device <NUM> may alternatively start the movie mode in another manner. For example, the electronic device <NUM> may alternatively start the movie mode based on a voice instruction of a user, which is not limited in this embodiment of this application.

The user interface shown in <FIG> includes functional options including an HDR10 option, a flash option, a LUT option, and a setting option. The plurality of functional options may detect a touch operation of the user. In response to the operation, a corresponding shooting function is enabled or disabled, such as an HDR10 function, a flash function, a LUT function, and a setting function.

The electronic device may enable the LUT function. The LUT function may change a display effect of a previewed image. Actually, a look up table is introduced in the LUT function. The look up table is equivalent to a color conversion model capable of outputting an adjusted color value based on an input color value. A color value of an image captured by a camera lens is equivalent to an input value. After different color values pass through the color conversion model, output values can be obtained correspondingly. Finally, an image displayed in the preview box is an image adjusted by the color conversion model. The electronic device <NUM> uses the LUT function to display an image including color values adjusted by the color conversion model, to achieve an effect of adjusting an image tone. After the LUT function is enabled, the electronic device <NUM> may provide a plurality of video style templates. One video style template is corresponding to one color conversion model, and different video style templates may bring different display effects to a previewed image. In addition, the video style templates may be associated with the movie theme. The video style templates may provide the previewed image with an adjusted tone that is similar to or the same as a tone in a movie, creating an atmosphere for the user in which a movie is shot. In addition, after the electronic device <NUM> enables the LUT function, the electronic device <NUM> may determine one video style template among a plurality of video style templates based on a currently previewed video image. The determined video style template may be displayed in an interface, so that the user may understand the currently determined video style template. For example, the plurality of video style templates include a style template of a movie "A", a style template of a movie "B", and a style template of a movie "C". LUTs corresponding to different style templates of movies may be generated in advance based on corresponding color matching styles of movies. Color conversion of the LUT has a style characteristic corresponding to a movie. A LUT appropriate for a mobile electronic device may be generated by pre-extraction from the movie style. Enabling the LUT function changes a tone of the previewed video image. As illustrated in <FIG>, the electronic device <NUM> determines and displays the style template of the movie "A".

In some embodiments, the electronic device <NUM> may select a video style template based on a sliding operation of a user. Specifically, after the electronic device <NUM> detects a user operation of the user to enable the LUT function and displays a LUT preview window, the electronic device <NUM> may select a first video style template in the LUT preview window by default as a video style template selected by the electronic device <NUM>. Then the electronic device <NUM> may detect a left-right sliding operation of the user acting on the LUT preview window and move a position of each video style template in the LUT preview window. When the electronic device <NUM> no longer detects the sliding operation of the user, the electronic device <NUM> uses the first video style template displayed in the LUT preview window as the video style template selected by the electronic device <NUM>.

In some embodiments, in addition to changing a display effect of a previewed image by using a video style template, the electronic device <NUM> may detect a user operation of starting to record a video after the video style template is added. In response to the operation, the electronic device <NUM> starts to record a video, to obtain a video with a display effect adjusted by using the video style template. In addition, during video recording, the electronic device <NUM> may also detect a user operation of shooting a photo. In response to the operation, the electronic device <NUM> stores, as a picture, a previewed image to which a video style template is added in the preview box, to obtain an image with a display effect adjusted by using the video style template.

The electronic device may enable the HDR10 function. In the HDR10 mode, HDR is a high-dynamic range (High-Dynamic Range, HDR). Compared with a normal image, HDR can provide more dynamic ranges and image details, and can better reflect a visual effect in a real environment. <NUM> in HDR10 is <NUM> bits, and HDR10 can record a video in a high dynamic range of <NUM> bits.

The electronic device <NUM> may detect a touch operation of the user acting on the professional mode option, to display the professional mode. As shown in <FIG>, when the electronic device is in the professional mode, functional options that may be included in a user interface are, for example, a LOG option, a flash option, a LUT option, and a setting option. In addition, the user interface further includes a parameter adjustment option, for example, a photometric M option, an ISO option, a shutter S option, an exposure value EV option, a focusing manner AF option, and a white balance WB option.

In some embodiments, the electronic device <NUM> may start the professional mode by default after the camera application is started. This application is not limited thereto. The electronic device <NUM> may alternatively start the professional mode in another manner. For example, the electronic device <NUM> may alternatively start the professional mode based on a voice instruction of a user, which is not limited in this embodiment of this application.

The electronic device <NUM> may detect a user operation of the user acting on the LOG option. In response to the operation, the electronic device <NUM> enables the LOG function. The LOG function can apply a logarithm function to an exposure curve, to keep details of a highlight and shadow of an image captured by a camera lens to the maximum extent, so that a finally presented previewed image has a low saturation. A video recorded by using the LOG function is referred to as a LOG video.

In the professional mode, the electronic device <NUM> may record a video to which a video style template is added, may alternatively add a video style template to a video to which no video style template is added, or record a LOG video after enabling the LOG function, and then add a video style template to the LOG video. In this way, the electronic device <NUM> may not only adjust a display effect of an image before recording a video, but also adjust a display effect of a recorded video after completing video recording, increasing flexibility and freedom of image adjustment.

An embodiment of this application further provides a video processing apparatus. The video processing apparatus includes: a video obtaining module, configured to obtain, in a first night mode or a second night mode, a video shot through a camera lens, where the video includes a video image of a first exposure frame and a video image of a second exposure frame that are alternated, and a time for which the video image of a first exposure frame is exposed is greater than a time for which the video image of a second exposure frame is exposed; an AI night algorithm module, configured to process, in the first night mode, the video image of a first exposure frame by using an artificial intelligence AI night algorithm, where processing by using the AI night algorithm is used for reducing noise and increasing a luminance; and a fusion module, configured to: fuse a video image of a first exposure frame processed by using the AI night algorithm and the video image of a second exposure frame not processed by using the AI night algorithm in the first night mode, to obtain a fused video, where the video image of a first exposure frame has a first weight; and fuse the video image of a first exposure frame and the video image of a second exposure frame in the second night mode, to obtain a fused video, where the video image of a first exposure frame has a second weight, and the first weight is greater than the second weight.

It should be understood that division of the video processing apparatus into modules is merely logical function division. The modules may be all or partially integrated into a physical entity or may be physically separated in actual implementation. In addition, all of the modules may be implemented in a form of software invoked by using a processing element or may be implemented in a form of hardware. Alternatively, some modules may be implemented in a form of software invoked by using the processing element, and some modules are implemented in a form of hardware. For example, any one of the video obtaining module, the AI night algorithm module, and the fusion module may be a separate processing element or may be integrated into a video processing apparatus, for example, may be integrated into a chip in the video processing apparatus for implementation. In addition, any one of the video obtaining module, the AI night algorithm module, and the fusion module may be alternatively stored in a memory of the video processing apparatus in a form of a program, and functions of the modules may be invoked and executed by a processing element of the video processing apparatus. Implementations of other modules are similar thereto. In addition, all or some of these modules may be integrated or implemented independently. The processing element herein may be an integrated circuit having a signal processing capability. During implementation, steps of the foregoing method or the foregoing modules may be completed through an integrated logic circuit of the hardware in the processor element or an instruction in the form of software.

For example, the modules including the video obtaining module, the AI night algorithm module, and the fusion module may be one or more integrated circuits configured to implement the foregoing method, such as one or more application-specific integrated circuits (Application-Specific Integrated Circuit, ASIC), one or more microprocessors (digital signal processor, DSP), or one or more field programmable gate arrays (Field Programmable Gate Array, FPGA). For another example, when one of the foregoing modules is implemented in a form of a program invoked by the processing component, the processing component may be a general processor, for example, a central processing unit (Central Processing Unit, CPU) or another processor that may invoke the program. For another example, the modules may be integrated in a form of a system-on-a-chip (system-on-a-chip, SOC) for implementation.

An embodiment of this application further provides a video processing apparatus. The video processing apparatus includes: a processor and a memory. The memory is configured to store at least one instruction. The instruction is loaded and executed by the processor to implement the video processing method in any one of the foregoing embodiments.

The foregoing video processing method may be applied to the video processing apparatus. A specific process and principle are not described herein again.

A quantity of processors may be one or more. The processor and memory may be connected via a bus in another manner. The memory, as a non-transitory computer-readable storage medium, may be configured to store a non-transitory software program, a non-transitory computer-executable program, and a module, such as program instructions/module corresponding to the video processing apparatus in this embodiment of this application. The processor runs the non-transitory software program, instructions, and the module that are stored in the memory, to execute various functional applications and data processing, that is, implement a method in any one of the foregoing method embodiments. The memory may include a program storage area and a data storage area. The program storage area may store an operating system, an application required for at least one function, necessary data, and the like. In addition, the memory may include a high speed random access memory, and may also include a non-transient memory, such as at least one magnetic disk storage device, a flash memory, or another non-transient solid state storage device. As shown in <FIG>, an embodiment of this application further provides an electronic device. The electronic device includes a camera lens <NUM> and the foregoing video processing apparatus. The video processing apparatus includes a processor <NUM>.

A specific principle and a working process of the video processing apparatus are the same as a specific principle and working process in the foregoing embodiments. The details are not described herein again. The electronic device may be any product or component having a video shooting function, such as a mobile phone, a television, a tablet computer, a watch, a wristband, or the like. An embodiment of this application further provides a computer-readable storage medium. The computer-readable storage medium stores a computer program. When the computer program is run on a computer, the computer is enabled to perform the video processing method in any one of the foregoing embodiments.

In the foregoing embodiments, all or some of the foregoing embodiments may be implemented by using software, hardware, firmware, or any combination thereof. When the software is used for implementing the embodiments, all or a part of the embodiments may be implemented in a form of a computer program product. The computer program product includes one or more computer instructions. When instructions of the computer program are loaded and executed on a computer, procedures or functions according to this application are all or partially generated. The computer may be a general-purpose computer, a dedicated computer, a computer network, or other programmable apparatuses. The computer instructions may be stored in a computer-readable storage medium or may be transmitted from a computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center to another website, computer, server, or data center in a wired (for example, a coaxial cable, an optical fiber, or a digital subscriber line) or wireless (for example, infrared, radio, or microwave) manner. The computer-readable storage medium may be any usable medium accessible by the computer, or a data storage device, for example, a server or a data center, integrating one or more usable media. The usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (for example, a DVD), a semiconductor medium (for example, a solid state disk (Solid State Disk)), or the like.

In embodiments of this application, "at least one" means one or more, and "a plurality" means two or more. "and/or" describes an association relationship for describing associated objects and represents that three relationships may exist. A or B may be singular or plural. The character "/" generally indicates an "or" relationship between associated objects before and after the character. "at least one of the following" or a similar expression thereof means any combination of these items, including a single item or any combination of a plurality of items. For example, at least one of a, b, and c may represent a, b, c, a and b, a and c, b and c, or a, b, and c. a, b, and c may be single or multiple.

Claim 1:
A video processing method, comprising:
in a first night mode or a second night mode, obtaining a video shot through a camera lens, wherein the video comprises a video image of a first exposure frame and a video image of a second exposure frame that are alternated, and a time for which the video image of a first exposure frame is exposed is greater than a time for which the video image of a second exposure frame is exposed;
periodically obtaining a luminance of a current image in the video shot through the camera lens, and if the luminance is less than a first luminance threshold, displaying the first night mode, or if the luminance is greater than a second luminance threshold, displaying the second night mode, wherein the first luminance threshold is less than the second luminance threshold;
in the first night mode, processing the video image of a first exposure frame by using an artificial intelligence AI night algorithm, wherein processing by using the AI night algorithm is used for reducing noise and increasing a luminance;
in the first night mode, fusing a video image of a first exposure frame processed by using the AI night algorithm and the video image of a second exposure frame not processed by using the AI night algorithm, to obtain a fused video, wherein the video image of a first exposure frame has a first weight; and
in the second night mode, fusing the video image of a first exposure frame and the video image of a second exposure frame, to obtain a fused video, wherein the video image of a first exposure frame has a second weight, and the first weight is greater than the second weight; and in the first night mode, the video is obtained in a manner of non-overlapping exposure; and in the second night mode, the video is obtained in a manner of overlapping exposure.