Интерполяция на основе арифметических операций

ЧАСТЬ 2

ПОСТРОЕНИЕ ПЕРЕХОДНЫХ ИЗОБРАЖЕНИЙ

Развитие средств связи, видеотехники, а также широкий спектр других тенденций, обусловленных прогрессом общества, создают гигантские объёмы графической информации. Известно, что хранение и обработка графической информации связаны с большими затратами компьютерных ресурсов. Используя кодирование изображений, мы можем существенно уменьшить размеры требуемой памяти. Но кодирование, например, видеофильма, состоящего из множества отдельных кадров, всё равно приведёт к очень большим затратам памяти (для комфортного восприятия человеческим глазом видеоряда необходима частота чередования 24 кадра в секунду). С другой стороны, кадры видеофильма образуют взаимосвязанную последовательную цепочку, поэтому процедуру сохранения и воспроизведения можно определённым образом оптимизировать. Обычно изображения, расположенные на соседних кадрах, отличаются несущественно. Актуальной задачей в таких условиях является задача о построении переходных, иначе говоря, интерполяционных изображений между двумя или несколькими заданными. Если запоминать не каждый кадр из последовательности, а лишь некоторые, и недостающие изображения восстанавливать по оставшимся, то размер необходимой информации о видеофильме сократится как минимум в 2 раза:

Интерполяция на основе арифметических операций - student2.ru

Рис. 1. Идея применения интерполяции к последовательности кадров

Интерполяция на основе арифметических операций

Задача построения (описания) переходных (интерполяционных) объектов между двумя заданными возникает в самых разных ситуациях. Рассмотрим простейший случай, в котором интерполируются векторы.

Интерполяция на основе арифметических операций - student2.ru Опишем семейство векторов Интерполяция на основе арифметических операций - student2.ru , которые являются переходными между двумя заданными векторами Интерполяция на основе арифметических операций - student2.ru и Интерполяция на основе арифметических операций - student2.ru в смысле рис.2 (их конечные точки перемещаются по отрезку, соединяющему конечные точки заданных векторов). Выразим некоторый такой вектор Интерполяция на основе арифметических операций - student2.ru через Интерполяция на основе арифметических операций - student2.ru и Интерполяция на основе арифметических операций - student2.ru . По правилам действий с векторами получаем, что:

Рис.2. Интерполяция векторов Интерполяция на основе арифметических операций - student2.ru

Интерполяция на основе арифметических операций - student2.ru Представим вектор Интерполяция на основе арифметических операций - student2.ru в виде разности векторов Интерполяция на основе арифметических операций - student2.ru , тогда

Интерполяция на основе арифметических операций - student2.ru

В итоге, приходим к формуле:

Интерполяция на основе арифметических операций - student2.ru

Данная формула описывает весь набор векторов, включая начальный и конечный.

Интерполяция на основе арифметических операций - student2.ru Отметим, что такая схема может быть применена для интерполяции любых объектов, на множестве которых определены операции сложения и умножения на положительное число (следовательно, в любом линейном пространстве), например, функций:

Интерполяция на основе арифметических операций - student2.ru ,

Интерполяция на основе арифметических операций - student2.ru

На рис.3 графически представлена процедура построения «средней», т.е. Интерполяция на основе арифметических операций - student2.ru , функции между двумя заданными с

Рис.3. Интерполяция функций помощью данной формулы.

Арифметические операции над множествами в Интерполяция на основе арифметических операций - student2.ru

Итак, для реализации простейшего метода интерполяции объектов достаточно, чтобы для них имелись две основные арифметические операции. Такие операции над множествами точек были предложены в начале XX века немецким математиком Германом Минковским. Работая над вопросами по геометрии выпуклых тел, он ввел следующие понятия.

1. Интерполяция на основе арифметических операций - student2.ru . Тогда сумма этих множеств (точек Интерполяция на основе арифметических операций - student2.ru векторов) определяется как объединение всевозможных попарных сумм векторов из этих множеств:

Интерполяция на основе арифметических операций - student2.ru + Интерполяция на основе арифметических операций - student2.ru Интерполяция на основе арифметических операций - student2.ru

(к каждому из векторов, входящих в одно множество, нужно прибавить все векторы, составляющие другое) (рис. 4).

Интерполяция на основе арифметических операций - student2.ru

Рис. 4. Схема сложения множеств в R2

Отметим универсальный характер построения – формула применима к любой паре множеств (изображений). Однако фактические построения часто реализуются довольно сложно. На практике для сложения «простых» изображений удобно находить лишь границу (контуры) изображения, являющегося суммой, для чего достаточно «просуммировать» границы исходных.

Пример 1. Пусть Интерполяция на основе арифметических операций - student2.ru – квадрат, координаты вершин которого (0; 50), (0; -50), (-100; -50), (-100; 50), Интерполяция на основе арифметических операций - student2.ru – квадрат с вершинами в точках (0; 0), (50; 50), (100; 0), (50; -50). Сложив множества Интерполяция на основе арифметических операций - student2.ru , получим восьмиугольник с вершинами (50; 100), (100; 50), (100; -50), (50; -100), (-50; -100), (-100; -50), (-100; 50), (-50; 100) ( рис.5):

Интерполяция на основе арифметических операций - student2.ru

Рис. 5. Сумма двух квадратов

В дальнейшем нам понадобится такой результат.

Пример 2. Суммой круга Интерполяция на основе арифметических операций - student2.ru радиуса Интерполяция на основе арифметических операций - student2.ru с центром в начале координат Интерполяция на основе арифметических операций - student2.ru = Интерполяция на основе арифметических операций - student2.ru (0;0) и круга Интерполяция на основе арифметических операций - student2.ru радиуса Интерполяция на основе арифметических операций - student2.ru с центром в некоторой точке Интерполяция на основе арифметических операций - student2.ru является круг с центром в точке Интерполяция на основе арифметических операций - student2.ru радиуса Интерполяция на основе арифметических операций - student2.ru (рис.6).

Интерполяция на основе арифметических операций - student2.ru

Рис. 6. Сумма двух кругов

Чтобы построить сумму данных множеств, к каждой точке границы круга Интерполяция на основе арифметических операций - student2.ru (к каждому вектору, проведённому из начала координат в некоторую точку границы Интерполяция на основе арифметических операций - student2.ru ) пририсуем окружность радиуса Интерполяция на основе арифметических операций - student2.ru (прибавим всевозможные векторы, проведённые из начала координат к границе круга Интерполяция на основе арифметических операций - student2.ru ). В итоге к кругу Интерполяция на основе арифметических операций - student2.ru добавится кольцо ширины Интерполяция на основе арифметических операций - student2.ru .

2. Умножение множества Интерполяция на основе арифметических операций - student2.ru на число Интерполяция на основе арифметических операций - student2.ru определяется как умножение всех векторов, составляющих данное множество, на это число (рис. 7):

λ * Интерполяция на основе арифметических операций - student2.ru .

Интерполяция на основе арифметических операций - student2.ru

Рис.7. Схема умножения в R2 множества Интерполяция на основе арифметических операций - student2.ru на число Интерполяция на основе арифметических операций - student2.ru

Пример 3. Пусть Интерполяция на основе арифметических операций - student2.ru – прямоугольный треугольник, вершины которого имеют координаты (25; 25), (25; 75), (75; 25). Тогда Интерполяция на основе арифметических операций - student2.ru – прямоугольный треугольник с вершинами (75; 75), (75; 225), (225; 75) (рис.8):

Интерполяция на основе арифметических операций - student2.ru

Рис. 8. Умножение треугольника на число 3.

Отметим основные свойства введённых операций:

Интерполяция на основе арифметических операций - student2.ru ) Интерполяция на основе арифметических операций - student2.ru + Интерполяция на основе арифметических операций - student2.ru

Интерполяция на основе арифметических операций - student2.ru ) ( Интерполяция на основе арифметических операций - student2.ru + Интерполяция на основе арифметических операций - student2.ru ) + Интерполяция на основе арифметических операций - student2.ru = Интерполяция на основе арифметических операций - student2.ru

Интерполяция на основе арифметических операций - student2.ru ) λ *(µ ∗ Интерполяция на основе арифметических операций - student2.ru (λµ)∗ Интерполяция на основе арифметических операций - student2.ru

Интерполяция на основе арифметических операций - student2.ru ) λ *( Интерполяция на основе арифметических операций - student2.ru + Интерполяция на основе арифметических операций - student2.ru ) = λ∗ Интерполяция на основе арифметических операций - student2.ru + λ∗ Интерполяция на основе арифметических операций - student2.ru

Наши рекомендации