Search
Write a publication
Pull to refresh
4
0

User

Send message

Способы оценки субъективного качества речи

Reading time13 min
Views42K
Так или иначе наиболее важным ресурсом в сетях передачи данных является пропускная способность каналов связи. Помимо увеличения максимальной пропускной способности каналов связи и их числа очевидно, что имеет смысл оптимизировать использование уже имеющихся. Например, применяя алгоритмы сжатия. Для каждого случая наиболее оптимальный алгоритм (с точки зрения вычислительной сложности, коэффициента сжатия и т.п.) может быть своим.
Особенностью сжатия звука является субъективность её восприятия человеком. Это одновременно даёт возможность исключать незначительную информацию из сигнала, но и усложняет алгоритм сжатия.
Для того, чтобы достичь наибольшего коэффициента сжатия при минимальных потерях субъективного качества необходимо знать законы его восприятия. Этим занимается Психоакустика.
При использовании психоакустических свойств для сжатия традиционные способы оценки качества уже не подходят. Так, например, соотношение сигнал/шум становится практически бесполезным, т.к. сжатие происходит без учёта тех частей, которые человек не воспринимает. Таким образом, оценка качества так же должна учитывать свойства слухового аппарата человека.

Под катом будут рассмотрены некоторые свойства речевых сигналов и особенностей их восприятия человеком, объективные и субъективные способы оценки качества этих сигналов.

P.S. В данной статье использована моя дипломная работа, защищённая в 2011 году в Московском Авиационном Институте на факультете Радиоэлектроники Летательных Аппаратов каф. 402. Ранее работа нигде не публиковалась.
Читать дальше →

Blind Deconvolution — автоматическое восстановление смазанных изображений

Reading time6 min
Views148K
Смазанные изображения — один из самых неприятных дефектов в фотографии, наравне с расфокусированными изображениями. Ранее я писал про алгоритмы деконволюции для восстановления смазанных и расфокусированных изображений. Эти, относительно простые, подходы позволяют восстановить исходное изображение, если известна точная траектория смаза (или форма пятна размытия).
В большинстве случаев траектория смаза предполагается прямой линией, параметры которой должен задавать сам пользователь — для этого требуется достаточно кропотливая работа по подбору ядра, кроме того, в реальных фотографиях траектория смаза далека от линии и представляет собой замысловатую кривую переменной плотности/яркости, форму которой крайне сложно подобрать вручную.


В последние несколько лет интенсивно развивается новое направлении в теории восстановления изображений — слепая обратная свертка (Blind Deconvolution). Появилось достаточно много работ по этой теме, и начинается активное коммерческое использование результатов.
Многие из вас помнят конференцию Adobe MAX 2011, на которой они как раз показали работу одного из алгоритмов Blind Deconvolution: Исправление смазанных фотографий в новой версии Photoshop
В этой статье я хочу подробнее рассказать — как же работает эта удивительная технология, а также показать практическую реализацию SmartDeblur, который теперь тоже имеет в своем распоряжении этот алгоритм.
Внимание, под катом много картинок!
Читать дальше →

Использование OpenCV в Delphi

Reading time2 min
Views30K
Так случилось, что я активно использую Delphi в своей работе (программирование по работе, собственные открытые и закрытые проекты) и вот мне понадобилось написать программу, использующую открытую библиотеку компьютерного зрения OpenCV. Что же делать, ведь официально OpenCV использовать в Delphi невозможно, а перебираться на C ради одной программы слишком долго.

Но нет ничего невозможного…
Читать дальше →

Вейвлет-сжатие «на пальцах»

Reading time10 min
Views180K


Вейвлеты сейчас на слуху. Даже неискушённые в математике люди наверняка слышали, что с их помощью удаётся сжимать изображения и видео сохраняя приемлемое качество. Но что же такое вейвлет? Википедия отвечает на этот вопрос целым ворохом формул за которыми не так-то легко увидеть суть.

Попробуем на простых примерах разобраться, откуда же вообще берутся вейвлеты и как их можно использовать при сжатии. Предполагается, что читатель знаком с основами линейной алгебры, не боится слов вектор и матрица, а также умеет их перемножать. (А во второй части даже попробуем что-то запрограммировать.)

Читать дальше →

Обзор инструментов для сжатия изображений

Reading time15 min
Views373K


Для ускорения сайта, некоторые рекомендуют проанализировать каждую страницу: оптимизировать запросы HTTP и любые перенаправления, сжать скрипты и стили и т. д. Все это без сомнения необходимо, но в первую очередь важно рассмотреть основы. В частности, вы уверены, что любая графика, которую вы используете на создаваемых сайтах, полностью оптимизирована для Интернета?
Читать дальше →

Прецизионный поворот растрового изображения на произвольный угол

Reading time8 min
Views58K
Поворот растрового изображения на углы, кратные 90°, относительно геометрического центра изображения – задача тривиальная и решается без потери качества простым преобразованием координат каждого пикселя.

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

Ниже мы рассмотрим алгоритм прецизионного поворота растрового изображения на произвольный угол относительно произвольного центра с минимальными потерями.

Выражаю благодарность Харченко Владиславу Владимировичу за оказанную помощь.
Читать дальше →

Голографические свойства бит-реверсивной перестановки

Reading time4 min
Views45K
Об экспериментах с компьютерной голографией писалось неоднократно. [1, 2, 3] Мне эта тема просто любопытна. Я как-то экспериментировал с бит-реверсивной перестановкой (bit-reversal permutation) изображений и случайно обнаружил голографические свойства. Но обо всем по порядку.
Читать дальше →

Восстановление расфокусированных и смазанных изображений. Повышаем качество

Reading time5 min
Views211K
Представляю вашему вниманию заключительную статью из трилогии «Восстановление расфокусированных и смазанных изображений». Первые две вызвали заметный интерес — область, действительно, интересная. В этой части я рассмотрю семейство методов, которые дают лучшее качество, по сравнении со стандартным Винеровским фильтром — это методы, основанные на Total Variaton prior.
Также по традиции я выложил новую версию SmartDeblur (вместе с исходниками в open-source) в которой реализовал этот метод. Итоговое качество получилось на уровне коммерческих аналогов типа Topaz InFocus. Вот пример обработки реального изображения с очень большим размытием:


Читать дальше →

Создание стереограммы на основе трехмерной модели

Reading time7 min
Views31K
На Хабре уже писали о простом алгоритме создания стереограмм. Стереограмма в нём генерируется на основе карты высот и изображения с повторяющимся рисунком. В данной статье я хочу описать другой подход к созданию стереограмм – на основе трехмерной модели. Основные отличия описанного здесь алгоритма от алгоритма, указанного выше:

  • вместо карты высот (которая по сути представляет из себя карту смещений пикселей по горизонтали) объекты задаются непосредственно в трехмерных координатах;
  • нет ограничений на количество объектов и их расположение (за исключением того, что все они должны находиться в поле зрения и на некотором расстоянии от плоскости стереограммы – для того, чтобы их можно было увидеть), тогда как при использовании карты высот мы имеем дело только с одним слоем;
  • созданная стереограмма обладает перспективой (чем дальше от наблюдателя находится объект, тем меньшим он выглядит);
  • вид объекта зависит от ракурса, с которого он виден (как и для реальных объектов).

Читать дальше →

Быстрое размытие по Гауссу

Reading time5 min
Views111K
Фильтр размытия по гауссу (широко известный “gaussian blur” в фотошопе) достаточно часто применяется сам по себе или как часть других алгоритмов обработки изображений. Далее будет описан метод, позволяющий получать размытие со скоростью, не зависящей от радиуса размытия, используя фильтры с бесконечной импульсной характеристикой.
Читать дальше →

Размытие изображения фильтром Kuwahara

Reading time1 min
Views28K
Фильтр Kuwahara выполняет нелинейную фильтрацию изображений с сохранением резких краев. После фильтрации изображение похоже на грубо нарисованную красками, картину.
image
Читать дальше →

Восстановление расфокусированных и смазанных изображений. Практика

Reading time10 min
Views358K
Не так давно я опубликовал на хабре первую часть статьи по восстановлению расфокусированных и смазанных изображений, где описывалась теоретическая часть. Эта тема, судя по комментариям, вызвала немало интереса и я решил продолжить это направление и показать вам какие же проблемы появляются при практической реализации казалось бы простых формул.

В дополнение к этому я написал демонстрационную программу, в которой реализованы основные алгоритмы по устранению расфокусировки и смаза. Программа выложена на GitHub вместе с исходниками и дистрибутивами.

Ниже показан результат обработки реального размытого изображения (не с синтетическим размытием). Исходное изображение было получено камерой Canon 500D с объективом EF 85mm/1.8. Фокусировка была выставлена вручную, чтобы получить размытие. Как видно, текст совершенно не читается, лишь угадывается диалоговое окно Windows 7.



И вот результат обработки:



Практически весь текст читается достаточно хорошо, хотя и появились некоторые характерные искажения.

Под катом подробное описание проблем деконволюции, способов их решения, а также множество примеров и сравнений. Осторожно, много картинок!
Читать дальше →

Если оба компьютера за натом

Reading time2 min
Views19K
На написание данной заметки натолкнули некоторые комментарии к недавней статье “Не слишком щепетильный способ продажи ПО” о программе TeamViewer. Попытаюсь вкратце описать один не слишком сложный и в то же время достаточно универсальный способ “зайти” с одного компьютера на другой, если они оба за натом.

Собственно, к делу. Для того, чтобы установить соединение, на каждом компьютере создадим IPv6-туннель при помощи какого-либо сервиса туннелирования IPv6. Оба компьютера при этом получат полноценный IPv6 адрес и между ними можно будет установить соединение по ssh, vnc или другой технологии. Конечно, если у обоих компьютеров уже есть IPv6 адрес, предоставленный провайдером, никаких телодвижений по поднятию туннелей производить не нужно. К сожалению, подавляющее большинство провайдеров к IPv6 еще не готовы и наличие у пользователя прямого доступа в интернет по IPv6 – большая редкость.
Читать дальше →

Конвертация PNG24/32 в PNG8 с сохранением прозрачности

Reading time1 min
Views14K


Открылся веб-сервис TinyPNG, на котором можно быстро конвертировать полноцветные PNG24 в индексные PNG8 с сохранением альфа-прозрачности. Сайт работает на известных open source утилитах, так что квантование палитры можно сделать и без него, но здесь это просто удобнее.
Читать дальше →

Библиотека OmniThreadLibrary — простая многопоточность в среде Delphi

Reading time9 min
Views31K
Написать интересную статью на техническую тему очень сложно. Приходится балансировать между тем, чтобы не скатиться в технические дебри и тем, чтобы совсем ничего не сказать. Сегодня я попробую в общих словах (без деталей) поговорить о том, как обстоят дела с разработкой многопоточных desktop-приложений в не столь популярной на сегодняшний день, но наверняка знакомой многим российским разработчикам среде Delphi. Статья ориентирована на НЕ новичков в программировании, являющихся при этом новичками в области создания многопоточных приложений.
Читать дальше →

Image Catalyst 2.2

Reading time1 min
Views19K
Здравствуй Хабр!
Adobe Photoshop CS5 (Save For Web) — 53,8 КБ Image Catalyst (Xtreme) — 46,0 КБ
Image Catalyst — программа для комплексной оптимизации/сжатии изображений формата PNG и JPEG без потери качества в рамках того же формата.
Читать дальше →

Кластеризация точек на основе регулярной сети

Reading time4 min
Views17K

В данной статье я рассмотрю два алгоритма, первый — непосредственно кластеризация, второй — построение контура кластера в виде выпуклого многоугольника, прикладная задача для улучшеного восприятия полученного результата.

Читать дальше →

Раскраска матрицы 17х17 четырьмя цветами без монохроматических прямоугольников

Reading time2 min
Views3.1K
Что удивительного в этой картинке?



На самом деле она уникальна. Матрица размером 17 х 17 раскрашена четырьмя цветами, при этом на ней нельзя построить ни единого (!) прямоугольника, чтобы все углы его были одного цвета. Имеются в виду прямоугольники любого размера с вершинами в разных точках и рёбрами, параллельными осям x и y.
Читать дальше →

Алгоритм ImageZero (IZ): быстрое сжатие без потери качества

Reading time1 min
Views5.6K
JPEG является стандартом в области компрессии изображений и это один из самых быстрых алгоритмов, но у него одна проблема: JPEG сжимает с потерей качества. Если фотография подвергается многократной обработке, это неприемлемо, и в таких случаях приходится искать альтернативу. Хочется чего-нибудь быстрого и при этом с приемлемой степенью сжатия.

Беглый взгляд на бенчмарки losless-алгоритмов на выборке фотографий не даёт оснований для радости: оказывается, PNG очень быстр на распаковке, но исключительно медленно работает на сжатии изображений.

Есть ещё JPEG-LS, хороший на первый взгляд. Но на него патент у компании HP, так что без шансов на использование. Немецкий программист Кристоф Фек (Christoph Feck) решил исправить ситуацию и выпустил свой алгоритм ImageZero сжатия фотографий без потери качества. Он примерно в 20 раз быстрее PNG, а по степени сжатия сравним с JPEG-LS.
Читать дальше →

Восстановление расфокусированных и смазанных изображений

Reading time10 min
Views226K
Восстановление искаженных изображений является одной из наиболее интересных и важных проблем в задачах обработки изображений – как с теоретической, так и с практической точек зрения. Частными случаями являются размытие из-за неправильного фокуса и смаз – эти дефекты, с которым каждый из вас хорошо знаком, очень сложны в исправлении – именно они и выбраны темой статьи. С остальными искажениями (шум, неправильная экспозиция, дисторсия) человечество научилось эффективно бороться, соответствующие инструменты есть в каждом уважающем себя фоторедакторе.

Почему же для устранения смаза и расфокусировки практически ничего нету (unsharp mask не в счет) – может быть это в принципе невозможно? На самом деле возможно – соответствующий математический аппарат начал разрабатываться примерно 70 лет назад, но, как и для многих других алгоритмов обработки изображений, все это нашло широкое применение только в недавнее время. Вот, в качестве демонстрации вау-эффекта, пара картинок:



Я не стал использовать замученную Лену, а нашел свою фотку Венеции. Правое изображение честно получено из левого, причем без использования ухищрений типа 48-битного формата (в этом случае будет 100% восстановление исходного изображения) – слева самый обычный PNG, размытый искусственно. Результат впечатляет… но на практике не все так просто. Под катом подробный обзор теории и практические результаты.
Осторожно, много картинок в формате PNG!
Читать дальше →

Information

Rating
Does not participate
Registered
Activity