referring to fig1 a b - mode ultrasound imaging system typically comprises a transducer array 2 , a beamformer 4 , a b - mode image processor 6 , a host computer 8 and a display monitor 10 . the transducer array 2 comprises a multiplicity of transducer elements which are activated by a transmitter in beamformer 4 to transmit an ultrasound beam focused at a transmit focal position . the return rf signals are detected by the transducer elements and then dynamically focused at successive ranges along a scan line by a receiver in beamformer 4 to form a receive vector of raw acoustic data samples . the beamformer output data ( i / q or rf ) for each scan line is passed through a b - mode image processor 6 , which processes the raw acoustic data into pixel image data in a format suitable for display by the display monitor 10 . system control is centered in a host computer 8 , which accepts operator inputs through an operator interface ( not shown ), analyzes the acquired data and controls the various subsystems based on operator inputs and the results of data analysis . the host computer 8 may be programmed to perform the following functions : ( 1 ) providing transmit and beamforming parameters to the beamformer 4 ; ( 2 ) providing gray mappings to the b - mode image processor 6 ; ( 3 ) retrieving an image frame from memory , re - scaling that image frame and then sending the re - scaled image to the display monitor for display in a zoom mode ; and ( 4 ) providing data compression curves to the b - mode image processor 6 . preferably , the gray map , beamforming parameters and compression curves are provided in the form of lookup tables stored in random access memory . although fig1 depicts separate paths for the communications to and from the host computer 8 , it will be readily appreciated that these communications may take place over a common channel or system bus . in an ultrasound image acquisition system , usually significant care is taken to sample the data at a frequency that is at least twice the highest spatial frequency of interest . in many cases , potential problems are avoided by over - sampling . however , while visualizing an ultrasound image , variations from pixel to pixel due to acquisition noise , which is usually random , can be seen . in most image acquisition systems , additional structured noise ( i . e ., artifacts ) will be present . in accordance with one embodiment of the present invention , the host computer 8 of the ultrasound imaging system depicted in fig1 may be programmed to retrieve successive image frames of raw pixel intensity data from image processor 6 and then perform image filtering computations to reduce noise . in order to mitigate random noise , many noise reduction filters have been proposed . many of them use multi - resolution decomposition ( e . g ., wavelet - based techniques ), which decomposes the image into various frequency bands , processes each band separately and then regroups all the frequency bands together to reconstitute the image . this class of techniques has the advantage of modifying a specific spatial frequency band of the image . a well - known corollary of these techniques in image compression is that substantially all the redundancies at a given scale are exploited to achieve high compression ratios without sacrificing the compression quality in these images . another class of filters is segmentation - based . this class of techniques decomposes the image based on structures and non - structures , processes structures and non - structures separately and then recombines the processed structures and non - structures to form the final filtered image . unlike in the previous case , this class of methods exploits the spatial connectedness of structures to substantially perform different operations on structures and non - structures . fig2 illustrates an exemplary image 50 composed of a matrix of discrete pixels 52 disposed adjacent to one another in a series of rows 54 and columns 56 . these rows and columns of pixels provide a pre - established matrix width 58 and matrix height 60 . typical matrix dimensions may include 256 × 256 pixels ; 512 × 512 pixels ; 1 , 024 × 1 , 024 pixels , and so forth . the particular image matrix size may be selected via an operator interface ( not shown in fig1 ) and may vary depending upon such factors as the subject to be imaged and the resolution desired . as seen in fig2 exemplary image 50 includes structural regions 62 , illustrated as consisting of long , contiguous lines defined by adjacent pixels . image 50 also includes non - structural regions 64 lying outside of structural regions 62 . image 50 may also include isolated artifacts 66 of various sizes ( i . e ., varying number of adjacent pixels ), which may be defined as structural regions , or which may be eliminated from the definition of structure in accordance with the techniques described below . it should be understood that the structures and features of exemplary image 50 are also features of the specific and modified images discussed below in relation to fig3 and 4 . a highly abstracted rendition of image filtering in accordance with one embodiment of the invention is illustrated in fig3 beginning with the input of the raw signal data as input image 70 ( i raw ). input image 70 is shrunk by a user - configurable parameter ( interp ) to create a shrunken image 72 ( i shrunk ). shrunken image 72 undergoes normalization to create a normalized image 74 ( i normal ). threshold criteria are applied to identify structures within the normalized image 74 . the structures identified are used to generate a structure mask 76 ( m structure ) that is used in subsequent processing to distinguish both structure and non - structure regions , allowing differential processing of these regions . the mask is based on both gradient threshold and the distance of the pixel from the near field . this is to selectively suppress near - field artifacts . the normalized image 74 is filtered to reduce noise via structure mask 76 , thereby creating an intermediate filtered image 78 ( i filtered ) that is subsequently normalized by scaling to form renormalized image 80 ( i renormal ). renormalized image 80 and structure mask 76 are expanded to form an expanded image 82 ( i expanded ) and an expanded structure mask 83 ( m expanded ). differential blending of the expanded image 82 and the input image 70 is accomplished via the application of the expanded structure mask 83 . in addition , a small predetermined fraction of intensity - dependent , uniform random noise is added to pixels corresponding to the echogenic subregions of the nonstructure region . the purpose of noise addition is to mitigate ultrasound speckle . the product of the blending process is final filtered image 84 ( i final ). in accordance with method disclosed herein , the redundancy exploitation of multi - resolution - based techniques is combined with the spatial connectedness of the segmentation - based techniques to obtain a robust noise reduction with computationally efficient implementation . more specifically , in one embodiment of the invention , the host computer ( or dedicated processor ) of an ultrasound imaging system performs a noise - reduction filtering algorithm . one embodiment of this algorithm is generally depicted in fig4 . this algorithm comprises efficient real - time computations for mitigating noise based on structures , providing improved image quality at reduced cost , by replacing hardware - based noise reduction techniques that are being used to achieve real - time performance but at reduced image quality . the first step 120 in the algorithm is to read the input data and the parameters that control the filtering . the parameters include the following : amount of shrinking ( interp ), interpolation type ( interpmode ), parameters specific to noise reduction ( focus , edge , edgethreshold , blend , edgeblend ). parameter interp is usually set equal to 2 , but higher values can be used to obtain faster implementations if moderate amounts of noise reduction would be sufficient for the given application . the other parameters can be tuned based on the domain knowledge of the radiologist / radiological technician . by means of this selection of shrinking parameter , specialized tuning for larger matrix images is not required and therefore , the otherwise laborious tuning process is simplified to a large extent . in the preprocessing step 121 , the size of the input raw image i raw is augmented to prevent loss of data when images are shrunk . since the shrink (.) function requires integer values for performing data reduction , image boundaries are appropriately padded by mirroring the image data . in step 122 , the preprocessed input images are shrunk as determined by the parameter interp . the shrink (.) function uses average intensity values in non - overlapping integer neighborhoods of size interp x interp and creates a shrunken image i shrunk . however , other sub - sampling techniques can be used . still referring to fig4 the next step 126 is to normalize the pixel intensities of the shrunken image to form a normalized image i normal . this step includes reading digital values representative of each pixel intensity and scaling those intensities over a desired dynamic range . first , internal parameters are initialized . these parameters include the following : iter_number 2 = 10 , length = 3 , areapercent = 0 . 95 , follower_ratio = 0 . 5 , gradangle = 0 . 35 , count_threshold 1 = 2 , count_threshold 2 = 2 . second , the maximum ( max_original ) and minimum ( min_original ) intensity values are determined . third , the scale is set equal to 4095 . 0 / max_original . fourth , the scaled image i normal is obtained using the relation : i =( i − min_original ) * scale . fifth , the pre - filtration image is saved as i 1 = i . sixth , compute the average intensity value ( mean_before ) of i . the main reason for scaling is to make the filtering effect independent of the dynamic range and the dc offset of the data . the next step 126 in the algorithm is to extract structures and non - structures from a given normalized image , as defined by data representative of the individual pixels of the image . this is accomplished by determining structure and non - structure masks . the following steps are used for this purpose . in the first step , a gradient image is computed from a blurred or smoothed version of the normalized original image . a boxcar smoothing is used in the preferred method . a boxcar filter smoothes an image by computing the average of a given neighborhood . the kernel is separable and efficient methods exist for its computation . the length of the separable kernel is variable ( parameter length ) but preferably set equal to 3 pixels . the kernel is moved horizontally and vertically along the image until each pixel has been processed . in the second step , the edge strength threshold is computed automatically from the image by means of the following computations . ( 1 ) at every pixel , compute the gradient component componentx , the y gradient component componenty and the resultant gradient as the maximum of the two components . compute the direction of the gradient using arctan ( componenty / componentx ). more specifically , the x and y gradient components for each pixel are computed based upon the smoothed version of the normalized image . while several techniques may be employed for this purpose , 3 × 3 sobel modules or operators can be employed . as will be appreciated by those skilled in the art , one module is used for identifying the x gradient component , while another module is used for identifying the y gradient component of each pixel . in this process , the modules are superimposed over the individual pixel of interest , with the pixel of interest situated at the central position of the 3 × 3 module . the intensity values located at the element locations within each module are multiplied by the scalar value contained in the corresponding element , and the resulting values are summed to arrive at the corresponding x and y gradient components . with these gradient components thus computed , the gradient magnitude g mag and gradient direction g dir are computed . the gradient magnitude for each pixel is equal to the higher of the absolute values of the x and y gradient components for the respective pixel . the gradient direction is determined by finding the arctangent of the y component divided by the x component . for pixels having an x component equal to zero , the gradient direction is assigned a value of π / 2 . the values of the gradient magnitudes and gradient directions for each pixel are saved in memory . it should be noted that alternative techniques may be employed for identifying the x and y gradient components and for computing the gradient magnitudes and directions . for example , those skilled in the art will recognize that in place of sobel gradient modules , other modules such as the roberts or prewitt operators may be employed . moreover , the gradient magnitude may be assigned in other manners , such as a value equal to the sum of the absolute values of the x and y gradient components . ( 2 ) create the gradient histogram and use the 30 percentile value as an initial gradient threshold ( igt ). more specifically , based upon the gradient magnitude values , a gradient histogram is generated . the histogram is a bar plot of specific populations of pixels having specific gradient values . these gradient values are indicated by positions along a horizontal axis , while counts of the pixel populations for each value are indicated along a vertical axis , with each count falling at a discrete level . the resulting bar graph forms a step - wise gradient distribution curve . those skilled in the art will appreciate that in the actual implementation , the histogram need not be represented graphically , but may be functionally determined by the image processing circuitry operating in cooperation with values stored in memory circuitry . the histogram is used to identify a gradient threshold value for separating structural components of the image from non - structural components . the threshold value is set at a desired gradient magnitude level . pixels having gradient magnitudes at or above the threshold value are considered to meet a first criterion for defining structure in the image , while pixels having gradient magnitudes lower than the threshold value are initially considered non - structure . the threshold value used to separate structure from non - structure is preferably set by an automatic processing or “ autofocus ” routine . however , it should be noted that the threshold value may also be set by operator intervention ( e . g ., via an operator interface ) or the automatic value identified through the process described below may be overridden by the operator to provide specific information in the resulting image . the process for identification of the threshold value begins by selecting an initial gradient threshold . this initial gradient threshold is conveniently set to a value corresponding to a percentile of the global pixel population , such as 30 percent . the location along the histogram horizontal axis of the igt value is thus determined by adding pixel population counts from the left - hand edge of the histogram , adjacent to the vertical axis and moving toward the right ( i . e ., ascending in gradient values ). once the desired percentile value is reached , the corresponding gradient magnitude is the value assigned to the igt . ( 3 ) in the next step , a search is performed for edges of the desired structure . in a neighborhood of a pixel whose gradient is greater than the igt , count the number of pixels which have gradient magnitudes above igt and whose gradient directions do not differ from the center pixel more than a predetermined angle ( parameter gradangle ). if the count is greater than a predetermined threshold , include the current pixel as a relevant edge . ( 4 ) in the next step , small or noisy segments identified as potential candidates for structure are iteratively eliminated by isolating small segments less than a predetermined count using an eight - connected connectivity approach . alternatively , a four - connected connectivity approach can be used . ( 5 ) count the number of edge pixels obtained as a result and add a fuzzy constant to their number to get a final number n . ( 6 ) from the gradient histogram , compute the final gradient threshold ( fgt ), which corresponds to the gradient above which there are n gradient counts . an algorithm to efficiently remove small islands of high - gradient segments is carried out using a connectivity approach as follows :( a ) obtain a binary image by thresholding the image based on a gradient value . ( b ) start a labeling process on a line - by - line basis while incrementing the label index . ( c ) merge the connected labels using the four - connected or eight - connected rule by replacing the current label with the lowest index in the neighborhood . this is done in an iterative fashion by scanning the binary image top to bottom and bottom to top until there are no more regions to be merged or a predetermined number of iterations are exceeded . ( e ) find those index bins that are lower than a predetermined number and set the corresponding pixel in the binary image equal to zero . the resultant binary image would be the mask , which does not include small segments of high - gradient regions . in the third step , after the fgt has been obtained , it is scaled by multiplying with a user - selected parameter , focus ( e . g ., 2 . 0 ). in the fourth step , a binary mask image m structure1 is created such that the pixels are set to 1 if the corresponding pixels in the gradient image ( a ) have a gradient greater than fgt and ( b ) are located beyond a pre - specified distance from the near field an exemplary near field in a typical sector scan ultrasound image 48 is shown in fig5 . otherwise the mask is set to 0 . in the fifth step , a second binary mask image m structure2 is created such that the pixels are set to 1 if the corresponding pixels in the gradient image are higher than the pre - specified gradient threshold fgt and if the corresponding pixels in the initial intensity image are higher than a pre - specified intensity threshold . this is done only for pixels located beyond the pre - specified distance from the near field . in the sixth step , isolated small segments in the binary image less than a predetermined count are eliminated using a four - connected connectivity approach . the resultant binary image is a mask that includes significant high - gradient regions but is devoid of small islands of high - gradient regions . in the seventh step , certain of the isolated regions may be recuperated to provide continuity of edges and structures using a gradient following approach . if the pixel in the gradient image is above a threshold ( gft ), which is a predetermined percentage ( parameter follower_ratio ) of fgt , and is connected to a pixel that is above fgt , then the corresponding pixel in the binary image from the previous step is changed from 0 to 1 . this gradient following is usually carried out recursively and at the end an initial classification of pixels is obtained . in the eighth step , the feature edges identified through previous steps , representative of candidate structures in the image , are binary rank order filtered to expand and define the appropriate width of contiguous features used to define structural elements . simplistically , if the current mask pixel is 1 , the neighborhood ( e . g ., 3 × 3 ) pixel count is computed . if the pixel count is below a countthreshold 1 ( e . g ., 2 ), then the current mask pixel is set to 0 . if the current mask pixel is 0 , the neighborhood ( e . g ., 3 × 3 ) pixel count is computed . if the pixel count is above a countthreshold 2 ( e . g ., 2 ), then the current mask pixel is set to 1 . in each neighborhood count , pixels in the binary mask having values of 1 are counted within a 3 × 3 neighborhood surrounding the structural pixel of interest . this count includes the pixel of interest . the resulting structure mask m structure1 contains information identifying structural features of interest and non - structural regions . specifically , pixels in structure mask m structure1 having a value of 1 are considered to identify structure , while pixels having a value of 0 are considered to indicate non - structure . this completes the structure identification step 126 seen in fig4 . after structure in the image has been identified , the structure undergoes anisotropic smoothing ( step 128 ) followed by anisotropic sharpening ( step 132 ). in parallel with anisotropic smoothing of the structure identified within the image , isotropic smoothing of non - structure is performed ( step 130 ). the details of these steps are as follows . the anisotropic smoothing comprises conventional orientation smoothing . a region with structures is filtered to extract dominant orientation . the method involves iteratively filtering the structure by a 3 × 1 smoothing kernel along the dominant direction in a given neighborhood , which would be the direction of majority of the local minimum variances in that neighborhood . this process has the tendency to bridge gaps and the amount is controlled by a parameter . the iterations are performed a set number of times ( e . g ., 3 ). each iteration is accomplished using the following steps . the structure region is scanned and a local orientation map is obtained by assigning one of four orientation numbers , i . e ., 1 for 45 degrees , 2 for 135 degrees , 3 for 90 degrees and 4 for 0 degree . the structure region is scanned again and the dominant orientation at any point is determined by counting the number of different orientations in a neighborhood . the orientation getting the maximum number of counts is the dominant orientation . as a further refinement , both the dominant direction and its orthogonal direction are used to make a consistency decision . this substantially improves the robustness of dominant orientation determination in the sense of being consistent with the human visual system . the consistency decision is made if one of the following conditions is met : ( 1 ) the orientation getting maximum counts is greater than a pre - specified percentage ( e . g ., 0 . 67 ) of the total neighborhood counts , and the orthogonal orientation gets the minimum counts . ( 2 ) the orientation getting maximum counts is greater than a smaller percentage ( e . g ., 0 . 44 ) of the total neighborhood counts , and the orthogonal orientation gets the minimum count , and the ratio of the dominant count and its orthogonal count is greater than a pre - specified number ( e . g ., 5 ). ( 3 ) the ratio of dominant orientation count to its orthogonal orientation count is greater than 10 . smoothing ( 3 × 1 ) is performed along the direction that gets the most number of counts in that neighborhood . using a relaxation parameter provided in the algorithm , the dominant orientation smoothing can be minimized while preserving small high - frequency structures . the orientation sharpening function ( step 132 in fig4 ) is performed only on orientation - filtered structure pixels that have gradients above a pre - specified limit , e . g ., 2 ( fgt ). the specific steps are the following :( 1 ) first , the maximum directional edge strength image is obtained . the one - dimensional laplacian of the image at every pixel in each of the four directions mentioned above is obtained using the equation : e ( k )= 2 . 0 * i ( k )− i − 1 )− i ( k + 1 ), where the index ““ k ”” refers to the current location ( i . e ., the pixel of interest ) along a given direction , e ( k ) is the edge strength , and i ( k ) is the intensity value at the pixel . after computing all four edge strengths at a given pixel , the maximum directional edge strength is determined and used in subsequent steps as the edge strength e ( x , y ) at that location . this process is continued for all pixels in the image . it should be noted that the border pixels in a given image have to be treated differently and are set equal to zero for the subsequent steps . ( 2 ) the next function is to smooth along the edges of e ( x , y ). the steps needed for this are the same as before . each pixel is compared to minimum and maximum threshold values pixels that exceed the maximum threshold value are set equal to the maximum threshold value . likewise , pixels which are less than the minimum threshold value are set equal to the minimum threshold value . more specifically , the smoothed edge strength image is referred herein as es ( x , y ). if es ( x , y ) * edge & gt ; edgethreshold , then we set es ( x , y )= edgethreshold . alternatively , if es ( x , y ) * edge & lt ;− edgethreshold , then we set es ( x , y )=− edgethreshold ( e . g ., edge = 0 . 3 ; edgethreshold = 50 ). ( 3 ) the resulting weighted values are added to the initial filtered values for the corresponding structural pixel to form a new filtered image : i ( x , y )= i ( x , y )+ es ( x , y ). ( 4 ) each pixel is compared to both minimum and maximum threshold values . for example , i ( x , y ) is set to 0 . 0 if it is negative and to 4095 . 0 if it is greater than 4095 . 0 . this upper limit is configurable to any number greater than zero . the effect of these operations is to more strongly enhance weaker edges while providing a more limited enhancement to edges that are already strong . in parallel with orientation smoothing of the structure identified within the image , homogenization smoothing of non - structure is performed ( step 130 in fig4 ). the homogenizing smoothing step consists of iteratively low - pass filtering the nonstructure region with a 3 × 3 kernel . the iterations are done for a set number of times ( e . g ., iter_number 2 = 10 ) so that there is no structural information and only the gradual intensity variations remain . more specifically , the normalized intensity values for non - structural pixels are considered in this process . the mean neighborhood intensity value for each non - structural pixel is computed ( taking into account the normalized values of structural pixels where these are included in the neighborhood considered ). this computation is performed based on a 3 × 3 neighborhood surrounding each non - structural pixel . this mean value is assigned to the pixel of interest . a determination is then made whether a desired number of iterations has been completed . if not , further homogenization of the non - structural pixel intensity values is carried out . once the desired number of iterations has been completed , the homogenization smoothing routine is exited . in one embodiment , the operator may set the number of homogenization smoothing iterations from a range of 1 to 10 . following orientation sharpening of the structural features of the image and homogenization smoothing of non - structure regions , the entire image is again renormalized ( step 134 in fig4 ). while various methods may be used for this renormalization , in the disclosed embodiment the global average pixel intensity in the filtered image is computed , and a normalization factor is determined based upon the difference between this average value and the average value prior to the filtration steps described above . the new normalized intensity value for each pixel is then determined by multiplying this normalization factor by the filtered pixel intensity , and adding the global minimum intensity value from the original data to the product . more specifically , the following operations are performed : ( 1 ) compute average pixel intensity ( mean_after ) in the filtered image i filtered ( x , y ); ( 2 ) compute the normalization factor norm_factor = mean_before / mean_after ; and ( 3 ) compute the normalized image using : i filtered ( x , y )=( i filtered ( x , y ) * norm_factor )+ min_original , where min_original is the minimum intensity of the original image . the resulting renormalized image i renormal is then expanded ( step 135 ) by the same factor , interp , by which the input image i raw was shrunk . the structure masks m structure1 and m structure2 are also expanded by the same factor . various suitable interpolation techniques may be used to accomplish this expansion . the products of the expansion step are expanded structure mask m expanded1 and m expanded2 and an expanded image i expanded , each with the same dimensions as the original input image i raw . the interpolation method is preferably bicubic for the renormalized image to provide a good compromise between computational efficiency and interpolated image quality and bilinear for the binary masks . in step 136 , the interpolated , filtered image i expanded ( x , y ) and the pre - filtration image i raw ( x , y ) are blended using the equation : i final ( x , y )= α * ( i expanded ( x , y ) i raw ( x , y ))+ i raw ( x , y ) if m structure1 ( x , y )= 0 , where α is a user - selected parameter blend such that 0 & lt ; α & lt ; 1 ; else i final ( x , y )= β * ( i expanded ( x , y ) i raw ( x , y ))+ i raw ( x , y ) if m structure1 ( x , y )= 1 , where β is a user - selected parameter edgeblend such that 0 & lt ; β & lt ; 1 . in addition , noise blending is performed . in step 136 of the algorithm , high frequencies are introduced by adding very small amount of intensity - dependent , uniform random noise to the interpolated image to produce a visually pleasing effect . the amount of noise addition is dependent on whether m structure2 ( x , y ) is 1 or 0 . the preferred amount of added noise is usually less than 5 % of the intensity of the filtered pixel . the final result i final in then saved for display or any other intended use . the host computer may either output the final image to the display monitor or may enhance the final image before outputting to the display monitor . such additional enhancement may take the form of non - uniformity equalization followed by contrast enhancement . although the embodiments have been described with reference to image filtering by a host computer , it will be appreciated by persons skilled in the art that , in the alternative , the enhanced image frame could be generated by dedicated hardware . while the invention has been described with reference to preferred embodiments , it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention . in addition , many modifications may be made to adapt a particular situation to the teachings of the invention without departing from the essential scope thereof . therefore , it is intended that the invention not be limited to the particular embodiment disclosed as the best mode contemplated for carrying out this invention , but that the invention will include all embodiments falling within the scope of the appended claims . as used in the claims , the term “ computer ” means any programmable data processing device or system of intercommunicating programmable data processing devices capable of performing computations in accordance with a program . in particular , the term “ computer ” includes , but is not limited to , dedicated processors and general - purpose computers .