Введение На сегодняшний день цифровая видеоинформация широко используется в современном мире, приобретает все большие темпы развития и охватывает разнообразные области применения. Многие задачи и проблемы, широко использующиеся во всех сферах жизнедеятельности человека, неразрывно связаны с процессами получения, передачи и обработки видеоданных. Некоторыми из телемедицина, областей применения геоинформационные таких системы, процессов являются телевизионное вещание, охранные системы. Качество цифрового видеосигнала является одной из важнейших его характеристик с точки зрения воспроизведения, однако не менее важной характеристикой является объём данных. В результате преобразований видеопотока, которые необходимы для увеличения степени сжатия, происходит потеря информации, что приводит к изменению качества воспроизводимого изображения. Формирование телевизионных (ТВ) изображений высокой и сверхвысокой четкости отражает современные направления развития видеоинформационных технологий на основе новых научных достижений в области телевидения и передачи видеоданных. Однако лишь недавно эти форматы четкости успели доказать востребованность, завоевать признание обычных пользователей и профессионалов, а также показать свое преимущество перед ТВ изображениями стандартной четкости. Пользователи все чаще выбирают возможность работы с изображениями с большей четкостью, независимо от того, смотрят ли они фильм, программы передач телевидения высокой четкости (ТВЧ), занимаются видеомонтажом или хотят организовать видеоконференцсвязь, используя для этого персональный компьютер или свое мобильное устройство. Повсеместному внедрению, например, систем ТВЧ препятствуют трудности, обусловленные высокой инерционностью процесса модернизации 1 аппаратуры и технического оснащения для формирования и обработки соответствующих видеоинформационных сигналов с учётом обеспечения требований, предъявляемых потребителями к качеству таких сигналов. Соответственно, удовлетворение перечисленных потребностей пользователей в полной мере возможно только с использованием самых передовых высокопроизводительных средств передачи сигналов и мощных аппаратных вычислительных ресурсов, стоимость которых зачастую оказывается очень высокой. Последнее заставляет предпринимать шаги для того, чтобы компенсировать инерционность развития технической составляющей, создавая возможности реализации современных требований к обработке видео на базе приемлемых по стоимости аппаратных платформ и доступных для пользователей средств передачи данных. Для эффективного решения такой задачи необходимы исследования, достижения и перспективные разработки в области методов и устройств кодирования, которые позволят ускорить интеграцию современных технологий в жизнь каждого потребителя. Уже сейчас неоценимый вклад по данным направлениям, внесли и продолжают вносить теоретические и практические работы С.И. Катаева, М.И. Кривошеева, Ю.Б. Зубарева, А.С. Селиванова, Б.П. Хромого, В.П. Дворковича, Ю.С. Сагдуллаева, В.Н. Безрукова, а также других отечественных и зарубежных авторов. Современным продуктом таких исследований являются, например, широко используемые стандарты сжатия H.264/AVC и H.265/HEVC. Они реализуют эффективное кодирование в системах ТВЧ для работы на большинстве аппаратных платформ и систем, с использованием меньшего количества ресурсов для передачи видеоинформационных сигналов. Однако остается ряд платформ, для которых названные стандарты неспособны обеспечить эффективное кодирование сигналов ТВ изображений с качеством, соответствующим формату высокой четкости, особенно, для кодирования изображений, передаваемых в режиме реального времени. Кроме этого, исследования показали, что новейшие форматы ТВ изображений 2 сверхвысокой четкости 4K и 8K, скорее всего, предъявят бескомпромиссно высокие требования к основным алгоритмам современных стандартов сжатия в отношении их эффективности и скорости обработки видеоинформационных сигналов, что говорит о скором достижении предела заложенного в эти стандарты ресурса. Сказанное выше приводит к выводу о необходимости дальнейших исследований и разработок более эффективных методов обработки и кодирования ТВ сигналов в цифровых видеоинформационных системах. По этой причине актуальными являются разработки новых цифровых методов и устройств, отличающихся не только эффективным и качественным, но и быстрым по времени, за счёт снижения объёма необходимых вычислений, кодированием видеоинформационных сигналов высокой и сверхвысокой четкости. При этом в процессе обработки таких сигналов не потребуется привлечение высокопроизводительного оборудования. Наличие таких методов и устройств позволит успешно обеспечивать современные и будущие требования к видеоинформационным системам на базе мобильных и стационарных аппаратных платформ. Целью настоящей работы является модернизация существующих и разработка новых адаптивных методов, алгоритмов и устройств, позволяющих эффективно формировать, обрабатывать и кодировать видеоинформационные сигналы ТВ изображений со стандартной, высокой и сверхвысокой четкостью, а также сократить за счёт снижения объёма вычислений необходимое количество используемых временных и аппаратных ресурсов для реализации перечисленных операций в сравнении с существующими методами. 3 1 Исследование методов кодирования направлений видеоинформационного сигнала 1.1 Характеристики параметров зрительной системы человека Конечной точкой приема видеоинформационного сигнала является зрительная система человека, которая регистрирует и обрабатывает эту информацию, представляя ее в виде изображений. По этой причине при проектировании новейших видеоинформационных систем или модифицировании существующих важно учитывать особенности зрительной системы человека, что дает возможность формировать набор критериев верности воспроизведения изображения на выходе видеоинформационной системы и дешифруемости этого изображения человеком. Зрительная система человека состоит из глаз, зрительного нерва и мозга [48], совместная работа которых обеспечивает формирование объемных изображений окружающего мира. Глаз, как и объектив телевизионной камеры, представляет собой оптический приемник. От качества приходящего на вход приемника сигнала (изображения), согласованности его характеристик с обрабатывающей системой приемника и точности обработки этим приемником будет зависеть степень верности формирования изображения в мозге. Глаз человека состоит из таких основных элементов как склера, зрачок, хрусталик и сетчатка. Склера служит биологическим корпусом глаза, который содержит в себе остальные из перечисленных выше элементов. Зрачок представляет собой диафрагму, регулирующую количество пропускаемого света. Хрусталик является линзой, обеспечивающей фокусировку глаза на объекты. Сетчатку можно описать как световоспринимающую матрицу, которая состоит из двух видов активных анализирующих элементов – палочек и колбочек. Благодаря результатам физиологических исследований глаза известно, что палочки активируются в темноте или в сумеречное время и воспринимают только оттенки серого. Колбочки участвуют в дневном зрении, 4 воспринимают цвет и, соответственно, их разрешающая способность намного выше, чем у палочек. Кроме того, максимальная чувствительность палочек и колбочек достигается на разных длинах волн. По этой причине чувствительность глаза человека зависит от длины волны. Диапазон длин волн, в котором глаз способен регистрировать сигналы, составляет от 380 нм до 760 нм. Наибольшая чувствительность, а, следовательно, разрешающая способность глаза, достигается на длине волны 555 нм (зелено-желтый цвет), при дневном зрении, и на длине волны 515 нм, при сумеречном зрении. По мере удаления от этого значения, в обе стороны спектра, чувствительность глаза падает и начинает стремиться к нулю, начиная со значений длин волн 380 нм – фиолетовый цвет и 760 нм – красный цвет. [1]. Спектральная характеристика - это зависимость спектральной плотности мощности излучения от частоты (длины волны) излучения. Применительно к глазу человека, спектральную характеристику называют кривой видности. Соответственно для зрения человека различают две кривых видности – для дневного и ночного зрения. У разных наблюдателей, кривые видности различны, поэтому существуют их среднее представление, приведенное на рисунке 1.1. Рисунок 1.1 – Кривые видности человеческого зрения в области длин волн 5 Из-за сдвига между кривыми дневного зрения и ночного зрения, колбочки регистрируют синефиолетовый цвет как светлый оттенок серого, а красный – темный. Этот сдвиг называется сдвигом Пуркинье [3]. Таким образом, объекты, имеющие разные значения яркости, глазом могут восприниматься как одинаково яркие или же воздействие одинаково ярких объектов, к примеру, с синим и зеленым цветами, будет восприниматься не одинаково [2, 3]. В связи с изложенным выше можно также отметить, что, в зависимости от регистрируемой зрительной системой яркости, имеет место адаптация глаза. Адаптация происходит за счет манипулирования размером зрачка глаза, а также переходом с колбочкового зрения на палочковое или наоборот. При этом существует темновая адаптация, под которой подразумевается переход от воздействия яркого света к менее яркому, и световая адаптация - от темного к яркому. Зависимость чувствительности от времени адаптации глаза при переходе с колбочкового зрения на палочковое, т.е. при темновой адаптации, изображена на рисунке 1.2 [3]. Рисунок 1.2 – Кривая адаптации при переходе от колбочкового зрения к палочковому Таким образом, из графика на рисунке 1.2 видно, что наибольшей чувствительностью к свету обладают палочки. Перегиб на графике рисунка 1.2 6 иллюстрирует момент, когда колбочки достигают максимальной чувствительности, после чего более не участвуют в процессе адаптации – человек начинает воспринимать объекты в черно-белом цвете. Верхняя граница слепящей яркости зависит от времени темновой адаптации глаза, поэтому, чем дольше происходила темновая адаптация, тем меньшая яркость света вызывает ослепление. Если в поле зрения попадают очень ярко освещенные или слепящие объекты, то они ухудшают восприятие сигналов на большей части сетчатки. Только по истечении достаточного времени адаптация глаза к яркому свету заканчивается, и глаз начинает нормально функционировать. Кроме глаза, в зрительной системе большую роль играет работа мозга. Поэтому, одной из основных особенностей работы зрения также являются обратные связи, определяющие специфику работы зрительной системы. При этом мозг человека реализует обработку поступающей видеоинформации (блок обработки видеоинформации), и обеспечивает управление зрительной системой в режиме видеоконтроля по цепям обратных связей [4]. На рисунке 1.3, в виде структурной схемы, представлена модель, учитывающая известные особенности функционирования зрительной системы человека. Рисунок 1.3 – Модель функционирования зрительной системы человека 7 На рисунке 1.3 ВВ – входное воздействие, ОС - оптическая система, содержащая диафрагму Д, элемент фокусировки при проецировании объекта на светочувствительную светочувствительная поверхность поверхность пространственно-цветовой СВП, ЭФ, в дискретизатор светопровод которой ПЦД СП, выделены и элементы дифференциального и интегрального анализа видеоинформации ЭД и ИА, блок относительной обработки и кодирования видеоинформации БОО и К, блок уровней памяти БУП, состоящий из уровней оперативной, долговременной, ассоциативной, подсознательной и т.д. уровней памяти, блок формирования сигнала управления и обратных связей БФСУ и ОС, блок исполнительных элементов БИЭ, отдельные исполнительные элементы ИЭ. Иллюстрационно на рисунке 1.4 показана пространственная частотная характеристика глаза (аргумент - пространственные частоты x, y в период/градус) и ее сечение при y = 0, а на рисунке 1.5 - временная частотная характеристика глаза (аргумент Гц). Рисунок 1.4 – Пространственная частотная характеристика глаза Рисунок 1.5 – Временная частотная характеристика глаза 8 Таким образом, в условиях малых яркостей и освещенностей контролируемых объектов зрительная система работает как многомерный интегратор видеоинформации. При больших освещенностях (яркостях) объектов проявляются дифференциальные свойства зрения человека. [4] Классическими экспериментами (Брок и Зульцер, 1902 г.) было доказано, что зрительная система имеет различные характеристики при восприятии экранов с постоянной и кратковременной освещенностью. Чередования длительных изображений слабоосвещенных сцен с кратковременными засветками вызывают дискомфорт. Важными элементами функционирования зрительной системы являются регулировки размера зрачка, формы хрусталика, прерывания светового потока, движения глаз, тремор, адаптационные явления, наличие области ясного видения. Необходимо учитывать и наличие в зрительной системе пространственной и цветовой дискретизации входного изображения светочувствительными элементами. При этом обеспечивается полное подавление искажений дискретизации за счет выбора определенного распределения, определенной чувствительности и размера распределенных светочувствительных элементов в пределах области “ясного видения” и периферии. Управление зрительной системы реализуется на основе накопления и классификации информационных характеристик объектов в блоке уровней памяти. Накопленная человеком видеоинформация позволяет адаптационно оптимизировать характеристики зрительной системы, исключает восприятие неизменной или узнаваемой видеоинформации. 1.2 Алгоритмы энтропийного кодирования при сжатии спектра видеоинформационного сигнала Энтропия определяется количеством информации, которое содержится в символе a, имеющем вероятность P. При этом информация символа, имеющего вероятность P, определятся формулой [5, 90]: 9 𝐼(𝑃) = − log 2 𝑃 , бит. (1.1) Под символом здесь подразумевается один из отличающихся друг от друга элементов, полный набор которых образует сообщение, которое формируется некоторым источником сообщений. Общая совокупность символов, доступных источнику при формировании сообщений – алфавит А = {а1, а2, …, аN}. Вероятность появления в сообщении того или иного символа из совокупности соответственно равна (P1, P2, …, PN). Имея такие данные, можно определить энтропию этого алфавита в соответствии с формулой [5, 90]: 𝑁 𝐻 = ∑ −𝑃𝑖 log 2 (𝑃𝑖 ), бит, (1.2) 𝑖 Энтропия сообщения, которое образовано из таких символов, будет определяться аналогичным образом. Соответственно для данного случая будет верно сказать, что энтропия сообщения – это мера количества информации содержащейся в этом сообщении. Своего максимального значения энтропия будет достигать в случае равновероятностного появления всех символов, и приобретать меньшие значения при резко отличающихся вероятностях появления символов [5]. Кодер, в работе которого лежат описанные выше принципы, называется энтропийным кодером. Основным механизмом в работе энтропийного кодера является кодирование алфавита символов переменным числом бит, еще известное как VLC (variable length code) кодирование. Количество бит, которое будет приходиться на тот или иной символ, напрямую зависит от вероятности появления этого символа. Соответственно, чем ближе вероятность появления символа к единице, тем меньшим количеством бит будет кодироваться этот символ. Такой способ кодирования обеспечивает достаточно высокую степень устранения избыточности сообщения и, как следствие, высокий уровень 10 сжатия при кодировании без потерь. Однако обязательным требованием к кодировочному коду символов является префиксность этого кода. Данные коды, не смотря на переменность длины, обладают свойством следовать подряд, без разделительного знака, и быть при этом однозначно декодированными на исходные символы. На текущий момент существует несколько алгоритмов кодирования, обеспечивающих формирование кода, отвечающего требованиям, описанным в предыдущем абзаце. В зависимости от способа формирования кода, такие алгоритмы кодирования принято разделять на три группы: 1. Статические алгоритмы сжатия; 2. Адаптивные алгоритмы сжатия; 3. Динамические алгоритмы сжатия. К статическим алгоритмам сжатия относят код Хаффмана [5,6]. Идея этого кода заключается в том, что часто используемые символы в сообщении передаются коротким кодом, реже используемые символы – длинным. С момента открытия Хаффманом своего кодирования прошло немало времени, но оно, в силу своей оптимальности для кодов переменной длины, все еще остается достаточно популярным в кодировании текста, изображений, аудио и видеоинформации. Не смотря на простоту реализации, кодирование Хаффмана имеет свои недостатки. Основным недостатком является то, что максимальная эффективность сжатия достигается в случае отражения значений вероятности символов величиной 2-n , где n - целое число. В противном случае действительная степень сжатия отличается от эффективного значения. Кроме этого, для каналов передачи данных играют роль и другие недостатки этого кодирования: неодинаковые длины кодов, что приводит к неравномерным задержкам декодирования; за счет снижения избыточности при кодировании, сжатый поток становится более уязвимым к появлению в последовательности кода ошибок. 11 Это приводит к тому, что один неверно декодированный бит в последовательности приводит к неверному декодированию последующих символов закодированной последовательности; при кодировании по Хаффману предполагается наличие известных вероятностей появления символов, но в реальности эти вероятности недоступны. Это приводит к тому, что при реализации кодека необходимо заставлять кодек сжимать сообщение в два этапа – один для набора статистики и составления кодовой таблицы, второй – для непосредственного сжатия. Кроме того, эта же статистика должна быть известна декодеру, что подразумевает её передачу вместе с закодированным сообщением. Примером адаптивного алгоритма служит модифицированное кодирование Хаффмана [5]. Отличительной чертой этого кодирования от классического необходимости статического знать кода Хаффмана вероятности символов является заранее, то, что нет кодирование осуществляется в процессе поступления данных. Дерево, при этом, адаптивно подстраивается к получающейся последовательности. Такой подход позволяет исключить из работы кодека этап набора вероятностной статистики и дальнейшей ее передачи на декодер. К динамическим алгоритмам сжатия следует отнести арифметическое кодирование [5]. Арифметическое кодирование является хорошей альтернативой алгоритмам Хаффмана. Кроме того, на эффективность сжатия при арифметическом кодировании не влияет зависимость вероятностей символов от величины 2 -n . Идея арифметического кодирования заключается в присвоении кода не отдельным символам, образующим сообщение, а сообщению в целом. В арифметическом кодировании символы выражаются значениями из интервала в диапазоне чисел [0; 1). Диапазон каждого символа определен в соответствии с вероятностями появления этих символов. Кодеры, реализующие арифметическое кодирование, являются одними из лучших среди энтропийных кодеров сжатия. Однако в отличие от кодирования по Хаффману, арифметическое является более сложным для 12 реализации из-за не полноценной универсальности идеи работы этого алгоритма. Кроме этого, арифметическое сжатие производит большее количество арифметических операций, чем Хаффмана, что подразумевает использование больших мощностей аппаратных ресурсов. Одним из самых современных энтропийных методов арифметического кодирования является метод CABAC (Context-adaptive binary arithmetic coding - Контекстно-адаптивное двоичное арифметическое кодирование) [7, 47]. Он успешно используется в некоторых профилях кодера H.264/AVC [8] и является основным методом энтропийного сжатия в стандарте H.265/HEVC [9, 43, 47]. В отличие от описанных выше методов энтропийного кодирования, CABAC для сжатия использует алфавит бинарной размерности, т.е. оперирует лишь 1 и 0. Алгоритм работы метода CABAC изображен на рисунке 1.10. Основные этапы кодирования, следующие: 1. Преобразование в двоичную форму. 2. Выбор вероятностной модели распределения. 3. Двоичное арифметическое кодирование. Степень сжатия, которая достигается алгоритмом CABAC, является одной из самых высоких, что делает его очень привлекательными методом для сжатия видеоинформационных сигналов. Однако, как было отмечено ранее, арифметический метод сжатия – это один из самых затратных в области вычислительных ресурсов. По этой причине эффективное применение метода сжатия CABAC возможно только с использования довольно мощных аппаратных средств, как на стороне кодера, так и на стороне декодера. Таким образом, при выборе используемого метода кодирования следует учитывать уровень сложности вычислений и выигрыш в степени сжатия. 13 Рисунок 1.10 – Алгоритм работы CABAC В подавляющем энтропийного сжатия, большинстве с точки наиболее зрения эффективным соотношения методом сложность вычислений/степень сжатия, является алгоритм Хаффмана, что дает ему преимущество над другими методами сжатия. Однако, в настоящее время большинство современных аппаратных платформ обладают достаточным объемом вычислительной мощности и для выполнения арифметического кодирования. 1.3 Методы кодирования с потерями Энтропийное кодирование позволяет значительно сжать объем информации, требуемой для хранения или передачи видеоданных, сохраняя при этом возможность восстановления точного оригинала передаваемого сообщения. Однако степень сжатия, достигаемую энтопийным кодированием, 14 возможно увеличить, если применять это кодирование совместно с методами, подразумевающими умышленную потерю некоторой доли незначительной информации, присутствующей в видеоинформационном сигнале. К этой информации обычно относят такую информацию, искажения изображений от потери которой, не будут заметны зрителем вследствие особенностей зрительной системы человека, описанных в 1.1. Методы кодирования с потерями используются при пространственном (внутрикадровое) и временном (межкадровое) сжатии. 1.3.1 Методы внутрикадрового кодирования с потерями на основе ДКП Пространственное сжатие достигается за счет устранения избыточности, присутствующей внутри одного кадра. Обычно пространственное сжатие реализуется в несколько этапов, в каждом из которых подвергаются модификации определенные составляющие сжимаемого кадра. К таким составляющим относятся яркость, цветность и детали, из которых состоит изображение. В большинстве случаев, при формировании изображения, используются сигналы основных цветов: красный, зелёный и синий (R, G, B). Однако, согласно особенностям зрительной системы человека, глаз более чувствителен к градациям яркостных составляющих, чем цветовых. По этой причине, переведя сигнал RGB в цветоразностный сигнал формата YCbCr с выполнением условия (1.5) можно практически без ущерба для зрительного восприятия снизить разрешение цветоразностных компонент. 𝑌 = 0,299𝑅 + 0,587𝐺 + 0,114𝐵. Соответственно, такая замена позволяет, (1.5) при необходимости, использовать цветовую субдискретизацию, результат которой приводит к устранению некоторой части информации из изображения [29]. В этом случае компонента яркости Y передается с полным разрешением, а цветоразностные 15 компоненты Cb и Cr – с уменьшенным разрешением, т.е. с исключением некоторых пикселей цветовой составляющей. Наиболее часто используются форматы субдискретизации 4:4:4, 4:2:2, 4:2:0 и т.д. [34]. В подобных форматах первый элемент отвечает за количество выборок яркости, второй – количество выборок цветоразностных сигналов в первой строке, третий - количество выборок цветоразностных сигналов во второй строке. Идея поясняется на рисунке 1.12. Рисунок 1.12 – Форматы цветовой субдискретизации Кроме этого, отсчеты видеосигнала в соседних точках сильно коррелируют между собой и слабо изменяются в плоскости изображения даже после выполнения цветовой субдискретизации. Вследствие этой корреляции двумерный пространственный спектр изображения, в основном, представлен низкочастотными составляющими. Высокие частоты спектра, отвечающие за мелкоструктурный уровень детализации изображения, присутствуют в меньшем количестве, и их исключение позволит добиться большей степени сжатия без видимых потерь. Для этого сигнал видеоизображения представляют в спектральной области, квантуют и сжимают с использованием энтропийных методов кодирования, описанных в 1.2 данной работы. Представление сигнала в спектральной области является очень важным этапом, потому что в этой области данные сигнала оказываются упорядоченными по распределению и декоррелированными [6]. Данные в таком виде требуют меньшего количества бит для описания, следовательно, 16 сокращается объем данных, и составляющие этих данных могут обрабатываться независимо от контекста, в котором они присутствовали, что очень удобно при манипуляции с составляющими изображения. Для представления сигнала в спектральной области данные, описывающие сигнал, в нашем случае – это информация, которая содержится в пикселях блока, подвергаются ортогональному преобразованию. Такое преобразование является линейным и в его реализации обычно используется ортогональная матрица. По этим причинам ортогональное преобразование отличается относительно низким объёмом вычислений и, следовательно, простотой в реализации. Результатом такого преобразования становится набор чисел, определенное количество которых будут иметь большие значения модуля, остальные числа станут иметь небольшие значения. На сегодняшний день существует несколько вариантов ортогональных преобразований. Однако самым эффективным из них, для преобразования видеосигнала изображения в спектральную область, является преобразование ДКП-II (дискретно-косинусное преобразование второго типа) [13, 14], т.к. это обратимое линейное преобразование, которое очень хорошо уплотняет энергию, содержащуюся в видеинформационном сигнале, а также не требует больших вычислительных ресурсов. Процедура такого преобразования выполняется следующим образом. Изображение разбивается на блоки размером 8X8 пикселей. Далее из значений пикселей формируется матрица того же размера. Затем проводится процедура двумерного ДКП преобразования значений каждой матрицы по формуле 1 𝐹(𝑢, 𝑣) = 1 (2𝑥+1)𝜋𝑢 (2𝑦+1)𝜋𝑣 2 2 2 2 𝑀−1 cos ( (𝑁) (𝑀) 𝐶(𝑥)𝐶(𝑦) ∑𝑁−1 ) ), 𝑖=0 ∑𝑗=0 𝑓(𝑥, 𝑦) cos ( 2𝑁 2𝑀 1 1 ,𝑦 = 0 ,𝑥 = 0 𝐶(𝑥) = {√2 , 𝐶(𝑦) = {√2 , 1, 𝑦 > 0 1, 𝑥 > 0 (1.6) где 𝐹(𝑢, 𝑣) – значение коэффициента ДКП, расположенном в строке u и в столбце v; 17 𝑓(𝑥, 𝑦) – значение пикселя в строке x и столбце y; N, M – количество строк и столбцов матрицы соответсвенно. На практике же работают с дискретной информацией, и процедура ДКП реализуется при помощи умножения исходных данных на матрицу ДКП, а в обратном процессе, соответственно, умножением на обратную матрицу ДКП [14]. После процедуры ДКП преобразования полученные коэффициенты ДКП квантуются путем их деления на матрицу квантования того же размера, что и матрица ДКП коэффициентов. Матрица квантования формируется эмпирическим путем, либо используются уже созданные стандартные матрицы. Таким образом, после поэлементного деления на такую матрицу низкочастотные коэффициенты теряют меньше информации, чем высокочастотные. Управление количеством теряемой информации, а соответственно и управление скоростью выходного потока и размером выходного файла, происходит за счет изменения величины коэффициента, на который умножаются элементы матрицы квантования. Соответственно, с увеличением или уменьшением значения данного коэффициента, пропорционально изменяются значения коэффициентов матрицы квантования, устанавливая, таким образом, требуемую степень огрубления при квантовании и, как следствие, степень сжатия. Идея такого подготовительного этапа заключается в том, что среди коэффициентов матриц уменьшается количество соответствующих двоичных разрядов для представления этих коэффициентов, а также появляются нулевые коэффициенты, при этом их избыточность увеличивается настолько, что становится возможным очень эффективно сжимать такие коэффициенты, при кодировании энтропийными методами. После процедуры квантования значения в матрице обычно записываются подряд путем зигзагообразного сканирования этой матрицы [14]. Схема последовательности следования значений коэффициентов при зигзагообразном сканировании изображена на рисунке 1.16 [16]. 18 Рисунок 1.16 – Последовательность считывания значений из матрицы при зигзагообразном сканировании Такое сканирование позволяет сформировать последовательность значений, конец которой будет содержать коэффициенты высокочастотных составляющих, большая часть из которых равны нулю. Вследствие этого такая последовательность является более эффективной для кодирования энтропийными методами сжатия, описанными выше, в разделе 1.2. Кодирование энтропийными методами является завершающим этапом [16] во внутрикадровом сжатии информации, и поэтому эффективность выбранного метода сжатия окажет весомый вклад в общую эффективность работы всего алгоритма. 1.3.2 Методы внутрикадрового кодирования с потерями на основе вейвлет преобразований Вейвлетами называют множество функций заданной формы, представляющие собой волны небольшой длины и выступающие в роли базисов для преобразования сигналов. Преобразование сигнала осуществляется сверткой выбранной функции с сигналом. Результатом такой операции является сигнал, форма представления которого будет более удобной для анализа и обработки. Каждая вейвлет-функция отличается от других своим видом и свойствами, по этой причине, в зависимости от выбора функции, будут выявляться различные особенности преобразовываемого сигнала. В отличие от методов на основе Фурье-преобразований, вейвлет-методы способны предоставлять информацию не только о частотных составляющих 19 сигнала, но еще и о его временных характеристиках. В результате, вейвлетфункции обладают таким общим для них свойством, как частотно-временная локализация, что позволяет вейвлет преобразованиям составлять конкуренцию другим видам преобразований. Формула, которая позволяет вычислить непрерывное вейвлет преобразование сигнала: ∞ 𝑆(𝑎, 𝑏) = ∫ 𝑠(𝑡)𝜓 ( −∞ 𝑡−𝑏 ) 𝑑𝑡, 𝑎 (1.8) где 𝑠(𝑡) – сигнал, а – переменная временного масштаба, b – переменная сдвига материнского вейвлета по оси времени. Как видно из формулы (1.8), основной составляющей преобразования является материнская функция (t). В этой функции большие значения a отвечают за низкие частоты, а соответственно меньшие значения – за высокие. В случае обратного преобразования ортогональная материнская функция восстанавливает мелкие детали структуры сигнала изображения. Однако для полного восстановления, при использовании ортогональной материнской функции, применяют дополнительную апроксимирующую функцию (t) Кроме интегрального применяется и дискретное преобразование (ДВП). В ДВП разложение сигнала происходит на взаимно ортогональном наборе вейвлетов. Переменные a и b являются дискретными значениями, первая из которых выбирается равной отрицательными степеням числа 2, а вторая – положительным степеням числа 2 [6]. Непосредственная работа вейвлетных преобразований сводится к тому, что, в процессе преобразования, изображение или, в нашем случае, кадр делится на четыре подобласти. При этом в одной подобласти собраны большие значения чисел, описывающие средние значения составляющих изображения, а в других трех подобластях – малые значения. Числа с малыми значениями, сгруппированные в соответствующие подобласти, отражают различные геометрические свойства трансформируемого кадра [6]. 20 Преобразование Хаара является самым простым и понятным из существующих дискретных вейвлетных преобразований. Последовательности, получаемые в результате преобразования, называются дискретным преобразованием Хаара. Его масштабирующая функция и функция материнского вейвлета представлены на рисунке 1.17. Рисунок 1.17 – Масштабирующая функция и материнский вейвлет преобразования Хаара Существуют два подхода в применении преобразования Хаара. Первый (стандартное вейвлетное разложение), осуществляет преобразование следующим образом. В начале преобразованию подвергаются все строки массива данных, пока последний элемент в строке не станет средним арифметическим всех элементов в строке. Затем выполняют идентичное преобразование для каждого столбца изображения. трансформирования приведен на рисунке 1.18. 21 Процесс такого Рисунок 1.18 – Этапы стандартного вейвлет преобразования двумерного массива данных. Lx – среднее арифметическое последовательной пары чисел; х – номер цикла; Нх – значение полу разности последовательной пары чисел Суть второго преобразования (пирамидальное вейвлетное разложение) в следующем. В начале строки массива данных подвергаются вейвлетному преобразованию, которое ограничивается только одним циклом для каждой строки. Затем преобразуются столбцы этого массива данных. В итоге двумерный массив данных, по сути, являющийся матрицей изображения делится на 4 части. Левая верхняя часть в такой матрице будет содержать полусуммы значений пикселей всего изображения кадра, а остальные части – полуразности, т.е. значения, отвечающие за детали изображения. Далее, если необходимо, следуют дальнейшие циклы преобразования с той же очередностью, но при этом преобразованию подвергается уже только левая верхняя часть матрицы. Таким образом, преобразование может повторяться до тех пор, пока левый верхний пиксел не будет равен среднему всех значений матрицы изображения. Идея пирамидального вейвлет преобразования иллюстрируется на рисунке 1.19. 22 Рисунок 1.19 – Этапы пирамидального вейвлет преобразования двумерного массива данных. Lx – среднее арифметическое последовательной пары чисел; х – номер цикла; Нх – значение полу разности последовательной пары чисел Как видно, наиболее удобным для работы с изображениями кадров является пирамидальный вид вейвлет-разложения. Рисунок 1.20 содержит результат работы трех циклов пирамидального вейвлет преобразования Хаара для строк и столбцов исходного изображения размером 512х512 пикселей. Рисунок 1.20 – Результат пирамидального вейвлет преобразования Хаара по 3 цикла на строки и столбцы 23 В зависимости от степени квантования, отсутствие некоторой доли информации может не обнаружиться при субъективной оценке качества изображения, либо быть малозаметной. Далее, для увеличения степени сжатия, возможно применение статистических методов сжатия, эффективность которых повысится из-за наличия большого количества нулей в кодированной последовательности, получившихся вследствие квантования коэффициентов преобразования. Для эффективного преобразования изображений вейвлеты должны удовлетворять таким критериям, как частотная и временная избирательность, точность аппроксимации, гладкость и размер области определения. В качестве примера оптимальных вейвлетов можно назвать вейвлеты Добеши, Шеннона, Мейера, семейство биортогональных вейвлетов и др. Однако среди существующих нет универсального, способного отвечать всем приведенным выше критериям. По этой причине для эффективного устранения корреляции в разных по структуре изображениях необходимо использовать разные наборы вейвлетов. Для сравнения в таблице 1.3 приведены частотновременные характеристики разрешений для различных типов вейвлет-функций. Таблица 1 . 3 – Частотно-временные характеристики разрешений различных типов вейвлет-функций Тип вейвлет-функции Морле Гауссов №3 Мексиканская шляпа Гауссов №2 Симлет №3 Добеши №3 Симлет №8 Хаара Биортогональный №6-8 Биортогональный №5-5 Временное разрешение, ∆𝑡 2 0,7071 0,7416 1,080 0,7637 2,535 2,535 7,511 0,5775 8,507 5,516 Частотное разрешение, ∆𝜔2 0,7081 0,6945 0,4870 0,6889 3,087 3,087 1,224 130,6 1,308 2,195 Из таблицы 1.3 видно, что вейвлет-функция Хаара обеспечивает наилучшее разрешение по времени, вейвлет-функция типа мексиканская 24 шляпа – наилучшее частотное разрешение, а вейвлет-функция Морле имеет самые сбалансированные показатели частотно-временного разрешения. Все положительные эффекты, присущие сжатию на основе вейвлет преобразований, проявляются при работе с естественными изображениями, которые в видеосигнале обнаруживаются редко. Это обстоятельство делает свойства вейвлетов менее востребованными. В настоящее время для многих потребителей важен вопрос стоимости, которая для оборудования, аппаратно реализующего ДВП, сравнимо выше, чем для ДКП и в большинстве таких случаях фаворитом становится ДКП. Таким образом, преобразования ДКП и ДВП имеют свои преимущества и недостатки, поэтому выбирать вид преобразования необходимо под решаемую задачу. 1.3.3 Внутрикадровое предсказание При анализе какой-либо части изображения кадра, с большой вероятностью, окажется, что соседние, с рассматриваемой частью, пиксели будут идентичными или похожими по характеристикам, что создает высокую степень избыточности. Такого рода избыточность устраняют путем замены пикселей рассматриваемой области, пикселями с теми же или похожими характеристиками из соседней, чаще всего смежной к ней, области. Этот подход позволяет закодировать лишь одну область, а затем вставлять её копированием в необходимые части кадра. Однако, в случае неполной идентичности пиксельных характеристик, происходит потеря некоторой доли информации. Такие случаи в работе алгоритма сжатия возникают очень часто и для того, чтобы избежать потери информации обычно передают разность между текущей областью и областью, сформированной на основе примыкающих, к текущей области, пикселей. Минусом такой операции является уменьшение степени сжатия из-за необходимости в передаче дополнительной информации в виде разности двух областей изображения [30]. Описанный выше процесс поиска похожих частей в пределах кадра 25 называется пространственным или внутрикадровым предсказанием. Оно осуществляется на основе ряда примыкающих пикселей к области предсказания в колонке слева, в строке сверху или, дополнительно, в строке, смещенной вправо относительно предсказываемой области. Область, в которой осуществляется предсказание, представляет собой блок, размеры которого обычно составляют 4x4, 8x8 или 16x16 пикселей. Для вычисления значений пикселей блока существуют несколько режимов предсказания или, как еще их называют, направлений прогнозирования [30, 86]. Наиболее подходящим из этих направлений будет считаться то, что даст наименьшее значение разности между вычисленным и предсказываемым блоком. Принцип работы режимов предсказания поясняется на рисунке 1.29. Рисунок 1.29 – Режимы внутрикадрового предсказания Таким образом, внутрикадровое предсказание позволяет существенно сократить объем пространственной избыточности и, как следствие, объем передаваемой информации. Наличие различных режимов прогнозирования 26 позволяет кодеку гибко адаптироваться к различным текстурам кодируемого изображения и достигать большей степени сжатия. В случаях сжатия статичных изображений, фотографий или другой графики ограничиваются пространственным сжатием, но при сжатии видео в дополнение к пространственному сжатию применяют временное сжатие. Его идея основана на том, что последовательности кадров представлены одним и тем же статичным фоновым изображением и меняющими свое положение, от кадра к кадру, объектами на переднем плане. По этой причине в любом видеоинформационном сигнале присутствует временная избыточность, представленная статичным фоном и другими, меняющими свои характеристики и положение в пределах последовательности кадров, элементами. Такой вид избыточности устраняют следующим способом: передают содержание одного кадра целиком. Этот кадр называется опорным. В содержании следующего кадра передают только информацию о переместившихся объектах и их новых положениях. Примером реализации этой идеи может служить разность двух соседних кадров (межкадровая разность), передача которой даёт простейшее устранение временной избыточности. Кроме межкадровой разницы дополнительное сжатие достигается с применением процесса, называемого оценка и компенсация движения. Этот процесс позволяет с более высокой точностью предсказать те части изображения, где присутствует движение, и устранить временную избыточность. Процесс оценки и компенсации движения работает следующим образом: изображение в текущем кадре разбивается на блоки и для каждого блока ищется (оценивается) его наиболее вероятное положение в соседних и опорных кадрах, сопоставляя его со всеми блоками такого же размера в заданной области поиска блоков. К концу поиска формируется совокупность векторов движения, указывающих направление смещения объектов от кадра к кадру. Найденные, с помощью оценки движения, сместившиеся части изображения могут не полностью соответствовать частям на опорных кадрах 27 по причине того, что форма блока поиска, прямоугольная область, не всегда совпадает с формой переместившейся части изображения. Кроме того, для лучшего результата поиска, сопоставляемые блоки могут отличаться по яркости или цветности на очень малую величину и при этом они будут считаться кодеком как одинаковые. Для того, чтобы исключить погрешности, возникающие в описанной выше процедуре, вместе с векторами движения передается еще и разность между предсказываемым блоком и найденным опорным блоком, которая называется ошибкой предсказания. Передача ошибки предсказания позволяет избежать потери информации за счет передачи хоть и малой, но дополнительной информации, что ведет к уменьшению коэффициента сжатия и увеличению времени работы кодера, как и в случае с внутрикадровым предсказанием. Точность и объем вычислений будут зависеть от размера выбранного блока [31, 32]. Чем больше размер блока, тем быстрее будет осуществляться поиск, и меньше векторов движения будет формироваться для передачи, при этом границы объектов часто будут не совпадать с границами блоков, что приведет к увеличению количества передаваемой, корректирующей, информации [36]. Чем меньше размер блока, тем дольше будет осуществляться поиск, и тем больше векторов движения будет формироваться для передачи, но вероятность соответствия опорного и искомого блоков больше, соответственно, количество передаваемой корректирующей информации – меньше. При этом выбор слишком маленького размера блока ведет к слабой помехоустойчивости системы сжатия [37]. В силу сказанного выше, приходится балансировать между качеством поиска совпадений между блоками и количеством векторов движения. Можно также отметить, что движущиеся объекты редко следуют строго вдоль границ блоков пикселов, поэтому более эффективным может быть использование переменных размеров блоков для оценки и компенсации движения [33]. Если движение измерено достаточно точно, то для каждого макроблока элементов 28 изображения можно передавать лишь относительно малые межкадровые различия и, плюс, двумерный вектор движения. Вектор движения для блока выбирается из условия минимальности значения функции, определяющей критерий совпадения блоков [38]. В настоящее время доступен широкий набор таких функций (SSD, SAD, MAD, MSE и др.), отличающихся, в основном, уровнем сложности реализации и качеством получаемого результата. Наиболее популярной считается функция суммы абсолютных разностей (SAD) между элементами текущего и опорного блоков. Для уменьшения требований к вычислительным ресурсам, при сохранении приемлемого качества поиска, существуют субоптимальные алгоритмы оценки движения [35, 38, 40-43]. Из таких алгоритмов можно отметить бинарный поиск, логарифмический (рисунок 1.32), трехшаговый (рисунок 1.33), четырехшаговый (рисунок 1.34), ортогональный (рисунок 1.35), спиральный, иерархический и другие. Рисунок 1.32 – Логарифмический Рисунок 1.33 - Трехшаговый алгоритм поиска алгоритм поиска 29 Рисунок 1.34 – Четырехшаговый Рисунок 1.35 – Ортогональный алгоритм поиска алгоритм поиска Тестирование многих субоптимальных алгоритмов позволило определить порог, в уменьшении порогового отношения сигнал/шум, при использовании субоптимального алгоритма поиска по сравнению с полным поиском: потери в качестве не должны опускаться ниже 0,1 дБ. Таким образом, современные алгоритмы оценки движения являются адаптивными, что позволяет эффективно устранять временную психофизиологическую избыточность. Начало поиска связано с вычислением прогноза определяемого вектора движения, основываясь на ранее определенных векторах, используя свойство высокой корреляции векторов движения между соседними макроблоками. В дополнение к этому используются эффективные шаблоны поиска и динамическая модификация размеров зоны поиска, что позволяет значительно ускорить процесс оценки движения и, в свою очередь, упростить процесс межкадрового предсказания, снизив при этом нагрузку на вычислительные ресурсы. 30 2 ФОРМИРОВАНИЕ АДАПТИВНОГО СИГНАЛОВ ПРЕОБРАЗОВАНИЯ УПРАВЛЕНИЯ ДЛЯ ВИДЕОИНФОРМАЦИОННОГО СИГНАЛА Видеоинформационный сигнал в процессе подготовки к передаче по цифровым каналам связи проходит множество этапов преобразований и многоуровневых обработок, целью которых являются сокращение объема данных, описывающих этот видеоинформационный сигнал, и создание возможности довести модифицированный сигнал до абонента в максимально близком, к исходному видеоинформационному сигналу, виде. Увеличение степени корректности реализации преобразований, обработок и этапов восстановления видеосигнала можно достичь за счет эффективного управления процессами преобразования, а также совершенствованием алгоритмов обработки и восстановления этого сигнала. Реализацию текущего регулирования описанных выше процессов возможно осуществлять передачей сигналов управления [49], каждый из которых соответствует конкретной команде, на выполнение того или иного действия, в процессе управления и обработки сигнала. Решение для передачи управляющего сигнала, на совершение той или иной команды, принимается на основании выявления изменений внутренней пространственной структуры изображения кадра, либо изменений во временной, межкадровой, области видеосигнала. Таким образом, при реализации способов и методов формирования сигналов управления требуется комплексный подход, в составе которого будут, обязательно, присутствовать этапы подготовки видеоинформационного сигнала, включающие в себя противошумовую, нелинейного и линейного типа, цифровую обработку и коррекцию апертурных искажений. 31 2.1 Современные методы противошумовой обработки сигналов Этап противошумовой обработки видеоинформационного сигнала является неотъемлемой частью процесса сжатия. Эффективная реализация шумоподавления в кадрах видеосигнала способствует повышению качества и точности работы алгоритмов компенсации движения. Процесс шумоподавления можно охарактеризовать как процедуру восстановления исходного изображения кадра из изображения, искаженного шумами. Для реализации такого процесса существуют различные методы шумоподавления, каждый из которых обладает различной эффективностью, степень которой может варьироваться в зависимости от свойств и природы того или иного обрабатываемого изображения [50]. Разработка методов шумоподавления всегда связана с рядом проблем, причиной которых является высокая сложность обнаружения объектов в кадре, сохранение их границ и внутренней текстуры. Фильтр шумоподавления должен обработать изображение кадра за минимальное количество времени, при этом использовать крайне ограниченное количество вычислительных ресурсов. В случае обработки видео реального времени эти требования становятся крайне критичными в реализации алгоритма шумоподавления. Для ускорения процесса обработки видео, большинство алгоритмов в своей работе учитывают лишь один вид шума - Гауссовский или белый шум [50]. Однако в реальном сигнале природа шумов очень различна [51]. В кадрах видео часто присутствует искажения, вызванные действием теплового шума, импульсного шума или искажения, возникающие вследствие ошибок квантования [52]. Поэтому эффективность методов, которые не учитывают различную природу шумов, может оказаться не высокой, а при работе с малоконтрастными составляющими зачастую не могут дать нужного результата. Для того, чтобы разобраться в эффективности доступных методов подавления шума, рассмотрим некоторые 32 современные фильтры шумоподавления. В общем случае фильтры шумоподавления для видеосигналов можно разделить на фильтры, работающие в пределах одного кадра (пространственные или внутрикадровые фильтры), фильтры, подавляющие шум, возникший, между кадрами, с течением времени (временные фильтры), и фильтры, сочетающие в себе комбинации первых двух (пространственно-временные фильтры) [51]. Различие между этими видами фильтров чаще всего заключается в размерности обрабатываемых данных. Первым шагом алгоритма практически любого фильтра, работающего во временном направлении, является создание изображения межкадровой разности. Соответственно, пространственные и временные фильтры обрабатывают изображение, описываемое двухмерным массивом данных, поэтому для этих двух типов фильтров характерна работа с двухмерной информацией. Все функции обработки, которые используются в алгоритмах данного типа фильтров, в подавляющем большинстве случаев, заимствованы из пространственных фильтров, но обобщены или соотнесены с трехмерной размерностью. Таким образом, внутрикадровые методы шумоподавления можно отнести к основополагающим, т.к. в основе работы других методов шумоподавления лежат принципы работы внутрикадровых методов. На рисунке 2.1 приведены наиболее востребованные современные фильтры шумоподавления, работающие в пределах одного кадра [53]. 33 Рисунок 2.1 – Семейство современных фильтров шумоподавления Согласно рисунку 2.1, современные фильтры шумоподавления можно разделить на: фильтры пространственной области [54-65, 72-74]; фильтры области преобразования [66-68]; фильтры на основе обучающегося словаря [69-71]. 2.1.1 Фильтры пространственной области Фильтры пространственной области, в свою очередь, подразделяются на фильтры, использующие алгоритмы локальной и не локальной обработки. Их работа основана на идее расчета средневзвешенных значений для каждого обрабатываемого пикселя изображения в силу наличия корреляции между значениями пикселей, изображениях. В которая алгоритмах присутствует локальной во всех обработки естественных коэффициенты фильтров, которыми производится взвешивание соседних пикселей при фильтрации, имеют значения, величины которых зависят от пространственной удаленности взвешиваемого, соответствующим коэффициентом, пикселя от пикселя, находящегося в данный момент в обработке [64]. Пиксель, находящийся в данный момент в обработке, – это пиксель, который получит новое значение на основе вычислительного учёта значений взвешенных пикселей, находящихся вокруг обрабатываемого пикселя. Чем дальше 34 находится взвешиваемый пиксель, а соответственно и необходимый коэффициент взвешивания, тем меньшее значение будет иметь последний. В алгоритмах не локальной обработки взвешивающие коэффициенты фильтра зависят от расстояния, на которое удален целый патч, характеристики пикселей которого удовлетворяют конкретным значениям. Интегрально оценивается такими алгоритмами не близость значений отдельных пикселей, а степень похожести структуры (содержимого) их двумерных окрестностей [53, 64]. Для фильтров, основанных на первом виде алгоритма, характерна высокая скорость работы, низкие требования к вычислительным ресурсам и невысокое качество результирующего изображения. Для методов, основанных на втором виде алгоритма, характерна низкая скорость работы, высокий уровень потребления вычислительных ресурсов [64] и более высокое качество результирующего изображения, без потери большинства составляющих изображения. Алгоритмы следующих фильтров построены на принципе локальной обработки: Гауссовский фильтр, Винеровский фильтр, билатеральный (двунаправленный) фильтр, медианный фильтр, фильтр на основе наименьших средних квадратов, анизотропный фильтр, фильтр SKR и производные от него фильтры MSKR, KSPR. Наиболее часто используют Гауссовский фильтр [54]. Импульсная характеристика такого фильтра формируется согласно функции Гаусса или нормальному закону распределения. На практике, при обработке изображения Гауссовским фильтром, используют свертку значений изображений с матрицей свертки, которая заполнена коэффициентами по закону Гауссовского распределения. Степень фильтрации Гауссовским фильтром можно регулировать, управляя размерностью матрицы свертки, поэтому, чем большую размерность имеет матрица, тем выше степень фильтрации. Основным недостатком является размытие изображения в результате фильтрации и, соответственно, 35 чем выше степень фильтрации, тем больше будет размыто результирующее изображение данного кадра. Рисунок 2.3 – Обработка изображения Гауссовским фильтром Кроме Гауссовского фильтра, стоит отметить работу анизотропного фильтра [59], который был разработан с целью уменьшения эффекта размытия. В анизотропном фильтре сглаживание изображения происходит только в направлении, ортогональном к направлению градиента [53]. Медианный фильтр [72-74] также часто используется для фильтрации изображений, при устранении импульсного шума типа “соль-перец”. Суть работы фильтра заключается в присвоении всей группе пикселей значения среднего, по расположению пикселя, из этой группы, при условии, что, предварительно, все пиксели группы были упорядочены по возрастанию или убыванию. 36 Более эффективные фильтры, сохраняют четкость объектов, размещенных в пространственной области изображения, за счет выявления краев границы этих объектов и осуществления фильтрации, только, в пределах выявленных границ каждого объекта. К таким фильтрам относится фильтр SKR [60], который использует непараметрическую регрессию, для детектирования и устранения шума. [75]. Для задач обработки видео, в фильтре SKR кернфункция может быть выражена функциями Гаусса (Гауссиан), Лапласа (лапласиан), Епанечникова (ядро Епанечникова), треугольной (треугольное ядро) и некоторыми другими. Все они представлены на рисунке 2.5. Рисунок 2.5 – Виды кернфункций 37 Таким образом, фильтр SKR сохраняет детали изображения и вносит меньший уровень размытости, при этом можно отметить увеличенную вычислительную сложность. Кроме этого, обратив внимание на результат работы такого фильтра на рисунке 2.7, можно заметить сильно выраженные артефакты и испорченную текстуру объектов, что портит субъективную оценку качества восстановленного изображения. Рисунок 2.7 – Изображение с шумом (слева) и восстановленное изображение фильтром SKR (справа) Фильтр MSKR [61] является улучшенным вариантом SKR. Помимо Гауссовского шума данный фильтр справляется с фильтрацией шумов иного рода, лучше сохраняет структуру объектов. Однако, когда в изображении кадра присутствует относительно большое количество однородных областей, эффективность фильтра MSKR падает, что связано с так называемой метрикой Q [76], которая была добавлена в алгоритм фильтрации и назначение которой – это управление эффективностью работы фильтра за счет оптимизации параметров данного фильтра, к которым относят h (ширина окна) и количество необходимых итераций обработки. Решения по оптимизации принимаются на основе полученных метрикой Q данных об уровне шума и размытости изображения кадра. Фильтр KSPR [62] все преобразования кернфункции осуществляет переводом переменных в Гильбертовское 38 пространство, в котором восстанавливаемое изображение будет описываться как линейный набор кернфункций, которые отличаются от тех, что используются в SKR и MSKR. Суть работы KSPR состоит в том, что различные области изображения обрабатываются разными кернфункциями и, при обработке однородных областей, в сглаживающих кернфункциях задаются более высокие веса. Для различия текстурированных и однородных областей, изображение проходит предобработку, в процессе которой изображение разделяется на блоки по среднему значению градиента в каждой области. Благодаря использованию в этом фильтре полу параметрического метода обработки изображения, хорошо сохраняются края объектов. Фильтр хорошо справляется с устранением импульсного шума, но в случае Гауссовского шума - эффективность фильтрации сильно падает. Кроме этого, анализ и оценка структуры областей по среднему значению градиента не является надежным методом при наличии высокого уровня шума, особенно Гауссовского. К современным представителям фильтров, алгоритмы которых построены на нелокальном методе обработки изображения, можно отнести фильтр NLM [63, 64] и его наиболее удачную модификацию INLM [65]. Идея нелокальных фильтров основана на том, что предлагается осуществлять фильтрацию пикселя, путем усреднения значений целых патчей соотносящихся каким-либо образом с фильтруемым пикселем. Фильтр NLM разрабатывался для эффективного устранения белого Гауссовского шума, и в данном фильтре основная идея нелокальных фильтров обобщена для областей, находящихся вокруг фильтруемого пикселя, и заключается в том, чтобы измерить сходство пиксела, используя окружающие патчи. Здесь считается, что два пикселя похожи, когда средние значения пикселей двух патчей одного и того же размера, центрами которых являются сравниваемые пиксели, будут максимально близки или равны друг другу. Условная работа по выбору соответствующих патчей проиллюстрирована на рисунке 2.8. 39 Иными словами, обработка в фильтре NLM происходит не на основе отдельных пикселей, а на основе целых блоков. Такой подход позволяет очень хорошо сохранять текстуру. Основным недостатком фильтра, наряду с высокой вычислительной сложностью, является появление хорошо заметных артефактов и критическое падение производительности в случае, когда в изображении, искаженном высоким уровнем шума возникает недостаток сходных по параметрам патчей [53]. Фильтр INLM [65] является улучшенной версией фильтра NLM. В этом фильтре для каждого патча запоминается оценка дисперсии шума и в дальнейшем используется в добавленной процедуре постобработки для дополнительного подавления шумов, оставшихся после основных этапов (под основными этапами подразумевается этапы алгоритма NLM). Алгоритм фильтра INLM является итеративным. Эти улучшения в некоторой степени компенсируют недостатки алгоритма NLM, однако добавленная в алгоритм процедура постобработки приводит к некоторой доле размытости деталей изображения, а итеративность усугубляет эту проблему. Таким образом, опираясь на вышеприведенный обзор фильтров пространственной области, отметим что, почти во всех фильтрах пространственной области алгоритм шумоподавления основывается на Гауссовской фильтрации. Использование Гауссовского распределения для задач моделирования статистики естественных изображений вызывает 40 некоторые сложности, связанные с тем, что локальные структуры естественных изображений не могут быть достаточно точно описаны Гауссовским законом. В результате этого у фильтров пространственной области возникают две основные проблемы: взвешивающие коэффициенты фильтров недостаточно адаптированы к структуре изображения, и границы объектов обычно сильно смазываются в результате процедуры шумоподавления. Разработчики фильтров шумоподавления стремятся преодолеть эти недостатки, в результате чего такие фильтры, как NLM и INLM, реализуют адаптивность назначения весовых коэффициентов для каждого патча изображения опираясь на присутствующее в этом изображении самоподобие. Фильтры SKR и MSKR минимизируют количество артефактов шумоподавления за счет исключения из противошумовой обработки границ объектов изображения. KSPR использует разные фильтры для однородных и неоднородных областей изображения, а фильтры SKR и MSKR, за счет введенных улучшений, увеличивают эффективность идеи KSPR. 2.1.2 Фильтры области преобразования Группа, включающая в себя фильтры области преобразования, очень обширна, однако наиболее востребованными являются фильтры, основанные на дискретно-косинусном и вейвлет преобразованиях [53]. Оба из упомянутых выше преобразований могут использоваться в фильтре BM3D [66], который является самым востребованным из фильтров своего класса, т.к. объединяет в себе обработку данных в области преобразований, фильтрации и метод нелокальной обработки патчей из фильтра NLM. Совмещение этих методов дает возможность производить фильтрацию в частотной области с поиском похожих участков изображения в пространственной области изображения и, соответственно, одновременно использовать достоинства пространственной и частотной обработки. Алгоритм фильтра работает следующим образом. Вначале изображение разбивается на пересекающиеся опорные патчи, для каждого из которых 41 осуществляется поиск похожих патчей внутри изображения. В данном фильтре такая процедура называется согласованием блоков. Далее опорные патчи с найденными к ним похожими патчами объединяются в трехмерные группы, в каждой из которой соответственно находятся патчи со сходной пространственной структурой. Следующим шагом алгоритма является трехмерное преобразование, которое включает в себя двумерное преобразование значений элементов патчей на основе ДКП или ДВП, а затем - одномерное вейвлет преобразование Хаара по группам патчей. В результате трехмерного преобразования появляются коэффициенты, которые подвергают квантованию и усреднению. Полученные оценки, являющиеся источником опорного спектра для Виннеровской фильтрации, обрабатываются фильтром Виннера, проходят процедуру обратного трехмерного преобразывания и, на выходе, снова усредняются, формируя результирующее изображение. Тем не менее, наряду с достоинствами пространственной и частотной обработки, данный фильтр приобрел и их недостатки. Так, в случае наличия слишком высокого уровня шума в изображении, производительность работы алгоритма и качество результирующего изображения резко падают. Кроме этого, алгоритму данного фильтра присуще высокая вычислительная сложность, которая достигает самых худших показателей при использовании ДВП. Кроме того, фиксированные базисные функции, используемые при ДКП и ДВП в данном фильтре, не позволяют алгоритму эффективно адаптироваться к локальной геометрии объектов изображения. Фильтр BLS-GSM [67, 77] основан, исключительно, на работе с коэффициентами вейвлет преобразования. Суть работы этого фильтра состоит в следующем: предположим, что имеется коэффициент xc вейвлет пространства, относящийся к некоторому уровню разложения (масштабу) и некоторой ориентации. Кроме того, имеется область x, содержащая коэффициенты, сгруппированные вокруг xc. В действительности x может содержать коэффициенты не только из текущего уровня разложения и ориентации, но и из других уровней разложения и ориентаций (см. главу 1, 42 вейвлет методы). Тогда алгоритм фильтра описывает коэффициенты области x Гауссовским процессом, а новые значения вейвлет коэффициентам, при фильтрации, будут присваиваться исходя из оценки методом взвешенных наименьших квадратов по Байесу. Эффективность этого алгоритма достигается за счет субполосного разложения коэффициентов, что даёт возможность эффективнее обрабатывать разночастотные составляющие. Слабой стороной фильтра является необходимость соблюдения условия, в получении максимально близких значений оценочной спектральной плотности мощности изображения к значениям спектральной плотности мощности оригинального изображения. Необходимость соблюдения этого условия отрицательно влияет на степень адаптивности алгоритма. Фильтр LPG-PCA [68] работает на основе алгоритма BM3D, однако, в отличие от последнего, использует анализ основных компонент изображения, благодаря которому формируются адаптивные базисные функции. Алгоритм выполняет процедуру согласования блоков, которая использовалась в фильтре BM3D. Однако затем, вместо создания трехмерной группы, патчи группируются и для них создаются векторные переменные. Далее, в соответствии с методом главных компонент, строится ортогональное преобразование координат, где и происходит подавление составляющих шума. Минус алгоритма данного фильтра кроется в том, что в повторном процессе трансформирования и подавления шума участвуют те же самые патчи, которые прошли обработку вначале, за исключением того, что уровень шума в этих патчах уже менее выражен. Обобщая фильтры области преобразований можно отметить, что наиболее привлекательными в настоящее время оказываются фильтры, использующие ДВП. Разложение изображения на множество различных частотных поддиапазонов, позволяет с высокой точностью манипулировать частотными составляющими изображения, благодаря чему становится возможным легко детектировать шумы и детали изображения. Однако, если 43 первостепенным требованием к фильтру является высокая скорость работы его алгоритма, то отдают предпочтение ДКП, которое также дает возможность работать с высокими и низкими частотными составляющими, но при этом обрабатывает данные быстрее и с менее точным их манипулированием. 2.1.3 Фильтры на основе обучающегося словаря Фильтры на основе обучающегося словаря получили распространение с развитием методов разреженного кодирования [78-81]. Данные методы для некоторого множества Y, каждый элемент yi которого представлен n-мерным вектором, создают и обучают словарь X, представляющий собой матрицу размерностью nm. Одним из представителей данных фильтров является фильтр K-SVD [70]. Хорошие результаты работы алгоритма этого фильтра обеспечиваются за счет применения адаптивного обучающегося словаря. Основная идея заключается в том, что каждый патч изображения может представляться набором патчей из словаря, который строится для всего изображения в целом. Таким образом, каждый из патчей, в дальнейшем, может быть восстановлен с использованием информации из ассоциированных с ним словарных патчей. Первоначальный словарь этого фильтра формируется на основе коэффициентов ДКП. Однако, хоть K-SVD и строит словарь в соответствие патчам изображения, достоверность поиска внутри словаря является не высокой вследствие того, что возникновение даже небольших изменений в патчах, для которых ищется решение в словаре, может приводить к указанию на не соответствующие составляющие словаря. В настоящее время процедура конкретизации и структурирования состава данных обучающегося словаря не определена до конца, что также является минусом данного фильтра. Кроме этого, алгоритмом фильтра предъявляются очень высокие требования к вычислительным ресурсам. Фильтр LSSC [69] является улучшением предыдущего фильтра. В данном фильтре предложено использование 44 комбинации методов нелокальной обработки и модифицированного разреженного кодирования. Предполагается, что схожие патчи в изображении должны иметь и схожие разреженные вектора. Совмещая метод нелокальной обработки с процессом разреженного кодирования, можно существенно увеличить скорость поиска необходимых патчей в неструктурированном словаре. Однако недостаток, связанный с уточнением процедуры определения и структурирования состава данных обучающегося словаря, в этом фильтре также не был устранен, являясь причиной появления артефактов. Стоит уделить внимание и фильтру CSR [71], алгоритм которого также пошел по пути объединения в себе нескольких наиболее удачных методов противошумовой обработки. В этом фильтре объединены принцип обучающегося словаря из фильтра K-SVD и принцип структурной кластеризации (формирование групп) из фильтра BM3D [71]. При этом CSR отличается от предыдущих двух фильтров тем, что не требует какого-либо первоначального словаря. Словарь данного фильтра начинает обучаться в процессе обработки изображения с шумами. Таким образом, фильтры на основе обучающегося словаря позволяют проводить противошумовую обработку изображения адаптивно к структуре изображения. Первым представителям данных фильтров, таким, как K-SVD, удалось добиться удовлетворительных результатов шумоподавления. Их большим минусом стало то, что сходные по параметрам патчи могли получить очень разную разреженную декомпозицию. Дальнейшие фильтры улучшили результаты шумоподавления с введением кластеризации в разреженных декомпозициях. При этом минусом здесь стало то, что производительность сильно зависела от заданных параметров начального словаря, которые формировались для высококачественного изображения, а не для изображений с шумами. 2.2 Апертурная коррекция 45 Видеоинформационный сигнал в своем составе, помимо составляющих шума, содержит искажения, вызванные апертурой элемента захвата передаваемой сцены. Соответственно формирование видеоинформационного сигнала всегда неизбежно связано с появлением в составе этого сигнала апертурных искажений [82]. Апертурные искажения приводят к падению на высоких частотах уровня составляющих пространственного направления изображения кадра, что ухудшает характеристики видеоизображения в этом направлении [83]. Для коррекции таких искажений в состав оборудования формирования видеоинформационного сигнала добавляют устройства для апертурной коррекции. Апертурная характеристика обычно определяется функцией Гаусса: Поэтому для компенсации апертурных искажений, используется обратная функция: Согласно формуле 2.15 , степень апертурной коррекции принимает экспоненциально-квадратичную зависимость от частоты представлена на рисунке 2.9. 46 и визуально Как видно из рисунка 2.9, использование обратной Гауссовской функции приводит к увеличению уровня высокочастотных составляющих видеоинформационного сигнала, что в свою очередь корректирует присутствующие в сигнале апертурные искажения. Поэтому простое усиление высокочастотных составляющих формируемого сигнала является одним из самых распространённых способов практической реализации цифровой апертурной коррекции. Недостатком коррекции такого рода является увеличение, пропорционально графику на рисунке 2.9, наряду с полезными составляющими сигнала уровня составляющих шума, локализованного в ВЧ области корректируемого сигнала, что приводит к повышению заметности шума на изображении. Кроме того, для эффективной коррекции, апертурные искажения, локализация которых отмечается только в пространственной области видеоинформационного сигнала, необходимо корректировать по горизонтальному и вертикальному направлениям. Однако, с целью увеличения быстродействия формирующего видеосигнал оборудования и упрощения его конструкции, апертурную коррекцию обычно используют только в горизонтальном направлении. Это приводит к характерным 47 искажениям в случае обработки мало интенсивных и зашумлённых сигналов, т.к. отсутствует адаптивность коррекции к структуре самого сигнала. В силу сказанного выше, можно отметить, что апертурная коррекция существенно влияет на уровень шумов в видеоизображении и, соответственно, на качество формирования сигналов управления. Наибольшую заметность это влияние приобретает в условиях низкой средней освещённости контролируемой сцены. Таким образом, всегда необходимо учитывать не идеальность работы корректирующих апертурные искажения устройства, и, в случае необходимости реализации эффективного сжатия видеосигнала, принимать меры по устранению остаточных апертурных искажений в процессе преобразования, обработке видеоинформационного сигнала, а также при формировании для него управляющих сигналов. Один из наиболее эффективных методов коррекции апертурных искажений был предложен в [84]. В данной работе получены расчётные данные, при анализе которых получило подтверждение предположение о том, что корректировка искажений будет выполняться видеоинформационного эффективнее, сигнала если разбить на общий два спектр частот (низкочастотный и высокочастотный) и более поддиапазонов частот, а затем, дальнейшую, корректирующую искажения, обработку проводить над каждым из поддиапазонов. Преимущество такой обработки заключается в возможности независимого от каждого из поддиапазонов управления регулировкой уровня порогового (по уровню шумов, вызванных этими искажениями) ограничения высокочастотных составляющих изображения кадра. Это обеспечивает существенное уменьшение деградации высокочастотных и среднечастотных составляющих видеоинформационного сигнала, которая обусловлена нелинейностью порогового ограничения, применяемого в процессе коррекции апертурных искажений. При практической реализации описанной выше обработки, в качестве одного из базисных элементом подавления искажений и шума, в процессе 48 формирования адаптивных сигналов управления для стационарных и движущихся объектов на кадрах видеоинформационного сигнала, должна являться гребенчатая фильтрация в силу своей высокой эффективности и небольших требований к объему вычислений. Суть работы гребенчатого фильтра заключается в задержке сигнала одного или нескольких элементов или кадров целиком, последующего вычитания и нормализации амплитуды полученного результата делением на 2. Структурная схема такого фильтра представлена на рисунке 2.10. 2.3 Разработка метода противошумовой коррекции Обзор характеристик, существующих на сегодняшний день фильтров шумоподавления позволяет выбрать направление, в котором следует двигаться при разработке нового метода противошумовой коррекции. 49 Поэтому, основываясь на заключениях первой главы данной диссертации, можно отметить, что современные методы, реализующие наиболее качественную фильтрацию изображения, содержат в основе своих алгоритмов методы теории вероятности и математической статистики, реализация которых требуют значительного количества вычислительных и временных ресурсов. Одновременно с этим, качественную фильтрацию, такие методы способны реализовать только при наличии определенных, зачастую, жестко заданных условий, что делает применение каждого из современных методов шумоподавления узкоспециализированным. Такие ограничения отрицательно сказываются на обработке видеосигналов, особенно, передающихся в режиме реального времени. Поэтому, с одной стороны, при разработке эффективных методов шумоподавления целесообразным будет стремиться к уменьшению времени работы алгоритма, сокращению количества используемых вычислительных ресурсов и достижению эффективности метода в отношении подавления шумов, существенно отличающихся по своим характеристикам (как можно более разнообразной природы). С другой стороны, достижение таких целей возможно лишь в ущерб качеству шумоподавления. Следовательно, оптимум общей эффективности работы метода шумоподавления, ориентированного на работу в режимах передачи видеосигнала реального времени, будет определяться установкой баланса именно между этими двумя сторонами. Опираясь на вышесказанное, можно сделать вывод о том, что оптимальным является метод, работа которого будет основана на пространственно-временной фильтрации исходного сигнала, т.к. наличие информации по пространственному и временному направлениям создает дополнительную избыточность и, соответственно, образует больше степеней свобод для корректной оценки обрабатываемых данных. Кроме этого, как показано в предыдущем разделе, наличие избыточности положительно сказывается на эффективности шумоподавления. Такие свойства пространственно-временной области позволяют алгоритму шумоподавления 50 задействовать относительно не высокое количество вычислительных ресурсов, осуществлять обработку в сокращенных временных рамках и получать удовлетворительное качество шумоподавления. Суть предлагаемого метода поясняется на рисунке 2.12 и заключается в следующем. В процессе фильтрации (реставрации) пикселя задействовалась группа близлежащих пикселей из пространственного и временного направления, формируя, таким образом, трехмерную группу пикселей. Для обеспечения симметрии в обрабатываемых данных и увеличения скорости обработки фильтра, количество пикселей в такой группе ограничивается областью размером 5×5×5 пикселей. Описанный выше подход формирования группы для обработки пикселей делает доступной для алгоритма шумоподавления информацию не только о пространственной, но и о временной корреляции значений пикселей, что позволяет увеличить эффективность фильтрации. В начале процесса фильтрации данная трёхмерная группа пикселей используется для оценки фильтруемого пикселя (P0). Оценка осуществляется первичным интегрированием совокупностей разнородных распределений 51 пикселей трёхмерной группы с получением соответствующего результирующего значения (P) и с оценкой разности (ΔP) полученного интегрированного значения с фильтруемым (оцениваемым) пикселем. Разность (ΔP) не должна превышать заданного порога (S), который регулируется учётом освещённости в пределах контролируемой сцены. В этом случае выходной пиксель определяется полученным результирующим значением (P). Совокупность разнородных распределений пикселей трёхмерной группы используемых в первичном интегрировании при этом, представлена следующими вариантами. Первоначально для интегрирования используется совокупность всех пикселей трехмерной группы 5×5×5 пикселей, которые интегрируются трехмерным окном с весовыми коэффициентами, значения которых формируются усеченной функцией Гаусса с обобщением для трехмерного случая. При этом усеченная функция Гаусса (рисунок 2.13) не имеет бесконечного, по протяженности, спада симметричных краев, присущего исходной функции Гаусса. Данная особенность повышает крутизну среза соответствующей частотной характеристики фильтра с одновременным устранением колебательных изменений её уровня в полосе пропускания и подавления, а использование простых линейных методов усреднения пикселов в сочетании с трехмерностью обрабатываемых данных позволяет добиться компромисса между скоростью работы и качеством фильтрации. 52 Если в результате оценки имело место превышение заданного порога, то размер трёхмерной группы снижается до объёма 3×3×3 пикселей и оценка результирующего пикселя производится снова. Если и в данном случае было выявлено превышение результатом оценки фильтруемого пикселя заданного порога, процесс оценки продолжается с интегрированием одномерных совокупностей пикселей (режим одномерной оценки), также имеющих динамическую размерность от 5 до 3 пикселей и по направлениям интегрирования согласно рисунку 2.14. 53 Причём, при первичном интегрировании, в данном частном случае, используется одномерное окно весовых коэффициентов, которое построено на основе одномерной усеченной функции Гаусса (рисунок 2.13) для вариантов размера групп 5 и 3 пикселя. В случае отсутствия здесь превышения порога по какому-либо направлению, оно запоминается вместе с соответствующими ему значениями результата первичного интегрирования (P) и оценки разности полученного интегрированного значения с фильтруемым (оцениваемым) пикселем (ΔP). Далее процесс поиска одномерных направлений, на которых в результате оценки отсутствует превышения заданного порога, продолжается до полного перебора доступных направлений. Таким образом, противошумовую фильтрацию (реставрация) пикселя определяют либо 54 соответствующие трехмерные группы 5×5×5 или 3×3×3 пикселей, либо совокупность направлений (режим одномерной оценки), по которым не было обнаружено превышений заданного порога (S) при соответствующих P и ΔP. В последнем случае формируется совокупность групп фильтрующих пикселей, которые будут участвовать в процессе реставрации оцениваемого пикселя. Для них, на основе P и ΔP, производится формирование необходимых весовых коэффициентов (α) с последующим весовым суммированием, вычисленных по отдельным направлениям (с высокой корреляцией), пикселей при формировании результирующего пикселя (Pr). 55 Выражения (2.23 – 2.25) позволяют вычислить весовые коэффициенты ( 1 2 3 , , ), которые учитывают (нормируют) уровень вклада, вносимого каждым из направлений (P1, P2, P3) в результат вычисления и обеспечивают, тем самым, нахождение значения результирующего пикселя (Pr) в пределах 56 динамического диапазона обрабатываемого изображения. Предложенная трехмерная фильтрация позволяет точнее отфильтровать составляющие шума, даже в случае наличия искажения всех пикселей в относительно большой по размеру области изображения - так называемый шум в виде цветных пятен. Схема практической реализации устройства представлена на рисунке 2.15. 57 трехмерной фильтрации Как видно из рисунка, устройство трехмерной фильтрации имеет в своем составе устройство формирования трехмерной группы (УФТГ), на вход которого вначале и поступает последовательность из сигналов пяти кадров, где проходит процедуру совмещения сигналов элементов. Схема УФТГ представлена на рисунке 2.16, где для упрощения схемы пример приведен для процесса совмещения сигналов из 3×3×3 элементов. В каждом из трех кадров, которые были задержаны в блоках задержки кадров ТКn, ТКn-1, ТКn+1, выделяются области пространственного направления размерностью 3×3 пикселей путем задержки в каждом из таких 58 кадров трех строк и трех пикселей (элементов). Строки и элементы в устройстве формирования трехмерной группы задерживаются в блоках задержки строк ТCn, ТCn-1, ТCn+1 и элементов ТЭЛn, ТЭЛn-1, ТЭЛn+1, соответственно. В результате такой задержки в памяти УФТГ формируется массив, состоящий из значений пикселей 1n-m, 2n-m, 3nm, …, 9n-m, где n – номер центрального кадра, которому принадлежат элементы, m – коэффициент, описывающий изменение номера кадра. Для случая 3×3×3 общее количество пикселей, находящихся в устройстве формирования трехмерной группы составит 27. После процедуры обработки задержанных данных происходит освобождение блоков задержки элементов и заполнения их следующими по очереди элементами в строках. Циклы заполнения блоков и обработки выполняется до тех пор, пока блоки устройства не заполнятся последними, стоящими в очереди, строками и элементами и не произойдет их обработка. После выполненной обработки, данные содержащиеся в ТКn-1 удаляются, а место удаленных данных занимают данные из ТКn, т.е. происходит сдвиг кадров в блоках, а в освободившийся Tkn+1 записываются данные нового кадра, и полный цикл для строк и элементов повторяется снова. Таким образом, это устройство, в заданный момент времени, имеет на выходе все пиксели трехмерной группы, к которым можно получить одновременный доступ. Одновременная доступность всех пикселей трехмерной группы в распоряжении устройства трехмерной фильтрации позволяет применять обработку к этой группе с использованием трехмерного и одномерного окон, взвешивающие коэффициенты которых рассчитаны в соответствии с функцией усеченного Гаусса. Составляющие УФТГ можно разделить на блок совмещения кадров (БСК(1)), блок совмещения строк (БСС(2)) и блок совмещения пикселей. С выхода УФТГ сигналы пикселей поступают на блок распределения групп пикселей (БРГП (4)), который формирует из хранящегося в УФТГ набора пикселей сигналы для трёхмерных групп 59 размерностью 5×5×5 и 3×3×3 пикселей, а также формирует набор сигналов одномерных (1-D) групп пикселей. Сформированные наборы поступают на соответствующие интеграторы 5, 6 и 7, из которых 5 и 6 обеспечивают интегрирование с применением трёхмерного окна, построенного на основе усеченной функции Гаусса обобщенной для трёхмерного случая. Интегратор 7 обеспечивает последовательное интегрирование поступающих на него сигналов одномерных наборов с применением окна, построенного на основе одномерной усеченной функции Гаусса. Для каждого полученного результата интегрирования (P1…n) вычисляется сигнал разности ( P1...n ) с сигналом фильтруемого (оцениваемого) пикселя (P0). После чего разностные сигналы, проходя обработку в соответствующих формирователях модуля сигнала (ФМС) 8, 9, 10, приобретают положительные значения и сравниваются в компараторах 11, 12, 13 с установленным пороговым значением сигнала (S). Блоки вычисления разности, ФМС 8, 9, 10 и компараторы 11, 12, 13 являются исполнительными узлами блока управления БУ. Данный блок формирует сигналы управления (СУ) на основе которых коммутатор (15) решает, с какого интегратора будет использоваться сигнал (Pr) для фильтрации пикселя. В случае же наличия СУ об отсутствии необходимости фильтрации, коммутатор обеспечивает условие Pr=P0. Кроме коммутатора (15), сигнал управления (СУ) может поступить на блок формирования коэффициентов и весового суммирования (БФКиВС(14)), который задействуется в режиме одномерной фильтрации. В данном режиме в случае наличия, на выходе компаратора (13) в сторону БФКиВС, СУ о том, что результат оценки сигнала интегрированной одномерной совокупности пикселей с фильтруемым пикселем (P0) удовлетворяют условию P S , на БФКиВС поступают и накапливаются для дальнейшей обработки значения P и P данной совокупности пикселей. Согласно рисунку 2.14, количество одномерных совокупностей пикселей, образующих одномерные направления 1-D больше одной, ожидание поступления таких значений будет производиться БФКиВС до тех пор, пока компаратор не закончит обработку всех заданных одномерных направлений 160 D. После завершения накопления значений P и P БФКиВС осуществляет их обработку, в соответствии с выражениями 2.21 – 2.25. Полученное, в результате обработки, значение поступит на выход коммутатора (15) как Pr в случае наличия СУ, от компаратора (13), в сторону этого коммутатора. Последовательность коммутации при работе коммутатора (15) осуществляется следующим образом. При наличии СУ от компаратора (11) 119 осуществляется коммутация выхода с интегратора (5). Если СУ от 11 отсутствует, осуществляется проверка СУ на компараторе (12) и, при положительном результате проверки, коммутация выхода происходит с интегратора (6). При отрицательном результате проверки, осуществляется проверка СУ на компараторе (13), где в случае положительного результата выход 15 коммутируется с выходом БФКиВС (14). В случае, если и с данного компаратора (13) отсутствует СУ, на выход 15 подается P0 как Pr. Стоит отметить, что при фильтрации в пространственно-временном направлении возникают сложности с недопущением искажения краев у объектов в изображении кадра, а также мелких деталей, уровень сигнала которых соизмерим по амплитуде с шумом. В этом случае решением может быть нелинейный пороговый метод фильтрации, основанный на усечении низкоуровневых составляющих в каждом из поддиапазонов, за исключением поддиапазона низких частот. 2.4 Формирование сигналов управления для адаптивного преобразования видеоинформационного сигнала Один из эффективных методов формирования адаптивных сигналов управления может основываться на результате вычисления межэлементной разности, благодаря которому становится возможным обнаружить изменения в пространственно-временной и цветовой структуре видеоизображений. Под элементами здесь понимается пиксель, строка или целый кадр. Задача сигнала управления сводится к тому, чтобы заранее сообщать о наличии пространственных и временных изменений внутри кадра или между кадрами, 61 давая команду характеристик на соответствующую полученного обработку управляющего в зависимости сигнала. от Использование подобного сигнала повысит точность формирования вектора движения, либо момента установки опорного кадра. По этой причине степень точности формирования сигнала управления влияет на степень сжатия самого видеоинформационного сигнала и на качество восстановленного изображения. Однако при генерации адаптивных сигналов управления возникают определенные сложности с точностью их формирования. Обычно появление этих сложностей обусловлено наличием остаточных шумов или артефактов, присутствующих в видеоинформационном сигнале из-за неидеальной работы алгоритмов шумоподавления. По этой причине очень важным является учет и по возможности коррекция подобных искажений, присутствующих в отфильтрованном видеоинформационном сигнале. Для того, чтобы более подробно рассмотреть сложности, связанные с формированием видеоинформационного сигнала, обратим внимание на рисунок 2.17, где представлен образец видеоинформационного сигнала движущегося объекта в изображении кадров. 62 Здесь можно заметить, что присутствующий в сигнале шум вносит искажения, которые нарушают структуру естественной корреляции элементов видеоизображения. По этой причине такой шум требуется подавить, т.к. иначе невозможно будет добиться точного формирования сигналов управления. Как уже отмечалось, наличие шума, который присутствует в составе видеоинформационного сигнала на рисунке 2.17, обусловлен искажениями (артефактами), вносимыми в структуру сигнала алгоритмами шумоподавления, а также остаточными шумами, которые не удалось полностью подавить в силу описанных в первом разделе данной главы свойств фильтров шумоподавления. 63 Кроме этого, в процессе формирования видеоинформационного сигнала происходит падение уровня высокочастотных составляющих спектра пространственной структуры изображения вследствие неидеальной коррекции фильтрами апертурных искажений. Заметим также, что, ко всему прочему, уровень подобных шумов существенно увеличивается в областях изображения с низкой или неоптимальной по уровню и спектральному составу освещенности объектов в кадре. Поэтому учтем все вышесказанное при реализации метода формирования сигнала управления. Как уже отмечалось, первым шагом в формировании управляющего сигнала, является получение сигнала межкадрового изменения n и n+1 кадров (рисунок 2.17 в)), который затем следует продетектировать по абсолютному значению (рисунок 2.17 г)) и подвергнуть дальнейшей пороговой обработке для уменьшения уровня шума и улучшения качества сигнала управления. Однако часто имеет место ситуация, при которой такая обработка не обеспечивает достаточной степени подавления шума, а при детектировании видеоинформационного сигнал по абсолютному значению, средняя составляющая помех сигнала может увеличиться, что приведет к невозможности реализации высокоточной пороговой обработки и, соответственно, формирования управляющего сигнал из-за падения отношения сигнал/шум. Имитируем ситуацию такого рода, для чего рассмотрим рисунок 2.18, содержащий сигнал быстродвижущегося от кадра к кадру объекта. 64 65 Можно отметить, что, в сравнении с сигналом на рисунке 2.17, в данном рисунке фронт сигнала является более растянутым. Растяжение фронта видеоинформационного сигнала обусловлено увеличением скорости движения объекта, которому соответствует этот сигнал, и чем выше скорость движения объекта, тем более растянутым окажется фронт. Растяжение фронта зашумленного сигнала крайне отрицательно сказывается на качестве сигнала межэлементного изменения. Поэтому, если точность, с которой сигнал управления сформируется из сигнала, представленного на рисунке 2.17 г), будет удовлетворительной, то при использовании, для этой цели, сигнала, представленного на рисунке 2.18 г), возникает ситуация, при которой невозможно выделить четкий управляющий сигнал. Кроме того, детектирование любого сигнала межэлементного изменения по абсолютному значению приводит к увеличению средней составляющей шума, примерно, в 2 раз, что еще более усугубляет ситуацию. Однако, сравнивая полученные оценки уровней постоянных составляющих: 2.25 – для абсолютного значения сигнала межкадрового изменения на рисунке 2.18 г); 1.17 – для положительной составляющей сигнала межкадрового изменения на рисунке 2.18 д); 1.08 – для отрицательной составляющей сигнала межкадрового изменения на рисунке 2.18 е), можно отметить, что раздельная обработка положительной и отрицательной составляющей разнополярного сигнала позволит избежать увеличения средней составляющей шума. После раздельной обработки осуществить объединение этих сигналов, получая тем самым сигнал управления. Обработку положительных и отрицательных составляющих сигнала следует проводить с использованием нелинейного порогового ограничения, т.к. такая обработка способствует формированию наиболее качественных сигналов управления. Процесс такой обработки поясняется на рисунке 2.19. 66 После процедуры нелинейного порогового (с низким порогом) ограничения полученный результат следует подвергнуть интегрированию и усилению до требуемого уровня. Следует заметить, что низкоуровневое нелинейное пороговое ограничения при формировании управляющего сигнала параллельно расширяет спектр проникающих в область управления шумовых составляющих, что усиливает эффект подавления их уровня при последующих интегрированиях. Однако, в случае наличия в сигнале шумов с высоким уровнем (рисунок 2.18), следует проводить такую обработку итерационно, что увеличит степень подавления составляющих шума и сделает её адаптивной к структуре сигнала и, следовательно, позволить сформировать качественный управляющий сигнал. Количество проводимых итераций должно зависеть от оценки уровня отношения сигнал/шум. Результаты раздельной, итерационной, нелинейной пороговой обработки положительной и отрицательной составляющих сигнала межкадрового изменения, представленного на рисунке 2.18, и формирование для него сигнала управления приведены на рисунке 2.20. 67 68 69 Стоит отметить, что увеличение количества итераций обработки приведет к увеличению времени работы алгоритма. Требуемое количество 70 итераций находится в обратной зависимости от степени интегрирования на каждом этапе итерации ограниченного по порогу сигнала. Таким образом, увеличивая степень интегрирования, количества требуемых итераций, при можно этом добиться точность наименьшего формирования управляющих сигналов будет падать. Верно и обратное. Деструктивную природу завышенной степени интегрирования можно заметить на рисунке 2.21, на котором приведены сигналы управления, сформированные на основе сигнала межкадрового изменения, приведенного на рисунке 2.18. Здесь видно, что сигнал а), благодаря высокой степени интегрирования, был сформирован за две итерации и, по этой же причине, имеет более растянутую форму основания во временной области в сравнении с сигналом б). Такое растяжение отрицательно сказывается на качестве сигнала управления, т.к. приводит к опережению или запаздыванию времени подачи соответствующей команды управления при обнаружении в видеоинформационном сигнале признаков изменения свойств элемента. В свою очередь, сигнал б) будет вовремя определять признаки изменения элементов и управлять соответствующими командами. Таким образом, варьируя количеством итераций обработки и степенью интегрирования сигнала, становится возможным управлять такими показателями, как качество формирования управляющих сигналов и скоростью работы алгоритма. При формировании управляющих сигналов для 71 малоподвижных зон, где сигнал межэлементного изменения n и n+1 элементов получается узким во временной области и, скорее всего, будет утерян при нелинейной обработке, целесообразно накапливать изменения сигнала на более длинных интервалах, т.е. выполнять задержку сигналов на несколько элементов. Иными малоподвижных и словами, для улучшения неподвижных зонах порога сигнал/шум необходимо в выполнять пространственную обработку посредством интегрирования по временному направлению. В данном случае, формирование управляющих сигналов для малоподвижных зон выигрыш в отношении сигнал/шум будет достигаться в N раз, где N – число кадров. Добиваясь улучшения порога отношения сигнал/шум описанными методами, становится возможным определять участки, имеющие наименьшую контрастность, вследствие чего, получать незначительные ошибки предсказания, увеличивая тем самым эффективность сжатия и используя при этом минимальное количество вычислительных ресурсов. Стоит учитывать, что пороговая обработка, за счёт присущей ей нелинейности, приводит к расширению спектра обрабатываемого сигнала и появлению ложных частотных составляющих. Такое свойство нелинейной обработки требует в дальнейшем ограничения спектра и сглаживанию резких перепадов яркости. Реализация такого ограничения возможна с использованием фильтра в соответствии с [85]. 72 ГЛАВА 3. РЕАЛИЗАЦИЯ МЕТОДОВ СЖАТИЯ ВИДЕОИНФОРМАЦИОННЫХ СИГНАЛОВ Алгоритмы сжатия видеоинформационных сигналов разрабатываются как универсальные средства по устранению избыточности в сигналах видеоизображения. Работа таких алгоритмов в целом оценивается как удовлетворительная, т.к. одновременный охват широкого спектра задач и областей применения, к которому стремятся разработчики этих алгоритмов, неблагоприятно сказывается на результатах сжатия. Отрицательные и положительные моменты наиболее удачных современных алгоритмов были рассмотрены в предыдущей главе и, учитывая соответствующий опыт создания таких алгоритмов, были предложены методы, внедрение которых в существующие алгоритмы, крайне, благотворно сказывается на качестве сжатия видеоинформационного сигнала. Стоит также отметить, что благодаря модернизации предложенными методами уже существующих алгоритмов сжатия видеоинформационного сигнала обеспечивается высокая степень совместимости между старыми и новыми методами сжатия. 3.1 Реализация метода внутрикадрового кодирования на основе управляющих сигналов с итерационным методом шумовой коррекции Метод, описываемый в данном разделе, предназначен для внутрикадровой обработки, поэтому его реализация имеет в своей основе хорошо зарекомендовавшую себя и успешно использующуюся в кодеках H.264 и H.265 схему пространственной обработки кадра, включающая в себя несколько этапов, присущих кодеку JPEG. 3.1.1 Метод внутрикадрового кодирования на основе управляющих сигналов с итерационным методом шумовой коррекции Ключевыми этапами упомянутой выше схемы, которые легли в основу разработанного метода, являются разбивка пространства кадра на блоки, трансформирование значений блоков 73 в область преобразования с применением ДКП, квантование и энтропийное кодирование. Дополнительными и, соответственно, модернизирующими этапами к перечисленным выше, являются этапы итерационной пороговой обработки пространства кадра с формированием управляющих сигналов (УС) и генерация корректирующей информации (КИ) на основе УС. 3.1.2 Структура и алгоритм работы кодера внутрикадрового кодирования на основе управляющих сигналов с итерационным методом шумовой коррекции Блок схема алгоритма разработанного метода с полным составом этапов обработки, относящихся к данному методу, представлена на рисунке 3.1. 74 Первым этапом в разработанном методе обработки внутрикадрового пространства является разбивка пространства кадра на блоки с размерами 16Х16 пикселей. В отличие от блоков с размерами 8Х8 пикселей, увеличенный размер блоков позволяет эффективнее устранять избыточность при ДКП и квантовании кадров, имеющих формат высокой четкости. В данном случае увеличение эффективности связано с тем, что в формате высокой четкости взаимно коррелирующая информация локализуется в больших по размеру областях, в отличие от форматов стандартной четкости. В связи с этим увеличение размерности блоков приводит к большему охвату областей, эффективному устранению избыточности и, как следствие, увеличению степени сжатия в сравнении с использованием блоков 8Х8 пикселей. В случае применения блоков увеличенного размера при обработке форматов стандартного качества, появляется более заметная блочная структура, однако, в последствие она компенсируется передачей корректирующей информации. Дальнейшим шагом является формирование основного изображения для передачи. Этот шаг реализуется путем выполнения процедуры ДКП элементов каждого из блоков 16Х16 пикселей и квантования полученных коэффициентов ДКП. Таким образом, под основным изображением будет подразумеваться кодированное изображение, избыточности, присущие прошедшее JPEG и основные приведенные этапы выше. устранения Квантование коэффициентов блоков реализуется с использованием матрицы квантования размером 16Х16 элементов, значения для которых были получены путем средневзвешенной интерполяцией коэффициентов матрицы, приведенной в рекомендации [10]. Пример матрицы квантования для яркостной компоненты приведен на рисунке 3.2. 75 Формирование данных для передачи по каналу связи основного изображения заканчивается процедурой энтропийного сжатия данных, описывающих это изображение. Таким образом, описанная выше часть разработанного метода своим алгоритмом последовательности действий является схожей с алгоритмом внутрикадровой обработки кодеков H.264 [8], H.265 [9] и сжатия изображения JPEG. Однако выбор увеличенного размера 76 блоков разложения изображения для ДКП положительно сказывается на внутрикадровом сжатии, в частности, при передаче видео высокой четкости. Кроме формирования данных, описывающих основное изображение, в разработанном методе происходит формирование данных, описывающих корректирующую информацию, назначение которой является коррекция искажений, полученных при формировании данных для основного изображения. Формирование данных для корректирующей информации начинается с этапа вычисления разницы между оригиналом изображения и изображения полученного в результате преобразования, т.е. изображения над которым выполнялись этапы разложения на блоки, ДКП и квантования. Полученная в результате данного этапа разница (разностное изображение) содержит и указывает на информацию об искажениях, коррекция которых будет производиться за счет передачи корректирующей информации. Этап противошумовой обработки (шумовая коррекция) выполняет действия по устранению из будущей корректирующей информации шума и “нулевой информации”, т.е. информации, которая не несет сведения об искажениях. Результатом данной обработки являются данные исключительно о корректирующей информации. Реализация данного этапа начинается с разложения разностного изображения на блоки размером 16Х16 элементов. Далее, для элементов каждого такого блока рассчитывается сумма, на основе значения которой, ограничиваясь пороговыми верхним и нижним значениями диапазона, принимается решение об игнорировании блока как содержащего шум или “нулевую информацию”, либо о формировании сигнала управления для данного блока как содержащего данные о корректирующей информации. К концу этапа такой противошумовой обработки формируется набор управляющих сигналов, обозначающих локализацию блоков на разностном изображении, которая идентична локализации областей с корректирующей информацией для этих блоков в оригинальном изображении. Соответственно, информация о местоположении описывается управляющими сигналами, 77 формируемыми для каждого из блоков на основе полученных данных о локализации областей с корректирующей информацией. Таким образом, сформированный УС при кодировании позволяет отметить области на оригинальном изображении, набор данных из которых будет служить в качестве корректирующей информации. Описанный выше процесс является первым этапом формирования УС и представляет собой первую итерацию всего процесса формирования УС. На этом этапе расположение областей в разностном изображении, которые указывают на корректирующую информацию в оригинальном изображении, фиксируется приблизительно и при этом формируется, соответственно, грубое описание координат этих областей. Вследствие невысокой точности описания границ областей с корректирующей информацией зафиксированные координаты областей указывают на большое количество излишней корректирующей информации и шума. Увеличение точности формирования УС и соответственно точности описания областей с корректирующей информацией в оригинале изображения достигается за счет второго этапа противошумовой обработки и формирования УС. Второй этап противошумовой обработки схож с первым тем, что вычисляется сумма для элементов каждого из блоков и на основе результата этой суммы, ограничиваясь верхним и нижним пределами диапазона, принимается решение о статусе блоков. Однако, в отличие от первого этапа, делению на блоки подвергается уже не все изображение, а только те области разностного изображения, которые описывает УС первого этапа. Кроме этого размер блоков, на которые делятся области, составляет 4Х4 пикселей, что позволяет более точно отметить форму грубо указанных областей первого этапа и приблизить её к нужным границам необходимой корректирующей информации на оригинале изображения. Процесс второго этапа шумоподавления поясняется на рисунке 3.3. 78 После уточнения формы границ областей с корректирующей информацией производится формирование УС, более точно описывающего границы областей с корректирующей информацией из оригинала изображения. На рисунке 3.4 б) и в) иллюстрируются управляющие сигналы, отмеченные белым цветом, для двух этапов формирования УС. Формат кадра на рисунке 3.4 относится к формату стандартной четкости и является 94 кадром видеопоследовательности “foreman” 79 Рисунок 3.5 иллюстрирует ту же картину, что и предыдущий, однако здесь формирование УС выполнено для кадра формата высокой четкости видеопоследовательности “Rebecca Black Reacts to 'Friday'” 80 Продолжением выделения на двухэтапного основе формирования полученного УС УС является непосредственно этап самой корректирующей информации из оригинала изображения. Полученная в итоге корректирующая информация, по сути, представляет собой небольшие части оригинального изображения, которые будут служить заменой тех же частей, но имеющие искажения в основном изображении. Выделенная на предыдущем шаге корректирующая информация подвергается процедуре сокращения занимаемого ею объема при передаче по каналу связи. Для этого вначале вычисляется разность между блоками, содержащими информацию из областей оригинального изображения и блоками с информацией об областях, имеющих то же расположение, что и предыдущие, но в основном изображении. Затем, полученные, описанным выше образом разностные блоки, подвергают процедуре ДКП и квантованию. 81 В результате серии экспериментов, было обнаружено, что для обеспечения наименьшей потери качества изображения при субъективной и объективной оценках, а также для достижения высокого уровня сжатия данных корректирующей информации, достаточно сохранить в процессе квантования коэффициентов ДКП значения коэффициента, описывающего средний уровень горизонтального, и первые, следующие вертикального и в очереди, коэффициенты диагонального направлений пространственного спектра. Опираясь на вышесказанное, была сформирована матрица квантования для ДКП коэффициентов корректирующей информации, взвешивающие коэффициенты которой имеют значения, приведенные на рисунке 3.5. Логическим итогом описанных выше этапов является формирование маски, которая представляет корректирующей собой информации набор и квантованных дополняющая до коэффициентов размера полного изображения нулевая информация. Формирование такой маски позволяет избежать передачи информации о координатах расположения блоков, содержащих корректирующую информацию на изображении. Кроме этого, уменьшается нагрузка на вычислительные ресурсы, т.к. наложение маски на основное изображение занимает меньше времени, чем считывание координат и поиск по ним нужного блока. Завершающим этапом подготовки корректирующей информации к передаче по каналу связи является энтропийное кодирование данных, описывающих сформированную на предыдущем этапе маску. 82 3.1.3 Структура и алгоритм работы декодера внутрикадрового кодирования на основе управляющих сигналов с итерационным методом шумовой коррекции Процедура декодирования кадра при внутрикадровом кодировании представлена на рисунке 3.6 и включает в себя обратные шаги, представленные в процедуре кодирования. Согласно рисунку 3.6, процесс начинается с декодирования основного изображения, при котором выполняются процедуры энтропийного декодирования, сортировка данных по блокам 16Х16 коэффициентов, умножения коэффициентов каждого из блоков на матрицу квантования и обратного ДКП. 142 После того, как было декодировано основное изображение, начинается выполнение процедуры декодирования корректирующей информации. Декодирование этой информации начинается с энтропийного декодирования, результатом 83 которого является маска, описанная выше. Блоки маски, содержащие корректирующую информацию, умножаются на матрицу квантования и полученные коэффициенты подвергаются обратному ДКП. В результате матрица приобретает значения блоков с корректирующей информацией, соответствующие разностному значению между этими блоками и блоками той же позиции в основном изображении. По этой причине выполняется операция сложения или, как её ещё можно назвать, процедура замены блоков основного изображения на корректирующую информацию. Иными словами производится аддитивная процедура по наложению маски с корректирующей информацией поверх основного изображения. Полностью декодированная маска с корректирующей информацией представлена на рисунке 3.7 а) – для формата кадра стандартной четкости и б) – для формата кадра высокой четкости. Таким образом, благодаря особенности разработанного метода, который включает в себя формирование корректирующей информации, можно выделить два независимых потока для передачи данных. Один из этих потоков несет 143 данные об основном изображении, второй из потоков, соответственно, несет данные о корректирующей информации. Кроме этого, использование идеи JPEG в основе всего алгоритма позволяет настраивать степень сжатия основного изображения при кодировании, а возможность 84 управления степенью восстановления изображения кадра при помощи корректирующей информации делает предложенный метод адаптивным к ширине канала связи. Отметим также, что независимость описанных ранее потоков для двух типов информации позволяет в зависимости от доступной пропускной способности канала связи либо передавать корректирующую информацию, либо нет, что также позволяет адаптивно подстраивать объем передаваемых видео данных в режиме реального времени под характеристики данного канала связи [91]. 3.2 Реализация метода межкадрового кодирования с предсказанием на основе управляющих сигналов с итерационным методом шумовой коррекции Межкадровое кодирование с предсказанием в современных системах сжатия видеоинформационных сигналов является важным этапом всего процесса кодирования и вносит максимальный вклад в степень сжатия видеоинформационного сигнала среди других этапов. Обеспечение высокой степени сжатия на этом этапе обусловлено исключением избыточности присутствующей между двумя и более кадрами видеоинформационного сигнала. Такая межкадровая избыточность при передаче видеоинформационного сигнала занимает на порядок больше ресурсов канала передачи, в сравнении с внутрикадровой избыточностью, т.к. большинство объектов во внутрикадровом пространстве относительно долгое время сохраняют неизменными свои характеристики и свойства от кадра к кадру. Однако обработка, анализ и сокращение описанной избыточности требуют также и значительных вычислительных и временных ресурсов, недостаток которых в аппаратных частях систем передачи видео данных, работающих в реальном режиме времени может привести к невозможности функционирования такой системы в целом. В связи с этим фактом актуальным направлением при 144 разработке и модернизации методов межкадрового кодирования с предсказанием является увеличение скорости работы этих методов. 85 3.2.1 Метод межкадрового кодирования с предсказанием на основе управляющих сигналов с итерационным методом шумовой коррекции Данный раздел посвящен описанию принципа работы разработанного метода устранения межкадровой избыточности. Этот метод является усовершенствованным вариантом алгоритма, работа которого основана на межкадровой разности с компенсацией движения. Основное преимущество разработанного метода достигается за счет формирования и использования УС для выполнения процедуры предсказания и последующей компенсации движения. Формирование УС позволяет увеличить скорость выполнения предсказания и поиска вектора движения для объектов в кадрах за счет того, что исключает необходимость в поиске векторов движения для всех объектов в кадре. Процесс формирования УС заключается в адаптивном формировании набора управляющих сигналов, исключительно, для объектов, задействованных при движении, давая тем самым точную команду для расчета векторов движения для этих объектов на отмеченные УС направления движения. Коррекция шума, реализация которой обеспечивается путем итерационной обработки или, по сути, итерационной пространственной фильтрацией разностного кадра, осуществляемой в процессе формирования УС, позволяет эффективно бороться с паразитными векторами движения. Появление паразитных векторов движения обусловлено наличием незначительных колебаний в значениях пикселей неподвижных объектов фона от кадра к кадру, вызванных фазовыми шумами различной природы, которые при формировании УС могут быть классифицированы как движущийся объект и потому получат в описание своего движения паразитный вектор движения. Итерационная обработка является для данной проблемы эффективным решением, потому, как позволяет адаптивно и точно, этап за этапом, выделить и исключить описанные шумы из набора объектов, для которых формируются сигналы управления. 86 3.2.2 Структура и алгоритм работы кодера межкадрового кодирования с предсказанием на основе управляющих сигналов с итерационным методом шумовой коррекции Схема работы разработанного метода представлена на рисунке 3.8. Первый этап алгоритма начинается с расчета разницы между n+1 и n кадрами, на выходе которого получается результат, называемый межкадровой разностью. Межкадровая разность содержит разностные значения пикселей, для которых имело место изменение их истинных значений в процессе смены n кадра на n+1 кадр. Пример такого кадра, а, именно, разность между 95 и 94 кадрами видеопоследовательности “foreman” приведен на рисунке 3.9. Здесь серым цветом 146 отмечены области, в пределах которых отсутствуют какие-либо 87 изменения и потому значения пикселей этих областей равны нулю. Градациями более светлого цвета выделены объекты, которые меняют свои параметры при переходе от 94 к 95 кадру и соответственно значения их пикселей отличаются от нуля. Большая часть этих светлых объектов является полезной информацией для формирования УС. Оценивая их для данного разностного кадра, можно отметить, что в пределах изменения двух кадров меняется положение лица, а также присутствует небольшое движение заднего фона. Однако, среди выделенных светлым цветом объектов, присутствует и часть объектов, описывающих изменение остаточного шума в пределах этих кадров, и поэтому они являются паразитной информацией для формирования УС. Данный факт заставляет предпринимать меры по устранению такого шума в кадре межкадровой разности, т.к. игнорирование его приведет в дальнейшем к появлению паразитных векторов движения, ухудшающих степень сжатия и отбирающих полезную вычислительную мощность. Поэтому следующим шагом в данном алгоритме является итерационная шумовая обработка с формированием УС. Этот этап можно представить в виде двух последовательных процессов, работающих в режиме цикла, количество повторений которого, следует выдерживать в пределах значений, позволяющих устранить шум до минимальных значений и затратить на это минимальное количество времени. Большое количество повторений потребует 88 большего количество времени. Данные, 147 полученные в результате экспериментов, по скорости работы и по результирующему качеству изображения, полученные на основе разработанного метода, позволили определить, что оптимальным пределом значений для повторения будут 2 – 3 итерации. Сам процесс итерационной шумовой обработки осуществляется с применение фильтра. Матрица соответствующей его импульсной характеристики (ИХ) была выбрана с учетом Гауссовской модели распределения шума: 89 90 Сечения результирующего коэффициента передачи фильтра показаны на рисунке 3.11. 91 Согласно результатам расчетов (рисунки 3.10, 3.11), использование пространственного фильтра обеспечивает достаточно эффективное подавление пространственных высокочастотных составляющих шума при выделении сигнала управления. Таким образом, первым процессом в итерационном цикле будет процедура фильтрации шума, вторым – формирование УС по результату из прошлого шага. Итоговым результатом описанного выше этапа станет набор управляющих сигналов, которые были сформированы исключительно для областей, в которых присутствовало движение. Пример набора управляющих сигналов для межкадровой разницы 94 и 95 кадров видеопоследовательности “foreman” приведен на рисунке 3.12. Как видно из рисунка 3.12 , набор управляющих сигналов упорядочен в виде маски, имеющей размер изображения кадра. Поэтому, при наложении на кадр и сканировании такой маски как по трафарету, выделяются области с необходимыми координатами и, в случае удовлетворения свойств этих областей заданным условиям соответствия для векторов движения, соответствующие координаты используются для выполнения процедуры компенсации движения и передачи этих координат как вектора движения на приемный конец. Следующим этапом является поиск векторов движения на основе УС. Как уже отмечалось, имея набор управляющих сигналов, 92 оформленных в виде маски, 151 алгоритм, согласно этой маске, производит сканирование областей кадра, для которого выполняется компенсация движения (кадр получатель) и кадра, который служит последнему опорным кадром (кадр-донор), в нашем случае это 95 и 94 кадры соответственно. Сканирование начинается с разбиения кадров и маски набора управляющих сигналов на блоки размером 8х8 пикселей. Далее, путем последовательного сканирования блоков УС, в кадре получателе выделяется в виде такого же блока область размером 8х8 пикселей, в зоне которой было обнаружено изменение согласно УС. Далее вокруг выделенного блока алгоритм формирует зону поиска общим размером 32х32 пикселя, центром которой является выделенный блок. Эту область алгоритм по координатам переносит на кадр донор и производит путем полного перебора поиск блока 8х8 пикселей в пределах этой зоны поиска, который получит минимальное значение среди всех (32 × 32) / (8 × 8) = 16 блоков. Значения для блоков рассчитываются по условию SAD из выражения (1.11). Блок, найденный в итоге в пределах зоны поиска кадра-донора по описанному выше условию, будет считаться блоком заменителем для блока получателя, т.к. он будет максимально близок по своим свойствам блоку из кадра получателя и, соответственно, даст минимальное значение разности между ними. Отметим, что скорость поиска векторов движения разработанным методом, даже с использованием полного перебора всех блоков в зоне поиска, существенно выше, чем у существующих в настоящее время алгоритмов оценки и компенсации движения. Увеличение скорости поиска векторов движения в разработанном методе достигается за счет того, что сформированный набор УС позволяет выбрать только те объекты в кадре, для которых необходимо выполнить компенсацию движения. В отличие от разработанного алгоритма, существующим алгоритмам требуется просканировать весь кадр целиком и найти вектора движения для всех блоков, на которые делится кадр. Только после этого существующие алгоритмы решают, для каких блоков будут находить компенсирующие блоки, и какие вектора движения будут передаваться. Пример сравнения количества 93 найденных векторов движения, с использованием 152 разработанного и существующего методов, приведен на рисунке 3.11. Пример приведен для видеопоследовательностей “foreman” и “Rebecca Black Reacts to 'Friday'”. На рисунке 3.13 d) отчетливо видно, что в процессе работы алгоритма без использования УС были рассчитаны все вектора движения – нулевые вектора, отмеченные синими точками, для блоков в которых не было движения или иных изменений, а так же паразитные вектора движения, которые можно заметить на неподвижном фоне изображения кадра. Для рисунка 3.13 b) эти моменты отчетливо заметны в области каски, т.к. фон для видео последовательности 153 является подвижным. И напротив, взглянув на рисунок 3.13 c), видно, что вектора движения здесь найдены исключительно 94 для движущихся объектов, что позволяло при их расчете не перегружать вычислительные ресурсы и выполнить это за более короткое время. Паразитные вектора движения в данном случае были также устранены за счет наличия процедуры итерационной шумовой коррекции при формировании УС. Следующим этапом является процедура проверки эффективности найденных векторов движения. Целью данной процедуры является определение выигрыша, получаемого при замене блоков в разностном кадре на соответствующие им скомпенсированные блоки. Выигрыш, значение которого будет удовлетворять заданному условию, будет говорить о целесообразности использования того или иного вектора движения. В случае, если вектор движения не будет удовлетворять условию, он будет признан алгоритмом неэффективным. Внедрение в алгоритм такого этапа проверки позволяет не передавать лишних векторов движения и не выполнять процедуру компенсации движения для блоков, не обеспечивающих степень сжатия, установленную по условию. Показателем эффективности вектора движения на данном этапе является величина ошибки предсказания. Иными словами, алгоритмом рассчитывается ошибка предсказания, т.е. разность между блоком, для которого был получен вектор движения и его заменяющим блоком на кадре-доноре. В случае, если разность превышает установленный порог, т.е. ошибка предсказания больше значений пикселей блока в разностном кадре, с позицией в кадре согласно УС, или меньше его на незначительную величину, то вектор движения передаваться не будет, т.к. незначительное уменьшение размера данных результирующего блока, а тем более увеличение размера данных блока приведет к нецелесообразности передаче вектора движения из-за отсутствия экономии полосы пропускания канала связи. Также, в процессе оценки движения, возникает ситуация, когда в зоне поиска кадра донора обнаруживается несколько блоков, способных скомпенсировать целевой блок в разностном кадре. В этом случае процедура проверки эффективности позволяет выбрать наилучший (эффективный) блок в кадре 154 доноре, для формирования вектора движения. В целом такой 95 подход, отчасти, позволяет решить актуальную проблему, связанную с балансом между количеством передаваемых векторов движения, слишком большое количество которых, отрицательно влияет на вычислительную скорость алгоритма, и количеством блоков, которые необходимо скомпенсировать. По окончанию этапа проверки эффективности векторов движения, формируется массив с координатами эффективных векторов движения. Данный массив состоит из набора координат для блоков в кадре доноре и координат для блоков получателей в кадре получателе. Далее следует этап, в котором массив координат векторов движения, сформированный на предыдущем этапе, участвует в процедуре замены блоков в кадре межкадровой разности на блоки, которые являются разностью между блоками из кадра получателя (в нашем случае - это 95 кадр) и блоками из кадрадонора (94 кадр) в соответствии с векторами движения. Иными словами происходит замена соответствующих блоков на блоки ошибки предсказания. Описанная выше процедура является процессом компенсации движения. На рисунке 3.14 для сравнения приведены кадры межкадровой разности и скомпенсированного кадра межкадровой разности полученного в результате работы алгоритма разработанного метода. 96 Обращая внимание на рисунок 3.14, можно не прибегая к расчету визуально заметить, что количество информации, подготовленной для передачи значительно меньше для скомпенсированного кадра, чем для кадра межкадровой разности. Этап ДКП и квантование является следующим шагом в разработанном методе, который позволяется дополнительно сократить избыточность в полученном на предыдущем этапе скомпенсированном кадре. В рамках разработанного метода на данном этапе процедура соответствует алгоритму сжатия JPEG. Таким образом, здесь подразумевается выполнение типичной для кодеков H.264 и H.265 процедуры внутрикадрового сжатия путем разбивки кадра на боки 8х8 пикселей, выполнение для каждого из блоков ДКП и квантование полученных коэффициентов ДКП. Однако использование стандартной таблицы квантования JPEG не позволяет добиться адаптивности к структуре скомпенсированного кадра. В связи с данным фактом достичь увеличения эффективности квантования можно, если внедрить динамическое квантование коэффициентов ДКП, благодаря чему квантование станет адаптивным, скажем по степени удаления избыточности для той или иной области изображения кадра. Описанное динамическое квантования можно достичь за счет использования таблиц квантования с различной степенью квантования коэффициентов ДКП. Малые значения коэффициентов квантования позволят меньше квантовать области с более тонкой структурой текстуры кадра, т.е. области, грубое квантование которых приведет к заметному ухудшению в качестве изображения кадра. Соответственно области, структура которых не содержит мелких деталей изображения, будут квантоваться грубо и без ущерба для субъективной оценки качества изображения. Благодаря экспериментам, проведенным на кафедре ТВиЗВ, известно, что при высокой скорости движения объектов границы этих объектов размываются по направлению их движения. Соответственно шлейф размытия, который тянется за быстродвижущимся объектом, не содержит областей с тонкой структурой и потому эти области 97 могут квантоваться максимально грубо. Решение о том, 156 относится область к шлейфу размытия или нет, принимается на основе длины вектора движения, чем длиннее вектор движения, тем выше скорость движения. Заключительным этапом алгоритма межкадровго кодирования является энтропийное сжатие коэффициентов, полученных в результате квантования на предыдущем шаге, и массива координат векторов движения. 3.2.3 Структура и алгоритм работы декодера межкадрового кодирования с предсказанием на основе управляющих сигналов с итерационным методом шумовой коррекции Работа декодера для разработанного метода заключается в реализации нескольких простых шагов по алгоритму, приведенному на рисунке 3.15. Данные шаги являются обратными операциями части алгоритма сжатия. Закодированная видеопоследовательность поступает в энтропийный декодер, где извлекаются квантованные коэффициенты и координаты векторов движения. Далее соответствующие коэффициента коэффициентов. производится 157 сжатия деквантование коэффициенты и обратное Полученный на матриц ДКП выходе - умножение квантования извлечённых с на учетом квантованных скомпенсированный кадр межкадровой разности вначале участвует в процедуре восстановления n+1 98 кадра, путем вычисления разности между n кадром и межкадровой разности. В результате исключенимем этого тех восстановления его блоков, реконструируется которые были n+1 кадр за скомпенсированы. Соответственно далее, по алгоритму декодирования, скомпенсированные блоки n+1 кадра подвергаются процедуре декомпенсации, при которой, с использованием извлеченных на этапе энтропийного декодирования векторов движения, скомпенсированные блоки заменятся на восстановленные, оригинальные, путем вычисления разности между блоками донорами n кадра и блоками кадра межкадровой разности. Результатом всех описанных выше операций является полностью видеопоследовательности. 99 восстановленный n+1 кадр ГЛАВА 4. РЕЗУЛЬТАТЫ РАБОТЫ И ЭКСПЕРИМЕНТАЛЬНОГО ИССЛЕДОВАНИЯ РАЗРАБОТАННЫХ УПРАВЛЯЮЩИХ СИГНАЛОВ, МЕТОДОВ ФОРМИРОВАНИЯ ВНУТРИКАДРОВОГО И МЕЖКАДРОВОГО КОДИРОВАНИЯ Практическая реализация разработанных методов и устройств осуществлена программным моделированием алгоритмов работы этих методов и устройств на базе языка программирования MATLAB [74]. Все исходные коды, относящие к данной работе, приведены в приложении. Для того, чтобы оценить эффективность и произвести сравнительный анализ предложенных методов, были также смоделированы основные алгоритмы работы существующих в настоящее время методов по кодированию видеоинформационных сигналов, взамен которых предлагается использовать разработанные методы. 4.1 Выбор исходных данных Тестовые изображения из видеопоследовательностей, которые участвовали в процессе обработки и экспериментального исследования приведены на рисунках 4.1 – 4.3. 100 Изображения выбирались из видеопоследовательностей, основное содержание которых представлено лицами людей, т.к. разработка методов велась в направлении использования в системах с передачей видео в режиме реального времени, таких, как видеоконференцсвязь. Видеопоследовательность “foreman” является представителем тестовой последовательности, используемой как стандарт во всем мире для тестирования алгоритмов обработки видео данных. Она имеет формат четкости размером 352х288 пикселей. Видеопоследовательность “Rebecca Black Reacts to 'Friday'” выбиралась по критериям наличия в кадре человеческого лица, а видеопоток имеет формат 161 повышенной четкости. В данном случае видео имеет формат 101 размером 1280х720 пикселей. Изображение “Lena” также относится к представителям стандартных тестовых изображений. Широкое использование этого изображения в экспериментальных исследованиях многих алгоритмов сжатия изображений позволяет повысить объективность оценок разработанного метода. Данное изображение участвует только в методе внутрикадрового сжатия. Оно имеет формат размером 512х512 пикселей. 4.2 Результаты моделирования работы внутрикадрового сжатия с внедрением разработанного метода кодирования Моделирование использованием внутрикадровой алгоритма сжатия обработки JPEG и проводились разработанного с метода кодирования. Напомним, что в реализуемых в данной диссертации алгоритмах степень сжатия в пространстве кадра задается коэффициентом квантования, которым производится взвешивание коэффициентов стандартной матрицы квантования, определенной в стандарте [10] для алгоритма JPEG, и коэффициентов модифицированной, для алгоритма разработанного метода, матрицы. Увеличение значения данного коэффициента позволяет использовать более низкую скорость передачи видеопотока, однако, вместе с этим, происходит увеличение грубости квантования значений коэффициентов преобразования, вследствие чего большинство из них обращается в ноль. Сигнал декодированного изображения, в котором имело место большое значение коэффициента сжатия, содержит определенного рода искажения, заметные при субъективной оценке изображения кадра и которые дают уменьшение значения объективной оценки. Следует также отметить, что энтропийное кодирование квантованных коэффициентов производилось методом длин серий с выполнением зигзагообразного сканирования, а после этого - архивированием полученных серий в формат rar с максимальной степенью сжатия. 162 Далее приведены результаты для различных значений коэффициента сжатия, при этом оценка результатов работы алгоритмов производилась по метрикам: PSNRОИ - пиковое соотношение сигнал шум 102 для разработанного метода, основное изображение; PSNRОИ+КИ - пиковое соотношение сигнал шум для разработанного метода, основное изображение с добавлением корректирующей информацией; PSNRJPEG - пиковое соотношение сигнал шум для сравнительного метода (JPEG); размеру сжатого файла в байтах; субъективной оценки качества декодированного изображения. Сравнительные варианты результатов работы указанных алгоритмов при одинаковых исходных данных и требованиях результирующему изображению представлены в таблице 4.1, таблице 4.2. 103 к Приведенные выше данные позволяют построить графики зависимости качества изображения, выраженное значением PSNR в дБ, от объема сжатых данных в байтах. Данные графики приведены на рисунках 4.4 – 4.9. 104 105 106 Анализируя полученные графики на рисунках 4.4, 4.6, 4.8, можно отметить, что при сжатии изображений кадров формата высокой четкости разработанным 167 методом с использованием только основного изображения, объем занимаемых и требуемых для передачи данных на порядок меньше, чем при кодировании 107 этих же изображений с использованием алгоритмов JPEG. При сжатии с минимальными потерями в качестве декодированного изображения, разница между результатами работы алгоритмов, в занимаемом объеме сжатых данных, составляет 24,9 %. При сжатии с высокой степенью потерь в качестве декодированного изображения, разница в объеме сжатых данных составляет 31 %. Для форматов стандартной четкости, разработанный метод с использованием только основного изображения, так же показал свою эффективность в сравнении с методом JPEG, однако эффективность кодирования становится менее выраженной с уменьшением значений размера формата. Так для видеопоследовательности “foreman”, имеющей формат 352х288 пикселей выигрыш в сравнении с JPEG составит от 3,6 % до 6,7 %, а для изображения “Lena” форматом 512x512 пикселей выигрыш будет в пределах от 13,3 % до 14,3 % в зависимости от заданной степени потерь в качестве изображения. Следовательно, разработанный метод, с использованием основного изображения, позволяет сформировать для передачи данные, служащие для декодирования передаваемого изображения кадра, объем которых составит на 31 % меньше, в сравнении с объемом, занимаемым данными полученными методом JPEG в видеоинформационном сигнале формата высокой четкости 1280x800 пикселей. Также обратим внимание на графики, представленные на рисунках 4.5, 4.7, 4.9. Здесь видно, что использование разработанного метода, при котором, помимо данных об основном изображении, также осуществляется передача данных корректирующей информации, позволяет добиться большей эффективность в сравнении с методом JPEG только при кодировании с невысокими степенями потерь в качестве декодированного изображения. Увеличение же степени потерь до высоких значений приводит к тому, что эффективность кодирования методом JPEG оказывается уже выше. Так, при низких потерях выигрыш при сжатии 168 разработанным методом составляет до 25 %, при высоких же значениях потерь проигрыш составляет 22 %. Для субъективной оценки результатов работы разработанных методов, в таблицах 108 4.3 – 4.5 представлены декодированные изображения, сжатия которых производилось разработанными методами и методом JPEG. 109 110 111 112 Приведенные выше изображения позволяют отметить, что в разработанном методе искажения в изображениях, при высоких степенях сжатия, проявляются в виде артефактов – блоков с размазанными границами. Размазанность этих границ проявляется за счет отсутствия резких отличий в оттенках артефактов и смежных с ними областей. Изображения, кодирование которых происходит с использованием алгоритмов JPEG, при высоких степенях сжатия, приобретают хорошо заметные и сильно выделяющиеся артефакты, т.к. контрастируют оттенки между артефактов собой. Таким и смежных образом, областей сильно изображения сжатые разработанным методом, выглядят более естественными и являются комфортными для восприятия их глазом человека, в отличие от тех же изображений, но сжатых алгоритмом JPEG. 4.3 Результаты моделирования работы межкадрового сжатия с внедрением разработанного метода кодирования Разработанный метод обеспечивает малое время поиска векторов движения и малый объем данных при межкадровой обработке. Моделирование проводилось с использованием базового алгоритма сжатия, стандартов семейства MPEG, с полным перебором зоны поиска и c использованием разработанного метода кодирования, в котором также происходит полный перебор зоны поиска. Оценка эффективности работы нового метода производилась сравнением времени работы выше перечисленных алгоритмов и количеством полученных векторов движения. Для полной оценки 113 эффективности работы алгоритмов и увеличения точности 173 получаемых данных обработке подвергались одиннадцать последовательных кадров. Для видеопоследовательности “Rebecca Black Reacts to 'Friday'” - это кадры 226 – 236, для видео последовательности “Foreman” – это кадры 95 – 104. Результаты работы представлены в таблицах 4.6 и 4.7. 114 Результаты эксперимента, приведенные выше, позволяют сформировать графики для наглядного отражения эффективности работы разработанного метода. Графики представлены на рисунках 4.10 – 4.13. 115 Для демонстрации результатов работы ниже, на рисунках 4.14 и 4.15 , приведены обработанные и декодированные кадры тестовых видеопоследовательностей, на которых квадратами отмечены блоки, для которых производился поиск векторов движения, а синими линями 116 обозначены требуемые для передачи вектора движения, с началом в белой точке. 117 118 Анализируя полученные данные и данные вышеприведенных графиков, можно отметить следующее. Время, требуемое для обработки кадра при межкадровом кодировании, значительно сокращается при использовании разработанного метода. Динамический характер изменения затрачиваемого времени, проявляющийся от кадра кадру, говорит о наличии в разработанном методе адаптивности к пространственно-временной структуре каждого обрабатываемого кадра. Результатом обработки являются вектора движения, количество которых на порядок ниже при использовании разработанного метода. Уменьшение количества векторов движения, которые в обязательном порядке должны передаваться на приемную сторону для обеспечения процедуры декодирования, приводит к сокращению общего объема занимаемого видеоинформационного сигнала. Таким образом, полученные результаты и их анализ служат подтверждением эффективности разработанного метода и его способность внести значительные улучшения в существующие алгоритмы обработки видеоинформационного сигнала. 119 ЗАКЛЮЧЕНИЕ 1. Рассмотрены особенности работы зрительной системы человека, на основе которых производится выявление психофизиологической избыточности. Проведен анализ современных методов сжатия сигналов изображений в пределах пространственного и временного направлений на основе дискретнокосинусного преобразования и вейвлет функций. Исследованы, с оценкой эффективности и скорости работы, энтропийные методы сжатия видеоинформационных сигналов. Также рассмотрены современные и перспективные методы противошумовой коррекции с анализом принципов их работы. Проанализированы алгоритмы работы современных методов устранения межкадровой избыточности, лежащие в основе кодеков H.264/AVC и H.265/HEVC. В результате проделанной работы выявлены недостатки алгоритмов этих методов. 2. Определен перечень мер, направленных на увеличение эффективности работы рассмотренных методов сжатия, сформулированы требования к разработанным методам пространственного и межкадрового кодирования. 3. Предложено использовать в разработанном методе кодирования в пределах внутрикадрового пространства блоки увеличенных размеров для кодирования кадров формата высокой четкости. 4. Сформирована обеспечивающая и успешно эффективное протестирована сокращение матрица избыточности квантования, в блоках увеличенного размера. 5. Разработан метод трехмерной противошумовой коррекции в пределах внутрикадрового пространства пространственновременной на фильтрации основе сигналов адаптивной изображений в последовательности кадров, реализующий эффективное подавление шумов различного происхождения и обеспечивающий экономное использование вычислительных ресурсов. 6. Разработана структурная схема устройства трехмерной шумовой коррекции на основе адаптивной пространственно-временной фильтрации сигналов 120 изображений в последовательности кадров, обеспечивающее эффективное 181 подавление шума различной природы и использование пониженного объёма вычислительных ресурсов. 7. Разработан нелинейный итерационный метод формирования управляющих сигналов с противошумовой коррекцией, обладающий универсальностью и высоким быстродействием. 8. Разработан адаптивный метод кодирования пространственной структуры кадра с возможностью формирования корректирующей информации, передаваемой, при необходимости, в зависимости от наличия свободных ресурсов канала связи. 9. Разработан эффективный метод адаптивного кодирования по межкадровому направлению видеоинформационного сигнала, обеспечивающий выполнение компенсации формирования движения с высокой уменьшенного числа производительностью сигналов векторов за счёт движения, достаточного для восстановления сигнала кадра. 10.Проведены моделирование и экспериментальные исследования, результаты которых показали эффективность работы разработанных улучшенные Предложенные выявленных Рекомендуется результаты в алгоритмы при сравнении с обеспечивают анализе использование методов и методами-конкурентами. коррекцию недостатков, методов кодирования. существующих разработанных методов кодирования видеоинформационного сигнала, как в качестве самостоятельных модулей, так и в качестве модернизации компрессионных систем на основе стандартов JPEG, H.264/AVC и H.265/HEVC. 121 СПИСОК ЛИТЕРАТУРЫ 1. В. Ф. Самойлов, Б. П. Хромой. Телевидение. – М.: Связь, 1975. 2. Прэтт У. Цифровая обработка изображений: Пер. с англ. – М.: Мир, 1982. 3. Шиффман Х.Р. Ощущение и восприятие: 5-е изд. – СПб.: 2003. 4. В.Н. Безруков, Специфика видеоконтроля изображений вещательного телевидения, Материалы международного конгресса HAT, Москва, 2002. – С. 215-216. 5. М. Вернер. Основы кодирования. – М.: Техносфера, 2006. –288 с. 6. Д. Сэломон. Сжатие данных, изображений и звука. – М.: Техносфера, 2004. – 368 с. 7. Schwarz H., Marpe D., Wiegand Т. CABAC and slices, JVT document JVTD020, Klagenfurt. Austria, July 2002. 8. ITU-T Recommendation H.264. Advanced video coding for generic audiovisual services, 2013. 9. ITU-T Recommendation H.265. High efficiency video coding, 2013. 10. ITU-CCITT Recommendation T.81 Information technology – Digital compression and coding of continuous-tone still images – Requirements and Guidelines. ISO/IEC 10918-1, 1992. 11. Смирнов А. В., Пескин А. Е. Цифровое телевидение. От теории к практике. – М: Горячая линияТелеком, 2003. – 352 с. 12. Ватолин Д., Ратушняк А., Смирнов М., Юкин В. Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео. – М.: ДИАЛОГМИФИ, 2003. – 384 с. 13. Б.А. Локшин Цифровое вещание: от студии к телезрителю – М.: Компания Сайрус Системс, 2001. 14. K . R . Rao, P . C . YipThe Transform and Data Compression Handbook – CRC Press, 2000. 15. Владо Дамьяновски CCTV. Библия видеонаблюдения. Цифровые и сетевые технологии / Пер, с англ. – М.: ООО «Ай-Эс-Эс-Пресс», 2006, – 480 с: ил. 183 16. Ватолин Д., Ратушняк А., Смирнов М., Юкин В. Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео. – М.: ДИАЛОГМИФИ, 2002. - 384 с. 17. Рабинович А.В. Кодирование изображений с применением вейвлетпреобразования // Труды НИИР, 2003. 18. Новиков Л.В. Основы вейвлет-анализа сигналов. Учебное пособие. 1999. 152 с.: ил. 19. Ярославский Л.П. Введение в цифровую обработку изображений. – М.: Сов. радио, 1979. – 312 с., ил. 20. Борискевич А.А. Цифровая обработка речи и изображений. Электронный учебнометодический комплекс по дисциплине Цифровая обработка речи и изображений. Минск, 2007. 21. Onthriar, K.K. Loo, Z. Xue. Performance Comparison of Emerging Dirac Video Codec with H.264/AVC // School of Engineering and Design, Brunel University, UB83PH, UK, 2006. 22. Wesley De Neve, Peter Lambert, Sam Lerouge, Rik Van de Walle. Assessment of the Compression Efficiency of the MPEG-4 AVC Specification // Proceedings Of The Society Of Photo-Optical Instrumentation Engineers (spie). 5308, 2004, p. 1082-1093. 122 23. Chen, P., Hanke, K., Rusert, T., Woods, J.W. Improvements to the MC-EZBC scalable video coder // IEEE Transactions On Circuits And Systems For Video Technology, Vol. 17, No. 6, June 2007, pp. 790-795. 24. Zixiang Xiong, Kannan Ramchandran, Michael T. Orchard, and Ya-Qin Zhang. A Comparative Study of DCT- and Wavelet-Based Image Coding // IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 9, NO. 5, AUGUST 1999, p. 692-695. 25. Anilkumar Katharotiya, Swati Patel, Mahesh Goyani. Comparative Analysis between DCT & DWT Techniques of Image Compression // Journal of Information Engineering and Applications, Vol. 1, No.2, 2011. 184 26. E. Feig. A fast scaled DCT algorithm // Proc. SPIE Image Processing Algorithms and Techniques, Vol. 1244, Feb. 1990, pp. 2-13. 27. Воробьев В.И., Грибу-Нин В.Г. Теория и практика вейвлет-преобразования. ВУС, 1999. – С. 1 204. 28. Тропченко А.Ю., Тропченко А.А. Методы сжатия изображений , аудиосигналов и видео: Учебное пособие – СПб.: СПбГУ ИТМО, 2009. – 108 с. 29. Уэлстид С. Фракталы и вейвлеты для сжатия изображений в действии. –М.: Триумф, 2003. 30. Ян Ричардсон. Видеокодирование. H.264 и MPEG-4 – стандарты нового поколения. –М.: Техносфера, 2005. 31. В. Никитин, М. Ефимов. Особенности использования видеокомпрессии MPEG-4 в сетевом видеонаблюдении // Алгоритм Безопасности № 2, 2006. – С. 16-19. 32. Власюк И.В., Сидорова А.И., Романова Е.П. Особенности межкадрового кодирования видеоинформации по стандарту MPEG-4 // Материалы четвертой отраслевой научной конференции-форума «Технологии информационного общества». 33. Libo Yang, Keman Yu, Jiang Li, Shipeng Li. An Effective Variable Block-Size Early Termination Algorithm for H.264 Video Coding // IEEE Transactions On Circuits And Systems For Video Technology, Vol. 15, No. 6, June 2005, pp. 784 – 788. 34. Поташников А.М. Методы и алгоритмы кодирования цветовых составляющих в системах цифрового телевидения // Фундаментальные проблемы радиоэлектронного приборостроения / Материалы Международной научно-технической конференции «INTERMATIC-2011» 14 – 17 ноября 2011 г., Москва. / Под ред. Чл.-корр. РАН А.С. Сигова. – М.: МГТУ МИРЭА – ИРЭ РАН, 2011, часть 3, – 254 с. 35. LI Man Ho. Variable Block Size Motion Estimation Hardware for Video Encoders // A Thesis Submitted in Partial Fulfilment of the Requirements for the 185 Degree of Master of Philosophy in Computer Science and Engineering, The Chinese University of Hong Kong, Nov 2006. 36. D. Lin, Cheng-Tie Chen, T. Hsing. Video on phone lines: technology and applications // Proceedings of the IEEE, Volume 83, Number 2, February 1995, pp. 175 – 193. 37. F. Lallauret, D. Barba. Motion compensation by block matching and vector post-processing in subband coding of TV signals at 15 Mbit/s // Proc. SPIE, Vol. 1605, pp. 26–36. 38. Поляков Д.Б. Блочные алгоритмы оценки движения // Труды Московского технического университета связи и информатики: – М.: “ИД Медиа Паблишер”, 2008.– Т.1. – С. 463–466. 39. Gharavi, H., Mills, M. Blockmatching motion estimation algorithms-new results // Circuits and Systems, IEEE Transactions, Volume:37 , Issue: 5, 2002, pp. 649- 651. 123 40. M. R. KHAMMAR. Evaluation of different block matching algorithms to motion estimation // International Journal of VLSI and Embedded Systems-IJVES, Vol 03, Issue 03, July-August 2012, pp. 148153. 41. T. Koga, K. Iinuma, A. Hirano, Y. Iijima, and T. Ishiguro, Motion compensated interframe coding for video conferencing // Proc. Nat. Telecommun. Conf., New Orleans, LA, Nov. 29–Dec. 3 1981, pp. G5.3. 1–5 .3.5. 42. R. Li, B. Zeng, and M. L. Liou. 186 45. Пономарев О.Г., Шарабайко М.П., Поздняков А.А. Анализ эффективности методов и алгоритмов видеокомпрессии стандарта H.265/HEVC. // Электросвязь, № 3, 2013. –С. 29-33. 46. Gary J. Sullivan, Jens-Rainer Ohm, Woo-Jin Han, Thomas Wiegand. Overview of the High Efficiency Video Coding (HEVC) Standard. // IEEE Transactions On Circuits And Systems For Video Technology, Vol. 22, No. 12, December 2012. 47. Vivienne Sze, Madhukar Budagavi. A Comparison Of CABAC Throughput For HEVC/H.265 vs. AVC/H.264 // IEEE Workshop on Signal Processing Systems, 2013. 48. Зубарев Ю.Б., Сагдуллаев Ю.С., Сагдуллаев Т.Ю. Видеоинформационные технологии систем связи: Монография – М.: Издательство «Спутник+», 2011. – 296 с.: ил. 49. В.Н. Безруков, Л.И. Дьячкова, Ю.А. Воронкова. Метод сжатия спектра телевизионного сигнала с фазо-временными преобразованиями блочной структуры отсчетов // Материалы VI Международной научно-технической конференции, 21 – 23 октября 2008 г., сс. 316-320. 50. Reeja S.R., N. P. Kavya. Noise Reduction in Video Sequences – The State of Art and the Technique for Motion Detection. // International Journal of Computer Applications (0975 – 8887) Volume 58– No.8, November 2012, pp. 31-36. 51. Xiaolin Tian, LichengJiao, Ying Duan. Video denoising via spatially adaptive coefficient shrinkage and threshold adjustment in surfacelet transform domain. // Springer, 15 may 2012. 52. G.Healey, R.Kondepudy. Radiometric CCD Camera Calibration And Noise Estimation // IEEE, PAMI, 1994, pp. 267– 276. 53. Ling Shao, Ruomei Yan, Xuelong Li, Yan Liu. From Heuristic Optimization to Dictionary Learning: A Review and Comprehensive Comparison of Image Denoising Algorithms // Cybernetics, IEEE Transactions, Volume:44 , Issue: 7, 2013, pp. 1001-1013. 54. L. Shapiro, G. Stockman. Computer Vision. USA: Prentice Hall, 2001. 187 55. N. Wiener. Extrapolation, Interpolation, and Smoothing of Stationary Time Series. New York, Wiley, 1949. 56. B. Widrow, S. Haykin,Least-mean-square adaptive filters. Wiley-IEEE, 2003. 57. L. Shao, H. Zhang, G. de Haan. An overview and performance evaluation of classification-based least squares trained filters. // IEEE Trans. Image Process., vol. 17, no. 10, Oct.2008, pp. 1772–1782. 58. C. Tomasi, R. Manduchi, Bilateral filtering for gray and color images. // Proc. 6th Int. Conf. Computer Vision, Bombay, India, 1998, pp. 839–846. 59. G. Z. Yang, P. Burger, D. N. Firmin, S. R. Under-wood. Structure adaptive anisotropic filtering. Image Vision Comput., vol. 14, 1996, pp. 135–145. 60. H. Takeda, S. Farsiu, P. Milanfar. Kernel regression for image processing and reconstruction. IEEE Trans. Image Process., vol. 16, no. 2, Feb. 2007, pp. 349– 366. 61. X. Zhu, P. Milanfar. Automatic parameter selection for denoising algorithms using a no-reference measure of image content. // IEEE Trans. Image Process., vol. 19, no. 12, Dec. 2010, pp. 3116–3132. 62. P. Bouboulis, K. Slavakis, S. Theodoridis. Adap-tive kernel-based image denoising employing semiparametric regularization. // IEEE Trans. Image Process., vol. 19, no. 6, Jun. 2010, pp. 1465–1479. 63. A. Buades, B. Coll, J. M. Morel. A non-local algorithm for image denoising. // inProc. IEEE Int. Conf. on Computer Vision and Pattern Recognition, vol. 2. San Diego, CA, USA: IEEE Press, 2005, pp. 60–65. 64. С. Путилин, А. Лукин «Модификация метода нелокального усреднения для подавления шума в видео» // Труды конференции Graphicon-2007, Москва, Россия, июнь 2007. – С. 257–259. 65. B.Goossens, H.Luong, A.Pizurica, W.Philips. An improved non-local denoising algorithm // in Proc. Int. 124 Workshop on Local and Non-local Approximation in Image Process, Tuusalu, Finland, 2008, pp. 143–156. 188 66. K. Dabov, A. Foi, V. Katkovnik, K. Egiazarian. Image denoising by sparse 3-d transform-domain col-laborative filtering. // IEEE Trans. Image Process., vol. 16, no. 8, Aug. 2007, pp. 2080–2095. 67. J. Portilla, V. Strela, M. J. Wainwright, and E. P. Simon-celli. Image denoising using scale mixtures of gaussians in the wavelet domain. // IEEE Trans. Image Process., vol. 12, no. 11, Nov. 2003, pp. 1338– 1351. 68. L. Zhang, W. Dong, D. Zhang, and G. Shi. Two-stage image denoising by principal component analysis with local pixel grouping. // Pattern Recognition, vol. 43, no. 4, Apr. 2010, pp. 1531–1549. 69. J. Mairal, F. Bach, J. Ponce, G. Sapiro, and A. Zisserman. Non-local sparse models for image restoration. // inProc. IEEE Int. Conf. Computer Vision, Kyoto, Japan, 2009, pp. 2272–2279. 70. M. Elad and M. Aharon. Image denoising via sparse and redundant representations over learned dictionaries. // IEEE Trans. Image Process., vol. 15, no. 12, Dec. 2006, pp. 3736–3745. 71. W. Dong, X. Li, L. Zhang, G. Shi. Sparsitybased image denoising via dictionary learning and structural clustering. // inProc. IEEE Int. Conf. on Computer Vision and Pattern Recognition, Colorado, USA, 2011. 72. Б. В. Бардин Быстрый алгоритм медианной фильтрации. // Обработка и представление данных. Научное приборостроение, 2011, том 21, № 3. – С. 135–139. 73. Р.Гонсалес, Р. Вудс. Цифровая обработка изображений. – М.: Техносфера, 2006. 74. Р. Гонсалес, Р. Вудс, С. Эддинс Цифровая обработка изображений в среде MATLAB. –М.: Техносфера, 2006. 75. Hiroyuki Takeda, Sina Farsiu, Peyman Milanfar. Kernel Regression for Image Processing and Reconstruction. // IEEE Transactions On Image Processing, Vol. 16, No. 2, February 2007, pp. 349-366. 189 76. Xiang Zhu, Peyman Milanfar. Automatic Parameter Selection for Denoising Algorithms Using a No-Reference Measure of Image Content // Image Processing, IEEE Transactions, Volume:19 , Issue: 12, 2010. 77. Boshra Rajaei. An Analysis and Improvement of the BLSGSM Denoising Method // Image Processing On Line, 4, 2014, pp. 44–70. 78.А.О. Антоненко. Кодирование и восстановление последовательностей // Математичні машини і системи, № 4, 2006. – С. 63-68. 79. Рачковский Д.А., Слипченко С.В., Куссуль Э.М., Байдак Т.Н. Разреженное бинарное распределенное кодирование скалярных величин // Проблемы управления и информатики, 2005, № 3. – С. 89–103. 80. Honglak Lee, Alexis Battle, Rajat Raina Andrew Y. Ng. Efficient sparse coding algorithms // NIPS, 2006. 81. M. Protter, M. Elad. Image sequence denoising via sparse and redundant representations // IEEE Transactions on Image Processing, 18(1), 2009, pp. 27– 36. 82. В. Н. Безруков, П. Ю. Комаров, Л. А. Шушкевич. Адаптивная коррекция сигнала телевизионного изображения. // Вестник связи, № 6, 2010. – С. 42- 45. 83. В.Н. Безруков, В.Ю. Мамаев, К.В. Селиванов. Специфика анализа апертурных характеристик в системах Телевидения //T-Comm. Телекоммуникации и транспорт, № 2, 2009. – С. 35-39. 84. Медведев А.А. Методы подавления шума в вещательном телевидении. Материалы международной научно-технической конференции «Фундаментальные проблемы радиоэлектронного приборостроения». М. – 2007. 85. Recommendation ITU-R BT.601-7. Studio encoding parameters of digital television for standard 4:3 and wide-screen 16:9 aspect ratios, 2011. 86. В.П. Дворкович, А.В. Дворкович. Цифровые видеоинформационные системы (теория и практика). –М.: Техносфера, 2012. 190 87. Попов А.В. Современные методы сжатия видеоинформационных сигналов в системах видеоконференцсвязи // Фундаментальные проблемы радиоэлектронного приборостроения / Материалы Международной научнотехнической конференции «INTERMATIC-2011» 14 – 17 ноября 2011 г., Москва. / Под ред. Чл.-корр. РАН А.С. Сигова. – М.: МГТУ МИРЭА – ИРЭ РАН, 2011, часть 3. – С. 254. 88. Попов А.В. Временная психофизиологическая избыточность в видеоинформационных сигналах видеоконференцсвязи // T-Comm. Телекоммуникации и транспорт, № 9, 2012. – С. 112 - 114. 89. Попов А.В. Пространственно-временное предсказание в стандарте видеосжатия H.264 // Фундаментальные проблемы радиоэлектронного приборостроения / Материалы Международной научно – технической конференции «INTERMATIC–2012», 3–7 декабря 2012 г., Москва. / Под ред. академика РАН А.С. Сигова. – М.: МГТУ МИРЭА – ИРЭ РАН, 2012, часть 6. – С. 215. 90. Попов А.В. Алгоритмы энтропийного кодирования при сжатии спектра телевизионного сигнала // T-Comm. Телекоммуникации и транспорт, № 4, 2013. – С. 42 – 46. 91. Безруков В.Н., Попов А.В., Аладин В.М. 125 Искажения сигналов изображения в современных системах телевидения // T-Comm. Телекоммуникации и транспорт, № 1, 2015. – С. 45 – 50 ПРИЛОЖЕНИЯ Приложение 1. Исходные коды разработанных методов внутрикадрового и межкадрового кодирования 1. Алгоритм метода итерационного формирования управляющих сигналов и адаптивного сжатия внутрикадрового пространства на основе управляющего сигнала с формированием корректирующей информации: clc clear all close all %% ЗАГРУЗКА И ПОДГОТОВКА КАДРА К ПРЕОБРАЗОВАНИЯМ A=imread('lena512color.tiff','tiff'); Argb = 0.2990*A(:,:,1) + 0.5870*A(:,:,2) + 0.1140*A(:,:,3); [y, x]=size(Argb); B16=zeros(y, x); Orig2=Argb; Argb=double(Argb); % подготовка к уменьшению до среднего уровня Argb = Argb - (128*ones(y, x)); % уменьшение до среднего уровня % Матрица квантования для корректирующей информации Mask4=[16 15 100 100 15 15 100 100 100 100 100 100 100 100 100 150]; %% ФОРМИРОВАНИЕ МАТРИЦЫ КВАНОТОВАНИЯ 16X16 ИЗ 8X8 Mask8=[16 11 10 16 24 40 51 61 12 12 14 19 26 58 60 55 14 13 16 24 40 57 69 56 14 17 22 29 51 87 80 62 18 22 37 56 68 109 103 77 24 35 55 64 81 104 113 92 49 64 78 87 103 121 120 101 72 92 95 98 112 100 103 99]; M8x=ones(8,8); for i1=1:1:8, for i2=1:1:7, M8x(i1,i2)=round((Mask8(i1,i2)+Mask8(i1,i2+1))/2); end M8x(i1,8)=Mask8(i1,i2+1)-Mask8(i1,i2)+Mask8(i1,i2+1); end Mx8=ones(8,8); for i2=1:1:8, for i1=1:1:7, Mx8(i1,i2)=round((Mask8(i1,i2)+Mask8(i1+1,i2))/2); end Mx8(8,i2)=Mask8(i1+1,i2)Mask8(i1,i2)+Mask8(i1+1,i2); end Mask16=ones(16, 16); Mask16(1:2:16,2:2:16)=M8x(:,:); Mask16(2:2:16,1:2:16)=Mx8(:,:); 192 Mask16(1:2:16,1:2:16)=Mask8; TmpExtra=Mask16(2:2:end,end-1)Mask16(2:2:end,end-3)+Mask16(2:2:end,end-1); TmpExtra1=Mask16(end-1, 2:2:end)-Mask16(end-3, 2:2:end)+Mask16(end-1, 2:2:end); Mask17=ones(17,17); Mask17(1:end-1,1:end-1)=Mask16; Mask17(2:2:end,end)=TmpExtra; Mask17(end, 2:2:end)=TmpExtra1; % Матрица для расчета среднего значения путем свертки 4-х соседних эл-в C=[0 1 0 1 0 1 0 1 0]; MaskTmp=round(conv2(Mask17,C)/4); Tmp=MaskTmp(3:2:end-1, 3:2:end-1); Mask16(2:2:end,2:2:end)=Tmp; MaskX=Mask16; % Управеление степенью квантования основного изображения MaskX=MaskX.*(ones(16)*8); %---другие варианты матриц можно взять из версии V2 данного кода %% ПРЯМОЕ И ОБРАТНОЕ ПРЕОБРАЗОВАНИЯ ОСНОВНОГО ИЗОЮРАЖЕНИЯ AmaskT=ones(y,x); Amask=ones(y,x); x1=1; y1=1; for i1=16:16:x, for i2=16:16:y, AmaskT(y1:i2,x1:i1)=round(dct2(Argb(y1:i2,x1:i1))./MaskX); Amask(y1:i2,x1:i1)=idct2(AmaskT(y1:i2,x1:i1).*MaskX); y1=y1+16; end y1=1; x1=x1+16; end Amask=Amask+(128*ones(y, x));% восстановление среднего уровня Amask=uint8(Amask); % Преобразование основного изображения без квантования ArgbT=ones(y,x); x1=1; y1=1; for i1=16:16:x, for i2=16:16:y, ArgbT(y1:i2,x1:i1)=round(dct2(Argb(y1:i2,x1:i1)));% y1=y1+16; end y1=1; x1=x1+16; end %% ФОРМИРОВАНИЕ УС НА УРОВНЕ ДКП КОЭФФИЦИЕНТОВ - РАБОТА В ОБЛАСТИ ПРЕОБ XRD=ArgbT-AmaskT; % УПРАВЛЯЮЩИЙ СИГНАЛ УС x1=1; y1=1; m1=1; M=zeros(1,4); for i1=16:16:x, for i2=16:16:y, if sum(sum(abs(XRD(y1:i2,x1:i1))))>=1050, M(m1,1:4)=[y1 i2 x1 i1]; m1=m1+1; %--формирование координатной сетки M на основе УС для блоков с ошибками end y1=y1+16; end y1=1; x1=x1+16; end [q, p]=size(M);%--определение количества блоков с УС 193 %% ПОДСВЕТКА БЛОКОВ ОЩИБОК 16Х16 УС ПО СЕТКЕ "M" for i1=1:1:q, B16(M(i1,1):M(i1,2),M(i1,3):M(i1,4))=255; % подсветка полных блоков без деления end figure('name', 'Блоки УС 16Х16'); imshow(B16); title('Блоки УС 16Х16'); %% ОБРАБОТКА БЛОКОВ ПО 4Х4 - РАБОТА В РЕАЛЬНОЙ ОБЛАСТИ Kus=zeros(y,x); % массив для оригинальных блоков 4X4 XRDR=imabsdiff(Orig2,Amask); % формирование УС в реальной области для операции с блоками 4X4 TmpR=ones(16,16); n1=1; s=1; for i1=1:1:q, TmpR=XRDR(M(i1,1):M(i1,2),M(i1,3):M(i1,4)); % работа с блоками указанными в сетке "M" x1=1; y1=1; for i3=4:4:16, for i2=4:4:16, if sum(sum(TmpR(y1:i2,x1:i3)))>=65, TmpR(y1:i2,x1:i3)=255; N(n1,1:4)=[M(i1,1)+y1-1 M(i1,1)+y1+2 M(i1,3)+x1-1 M(i1,3)+x1+2]; n1=n1+1; 126 TM(1,s)=M(i1,1)+y1-2; s=s+1; %-- round(dct2(Argb(y1:i2,x1:i1))./Mask); %--подсветка блоков с вычитом 4X4 Kus(M(i1,1)+y1-1:M(i1,1)+y1+2, M(i1,3)+x1- 1:M(i1,3)+x1+2)=Orig2(M(i1,1)+y11:M(i1,1)+y1+2, M(i1,3)+x1-1:M(i1,3)+x1+2); %-- запись в Kus оригинальных блоков 4x4 из Argb else TmpR(y1:i2,x1:i3)=0; end y1=y1+4; end y1=1; x1=x1+4; end XRDR(M(i1,1):M(i1,2),M(i1,3):M(i1,4))=TmpR; end Kus=uint8(Kus); figure('name', 'С ВЫЧИТОМ БЛОКОВ 4Х4'); imshow(Kus); title('С ВЫЧИТОМ БЛОКОВ 4Х4'); figure('name', 'С ВЫЧИТОМ БЛОКОВ 4Х4 ПОДСВЕТКА'); imshow(XRDR); title('С ВЫЧИТОМ БЛОКОВ 4Х4 ПОДСВЕТКА'); figure('name', 'Amask ОСНОВНОЕ ИЗОБРАЖЕНИЕ'); imshow(Amask); title('Amask - ОСНОВНОЕ ИЗОБРАЖЕНИЕ'); %% ФОРМИРОВАНИЕ РАЗНИЦЫ (КИ) для передачи И ВОССТАНОВЛЕНИЕ из разницы Correction=zeros(y,x); AmaskD=double(Amask); KusD=double(Kus); %ВЫЧИСЛЕНИЕ РАЗНИЦЫ for i1=4:4:x, for i2=4:4:y, if sum(sum(Kus(i2-3:i2,i1-3:i1)))~=0, Correction(i2-3:i2,i1- 3:i1)=(KusD(i2-3:i2,i13:i1)-AmaskD(i2-3:i2,i1-3:i1))/2; end end end CorrectionT=zeros(y, x);% массив для КВАНТОВАНОЙ РАЗНИЦЫ for i1=4:4:x, for i2=4:4:y, if sum(sum(Kus(i2-3:i2,i1-3:i1)))~=0, CorrectionT(i2-3:i2,i13:i1)=round(dct2(Correction(i2-3:i2,i1- 3:i1))./Mask4); 194 Correction(i2-3:i2,i13:i1)=(idct2(CorrectionT(i2-3:i2,i1- 3:i1).*Mask4))*2; end end end %ПОДГОТОВКА К ЭНТРОПИЙНОМУ КОДИРОВАНИЮ AmaskD=double(Amask); DecodedIMG=AmaskD+Correction; %-->ВОССТАНОВЛЕННИЕ ИЗ КОРРЕКТИРУЮЩЕЙ ИНФОРМАЦИИ %% ВЫВОД РЕЗУЛЬТАТОВ DecodedIMG=uint8(DecodedIMG); figure('name', 'DecodedIMG - ОСНОВНОЕ ИЗОБРАЖЕНИЕ С КИ'); imshow(DecodedIMG); title('DecodedIMG - ОСНОВНОЕ ИЗОБРАЖЕНИЕ С КИ'); figure('name', 'КОНТРОЛЬНОЕ'); imshow(AmaskCont); title('КОНТРОЛЬНОЕ'); %% ПОДСЧЕТ PSNR Orig2D=double(Orig2); AmaskD=double(Amask); DecodedIMGD=double(DecodedIMG); % Для основного изображения с корректирующей информацией PSNR=0; for i1=1:1:y-1, for i2=1:1:x-1, PSNR=(Orig2D(i1,i2)-DecodedIMGD(i1,i2))*(Orig2D(i1,i2)- DecodedIMGD(i1,i2))+PSNR; end end PSNR=PSNR/(x*y); PSNR_DecodedIMG=10*log10((255*255)/PSNR) % Для основного изображения без КИ PSNR=0; for i1=1:1:y-1, for i2=1:1:x-1, PSNR=(Orig2D(i1,i2)-AmaskD(i1,i2))*(Orig2D(i1,i2)AmaskD(i1,i2))+PSNR; end end PSNR=PSNR/(x*y); PSNR_AmaskD=10*log10((255*255)/PSNR) 2. Модуль зиг-заг сканирования и кодирования по длинам серий cc=0; cco=0; ccom=0; %ПОДСЧЕТ НУЛЕВЫХ cco (КОМПАНОВКА В ОДИН) И НЕНУЛЕВЫХ cc БЛОКОВ ДЛЯ ФОРМИРОВАНИЯ НУЖНОГО РАЗМЕРА ДЛЯ МАССИВА CorrT for i1=16:16:x, for i2=16:16:y, if sum(sum(CorrectionT(i2-15:i2,i1-15:i1)))==0 && ccom==0, cco=cco+1; ccom=1;end if sum(sum(CorrectionT(i2-15:i2,i1-15:i1)))==0 && ccom~=0, cco=cco+0; end if sum(sum(CorrectionT(i2-15:i2,i1-15:i1)))~=0, cc=cc+1; ccom=0; end end end y1=1; x1=1; cx=1; ctx=0; CorrT=zeros(4,cc+cco); %группировка нулевых блоков и ненулевых for i2=16:16:y, for i1=16:16:x, if sum(sum(CorrectionT(i2-15:i2,i1-15:i1)))==0, ctx=ctx+1; CorrT(4,cx+15)=ctx; end 195 if sum(sum(CorrectionT(i2-15:i2,i1-15:i1)))~=0 && ctx==0, CorrT(1:16,cx:cx+15)=CorrectionT(i2-15:i2,i115:i1); cx=cx+16; end if sum(sum(CorrectionT(i2-15:i2,i1-15:i1)))~=0 && ctx>=1, ctx=0; cx=cx+16; CorrT(1:16,cx:cx+15)=CorrectionT(i2-15:i2,i1-15:i1); cx=cx+16; end end end [i1, sc]=size(CorrT); Zig=zeros(1, i1*sc); z1=1; v=zeros(1,16); %зиг-заг сканирование поочередно всех блоков for i1=1:16:sc, u=CorrT(1:16,i1:i1+15); M=16; N=16; m=1; n=1; v(1)=u(m,n); d='r'; for i=2:M*N switch d case 'u', m=m-(m>1); n=n+(n1); v(i) = u(m,n); if m==M, d='r'; elseif n==1, d='d'; end case 'd', m=m+(m<=5)=0; US=filter2(Fil,US); US(US<=3)=0; US=filter2(Fil,US); US(US<=2.5)=0; %% Формирование набора переменных для процесса компенсации и его контроля ko=1; % счетчик строки с координатами для основного массива с набором координат для блоков кадров донора и получателя temp=1; % -для контроля-- счетчик для процесса отрисовки всех блоков получателей для которых будут искаться блоки-доноры MinBlok=zeros(1,4); % временный массив для сохранения координат блока давшего минимальную разность KoordV=zeros(1,8); % основной массив для набора координат блоков кадров донора и получателя Temp=zeros(1,5); % --для контроля-- массив с набором координат всех блоков получателей для которых будут искаться блоки-доноры minznach=zeros(1,1); % --для контроля-- временный массив для минимальных значений разности (т.к. мин. значений может быть >1 нужен этот массив чтобы сохранить только одно) 127 minznachTEMP=zeros(1,1); % --для контроля-- массив для минимальных значений разности (используется вместе с minznach) % Процесс компенсации блоков в разностном кадре %% Формирование области поиска и вычисление разностных значений for i1=8:8:x, % цикл для сканирования разностного сигнала в поисках управляющего сигнала for i2=8:8:y, % цикл для сканирования разностного сигнала в поисках управляющего сигнала if sum(sum(US(i2-7:i2,i17:i1)))~=0, % Определение наличия управляющего сигнала Ss=BgrayD(i2-7:i2,i1-7:i1); % Сохранение области из второго кадра на основе определенного выше управляющего сигнала q=1; % счетчик строки для массива Q - массив значений разности блоков из области поиска и Ss ct=i2-19; if cty, ctt=y; end; % формирование области поиска (если выходит за границы y то =y) bt=i1-19; if btx, btt=x; end; % формирование области поиска (если выходит за границы x то =x) Q=zeros(((ctt-ct+1)*(bttbt+1)/64),5); % пустой массив с размером в зависимости от количества (т.к. возможно ограничение до 1) блоков 8х8 помещающихся в область поиска for z1=bt:1:btt-7, % цикл для сканирования области поиска по x for z2=ct:1:ctt-7, % цикл для сканирования области поиска по y 197 Q(q,5)=sum((sum(abs(AgrayD(z2:(z2+7), z1:(z1+7))-Ss)))); % сохранение значения разности между каждым блоком из зоны поиска и Ss Q(q,1:4)=[z2 (z2+7) z1 (z1+7)]; % сохранение координат блока со значением из прошлого шага q=q+1; % следующая строка в массиве для последующей записи на следущем шаге цикла end; end; Temp(temp, 1:4)=[(i2-7) i2 (i1-7) i1]; % сохранение координат в массив для отрисовки границ всех блоков для которых будут искаться блоки-доноры temp=temp+1; % следующая строка в массиве для последующей записи на следущем шаге цикла %% Определение минимального разностного значения указывающего на блок-донор [y_min, x_min]=find (Q(:,5)==min(Q(:,5))); % поиск координат блока с минимальным значением в массиве (Q) всех значений блоков найденных в зоне поиска if Q(y_min,5)<=fix(sum(abs(sum(abs(A_BD(i27:i2,i1-7:i1)))))*1), % задание порога разности при котором блок имеющий эту разность может считаться донором MinBlok=Q(y_min,1:4); % сохранение координат блока с минимальным значением (их может быть >1) во временный массив [p q]=size(MinBlok); % определение размера блока с минимальными значениями для процедуры указания на оригинальный блок если минимальных значений >1 A_BD1(i2-7:i2,i17:i1)=AgrayD(MinBlok(1,1):MinBlok(1,2),MinBlok(1,3):MinBlok(1,4))-Ss; % КОМПЕНСАЦИЯ - замена блоков на разность блоков м/у целевым изображением и донором KoordV(ko,1:4)=MinBlok(1,1:4); % сохранение координат для кадра донора KoordV(ko,5:8)=[(i2-7) i2 (i1-7) i1]; % сохранение координат для кадра получателя % Если в найденных минимумах все 0, то эта часть кода выбирает % оригинал назначения if p>1, for b=1:p, if MinBlok(b,1)==i2-7 && MinBlok(b,2)==i2 && MinBlok(b,3)==i1- 7 && MinBlok(b,4)==i1, A_BD1(i2-7:i2,i17:i1)=AgrayD(MinBlok(b,1):MinBlok(b,2),MinBlok(b,3):MinBlok(b,4))-Ss; % КОМПЕНСАЦИЯ - замена блоков на разность блоков м/у целевым изображением и донором KoordV(ko,1:4)=MinBlok(b,1:4); end; end; end; % конец кода для оригинала minznachTEMP=Q(y_min,5); % --для контроля-сохранение минимальных значений разности minznach(ko,1)=minznachTEMP(1,1); % --для контроля-- сохранение минимальных значений разности ko=ko+1; % следующая строка для массива end; end end end %% Обозначение начала движения - начало вектора движения for il=1:1:ko-1, % цикл для обозначения блока из которого следует вектор Kadr2D(KoordV(il,1),KoordV(il,3))=255; % в блоке отмечается первый пиксель былым цветом end; 198 %% ВОССТАНОВЛЕНИЕ ВТОРОГО КАДРА ИЗ СКОМПЕНСИРОВАННОЙ РАЗНОСТИ BD=AgrayDA_BD1; % Восстановление второго кадра из разности - Шаг 1 for il=1:1:ko-1, % Цикл для восстановления во втором кадра скомпенсированных блоков - Шаг 2 (ko-1 т.к. формируется одна лишняя строрка в цикле) BD(KoordV(il,5):KoordV(il,6), KoordV(il,7):KoordV(il,8))=AgrayD(KoordV(il,1):KoordV(il,2),KoordV(il,3):KoordV(il ,4))A_BD1(KoordV(il,5):KoordV(il,6),KoordV(il,7):KoordV(il,8)); end; toc %% ВЫВОД РЕЗУЛЬТАТОВ figure('name','Первый кадр - оригинал'); imshow(uint8(AgrayD)); title('Первый кадр - оригинал'); figure('name','Второй кадр - оригинал'); imshow(uint8(BgrayD)); title('Второй кадр - оригинал'); 128 figure('name','Восстановленный второй кадр'); imshow(uint8(BD)); title('Восстановленный второй кадр'); figure('name','УС'); imshow(uint8(US)+128); title('УС'); 129