ОБРАБОТКА ПОЛЬЗОВАТЕЛЬСКОЙ ВХОДНОЙ ИНФОРМАЦИИ С ОТСЛЕЖИВАНИЕМ ГЛАЗ
USER INPUT PROCESSING WITH EYE TRACKING

ПЕРЕКРЕСТНЫЕ ССЫЛКИ
Данная патентная заявка претендует на преимущество и приоритет патентной заявки США номер 13/464,703 от 4 мая 2012, описание которой включено здесь в виде ссылки.
ОБЛАСТЬ ТЕХНИКИ
Данное изобретение в основном относится к системам обработки ввода и, в частности, к обработке ввода от множества пользователей с помощью обработки изображений.
УРОВЕНЬ ТЕХНИКИ
Приложения компьютерных систем взаимодействуют с пользователями, получая пользовательскую входную информацию, обрабатывают входную информацию и предоставляют результат. Так как системы становятся более продвинутыми и больше людей пользуются технологией, приложения вынуждены взаимодействовать одновременно со многими пользователями. Многие пользователи могут взаимодействовать с компьютерными системами в одно и то же время, и пользователи могут получать выходную информацию, относящуюся к конкретному пользователю. Например, два пользователя могут использовать игровые устройства управления для игры в компьютерную игру, позволяющую пользователям соревноваться друг с другом во время игровой сессии. Каждый пользователь дает входную информацию с помощью соответствующего игрового устройства управления.
Технология развилась таким образом, что позволяет использовать различные виды взаимодействия с компьютерными системами. Точнее, для получения входной информации от удаленного игрового устройства управления для каждого пользователя, например, некоторые компьютерные системы используют отдельные механизмы ввода информации, такие как сенсорный экран. При взаимодействии одного пользователя с компьютерным устройством отдельный механизм ввода информации получает входную информацию от отдельного пользователя. При взаимодействии множества пользователей с компьютерной системой с помощью отдельного механизма ввода информации очень сложно определить, который из пользователей ввел входную информацию.
Существует необходимость на данном уровне техники в системе, позволяющей множеству пользователей легко и эффективно взаимодействовать с компьютерным устройством, использовать отдельный механизм ввода информации.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
В варианте реализации, надежности, функциональности, контенте или деловом соответствии, основываясь на обучающихся технологиях, эффективном мониторинге и управлении ресурсами, настоящая система может собирать данные и проводить анализ информации для выпадающих значений сетевого приложения с очень малыми затратами.
В варианте реализации входная информация может быть получена первым идентифицирующим множеством пользователей, физически присутствующих у устройства. Входная информация может быть получена устройством от первого пользователя из множества физически присутствующих пользователей. Физическое состояние может быть распознано от одного из множества пользователей, связанных с входной информацией.
В варианте реализации система для распознавания входной информации может содержать дисплейное устройство, камеру, процессор и модули, сохраняемые в памяти и выполняемые процессором. Камера может захватывать данные цветного изображения и передавать данные изображения процессору. Модуль распознавания деталей выполняется для распознавания физических деталей пользователя. Модуль распознавания фокусирования пользователя распознает точку фокусировки глаз пользователя. Модуль обработки входной информации получает и обрабатывает входную информацию от пользователя.
КРАТКОЕ ОПИСАНИЕ ФИГУР
Фигура 1 представляет собой блок-схему примерной системы для получения входной информации через сенсорный экран компьютерной консоли.
Фигура 2 представляет собой блок-схему примерной системы для получения входной информации через сенсорный экран планшетного компьютера.
Фигура 3 представляет собой блок-схему примерной системы для получения входной информации через сенсорный экран мобильного устройства.
Фигура 4 иллюстрирует примерное компьютерное устройство с механизмом распознавания пользователя.
Фигура 5 иллюстрирует примерный набор выполняемых программных модулей.
Фигура 6 представляет собой блок-схему последовательности процесса примерного способа определения входной информации от одного из множества пользователей.
Фигуры 7А-7C представляют собой примерные иллюстрации глаз пользователей.
Фигура 8 представляет собой блок-схему примерного компьютерного устройства, получившего входную информацию от одного из множества пользователей.
Фигура 9 представляет собой блок-схему примерной системы для реализации компьютерным устройством.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Варианты реализации изобретения определяют, который из пользователей из множества пользователей передает входную информацию через единое устройство ввода информации. Компьютерная система может содержать механизм захвата изображений одного или более пользователей. Изображения могут быть обработаны для определения того, какой из пользователей передает входную информацию, используя устройство ввода информации. Например, изображения могут быть обработаны для идентификации голов и глаз каждого пользователя и определения точки фокусирования для глаз каждого пользователя. Пользователь, чьи глаза сфокусированы на устройстве ввода информации, идентифицируются при вводе входной информации. В вариантах реализации, в которых механизмом ввода информации может быть сенсорный экран, пользователь фокусирует глаза на части сенсорного экрана, которая была тронута, определяется как передающая входную информацию.
Варианты реализации изобретения могут быть использованы с различными типами компьютерных устройств. Фигура 1 представляет собой блок-схему примерной системы для получения входной информации с помощью сенсорного экрана компьютерной консоли. Компьютерная консоль 125 передает данные изображения для отображения на сенсорный экран 120. Сенсорный экран 120 может получать входную информацию путем прикосновения и передавать входную информацию компьютерной консоли 125. Компьютерная консоль может получать входную информацию, обрабатывать входную информацию, создавать новые данные изображения и передавать данные изображения на сенсорный экран 120. Любой из пользователей 105 и 110 может передать входную информацию в компьютерную консоль 125, например, прикоснувшись к сенсорному экрану 120. Настоящее изобретение способно определять, который из пользователей прикоснулся к сенсорному экрану, и соответствующе обработать входную информацию. Фигура 2 представляет собой блок-схему примерной системы для получения входной информации через сенсорный экран планшетного компьютера 130. Пользователи 105 и 110 могут оба передавать входную информацию на планшетный компьютер 130, используя сенсорный экран планшета. В данном варианте реализации изобретения возможно определить, который из пользователей 105 и 110 передал входную информацию на планшетный компьютер 130, и соответствующе обработать входную информацию. Фигура 3 представляет собой блок-схему примерной системы для получения входной информации через сенсорный экран мобильного устройства. Пользователи 105 и 110 могут оба передать входную информацию мобильному устройству 140 через сенсорный экран или другую входную информацию. Данное изобретение может определить, который из пользователей передал входную информацию на мобильное устройство 140 и обработать входную информацию для этого пользователя.
Фигура 4 иллюстрирует примерное компьютерное устройство с механизмом распознавания пользователя 45. Механизм распознавания пользователя 405 может быть использован с компьютерной консолью, планшетным компьютером, мобильным устройством или любым другим компьютерным устройством. Механизм распознавания пользователя содержит цветную камеру 410 и инфракрасную (IR) камеру 415. Цветная камера 410 может захватывать изображения в области 420 в непосредственной близости к компьютерному устройству. Изображения могут быть обработаны для идентификации пользователей, физических деталей пользователей и состояния физических деталей. Например, изображения двух игроков, захваченные цветной камерой 410, могут быть обработаны для идентификации двух пользователей в области 420, физические детали обоих пользователей, включая головы и глаза пользователей, и состояние глаз каждого пользователя, к примеру, на чем каждый пользователь фокусирует свои глаза. IR система изображений 415 также может быть использована для захвата и обработки изображений. IR система изображений 415 может быть использована в условиях слабой освещенности для захвата IR изображений в области 425. IR изображения могут быть обработаны для идентификации количества пользователей, физических деталей пользователя и состояний деталей подобно обработке изображений цветной камеры.
Фигура 5 иллюстрирует примерный набор выполняемых программных модулей. Модули могут выполняться процессором для реализации различных аспектов изобретения, здесь описанного. Модуль распознавания деталей 520 распознает детали в изображениях пользователя. Например, модуль распознавания деталей может получать изображение, распознавать контуры человеческого лица и определять глаза на лице. Модуль 520 может иметь шаблон одного или более лиц для сравнения частей полученного изображения для идентификации человеческого лица. Шаблон может храниться в модуле библиотеки деталей 540. В некоторых вариантах реализации модуль распознавания деталей 540 может распознавать движение между двумя или более последовательными изображениями и использовать изменения в окраске пикселей для распознавания пользователей. После распознавания головы пользователя модуль распознавания деталей анализирует детали головы для распознавания глаз пользователя. Глаза могут быть определены распознаванием детали, такой как нос, близкий к глазам, определение того, что глаза пользователя находятся на определенной дистанции от верха головы пользователя, или выполнение других алгоритмов, вообще известных в данной области техники. В дополнение к физическим деталям, другие детали также могут быть определены, такие как, например, расстояние от пользователя до компьютерного устройства. В некоторых вариантах реализации, если распознано, что некто находится на расстоянии от компьютерного устройства, большем, чем пороговое, пользователь не будет считаться пользователем, способным вводить входную информацию.
Модуль фокусирования пользователя 510 может анализировать изображения глаз пользователя и определять, на чем фокусируется пользователь. Передняя часть человеческого глаза содержит черный зрачок, цветную радужною оболочку вокруг зрачка и белую белочную оболочку глаза вокруг цветной радужной оболочки. Компьютерное устройство может анализировать область и расположение белочной оболочки глаза для определения того, сфокусирован ли пользователь вверх, вниз, влево или вправо. Например, если глаза пользователя сфокусированы на объекте справа от него, изображение захватываемого глаза пользователя покажет больше белочной оболочки глаза пользователя с правой стороны глаза в изображении (левой стороны пользователя), чем с левой стороны, поскольку глаза будут двигаться налево.
Модуль входной информации фокусирования 530 получает входную информацию и обрабатывает входную информацию. Входная информация может выбираться из обозначенной горячей точки на сенсорном экране, кнопки, беспроводного сигнала, или несколько другой входной информации. Модуль входной информации фокусирования 530 может получать информацию от других модулей, определяющих пользователя, передающего новейшую входную информацию. Модуль обработки входной информации затем обрабатывает входную информацию как действие определенного пользователя.
Модуль библиотеки деталей 540 может содержать маски лиц и глаз, шаблонов, моделей и других данных, используемых для обработки изображения и распознавания физических деталей пользователя и состояния деталей, таких как направления фокусирования глаза пользователя.
Фигура 6 представляет собой блок-схему последовательности процесса примерного способа определения входной информации от одного из множества пользователей. Способ по Фигуре 6 может быть выполнен любыми компьютерными устройствами 120 и 125, 130 и 140. Взаимодействующие пользователи определяются компьютерным устройством на этапе 610. Взаимодействующие пользователи - это те, которые могут вводить входную информацию в компьютерное устройство. Взаимодействующие пользователи могут быть определены регистрацией в системе или обработкой изображения. Регистрация может включать передачу идентификационной информации некоторого вида от каждого пользователя или индикацию того, что они присутствуют у компьютерного устройства. Обработка изображения может включать захват одного или более изображений области, из которой пользователи могут передавать входную информацию, распознавание количества человеческих голов и присвоение значения каждой распознанной голове. В некоторых вариантах реализации как регистрация, так и обработка изображения могут быть использованы для идентификации взаимодействующих пользователей.
Способ распознавания человеческой головы с помощью обработки изображения может начинаться с анализа изображения форм, похожих на человеческую голову. Формы могут быть определены с использованием контрастного распознавания, распознавания движения и других техник. После обнаружения потенциальной формы головы голова кандидата анализируется на детали, общие для большинства человеческих голов. Детали могут содержать контраст, затенение или другие детали, присутствующие на носу, во рту или может быть глазах. Если голова кандидата удовлетворяет пороговому уровню деталей, голова кандидата может быть опознана как голова взаимодействующего пользователя. В данной области технологии известны и другие способы распознавания лиц в изображении.
Область глаза каждого пользователя локализуется на этапе 615. Распознавание области глаза головы взаимодействующего пользователя может включать поиск по контрасту, яркости или другим уровням свойств изображения по области головы, где располагается глаз. После локализации глаза пользователя поведение глаз может быть откалибровано для каждого взаимодействующего пользователя на этапе 620. Калибровка может включать инструкции на экране для взаимодействующего пользователя, отмечающие необходимое расстояние между компьютерным устройством и лицом пользователя, инструкции для рассмотрения обозначенной точки на экране и другие указания. Калибровка может потребовать от пользователя посмотреть на различные точки или горячие точки дисплея компьютерного устройства и проанализировать изображение глаза пользователя при известном фокусировании глаз пользователя. Например, Фигуры 7А-С иллюстрируют голову и глаза пользователя при фокусировании глаз пользователя на различных областях. Фигура 7А иллюстрирует голову пользователя 710 с глазами 714 и 712. Глаз 714 содержит область цветной радужной оболочки и область зрачка 716 и области белочной оболочки глаза 718 и 720. Глаз 712 содержит область цветной радужной оболочки, область зрачка 722 и области белочной оболочки глаза 724 и 726. При одинаковом расположении областей белочной оболочки глаза слева и справа от областей цветной радужной оболочки и зрачка может быть определено, что пользователь сфокусирован прямо. Если область белочной оболочки глаза значительно больше справа от областей цветной радужной оболочки и зрачка, чем область белочной оболочки глаза слева от зрачка и цветной радужной оболочки, пользователь может сфокусироваться направо от пользователя (Фигура 7B). Таким же образом, если область белочной оболочки глаза значительно больше справа и ниже цветной радужной оболочки и области зрачка, чем область белочной оболочки глаза слева и выше зрачка и цветной радужной оболочки, пользователь может сфокусироваться в направлении справа вверху от пользователя (Фигура 7C). Градус фокусирования и соответствующая точка фокусирования может быть получена от проведения ряда измерений глаза пользователя во время калибровки. Область и локализация зрачка пользователя, белочной оболочки глаза и других объектов может быть записана для последовательного отслеживания глаз пользователя.
Отслеживание глаз пользователя начинается на этапе 625. Отслеживание включает захват последовательных изображений пользователя. Изображения могут быть обработаны для отслеживания и поддержки знания о локализации и фокусировке глаза пользователя. В некоторых вариантах реализации изображения захватываются одно за другим и сохраняются, но затем отбрасываются, если не была получена входная информация от любого из пользователей.
Входная информация распознается в горячей точке экрана на этапе 630. Входная информация может содержать горячую точку прикосновения пользователя на сенсорном экране для одного из компьютерной консоли 120, планшетного компьютера 220 и мобильного устройства 320. Горячая точка может быть конкретным изображением объекта, демонстрируемого на экране, такого как изображение символа, звонка, виртуальной вещи, текста или другого объекта. Пользователь фокусирует глаза на расположении горячей точки входной информации, определенной на этапе 635. Расположение глаза может быть определено, как описано выше по отношению к процессу калибровки. Пользователь в соответствии с конкретной входной информацией может быть определен множеством способов. Например, определяется фокусирование глаза каждого пользователя и выбирается пользователь с фокусированием глаза, наиболее близким к горячей точке. В другом случае фокусирование глаза для каждого пользователя может быть определено, пока фокусирование глаза распознается в пределах пороговой дистанции горячей точки, с которой получена входная информация. В некоторых вариантах реализации правдоподобие входной информации может быть определено для каждого пользователя на основе истории их входной информации, их фокусирование глаза, где ожидается входная информация от пользователя, и т.д. После связывания входной информации с определенным пользователем входная информация в горячей точке обрабатывается для конкретного пользователя на этапе 640.
Фигура 8 представляет собой блок-схему примерного компьютерного устройства, получающего входную информацию от одного из множества пользователей. Компьютерное устройство 800 содержит систему камеры 805 (система распознавания пользователя) с цветной камерой 810 и IR камерой 815. Пользователи 830 и 835 каждый находятся на расстоянии 820 от цветной камеры 810 и расстоянии 825 от IR камеры 815. Компьютерное устройство 800 содержит сенсорный экран с горячими точками 840, 845, 850, 855 и 860. Во время калибровки система может продемонстрировать текст, который просит пользователя сфокусироваться на конкретной горячей точке, пока система захватит изображение глаза пользователя.
Когда входная информация получена, компьютерное устройство 800 определяет фокусировку пользователя и определяет входную информацию как входящую от пользователя, сфокусировавшегося на горячей точке, получившей входную информацию. Например, пользователь 835 ввел входную информацию в горячей точке 855, нажимая экран в горячей точке 855. Во время получения входной информации устройство обработки будет анализировать изображения, захваченные цветной камерой 810, IR камерой 815 или обеими. Фокусирование пользователей определяется из изображений. Если после обработки изображения пользователь 830 определен как сфокусировавшийся на 870, а пользователь 835 определен как сфокусировавшийся на 880, что соответствует горячей точке 855, входная информация, полученная в горячей точке 855, будет связана с пользователем 835. Определяя, куда сфокусированы глаза пользователя, входная информация, получаемая через устройство, используемое множеством игроков, может быть связанна с один из множества игроков.
Фигура 9 иллюстрирует примерную компьютерную систему 900, которая может быть использована для реализации компьютерного устройства для использования в настоящей технологии. Система 900 из Фигуры 9 может быть реализована в средах, подобных компьютерной консоли 120, планшетного компьютера 220 и мобильного устройства 320. Компьютерная система 900 Фигуры 9 содержит одну или более камер 910, процессоры 915 и память 920. Основная память 920 хранит, в частности, инструкции и данные для выполнения процессором 915. Основная память 920 может хранить выполняемый код во время работы. Система 900 Фигуры 9 дополнительно содержит устройство хранения 925, портативные диск(и) хранения 930, IR устройство 935, устройства вывода 940, устройства ввода пользовательской информации 945, дисплей 950 и периферийные устройства 955.
Камеры 910 могут содержать более одной камеры, способных захватывать серии фотографий; подходящих для анализа обработки изображений. Фотографии могут быть размещены в компьютерной системе, размещенной снаружи по отношению к системе. Захваченные камерой 910 изображения могут быть переданы процессору 915 по шине 960, который может выполнять модули, хранящиеся в памяти 920, для анализа изображения на предмет деталей распознавания.
IR устройство 935 может содержать IR камеру, способную захватывать изображения в условиях очень слабой освещенности. IR изображения могут быть обработаны так же, как изображения цветной камеры для распознавания деталей пользователя. Захваченные изображения от IR устройства 935 могут быть переданы на процессор 915 для обработки по шине 960.
Компоненты, показанные в Фигуре 9, изображены как подключенные по одной шине 990. Однако компоненты могут быть подключены через одну или более шин передачи данных. Например, процессорное устройство 915 и основная память 920 могут быть соединены по локальной микропроцессорной шине, а запоминающее устройство 925, периферийное устройство(а) 955, портативное запоминающее устройство 930 и система дисплея 950 могут быть соединены по одной или более шинам входной/выходной (I/O) информации.
Запоминающее устройство 925, которое может быть реализовано с помощью магнитного диска или оптического диска, является энергонезависимым устройством хранения для хранения данных и инструкций для использования процессорным устройством 915. Устройство хранения 925 может хранить системные программы для воплощения вариантов реализации настоящего изобретения для загрузки этого программного обеспечения в основную память 920.
Портативное запоминающее устройство 930 работает в связке с портативным энергонезависимым носителем хранения, таким как дискета, компакт-диск или цифровой видеодиск, для ввода и вывода данных и кода в и из компьютерной системы 900 Фигуры 9. Системное программное обеспечение для воплощения вариантов реализации настоящего изобретения может храниться на таком портативном носителе и вводить информацию в компьютерную систему 900 по портативному устройству хранения 930.
Устройство ввода информации 945 реализует частично интерфейс пользователя. Устройство ввода информации 945 может содержать алфавитно-цифровую клавиатуру, такую как клавиатура для ввода алфавитно-цифровой и другой информации, или указывающее устройство, такое как мышь, трекбол, стилус или кнопки управления курсором. Дополнительно, система 900, как показано на Фигуре 9, содержит выводные устройства 940. Примеры подходящих выводных устройств содержат динамики, принтеры, сетевые интерфейсы и мониторы.
Система дисплея 950 может содержать жидкокристаллический дисплей (LCD) или другое подходящее дисплейное устройство. Система дисплея 950 получает текстовую и графическую информацию и обрабатывает ее для вывода на дисплейное устройство. Система дисплея 950 может содержать устройство сенсорного экрана, которое получает входную информацию распознаванием прикосновения к поверхности дисплея. Пикселы, полученные в результате прикосновения, передаются на процессор 915 по шине 960.
Периферийные устройства 955 могут содержать любой тип компьютерных вспомогательных устройств для добавления дополнительной функциональности компьютерной системе. Например, периферийное устройство(а) 955 может содержать модем или маршрутизатор.
Компоненты компьютерной системы 900 Фигуры 9 являются типичными для компьютерных систем, которые могут подходить для использования с вариантами реализации данного изобретения и представляют основную категорию таких компьютерных компонентов, которые хорошо известны в данной области техники. Таким образом, компьютерная система 900 Фигуры 9 может быть персональным компьютером, переносным компьютерным устройством, телефоном, мобильным компьютерным устройством, рабочей станцией, сервером, мини-компьютером, главным компьютером или любым другим компьютерным устройством. Компьютер также может содержать различные конфигурации шин, сетевых платформ, многопроцессорных платформ и т.д. Могут использоваться различные операционные системы, в том числе Unix, Linux, Windows, Macintosh OS, Palm OS и другие подходящие операционные системы.
Следующее детализированное описание технологии присутствует здесь в иллюстративных целях. Не следует считать, что технология исчерпывается или ограничивается в точности с вышеизложенным. Множество модификаций и вариаций возможно в виду вышеизложенного. Описанные варианты реализации были выбраны с целью наилучшего объяснения принципов технологии и ее практического применения, таким образом сделав возможным для других специалистов в данной области техники наилучшим образом освоить технологию в различных вариантах реализации и с различными модификациями, как это удобнее для конкретного использования при обдумывании. Объем технологии определяется приведенной здесь формулой изобретения.