WO2011118224A1 - ぼかし画像取得装置及び方法 - Google Patents

ぼかし画像取得装置及び方法 Download PDF

Info

Publication number
WO2011118224A1
WO2011118224A1 PCT/JP2011/001755 JP2011001755W WO2011118224A1 WO 2011118224 A1 WO2011118224 A1 WO 2011118224A1 JP 2011001755 W JP2011001755 W JP 2011001755W WO 2011118224 A1 WO2011118224 A1 WO 2011118224A1
Authority
WO
WIPO (PCT)
Prior art keywords
sat
cache
image data
row
value
Prior art date
Application number
PCT/JP2011/001755
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 US13/637,020 priority Critical patent/US8970614B2/en
Priority to JP2012506859A priority patent/JP5689871B2/ja
Publication of WO2011118224A1 publication Critical patent/WO2011118224A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Definitions

  • the present invention relates to an apparatus and method for acquiring a blurred image in computer graphics.
  • Japanese Patent Application Laid-Open No. 2006-72829 discloses a system that acquires a blurred image using an area summation table (summed-area tables).
  • an area sum table (SAT) is obtained based on the input image.
  • the value of SAT at the coordinates (x, y) of a certain pixel is set to sat (x, y).
  • pixel data of the input pixel be i (x, y).
  • sat (x, y) is a value obtained by the following Equation 1.
  • sat (-1, y), sat (x, -1), and sat (-1, -1) are set to 0 (zero).
  • Table 1 below shows an example of virtual image original data and area total table (SAT) composed of 4 ⁇ 4 pixels.
  • FIG. 1 is a diagram for explaining the concept of the area summation table.
  • a point means a pixel having coordinates (x, y). Sat (x, y) for obtaining the blurred image data of the point (x, y) indicated by the black circle in FIG. 1 can be expressed as the following Expression 3.
  • Equation 4 The coordinates (X r , Y t ), (X r , Y b ), (X l , Y t ), and the point (x, y) existing at the center of (X l , Y b ) in FIG.
  • the blurred image data is given by Equation 4 below.
  • an arbitrary average image can be obtained by appropriately adjusting w and h (which are also expressed as a filter degree W).
  • FIG. 2 shows an example of a blurred image using an area total table (SAT).
  • SAT area total table
  • SAT area total table
  • an object of the present invention is to provide an apparatus and a method for acquiring a blurred image that can reduce a required storage capacity in computer graphics.
  • the first aspect of the present invention relates to a system for obtaining blurred image data for computer graphics.
  • the example of the system of the present invention can be realized by a computer equipped with a graphic processing chip and software.
  • the computer has image processing hardware.
  • the control unit receives processing from the main program stored in the main memory.
  • the control unit appropriately reads data stored in the storage unit, and causes the calculation unit to perform calculation processing using the input data.
  • the calculation process in this calculation unit includes a blurred image process described later.
  • the result of the arithmetic processing is appropriately stored in the storage unit and is output to a monitor or the like.
  • Each function and means of the present invention described below may be implemented by hardware such as a circuit, a chip, and a core, or may be realized by cooperation of an arithmetic processing circuit or the like and software. .
  • the input image data at the coordinates (X, Y) is i (X, Y).
  • the blurred image data at the coordinates (x, y) is defined as I Blur (x, y). Basically, the blurred image is obtained for all the pixels existing on the screen. As will be described later, the blurred image data is data obtained by blurring information necessary for computer graphics, such as color (red) and transparency.
  • Sat (x, y) sat (X r , Y t ) ⁇ sat (X r , Y b ) ⁇ sat (X l , Y t ) + sat (X l , Y b ).
  • Formula II It is. In the coordinate value of y, t means the top and b means the bottom.
  • This system may be implemented only by hardware.
  • This system may be implemented by hardware and software.
  • this system has an input / output unit, a control unit, a calculation unit, and a storage unit. These elements are connected so that information can be exchanged via a bus or the like.
  • a control program is stored in the storage unit.
  • the control unit reads the control program stored in the storage unit, appropriately reads the information from the storage unit, and performs calculation processing in the calculation unit.
  • the result of arithmetic processing is memorize
  • the result of the arithmetic processing is output from the input / output unit.
  • This system has input image data input means for receiving input image data i (X, Y).
  • This system has sat calculation means for obtaining the value of sat shown by the formula I using the input image data i (X, Y) received by the input image data input means.
  • the sat calculation means obtains the value of sat (X, 0) in order from sat (0, 0) using i (X, 0). In this case, this value can be obtained by reading and adding sat (X-1, 0) and i (X, 0). From the second line onwards, i (X, Y), sat (X-1, Y), sat (X, Y-1), and sat (X-1, Y-1) are read and added. Or a code conversion process (a process for changing + to-) to obtain a sat value.
  • This system has a cache for storing a sat calculation result for each line obtained by the sat calculation means.
  • the cache includes a first cache and a second cache.
  • the first cache includes a front cache and a back cache.
  • the second cache includes a front cache and a back cache. These caches are specified by flags, for example.
  • This system from the cache, read the value of sat (X r, Y t) , sat (X r, Y b), sat (X l, Y t) and sat (X l, Y b) , Sat ( Sat calculation means for obtaining the value of x, y).
  • the value of Sat (x, y) is as in Formula II. Therefore, the values of sat (X r , Y t ), sat (X r , Y b ), sat (X l , Y t ), and sat (X l , Y b ) are read out, and addition processing or code conversion processing (+ To obtain a Sat value.
  • This system has a blurred image data acquisition unit that uses I Blur (x, y) by using the values of Sat (x, y), w, and h obtained by the Sat calculation unit.
  • I Blur (x, y) is determined by Equation III. Therefore, the value of I Blur (x, y) can be obtained by reading out Sat (x, y), w and h and using a multiplier and a 1 / x circuit.
  • This system can determine the value of I Blur (x, y) as follows.
  • the sat calculation means obtains sat (X, 0) which is the sat value of the first row using the input image data i (X, 0) of the first row. Then, the front cache of the first cache stores sat (X, 0) that is the result of the sat calculation on the first line.
  • the sat calculation means uses the input image data i (X, 1) on the second line and sat (X, 0) which is the sat calculation result on the first line stored in the front cache of the first cache. Then, sat (X, 1) which is the sat value of the second row is obtained. Then, the back cache of the first cache stores sat (X, 1) which is the sat calculation result of the second row.
  • the sat calculation means uses the input image data i (X, 2) on the third line and sat (X, 1) which is the sat calculation result on the second line stored in the back cache of the first cache.
  • sat (X, 3) which is the sat value in the third row is obtained.
  • the front cache of the first cache updates the stored information using sat (X, 2) which is the result of sat calculation on the third line.
  • the sat calculation means uses the input image data i (X, m ⁇ 1) of the m-th row and the sat calculation result of the (m ⁇ 1) -th row stored in the back cache of the first cache.
  • a certain sat (X, m-2) a sat (X, m-1) which is the sat value of the m-th row is obtained.
  • one of the caches updates the stored information using sat (X, m ⁇ 1) which is the result of sat calculation of the m-th row. This operation is repeated until m becomes Y t ⁇ 2.
  • (Y t -1) is sat operation result of the row sat (X, Y t) to, among the front cache and the first cache back cache of the first cache, sat (X, Y t -
  • the person who has not memorized 1) memorizes it.
  • sat calculating means Y t-th row of the input image data i (X, Y t +1) and, using a sat read from the cache (X, Y t), sat calculation result of Y t th Sat (X, Y t +1) is obtained.
  • the front cache of the second cache stores sat (X, Y t +1) that is the result of the sat operation on the Y t row.
  • the sat calculation means uses the input image data i (X, Y t +2) on the Y t +1 line and sat (X, Y t +1) read from the front cache of the second cache, Sat (X, Y t +2) which is the sat calculation result of the Y t + 1th row is obtained.
  • the back cache of the second cache stores sat (X, Y t +2) that is the sat calculation result of the Y t +1 line.
  • I sat calculating means uses Y t +2 row of input image data i (X, Y t +3) and, sat read from back cache of the second cache (X, Y t +2) and, Sat (X, Y t +3) which is the sat calculation result of the Y t + 2nd row is obtained.
  • the front cache of the second cache updates the record information by using sat (X, Y t +3) which is the sat calculation result of the Y t + 2nd row.
  • sat (X, Y b ) which is the sat operation result of the (Y b ⁇ 1) -th line
  • the one that does not store sat (X, Y b ⁇ 1) stores it.
  • a preferred embodiment of the present invention is the system as described above, wherein i (x, y) is any value of R, G, or B indicating color.
  • a preferred embodiment of the present invention is the system as described above, wherein i (x, y) is one of R, G or B indicating color, or an ⁇ (alpha) value indicating transparency. .
  • a cache storing sat (X, Y t ⁇ 1) among the front cache of the first cache and the back cache of the first cache is transferred from the sat calculation process of the Y t row to the I Blur.
  • the system described above is used as a cache for processing other than obtaining blurred image data until processing for obtaining (x, y).
  • the second aspect of the present invention relates to a system for obtaining blurred image data for computer graphics having a coefficient determination unit 11 and a blurred image acquisition unit 12. Then, the blurred image acquisition unit 12 performs the same operation as that of the system described above.
  • the coordinates of the pixel from which the blurred image data is obtained be (x, y),
  • the input image data at the coordinates (x, y) is i (x, y),
  • the blurred image data at the coordinates (x, y) is I Blur (x, y)
  • From the coordinates (x, y) the points where the x coordinate is different from the predetermined value and the y coordinate is different from the predetermined value are (X r , Y t ), (X r , Y b ), (X l , Y t ) and (X l , Y b ) l (el)> r, b> t
  • a value satisfying the following formula Ia is defined as sat (X, Y)
  • a value satisfying the following formula II is defined as Sat (x, y)
  • the blurred image acquisition unit 12 Input image data input means 20 for receiving the input image data i (X, Y) at the coordinates (X, Y) and receiving the blurring coefficient w (X, Y) from the coefficient determination unit 11;
  • a sat calculation means 21 for obtaining a value of sat shown by the formula Ia using the input image data i (X, Y) received by the input image data input means;
  • caches 22 and 23 for storing the sat calculation results for each line obtained by the sat calculation means; From the cache, sat (X r, Y t ), sat (X r, Y b), sat (X l, Y t) and sat (X l, Y b) reads a value of, Sat (x, y) Sat calculation means 24 for obtaining the value of And a blurred image data acquisition unit 25 using I Blur (x, y) using the value of Sat (x, y) obtained by the Sat calculation unit.
  • the cache includes a first cache 22 and a second cache 23,
  • the first cache includes a front cache 22a and a back cache 22b.
  • the second cache includes a front cache 23a and a back cache 23b.
  • the sat calculation means is Using the input image data i (X, 0) on the first row, sat (X, 0), which is the sat value on the first row,
  • the front cache of the first cache is The sat (X, 0) that is the result of the sat calculation in the first row is stored.
  • the sat calculation means is Using the input image data i (X, 1) on the second line and sat (X, 0) that is the sat calculation result of the first line stored in the front cache of the first cache, the sat value on the second line Find sat (X, 1)
  • the back cache of the first cache is It stores sat (X, 1) which is the result of sat calculation in the second row.
  • the sat calculation means is Using the input image data i (X, 2) on the third line and sat (X, 1) that is the sat calculation result of the second line stored in the back cache of the first cache, the sat value on the third line Find sat (X, 3), The front cache of the first cache updates the stored information using sat (X, 2) that is the result of the sat calculation on the third line.
  • the sat (X, Y t ) that is the result of the sat operation on the (Y t ⁇ 1) -th line is determined as sat (X, Y t ⁇ 1) among the front cache of the first cache and the back cache of the first cache. Those who do not remember memorize.
  • the sat calculation means is Y t th input image data i (X, Y t +1) and, read from cache sat (X, Y t) by using the a sat calculation result of Y t row sat (X, Y t +1)
  • the front cache of the second cache is Sat (X, Y t +1) that is the result of sat calculation in the Y t row is stored.
  • the sat calculation means is Y t +1 line of input image data i (X, Y t +2) and, sat read from front cache of the second cache (X, Y t +1) using a, Y t +1 row sat operation Find the result sat (X, Y t +2),
  • the back cache of the second cache is Sat (X, Y t +2) that is the sat calculation result of the Y t + 1th row is stored.
  • the sat calculation means is Y t +2 row of input image data i (X, Y t +3) and, sat read from back cache of the second cache (X, Y t +2) with a, Y t +2 row sat operation Obtain sat (X, Y t +3) as a result,
  • the front cache of the second cache is The record information is updated using sat (X, Y t +3) which is the sat calculation result of the Y t + 2nd row.
  • One of the front cache of the second cache and the back cache of the second cache stores the sat (X, Y b -1) that is the result of the sat calculation on the (Y b -2) line.
  • sat (X, Y b ) which is the sat operation result of the (Y b ⁇ 1) -th line
  • the one that does not store sat (X, Y b -1) stores it
  • sat (X, Y) w (X, Y) ⁇ i (X, Y) + sat (X ⁇ 1, Y) + sat (X, Y ⁇ 1) ⁇ sat (X ⁇ 1, Y ⁇ 1)..
  • Formula Ia when X-1 is -1, sat (X-1, Y) and sat (X-1, Y-1) are set to 0, and Y-1 is -1. Sets sat (X, Y-1) and sat (X-1, Y-1) to 0.
  • the coefficient determining unit 11 An input means for inputting information on the depth z (X, Y) or the depth d (X, Y) of the input image data i (X, Y); Threshold input means for inputting the first threshold A and the second threshold B; Comparison operation means for comparing the depth z (X, Y) or the depth d (X, Y) with the first threshold value A and the second threshold value B; Coefficient determining means for determining the coefficient w (X, Y) according to the comparison result of the comparison operation means; The coefficient determining means sets w (X, Y) to 0 when the depth z (X, Y) or the depth d (X, Y) is greater than or equal to the first threshold A, When the depth z (X, Y) or the depth d (X, Y) is equal to or smaller than the second threshold value B, w (X, Y) is set to 1.
  • w (X, Y) is set to a value between 0 and 1.
  • the comparison calculation means compares the depth z (X, Y) or the depth d (X, Y) with the first threshold value A and the second threshold value B.
  • the coefficient determining means determines the coefficient w (X, Y) according to the comparison result of the comparison operation means.
  • the coefficient determination unit sets w (X, Y) to 0 when the depth z (X, Y) or the depth d (X, Y) is equal to or greater than the first threshold A.
  • the coefficient determining means sets w (X, Y) to 1 when the depth z (X, Y) or the depth d (X, Y) is equal to or smaller than the second threshold value B.
  • the coefficient determining means sets w (X, Y) from 0 to 1.
  • Arithmetic processing is performed so as to obtain an intermediate value. For example, Az / AB or Ad / AB may be set to w (X, Y), or the value of w (X, Y) may be read from a lookup table.
  • the coefficient determining unit 11 Object input means for inputting the input image data i (X, Y) and the identification number of the object in the computer bracket and for inputting information on the object to be blurred image processing; Using the information on the target object of the blurred image processing, the identification number of the target object, and the input image data i (X, Y), the target object of the blurred image processing is grasped and becomes the target of the blurred image.
  • Coefficient determining means for setting a blur coefficient w (X, Y) relating to the object to 1; System.
  • the input image data i (X, Y) and the identification number of the target in the computer bracket are input to the target input means, and information about the target that is the target of the blurred image processing is input.
  • the coefficient determining means grasps the target object to be subjected to the blur image processing using the information on the target object to be subjected to the blur image processing, the identification number of the target object, and the input image data i (X, Y).
  • a blur coefficient w (X, Y) regarding an object to be a blurred image target is set to 1.
  • a preferred embodiment of this aspect is The coefficient determination unit 11
  • Object input means for inputting the input image data i (X, Y) and the identification number of the object in the computer bracket and for inputting information on the object to be blurred image processing;
  • Mask area acquisition means for obtaining a mask area for the pixel data portion of the object specified by the object input means;
  • Mask area image data acquisition means for obtaining new image data of the mask area acquired by the mask area acquisition means;
  • Coefficient determining means for determining the coefficient w (x, y) of the mask area as 1;
  • Have The blurred image acquisition unit 12 Regarding the mask area determined by the coefficient determination unit 11, The coefficient w (x, y) 1 is received and new image data is received as input image data. Get a blurred image of the mask of the object, System.
  • the object input means receives input image data i (X, Y) and an identification number of the object in the computer bracket, and information related to the object to be subjected to the blurred image processing.
  • the mask area acquisition means obtains a mask area for the pixel data portion of the object specified by the object input means. This mask area is an area indicating the position of the object on the graphic.
  • the image data acquisition means acquires new image data of the mask area acquired by the mask area acquisition means. For example, when it is desired to dimly illuminate an object, light color information may be read from a database or the like as mask color information.
  • the coefficient determining means determines the coefficient w (x, y) of the mask area as 1.
  • the present invention also provides a program for causing a computer to function as the above system.
  • the present invention also provides a computer-readable information recording medium storing such a program.
  • FIG. 2 shows an example of a blurred image using an area total table (SAT).
  • FIG. 3 is a conceptual diagram for explaining the blurred image data.
  • FIG. 4 is a block diagram of a system according to the second embodiment.
  • FIG. 5 is a circuit diagram for implementing the blurred image generation system of the present invention.
  • FIG. 6 is a circuit diagram for implementing the blurred image generation system of the present invention.
  • FIG. 5 is a circuit diagram for implementing the blurred image generation system of the present invention.
  • FIG. 7 is a block diagram showing a hardware configuration for obtaining the blurred image technique of the present invention.
  • FIG. 8 is a block diagram for explaining the post-effect core.
  • FIG. 9 is a diagram for explaining pixel positions of P t , P xy , and P b .
  • FIG. 10 is a block diagram of a hardware implementation for realizing the blur calculation process.
  • FIG. 11A shows an image obtained by extracting only a target near the viewpoint from a certain scene.
  • FIG. 11B shows a blurred image using the mask of FIG.
  • FIG. 11C is a diagram illustrating a smooth mask using the threshold A and the threshold B.
  • FIG. 12 is a diagram showing an image synthesized using the mask of FIG. 11C without blurring the mask target.
  • FIG. 11A shows an image obtained by extracting only a target near the viewpoint from a certain scene.
  • FIG. 11B shows a blurred image using the mask of FIG.
  • FIG. 11C is a diagram illustrating
  • FIG. 13 is an original image before performing the glowing process in the fourth embodiment.
  • FIG. 14 is a diagram illustrating an input image area having stencil values of a lantern object.
  • FIG. 15 shows an image obtained in Example 4.
  • FIG. 16 is for obtaining a samurai image.
  • FIG. 17 shows a blurred mask.
  • FIG. 18 is a diagram showing an image obtained in Example 5.
  • FIG. 3 is a conceptual diagram for explaining the blurred image data. Each cell represents a pixel. The portion indicated by a triangle in the figure is a pixel for obtaining blurred image data. A portion indicated by a triangle in FIG. 3 corresponds to a point (x, y) in FIG. In FIG. 3, the points indicated by white circles (open circles) are the coordinates (X r , Y t ), (X r , Y b ), (X l , Y t ), and (X l , Y b ). Then, Sat (x, y) can be obtained as shown in Formula III.
  • Formula I is the sat of an image (x, y), the input data (i (x, y)) of that image (x, y), and the sat data (sat) of which the x coordinate is one smaller than that pixel.
  • sat (X, Y) i (X, Y) + sat (X ⁇ 1, Y) + sat (X, Y ⁇ 1) ⁇ sat (X ⁇ 1, Y ⁇ 1).
  • X-1 -1
  • sat (X-1, Y) and sat (X-1, Y-1) are 0, and Y-1 is -1.
  • the values of w and h may be obtained using the blur level. That is, the larger W is, the more blurred image processing may be performed in a wider area.
  • the relationship between W and w and h may be stored in a one-dimensional lookup table, for example, and w and h may be obtained based on the inputted W.
  • the value of w ⁇ h required for the arithmetic processing may be stored together in the lookup table, and the multiplication value may be read from the lookup table without multiplying w and h during the computation.
  • a blurred value of these values is obtained.
  • a blurred image can be obtained by similarly obtaining blurred image data for the entire screen or at least a point in a certain area.
  • sat (x, y) in the first row is obtained.
  • y 0.
  • x is the x coordinate of the pixel from 0 to the right end.
  • the obtained sat (x, 0) on the first line is stored in the front cache of the first cache.
  • i (x, y) may be, for example, the value R i (x, y) of red R at the coordinates (x, y), or green G i (x, y), It may be blue B i (x, y) or transparency ⁇ i (x, y).
  • the second row sat (x, 1) is obtained. Then, the obtained sat (x, 1) on the second line is stored in the back cache of the first cache.
  • the input i (0, 1) is stored in the storage unit. Then, i (0, 1), sat (-1, 1), sat (0, 0), and sat (-1, 0) are read from the storage unit. Since sat ( ⁇ 1,1) and sat ( ⁇ 1,0) are 0, this value is stored and i (0,1), sat ( ⁇ 1,1), sat (0,0) ) And sat ( ⁇ 1, 0) may be added or subtracted to find sat (0, 1).
  • sat (x, 2) on the third row is obtained using the input data i (x, 2) and sat (x, 1) on the second row. Then, the obtained sat (x, 2) on the third line is stored in the front cache of the first cache. At this time, since the sat (x, 2) in the third row is overwritten with the sat (x, 0) in the first row, the data related to the sat (x, 0) in the first row is the front cache of the first cache. Is erased from
  • sat (X r , Y t ) and sat (X l , Y t ) exist in sat (x, 2) in the third row. Therefore, the values of sat (X r , Y t ) and sat (X l , Y t ) can be read from the front cache of the first cache.
  • the sat (x, 3) in the fourth row is obtained.
  • the obtained sat (x, 3) is stored in the front cache of the second cache.
  • sat (x, 1) will not be used in the future.
  • the back cache of the first cache may be erased and used as a memory space for other operations until the blurred image of the next line is obtained.
  • the sat calculation means uses the mth row of input image data i (X, m ⁇ 1) and the sat calculation result of the (m ⁇ 1) th row stored in the back cache of the first cache. Then, sat (X, m-1) which is the sat value of the m-th row is obtained using sat (X, m-2). Then, one of the caches updates the stored information using sat (X, m ⁇ 1) which is the result of sat calculation of the m-th row. This operation is repeated until m becomes Y t ⁇ 2.
  • Y b ) is obtained up to sat (x, Y b ).
  • sat (x, Y b ) after (x, Y b +1) may be obtained and used for the subsequent calculation.
  • the obtained sat (x, Y b ) is stored in the back cache of the second cache.
  • sat (x, Y b -2) data related is erased from the back cache of the second cache.
  • sat (X r , Y t ) and sat (X l , Y t ) can be read from the front cache of the first cache.
  • sat (X r , Y b ) and sat (X l , Y b ) can be read from the back cache of the second cache.
  • the blurred image generation system of the present invention from these caches, sat (X r , Y t ), sat (X l , Y t ), sat (X r , Y b ) and sat (X l , Y b). Then, for example, using a code converter and an adder, a calculation process for obtaining Sat (x, y) according to the formula II is performed.
  • this operation control unit which has received the instruction of the control program, from the cache sat (X r, Y t) , sat (X l, Y t), sat (X r, Y b) and sat (X l , Y b ), and let the arithmetic unit obtain sat (X r , Y t ) ⁇ sat (X r , Y b ) ⁇ sat (X l , Y t ) + sat (X l , Y b ). It may be done by doing. The same applies hereinafter.
  • the blurred image data at the coordinates (x, y) can be obtained according to the formula III.
  • blurred image data examples include R, G, and B data indicating color and ⁇ (alpha) data indicating transparency.
  • the blurred image data of the point (x, y + 1) can be obtained. Since sat (X r +1, Y t ), sat (X l +1, Y t ), and sat (X r +1, Y b ) have already been obtained, they may be appropriately read from the cache.
  • the value of sat (X 1 +1, Y b ) may be read.
  • the value of sat (X l + 1, Y b) is not required, according to Equation 2, i (X l + 1 , Y b), sat (X l, Y b), sat (X l + 1, Y b ⁇ 1) and sat (X 1 , Y b ⁇ 1) are used to determine the value of sat (X 1 +1, Y b ) and store it in the back cache of the second cache.
  • sat (x, 3) in the fourth row is obtained.
  • the sat (x, 3) can be obtained using the input data i (x, 3) and the sat (x, 2) in the third row. That is, sat (x, 2) on the third line is stored in the front cache of the first cache.
  • the blurred image generation system of the present invention obtains sat (x, 3) on the fourth line using the input i (x, 3) and sat (x, 2) read from the cache. Then, the obtained sat (x, 3) on the fourth line is stored in the back cache of the first cache.
  • the sat (x, Y b +1) of the row to which (X r , Y b +1) and (X l , Y b +1) belong can also be obtained in the same manner as described above. Then, it can be understood that the blurred image data of the next row after the point (x, y) can be obtained in the same manner as described above.
  • a second embodiment of the present invention will be described.
  • the second embodiment further uses mask technology.
  • a blurred image of a target that is not a target of focus can be obtained.
  • a blur coefficient of 0 which will be described later does not participate in the blurred image processing.
  • This blurring coefficient can be stored in a storage area such as an alpha channel of the image.
  • the blur coefficient is expressed as w (x, y).
  • FIG. 4 is a block diagram of a system according to the second embodiment.
  • the system includes a coefficient determination unit 11 and a blurred image acquisition unit 12.
  • the blurred image acquisition unit 12 includes an input image data input unit 20, a sat calculation unit 21, caches 22 and 23, a Sat calculation unit 24, and a blurred image data acquisition unit 25.
  • the cache includes a first cache 22 and a second cache 23, the first cache 22 includes a front cache 22a and a back cache 22b, and the second cache 23 includes a front cache 23a and a back cache 23b. including.
  • Reference numeral 27 in FIG. 4 indicates output means.
  • the elements shown in FIG. 4 merely show necessary elements, and this system can appropriately employ elements used in a normal computer graphic apparatus.
  • Each unit may be implemented by hardware such as a circuit, a chip, or a core, or may be implemented by cooperation of hardware and software.
  • the coefficient determination unit is an element for determining w (x, y) in the following formula Ia.
  • the blurred image acquisition unit can appropriately use the elements according to the first embodiment described above.
  • w when blurring the entire graphics, w may be set to 1 for all (x, y). Further, by reducing the value of w, the influence of the input original and the image data can be reduced.
  • Formula I can be expressed as Formula Ia.
  • sat (X, Y) w (X, Y) ⁇ i (X, Y) + sat (X ⁇ 1, Y) ⁇ sat (X, Y ⁇ 1) ⁇ sat (X ⁇ 1, Y ⁇ 1). ..Formula Ia However, in the formula Ia, when X-1 is -1, sat (X-1, Y) and sat (X-1, Y-1) are set to 0, and Y-1 is -1. Sets sat (X, Y-1) and sat (X-1, Y-1) to 0.
  • I Blur (x, y) that is a blurred image value is expressed as in the following formula III or formula IIIa. It may be possible to select Formula III or Formula IIIa as appropriate based on information input to the system.
  • w ⁇ h in the formula III is replaced with the sum of all values included in the square region having the width w and the height h. That is, W is included in a square with four points (X r , Y t ), (X r , Y b ), (X l , Y t ), and (X l , Y b ) as vertices.
  • x, y) is the sum of the values.
  • the value of w (x, y) contained in the above square may be added.
  • the sum of w may be obtained for a region where the x coordinate is ⁇ 5 to +5 and the y coordinate is +5 to ⁇ 5 from a certain point.
  • the blurring process is changed according to the depth value z or the pixel depth. That is, a value related to the depth value z or the depth d of each pixel is input to the coefficient determination unit 11 in FIG.
  • This system stores either or both of the threshold A and the threshold B in the memory.
  • the coefficient determination unit 11 reads out one or both of the threshold value A and the threshold value B from the memory and compares them with the depth value z or the depth d.
  • the value of w may be read from a lookup table and used as w (x, y).
  • w (x, y) is 0 to 1, an arithmetic process for obtaining the value may be performed.
  • a threshold A of a certain distance is given. Then, those having a depth value exceeding the threshold value are out of focus and are completely subject to blurring processing.
  • a threshold B of a certain distance is given. Then, objects closer to this threshold value are the target of full attention. For an object between these two thresholds, it can be said that a transition from attention to non-focus occurs, that is, a transition from not blur at all to completely blur.
  • an object is rendered in a frame buffer that includes a color buffer (color image) and a depth buffer (with depth information from the camera).
  • the visible region from the camera is defined by the previous clipping plane and the far clipping plane.
  • two threshold values A and B are used. These two threshold values correspond to the previous clipping plane and the far clipping plane.
  • w is set to 1.
  • w is set to 0.
  • Threshold values A and B are stored in the memory. Then, the value of A or B stored in the memory is read out, and the depth value input from the previous module is compared with A and B. If the depth value is greater than A, w is set to 1. When the depth value is smaller than B, w is set to 0.
  • w may be continuously changed with a value larger than 0 and smaller than 1.
  • a weighted average value from threshold B to threshold A may be assigned to a numerical value from 0 to 1.
  • the blur coefficient w may be an intermediate value from 0 to 1.
  • a mask value that is a set of the blurring coefficients w may be obtained by a preprocessing module.
  • the fourth embodiment provides a glowing process. That is, an object included in a certain graphic is specified and a blurred image is acquired.
  • the identification number of the object included in the computer graphic is input to the coefficient determination unit 11. This is the stencil value. Then, in accordance with the identification number of the target object input from the stencil buffer, it is determined whether or not to perform the blurring process. In other words, information related to the blurring processing object is input to the coefficient determination unit 11. Then, using the identification number of the object, it is determined whether the object is to be blurred or not. For example, w is set to 0 for i (x, y) indicating a non-blurring target. Alternatively, data that is not to be blurred may be passed through the blurred image acquisition unit 12 so that data is sent to the next module.
  • information related to the blurring target may be input to the coefficient determination unit 11.
  • the coefficient determination unit 11 uses the identification number of the object to determine whether the object is to be blurred or not. For example, for i (x, y) indicating an object to be blurred, w is set to 1. In this way, only a specific object can be blurred.
  • a blurred image can be acquired by appropriately using the system configuration of the first to third embodiments.
  • the fifth embodiment relates to a system capable of performing image processing for obtaining a silhouette.
  • the glowing object drawing method By using the glowing object drawing method according to the fourth embodiment, a silhouette of an object can be easily obtained. If the object identification number can be obtained, mask data can be obtained.
  • the mask itself is blurred.
  • the blurred area is slightly larger than the original object due to the blurring process. For this reason, the area subjected to the blurring process includes an area having an identification number different from the identification number of the original object.
  • the mask is blurred and the color value and the blurred mask are adjusted. According to this, for example, it is possible to easily perform image processing such as shining around the main character or weapon in the game.
  • the identification number of the object included in the computer graphic is input to the coefficient determination unit 11.
  • image data When image data is input, the image data indicating the object is specified using the identification number of the object.
  • a set of the specified image data (x, y) is a mask. Then, setting values such as the color, transparency, and luminance of the mask are read out as appropriate.
  • the mask image data of the new object is output to the blurred image acquisition unit 12. Then, the blurred image acquisition unit 12 acquires a blurred image of the mask image data and outputs it to the next module. In the next module, image composition processing is performed.
  • Example 1 relates to an example of an image generation system based on the first embodiment.
  • 5 and 6 are circuit diagrams for implementing the blurred image generation system of the present invention. This circuit can also be implemented by software.
  • RBX is the blur size ((w ⁇ 1) / 2) in the x-axis direction.
  • RBY is the blur size ((h ⁇ 1) / 2) in the y-axis direction.
  • RTX is the width (W or W-1) of the input image.
  • RTY is the height (H or H-1) of the input image.
  • RTBX is the sum of RTX and RTY.
  • FIGS. 5 and 6 An operation for obtaining a blurred image by the blurred image generation system of the present invention shown in FIGS. 5 and 6 will be described.
  • Circuit of Figure 5 determines the coordinates of (X r, Y t), (X r, Y b), (X l, Y t) and (X l, Y b).
  • X 1 when X 1 is obtained, it can be obtained by adding the blur width RBX in the x-axis direction (2: ((5-1) / 2) in the case of FIG. 3) to x of coordinates (x, y). it can.
  • the clipping circuit compares the added value with RTX, and if the added value is 0 or more and RTX or less, the added value is directly output as XP.
  • the clipping circuit outputs RTX as XP when the added value is equal to or greater than RTX.
  • the clipping circuit outputs 0 as XP.
  • a clipping circuit different from the above compares the added value with RTBX, and if the added value is 0 or more and RTBX or less, the added value is output as XAP as it is.
  • the clipping circuit outputs RTBX as XAP when the added value is equal to or greater than RTBX.
  • the clipping circuit outputs 0 as XAP.
  • the circuit shown in FIG. 5 outputs XP, XAP, XM, XAM, YM, and YP.
  • flag means a flag and designates a cache.
  • LL indicates the lower left
  • LR indicates the lower right
  • UL indicates the upper left
  • UR indicates the upper right.
  • the sat in the white circle LL can be obtained using the input value (TGBA) in the white circle LL, the sat in the left coordinate of the white circle LL, the sat in the upper coordinate, and the sat in the upper left corner.
  • the coordinates of the left point and the diagonally upper left point of the white circle LL are XP-1.
  • the addition and subtraction of the values i and sat may be performed according to Equation 2, and can be realized using the adder and subtracter shown in FIG. Note that the subtractor may be realized by using a sign conversion circuit and an adder.
  • the multiplication value w ⁇ h of w and h is obtained by using a multiplier as shown in FIG. Then, 1 / w ⁇ h is obtained by an inverse circuit (1 / x). Then, Sat (x, y) / w ⁇ h can be obtained by multiplying Sat (x, y) and 1 / w ⁇ h by a multiplier. The value of Sat (x, y) / w ⁇ h for R, G, B and ⁇ is output as a blurred image at the point (x, y).
  • Second Embodiment A second embodiment based on the second embodiment of the present invention will be described.
  • the second embodiment further uses mask technology.
  • a blurred image of a point that is not a target of attention can be obtained.
  • a blur coefficient of 0 which will be described later does not participate in the blurred image processing.
  • This blurring coefficient can be stored in a storage area such as an alpha channel of the image.
  • the blur coefficient is expressed as w (x, y).
  • FIG. 7 is a block diagram showing a hardware configuration for obtaining the blurred image technique of the present invention.
  • a module that performs blurred image processing is mounted on a PostEffect (post-effect) core.
  • the slave I / F is an interface module for transmitting and receiving commands and data. This interface exchanges information with other system components.
  • the master bus arbitration circuit (Arbiter) is a circuit for adjusting the access to the external memory and the writing / reading conflict in the storage unit. Examples of external memory are color buffers and depth buffers.
  • the block / line conversion circuit is a module for converting the storage format of the memory data.
  • the screen control circuit is a module for controlling image information output to the monitor.
  • the post-effect core is a module that performs image processing and includes a blurred image processing module.
  • FIG. 8 is a block diagram for explaining the post-effect core.
  • the slave I / F module receives commands from other modules including, for example, the slave I / F of FIG. Then, X and Y coordinates are generated according to the scan line algorithm. For example, each line of the input image is processed in order, and each line-like point is sequentially generated.
  • FIG. 9 is a diagram for explaining pixel positions of P t , P xy , and P b .
  • P t , P xy , and P b are as shown in FIG.
  • additional coordinates T xy may be generated for further texture access.
  • the next module is a color, depth, and stencil readout circuit.
  • This module performs processing using P t , P xy , and P b described above.
  • This module works with the master bus arbitration circuit to access various memories. Then, typically RGB and alpha (A) values, stencil and depth values are read out. The read value is transmitted to the blur module.
  • the result of the blur processing output from the blur calculation module is used as input to the post-processing module.
  • This module performs various operations. Examples include blending, alpha, depth or stencil testing, and converting colors to luminance.
  • the output color information is stored in the write memory. This memory stores the obtained color information in the memory using a master bus arbitration circuit.
  • FIG. 10 is a block diagram of a hardware implementation for realizing the blur calculation process. This module does not process P xy and T xy but simply passes it to the next module, the post-processing circuit.
  • SRAM0t SRAM1t
  • SRAM0b SRAM1b
  • SRAM1b SRAM1b
  • Equation I Information necessary for the calculation of Equation I is read from these SRAMs, and the input value i (x, y) is obtained as input from the previous module.
  • sat (X r , Y t ) and sat (X r , Y b ) are obtained as outputs of the two summing modules, and sat (X l , Y t ) and sat (X l , Y b ) are obtained from the SRAM. It can be obtained by reading.
  • These values are then subjected to the calculations of equations II and III in the summation module and the division module. The result Bxy is transmitted to the next module.
  • the value of w (x, y) is calculated twice, for example, top and bottom inputs.
  • w (x, y) may be obtained based on depth, alpha, stencil test, color to luminance conversion, texture input using appropriate switch selection, and the like.
  • a typical initial value of i (x, y) is an RGBA input value.
  • R′G′B′W is output.
  • R′G ′ and B ′ are values obtained by correcting input RGB values
  • W is a weight value. What is found is used in the summing module. In the summation module and the division module, the weight value is obtained as being equal to the following expression.
  • W is a value obtained as a result of the sat operation, and is an output of the summing module. W may be a read result of the SRAM.
  • Embodiment in which the blurring coefficient is changed based on the depth is based on the third embodiment.
  • the blurring process is changed based on the depth value z or the distance (depth) d from the camera.
  • the depth of the field effect can be obtained as follows. For a very deep field, for example, define a fairly deep field as follows: Assume that a scene is obtained using a camera. Assume that a threshold A of a certain distance is given. Then, those having a depth value exceeding the threshold value are out of focus and are completely subject to blurring processing. Suppose that a threshold B of a certain distance is given. Then, objects closer to this threshold value are the target of full attention. For an object between these two thresholds, it can be said that a transition from attention to non-focus occurs, that is, a transition from not blur at all to completely blur.
  • an object is rendered in a frame buffer that includes a color buffer (color image) and a depth buffer (with depth information from the camera).
  • the visible region from the camera is defined by the previous clipping plane and the far clipping plane.
  • two threshold values A and B are used. These two threshold values correspond to the previous clipping plane and the far clipping plane.
  • w is set to 1.
  • w is set to 0.
  • Threshold values A and B are stored in the memory. Then, the value of A or B stored in the memory is read out, and the depth value input from the previous module is compared with A and B. If the depth value is greater than A, w is set to 1. When the depth value is smaller than B, w is set to 0.
  • w may be continuously changed with a value larger than 0 and smaller than 1.
  • a weighted average value from threshold B to threshold A may be assigned to a numerical value from 0 to 1.
  • the blur coefficient w may be an intermediate value from 0 to 1.
  • a mask value that is a set of the blurring coefficients w may be obtained by a preprocessing module.
  • FIG. 11 (a) shows an image in which only a target near the viewpoint is extracted from a certain scene.
  • This black part is a Boolean function mask.
  • the depth value of each pixel data is read out, while the threshold value is read out and compared. Then, it is only necessary to extract those whose depth value is equal to or less than a predetermined value.
  • a set of only those whose depth values are equal to or smaller than a predetermined value is the Boolean function mask shown in FIG.
  • FIG. 11B is a diagram showing a blurred image using the mask of FIG.
  • FIG. 11C is a diagram illustrating a smooth mask using the threshold A and the threshold B.
  • FIG. 12 is a diagram showing an image synthesized using the mask of FIG. 11C without blurring the mask target.
  • a computer graphic rendering object is rendered in a frame buffer that includes a color buffer that stores a color image and a stencil buffer that stores a stencil value associated with an object identification number.
  • FIG. 13 shows an original image before performing the glowing process in the fourth embodiment.
  • three lanterns are included as glowing objects.
  • a glowing effect is provided around three lanterns.
  • the first step in this method is to define a mask.
  • the value of w is 1.
  • only the lantern can be blurred by using the blurring technique of the first embodiment and the blurring technique of the second embodiment together.
  • FIG. 14 is a diagram showing a collection of input image areas having stencil values of lantern objects.
  • FIG. 15 shows the lantern object image subjected to the blurring process and blended with the original image.
  • FIG. 15 shows an image obtained in Example 4.
  • FIG. 16 shows the result.
  • FIG. 16 is for obtaining a samurai image. As shown in FIG. 16, only the silhouette that is the outline of the samurai can be obtained. This output value is exactly a Boolean function value based on the object identification number test.
  • FIG. 17 shows a blurred mask. Then, the mask and the original image are adjusted.
  • FIG. 18 is a diagram showing an image obtained in Example 5.
  • the present invention is a system for obtaining a blurred image. Therefore, it can be used in the field of computer graphics.

Landscapes

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

Abstract

【課題】 本発明は,コンピュータグラフィックスにおいて,必要とされる記憶容量を軽減できる,ぼかした画像を取得するための装置及び方法を提供することを目的とする。 【解決手段】 本発明は,SATテーブルのすべてを記憶して,ぼかし画像を得るのではなく,必要な列の演算結果のみを残す処理を行う。その結果,本発明によれば,コンピュータグラフィックスにおいて,必要とされる記憶容量を軽減できる,ぼかした画像を取得するための装置及び方法を提供することができる。

Description

ぼかし画像取得装置及び方法
 本発明は,コンピュータグラフィックスにおける,ぼかした画像を取得するための装置及び方法に関する。
 特開2006-72829号公報には,エリア総和テーブル(Summed-area tables)を用いてぼかした画像を取得するシステムが開示されている。
 エリア総和テーブルを用いて,ぼかした画像を求める場合は,入力された画像に基づいてエリア総和テーブル(SAT)を求める。ある画素の座標(x,y)におけるSATの値をsat(x,y)とする。入力された画素の画素データをi(x,y)とする。すると,sat(x,y)は,以下の式1で求められる値となる。
Figure JPOXMLDOC01-appb-M000001
 上記の式1は,以下の式2と同義である。
Figure JPOXMLDOC01-appb-M000002
 なお,任意のx,及びyについて,sat(-1,y),sat(x,-1),及びsat(-1,-1)を0(ゼロ)とする。
 4×4画素からなる仮想的な画像の元データとエリア総和テーブル(SAT)の例は,以下の表1のとおりである。
Figure JPOXMLDOC01-appb-T000001
 
 エリア総和テーブル(SAT)を用いて,ぼかした画像を得る場合,上記のとおり,元の画像と同じ大きさのSATを演算により求め,求めたSATを一度記憶部に記憶する必要があった(特開2006-72829号公報の段落[0022]を参照)。表1は,4×4画素からなる仮想的な画像の例である。しかしながら,実際の画像は,表1よりもはるかに画素が大きい。このため,SATを記憶するために多くのメモリが必要となり,そして,SATから情報を読み出すためにも時間のロスが起こる。
 図1は,エリア総和テーブルの概念を説明するための図である。図中,点は,座標(x、y)の画素を意味する。図1における黒丸で示される点(x,y)のぼかし画像データを求めるためのSat(x,y)は,次の式3のように表現することができる。
 Sat(x,y)=
Figure JPOXMLDOC01-appb-M000003
 
 そして,図1における座標(X,Y),(X,Y),(X,Y),及び(X,Y)の中心に存在する点(x,y)のぼかし画像データは,以下の式4で与えられることとなる。なお,式4において,w=X-Xであり,h=Y-Yである。
Figure JPOXMLDOC01-appb-M000004
 エリア総和テーブル(SAT)を用いた場合,w及びh(これらをフィルタ度Wとも表現する)を適宜調整して任意の平均画像を得ることができる。
 図2に,エリア総和テーブル(SAT)を用いたぼかし画像の例を示す。図2(a)は,W=1の画像(元の画像)を示す。図2(b)は,W=5のぼかし画像を示す。図2(c)は,W=15のぼかし画像を示す。図2(d)は,W=30のぼかし画像を示す。図2に示されるように,SATを用いることでぼかしの程度を容易に調整して,ぼかし画像を得ることができる。
特開2006-72829号公報
 上記のとおり,エリア総和テーブル(SAT)を用いて,ぼかした画像を得る場合,元の画像と同じ大きさのSATを一度記憶部に記憶する。
 一方,動画の全部又は一部をリアルタイムにぼかすニーズが発生した。先に説明したSATを用いたぼかし処理では,動画のある画像全体についてSATを求め続けなければならない。このため,動画のぼかし画像を,従来のSATを用いて求めると,多大な記憶容量を必要とするという問題がある。
 そこで,本発明は,コンピュータグラフィックスにおいて,必要とされる記憶容量を軽減できる,ぼかした画像を取得するための装置及び方法を提供することを目的とする。
 本発明の第1の側面は,コンピュータグラフィックス用のぼかし画像データを得るためのシステムに関する。
 本発明のシステムの例は,グラフィック処理用のチップやソフトウェアを搭載したコンピュータにより実現できる。そして,このコンピュータは,画像処理用のハードウェアを有する。そして,メインメモリに格納されたメインプログラムからの処理を制御部が受ける。制御部は,適宜記憶部に記憶されたデータを読み出し,入力されたデータを用いて,演算部に演算処理を行わせる。この演算部における演算処理には後述するぼかし画像処理も含まれる。そして,演算処理結果を適宜記憶部に記憶させるほか,モニタなどへ出力する。以下説明する,本発明の各機能や手段は,回路,チップ,及びコアといったハードウェアにより実装してもよいし,演算処理回路等とソフトウェアとの協働により実現されるものであってもよい。
 ぼかし画像データを得る画素の座標を(x,y)とする。座標(X,Y)における入力画像データをi(X,Y)とする。座標(x,y)におけるぼかし画像データをIBlur(x,y)とする。ぼかし画像は,基本的には,画面に存在する全ての画素について求める。後述するように,ぼかし画像データは,たとえば,赤(R)などの色味や透明度など,コンピュータグラフィックスに必要な情報をぼかしたデータである。座標(x,y)から,x座標が所定値異なり,y座標が所定値異なる点を,(X,Y),(X,Y),(X,Y)及び(X,Y)とする。l(エル)>rとする。b>tとする。ある点(X,Y)について,以下の式Iを満たす値をsat(X,Y)とする。以下の式IIを満たす値をSat(x,y)とする。X-Xをw,Y-Yをhとする。IBlur(x,y)を,以下の式IIIで表される値とする。
 式IIIは,以下のとおりである。
 IBlur(x,y)=Sat(x,y)/w×h      ・・・・式III
 ここで,Sat(x,y)=sat(X,Y)-sat(X,Y)-sat(X,Y)+sat(X,Y)・・・・式IIである。
 なお,yの座標値において,tはトップ,bはボトム(底)を意味する。
 このシステムは,ハードウェアのみにより実装されてもよい。また,このシステムは,ハードウェアとソフトウェアにより実装されてもよい。このシステムが,ハードウェアとソフトウェアにより実装される場合,このシステムは,入出力部,制御部,演算部,及び記憶部を有する。それらの要素はバスなどで情報を授受できるように接続されている。そして,記憶部には制御プログラムが記憶されている。そして,所定の入力情報が入力部から入力されると,制御部は,記憶部に記憶された制御プログラムを読み出して,適宜記憶部から情報を読み出し,演算部で演算処理を行う。そして,演算処理した結果を記憶部に記憶する。また,演算処理した結果を入出力部から出力する。
 このシステムは,入力画像データi(X,Y)を受け取るための入力画像データ入力手段を有する。
 このシステムは,入力画像データ入力手段が受け取った入力画像データi(X,Y)を用いて式Iで示されるsatの値を求めるためのsat演算手段を有する。具体的にはsat演算手段は,i(X,0)を用いて,sat(0,0)から順に,sat(X,0)の値を求める。この際は,sat(X-1,0)とi(X,0)を読み出して,加算することで,この値を求めることができる。2行目以降は,i(X,Y),sat(X-1,Y),sat(X,Y-1),及びsat(X-1,Y-1)の値を読み出して,加算処理や符号変換処理(+を-にする処理)を行って,sat値を求める。
 式Iは,以下のとおりである。
 sat(X,Y)=i(X,Y)+sat(X-1,Y)+sat(X,Y-1)-sat(X-1,Y-1)・・・・式I
 ただし,式Iにおいて,X-1が-1である場合は,sat(X-1,Y),及びsat(X-1,Y-1)を0とする。Y-1が-1である場合は,sat(X,Y-1)及びsat(X-1,Y-1)を0とする。
 このシステムは,sat演算手段が求めた行ごとのsat演算結果を記憶するためのキャッシュを有する。キャッシュは,第1のキャッシュ及び第2のキャッシュを含む。第1のキャッシュは,フロントキャッシュ及びバックキャッシュを含む。第2のキャッシュは,フロントキャッシュ及びバックキャッシュを含む。これらのキャッシュは,たとえばフラグにより指定される。
 このシステムは,キャッシュから,sat(X,Y),sat(X,Y),sat(X,Y)及びsat(X,Y)の値を読み出して,Sat(x,y)の値を求めるためのSat演算手段を有する。Sat(x,y)の値は,式IIのとおりである。よって,sat(X,Y),sat(X,Y),sat(X,Y)及びsat(X,Y)の値を読み出して加算処理や符号変換処理(+を-にする処理)を行って,Sat値を求める。
 このシステムは,Sat演算手段が求めたSat(x,y)の値,w及びhを用いて,IBlur(x,y)を用いるぼかし画像データ取得手段を有する。IBlur(x,y)は,式IIIで求められる。よって,Sat(x,y),w及びhを読み出して,乗算器及び1/x回路を用いることで,IBlur(x,y)の値を求めることができる。
 このシステムは,以下のようにしてIBlur(x,y)の値を求めることができる。
 まず,sat演算手段は,1行目の入力画像データi(X,0)を用いて,1行目のsat値であるsat(X,0)を求める。そして,第1のキャッシュのフロントキャッシュは,1行目のsat演算結果であるsat(X,0)を記憶する。
 次に,sat演算手段は,2行目の入力画像データi(X,1)と,第1のキャッシュのフロントキャッシュが記憶した1行目のsat演算結果であるsat(X,0)を用いて,2行目のsat値であるsat(X,1)を求める。そして,第1のキャッシュのバックキャッシュは,2行目のsat演算結果であるsat(X,1)を記憶する。
 次に,sat演算手段は,3行目の入力画像データi(X,2)と,第1のキャッシュのバックキャッシュが記憶した2行目のsat演算結果であるsat(X,1)を用いて,3行目のsat値であるsat(X,3)を求める。そして,第1のキャッシュのフロントキャッシュは,3行目のsat演算結果であるsat(X,2)を用いて記憶情報を更新する。
 このようにして,Sat値を求めるために用いないsatデータを順次消去する。また,フロントキャッシュ及びバックキャッシュを交互に更新することで,少ないメモリ容量を用いて,効率的に必要な情報を更新できる。
 以下同様の演算を繰り返し,(Y-2)行目のsat演算結果であるsat(X,Y-1)を,第1のキャッシュのフロントキャッシュ及び第1のキャッシュのバックキャッシュのいずれかが記憶する。
 同様の演算とは,sat演算手段が,m行目の入力画像データi(X,m-1)と,第1のキャッシュのバックキャッシュが記憶した(m-1)行目のsat演算結果であるsat(X,m-2)を用いて,m行目のsat値であるsat(X,m-1)を求める。そして,いずれかのキャッシュは,m行目のsat演算結果であるsat(X,m-1)を用いて記憶情報を更新する。この作業をmがY-2となるまで繰り返す。
 そして,(Y-1)行目のsat演算結果であるsat(X,Y)を,第1のキャッシュのフロントキャッシュ及び第1のキャッシュのバックキャッシュのうち,sat(X,Y-1)を記憶していない方が記憶する。
 続いて,sat演算手段は,Y行目の入力画像データi(X,Y+1)と,キャッシュから読み出したsat(X,Y)とを用いて,Y行目のsat演算結果であるsat(X,Y+1)を求める。第2のキャッシュのフロントキャッシュは,Y行目のsat演算結果であるsat(X,Y+1)を記憶する。
 次に,sat演算手段は,Y+1行目の入力画像データi(X,Y+2)と,第2のキャッシュのフロントキャッシュから読み出したsat(X,Y+1)とを用いて,Y+1行目のsat演算結果であるsat(X,Y+2)を求める。第2のキャッシュのバックキャッシュは,Y+1行目のsat演算結果であるsat(X,Y+2)を記憶する。
 次に,sat演算手段は,Y+2行目の入力画像データi(X,Y+3)と,第2のキャッシュのバックキャッシュから読み出したsat(X,Y+2)とを用いて,Y+2行目のsat演算結果であるsat(X,Y+3)を求める。第2のキャッシュのフロントキャッシュは,Y+2行目のsat演算結果であるsat(X,Y+3)を用いて記録情報を更新する。
 このシステムは,以下同様の演算を繰り返す。そして,(Y-2)行目のsat演算結果であるsat(X,Y-1)を,第2のキャッシュのフロントキャッシュ及び第2のキャッシュのバックキャッシュのいずれかが記憶する。
 (Y-1)行目のsat演算結果であるsat(X,Y)のうち少なくともX=0からX=Xを,第2のキャッシュのフロントキャッシュ及び第2のキャッシュのバックキャッシュのうち,sat(X,Y-1)を記憶していない方が記憶する,
 式Iは,以下のとおりである。
 sat(X,Y)=i(X,Y)+sat(X-1,Y)+sat(X,Y-1)-sat(X-1,Y-1)・・・・式I
 ただし,式Iにおいて,X-1が-1である場合は,sat(X-1,Y),及びsat(X-1,Y-1)を0とする。Y-1が-1である場合は,sat(X,Y-1)及びsat(X-1,Y-1)を0とする。
 式IIは,以下のとおりである。
 Sat(x,y)=sat(X,Y)-sat(X,Y)-sat(X,Y)+sat(X,Y)・・・・式II
 式IIIは,以下のとおりである。
 IBlur(x,y)=Sat(x,y)/w×h      ・・・・式III
 本発明の好ましい態様は,i(x,y)は,色を示すR,G又はBのいずれかの値である,上記に記載のシステムである。
 本発明の好ましい態様は,i(x,y)は,色を示すR,G又はBのいずれかの値であるか,透明度を示すα(アルファ)値である,上記に記載のシステムである。
 本発明の好ましい態様は,第1のキャッシュのフロントキャッシュ及び第1のキャッシュのバックキャッシュのうちsat(X,Y-1)を記憶したキャッシュを,Y行目のsat演算処理からIBlur(x,y)を求める処理までの間,ぼかし画像データを得る以外の処理のためのキャッシュとして利用する上記に記載のシステムである。 
 本発明の第2の側面は,係数決定部11と,ぼかし画像取得部12とを有するコンピュータグラフィックス用のぼかし画像データを得るためのシステムに関する。そして,ぼかし画像取得部12は,先に説明したシステムと同様の動作を行う。
 ぼかし画像データを得る画素の座標を(x,y)とし,
 座標(x,y)における入力画像データをi(x,y)とし,
 座標(x,y)におけるぼかし画像データをIBlur(x,y)とし,
 座標(x,y)から,x座標が所定値異なり,y座標が所定値異なる点を,(X,Y),(X,Y),(X,Y)及び(X,Y)とし,
 l(エル)>rとし,b>tとし,
 ある点(X,Y)について,以下の式Iaを満たす値をsat(X,Y)とし,
 以下の式IIを満たす値をSat(x,y)とし,
 X-Xをw,Y-Yをhとする。
 IBlur(x,y)を,以下の式III又は式IIIaで表される値とする。
 すると,ぼかし画像取得部12は,
  座標(X,Y)における入力画像データi(X,Y)を受け取るとともに,係数決定部11からぼかし係数w(X,Y)を受け取るための入力画像データ入力手段20と,
  入力画像データ入力手段が受け取った入力画像データi(X,Y)を用いて式Iaで示されるsatの値を求めるためのsat演算手段21と,
  sat演算手段が求めた行ごとのsat演算結果を記憶するためのキャッシュ22,23と,
  キャッシュから,sat(X,Y),sat(X,Y),sat(X,Y)及びsat(X,Y)の値を読み出して,Sat(x,y)の値を求めるためのSat演算手段24と,
  Sat演算手段が求めたSat(x,y)の値を用いて,IBlur(x,y)を用いるぼかし画像データ取得手段25と,を有する。
 キャッシュは,第1のキャッシュ22及び第2のキャッシュ23を含み,
 第1のキャッシュは,フロントキャッシュ22a及びバックキャッシュ22bを含み,
 第2のキャッシュは,フロントキャッシュ23a及びバックキャッシュ23bを含む。
 sat演算手段は,
  1行目の入力画像データi(X,0)を用いて,1行目のsat値であるsat(X,0)を求め,
 第1のキャッシュのフロントキャッシュは,
  1行目のsat演算結果であるsat(X,0)を記憶する。
 sat演算手段は,
  2行目の入力画像データi(X,1)と,第1のキャッシュのフロントキャッシュが記憶した1行目のsat演算結果であるsat(X,0)を用いて,2行目のsat値であるsat(X,1)を求め,
 第1のキャッシュのバックキャッシュは,
  2行目のsat演算結果であるsat(X,1)を記憶する。
 sat演算手段は,
  3行目の入力画像データi(X,2)と,第1のキャッシュのバックキャッシュが記憶した2行目のsat演算結果であるsat(X,1)を用いて,3行目のsat値であるsat(X,3)を求め,
  第1のキャッシュのフロントキャッシュは,3行目のsat演算結果であるsat(X,2)を用いて記憶情報を更新する。
 以下同様の演算を繰り返し,(Y-2)行目のsat演算結果であるsat(X,Y-1)を,第1のキャッシュのフロントキャッシュ及び第1のキャッシュのバックキャッシュのいずれかが記憶する。
 (Y-1)行目のsat演算結果であるsat(X,Y)を,第1のキャッシュのフロントキャッシュ及び第1のキャッシュのバックキャッシュのうち,sat(X,Y-1)を記憶していない方が記憶する。
 sat演算手段は,
  Y行目の入力画像データi(X,Y+1)と,キャッシュから読み出したsat(X,Y)とを用いて,Y行目のsat演算結果であるsat(X,Y+1)を求め,
 第2のキャッシュのフロントキャッシュは,
  Y行目のsat演算結果であるsat(X,Y+1)を記憶する。
 sat演算手段は,
  Y+1行目の入力画像データi(X,Y+2)と,第2のキャッシュのフロントキャッシュから読み出したsat(X,Y+1)とを用いて,Y+1行目のsat演算結果であるsat(X,Y+2)を求め,
 第2のキャッシュのバックキャッシュは,
  Y+1行目のsat演算結果であるsat(X,Y+2)を記憶する。
 sat演算手段は,
  Y+2行目の入力画像データi(X,Y+3)と,第2のキャッシュのバックキャッシュから読み出したsat(X,Y+2)とを用いて,Y+2行目のsat演算結果であるsat(X,Y+3)を求め,
 第2のキャッシュのフロントキャッシュは,
  Y+2行目のsat演算結果であるsat(X,Y+3)を用いて記録情報を更新する。
 以下同様の演算を繰り返し,
 (Y-2)行目のsat演算結果であるsat(X,Y-1)を,第2のキャッシュのフロントキャッシュ及び第2のキャッシュのバックキャッシュのいずれかが記憶する。
 (Y-1)行目のsat演算結果であるsat(X,Y)のうち少なくともX=0からX=Xを,第2のキャッシュのフロントキャッシュ及び第2のキャッシュのバックキャッシュのうち,sat(X,Y-1)を記憶していない方が記憶する   
 sat(X,Y)=w(X,Y)×i(X,Y)+sat(X-1,Y)+sat(X,Y-1)-sat(X-1,Y-1)・・・・式Ia
 ただし,式Iaにおいて,X-1が-1である場合は,sat(X-1,Y),及びsat(X-1,Y-1)を0とし,Y-1が-1である場合は,sat(X,Y-1)及びsat(X-1,Y-1)を0とする。
 Sat(x,y)=sat(X,Y)-sat(X,Y)-sat(X,Y)+sat(X,Y)・・・・式II
 IBlur(x,y)=Sat(x,y)/w×h      ・・・・式III
 IBlur(x,y)=Sat(x,y)/W      ・・・・式IIIa
Figure JPOXMLDOC01-appb-M000005
 この側面の好ましい態様は,係数決定部11が,
 入力画像データi(X,Y)の奥行きz(X,Y)又は深さd(X,Y)に関する情報が入力される入力手段と,
 第1の閾値A及び第2の閾値Bが入力される閾値入力手段と,
 奥行きz(X,Y)又は深さd(X,Y)と第1の閾値A及び第2の閾値Bとを比較する比較演算手段と,
 比較演算手段の比較結果に応じて,係数w(X,Y)を決定する係数決定手段とを有し,
 係数決定手段は,奥行きz(X,Y)又は深さd(X,Y)が第1の閾値A以上の場合は,w(X,Y)を0とし,
 奥行きz(X,Y)又は深さd(X,Y)が第2の閾値B以下の場合は,w(X,Y)を1とし,
  奥行きz(X,Y)又は深さd(X,Y)が第2の閾値Bより大きく第1の閾値Aより小さい場合は,w(X,Y)を0から1の間の値とするように演算処理を行うものである。
 入力手段に入力画像データi(X,Y)の奥行きz(X,Y)又は深さd(X,Y)に関する情報が入力される。一方,閾値入力手段に第1の閾値A及び第2の閾値Bが入力される。比較演算手段が,奥行きz(X,Y)又は深さd(X,Y)と第1の閾値A及び第2の閾値Bとを比較する。係数決定手段が,比較演算手段の比較結果に応じて,係数w(X,Y)を決定する。そして,係数決定手段は,奥行きz(X,Y)又は深さd(X,Y)が第1の閾値A以上の場合は,w(X,Y)を0とする。係数決定手段は,奥行きz(X,Y)又は深さd(X,Y)が第2の閾値B以下の場合は,w(X,Y)を1とする。係数決定手段は,奥行きz(X,Y)又は深さd(X,Y)が第2の閾値Bより大きく第1の閾値Aより小さい場合は,w(X,Y)を0から1の間の値とするように演算処理を行う。たとえば,A-z/A-BかA-d/A-Bをw(X,Y)としてもよいし,w(X,Y)の値をルックアップテーブルから読み出してもよい。
 この側面の好ましい態様は,係数決定部11が,
 入力画像データi(X,Y),及びコンピュータブラフィックスにおける対象物の識別番号が入力されるとともに,ぼかし画像処理の対象となる対象物に関する情報が入力される対象物入力手段と,
 ぼかし画像処理の対象となる対象物に関する情報,対象物の識別番号及び入力画像データi(X,Y)を用いて,ぼかし画像処理の対象となる対象物を把握し,このぼかし画像対象となる対象物に関するぼかし係数w(X,Y)を1とする係数決定手段とを有する,
 システムである。
 対象物入力手段に,入力画像データi(X,Y),及びコンピュータブラフィックスにおける対象物の識別番号が入力されるとともに,ぼかし画像処理の対象となる対象物に関する情報が入力される。係数決定手段は,ぼかし画像処理の対象となる対象物に関する情報,対象物の識別番号及び入力画像データi(X,Y)を用いて,ぼかし画像処理の対象となる対象物を把握し,このぼかし画像対象となる対象物に関するぼかし係数w(X,Y)を1とする。
 この側面の好ましい態様は,
 係数決定部11は,
 入力画像データi(X,Y),及びコンピュータブラフィックスにおける対象物の識別番号が入力されるとともに,ぼかし画像処理の対象となる対象物に関する情報が入力される対象物入力手段と,
 対象物入力手段により特定された対象物の画素データ部分についてマスク領域を得るマスク領域取得手段と,
 マスク領域取得手段が取得したマスク領域の新たな画像データを得るマスク領域の画像データ取得手段と,
 マスク領域の係数w(x,y)を1と決定する係数決定手段と,
 を有し,
 ぼかし画像取得部12は,
 係数決定部11が決定したマスク領域に関して,
 係数w(x,y)=1を受け取るとともに,新たな画像データを入力画像データとして受け取り,
 対象物のマスクのぼかし画像を得る,
 システムである。
 対象物入力手段には,入力画像データi(X,Y),及びコンピュータブラフィックスにおける対象物の識別番号が入力されるとともに,ぼかし画像処理の対象となる対象物に関する情報が入力される。マスク領域取得手段は,対象物入力手段により特定された対象物の画素データ部分についてマスク領域を得る。このマスク領域は,グラフィック上の対象物の位置を示す領域である。画像データ取得手段は,マスク領域取得手段が取得したマスク領域の新たな画像データを得る。たとえば,対象物をぼんやりと光らせたい場合は,マスクの色情報として光の色情報をデータベース等から読み出せばよい。係数決定手段は,マスク領域の係数w(x,y)を1と決定する。ぼかし画像取得部12は,係数決定部11が決定したマスク領域に関して,係数w(x,y)=1を受け取るとともに,新たな画像データを入力画像データとして受け取る。そして,対象物のマスクのぼかし画像を得る。こうすると,対象物の周辺までを含むぼかし画像を得ることができる。たとえば対象物をぼんやり光らせたい場合,対象物とその周辺を光らせるマスクを得ることができる。そして,このマスクと原画像とを合成すると,対象物がぼんやり光った画像を得ることができる。
 
 本発明は,コンピュータを上記のシステムとして機能させるためのプログラムをも提供する。また,本発明は,そのようなプログラムを記憶したコンピュータにより読み取り可能な情報記録媒体をも提供する。 
 本発明によれば,コンピュータグラフィックスにおいて,必要とされる記憶容量を軽減できる,ぼかした画像を取得するための装置及び方法を提供することができる。 
