Способ и устройство анизотропной фильтрации динамического видеоизображения
Иллюстрации
Показать всеИзобретение относится к способам и устройствам анизотропной фильтрации динамического изображения. Техническим результатом является повышение качества динамического видеоизображения за счет применения анизотропного сглаживания с адаптивной маской. Результат достигается тем, что записывают данные пикселей текущего кадра видеопоследовательности в буфер текущего кадра, а данные пикселей предыдущего кадра видеопоследовательности записывают в буфер предыдущего кадра; определяют движение между текущим и предыдущим кадром видеопоследовательности в блоке расчета разности кадров; записывают вычисленное движение между текущим и предыдущим кадром в буфер данных о движении; записывают данные текущего кадра из буфера текущего кадра в буфер предыдущего кадра; определяют частные производные для каждого канала текущего кадра в блоке вычисления частной производной по оси абсцисс и в блоке вычисления частной производной по оси ординат; производят пространственное усреднение направленных производных для каждого канала текущего кадра, а также усреднение по каналам в первом и втором блоках сглаживания; определяют направление края для каждого положения пикселя текущего кадра в вычислителе арктангенса; формируют анизотропный фильтр для каждого положения пикселя текущего кадра и записывают его в память значений фильтра; производят анизотропную фильтрацию всех пикселей текущего кадра, движение которых превышает определенный порог в блоке анизотропной фильтрации. 2 н. и 5 з.п. ф-лы, 2 ил.
Реферат
Настоящее изобретение относится к способам и устройствам для обработки видеоданных, а более конкретно к способам и устройствам анизотропной фильтрации динамического видеоизображения, и может быть применено в телевизорах высокой четкости и других устройствах вывода видеоизображения.
В настоящее время в связи с появлением устройств передачи и отображения видеосигнала высокой четкости становится актуальным направление улучшения качества видеоизображения, в частности, уменьшения краевых искажений в видеопоследовательностях с быстрой сменой кадров. Для уменьшения краевых искажений применяют различные способы фильтрации.
В патенте США №4541116 [1] описан способ фильтрации изображения, в котором выделяют матрицу пикселей изображения, сравнивают параметры каждого пикселя матрицы с параметрами соседних пикселей, используя несколько компараторов, и в соответствии с результатами сравнения корректируют параметры данного пикселя.
Наиболее близким к заявляемому изобретению является способ адаптивной анизотропной фильтрации, описанный в патенте США №5003618 [2], в котором фильтрацию автоматически применяют к пикселям черно-белого видеоизображения, при этом угловую ориентацию матрицы коэффициентов анизотропного фильтра определяют как весовую функцию пикселей, взятых в окрестности 5×5.
Недостатками указанных выше способов прототипа и аналога заявляемого изобретения является невозможность контроля пользователем величины сглаживания изображения и фиксированное число направлений анизотропной фильтрации. Отмеченные недостатки не позволяют в достаточной степени улучшить качество изображения.
Задачей заявленного изобретения является создание способа и устройства анизотропной фильтрации динамического видеоизображения, позволяющих повысить качество изображения.
Поставленная задача решена путем создания способа анизотропной фильтрации динамического видеоизображения, который включает в себя следующие операции:
- записывают данные пикселей текущего кадра видеопоследовательности в буфер (далее по тексту термин «буфер» употребляется равнозначно с термином «память») текущего кадра, а данные пикселей предыдущего кадра видеопоследовательности записывают в буфер предыдущего кадра;
- определяют параметры движения между текущим и предыдущим кадром видеопоследовательности в блоке вычисления разности между кадрами;
- записывают вычисленные параметры движения между текущим и предыдущим кадром в буфер параметров движения;
- записывают данные текущего кадра из буфера текущего кадра в буфер предыдущего кадра;
- определяют частные производные для каждого канала текущего кадра в блоке вычисления частной производной по оси абсцисс и в блоке вычисления частной производной по оси ординат;
- производят пространственное усреднение направленных производных для каждого канала текущего кадра, а также усреднение по каналам в первом и втором блоках сглаживания;
- определяют направление края для каждого положения пикселя текущего кадра в вычислителе арктангенса;
- формируют анизотропный фильтр для каждого положения пикселя текущего кадра и записывают его в память (буфер) значений фильтра;
- производят анизотропную фильтрацию всех пикселей текущего кадра, движение которых превышает определенный порог в блоке анизотропной фильтрации.
Для функционирования способа важно, чтобы определяли движение между текущим и предыдущим кадром методом оптического потока.
Для функционирования способа важно, чтобы определяли параметры движения между текущим и предыдущим кадром методом вычисления разности между кадрами.
Для функционирования способа важно, чтобы определяли частные
производные и используя фильтры Собеля или другие подобные фильтры для определения краев.
Для функционирования способа важно, чтобы формировали анизотропный фильтр в виде дискретной аппроксимации двумерного Гауссиана, подвергнутого сжатию и вращению по формуле
где x, у - координаты относительно центра маски, N - нормализующий множитель, σ - стандартное отклонение, Sx и Sy - масштабирующие множители, и α - это направление главной оси симметрии, вычисленное по формуле
Поставленная задача решена также путем создания устройства анизотропной фильтрации динамического видеоизображения, которое состоит из блока упорядочения и вычисления разности между кадрами, который имеет вход для передачи кадров видеоизображения и соединен двухсторонней связью с памятью (буфером) предыдущего кадра, памятью (буфером) параметров движения, выход которой связан с первым входом блока анизотропной фильтрации, и памятью (буфером) текущего кадра, первый выход которой связан с входом вычислителя X-производной, выход которого связан с входом первого блока сглаживания, выход которого связан с первым входом вычислителя арктангенса, выход которого связан с входом памяти (буфера) значений фильтра, выход которого связан со вторым входом блока анизотропной фильтрации, причем второй выход памяти (буфера) текущего кадра связан с входом вычислителя Y-производной, выход которого связан с входом второго блока сглаживания, выход которого связан со вторым входом вычислителя арктангенса, а третий выход памяти (буфера) текущего кадра связан с третьим входом блока анизотропной фильтрации, блока упорядочения и вычисления разности между кадрами, связанного двусторонней связью с памятью (буфером) предыдущего кадра и односторонними связями с памятью (буфером) текущего кадра и памятью (буфером) параметров движения, первый из которых связан с двумя параллельно связанными парами блоков, состоящих из последовательно соединенного блока вычисления частных производных и блока сглаживания, а также последовательно соединенными блоком вычисления арктангенса и памятью (буфером) значений фильтра, блока анизотропной фильтрации, связанного с памятью (буфером) параметров движения, памятью (буфером) текущего кадра и памятью (буфером) значений фильтра.
Для функционирования устройства важно, чтобы блок анизотропной фильтрации содержал постоянную память с коэффициентами банка анизотропных фильтров.
Техническим результатом заявленного изобретения является повышение качества динамического видеоизображения за счет применения анизотропного сглаживания с адаптивной маской, зависящей от направления краев в изображении, и осуществления анизотропной фильтрации только областей с большим движением между кадрами видеоизображения, которые наиболее подвержены краевым искажениям.
Для лучшего понимания настоящего изобретения далее приводится его подробное описание с соответствующими чертежами.
Фиг.1 Блок-схема способа анизотропной фильтрации динамического видеоизображения, выполненная согласно изобретению.
Фиг.2 Блок-схема устройства анизотропной фильтрации динамического видеоизображения, выполненная согласно изобретению.
В заявленном способе банк анизотропных фильтров вычисляют в виде набора дискретных аппроксимаций двумерного Гауссиана, подвергнутого различным преобразованиям сжатия/растяжения и вращения. Для фильтрации в каждой заданной точке изображения используют фильтр, производящий наибольшее сглаживание в направлении, параллельном направлению края, и минимальное сглаживание в направлении, перпендикулярном направлению края. Направление края определяют как арктангенс усредненных частных производных по осям Х и Y. Анизотропную фильтрацию применяют только в динамических областях изображения. В качестве критерия для определения статических и динамических областей используют модуль вектора движения, оцененного при помощи метода оптического потока или как модуль разности кадров.
Идея улучшения видеоизображения, описанная выше, подходит для динамических видеопоследовательностей с множеством краевых искажений. Что касается статических изображений с четкими деталями, то в любой вид сглаживания порождает нежелательное размывание. Поэтому предлагается применять анизотропную фильтрацию только для областей с интенсивным движением.
Последовательность операций при реализации заявляемого способа приведена на Фиг.1. Все элементы и этапы способа обозначены индексами от 101 до 110. На начальном этапе определяют движение между двумя последовательными кадрами (шаг 1), вычисляют пространственные производные для RGB представления или для YCbCr представления (шаг 2), вычисляют пространственно сглаженные производные для RGB представления или для YCbCr представления (шаг 3) и производные сглаженные по каналам
или
(шаг 4), вычисляют направление края для каждого положения пикселя
(шаг 5), вычисляют анизотропный фильтр для каждого положения пикселя в соответствии с формулой
где x, y - координаты относительно центра маски, N - нормализующий множитель, σ - стандартное отклонение, Sx и Sy - масштабирующие множители по осям Х и Y (шаг 6). Затем для пикселей, движущихся интенсивнее порогового значения, применяют анизотропную фильтрацию (шаг 7).
На Фиг.2 показана блок-схема устройства анизотропной фильтрации динамического видеоизображения для реализации описанного выше способа. Входной видеопоток, обозначенный на схеме как «Вход», поступает в блок 1 упорядочения и вычисления разности между кадрами, который считывает биты данных из входного видео-потока, считывает данные, соответствующие тому же положению пикселя в кадре из памяти (буфера) 3 предыдущего кадра, вычисляет разность между текущим и предыдущим кадром для текущего пикселя, записывает эту величину в память (буфер) 4 параметров движения, и сохраняет считанные данные в память (буфер) 2 текущего кадра и в память (буфер) 3 предыдущего кадра. Кадр из памяти (буфера) 2 текущего кадра поступает на входы блока 5 вычисления частных производных по оси абсцисс и блока 6 по оси ординат соответственно, в которых вычисляют частные производные по осям Х и Y Dx и Dy для полутонового изображения или для RGB представления, или для YCbCr представления. Выходы блоков 5 и 6 вычисления частных производных соединены с блоком 7 и блоком 8 сглаживания, т.е. с блоками, производящими пространственное усреднение с использованием фильтрации с маской вида
для окрестности 3×3 или другой подходящей маски при использовании большей окрестности, а затем усреднение по цветовым плоскостям для многоканального изображения по формуле
или другой подходящей формуле при использовании формата изображения отличного от RGB. Выходы блоков 7 и 8 соединены с CORDIC вычислителем 9 арктангенса, на выходе которого получают значение (номер) анизотропного фильтра с соответствующей ориентацией, который сохраняют в памяти (буфере) 10 значения фильтра. В блоке 11 анизотропной фильтрации производится считывание номера фильтра из памяти (буфера) 10 значения фильтра, считывание информации о движении из памяти (буфера) 4 параметров движения, выполнение анизотропной фильтрации в случае, если движение превышает заданный порог, и запись результата в выходной видеопоток («Выход»). Вычисление коэффициентов банка анизотропных фильтров производится однократно на этапе разработки устройства. После этого коэффициенты сохраняются в блоке 12 постоянной памяти, являющемся частью блока 11 анизотропной фильтрации.
Предложенный способ может быть использован в алгоритмах улучшения статического и видеоизображения. Например, он может быть использован как часть алгоритмов преобразования из SDTV в HDTV.
Следует отметить, что описанный выше вариант выполнения изобретения был изложен лишь с целью иллюстрации настоящего изобретения, и специалистам должно быть ясно, что возможны разные 20 модификаций, добавления и замены, не выходящие из объема и смысла настоящего изобретения, изложенного в прилагаемой формуле изобретения.
1. Способ анизотропной фильтрации динамического видеоизображения, включающий в себя следующие операции:
записывают данные пикселей текущего кадра видеопоследовательности в буфер текущего кадра, а данные пикселей предыдущего кадра видеопоследовательности записывают в буфер предыдущего кадра;
определяют параметры движения между текущим и предыдущим кадром видеопоследовательности в блоке вычисления разности между кадрами;
записывают вычисленные параметры движения между текущим и предыдущим кадром в буфер параметров движения;
записывают данные текущего кадра из буфера текущего кадра в буфер предыдущего кадра;
определяют частные производные для каждого канала текущего кадра в блоке вычисления частной производной по оси абсцисс и в блоке вычисления частной производной по оси ординат;
производят пространственное усреднение направленных производных для каждого канала текущего кадра, а также усреднение по каналам в первом и втором блоках сглаживания;
определяют направление края для каждого положения пикселя текущего кадра в вычислителе арктангенса;
формируют анизотропный фильтр для каждого положения пикселя текущего кадра и записывают его в память значений фильтра;
производят анизотропную фильтрацию всех пикселей текущего кадра, движение которых превышает определенный порог в блоке анизотропной фильтрации.
2. Способ по п.1, отличающийся тем, что определяют параметры движения между текущим и предыдущим кадром методом оптического потока.
3. Способ по п.1, отличающийся тем, что определяют параметры движения между текущим и предыдущим кадром методом вычисления разности между кадрами.
4. Способ по п.1, отличающийся тем, что определяют частные производные и используя фильтры для определения краев, подобные фильтрам Собеля.
5. Способ по п.1, отличающийся тем, что формируют анизотропный фильтр в виде дискретной аппроксимации двумерного Гауссиана, подвергнутого сжатию и вращению по формуле
где x, y - координаты относительно центра маски, N нормализующий множитель, σ стандартное отклонение, Sx и Sy - масштабирующие множители, и α это направление главной оси симметрии, вычисленное по формуле
6. Устройство анизотропной фильтрации динамического видеоизображения, состоящее из блока упорядочения и вычисления разности между кадрами, который имеет вход для передачи кадров видеоизображения и соединен двухсторонней связью с буфером предыдущего кадра, буфером параметров движения, выход которой связан с первым входом блока анизотропной фильтрации, и буфером текущего кадра, первый выход которой связан с входом вычислителя Х-производной, выход которого связан с входом первого блока сглаживания, выход которого связан с первым входом вычислителя арктангенса, выход которого связан с входом буфера значений фильтра, выход которого связан со вторым входом блока анизотропной фильтрации, причем второй выход буфера текущего кадра связан с входом вычислителя Y-производной, выход которого связан с входом второго блока сглаживания, выход которого связан с вторым входом вычислителя арктангенса, а третий выход буфера текущего кадра связан с третьим входом блока анизотропной фильтрации, блока упорядочения и вычисления разности между кадрами, связанного двусторонней связью с буфером предыдущего кадра и односторонними связями с буфером текущего кадра и буфером параметров движения, первый из которых связан с двумя параллельно связанными парами блоков, состоящих из последовательно соединенного блока вычисления частных производных и блока сглаживания, а также последовательно соединенными блоком вычисления арктангенса и буфером значений фильтра, блока анизотропной фильтрации, связанного с буфером параметров движения, буфером текущего кадра и буфером значений фильтра.
7. Устройство по п.6, отличающееся тем, что блок анизотропной фильтрации содержит постоянную память с коэффициентами банка анизотропных фильтров.