Содержание статьи +
- Кратко
- Почему это важно
- Быстрый ответ: размойте фон прямо сейчас
- Что на самом деле значит «размыть фон»
- Как приложение находит вас: модель сегментации
- Правило 33 миллисекунд, которое управляет всем
- Два способа понять, что такое «фон»: плоский и по глубине
- Что каждое приложение делает «под капотом»
- Соберите это в своём продукте
- Где размытие в общей картине
- Где здесь Фора Софт
- Главное
- Что почитать дальше
Кратко
Размыть фон в Zoom, Microsoft Teams или на iPhone – это два-три касания, и эта статья показывает, где именно они находятся в каждом приложении. За этим касанием везде работает одна идея: маленькая нейросеть смотрит на каждый кадр видео и решает попиксельно, какие пиксели – это вы, а какие – комната, после чего размывает только комнату. Телефон в руке и ноутбук на столе делают это по-разному – iPhone использует информацию о расстоянии, чтобы сымитировать настоящий объектив, а Zoom, Teams и Google Meet полагаются на чистое распознавание образов по плоской картинке, – и именно эта разница объясняет, почему один размытый фон выглядит естественно, а другой смазывается по краям. Если вы делаете видеопродукты, последняя треть статьи – это рецепт, как добавить ту же функцию в своё приложение, с бюджетом задержки и типичными ошибками, которые его ломают.
Почему это важно
Если вам просто нужен аккуратный фон на ближайшем звонке, первый раздел отвечает на это меньше чем за минуту – для каждого приложения, которым вы, скорее всего, пользуетесь. Если вы делаете софт – продакт-менеджер, основатель или инженер, добавляющий видео в приложение, – остальная часть статьи объясняет технологию достаточно подробно, чтобы вы могли оценить фичу, обсудить её с инженерами и обойти ловушки, из-за которых демо выглядит сломанным. Размытие фона – самая запрашиваемая функция камеры в видеозвонках, оно работает целиком на устройстве пользователя и служит чистым введением в real-time ИИ, который стоит за всем – от виртуальных фонов до живых субтитров. Понять его один раз – значит понять целое семейство функций.
Быстрый ответ: размойте фон прямо сейчас
Вот где находится управление в каждом приложении. Ни одно из них не загружает ваше видео куда-либо – размытие происходит на вашем устройстве, и это важно и для скорости, и для приватности (объясним ниже почему).
Zoom (десктоп). Откройте приложение Zoom, нажмите на фото профиля, затем Settings (значок шестерёнки). Выберите Background & Effects в левом меню и нажмите Blur в разделе Virtual Backgrounds. Прямо во время звонка: найдите кнопку Stop Video внизу слева, нажмите маленькую стрелку ^ рядом и выберите Blur My Background. Размытие фона бесплатно на всех тарифах Zoom и требует версии Zoom 5.5.0 или новее.
Zoom (телефон или планшет). В звонке нажмите More (три точки), затем Background & Effects на iPhone или iPad – либо Virtual Background на Android – и нажмите иконку Blur. Применяется мгновенно.
Microsoft Teams. На экране предпросмотра камеры перед входом в звонок нажмите кнопку Background filters (человечек с маленькой сценой за спиной) под превью и выберите Blur. Teams даёт две силы: Standard blur и Portrait blur. Уже в звонке? Нажмите More (…), затем Effects and avatars, затем Blur и Apply. На Windows переключается сочетанием Ctrl+Shift+P, на Mac – Cmd+Shift+P.
iPhone и iPad (FaceTime и любое видеоприложение). Во время звонка FaceTime коснитесь своей плитки видео и нажмите Portrait. Чтобы включить эффект для любого видеоприложения – Zoom, Teams, Webex, браузера – откройте Пункт управления (Control Center), нажмите Video Effects и включите Portrait; он останется активным во всех приложениях, пока вы его не выключите. Это работает на iPhone и iPad с чипом Apple A12 Bionic или новее (то есть iPhone XS и новее) на актуальной версии iOS или iPadOS.
iPhone как камера Mac (Continuity Camera). Когда iPhone работает камерой для Mac, откройте Пункт управления на Mac, нажмите Video Effects и выберите Portrait. Полезный трюк: нативное размытие Portrait на собственной камере Mac требует Mac на Apple Silicon, но если пустить картинку через iPhone, то же размытие появляется и на старых Intel-Mac.
Google Meet. В звонке нажмите More (⋮), затем Apply visual effects и выберите Blur – слабое или полное.
Это и есть вся инструкция. Остальная статья объясняет, что на самом деле происходит при нажатии этой кнопки – и как собрать то же самое самому.
Что на самом деле значит «размыть фон»
Звучит так, будто приложение замазывает часть картинки, и визуально это и есть результат. Но трудная часть – не размытие. Трудная часть – вопрос, который идёт первым: какие пиксели – фон, а какие – вы?
Представьте кадр видео как сетку крошечных цветных квадратиков – это точки яркости и цвета, называемые пикселями, из которых состоит любое цифровое изображение. Чтобы размыть только фон, программа должна пометить каждый такой квадратик как человек или не человек – на каждом кадре, тридцать раз в секунду. Эта работа по разметке называется сегментацией – разбиением изображения на осмысленные области. Здесь используется сегментация человека: отделить человека от всего остального.
Результат сегментации – это второе, более простое изображение того же размера, что и видео, называемое маской (инженеры также говорят matte, матовая маска). В маске каждый пиксель, принадлежащий вам, помечен белым, а каждый пиксель комнаты – чёрным. Думайте о ней как о трафарете, вырезанном точно по форме вашего тела и волос. Как только у программы есть этот трафарет, остальное просто: оставить резкие пиксели там, где трафарет белый, и нарисовать размытые там, где он чёрный.
Так что размытие фона – это на самом деле два шага под одной кнопкой: сначала найти человека (шаг ИИ), затем размыть всё остальное (простой шаг). Зелёный экран делает ту же работу цветной тканью и кучей студийного света. Размытие фона выбрасывает ткань и просит нейросеть найти ваш контур.
Как приложение находит вас: модель сегментации
Шаг «найти человека» делает маленькая нейросеть – программа, обученная на сотнях тысяч размеченных фото, пока она не выучила зрительный паттерн «человек перед камерой». Вы не программируете правила («руки цилиндрические, волосы пушистые»); вы показываете сети достаточно примеров, и она выучивает правила сама.
Самая распространённая модель для этого в браузерах и приложениях – MediaPipe Selfie Segmentation от Google. Она намеренно крошечная. У модели около 106 000 внутренних чисел (инженеры называют их параметрами), а весь файл – примерно 454 килобайта, меньше одной фотографии. Она построена на компактной архитектуре распознавания изображений MobileNetV3, выбранной потому, что та создавалась для работы на телефонах, а не на серверном железе. Модель уменьшает кадр видео до маленького квадрата – 256 на 256 пикселей, – делает работу там и масштабирует получившуюся маску обратно. Меньший вход означает меньше вычислений, а меньше вычислений – значит, она успевает вовремя.
Почему 256 на 256, а не полный кадр? Потому что маске не нужно быть идеально резкой, чтобы выглядеть хорошо после размытия – само размытие прячет мелкие ошибки на краю. Работа на уменьшенном кадре – это сделка, которая делает real-time размытие возможным на телефоне.
Правило 33 миллисекунд, которое управляет всем
Вот ограничение, которое определяет каждое проектное решение в этой функции. Видео идёт примерно на 30 кадрах в секунду – 30 неподвижных картинок, показанных подряд, как флипбук создаёт движение из рисунков. Сделаем деление вслух:
1 секунда / 30 кадров = 0,0333 секунды на кадр
0,0333 секунды × 1000 = 33,3 миллисекунды на кадрЗначит, новый кадр приходит примерно каждые 33 миллисекунды (миллисекунда – это одна тысячная секунды). Оба шага – найти человека, затем размыть фон – должны успеть внутри этого окна. Если работа занимает больше 33 миллисекунд, приложение не поспевает: оно либо роняет кадры (видео дёргается), либо отстаёт (вы выглядите с задержкой).
Поэтому так важен чип, делающий работу. Та же модель MediaPipe заканчивает кадр меньше чем за 3 миллисекунды на GPU – графическом процессоре, изначально созданном для отрисовки игровой графики, который делает тысячи мелких вычислений одновременно. Запустите ту же модель на обычном CPU, и она может занять от 90 до 120 миллисекунд – в три-четыре раза больше всего бюджета кадра. Та же модель, та же картинка; разница только в том, какой чип считает. Этот разрыв – и есть причина, почему фичи кажутся плавными на современном устройстве и рваными на старом.
Сделаем бюджет конкретным. Допустим, шаг сегментации занимает 4 миллисекунды, а шаг размытия – 6 миллисекунд:
4 мс (сегментация) + 6 мс (размытие) = 10 мс всего
33 мс бюджет − 10 мс занято = 23 мс в запасе → плавноТеперь представьте ту же работу на слабом CPU, где одна сегментация занимает 95 миллисекунд:
95 мс (сегментация) > 33 мс бюджет → каждый третий кадр роняетсяМатематика беспощадна, и она одна и та же – пользуетесь ли вы Zoom или делаете своё приложение. Как это вписывается в общий тайминг живого звонка, разобрано в нашем материале про бюджет задержки real-time до 100 мс.
Два способа понять, что такое «фон»: плоский и по глубине
Теперь самое интересное – и причина, почему размытый фон на вашем iPhone обычно выглядит лучше, чем на ноутбуке. Есть два принципиально разных способа решить, что считать фоном, и крупные приложения делятся между ними.
Первый способ – только сегментация, по одной плоской картинке. Модель смотрит на цвета, формы и края и угадывает, где заканчиваетесь вы и начинается комната. Она не знает, как далеко что находится; она знает лишь «это похоже на человека, то похоже на стену». Zoom, Microsoft Teams и Google Meet работают так, потому что должны запускаться на любой обычной веб-камере, которая снимает плоскую картинку без информации о расстоянии.
Второй способ добавляет глубину. Эффект Portrait на iPhone не просто распознаёт вашу форму – он измеряет, как далеко находится каждая часть сцены, и размывает по расстоянию, как настоящий объектив. Телефон берёт эту информацию о расстоянии из того, что у него больше одного объектива (небольшая разница между двумя точками обзора выдаёт глубину – так же, как ваши два глаза), а на Pro-моделях – из датчика LiDAR, активно измеряющего расстояние. Apple совмещает эту карту глубины с маской сегментации человека, вычисленной на Neural Engine – чипе внутри телефона, выделенном под ИИ-вычисления, – и получает размытие, которое плавно усиливается по мере удаления фона.
Этот плавный спад и есть причина, почему Portrait выглядит «кинематографично». Настоящий объектив не размывает фон равномерно; предметы сразу за вами слегка мягкие, а дальняя стена – очень мягкая. Фотографы называют размер каждой несфокусированной точки кругом нерезкости (circle of confusion): чем дальше точка от плоскости фокуса, тем больше и мягче её размытый диск. Размытие по глубине это воспроизводит. Плоское размытие по сегментации – нет: без данных о расстоянии оно размывает весь фон на одну и ту же фиксированную величину, отчего может выглядеть как наклейка вас, приклеенная на матовое стекло.
| Размытие по сегментации | Размытие по глубине | |
|---|---|---|
| Где используется | Zoom, Teams, Google Meet, большинство веб-камер | iPhone / iPad Portrait, Continuity Camera |
| Как решает | ML угадывает человек/фон по плоской картинке | Измеряет расстояние по пикселям, размывает по нему |
| Какое железо нужно | любая одна камера | несколько объективов или датчик LiDAR |
| Характер размытия | равномерное; весь фон одинаково мягкий | градиентное; ближе – резче, дальше – мягче |
| Типичная слабость | ореолы и смазывание на волосах и очках | нужно железо Apple; менее переносимо |
Таблица 1. Два инженерных подхода к размытию фона и почему iPhone Portrait обычно выглядит естественнее, чем размытие веб-камеры.
Что каждое приложение делает «под капотом»
Приложения интересно различаются, если заглянуть за кнопку.
Google Meet документирован наиболее открыто, потому что работает в браузере, где ничего не спрятать. Инженеры Google запускают модель сегментации на CPU – не на GPU – намеренно, через библиотеку XNNPACK, которая выжимает из процессора максимум скорости через WebAssembly (способ запускать код почти с нативной скоростью в браузере). Они выбрали CPU ради самого широкого охвата устройств и наименьшего расхода батареи. Модель выдаёт маску низкого разрешения, уточняет её края под реальное изображение, а само размытие отдаёт GPU через WebGL2 (графический интерфейс браузера). Их шейдер размытия намеренно имитирует объектив: он меняет силу размытия попиксельно пропорционально маске и взвешивает пиксели так, чтобы резкий передний план не «протекал» ореолом в мягкий фон.
Apple целиком опирается на выделенное железо. Neural Engine выдаёт качественную маску человека кадр за кадром, достаточно быстро, чтобы держать плавные 60 кадров в секунду во время живого звонка. Поскольку работа идёт на чипе, построенном специально под неё, а не на универсальном GPU-шейдере, расход батареи меньше – поэтому размытие Portrait почти не сокращает время работы iPhone. Apple строит эту технологию матовых масок с 2019 года, когда впервые открыла сегментационные matte, отделяющие не только человека, но и его волосы, кожу и зубы.
Zoom и Microsoft Teams поставляют собственные модели сегментации, заточенные под десктопы и телефоны. Самый чёткий инженерный отпечаток, который они оставляют, – это их требование к железу: Teams нужен процессор с поддержкой AVX2, набора инструкций CPU, ускоряющих именно ту массовую математику, которая нужна сегментации. Именно поэтому размытие фона тихо не появляется на некоторых старых или виртуализированных машинах – чип не может посчитать достаточно быстро, и функция прячется, лишь бы не дёргаться.
«Типичная ловушка: страх «не загружают ли мой фон?» – и его обратная сторона. Каждое размытие, описанное здесь, работает на вашем устройстве; ваши сырые кадры камеры не отправляются на сервер для обработки. Это хорошо для приватности. Но это создаёт ловушку для разработчиков: размытие – косметическое, а не защищённое. Несжатый кадр всё ещё существует в памяти устройства, и плохо написанное приложение может на долю секунды показать резкий кадр, когда камера включилась раньше, чем загрузилась модель. Если ваш продукт размывает фон ради приватности – телемедицина, юридическая сфера, HR, – вы обязаны придержать первые кадры, пока маска не готова, а не считать, что размытие мгновенно.»
Соберите это в своём продукте
Если вы добавляете размытие фона в свой веб-видеопродукт, браузер теперь даёт каждую нужную деталь, а архитектура повторяет три стадии из Рисунка 2. Выбор модели подробно разобран в нашем уроке про MediaPipe Selfie Segmentation с WebGPU; здесь – форма всего конвейера.
Вы подключаетесь к потоку камеры в точке сырых кадров – месте конвейера, где кадр ещё несжатое изображение с реальными пикселями. Браузер открывает её через два объекта: MediaStreamTrackProcessor, который отдаёт вам каждый входящий кадр камеры, и MediaStreamTrackGenerator, который позволяет вернуть изменённый кадр в звонок. Между ними – ваше преобразование: прогнать кадр через модель сегментации, получить маску, затем наложить размытую копию на резкий оригинал, используя маску как трафарет.
// Берём каждый кадр камеры, сегментируем, размываем фон, возвращаем обратно.
const processor = new MediaStreamTrackProcessor({ track: cameraTrack });
const generator = new MediaStreamTrackGenerator({ kind: "video" });
const transformer = new TransformStream({
async transform(frame, controller) {
const mask = await segmenter.segment(frame); // человек или фон
const output = composite(frame, blur(frame), mask); // вы резкие, комната мягкая
controller.enqueue(output);
frame.close(); // освобождаем память каждый кадр
},
});
processor.readable.pipeThrough(transformer).pipeTo(generator.writable);
const blurredStream = new MediaStream([generator]); // это отправляем в звонокДля модели сегментации MediaPipe Image Segmenter от Google поставляет готовую JavaScript-сборку с той же моделью Selfie Segmentation, которой пользуются крупные приложения. Шаг размытия и наложения делайте на GPU: либо WebGL2, как в Google Meet, либо более новый WebGPU, ставший доступным по умолчанию в Chrome, Edge, Firefox и Safari к концу 2025 года. Размытие на CPU – самая частая причина, почему самодельная версия дёргается.
Три ошибки ломают большинство первых попыток. Ореолы по краям: маска никогда не идеальна на волосах и очках, поэтому жёсткая граница оставляет светящуюся кайму – растушуйте край маски на несколько пикселей, чтобы переход был плавным. Временно́е мерцание: так как модель считает заново на каждом кадре, край маски дрожит от кадра к кадру и контур мерцает – смешивайте каждую маску немного с предыдущей, чтобы её успокоить. Утечки памяти: каждый VideoFrame держит реальную память и должен явно закрываться каждый кадр, иначе вкладка падает за минуты. Сделайте эти три вещи правильно – и размытие в браузере будет действительно production-уровня.
Где размытие в общей картине
Размытие фона – самый мягкий член большого семейства real-time ИИ-функций камеры, которые делят его двухшаговую форму: понять кадр, затем изменить его. Виртуальные фоны используют ту же маску, но рисуют картинку там, где было бы размытие. Бьюти-фильтры и коррекция взгляда меняют передний план, а не фон. Живые субтитры запускают другую модель на звуке, а не на видео. Каждая из них живёт в той же точке сырых кадров конвейера и подчиняется тому же 33-миллисекундному таймеру. Освоите размытие – освоите паттерн. А дотянетесь ли вы до точки сырых кадров вообще, решает выбранный video SDK – это разобрано в нашем сравнении WebRTC AI API и video SDK.
Есть и регуляторный нюанс. Поскольку размытие опирается на обнаружение человека, технически это детектор лица и тела, и там, где оно переходит в распознавание – определение, кто этот человек, – начинают действовать европейские правила. Само размытие никого не идентифицирует, поэтому остаётся в стороне, но командам, добавляющим поверх дополнительный анализ, стоит прочитать наш разбор про обнаружение лиц и EU AI Act до релиза.
Где здесь Фора Софт
Мы делаем real-time видеопродукты с 2005 года – видеоконференции, WebRTC-приложения, e-learning, телемедицину и живое видеонаблюдение, – и эффекты камеры на устройстве вроде размытия фона среди самых запрашиваемых функций у наших клиентов. Работа редко в самом размытии; она в том, чтобы размытие держалось стабильно на тысяче разных камер, телефонов и условий освещения, не разряжая батарею и не показывая резкий кадр в неподходящий момент. Особенно в телемедицине, где размытый фон защищает дом пациента, разница между косметическим размытием и приватным – это инженерное решение, принятое рано. Мы помогаем командам выбрать модель, чип и конвейер под продукт, чтобы функция, простая в демо, всё ещё работала на пятилетнем телефоне в плохо освещённой комнате.
Главное
- Размыть фон – это два-три касания в Zoom, Teams, FaceTime и Meet; Рисунок 1 показывает все пути.
- Под кнопкой маленькая нейросеть помечает каждый пиксель как человек или фон, затем размывает только фон.
- Всё пользовательское размытие работает на устройстве – хорошо для приватности, но размытие косметическое, а не защищённое.
- iPhone Portrait размывает по измеренному расстоянию, что выглядит естественнее плоского размытия веб-камер.
- Вся функция должна успеть за 33 миллисекунды на кадр, поэтому для плавности нужен GPU.
- Ту же функцию можно собрать в браузере: доступ к сырым кадрам, модель MediaPipe и шаг размытия на GPU.