Оценка этой статьи по мнению читателей:
Сегодня у нас будет очень интересный и, надеюсь, полезный разговор, так как мы затронем проблему, с которой сталкивается огромное количество владельцев современных смартфонов.
К сожалению, у этой проблемы есть две неприятные особенности. Во-первых, если она уже проявилась, её практически невозможно решить. Разве что, продав смартфон. А во-вторых, заранее избежать этой проблемы довольно тяжело, так как о её причинах догадываются лишь единицы. Ведь она связана с, казалось бы, самым заурядным сенсором в мире — датчиком приближения.
Думаю, вы уже догадались, о чем идет речь. У каждого бывали ситуации, когда во время разговора по телефону экран смартфона случайно включался и вы запускали щекой различные приложения, отключали микрофон или нажимали кнопки в шторке.
На самом деле, такое может происходить часто, особенно, если вы по незнанию купили современный дорогой смартфон, на котором производитель сэкономил пару долларов, установив плохой датчик приближения или просто разместив его не в том месте.
Более того, даже хорошие датчики могут давать сбой по самым необычным причинам. К примеру, вы знали, что на точность работы этого сенсора влияет даже цвет ваших волос?
Датчик приближения — это одна из самых невероятных технологий в современном смартфоне, которая в будущем совершит настоящую революцию во многих областях. Но обо всем по порядку.
- Датчик приближения в смартфоне. Теория эволюции.
- Нет датчика — нет проблем! Или о том, что такое виртуальный датчик приближения
- Однофотонные лавинные диоды. Технология, которая может навсегда изменить фотографию
- Назревающая революция
- Выводы. Или как не испортить хороший смартфон плохим датчиком?
- Зачем вообще нужен какой-то сенсор глубины?
- Три кита
- Как смартфон определяет глубину, используя стереозрение и 2 камеры?
- Но мой смартфон делает превосходные портреты даже с одной камерой!
- Принцип работы сенсорного экрана — настоящая драма на кончиках пальцев!
- Что такое частота опроса сенсора. Или откуда в iPhone 120 Гц?
- Интересные моменты
- Какие датчики можно найти в смартфонах
- Акселерометр
- Гироскоп
- Магнитометр (компас)
- Барометр
- GPS
Датчик приближения в смартфоне. Теория эволюции.
Когда мобильные телефоны постепенно эволюционировали в смартфоны, у них появилось новое интересное свойство. Эти устройства научились ощущать приближение различных предметов к экрану.
Раньше это было неважно, так как во время разговора по «классическому» мобильному телефону вы не нажимали щекой механические кнопки. Но когда всю лицевую поверхность устройства занял большой сенсорный экран, реагирующий на малейшее прикосновение кожи, это стало настоящей проблемой.
В 2007 году вышел первый iPhone с набором новых необычных датчиков, в числе которых был и датчик приближения, находившийся в верхней рамке, слева от разговорного динамика:
Принцип его работы был максимально прост. Датчик приближения состоял из лампочки и фотодиода, который измерял количество упавшего на него света.
Когда лампочка на мгновение загоралась, свет от нее освещал окружающие предметы. И если рядом ничего не было, свет просто улетал в окружающее пространство, а фотодиод не регистрировал никакого изменения в освещенности:
Но если прямо перед экраном появлялась какая-то преграда, свет лампочки отражался от этой преграды и тут же возвращался на фотодиод, который фиксировал значительное увеличение яркости:
Разумеется, человек при этом ничего не замечал, так как «лампочка» (светодиод) излучает свет в инфракрасном спектре.
Эта незамысловатая технология позволила с удобством использовать смартфон в качестве обычного телефона. При входящем звонке он отключал экран, если пользователь подносил его близко к уху, тем самым исключая нежелательные случайные нажатия.
Постепенно датчик приближения улучшался. Нужно было решить серьезную задачу — заставить смартфон отключать экран при солнечном свете. Ведь в этом случае на фотодиод непрерывно попадает инфракрасное излучение от солнца, что заставляет смартфон «думать», будто рядом есть преграда.
Решение оказалось не самым сложным.
Естественное освещение попадает на датчик непрерывно, тогда как лампочка излучает свет импульсами. Несколько тысяч раз в секунду она загорается, скажем, на 8 микросекунд, а затем в течение следующих 8 микросекунд не горит:
Таким образом, смартфон следит только за интенсивностью пульсирующего с заранее известной частотой света. Это не только упрощает отслеживание именно излученного сигнала (а не внешнего освещения), но и значительно сокращает энергопотребление. Ведь лампочка не горит непрерывно.
Затем в игру вступил еще один примитивный сенсор — датчик освещенности. Смартфон дополнительно использовал информацию об общем уровне яркости, чтобы помогать датчику приближения избегать ошибок, вызванных ярким солнечным светом.
Так смартфоны научились варьировать различные параметры светодиода, чтобы значительно усиливать сигнал, когда датчик освещенности сообщал о ярком внешнем свете.
К примеру, если увеличить длину импульса (время, в течение которого горит лампочка датчика) с 8 микросекунд до 16 или даже 32 мкс, то сигнал будет возрастать пропорционально:
То же касается силы тока и других параметров.
В общем, какое-то время всё было более-менее хорошо, но не идеально. Ведь датчик приближения работает со светом и отсюда вытекают все его недостатки.
К примеру, под прямым углом практически весь свет от лампочки возвращается на фотодиод и смартфон чётко реагирует на приближение преграды.
Но под углом значительная часть света может отражаться в сторону и на датчик будет падать недостаточно света для того, чтобы сработала блокировка экрана. Хотя сам объект может находиться очень близко к смартфону.
Отраженный свет не попадает на фотодиод
Кроме того, количество отраженного света напрямую зависит от цвета волос пользователя. Черный цвет потому и черный, что от него не отражается свет. И когда брюнетка подносит свой смартфон к уху, на фотодиод возвращается гораздо меньше света, чем если бы на пути оказались светлые волосы или неприкрытое ухо.
Также не стоит забывать и о сальных железах или макияже. Когда мы говорим по телефону, стекло постоянно соприкасается с кожей и на него попадает кожный жир, тональный крем и т.п. Это не только снижает чувствительность фотодиода, но и сильнее рассеивает свет от лампочки.
В общем, проблем хватало, пока кому-то в голову не пришла одна «гениальная идея».
Нет датчика — нет проблем! Или о том, что такое виртуальный датчик приближения
К 2016 году смартфоны использовали целый набор датчиков, чтобы корректно обрабатывать отключение экрана при входящем звонке: датчик приближения, датчик освещенности, акселерометр.
И тут один стартап предложил производителям смартфонов заменить реальный датчик приближения на алгоритм (нейросеть).
Суть работы так называемого виртуального (или программного) датчика приближения заключалась в следующем. Смартфон использовал привычные сенсоры (акселерометр, сенсорный экран, датчик освещенности) и дополнительно еще два устройства: микрофон и динамик.
Новый алгоритм получил красивое название Inner Beauty (в переводе с англ. внутренняя красота) и заменил собой классический датчик приближения (с лампочкой и фотодиодом) на смартфоне Xiaomi Mi Mix, выпущенном в 2016 году:
Чтобы понять, в чем заключалась принципиальная проблема новоиспеченного датчика приближения, нужно вкратце вспомнить, что такое нейросеть.
В основном её используют тогда, когда не знают чёткого алгоритма действий или же этот алгоритм слишком сложный. Виртуальный датчик приближения — как раз тот случай.
Главная задача перед разработчиками состояла в обучении нейросети определять по ультразвуку наличие или отсутствие преград. Для этого динамик посылал звуковую волну, которая отражалась от предметов и возвращалась на микрофон, после чего алгоритм анализировал полученный сигнал.
Нейросетям предоставили тысячи сэмплов отраженного сигнала, когда рядом есть препятствие и когда его нет. Таким образом она научилась различать ультразвук в разных ситуациях.
Но все мы прекрасно знаем, что работают современные нейросети далеко не идеально. В качестве примера можно вспомнить портретный режим в камере, который в сложных ситуациях не способен качественно отделить главный объект от фона и пр.
То же получилось и здесь. В целом, технология работала неплохо. В чем-то она даже оказалась лучше классического (инфракрасного) датчика приближения, так как цвет препятствия уже не играл роли. Но часто нейросеть не справлялась с поставленной задачей и экран смартфона мог включаться во время звонка (или вовсе не отключаться) со всеми вытекающими последствиями.
Однако идея сэкономить пару долларов и место внутри корпуса, избавившись от лишних датчиков на фронтальной панели, показалась многим производителям отличным решением. При этом качество работы нового «виртуального» датчика отошло на второй план. Фактически нейросеть + ультразвук работали гораздо хуже лампочки и фотодиода.
В результате на рынке появилось огромное количество смартфонов без нормального датчика приближения. Вот лишь небольшая часть из этого списка:
Некоторые компании пошли еще дальше и даже не стали заморачиваться с ультразвуком, оставив лишь сенсорный экран и акселерометр. Так появились смартфоны Huawei P Smart Z, Y9s, P40 Lite E и другие:
Верхняя часть экрана не имеет никакого отношения к датчику приближения. Его здесь нет вовсе.
Встречались и такие ситуации, когда на смартфоне использовался нормальный ИК-датчик приближения, но для него не находилось места на фронтальной панели. К примеру, на смартфонах Honor 20, Honor 20 Pro и Huawei Nova 5T он размещался на верхнем торце.
Естественно, такое расположение приводило к серьезным проблемам. На этих смартфонах постоянно загорался экран во время телефонных разговоров.
На некоторых устройствах датчики приближения и освещенности могут находиться в разных местах, что также может приводить к повышенному количеству ложных срабатываний. В этом случае пользователь может прикрыть датчик приближения, оставив при этом датчик освещенности открытым, и смартфон будет получать противоречивые данные.
Сегодня многие Android-флагманы, например, от компании Samsung, используют устройства, совмещающие сразу несколько датчиков и технологий на одной плате. Это позволяет снизить цену и сэкономить место внутри.
К примеру, в линейке Ultra используются сенсоры от Austria Micro Systems, совмещающие классический датчик приближения (с инфракрасной лампочкой), датчик освещенности и RGB-датчик цвета. То есть, эти устройства легко могут определять не только освещенность, но и цвет, чтобы подстраивать баланс белого экрана.
Такие датчики можно удобно прятать под AMOLED-дисплеем, что мы и видим на современных аппаратах.
Но по-настоящему революционное решение впервые появилось в том же 2016 году, только в смартфонах от Apple.
Однофотонные лавинные диоды. Технология, которая может навсегда изменить фотографию
Начиная с iPhone 7 в телефонах от Apple вместо классического инфракрасного датчика приближения (и его дешевой альтернативы в лице виртуального датчика) используется совершенно другое устройство от STMicroelectronics.
Это так называемый однофотонный лавинный диод (SPAD). Суть технологии заключается в том, что специальный лазер VCSEL (вертикально-излучающий лазер) «выстреливает» фотоны с определенной длиной волны (например, 940 нанометров) и засекает время.
Дальше фотоны сталкиваются с препятствием и часть из них возвращается на SPAD-сенсор. Как только на этот сенсор попадает хотя бы один единственный фотон, датчик моментально фиксирует его и отмечает время прибытия.
Таким образом, зная скорость света (300 тыс. км. в секунду) и точное время полета фотона, мы можем легко определить расстояние до препятствия.
Например, если препятствие находится на расстоянии в 1 см от экрана, тогда фотону потребуется 33 пикосекунды (1 пикосекунда — это триллионная доля секунды), чтобы долететь до него и еще 33 пс, чтобы вернуться обратно на сенсор.
Эта технология поражает воображение тем, что сенсор может зафиксировать всего одну единственную неделимую частицу света (фотон), а современный электронный «секундомер» легко оперирует пикосекундами.
Подавляющее большинство пользователей даже не догадываются, что в их смартфонах используются такие технологии. Естественно, они стоят дороже «копеечных» инфракрасных сенсоров и, тем более, различных алгоритмов виртуальных датчиков.
Преимущество SPAD-сенсора заключается в том, что датчик работает с минимальным количеством света и определяет расстояние по времени полета, а не яркости света. В теории, даже если на сенсор возвратится всего один фотон от препятствия, этого будет достаточно, чтобы определить расстояние.
Поэтому цвет поверхности и даже угол её наклона не играют такой большой роли, как в случае с классическими ИК-сенсорами.
Назревающая революция
Естественно, применение однофотонных лавинных диодов не ограничивается датчиком приближения. В будущем SPAD-сенсоры смогут заменить в камерах привычные нам матрицы.
Современные пиксели собирают в течение какого-то времени весь падающих на них свет. Затем сенсор считывает общее количество света, преобразовывает аналоговый сигнал в цифровой, параллельно собирая шум и в конце мы получаем значение каждого пикселя — его яркость в цифровом виде.
Пиксели SPAD-сенсора работают с каждой конкретной частицей света (фотоном). Как только фотон падает на такой пиксель, мы тут же получаем его цифровое значение с минимальным количеством шума.
Кроме того, слово «лавинный» в названии диода означает то, что единственный фотон может вызвать эффект лавины. Когда частица света попадает на матрицу, происходит «цепная реакция» и высвобождается большое количество электронов:
Таким образом, SPAD-сенсор может усиливать сигнал в миллионы раз без ущерба качеству. Всё это позволяет сокращать время выдержки до нескольких наносекунд или снимать со скоростью в десятки тысяч кадров в секунду.
Добавьте сюда еще тот факт, что каждый пиксель может содержать информацию о том, насколько далеко от камеры находится точка в пространстве, откуда прилетел фотон. То есть, мы получаем максимально подробную и точную информацию о глубине сцены.
Однофотонные лавинные диоды уже сегодня применяются во многих областях, включая датчики приближения на iPhone и ToF-сенсоры на других смартфонах. Но самое интересное нас ждет впереди.
Выводы. Или как не испортить хороший смартфон плохим датчиком?
Как видите, за таким неприметным и скучным сенсором как датчик приближения, стоит целая череда научных открытий и изобретений.
К сожалению, производители заинтересованы не только (а порою кажется, что не столько) в том, чтобы улучшать какие-то технологии, но и в том, чтобы значительно сократить расходы и снизить себестоимость товара для увеличения прибыли.
Это желание привело к тому, что сегодня во многих смартфонах установлены в буквальном смысле копеечные датчики или заменяющие их программные алгоритмы.
Если вы приобрели смартфон с виртуальным датчиком, скорее всего, время от времени вы будете сталкиваться с характерными проблемами. И никакие приложения или калибровки вам не помогут. Нейросеть прошла обучение задолго до того, как вы впервые включили свой смартфон, а именно это больше всего влияет на качество работы алгоритма.
Конечно, иногда бывают банальные проблемы, решить которые очень просто. Например, это может быть чехол, который немного прикрывает сенсор или защитное стекло, которое сильно рассеивает ИК-излучение от светодиода. Сменив чехол или убрав стекло/пленку, вы улучшите работу датчика.
То же касается и виртуальных сенсоров. К примеру, Redmi Note 10 Pro использует ультразвуковые волны, которые одновременно выходят из фронтального динамика и верхнего торца. Если чехол прикрывает одно из этих отверстий, качество работы датчика заметно снизится.
Также могут встречаться ситуации, когда на смартфоне установлен нормальный датчик, в правильном месте, но всё работает крайне плохо. А причина банальна — плохое качество сборки, в результате чего датчик не плотно прилегает к стеклу или нарушена перегородка между лампочкой и фотодиодом. К слову, эта проблема часто встречается после замены экрана или даже после падения смартфона.
Поэтому главным решением проблемы с датчиком приближения является знание. Вы должны понимать суть проблемы и обращать внимание на то, какой именно сенсор используется в интересующей вас модели. А для этого необходимо читать хорошие обзоры, в которых внимание уделяется как раз таким моментам, а не очередным бесполезным тестам AnTuTu.
Разумеется, находятся эти обзоры здесь.
Алексей, главред Deep-Review
Каждый раз, делая обзор на очередной смартфон и упоминая «сенсор глубины», я чувствую, что ввожу читателя в заблуждение.
Сегодня этот загадочный датчик глубины встречается на подавляющем большинстве устройств, ведь он так важен для портретного режима с красивым размытием фона (эффект боке, живой фокус, режим диафрагмы и пр.).
А может и не важен вовсе? Возможно, вы встречали на просторах интернета разоблачения, в которых люди полностью заклеивали сенсор глубины, а смартфон продолжал размывать фон на портретных снимках, как ни в чем не бывало. Получается, телефоны умеют определять глубину сцены и без сенсора глубины? Зачем же он тогда нужен?
Ну и главный вопрос — как вообще устроен этот «сенсор»? На чем основан принцип его работы?
Бегло просмотрев несколько популярных статей и роликов в интернете, я с удивлением обнаружил, что многие люди думают, будто этот сенсор посылает световые импульсы и определяет время задержки отраженного луча. То есть, как-то активно участвует в построении карты глубины.
А вот, к примеру, на сайте Popular Science (Популярная наука) приводится следующее объяснение (в моем вольном переводе):
Датчик глубины (depth sensor) предназначен именно для определения глубины сцены. В топовых современных смартфонах датчик глубины постепенно исчезает, так как его заменяют другие камеры, умеющие ощущать глубину и объем сцены, например широкоугольная или телеобъектив.
Камеры, ощущающие глубину — это, конечно, очень интересно, но давайте разберемся, что же происходит на самом деле.
Зачем вообще нужен какой-то сенсор глубины?
Современный смартфон должен не просто «видеть» через камеру плоскую картинку, но и «понимать», на каком расстоянии находится каждый объект в сцене. То есть, он должен уметь «ощущать» глубину сцены. И на это есть целый ряд причин.
Например, благодаря умению построить карту глубины, телефоны научились делать красивые фотографии с размытием фона. Да, часто на таких снимках заметна искусственная обработка, но иногда результат практически не отличим от работы зеркального фотоаппарата:
Снимок сделан на Samsung Galaxy Note10, без обработки
Сделать что-то подобное при помощи оптики нереально, так как единственный параметр, отвечающий за степень размытия фона — это диаметр входного зрачка объектива (проще говоря, размер дырки, через которую свет попадает в объектив смартфона).
На самых дорогих камерофонах он не превышает и 4 миллиметров, в то время, как даже у бюджетного объектива зеркального фотоаппарата он будет минимум в 2 раза больше (а у дорогих объективов — в 10-15 раз).
Помимо этого, на смартфоны постепенно приходит дополненная реальность (AR), позволяющая определять размеры объектов, расстояние между предметами и делать много всего удивительного (примерять вещи и различные аксессуары, смотреть, как будет выглядеть мебель в интерьере своего дома и многое другое).
Смартфон точно показал размеры ноутбука
Также умение определять глубину позволяет создавать более надежные и удобные способы блокировки смартфона (например, технология FaceID, которая делает «трехмерный» снимок лица).
Многие производители пытаются придумать новые способы управления смартфоном при помощи бесконтактных жестов, а для этого также нужно хорошо понимать положение рук в пространстве.
Но как смартфоны определяют глубину и какие датчики для этого используются?
Три кита
На сегодняшний день существует всего 3 основных метода, позволяющие смартфонам «ощущать» объем:
Открою небольшую тайну. В некоторых смартфонах в качестве всем нам знакомого датчика приближения (тот, который блокирует экран во время входящего звонка) используется самая настоящая ToF-камера с лазерным излучателем и специальным высокочувствительным сенсором, измеряющим время полета света и определяющим точное расстояние до объекта. Работает он, естественно, гораздо точнее и качественнее обычных инфракрасных датчиков, встречающихся на подавляющем большинстве устройств.
Так вот, возвращаясь к нашей теме, горькая правда заключается в том, что для первого метода определения глубины сцены (стереозрение) не нужны дополнительные датчики.
Если на смартфоне уже есть две камеры (например, основная и ультраширокоугольная, или основная и телеобъектив), использовать еще третий «сенсор глубины» (то есть, еще одну камеру) нет никакого смысла.
Дополнительный «сенсор глубины» на 99.9% смартфонов — это банальная попытка ввести покупателя в заблуждение.
Возьмем, к примеру, смартфон Redmi Note 9 Pro, у которого сзади размещено 4 камеры:
Здесь уже есть основная и ультраширокоугольная камеры (две верхние). И этого более, чем достаточно для определения глубины сцены по принципу стерео-зрения. Но компания пытается обмануть покупателя, показав больше камер, чем у конкурентов. И таких примеров масса: Samsung Galaxy A51, Xiaomi Poco X3, OnePlus Nord, Huawei Y8p и мн. др.
Так как «сенсор глубины» — это самая обыкновенная камера с очень низким разрешением, то стоимость такой матрицы составляет от 30 центов за 2 Мп сенсор до 50-60 центов за 5 Мп сенсор (правда, за последний год цены немного выросли из-за колоссального спроса на столь дешевые компоненты).
Производитель за пару баксов может легко набросать пару лишних камер на корпус и затем использовать это количество в качестве конкурентного преимущества, внушая покупателям, что смартфон с пятью камерами снимает ну почти как зеркалка.
Еще раз повторю ключевую мысль прежде, чем мы продолжим: все современные смартфоны, за исключением буквально 10-15 флагманских моделей, определяют глубину сцены при помощи двух обыкновенных камер и метода под названием стереозрение. Да и те 10-15 флагманов также используют в основном стереозрение, а ToF-сенсор служит лишь как дополнительный инструмент.
Многие аппараты (Samsung Galaxy S20/Note20, Huawei P40, iPhone 11 Pro и прочие), легко обходятся основными камерами (широкоугольной, ультраширокоугольной или телеобъективом). Другие же устанавливают дополнительную камеру за три копейки исключительно в маркетинговых целях без малейшей технической необходимости.
А некоторые и вовсе идут на серьезный обман — устанавливают 2-Мп низкокачественную камеру а-ля «сенсор глубины», а сами используют широкоугольную камеру, так как ее качество гораздо выше.
Как смартфон определяет глубину, используя стереозрение и 2 камеры?
Итак, мы определились, что никакого «сенсора глубины» нет. Это обычная (и зачастую — лишняя) камера. Но что же такое стереозрение и как оно работает? Зачем нам нужны две камеры, ведь есть смартфоны, которые умеют размывать фон даже с одной камерой?
Наш мозг использует множество техник для определения глубины и объема сцены, например:
Можно продолжать этот список, но главная причина, по которой мы ощущаем объем, заключается в другом.
У каждого из нас есть два глаза, размещенных на небольшом расстоянии друг от друга. Причем один из них — не запасной и не для красоты или симметрии. Если мы будем смотреть на что-то поочередно то одним, то другим глазом, тогда те объекты, что расположены ближе к нам, будут смещаться в стороны гораздо сильнее тех объектов, что расположены дальше.
Очевидно, что так происходит потому, что правый глаз видит всю сцену как бы с правой стороны, а левый — с левой:
На картинке выше в левом глазу дерево немного сместилось влево, а цветок — вправо. А в правом глазу получилось наоборот — цветок оказался немного левее дерева.
Теперь мозг берет «картинки» из двух глаз и анализирует смещение каждой «точки». Возьмем левый глаз. Чем сильнее точка сместилась вправо (относительно такой же точки в правом глазу), тем ближе она находится к нам и наоборот, чем сильнее сместилась влево — тем она дальше от нас.
Это хорошо видно на следующей анимации, где поочередно меняются картинки, которые увидел левый и правый глаз:
Обратите внимание, как камни в левом нижнем углу смещаются вправо (значит, находятся ближе), в то время, как деревья в правом верхнем углу уходят влево (находятся дальше). Получается, даже меняя поочередно две картинки, мы уже можем ощутить объем.
Вот еще одна наглядная анимация:
Вроде бы всё просто и понятно. Но как же это делает смартфон? Как конкретно он строит карту глубины всей сцены, используя две камеры?
Чтобы разобраться с этим, давайте рассмотрим простой пример.
Итак, у нас есть какая-то точка в пространстве и смартфон с двумя камерами. Свет от точки проходит через объектив каждой камеры и попадает на матрицу. Мы получили два плоских снимка этой точки и не можем определить расстояние до нее:
Думаю, вы обратили внимание на одну странность — почему матрица камеры находится перед самой камерой, хотя должна находиться за объективом? На самом деле, мы просто разместили ее так схематически для простоты понимания. Это ни на что не влияет и принцип работы сохраняется.
Нам нужно узнать расстояние до красной точки. Мы знаем только расстояние между двумя камерами (производитель разместил их на определенном расстоянии друг от друга). Также нам известно фокусное расстояние камер, то есть, расстояние от центра линзы до матрицы, на которую она проецирует изображение:
На первый взгляд кажется, что сделать это невозможно и нам ничего не дает знание расстояния между камерами.
К слову, если мы используем камеры с разными фокусными расстояниями (например широкоугольную и телеобъектив), тогда нужно просто сделать кроп на снимке с более широким углом (вырезать часть кадра) и дальше уже работать, как с идентичным фокусным расстоянием:
Итак, давайте посмотрим, как свет от красной точки P упадет на наши матрицы и превратится в точки на снимках:
Обратите внимание на то, что точка на левом снимке оказалась справа от центра матрицы, а на правом снимке эта же точка оказалась левее центра. Если бы мы приняли центр за начало отсчета, тогда точка слева ушла бы по горизонтальной оси в плюс (вправо), а справа — в минус (так как центр — это 0):
И как все эти рисунки помогут нам найти расстояние Z (от камеры до точки в пространстве)?
Думаю, вы уже давно заметили, что все эти точки образовывают треугольники. В частности, здесь можно увидеть два подобных треугольника. Один проходит через наши красные точки на двух снимках и точку в пространстве (зеленый треугольник слева), а другой проходит через центры объективов и точку в пространстве (синий треугольник справа):
Эти треугольники подобны, а значит, их стороны соответственно пропорциональны и все углы соответственно равны. И вот уже из этого подобия мы можем легко определить расстояние от камеры до любой точки в пространстве, то есть, найти величину Z.
Я упущу несложные математические расчеты и просто запишу конечный результат:
Z = F * D/(d1-d2)
Здесь F — это фокусное расстояние объектива (известная заранее характеристика нашей камеры), D — расстояние между камерами (также известно), а d1 и d2 — смещение конкретной точки (пикселя) на снимках с левой и правой камер.
Другими словами, смартфон делает ровно то же, что и наш мозг — определяет глубину сцены только по смещению (несоответствию) пикселей на левой и правой фотографии (или на «картинке» в левом и правом глазу).
Получается, всё, что нам нужно — это две (любые) камеры и больше ничего. Соответственно, третья камера («сенсор глубины») совершенно бесполезна.
Но мой смартфон делает превосходные портреты даже с одной камерой!
Некоторые смартфоны действительно могут определять глубину сцены даже с одной камерой. И делается это при помощи искусственного интеллекта.
Опять-таки, смартфон пытается копировать работу нашего мозга. Когда мы смотрим на сцену одним глазом (или двумя глазами смотрим на плоскую фотографию), то легко определяем, какой объект находится дальше, а какой — ближе.
Смартфоны также учатся сегментировать фотографии и выделять на снимках людей. Для этого нужно обучить нейронную сеть отличать человека от других объектов.
Но даже в случае с одной камерой, нейросеть берет дополнительную информацию с двух снимков. Двух снимков?! Но откуда же берется второй снимок, если камера всего одна?
Дело в том, что очень многие современные матрицы имеют фазовый автофокус Dual Pixel. То есть, фактически каждый пиксель на матрице состоит из двух отдельных «пикселей» (фотодиодов), каждый из которых собирает информацию только с половины линзы. Скажем, левый пиксель берет информацию с правой половины линзы, а правый — с левой половины:
Можно сказать, что у нас появляются две камеры (две части одной линзы) с небольшим расстоянием. Да, это крошечное расстояние, но его достаточно, чтобы уже заметить какое-то смещение пикселей.
Вот два примера таких снимков, полученных с двух половин линзы (Dual-Pixel 1 и Dual-Pixel 2) одной камеры:
Как видите, смещение на примере слева более ярко выражено, так как лампочка находится гораздо ближе к камере, нежели человек на втором снимке.
Использование двух камер (то, о чем мы говорили выше) будет давать гораздо большее смещение, чем использование одной камеры с фазовым автофокусом Dual Pixel. Это можно наглядно увидеть на следующем примере (слева — одна камера, но разные части линзы, а справа — две камеры на небольшом расстоянии друг от друга):
Но некоторые смартфоны умудряются делать портретные режимы даже без двух камер или двух изображений с разных половин одной линзы. Правда, качество такого размытия заметно уступает традиционному стереозрению.
Всё, о чем я говорил выше, касается только пассивной технологии определения глубины сцены, когда смартфон просто «смотрит» на мир через камеру/камеры и никак не пытается с ним взаимодействовать.
Однако существует и более продвинутая активная технология, когда смартфон изучает сцену при помощи лазера (ToF-сенсоры и лидары). Но об этом я подробно расскажу как-нибудь в другой раз.
Алексей, глав. редактор Deep-Review
Если вы интересовались тем, как работает сенсорный экран, то, скорее всего, натыкались на одну из этих статей «для радиолюбителей». Все они написаны, как под копирку и звучат примерно так: когда вы прикасаетесь пальцем к экрану, в определенной точке изменяется емкость условного конденсатора, которую и регистрируют специальные датчики.
Меня всегда удивляли такие объяснения. От того, что кто-то заменил слова «сенсорный экран» словами «емкость конденсатора», мне никогда не становилось легче. Неужели все эти «техноблогеры» в прошлом были электриками? Почему бы не объяснить такую интересную технологию простыми словами, чтобы все было понятно?
Затем я вижу новость, мол, Apple представила iPhone X с экраном 120 Гц, только это не частота обновления картинки (как на Galaxy S20), а частота какого-то опроса сенсора. Естественно, я иду в интернет за ответами и вижу однотипные объяснения: сенсор экрана iPhone X обрабатывает движение пальцев в 2 раза быстрее, то есть, считывание происходит не за 16, а за 8 миллисекунд!
Ага, вроде теперь все стало на свои места. Правда, не совсем понятно, какое еще считывание, что значит «обрабатывать движение пальцев в 2 раза быстрее» и почему процессор может обрабатывать миллиарды операций в секунду, но движение пальцев — только 60 или 120 раз в секунду?
В общем, эта статья будет другой. После ее прочтения у вас не останется неприятного «послевкусия» и вы действительно будете понимать, как все это работает и при чем здесь 120 Гц.
Принцип работы сенсорного экрана — настоящая драма на кончиках пальцев!
Итак, прежде всего, важно понять, что сам по себе экран смартфона совершенно бесчувственный. Чем бы и как бы мы ни прикасались к нему — никакой реакции не последует. Ведь это простой набор из нескольких миллионов крошечных цветных лампочек, которые смартфон использует для отображения картинки.
Чтобы получить какую-то реакцию на прикосновение, нужно где-то дополнительно разместить специальный «чувствительный слой». Но как он выглядит и как именно работает?
Давайте представим, что нам нужно сделать только одну небольшую точку на экране чувствительной к прикосновению. Для этого мы разместим над этой точкой две маленькие пластинки — оранжевую и синюю.
На одну пластинку мы будем подавать ток, то есть загонять туда большое количество электронов (отрицательно заряженных частичек):
Природа всегда стремится к равновесию, то есть, внутри пластинки или чего-угодно (например, наших пальцев) количество положительных и отрицательных зарядов должно быть примерно одинаковым.
Однако же на оранжевой пластинке произошел переизбыток электронов (отрицательно заряженных частичек), которые мы силой туда затолкнули, взяв их из батарейки смартфона. Они пытаются оттолкнуться друг от друга и присоединиться к положительно заряженным частичкам, но не могут.
Дело в том, что эти две пластинки мы предварительно изолировали друг от друга, чтобы свободные электроны не смогли просто перепрыгнуть на голубую пластинку, где их с нетерпением ожидают положительно заряженные частицы. Электрическое поле оранжевой пластинки продолжает отталкивать все «минусы» и притягивать «плюсы», которых уже достаточно много собралось на синей пластине.
Что же произойдет, если мы прикоснемся к этим пластинкам любым проводящим ток предметом, например, своим пальцем?
Электрическое поле оранжевой пластины моментально начнет действовать и на наш палец, частично «переключив внимание» с положительных зарядов синей области на положительные заряды внутри нашего пальца:
Ведь синяя пластинка уже под завязку набита положительно заряженными частицами и это «давление» слишком высоко, а на пальце никакого «давления» нет — там свободно себе «плавают» как положительные, так и отрицательные заряды. Естественно, все это приведет к тому, что положительно заряженных частиц на синей пластинке станет меньше, так как влияние оранжевой пластинки снизилось и переключилось на палец.
Вот, в принципе, и все! Нам лишь осталось измерить эти заряды на пластинке и мы сразу поймем, что возле них появился лишний предмет — кто-то прикоснулся к экрану.
Чтобы весь экран стал чувствительным, нужно полностью перекрыть его этими пластинками: вначале первый слой, на который мы будем подавать ток, затем второй изолирующий слой и после — третий, на котором будем замерять изменение заряда:
Несмотря на то, что все эти слои находятся прямо у вас перед глазами и перекрывают изображение, вы их не увидите, так как все они сделаны из полностью прозрачных материалов. Например, в качестве изоляции может использоваться стекло, а сеточки токопроводящих пластин делают из оксида индия-олова. В низкокачественных экранах эту сеточку увидеть, все же, вполне реально, если посмотреть на выключенный экран под углом на ярком солнце.
Что такое частота опроса сенсора. Или откуда в iPhone 120 Гц?
На картинке выше я схематически показал сеточки из токопроводящего материала, но, естественно, с размером я немножко промахнулся. Кроме того, я не рассказал об одной важной вещи. Все оранжевые пластинки соединены в линии (строки), а голубые — в столбики. То есть, в реальности все выглядит примерно так:
Зачем это делать? Понятное дело, что на экране сенсорный слой состоит не из 3 строк и 3 столбиков, а, например, из 80 строк и 40 столбиков, то есть, всего 3200 пересечений, на которых мы и анализируем электрическое поле. Представляете, какую нужно сделать схему, чтобы подключить каждый такой электрод к своему питанию, чтобы мы могли анализировать 3200 областей на экране?
Вместо этого мы просто подаем напряжение сразу на всю строку и на весь столбик. То есть, подключаем только строки и столбики, после чего наша схема выглядит примерно так:
Но теперь возникает просто колоссальная проблема! Мы включаем напряжение на первый слой, чтобы вокруг каждого пересечения создавалось электрическое поле и начинаем непрерывно отслеживать изменение электрического поля в каждом столбце. Еще раз напоминаю, все электроды (пластинки) соединены теперь в один столбик.
Когда мы касаемся какой-то определенной точки, система моментально фиксирует изменение напряжения не в конкретной точке, а в целом столбике (на картинке — это 7 столбец):
Получается, экран лишь понимает, что в длинной полоске произошло касание, но где именно — без понятия, ведь мы не анализируем каждое конкретное пересечение электродов, а подключаем все их столбцами и строками.
Можно ли как-то решить эту проблему? Да запросто! Давайте просто перестанем подавать напряжение на всю сетку (весь экран) и будем «заталкивать» свободные электроны только в первую строку из токопроводящих пластинок. В результате электрическое поле будет создано только вдоль одной единственной строки.
Теперь, когда «сработает» 7-й столбец, мы будем точно знать, что точка касания находится на пересечении первой строки и седьмого столбца. Почему так? Да потому, что во всех остальных строках вообще не было никакого электрического поля, мы же ток подавали только на первую строку.
Действительно, это решает проблему для первой строки. Но как быть с остальными? Точно так же! Подаем напряжение только на первую строку и замеряем все столбцы, отключаем ток на первой строке и подаем напряжение на вторую строку. Столбцы, при этом, замеряют изменение непрерывно. Таким образом, мы просто поочередно включаем каждую строку и проверяем столбцы. После того, как дойдем до последней строки, переходим снова к первой.
Конечно же, электроника строит «карту прикосновений», чтобы получить полную картинку, где были расположены пальцы на экране по всем строкам. Ведь, палец — это не тонкое перо, он всегда захватывает большую область, то есть, изменяет электрическое поле (и емкость) сразу в нескольких пересечениях. Поэтому, запоминаются значения напряжения для каждой строки.
Один такой цикл прохода от первой до последней строки — это 1 Гц. Если бы «частота опроса сенсора» равнялась одному герцу, управлять таким экраном было бы крайне тяжело, особенно это касается жестов (движения пальца по экрану) или мультитача (одновременного касания нескольких пальцев).
Для этого мы немножко ускоряемся и весь цикл от первой до последней строки проходит за 16 миллисекунд, то есть, за 1 секунду мы получим 60 проходов (поочередной подачи напряжения от первой до последней строки и считывании напряжения на столбцах).
Нужно ли пробегаться по всем строкам еще быстрее — вопрос интересный. К примеру, картинка на экране iPhone 11 меняется каждые 16 миллисекунд (то есть, частота обновления экрана составляет 60 Гц). При этом, сенсорный слой за это же время успевает пройтись построчно по всему экрану дважды. Зачем? Без понятия. Наверное, чтобы во время презентации (или в технических характеристиках) упомянуть о «120 герцах» и, тем самым, «невольно» ввести неподкованного пользователя в заблуждение.
Интересные моменты
Сенсорный слой (то есть, те самые сетки из токопроводящих пластин и изолятора между ними) раньше всегда находился с обратной стороны защитного стекла. То есть, пользователь прикасался к стеклу, на обратной стороне которого и создавалось электрическое поле. В бюджетных моделях примерно так все и осталось.
Затем производители стали думать, куда бы убрать сенсорный слой в своих флагманах, чтобы сократить толщину экрана и сделать его более прозрачным (а значит и ярким). Так появился Super AMOLED-экран от Samsung, который отличался от любого другого OLED-дисплея только расположением сенсорного слоя — внутри дисплейного модуля, а не на защитном стекле.
Дело в том, что любой экран представляет из себя «бутерброд» из нескольких слоев. В частности, для OLED-экрана это TFT-слой управляющих транзисторов, слой органических диодов, поляризационная пленка и пр. Так вот, «сенсорный слой» на Super AMOLED находится внутри «бутерброда», сразу под поляризационной пленкой.
Apple также размещает в некоторых iPhone этот слой внутри дисплея. Если мне не изменяет память — сразу над цветными фильтрами их IPS-экранов.
Как вы уже поняли, сенсорный экран реагирует на любой предмет, способный проводить электричество: от тонкого металлического провода до капельки воды. Если какой-то предмет не проводит ток, он не вступит во взаимодействие с электрическим полем сенсорного слоя.
Вода является одним из главных врагов сенсорных экранов, так как, будучи прекрасным проводником электричества, вносит очень много «шума» в сигнал. И смартфону становится тяжело точно отличить «прикосновения» воды от реальных касаний. Сравните, насколько похожи эти сигналы:
Когда мы прикасаемся пальцем к экрану, меняется напряжение сразу во многих точках, причем, в самом центре касания, где контакт максимален — сильнее, чуть дальше — слабее. Это можно изобразить схематически примерно так:
То есть, смартфон не просто «чувствует» касание, но и «видит» форму этого касания. Соответственно, он пытается реагировать только на тот предмет, который оставляет характерный «след» от пальца. Из-за этого сенсорные экраны и не реагируют на некоторые токопроводящие предметы, например, стилусы с очень тонким наконечником.
К слову, перо S Pen на смартфонах Galaxy Note вообще не имеет никакого отношения к сенсорному слою и электрическому полю, там используется радиосвязь, о чем я подробно рассказывал в этой статье.
Какие датчики можно найти в смартфонах
1 звезда
2 звезды
3 звезды
4 звезды
5 звезд
Рассказываем о том, какие датчики есть в современных смартфонах, для чего они предназначены и как работают.
Современные смартфоны буквально нашпигованы огромным числом датчиков. С их помощью гаджеты строят маршруты на карте, отслеживают вашу активность в фитнес-приложениях, распознают всевозможные жесты и делают множество других вещей, к которым мы привыкли. Сегодня мы окунемся в эту тему чуть глубже и расскажем не только о том, какие датчики есть в смартфонах, но и зачем они нужны.
Акселерометр
Акселерометр — это сенсор, измеряющий проекцию кажущегося ускорения. Говоря простым языком, он определяет пространственное положение смартфона, и то расстояние, на которое он переместился.
Акселерометры есть во всех, даже самых бюджетных смартфонах. Правда, в откровенно недорогих гаджетах их чувствительность оставляет желать лучшего. Он относится к разряду MEMS-сенсоров и, по сути, представляет собой крайне миниатюрный механический элемент с грузиками и очень маленькими парными пластинами конденсаторов. Первая пластина остается неподвижна, а вторая изгибается при изменении положения смартфона в пространстве (под действием ускорения). Расстояние между пластинами изменяется, а вместе с тем изменяется и заряд на них. Акселерометр постоянно измеряет заряд на таких пластинах, и на основе этого определяет, насколько велико отклонение подвижной пластины с грузиком и каково направление этого отклонения.
Акселерометр может распознать движение смартфона по трем осям. Это пригодится, например, для подсчета шагов и ориентации на карте.
Гироскоп
Принцип работы гироскопа во многом напоминает уже рассмотренный нами акселерометр. Сильно перекликаются и функции этих датчиков. Правда, если акселерометр больше ориентирован на определение ускорения, подсчет шагов и пройденного расстояния, то гироскоп «заточен» на определение ориентации смартфона в пространстве, делая это намного точнее акселерометра.
Гироскоп в смартфонах, по сути, представляет собой небольшую емкость с подвижным объектом, который смещается при изменении ориентации гаджета, тем самым меняя емкость соответствующих конденсаторов. Ну а, измеряя эту емкость, смартфон «понимает» как изменилось его положение в пространстве.
Гироскоп смартфона широко используется в виртуальной реальности и играх с управлением путем наклона и поворота гаджета. Завязаны на него и многие другие функции смартфона. Но, в целом, акселерометр и гироскоп работают в паре, удачно дополняя друг друга.
Магнитометр (компас)
Это еще один сенсор для пространственной ориентации. Как понятно из его названия, датчик работает с магнитным полем. Магнитометр действует в компании с акселерометром и GPS, облегчая навигацию. Именно благодаря ему вы не только можете ориентироваться в лесу, но и видите не просто точку на карте, а стрелку, показывающую в каком направлении вы смотрите.
Барометр
Барометр обычно устанавливается только во флагманские смартфоны и помогает GPS более точно ориентироваться в пространстве. Вот только если GPS делает это на плоскости, то барометр определяет положение телефона по высоте.
Главная задача барометра — измерение атмосферного давления, на основе чего рассчитывается высота, на которой находится телефон — чем оно ниже, тем выше вы забрались. Это может пригодиться и для определения, на каком этаже вы находитесь, и для фиксации физической активности в фитнес-приложениях и для многих других задач. Сам же барометр в смартфоне, упрощенно говоря, представляет собой небольшую коробочку с мембраной, изгиб которой определяет текущее атмосферное давление.
GPS
Это последний в серии датчик, непосредственно отвечающий за позиционирование смартфона. Хотя называть его датчиком не совсем корректно, и, по сути, GPS представляет собой сложную технологию для связи телефона со спутниками. Современные смартфоны поддерживают множество систем спутниковой навигации. Это и российская ГЛОНАСС, и европейская Galileo, и китайская BDS (BeiDou).
Недорогие смартфоны обычно используют канал L1 для GPS-позиционирования, дающий лишь приблизительное представление о вашем местоположении. А в устройствах верхнего уровня предусмотрен двухдиапазонный GPS с поддержкой L1 и L5. При определении местоположения через канал L5 приоритетным становится сигнал, который первым достиг спутника. Тем самым отсекаются отраженные сигналы, и точность позиционирования повышается.