×
22.04.2020
220.018.16ea

СИСТЕМЫ И СПОСОБЫ ДЛЯ СОЗДАНИЯ, ТРАНСЛЯЦИИ И ПРОСМОТРА 3D-КОНТЕНТА

Вид РИД

Изобретение

Юридическая информация Свернуть Развернуть

Правообладатели

№ охранного документа
0002719454
Дата охранного документа
17.04.2020
Краткое описание РИД Свернуть Развернуть
Аннотация: Изобретение относится к средствам предоставления возможности создания пользовательской версии видеосеанса по меньшей мере одному зрительскому устройству. Технический результат заключается в расширении арсенала средств создания видеотрансляции. Игровые метаданные включают в себя данные трехмерного моделирования, ассоциированные с живой или записанной видеотрансляцией. Зрительские метаданные, собранные от множества зрительских устройств, принимаются. Зрительские метаданные включают в себя информацию, принадлежащую множеству реакций множества зрителей на представление видеосеанса на множестве зрительских устройств. Дополнительные игровые метаданные создаются на основе игровых метаданных и зрительских метаданных. Дополнительные игровые метаданные включают в себя данные камеры на основе данных трехмерного моделирования. 3 н. и 14 з.п. ф-лы, 9 ил.
Реферат Свернуть Развернуть

Перекрестные ссылки на родственные заявки

[0001] Эта заявка заявляет преимущество предварительной патентной заявки США порядковый номер 62/432,321, зарегистрированной 9 декабря 2016 года, и предварительной патентной заявки США порядковый номер 62/551,130, зарегистрированной 28 августа 2017 года, каждая из которых содержится по ссылке в данном документе в своей полноте.

Область техники, к которой относится изобретение

[0002] Варианты осуществления настоящего изобретения относятся, в целом, к многопользовательской компьютерной игре и, более конкретно, к системам и способам для создания, трансляции и просмотра 3D-контента.

Уровень техники

[0003] Существуют различные инструменты, чтобы предоставлять возможность игрокам видеоигр играть в онлайновые многопользовательские игры в реальном времени, в результате чего, множество игроков видеоигр, распределенных по сети, взаимодействуют в одной и той же видеоигре в одно и то же время. Кроме того, есть инструменты, которые предназначены для того, чтобы неиграющие пользователи смотрели игру и транслировали свой обзор игры вместе с комментариями. Эти неиграющие пользователи называются "хостами" или "стримерами", а их трансляция является вещанием игры. Многие третьи стороны могут настраиваться и смотреть транслируемые игры через веб-сайты, такие как Twitch® и YouTube®.

[0004] К несчастью для сторонних зрителей, кинематографическое качество трансляции часто является очень плохим в отношении стабильности камеры, спокойствия съемки, быстрых переключений камер и т.д. Стримеры часто не обучаются кинематографии и имеют очень ограниченные инструментальные средства в своем распоряжении для захвата игрового действия. Самым популярным инструментальным средством является камера, управляемая компьютерной мышью, но это инструментальное средство часто предоставляет нестабильные изображения. Более часто, стример не имеет контроля вообще над обзором и должен создавать трансляцию с помощью камеры игрока (например, обзора камеры, используемого игроком в какой-либо заданный момент), которую очень трудно просматривать. Зрители, смотрящие действие непосредственно из игры (например, без стримера), не имеют выбора, а должны просматривать с одной из камер игрока. Кроме того, другим недостатком традиционных игровых трансляций является то, что вывод является стандартным видеопотоком, просматриваемым на стандартных видеопроигрывателях, которые не имеют какой-либо способности управлять кинематографией или предоставлять осмысленную обратную связь зрителя помимо 'просмотров', 'лайков' и комментариев.

Краткое описание чертежей

[0005] Различные чертежи из прилагаемых чертежей просто иллюстрируют примерные варианты осуществления настоящего изобретения и не могут рассматриваться как ограничивающие его рамки. Дополнительные отличительные признаки и преимущества настоящего изобретения станут очевидны из последующего подробного описания, взятого в сочетании с прилагаемыми чертежами, на которых:

[0006] Фиг. 1 является покомпонентной схемой примерной системы eSport, которая включает в себя устройство eSport и ассоциированные периферийные устройства, в соответствии с вариантом осуществления;

[0007] Фиг. 2A иллюстрирует систему eSport в примерной сети, в которой предоставляется онлайновая многопользовательская компьютерная игра (например, игра eSport), в соответствии с вариантом осуществления;

[0008] Фиг. 2B иллюстрирует систему eSport в примерной сети, в которой предоставляется трансляция события в реальном мире, в соответствии с вариантом осуществления;

[0009] Фиг. 3A и 3B иллюстрируют примерный способ для создания контента трансляции высокой четкости для игр eSport для распределения и представления зрителям на сайтах для распространения видеоматериалов, в соответствии с вариантом осуществления;

[0010] Фиг. 3C и 3D иллюстрируют примерный способ для отображения и управления кинематографией для контента трансляции высокой четкости для событий eSports, в соответствии с вариантом осуществления;

[0011] Фиг. 4 - это блок-схема, иллюстрирующая примерную архитектуру программного обеспечения, которая может быть использована вместе с различными архитектурами аппаратных средств, описанными в данном документе, в соответствии с вариантом осуществления;

[0012] Фиг. 5 - это блок-схема, иллюстрирующая компоненты машины, согласно некоторым примерным вариантам осуществления, приспособленные считывать инструкции с машиночитаемого носителя (например, машиночитаемого носителя хранения) и выполнять какой-либо один или более из способов, обсуждаемых в данном документе, в соответствии с вариантом осуществления.

[0013] Заголовки, предоставленные в данном документе, существуют просто для удобства и не обязательно оказывают влияние на рамки или значение используемых терминов. Аналогичные номера на чертежах указывают аналогичные компоненты.

Подробное описание изобретения

[0014] Описание, которое следует, включает в себя системы, способы, технические приемы, последовательности инструкций и программные продукты для вычислительной машины, которые осуществляют иллюстративные варианты осуществления изобретения. В последующем описании, в целях объяснения, многочисленные конкретные детали излагаются для того, чтобы обеспечивать понимание различных вариантов осуществления предмета изобретения. Будет очевидно, однако, специалистам в области техники, что варианты осуществления предмета изобретения могут быть применены на практике без этих конкретных деталей. В целом, хорошо известные примеры инструкций, протоколы, структуры и технические приемы необязательно показываются в деталях.

[0015] Системы и способы, описанные в данном документе, предоставляют средство для создания выходного видеоизображения высокого кинематографического качества из игрового окружения в реальном времени (или, по меньшей мере, почти в реальном времени), при этом выходное видеоизображение содержит метаданные, которые могут быть использованы зрителем для обогащения зрительского восприятия. Кроме того, системы и способы, предоставленные в данном документе, описывают компонент игрока, сконфигурированный, чтобы отображать трансляции игры зрителям, предоставлять им инструменты, чтобы предоставлять возможность им взаимодействовать с метаданными, и собирать данные от зрителей, чтобы предоставлять обратную связь для игры и стримера игры в реальном времени.

[0016] Системы и способы, описанные в данном документе, предоставляют возможность стримеру создавать трансляции игр в реальном времени из игрового окружения, которые эффективно используют аудио, видео и игровые метаданные, чтобы предоставлять высокое кинематографическое качество и обогащать зрительское восприятие. Кроме того, системы и способы, предоставленные в данном документе, описывают модуль просмотра, сконфигурированный, чтобы отображать трансляции игр зрителям, предоставлять зрителям инструменты, чтобы предоставлять возможность им взаимодействовать с метаданными, и собирать данные от зрителей, чтобы предоставлять обратную связь для игры и стримера игры в реальном времени. В соответствии с другим вариантом осуществления модуль просмотра конфигурируется, чтобы отображать ранее записанную игру или ранее записанную трансляцию игры, предоставлять зрителю инструменты, чтобы предоставлять возможность ему взаимодействовать с метаданными и собирать данные от зрителя, чтобы предоставлять обратную связь для игры. В соответствии с другим вариантом осуществления, модуль просмотра конфигурируется, чтобы отображать 3D-окружение (например, из данных 3D-окружения), предоставлять зрителю инструменты, чтобы предоставлять возможность ему взаимодействовать с метаданными и 3D-окружением, и собирать данные от зрителя, чтобы предоставлять обратную связь для формирователя данных 3D-окружения. Данные 3D-окружения могут включать в себя живые данные 3D-модели, живую 3D-визуализацию (например, живую 3D-фотограмметрию) окружения в реальном мире, ранее записанные данные 3D-модели и ранее записанную 3D-визуализацию (например, записанную 3D-фотограмметрию) окружения реального мира. Повсюду в описании в данном документе термин eSport ссылается, в целом, на 3D-контент, который включает в себя данные для сетевых многопользовательских игр, формируемые в реальном времени, в результате чего, множество игроков видеоигры, распределенных по сети, взаимодействуют в одной и той же игре в одно и то же время (например, непрофессиональная онлайн-игра и онлайн-игра соревнования профессионалов), и термин включает в себя данные 3D-окружения.

