[mythtv-users] Is my MythTV an UpConverting DVD Player?
danielk at cuymedia.net
Sun Nov 11 04:20:16 UTC 2007
On Sat, 2007-11-10 at 07:23 -0500, jason maxwell wrote:
> My assumption was that by upscaling/upconverting, the OP meant
> some sort
> of enhancement of the original image to beyond simple scaling
> to the
> native display size. My understanding is that this is what
> upscaling DVD players claim to do.
> This, and other players by Oppo, seem to be all the rage on the AVS
> forums. The website has tons of information on what exactly it does to
> a video signal, including some links to other in depth reviews.
>From reading the description it's just doing a little post-processing
after decoding and scaling conventionally. If you wanted to get the
best possible image you wouldn't do this, instead you would get the MPEG
decoder to do the scaling of the blocks themselves analytically. An
MPEG encoder does a cosine transform of the theoretical analog function
that it is fed samples of. The decoder does not have to take the same
samples when reconstructing as were given to the encoder. If you build
the resampling into the decoder you can reconstruct angled lines
perfectly without the stair stepping or blurring you get with a post
decode scale. After doing this you wouldn't need the edge detection they
But you could still benefit from post-processing, Baker and Kanade
showed how achieve super resolution from a series of images in 2002.
You could apply their algorithm or later variations of it to improve
the resolution well past 1080p. However it would still be blurry in
some areas where you don't have enough samples. Having different
frequencies present in different parts of the image sticks out to
the human eye so you need to fix this. The simplest way is to sample
the frequencies in different parts of the enhanced and reconstructed
image; the best thing to use would be a FFT's centered about different
points in a 2-D Poisson distribution regenerated for each image.
Where the frequency is different you introduce noise so as to achieve
a similar frequency distribution.
Something else you could do with more image analysis would be
texture generation for natural scenes and image analogies for 2-D
cell animation. Texture generation could fill in textures from
areas with low reconstruction fidelity from areas with the same
texture where they were resampled well. And well, because of it's
stylized nature there are many ways to get cell animation to look
better than the original cells ever did.
If post processing using a super-resolution technique, you would need
to reintroduce intentional blurring from the original before processing.
Blurring is used as a cinematic technique to make the viewer focus
on a particular area in the image. Fortunately this type of cinematic
blurring is way over the top and is easy to detect via frequency
analysis of the image prior to post-processing. You of course need
to segment on edges so that your post-process blurring doesn't blur
the edges of a face you just enhanced, but again this is easy because
of the over the top nature of intentional blurring in movies.
All this said, there are no plans for implementing any of this fancy
stuff I just talked about in MythTV. In 0.20.2 MythTV, using regular
decoding on Linux, decodes to the resolution the image was encoded at
and then uses the XVideo video card driver API to scale the image. How
this scaling is done depends on the hardware; most video cards do a bad
job. In trunk there is an OpenGL based video renderer, but at the moment
it doesn't even do the simple post-processing that an OPPO device does.
The OpenGL rendered image may even look worse than XVideo scaling on
some hardware, but on nVidia cards it looks a little better to my eye.
PS We're using fragment programs, equivalent to DirectX 10.0 on Windows,
so if someone gets the motivated it is possible to write some amazing
post-processing routines that will run on video card hardware using the
new video OpenGL renderer.
More information about the mythtv-users