Способ и устройство анизотропной фильтрации динамического видеоизображения
Изобретение относится к способам и устройствам анизотропной фильтрации динамического изображения. Техническим результатом является повышение качества динамического видеоизображения за счет применения анизотропного сглаживания с адаптивной маской. Результат достигается тем, что записывают данные пикселей текущего кадра видеопоследовательности в буфер текущего кадра, а данные пикселей предыдущего кадра видеопоследовательности записывают в буфер предыдущего кадра; определяют движение между текущим и предыдущим кадром видеопоследовательности в блоке расчета разности кадров; записывают вычисленное движение между текущим и предыдущим кадром в буфер данных о движении; записывают данные текущего кадра из буфера текущего кадра в буфер предыдущего кадра; определяют частные производные для каждого канала текущего кадра в блоке вычисления частной производной по оси абсцисс и в блоке вычисления частной производной по оси ординат; производят пространственное усреднение направленных производных для каждого канала текущего кадра, а также усреднение по каналам в первом и втором блоках сглаживания; определяют направление края для каждого положения пикселя текущего кадра в вычислителе арктангенса; формируют анизотропный фильтр для каждого положения пикселя текущего кадра и записывают его в память значений фильтра; производят анизотропную фильтрацию всех пикселей текущего кадра, движение которых превышает определенный порог в блоке анизотропной фильтрации. 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, отличающееся тем, что блок анизотропной фильтрации содержит постоянную память с коэффициентами банка анизотропных фильтров.












