Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Необъятный Мир Софта. Его обзор. Выпуск №1


Информационный Канал Subscribe.Ru


АЛЕКСАНДР ОЛЕЙНИКSOFT-ОБЗОР
ФОРМАТ JPEG:
что мы о нём знаем?
Обрабатывание пикселей по диагонали За последний год-два наступление цифровой фотографии приобрело ошеломляющую стремительность. Цена на дешевую полуторамегапиксельную камеру сравнима с ценой хорошей «мыльницы». В то же время преимущества цифровой съемки перед пленочной очевидны. Все любительские «цифровики», а также большинство профессиональных камер используют JPEG как основной формат записи изображений.

Более-менее подготовленный пользователь, иногда работающий с графикой или цифровыми изображениями, скорее всего не сможет объяснить принципиальных отличий JPEG от BMP или TIFF. А при этом разница-то огромна. Запись изображений в формате TIFF примерно так же тривиальна, как изготовление пельменей с помощью скалки и железки с отверстиями. В то же время алгоритм JPEG напоминает раскладывание затейливого пасьянса по хитроумным правилам. Происходит интереснейший многоэтапный процесс обработки информации: изменение цветового пространства, пофрагментный анализ изображения, отсев информации по определенным принципам, с учетом строения человеческого глаза, математического кодирования.

А кому он был нужен, этот JPEG?

Кризис. Так можно сказать о состоянии полиграфии на базе компьютерных систем в восьмидесятых годах. Хорошо загруженные работой фирмы по допечатной подготовке, которые за свои несколько компьютеров, профессиональный барабанный сканер и остальную спецтехнику выложили тучу денег, столкнулись с тем, что какой-то хилый десяток заказов, делающихся на их компьютерах, пожирает все доступное дисковое пространство, успешно превращая его в недоступное. А диски тогда были, по сегодняшним меркам, очень малой емкости — какие там гигабайты! А притом, должен сказать, один журнальный разворот с большой картинкой-постером занимает в TIFF’е 30—50 Мб. Двадцать-тридцать таких файлов — и гигабайта как небывало. На всяких там стримерах текущие заказы хранить не выйдет, это ведь не архивы, тут нужен быстрый доступ. Вот так вопрос и назрел.

Тут любопытно заметить, что формат JPEG изначально создавался для полиграфистов, но именно они теперь его особенно не любят и стараются не использовать.

Итак, кризис в полиграфии не остался незамеченным такой влиятельной международной организацией как ISO (International Organization for Standartization) — в ее-то недрах и сообразили, как решить, наконец, эту проблему. Вторым идейным вдохновителем создания нового революционного формата считается International Telecommunication Union Standardization Sector (ITU). Этими организациями и были сформулированы общие принципы разработки нового формата. Поручили ее Первому Объединенному Техническому Комитету (JTC1), который в свою очередь создал в составе своего подкомитета №29 Первую Рабочую Группу, которая и стала называться JPEG (Объединенная экспертная группа по полиграфии), но это только красивое название для масс, на самом же деле ее название — JTC1/SC29/WG1.

Основное задание группы экспертов было таким: принципиально сократить размеры файлов, содержащих полутоновые (фотографические) изображения. Принципиально — это не менее чем в 10—15 раз, без заметной потери качества. Формат должен быть кроссплатформенным, иметь регулируемую степень сжатия. Здесь нужно напомнить, что все предыдущие алгоритмы сжатия уплотняли полутоновые изображения не более чем в 3—4 раза, и то при определенных условиях.

Было абсолютно ясно, что поставленных задач тривиальными методами не решить, и нужно чем-то жертвовать. Но чем? И решили в первую очередь пожертвовать цветом. Именно с цветом создатели формата расправились самым бесцеремонным образом.

Интересно, что к 1987 году группой JPEG была предложена дюжина вариантов кодирования изображений, из которых выбрали три, наиболее удовлетворяющих поставленным требованиям. После дальнейших исследований остановились на формате, дающем наибольшее сжатие при одинаковых потерях качества. К 1990 году работа над новым форматом была окончена.

JPEG как наследник цветного телевидения

