9 Replies Latest reply on Apr 15, 2010 5:54 PM by gutsblow

    Blocky upscale in After Effects 7.0

    str4ngS Level 1

      Hi,

       

      I am creating an animation using After Effects 7.0 and I got a little problem. If I upscale a picture, it doesn't use bicubic scaler (like in photoshop), only the nearest neighbor method, which looks really bad at some scenes. Here is a screenshot:

       

      sample_aex70_blocky.jpg

       

      Used image is here: http://www.wanderingmind.org/wp-content/themes/thesis_16/custom/rotator/sample-1.jpg

       

      Quality is selected to be Best. What is the problem?

       

      Thanks
      str4ngS

        • 1. Re: Blocky upscale in After Effects 7.0
          Mylenium Most Valuable Participant
          only the nearest neighbor method,

           

          No, it doesn't.

           

          it doesn't use bicubic scaler

           

          How should it? AE never has had bicubic scaling. The program uses bilinear.

           

          What is the problem?

           

          You are looking for a pushbutton solution where none exists. In simple words: Any dumb upscaling always leads to poor results. That's no different in Photoshop. You need to spend much more effort on the whole matter or chose a completely different workflow. Things to consider:

           

          a) Get rid of the block artifacts in the JPEG

          b) Do a color correction

          c) Apply sharpening before scaling

          d) Use alternate scaling methods (plug-ins, Photoshop)

          e) Use multi-step scaling by nesting compositions

          f) Transpose the image to another color space before scaling to avoid additional artifacts

          g) Apply post-scale sharpening and otehr effects to retrieve details

           

          Mylenium

          • 2. Re: Blocky upscale in After Effects 7.0
            str4ngS Level 1
            How should it? AE never has had bicubic scaling. The program uses bilinear.

            I'm sorry, I confused them. I meant bilinear.

            No, it doesn't.

            Yes it does. As you can see there is no interpolation on that picture, each pixel appears seperately from the others, they are not smoothed together like bilinear algorithm does.

             

            You are looking for a pushbutton solution where none exists. In simple words: Any dumb upscaling always leads to poor results. That's no different in Photoshop.

            No, I'm looking for a (probably missing?) basic feature of a $1000 professional software instead. Btw, I think it's AE7's upscaling that's dumb, so I downloaded Adobe After Effects CS4 Trial, opened the same project. Guess what: no blocks. See what I'm talking about (I didn't do anything with the sample image in Photoshop or anything else):

             

            sample_aex9_nonblocky.jpg

            Yes, JPEG artifacts are present, but it's not blocky.

            a) Get rid of the block artifacts in the JPEG

            b) Do a color correction

            c) Apply sharpening before scaling

            d) Use alternate scaling methods (plug-ins, Photoshop)

            e) Use multi-step scaling by nesting compositions

            f) Transpose the image to another color space before scaling to avoid additional artifacts

            g) Apply post-scale sharpening and otehr effects to retrieve details

            Thank you for step-by-step instructions. JPEG artifacts don't bother me only blocky pixels.

            • 3. Re: Blocky upscale in After Effects 7.0
              Mylenium Most Valuable Participant

              Yes it does. As you can see there is no interpolation on that picture, each pixel appears seperately from the others, they are not smoothed together like bilinear algorithm does.

               

              No it doesn't. You are confusing viewport zoom with scaling. In your first example, zoom is set to 200%, in your other it's 100%. The rest is beside the point - whether bicubic filtering is "a basic feature" or whether it actually makes sense in a video-centric app could lead to endless discussions. Yes, AE could use better algorithms, but just copying PS' bicubic wouldn't solve anything - it would still require additional steps to avoid its excessive softening. If and when, then we are talking things like Mitchell-Netravali or Catmul-Rom interpolation with variable kernel sizes and weighting... Well, whatever, feel free to file your own dark desires and ideas as a feature request:

               

              http://www.adobe.com/go/wish

               

              Mylenium

              • 4. Re: Blocky upscale in After Effects 7.0
                str4ngS Level 1

                Hi,

                No it doesn't. You are confusing viewport zoom with scaling. In your first example, zoom is set to 200%, in your other it's 100%.

                Yes, it does and you still misunderstand me, I don't confuse viewport zoom (which is also blocky but that's no problem) with scaling that can be set at Transform. I have just increased viewport zoom at my first example picture to show you a close look at blocks. I rendered two frames to show you the difference:

                 

                 

                sample_ae9.png

                This was produced by After Effects CS4 (trial), upscaled from 100 to 471. Project image size was D1/DV PAL (1.07) [720x576].

                 

                sample_ae7.png

                This was produced by After Effects 7.0, upscaled from 100 to 471. Project image size was D1/DV PAL (1.07) [720x576].

                 

                I exported these two frames using Composition -> Save Frame As... -> File... (Ctrl+Alt+S). Quality was set to Best in both cases.

                 

                Well, whatever, feel free to file your own dark desires and ideas as a feature request:

                 

                http://www.adobe.com/go/wish

                 

                As soon as they include their features into older versions through patches and updates and don't force me to spend a lot of money for a single feature, I'll post there.

                • 5. Re: Blocky upscale in After Effects 7.0
                  bogiesan-gyyClL Level 3

                  It's no often Mylenium confuses the question. I've read and re-read the thread a couple of times.

                  I'm with him. AE does not have the same scaling algorithm as Photoshop but you might want to try the Magnify effect rather than applying a scale multiplier in Transform. It's a bit more graceful.

                   

                  bogiesan

                  • 6. Re: Blocky upscale in After Effects 7.0
                    Mylenium Most Valuable Participant

                    I'm sorry, I still don't think we can find common ground here. You are doing something wrong. See the image AE 6.5, CS3, CS4 - all show the same result (don't have AE7 on this system here). The image was placed in the comp, viewed at full resolution and 100% zoom, and scaled to 300%. a difference comparison would revel nothing being different at all. So by alll means, go back and check your settings. E.g. OpenGL on a unsuitable card can have such effects, so turn it off.

                     

                    Compare.jpg

                     

                    Mylenium

                    • 7. Re: Blocky upscale in After Effects 7.0
                      gutsblow Level 1

                      I am not sure, if it helps but there is a Pixel Bender kernel that does bicubic upscaling

                       

                      http://blog.onthewings.net/2009/08/25/bicubic-resampling-by-pixel-bender/

                       

                      But, on the flipside it requires AE CS4 and above.

                      • 8. Re: Blocky upscale in After Effects 7.0
                        str4ngS Level 1
                        So by alll means, go back and check your settings. E.g. OpenGL on a unsuitable card can have such effects, so turn it off.

                        It was OpenGL. I turned it off and went back to Standard 3D, it works fine now, but rendering is a lot slower than it used to be with OpenGL. What could I do to fix this issue under OpenGL? I have nVidia Geforce 7300 GT, all features are marked as supported as seen below:

                         

                        opengl_information_ae7.png

                        It's anti-aliasing that seems to work incorrectly. I checked my nVidia settings, anti-aliasing is enabled, also tried it turning on "application-controlled" switch, but no change.

                        • 9. Re: Blocky upscale in After Effects 7.0
                          gutsblow Level 1

                          GPU rendering is not always standard across cards and vendors might be using

                          different algorithms. AE documentation has a clear list of opengl supported

                          effects and I never saw any documentation that says scaling is gpu

                          accelerated.

                           

                          Also what's the point of using opengl if you just want to scale the image?

                          OpenGL is not always faster, and in some cases it is a lot slower because of

                          the following reason. As far as I know, The usual process is, The image has

                          to be uploaded to the texture memory and then the effects (if any) are

                          applied and then it is downloaded back to the image buffer. Now, if you are

                          not using any GPU accelerated effects, the image is just uploaded to the

                          texture memory and downloaded back without any apparent reason and it is a

                          huge bottleneck. It gets worse if you are scaling the image because, the

                          image is initially scaled and then a huge texture scaled to the new size is

                          allocated and then the image is uploaded to opengl and then again the image

                          buffer has to download a lot more pixels multiplied by the scale factor.

                           

                          Hope that helps.

                          Satya.