ОБНАРУЖЕНИЕ ОБЪЕКТОВ ИЗ ЗАПРОСОВ ВИЗУАЛЬНОГО ПОИСКА
DETECTING OBJECTS FROM VISUAL SEARCH REQUESTS

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[001] Данное изобретение относится к компьютерной технологии для Интернет-маркетинга, и более конкретно, к сетевому компьютерному приложению, для разбиения видео на сегменты, идентификации объектов в сегментах и сопоставления продуктов с объектами.
УРОВЕНЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ
[002] Электронная торговля - это транзакция покупки или продажи по сети. Электронная торговля стала важным инструментом для бизнеса по всему миру, не только для продажи покупателям, но также для их привлечения. В 2012, продажи в электронной торговле по всему миру превысили 1 триллион долларов США.
[003] Интернет-маркетинг относится к рекламной и маркетинговой деятельности, которая использует веб-сервисы и электронную почту, чтобы стимулировать продажи посредством электронной торговли. Она включает в себя маркетинг с использованием электронной почты, маркетинг с использованием поисковых механизмов (SEM), маркетинг с использованием социальных медиа, множество типов рекламы на дисплеях (например, баннерная реклама) и рекламу на мобильных устройствах. Метаданные являются крайне важным компонентом Интернет-маркетинга.
[004] Так как онлайн-покупатели не имеют возможности просмотра товаров лично, они обычно осуществляют поиск по критериям, таким как ключевое слово. Бизнес обычным образом сохраняет метаданные о поисках и транзакциях, которые обеспечивают им возможность анализа тенденций продаж, разработки маркетинговых планов и совершения предсказаний. Эти же метаданные обеспечивают бизнесу возможность обеспечения более персонализированного восприятия совершения покупок с помощью таких функциональных возможностей, как история покупок, адресные книги для многочисленных местоположений доставки и рекомендации по продуктам.
[005] Сегодня, большинство веб-страниц имеют встроенные в них метаданные. Механизмы веб-поиска осуществляют построение огромного числа указателей, которые используют текст со страницы и их сопутствующие метаданные, чтобы предоставить пользователям релевантные результаты поиска. Метаданные могут быть использованы для таргетированной рекламы. Рекламодатели могут использовать более сложные способы для таргетирования наиболее восприимчивых аудиторий с определенными особенностями, на основе продукта, который продвигает рекламодатель.
[006] Например, человек может использовать веб-браузер, чтобы искать авиарейсы до Новой Зеландии. Метаданные в форме данных типа "cookie" от веб-сайтов, посещенных им/ею, сохраняются на компьютере веб-браузером пользователя. Данные типа cookie отправляются туда и обратно между Интернет-сервером и браузером, что обеспечивает пользователю возможность идентификации и/или слежения за его/ее действиями. В дальнейшем, человек может принимать рекламные объявления, такие как баннерные рекламные объявления, относящиеся к путешествию в Новую Зеландию, такие как отель, аренда автомобиля, информация о турах и рейсах.
[007] Кроме того, метаданные могут быть использованы для идентификации и таргетирования пользователя на основе демографических групп. Бизнес может понять, что продукт привлекателен для определенной демографической группы, и направить маркетинговые усилия на эту демографическую группу. Например, баннерная реклама для безопасности инвестиций может быть неэффективной для подростковой аудитории. Таргетирование рекламы для более старшей демографической группы, и более конкретно для тех, кто готовится к пенсии, будет более эффективным. Пользователь не будет получать рекламные объявления, если метаданные предполагают, что он/она находится вне целевой демографической группы.
[008] С появлением рынка, демонстрирующего возрастающий уровень использования визуального поиска, совершенствование демографического профилирования представляет огромный интерес и пользу для потребителей, так же, как и для компаний. Организации могут использовать такие модели для предоставления крайне персонализированных предложений, оценки паттернов использования (на основе сезонности, например), и даже определения будущего направления продукта.
[009] Поиск на основе визуальных данных является обычным явлением, особенно при повсеместности смартфонов и планшетных компьютеров. Например, пользователь в примере выше может искать изображения, относящиеся к пешему туризму в Новой Зеландии. Так как он/она щелкает по изображениям, браузер не имеет возможности записи метаданных на основе ключевых слов, набираемых в браузере. Аналогично, он/она может смотреть видео, относящееся к достопримечательностям в Новой Зеландии. При обыкновенной технологии, ни изображения, ни видео не будут отдавать метаданные для таргетированного маркетинга.
[0010] Однако, увеличившееся количество потоковой передачи видео и загрузки видео также представляет новые возможности. Например, знаменитость может появиться на видео в социальных медиа, несущей конкретную сумочку. Продажи данной сумочки могут вырасти, если она поддается идентификации и доступна для покупки.
[0011] Имея быстрое распространение и популярность платформ распространения Интернет-видео с различными архитектурами, визуальный поиск по видеоконтенту имеет потенциал использования многомиллионной пользовательской базы, состоящей из создателей контента, покупателей и коммерческих партнеров. Если конкретные сегменты видео могут быть идентифицированы, заинтересованные стороны приобретают способность добавления и/или дополнения этих секций дополнительным контентом. Это может принимать вид усовершенствования информации для таких секций. Коммерческие партнеры могут захотеть таргетировать релевантные секции в качестве пути для распространения предложений продуктов.
[0012] Кроме того, маркетологи ищут улучшенные способы для привлечения более молодой аудитории, привыкшую пропускать рекламу и использовать медиа по запросу. Размещение скрытой рекламы и фирменные развлекательные материалы предоставляют "омниканальные" возможности для более эффективного привлечения более молодых и/или технологически подкованных потребителей.
[0013] Это представляет проблему для рекламодателя. В настоящее время для наблюдателя нет возможности выразить заинтересованность в объекте или продукте, который он/она просматривает в шоу или сцене. Например, наблюдатель может видеть знаменитость с сумочкой. Однако, может быть не ясно, где купить данную сумочку. Наблюдатель не будет искать сумочку и постепенно потеряет интерес. Были попытки связать видео и/или печатный материал с веб-сайтом.
[0014] Используя текущую технологию, поставщик или рекламодатель может добавить QR-код (код быстрого ответа) на печатном рекламном объявлении или рекламном видеообъявлении. Наблюдатель может использовать смартфон для сканирования QR-кода, который направит его/ее к веб-сайту и/или веб-контенту. Однако, это требует помещения видимого блока кода вблизи наблюдателя. Кроме того, для каждого объекта, представляющего интерес, должен быть добавлен отдельный QR-код. Для видео, QR-код должен представляться в течение всей его продолжительности.
[0015] Соответственно, есть потребность в способе обеспечения наблюдателю возможности выражения интереса и/или получения дополнительной информации, относящейся к объектам на изображениях и/или видео. Система должна обеспечивать пользователю возможность получения сведений и дополнительной информации о предмете без проведения поиска по ключевым словам или сканирования QR-кода. Она должна быть способна использоваться с печатными медиа (например, рекламными объявлениями в журналах), так же, как и видеомедиа (например, телевидении.
ВВЕДЕНИЕ
[0016] Данное изобретение включает в себя способ обнаружения объекта на видео и сопоставления объекта с одним или более продуктами, содержащий этапы (a) обнаружения видео, (b) сегментирования видео на основе изображенной обстановки и/или событий посредством сравнения контентов последовательных кадров на сходства и различия, (c) компонования сегментов с одинаковой или схожей обстановкой и/или событиями, (d) анализа одного или более кадров видео для обнаружения одного или более объектов из каждого сегмента с одинаковой или схожей обстановкой и/или событиями, (e) сравнения одного или более объектов с продуктами в базе данных, (f) идентификации продуктов, ассоциированных с одним или более объектами, и (g) уведомления одного или более наблюдателей о продуктах.
[0017] Способ может использовать сверточную нейронную сеть (CNN) для идентификации продуктов, ассоциированных с одним или более объектами. База данных может быть заполнена с помощью добавления данных в режиме оффлайн (поисковым роботом) и/или посредством совмещения известных объектов и кластеров метаданных с заданным контентом. Добавление контента второго экрана может быть использовано для "живого" или потокового видео. Этап уведомления одного или более наблюдателей продуктов может включать в себя отображение рекламного объявления и/или уведомление одного или более наблюдателей продуктов посредством предоставления гиперссылки на веб-сайт или видео.
[0018] Данное изобретение также включает в себя способ обнаружения одного или более объектов на снимке экрана и сопоставления одного или более объектов с рекламным материалом, содержащий этапы (a) приема запроса от наблюдателя в виде цифрового изображения или снимка экрана, (b) идентификации одного или более товаров на снимке экрана, (c) сравнения одного или более товаров с продуктами в базе данных, (d) идентификации продуктов, ассоциированных с одним или более товарами, и (e) контактирования с наблюдателем с помощью рекламного материала, относящегося к идентифицированным продуктам.
[0019] База данных может быть заполнена продуктами посредством добавления данных в режиме оффлайн (поисковым роботом) и/или посредством совмещения известных объектов и кластеров метаданных с заданным контентом. Добавление контента второго экрана может быть использовано для "живого" или потокового видео. Этап контактирования с наблюдателем с помощью рекламного материала может включать в себя отображение рекламного объявления и/или предоставление гиперссылки на веб-сайт или видео.
[0020] Данное изобретение также включает в себя систему для генерирования взаимосвязей между объектами на видео с продуктами в базе данных и распространения информации о продуктах, содержащую (a) компьютеризированную сеть и систему, которая должна локально или удаленно подвергаться воздействию пользователя или групп пользователей посредством приложения с пользовательским интерфейсом, такую как мобильное устройство, браузер или любая аналогичная компьютеризированная система, (b) модуль для обнаружения и сохранения медиаконтента локально или на сервере, (c) модуль для передачи медиаконтента процессору, удаленному или серверному, для приема метаданных и/или визуальных признаков, (d) модуль для передачи медиаконтента процессору, удаленному или серверному, для извлечения метаданных и/или визуальных признаков, (e) средство для приема ввода от одного или более наблюдателей в виде цифрового изображения, которое включает в себя визуальные признаки, (f) модуль, выполненный с возможностью идентификации визуальных признаков и корреляции визуальных признаков с объектами и/или группами соответствующих продуктов, и (g) сетевой сервис, который рассылает информацию об объектах и/или группах соответствующих продуктов пользователю и/или группе пользователей.
[0021] Сверточная нейронная сеть (CNN) может быть использована для анализа визуальных признаков и метаданных для корреляции визуальных признаков с объектами и/или группами соответствующих продуктов. База данных может быть заполнена известными объектами с использованием добавления данных в режиме оффлайн (поисковым роботом) и/или посредством совмещения известных объектов и кластеров метаданных с заданным контентом. Информация о соответствующих продуктах включает в себя рекламные объявления и/или гиперссылку для доступа к контенту через Интернет.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0022] Первым аспектом данного изобретения является система для генерирования взаимосвязей между визуальными запросами пользователя и обнаруженными объектами из совокупности баз данных объектов.
[0023] Вторым аспектом данного изобретения является компьютеризированная сеть и система, которые должны локально или удаленно подвергаться воздействию пользователя или группы пользователей посредством приложения с пользовательским интерфейсом, такие как мобильное устройство, браузер или любая аналогичная компьютеризированная система.
[0024] Третьим аспектом данного изобретения является модуль, выполненный с возможностью обнаружения и сохранения медиаконтента локально или на сервере.
[0025] Четвертым аспектом данного изобретения является модуль, выполненный с возможностью передачи медиаконтента процессору, удаленному или серверному, для приема и извлечения релевантных метаданных и/или визуальных признаков.
[0026] Пятым аспектом данного изобретения является компьютерная модель для анализа визуальных признаков и метаданных для корреляции с конкретными объектами и/или группами объектов.
[0027] Шестым аспектом данного изобретения является модуль, размещенный локально или на сервере, сконфигурированный для связывания обнаруженных объектов с группами соответствующих объектов.
[0028] Седьмым аспектом данного изобретения является модуль, размещенный локально или на сервере, сконфигурированный для совмещения известных объектов и кластеров метаданных с предварительно заданным контентом.
[0029] Восьмым аспектом данного изобретения является сетевой сервис, который рассылает контент пользователю и/или группе пользователей.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0030] Фиг. 1 изображает общую последовательность процессов по одному варианту осуществления данного изобретения.
[0031] Фиг. 2 изображает сегментацию видеосцены.
[0032] Фиг. 3 изображает обзор визуального поиска.
[0033] Фиг. 4 изображает добавление данных в режиме оффлайн.
[0034] Фиг. 5 изображает фреймворк рекомендации продукта для предварительно принятого в режиме оффлайн контента.
[0035] Фиг. 6 изображает запрос пользователя и рекомендацию продукта.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Определения
[0036] Указание в этом описании на "один вариант осуществления/аспект" или "вариант осуществления/аспект" означает, что конкретный признак, структура или характеристика, описанная применительно к варианту осуществления/аспекту, включена по меньшей мере в вариант осуществления/аспект данного раскрытия. Использование фразы "в одном варианте осуществления/аспекте" или "в другом варианте осуществления/аспекте" в различных местах в данном описании не везде обязательно относится к одному и тому же варианту осуществления/аспекту, также не все являются отдельными или альтернативными вариантами осуществления/аспектами, взаимоисключающими другие варианты осуществления/аспекты. Более того, описаны различные признаки, которые могут быть продемонстрированы некоторыми вариантами осуществления/аспектами, и не могут остальными. Аналогично, описаны различные требования, которые могут быть требованиями для некоторых вариантов осуществления/аспектов, но не для остальных вариантов осуществления/аспектов. Вариант осуществления и аспект могут быть в некоторых случаях использованы взаимозаменяемо.
[0037] Термины, используемые в этом описании, обычно имеют свои обычные значения в данной области техники, в рамках контекста данного раскрытия, и в конкретном контексте, где используется каждый термин. Некоторые термины, которые используются для описания данного раскрытия, рассмотрены ниже, или где-либо еще в описании, для предоставления дополнительного указания для специалиста-практика, касательно описания данного раскрытия. Для удобства, некоторые термины могут быть выделены, например, с использованием курсива и/или кавычек. Использование выделения не имеет влияния на объем и значение термина; объем и значение термина являются одинаковыми, в одном и том же контексте, выделен он или нет. Будет понятно, что одни и те же вещи могут быть сказаны более, чем одним образом.
[0038] Следовательно, альтернативный язык и синонимы могут быть использованы для любого одного или более терминов, рассмотренных в настоящем документе. Какое-либо специальное значение также не должно помещаться на основании того, объяснен ли или рассмотрен ли термин в настоящем документе или нет. Для некоторых терминов предоставлены синонимы. Указание одного или более синонимов не исключает использования других синонимов. Использование примеров где-либо в этом описании, в том числе примеров любых терминов, рассмотренных в настоящем документе, является только иллюстративным, и не предназначено для дополнительного ограничения объема и значения данного раскрытия или какого-либо приведенного в качестве примера термина. Аналогично, данное раскрытие не ограничивается различными вариантами осуществления, приведенными в этом описании.
[0039] Без намерения дополнительно ограничивать объем данного раскрытия ниже приведены примеры инструментов, устройства, способов и их соответствующих результатов согласно вариантам осуществления настоящего раскрытия. Следует отметить, что заголовки или подзаголовки могут быть использованы в примерах для удобства читателя, что никаким образом не должно ограничивать объем данного раскрытия. Пока не задано иначе, все технические и научные термины, здесь используемые, имеют такое же значение, которое в общем понятно специалисту в области техники, к которой имеет отношение это раскрытие. В случае конфликта силу будет иметь настоящий документ, включая определения.
[0040] Термин "приложение" относится к самодостаточной программе или части программного обеспечения, спроектированной удовлетворять конкретным целям, особенно после загрузки на мобильное устройство.
[0041] Термин "набор слов" или "модель BoW" относится к классификации изображений, посредством интерпретации признаков изображения как слов. В классификации документов, набор слов является разреженным вектором отсчетов встречаемости слов; то есть, разреженной гистограммой по словарю. При компьютерном зрении, набор визуальных слов является вектором отсчетов встречаемости для словаря локальных признаков изображения.
[0042] Термин "cookie", "Интернет-cookie" или "HTTP cookie" относится к небольшой порции данных, отправленных от веб-сайта и хранящихся на компьютере пользователя веб-браузером пользователя. Данные типа cookie отправляются туда и обратно между Интернет-сервером и браузером, что обеспечивает пользователю возможность идентификации или слежения за его/ее продвижением. Данные типа cookie предоставляют сведения о том, какие страницы посещает потребитель, количество времени, потраченного на просмотр каждой страницы, ссылки, по которым был осуществлен щелчок, сделанные поисковые запросы и взаимодействия. Из этой информации, эмитент данных типа cookie получает понимание тенденций пользовательских просмотров в браузере и интересов, генерируя профиль. Анализируя профиль, рекламодатели имеют возможность создания сегментов заданной аудитории на основе пользователей с аналогичной возвращенной информацией, а именно профилями.
[0043] Термин "кластеризация" или "кластерный анализ" относятся к задаче группирования набора объектов таким образом, что объекты в одной и той же группе (называемой кластером) больше похожи (в том или ином смысле) друг на друга, чем объекты в других группах (кластерах). Это является главной задачей исследовательской добычи данных, и основным методом для статистического анализа данных, используемым во многих областях, включая машинное обучение, распознавание образов, анализ изображений, извлечение информации, биоинформатику, сжатие данных и компьютерную графику.
[0044] Термин "добавление данных" относится к увеличению числа точек данных. В том, что касается изображений, это может означать увеличение числа изображений в наборе данных. В том, что касается обычного формата данных ряд/столбец, это означает увеличение числа рядов или объектов.
[0045] Термин "глубокое обучение" относится к приложению для обучения задач искусственных нейронных сетей (ANN), которые содержат более, чем один скрытый слой. Глубокое обучение является частью более широкого семейства способов машинного обучения на основе представлений данных обучения, в противоположность алгоритмов, характерных для задачи.
[0046] Термин "вектор признаков", в распознавании образов и машинном обучении, относится к вектору признаков, который является n-мерным вектором числовых признаков, которые представляют некоторый объект. Многие алгоритмы в машинном обучении требуют числовое представление объектов, так как такие представления способствуют обработке и статистическому анализу. При представлении изображений, значения признаков могут соответствовать пикселям изображения, при представлении текстов, возможно частотам встречаемости терминов.
[0047] Термин "несбалансированные наборы данных" относятся к особому случаю для проблемы классификации, где распределение класса является неоднородным среди классов. Обычно, они состоят из двух классов: Мажоритарный (негативный) класс и миноритарный (позитивный) класс. Балансирование классов может быть необходимо для помещения данных в пригодной форме.
[0048] Термин "инвертированный индекс" (“inverted index”, "postings file") или "инвертированный файл" относится к индексной структуре данных, сохраняющей отображение из контента, такого как слова или числа, в его местонахождение в файле базы данных, или в документе или наборе документов (названный в противоположность прямому индексу, который осуществляет отображение из документов в контент). Целью инвертированного индекса является обеспечение возможности быстрых полнотекстовых поисков, ценой повышенной обработки, когда документ добавляется в базу данных.
[0049] Термин "k-ближайших соседей" или "k-NN" относится к объекту классификации по методу ближайших соседей, где и показатель расстояния ("ближайший"), и число соседей могут быть изменены. Объект классифицирует новые наблюдения с использованием способа предсказания. Объект содержит данные, используемые для обучения, таким образом можно вычислить предсказания повторных подстановок.
Анализ связей
[0050] Термин "модуль" относится к самодостаточной единице, такой как узел в сборе из электронных компонентов и соответствующих проводных соединений или сегмент компьютерного программного обеспечения, который сам выполняет заданную задачу и может быть связан с другими такими блоками для образования большей системы.
[0051] Термин "Многослойная перцептронная нейронная сеть" или "MLP" относится к нейронной сети прямого распространения с одним или более слоями между входным и выходным слоями. Прямое распространение означает, что данные движутся в одном направлении от входного к выходному слою (вперед). MLP широко используются для классификации, распознавания, предсказания и аппроксимации образов. Многослойный перцептрон может решать проблемы, которые линейно неразделимы.
[0052] Термин "метаданные" относятся к данным, которые описывают остальные данные. Они предоставляют информацию о контенте некоторого товара. Изображение может включать в себя метаданные, которые описывают насколько большим является изображение, глубину цвета, разрешение изображения, и когда изображение было создано. Метаданные текстового документа могут содержать информацию о том, насколько длинным является документ, кто автор, когда документ был написан и краткое изложение документа.
[0053] Термин "метатег" относится к метаданным, которые включены в веб-страницы. Метатеги "описание" и "ключевые слова" обычно используются для описания контента веб-страницы. Большинство поисковых механизмов используют эти данные при добавлении страниц к их поисковому индексу.
[0054] Термин "QR-код" или "код быстрого ответа" относится к матричному штрих-коду (или двухмерному штрих-коду), который содержит информацию о товаре, к которому он прикреплен. QR-код включает в себя черные квадраты, размещенные в квадратной сетке на белом фоне, которые могут быть считаны устройством формирования изображения, таким как камера, и обработаны с использованием коррекции ошибок Рид-Соломона пока изображение не будет интерпретировано соответствующим образом. Требуемые данные затем извлекаются из образов, которые они представляют, как в горизонтальных, так и вертикальных компонентах изображения.
[0055] Термин "синтетические данные" относятся к любому воспроизведению данных применимых к заданной ситуации, которые не получены посредством прямого измерения.
[0056] Термин "метод опорных векторов" или "SVM" относится к контролируемым обучающим моделям с ассоциированными алгоритмами обучения, которые анализируют данные, используемые для классификации и регрессивного анализа. Дан набор обучающих примеров, каждый отмечен как принадлежащий одной или другой из двух категорий, алгоритм обучения SVM строит модель, которая присваивает новые примеры одной категории или другой, получая невероятностный двоичный линейный классификатор.
[0057] Термин "таргетированная реклама" относится к форме рекламы, где онлайн-рекламодатели могут использовать более сложные способы для таргетирования наиболее восприимчивых аудиторий с определенными особенностями, на основе продукта или человека, которого продвигает рекламодатель. Эти особенности могут быть либо демографическими, которые сфокусированы на расе, экономическом статусе, поле, возрасте, уровне образования, уровне дохода и занятости, или они могут быть сфокусированы психологически, которые основываются на ценностях потребителя, личности, менталитете, мнениях, стилях жизни и интересах. Они могут также быть поведенческими переменными, такими как история просмотра, история покупок и другая недавняя активность.
[0058] Термины "визуальные слова" или "кластеры визуальных слов", которые используются в системах извлечения изображений, относятся к небольшим частям изображения, которые несут некоторое подобие информации, относящейся к признакам (таким как цвет, форма или текстура), или изменениям, происходящим в пикселях, таким как фильтрация, дескрипторы низкоуровневых признаков (SIFT, SURF,... и т.д.).
[0059] Термин "отбеливающее преобразование" или "сферическое преобразование" относится к линейному преобразованию, которое преобразовывает вектор случайных переменных с помощью известной ковариационной матрицы в набор из нескольких переменных, чья ковариантность является матрицей тождественности, означая, что они не коррелируются и все имеют вариантность 1. Данное преобразование называется "отбеливающим" так как оно превращает входной вектор в вектор белого шума.
[0060] Другие технические термины, используемые в настоящем документе, имеют свое обычное значение в области техники, в которой они используются, как приведено в качестве примера в разнообразных технических словарях.
Описание предпочтительных вариантов осуществления
[0061] Конкретные значения и конфигурации, рассмотренные в этих неограничивающих примерах, могут варьироваться и приведены лишь для иллюстрации по меньшей мере одного варианта осуществления и не предназначены для ограничения их объема.
[0062] Одним из главных преимуществ визуального поиска (в противоположность обыкновенного текстового поиска) для демографического профилирования является по сути большее количество информации о запросе, который может быть выявлен. Например, пользователь может искать коричневые ботинки в поисковом механизме (или веб-сайте электронной торговли). Пользователь может затем выбрать купить или разузнать об очень специфичном виде коричневых ботинок (лоферы, со шнурками, и т.д.).
[0063] Имея доступ только к текстовому поиску, невозможно извлечь большую детализацию об объекте поиска без какой-либо дополнительной информации. Однако, в случае использования визуального поиска, само изображение из запроса может сказать нам гораздо больше о природе запроса пользователя.
[0064] Для того, чтобы извлечь метаданные о запросе визуального поиска, могут быть использованы усовершенствованные алгоритмы классификации, включая, но не ограничиваясь ими, глубокое обучение, контролируемое обучение и неконтролируемое обучение. Таким образом, из входного изображения может быть получен список описательных метаданных (например, ботинок, коричневый, шнурки, полуботинок, контекст, размещение производства, материал и любая такая информация, которая обеспечивает ясность касательно статуса контентов внутри изображения).
[0065] В одном варианте осуществления данного изобретения, описанном здесь, список объектов, которые составляют изображение, может быть извлечен из кадра, связан с последовательностью кадров, которые анализируются на предмет соответствия семантически отличимой "тематики".
[0066] Фиг. 1 изображает общую последовательность процессов данного изобретения. Контент из видео 110 собирается и компилируется для построения базы данных 170 контента. Наблюдатель видео может осуществить доступ к базе данных 170 контента посредством запроса 120, например, посредством подачи снимка экрана из видео в систему.
[0067] Видеофайл 110 обрабатывается, чтобы автоматически определить и извлечь метаданные и атрибуты, имеющие отношение к объектам в пределах кадра, или семантически аналогичной группы кадров. Временной анализ (описанный ниже) включает в себя сегментацию 140 видео. В механизме 160 обнаружения объектов, ключевой кадр может быть проанализирован на предмет объектов. Запись 180 вставки создается для учета временного размещения объектов. Идентифицированные объекты и идентифицируемая информация добавляется в базу данных 170 контента.
[0068] Пользователь может запросить кадр 120 взяв изображение из видео с использованием интерфейса 130 технического зрения. Система включает в себя механизм 150 визуального поиска, который может осуществить доступ к базе данных 170 контента.
Временной анализ
[0069] Этапы, предполагающиеся во временном анализе 200, изображены на Фиг. 2. Видео 110 вводится в фреймворк, и временная последовательность кадров анализируется для сегментации медиаконтента. Целью этой сегментации является идентификация, изоляция и пометка последовательностей кадров, так чтобы каждый сегмент соответствовал одиночному событию или тематике. В дальнейшем, сегменты могут быть проанализированы на предмет объектов.
[0070] Видео 110 просматривается последовательно 210 для обнаружения пары, или последовательности, кадров, которые преодолевают порог сходства. То есть, сравнение 220 кадров может указывать значительное изменение в композиции кадра, предполагающее изменение сцены или тематики.
[0071] Кадры, которые изображают одинаковые события/сцены не будут преодолевать порог сходства. В этом случае, будет оценена 250 следующая пара кадров. Кадры, которые изображают разные события/сцены будут обычно преодолевать порог сходства, в случае чего, сегмент будет идентифицирован 240 как событие/сцена. Этот процесс может быть повторен, так что каждый кадр на видео 110 включен в сегмент. В дальнейшем, механизм 160 обнаружения объектов может анализировать сегменты видео на предмет объектов.
[0072] Значимость сегментации увеличивается, когда имеется дело с объектами, которые могут проявлять временной полиморфизм (т.е. изменять свою форму от кадра к кадру). Как только идентификация сцен или последовательность кадров внутри видео завершена, возможно связать объекты, которые могут трансформироваться в неизвестные формы из обнаруженного ключевого кадра. Альтернативным вариантом осуществления является обучение модели обнаружения объектов с помощью примеров всех возможных деформаций форм для конкретного объекта.
[0073] Метаданные могут быть привязаны к визуальному контенту самого кадра посредством идентификатора сегмента и данные могут быть приняты в базу данных параллельного визуального поиска. Когда пользователь запрашивает изображение принятого кадра, оно может быть отправлено на сервер сопоставления. Идентификатор сегмента может быть использован для идентификации последовательности кадров, с которой ассоциирован кадр. Эта информация используется для извлечения списка объектов и любого связанного добавленного контента для вышеупомянутых объектов, которые должны быть переданы обратно пользователю 120. Следует отметить, что кадр запроса не анализируется на предмет объектов. Вместо этого он сопоставляется с идентификатором сегмента, который связывается с предварительно проанализированной совокупностью объектов для сегмента.
Обнаружение объектов
[0074] Ключевой кадр, идентифицированный посредством временного анализа, может быть проанализирован, чтобы распознать и идентифицировать отдельные объекты. В одном варианте осуществления, глубокая сверточная нейронная сеть (CNN), состоящая из многочисленных слоев, может быть использована для выполнения этой задачи.
[0075] Фиг. 3 изображает как механизм визуального поиска на основе подхода "набора визуальных слов" может быть использован для поиска идентификаторов сегментов из изображения визуального запроса. Поисковый механизм использует базу данных 385 изображений. Обучающие изображения 310 (т.е. изображения с известными признаками) подаются с заданными объектами. Изображения используются для генерирования признаков 320. Обучающие изображения 365 могут быть вставлены в базу данных 375.
[0076] Для того, чтобы обучить модель CNN, необходимо ввести значительное число примеров изображений для каждого объекта, который должен быть принят. Огромная совокупность данных изображения может быть организована для многочисленных объектов с многочисленными атрибутами и их размещениями. Эти данные дополнительно подвергаются отбеливающему преобразованию, добавлению данных и балансировке классов. Эта база данных объектов используется в качестве входа для обучения глубокой сверточной сети.
[0077] Модель может быть обучена так, что объекты и их атрибуты изучаются вместе. Кроме того, модель предоставляет значения из скрытых слоев, что является векторным описанием с действительными значениями для изображений среди различных семантических абстракций. Логический вывод модели может предоставить названия объектов, степень достоверности, атрибуты и векторы скрытых слоев.
[0078] Например, объектами может быть товар в области одежды (сумка, джинсы и т.д.) вместе с его атрибутами (цвет, образ, длина и т.д.). Дополнительно, логический вывод в отношении изображения в многочисленных областях может предоставить местонахождение объекта и может быть использован для выявления наиболее вероятного местонахождения изображения в кадрах до или после каждого ключевого кадра.
[0079] Когда будет оценено, что модель успешно достигла обученного состояния (оценено при встрече минимальных показателей ошибок для тестового набора), это распространяется на модуль приема в реальном времени внутри фреймфорка. После временного анализа видеосегмента, каждый ключевой кадр анализируется для получения размещения объектов, представленных на изображении. Каждый объект, обнаруженный в этом кадре, может быть отслежен во времени в обоих направлениях в пределах сегмента. Для каждого размещения, найденного в сегменте, может быть выполнен логический вывод из названий, атрибутов и внутренних слоев и усредненно взвешен по времени посредством показателя достоверности. Это приводит к генерированию вектора признаков по каждому объекту для каждого сегмента и/или кадра. Векторные описания, сгенерированные скрытыми слоями, могут часто иметь большую размерность. Огромное число изображений может быть собрано для того, чтобы изучить способ сжатия для этого конкретного распределения. В примерном варианте осуществления фреймворка, описанного здесь, глубокие автокодеры обеспечивают наилучшее сжатие с наименьшими потерями для точности поиска.
Визуальный поиск
[0080] Когда пользователь хочет взаимодействовать с конкретным видео, он/она может обозначить свой интерес посредством захвата кадра камерой своего мобильного устройства, из компьютерной программы, обычно функционирующей на пользовательском мобильном устройстве, называемой "приложением". Приложение может выгрузить изображение запроса для дальнейшей обработки.
[0081] После отправки изображения визуального запроса на сервер с пользовательского устройства, оно используется для поиска по базе данных известных изображений, чтобы идентифицировать возможные совпадения. Результат с высоким рангом затем используется, чтобы дополнительно идентифицировать, с каким сегментом ассоциирован кадр, о котором идет речь. В дальнейшем, идентификатор сегмента может быть использован для извлечения объектов, связанных с этим конкретным сегментом. После того, как ответ запроса был агрегирован, весь добавленный контент ретранслируется обратно на пользовательское мобильное устройство.
[0082] Например, наблюдатель может подать запрос о сумочке, которую он/она заметила в видео. Сумочка может быть сопоставлена с изображениями в базе данных на основе нескольких критериев, включающих в себя, образ, бренд, форму, размер, бренд и другие сведения. Система может вернуть число совпавших изображений, которые ранжированы.
[0083] Этот процесс изображен на Фиг. 3, где пользователь запрашивает изображение 120. Назначаются 340 кластеры визуальных слов. Из кластеров визуальных слов, заполняется список инвертированных файлов. Список инвертированных файлов запрашивается 350 и сохраняется 355. Наилучшие потенциально подходящие изображения (изображения-кандидаты) фильтруются 360, которые могут быть добавлены в базу данных 385 изображений. Пространственная верификация может быть выполнена для наилучших совпадений 380, и наилучшие совпадения могут быть возвращены наблюдателю 390.
Добавление данных в режиме оффлайн
[0084] Изображения которые не заданы, такие как изображения, полученные поисковым роботом, могут также быть использованы для заполнения базы данных контента. Фиг. 4 изображает добавление 400 данных продукта в режиме оффлайн. В примерном фреймфорке, добавление данных в режиме оффлайн используется для заполнения базы данных объектов и ассоциированных метаданных 170.
[0085] Процесс сбора данных поисковым роботом может быть использован для извлечения изображений и их метаданных, снабженных аннотациями, из разнообразных онлайн-ресурсов (например, списков продуктов из платформ электронной торговли или изображений из социальных сетей) 420. Эти собранные поисковым роботом изображения и атрибуты метаданных проходят через этап 430 очистки данных, который преобразовывает необработанные, собранные поисковым роботом данные в записи, которые подходят для вставки в базу данных 440.
[0086] Формат вставки в базу данных может связать каждую запись собранного поисковым роботом изображения с идентификатором объекта. Это обеспечивает возможность связывания объектов, обнаруженных из сегментов, с объектами в продукте базы данных, таким образом, предоставляя интерфейс для предоставления добавленных данных для объекта, или группы объектов, идентифицированных из изображения визуального поиска.
Случаи использования
Рекомендация продукта
[0087] Данное изобретение может быть использовано для обеспечения работы сервиса добавления контента второго экрана для существующего визуального медиаконтента.
[0088] Например, популярные телевизионные шоу (или кинофильмы) могут быть приняты в платформу для анализа линейки продуктов, доступной посредством каждого носителя. Наблюдателям могут подсказать, или дать знать, о возможных механизмах взаимодействия, которые могут иметь место во время, или после, нахождения шоу в эфире (или потокового вещания, в случае онлайн-доставки видео).
[0089] Любой визуальный запрос пользователя для кадров из принятых видео может быть впоследствии усовершенствован фреймворком обнаружения объектов. Это обеспечивает уникальную платформу для создателей контента, также как потребителям для взаимодействия с продуктами/сервисами, которые они предлагают. Объем объектов, обнаруженных внутри фреймворка, может охватывать неодушевленные товары в пределах кадра (товары одежды, мебель, возможности для путешествия и т.д.), или расширять до сущностей, обнаруженных или соответствующих сущностям, в пределах сегментов (т.е. актеры, команда по подбору актеров и т.д.).
[0090] Например, рекламодатель или розничный торговец может использовать размещение скрытой рекламы для продвижения сумочки на видео или в фильме. Наблюдатель подает запрос сцены, которая включает в себя сумочку. Рекламное объявление для продвижения товара для совпавшего продукта (т.е. сумочки) может проигрываться на пользовательском устройстве. Дополнительная информация, включающая в себя инструкции совершения покупки, может также быть предоставлена наблюдателю.
[0091] Фиг. 5 изображает примерный фреймворк для обработки случая использования, описанного здесь. Видео 110 может быть использовано для дополнения базы данных контента посредством приема в режиме оффлайн. Видео подвергается обнаружению 510 изменения снимка. Сегменты видео 540 идентифицируются посредством ключевых кадров 560, локализации 590 объекта и отслеживанию 630. Следующим этапом является распознавание объектов, именование атрибутов и извлечение 660 признаков, за которыми следует усреднение 690 по времени.
[0092] Прием видео может также включать в себя дискретизацию 550 кадра и функциональную возможность 570 обработки изображения. Контент базы данных может включать в себя кадры 610, продукты 670 и объекты 710. Прием продукта (сбор данных веб-сайта поисковым роботом, агрегация и добавление) происходит на этапе 640.
[0093] Пользователь может запросить кадр 120. Изображение сопоставляется посредством ранжирования его с теми изображениями в базе данных, которые являются схожими 580. Номер сегмента может быть сгенерирован 620, так же, как и ранг 650 визуального поиска. Совпавшие продукты 680 могут быть ретранслированы пользователю в ответ на его/ее запрос. Продукты, которые рекламодатели и/или маркетологи хотят продвигать, могут получить более высокий ранг 650 визуального поиска.
Второй экран "живого" ТВ
[0094] В дополнение к оффлайн, предварительно существующему контенту, также возможно расширить этот фреймворк для обращения с потоками "живого" видео. Сложностью в таком сценарии является гарантирование, что каждый кадр, который проходит в платформу обнаружения объектов, завершает механизм приема до каких-либо запросов того же кадра.
[0095] Для учета "живого" видео, модуль временного анализа может быть заменен базой данных контента, связанного с транзакциями, которая поддерживает временную историю последних "N" минут (или часов, если необходимо). В этом модифицированном фреймворке, каждый входящий кадр из потока "живого" видео принимается в базы данных обнаружения объектов и визуального поиска, при этом механизм "время жизни" гарантирует, что срок действия данных истекает после конфигурируемой задержки. Таким образом, размер базы данных (и вычислительного кластера) привязывается к состоянию высокой производительности, способному обеспечивать операции с низким временем ожидания в большом количестве.
[0096] Такой фреймворк может быть использован для обслуживания контента второго экрана для:
- спортивных событий в прямом эфире, отображения карьеры атлетов и/или статистики игры
- новостного вещания в прямом эфире, отображения информационной графики для обнаруженных объектов/размещений в сводке новостей и т.д.
- телемаркетинговых вещаний, отображения сравнения цен для обнаруженных продуктов.
Использование данного изобретения для совершения покупок онлайн
[0097] Как изображено на Фиг. 6, данное изобретение обеспечивает наблюдателю видео 110 возможность запрос снимка экрана видео для дополнительной информации о продукте, который он/она заметил. В этом примере 600, наблюдатель смотрит драму по телевизору. Наблюдатель замечает актера, носящего конкретную рубашку. Наблюдатель может сделать снимок экрана для подачи в систему 120. Для просмотра телевизора, он/она может сделать фотографию экрана с использованием приложения. Если наблюдатель осуществляет потоковую передачу видео на телефон, планшет или компьютер, он/она может сделать снимок экрана для подачи. Также могут быть поданы изображения неподвижных фотографий (например, журнальные рекламные объявления).
[0098] Система обнаруживает объекты на снимке экрана. В этом случае, она обнаруживает рубашку темного цвета с короткими рукавами. Коммерчески доступные продукты, которые отвечают этим критериям, отображаются наблюдателю 610. Он/она может подать дополнительные критерии, чтобы сделать запрос более конкретным. Например, поиск объекта может быть дополнительно сужен, чтобы включать в себя только конкретный дизайн (например, v-образный вырез для шеи) или рубашки от конкретного дизайнера.
[0099] В дальнейшем, наблюдатель может купить продукт онлайн 620 через участвующего поставщика. Это обеспечивает поставщикам возможность продвигать продукты на рынке посредством скрытой рекламы продуктов, не требуя дополнительного рекламного времени и/или рекламных объявлений.
[00100] Вышеприведенное описание раскрывает только примерные варианты осуществления данного изобретения. Модификации раскрытого выше устройства и способов, которые попадают в рамки объема данного изобретения, будут легко понятны специалистам в данной области техники. Соответственно, хотя настоящее изобретение было раскрыто применительно к примерным вариантам их осуществления, следует понимать, что другие варианты осуществления могут попадать в рамки сущности и объема данного изобретения, которое задано нижеследующими пунктами формулы изобретения.
Операционное окружение:
[00101] Система обычно состоит из центрального сервера, который соединен сетью данных с пользовательским компьютером. Центральный сервер может состоять из одного или более компьютеров, соединенных с одним или более устройствами хранения большой емкости. Точная архитектура центрального сервера не ограничивает заявленное изобретение. Кроме того, пользовательским компьютером может быть персональный компьютер переносного или настольного типа. Им также может быть сотовый телефон, смартфон или другое карманное устройство, в том числе и планшет. Точный форм-фактор пользовательского компьютера не ограничивается заявленным изобретением. Примеры хорошо известных вычислительных систем, окружений и/или конфигураций, которые могут быть пригодны для использования с данным изобретением, включают в себя, но не ограничены этим, персональные компьютеры, серверные компьютеры, карманный, портативный или мобильный компьютер или устройства связи, такие как сотовые телефоны и PDA, микропроцессорные системы, системы на основе микропроцессоров, телеприставки, программируемую потребительскую электронику, сетевые ПК, миникомпьютеры, мэйнфреймы, распределенные вычислительные окружения, которые содержат любые из вышеуказанных систем или устройств, и тому подобные. Точный форм-фактор пользовательского компьютера не ограничивается заявленным изобретением. В одном варианте осуществления, пользовательский компьютер опускается, и вместо этого предоставляется вычислительная функциональность, которая работает с центральным сервером. В этом случае, пользователь будет осуществлять вход на сервер с другого компьютера и осуществлять доступ к системе через пользовательское окружение.
[00102] Пользовательское окружение может быть заключено в центральном сервере или оперативно соединено с ним. Кроме того, пользователь может принимать данные от центрального сервера и передавать их ему посредством Интернета, в силу чего пользователь осуществляет доступ к учетной записи с использованием Интернет-браузера, и браузер отображает интерактивную веб-страницу, оперативно соединенную с центральным сервером. Центральный сервер передает и принимает данные в ответ на данные и команды, переданные из браузера в ответ на приведение в действие покупателем пользовательского интерфейса браузера. Некоторые этапы данного изобретения могут быть выполнены на пользовательском компьютере и промежуточные результаты переданы на сервер. Эти промежуточные результаты могут быть обработаны сервером и итоговые результаты переданы обратно пользователю.
[00103] Способ, описанный в настоящем документе может выполняться на компьютерной системе, обычно состоящей из центрального процессора (CPU), который оперативно соединен с запоминающим устройством, схемы ввода и вывода данных (I/O) и схемы сетевого обмена компьютерными данными. Компьютерный код, исполняемый CPU может взять данные, принятые схемой обмена данными, и сохранить их в запоминающем устройстве. В дополнение, CPU может взять данные из схемы I/O и сохранить их в запоминающем устройстве. Кроме того, CPU может взять данные из запоминающего устройства и вывести их через схему I/O или схему обмена данными. Данные, хранящиеся в памяти, могут быть дополнительно вызваны из запоминающего устройства, дополнительно обработаны или модифицированы посредством CPU, описанным в настоящем документе образом, и повторно сохранены в том же запоминающем устройстве или другом запоминающем устройстве, оперативно соединенном с CPU, в том числе посредством сетевой схемы передачи данных. Запоминающее устройство может быть любого вида из схемы хранения данных, или магнитного хранилища, или оптического устройства, включающих в себя жесткий диск, оптический диск или твердотельную память. Устройства I/O могут включать в себя экран дисплея, громкоговорители, микрофон и подвижную мышь, которая указывает компьютеру относительное размещение положения курсора на дисплее, и одну или более кнопок, которые могут быть задействованы для указания команды.
.
[00104] Компьютер может отображать внешний вид пользовательского интерфейса на экране дисплея, оперативно соединенном со схемой I/O. Различные формы, текст и другие графические формы отображаются на экране как результат данных, сгенерированных компьютером, что обеспечивает, посредством пикселей, которые содержит экран дисплея, задействование покупателем пользовательского интерфейса браузера Некоторые этапы данного изобретения могут быть выполнены на пользовательском компьютере и промежуточные результаты переданы на сервер. Эти промежуточные результаты могут быть обработаны сервером и итоговые результаты переданы обратно пользователю.
[00105] Компьютер может отображать внешний вид пользовательского интерфейса на экране дисплея, оперативно соединенном со схемой I/O. Различные формы, текст и другие графические формы отображаются на экране как результат данных, сгенерированных компьютером, которые предписывают пикселям, которые содержит дисплей, принимать различные цвета и оттенки. Пользовательский интерфейс также отображает графический объект, называемый в данной области техники курсором. Размещение объекта на дисплее указывает пользователю выбор другого объекта на экране. Курсор может быть передвинут пользователем посредством другого устройства, соединенного схемой I/O с компьютером. Это устройство обнаруживает некоторые физические движения пользователя, например, положение руки на плоской поверхности или положение пальца на плоской поверхности. Такие устройства в данной области техники могут называться мышью или сенсорной панелью. В некоторых вариантах осуществления, сам экран дисплея может действовать как сенсорная панель посредством считывания присутствия и положения одного или более пальцев на поверхности экрана дисплея. Когда курсор размещается над графическим объектом, который выглядит кнопкой или переключателем, пользователь может задействовать кнопку или переключатель посредством контактирования с физическим переключателем на мыши или сенсорной панели, или компьютерном устройстве, или постукивания по сенсорной панели или воспринимающему касания дисплею. Когда компьютер обнаруживает, что с физическим переключателем был осуществлен контакт (или что произошло постукивание по сенсорной панели или воспринимающему касания экрану), он берет видимое размещение курсора (или в случае воспринимающего касания экрана, обнаруженное положение пальца) на экране и исполняет процесс, ассоциированный с этим размещением. В качестве примера, не предназначенного для ограничения объема раскрытого изобретения, на экране может быть отображен графический объект, который выглядит как 2-мерная коробка со словом "ввести" внутри него. Если компьютер обнаруживает, что с переключателем был осуществлен контакт пока размещение курсора (или размещение пальца для воспринимающего касания экрана) было в пределах границ графического объекта, например, отображенной коробки, компьютер выполнит процесс, ассоциированный с командой "ввести". Таким образом, графические объекты на экране создают пользовательский интерфейс, который позволяет пользователю управлять процессами, функционирующими на компьютере.
[00106] Данное изобретение может также выполняться на одном или более серверах. Сервером может быть компьютер, состоящий из центрального процессора с устройством хранения большой емкости и сетевого соединения. В дополнение сервер может включать в себя несколько таких компьютеров, соединенных вместе сетью передачи данных или другим соединением передачи данных, или, несколько компьютеров в сети с хранилищем, доступным по сети, таким образом, который обеспечивает такую функциональность как группа. Обычный специалист-практик поймет, что функции, которые осуществляются на одном сервере, могут быть разбиты и осуществлены на нескольких серверах, которые оперативно соединены компьютерной сетью посредством соответствующего обмена данными между процессами. В дополнение, доступ к веб-сайту может быть посредством Интернет-браузера, осуществляющего доступ к защищенной или публичной странице, или посредством клиентской программы, выполняющейся на локальном компьютере, который соединен с сервером через компьютерную сеть. Сообщение данных и выгрузка или загрузка данных могут доставляться через Интернет с использованием обычных протоколов, включая TCP/IP, HTTP, TCP, UDP, SMTP, RPC, FTP или другие виды протоколов обмена данными, которые позволяют процессам, выполняющимся на двух удаленных компьютерах, обмениваться информацией посредством обмена данными по цифровой сети. В результате, сообщением данных может быть пакет данных, переданный компьютера и принятый им, содержащий сетевой адрес получателя, идентификатор процесса или приложения получателя, и значения данных, которые могут быть интерпретированы на компьютере получателя, размещенном по сетевому адресу получателя, посредством приложения получателя, для того, чтобы релевантные значения данных извлекались и использовались приложением получателя. Точная архитектура центрального сервера не ограничивает заявленное изобретение. В дополнение, сеть данных может функционировать на нескольких уровнях, так что пользовательский компьютер соединен через межсетевой экран с одним сервером, который маршрутизирует связь с другим сервером, который исполняет раскрытые способы.
[00107] Пользовательский компьютер может оперировать программой, которая принимает от удаленного сервера файл данных, который подается в программу, которая интерпретирует данные в файле данных, и дает команду устройству отображения представить конкретный текст, изображения, видео, аудио и другие объекты. Программа может обнаружить относительное размещение курсора, когда задействована кнопка мыши, и интерпретировать, что команда должна быть выполнена, на основе размещения указанного относительного размещения на дисплее, когда кнопка была нажата. Файлом данных может быть HTML-документ, программой - программа веб-браузера, и командой - гиперссылка, которая предписывает браузеру запросить новый HTML-документ от другого удаленного размещения адреса сети передачи данных. HTML может также иметь ссылки, которые приводят к вызову и выполнению других модулей кода, например, Flash или другого платформо-зависимого кода.
[00108] Специалисты в релевантной области техники поймут, что данное изобретение может быть применено на практике с другой связью, обработкой данных или конфигурациями компьютерной системы, включая: беспроводные устройства, Интернет-устройства, карманные устройства (включая персональные цифровые помощники (PDA)), носимые компьютеры, все виды сотовых или мобильных телефонов, многопроцессорные системы, микропроцессорная или программируемая потребительская электроника, телевизионные приставки, сетевые PC, миникомпьютеры, мейнфреймы и подобные. На самом деле, термины "компьютер", "сервер" и подобные используются здесь взаимозаменяемо, и могут относиться к любому из вышеуказанных устройств и систем.
[00109] В некоторых случаях, особенно где пользовательским компьютером является мобильное вычислительное устройство, используемое для осуществления доступа к данным через сеть, причем сеть может быть любого типа из сотовой, на основе протокола IP или конвергированной телекоммуникационной сети, включая, но не ограничиваясь этим, глобальную систему мобильной связи (GSM), множественный доступ с разделением по времени (TDMA), множественный доступ с кодовым разделением (CDMA), множественный доступ с ортогональным частотным разделением (OFDM), службу пакетной радиосвязи общего пользования (GPRS), усовершенствованную технологию передачи данных в среде GSM (EDGE), усовершенствованную систему мобильной связи (AMPS), технологию международного взаимодействия для микроволнового доступа (WiMAX), универсальную мобильную телекоммуникационную систему (UMTS), технологию оптимизированной развитой передачи данных (EVDO), проект долгосрочного развития (LTE), широкополосную сеть сверхмобильной связи (UMB), протокол передачи голоса по Интернету (VoIP) или нелицензируемый мобильный доступ (UMA).
[00110] Интернет является компьютерной сетью, которая позволяет покупателям, оперируя персональным компьютером, взаимодействовать с компьютерными серверами, размещенными удаленно, и просматривать контент, который доставляется от серверов на персональный компьютер по сети в виде файлов данных. При одном виде протокола, серверы представляют веб-страницы, которые воспроизводятся на персональном компьютере покупателя с использованием локальной программы, известной как браузер. Браузер принимает один или более файлов данных от сервера, которые отображаются на экране персонального компьютера покупателя. Браузер ищет эти файлы данных с конкретного адреса, который представлен буквенно-цифровой строкой, называемой универсальным указателем ресурсов (URL). Однако, веб-страница может содержать компоненты, которые загружаются с разнообразных URL или IP-адресов. Веб-сайт является коллекцией соответствующих URL, причем обычно все совместно используют одинаковый корневой адрес или управляются одной сущностью. В одном варианте осуществления разные области симулируемого пространства имеют разные URL. То есть, симулируемое пространство может быть унитарной структурой данных, но разные URL указывают разные местонахождения в структуре данных. Это делает возможным симулировать большую зону и заставить участников начать использовать ее внутри их виртуальной окрестности.
[00112] Данное изобретение может быть описано в общем контексте исполняемых компьютером инструкций, таких как программные модули, исполняемые компьютером. Обычно, программные модули включают стандартные программы, программы, объекты, компоненты, структуры данных и так далее, которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Компьютерная программа и данные могут иметь любую фиксированную форму (например, форму исходного кода, исполняемую компьютером форму или промежуточную форму) либо постоянно, либо временно на материальном носителе информации, таком как полупроводниковое запоминающее устройство (например, RAM, ROM, PROM, EEPROM или программируемая Flash RAM), магнитное запоминающее устройство (например, дискета или стационарный жесткий диск), оптическое запоминающее устройство (например, CD-ROM или DVD), PC-карта (например, PCMCIA-карта), или другое запоминающее устройство. Компьютерная программа и данные могут быть фиксированными в любой форме в сигнале, который имеет возможность передачи на компьютер с использованием любой из разнообразных технологий связи, включающих в себя, но не ограничиваемых этим каким-либо образом, аналоговые технологии, цифровые технологии, оптические технологии, беспроводные технологии, сетевые технологии и межсетевые технологии. Компьютерная программа и данные могут распространятся в любой форме, такой как съемный носитель информации с прилагаемой печатной или электронной документацией (например, коробочное программное обеспечение или магнитная пленка), с предзагруженной компьютерной системой (например, в системной ROM или на стационарном диске), или распространяться с сервера или электронной доски объявлений через систему связи (например, Интернет или всемирную сеть.) Понятно, что любой из программных компонентов по настоящему изобретению может, если потребуется, быть реализован в форме ROM (постоянной памяти). Программные компоненты могут, в основном, быть реализованы в аппаратном обеспечении, если потребуется, с использованием обыкновенных способов.
[00113] Данное изобретение может быть также применено на практике в распределенных вычислительных окружениях, где задания выполняются устройствами удаленной обработки, которые сопряжены через сеть связи. В распределенном вычислительном окружении, программные модули могут быть размещены как на локальных, так и на удаленных компьютерных носителях информации, в том числе запоминающих устройствах. Специалисты-практики поймут, что данное изобретение может быть выполнено на одном или более компьютерных процессорах, которые связаны с использованием сети передачи данных, в том числе, например, Интернет. В другом варианте осуществления, разные этапы процесса могут быть выполнены одним или более компьютерами и устройствами хранения, географически разделенными, но соединенными сетью передачи данных таким образом, что они функционируют вместе для выполнения этапов процесса. В одном варианте осуществления, пользовательский компьютер может запустить приложение, которое предписывает пользовательскому компьютеру передать поток из одного или более пакетов данных через сеть передачи данных на второй компьютер, называемый здесь сервером. Сервер, в свою очередь, может быть соединен с одним или более устройствами хранения большой емкости, где хранится база данных. Сервер может выполнить программу, которая принимает переданный пакет и интерпретирует переданные пакеты данных, для того, чтобы извлечь информацию запроса к базе данных. Сервер может затем выполнить оставшиеся этапы данного изобретения посредством осуществления доступа к устройствам хранения большой емкости, чтобы получить желаемый результат для запроса. В качестве альтернативы, сервер может передать информацию запроса другому компьютеру, который соединен с устройствами хранения большой емкости, и этот компьютер может выполнить данное изобретение, чтобы получить желаемый результат. Может затем быть передан обратно на пользовательский компьютер посредством другого потока из одного или более пакетов данных, соответствующим образом адресованными пользовательскому компьютеру. В одном варианте осуществления, реляционная база данных может находится в одном или более оперативно соединенных серверах, оперативно соединенных с компьютерной памятью, например, дисковыми накопителями. В еще одном варианте осуществления, инициализация реляционной базы данных может быть подготовлена на группе серверов, и взаимодействие с пользовательским компьютером происходит в другом месте во всех процессах.
[00114] Следует отметить, что схемы последовательности операций используются здесь для демонстрации различных аспектов данного изобретения, и не должны толковаться как ограничивающие настоящее изобретение какой-либо логической последовательностью или реализацией логики. Описанная логика может быть разбита на разные логические блоки (например, программы, модули, функции или стандартные подпрограммы) без изменения общих результатов или иного отступления от истинного объема данного изобретения. Часто логические элементы могут добавляться, модифицироваться, опускаться, выполняться в разном порядке или реализовываться с использованием разных логических конструкций (например, логических вентилей, циклических примитивов, условной логики и других логических конструкций) без изменения общих результатов или иного отступления от истинного объема данного изобретения.
[00115] Описанные варианты осуществления данного изобретения предназначены, чтобы быть примерными, и многочисленные вариации и модификации будут понятны специалистам в данной области техники. Все такие вариации и модификации предназначены находится в рамках объема настоящего изобретения, который определяется прилагаемой формулой изобретения. Хотя настоящее изобретение было описано и проиллюстрировано подробно, следует четко понимать, что оно служит только в качестве иллюстрации и примера, и не должно считаться каким-либо ограничением. Понятно, что различные признаки данного изобретения, которые, для ясности, описаны в контексте отдельных вариантов осуществления, могут также быть предоставлены в комбинации в одном варианте осуществления.