WO2018127963A1 - パターン生成装置、画像処理装置、パターン生成方法、及びプログラムを記憶した記憶媒体 - Google Patents

パターン生成装置、画像処理装置、パターン生成方法、及びプログラムを記憶した記憶媒体 Download PDF

Info

Publication number
WO2018127963A1
WO2018127963A1 PCT/JP2017/000204 JP2017000204W WO2018127963A1 WO 2018127963 A1 WO2018127963 A1 WO 2018127963A1 JP 2017000204 W JP2017000204 W JP 2017000204W WO 2018127963 A1 WO2018127963 A1 WO 2018127963A1
Authority
WO
WIPO (PCT)
Prior art keywords
sampling
pattern
main
image
sampling pattern
Prior art date
Application number
PCT/JP2017/000204
Other languages
English (en)
French (fr)
Inventor
健太 先崎
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2018560293A priority Critical patent/JP6763442B2/ja
Priority to PCT/JP2017/000204 priority patent/WO2018127963A1/ja
Priority to US16/474,128 priority patent/US11120295B2/en
Publication of WO2018127963A1 publication Critical patent/WO2018127963A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/30Noise filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/10Image enhancement or restoration using non-spatial domain filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/42Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
    • G06V10/431Frequency domain transformation; Autocorrelation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20052Discrete cosine transform [DCT]

Definitions

  • This disclosure relates to image processing.
  • the technology to reduce noise contained in images is an important technology not only to reproduce captured images more clearly, but also to prevent noise enhancement in various image enhancement processes. is there.
  • noise included in the image examples include additive white Gaussian noise and Poisson noise.
  • RDCT Redundant Discrete DCT
  • DCT Discrete Cosine Transform
  • block DCT block-unit DCT
  • IDCT inverse DCT
  • the DCT coefficient is corrected by, for example, applying a soft decision threshold process (Soft Shrinkage) or a hard decision threshold process (Hard Shrinkage) to the DCT coefficient.
  • Soft Shrinkage Soft Shrinkage
  • Hard Shrinkage Hard Shrinkage
  • the DCT coefficient at the pixel position (i, j) in the block to be processed is f (i, j)
  • the DCT coefficient f corrected using the threshold processing parameter ⁇ is used.
  • the processing of Expression (1) is processing for removing the noise by removing the DCT coefficient having a small absolute value and maintaining the original signal component by maintaining the DCT coefficient having a large absolute value based on the above-described properties. .
  • block DCT in JPEG (Joint Photographic Experts Group) or the like, for example, the entire image is divided into blocks of 8 pixels ⁇ 8 pixels, and processing is performed in block units. At this time, the blocks are arranged so as not to overlap each other.
  • the RDCT generates a normalized output pixel value by taking an average value of pixel values generated in each block pattern.
  • RDCT is a technique capable of realizing high-quality noise removal, particularly excellent in the expression of an image signal in which energy tends to be biased to a specific frequency component such as a texture having a repeated pattern.
  • examples of the frequency conversion used in such a noise removal method include Hadamard transform and Wavelet transform.
  • the maximum redundancy refers to the number of block patterns including one pixel.
  • the maximum redundancy is 64.
  • Randomized RDCT (RRDCT) of Non-Patent Document 2 has been proposed.
  • RRDCT does not perform RDCT using patterns of all blocks, but performs RDCT using blocks sampled (extracted) randomly from patterns of all blocks.
  • random sampling may cause a pixel that has not been processed even once, for example, by using Poisson Disk Sampling (PDS) in Non-Patent Document 3, sampling with an appropriate spatial variation may be performed. Done.
  • PDS Poisson Disk Sampling
  • PDS is one method for determining the arrangement (pattern) of representative points (hereinafter referred to as “sampling points”) in a block indicating the position of the block to be sampled.
  • the PDS method does not sample a pixel position determined at random when there is another sampling point within a predetermined radius from the pixel position.
  • the PDS method samples the pixel.
  • the PDS method repeats such processing until there is no point that can be sampled, and calculates a final sampling pattern.
  • Non-Patent Document 2 describes that RRDCT can reduce the calculation cost while maintaining the performance of RDCT. Although the calculation cost of PDS is high, practically, for example, by preparing a plurality of block sampling patterns and using them while appropriately switching the patterns, the calculation burden is reduced. Therefore, there is practically no problem from the viewpoint of computational complexity of using PDS in RRDCT.
  • the number of sampling points per line (row) (hereinafter referred to as “number of samples”) varies from line to line.
  • set radius when the predetermined radius set in the PDS (hereinafter referred to as “set radius”) is large, that is, when the number of final sampling points is small, the number of samples per line becomes uneven.
  • RRDCT the processing amount per line differs for each line. For this reason, for example, when implementing hardware (FPGA (field-programmable gate array)) that performs processing in parallel for each line, in order to synchronize the processing for each line, the line with the maximum processing amount In addition, it is necessary to generate a delay in other lines. Therefore, there is a problem that hardware implementation becomes complicated and processing efficiency deteriorates.
  • the present invention has been invented in view of the above problems, and one of its purposes is a pattern generation apparatus that generates a sampling pattern that can improve the efficiency of image processing including processing on a sampled block. Is to provide.
  • a pattern generation apparatus provides a sampling pattern that is a pattern of positions in an image of sampling points indicating the blocks used for image processing for each block, and sampling points in a plurality of rows in the sampling pattern.
  • Main generation means for generating the number of the same as the reference value, and output control means for performing control to output a main sampling pattern which is a sampling pattern generated by the main generation means.
  • a sampling pattern that is a position pattern in an image of a sampling point indicating the block used for image processing for each block is converted into sampling points in a plurality of rows in the sampling pattern. Are controlled so as to be equal to the reference value, and the main sampling pattern which is the generated sampling pattern is output.
  • a program allows a computer to sample a sampling pattern, which is a pattern of positions in an image, of sampling points indicating the blocks used for image processing for each block, in a plurality of rows in the sampling pattern.
  • a main generation process for generating the number of points to be equal to a reference value and an output control process for performing control to output a main sampling pattern that is a sampling pattern generated by the main generation process are executed.
  • a storage medium stores the above program.
  • An image processing apparatus includes image processing means for generating a new image by performing image processing for each block based on the main sampling pattern.
  • FIG. 1 is a block diagram illustrating a configuration of an image processing apparatus according to a first embodiment of the present invention. It is a block diagram which shows the structure of the sampling pattern production
  • 3 is a flowchart illustrating an example of an image processing operation performed by the image processing apparatus according to the first embodiment.
  • FIG. 1 is a block diagram showing a configuration of an image processing apparatus 1 according to the first embodiment of the present invention.
  • the image processing apparatus 1 includes a parameter acquisition unit 11, a sampling pattern generation unit 12, an output control unit 13, an image acquisition unit 21, a noise removal unit 22, an image output control unit 23, and a sampling pattern storage unit 30. It is equipped with.
  • the parameter acquisition unit 11 acquires parameters used for generating a sampling pattern, and outputs the acquired parameters to the sampling pattern generation unit 12.
  • the parameter acquisition unit 11 includes an input interface such as a keyboard and buttons, for example, and receives input of parameters from the user.
  • the parameter acquisition unit 11 may be connected to the input device, and may acquire the parameter by receiving, from the input device, a parameter input operation performed on the input device by the user. Alternatively, the parameter acquisition unit 11 may acquire a parameter from a file holding the parameter. The parameters used for generating the sampling pattern will be described later.
  • the sampling pattern generation unit 12 generates a sampling pattern of a DCT block used by a noise removal unit 22 described later based on the parameters acquired by the parameter acquisition unit 11. Then, the sampling pattern generation unit 12 outputs the generated sampling pattern to the sampling pattern storage unit 30 and the output control unit 13.
  • the output control unit 13 performs control to output data such as processing results and progress by the image processing apparatus 1.
  • the output control unit 13 is connected to an output device (not shown) that outputs an image, such as a display or a printer, and outputs data to the output device.
  • the output control unit 13 may output image data to a storage medium connected to the image processing apparatus 1.
  • the output control unit 13 may transmit data to other devices connected via a network.
  • the image acquisition unit 21 acquires image data to be processed.
  • the image acquisition unit 21 acquires image data by receiving the image data wirelessly or by wire from a device having an imaging function such as a camera or a scanner.
  • the image acquisition unit 21 may acquire the image data by reading the image data from a storage medium that stores the image data.
  • the image acquisition unit 21 may acquire image data from an image database in which image data is stored via a communication network or the like.
  • the image acquisition unit 21 outputs the acquired image data to the noise removal unit 22.
  • an image acquired as an image to be processed is also referred to as an “input image”.
  • the noise removing unit 22 performs a denoising process on the input image and outputs the image from which the noise has been removed to the image output control unit 23.
  • the image output control unit 23 controls the output of the image generated by the noise removal unit 22.
  • the image output control unit 23 is connected to an output device (not shown) that outputs an image, such as a display or a printer, and outputs data to the output device.
  • the image output control unit 23 may output image data to a storage medium connected to the image processing apparatus 1.
  • the image output control unit 23 may transmit data to other devices connected via a network.
  • FIG. 2 is a block diagram illustrating a configuration of the sampling pattern generation unit 12.
  • the sampling pattern generation unit 12 includes a PDS execution unit 121, a difference pattern generation unit 122, a determination pattern generation unit 123, a provisional pattern storage unit 124, and a difference pattern storage unit 125.
  • the PDS execution unit 121 executes the PDS a plurality of times while changing the set radius based on the parameters acquired by the parameter acquisition unit 11. Then, the PDS execution unit 121 causes the temporary pattern storage unit 124 to store the sampling patterns obtained by the PDS based on the set radii as “provisional patterns”. Details of the provisional pattern will be described later.
  • the temporary pattern storage unit 124 stores a temporary pattern generated by the PDS execution unit 121 based on each set radius.
  • the provisional pattern storage unit 124 outputs a provisional pattern in accordance with instructions from the difference pattern generation unit 122 and the determination pattern generation unit 123.
  • the difference pattern generation unit 122 calculates a difference between provisional patterns based on different setting radii as a “difference pattern”, and outputs the calculated difference pattern to the difference pattern storage unit 125. The calculation of the difference pattern will be described later.
  • the difference pattern storage unit 125 stores the difference pattern generated by the difference pattern generation unit 122.
  • the difference pattern storage unit 125 outputs a difference pattern in accordance with an instruction from the decision pattern generation unit 123.
  • the determination pattern generation unit 123 includes the parameter acquired by the parameter acquisition unit 11, the provisional pattern based on the maximum set radius stored in the provisional pattern storage unit 124, and the difference pattern stored in the difference pattern storage unit 125.
  • a sampling pattern is generated as a “decision pattern”.
  • the decision pattern generation unit 123 outputs the generated sampling pattern to the sampling pattern storage unit 30 and the output control unit 13.
  • the determination pattern generation unit 123 may output a message indicating normal end or error end to the output control unit 13 or information such as the progress of processing by the sampling pattern generation unit 12.
  • the noise removal unit 22 includes a block cutout unit 221, a DCT unit 222, a coefficient processing unit 223, an IDCT unit 224, a block integration unit 225, and a normalization unit 226. Including.
  • the block cutout unit 221 cuts out a plurality of blocks specified based on the sampling pattern stored in the sampling pattern storage unit 30 from the image acquired by the image acquisition unit 21.
  • the block cutout unit 221 cuts out pixels in the range shown in FIG. 4 from one sampling point as a block. That is, the block cutout unit 221, from the sampling point (x, y), t DCT -1 pieces of the right (increasing direction of x), t DCT -1 pieces of downward (the direction of increasing y), A square range having each pixel as an end point is specified as a block range.
  • the range of the block may be a range where the sampling point is located at a position other than the upper left corner of the block.
  • the shape of the block is not necessarily square. If the block range and shape are different from the example of FIG. 4, the range of the parameter p described later and the range of expansion of the input image can be changed as appropriate.
  • the block cutout unit 221 outputs the cut out block to the DCT unit 222.
  • the DCT unit 222 applies a two-dimensional DCT to the block received from the block cutout unit 221 and, as a result, calculates a DCT coefficient of each block. Then, the DCT unit 222 outputs the calculated DCT coefficient to the coefficient processing unit 223.
  • the coefficient processing unit 223 performs processing to degenerate the DCT coefficient received from the DCT unit 222. That is, the coefficient processing unit 223 performs a process of reducing the number of DCT coefficients having non-zero values.
  • the coefficient processing unit 223 performs, for example, the conversion shown in Expression (1) on the received DCT coefficient f (i, j). That is, the coefficient processing unit 223 calculates a new conversion coefficient f ′ (i, j) by performing correction for changing a DCT coefficient that does not satisfy a predetermined threshold to zero. Then, the coefficient processing unit 223 outputs the converted coefficient f ′ (i, j) to the IDCT unit 224.
  • the IDCT unit 224 performs a two-dimensional inverse DCT (Inverse DCT; IDCT) on the degenerated DCT coefficient received from the coefficient processing unit 223, and obtains an image block after noise suppression as a result.
  • IDCT Inverse DCT
  • the IDCT unit 224 outputs the obtained noise-suppressed image block to the block integration unit 225.
  • the block integration unit 225 integrates the image blocks after noise suppression received from the IDCT unit 224. Specifically, the block integration unit 225 places the image block after noise suppression at the same position as the position in the original input image, and cumulatively adds the pixel values at the same position. Then, the block integration unit 225 outputs the image data generated by the above integration to the normalization unit 226.
  • the normalization unit 226 performs normalization processing on the image data after integration received from the block integration unit 225 in accordance with the redundancy for each pixel (the number of times pixels are added). An example of calculating the redundancy will be described later.
  • the normalizing unit 226 matches the dynamic range of the image with the dynamic range of the input image.
  • the normalization unit 226 outputs the image generated by the above processing to the image output control unit 23 as an output image.
  • the PDS execution unit 121 executes PDS using different set radii based on the parameters acquired by the parameter acquisition unit 11.
  • the parameters used for executing the PDS include, for example, a maximum set radius r max , a minimum set radius r min , a set radius step width r step , and an input image height H and width W.
  • the parameter acquisition unit 11 may further acquire the length t DCT of one side of the DCT block and the image extension parameter t ext (described later).
  • the value of the parameter is, for example, a value with one pixel as one unit.
  • the PDS execution unit 121 first initializes the sampling pattern parameter p.
  • the parameter p is a parameter indicating a combination of information indicating whether or not each pixel is a sampled pixel.
  • the parameter p is, for example, a value of “0” (indicating that it is not a sampled pixel) or “1” (indicating that it is a sampled pixel) with the position (x, y) of the pixel as a variable , Referred to as “sample value”).
  • the parameter p may be a two-dimensional array.
  • a sample value of a pixel whose position is represented by (x, y) is represented by p (x, y).
  • x is a variable for determining a column
  • y is a variable for determining a row (line).
  • the PDS execution unit 121 When setting the parameter p, the PDS execution unit 121 sets all sample values as “0” as initial values.
  • t ext is, for example, a value equal to or less than t DCT +1.
  • FIG. 5 is a diagram illustrating an example of the relationship between the image and the parameter p.
  • a rectangular area indicated by a dot pattern is an area corresponding to the area of the input image, and an area surrounded by a dotted line outside the area is an area in which the parameter p is defined. That is, the parameter p is set in a region where the upper end and the left end of the image are expanded by t ext pixels and the lower end and the right end are expanded by one pixel.
  • how to set the parameter p may be changed according to the case.
  • the range of the parameter p is sufficient if the upper end and the left end of the image are expanded by t ext ⁇ 1 pixels. Since the sampling points tend to be biased, an area where each end is extended by one pixel is used for the parameter p.
  • the PDS execution unit 121 executes PDS based on the set radius.
  • the PDS execution unit 121 generates a sampling pattern by reflecting the PDS result in the parameter p.
  • a specific method of PDS is as follows, for example.
  • the PDS execution unit 121 determines one point in the input image area as a sampling point. In determining the sampling points, for example, the PDS execution unit 121 may prepare a determination list and add information (for example, position) of the determined points to the determination list. The PDS execution unit 121 selects and determines sampling points, for example, at random.
  • the PDS execution unit 121 selects one pixel on the fixed list, and extracts a predetermined number of points around the selected pixel as sampling candidate points. Specifically, for example, the PDS execution unit 121 randomly extracts k points whose distance from the selected pixel is not less than r and not more than 2 ⁇ r.
  • R is a set radius.
  • k may be a preset fixed value or a value acquired from the user by the parameter acquisition unit 11.
  • the above calculation formula is an example. In particular, the range of ⁇ i and the formula for calculating r i may be changed.
  • PDS execution unit 121 the position c i of each sampling candidate points, when in the circle of radius r centered at the c i, to see if the point included in the decisive list exists, there is no
  • the candidate point is confirmed as a sampling point (added to the confirmation list).
  • the PDS execution unit 121 excludes the candidate point from the candidate (does not add it to the fixed list).
  • the PDS execution unit 121 executes the above processing for all sampling points included in the fixed list for the same set radius r, and repeats until the fixed list does not change.
  • the PDS execution unit 121 determines the sampling pattern at the set radius. That is, the PDS execution unit 121 determines each value of the parameter p at the set radius with the sample value of the pixel position included in the determination list as “1” and the sample value of the other pixels as “0”.
  • the PDS execution unit 121 may generate a sampling pattern as follows using an array in which values are associated with each pixel similarly to the parameter p. That is, the PDS execution unit 121 initializes all the values of the above array to “0”, and when there is a confirmed sampling point, the distance from the sampling point is equal to or less than the set radius r. The value of the above array is changed to “1”. Then, the PDS execution unit 121 may determine a randomly selected point as a sampling point among pixels having a value of “0” until all values in the determination pattern become “1”.
  • the PDS execution unit 121 generates a sampling pattern for each set radius r. For example, the PDS execution unit 121 repeats the generation of the sampling pattern until r ⁇ r min while updating the set radius r as r ⁇ rr step . Note that when the value of r is not r max , the PDS execution unit 121 uses the final fixed list in the PDS performed immediately before as the initial fixed list in the PDS based on the set radius r.
  • the PDS execution unit 121 generates a sampling pattern for each set radius r that changes every r step from r max to r min .
  • each sampling pattern generated by the PDS execution unit 121 is referred to as a “provisional pattern”.
  • provisional pattern the sampling points included in the provisional pattern by PDS based on the smaller setting radius include the sampling points included in the provisional pattern by PDS based on the larger setting radius.
  • the PDS execution unit 121 stores the generated provisional patterns in the provisional pattern storage unit 124, respectively.
  • the PDS execution unit 121 determines the sample values of the upper and lower ends of each provisional pattern and the left and right column sample values after all provisional patterns are determined. May be changed to “0”. Since these lines are blocks in positions where output pixel values are not generated in the RRDCT process, they do not affect the performance of the noise removal process.
  • the provisional pattern storage unit 124 is provided with m provisional patterns p 0 , p 1 in which a sample value of “0” or “1” is given to each pixel in order from the larger set radius. ,..., P m-1 is stored.
  • the difference pattern generation unit 122 generates a difference pattern based on the provisional pattern.
  • the difference pattern is a difference between adjacent sampling patterns. That is, the difference pattern generation unit 122 calculates the difference pattern d i for i satisfying 0 ⁇ i ⁇ m ⁇ 2, for example, as follows.
  • d i is an array having the same size as p i .
  • the difference pattern generation unit 122 stores the m ⁇ 1 difference patterns thus calculated in the difference pattern storage unit 125.
  • the decision pattern generation unit 123 includes a provisional pattern p 0 based on the maximum set radius, m ⁇ 1 difference patterns d 0 , d 1 ,..., D m ⁇ 2 , DCT block size t DCT, and per line A sampling pattern is generated from the reference value n max of the number of samples.
  • the sampling pattern generated by the determination pattern generation unit 123 is referred to as “determination pattern”.
  • the value of n max may be stored in advance in the determination pattern generation unit 123, or may be acquired from the user via the parameter acquisition unit 11.
  • An example of a method by which the determination pattern generation unit 123 generates a determination pattern is as follows.
  • Determining the pattern generation unit 123 first, on the basis of p 0, we obtain the number of samples per line. That is, the determination pattern generation unit 123 calculates the number n p — 0 (j) of pixels in the line j (that is, the j-th row) whose sample value is “1”.
  • a subscript may be represented using an underscore “_”.
  • “p 0 ” may be represented as “p_0”.
  • “d_i” is the same as “d i ”.
  • determining the pattern generation unit 123, also for the difference pattern d i, the number of samples n d_i per line (j) is calculated as follows.
  • the decision pattern generation unit 123 performs error determination for checking whether the decision pattern can be generated when the decision pattern is generated.
  • the error determination is the following two determinations.
  • the decision pattern generation unit 123 outputs a first error code indicating that a decision pattern cannot be created to the output control unit 13. .
  • n max is too small or the maximum set radius r max is too small.
  • the output control unit 13 may perform control to display a message so as to increase n max or set r max to the user.
  • the determination pattern generation unit 123 determines the output control unit 13 A second error code indicating that the pattern cannot be generated is output.
  • n max is too large
  • the minimum set radius r min is too large
  • the step width r step of the set radius is too large.
  • the output control unit 13 may perform control to display a message so as to set any one of n max , r min , and r step to be smaller.
  • determining the pattern generator 123 generates a determined pattern p f. Specifically, it is as follows.
  • the decision pattern generation unit 123 calculates the redundancy n red (x, y) of each pixel when a DCT block pattern set based on the provisional pattern p 0 is used.
  • n red (x, y) The calculation method of the redundancy n red (x, y) is as follows. First, the decision pattern generation unit 123 initializes n red (x, y). n red (x, y) is a function representing the redundancy of the pixel whose position is (x, y). The initial value of n red (x, y) is “0” in all sets of x and y.
  • p 0 (x, y) 1, and x ⁇ x ′ ⁇ x + t DCT ⁇ 1, y ⁇ y ′ ⁇
  • “1” is added to the value of n red (x ′, y ′).
  • the determination pattern generation unit 123 may calculate the redundancy of each position in the region corresponding to the input image (the region indicated by the dot pattern in FIG. 4). .
  • the decision pattern generation unit 123 specifies the minimum i that satisfies n p — 0 (j) + ⁇ i n d — i (j) ⁇ n max in the line j.
  • the identified i is assumed to be i target .
  • n max i.e., when n p_ (i_target + 1) ( j) is equal to n max is determined pattern generation
  • n red (x ′, y ′) ⁇ n red (x ′, y ′) + 1 is cumulatively added.
  • the determination pattern generation unit 123 adds sampling points to the base of the determination pattern. For example, the determination pattern generation unit 123 extracts sampling points from di_target .
  • n red, sum (x, j ) is the sum of the redundancy of the x ⁇ x ' ⁇ x + t DCT -1, j ⁇ y' satisfy ⁇ j + t DCT -1 (x ', y') .
  • n red, sum (x, j) is also referred to as “redundancy density”.
  • the determination pattern generation unit 123 may add the pixel position (x, j) where n red, sum (x, j) is minimum to the sampling pattern. By preferentially determining a pixel position having a small n red, sum (x, j) as a sampling point, the variation of the sampling point is improved.
  • the decision pattern generation unit 123 updates n red after adding the sampling points. The determination pattern generation unit 123 repeats this series of processing until the number of samples in the line j reaches n max , thereby determining the sampling pattern p f (x, j) in the line j.
  • the sampling pattern p f (x, y) generated thereby is the determination pattern.
  • the output control unit 13 may perform control to display a message instructing the user to increase n max or set r min and r step to be smaller.
  • the image acquisition unit 21 acquires an input image and outputs the acquired input image to the noise removal unit 22.
  • the image acquisition unit 21 may expand the acquired input image.
  • the image acquisition unit 21 expands the input image so that the input image includes a range that is a sampling target in the PDS performed by the PDS execution unit 121.
  • FIG. 6 is a conceptual diagram of an image expanded by the image acquisition unit 21 when the area indicated by the dotted line in FIG. 4 is the target range of PDS.
  • a rectangular area indicated by a dot pattern is an area corresponding to the input image, and a dotted line outside thereof is an outline of the image after expansion.
  • the image is expanded by t DCT pixels vertically and horizontally. The reason why the upper end and the left end of the image are expanded by t DCT pixels is that the expanded range is a PDS target range.
  • the target range of PDS has been extended by one pixel at the right end and the lower end of the image, but the image acquisition unit 21 can cut out a DCT block of t DCT ⁇ t DCT size based on the sampling points. Similarly , the right end and the lower end are extended to the outside by t DCT ⁇ 1 pixels.
  • the pixel values of the expanded area may be, for example, a copy of the pixel values at the top, bottom, left, and right edges of the input image, or are copied so that the pixel values are symmetric with respect to the outline of the input image. It may be a pixel value.
  • the image output control unit 23 performs control to output the image after noise removal received from the normalization unit 226. Note that when the image is expanded by the image acquisition unit 21, the image output control unit 23 may perform control to remove the expanded region and output the image from which the expanded region is removed.
  • FIG. 7 is a flowchart illustrating an image processing operation performed by the image processing apparatus 1.
  • the parameter acquisition unit 11 acquires a predetermined parameter (step S701). Then, the sampling pattern generation unit 12 receives the acquired parameter.
  • the PDS execution unit 121 initializes the parameters of the sampling pattern (step S702).
  • the PDS execution unit 121 of the sampling pattern generation unit 12 executes PDS while changing the set radius, and generates a sampling pattern (provisional pattern) based on each set radius (step S703). If the process in step S703 is terminated due to an error (YES in step S704), the image processing apparatus 1 ends the process as an error.
  • step S703 If the process of step S703 is successful (NO in step S704), the difference pattern generation unit 122 generates a difference (difference pattern) between adjacent temporary patterns (step S705).
  • the determination pattern generation unit 123 performs error determination (the above determination (i) and determination (ii)) (step S706). If it is determined that there is an error (YES in step S707), the image processing apparatus 1 ends the process as an error. When it is not determined as an error (NO in step S707), the determination pattern generation unit 123 generates a sampling pattern (determination pattern) in which the number of samples in each row is equal to the reference value based on the provisional pattern and the difference pattern (step S707). S708).
  • the decision pattern generation unit 123 calculates the redundancy of each pixel when a block is cut out based on the decision pattern (step S709). Then, the determination pattern generation unit 123 checks whether there is a pixel with a redundancy of “0”. If there is a pixel whose redundancy is “0” (YES in step S710), the decision pattern generation unit 123 performs error processing and ends. If there is no pixel whose redundancy is “0” (NO in step S710), the decision pattern generation unit 123 stores the decision pattern in the sampling pattern storage unit 30. Then, the process proceeds to step S711.
  • step S711 the image acquisition unit 21 acquires an image to be subjected to noise removal processing.
  • the noise removing unit 22 performs noise removal by RRDCT on the input image acquired in step S711 based on the determined pattern (step S712).
  • the image output control unit 23 performs control to output the image after noise generation generated in step S712 (step S713).
  • the image processing apparatus 1 outputs an image from which noise has been removed based on a sampling pattern (decision pattern) in which the number of samples in each row is equal to the reference value.
  • the image processing apparatus 1 When the image processing apparatus 1 continuously processes images, the image processing apparatus 1 does not newly generate a determination pattern, and the second and subsequent determination patterns generated for the first image are used. It may be reused in the processing for the image. That is, in the processing for the second and subsequent images, the processing of steps S701 to S710 may be skipped.
  • the PDS execution unit 121 first sets the maximum set radius as the set radius (step S81). Then, the PDS execution unit 121 determines one point in the parameter p as a sampling point (step S82).
  • the PDS execution unit 121 executes PDS based on the set radius and generates a temporary pattern (step S83).
  • the PDS execution unit 121 decreases the set radius by a predetermined value (r step ) (step S84).
  • step S85 If the new set radius falls below the minimum set radius (r min ) (YES in step S85), the process proceeds to step S86. If the new set radius is not less than the minimum set radius (NO in step S85), the PDS execution unit 121 generates a provisional pattern based on the new set radius (step S83). The same applies hereinafter.
  • the PDS execution unit 121 includes any DCT block when a DCT block is cut out based on the last generated provisional pattern (that is, the provisional pattern having the smallest setting radius among the provisional patterns). It is determined whether there is a pixel that is not present (step S86). That is, the PDS execution unit 121 determines whether there is a pixel with a redundancy of “0” in the provisional pattern generated last. If the result of the determination is YES, the PDS execution unit 121 ends the process as an error. When the determination result is NO, the PDS execution unit 121 determines that the provisional pattern has been successfully generated and ends the process.
  • FIG. 9 is a flowchart illustrating an example of a flow of error determination processing in step S706.
  • the determination pattern generation unit 123 first calculates the number of samples of each line in the provisional pattern based on the maximum set radius (step S91). Then, it is determined whether or not the calculated maximum number of samples is equal to or less than a reference value (n max ) (step S92). If the maximum value is less than or equal to the reference value (YES in step S92), the process ends as an error.
  • the decision pattern generation unit 123 calculates the number of samples of each line in the provisional pattern based on the minimum set radius (step S93). Then, it is determined whether or not the calculated minimum value of the number of samples is equal to or greater than a reference value (step S94). If the minimum value is greater than or equal to the reference value (YES in step S94), the process ends as an error.
  • step S92 and step S94 are NO, the error determination process is terminated because there is no error.
  • the error determination process may precede the process of step S705. Further, instead of the determination pattern generation unit 123, the PDS execution unit 121 may perform error determination.
  • the determination pattern generation unit 123 calculates the redundancy (n red (x, y)) of each pixel in the provisional pattern based on the maximum set radius (step S101).
  • the determined pattern generation unit 123 selects a line for which no point is determined as a sampling point of the determined pattern (step S102).
  • the determination pattern generation unit 123 specifies a provisional pattern ( pi_target ) having the smallest setting radius among provisional patterns in which the number of samples in the selected line does not exceed the reference value (step S103).
  • the determination pattern generation unit 123 determines the sampling point of the selected line of the identified provisional pattern as the determination pattern Is determined as the sampling point of the line (step S105). Then, the process proceeds to determination in step S110 described later.
  • the decision pattern generation unit 123 uses the number of samples that match the reference value by the processing from step S106 to step S109. Determine the sampling point.
  • step S106 the determination pattern generation unit 123 extracts a sampling point on the line newly determined in the provisional pattern having the next smallest set radius after the specified provisional pattern (step S106). Then, the decision pattern generation unit 123 calculates the redundancy density of each extracted sampling point (step S107).
  • the decision pattern generation unit 123 selects sampling points corresponding to the number of differences between the number of samples in the selected line and the reference value in order from the sampling point having the smallest redundancy density (step S108).
  • the determination pattern generation unit 123 determines the selected sampling point and the sampling point of the selected line of the identified provisional pattern as the sampling point of the line of the determination pattern (step S109). And a process transfers to determination of step S110.
  • step S110 the determination pattern generation unit 123 determines whether sampling points of all lines have been determined. If there is a line for which the sampling point has not yet been determined (NO in step S110), the determination pattern generation unit 123 performs the processing from step S102 again. When the sampling points of all the lines are determined (YES in step S110), the determination pattern is completed. The determined sampling point in each line is the sampling point in the determination pattern. In this case, the decision pattern generation unit 123 ends the decision pattern generation process.
  • sampling pattern in which the number of samples per line is constant can be generated is that the decision pattern generator 123 adds sampling points for each line until the number of samples reaches a reference value based on one of the provisional patterns. Because it does. Since the added sampling point is selected from sampling points that have already been determined so as to satisfy the PDS conditions, it is guaranteed that the variation in redundancy of each pixel, that is, the variation in sampling point, does not deteriorate.
  • the redundancy of each pixel becomes more uniform by preferentially selecting a sampling point with a low redundancy density as a sampling point to be added. Thereby, the fall of noise removal performance can be prevented.
  • the second embodiment adapts the sampling pattern to the input image on which the noise removal processing is performed while maintaining the same processing amount for each line, thereby obtaining a higher quality image. It is a form to generate.
  • FIG. 11 is a block diagram illustrating a configuration of the image processing apparatus 2 according to the second embodiment. Similar to the image processing apparatus 1 of the first embodiment, the image processing apparatus 2 includes a parameter acquisition unit 11, an output control unit 13, an image acquisition unit 21, an image output control unit 23, and a sampling pattern storage unit 30. It is equipped with. However, unlike the image processing apparatus 1 of the first embodiment, the image processing apparatus 2 includes a sampling pattern generation unit 14 and a noise removal unit 24 instead of the sampling pattern generation unit 12 and the noise removal unit 22. Yes.
  • sampling pattern generation unit 14 and the noise removal unit 24 different from the image processing apparatus 1 of the first embodiment will be described in detail.
  • FIG. 12 is a block diagram illustrating a configuration of the sampling pattern generation unit 14. Similar to the sampling pattern generation unit 12, the sampling pattern generation unit 14 includes a PDS execution unit 121, a difference pattern generation unit 122, a provisional pattern storage unit 124, and a difference pattern storage unit 125. However, the sampling pattern generation unit 14 includes a detailed pattern generation unit 141 instead of the determination pattern generation unit 123 of the first embodiment.
  • the detailed pattern generation unit 141 creates a “base pattern” based on the temporary pattern and the difference pattern based on the maximum set radius.
  • the base pattern is a sampling pattern that serves as a basis when the sampling pattern generation unit 241 of the noise removal unit 24 described later generates a sampling pattern.
  • the detailed pattern generation unit 141 generates a “detail pattern” based on the difference pattern and the reference value of the number of samples for each line.
  • the detailed pattern is a sampling pattern used when the sampling pattern generation unit 241 generates a sampling pattern.
  • the detailed pattern generation unit 141 causes the sampling pattern storage unit 30 to store the base pattern and the detailed pattern.
  • the sampling pattern storage unit 30 stores a base pattern and a detailed pattern.
  • FIG. 13 is a block diagram showing the configuration of the noise removing unit 24.
  • the noise removal unit 24 includes a block cutout unit 221, a DCT unit 222, a coefficient processing unit 223, an IDCT unit 224, a block integration unit 225, and a normalization unit 226. Including.
  • the noise removal unit 24 further includes a sampling pattern generation unit 241.
  • the sampling pattern generation unit 241 is based on the base pattern received from the sampling pattern storage unit 30, the detailed pattern, and statistical information (described later) of pixel values in a predetermined range based on sampling points in the input image. Generate a sampling pattern. Then, the sampling pattern generation unit 241 outputs the generated sampling pattern to the block cutout unit 221.
  • Details pattern generation unit 141 like the determination pattern generation unit 123 of the first embodiment, the number of samples n p_0 in each line j in the provisional pattern p 0 based on maximum setting radius (j), and each difference pattern d The number of samples n d — i (j) in each line j of i is calculated.
  • the detailed pattern generation unit 141 performs error determination in the same manner as the decision pattern generation unit 123.
  • the detailed pattern generation unit 141 calculates the redundancy n red (x, y) of each pixel when a DCT block pattern set based on the provisional pattern p 0 is used. calculate.
  • the detailed pattern generation unit 141 acquires the provisional pattern p 0 based on the maximum set radius, m ⁇ 1 difference patterns d 0 , d 1 ,..., D m ⁇ 2 received from the difference pattern storage unit 125, and parameter acquisition Based on the block size t DCT of DCT received from the unit 11 and the reference value n max of the number of samples per line, the base pattern b (x, y) and the detailed pattern h (x, y) are as follows: Generate.
  • the detailed pattern generation unit 141 adds the sampling point in the base pattern b (x, y) until there is no pixel whose redundancy n red is “0”, thereby obtaining the base pattern b (x, y). Generate.
  • the detailed pattern generation unit 141 adds 1 to i (y) until n d_i (y) (y)> 0, with i (y) as an initial value, for example. What is necessary is just to specify.
  • the detailed pattern generation unit 141 updates n red and n b (j) of the line j based on the added point (s, t).
  • n max is too small, the maximum set radius r max is too small, or the step width r step of the set radius is too large.
  • the output control unit 13 may perform control to display a message so that n max or r max is set larger for the user or r step is set smaller.
  • the detailed pattern generation unit 141 completes the generation of the base pattern b (x, y).
  • the detailed pattern generation unit 141 generates a detailed pattern h (x, y). First, the detailed pattern generation unit 141 sets h (x, y) and sets (initializes) all values of all h (x, y) to “0”. Next, detailed pattern generation unit 141, in line j, to identify the smallest i target that satisfies n b (j) + ⁇ i n di (j) ⁇ n max. Then, the detailed pattern generation unit 141 generates a detailed pattern h (x, j) in the line j by the following formula.
  • the detailed pattern generation unit 141 performs the above processing for all lines. When the above processing is performed for all lines, the detailed pattern h (x, y) is completed.
  • sampling pattern generation unit 241 updates the base pattern b (x, y) received from the sampling pattern storage unit 30 based on the detailed pattern h (x, y) and the pixel value u (x, y) of the input image. As a result, a sampling pattern p (x, y) adapted to the features of the input image is generated.
  • the local distribution of pixel values is calculated using pixels belonging to a predetermined range centered on the target pixel.
  • the sampling pattern generation unit 241 calculates the variance using pixels belonging to the range of the image region processed by RDCT as in the above formula. Accordingly, the sampling pattern generation unit 241 can extract sampling points based on the dispersion of pixel values in the range of the image area processed by RDCT in sampling point extraction described below.
  • the sampling pattern generation unit 241 extracts n s (j) pixels from the detailed pattern h (x, y) in order from the pixel having the largest local variance value in the line j, and adds the extracted pixels as sampling points. (P (x, y) is changed to “1”).
  • sampling pattern generation unit 241 executes this process for all lines, a sampling pattern p (x, y) having the same number of samples is generated for all lines.
  • FIG. 14 is a flowchart illustrating an example of a processing flow of the image processing apparatus 2.
  • step S707 Since the processing from step S701 to S707 is the same as that of the first embodiment, description thereof is omitted.
  • the error determination in step S707 may be performed by the detailed pattern generation unit 141, for example.
  • step S707 the detailed pattern generation unit 141 generates a base pattern (step S141).
  • step S141 If the generation of the base pattern in step S141 ends with an error (YES in step S142), the image processing apparatus 2 ends the process as an error.
  • step S141 If the generation of the base pattern in step S141 is successful (NO in step S142), the detailed pattern generation unit 141 generates a detailed pattern (step S143).
  • the image acquisition unit 21 acquires an image to be subjected to noise removal processing (step S144).
  • the sampling pattern generation unit 241 generates a sampling pattern based on the base pattern, the detailed pattern, and the local variance (step S145).
  • the noise removing unit 22 performs noise removal by RRDCT on the input image acquired in step S111 based on the sampling pattern generated in step S145 (step S146).
  • the image output control unit 23 performs control to output the image after noise generation generated in step S146 (step S147).
  • the image processing apparatus 2 outputs an image from which noise has been removed based on a sampling pattern (decision pattern) in which the number of samples in each row is equal to the reference value.
  • FIG. 15 is a flowchart illustrating an example of the flow of base pattern generation processing by the detailed pattern generation unit 141.
  • the detailed pattern generation unit 141 first initializes a base pattern using a provisional pattern based on the maximum set radius (step S151).
  • the detailed pattern generation unit 141 confirms the redundancy of each pixel. If there is a pixel with a redundancy of “0” (YES in step S152), the detailed pattern generation unit 141 performs the processing from step S153 to step S156. When there are no more pixels whose redundancy is “0” (NO in step S152), the detailed pattern generation unit 141 completes the generation of the base pattern.
  • step S153 the detailed pattern generation unit 141 adds sampling points to the line with the smallest number of samples.
  • the detailed pattern generation unit 141 extracts sampling points from, for example, a difference pattern having the largest setting radius among the difference patterns having sampling points in the line. Then, the detailed pattern generation unit 141 excludes the added sampling points from the difference pattern (step S154). In addition, the detailed pattern generation unit 141 updates the number of samples and the redundancy (step S155).
  • the detailed pattern generation unit 141 determines whether there is a line in which the number of samples exceeds the reference value (step S156). If there is a line whose sample number exceeds the reference value (YES in step S156), the detailed pattern generation unit 141 outputs an error and ends the process. If there is no line whose number of samples exceeds the reference value (NO in step S156), the process returns to the process of step S152, and the detailed pattern generation unit 141 does the same until there is no pixel whose redundancy is “0”. Process.
  • the image processing apparatus 2 has an effect that the processing amount for each line can be made the same. Furthermore, since the sampling pattern generated by the sampling pattern generation unit 241 of the image processing device 2 is generated so as to adapt to the input image according to the input image, the image quality of the output image after noise removal is improved. There is an effect. In general, in RDCT, generation of mosquito noise is suppressed by redundant addition of many blocks in an area where local dispersion is large, such as edges and textures. There is a problem that is easily noticeable. According to the image processing apparatus 2, since sampling points are easily assigned to an area having a large local variance, the sampling pattern is adapted to the local variance of the input image, and generation of mosquito noise is easily suppressed.
  • Modification 1 The functions of the image processing apparatuses according to the above embodiments may not be realized by a single apparatus.
  • the function of the image processing apparatus 1 of the first embodiment may be realized by a pattern generation apparatus 100 and an image processing apparatus 200 as shown in FIG.
  • the pattern generation device 100 includes a parameter acquisition unit 11, a sampling pattern generation unit 12, and an output control unit 13.
  • the image processing apparatus 200 includes a sampling pattern storage unit 30, an image acquisition unit 21, a noise removal unit 22, and an image output control unit 23.
  • the sampling pattern generation unit 12 may output the generated provisional pattern, difference pattern, and the like to the sampling pattern storage unit 30 of the image processing apparatus 200.
  • the output control unit 13 may output the temporary pattern, the difference pattern, and the like to the sampling pattern storage unit 30.
  • the pattern generation device 100 and the image processing device 200 only need to be connected to each other so as to communicate with each other.
  • the pattern generation device 100 and the image processing device 200 may be connected by any of a wireless network, a wired network, and a circuit.
  • the image processing apparatus 2 of the second embodiment can be changed to the same configuration.
  • the functions of the image processing apparatus of each embodiment may be realized by a combination of a plurality of apparatuses to which roles are assigned more finely.
  • the image processing apparatus described in each embodiment generates a sampling pattern in which the number of samples in each line is equal to the reference value by adding sampling points to a given sampling pattern.
  • the image processing apparatus generates a final sampling pattern by a method other than the above example.
  • sampling pattern generation unit 12 of the image processing apparatus 1 generates a sampling pattern by a method other than the method described above
  • the sampling pattern generation unit 12 does not necessarily include all the configurations as illustrated in FIG.
  • the sampling pattern generation unit 12 may generate the sampling pattern so that the number of samples of each line becomes the reference value by deleting the sampling point of each line from the provisional pattern pm -2 .
  • the sampling pattern generation unit 12 may determine the sampling points to be deleted in order from the sampling points determined by the PDS based on the smaller set radius.
  • the sampling pattern generation unit 12 may preferentially delete sampling points with a high redundancy density.
  • a sampling pattern in which the variation in redundancy is small and the number of samples in each line is equal is generated.
  • the sampling pattern generation unit 12 may generate only a sampling pattern corresponding to pm -2 as a provisional pattern. Then, the sampling pattern generation unit 12 may generate the sampling pattern so that the number of samples of each line becomes the reference value by deleting the sampling point of each line from the provisional pattern pm -2 . In this case, the sampling pattern generation unit 12 may determine the sampling points to be deleted based on the redundancy density of each sampling point. That is, the sampling pattern generation unit 12 may delete the sampling points in order from the sampling point with the higher redundancy density.
  • the sampling pattern generation unit 12 may generate a sampling pattern in the following procedure without performing PDS.
  • Step S1 In each line, a number of points equal to the reference value is randomly selected as temporary sampling points, for example.
  • Step S2 Correction is performed to move the temporary sampling points in the direction of the lines so that there are no pixels with redundancy of “0”.
  • the redundancy in step S2 is the number of blocks including the pixel when a block is generated based on a temporary sampling point.
  • step S ⁇ b> 2 the sampling pattern generation unit 12 specifies pixels whose redundancy is “0”, for example. Then, the sampling pattern generation unit 12 selects at least one of the temporary sampling points existing on the line including the pixel or the line above the line at a distance within t DCT rows from the line. In the line direction, it is moved to the vicinity of the point where the redundancy is “0”.
  • the neighborhood is a position of a point that can be a sampling point of a block including a point having a redundancy of “0”.
  • the sampling pattern generation unit 12 may calculate the redundancy density of each temporary sampling point and move the temporary sampling point having the largest redundancy density.
  • the sampling pattern generation unit 12 may set a redundancy range, and move the temporary sampling points so that there are no pixel positions whose redundancy falls outside the range.
  • the sampling pattern generation unit 12 can generate a sampling pattern in which the variation in redundancy is small and the number of samples in each line is equal.
  • the method described above is an example.
  • One skilled in the art can make various changes to the method of generating a sampling pattern in which the number of samples in each line is equal.
  • FIG. 17 is a block diagram illustrating a configuration of the pattern generation apparatus 101.
  • the pattern generation apparatus 101 includes a main generation unit 105 and an output control unit 106.
  • the main generation unit 105 generates the sampling pattern so that the number of sampling points in a plurality of rows in the sampling pattern is equal to the reference value.
  • a sampling pattern is a pattern of the positions of sampling points in an image.
  • a sampling point is a point which shows the position of the block used for the image processing for every block.
  • the determination pattern generation unit 123, the sampling pattern generation unit 241, and the modified sampling pattern generation unit 12 in each of the above embodiments are examples of the main generation unit 105.
  • the sampling pattern generated by the main generation unit 105 is also referred to as “main sampling pattern”.
  • the “determined pattern” in each of the above embodiments, the sampling pattern generated by the sampling pattern generation unit 241, and the sampling pattern generated by the sampling pattern generation unit 12 of the modification are examples of main sampling patterns.
  • the output control unit 106 performs control to output the main sampling pattern. Specifically, for example, the output control unit 106 sends main sampling pattern data to a display device or an image processing device, sends main sampling pattern data to a communication network, or main sampling pattern data to a storage medium. Write.
  • the output control unit 106 may perform any two or more of the above output controls.
  • the output control unit 13, the determination pattern generation unit 123, the sampling pattern storage unit 30, and the sampling pattern generation unit 241 in each of the above embodiments are examples of the output control unit 106.
  • the main generation unit 105 generates a main sampling pattern so that the number of sampling points in a plurality of rows in the main sampling pattern is equal to the reference value (step S181). Then, the output control unit 106 performs control to output the main sampling pattern (step S182).
  • a sampling pattern that can improve the efficiency of image processing including processing on a sampled block can be obtained.
  • the reason is that the main generation unit 105 generates a sampling pattern having the same number of samples in a plurality of lines, and the output control unit 106 performs output control of the sampling pattern.
  • the main generation unit 105 generates a sampling pattern in which the number of samples in all the lines is equal, in the image processing, since the processing bias in each line is suppressed, the efficiency of the image processing is improved.
  • the pattern generation apparatus may include a sub-generation unit 104 as shown in FIG.
  • FIG. 19 is a block diagram illustrating a configuration of the pattern generation device 102 including the sub-generation unit 104.
  • the sub-generation unit 104 generates a first sampling pattern and a second sampling pattern that is generated by adding sampling points to the first sampling pattern.
  • the PDS execution unit 121 and the detailed pattern generation unit 141 in each of the above embodiments are examples of the sub generation unit 104.
  • the provisional patterns p 0 ,..., P m ⁇ 2 and the base pattern are examples of the first sampling pattern.
  • the provisional patterns p 1 ,..., P m ⁇ 1 are examples of the second sampling pattern.
  • the main generation unit 105 identifies a row in which the number of sampling points is lower than the reference value in the first sampling pattern, and for the first sampling pattern, the number of sampling points in the row is equal to the reference value.
  • the main sampling pattern is generated by adding sampling points included in the second sampling pattern.
  • sampling points are not biased.
  • each component of each device represents a functional unit block.
  • Computer-readable storage media includes, for example, portable media such as optical disks, magnetic disks, magneto-optical disks, and nonvolatile semiconductor memories, and ROMs (Read Only Memory) and hard disks built into computer systems. It is a storage device.
  • Computer-readable storage medium is a medium that dynamically holds a program for a short time, such as a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line,
  • a program or a program that temporarily holds a program such as a volatile memory in a computer system corresponding to a server or a client is also included.
  • the program may be a program for realizing a part of the functions described above, and may be a program capable of realizing the functions described above in combination with a program already stored in a computer system.
  • the “computer system” is a system including a computer 900 as shown in FIG. 20 as an example.
  • the computer 900 includes the following configuration.
  • CPU Central Processing Unit
  • ROM902 -RAM Random Access Memory
  • a storage device 905 that stores the program 904A and storage information 904B
  • a drive device 907 that reads / writes from / to the storage medium 906
  • a communication interface 908 connected to the communication network 909
  • each component of each device in each embodiment is realized by the CPU 901 loading the program 904A for realizing the function of the component into the RAM 903 and executing it.
  • a program 904A for realizing the function of each component of each device is stored in advance in the storage device 905 or the ROM 902, for example. Then, the CPU 901 reads the program 904A as necessary.
  • the storage device 905 is, for example, a hard disk.
  • the program 904A may be supplied to the CPU 901 via the communication network 909, or may be stored in advance in the storage medium 906, read out to the drive device 907, and supplied to the CPU 901.
  • the storage medium 906 is a portable medium such as an optical disk, a magnetic disk, a magneto-optical disk, and a nonvolatile semiconductor memory.
  • each device may be realized by a possible combination of a separate computer 900 and a program for each component.
  • a plurality of constituent elements included in each device may be realized by a possible combination of one computer 900 and a program.
  • each device may be realized by other general-purpose or dedicated circuits, computers, or combinations thereof. These may be configured by a single chip or may be configured by a plurality of chips connected via a bus.
  • each component of each device When a part or all of each component of each device is realized by a plurality of computers, circuits, etc., the plurality of computers, circuits, etc. may be centrally arranged or distributedly arranged.
  • the computer, the circuit, and the like may be realized as a form in which each is connected via a communication network, such as a client and server system and a cloud computing system.
  • Appendix A sampling pattern that is a pattern of positions in the image of sampling points indicating the block used for image processing for each block is generated so that the number of sampling points in a plurality of rows in the sampling pattern is equal to a reference value.
  • Main generation means Output control means for performing control to output a main sampling pattern which is a sampling pattern generated by the main generation means;
  • a pattern generation apparatus comprising: [Appendix 2] The main generation means generates the main sampling pattern so that the number of sampling points in all rows is equal to the reference value.
  • the pattern generation apparatus according to appendix 1.
  • Sub-generation means for generating a first sampling pattern and a second sampling pattern generated by adding a sampling point to the first sampling pattern;
  • the main generation means specifies a row in which the number of sampling points is lower than the reference value in the first sampling pattern, and the number of sampling points in the row is set to the reference value for the first sampling pattern. Generating the main sampling pattern by adding sampling points included in the second sampling pattern to be equal;
  • the pattern generation apparatus according to appendix 1 or 2.
  • the sub-generation unit generates a plurality of sampling patterns as the second sampling pattern by adding sampling points stepwise to the first sampling pattern,
  • the main generation means adds sampling points to the first sampling pattern in order from the sampling points included in the sampling pattern generated at an earlier stage among the sampling points included in the plurality of sampling patterns.
  • the sub-generation means decreases the set value as the stage progresses, and generates the plurality of sampling patterns such that each sampling point is at a distance greater than or equal to the set value.
  • the pattern generation apparatus according to appendix 4.
  • the main generation means based on each position of the block specified based on the first sampling pattern, for each of the positions in the first sampling pattern, the redundancy that is the number of the blocks including the position Calculating and determining a sampling point to be added based on the redundancy; The pattern generation device according to any one of supplementary notes 3 to 5.
  • the main generation means adds a sampling from a sampling point included in the second sampling pattern based on statistical information of a pixel value in a predetermined range based on the sampling point in an image on which the image processing is performed. Determine the point, The pattern generation device according to any one of supplementary notes 3 to 6.
  • the output control means performs control to output information indicating an error when there is a pixel that is not included in any of the blocks specified based on the main sampling pattern.
  • the pattern generation device according to any one of appendices 1 to 7.
  • a new image is obtained by receiving the main sampling pattern generated by the pattern generation device according to any one of appendices 1 to 8 from the output control unit and performing image processing for each block based on the main sampling pattern.
  • An image processing apparatus comprising image processing means for generating [Appendix 10] Frequency conversion means for calculating a conversion coefficient by applying a predetermined frequency conversion for each block specified based on the main sampling pattern; Coefficient processing means for calculating a new conversion coefficient by performing correction to change the conversion coefficient not satisfying a predetermined threshold value to zero; and Inverse frequency transform means for generating an image block by applying inverse transform of the frequency transform for each new transform coefficient; Integration means for generating an image by integrating the image blocks; Further comprising The image processing apparatus according to appendix 9.
  • a sampling pattern that is a pattern of positions in the image of sampling points indicating the blocks used for image processing for each block is generated so that the number of sampling points in a plurality of rows in the sampling pattern is equal to the reference value.
  • Control to output a main sampling pattern which is the generated sampling pattern;
  • a pattern generation method comprising: [Appendix 12] Generating the main sampling pattern such that the number of sampling points in all rows is equal to the reference value; The pattern generation method according to attachment 11.
  • [Appendix 13] Generating a first sampling pattern and a second sampling pattern generated by adding further sampling points to the first sampling pattern; In the first sampling pattern, a line having a number of sampling points lower than the reference value is specified, and for the first sampling pattern, the number of sampling points in the line is equal to the reference value.
  • a plurality of sampling patterns are generated as the second sampling pattern by adding sampling points in stages to the first sampling pattern, In generating the main sampling pattern, sampling points are added to the first sampling pattern in order from the sampling points included in the sampling pattern generated at an earlier stage among the sampling points included in the plurality of sampling patterns.
  • the pattern generation method according to attachment 13 [Appendix 15] In the generation of the plurality of sampling patterns, a set value is decreased as the stages progress, and the plurality of sampling patterns are generated such that each sampling point is at a distance greater than or equal to the set value. The pattern generation method according to attachment 14. [Appendix 16] In the generation of the main sampling pattern, a redundancy that is the number of the blocks including the position for each position in the first sampling pattern based on the position of each of the blocks specified based on the first sampling pattern Calculating a degree and determining a sampling point to be added based on the redundancy; The pattern generation method according to any one of appendices 13 to 15.
  • [Appendix 20] Calculating a transform coefficient by applying a predetermined frequency transform for each of the blocks identified based on the main sampling pattern; By performing correction to change the conversion coefficient that does not satisfy the predetermined threshold to zero, a new conversion coefficient is calculated, By applying the inverse transform of the frequency transform for each new transform coefficient, an image block is generated, Generating an image by integrating the image blocks; The image processing method according to appendix 19.
  • the main generation process An output control process for performing control to output a main sampling pattern which is a sampling pattern generated by the main generation process;
  • a program that executes [Appendix 22]
  • the main generation process generates the main sampling pattern so that the number of sampling points in all rows is equal to the reference value.
  • [Appendix 23] Causing a computer to execute a sub-generation process for generating a first sampling pattern and a second sampling pattern generated by adding a sampling point to the first sampling pattern;
  • the main generation process specifies a row in which the number of sampling points is lower than the reference value in the first sampling pattern, and the number of sampling points in the row is set to the reference value with respect to the first sampling pattern.
  • the sub-generation process generates a plurality of sampling patterns as the second sampling pattern by adding sampling points in stages to the first sampling pattern, The main generation process adds sampling points to the first sampling pattern in order from the sampling points included in the sampling pattern generated at an earlier stage among the sampling points included in the plurality of sampling patterns.
  • the sub-generation process decreases a set value as the stage progresses, and generates the plurality of sampling patterns such that each sampling point is at a distance greater than or equal to the set value.
  • the program according to attachment 24 The sub-generation process generates a plurality of sampling patterns as the second sampling pattern by adding sampling points in stages to the first sampling pattern, The main generation process adds sampling points to the first sampling pattern in order from the sampling points included in the sampling pattern generated at an earlier stage among the sampling points included in the plurality of sampling patterns.
  • the main generation processing is based on each position of the block specified based on the first sampling pattern, and for each of the positions in the first sampling pattern, the redundancy that is the number of the blocks including the position is set. Calculating and determining a sampling point to be added based on the redundancy; The program according to any one of appendices 23 to 25.
  • the main generation processing includes sampling to be added based on statistical information of pixel values in a predetermined range based on the sampling point in an image on which the image processing is performed from a sampling point included in the second sampling pattern Determine the point, The program according to any one of appendices 23 to 26.
  • the output control process performs control to output information indicating an error when there is a pixel that is not included in any of the blocks specified based on the main sampling pattern.
  • the program according to any one of appendices 1 to 7.
  • a new image is obtained by receiving the main sampling pattern generated by the pattern generation device according to any one of appendices 1 to 8 from the output control unit and performing image processing for each block based on the main sampling pattern.
  • a program for executing an image processing process for generating [Appendix 30]
  • the image processing is A frequency conversion process for calculating a conversion coefficient by applying a predetermined frequency conversion for each of the blocks specified based on the main sampling pattern; Coefficient processing for calculating a new conversion coefficient by performing correction to change the conversion coefficient that does not satisfy a predetermined threshold to zero, and Inverse frequency transform processing for generating an image block by applying inverse transform of the frequency transform for each new transform coefficient; An integration process for generating an image by integrating the image blocks; including, The program according to appendix 29.
  • Appendix 31 A computer-readable storage medium storing the program according to any one of appendices 21 to 30.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