[0017] Фиг. 1 - это покомпонентная схема примерного устройства 102 eSport и ассоциированных периферийных устройств. В примерном варианте осуществления устройство 102 eSport является вычислительным устройством, управляемым пользователем 110. Пользователь 110 может быть игроком онлайновой многопользовательской игры (например, игры eSports) или транслирующим стримером (или просто "стримером"), который предоставляет различные функции трансляции, ассоциированные с игрой eSport, или сторонним зрителем трансляции. Устройство 102 eSport включает в себя одно или более устройств 104 отображения (например, традиционные компьютерные мониторы, носимые устройства VR и т.д.) и одно или более входных устройств 106 (например, клавиатуру, мышь, карманные или носимые указывающие устройства, устройство камеры, устройство отслеживания движения и т.д.). Устройство 102 eSport также включает в себя память 120, один или более центральных процессоров (CPU) 122, один или более графических процессоров (GPU) 124 и один или более сетевых адаптеров 126 (например, адаптеров проводной или беспроводной сети, обеспечивающих сетевую связность, используемую для игры eSport).

[0018] В примерном варианте осуществления устройство 102 eSport включает в себя игровой движок 130 (например, исполняемый посредством CPU 122 или GPU 124), который представляет игру eSport пользователю 110. Игровой движок 130 включает в себя модуль 140 eSport, который предоставляет различную функциональность трансляции для игры eSport, как описано в данном документе. Модуль 140 eSport включает в себя модуль 142 живой игры, модуль 144 вещания, модуль 146 просмотра и кинематографический модуль 148, каждый из которых реализуется в, или иначе находится на связи с, игровом движке 130. Каждый из модуля 142 живой игры, модуля 144 вещания, модуля 146 просмотра и кинематографического модуля 148, также как и игровой движок 130, включает в себя компьютерно-исполняемые инструкции, постоянно находящиеся в памяти 120, которые исполняются посредством CPU 122 или GPU 124 во время работы. Игровой движок 130 связывается с устройствами 104 отображения, а также с другими аппаратными средствами, такими как устройство(а) 106 ввода. Модуль 142 живой игры, модуль 144 вещания, модуль 146 просмотра и кинематографический модуль 148, или модуль 140 eSport в целом, могут быть объединены непосредственно в игровой движок 130 или могут быть реализованы как внешняя часть программного обеспечения (например, подключаемый модуль или другое независимое программное обеспечение). Кроме того, хотя модуль 142 живой игры, модуль 144 вещания, модуль 146 просмотра и кинематографический модуль 148 показаны как отдельные модули на фиг. 1, на практике эти модули могут быть объединены каким-либо способом и могут не быть реализованы как дискретные кодовые модули, но объединенные непосредственно в коде для игрового модуля.

[0019] В примерном варианте осуществления модуль 142 живой игры предоставляет последовательность инструментальных средств, с помощью которых пользователь 110 может смотреть и участвовать в сеансе живой или записанной онлайновой видеоигры (или просто 'сеансе eSport') и живом или записанном сеансе или событии реального мира с помощью данных 3D-окружения (например, записанный футбольный матч в реальной жизни с фотограмметрией), с одним или более другими пользователями 110, и он предоставляет функциональность для системы eSport, как описано в данном документе. В соответствии с вариантом осуществления модуль 144 вещания предоставляет набор инструментальных средств, с помощью которых пользователь 110 может записывать и транслировать (например, включая в них метаданные) аспекты онлайнового сеанса eSport (или записанного сеанса eSport) согласно системе eSport, как описано в данном документе. Пользователь 110 (например, стример) может быть либо полноценным участником в игре eSport, либо быть зрителем игры eSport. Метаданные включают в себя данные, которые могут быть использованы модулем 142 живой игры и модулем 146 просмотра, чтобы предоставлять функциональность пользователю 110, как описано в данном документе. Модуль 144 вещания может также снабжать пользователя 110 кинематографическими инструментальными средствами (например, с помощью кинематографического модуля 148) для того, чтобы предоставлять возможность пользователю управлять одной или более камерами с помощью продвинутых технологий камеры.

[0020] В соответствии с вариантом осуществления, модуль 146 просмотра снабжает пользователя 110 инструментальными средствами для отображения и взаимодействия с игровыми данными из онлайнового сеанса eSport (или записанного сеанса eSport), включающими в себя данные и видеоизображение из сеанса, созданного другими пользователями 110 (например, с помощью модуля 144 вещания, модуля 146 просмотра, кинематографического модуля 148 или модуля 142 живой игры) и для сбора зрительских метаданных от пользователя 110 во время просмотра (например, включающих в себя данные реального времени, касающиеся действий или поведения пользователя, такие как просматриваемый уровень игры, просматриваемые объект(ы) игры, камера, используемая для просмотра, отслеживаемое событие, продолжительность просмотра с конкретной камеры и с конкретного угла камеры, просматриваемый игрок, просматриваемая битва, спокойствие съемки, позиция мыши и т.д.). Из этих зрительских данных модуль eSport может определять, какие камеры зрители предпочитают, как быстро они переключают камеры, какие углы они предпочитают для начала игры в сравнении с окончанием игры, и какие углы они предпочитают, когда какой-либо заданный сценарий случится. Собранные зрительские данные могут называться в данном документе "зрительскими метаданными". В некоторых вариантах осуществления модуль 146 просмотра может использовать устройство камеры (не изображено отдельно), чтобы захватывать видеотрансляцию пользователя 110 (например, зрителя контента трансляции) и отслеживать движение глаз и движение головы пользователя 110 во время хода игры (например, приближая то, на чем зритель фокусирует свои глаз(а) в какое-либо заданное время) для того, чтобы добавлять видеотрансляцию и/или данные отслеживаемого движения глаз в зрительские метаданные. В соответствии с некоторыми вариантами осуществления, отслеживаемые движения глаз или движения головы могут быть использованы для управления камерой в сеансе eSport, чтобы включать режим камеры для отслеживания головы, аналогичный устанавливаемому на голову устройству отображения виртуальной реальности или устанавливаемому на голову устройству отображения дополненной реальности, которые предоставляют пользователю способность непосредственно управлять движением камеры с помощью движения головы (или глаз). В некоторых вариантах осуществления модуль 146 просмотра может анализировать видеотрансляцию зрителя, чтобы определять выражения лиц зрителей во время хода игры. Такие зрительские метаданные могут быть переданы обратно устройству 102 eSport, используемому игроком в сеансе eSport, и могут быть представлены игроку для того, чтобы информировать игрока о зрителе (например, информировать игрока, что 30% зрителей смотрят его битву, или что зритель смотрит, в основном, игрока 'X', или что зрители предпочитают смотреть битвы с камеры беспилотного летательного аппарата, или что зритель переключает виды камеры со средним временным интервалом 'Y' секунд), или что пользователь имеет особую реакцию (например, удивление, ужас, удовольствие, уныние и т.д.). В некоторых вариантах осуществления зрительские метаданные могут быть переданы по сети в центральное хранилище (например, базу данных, отдельно не показанную на чертеже) для хранения и последующего использования (например, рекламодателями и разработчиками). В некоторых вариантах осуществления модуль 146 просмотра может захватывать, записывать и отмечать по времени зрительские метаданные, игровые данные и метаданные камеры. В соответствии с вариантом осуществления, помеченные по времени зрительские метаданные соответствуют помеченным по времени игровым данным и метаданным камеры. Помеченные по времени данные могут позднее быть использованы разработчиками или рекламодателями, чтобы определять соотношения между данными, включающими в себя определение окон захвата для какого-либо заданного ответа (например, такой вопрос как 'что было в потоке метаданных за секунду с той или иной стороны реакции X?', где 'X' представляет какую-либо измеряемую реакцию зрителя, может быть отправлен в базу данных, содержащую помеченные по времени данные), и реакции зрителей на конкретные игровые события, события камеры и действия стримера.

[0021] В соответствии с вариантом осуществления, кинематографический модуль 148 снабжает модуль 142 живой игры, модуль 144 вещания и модуль 146 просмотра набором кинематографических инструментальных средств для отображения и записи онлайнового сеанса eSport. Подробности того, как кинематографический модуль 148 предоставляет инструментальные средства, предоставляются в данном документе с помощью описания системы eSports. В соответствии с вариантом осуществления, кинематографические инструментальные средства включают в себя инструментальные средства для создания, позиционирования, ориентирования и изменения свойств виртуальных камер в игровом окружении. Инструментальные средства могут включать в себя графический пользовательский интерфейс, чтобы управлять кинематографическими функциями, реализуемыми посредством кинематографического модуля 148, автоматическое кинематографическое инструментальное средство для выполнения части или всех кинематографических функций автоматическим образом, и набор кинематографических функций (например, через прикладной интерфейс или API), также как инструментальное средство для создания и внедрения кинематографических метаданных в выходные данные устройства. В соответствии с вариантом осуществления, кинематографические инструментальные средства работают на механизмах высокого уровня, которые предоставляют возможность желаемых снимков без непосредственного приведения в движение пользователем камеры (например, посредством джойстика или мыши). Механизмы включают в себя процедурное составление, оценку снимка, избегание коллизии и динамическое отслеживание персонажей.

[0022] Фиг. 2A иллюстрирует систему 200 eSport в примерной сети 280, через которую предоставляется онлайновая многопользовательская компьютерная игра (например, игра eSport). В примерном варианте осуществления, система 200 eSport включает в себя устройство 210 вещания, два устройства 220A, 220B игроков (совокупно, устройства 220 игроков), зрительское устройство 230, сайты 240 для распространения видеоматериалов, онлайновые игровые серверы 250 и онлайновое устройство 260 визуализации, каждое связывается с сетью 280 общего пользования (например, Интернетом). Сеть 280 включает в себя проводные и беспроводные сети. Устройство 210 вещания, устройства 220 игроков и зрительское устройство 230 могут быть аналогичными устройству 102 eSport. Число участников игры, стримеров и зрителей может изменяться. Онлайновые игровые серверы 250 включают в себя серверный игровой модуль (отдельно не показан на чертеже), который может быть аналогичным игровому движку 130, но который, в частности, конфигурируется для предоставления функциональности игрового сервера. Онлайновая служба 260 визуализации может быть Интернет-службой, предоставляющей службы графической визуализации, также известные как облако визуализации или ферма визуализации.

[0023] В примерном варианте осуществления, когда сеанс eSport является онлайновой видеоигрой, онлайновая видеоигра может быть настроена с помощью клиент-серверной методологии для онлайновых игр, при этом онлайновый игровой сервер 250 запускает официальную версию игры, а клиент (например, модуль 142 живой игры на устройствах 220 игроков) запускает локальную версию игры (например, через игровой движок 130). Устройства 220 игроков и игровой сервер 250 связываются по сети 280, обмениваясь игровыми данными во время сеанса eSport, чтобы создавать игровое окружение в реальном времени для игроков 222A, 222B (совокупно, игроков 222). Онлайновые игровые серверы 250 собирают игровые данные от всех игроков 222 через модуль 142 живой игры устройств 220 игроков и могут иметь официальную версию игры. Модуль 142 живой игры на клиенте запускает локальную версию игры (например, на устройстве каждого игрока) и принимает данные от игрового сервера 250 (например, включающие в себя данные игры от других игроков 222), чтобы обновлять локальную версию игры с помощью серверных данных в качестве официальной версии, так что серверные данные имеют преимущество над локальными данными в случае расхождения.

[0024] В примерном варианте осуществления модули для модуля 140 eSport, которые являются активными на каждом из устройств 210, 220, 230, показаны на фиг. 2A в целях иллюстрации первичных функций устройств 210, 220, 230. Следует понимать, однако, что любой из различных модулей, описанных в данном документе, может работать на любом из устройств 210, 220, 230. Например, во время работы, устройства 220A, 220B игроков задействуются игроками 222A, 222B, соответственно, во время игры в игру eSport, и модуль 142 живой игры является активным на каждом устройстве (например, чтобы связываться с онлайновыми игровыми серверами 250 и предоставлять игроку 222 игровое окружение и предоставлять возможность игроку 222 взаимодействовать с игрой). Стример 212 задействует устройство 210 вещания, чтобы предоставлять контент трансляции для игры eSport (например, для различных зрителей 232, 242), и модуль 144 вещания, модуль 146 просмотра и кинематографический модуль 148 являются активными на устройстве 210 вещания. Модуль 144 вещания, модуль 146 просмотра и кинематографический модуль 148 являются активными для того, чтобы снабжать стримера инструментальными средствами, чтобы создавать контент трансляции. Зритель 232 задействует зрительское устройство 230, чтобы потреблять контент трансляции, сформированный стримером 212, через модуль 146 просмотра и кинематографический модуль 148, активные на зрительском устройстве 230. Модуль 146 просмотра и кинематографический модуль 148 являются в первую очередь активными для того, чтобы обеспечивать зрителя 232 видом игры и некоторым кинематографическим управлением камерами. Это является аналогичным зрителям 242, просматривающим видео с сайтов 240 распространения видеоматериалов.

[0025] В примерном варианте осуществления контент трансляции, предоставляемый стримером 212 (например, через устройство 210 вещания), может быть представлен зрителям 242 через различные сайты 240 распространения видеоматериалов. Сайты 240 распространения видеоматериалов могут включать в себя поставщиков онлайнового контента, таких как YouTube®, Twitch®, или другие подобные веб-сайты распространения видеоматериалов. Как показано на фиг. 2A, сайты 240 распространения видеоматериалов могут также включать в себя модуль 140 eSport или компоненты модуля 140 eSport, такие как модуль 146 просмотра или кинематографический модуль 148, которые могут быть использованы для представления контента трансляции и другой функциональности зрителям 242. Например, кинематографический модуль 148 может быть реализован на сайте 240 распространения видеоматериалов (например, как подключаемый модуль) для того, чтобы обеспечивать зрителей 242 кинематографическими инструментальными средствами для управления просмотром игры eSport. В некоторых вариантах осуществления инструментальные средства просмотра и кинематографические инструментальные средства будут видимы только в пользовательском интерфейсе сайта 240 распространения видеоматериалов, если игровые метаданные присутствуют в видеоконтенте, который должен быть отображен. Кинематографический модуль 148 использует игровые метаданные, чтобы выполнять кинематографическую функциональность. В соответствии с вариантом осуществления модуль 146 просмотра в модуле 140 eSport на сайте 240 распространения видеоматериалов может выполнять некоторую или всю визуализацию локально на устройстве пользователя. В соответствии с другим вариантом осуществления, кинематографические варианты выбора просмотра пользователя визуализируются удаленно (например, в облачной службе визуализации) и по необходимости (например, на лету), и визуализированное видеоизображение отправляется пользователю через сайт 240 распространения видеоматериалов. В соответствии с еще одним вариантом осуществления фиксированное число процедурных камер являются активными в сеансе eSport (записанном или живом сеансе eSport), и вид с каждой процедурной камеры визуализируется удаленно (например, в облачной службе визуализации) и отправляется на сайт 240 распространения видеоматериалов в качестве визуализированного видеопотока, так что зритель может выбирать (например, с помощью модуля 146 просмотра или кинематографического модуля 148), какой из визуализированных видеопотоков просматривать. Наличие процедурных камер с облачной визуализацией предоставляет возможность устройствам с плохой способностью визуализации (например, мобильным телефонам или старым компьютерам) осуществлять просмотр с высоким качеством визуализации, в то же время все еще управляя камерами.

[0026] Фиг. 2B иллюстрирует систему 200 eSport в примерной сети 280, по которой предоставляется событие в реальном мире (например, живое или записанное спортивное событие, или живое или записанное неспортивное событие). В примерном варианте осуществления система 200 eSport включает в себя устройство 210 вещания, два зрительских устройства 230A, 230B (совокупно, зрительские устройства 230), онлайновые игровые серверы 250 и базу данных 290, каждое связывается с сетью 280 общего пользования (например, Интернетом). Система 200 eSport соединяется с внешней системой 252 записи 3D-видеоизображений, которая предоставляет 3D-данные и видеоизображение события 254 реального мира. Устройство 210 вещания и зрительское устройство 230 могут быть аналогичными устройству 102 eSport. Число стримеров 210 и зрителей (232, 242) может изменяться. Онлайновые игровые серверы 250 включают в себя серверный игровой модуль (отдельно не показан на чертеже), который может быть аналогичен игровому движку 130, но который, в частности, конфигурируется для предоставления функциональности игрового сервера, такой как трансляция 3D-данных живого или записанного события. Система 252 записи 3D-видеоизображения конфигурируется, чтобы формировать данные 3D-окружения для события 254 реального мира, которые должны транслироваться зрителям и стримерам 210 через онлайновые игровые серверы 250. Система 252 записи 3D-видеоизображения также конфигурируется, чтобы записывать данные 3D-окружения в базе данных 290 для последующей повторной трансляции. Система 252 записи 3D-видеоизображения может формировать данные 3D-окружения множеством способов; например, система 252 может использовать одну или более специальных камер, чтобы непосредственно записывать 3D-данные из окружения или использовать множество стандартных видеокамер для записи события 254 с различных углов и затем использовать способ формирования 3D-данных из множества видеопотоков.

[0027] В примерном варианте осуществления модули для модуля 140 eSport, которые являются активными на каждом из устройств 210, 230 и 240, показаны на фиг. 2B в целях иллюстрации первичных функций устройств 210, 230, 240. Следует понимать, однако, что любой из различных модулей, описанных в данном документе, может работать на любом из устройств 210, 230, 240. Например, во время работы, стример 212 задействует устройство 210 вещания, чтобы предоставлять контент трансляции для сеанса eSport (например, для различных зрителей 232, 242), и модуль 144 вещания, модуль 146 просмотра и кинематографический модуль 148 являются активными на устройстве 210 вещания. Модуль 144 вещания, модуль 146 просмотра и кинематографический модуль 148 являются активными для того, чтобы снабжать стримера инструментальными средствами, чтобы создавать контент трансляции. Зритель 232 задействует зрительское устройство 230, чтобы потреблять контент трансляции, сформированный стримером 212, и непосредственно с онлайновых серверов 250, и модуль 146 просмотра и кинематографический модуль 148 являются активными. Модуль 146 просмотра и кинематографический модуль 148 являются в первую очередь активными для того, чтобы обеспечивать зрителя 232 видом события 254 реального мира и некоторым кинематографическим управлением камерами. Это является аналогичным зрителям 242, просматривающим видео с сайтов 240 распространения видеоматериалов.

[0028] Фиг. 3A и 3B иллюстрируют примерный способ для создания высококачественного контента трансляции игр eSport для распространения и представления зрителям 242 через сайты 240 распространения видеоматериалов и зрителям 232 на зрительском устройстве 230. В примерном варианте осуществления способ 300 выполняется системой 200 eSport в сетевом окружении, иллюстрированном на фиг. 2A и фиг. 2B. Способ 300 выполняется, когда игроки 222 активно играют в онлайновую игру с помощью модулей 142 живой игры на их соответствующих устройствах 220 игроков. В операции 310 модуль 142 живой игры записывает и передает пользовательские входные данные от пользовательских устройств 106 ввода (например, джойстика, клавиатуры, мыши, установленных на голову дисплеев, устройств отслеживания рук и т.д.) игровому серверу 250. Игровой сервер 250 использует игровые данные, принятые от всех игроков 222, чтобы создавать официальную версию игры и затем распространять игровые данные из этой официальной игры обратно всем пользовательским устройствам 220. Модуль 142 живой игры запускает игровой код локально, чтобы осуществлять прогнозирование на стороне клиента для того, чтобы уменьшать действия задержки в сети, которые возникают со связью между клиентом и сервером. Модуль 142 живой игры также запускает игровой код, чтобы объединять игровые данные с сервера 250 (например, игровые данные от других удаленных устройств 220 игроков и из официальной игры на сервере 250) с локальными игровыми данными и отображать объединенные данные на устройстве 104 отображения. Модуль 142 живой игры также принимает метаданные зрителя от игрового сервера 250 и отображает эти данные игроку 222.

[0029] В операции 312, в примерном варианте осуществления, модуль 144 вещания на устройстве 210 вещания принимает игровые данные (включающие в себя все игровые метаданные и зрительские метаданные) от игрового сервера 250. Модуль 144 вещания принимает игровые данные (включающие в себя игровые метаданные) и зрительские метаданные в операции 312 и использует игровые данные с онлайновых игровых серверов 250 для создания и отображения локальной версии игры стримеру 212 в операции 314. Модуль 144 вещания использует игровые данные для создания и представления окружения всей игры в действии. Модуль 144 вещания отображает инструментальные средства управления камерой вещания через пользовательский интерфейс, чтобы управлять виртуальным кинооператором (например, через кинематографический модуль 148), чтобы создавать и направлять снимки камеры. Кинематографический модуль 148 и модуль 144 вещания используют игровые метаданные, чтобы создавать и наполнять инструментальные средства управления камерой. Дополнительно, зрительские метаданные отображаются стримеру 212 и другим игрокам 222, давая им обратную связь о зрителях 232, 242. Модуль 144 вещания отображает инструментальные средства вещания стримеру 212 через графический пользовательский интерфейс (GUI). Инструментальные средства вещания предоставляют возможность стримеру 212 управлять камерами в игровом окружении, создавать (например, записывать) и передавать (например, транслировать) пользовательскую версию (например, включающую в себя данные управления камерой от стримера) сеанса eSport, по сети 280. Инструментальные средства включают в себя элементы пользовательского интерфейса (UI), которые предоставляют возможность стримеру 212, например, просматривать сеанс eSport с любой существующей игровой камеры, создавать новые камеры в игре, чтобы просматривать сеанс eSport с любой позиции, и привлекать кинематографический модуль 148 для помощи в управлении камерами. Позиции камеры и композиции экрана могут полностью или частично управляться посредством кинематографического модуля 148. На протяжении всего описания в данном документе термин 'композиция' и 'композиционный' ссылается на размещение или компоновку визуальных элементов на снимке экрана (например, в видеокадре игры eSport или 3D-сцены). Модуль 144 вещания использует игровые метаданные и кинематографический модуль 148 для управления камерами в игре для того, чтобы создавать высококачественное видеоизображение сеанса eSport. Кинематографический модуль 148 использует автоматическую композицию, чтобы компоновать снимки игрового действия с помощью инструкций от стримера. Автоматическая композиция, используемая кинематографическим модулем 148, может быть основанной на правиле (например, использовать правила кинематографической композиции) и может управляться посредством искусственного интеллекта. В соответствии с вариантом осуществления каждая игра будет иметь данные и инструкции, определяющие типы углов и снимков, доступных для каждого персонажа и сценария (например, данные и инструкции могут быть определены разработчиком игры во время создания игры). Во время игры стример будет иметь возможность выбирать из доступных различных стилей съемки - крупный план, широкий план, съемка с беспилотного летательного аппарата, камера системы безопасности, фиксированная камера и т.д., и из различных субъектов или событий - персонажа A, убийственного выстрела, повышения уровня, спринта и т.д. Стример будет использовать устройство 210 вещания для быстрого выбора типа камеры и субъекта/события, которые будут выполняться кинематографическим модулем 148, чтобы предоставлять хороший снимок в любой ситуации. В операции 316 модуль 144 вещания также записывает звук реального времени видеоизображение комментария от стримера для видеоизображения сеанса eSport. В операции 318 модуль 144 вещания создает выходные данные для сеанса, которые включают в себя позицию и свойства всех записывающих камер (называемые ниже метаданными камеры) в каждый момент вместе со звуком реального времени и видеоизображением комментария от стримера, и которые включают в себя игровые данные. В некоторых вариантах осуществления выходные данные модуля вещания могут включать в себя все позиции камер и ориентации и настройки линзы для каждого кадра. В некоторых вариантах осуществления команды камеры более высокого уровня могут быть отправлены (например, 'крупный план на игрока X', 'общий план на игрока Y'). По существу, кинематографический модуль 148 может быть использован для обработки команд более высокого уровня. В некоторых вариантах осуществления онлайновая служба 260 визуализации может включать в себя кинематографический модуль 148, такой, чтобы обрабатывать команды более высокого уровня. В некоторых вариантах осуществления онлайновый игровой сервер 250 может передавать игровые данные непосредственно онлайновой службе 260 визуализации, тем самым, уменьшая задержку.

[0030] В примерном варианте осуществления, в операции 320, модуль 144 вещания упаковывает выходные данные и отправляет данные по сети 280 онлайновой службе 260 визуализации. В операции 322 служба 260 визуализации использует игровые данные и метаданные камеры, чтобы визуализировать видеоизображение вещания (например, видеопоток) игры с помощью композиционных снимков камеры, которые были выбраны стримером 212 и созданы посредством кинематографического модуля 148. В операции 324 визуализированное видеоизображение вещания и игровые данные отправляются службе 240 распространения видеоматериалов для отображения зрителям 242. В операции 326 модуль просмотра в службе 240 распространения видеоматериалов (отдельно не изображен, но может быть аналогичным модулю 146 просмотра) отображает игровые метаданные вместе с видеоизображением вещания и собирает зрительские метаданные, в то время как видеоизображение отображается. Служба 240 распространения видеоматериалов принимает и отображает видеоизображение вещания и игровые метаданные (например, включающие в себя все метаданные стримера). Модуль 146 просмотра использует метаданные, чтобы отображать информацию, традиционно недоступную в видеотрансляции многопользовательской игры (например, версию игры, уровень, персонажи, активные на текущем экране, ход миссии, состояние игры, наигранные часы, покупки и т.д.). Кинематографический модуль 148 может использовать метаданные для отображения информации, такой как, например, текущий субъект, анимации на экране, тип объектива (например, телевизионный, обычный, широкоугольный), угол камеры и т.д. В операции 327 модуль просмотра синхронизирует игровые данные и зрительские метаданные.

[0031] В операции 328, в примерном варианте осуществления, модуль 146 просмотра в службе 240 распространения видеоматериалов также собирает данные от зрителя через пользовательский интерфейс и отправляет данные (например, зрительские метаданные) по сети 280 в реальном времени онлайновым игровым серверам 250 для распространения устройствам eSport (включающим в себя устройства 220 игроков, устройства 210 вещания, зрительские устройства 230 и модуль 146 просмотра на сайтах 240 распространения видеоматериалов) для стримеров 212 игры и игроков 222 игры. В некоторых вариантах осуществления онлайновый игровой сервер 250 может также собирать и хранить зрительские метаданные для последующей обработки. Модуль 142 живой игры на устройствах 220 игроков может использовать зрительские метаданные, чтобы отображать пользовательскую информацию во время сеанса и влиять на ход игры. Аналогично, модуль 142 живой игры в устройстве 210 вещания может использовать зрительские метаданные, чтобы отображать информацию о зрителе во время сеанса и влиять на запись стримером 212 сеанса eSport.

[0032] В некоторых вариантах осуществления службы визуализации, предоставляемые посредством онлайновой службы 260 визуализации, могут быть предоставлены посредством локального модуля визуализации (отдельно не изображен) на устройстве 210 вещания. Другими словами, операции 320, 322 и 324 могут выполняться локально на устройстве 210 вещания посредством локального модуля визуализации.

[0033] В некоторых вариантах осуществления контент трансляции, сформированный посредством способа 300, может просматриваться локально стримером 212. Другими словами, операции 324, 326, 327 и 328 могут выполняться локально на устройстве 210 вещания посредством модуля 146 просмотра. По существу, стример 212 также действует в качестве зрителя 242 и 232. В таком варианте осуществления стример 212 является аналогичным зрителю 232, и устройство 210 вещания является аналогичным зрительскому устройству 230, так что зритель 232 может непосредственно управлять камерами с помощью кинематографического модуля 148 и непосредственно просматривать результирующее видео.

[0034] В некоторых вариантах осуществления стример-человек 212 может быть заменен автоматической версией кинематографического модуля 148, исполняющегося на устройстве 210 вещания и выполняющего операции 314 и 316. Другими словами, автоматический кинематографический модуль 148 принимает игровые данные и зрительские метаданные от игрового сервера 250. Автоматический кинематографический модуль 148 использует игровые данные и зрительские метаданные, чтобы создавать локальную версию игры (например, с помощью модуля 142 живой игры на устройстве вещания). Автоматический кинематографический модуль 148 содержит управляемого искусственным интеллектом (AI) кинооператора, который использует искусственный интеллект (например, машинное обучение и нейронные сети), чтобы выбирать и компоновать снимки для того, чтобы создавать видеотрансляцию. Автоматический кинематографический модуль 148 создает выходные данные для сеанса, которые включают в себя позицию и свойства записывающей камеры в каждый момент (например, камеры X со свойствами для времени 1, камеры X со свойствами для времени 2, камеры Y со свойствами для времени 3, и т.д.). Модуль 144 вещания упаковывает метаданные камеры с игровыми данными и отправляет данные по сети онлайновой службе 260 визуализации. Служба 260 визуализации использует игровые данные и метаданные камеры, чтобы визуализировать видеотрансляцию игры на основе инструкций автоматического кинематографического модуля 148. Видеотрансляция и игровые данные отправляются службе 240 распространения видеоматериалов, чтобы отображаться зрителям 242. Специальный модуль просмотра на веб-сайте службы распространения видеоматериалов отображает игровые метаданные вместе с видеотрансляцией и собирает зрительские метаданные, в то время как видеоизображение отображается. В соответствии с операцией 328, зрительские метаданные отправляются от модуля 146 просмотра на сайте 240 распространения видеоматериалов автоматическому кинематографическому модулю 148 на устройстве 210 вещания. Автоматический кинематографический модуль 148 в устройстве 210 вещания может использовать зрительские метаданные, чтобы влиять на запись сеанса eSport.

[0035] В соответствии с вариантом осуществления, когда автоматический кинематографический модуль 148 принимает игровые данные от игрового сервера 250, автоматический кинематографический модуль 148 задерживает вывод информации (например, службе 260 визуализации). Задержка может быть любым интервалом времени, но типично задержка будет 2 или 3 секунды. Результатом задержки будет то, что автоматический кинематографический модуль 148 имеет данные реального времени от игрового сервера 250, в то время как какие-либо зрители (например, стример 212 через устройство 210 вещания, зритель 242 через сайт 240 распространения видеоматериалов и зритель 232 через зрительское устройство 230) смотрят слегка задержанную версию видеоизображения игры. Это предоставляет возможность (через автоматический кинематографический модуль 148) 'смотреть в будущее' на интервал задержки. Во время задержки автоматический кинематографический модуль 148 ищет игровые данные для событий (например, взрыва, смерти игрока, нападения из засады, выстрелов, ведомых по игроку, и т.д.) и размещает (например, посредством позиционирования и компоновки) одну или более камер в игровом окружении, чтобы охватывать какие-либо обнаруженные события и затем резко менять сцену на съемку камерой события, прежде чем оно происходит (например, прежде чем оно просматривается зрителем/стримером), и следовательно, создавая правильно спозиционированную и скомпонованную съемку событий, которые вот-вот должны произойти с точки зрения зрителя. С точки зрения зрителя/стримера, камера всегда успевает непосредственно перед действием события и предоставляет зрителю хороший вид действия, окружающего событие.

[0036] Задержка предоставляет возможность разработчикам игр определять приоритеты каких-либо ключевых событий игры (например, событий, которые определяются как важные разработчиками во время создания игры, и события, которые определяются как важные искусственным интеллектом во время выполнения) в их игре. Задержка также является полезной при просмотре живого события в реальном мире (например, матча в американский футбол, хоккейного матча, футбольного матча, включающего в себя неспортивные живые события реального мира), так как задержка предоставляет возможность искусственному интеллекту или вещателям живого события определять и помечать конкретные действия как важные. Она также предоставляет возможность зрителям 232, 242 или стримерам 212 выбирать то, должен ли автоматический кинематографический модуль 148 искать игровые события и действия и корректировать кинематографию соответствующим образом, или игнорировать игровые события и действия. Другими словами, автоматический кинематографический модуль 148 может иметь 'режим задержки', в результате чего, включенный режим задержки будет инструктировать модулю 148 снимать (например, позицию, компоновку и переключение камер) и отображать игру согласно игровым событиям и действиям. Например, во время игры или живого события в реальном мире, зритель 232, 242 или стример 212 могут выбирать свои предпочтительные типы камер (например, "крупный план на игроке №3") для съемки по умолчанию, и автоматический кинематографический модуль 148 будет переключаться с этого типа камеры по умолчанию, если высокоприоритетное событие или действие происходит. Альтернативно, выключенный режим задержки будет инструктировать модулю 148 игнорировать события и действия во время съемки игры. Задержка является полезной, так как одной из наибольших проблем с просмотром eSports является то, как лучше представлять игру всем зрителям.

[0037] Фиг. 3C и 3D иллюстрируют примерный способ для управления кинематографическим просмотром высококачественного контента трансляции живого события eSport (например, матча в американский футбол) на зрительском устройстве 230. В примерном варианте осуществления способ 380 выполняется посредством системы 200 eSport в сетевом окружении, иллюстрированном на фиг. 2B. В операции 340 система 200 eSport принимает игровые данные (включающие в себя 3D-данные и видеоданные) от внешней системы 252 записи 3D-видео, при этом игровые данные существуют из записи события 254 реального мира. В варианте осуществления термин 'игровые данные' включает в себя 3D-данные и видеоданные из события 254 реального мира. В операции 342 модуль 146 просмотра принимает игровые данные. В операции 344 модуль 146 просмотра использует игровые данные, чтобы создавать и отображать 3D-представление события реального мира. 3D-представление может иметь сетку с высоким или низким количеством полигонов и может иметь текстуру с высоким или низким разрешением. Модуль 146 просмотра отображает инструментальные средства управления камерой для зрителя через пользовательский интерфейс. Инструментальные средства управления используются зрителем, чтобы управлять виртуальным кинооператором, чтобы создавать и направлять снимки камеры для того, чтобы создавать видеоизображение. В операции 346 зритель использует инструментальные средства (например, процедурные камеры), чтобы создавать инструкции для видеозаписи события 254. Позиции камеры, переключения камер и композиция либо полностью, либо частично управляются посредством кинематографического модуля 148. В операции 348 модуль 146 просмотра создает выходные данные для события, которые включают в себя позицию и свойства всех записывающих камер в каждый момент (например, данные камеры), а также включает в себя 3D-данные. В операции 350 устройство просмотра использует 3D-данные из игровых данных и данные камеры для визуализации видеоизображения события на основе кинематографических инструкций зрителя. В соответствии с другим вариантом осуществления, устройство просмотра упаковывает и отправляет игровые данные и данные камеры внешней службе визуализации для визуализации. В операции 352 модуль 146 просмотра отображает видеоизображение и собирает зрительские метаданные, в то время как видеоизображение просматривается. В операции 354 модуль просмотра синхронизирует игровые данные вместе со зрительскими метаданными. В операции 356 зрительские метаданные предоставляются обратно внешней системе 252 (например, в реальном времени).

[0038] Фиг. 4 - это блок-схема, иллюстрирующая примерную архитектуру 402 программного обеспечения, которая может быть использована вместе с различными архитектурами аппаратных средств, описываемыми в данном документе. Фиг. 4 является неограничивающим примером архитектуры программного обеспечения, и будет понятно, что множество других архитектур может быть реализовано, чтобы обеспечивать функциональность, описанную в данном документе. Архитектура 402 программного обеспечения может исполняться на аппаратных средствах, таких как машина 500 на фиг. 5, которая включает в себя, среди прочего, процессоры 510, память 530 и компоненты 550 ввода/вывода (I/O). Типичный уровень 404 аппаратных средств иллюстрируется и может представлять, например, машину 500 на фиг. 5. Типичный уровень 404 аппаратных средств включает в себя процессор 406, имеющий ассоциированные исполняемые инструкции 408. Исполняемые инструкции 408 представляют исполняемые инструкции архитектуры 402 программного обеспечения, включающие в себя реализацию способов, модулей и т.д., описанных в данном документе. Уровень 404 аппаратных средств также включает в себя память и/или модули хранения, показанные как память/запоминающее устройство 410, которые также имеют исполняемые инструкции 408. Уровень 404 аппаратных средств может также содержать другие аппаратные средства 412.

[0039] В примерной архитектуре на фиг. 4 архитектура 402 программного обеспечения может быть концептуализирована как стек уровней, где каждый уровень предоставляет конкретную функциональность. Например, архитектура 402 программного обеспечения может включать в себя уровни, такие как операционная система 414, библиотеки 416, инфраструктуры и промежуточное программное обеспечение 418, приложения 420 и уровень 444 представления. Необязательно, приложения 420 и/или другие компоненты в уровнях могут использовать вызовы 424 прикладного программного интерфейса (API) через стек программного обеспечения и принимать ответ в качестве сообщений 426. Иллюстрированные уровни являются репрезентативными по природе, и не все архитектуры программного обеспечения имеют все уровни. Например, некоторые мобильные или специализированные операционные системы могут не предоставлять платформы/промежуточное программное обеспечение 418 в то время как другие могут предоставлять такой уровень. Другие архитектуры программного обеспечения могут включать в себя дополнительные или другие уровни.

[0040] Операционная система 414 может управлять аппаратными ресурсами и предоставлять общие службы. Операционная система 414 может включать в себя, например, ядро 428, службы 430 и драйверы 432. Ядро 428 может действовать как уровень абстракции между аппаратными средствами и другими уровнями программного обеспечения. Например, ядро 428 может отвечать за управление памятью, управление процессором (например, планирование), управление компонентами, сетевое взаимодействие, настройки безопасности и т.д. Службы 430 могут представлять другие общие службы для других уровней программного обеспечения. Драйверы 432 могут отвечать за управление или взаимодействие с нижележащими аппаратными средствами. Например, драйверы 432 могут включать в себя драйверы дисплея, драйверы камеры, Bluetooth®-драйверы, драйверы флеш-памяти, драйверы последовательного соединения (например, драйверы универсальной последовательной шины (USB)), драйверы Wi-Fi®, звуковые драйверы, драйверы управления питанием и т.д. в зависимости от конфигурации аппаратных средств.

[0041] Библиотеки 416 могут предоставлять общую инфраструктуру, которая может быть использована приложениями 420 и/или другими компонентами и/или уровнями. Библиотеки 416 типично предоставляют функциональность, которая предоставляет возможность другим модулям программного обеспечения выполнять задачи более легким образом по сравнению с непосредственным взаимодействием с нижележащей функциональностью операционной системы 414 (например, ядром 428, службами 430 и/или драйверами 432). Библиотеки 416 могут включать в себя системные библиотеки 434 (например, библиотеки стандарта C), которые могут предоставлять функции, такие как функции выделения памяти, функции обработки строк, математические функции и т.п.. Кроме того, библиотеки 416 могут включать в себя API-библиотеки 436, такие как мультимедийные библиотеки (например, библиотеки для поддержки представления и обработки различных мультимедийных форматов, таких как MPEG4, H.264, MP3, AAC, AMR, JPG и PNG), графические библиотеки (например, платформа OpenGL, которая может быть использована для визуализации 2D и 3D графического контента на дисплее), библиотеки баз данных (например, SQLite, которая может предоставлять различные функции реляционной базы данных), веб-библиотеки (например, WebKit, которая может предоставлять функциональность веб-просмотра) и т.п. Библиотеки 416 могут также включать в себя широкое множество других библиотек 438, чтобы предоставлять множество других API приложениям 420 и другим компонентам/модулям программного обеспечения.

[0042] Платформы 418 (также иногда называемые промежуточным программным обеспечением) предоставляют общую инфраструктуру более высокого уровня, которая может быть использована приложениями 420 и/или другими компонентами/модулями программного обеспечения. Например, платформы/промежуточное программное обеспечение 418 могут предоставлять различные функции графического пользовательского интерфейса (GUI), высокоуровневое управление ресурсами, высокоуровневые службы адресации и т.д. Платформы/промежуточное программное обеспечение 418 могут предоставлять широкий спектр других API, которые могут использоваться приложениями 420 и/или другими компонентами/модулями программного обеспечения, некоторые из которых могут быть особыми для конкретной операционной системы или платформы.

[0043] Приложения 420 включают в себя встроенные приложения 440 и/или сторонние приложения 442. Примеры типовых встроенных приложений 440 могут включать в себя, но не только, приложение адресной книги, приложение браузера, приложение для чтения книг, приложение определения местоположения, мультимедийное приложение, приложение обмена сообщениями и/или игровое приложение. Сторонние приложения 442 могут включать в себя приложение, разработанное с помощью комплекта для разработки программного обеспечения (SDK) Android™ или iOS™ субъектом, отличным от поставщика конкретной платформы, и может быть мобильным программным обеспечением, работающим в мобильной операционной системе, такой как iOS™, Android™, Windows® Phone или другие мобильные операционные системы. Сторонние приложения 442 могут использовать вызовы 424 API, предоставляемые мобильной операционной системой, такой как операционная система 414, чтобы обеспечивать функциональность, описанную в данном документе.

[0044] Приложения 420 могут использовать встроенные функции операционной системы (например, ядро 428, службы 430 и/или драйверы 432), библиотеки 416 или платформы/промежуточное программное обеспечение 418, чтобы создавать пользовательские интерфейсы для взаимодействия с пользователями системы. Альтернативно, или дополнительно, в некоторых системах взаимодействия с пользователем могут происходить через уровень представления, такой как уровень 444 представления. В этих системах "логика" приложения/модуля может быть отделена от аспектов приложения/модуля, который взаимодействует с пользователем.

[0045] Некоторые архитектуры программного обеспечения используют виртуальные машины. В примере на фиг. 4 это иллюстрируется посредством виртуальной машины 448. Виртуальная машина 448 создает программную среду, где приложения/модули могут выполняться, как если бы они выполнялись на аппаратной машине (такой как машина 500 на фиг. 5, например). Виртуальная машина 448 транслируется посредством операционной системы стримера (например, операционной системы 414 на фиг. 4) и типично, хотя не всегда, имеет монитор 446 виртуальной машины, который управляет работой виртуальной машины 448, также как взаимодействием с операционной системой стримера (например, операционной системой 414). Архитектура программного обеспечения выполняется в виртуальной машине 448, такой как операционная система (OS) 450, библиотеки 452, платформы 454, приложения 456 и/или уровень 458 представления. Эти уровни архитектуры программного обеспечения, выполняющейся в виртуальной машине 448, могут быть такими же, что и соответствующие уровни, описанные ранее, или могут быть другими.

[0046] Фиг. 5 - это блок-схема, иллюстрирующая компоненты машины 500, согласно некоторым примерным вариантам осуществления, приспособленные считывать инструкции с машиночитаемого носителя (например, машиночитаемого носителя хранения) и выполнять какой-либо один или более из способов, обсуждаемых в данном документе. В частности, фиг. 5 показывает схематичное представление машины 500 в примерной форме компьютерной системы, в которой инструкции 516 (например, программное обеспечение, программа, приложение, апплет, прикладная программа или другой исполняемый код) для инструктирования машине 500 выполнять какой-либо один или более из способов, обсуждаемых в данном документе, могут исполняться. По существу, инструкции 516 могут быть использованы для реализации модулей или компонентов, описанных в данном документе. Инструкции 516 преобразуют обычную, незапрограммированную машину 500 в особую машину 500, запрограммированную, чтобы выполнять описанные и иллюстрированные функции описанным образом. В альтернативных вариантах осуществления машина 500 работает как автономное устройство или может быть соединено (например, объединено в сеть) с другими машинами. В сетевом размещении машина 500 может работать в качестве сервера или клиентской машины в серверно-клиентском сетевом окружении, или в качестве одноранговой машины в одноранговом (или распределенном) сетевом окружении. Машина 500 может содержать, но не только, серверный компьютер, клиентский компьютер, персональный компьютер (PC), планшетный компьютер, портативный компьютер, нетбук, телевизионную приставку (STB), персональный цифровой помощник (PDA), развлекательную мультимедийную систему, сотовый телефон, смартфон, мобильное устройство, носимое устройство (например, интеллектуальные часы), устройство умного дома (например, интеллектуальный бытовой прибор), другие интеллектуальные устройства, подключенный к сети бытовой прибор, сетевой маршрутизатор, сетевой коммутатор, сетевой мост или любую машину, приспособленную для исполнения инструкций 516, последовательно или иным образом, которые указывают действия, которые должны быть предприняты машиной 500. Дополнительно, в то время как только единственная машина 500 иллюстрируется, термин "машина" должен также включать в себя совокупность машин, которые индивидуально или совместно исполняют инструкции 516, чтобы выполнять какой-либо один или более способов, обсуждаемых в данном документе.

[0047] Машина 500 может включать в себя процессоры 510, память 530 и компоненты 550 ввода/вывода (I/O), которые могут быть сконфигурированы, чтобы связываться друг с другом, например, через шину 502. В примерном варианте осуществления процессоры 510 (например, центральный процессор (CPU), процессор с сокращенным набором команд (RISC), процессор с полным набором команд (CISC), графический процессор (GPU), цифровой сигнальный процессор (DSP), специализированная интегральная схема (ASIC), радиочастотная интегральная схема (RFIC), другой процессор или любое подходящее их сочетание) могут включать в себя, например, процессор 512 и процессор 514, которые могут выполнять инструкции 516. Термин "процессор" предназначается, чтобы включать в себя многоядерный процессор, который может содержать два или более независимых процессора (иногда называемых "ядрами"), которые могут исполнять инструкции одновременно. Хотя фиг. 5 показывает множество процессоров, машина 500 может включать в себя единственный процессор с единственным ядром, единственный процессор с множеством ядер (например, многоядерный процессор), множество процессоров с одним ядром, множество процессоров с множеством ядер или любое их сочетание.

[0048] Память 530 может включать в себя память, такую как главная память 532, статическая память 534 или другое запоминающее устройство, и блок 536 хранения, оба доступны процессорам 510, например, через шину 502. Блок 536 хранения и память 532, 534 хранят инструкции 516, осуществляющие какой-либо один или более из способов или функций, описанных в данном документе. Инструкции 516 могут также постоянно находиться, полностью или частично, в памяти 532, 534, в блоке 536 хранения, по меньшей мере, в одном из процессоров 510 (например, в кэш-памяти процессора) или в любом подходящем их сочетании, во время их исполнения машиной 500. Соответственно, память 532, 534, блок 536 хранения и память процессоров 510 являются примерами машиночитаемых носителей.

[0049] Когда используется в данном документе, "машиночитаемый носитель" означает устройство, приспособленное хранить инструкции и данные временно или постоянно, и может включать в себя, но не только, оперативное запоминающее устройство (RAM), постоянное запоминающее устройство (ROM), буферную память, флеш-память, оптические носители, магнитные носители, кэш-память, другие типы запоминающего устройства (например, стираемое программируемое постоянное запоминающее устройство (EEPROM)), и/или любое подходящее их сочетание. Термин "машиночитаемый носитель" должен пониматься как включающий в себя единственный носитель или множество носителей (например, централизованную или распределенную базу данных или ассоциированные кэши и серверы), приспособленных хранить инструкции 516. Термин "машиночитаемый носитель" должен также пониматься как включающий в себя любой носитель, или сочетание множества носителей, который приспособлен для хранения инструкций (например, инструкций 516) для исполнения машиной (например, машиной 500), так что инструкции, когда исполняются посредством одного или более процессоров машины 500 (например, процессоров 510), инструктируют машине 500 выполнять какой-либо один или более способов, описанных в данном документе. Соответственно, "машиночитаемый носитель" ссылается на единственное запоминающее оборудование или устройство, также как "облачные" системы хранения или сети хранения, которые включают в себя множество оборудований или устройств хранения. Термин "машиночитаемый носитель" исключает сигналы как таковые.

[0050] Компоненты 550 ввода/вывода (I/O) могут включать в себя широкое множество компонентов, чтобы принимать входные данные, предоставлять выходные данные, создавать выходные данные, передавать информацию, обмениваться информацией, захватывать данные измерений, и т.д. Конкретные компоненты 550 ввода/вывода (I/O), которые включаются в конкретную машину, будут зависеть от типа машины. Например, переносные машины, такие как мобильные телефоны, вероятно будут включать в себя устройство сенсорного ввода или другие такие механизмы ввода, в то время как консольная серверная машина вероятно не будет включать в себя такое устройство сенсорного ввода. Будет понятно, что компоненты 550 ввода/вывода (I/O) могут включать в себя множество других компонентов, которые не показаны на фиг. 5. Компоненты 550 ввода/вывода (I/O) группируются согласно функциональности просто для упрощения последующего обсуждения, и группировка не является ни коим образом ограничивающей. В различных примерных вариантах осуществления компоненты 550 ввода/вывода (I/O) могут включать в себя компоненты 552 вывода и компоненты 554 ввода. Компоненты 552 вывода могут включать в себя визуальные компоненты (например, дисплей, такой как плазменная панель отображения (PDP), дисплей на светоизлучающих диодах (LED), жидкокристаллический дисплей (LCD), проектор или катодно-лучевую трубку (CRT)), акустические компоненты (например, динамики), тактильные компоненты (например, вибрационный мотор, резистивные механизмы), другие генераторы сигнала и т.д. Компоненты 554 ввода могут включать в себя буквенно-цифровые компоненты ввода (например, клавиатура, сенсорный экран, сконфигурированный, чтобы принимать буквенно-цифровой ввод, фотооптическая клавиатура или другие компоненты буквенно-цифрового ввода), указывающие компоненты ввода (например, мышь, сенсорная панель, трекбол, джойстик, датчик движения или другие указывающие инструменты), компоненты тактильного ввода (например, физическая кнопка, сенсорный экран, который предоставляет местоположение и/или усилие касаний или жесты касаний, или другие компоненты тактильного ввода), компоненты звукового ввода (например, микрофон) и т.п.

[0051] В других примерных вариантах осуществления компоненты 550 ввода/вывода (I/O) могут включать в себя биометрические компоненты 556, компоненты 558 движения, компоненты 560 окружения или позиционные компоненты 562 среди широкого множества других компонентов. Например, биометрические компоненты 556 могут включать в себя компоненты, чтобы обнаруживать выражения (например, жесты руками, выражения лица, голосовые выражения, жесты тела или отслеживание глаз), измерять биосигналы (например, давление крови, сердечный ритм, температуру тела, потение или мозговые волны), идентифицировать человека (например, голосовая идентификация, идентификация по сетчатке, лицевая идентификация, идентификация по отпечатку пальца или идентификация на основе электроэнцефалограммы), и т.п. Компоненты 558 движения могут включать в себя компоненты датчика ускорения (например, акселерометр), компоненты гравитационного датчика, компоненты датчика вращения (например, гироскопа), и т.д. Компоненты 560 окружающей среды могут включать в себя, например, компоненты датчика освещения (например, фотометр), компоненты датчика температуры (например, один или более термометров, которые обнаруживают окружающую температуру), компоненты датчика влажности, компоненты датчика давления (например, барометра), компоненты акустического датчика (например, один или более микрофонов, которые обнаруживают фоновый шум), компоненты датчика приближения (например, инфракрасные датчики, которые обнаруживают ближайшие объекты), газовые датчики (например, датчики обнаружения газа, чтобы обнаруживать концентрации опасных газов для безопасности или измерять загрязнения в атмосфере), или другие компоненты, которые могут предоставлять указания, измерения или сигналы, соответствующие окружающей физической среде. Позиционные компоненты 562 могут включать в себя компоненты датчика местоположения (например, компонент приемника системы глобального позиционирования (GPS)), компоненты датчика высоты (например, высотомеры или барометры, которые обнаруживают давление воздуха, из которого может быть получена высота над уровнем моря), компоненты датчика ориентации (например, магнетометры) и т.п.

[0052] Связь может быть реализована с помощью широкого множества технологий. Компоненты 550 ввода/вывода могут включать в себя компоненты 564 связи, функционирующие, чтобы соединять машину 500 с сетью 580 или устройствами 570 через соединение 582 и соединение 572, соответственно. Например, компоненты 564 связи могут включать в себя компонент сетевого интерфейса или другое подходящее устройство для взаимодействия с сетью 580. В дополнительных примерах компоненты 440 связи могут включать в себя компоненты проводной связи, компоненты беспроводной связи, компоненты сотовой связи, компоненты связи ближнего радиуса действия (NFC), компоненты Bluetooth® (например, Bluetooth® Low Energy), компоненты Wi-Fi® и другие компоненты связи, чтобы обеспечивать связь посредством других способов. Устройства 570 могут быть другой машиной или любым из широкого множества периферийных устройств (например, периферийным устройством, соединенным через универсальную последовательную шину (USB)).

[0053] Кроме того, компоненты 564 связи могут обнаруживать идентификаторы или включать в себя компоненты, функционирующие, чтобы обнаруживать идентификаторы. Например, компоненты 564 связи могут включать в себя компоненты считывателя метки радиочастотной идентификации (RFID), компоненты обнаружения интеллектуальной метки NFC, компоненты оптического считывателя (например, оптического датчика, чтобы обнаруживать одномерные штрих-коды, такие как штрих-код для универсального кода изделия (UPC), многомерные штрих-коды, такие как код быстрого реагирования (QR), код Aztec, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code, UCC RSS-2D штрих-код, и другие оптические коды), или компоненты акустического обнаружения (например, микрофоны, чтобы идентифицировать помеченные звуковые сигналы). Кроме того, множество информации может быть получено через компоненты 564 связи, такой как местоположение через геолокацию по протоколу Интернета (IP), местоположение через триангуляцию сигнала Wi-Fi®, местоположение через обнаружение маякового сигнала NFC, который может указывать конкретное местоположение, и т.д.

[0054] Хотя обзор предмета изобретения был описан со ссылкой на конкретные примерные варианты осуществления, различные модификации и изменения могут быть выполнены в этих вариантах осуществления без отступления от более широких рамок вариантов осуществления настоящего изобретения. Такие варианты осуществления предмета изобретения могут быть упомянуты в данном документе, индивидуально или совокупно, посредством термина "изобретение" просто для удобства и без намерения умышленно ограничивать рамки этой заявки каким-либо одним описанием или идеей изобретения, если более одной, в действительности, описывается.

[0055] Варианты осуществления, иллюстрированные в данном документе, описываются достаточно подробно, чтобы предоставлять возможность специалистам в области техники применять на практике описанные учения. Другие варианты осуществления могут быть использованы и получены из них, так что структурные и логические замены и изменения могут быть выполнены без отступления от рамок этого изобретения. Подробное описание, следовательно, не должно пониматься в ограничивающем смысле, и рамки различных вариантов осуществления определяются только посредством прилагаемой формулы изобретения, вместе с полным диапазоном эквивалентов, которым такая формула изобретения предоставляет право.

[0056] Когда используется в данном документе, термин "или" может толковаться либо в инклюзивном, либо эксклюзивном смысле. Кроме того, множество экземпляров может быть предусмотрено для ресурсов, операций или структур, описанных в данном документе в качестве единственного экземпляра. Дополнительно, границы между различными ресурсами, операциями, модулями, механизмами и хранилищами данных являются отчасти произвольными, и конкретные операции иллюстрируются в контексте конкретных иллюстративных конфигураций. Другие назначения функциональности представляются и могут попадать в рамки различных вариантов осуществления настоящего изобретения. В целом структуры и функциональность, представленные как отдельные ресурсы в примерных конфигурациях, могут быть реализованы как объединенная структура или ресурс. Аналогично, структуры и функциональность, представленные как один ресурс, могут быть реализованы как отдельные ресурсы. Эти и другие вариации, модификации, дополнения и улучшения попадают в рамки вариантов осуществления настоящего изобретения, которые представлены посредством прилагаемой формулы изобретения. Спецификация и чертежи, соответственно, должны рассматриваться скорее в иллюстративном, чем в ограничивающем смысле.


СИСТЕМЫ И СПОСОБЫ ДЛЯ СОЗДАНИЯ, ТРАНСЛЯЦИИ И ПРОСМОТРА 3D-КОНТЕНТА
СИСТЕМЫ И СПОСОБЫ ДЛЯ СОЗДАНИЯ, ТРАНСЛЯЦИИ И ПРОСМОТРА 3D-КОНТЕНТА
СИСТЕМЫ И СПОСОБЫ ДЛЯ СОЗДАНИЯ, ТРАНСЛЯЦИИ И ПРОСМОТРА 3D-КОНТЕНТА
СИСТЕМЫ И СПОСОБЫ ДЛЯ СОЗДАНИЯ, ТРАНСЛЯЦИИ И ПРОСМОТРА 3D-КОНТЕНТА
СИСТЕМЫ И СПОСОБЫ ДЛЯ СОЗДАНИЯ, ТРАНСЛЯЦИИ И ПРОСМОТРА 3D-КОНТЕНТА
СИСТЕМЫ И СПОСОБЫ ДЛЯ СОЗДАНИЯ, ТРАНСЛЯЦИИ И ПРОСМОТРА 3D-КОНТЕНТА
СИСТЕМЫ И СПОСОБЫ ДЛЯ СОЗДАНИЯ, ТРАНСЛЯЦИИ И ПРОСМОТРА 3D-КОНТЕНТА
СИСТЕМЫ И СПОСОБЫ ДЛЯ СОЗДАНИЯ, ТРАНСЛЯЦИИ И ПРОСМОТРА 3D-КОНТЕНТА
СИСТЕМЫ И СПОСОБЫ ДЛЯ СОЗДАНИЯ, ТРАНСЛЯЦИИ И ПРОСМОТРА 3D-КОНТЕНТА
СИСТЕМЫ И СПОСОБЫ ДЛЯ СОЗДАНИЯ, ТРАНСЛЯЦИИ И ПРОСМОТРА 3D-КОНТЕНТА
Источник поступления информации: Роспатент
+ добавить свой РИД