WO2014033867A1 - 画像変換プログラム、記録媒体、画像変換装置、および画像変換方法 - Google Patents
画像変換プログラム、記録媒体、画像変換装置、および画像変換方法 Download PDFInfo
- Publication number
- WO2014033867A1 WO2014033867A1 PCT/JP2012/071917 JP2012071917W WO2014033867A1 WO 2014033867 A1 WO2014033867 A1 WO 2014033867A1 JP 2012071917 W JP2012071917 W JP 2012071917W WO 2014033867 A1 WO2014033867 A1 WO 2014033867A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- pixel
- value
- pixels
- image conversion
- image
- Prior art date
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 378
- 238000000034 method Methods 0.000 title claims abstract description 239
- 239000000284 extract Substances 0.000 claims abstract description 8
- 238000004364 calculation method Methods 0.000 claims description 47
- 238000000605 extraction Methods 0.000 claims description 11
- 238000009792 diffusion process Methods 0.000 abstract description 79
- 230000000694 effects Effects 0.000 abstract description 15
- 230000007423 decrease Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 34
- 230000006870 function Effects 0.000 description 7
- 238000003491 array Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000004335 litholrubine BK Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000037303 wrinkles Effects 0.000 description 1
Images
Classifications
-
- G06T5/70—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/70—SSIS architectures; Circuits associated therewith
- H04N25/71—Charge-coupled device [CCD] sensors; Charge-transfer registers specially adapted for CCD sensors
- H04N25/75—Circuitry for providing, modifying or processing image signals from the pixel array
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/409—Edge or detail enhancement; Noise or error suppression
- H04N1/4092—Edge or detail enhancement
Definitions
- the present invention relates to an image conversion program, a recording medium, an image conversion apparatus, and an image conversion method.
- a technique for converting an image into an image with a blurring effect For example, there is a technique for calculating a blurring range for each pixel to be processed of an input image and performing a process of giving a blurring effect. Also, filtering is performed using a plurality of moving average filters of different sizes to generate a plurality of blurred images, and for each pixel corresponding to each other of the plurality of blurred image data, a weight is given to each blurred image, and each blur is applied. There is a technique in which an average value of image data is used as a composite blurred image.
- the process of giving the blurring effect is a process of distributing the pixel values evenly according to the aperture shape that is the blurring range for each pixel in the image, and thus the amount of calculation increases.
- An object of the present invention is to provide an image conversion program, a recording medium, an image conversion apparatus, and an image conversion method for reducing the processing time of a process for providing a blurring effect in order to eliminate the above-described problems caused by the prior art. To do.
- any pixel in the target pixel column among the pixel columns parallel to the target pixel column in the image to be converted To extract a first pixel column that overlaps with a region formed by a pixel group in a predetermined range and a second pixel column that has a number of pixels that continuously overlap with the region equal to or greater than the first pixel column.
- the first pixel group included in the first pixel group the first pixel group is included in the first pixel group from the end pixel in either the scanning direction of the target pixel column or the direction opposite to the scanning direction.
- the number of pixels up to one pixel is acquired, and the reverse direction in any direction from the end pixel in any direction of the second pixel group included in the region in the extracted second pixel column Identify the second pixel that is the number of pixels ahead and convert the image Proposed image conversion program, recording medium, image conversion apparatus, and image conversion method for calculating second pixel value when image is converted with reference to storage unit storing first pixel value in case Is done.
- FIG. 1A is an explanatory diagram (part 1) illustrating an operation example of the image conversion apparatus according to the present embodiment.
- FIG. 1B is an explanatory diagram (part 2) of an operation example of the image conversion apparatus according to the present embodiment.
- FIG. 2 is a block diagram illustrating a hardware configuration example of the image conversion apparatus.
- FIG. 3 is a block diagram illustrating a functional configuration example of the image conversion apparatus.
- FIG. 4 is an explanatory diagram showing a first example of the aperture shape and a first example of the contents stored in the aperture shape table.
- FIG. 5 is an explanatory diagram (part 1) of an operation example of image conversion processing.
- FIG. 6 is an explanatory diagram (part 2) of an operation example of image conversion processing.
- FIG. 1A is an explanatory diagram (part 1) illustrating an operation example of the image conversion apparatus according to the present embodiment.
- FIG. 1B is an explanatory diagram (part 2) of an operation example of the image conversion apparatus according to the present embodiment.
- FIG. 2 is
- FIG. 7 is an explanatory diagram (part 3) of an operation example of the image conversion process.
- FIG. 8 is a flowchart illustrating an example of an image conversion processing procedure when scanning in the x-axis direction.
- FIG. 9 is a flowchart illustrating an example of an initialization process procedure when scanning in the x-axis direction.
- FIG. 10 is a flowchart illustrating an example of a light energy value conversion processing procedure when scanning in the x-axis direction.
- FIG. 11 is a flowchart (part 1) illustrating an example of a light diffusion processing procedure when scanning in the x-axis direction.
- FIG. 12 is a flowchart (part 2) illustrating an example of a light diffusion processing procedure when scanning in the x-axis direction.
- FIG. 13 is a flowchart illustrating an example of an RGB value conversion processing procedure.
- FIG. 14 is an explanatory diagram illustrating an operation example of image conversion processing when the aperture shape table is not used.
- FIG. 15 is a flowchart (part 1) illustrating an example of a light diffusion processing procedure when the aperture shape table is not used.
- FIG. 16 is a flowchart (part 2) illustrating an example of the light diffusion processing procedure when the aperture shape table is not used.
- FIG. 17 is an explanatory diagram showing a second example of the aperture shape and a second example of the contents stored in the aperture shape table.
- FIG. 18 is a flowchart illustrating an example of an initialization process procedure when scanning in the y-axis direction.
- FIG. 19 is a flowchart illustrating an example of a light energy value conversion processing procedure when scanning in the y-axis direction.
- FIG. 20 is a flowchart (part 1) illustrating an example of a light diffusion processing procedure when scanning in the y-axis direction.
- FIG. 21 is a flowchart (part 2) illustrating an example of a light diffusion processing procedure when scanning in the y-axis direction.
- FIG. 20 is a flowchart (part 1) illustrating an example of a light diffusion processing procedure when scanning in the y-axis direction.
- FIG. 21 is a flowchart (part 2) illustrating an example of a light diffusion processing procedure when scanning in the y-axis direction.
- FIG. 22 is an explanatory diagram showing an
- FIG. 27 is a flowchart illustrating an example of the P acquisition processing procedure.
- FIG. 28 is a flowchart illustrating an example of an X / Y acquisition processing procedure.
- FIG. 29 is a flowchart illustrating an example of the Ro acquisition processing procedure.
- FIG. 30 is an explanatory diagram showing a third example of the aperture shape and a third example of the contents stored in the aperture shape table.
- FIG. 31 is an explanatory diagram of a fourth example of the aperture shape and a fourth example of the contents stored in the aperture shape table.
- FIG. 32 is a flowchart (part 1) illustrating an example of a conversion processing procedure from a light energy value to an RGB value.
- FIG. 33 is a flowchart (part 2) illustrating an example of a conversion processing procedure from a light energy value to an RGB value.
- FIG. 34 is an explanatory diagram (part 1) illustrating an example of the result of the image conversion processing in the present embodiment.
- FIG. 35 is an explanatory diagram (part 2) illustrating an example of the result of the image conversion processing in the present embodiment.
- FIG. 36 is an explanatory diagram showing a speed comparison between the image conversion processing for each pixel and the image conversion processing in the present embodiment.
- FIG. 1A is an explanatory diagram (part 1) of an operation example of the image conversion apparatus according to the present embodiment.
- the image conversion apparatus 100 is a computer that performs a process of giving a blurring effect to the original image and converts the original image as a blurred image.
- the image conversion apparatus 100 is a mobile terminal such as a smartphone or a mobile phone.
- the image conversion apparatus 100 displays a pop-up dialog while the image conversion apparatus 100 is being operated by the user.
- the image conversion apparatus 100 can give a visual effect to the user that the pop-up dialog is watched.
- the image conversion apparatus 100 reduces the calculation amount of the process that gives the blurring effect, thereby reducing the processing time.
- image conversion processing processing for converting an original image into a blurred image with a blurring effect is referred to as “image conversion processing”.
- the sizes of the original image and the blurred image are defined as a vertical width H [pixel] and a horizontal width W [pixel].
- the code of the original image is defined as IN
- the code of the blurred image is defined as OUT.
- the original image and the blurred image are in two-dimensional coordinates orthogonal to each other, and the horizontal axis is the x axis and the vertical axis is the y axis.
- the aperture shape 101 is an aperture shape designated in advance by the user.
- the designated aperture shape 101 is a shape of a region formed by a pixel group within a predetermined range from the diffusion source pixel.
- the pixel value may be an RGB value or a light energy value representing an exposure amount obtained by converting the RGB value.
- the light energy value is a value obtained by multiplying illuminance and time.
- the pixel group included in the aperture shape is 21 [pixel].
- the image conversion apparatus 100 aims to reduce the calculation amount of the blurring process.
- FIG. 1B (B1) to FIG. 1A (B3) are diagrams showing which pixels have an influence on the pixels overlapping the blurred shape.
- the scanning direction may be the x-axis direction, the y-axis direction, or an oblique direction different from the x-axis direction and the y-axis direction.
- the number of pixels in which the pixel row in the scanning direction overlaps the aperture shape 101 is referred to as “blur amount”.
- the relative position in the region may be viewed from the scanning direction. Since both the first pixel and the second pixel are included in the aperture shape 101, the first pixel and the second pixel are affected by the diffusion source pixel IN [5] [6].
- the first pixel is affected by the diffusion source pixel IN [5] [4] to the diffusion source pixel IN [5] [6].
- the second pixel is affected by the diffusion source pixel IN [5] [2] to the diffusion source pixel IN [5] [6]. Therefore, the first pixel and the second pixel share a part of the affected pixels, so that the calculation result can be reused.
- the number of affected pixels matches the amount of blur. The reuse of calculation results will be described with reference to FIG.
- FIG. 1B is an explanatory diagram (part 2) illustrating an operation example of the image conversion apparatus according to the present embodiment.
- the image conversion apparatus 100 refers to the storage unit that stores the value of the first pixel when the original image IN is converted, and calculates the value of the second pixel when the original image IN is converted. Specifically, the image conversion apparatus 100 converts the value of the first pixel, the value of the diffusion source pixel IN [5] [2], and the diffusion source pixel IN [5] [3] when the original image IN is converted. ] Is the value of the second pixel when the original image IN is converted.
- the image conversion apparatus 100 When the value of the first pixel when the original image IN is converted is not referred to, the image conversion apparatus 100 adds the diffusion source pixel IN [5] [2] to the diffusion source pixel IN [5] [6]. Four addition processes are performed. On the other hand, referring to the value of the first pixel when the original image IN is converted, the image conversion apparatus 100 needs only two addition processes. Hereinafter, the operation of the image conversion apparatus 100 will be described in detail with reference to FIGS.
- FIG. 2 is a block diagram illustrating a hardware configuration example of the image conversion apparatus.
- an image conversion apparatus 100 that is assumed to be a mobile terminal such as a smartphone includes a CPU 201, a ROM (Read Only Memory) 202, a RAM (Random Access Memory) 203, a flash ROM 204, a flash ROM controller 205, and a flash.
- a ROM 206 is included.
- the image conversion apparatus 100 further includes a display 207, an I / F 208, and a touch panel 209. Each unit is connected by a bus 210.
- the CPU 201 is a control device that controls the entire image conversion apparatus 100.
- the ROM 202 is a non-volatile memory that stores a program such as a boot program.
- a RAM 203 is a volatile memory used as a work area for the CPU 201.
- the flash ROM 204 is a rewritable nonvolatile memory, for example, a NOR flash memory with a high reading speed.
- the flash ROM 204 stores system software such as an OS (Operating System), application software, and the like.
- OS Operating System
- the image conversion apparatus 100 receives the new OS by the I / F 208 and updates the old OS stored in the flash ROM 204 to the received new OS.
- the image conversion program according to the present embodiment may exist in the flash ROM 204 as a system call called from the OS.
- the flash ROM controller 205 is a control device that controls reading / writing of data with respect to the flash ROM 206 under the control of the CPU 201.
- the flash ROM 206 is a rewritable nonvolatile memory, for example, a NAND flash memory mainly for the purpose of storing and transporting data.
- the flash ROM 206 stores data written under the control of the flash ROM controller 205.
- data image data, video data, and the like acquired by the user using the image conversion apparatus 100 through the I / F 208, and the image conversion program according to the present embodiment may be stored.
- the flash ROM 206 for example, a memory card, an SD card, or the like can be adopted.
- the display 207 displays data such as a cursor, an icon or a tool box, a document, an image, and function information.
- a TFT liquid crystal display can be adopted as the display 207.
- the I / F 208 is connected to a network 211 such as a LAN (Local Area Network), a WAN (Wide Area Network), or the Internet through a communication line, and is connected to another device via the network 211.
- the I / F 208 controls an internal interface with the network 211 and controls input / output of data from an external device.
- a modem or a LAN adapter can be adopted as the I / F 208.
- the touch panel 209 is a device that inputs data by contact from a user.
- FIG. 3 is a block diagram illustrating a functional configuration example of the image conversion apparatus.
- the image conversion apparatus 100 includes a selection unit 301, a target pixel column acquisition unit 302, an extraction unit 303, a pixel number acquisition unit 304, a second pixel specification unit 305, a diffusion source pixel specification unit 306, and a calculation unit. 307.
- the selection unit 301 to the calculation unit 307 serving as the control unit realize the functions of the selection unit 301 to the calculation unit 307 by causing the CPU 201 to execute a program stored in the storage device.
- the storage device is, for example, the ROM 202, the RAM 203, the flash ROM 204, the flash ROM 206, etc. shown in FIG.
- the functions of the selection unit 301 to the calculation unit 307 may be realized by being executed by another CPU via the I / F 208.
- the image conversion apparatus 100 can access the aperture shape table 310 and the temporary storage area 311.
- the aperture shape table 310 is a storage area that stores the shape of an area formed by a pixel group within a predetermined range from any pixel and the scanning direction in association with each other.
- the temporary storage area 311 is a storage area for temporarily storing pixel values of the image OUT obtained by converting the original image IN.
- the aperture shape table 310 and the temporary storage area 311 are stored in a storage device such as the RAM 203, the flash ROM 204, and the flash ROM 206.
- the selection unit 301 refers to the aperture shape table 310 and selects a scanning direction according to the specified aperture shape.
- the aperture shape is specified by the user, for example.
- the aperture shape may be specified by the developer.
- the aperture shape may be any shape such as a hexagon, a heart shape, or a star shape, for example.
- the selection unit 301 selects the x-axis direction as the scanning direction stored in the aperture shape table 310.
- the selected data is stored in a storage area such as the RAM 203, the flash ROM 204, and the flash ROM 206.
- the extraction unit 303 is a first pixel that overlaps a region formed by a pixel group within a predetermined range from any pixel in the target pixel column in a pixel column parallel to the target pixel column in the image to be converted.
- a column and a second pixel column in which the number of pixels that continuously overlap with the region are greater than or equal to the first pixel column are extracted.
- Any one of the pixels serves as a diffusion source pixel of the pixel value.
- the pixel number acquisition unit 304 is either in the scanning direction of the target pixel column in the first pixel group included in the region in the first pixel column extracted by the extraction unit 303 or in the direction opposite to the scanning direction.
- the number of pixels from the end pixel in the direction to the first pixel included in the first pixel group is acquired.
- the selection unit 301 selects the x-axis direction as the scanning direction.
- the first pixel may be any of the first pixel group.
- any direction may be a positive x-axis direction or a negative x-axis direction if the scanning direction is the x-axis direction.
- the acquired number of pixels is stored in a storage area such as the RAM 203, the flash ROM 204, and the flash ROM 206.
- the second pixel specifying unit 305 moves from the end pixel in any direction of the second pixel group included in the region in the second pixel column toward the opposite direction of any direction.
- the second pixel at the position ahead of the number of pixels acquired by the pixel number acquisition unit 304 is specified.
- the x-coordinate position and y-coordinate position of the specified second pixel are stored in a storage area such as the RAM 203, the flash ROM 204, and the flash ROM 206.
- the diffusion source pixel specifying unit 306 specifies a pixel that overlaps with any pixel after the movement when any pixel is moved in parallel with the target pixel column from the target pixel column.
- the diffusion source pixel specifying unit 306 moves the pixel in parallel with the target pixel column, and moves the pixel within an area formed by a pixel group within a predetermined range from the moved pixel.
- One of the pixels is moved so that the first pixel is included in.
- the diffusion source pixel specifying unit 306 specifies a pixel that overlaps with any pixel after the movement when any pixel is moved in parallel to the target pixel column from the target pixel column.
- the diffusion source pixel specifying unit 306 moves the pixel in parallel with the target pixel column, and moves the pixel within an area formed by a pixel group within a predetermined range from the moved pixel.
- One of the pixels is moved so that the second pixel is included in.
- the x-coordinate position and the y-coordinate position of the specified pixel are stored in a storage area such as the RAM 203, the flash ROM 204, and the flash ROM 206.
- the calculation unit 307 refers to the temporary storage area 311 that stores the value of the first pixel when the image is converted, and calculates the value of the second pixel when the original image IN is converted.
- the diffusion source pixel specifying unit 306 sets a pixel group specified when any pixel is moved so that the first pixel is included, and any pixel so that the first pixel is included. It is assumed that the pixel group specified when moved is matched. In this case, the calculation unit 307 sets the value of the first pixel stored in the temporary storage area 311 to the value of the second pixel when the original image IN is converted.
- the calculation unit 307 may calculate the value of the first pixel when the original image IN is converted based on the value of the pixel specified by the diffusion source pixel specifying unit 306. For example, the calculation unit 307 adds the values of the diffusion source pixel IN [5] [4] to the diffusion source pixel IN [5] [6] to convert the first pixel OUT [7] [ 5] is calculated.
- the calculation unit 307 may calculate the value of the second pixel when the image is converted based on the value of the first pixel calculated by the calculation unit 307.
- the calculation unit 307 may calculate the value of the second pixel when the image is converted based on the value of the first pixel when the original image IN is converted and the value of the specified pixel. .
- the calculation unit 307 calculates the value of the first pixel OUT [7] [5], the value of the diffusion source pixel IN [5] [2], the value of the diffusion source pixel IN [5] [3], Are added to calculate the value of the second pixel OUT [4] [4].
- S is the maximum blur amount.
- the calculated result is stored in the temporary storage area 311.
- the calculation unit 307 is in one direction of the first pixel group from one of the pixels in the calculated first pixel column in the opposite direction to any direction.
- the value of the pixel located at the position corresponding to the number of pixels from the end pixel to the first pixel is set to the value of the first pixel.
- the number of pixels from the end pixel in the direction of the first pixel group to the first pixel is zero.
- the calculation unit 307 may calculate the value of each pixel related to the second pixel column when the image is converted for each pixel based on the information described below.
- the information based on the number of pixels in the second pixel group from each pixel from the pixel next to the pixel at the position ahead of the number of pixels in the first pixel group from each pixel in any direction.
- the calculation unit 307 calculates the value of the second pixel when the original image is converted, among the calculated pixel values of the second pixel column.
- the information based on the pixel is in the position of the number of pixels from the end pixel in the direction of the first pixel group to the second pixel in the opposite direction of the direction from any pixel. This is the pixel value.
- the calculated pixel value is stored in the temporary storage area 311.
- FIG. 4 is an explanatory diagram showing a first example of the aperture shape and a first example of the contents stored in the aperture shape table.
- FIG. 4A shows a diaphragm shape 400 on the xy plane. As shown in FIG. 4, the aperture shape 400 is a hexagon. In FIG. 4A, w represents the amount of shake.
- FIG. 4 shows an example of stored contents when specific numerical values of the aperture shape 400 are stored in the aperture shape table.
- the aperture shape table 310 shown in FIG. 4C stores records 401-1 to 401-9.
- the aperture shape table 310 stores the x-axis direction in association with the scanning direction.
- the aperture shape table 310 includes three fields, x, y, and w.
- x field the position in the x row of the leftmost pixel that is the blur start position in the corresponding y row of the aperture shape 400 is stored.
- the y field stores the pixel position in the corresponding y row.
- the w field stores the number of pixels from the left end to the right end in the corresponding y row as the blur amount.
- the aperture shape table 310 is stored in ascending order of w.
- FIG. 5 is an explanatory diagram (part 1) of an operation example of image conversion processing.
- FIG. 5 is a diagram for explaining which pixels in a pixel group after conversion have a pixel in the original image. For example, in the example of FIG. 5, pixels that are affected by each pixel of IN [Y] serving as a processing target row among IN [0] to IN [H ⁇ 1] will be described.
- IN [Y] [X] affects OUT [Y + 4] [X].
- IN [Y] [X + 1] affects OUT [Y + 4] [X + 1]
- IN [Y] [X + 2] affects OUT [Y + 4] [X + 2].
- OUT [Y + 4] may be added to IN [Y] itself.
- OUT [Y-4] may be added with IN [Y] itself.
- “ ⁇ ” shown in FIG. 5 is a symbol in which two values that differ only in sign are omitted.
- IN [Y] [X] affects three pixels, OUT [Y + 3] [X ⁇ 1], OUT [Y + 3] [X], and OUT [Y + 3] [X + 1].
- IN [Y] [X-1] affects three pixels, OUT [Y + 3] [X-2], OUT [Y + 3] [X-1], and OUT [Y + 3] [X].
- IN [Y] [X + 1] affects three pixels, OUT [Y + 3] [X], OUT [Y + 3] [X + 1], and OUT [Y + 3] [X + 2].
- OUT [Y + 3] [X] is affected by three pixels, IN [Y] [X ⁇ 1], IN [Y] [X], and IN [Y] [X + 1].
- the pixel OUT [Y + 3] [i] becomes IN [Y] [i ⁇ 1], IN [Y] [i], IN [ Y] [i + 1]. Therefore, OUT [Y + 3] has a blur amount of 3, and a moving average of IN [Y] with a width of 3 may be added.
- the moving average generation method will be described later with reference to FIG.
- a moving average of width 3 of IN [Y] may be added to OUT [Y-3].
- OUT [Y ⁇ 2], OUT [Y ⁇ 1], and OUT [Y] may be obtained by adding a moving average of width 7 of IN [Y].
- FIG. 6 is an explanatory diagram (part 2) of an operation example of the image conversion process.
- FIG. 6 shows a moving average generation method when processing results are stored in the TMP serving as the temporary storage area 311 with IN [Y] as a processing target.
- FIG. 6 shows a moving average of width 1.
- the moving average of width 1 is the same as the original data. For example, if i taking a value between 0 and W ⁇ 1 is used, the value of IN [Y] [i] is stored in TMP [i].
- FIG. 6B a moving average of width 2 is shown.
- the image conversion apparatus 100 adds the value of the next pixel in the target row of the original image to the TMP that stores the moving average of the width 1, and generates a moving average of the width 2. For example, the image conversion apparatus 100 adds a value of IN [Y] [i] to TMP [i + 1] that stores a moving average of width 1.
- FIG. 6C a moving average of width 3 is shown. For example, the image conversion apparatus 100 adds the value of IN [Y] [i] to TMP [i + 2] that stores the moving average of width 2.
- TMP [i + 2] is an average value of three pixels, IN [Y] [i], IN [Y] [i + 1], and IN [Y] [i + 2].
- TMP [i + 1] is an average value of three pixels, IN [Y] [i-1], IN [Y] [i], IN [Y] [i + 1], and TMP [i] is IN This is an average value of three pixels [Y] [i-2], IN [Y] [i-1], and IN [Y] [i].
- the image conversion apparatus 100 generates a moving average of width 4, width 5, width 6, and width 7.
- a moving average having a large width can be obtained using a moving average having a small width.
- the amount of calculation when a moving average having a large width is obtained using a moving average having a small width can be made smaller than the amount of calculation when pixel values are sequentially added.
- the moving average of width 7 may be calculated four times if a moving average of width 3 has already been generated.
- TMP [i] is calculated for three pixels IN [Y] [i-2], IN [Y] [i-1], and IN [Y] [i]. Average value.
- TMP [i] obtained in FIG. 6 is an average value of the value of the pixel having the same x coordinate, the adjacent pixel in the negative direction of the x axis, and the adjacent pixel. .
- every time the width of the moving average increases adjacent pixels in the positive direction of the x axis are added one after another. Compared to the process of adding adjacent pixels in the positive direction of the x axis one after another, adding the adjacent pixels in the positive direction, and then adding the adjacent pixels in the negative direction.
- the processing content is simple.
- the pixel OUT [Y + 3] [i] is a pixel having the same x coordinate, such as IN [Y] [i ⁇ 1], IN [Y] [i], IN [Y] [i + 1].
- the moving average of pixels adjacent to the same pixel in the x-axis direction are added.
- the pixel that affects the pixel OUT [Y + 3] [i] and the pixel that affects the TMP [i] are shifted from each other in FIGS.
- the image conversion apparatus 100 adds the TMP by shifting the TMP when adding the TMP to the pixel OUT [Y + 3]. An example of the operation of adding TMP will be described with reference to FIG.
- FIG. 7 is an explanatory diagram (part 3) of an operation example of image conversion processing.
- the image conversion apparatus 100 refers to the record 401-3 having the width 3 of the aperture shape table 310 and adds the value of each pixel of TMP to OUT [Y + 3].
- the image conversion apparatus 100 adds TMP to OUT [Y + 3] by offsetting ⁇ 1 pixel which is the value of the x field of the record 401-3.
- the image conversion apparatus 100 adds the value of TMP [i + 1] to OUT [Y + 3] [i].
- TMP [i + 1] is an average value of three pixels IN [Y] [i ⁇ 1], IN [Y] [i], and IN [Y] [i + 1]. This means that the moving average described in (1) could be added.
- the image conversion apparatus 100 also adds the value of each pixel of TMP to OUT [Y-3]. As described above, when there are a plurality of rows to which a moving average having a certain width is added, the image conversion apparatus 100 adds a moving average result having a certain width to the plurality of rows. The amount of calculation can be reduced compared with the method of adding. Next, flowcharts for performing the operations described with reference to FIGS. 5 to 7 will be described with reference to FIGS.
- FIG. 8 is a flowchart showing an example of an image conversion processing procedure when scanning in the x-axis direction.
- the image conversion process is a process for converting an original image into a blurred image.
- the image conversion apparatus 100 refers to the aperture shape table 310 and selects a scanning direction according to the specified aperture shape (step S801).
- the image conversion apparatus 100 executes an initialization process (step S802).
- step S802 part of the process contents changes according to the scanning direction. Details of the initialization process when scanning in the x-axis direction will be described with reference to FIG.
- the image conversion apparatus 100 executes a light energy value conversion process for one scanning line (step S803).
- the light energy value conversion process varies depending on the scanning direction. Details of the light energy value conversion processing when scanning in the x-axis direction will be described with reference to FIG.
- the image conversion apparatus 100 executes a light diffusion process for one scanning line (step S804).
- the content of the light diffusion process varies depending on the scanning direction. Details of the light diffusion processing in the case of scanning in the x-axis direction will be described with reference to FIGS.
- step S805 determines whether all the scanning lines have been processed. Specific processing in step S805 differs depending on the scanning direction. Specific processing contents will be described with reference to FIGS. 12, 21, and 26, respectively.
- step S805: No the image conversion apparatus 100 proceeds to the process of step S803.
- step S806 the image conversion apparatus 100 executes an RGB value conversion process. The RGB value conversion process will be described with reference to FIG.
- the image conversion apparatus 100 ends the image conversion process.
- the image conversion apparatus 100 can convert the blurred image from the original image.
- FIG. 9 is a flowchart showing an example of an initialization process procedure when scanning in the x-axis direction.
- the initialization process when scanning in the x-axis direction is a process for initializing variables, arrays, and structures used in the image conversion process when scanning in the x-axis direction.
- the original image used in the flowchart shown in FIG. 9 may be a gray scale or a structure having three numerical values of RGB.
- the image conversion apparatus 100 performs RGB processing on the IN that is the original image and the OUT that is the blurred image, and the processing on the light energy value ENG and the temporary storage areas LINE1 and LINE2, which will be described later. You may go three times.
- the image conversion apparatus 100 stores each pixel of the original image in a two-dimensional array called IN [H] [W] (step S901).
- the image conversion apparatus 100 secures OUT [H] [W] as a two-dimensional array for storing each pixel of the blurred image (step S902).
- the image conversion apparatus 100 stores the value of each record in the aperture shape table 310 in a structure array called TBL [S] (step S903).
- S is a constant in which the number of records in the aperture shape table 310 is stored.
- the structure TBL has three elements x, y, and w.
- the image conversion apparatus 100 uses W + TBL [S-1].
- the value of w is stored in a variable called W2 (step S904). Since the aperture shape table 310 is stored in ascending order of w, TBL [N ⁇ 1]. w ⁇ TBL [N]. w holds. Therefore, TBL [S-1]. w is the maximum value of w.
- the image conversion apparatus 100 initializes the two-dimensional array ENG [H] [W] for storing the light energy value with 0 (step S905). Similarly, the image conversion apparatus 100 initializes the two-dimensional array CNT [H] [W] indicating the number of times the light energy value is added to each pixel with 0 (step S906). Subsequently, the image conversion apparatus 100 stores 0 in Y as the pixel row to be processed first (step S907). After completing the execution of step S907, the image conversion apparatus 100 ends the initialization process when scanning in the x-axis direction. By executing the initialization process when scanning in the x-axis direction, the image conversion apparatus 100 can initialize variables, arrays, and structures used in the image conversion process.
- FIG. 10 is a flowchart showing an example of a light energy value conversion processing procedure when scanning in the x-axis direction.
- the light energy value conversion process in the case of scanning in the x-axis direction is a process of converting the RGB values from the RGB values to the light energy values with respect to the pixel values for one line corresponding to one scanning line in the case of scanning in the x-axis direction. .
- the image conversion apparatus 100 initializes X to 0 (step S1001).
- the image conversion apparatus 100 calculates the light energy value of IN [Y] [X], and stores the light energy value in the variable e (step S1002).
- the image conversion apparatus 100 calculates the light energy value from the RGB values using the following equation (1).
- the image conversion apparatus 100 stores 1 in LCNT [X] of the array LCNT of size W2 (step S1004).
- LCNT is a variable indicating how many times each element of LINE2 is added.
- the image conversion apparatus 100 increments the value of X (step S1005).
- the image conversion apparatus 100 determines whether X is smaller than W (step S1006). When X is smaller than W (step S1006: Yes), the image conversion apparatus 100 proceeds to the process of step S1002.
- X is greater than or equal to W (step S1006: No) since LINE2 and LCNT have a size of W2 greater than W, the image conversion apparatus 100 stores 0 in LINE2 [X] (step S1007). Further, the image conversion apparatus 100 stores 0 in LCNT [X] (step S1008).
- the image conversion apparatus 100 increments the value of X (step S1009). Subsequently, the image conversion apparatus 100 determines whether X is smaller than W2 (step S1010). When X is smaller than W2 (step S1010: Yes), the image conversion apparatus 100 proceeds to the process of step S1007. If X is greater than or equal to W2 (step S1010: No), the image conversion apparatus 100 ends the light energy value conversion process when scanning in the x-axis direction. By executing the light energy value conversion process in the case of scanning in the x-axis direction, the image conversion apparatus 100 can obtain the light energy values of the pixels for one row, which is one scanning line.
- FIG. 11 is a flowchart (part 1) illustrating an example of a light diffusion processing procedure when scanning in the x-axis direction.
- the light diffusion process in the case of scanning in the x-axis direction is a process of diffusing the light energy value of each pixel for one row that corresponds to one scanning line in the case of scanning in the x-axis direction.
- the flowchart shown in FIG. 11 is a process of diffusing the light energy value of each pixel for one row in the x-axis direction by obtaining a moving average.
- This is a process of diffusing the value in the y-axis direction.
- the image conversion apparatus 100 stores 1 in Z indicating the width of the moving average (step S1101).
- the image conversion apparatus 100 stores 0 in I indicating the index of the record being processed in the aperture shape table 310 (step S1102).
- the image conversion apparatus 100 extracts the first pixel row from the original image IN.
- the image conversion apparatus 100 stores 0 in X (step S1103).
- the image conversion apparatus 100 stores the value of Z in J indicating the offset value of the pixel to be added in LINE2 (step S1104).
- the image conversion apparatus 100 determines that J is equal to TBL [I]. It is determined whether it is smaller than w (step S1105). J is TBL [I]. If smaller than w (step S1105: Yes), the image conversion apparatus 100 increments the value of J (step S1106). By updating the value of J, the image conversion apparatus 100 specifies IN [Y] [X + J] specified by X + J as a diffusion source pixel that affects the first pixel and the second pixel. Yes. Therefore, the image conversion apparatus 100 stores the addition result of LINE2 [X + J] and LINE1 [X] in LINE2 [X + J] (step S1107). Subsequently, the image conversion apparatus 100 increments the value of LCNT [X + J] (step S1108). Next, the image conversion apparatus 100 proceeds to the process of step S1105.
- step S1105 If it is greater than or equal to w (step S1105: No), the image conversion apparatus 100 increments the value of X (step S1109). Next, the image conversion apparatus 100 determines whether X is smaller than W (step S1110). When X is smaller than W (step S1110: Yes), the image conversion apparatus 100 proceeds to the process of step S1104. When X is greater than or equal to W (step S1110: No), the image conversion apparatus 100 adds TBL [I]. The value of w is stored (step S1111). Subsequently, the image conversion apparatus 100 proceeds to the process of step S1201 illustrated in FIG.
- FIG. 12 is a flowchart (part 2) illustrating an example of a light diffusion processing procedure when scanning in the x-axis direction.
- the amount of offset for adding LINE2 in the vertical direction is TBL [I].
- y the image conversion apparatus 100 adds Y and TBL [I].
- the addition result with y is stored (step S1201).
- the image conversion apparatus 100 determines whether Y2 is less than 0 or whether Y2 is greater than or equal to H (step S1202).
- the process of step S1202 is a process of confirming whether Y2 is in the screen.
- ” used in step S1202 in FIG. 12 is an operator for calculating a logical sum.
- step S1202 When Y2 is 0 or more and Y2 is less than H (step S1202: No), the image conversion apparatus 100 stores 0 in X (step S1203). Next, the image conversion apparatus 100 determines that X and TBL [I]. The addition result of x is stored (step S1204). TBL [I]. Since x stores the position in the x row of the leftmost pixel that is the blur start position, the image conversion apparatus 100 acquires the number of pixels from the leftmost pixel. Subsequently, the image conversion apparatus 100 determines whether X2 is smaller than 0 or whether X2 is W2 or more (step S1205). The processing in step S1205 is processing for confirming whether X2 is in the screen.
- step S1205 When X2 is equal to or greater than 0 and X2 is less than W2 (step S1205: No), the image conversion apparatus 100 obtains the result of adding ENG [Y2] [X] and LINE2 [X2] as ENG [Y2] [ X] (step S1206). Further, the image conversion apparatus 100 stores the addition result of CNT [Y2] [X] and LCNT [X2] in CNT [Y2] [X] (step S1207).
- step S1207 After processing in step S1207, whether Y2 is less than 0 or Y2 is H or more (step S1202: Yes), or X2 is less than 0 or X2 is more than W2 (step S1205: Yes)
- the image conversion apparatus 100 increments the value of X (step S1208). Subsequently, the image conversion apparatus 100 determines whether X is smaller than W (step S1209). If X is smaller than W (step S1209: YES), the image conversion apparatus 100 proceeds to the process of step S1204.
- step S1210 If X is greater than or equal to W (step S1209: NO), the image conversion apparatus 100 increments the value of I (step S1210). By incrementing the value of I, the image conversion apparatus 100 extracts, from the original image IN, a second pixel row in which the number of pixels continuously overlapping with the aperture shape is greater than or equal to the first pixel row. Next, the image conversion apparatus 100 determines whether I is smaller than S (step S1211). When I is smaller than S (step S1211: Yes), the image conversion apparatus 100 proceeds to step S1103 in FIG. If I is greater than or equal to S (step S1211: No), the image conversion apparatus 100 increments the value of Y (step S1212). After the process of step S1212, the image conversion apparatus 100 ends the light diffusion process when scanning in the x-axis direction.
- the image conversion apparatus 100 determines whether “Y is less than H”, which is the process of step S805. Whether or not it has been processed. If Y is less than H, there is a scanning line that has not yet been processed, and the image conversion apparatus 100 executes the process of step S805: No. If Y is greater than or equal to H, all scanning lines have been processed, and the process of step S805: Yes is executed.
- the image conversion apparatus 100 can diffuse the light energy value of each pixel for one row, which is one scanning line, in the x direction and the y direction. it can.
- FIG. 13 is a flowchart showing an example of the RGB value conversion processing procedure.
- the RGB value conversion process is a process of converting a light energy value into an RGB value.
- the light energy value ENG and information CNT indicating how many times each element of ENG is added are completed.
- the image conversion apparatus 100 stores 0 in Y (step S1301). Next, the image conversion apparatus 100 stores 0 in X (step S1302). Next, the image conversion apparatus 100 stores the division result obtained by dividing ENG [Y] [X] by CNT [Y] [X] in e (step S1303). The average of the added light energy values can be obtained by the processing in step S1303. Subsequently, the image conversion apparatus 100 stores the RGB value of e in OUT [Y] [X] (step S1304). As a specific formula for calculating the RGB value, for example, the image conversion apparatus 100 calculates the RGB value from the light energy value using the following formula (2).
- step S1305 the image conversion apparatus 100 increments the value of X (step S1305). Subsequently, the image conversion apparatus 100 determines whether X is smaller than W (step S1306). If X is smaller than W (step S1306: YES), the image conversion apparatus 100 proceeds to the process of step S1303. When X is greater than or equal to W (step S1306: NO), the image conversion apparatus 100 increments the value of Y (step S1307). Next, the image conversion apparatus 100 determines whether Y is smaller than H (step S1308).
- step S1308: Yes the image conversion apparatus 100 proceeds to the process of step S1302.
- step S1308: No the image conversion apparatus 100 ends the RGB value conversion process. By executing the RGB value conversion process, the image conversion apparatus 100 can obtain a blurred image.
- FIGS. 4 to 13 describe an example in which image conversion processing is performed using the aperture shape table 310.
- the image conversion apparatus 100 can also perform image conversion processing without using the aperture shape table 310.
- an image conversion process when the aperture shape table 310 is not used will be described with reference to FIGS.
- FIG. 14 is an explanatory diagram showing an operation example of image conversion processing when the aperture shape table is not used.
- FIG. 14A shows an example in which the aperture shape 1400 is a hexagon.
- the shake amount w is determined by the relationship between X and Y. Let one side of the aperture shape 1400 be S. Therefore, the maximum value of w is ( ⁇ 3) ⁇ S.
- ( ⁇ x) represents the positive square root of x.
- Y is S / 2 or more
- x is ⁇ ( ⁇ 3) (Sy).
- y is greater than 0 and less than S / 2
- x is ( ⁇ 3) / 2 ⁇ S.
- FIG. 15 is a flowchart (part 1) illustrating an example of a light diffusion processing procedure when the aperture shape table is not used. Steps S1510 to S1513 shown in FIG. 15 are the same processes as steps S1106 to S1109 shown in FIG.
- the image conversion apparatus 100 stores 1 in Z indicating the width of the moving average (step S1501).
- the image conversion apparatus 100 stores the 2S calculation result in the variable I indicating the target row to be processed within the aperture shape (step S1502).
- I is an even number
- the processing row is above the S / 2 row
- I is an odd number
- the processing row indicates (S + 1) / 2 rows or less.
- step S1503 determines whether I is an odd number (step S1503).
- step S1503: No the image conversion apparatus 100 stores the calculation result of I / 2 in the variable y indicating the relative position between the current line and the affected line (step S1504).
- step S1505 determines whether y is equal to or less than S / 2 (step S1505). If y is equal to or less than S / 2 (step S1505: Yes), the image conversion apparatus 100 stores the calculation result of ⁇ ( ⁇ 3) (Sy) in x indicating the shake start position (step S1506). Subsequently, the image conversion apparatus 100 stores the 1-2x calculation result in w which is the amount of blurring (step S1507).
- the image conversion apparatus 100 stores the value of Z in J (step S1508). Subsequently, the image conversion apparatus 100 determines whether J is smaller than w (step S1509). When J is smaller than w (step S1509: Yes), the image conversion apparatus 100 proceeds to the process of step S1510. When J is greater than or equal to w (step S1509: No), the image conversion apparatus 100 proceeds to the process of step S1513.
- step S1513 the image conversion apparatus 100 determines whether X is smaller than W (step S1514). If X is smaller than W (step S1514: YES), the image conversion apparatus 100 proceeds to the process of step S1508. When X is greater than or equal to W (step S1514: No), the image conversion apparatus 100 stores the value of w in Z (step S1515). When I is an odd number (step S1503: Yes), the image conversion apparatus 100 stores a value of ⁇ y in y (step S1516).
- step S1515 or step S1516 or when y is not equal to or less than S / 2 (step S1505: No), the image conversion apparatus 100 proceeds to the process of step S1601 shown in FIG.
- FIG. 16 is a flowchart (part 2) showing an example of the light diffusion processing procedure when the aperture shape table is not used.
- step S1601, step S1604, step S1610, and step S1611 are replaced with the processing of the same number as the last two digits of the steps described in FIG.
- the other steps are the same as those described with reference to FIG.
- the image conversion apparatus 100 stores the addition result of Y and y in Y2 (step S1601). After the process of step S1603 ends, the image conversion apparatus 100 stores the addition result of X and x in X2 (step S1604). Step S1609: If No, the image conversion apparatus 100 decrements the value of I (step S1610). Subsequently, the image conversion apparatus 100 determines whether I is equal to or greater than 0 (step S1611). If I is equal to or greater than 0 (step S1611: Yes), the image conversion apparatus 100 proceeds to the process of step S1503 illustrated in FIG. When I is less than 0 (step S1611: No), the image conversion apparatus 100 proceeds to the process of step S1612.
- the image conversion apparatus 100 may perform image conversion processing by scanning in the y-axis direction.
- image conversion processing in the case of scanning in the y-axis direction will be described with reference to FIGS.
- FIG. 17 is an explanatory diagram showing a second example of the aperture shape and a second example of the contents stored in the aperture shape table.
- FIG. 17A shows the aperture shape 1700 on the xy plane. As shown in FIG. 17, the aperture shape 1700 has a heart shape. The aperture shape 1700 is divided into a plurality of areas when scanned in the x-axis direction.
- FIG. 17B shows an example of the stored contents of the aperture shape table 310 — x when the aperture shape 1700 is scanned in the x-axis direction.
- the aperture shape table 310_x stores records 1701-1 to 1701-11. Further, the aperture shape table 310_x stores the x-axis direction in association with the scanning direction.
- the scanning lines can be executed according to the flowcharts shown in FIGS.
- FIG. 17C shows an example of the stored contents of the aperture shape table 310_y when the aperture shape 1700 is scanned in the y-axis direction.
- the aperture shape table 310_y stores records 1702-1 to 1702-9.
- the aperture shape table 310_y stores the y-axis direction in association with the scanning direction.
- the scanning line is not divided into a plurality of portions. Therefore, the number of records in the aperture shape table 310_y is smaller than that in the aperture shape table 310_x.
- the number of records is small, the number of loops is reduced, so that the processing amount can be reduced.
- FIG. 18 to FIG. 21 an initialization process, a light energy value conversion process, and a light diffusion process when scanning in the y-axis direction will be described.
- FIG. 18 is a flowchart illustrating an example of an initialization process procedure when scanning in the y-axis direction.
- the initialization process when scanning in the y-axis direction is a process for initializing variables, arrays, and structures used in the image conversion process when scanning in the y-axis direction.
- Step S1804 and Step S1807 shown in FIG. 18 are replaced with the processing of the same number in the last two digits of the step number among the steps described in FIG. The other steps are the same as those described with reference to FIG.
- step S1803 the image conversion apparatus 100 determines that H and TBL [S-1].
- the addition result of w is stored in a variable called H2 (step S1804).
- step S1806 the image conversion apparatus 100 stores 0 in X as the pixel column to be processed first (step S1807).
- FIG. 19 is a flowchart showing an example of a light energy value conversion processing procedure when scanning in the y-axis direction.
- the optical energy value conversion process in the case of scanning in the y-axis direction is a process of converting RGB values into optical energy values for the values of one column of pixels corresponding to one scanning line when scanning in the y-axis direction.
- steps S1901 and S1903 to S1910 are “X” in the process having the same number as the last two digits of the step number among the steps described in FIG. Is replaced.
- step S1906 “W” in step S1006 is replaced with “H”.
- step S1910 “W2” in step S1010 is replaced with “H2”. Since there are no changes other than those described above, description of each step is omitted.
- FIG. 20 is a flowchart (part 1) illustrating an example of a light diffusion processing procedure when scanning in the y-axis direction.
- the light diffusion process in the case of scanning in the y-axis direction is a process of diffusing the light energy value of each pixel for one column that becomes one scan line when scanning in the y-axis direction.
- steps S2003 and S2007 to S2010 “X” of the process having the same last number in the step number of the steps described in FIG. Is replaced.
- step S2010 “W” in step S1110 is replaced with “H”. Since there are no changes other than those described above, description of each step is omitted.
- FIG. 21 is a flowchart (part 2) illustrating an example of the light diffusion processing procedure when scanning in the y-axis direction.
- step S2103, step S2108, step S2109, and step S2112 are “X” in the process having the same last number as the step number of the steps described in FIG. “Y”.
- step S2109, “W” in step S1209 is replaced with “H”.
- step S2101, step S2102, step S2104, and step S2105 will be described since the last two digits of the step number in the steps described in FIG. 12 have been changed from the processing of the same number.
- Steps S2106 and S2107 are the same processes as steps S1206 and S1207, and thus description thereof is omitted.
- the image conversion apparatus 100 adds X and TBL [I]. The addition result of x is stored (step S2101). Next, the image conversion apparatus 100 determines whether X2 is less than 0 or whether X2 is greater than or equal to W (step S2102). When X2 is 0 or more and X2 is less than W (step S2102: No), the image conversion apparatus 100 proceeds to the process of step S2103. When X2 is less than 0 or X2 is W or more (step S2102: Yes), the image conversion apparatus 100 proceeds to the process of step S2108.
- step S2103 the image conversion apparatus 100 adds Y and TBL [I].
- the addition result of y is stored (step S2104).
- step S2105 the image conversion apparatus 100 determines whether XY2 is smaller than 0 or whether Y2 is greater than or equal to H2 (step S2105). When Y2 is 0 or more and Y2 is less than H2 (step S2105: No), the image conversion apparatus 100 proceeds to the process of step S2106. If Y2 is smaller than 0 or Y2 is greater than or equal to H2 (step S2105: YES), the process proceeds to step S2108.
- the image conversion apparatus 100 determines whether or not X is less than W, which is the process of step S805. Is processed ”. If X is less than W, there is a scanning line that has not yet been processed, and the image conversion apparatus 100 executes the process of step S805: No. If X is greater than or equal to W, all scanning lines have been processed, and the process of step S805: Yes is executed.
- the image conversion apparatus 100 may perform image conversion processing by performing scanning oblique to the x-axis and y-axis directions.
- H> W for simplification of description.
- FIG. 22B shows the position indicated by the variable when scanning in an oblique direction.
- P indicates the number of pixels included in the pixel row in the current scanning direction.
- Q indicates the number of target pixels in the pixel column.
- R indicates the index of the pixel column.
- there are four pixels in the pixel row R 6, IN [5] [0], IN [4] [1], IN [3] [2], IN [2] [3].
- P is 4.
- FIG. 22D shows the position of R, R2 indicating the index of the pixel column to be added, and offset Ro.
- step S2307 shown in FIG. 23 is replaced with the process of the same number in the last two digits of the step number among the steps described in FIG. The other steps are the same as those described with reference to FIG.
- the image conversion apparatus 100 stores 0 in R (step S2307).
- steps S2405 to S2412 “X” is “Q” in the process of steps S1003 to S1010 of FIG. Has been replaced. Further, in step S2408, “W” in step S1006 is replaced with “P”.
- the image conversion apparatus 100 executes a P acquisition process using R as an argument (step S2401). Details of the P acquisition process will be described later with reference to FIG. Next, the image conversion apparatus 100 stores 0 in Q (step S2402). Subsequently, the image conversion apparatus 100 executes an X / Y acquisition process using R and Q as arguments (step S2403).
- step S2503 and step S2507 to step S2510 are “X” of the process having the same last number but the last two digits of the step number in each step described in FIG. It is replaced by “Q”.
- step S2510 “W” in step S1110 is replaced with “P”. Since there are no changes other than those described above, description of each step is omitted.
- steps S2610 and S2611 “X” in the processing of steps S1208 and S1209 described in FIG. 12 is replaced with “Q”. Further, in step S2614, “Y” in step S1212 is replaced with “R”.
- the processing in steps S2607 to S2609 and step S2613 is the same as the processing in steps S1205 to S1207 and step S1211 shown in FIG.
- steps S2601 to S2606 will be described.
- step S2511 the image conversion apparatus 100 determines that R and TBL [I].
- the addition result with y is stored in R2 (step S2601).
- step S2602 the image conversion apparatus 100 executes Ro acquisition processing using R and R2 as arguments. Details of the Ro acquisition process will be described with reference to FIG. Subsequently, the image conversion apparatus 100 stores 0 in Q (step S2603). Next, the image conversion apparatus 100 uses Q and TBL [I]. The addition result of x and Ro is stored in Q2 (step S2604). Subsequently, the image conversion apparatus 100 executes X / Y acquisition processing with R2 and Q2 as arguments (step S2605). By executing the X / Y acquisition process using R2 and Q2 as arguments, the image conversion apparatus 100 can acquire X2 and Y2.
- the image conversion apparatus 100 determines whether Y2 is smaller than 0 or whether Y2 is H or more (step S2606). When Y2 is 0 or more and Y2 is less than H (step S2606: No), the image conversion apparatus 100 proceeds to the process of step S2607. When Y2 is smaller than 0 or Y2 is H or more (step S2606: Yes), the image conversion apparatus 100 proceeds to the process of step S2610.
- the image conversion apparatus 100 determines whether R is less than the addition result of H and W, which is the process of step S805. Thus, it is determined whether “processing has been performed for all scanning lines”. If R is less than the addition result of H and W, there is a scanning line that has not yet been processed, and the image conversion apparatus 100 executes the process of step S805: No. If R is equal to or greater than the addition result of H and W, it means that processing has been performed for all scanning lines, and the processing of step S805: Yes is executed.
- FIG. 27 is a flowchart illustrating an example of the P acquisition processing procedure.
- the P acquisition process is a process of outputting the value of P using R as an argument.
- the image conversion apparatus 100 determines whether R is smaller than W (step S2701). If R is smaller than W (step S2701: YES), the image conversion apparatus 100 stores the value of R in P (step S2702). If R is greater than or equal to W (step S2701: NO), the image conversion apparatus 100 determines whether R is greater than H (step S2703). When R is H or less (step S2703: No), the image conversion apparatus 100 stores the value of W in P (step S2704). If R is greater than H (step S2703: YES), the image conversion apparatus 100 stores the result of subtracting R from the addition result of W and H in P (step S2705).
- the image conversion apparatus 100 After executing either the process of step S2702, the process of step S2704, or the process of step S2705, the image conversion apparatus 100 ends the P acquisition process. By executing the P acquisition process, the image conversion apparatus 100 can acquire the value of P.
- FIG. 28 is a flowchart showing an example of the XY acquisition processing procedure.
- the X / Y acquisition process is a process of outputting X and Y values using R and Q as arguments.
- the image conversion apparatus 100 determines whether R is equal to or lower than H (step S2801). If R is equal to or lower than H (step S2801: YES), the image conversion apparatus 100 stores the value of Q in X (step S2802). Subsequently, the image conversion apparatus 100 stores the result of subtracting Q from R in Y (step S2803).
- step S2801 If R is greater than H (step S2801: NO), the image conversion apparatus 100 stores the subtraction result obtained by subtracting H from the addition result of Q + R in X (step S2804). Subsequently, the image conversion apparatus 100 stores the subtraction result obtained by subtracting Q from H in Y (step S2805). After executing the process of step S2803 or the process of step S2805, the image conversion apparatus 100 ends the X / Y acquisition process. By executing the X / Y acquisition process, the image conversion apparatus 100 can acquire the values of X and Y.
- FIG. 29 is a flowchart illustrating an example of the Ro acquisition processing procedure.
- the Ro acquisition process is a process of outputting the value of Ro using R and R2 as arguments.
- the image conversion apparatus 100 determines whether R is equal to or less than H (step S2901). If R is equal to or lower than H (step S2901: YES), the image conversion apparatus 100 determines whether R2 is equal to or lower than H (step S2902). If R2 is equal to or lower than H (step S2902: YES), the image conversion apparatus 100 stores the subtraction result obtained by subtracting R2 from R in Ro (step S2903).
- step S2901: NO the image conversion apparatus 100 determines whether R2 is H or less (step S2904). When R2 is larger than H (step S2904: No), the image conversion apparatus 100 stores the subtraction result obtained by subtracting R from R2 in Ro (step S2905).
- step S2902 When R2 is not H or less (step S2902: No), or when R2 is H or less (step S2904: Yes), the image conversion apparatus 100 subtracts the result of subtracting 2 ⁇ H from the addition result of R2 and R. Is stored in Ro (step S2906). After executing the process of step S2903, step S2905, or step S2906, the image conversion apparatus 100 ends the Ro acquisition process. By executing the Ro acquisition process, the image conversion apparatus 100 can acquire the value of Ro.
- FIG. 30 is an explanatory diagram showing a third example of the aperture shape and a third example of the contents stored in the aperture shape table.
- FIG. 30A shows a diffusion coefficient when light is diffused in a quadrangular pyramid shape. The central part has a large diffusion amount, and the diffusion amount decreases as going outward.
- FIG. 30B shows an example of the stored contents of the aperture shape table 310_p when diffusing in a quadrangular pyramid shape.
- the aperture shape table 310_p stores records 3001-1 to 3001-9.
- FIG. 31 is an explanatory diagram showing a fourth example of the aperture shape and a fourth example of the stored contents of the aperture shape table.
- FIG. 31A shows how light diffuses when performing Gaussian blur.
- FIG. 31B shows a diffusion coefficient when performing Gaussian blur.
- FIG. 31C shows an example of the stored contents of the aperture shape table 310_g when performing Gaussian blur.
- the aperture shape table 310_g stores records 3101-1 to 3101-15. In addition to the x, y, and w fields, the aperture shape table 310_g has an n field that stores information indicating how many times the addition is performed.
- IN [Y] [X] is 256 in the range of 0 to 255, and can be processed at high speed by referring to the conversion table.
- expbl [90, 92, 95, 97, ..., 52839].
- the image conversion apparatus 100 acquires the value of exptbl [IN [Y] [X]] when converting the light energy value from the RGB value.
- FIG. 32 is a flowchart (part 1) illustrating an example of a conversion processing procedure from light energy values to RGB values.
- the conversion process from the light energy value to the RGB value is a process of outputting the RGB value from the light energy value.
- the image conversion apparatus 100 first performs a process of re-expressing the light energy value E in the form of (1 + e / 32) ⁇ 2 ⁇ m.
- step S3203 If E is greater than or equal to k (step S3203: YES), 2 ⁇ m is greater than E, and the image conversion apparatus 100 decrements the value of m (step S3206). M was obtained by executing the processing up to step S3206. Subsequently, e is obtained in FIG.
- FIG. 33 is a flowchart (part 2) illustrating an example of a conversion processing procedure from light energy values to RGB values.
- the image conversion apparatus 100 stores the value of E in e (step S3301).
- the processing from step S3302 to step S3305 is processing for extracting an integer expressed by the lower 5 bits from m-1 bits of e.
- step S3302 the image conversion apparatus 100 determines whether m is less than 5 (step S3302).
- the process of step S3302 is a process of determining whether e is a number of 6 digits or more in binary number. Since m is counted as 0, 1, 2,..., The number of digits is expressed as m + 1.
- step S3303 After executing the processing of step S3303 or step S3304, the image conversion apparatus 100 stores the result of the logical product of e and 0x1f in e in order to erase the most significant bit and leave the lower 5 bits (step S3305).
- 40 * 4 * log2 is approximately 111, and the value of 40 * 4 * log (1 + e / 32) is stored in the table logbl. Therefore, the image conversion apparatus 100 calculates (m * 111 + logtbl [e]) / 4-180, and stores the calculation result in the luminance d (step S3306).
- the image conversion apparatus 100 checks whether it is within the range in steps S3307 to S3310. Specifically, the image conversion apparatus 100 determines whether d is less than 0 (step S3307). When d is less than 0 (step S3307: Yes), the image conversion apparatus 100 stores 0 in d (step S3308). When d is 0 or more (step S3307: No), the image conversion apparatus 100 determines whether d is larger than 255 (step S3309).
- step S3309: YES If d is larger than 255 (step S3309: YES), the image conversion apparatus 100 stores 255 in d (step S3310).
- step S3309: No when the process of step S3308 is completed, or when the process of step S3310 is completed, the image conversion apparatus 100 performs the conversion process from the light energy value to the RGB value. Exit.
- the image conversion apparatus 100 can perform the conversion process faster than the equation (2).
- FIG. 34 is an explanatory diagram (part 1) illustrating an example of the result of the image conversion processing in the present embodiment.
- an original image 3401_IN, an original image 3402_IN, a blurred image 3401_OUT, and a blurred image 3402_OUT are displayed when the aperture shape is a hexagon.
- white portions are dispersed in a hexagonal shape in the blurred image 3401_OUT and the blurred image 3402_OUT.
- FIG. 35 is an explanatory diagram (part 2) illustrating an example of the result of the image conversion processing in the present embodiment.
- an original image 3501_IN and a blurred image 3501_5_OUT to a blurred image 3501_41_OUT are displayed.
- “X” in the blurred image 3501_x_OUT indicates the size of the aperture shape.
- x 5, 9, 13, 17, 21, 25, 29, 33, 37, and 41 are displayed.
- the white spot in the original image 3501_IN increases as the size of the aperture shape increases, and the hexagon on the blurred image increases.
- FIG. 36 is an explanatory diagram showing a speed comparison between the image conversion process for each pixel and the image conversion process in the present embodiment.
- 322 [pixel] ⁇ 482 [pixel] is an original image
- the aperture shape is a hexagon
- the processing time when converted into a blurred image is displayed.
- the image conversion process for each pixel is a process for converting a blurred image without reusing the calculation result.
- the processing time increases as the size of the aperture shape increases. For example, when the size of the aperture shape is 20 [pixels], the processing time of the image conversion process for each pixel is 1200 [msec].
- the graph 3602 showing the processing result of the image conversion processing in the present embodiment can keep the processing time short even when the size of the aperture shape increases. For example, when the size of the aperture shape is 20 [pixels], the processing time of the image conversion processing in the present embodiment is about 50 [msec].
- the image conversion apparatus 100 uses the conversion result of the first pixel in the first pixel row that overlaps the aperture shape, the relative position in the region that overlaps the aperture shape is the first pixel.
- the second pixel in the second pixel column that matches is converted.
- the image conversion apparatus 100 reuses the conversion result of the first pixel as it is, for example, at the time of image conversion. The amount of calculation can be reduced.
- the value of the second pixel after conversion may be calculated using the value of the first pixel when the image is converted.
- the image conversion apparatus 100 can calculate the conversion result of the reusable first pixel, and can reuse the conversion result of the first pixel when calculating the value of the second pixel. The amount of calculation during image conversion can be reduced.
- the value of the second pixel after conversion may be calculated based on the value. Accordingly, when the pixel group that affects the second pixel is all included in the pixels that affect the first pixel, the image conversion apparatus 100 reuses the conversion result of the first pixel. The amount of calculation at the time of image conversion can be reduced.
- the image conversion apparatus 100 for each pixel of the target pixel row, the number of pixels of the first pixel group is increased from each pixel in either the scanning direction or the direction opposite to the scanning direction. Based on the value of each pixel up to the previous pixel, the value of each pixel after conversion is calculated. Subsequently, the image conversion apparatus 100 detects the end value in any direction of the first pixel group from the diffusion source pixel in the direction opposite to any one of the converted pixel values. The value of the pixel located by the number of pixels ahead from the pixel to the first pixel may be set to the value of the first pixel.
- the image conversion apparatus 100 calculates the moving average for each row, and thus accesses a continuous area, thereby speeding up the processing.
- continuous areas can be accessed, for example, the possibility of being in a cache line increases, so that the speed of image conversion processing can be increased.
- the second value is calculated from each pixel based on the value of each converted pixel calculated using the number of pixels in the first pixel group.
- the value of each pixel after conversion based on the value of each pixel up to the number of pixels ahead of the number of pixels in the pixel group may be calculated.
- the image conversion process may be performed in accordance with the scanning direction corresponding to the shape designated by the user. For example, when the shape designated by the user scans with respect to the y-axis and the number of records in the aperture shape table 310 is smaller than that with respect to the x-axis, the image conversion apparatus 100 sets the scan direction as the y-axis The amount of calculation can be reduced by selecting. Also, the number of records in the aperture shape table 310 may be the same when scanning with respect to the x-axis and when scanning with respect to the y-axis. In this case, the image conversion apparatus 100 can increase the speed of the image conversion process by selecting the x-axis direction that can be processed in a continuous region as the scanning direction.
- the image conversion processing according to the present embodiment since the image conversion processing according to the present embodiment has a small amount of calculation, even if a mobile terminal such as a smartphone or a mobile phone that does not have the processing power of the CPU executes, it is a short time that does not give stress to the user. With this, the image conversion process can be completed. Further, the image conversion process according to the present embodiment may be executed by a personal computer. For example, when processing a photographic image, the background and the foreground are separated by another application that can separate the background and the foreground, and the image conversion processing according to the present embodiment is executed on the background. Good. Thereby, the user can obtain a beautiful blurred image as captured by the camera in a short time.
- the image conversion method described in the present embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation.
- the image conversion program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD, and is executed by being read from the recording medium by the computer.
- the image conversion program may be distributed via a network such as the Internet.
Abstract
Description
図2は、画像変換装置のハードウェア構成例を示すブロック図である。図2において、スマートフォンなどの携帯端末を想定する画像変換装置100は、CPU201と、ROM(Read Only Memory)202と、RAM(Random Access Memory)203と、フラッシュROM204と、フラッシュROMコントローラ205と、フラッシュROM206を有する。画像変換装置100は、さらに、ディスプレイ207と、I/F208と、タッチパネル209を有する。各部は、それぞれバス210で接続されている。
次に、画像変換装置100の機能について説明する。図3は、画像変換装置の機能構成例を示すブロック図である。画像変換装置100は、選択部301と、対象画素列取得部302と、抽出部303と、画素数取得部304と、第2の画素特定部305と、拡散元画素特定部306と、算出部307と、を含む。制御部となる選択部301~算出部307は、記憶装置に記憶されたプログラムをCPU201が実行することにより、選択部301~算出部307の機能を実現する。記憶装置とは、具体的には、たとえば、図2に示したROM202、RAM203、フラッシュROM204、フラッシュROM206などである。または、I/F208を経由して他のCPUが実行することにより、選択部301~算出部307の機能を実現してもよい。
図4は、絞り形状の第1の例と絞り形状テーブルの記憶内容の第1の例を示す説明図である。図4の(A)では、xy平面上での絞り形状400を示している。図4に示すように、絞り形状400は、6角形となっている。図4の(A)内のwは、ぶれ量を図示している。図4の(B)には、x方向に走査する場合の、絞り形状400の具体的な数値が記されている。たとえば、y=4の行は、x=0から始まってw=1画素続いている。また、y=3の行は、x=-1から始まってw=3画素続いている。続けて、y=2の行は、x=-3から始まってw=7画素続いている。
以上、図4~図16では、x軸方向に走査する場合の画像生成処理について説明した。画像変換装置100は、y軸方向に走査して、画像変換処理を行ってもよい。以下、図17~図21を用いて、y軸方向に走査する場合の画像変換処理について説明する。
以上、図17~図21では、y軸方向に走査する場合の画像生成処理について説明した。画像変換装置100は、x軸やy軸方向とは斜めの走査を行って、画像変換処理を行ってもよい。以下、図22~図29を用いて、斜め方向の一例として、Y=-X方向に走査する場合の画像変換処理について説明する。なお、図22~図29での説明では、説明の簡略化のため、H>Wであることを前提とする。
図4~図29では、同一の画素列を複数回走査することがなかったが、同一の画素列を複数回走査してもよい。同一の画素列を複数回走査することにより、移動平均以外の拡散を実現することができる。同一の画素列を複数回走査する例について、図30、図31を用いて説明する。
続けて、光エネルギ値とRGB値の変換の処理について説明する。ステップS1002で示したRGB値から光エネルギ値の変換処理と、ステップS1304で示した光エネルギ値からRGB値の変換処理は浮動小数点演算であるため、浮動小数点演算は整数演算と比べるとCPU負荷が高くなり、処理速度が遅くなる。したがって、RGB値から光エネルギ値の変換処理と、光エネルギ値からRGB値の変換処理とについて、整数演算で行う方法について説明する。また、(1)式、(2)式について、k=40、b=-4.5を用いて説明する。
101 絞り形状
301 選択部
302 対象画素列取得部
303 抽出部
304 画素数取得部
305 画素特定部
306 拡散元画素特定部
307 算出部
310 絞り形状テーブル
311 一時記憶領域
Claims (10)
- コンピュータに、
変換対象となる画像の中の対象画素列と平行な画素列のうちの、前記対象画素列のいずれかの画素から所定範囲の画素群によって形成される領域と重なる第1の画素列と、前記領域と連続して重なる画素数が前記第1の画素列以上の第2の画素列とを抽出し、
抽出した前記第1の画素列の中の前記領域に含まれる第1の画素群のうちの前記対象画素列の走査方向または前記走査方向の逆方向のいずれかの方向にある端の画素から前記第1の画素群に含まれる第1の画素までの画素数を取得し、
抽出した前記第2の画素列の中の前記領域に含まれる第2の画素群のうちの前記いずれかの方向にある端の画素から前記いずれかの方向の逆方向に向かって、取得した前記画素数分先の位置にある第2の画素を特定し、
前記画像を変換した場合の前記第1の画素の値を記憶する記憶部を参照して、前記画像を変換した場合の前記第2の画素の値を算出する、
処理を実行させることを特徴とする画像変換プログラム。 - 前記コンピュータに、
前記対象画素列の中から、前記対象画素列に平行に前記いずれかの画素を移動させた移動後の前記いずれかの画素から前記所定範囲の画素群によって形成される領域内に前記第1の画素が含まれるように、前記対象画素列に平行に前記いずれかの画素を移動させた場合の移動後の前記いずれかの画素と重なる画素を特定し、
特定した前記画素の値に基づいて、前記画像を変換した場合の前記第1の画素の値を算出する処理を実行させ、
前記第2の画素の値を算出する処理は、
算出した前記第1の画素の値に基づいて、前記画像を変換した場合の前記第2の画素の値を算出することを特徴とする請求項1に記載の画像変換プログラム。 - 前記コンピュータに、
前記対象画素列の中から、前記対象画素列に平行に前記いずれかの画素を移動させた移動後の前記いずれかの画素から前記所定範囲の画素群によって形成される領域内に前記第2の画素が含まれるように、前記対象画素列に平行に前記いずれかの画素を移動させた場合の移動後の前記いずれかの画素と重なる画素を特定する処理を実行させ、
前記第2の画素の値を算出する処理は、
前記画像を変換した場合の前記第1の画素の値と特定した前記画素の値とに基づいて、前記画像を変換した場合の前記第2の画素の値を算出することを特徴とする請求項1または2に記載の画像変換プログラム。 - 前記コンピュータに、
前記対象画素列の各々の画素ごとに、前記いずれかの方向に向かって、前記各々の画素から前記第1の画素群の画素数分の画素までの各画素の値に基づいて、前記画像を変換した場合の前記第1の画素列に関する前記各々の画素の値を算出し、
算出した前記第1の画素列に関する前記各々の画素の値のうちの、前記いずれかの画素から前記いずれかの方向の逆方向に向かって、前記第1の画素群の前記いずれかの方向にある端の画素から前記第1の画素までの画素数分先の位置にある画素の値を、前記画像を変換した場合の前記第1の画素の値に設定する処理を実行させ、
前記第2の画素の値を算出する処理は、
設定した前記第1の画素の値に基づいて、前記画像を変換した場合の前記第2の画素の値を算出することを特徴とする請求項1~3のいずれか一つに記載の画像変換プログラム。 - 前記コンピュータに、
前記各々の画素ごとに、前記いずれかの方向に向かって、前記各々の画素から前記第1の画素群の画素数分先の位置にある画素の次の画素から、前記各々の画素から前記第2の画素群の画素数分まで、の各画素の値と、算出した前記第1の画素列に関する前記各々の画素の値とに基づいて、前記画像を変換した場合の前記第2の画素列に関する前記各々の画素の値を算出し、
前記第2の画素の値を算出する処理は、
算出した前記第2の画素列に関する前記各々の画素の値のうちの、前記いずれかの画素から前記いずれかの方向の逆方向に向かって、前記第1の画素群の前記いずれかの方向にある端の画素から前記第2の画素までの画素数分先の位置にある画素の値に基づいて、前記画像を変換した場合の前記第2の画素の値を算出することを特徴とする請求項4に記載の画像変換プログラム。 - 前記コンピュータに、
画素群によって形成される領域の形状と、走査方向とを関連付けて記憶するテーブルを参照して、指定された形状に応じた走査方向を選択し、
前記画像の中から、選択した走査方向に走査して前記対象画素列を取得する処理を実行させ、
前記対象画素列を取得した後、前記第1の画素列と前記第2の画素列とを抽出する処理を実行することを特徴とする請求項1~5のいずれか一つに記載の画像変換プログラム。 - 変換対象となる画像の中の対象画素列と平行な画素列のうちの、前記対象画素列のいずれかの画素から所定範囲の画素群によって形成される領域と重なる第1の画素列と、前記領域と連続して重なる画素数が前記第1の画素列以上の第2の画素列とを抽出し、
抽出した前記第1の画素列の中の前記領域に含まれる第1の画素群のうちの前記対象画素列の走査方向または前記走査方向の逆方向のいずれかの方向にある端の画素から前記第1の画素群に含まれる第1の画素までの画素数を取得し、
抽出した前記第2の画素列の中の前記領域に含まれる第2の画素群のうちの前記いずれかの方向にある端の画素から前記いずれかの方向の逆方向に向かって、取得した前記画素数分先の位置にある第2の画素を特定し、
前記画像を変換した場合の前記第1の画素の値を記憶する記憶部を参照して、前記画像を変換した場合の前記第2の画素の値を算出する、
処理をコンピュータに実行させる画像変換プログラムを記録したことを特徴とする記録媒体。 - 変換対象となる画像の中の対象画素列と平行な画素列のうちの、前記対象画素列のいずれかの画素から所定範囲の画素群によって形成される領域と重なる第1の画素列と、前記領域と連続して重なる画素数が前記第1の画素列以上の第2の画素列とを抽出する抽出部と、
前記抽出部によって抽出された前記第1の画素列の中の前記領域に含まれる第1の画素群のうちの前記対象画素列の走査方向または前記走査方向の逆方向のいずれかの方向にある端の画素から前記第1の画素群に含まれる第1の画素までの画素数を取得する取得部と、
前記抽出部によって抽出された前記第2の画素列の中の前記領域に含まれる第2の画素群のうちの前記いずれかの方向にある端の画素から前記いずれかの方向の逆方向に向かって、前記取得部によって取得された前記画素数分先の位置にある第2の画素を特定する特定部と、
前記画像を変換した場合の前記第1の画素の値を記憶する記憶部を参照して、前記画像を変換した場合の前記第2の画素の値を算出する算出部と、
を有することを特徴とする画像変換装置。 - 変換対象となる画像の中の対象画素列と平行な画素列のうちの、前記対象画素列のいずれかの画素から所定範囲の画素群によって形成される領域と重なる第1の画素列と、前記領域と連続して重なる画素数が前記第1の画素列以上の第2の画素列とを抽出する抽出部と、
前記抽出部によって抽出された前記第1の画素列の中の前記領域に含まれる第1の画素群のうちの前記対象画素列の走査方向または前記走査方向の逆方向のいずれかの方向にある端の画素から前記第1の画素群に含まれる第1の画素までの画素数を取得する取得部と、
前記抽出部によって抽出された前記第2の画素列の中の前記領域に含まれる第2の画素群のうちの前記いずれかの方向にある端の画素から前記いずれかの方向の逆方向に向かって、前記取得部によって取得された前記画素数分先の位置にある第2の画素を特定する特定部と、
前記画像を変換した場合の前記第1の画素の値を記憶する記憶部を参照して、前記画像を変換した場合の前記第2の画素の値を算出する算出部と、
を含むコンピュータを有することを特徴とする画像変換装置。 - コンピュータが、
変換対象となる画像の中の対象画素列と平行な画素列のうちの、前記対象画素列のいずれかの画素から所定範囲の画素群によって形成される領域と重なる第1の画素列と、前記領域と連続して重なる画素数が前記第1の画素列以上の第2の画素列とを抽出し、
抽出した前記第1の画素列の中の前記領域に含まれる第1の画素群のうちの前記対象画素列の走査方向または前記走査方向の逆方向のいずれかの方向にある端の画素から前記第1の画素群に含まれる第1の画素までの画素数を取得し、
抽出した前記第2の画素列の中の前記領域に含まれる第2の画素群のうちの前記いずれかの方向にある端の画素から前記いずれかの方向の逆方向に向かって、取得した前記画素数分先の位置にある第2の画素を特定し、
前記画像を変換した場合の前記第1の画素の値を記憶する記憶部を参照して、前記画像を変換した場合の前記第2の画素の値を算出する、
処理を実行することを特徴とする画像変換方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/071917 WO2014033867A1 (ja) | 2012-08-29 | 2012-08-29 | 画像変換プログラム、記録媒体、画像変換装置、および画像変換方法 |
JP2014532643A JP5900625B2 (ja) | 2012-08-29 | 2012-08-29 | 画像変換プログラム、画像変換装置、および画像変換方法 |
EP12883620.2A EP2892025B1 (en) | 2012-08-29 | 2012-08-29 | Image conversion program, recording medium, image conversion apparatus, and image conversion method |
US14/619,868 US9615046B2 (en) | 2012-08-29 | 2015-02-11 | Image conversion apparatus and method reducing number of pixel counts processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/071917 WO2014033867A1 (ja) | 2012-08-29 | 2012-08-29 | 画像変換プログラム、記録媒体、画像変換装置、および画像変換方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/619,868 Continuation US9615046B2 (en) | 2012-08-29 | 2015-02-11 | Image conversion apparatus and method reducing number of pixel counts processing |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014033867A1 true WO2014033867A1 (ja) | 2014-03-06 |
Family
ID=50182717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2012/071917 WO2014033867A1 (ja) | 2012-08-29 | 2012-08-29 | 画像変換プログラム、記録媒体、画像変換装置、および画像変換方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9615046B2 (ja) |
EP (1) | EP2892025B1 (ja) |
JP (1) | JP5900625B2 (ja) |
WO (1) | WO2014033867A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102377277B1 (ko) * | 2015-02-27 | 2022-03-23 | 삼성전자주식회사 | 전자 장치에서 커뮤니케이션 지원 방법 및 장치 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0636022A (ja) | 1992-07-14 | 1994-02-10 | Matsushita Electric Ind Co Ltd | 画像ぼかし処理装置 |
JPH08272960A (ja) * | 1995-03-29 | 1996-10-18 | Dainippon Screen Mfg Co Ltd | 画像のフィルタリング処理方法 |
JP2001216513A (ja) | 2000-02-01 | 2001-08-10 | Yasumi Ichimura | ぼけと絞り形状画像変換装置および方法 |
JP2004133551A (ja) | 2002-10-08 | 2004-04-30 | Noritsu Koki Co Ltd | 画像処理方法、画像処理装置、画像処理プログラム、および画像処理プログラムを記録した記録媒体 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080118175A1 (en) * | 2006-11-16 | 2008-05-22 | Barinder Singh Rai | Creating A Variable Motion Blur Effect |
US20090060387A1 (en) * | 2007-09-04 | 2009-03-05 | Microsoft Corporation | Optimizations for radius optical blur |
JP5220677B2 (ja) * | 2009-04-08 | 2013-06-26 | オリンパス株式会社 | 画像処理装置、画像処理方法および画像処理プログラム |
JP5388781B2 (ja) * | 2009-09-29 | 2014-01-15 | 株式会社東芝 | X線コンピュータ断層撮影装置 |
-
2012
- 2012-08-29 JP JP2014532643A patent/JP5900625B2/ja not_active Expired - Fee Related
- 2012-08-29 WO PCT/JP2012/071917 patent/WO2014033867A1/ja active Application Filing
- 2012-08-29 EP EP12883620.2A patent/EP2892025B1/en not_active Not-in-force
-
2015
- 2015-02-11 US US14/619,868 patent/US9615046B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0636022A (ja) | 1992-07-14 | 1994-02-10 | Matsushita Electric Ind Co Ltd | 画像ぼかし処理装置 |
JPH08272960A (ja) * | 1995-03-29 | 1996-10-18 | Dainippon Screen Mfg Co Ltd | 画像のフィルタリング処理方法 |
JP2001216513A (ja) | 2000-02-01 | 2001-08-10 | Yasumi Ichimura | ぼけと絞り形状画像変換装置および方法 |
JP2004133551A (ja) | 2002-10-08 | 2004-04-30 | Noritsu Koki Co Ltd | 画像処理方法、画像処理装置、画像処理プログラム、および画像処理プログラムを記録した記録媒体 |
Non-Patent Citations (1)
Title |
---|
See also references of EP2892025A4 |
Also Published As
Publication number | Publication date |
---|---|
US9615046B2 (en) | 2017-04-04 |
EP2892025A4 (en) | 2015-08-19 |
JPWO2014033867A1 (ja) | 2016-08-08 |
US20150156436A1 (en) | 2015-06-04 |
EP2892025B1 (en) | 2017-04-19 |
EP2892025A1 (en) | 2015-07-08 |
JP5900625B2 (ja) | 2016-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110969685B (zh) | 使用渲染图的可定制渲染管线 | |
RU2583730C2 (ru) | Адаптивная визуализация изображения и использование фиктивного изображения | |
KR100924689B1 (ko) | 모바일 기기의 이미지 변환 장치 및 방법 | |
US10067646B2 (en) | Color selector for desktop publishing | |
JP3725368B2 (ja) | 画像の表示択方法、コンピュータ・システムおよび記録媒体 | |
JP2021152901A (ja) | 画像を生成するための方法及装置 | |
CN111862290B (zh) | 一种基于径向模糊的绒毛渲染方法、装置及存储介质 | |
CN114020756A (zh) | 遥感影像实时地图服务发布方法和装置 | |
US10930033B1 (en) | Content aware tracing for generating vector drawings | |
JP2013125519A (ja) | 画像処理装置、データ構造、および画像生成装置 | |
FR2527405A1 (fr) | Procede d'analyse et d'enregistrement d'un motif | |
JP2024502117A (ja) | 画像処理方法、画像生成方法、装置、機器及び媒体 | |
JP5900625B2 (ja) | 画像変換プログラム、画像変換装置、および画像変換方法 | |
Karch et al. | Adaptive Wiener filter super-resolution of color filter array images | |
WO2007071882A2 (fr) | Procede pour fournir des donnees a un moyen de traitement numerique | |
Wang et al. | Efficient super-resolution using mobilenetv3 | |
US9208546B2 (en) | Image processing apparatus, method and imaging apparatus | |
WO2020012139A2 (fr) | Procede de visualisation d'elements graphiques issus d'un flux video composite encode | |
Sohail et al. | Geometric superresolution by using an optical mask | |
US20220070370A1 (en) | Image processing device, image processing method, and image processing program | |
US10049425B2 (en) | Merging filters for a graphic processing unit | |
Eldawy et al. | A demonstration of hadoopviz: An extensible mapreduce system for visualizing big spatial data | |
Knox | Diffraction-limited imaging with astronomical telescopes | |
Stasik et al. | Extensible implementation of reliable pixel art interpolation | |
JP7111309B2 (ja) | 情報処理装置、学習装置、認識装置、静止画の生産方法、およびプログラム |
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: 12883620 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2014532643 Country of ref document: JP Kind code of ref document: A |
|
REEP | Request for entry into the european phase |
Ref document number: 2012883620 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012883620 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |