СПОСОБ СТАБИЛИЗАЦИИ ВИДЕОИЗОБРАЖЕНИЯ ДЛЯ МНОГОФУНКЦИОНАЛЬНЫХ ПЛАТФОРМ

1. Способ стабилизации цифрового видео, содержащий выполнение на компьютерном устройстве этапов, на которых:
анализируют компьютерное устройство для определения доступности любого из различных мультимедийных компонентов обработки цифрового сигнала (DSP) на компьютерном устройстве;
определяют из результатов упомянутого анализа, какой доступный мультимедийный компонент DSP использовать для обработки по меньшей мере одной части обработки по стабилизации цифрового видео, в соответствии с иерархической структурой для упорядочения мультимедийных компонентов DSP посредством критериев, содержащих, по меньшей мере, производительность стабилизации цифрового видео, причем стабилизация цифрового видео содержит, по меньшей мере, обработку по оценке векторов локального движения, обработку векторов движения для оценки преобразования глобального движения, представляющего движение вибрации видео, и обработку по деформированию изображения на основе преобразования глобального движения для компенсации движения вибрации видео; и
выполняют обработку по стабилизации цифрового видео в отношении сегмента видео на компьютерном устройстве с использованием упомянутого определенного доступного мультимедийного компонента DSP для упомянутой по меньшей мере одной части обработки по стабилизации цифрового видео.
2. Способ по п.1, в котором иерархическая структура содержит в следующем порядке: мультимедийные модули DSP специализированной интегральной микросхемы (ASIC), модули шейдера графического процессора (GPU), многоядерный центральный процессор (CPU) и одноядерный CPU.
3. Способ по п.1, дополнительно содержащий этап, на котором, после того, как при упомянутом анализе определено, что на компьютерном устройстве доступен шейдер GPU, выполняют обработку по стабилизации цифрового видео для использования шейдера GPU для обработки по оценке векторов локального движения.
4. Способ по п.3, дополнительно содержащий этап, на котором, если при упомянутом анализе определено, что на компьютерном устройстве доступен шейдер GPU, выполняют обработку по стабилизации цифрового видео для дополнительного использования шейдера GPU для обработки по деформированию изображения.
5. Способ стабилизации цифрового видео, содержащий выполнение на компьютерном устройстве этапов, на которых:
выполняют обработку по оценке векторов локального движения для каждого из множества кадров каждой сцены сегмента видео, причем при обработке по оценке векторов локального движения для каждого упомянутого кадра:
выполняют субдискретизацию упомянутого кадра и эталонного кадра, ассоциированного с упомянутым каждым кадром, в один или в несколько раз для формирования множества версий упомянутого каждого кадра с множеством разрешений, причем версия упомянутого каждого кадра с самым низким разрешением имеет множество блоков, связанных в виде пирамидальной структуры с последовательно большим количеством блоков в соответствующих положениях в каждой версии упомянутого каждого кадра с более высоким разрешением;
для версии упомянутого каждого кадра с самым низким разрешением, оценивают векторы движения блоков упомянутой версии кадра с самым низким разрешением с использованием обработки по оценке векторов движения с полным поиском в отношении эталонного кадра, ассоциированного с версией с самым низким разрешением;
для каждой версии упомянутого каждого кадра с последовательно более высоким разрешением, оценивают векторы движения блоков упомянутой версии кадра с последовательно более высоким разрешением с использованием детализированного поиска, начиная с вектора движения, оцененного для ассоциированного блока предыдущей версии кадра с более низким разрешением, в соответствии с пирамидальной структурой; и
получают оцененные векторы локального движения для блоков версии упомянутого каждого кадра с исходным разрешением;
обрабатывают оцененные векторы локального движения упомянутого каждого кадра для оценки преобразования глобального движения, представляющего движение вибрации видео; и
выполняют обработку по деформированию изображения в отношении упомянутого каждого кадра на основе преобразования глобального движения для компенсации движения вибрации видео.
6. Способ по п.5, в котором упомянутая обработка оцененных векторов локального движения упомянутого каждого кадра содержит этапы, на которых:
выбирают набор векторов движения для использования их для оценки преобразования глобального движения из полученных оцененных векторов локального движения упомянутого каждого кадра, при этом при упомянутом выборе набора векторов движения:
исключают векторы движения на границах изображения;
исключают векторы движения, имеющие высокую остаточную погрешность компенсации движения; и
исключают векторы движения для блоков с малым изменением содержимого изображения.
7. Способ по п.5, в котором при упомянутой обработке оцененных векторов локального движения упомянутого каждого кадра для оценки преобразования глобального движения обрабатывают векторы локального движения упомянутого каждого кадра с использованием согласования произвольной выборки для удаления посторонних векторов движения.
8. Способ по п.5, в котором при упомянутой обработке оцененных векторов локального движения упомянутого каждого кадра:
сравнивают преобразование глобального движения, оцененное при помощи обработки векторов локального движения упомянутого каждого кадра, с верхним и нижним предельными значениями;
если оцененное преобразование глобального движения превышает верхнее предельное значение, то преобразование глобального движения сбрасывают;
если оцененное преобразование глобального движения превышает нижнее предельное значение, но не верхнее предельное значение, то ограничивают преобразование глобального движения нижним предельным значением; и
в противном случае, используют оцененное преобразование глобального движения для представления движения вибрации видео.
9. Способ по п.8, дополнительно содержащий этапы, на которых:
в качестве первого прохода по кадрам в сцене сегмента видео, обрабатывают кадры для оценки преобразований глобального движения для этих кадров;
определяют вероятностные распределения параметров преобразования глобального движения для этих кадров;
определяют упомянутое нижнее предельное значение и упомянутое верхнее предельное значение на основе вероятностных распределений; и
применяют упомянутые нижнее предельное значение и верхнее предельное значение к оценкам преобразования глобального движения в обработке кадров сегмента видео второго прохода.
10. Способ по п.5, в котором при упомянутой обработке оцененных векторов локального движения упомянутого каждого кадра:
обрабатывают векторы движения упомянутого каждого кадра с использованием согласования произвольной выборки и наименьшую величину среднеквадратической ошибки для оценки параметров для преобразования глобального движения на основе модели подобия движения; и
сравнивают оцененные параметры преобразования глобального движения с нижним и верхним предельными значениями упомянутых параметров;
если какие-либо из оцененных параметров преобразования глобального движения превышают свое верхнее предельное значение, то преобразование глобального движения сбрасывают;
если какие-либо из оцененных параметров преобразования глобального движения превышают нижнее предельное значение, но не верхнее предельное значение, то ограничивают оцененные параметры преобразования глобального движения их нижним предельным значением; и
в противном случае, используют оцененное преобразование глобального движения для представления движения вибрации видео.
11. Способ по п.5, в котором упомянутая обработка оцененных векторов локального движения упомянутого каждого кадра содержит применение временного сглаживания к оцененному преобразованию глобального движения с использованием фильтра Гаусса;
при этом при упомянутой обработке оцененных векторов локального движения упомянутого каждого кадра применяют временное сглаживание к оцененному преобразованию глобального движения с использованием глобальной оптимизации с заданными ограничениями для всех кадров в сцене сегмента видео.
12. Устройство обработки цифрового видео для обработки видео для применения стабилизации видеоизображения к этому видео, содержащее:
запоминающее устройство, хранящее библиотечную программу стабилизации видео на многофункциональной платформе;
по меньшей мере один компонент обработки цифрового сигнала;
процессорное устройство, выполненное с возможностью исполнения библиотечной программы стабилизации видео из запоминающего устройства, причем при упомянутом исполнении библиотечной программы стабилизации видео:
оценивают упомянутый по меньшей мере один компонент обработки цифрового сигнала устройства обработки цифрового видео;
определяют, какой из упомянутого по меньшей мере одного компонента обработки цифрового сигнала использовать для по меньшей мере одной части обработки видео для стабилизации видеоизображения, в соответствии с иерархической структурой для упорядочения компонентов обработки цифрового сигнала посредством критериев, содержащих, по меньшей мере, производительность стабилизации цифрового видео;
обрабатывают видео для стабилизации видеоизображения частично посредством обработки кадров видео для оценки векторов локального движения кадров, обработку векторов движения для оценки преобразования глобального движения кадров, представляющего движение вибрации видео, и обработку по деформированию изображения кадров на основе преобразования глобального движения для компенсации движения вибрации видео, при этом упомянутая обработка видео выполняет функции программирования в библиотечной программе стабилизации видео в многофункциональной платформе для использования упомянутого определенного компонента обработки цифрового сигнала для упомянутой по меньшей мере одной части обработки видео для стабилизации изображения.
13. Устройство обработки цифрового видео по п.12, в котором упомянутая часть обрабатываемых кадров видео для оценки векторов локального движения кадров посредством компонентов цифрового сигнала содержит предписание упомянутому определенному по меньшей мере одному компоненту обработки цифрового сигнала для каждого из множества кадров в сцене сегмента видео выполнять действия, согласно которым:
выполняют субдискретизацию в отношении каждого кадра и эталонного кадра, ассоциированного с упомянутым каждым кадром, в один или более раз для формирования множества версий упомянутого каждого кадра с множеством разрешений, причем версия упомянутого каждого кадра с самым низким разрешением имеет множество блоков, связанных в виде пирамидальной структуры с последовательно большим количеством блоков в соответствующих положениях в каждой версии упомянутого каждого кадра с более высоким разрешением;
для версии упомянутого каждого кадра с самым низким разрешением, оценивают векторы движения блоков версии упомянутого кадра с самым низким разрешением с использованием обработки по оценке векторов движения с полным поиском в отношении эталонного кадра, ассоциированного с версией самым низким разрешением;
для каждой версии упомянутого каждого кадра с последовательно более высоким разрешением, оценивают векторы движения блоков упомянутой версии кадра с последовательно более высоким разрешением с использованием детализированного поиска, начиная с вектора движения, оцененного для ассоциированного блока предыдущей версии кадра с более низким разрешением, в соответствии с пирамидальной структурой; и
получают оцененные векторы локального движения для блоков версии с исходным разрешением упомянутого каждого кадра.
14. Устройство обработки цифрового видео по п.13, в котором упомянутая часть обрабатываемых векторов движения для оценки преобразования глобального движения, представляющего движение вибрации видео для кадров, содержит обработку векторов движения каждого кадра с использованием согласования произвольной выборки и наименьшей среднеквадратической ошибки для оценки параметров для преобразования глобального движения на основе модели движения, основывающейся на подобии.
15. Устройство обработки цифрового видео по п.14, в котором упомянутая часть обрабатываемых векторов движения для оценки преобразования глобального движения, представляющего движение вибрации видео для кадров, дополнительно содержит этапы, на которых:
выполняют два прохода упомянутой обработки векторов движения для оценки преобразования глобального движения для кадров в сцене сегмента видео;
используют преобразования глобального движения, оцененные в первом проходе для кадров, определяя вероятностные распределения параметров преобразования глобального движения;
определяют нижнее предельное значение и верхнее предельное значения на основе вероятностных распределений; и
во втором проходе, сравнивают оцененные параметры преобразования глобального движения с нижним и верхним предельными значениями упомянутых параметров;
если какие-либо из оцененных параметров преобразования глобального движения превышают свое верхнее предельное значение, то преобразование глобального движения сбрасывается;
если какие-либо из оцененных параметров преобразования глобального движения превышают нижнее предельное значение, но не верхнее предельное значение, то ограничивают оцененные параметры преобразования глобального движения их нижним предельным значением; и
в противном случае, используют оцененное преобразование глобального движения для представления движения вибрации видео.