Sat(x,y)を求めるための4点を示す概念図。 図2に,エリア総和テーブル(SAT)を用いたぼかし画像の例を示す。図2(a)は,W=1の画像(元の画像)を示す。図2(b)は,W=5のぼかし画像を示す。図2(c)は,W=15のぼかし画像を示す。図2(d)は,W=30のぼかし画像を示す。 図3は,ぼかし画像データを説明するための概念図である。 図4は,第2の実施態様に係るシステムのブロック図である。 図5は,本発明のぼかし画像生成システムを実装するための回路図である。 図6は,本発明のぼかし画像生成システムを実装するための回路図である。 図7は,本発明のぼかし画像技術を得るためのハードウェア構成を示すブロック図である。 図8は,ポストエフェクトコアを説明するためのブロック図である。 図9は,P,Pxy,及びPのピクセル位置を説明するための図である。 図10は,ぼかし演算処理を実現するためのハードウェア実装のブロック図である。 図11(a)は,あるシーンのうち,視点の近くにある対象のみを抽出した画像を示す。図11(b)は図11(a)のマスクを用いたぼやかし画像を示す図である。図11(c)は,閾値A及び閾値Bを用いたスムーズマスクを示す図である。 図12は,図11(c)のマスクを用いて,マスク対象をぼやかさず,画像を合成したものを示す図である。 図13は,実施例4におけるグローイング処理を施す前の原画像である。 図14は,灯篭オブジェクトのステンシル値を有する入力画像領域を集約したものを示す図である。 図15は,実施例4において得られた画像を示す。 図16はサムライの画像を得るためのものである。 図17は,ぼかされたマスクを示す図である。 図18は実施例5において得られた画像を示す図である
 第1の実施態様
 以下,本発明の第1の実施態様について説明する。
 図3は,ぼかし画像データを説明するための概念図である。各升目は画素を表す。図中三角で示される部分が,ぼかし画像データを得るための画素である。図3中三角で示される部分が,図1における点(x,y)に相当する。また,図3中,白丸(オープンサークル)で示される点が,図1における座標(X,Y),(X,Y),(X,Y),及び(X,Y)に相当する。すると,Sat(x,y)は,式IIIのとおり求めることができる。
 IBlur(x,y)=Sat(x,y)/w×h      ・・・・式III
 Sat(x,y)=sat(X,Y)-sat(X,Y)-sat(X,Y)+sat(X,Y)・・・・式II
 一方,座標(X,Y),(X,Y),(X,Y),及び(X,Y)のsat(x,y)は,式Iのとおり求めることができる。式Iは,ある画像(x,y)のsatを,その画像(x,y)の入力データ(i(x,y)),及びその画素よりx座標が1つ小さい座標のsatデータ(sat(x-1,y)),その画素よりy座標が1つ小さい座標のsatデータ(sat(x,y-1))及びその画素よりx座標が1つ小さくy座標も1つ小さい座標のsatデータ(sat(x-1,y-1))を用いて求めることができることを示す。
 sat(X,Y)=i(X,Y)+sat(X-1,Y)+sat(X,Y-1)-sat(X-1,Y-1)・・・・式I
 ただし,式Iにおいて,X-1が-1である場合は,sat(X-1,Y),及びsat(X-1,Y-1)を0とし,Y-1が-1である場合は,sat(X,Y-1)及びsat(X-1,Y-1)を0とする。
 すなわち、図3の座標(X,Y),(X,Y),(X,Y),及び(X,Y)のsat(x,y)は,それぞれの座標の入力データ,左の座標のsat,上の座標のsat,及び上斜め左の座標のsatを用いて求めることができる。それぞれの座標の左の座標,上の座標,及び上斜め左の座標は、図3において黒丸(クローズドサークル)で示した通りである。
 そうであれば,ぼかし画像データを得るために,白丸及び黒丸の存在する4行のみのデータ(satデータ及び入力データ)が存在すれば,Sat(x,y)を求めることができる。
 ここで,画像(x,y)が左よりの場合,(X,Y)及び(X,Y)が存在しない場合がある。このような場合は,sat(X,Y)及びsat(X,Y)を0とすればよい。もちろん,画像(x,y)が左よりでかつ上よりの場合,(X,Y)が存在しない場合もある。その場合は,sat(X,Y)も0とすればよい。
 すなわち,式Iにおいて,X-1が-1である場合は,sat(X-1,Y),及びsat(X-1,Y-1)を0とし,Y-1が-1である場合は,sat(X,Y-1)及びsat(X-1,Y-1)を0とする。なお,式Iでは,x=0及びy=0が左上の点の座標である。よって,左上の座標がx=1,Y=1の場合は,x=0又はy=0の場合のsatを0とすればよい。
 なお,たとえば,ぼかし度を示す値Wがコンピュータに入力された場合,このぼかし度を用いてwとhの値が求められるようにしてもよい。すなわち,Wが大きいほど,広い領域においてぼかし画像処理を行うようにしてもよい。このWと,w及びhの関係はたとえば,1次元のルックアップテーブルに記憶しておき,入力されたWに基づいてw及びhを求めてもよい。また,演算処理で必要なw×hの値も合わせてルックアップテーブルに格納しておき,演算の際にwとhとを乗算せずに乗算値をルックアップテーブルから読み出してもよい。
 次に,図3の三角で示される点のぼかし画像データを得る工程を説明する。
 この点は,色(R,G,B)及び透明度(α)といった値を有するものであるから,これらの値のぼかした値を得る。そして,画面の全体か又は少なくとも一定領域の点について,同様にぼかし画像データを得ることでぼかし画像を得ることができる。
 まず,入力データi(x,y)(y=0)を用いて,1行目のsat(x,y)を求める。ここで,y=0である。xは,0~右端の画素のx座標である。そして,求めた1行目のsat(x,0)を,第1のキャッシュのフロントキャッシュに記憶する。
 i(x,y)は,たとえば,座標(x,y)における赤Rの値R(x,y)であってもよいし,緑G(x,y)であってもよいし,青B(x,y)であってもよいし,透明度α(x,y)であってもよい。
 次に,入力データi(x,1)及び1行目のsat(x,0)を用いて,2行目のsat(x,1)を求める。そして,求めた2行目のsat(x,1)を,第1のキャッシュのバックキャッシュに記憶する。
 この動作は,たとえば,コンピュータが,sat(1,1)を求める演算を行う場合,入力されたi(1,1)を記憶部に記憶する。そして,i(1,1),sat(0,1),sat(1,0),及びsat(0,0)を記憶部から読みだす。そして,加算演算及び減算演算(符号逆転演算及び加算演算)を行って,sat(1,1)=i(1,1)+sat(0,1)+sat(1,0)-sat(0,0)を求める演算処理を行い記憶部に格納する。このようにすれば,sat(1,1)を求めることができる。これ以外のsat(x,1)値についても同様にして求めることができる。
 この動作は,たとえば,コンピュータが,sat(0,1)を求める演算を行う場合,入力されたi(0,1)を記憶部に記憶する。そして,i(0,1),sat(-1,1),sat(0,0),及びsat(-1,0)を記憶部から読みだす。sat(-1,1)及びsat(-1,0)が0であるから,この値を記憶しておいて,i(0,1),sat(-1,1),sat(0,0),及びsat(-1,0)を加算又は減算して,sat(0,1)を求めてもよい。
 次に,入力データi(x,2)及び2行目のsat(x,1)を用いて,3行目のsat(x,2)を求める。そして,求めた3行目のsat(x,2)を,第1のキャッシュのフロントキャッシュに記憶する。この際,3行目のsat(x,2)を1行目のsat(x,0)に上書きするため,1行目のsat(x,0)に関するデータは,第1のキャッシュのフロントキャッシュから消去される。
 図3の例では,3行目のsat(x,2)に,sat(X,Y)及びsat(X,Y)が存在する。よって,sat(X,Y)及びsat(X,Y)の値は,第1のキャッシュのフロントキャッシュから読み出せる。
 次に,入力データi(x,3)及び3行目のsat(x,2)を用いて,4行目のsat(x,3)を求める。求めたsat(x,3)を第2のキャッシュのフロントキャッシュに記憶する。なお,この例では,sat(x,1)を今後使用しない。このため,第1のキャッシュのバックキャッシュを消去し,次の行のぼかし画像を求めるまでの間,他の作業のメモリ空間として利用してもよい。
 同様の処理を繰り返し,y座標が(Y-1)の行までsatを求めたとする。そして,このsat(x,Y-1)の値が,第2のキャッシュのフロントキャッシュに記憶されたとする。場合によっては,sat(x,Y-1)の値が,第2のキャッシュのバックキャッシュに記憶される。以下では,sat(x,Y-1)の値が,第2のキャッシュのフロントキャッシュに記憶されたとして,動作説明を続ける。
 なお同様の処理とは,sat演算手段が,m行目の入力画像データi(X,m-1)と,第1のキャッシュのバックキャッシュが記憶した(m-1)行目のsat演算結果であるsat(X,m-2)を用いて,m行目のsat値であるsat(X,m-1)を求める。そして,いずれかのキャッシュは,m行目のsat演算結果であるsat(X,m-1)を用いて記憶情報を更新する。この作業をmがY-2となるまで繰り返す。
 次に,入力データi(x,Y)及びsat(x,Y-1)を用いて,(X,Y)及び(X,Y)の属する行目のsat(x,Y)を,sat(x,Y)まで求める。ここで,Sat(x,y)を求めるために,(x,Y+1)以降のsat(x,Y)を求める必要はない。もっとも,(x,Y+1)以降のsat(x,Y)を求めておいて,後の演算に用いてもよい。そして,求めたsat(x,Y)を,第2のキャッシュのバックキャッシュに記憶する。この際,sat(x,Y)を上書きするため,sat(x,Y-2)に関するデータが,第2のキャッシュのバックキャッシュから消去される。
 先に説明した通り,sat(X,Y)及びsat(X,Y)の値は,第1のキャッシュのフロントキャッシュから読み出せる。sat(X,Y)及びsat(X,Y)は,第2のキャッシュのバックキャッシュから読み出せる。
 そこで,本発明のぼかし画像生成システムは,これらのキャッシュから,sat(X,Y),sat(X,Y),sat(X,Y)及びsat(X,Y)を読み出す。そして,たとえば,符号変換器及び加算器を用いて,式IIに従ってSat(x,y)を求める演算処理を行う。なお,この演算は,制御プログラムの指令を受けた制御部が,キャッシュからsat(X,Y),sat(X,Y),sat(X,Y)及びsat(X,Y)を読み出して,演算部にsat(X,Y)-sat(X,Y)-sat(X,Y)+sat(X,Y)を求めさせるようにすることで行ってもよい。以下同様である。
 さらに,w及びhの値は,あらかじめ記憶部に記憶されているので,式IIIに従って,座標(x,y)におけるぼかし画像データを求めることができる。
 ぼかし画像データの例は,たとえば,色を示すR,G,及びBのそれぞれのデータと,透明度を示すα(アルファ)のデータである。
 次に,図3の三角で示される点(x,y)の横の点(x,y+1)のぼかし画像データを求めることを考える。
 この場合,sat(X+1,Y),sat(X+1,Y),sat(X+1,Y)及びsat(X+1,Y)の値,w及びhの値を用いれば,点(x,y+1)のぼかし画像データが得られることになる。sat(X+1,Y),sat(X+1,Y)及びsat(X+1,Y)は,既に求められているため,適宜キャッシュからよみだせばよい。sat(X+1,Y)の値も既に求められてキャッシュに記憶されている場合は,sat(X+1,Y)の値を読み出せばよい。一方sat(X+1,Y)の値が求められていない場合,式2に従って,i(X+1,Y),sat(X,Y),sat(X+1,Y-1)及びsat(X,Y-1)を用いて,sat(X+1,Y)の値を求め,第2のキャッシュのバックキャッシュに記憶すればよい。
 次に,図3の三角で示される点(x,y)の次の行のぼかし画像データを求めることを考える。
 図3に示す例では,まず,4行目のsat(x,3)を求める。sat(x,3)は,入力データi(x,3)及び3行目のsat(x,2)を用いて求めることができる。すなわち,3行目のsat(x,2)は,第1のキャッシュのフロントキャッシュに記憶されている。そして,本発明のぼかし画像生成システムは,入力されたi(x,3)及びキャッシュから読み出したsat(x,2)を用いて,4行目のsat(x,3)を求める。そして,求めた4行目のsat(x,3)を第1のキャッシュのバックキャッシュに記憶する。
 (X,Y+1)及び(X,Y+1)の属する行目のsat(x,Y+1)も先に説明したと同様にして求めることができる。すると,点(x,y)の次の行のぼかし画像データも先に説明したと同様にして求めることができることがわかる。
 第2の実施態様
 本発明の第2の実施態様について説明する。第2の実施態様は,マスク技術を更に用いたものである。第2の実施態様では,たとえば,注目(フォーカス)対象となっていない対象のぼかし画像を得ることができる。たとえば,後述するぼかし係数が0のものは,ぼかし画像処理に参加しない点である。このぼかし係数は,たとえば画像のアルファチャネルなどの記憶領域に格納できる。以下の説明では,ぼかし係数をw(x,y)と表現する。
 図4は,第2の実施態様に係るシステムのブロック図である。図4に示されるように,このシステムは,係数決定部11と,ぼかし画像取得部12とを有する。このシステムは,通常の描画装置における各種構成を適宜採用できる。ぼかし画像取得部12は,入力画像データ入力手段20と,sat演算手段21と,キャッシュ22,23と,Sat演算手段24と,ぼかし画像データ取得手段25と,を有する。そして,キャッシュは,第1のキャッシュ22及び第2のキャッシュ23を含み,第1のキャッシュ22は,フロントキャッシュ22a及びバックキャッシュ22bを含み,第2のキャッシュ23は,フロントキャッシュ23a及びバックキャッシュ23bを含む。図4中符号27は出力手段を示す。図4に示されるものはあくまで必要な要素を示すものであり,このシステムは,通常のコンピュータグラフィック装置に用いられる要素を適宜採用できる。そして,各手段は,回路,チップ又はコアといったハードウェアにより実装されてもよいし,ハードウェアとソフトウェアとの協働により実装されてもよい。
 係数決定部は,以下の式Iaにおけるw(x,y)を決定するための要素である。ぼかし画像取得部は,先に説明した第1の実施態様に係る要素を適宜用いることができる。
 たとえば,グラフィックス全体をぼかす場合は,すべての(x,y)についてwを1とすればよい。また,wの値を小さくすることで,入力されたもとものと画像データの影響を小さくすることができる。
 ぼかし係数wを用いれば,式Iを式Iaのように表現できる。
 sat(X,Y)=w(X,Y)×i(X,Y)+sat(X-1,Y)-sat(X,Y-1)-sat(X-1,Y-1)・・・・式Ia
 ただし,式Iaにおいて,X-1が-1である場合は,sat(X-1,Y),及びsat(X-1,Y-1)を0とし,Y-1が-1である場合は,sat(X,Y-1)及びsat(X-1,Y-1)を0とする。
 この場合も,式IIは変わらない。
 Sat(x,y)=sat(X,Y)-sat(X,Y)-sat(X,Y)+sat(X,Y)・・・・式II
 この実施態様2においては,ぼかし画像値であるIBlur(x,y)を,以下の式III又は式IIIaのように表現する。式IIIとするか,式IIIaとするかは,適宜システムに入力される情報により選択可能とされていればよい。
  IBlur(x,y)=Sat(x,y)/w×h      ・・・・式III
 IBlur(x,y)=Sat(x,y)/W      ・・・・式IIIa
Figure JPOXMLDOC01-appb-M000006
 
 すなわち,式IIIaでは,式IIIにおけるw×hを,幅w及び高さhの四角領域に含まれる全ての値の和に置き換えた。すなわち,Wは,(X,Y),(X,Y),(X,Y)及び(X,Y)の4点を頂点とする四角内に含まれるw(x,y)の値の和である。ぼかし係数wが全ての点で1の場合は,Wはw×hと同じ値をとるため,式IIIaは式IIIと同じになる。
 Wを求めるためには,上記の四角内に含まれるw(x,y)の値を加算すればよい。たとえば,ぼかしの重みが5の場合,ある点からx座標が-5~+5,y座標が+5~-5の領域についてのwの和を求めればよい。
 もしある点がぼかし画像処理に参加しない点であれば,wは0となるため,その点はsat演算に参加しないこととなる。
 なお,wが0の場合,w(x,y)×i(x,y)も0となる。すると,式IIIaの値が0/0となるが,この場合はその値を0とすればよい。
 第3の実施態様
 次に第3の実施態様について説明する。この実施態様は,奥行き値z又は画素の深さに応じてぼかし処理を変化させるものである。すなわち,図4における係数決定部11に各画素の奥行き値z又は深さdに関する値が入力される。そして,このシステムは,メモリに閾値A及び閾値Bのいずれか又は両方を記憶している。係数決定部11は,メモリから閾値A及び閾値Bの値のいずれか又は両方を読み出して,奥行き値z又は深さdと比較する。そのうえで,たとえば,ルックアップテーブルからwの値を読み出して,w(x,y)としてもよい。また,w(x,y)が0から1の場合は,その値をもとめる演算処理を行ってもよい。
 ある距離の閾値Aが与えられたとする。するとこの閾値を超える深さの値を有するものは注目から外れものであり,完全にぼやかし処理の対象となる。ある距離の閾値Bが与えられたとする。するとこの閾値より近いものは完全に注目される対象となる。この2つの閾値の間の物体については,注目から注目しないものへの遷移が起こるといえ,すなわち全くぼかさないものから完全にぼかすものへの遷移が起こるといえる。
 通常のコンピュータグラフィックスでは,物体はカラーバッファ(色画像)と深さバッファ(カメラからの深さ情報を有する)を含むフレームバッファにレンダリングされる。カメラからの可視領域は,前のクリッピング面(front clipping face)及び遠いクリッピング面(far clipping face)により定義される。先に説明したとおり,この例では閾値A及びBという2つの閾値を用いた。この2つの閾値が,前のクリッピング面および遠いクリッピング面に相当する。
 これを実現するためには,1次元のルックアップテーブルを用いて実現できる。このルックアップテーブルは,深さの値がAより大きい場合は,wを1とする。深さの値がBより小さい場合は,wを0とする。深さの値がB以上A以下の(Bより大きくAより小さい)場合はたとえば,wは0より大きく1より小さい値とすればよい。閾値A及びBをメモリに記憶する。そしてメモリに記憶したA又はBの値を読み出して,前のモジュールから入力された深さの値と,A及びBを比較する。そして,深さの値がAより大きい場合は,wを1とする。深さの値がBより小さい場合は,wを0とする。深さの値がB以上A以下の(Bより大きくAより小さい)場合はたとえば,wは0より大きく1より小さい値で連続的に変化するものとすればよい。たとえば,閾値Bから閾値Aまでの加重平均値を0から1までの数値に割り当てればよい。
 深さが閾値Bから閾値Aの中間をとる場合は,ぼかし係数wとして0から1までの中間の値をとるものとすればよい。このぼかし係数wの集合であるマスク値は,プレプロセッシングモジュールにて求めてもよい。
 wの値が求まった後の処理は,第2の実施態様と同様である。
 第4の実施態様
 第4の実施態様は,グローイング処理をもたらすものである。すなわち,あるグラフィック中に含まれる対象物を特定して,ぼかし画像を取得するものである。
 この態様では,たとえば係数決定部11にコンピュータグラフィックに含まれる対象物の識別番号が入力される。これがステンシル値である。そして,ステンシルバッファから入力された対象物の識別番号に応じて,ぼかし処理を施すか否かを決定する。すなわち,係数決定部11には,ぼかし処理対象物に関する情報が入力される。そして,その対象物の識別番号を用いて,ぼかし対象となるものかぼかし対象とならないものか決定する。たとえば,ぼかし対象とならないものを示すi(x,y)については,wを0とする。または,ぼかし対象とならないものについては,ぼかし画像取得部12を素通りさせて,次のモジュールへデータが送られるようにしてもよい。
 一方,この実施態様では,ぼかし対象となるものに関する情報が係数決定部11に入力されてもよい。その場合,係数決定部11は,その対象物の識別番号を用いて,ぼかし対象となるものかぼかし対象とならないものか決定する。たとえば,ぼかし対象となるものを示すi(x,y)については,wを1とする。このようにして特定の対象のみをぼかすことができる。
 この場合は,w(x,y)=1の部分が完全にぼかし対象となる部分である。この部分をマスクとして扱うことができる。一方,ぼかし対象となるもの以外の部分については,たとえば,第1の実施態様から第3の実施態様のシステム構成を適宜利用してぼかし画像を取得できる。
 第5の実施態様は,シルエットを得る画像処理を行うことができるシステムに関する。
 第4の実施態様に関するグローイングオブジェクトの描画方法を用いることで,あるオブジェクトのシルエットを簡単に得ることができる。オブジェクトの識別番号を入手できれば,マスクデータを得ることができる。そして,第5の態様では,そのマスク自体をぼかす。ぼかした領域は,もともとの対象よりもぼかし処理のため少し大きくなる。このためぼかし処理を施した領域には,もとのオブジェクトの識別番号と異なる識別番号を有することとなるものが含まれる。
 いったん,シルエットマスクを生成した後,マスクをぼかし処理を施し,色値とぼかしたマスクとを調整する。これによれば,たとえば,ゲームにおいて主人公や武器の周辺を光らせるといった画像処理を容易に行うことができることとなる。
 係数決定部11にコンピュータグラフィックに含まれる対象物の識別番号が入力される。そして,画像データが入力された場合に,この対象物の識別番号を用いて,対象物を示す画像データを特定する。その特定した画像データの(x,y)の集合がマスクである。そして,そのマスクの色,透明度,輝度等の設定値を適宜読み出す。そのうえで,新たな対象物のマスク画像データを,ぼかし画像取得部12へと出力する。すると,ぼかし画像取得部12は,マスク画像データのぼかし画像を取得し,次のモジュールへと出力する。次のモジュールでは,画像合成処理を行う。この際,ぼかし画像処理により,対象物の周辺についても画像データが得られることとなるので,その部分については原画像の色データと,ぼかし画像処理が施されたマスクデータの色データとを足し合わせる等の画像処理を行う。これにより,このシステムはシルエット処理を施した画像を得ることができることとなる。
 実施例1は,第1の実施態様に基づく画像生成システムの例に関する。
 図5及び図6は,本発明のぼかし画像生成システムを実装するための回路図である。なお,この回路をソフトウェアでも実装できる。
 図5中,RBXは,x軸方向のぼかしサイズ((w-1)/2)である。RBYは,y軸方向のぼかしサイズ((h-1)/2)である。RTXは,入力画像の幅(W又はW-1)である。RTYは,入力画像の高さ(H又はH-1)である。RTBXは,RTXとRTYとの和である。
 図5及び図6に示される本発明のぼかし画像生成システムにより,ぼかし画像を得るための動作について説明する。
 図5の回路は,(X,Y),(X,Y),(X,Y)及び(X,Y)の座標を求める。また図5の回路は,sat(X,Y),sat(X,Y),sat(X,Y),及びsat(X,Y)の座標を求める。つまり,(X,Y),(X,Y),(X,Y)及び(X,Y)のいずれかが,もともとの画像にない仮想的な座標である場合は,その座標のsatの値を0としたり,他の座標のsatにより求めることができる。
 たとえば,Xを求める場合,座標(x,y)のxに,x軸方向のぼかし幅RBX(図3の場合では2:((5-1)/2))を加えることで求めることができる。
 そして,求めた値をクリッピング回路でクリッピングする。すなわち,クリッピング回路は,加算値とRTXとを比較して,加算値が0以上RTX以下の場合は,加算値をそのままXPとして出力する。また,クリッピング回路は,加算値がRTX以上の場合は,RTXをXPとして出力する。クリッピング回路は,加算値が0以下の場合は,0をXPとして出力する。
 また,上記とは別のクリッピング回路は,加算値とRTBXとを比較して,加算値が0以上RTBX以下の場合は,加算値をそのままXAPとして出力する。また,クリッピング回路は,加算値がRTBX以上の場合は,RTBXをXAPとして出力する。クリッピング回路は,加算値が0以下の場合は,0をXAPとして出力する。
 同様にして,図5に示す回路は,XP,XAP,XM,XAM,YM及びYPを出力する。
 次に,図6に示す回路によりぼかし画像が得られる。図中,flagはフラグを意味し,キャッシュを指定する。図中LLは下の左,LRは下の右,ULは上の左,URは上の右を示す。
 たとえば,図3の4つの白丸のうち,下の左の点(白丸LL)におけるsatを求めることを考える。この場合の,白丸LLのx座標は,XPである。すると,白丸LLにおけるsatは,白丸LLにおける入力値(TGBA),白丸LLの左の座標のsat,上の座標のsat,及び斜め左上のsatを用いて求めることができる。白丸LLの左の点及び斜め左上の点の座標は,XP-1である。これら3点のsatの値は,キャッシュに記憶されている。よって,フラグによりバックキャッシュ又はフロントキャッシュを指定して,XP及XP-1の値を用いて,キャッシュ上の番地を指定することで,計算に必要なsatの値を読み出すことができる。
 値i及びsatの加減算は,式2に従って行えばよく,図5に示される加算器及び減算器を用いて実現できる。なお,減算器は,符号変換回路と加算器とを用いて実現してもよい。
 また,sat(X,Y),sat(X,Y),sat(X,Y),及びsat(X,Y)を用いてSat(x,y)を求めることも,式3に従って行えばよく,図5に示される加算器及び減算器を用いて実現できる。
 さらに,w及びhの乗算値w×hは,図6に示されるように,乗算器を用いて求められる。そして,インバース回路(1/x)で,1/w×hを求める。そして,乗算器でSat(x,y)と1/w×hとを乗算することで,Sat(x,y)/w×hを求めることができる。R,G,B及びαについてのSat(x,y)/w×hの値が,点(x,y)におけるぼかし画像として出力される。
 第2の実施態様
 本発明の第2の実施態様に基づく実施例2について説明する。第2の実施態様は,マスク技術を更に用いたものである。第2の実施態様では,たとえば,注目対象となっていない点のぼかし画像を得ることができる。たとえば,後述するぼかし係数が0のものは,ぼかし画像処理に参加しない点である。このぼかし係数は,たとえば画像のアルファチャネルなどの記憶領域に格納できる。以下の説明では,ぼかし係数をw(x,y)と表現する。
 図7は,本発明のぼかし画像技術を得るためのハードウェア構成を示すブロック図である。ぼかし画像処理を行うモジュールは,PostEffect(ポストエフェクト)コアに搭載されている。
 図7において,スレイブI/Fは,コマンド等やデータの送受信を行うためのインターフェイスモジュールである。このインターフェイスは,他のシステムの構成要素と情報の授受を行う。マスターバス調停回路(Arbiter)は,外部メモリへとアクセスすることと,記憶部において書き込み及び読み出しのコンフリクトが起こらないように調整するための回路である。外部メモリの例は,色バッファや深さバッファである。ブロック/線変換回路は,メモリデータの記憶フォーマットを変換するためのモジュールである。画面制御回路は,モニタに出力される画像情報を制御するためのモジュールである。ポストエフェクトコアは,画像処理を行うとともに,ぼかし画像処理モジュールを含むモジュールである。
 図8は,ポストエフェクトコアを説明するためのブロック図である。スレイブI/Fモジュールは,たとえば図7のスレイブI/Fを含む他のモジュールからのコマンドを受け取る。そして,スキャンラインアルゴリズムに従って,X,Y座標を生成する。たとえば,入力画像の各ラインを順に処理し,それぞれのライン状の各点を順次生成する。
 その都度,P,Pxy,及びPを生成する。ここでtは,トップを意味し,xyは現在地の座標を意味し,bは底を意味する。図9は,P,Pxy,及びPのピクセル位置を説明するための図である。P,Pxy,及びPは図9に示される通りである。さらに,更なるテクスチャのアクセスをようする場合は付加的な座標Txyを生成してもよい。
 次のモジュールは,色,深さ,ステンシル読み出し回路である。このモジュールは,上記のP,Pxy,及びPを利用した処理を行う。このモジュールは,マスターバス調停回路と協働して,様々なメモリにアクセスする。そして,典型的にはRGB及びアルファ(A)の値,ステンシル及び深さの値を読み出す。読みだした値をぼかしモジュールへと伝える。
 ぼかし演算モジュールから出力されたぼかし処理の結果はポストプロセッシングモジュールの入力として用いられる。このモジュールは様々な演算処理を施す。その例は,ブレンディング,アルファ,深さまたはステンシルテスト,色を輝度に変換する処理である。演算処理後,出力される色情報は,書き出しメモリに格納される。このメモリは,マスターバス調停回路を用いて,得られた色情報をメモリに格納する。
 図10は,ぼかし演算処理を実現するためのハードウェア実装のブロック図である。このモジュールは,Pxy及びTxyを処理せず,単に次のモジュールであるポストプロセッシング回路へと渡す。
 先に説明した4つのローカルメモリーは,図10のSRAM0t,SRAM1t,SRAM0b,及びSRAM1b(これらをまとめてSRAMとも表記する)に相当する。SRAM0t,及びSRAM1tは,トップに関連する演算に関連し,SRAM0b,及びSRAM1bはボトム(底)に関する等式と関連したものである。
 式Iの計算に必要な情報が,これらのSRAMから読みだされ,入力値i(x,y)は前のモジュールからの入力として得られる。sat(X,Y)及びsat(X,Y)は,2つの合算モジュールの出力として得られ,sat(X,Y)及びsat(X,Y)は,SRAMから読みだすことで得ることができる。これらの値は,次に合算モジュール及び割り算モジュールにて,式II及び式IIIの演算が行われる。その演算結果であるBxyを次のモジュールへ伝える。
 次に,本発明の第2の実施態様に基づく演算処理について説明する。この演算処理では,すでにPt及びPbが以下の演算処理前に求められている。式Iaを再掲すると以下のとおりとなる。
 sat(x,y)=w(x,y)×i(x,y)+sat(x-1,y)-sat(x,y-1)-sat(x-1,y-1)・・・・式Ia
 w(x,y)の値は,たとえば,トップ及びボトム入力の2度計算される。w(x,y)は,深さ,アルファ,ステンシルテスト,色から輝度への変換,適切なスイッチ選択を用いたテスクチャ入力などに基づいて求めればよい。i(x,y)の典型的な初期値はRGBAの入力値である。モジュールによる演算の後は,R’G’B’Wが出力される。ここで,R’G’及びB’は,入力RGB値の修正された値であり,Wは重み値である。求められたものは,合算モジュールにて使用される。合算モジュール及び除算モジュールでは,重み値は,以下の式と等しいものとして求められる。
Figure JPOXMLDOC01-appb-M000007
 
 Wは,sat演算の結果得られる値であり,合算モジュールの出力である。また,Wは,SRAMの読み出し結果であってもよい。
 深さに基づきぼかし係数を変化させる態様
 この実施例は,第3の実施態様に基づくものである。この実施例3では,奥行き値zまたはカメラからの距離(深さ)dに基づいて,ぼかし処理を変化させるものである。フィールド効果の深さは,以下のようにして求めることができる。かなり深いフィールドの場合は,たとえば,以下のようにしてかなり深いフィールドを定義する。カメラを用いてシーンが得られたとする。ある距離の閾値Aが与えられたとする。するとこの閾値を超える深さの値を有するものは注目から外れものであり,完全にぼやかし処理の対象となる。ある距離の閾値Bが与えられたとする。するとこの閾値より近いものは完全に注目される対象となる。この2つの閾値の間の物体については,注目から注目しないものへの遷移が起こるといえ,すなわち全くぼかさないものから完全にぼかすものへの遷移が起こるといえる。
 通常のコンピュータグラフィックスでは,物体はカラーバッファ(色画像)と深さバッファ(カメラからの深さ情報を有する)を含むフレームバッファにレンダリングされる。カメラからの可視領域は,前のクリッピング面(front clipping face)及び遠いクリッピング面(far clipping face)により定義される。先に説明したとおり,この例では閾値A及びBという2つの閾値を用いた。この2つの閾値が,前のクリッピング面および遠いクリッピング面に相当する。
 これを実現するためには,1次元のルックアップテーブルを用いて実現できる。このルックアップテーブルは,深さの値がAより大きい場合は,wを1とする。深さの値がBより小さい場合は,wを0とする。深さの値がB以上A以下の(Bより大きくAより小さい)場合はたとえば,wは0より大きく1より小さい値とすればよい。閾値A及びBをメモリに記憶する。そしてメモリに記憶したA又はBの値を読み出して,前のモジュールから入力された深さの値と,A及びBを比較する。そして,深さの値がAより大きい場合は,wを1とする。深さの値がBより小さい場合は,wを0とする。深さの値がB以上A以下の(Bより大きくAより小さい)場合はたとえば,wは0より大きく1より小さい値で連続的に変化するものとすればよい。たとえば,閾値Bから閾値Aまでの加重平均値を0から1までの数値に割り当てればよい。
 深さが閾値Bから閾値Aの中間をとる場合は,ぼかし係数wとして0から1までの中間の値をとるものとすればよい。このぼかし係数wの集合であるマスク値は,プレプロセッシングモジュールにて求めてもよい。
 図11(a)は,あるシーンのうち,視点の近くにある対象のみを抽出した画像を示す。この黒色部分がブール関数マスクである。この画像は,それぞれの画素データの深さの値を読み出す一方,閾値を読み出し,これらを比較すればよい。そして,その深さの値が所定の値以下のもののみ抽出すればよい。そして,深さの値が所定の値以下のもののみの集合が,図11(a)に示されるブール関数マスクとなる。
 図11(b)は図11(a)のマスクを用いたぼやかし画像を示す図である。図11(c)は,閾値A及び閾値Bを用いたスムーズマスクを示す図である。
 図12は,図11(c)のマスクを用いて,マスク対象をぼやかさず,画像を合成したものを示す図である。
 グローイング
 以下の例では,コンピュータグラフィックの描画対象は,色像を記憶するカラーバッファと,物体の識別番号と関連したステンシル値を記憶するステンシルバッファとを含むフレームバッファにレンダリングされるとする。
 図13は,実施例4におけるグローイング処理を施す前の原画像である。図13の例では,3つの灯篭がグローイングオブジェクトとして含まれている。この実施例においては,3つの灯篭の回りにグローイング効果をもたらすものである。
 この方法の最初のステップは,マスクを定義することである。灯篭オブジェクトのステンシル値を有するものについては,wの値を1とする。この例では,第1の実施態様のぼかし技術と,第2の実施態様のぼかし技術とを併用することで,灯篭のみをぼかすことができる。
 図14は,灯篭オブジェクトのステンシル値を有する入力画像領域を集約したものを示す図である。この灯篭オブジェクト画像にぼかし処理を施し,原画像とブレンディングしたものが図15である。図15は,実施例4において得られた画像を示す。
 シルエット
 上記のグローイングオブジェクトの描画方法を用いることで,あるオブジェクトのシルエットを簡単に得ることができる。オブジェクトの識別番号を入手できれば,マスクデータを得ることができる。オブジェクトのマスクデータとして光に関する画像データを用いる。そして,この態様では,そのマスク自体をぼかす。ぼかした領域は,もともとの対象よりもぼかし処理のため少し大きくなる。このためぼかし処理を施した領域には,もとのオブジェクトの識別番号と異なる識別番号を有することとなるものが含まれる。ポストプロセッシングにおいては,たとえば,異なるオブジェクト識別番号を有するフラグメントのみをメモリに出力するようにすればよい。図16はその結果を示す。図16はサムライの画像を得るためのものである。図16に示されるように,サムライの輪郭であるシルエットのみを得ることができている。この出力値は,まさにオブジェクトの識別番号テストに基づくブーリアン関数値(Boolean value)である。
 いったん,シルエットマスクを生成した後,マスクをぼかし処理を施す。図17は,ぼかされたマスクを示す図である。その後,マスクと原画像を調整する。図18は実施例5において得られた画像を示す図である。
 本発明は,ぼかし画像を得るためのシステムである。よって,コンピュータグラフィックスの分野において利用されうる。

Claims (10)

  1.  ぼかし画像データを得る画素の座標を(x,y)とし,
     前記座標(x,y)における入力画像データをi(x,y)とし,
     前記座標(x,y)におけるぼかし画像データをIBlur(x,y)とし,
     前記座標(x,y)から,x座標が所定値異なり,y座標が所定値異なる点を,(X,Y),(X,Y),(X,Y)及び(X,Y)とし,
     l(エル)>rとし,b>tとし,
     ある点(X,Y)について,以下の式Iを満たす値をsat(X,Y)とし,
     以下の式IIを満たす値をSat(x,y)とし,
     X-Xをw,Y-Yをhとし,
     前記IBlur(x,y)を,以下の式IIIで表される値としたときに,
     
      座標(X,Y)における入力画像データi(X,Y)を受け取るための入力画像データ入力手段(20)と,
      前記入力画像データ入力手段が受け取った入力画像データi(X,Y)を用いて式Iで示されるsatの値を求めるためのsat演算手段(21)と,
      前記sat演算手段が求めた行ごとのsat演算結果を記憶するためのキャッシュ(22,23)と,
      前記キャッシュから,sat(X,Y),sat(X,Y),sat(X,Y)及びsat(X,Y)の値を読み出して,Sat(x,y)の値を求めるためのSat演算手段(24)と,
      前記Sat演算手段が求めたSat(x,y)の値,前記w及び前記hを用いて,IBlur(x,y)を用いるぼかし画像データ取得手段(25)と,
     を有する,
     コンピュータグラフィックス用のぼかし画像データを得るためのシステムであって,
     
     前記キャッシュは,第1のキャッシュ(22)及び第2のキャッシュ(23)を含み,
     前記第1のキャッシュは,フロントキャッシュ(22a)及びバックキャッシュ(22b)を含み,
     前記第2のキャッシュは,フロントキャッシュ(23a)及びバックキャッシュ(23b)を含み,
     
     前記sat演算手段は,
      1行目の入力画像データi(X,0)を用いて,1行目のsat値であるsat(X,0)を求め,
     前記第1のキャッシュのフロントキャッシュは,
      前記1行目のsat演算結果であるsat(X,0)を記憶し,
     
     前記sat演算手段は,
      2行目の入力画像データi(X,1)と,前記第1のキャッシュのフロントキャッシュが記憶した1行目のsat演算結果であるsat(X,0)を用いて,2行目のsat値であるsat(X,1)を求め,
     前記第1のキャッシュのバックキャッシュは,
      前記2行目のsat演算結果であるsat(X,1)を記憶し,
     
     前記sat演算手段は,
      3行目の入力画像データi(X,2)と,前記第1のキャッシュのバックキャッシュが記憶した2行目のsat演算結果であるsat(X,1)を用いて,3行目のsat値であるsat(X,3)を求め,
      前記第1のキャッシュのフロントキャッシュは,3行目のsat演算結果であるsat(X,2)を用いて記憶情報を更新し,
     
     以下同様の演算を繰り返し,
     
     (Y-2)行目のsat演算結果であるsat(X,Y-1)を,前記第1のキャッシュのフロントキャッシュ及び前記第1のキャッシュのバックキャッシュのいずれかが記憶し,
     
     (Y-1)行目のsat演算結果であるsat(X,Y)を,前記第1のキャッシュのフロントキャッシュ及び前記第1のキャッシュのバックキャッシュのうち,前記sat(X,Y-1)を記憶していない方が記憶し,
     
     前記sat演算手段は,
      Y行目の入力画像データi(X,Y+1)と,前記キャッシュから読み出した前記sat(X,Y)とを用いて,Y行目のsat演算結果であるsat(X,Y+1)を求め,
     前記第2のキャッシュのフロントキャッシュは,
      前記Y行目のsat演算結果であるsat(X,Y+1)を記憶し,
     
     前記sat演算手段は,
      Y+1行目の入力画像データi(X,Y+2)と,前記第2のキャッシュのフロントキャッシュから読み出した前記sat(X,Y+1)とを用いて,Y+1行目のsat演算結果であるsat(X,Y+2)を求め,
     前記第2のキャッシュのバックキャッシュは,
      前記Y+1行目のsat演算結果であるsat(X,Y+2)を記憶し,
     
     前記sat演算手段は,
      Y+2行目の入力画像データi(X,Y+3)と,前記第2のキャッシュのバックキャッシュから読み出した前記sat(X,Y+2)とを用いて,Y+2行目のsat演算結果であるsat(X,Y+3)を求め,
     前記第2のキャッシュのフロントキャッシュは,
      前記Y+2行目のsat演算結果であるsat(X,Y+3)を用いて記録情報を更新し,
     
     以下同様の演算を繰り返し,
     
     (Y-2)行目のsat演算結果であるsat(X,Y-1)を,前記第2のキャッシュのフロントキャッシュ及び前記第2のキャッシュのバックキャッシュのいずれかが記憶し,
     
     (Y-1)行目のsat演算結果であるsat(X,Y)のうち少なくともX=0からX=Xを,前記第2のキャッシュのフロントキャッシュ及び前記第2のキャッシュのバックキャッシュのうち,前記sat(X,Y-1)を記憶していない方が記憶する,
     
     システム。
     
     sat(X,Y)=i(X,Y)+sat(X-1,Y)+sat(X,Y-1)-sat(X-1,Y-1)・・・・式I
     ただし,式Iにおいて,X-1が-1である場合は,sat(X-1,Y),及びsat(X-1,Y-1)を0とし,Y-1が-1である場合は,sat(X,Y-1)及びsat(X-1,Y-1)を0とする。
     
     Sat(x,y)=sat(X,Y)-sat(X,Y)-sat(X,Y)+sat(X,Y)・・・・式II
     
     IBlur(x,y)=Sat(x,y)/w×h      ・・・・式III
     
  2.  前記i(x,y)は,色を示すR,G又はBのいずれかの値である,請求項1に記載のシステム。
     
  3.  前記i(x,y)は,色を示すR,G又はBのいずれかの値であるか,透明度を示すα(アルファ)値である,請求項1に記載のシステム。
     
  4.  前記第1のキャッシュのフロントキャッシュ及び前記第1のキャッシュのバックキャッシュのうち前記sat(X,Y-1)を記憶したキャッシュを,Y行目のsat演算処理から前記IBlur(x,y)を求める処理までの間,ぼかし画像データを得る以外の処理のためのキャッシュとして利用する,請求項1に記載のシステム。
     
  5.  係数決定部11と,ぼかし画像取得部12とを有するコンピュータグラフィックス用のぼかし画像データを得るためのシステムであって,
     ぼかし画像データを得る画素の座標を(x,y)とし,
     前記座標(x,y)における入力画像データをi(x,y)とし,
     前記座標(x,y)におけるぼかし画像データをIBlur(x,y)とし,
     前記座標(x,y)から,x座標が所定値異なり,y座標が所定値異なる点を,(X,Y),(X,Y),(X,Y)及び(X,Y)とし,
     l(エル)>rとし,b>tとし,
     ある点(X,Y)について,以下の式Iaを満たす値をsat(X,Y)とし,
     以下の式IIを満たす値をSat(x,y)とし,
     X-Xをw,Y-Yをhとし,
     前記IBlur(x,y)を,以下の式III又は式IIIaで表される値としたときに,
     前記ぼかし画像取得部12は,
      座標(X,Y)における入力画像データi(X,Y)を受け取るとともに,前記係数決定部11からぼかし係数w(X,Y)を受け取るための入力画像データ入力手段(20)と,
      前記入力画像データ入力手段が受け取った入力画像データi(X,Y)を用いて式Iaで示されるsatの値を求めるためのsat演算手段(21)と,
      前記sat演算手段が求めた行ごとのsat演算結果を記憶するためのキャッシュ(22,23)と,
      前記キャッシュから,sat(X,Y),sat(X,Y),sat(X,Y)及びsat(X,Y)の値を読み出して,Sat(x,y)の値を求めるためのSat演算手段(24)と,
      前記Sat演算手段が求めたSat(x,y)の値を用いて,IBlur(x,y)を用いるぼかし画像データ取得手段(25)と,
     を有する,
     コンピュータグラフィックス用のぼかし画像データを得るためのシステムであって,
     
     前記キャッシュは,第1のキャッシュ(22)及び第2のキャッシュ(23)を含み,
     前記第1のキャッシュは,フロントキャッシュ(22a)及びバックキャッシュ(22b)を含み,
     前記第2のキャッシュは,フロントキャッシュ(23a)及びバックキャッシュ(23b)を含み,
     
     前記sat演算手段は,
      1行目の入力画像データi(X,0)を用いて,1行目のsat値であるsat(X,0)を求め,
     前記第1のキャッシュのフロントキャッシュは,
      前記1行目のsat演算結果であるsat(X,0)を記憶し,
     
     前記sat演算手段は,
      2行目の入力画像データi(X,1)と,前記第1のキャッシュのフロントキャッシュが記憶した1行目のsat演算結果であるsat(X,0)を用いて,2行目のsat値であるsat(X,1)を求め,
     前記第1のキャッシュのバックキャッシュは,
      前記2行目のsat演算結果であるsat(X,1)を記憶し,
     
     前記sat演算手段は,
      3行目の入力画像データi(X,2)と,前記第1のキャッシュのバックキャッシュが記憶した2行目のsat演算結果であるsat(X,1)を用いて,3行目のsat値であるsat(X,3)を求め,
      前記第1のキャッシュのフロントキャッシュは,3行目のsat演算結果であるsat(X,2)を用いて記憶情報を更新し,
     
     以下同様の演算を繰り返し,
     
     (Y-2)行目のsat演算結果であるsat(X,Y-1)を,前記第1のキャッシュのフロントキャッシュ及び前記第1のキャッシュのバックキャッシュのいずれかが記憶し,
     
     (Y-1)行目のsat演算結果であるsat(X,Y)を,前記第1のキャッシュのフロントキャッシュ及び前記第1のキャッシュのバックキャッシュのうち,前記sat(X,Y-1)を記憶していない方が記憶し,
     
     前記sat演算手段は,
      Y行目の入力画像データi(X,Y+1)と,前記キャッシュから読み出した前記sat(X,Y)とを用いて,Y行目のsat演算結果であるsat(X,Y+1)を求め,
     前記第2のキャッシュのフロントキャッシュは,
      前記Y行目のsat演算結果であるsat(X,Y+1)を記憶し,
     
     前記sat演算手段は,
      Y+1行目の入力画像データi(X,Y+2)と,前記第2のキャッシュのフロントキャッシュから読み出した前記sat(X,Y+1)とを用いて,Y+1行目のsat演算結果であるsat(X,Y+2)を求め,
     前記第2のキャッシュのバックキャッシュは,
      前記Y+1行目のsat演算結果であるsat(X,Y+2)を記憶し,
     
     前記sat演算手段は,
      Y+2行目の入力画像データi(X,Y+3)と,前記第2のキャッシュのバックキャッシュから読み出した前記sat(X,Y+2)とを用いて,Y+2行目のsat演算結果であるsat(X,Y+3)を求め,
     前記第2のキャッシュのフロントキャッシュは,
      前記Y+2行目のsat演算結果であるsat(X,Y+3)を用いて記録情報を更新し,
     
     以下同様の演算を繰り返し,
     
     (Y-2)行目のsat演算結果であるsat(X,Y-1)を,前記第2のキャッシュのフロントキャッシュ及び前記第2のキャッシュのバックキャッシュのいずれかが記憶し,
     
     (Y-1)行目のsat演算結果であるsat(X,Y)のうち少なくともX=0からX=Xを,前記第2のキャッシュのフロントキャッシュ及び前記第2のキャッシュのバックキャッシュのうち,前記sat(X,Y-1)を記憶していない方が記憶する,
     
     システム。
     
     sat(X,Y)=w(X,Y)×i(X,Y)+sat(X-1,Y)+sat(X,Y-1)-sat(X-1,Y-1)・・・・式Ia
     ただし,式Iaにおいて,X-1が-1である場合は,sat(X-1,Y),及びsat(X-1,Y-1)を0とし,Y-1が-1である場合は,sat(X,Y-1)及びsat(X-1,Y-1)を0とする。
     
     Sat(x,y)=sat(X,Y)-sat(X,Y)-sat(X,Y)+sat(X,Y)・・・・式II
     
     IBlur(x,y)=Sat(x,y)/w×h      ・・・・式III
     IBlur(x,y)=Sat(x,y)/W      ・・・・式IIIa
    Figure JPOXMLDOC01-appb-M000008
  6.  請求項5に記載のシステムであって,
     前記係数決定部11は,
     入力画像データi(X,Y)の奥行きz(X,Y)又は深さd(X,Y)に関する情報が入力される入力手段と,
     第1の閾値A及び第2の閾値Bが入力される閾値入力手段と,
     前記奥行きz(X,Y)又は深さd(X,Y)と前記第1の閾値A及び第2の閾値Bとを比較する比較演算手段と,
     前記比較演算手段の比較結果に応じて,係数w(X,Y)を決定する係数決定手段とを有し,
     前記係数決定手段は,前記奥行きz(X,Y)又は深さd(X,Y)が前記第1の閾値A以上の場合は,w(X,Y)を0とし,
     前記奥行きz(X,Y)又は深さd(X,Y)が前記第2の閾値B以下の場合は,w(X,Y)を1とし,
      前記奥行きz(X,Y)又は深さd(X,Y)が前記第2の閾値Bより大きく前記第1の閾値Aより小さい場合は,w(X,Y)を0から1の間の値とするように演算処理を行う,
     システム。
     
  7.  請求項5に記載のシステムであって,
     前記係数決定部11は,
     入力画像データi(X,Y),及びコンピュータブラフィックスにおける対象物の識別番号が入力されるとともに,ぼかし画像処理の対象となる対象物に関する情報が入力される対象物入力手段と,
     前記ぼかし画像処理の対象となる対象物に関する情報,前記対象物の識別番号及び前記入力画像データi(X,Y)を用いて,ぼかし画像処理の対象となる対象物を把握し,このぼかし画像対象となる対象物に関するぼかし係数w(X,Y)を1とする係数決定手段とを有する,
     システム。
     
  8.  請求項5に記載のシステムであって,
     前記係数決定部11は,
     入力画像データi(X,Y),及びコンピュータブラフィックスにおける対象物の識別番号が入力されるとともに,ぼかし画像処理の対象となる対象物に関する情報が入力される対象物入力手段と,
     前記対象物入力手段により特定された対象物の画素データ部分についてマスク領域を得るマスク領域取得手段と,
     前記マスク領域取得手段が取得したマスク領域の新たな画像データを得るマスク領域の画像データ取得手段と,
     前記マスク領域の係数w(x,y)を1と決定する係数決定手段と,
     を有し,
     前記ぼかし画像取得部12は,
     前記係数決定部11が決定したマスク領域に関して,
     前記係数w(x,y)=1を受け取るとともに,前記新たな画像データを入力画像データとして受け取り,
     前記対象物のマスクのぼかし画像を得る,
     システム。
     
  9.  ぼかし画像データを得る画素の座標を(x,y)とし,
     前記座標(X,Y)における入力画像データをi(X,Y)とし,
     前記座標(x,y)におけるぼかし画像データをIBlur(x,y)とし,
     前記座標(x,y)から,x座標が所定値異なり,y座標が所定値異なる点を,(X,Y),(X,Y),(X,Y)及び(X,Y)とし,
     l(エル)>rとし,b>tとし,
     ある点(X,Y)について,以下の式Iを満たす値をsat(X,Y)とし,
     以下の式IIを満たす値をSat(x,y)とし,
     X-Xをw,Y-Yをhとし,
     前記IBlur(x,y)を,以下の式IIIで表される値としたときに,
     
     コンピュータを,
      前記入力画像データi(X,Y)を受け取るための入力画像データ入力手段と,
      前記入力画像データ入力手段が受け取った入力画像データi(X,Y)を用いて式Iで示されるsatの値を求めるためのsat演算手段と,
      前記sat演算手段が求めた行ごとのsat演算結果を記憶するためのキャッシュと,
      前記キャッシュから,sat(X,Y),sat(X,Y),sat(X,Y)及びsat(X,Y)の値を読み出して,Sat(x,y)の値を求めるためのSat演算手段と,
      前記Sat演算手段が求めたSat(x,y)の値,前記w及び前記hを用いて,IBlur(x,y)を用いるぼかし画像データ取得手段と,
     を有する,
     コンピュータグラフィックス用のぼかし画像データを得るためのシステムであって,
     
     前記キャッシュは,第1のキャッシュ及び第2のキャッシュを含み,
     前記第1のキャッシュは,フロントキャッシュ及びバックキャッシュを含み,
     前記第2のキャッシュは,フロントキャッシュ及びバックキャッシュを含み,
     
     前記sat演算手段は,
      1行目の入力画像データi(X,0)を用いて,1行目のsat値であるsat(X,0)を求め,
     前記第1のキャッシュのフロントキャッシュは,
      前記1行目のsat演算結果であるsat(X,0)を記憶し,
     
     前記sat演算手段は,
      2行目の入力画像データi(X,1)と,前記第1のキャッシュのフロントキャッシュが記憶した1行目のsat演算結果であるsat(X,0)を用いて,2行目のsat値であるsat(X,1)を求め,
     前記第1のキャッシュのバックキャッシュは,
      前記2行目のsat演算結果であるsat(X,1)を記憶し,
     
     前記sat演算手段は,
      3行目の入力画像データi(X,2)と,前記第1のキャッシュのバックキャッシュが記憶した2行目のsat演算結果であるsat(X,1)を用いて,3行目のsat値であるsat(X,3)を求め,
      前記第1のキャッシュのフロントキャッシュは,3行目のsat演算結果であるsat(X,2)を用いて記憶情報を更新し,
     
     以下同様の演算を繰り返し,
     
     (Y-2)行目のsat演算結果であるsat(X,Y-1)を,前記第1のキャッシュのフロントキャッシュ及び前記第1のキャッシュのバックキャッシュのいずれかが記憶し,
     
     (Y-1)行目のsat演算結果であるsat(X,Y)を,前記第1のキャッシュのフロントキャッシュ及び前記第1のキャッシュのバックキャッシュのうち,前記sat(X,Y-1)を記憶していない方が記憶し,
     
     前記sat演算手段は,
      Y行目の入力画像データi(X,Y+1)と,前記キャッシュから読み出した前記sat(X,Y)とを用いて,Y行目のsat演算結果であるsat(X,Y+1)を求め,
     前記第2のキャッシュのフロントキャッシュは,
      前記Y行目のsat演算結果であるsat(X,Y+1)を記憶し,
     
     前記sat演算手段は,
      Y+1行目の入力画像データi(X,Y+2)と,前記第2のキャッシュのフロントキャッシュから読み出した前記sat(X,Y+1)とを用いて,Y+1行目のsat演算結果であるsat(X,Y+2)を求め,
     前記第2のキャッシュのバックキャッシュは,
      前記Y+1行目のsat演算結果であるsat(X,Y+2)を記憶し,
     
     前記sat演算手段は,
      Y+2行目の入力画像データi(X,Y+3)と,前記第2のキャッシュのバックキャッシュから読み出した前記sat(X,Y+2)とを用いて,Y+2行目のsat演算結果であるsat(X,Y+3)を求め,
     前記第2のキャッシュのフロントキャッシュは,
      前記Y+2行目のsat演算結果であるsat(X,Y+3)を用いて記録情報を更新し,
     
     以下同様の演算を繰り返し,
     
     (Y-2)行目のsat演算結果であるsat(X,Y-1)を,前記第2のキャッシュのフロントキャッシュ及び前記第2のキャッシュのバックキャッシュのいずれかが記憶し,
     
     (Y-1)行目のsat演算結果であるsat(X,Y)のうち少なくともX=0からX=Xを,前記第2のキャッシュのフロントキャッシュ及び前記第2のキャッシュのバックキャッシュのうち,前記sat(X,Y-1)を記憶していない方が記憶する,
     
     システムとして機能させるためのプログラム。
     
     sat(X,Y)=i(X,Y)+sat(X-1,Y)+sat(X,Y-1)-sat(X-1,Y-1)・・・・式I
     ただし,式Iにおいて,X-1が-1である場合は,sat(X-1,Y),及びsat(X-1,Y-1)を0とし,Y-1が-1である場合は,sat(X,Y-1)及びsat(X-1,Y-1)を0とする。
     
     Sat(x,y)=sat(X,Y)-sat(X,Y)-sat(X,Y)+sat(X,Y)・・・・式II
     
     IBlur(x,y)=Sat(x,y)/w×h      ・・・・式III
     
  10.  請求項9に記載のプログラムを記憶したコンピュータにより読み取り可能な情報記録媒体。
     
PCT/JP2011/001755 2010-03-26 2011-03-25 ぼかし画像取得装置及び方法 WO2011118224A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/637,020 US8970614B2 (en) 2010-03-26 2011-03-25 Apparatus and a method for obtaining a blur image
JP2012506859A JP5689871B2 (ja) 2010-03-26 2011-03-25 ぼかし画像取得装置及び方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010071461 2010-03-26
JP2010-071461 2010-03-26

Publications (1)

Publication Number Publication Date
WO2011118224A1 true WO2011118224A1 (ja) 2011-09-29

Family

ID=44672802

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/001755 WO2011118224A1 (ja) 2010-03-26 2011-03-25 ぼかし画像取得装置及び方法

Country Status (3)

Country Link
US (1) US8970614B2 (ja)
JP (1) JP5689871B2 (ja)
WO (1) WO2011118224A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004185611A (ja) * 2002-11-21 2004-07-02 Advanced Telecommunication Research Institute International 顔位置の抽出方法、およびコンピュータに当該顔位置の抽出方法を実行させるためのプログラムならびに顔位置抽出装置
JP2005293061A (ja) * 2004-03-31 2005-10-20 Advanced Telecommunication Research Institute International ユーザインタフェース装置およびユーザインタフェースプログラム
JP2006072829A (ja) * 2004-09-03 2006-03-16 Fujifilm Software Co Ltd 画像認識システム及び画像認識方法
JP2007028348A (ja) * 2005-07-20 2007-02-01 Noritsu Koki Co Ltd 画像処理装置及び画像処理方法
JP2010009599A (ja) * 2008-06-27 2010-01-14 Palo Alto Research Center Inc 局所化されたスケール空間特性を使用してピクチャイメージ内で安定したキーポイントを検出するシステムおよび方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6864994B1 (en) * 2000-01-19 2005-03-08 Xerox Corporation High-speed, high-quality descreening system and method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004185611A (ja) * 2002-11-21 2004-07-02 Advanced Telecommunication Research Institute International 顔位置の抽出方法、およびコンピュータに当該顔位置の抽出方法を実行させるためのプログラムならびに顔位置抽出装置
JP2005293061A (ja) * 2004-03-31 2005-10-20 Advanced Telecommunication Research Institute International ユーザインタフェース装置およびユーザインタフェースプログラム
JP2006072829A (ja) * 2004-09-03 2006-03-16 Fujifilm Software Co Ltd 画像認識システム及び画像認識方法
JP2007028348A (ja) * 2005-07-20 2007-02-01 Noritsu Koki Co Ltd 画像処理装置及び画像処理方法
JP2010009599A (ja) * 2008-06-27 2010-01-14 Palo Alto Research Center Inc 局所化されたスケール空間特性を使用してピクチャイメージ内で安定したキーポイントを検出するシステムおよび方法

Also Published As

Publication number Publication date
JP5689871B2 (ja) 2015-03-25
US8970614B2 (en) 2015-03-03
US20130042069A1 (en) 2013-02-14
JPWO2011118224A1 (ja) 2013-07-04

Similar Documents

Publication Publication Date Title
KR100896155B1 (ko) 내장형 디바이스의 플렉시블 안티에일리어싱
US8379972B1 (en) Color decontamination for image compositing
US8040352B2 (en) Adaptive image interpolation for volume rendering
CN110580696A (zh) 一种细节保持的多曝光图像快速融合方法
CN114862722B (zh) 一种图像亮度增强实现方法及处理终端
WO2016039301A1 (ja) 画像処理装置および画像処理方法
US20080074435A1 (en) Texture filtering apparatus, texture mapping apparatus, and method and program therefor
US20240127402A1 (en) Artificial intelligence techniques for extrapolating hdr panoramas from ldr low fov images
JP5689871B2 (ja) ぼかし画像取得装置及び方法
JP7131080B2 (ja) ボリュームレンダリング装置
CN116228517A (zh) 一种深度图像处理方法、系统、设备以及存储介质
US7859531B2 (en) Method and apparatus for three-dimensional graphics, and computer product
JP5178933B1 (ja) 画像処理装置
CN113240588A (zh) 一种基于增强大气散射模型的图像去雾和曝光方法
JP2973432B2 (ja) 画像処理方法および装置
JPH0822556A (ja) テクスチャマッピング装置
JP3587105B2 (ja) 図形データ処理装置
US6738064B2 (en) Image processing device and method, and program therefor
CN117132470A (zh) 超分辨率图像的重建方法、设备和存储介质
CN117911296A (zh) 用于从低ldr的fov图像推断hdr全景图的人工智能技术
JP4696669B2 (ja) 画像調整方法及び画像調整装置
GB2624103A (en) Artificial intelligence techniques for extrapolating HDR panoramas from LDR low FOV images
CN118505889A (zh) 角色自阴影效果的实现方法、装置、电子设备及存储介质
CN117896510A (zh) 图像处理方法、装置、电子设备及可读存储介质
JP3438921B2 (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: 11759033

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012506859

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 13637020

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11759033

Country of ref document: EP

Kind code of ref document: A1