サンプリングされたブロックに対する処理を含む画像処理の効率を向上させ得るサンプリングパターンを生成する、パターン生成装置を提供する。一実施形態に係るパターン生成装置は、ブロックごとの画像処理に用いられる前記ブロックを示すサンプリング点の、画像における位置のパターンであるサンプリングパターンを、当該サンプリングパターンにおける複数の行におけるサンプリング点の数がそれぞれ基準値に等しくなるように生成する、主生成手段と、前記主生成手段により生成されるサンプリングパターンである主サンプリングパターンを出力する制御を行う出力制御手段と、を備える。

Description

パターン生成装置、画像処理装置、パターン生成方法、及びプログラムを記憶した記憶媒体
 本開示は、画像処理に関する。
 画像処理技術の中でも、画像に含まれるノイズを低減する技術は、撮影した画像をより鮮明に再現するためだけでなく、様々な画像強調の処理におけるノイズの強調を防ぐためにも、重要な技術である。
 画像に含まれるノイズの例としては、例えば加法性白色ガウシアンノイズ(Additive White Gaussian Noise)やポアソンノイズなどがある。
 ノイズを低減する手法としては、例えば、非特許文献1に示されるような、離散コサイン変換(Discrete Cosine Transform;DCT)を用いた冗長離散コサイン変換(Redundant DCT;RDCT)と呼ばれる手法がある。RDCTは、ブロック単位のDCT(ブロックDCT)によって得られるDCT係数を補正し、さらに、補正されたDCT係数に対し逆DCT(Inverse DCT;IDCT)を行うことによって、ノイズが除去された画像を得る手法である。DCT係数に対する補正は、例えば、DCT係数に軟判定閾値処理(Soft Shrinkage)、あるいは硬判定閾値処理(Hard Shrinkage)を適用することによって行われる。硬判定閾値処理では、たとえば、処理対象であるブロック内の画素の位置(i,j)におけるDCT係数をf(i,j)とすると、閾値処理パラメータτを用いて、補正されたDCT係数f’(i,j)が次のように導出される。
