IP Library Granted Patent US 8,031,978
Granted Patent B2
US 8,031,978 · App. 10/882,863 · Granted Oct 4, 2011

Method and apparatus of image processing to detect edges

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,031,978
App. No.
10/882,863
Granted
Oct 4, 2011
Kind
B2
Abstract

An edge detection filter comprising an array of filter coefficients having an odd number of rows and columns, a first set of zero coefficients extending along a direction traversing the array through a center position to form a first and second side, a second set of positive coefficients extending away from the direction on the first side, and a third set of negative coefficients extending away from the direction on the second side.

Claims (92)

1. A method, for execution by a processor, for applying an edge detection filter to an image comprising the steps of:

a. providing an image comprised of rows and columns of pixels, each pixel associated with a respective pixel value;

b. providing an edge detection filter comprising:

2N+1 rows and 2M+1 columns, wherein N and M are integers, said 2N+1 rows and 2M+1 columns comprising at least three rows and at least five columns or at least five rows and at least three columns;

a first set of zero coefficients extending along a direction traversing said filter through a center position to form a first side and a second side;

a second set of coefficients equal to 1 extending away from said direction on said first side; and

a third set of coefficients equal to −1 extending away from said direction on said second side;

c. positioning said edge detection filter at an initial position, the initial position comprising an origin of a first direction and an origin of a second direction within said image;

d. summing the pixel values of image pixels corresponding to each of columns 2M+1 to M+2 in row 1 of the edge detection filter and adding the negative of pixel values of image pixels corresponding to each of columns M to 1 in row 1 of the edge detection filter to calculate a row value for row 1 of the edge detection filter;

e. repeating step d to calculate row values for rows 2 to 2N+1 of the edge detection filter and storing the row value for each of rows 2N+1 to 1 in a respective one of contiguous memory locations 2N+1 through 1 ;

f. summing the row values in each of memory locations 2N+1 through 1 to produce a filter output and storing said filter output in a memory storage device;

g. incrementing said position of said edge detection filter in the first direction, wherein the incremented position is associated with pixels of a next row of said image;

h. shifting the row value stored in memory location X to memory location X−1, wherein X comprises a series of values from 2N+1 through 1 ;

i. summing the pixel values of image pixels corresponding to each of columns 2M+1 to M+2 in said next row and adding the negative of pixel values of image pixels corresponding to each of columns M to 1 in said next row to produce a next row value;

j. storing the next row value in memory location 2N+1;

k. calculating a new filter output by adding the row value stored in memory location 2N+1 to and subtracting the value stored in memory location 0 from the filter output stored in the memory storage device;

l. storing said new filter output in said memory storage device;

m. repeating steps g through l until a boundary of said image is reached;

n. incrementing said position of said edge detection filter in the second direction and resetting said position to said first direction origin of said image; and

o. repeating steps d through n until a boundary of said image is reached.

2. A method, for execution by a processor, for applying an edge detection filter to an image comprising the steps of:

a. providing an image comprised of rows and columns of pixels, each pixel associated with a respective pixel value;

b. providing an edge detection filter comprising:

2N+1 rows and an odd number of columns, wherein N is an integer, said 2N+1 rows and odd number of columns comprising at least three rows and at least five columns or at least five rows and at least three columns;

a first set of zero coefficients extending along a direction traversing said filter through a center position to form a first side and a second side;

a second set of coefficients equal to 1 extending away from said direction on said first side; and

a third set of coefficients equal to −1 extending away from said direction on said second side;

c. positioning said edge detection filter at an initial position, the initial position comprising an origin of a first direction and an origin of a second direction within said image;

d. summing pixel values of each of 2N+1 rows of said image to calculate a row value for each of the 2N+1 rows;

e. storing each of said row values in a respective one of contiguous memory locations 1 to 2N+1;

f. summing the row values stored in memory locations 2N+1 to N+2, subtracting the row values stored in memory locations N to 1 from the sum to produce a filter output, and storing said filter output in a memory storage device;

g. incrementing said position of said edge detection filter in the first direction, wherein the incremented position is associated with a next row of said image;

h. shifting the row value stored in memory location X to memory location X−1, wherein X comprises a series of values from 2N+1 through 1 ;

i. summing pixel values of said next row to calculate a next row value;

j. storing the next row value in memory location 2N+1;

k. calculating a filter output for the incremented position by summing a last filter output stored in said memory storage device, the row value stored in memory location 2N+1, and the row value stored in memory location 0 , and subtracting the row value stored in memory location N+1 and the row value stored in memory location N;

l. storing said filter output for the incremented position in said memory storage device;

m. repeating steps g through l until a boundary of said image is reached;

n. incrementing said position of said edge detection filter in the second direction and resetting said position to said first direction origin of said image; and

o. repeating steps d through n until a boundary of said image is reached.

3. A method, for execution by a processor, for applying an edge detection filter to an image comprising the steps of:

a. providing an image comprised of rows and columns of pixels, each pixel associated with a respective pixel value;

b. providing an edge detection filter comprising:

an odd number of rows and 2M+1 columns, wherein M is an integer, said odd number of rows and 2M+1 columns comprising at least three rows and at least five columns or at least five rows and at least three columns;

a first set of zero coefficients extending along a direction traversing said filter through a center position to form a first side and a second side;

