CN116071245B - Image processing method, device and system - Google Patents

Image processing method, device and system Download PDF

Info

Publication number
CN116071245B
CN116071245B CN202310357114.0A CN202310357114A CN116071245B CN 116071245 B CN116071245 B CN 116071245B CN 202310357114 A CN202310357114 A CN 202310357114A CN 116071245 B CN116071245 B CN 116071245B
Authority
CN
China
Prior art keywords
calculated
determining
data
original image
data set
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310357114.0A
Other languages
Chinese (zh)
Other versions
CN116071245A (en
Inventor
孙旭
周玉龙
刘刚
李拓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202310357114.0A priority Critical patent/CN116071245B/en
Publication of CN116071245A publication Critical patent/CN116071245A/en
Application granted granted Critical
Publication of CN116071245B publication Critical patent/CN116071245B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

The invention provides an image processing method, device and system, relating to the field of image processing, wherein the method comprises the following steps: reading all original image data in the current cache array; determining a first data set to be calculated from all the original image data according to the current reading address; determining an output value of the pixel point to be calculated according to the first data set to be calculated; the current reading address is determined according to the coordinate mapping of the pixel point to be calculated in the original image data; the coordinates of the pixel points to be calculated are determined according to the coordinates of the pixel points of the original image and the image scaling; the image scaling is determined based on the image resolution to be scaled and the original image resolution. The invention can simplify the processes of image data reading and caching, calculate the output value of the pixel point to be calculated based on the interpolation of the caching unit, reduce the storage resource and improve the processing performance of image scaling.

Description

Image processing method, device and system
Technical Field
The present invention relates to the field of image processing, and in particular, to an image processing method, apparatus, and system.
Background
When the image is scaled, an interpolation matrix of the pixel point needs to be found, and the process of searching and reading the interpolation matrix consumes a great amount of hardware resources in the whole image scaling process, so that the performance of a scaling algorithm is seriously affected.
Disclosure of Invention
The invention provides an image processing method, an image processing device and an image processing system, which are used for solving the problems of large consumption of hardware resources and performance degradation caused by calculating and acquiring an interpolation matrix in the image scaling process of the related technology, and provides a technical scheme adopting different scaling strategies according to different scaling ratios.
In a first aspect, the present invention provides an image processing method, including:
reading all original image data in the current cache array;
determining a first data set to be calculated from all the original image data according to the current reading address;
determining an output value of the pixel point to be calculated according to the first data set to be calculated;
the current reading address is determined according to the coordinate mapping of the pixel point to be calculated in the original image data;
the coordinates of the pixel points to be calculated are determined according to the coordinates of the pixel points of the original image and the image scaling;
The image scaling is determined based on the image resolution to be scaled and the original image resolution.
According to the image processing method provided by the invention, before all original image data in the current cache array are read, the method further comprises the following steps:
determining target image data corresponding to the current reading address from a memory according to the size relation between the image scaling and the preset scaling;
and reading the target image data to a current line cache unit in a current cache array.
According to the image processing method provided by the invention, before reading the target image data to a current line cache unit in a current cache array, the method further comprises:
determining the preset data capacity of a line cache unit according to the maximum image scaling factor, preset parameters, cache space coefficients and pixel value depth;
and constructing a cache array according to the preset number of the line cache units.
According to the image processing method provided by the invention, after reading the target image data to a current line cache unit in a current cache array, the method comprises the following steps:
determining a previous line reading address according to the difference between the current reading address and the line length corresponding to the original image, and reading original image data with preset data capacity from a memory according to the previous line reading address to a previous line cache unit in the current cache array;
Determining a next line reading address according to the sum of the current reading address and the line length corresponding to the original image, and reading original image data with preset data capacity from a memory according to the next line reading address to a next line cache unit in the current cache array;
and determining two later rows of reading addresses according to the sum of the two later rows of reading addresses and the row data length corresponding to the original image, and reading original image data with preset data capacity from a memory according to the two later rows of reading addresses to two later rows of cache units in the current cache array.
According to the image processing method provided by the invention, after reading the target image data to a current line cache unit in a current cache array, the method further comprises the following steps:
determining a next reading address according to the current reading address, the length of the preset data capacity and a first preset constant;
and reading the original image data with preset data capacity from the memory according to the next reading address to a next cache array.
According to the image processing method provided by the invention, the determining the next reading address according to the current reading address, the length of the preset data capacity and the first preset constant comprises the following steps:
Determining a correction value to be corrected according to the sum of the current read address and the length of the preset data capacity;
determining a value to be aligned according to the difference between the value to be corrected and the first preset constant;
determining any value to be determined as a multiple of 4 as the next read address;
the value to be determined comprises the value to be aligned, a value of which the value to be aligned takes 1 unit downwards, a value of which the value to be aligned takes 2 units downwards and a value of which the value to be aligned takes 3 units downwards.
According to the image processing method provided by the invention, after the original image data with preset data capacity is read from the memory according to the next read address to the next cache array, the method further comprises the following steps:
after determining the output value of the pixel point to be calculated according to a first data set to be calculated, reading the original image data with the preset data capacity from the memory according to a first target reading address to the current cache array;
the first target read address is a next read address subsequent to the next read address.
According to the image processing method provided by the invention, the determining target image data corresponding to the current reading address from the memory according to the size relation between the image scaling and the preset scaling comprises the following steps:
Determining the original image data with preset data capacity in the memory as the target image data corresponding to the current reading address under the condition that the image scaling is smaller than or equal to the preset scaling;
when the image scaling is larger than the preset scaling, determining the extracted original image data with the second preset length as the target image data corresponding to the current reading address after the image data with the first preset length are in the memory at intervals;
the first preset length is smaller than the second preset length.
According to the image processing method provided by the invention, under the condition that the image scaling is smaller than or equal to the preset scaling, after all original image data in the current cache array are read, the method further comprises the following steps:
reading all original image data in a next cache array, and constructing a data set to be processed according to the original image data corresponding to the current cache array and the original image data corresponding to the next cache array;
determining a second data set to be calculated corresponding to the pixel point to be calculated from the data sets to be processed according to the current reading address;
And processing the second data set to be calculated according to the first calculation unit, and determining the output value of the pixel point to be calculated.
According to the image processing method provided by the invention, after determining a second data set to be calculated corresponding to the pixel point to be calculated from the data sets to be processed according to the current read address, the method further comprises the following steps:
determining a third data set to be calculated corresponding to a next pixel point to be calculated from the data sets to be processed according to the next read address at intervals of preset time length;
and processing the third data set to be calculated according to a second calculation unit, and determining the output value of the next pixel point to be calculated.
According to the image processing method provided by the invention, after determining a third data set to be calculated corresponding to a next pixel point to be calculated from the data sets to be processed according to the next read address, the method further comprises the following steps:
under the condition that a target to-be-calculated data set corresponding to a target to-be-calculated pixel point is in the to-be-processed data set, a preset time is set at intervals, and the target to-be-calculated data set corresponding to the target to-be-calculated pixel point is determined from the to-be-processed data set according to a first target reading address;
processing the target data set to be calculated according to a third calculation unit, and determining an output value of the target pixel point to be calculated;
The target pixel point to be calculated is the next pixel point to be calculated after the next pixel point to be calculated.
According to the image processing method provided by the invention, after determining a third data set to be calculated corresponding to a next pixel point to be calculated from the data sets to be processed according to the next read address, the method further comprises the following steps:
under the condition that a target data set to be calculated corresponding to a target pixel to be calculated is not in the data set to be processed, reading all original image data in a target cache array, and constructing an updated data set according to the original image data corresponding to the next cache array and the original image data corresponding to the target cache array;
and determining a target to-be-calculated data set corresponding to the target to-be-calculated pixel point from the updated data set according to a first target reading address at intervals for a preset time period, processing the target to-be-calculated data set according to a third calculation unit, and determining an output value of the target to-be-calculated pixel point.
According to the image processing method provided by the invention, under the condition that the image scaling is larger than the preset scaling, after all original image data in the current cache array are read, the method further comprises the following steps:
And determining a fourth data set to be calculated from all original image data according to the current reading address, processing the fourth data set to be calculated according to the first calculating unit, and determining an output value corresponding to the fourth data set to be calculated.
According to the image processing method provided by the invention, after determining the output value corresponding to the fourth data set to be calculated, the method further comprises the following steps:
and determining a fifth data set to be calculated from all the original image data according to the next read address at intervals of preset time, processing the fifth data set to be calculated according to a second calculation unit, and determining an output value corresponding to the fifth data set to be calculated.
According to the image processing method provided by the invention, after determining the output value corresponding to the fifth data set to be calculated, the method further comprises the following steps:
the preset time is spaced, a sixth data set to be calculated is determined from all the original image data according to a second target reading address, the sixth data set to be calculated is processed according to a third calculation unit, and an output value corresponding to the sixth data set to be calculated is determined;
the second target read address is a next read address after the next read address.
According to the image processing method provided by the invention, after determining the output value corresponding to the sixth data set to be calculated, the method further comprises:
determining a seventh to-be-calculated data set from all original image data according to a third target reading address, processing the seventh to-be-calculated data set according to the first calculation unit, and determining an output value corresponding to the seventh to-be-calculated data set;
the third target read address is the next read address after the second target read address.
According to the image processing method provided by the invention, the first data set to be calculated is a preset interpolation matrix;
the preset interpolation matrix is constructed by taking the coordinates of the pixel points to be calculated as central points;
the side length of the preset interpolation matrix is a second preset constant.
According to the image processing method provided by the invention, the determining the output value of the pixel point to be calculated according to the first data set to be calculated comprises the following steps:
determining the horizontal distance or the vertical distance between each pixel point in the preset interpolation matrix and the pixel point to be calculated;
processing the horizontal distance or the vertical distance between each pixel point and the pixel point to be calculated according to a preset formula, and determining an influence factor corresponding to each pixel point;
For any pixel point, determining an influence value of the pixel point according to the pixel value of the pixel point and an influence factor corresponding to the pixel point;
traversing all the pixel points, and determining each influence value of all the pixel points;
and determining the output value of the pixel point to be calculated according to the sum of each influence value of all the pixel points.
In a second aspect, there is provided an image processing apparatus including:
a reading unit: the method is used for reading all original image data in the current cache array;
a first determination unit: the first data set to be calculated is determined from all the original image data according to the current reading address;
a second determination unit: the method comprises the steps of determining an output value of a pixel point to be calculated according to a first data set to be calculated;
the current reading address is determined according to the coordinate mapping of the pixel point to be calculated in the original image data;
the coordinates of the pixel points to be calculated are determined according to the coordinates of the pixel points of the original image and the image scaling;
the image scaling is determined based on the image resolution to be scaled and the original image resolution.
In a third aspect, there is provided an image processing system comprising:
A memory for storing original image data;
the scaling unit is used for determining an image scaling ratio according to the resolution of the image to be scaled and the resolution of the original image;
an acquisition unit for acquiring the data capacity of the buffer unit;
a buffer unit for reading the original image data from the memory;
the computing module is used for determining the output value of the pixel point to be computed;
the image processing device is also included.
The image processing system provided by the invention further comprises: the cache units are two cache arrays, wherein each cache array comprises four line cache units;
the computing module at least comprises a first computing unit, a second computing unit and a third computing unit.
The invention provides an image processing method, device and system, which are used for determining an image scaling ratio according to the resolution of an image to be scaled and the resolution of an original image, determining the coordinates of a pixel point to be calculated according to the coordinates of the pixel point of the original image and the image scaling ratio, determining the current reading address according to the coordinate mapping of the pixel point to be calculated in the original image data, and reading all original image data in a current cache array; determining a first data set to be calculated from all the original image data according to the current reading address; according to the first data set to be calculated, the output value of the pixel to be calculated is determined, the image data reading and caching processes can be simplified, the output value of the pixel to be calculated is calculated based on interpolation of the caching unit, storage resources are reduced, and image scaling processing performance is improved.
Drawings
In order to more clearly illustrate the invention or the technical solutions of the prior art, the following description will briefly explain the drawings used in the embodiments or the description of the prior art, and it is obvious that the drawings in the following description are some embodiments of the invention, and other drawings can be obtained according to the drawings without inventive effort for a person skilled in the art.
FIG. 1 is a schematic flow chart of an image processing method according to an embodiment of the present invention;
FIG. 2 is a second flowchart of an image processing method according to an embodiment of the present invention;
FIG. 3 is a third flowchart of an image processing method according to an embodiment of the present invention;
FIG. 4 is a flowchart of an image processing method according to an embodiment of the present invention;
FIG. 5 is a flowchart of an image processing method according to an embodiment of the present invention;
FIG. 6 is a flowchart illustrating a method for determining a next read address according to an embodiment of the present invention;
FIG. 7 is a schematic flow chart of determining target image data according to an embodiment of the present invention;
FIG. 8 is a flowchart of an image processing method according to an embodiment of the present invention;
FIG. 9 is a flowchart of an image processing method according to an embodiment of the present invention;
FIG. 10 is a flowchart illustrating an image processing method according to an embodiment of the present invention;
FIG. 11 is a flowchart illustrating a method of image processing according to an embodiment of the present invention;
FIG. 12 is a flowchart of determining an output value of a pixel to be calculated according to the present invention;
fig. 13 is a schematic structural view of an image processing apparatus provided by the present invention;
FIG. 14 is a schematic diagram of an image processing system provided by the present invention;
FIG. 15 is a schematic diagram of a storage mode of an image in a memory according to the present invention;
FIG. 16 is a schematic diagram of a bicubic interpolation matrix provided by the present invention;
fig. 17 is a schematic structural diagram of an electronic device provided by the present invention.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the present invention more apparent, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings, and it is apparent that the described embodiments are some embodiments of the present invention, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
Image scaling belongs to the image compression part in the image processing technology, and refers to the process of reducing the size of an image or adjusting the method, sampling the pixel value of an original image, reconstructing the pixel value according to the actual size requirement and outputting a new image. During image scaling, an interpolation matrix is found according to the scaling ratio and an original image, then approximate calculation is performed according to a specific interpolation algorithm, related technologies comprise a nearest neighbor method, a bilinear interpolation method, a bicubic interpolation method and the like, however, during image scaling, the interpolation matrix of pixel points needs to be found, and a large amount of hardware resources are consumed in the whole image scaling process in the process of searching and reading the interpolation matrix, so that the performance of the scaling algorithm is seriously affected. In order to solve the above technical problems, an embodiment of the present invention provides an image processing method, and fig. 1 is one of flow diagrams of the image processing method provided in the embodiment of the present invention, which is used for implementing data reading and interpolation calculation on original image data in a cache array, and specifically includes:
step 101, reading all original image data in a current cache array;
step 102, determining a first data set to be calculated from all the original image data according to the current reading address;
Step 103, determining an output value of the pixel point to be calculated according to the first data set to be calculated;
the current reading address is determined according to the coordinate mapping of the pixel point to be calculated in the original image data;
the coordinates of the pixel points to be calculated are determined according to the coordinates of the pixel points of the original image and the image scaling;
the image scaling is determined based on the image resolution to be scaled and the original image resolution.
In step 101, all original image data in the current cache array are read, and according to the corresponding relation between the image scaling and the preset scaling when the image is scaled, different interpolation operation methods are selected, so that storage resources are reduced, and image scaling performance is improved.
In step 102, the current read address is determined according to the coordinate mapping of the pixel to be calculated in the original image data, and the first data set to be calculated is determined from all the original image data according to the current read address, where the current read address is used for calculating the pixel to be calculated, and the first data set to be calculated corresponding to the current read address exists in the current cache array, and in an optional embodiment, the first data set to be calculated in the present invention is an interpolation matrix of 4*4, and is used for calculating the output value of the pixel to be calculated.
In step 103, the output value of the pixel to be calculated is determined according to the first data set to be calculated, and the influence value of surrounding pixels of the pixel to be calculated can be determined by adopting a bicubic interpolation method, so that the pixel to be calculated is determined according to the coordinates of the pixel of the original image and the image scaling.
As one embodiment of the present invention, the first data set to be calculated is a preset interpolation matrix;
the preset interpolation matrix is constructed by taking the coordinates of the pixel points to be calculated as central points;
the side length of the preset interpolation matrix is a second preset constant.
The first data set to be calculated is a preset interpolation matrix, the preset interpolation matrix may be a matrix of 2 x 2, a matrix of 4*4 or a higher dimension matrix, the preset interpolation matrix is constructed by taking coordinates of the pixel points to be calculated as a center point, as shown in fig. 16, a side length of the preset interpolation matrix is a second preset constant, the second preset constant may be 4, it is understood by a person skilled in the art that the second preset constant may be adjusted according to an actual requirement, in a process of adjusting the second preset constant, in fact, in the present invention, a capacity of a cache array, a number of cache arrays, a number of calculation units for interpolation calculation, and the like may all be changed according to adjustment of the second preset constant, a number of generated sets of interpolation calculation units and a number of cache lines are all related to a method of interpolation calculation, as shown in fig. 16, the more clock periods required for calculation are calculated, the larger interpolation units and the cache lines theoretically need to be generated to ensure complete flow calculation, for example, in a bilinear interpolation method, in which the two-line interpolation matrix 2 needs to be calculated, each cache matrix 2, and each cache line 2 needs to be calculated, and only two cache line groups of units need to be calculated.
More specifically, when performing the interpolation calculation in step 103, the more interpolation reference points, that is, the more surrounding pixel points of the pixel point to be calculated, the more the pixel points are, the better the calculation is, for example, the 16 reference points are needed for the bicubic interpolation method, the cubic equation calculation coefficient is performed, and a very good effect can be obtained, but because the calculation process is complicated, the whole calculation process is completed in a plurality of clock cycles, the performance is reduced, and the fewer the interpolation reference points, that is, the fewer the surrounding pixel points of the pixel point to be calculated, the higher the calculation performance is, but a certain error influence may be generated on the calculation result, and particularly, how to select the second preset constant.
The invention provides an image processing method, device and system, which are used for determining an image scaling ratio according to the resolution of an image to be scaled and the resolution of an original image, determining the coordinates of a pixel point to be calculated according to the coordinates of the pixel point of the original image and the image scaling ratio, determining the current reading address according to the coordinate mapping of the pixel point to be calculated in the original image data, and reading all original image data in a current cache array; determining a first data set to be calculated from all the original image data according to the current reading address; according to the first data set to be calculated, the output value of the pixel to be calculated is determined, the image data reading and caching processes can be simplified, the output value of the pixel to be calculated is calculated based on interpolation of the caching unit, storage resources are reduced, and image scaling processing performance is improved.
Fig. 2 is a second flowchart of an image processing method according to an embodiment of the present invention, before reading all original image data in a current cache array, further including:
step 201, determining target image data corresponding to a current reading address from a memory according to the size relation between the image scaling and a preset scaling;
Step 202, reading the target image data to a current line cache unit in a current cache array.
In step 201, the present invention can first determine the image scaling according to the resolution of the image to be scaled and the resolution of the original image, and compare the magnitude relation between the image scaling and the preset scaling, where the manner of determining the target image data corresponding to the current read address from the memory is different when the magnitude relation between the image scaling and the preset scaling is different.
In step 202, after determining the target image data corresponding to the current reading address, the target image data is read to the current line cache unit in the current cache array, so as to complete the data caching of the current line cache unit in the current cache array.
Fig. 3 is a third flowchart of an image processing method according to an embodiment of the present invention, before reading the target image data to a current line buffer unit in a current buffer array, further including:
step 301, determining the preset data capacity of a line cache unit according to an image maximum scaling factor, a preset parameter, a cache space coefficient and a pixel value depth;
Step 302, constructing a cache array according to a preset number of the line cache units.
In step 301, the preset data capacity of the line buffer unit is determined according to the product of the maximum scaling factor of the image, the preset parameter, the buffer space factor and the depth of the pixel value, and when the image is scaled, in order to ensure the effect of scaling the image, the maximum scale or the minimum scale of the scaling is generally set, for example, the maximum scaling factor s_max is 8, i.e. the maximum scaling factor s_max needs to be 8 times of the original image, and the minimum scaling factor s_max is 0.5, i.e. the minimum scaling factor s_max needs to be 0.5 times of the original image. The capacity of the line Buffer unit in the present invention is at least sc_buffer=s_max_4xco_read_pixel_depth, where co_read is a Buffer space coefficient, and the larger the value thereof is, the larger the Buffer space is, the larger the resource consumption is, generally, between 2 and 4, and in the present invention, the optional is 2; pixel_depth is the Depth of a Pixel value, and represents the space required for storing a Pixel, for example, the space occupied by the commonly used RGB565 format is 2 bytes, and sc_buffer is 8×4×2×2=128 bytes.
In step 302, the preset number may be 2 or may be 4. When generating the row Buffer unit, the invention uses a dual-port random access memory RAM, the data bit width of the random access memory RAM is 4 times pixel_depth, namely 8Byte, and the depth is Sc_buffer/(4 times pixel_depth) =16. In the present invention, alternatively, two sets of cache arrays are generated, each set comprising 4 line cache units, respectively denoted as M0-line_1, M0-line_2, M0-line_3, M0-line_4, M1-line_1, M1-line_2, M1-line_3, and M1-line_4, each line cache unit having a dual-port RAM specification.
As one embodiment of the invention, the current cache array read address M0_ADDR represents the starting address of the current cache array in the memory for reading the original image data, and the read original image data are written into M0-line_1, M0-line_2, M0-line_3 and M0-line_4; the next cache array read address m1_addr indicates the start address of the next cache array to read the original image data in the memory, and the read data are written in M1-line_1, M1-line_2, M1-line_3, and M1-line_4.
Fig. 4 is a flowchart of a method for processing an image according to an embodiment of the present invention, after reading the target image data to a current line buffer unit in a current buffer array, the method includes:
step 401, determining a previous line reading address according to the difference between the current reading address and the line length corresponding to the original image, and reading original image data with a preset data capacity from a memory according to the previous line reading address to a previous line cache unit in the current cache array;
step 402, determining a next line reading address according to the sum of the current reading address and the line length corresponding to the original image, and reading original image data with preset data capacity from a memory according to the next line reading address to a next line cache unit in the current cache array;
And step 403, determining two subsequent lines of read addresses according to the sum of the two subsequent lines of read addresses and the line data length corresponding to the original image, and reading original image data with preset data capacity from a memory according to the two subsequent lines of read addresses to two subsequent lines of cache units in the current cache array.
In order to better describe the technical solution of the present invention, the present invention takes the preset number as 4 as an example, and in the case that the preset number is 4, the present invention actually adopts bicubic interpolation, and after the original image data with the preset data capacity is read from the memory according to the current read address to the current line cache unit in the current cache array, only the acquisition of the original image data of the current line where the pixel point to be calculated is located is completed, and in conjunction with fig. 16, in fact, in the case that bicubic interpolation is adopted, the original image data of the previous line, the next line and the next two lines where the pixel point to be calculated is located need to be acquired.
In step 401, the line data length corresponding to the original image is the address space occupied by each line of the original image, and fig. 15 is a schematic diagram of the storage mode of the image in the memory provided by the present invention, as shown in fig. 15, the line data length of each line is the same, for example, the address space occupied by each line of the original image is 3840 bytes, and for example, the address space occupied by each line of the original image is 5760 bytes.
At this time, if the current read address is 3878, and the address space occupied by each line of the original image is 3840Byte, determining a previous line read address according to the difference between the current read address and the line length corresponding to the original image, where the previous line read address is 38, and reading the original image data with a preset data capacity from the memory to the previous line cache unit in the current cache array according to the previous line read address 38.
In step 402, a next line read address is determined according to the sum of the current read address and the line length corresponding to the original image, where the next line read address is 7718, and original image data with a preset data capacity is read from the memory to a next line cache unit in the current cache array according to the next line read address 7718.
In step 403, the two-line read addresses are determined according to the sum of the two-line read addresses and the line length corresponding to the original image, and in combination with the two-line read address 7718 in step 302, the two-line read addresses 11558, the original image data with the preset data size is read from the memory to the two-line cache units in the current cache array according to the two-line read addresses 11558.
Fig. 5 is a fifth flowchart of an image processing method according to an embodiment of the present invention, after reading the target image data to a current line buffer unit in a current buffer array, further including:
step 501, determining a next read address according to the current read address, the length of the preset data capacity and a first preset constant;
step 502, reading the original image data with a preset data capacity from the memory according to the next reading address to a next cache array.
As an alternative embodiment of the present invention, after the storage of the current read address in the current buffer array for all the original image data corresponding to the pixel to be calculated in the current buffer array is completed, the present invention also provides a method for calculating the next pixel to be calculated after scaling, however, before calculating the next pixel to be calculated, the next read address of the original image data with the preset data capacity needs to be determined first, and then the next read address is stored in the next buffer array.
In step 501, the length of the preset data capacity may be the capacity of the line buffer unit, for example 128 bytes, and the first preset constant may optionally be 1, where, in conjunction with fig. 16, since there is still a pixel before the position of the line where the pixel point P to be calculated is located, when the interpolation matrix of the next pixel point corresponding to the next read address actually performs the acquisition of the original image data, it also considers a pixel before the position where the next pixel point to be calculated is located, so that it is required to start the acquisition of the original image data from the previous bit of the position where the next pixel point to be calculated is located, in an alternative embodiment, it is required to subtract the first preset constant according to the sum of the lengths of the current read address and the preset data capacity, so as to determine the next read address, and if the current read address is 2, the next read address is 129.
In step 502, since the calculation is performed on the interpolation matrix of the pixel to be calculated next, all the original image data related to the pixel to be calculated next is required to be stored in the next buffer array, and then the original image data with the preset data capacity is read from the memory to the next buffer array according to the next read address.
Fig. 6 is a schematic flow chart of determining a next read address according to the present read address, a length of a preset data capacity, and a first preset constant, where the determining the next read address includes:
step 5011, determining a correction value to be corrected according to the sum of the current read address and the length of the preset data capacity;
step 5012, determining a value to be aligned according to the difference between the value to be corrected and the first preset constant;
step 5013, determining any value to be determined as a multiple of 4 as the next read address;
the value to be determined comprises the value to be aligned, a value of which the value to be aligned takes 1 unit downwards, a value of which the value to be aligned takes 2 units downwards and a value of which the value to be aligned takes 3 units downwards.
In step 5011, if the current read address is 4 and the length of the preset data capacity is 128, the position corresponding to the to-be-corrected value is determined to be 132 according to the sum of the current read address and the length of the preset data capacity.
In step 5012, if the first preset constant is 1, determining a value to be aligned according to the difference between the value to be corrected and the first preset constant, where the value to be aligned is 131.
In step 5013, in order to further improve the reading efficiency of the present application, the present invention may perform an alignment process on the to-be-aligned value, specifically, first determine a to-be-determined value, where the to-be-determined value includes the to-be-aligned value, the to-be-aligned value takes down a value of 1 unit, the to-be-aligned value takes down a value of 2 units, and the to-be-aligned value takes down a value of 3 units, and then corresponds to 131, where the to-be-determined value is 131, 130, 129, and 128, and at this time, since 128 is a multiple of 4, it is determined that 128 is the next reading address.
As one embodiment of the present invention, after reading the original image data of a preset data size from the memory to a next buffer array according to the next read address, the method further includes:
After determining the output value of the pixel point to be calculated according to a first data set to be calculated, reading the original image data with the preset data capacity from the memory according to a first target reading address to the current cache array;
the first target read address is a next read address subsequent to the next read address.
After original image data with preset data capacity is read from a memory to a next cache array according to a next read address, the storage of the pixel points to be calculated in the current cache array and the storage of the pixel points to be calculated in the next cache array are completed.
So the first target read address is the next read address after the next read address, in an alternative embodiment, first, the read DDR address operation of the center line is performed, the corresponding burst length is calculated, then the corresponding data of the previous line, the next line and the next two lines are sequentially read, and the read data is written into M0-line_2, M0-line_1, M0-line_3, and M0-line_4. In the implementation of the reading process of the two cache arrays, a ping-pong operation mode is used, namely, firstly, data is read and written into the current cache array at the beginning, then, a later interpolation calculation unit fetches data from the current cache array and calculates, at the moment, the next group of data to be calculated is synchronously read and written into the next cache array, for example, firstly, 4 rows of original image data are read, each row comprises data of 64 pixel points and written into the current cache array, after all the data in the group are written into, the subsequent interpolation calculation is started, meanwhile, the reading of 4 rows of original image data corresponding to the pixel points to be calculated is started, each row comprises data of 64 pixel points and written into the next cache array, after all the data in the current cache array are calculated, the calculation is started to be started from the next cache array, and meanwhile, the original image data corresponding to the pixel points to be calculated after the pixel points to be calculated are read are written into the current cache array, so that the ping-pong operation is realized.
Fig. 7 is a schematic flow chart of determining target image data according to an embodiment of the present invention, where determining target image data corresponding to a current reading address from a memory according to a size relationship between an image scaling and a preset scaling includes:
step 2011, determining the original image data with preset data capacity in the memory as the target image data corresponding to the current reading address under the condition that the image scaling is smaller than or equal to the preset scaling;
step 2012, determining the extracted original image data with the second preset length as the target image data corresponding to the current reading address after the image data with the first preset length is separated from the memory in each interval in the case that the image scaling is larger than the preset scaling;
the first preset length is smaller than the second preset length.
In step 2011, the present invention may determine to zoom in or zoom out an image according to an actual requirement, where the image scaling is a scaling, coefficient or multiple of zooming in or out, for example, zooming in the image, if the preset scaling is 4 and the image scaling of zooming in the image is 2.6, the image scaling is smaller than or equal to the preset scaling.
The current reading address is determined according to the coordinate mapping of the pixel to be calculated in the original image data, the pixel to be calculated is the pixel corresponding to the scaled image, however, before scaling, the pixel can be understood as a virtual pixel which corresponds to the corresponding original image data in the memory, and the coordinate of the pixel to be calculated can be determined according to the coordinate position and the scaling of each pixel in the original image.
As an embodiment of the present invention, the memory is a Double Data Rate (DRR) synchronous dynamic random access memory.
The coordinates of the pixel points to be calculated are determined according to the coordinates of the pixel points of the original image and the image scaling, the image scaling is determined according to the image resolution to be scaled and the original image resolution, when the image scaling operation is actually executed, the image resolution to be scaled and the original image resolution need to be configured, and then scaling factors, namely the image scaling, are calculated according to the quotient of the two, wherein in the actual scaling process, the image scaling comprises the image scaling in the horizontal direction and the image scaling in the vertical direction, the image scaling is larger than 1, the image scaling is regarded as the amplifying operation at the moment, and the image scaling is smaller than 1, and the image scaling is regarded as the shrinking operation.
As shown in fig. 16, fig. 16 is a schematic diagram of a bicubic interpolation matrix provided by the present invention, assuming that the size of the original image data a is m×n, the size of the scaled image B is m×n, and according to the scaled size ratio, the corresponding coordinates of B (X, Y) on the original image data a are a (X, Y) =a (x×m), y×n/N), in the related art bicubic interpolation method, the nearest four points of a (X, Y) are selected, and in the bicubic (bicubic) interpolation method in the present invention, the nearest 16 pixel points are selected as parameters for calculating the pixel value at the target image B (X, Y), and these parameters are constructed as the interpolation matrix.
As shown in fig. 16, the pixel point P to be calculated is the position of the target image B corresponding to the original image data a at (X, Y), the coordinate position of P will have a fractional part, and the coordinates of P are assumed to be P (x+u, y+v), where X and Y respectively represent integer parts of the coordinates, u and v respectively represent fractional parts of the coordinates, and the positions of the nearest 16 pixels of the pixel point P to be calculated are shown in fig. 16.
Further, original image data with preset data capacity is read from a memory according to a current reading address to a current line cache unit in a current cache array, the memory is used for storing the original image data, the preset data capacity is determined according to the maximum storage capacity of the current line cache unit, in the current line cache unit in the current cache array, because the image scaling is smaller than or equal to the preset scaling, each pixel point in the original image data participates in interpolation matrix calculation of a pixel point to be calculated subsequently, and some pixel points may participate in calculation for a plurality of times, so that in order to reduce the storage capacity in the cache unit, a form of taking all space data amounts of the current line cache unit in the current cache array at one time can be adopted, and when the original image data is read from the current line cache unit subsequently, the acquisition of the current line data corresponding to the pixel point to be calculated can also be realized through the current reading address.
In step 2012, when the image scaling is greater than the preset scaling, it is considered that the image scaling is greater at this time, and at this time, because the distance between two adjacent pixels to be calculated is greater when the pixels to be calculated are calculated, so that some pixels in the original image data do not participate in the calculation of the pixels to be calculated, at this time, it is not necessary to acquire all pixel data in the original image data, only the target image data is required to be extracted until the current line buffer unit in the current buffer array is filled, where the target image data is determined by extracting the original image data with a second preset length after the image data with a first preset length is separated in the memory, and the first preset length is smaller than the second preset length.
As an embodiment of the present invention, the first preset length is 1, and the second preset length is 4, in this embodiment, the preset scaling is 4, that is, in the case that the horizontal scaling factor or the vertical scaling factor of the image scaling is greater than 4, that is, scaling is performed in the horizontal direction, the scaling multiple is greater, or scaling is performed in the vertical direction, the scaling multiple is greater, if scaling is performed in the amplifying process, the data of 4 pixels is read from the memory at this time, after one pixel data is spaced, the data of 4 pixels is read from the memory, then one pixel data is spaced, and then the data of 4 pixels is read from the memory, for the current line buffer unit in the current buffer array, the data of 4 pixels is read from the memory for storage every time until the current line buffer unit in the current buffer array is filled.
If the capacity of the line buffer unit is 128Byte, the total capacity of 4 pixel points is 8Byte, and at this time, the line buffer unit needs to be continuously read 16 times until the current line buffer unit is fully written. In an alternative embodiment, data with a capacity of 4 pixels is fixedly read at a time, namely 8 bytes, if the current read address is 8, the address of the first read data is 7, the read address of the next pixel to be calculated is 7 and the sum of the image scaling, for example, the image scaling is 8, the current read address is 24, the data is continuously fetched for 8 times, the first read address is 23, the second read address is 31, the third read address is 39, and so on.
In general, when obtaining an interpolation matrix of pixels to be calculated, a line buffer and a column buffer are generally adopted, for example, when using a bicubic interpolation method, the interpolation matrix is 4*4, and 16 pixels are added, when obtaining the interpolation matrix, at least 4 relevant complete lines of original image data need to be stored in a line buffer unit, and then the corresponding interpolation matrix is taken out according to the position of the actual interpolation point and used for calculating the subsequent interpolation matrix. In an alternative embodiment, taking 1920×1080 resolution images as an example, the images are in RGB888 format, and storing 4-row images requires 1920×4×3 bytes, that is 23040 bytes, which is, storage resources of 23040 bytes, however, in the actual hardware operation process, since the required row storage resources are generally more than or even multiple times of the above calculated values, the row storage units occupy a large amount of chip area or chip resources and increase chip power consumption. Meanwhile, the method has wide applicability and is suitable for a plurality of interpolation schemes such as nearest neighbor interpolation, bilinear interpolation, bicubic interpolation and the like.
Fig. 8 is a flowchart of an image processing method according to an embodiment of the present invention, where, in a case where an image scaling is less than or equal to a preset scaling, after all original image data in a current cache array is read, the method further includes:
step 601, reading all original image data in a next cache array, and constructing a data set to be processed according to the original image data corresponding to the current cache array and the original image data corresponding to the next cache array;
step 602, determining a second data set to be calculated corresponding to the pixel point to be calculated from the data sets to be processed according to the current read address;
and 603, processing the second data set to be calculated according to the first calculation unit, and determining the output value of the pixel point to be calculated.
Under the condition that the image scaling is smaller than or equal to the preset scaling, namely the image scaling is smaller, at this moment, because the cache mode in the step 2011 is adopted, in the step 601, all original image data in the current cache array is read first, then all original image data in the next cache array is read, a data set to be processed is constructed according to the original image data corresponding to the current cache array and the original image data corresponding to the next cache array, and because the original image data of 4*4 is stored in the current cache array, the original image data of 4*4 is also stored in the next cache array, and after the original image data in the two cache arrays are read, the original image data of 4*8 is formed, namely the data set to be processed.
In step 602, a second data set to be calculated corresponding to the pixel to be calculated is determined from the data sets to be processed according to the current read address, for example, the row data of the pixel to be calculated in the second data set to be calculated is 0, 1, 2, 3 according to the row data of the pixel to be calculated.
In step 603, the output value of the pixel to be calculated is determined according to the second data set to be calculated processed by the first calculating unit, at this time, the data of the row of the pixel to be calculated, the data of the row before the pixel to be calculated, the data of the row after the pixel to be calculated, and the data of the two rows after the pixel to be calculated form the second data set to be calculated, and the second data set to be calculated is processed, so that the output value of the pixel to be calculated can be determined.
Fig. 9 is a flowchart of an image processing method according to an embodiment of the present invention, after determining, from the to-be-processed data sets, a second to-be-calculated data set corresponding to the to-be-calculated pixel point according to the current read address, the method further includes:
step 701, determining a third data set to be calculated corresponding to a next pixel point to be calculated from the data sets to be processed according to a next read address at intervals of preset time length;
Step 702, determining an output value of the next pixel point to be calculated according to the third data set to be calculated processed by the second calculating unit.
In step 701, since the data set to be processed is the data set of 4*8, in the case that the image scaling is smaller than or equal to the preset scaling, and there are 8 pixel data in a row, and four pixel data are taken at a time, the data set of 4*8 may be used for interpolation calculation of at least two pixels to be calculated, so after a preset time interval, a third data set corresponding to the next pixel to be calculated is determined from the data sets to be processed according to the next read address, and since the next read address has a corresponding relationship with the third data set to be calculated, in the present invention, interpolation calculation of at least two pixels to be calculated can be implemented when the data set to be processed is obtained once, for example, the data of the pixels to be calculated in the second data set to be calculated are 1, 2, 3, and 4, and the data of the pixels to be calculated in the third data set to be calculated are 4, 5, 6, and 7, thereby improving the operation efficiency and scaling performance.
In step 702, three calculation units are optionally provided, the output value of the pixel to be calculated is determined according to the second data set to be calculated processed by the first calculation unit, and the output value of the next pixel to be calculated is determined according to the third data set to be calculated processed by the second calculation unit.
Fig. 10 is a flowchart illustrating an image processing method according to an embodiment of the present invention, after determining a third to-be-calculated data set corresponding to a next to-be-calculated pixel point from the to-be-calculated data sets according to a next read address, the method further includes:
step 801, determining a target to-be-calculated data set corresponding to a target to-be-calculated pixel point from the to-be-processed data set according to a first target reading address at intervals of a preset duration when the target to-be-calculated data set corresponding to the target to-be-calculated pixel point is in the to-be-processed data set;
step 802, processing the target to-be-calculated data set according to a third calculation unit, and determining an output value of the target to-be-calculated pixel point;
the target pixel point to be calculated is the next pixel point to be calculated after the next pixel point to be calculated.
In step 801, it is required to determine whether a target to-be-calculated data set corresponding to a target to-be-calculated pixel point is in the to-be-processed data set, if the target to-be-calculated data set corresponding to the target to-be-calculated pixel point is in the to-be-processed data set, for example, the data of the row of the to-be-calculated pixel point in the second to-be-calculated data set is 1, 2, 3, 4, and the data of the row of the to-be-calculated pixel point in the third to-be-calculated data set is 2, 3, 4, and 5, and the data of the row of the to-be-calculated pixel point in the target to-be-calculated data set corresponding to the target to-be-calculated pixel point is 3, 4, 5, and 6, then a preset time period is set at intervals, and the target to-be-calculated data set corresponding to the target to-be-calculated pixel point is determined from the to-be-calculated data set according to a first target read address.
In step 802, the output value of the target to-be-calculated pixel point is determined by processing the target to-be-calculated data set according to the third calculation unit, at this time, the target to-be-calculated data set corresponding to the target to-be-calculated pixel point is determined first, then the target to-be-calculated data set is processed by using the third calculation unit preset in the invention, and the output value of the target to-be-calculated pixel point is determined by calculating by the bicubic interpolation method.
Fig. 11 is a flowchart of an image processing method according to an embodiment of the present invention, after determining a third to-be-calculated data set corresponding to a next to-be-calculated pixel point from the to-be-calculated data sets according to a next read address, the method further includes:
step 901, reading all original image data in a target cache array under the condition that a target data set to be calculated corresponding to a target pixel point to be calculated is not in the data set to be processed, and constructing an updated data set according to the original image data corresponding to the next cache array and the original image data corresponding to the target cache array;
step 902, determining a target to-be-calculated data set corresponding to a target to-be-calculated pixel point from the updated data set according to a first target reading address, processing the target to-be-calculated data set according to a third calculation unit, and determining an output value of the target to-be-calculated pixel point.
As an embodiment of the present invention, when the target to-be-calculated data set corresponding to the target to-be-calculated pixel point is not in the to-be-processed data set, reference may be made to the case that the data of the row where the to-be-calculated pixel point is located in the second to-be-calculated data set is 1, 2, 3, 4, and the data of the row where the to-be-calculated pixel point is located in the third to-be-calculated data set is 5, 6, 7, 8, and at this time, the data of the row where the to-be-calculated pixel point is located in the target to-be-calculated data set corresponding to the target to-be-calculated pixel point is 9, 10, 11, 12, however, the to-be-processed data set is a data set of 4*8, and at this time, in step 901, all original image data in the target cache array are read, and an updated data set is constructed according to the original image data corresponding to the next cache array and the original image data corresponding to the target cache array, for example, the to-be-processed data set is a new image data set comprising the original image data a 4*4 and the new image data set 4*8, which is the new image data set 4*8, i.e. the new image data set is 4*8, and the new image data set is obtained by the original image data set is 4*8C 96.
In step 902, a target to-be-calculated data set corresponding to a target to-be-calculated pixel point is determined from the updated data set according to a first target read address, for example, the data of the row of the to-be-calculated pixel point in the second to-be-calculated data set is 1, 2, 3, 4, and the data of the row of the to-be-calculated pixel point in the third to-be-calculated data set is 4, 5, 6, 7, at this time, the data of the row of the to-be-calculated pixel point in the target to-be-calculated data set corresponding to the target to-be-calculated pixel point is 7, 8, 9, 10, and the row data of the updated data set is 5, 6, 7, 8, 9, 10, 11, 12, then the target to-be-calculated data set corresponding to the target to-be-calculated pixel point is determined from the updated data set according to the first target read address, and then the output value of the target to-be-calculated pixel point is determined according to the third calculation unit.
As an embodiment of the present invention, the present invention is described by taking bicubic interpolation as an example, but the method is applicable to all interpolation calculation processes. For example, the calculation process of completing one bicubic interpolation needs to be completed in 3 clock cycles, so that 3 groups of identical interpolation calculation modules can be generated and recorded as a first calculation unit cal_1, a second calculation unit cal_2 and a third calculation unit cal_3, and the calculation is executed in parallel, so that the interpolation calculation of 3 pixel points can be completed in every 3 clock cycles, and the pipelining operation of each pixel point in the image scaling process is realized.
In the process that the cache array adopts ping-pong storage operation, one cache array output data exists at the same time, and 4 cache lines of the cache array are marked as ram_c_1, ram_c_2, ram_c_3 and ram_c_4.
Under the condition that the image scaling ratio is smaller than 4, namely the image scaling ratio is reduced in the horizontal direction or amplified in the horizontal direction, but the amplification factor is smaller, at the moment, original image data corresponding to two pixel points to be calculated can be read in parallel from 4 cache unit rows, the dual-port Ram can simultaneously read the original image data corresponding to two read addresses, namely 8 pixel points are read in each cache row, a 8*4 data set is formed, and then a corresponding 4*4 data set to be calculated is selected according to the calculated image position of the pixel points to be calculated and is transmitted to the first calculation unit cal_1; in the next clock cycle, namely, the second clock cycle of 3 clock cycles, transmitting a 4*4 interpolation matrix of the next pixel point to be calculated, namely, an original image corresponding to the right side point of the same row of the target image, to a second calculating unit Cal_2; in the 3 rd clock cycle of the 3 clock cycles, firstly, calculating whether the interpolation matrix of the next pixel point to be calculated is in 8*4, if yes, taking out the interpolation matrix to be calculated in the 8*4 data and transmitting the interpolation matrix to a third calculation unit cal_3, otherwise, reading the 4 cache line data, and reconstructing the 4 cache line data with the previous 4*4 data to form a new 8*4 matrix, taking out the needed interpolation matrix and transmitting the needed interpolation matrix to the third calculation unit cal_3 for calculation, and when the subsequent interpolation matrix is obtained, continuing to use the processing method proposed in the 3 rd clock cycle, firstly, calculating whether the interpolation matrix corresponding to the pixel point to be calculated is in the original 8*4 matrix, and if not, reading the cache data in the next address.
In the case that the image scaling is greater than the preset scaling, after reading all the original image data in the current cache array, the method further comprises:
and determining a fourth data set to be calculated from all original image data according to the current reading address, processing the fourth data set to be calculated according to the first calculating unit, and determining an output value corresponding to the fourth data set to be calculated.
In an optional embodiment, after determining the output value corresponding to the fourth data set to be calculated, the method further includes:
and determining a fifth data set to be calculated from all the original image data according to the next read address at intervals of preset time, processing the fifth data set to be calculated according to a second calculation unit, and determining an output value corresponding to the fifth data set to be calculated.
In an alternative embodiment, after determining the output value corresponding to the fifth data set to be calculated, the method further includes:
the preset time is spaced, a sixth data set to be calculated is determined from all the original image data according to a second target reading address, the sixth data set to be calculated is processed according to a third calculation unit, and an output value corresponding to the sixth data set to be calculated is determined;
The second target read address is a next read address after the next read address.
In an alternative embodiment, after determining the output value corresponding to the sixth to-be-calculated data set, the method further includes:
determining a seventh to-be-calculated data set from all original image data according to a third target reading address, processing the seventh to-be-calculated data set according to the first calculation unit, and determining an output value corresponding to the seventh to-be-calculated data set;
the third target read address is the next read address after the second target read address.
Under the condition that the image scaling is larger than the preset scaling, the scaling multiple is larger at the moment, after all original image data in the current cache array are read, at the moment, as all original image data in the current cache array have data sets corresponding to pixel points to be calculated corresponding to the original image data, each original image data in the current cache array only participates in interpolation operation about the pixel points to be calculated once, the fourth data set to be calculated is used for referring to an interpolation matrix corresponding to the pixel points to be calculated, the fourth data set to be calculated is determined from all original image data according to the current reading address, the fourth data set to be calculated is processed according to the first calculation unit, and the output value corresponding to the fourth data set to be calculated is determined.
And determining a fifth to-be-calculated data set from all the original image data according to the next read address at intervals of a preset duration, processing the fifth to-be-calculated data set according to a second calculation unit, and determining an output value corresponding to the fifth to-be-calculated data set.
The second target read address is the next read address after the next read address, that is, the step is to obtain an interpolation matrix of the second pixel point after the pixel point to be calculated, that is, a sixth data set to be calculated, and determine an output value corresponding to the sixth data set to be calculated according to a third calculation unit.
The first computing unit completes the computation of the output value corresponding to the fourth data set to be computed in the first computing period, the second computing unit completes the computation of the output value corresponding to the fifth data set to be computed in the second computing period, the third computing unit completes the computation of the output value corresponding to the sixth data set to be computed in the third computing period, at this time, after the first computing unit determines the output value corresponding to the fourth data set to be computed, the first computing unit can perform the computation of the next round, the third target read address is the next read address after the second target read address, the seventh data set to be computed is determined from all the original image data according to the third target read address, the seventh data set to be computed is processed according to the first computing unit, the output value corresponding to the seventh data set to be computed is determined, and therefore the three computing units sequentially complete the computation of the current interpolation matrix in three computing periods, and then the computation of the interpolation matrix of the pixel points to be computed is continued.
Fig. 12 is a schematic flow chart of determining an output value of a pixel to be calculated according to the present invention, where determining the output value of the pixel to be calculated according to the first data set to be calculated includes:
step 1031, determining a horizontal distance or a vertical distance between each pixel point in the preset interpolation matrix and the pixel point to be calculated;
step 1032, processing the horizontal distance or the vertical distance between each pixel point and the pixel point to be calculated according to a preset formula, and determining an influence factor corresponding to each pixel point;
step 1033, for any pixel point, determining an influence value of the pixel point according to the pixel value of the pixel point and an influence factor corresponding to the pixel point;
step 1034, traversing all pixel points, and determining each influence value of all pixel points;
step 1035, determining the output value of the pixel to be calculated according to the sum of each influence value of all the pixel points.
In step 1031, as shown in fig. 16, a certain relative distance exists between the pixel point P to be calculated and the surrounding pixel points, and the present invention first determines a horizontal distance or a vertical distance between each pixel point in the preset interpolation matrix and the pixel point to be calculated.
In step 1032, the horizontal distance or the vertical distance between each pixel point and the pixel point to be calculated is processed according to a preset formula, and the influence factor corresponding to each pixel point is determined, which may refer to the following formula:
Figure SMS_1
(1)
In the formula (1), the components are as follows,
Figure SMS_2
for the horizontal distance or vertical distance of the pixel point to be calculated, +.>
Figure SMS_3
The influence factor corresponding to each pixel point is provided.
In step 1033, for any pixel, determining an influence value of the pixel according to the pixel value of the pixel and an influence factor corresponding to the pixel.
In step 1034, all pixels are traversed, and each influence value of all pixels is determined, and for the bicubic interpolation matrix in the present invention, the influence value of each pixel needs to be determined from 16 pixels around the pixel to be calculated.
In step 1035, determining output values of the pixels to be calculated according to the sum of each influence value of all the pixels, that is, performing cumulative addition on the influence values of all the pixels, determining the added result as the output value of the pixels to be calculated, wherein the output value of the pixels to be calculated is the pixel value of one of the pixels to be calculated after the image scaling, further traversing all the pixels to be calculated, determining the output values of all the pixels to be calculated, and determining the image formed by the output values of all the pixels to be calculated as the scaled image.
The present invention aims at finding a corresponding relation between a pixel point to be calculated and surrounding pixel points, or finding a relative coefficient between the pixel point to be calculated and surrounding pixel points, and calculating the influence factors of 16 pixels on the pixel value at the position of the pixel point to be calculated, so as to obtain the pixel value of the pixel point to be calculated corresponding to the target image according to the influence factors, and achieve the purpose of image scaling.
Fig. 13 is a schematic structural view of an image processing apparatus provided by the present invention, which provides an image processing apparatus including a reading unit 1: the working principle of the reading unit 1 for reading all the original image data in the current cache array can refer to the aforementioned step 101, and will not be described herein.
The image processing apparatus further includes a first determination unit 2: for determining the first data set to be calculated from all the original image data according to the current reading address, the working principle of the first determining unit 2 may refer to the foregoing step 102, which is not described herein.
The image processing apparatus further includes a second determination unit 3: for determining the output value of the pixel to be calculated according to the first data set to be calculated, the working principle of the second determining unit 3 may refer to the foregoing step 103, which is not described herein again.
The current reading address is determined according to the coordinate mapping of the pixel point to be calculated in the original image data;
the coordinates of the pixel points to be calculated are determined according to the coordinates of the pixel points of the original image and the image scaling;
the image scaling is determined based on the image resolution to be scaled and the original image resolution.
The invention provides an image processing method, device and system, which are used for determining an image scaling ratio according to an image resolution ratio to be scaled and an original image resolution ratio, determining a current reading address according to coordinate mapping of pixel points to be calculated in original image data, selecting different strategies for reading original image data with preset data capacity from a memory according to a corresponding relation between the image scaling ratio and a preset scaling ratio, acquiring corresponding original image data based on the current reading address, and storing a current line cache unit in a current cache array, thereby simplifying the processes of image data reading and caching and providing data support for subsequent interpolation calculation based on the cache unit.
The invention also determines the image scaling according to the resolution of the image to be scaled and the resolution of the original image, determines the coordinates of the pixel to be calculated according to the coordinates of the pixel of the original image and the image scaling, determines the current reading address according to the coordinate mapping of the pixel to be calculated in the original image data, and reads all original image data in the current cache array; determining a first data set to be calculated from all the original image data according to the current reading address; according to the first data set to be calculated, the output value of the pixel to be calculated is determined, the image data reading and caching processes can be simplified, the output value of the pixel to be calculated is calculated based on interpolation of the caching unit, storage resources are reduced, and image scaling processing performance is improved.
Fig. 14 is a schematic structural diagram of an image processing system provided by the present invention, and the present invention also provides an image processing system, including:
a memory for storing original image data;
the scaling unit is used for determining an image scaling ratio according to the resolution of the image to be scaled and the resolution of the original image;
an acquisition unit for acquiring the data capacity of the buffer unit;
A buffer unit for reading the original image data from the memory;
the computing module is used for determining the output value of the pixel point to be computed;
the image processing device is also included.
Optionally, the method further comprises: under the condition that the second preset constant is 4, the cache units are two cache arrays, wherein each cache array comprises four line cache units;
the computing module at least comprises a first computing unit, a second computing unit and a third computing unit;
the second preset constant is determined according to the side length of a preset interpolation matrix;
the preset interpolation matrix is constructed by taking the coordinates of the pixel points to be calculated as the center points.
The invention firstly obtains the data capacity of the buffer unit through the obtaining unit, then utilizes the scaling unit to determine the image scaling ratio according to the image resolution to be scaled and the original image resolution, after the preparation work is done, the image scaling ratio enters into the processing operation of the image processing device, specifically, the reading operation is realized through the reading address and the burst length calculation according to the memory, the original image data is stored in the buffer unit according to the reading data, then a plurality of groups of interpolation matrixes are generated through the reading data, and finally the data output is realized through the calculation module.
The invention provides an image processing method, device and system, which are used for determining an image scaling ratio according to an image resolution ratio to be scaled and an original image resolution ratio, determining a current reading address according to coordinate mapping of pixel points to be calculated in original image data, selecting different strategies for reading original image data with preset data capacity from a memory according to a corresponding relation between the image scaling ratio and a preset scaling ratio, acquiring corresponding original image data based on the current reading address, and storing a current line cache unit in a current cache array, thereby simplifying the processes of image data reading and caching and providing data support for subsequent interpolation calculation based on the cache unit.
The invention also determines the image scaling according to the resolution of the image to be scaled and the resolution of the original image, determines the coordinates of the pixel to be calculated according to the coordinates of the pixel of the original image and the image scaling, determines the current reading address according to the coordinate mapping of the pixel to be calculated in the original image data, and reads all original image data in the current cache array; determining a first data set to be calculated from all the original image data according to the current reading address; according to the first data set to be calculated, the output value of the pixel to be calculated is determined, the image data reading and caching processes can be simplified, the output value of the pixel to be calculated is calculated based on interpolation of the caching unit, storage resources are reduced, and image scaling processing performance is improved.
Fig. 17 is a schematic structural diagram of an electronic device provided by the present invention. As shown in fig. 17, the electronic device may include: processor 110, communication interface (Communications Interface) 120, memory 130, and communication bus 140, wherein processor 110, communication interface 120, memory 130 communicate with each other via communication bus 140. The processor 110 may invoke logic instructions in the memory 130 to perform an image processing method comprising: reading all original image data in the current cache array; determining a first data set to be calculated from all the original image data according to the current reading address; determining an output value of the pixel point to be calculated according to the first data set to be calculated; the current reading address is determined according to the coordinate mapping of the pixel point to be calculated in the original image data; the coordinates of the pixel points to be calculated are determined according to the coordinates of the pixel points of the original image and the image scaling; the image scaling is determined based on the image resolution to be scaled and the original image resolution.
In addition, the logic instructions in the memory 130 may be implemented in the form of software functional units and stored in a computer readable storage medium when sold or used as a stand alone product. Based on this understanding, the technical solution of the present invention may be embodied essentially or in a part contributing to the prior art or in a part of the technical solution, in the form of a software product stored in a storage medium, comprising several instructions for causing a computer device (which may be a personal computer, a server, a network device, etc.) to perform all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
In another aspect, the present invention also provides a computer program product comprising a computer program storable on a non-transitory computer readable storage medium, the computer program, when executed by a processor, being capable of performing an image processing method provided by the above methods, the method comprising: reading all original image data in the current cache array; determining a first data set to be calculated from all the original image data according to the current reading address; determining an output value of the pixel point to be calculated according to the first data set to be calculated; the current reading address is determined according to the coordinate mapping of the pixel point to be calculated in the original image data; the coordinates of the pixel points to be calculated are determined according to the coordinates of the pixel points of the original image and the image scaling; the image scaling is determined based on the image resolution to be scaled and the original image resolution.
In yet another aspect, the present invention also provides a non-transitory computer readable storage medium having stored thereon a computer program which, when executed by a processor, is implemented to perform the image processing method provided by the above methods, the method comprising: reading all original image data in the current cache array; determining a first data set to be calculated from all the original image data according to the current reading address; determining an output value of the pixel point to be calculated according to the first data set to be calculated; the current reading address is determined according to the coordinate mapping of the pixel point to be calculated in the original image data; the coordinates of the pixel points to be calculated are determined according to the coordinates of the pixel points of the original image and the image scaling; the image scaling is determined based on the image resolution to be scaled and the original image resolution.
The apparatus embodiments described above are merely illustrative, wherein the elements illustrated as separate elements may or may not be physically separate, and the elements shown as elements may or may not be physical elements, may be located in one place, or may be distributed over a plurality of network elements. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art will understand and implement the present invention without undue burden.
From the above description of the embodiments, it will be apparent to those skilled in the art that the embodiments may be implemented by means of software plus necessary general hardware platforms, or of course may be implemented by means of hardware. Based on this understanding, the foregoing technical solution may be embodied essentially or in a part contributing to the prior art in the form of a software product, which may be stored in a computer readable storage medium, such as ROM/RAM, a magnetic disk, an optical disk, etc., including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the method described in the respective embodiments or some parts of the embodiments.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solution of the present invention, and are not limiting; although the invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims (21)

