A method of block noise filtering in a pixel image having a width and a height, the method comprising: computing difference magnitudes in pixel values for adjacent pixels in the image, the difference magnitudes including vertical difference magnitudes between vertically adjacent pixels and horizontal difference magnitudes between horizontally adjacent pixels; producing a set of difference magnitudes by limiting each vertical difference magnitude and each horizontal difference magnitude to a threshold value; applying a median filter to a horizontally-oriented area of 1xN pixels of the limited horizontal difference magnitude; applying a median filter to a vertically-oriented area of Nxl pixels of the limited vertical difference magnitude; subtracting the output of the median filters from the limited horizontal difference magnitude and the limited vertical difference magnitudes, with values less than zero being clipped to zero; performing edge detection in the image to detect edge pixel locations; reducing vertical difference magnitudes and horizontal difference magnitudes at edge pixel locations to produce suppressed horizontal difference magnitudes and suppressed vertical difference magnitudes; averaging the limited and suppressed difference magnitudes between vertically adjacent pixels across the width of the image to produce an averaged set of vertical difference magnitudes; averaging the limited and suppressed difference magnitudes between horizontally adjacent pixels over the height of the image to produce an averaged set of horizontal difference magnitudes; applying a median filter to the averaged set of vertical difference magnitudes and to the averaged set of horizontal difference magnitudes to generate a filtered set of vertical difference magnitudes and a filtered set of horizontal difference magnitudes; subtracting the filtered set of vertical difference magnitudes from the averaged set of vertical difference magnitudes and subtracting the filtered set of horizontal difference magnitudes from the averaged set of horizontal difference magnitudes to produce a result set of difference magnitudes; identifying block boundaries in the image according to peaks in the result set of difference magnitudes; configuring a block noise filter (2002; 2004);and applying the block noise filter to the image using the identified block boundaries. computing difference magnitudes in pixel values for adjacent pixels in the image, the difference magnitudes including vertical difference magnitudes between vertically adjacent pixels and horizontal difference magnitudes between horizontally adjacent pixels; producing a set of difference magnitudes by limiting each vertical difference magnitude and each horizontal difference magnitude to a threshold value; applying a median filter to a horizontally-oriented area of 1xN pixels of the limited horizontal difference magnitude; applying a median filter to a vertically-oriented area of Nxl pixels of the limited vertical difference magnitude; subtracting the output of the median filters from the limited horizontal difference magnitude and the limited vertical difference magnitudes, with values less than zero being clipped to zero; performing edge detection in the image to detect edge pixel locations; reducing vertical difference magnitudes and horizontal difference magnitudes at edge pixel locations to produce suppressed horizontal difference magnitudes and suppressed vertical difference magnitudes; averaging the limited and suppressed difference magnitudes between vertically adjacent pixels across the width of the image to produce an averaged set of vertical difference magnitudes; averaging the limited and suppressed difference magnitudes between horizontally adjacent pixels over the height of the image to produce an averaged set of horizontal difference magnitudes; applying a median filter to the averaged set of vertical difference magnitudes and to the averaged set of horizontal difference magnitudes to generate a filtered set of vertical difference magnitudes and a filtered set of horizontal difference magnitudes; subtracting the filtered set of vertical difference magnitudes from the averaged set of vertical difference magnitudes and subtracting the filtered set of horizontal difference magnitudes from the averaged set of horizontal difference magnitudes to produce a result set of difference magnitudes; identifying block boundaries in the image according to peaks in the result set of difference magnitudes; configuring a block noise filter (2002; 2004);and applying the block noise filter to the image using the identified block boundaries.