138 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Первый взгляд на камеру iPhone 11 Pro от разработчиков Halide

Первый взгляд на камеру iPhone 11 Pro от разработчиков Halide

Разработчики лучшей альтернативной камеры для iPhone изучили техническую часть новейшей тройной камеры iPhone 11 Pro и поделились наблюдениями в статье, которую мы и перевели.

В прошлом году, до того, как iPhone XS ворвался на полки магазинов, мы обратили внимание на изменения «железных характеристик» камеры iPhone XS, сравнив их с iPhone X. Мы смогли сделать это благодаря встроенной функции технического отчёта в приложении Halide.

Как и в прошлом году, некоторые отдельные личности поделились с нами техническими данными об iPhone 11 Pro (и iPhone 11).

Несколько слов перед тем, как мы погрузимся в них с головой.

Почему только iPhone 11 Pro?

iPhone 11 и iPhone 11 Pro используют одинаковую систему камер за исключением одного ключевого различия: теле-фото камеры у Pro. Весь модуль камеры, сенсоры и их рабочие характеристики идентичны по всем параметрам, так что нам не нужно сравнивать iPhone 11 c iPhone XS. Хотя по характеристикам камера iPhone 11 выглядит лучше, чем камера iPhone XS.

Это всего лишь характеристики «железа»

Благодаря совокупности «железных» изменений и дополняющей их софтовой обработке, каждый год камеры в вашем iPhone становятся намного мощнее.

Постепенные улучшения «железа» открывают новые возможности, но реальная магия всё чаще происходит в софте. В дальнейшем мы посмотрим на превращение простых RAW-данных с сенсора в действительно хорошие фотографии.

В этом году камера iPhone научилась работать с мультисекундной длинной выдержкой при ночной съёмке, объединяя десятки кадров. Она семантически анализирует отдельные части изображения и обрабатывает их разными способами, чтобы максимизировать детали.

Это камера с машинным обучением. Смотрите, как она снимает ночью.

Заглянем внутрь GPU-чипа от Apple собственной разработки, используемого в iPhone

Для самых первых моделей продуктов Apple, iPhone и iPad, компания лицензировала и использовала для вывода графики чип PowerVR GPU от Imagination Technologies. Apple даже приобрела около 10% компании Imagination и является её крупнейшим клиентом, принося около 30% дохода. И так же, как Apple начинала с использования по лицензии ARM CPU, а теперь пользуется собственными разработками, она, судя по всему, перешла от использования PowerVR к разработке собственного GPU. Впервые он появился в процессоре A8, использующемся в iPhone 6, а его потомки находятся в A9 и A10 Fusion, используемых в iPhone 6S и 7.

Современный GPU, такой, какие находятся внутри iPhone и iPad, обладают тремя основными компонентами, от которых требуется слаженная работа для демонстрации картинки. Первый – железо, обеспечивающее графику с фиксированными функциями, отвечающее за обработку команд API, растеризацию треугольников и растровый вывод. Второй – шейдерное ядро, сердце GPU, выполняющее программные шейдеры (вертексы, геометрия, пиксели и вычисление шейдеров). Последний – программный; графический драйвер, работающий на CPU и объединяющий все функции, управляющий работой GPU. Драйвер преобразовывает графические приложения, написанные на Metal или OpenGL ES API в набор команд для железа с фиксированными функциями и в программируемые шейдеры, работающие в шейдерных ядрах. Один из важнейших компонентов драйвера – компилятор, создающий машинный код для работы на шейдерных ядрах.

В старых поколениях железо с фиксированными функциями, шейдерные ядра и драйвер Apple использовала по лицензии от Imagination Technologies. Но за последние 6-7 лет Apple агрессивно нанимала графических архитекторов и программистов компиляторов и драйверов из таких компаний, как AMD, Intel, Google и Nvidia для разработки собственного GPU. К примеру, Майк Вуэртеле [Mike Wuerthele] из Apple Insider писал, что в этом году порядка 25 человек перешли из Imagination Technologies в Apple. GPU от Apple, судя по всему, до сих пор ииспользует железо с фиксированными функциями от PowerVR. Но на основании различных доказательств, имеющихся в открытом доступе, понятно, что Apple заменила программируемые шейдерные ядра своими собственными, более эффективными и быстрыми. Для получения преимущества от их использования Apple также разработала свои драйвер и компилятор, выдающие код для своей архитектуры. Общим результатом этого стал уникальный собственный дизайн GPU, несмотря на некоторое наследие, оставшееся от PowerVR. Это дизайн мирового класса с впечатляющим быстродействием и энергетической эффективностью. У процессора A9 лучшие результаты по всем измерениям скорости, а A10 Fusion ещё на 40-50% быстрее.

Документация на архитектуру GPU от Apple никогда не попадала в общий доступ. Чтобы разработчики могли использовать преимущества GPU, им надо разобраться в том, как писать шейдерные программы для компиляторов Metal и OpenGL. На конференции WWDC 2016 инженеры Apple презентовали «Передовую оптимизацию шейдеров для Metal», содержащую самые подробные инструкции по подстройке и деталям архитектуры их GPU на сегодняшний день. Архитектура PowerVR Series 6 GPU также страдает отсутствием документации, но Imagination Technologies поделились несколькими простейшими инструкциями по оптимизации. Сравнивая доступную информацию по двум этим чипам, можно заключить, что они очень различаются. В частности, у Apple набор регистров и функции преобразования данных лучше предназначены для быстродействия и эффективного использования энергии, а компилировать их проще.

Читать еще:  Fallout 76: Появятся переносные рюкзаки

Apple улучшает быстродействие и энергетическую эффективность при помощи регистров меньшего размера

API мобильной графики OpenGL ES и Metal API поддерживают 16-битный формат половинной точности с плавающей запятой, используемый для подсчётов и хранения данных изображения, потребляющий меньше энергии, чем 32-битные расчёты одинарной точности. Расчёты с половинной точностью в некоторых случаях быстрее теряют точность, чем расчёты одинарной точности. Но для многих приложений, работающих с графикой, обработкой изображений и машинный обучением, половинной точности достаточно для выдачи правильных результатов – особенно в связи с тем, что у большинства дисплеев динамический диапазон одного пикселя составляет от 8 до 12 бит.

Набор регистров для GPU от Apple состоит из 16-битных регистров, идеально подходящих для полуточных данных, если судить по презентациям, доступным в открытом доступе [1]. Данные одинарной точности с плавающей запятой и другие 32-битные данные требуют двух регистров. В результате, набор регистров может хранить в два раза больше 16-битных переменных, чем 32-битных. Инженеры Apple подчёркивают, что использование полуточных расчётов приводит к серьёзному увеличению быстродействия и экономии энергии по сравнению с одинарной точностью, что говорит о том, что их архитектура сконцентрирована на использовании половинной точности как основной концепции в дизайне.

По контрасту, GPU PowerVR Series 6 и 7 используют 32-битные регистры и разработаны для расчётов одинарной точности, если судить по инструкциям от Imagination Technologies [2]. В Series 6 самые часто используемые инструкции, FMAD, FMUL и FADD, умеют работать с половинной точностью, но просто обнуляя несколько битов исходных и результирующих регистров. Некоторые инструкции могут работать с двумя 16-битными элементами SIMD внутри одного регистра (а Series 7 расширяют эти возможности на большее число инструкций), но исполнение SIMD сильно отличается от скалярного исполнения при помощи 16-битных регистров. Для PowerVR хранение данных в 16-битном формате – трата памяти регистров впустую, при этом максимальное количество хранимых переменных не удваивается автоматически. Поэтому использование 16-битных данных должно уменьшить объёмы проходящих через память данных и потребление энергии, но не обязательно увеличит быстродействие или эффективность энергозатрат, как это получается у GPU от Apple.

Простое преобразование даёт программистам доступ к половинной точности

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

GPU от Apple предлагает очень быстрое преобразование между типами данных, чем поощряет смешивание точности и создаёт больше возможностей для быстродействующих и мало потребляющих 16-битных расчётов. Согласно их презентации, преобразование типов данных «бесплатное» – видимо, где-то на пути данных сидит аппаратный преобразователь. С точки зрения «железа» этот подход дороже, но он, кроме прочего, серьёзно упрощает компилятор и делает работу программистов легче.

PowerVR Series 6 и 7 могут делать преобразования точности данных, но, конечно, не «бесплатно». В инструкции по оптимизации чётко написано, что каждое преобразование данных (с понижением или повышением точности) затратное, и рекомендует программистам писать шейдеры с минимальным количеством преобразований [3].

GPU от Apple: разница в технологиях

Разница между набором регистров и преобразованием данных в GPU от Apple и в GPU от Imagination огромна. Организация набора регистров – это основа ядра шейдера, она влияет на дизайн практически всего, от архитектуры набора инструкций шейдерных ядер до выполнения частей кода и логики диспетчеризации. Как пример, размер регистра определяет путь данных и схему практически всей работы шейдерного ядра. Преобразование данных влияет не так сильно, но разница весьма важна для компилятора и для разработчиков. PowerVR Series 7 GPU довольно похож на предыдущее 6-е поколение, и использует 32-битные регистры. На основе этой разницы можно заключить, что GPU от Apple использует собственные шейдерные ядра, разработанные в компании. А это значит, что Apple разработала и свой собственный компилятор шейдеров для OpenGL ES и Metal API, и, скорее всего, и свой графический драйвер.

Даже некоторые программы, измеряющие быстродействие, видят разницу. В результаты GFXBench как-то попала таблица, где GPU для iPhone 7 описан, как G9.

Читать еще:  В Civilization VI появились разрушительные работы

Но этот результат теста из публичной базы скоро потёрли, и все упоминания о G9 исчезли.

Есть много других отличий Apple GPU и PowerVR, которые можно обнаружить, запуская специальные тесты с шейдерами Metal и сравнивая результаты со схожими шейдерами OpenGL ES на PowerVR GPU. Не все различия будут относиться к железу. К примеру, Apple GPU поддерживает версии OpenGL ES до 3.0, а PowerVR GPU работает и с более поздними. Но такие различия могут проявляться из-за особенностей софта и драйверов.

Стратегические преимущества собственного дизайна

Вертикальная интеграция Apple уникальна для потребительской электроники. В случае iPhone и iPad компания контролирует почти всё – от дизайна базовых контуров процессора до ОС и сервисов для пользователей Maps, iMessage и Camera. Это позволяет играть на совместной работе железа и софта, что недостижимо для их конкурентов.

Общий тренд понятен – на каждом шагу Apple увеличивает контроль над платформой и экосистемой. Изначально Apple использовала стандартные ARM-процессоры, а большую часть работы отдавала на аутсорс Samsung, но в итоге разработала собственные CPU, совместимые с ARMv8, опережающие соперников. Схожим образом компания купила Anobit и использовала команду и технологию для создания собственного контроллера хранилища для флэш-памяти. Разработка собственного CPU – всего лишь следующий шаг по созданию стратегических преимуществ.

Самое очевидное из них – GPU от Apple лучше (быстрее и эффективнее), чем у соперников, включая GPU от ARM или Imagination, а также Qualcomm. Лидерство в быстродействии означает большую удовлетворённость пользователей и меньший разряд батареи как в случае с играми, так и в случае генерации изображений и машинного обучения.

Библиотека Metal Performance Shaders включает десятки хорошо оптимизированных шейдеров, работающих на GPU и предоставляющих богатый набор инструментов разработчикам [4]. Они включают нейросети для классификации, процедуры обработки изображений. Instagram использует GPU для эффекта tonemapping и улучшения контраста фотографий. Возможно даже, что камера apple использует GPU для разных эффектов. Для работы с изображениями и нейросетей половинная тчоность подходит идеально, и архитектура шейдеров Apple показывает лучшие результаты, чем у PowerVR.

Второе преимущество – Apple может создавать новые функции и исправлять ошибки в GPU, не принося этим пользы конкурентам.

Третье – время до выхода на рынок и планирование. Процессоры серии A выходят по агрессивному ежегодному циклу, задаваемому iPhone. Поскольку iPhone – премиальный продукт, Apple должна поразить пользователей быстродействием и показать хороший прогресс для стимуляции спроса. В результате Apple часто становится ведущим клиентом новых технологий (например, 10нм от TSMC), что подразумевает и большой риск. С собственным GPU компания может решить потратить на достижение цели столько времени и энергии, сколько нужно. У Imagination просто меньше денег и сотрудников.

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

Гипотетический пример – если инженеры Apple обнаружат серьёзную ошибку в ядре шейдера, они в тот же день смогут её исправить и проверить. Участие третьей стороны означает, что эта сторона для начала должна сама оценить приоритет ошибки, одобрить изменения или пути обхода, что может занять некоторое время из-за необходимости координации действий с другими клиентами. Exynos 5410 от Samsung – хрестоматийный пример опасности работы с интеллектуальной собственностью третьей стороны. Его разработали на основе Cortex A15 и A7 от ARM в конфигурации Big.Little для экономии энергопотребления, но из-за ошибки согласованности кэшей Samsung пришлось отключить функции экономии энергии. Собственные разработки сильно уменьшают такие риски, поскольку в этом случае отсутствует конфликт интересов, а передача информации внутри компании проходит гораздо легче, чем между компаниями.

Последнее преимущество собственной разработки GPU, это уменьшение зависимости от поставщиков, что даёт компании выгодные позиции при ведении переговоров и уменьшает риски бизнеса. Создание альтернатив для ключевых поставщиков, внутренних или внешних, это один из старинных принципов Apple. К примеру, Apple была зависима от Qualcomm и их LTE-модемов для iPhone. Когда Intel разработал конкурирующий модем, Apple приспособила его для большинства GSM-провайдеров. В перспективе это позволяет уменьшать расходы и рождает интересные возможности.

Собственный GPU создаёт скрытую альтернативу использования интеллектуальной собственности Imagination в будущем. Компания уже создала команду разработки GPU и команду драйвера, вместе разработавшие большую часть процессоров A8, A9 и A10. Если бы Imagination Technologies была куплена или отстала в технической части, Apple сможет просто разработать собственное железо для графики с фиксированными функциями на замену PowerVR.

Читать еще:  Control: Разработчики рассказали о главной героине

Следующие шаги Apple

После многих лет найма графических архитектров, Apple разработала собственный GPU, который уже ставят в процессоры A8, A9 и A10, работающие в iPhone 6, 6S и 7. В GPU всё ещё остаётся железо от PowerVR, но ясно, что шейдерные ядра очень отличаются от тех, что используют Imagination Technologies. Это значит, что Apple сделала собственные компиляторы для Metal и OpenGL ES, и скорее всего, и собственный драйвер.

Судя по истории компании, нет ничего удивительного в разработке собственного GPU. Кроме очевидных преимуществ в быстродействии есть и менее очевидные – улучшенный контроль над экосистемой, меньшее время выхода на рынок, уменьшение количества ошибок.

Впереди у Apple есть три варианта. Status quo – лицензирование железа с фиксированными функциями у Imagination Technologies для дополнения своих компонентов. В этом случае Apple обновится до следующей версии PowerVR, но, наверняка параллельно договорившись на лучшие условия и отчисления. Второй вариант – купить Imagination Technologies. Но с этим придут ненужные побочные проекты (линейка MIPS), да и такую возможность в 2016 году Apple уже упустила. Но Apple может продолжить собственные разработки GPU, что в результате приведёт к преобладанию над Imagination Technologies. Компании придётся решать, справятся ли они лучше самостоятельно, но пока что у них прекрасно получалось достигать квалификации мирового класса в новых областях.

iPhone 11 Pro

С тремя камерами. Первый смартфон Apple, в котором есть слово «Pro», и это значит, что его заценят профессионалы. Всё сделано из нержавеющей стали, вся задняя панель – цельный кусок.

Дисплей – Super Retina XDR, лучший в мире смартфонов. Контрастность 2 000 000: 1, 458 пикселей в дюйме, бешеная доступная яркость 1200 кд/м2. На 15% более энергоэффективный, чем экраны предыдущих поколений.

Диагональ экрана у Pro – 5,8 дюйма, у Pro Max – 6,5 дюйма.

Вышел инженер, слегка охрипшим голосом рассказал о машинном обучении, которое в iPhone 11 Pro задействовано на полную катушку. За счет него всё работает быстрее и эффективнее. Говорят, «iPhone 11 Pro – лучшая в мире платформа для машинного обучения». За счет него батарея держит до 4 часов дольше, а у iPhone 11 Pro Max – на 5 часов дольше, чем у прошлогоднего девайса. Плюс – лучшая зарядка (опять предыдущая не подойдет?!), которая заряжает еще быстрее.

Ну и три камеры обеспечивают лучшие в мире фото. Не просто среди смартфонов, среди других камер тоже. Одна линза с апертурой f/1.8, другая – f/2.4, ну и ультраширокая с f/2.0 и углом 120º. Оптический зум 0,5х, 1х, 2х. Для улучшения фото используется нейронный процессор в A13 Bionic. Технологию назвали Deep Fusion. Снимается 9 фото, отбираются лучшие аспекты каждого, создается ультра-детализированное фото, с минимальным шумом. Все три камеры снимают в 4K/60FPS.

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

Показали короткие фильмы, снятые и отредактированные полностью на iPhone 11 Pro. Доказывают, что профессиональные режиссеры уже используют этот смартфон вместо своих камер. Ну, кадры выглядят действительно красиво.

Усилили стекло, улучшили водонепроницаемость, повысили защиту от пыли.

Наконец-то Apple перестала каждый год увеличивать цену iPhone (может, связано с увольнением Анжелы Арендс?). Цены остаются на уровне прошлого года.

iPhone 11 Pro – $999, iPhone 11 Pro Max – $1099. Предзаказы начинаются в эту пятницу, отправка покупателям – с 20 сентября. Цвета смартфона – полуночный зеленый, космический серый, серебристый/белый и золотой.

iPhone XR остается в продаже, всего по $599. Также доступен iPhone 8 за $449.

На этом всё. Как вам? А где бирка с Bluetooth? Эх, утечки-утечки.

P. S. Напоминаем, что всю технику Apple намного дешевле покупать в США. В среднем – на 34%, то есть для iPhone зачастую на десятки тысяч рублей.

Например, iPhone 11 Pro в России будет стоить 89 990 рублей (вместо $999 в США), то есть вы переплачиваете около 24 000 рублей.

iPhone 11 в России будет 59 990 рублей (при покупке в Америке – 46 150 рублей).

Покупка новых iPad и Apple Watch в США тоже позволяет сэкономить 5-6 тысяч рублей, даже с учетом оплаты доставки.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Статьи c упоминанием слов: