Image processing method, device and storage medium

By passing data processing requests between the operating system's framework layer and the hardware abstraction layer, third-party applications are allowed to use image processing functions, solving the problem that third-party camera applications cannot use image processing and improving shooting results.

CN116419062BActive Publication Date: 2026-02-24BEIJING XIAOMI MOBILE SOFTWARE CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111627438.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-28
Publication Date
2026-02-24
Estimated Expiration
2041-12-28

AI Technical Summary

Technical Problem

In existing technologies, third-party camera applications cannot access or use the image processing functions of electronic devices, resulting in limited shooting effects.

Method used

By passing data processing requests between the operating system's framework layer and hardware abstraction layer, third-party applications are allowed to use specified image processing functions to process the initial image data captured by the camera, including High Dynamic Range (HDR), beautification, bokeh, multi-frame noise reduction, super night scene mode, and super image stabilization.

Benefits of technology

It enables image processing through third-party applications, thus improving shooting results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116419062B_ABST
    Figure CN116419062B_ABST
Patent Text Reader

Abstract

The present disclosure relates to an image processing method, device and storage medium. The image processing method is applied to an electronic device, the electronic device comprises an operating system, and an application layer of the operating system is provided with a third-party application. The method comprises the following steps: in response to a first operation on the third-party application, the third-party application sends a first data processing request to a framework layer of the operating system, the first data processing request indicates that initial image data collected by a camera is processed through a specified target image processing function; the framework layer sends the data processing request to a hardware abstraction layer of the operating system; the hardware abstraction layer processes the initial image data through the target image processing function according to the first data processing request, obtains processed target image data, and sends the target image data to the third-party application.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of electronic equipment technology, and in particular to an image processing method, apparatus and storage medium. Background Technology

[0002] With the development of electronic device technology, the image processing technology of electronic devices has become very mature. Most electronic devices have matured their image processing technology. Based on the existing software architecture, combined with hardware and algorithms, most electronic devices can achieve functions such as high dynamic range rendering (HDR), portrait and night scene shooting / recording, and the image processing methods are very diverse.

[0003] In related technologies, the shooting functions of native camera apps can only be used by the native camera apps that come with smartphones and other electronic devices; third-party camera apps cannot access or use them. Summary of the Invention

[0004] To overcome the problems existing in related technologies, this disclosure provides an image processing method, apparatus and storage medium.

[0005] According to a first aspect of the present disclosure, an image processing method is provided, applied to an electronic device, the electronic device including an operating system, and the application layer of the operating system having third-party applications configured, the method comprising:

[0006] In response to a first operation on a third-party application, the third-party application sends a first data processing request to the framework layer of the operating system, the first data processing request instructing that the initial image data captured by the camera be processed through a specified target image processing function;

[0007] The framework layer sends the data processing request to the hardware abstraction layer of the operating system;

[0008] The hardware abstraction layer processes the initial image data according to the first data processing request through the target image processing function to obtain the processed target image data, and then sends the target image data to the third-party application.

[0009] Optionally, the method further includes:

[0010] In response to the first operation on the third-party application, a request to use the target image processing function is sent to the framework layer of the operating system;

[0011] The framework layer exposes the target image processing function to the third-party application based on the usage request.

[0012] Optionally, before sending the request to use the target image processing function to the framework layer of the operating system, the method further includes:

[0013] It is determined that the third-party application has the permission to use the target image processing function.

[0014] Optionally, the application layer of the operating system includes a camera software development kit (SDK), the third-party application integrates the SDK, and the framework layer is equipped with a camera permission module.

[0015] The determination that the third-party application has the permission to use the target image processing function includes:

[0016] The third-party application determines its ability to use the image processing functions of the electronic device in the following manner:

[0017] The SDK sends a query request for image processing function permissions to the camera permission module.

[0018] Based on the query request, the camera permission module determines that the third-party application can use the target image processing function and returns permission confirmation information to the third-party application.

[0019] Optionally, the operating system is provided with a first hardware abstraction layer and a second hardware abstraction layer;

[0020] The third-party application sends a first data processing request to the hardware abstraction layer of the operating system, including:

[0021] The third-party application sends the first data processing request to the first hardware abstraction layer.

[0022] Optionally, the hardware abstraction layer processes the initial image data according to the first data processing request through the target image processing function to obtain processed target image data, including:

[0023] The first hardware abstraction layer determines the image processing strategy corresponding to the target image processing function, and generates a second data processing request based on the first data processing request and the image processing strategy.

[0024] The first hardware abstraction layer sends the second data processing request to the second hardware abstraction layer;

[0025] The second hardware abstraction layer returns the corrected image data to the first hardware abstraction layer according to the second data processing request;

[0026] The first hardware abstraction layer processes the corrected image data according to the image processing strategy to obtain the target image data.

[0027] Optionally, the second hardware abstraction layer returns the corrected image data to the first hardware abstraction layer according to the second data processing request, including:

[0028] The second hardware abstraction layer processes the initial image data according to the second data processing request to obtain corrected image data;

[0029] The second hardware abstraction layer returns the corrected image data to the first hardware abstraction layer.

[0030] Optionally, the first hardware abstraction layer is provided with an image strategy module and an image processing module;

[0031] The image strategy module is used to determine the image processing strategy corresponding to the target image processing function, and generate a second data processing request based on the first data processing request and the image processing strategy.

[0032] The image processing module is used to process the corrected image data according to the image processing strategy to obtain the target image data.

[0033] Optionally, the target image processing function includes:

[0034] It has at least one of the following functions: High Dynamic Range (HDR) rendering, beauty mode, bokeh effect, multi-frame noise reduction, super night scene mode, and super image stabilization.

[0035] According to a second aspect of the present disclosure, an image processing apparatus is provided, applied to an electronic device, the electronic device including an operating system and the application layer of the operating system having a third-party application configured thereon, the apparatus comprising:

[0036] The sending module is configured to respond to a first operation on a third-party application, control the third-party application to send a first data processing request to the framework layer of the operating system, the first data processing request instructing the initial image data captured by the camera to be processed through a specified target image processing function, and control the framework layer to send the data processing request to the hardware abstraction layer of the operating system.

[0037] The processing module is used to control the hardware abstraction layer to process the initial image data according to the first data processing request through the target image processing function, obtain the processed target image data, and send the target image data to the third-party application.

[0038] Optionally, the device further includes:

[0039] The determination module is configured to, in response to a first operation on the third-party application, send a request to the framework layer of the operating system to use the target image processing function;

[0040] An open module is provided for the framework layer to expose the target image processing function to the third-party application based on the usage request.

[0041] Optionally, before the determining module sends a request to the framework layer of the operating system to use the target image processing function, it is further configured to:

[0042] It is determined that the third-party application has the permission to use the target image processing function.

[0043] Optionally, the application layer of the operating system includes a camera software development kit (SDK), the third-party application integrates the SDK, and the framework layer is equipped with a camera permission module.

[0044] The determining module determines whether the third-party application has the permission to use the target image processing function using the following method:

[0045] The SDK sends a query request for image processing function permissions to the camera permission module.

[0046] Based on the query request, the camera permission module determines that the third-party application can use the target image processing function and returns permission confirmation information to the third-party application.

[0047] Optionally, the operating system is provided with a first hardware abstraction layer and a second hardware abstraction layer;

[0048] The sending module is used to control the third-party application to send a first data processing request to the hardware abstraction layer of the operating system in the following manner:

[0049] The third-party application sends the first data processing request to the first hardware abstraction layer.

[0050] Optionally, the processing module is used to control the hardware abstraction layer to process the initial image data according to the first data processing request through the target image processing function to obtain processed target image data:

[0051] The first hardware abstraction layer determines the image processing strategy corresponding to the target image processing function, and generates a second data processing request based on the first data processing request and the image processing strategy.

[0052] The first hardware abstraction layer sends the second data processing request to the second hardware abstraction layer;

[0053] The second hardware abstraction layer returns the corrected image data to the first hardware abstraction layer according to the second data processing request;

[0054] The first hardware abstraction layer processes the corrected image data according to the image processing strategy to obtain the target image data.

[0055] Optionally, the processing module controls the second hardware abstraction layer to return the corrected image data to the first hardware abstraction layer according to the second data processing request in the following manner:

[0056] The second hardware abstraction layer processes the initial image data according to the second data processing request to obtain corrected image data;

[0057] The second hardware abstraction layer returns the corrected image data to the first hardware abstraction layer.

[0058] Optionally, the first hardware abstraction layer is provided with an image strategy module and an image processing module;

[0059] The image strategy module is used to determine the image processing strategy corresponding to the target image processing function, and generate a second data processing request based on the first data processing request and the image processing strategy.

[0060] The image processing module is used to process the corrected image data according to the image processing strategy to obtain the target image data.

[0061] Optionally, the target image processing function includes:

[0062] It has at least one of the following functions: High Dynamic Range (HDR) rendering, beauty mode, bokeh effect, multi-frame noise reduction, super night scene mode, and super image stabilization.

[0063] According to a third aspect of the present disclosure, a computer-readable storage medium is provided, having stored thereon computer program instructions that, when executed by a processor, implement the steps of the image processing method provided in the first aspect of the present disclosure.

[0064] The technical solutions provided by the embodiments of this disclosure may include the following beneficial effects:

[0065] In response to a first operation on a third-party application, the third-party application sends a first data processing request to the framework layer of the operating system. This first data processing request instructs that initial image data captured by the camera be processed using a specified target image processing function. The framework layer then sends the data processing request to the hardware abstraction layer of the operating system. Based on the first data processing request, the hardware abstraction layer processes the initial image data using the target image processing function to obtain processed target image data, which is then sent to the third-party application. Through this disclosure, image processing functions can be performed on images through a third-party application, thereby improving the shooting effect of the third-party application.

[0066] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description

[0067] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure.

[0068] Figure 1 This is a flowchart illustrating an image processing method according to an exemplary embodiment.

[0069] Figure 2 This is a flowchart illustrating an image processing method according to an exemplary embodiment.

[0070] Figure 3 This is a schematic diagram illustrating an operating system software architecture according to an exemplary embodiment.

[0071] Figure 4 This is a schematic flowchart illustrating the application of the shooting method disclosed herein according to an exemplary embodiment.

[0072] Figure 5 This is an example diagram illustrating an image processing method applying the present disclosure according to an exemplary embodiment.

[0073] Figure 6 This is an example diagram illustrating an image processing method applying the present disclosure according to an exemplary embodiment.

[0074] Figure 7 This is a block diagram illustrating an image processing apparatus according to an exemplary embodiment.

[0075] Figure 8 This is a block diagram illustrating an apparatus according to an exemplary embodiment. Detailed Implementation

[0076] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure as detailed in the appended claims.

[0077] Figure 1 This is a flowchart illustrating an image processing method according to an exemplary embodiment, such as... Figure 1 As shown, the shooting method is used in electronic devices and includes the following steps.

[0078] In step S11, in response to the first operation on the third-party application, the third-party application sends a first data processing request to the framework layer of the operating system. The first data processing request instructs that the initial image data captured by the camera be processed through the specified target image processing function.

[0079] When the third-party application is a third-party camera application, the first operation could be, for example, opening the third-party application to run its functions. Alternatively, when the third-party application is an application capable of accessing camera functions, the first operation could be either invoking the shooting function through the third-party application or allowing the third-party application to enter the shooting interface.

[0080] The electronic device may include an operating system, and the application layer of the operating system may contain third-party applications. The operating system may be, for example, Android, iOS, or Linux. Third-party applications may include, for example, third-party camera apps such as Meitu Xiu Xiu, BeautyCam, and Camera FV5, or any application capable of accessing camera functions.

[0081] For example, the image processing functions supported by the electronic device may include at least one of the following: High Dynamic Range (HDR) rendering, beautification, bokeh, multi-frame noise reduction, super night scene mode, and super image stabilization.

[0082] The first data processing request instructs the processing of the initial image data captured by the camera through a specified target image processing function.

[0083] For example, after the operating system framework grants a third-party application access to the camera based on a usage request, the third-party application can display selection buttons for supported image processing functions in its user interface. Users can then select the desired image processing function for the image data captured by the camera based on these selection buttons.

[0084] In step S12, the framework layer sends a data processing request to the hardware abstraction layer of the operating system.

[0085] In step S13, the hardware abstraction layer processes the initial image data through the target image processing function according to the first data processing request to obtain the processed target image data, and sends the target image data to the third-party application.

[0086] In an exemplary embodiment of this disclosure, in response to a first operation on a third-party application, the third-party application sends a first data processing request to the framework layer of the operating system. The first data processing request instructs that the initial image data captured by the camera be processed by a specified target image processing function. The framework layer sends the data processing request to the hardware abstraction layer of the operating system. The hardware abstraction layer processes the initial image data by the target image processing function according to the first data processing request to obtain processed target image data, and sends the target image data to the third-party application. Through this disclosure, image processing functions can be performed on images by third-party applications, thereby improving the shooting effect of third-party applications.

[0087] Figure 2 This is a flowchart illustrating an image processing method according to an exemplary embodiment, such as... Figure 2 As shown, the shooting method is used in electronic devices and includes the following steps.

[0088] In step S21, in response to the first operation on the third-party application, it is determined that the third-party application has the permission to use the target image processing function.

[0089] In step S22, a request to use the target image processing function is sent to the framework layer of the operating system.

[0090] In step S23, the framework layer opens the target image processing function to third-party applications according to the usage request.

[0091] In step S24, in response to the first operation on the third-party application, the third-party application sends a first data processing request to the framework layer of the operating system. The first data processing request instructs that the initial image data captured by the camera be processed through the specified target image processing function.

[0092] In step S25, the framework layer sends a data processing request to the hardware abstraction layer of the operating system.

[0093] In step S26, the hardware abstraction layer processes the initial image data through the target image processing function according to the first data processing request to obtain the processed target image data, and sends the target image data to the third-party application.

[0094] In one implementation, in response to a first operation on a third-party application, after determining that it can use the target image processing function, the third-party application can send a request to the operating system's framework layer to use the image processing function. Based on this request, the framework layer opens the target image processing function to the third-party application, thus effectively giving the third-party application the target image processing function as well. Users can then use the target image processing function to capture pictures or videos using the third-party application.

[0095] The operating system's application layer includes the camera software development kit (SDK), which is integrated into third-party applications.

[0096] Third-party applications determine their ability to use the image processing capabilities of electronic devices in the following ways:

[0097] Third-party applications send a request for image processing function permissions to the camera permission module through the SDK;

[0098] After determining that the third-party application is authorized to use the image processing function of the electronic device based on the query request, the camera permission module returns permission confirmation information to the third-party application.

[0099] The operating system's framework layer includes a camera access module. Third-party applications send usage requests to this module, which then grants the third-party applications access to image processing functions based on the requests.

[0100] The first data processing request can be made after the system's framework layer opens up image processing functions to third-party applications. The user determines the image processing function to be used based on the third-party application and selects the image processing function. That is, after obtaining the target image processing function, the user instructs the user to process the initial image data captured by the camera through the specified target image processing function.

[0101] The operating system has a first hardware abstraction layer and a second hardware abstraction layer. The first hardware abstraction layer can be a newly added hardware abstraction layer, and the second hardware abstraction layer can be the operating system's native hardware abstraction layer.

[0102] For example, a third-party application sends a first data processing request to a first hardware abstraction layer. The hardware abstraction layer processes the initial image data using the target image processing function according to the first data processing request to obtain the processed target image data:

[0103] The first hardware abstraction layer determines the image processing strategy corresponding to the target image processing function based on the target image processing function specified in the first data processing request, and generates a second data processing request based on the first data processing request and the image processing strategy.

[0104] Then, the first hardware abstraction layer sends a second data processing request to the second hardware abstraction layer. The second hardware abstraction layer performs image processing on the initial image data according to the second data processing request to obtain corrected image data. The second hardware abstraction layer sends the corrected image data to the first hardware abstraction layer. The first hardware abstraction layer processes the corrected image data according to the image processing strategy to obtain the target image data.

[0105] The first hardware abstraction layer may include an image strategy module and an image processing module. The image strategy module is used to determine the image processing strategy corresponding to the target image processing function and generate a second data processing request based on the first data processing request and the image processing strategy. The image processing module is used to process the modified image data according to the image processing strategy to obtain the target image data.

[0106] Figure 3 This is a schematic diagram illustrating an operating system software architecture according to an exemplary embodiment.

[0107] exist Figure 3 In a traditional operating system architecture, the native architecture can include an application layer, a framework layer, a first hardware abstraction layer (HAL), a second hardware abstraction layer (HAL), a kernel layer, and a hardware layer. The application layer contains numerous third-party applications and native applications for electronic devices. The framework layer includes various native interfaces, such as camera application interfaces, application services (e.g., camera application services), and framework layer interfaces. The first hardware abstraction layer is a newly added layer, including the first hardware abstraction layer interface (e.g., HAL3.0). The second hardware abstraction layer includes hardware abstraction layer interfaces (e.g., HAL3.0), and the kernel layer includes various drivers (e.g., screen display drivers, audio drivers, etc.). The hardware layer includes various hardware components of electronic devices (e.g., cameras with various functions).

[0108] This disclosure, based on the native system architecture, includes a camera software development kit (SDK) at the application layer, which is integrated into third-party applications. The operating system framework layer includes a camera permission module and a camera access module. An image policy module and an image processing module can be configured at the first hardware abstraction layer.

[0109] In response to the first operation on the third-party application, the third-party application sends a query request for image processing function permission to the camera permission module through the SDK. After determining that the third-party application can use the image processing function based on the query request, the camera permission module returns a confirmation message for the image processing function permission to the third-party application.

[0110] The operating system's framework layer also includes a camera access module, which receives usage requests from third-party applications and grants those applications permission to use image processing functions based on those requests.

[0111] Then, when a third-party application sends a first data processing request to the operating system's first hardware abstraction layer (HAL), the image policy module set in the HAL determines the image processing policy corresponding to the target image processing function, and generates a second data processing request based on the first data processing request and the image processing policy. The image policy module then sends the second data processing request to the second HAL. After reaching the second HAL, the second data processing request is processed by the kernel layer and hardware layer to obtain corrected image data, which is then returned to the image policy module of the first HAL.

[0112] The image strategy module sends the corrected image data to the image processing module according to the image processing strategy. The image processing module processes the corrected image data according to the image processing strategy to obtain the target image data. Then, the image processing module returns the obtained target image data to the image strategy module, which in turn returns the target image data to the third-party application. The image processing module adopts a cross-platform design, which also reduces the impact on the image processing strategy capabilities when the image processing function is replaced / upgraded.

[0113] Figure 4 This is a schematic flowchart illustrating the application of the shooting method disclosed herein according to an exemplary embodiment.

[0114] See Figure 4In response to a first operation on the third-party application, the third-party application sends a request to the framework layer of the operating system to use the target image processing function. The framework layer of the operating system verifies the permissions of the third-party application based on the query request. After determining that the third-party application has the permission to use the target image processing function, the framework layer grants the third-party application permission to use the target image processing function based on the usage request. Then, in response to the third-party application sending a first data processing request to the framework layer of the operating system to use the target image processing function, the third-party application sends the first data processing request to the framework layer of the operating system. The framework layer sends the first data processing request to the first hardware abstraction layer of the operating system. The first hardware abstraction layer generates a second data processing request based on the first data processing request and the image processing strategy. The second hardware abstraction layer returns the corrected image data to the first hardware abstraction layer based on the second data processing request. The first hardware abstraction layer processes the corrected image data according to the image processing strategy to obtain the target image data, and then sends the target image data to the third-party application.

[0115] Figure 5 and Figure 6 This is an example diagram illustrating an image processing method applying the present disclosure according to an exemplary embodiment.

[0116] exist Figure 5 The image demonstrates how, after the operating system opens up the image processing capabilities supported by electronic devices to third-party applications, these applications display multiple image processing function (i.e., photo capture) buttons on their shooting interface, such as Photo Capture 1, Photo Capture 2, Photo Capture 3, etc. Users can select Photo Capture 1, Photo Capture 2, or Photo Capture 3 to capture an image according to their shooting needs within the third-party application's interface.

[0117] exist Figure 6 The example demonstrates how, after the operating system opens up the image processing capabilities supported by electronic devices to third-party applications, these applications display multiple image processing function (video function) buttons on their video recording interfaces, such as Video Function 1, Video Function 2, and Video Function 3. Users can select Video Function 1, Video 2, or Video 3 to record video according to their needs within the third-party application's interface.

[0118] Figure 7 This is a block diagram 700 of an image processing apparatus according to an exemplary embodiment. (Refer to...) Figure 7 An image processing device, applied to an electronic device, the electronic device including an operating system and the application layer of the operating system having third-party applications configured thereon, the device comprising:

[0119] The sending module 701 is configured to respond to a first operation on a third-party application, control the third-party application to send a first data processing request to the framework layer of the operating system, the first data processing request instructing the initial image data captured by the camera to be processed through a specified target image processing function, and control the framework layer to send the data processing request to the hardware abstraction layer of the operating system.

[0120] The processing module 702 is used to control the hardware abstraction layer to process the initial image data according to the first data processing request through the target image processing function, obtain the processed target image data, and send the target image data to the third-party application.

[0121] Optionally, the device further includes:

[0122] The determination module 703 is configured to, in response to the first operation on the third-party application, send a request to the framework layer of the operating system to use the target image processing function;

[0123] Open module 704 is used by the framework layer to open the target image processing function to the third-party application according to the usage request.

[0124] Optionally, before the determining module 703 sends a request to the framework layer of the operating system to use the target image processing function, it is further configured to:

[0125] It is determined that the third-party application has the permission to use the target image processing function.

[0126] Optionally, the application layer of the operating system includes a camera software development kit (SDK), the third-party application integrates the SDK, and the framework layer is equipped with a camera permission module.

[0127] The determining module 703 determines whether the third-party application has the permission to use the target image processing function in the following manner:

[0128] The SDK sends a query request for image processing function permissions to the camera permission module.

[0129] Based on the query request, the camera permission module determines that the third-party application can use the target image processing function and returns permission confirmation information to the third-party application.

[0130] Optionally, the operating system is provided with a first hardware abstraction layer and a second hardware abstraction layer;

[0131] The sending module 701 is used to control the third-party application to send a first data processing request to the hardware abstraction layer of the operating system in the following manner:

[0132] The third-party application sends the first data processing request to the first hardware abstraction layer.

[0133] Optionally, the processing module 702 is used to control the hardware abstraction layer to process the initial image data according to the first data processing request through the target image processing function to obtain processed target image data:

[0134] The first hardware abstraction layer determines the image processing strategy corresponding to the target image processing function, and generates a second data processing request based on the first data processing request and the image processing strategy.

[0135] The first hardware abstraction layer sends the second data processing request to the second hardware abstraction layer;

[0136] The second hardware abstraction layer returns the corrected image data to the first hardware abstraction layer according to the second data processing request;

[0137] The first hardware abstraction layer processes the corrected image data according to the image processing strategy to obtain the target image data.

[0138] Optionally, the processing module 702 controls the second hardware abstraction layer to return the corrected image data to the first hardware abstraction layer according to the second data processing request in the following manner:

[0139] The second hardware abstraction layer processes the initial image data according to the second data processing request to obtain corrected image data;

[0140] The second hardware abstraction layer returns the corrected image data to the first hardware abstraction layer.

[0141] Optionally, the first hardware abstraction layer is provided with an image strategy module and an image processing module;

[0142] The image strategy module is used to determine the image processing strategy corresponding to the target image processing function, and generate a second data processing request based on the first data processing request and the image processing strategy.

[0143] The image processing module is used to process the corrected image data according to the image processing strategy to obtain the target image data.

[0144] Optionally, the target image processing function includes:

[0145] It has at least one of the following functions: High Dynamic Range (HDR) rendering, beauty mode, bokeh effect, multi-frame noise reduction, super night scene mode, and super image stabilization.

[0146] Regarding the apparatus in the above embodiments, the specific manner in which each module performs its operation has been described in detail in the embodiments related to the method, and will not be elaborated upon here.

[0147] This disclosure also provides a computer-readable storage medium having stored thereon computer program instructions that, when executed by a processor, implement the steps of the image processing method provided in this disclosure.

[0148] Figure 8 This is a block diagram illustrating an image processing apparatus 800 according to an exemplary embodiment. For example, apparatus 800 may be a mobile phone, computer, digital broadcast electronic device, messaging transceiver, game console, tablet device, medical device, fitness equipment, personal digital assistant, etc.

[0149] Reference Figure 8 The device 800 may include one or more of the following components: a processing component 802, a memory 804, a power component 806, a multimedia component 808, an audio component 810, an input / output (I / O) interface 812, a sensor component 814, and a communication component 816.

[0150] Processing component 802 typically controls the overall operation of device 800, such as operations associated with display, telephone calls, data communication, camera operation, and recording. Processing component 802 may include one or more processors 820 to execute instructions to complete all or part of the steps of the image processing method described above. Furthermore, processing component 802 may include one or more modules to facilitate interaction between processing component 802 and other components. For example, processing component 802 may include a multimedia module to facilitate interaction between multimedia component 808 and processing component 802.

[0151] Memory 804 is configured to store various types of data to support the operation of device 800. Examples of such data include instructions for any application or method operating on device 800, contact data, phonebook data, messages, pictures, videos, etc. Memory 804 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.

[0152] The power supply component 806 provides power to the various components of the device 800. The power supply component 806 may include a power management system, one or more power sources, and other components associated with generating, managing, and distributing power to the device 800.

[0153] Multimedia component 808 includes a screen that provides an output interface between the device 800 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touchscreen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors may sense not only the boundaries of the touch or swipe action but also the duration and pressure associated with the touch or swipe operation. In some embodiments, multimedia component 808 includes a front-facing camera and / or a rear-facing camera. When the device 800 is in an operating mode, such as a shooting mode or a video mode, the front-facing camera and / or the rear-facing camera may receive external multimedia data. Each front-facing camera and rear-facing camera may be a fixed optical lens system or have focal length and optical zoom capabilities.

[0154] Audio component 810 is configured to output and / or input audio signals. For example, audio component 810 includes a microphone (MIC) configured to receive external audio signals when device 800 is in an operating mode, such as call mode, recording mode, and voice recognition mode. The received audio signals may be further stored in memory 804 or transmitted via communication component 816. In some embodiments, audio component 810 also includes a speaker for outputting audio signals.

[0155] I / O interface 812 provides an interface between processing component 802 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to, home buttons, volume buttons, power buttons, and lock buttons.

[0156] Sensor assembly 814 includes one or more sensors for providing status assessments of various aspects of device 800. For example, sensor assembly 814 may detect the on / off state of device 800, the relative positioning of components such as the display and keypad of device 800, changes in the position of device 800 or a component of device 800, the presence or absence of user contact with device 800, the orientation or acceleration / deceleration of device 800, and temperature changes of device 800. Sensor assembly 814 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. Sensor assembly 814 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, sensor assembly 814 may also include an accelerometer, a gyroscope, a magnetometer, a pressure sensor, or a temperature sensor.

[0157] Communication component 816 is configured to facilitate wired or wireless communication between device 800 and other devices. Device 800 can access wireless networks based on communication standards, such as WiFi, 2G, or 3G, or combinations thereof. In one exemplary embodiment, communication component 816 receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, communication component 816 also includes a near-field communication (NFC) module to facilitate short-range communication. For example, the NFC module may be implemented based on radio frequency identification (RFID) technology, Infrared Data Association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.

[0158] In an exemplary embodiment, the apparatus 800 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the image processing method described above.

[0159] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 804 including instructions, which can be executed by a processor 820 of the device 800 to complete the image processing method described above. For example, the non-transitory computer-readable storage medium may be a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device, etc.

[0160] In another exemplary embodiment, a computer program product is also provided, which includes a computer program executable by a programmable device, the computer program having a code portion for performing the image processing method described above when executed by the programmable device.

[0161] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of this disclosure. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the following claims.

[0162] It should be understood that this disclosure is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this disclosure is limited only by the appended claims.

Claims

1. An image processing method, characterized in that, Applied to an electronic device, the electronic device including an operating system, the operating system having a first hardware abstraction layer and a second hardware abstraction layer, and the application layer of the operating system having third-party applications, the method includes: In response to a first operation on a third-party application, the third-party application sends a first data processing request to the framework layer of the operating system, the first data processing request instructing that the initial image data captured by the camera be processed through a specified target image processing function; The framework layer sends the first data processing request to the first hardware abstraction layer; The first hardware abstraction layer determines the image processing strategy corresponding to the target image processing function, and generates a second data processing request based on the first data processing request and the image processing strategy. The first hardware abstraction layer sends the second data processing request to the second hardware abstraction layer; The second hardware abstraction layer processes the initial image data according to the second data processing request to obtain corrected image data; The second hardware abstraction layer returns the corrected image data to the first hardware abstraction layer; The first hardware abstraction layer processes the corrected image data according to the image processing strategy to obtain target image data, and sends the target image data to the third-party application.

2. The method according to claim 1, characterized in that, The method further includes: In response to the first operation on the third-party application, a request to use the target image processing function is sent to the framework layer of the operating system; The framework layer exposes the target image processing function to the third-party application based on the usage request.

3. The method according to claim 2, characterized in that, Before sending the request to use the target image processing function to the framework layer of the operating system, the method further includes: It is determined that the third-party application has the permission to use the target image processing function.

4. The method according to claim 3, characterized in that, The application layer of the operating system includes a camera software development kit (SDK), which is integrated into third-party applications. The framework layer includes a camera permission module. The determination that the third-party application has the permission to use the target image processing function includes: The SDK sends a query request for image processing function permissions to the camera permission module. Based on the query request, the camera permission module determines that the third-party application can use the target image processing function and returns permission confirmation information to the third-party application.

5. The method according to claim 1, characterized in that, The first hardware abstraction layer includes an image strategy module and an image processing module; The image strategy module is used to determine the image processing strategy corresponding to the target image processing function, and generate a second data processing request based on the first data processing request and the image processing strategy. The image processing module is used to process the corrected image data according to the image processing strategy to obtain the target image data.

6. The method according to claim 1, characterized in that, The target image processing function includes: It has at least one of the following functions: High Dynamic Range (HDR) rendering, beauty mode, bokeh effect, multi-frame noise reduction, super night scene mode, and super image stabilization.

7. An image processing apparatus, characterized in that, Applied to an electronic device, the electronic device includes an operating system, the operating system having a first hardware abstraction layer and a second hardware abstraction layer, and the application layer of the operating system having third-party applications, the device includes: The sending module is configured to respond to a first operation on a third-party application, control the third-party application to send a first data processing request to the framework layer of the operating system, the first data processing request instructing the initial image data captured by the camera to be processed through a specified target image processing function, and control the framework layer to send the first data processing request to the first hardware abstraction layer. The processing module is configured to control the first hardware abstraction layer to determine an image processing strategy corresponding to the target image processing function, and generate a second data processing request based on the first data processing request and the image processing strategy; the first hardware abstraction layer sends the second data processing request to the second hardware abstraction layer; the second hardware abstraction layer processes the initial image data according to the second data processing request to obtain corrected image data; the second hardware abstraction layer returns the corrected image data to the first hardware abstraction layer; the first hardware abstraction layer processes the corrected image data according to the image processing strategy to obtain target image data, and sends the target image data to the third-party application.

8. An image processing apparatus, characterized in that, include: processor; Memory used to store processor-executable instructions; The processor is configured to implement the steps of the method according to any one of claims 1 to 6.

9. A computer-readable storage medium having computer program instructions stored thereon, characterized in that, When executed by a processor, the program instructions implement the steps of the method described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Photographing method and related equipment

    CN110933275A

  • System, method and related device for realizing application function through context awareness

    CN111953848A