An interpolation method, device and readable storage medium

By constructing a multi-layer progressive interpolation kernel and performing noise reduction processing, the problems of blurred edges and jagged edges in existing technologies are solved, achieving higher quality image scaling effects.

CN115546018BActive Publication Date: 2026-11-06BEIJING XIAOMI MOBILE SOFTWARE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202110744764.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-06-30
Publication Date
2026-11-06
Estimated Expiration
2041-06-30

AI Technical Summary

Technical Problem

Existing interpolation scaling techniques are prone to introducing blurring, jagged edges, and maze-like phenomena in edge regions, and rely on accurate edge detection and angle classification, making it difficult to maintain image quality in noisy environments.

Method used

By constructing a multi-layered progressive interpolation kernel, the third interpolation kernel is determined using the first and second interpolation kernels. Combined with noise reduction processing, edge detection and angle classification are avoided, thereby improving the continuity of pixel values.

Benefits of technology

Improved image quality of scaled images, prevented jagged edges and maze-like issues, and enhanced the natural appearance of image edges.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115546018B_ABST
    Figure CN115546018B_ABST
Patent Text Reader

Abstract

The disclosure provides an interpolation method, device and readable storage medium, applied to the technical field of image processing. The interpolation method comprises the following steps: determining a second position corresponding to a pixel to be interpolated in an original image; determining a neighborhood pixel corresponding to the pixel to be interpolated according to the second position; determining a first interpolation kernel according to a first interpolation base function and the neighborhood pixel corresponding to the pixel to be interpolated; determining a first estimated value of the pixel to be interpolated according to the neighborhood pixel and the first interpolation kernel; determining a second interpolation kernel according to the first estimated value of the pixel to be interpolated and the corresponding neighborhood pixel; determining a third interpolation kernel according to the first interpolation kernel and the second interpolation kernel; determining a second estimated value of the pixel to be interpolated according to the third interpolation kernel and the neighborhood pixel, and performing interpolation according to the second estimated value. In the disclosure, the third interpolation kernel can more accurately determine the value of the pixel to be interpolated through the multi-layer progressive interpolation kernel, thereby improving the continuity of the pixel value and the picture quality of the scaled image.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] When using a terminal with a display screen, users often need to zoom in and out of the preview image. Interpolation scaling is used to achieve this zooming operation. Interpolation scaling requires consideration of various factors, including image quality, power consumption, and hardware logic design.

[0003] Commonly used interpolation scaling methods include nearest neighbor interpolation, quadratic interpolation, cubic interpolation, and Lanzcons interpolation. The basic idea of ​​these methods is to weight different neighboring pixels, that is, to weight the neighborhood of different spatial locations according to different basis functions. Such methods are not selective for texture features in different directions, so the final image often has a blurred appearance in the edge areas.

[0004] In related techniques, the gradient magnitude and direction of each pixel in the source image are calculated. The edge direction is defined as the direction perpendicular to the gradient direction. The edge direction is classified into eight angular domains. Edge information is used for filtering to divide the image into regular edge regions and non-edge regions. Interpolation is performed along the edge direction for regular edge regions; for non-edge regions, an interpolation method based on local gradient information is used.

[0005] This application requires classifying the edge region into eight angular domains, and the classification process relies on preset parameters. Incorrect classification can easily lead to incorrect interpolation method selection, and the eight angular domains cannot be further subdivided, potentially introducing unnatural artifacts into the final result.

[0006] In another related technology, edge point information on the image is obtained, and the interpolation point is determined to be located in the edge region based on the edge point information and the surrounding reference points of the interpolation point. When it is determined that the interpolation point is located in the edge region, the angle class to which the edge direction of the interpolation point belongs is obtained. The edge direction of the pixel in the image is divided into m angle domains, and the m angle domains are pre-divided into n angle classes. Finally, the corresponding one-dimensional interpolation kernel is selected according to the angle class to which the edge direction of the interpolation point belongs to, and interpolation is performed in the horizontal and vertical directions respectively.

[0007] This application requires classifying edge regions and selecting a one-dimensional Lanczos6 interpolation kernel, a Bicubic interpolation kernel, or a Lanczos3 interpolation kernel for different classes of interpolation points. This method relies on accurate classification results, and because different interpolation kernels are selected for different classes of pixels, it is easy to produce jagged edges, abrupt changes, and other discontinuities at the final image edges, affecting image quality.

[0008] In summary, scaling techniques using nonlinear interpolation can improve the representation of edges and textures in images. The main idea is to classify different regions into regular edge regions or random texture regions, and then perform edge-guided interpolation on the regular edge regions. The main limitation of this type of algorithm lies in the identification and classification of region content. The conventional approach is to use edge detection convolution kernels to determine directions such as 0°, 45°, 90°, and 135°, combined with manually set thresholds to define edge regions. This method relies on very accurate classification threshold settings, but in practice, the classification results are difficult to determine precisely due to noise, thus its robustness needs improvement. Furthermore, this method is limited by the convolution kernel, making it difficult to further refine the direction determination, resulting in poor performance of textures scaled in non-specific directions, accompanied by blurring or maze-like phenomena. Summary of the Invention

[0009] In view of this, the present disclosure provides an interpolation method, apparatus and readable storage medium.

[0010] According to a first aspect of this disclosure, an interpolation method is provided, comprising:

[0011] Based on the first position of the pixel to be interpolated in the scaled image and the scaling ratio from the original image to the scaled image, the second position of the pixel to be interpolated in the original image is determined.

[0012] The neighboring pixels corresponding to the pixel to be interpolated are determined based on the second position;

[0013] The first interpolation kernel is determined based on the first interpolation basis function and the neighboring pixels corresponding to the pixel to be interpolated;

[0014] A first estimated value of the pixel to be interpolated is determined based on the first interpolation kernel and the neighboring pixels corresponding to the pixel to be interpolated; a second interpolation kernel is determined based on the first estimated value of the pixel to be interpolated and the neighboring pixels corresponding to the pixel to be interpolated.

[0015] The third interpolation kernel is determined based on the first interpolation kernel and the second interpolation kernel;

[0016] A second estimated value of the pixel to be interpolated is determined based on the third interpolation kernel and the neighboring pixels corresponding to the pixel to be interpolated, and interpolation is performed based on the second estimated value.

[0017] In one embodiment, the method includes: performing noise reduction processing on the original image to obtain a noise-reduced image;

[0018] Determining the neighboring pixels corresponding to the pixel to be interpolated based on the second position includes:

[0019] Based on the second position, determine the neighboring pixels of the pixel to be interpolated in the noise reduction map;

[0020] and / or;

[0021] The step of determining the second interpolation kernel based on the first estimated value of the pixel to be interpolated and the neighboring pixels corresponding to the pixel to be interpolated includes:

[0022] The second interpolation kernel is determined based on the first estimated value and the neighboring pixels of the pixel to be interpolated in the noise reduction map.

[0023] In one embodiment, the second interpolation kernel is an exponential function with the difference as the variable.

[0024] In one embodiment, determining the second interpolation kernel based on the first estimated value of the pixel to be interpolated and the neighboring pixels corresponding to the pixel to be interpolated includes:

[0025] The difference between a first estimated value of the pixel to be interpolated and the difference between each of the neighboring pixels is determined, and the second interpolation kernel is determined based on the difference; wherein the value of the second interpolation kernel is negatively correlated with the difference.

[0026] In one embodiment, determining the third interpolation kernel based on the first interpolation kernel and the second interpolation kernel includes:

[0027] Perform a first operation on the first interpolation kernel and the second interpolation kernel, and normalize the result of the first operation to obtain the third interpolation kernel;

[0028] The first operation is either multiplication or addition.

[0029] According to a second aspect of this disclosure, an interpolation apparatus is provided, comprising:

[0030] The first determining module is configured to determine, based on the first position of the pixel to be interpolated in the scaled image and the scaling ratio from the original image to the scaled image, the second position of the pixel to be interpolated in the original image; and to determine the neighboring pixels corresponding to the pixel to be interpolated based on the second position.

[0031] The second determining module is used to determine the first interpolation kernel based on the first interpolation basis function and the neighboring pixels corresponding to the pixel to be interpolated;

[0032] The third determining module is used to determine a first estimated value of the pixel to be interpolated based on the first interpolation kernel and the neighboring pixels corresponding to the pixel to be interpolated; and to determine a second interpolation kernel based on the first estimated value of the pixel to be interpolated and the neighboring pixels corresponding to the pixel to be interpolated.

[0033] The fourth determining module is used to determine the third interpolation kernel based on the first interpolation kernel and the second interpolation kernel;

[0034] An interpolation module is used to determine a second estimated value of the pixel to be interpolated based on the third interpolation kernel and the neighboring pixels corresponding to the pixel to be interpolated, and to perform interpolation based on the second estimated value.

[0035] In one embodiment, the device includes: a noise reduction module;

[0036] The noise reduction module is used to perform noise reduction processing on the original image to obtain a noise-reduced image;

[0037] The first determining module is further configured to determine the neighboring pixels corresponding to the pixel to be interpolated based on the second position using the following method: determining the neighboring pixels corresponding to the pixel to be interpolated in the noise reduction map based on the second position;

[0038] and / or;

[0039] The third determining module is further configured to determine a second interpolation kernel using the following method based on a first estimated value of the pixel to be interpolated and the neighboring pixels corresponding to the pixel to be interpolated: determining the second interpolation kernel based on the first estimated value and the neighboring pixels corresponding to the pixel to be interpolated in the noise reduction map.

[0040] In one embodiment, the second interpolation kernel is an exponential function with the difference as the variable.

[0041] In one embodiment, the third determining module is further configured to determine a second interpolation kernel using the following method based on a first estimated value of the pixel to be interpolated and the neighboring pixels corresponding to the pixel to be interpolated: determining the difference between the first estimated value of the pixel to be interpolated and each of the neighboring pixels, and determining the second interpolation kernel based on the difference; wherein the value of the second interpolation kernel is negatively correlated with the difference.

[0042] In one embodiment, the fourth determining module is further configured to determine a third interpolation kernel based on the first interpolation kernel and the second interpolation kernel using the following method:

[0043] Perform a first operation on the first interpolation kernel and the second interpolation kernel, and normalize the result of the first operation to obtain the third interpolation kernel;

[0044] The first operation is either multiplication or addition.

[0045] According to a third aspect of this disclosure, an interpolation device is provided for use in a terminal, comprising:

[0046] processor;

[0047] Memory used to store processor-executable instructions;

[0048] The processor is configured to execute executable instructions in the memory to implement the interpolation method.

[0049] According to a fourth aspect of this disclosure, a non-transitory computer-readable storage medium is provided, having stored executable instructions thereon that, when executed by a processor, implement the steps of the interpolation method.

[0050] The technical solutions provided by the embodiments of this disclosure may include the following beneficial effects: determining a first interpolation kernel through the original image, using the first interpolation kernel to determine a first estimated value of the pixel to be interpolated, determining a second interpolation kernel based on the first estimated value, constructing a third interpolation kernel related to the first and second interpolation kernels, and determining the final estimated value of the pixel to be interpolated based on the third interpolation kernel; through multi-layer progressive interpolation kernels, the third interpolation kernel can more accurately determine the value of the pixel to be interpolated, thereby improving the continuity of pixel values, improving the image quality of the scaled image, and preventing jagged edges and maze problems, without relying on edge detection and angle classification.

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

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

[0053] Figure 1 This is a flowchart illustrating an interpolation method according to an exemplary embodiment;

[0054] Figure 2 This is a schematic diagram illustrating an interpolation method according to an exemplary embodiment;

[0055] Figure 3 This is a block diagram illustrating an interpolation apparatus according to an exemplary embodiment;

[0056] Figure 4 This is a block diagram illustrating an interpolation apparatus according to an exemplary embodiment. Detailed Implementation

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

[0058] This disclosure provides an interpolation method applied to a mobile terminal. For example... Figure 1 As shown, Figure 1 This is a flowchart of the interpolation method in an embodiment of this disclosure. (Refer to...) Figure 1 Interpolation methods can include:

[0059] Step S11: Based on the first position of the pixel to be interpolated in the scaled image and the scaling ratio from the original image to the scaled image, determine the second position of the pixel to be interpolated in the original image.

[0060] Step S12: Determine the neighboring pixels corresponding to the pixel to be interpolated based on the second position;

[0061] Step S13: Determine the first interpolation kernel based on the first interpolation basis function and the neighboring pixels corresponding to the pixel to be interpolated;

[0062] Step S14: Determine the first estimated value of the pixel to be interpolated based on the first interpolation kernel and the neighboring pixels corresponding to the pixel to be interpolated;

[0063] Step S15: Determine the second interpolation kernel based on the first estimated value of the pixel to be interpolated and the neighboring pixels corresponding to the pixel to be interpolated;

[0064] Step S16: Determine a third interpolation kernel based on the first interpolation kernel and the second interpolation kernel;

[0065] Step S17: Determine a second estimated value of the pixel to be interpolated based on the third interpolation kernel and the neighboring pixels corresponding to the pixel to be interpolated, and perform interpolation based on the second estimated value.

[0066] In one example, in step S11, as Figure 2 As shown, the magnification ratio from the original image to the scaled image is 2. Figure 2 The left image in the image represents the original image, and the white dots in the original image represent pixels in the original image. Figure 2 The right image in the image is a magnified view. In the magnified view, the black dots represent the pixels to be interpolated in the horizontal direction, and the stripe dots represent the pixels to be interpolated in the vertical direction.

[0067] In one embodiment, determining the neighboring pixels corresponding to the pixel to be interpolated based on the second position in step S12 includes: determining the neighboring pixels corresponding to the pixel to be interpolated in the original image based on the second position.

[0068] The neighboring pixels can be a set number of neighboring pixels that are closest to the pixel to be interpolated, such as 4, 6, or 8. In one example, when the set number is 4, the four neighboring pixels corresponding to the pixel to be interpolated in the original image are determined based on the second position.

[0069] Neighboring pixels can also be pixels within a coverage area centered on the position of the pixel to be interpolated, with a defined shape and size. For example, the coverage area is a square with a side length of twice that of the original adjacent pixel intervals.

[0070] In one embodiment, the first interpolation kernel may also be called a spatial interpolation kernel, and the first interpolation kernel is a linear interpolation kernel or a nonlinear interpolation kernel.

[0071] In one implementation, the first interpolation basis function is a nearest neighbor difference function, a bilinear function, a bicubic function, or a Lanzcons function.

[0072] In one example, the first interpolation basis function is the lanzcons function. Assuming the radius of the first interpolation kernel is w, then as shown in equation (1), the first interpolation kernel (also called the spatial interpolation kernel) L(x,y) is:

[0073]

[0074] After obtaining the first interpolation kernel, correlation operations are performed between it and the neighboring pixels to obtain the first estimated value of the data to be interpolated, as shown in formula (2). The first estimated value is denoted as value:

[0075]

[0076] Here, src(x,y) represents the pixel value of the (x,y) pixel.

[0077] In steps S11 to S14 above, the edge direction of the original image pixels is not determined, and the edge direction is not forcibly classified into a certain category of the pre-classification. Instead, anisotropic interpolation is performed based on the similarity between the image interpolation pixel and the neighboring pixel, which is more consistent with the actual edge direction of the original image, thereby improving the final scaling effect.

