locked
Video Resizing Methods for Zune HD RRS feed

  • Question

  • I love using Expression Encoder 3 to encode videos for my Zune HD. At first the Preset Profiles for playback on the device were good, but they were a little on a low quality side, so I've been tweaking them to fit my needs a little better.

    First I found moving from VBR constrained to UNconstrained helped a lot for movies that have quick movement from scenes which were rather static. Allowing the bit rate to do what it needs truly helped get a much better final quality, while keeping the size down. Playing wil the average bit rate helped of course too, but not as drastically as it did by moving to UNconstrained.

    My problem is that since the Zune HD resolution is so low, small details in movies can sometimes be lost when viewed on the device.

    I see the tool tips for the different resizing methods, and I see that supersampling is defaulted as well as is described as "best for desizing" while bicubic is described as "better for downsizing especially for large jumps ie: HD to 320x240, but slower"

    Now I've tried quite a bit to find more information about Super Sampling vs bicubic for video size reduction, but I have found little to nothing comparing them to each other. From what I've found about the two methods seperately seems that bicubic can produce a "sharper" image but may add haloing artifacts, where supersampling may product a well rounded reduction, but may lose sharpness on particularly small details. Is there any merit to those generalizations? Or is it more complicated than that.

    I've been making several different encodings of different movies using different methods, but it is somewhat difficult to tell which one is "better". For the Movie "Star Trek" (the recent one) supersampling seems to produce a crisp video, maintain great detail like wrinkles on the face and other details, but for an animated show like Futurama, Supersampling seems to lose out in detail, or make the crips lines seem pixelated. Bicubic with Futurama seems to preserve some of that line detial and fullness, but may add incorrect pixel coloring around heavy contrast areas.

    Is there any easy suggestion to which one is better for reduction? Is SuperSampling simply "The Best" for reduction? Or are there certain situations where bicubic is superior?

    It's sometimes hard for me to get an accurate comparrison as the difference really only appear on the Zune HD device screen, and then it is quite limited to how I can compare back and forth between different encodings I've done.

    Some could say that if it's too hard to tell the difference between them, then what's the point, but I can notice something different, I just lack the ability to describe it properly. The brain can notice incredible details that maybe hard to distingish, but are still noticeable. I just want to find the encoding method that will leave the best experience I can have on the device.

    Encoding times aren't really an issue as I have a Core i7 quad core processor, and a beefy nvidia graphics card with cuda, that makes encoding quite trivial.

    Also, down the line when I get a dock for the Zune HD, I will start encoding for an HD screen, but I found the on device hardware decoder for 720p video built into the Zune HD left videos undesirable to watch on the Zune HD screen as opposed to pre-encoding the videos for the 480x272 screen, with a beefy computer and graphics card, using the expresion encoding software. For now i just want to encode videos to look as best as possible on device, and later I can worry about encoding for HD.

    So, which encoding is better for downsizing to the Zune HD screen, SuperSampling or Bicubic? Are there any trades off that are important to be aware of, ie: one better for sharpness over accuracy, or one being better for Animation VS Live Real Video? Would Encoding in in h.264 produce better videos at the low bit rates that I am encoding at for the Zune HD, as I hear the VC-1 is better for higher bit rates ie: 10mb+ ? Is there's a difference in resizing between VC-1 and H.264 and is one more desireable for the Zune HD screen size? Would the be any significant different for same quality vs file size at the small Zune HD screen since between VC-1 and H.264? Is there anything else I can do to just get the best image quality for viewing videos on the Zune HD, even if it increased the file size or rendering time?

    Any other info would greatly be appreciated, thank you.
    Monday, January 25, 2010 6:21 AM

Answers

  • This is from our guru regarding our resizing algorithm (Ben Waggoner):

    "Nearest Neighbor will always be worse, followed by Bilinear. Bilinear's limiations are most apparent when doing more than a 2x scale.

    Bicubic should be good in most cases, with a quality advantage for Lanczos and SuperSampling when doing big ratio scales.

    The rule of thumb I've heard is that supersampling is slightly better for downscaling and Lanczos for upscale. But that'd be a pretty small gap overall."

    This is the theory anyways. From my experience, SuperSampling has been providing the best results by a long shot for scaling down. But your mileage may vary depending on the source used. Our supersampling algorithm is a proprietary MS Research algorithm, while the others are from the IPP implementation, which I'm sure you can find plenty of information online about it.

    Zune Scaler: The Zune scaler needs to run in realtime on a small electronic device using the Tegra chip. It's going to look ok, but overall, you'll get better results from a scaling done during encoding. In other words, if you intend to play back the video on your ZuneHD, I wouldn't waste any bits using the 720p docking preset. ITOH, if your main use is to play it back on your HDTV, then using the docking preset is the way to go, and you'll have to live with the less great scaling output when you play it back on the Zune.

    Unconstrained vs Constrained: Unconstrained may provide you with slightly better PQ with the same bitrate, but you risk creating bitrate spikes that the Zune won't be able to decode in time, which will end up showing as playback studdering on the high entropy scenes. Because you're dealing with a device, this is even more likely to happen than on a PC, which might be able to deal with very high spikes (because of the GPU's doing the decoding on H.264 and VC-1 in most players nowadays). But hey, if you don't hit those problems, UVBR is a nice way to go. :)

    Monday, January 25, 2010 7:14 PM
    Moderator

All replies

  • I posted on the Zune Forums asking about this to see if anyone had any info there as well. I figured I might as well post both version of my ramblings on both sites to ensure I didn't miss anything on one or the other.

    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------


    Best Video Resizing Method for Zune HD Screen Bicubic vs SuperSampling

    I've been using Microsoft Expression Encoder for encoding movies for my Zune HD, and I've been extremely happy using it so far, but I'm trying to find the best possible way to encode for on device playback, and unfortunately I haven't found many answers yet.

    I don't have a HD dock yet, and until I do I am trying to encode video specifically for the Zune HD screen. I found that the 720p decoder built into the Zune HD is fine, but doesn't do nearly as good as a job downscaling to the Zune HD screen size as doing a pre-encoding specific for the 480x272 screne size. The built in hardware secoder seems to make pixels stand out more on the device, where pre-encoding the videos creates a much sharper and more clean image while greatly reducing noticeable pixels.

    The Expresion Encoder has preset Zune HD profiles, but I found slightly raising the average bit rate and changing from constrained VBR to UNcontrained VBR encoding produced a far superior quality encoding without adding much size to the videos, this is especially apparent in any video that has sudden change in motion, ie: explosions, or quickly moving objects after a static image.

    Those few changes made a noticeable impact for watching videos on the device over the standard Zune HD profile which honestly seems aimed more for small file size over quality. But even still I have been trying to find ways to improve one device viewing of movies to the absolute best possible. Part of the issue is that the Zune HD screen is so small, that back details in videos on the device get lost from the sheer size of the pixels on the screen. What i've found is that reducing the video can sometimes make those small details fuzzy or incorrectly estimated by the algorithm used to reduce the image size. The Expression encoder tool tips suggests Bicubic and SuperSampling as the "Better" and "Best" methods to reduce image size, but adds that Bicubic can be better for great reductions, such as from HD to 320x240 resolutions. I've encoded different version of videos and movies to find the best method to use, but I haven't yet found precise evidence on which is better. Why the newly released Star Trek movie looks pretty great using SuperSampling, I find it hard to choice between the two methods for an animated video like Futurama. With SuperSampling the lines look weaker in SuperSampling, whereas Bicubic produces sharp clean lines, but sometimes adds incorrect pixel colors near great contrast.

    Does anyone know what will produce the best image for reduction on the Zune HD screen, using SuperSampling or Bicubic? Is Bicubic better for large reductions, as the tool tip suggests? Or is SuperSampling the champ all around? Are there any draw backs to either one, causing artifacts in certain cases, so that either on cannot be described "the choice for reduction"? Is one better for Live Video, and one better for Animation? Is there anything else I can to improve the quality for on device viewing? Would using H.264 over VC-1 matter at the low bit rates for this screen size, as I higher that VC-1 is generally better at higher bit rates around 10mb and above? Is either H.264 or VC-1 better at image size reduction? Is there anything I'm missing by not even considering it as a culprit?

    I have a Core i7 quad core processor with a pretty beefly graphics card, so encoding time is pretty trivial, and even greatly increasing encoding time for a better quality is definitely worth it in my book.

    Any info at all is helpful

    Thank you.

     

    • Edited by BucksterMcgee Monday, January 25, 2010 11:13 AM double text
    Monday, January 25, 2010 6:56 AM
  • This is from our guru regarding our resizing algorithm (Ben Waggoner):

    "Nearest Neighbor will always be worse, followed by Bilinear. Bilinear's limiations are most apparent when doing more than a 2x scale.

    Bicubic should be good in most cases, with a quality advantage for Lanczos and SuperSampling when doing big ratio scales.

    The rule of thumb I've heard is that supersampling is slightly better for downscaling and Lanczos for upscale. But that'd be a pretty small gap overall."

    This is the theory anyways. From my experience, SuperSampling has been providing the best results by a long shot for scaling down. But your mileage may vary depending on the source used. Our supersampling algorithm is a proprietary MS Research algorithm, while the others are from the IPP implementation, which I'm sure you can find plenty of information online about it.

    Zune Scaler: The Zune scaler needs to run in realtime on a small electronic device using the Tegra chip. It's going to look ok, but overall, you'll get better results from a scaling done during encoding. In other words, if you intend to play back the video on your ZuneHD, I wouldn't waste any bits using the 720p docking preset. ITOH, if your main use is to play it back on your HDTV, then using the docking preset is the way to go, and you'll have to live with the less great scaling output when you play it back on the Zune.

    Unconstrained vs Constrained: Unconstrained may provide you with slightly better PQ with the same bitrate, but you risk creating bitrate spikes that the Zune won't be able to decode in time, which will end up showing as playback studdering on the high entropy scenes. Because you're dealing with a device, this is even more likely to happen than on a PC, which might be able to deal with very high spikes (because of the GPU's doing the decoding on H.264 and VC-1 in most players nowadays). But hey, if you don't hit those problems, UVBR is a nice way to go. :)

    Monday, January 25, 2010 7:14 PM
    Moderator
  • Thank you Eric for getting back to me so quickly. I do want to apologize for my grammar, spelling, and typing in my post, I had written it late at night and apparently never went back to edit them.... well that and I am generally just bad at grammar, spelling, and typing... oh well.

    It is great hearing from the "Guru's mouth" so to speak, and if you see Ben please thank him as well.

    I'll stick with supersampling, and I'll keep an eye out for any studdering when watching on the device. I can imgaine a high jump in bitrate causing an issue like that but I figured as long as it didn't jump to beyond 14MB (the max peak for the Zune HD VC-1 Advanced profile) that it wouldn't be a problem for the device, and if it did jump beyond 14MB that the Zune software would force a re-encode (which I wouldn't want) to their standard profile.  I think 10MB is the limit for most other profiles for on device playing, and since my average bitrate is around 1 to 2 mb, would it really jump 5 to 14 times the averate bitrate?

    I probably came off sounding ignorant about the Zune HD on device video decoder scaling, but I did figure the less then diserable on device downscale was understandable considering that the Tegra uses, what... about 5 watts in a super small portable device (probably even less power for just decoding) all done in real time, compared to a monster Core i7 quad core processor with hyper threading shooting it up to 8 cores (physical and logical) AND a sizeable Nvida Cuda graphics card (I have cuda enabled codecs, if they are being used, which I think they are), all running at max power, creating an incredible amount of heat.... yeah, I think the entire full size computer might have a 'slight' advantage over the slim Zune HD :)

    Well, thank you again, and if you ever come accross any other tips to help with downsizing for the Zune HD screen please let me know.



    Monday, January 25, 2010 11:51 PM