a second set of coefficients equal to 1 extending away from said direction on said first side; and

a third set of coefficients equal to −1 extending away from said direction on said second side;

c. positioning said edge detection filter at an initial position, the initial position comprising an origin of a first direction and an origin of a second direction within said image;

d. summing pixel values of each of 2M+1 columns of said image to calculate a column value for each of the 2M+1 columns;

e. storing each of said column values in a respective one of contiguous memory locations 1 to 2M+1;

f. summing the column values stored in memory locations 2M+1 through M+2, subtracting the column values stored in memory locations M through 1 from the sum to produce a filter output, and storing said filter output in a memory storage device;

g. incrementing said position of said edge detection filter in the first direction, wherein the incremented position is associated with a next column of said image;

h. shifting the column value stored in memory location X to memory location X−1, wherein X comprises a series of values from 2M+1 through 1 ;

i. summing pixel values of said next column to calculate a next column value;

j. storing the next column value in memory location 2M+1;

k. calculating a filter output for the incremented position by summing said last filter output stored in said memory storage device, the column value stored in memory location 2M+1, and the column value stored in memory location 0 , and subtracting the column value stored in memory location M+1 and the column value stored in memory location M;

l. storing said filter output for the incremented position in said memory storage device;

m. repeating steps g through l until a boundary of said image is reached;

n. incrementing said position of said edge detection filter in the second direction and resetting said position to said first direction origin of said image; and

o. repeating steps d through n until a boundary of said image is reached.

4. The method of claim 2 , wherein said first direction comprises a vertical direction or a horizontal direction.

5. The method of claim 2 , wherein said second direction comprises a vertical direction or a horizontal direction.

6. The method of claim 3 , wherein said first direction comprises a vertical direction or a horizontal direction.

7. The method of claim 3 , wherein said second direction comprises a vertical direction or a horizontal direction.

8. An apparatus for detecting edges in an ultrasound image, comprising:

an ultrasound image comprising B number of rows and C number of columns of a plurality of image pixels, each pixel associated with a respective pixel value;

an edge detection filter comprising:

2N+1 rows and an odd number of columns, wherein N is an integer, said 2N+1 number of rows and odd number of columns comprising at least three rows and at least five columns or at least five rows and at least three columns;

a first set of zero coefficients extending along a direction traversing said filter through a center position to form a first side and a second side;

a second set of coefficients equal to 1 extending away from said direction on said first side; and

a third set of coefficients equal to −1 extending away from said direction on said second side;

means for summing pixel values of each of 2N+1 rows of said image to calculate a row value for each of the 2N+1 rows;

means for storing each of said plurality of row values in a respective one of contiguous memory locations 1 to 2N+1;

means for summing said row values stored in each of memory locations 2N+1 through N+2, subtracting the row values stored in memory locations N to 1 from the sum to produce a filter output, and storing said filter output in a memory storage device;

means for shifting the row values stored in memory location X to memory location X−1, wherein X comprises a series of values from 2N+1 through 1 ;

means for summing pixel values of a next row of said image to calculate a next row value;

means for storing the next row value in memory location 2N+1; and

means for calculating a filter output for a new filter position including the next row by summing said last filter output stored in said memory storage device, the row value stored in memory location 2N+1, and the row value stored in memory location 0 , and subtracting the row value stored in memory location N+1 and the row value stored in memory location N.

9. An apparatus for detecting edges in an ultrasound image, comprising:

an ultrasound image comprising B number of rows and C number of columns of a plurality of image pixels, each pixel associated with a respective pixel value;

an edge detection filter comprising:

an odd number of rows and 2M+1 columns, wherein M is an integer, said odd number of rows and 2M+1 columns comprising at least three rows and at least five columns or at least five rows and at least three columns;

a first set of zero coefficients extending along a direction traversing said filter through a center position to form a first side and a second side;

a second set of coefficients equal to 1 extending away from said direction on said first side; and

a third set of coefficients equal to −1 extending away from said direction on said second side;

means for summing pixel values of each of 2M+1 columns of said image to calculate a column value for each of the 2M+1 columns;

means for storing each of said plurality of column values in a respective one of contiguous memory locations 1 to 2M+1;

means for summing said column values stored in memory locations 2M+1 through M+2, subtracting the column values stored in memory locations M through 1 from the sum to produce a filter output, and storing said filter output in a storage memory device;

means for shifting the column value stored in memory location X to memory location X−1, wherein X comprises a series of values from 2M+1 through 1 ;

means for summing pixel values of a next column of said image to calculate a next column value;

means for storing the next column value in memory location 2M+1; and

means for calculating a filter output for a new filter position including the next column by summing said last filter output stored in said memory storage device, the column value stored in memory location 2M+1, and the column value stored in memory location 0 , and subtracting the column value stored in memory location M+1 and the column value stored in memory location M.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2017
From: HITACHI ALOKA MEDICAL, LTD.
To: HITACHI, LTD.
Reel/Frame 041891/0325 →
CHANGE OF NAME Recorded Aug 30, 2011
From: ALOKA CO., LTD.
To: HITACHI ALOKA MEDICAL, LTD.
Reel/Frame 026829/0825 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2004
From: TAMURA, TADASHI
To: ALOKA
Reel/Frame 015544/0305 →