Image smoothing processing methods and apparatus, chips and electronic devices

By dividing the image into image blocks and iteratively processing them in a fixed order, the problem of smoothing large images under limited computational space is solved, achieving efficient image smoothing effects.

CN115393215BActive Publication Date: 2026-04-03GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-25
Publication Date
2026-04-03

AI Technical Summary

Technical Problem

Existing technologies, when dealing with large image sizes and limited computing space, require excessive computing space for image smoothing, resulting in low processing efficiency.

Method used

The target image is divided into image blocks, and image smoothing is performed iteratively in a fixed order of rows and columns, either forward or backward, to reduce computational space requirements while improving the image smoothing effect.

Benefits of technology

By dividing the image into blocks and iterative processing, the computational space requirement is reduced, and the efficiency of image smoothing processing and image quality are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115393215B_ABST
    Figure CN115393215B_ABST
Patent Text Reader

Abstract

This application discloses an image smoothing processing method, apparatus, chip, and electronic device. The method includes: dividing a target image into image blocks, wherein the resulting image blocks have a fixed arrangement order in each row and column; performing forward iterative image smoothing processing and / or reverse iterative image smoothing processing according to the arrangement order of the image blocks in each row and column; wherein, forward iterative image smoothing processing refers to performing image smoothing processing on each image block in the same row or column in the forward order of arrangement; and reverse iterative image smoothing processing refers to performing image smoothing processing on each image block in the reverse order of arrangement. Therefore, this application can minimize the computational space required during image smoothing processing, improve the image smoothing effect, and enhance image quality.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer vision, specifically to image smoothing processing methods and apparatus, chips, and electronic devices. Background Technology

[0002] Images are often subject to noise interference during acquisition, transmission, and processing. For example, during shooting, issues such as lens contamination, strong or weak light, atmospheric refraction, and lens angle can cause certain pixels in the captured image to appear too bright or too dark, resulting in an unclear image to the human eye, noise in the image, and thus affecting image quality.

[0003] To suppress noise in an image and improve its quality, image smoothing is necessary. Image smoothing is a technique that adjusts pixels whose values ​​differ significantly from their surrounding pixels to values ​​closer to those of their neighbors.

[0004] Currently, image smoothing typically involves smoothing the entire image region at once, resulting in a large computational burden (e.g., storage space required for the smoothing process). However, this method becomes inadequate when the image size is large and computational space is limited. Therefore, further research is needed on image smoothing techniques. Summary of the Invention

[0005] This application provides an image smoothing processing method, apparatus, chip, and electronic device to address the problem of how to perform image smoothing processing when the image size is large and the computing space is limited.

[0006] Firstly, this application provides an image smoothing processing method, including...

[0007] The target image is divided into image blocks, and the resulting image blocks have a fixed arrangement order in each row and column;

[0008] Image smoothing is performed in a forward iterative manner and / or a reverse iterative manner according to the order in which the image blocks are arranged in each row and column.

[0009] The forward iterative image smoothing process refers to performing image smoothing on each of the image blocks in the same row or column in a forward order.

[0010] The reverse iterative image smoothing process refers to performing image smoothing on each of the image blocks in the same row or column in reverse order of arrangement.

[0011] As can be seen, the embodiments of this application can divide the target image (which can refer to the image that needs to be smoothed) into image blocks, and perform forward iterative image smoothing and / or reverse iterative image smoothing according to the arrangement order of the image blocks in each row and column. In this way, compared with the method of performing image smoothing on the entire region of the image at once, dividing the image into multiple image blocks and performing image smoothing according to the image blocks makes the computational space required during the image smoothing process very small, so as to be suitable for scenarios with limited computational space.

[0012] In addition, forward and / or backward image smoothing processes are performed according to the order in which the image blocks are arranged in each row and column. This allows for forward and / or backward image smoothing processes to be performed on each row and column, thereby improving the image smoothing effect and enhancing the image quality.

[0013] Secondly, an image smoothing processing apparatus according to this application includes:

[0014] An image block division unit is used to divide a target image into image blocks, and the resulting image blocks have a fixed arrangement order in each row and each column.

[0015] An image smoothing processing unit is used to perform forward iterative image smoothing processing and / or reverse iterative image smoothing processing according to the arrangement order of the image blocks in each row and each column;

[0016] The forward iterative image smoothing process refers to performing image smoothing on each of the image blocks in the same row or column in a forward order.

[0017] The reverse iterative image smoothing process refers to performing image smoothing on each of the image blocks in the same row or column in reverse order of arrangement.

[0018] Thirdly, this application provides a chip comprising a processing unit, a first storage unit, and a storage unit access unit; wherein...

[0019] The processing unit is configured to: divide the target image into image blocks, wherein the divided image blocks have a fixed arrangement order in each row and each column; store the divided image blocks in a second storage unit; and control the storage unit access unit to sequentially transfer the image blocks in the second storage unit to the first storage unit according to the arrangement order, so as to perform forward iterative image smoothing processing and / or reverse iterative image smoothing processing according to the arrangement order of the image blocks in each row and each column; wherein, the forward iterative image smoothing processing refers to performing image smoothing processing on each image block in the forward order of all image blocks in the same row or column; and the reverse iterative image smoothing processing refers to performing image smoothing processing on each image block in the reverse order of all image blocks in the same row or column.

[0020] The first storage unit is used to store the image block; wherein the storage space of the first storage unit is smaller than that of the second storage unit, and the read / write speed of the first storage unit is higher than that of the second storage unit;

[0021] The storage unit access unit is used to: transfer the image blocks from the second storage unit to the first storage unit in the order of their arrangement.

[0022] Fourthly, an electronic device according to this application includes the chip described in the third aspect above.

[0023] Fifthly, this application provides a computer-readable storage medium, wherein a computer program or instructions are stored on the computer-readable storage medium, and when executed by a processor, the computer program or instructions implement the steps of the method designed in the first aspect above.

[0024] The sixth aspect is a computer program product of this application, comprising a computer program or instructions, wherein when the computer program or instructions are executed by a processor, they implement the steps of the method designed in the first aspect above.

[0025] The beneficial effects of the technical solutions in the second to sixth aspects can be found in the technical effects of the technical solution in the first aspect, and will not be repeated here. Attached Figure Description

[0026] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below.

[0027] Figure 1 This is a flowchart illustrating an image smoothing processing method according to an embodiment of this application;

[0028] Figure 2This is a schematic diagram of the structure of a target image under different conditions according to an embodiment of this application;

[0029] Figure 3 This is a schematic diagram of the structure of another target image under different conditions according to an embodiment of this application;

[0030] Figure 4 This is a functional unit block diagram of an image smoothing processing apparatus according to an embodiment of this application;

[0031] Figure 5 This is a schematic diagram of the structure of a chip according to an embodiment of this application. Detailed Implementation

[0032] To help those skilled in the art better understand the technical solutions of this application, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the description of the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0033] It should be understood that the terms "first," "second," etc., used in the embodiments of this application are used to distinguish different objects, rather than to describe a specific order. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, software, product, or device that includes a series of steps or units is not limited to the listed steps or units, but also includes steps or units not listed, or other steps or units inherent to these processes, methods, products, or devices.

[0034] The term "embodiment" as used in the embodiments of this application means that a specific feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places in the specification does not necessarily refer to the same embodiment, nor is it a mutually exclusive, independent, or alternative embodiment. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.

[0035] In the embodiments of this application, "and / or" describes the relationship between associated objects, indicating that three relationships can exist. For example, A and / or B can represent the following three situations: A exists alone; A and B exist simultaneously; B exists alone. Among them, A and B can be singular or plural.

[0036] In this embodiment, the symbol " / " can indicate that the preceding and following objects are in an "or" relationship. Alternatively, the symbol " / " can also represent a division sign, i.e., performing a division operation. For example, A / B can mean A divided by B.

[0037] In this embodiment, the symbols “*” or “·” can represent multiplication, i.e., performing a multiplication operation. For example, A*B or A·B can represent A multiplied by B.

[0038] In the embodiments of this application, "at least one item" or its similar expression refers to any combination of these items, including any combination of a single item or a plurality of items. "One or more" means one or more items, while "multiple" means two or more. For example, "at least one item" of a, b, and c can represent the following seven cases: a, b, c; a and b; a and c; b and c; a, b, and c. Each of a, b, and c can be an element or a set containing one or more elements.

[0039] In the embodiments of this application, "equal to" can be used with "greater than" and is applicable to technical solutions used when "greater than" is used; it can also be used with "less than" and is applicable to technical solutions used when "less than" is used. When "equal to" is used with "greater than", it is not used with "less than"; when "equal to" is used with "less than", it is not used with "greater than".

[0040] To suppress noise in an image and improve its quality, image smoothing is necessary. Image smoothing is a technique that adjusts pixels whose values ​​differ significantly from their surrounding pixels to values ​​closer to those of their neighbors.

[0041] Currently, image smoothing typically involves smoothing the entire image region at once, resulting in a large computational burden (e.g., storage space required for image smoothing). However, when the image size is large and computational space is limited, this method of smoothing the entire image region at once has certain drawbacks.

[0042] Based on this, in order to solve the problem of how to perform image smoothing processing when the image size is large and the computing space is limited, this application discloses an image smoothing processing method, which can be applied to electronic devices, chips, devices, etc.

[0043] The electronic devices, chips, and related concepts involved in the embodiments of this application will be described in detail below.

[0044] I. Electronic Equipment

[0045] 1. Description

[0046] The electronic device described in the embodiments of this application can be an entity / unit / module / device, etc., with communication functions for sending and receiving.

[0047] In some possible implementations, the electronic device can be a handheld device, an in-vehicle device, a wearable device, an augmented reality (AR) device, a virtual reality (VR) device, an Internet of Things (IoT) device, a projection device, a projector, or other devices connected to a wireless modem. It can also be user equipment (UE), a terminal device, a terminal, a mobile terminal, a smartphone, a smart screen, a smart TV, a smartwatch, a laptop, a smart speaker, a camera, a game controller, a microphone, a station (STA), an access point (AP), a mobile station (MS), a personal digital assistant (PDA), a personal computer (PC), or a relay device, etc.

[0048] For example, taking wearable devices as an example, these wearable devices, also known as smart wearable devices, are a general term for intelligent devices that utilize wearable technology to intelligently design and develop everyday wearables. Examples include smart glasses, smart gloves, smartwatches, various smart bracelets with specific feature monitoring, and smart jewelry. These wearable devices can be worn directly on the body or integrated into the user's clothing or accessories; they are portable devices. These wearable devices can not only utilize dedicated hardware architectures but also dedicated software architectures for data interaction and cloud interaction. These wearable smart devices can achieve complete or partial functionality without relying on other smart devices.

[0049] In some possible implementations, the electronic device described in this application embodiment may include at least one of a chip, a storage component, a sensing component, a display component, a camera component, and an input driver. Exemplary examples are provided below.

[0050] 2. Chip

[0051] In some possible implementations, the chip can be used to run or add an operating system, which can be any one or more computer operating systems that implement business processing through processes. Examples include Linux, Unix, Android, iOS, Windows, Zephyr, Real-Time Operating System (RTOS), DOS, Mac, ThreadX, embedded operating systems, and Nucleus Plus.

[0052] In some possible implementations, the chip can be a complete system-on-a-chip (SOC).

[0053] In some possible implementations, the chip can be a processor.

[0054] In some possible implementations, the chip may include one or more processing units. For example, a processing unit may include at least one of the following: digital signal processor (DSP), central processing unit (CPU), application processor (AP), microcontroller unit (MCU), single-chip microcomputer (SCM), microcontroller, graphics processing unit (GPU), image signal processor (ISP), controller, field-programmable gate array (FPGA), application-specific integrated circuit (ASIC), baseband processor, neural-network processing unit (NPU), etc. The different processing units may be separate or integrated together.

[0055] In some possible implementations, a processing unit can be a single core or multiple cores.

[0056] In some possible implementations, a processing unit can run or load a multi-core subsystem. This multi-core subsystem can be an operating system with multi-core processing capabilities.

[0057] In some possible implementations, the chip may also include memory cells for storing computer programs or instructions.

[0058] For example, a chip can call programs stored in its memory to run an operating system.

[0059] For example, memory cells in a chip can store or cache instructions that the processor has just used or that are used repeatedly. If the processor needs to use the instruction or data again, it can retrieve it directly from the memory, thereby avoiding repeated accesses, reducing processor wait time, and improving system efficiency.

[0060] For example, the storage units in a chip can be used to save / cache / store images and synchronize or transmit images to other chips for execution. These storage units can include at least one of the following: random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), compact disc read-only memory (CD-ROM), double data rate synchronous dynamic random access memory (DDR SDRAM), and tightly coupled memory (TCM).

[0061] In some possible implementations, the chip may include one or more communication interfaces. These communication interfaces may include at least one of the following: Serial Peripheral Interface (SPI), Inter-Integrated Circuit (I2C) interface, Inter-Integrated Circuit Sound (I2S) interface, Pulse Code Modulation (PCM) interface, Universal Asynchronous Receiver / Transmitter (UART) interface, Mobile Industry Processor Interface (MIPI), General-Purpose Input / Output (GPIO) interface, Subscriber Identity Module (SIM) interface, and Universal Serial Bus (USB) interface.

[0062] 3. Storage components

[0063] In the embodiments of this application, the storage component can be used to store data, and the storage component can also be referred to as a memory.

[0064] In some possible implementations, the storage component may include at least one of RAM, ROM, EPROM, CD-ROM, SDRAM, DDR SDRAM, TCM, etc.

[0065] 4. Sensing components

[0066] In some possible implementations, the sensing component can be a sensor.

[0067] For example, the sensing components may include at least one of the following: gravity sensor, gyroscope sensor, magnetometer sensor, accelerometer sensor, inertial sensor (such as inertial motion unit (IMU)), pressure sensor, barometric pressure sensor, distance sensor, proximity sensor, fingerprint sensor, temperature sensor, touch sensor, ambient light sensor, bone conduction sensor, ultra-wideband (UWB) sensor, near field communication (NFC) sensor, laser sensor, and / or visible light sensor.

[0068] 5. Display components

[0069] In some possible implementations, the display component can be used to display at least one of the following: user interface, user interface elements and features, user selectable controls, various displayable objects, etc.

[0070] In some possible implementations, the display component can be at least one of a display screen, a touch screen, etc.

[0071] For example, the display component may include a display panel. The display panel may employ liquid crystal display (LCD), organic light-emitting diode (OLED), active-matrix organic light-emitting diode (AMOLED), flexible light-emitting diode (FLED), quantum dot light-emitting diodes (QLED), etc.

[0072] It should be noted that the device can implement display functions through GPUs, display components, and processors. The GPU can be used to perform mathematical and geometric calculations and to perform graphics rendering. Additionally, the GPU can be a microprocessor for image processing and connects to the display components and the processor. The processor can include one or more GPUs, which execute program instructions to generate or modify display information.

[0073] 6. Camera components

[0074] In some possible implementations, the camera component can be a camera or camera module, which is used to capture (shoot / scan / acquire, etc.) still / moving images or videos.

[0075] In some possible implementations, the camera assembly may include a lens, a photosensitive element, etc., and the photosensitive element may be a charge-coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor.

[0076] Therefore, an object can generate an optical image through the lens and project it onto the photosensitive element. The photosensitive element can convert the light signals in this optical image into electrical signals, and then pass these electrical signals to the ISP (Image Signal Processor) for conversion into digital image signals. The ISP outputs this digital image signal to the DSP (Digital Signal Processor). The DSP converts this digital image signal into image signals in standard formats such as RGB and YUV.

[0077] In some possible implementations, the camera component can be a front-facing camera.

[0078] It should be noted that the device can achieve functions such as capturing (shooting / scanning) images through ISP, DSP, camera components, video codecs, GPU, display components, and processors.

[0079] In some possible implementations, the ISP can be used to process data fed back from the camera component. For example, when taking a picture, the shutter is first opened, and then light passes through the lens of the camera component to the image sensor of the camera component, realizing the conversion of light signals into electrical signals. Finally, the image sensor transmits the electrical signals to the ISP for processing to convert them into digital images, etc.

[0080] In some possible implementations, the ISP can also perform algorithmic optimizations on image noise, brightness, and skin tone.

[0081] In some possible implementations, the ISP can also optimize parameters such as exposure and color temperature of the shooting scene.

[0082] In some possible implementations, the ISP and / or DSP can be set in the camera assembly.

[0083] 7. Input driver

[0084] In some possible implementations, the input driver can be used to handle various inputs from user-operated devices.

[0085] For example, when the display is a touchscreen, the input driver can operate to detect and process various touch inputs and / or touch events. Touch inputs or touch events on the touchscreen simultaneously indicate the area of ​​interest and initiate scanning of an object (such as a document). The object can be displayed on the touchscreen as a preview of the image to be scanned, and touch events at specific locations on the touchscreen indicate the image that should be scanned.

[0086] 8. Examples of hardware and software architecture of electronic devices

[0087] For example, the hardware and software architecture of an electronic device may include a hardware layer, an operating system layer running on top of the hardware layer, and an application layer running on top of the operating system layer.

[0088] In some possible implementations, this hardware layer may include hardware such as chips, memory management units (MMUs), and memory (also known as storage).

[0089] In some possible implementations, the memory can be used to store software programs / computer programs / computer instructions / data, etc., and may include a program storage area and a data storage area. The program storage area can be used to store software programs / computer programs / computer instructions required by the operating system or at least one function, and the software programs / computer programs / computer instructions required by the at least one function can be used to execute the technical solutions involved in the embodiments of this application; the data storage area can be used to store images, etc., involved in the embodiments of this application.

[0090] It should be noted that the embodiments of this application do not specifically limit the structure of the executing entity of the image processing method, as long as it can be processed by running a computer program or instructions that record the method provided in the embodiments of this application, and by performing processing according to the method provided in the embodiments of this application. For example, the executing entity of the method provided in the embodiments of this application can be an electronic device, or a chip / processor / device / module / unit in an electronic device that can call and execute computer programs or instructions, etc., without specific limitations.

[0091] II. Exemplary Description of an Image Smoothing Processing Method

[0092] The following is an exemplary description of an image smoothing processing method according to an embodiment of this application.

[0093] like Figure 1 As shown, Figure 1 This is a flowchart illustrating an image smoothing processing method according to an embodiment of this application. The method may specifically include the following steps:

[0094] S110. Divide the target image into image blocks, and the resulting image blocks have a fixed arrangement order in each row and column.

[0095] S120. Perform forward iterative image smoothing and / or reverse iterative image smoothing according to the order of the image blocks in each row and column.

[0096] The forward iterative image smoothing process refers to performing image smoothing on each image block in the forward order of the arrangement, for all image blocks in the same row or column.

[0097] The reverse iterative image smoothing process refers to performing image smoothing on each image block in reverse order of the arrangement of all image blocks in the same row or column.

[0098] As can be seen, the embodiments of this application can divide the target image (which can refer to the image that needs to be smoothed) into image blocks, and perform forward iterative image smoothing and / or reverse iterative image smoothing according to the arrangement order of the image blocks in each row and column. In this way, compared with the method of performing image smoothing on the entire region of the image at once, dividing the image into multiple image blocks and performing image smoothing according to the image blocks makes the computational space required during the image smoothing process very small, so as to be suitable for scenarios with limited computational space.

[0099] In addition, since image smoothing is performed in a forward and / or reverse manner according to the order of the image blocks in each row and column, image smoothing can be performed in a forward and / or reverse manner for each row and column, which helps to improve the image smoothing effect and improve the image quality.

[0100] The following section will explain some of the implementation methods involved. For other content not covered, please refer to the above description for details, which will not be repeated here.

[0101] 1. Target image

[0102] It should be noted that the target image can refer to the image that needs to undergo image smoothing processing in the embodiments of this application. Of course, other terms can also be used for description, and there is no limitation thereto.

[0103] 2. Image block division of the target image

[0104] 1) Description

[0105] It should be noted that the embodiments of this application can divide the target image into image blocks, which allows for image smoothing processing of the image blocks, thereby avoiding image smoothing processing of the entire image area at once, and thus reducing the computational space required during the processing.

[0106] Each image block can include multiple row pixels and multiple column pixels.

[0107] Furthermore, the resulting image blocks have a fixed arrangement order in each row and column. Thus, embodiments of this application can perform image smoothing processing according to the arrangement order of the image blocks in each column or row.

[0108] For example, such as Figure 2 As shown, Figure 2 (a) represents the target image 210; Figure 2 (b) represents the image block obtained by dividing the target image 210 into image blocks; Figure 2 (c) indicates that each image block includes multiple row pixels and multiple column pixels; Figure 2 (d) indicates that it is for Figure 2 The image blocks represented by (b) have a fixed arrangement order in each row and column.

[0109] 2) The forward and reverse (inverted) order of image patches in each row and column.

[0110] It should be noted that the forward order of all image blocks in the same row can refer to the order of all image blocks in the same row from left to right. For example, in Figure 2 In (d), all the image blocks in the first row have a left-to-right arrangement order, which is called the "forward order".

[0111] The reverse (reverse) order of all image blocks in the same row can refer to the order of all image blocks in the same row from right to left. For example, in Figure 2 In (d), all the image blocks in the first row have a right-to-left arrangement order, which is called the "reverse order".

[0112] The forward order of all image blocks in the same column can refer to the top-to-bottom arrangement of all image blocks in the same column. For example, in Figure 2 In (d), all the image blocks in the first column have a top-to-bottom arrangement order, which is called the "forward order".

[0113] The reverse order of all image blocks in the same column can refer to the bottom-up order of all image blocks in the same column. For example, in Figure 2 In (d), all the image blocks in the first column have a bottom-up arrangement order, which is called the "reverse order".

[0114] 3) Image patch size

[0115] It should be noted that the size of an image patch can be represented by the number of row pixels and column pixels included in the image patch.

[0116] In some possible implementations, each image patch can have the same size.

[0117] It is understandable that when dividing a target image into blocks, each resulting image block can have the same size, which facilitates image smoothing between image blocks.

[0118] 4) Overlap between each image patch

[0119] In some possible implementations, each image patch may not overlap with the others.

[0120] It is understandable that when dividing an image into blocks for a target image, the resulting blocks can be non-overlapping. This minimizes the dependency between blocks during image smoothing and avoids unnecessary processing of overlapping parts, thus saving computation time.

[0121] For example, in Figure 2 In (d), each image block in the same row does not overlap with each other, each image block in the same column does not overlap with each other, there is no overlap between image blocks in rows, and there is no overlap between image blocks in columns.

[0122] 3. Image smoothing processing, forward iterative image smoothing processing, and backward iterative image smoothing processing.

[0123] 1) Image smoothing

[0124] It should be noted that the embodiments of this application may employ image smoothing algorithms to achieve image smoothing processing.

[0125] In some possible implementations, the image smoothing algorithm may include at least one of mean filtering, box filtering, Gaussian filtering, median filtering, bilateral filtering, etc.

[0126] In some possible implementations, the image smoothing algorithm may include Fast Global Image Smoothing (FGS).

[0127] 2) Forward Iterative Image Smoothing

[0128] In the embodiments of this application, forward iterative image smoothing processing can refer to performing image smoothing processing on each image block in the forward order of all image blocks in the same row or column.

[0129] It should be noted that, in conjunction with the above-mentioned "2) the forward and reverse (reverse) order of image blocks in each row and column", the embodiments of this application can perform image smoothing on each image block in the left-to-right order of all image blocks in the same row, and can perform image smoothing on each image block in the top-to-bottom order of all image blocks in the same column.

[0130] 3) Reverse Iteration Image Smoothing Processing

[0131] In the embodiments of this application, reverse iterative image smoothing processing can refer to performing image smoothing processing on each image block in reverse order of all image blocks in the same row or column.

[0132] It should be noted that, in conjunction with the above-mentioned "2) the forward and reverse (reverse) order of image blocks in each row and column", the embodiments of this application can perform image smoothing processing on each image block in the right-to-left order of all image blocks in the same row, and can perform image smoothing processing on each image block in the bottom-to-top order of all image blocks in the same column.

[0133] 4. Dependencies in image smoothing processing

[0134] 1) Dependency between the previous and next image patches during image smoothing.

[0135] It should be noted that, since the previous image block and the next image block in the same row or column are adjacent (or two adjacent image blocks), the embodiments of this application can consider a certain dependency between the previous image block and the next image block (or two adjacent image blocks) in forward iterative image smoothing or backward iterative image smoothing. This dependency can mean that the next image block needs to use the image smoothing result of the previous image block as input when performing image smoothing.

[0136] Furthermore, if the dependency between the previous and next image patches is not considered, and image smoothing is performed on each image patch individually, certain smoothing artifacts will appear at the intersection of two adjacent image patches in the same row or column. However, by considering this dependency and using the image smoothing result of the previous image patch as input for image smoothing of the next image patch, these smoothing artifacts can be reduced, thereby improving the image smoothing effect.

[0137] For example, such as Figure 3 As shown, Figure 3 (a) represents the target image; Figure 3 (b) indicates that it is aimed at Figure 3 The target image represented by (a) is divided into image blocks, and these image blocks have a fixed arrangement order in each row and each column; Figure 3 (c) indicates that Figure 3 The smoothing result of the image patch represented by (b) without considering this dependency; Figure 3 (d) is for Figure 3 The image smoothing result represented by (c) is marked with smoothing traces; Figure 3 (e) indicates that Figure 3 The smoothing result of the image patch represented by (b) considering this dependency.

[0138] It can be seen that, in Figure 3In the image smoothing result represented by (d), certain smoothing marks will appear at the intersection of two adjacent image patches in the same row and column. However, in Figure 3 In the image smoothing result represented by (e), such smoothing traces are already very few.

[0139] In summary, in both forward and reverse iterative image smoothing processes, the image smoothing result of the previous image block is used as input to smooth the next image block, thereby ensuring the dependency between image blocks and improving the image smoothing effect.

[0140] 2) Dependency between forward iterative image smoothing and backward iterative image smoothing

[0141] It should be noted that if both forward and reverse image smoothing are required, forward image smoothing can be performed first, followed by reverse image smoothing; or, reverse image smoothing can be performed first, followed by forward image smoothing.

[0142] As can be seen, the embodiments of this application can flexibly select whether to perform image smoothing processing only in the forward iteration or only in the reverse iteration, and whether to perform image smoothing processing in the forward iteration first or in the reverse iteration first, so as to improve the flexibility of image smoothing processing and meet different needs or regulations.

[0143] In addition, when it is necessary to perform forward and reverse image smoothing on all image blocks in each row or column, there is a certain dependency between the forward and reverse image smoothing processes since both processes target the same image block.

[0144] The dependency relationship can be that a certain image block in the reverse iterative image smoothing process (for ease of distinction and description, this image block can be called the "first image block") needs to use the image smoothing result of the first image block in the forward iterative image smoothing process as input when performing image smoothing, or it can be that a certain image block in the forward iterative image smoothing process (for ease of distinction and description, this image block can be called the "second image block") needs to use the image smoothing result of the second image block in the reverse iterative image smoothing process as input when performing image smoothing, depending on the order of the forward iterative image smoothing and the reverse iterative image smoothing processes.

[0145] For example, if forward iterative image smoothing is performed first, followed by reverse iterative image smoothing, then the first image block in the reverse iterative image smoothing process needs to take the image smoothing result of the first image block in the forward iterative image smoothing process as input for image smoothing. The first image block is an image block.

[0146] For example, if image smoothing is performed in reverse iteration first, and then in forward iteration, the second image block in the forward iteration needs to be processed with the image smoothing result of the second image block in the reverse iteration as input. The second image block is an image block.

[0147] Furthermore, if the dependency between forward and reverse image smoothing is not considered, the first image block in the reverse image smoothing process will not use the smoothing result of the first image block in the forward image smoothing process as input when performing image smoothing. This makes the smoothing traces at the intersection of two adjacent image blocks in the same row or column more obvious than when the dependency is considered, resulting in poor image smoothing effect.

[0148] In summary, if forward iterative image smoothing is performed first, the first image block in the reverse iterative image smoothing process needs to take the image smoothing result of the first image block in the forward iterative image smoothing process as input when performing image smoothing, thereby ensuring the dependency between image blocks and improving the image smoothing effect.

[0149] If reverse iterative image smoothing is performed first, the second image block in the forward iterative image smoothing process needs to take the image smoothing result of the second image block in the reverse iterative image smoothing process as input when performing image smoothing, thereby ensuring the dependency between image blocks and improving the image smoothing effect.

[0150] 5. Perform forward iterative image smoothing and / or reverse iterative image smoothing according to the order of image patches in each row and column.

[0151] 1) Description

[0152] It should be noted that the image smoothing processing in this application embodiment, which performs forward iterative image smoothing and / or reverse iterative image smoothing processing according to the arrangement order of image blocks in each row and column, can exist as follows:

[0153] Method a: Perform forward iterative image smoothing according to the order in which image patches are arranged in each row and column;

[0154] Method b: Perform reverse iterative image smoothing according to the order of image patches in each row and column;

[0155] Method c: Perform forward and reverse image smoothing processes according to the order in which the image patches are arranged in each row and column.

[0156] It should be noted that, in conjunction with the above... Figure 3 In (d), in “Method a” and “Method b”, since image smoothing is performed only on all image blocks in the same row or column, the smoothing traces at the intersection of two adjacent image blocks in the same row or column are more obvious than in “Method c”, resulting in a poorer image smoothing effect.

[0157] In other words, since "method c" performs forward and reverse image smoothing on all image blocks in the same row or column, it can minimize the smoothing streaks at the intersection of two adjacent image blocks in the same row or column.

[0158] 2) Specific implementation method

[0159] It should be noted that there are multiple ways to perform forward and / or reverse image smoothing processing according to the order of image blocks in each row and column. This allows for flexible selection of processing methods based on requirements or specifications, thereby improving the flexibility of image smoothing processing.

[0160] Method A:

[0161] In some possible implementations, image smoothing processes performed in a forward iterative manner and / or a backward iterative manner, following the order in which image patches are arranged in each row and column, may include the following steps:

[0162] First, perform forward iterative image smoothing and / or reverse iterative image smoothing according to the order of the image blocks in each row. Then, perform forward iterative image smoothing and / or reverse iterative image smoothing according to the order of the image blocks in each column.

[0163] It should be noted that, in the embodiments of this application, image smoothing processing may be performed first on all image blocks in each row using forward iterative processing and / or reverse iterative processing, and then on all image blocks in each column using forward iterative processing and / or reverse iterative processing. In this way, by performing forward iterative processing and / or reverse iterative processing on each row and each column, the image smoothing effect can be improved, thereby enhancing the image quality.

[0164] Furthermore, performing forward iterative image smoothing and / or reverse iterative image smoothing according to the order of image blocks in each row, and then performing forward iterative image smoothing and / or reverse iterative image smoothing according to the order of image blocks in each column, may include the following steps:

[0165] First, starting from the first row and moving to the last row, perform forward and / or reverse image smoothing on all image blocks in each row according to their sorted order, until all image blocks in all rows have been processed. Then, starting from the first column and moving to the last column, or vice versa, perform forward and / or reverse image smoothing on all image blocks in each column according to their sorted order, until all image blocks in all columns have been processed. Alternatively,

[0166] First, starting from the last row to the first row, perform forward and / or reverse image smoothing on all image blocks in each row according to their sorting order, until all image blocks in all rows have been processed; then, starting from the first column to the last column or vice versa, perform forward and / or reverse image smoothing on all image blocks in each column according to their sorting order, until all image blocks in all columns have been processed.

[0167] For example, in Figure 2 In (d), first, from the first row to the sixth row, all image blocks in each row are subjected to forward and reverse image smoothing processes according to their arrangement order. Then, from the first column to the fourth column, all image blocks in each column are subjected to forward and reverse image smoothing processes according to their arrangement order.

[0168] As can be seen, the embodiments of this application can first perform forward iterative image smoothing and / or reverse iterative image smoothing on all image blocks in each row, and then perform forward iterative image smoothing and / or reverse iterative image smoothing on all image blocks in each column, which is beneficial to improving the image smoothing effect.

[0169] Method B:

[0170] In some possible implementations, image smoothing processes performed in a forward iterative manner and / or a backward iterative manner, following the order in which image patches are arranged in each row and column, may include the following steps:

[0171] First, perform forward iterative image smoothing and / or reverse iterative image smoothing according to the order of the image blocks in each column. Then, perform forward iterative image smoothing and / or reverse iterative image smoothing according to the order of the image blocks in each row.

[0172] It should be noted that, in the embodiments of this application, image smoothing processing may first be performed on all image blocks in each column in a forward iterative manner and / or in a backward iterative manner, and then on all image blocks in each row in a forward iterative manner and / or in a backward iterative manner. In this way, by performing forward iterative image smoothing processing and / or in a backward iterative image smoothing processing on each column and each row, the image smoothing effect can be improved, thereby improving the image quality.

[0173] Furthermore, performing forward iterative image smoothing and / or reverse iterative image smoothing according to the order of image blocks in each column, and then performing forward iterative image smoothing and / or reverse iterative image smoothing according to the order of image blocks in each row, may include the following steps:

[0174] First, starting from the first column and moving to the last row, perform forward and / or reverse image smoothing on all image blocks in each column according to their sorted order, until all image blocks in all columns have been processed. Then, starting from the first row and moving to the last row, or vice versa, perform forward and / or reverse image smoothing on all image blocks in each row according to their sorted order, until all image blocks in all rows have been processed. Alternatively,

[0175] First, starting from the last column to the first column, perform forward and / or reverse image smoothing on all image blocks in each column according to their sorting order, until all image blocks in all columns have been processed; then, starting from the first row to the last row or from the last row to the first row, perform forward and / or reverse image smoothing on all image blocks in each row according to their sorting order, until all image blocks in all rows have been processed.

[0176] For example, in Figure 2 In (d), first, from the first column to the fourth column, all image blocks in each column are subjected to forward and reverse image smoothing processes according to their arrangement order. Then, from the first row to the sixth row, all image blocks in each row are subjected to forward and reverse image smoothing processes according to their arrangement order.

[0177] As can be seen, the embodiments of this application can first perform forward iterative image smoothing and / or reverse iterative image smoothing on all image blocks in each column, and then perform forward iterative image smoothing and / or reverse iterative image smoothing on all image blocks in each row, which is beneficial to improving the image smoothing effect.

[0178] Combining the above "Method A" and "Method B", the embodiments of this application can flexibly choose whether to perform forward iterative image smoothing processing and / or reverse iterative image smoothing processing on all image blocks in each row first, or to perform forward iterative image smoothing processing and / or reverse iterative image smoothing processing on all image blocks in each column first, so as to improve the flexibility of image smoothing processing and meet different needs or regulations.

[0179] III. Exemplary Description of an Image Smoothing Processing Apparatus

[0180] The foregoing mainly describes the solutions of the embodiments of this application from the perspective of the method execution process. It is understood that, in order to achieve the above functions, the device includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should recognize that the methods, functions, modules, units, or steps described in conjunction with the embodiments provided herein can be implemented in hardware or a combination of hardware and computer software. Whether a method, function, module, unit, or step is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described methods, functions, modules, units, or steps for each specific application, but such implementation should not be considered beyond the scope of this application.

[0181] This application embodiment can divide an electronic device into functional units / modules based on the above method examples. For example, each function can be divided into its own functional unit / module, or two or more functions can be integrated into one functional unit / module. The integrated functional unit / module can be implemented in hardware or software. It should be noted that the division of functional units / modules in this application embodiment is illustrative and only represents a logical functional division; in actual implementation, there may be other division methods.

[0182] When using integrated units, Figure 4 This is a functional unit block diagram of an image smoothing processing apparatus according to an embodiment of this application. The image smoothing processing apparatus 400 specifically includes: an image block division unit 410 and an image smoothing processing unit 420.

[0183] It should be noted that the image block division unit 410 can be a module unit used for acquiring or processing images, etc., and there are no specific restrictions on it.

[0184] The image smoothing processing unit 420 can be a module unit for acquiring or processing images, etc., and there are no specific limitations on it.

[0185] In some possible implementations, the image block division unit 410 and the image smoothing processing unit 420 may be integrated into the same unit or may be two separate units.

[0186] For example, the image block division unit 410 and the image smoothing processing unit 420 can be integrated into the same unit.

[0187] It should be noted that the processing unit can be a processor or controller, such as a DSP, CPU, general-purpose processor, ASIC, field-programmable gate array (FPGA), or other programmable logic device, transistor logic device, hardware component, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processing unit can also be a combination that implements computational functions, such as including one or more microprocessor combinations, a combination of a DSP and a microprocessor, etc.

[0188] In some possible implementations, the image smoothing processing apparatus 400 may also include a communication unit.

[0189] It should be noted that the communication unit can be a communication interface, transceiver, transceiver circuit, etc.

[0190] In some possible implementations, the image smoothing processing apparatus 400 may also include a storage unit for storing computer programs or instructions executed by the image smoothing processing apparatus 400.

[0191] For example, the storage unit could be a memory.

[0192] In some possible implementations, the image smoothing processing device 400 can be a chip / chip module / processor / hardware, etc.

[0193] In specific implementation, the image smoothing processing device 400 performs the steps described in the above method embodiments. A detailed description follows.

[0194] The image block division unit 410 is used to divide the target image into image blocks, and the divided image blocks have a fixed arrangement order in each row and each column;

[0195] Image smoothing processing unit 420 is used to perform forward iterative image smoothing processing and / or reverse iterative image smoothing processing according to the arrangement order of image blocks in each row and each column;

[0196] Among them, forward iterative image smoothing refers to performing image smoothing on each image block in the forward order of all image blocks in the same row or column.

[0197] Reverse iterative image smoothing refers to performing image smoothing on each image block in reverse order of the arrangement of all image blocks in the same row or column.

[0198] As can be seen, the embodiments of this application can divide the target image (which can refer to the image that needs to be smoothed) into image blocks, and perform forward iterative image smoothing and / or reverse iterative image smoothing according to the arrangement order of the image blocks in each row and column. In this way, compared with the method of performing image smoothing on the entire region of the image at once, dividing the image into multiple image blocks and performing image smoothing according to the image blocks makes the computational space required during the image smoothing process very small, so as to be suitable for scenarios with limited computational space.

[0199] In addition, forward and / or backward image smoothing processes are performed according to the order in which the image blocks are arranged in each row and column. This allows for forward and / or backward image smoothing processes to be performed on each row and column, thereby improving the image smoothing effect and enhancing the image quality.

[0200] It should be noted that the specific implementation of each operation performed by the image smoothing processing device 400 can be found in the above description. Figure 1 The corresponding descriptions of the method embodiments shown will not be repeated here.

[0201] The following section will explain some of the implementation methods involved. For other content not covered, please refer to the above description for details, which will not be repeated here.

[0202] In some possible implementations, in either forward or backward image smoothing, the image smoothing result of the previous image block is used as input for processing when the next image block is smoothed.

[0203] It should be noted that, in conjunction with the content of "4. Dependencies in Image Smoothing Processing" above, since the previous image block and the next image block in the same row or column are adjacent in position (or two adjacent image blocks), the embodiments of this application can consider a certain dependency between the previous image block and the next image block (or two adjacent image blocks) in forward iterative image smoothing or backward iterative image smoothing. This dependency can mean that the next image block needs to use the image smoothing result of the previous image block as input when performing image smoothing processing.

[0204] Furthermore, if the dependency between the previous and next image patches is not considered, and image smoothing is performed on each image patch individually, certain smoothing artifacts will appear at the intersection of two adjacent image patches in the same row or column. However, by considering this dependency and using the image smoothing result of the previous image patch as input for image smoothing of the next image patch, these smoothing artifacts can be reduced, thereby improving the image smoothing effect.

[0205] In summary, in both forward and reverse iterative image smoothing processes, the image smoothing result of the previous image block is used as input to smooth the next image block, thereby ensuring the dependency between image blocks and improving the image smoothing effect.

[0206] In some possible implementations, the image smoothing unit 420 is used for image smoothing processing that involves forward iteration and / or reverse iteration according to the order in which image patches are arranged in each row and column, in relation to:

[0207] First, perform forward iterative image smoothing and / or reverse iterative image smoothing according to the order of image patches in each row; then, perform forward iterative image smoothing and / or reverse iterative image smoothing according to the order of image patches in each column; or,

[0208] First, perform forward iterative image smoothing and / or reverse iterative image smoothing according to the order of the image blocks in each column. Then, perform forward iterative image smoothing and / or reverse iterative image smoothing according to the order of the image blocks in each row.

[0209] It should be noted that, in conjunction with "Method A" above, the embodiments of this application may first perform forward iterative image smoothing and / or reverse iterative image smoothing on all image blocks in each row, and then perform forward iterative image smoothing and / or reverse iterative image smoothing on all image blocks in each column. In this way, by performing forward iterative image smoothing and / or reverse iterative image smoothing on each row and each column, the image smoothing effect can be improved, thereby enhancing the image quality.

[0210] In conjunction with "Method B" described above, the embodiments of this application may first perform forward iterative image smoothing and / or reverse iterative image smoothing on all image blocks in each column, and then perform forward iterative image smoothing and / or reverse iterative image smoothing on all image blocks in each row. In this way, by performing forward iterative image smoothing and / or reverse iterative image smoothing on each column and each row, the image smoothing effect can be improved, thereby enhancing the image quality.

[0211] Combining the above "Method A" and "Method B", the embodiments of this application can flexibly choose whether to perform forward iterative image smoothing processing and / or reverse iterative image smoothing processing on all image blocks in each row first, or to perform forward iterative image smoothing processing and / or reverse iterative image smoothing processing on all image blocks in each column first, so as to improve the flexibility of image smoothing processing and meet different needs or regulations.

[0212] In some possible implementations, the image smoothing unit 420 is used to perform image smoothing processing in a forward iterative manner and / or a reverse iterative manner according to the order of image patches in each row, and then perform image smoothing processing in a forward iterative manner and / or a reverse iterative manner according to the order of image patches in each column.

[0213] First, from the first row to the last row or from the last row to the first row, perform forward and / or reverse image smoothing on all image blocks in each row according to their arrangement order, until all image blocks in all rows have been processed.

[0214] Then, proceed from the first column to the last column or from the last column to the first column, performing forward and / or reverse image smoothing on all image blocks in each column according to their arrangement order, until all image blocks in all columns have been processed.

[0215] It should be noted that, in conjunction with the content of "Method A" above, in Figure 2 In (d), first, from the first row to the sixth row, all image blocks in each row are subjected to forward and reverse image smoothing processes according to their arrangement order. Then, from the first column to the fourth column, all image blocks in each column are subjected to forward and reverse image smoothing processes according to their arrangement order.

[0216] As can be seen, the embodiments of this application can first perform forward iterative image smoothing and / or reverse iterative image smoothing on all image blocks in each row, and then perform forward iterative image smoothing and / or reverse iterative image smoothing on all image blocks in each column, which is beneficial to improving the image smoothing effect.

[0217] In some possible implementations, the image smoothing unit 420 is used to perform image smoothing processing in a forward iterative manner and / or a reverse iterative manner according to the order of image patches in each column, and then perform image smoothing processing in a forward iterative manner and / or a reverse iterative manner according to the order of image patches in each row.

[0218] First, proceed from the first column to the last column or from the last column to the first column, and perform forward and / or reverse image smoothing on all image blocks in each column according to their arrangement order, until all image blocks in all columns have been processed.

[0219] Then, proceed from the first row to the last row or from the last row to the first row, performing forward and / or reverse image smoothing on all image blocks in each row according to their arrangement order, until all image blocks in all rows have been processed.

[0220] It should be noted that, in conjunction with the content of "Method B" above, in Figure 2 In (d), first, from the first column to the fourth column, all image blocks in each column are subjected to forward and reverse image smoothing processes according to their arrangement order. Then, from the first row to the sixth row, all image blocks in each row are subjected to forward and reverse image smoothing processes according to their arrangement order.

[0221] As can be seen, the embodiments of this application can first perform forward iterative image smoothing and / or reverse iterative image smoothing on all image blocks in each column, and then perform forward iterative image smoothing and / or reverse iterative image smoothing on all image blocks in each row, which is beneficial to improving the image smoothing effect.

[0222] In some possible implementations, if both forward and reverse iterative image smoothing are required, then forward iterative image smoothing is performed first, followed by reverse iterative image smoothing; or,

[0223] First, perform reverse iterative image smoothing, then perform forward iterative image smoothing.

[0224] It should be noted that, in conjunction with the above-mentioned "2) Dependency between forward iterative image smoothing and reverse iterative image smoothing", the embodiments of this application can flexibly choose whether to perform forward iterative image smoothing or reverse iterative image smoothing, and whether to perform forward iterative image smoothing first or reverse iterative image smoothing first, in order to improve the flexibility of image smoothing to meet different needs or regulations.

[0225] In some possible implementations, if forward iterative image smoothing is performed first, followed by backward iterative image smoothing, then the first image block in the backward iterative image smoothing process needs to be processed using the image smoothing result of the first image block in the forward iterative image smoothing process as input; the first image block is a single image block. Alternatively,

[0226] If image smoothing is performed in reverse iteration first, and then in forward iteration, the second image block in the forward iteration needs to be processed with the image smoothing result of the second image block in the reverse iteration as input. The second image block is an image block.

[0227] It should be noted that, in conjunction with the content of "2) Dependency between forward iterative image smoothing and reverse iterative image smoothing" above, when it is necessary to perform forward iterative image smoothing and reverse iterative image smoothing on all image blocks in each row or column, since both forward iterative image smoothing and reverse iterative image smoothing will be performed on the same image block, there is a certain dependency between them.

[0228] The dependency relationship can be that a certain image block in the reverse iterative image smoothing process (for ease of distinction and description, this image block can be called the "first image block") needs to use the image smoothing result of the first image block in the forward iterative image smoothing process as input when performing image smoothing, or it can be that a certain image block in the forward iterative image smoothing process (for ease of distinction and description, this image block can be called the "second image block") needs to use the image smoothing result of the second image block in the reverse iterative image smoothing process as input when performing image smoothing, depending on the order of the forward iterative image smoothing and the reverse iterative image smoothing processes.

[0229] Furthermore, if the dependency between forward and reverse image smoothing is not considered, the first image block in the reverse image smoothing process will not use the smoothing result of the first image block in the forward image smoothing process as input when performing image smoothing. This makes the smoothing traces at the intersection of two adjacent image blocks in the same row or column more obvious than when the dependency is considered, resulting in poor image smoothing effect.

[0230] In summary, if forward iterative image smoothing is performed first, the first image block in the reverse iterative image smoothing process needs to take the image smoothing result of the first image block in the forward iterative image smoothing process as input when performing image smoothing, thereby ensuring the dependency between image blocks and improving the image smoothing effect.

[0231] If reverse iterative image smoothing is performed first, the second image block in the forward iterative image smoothing process needs to take the image smoothing result of the second image block in the reverse iterative image smoothing process as input when performing image smoothing, thereby ensuring the dependency between image blocks and improving the image smoothing effect.

[0232] In some possible implementations, each image patch has the same size; and / or,

[0233] Each image patch does not overlap with the others.

[0234] It should be noted that, in conjunction with the content of "3) Image block size" above, when dividing the target image into image blocks, each image block obtained can have the same size, which facilitates image smoothing between image blocks.

[0235] Combining the content of "4) Overlap between each image block" above, when dividing the target image into image blocks, each image block obtained can be non-overlapping. This can minimize the dependency between image blocks when performing image smoothing processing on the image blocks, and avoid unnecessary processing from overlapping parts to save computation time.

[0236] IV. Exemplary Description of a Chip

[0237] Based on the above description, the following is a schematic diagram of the structure of a chip according to an embodiment of this application, as shown below. Figure 5 As shown. The chip 510 includes a processing unit 511, a first storage unit 512, a storage unit access unit 513, and a communication bus for connecting the processing unit 511, the first storage unit 512, and the storage unit access unit 513. The processing unit 511 can access a second storage unit 520 external to the chip 510 by controlling the storage unit access unit 513. The second storage unit 520 can be used to store the target image.

[0238] 1. Description

[0239] It should be noted that, in the process of image smoothing processing by chip 510 in this embodiment of the application, the first storage unit 512 and the second storage unit 520 are used to allocate the storage space required by the image. The first storage unit 512 can be integrated into chip 510, while the second storage unit 520 is located outside of chip 510.

[0240] Since the read / write speed of the first storage unit 512 is higher than that of the second storage unit 520, the processing unit 511 can directly and quickly call the image stored in the first storage unit 512, which is different from the processing unit 511 calling the stored image from the second storage unit 520 for image smoothing processing, so as to improve the efficiency of image smoothing processing and reduce the time delay of image smoothing processing.

[0241] Furthermore, since the storage space of the first storage unit 512 is smaller than that of the second storage unit 520, the first storage unit 512 cannot store too many images, while the second storage unit 520 can store a large number of images. Therefore, in this embodiment, images can be first stored in the second storage unit 520, and then the images stored in the second storage unit 520 can be sequentially transferred to the first storage unit 512 in batches via the storage unit access unit 513. Each batch transfers a portion of the images (e.g., each image block) so that the first storage unit 512 can store them.

[0242] For the storage unit access unit 513, after the previous batch of partial images has been processed, the storage unit access unit 513 can transmit the next batch of partial images and transmit the image smoothing processing result back to the second storage unit 520.

[0243] For the processing unit 511, firstly, the processing unit 511 can control the storage unit access unit 513 to transfer a batch of partial images in the second storage unit 520 to the first storage unit 512, so as to call the batch of partial images from the first storage unit 512 for image smoothing processing.

[0244] Then, the processing unit 511 can temporarily cache the image smoothing processing result of the previous batch of partial images in the first storage unit 512 so as to serve as the input for the image smoothing processing of the next batch of partial images. After the image smoothing processing of the next batch of partial images is completed, the image smoothing processing result of the previous batch of partial images is deleted, and the image smoothing processing result of the next batch of partial images is stored, and so on.

[0245] Meanwhile, the processing unit 511 can control the storage unit access unit 513 to copy the image smoothing processing result of the previous batch of partial images from the first storage unit 512 to the second storage unit 520, and control the storage unit access unit 513 to copy the image smoothing processing result of the next batch of partial images from the first storage unit 512 to the second storage unit 520, so that the second storage unit 520 can be used to store the image smoothing processing result of the previous batch of partial images and the image smoothing processing result of the next batch of partial images, and so on.

[0246] Finally, the control storage unit access unit 513 transfers the next batch of partial images from the second storage unit 520 to the first storage unit 512 for image smoothing processing, and repeats this process until all images that need to be processed have been processed.

[0247] In specific implementation, the chip 510 in this embodiment can divide the target image into image blocks and perform forward iterative image smoothing and / or reverse iterative image smoothing according to the arrangement order of the image blocks in each row and column. In this way, compared with the method of performing image smoothing on the entire region of the image at once, dividing the image into multiple image blocks and performing image smoothing according to the image blocks makes the computational space required during image smoothing very small, so as to be suitable for scenarios with limited computational space.

[0248] In addition, forward and / or backward image smoothing processes are performed according to the order in which the image blocks are arranged in each row and column. This allows for forward and / or backward image smoothing processes to be performed on each row and column, thereby improving the image smoothing effect and enhancing the image quality.

[0249] The following sections will provide a detailed explanation of each unit.

[0250] 2. Processing Unit 511

[0251] 1) Description

[0252] In this embodiment of the application, the processing unit 511 can be used to: divide the target image into image blocks, and the divided image blocks have a fixed arrangement order in each row and each column; and store the divided image blocks in a second storage unit.

[0253] The control storage unit access unit 513 transmits the image blocks in the second storage unit 520 to the first storage unit 512 in the order of arrangement so that image smoothing processing is performed in a forward iterative manner and / or a reverse iterative manner according to the order of arrangement of the image blocks in each row and each column.

[0254] Among them, forward iterative image smoothing refers to performing image smoothing on each image block in the forward order of all image blocks in the same row or column.

[0255] Reverse iterative image smoothing refers to performing image smoothing on each image block in reverse order of the arrangement of all image blocks in the same row or column.

[0256] In some possible implementations, the processing unit 511 may be the processing unit described in "2. Chip" above, which will not be repeated here.

[0257] Optionally, the processing unit 511 may be a DSP. It should be noted that the reason for using a DSP for image smoothing processing in this embodiment is that, compared to a CPU, a DSP can support a single instruction to operate on multiple data, thereby improving processing efficiency.

[0258] 2) Perform forward iterative image smoothing and / or reverse iterative image smoothing according to the order of image patches in each row and column.

[0259] In some possible implementations, the processing unit 511 may be used for image smoothing processing that involves forward iteration and / or reverse iteration according to the order in which image patches are arranged in each row and column, in order to:

[0260] First, perform forward iterative image smoothing and / or reverse iterative image smoothing according to the order of image patches in each row; then, perform forward iterative image smoothing and / or reverse iterative image smoothing according to the order of image patches in each column; or,

[0261] First, perform forward iterative image smoothing and / or reverse iterative image smoothing according to the order of the image blocks in each column. Then, perform forward iterative image smoothing and / or reverse iterative image smoothing according to the order of the image blocks in each row.

[0262] It should be noted that, in conjunction with "Method A" above, the embodiments of this application may first perform forward iterative image smoothing and / or reverse iterative image smoothing on all image blocks in each row, and then perform forward iterative image smoothing and / or reverse iterative image smoothing on all image blocks in each column. In this way, by performing forward iterative image smoothing and / or reverse iterative image smoothing on each row and each column, the image smoothing effect can be improved, thereby enhancing the image quality.

[0263] In conjunction with "Method B" described above, the embodiments of this application may first perform forward iterative image smoothing and / or reverse iterative image smoothing on all image blocks in each column, and then perform forward iterative image smoothing and / or reverse iterative image smoothing on all image blocks in each row. In this way, by performing forward iterative image smoothing and / or reverse iterative image smoothing on each column and each row, the image smoothing effect can be improved, thereby enhancing the image quality.

[0264] Combining the above "Method A" and "Method B", the embodiments of this application can flexibly choose whether to perform forward iterative image smoothing processing and / or reverse iterative image smoothing processing on all image blocks in each row first, or to perform forward iterative image smoothing processing and / or reverse iterative image smoothing processing on all image blocks in each column first, so as to improve the flexibility of image smoothing processing and meet different needs or regulations.

[0265] 3) First row, then column

[0266] In some possible implementations, the processing unit 511 is configured to perform image smoothing processing in a forward iterative manner and / or a reverse iterative manner according to the order of image patches in each row, and then perform image smoothing processing in a forward iterative manner and / or a reverse iterative manner according to the order of image patches in each column.

[0267] First, from the first row to the last row or from the last row to the first row, perform forward and / or reverse image smoothing on all image blocks in each row according to their arrangement order, until all image blocks in all rows have been processed.

[0268] Then, proceed from the first column to the last column or from the last column to the first column, performing forward and / or reverse image smoothing on all image blocks in each column according to their arrangement order, until all image blocks in all columns have been processed.

[0269] It should be noted that, in conjunction with the content of "Method A" above, in Figure 2 In (d), first, from the first row to the sixth row, all image blocks in each row are subjected to forward and reverse image smoothing processes according to their arrangement order. Then, from the first column to the fourth column, all image blocks in each column are subjected to forward and reverse image smoothing processes according to their arrangement order.

[0270] As can be seen, the embodiments of this application can first perform forward iterative image smoothing and / or reverse iterative image smoothing on all image blocks in each row, and then perform forward iterative image smoothing and / or reverse iterative image smoothing on all image blocks in each column, which is beneficial to improving the image smoothing effect.

[0271] 4) Columns first, then rows

[0272] In some possible implementations, the processing unit 511 is configured to perform image smoothing processing in a forward iterative manner and / or a reverse iterative manner according to the order of image patches in each column, and then perform image smoothing processing in a forward iterative manner and / or a reverse iterative manner according to the order of image patches in each row.

[0273] First, proceed from the first column to the last column or from the last column to the first column, and perform forward and / or reverse image smoothing on all image blocks in each column according to their arrangement order, until all image blocks in all columns have been processed.

[0274] Then, proceed from the first row to the last row or from the last row to the first row, performing forward and / or reverse image smoothing on all image blocks in each row according to their arrangement order, until all image blocks in all rows have been processed.

[0275] It should be noted that, in conjunction with the content of "Method B" above, in Figure 2 In (d), first, from the first column to the fourth column, all image blocks in each column are subjected to forward and reverse image smoothing processes according to their arrangement order. Then, from the first row to the sixth row, all image blocks in each row are subjected to forward and reverse image smoothing processes according to their arrangement order.

[0276] As can be seen, the embodiments of this application can first perform forward iterative image smoothing and / or reverse iterative image smoothing on all image blocks in each column, and then perform forward iterative image smoothing and / or reverse iterative image smoothing on all image blocks in each row, which is beneficial to improving the image smoothing effect.

[0277] 3. First storage unit 512

[0278] 1) Description

[0279] In this embodiment of the application, the first storage unit 512 can be used to store image blocks.

[0280] The storage space of the first storage unit 512 is smaller than that of the second storage unit 520, and the read / write speed of the first storage unit 512 is higher than that of the second storage unit 520.

[0281] In some possible implementations, the first storage unit 512 may be a memory with a small storage space and fast read / write speed.

[0282] For example, the first storage unit 512 may include one of tightly coupled memory (TCM), instruction tightly coupled memory (ITCM), data tightly coupled memory (DTCM), etc.

[0283] 2) Cache the image smoothing results of the previous image patch.

[0284] It should be noted that, in conjunction with the above content "1) the dependency relationship between the previous image block and the next image block during image smoothing processing", in forward iterative image smoothing processing or reverse iterative image smoothing processing, since the next image block needs to use the image smoothing processing result of the previous image block as input for processing when performing image smoothing processing, the first storage unit 512 can also be used to store the image smoothing processing result of the previous image block.

[0285] Then, after the image smoothing process is completed for the next batch of partial images, the first storage unit 512 can also be used to delete the image smoothing process result of the previous batch of partial images, and then store the image smoothing process result of the next batch of partial images, and so on.

[0286] 4. Storage Unit Access Unit 513

[0287] 1) Description

[0288] In this embodiment of the application, the storage unit access unit 513 can be used to transfer image blocks from the second storage unit 520 to the first storage unit 512 in an ordered manner.

[0289] In some possible implementations, the memory access unit 513 may be a device for accessing memory.

[0290] For example, the memory access unit 513 may include Direct Memory Access (DMA), etc.

[0291] It should be noted that DMA can be a hardware-implemented data transfer mechanism. Specifically, DMA can complete data transfer without the involvement of the CPU.

[0292] 2) Transmit the image smoothing result of each image block to the second storage unit 520.

[0293] It should be noted that, in conjunction with the above "2) Dependency between forward iterative image smoothing and reverse iterative image smoothing", since there is a dependency between forward iterative image smoothing and reverse iterative image smoothing, forward iterative image smoothing needs to use the image smoothing result of reverse iterative image smoothing as input for processing, or reverse iterative image smoothing needs to use the image smoothing result of forward iterative image smoothing as input for processing.

[0294] In this regard, the storage unit access unit 513 can also be used to transmit the image smoothing result of each image block in the forward iterative image smoothing process or the reverse iterative image smoothing process to the second storage unit 520, so that it can be retrieved from the second storage unit 520 as input later.

[0295] 5. Second storage unit 520

[0296] 1) Description

[0297] In this embodiment of the application, the second storage unit 520 can be used to store the target image and the divided image blocks.

[0298] In some possible implementations, the second storage unit 520 can be a memory with a large storage space.

[0299] For example, the second storage unit 520 may include one of DDR SDRAM, SDRAM, RAM, CD-ROM, etc.

[0300] 2) Store the image patch smoothing results

[0301] It should be noted that, in conjunction with the above "2) Transmit the image smoothing result of each image block to the second storage unit 520", the second storage unit 520 can also be used to store the image smoothing result of each image block in the forward iterative image smoothing process or the reverse iterative image smoothing process.

[0302] 6. Examples of other implementation methods

[0303] Based on the above description, some implementation methods involved will be illustrated below. For other content not covered, please refer to the above description for details, which will not be repeated here.

[0304] In some possible implementations, in either forward or backward image smoothing, the image smoothing result of the previous image block is used as input for processing when the next image block is smoothed.

[0305] It should be noted that, in conjunction with the content of "4. Dependencies in Image Smoothing Processing" above, since the previous image block and the next image block in the same row or column are adjacent in position (or two adjacent image blocks), the embodiments of this application can consider a certain dependency between the previous image block and the next image block (or two adjacent image blocks) in forward iterative image smoothing or backward iterative image smoothing. This dependency can mean that the next image block needs to use the image smoothing result of the previous image block as input when performing image smoothing processing.

[0306] Furthermore, if the dependency between the previous and next image patches is not considered, and image smoothing is performed on each image patch individually, certain smoothing artifacts will appear at the intersection of two adjacent image patches in the same row or column. However, by considering this dependency and using the image smoothing result of the previous image patch as input for image smoothing of the next image patch, these smoothing artifacts can be reduced, thereby improving the image smoothing effect.

[0307] In summary, in both forward and reverse iterative image smoothing processes, the image smoothing result of the previous image block is used as input to smooth the next image block, thereby ensuring the dependency between image blocks and improving the image smoothing effect.

[0308] In some possible implementations, if both forward and reverse iterative image smoothing are required, then forward iterative image smoothing is performed first, followed by reverse iterative image smoothing; or,

[0309] First, perform reverse iterative image smoothing, then perform forward iterative image smoothing.

[0310] It should be noted that, in conjunction with the above-mentioned "2) Dependency between forward iterative image smoothing and reverse iterative image smoothing", the embodiments of this application can flexibly choose whether to perform forward iterative image smoothing or reverse iterative image smoothing, and whether to perform forward iterative image smoothing first or reverse iterative image smoothing first, in order to improve the flexibility of image smoothing to meet different needs or regulations.

[0311] In some possible implementations, if forward iterative image smoothing is performed first, followed by backward iterative image smoothing, then the first image block in the backward iterative image smoothing process needs to be processed using the image smoothing result of the first image block in the forward iterative image smoothing process as input; the first image block is a single image block. Alternatively,

[0312] If image smoothing is performed in reverse iteration first, and then in forward iteration, the second image block in the forward iteration needs to be processed with the image smoothing result of the second image block in the reverse iteration as input. The second image block is an image block.

[0313] It should be noted that, in conjunction with the content of "2) Dependency between forward iterative image smoothing and reverse iterative image smoothing" above, when it is necessary to perform forward iterative image smoothing and reverse iterative image smoothing on all image blocks in each row or column, since both forward iterative image smoothing and reverse iterative image smoothing will be performed on the same image block, there is a certain dependency between them.

[0314] The dependency relationship can be that a certain image block in the reverse iterative image smoothing process (for ease of distinction and description, this image block can be called the "first image block") needs to use the image smoothing result of the first image block in the forward iterative image smoothing process as input when performing image smoothing, or it can be that a certain image block in the forward iterative image smoothing process (for ease of distinction and description, this image block can be called the "second image block") needs to use the image smoothing result of the second image block in the reverse iterative image smoothing process as input when performing image smoothing, depending on the order of the forward iterative image smoothing and the reverse iterative image smoothing processes.

[0315] Furthermore, if the dependency between forward and reverse image smoothing is not considered, the first image block in the reverse image smoothing process will not use the smoothing result of the first image block in the forward image smoothing process as input when performing image smoothing. This makes the smoothing traces at the intersection of two adjacent image blocks in the same row or column more obvious than when the dependency is considered, resulting in poor image smoothing effect.

[0316] In summary, if forward iterative image smoothing is performed first, the first image block in the reverse iterative image smoothing process needs to take the image smoothing result of the first image block in the forward iterative image smoothing process as input when performing image smoothing, thereby ensuring the dependency between image blocks and improving the image smoothing effect.

[0317] If reverse iterative image smoothing is performed first, the second image block in the forward iterative image smoothing process needs to take the image smoothing result of the second image block in the reverse iterative image smoothing process as input when performing image smoothing, thereby ensuring the dependency between image blocks and improving the image smoothing effect.

[0318] In some possible implementations, each image patch has the same size; and / or,

[0319] Each image patch does not overlap with the others.

[0320] It should be noted that, in conjunction with the content of "3) Image block size" above, when dividing the target image into image blocks, each image block obtained can have the same size, which facilitates image smoothing between image blocks.

[0321] Combining the content of "4) Overlap between each image block" above, when dividing the target image into image blocks, each image block obtained can be non-overlapping. This can minimize the dependency between image blocks when performing image smoothing processing on the image blocks, and avoid unnecessary processing from overlapping parts to save computation time.

[0322] V. Other Exemplary Descriptions

[0323] This application also provides an electronic device, including the above-described... Figure 5 The chip shown is 510.

[0324] It should be noted that, in conjunction with the content of "I. Electronic Devices" above, the electronic device may also include at least one of the following: storage components, sensing components, display components, camera components, and input drivers, which will not be elaborated further.

