8/14/06
The Mathcad input file is at http://www.hdtvprimer.com/SIMS/MCD720p.mcd .
1080i to 720p conversion resolution evaluation
On this page blue is comments and black is active code.
|
|<---- Things to the right of this point are just tests of the software.
|
|
The function "spreading" will measure the vertical blurring of a horizontal edge. This could be either intentional de-aliasing or unintentional loss of resolution.

Resolutions are determined by answering the question "What resolution (assuming it has perfect de-aliasing) would have the exact same spreading as the example being measured."
"Spreading" is a piecewise continuous implementation of:
For any single value of x:
<-------------------
An integral of this form just sums all the errors, but it penalizes errors more when they occur further from the true edge of the object.
where E(y), the "error function", is the difference between the pixel values and the true image. The constant "y edge" is the y value where the actual scene changes from white to black. For this function, the y coordinate units equal the pixel size.
______________________________________________________________________________ _____
The "scene" parameter describes the actual scene. It is an array with five values:
scene[0] = slope
scene[1] = intercept
scene[2] = object pixel value (white)
scene[3] = background pixel value (black)
scene[4] = highest row number
Actual scene in front of camera
______________________________________________________________________________ _____
Range variables:
The "smear" variable can be used to generate a poorly de-aliased image. The use of "smear" is described below.
The Ideal1080 array shows a 48x9 pixel portion of the 1080 image.
1080i or 1080p input frame
______________________________________________________________________________ _____
The Ideal720 array shows an ideal 720 resultant image.
Spread:
720p ideal frame
When an image is properly de-aliased the average spread will always be 0.084.
______________________________________________________________________________ _____
Example1 is a 720p frame assembled by taking the closest pixel, unaltered, from the Ideal1080 frame.
Vertical fix:
<---- "fix" corrects for any resulting change in the vertical position of the image.
Spread:
Equivalent Vertical Resolution:
720p frame: closest 1080 pixel
This diagram shows which Ideal1080 pixels were used in Example1. The black pixels were discarded.
______________________________________________________________________________ _____
Example4 is a 720p frame assembled by line averaging. Odd-numbered lines are taken from a 1080 line, unaltered, while the even-numbered lines are the average of two 1080 lines.
<---- horizontal averaging
<---- vertical averaging
Vertical fix:
Spread:
Equivalent Vertical Resolution:
720p frame: line averaging
______________________________________________________________________________ _____
Example2 is another 720p frame assembled by line averaging. Each line is composed of two-thirds of the closest Ideal1080 line plus one-third of the adjacent Ideal1080 line that was discarded in Example1.
Smaller values of k will raise the resolution but will increase the jaggedness.
Vertical fix:
Spread:
Equivalent Vertical Resolution:
720p frame: line averaging
______________________________________________________________________________ _____
Example3 is like Example2 but with some added edge enhancement.
The edge enhancement is applied only to those 1080 lines that are used in two lines of a 720 frame. For those lines, the de-aliasing pixels are found and adjusted so that they belong to only one of the two 720 lines.

The resulting EVR, 720, might overstate the truth some. That is because enhancement is applied to object edges but not thin lines or points. On the other hand, when the 1080 input has reduced resolution, this example degrades less than other examples. (See the graph at the bottom of the page.) So on average, the 720 claim is probably reasonable.
Vertical fix:
Spread:
Equivalent Vertical Resolution:
720p frame: interlaced, edge enhanced
______________________________________________________________________________ _____
Example8 is a proposed 720p frame assembled from an interlaced frame. Each 720p line is 50% of two 1080 lines, one from each field.
Vertical fix:
Spread:
Equivalent Vertical Resolution:
720p frame: interlaced, offset
______________________________________________________________________________ _____
Example14 is like Example8 .
<---- This matches http://members.aol.com/ajaynejr/hdtvnot.htm#To720p2
Vertical fix:
Spread:
Equivalent Vertical Resolution:
720p frame: interlaced, offset
______________________________________________________________________________ _____
Example16 is constructed from a single field of the 1080 image.
tsp = 6.248 if k = 1 tsp = 4.776 if k = 2
Vertical fix:
Spread:
Equivalent Vertical Resolution:
720p frame: interlaced, single field
This EVR is inflated given how many de-aliasing pixels were stripped off. The true resolution is probably well below 500.
______________________________________________________________________________ _____
Example15 is an ideal 360p frame, but its pixels are 720p in size. This example shows why the square-root is necessary in the EVR formula. Otherwise EVR would be 180.
Vertical fix:
Spread:
Equivalent Vertical Resolution:
360p frame: ideal
______________________________________________________________________________ _____
Example9 is like Example8 but with some added edge enhancement.
The edge enhancement is the same as used in example 3 except that adjacent pixels are sampled from two lines away, not one, so as to not violate the rule "Don't merge fields".

The shimmer fix functions on this page are never invoked since this particular actual scene never triggers them. These functions are invoked in the author's Pascal program that builds complete 1280x720 frames.
Vertical fix:
Spread:
Equivalent Vertical Resolution:
720p frame: interlaced, edge enhanced
<-----------The graph shows the spreading versus x for all the examples.
______________________________________________________________________________ _____
The SM2 array shows how much smear is required to produce the resolutions shown in SM1. The SM array was created by the following steps, done repeatedly:

1. Jump to the top of the spreadsheet, to where the Ideal1080 array is created.

2. Set the "smear" variable to one of the values shown in the SM2 array.

3. Jump back here.

4. Hand-type the resulting evr1 to evr9 values into the SM array.