US20050225802A1 - Image processing apparatus and method and program of the same - Google Patents

Image processing apparatus and method and program of the same Download PDF

Info

Publication number
US20050225802A1
US20050225802A1 US11/141,010 US14101005A US2005225802A1 US 20050225802 A1 US20050225802 A1 US 20050225802A1 US 14101005 A US14101005 A US 14101005A US 2005225802 A1 US2005225802 A1 US 2005225802A1
Authority
US
United States
Prior art keywords
image data
circuit
image
read
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/141,010
Inventor
Hiroshi Tajima
Tetsuya Hirano
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to US11/141,010 priority Critical patent/US20050225802A1/en
Publication of US20050225802A1 publication Critical patent/US20050225802A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • 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/20212Image combination
    • G06T2207/20221Image fusion; Image merging
    • 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/20212Image combination
    • G06T2207/20224Image subtraction

Definitions

  • the present invention relates to an image processing apparatus and method and program of the same capable of flexibly changing ⁇ -blending, edge enhancement, blurring, and other image processing.
  • Computer aided design (CAD) systems, amusement apparatuses, etc. include built-in rendering circuits for computer graphic processing.
  • These rendering circuits use exclusive hardware for the edge enhancement, blurring, and other image processing on the displayed images.
  • An object of the present invention is to provide an image processing apparatus and method and program of the same capable of flexibly changing the edge enhancement, blurring, and other image effect processing.
  • an image processing apparatus comprising a memory circuit for storing image data; a read circuit for reading at least first image data, second image data, and third image data from the memory circuit; a first processing circuit for producing fourth image data indicating a difference between the first image data and the second image data read by the read circuit; a second processing circuit for multiplying the fourth image data with a predetermined coefficient to produce fifth image data; a third processing circuit for adding the third image data and the fifth image data to produce sixth image data; a write circuit for writing the sixth image data to the memory circuit; and a control circuit for executing a predetermined program to control the read circuit, the first processing circuit, the second processing circuit, the third processing circuit, and the write circuit in accordance with execution of the program.
  • the control circuit executes the program to control the following processing in accordance with the execution of the program.
  • the read circuit reads first image data and second image data from the memory circuit.
  • the first processing circuit generates fourth image data indicating a difference between the first image data and the second image data.
  • the second processing circuit multiplies the fourth image data with a predetermined coefficient to produce fifth image data.
  • the read circuit reads third image data from the memory circuit.
  • the third processing circuit adds the third image data and the fifth image data to produce sixth image data.
  • a write circuit writes the fifth image data in the memory circuit.
  • a method of image processing comprising a first step of producing fourth image data indicating a difference between first image data and second image data; a second step of multiplying the fourth image data with a predetermined coefficient to produce fifth image data; and a third step of adding the third image data and the fifth image data to produce sixth image data, executing a predetermined program, and controlling the first to third steps in accordance with the execution of the program.
  • a program executed by a processing apparatus to control a first processing circuit, a second processing circuit, and a third processing circuit comprising a first routine of producing fourth image data indicating a difference between first image data and second image data by the first processing circuit; a second routine of multiplying the fourth image data with a predetermined coefficient to produce fifth image data by the second processing circuit; and a third routine of adding the third image data and the fifth image data to produce sixth image data by the third processing circuit.
  • FIG. 1 is a view of the configuration of an image processing apparatus of the present embodiment
  • FIG. 2 is a view for explaining a case of ⁇ -blending using the image processing apparatus shown in FIG. 1 ;
  • FIG. 3 is a view for explaining another case of ⁇ -blending using the image processing apparatus shown in FIG. 1 ;
  • FIG. 4 is a view for explaining a case of edge enhancement using the image processing apparatus shown in FIG. 1 ;
  • FIG. 5 is a view for explaining the effects of the edge enhancement shown in FIG. 4 ;
  • FIG. 6 is another view for explaining the effects of the edge enhancement shown in FIG. 4 ;
  • FIG. 7 is a view for explaining the case of blurring by averaging values of four pixels using the image processing apparatus shown in FIG. 1 ;
  • FIG. 8 is a view for explaining an example of an operation when the image processing apparatus shown in FIG. 1 performs processing corresponding to “image IM — 12a ⁇ 1 ⁇ 2+(11 ⁇ 2) ⁇ image IM — 12” in equation (3);
  • FIG. 9 is a view for explaining an example of an operation when the image processing apparatus shown in FIG. 1 performs processing corresponding to “image IM — 12b ⁇ 1 ⁇ 3+(11 ⁇ 3) ⁇ image IM — 12a ⁇ 1 / 2 +(11 ⁇ 2) ⁇ image IM — 12 ⁇ ” in equation (3) using a result of the processing “image IM — 12a ⁇ 1 ⁇ 2+(11 ⁇ 2) ⁇ image IM — 12” shown in FIG. 8 ;
  • FIG. 10 is a view for explaining an example of an operation when the image processing apparatus shown in FIG. 1 performs processing corresponding to equation (3) using the result of the processing “image IM — 12b ⁇ 1 ⁇ 3+(11 ⁇ 3) ⁇ image IM — 12a ⁇ 1 ⁇ 2+( 11 ⁇ 2) ⁇ image IM — 12 ⁇ ” shown in FIG. 9 ;
  • FIG. 11 is a view for explaining a case of blurring by averaging the values of nine pixels using the image processing apparatus shown in FIG. 1 .
  • FIG. 1 is a view of the configuration of an image processing apparatus 1 of the present embodiment.
  • the image processing apparatus 1 comprises a CPU 2 , a memory 3 , and an image processing circuit 4 .
  • the image processing apparatus 1 corresponds to the image processing apparatus of the present invention
  • the CPU 2 corresponds to the control circuit of the present invention
  • the memory 3 corresponds to the memory circuit of the present invention.
  • the CPU 2 produces control signals S 2 a, S 2 b, S 2 c, S 2 d, S 2 e, S 2 f, and S 2 g, described later, to be output to a read circuit 10 , a read circuit 11 , a write circuit 18 , a selector 12 , a selector 13 , a selector 14 , and a multiplication circuit 16 .
  • the CPU 2 executes a predetermined program to produce the control signals mentioned above in accordance with the execution of the program.
  • the memory 3 stores various image data (for example, texture data) to be used for a processing of the image processing circuit 4 so that the image data may be read by specifying a read position by pixel units using coordinate data (u, v).
  • image data for example, texture data
  • the image processing circuit 4 comprises, for example, the read circuits 10 and 11 , the selectors 12 , 13 , and 14 , the subtraction circuit 15 , the multiplication circuit 16 , the addition circuit 17 , and the write circuit 18 .
  • the read circuits 10 and 11 correspond to the read circuit of the present invention
  • the selectors 12 , 13 , 14 correspond to the selecting circuit of the present invention
  • the subtraction circuit 15 corresponds to the first processing circuit of the present invention
  • the multiplication circuit 16 corresponds to the second processing circuit of the present invention
  • the addition circuit 17 corresponds to the third processing circuit of the present invention.
  • the read circuit 10 reads image data S 3 a (first image data and third image data of present invention) from the memory 3 in units of pixel data by using coordinate data (u,v) of the image designated by a control signal S 2 a when reading image data from the memory 3 on the basis of the control signal S 2 a from the CPU 2 .
  • the read circuit 10 reads the image data S 3 a from an address of the memory 3 designated by the control signal S 2 a from the CPU 3 .
  • the read circuit 10 outputs the image data S 3 a read from the memory 3 to first input terminals of the selectors 12 , 13 , and 14 .
  • the read circuit 11 reads image data S 3 b (second image data and third image data of present invention) from the memory 3 in units of pixel data by using coordinate data (u,v) of the image designated by a control signal S 2 b when reading image data from the memory 3 on the basis of the control signal S 2 b from the CPU 2 .
  • the read circuit 11 reads image data S 3 b from an address of the memory 3 designated by the control signal S 2 b from the CPU 3 .
  • the read circuit 11 outputs the image data S 3 b read from the memory 3 to second input terminals of the selectors 12 , 13 , and 14 .
  • the selector 12 selects one of the image data S 3 a input from a first input terminal and the image data S 3 b input from a second input terminal on the basis of the control signal S 2 d from the CPU 2 and outputs the selected image data to the subtraction circuit 15 .
  • the selector 13 selects one of the image data S 3 a input from a first input terminal and the image data S 3 b input from a second input terminal on the basis of the control signal S 2 e from the CPU 2 and outputs the selected image data to the subtraction circuit 15 .
  • the selector 14 selects one of the image data S 3 a input from a first input terminal and the image data S 3 b input from a second input terminal on the basis of the control signal S 2 f from the CPU 2 and outputs the selected image data to the addition circuit 17 .
  • the subtraction circuit 15 subtracts the image data input from the selector 13 from the image data input from the selector 12 to produce image data S 15 (fourth image data of present invention) and outputs the image data S 15 to the multiplication circuit 16 .
  • the subtraction of the subtraction circuit 15 is performed, for example, by using the values of R, G, and B (pixel values) indicated by the pixel data for each of the pixel data which constitute the image data.
  • the multiplication circuit 16 multiplies the image data S 15 with a coefficient indicated by the control signal S 2 g input from the CPU 2 to produce image data S 16 (fifth image data of present invention) and outputs the image data S 16 to the addition circuit 17 .
  • the multiplication of the multiplication circuit 16 is performed, for example, by multiplying each of the image data constituting the image data S 15 with the coefficient indicated by the control signal S 2 g.
  • the addition circuit 17 adds the image data S 16 input from the multiplication circuit 16 and the image data input from the selector 14 to produce image data S 17 (sixth image data of present invention) and outputs the image data S 17 to the write circuit 18 .
  • the addition of the addition circuit 17 is performed, for example, by using the values of R, G, and B indicated by the pixel data for each of the pixel data constituting the image data.
  • the write circuit 18 writes the image data S 17 input from the addition circuit 17 to the address in the memory 3 designated by the control signal S 2 c from the CPU 2 .
  • the read circuit 10 shown in FIG. 1 reads the image data S 3 a of the image IM_ 1 shown in FIG. 2 from the memory 3 , and the selector 12 selects the image data S 3 a and outputs it to the subtraction circuit 15 .
  • the read circuit 11 shown in FIG. 1 reads the image data S 3 b of the image IM_ 2 shown in FIG. 2 from the memory 3 , and the selector 13 selects the image data S 3 b and outputs it to the subtraction circuit 15 .
  • the subtraction circuit 15 subtracts the image data S 3 b from the image data S 3 a, that is, subtracts the image IM_ 2 from the image IM_ 1 , and then outputs the resultant image data S 16 to the addition circuit 17 .
  • the multiplication circuit 16 multiplies the image data S 15 by the coefficient a designated by the control signal S 2 g and then outputs the resultant image data S 16 to the addition circuit 17 .
  • the read circuit 11 shown in FIG. 1 reads the image data S 3 b of the image IM_ 2 shown in FIG. 2 from the memory 3 , and then the selector 14 selects the image data S 3 b and outputs it to the addition circuit 17 .
  • the addition circuit 17 adds the image data S 16 from the multiplication circuit 16 and the image data S 3 b from the selector 14 to produce the image data S 17 of an image IM_ 3 blending the image IM_ 1 and the image IM_ 2 .
  • the write circuit 18 writes the image data S 17 to the memory 3 .
  • FIG. 2 shows an example of ⁇ -blending the image IM_ 1 of a heart and the image IM_ 2 of an arrow.
  • the image shown in FIG. 3 is obtained when using the image IM_ 1 of the letter “B” and the image IM_ 2 of the letter “A”.
  • the read circuit 10 shown in FIG. 1 reads the image data S 3 a of the image IM_ 12 of the letter “A” shown in FIG. 4 from the memory 3 , and the selector 12 selects the image data S 3 a and outputs it to the subtraction circuit 15 .
  • the read circuit 11 shown in FIG. 1 reads the image data S 3 b of the image IM_ 12 a obtained by shifting the image IM_ 12 of the letter “A” shown in FIG. 4 to the right direction by one pixel from the memory 3 , and the selector 13 selects the image data S 3 b and outputs it to the subtraction circuit 15 .
  • the read operation of the image data S 3 b of the image IM_ 12 a by the read circuit 11 is performed by using coordinate data (u,v) of the texture image of the letter “A” stored in the memory 3 . That is, the read circuit 11 reads the image IM_ 12 a obtained by shifting the image IM_ 12 by one pixel to the right direction by using a function of texture mapping. Then, the subtraction circuit 15 subtracts the image data S 3 b from the image data S 3 a, that is, subtracts the image IM_ 12 a from the image IM_ 12 , and then outputs the resultant image data S 15 to the multiplication circuit 16 .
  • the coefficient ⁇ is determined in accordance with the degree of the edge enhancement.
  • the read circuit 11 shown in FIG. 1 reads the image data S 3 a of the image IM_ 12 from the memory 3 , and the selector 14 selects the image data S 3 b and outputs it to the addition circuit 17 .
  • the addition circuit 17 adds the image data S 16 from the multiplication circuit 16 and the image data S 3 a from the selector 14 to produce the image data S 17 and then outputs it to the write circuit 18 .
  • the write circuit 18 writes the image data S 17 to the memory 3 .
  • the levels of the pixel values become, for example, as shown in FIG. 6A .
  • the pixel values of the pixel data on line 50 of the image IM_ 12 a obtained by shifting the image IM_ 12 by one pixel to the right direction become as shown in FIG. 6B .
  • the pixel values on line 50 of the image data Si 5 obtained by subtracting the pixel values of the image IM_ 12 a shown in FIG. 6B from the pixel values of the image IM_ 12 shown in FIG. 6A become as shown in FIG. 6C .
  • the pixel values on line 50 of the image S 17 resulting from adding the pixel values of FIG. 6A to the pixel values of FIG. 6D become as shown in FIG. 6E .
  • FIG. 6E it is understood that the image IM_ 13 shown in FIG. 4 becomes an edge enhanced image.
  • the image processing apparatus 1 performs processing corresponding to equation (3) as shown in FIG. 8 to FIG. 10 .
  • FIG. 8 is a view for explaining an example of the operation when performing processing corresponding to “image IM — 12a ⁇ 1 ⁇ 2+(11 ⁇ 2) ⁇ image IM — 12” in equation (3).
  • FIG. 9 is a view for explaining an example of operation when performing processing corresponding to “image IM — 12b ⁇ 1 ⁇ 3+(11 ⁇ 3) ⁇ image IM — 12a ⁇ 1 ⁇ 2+(11 ⁇ 2) ⁇ image IM — 12 ⁇ ” in equation (3) using a result of the processing “image IM — 12a ⁇ 1 ⁇ 2+(11 ⁇ 2) ⁇ image IM — 12” shown in FIG. 8 .
  • FIG. 10 is a view for explaining an example of the operation when performing processing corresponding to equation (3) using the result of the processing “image IM — 12b ⁇ 1 ⁇ 3+(11 ⁇ 3) ⁇ image IM — 12a ⁇ 1 ⁇ 2+(11 ⁇ 2) ⁇ image IM — 12 ⁇ ” shown in FIG. 9 .
  • the read circuit 10 shown in FIG. 1 reads the image data S 3 a of the image IM_ 12 a obtained by shifting the image IM_ 12 of the letter “A” by one pixel to the right direction from the memory 3 , while the selector 12 selects the image data S 3 a and outputs it to the subtraction circuit 15 .
  • the read operation of the image data S 3 a of the image IM_ 12 a by the read circuit 10 is performed using the coordinate data (u,v) of the image (for example, texture image) of the letter “A” stored in the memory 3 on the basis of the control signal S 2 a from the CPU 2 . That is, the read circuit 11 reads the image IM_ 12 a obtained by shifting the image IM_ 12 by one pixel to the right direction from the memory 3 using the texture mapping function.
  • the read circuit 11 shown in FIG. 1 reads the image data S 3 b of the image IM_ 12 of the letter “A” from the memory 3 , and then the selector 13 selects the image data S 3 b and outputs it to the subtraction circuit 15 .
  • the subtraction circuit 15 subtracts the image data S 3 b from the image data S 3 a, that is, subtracts the image IM_ 12 from the image IM_ 12 a, and then outputs the resultant image data S 15 to the multiplication circuit 16 .
  • the read circuit 11 shown in FIG. 1 reads the image data S 3 b of the image IM_ 12 shown in FIG. 4 from the memory 3 , and the selector 14 selects the image data S 3 b and outputs it to the addition circuit 17 .
  • the addition circuit 17 adds the image data S 16 from the multiplication circuit 16 and the image data S 3 b from the selector 14 to produce the image data S 17 of the image IM_ 31 corresponding to the result of the processing “image IM — 12a ⁇ 1 ⁇ 2+(11 ⁇ 2) ⁇ image IM — 12” of equation (3) and outputs the image data S 17 to the write circuit 18 .
  • the write circuit 18 writes the image data S 17 to an address in the memory 3 designated by the control signal S 2 g.
  • the read circuit 10 shown in FIG. 1 reads the image data S 3 a of the image IM_ 12 b obtained by shifting the image IM_ 12 of the letter “A” by one pixel in the right direction and a lower direction from the memory 3 , and the selector 12 selects the image data S 3 a and outputs it to the subtraction circuit 15 .
  • the read operation of the image data S 3 a of the image IM_ 12 b by the read circuit 10 is performed by using the coordinate data (u,v) of the image of the letter “A” stored in the memory 3 on the basis of the control signal S 2 a from the CPU 2 . That is, the read circuit 11 reads the image IM_ 12 b obtained by shifting the image IM_ 12 by one pixel in the right direction and a lower direction from the memory 3 by using the texture mapping function.
  • the read circuit 11 shown in FIG. 1 reads the image data S 3 b of the image IM_ 31 explained using FIG. 8 , and the selector 13 selects the image data S 3 b and outputs it to the subtraction circuit 15 .
  • the subtraction circuit 15 subtracts the image data S 3 b from the image data S 3 a, that is, subtracts the image IM_ 31 from the image IM_ 12 b, and then outputs the resultant image data S 15 to the multiplication circuit 16 .
  • the read circuit 11 shown in FIG. 1 reads the image data S 3 b of the image IM_ 31 shown in FIG. 8 from the memory 3 , and the selector 14 selects the image data S 3 b and outputs it to the addition circuit 17 .
  • the addition circuit 17 adds the image data S 16 from the multiplication circuit 16 and the image data S 3 b from the selector 14 to produce the image data S 17 of the image IM_ 32 corresponding to the result of the processing “image IM — 12a ⁇ 1 ⁇ 2+(11 ⁇ 2) ⁇ image IM — 12” of equation (3) and outputs the image data S 17 to the write circuit 18 .
  • the write circuit 18 writes the image data S 17 to an address of the memory 3 designated by the control signal S 2 g.
  • the read circuit 10 shown in FIG. 1 reads the image data S 3 a of the image IM_ 12 c obtained by shifting the image IM_ 12 of the letter “A” by one pixel in the lower direction from the memory 3 , and the selector 12 selects the image data S 3 a and outputs it to the subtraction circuit 15 .
  • the read operation of the image data S 3 a of the image IM_ 12 c by the read circuit 10 is performed by using the coordinate data (u,v) of the image of the letter “A” stored in the memory 3 on the basis of the control signal S 2 a from the CPU 2 . That is, the read circuit 11 reads the image IM_ 12 c obtained by shifting the image IM_ 12 by one pixel in the lower direction from the memory 3 by using the texture mapping function.
  • the read circuit 11 shown in FIG. 1 reads the image data S 3 b of the image IM_ 32 from the memory 3 , and then the selector 13 selects the image data S 3 b and outputs it to the subtraction circuit 15 .
  • the subtraction circuit 15 subtracts the image data S 3 b from the image data S 3 a, that is, subtracts the image IM_ 32 from the image IM_ 12 c, and then outputs the resultant image data S 15 to the multiplication circuit 16 .
  • the read circuit 11 shown in FIG. 1 reads the image data S 3 b of the image IM_ 32 shown in FIG. 8 from the memory 3 , and the selector 14 selects the image data S 3 b and outputs it to the addition circuit 17 .
  • the addition circuit 17 adds the image data S 16 from the multiplication circuit 16 and the image data S 3 b from the selector 14 to produce the image data S 17 of the image IM_ 33 corresponding to the result of the processing of equation (3) and outputs the image data S 17 to the write circuit 18 .
  • the write circuit 18 writes the image data S 17 to an address in the memory 3 designated by the control signal S 2 g.
  • the image processing apparatus 1 it is possible to flexibly perform various processing such as ⁇ -blending, edge enhancement, and blurring of images, as described above, by having the CPU 2 control the read circuits 10 and 11 , the write circuit 18 , the selectors 12 to 14 , and the multiplication circuit 16 on the basis of control signals S 2 a to S 2 g produced in accordance with the execution of the program.
  • the image processing apparatus 1 it is possible to easily change the control signals S 2 a to S 2 g produced by the CPU 2 to change the content of the processing just by changing the program without changing the hardware configuration.
  • the present invention is not limited to the above described embodiment.
  • the image processing apparatus 1 also may produce blurred images by processing based on the following equation (4) when weighting nine adjacent or neighboring pixels P_A, P_B, P_C, P_D, P_E, P_F, P_G, P_H, and P_, as shown in FIG. 11 .
  • the image IM_A is the original image
  • the image IM_B is an image obtained by shifting the image IM 13 A by one pixel to the right direction
  • the image IM_C is an image obtained by shifting the image IM_A by two pixels to the right direction
  • the image IM_D is an image obtained by shifting the image IM_A by one pixel to the lower direction
  • the image IM_E is an image obtained by shifting the image IM_A by one pixel to the right direction and the lower direction
  • the image IM_F is an image obtained by shifting the image IM_A by two pixels to the right direction and by one pixel to the lower direction
  • the image IM_G is an image obtained by shifting the image IM_A by two pixels to the lower direction
  • the image IM_H is an image obtained by shifting the image IM_A by two pixels to the right direction and lower direction.
  • the image processing apparatus 1 may perform other image processing as well by using the configuration shown in FIG. 1 .

Abstract

An image processing apparatus capable of flexibly changing edge enhancement, blurring, and other image effect processing, wherein, in accordance with the execution of a program by a CPU, the CPU produces control signals to control an image processing circuit, read circuits in the image processing circuit read image data from a memory circuit by using a texture function, a write circuit writes the image data produced by subtraction by a subtraction circuit, multiplication with a coefficient by a multiplication circuit, and addition by an addition circuit to the memory circuit, and the image processing circuit performs processing relating to image effects such as α-blending, edge enhancement, and blurring on the basis of the control signals from the CPU.

Description

  • This is a continuation of application Ser. No. 10/184,928, filed Jul. 1, 2002, the entire contents of which are hereby incorporated by reference.
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The present invention relates to an image processing apparatus and method and program of the same capable of flexibly changing α-blending, edge enhancement, blurring, and other image processing.
  • 2. Description of the Related Art
  • Computer aided design (CAD) systems, amusement apparatuses, etc. include built-in rendering circuits for computer graphic processing.
  • These rendering circuits use exclusive hardware for the edge enhancement, blurring, and other image processing on the displayed images.
  • Since the rendering circuits perform edge enhancement, blurring, and other image processing by using exclusive hardware, there is the disadvantage that the edge enhancement, blurring, and other effects cannot be flexibly changed.
  • SUMMARY OF THE INVENTION
  • An object of the present invention is to provide an image processing apparatus and method and program of the same capable of flexibly changing the edge enhancement, blurring, and other image effect processing.
  • To attain the above object, according to a first aspect of the present invention, there is provided an image processing apparatus comprising a memory circuit for storing image data; a read circuit for reading at least first image data, second image data, and third image data from the memory circuit; a first processing circuit for producing fourth image data indicating a difference between the first image data and the second image data read by the read circuit; a second processing circuit for multiplying the fourth image data with a predetermined coefficient to produce fifth image data; a third processing circuit for adding the third image data and the fifth image data to produce sixth image data; a write circuit for writing the sixth image data to the memory circuit; and a control circuit for executing a predetermined program to control the read circuit, the first processing circuit, the second processing circuit, the third processing circuit, and the write circuit in accordance with execution of the program.
  • The operation of the first aspect of the present invention is as follows.
  • The control circuit executes the program to control the following processing in accordance with the execution of the program.
  • First, the read circuit reads first image data and second image data from the memory circuit.
  • Then, the first processing circuit generates fourth image data indicating a difference between the first image data and the second image data.
  • Then, the second processing circuit multiplies the fourth image data with a predetermined coefficient to produce fifth image data.
  • Further in parallel with the processing of the second processing circuit, the read circuit reads third image data from the memory circuit.
  • Then, the third processing circuit adds the third image data and the fifth image data to produce sixth image data.
  • Then, a write circuit writes the fifth image data in the memory circuit.
  • According to a second aspect of the present invention, there is provided a method of image processing comprising a first step of producing fourth image data indicating a difference between first image data and second image data; a second step of multiplying the fourth image data with a predetermined coefficient to produce fifth image data; and a third step of adding the third image data and the fifth image data to produce sixth image data, executing a predetermined program, and controlling the first to third steps in accordance with the execution of the program.
  • According to a third aspect of the present invention, there is provided a program executed by a processing apparatus to control a first processing circuit, a second processing circuit, and a third processing circuit comprising a first routine of producing fourth image data indicating a difference between first image data and second image data by the first processing circuit; a second routine of multiplying the fourth image data with a predetermined coefficient to produce fifth image data by the second processing circuit; and a third routine of adding the third image data and the fifth image data to produce sixth image data by the third processing circuit.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • These and other objects and features of the present invention will become clearer from the following description of the preferred embodiments given with reference to the attached drawings, in which:
  • FIG. 1 is a view of the configuration of an image processing apparatus of the present embodiment;
  • FIG. 2 is a view for explaining a case of α-blending using the image processing apparatus shown in FIG. 1;
  • FIG. 3 is a view for explaining another case of α-blending using the image processing apparatus shown in FIG. 1;
  • FIG. 4 is a view for explaining a case of edge enhancement using the image processing apparatus shown in FIG. 1;
  • FIG. 5 is a view for explaining the effects of the edge enhancement shown in FIG. 4;
  • FIG. 6 is another view for explaining the effects of the edge enhancement shown in FIG. 4;
  • FIG. 7 is a view for explaining the case of blurring by averaging values of four pixels using the image processing apparatus shown in FIG. 1;
  • FIG. 8 is a view for explaining an example of an operation when the image processing apparatus shown in FIG. 1 performs processing corresponding to “image IM12a×½+(1½)×image IM 12” in equation (3);
  • FIG. 9 is a view for explaining an example of an operation when the image processing apparatus shown in FIG. 1 performs processing corresponding to “image IM 12b×⅓+(1⅓)×{image IM12a× 1/2+(1½)×image IM12}” in equation (3) using a result of the processing “image IM12a×½+(1½)×image IM 12” shown in FIG. 8;
  • FIG. 10 is a view for explaining an example of an operation when the image processing apparatus shown in FIG. 1 performs processing corresponding to equation (3) using the result of the processing “image IM 12b×⅓+(1⅓)×{image IM12a×½+(1½)×image IM 12}” shown in FIG. 9; and
  • FIG. 11 is a view for explaining a case of blurring by averaging the values of nine pixels using the image processing apparatus shown in FIG. 1.
  • DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • Below, embodiments of an image processing apparatus of the present invention will be explained.
  • FIG. 1 is a view of the configuration of an image processing apparatus 1 of the present embodiment.
  • As shown in FIG. 1, the image processing apparatus 1 comprises a CPU 2, a memory 3, and an image processing circuit 4.
  • The image processing apparatus 1 corresponds to the image processing apparatus of the present invention, the CPU 2 corresponds to the control circuit of the present invention, and the memory 3 corresponds to the memory circuit of the present invention.
  • CPU 2
  • The CPU 2 produces control signals S2 a, S2 b, S2 c, S2 d, S2 e, S2 f, and S2 g, described later, to be output to a read circuit 10, a read circuit 11, a write circuit 18, a selector 12, a selector 13, a selector 14, and a multiplication circuit 16.
  • The CPU 2 executes a predetermined program to produce the control signals mentioned above in accordance with the execution of the program.
  • The memory 3 stores various image data (for example, texture data) to be used for a processing of the image processing circuit 4 so that the image data may be read by specifying a read position by pixel units using coordinate data (u, v).
  • Image Processing Circuit 4
  • The image processing circuit 4, as shown in FIG. 1, comprises, for example, the read circuits 10 and 11, the selectors 12, 13, and 14, the subtraction circuit 15, the multiplication circuit 16, the addition circuit 17, and the write circuit 18.
  • Here, the read circuits 10 and 11 correspond to the read circuit of the present invention, the selectors 12, 13, 14 correspond to the selecting circuit of the present invention, the subtraction circuit 15 corresponds to the first processing circuit of the present invention, the multiplication circuit 16 corresponds to the second processing circuit of the present invention, and the addition circuit 17 corresponds to the third processing circuit of the present invention.
  • The read circuit 10 reads image data S3 a (first image data and third image data of present invention) from the memory 3 in units of pixel data by using coordinate data (u,v) of the image designated by a control signal S2 a when reading image data from the memory 3 on the basis of the control signal S2 a from the CPU 2.
  • Further, the read circuit 10 reads the image data S3 a from an address of the memory 3 designated by the control signal S2 a from the CPU 3.
  • The read circuit 10 outputs the image data S3 a read from the memory 3 to first input terminals of the selectors 12, 13, and 14.
  • The read circuit 11 reads image data S3 b (second image data and third image data of present invention) from the memory 3 in units of pixel data by using coordinate data (u,v) of the image designated by a control signal S2 b when reading image data from the memory 3 on the basis of the control signal S2 b from the CPU 2.
  • Further, the read circuit 11 reads image data S3 b from an address of the memory 3 designated by the control signal S2 b from the CPU 3.
  • The read circuit 11 outputs the image data S3 b read from the memory 3 to second input terminals of the selectors 12, 13, and 14.
  • The selector 12 selects one of the image data S3 a input from a first input terminal and the image data S3 b input from a second input terminal on the basis of the control signal S2 d from the CPU 2 and outputs the selected image data to the subtraction circuit 15.
  • The selector 13 selects one of the image data S3 a input from a first input terminal and the image data S3 b input from a second input terminal on the basis of the control signal S2 e from the CPU 2 and outputs the selected image data to the subtraction circuit 15.
  • The selector 14 selects one of the image data S3 a input from a first input terminal and the image data S3 b input from a second input terminal on the basis of the control signal S2 f from the CPU 2 and outputs the selected image data to the addition circuit 17.
  • The subtraction circuit 15 subtracts the image data input from the selector 13 from the image data input from the selector 12 to produce image data S15 (fourth image data of present invention) and outputs the image data S15 to the multiplication circuit 16.
  • The subtraction of the subtraction circuit 15 is performed, for example, by using the values of R, G, and B (pixel values) indicated by the pixel data for each of the pixel data which constitute the image data.
  • The multiplication circuit 16 multiplies the image data S15 with a coefficient indicated by the control signal S2 g input from the CPU 2 to produce image data S16 (fifth image data of present invention) and outputs the image data S16 to the addition circuit 17.
  • The multiplication of the multiplication circuit 16 is performed, for example, by multiplying each of the image data constituting the image data S15 with the coefficient indicated by the control signal S2 g.
  • The addition circuit 17 adds the image data S16 input from the multiplication circuit 16 and the image data input from the selector 14 to produce image data S17 (sixth image data of present invention) and outputs the image data S17 to the write circuit 18.
  • The addition of the addition circuit 17 is performed, for example, by using the values of R, G, and B indicated by the pixel data for each of the pixel data constituting the image data.
  • The write circuit 18 writes the image data S17 input from the addition circuit 17 to the address in the memory 3 designated by the control signal S2 c from the CPU 2.
  • Below, examples of the operation of the image processing apparatus 1 shown in FIG. 1 will be explained.
  • FIRST EXAMPLE OF OPERATION
  • Below, an example of the operation of the case of α-blending using the image processing apparatus 1 will be explained.
  • Here, an example of α-blending between an image IM_1 and an image IM_2 with a coefficient α will be explained referring to FIG. 2.
  • In this case, the read circuit 10 shown in FIG. 1 reads the image data S3 a of the image IM_1 shown in FIG. 2 from the memory 3, and the selector 12 selects the image data S3 a and outputs it to the subtraction circuit 15.
  • In parallel with this, the read circuit 11 shown in FIG. 1 reads the image data S3 b of the image IM_2 shown in FIG. 2 from the memory 3, and the selector 13 selects the image data S3 b and outputs it to the subtraction circuit 15.
  • Then, the subtraction circuit 15 subtracts the image data S3 b from the image data S3 a, that is, subtracts the image IM_2 from the image IM_1, and then outputs the resultant image data S16 to the addition circuit 17.
  • Then, the multiplication circuit 16 multiplies the image data S15 by the coefficient a designated by the control signal S2 g and then outputs the resultant image data S16 to the addition circuit 17.
  • Further, in parallel with the processing of the multiplication circuit 16, the read circuit 11 shown in FIG. 1 reads the image data S3 b of the image IM_2 shown in FIG. 2 from the memory 3, and then the selector 14 selects the image data S3 b and outputs it to the addition circuit 17.
  • Then, the addition circuit 17 adds the image data S16 from the multiplication circuit 16 and the image data S3 b from the selector 14 to produce the image data S17 of an image IM_3 blending the image IM_1 and the image IM_2.
  • Then, the write circuit 18 writes the image data S17 to the memory 3.
  • The α-blending of the image processing apparatus 1 described above is shown in the following equation (1). Equation (1) may be modified to give an equation of general α-blending as shown in the following equation (2).
    (image IM_1−image IM_2)×α+image IM_2 (1)
    α×IM_1+(1=α-IM_2   (2)
  • FIG. 2 shows an example of α-blending the image IM_1 of a heart and the image IM_2 of an arrow. The image shown in FIG. 3 is obtained when using the image IM_1 of the letter “B” and the image IM_2 of the letter “A”.
  • SECOND EXAMPLE OF OPERATION
  • Below, an example of the operation of the case of edge enhancement using the image processing apparatus 1 will be explained.
  • In this case, the read circuit 10 shown in FIG. 1 reads the image data S3 a of the image IM_12 of the letter “A” shown in FIG. 4 from the memory 3, and the selector 12 selects the image data S3 a and outputs it to the subtraction circuit 15.
  • In parallel with this, the read circuit 11 shown in FIG. 1 reads the image data S3 b of the image IM_12 a obtained by shifting the image IM_12 of the letter “A” shown in FIG. 4 to the right direction by one pixel from the memory 3, and the selector 13 selects the image data S3 b and outputs it to the subtraction circuit 15.
  • In this case, the read operation of the image data S3 b of the image IM_12 a by the read circuit 11 is performed by using coordinate data (u,v) of the texture image of the letter “A” stored in the memory 3. That is, the read circuit 11 reads the image IM_12 a obtained by shifting the image IM_12 by one pixel to the right direction by using a function of texture mapping. Then, the subtraction circuit 15 subtracts the image data S3 b from the image data S3 a, that is, subtracts the image IM_12 a from the image IM_12, and then outputs the resultant image data S15 to the multiplication circuit 16.
  • Then, the multiplication circuit 16 multiplies the image data S15 with the coefficient α(=½) designated by the control signal S2 g and outputs the resultant image data S16 to the addition circuit 17. The coefficient α is determined in accordance with the degree of the edge enhancement.
  • Further, in parallel with the processing of the multiplication circuit 16, the read circuit 11 shown in FIG. 1 reads the image data S3 a of the image IM_12 from the memory 3, and the selector 14 selects the image data S3 b and outputs it to the addition circuit 17.
  • Then, the addition circuit 17 adds the image data S16 from the multiplication circuit 16 and the image data S3 a from the selector 14 to produce the image data S17 and then outputs it to the write circuit 18.
  • Then, the write circuit 18 writes the image data S17 to the memory 3.
  • Below, the operation and effects of the edge enhancement of the image processing apparatus 1 explained by using FIG. 4 will be explained.
  • As shown in FIG. 5, when viewing the pixel values (R, G, and B values) of the pixel data on line 50 of the image IM_12 shown in FIG. 4, the levels of the pixel values become, for example, as shown in FIG. 6A.
  • Further, the pixel values of the pixel data on line 50 of the image IM_12 a obtained by shifting the image IM_12 by one pixel to the right direction become as shown in FIG. 6B.
  • Further, the pixel values on line 50 of the image data Si 5 obtained by subtracting the pixel values of the image IM_12 a shown in FIG. 6B from the pixel values of the image IM_12 shown in FIG. 6A become as shown in FIG. 6C.
  • Further, the pixel values on line 50 of the image S16 resulting from multiplying the pixel values of FIG. 6C with a become as shown in FIG. 6D.
  • Then, the pixel values on line 50 of the image S17 resulting from adding the pixel values of FIG. 6A to the pixel values of FIG. 6D become as shown in FIG. 6E. As shown in FIG. 6E, it is understood that the image IM_13 shown in FIG. 4 becomes an edge enhanced image.
  • THIRD EXAMPLE OF OPERATION
  • Below, an example of the operation of the image processing apparatus 1 when performing filtering used for blurring an image, suppressing glittering due to the aliasing component at the time of compressing an image, and suppressing the mosaic at the time of enlarging it will be explained.
  • For example, as shown in FIG. 7, an example of filtering for averaging pixel values of four adjacent pixels P, P_a, P_b, and P_c to produce a blurred image will be explained.
  • In this case, when considering filtering with respect to the image IM_12 of the letter “A” explained using FIG. 4, if the image obtained by shifting the image IM_12 by one pixel to the right direction is designated as the image IM_12 a, the image obtained by shifting the image IM_12 by one pixel to the right direction and by one pixel to the lower direction is designated as the image IM_12 b, and the image obtained by shifting the image IM_12 by one pixel to the lower direction is designated as the image IM_12 c, the image processing apparatus 1 filters these images based on the following equation (3):
    image IM_12×¼+image IM_12 ¼+image IM_12
    b×¼+image IM_12 ¼=image IM_12 ¼+(1¼)×[image IM_12 ⅓+(1⅓)×{image IM_12 ½+(1½)×image IM_12}  (3)
  • The image processing apparatus 1 performs processing corresponding to equation (3) as shown in FIG. 8 to FIG. 10.
  • FIG. 8 is a view for explaining an example of the operation when performing processing corresponding to “image IM12a×½+(1½)×image IM 12” in equation (3).
  • FIG. 9 is a view for explaining an example of operation when performing processing corresponding to “image IM 12b×⅓+(1⅓)×{image IM12a×½+(1½)×image IM12}” in equation (3) using a result of the processing “image IM12a×½+(1½)×image IM 12” shown in FIG. 8.
  • FIG. 10 is a view for explaining an example of the operation when performing processing corresponding to equation (3) using the result of the processing “image IM 12b×⅓+(1⅓)×{image IM12a×½+(1½)×image IM12}” shown in FIG. 9.
  • Below, an example of the operation of the image processing apparatus 1 when performing the processing shown in FIG. 8 and FIG. 9 will be explained.
  • First, in the image processing apparatus 1, as shown in FIG. 8, the read circuit 10 shown in FIG. 1 reads the image data S3 a of the image IM_12 a obtained by shifting the image IM_12 of the letter “A” by one pixel to the right direction from the memory 3, while the selector 12 selects the image data S3 a and outputs it to the subtraction circuit 15.
  • At this time, the read operation of the image data S3 a of the image IM_12 a by the read circuit 10 is performed using the coordinate data (u,v) of the image (for example, texture image) of the letter “A” stored in the memory 3 on the basis of the control signal S2 a from the CPU 2. That is, the read circuit 11 reads the image IM_12 a obtained by shifting the image IM_12 by one pixel to the right direction from the memory 3 using the texture mapping function.
  • In parallel with this, the read circuit 11 shown in FIG. 1 reads the image data S3 b of the image IM_12 of the letter “A” from the memory 3, and then the selector 13 selects the image data S3 b and outputs it to the subtraction circuit 15.
  • Then, the subtraction circuit 15 subtracts the image data S3 b from the image data S3 a, that is, subtracts the image IM_12 from the image IM_12 a, and then outputs the resultant image data S15 to the multiplication circuit 16.
  • Then, the multiplication circuit 16 multiplies the image data S15 with the coefficient a (=½) indicated by the control signal S2 g and then outputs the resultant image data S15 to the addition circuit 17.
  • Further, in parallel with the processing of the multiplication circuit 16, the read circuit 11 shown in FIG. 1 reads the image data S3 b of the image IM_12 shown in FIG. 4 from the memory 3, and the selector 14 selects the image data S3 b and outputs it to the addition circuit 17.
  • Then, the addition circuit 17 adds the image data S16 from the multiplication circuit 16 and the image data S3 b from the selector 14 to produce the image data S17 of the image IM_31 corresponding to the result of the processing “image IM12a×½+(1½)×image IM 12” of equation (3) and outputs the image data S17 to the write circuit 18.
  • Then, the write circuit 18 writes the image data S17 to an address in the memory 3 designated by the control signal S2 g.
  • Next, in the image processing apparatus 1, as shown in FIG. 9, the read circuit 10 shown in FIG. 1 reads the image data S3 a of the image IM_12 b obtained by shifting the image IM_12 of the letter “A” by one pixel in the right direction and a lower direction from the memory 3, and the selector 12 selects the image data S3 a and outputs it to the subtraction circuit 15.
  • At this time, the read operation of the image data S3 a of the image IM_12 b by the read circuit 10 is performed by using the coordinate data (u,v) of the image of the letter “A” stored in the memory 3 on the basis of the control signal S2 a from the CPU 2. That is, the read circuit 11 reads the image IM_12 b obtained by shifting the image IM_12 by one pixel in the right direction and a lower direction from the memory 3 by using the texture mapping function.
  • In parallel with this, the read circuit 11 shown in FIG. 1 reads the image data S3 b of the image IM_31 explained using FIG. 8, and the selector 13 selects the image data S3 b and outputs it to the subtraction circuit 15.
  • Then, the subtraction circuit 15 subtracts the image data S3 b from the image data S3 a, that is, subtracts the image IM_31 from the image IM_12 b, and then outputs the resultant image data S15 to the multiplication circuit 16.
  • Then, the multiplication circuit 16 multiplies the image data S15 with the coefficient a (=⅓) indicated by the control signal S2 g and then outputs the resultant image data S16 to the addition circuit 17.
  • Further, in parallel with the processing of the multiplication circuit 16, in a way similar to the operation described above, the read circuit 11 shown in FIG. 1 reads the image data S3 b of the image IM_31 shown in FIG. 8 from the memory 3, and the selector 14 selects the image data S3 b and outputs it to the addition circuit 17.
  • Then, the addition circuit 17 adds the image data S16 from the multiplication circuit 16 and the image data S3 b from the selector 14 to produce the image data S17 of the image IM_32 corresponding to the result of the processing “image IM12a×½+(1½)×image IM 12” of equation (3) and outputs the image data S17 to the write circuit 18.
  • Then, the write circuit 18 writes the image data S17 to an address of the memory 3 designated by the control signal S2 g.
  • Next, in the image processing apparatus 1, as shown in FIG. 10, the read circuit 10 shown in FIG. 1 reads the image data S3 a of the image IM_12 c obtained by shifting the image IM_12 of the letter “A” by one pixel in the lower direction from the memory 3, and the selector 12 selects the image data S3 a and outputs it to the subtraction circuit 15.
  • At this time, the read operation of the image data S3 a of the image IM_12 c by the read circuit 10 is performed by using the coordinate data (u,v) of the image of the letter “A” stored in the memory 3 on the basis of the control signal S2 a from the CPU 2. That is, the read circuit 11 reads the image IM_12 c obtained by shifting the image IM_12 by one pixel in the lower direction from the memory 3 by using the texture mapping function.
  • In parallel with this, the read circuit 11 shown in FIG. 1 reads the image data S3 b of the image IM_32 from the memory 3, and then the selector 13 selects the image data S3 b and outputs it to the subtraction circuit 15.
  • Then, the subtraction circuit 15 subtracts the image data S3 b from the image data S3 a, that is, subtracts the image IM_32 from the image IM_12 c, and then outputs the resultant image data S15 to the multiplication circuit 16.
  • Then, the multiplication circuit 16 multiplies the image data S15 with the coefficient a (=¼) indicated by the control signal S2 g and then outputs the resultant image data S16 to the addition circuit 17.
  • Further, in parallel with the processing of the multiplication circuit 16, the read circuit 11 shown in FIG. 1 reads the image data S3 b of the image IM_32 shown in FIG. 8 from the memory 3, and the selector 14 selects the image data S3 b and outputs it to the addition circuit 17.
  • Then, the addition circuit 17 adds the image data S16 from the multiplication circuit 16 and the image data S3 b from the selector 14 to produce the image data S17 of the image IM_33 corresponding to the result of the processing of equation (3) and outputs the image data S17 to the write circuit 18.
  • Then, the write circuit 18 writes the image data S17 to an address in the memory 3 designated by the control signal S2 g.
  • As described above, according to the image processing apparatus 1, it is possible to flexibly perform various processing such as α-blending, edge enhancement, and blurring of images, as described above, by having the CPU 2 control the read circuits 10 and 11, the write circuit 18, the selectors 12 to 14, and the multiplication circuit 16 on the basis of control signals S2 a to S2 g produced in accordance with the execution of the program.
  • That is, according to the image processing apparatus 1, it is possible to easily change the control signals S2 a to S2 g produced by the CPU 2 to change the content of the processing just by changing the program without changing the hardware configuration.
  • The present invention is not limited to the above described embodiment.
  • For example, in the embodiment shown in FIG. 7, an example of filtering for producing blurred images by averaging the values of pixels of four adjacent pixels P, P_a, P_b, and P_c was illustrated, but the image processing apparatus 1 also may produce blurred images by processing based on the following equation (4) when weighting nine adjacent or neighboring pixels P_A, P_B, P_C, P_D, P_E, P_F, P_G, P_H, and P_, as shown in FIG. 11.
  • In equation (4), the image IM_A is the original image, the image IM_B is an image obtained by shifting the image IM13 A by one pixel to the right direction, the image IM_C is an image obtained by shifting the image IM_A by two pixels to the right direction, the image IM_D is an image obtained by shifting the image IM_A by one pixel to the lower direction, the image IM_E is an image obtained by shifting the image IM_A by one pixel to the right direction and the lower direction, the image IM_F is an image obtained by shifting the image IM_A by two pixels to the right direction and by one pixel to the lower direction, the image IM_G is an image obtained by shifting the image IM_A by two pixels to the lower direction, and the image IM_H is an image obtained by shifting the image IM_A by two pixels to the right direction and lower direction.
    4/16×IM A+(1 4/16)×( 2/12IM B+(1 2/12
    )×( 2/10×IM C+(1 2/10)×( 2/8×IM D+(1 2/8)×( 2/6×IM E+(1 2/6)×(¼×IM F+(1¼)×(⅓×IM G+(1⅓)×(½×IM H+(1½)×IM I))))))))   (4)
  • Further, in the embodiment described above, an example of using the image processing apparatus 1 for α-blending, edge enhancement, and blurring was described, but the image processing apparatus 1 may perform other image processing as well by using the configuration shown in FIG. 1.
  • Summarizing the effects of the invention, as explained above, according to the present invention, it is possible to provide an image processing apparatus capable of flexibly changing edge enhancement, blurring, and other image effect processing.
  • While the invention has been described with reference to specific embodiments chosen for purpose of illustration, it should be apparent that numerous modifications could be made thereto by those skilled in the art without departing from the basic concept and scope of the invention.
  • The present disclosure relates to subject matter contained in Japanese Patent Application No. 2001-203336, filed on Jul. 4, 2001, the disclosure of which is expressly incorporated herein by reference in its entirety.

Claims (14)

1. An image processing apparatus comprising:
a memory circuit for storing image data;
a read circuit for reading at least first image data, second image data, and third image data from said memory circuit;
a first processing circuit for producing fourth image data indicating a difference between said first image data and said second image data read by said read circuit;
a second processing circuit for multiplying said fourth image data with a predetermined coefficient to produce fifth image data;
a third processing circuit for adding said third image data and said fifth image data to produce sixth image data;
a write circuit for writing said sixth image data to said memory circuit; and
a control circuit for executing a predetermined program to control said read circuit, said first processing circuit, said second processing circuit, said third processing circuit, and said write circuit in accordance with the execution of said program;
wherein said read circuit reads plural image data in parallel.
2. The image processing apparatus as set forth in claim 1, wherein said read circuit comprises plural read circuits for respectively reading image data in parallel.
3. The image processing apparatus as set forth in claim 1, wherein said plural image data comprises said first image data and said second image data.
4. The image processing apparatus as set forth in claim 1, wherein
said read circuit reads one image data stored in said memory circuit as said first image data and said third image data and reads another image data as said second image data; and
said second processing circuit multiplies said fourth image data with an α-blending coefficient as said predetermined coefficient to produce said fifth image data.
5. The image processing apparatus as set forth in claim 3, wherein
said read circuit reads single image data stored in said memory circuit as said first image data and said third image data from a predetermined read position from said memory circuit and reads said second data corresponding to an image obtained by shifting an image corresponding to said single image data by one pixel to a predetermined direction;
said first processing circuit produces a difference between said first image data and said second image data read by said read circuit;
said second processing circuit multiplies said difference with a value corresponding to a degree of edge enhancement; and
said third processing circuit adds a result of the multiplication and said third image data to produce edge enhanced image data.
6. The image processing apparatus as set forth in claim 3, wherein
said read circuit reads image data stored in said memory circuit a plurality of times on the basis of said coordinate data while shifting read positions by one pixel; and
said control circuit performs control to combine processing of said first processing circuit, said second processing circuit, and said third processing circuit and average the plurality of image data obtained by the plurality of the read operations to produce image data of an image blurring an image corresponding to image data stored in said memory circuit.
7. The image processing apparatus as set forth in claim 6, wherein
said read circuit reads image data stored in said memory circuit from a predetermined position, reads the image data from a position shifted from said predetermined position by one pixel to the right direction, reads the image data from a position shifted from said predetermined position by one pixel to the lower direction, and reads the image data from a position shifted from said predetermined position by one pixel to the right direction and the lower direction; and
said control circuit performs control to average the four series of image data read from the four read positions to produce image data of an image blurring an image corresponding to image data read from said predetermined read position by the operations of said first processing circuit, said second processing circuit, and said third processing circuit.
8. The image processing apparatus as set forth in claim 1, wherein said control circuit performs control to combine operations of said first processing circuit, said second processing circuit, and said third processing circuit and performs processing while giving predetermined weights to said plurality of image data to produce image data of an image blurring an image corresponding to image data stored in said memory circuit.
9. A method of image processing comprising:
a first step of producing fourth image data indicating a difference between first image data and second image data;
a second step of multiplying said fourth image data with a predetermined coefficient to produce fifth image data; and
a third step of adding said third image data and said fifth image data to produce sixth image data and
executing a predetermined program and controlling said first to third steps in accordance with the execution of said program.
10. A program executed by a processing apparatus and controlling a first processing circuit, a second processing circuit, and a third processing circuit, comprising:
a first routine of producing fourth image data indicating a difference between first image data and second image data by said first processing circuit;
a second routine of multiplying said fourth image data with a predetermined coefficient to produce fifth image data by said second processing circuit; and
a third routine of adding said third image data and said fifth image data to produce sixth image data by said third processing circuit.
11. A method of image processing comprising:
a first step of reading first image data and second image data from a memory circuit in parallel;
a second step of producing fourth image data indicating a difference between said first image data and said second image data;
a third step of multiplying said fourth image data with a predetermined coefficient to produce fifth image data;
a fourth step of reading third image data from said memory circuit; and
a fifth step of adding said third image data and said fifth image data to produce sixth image data and
executing a predetermined program and controlling said first to third steps in accordance with the execution of said program.
12. The method as set forth in claim 11, wherein said fourth step is operated in parallel with said third step.
13. A program executed by a processing apparatus and controlling a memory circuit, a read circuit, a first processing circuit, a second processing circuit, and a third processing circuit, comprising:
a first routine of reading first image data and second image data from said memory circuit in parallel by said read circuit;
a second routine of producing fourth image data indicating a difference between said first image data and said second image data by said first processing circuit;
a third routine of multiplying said fourth image data with a predetermined coefficient to produce fifth image data by said second processing circuit;
a fourth routine of reading third image data from said memory circuit by said read circuit; and
a fifth routine of adding said third image data and said fifth image data to produce sixth image data by said third processing circuit.
14. The method as set forth in claim 13, wherein said fourth routine is operated in parallel with said third routine.
US11/141,010 2001-07-04 2005-06-01 Image processing apparatus and method and program of the same Abandoned US20050225802A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/141,010 US20050225802A1 (en) 2001-07-04 2005-06-01 Image processing apparatus and method and program of the same

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JPP2001-203336 2001-07-04
JP2001203336A JP2003016441A (en) 2001-07-04 2001-07-04 Image processor
US10/184,928 US6950564B2 (en) 2001-07-04 2002-07-01 Image processing apparatus and method and program of the same
US11/141,010 US20050225802A1 (en) 2001-07-04 2005-06-01 Image processing apparatus and method and program of the same

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/184,928 Continuation US6950564B2 (en) 2001-07-04 2002-07-01 Image processing apparatus and method and program of the same

Publications (1)

Publication Number Publication Date
US20050225802A1 true US20050225802A1 (en) 2005-10-13

Family

ID=19039994

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/184,928 Expired - Fee Related US6950564B2 (en) 2001-07-04 2002-07-01 Image processing apparatus and method and program of the same
US11/141,010 Abandoned US20050225802A1 (en) 2001-07-04 2005-06-01 Image processing apparatus and method and program of the same

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/184,928 Expired - Fee Related US6950564B2 (en) 2001-07-04 2002-07-01 Image processing apparatus and method and program of the same

Country Status (3)

Country Link
US (2) US6950564B2 (en)
EP (1) EP1298589A2 (en)
JP (1) JP2003016441A (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI298156B (en) 2002-10-24 2008-06-21 Tian Holdings Llc Discrimination method for light storage device
TWI316702B (en) 2003-09-15 2009-11-01 Tian Holdings Llc Discriminating method of an optical disc device for ascertaining the format of an loaded optical disc
US20050226114A1 (en) 2004-03-31 2005-10-13 Stanley Liow Method and apparatus for generating absolute time in pregroove data
US7626907B2 (en) 2004-05-25 2009-12-01 Ricky Chang Method and apparatus for determining type of digital versatile disc
US7570561B2 (en) 2004-05-25 2009-08-04 Bryan Tai Method for determining type of digital versatile discs
US7746745B2 (en) 2004-05-25 2010-06-29 Ricky Chang Method for determining the type of digital versatile disc
US20090252398A1 (en) * 2008-04-07 2009-10-08 Compucyte Corporation Method and System for Creating a Three-Dimensionally-Perceived Image of a Biological Sample
JP5897309B2 (en) * 2011-11-25 2016-03-30 和人 内田 Image processing method and apparatus
JP5931660B2 (en) * 2012-09-10 2016-06-08 住友重機械工業株式会社 Image processing method and nuclear medicine diagnostic apparatus

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442799A (en) * 1988-12-16 1995-08-15 Mitsubishi Denki Kabushiki Kaisha Digital signal processor with high speed multiplier means for double data input
US5528728A (en) * 1993-07-12 1996-06-18 Kabushiki Kaisha Meidensha Speaker independent speech recognition system and method using neural network and DTW matching technique
US6282558B1 (en) * 1997-12-19 2001-08-28 Matsushita Electric Industrial Co., Ltd. Data processing system and register file
US6441818B1 (en) * 1999-02-05 2002-08-27 Sony Corporation Image processing apparatus and method of same
US6473091B1 (en) * 1998-12-11 2002-10-29 Sony Corporation Image processing apparatus and method
US6530010B1 (en) * 1999-10-04 2003-03-04 Texas Instruments Incorporated Multiplexer reconfigurable image processing peripheral having for loop control
US6750876B1 (en) * 1997-11-16 2004-06-15 Ess Technology, Inc. Programmable display controller

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5528738A (en) * 1993-10-06 1996-06-18 Silicon Graphics, Inc. Method and apparatus for antialiasing raster scanned, polygonal shaped images

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442799A (en) * 1988-12-16 1995-08-15 Mitsubishi Denki Kabushiki Kaisha Digital signal processor with high speed multiplier means for double data input
US5528728A (en) * 1993-07-12 1996-06-18 Kabushiki Kaisha Meidensha Speaker independent speech recognition system and method using neural network and DTW matching technique
US6750876B1 (en) * 1997-11-16 2004-06-15 Ess Technology, Inc. Programmable display controller
US6282558B1 (en) * 1997-12-19 2001-08-28 Matsushita Electric Industrial Co., Ltd. Data processing system and register file
US6473091B1 (en) * 1998-12-11 2002-10-29 Sony Corporation Image processing apparatus and method
US6441818B1 (en) * 1999-02-05 2002-08-27 Sony Corporation Image processing apparatus and method of same
US6530010B1 (en) * 1999-10-04 2003-03-04 Texas Instruments Incorporated Multiplexer reconfigurable image processing peripheral having for loop control

Also Published As

Publication number Publication date
US20030031374A1 (en) 2003-02-13
US6950564B2 (en) 2005-09-27
JP2003016441A (en) 2003-01-17
EP1298589A2 (en) 2003-04-02

Similar Documents

Publication Publication Date Title
US20050225802A1 (en) Image processing apparatus and method and program of the same
US6771835B2 (en) Two-dimensional non-linear interpolation system based on edge information and two-dimensional mixing interpolation system using the same
KR100229516B1 (en) Resolution conversion apparatus and method
JP2005122361A (en) Image processor, its processing method, computer program, and recording medium
US6366290B1 (en) Dynamically selectable texture filter for a software graphics engine
US5438654A (en) System and method for sharpening texture imagery in computer generated interactive graphics
US6330002B1 (en) Image color blending processor
JP3367509B2 (en) Image generating method and image generating apparatus using the same
JPH06510133A (en) Display device for anti-aliased images
US7050066B2 (en) Image processing apparatus and image processing program
US6078335A (en) Method and apparatus for determining level of detail for texture filtering
JP4022935B2 (en) Image processing apparatus and processing method
US6342882B1 (en) Image processing apparatus and method and transmission medium
JP3022405B2 (en) Image memory controller
JP2003115056A (en) Image generation method and image generator using the same
EP0584941B1 (en) Methods and apparatus for generating graphic patterns
EP1298595A2 (en) Pixel rendering
EP0855682B1 (en) Scan line rendering of convolutions
US6211885B1 (en) Apparatus for outputting an image in which data of points on texture pattern are mapped to data of dots on display plane
JP2007306083A (en) Imaging apparatus and signal processing apparatus
CN112837254A (en) Image fusion method and device, terminal equipment and storage medium
US6927781B1 (en) Method and apparatus for averaging sub-samples
JPH06169429A (en) Picture data conversion circuit
CN111277914B (en) Frame sequence processing method, system and storage medium
EP1091321A2 (en) Apparatus and method for drawing lines on a digital display

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION