A system to determine block attributes in content, comprising: a computer; a memory in the computer; a content stored in the memory of the computer; an edge difference calculator to calculate edge differences of the content in at least one dimension, wherein the edge difference calculator is structured to calculate, as edge differences, absolute differences between adjacent pixels in the content orthogonal to the at least one dimension, sum the absolute differences between the adjacent pixels orthogonal to the at least one dimension to produce a sum, and scale the sum to produce the edge differences; an edge difference filter to filter said edge differences to produce filtered edge differences; and a block attribute calculator to determine a block attribute from said filtered edge differences; characterized in that the edge difference filter is structured to: calculate rolling standard deviations of the edge differences, wherein a rolling standard deviation is a standard deviation in a sliding window of the edge differences; and filter out a first edge difference for which the difference between a corresponding first rolling standard deviation and a second rolling standard deviation corresponding to a second edge difference immediately preceding said first edge difference is less than or equal to a predetermined threshold; wherein the sum is scaled by a number of pixels in the at least one dimension and wherein block attributes comprise of a block size and a block offset, wherein the block offset corresponds to a deviation of a position of a block from a grid. a computer; a memory in the computer; a content stored in the memory of the computer; an edge difference calculator to calculate edge differences of the content in at least one dimension, wherein the edge difference calculator is structured to calculate, as edge differences, absolute differences between adjacent pixels in the content orthogonal to the at least one dimension, sum the absolute differences between the adjacent pixels orthogonal to the at least one dimension to produce a sum, and scale the sum to produce the edge differences; an edge difference filter to filter said edge differences to produce filtered edge differences; and a block attribute calculator to determine a block attribute from said filtered edge differences; characterized in that the edge difference filter is structured to: calculate rolling standard deviations of the edge differences, wherein a rolling standard deviation is a standard deviation in a sliding window of the edge differences; and filter out a first edge difference for which the difference between a corresponding first rolling standard deviation and a second rolling standard deviation corresponding to a second edge difference immediately preceding said first edge difference is less than or equal to a predetermined threshold; wherein the sum is scaled by a number of pixels in the at least one dimension and wherein block attributes comprise of a block size and a block offset, wherein the block offset corresponds to a deviation of a position of a block from a grid. calculate rolling standard deviations of the edge differences, wherein a rolling standard deviation is a standard deviation in a sliding window of the edge differences; and filter out a first edge difference for which the difference between a corresponding first rolling standard deviation and a second rolling standard deviation corresponding to a second edge difference immediately preceding said first edge difference is less than or equal to a predetermined threshold; wherein the sum is scaled by a number of pixels in the at least one dimension and wherein block attributes comprise of a block size and a block offset, wherein the block offset corresponds to a deviation of a position of a block from a grid.