Как ни странно, но JPEG — это скорее сын цветного телевидения, чем компьютерных технологий. В начале 60-х годов велись самые интенсивные исследования, готовящие переход от черно-белого телевидения к цветному. Тогдашние титаны электронной индустрии RCA, Philco, Hazeltine Electrical Corporation приложили все усилия к тому, чтобы сохранить совместимость черно-белых телевизоров с новыми стандартами цветного телевидения. Нужно было, не меняя вид передаваемого черно-белого телевизионного сигнала, добавить к нему как можно более сжатую информацию о цвете. Было решено передавать цвет в гораздо более грубой, нечеткой форме и сократить ее в четыре раза по сравнению с черно-белой картинкой. Идея состояла в том, чтобы четкое черно-белое изображение подкрашивать так, чтобы не очень вдаваться в мелкие цветные детали. Этот подход стал краеугольным камнем и при создании JPEG.

О физиологии зрения

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

Кодирование

После того как вы создали какое-нибудь замечательное произведение в Photoshop’е, или отсканировали фотографию, или нажали на спуск цифрового фотоаппарата, вы получите данные о каждой точке изображения в виде информации о количестве каждого из трех основных цветов — красного (R), зеленого (G) и синего (B). Это так называемая цветовая модель RGB. Но она мало пригодна для последующего сжатия, так как вся информация в каждом из цветовых каналов равноценна. А вот при записи изображения в JPEG первое, что происходит, это переход в другую цветовую модель — Lab, еще ее называют YСbCr. Эта модель содержит принципиально разные каналы. Первый, L-канал — это черно-белая полутоновая картинка, два других — информация о цвете. Информация в первом канале L важнее для восприятия, чем информация в каналах a и b. На Рис. 1, 1а мы видим изначальную фотографию. На Рис 2, 2а в режиме Lab удалено по 80% информации из каналов a и b. На Рис. 3, 3а удалено 80% информации из одного канала (зеленого). Видно, что в первом случае ( Рис. 2) картинка сохранила четкость, так как канал яркости не был затронут, но цвета сильно обобщены, немного потеряна сочность, что хорошо заметено на увеличенном фрагменте ( Рис. 2а). При этом изображение осталось приемлемым. Во втором случае ( Рис. 3, 3а) снижение четкости зеленого канала в режиме RGB привело к получению абсолютно неприемлемого изображения как по резкости, так и по цветопередаче.

Первый этап при кодировании в JPEG — это отделение черно-белой (яркостной) информации от цветовой. Дальнейшие преобразования цветной и черно-белой информации будут совпадать, с той лишь разницей, что цвет будет обобщаться гораздо сильнее.

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

Интересно, что каждый такой массив 88 пикселей обрабатывается не построчно, как в большинстве других форматов, а зигзагом, по диагонали, начиная от верхнего левого угла и заканчивая нижним правым ( Рис. 4). Сделано это в основном для того, чтобы уравнять качество передачи вертикальных и горизонтальных линий.

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

Рис. 1, 2, 3.     Рис. 1а, 2а, 3а.

Рис. 4.     Рис. 5.

Все эти сложности с коэффициентами мотивированы тем, что с точки зрения математики их можно описать более короткими «словами», чем истинные значения яркости и цвета. Под короткими словами тут нужно понимать что-то вроде 01, а под длинными — 111001110010110. Сокращая длину таких «слов», мы сокращаем, в свою очередь, и размер файла. А это и есть наша основная задача.

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

Интересно заметить, что истинными, прямыми потомками первоначального изображения при кодировании в JPEG остается меньше 2% пикселей ( Рис. 5), от них потом и ведутся все построения при заполнении ячеек 88. Все же остальные пиксели — это приблизительные вариации на тему главного пикселя, написанные по воспоминаниям соседей. Процесс подмены истинных значений яркости или цвета пикселей на коэффициенты называют дискретно-косинусным кодированием.

Закручиваем гайки

А вот теперь настала пора принять по-настоящему крутые меры по сокращению данных в нашем изображении. Дело в том, что все наши предыдущие действия подготовили для этого самую благодатную почву. Настала пора избавиться от солидной части информации, но так, чтобы это не было сильно заметно для глаза. Для этого рассмотрим полученные нами группы коэффициентов. Они достаточно точно описывают изменения изображения. Мы же можем многие из сходных коэффициентов округлить до одинаковых значений. Округлить можно слабо — например, 7;6;9;7 заменить на 7;7;7;7, а можно и сильно — например, 4;60;12;40;12 заменить на 25;25;25;25;25. Именно округлением коэффициентов вы руководите, когда указываете в Фотошопе степень качества при сохранении в JPEG. Специалисты называют этот этап квантованием. Нетрудно заметить, что такие округления приводят к потере четкости и размазыванию изображения. Поэтому эксперты разработали специальные правила округления для различных степеней сжатия. Их основной смысл в том, чтобы округлять информацию в каналах цвета гораздо сильнее, чем в канале яркости. Как это происходит, видно на Рис. 6—9. Исходное изображение было сохранено Фотошопом с установкой «хорошее качество». При этом четкость в канале яркости практически не изменилась, а вот цветовые каналы сильно упростились, мелкие детали проигнорировались. Стали заметны границы пиксельных групп, но благодаря особенностям нашего зрения эти дефекты остались незаметными на итоговом изображении.

Правила округления коэффициентов называют матрицами округления или матрицами квантования. Замечу, что округление проводится для уменьшения количества разных «слов», описывающих пиксельные группы.

Рис. 6, 7, 8, 9.

Курс на финиш

На последнем этапе JPEG-кодирования все полученные коэффициенты обрабатываются таким образом, чтобы определить, какие значения повторяются чаще всего, а какие реже. На основе этого статистического исследования наиболее часто повторяемому коэффициенту присваивается самое короткое «имя», самому же редко встречаемому достанется самое длинное описание. После чего наши данные будут состоять из максимума коротких «слов» и минимума длинных. Теперь осталось пойти на последнюю хитрость: очевидно, что нет смысла двадцать раз повторять одно и тоже слово, достаточно просто указать, сколько раз его нужно будет повторить. Это так называемое кодирование энтропии или кодирование по методу Хофмана.

Очевидные и менее очевидные выводы

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

Если вы используете JPEG, то первое, чего вы от него ждете, это хорошего сжатия. Тут главное усвоить, что оно зависит от характера изображения гораздо больше, чем от выбираемой вами силы компрессии. JPEG’у небезразлично, что вы рисуете или снимаете, и если у вас на фото какой-нибудь морской пейзаж, то сжатие в 20—30 раз ему мало повредит, а если это, скажем, портрет на фоне исторической каменной стены с тьмой швов и трещин, то результат будет раз в пять «тяжелее», и это при одинаковых показателях качества. При определенном опыте сжимаемость сюжета можно определять на глаз. Очевидно, что более мягкие фотографии с нерезкими переходами сжимаются гораздо лучше, чем идеально резкие. Не следует также ожидать хорошего сжатия после применения фильтров, наводящих резкость, таких как unsharp mask и sharpen, так как они затрудняют квантование. А вот применение эффектов, удаляющих муар, следы от пыли и царапин весьма способствуют сжатию. Удивительно, но обычное кадрирование может быть губительным для качества картинки, так как оно смещает границы пиксельных групп, а главные пиксели теряют свое первоначальное место. В результате происходит полный пересчет изображения с нарастанием потерь качества. Но самое опасное занятие — это редактирование JPEG поочередно в двух разных программах. Дело в том, что каждая программа применяет разные матрицы квантования, всякий раз по-своему округляя уже округленные коэффициенты. Результат может быть самым непредсказуемым — от сильнейшей потери резкости до появления муара и разнообразных полос.

Казалось, хорошо было бы перед редактированием перевести JPEG в TIFF или PSD, а после обработки опять конвертировать рисунок в JPEG. На самом деле это не так. Если вы не меняете все изображение, а редактируете только фрагменты, например, ретушируете или что-нибудь дорисовываете, то временно перебрасывать его в другой формат не нужно. Если же картинка меняется полностью, например, вы корректируете уровни черного и белого, гамму, или изменяете размер изображения путем интерполяции, то переброска в другой формат вполне оправдана, так как не остается ни одного фрагмента, который не нужно было бы заново перекодировать.

После съемки цифровым фотоаппаратом очень часто требуется подстройка уровней и коррекция цвета. Во-первых, это нужно делать за один раз, чтобы накопление искажений было минимальным, во-вторых, это нужно делать в редакторе, который не спрашивает при сохранении о степени сжатия, а понимает, каким оно было изначально. И еще: после сканирования изображений с журналов, каталогов и книг обязательно применяйте фильтр Despeckle — в противном случае вы не будете довольны ни качеством картинки, ни результатом кодирования, ни степенью сжатия.

Перспективы развития

Некоторые недостатки формата JPEG побудили экспертов продолжить исследования, после чего был предложен формат JPEG2000, основанный на других принципах — например, вместо дискретно-косинусного кодирования применяется Wavelet-преобразование. Но из-за различных патентных ограничений он может и не найти широкой поддержки у создателей графических программ.

Источник: http://www.mycomp.com.ua


ГРИГОРИЙ РУДНИЦКИЙРАЗНОСОФТ
IrfanView
Миниатюра IrfanViewРазработчик: Irfan Skiljan
Ссылка на дистрибутив
Размер дистрибутива: 1 Мбайт
Лицезия: freeware
Смотреть скриншот

IrfanView - одна из тех немногих программ, которые остаются на винчестере годами, и без которых многие пользователи не мыслят своей работы на компьютере. Лично я впервые познакомился с IrfanView в 2000 году, и с тех пор постоянно использую ее при работе с изображениями. За несколько лет эта программа не выросла до монструозных размеров, подобно ACDSee, и не обросла большим количеством бесполезных возможностей. В IrfanView есть все необходимое. Это работа по цветовой коррекции изображений, уменьшению и увеличению яркости, контраста, цветовой гаммы, размеров и вообще, изменению всего, что только можно себе представить. Разумеется, это не графический редактор, так что рисовать в этой программе вы не сможете. Тем не менее, все остальное к вашим услугам. Программа  IrfanView умеет получать изображения со сканера, сохранять файлы во все мыслимые и немыслимые растровые форматы, а также в наиболее распространенные векторные.

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

FreshView

Миниатюра FreshViewРазработчик: Freshdevices Corp.
Ссылка на дистрибутив
Размер дистрибутива: 3 Мбайт
Лицензия: freeware (требуется бесплатная регистрация)
Смотреть скриншот


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

XnView

Миниатюра XnViewРазработчик: Pierre-e Gougelet
Ссылка на дистрибутив
Размер дистрибутива: 3,2 Мбайт
Лицензия: freeware
Смотреть скриншот

Программа XnView по своему солидному возрасту вполне может сравниться с IrfanView. Кроме того, она существует в версиях для всех современных и даже устаревших (включая Windows 3.x) операционных систем.

XnView, по количеству поддерживаемых форматов, пожалуй, самая универсальная программа. Список открываемых ею файловых расширений даже больше, чем у IrfanView со всеми имеющимися плагинами. XnView также позволяет оптимизировать JPG-файлы без потери качества, извлекать кадры из видеороликов, снимать скриншоты, причем не только с экрана или активного окна, но и с любого из открытых в данный момент окон. По совместительству XnView может служить и граббером иконок. Достаточно просто перетащить мышкой ярлык программы или ее исполняемый файл в окно просмотрщика, и сразу же можно будет увидеть все иконки, имеющиеся в составе того или иного приложения. Разумеется, и более типичные операции с картинками, такие как получение изображений со сканера, создание слайд-шоу, пакетное преобразование и многое другое, XnView совершать тоже умеет.

Источник: http://www.computerra.ru

SOFT-NEWS
Microsoft представила исходный код еще одного инструмента

Корпорация Microsoft опубликовала на сайте SourceForge ( http://sourceforge.net/
projects/wtl
) библиотеку Windows Template Library, набор фрагментов кода, облегчающих разработчикам создание графических интерфейсов для программ, ориентированных на работу в среде Windows.

Таким образом, это стало уже вторым шагом Microsoft навстречу сообществу open source по публикации исходных кодов на основе лицензии Common Public License. В апреле корпорация уже обнародовала код своего ПО Windows Installer XML (WiX) — набора инструментов для создания инсталляционных пакетов для Windows-приложений.

Разработчикам сейчас представляется возможность не только использовать шаблоны, но и модифицировать их. Позволив другим модифицировать код, Microsoft получит выгоду от интенсификации разработки ПО для Windows, а программисты — от усовершенствованных инструментов.

