Введение

Расширение кубической сплайн-интерполяции

В математике бикубическая интерполяция является расширением кубической сплайн-интерполяции (метода применения кубической интерполяции к набору данных) для интерполяции точек данных на двухмерной регулярной сетке. Интерполируемая поверхность (имеется в виду форма ядра, а не изображение) получается более гладкой, чем соответствующие поверхности, полученные с помощью билинейной интерполяции или интерполяции ближайшим соседом. Бикубическая интерполяция может быть реализована с использованием полиномов Лагранжа, кубических сплайнов или алгоритма кубической свертки. В обработке изображений бикубическая интерполяция часто предпочтительнее билинейной или интерполяции ближайшим соседом при изменении размера изображения, когда скорость не является критичным фактором. В отличие от билинейной интерполяции, которая учитывает только 4 пикселя (2×2), бикубическая интерполяция учитывает 16 пикселей (4×4). Изображения, измененные с помощью бикубической интерполяции, могут иметь различные артефакты интерполяции в зависимости от выбранных значений параметров b и c.

Найти производные от значений функций

Если производные неизвестны, они обычно приближаются на основе значений функции в точках, соседних с углами единичного квадрата, например, с использованием конечных разностей. Чтобы найти одну из частных производных, ∂u/∂x или ∂u/∂y, используя этот метод, найдите наклон между двумя окружающими точками на соответствующей оси. Например, для вычисления ∂u/∂x для одной из точек, найдите значения функции в точках слева и справа от целевой точки и рассчитайте их наклон, и аналогично для ∂u/∂y. Чтобы найти смешанную производную ∂²u/∂x∂y, вычислите производную последовательно по обеим осям, сначала по одной, а затем по другой. Например, можно сначала использовать описанную выше процедуру для нахождения частных производных ∂u/∂y точек выше и ниже целевой точки, а затем использовать ту же процедуру для полученных значений (а не, как обычно, значений ∂u/∂x для этих точек), чтобы получить значение ∂²u/∂x∂y для целевой точки. (Или можно сделать это в обратном порядке, сначала вычислив ∂u/∂x, а затем ∂²u/∂y∂x из этих значений. Оба подхода дают эквивалентные результаты.) На границах набора данных, когда отсутствуют некоторые из окружающих точек, отсутствующие точки можно приблизить различными методами. Простой и распространенный метод заключается в предположении, что наклон от существующей точки к целевой точке сохраняется без изменений, и использовать это для вычисления гипотетического значения для отсутствующей точки.

Использование в компьютерной графике

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