1. An image processing method, comprising:
reading all original image data in the current cache array;
determining a first data set to be calculated from all the original image data according to the current reading address;
determining an output value of the pixel point to be calculated according to the first data set to be calculated;
the current reading address is determined according to the coordinate mapping of the pixel point to be calculated in the original image data;
the coordinates of the pixel points to be calculated are determined according to the coordinates of the pixel points of the original image and the image scaling;
the image scaling is determined according to the resolution of the image to be scaled and the resolution of the original image;
The first data set to be calculated is a preset interpolation matrix;
the preset interpolation matrix is constructed by taking the coordinates of the pixel points to be calculated as the center points.
2. The image processing method according to claim 1, further comprising, before reading all original image data in the current cache array:
determining target image data corresponding to the current reading address from a memory according to the size relation between the image scaling and the preset scaling;
and reading the target image data to a current line cache unit in a current cache array.
3. The image processing method according to claim 2, further comprising, before reading the target image data to a current line cache unit in a current cache array:
determining preset data capacity of the line cache unit according to the maximum image scaling factor, preset parameters, cache space coefficients and pixel value depth;
and constructing a cache array according to the preset number of the line cache units.
4. The image processing method according to claim 3, comprising, after reading the target image data to a current line buffer unit in a current buffer array:
Determining a previous line reading address according to the difference between the current reading address and the line length corresponding to the original image, and reading original image data with preset data capacity from a memory according to the previous line reading address to a previous line cache unit in the current cache array;
determining a next line reading address according to the sum of the current reading address and the line length corresponding to the original image, and reading original image data with preset data capacity from a memory according to the next line reading address to a next line cache unit in the current cache array;
and determining two later rows of reading addresses according to the sum of the two later rows of reading addresses and the row data length corresponding to the original image, and reading original image data with preset data capacity from a memory according to the two later rows of reading addresses to two later rows of cache units in the current cache array.
5. The image processing method according to claim 2, further comprising, after reading the target image data to a current line buffer unit in a current buffer array:
determining a next reading address according to the current reading address, the length of the preset data capacity and a first preset constant;
And reading the original image data with preset data capacity from the memory according to the next reading address to a next cache array.
6. The image processing method according to claim 5, wherein the determining the next read address according to the current read address, the length of the preset data capacity, and the first preset constant includes:
determining a correction value to be corrected according to the sum of the current read address and the length of the preset data capacity;
determining a value to be aligned according to the difference between the value to be corrected and the first preset constant;
determining any value to be determined as a multiple of 4 as the next read address;
the value to be determined comprises the value to be aligned, a value of which the value to be aligned takes 1 unit downwards, a value of which the value to be aligned takes 2 units downwards and a value of which the value to be aligned takes 3 units downwards.
7. The image processing method according to claim 5 or 6, further comprising, after reading the original image data of a predetermined data capacity from the memory to a next cache array according to the next read address:
after determining the output value of the pixel point to be calculated according to a first data set to be calculated, reading the original image data with the preset data capacity from the memory according to a first target reading address to the current cache array;
The first target read address is a next read address subsequent to the next read address.
8. The image processing method according to claim 2, wherein the determining target image data corresponding to the current read address from the memory according to the magnitude relation of the image scaling and the preset scaling includes:
determining the original image data with preset data capacity in the memory as the target image data corresponding to the current reading address under the condition that the image scaling is smaller than or equal to the preset scaling;
when the image scaling is larger than the preset scaling, determining the extracted original image data with the second preset length as the target image data corresponding to the current reading address after the image data with the first preset length are in the memory at intervals;
the first preset length is smaller than the second preset length.
9. The image processing method according to claim 8, wherein, in the case where the image scaling is less than or equal to a preset scaling, after reading all the original image data in the current cache array, further comprising:
Reading all original image data in a next cache array, and constructing a data set to be processed according to the original image data corresponding to the current cache array and the original image data corresponding to the next cache array;
determining a second data set to be calculated corresponding to the pixel point to be calculated from the data sets to be processed according to the current reading address;
and processing the second data set to be calculated according to the first calculation unit, and determining the output value of the pixel point to be calculated.
10. The image processing method according to claim 9, further comprising, after determining a second data set to be calculated corresponding to the pixel to be calculated from the data sets to be processed according to the current read address:
determining a third data set to be calculated corresponding to a next pixel point to be calculated from the data sets to be processed according to the next read address at intervals of preset time length;
and processing the third data set to be calculated according to a second calculation unit, and determining the output value of the next pixel point to be calculated.
11. The image processing method according to claim 10, further comprising, after determining a third data set to be calculated corresponding to a next pixel to be calculated from the data sets to be processed according to a next read address:
Under the condition that a target to-be-calculated data set corresponding to a target to-be-calculated pixel point is in the to-be-processed data set, a preset time is set at intervals, and the target to-be-calculated data set corresponding to the target to-be-calculated pixel point is determined from the to-be-processed data set according to a first target reading address;
processing the target data set to be calculated according to a third calculation unit, and determining an output value of the target pixel point to be calculated;
the target pixel point to be calculated is the next pixel point to be calculated after the next pixel point to be calculated.
12. The image processing method according to claim 10, further comprising, after determining a third data set to be calculated corresponding to a next pixel to be calculated from the data sets to be processed according to a next read address:
under the condition that a target data set to be calculated corresponding to a target pixel to be calculated is not in the data set to be processed, reading all original image data in a target cache array, and constructing an updated data set according to the original image data corresponding to the next cache array and the original image data corresponding to the target cache array;
and determining a target to-be-calculated data set corresponding to the target to-be-calculated pixel point from the updated data set according to a first target reading address at intervals for a preset time period, processing the target to-be-calculated data set according to a third calculation unit, and determining an output value of the target to-be-calculated pixel point.
13. The image processing method according to claim 8, wherein, in the case where the image scaling is greater than the preset scaling, after reading all the original image data in the current cache array, further comprising:
and determining a fourth data set to be calculated from all original image data according to the current reading address, processing the fourth data set to be calculated according to the first calculating unit, and determining an output value corresponding to the fourth data set to be calculated.
14. The image processing method according to claim 13, further comprising, after determining the output value corresponding to the fourth data set to be calculated:
and determining a fifth data set to be calculated from all the original image data according to the next read address at intervals of preset time, processing the fifth data set to be calculated according to a second calculation unit, and determining an output value corresponding to the fifth data set to be calculated.
15. The image processing method according to claim 14, further comprising, after determining the output value corresponding to the fifth data set to be calculated:
the preset time is spaced, a sixth data set to be calculated is determined from all the original image data according to a second target reading address, the sixth data set to be calculated is processed according to a third calculation unit, and an output value corresponding to the sixth data set to be calculated is determined;
The second target read address is a next read address after the next read address.
16. The image processing method according to claim 15, further comprising, after determining the output value corresponding to the sixth data set to be calculated:
determining a seventh to-be-calculated data set from all original image data according to a third target reading address, processing the seventh to-be-calculated data set according to the first calculation unit, and determining an output value corresponding to the seventh to-be-calculated data set;
the third target read address is the next read address after the second target read address.
17. The image processing method according to claim 1, wherein the side length of the preset interpolation matrix is a second preset constant.
18. The image processing method according to claim 17, wherein the determining the output value of the pixel to be calculated from the first data set to be calculated includes:
determining the horizontal distance or the vertical distance between each pixel point in the preset interpolation matrix and the pixel point to be calculated;
processing the horizontal distance or the vertical distance between each pixel point and the pixel point to be calculated according to a preset formula, and determining an influence factor corresponding to each pixel point;
For any pixel point, determining an influence value of the pixel point according to the pixel value of the pixel point and an influence factor corresponding to the pixel point;
traversing all the pixel points, and determining each influence value of all the pixel points;
and determining the output value of the pixel point to be calculated according to the sum of each influence value of all the pixel points.
19. An image processing apparatus, comprising:
a reading unit: the method is used for reading all original image data in the current cache array;
a first determination unit: the first data set to be calculated is determined from all the original image data according to the current reading address;
a second determination unit: the method comprises the steps of determining an output value of a pixel point to be calculated according to a first data set to be calculated;
the current reading address is determined according to the coordinate mapping of the pixel point to be calculated in the original image data;
the coordinates of the pixel points to be calculated are determined according to the coordinates of the pixel points of the original image and the image scaling;
the image scaling is determined according to the resolution of the image to be scaled and the resolution of the original image;
the first data set to be calculated is a preset interpolation matrix;
The preset interpolation matrix is constructed by taking the coordinates of the pixel points to be calculated as the center points.
20. An image processing system, comprising:
a memory for storing original image data;
the scaling unit is used for determining an image scaling ratio according to the resolution of the image to be scaled and the resolution of the original image;
an acquisition unit for acquiring the data capacity of the buffer unit;
a buffer unit for reading the original image data from the memory;
the computing module is used for determining the output value of the pixel point to be computed;
further comprising an image processing apparatus according to claim 19.
21. The image processing system of claim 20, further comprising: the cache units are two cache arrays, wherein each cache array comprises four line cache units;
the computing module at least comprises a first computing unit, a second computing unit and a third computing unit.
CN202310357114.0A 2023-04-06 2023-04-06 Image processing method, device and system Active CN116071245B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310357114.0A CN116071245B (en) 2023-04-06 2023-04-06 Image processing method, device and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310357114.0A CN116071245B (en) 2023-04-06 2023-04-06 Image processing method, device and system

Publications (2)

Publication Number Publication Date
CN116071245A CN116071245A (en) 2023-05-05
CN116071245B true CN116071245B (en) 2023-07-14

Family

ID=86170143

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310357114.0A Active CN116071245B (en) 2023-04-06 2023-04-06 Image processing method, device and system

Country Status (1)

Country Link
CN (1) CN116071245B (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111882530A (en) * 2020-07-15 2020-11-03 苏州佳智彩光电科技有限公司 Sub-pixel positioning map generation method, positioning method and device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113052762A (en) * 2019-12-27 2021-06-29 西安诺瓦星云科技股份有限公司 Image scaling processing method and device and image scaling processing system
CN113298695B (en) * 2021-06-25 2024-04-26 北京爱芯科技有限公司 Image processing assembly and chip, image processing method and storage medium
CN115471404B (en) * 2022-10-28 2023-03-24 武汉中观自动化科技有限公司 Image scaling method, processing device and storage medium
CN115731430A (en) * 2022-11-16 2023-03-03 中交四航工程研究院有限公司 Method for generating deep learning image data set by finite element model and server

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111882530A (en) * 2020-07-15 2020-11-03 苏州佳智彩光电科技有限公司 Sub-pixel positioning map generation method, positioning method and device

Also Published As

Publication number Publication date
CN116071245A (en) 2023-05-05

Similar Documents

Publication Publication Date Title
Gribbon et al. A novel approach to real-time bilinear interpolation
JP4772281B2 (en) Image processing apparatus and image processing method
US11354773B2 (en) Method and system for correcting a distorted input image
CN111447359B (en) Digital zoom method, system, electronic device, medium, and digital imaging device
CN112991142B (en) Matrix operation method, device, equipment and storage medium for image data
CN106910162A (en) Image zoom processing method and device based on FPGA
CN110958362A (en) Image correction system and method based on block table look-up
JP2012033007A (en) Image processing device and image processing method
CN116071245B (en) Image processing method, device and system
CN109146793B (en) Pipelined image chroma format conversion scaling rotation superposition system
TW202005353A (en) Method and device for removing video jitter
KR20130057327A (en) Preprocessing apparatus in stereo matching system
US8902474B2 (en) Image processing apparatus, control method of the same, and program
US20090110332A1 (en) Increasing resolution of video images
CN107111878A (en) Data processing method, apparatus and system
KR20130057328A (en) Preprocessing apparatus in stereo matching system
KR20150019192A (en) Apparatus and method for composition image for avm system
CN110009563B (en) Image processing method and device, electronic device and storage medium
CN117011146B (en) Image scaling method and device, electronic equipment and storage medium
Yang et al. FPGA Implementation of Image Super-Resolution Based on Bicubic Interpolation and CNN
CN111161135B (en) Picture conversion method and related product
JPH10178542A (en) Image reduction processing unit
Wang et al. A Multi-Scale Layer-Channel Attention Network for Image Super-Resolution
CN117575965A (en) Image de-distortion method, device, electronic equipment and storage medium
CN116342415A (en) Image correction method and device, equipment, chip and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant