PERICOLOR-1000: как был устроен советский «Фотошоп»?
Отредактировать фотографию, убрать случайные дефекты, отрегулировать яркость и контрастность, повысить чёткость изображения и добавить утраченные фрагменты — что может быть проще? Если под рукой, конечно, имеется верный «Фотошоп»! Однако этот самый «Фотошоп» придумали в 1990 году, а вот фотографию изобрели чуть раньше: Нисефор Ньепс создал свою легендарную работу — «Вид из окна в Ле Гра» — в 1826-м. Но ведь как-то же решали эту задачу наши отцы, скажем, в 70-х и 80-х годах?
На «Хабре» уже публиковался короткий двухминутный фильм о советском «Фотошопе», с помощью которого музейные и научные работники ретушировали и восстанавливали редкие архивные снимки. Хабровчане опознали в нём аппаратно-программный комплекс PERICOLOR-1000 производства французской компании Numelec, но о самом этом наборе устройств известно очень мало — практически ничего. Сохранилась лишь обрывочная документация советского периода, представляющая собой не слишком качественный перевод с французского, в котором, ко всему прочему, используется совершенно непривычная современному айтишнику терминология. Мне стало жутко интересно выяснить как можно больше подробностей об этой удивительной системе, и я принялся целенаправленно искать информацию о ней. Результатами своих поисков я хочу поделиться с вами.
Научные и производственные предприятия в СССР сотрудничали не только с организациями из стран СЭВ и Варшавского договора, но и с некоторыми коммерческими фирмами из капиталистических государств, правда, такие взаимоотношения строились обычно на уровне министерств. В качестве яркого, но избитого примера подобной «дружбы народов» можно назвать кооперацию с итальянским концерном FIAT, результатом которой стало рождение завода «ВАЗ». В сфере компьютерных технологий и электроники наиболее эффективно цепочки поставок строились как раз с социалистическими странами, промышленность которых успешно закрывала те потребности народного хозяйства СССР, на которые не хватало ресурсов отечественного производства. Без крайней необходимости иностранное «железо» из капиталистических государств в Союзе старались не покупать, поскольку на это приходилось тратить драгоценную и дефицитную валюту. Да и метод приобретения высокотехнологичного оборудования через фирмы-прокладки в третьих странах сильно повышал затраты: слово «санкции» было хорошо известно нашим соотечественникам ещё в те времена. Брали в основном только то, без чего никак нельзя обойтись и что не удавалось скопировать. Тем необычнее с современной точки зрения выглядит наличие в советской фотолаборатории довольно продвинутого по тем временам оборудования французского производства. Но только на первый взгляд — если не учитывать все возможности его практического применения.
Французская фирма Numelec-SEIN известна не столько системами обработки и коррекции фотографий, сколько производством медицинского и диагностического оборудования. Тем не менее ещё в начале 80-х компания поставляла на рынок комплексы цифровой обработки изображений, включающие сканирующее устройство, цветной дисплей, модуль обмена данными с компьютером, поддерживающий скорость до 300 000 бит в секунду, клавиатуру и дисковод для записи результатов обработки изображения на магнитный диск. Весь комплекс (без учёта сканера) внешне напоминал игровой автомат «Морской бой», который в широком ассортименте можно было отыскать в вестибюлях советских кинотеатров.
Безусловно, решение от Numelec было далеко не единственным в мире: похожие по своим возможностям и назначению устройства выпускали в те времена американские компании PS (System 100 и 500), ISI (система Earthview) и Optronics, канадская фирма Dipix (комплекс ARIES) и британцы из Joyce Loebl (система Scandig-3). Однако именно продукция Numelec почему-то заинтересовала советских чиновников больше других, и в результате этого интереса PERICOLOR-1000 украсил собой фотолабораторию отечественных НИИ.
Один из основных компонентов аппаратного комплекса PERICOLOR-1000 — уникальное по своей конструкции барабанное сканирующее устройство (в оригинальной документации — «автоматический построчный оптический анализатор изображений»). В качестве основного оптического элемента сканер использовал миниатюрную телевизионную камеру с автофокусировкой. Исходное изображение с помощью специальных зажимов закреплялось на вращающемся барабане, а камера, перемещающаяся вдоль оси барабана по направляющей, сканировала картинку построчно. Сигнал с камеры передавался на аналогово-цифровой преобразователь, который определял яркость и контрастность каждого фрагмента-пиксела в строке, его относительные координаты и размеры, кодировал их в виде последовательности байт. В документации этот процесс почему-то назывался «векторизацией», а отвечала за него подсистема топологического анализа и распознавания графики SYSTEX Intergraph. SYSTEX транслировала полученный массив данных дальше на компьютер, или, как говорили в те времена, на ЭВМ, где он записывался на магнитную ленту либо ферромагнитный диск в виде массива данных.
Разрешение такого сканера составляло 1000 линий на дюйм, а максимальный размер чёрно-белого изображения, которое с его помощью можно было оцифровать — 30×30 см. Скорость работы сканера составляла порядка 30 000 измерений в секунду, в то время как американские аналоги, например, устройства фирмы Optronics могли обрабатывать изображения со скоростью 50–100 тыс. измерений в секунду. Для коррекции ошибок в процессе сканирования применялось дискретное преобразование Фурье — этот метод позволял улучшить качество цифровой картинки несмотря на погрешности оптической системы сканера, главной проблемой которого был так называемый «дрейф источника», то есть самопроизвольное смещение и искажение исходной фотографии из-за центробежных сил, возникающих при вращении барабана.
При сканировании цветных изображений анализ картинки выполнялся по 3 основным цветам: красный, синий, зелёный — через фильтры, цвет каждого пиксела определялся путём анализа длины световой волны по нескольким каналам. Но цветной барабанный сканер стоил очень дорого, поэтому в некоторых реализациях подобных комплексов применялся компромиссный вариант: картинка оцифровывалась в чёрно-белом варианте, а потом оператор при необходимости «раскрашивал» изображение вручную, используя цвета из готового набора-палитры. ЭВМ «помогала» ему, автоматически «подкрашивая» остальные участки в заданной области, где пикселы имеют ту же яркость, контрастность и интенсивность.
Последующая обработка цифрового изображения выполнялась на ЭВМ с использованием созданного Numelec программного обеспечения. В фильме, ссылка на который приведена в начале этой статьи, в качестве вычислительной машины используется Apple III, при этом у комплекса имелся дополнительный собственный цветной дисплей большей диагонали, собранный на основе «бытового телеприёмника цветного изображения», а попросту — телевизора.
Отсканированная и обрабатываемая картинка в PERICOLOR-1000 записывалось на диск (магнитная плёнка в основном использовалась для долговременного хранения файлов и записи окончательного результата — как указано в документации, «в целях архивирования»). В целом софт для ретуши изображений от Numelec по своим функциональным возможностям напоминал пресловутый Photoshop. Изображение можно было приблизить или уменьшить, а процесс редактирования осуществлялся попиксельно. С помощью трекбола, заменявшего в этой системе мышь, оператор мог пометить на экране дефекты картинки и участки, требующие ретуши, а затем «дорисовать» недостающие фрагменты. Из-за ограниченного объёма оперативной памяти компьютера одновременно можно было редактировать только небольшой участок картинки размером 256×256 точек, а чтобы перейти к следующему участку фотографии, текущий следовало сохранить на диске. Программа также позволяла в полуавтоматическом режиме отрегулировать яркость, чёткость и контрастность изображения — картинка в формате »256 оттенков серого» анализировалась, а затем каждый пиксел сравнивался с соседними по 15 программируемым пороговым значениям с учётом цветовой гаммы в 16 оттенков. Если отклонение оптической плотности между двумя соседними пикселами на однотонном участке изображения превышало 0,02, оттенок такой точки соответствующим образом корректировался, чтобы усилить и подчеркнуть контрасты. Именно так на видео был восстановлен снимок Надежды Константиновны Крупской и полярника Отто Шмидта. Примечательно, что на советском экземпляре PERICOLOR программное обеспечение было русифицировано, о чём свидетельствует, в частности, не слишком благозвучная экранная подсказка «Z: Лупа» вместо оригинального «Z: Zoom».
С «Фотошопом» PERICOLOR-1000 роднит ещё и то, что в его программном обеспечении был предусмотрен специальный макроязык, позволявший писать простые скрипты для автоматизации рутинных операций. Согласитесь, это довольно продвинутая технология для середины 80-х годов: вместо того, чтобы нудно обрабатывать однотипные дефектные участки картинок, оператор мог «запомнить» последовательность операций, записать их в программу и запускать её по мере необходимости.
Любопытно, но комплекс PERICOLOR вообще мог обойтись и без дополнительной ЭВМ в виде Apple III, поскольку в его составе уже имелся встроенный «микрокомпьютер» французского производства под названием MICRAL с собственным процессором и памятью. С его помощью можно было выполнять ряд несложных операций по обработке графики: управлять параметрами просмотра, выводить на дисплей денситометрические профили, размечать точки на изображении, строить гистограммы. Также MICRAL обеспечивал функции ввода данных со сканера и вывода его на экран, управлял передачей информации между различными периферийными устройствами — внешней ЭВМ, накопителем на магнитной ленте и фотопринтером. Внешний компьютер применялся в основном для запуска приложений, требующих больших объёмов оперативной памяти и более мощного процессора.
Работа с PERICOLOR-1000 начиналась с загрузки микропрограмм и калибровки комплекса: сканирующего устройства и видеоподсистемы. Затем на диск ЭВМ переносилось с магнитной ленты обрабатываемое изображение. Оператор должен был загрузить в оперативную память небольшой фрагмент картинки размером 250×250 точек и определить «рельеф дефектов», размечая их непосредственно на экране при помощи трекбола и клавиатуры. Компьютер подсчитывал количество точек в редактируемом изображении, определял их параметры. С помощью соответствующего инструментария дефекты корректировались, после чего отредактированный фрагмент сохранялся на диск, а в оперативную память загружался следующий. Конечный результат работы копировался с диска обратно на магнитную ленту. При необходимости к PERICOLOR-1000 можно было подключить и другое вспомогательное периферийное оборудование, например, фотопечатающее устройство.
Для переноса (или, как написано в документации, «для восстановления») обработанного с помощью PERICOLOR-1000 изображения обратно на фотобумагу использовались разные технологии. В середине восьмидесятых уже существовали принтеры, работающие на принципе струйной печати, такие как PRINTACOLOR, а также фотопечатные машины от KODAK и POLAROID. Уже изобрели и лазерные принтеры. Существовала технология переноса негативного изображения на прозрачную целлулоидную плёнку, с которой впоследствии можно было печатать фотографии с применением обычного фотопроцесса — путём экспонирования. Фактически тем же самым способом выводились плёнки при создании печатных форм для обычных типографских офсетных машин — ничего принципиально нового. В общем, с полиграфией в Союзе серьёзных проблем не испытывали, и технологическая возможность напечатать картинку «с цифры» сама по себе имелась. А вот какой именно способ был задействован в лаборатории, показанной на видео из начала поста, остаётся загадкой: идентифицировать печатную машину мне так и не удалось.
Удивляет другое. Как бы ни пытался убедить нас сладкоголосый диктор из видеоролика в том, что оборудование от Numelec использовалось исключительно для обработки фотографий супруги Владимира Ильича Ленина, PERICOLOR-1000 — это технология двойного назначения. В сканах французских документов, которые мне удалось просмотреть, прямым текстом указано: комплекс PERICOLOR позволяет обрабатывать и повышать качество спутниковых снимков, сделанных в обычном оптическом, инфракрасном и рентгеновском диапазонах. К ним относятся также радарные данные, геохимические или геофизические измерения, полученные с помощью орбитальных аппаратов — для таких типов снимков у ПО Numelec даже имелись особые режимы обработки графики. По большому счёту, именно для этих целей комплекс и создавался: отреставрированное фото Владимира Маяковского — лишь побочный продукт технологии.
Особое значение — писали французы — такие комплексы приобрели после запуска искусственного спутника SPOT с помощью ракеты-носителя ARIANE. Для оптимального использования полученных этим спутником данных создавалась специальная инфраструктура, неотъемлемой частью которой стала система PERICOLOR. Она позволила внести значительный вклад в развитие океанографии и землепользования, оценку и управление природными ресурсами, разведку полезных ископаемых и картографию. Так, по крайней мере, написано в документации.
Однако можно с осторожностью предположить, в обработке каких именно спутниковых снимков были в первую очередь заинтересованы министры и чиновники СССР, тратя иностранную валюту на столь дорогое и сложное импортное оборудование. И вряд ли вопросы экологии и землепользования стояли для них на первом месте. Остаётся лишь догадываться, каких усилий стоило дипломатам и чиновникам убедить «западных партнёров из капиталистических стран» продать им этот комплекс — наверняка здесь кроется какая-то интересная и запутанная история.