WO2019041264A1 - 图像处理装置、方法及相关电路 - Google Patents
图像处理装置、方法及相关电路 Download PDFInfo
- Publication number
- WO2019041264A1 WO2019041264A1 PCT/CN2017/100027 CN2017100027W WO2019041264A1 WO 2019041264 A1 WO2019041264 A1 WO 2019041264A1 CN 2017100027 W CN2017100027 W CN 2017100027W WO 2019041264 A1 WO2019041264 A1 WO 2019041264A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- filter
- image
- buffer
- image processing
- pixel
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 239000000872 buffer Substances 0.000 claims abstract description 148
- 230000003139 buffering effect Effects 0.000 claims abstract 2
- 238000003672 processing method Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 9
- 238000000151 deposition Methods 0.000 claims 2
- 238000004422 calculation algorithm Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
Definitions
- the present application relates to the field of image processing, and more particularly to an image processing apparatus, method and related circuitry.
- image scaling refers to the process of adjusting the size of a digital image.
- the target image is obtained by image scaling the source image.
- the source image is first sequentially buffered in rows, and then the buffered data is subjected to corresponding scaling processing to finally obtain a target image.
- the existing image scaling scheme may waste storage resources, reduce the utilization of the storage resources, and reduce the image. The efficiency of processing.
- the present application provides an image processing apparatus, method, and related circuit, which can save memory overhead, improve utilization of storage resources, and further improve image processing efficiency.
- an image processing apparatus comprising: a first control unit, configured to determine first control information of a target image to be generated corresponding to a source image and a first interpolation coefficient, the first The control information represents data for generating the target image in the source image; a first prefetching unit is configured to select first input data corresponding to the first control information from the source image; Causing the first input data; a first filter, configured to perform an interpolation operation based on the first interpolation coefficient and the first input data stored in the buffer to generate the target image, wherein the buffer The number of devices is greater than or equal to the number of taps of the first filter.
- an image processing circuit comprising: an output module An image processing apparatus provided with the first aspect.
- the output module is configured to output a target image generated by the image processing module.
- an image processing method comprising: determining that a target image to be generated corresponds to first control information of a source image and a first interpolation coefficient, the first control information indicating the source image Data for generating the target image; selecting first input data corresponding to the first control information from the source image, and storing the first input data in a buffer; And performing an interpolation operation based on the first interpolation coefficient and the first input data stored in the buffer to generate the target image, wherein the number of the buffers is greater than or equal to the number of taps of the first filter.
- the application first determines useful data for generating a target image in the source image, stores the useful data in a buffer, and then performs subsequent processing, so that storage resources for storing unnecessary data can be avoided to a certain extent, and memory overhead can be saved. Improve the utilization of storage resources, which in turn can improve the efficiency of image processing.
- FIG. 1 is a schematic structural diagram of an image processing apparatus according to an embodiment of the present invention.
- FIG. 2 is a schematic structural diagram of an image processing apparatus according to another embodiment of the present invention.
- FIG. 3 is a schematic structural diagram of an image processing apparatus according to still another embodiment of the present invention.
- FIG. 4 is a schematic structural diagram of an image processing circuit according to an embodiment of the present invention.
- FIG. 5 is a schematic flowchart of an image processing method according to an embodiment of the present invention.
- Image scaling refers to the reduction and enlargement of an image.
- the images referred to refer to a bitmap, that is, a pixel matrix is used to describe the image.
- the image to be scaled is recorded as a source image, and the image obtained by scaling the source image is recorded as a target image.
- the source image is a 3 ⁇ 3 256-level grayscale image, that is, an image with a height of 3 pixels and a width of 3 pixels.
- the value of each pixel may be 0-255, and the value of one pixel represents The brightness of the pixel, 255 represents the brightest, that is, white, and 0 represents the darkest, that is, black.
- the pixel matrix of the source image is as follows:
- the coordinates (x, y) of the pixel are determined such that x is from left to right, an integer from zero, and y is from top to bottom, and is also an integer from zero.
- the 3 ⁇ 3 source image is to be enlarged into a 4 ⁇ 4 image, that is, the target image is an image with a height of 4 pixels and a width of 4 pixels, but the value of each pixel in the target image is currently unknown. , need to be calculated according to the value of the pixels in the source image.
- the target image is also generated.
- the basic principle of calculating the value of the pixel of the target image according to the value of the pixel in the source image is to first determine that the pixel in the target image corresponds to the adjacent pixel in the source image, and then calculate the target image according to the value of the adjacent pixel. The value of the pixel.
- the value f(x, y) of the pixel whose coordinate is (x, y) in the target image can be calculated according to the following formula (1):
- f(x1, y1), f(x2, y2), f(x3, y3) and f(x4, y4) are respectively the coordinates of the source image (x1, y1), (x2, y2), ( The values of the pixels of x3, y3) and (x4, y4), v1, v2, v3 and v4 are interpolation coefficients.
- the source image is usually first stored in a buffer in a row, and then subjected to subsequent scaling processing to finally obtain a target image.
- the target image is reduced relative to the source image
- zooming out it is possible to use only some of the lines in the source image to calculate the value of each pixel in the target image.
- the remaining part of the source image is a useless line.
- the existing image scaling scheme is adopted, useless row data exists in the buffer, which reduces the utilization of storage resources and reduces the efficiency of image processing.
- the present application provides an image processing apparatus, method, and related circuit, which can save memory overhead, improve utilization of storage resources, and further improve image processing efficiency.
- FIG. 1 is a schematic block diagram of an image processing apparatus 100 proposed by the present application.
- the image processing apparatus 100 includes a first control unit 110, a first prefetch unit 120, a buffer 130, and a first filter 140.
- the first control unit 110 is configured to determine that the target image to be generated corresponds to the first control information of the source image and the first interpolation coefficient, where the first control information represents data used to generate the target image in the source image.
- the first control information indicates that pixels in the target image correspond to adjacent pixels in the source image.
- the first interpolation coefficient represents an interpolation coefficient required to obtain a pixel in the target image from adjacent pixels in the source image, for example, V1, V2, V3, and V4 in the above formula (1).
- the first control unit 110 may determine the first control information and the first interpolation coefficient by using a nearest neighbor interpolation algorithm, a bilinear interpolation algorithm, or other interpolation algorithm in the current technology, which is not limited in the present application.
- the first control information indicates that a row (or column) in the target image corresponds to an adjacent row (or adjacent column) in the source image.
- the first control information represents two adjacent rows in the source image, or two adjacent rows, or non-adjacent rows.
- the first control information represents two adjacent columns in the source image, or two non-adjacent columns, or non-adjacent multiple columns.
- the first control information may represent The rows (or columns) in the target image correspond to adjacent rows (or adjacent columns) in the source image.
- the first control information represents two adjacent pixels in a row (or a column) of the source image, or two non-adjacent pixels, or a plurality of non-adjacent pixels.
- the first prefetching unit 120 is configured to select, from the source image, first input data corresponding to the first control information output by the first control unit 110.
- the first prefetch unit 120 selects pixels of the adjacent two rows from the source image.
- the first control information indicates two adjacent columns in the source image
- the first prefetch unit 120 selects pixels of the adjacent two columns from the source image.
- the first control information indicates two adjacent pixels in the source image, and the first prefetch unit 120 selects the adjacent two pixels from the source image.
- the first prefetching unit 120 inputs the selected first input data into the buffer 130.
- the buffer 130 is configured to buffer the first input data selected by the first prefetch unit 120.
- the first input data selected by the first prefetch unit 120 needs to be input into the plurality of buffers 130, and the input data is input into the plurality of buffers 130 in parallel.
- the source image is serially input to the buffer, and the scheme of the embodiment can improve the efficiency of image processing.
- the first filter 140 is configured to perform an interpolation operation based on the first interpolation coefficient output by the first control unit 110 and the first input data stored in the buffer 130 to generate the target image.
- the first filter 140 has an interpolation operation of the first input data and the first interpolation coefficient according to an algorithm as shown in the formula (1).
- the data for which the first filter 140 performs the interpolation operation may be all data in the buffer, or may be part of the data in the buffer indicated by the first control information.
- the filters mentioned in the present application are all multi-tap filters, that is, the number of taps of the filter is at least 2.
- the number of taps of the filter means that each stage of the filter holds a delayed input sample, and the input connections and output connections of each stage are referred to as taps.
- a M-order finite-length unit finite impulse response (FIR) filter would have M+1 taps.
- the number of buffers 130 is equal to a multiple of the number of taps of the first filter 140.
- the number of buffers 130 is equal to 2 or 4.
- the source image is sequentially stored in rows in a plurality of line buffers, the output of each line buffer is the input of the next line buffer, and the output of each line buffer is serially input to the pixel array.
- the number of buffers depends on the scaling and the number of taps of the filter.
- useful data for generating a target image in a source image is determined, and the useful data is stored in a buffer, and then subjected to subsequent processing, so that the number of buffers depends only on the number of taps of the first filter. , regardless of the scaling of the source image to the target image.
- the vertical scaling from the source image to the target image is 4:1, in other words, the source image
- the four rows in the row correspond to one row in the target image.
- the number of taps of the filter is 2.
- the number of buffers is at least 4, and 2 of them store unused data.
- the number of buffers is two.
- the number of buffers is only related to the number of taps of the filter. Regardless of the scaling ratio, the storage pressure of the image processing apparatus can be reduced, the storage time can be reduced, and many unnecessary data will not be read.
- control unit for outputting the control information and the interpolation coefficient is a digital differential analyzer (DDA).
- DDA digital differential analyzer
- DDA is essentially an accumulator that generates control information for row or column selection in the source image and interpolation coefficients for the filter based on the row/column count information of the target image.
- the initial phase and step size of the DDA are related to the scaling ratio, wherein the step size is achieved by moving the pixel of the target image to the number of pixels or sub-pixels moved by the source image, and the sub-pixel is used when the step size is smaller than a single pixel or the step has a decimal Part of the situation that results in falling between the pixels of the original image.
- the first control unit can be implemented by DDA.
- the first control unit may also be implemented by other devices capable of realizing the function of determining the target image to be generated corresponding to the first control information of the source image and the first interpolation coefficient.
- the number of buffers 130 is greater than or equal to the number of taps of the first filter 140, and the first prefetching unit 120 is further configured to: select the first control information from the source image.
- the buffer 130 is further configured to cache the second input data while the first filter processes the first input data.
- the first input data is a partial neighboring pixel in the source image for generating a part of pixels of the target image
- the second input data is a part of the source image for generating another part of the pixel of the target image, and the other part is adjacent to the pixel.
- the first filter 140 performs an interpolation operation to generate a part of the pixels of the target image
- the input data for generating another partial pixel of the target image has been buffered in the buffer 130, which enables the first
- the interpolation operation of a filter is not interrupted, so that the efficiency of image processing can be improved.
- the solution provided by this embodiment can effectively improve the efficiency of image processing.
- the image processing apparatus 100 further includes:
- a second selector for selecting data stored in the buffer 130 and inputting the selected data to the first filter 140.
- the first selector may store the first input data in the currently idle buffer 130, or may store the first input data in the designated buffer 130.
- the image processing apparatus 100 includes four buffers 231, 232, 233, 234, wherein the buffers 232 and 233 are idle, and the first input data selected by the first prefetch unit 130 is the first row and the second row of data in the source image.
- a selector selects the free buffers 232 and 233 from the four buffers, and then stores the first row and the second row of data in the source image into buffers 232 and 233, respectively.
- the second selector is configured to select, from the data stored in the buffer 130, data input corresponding to the number of taps of the first filter into the first filter.
- the buffer 130 further includes a pixel register, and the pixel register is configured to store some or all of the data stored in the buffer 130 according to the first control information.
- the second selector is specifically configured to input the selected one of the pixels stored in the pixel register into the first filter.
- a filter is only responsible for scaling in one direction.
- the image processing apparatus requires at least two filters, and correspondingly, at least two control units (for example, DDA) are also required.
- FIG. 2 is a schematic block diagram of an image processing apparatus 200 according to another embodiment of the present application.
- the image processing apparatus 200 includes a first control unit 210, a first prefetch unit 220, a buffer 230, a first filter 240, a second control unit 250, a second prefetch unit 260, and a second filter 270.
- the first control unit 210 is configured to determine that the target image to be generated corresponds to the first control information of the source image and the first interpolation coefficient, where the first control information indicates that the row in the target image corresponds to a neighboring row in the source image .
- the first control unit 210 may determine the first control information and the first interpolation coefficient by using a nearest neighbor interpolation algorithm, a bilinear interpolation algorithm, or other interpolation algorithm in the current technology.
- the first pre-fetching unit 220 is configured to select, from the source image, first input data corresponding to the first control information output by the first control unit 210.
- the first prefetch unit 120 For example, if the first control information indicates two adjacent rows in the source image, the first prefetch unit 120 The pixels of the adjacent two rows are selected from the source image.
- the first prefetching unit 220 inputs the selected first input data into the buffer 230.
- the buffer 230 is configured to buffer the first input data selected by the first prefetch unit 220.
- the first input data selected by the first prefetch unit 220 needs to be input into the plurality of buffers 230, and the input data is input into the plurality of buffers 230 in parallel.
- the buffer 230 includes a pixel register.
- the second control unit 250 is configured to determine that the pixels in the row of the target image correspond to the second control information of the source image and the second interpolation coefficient, where the second control information indicates that the pixels in the row in the target image correspond to Adjacent pixels in the source image.
- the second pre-fetching unit 260 is configured to select third input data corresponding to the second control information from the data stored in the buffer 230, and store the third input data in the pixel register of the buffer 230. in.
- the first filter 240 and the second filter 270 are configured to perform an interpolation operation based on the first interpolation coefficient, the second interpolation coefficient, and data stored in the pixel register to generate the target image.
- all the buffers 230 are stored in useful rows, and all the pixels stored in the pixel register are useful pixels, so that the resource utilization rate of the image processing apparatus can be effectively improved.
- the second filter 270 is specifically configured to perform an interpolation operation on the data stored in the pixel buffer based on the second interpolation coefficient to obtain an intermediate result;
- the filter 240 is specifically configured to perform an interpolation operation based on the first interpolation coefficient and the intermediate result to generate the target image.
- column interpolation is performed first, and then row interpolation is performed.
- the second filter 270 is specifically configured to perform an interpolation operation on the data stored in the pixel buffer based on the first interpolation coefficient to obtain an intermediate result;
- the filter 240 is specifically configured to perform an interpolation operation based on the second interpolation coefficient and the intermediate result to generate the target image.
- row interpolation is performed first, and then column interpolation is performed.
- the image processing apparatus 100 further includes: a third selector for storing the first input data in the selected buffer; and a fourth selector for The selected one of the pixels stored in the pixel register is input to the first filter or the second filter.
- control unit (first control unit or second control unit) mentioned in each of the above embodiments Can be implemented by DDA.
- the control unit is described as an example of DDA.
- the image processing apparatus 300 includes a row DDA 310, a row prefetch unit 320, a first selector 330, a row buffer 340, a column DDA 350, a column prefetch unit 360, a second selector 370, and horizontal filtering. 380 and vertical filter 390.
- the row DDA 310 the row for calculating the target image corresponds to the adjacent row number and row interpolation coefficient of the source image.
- the line prefetching unit 320 is configured to select, in the source image, a row corresponding to the adjacent line number calculated by the row DDA 310.
- the first selector 330 is configured to store the row selected by the line prefetch unit 320 into the line buffer 340.
- the first selector 330 stores the row selected by the line prefetch unit 320 in the line buffer 340 currently idle in the image processing apparatus 300.
- the column DDA 350 is configured to calculate pixels in a row of the target image corresponding to adjacent pixel coordinates and column interpolation coefficients in the source image.
- the column DDA 350 is used to calculate adjacent pixel coordinates and column interpolation coefficients in the row in the row of the target image corresponding to the row of the source image (the row selected by the row prefetch unit 320).
- column DDA 350 can be initiated after line buffer 340 has been filled with a row of pixels.
- the column prefetching unit 360 is configured to select pixels corresponding to the adjacent pixel coordinates calculated by the column DDA 350 in a row of pixels stored in the line buffer 340, and store the selected pixels in the pixel register.
- the pixels selected in column prefetch unit 360 may also be referred to as column pixels.
- the second selector 370 is configured to select corresponding pixels from the pixels stored in the pixel register according to the neighboring pixel coordinates calculated by the column DDA 350, and input the values of the selected pixels into the horizontal filter 380.
- the second selector 370 is configured to select a corresponding number of pixels from the pixels stored in the pixel buffer according to the number of taps of the horizontal filter 380.
- the second selector 370 selects the value of the two pixels from the pixel register and inputs it into the horizontal filter 380.
- the horizontal filter 380 is configured to perform interpolation according to the value of the pixel input by the second selector 370 and the column interpolation coefficient calculated by the column DDA 350 to obtain a column interpolation result, and input the column interpolation result into the vertical filter 390. .
- the vertical filter 390 is configured to perform interpolation calculation according to the column interpolation result and the row interpolation coefficient calculated by the row DDA, and finally obtain the target image.
- the row DDA in this embodiment corresponds to the first control unit in the above embodiment
- the column DDA corresponds to the second control unit in the above embodiment
- the row prefetching unit corresponds to the first pre-in the above embodiment
- the unit, the column prefetch unit corresponds to the second prefetch unit in the above embodiment.
- the second selector 370 calculates the adjacent row number according to the row DDA, and corresponds to the M row buffers.
- the value of the M pixels in the same column is selected in the pixel register, and is input into the vertical filter 390, M is equal to the number of taps of the vertical filter 390; and the vertical filter 390 is taken according to the pixel input by the second selector 370.
- the value is combined with the row interpolation coefficient calculated by the row DDA, the interpolation operation is performed, the row interpolation result is obtained, and the row interpolation result is input into the horizontal filter 380; the horizontal filter is combined with the row DDA calculated column according to the row interpolation result. Interpolation coefficients are interpolated to obtain the target image.
- the pixels stored in the pixel register are pixels for generating a target image, that is, there are no useless pixels in the pixel buffer; the rows stored in the line buffer are generation targets.
- the line data required for the image that is, there are no useless lines in the line buffer. Therefore, when the vertical scaling is less than 1, the useless reading can be avoided, the line buffer for storing the unnecessary lines can be omitted, and the read bandwidth and the memory resource can be saved; when the horizontal scaling is less than 1, the useless pixels can be avoided.
- the reading makes the subsequent filter pipeline utilization and write bandwidth not change with the horizontal scaling, which improves the utilization of computing resources and makes the write bandwidth more balanced.
- the image processing apparatus provided by the present application can save memory overhead and improve storage resources.
- the utilization of the source in turn, can improve the efficiency of image processing.
- the second selector selects input data from the pixel buffer for the filter (horizontal filter or vertical filter) because there is no useless data in the pixel register, so that the output data of the filter can be guaranteed to be written. Rate equalization does not change with scaling. At the same time, the output bandwidth of the filter can be balanced.
- the number of pixel registers can be the same as the number of taps of the filter.
- the number of pixel registers may be greater than the number of taps of the filter, for example, equal to N times the number of taps of the filter, and N is an integer greater than one.
- the corresponding pixel may be selected from the buffer according to the second control information and stored in the idle pixel register, and the prepared filter is followed. Used, this can improve the processing efficiency of the filter.
- the following takes the structure shown in FIG. 3 as an example to generate an Nth behavior example of the target image, and assuming that the number of taps of the filter is 2, describing the process of image scaling.
- the row DDA 310 calculates the Nth row of the target image corresponding to the adjacent row number and row interpolation coefficient of the source image. Assume that the adjacent line number indicates two adjacent lines in the source image.
- the line prefetch unit 320 selects the adjacent two lines corresponding to the adjacent line numbers calculated by the row DDA 310 in the source image.
- the first selector 330 stores the adjacent two lines selected by the line prefetch unit 320 into the line buffer 0 and the line buffer 1, respectively.
- the line buffer 340 includes a line buffer 0 and a line buffer 1, for example, one of the two line buffers shown in FIG. 3 is a line buffer 0, and the other is a line buffer 1.
- the pixels in the Nth row of the column DDA 350 calculation target image correspond to adjacent pixel coordinates and column interpolation coefficients in the adjacent two rows.
- the column prefetch unit 360 selects the adjacent pixel coordinates calculated from the column DDA 350, selects the corresponding adjacent pixels in the horizontal direction from the pixels stored in the line buffer 0, and stores the adjacent pixels in the pixel register 0; The corresponding pixels in the horizontal direction are selected from the pixels stored in the line buffer 1, and these adjacent pixels are stored in the pixel register 1.
- the second selector 370 inputs the value of the pixel register 0 in the line buffer 0 and the value of the pixel register 1 in the line buffer 1 to the horizontal filter 380, respectively.
- the horizontal filter 380 performs an interpolation operation according to the value of the pixel register 0 input by the second selector 370 in combination with the column interpolation coefficient output by the DDA 350 to obtain a first column interpolation result; the horizontal filter 380 is based on the second selector 370. Enter the value of the pixel register 1, combined with the DDA 350 The column interpolation coefficient is output, and the interpolation operation is performed to obtain the second column interpolation result. The first column interpolation result and the second column interpolation result are then input to the vertical filter 390.
- the vertical filter 390 performs an interpolation operation based on the first column interpolation result and the second column interpolation result, and combines the row interpolation coefficients outputted by the row DDA 310, and outputs the Nth row of the target image after the interpolation operation is completed.
- the vertical filter 390 may output one pixel at a time, and the multiple output results form a row of pixels, and the plurality of rows of pixels constitute a target image.
- the vertical filter 390 may output one line of pixels at a time, and the multiple output results constitute a target image.
- the number of line buffers 340 is equal to twice the vertical filter.
- the line prefetch unit 320 can prefetch the target.
- the N+1th line of the image corresponds to two adjacent rows of the source image, and the first selector 330 stores the N+1th row of the target image to the adjacent two rows of the source image and stores them in the line buffer 2 and the line buffer.
- the device 3 prepares for the selection switching of the subsequent second selector 370.
- the resource utilization rate can be further improved, the system concurrency is improved, and the efficiency of image processing is improved.
- FIGS. 1, 2, and 3 only show portions related to the embodiments of the present application.
- the image processing apparatus can be used to implement scaling of one-dimensional images (lines), zooming of two-dimensional images, and scaling of three-dimensional images.
- the image processing apparatus provided by the embodiments of the present application can be applied to returning an aerial camera image to a scene of a ground station or a remote controller.
- the image processing apparatus provided by the embodiment of the present application may be located on a drone.
- the embodiment of the present application further provides an image processing circuit 400, which includes an image processing device 420 and an output module 420.
- the image processing device 420 is configured to perform a scaling process on the source image to obtain a target image.
- the output module 420 is configured to output a target image obtained by the image processing device 420.
- Image processing device 420 corresponds to the image in any of the above embodiments Processing device.
- FIG. 5 is a schematic flowchart of an image processing method according to an embodiment of the present invention.
- the method of Figure 5 can be performed by the graphics processing apparatus above.
- the method of FIG. 5 may include steps 510-530, which are described in detail below.
- the target image to be generated corresponds to the first control information of the source image and the first interpolation coefficient, where the first control information represents data used to generate the target image in the source image.
- Step 510 can be performed by the first control unit described in the apparatus embodiment above, such as by DDA.
- the operation of selecting the first input data in step 520 may be performed by the first prefetch unit described in the apparatus embodiment above.
- the operation of storing the first input data in the buffer in step 520 may be performed by the first prefetch unit, or may be performed by the first selector in the above device embodiment.
- the number of buffers is only related to the number of taps of the filter, and the storage pressure can be reduced regardless of the scaling ratio, and the storage resource utilization rate can also be improved, thereby improving the efficiency of data processing.
- the number of the buffers is greater than or equal to 2 times the number of taps of the first filter; the image processing method further includes: selecting, corresponding to the first control information, the source control image Second input data; storing the second input data in the buffer while the first filter processes the first input data.
- This embodiment can improve storage resource utilization, improve system concurrency, and further improve image processing efficiency.
- step 520 specifically includes: storing the first input data into the selected buffer; the image processing method further includes: selecting data stored in the buffer, and selecting The data is input to the first filter.
- the first input data may be stored in the selected buffer by the first selector in the above device embodiment.
- the data stored in the buffer can be selected by the second selector in the above device embodiment, and the selected data is input to the first filter.
- the buffer further includes a pixel register, and the pixel register is configured to store some or all of the data stored in the buffer according to the first control information.
- the image processing method further includes: inputting the selected one of the pixels stored in the pixel buffer into the first filter.
- the selected one of the pixels stored in the pixel buffer can be input to the first filter by the second selector in the above device embodiment.
- the step 510 includes: determining that the row of the target image corresponds to the first control information of the source image and the first interpolation coefficient, where the first control information indicates that the row in the target image corresponds to a row.
- the image processing method further includes: determining that the pixels in the row of the target image correspond to the second control information of the source image and the second interpolation coefficient, the second control information indicating that the pixels in the row in the target image correspond to the pixel a neighboring pixel in the source image; selecting third input data corresponding to the second control information from the data stored in the buffer, and storing the third input data in a pixel register of the buffer.
- Step 530 specifically includes: combining the first filter by the second filter, performing an interpolation operation based on the first interpolation coefficient, the second interpolation coefficient, and data stored in the pixel register to generate the target image.
- the step 530 specifically includes: performing, by using the second filter, performing interpolation on the data stored in the pixel buffer based on the second interpolation coefficient to obtain an intermediate result;
- the filter performs an interpolation operation based on the first interpolation coefficient and the intermediate result to generate the target image.
- step 530 specifically includes: performing, by using the second filter, performing interpolation on the data stored in the pixel buffer based on the first interpolation coefficient to obtain an intermediate result;
- the filter performs an interpolation operation based on the second interpolation coefficient and the intermediate result to generate the target image.
- the image processing method further includes: inputting the selected one of the pixels stored in the pixel register into the first filter or the second filter.
- the image processing apparatus, method and corresponding circuit provided by the present application can improve the utilization of storage resources, thereby improving the efficiency of image processing and saving memory overhead.
- the computer program product includes one or more computer instructions.
- the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
- the computer instructions can be stored in a computer readable storage medium or transferred from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be from a website site, computer, server or data center Transmission to another website site, computer, server or data center via wired (eg coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (eg infrared, wireless, microwave, etc.).
- the computer readable storage medium can be any available media that can be accessed by a computer or a data storage device such as a server, data center, or the like that includes one or more available media.
- the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (such as a digital video disc (DVD)), or a semiconductor medium (such as a solid state disk (SSD)).
- a magnetic medium for example, a floppy disk, a hard disk, a magnetic tape
- an optical medium such as a digital video disc (DVD)
- a semiconductor medium such as a solid state disk (SSD)
- the disclosed systems, devices, and methods may be implemented in other manners.
- the device embodiments described above are merely illustrative.
- the division of the unit is only a logical function division.
- there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
- the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
- the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
- each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
提供一种图像处理装置、方法及相关电路。该图像处理装置包括第一控制单元,用于确定待生成的目标图像对应到源图像的第一控制信息与第一插值系数,第一控制信息表示源图像中用于生成目标图像的数据;第一预取单元,用于从源图像中选取第一控制信息对应的第一输入数据;缓冲器,用于缓存第一输入数据;第一滤波器,用于基于第一插值系数以及缓冲器中存储的第一输入数据进行插值运算,生成目标图像,其中,缓冲器的数量大于或等于第一滤波器的抽头数。通过确定源图像中用于生成目标图像的有用数据,将该有用数据存入缓存器,然后进行后续处理,可以节省存储器开销,提高存储资源的利用率,进而可以提高图像处理的效率。
Description
版权申明
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。
本申请涉及图像处理领域,并且更为具体地,涉及一种图像处理装置、方法及相关电路。
在计算机图像处理和计算机图形学中,图像缩放(image scaling)是指对数字图像的大小进行调整的过程。通过对源图像进行图像缩放得到目标图像。
在现有的图像缩放方案中,通常先将源图像按行依次进行缓存,然后对缓存的数据进行相应的缩放处理,最终获得目标图像。
但是,在由源图像获得目标图像的过程中,并非源图像中的所有数据都会用到,因此,现有的图像缩放方案会造成存储资源的浪费,降低存储资源的利用率,也会降低图像处理的效率。
发明内容
本申请提供一种图像处理装置、方法及相关电路,可以节省存储器开销,提高存储资源的利用率,进而可以提高图像处理的效率。
第一方面,提供一种图像处理装置,所述图像处理装置包括:第一控制单元,用于确定待生成的目标图像对应到源图像的第一控制信息与第一插值系数,所述第一控制信息表示所述源图像中用于生成所述目标图像的数据;第一预取单元,用于从所述源图像中选取所述第一控制信息对应的第一输入数据;缓冲器,用于缓存所述第一输入数据;第一滤波器,用于基于所述第一插值系数以及所述缓冲器中存储的第一输入数据进行插值运算,生成所述目标图像,其中,所述缓冲器的数量大于或等于所述第一滤波器的抽头数。
第二方面,提供一种图像处理电路,所述图像处理电路包括:输出模块
与第一方面提供的图像处理装置。所述输出模块用于输出所述图像处理模块生成的目标图像。
第三方面,提供一种图像处理方法,所述图像处理方法包括:确定待生成的目标图像对应到源图像的第一控制信息与第一插值系数,所述第一控制信息表示所述源图像中用于生成所述目标图像的数据;从所述源图像中选取所述第一控制信息对应的第一输入数据,并将所述第一输入数据存入缓冲器;通过第一滤波器,基于所述第一插值系数以及所述缓冲器中存储的第一输入数据进行插值运算,生成所述目标图像,其中,所述缓冲器的数量大于或等于所述第一滤波器的抽头数。
本申请首先确定源图像中用于生成目标图像的有用数据,将该有用数据存入缓存器,然后进行后续的处理,从而可以在一定程度上避免存储无用数据的存储资源,可以节省存储器开销,提高存储资源的利用率,进而可以提高图像处理的效率。
图1是本发明一个实施例提供的图像处理装置的结构示意图。
图2是本发明另一个实施例提供的图像处理装置的结构示意图。
图3是本发明再一个实施例提供的图像处理装置的结构示意图。
图4是本发明实施例提供的图像处理电路的结构示意图。
图5是本发明实施例提供的图像处理方法的示意性流程图。
为了便于理解本申请的方案,下面首先介绍一下图像缩放的基本原理。
图像缩放指的是图像的缩小与放大。在本文中,所提及的图像均指的是点阵图,即用一个像素矩阵来描述图像。通常,将待缩放的图像记为源图像,将源图像经过缩放后得到的图像记为目标图像。
例如,源图像为一个3×3的256级灰度图,也就是高为3个像素,宽为3个像素的图像,每个像素的取值可以是0-255,一个像素的取值代表该像素的亮度,255代表最亮,也就是白色,0代表最暗,即黑色。例如,源图像的像素矩阵如下所示:
234 38 22
67 44 12
89 65 63
像素矩阵中,像素的坐标(x,y)是这样确定的,x从左到右,为从零开始的整数,y从上到下,也是从零开始的整数。
假设要将该3×3的源图像放大为4×4的图像,即目标图像为高为4个像素,宽为4个像素的图像,但是目前目标图像中每个像素的取值是未知的,需要根据源图像中像素的取值来计算。当目标图像中每个像素的取值都计算得到后,则该目标图像也就生成了。
根据源图像中像素的取值计算目标图像的像素的取值的基本原理为,首先确定目标图像中的像素对应到源图像中的临近像素,然后根据该临近像素的取值来计算目标图像中像素的取值。
假设,目标图像中坐标为(x,y)的像素对应到源图像中的临近像素包括源图像中坐标分别为(x1,y1)、(x2,y2)、(x3,y3)与(x4,y4)的像素,则可以根据如下公式(1)计算目标图像中坐标为(x,y)的像素的取值f(x,y):
f(x,y)=v1×f(x1,y1)+v2×f(x2,y2)+v3×f(x3,y3)+v4×f(x4,y4) (1)
其中,f(x1,y1)、f(x2,y2)、f(x3,y3)与f(x4,y4)分别为源图像中坐标分别为(x1,y1)、(x2,y2)、(x3,y3)与(x4,y4)的像素的取值,v1、v2、v3与v4为插值系数。
当前技术中,获得目标图像中的像素对应到源图像中的临近像素的方法有很多,例如,使用数字微分分析仪(digital differential analyzer,DDA)获得目标图像中的像素对应到源图像中的临近像素以及插值系数。根据源图像中像素的取值计算目标图像的像素的取值的算法也有很多,例如,最邻近插值算法、双线性内插值算法等,本申请对此不作限定。
在现有的图像缩放方案中,通常先将源图像按行依次存入缓冲器,然后进行后续的缩放处理,最终获得目标图像。但是,当目标图像相对于源图像缩小时,可能只使用源图像中的部分像素点来计算目标图像中各个像素的取值,例如,当目标图像相对于源图像行数减少,即在垂直方向上缩小时,可能只使用源图像中的部分行来计算目标图像中各个像素的取值,则源图像中的剩余部分行就是无用的行,对于不均匀的放大,也存在硬件资源的浪费。如果采用现有的图像缩放方案,会导致缓冲器中存在无用的行数据,降低了存储资源的利用率,也会降低图像处理的效率。
针对上述问题,本申请提出一种图像处理装置、方法及相关电路,可以节省存储器开销,提高存储资源的利用率,进而可以提高图像处理的效率。
图1为本申请提出的图像处理装置100的示意性框图。图像处理装置100包括第一控制单元110、第一预取单元120、缓冲器130以及第一滤波器140。
第一控制单元110,用于确定待生成的目标图像对应到源图像的第一控制信息与第一插值系数,该第一控制信息表示该源图像中用于生成该目标图像的数据。
具体地,该第一控制信息表示目标图像中的像素对应到源图像中的临近像素。第一插值系数表示由源图像中的临近像素获得目标图像中的像素所需的插值系数,例如,上文公式(1)中的V1、V2、V3与V4。
具体地,第一控制单元110可以采用当前技术中的最邻近插值算法、双线性内插值算法或其它插值算法,来确定该第一控制信息与第一插值系数,本申请对比不作限定。
应理解,源图像到目标图像的不同缩放比例,以及所采用的插值算法的不同,会使得该第一控制信息的含义不同。
可选地,作为一种示例,该第一控制信息表示目标图像中的行(或列)对应到源图像中的临近行(或邻近列)。
例如,该第一控制信息表示源图像中的相邻两行,或者非相邻两行,或者非相邻多行。
再例如,该第一控制信息表示源图像中的相邻两列,或者,非相邻两列,或者,非相邻多列。
应理解,当目标图像相对于源图像只有一个维度上的缩放,例如只有水平方向的缩放(列的缩放),或者,只有垂直方向的缩放(行的缩放)时,该第一控制信息可以表示目标图像中的行(或列)对应到源图像中的临近行(或邻近列)。
可选地,作为另一种示例,该第一控制信息表示源图像中一行(或一列)中的相邻两个像素,或者非相邻两个像素,或者,非相邻的多个像素。
第一预取单元120,用于从该源图像中选取该第一控制单元110输出的该第一控制信息对应的第一输入数据。
例如,第一控制信息表示源图像中的相邻两行,则该第一预取单元120从源图像中选取该相邻两行的像素。
再例如,第一控制信息表示源图像中的相邻两列,则该第一预取单元120从源图像中选取该相邻两列的像素。
再例如,第一控制信息表示源图像中的相邻两个像素,则该第一预取单元120从源图像中选取该相邻两个像素。
可选地,该第一预取单元120将选取的第一输入数据输入到缓冲器130中。
缓冲器130,用于缓存该第一预取单元120选取的该第一输入数据。
具体地,假设该第一预取单元120选取的第一输入数据需要输入到多个缓冲器130中,将这些输入数据并行输入到多个缓冲器130中。
相对于现有技术中将源图像按行串行输入缓冲器,本实施例的方案可以提高图像处理的效率。
第一滤波器140,用于基于该第一控制单元110输出的该第一插值系数以及该缓冲器130中存储的第一输入数据进行插值运算,生成该目标图像。
例如,第一滤波器140根据如公式(1)所示的算法,就有第一输入数据与第一插值系数进行插值运算。
应理解,第一滤波器140进行插值运算所针对的数据可以是缓冲器中的全部数据,也可以是根据第一控制信息所指示的缓冲器中的部分数据。
需要说明的是,本申请中提及的滤波器均为多抽头滤波器,即滤波器的抽头数至少为2。
应理解,滤波器的抽头数指的是,滤波器的每一级都保存了一个经过延时的输入样值,各级的输入连接和输出连接被称为抽头。例如,一个M阶的有限长单位冲激响应(finite impulse response,FIR)滤波器将有M+1个抽头。
在本申请中,缓冲器130的数量等于第一滤波器140的抽头数的倍数。
例如,第一滤波器140的抽头数为2,则缓冲器130的数量等于2或4。在现有技术中,将源图像按行依次存入多个行缓冲器,每个行缓冲器的输出为下一个行缓冲器的输入,每个行缓冲器的输出串行输入像素阵列。这种情形下,使得缓冲器的数量取决于缩放比例与滤波器的抽头数。
在本申请中,首先确定源图像中用于生成目标图像的有用数据,将该有用数据存入缓存器,然后进行后续的处理,从而使得缓冲器的数量仅取决于第一滤波器的抽头数,与源图像到目标图像的缩放比例无关。
例如,从源图像到目标图像的垂直缩放比例为4:1,换句话说,源图像
中的4行对应目标图像中的1行。假设滤波器的抽头数为2。在现有技术中,缓冲器的数量得至少为4,且其中有2个缓冲器存储的是无用的数据。而在本申请的方案中,缓冲器的数量为2即可。
在本申请中,缓冲器的数量只与滤波器的抽头数有关,与缩放比例无关,能够降低图像处理装置的存储压力,减小存储的时间,许多不需要的数据将不用进行读取。
因此,在本申请提供的方案中,首先确定源图像中用于生成目标图像的有用数据,将该有用数据存入缓存器,然后进行后续的处理,从而可以在一定程度上避免存储无用数据的存储资源,可以节省存储器开销,提高存储资源的利用率,进而可以提高图像处理的效率。
可选地,在本实施例中,用于输出控制信息与插值系数的控制单元为数字微分分析仪(digital differential analyzer,DDA)。
DDA本质就是一个累加器,根据目标图像的行/列计数信息,产生用于在源图像中进行行或列选择的控制信息以及用于滤波器的插值系数。DDA的初始相位和步长与缩放比率相关,其中步长实现目标图像每移动一个像素映射到源图像移动的像素或子像素个数,子像素用于当步长小于单个像素或者步长存在小数部分导致落入原始图像像素之间的情况。
在图1所示实施例中,第一控制单元可以由DDA实现。
应理解,第一控制单元还可以由其他能够实现确定待生成的目标图像对应到源图像的第一控制信息与第一插值系数的功能的设备实现。
可选地,在某些实施例中,缓冲器130的数量大于或等于第一滤波器140的抽头数,该第一预取单元120还用于,从该源图像中选取该第一控制信息对应的第二输入数据;该缓冲器130还用于,在该第一滤波器处理该第一输入数据的同时,缓存该第二输入数据。
具体地,第一输入数据为源图像中用于生成目标图像的一部分像素的部分临近像素,第二输入数据为源图像中用于生成目标图像的另一部分像素的部分另一部分临近像素。在本实施例中,当第一滤波器140进行插值运算,以生成目标图像的一部分像素的同时,缓冲器130中已经缓存了用于生成目标图像的另一部分像素的输入数据,这样能够使得第一滤波器的插值运算不中断,从而可以提高图像处理的效率。
因此,本实施例提供的方案,可以有效提高图像处理的效率。
可选地,在本实施例中,该图像处理装置100还包括:
第一选择器,用于将该第一输入数据存入被选择的缓冲器130。
第二选择器,用于选择缓冲器130中存储的数据,并将被选择的数据输入第一滤波器140。
具体地,第一选择器可以将该第一输入数据存入当前空闲的缓冲器130中,或者可以将该第一输入数据存入指定的缓冲器130中。例如,图像处理装置100中包括四个缓冲器231,232,233,234,其中,缓冲器232与233空闲,第一预取单元130选取的第一输入数据为源图像中的第一行与第二行数据,第一选择器从4个缓冲器中选择空闲的缓冲器232与233,然后将源图像中的第一行与第二行数据分别存入缓冲器232与233。
具体地,第二选择器用于从缓冲器130存储的数据中选取与第一滤波器的抽头数相对应的数据输入到第一滤波器中。
可选地,在本实施例中,缓冲器130中还包括像素暂存器,该像素暂存器用于根据该第一控制信息存储该缓冲器130中存储的数据中的部分或全部像素。
具体地,该第二选择器具体用于,将该像素暂存器中存储的像素中被选择的像素输入该第一滤波器中。
应理解,一个滤波器只负责一个方向上的缩放。当源图像到目标图像同时具有水平方向上的缩放与垂直方向上的缩放,则图像处理装置至少需要两个滤波器,相应地,也需要至少两个控制单元(例如DDA)。
图2为本申请另一实施例提供的图像处理装置200的示意性框图。该图像处理装置200包括第一控制单元210、第一预取单元220、缓冲器230、第一滤波器240、第二控制单元250、第二预取单元260以及第二滤波器270。
第一控制单元210,用于确定待生成的目标图像对应到源图像的第一控制信息与第一插值系数,该第一控制信息表示该目标图像中的行对应到该源图像中的临近行。
具体地,第一控制单元210可以采用当前技术中的最邻近插值算法、双线性内插值算法或其它插值算法,来确定该第一控制信息与第一插值系数。
第一预取单元220,用于从该源图像中选取该第一控制单元210输出的该第一控制信息对应的第一输入数据。
例如,第一控制信息表示源图像中的相邻两行,则该第一预取单元120
从源图像中选取该相邻两行的像素。
可选地,该第一预取单元220将选取的第一输入数据输入到缓冲器230中。
缓冲器230,用于缓存该第一预取单元220选取的该第一输入数据。
具体地,假设该第一预取单元220选取的第一输入数据需要输入到多个缓冲器230中,将这些输入数据并行输入到多个缓冲器230中。
如图2所示,该缓冲器230中包括像素暂存器。
第二控制单元250,用于确定该目标图像的行中的像素对应到该源图像的第二控制信息与第二插值系数,该第二控制信息表示该目标图像中的行中的像素对应到该源图像中的临近像素。
第二预取单元260,用于从该缓冲器230中存储的数据中选取该第二控制信息对应的第三输入数据,并将该第三输入数据存入该缓冲器230的像素暂存器中。
第一滤波器240与第二滤波器270,用于基于该第一插值系数、该第二插值系数以及该像素暂存器中存储的数据进行插值运算,生成该目标图像。
在本实施例中,缓冲器230中存储的都是有用的行,像素暂存器中存储的都是有用的像素,从而可以有效提高图像处理装置的资源利用率。
可选地,在图2所示实施例中,该第二滤波器270具体用于,基于该第二插值系数与该像素暂存器中存储的数据进行插值运算,得到中间结果;该第一滤波器240具体用于,基于该第一插值系数与该中间结果进行插值运算,生成得该目标图像。
在本实施例中,先进行列插值,然后进行行插值。
可选地,在图2所示实施例中,该第二滤波器270具体用于,基于该第一插值系数与该像素暂存器中存储的数据进行插值运算,得到中间结果;该第一滤波器240具体用于,基于该第二插值系数与该中间结果进行插值运算,生成得该目标图像。
在本实施例中,先进行行插值,然后进行列插值。
可选地,在图2所示实施例中,图像处理装置100还包括:第三选择器,用于将该第一输入数据存入被选择的该缓冲器;第四选择器,用于将该像素暂存器中存储的像素中被选择的像素输入该第一滤波器或该第二滤波器。
上述各个实施例中提及的控制单元(第一控制单元或第二控制单元)均
可以由DDA实现。为了便于理解与描述,在下面实施例中,以控制单元为DDA为例进行描述。
为了更好地理解本申请提出的图像处理装置,下面结合图3所示的示例,详细描述图像处理装置的结构与工作原理。
如图3所示,图像处理装置300包括行DDA 310、行预取单元320、第一选择器330、行缓冲器340、列DDA 350、列预取单元360、第二选择器370、水平滤波器380与垂直滤波器390。
行DDA 310,用于计算目标图像的行对应到源图像的临近行号和行插值系数。
行预取单元320,用于在源图像中选取行DDA 310计算的临近行号对应的行。
第一选择器330,用于将行预取单元320选取的行存入行缓冲器340。
具体地,第一选择器330将行预取单元320选取的行存入图像处理装置300中当前空闲的行缓冲器340中。
列DDA 350,用于计算目标图像的行中的像素对应到源图像中的临近像素坐标和列插值系数。
具体地,列DDA 350用于计算目标图像的行中的像素对应到源图像的行(行预取单元320选取的行)中的临近像素坐标和列插值系数。
应理解,列DDA 350可以在行缓冲器340被填充完一行像素后被启动。
列预取单元360,用于在行缓冲器340中存储的一行像素中选取列DDA 350计算得到的临近像素坐标对应的像素,并将选取的像素存入像素暂存器中。
列预取单元360中选出来的像素也可称为列像素。
第二选择器370,用于根据列DDA 350计算得到的临近像素坐标,在像素暂存器存储的像素中选取相应地像素,并将选取的像素的取值输入到水平滤波器380中。
具体地,第二选择器370用于,按照水平滤波器380的抽头数,从像素暂存器中存储的像素中选取相应数量的像素。
例如,水平滤波器380的抽头数为2,则第二选择器370从像素暂存器中选取2个像素的取值输入到水平滤波器380中。
应理解,像素暂存器中的像素的取值,最终都会输入到水平滤波器380
中进行处理。
水平滤波器380,用于根据第二选择器370输入的像素的取值以及列DDA 350计算得到的列插值系数,进行插值运算,得到列插值结果,并将该列插值结果输入垂直滤波器390。
垂直滤波器390,用于根据列插值结果,结合行DDA计算得到的行插值系数,完成插值运算,最终得到目标图像。
因此,在本申请提供的方案中,首先确定源图像中用于生成目标图像的有用数据,将该有用数据存入缓存器,然后进行后续的处理,从而可以在一定程度上避免存储无用数据的存储资源,可以节省存储器开销,提高存储资源的利用率,进而可以提高图像处理的效率。
应理解,本实施例中的行DDA对应于上述实施例中的第一控制单元,列DDA对应于上述实施例中的第二控制单元;行预取单元对应于上述实施例中的第一预取单元,列预取单元对应于上述实施例中的第二预取单元。
需要说明的是,水平滤波器380与垂直滤波器390的执行顺序可以互换,本实施例对此不作限定。
可选地,作为一个实施例,在列预取单元360将选出来的像素存入像素暂存器后,第二选择器370根据行DDA计算得到的临近行号,从M个行缓冲器对应的像素暂存器中选取同一列上的M个像素的取值,输入垂直滤波器390中,M等于垂直滤波器390的抽头数;垂直滤波器390根据第二选择器370输入的像素的取值,结合行DDA计算得到的行插值系数,进行插值运算,得到行插值结果,并将该行插值结果输入水平滤波器380中;水平滤波器根据该行插值结果,结合列DDA计算得到的列插值系数,进行插值运算,最终得到目标图像。
在本申请提供的图像处理装置中,像素暂存器中存储的像素均是用于生成目标图像的像素,即像素暂存器中没有无用的像素;行缓冲器中存储的行均是生成目标图像所需要的行数据,即行缓冲器中没有无用的行。因此,当垂直缩放比例小于1时,可以避免无用行的读取,省去用于存储无用行的行缓冲器,节省了读带宽和存储器资源;当水平缩放比例小于1时,可以避免无用像素的读取,使得后续滤波器流水线的利用率和写带宽不以水平缩放比例的变化而变化,提高了计算资源的利用率,也使得写带宽更均衡。
因此,本申请提供的图像处理装置,可以节省存储器开销,提高存储资
源的利用率,进而可以提高图像处理的效率。
此外,第二选择器从像素暂存器中为滤波器(水平滤波器或垂直滤波器)选取输入数据,因为像素暂存器中没有无用的数据,因此,可以保证滤波器的输出数据的写速率均衡,不以缩放比例的变化而变化,同时,也可以保证滤波器的输出带宽均衡。
可选的,像素暂存器的数量可以和滤波器的抽头数相同。
可选的,像素暂存器的数量可以大于滤波器的抽头数,例如,等于滤波器的抽头数的N倍,N为大于1的整数。
具体地,在滤波器对当前像素暂存器中存储的数据进行插值处理的同时,可以根据第二控制信息从缓冲器中选择对应的像素存入空闲的像素暂存器,已备滤波器后续使用,这样能够提高滤波器的处理效率。
下面以图3所示结构为例,以生成目标图像的第N行为例,假设滤波器的抽头数为2,描述图像缩放的过程。
行DDA 310计算目标图像的第N行对应到源图像的临近行号和行插值系数。假设临近行号指示源图像中的相邻两行。
行预取单元320在源图像中选取行DDA 310计算的临近行号对应的相邻两行。
第一选择器330将行预取单元320选取的相邻两行分别存入行缓冲器0和行缓存器1。应理解,行缓存器340包括行缓冲器0和行缓存器1,例如,图3中示出的两个行缓冲器中的一个为行缓冲器0,另一个为行缓冲器1。
列DDA 350计算目标图像的第N行中的像素对应到该相邻两行中的临近像素坐标和列插值系数。
列预取单元360根据列DDA 350计算得到的临近像素坐标,从行缓冲器0存储的像素中选取对应的水平方向上的相邻像素,并将这些相邻像素存入像素暂存器0;从行缓冲器1存储的像素中选取对应的水平方向上的相邻像素,并将这些相邻像素存入像素暂存器1。
第二选择器370分别将行缓冲器0中的像素暂存器0的值以及行缓冲器1中的像素暂存器1的值输入水平滤波器380。
水平滤波器380根据第二选择器370输入的像素暂存器0的值,结合DDA 350输出的列插值系数,进行插值运算,得到第一列插值结果;水平滤波器380根据第二选择器370输入的像素暂存器1的值,结合DDA 350输
出的列插值系数,进行插值运算,得到第二列插值结果。然后将该第一列插值结果与第二列插值结果输入到垂直滤波器390。
垂直滤波器390根据该第一列插值结果与第二列插值结果,并结合行DDA 310输出的行插值系数,进行插值运算,完成插值操作后,输出目标图像的第N行。
可选地,在上述示例中,垂直滤波器390可以一次输出一个像素,多次输出结果组成一行像素,多行像素组成目标图像。
可选地,在上述示例中,垂直滤波器390可以一次输出一行像素,多次输出结果构成目标图像。
可选地,在图3所示的实施例中,行缓冲器340的数量等于垂直滤波器的2倍。
假设,垂直滤波器和水平滤波器的抽头数都等于2,所以行缓冲器的数量等于4,其对应像素暂存器的数量也等于4。
在上述生成目标图像的第N行的例子中,在目标图像的第N行对应源图像的相邻两行存入行缓冲器0和行缓存器1后,行预取单元320可以预取目标图像的第N+1行对应到源图像的相邻两行,由第一选择器330将目标图像的第N+1行对应到源图像的相邻两行存入行缓冲器2和行缓冲器3,为后续第二选择器370的选择切换做准备。
在本实施例中,可以进一步提高资源利用率,提高系统并发度,进而提高图像处理的效率。
应理解,为了便于描述,图1、图2与图3仅示出与本申请实施例相关的部分。
还应理解,本申请的提供的图像处理装置可以用于实现一维图像(线)的缩放,也可以用于二维图像的缩放,还可以用于三维图像的缩放。
还应理解,本申请实施例提供的图像处理装置可以应用在,将无人机航拍的图像回传到地面站或遥控器的场景中。具体地,本申请实施例提供的图像处理装置可以位于无人机上。
如图4所示,本申请实施例还提供一种图像处理电路400,该图像处理电路400包括:图像处理装置420和输出模块420。图像处理装置420用于将源图像进行缩放处理,得到目标图像。输出模块420用于输出图像处理装置420获得的目标图像。图像处理装置420对应于上述任一实施例中的图像
处理装置。
上文结合图1至图4,详细描述了本发明的装置实施例,下面结合图5,详细描述本发明的方法实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面装置实施例。
图5是本发明实施例提供的图像处理方法的示意性流程图。图5的方法可由上文中的图形处理装置执行。图5的方法可以包括步骤510-530,下面对图5的步骤进行详细描述。
510,确定待生成的目标图像对应到源图像的第一控制信息与第一插值系数,该第一控制信息表示该源图像中用于生成该目标图像的数据。
步骤510可以通过由上述装置实施例中描述的第一控制单元执行,例如通过DDA执行。
520,从该源图像中选取该第一控制信息对应的第一输入数据,并将该第一输入数据存入缓冲器。
步骤520中选取第一输入数据的操作可以通过上述装置实施例中描述的第一预取单元执行。步骤520中将该第一输入数据存入缓冲器得到操作可以通过第一预取单元执行,也可以通过上述装置实施例中的第一选择器执行。
530,通过第一滤波器,基于该第一插值系数以及该缓冲器中存储的第一输入数据进行插值运算,生成该目标图像,其中,该缓冲器的数量大于或等于该第一滤波器的抽头数。
在本申请提供的方案中,使得缓冲器的数量只与滤波器的抽头数有关,与缩放比例无关,能够降低存储压力,同时也可以提高存储资源利用率,进而可以提高数据处理的效率。
可选地,在本实施例中,该缓冲器的数量大于或等于该第一滤波器的抽头数的2倍;该图像处理方法还包括:从该源图像中选取该第一控制信息对应的第二输入数据;在该第一滤波器处理该第一输入数据的同时,将该第二输入数据存入该缓冲器。
本实施例可以提高存储资源利用率,提高系统并发度,进一步提高图像处理的效率。
可选地,在本实施例中,步骤520具体包括:将该第一输入数据存入被选择的该缓冲器;该图像处理方法还包括:选择该缓冲器中存储的数据,并将被选择的数据输入该第一滤波器。
具体地,可以通过上述装置实施例中的第一选择器将该第一输入数据存入被选择的该缓冲器。可以通过上述装置实施例中的第二选择器选择该缓冲器中存储的数据,并将被选择的数据输入该第一滤波器。
可选地,在本实施例中,该缓冲器中还包括像素暂存器,该像素暂存器用于根据该第一控制信息存储该缓冲器中存储的数据中的部分或全部像素。
具体地,该图像处理方法还包括:将该像素暂存器中存储的像素中被选择的像素输入该第一滤波器中。
可以通过上述装置实施例中的第二选择器将该像素暂存器中存储的像素中被选择的像素输入该第一滤波器中。
可选地,在本实施例中,步骤510具体包括:确定该目标图像的行对应到该源图像的第一控制信息与第一插值系数,该第一控制信息表示该目标图像中的行对应到该源图像中的临近行。该图像处理方法还包括:确定该目标图像的行中的像素对应到该源图像的第二控制信息与第二插值系数,该第二控制信息表示该目标图像中的行中的像素对应到该源图像中的临近像素;从该缓冲器中存储的数据中选取该第二控制信息对应的第三输入数据,并将该第三输入数据存入该缓冲器的像素暂存器中。步骤530具体包括:通过第二滤波器结合该第一滤波器,基于该第一插值系数、该第二插值系数以及该像素暂存器中存储的数据进行插值运算,生成该目标图像。
具体地,可以通过
可选地,在本实施例中,步骤530具体包括:通过该第二滤波器,基于该第二插值系数与该像素暂存器中存储的数据进行插值运算,得到中间结果;通过该第一滤波器,基于该第一插值系数与该中间结果进行插值运算,生成得该目标图像。
可选地,在本实施例中,步骤530具体包括:通过该第二滤波器,基于该第一插值系数与该像素暂存器中存储的数据进行插值运算,得到中间结果;通过该第一滤波器,基于该第二插值系数与该中间结果进行插值运算,生成得该目标图像。
可选地,在本实施例中,该图像处理方法还包括:将该像素暂存器中存储的像素中被选择的像素输入该第一滤波器或该第二滤波器。
因此,本申请提供的图像处理装置、方法与对应的电路,能够提高存储资源的利用率,进而可以提高图像处理的效率,同时也可以节省存储器开销。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (21)
- 一种图像处理装置,其特征在于,包括:第一控制单元,用于确定待生成的目标图像对应到源图像的第一控制信息与第一插值系数,所述第一控制信息表示所述源图像中用于生成所述目标图像的数据;第一预取单元,用于从所述源图像中选取所述第一控制信息对应的第一输入数据;缓冲器,用于缓存所述第一输入数据;第一滤波器,用于基于所述第一插值系数以及所述缓冲器中存储的第一输入数据进行插值运算,生成所述目标图像,其中,所述缓冲器的数量大于或等于所述第一滤波器的抽头数。
- 根据权利要求1所述的图像处理装置,其特征在于,所述缓冲器的数量大于或等于所述第一滤波器的抽头数的2倍;所述第一预取单元还用于,从所述源图像中选取所述第一控制信息对应的第二输入数据;所述缓冲器还用于,在所述第一滤波器处理所述第一输入数据的同时,缓存所述第二输入数据。
- 根据权利要求1或2所述的图像处理装置,其特征在于,所述图像处理装置还包括:第一选择器,用于将所述第一输入数据存入被选择的所述缓冲器;第二选择器,用于选择所述缓冲器中存储的数据,并将被选择的数据输入所述第一滤波器。
- 根据权利要求3所述的图像处理装置,其特征在于,所述缓冲器中还包括像素暂存器,所述像素暂存器用于根据所述第一控制信息存储所述缓冲器中存储的数据中的部分或全部像素。
- 根据权利要求4所述的图像处理装置,其特征在于,所述第二选择器具体用于,将所述像素暂存器中存储的像素中被选择的像素输入所述第一滤波器中。
- 根据权利要求1所述的图像处理装置,其特征在于,所述第一控制单元具体用于,确定所述目标图像的行对应到所述源图像的第一控制信息与第一插值系数,所述第一控制信息表示所述目标图像中的 行对应到所述源图像中的临近行;所述图像处理装置还包括:第二控制单元,用于确定所述目标图像的行中的像素对应到所述源图像的第二控制信息与第二插值系数,所述第二控制信息表示所述目标图像中的行中的像素对应到所述源图像中的临近像素;第二预取单元,用于从所述缓冲器中存储的数据中选取所述第二控制信息对应的第三输入数据,并将所述第三输入数据存入所述缓冲器的像素暂存器中;第二滤波器,用于结合所述第一滤波器,基于所述第一插值系数、所述第二插值系数以及所述像素暂存器中存储的数据进行插值运算,生成所述目标图像。
- 根据权利要求6所述的图像处理装置,其特征在于,所述第二滤波器具体用于,基于所述第二插值系数与所述像素暂存器中存储的数据进行插值运算,得到中间结果;所述第一滤波器具体用于,基于所述第一插值系数与所述中间结果进行插值运算,生成得所述目标图像。
- 根据权利要求6所述的图像处理装置,其特征在于,所述第二滤波器具体用于,基于所述第一插值系数与所述像素暂存器中存储的数据进行插值运算,得到中间结果;所述第一滤波器具体用于,基于所述第二插值系数与所述中间结果进行插值运算,生成得所述目标图像。
- 根据权利要求6至8中任一项所述的图像处理装置,其特征在于,所述图像处理装置还包括:第三选择器,用于将所述第一输入数据存入被选择的所述缓冲器;第四选择器,用于选择所述像素暂存器中存储的像素,并将被选择的像素输入所述第一滤波器或所述第二滤波器。
- 根据权利要求1所述的图像处理装置,其特征在于,所述第一控制单元为数字微分分析仪DDA。
- 一种图像处理电路,其特征在于,所述图像处理电路包括输出模块与如权利要求1至10中任一项所述的图像处理装置,所述输出模块用于输出所述图像处理装置生成的目标图像。
- 一种图像处理方法,其特征在于,包括:确定待生成的目标图像对应到源图像的第一控制信息与第一插值系数,所述第一控制信息表示所述源图像中用于生成所述目标图像的数据;从所述源图像中选取所述第一控制信息对应的第一输入数据,并将所述第一输入数据存入缓冲器;通过第一滤波器,基于所述第一插值系数以及所述缓冲器中存储的第一输入数据进行插值运算,生成所述目标图像,其中,所述缓冲器的数量大于或等于所述第一滤波器的抽头数。
- 根据权利要求12所述的图像处理方法,其特征在于,所述缓冲器的数量大于或等于所述第一滤波器的抽头数的2倍;所述图像处理方法还包括:从所述源图像中选取所述第一控制信息对应的第二输入数据;在所述第一滤波器处理所述第一输入数据的同时,将所述第二输入数据存入所述缓冲器。
- 根据权利要求12或13所述的图像处理方法,其特征在于,所述将所述第一输入数据存入缓冲器,包括:将所述第一输入数据存入被选择的所述缓冲器;所述图像处理方法还包括:选择所述缓冲器中存储的数据,并将被选择的数据送入所述第一滤波器。
- 根据权利要求14所述的图像处理方法,其特征在于,所述缓冲器中还包括像素暂存器,所述像素暂存器用于根据所述第一控制信息存储所述缓冲器中存储的数据中的部分或全部像素。
- 根据权利要求15所述的图像处理方法,其特征在于,所述将所述缓冲器中存储的数据中被选择的数据送入所述第一滤波器,包括:将所述像素暂存器中存储的像素中被选择的像素送入所述第一滤波器中。
- 根据权利要求12所述的图像处理方法,其特征在于,所述确定待生成的目标图像对应到源图像的第一控制信息与第一插值系数,包括:确定所述目标图像的行对应到所述源图像的第一控制信息与第一插值 系数,所述第一控制信息表示所述目标图像中的行对应到所述源图像中的临近行;所述图像处理方法还包括:确定所述目标图像的行中的像素对应到所述源图像的第二控制信息与第二插值系数,所述第二控制信息表示所述目标图像中的行中的像素对应到所述源图像中的临近像素;从所述缓冲器中存储的数据中选取所述第二控制信息对应的第三输入数据,并将所述第三输入数据存入所述缓冲器的像素暂存器中;所述通过第一滤波器,基于所述第一插值系数以及所述缓冲器中存储的第一输入数据进行插值运算,生成所述目标图像,包括:通过第二滤波器结合所述第一滤波器,基于所述第一插值系数、所述第二插值系数以及所述像素暂存器中存储的数据进行插值运算,生成所述目标图像。
- 根据权利要求17所述的图像处理方法,其特征在于,所述通过第二滤波器结合所述第一滤波器,基于所述第一插值系数、所述第二插值系数以及所述像素暂存器中存储的数据进行插值运算,生成所述目标图像,包括:通过所述第二滤波器,基于所述第二插值系数与所述像素暂存器中存储的数据进行插值运算,得到中间结果;通过所述第一滤波器,基于所述第一插值系数与所述中间结果进行插值运算,生成得所述目标图像。
- 根据权利要求17所述的图像处理方法,其特征在于,所述通过第二滤波器结合所述第一滤波器,基于所述第一插值系数、所述第二插值系数以及所述像素暂存器中存储的数据进行插值运算,生成所述目标图像,包括:通过所述第二滤波器,基于所述第一插值系数与所述像素暂存器中存储的数据进行插值运算,得到中间结果;通过所述第一滤波器,基于所述第二插值系数与所述中间结果进行插值运算,生成得所述目标图像。
- 根据权利要求17至19中任一项所述的图像处理方法,其特征在于,所述将所述第一输入数据存入缓冲器,包括:将所述第一输入数据存入被选择的所述缓冲器;所述图像处理方法还包括:选择所述像素暂存器中存储的像素,并将被选择的像素送入所述第一滤波器或所述第二滤波器。
- 根据权利要求12至20中任一项所述的图像处理方法,其特征在于,所述确定待生成的目标图像对应到源图像的第一控制信息与第一插值系数,包括:通过数字微分分析仪DDA,确定所述第一控制信息与所述第一插值系数。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/100027 WO2019041264A1 (zh) | 2017-08-31 | 2017-08-31 | 图像处理装置、方法及相关电路 |
CN201780004801.7A CN108521824A (zh) | 2017-08-31 | 2017-08-31 | 图像处理装置、方法及相关电路 |
US16/803,364 US20200193563A1 (en) | 2017-08-31 | 2020-02-27 | Image processing apparatus and method, and related circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/100027 WO2019041264A1 (zh) | 2017-08-31 | 2017-08-31 | 图像处理装置、方法及相关电路 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/803,364 Continuation US20200193563A1 (en) | 2017-08-31 | 2020-02-27 | Image processing apparatus and method, and related circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019041264A1 true WO2019041264A1 (zh) | 2019-03-07 |
Family
ID=63433091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2017/100027 WO2019041264A1 (zh) | 2017-08-31 | 2017-08-31 | 图像处理装置、方法及相关电路 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20200193563A1 (zh) |
CN (1) | CN108521824A (zh) |
WO (1) | WO2019041264A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115471404A (zh) * | 2022-10-28 | 2022-12-13 | 武汉中观自动化科技有限公司 | 图像缩放方法、处理设备及存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113422904A (zh) * | 2021-06-21 | 2021-09-21 | 安谋科技(中国)有限公司 | 图像数据处理方法、介质及电子设备 |
CN114679547A (zh) * | 2022-04-07 | 2022-06-28 | 海宁奕斯伟集成电路设计有限公司 | 图像处理设备、方法及程序 |
CN116010313A (zh) * | 2022-11-29 | 2023-04-25 | 中国科学院深圳先进技术研究院 | 一种通用、可配置的图像滤波计算多行输出系统和方法 |
CN117707625B (zh) * | 2024-02-05 | 2024-05-10 | 上海登临科技有限公司 | 支持指令多发的计算单元、方法及相应图形处理器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040145501A1 (en) * | 2002-10-22 | 2004-07-29 | Ching-Yu Hung | Resampling methods |
CN101035187A (zh) * | 2007-04-03 | 2007-09-12 | 华为技术有限公司 | 一种数据缓存方法、垂直缩放电路及终端 |
CN101374212A (zh) * | 2008-08-15 | 2009-02-25 | 上海茂碧信息科技有限公司 | 一种使用分级速度的存储器结构进行图像插值运算的方法 |
CN101409766A (zh) * | 2007-12-27 | 2009-04-15 | 华为技术有限公司 | 一种图像缩放方法及装置 |
CN102222317A (zh) * | 2011-06-22 | 2011-10-19 | 王洪剑 | 一种图像缩放方法和系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5406334A (en) * | 1993-08-30 | 1995-04-11 | Sony Corporation | Apparatus and method for producing a zoomed image signal |
JP3939772B2 (ja) * | 1995-09-21 | 2007-07-04 | 富士フイルム株式会社 | ディジタル画像処理装置 |
CN101179671B (zh) * | 2006-11-10 | 2010-09-22 | 上海奇码数字信息有限公司 | 图像缩放装置和图像缩放方法 |
CN101562006B (zh) * | 2008-04-14 | 2011-03-23 | 安凯(广州)微电子技术有限公司 | 一种图像缩放的方法及装置 |
CN102263880B (zh) * | 2010-05-25 | 2015-02-11 | 安凯(广州)微电子技术有限公司 | 一种图像缩放的方法和装置 |
CN104935831B (zh) * | 2015-06-12 | 2017-10-27 | 中国科学院自动化研究所 | 并行多相位图像插值装置和方法 |
-
2017
- 2017-08-31 WO PCT/CN2017/100027 patent/WO2019041264A1/zh active Application Filing
- 2017-08-31 CN CN201780004801.7A patent/CN108521824A/zh active Pending
-
2020
- 2020-02-27 US US16/803,364 patent/US20200193563A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040145501A1 (en) * | 2002-10-22 | 2004-07-29 | Ching-Yu Hung | Resampling methods |
CN101035187A (zh) * | 2007-04-03 | 2007-09-12 | 华为技术有限公司 | 一种数据缓存方法、垂直缩放电路及终端 |
CN101409766A (zh) * | 2007-12-27 | 2009-04-15 | 华为技术有限公司 | 一种图像缩放方法及装置 |
CN101374212A (zh) * | 2008-08-15 | 2009-02-25 | 上海茂碧信息科技有限公司 | 一种使用分级速度的存储器结构进行图像插值运算的方法 |
CN102222317A (zh) * | 2011-06-22 | 2011-10-19 | 王洪剑 | 一种图像缩放方法和系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115471404A (zh) * | 2022-10-28 | 2022-12-13 | 武汉中观自动化科技有限公司 | 图像缩放方法、处理设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108521824A (zh) | 2018-09-11 |
US20200193563A1 (en) | 2020-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019041264A1 (zh) | 图像处理装置、方法及相关电路 | |
US10085056B2 (en) | Method and system for improving application sharing by dynamic partitioning | |
KR101639852B1 (ko) | 그래픽 프로세싱을 위한 픽셀 값 압축 | |
CN101527134B (zh) | 一种显示方法、显示控制器及显示终端 | |
US8989509B2 (en) | Streaming wavelet transform | |
US8305495B2 (en) | Video processing device, video display device, and video processing method | |
JP6388865B2 (ja) | 相互関係のある二次元データセットを効率的かつ高速に処理するプロセッサ、システム、および方法 | |
JP5522174B2 (ja) | 動画像符号化装置 | |
JP2012530953A (ja) | 原画像をワープさせて表示する装置および方法 | |
US20060007247A1 (en) | Graphics resampling system and method for use thereof | |
CN109743562B (zh) | 基于Census算法的匹配代价计算电路结构及其工作方法 | |
JP2002328881A (ja) | 画像処理装置および画像処理方法並びに携帯用映像機器 | |
JP2011258207A (ja) | 多次元データをデータ競合なしで同時検索するための処理システム、データ構造およびデータ処理方法 | |
CN107657587A (zh) | 图像处理方法、装置及系统 | |
CN105427235A (zh) | 一种图像浏览方法及系统 | |
JP2012009025A (ja) | 多次元データを転置することで垂直フィルタと水平フィルタを切替えるためのシステム、データ構造、および方法 | |
US8938133B2 (en) | Image resizing apparatus and method that interpolates image blocks with abuttal regions | |
CN101425177A (zh) | 划分图像处理设备和方法以及控制因数计算设备 | |
KR20150009369A (ko) | 영상 처리 장치 및 영상 처리 방법 | |
CN101984668B (zh) | 适用于各种4×4插值滤波器的实时图像缩放引擎 | |
JP2007249791A (ja) | 画像処理装置および画像処理方法、並びにプログラム | |
EP3210191B1 (en) | Accelerated image gradient based on one-dimensional data | |
WO2022178786A1 (zh) | 一种图像处理器及图像处理设备 | |
US20040240755A1 (en) | Method and apparatus data re-arrangement | |
CN116957939A (zh) | 图像缩放方法、装置、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17923912 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17923912 Country of ref document: EP Kind code of ref document: A1 |