Бретт Билбри не был новичком в данной области, однако сейчас ставки резко возросли, да и две недели времени – слишком короткий срок. В девяностые годы он основал и стал главой компании под названием Intelligent Resources. Apple наняла его в 2002 году, предложив управлять отделом по архитектуре мультимедиа. Его позвали, так как он обладал богатым опытом в области обработки изображений: компания Билбри выпустила «первую видеокарту, которая перекинула цифровой мостик от компьютера к вещательной видеоиндустрии», – рассказывает он. Их продукт Video Explorer «был первой компьютерной видеокартой, которая поддерживала HD-видео». Apple наняла его потому, что, как и в любой другой технологической компании, у неё имелись проблемы с видео, и нелепая внешняя камера являла собой лишь вершину айсберга.
«Помните, как было в 2001 и 2002 годах? Видео на ноутбуках тогда представляло собой маленькое окошко с пятнадцатью кадрами в секунду и жуткими искажениями в изображении, артефактами». Артефакты сжатия – это то, что вы видите, когда при медленном интернете пытаетесь посмотреть ролик на YouTube или когда раньше пытались посмотреть DVD на стареньком компьютере с забитым жёстким диском – вот тогда перед вами и появляется то самое ужасное искажение изображения в виде мозаичных блоков. Такое случается, когда система выполняет так называемое сжатие с потерями, которое устраняет избыточность медиаданных до тех пор, пока данные не сожмутся настолько, чтобы уместиться на свободном месте диска (или, если взять пример с YouTube, смогут быть переданы в ограниченной полосе пропускания). Если программа не может восстановить достаточное количество данных для проигрывания исходного видео, качество резко падает, и вы получаете артефакты. «Проблема, с которой мы столкнулись, состояла в том, что ты тратишь половину времени каждого кадра на его декодирование, а затем другую половину – на попытки убрать как можно больше артефактов, чтобы картинка не смотрелась совсем уж паршиво».
Непростая ситуация усугублялась ещё и тем, что потоковая передача видео постепенно становилась одной из главных функций, используемых в компьютере. Если суметь справиться с проблемой, то можно запросто разместить iSight внутри устройства.
«Однажды, когда я принимал душ, на меня снизошло озарение, – рассказывает Билбри. – Если мы не создаём блоки, то нам и не нужно с ними бороться. Теперь это кажется очевидным, но как реконструировать видео, не разбивая на блоки?» По его словам, он решил сделать блок размером во весь экран. Он написал алгоритм, который позволял устройству избежать деблокировки, делая весь кадр готовым к воспроизведению. «Так что мы смогли проигрывать полные видеопотоки на портативном Mac. Один из моих патентов касается именно алгоритма деблокирования». Обладая такими знаниями, он был готов разобраться с проблемой iSight. «Вот что я припас в рукаве: преобразователи изображений с ПЗС-матрицей[24]
– чем и являлась iSight – были куда качественнее, чем небольшие дешёвые КМОП-преобразователи».В цифровых камерах используется два вида датчиков: приборы с зарядовой связью, или ПЗС, и комплементарные металл-оксид-полупроводники, или КМОП. ПЗС представляет собой светочувствительную интегральную схему, которая хранит и отображает данные требуемого изображения таким образом, что каждый пиксель преобразуется в электрический заряд. Интенсивность этого заряда связана с определённым цветом в цветовом спектре. В 2002 году ПЗС выдавали более качественное изображение, но были медлительнее и тратили много энергии. КМОП были дешевле, меньше и позволяли ускорять обработку видеоданных, однако с ними в комплекте шёл целый набор проблем. Но у Билбри был план.
Он решил отсылать видео из камеры в компьютерный графический процессор, где дополнительная поддержка помогла бы справиться с цветовой коррекцией и привести видео в порядок. По сути дела, он мог передать часть работы датчика видеокамеры компьютеру.
Его команда приступила к переработке iSight в устройство для грядущей презентации, до которой оставались считаные дни. «Я разработал кучу видеоалгоритмов для улучшения, очистки и фильтрации, и многие из них понадобились нам при создании прототипа», – рассказывает Билбри. Один из его лучших инженеров занялся изготовлением аппаратного обеспечения для демо-версии. Однако сложнейшей частью работы оказалась вовсе не разработка, а согласование. Построение прототипа означает, что нужно разузнавать, как работают остальные части компьютера, а значит, приходится иметь дело с сотрудниками других отделов.
Никто не хотел так радикально переделывать всю структуру. Мне удалось добиться своего лишь потому, что я рассказал Стиву о сложившейся ситуации прежде, чем кто-либо успел меня остановить.