[0325] This application also provides a computer-readable storage medium storing a computer program or instructions that, when executed by a processor, implement the steps described in the above embodiments.

[0326] This application also provides a computer program product, including a computer program or instructions, wherein the computer program or instructions, when executed by a processor, implement the steps described in the above embodiments. For example, the computer program product may be a software installation package.

[0327] In addition, computer program products should be understood as software products that primarily implement the technical solutions of this application through computer programs or instructions.

[0328] It should be noted that, for the sake of simplicity, the above embodiments are all described as a series of actions. Those skilled in the art should understand that this application is not limited to the described order of actions, as some steps in the embodiments of this application can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions, steps, modules, or units involved are not necessarily essential to the embodiments of this application.

[0329] In the above embodiments, the descriptions of each embodiment in this application have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.

[0330] Those skilled in the art should understand that the functions of the methods, steps, or related modules / units described in the embodiments of this application can be implemented, in whole or in part, by software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product, or by a processor executing computer program instructions. The computer program product includes at least one computer program instruction, which can be composed of corresponding software modules. These software modules can be stored in RAM, flash memory, ROM, EPROM, EEPROM, registers, hard disk, portable hard disk, read-only optical disc (CD-ROM), or any other form of storage medium well known in the art. The computer program instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer program instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media, or semiconductor media (e.g., SSDs).

[0331] The modules / units included in the various devices or products described in the above embodiments can be software modules / units, hardware modules / units, or a combination of software and hardware modules / units. For example, for devices or products applied to or integrated into a chip, all of their modules / units can be implemented using hardware methods such as circuits; or, some of their modules / units can be implemented using software programs that run on a processor integrated within the chip, while other (if any) modules / units can be implemented using hardware methods such as circuits. The same principle applies to devices or products applied to or integrated into chip modules, or devices or products applied to or integrated into terminals.

[0332] The above detailed embodiments further illustrate the purpose, technical solution, and beneficial effects of the embodiments of this application. It should be understood that the above are merely specific implementations of the embodiments of this application and are not intended to limit the protection scope of the embodiments of this application. Any modifications, equivalent substitutions, improvements, etc., made based on the technical solutions of the embodiments of this application should be included within the protection scope of the embodiments of this application.

Claims

1. An image smoothing processing method, characterized in that, include: The target image is divided into image blocks, and the resulting image blocks have a fixed arrangement order in each row and column; Each image patch has the same size; Image smoothing is performed in a forward iterative manner and / or a reverse iterative manner according to the order in which the image blocks are arranged in each row and column. The forward iterative image smoothing process refers to performing image smoothing on each of the image blocks in the same row or column in a forward order. The reverse iterative image smoothing process refers to performing image smoothing on each of the image blocks in the same row or column in reverse order of arrangement. In the forward iterative image smoothing process or the reverse iterative image smoothing process, the image smoothing result of the previous image block needs to be used as input for the image smoothing process of the next image block. The image smoothing process, which involves forward iteration and / or reverse iteration based on the arrangement order of the image blocks in each row and column, includes: First, perform the forward iterative image smoothing process and / or the reverse iterative image smoothing process according to the arrangement order of the image blocks in each row; then, perform the forward iterative image smoothing process and / or the reverse iterative image smoothing process according to the arrangement order of the image blocks in each column; or, First, perform the forward iterative image smoothing process and / or the reverse iterative image smoothing process according to the arrangement order of the image blocks in each column. Then, perform the forward iterative image smoothing process and / or the reverse iterative image smoothing process according to the arrangement order of the image blocks in each row.

2. The method according to claim 1, characterized in that, The step of first performing the forward iterative image smoothing process and / or the reverse iterative image smoothing process according to the arrangement order of the image blocks in each row, and then performing the forward iterative image smoothing process and / or the reverse iterative image smoothing process according to the arrangement order of the image blocks in each column, includes: First, from the first row to the last row or from the last row to the first row, perform the forward iterative image smoothing process and / or the reverse iterative image smoothing process on all the image blocks in each row according to their arrangement order, until all the image blocks in all rows have been processed. Then, from the first column to the last column or from the last column to the first column, perform the forward iterative image smoothing process and / or the reverse iterative image smoothing process on all the image blocks in each column according to their arrangement order, until all the image blocks in all columns have been processed.

3. The method according to claim 1, characterized in that, The step of first performing the forward iterative image smoothing process and / or the reverse iterative image smoothing process according to the arrangement order of the image blocks in each column, and then performing the forward iterative image smoothing process and / or the reverse iterative image smoothing process according to the arrangement order of the image blocks in each row, includes: First, from the first column to the last column or from the last column to the first column, perform the forward iterative image smoothing process and / or the reverse iterative image smoothing process on all the image blocks in each column according to their arrangement order, until all the image blocks in all columns have been processed. Then, from the first row to the last row or from the last row to the first row, perform the forward iterative image smoothing process and / or the reverse iterative image smoothing process on all the image blocks in each row according to their arrangement order, until all the image blocks in all rows have been processed.

4. The method according to any one of claims 1-3, characterized in that, If both forward and reverse image smoothing are required, then the forward image smoothing should be performed first, followed by the reverse image smoothing; or... First, perform the reverse iterative image smoothing process, and then perform the forward iterative image smoothing process.

5. The method according to claim 4, characterized in that, If the forward iterative image smoothing process is performed first, followed by the reverse iterative image smoothing process, then the first image block in the reverse iterative image smoothing process needs to take the image smoothing result of the first image block in the forward iterative image smoothing process as input when performing the image smoothing process. The first image block is one such image block; or... If the reverse iterative image smoothing process is performed first, and then the forward iterative image smoothing process is performed, then the second image block in the forward iterative image smoothing process needs to take the image smoothing result of the second image block in the reverse iterative image smoothing process as input for processing when the image smoothing process is performed. The second image block is one image block.

6. The method according to claim 1, characterized in that, Each of the image blocks has the same size; and / or, Each of the image blocks does not overlap with the others.

7. An image smoothing processing apparatus, characterized in that, include: An image block division unit is used to divide a target image into image blocks, and the resulting image blocks have a fixed arrangement order in each row and each column. Each image patch has the same size; An image smoothing processing unit is used to perform forward iterative image smoothing processing and / or reverse iterative image smoothing processing according to the arrangement order of the image blocks in each row and each column; The forward iterative image smoothing process refers to performing image smoothing on each of the image blocks in the same row or column in a forward order. The reverse iterative image smoothing process refers to performing image smoothing on each of the image blocks in the same row or column in reverse order of arrangement. In the forward iterative image smoothing process or the reverse iterative image smoothing process, the image smoothing result of the previous image block needs to be used as input for the image smoothing process of the next image block. In terms of performing forward iterative image smoothing and / or reverse iterative image smoothing according to the arrangement order of the image blocks in each row and each column, the image smoothing unit is used for: First, perform the forward iterative image smoothing process and / or the reverse iterative image smoothing process according to the arrangement order of the image blocks in each row; then, perform the forward iterative image smoothing process and / or the reverse iterative image smoothing process according to the arrangement order of the image blocks in each column; or, First, perform the forward iterative image smoothing process and / or the reverse iterative image smoothing process according to the arrangement order of the image blocks in each column. Then, perform the forward iterative image smoothing process and / or the reverse iterative image smoothing process according to the arrangement order of the image blocks in each row.

8. A chip, characterized in that, It includes a processing unit, a first storage unit, and a storage unit access unit; wherein, The processing unit is configured to: divide the target image into image blocks, wherein the divided image blocks have a fixed arrangement order in each row and each column; store the divided image blocks in a second storage unit; control the storage unit access unit to sequentially transfer the image blocks in the second storage unit to the first storage unit according to the arrangement order, so as to perform forward iterative image smoothing processing and / or reverse iterative image smoothing processing according to the arrangement order of the image blocks in each row and each column; wherein, the forward iterative image smoothing processing refers to performing image smoothing processing on each image block in the same row or column in the forward order; the reverse iterative image smoothing processing refers to performing image smoothing processing on each image block in the reverse order; each image block has the same size; in the forward iterative image smoothing processing or the reverse iterative image smoothing processing, the image smoothing processing result of the previous image block needs to be used as input for processing when the next image block is processed; The first storage unit is used to store the image block; wherein the storage space of the first storage unit is smaller than that of the second storage unit, and the read / write speed of the first storage unit is higher than that of the second storage unit; The storage unit access unit is used to: transfer the image blocks from the second storage unit to the first storage unit in order of arrangement; In relation to the image smoothing process that performs forward and / or reverse iterations according to the order in which the image blocks are arranged in each row and column, the processing unit is configured to: First, perform the forward iterative image smoothing process and / or the reverse iterative image smoothing process according to the arrangement order of the image blocks in each row; then, perform the forward iterative image smoothing process and / or the reverse iterative image smoothing process according to the arrangement order of the image blocks in each column; or, First, perform the forward iterative image smoothing process and / or the reverse iterative image smoothing process according to the arrangement order of the image blocks in each column. Then, perform the forward iterative image smoothing process and / or the reverse iterative image smoothing process according to the arrangement order of the image blocks in each row.

9. An electronic device, characterized in that, Includes the chip described in claim 8.

10. A computer-readable storage medium, characterized in that, It stores a computer program or instructions that, when executed, implement the steps of the method described in any one of claims 1-6.

Citation Information

Patent Citations

  • Image processing method and device, computer readable storage medium and electronic equipment

    CN113538269A