Дмитрий Радищев (dibr) wrote,
Дмитрий Радищев
dibr

дискретно-косинусный джипег

     Навеяло.
     Всякие там фотошопы, а также пакетные обработчики картинок, для (при) передискретизации джипегов сначала распаковывают джипег, а затем собственно интерполируют распакованное изображение под новое разрешение. Поскольку хорошая интерполяция - задачка та ещё, правильные программы используют хитрый матан вроде интополяции Ланцоша, а адоб уже который год жуёт bicubic, пытаясь взять не качеством, так хотя бы количеством (bicubic, bicubic smoother, bicubic sharper, bicubic automatic. Хотя, к чести адоба, прогресс по сравнению с первыми версиями bicubic виден невооруженным глазом - бикубик в PS CS6 от Lanczos уже почти не отличить, в то время как в PS6 (который без CS) муар на этом бикубике был отчётливый, "сеточка" при увеличении - тоже :-))

     Но ведь джипег - это квадратики 8*8, внутри которых сделано дискретно-косинусное преобразование, то есть разложение на косинусы (и отбрасывание "лишнего"). А косинус, если что, функция непрерывная, а значит определённая (а также непрерывная, гладкая, и прочие хорошие мат.эпитеты) везде, в том числе и в любой точке между пикселями. А значит, интерполировать под нужное разрешение (причём любое, без привязки к "блоку" 8х8) можно непосредственно при распаковке, причём это по определению будет лучше интерполяции уже после распаковки - мы используем значения "хороших" базисных функций сразу в нужных точках, без странной процедуры вычисления сначала в "ненужных" точках с последующей интерполяцией "уж как получится" в нужные, а раз базисные функции у нас хорошие - косинусы - то и результат будет гладким и слабоартефачным.

     Правда, конкретно фотошопу это не поможет - у него этап распаковки в растр с изначальным разрешением принципиально важен, он же редактор. А вот "командлайновым утилитам" - уже можно. В каком-то виде (но не как у меня, как-то по другому) оно, оказывается, есть в jpegtran. Но можно же больше! И лучше :-)
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 26 comments