ТЕХНОЛОГИИ: Препроцессинг 2
Автор: Владимир Гуриев
Поскольку первую и вторую часть "Препроцессинга" разделяет дистанция в несколько номеров, я позволю себе
коротко напомнить, о чем, собственно, шла речь. В отчете с IDF Fall 2008 я решил сосредоточиться не на тех продуктах,
которые Intel готовит к выходу сегодня-завтра, а на перспективных направлениях, перспективность которых иногда
неочевидна и самой компании. Некоторые из этих разработок призваны ответить на реально существующие нужды потребителей,
тогда как задача других - создать такие новые потребности, удовлетворение которых принесет ИТ-индустрии
миллиарды.
Нужно быть совсем уж незамутненным человеком, чтобы верить в сговор между Intel и Microsoft.
Если до выхода Microsoft Office 2007 вам хватало собственноручно собранного на базе 286-го процессора системного блока,
это еще не значит, что весь остальной мир чувствовал то же самое. И никто специально не программирует приложения так,
чтобы с каждой новой версией они максимально загружали процессор и требовали все больше оперативной памяти. Это
происходит лишь потому, что оптимизировать приложение зачастую выходит дольше и дороже, чем убедить потребителя купить
новую железку. Тем не менее Intel, как, впрочем, и другим производителям железа, от программистской лени и
потребительской щедрости получалась одна сплошная радость. Пользователи требовали все больше и больше и были готовы за
это "больше" не только платить, но и переплачивать. Однако пользовательская фантазия довольно-таки ограничена, и недалек
тот час, когда предлагаемые вычислительные мощности превзойдут любые потребительские ожидания. Собственно, мы с вами уже
можем наблюдать довольно отчетливые признаки надвигающегося кризиса: чуть ли не каждый ноутбук сегодня более чем
подходит для офисной работы на любой операционной системе (включая Висту), а грань между домашними десктопами
(подразумевающими быстрое и недорогое увеличение мощности) и куда менее гибкими в плане конфигурирования ноутбуками
неумолимо стирается. Пользовательские предпочтения стабилизируются, и производителям уже приходится объяснять, зачем
нужно переходить на новую версию программы - а убеждаются-то далеко не все. И дело не в том, что старые программисты
были богатыри, не мы, а нынешние хоть и сохранили горделивую осанку, но мускулатурой могут похвастать только в узком
программистском кругу, независимого наблюдателя она не убеждает. Дело в том, что базовые нужды пользователей давно
удовлетворены. А от добра добра не ищут, да и вообще, зачем платить больше?
Решением этой - вполне инженерной,
кстати, задачи - и занимается Intel. И мне кажется, что изобретение новых потребностей (как и, в меньшей степени,
расширение уже существующих) - в целом задача более интересная, чем вывод на рынок нового процессора или
зубодробительные подробности какой-нибудь новой технологии. Особенно в случае с Intel, потому что компания таких
масштабов (в отличие от множества гениальных, но бедных стартапов) действительно может попытаться научить пользователей
своим представлениям о прекрасном. Это очень долгий, дорогой и неприятный для всех участников процесс, но если
представить всех участников ИТ-рынка в виде составляющих единой экосистемы, то Intel, Microsoft, Google и, может, еще
десяток-другой компаний стараются не идти на поводу у потребителей, а, наоборот, вести их за собой. Подход, кстати,
вполне человеческий: наши предки давно поняли, что разводить домашний скот в загоне куда эффективнее, чем сидеть с утра
у водопоя или выслеживать стадо в надежде отбить теленка. На ИТ-рынке такая стратегия срабатывает не всегда: можно
вспомнить множество технологий, которые, несмотря на все усилия заинтересованных компаний, в народ не пошли. Поэтому
Intel для поиска инновационных идей использует тактику, описанную когда-то Робертом Броуном, а затем Норбертом Винером:
проектов у Intel много, проекты разные по качеству, проекты, как правило, независимы друг от друга и не очень-то дороги.
Intel может позволить себе разбрасываться. И, самое главное, ждать.
Беспокойное
детство
Концепция Connected Visual Computing исчерпывающе описывается названием. Visual Computing - это
все, что связано с обработкой и созданием изображений и видео (включая привычное 3D, реалистичную мимику аватаров,
видеопоиск, компьютерное "зрение" и т. д.), а Connected - это новые пользовательские модели работы с информацией,
включая навязший на зубах Веб 2.0 и виртуальные миры а-ля SecondLife. Другими словами, CVC - это когда Википедия
встречает HalfLife, причем работает этот странный гибрид в любом месте и в любое время, потому что доступ к Сети есть
везде. А одно из важнейших свойств CVC - максимальная привязка к окружающей нас реальности. Когда в поле зрения камеры
мобильного телефона попадает муравей, а на экране появляется субтитр, поясняющий, что это не просто какой-то там
муравей, а Camponotus herculeanus, - это CVC. Когда вы, прогуливаясь по незнакомому городу, слушаете в наушниках
комментарии гида, причем этот автоматический гид отслеживает ваши передвижения с помощью GPS и каждый раз рассказывает
вам о том, на что вы смотрите, - это тоже CVC ("вижуала" тут, правда, не очень много). Когда в ресторане вам принесли
меню на китайском, а вы, не желая прослыть профаном, рассматриваете его через камеру мобильника, которая автоматически
переводит непонятные иероглифы на русский, - это опять CVC.
К сожалению, многие из придуманных мною
применений пока из области фантастики. Мы пока толком не умеем искать ни видео, ни простые изображения, плохо управляем
знаниями, плохо чувствуем контекст и значительную часть своей жизни находимся офлайн. Банальный, казалось бы, пример про
муравья подразумевает сложнейшую техническую реализацию. По-хорошему, телефон должен увидеть муравья и предположить, что
пользователю интересен именно муравей, а не, скажем, маленькая веточка такого же размера (с распознаванием у нас пока
тоскливо, но что-то умеем - номера на машинах, например, различать). Затем телефон должен отослать предварительное
изображение на поисковый сервер (технических препятствий почти нет), который сравнит изображение муравья с имеющимися в
базе (а мы, повторюсь, пока не знаем, что это именно муравей - для нас это просто интересный живой объект), поймет, что
это муравей, и не просто муравей, а Camponotus herculeanus (не умеем), и выдаст в ответ не набор бессмысленных ссылок, а
точную краткую характеристику объекта (умеем, но плохо). Или, к примеру, историческое здание на экране мобильника,
увешанное комментариями и пояснениями, как популярная фотография на Flickr, - чтобы точно определить, что это за здание,
нужно уметь работать с контекстом (вряд ли оптика мобильника способна уместить все здание целиком; анализировать, скорее
всего, придется произвольный кусок стены), уметь искать по изображениям и видео и, конечно, уметь выводить всю эту
информацию на экран так, чтобы от здания тоже что-нибудь осталось (умеем, но плохо). Самое главное, что мы не умеем
постоянно быть в Сети, хотя на этом фронте перспективы вполне радужные - не сегодня, так завтра, не три "же", так
четыре. Что касается остальных наших неумений, то в Intel полагают, что работоспособный видеопоиск появится в 2010 году,
технология "живых субтитров" - не ранее 2012 года, а технология 2D/3D-оверлеев, когда, скажем, перевод вывески
появляется не рядом с ней, а замещает собой часть оригинального изображения, - не ранее 2014 года[Про работу с
контекстом см. "Препроцессинг 1" ("КТ" #751).].