Figure JPOXMLDOC01-appb-M000001
 なお、位置(0,0)におけるDCT係数は、直流成分であるため、補正されない。
 一般に、入力画像に含まれるノイズが白色ランダムガウシアンノイズ(white random gaussian noise)である場合、ノイズの成分は、DCT後の全ての変換係数に拡散する。一方、ノイズフリーな画像信号(原信号)は、画像信号の疎表現理論によれば、DCT後に特定の周波数成分にエネルギーが集中する傾向がある。すなわち、原信号は比較的少数の種類の変換係数で表現できる。式(1)の処理は、上記の性質を踏まえ、絶対値の小さなDCT係数を除去することでノイズを除去し、絶対値の大きなDCT係数を維持することで原信号成分を維持する処理である。
 JPEG(Joint Photographic Experts Group)などにおけるブロックDCTでは、例えば、画像全体を8画素×8画素のブロックに分割して、ブロック単位で処理が行われる。この時、ブロックは互いに重ならないように配置される。RDCTでは、同様に画像はブロック単位で処理されるが、各ブロックはオーバーラップすることが許される。例えば、8画素×8画素のブロックの例では、特定の1つの画素が含まれるブロックのパターンは8×8=64パターンある。RDCTは、各ブロックパターンで生成された画素値の平均値をとることによって、正規化された出力画素値を生成する。
 RDCTは、特に、繰り返しのパターンが存在するテクスチャのような、特定の周波数成分にエネルギーが偏りやすい画像信号の表現に優れており、高品質なノイズ除去を実現できる手法である。
 なお、このようなノイズ除去の手法で用いられる周波数変換には、DCT以外にも、アダマール変換やWavelet変換などの例がある。
 しかしながら、RDCTは、1つの画素を異なるブロック分割パターンで最大の冗長度分だけ計算するため、計算コストが高い。なお、最大の冗長度とは、1つの画素が含まれるブロックのパターンの数をさす。ブロックのサイズが8画素×8画素である場合、最大の冗長度は64である。
 計算コストを低減するための方法として、非特許文献2のRandomized RDCT(RRDCT)が提案されている。
 RRDCTは、全てのブロックのパターンを用いてRDCTを行うのではなく、全てのブロックのパターンからランダムにサンプリング(抽出)されたブロックを用いて、RDCTを行う。ただし、ランダムにサンプリングすると、1回も処理されない画素が存在する可能性が生じるため、例えば、非特許文献3のPoisson Disk Sampling(PDS)を用いて、空間的に適度なばらつきをもったサンプリングが行われる。
 PDSは、サンプリングされるブロックの位置を示すブロック内の代表点(以下、「サンプリング点」と称す)の配置(パターン)を決定する方法の1つである。PDSのメソッドは、ランダムに決められたある画素位置について、当該画素位置から所定の半径内に他のサンプリング点がある場合は、当該画素をサンプリングしない。PDSのメソッドは、当該画素位置から所定の半径内に他のサンプリング点がない場合は、当該画素をサンプリングする。PDSのメソッドは、このような処理を、サンプリングが可能な点が存在しなくなるまで繰り返し、最終的なサンプリングパターンを算出する。
 PDSにおいて、上記所定の半径として、RDCTのブロックサイズの一辺の長さの半分より小さな半径が設定されれば、全ての画素は必ずいずれかのブロックに含まれる。また、1画素あたりの冗長度は全ての画素で概ね等しくなるため、画素ごとのノイズ除去の性能は空間的に大きく変わらない。
 RRDCTによって、RDCTの性能を維持しつつ、計算コストを削減できることが非特許文献2に記されている。なお、PDSは計算コストが高いが、実用上は、たとえば、ブロックのサンプリングパターンを複数用意しておき、パターンを適宜切り替えながら用いることで、計算の負担は軽減される。したがって、RRDCTにおいてPDSを用いることの、計算量の観点での問題は、実用上はほとんどない。
T. Komatsu, Y. Ueda, and T. Saito, "Super-resolution decoding of JPEG-compressed image data with the shrinkage in the redundant DCT domain," Picture Coding Symposium (PCS), Dec. 2010, pp. 114-117. S. Fujita, N. Fukushima, M. Kimura, and Y. Ishibashi, "Randomized Redundant DCT: Efficient Denoising by Using Random Subsampling of DCT Patches," SIGGRAPH Asia 2015 Technical Briefs, Nov. 2015. Robert L. Cook, "Stochastic Sampling in Computer Graphics," ACM Transactions on Graphics, Vol. 5, No. 1, Jan. 1986, pp. 51-72.
 PDSでは、ブロックをサンプリングする位置がランダムに選ばれるため、1ライン(行)当たりの、サンプリング点の数(以下、「サンプル数」と称す)は、ラインごとに異なる。特に、PDSにおいて設定されている上記所定の半径(以下、「設定半径」と称す)が大きいとき、すなわち、最終的なサンプリング点の数が少ない場合に、ラインごとのサンプル数が不均等になりやすい。そうすると、RRDCTにおいて、1ラインあたりの処理量はラインごとに異なる。このことから、たとえば、ラインごとに並列に処理を行うFPGA(field-programmable gate array)などのハードウェア実装をする際、ラインごとの処理の同期をとるために、処理量が最大となるラインに合わせて、それ以外のラインでは遅延を発生させる必要がある。そのため、ハードウェア実装が煩雑になり、また、処理の効率が悪くなるという問題がある。
 そこで、本発明は上記課題に鑑みて発明されたものであって、その目的の1つは、サンプリングされたブロックに対する処理を含む画像処理の効率を向上させ得るサンプリングパターンを生成する、パターン生成装置を提供することである。
 本発明の一実施形態に係るパターン生成装置は、ブロックごとの画像処理に用いられる前記ブロックを示すサンプリング点の、画像における位置のパターンであるサンプリングパターンを、当該サンプリングパターンにおける複数の行におけるサンプリング点の数がそれぞれ基準値に等しくなるように生成する、主生成手段と、前記主生成手段により生成されるサンプリングパターンである主サンプリングパターンを出力する制御を行う出力制御手段と、を備える。
 本発明の一実施形態に係るパターン生成方法は、ブロックごとの画像処理に用いられる前記ブロックを示すサンプリング点の、画像における位置のパターンであるサンプリングパターンを、当該サンプリングパターンにおける複数の行におけるサンプリング点の数がそれぞれ基準値に等しくなるように生成し、前記生成したサンプリングパターンである主サンプリングパターンを出力する制御を行う。
 本発明の一実施形態に係るプログラムは、コンピュータに、ブロックごとの画像処理に用いられる前記ブロックを示すサンプリング点の、画像における位置のパターンであるサンプリングパターンを、当該サンプリングパターンにおける複数の行におけるサンプリング点の数がそれぞれ基準値に等しくなるように生成する、主生成処理と、前記主生成処理により生成されるサンプリングパターンである主サンプリングパターンを出力する制御を行う出力制御処理と、を実行させる。
 本発明の一実施形態に係る記憶媒体は、上記プログラムを記憶する。
 本発明の一実施形態に係る画像処理装置は、上記主サンプリングパターンに基づくブロックごとの画像処理を行うことにより新たな画像を生成する画像処理手段を備える。
 本発明によれば、サンプリングされたブロックに対する処理を含む画像処理の効率を向上させ得るサンプリングパターンを得ることができる。
本発明の第1の実施形態に係る画像処理装置の構成を示すブロック図である。 第1の実施形態のサンプリングパターン生成部の構成を示すブロック図である。 第1の実施形態のノイズ除去部の構成を示すブロック図である。 サンプリングパターンのパラメータと画像との関係を例示する概念図である。 画素位置(x,y)を起点として生成されるDCTブロックを説明する図である。 画像の拡張を例示する概念図である。 第1の実施形態の画像処理装置による画像処理の動作の例を示すフローチャートである。 PDS実行部の処理の流れを例示するフローチャートである。 エラー判定の処理の流れを例示するフローチャートである。 決定パターンを生成する処理の流れを例示するフローチャートである。 本発明の第2の実施形態の画像処理装置の構成を示すブロック図である。 第2の実施形態のサンプリングパターン生成部の構成を示すブロック図である。 第2の実施形態のノイズ除去部の構成を示すブロック図である。 第2の実施形態の画像処理装置による画像処理の動作の例を示すフローチャートである。 ベースパターンを生成する処理の流れを例示するフローチャートである。 第1の実施形態の画像処理装置の構成の変更例を示すブロック図である。 本発明の一実施形態に係るパターン生成装置の構成を示すブロック図である。 本発明の一実施形態に係るパターン生成方法の流れを示すブロック図である。 本発明の一実施形態に係るパターン生成装置の構成を示すブロック図である。 本発明の各実施形態の各部を構成するハードウェアの例を示すブロック図である。
 以下、図面を参照しながら、本発明の実施形態を詳細に説明する。
 <<第1の実施形態>>
 まず、本発明の第1の実施形態について説明する。
 <構成>
 図1は、本発明の第1の実施形態に係る画像処理装置1の構成を示すブロック図である。画像処理装置1は、パラメータ取得部11と、サンプリングパターン生成部12と、出力制御部13と、画像取得部21と、ノイズ除去部22と、画像出力制御部23と、サンプリングパターン記憶部30と、を備えている。
 パラメータ取得部11は、サンプリングパターンの生成に用いられるパラメータを取得し、取得したパラメータをサンプリングパターン生成部12に出力する。パラメータ取得部11は、たとえば、キーボードやボタン等の入力インタフェースを備え、ユーザからのパラメータの入力を受け付ける。パラメータ取得部11は、入力機器に接続され、ユーザによる入力機器に対するパラメータの入力操作を、入力機器から受信することによって、パラメータを取得してもよい。あるいは、パラメータ取得部11は、パラメータを保持しているファイルから、パラメータを取得してもよい。サンプリングパターンの生成に用いられるパラメータについては、後述する。
 サンプリングパターン生成部12は、パラメータ取得部11が取得したパラメータに基づいて、後述するノイズ除去部22が用いるDCTブロックのサンプリングパターンを生成する。そして、サンプリングパターン生成部12は、生成したサンプリングパターンをサンプリングパターン記憶部30と出力制御部13とに出力する。
 出力制御部13は、画像処理装置1による処理の結果や経過等のデータを出力する制御を行う。出力制御部13は、例えば、ディスプレイやプリンタのような、画像を出力する出力装置(不図示)に接続され、その出力装置にデータを出力する。出力制御部13は、画像処理装置1に接続された記憶媒体に画像データを出力してもよい。出力制御部13は、ネットワークにより接続された他の装置に対してデータを送信してもよい。
 画像取得部21は、処理の対象となる画像データを取得する。画像取得部21は、例えば、カメラやスキャナなどの撮像機能を有する装置から、画像データを無線または有線で受信することにより、画像データを取得する。画像取得部21は、画像データを記憶する記憶媒体から画像データを読み出すことにより画像データを取得してもよい。画像取得部21は、画像データが蓄積される画像データベースから、通信ネットワーク等を介して画像データを取得してもよい。画像取得部21は、取得した画像データをノイズ除去部22に出力する。以下、処理の対象となる画像として取得された画像を、「入力画像」とも称す。
 ノイズ除去部22は、入力画像に対してデノイズ処理を行い、ノイズが除去された画像を画像出力制御部23に出力する。
 画像出力制御部23は、ノイズ除去部22により生成された画像の出力の制御を行う。画像出力制御部23は、例えば、ディスプレイやプリンタのような、画像を出力する出力装置(不図示)に接続され、その出力装置にデータを出力する。画像出力制御部23は、画像処理装置1に接続された記憶媒体に画像データを出力してもよい。画像出力制御部23は、ネットワークにより接続された他の装置に対してデータを送信してもよい。
 ===サンプリングパターン生成部12===
 図2は、サンプリングパターン生成部12の構成を示すブロック図である。サンプリングパターン生成部12は、PDS実行部121と、差分パターン生成部122と、決定パターン生成部123と、暫定パターン記憶部124と、差分パターン記憶部125と、を含む。
 PDS実行部121は、パラメータ取得部11により取得されたパラメータに基づき、PDSを、設定半径を変えながら、複数回、実行する。そして、PDS実行部121は、各設定半径に基づくPDSによって得られたサンプリングパターンを、それぞれ「暫定パターン」として、暫定パターン記憶部124に記憶させる。暫定パターンの詳細については、後述する。
 暫定パターン記憶部124は、PDS実行部121が生成した、各設定半径に基づく暫定パターンを記憶する。暫定パターン記憶部124は、差分パターン生成部122および決定パターン生成部123からの指示に従って暫定パターンを出力する。
 差分パターン生成部122は、異なる設定半径に基づく暫定パターン間の差分を「差分パターン」として算出し、算出された差分パターンを差分パターン記憶部125に出力する。差分パターンの算出については、後述する。
 差分パターン記憶部125は、差分パターン生成部122が生成した差分パターンを記憶する。差分パターン記憶部125は、決定パターン生成部123からの指示に従って差分パターンを出力する。
 決定パターン生成部123は、パラメータ取得部11が取得したパラメータと、暫定パターン記憶部124が記憶する、最大の設定半径に基づく暫定パターンと、差分パターン記憶部125が記憶する差分パターンと、から、サンプリングパターンを「決定パターン」として生成する。決定パターン生成部123は、生成されたサンプリングパターンを、サンプリングパターン記憶部30と出力制御部13とに出力する。また、決定パターン生成部123は、出力制御部13に、正常終了またはエラー終了を示すメッセージや、サンプリングパターン生成部12による処理の途中経過等の情報を出力してもよい。
 ===ノイズ除去部22===
 ノイズ除去部22は、図3に示されるように、ブロック切出部221と、DCT部222と、係数処理部223と、IDCT部224と、ブロック統合部225と、正規化部226と、を含む。
 ブロック切出部221は、画像取得部21が取得した画像から、サンプリングパターン記憶部30が記憶するサンプリングパターンに基づいて特定される複数のブロックを切り出す。
 たとえば、ブロック切出部221は、1つのサンプリング点から図4に示される範囲の画素をブロックとして切り出す。すなわち、ブロック切出部221は、サンプリング点(x,y)から、右方向(xの増加方向)にtDCT-1個分、下方向(yの増加方向)にtDCT-1個分、それぞれ離れた画素を端点とする、正方形の範囲を、ブロックの範囲として特定する。
 なお、ブロックの切り出し方は図4で示される例に限定されない。ブロックの範囲は、サンプリング点がブロックの左上の角以外の位置に位置するような範囲でもよい。また、ブロックの形は必ずしも正方形でなくともよい。ブロックの範囲や形状が図4の例と異なる場合は、後述のパラメータpの範囲、および入力画像の拡張の範囲は適宜変更され得る。
 そして、ブロック切出部221は、切り出したブロックをDCT部222に出力する。
 DCT部222は、ブロック切出部221から受け取ったブロックに対し、2次元のDCTを適用し、その結果として、各ブロックのDCT係数を算出する。そして、DCT部222は、算出されたDCT係数を係数処理部223に出力する。
 係数処理部223は、DCT部222から受け取ったDCT係数を縮退させる処理を行う。すなわち、係数処理部223は、ゼロでない値を持つDCT係数の個数を減らす処理を行う。係数処理部223は、例えば、受け取ったDCT係数f(i,j)に対して式(1)に示される変換を行う。すなわち、係数処理部223は、所定の閾値に満たないDCT係数をゼロに変更する補正を行うことで、新たな変換係数f’(i,j)を算出する。そして、係数処理部223は、変換後の係数f’(i,j)をIDCT部224に出力する。
 IDCT部224は、係数処理部223から受け取った縮退後のDCT係数に、2次元の逆DCT(Inverse DCT;IDCT)を行い、その結果としてノイズ抑圧後の画像ブロックを得る。IDCT部224は、得られたノイズ抑圧後の画像ブロックを、ブロック統合部225に出力する。
 ブロック統合部225は、IDCT部224から受け取ったノイズ抑圧後の画像ブロックを統合する。具体的には、ブロック統合部225は、ノイズ抑圧後の画像ブロックをそれぞれ元の入力画像における位置と同じ位置に配置し、同じ位置の画素値を累積加算する。そして、ブロック統合部225は、上記のような統合によって生成した画像データを正規化部226に出力する。
 正規化部226は、ブロック統合部225から受け取った統合後の画像データに対し、画素毎の冗長度(画素が加算された回数)に応じた正規化処理を行う。冗長度の算出例は後述する。正規化部226は、画像のダイナミックレンジを入力画像のダイナミックレンジに合わせる。正規化部226は、上記の処理により生成した画像を、出力画像として画像出力制御部23に出力する。
 以下、画像処理装置1の各部の処理の詳細について説明する。
 [PDS実行部121]
 PDS実行部121は、パラメータ取得部11が取得したパラメータに基づき、異なる設定半径を用いてPDSを実行する。PDSの実行に使用するパラメータは、たとえば、最大設定半径rmax、最小設定半径rmin、設定半径のステップ幅rstep、入力画像の高さH,幅Wを含む。パラメータ取得部11は、さらに、DCTブロックの1辺の長さtDCTや画像拡張パラメータtext(後述)を取得してもよい。なお、上記パラメータの値は、例えば、1つの画素を1単位とする値である。
 PDSの実行の処理の流れの例は、以下の通りである。
 PDS実行部121は、まず、サンプリングパターンのパラメータpを初期化する。パラメータpは、画素のそれぞれに対して、サンプリングされた画素であるか否かを示す情報の組み合わせを示すパラメータである。パラメータpは、たとえば、画素の位置(x,y)を変数として、「0」(サンプリングされた画素でないことを示す)または「1」(サンプリングされた画素であることを示す)の値(以下、「サンプル値」と称す)をとる関数である。パラメータpは、二次元の配列でもよい。以下、例として、位置が(x,y)で表される画素のサンプル値がp(x,y)で表されるとする。なお、上記のxは列を決める変数であり、上記のyは行(ライン)を決める変数であるとする。
 パラメータpの設定時は、PDS実行部121は、初期値として、全てのサンプル値を「0」として設定する。
 パラメータpのサイズ(すなわち、xとyの定義域)は、たとえば、W’=W+text, H’=H+textとしたときのW’×H’である。textは、たとえば、tDCT+1以下の値である。text=0である場合は、パラメータpのサイズは、画像と同じサイズW×Hである。以下の説明では、text=tDCT+1であるとする。
 図5は、画像とパラメータpとの関係の例を示す図である。図5において、ドット模様で示されている矩形領域が入力画像の領域に相当する領域であり、その外側の点線で囲まれる領域が、パラメータpが定義された領域である。すなわち、画像の上端と左端がtext画素分、下端と右端が1画素分拡張された領域に、パラメータpが設定されている。パラメータpのサイズは、W’×H’(ただしtext=tDCT+1)である。このような設定は、RDCTが、図4に示すように、p(x,y)=1である画素位置(x,y)を起点とするtDCT×tDCTサイズのブロックを対象にすることに基づく。無論、RDCTにおけるブロックの切り出し方が上記と異なる場合は、その場合に応じてパラメータpの設定のされ方は変更されてよい。なお、図5の例において、ブロックの範囲のみを考慮すれば、パラメータpの範囲は、画像の上端および左端がtext-1画素分拡張された領域であれば十分であるが、PDSは端にサンプリング点が偏る傾向があるため、パラメータpにはそれぞれの端を1画素ずつ余分に拡張した領域が用いられる。
 パラメータpが初期化されたら、PDS実行部121は、設定半径に基づきPDSを実行する。PDS実行部121は、PDSの結果をパラメータpに反映させることで、サンプリングパターンを生成する。PDSの具体的な方法は、たとえば、次に示す通りである。
 まず、PDS実行部121は、入力画像の領域における点を一点、サンプリング点として確定する。なお、サンプリング点を確定するのに際しては、たとえば、PDS実行部121は、確定リストを用意しておき、確定された点の情報(例えば位置)を確定リストに追加すればよい。PDS実行部121は、サンプリング点を、たとえばランダムに選んで確定する。
 次に、PDS実行部121は、確定リストにある画素を1点選択し、選択された画素の周辺の点を所定数、サンプリング候補点として抽出する。具体的には、たとえば、PDS実行部121は、選択した画素との間の距離がr以上2×r以下である点を、ランダムにk個抽出する。なお、rは設定半径である。設定半径rはrminからrmaxの間の範囲の変数であり、PDS実行の初めにおいては、例えばr=rmaxである。kは、予め設定されている固定値でもよいし、パラメータ取得部11によりユーザから取得される値でもよい。
 たとえば、PDS実行部121は、確定リストから選択された画素の位置を (x,y)とし、1≦i≦kなる整数iのそれぞれについて、0.0≦σi≦1.0である一様乱数値σiと、0.0≦θi≦360である一様乱数値θiとを設定する。そして、PDS実行部121は、それらの数値を用いて、次の式のxiおよびyiによって示される位置ci=(xi,yi)を導出する。
Figure JPOXMLDOC01-appb-M000002
 PDS実行部121は、上式によって導出される位置ci=(xi,yi)を、サンプリング候補点の位置として抽出する。なお、上記の算出式は一例である。特に、σiの範囲やriの算出式は、変更されてもよい。
 そして、PDS実行部121は、各サンプリング候補点の位置ciについて、ciを中心とした半径rの円内に、確定リストに含まれる点が存在するかを確認し、存在しない場合には、当該候補点をサンプリング点として確定する(確定リストに追加する)。確定リストに含まれる点が存在した場合には、PDS実行部121は、その候補点を候補から除外する(確定リストに追加しない)。PDS実行部121は、以上の処理を、同じ設定半径rについて、確定リストに含まれている全てのサンプリング点に対して実行し、確定リストが変化しなくなるまで繰り返す。
 確定リストの変化がなかった(すなわち、確定リストに含まれている全てのサンプリング点に対して上記の処理を実行したにも関わらず、新たに確定リストに追加される点がなかった)場合は、PDS実行部121は、当該設定半径におけるサンプリングパターンを確定する。すなわち、PDS実行部121は、確定リストに含まれている画素位置のサンプル値を「1」、それ以外の画素のサンプル値を「0」として当該設定半径におけるパラメータpの各値を確定する。
 以上が、PDSを実行する方法の例である。PDSを実行する具体的手順は、上記の方法に限られない。たとえば、PDS実行部121は、パラメータpと同様に各画素に値が関連づけられる配列を用いて、次のようにサンプリングパターンを生成してもよい。すなわち、PDS実行部121は、上記配列の全ての値を「0」に初期化しておき、確定されたサンプリング点がある場合は、当該サンプリング点との距離が設定半径r以下である点の、上記配列の値を「1」に変更する。そして、PDS実行部121は、確定パターンにおける全ての値が「1」になるまで、値が「0」である画素のうち、ランダムに選択した点をサンプリング点として確定していってもよい。
 PDS実行部121は、サンプリングパターンを、設定半径rごとに生成する。たとえば、PDS実行部121は、設定半径rを、r ← r-rstepと更新しながら、サンプリングパターンの生成を、r < rminとなるまで繰り返す。なお、PDS実行部121は、rの値がrmaxでない時は、その設定半径rに基づくPDSにおける初期の確定リストとして、直前に行ったPDSにおける最終的な確定リストを用いる。
 以上の処理によって、PDS実行部121は、rmaxからrminまでrstepおきに変化した設定半径rごとの、サンプリングパターンを生成する。以下、PDS実行部121によって生成されるサンプリングパターンのそれぞれを、「暫定パターン」と称す。任意の2つの暫定パターンにおいて、より小さい設定半径に基づくPDSによる暫定パターンが含むサンプリング点は、より大きい設定半径に基づくPDSによる暫定パターンが含むサンプリング点を含む。PDS実行部121は、生成した暫定パターンを、それぞれ暫定パターン記憶部124に記憶させる。
 なお、パラメータpのサイズが拡張されている場合には、PDS実行部121は、全ての暫定パターンが確定したのちに、それぞれの暫定パターンの上下端の1ライン、および左右の1列のサンプル値を「0」に変更してもよい。これらのラインは、RRDCTの処理において、出力画素値を生成しない位置にあるブロックであるため、ノイズ除去処理の性能に影響しない。
 [差分パターン生成部122]
 PDS実行部121により、暫定パターン記憶部124には、設定半径の大きな方から順に、各画素に「0」または「1」のサンプル値が与えられた、m個の暫定パターンp0, p1, … , pm-1が格納されているとする。差分パターン生成部122は、暫定パターンに基づき、差分パターンを生成する。差分パターンは、隣り合うサンプリングパターンの差分である。すなわち、差分パターン生成部122は、たとえば、0≦i≦m-2なるiについて、差分パターンdiを次式のように計算する。
Figure JPOXMLDOC01-appb-M000003
 なお、piが配列である場合、diはpiと同じ大きさの配列である。
 差分パターン生成部122は、こうして算出されたm-1個の差分パターンを、差分パターン記憶部125に格納する。
 なお、暫定パターン生成の過程から、pm-1 = p0 + Σi=0→m-2 diであることは明らかである。記号「Σ」の下付き文字「i=0→m-2」は、「iが0からm-2までの1刻みの値をとる」ことを表す。
 [決定パターン生成部123]
 決定パターン生成部123は、最大設定半径に基づく暫定パターンp0と、m-1個の差分パターンd0, d1, … , dm-2と、DCTのブロックサイズtDCTと、1ライン当たりのサンプル数の基準値nmaxとから、サンプリングパターンを生成する。以下、決定パターン生成部123が生成するサンプリングパターンを、「決定パターン」と称す。なお、nmaxの値は、決定パターン生成部123に予め記憶されていてもよいし、ユーザからパラメータ取得部11を介して取得されてもよい。
 決定パターン生成部123が決定パターンを生成する方法の例は、次の通りである。
 決定パターン生成部123は、まず、p0に基づいて、ラインごとのサンプル数を求める。すなわち、決定パターン生成部123は、ラインj(すなわち、j行目)にある、サンプル値が「1」である画素の数np_0(j)を算出する。
Figure JPOXMLDOC01-appb-M000004
 なお、本開示においては、下付き文字をアンダーバー「_」を用いて表すことがある。たとえば、「p0」は「p_0」と表されることがある。また、たとえば、「d_i」は、「di」と同じである。
 また、決定パターン生成部123は、差分パターンdiに対しても、ラインごとのサンプル数nd_i(j)を次の通り算出する。
Figure JPOXMLDOC01-appb-M000005
 決定パターン生成部123は、決定パターンの生成に際し、決定パターンの生成が可能であるかをチェックするためのエラー判定を行う。エラー判定は次の2つの判定である。
判定(i):maxj np_0(j)≦nmaxであるか。すなわち、全てのjについてnp_0(j)がnmax以下であるか。
判定(ii):minj{np_0(j) + Σi=0→m-2 nd_i(j)}≧nmaxであるか。すなわち、全てのjについてnp_0(j) + Σi=0→m-2 nd_i(j)がnmax以上であるか。
 判定(i)に関し、もしmaxj np_0(j)>nmaxであれば、決定パターン生成部123は、出力制御部13に、決定パターンが作れないことを示す第1のエラーコードを出力する。この場合、nmaxが小さすぎるか、最大設定半径rmaxが小さすぎることが考えられる。この場合、出力制御部13は、ユーザにnmaxを大きくするか、rmaxをより大きく設定するようにメッセージを表示する制御を行ってもよい。
 判定(ii)に関し、もしminj{np_0(j) + Σi=0→m-2 nd_i(j)}<nmaxであれば、決定パターン生成部123は、出力制御部13に決定パターンが作れないことを示す第2のエラーコードを出力する。この場合、nmaxが大きすぎるか、最小設定半径rminが大きすぎるか、設定半径のステップ幅rstepが大きすぎることが考えられる。この場合、出力制御部13は、ユーザにnmax、rmin、rstepのいずれかをより小さく設定するようにメッセージを表示する制御を行ってもよい。
 なお、np_0(j) + Σi=0→m-2 nd_i(j)は、暫定パターンpm-1のラインjにおけるサンプル数と同値である。したがって、決定パターン生成部123は、暫定パターンpm-1のラインjにおけるサンプル数np_(m-1)(j)を算出し、判定(ii)を、「minj np_(m-1)(j)≧nmaxであるか」という判定に置き換えて判定してもよい。すなわち、決定パターン生成部123は、全てのjについてnp_(m-1)(j)がnmax以上であるかを判定(ii)としてチェックしてもよい。
 エラー判定においてエラーと判定されなかった場合、決定パターン生成部123は、決定パターンpfを生成する。具体的には、以下の通りである。
 まず、決定パターン生成部123は、暫定パターンp0に基づいて設定されるDCTブロックパターンを用いた場合の、各画素の冗長度nred(x,y)を計算する。
 冗長度nred(x,y)の算出方法は、次の通りである。まず、決定パターン生成部123は、nred(x,y)を初期化する。nred(x,y)は、位置が(x,y)である画素の冗長度を表す関数である。nred(x,y)の初期値は、全てのxおよびyの組において「0」である。次に、決定パターン生成部123は、p0を参照して、p0(x,y)=1である画素を特定し、x≦x’≦x+tDCT-1, y≦y’≦y+tDCT-1の範囲のx’およびy’の組について、nred(x’,y’)の値に「1」を加算する。決定パターン生成部123は、この加算を、p0(x,y)=1である全ての(x,y)について繰り返すことで、冗長度nredを得る。なお、サンプリングパターンのサイズを拡張している場合には、決定パターン生成部123は、入力画像に対応する領域(図4においてドット模様で示される領域)における各位置の冗長度を算出すればよい。
 次に、決定パターン生成部123は、ラインjにおいて、np_0(j) + Σind_i(j)≧nmaxを満たす最小のiを特定する。以下、特定されたiをitargetとする。
 itargetがnp_0(j) + Σi=0→i_target nd_i(j) = nmaxを満たす場合、すなわち、np_(i_target+1)(j)がnmaxに等しい場合は、決定パターン生成部123は、全てのxについてpf(x,j) = p0(x,j) + Σi=0→i_target diとして(あるいは、pi_targetのj行目を抽出して)、ラインjにおけるサンプリングパターンpf(x,j)を確定する。また、決定パターン生成部123は、pf(x,j) =1を満たす(x,j)について、それぞれx≦x’≦x+tDCT-1, j≦y’≦j+tDCT-1の範囲について、nred(x’,y’)←nred(x’,y’)+1と累積加算する。
 itargetがnp_0(j) + Σi=0→i_target nd_i(j) > nmaxを満たす場合、すなわち、np_(i_target+1)(j)がnmaxを超える場合は、決定パターン生成部123は、p0 + Σi=0→i_target-1 di(= pi_target)に対して、j行目のサンプリング点がnmaxになるようにサンプリング点を追加する。
 具体的には、まず、決定パターン生成部123は、全てのxについてpf(x,j) = p0(x,j) + Σi=0→i_target-1 di(x,y)として(あるいは、pi_targetのj行目を抽出して)、ラインjにおけるnp_i_target(j)個のサンプリング点を確定する。これにより確定したサンプリング点のパターンは、決定パターンのベースである。また、決定パターン生成部123は、pf(x,j)=1を満たす(x,j)について、それぞれx≦x’≦x+tDCT-1, j≦y’≦j+tDCT-1の範囲について、nred(x’,y’)←nred(x’,y’)+1と累積加算する。
 次に、決定パターン生成部123は、決定パターンのベースにサンプリング点を追加する。決定パターン生成部123は、たとえば、di_targetからサンプリング点を抽出する。決定パターン生成部123は、di_target(x,j)=1である画素位置(x,j)のそれぞれについて、冗長度の、「空間的な」累積加算値nred,sum(x,j)を、次の通り算出する。