Источник:
http://www.nestor.minsk.by/kg/
CLRAV 10.1.2.1 -нейтрализуй червя

«Лаборатория Касперского» выпустила бесплатную утилиту для нейтрализации сетевого червя Sasser. Данная программа обнаруживает активную копию червя в памяти компьютера, обезвреживает ее. удаляет зараженные файлы с жесткого и сетевых дисков, а также восстанавливает системный реестр Windows, удаляя из него ссылку на Sasser.

Таким образом, утилита полностью восстанавливает компьютер и удаляет все следы заражения червем. Кроме червя Sasser, CLRA V справляется с вирусами Sircam, Klez, Lovesan, Sobig, Sober, Mydoom, NetSky, I-Worm.Bagle и т.д. Скачать(freeware, Windows All): ftp://ftp.kaspersky.com/utils/
clrav/clrav.zip
.

Источник:
http://kaspersky.ru
LIEBERMANN понимает толк в системах

Американская компания Liebermann вряд ли нуждается в представлениях - ее компьютеры являются тайной мечтой большинства пользователей. До недавнего времени на все машины производства Liebermann устанавливалась система Windows XP, правда специально переработанная под эти мощнейшие машины. Однако, руководство компании посчитало, что их железо способно показать еще лучшие результаты, если операционную систему для него писать самостоятельно. Эта система, альфа-версия которой уже готова, будет называться L OS и основываться на программном коде системы Linux.

Источник:
http://www.go-l.com
Возврат к истокам

Повсеместное перемещение анптспамерских фильтров на серверы провайдеров привело к тому, что нужда в чрезмерно функциональных почтовых клиентах начинает потихоньку отпадать. Авторы программы ZeRAT это поняли и быстро соорудили новую версию своей софтины под номером v0.84f. ZeRAT- это очень маленький и довольно быстрый консольный почтовик, работающий в системе Windows. Он умеет отправлять почту по протоколу SMTP и принимать ее по протоколу РОРЗ. В программе также реализованы основные функции новостного клиента, что позволяет ей загружать/отправлять сообщения в конференции Usenet.

Программа может доставлять почту напрямую в ящик пользователя, минуя почтовый сервер провайдера, поддерживает SOCKS PROXY и работает в диалоговом режиме. ZeRAT поддерживает все основные кодировки и понимает переменные в теле письма и строке темы. Наконец, программа не требует инсталляции и ничего не пишет в реестр. Для любителей интерфейсов существует графическая оболочка под названием GUh. Её новая версия под номером L04 также появилась на сайте разработчика. В новой версии реализованы функции внешнего просмотра сообщений в формате HTML и прикрепленных файлов.

Скачать ZeRAT v0.84f можно по адресу iwnfist.at.tut.by/zerat.zip, a GUIz v1.04 забирайте здесь: ironfist.at.tut.by/guiz.exe.

Источник:
ironfist.at.tut.by
Светлая полоса

Компания Lindows.com может праздновать победу, которая наконец выпала на ее долю после многочисленных разочарований. Окружной суд, рассматривающий аппеляцию компании Microsoft no поводу термина "Windows" признал, что до 1985 года это слово повсеместно употреблялось и имело значение "окна". Более того, суд не согласился с тем, что появление популярной операционной системы лишило это слово его первоначального смысла - несмотря на ошеломляющий успех продукции Microsoft, подавляющее большинство людей всё же считают, что Windows - это именно окна, а не операционная система. Стало быть, все претензии софтверного гиганта на эксклюзивное толкование этого слова являются совершенно безосновательными.

Так что дело вернулось обратно в Сиэтл. В связи с этим глава Lindows.com Майкл Робертсон (Michael Robertson) заявил, что готов представить суду "целую кипу документов, включая внутреннию документацию самой Microsoft, которая свидетельствует о том, что спорный термин употреблялся и до сих пор употребляется в своем традиционном значении". Более того, даже ряд сотрудников самой Microsoft, говоря "Windows", имеет в виду именно "окна", а не то, что называет этим словом Билл Гейтс.

Источник
http://www.eweek.com

Рассылка: Необъятный Мир Софта. Его обзор.    Выпуск №1.
Ведущий рассылки: Виноградник Антон

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу


В избранное