УСТРОЙСТВА, СИСТЕМЫ И СПОСОБЫ ЗАХВАТА И ОТОБРАЖЕНИЯ ВНЕШНЕГО ВИДА
DEVICES, SYSTEMS AND METHODS OF CAPTURING AND DISPLAYING APPEARANCES

В настоящей заявке испрашивается приоритет по заявке US 13/843,001, поданной 15 марта 2013 г., и временной заявке US 61/738,957, поданной 18 декабря 2012 г. Полное содержание указанных заявок вводится в настоящую заявку посредством отсылки.
Область техники
Изобретение относится в целом системам получения и отображения изображений и, более конкретно, к мониторам и интерактивным дисплеям, например, в торговле и/или в сфере услуг, в медицине, в быту, для видеоконференций, для игр и т.п. Специальные реализации относятся к выполнению плоского дисплея, выполняющего функцию зеркала. Другая специальная реализация относится к выполнению плоского дисплея, обеспечивающего видеоизображение человека, смотрящего прямо в глаза при осуществлении видеоконференции.
Уровень техники
Покупатели могут приобретать потребительские товары, например, одежду, в частности, рубашки, брюки, куртки и другие предметы одежды, а также туфли, очки и/или другие изделия, такие как косметика, мебель и т.п. Приобретение товаров обычно осуществляется в торговых предприятиях, например, в розничных магазинах. Прежде чем принять решение о приобретении какой-либо вещи покупатель может захотеть их примерить, например, предметы одежды, и/или представить себя на фоне других изделий, таких как мебель, и каждый раз ему нужно посмотреть, как это выглядит, в зеркале, которое может быть установлено, например, в примерочной розничного магазина. Например, покупатель может примерить первую вещь, например костюм, и посмотреть в зеркале, как он выглядит в этом костюме. Затем покупатель может примерить вторую вещь, например другой костюм. Затем покупателю может быть необходимо запомнить, как он выглядит в первом случае, чтобы мысленно сравнить, как он выглядит в первом и втором костюмах, и оценить, какая вещь ему больше подходит (лучше сидит).
К сожалению, поскольку покупатель может примерить несколько вещей, и/или поскольку между примеркой второй и первой вещей может пройти много времени, или эти вещи могут примеряться в разных магазинах, покупатель может плохо помнить, как он выглядел во время первой примерки, и поэтому ему может понадобиться вернуться и снова примерить первый предмет одежды. Естественно, это может раздражать покупателей, и эффективность продаж снижается.
Традиционное зеркало (то есть, отражающая поверхность) представляет собой привычное и наиболее надежное средство для рассмотрения человеком своего реального внешнего вида в режиме реального времени. Были предложены различные альтернативные средства, представляющие собой комбинации телекамеры и экрана, которые позволяют заменить обычное зеркало. Однако эти технологии не стали привычными и не приняты еще как надежное средство изображения человека, которое работает точно так же, как и обычное зеркало. Это связано с тем, что изображение, формируемое камерой, очень отличается от изображения в зеркале.
Когда человек смотрит на себя в зеркале, он видит свое отражение, которое находится от него на расстоянии, превышающем расстояние до зеркала в два раза. Это иллюстрируется на фигуре 5A, на которой пользователь, стоящий на расстоянии D1 от зеркала, видит себя на расстоянии 2×D1. Аналогично, как показано на фигуре 5B, пользователь, стоящий на расстоянии D2 от зеркала, будет видеть себя на расстоянии 2×D2. Кроме того, угол поля зрения (FOV) пользователя изменяется, когда это расстояние изменяется, например, когда пользователь подходит ближе к зеркалу. Поле зрения ограничивается углом (β) зеркального отражения от зеркала между глазом пользователя и краем видимого изображения по всем сторонам зеркала (по четырем сторонам для прямоугольного или квадратного зеркала). На фигуре 5B нижняя линия поля зрения по вертикали показана проходящей под двойным углом (β), формируемым линиями, соединяющими глаза пользователя с нижним краем зеркала и отражающимися на туфли пользователя. Соответственно, как показано на фигуре 5B, когда пользователь приближается к зеркалу, поле зрения увеличивается (FOV1<FOV2), и он продолжает видеть отражение такого же размера, так что пользователь фактически видит себя примерно такого же размера, но ближе. В этом заключается существенная разница от телекамеры, то есть, когда пользователь подходит ближе к телекамере, его размеры кажутся больше. Это происходит главным образом потому, что поле зрения телекамеры фиксировано и определяется в основном размерами линзы камеры или фокусным расстоянием.
Следует отметить и другие эффекты, связанные с отражением в зеркале. Например, когда пользователь приближается к зеркалу, отражение его глаз будет всегда проходить от зеркала по одной и той же виртуальной линии. В случае камеры, в зависимости от ее высоты, по мере того как пользователь подходит ближе к камере, его глаза могут казаться находящимися на разной высоте. Другое отличие от камеры заключается в том, что когда пользователь смотрит в зеркало, его изображение инвертируется (например, если поднять правую руку, то изображение в зеркале поднимает левую руку). Однако зеркало не меняет местами левую и правую стороны в большей степени, чем оно меняет местами верхнюю и нижнюю части. Зеркало меняет направления вперед-назад (то есть, находящееся перед зеркалом кажется находящимся за ним), и мы определяем направления влево-вправо относительно направлений вперед-назад. Кроме того, поскольку изображение в зеркале имеет виртуальный характер, то зеркало может иметь меньшие размеры, чем тело человека, и пользователь все-таки будет видеть в нем свое полное отражение. Дело в том, что зеркальное отражение (на фигуре 5А угол β падения равен углу β отражения) может увеличивать эффективное поле зрения, когда пользователь приближается к зеркалу. Кроме того, хотя зеркало представляет собой двухмерный объект, пользователь видит в нем свое трехмерное изображение.
По меньшей мере некоторые из вышеуказанных причин не позволили до сих пор создать систему, которая бы полностью заменяла зеркало. Система, имитирующая зеркало, может иметь самые разные применения в торговле и в других областях, открывая возможности объединения реальных, ощущений с виртуальными, например, в социальных сетях и других мобильных технологиях.
Сущность изобретения
Некоторые иллюстративные варианты осуществления изобретения содержат устройства, системы и/или способы, обеспечивающие возможность сравнения внешнего вида.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения система, обеспечивающая возможность сравнения внешнего вида, может содержать по меньшей мере одну интерактивную станцию получения и отображения изображений. Станция может содержать, например: устройство "зеркало-дисплей", которое может выборочно работать в режиме зеркала и/или дисплея; устройство получения изображений для захвата одного или нескольких изображений внешних видов в поле зрения перед устройством "зеркало-дисплей"; и/или блок управления изображениями для задания режима работы устройства "зеркало-дисплей" по команде пользователя. Устройство "зеркало-дисплей" может быть в форме плоского телевизора, причем при работе в режиме зеркала телевизор показывает преобразованные изображения видеопотока, получаемого из камеры в режиме реального времени, а в режиме дисплея он показывает преобразованные изображения видеопотока, полученные ранее и извлеченные из запоминающего устройства.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения блок управления изображениями может содержать устройство ввода данных для приема команд пользователя.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения блок управления изображениями может содержать устройство хранения данных для хранения информации одного или нескольких изображений, которые могут соответствовать одному или нескольким внешним видам.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения устройство "зеркало-дисплей" может быть разделено по меньшей мере на первую и вторую части, на которых одновременно могут отображаться изображения. Первая часть может выборочно работать как в режиме зеркала, так и в режиме дисплея. Вторая часть может работать, например, в режиме зеркала.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения устройство получения изображений может быть способно захватывать трехмерные изображения внешнего вида.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения устройство "зеркало-дисплей" может быть способно отображать изображения внешних видов в заданных последовательностях.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения блок управления изображения может обеспечивать возможность пользователю осуществлять доступ к изображениям внешних видов, разрешенным этому пользователю, например, на основе идентификационных данных, полученных от пользователя.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения указанная по меньшей мере одна интерактивная система получения и отображения изображений может содержать две или более интерактивных станций получения и отображения изображений, способных обмениваться информацией по сети. Например, две или более станций могут обмениваться между собой информацией, представляющей собой изображения внешних видов.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения блок управления изображения может управлять устройством "зеркало-дисплей" для отображения, например, в режиме дисплея, одного или нескольких изображений, соответствующих внешним видам. Одно или несколько изображений могут содержать, например, одно или несколько зеркальных изображений внешних видов. Зеркальные изображения внешних видов получают путем преобразования изображений или видеопотока, полученного из камеры, для формирования изображений и видеопотока, которые будучи отображенными на мониторе, соответствуют отражению внешнего вида в зеркале.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения способ, обеспечивающий возможность сравнения внешнего вида, может включать: использование работы устройства "зеркало-дисплей", способного выборочно работать в режиме зеркала или дисплея, в режиме зеркала; захват изображения, соответствующего внешнему виду во время первой примерки перед устройством "зеркало-дисплей"; запись изображения первой примерки для хранения; задание работы устройства "зеркало-дисплей" в режиме дисплея; и/или считывание изображения первой примерки и отображение его на устройстве "зеркало-дисплей".
В других вариантах предложены способы и устройства, использующие камеры и плоский дисплей для формирования правдоподобного зеркального изображения внешнего вида.
Краткое описание чертежей
[0021] Объект настоящего изобретения наиболее подробно определен и четко заявлен в заключительной части заявки. Однако изобретение в отношении организации и способа работы, вместе с его признаками и достоинствами лучше всего можно будет понять из нижеприведенного подробного описания вместе с прилагаемыми чертежами, на которых показано:
Фигура 1 - схематический вид интерактивной системы, обеспечивающей возможность сравнения внешнего вида, в соответствии с некоторыми иллюстративными вариантами осуществления изобретения.
Фигуры 2A и 2B - схематические иллюстрации двух последовательных стадий сравнения внешнего вида с использованием интерактивной системы в соответствии с некоторыми иллюстративными вариантами осуществления изобретения.
Фигуры 3A, 3B и 3C - схематические иллюстрации трех последовательных стадий сравнения внешнего вида с использованием интерактивной системы в соответствии с некоторыми иллюстративными вариантами осуществления изобретения.
Фигура 4 - блок-схема способа, обеспечивающего возможность сравнения одного или нескольких внешних видов пользователя в соответствии с некоторыми иллюстративными вариантами осуществления изобретения.
Фигуры 5A и 5B - схемы отражения пользователя в зеркале.
Фигура 6 - вид варианта с одной камерой или несколькими камерами, расположенными по вертикали на уровне глаз пользователя, для обеспечения низкого уровня искажений изображения.
Фигура 7 - схематический вид, иллюстрирующий приближение пользователя к зеркалу или удаление от него, при использовании камеры, установленной вверху экрана и направленной по горизонтали.
Фигура 8 - схематический вид системы, в которой камера установлена над экраном монитора и наклонена вниз.
Фигура 9 - блок-схема варианта системы по настоящему изобретению, в которой выполняется преобразование для получения изображения, имитирующего отражение в зеркале.
Фигуры 10A и 10B - схематические виды, иллюстрирующие процесс калибровки в соответствии с вариантами осуществления изобретения.
Фигура 11 - блок-схема способа по одному из вариантов осуществления изобретения.
Фигура 12 - блок-схема, на которой иллюстрируются модули и процессы, используемые для выполнения калибровки и преобразования изображения по одному из вариантов осуществления изобретения.
Фигура 13 - схема другого варианта, в котором калибровка и формирование алгоритма преобразования осуществляются на месте после установки системы.
Фигура 14 - блок-схема способа извлечения данных из изображения, получаемого камерой.
Фигура 15 - блок-схема варианта, в котором осуществляется соединение ("сшивание") изображений, получаемых из n камер.
Фигура 16 - схема варианта, в котором обеспечивается точное изображение глаз для имитации взгляда пользователя прямо себе в глаза (как в зеркале).
Следует иметь в виду, что для упрощения и наглядности иллюстрации изобретения элементы на фигурах могут быть воспроизведены не совсем точно или не в масштабе. Например, размеры некоторых элементов могут быть непропорционально увеличены относительно других элементов для наглядности или для показа нескольких физических компонентов, входящих в один элемент. Кроме того, там, где это уместно, на разных фигурах могут использоваться одинаковые ссылочные номера для указания соответствующих или аналогичных элементов. Следует понимать, что прилагаемые фигуры представляют примеры реализации настоящего изобретения и не должны рассматриваться как ограничения объема изобретения.
Подробное описание изобретения
В нижеприведенном описании будут рассмотрены различные аспекты настоящего изобретения. Для целей подробного описания приведены конкретные конфигурации и их детали, чтобы обеспечить всестороннее понимание настоящего изобретения. Однако специалисту в данной области техники будет ясно, что настоящее изобретение может быть осуществлено и без некоторых таких конкретных деталей. Кроме того, некоторые признаки изобретения, основанные на принципах и реализациях, известных в технике, могут быть опущены или упрощены, чтобы излишне не загромождать описание.
Некоторые иллюстративные варианты осуществления изобретения могут содержать интерактивную систему, обеспечивающую пользователю возможность сравнения одного или нескольких его внешних видов, например, сравнения разных внешних видов, как это будет описано ниже.
Термин "внешний вид пользователя", как он используется в настоящем описании, относится к внешнему виду покупателя, который примеряет некоторую вещь. Такой вещью может быть, например, предмет одежды, обуви, аксессуары, очки, галстуки и т.п., товар, например мебель, расположенный возле покупателя, а также другие изделия, товары или продукты, такие как, например, косметика, головные уборы, прическа и т.п. Аналогично, некоторые варианты осуществления изобретения могут использоваться для технических целей, например, в разработке моделей одежды, когда нужно просмотреть различные версии модели, и другие варианты могут использоваться пользователями в своих домах для создания альбомов, содержащих изображения членов семьи.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения система может включать устройство получения изображений, способное захватывать изображения внешнего вида пользователя, и устройство "зеркало-дисплей", способное выборочно работать в режиме зеркала или в режиме дисплея. При работе в режиме зеркала устройство "зеркало-дисплей" может обеспечивать пользователю возможность оценки и/или просмотра его внешнего вида в процессе примерки изделия в режиме реального времени. Как это будет описано подробно ниже, это осуществляется путем вывода видеопотока в режиме реального времени на дисплей с плоским экраном, причем перед выводом видеопотока на экран дисплея осуществляется его преобразование для имитации изображения в зеркале. При работе в режиме дисплея устройство "зеркало-дисплей" может обеспечивать пользователю возможность оценки и/или просмотра одного или нескольких его внешних видов, например, полученных ранее устройством получения изображений во время предыдущей примерки, например, как это будет описано подробно ниже.
На фигуре 1 приведена блок-схема интерактивной системы 100 в соответствии с некоторыми иллюстративными вариантами осуществления изобретения.
В соответствии с этими вариантами система 100 может содержать интерактивную станцию 110 получения и отображения изображений, которая может включать блок 120 управления изображениями, устройство 130 получения изображений (например, фото- или видео-камера), а также устройство 140 "зеркало-дисплей" (например, дисплей с плоским экраном). Блок 120 управления изображениями может содержать контроллер 121, сетевой интерфейс 122, устройство 123 хранения данных и устройство 124 ввода данных. Все эти устройства будут подробно описаны ниже.
Аспекты настоящего изобретения описываются здесь в контексте иллюстративных вариантов устройства получения изображений, например, устройства 130 получения изображений, устройства "зеркало-дисплей", например, устройства 140 "зеркало-дисплей", и/или блока управления изображениями, например, блока 120 управления изображениями, которые являются отдельными компонентами системы сравнения внешнего вида, например, системы 100. Однако специалистам в данной области техники будет понятно, что изобретение не ограничивается только таким вариантом, и что в соответствии с другими вариантами осуществления изобретения система может представлять собой любую подходящую конфигурацию, комбинацию и/или организацию устройства получения изображений, устройства "зеркало-дисплей" и/или блока управления изображениями. Например, система может содержать единый модуль, включающий устройство "зеркало-дисплей", устройство получения изображений и/или блок управления изображениями. Например, устройство получения изображений и/или блок управления изображениями могут быть реализованы как неотъемлемая часть устройства "зеркало-дисплей".
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения устройство 140 "зеркало-дисплей" может быть сконфигурировано и/или может включать компоненты и механизмы, обеспечивающие возможность работы устройства 140 выборочно в двух режимах. В первом режиме работы устройство 140 "зеркало-дисплей" может работать как зеркало. Во втором режиме работы устройство 140 "зеркало-дисплей" может работать как дисплей. Когда устройство 140 "зеркало-дисплей" работает в режиме зеркала, пользователь 111 системы 110 может оценивать и/или рассматривать свой внешний вид при первой примерке какой-либо вещи, причем в этом случае устройство 140 работает в режиме реального времени. Устройство 130 получения изображений может захватывать изображение внешнего вида пользователя в процессе первой примерки. Полученное изображение может быть записано для хранения в устройстве 123 хранения данных, например, как это будет описано ниже. Затем пользователь 111 может встать перед устройством 140 "зеркало-дисплей", примеряя вторую вещь, и устройство 130 получения изображений может захватывать второе изображение внешнего вида пользователя в процессе второй примерки. Пользователю может обеспечиваться возможность рассматривать примерку второй вещи в режиме реального времени, используя устройство 140 "зеркало-дисплей", установленный в режим работы "зеркало". После переключения устройства 140 в режим работы "дисплей" может осуществляться отображение на устройстве 140 одного или нескольких ранее записанных изображений. Используя возможность выборочного задания работы устройства 140 в режиме "зеркало" или "дисплей", пользователь 111 может сравнивать одновременно или последовательно, изображения своего внешнего вида в процессе первой и второй примерок, как это подробно описано ниже.
В некоторых иллюстративных вариантах осуществления изобретения, например, показанных на фигурах 1, 2A, 2B, 3a и/или 3B, контроллер 121 может осуществлять управление блоком 140 для отображения в режиме работы "дисплей" также зеркальных отражений внешнего вида. Однако специалистам в данной области техники будет понятно, что изобретение не ограничивается только этой возможностью, и что в других вариантах контроллер может осуществлять управление устройством 140 для отображения в режиме "дисплей" также и других изображений, относящихся к внешнему виду, например, повернутое изображение, инвертированное изображение, по существу неизмененное изображение, например, изображение в фас, тонированное изображение и т.п., например, как это будет описано ниже.
Устройство 140 может содержать любую подходящую конфигурацию и/или механизм для обеспечения выборочного задания работы в первом или втором режимах. Например, в одном из вариантов устройство 140 может представлять собой массив жидкокристаллических элементов, которые могут изменять свои оптические характеристики, такие как отражательная способность, коэффициент преломления и т.п., например, в зависимости от напряжения, подаваемого на жидкие кристаллы. Например, при подаче первого напряжения оптические характеристики жидких кристаллов могут изменяться таким образом, что устройство 140 "зеркало-дисплей" может работать как зеркало, и при подаче второго напряжения оптические характеристики жидких кристаллов могут изменяться таким образом, что устройство 140 "зеркало-дисплей" может работать как жидкокристаллический дисплей.
В другом варианте устройство 140 "зеркало-дисплей" может содержать жидкокристаллический дисплей, вделанный в полупрозрачное или одностороннее зеркало. Соответственно, если жидкокристаллический дисплей выключен, то устройство 140 "зеркало-дисплей" может пассивно отражать достаточное количество падающего на него света, чтобы пользователь видел в нем свое отражение с достаточным качеством и достаточной яркостью. Если же жидкокристаллический дисплей включен, то выводимые на него изображения могут быть видны пользователю 111, поскольку их яркость может быть существенно выше яркости света, отражаемого от поверхности устройства "зеркало-дисплей". В других вариантах система реализуется в автономном компьютере без отдельного дисплея, так что покупатель системы может сам подобрать подходящий дисплей, или же система может использоваться без дисплея, но изображения могут выводиться на мобильные устройства или планшеты пользователей, так что они могут видеть себя на своих мобильных устройствах и осуществлять дистанционное управление записью информации.
Кроме того, в некоторых случаях камера может быть расположена на удалении от дисплея, например, в магазинах категории "люкс" экран дисплея может быть вделан в стену, а камера с соответствующими объективами может быть расположена на удалении от дисплея.
[0051] В соответствии с некоторыми иллюстративными вариантами осуществления изобретения устройство 140 "зеркало-дисплей" может быть реализовано с помощью жидкокристаллического HD ready-телевизора в зеркале, такого как, например, модель 32РМ8822/10 фирмы Royal Philips Electronics (см. описание на сайте http://www.research.philips.com/newscenter/archive/2003/mirrortv.html-). Такое устройство может содержать, например, органический светоизлучающий дисплей на основе полимера (OLED). Устройство 140 "зеркало-дисплей" может представлять собой любое другое подходящее устройство, в котором реализована любая подходящая технология отображения изображений. Например, в устройстве 140 может использоваться такие дисплеи как: дисплей с эмиссией электронов из нанотрубок (NED); плазменная панель (PDP); дисплей на электронно-лучевой трубке (CRT); дисплей с цифровой обработкой света (DLP); дисплей с поверхностными излучателями электронов (SED); планшетный дисплей; плоский SED-дисплей; дисплей на органических электронных элементах; электронная бумага; трехмерный дисплей, например, голографический дисплей; дисплей на тонкопленочных резисторах (TFT); оптический TFT-дисплей, светодиодный матричный дисплей; ЖК-дисплей с возможностями устройств с зарядовой связью, так что устройство 140 "зеркало-дисплей" может выполнять функции устройства 130 получения изображений; окрашиваемый ЖК-дисплей; телевизионный дисплей с высоким разрешением (HDTV); дисплей с проекционным экраном (рирпроектор) и т.п.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения устройство 130 получения изображений может быть приспособлено для захвата изображений одного или нескольких внешних видов в поле зрения перед устройством 140 "зеркало-дисплей". Поле зрения перед устройством 140 "зеркало-дисплей" может включать, например, поле, зону, область, участок и/или площадку перед устройством 140 "зеркало-дисплей". Например, поле зрения может включать по меньшей мере часть поля, зоны, области, участка и/или площадки, которая отражается в устройстве 140, когда оно работает в режиме зеркала.
Устройство 130 получения изображений может представлять собой или может содержать камеру на приборах с зарядовой связью, видеокамеру, фотокамеру и/или съемочную установку, обеспечивающую получение трехмерных изображений, например, стереоскопическую камеру и т.п. Стереоскопическая камера может быть приспособлена, например, для получения трехмерного изображения внешнего вида пользователя. Стереоскопическая камера может, например, содержать две линзы, расстояние между которыми соответствует расстоянию между глазами человека. Соответственно, стереокамера может быть способна имитировать бинокулярное зрение человека, в результате чего она может обеспечивать получение трехмерного изображения.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения станция 110 может представлять собой автономный блок, который может быть расположен в зоне сравнения внешнего вида, находящейся в нужном месте, например, в офисе, дома или в магазине, например, в магазине готовой одежды.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения станция 110 может быть подсоединена, например, через сетевой интерфейс 122, к сети, например, к сети 150, в результате его обеспечивается связь между станцией 110 и одной или несколькими другими станциями, подсоединенными к сети 150, такими как станция 160 и/или станция 170.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения станция 110 может содержать сетевой интерфейс 122, который может быть приспособлен для взаимодействия с сетью 150, чтоб обмениваться информацией с другими станциями в сети 150. Такая информация может содержать, например, данные, соответствующие изображениям пользователей, полученным на различных станциях системы 100, например, на станции 160 и/или 170, а также идентифицирующую информацию пользователей для обеспечения защищенного доступа в систему, как это будет описано ниже. Сетью 150 может быть, например: локальная сеть (LAN), региональная сеть (WAN), глобальная коммуникационная сеть, например, сеть Internet, беспроводная коммуникационная сеть, такая как беспроводная сеть LAN (WLAN), сеть Bluetooth, виртуальная частная сеть (VPN), сотовая сеть связи, for example, сеть Проекта партнерства третьего поколения (3GPP), такая как, например, сеть дуплексной связи с частотным разделением каналов (FDD), сеть глобальной системы мобильной связи (GSM), сотовая сеть связи WCDMA (широкополосный многостанционный доступ с кодовым разделением каналов) и т.п.
[0057] В соответствии с некоторыми иллюстративными вариантами осуществления изобретения одна или несколько станций 160, 170 могут быть портативными устройствами. Неограничивающие примеры таких портативных устройств включают мобильный телефон, лэптоп, ноутбук, нетбук, планшет, устройство персональной системы связи, карманный персональный компьютер, устройство беспроводной связи, карманный персональный компьютер с встроенным устройством беспроводной связи, сотовый телефон, смарт-карта, карта памяти, блок памяти и т.п. В некоторых вариантах осуществления изобретения одна или несколько станций 160, 170 могут быть стационарными устройствами, такими как, например, настольный компьютер, телевизор, сервер и т.п.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения система 100 может также содержать центр 190 управления, который может быть соединен со станциями 110, 160 и/или 170, например, по сети 150. Центр 190 управления может принимать и хранить данные, которые могут представлять, например, изображения внешнего вида пользователей, полученные из одной или нескольких станций 110, 160 и/или 170.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения станции 110, 160 и/или 170 могут быть расположены в разных местах, например, в разных магазинах одной торговой сети. Станции 110, 160 и/или 170 также могут быть расположены в разных местах одного здания, например, на разных этажах, в разных секциях на одном этаже и т.п. Такими местами могут быть, например, магазины готовой одежды, обувные магазины, торговые точки, демонстрационные залы, выставки, торговые центры, магазины оптики, магазины косметики, спортивные клубы, центры здоровья, фитнесс-центры, железнодорожные вокзалы, рестораны, гостиницы, жилые дома и т.п. Одна или несколько станций 110, 160, 170 могут быть также использованы в качестве интерактивных досок объявлений. Например, устройство 130 получения изображений может захватывать изображения, которые могут быть отображены на доске объявлений (не показана). Система 100 может обеспечивать возможность пользователю 111 выбора изображения, которое должно отображаться на доске объявлений, из множества изображений, например, из различных предыдущих результатов примерок одежды.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения изображения внешнего вида пользователя могут просматриваться в разных местах. Например, устройство 130 получения изображений может захватить изображение первой примерки. Затем изображение может быть передано из сетевого интерфейса 122 по сети 150 с использованием сообщений 151 и 152, например, на станцию 160. Соответственно, пользователь 111 будет иметь возможность увидеть изображение первого внешнего вида пользователя на станции 160. Поэтому пользователь 111 может иметь возможность просмотра, например, первой примерки пользователем в первом магазине торговой сети, например, в магазине, связанном со станцией 110, и может сравнить внешний вид во время первой примерки с внешним видом во время второй примерки, которая может происходить во втором магазине этой же или аффилированной сети, например, в магазине, связанном со станцией 160, и/или в другое время, например, через несколько часов, дней или недель после первой примерки.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения устройство 130 получения изображений может получать изображения внешнего вида пользователя во время первой примерки и передавать изображение через сетевой интерфейс 122 по сети 150 в центр 190 управления, где эти изображения могут быть сохранены для последующего считывания. Соответственно, пользователь 111 может получить доступ к изображениям первой примерки на любой станции, например, на станции 160, подсоединенной к центру 190 управления по сети 150.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения устройство 123 хранения данных может быть, например, накопителем на жестком диске, накопителем на гибком диске, CD-накопителем, CD-ROM-накопителем или иным подходящим съемным или стационарным накопителем информации.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения контроллер 121 может представлять собой или может содержать, например, центральный процессор, процессор обработки цифровых сигналов, микропроцессор, контроллер, чип, микрочип, интегральную схему или любой другой подходящий универсальный или специализированный процессор или контроллер, например, такие устройства, которые известны в технике.
Устройство 124 ввода данных может представлять собой клавиатуру, пульт дистанционного управления, указательное устройство, такое как, например, лазерная указка, мышь, сенсорная площадка (тачпад), сенсорный экран, который может быть вделан, например, в устройство 140 "зеркало-дисплей", или же может быть реализовано в форме другого подходящего устройства, например, отдельно от устройства 140, биометрическое устройство ввода, например, сканер отпечатка пальца и/или камеру для сканирования лица, и/или любое другое подходящее указательное устройство или устройство ввода информации. Устройство 124 ввода данных может быть приспособлено для приема информации, идентифицирующей пользователя, например, для обеспечения доступа, например, защищенного доступа, пользователя 111 в систему 100, как это описано ниже.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения пользователь 111 может вводить команды с помощью устройства 124 ввода данных для управления работой устройства 130 получения изображений. Устройство 124 ввода данных может содержать, например, интерфейс, обеспечивающий возможность пользователю 111 системы 100 задавать параметры работы устройства 130 получения изображений. Контроллер 121 может принимать входную информацию от пользователя 111 в форме сообщений 131 и осуществлять соответствующее управление работой устройства 130 получения изображений. Команды пользователя могут содержать, например, команды, относящиеся к заданию моментов времени для получения изображений, к позиционированию устройства 130 получения изображений, например, в соответствии с алгоритмом автоматического сопровождения для слежения за положением пользователя 111, и/или характеристики получения изображения, такие как фокус, положение камеры, угол съемки, динамический диапазон и т.п. Команды пользователя могут также содержать команды задания режимов работы устройства 130 получения изображения, таких как, например, режим видеосъемки, режим фотосъемки и т.п. В соответствии с некоторыми вариантами осуществления изобретения устройство 130 получения изображений может содержать устройство записи звука, такое как, например, микрофон, и/или выходное звуковое устройство, такое как, например, громкоговоритель. Соответственно, устройство получения изображений может принимать звуковые сигналы, например, речь пользователя 111, которая может быть записана и может храниться, например, в устройстве 123 хранения данных, и выводить звуковую информацию через выходное звуковое устройство. Выходное звуковое устройство может воспроизводить любые другие виды звуковой информации, такие как радиопрограммы, записи на компакт-дисках и т.п.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения контроллер 121 может, например, задавать режим работы устройства 140 "зеркало-дисплей" в соответствии с командами, получаемыми от пользователя 111. Например, если устройство 140 "зеркало-дисплей" работает в режиме зеркала, пользователь системы 100 может ввести с помощью устройства 124 ввода данных команду на переключение, например, путем нажатия на определенную кнопку устройства 124 для переключения устройства 140 в режим дисплея. Контроллер 121 может принимать вводимую информацию из устройства 124 ввода данных и может передавать в устройство 140 команду на переключение в режим дисплея, например, с использованием сообщений 141.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения устройство 130 получения изображений может быть установлено в различных положениях, например, сверху, внизу или на одной из сторон устройства 140 "зеркало-дисплей" для получения изображений внешнего вида пользователя 111, относящихся к примерке какого-либо предмета одежды, или изображений пользователя на фоне различных товаров, например, на фоне какой-либо мебели. В некоторых вариантах осуществления изобретения устройство 130 получения изображений может захватывать изображение внешнего вида пользователя, как оно появляется в устройстве 140 "зеркало-дисплей", то есть, зеркальное изображение пользователя. В других вариантах устройство 130 получения изображений может захватывать изображение внешнего вида, и контроллер 121 может формировать зеркальное изображение, соответствующее внешнему виду, захваченному устройством 130. Например, в устройстве 123 хранения данных могут быть записаны команды, при выполнении которых контроллером может выполняться любой подходящий способ или алгоритм поворота, инверсии и/или зеркального отражения внешнего вида, захваченного устройством 130 получения изображений, в результате чего формируется информация изображения, представляющая повернутое, инвертированное и/или зеркально отраженное изображение, сгенерированное из изображения, полученного устройством 130. В соответствии с этими вариантами контроллер 121 может осуществлять управление работой устройства 140 "зеркало-дисплей" для отображения в режиме дисплея повернутого, инвертированного и/или зеркально отраженного изображения. В других вариантах контроллер 121 может осуществлять управление работой устройства 140 "зеркало-дисплей" для отображения в режиме дисплея изображения, соответствующего изображению, захваченному устройством 130, например, без поворота, без инверсии и/или без зеркального отражения. В некоторых вариантах устройство 130 получения изображений может быть не видно пользователю 111 и может быть расположено позади устройства 140 "зеркало-дисплей", и/или может быть вделано в него, причем устройство 140 может быть, например, ЖК-дисплееем с возможностями приборов с зарядовой связью, который может как отображать, так и захватывать изображения. Например, в одном из иллюстративных вариантов осуществления изобретения устройство 140 может содержать экран или поверхность, содержащую жидкие кристаллы для обеспечения отображения информации в режимах зеркало/дисплей, например, как это было описано, а также возможность получения изображений, то есть устройство 140 может выполнять функции вышеописанных устройств 130 и 140.
В некоторых иллюстративных вариантах осуществления изобретения одна или несколько станций 110, 160 и/или 170 могут не содержать устройство 130 получения изображений, и/или одна или несколько станций 110, 160 и/или 170 могут не содержать устройство 140 "зеркало-дисплей". Например, первая станция системы 100 может содержать только устройство 130 получения изображений и может не содержать устройство 140 "зеркало-дисплей". Пользователь 111 может использовать первую станцию для захвата изображений внешнего вида пользователя во время первой примерки, например, без возможности просмотра получаемых при этом изображений. Позднее пользователь 111 может посмотреть изображения, полученные во время первой примерки, на другой станции системы 100, которая содержит устройство 140 "зеркало-дисплей".
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения устройство 130 получения изображений может быть расположено таким образом, чтобы обеспечивалась возможность захвата изображения и/или последовательности изображений, видео или аналогичной информации, зоны, находящейся перед устройством 140 "зеркало-дисплей". Вместо этого или дополнительно к этому устройство 130 получения изображений может быть расположено таким образом, чтобы оно захватывало изображение, отраженное от устройства 140 "зеркало-дисплей". Например, устройство 130 получения изображений может быть способно захватывать изображение пользователя 111, стоящего перед устройством 140 "зеркало-дисплей". Пользователь 111, находясь перед устройством 140 "зеркало-дисплей", может оценивать свой внешний вид во время первой примерки одежды. В соответствии с командой, введенной пользователем 111 с помощью устройства 124 ввода информации, устройство 130 получения изображений может захватывать изображения внешнего вида пользователя, который может примерять, например, какой-либо предмет одежды. Следует отметить, что примерка может также включать вид пользователя 111 вместе с различными объектами, которые могут находиться возле него, такими как мебель, обстановка помещения и т.п. Соответственно, устройство 130 получения изображений может захватывать внешний вид пользователя 111, например, во время первой примерки, второй примерки и т.д., и может передавать соответствующие полученные изображения в устройство 123 хранения данных с использованием сообщений 131 и 30. Затем пользователь может вызывать записанные изображения, например, первой примерки, второй примерки и других последующих примерок для их сравнения, как это описано ниже со ссылками на фигуры 2A, 2B и 2C.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения устройство 123 хранения данных может быть приспособлено для приема данных, представляющих изображения, полученные устройством 130, и записывать для хранения изображения внешнего вида, более конкретно, внешнего вида пользователя, например, примеряющего предметы одежды. Изображения внешнего вида пользователя для заданных примерок могут быть вызваны из устройства 123 хранения данных, например, контроллером 121 и отображены на дисплее 140. Пользователь 111 может осуществлять сравнение отображаемых изображений, например, как это будет описано ниже.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения устройство 123 хранения данных может содержать данные, представляющие собой программы, в которых требуются идентификационные данные пользователя, такие как идентификатор пользователя, пароль, время входа в систему, биометрические данные и т.п., для обеспечения защищенного доступа на станцию 110, как это будет описано ниже. Например, контроллер 121 может осуществлять управление устройством 140 "зеркало-дисплей" для отображения изображений, соответствующих личности пользователя 111, например, в соответствии с обеспечиваемыми им идентификационными данными. Например, пользователь 111 может обеспечивать устройство 124 ввода данных своими идентификационными данными, которые могут включать биометрические данные, такие как изображение лица, отпечаток ладони, отпечаток пальца, изображение сетчатки глаза, голос и т.п. Данные, вводимые для идентификации пользователя, могут включать другие подходящие признаки, такие как кредитная карточка, личный идентификационный номер, пароль, смарт-карта, карточка покупателя, клубная карточка и т.п. Контроллер 121 проверяет в соответствии с любым подходящим способом и/или алгоритмом, совпадают ли данные, введенные с помощью устройства 124 ввода данных, с информацией, идентифицирующей пользователя, которая может храниться, например, в устройстве 123 хранения данных или в центре 190 управления. В качестве программного обеспечения для подтверждения вводимых биометрических данных может использоваться, например, "Active ID Face Vision technology" компании Geometric Inc. Если контроллер 121 определяет совпадение данных, введенных пользователем 111, с записанными идентификационными данными, то контроллер 121 может обеспечивать пользователю 111 возможность доступа к данным, представляющим, например, изображения предыдущих внешних видов пользователя 111.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения устройство 123 хранения данных может содержать данные, представляющие, например, программные алгоритмы, обеспечивающие дополнительные системные возможности, такие как визуализация виртуальных эффектов на устройстве 140 "зеркало-дисплей". Например, контроллер может быть способен выводить на устройство 140 "зеркало-дисплей" изображения внешнего вида пользователя вместе с виртуальными объектами, такими как, например, одежда, головные уборы, прически, мебель и т.п. Кроме того, контроллер 121 может быть способен отображать на устройстве 140 "зеркало-дисплей" внешнего вида пользователей, имеющих разные формы тела, для моделирования уменьшения или увеличения веса пользователя и т.п. Например, пользователь 111 может выбрать для первой примерки определенный предмет одежды, например, костюм из некоторой коллекции, и контроллер 121 может "надеть" костюм на изображение пользователя 111, выводимое на устройство 140 "зеркало-дисплей". Контроллер 121 может записывать изображения первой примерки в устройстве 123 хранения данных и может осуществлять эту же стадию для второй примерки. Соответственно, пользователь 111 системы 100 будет иметь возможность сравнивать свои изображения в первой и второй примерках.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения контроллер 121 может обеспечивать, например, возможности просмотра изображений и/или видеофайлов, повторения воспроизведения изображений и/или видеофайлов, причем функциональные возможности могут быть заранее определены системой 100 или же могут быть определены во время работы, в соответствии с командами пользователя 111, введенными им с помощью устройства 124 ввода данных. Например, контроллер 121 может обеспечивать возможность вызова одного или нескольких предыдущих изображений внешнего вида пользователя и отображать их на устройстве 140 "зеркало-дисплей" в разной последовательности. Например, изображения, полученные в предыдущих примерках, могут отображаться по существу непрерывно вперед, назад или выбираться случайным образом и в любой последовательности. Кроме того, изображения предыдущих примерок могут отображаться одновременно на устройстве 140 "зеркало-дисплей", как это будет описано ниже. Контроллер 121 может также обеспечивать удаление ранее записанных изображений внешнего вида пользователя, ограничивать объем данных, которые могут быть сохранены в устройстве 123 хранения данных, и другие аналогичные функции, а также может дополнительно управлять размером, формой, цветом и т.д. изображений, отображаемых на устройстве 140 "зеркало-дисплей".
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения пользователь может использовать портативное устройство 180 хранения данных, на котором можно записать одно или несколько полученных изображений. В качестве такого устройства может использоваться любое подходящее портативное устройство хранения данных, например, смарт-карта, "флэшка" и т.п. Пользователь 111 может считывать изображения, представленные сообщениями 50, его внешнего вида во время первой примерки из устройства 123 хранения данных, например, через интерфейс 125 накопителя или через любое другое подходящее соединение. Позднее пользователь 111 может загрузить свои изображения, полученные во время первой примерки в другое устройство, например, в другую станцию системы 100, такую как станция 170.
В некоторых иллюстративных вариантах осуществления изобретения станция 110 может содержать более одного устройства "зеркало-дисплей" или может содержать устройство 140 "зеркало-дисплей", которое может быть разделено на две части, как это описано ниже со ссылками на фигуры 2A и 2B.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения контроллер 121 может записывать для хранения, например, в устройстве 123 хранения данных, параметры, характеризующие пользователя 111. Например, система 100 может содержать весы, соединенные, например, с устройством 123 хранения данных через контроллер 121. Контроллер 121 может обеспечивать возможность записи веса пользователя 111, например, во время примерки вещей. Соответственно, пользователь 111 может позднее вызывать свои параметры, в том числи и свой вес.
На фигурах 2A и 2B схематически иллюстрируются стадии сравнения внешнего вида с использованием интерактивной системы в соответствии с некоторыми иллюстративными вариантами осуществления изобретения.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения устройство 140 "зеркало-дисплей" может быть разделено на две части, причем одна часть 192 может работать как зеркало, и другая часть 191 может работать выборочно как зеркало и как дисплей. Как показано на фигуре 2A, пользователь 11 может стоять перед зеркалом 192 во время первой примерки, изображения которой могут быть захвачены устройством 130 получения изображений и сохранены в устройстве 123 хранения данных. Как показано на фигуре 2B, пользователь 111 может одновременно видеть в части 191 изображение внешнего вида, полученные во время первой примерки, и/или любые другие свои изображения, например, изображения, записанные в устройстве 123 хранения данных, и/или полученные по сети 150 (фигура 1), рядом со своим нормальным отражением в зеркале 192 во время второй примерки, и сравнивать свой внешний вид во время первой и второй примерок.
На фигурах 3A, 3B и 3C схематически иллюстрируются три последовательные стадии сравнения внешнего вида с использованием интерактивной системы в соответствии с некоторыми иллюстративными вариантами осуществления изобретения.
Как показано на фигуре 3A, пользователь системы 100 может видеть свое отражение во время первой примерки в устройстве 140 "зеркало-дисплей", работающем в режиме зеркала. Контроллер 121 может принимать, например, из устройства 124 ввода данных, информацию, вводимую пользователем, которая может включать запрос на использование устройства 130 получения изображений для захвата изображений внешнего вида пользователя по время первой примерки. В результате устройство 130 получения изображений может захватывать изображения внешнего вида пользователя во время первой примерки, и эти изображения могут быть записаны в устройстве 123 хранения данных.
Как показано на фигуре 3B, пользователь 111 может видеть свое отражение во время второй примерки в устройстве 140 "зеркало-дисплей", которое может работать в режиме зеркала. Затем, когда пользователь захочет увидеть свое изображение во время предыдущей примерки, например, для сравнения, контроллер 121 может принять команду пользователя, введенную через устройство 124 ввода данных, которая задает отображение изображений, полученных во время первой примерки. В этот момент, как показано на фигуре 3C, контроллер 121 может передавать в устройство 140 "зеркало-дисплей" сообщения 141 на переход в режим работы дисплея. Контроллер 121 может также передавать в устройство 140 команду на отображение изображений, полученных во время первой примерки. Таким образом, путем переключения режимов работы устройства 140 "зеркало-дисплей" пользователь 111 может сравнивать свои изображения во время первой и второй примерок и/или любые другие изображения, записанные ранее в устройстве 123 хранения данных.
На фигуре 4 приведена блок-схема способа, обеспечивающего возможность сравнения одного или нескольких изображений внешнего вида пользователя в соответствии с некоторыми иллюстративными вариантами осуществления изобретения. Одна или несколько стадий способа, блок-схема которого приведена на фигуре 4, могут быть выполнены одним или несколькими элементами системы 100 (фигура 1), хотя изобретение не ограничивается только этой возможностью.
На стадии 410 способа может осуществляться, например, установка режима работы устройства "зеркало-дисплей". Например, пользователь 111 (фигура 1) может вначале задать работу устройства 140 "зеркало-дисплей" в режиме зеркала. В других вариантах дисплей 140 может быть выполнен таким образом, чтобы он по умолчанию работал в режиме зеркала каждый раз, когда к системе 100 (фигура 1) подключается новый пользователь.
На стадии 420 способа пользователь может, например, примерять одежду перед устройством "зеркало-дисплей". Например, пользователь может стоять перед устройством "зеркало-дисплей" и оценивать свой внешний вид во время первой примерки, например, одежды, обуви и/или любых других вещей.
На стадии 430 может осуществляться захват изображения внешнего вида пользователя во время первой примерки. Например, пользователь 111 может ввести в устройство 120 команду на захват устройством 130 получения изображений внешнего вида пользователя во время первой примерки.
На стадии 440 способа пользователь может также, например, изменять внешний вид перед устройством "зеркало-дисплей". Например, пользователь 111 может изменять детали окружающей обстановки, например мебели, или менять аксессуары одежды, или изменять позу перед устройством 140 "зеркало-дисплей", который может работать в режиме зеркала, и оценивать свой внешний вид в другой позе.
На стадии 450 способа может также осуществляться переключение режимов работы устройства "зеркало-дисплей". Например, пользователь 111 (фигура 1) может переключать устройство 140 "зеркало-дисплей" между режимами зеркала и дисплея. Соответственно, пользователь 111 может иметь возможность сравнивать свой внешний вид во время первой примерки и/или любой другой внешний вид, например, записанный в устройстве 123 хранения данных и/или полученный по сети 150 (фигура 1), со своим внешним видом во время второй примерки.
В соответствии с некоторыми иллюстративными вариантами осуществления изобретения пользователь 111 может указывать, и/или станция 110 может сохранять автоматически параметры для каждой примерки, например, характеристики магазинов (название, адрес, имя продавца) и товаров (цена, время и/или дата примерки) и т.п. Пользователь 111 может, например, сохранять записанные изображения своего внешнего вида на съемном или портативном накопителе, как это уже было указано со ссылками на фигуру 1, и позднее может просматривать эти изображения, причем обеспечивается возможность подписывания каждого изображения, например, указание названия магазина и т.п. Кроме того, пользователь 111 может задать, и/или контроллер 121 может формировать и/или сохранять в устройстве 123 хранения данных памятки или напоминания, например, о скидках, сезонных распродажах и т.п.
Ниже будет рассмотрен вариант использования изображения, полученного камерой, например, цифровой фото- или видео-камерой, и преобразования изображения таким образом, что при его отображении на экране дисплея оно будет аналогично зеркальному отражению, то есть, изображению, которое видел бы пользователь, если бы он стоял перед обычным зеркалом.
На фигуре 6 приведен схематический вид, помогающий лучше понять нижеописанные варианты, на котором показан экран 640 цифрового дисплея, камера 630, и процессор 645 изображений, который может создать правдоподобное зеркальное изображение. В идеальном случае камера должна бы быть способна перемещаться в параллельной плоскости позади экрана в соответствии с положением глаз пользователя для создания реального ощущения взгляда. Однако расположение камеры позади экрана непрактично, поскольку он будет преграждать поле зрения камеры. Теоретические это преодолимо за счет использования полупрозрачного экрана или множества отверстий очень малых размеров, однако такие решения чрезмерно увеличивают стоимость и сложность системы. Наиболее простое решение заключается в размещении камеры над экраном дисплея и преобразовании полученного изображения для имитации зеркального отражения. Ниже рассмотрены примеры соответствующих преобразований.
Для компенсации изменений расстояния между пользователем и экраном, необходимо использовать адаптивно регулируемое поле зрения, чтобы пользователь мог видеть свое изображение такого же размера, как и в зеркале. В соответствии с одним из вариантов эта задача решается путем использования увеличения (зума) камеры, цифрового и/или оптического. Традиционные камеры имеют фиксированное поле зрения или оптически изменяемое поле зрения. Для обеспечения адаптивно регулируемого, то есть плавно изменяемого, поля зрения система должна изменять разрешение или осуществлять управление зумом или фокусным расстоянием камеры в режиме реального времени в соответствии с отслеживаемым положением пользователя.
Кроме того, изображение необходимо отражать относительно вертикали для обеспечения изменения направлений "лево-право", как это происходит в зеркальном отражении. Это преобразование изображения может быть выполнено сравнительно просто путем соответствующего изменения адресов пикселей цифрового изображения.
Как уже указывалось со ссылкой на фигуру 1, зеркало может быть меньше пользователя, но все-таки будет показывать его в полный рост. Это может быть достигнуто вместе соответствующим выбором поля зрения и соответствующим выбором размера экрана. Идея заключается в проецировании изображения на экран, причем поле зрения устанавливается таким образом, чтобы пользователь видел отражение на двойном расстоянии от зеркала, так чтобы он был виден в полный рост, даже если размер цифрового экрана меньше роста пользователя. Это иллюстрируется на фигуре 6 для положений пользователя А, В и С, на которых показан схематически пользователь, захваченный камерой на разных расстояниях от зеркала, однако при этом он отображается одного и того же размера за счет изменения поля зрения камеры. В некоторых вариантах также в соответствии с расстоянием пользователя до зеркала изменяется разрешение изображения. Например, для меньших расстояний в одном из вариантов может использоваться несколько камер, и процессор изображений осуществляет соединение ("сшивание") их изображений для уменьшения искажений.
Для получения трехмерных изображений необходимо будет использовать две камеры на расстоянии, соответствующем расстоянии между глазами пользователя, или одну камеру с двумя эффективными виртуальными точками зрения. Для получения правдоподобного ощущения трехмерного изображения необходимо использовать систему с адаптивно регулируемым замкнутым контуром, в которой формирование трехмерного изображения осуществляется в зависимости от расстояния. Когда пользователь смотрит на свое отражение в зеркале, он видит, трехмерное изображение, хотя когда он приближается к зеркалу или отходит от него, угол между его глазами и отражением изменяется, в результате чего изменяется глубина трехмерного изображения.
Как уже указывалось со ссылками на фигуру 6, размещение камеры позади дисплея на уровне глаз пользователя приводит к удорожанию или усложнению системы. Поэтому в нижеописанных вариантах описывается практический способ реализации вышеописанной идеальной системы с фиксированным расположением камеры (камер) по периметру экрана дисплея. Основной задачей является компенсация искажений изображения адаптивно регулируемым образом и в режиме реального времени, чтобы создать у пользователя ощущения, которые будут возникать в идеальной системе. На фигурах 7 и 8 показаны примеры возникающих проблем при использовании практической конфигурации, когда камера расположена выше экрана цифрового дисплея, то есть, не соответствует уровню глаз пользователя.
На фигуре 7 приведен схематический вид, иллюстрирующий приближение пользователя к зеркалу или удаление от него, при использовании камеры, установленной сверху экрана и направленной по горизонтали. Если система откалибрована по среднему расстоянию до экрана, то когда пользователь находится дальше от экрана (положение С на фигуре 7), изображение будет меньше и выше, и когда пользователь находится ближе к экрану (положение А на фигуре 7), изображение будет больше, и поле зрения камеры будет обрезать изображение пользователя. Кроме того, когда пользователь приближается к экрану, становятся заметными искажения, то есть, ощущения будут отличаться от обычных ощущений пользователя, рассматривающего себя в зеркале.
Для обеспечения захвата пользователя в полный рост на любой дистанции в одном из вариантов камера расположена сверху экрана и наклонена вниз для обеспечения максимального динамического диапазона перемещения пользователя перед экраном. Как показано на фигуре 8, поскольку камера наклонена вниз, искажения изображения будут гораздо больше и гораздо более заметны. Чем ближе пользователь находится к камере, тем больше будут искажения его изображения. Искажения проявляются в том, то пользователь кажется меньше ростом, и верхняя часть тела увеличивается в размерах. В этой конфигурации изображение пользователя становится меньше, по мере того как он удаляется от экрана. С другой стороны эффективное/используемое поле зрения камеры будет покрывать увеличенную зону перед экраном и будет обеспечивать пользователю возможность нахождения гораздо ближе к экрану, и при этом он будет видеть себя полностью.
Для обеспечения формирования правдоподобного (расширенного) зеркального изображения, получаемого из камеры, расположенной перед пользователем и смещенной на некоторое расстояние относительно экрана, используется способ преобразования захваченного изображения перед его выводом на экран. Способ может обеспечивать преобразованное изображение в режиме реального времени или с задержкой, в зависимости от режима работы экрана.
В этом способе осуществляется получение на входе изображения, захваченного камерой, и преобразование этого изображения для коррекции точки наблюдения и поля зрения камеры, чтобы точка наблюдения соответствовала точке наблюдения в случае обычного зеркала. То есть, когда пользователь приближается к зеркалу или удаляется от него, точка наблюдения, которая будет отражаться в зеркале, будет отличаться от точки наблюдения, захваченной камерой. Варианты осуществления предлагаемого способа включают модули адаптивного регулирования точки наблюдения и поля зрения в соответствии с отслеживаемым положением пользователя.
Необходимо отметить, что решение задачи виртуального зеркала только за счет инвертирования изображения относительно вертикали, как это осуществляется в известных способах, недостаточно для формирования зеркального изображения, близкого к реальному. Как только пользователь подходит ближе к камере/экрану, его изображение увеличивается в размерах, и наоборот, в отличие от отражения в обычном зеркале, когда размеры изображения мало изменяются с небольшим изменением поля зрения при изменении расстояния от пользователя до зеркала. Кроме того, при приближении пользователя к камере возникают искажения изображения, которые должны быть откорректированы в усовершенствованном способе. При адаптивном регулировании точки наблюдения и поля зрения перед выводом изображения на экран может быть получено изображение, имитирующее отражение от зеркала, находящегося в месте нахождения экрана. Для получения изображения, более точно воспроизводящего зеркальное отражение, способ может также включать следующие дополнительные особенности.
В соответствии с одним из вариантов в способе также осуществляется динамическое адаптивное соединение изображений, получаемых из нескольких камер. В соответствии с этим вариантом система содержит несколько камер, например, расположенных в разных местах и/или имеющих разные характеристики, так что обеспечивается возможность повышения разрешения изображения, точности его воспроизведения, расширения поля зрения одной камеры, уменьшения искажений для различных пользователей и различных поз пользователей, и формирования улучшенной модели тела пользователя для компенсации искажений камер. Например, поскольку разрешение изображения снижается, когда пользователь отходит от экрана (на изображении пользователя будет меньше пикселей), целесообразно использовать оптический зум и изменять фокусное расстояние камеры. Проблема заключается в том, что это происходит за счет сокращения поля зрения камеры. Для улучшения разрешения с одновременным сохранением поля зрения может одновременно использоваться соединение изображений или динамически регулируемый зум.
Как уже указывалось в предыдущем абзаце, для получения изображения, близкого к реальному отражению в зеркале, в системе может также использоваться адаптивно регулируемый оптический зум. Адаптивно регулируемый оптический зум повышает качество/разрешение изображения/видео в соответствии с непрерывно отслеживаемым расстоянием от пользователя до экрана. Кроме того, уменьшаются асимметричные искажения, которые возникают, если камера установлена с одной стороны экрана.
Чтобы обеспечить необходимую точность преобразования изображений, система может быть откалибрована с использованием дискретных указателей, и в способе может осуществляться интерполяция и экстраполяция для обеспечения точного преобразования в различных положениях пользователя от экрана. В соответствии с одним из вариантов проекционные искажения изображений могут быть вычислены в соответствии с отслеживаемым положением пользователя и местонахождением камеры. В соответствии с другим вариантом величину искажения изображения измеряют перед экраном, и эту величину используют вместо непосредственного вычисления проекции.
Предлагаемый способ оптимизируется для обеспечения минимально возможной задержки за счет использования предварительных вычислений для преобразования изображений в зависимости от расстояния до экрана, так что для измеренного расстояния алгоритм преобразования изображения будет уже заранее подготовлен. В соответствии с другим вариантом используется непосредственное вычисление без калибровки путем формирования преобразования для компенсации проекционных искажений в соответствии с вычисленной/измеренной точкой наблюдения пользователя.
Ниже приводится общее описание модулей, которые совместно обеспечивают преобразование захваченного изображения в зеркальное отражение. Модуль получения видеоизображений осуществляет: захват видеоизображений, улучшение их качества, оптимизацию параметров работы камеры и управление камерой для получения наилучшего качества видеоизображений в условиях ограничений используемых аппаратных средств. Модуль геометрических измерений обеспечивает измерение или определение любой комбинации таких параметров, как расстояние от экрана до пользователя, рост пользователя, положение головы и глаз пользователя, а также осуществляет оценку трехмерного изображения тела пользователя и т.п. Модуль управления камерой задает параметры работы камеры для обеспечения необходимого качества изображений/видео и максимального разрешения. В случае нескольких камер оптимизация поля зрения для получения максимального разрешения будет осуществляться в соответствии с расстоянием пользователя от каждой из камер.
Модуль геометрических преобразований выбирает видеокадр за видеокадром вместе с соответствующей информацией о геометрическом положении и ориентации пользователя, преобразует необработанные изображения в соответствии с их точным положением и заполняет незаполненные пиксели, если таковые имеются. Например, осуществляется геометрическое преобразование в соответствии с положением глаз таким образом, чтобы получать изображение, на котором пользователь смотрит в зеркало. То есть, способ обеспечивает соответствующее геометрическое преобразование входных видеоизображений для получения изображений, на которых пользователь смотрит себе в глаза. Такое преобразование полезно также и в других ситуациях. Например, когда проводится видеоконференция с использованием компьютеров,, поскольку камера расположена над монитором компьютера, то на получаемом изображении взгляд пользователя всегда будет направлен вниз, поскольку пользователь смотрит на экран монитора, а не в объектив камеры. Использование вышеуказанного геометрического преобразования в такой ситуации позволяет получить изображение пользователя, на котором он смотрит в камеру, хотя в действительности он смотрит на экран монитора. Это позволяет обеспечить более тесный визуальный контакт участников видеоконференции. Для видеоконференций выполняется геометрическая коррекция, аналогичная случаю с зеркалом, хотя инвертирование относительно вертикали (влево-вправо) здесь не требуется.
Модуль преобразования изображений может быть реализован в соответствии с разными вариантами. В одном из вариантов используется масштабирование, при котором для получения размера изображения, которое пользователь должен видеть в зеркале, размеры захваченного изображения изменяются пропорционально расстоянию до пользователя. В соответствии с другим вариантом используется проекция изображения и масштабирование, причем в соответствии с расстоянием до пользователя, смещением в пространстве и местонахождением глаз для разных расстояний и смещений, вычисляется или измеряется проекционная ошибка между глазами пользователя и местонахождением камеры. Для коррекции оптических искажений может осуществляться дополнительное преобразование.
Еще в одном варианте используется способ совмещения, который, как выяснилось, обеспечивает довольно точные результаты. В соответствии с этим способом преобразование рассчитывается заранее в соответствии с методикой совмещения изображений по изображению пользователя, стоящего перед камерой и смотрящего в объектив. Эталонное изображение может быть сформировано из одной из нескольких камер. Например, эталонную камеру размещают на такой высоте и на таком расстоянии, на которых минимизируется большая часть оптических искажений, например, на уровне глаз и на расстоянии 2-3 м от пользователя. Совмещение изображений обеспечивает наилучшие результаты преобразования в части положения глаз и всего тела пользователя на основе множества указателей. В одном из примеров, множество указателей, например, белых точек, на эталонном объекте, например, на человеке или на манекене, будет формировать двухмерную сетку на его теле. Например, на ноги, на грудь, на плечи, на глаза и т.п. могут быть установлены кольцевые наклейки. Для повышения точности эту калибровку можно повторить для разных местонахождений и поз пользователя перед экраном для учета, например, разных боковых смещений, разных высот, разных расстояний и т.п. Для каждого местонахождения создается наилучший алгоритм преобразования с учетом различных искажений (проекционных, бочкообразных, "рыбий глаз", любых их сочетаний, и т.п.), которые могут быть скорректированы с использованием различных приемов совмещения (например, проецирование, аффинное преобразование, преобразование подобия, полиномиальное преобразование, их сочетания и т.п.).
Вышеописанные варианты могут быть осуществлены вместе с нижеуказанным дополнительным улучшением. Так, может использоваться соединение изображений, полученных из нескольких камер, для повышения качества и разрешения, для минимизации искажений, создаваемых одной камерой, или для расширения поля зрения. Элемент соединения изображений представляет собой полное соединение в соответствии с геометрическим положением пользователя. Для каждой камеры используется свое собственное корректирующее преобразование, поскольку смещение, относительно виртуального местонахождения глаза будет разным. Несколько камер также могут использоваться для формирования трехмерного изображения, чтобы улучшить восприятие изображения пользователем.
Также может формироваться трехмерное изображение в ИК-лучах. Такое изображение может использоваться для формирования точной виртуальной модели пользователя, которая может затем использоваться интерфейсом прикладных программ для виртуальных примерок и формирования дополненной реальности. Используя возможности технологии дополненной реальности, можно изменять фон, вводить объекты, выполнять виртуальные примерки различных предметов одежды и т.д. Это может использоваться также для анализа поведения человеческого тела и связывания его с приложениями дополненной реальности, приложениями виртуальных примерок одежды, игровыми приложениями, приложениями видеоконференций и т.д.
Поскольку в системе осуществляется запись изображений (фотографий или видеоизображений), то может выполняться различный анализ этих изображений. Например, анализ видеоизображений может использоваться для накопления информации о покупателе или о работе магазина, например, как часто пользователь улыбается, удовлетворен ли он, примерный возраст, пол, этническая группа и т.п. В систему анализа поведения покупателей могут подаваться различные данные, и эта система может содействовать активному внедрению электронной торговли в повседневную жизнь, или же она может использоваться как один из компонентов любого другого приложения. Например, такая система может анализировать перечни изделий, примеряемых пользователями, и связывать их с товарными запасами магазина, трехмерной печатью и сайтом электронной торговли, стилистом электронного магазина, социальной сетью и т.п.
На фигуре 9 приведена блок-схема варианта системы по настоящему изобретению, в которой выполняется преобразование для получения изображения, имитирующего отражение в зеркале. Различные модули системы, блок-схема которой приведена на фигуре 9, могут быть запрограммированы на универсальном компьютере, реализованы на процессорах DSP, CPU, GPU, на процессоре цифровых сигналов или специализированной ИС камеры, на процессоре цифровых сигналов или специализированной ИС экрана, на автономном вычислительном устройстве, на вентильной матрице, программируемой пользователем, на специализированной ИС, а также для этого может использоваться техника параллельных вычислений с использованием "облачных" технологий и т.п.
Блок 930 представляет одну или несколько камер 1:n, из которых в модуль 932 захвата изображений передается поток изображений. Блок 930 может содержать фото- и/или видео-камеры, ИК-камеру, устройства для получения двухмерных и/или трехмерных изображений. В состав блока 930 может также входить электроакустический или электронный дальномер.
Модуль 932 захвата изображений получает поток изображений из блока 930 и может осуществлять фильтрацию для повышения их качества. Кроме того, может осуществляться обрезание или изменение размеров изображений для их оптимизации. Если используется несколько камер, то модуль 932 осуществляет соединение ("сшивание") изображений для повышения их качества или для расширения эффективного поля зрения.
Модуль 960 запускающих событий представляет собой параллельный процесс который может получать входную информацию непосредственно с выхода модуля 932 захвата изображений, хотя он может также получать изображения после модуля 934 преобразования в соответствии с положением глаз. Входная информация может быть оптимизирована по размеру, полосе пропускания и скорости для осуществления необходимых функциональных возможностей. Ниже указаны примеры элементов, которые могут содержаться в модуле 960 запускающих событий. Определение того, что пользователь находится перед камерой 930, например, на основе исчезновения части фона, изменений в заданной зоне, распознавания образов и т.п. Измерение расстояние до пользователя, например, по корреляции между стереокамерами, ИК-камерой трехмерных изображений и т.п. В соответствии с другим вариантом расстояние до пользователя определяется с использованием измерений одной из камер на основе некоторых геометрических допущений, например, пользователь стоит перед зеркалом на полу, так что расстояние, высоту или теоретическую точку наблюдения пользователя в зеркале можно определить по местонахождению его туфель и по особенному боковому смещению относительно зеркала.
Для облегчения идентификации пользователя может использоваться модуль распознавания лица. В процессе работы системы после регистрации она должна сохранять информацию по каждому пользователю, и если пользователь распознается системой, она может вызвать его данные, сделать их обновления, предложить товары и т.п. В случае распознавания лица пользователю нет необходимости в идентификации для входа в систему, в результате его экономится время и упрощается работа с системой. Распознавание лица может быть запускающим событием для автоматической записи внешнего вида. В некоторых вариантах длина записи каждого сеанса задается заранее и может начинаться сразу же после успешного распознавания лица. В других вариантах для запуска может использоваться техника дистанционного управления, такая как, например, функция, имеющаяся в мобильных приложениях или в специализированных планшетных/мобильных или иных устройствах дистанционного управления.
Другие элементы, которые могут содержаться в модуле 960 запускающих событий, включают программы анализа видеоизображений (для формирования эффективной обратной связи, например, для оценки возраста, пола, настроения, других существенных характеристик и т.п.), распознавания примеряемых вещей (так что система может легко связывать примеряемые вещи с магазином, улучшать систему формирования ассортимента и электронной торговли путем выработки рекомендаций и убыстрения оценки и планирования ассортимента) и распознавания жестов (для органичного управления пользователем без необходимости использования устройства ввода информации).
Модуль 934 преобразования в соответствии с положением глаз осуществляет преобразование изображения перед его отображением на экране 940. На вход модул,яь 934 поступают изображения из модуля 932 захвата изображений, и, кроме того, он может получать вычисленное расстояние, или расстояние и высоту или фактическую точку наблюдения пользователя. Модуль 934 преобразования в соответствии с положением глаз рассчитывает необходимое преобразование. Такое преобразование может быть рассчитано непосредственно по разности углов проекции между камерой и теоретической точкой наблюдения пользователя, например, для получения необходимого масштаба изображения и его положения. В другом варианте может использоваться способ точного соответствия, в котором для получения очень точного преобразования между камерой и вычисленной точкой наблюдения в дискретных положениях пользователя перед зеркалом может использоваться заводской процесс калибровки. Дополнительно могут также использоваться базовые изображения и преобразование, которые создаются по одному или нескольким параметрам, например, по расстоянию, высоте, позе, измерениям, сделанным на заводе, или в режиме реального времени, когда пользователь стоит перед экраном.
В соответствии с расстоянием до пользователя или с сочетанием расстояния и точки наблюдения глаз модуль 934 преобразования в соответствии с положением глаз осуществляет интерполяцию преобразования для любого положения пользователя перед камерой. Поскольку расстояние разных частей тела пользователя до камеры неодинаково, то возникают искажения проекции, при которых более близкие части, например, голова, отображаются с увеличенным разрешением (больше пикселей), чем другие части тела, например, ноги. Соответственно, изображение пользователя будет с укороченными ногами и с вытянутой головой, то есть, более близкие части тела будут видны увеличенными, а более дальние части будут казаться уменьшенными. Это преобразование нелинейно, то есть каждый пиксель представляет разную длину и ширину (dx, dy), так что заполнение пикселями или их исключение должно осуществляться с учетом масштабов по осям координат. В качестве способа заполнения может использоваться любая интерполяция (линейная, кубическая, полиномиальная и т.п.) или используется более сложное заполнение с использованием проекций разных камер. Например, камеры сверху и снизу экрана могут дополнять и позволяют лучше определять заполняющие пиксели или корректировать ориентацию глаз. Дополнительный вариант представляет собой использование специальных линз/призм, которые обеспечивают коррекцию большей части проекционных искажений и будут улучшать разрешение. Некоторые проблемы, связанные с изменением размеров, которые влияют на качество, также могут быть скомпенсированы оптически с помощью механического зума.
В состав системы дополнительно может быть включен модуль 936 виртуальной примерки/дополненной реальности. Входная информация поступает в модуль 936 из модуля 934 преобразования в соответствии с положением глаз (модуль EyesMatch) или из модуля 938 записи. Модуль 934 преобразования в соответствии с положением глаз осуществляет преобразование изображения, которое будет описано ниже. Модуль 934 преобразования в соответствии с положением глаз может использоваться в различных приложениях, а не только для получения зеркального отражения, например, для видеокамер, для видеоконференций и т.п. Модуль 936 может получать дополнительную входную информацию из центрального процессора, который поддерживает активную связь с базой данных наличного ассортимента, трехмерной печатью, базой данных электронной торговли и т.п. Используя входные данные, модуль 936 может воспроизводить цифровые изображения для слияния с преобразованным изображением. Например, модуль 936 может использоваться для изменения цвета примеряемой вещи в соответствии с имеющимся ассортиментом и выбором пользователя. Следует иметь в виду, что воспроизведение модуля 936 отличается от обычной виртуальной примерки, и что модуль 936 осуществляет воспроизведение на предмете одежды, который отображен надетым на пользователя. Таким образом, воспроизведение вещи в другом цвете не меняет физического внешнего вида вещи, которая надета на пользователе, а только лишь цвет. Соответственно, пользователь может ощущать на себе реальную вещь, видеть, как она действительно выглядит и подходит ли она ему, видеть ее реальные складки и т.п. Модуль 936 может также использоваться для добавления аксессуаров к реальному изображению пользователя или добавлять к системе возможность виртуальной примерки. Аналогично, модуль 936 может использоваться для дополнения фона, для изменения или создания другой среды, соответствующей примеряемой вещи, например, картины пляжа при примерке купального костюма, обстановки ночного клуба для вечернего платья и т.п.
Модуль 938 записи видео- или фото-изображений принимает их непосредственно из модуля 932 захвата изображений, из модуля 934 преобразования в соответствии с положением глаз или из модуля 936 виртуальной примерки и дополненной реальности. Кроме того, он получает управляющие сообщения из модуля 962 управления, который указывает, когда начать/закончить запись, какую информацию сохранять по каждому пользователю, и по каким видео- или фото-изображениям осуществлять последующие преобразования/дополнения, виртуальные примерки, улучшения качества и т.п. Способ, который может также использоваться для записи без загрузки системных ресурсов, может включать также возможности кодирования/декодирования на видеокартах.
В дополнение к необходимости иметь локальную копию видео-/фото-изображений на "зеркале" (станция) изображения должны автоматически дублироваться на "облаке" и могут быть автоматически закодированы до любого необходимого размера.
Процесс записи может также изменять скорость кадров, сжатие, формат, удалять части изображения, а также изменять видеоэффекты и цветовые эффекты.
Кроме записи система дополнительно может обеспечивать поток видеоинформации в режиме реального времени из памяти "зеркала". Например, система способна передавать видеопоток в сети в режиме реального времени с любого "зеркала", то есть, на любом устройстве можно будет просматривать это видео, включая передачу видеопотока с одного "зеркала" на другое.
Модуль 962 управления осуществляет управление работой всех других модулей. Модуль 962 управления конфигурирует все аппаратные и программные компоненты системы, включая камеры 930, экран 940, процессор цифровых сигналов и др. Модуль 962 управления содержит интерфейс, обеспечивающий связь между локальной станцией и системой 950 электронной торговли, построенной на "облачной" технологии, другими веб-приложениями 952, приложениями 954 смартфонов и т.п. Информация, которая будет записываться в модуле 938, может быть доставлена пользователю немедленно с использованием радиосигналов, ИК-сигналов или по проводам, или же может быть передана с разрешения пользователя в "облачное" приложение, такое как Facebook, Google или другие, или на сервер компании, который может быть связан с приложением электронной торговли.
Модуль 964 заводской калибровки используется, когда преобразование опирается на преобразования реальных изображений. Геометрия конфигурации камера-экран может быть определена/измерена на заводе или же может быть измерена в месте установке, и смещения могут соответствовать условиям калибровки на заводе. Кроме того, коррекция может соответствовать высоте или углу установленного зеркала относительно пола. Ниже описан возможный процесс калибровки. На первой стадии создается эталонная информация, определяющая как изображение должно выглядеть в зеркале на разных дискретных расстояниях, при определенных ориентациях, разных точках отражения глаз (то есть, теоретических точках наблюдения). Такая эталонная информация может быть получена разными способами:
1. Как показано на фигуре 10A, камера 14 находится в предполагаемом месте расположения зеркала на высоте глаз пользователя или примерно на этой высоте. Пользователь или манекен с указателями (например, с приклеенными белыми метками 10) расположен на таком расстоянии от камеры, на котором исключается большая часть искажений камеры, когда пользователь смотрит в ее объектив. Масштаб изображения может быть подобран, и изображение может быть подрезано таким образом, чтобы оно было равно мнимому изображению в зеркале, или было немного меньше его. То есть, сформированное эталонное изображение должно соответствовать реальному размеру пользователя, которого можно будет видеть, если на место камеры поставить зеркало, или немного меньше, чтобы он вписывался в размер экрана (зависит от размера экрана).
2. На фигуре 10B пользователь или манекен с указателями расположен перед обычным зеркалом 12. Камера расположена возле пользователя на уровне его глаз и захватывает отражение в зеркале. Эталонное изображение также может быть получено, если используется нескольких камер, которые в этом случае устанавливают по вертикали для исключения искажений. После этого изображения, полученные несколькими камерами, соединяют для получения одного однородного изображения с высоким разрешением и низкими искажениями. В этом варианте калибровки также могут использоваться очки Google. Пользователь, находясь перед зеркалом, с помощью этой камеры делает снимок самого себя. Поскольку поле зрения фиксировано, то единственное, что необходимо сделать, это изменить размер изображения для получения правильного размера.
После получения эталонного изображения делают другое изображение, переместив камеру в ее штатное место, в котором она будет находиться во время работы, например, сверху экрана, и это второе изображение здесь будет указываться как реальное изображение. Затем осуществляют совмещение эталонного и реального изображений путем выравнивания указателей на реальном и эталонном изображениях. По результатам совмещения получают преобразование, которое наилучшим образом может откорректировать искажения изображения и извлечь ориентацию тела. Кроме того, в соответствии с фактической геометрией установки на месте в преобразование могут быть введены смещения или дополнительная коррекция. В соответствии с расстоянием пользователя от экрана и точкой наблюдения глаз может быть выполнена интерполяция преобразования в каждом положении пользователя перед камерой.
На фигуре 11 приведена блок-схема, иллюстрирующая способ по одному из вариантов осуществления изобретения, который может быть использован в системах, рассмотренных в настоящем описании. Способ начинается на стадии 1100 с процедуры заводской калибровки, которая может быть выполнена с использованием, например, следующих стадий. Выбирают объект для калибровки, например, манекен, пользователя, щит и т.п. Затем на объекте устанавливают указатели, например, наклейки, показанные на фигуре 10A. После чего камеру устанавливают на ее штатное место, например, сверху экрана,, наклоняют вниз, как показано на фигуре 8, и настраивают ее на получение изображений на максимальной дальности. Делают фотографии объекта в разных положениях (разные расстояния, высоты, боковые смещения и т.п.). С другой стороны, для упрощения вполне достаточно снимков, сделанных на разных расстояниях вдоль центральной виртуальной линии перед экраном. Затем получают одно или несколько эталонных изображений с использованием, например, одного из способов, иллюстрируемых на фигурах 10A и 10B. В одном из вариантов камеру устанавливают на уровне глаз пользователя в месте нахождения экрана. Затем получают один или несколько снимков этого же объекта с использованием этих же прикрепленных указателей. Если делается лишь один снимок, он должен быть сделан на соответствующем расстоянии, на котором будут сведены к минимуму искажения камеры. Если делают несколько эталонных снимков, они должны быть сделаны на разных расстояниях, чтобы уловить небольшие изменения, происходящие при приближении пользователя к зеркалу. Однако следует отметить, что если используют несколько объектов и получают несколько эталонных изображений, то целесообразно получать их на одних и тех же расстояниях и в тех же положениях, чтобы сформировать более точные преобразования. Размеры эталонных изображений могут быть изменены для получения правильного размера на экране, то есть, размера изображения, которое было бы видно в зеркале, установленном в месте нахождения экрана.
После того как будут получены изображения объекта и эталонные изображения, изображения объекта с искажениями, полученные с использованием наклоненной камеры, совмещают (сводят) с эталонными изображениями, используя указатели, для получения изображений объекта, как он будет выглядеть в зеркале, установленном в месте нахождения камеры. В результате этой операции будет получен оператор преобразования, например, набор указателей, каждый из которых имеет две координаты: одну - во входном изображении, и одну - в эталонном изображении. Различные преобразования могут быть протестированы на множестве изображений объектов и эталонных изображений. Например, различные функции искажений могут быть применены для получения наилучших результатов согласования изображений. Основными функциями являются: проекция, изменение размеров, перенос по осям XY (смещение) и отражение (замена местами левой и правой частей). Выбирают наилучшую комбинацию функций преобразования, и для каждой точки калибровки создают алгоритм преобразования. Это преобразование представляет собой заводскую калибровку, в соответствии с которой изображения пользователя, получаемые в режиме реального времени, будут преобразовываться в изображения, имитирующие отражение в зеркале. Следует отметить, что преобразование отображение может включать разные преобразования для каждого пикселя или для каждой части получаемого изображения для обеспечения наилучшего представления зеркального отражения.
Как можно понять, стадия 1100 может быть выполнена на заводе, перед отгрузкой системы. С другой стороны, эта операция может быть также выполнена в месте в установки системы, особенно когда камера и экран являются отдельными элементами, так что возможны различные варианты их расположения относительно друг друга. В таких случаях может быть целесообразно поставлять систему с калибровочным объектом, например, манекеном (трехмерный объект) или щитом с калибровочными метками (двухмерный объект), так чтобы пользователь мог выполнить операцию калибровки на месте с использованием стандартного объекта. В этом случае система будет заранее запрограммирована на выполнение операции калибровки и формирования алгоритма преобразования на месте установки системы.
После установки системы на месте ее штатной работы выполняется стадия 1105, на которой получают реальные фото- или видео-изображения пользователя и вводят в систему, например, с помощью блока захвата изображения. Одновременно измеряют положение пользователя, так чтобы можно было определить его точку наблюдения. Эти измерения могут быть выполнены с использованием технологии ИК-измерений или с помощью датчиков, таких как, например, Kinect, предлагаемых компанией Microsoft. На стадии 1115 дополнительно (при необходимости) применяют масштабный коэффициент для согласования размера экрана и роста пользователя.
На стадии 1120 выбирают подходящий алгоритм преобразования или интерполируют преобразование, полученное на заводе в результате стандартной калибровки, для получения точной схемы преобразования для конкретного положения пользователя перед экраном. Затем алгоритм преобразования применяется модулем преобразования в соответствии с положением глаз к видеоизображению, получаемому в режиме реального времени. В настоящем описании термин "реальный" также относится к видеопотоку, который захватывается блоком захвата изображений и может находиться в буфере перед выдачей на экран монитора для отображения. Также, если это необходимо в связи с преобразованием, на стадии 1125 заполняют необходимые пиксели с использованием техники интерполяции. На стадии 1130 изображение из буфера передается для отображения на экране. Следует понимать, что благодаря высокоскоростным процессорам, имеющимся на рынке, стадии 1105-1130, могут быть выполнены в режиме реального времени, так что пользователь не будет ощущать никаких задержек в выводе изображений на экран.
Модуль преобразования изображений в соответствии с положением глаз может использоваться для обеспечения более естественной среды, которая более соответствует повседневному образу жизни. Например, при совершении видеозвонка с помощью ПК, например, с использованием программы Skype, поскольку камера обычно расположена над монитором, абонент часто кажется смотрящим в сторону от камеры, поскольку он в действительности смотрит на экран монитора. Это придает неестественность разговору, поскольку говорящие при этом не смотрят друг на друга. В таком применении может использоваться модуль преобразования в соответствии с положением глаз, так что на изображении, выводимом на экран, кажется, что говорящий смотрит прямо в камеру, хотя в действительности он смотрит на экран. Это преобразование может быть выполнено либо на компьютере вызывающего, либо на компьютере вызываемого абонента. Например, у пользователя, использующего программу Skype, на компьютере может быть установлен модуль преобразования в соответствии с положением глаз пользователя, так что всякий раз, когда активируется видеокамера для проведения видеоконференции, модуль EyesMatch перехватывает видеопоток, идущий от видеокамеры, и применяет к нему преобразование перед передачей этого видеопотока другому пользователю через программу Skype. Когда другой пользователь получает видеопоток, он уже преобразован, так что другой пользователь видит изображение, на котором первый пользователь смотрит в объектив видеокамеры. То же самое может быть осуществлено в любой стандартной системе видеоконференции, такой как WebEx, Polycom и т.п.
На фигуре 12 приведена блок-схема, на которой иллюстрируются модули и процессы, используемые для выполнения калибровки и преобразования изображения по одному из вариантов осуществления изобретения. Блок 1230 представляет модуль получения изображений, который может содержать одну или несколько фото- или видео-камер, ИК-камеру или датчик измерения расстояния, блок получения трехмерных изображений и т.п. Модуль 1232 осуществляет управление настройками для оптимизации работы камер, например, для получения соответствующего поля зрения, съемки нужной зоны перед экраном, установки фокусного расстояния и/или разрешения и т.п. Блок 1260 представляет собой модуль запускающих событий, который может использоваться для определения присутствия пользователя перед экраном и запуска процесса захвата и преобразования изображений. В остальное время система может находиться в дежурном режиме, в котором на экране отображается только фон, пока не будет обнаружен пользователь.
Скобка 1360 охватывает стадии операции калибровки, которые будут описаны здесь для системы, сконфигурированной для калибровки на месте, причем камера 1230 расположена над экраном 1240 дисплея, как это указано на фигуре 1. Калибровка 1260 может быть выполнена на заводе перед отгрузкой системы или на месте после ее установки. На стадии 1261 устанавливают объект с указателями, и на стадии 1262 получают один набор эталонных изображений (например, с помощью камеры, установленной на одном уровне с глазами пользователя и направленной по горизонтали), а также набор входных изображений (например, с помощью камеры, установленной на ее штатном месте, над экраном, и наклоненной вниз). На стадии 1263 указатели на каждом входном изображении сравниваются с соответствующими указателями на соответствующих эталонных изображениях. Таким образом, генерируются векторы преобразования. В зависимости от качества видимого зеркального изображения на стадии 1264 дополнительно осуществляется точная настройка векторов, соответствующих зонам вокруг глаз пользователя.
Используя сравнение указателей на входных изображениях и эталонных изображениях, на стадии 1265 могут быть определены и заданы параметры преобразования, которые дают наилучшее совмещение изображений. Ниже указаны параметры, которые могут использоваться для преобразования. Очень эффективным параметром является преобразование наклона. Преобразование наклона корректирует искажения изображения, вызванные наклоном камеры вниз. Преобразование наклона изменяет входное изображение, сделанное камерой, наклоненной вниз, преобразуя его таким образом, что кажется, будто камера "смотрит" горизонтально (видеосистема может также корректировать ошибку по азимуту). Другим параметром преобразования является преобразование высоты. Преобразование для пространственного регулирования высоты линейно изменяет смещение, которое дает камера, установленная снаружи экрана, например, выше экрана, и это преобразование позволяет получить изображение, которое было бы получено камерой, установленной в месте нахождения экрана на уровне глаз пользователя. Для коррекции рассогласования между камерой и центром экрана может также применяться горизонтальный сдвиг. Другим важным преобразованием для воспроизведения зеркального изображения является масштабирование. Как уже указывалось, в отражении в обычном зеркале пользователь видит очень малые изменения размеров своего тела по мере приближения к зеркалу. И напротив, на изображении, получаемом камерой, размеры существенно изменяются при изменении расстояния от камеры. Преобразование масштаба снижает эффект изменения размера в зависимости от расстояния до экрана, так что пользователь будет видеть на экране свое изображение почти постоянного размера независимо от расстояния от экрана. В зависимости от положения и поля зрения камеры может также потребоваться сдвиг изображения по осям X-Y.
Практическая реализация изобретения показала, что осуществления наклона, регулирования высоты и масштабирования обеспечивает довольно убедительное изображение, которое только нужно отразить относительно вертикали (поменять правую и левую стороны), для эффективной имитации отражения в зеркале. Дальнейшие улучшения изображения связаны с преобразованиями, позволяющими откорректировать бочкообразные искажения и искажения "рыбий глаз". Можно также дополнительно усилить глубину восприятия отображаемого изображения путем добавления света и теней, либо искусственно изменяя регулируемым образом интенсивность и/или оттенок пикселей изображения, или путем регулирования элементов освещения, таких как светодиоды, расположенные по сторонам экрана или пользователя. Кроме того, может быть создан эффект трехмерного изображения либо с помощью специальных очков, либо используя технологию формирования трехмерных изображений без использования очков. Во втором случае в каждый глаз проецируются разные наборы изображений. Поскольку в вышеописанных вариантах расстояние до пользователя и положение глаз пользователя измеряются или определяются, это облегчает задачу представления пользователю трехмерных изображений путем проецирования различных наборов изображений в разные глаза.
На стадии 1266 формируется и записывается для хранения алгоритм преобразования. Этот алгоритм преобразования будет использоваться на стадии 1234 для преобразования видеопотока, поступающего из модуля 1230 получения изображений в режиме реального времени, с использованием расчетного расстояния до пользователя. В зависимости от действия алгоритма преобразования может понадобиться использовать заполняющие пиксели. Например, когда камера расположена наверху экрана и наклонена вниз, необходимо применять преобразования наклона и высоты, в результате чего будет получено изображение, качество которого может быть улучшено за счет использования заполняющих пикселей. Заполнение изображения пикселями может осуществляться на стадии 1237, и полученное изображение на стадии 1240 выводится на экран. Применение преобразования и заполнения пикселями к поступающему видеопотоку легко может быть осуществлено в режиме реального времени при использовании средств обработки соответствующей мощности.
На фигуре 13 приведена схема другого варианта, в котором калибровка и составление алгоритма преобразования осуществляются на месте после установки системы. В примере, представленном на фигуре 13, камера 14 расположена над видеоэкраном 12 и наклонена вниз. Камера 14 и экран 12 соединены с контроллером 18, который осуществляет управление их работой. Пользователь использует устройство 16 ввода информации, которое может обмениваться информацией с контроллером с использованием проводной или беспроводной линии связи. Пользователь стоит в подходящем месте, например в 2-3 метрах от экрана 12 и запускает процесс калибровки, например, путем ввода команды "калибровка" с устройства 16 дистанционного управления. Во время процесса калибровки видеопоток поступает в режиме реального времени из камеры 14 в контроллер 18, который отражает изображение относительно центральной вертикальной оси (меняет друг с другом левую и правую стороны изображения) перед его выводом на экран 12. С помощью устройства ввода информации пользователь может управлять разными функциями преобразования. Например, устройство ввода информации может содержать кнопки для задания коррекции наклона, возвышения и масштаба, как это схематически показано на фигуре 13. Команды, введенные пользователем, передаются в контроллер 18, который затем применяет преобразования в режиме реального времени к поступающему видеопотоку, так что изображение на экране перед пользователем изменяется в реальном времени. Пользователь может изменять интенсивность каждой функции преобразования, пока не получит на экране удовлетворяющее его изображение, после чего он может нажать кнопку "Ввод", указывая на завершение калибровки. Затем контроллер 18 записывает соответствующие параметры калибровки, и использует их для всех последующих видеопотоков реального времени.
Другой особенностью схемы, показанной на фигуре 13, является определения расстояния. Поскольку положение и наклон камеры 14 относительно экрана 12 известны (например, благодаря стационарному кронштейну, крепящему камеру к верхней части экрана), то изображение, захваченное камерой 14, может использоваться для триангуляции и вычисления расстояния. Например, когда пользователь появляется в кадре видеопотока, передаваемого камерой 14, может быть выполнена триангуляция по кончикам туфель пользователя для вычисления его расстояния от экрана 12. Эта операция может выполняться через каждое фиксированное число п кадров, так что расстояние пользователя от экрана может непрерывно обновляться для отслеживания его перемещений,. Фон может быть обновлен, когда пользователя не будет перед зеркалом (адаптивный способ формирования фона).
Другой особенностью схемы, показанной на фигуре 13, является использование освещения для создания глубины и/или атмосферы. В частности, в разных местах вокруг экрана 12 могут быть размещены несколько источников 17 света, например, групп светодиодов, и управление их работой осуществляет контроллер 18. Управление источниками 17 света может осуществляться таким образом, чтобы увеличивалась глубина изображения, например, путем добавления теней и ярко освещенных участков. Источники 17 света могут быть разного цвета, чтобы улучшить имеющееся освещение и создать подходящую общую цветовую "температуру" отображаемого изображения.
Источники света также могут быть настроены в соответствии с расстоянием до пользователя, чтобы сформировать однородное изображение и устранить артефакты (помехи), которые могут создаваться освещением в магазине. Вместо этого или дополнительно к этому изменения цвета и освещенности могут быть осуществлены контроллером непосредственно в цифровом изображении, принятом из камеры 14. Например, для улучшения зеркального характера изображения может использоваться преобразование цвета, например, регулируемым образом могут изменяться параметры, которые влияют на следующие характеристики изображения: глянец, четкость, резкость, матовость, металлический блеск и т.п. Контроллер 18 может также добавить виртуальные световые пятна и/или тени на изображении для добавления глубины. Кроме того, на передней поверхности экрана может быть нанесено антибликовое покрытие, для устранения или уменьшения отражений, которые обычно характерны для плоских дисплеев. Группа светодиодов может быть соединена со светочувствительным датчиком света и/или с датчиком цветовой температуры для автоматического поддержания характеристик света группы светодиодов в заданных пределах.
В соответствии с другими вариантами получение трехмерных изображений осуществляется с использованием двух камер, расположенных на расстоянии D друг от друга. Расстояние D определяется как среднее расстояние между глазами человека, обычно указываемое как межзрачковое расстояние, которое для взрослых людей составляет примерно 54-68 мм. Преобразование может быть получено как результат совмещения изображения, полученного из входной камеры на расстоянии D, с изображением, полученным из двух опорных (базовых) камер, которые расположены в пространстве подобно глазам пользователя. Базовое изображение для совмещения может быть получено с использованием устройства Kinect или любой ИК-камеры трехмерного изображения. Для калибровки могут также использоваться очки Google, причем пользователь в этих очках должен снять себя перед обычным зеркалом. Поскольку поле зрения фиксировано, то единственное, что необходимо сделать, это изменить размер изображения для получения правильного размера. Модуль преобразования изображения, такой как контроллер 18, может также изменить размер изображения для его уменьшения или увеличения, чтобы пользователь помещался в изображении на экране, или для фокусировки на некоторой его части.
Как можно понять, в то время как некоторые из вышеописанных вариантов относятся к формированию алгоритма преобразования путем совмещения изображений или иными эмпирическими способами, в других вариантах могут выполняться непосредственные вычисления расхождений между камерой и теоретической точкой наблюдения пользователя на основе анализа. В этом случае операция совмещения изображений не нужна. В этом случае формируется аналитический алгоритм преобразования, обеспечивающий коррекцию искажений.
Еще одной особенностью схемы, показанной на фигуре 13, является использование сети Интернет или "облака" для предоставления услуг, относящихся к преобразованию и представлению зеркального отражения. Например, в соответствии с одним из вариантов, преобразование может быть реально осуществлено в "облаке", если имеет достаточно быстрый канал связи. В этом случае видеопоток с камер 14 может быть передан на сервер 181, который осуществляет преобразование и передает видеопоток обратно в видеоконтроллер 18 для отображения на экране 11 монитора. В соответствии с другим вариантом изображения из камеры 14 или преобразованные изображения из камеры 14 могут быть записаны в "облаке" для хранения и распространяться из него по устройствам, таким как смартфон 183, планшет 187 и другой экран 189 монитора, такой как плоский телевизор. Это может осуществляться в режиме реального времени, когда пользователь примеряет одежду, так что его могут увидеть другие люди в других местах, которые могут высказать свое мнение о том, насколько примеряемая одежда подходит пользователю. Кроме того, после того как пользователь уйдет из магазина, он будет иметь доступ ко всем сделанным изображениям с помощью смартфона, планшета, ПК и т.п. Следует отметить, что для повышения удобства интерфейса пользователя, как показано на мониторе 189 схемы, приведенной на фигуре 13, вместе с текущим изображением могут отображаться пиктограммы различных примерок, и пользователь может выбирать их для просмотра.
На фигуре 14 приведена блок-схема способа извлечения данных из изображения, получаемого камерой 1430. Модуль 1450 запускающих событий определяет присутствие пользователя и активирует процесс извлечения данных. Для управления камерой с целью получения изображений наилучшего качества может использоваться модуль 1432 оптимизации работы камеры. В этом варианте, когда камера 1430 расположена над экраном и направлена вниз, она может видеть туфли пользователя на расстоянии, например, от 1 м до 4 м от экрана. Однако поскольку камера направлена вниз, и туфли находятся на большем расстоянии от камеры по сравнению с головой пользователя, то искажения будут максимальны. При использовании вышеописанного алгоритма преобразования на всех расстояниях будет обеспечиваться коррекция искажений.
Дополнительно, в соответствии с этим вариантом на стадии 1462 изображение пользователя отделяется от фона. На стадии 1464 вычисляется центр масс путем умножения двоичного изображения пользователя только на матрицу индексов с последующим нахождением средней величины индекса пикселей. Самый нижний пиксель тела, ниже центра масс (J, k) определяется открытием окна вокруг k (центр масс) и нахождением самого нижнего активного индекса, который, как можно предположить, представляет собой край туфель. На стадии 1468 вычисляется рост пользователя путем определения верхней точки головы в соответствии с разрешением камеры по расстоянию, полем зрения и углом наклона камеры.
На фигуре 15 приведена блок-схема варианта, в котором осуществляется соединение ("сшивание") изображений, получаемых из n камер. Соединение изображений особенно полезно для улучшения разрешения и поля зрения, когда пользователь приближается к экрану. В варианте, схема которого приведена на фигуре 15, осуществляется соединение изображений видеопотоков 1530, 1532, поступающих из n камер. Для запуска процесса соединения, когда определяется присутствие пользователя перед экраном, может использоваться модуль 1560 запускающих событий. Также может обеспечиваться измерение расстояние, либо в форме одной величины, представляющей среднее расстояние до пользователя, или нескольких величин, например, расстояния для каждой камеры. Вместо этого или в дополнение к этому могут обеспечиваться несколько величин, представляющих разные расстояния до разных частей тела пользователя.
Оптимизация каждой камеры может осуществляться независимо (стадии 1533, 1536), и видеопотоки, поступающие из каждой камеры, будут проходить через разные алгоритмы преобразования (блоки 1560, 1562), поскольку расположение и ориентация камер относительно точки наблюдения (блоки 1564, 1566) пользователя отличаются. Блок 1570 определения схемы соединения обеспечивает определение наилучшего места для соединения изображений. Если в системе используются две камеры, одна выше и другая ниже экрана, блок определения схемы соединения будут указывать индекс наилучшего разреза. Поскольку расстояние измеряется непрерывно, линия соединения при приближении пользователя к зеркалу может поддерживаться почти фиксированной. Для получения наилучших характеристик соединение (блок 1572) должно оптимизироваться в соответствии с расстоянием пользователя от камер. Для удаления линий, которые могут возникать на пересечениях разных изображений от разных камер, необходимо сглаживание (блок 1574). Изображения от разных камер будут немного отличаться из-за разницы в качестве камер и в освещении, а также в связи с разной коррекцией искажений для каждой камеры. Для ослабления эффекта подсветки может использоваться чересстрочное расположение рядов разных изображений. На выход блока 1576 передается соединенное ("сшитое") изображение.
В вышеописанных вариантах используется алгоритм преобразования для коррекции изображений, получаемых камерами, и получения изображения, которое имитирует отражение пользователя в зеркале. В нижеописанном варианте, блок-схема которого приведена на фигуре 16, улучшается качество представления глаз пользователя. Идея этого варианта заключается в том, чтобы заменить зону глаз, или только глаза, измененными пикселями, которые будут создавать полное ощущение того, что пользователь смотрит прямо на себя в зеркале. Как можно понять, пользователь будет смотреть прямо на себя, отображаемого на экране, однако поскольку камера не расположена на уровне глаз и не направлена горизонтально, то глаза пользователя, захваченные камерой, не будут смотреть прямо вперед. Вариант, блок-схема которого приведена на фигуре 16, исправляет эту проблему.
Основная часть компонентов на фигуре 16 аналогична компонентам блок-схемы, приведенной на фигуре 12, и имеет те же две последние цифры ссылочных номеров (отличаются первыми цифрами 16). Эти компоненты здесь уже не будут описываться. Основное внимание сосредоточено на блоке 1680, в котором осуществляется коррекция положения глаз. Поскольку масштаб уже был скорректирован на предыдущих стадиях, на этой стадии необходимо исправить и/или преобразовать внутренние элементы глаз, например, зрачок, радужную оболочку и т.п., чтобы получить соответствующее изображение.
Сначала модуль 1680 обнаруживает на изображении глаза и определяет, что пользователь в самом деле смотрит на экран. Информация для этой стадии и для корректировок может быть получена из архивных изображений, оценок среднестатистических пропорций глаза или измерений, когда пользователь смотрит прямо в объектив камеры, или когда пользователь стоит достаточно далеко от экрана, когда после выполнение алгоритма преобразования искажения будут сравнительно низкими. Если определено, что пользователь смотрит на экран, то пиксели, соответствующие зоне глаз, либо преобразуются, либо заменяются пикселями, которые помещают радужную оболочку и зрачок в центр глаза, то есть, пользователь будет смотреть вперед. Кроме того, белочная оболочка глаза может быть увеличена для имитации взгляда вперед, особенно когда камера расположена вверху экрана и направлена вниз.
Другая особенность, которая может быть реализована в любом из вышеописанных вариантов, - это частота обновления параметров преобразования. То есть, иногда пользователь может захотеть видеть неподвижное изображение, когда он стоит неподвижно перед экраном, который имитирует зеркало. Если алгоритм преобразования изменяется, когда пользователь неподвижен, это может создавать дискомфорт для него. С другой стороны, когда пользователь перемещается быстрее вперед к экрану или назад от него, в этом случае можно без проблем быстрее обновлять параметры преобразования. Соответственно, устанавливается несколько зон с разными режимами обновления параметров. В соответствии с одним из вариантов зоны разных режимов устанавливаются в соответствии только с расстоянием. Например, когда пользователь перемещается на расстояние, превышающее заданную величину, параметры обновляются. Соответственно, в одном варианте, если пользователь перемещается меньше, чем на 25 см, обновление параметров преобразования осуществляется реже, например, каждые × секунд, а если пользователь перемещается больше, чем на 25 см, то обновление параметров преобразования осуществляется со второй, большей частотой. В соответствии с другим вариантом зоны устанавливаются в соответствии со скоростью перемещения пользователя. Например, если определяется, что пользователь перемещается со скоростью, меньшей × см/сек, то используется первая скорость обновления параметров преобразования, и если пользователь перемещается быстрее, то обновление параметров преобразования осуществляется со второй, большей частотой.
Таким образом, как можно понять из вышесказанного, хотя для отображения изображений пользователя может использоваться обновление системы обработки видео в режиме реального времени, преобразование изображений для отображения на экране монитора необязательно изменять в режиме реального времени, и его обновление будет зависеть от поведения пользователя. Например, если пользователь практически неподвижен или перемещается очень медленно, параметры преобразования могут обновляться в режиме "полуреального" времени. Затем, когда пользователь начинает перемещаться быстрее, система обработки видео может обновляться чаще.
Следует понимать, что вышеописанные варианты могут быть реализованы с использованием цифровой камеры (например, видеокамеры) и монитора, причем изображения из камеры поступают в процессор. Процессор применяет к изображениям алгоритм преобразования и отображает их на мониторе либо в режиме дисплея, либо в режиме зеркала. Из вышеописанного следует понимать, что режим зеркала может быть реализован путем отображения на мониторе видеопотока, получаемого в режиме реального времени, изображения в котором подвергаются обработке в соответствии с алгоритмом преобразования. То есть, в режиме зеркала изображения, которые отображаются на мониторе, являются изображениями пользователями, полученными в режиме реального времени. В режиме дисплея отображаемые изображения являются изображениями, полученными ранее и извлеченными, из устройства хранения данных. Эти записанные изображения могут быть необработанными, то есть, в том виде, как они были получены из камеры, или уже обработанными изображениями. В любом случае ранее записанные изображения, которые отображаются на дисплее, являются преобразованными изображениями. Поэтому, если записанные изображения являются необработанными изображениями,, процессор применяет к ним алгоритм преобразования перед отображением на мониторе.
Независимо от того, работает ли система в режиме дисплея или в режиме зеркала может быть рассмотрена проблема времени: в режиме зеркала изображение, которое отображается на мониторе, является преобразованным изображением того, что видит камера в настоящий момент времени (или немного раньше), а в режиме дисплея отображаемое изображение является преобразованным изображением того, что эта или другая камера видела раньше, и отличается от того, что камера видит в настоящий момент. Эта проблема также относится и к восприятию: в режиме зеркала, поскольку на мониторе отображается преобразованное изображение того, что камера видит в настоящий момент времени, у пользователя, смотрящего на монитор, возникает ощущение, что он смотрит в зеркало, а в режиме дисплея пользователь, смотрящий на монитор, понимает, что он видит видеозапись того, что произошло ранее.
Необходимо понимать, что система может быть реализована отдельно и независимо от экрана монитора. Например, в некоторых местах (например, в примерочной) может быть установлен только экран монитора, без какой-либо камеры. Монитор конфигурируют для связи с системой таким образом, чтобы можно было считывать записанные изображения и отображать на экране монитора. Пользователь может взаимодействовать с монитором для просмотра ранее полученных изображений, например, для их сравнения с примеряемой вещью. В другом примере все полученные изображения могут быть загружены на "облако", так что пользователь может просматривать эти изображения на экране ПК или мобильного устройства, например, используя приложение на планшете.
Как можно понять из вышеприведенного описания, различные варианты осуществления изобретения представляют собой устройство преобразования изображений, которое содержит: порт ввода для приема цифровых изображений из камеры; порт вывода для передачи преобразованных изображений для их отображения на мониторе или записи в устройстве хранения данных; и модуль преобразования, который принимает изображения из порта ввода и применяет к ним преобразование, которое включает: по меньшей мере отражение изображения относительно вертикальной оси, в результате которого правая и левая сторона изображения меняются местами; применение алгоритма преобразования к изображению для его изменения таким образом, чтобы оно казалось отражением в зеркале; изменение размера изображения для ослабления изменений, вызываемых изменением расстояния объекта от камеры. В других вариантах предлагается программа, которая при ее выполнении на компьютере, вызывает преобразование компьютером цифрового изображения, полученного из камеры таким образом, что преобразованное изображение напоминает отражение в зеркале, причем преобразование включает: по меньшей мере отражение изображения относительно вертикальной оси, в результате которого правая и левая сторона изображения меняются местами; применение алгоритма преобразования к изображению для его изменения таким образом, чтобы оно казалось отражением в зеркале; изменение размера изображения для ослабления изменений, вызываемых изменением расстояния объекта от камеры. Программа может выполняться на любом универсальном компьютере, таком как сервер, ПК, планшет, смартфон и т.п.
В других вариантах предлагается система, которая обеспечивает возможность пользователю видеть свое изображение на цифровом экране, причем изображение, выводимое на экран, имитирует отражение в зеркале. Система содержит: цифровую камеру, формирующую поток изображений пользователя; контроллер, имеющий порт ввода для приема изображений из камеры, и применяющий к изображениям преобразование для формирования преобразованных изображений, воспроизводящих отражение пользователя в зеркале; причем контроллер имеет порт вывода для передачи потока преобразованных изображений для отображения на мониторе; и устройство хранения данных для записи преобразованных изображений. Контроллер также соединен с Интернетом для загрузки потока преобразованных изображений на "облако". Система также включает программы-клиенты, обеспечивающие возможность скачивания преобразованных изображений из "облака" для просмотра.
В различных вариантах контроллер применяет к потоку изображений преобразование, которое включает: отражение изображения относительно вертикальной оси, в результате которого правая и левая сторона изображения меняются местами; применение алгоритма преобразования к изображению для его изменения таким образом, чтобы оно казалось отражением в зеркале; и изменение размера изображения для ослабления изменений, вызываемых изменением расстояния объекта от камеры. Алгоритм преобразования существенным образом изменяет адрес каждого пикселя исходного изображения.
Алгоритм преобразования обеспечивает получение изображения, которое было бы получено с камеры, установленной на уровне глаз пользователя и направленной горизонтально. Алгоритм преобразования включает по меньшей мере преобразование наклона и преобразование высоты, причем преобразование наклона изменяет изображение таким образом, что это эквивалентно наклону камеры, и преобразование высоты изменяет изображение таким образом, то это эквивалентно изменению высоты камеры.
Алгоритм преобразования может включать изменение угла наклона, угла азимута, масштаба, пространственного сдвига (то есть, линейного изменения высоты или смещения по горизонтали) и т.п. Конечное преобразование является матричного умножения отдельного преобразования для коррекции отдельных искажений.
В других вариантах предлагается система для улучшения средств видеоконференций или видеозвонков. Система содержит процессор преобразования для преобразования потока изображений, полученных из видеокамеры, установленной на периметре экрана монитора, так что на этих изображениях пользователь смотрит прямо на экран (что и есть на самом деле), а не в объектив камеры. Подсистема преобразования принимает поток изображений и преобразует их таким образом, чтобы на преобразованных изображениях пользователь смотрел прямо в объектив камеры. Алгоритм преобразования включает любую комбинацию коррекций угла наклона, угла азимута, масштаба, пространственного сдвига (то есть, линейного изменения высоты или смещения по горизонтали) и т.п. Преобразование может также включать замену зоны глаз, или только глаз, измененными пикселями, которые будут создавать полное ощущение того, что пользователь смотрит прямо в объектив камеры.
В различных вариантах способ включает также вычисление расстояния до пользователя, который фигурирует на изображении, путем отслеживания расстояния между его глазами или размера головы и соответствующего масштабирования изображения. Например, в соответствии с одним из вариантов в системе записано ожидаемое расстояние между глазами пользователя, то есть межзрачковое расстояние, на среднем расстоянии от камеры. 95% мужского населения в США имеет межзрачковое расстояние, равное 70 мм, в то время как у женщин это расстояние равно 65 мм. Когда определяется присутствие пользователя перед камерой, система может сначала определить его пол или же просто переходит к программе измерения расстояния, в которой используется среднее межзрачковое расстояние, равное 68 мм. Для измерения дальности система идентифицирует зрачки на изображении и изменяет масштаб для сохранения ожидаемого межзрачкового расстояния. Система обрабатывает поступающий видеопоток путем масштабирования изображений для сохранения постоянной величины межзрачкового расстояния, равной ожидаемому значению. Таким образом, когда пользователь отходит от камер или подходит к ней, размер фигуры пользователя на изображении, выводимом на экран монитора, остается примерно одинаковым, как это и должно быть для отражения в зеркале. Как можно понять, в системе могут использоваться стандартные размеры, такие как расстояние между ушами и т.п., однако использовать расстояние между глазами проще, поскольку глаза очень легко могут распознаваться в системе. Однако если на пользователе темные очки,, система должна будет обратиться к другим измерениям других частей тела. Это переключение осуществляется динамически, то есть, если система находит глаза, она использует межзрачковое расстояние, если нет, то следует переход к измерению других частей тела.
Также могут использоваться фильтры эффектов, такие как фильтр эффекта подсветки, фильтр эффекта отражающей текстуры, фильтр цветовых эффектов для создания эффекта металлического блеска и т.д. Аналогично, для изменения получаемого изображения могут регулироваться такие параметры, как скорость работы затвора камеры, усиление датчика, баланс белого и любые их комбинации. В любых вариантах эти параметры регулируются в соответствии с динамической областью, представляющей интерес, так что изменения, применяемые к параметрам, относятся лишь выбранной области изображения, а не ко всему изображению. Например, параметры могут изменяться и обновляться в соответствии с расстоянием до пользователя и ограничиваются выбранной областью, которая является окошком, охватывающим пользователя. Например, изображение пользователя может быть отделено от фона, и параметры будут применяться лишь к пикселям изображения пользователя.
В других вариантах реализуется улучшенный эффект реального времени путем записи видео с использованием камеры высокого разрешения с первой частотой кадров, и воспроизведения с повышенной частотой кадров для более плавных движений на экране. Кроме того, фон полученного видеопотока может быть заменен искусственным фоном, записанным в системе. Может использоваться дополнительная обработка для добавления или изменения цвета или текстур аксессуара или другого элемента на изображении. Кроме того, для видеоконференций и других применений преобразование может выполняться без отражения изображения относительно вертикальной оси.
Хотя в настоящем описании были рассмотрены и описаны конкретные признаки изобретения, специалистам в данной области техники будут очевидны многочисленные модификации, замены, изменения и эквиваленты. Поэтому предполагается, что такие модификации и изменения, не выходящие за пределы сущности изобретения, охватываются прилагаемой формулой.