Figure JPOXMLDOC01-appb-M000006
 nred,sum(x,j)は、x≦x’≦x+tDCT-1, j≦y’≦j+tDCT-1を満たす(x’,y’)の冗長度の総和である。本実施形態では、nred,sum(x,j)を「冗長密度」とも称す。
 そして、決定パターン生成部123は、冗長密度に基づいて、サンプリング点を追加する。たとえば、決定パターン生成部123は、di_targetのj行目におけるサンプリング点のうち、nred,sum(x,j)がゼロである画素位置(x,j)を特定する。そして、決定パターン生成部123は、特定した画素位置(x,j)をサンプリングパターンに追加する(つまり、pf(x,j)=1とする)。nred,sum(x,j)がゼロである画素位置(x,j)が無い場合は、決定パターン生成部123は、di_targetのj行目からランダムにサンプリング点を抽出してサンプリングパターンに追加してもよい。あるいは、決定パターン生成部123は、nred,sum(x,j)が最小である画素位置(x,j)をサンプリングパターンに追加してもよい。nred,sum(x,j)が小さな画素位置を優先的にサンプリング点として決定することで、サンプリング点のばらつきは良くなる。決定パターン生成部123は、サンプリング点を追加したら、nredを更新する。決定パターン生成部123は、この一連の処理を、ラインjにおけるサンプル数がnmaxになるまで繰り返すことで、ラインjにおけるサンプリングパターンpf(x,j)を確定する。
 全てのラインにおけるサンプリングパターンが確定したら、それにより生成するサンプリングパターンpf(x,y)が、決定パターンである。決定パターン生成部123は、決定パターンに対してエラーの有無の検査を行う。具体的には、決定パターン生成部123は、nred(x,y)=0である画素があるかを確認する。nred(x,y)=0である画素は、決定パターンに基づき切り出されるブロックのいずれにも含まれない画素である。nred(x,y)=0である画素がある場合は、出力制御部13は、適切な決定パターンが作れなかったことを示すエラーを出力する制御を行う。この場合、nmaxが小さすぎるか、最小設定半径rminが大きすぎるか、設定半径のステップ幅rstepが大きすぎることが考えられる。したがって、出力制御部13は、たとえば、ユーザにnmaxを大きくするか、rmin、rstepをより小さく設定するよう指示するメッセージを表示する制御を行ってもよい。
 nred(x,y)=0である画素がない場合は、決定パターン生成部123は、決定パターンpf(x,y)を、サンプリングパターン記憶部30と出力制御部13とに出力する。
 [画像取得部21]
 画像取得部21は、入力画像を取得し、取得した入力画像をノイズ除去部22に出力する。なお、画像取得部21は、取得した入力画像を、拡張してもよい。たとえば、画像取得部21は、PDS実行部121によるPDSにおいてサンプリングの対象となった範囲を入力画像が含むように、入力画像を拡張する。
 以下、図6を用いて画像の拡張の例を説明する。図6は、図4において点線で示される領域がPDSの対象範囲である場合に、画像取得部21により拡張される画像の概念図である。図6中、ドット模様で示されている矩形領域が入力画像に対応する領域であり、その外側の点線が、拡張後の画像の外郭である。図6の例では、画像は、上下左右にそれぞれtDCT画素分拡張されている。画像の上端と左端とがtDCT画素分拡張されるのは、拡張後の範囲がPDSの対象範囲であるからである。PDSの対象範囲は、画像の右端と下端とには1画素分拡張されていたが、画像取得部21は、サンプリング点に基づいてtDCT×tDCTサイズのDCTブロックを切り出すことが可能であるように、さらにtDCT-1画素分外側まで、右端と下端とを拡張する。
 なお、拡張された領域の画素値は、たとえば、入力画像の上下左右端の画素値のコピーであってもよいし、あるいは入力画像の外郭線を基準に画素値が対称となるようにコピーされた画素値であってもよい。
 [ブロック切出部221]
 ブロック切出部221は、サンプリングパターン記憶部30から受け取るサンプリングパターン(決定パターンpf(x,y))に基づき、入力画像からDCTブロックを切り出す。たとえば、ブロック切出部221は、pf(x,y)=1である(x,y)のそれぞれについて、図4に示される範囲の画素からなる、tDCT×tDCTサイズのDCTブロックをそれぞれ生成する。ブロック切出部221は、生成したDCTブロックを、DCT部222に出力する。
 [画像出力制御部23]
 画像出力制御部23は、正規化部226から受け取るノイズ除去後の画像を出力する制御を行う。なお、画像取得部21により画像が拡張されている場合には、画像出力制御部23は、拡張された領域を取り除き、拡張された領域が取り除かれた画像を出力する制御を行ってもよい。
 <動作>
 以下、画像処理装置1の動作を、図7を参照しながら説明する。図7は、画像処理装置1による画像処理の動作を示すフローチャートである。
 まず、パラメータ取得部11は、所定のパラメータを取得する(ステップS701)。そして、サンプリングパターン生成部12が、取得されたパラメータを受け取る。
 次に、サンプリングパターン生成部12において、まず、PDS実行部121が、サンプリングパターンのパラメータを初期化する(ステップS702)。
 次いで、サンプリングパターン生成部12のPDS実行部121が、設定半径を変えながらPDSを実行し、各設定半径に基づくサンプリングパターン(暫定パターン)を生成する(ステップS703)。このステップS703の処理が、エラーにより終了した場合は、(ステップS704においてYES)、画像処理装置1はエラーとして処理を終える。
 ステップS703の処理が成功した場合は(ステップS704においてNO)、差分パターン生成部122が、隣り合う暫定パターンの差分(差分パターン)を生成する(ステップS705)。
 次いで、決定パターン生成部123が、エラー判定(上述の判定(i)および判定(ii))を行う(ステップS706)。エラーと判定された場合(ステップS707においてYES)、画像処理装置1はエラーとして処理を終える。エラーと判定されなかった場合(ステップS707においてNO)、決定パターン生成部123は、暫定パターンおよび差分パターンに基づいて、各行のサンプル数が基準値に等しいサンプリングパターン(決定パターン)を生成する(ステップS708)。
 次いで、決定パターン生成部123は、決定パターンに基づいてブロックの切り出しを行った場合の、各画素の冗長度を算出する(ステップS709)。そして、決定パターン生成部123は、冗長度が「0」である画素があるかを確認する。冗長度が「0」である画素がある場合は(ステップS710においてYES)、決定パターン生成部123は、エラー処理を行って終了する。冗長度が「0」である画素がなければ(ステップS710においてNO)、決定パターン生成部123は、決定パターンをサンプリングパターン記憶部30に記憶させる。そして、処理はステップS711に進む。
 ステップS711において、画像取得部21は、ノイズ除去処理の対象となる画像を取得する。
 次いで、ノイズ除去部22は、ステップS711で取得された入力画像に対し、決定パターンに基づいて、RRDCTによるノイズ除去を実行する(ステップS712)。
 次いで、画像出力制御部23は、ステップS712で生成されたノイズ除去後の画像を出力する制御を行う(ステップS713)。
 以上のような処理の流れにより、画像処理装置1は、各行のサンプル数が基準値に等しいサンプリングパターン(決定パターン)に基づくノイズ除去が行われた画像を出力する。
 なお、画像処理装置1が画像を連続して処理する場合には、画像処理装置1は、決定パターンを新たに生成せず、初めの画像に対して生成された決定パターンを、2つ目以降の画像に対する処理において再利用してもよい。すなわち、2つ目以降の画像に対する処理では、ステップS701からS710の処理はスキップされてもよい。
 [PDSを実行する処理]
 ステップS703における、PDS実行部121によるPDSの実行処理の流れの例を、図8のフローチャートに沿って説明する。
 PDS実行部121は、まず、最大設定半径を設定半径として設定する(ステップS81)。そして、PDS実行部121は、パラメータpにおける1つの点をサンプリング点として確定する(ステップS82)。
 次に、PDS実行部121は、設定半径に基づくPDSを実行し、暫定パターンを生成する(ステップS83)。
 次に、PDS実行部121は、設定半径を所定の値(rstep)だけ小さくする(ステップS84)。
 新たな設定半径が最小設定半径(rmin)を下回った場合(ステップS85においてYES)、処理はステップS86に移る。新たな設定半径が最小設定半径を下回っていない場合(ステップS85においてNO)、PDS実行部121は、新たな設定半径に基づき、暫定パターンを生成する(ステップS83)。以下同様である。
 ステップS86において、PDS実行部121は、最後に生成された暫定パターン(すなわち、暫定パターンのうち設定半径が最小である暫定パターン)に基づいてDCTブロックが切り出される場合にいずれのDCTブロックにも含まれない画素があるかを判定する(ステップS86)。すなわち、PDS実行部121は、最後に生成された暫定パターンにおいて冗長度が「0」である画素があるかを判定する。判定の結果がYESであった場合、エラーであるとしてPDS実行部121は、処理を終了する。判定の結果がNOであった場合、PDS実行部121は、暫定パターンの生成は成功したとして、処理を終了する。
 [エラー判定]
 図9は、ステップS706におけるエラー判定の処理の流れの例を示すフローチャートである。エラー判定において、決定パターン生成部123は、まず、最大設定半径に基づく暫定パターンにおける各ラインのサンプル数を算出する(ステップS91)。そして、算出されたサンプル数の最大値が基準値(nmax)以下であるかを判定する(ステップS92)。最大値が基準値以下である場合(ステップS92においてYES)は、エラーであるとして処理を終了する。
 また、決定パターン生成部123は、最小の設定半径に基づく暫定パターンにおける各ラインのサンプル数を算出する(ステップS93)。そして、算出されたサンプル数の最小値が基準値以上であるかを判定する(ステップS94)。最小値が基準値以上である場合(ステップS94においてYES)は、エラーであるとして処理を終了する。
 ステップS92の判定およびステップS94の判定においていずれもNOであった場合は、エラーはないとしてエラー判定の処理を終了する。
 なお、エラー判定処理は、ステップS705の処理に先行してもよい。また、決定パターン生成部123の代わりに、PDS実行部121がエラー判定を行ってもよい。
 [決定パターンを生成する処理]
 ステップS707における、決定パターン生成部123による決定パターンを生成する処理の流れの例を、図10のフローチャートに沿って説明する。
 決定パターン生成部123は、まず、最大設定半径に基づく暫定パターンにおける各画素の冗長度(nred(x,y))を算出する(ステップS101)。
 次に、決定パターン生成部123は、決定パターンのサンプリング点として点が決定されていないラインを選択する(ステップS102)。
 次に、決定パターン生成部123は、選択されたラインにおけるサンプル数が基準値を超えない暫定パターンのうち、設定半径が最も小さい暫定パターン(pi_target)を特定する(ステップS103)。
 特定された暫定パターンの選択されたラインにおけるサンプル数が基準値に一致する場合(ステップS104においてYES)、決定パターン生成部123は、特定された暫定パターンの選択されたラインのサンプリング点を決定パターンの当該ラインのサンプリング点として決定する(ステップS105)。そして、処理は後述のステップS110の判定に移る。
 特定された暫定パターンの選択されたラインにおけるサンプル数が基準値に一致しない場合(ステップS104においてNO)は、決定パターン生成部123は、ステップS106からステップS109の処理により、基準値に一致する数のサンプリング点を決定する。
 まず、ステップS106において、決定パターン生成部123は、特定された暫定パターンの次に設定半径が小さい暫定パターンにおいて新たに確定された当該ライン上のサンプリング点を抽出する(ステップS106)。そして、決定パターン生成部123は、抽出されたサンプリング点のそれぞれの冗長密度を算出する(ステップS107)。
 そして、決定パターン生成部123は、冗長密度が最も小さいサンプリング点から順に、選択されたラインにおけるサンプル数と基準値との差の数のサンプリング点を選択する(ステップS108)。
 そして、決定パターン生成部123は、選択されたサンプリング点と、特定された暫定パターンの選択されたラインのサンプリング点とを、決定パターンの当該ラインのサンプリング点として決定する(ステップS109)。そして、処理はステップS110の判定に移る。
 ステップS110では、決定パターン生成部123は、全てのラインのサンプリング点が決定されたかを判定する。未だサンプリング点が決定されていないラインがある場合(ステップS110においてNO)、決定パターン生成部123は再びステップS102からの処理を行う。全てのラインのサンプリング点が決定された場合(ステップS110においてYES)、決定パターンは完成する。各ラインにおける決定されたサンプリング点が、決定パターンにおけるサンプリング点である。この場合、決定パターン生成部123は決定パターンの生成処理を終了する。
 <効果>
 第1の実施形態の効果について説明する。画像処理装置1によれば、ノイズ除去部22による画像のノイズ除去において、ラインごとのサンプル数が一定であるサンプリングパターンが用いられるため、ラインごとの処理量は同一となる。これにより、ノイズ除去の処理の効率が向上する。また、ハードウェア実装において設定される処理遅延を最小化することができる。すなわち、ハードウェアの実装が容易になる。
 ラインごとのサンプル数が一定であるサンプリングパターンが生成できる理由は、決定パターン生成部123が、ラインごとに、いずれかの暫定パターンを基準にして、サンプル数が基準値になるまでサンプリング点を追加するからである。追加されるサンプリング点は、既にPDSの条件を満たすように確定されたサンプリング点から選ばれるため、各画素の冗長度のばらつき、すなわち、サンプリング点のばらつきは、悪くならないことが保証される。
 特に、冗長密度が小さいサンプリング点が追加されるサンプリング点として優先的に選ばれることにより、各画素の冗長度はより均質になる。これにより、ノイズ除去性能の低下を防ぐことができる。
 <<第2の実施形態>>
 本発明の第2の実施形態を説明する。
 第2の実施形態は、第1の実施形態と同様に、ラインごとの処理量を同一にしつつ、サンプリングパターンを、ノイズ除去処理がなされる入力画像に適応させることで、より品質の良い画像を生成する形態である。
 <構成>
 図11は、第2の実施形態に係る画像処理装置2の構成を示すブロック図である。画像処理装置2は、第1の実施形態の画像処理装置1と同じく、パラメータ取得部11と、出力制御部13と、画像取得部21と、画像出力制御部23と、サンプリングパターン記憶部30と、を備えている。しかし、画像処理装置2は、第1の実施形態の画像処理装置1と異なり、サンプリングパターン生成部12とノイズ除去部22との代わりに、サンプリングパターン生成部14とノイズ除去部24とを備えている。
 以下では、第1の実施形態の画像処理装置1と異なるサンプリングパターン生成部14とノイズ除去部24について詳細に説明する。
 図12は、サンプリングパターン生成部14の構成を示すブロック図である。サンプリングパターン生成部14は、サンプリングパターン生成部12と同様に、PDS実行部121と、差分パターン生成部122と、暫定パターン記憶部124と、差分パターン記憶部125と、を含む。しかし、サンプリングパターン生成部14は、第1の実施形態の決定パターン生成部123の代わりに、詳細パターン生成部141を含む。
 詳細パターン生成部141は、最大設定半径に基づく暫定パターンと差分パターンとに基づき、「ベースパターン」を作成する。ベースパターンは、後述するノイズ除去部24のサンプリングパターン生成部241がサンプリングパターンを生成する際の基礎となるサンプリングパターンである。また、詳細パターン生成部141は、差分パターンとラインごとのサンプル数の基準値とに基づいて「詳細パターン」を生成する。詳細パターンは、サンプリングパターン生成部241がサンプリングパターンを生成する際に使用されるサンプリングパターンである。詳細パターン生成部141は、ベースパターンと詳細パターンとをサンプリングパターン記憶部30に記憶させる。
 サンプリングパターン記憶部30は、ベースパターンと詳細パターンとを記憶する。
 図13は、ノイズ除去部24の構成を示すブロック図である。ノイズ除去部24は、ノイズ除去部22と同様に、ブロック切出部221と、DCT部222と、係数処理部223と、IDCT部224と、ブロック統合部225と、正規化部226と、を含む。ノイズ除去部24は、さらに、サンプリングパターン生成部241を含む。
 サンプリングパターン生成部241は、サンプリングパターン記憶部30から受け取るベースパターンと、詳細パターンと、入力画像における、サンプリング点に基づく所定の範囲の画素値の統計的な情報(後述)と、に基づいて、サンプリングパターンを生成する。そして、サンプリングパターン生成部241は、生成されたサンプリングパターンをブロック切出部221に出力する。
 以下、詳細パターン生成部141と、サンプリングパターン生成部241の処理の詳細について説明する。
 [詳細パターン生成部141]
 詳細パターン生成部141は、第1の実施形態の決定パターン生成部123と同様に、最大設定半径に基づく暫定パターンp0における各ラインjにおけるサンプル数np_0(j)、および、各差分パターンdiの各ラインjにおけるサンプル数nd_i(j)を算出する。
 また、詳細パターン生成部141は、決定パターン生成部123と同様に、エラー判定を行う。
 また、詳細パターン生成部141は、決定パターン生成部123と同様に、暫定パターンp0に基づいて設定されるDCTブロックパターンを用いた場合の、各画素の冗長度nred(x,y)を計算する。
 そして、詳細パターン生成部141は、最大設定半径に基づく暫定パターンp0と、差分パターン記憶部125から受け取るm-1個の差分パターンd0, d1, … , dm-2と、パラメータ取得部11から受け取るDCTのブロックサイズtDCTと、1ライン当たりのサンプル数の基準値nmaxとに基づき、ベースパターンb(x,y)と詳細パターンh(x,y)とを、以下の通り生成する。
 まず、詳細パターン生成部141は、ベースパターンb(x,y)の初期値として、b(x,y)=p0(x,y)を設定する。さらに、詳細パターン生成部141は、ベースパターンb(x,y)のラインごとのサンプル数nb(j)を、nb(j)=np_0(j)として初期化する。
 詳細パターン生成部141は、冗長度nredが「0」である画素が存在しなくなるまで、ベースパターンb(x,y)においてサンプリング点を追加することにより、ベースパターンb(x,y)を生成する。
 具体的には、まず、詳細パターン生成部141は、冗長度nredについて、nred(x,y)=0である画素があるかを確認する。nred(x,y)=0である画素があれば、詳細パターン生成部141は、全ての画素についてnred(x,y)>0となるようにb(x,y)を更新する。
 例えば、詳細パターン生成部141は、ラインごとのサンプル数が最も小さいラインjに着目し、nd_i(y)(j)>0であるようなi(y)における、di(y)(s,t)=1である画素位置(s,t)を、ベースパターンb(x,y)におけるサンプリング点として追加する。すなわち、詳細パターン生成部141は、b(s,t)の値を「1」に変更する。なお、詳細パターン生成部141は、i(y)を、たとえば、0を初期値として、nd_i(y)(y) > 0となるまでi(y)に1を加算していくことにより、特定すればよい。
 b(s,t)の追加に伴い、詳細パターン生成部141は、追加された点(s,t)に基づきnredと、ラインjのnb(j)とを、更新する。
 また、詳細パターン生成部141は、追加されたサンプリング点(s,t)を、di(y)(x,y)から除外する。すなわち、詳細パターン生成部141は、di(y)(s,t)=0とし、di(y)における当該ラインjのサンプル数nd_i(y)(j)の値を、追加されたサンプリング点の数だけ減ずる。
 詳細パターン生成部141は、以上のような、サンプリング点を追加する処理を、nred(x,y)=0である画素がなくなるまで繰り返す。
 もし、b(x,y)を更新する過程で、nred(x,y)=0である画素が残存しているにもかかわらず、nb(y)>nmaxとなるラインが出現した場合は、詳細パターン生成部141は、出力制御部13に決定パターンが作れないことを示す第3のエラーコードを出力する。この場合、nmaxが小さすぎるか、最大設定半径rmaxが小さすぎるか、設定半径のステップ幅rstepが大きすぎることが考えられる。出力制御部13は、ユーザにnmaxまたはrmaxをより大きく設定するか、rstepをより小さく設定するようにメッセージを表示する制御を行ってもよい。
 nred(x,y)=0である画素がなくなった時点で、詳細パターン生成部141は、ベースパターンb(x,y)の生成を完了する。
 また、詳細パターン生成部141は、詳細パターンh(x,y)の生成を行う。まず、詳細パターン生成部141は、h(x,y)を設定し、全てのh(x,y)のすべての値を「0」に設定(初期化)する。次に、詳細パターン生成部141は、ラインjにおいて、nb(j) + Σi ndi(j)≧nmaxを満たす最小のitargetを特定する。そして、詳細パターン生成部141は、以下の式によりラインjにおける詳細パターンh(x,j)を生成する。
Figure JPOXMLDOC01-appb-M000007
 詳細パターン生成部141は全てのラインについて上記処理を行う。全てのラインについて上記処理が行われると、詳細パターンh(x,y)が完成する。
 [サンプリングパターン生成部241]
 サンプリングパターン生成部241は、サンプリングパターン記憶部30から受け取るベースパターンb(x,y)を、詳細パターンh(x,y)と、入力画像の画素値u(x,y)とに基づいて更新し、その結果として入力画像の特徴に適応したサンプリングパターンp(x,y)を生成する。
 まず、サンプリングパターン生成部241は、ベースパターンb(x,y)のラインjにおけるサンプル数nb(j)を算出し、当該ラインにおいて詳細パターンから抽出すべきサンプル数ns(j)=nmax-nb(j)を求める。
 次に、サンプリングパターン生成部241は、サンプリングパターンp(x,y)を用意し、ベースパターンb(x,y)をp(x,y)の初期値として設定する(p(x,y)=b(x,y))。
 次に、サンプリングパターン生成部241は、詳細パターンh(x,y)について、h(x,y)=1である点において、画素値の局所解析処理を行う。すなわち、サンプリングパターン生成部241は、入力画像における、サンプリング点に基づく所定の範囲の画素値の統計的な情報を算出する。例えば、サンプリングパターン生成部241は、以下の式で表される、画素値u(x,y)の局所分散v(x,y)を算出する。
Figure JPOXMLDOC01-appb-M000008
 なお、一般的には、画素値の局所分散は、対象の画素を中心とした所定の範囲に属する画素を用いて算出される。しかし、サンプリングパターン生成部241は、上記の式のように、RDCTで処理される画像領域の範囲に属する画素を用いて分散を算出する。これにより、サンプリングパターン生成部241は、次に説明されるサンプリング点の抽出において、RDCTで処理される画像領域の範囲の画素値の分散に基づいてサンプリング点を抽出できる。
 サンプリングパターン生成部241は、ラインjにおいて、局所分散値が大きな画素から順にns(j)個の画素を、詳細パターンh(x,y)から抽出し、抽出した画素をサンプリング点として追加する(p(x,y)を「1」に変更する)。
 サンプリングパターン生成部241がこの処理を全てのラインで実行することにより、全てのラインにおいてサンプル数が等しいサンプリングパターンp(x,y)が生成する。
 <動作>
 第2の実施形態に係る画像処理方法について説明する。図14は、画像処理装置2の処理の流れの例を示すフローチャートである。
 ステップS701からS707の処理は、第1の実施形態と同様であるため、説明を省略する。なお、ステップS707のエラー判定は、たとえば、詳細パターン生成部141により行われればよい。
 ステップS707に次いで、詳細パターン生成部141は、ベースパターンを生成する(ステップS141)。
 ステップS141のベースパターンの生成が、エラーで終了した場合は(ステップS142においてYES)、画像処理装置2はエラーとして処理を終了する。
 ステップS141のベースパターンの生成が成功した場合は(ステップS142においてNO)、詳細パターン生成部141は、詳細パターンを生成する(ステップS143)。
 次いで、画像取得部21が、ノイズ除去処理の対象となる画像を取得する(ステップS144)。
 次いで、サンプリングパターン生成部241が、ベースパターンと詳細パターンと局所分散とに基づいてサンプリングパターンを生成する(ステップS145)。
 そして、ノイズ除去部22は、ステップS111で取得された入力画像に対し、ステップS145で生成されたサンプリングパターンに基づいてRRDCTによるノイズ除去を実行する(ステップS146)。
 次いで、画像出力制御部23は、ステップS146で生成されたノイズ除去後の画像を出力する制御を行う(ステップS147)。
 以上のような処理の流れにより、画像処理装置2は、各行のサンプル数が基準値に等しいサンプリングパターン(決定パターン)に基づくノイズ除去が行われた画像を出力する。
 [ベースパターンの生成処理]
 図15は、詳細パターン生成部141によるベースパターンの生成処理の流れの例を示すフローチャートである。
 詳細パターン生成部141は、まず、最大設定半径に基づく暫定パターンを用いてベースパターンを初期化する(ステップS151)。
 次に、詳細パターン生成部141は、各画素の冗長度を確認する。冗長度が「0」である画素がある場合は(ステップS152においてYES)、詳細パターン生成部141は、ステップS153からステップS156の処理を行う。冗長度が「0」である画素がなくなった時点で(ステップS152においてNO)、詳細パターン生成部141はベースパターンの生成を完了する。
 ステップS153において、詳細パターン生成部141は、サンプル数が最も少ないラインに対し、サンプリング点を追加する。詳細パターン生成部141は、サンプリング点を、たとえば、当該ラインにおいてサンプリング点を有する差分パターンのうち、設定半径が最も大きな差分パターンから抽出する。そして、詳細パターン生成部141は、追加されたサンプリング点を、差分パターンから除外する(ステップS154)。また、詳細パターン生成部141は、サンプル数および冗長度を更新する(ステップS155)。
 そして、詳細パターン生成部141は、サンプル数が基準値を超えるラインがあるかを判定する(ステップS156)。サンプル数が基準値を超えるラインがある場合(ステップS156においてYES)、詳細パターン生成部141は、エラーを出力して処理を終了する。サンプル数が基準値を超えるラインがない場合は(ステップS156においてNO)、処理はステップS152の処理に戻り、詳細パターン生成部141は、冗長度が「0」である画素がなくなるまで、同様の処理を行う。
 <効果>
 第2の実施形態に係る画像処理装置2の効果について説明する。画像処理装置2は、第1の実施形態と同様、ラインごとの処理量を同一にできるという効果がある。さらに、画像処理装置2のサンプリングパターン生成部241により生成されるサンプリングパターンは、入力画像に応じて、入力画像に適応するように生成されるため、ノイズ除去後の出力画像の画質をより良くなるという効果がある。一般に、RDCTでは、エッジやテクスチャなどの局所分散が大きな領域について、多くのブロックの冗長加算によってモスキートノイズの発生を抑制しているため、RRDCTによってエッジやテクスチャ周囲のブロック数が減少すると、モスキートノイズが目立ちやすくなる問題がある。画像処理装置2によれば、局所分散が大きな領域にサンプリング点が割り当てられやすいため、入力画像の局所分散にサンプリングパターンが適応し、モスキートノイズの発生が抑制されやすくなる。
 [変形例1]
 上記各実施形態の画像処理装置の機能は、1つの装置によって実現されていなくてもよい。たとえば、第1の実施形態の画像処理装置1の機能は、図16に示されるように、パターン生成装置100と、画像処理装置200とによって実現されてもよい。
 図16に示す例では、パターン生成装置100は、パラメータ取得部11と、サンプリングパターン生成部12と、出力制御部13とを備える。画像処理装置200は、サンプリングパターン記憶部30と、画像取得部21と、ノイズ除去部22と、画像出力制御部23とを備える。
 サンプリングパターン生成部12は、生成した暫定パターンおよび差分パターン等を、画像処理装置200のサンプリングパターン記憶部30に対して出力すればよい。出力制御部13が暫定パターンおよび差分パターン等をサンプリングパターン記憶部30に対して出力してもよい。パターン生成装置100と画像処理装置200とは、互いに通信可能に接続されていればよい。パターン生成装置100と画像処理装置200とは、無線ネットワーク、有線ネットワーク、および回路のいずれによって接続されていてもよい。
 第2の実施形態の画像処理装置2も、同様の構成に変更可能である。
 各実施形態の画像処理装置の機能は、さらに細かく役割が割り当てられた複数の装置の組み合わせによって実現されてもよい。
 [変形例2]
 以上各実施形態で説明された画像処理装置は、所与のサンプリングパターンにサンプリング点を追加していくことにより、各ラインのサンプル数が基準値に等しいサンプリングパターンを生成する。変形例として、画像処理装置が、最終的なサンプリングパターンを、以上の例以外の方法によって生成する例を説明する。
 以下、変形例として、第1の実施形態に係る画像処理装置1のサンプリングパターン生成部12が、以上で説明された方法以外の方法でサンプリングパターンを生成する例を、説明する。なお、本変形例において、サンプリングパターン生成部12は、必ずしも図2に示されるような構成全てを含まなくてもよい。
 (方法1)
 サンプリングパターン生成部12は、暫定パターンpm-2から、各ラインのサンプリング点を削除することによって、各ラインのサンプル数が基準値になるようにサンプリングパターンを生成してもよい。
 サンプリングパターン生成部12は、削除するサンプリング点を、より小さい設定半径に基づいたPDSにより確定されたサンプリング点から順に決定してもよい。
 サンプリングパターン生成部12は、冗長密度が大きいサンプリング点を優先的に削除してもよい。
 上記の方法によると、第1の実施形態と同様、冗長度のばらつきが少なく、かつ各ラインのサンプル数が等しいサンプリングパターンが生成される。
 (方法2)
 サンプリングパターン生成部12は、pm-2に相当するサンプリングパターンのみを、暫定パターンとして生成してもよい。そして、サンプリングパターン生成部12は、暫定パターンpm-2から、各ラインのサンプリング点を削除することによって、各ラインのサンプル数が基準値になるようにサンプリングパターンを生成してもよい。この場合、サンプリングパターン生成部12は、削除するサンプリング点を、各サンプリング点の冗長密度に基づいて決定してもよい。すなわち、サンプリングパターン生成部12は、冗長密度がより大きいサンプリング点から順に、サンプリング点を削除してもよい。
 (方法3)
 サンプリングパターン生成部12は、PDSを行わず、次のような手順でサンプリングパターンを生成してもよい。
ステップS1:各ラインにおいて、基準値に等しい数の点を、たとえばランダムに、仮のサンプリング点として選択する。
ステップS2:冗長度が「0」である画素が無くなるように、仮のサンプリング点をラインの方向に移動させる補正を行う。
 ステップS2の冗長度は、仮のサンプリング点に基づきブロックが生成される場合の、当該画素を含むブロックの個数、である。
 ステップS2において、サンプリングパターン生成部12は、たとえば、冗長度が「0」である画素を特定する。そして、サンプリングパターン生成部12は、その画素を含むライン、または、そのラインからtDCT行以内の距離にあるそのラインよりも上のラインに存在する、仮のサンプリング点のいずれか少なくとも一つを、ライン方向に、冗長度が「0」である点の近傍に移動させる。近傍とは、冗長度が「0」である点が含まれるようなブロックのサンプリング点となりうる点の位置である。
 サンプリングパターン生成部12は、仮のサンプリング点のそれぞれの冗長密度を計算し、冗長密度が最も大きな仮のサンプリング点を移動させてもよい。
 また、サンプリングパターン生成部12は、冗長度の範囲を設定し、冗長度がその範囲から外れる画素位置がなくなるように、仮のサンプリング点を移動させてもよい。
 以上のような方法によっても、サンプリングパターン生成部12は、冗長度のばらつきが少なく、かつ各ラインのサンプル数が等しいサンプリングパターンを生成できる。
 上記で説明された方法は例である。当業者は、各ラインのサンプル数が等しいサンプリングパターンを生成する方法について、様々な変更をすることができる。
 <<主構成>>
 本発明の一実施形態に係るパターン生成装置101について説明する。図17は、パターン生成装置101の構成を示すブロック図である。パターン生成装置101は、主生成部105と出力制御部106とを備える。
 主生成部105は、サンプリングパターンを、当該サンプリングパターンにおける複数の行におけるサンプリング点の数が基準値に等しくなるように、生成する。サンプリングパターンとは、画像におけるサンプリング点の位置のパターンである。サンプリング点とは、ブロックごとの画像処理に用いられるブロックの位置を示す点である。
 上記各実施形態における、決定パターン生成部123、サンプリングパターン生成部241、および変形例のサンプリングパターン生成部12は、主生成部105の一例である。
 以下、主生成部105により生成されるサンプリングパターンを、「主サンプリングパターン」とも称す。上記各実施形態の「決定パターン」、サンプリングパターン生成部241により生成されるサンプリングパターン、および、変形例のサンプリングパターン生成部12により生成されるサンプリングパターンは、主サンプリングパターンの例である。
 出力制御部106は、主サンプリングパターンを出力する制御を行う。具体的には、たとえば、出力制御部106は、表示装置または画像処理装置に主サンプリングパターンのデータを送出し、通信ネットワークに主サンプリングパターンのデータを送出し、または記憶媒体に主サンプリングパターンのデータを書き込む。出力制御部106は、上記の出力制御のいずれか2つ以上を行ってもよい。
 上記各実施形態における、出力制御部13、決定パターン生成部123、サンプリングパターン記憶部30、およびサンプリングパターン生成部241は、出力制御部106の一例である。
 パターン生成装置101の動作の流れを、図18のフローチャートを参照しながら説明する。まず、主生成部105が、主サンプリングパターンを、当該主サンプリングパターンにおける複数の行におけるサンプリング点の数が基準値に等しくなるように、生成する(ステップS181)。そして、出力制御部106が、主サンプリングパターンを出力する制御を行う(ステップS182)。
 パターン生成装置101によれば、サンプリングされたブロックに対する処理を含む画像処理の効率を向上させ得るサンプリングパターンを得ることができる。その理由は、主生成部105が、複数のラインにおけるサンプル数が等しいサンプリングパターンを生成し、出力制御部106がそのサンプリングパターンの出力制御を行うからである。特に、主生成部105が、全てのラインにおけるサンプル数が等しいサンプリングパターンを生成した場合、画像処理において、各ラインにおける処理の偏りが抑えられるため、画像処理の効率が向上する。
 なお、パターン生成装置は、図19のように、副生成部104を備えていてもよい。図19は、副生成部104を備えるパターン生成装置102の構成を示すブロック図である。
 副生成部104は、第1のサンプリングパターンと、第1のサンプリングパターンにさらにサンプリング点を追加することにより生成される第2のサンプリングパターンを生成する。上記各実施形態における、PDS実行部121、および、詳細パターン生成部141は、副生成部104の一例である。暫定パターンp0, … , pm-2およびベースパターンは、第1のサンプリングパターンの例である。暫定パターンp1, … , pm-1は、第2のサンプリングパターンの例である。
 主生成部105は、第1のサンプリングパターンにおいてサンプリング点の数が基準値を下回る行を特定し、第1のサンプリングパターンに対して、当該行におけるサンプリング点の数が基準値に等しくなるように、第2のサンプリングパターンに含まれるサンプリング点を追加することにより、主サンプリングパターンを生成する。
 これにより、より冗長度のばらつきが小さい、すなわち、サンプリング点が偏らない、サンプリングパターンが生成されることが期待される。
 <<実施形態の各部を実現するハードウェアの構成>>
 以上、説明した本発明の各実施形態において、各装置の各構成要素は、機能単位のブロックを示している。
 各構成要素の処理は、たとえば、コンピュータシステムが、コンピュータ読み取り可能な記憶媒体により記憶された、その処理をコンピュータシステムに実行させるプログラムを、読み込み、実行することによって、実現されてもよい。「コンピュータ読み取り可能な記憶媒体」は、たとえば、光ディスク、磁気ディスク、光磁気ディスク、および不揮発性半導体メモリ等の可搬媒体、ならびに、コンピュータシステムに内蔵されるROM(Read Only Memory)およびハードディスク等の記憶装置である。「コンピュータ読み取り可能な記憶媒体」は、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントにあたるコンピュータシステム内部の揮発性メモリのように、プログラムを一時的に保持しているものも含む。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、更に前述した機能をコンピュータシステムにすでに記憶されているプログラムとの組み合わせで実現できるものであってもよい。
 「コンピュータシステム」とは、一例として、図20に示されるようなコンピュータ900を含むシステムである。コンピュータ900は、以下のような構成を含む。
・CPU(Central Processing Unit)901
・ROM902
・RAM(Random Access Memory)903
・RAM903へロードされるプログラム904Aおよび記憶情報904B
・プログラム904Aおよび記憶情報904Bを格納する記憶装置905
・記憶媒体906の読み書きを行うドライブ装置907
・通信ネットワーク909と接続する通信インタフェース908
・データの入出力を行う入出力インタフェース910
・各構成要素を接続するバス911
 たとえば、各実施形態における各装置の各構成要素は、その構成要素の機能を実現するプログラム904AをCPU901がRAM903にロードして実行することで実現される。各装置の各構成要素の機能を実現するプログラム904Aは、例えば、予め、記憶装置905やROM902に格納される。そして、必要に応じてCPU901がプログラム904Aを読み出す。記憶装置905は、たとえば、ハードディスクである。プログラム904Aは、通信ネットワーク909を介してCPU901に供給されてもよいし、予め記憶媒体906に格納されており、ドライブ装置907に読み出され、CPU901に供給されてもよい。なお、記憶媒体906は、たとえば、光ディスク、磁気ディスク、光磁気ディスク、および不揮発性半導体メモリ等の、可搬媒体である。
 各装置の実現方法には、様々な変形例がある。例えば、各装置は、構成要素毎にそれぞれ別個のコンピュータ900とプログラムとの可能な組み合わせにより実現されてもよい。また、各装置が備える複数の構成要素が、一つのコンピュータ900とプログラムとの可能な組み合わせにより実現されてもよい。
 また、各装置の各構成要素の一部または全部は、その他の汎用または専用の回路、コンピュータ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。
 各装置の各構成要素の一部または全部が複数のコンピュータや回路等により実現される場合には、複数のコンピュータや回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、コンピュータや回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
 本願発明は以上に説明した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 上記実施形態の一部または全部は以下の付記のようにも記載され得るが、以下には限られない。
 <<付記>>
[付記1]
 ブロックごとの画像処理に用いられる前記ブロックを示すサンプリング点の、画像における位置のパターンであるサンプリングパターンを、当該サンプリングパターンにおける複数の行におけるサンプリング点の数がそれぞれ基準値に等しくなるように生成する、主生成手段と、
 前記主生成手段により生成されるサンプリングパターンである主サンプリングパターンを出力する制御を行う出力制御手段と、
 を備えるパターン生成装置。
[付記2]
 前記主生成手段は、前記主サンプリングパターンを、全ての行においてサンプリング点の数が前記基準値に等しくなるように生成する、
 付記1に記載のパターン生成装置。
[付記3]
 第1のサンプリングパターンと、前記第1のサンプリングパターンにさらにサンプリング点を追加することにより生成される第2のサンプリングパターンを生成する、副生成手段をさらに備え、
 前記主生成手段は、前記第1のサンプリングパターンにおいてサンプリング点の数が前記基準値を下回る行を特定し、前記第1のサンプリングパターンに対して、当該行におけるサンプリング点の数が前記基準値に等しくなるように、前記第2のサンプリングパターンに含まれるサンプリング点を追加することにより、前記主サンプリングパターンを生成する、
 付記1または2に記載のパターン生成装置。
[付記4]
 前記副生成手段は、前記第1のサンプリングパターンに対して段階的にサンプリング点を追加することにより、前記第2のサンプリングパターンとして複数のサンプリングパターンを生成し、
 前記主生成手段は、前記複数のサンプリングパターンに含まれるサンプリング点のうち、より早い段階において生成されたサンプリングパターンに含まれるサンプリング点から順に、サンプリング点を前記第1のサンプリングパターンに追加する、
 付記3に記載のパターン生成装置。
[付記5]
 前記副生成手段は、段階の進行に従って設定値を減少させ、前記複数のサンプリングパターンを、各サンプリング点が互いに前記設定値以上の距離にあるように生成する、
 付記4に記載のパターン生成装置。
[付記6]
 前記主生成手段は、前記第1のサンプリングパターンに基づき特定される前記ブロックのそれぞれの位置に基づき、前記第1のサンプリングパターンにおける位置のそれぞれについて当該位置を含む前記ブロックの数である冗長度を算出し、前記冗長度に基づいて、追加するサンプリング点を決定する、
 付記3から5のいずれか一つに記載のパターン生成装置。
[付記7]
 前記主生成手段は、前記第2のサンプリングパターンに含まれるサンプリング点から、前記画像処理が行われる画像における、当該サンプリング点に基づく所定の範囲の画素値の統計的な情報に基づき、追加するサンプリング点を決定する、
 付記3から6のいずれか一つに記載のパターン生成装置。
[付記8]
 前記出力制御手段は、前記主サンプリングパターンに基づき特定される前記ブロックのいずれにも含まれない画素が存在する場合はエラーを示す情報を出力する制御を行う、
 付記1から7のいずれか一つに記載のパターン生成装置。
[付記9]
 付記1から8のいずれか一つに記載のパターン生成装置により生成された前記主サンプリングパターンを前記出力制御手段から受け取り、前記主サンプリングパターンに基づく前記ブロックごとの画像処理を行うことにより新たな画像を生成する画像処理手段を備える、画像処理装置。
[付記10]
 前記主サンプリングパターンに基づいて特定される前記ブロックごとに所定の周波数変換を適用することで変換係数を算出する周波数変換手段と、
 所定の閾値に満たない前記変換係数をゼロに変更する補正を行うことで、新たな変換係数を算出する係数処理手段と、
 前記新たな変換係数ごとに前記周波数変換の逆変換を適用することで、画像ブロックを生成する逆周波数変換手段と、
 前記画像ブロックを統合することで画像を生成する統合手段と、
 をさらに備える、
 付記9に記載の画像処理装置。
[付記11]
 ブロックごとの画像処理に用いられる前記ブロックを示すサンプリング点の、画像における位置のパターンであるサンプリングパターンを、当該サンプリングパターンにおける複数の行におけるサンプリング点の数がそれぞれ基準値に等しくなるように生成し、
 前記生成したサンプリングパターンである主サンプリングパターンを出力する制御を行う、
 を備えるパターン生成方法。
[付記12]
 前記主サンプリングパターンを、全ての行においてサンプリング点の数が前記基準値に等しくなるように生成する、
 付記11に記載のパターン生成方法。
[付記13]
 第1のサンプリングパターンと、前記第1のサンプリングパターンにさらにサンプリング点を追加することにより生成される第2のサンプリングパターンを生成し、
 前記第1のサンプリングパターンにおいてサンプリング点の数が前記基準値を下回る行を特定し、前記第1のサンプリングパターンに対して、当該行におけるサンプリング点の数が前記基準値に等しくなるように、前記第2のサンプリングパターンに含まれるサンプリング点を追加することにより、前記主サンプリングパターンを生成する、
 付記11または12に記載のパターン生成方法。
[付記14]
 前記第1のサンプリングパターンに対して段階的にサンプリング点を追加することにより、前記第2のサンプリングパターンとして複数のサンプリングパターンを生成し、
 前記主サンプリングパターンの生成において、前記複数のサンプリングパターンに含まれるサンプリング点のうち、より早い段階において生成されたサンプリングパターンに含まれるサンプリング点から順に、サンプリング点を前記第1のサンプリングパターンに追加する、
 付記13に記載のパターン生成方法。
[付記15]
 前記複数のサンプリングパターンの生成において、段階の進行に従って設定値を減少させ、前記複数のサンプリングパターンを、各サンプリング点が互いに前記設定値以上の距離にあるように生成する、
 付記14に記載のパターン生成方法。
[付記16]
 前記主サンプリングパターンの生成において、前記第1のサンプリングパターンに基づき特定される前記ブロックのそれぞれの位置に基づき、前記第1のサンプリングパターンにおける位置のそれぞれについて当該位置を含む前記ブロックの数である冗長度を算出し、前記冗長度に基づいて、追加するサンプリング点を決定する、
 付記13から15のいずれか一つに記載のパターン生成方法。
[付記17]
 前記主サンプリングパターンの生成において、前記第2のサンプリングパターンに含まれるサンプリング点から、前記画像処理が行われる画像における、当該サンプリング点に基づく所定の範囲の画素値の統計的な情報に基づき、追加するサンプリング点を決定する、
 付記13から16のいずれか一つに記載のパターン生成方法。
[付記18]
 前記主サンプリングパターンに基づき特定される前記ブロックのいずれにも含まれない画素が存在する場合はエラーを示す情報を出力する制御を行う、
 付記11から17のいずれか一つに記載のパターン生成方法。
[付記19]
 付記11から18のいずれか一つに記載のパターン生成方法により生成された前記主サンプリングパターンを受け取り、前記主サンプリングパターンに基づく前記ブロックごとの画像処理を行うことにより新たな画像を生成する、画像処理方法。
[付記20]
 前記主サンプリングパターンに基づいて特定される前記ブロックごとに所定の周波数変換を適用することで変換係数を算出し、
 所定の閾値に満たない前記変換係数をゼロに変更する補正を行うことで、新たな変換係数を算出し、
 前記新たな変換係数ごとに前記周波数変換の逆変換を適用することで、画像ブロックを生成し、
 前記画像ブロックを統合することで画像を生成する、
 付記19に記載の画像処理方法。
[付記21]
 コンピュータに、
 ブロックごとの画像処理に用いられる前記ブロックを示すサンプリング点の、画像における位置のパターンであるサンプリングパターンを、当該サンプリングパターンにおける複数の行におけるサンプリング点の数がそれぞれ基準値に等しくなるように生成する、主生成処理と、
 前記主生成処理により生成されるサンプリングパターンである主サンプリングパターンを出力する制御を行う出力制御処理と、
 を実行させるプログラム。
[付記22]
 前記主生成処理は、前記主サンプリングパターンを、全ての行においてサンプリング点の数が前記基準値に等しくなるように生成する、
 付記21に記載のプログラム。
[付記23]
 コンピュータに、第1のサンプリングパターンと、前記第1のサンプリングパターンにさらにサンプリング点を追加することにより生成される第2のサンプリングパターンを生成する、副生成処理を実行させ、
 前記主生成処理は、前記第1のサンプリングパターンにおいてサンプリング点の数が前記基準値を下回る行を特定し、前記第1のサンプリングパターンに対して、当該行におけるサンプリング点の数が前記基準値に等しくなるように、前記第2のサンプリングパターンに含まれるサンプリング点を追加することにより、前記主サンプリングパターンを生成する、
 付記21または22に記載のプログラム。
[付記24]
 前記副生成処理は、前記第1のサンプリングパターンに対して段階的にサンプリング点を追加することにより、前記第2のサンプリングパターンとして複数のサンプリングパターンを生成し、
 前記主生成処理は、前記複数のサンプリングパターンに含まれるサンプリング点のうち、より早い段階において生成されたサンプリングパターンに含まれるサンプリング点から順に、サンプリング点を前記第1のサンプリングパターンに追加する、
 付記23に記載のプログラム。
[付記25]
 前記副生成処理は、段階の進行に従って設定値を減少させ、前記複数のサンプリングパターンを、各サンプリング点が互いに前記設定値以上の距離にあるように生成する、
 付記24に記載のプログラム。
[付記26]
 前記主生成処理は、前記第1のサンプリングパターンに基づき特定される前記ブロックのそれぞれの位置に基づき、前記第1のサンプリングパターンにおける位置のそれぞれについて当該位置を含む前記ブロックの数である冗長度を算出し、前記冗長度に基づいて、追加するサンプリング点を決定する、
 付記23から25のいずれか一つに記載のプログラム。
[付記27]
 前記主生成処理は、前記第2のサンプリングパターンに含まれるサンプリング点から、前記画像処理が行われる画像における、当該サンプリング点に基づく所定の範囲の画素値の統計的な情報に基づき、追加するサンプリング点を決定する、
 付記23から26のいずれか一つに記載のプログラム。
[付記28]
 前記出力制御処理は、前記主サンプリングパターンに基づき特定される前記ブロックのいずれにも含まれない画素が存在する場合はエラーを示す情報を出力する制御を行う、
 付記1から7のいずれか一つに記載のプログラム。
[付記29]
 コンピュータに、
 付記1から8のいずれか一つに記載のパターン生成装置により生成された前記主サンプリングパターンを前記出力制御手段から受け取り、前記主サンプリングパターンに基づく前記ブロックごとの画像処理を行うことにより新たな画像を生成する画像加工処理を実行させる、プログラム。
[付記30]
 前記画像加工処理は、
 前記主サンプリングパターンに基づいて特定される前記ブロックごとに所定の周波数変換を適用することで変換係数を算出する周波数変換処理と、
 所定の閾値に満たない前記変換係数をゼロに変更する補正を行うことで、新たな変換係数を算出する係数処理と、
 前記新たな変換係数ごとに前記周波数変換の逆変換を適用することで、画像ブロックを生成する逆周波数変換処理と、
 前記画像ブロックを統合することで画像を生成する統合処理と、
 を含む、
 付記29に記載のプログラム。
[付記31]
 付記21から30のいずれか一項に記載のプログラムを記憶した、コンピュータ読み取り可能な記憶媒体。
 1~3  画像処理装置
 11  パラメータ取得部
 12、14  サンプリングパターン生成部
 121  PDS実行部
 122  差分パターン生成部
 123  決定パターン生成部
 124  暫定パターン記憶部
 125  差分パターン記憶部
 13  出力制御部
 141  詳細パターン生成部
 21  画像取得部
 22、24  ノイズ除去部
 221  ブロック切出部
 222  DCT部
 223  係数処理部
 224  IDCT部
 225  ブロック統合部
 226  正規化部
 22  ノイズ除去部
 23  画像出力制御部
 241  サンプリングパターン生成部
 30  サンプリングパターン記憶部
 100~102  パターン生成装置
 104  副生成部
 105  主生成部
 106  出力制御部
 200  画像処理装置
 900  コンピュータ
 901  CPU
 902  ROM
 903  RAM
 904A  プログラム
 904B  記憶情報
 905  記憶装置
 906  記憶媒体
 907  ドライブ装置
 908  通信インタフェース
 909  通信ネットワーク
 910  入出力インタフェース
 911  バス

Claims (30)

  1.  ブロックごとの画像処理に用いられる前記ブロックを示すサンプリング点の、画像における位置のパターンであるサンプリングパターンを、当該サンプリングパターンにおける複数の行におけるサンプリング点の数がそれぞれ基準値に等しくなるように生成する、主生成手段と、
     前記主生成手段により生成されるサンプリングパターンである主サンプリングパターンを出力する制御を行う出力制御手段と、
     を備えるパターン生成装置。
  2.  前記主生成手段は、前記主サンプリングパターンを、全ての行においてサンプリング点の数が前記基準値に等しくなるように生成する、
     請求項1に記載のパターン生成装置。
  3.  第1のサンプリングパターンと、前記第1のサンプリングパターンにさらにサンプリング点を追加することにより生成される第2のサンプリングパターンを生成する、副生成手段をさらに備え、
     前記主生成手段は、前記第1のサンプリングパターンにおいてサンプリング点の数が前記基準値を下回る行を特定し、前記第1のサンプリングパターンに対して、当該行におけるサンプリング点の数が前記基準値に等しくなるように、前記第2のサンプリングパターンに含まれるサンプリング点を追加することにより、前記主サンプリングパターンを生成する、
     請求項1または2に記載のパターン生成装置。
  4.  前記副生成手段は、前記第1のサンプリングパターンに対して段階的にサンプリング点を追加することにより、前記第2のサンプリングパターンとして複数のサンプリングパターンを生成し、
     前記主生成手段は、前記複数のサンプリングパターンに含まれるサンプリング点のうち、より早い段階において生成されたサンプリングパターンに含まれるサンプリング点から順に、サンプリング点を前記第1のサンプリングパターンに追加する、
     請求項3に記載のパターン生成装置。
  5.  前記副生成手段は、段階の進行に従って設定値を減少させ、前記複数のサンプリングパターンを、各サンプリング点が互いに前記設定値以上の距離にあるように生成する、
     請求項4に記載のパターン生成装置。
  6.  前記主生成手段は、前記第1のサンプリングパターンに基づき特定される前記ブロックのそれぞれの位置に基づき、前記第1のサンプリングパターンにおける位置のそれぞれについて当該位置を含む前記ブロックの数である冗長度を算出し、前記冗長度に基づいて、追加するサンプリング点を決定する、
     請求項3から5のいずれか一項に記載のパターン生成装置。
  7.  前記主生成手段は、前記第2のサンプリングパターンに含まれるサンプリング点から、前記画像処理が行われる画像における、当該サンプリング点に基づく所定の範囲の画素値の統計的な情報に基づき、追加するサンプリング点を決定する、
     請求項3から6のいずれか一項に記載のパターン生成装置。
  8.  前記出力制御手段は、前記主サンプリングパターンに基づき特定される前記ブロックのいずれにも含まれない画素が存在する場合はエラーを示す情報を出力する制御を行う、
     請求項1から7のいずれか一項に記載のパターン生成装置。
  9.  請求項1から8のいずれか一項に記載のパターン生成装置により生成された前記主サンプリングパターンを前記出力制御手段から受け取り、前記主サンプリングパターンに基づく前記ブロックごとの画像処理を行うことにより新たな画像を生成する画像処理手段を備える、画像処理装置。
  10.  前記主サンプリングパターンに基づいて特定される前記ブロックごとに所定の周波数変換を適用することで変換係数を算出する周波数変換手段と、
     所定の閾値に満たない前記変換係数をゼロに変更する補正を行うことで、新たな変換係数を算出する係数処理手段と、
     前記新たな変換係数ごとに前記周波数変換の逆変換を適用することで、画像ブロックを生成する逆周波数変換手段と、
     前記画像ブロックを統合することで画像を生成する統合手段と、
     をさらに備える、
     請求項9に記載の画像処理装置。
  11.  ブロックごとの画像処理に用いられる前記ブロックを示すサンプリング点の、画像における位置のパターンであるサンプリングパターンを、当該サンプリングパターンにおける複数の行におけるサンプリング点の数がそれぞれ基準値に等しくなるように生成し、
     前記生成したサンプリングパターンである主サンプリングパターンを出力する制御を行う、
     を備えるパターン生成方法。
  12.  前記主サンプリングパターンを、全ての行においてサンプリング点の数が前記基準値に等しくなるように生成する、
     請求項11に記載のパターン生成方法。
  13.  第1のサンプリングパターンと、前記第1のサンプリングパターンにさらにサンプリング点を追加することにより生成される第2のサンプリングパターンを生成し、
     前記第1のサンプリングパターンにおいてサンプリング点の数が前記基準値を下回る行を特定し、前記第1のサンプリングパターンに対して、当該行におけるサンプリング点の数が前記基準値に等しくなるように、前記第2のサンプリングパターンに含まれるサンプリング点を追加することにより、前記主サンプリングパターンを生成する、
     請求項11または12に記載のパターン生成方法。
  14.  前記第1のサンプリングパターンに対して段階的にサンプリング点を追加することにより、前記第2のサンプリングパターンとして複数のサンプリングパターンを生成し、
     前記主サンプリングパターンの生成において、前記複数のサンプリングパターンに含まれるサンプリング点のうち、より早い段階において生成されたサンプリングパターンに含まれるサンプリング点から順に、サンプリング点を前記第1のサンプリングパターンに追加する、
     請求項13に記載のパターン生成方法。
  15.  前記複数のサンプリングパターンの生成において、段階の進行に従って設定値を減少させ、前記複数のサンプリングパターンを、各サンプリング点が互いに前記設定値以上の距離にあるように生成する、
     請求項14に記載のパターン生成方法。
  16.  前記主サンプリングパターンの生成において、前記第1のサンプリングパターンに基づき特定される前記ブロックのそれぞれの位置に基づき、前記第1のサンプリングパターンにおける位置のそれぞれについて当該位置を含む前記ブロックの数である冗長度を算出し、前記冗長度に基づいて、追加するサンプリング点を決定する、
     請求項13から15のいずれか一項に記載のパターン生成方法。
  17.  前記主サンプリングパターンの生成において、前記第2のサンプリングパターンに含まれるサンプリング点から、前記画像処理が行われる画像における、当該サンプリング点に基づく所定の範囲の画素値の統計的な情報に基づき、追加するサンプリング点を決定する、
     請求項13から16のいずれか一項に記載のパターン生成方法。
  18.  前記主サンプリングパターンに基づき特定される前記ブロックのいずれにも含まれない画素が存在する場合はエラーを示す情報を出力する制御を行う、
     請求項11から17のいずれか一項に記載のパターン生成方法。
  19.  請求項11から18のいずれか一項に記載のパターン生成方法により生成された前記主サンプリングパターンを受け取り、前記主サンプリングパターンに基づく前記ブロックごとの画像処理を行うことにより新たな画像を生成する、画像処理方法。
  20.  前記主サンプリングパターンに基づいて特定される前記ブロックごとに所定の周波数変換を適用することで変換係数を算出し、
     所定の閾値に満たない前記変換係数をゼロに変更する補正を行うことで、新たな変換係数を算出し、
     前記新たな変換係数ごとに前記周波数変換の逆変換を適用することで、画像ブロックを生成し、
     前記画像ブロックを統合することで画像を生成する、
     請求項19に記載の画像処理方法。
  21.  コンピュータに、
     ブロックごとの画像処理に用いられる前記ブロックを示すサンプリング点の、画像における位置のパターンであるサンプリングパターンを、当該サンプリングパターンにおける複数の行におけるサンプリング点の数がそれぞれ基準値に等しくなるように生成する、主生成処理と、
     前記主生成処理により生成されるサンプリングパターンである主サンプリングパターンを出力する制御を行う出力制御処理と、
     を実行させるプログラムを記億した、コンピュータ読み取り可能な記憶媒体。
  22.  前記主生成処理は、前記主サンプリングパターンを、全ての行においてサンプリング点の数が前記基準値に等しくなるように生成する、
     請求項21に記載の記憶媒体。
  23.  前記プログラムは、コンピュータに、第1のサンプリングパターンと、前記第1のサンプリングパターンにさらにサンプリング点を追加することにより生成される第2のサンプリングパターンを生成する、副生成処理を実行させ、
     前記主生成処理は、前記第1のサンプリングパターンにおいてサンプリング点の数が前記基準値を下回る行を特定し、前記第1のサンプリングパターンに対して、当該行におけるサンプリング点の数が前記基準値に等しくなるように、前記第2のサンプリングパターンに含まれるサンプリング点を追加することにより、前記主サンプリングパターンを生成する、
     請求項21または22に記載の記憶媒体。
  24.  前記副生成処理は、前記第1のサンプリングパターンに対して段階的にサンプリング点を追加することにより、前記第2のサンプリングパターンとして複数のサンプリングパターンを生成し、
     前記主生成処理は、前記複数のサンプリングパターンに含まれるサンプリング点のうち、より早い段階において生成されたサンプリングパターンに含まれるサンプリング点から順に、サンプリング点を前記第1のサンプリングパターンに追加する、
     請求項23に記載の記憶媒体。
  25.  前記副生成処理は、段階の進行に従って設定値を減少させ、前記複数のサンプリングパターンを、各サンプリング点が互いに前記設定値以上の距離にあるように生成する、
     請求項24に記載の記憶媒体。
  26.  前記主生成処理は、前記第1のサンプリングパターンに基づき特定される前記ブロックのそれぞれの位置に基づき、前記第1のサンプリングパターンにおける位置のそれぞれについて当該位置を含む前記ブロックの数である冗長度を算出し、前記冗長度に基づいて、追加するサンプリング点を決定する、
     請求項23から25のいずれか一項に記載の記憶媒体。
  27.  前記主生成処理は、前記第2のサンプリングパターンに含まれるサンプリング点から、前記画像処理が行われる画像における、当該サンプリング点に基づく所定の範囲の画素値の統計的な情報に基づき、追加するサンプリング点を決定する、
     請求項23から26のいずれか一項に記載の記憶媒体。
  28.  前記出力制御処理は、前記主サンプリングパターンに基づき特定される前記ブロックのいずれにも含まれない画素が存在する場合はエラーを示す情報を出力する制御を行う、
     請求項21から27のいずれか一項に記載の記憶媒体。
  29.  コンピュータに、
     請求項1から8のいずれか一項に記載のパターン生成装置により生成された前記主サンプリングパターンを前記出力制御手段から受け取り、前記主サンプリングパターンに基づく前記ブロックごとの前記画像処理を行うことにより新たな画像を生成する画像加工処理を実行させるプログラムを記億した、コンピュータ読み取り可能な記憶媒体。
  30.  前記画像加工処理は、
     前記主サンプリングパターンに基づいて特定される前記ブロックごとに所定の周波数変換を適用することで変換係数を算出する周波数変換処理と、
     所定の閾値に満たない前記変換係数をゼロに変更する補正を行うことで、新たな変換係数を算出する係数処理と、
     前記新たな変換係数ごとに前記周波数変換の逆変換を適用することで、画像ブロックを生成する逆周波数変換処理と、
     前記画像ブロックを統合することで画像を生成する統合処理と、
     を含む、
     請求項29に記載の記憶媒体。
PCT/JP2017/000204 2017-01-06 2017-01-06 パターン生成装置、画像処理装置、パターン生成方法、及びプログラムを記憶した記憶媒体 WO2018127963A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018560293A JP6763442B2 (ja) 2017-01-06 2017-01-06 パターン生成装置、画像処理装置、パターン生成方法、及びプログラムを記憶した記憶媒体
PCT/JP2017/000204 WO2018127963A1 (ja) 2017-01-06 2017-01-06 パターン生成装置、画像処理装置、パターン生成方法、及びプログラムを記憶した記憶媒体
US16/474,128 US11120295B2 (en) 2017-01-06 2017-01-06 Pattern generation device, image processing device, pattern generation method, and storage medium on which program is stored

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/000204 WO2018127963A1 (ja) 2017-01-06 2017-01-06 パターン生成装置、画像処理装置、パターン生成方法、及びプログラムを記憶した記憶媒体

Publications (1)

Publication Number Publication Date
WO2018127963A1 true WO2018127963A1 (ja) 2018-07-12

Family

ID=62790990

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/000204 WO2018127963A1 (ja) 2017-01-06 2017-01-06 パターン生成装置、画像処理装置、パターン生成方法、及びプログラムを記憶した記憶媒体

Country Status (3)

Country Link
US (1) US11120295B2 (ja)
JP (1) JP6763442B2 (ja)
WO (1) WO2018127963A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3786147A1 (de) 2019-08-30 2021-03-03 Röhm GmbH Verfahren zur herstellung von methacrolein aus formaldehyd und propionaldehyd sowie herstellanlage hierfür
EP3786146A1 (de) 2019-08-30 2021-03-03 Röhm GmbH Verfahren zur herstellung von methacrolein aus formaldehyd und propionaldehyd sowie herstellanlage hierfür

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6763442B2 (ja) * 2017-01-06 2020-09-30 日本電気株式会社 パターン生成装置、画像処理装置、パターン生成方法、及びプログラムを記憶した記憶媒体

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06133287A (ja) * 1992-10-15 1994-05-13 Sony Corp 高能率符号化装置
JP2006165930A (ja) * 2004-12-07 2006-06-22 Dainippon Screen Mfg Co Ltd ディザマトリクス生成方法およびディザマトリクス
JP2010039662A (ja) * 2008-08-04 2010-02-18 Dainippon Printing Co Ltd 皮革形状データ生成装置、皮革形状データ生成方法及び皮革形状データ生成プログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5925266B2 (ja) * 1977-04-18 1984-06-15 株式会社日立製作所 画像の標本点取出方法
US5416851A (en) * 1991-07-30 1995-05-16 Xerox Corporation Image analysis based on location sampling
JP2000165252A (ja) * 1998-11-18 2000-06-16 Neucore Technol Inc データ圧縮方法および装置
JP2004080273A (ja) * 2002-08-14 2004-03-11 Sony Corp 画像符号化装置及び方法、並びにプログラム及び記録媒体
US8098962B2 (en) * 2007-11-20 2012-01-17 Kabushiki Kaisha Toshiba Signal processing method, apparatus, and program
JP2012124832A (ja) * 2010-12-10 2012-06-28 Sony Corp 画像処理装置、画像処理方法、及び、プログラム
WO2014192243A1 (ja) * 2013-05-29 2014-12-04 パナソニックIpマネジメント株式会社 撮像装置、復元装置、撮像システム、および、撮像方法
JP6284047B2 (ja) * 2013-05-29 2018-02-28 パナソニックIpマネジメント株式会社 撮像装置および撮像方法
US10554980B2 (en) * 2015-02-23 2020-02-04 Lg Electronics Inc. Method for processing image on basis of intra prediction mode and device therefor
US10182244B2 (en) * 2016-03-02 2019-01-15 MatrixView, Inc. Fast encoding loss metric
JP6806136B2 (ja) * 2016-03-10 2021-01-06 日本電気株式会社 画像処理装置、画像処理方法及びプログラム
JP6763442B2 (ja) * 2017-01-06 2020-09-30 日本電気株式会社 パターン生成装置、画像処理装置、パターン生成方法、及びプログラムを記憶した記憶媒体
US11190746B2 (en) * 2018-12-21 2021-11-30 Google Llc Real-time spacetime stereo using spacetime descriptors
US10672151B1 (en) * 2019-01-07 2020-06-02 Uih America, Inc. Systems and methods for magnetic resonance image reconstruction

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06133287A (ja) * 1992-10-15 1994-05-13 Sony Corp 高能率符号化装置
JP2006165930A (ja) * 2004-12-07 2006-06-22 Dainippon Screen Mfg Co Ltd ディザマトリクス生成方法およびディザマトリクス
JP2010039662A (ja) * 2008-08-04 2010-02-18 Dainippon Printing Co Ltd 皮革形状データ生成装置、皮革形状データ生成方法及び皮革形状データ生成プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FUJITA, SHU ET AL.: "Basical Study on Randomized Redundant DCT for Efficient Denoising", IEICE TECHNICAL REPORT, vol. 115, no. 349, 26 November 2015 (2015-11-26), pages 39 - 44, ISSN: 0913-5685 *
SHU FUJITA: "Randomized Redundant DCT: Efficient Denoising by Using Random Subsampling of DCT Patches", PROCEEDING SA' 15 SIGGRAPH ASIA 2015 TECHNICAL BRIEFS, vol. 11, 7, 2015, XP058077388 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3786147A1 (de) 2019-08-30 2021-03-03 Röhm GmbH Verfahren zur herstellung von methacrolein aus formaldehyd und propionaldehyd sowie herstellanlage hierfür
EP3786146A1 (de) 2019-08-30 2021-03-03 Röhm GmbH Verfahren zur herstellung von methacrolein aus formaldehyd und propionaldehyd sowie herstellanlage hierfür
WO2021037669A1 (de) 2019-08-30 2021-03-04 Röhm Gmbh Verfahren zur herstellung von methacrolein aus formaldehyd und propionaldehyd sowie herstellanlage hierfür
WO2021037671A1 (de) 2019-08-30 2021-03-04 Röhm Gmbh Verfahren zur herstellung von methacrolein aus formaldehyd und propionaldehyd sowie herstellanlage hierfür

Also Published As

Publication number Publication date
US11120295B2 (en) 2021-09-14
US20190354798A1 (en) 2019-11-21
JP6763442B2 (ja) 2020-09-30
JPWO2018127963A1 (ja) 2019-11-07

Similar Documents

Publication Publication Date Title
US7844116B2 (en) Method for identifying images after cropping
US11600031B2 (en) Font creation apparatus, font creation method, and font creation program
WO2018127963A1 (ja) パターン生成装置、画像処理装置、パターン生成方法、及びプログラムを記憶した記憶媒体
JP5173898B2 (ja) 画像処理方法、画像処理装置、及びプログラム
WO2015180053A1 (zh) 一种快速超分辨率图像重建方法和装置
GB2489272A (en) Segmentation of images into superpixels
Roy et al. Fractal image compression using upper bound on scaling parameter
JP2020149156A (ja) データ圧縮装置、データ処理装置、データ圧縮方法、プログラム、及び学習済みモデル
Cui et al. Multi-stage residual hiding for image-into-audio steganography
US20160198051A1 (en) Image processing system, image output device, and image processing method
CN108966042B (zh) 一种基于最短路径的视频摘要生成方法及装置
JP2007198912A (ja) 画像検査装置、画像検査方法、コンピュータを画像検査装置として機能させるためのプログラムおよび記録媒体
US6304678B1 (en) Image artifact reduction using maximum likelihood parameter estimation
JP2006270737A (ja) 復号化装置、分布推定方法、復号化方法及びこれらのプログラム
Wang et al. High-capacity reversible data hiding based on multi-histogram modification
CN110674796B (zh) 纹理砖解压缩方法
JP2015064625A (ja) 画像処理装置、画像処理方法およびプログラム
CN114390154A (zh) 基于信道匹配网络选择嵌入通道的鲁棒隐写方法及***
JP7244738B2 (ja) 差異検出装置及び差異検出プログラム
Jiajia et al. Minimum structural similarity distortion for reversible data hiding
JP4307485B2 (ja) 画像処理装置及び画像処理方法
JP2008123245A (ja) 画像処理装置及び画像処理プログラム
CN111726639A (zh) 纹理砖压缩及解压缩方法以及使用该方法的装置
JP7485983B2 (ja) マッピング関数調整装置、マッピング関数調整方法およびプログラム
JP5557792B2 (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: 17890358

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018560293

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17890358

Country of ref document: EP

Kind code of ref document: A1