[0078] In one embodiment, the second interpolation kernel may also be called the range interpolation kernel, and the second interpolation kernel is a linear interpolation kernel or a nonlinear interpolation kernel.

[0079] In this embodiment, a first interpolation kernel is determined using the original image. The first interpolation kernel is then used to determine a first estimated value of the pixel to be interpolated. A second interpolation kernel is determined based on the first estimated value. A third interpolation kernel related to the first and second interpolation kernels is constructed. The final estimated value of the pixel to be interpolated is determined based on the third interpolation kernel. Through multi-layered progressive interpolation kernels, the third interpolation kernel can more accurately determine the value of the pixel to be interpolated, thereby improving the continuity of pixel values, enhancing the image quality of the scaled image, and preventing jagged edges and maze-like patterns, without relying on edge detection and angle classification.

[0080] This disclosure provides an interpolation method applied to a mobile terminal, the method including... Figure 1 The method shown, and:

[0081] The method includes:

[0082] The original image is subjected to noise reduction processing to obtain a noise-reduced image;

[0083] In step S12, determining the neighboring pixels corresponding to the pixel to be interpolated based on the second position includes:

[0084] The neighboring pixels of the pixel to be interpolated in the noise reduction map are determined based on the second position.

[0085] In one embodiment, when denoising the original image, a bilateral filter or a non-local means filter is used.

[0086] In this embodiment of the disclosure, considering that noise in the original image can easily affect the calculation of the second interpolation kernel, the original image is denoised, and the denoised data is used to determine the second interpolation kernel to improve the performance of the nonlinear interpolation kernel.

[0087] This disclosure provides an interpolation method applied to a mobile terminal, the method including... Figure 1 The method shown, and:

[0088] The method includes:

[0089] The original image is subjected to noise reduction processing to obtain a noise-reduced image;

[0090] In step S12, determining the neighboring pixels corresponding to the pixel to be interpolated based on the second position includes:

[0091] The neighboring pixels of the pixel to be interpolated in the noise reduction map are determined based on the second position.

[0092] In step S15, determining the second interpolation kernel based on the first estimated value of the pixel to be interpolated and the neighboring pixels corresponding to the pixel to be interpolated includes:

[0093] The second interpolation kernel is determined based on the first estimated value and the neighboring pixels of the pixel to be interpolated in the noise reduction map.

[0094] In one embodiment, when denoising the original image, a bilateral filter or a non-local means filter is used.

[0095] In this embodiment of the disclosure, noise reduction processing is performed on the original image, which helps to generate a more accurate interpolation kernel and improve the final scaling performance.

[0096] In another implementation, the denoised data may be used only when determining the first interpolation kernel, but not when determining the second interpolation kernel.

[0097] This disclosure provides an interpolation method applied to a mobile terminal, the method including... Figure 1 The method shown, and:

[0098] Step S15, determining a second interpolation kernel based on the first estimated value of the pixel to be interpolated and the neighboring pixels corresponding to the pixel to be interpolated, includes:

[0099] The difference between the first estimated value of the pixel to be interpolated and each of the neighboring pixels is determined, and the second interpolation kernel is determined based on the difference; wherein, the value of the second interpolation kernel is negatively correlated with the difference, that is, the smaller the difference, the larger the value of the second interpolation kernel, and the larger the difference, the smaller the value of the second interpolation kernel.

[0100] In one embodiment, the radius of the second interpolation kernel is the same as the radius of the first interpolation kernel.

[0101] In one embodiment, the second interpolation kernel is an exponential function with the difference as the variable.

[0102] In one example, as shown in formula (3), the second interpolation kernel R(x,y) is a Gaussian function:

[0103]

[0104] Where σ is an adjustable parameter used to adjust the smoothness of the value range weights. src(x,y) represents the pixel value at pixel (x,y).

[0105] In other examples, the second interpolation kernel R(x,y) can also be a transformed function of the Gaussian function:

[0106] For example:

[0107]

[0108]

[0109]

[0110] etc.

[0111] This disclosure provides an interpolation method applied to a mobile terminal, the method including... Figure 1 The method shown, and:

[0112] The step of determining the third interpolation kernel based on the first interpolation kernel and the second interpolation kernel includes:

[0113] Perform a first operation on the first interpolation kernel and the second interpolation kernel, and normalize the result of the first operation to obtain the third interpolation kernel;

[0114] The first operation is either multiplication or addition.

[0115] In one embodiment, the product of the first interpolation kernel and the second interpolation kernel is used as the third interpolation kernel. As shown in formula (4), the third interpolation kernel is normalized.

[0116]

[0117] The pixel to be interpolated is obtained by performing correlation operations between the joint interpolation kernel and neighboring pixels.

[0118] In one embodiment, as shown in formula (5), a second estimated value of the pixel to be interpolated is determined based on the third interpolation kernel and the neighboring pixels:

[0119]

[0120] This disclosure provides an interpolation device applied to a mobile terminal. For example... Figure 3 As shown, Figure 3 This is a block diagram of the interpolation apparatus in an embodiment of this disclosure. (Refer to...) Figure 3 The interpolation device may include:

[0121] The first determining module 31 is used to determine, based on the first position of the pixel to be interpolated in the scaled image and the scaling ratio from the original image to the scaled image, the second position of the pixel to be interpolated in the original image; and to determine the neighboring pixels corresponding to the pixel to be interpolated based on the second position.

[0122] The second determining module 32 is used to determine the first interpolation kernel based on the first interpolation basis function and the neighboring pixels corresponding to the pixel to be interpolated;

[0123] The third determining module 33 is used to determine a first estimated value of the pixel to be interpolated based on the first interpolation kernel and the neighboring pixels corresponding to the pixel to be interpolated; and to determine a second interpolation kernel based on the first estimated value of the pixel to be interpolated and the neighboring pixels corresponding to the pixel to be interpolated.

[0124] The fourth determining module 34 is used to determine the third interpolation kernel based on the first interpolation kernel and the second interpolation kernel;

[0125] The interpolation module 35 is used to determine a second estimated value of the pixel to be interpolated based on the third interpolation kernel and the neighboring pixels corresponding to the pixel to be interpolated, and to perform interpolation based on the second estimated value.

[0126] This disclosure provides an interpolation device applied to a mobile terminal, including... Figure 3 The apparatus shown, and:

[0127] The device includes: a noise reduction module;

[0128] The noise reduction module is used to perform noise reduction processing on the original image to obtain a noise-reduced image;

[0129] The first determining module is further configured to determine the neighboring pixels corresponding to the pixel to be interpolated based on the second position using the following method: determining the neighboring pixels corresponding to the pixel to be interpolated in the noise reduction map based on the second position;

[0130] and / or;

[0131] The third determining module is further configured to determine a second interpolation kernel using the following method based on a first estimated value of the pixel to be interpolated and the neighboring pixels corresponding to the pixel to be interpolated: determining the second interpolation kernel based on the first estimated value and the neighboring pixels corresponding to the pixel to be interpolated in the noise reduction map.

[0132] This disclosure provides an interpolation device applied to a mobile terminal, including... Figure 3 The apparatus shown, and:

[0133] The second interpolation kernel is an exponential function with the difference as the variable.

[0134] This disclosure provides an interpolation device applied to a mobile terminal, including... Figure 3 The apparatus shown, and:

[0135] The third determining module 33 is further configured to determine a second interpolation kernel using the following method based on the first estimated value of the pixel to be interpolated and the neighboring pixels corresponding to the pixel to be interpolated: determining the difference between the first estimated value of the pixel to be interpolated and each of the neighboring pixels, and determining the second interpolation kernel based on the difference; wherein the value of the second interpolation kernel is negatively correlated with the difference.

[0136] This disclosure provides an interpolation device applied to a mobile terminal, including... Figure 3 The apparatus shown, and:

[0137] The fourth determining module 34 is further configured to determine the third interpolation kernel based on the first interpolation kernel and the second interpolation kernel using the following method:

[0138] Perform a first operation on the first interpolation kernel and the second interpolation kernel, and normalize the result of the first operation to obtain the third interpolation kernel;

[0139] The first operation is either multiplication or addition.

[0140] This disclosure provides an interpolation device applied to a terminal, comprising:

[0141] processor;

[0142] Memory used to store processor-executable instructions;

[0143] The processor is configured to execute executable instructions in the memory to implement the interpolation method.

[0144] This disclosure provides a non-transitory computer-readable storage medium storing executable instructions that, when executed by a processor, implement the steps of the interpolation method.

[0145] Figure 4 This is a block diagram illustrating an interpolation device 400 according to an exemplary embodiment. For example, device 400 may be a mobile phone, computer, digital broadcasting terminal, messaging device, game console, tablet device, medical device, fitness equipment, personal digital assistant, etc.

[0146] Reference Figure 4 The device 400 may include one or more of the following components: a processing component 402, a memory 404, a power supply component 406, a multimedia component 408, an audio component 410, an input / output (I / O) interface 412, a sensor component 414, and a communication component 416.

[0147] Processing component 402 typically controls the overall operation of device 400, such as operations associated with display, telephone calls, data communication, camera operation, and recording. Processing component 402 may include one or more processors 420 to execute instructions to perform all or part of the steps of the methods described above. Furthermore, processing component 402 may include one or more modules to facilitate interaction between processing component 402 and other components. For example, processing component 402 may include a multimedia module to facilitate interaction between multimedia component 408 and processing component 402.

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

[0149] Power supply component 406 provides power to various components of device 400. Power supply component 406 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to device 400.

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

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

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

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

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

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

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

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

[0158] It should be understood that the embodiments in this disclosure are not limited to the precise structures described above and shown in the accompanying drawings, and various combinations, substitutions, modifications, and changes can be made to the method steps or device components disclosed in this application without departing from its scope. All such combinations, substitutions, modifications, and changes are considered to be included within the scope of this disclosure. The scope of protection claimed in this disclosure is limited by the appended claims.

Claims

1. An interpolation method, characterized in that, include: Based on the first position of the pixel to be interpolated in the scaled image and the scaling ratio from the original image to the scaled image, the second position of the pixel to be interpolated in the original image is determined. The neighboring pixels corresponding to the pixel to be interpolated are determined based on the second position; The first interpolation kernel is determined based on the first interpolation basis function and the neighboring pixels corresponding to the pixel to be interpolated; A first estimated value of the pixel to be interpolated is determined based on the first interpolation kernel and the neighboring pixels corresponding to the pixel to be interpolated; a second interpolation kernel is determined based on the first estimated value of the pixel to be interpolated and the neighboring pixels corresponding to the pixel to be interpolated. The third interpolation kernel is determined based on the first interpolation kernel and the second interpolation kernel; The second estimated value of the pixel to be interpolated is determined based on the third interpolation kernel and the neighboring pixels corresponding to the pixel to be interpolated. Interpolation is then performed based on the second estimated value to improve the continuity of pixel values.

2. The method as described in claim 1, characterized in that, The method includes: performing noise reduction processing on the original image to obtain a noise-reduced image; Determining the neighboring pixels corresponding to the pixel to be interpolated based on the second position includes: Based on the second position, determine the neighboring pixels of the pixel to be interpolated in the noise reduction map; and / or; The step of determining the second interpolation kernel based on the first estimated value of the pixel to be interpolated and the neighboring pixels corresponding to the pixel to be interpolated includes: The second interpolation kernel is determined based on the first estimated value and the neighboring pixels of the pixel to be interpolated in the noise reduction map.

3. The method as described in claim 1, characterized in that, The step of determining the second interpolation kernel based on the first estimated value of the pixel to be interpolated and the neighboring pixels corresponding to the pixel to be interpolated includes: The difference between a first estimated value of the pixel to be interpolated and the difference between each of the neighboring pixels is determined, and the second interpolation kernel is determined based on the difference; wherein the value of the second interpolation kernel is negatively correlated with the difference.

4. The method as described in claim 3, characterized in that, The second interpolation kernel is an exponential function with the difference as the variable.

5. The method as described in claim 1, characterized in that, The step of determining the third interpolation kernel based on the first interpolation kernel and the second interpolation kernel includes: Perform a first operation on the first interpolation kernel and the second interpolation kernel, and normalize the result of the first operation to obtain the third interpolation kernel; The first operation is either multiplication or addition.

6. An interpolation device, characterized in that, include: The first determining module is configured to determine, based on the first position of the pixel to be interpolated in the scaled image and the scaling ratio from the original image to the scaled image, the second position of the pixel to be interpolated in the original image; and to determine the neighboring pixels corresponding to the pixel to be interpolated based on the second position. The second determining module is used to determine the first interpolation kernel based on the first interpolation basis function and the neighboring pixels corresponding to the pixel to be interpolated; The third determining module is used to determine a first estimated value of the pixel to be interpolated based on the first interpolation kernel and the neighboring pixels corresponding to the pixel to be interpolated; and to determine a second interpolation kernel based on the first estimated value of the pixel to be interpolated and the neighboring pixels corresponding to the pixel to be interpolated. The fourth determining module is used to determine the third interpolation kernel based on the first interpolation kernel and the second interpolation kernel; The interpolation module is used to determine a second estimated value of the pixel to be interpolated based on the third interpolation kernel and the neighboring pixels corresponding to the pixel to be interpolated, and to perform interpolation based on the second estimated value to improve the continuity of pixel values.

7. The apparatus as claimed in claim 6, characterized in that, The device includes: a noise reduction module; The noise reduction module is used to perform noise reduction processing on the original image to obtain a noise-reduced image; The first determining module is further configured to determine the neighboring pixels corresponding to the pixel to be interpolated based on the second position using the following method: determining the neighboring pixels corresponding to the pixel to be interpolated in the noise reduction map based on the second position; and / or; The third determining module is further configured to determine a second interpolation kernel using the following method based on a first estimated value of the pixel to be interpolated and the neighboring pixels corresponding to the pixel to be interpolated: determining the second interpolation kernel based on the first estimated value and the neighboring pixels corresponding to the pixel to be interpolated in the noise reduction map.

8. The apparatus as claimed in claim 6, characterized in that, The third determining module is further configured to determine a second interpolation kernel using the following method based on the first estimated value of the pixel to be interpolated and the neighboring pixels corresponding to the pixel to be interpolated: determining the difference between the first estimated value of the pixel to be interpolated and each of the neighboring pixels, and determining the second interpolation kernel based on the difference; wherein the value of the second interpolation kernel is negatively correlated with the difference.

9. The apparatus as claimed in claim 8, characterized in that, The second interpolation kernel is an exponential function with the difference as the variable.

10. The apparatus as claimed in claim 6, characterized in that, The fourth determining module is further configured to determine the third interpolation kernel based on the first interpolation kernel and the second interpolation kernel using the following method: Perform a first operation on the first interpolation kernel and the second interpolation kernel, and normalize the result of the first operation to obtain the third interpolation kernel; The first operation is either multiplication or addition.

11. An interpolation device applied to a terminal, characterized in that, include: processor; Memory used to store processor-executable instructions; The processor is configured to execute executable instructions in the memory to implement the steps of the interpolation method according to any one of claims 1 to 5.

12. A non-transitory computer-readable storage medium having executable instructions stored thereon, characterized in that, When executed by a processor, the executable instructions implement the steps of the interpolation method according to any one of claims 1 to 5.