СПОСОБ СОЗДАНИЯ СИНТЕТИЧЕСКОГО ИЗОБРАЖЕНИЯ
SYNTHETIC IMAGE CREATING METHOD

ОБЛАСТЬ ТЕХНИКИ
[01] Настоящая технология относится к способам и системам обработки изображений и создания синтетических изображений.
УРОВЕНЬ ТЕХНИКИ
[02] В условиях существования персональных компьютеров и новых разработок в области программного обеспечения и цифровой фотографии стало гораздо проще делать панорамные снимки. Пользуясь подходящими фотоаппаратами (камерами) и аксессуарами для панорамных съемок, теперь можно создавать практически идеальные панорамы в исключительно высоком разрешении. Некоторые фотографы могут создавать поистине грандиозные «гигапиксельные» панорамы. Сегодня цифровая панорамная фотография достаточно популярна и общепризнана не только среди пейзажных фотографов, а также среди фотографов, специализирующихся на городских видах и съемках архитектуры. В других примерах панорамные фотографии могут использоваться в картографических сервисах, например, для работы таких режимов карт как «просмотр изображений улиц» ("street view") в картах GOOGLE™.
[03] В общем случае панорамная съемка может быть осуществлена с помощью множества способов и устройств. Например, для панорамной съемки может использоваться камера с изогнутой линзой в объективе, причем эта камера способна осуществлять короткий или полный оборот объектива, чтобы сделать снимок. В других примерах панорамные фотографии может снимать камера с фиксированным фокусом, с использованием различных техник, например, техники сегментации. Кроме того, для панорамной съемки могут использоваться катадиоптрические и 3D-камеры.
[04] Однако при создании панорамных фотографий может возникнуть множество проблем или ошибок, например, вертикальные полосы, следы наложения кадров, двоение, ошибки при наложении кадров, сдвиг цветов, искривление горизонта и так далее. Например, основная причина двоения - это движение между кадрами. Другими словами, двоение может возникнуть тогда, когда объект, находящийся в зоне наложения (область, где накладываются два кадра) переместился после съемки первого кадра и перед съемкой второго. Перемещающийся объект может быть машиной, облаком, человеком и так далее.
[05] Следовательно, некоторые фотографии могут быть сняты с ошибками или шумом, вызванными тем фактом, что объект изменил свое первоначальное положение в первом кадре на другое положение во втором кадре. На текущий момент такие ошибки, вызванные ошибкой при воспроизведении положения объекта в серии последовательных изображений, исправляются с помощью исключения испорченных изображений из набора отснятых фотографий.
РАСКРЫТИЕ
[06] Задачей предлагаемого технического решения является устранение по меньшей мере некоторых недостатков, присущих известному уровню техники.
[07] Варианты осуществления настоящей технологии были разработаны с учетом изобретательского понимания по меньшей мере одной проблемы, связанной с известным уровнем техники. Не желая склоняться к какой-то конкретной теории, разработчики настоящей технологии считают, что исключение определенных «испорченных» изображений может привести к отсутствию в итоговом панорамном изображении ценных/важных данных.
[08] Кроме того, разработчики настоящей технологии выяснили, что замещение и/или добавление синтетических изображений в набор отснятых изображений может дать возможность извлечь ценные/важные данные, которые иначе оказались бы недоступны.
[09] Одним объектом настоящей технологии является способ создания синтетических изображений; способ выполняется на сервере. Способ может включать в себя получение сервером первых данных, связанных с первым изображением, и вторых данных, связанных со вторым изображением. Первые данные включают в себя первые пиксели и отметку о времени, а вторые данные включают в себя вторые пиксели и вторую отметку о времени. Первое изображение и второе изображение изображает общий объект. Способ может включать в себя определение сервером действительного положения первых пикселей общего объекта в пределах первых пикселей и действительного положения вторых пикселей общего объекта в пределах вторых пикселей. Первые пиксели общего объекта и вторые пиксели общего объекта связаны с общим объектом в первом изображении и втором изображении соответственно. Способ может включать в себя определение сервером информации о движении общего объекта на основе действительного положения первых пикселей общего объекта и действительного положения вторых пикселей общего объекта, первой отметки времени и второй отметки времени. Информация о движении общего объекта представляет собой шаблон движения общего объекта между положением общего объекта в первом изображении и положением общего объекта во втором изображении. Способ может включать в себя получение сервером третьих данных, связанных с третьим изображением, причем третьи данные включают в себя третьи пиксели и третью отметку о времени, и где третье изображение изображает общий объект. Способ может включать в себя определение сервером действительного положения третьих пикселей общего объекта в пределах третьих пикселей, причем третьи пиксели общего объекта связаны с общим объектом на третьем изображении. Способ может включать в себя определение сервером предполагаемого положения третьих пикселей общего объекта в пределах третьих пикселей, на основе информации о движении общего объекта, третьей отметки времени и третьих пикселей. Способ может включать в себя определение сервером того, совпадает ли действительное положение третьих пикселей общего объекта и предполагаемое положение третьих пикселей общего объекта. Способ может включать в себя, в ответ на несовпадение действительного положения третьих пикселей общего объекта и предполагаемого положения третьих пикселей общего объекта, создание сервером синтетического изображения на основе третьего изображения и по меньшей мере либо первого изображения, либо второго изображения, причем это синтетическое изображение включает в себя по меньшей мере третьи пиксели общего объекта и пиксели коррекции. Создание синтетического изображения может включать в себя назначение сервером третьих пикселей общего объекта предполагаемому положению третьих пикселей общего объекта в пределах синтетического изображения. Создание синтетического изображения может включать в себя определение сервером положений пикселей коррекции и пикселей коррекции на основе действительного положения третьих пикселей общего объекта и по меньшей мере либо первого изображения, либо второго изображения. Создание синтетического изображения может включать в себя назначение сервером пикселей коррекции положениям пикселей коррекции в пределах синтетического изображения.
[10] В некоторых вариантах осуществления способа по меньшей мере некоторые из положений пикселей коррекции являются по меньшей мере положениями некоторых пикселей в пределах действительного положения третьих пикселей общего объекта в пределах третьего изображения.
[11] В некоторых вариантах осуществления способа, когда первое изображение, второе изображение и третьего изображение отсняты двигающейся камерой, и когда первые данные, вторые данные и третьи данные получены сервером от камеры, способ может дополнительно включать в себя получение сервером информации о движении камеры, причем информация связана с движением камеры. Информация о движении общего объекта может быть также основана на информации о движении камеры.
[12] В некоторых вариантах осуществления способа по меньшей мере одно из первого изображения, второго изображения, третьего изображения или синтетического изображения является панорамным изображением.
[13] В некоторых вариантах осуществления способа способ может дополнительно включать в себя, в ответ на несовпадение действительного положения третьих пикселей общего объекта и предполагаемого положения третьих пикселей общего объекта, определение сервером того, что мгновенное значение скорости общего объекта в момент времени, соответствующий третьей отметке времени, отличается от мгновенного значения скорости общего объекта в момент времени, соответствующий второй отметке времени. Способ может дополнительно включать в себя сохранение сервером мгновенного значения скорости общего объекта в момент времени, соответствующий третьей отметке времени, и мгновенного значения скорости общего объекта в момент времени, соответствующий второй отметке времени.
[14] В некоторых вариантах осуществления способа, в которых первое изображение и второе изображение также изображают, в дополнение к общему объекту, другой объект, способ может включать в себя определение сервером действительного положения первых пикселей общего объекта в пределах первых пикселей, и действительного положения вторых пикселей общего объекта в пределах вторых пикселей, причем первые пиксели общего объекта и вторые пиксели общего объекта связаны с общим объектом в первом изображении и втором изображении, соответственно. Способ может включать в себя определение сервером действительного положения первых пикселей другого объекта в пределах первых пикселей, и действительного положения вторых пикселей другого объекта в пределах вторых пикселей, причем первые пиксели другого объекта и вторые пиксели другого объекта связаны с другим объектом в первом изображении и втором изображении, соответственно. Способ может включать в себя определение сервером информации о движении общего объекта на основе действительного положения первых пикселей общего объекта в пределах первых пикселей и действительного положения вторых пикселей общего объекта, первой отметки времени и второй отметки времени. Способ может включать в себя определение сервером информации о движении другого объекта на основе действительного положения первых пикселей другого объекта в пределах первых пикселей и действительного положения вторых пикселей другого объекта, первой отметки времени и второй отметки времени. Способ может включать в себя определение сервером статуса движения общего объекта на основе информации о движении общего объекта. Способ может включать в себя определение сервером статуса движения другого объекта на основе информации о движении другого объекта.
[15] В некоторых вариантах осуществления способа, в которых в ответ на тот факт, что статус движения общего объекта является динамическим, способ может дополнительно включать в себя определение сервером предполагаемого положения третьих пикселей общего объекта в пределах третьих пикселей, на основе информации о движении общего объекта, третьей отметки времени и третьих пикселей. Способ может дополнительно включать в себя определение сервером того, совпадает ли действительное положение третьих пикселей общего объекта и предполагаемое положение третьих пикселей общего объекта. Способ может дополнительно включать в себя, в ответ на несовпадение действительного положения третьих пикселей общего объекта и предполагаемого положения третьих пикселей общего объекта, создание сервером синтетического изображения на основе третьего изображения и по меньшей мере либо первого изображения, либо второго изображения, причем это синтетическое изображение может включать в себя по меньшей мере третьи пиксели общего объекта и пиксели коррекции. Создание может включать в себя назначение сервером третьих пикселей общего объекта предполагаемому положению третьих пикселей общего объекта в пределах синтетического изображения. Создание может включать в себя определение сервером положений пикселей коррекции и пикселей коррекции на основе действительного положения третьих пикселей общего объекта и по меньшей мере либо первого изображения, либо второго изображения. Создание может включать в себя назначение сервером пикселей коррекции положениям пикселей коррекции в пределах синтетического изображения. В ответ на тот факт, что статус движения другого объекта является динамическим, способ может дополнительно включать в себя определение сервером предполагаемого положения третьих пикселей другого объекта в пределах третьих пикселей, на основе информации о движении другого объекта, третьей отметки времени и третьих пикселей. Способ может дополнительно включать в себя определение сервером того, совпадает ли действительное положение третьих пикселей другого объекта и предполагаемое положение третьих пикселей другого объекта. Способ может дополнительно включать в себя, в ответ на несовпадение действительного положения третьих пикселей другого объекта и предполагаемого положения третьих пикселей другого объекта, создание сервером синтетического изображения на основе третьего изображения и по меньшей мере либо первого изображения, либо второго изображения, причем это синтетическое изображение может включать в себя по меньшей мере третьи пиксели другого объекта и другие пиксели коррекции. Создание может включать в себя назначение сервером третьих пикселей другого объекта предполагаемому положению третьих пикселей другого объекта в пределах синтетического изображения. Создание может включать в себя определение сервером положений других пикселей коррекции и других пикселей коррекции на основе действительного положения третьих пикселей другого изображения и по меньшей мере либо первого изображения, либо второго изображения. Создание может включать в себя назначение сервером других пикселей коррекции положениям других пикселей коррекции в пределах синтетического изображения.
[16] В некоторых вариантах осуществления способа способ может дополнительно включать в себя определение сервером новой частоты съемки изображений на основе информации о движении общего объекта. Способ может дополнительно включать в себя отправку сервером указания на новую частоту съемки изображений камере. Способ может дополнительно включать в себя съемку камерой новых изображений в соответствии с новой частотой съемки изображений.
[17] В некоторых вариантах осуществления способа определение новой частоты съемки изображений может включать в себя повышение частоты съемки изображений в ответ на то, что мгновенное значение скорости общего объекта в момент времени, соответствующий второй отметке времени, превышает порог мгновенного значения скорости. А также определение новой частоты съемки изображений может включать в себя понижение частоты съемки изображений в ответ на то, что мгновенное значение скорости общего объекта в момент времени, соответствующий второй отметке времени, находится ниже порога мгновенного значения скорости.
[18] В некоторых вариантах осуществления способа создание синтетического изображения может включать в себя выполнение сервером процедуры создания синтетического изображения. Процедура создания синтетического изображения может включать в себя создание сервером первого, второго и третьего отрисованного вида синтетического изображения.
[19] В некоторых вариантах осуществления способа выполнение процедуры создания синтетического изображения может включать в себя выполнение сервером процедуры верификации коррекции.
[20] В некоторых вариантах осуществления способа определение действительного положения первых пикселей общего объекта, действительного положения вторых пикселей общего объекта и действительного положения третьих пикселей общего объекта может включать в себя выполнение сервером техники распознавания объекта.
[21] Другим объектом настоящей технологии является система создания синтетических изображений; система включает в себя камеру, клиентское устройство и сервер. Система выполнена с возможностью получения сервером от камеры первых данных, связанных с первым изображением, и вторых данных, связанных со вторым изображением, причем первые данные включают в себя первые пиксели и первую отметку времени, и вторые данные включают в себя вторые пиксели и вторую отметку времени. Первое изображение и второе изображение изображают общий объект. Система выполнена с возможностью определения сервером действительного положения первых пикселей общего объекта в пределах первых пикселей, и действительного положения вторых пикселей общего объекта в пределах вторых пикселей, причем первые пиксели общего объекта и вторые пиксели общего объекта связаны с общим объектом в первом изображении и втором изображении, соответственно. Система выполнена с возможностью определения сервером информации о движении общего объекта на основе действительного положения первых пикселей общего объекта и действительного положения вторых пикселей общего объекта, первой отметки времени и второй отметки времени, причем информация о движении общего объекта представляет собой шаблон движения общего объекта между положением общего объекта на первом изображении и положением общего объекта на втором изображении. Система может быть выполнена с возможностью получения сервером от камеры третьих данных, связанных с третьим изображением, причем третьи данные включают в себя третьи пиксели и третью отметку о времени, и где третье изображение изображает общий объект. Система может быть выполнена с возможностью определения сервером действительного положения третьих пикселей общего объекта в пределах третьих пикселей, причем третьи пиксели общего объекта связаны с общим объектом на третьем изображении. Система может быть выполнена с возможностью определения сервером предполагаемого положения третьих пикселей общего объекта в пределах третьих пикселей, на основе информации о движении общего объекта, третьей отметки времени и третьих пикселей. Система может быть выполнена с возможностью определения сервером того, совпадает ли действительное положение третьих пикселей общего объекта и предполагаемое положение третьих пикселей общего объекта. Система может быть выполнена с возможностью, в ответ на несовпадение действительного положения третьих пикселей общего объекта и предполагаемого положения третьих пикселей общего объекта, создания сервером синтетического изображения на основе третьего изображения и по меньшей мере либо изображения, либо второго изображения, причем это синтетическое изображение включает в себя по меньшей мере третьи пиксели общего объекта и пиксели коррекции. Для создания синтетического изображения система может быть выполнена с возможностью назначения сервером третьих пикселей общего объекта предполагаемому положению третьих пикселей общего объекта в пределах синтетического изображения. Для создания синтетического изображения система может быть выполнена с возможностью определения сервером положений пикселей коррекции и пикселей коррекции на основе действительного положения третьих пикселей общего объекта и по меньшей мере либо первого изображения, либо второго изображения. Для создание синтетического изображения система может быть выполнена с возможностью назначения сервером пикселей коррекции положениям пикселей коррекции в пределах синтетического изображения. Система выполнена с возможностью отправки сервером на клиентское устройство по меньшей мере либо первого изображения, либо второго изображения, либо синтетического изображения для отображения по меньшей мере либо первого изображения, либо второго изображения, либо синтетического изображения пользователю клиентского устройства.
[22] Дополнительным объектом настоящей технологии является сервер для создания синтетических изображений; сервер включает в себя процессор для исполнения машиночитаемых инструкций. Процессор выполнен с возможностью получения сервером первых данных, связанных с первым изображением, и вторых данных, связанных со вторым изображением, причем первые данные включают в себя первые пиксели и первую отметку времени, и вторые данные включают в себя вторые пиксели и вторую отметку времени. Первое изображение и второе изображение изображают общий объект. Процессор выполнен с возможностью определения действительного положения первых пикселей общего объекта в пределах первых пикселей, и действительного положения вторых пикселей общего объекта в пределах вторых пикселей, причем первые пиксели общего объекта и вторые пиксели общего объекта связаны с общим объектом в первом изображении и втором изображении, соответственно. Процессор выполнен с возможностью определения информации о движении общего объекта на основе действительного положения первых пикселей общего объекта в пределах первых пикселей и действительного положения вторых пикселей общего объекта, первой отметки времени и второй отметки времени, причем информация о движении общего объекта представляет собой шаблон движения общего объекта между положением общего объекта на первом изображении и положением общего объекта на втором изображении. Процессор выполнен с возможностью получения третьих данных, связанных с третьим изображением, причем третьи данные включают в себя третьи пиксели и третью отметку о времени, и где третье изображение изображает общий объект. Процессор выполнен с возможностью определения действительного положения третьих пикселей общего объекта в пределах третьих пикселей, причем третьи пиксели общего объекта связаны с общим объектом на третьем изображении. Процессор выполнен с возможностью определения предполагаемого положения третьих пикселей общего объекта в пределах третьих пикселей, на основе информации о движении общего объекта, третьей отметки времени и третьих пикселей. Процессор выполнен с возможностью определения того, совпадает ли действительное положение третьих пикселей общего объекта и предполагаемое положение третьих пикселей общего объекта. Процессор выполнен с возможностью, в ответ на несовпадение действительного положения третьих пикселей общего объекта и предполагаемого положения третьих пикселей общего объекта, создания синтетического изображения на основе третьего изображения и по меньшей мере либо первого изображения, либо второго изображения, причем это синтетическое изображение включает в себя по меньшей мере третьи пиксели общего объекта и пиксели коррекции. Для создания синтетического изображения процессор выполнен с возможностью назначения третьих пикселей общего объекта предполагаемому положению третьих пикселей общего объекта в пределах синтетического изображения. Для создания синтетического изображения процессор выполнен с возможностью определения положений пикселей коррекции и пикселей коррекции на основе действительного положения третьих пикселей общего объекта и по меньшей мере либо первого изображения, либо второго изображения. Для создания синтетического изображения процессор выполнен с возможностью назначения сервером пикселей коррекции положениям пикселей коррекции в пределах синтетического изображения.
[23] В контексте настоящего описания, если конкретно не указано иное, «сервер» подразумевает под собой компьютерную программу, работающую на соответствующем оборудовании, которая способна получать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или инициировать выполнение этих запросов. Оборудование может представлять собой один физический компьютер или одну физическую компьютерную систему, но ни то, ни другое не является обязательным для данного технического решения. В контексте настоящей технологии использование выражения «сервер» не означает, что каждая задача (например, полученные команды или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же сервером (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами; оба варианта включены в выражение «по меньшей мере один сервер».
[24] В контексте настоящего описания, если конкретно не указано иное, «клиентское устройство» подразумевает под собой аппаратное устройство, способное работать с программным обеспечением, подходящим к решению соответствующей задачи. Примерами клиентских устройств, среди прочего, являются персональные компьютеры (настольные компьютеры, ноутбуки и т.д.), смартфоны и планшеты. Следует иметь в виду, что устройство, ведущее себя как клиентское устройство в настоящем контексте, может вести себя как сервер по отношению к другим клиентским устройствам. Использование выражения «клиентское устройство» не исключает возможности использования множества клиентских устройств для получения/отправки, выполнения или инициирования выполнения любой задачи или запроса, или же последствий любой задачи или запроса, или же этапов любого вышеописанного способа.
[25] В контексте настоящего описания, если конкретно не указано иное, термин «база данных» подразумевает под собой любой структурированный набор данных, не зависящий от конкретной структуры, программного обеспечения по управлению базой данных, аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом оказываются доступны для использования. База данных может находиться на том же оборудовании, выполняющем процесс, на котором хранится или используется информация, хранящаяся в базе данных, или же база данных может находиться на отдельном оборудовании, например, выделенном сервере или множестве серверов.
[26] В контексте настоящего описания, если конкретно не указано иное, термин «компонент» подразумевает под собой программное обеспечение (соответствующее конкретному аппаратному контексту), которое является необходимым и достаточным для выполнения конкретной(ых) указанной(ых) функции(й).
[27] В контексте настоящего описания, если конкретно не указано иное, термин «используемый компьютером носитель компьютерной информации» подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д.
[28] В контексте настоящего описания, если конкретно не указано иное, термин «интерактивный» подразумевает под собой, что нечто (или по меньшей мере его часть) может реагировать на пользовательский ввод.
[29] В контексте настоящего описания, если четко не указано иное, «указание» информационного элемента может представлять собой сам информационный элемент или указатель, отсылку, ссылку или другой косвенный способ, позволяющий получателю указания найти сеть, память, базу данных или другой машиночитаемый носитель, из которого может быть извлечен информационный элемент. Например, указание файла может включать в себя сам файл (т.е. его содержимое), или же оно может являться уникальным дескриптором файла, идентифицирующим файл по отношению к конкретной файловой системе, или какими-то другими средствами передавать получателю указание на сетевую папку, адрес памяти, таблицу в базе данных или другое место, в котором можно получить доступ к файлу. Как будет понятно специалистам в данной области техники, степень точности, необходимая для такого указания, зависит от степени первичного понимания того, как должна быть интерпретирована информация, которой обмениваются получатель и отправитель указания. Например, если до передачи данных между отправителем и получателем понятно, что указание информационного элемента принимает вид ключа базы данных для записи в конкретной таблице заранее установленной базы данных, включающей в себя информационный элемент, то передача ключа базы данных - это все, что необходимо для эффективной передачи информационного элемента получателю, несмотря на то, что сам по себе информационный элемент не передавался между отправителем и получателем указания. Каждый вариант осуществления настоящей технологии преследует по меньшей мере одну из вышеупомянутых целей и/или объектов, но наличие всех не является обязательным. Следует иметь в виду, что некоторые объекты данного технического решения, полученные в результате попыток достичь вышеупомянутой цели, могут не удовлетворять этой цели и/или могут удовлетворять другим целям, отдельно не указанным здесь.
[30] Дополнительные и/или альтернативные характеристики, аспекты и преимущества вариантов осуществления настоящего технического решения станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[31] Для лучшего понимания настоящего технического решения, а также других ее аспектов и характерных черт, сделана ссылка на следующее описание, которое должно использоваться в сочетании с прилагаемыми чертежами, где:
[32] На ФИГ. 1 изображена схема системы, в которой можно выполнить по меньшей мере некоторые функции, предусмотренные в некоторых вариантах осуществления настоящей технологии.
[33] На ФИГ. 2 изображено множество кластеров данных, которые могут входить в состав пакета данных камеры, причем этот пакет отправляется с камеры, изображенной на ФИГ. 1, серверу, изображенному на ФИГ. 1, в некоторых вариантах осуществления настоящей технологии.
[34] На ФИГ. 3 изображено первое изображение, второе изображение и третье изображение, отснятые и записанные камерой, изображенной на ФИГ. 1, в первом сценарии, и синтетическое изображение, созданное сервером, изображенным на ФИГ. 1, в некоторых вариантах осуществления настоящей технологии.
[35] На ФИГ. 4 изображена процедура создания синтетического изображения, выполняемая сервером, изображенным на ФИГ. 1, для создания синтетического изображения, изображенного на ФИГ. 3, в некоторых вариантах осуществления настоящей технологии.
[36] На ФИГ. 5 изображен альтернативный вариант осуществления настоящей технологии, в котором камера, изображенная на ФИГ. 1, находится в движении.
[37] На ФИГ. 6 изображено первое изображение, второе изображение и третье изображение, отснятые и записанные камерой, изображенной на ФИГ. 1, во втором сценарии, и синтетическое изображение, созданное сервером, изображенным на ФИГ. 1, в некоторых вариантах осуществления настоящей технологии.
[38] На ФИГ. 7 изображена блок-схема способа создания синтетического изображения, которая предусмотрена некоторыми вариантами осуществления настоящей технологии.
ОСУЩЕСТВЛЕНИЕ
[39] На Фиг. 1 схематически изображена система 100, которая функционально соединена по сети 110 передачи данных, как предусмотрено некоторыми вариантами осуществления настоящей технологии. Важно иметь в виду, что нижеследующее описание системы 100 представляет собой описание показательных вариантов осуществления настоящего технического решения. Таким образом, следующее описание должно рассматриваться только как описание иллюстративного варианта осуществления настоящего технического решения. Это описание не предназначено для определения объема или установления границ настоящего технического решения. Некоторые полезные примеры модификаций системы 100 также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании, а не определение объема и границ настоящего технического решения. Эти модификации не представляют собой исчерпывающий список, и специалистам в данной области техники будет понятно, что возможны и другие модификации. Кроме того, те случаи, в которых не были представлены примеры модификаций, не должны интерпретироваться как то, что никакие модификации невозможны, и/или что то, что было описано, является единственным вариантом осуществления этого элемента настоящего технического решения. Как будет понятно специалисту в данной области техники, это, скорее всего, не так. Кроме того, следует иметь в виду, что система 100 представляет собой в некоторых конкретных проявлениях достаточно простой вариант осуществления настоящего технического решения, и в подобных случаях этот вариант представлен здесь с целью облегчения понимания. Как будет понятно специалисту в данной области техники, многие варианты осуществления настоящего технического решения будут обладать гораздо большей сложностью.
[40] В некоторых вариантах осуществления настоящей технологии система 100 может включать в себя клиентское устройство 102, связанное с пользователем 104, сервером 106, базой данных 108, камерой 112 и GPS-спутником 114; все эти элементы будут описаны ниже в некоторых примерах вариантов осуществления настоящей технологии. Как показано на ФИГ. 1, клиентское устройство 102, сервер 106 и камера 112 функционально соединены по сети 110.
[41] Реализация функционального соединения по сети 110 никак конкретно не ограничена и будет зависеть от того, какие устройства подключены к сети 110. В качестве примера, не ограничивающего объем технологии, соединение сервера 106 с сетью 110 может быть выполнено с помощью проводного соединения (например, соединение на основе сети Ethernet). В то же время другие устройства могут быть соединены другим способом. В тех примерах, где клиентское устройство 102 представляет собой беспроводное устройство связи (например, смартфон), соединение представляет собой беспроводную сеть передачи данных (например, среди прочего, линию передачи данных 3G, линию передачи данных 4G, беспроводной интернет Wireless Fidelity или коротко WiFi, Bluetooth и т.п.) В тех примерах, где клиентское устройство 102 представляет собой настольный компьютер, линия передачи данных может быть как беспроводной, так и проводной (соединение на основе сети Ethernet).
[42] Как упоминалось выше, система 100 может включать в себя сервер 106. Сервер 106 может представлять собой обычный компьютерный сервер. В примере варианта осуществления настоящего технического решения, сервер 106 может представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Microsoft™ Windows Server™. Излишне говорить, что сервер 106 может представлять собой любое другое подходящее аппаратное и/или прикладное программное, и/или системное программное обеспечение или их комбинацию. В представленном варианте осуществления настоящего технического решения, не ограничивающем ее объем, сервер 106 является одиночным сервером. В других вариантах осуществления настоящего технического решения, не ограничивающих ее объем, функциональность сервера 106 может быть разделена и может выполняться с помощью нескольких серверов. В некоторых вариантах осуществления настоящей технологии сервер 106 может быть выполнен с возможностью хранить машиночитаемые инструкции, при выполнении которых может происходить выполнение и/или осуществление некоторых или всех функций настоящей технологии.
[43] Варианты осуществления сервера 106 хорошо известны. Таким образом, достаточно отметить, что сервер 106 может включать в себя, среди прочего, интерфейс сетевой связи (например, модем, сетевую карту и тому подобное) для двусторонней связи по сети 110; и процессор (не изображен), соединенный с интерфейсом сетевой связи, который выполнен с возможностью выполнять различные процедуры, включая те, что описаны ниже. Для этого процессор может хранить машиночитаемые инструкции и/или иметь доступ к машиночитаемым инструкциям, упомянутым выше.
[44] Как показано на ФИГ. 1, база данных 108 функционально соединена с сервером 106, но в альтернативных вариантах осуществления настоящей технологии база данных 108 может быть функционально соединена с сервером 106 по сети 110, это не выходит за границы настоящей технологии. Хотя база данных 108 показана схематически как один объект, предусматривается, что база данных 108 может быть распределена, например, база данных 128 может иметь разные компоненты, каждый из которых выполнен с возможностью конкретного типа извлечения из них или сохранения в них. База данных 108 может быть структурированным набором данных, не зависящий от конкретной структуры или аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом оказываются доступны для использования. База данных 108 может находиться на том же оборудовании, выполняющем процесс, на котором хранится или используется информация, хранящаяся в базе данных 108, или же база данных 108 может находиться на отдельном оборудовании, например, сервере 106. В общем случае база данных 108 может получать данные от сервера 106 для их сохранения и может предоставлять сохраненные данные серверу 106 для их использования.
[45] Как изображено на ФИГ. 1, клиентское устройство 102 связано с пользователем 104. Однако клиентское устройство 102, связанное с пользователем 104, не подразумевает необходимости входа в систему пользователем 104. Аппаратная реализация клиентского устройства 102 никак конкретно не ограничена. Клиентское устройство 102 может, в качестве не ограничивающего примера, представлять собой настольный компьютер, ноутбук, смартфон (например, Apple iPhoneTM или Samsung Galaxy S5TM), персональный цифровой органайзер (PDA) или другое устройство, включающее в себя функциональность вычисления и возможности передачи данных. Клиентское устройство 102 может включать в себя среди прочего внутренние аппаратные компоненты, такие как один или несколько одно- или многоядерных процессоров, которые все вместе упоминаются здесь как процессор (не изображен), ОЗУ (не изображено), и сетевой интерфейс (не изображен) для функционального подключения к сети 110.
[46] В некоторых вариантах осуществления технологии клиентское устройство 102 может быть выполнено с возможностью реализовать браузерное приложение (не изображено). В общем случае, задачей браузерного приложения является предоставление пользователю 104, связанному с клиентским устройством 102, доступа к одному или нескольким веб-ресурсам. Реализация браузерного приложения 103 никак конкретно не ограничена. Например, браузерное приложение может быть реализовано как браузер Яндекс (Yandex™). В других вариантах осуществления технологии один или несколько ресурсов, на которые пользователь 104 совершает доступ, могут храниться на сервере 106. Например, в ответ на то, что пользователь 104 желает осуществить доступ к одному или нескольким ресурсам, хранящимся на сервере 106, через браузерное приложение, клиентское устройство 102 может быть выполнено с возможностью отправлять запрос 150 на сервер 106 по сети 110. В ответ на получение запроса 150 сервер 106 может быть выполнен с возможностью создавать и отправлять пакет 160 клиентских данных клиентскому устройству 102 по сети 110. Пакет 160 клиентских данных и его содержимое будут описаны ниже.
[47] Как изображено на ФИГ. 1, камера 112, которая может включать в себя оптический сенсор (например, прибор с зарядовой связью (ПЗС) или комплементарную структуру металл-оксид-полупроводник (КМОП) сенсора изображений), для упрощения функций камеры, например, съемки фотографий, видео и так далее. В общем случае камера 112 может быть любым оптическим инструментом для съемки изображений, которые могут храниться локально, передаваться в другое место, или и то, и другое. Записанные и/или отснятые камерой 112 изображения могут быть индивидуальными фотоснимками или последовательностью изображений, которые можно охарактеризовать как видео. Как будет понятно специалистам в данной области техники, камера 112 может записывать и/или снимать изображения в видимом спектре и/или в других частях электромагнитного спектра. Излишне упоминать, что камера 112 может быть любым оптическим устройством, которое создает единственное изображение объекта, кадр или их комбинацию, и записывает его на электронный датчик или фотопленку.
[48] В некоторых вариантах осуществления настоящей технологии камера 112 может быть выполнена с возможностью снимать и записывать панорамные изображения. Технически, панорамные изображения являются конкретными отснятыми изображениями, которые обладают удлиненным горизонтально захваченным полем видимости. Некоторые панорамные изображения, отснятые камерой 112, могут обладать соотношением сторон 4:1, 10:1, или другим соотношением сторон панорамных изображений. В некоторых примерах камера 112 может отснять и записать панорамные изображения, в пределах объема настоящей технологии, которые могут покрывать до 360 градусов поля видимости.
[49] В других вариантах осуществления технологии камера 112 может быть выполнена с возможностью записи соответствующей отметки времени, связанной с каждым отснятым или записанным изображением. В дополнительных вариантах осуществления технологии камера 112 может включать в себя интегрированный GPS-модуль 116 для получения GPS-сигналов, которые на него передаются GPS-спутником 114. Следовательно, камера 112 может дополнительно записывать геолокационное положение камеры 112 для каждого отснятого или записанного изображения. В альтернативных вариантах осуществления технологии GPS-модуль 116 может быть модулем GLONASS, причем модуль GLONASS отправляет соответствующие сигналы GLONASS.
[50] В других вариантах осуществления настоящей технологии камера 112 может быть установлена на транспортном средстве 502, изображенном на ФИГ. 5. В этом случае камера 112 может находиться в движении, поскольку может двигаться транспортное средство 502. Некоторые варианты осуществления настоящей технологии, в которой камера 112 находится в движении, будут описаны ниже с учетом ФИГ. 5.
[51] В альтернативных вариантах осуществления технологии камера 112 может быть выполнена с возможностью снимать и записывать изображения в соответствии с частотой съемки изображений. Другими словами, частота съемки изображений может инициировать съемку и запись камерой 112 изображений в конкретных временных интервалах. В некоторых вариантах осуществления настоящей технологии, которые будут описаны ниже, сервер 106 может быть выполнен с возможностью отправлять указание новой частоты съемки изображений (не изображено) камере 112.
[52] В дополнительных вариантах осуществления настоящей технологии камера 112 может быть выполнена с возможностью создавать и отправлять пакет 170 данных камеры (на ФИГ. 1) серверу 106 по сети 110. Другими словами, сервер 106 может получать по сети 110 пакет 170 данных камеры от камеры 112. В некоторых вариантах осуществления данной технологии пакет 170 данных камеры может включать в себя множество кластеров 200 данных, изображенных на ФИГ. 2. Каждый кластер данных в множестве кластеров 200 данных может быть связан с соответствующим изображением, записанным камерой 112.
[53] В других вариантах осуществления настоящей технологии пакет 170 данных камеры может быть множеством отдельных пакетов данных камеры, полученных отдельно во времени сервером 106. В таком случае каждый отдельный пакет данных камеры в пределах множества отдельных пакетов данных камеры может включать в себя соответствующий кластер данных в пределах множества кластеров 200 данных.
[54] Например, с учетом Фиг. 2 и 3, первый кластер 202 данных может включать в себя первые данные 210, связанные с первым изображением 300. Первые данные 210 могут включать в себя первую отметку времени 212 и первые пиксели 232. В дополнительных вариантах осуществления настоящей технологии первые данные 210 могут дополнительно включать в себя первое геолокационное положение 222, причем первое геолокационное положение 222 соответствует геолокационному положению камеры 112, когда камера 112 осуществляет съемку первого изображения 300. Второй кластер 204 данных может включать в себя вторые данные 220, связанные со вторым изображением 302. Вторые данные 220 могут включать в себя вторую отметку времени 214 и вторые пиксели 234. В дополнительных вариантах осуществления настоящей технологии вторые данные 220 могут дополнительно включать в себя второе геолокационное положение 224, причем второе геолокационное положение 224 соответствует геолокационному положению камеры 112, когда камера 112 осуществляет съемку второго изображения 302. Третий кластер 206 данных может включать в себя третьи данные 230, связанные с третьим изображением 304. Третьи данные 230 могут включать в себя третью отметку времени 216 и третьи пиксели 236. В дополнительных вариантах осуществления настоящей технологии третьи данные 230 могут дополнительно включать в себя третье геолокационное положение 226, причем третье геолокационное положение 226 соответствует геолокационному положению камеры 112, когда камера 112 осуществляет съемку второго изображения 302.
[55] В некоторых вариантах осуществления настоящей технологии по меньшей мере либо первое изображение 300, либо второе изображение 302, либо третье изображение 304 может быть панорамным изображением.
[56] Как изображено на Фиг. 2, множество кластеров 200 данных может включать в себя больше кластеров, чем первый кластер 202 данных, второй кластер 204 данных и третий кластер 206 данных. Например, множество кластеров 200 данных может включать в себя N-ный кластер 208 данных. N-ный кластер 208 данных может включать в себя N-ные данные 240, связанные с N-ным изображением (не изображено). N-ные данные 240 могут включать в себя N-ную отметку времени 218 и N-ные пиксели 238. В дополнительных вариантах осуществления настоящей технологии N-ные данные 240 могут дополнительно включать в себя N-ное геолокационное положение 228, причем N-ное геолокационное положение 228 соответствует геолокационному положению камеры 112, когда камера 112 осуществляет съемку N-ного изображения. Это означает, что в некоторых вариантах осуществления настоящей технологии камера 112 может снять больше изображений, чем первое изображение 300, второе изображение 302 и третье изображение 304, что не выходит за границы настоящей технологии, например, в случае, когда на камеру 112 снимается большой набор изображений или видео (например, набор из N изображений).
[57] В некоторых вариантах осуществления настоящей технологии камера 112 может записывать первое изображение 300, второе изображение 302 и третье изображение 304 последовательно в определенном порядке. Другими словами, третье изображение 304 может быть отснято после второго изображения 302, а второе изображение 302 может быть отснято после первого изображения 300. В других вариантах осуществления настоящей технологии камера 112 может записывать первое изображение 300, второе изображение 302 и третье изображение 304 непосредственно друг за другом. Другими словами, третье изображение 304 может быть отснято сразу после второго изображения 302, а второе изображение 302 может быть отснято сразу после первого изображения 300. В вариантах осуществления настоящей технологии, в которых камера 112 может записывать первое изображение 300, второе изображение 302 и третье изображение 304 непосредственно друг за другом, разность между второй отметкой 214 времени и первой отметкой 212 времени и/или разность между третьей отметкой 216 времени и второй отметкой 214 времени может представлять частоту съемки изображений камеры 112.
[58] Сервер 106 может быть выполнен с возможностью анализировать, в ответ на получение сервером 106 пакета 170 данных камеры, множество кластеров данных 200. Сейчас будет приведен пример анализа множества кластеров 200 данных с использованием первого кластера 202 данных, второго кластера 204 данных и третьего кластера 206 данных. Однако анализ множества кластеров 200 данных сервером 106 может быть выполнен для любого дополнительного числа кластеров в пределах множества кластеров 200 данных, что не выходит за границы настоящей технологии.
Первый сценарий
[59] Продолжая пример, приведенный на ФИГ. 3, в некоторых вариантах осуществления способа анализ множества кластеров 200 данных сервером 106 может включать в себя возможность, с которой выполнен сервер 106, определения действительного положения первых пикселей 310 общего объекта в пределах первых пикселей 232, действительного положения вторых пикселей 312 общего объекта в пределах вторых пикселей 234, и действительного положения третьих пикселей 314 общего объекта в пределах третьих пикселей 236. В этом случае первые пиксели 310 общего объекта, вторые пиксели 312 общего объекта и третьи пиксели 314 общего объекта могут быть связаны с общим объектом 63 в первом изображении 300, втором изображении 302 и третьем изображении 304 соответственно, как изображено на ФИГ. 3. Для этого сервер 106 может быть выполнен с возможностью определять общий объект 63 в первом изображении 300, втором изображении 302 и третьем изображении 304.
[60] В первом сценарии определение общего объекта 64 может быть осуществлено сервером 106 с помощью множества техник распознавания объекта. Множество техник распознавания объекта могут включать в себя, например, определение границ, распознавание по частям. В других вариантах осуществления технологии среди множества техник распознавания объектов, например, сравнение границ (edge matching), алгоритм поиска «разделяй и властвуй» (divide-and-conquer search), сравнение градаций серого (greyscale matching), градиентное сравнение (gradient matching), гистограммы откликов рецептивных полей (histograms of receptive field responses), и так далее, могут быть использованы способы распознавания на основе внешнего вида (appearance-based methods). Кроме того, среди множества техник распознавания объектов, таких как деревья интерпретации (interpretation trees), позиционная целостность (pose consistency), позиционная кластеризация (pose clustering), инвариантность (invariance), геометрическое хэширование (geometric hashing), способ масштабно-инвариантного преобразования характеристик SIFT (scale-invariant feature transform), способ усиленных робастных характеристик SURF (speeded up robust features) и так далее, могут применяться способы на основе характеристик. В дополнительных вариантах осуществления настоящей технологии другие виды техник машинного зрения могут быть осуществлены сервером 106 для определения общего объекта 63 в первом изображении 300, втором изображении 302 и третьем изображении 304, что не выходит за границы настоящей технологии.
[61] В примере, приведенном на ФИГ. 3 и не ограничивающем объем настоящей технологии, сервер 106 может определить действительное положение первых пикселей 310 общего объекта в пределах первых пикселей 232 как (2;2) (2;3) (2;4) (2;5) (3;2) (3;3) (3;4) и (3;5). Сервер 106 может определить действительное положение вторых пикселей 312 общего объекта в пределах вторых пикселей 234 как (2;9) (2;10) (2;11) (2;12) (3;9) (3;10) (3;11) и (3;12). Сервер 106 может определить действительное положение третьих пикселей 314 общего объекта в пределах третьих пикселей 236 как (2;14) (2;15) (2;16) (2;17) (3;14) (3;15) (3;16) и (3;17). Первые пиксели 310 общего объекта, вторые пиксели 312 второго общего объекта и третьи пиксели 314 общего объекта включают в себя по идентичному числу пикселей на ФИГ. 3 исключительно с целью иллюстрации. Однако, в альтернативных вариантах осуществления технологии первые пиксели 310 общего объекта, вторые пиксели 312 второго общего объекта и третьи пиксели 314 общего объекта могут включать в себя по различному числу пикселей, что не выходит за границы настоящей технологии.
[62] В некоторых вариантах осуществления настоящей технологии анализ множества кластеров 200 данных сервером 106 может включать возможность, с которой выполнен сервер 106, определять, были ли записаны первое изображение 300, второе изображение 302, и третье изображение 304 камерой 112 в движении. Для этого сервер 106 может быть выполнен с возможностью сравнивать первое геолокационное положение 222, второе геолокационное положение 224 и третье геолокационное положение 226. С целью иллюстрации, допустим, что с помощью сравнения первого геолокационного положения 22, второго геолокационного положения 224 и третьего геолокационного положения 226 сервер 106 определил, что первое геолокационное положение 22, второе геолокационное положение 224 и третье геолокационное положение 226 являются идентичными геолокационными положениями. Это значит, что камера 112 не была в движении при записи первого изображения 300, второго изображения 302 и третьего изображения 304.
[63] В этом случае сервер 106 может быть выполнен с возможностью определять информацию о движении общего объекта на основе действительного положения первых пикселей 310 общего объекта, действительного положения вторых пикселей 312 общего объекта, первой отметки 212 времени и второй отметки 214 времени. Информация о движении общего объекта может представлять собой шаблон движения общего объекта 63 между положением общего объекта 63 в первом изображении 300 и положением общего объекта 63 во втором изображении 302.
[64] Для определения информации о движении общего объекта 63 сервер 106 может быть выполнен с возможностью выполнять множество функций на основе кинематического анализа. В общем случае кинематический анализ относится к той ветви классической механики, которая описывает движение точек. Кинематический анализ может начаться с ввода геометрической системы и начальных условий известных значений положения, скорости и/или ускорения различных точек, которые являются частью геометрической системы. Затем, на основе ввода кинематический анализ может определить спрогнозированное положение, спрогнозированную скорость и/или спрогнозированное ускорение любой части геометрической системы.
[65] Например, сервер 106 может быть выполнен с возможностью вводить действительное положение первых пикселей 310 общего объекта, действительное положение вторых пикселей 312 общего объекта, первую отметку 212 времени и вторую отметку 214 времени во множество функций для определения мгновенного значения скорости общего объекта 63 в момент времени, соответствующий второй отметке 214 времени (т.е. времени, когда камерой 112 было записано второе изображение 302). Мгновенное значение скорости общего объекта 63 в момент времени, соответствующий второй отметке 214 времени, может быть определено в координатах пикселей, относящихся к любому из первого изображения 300 и второго изображения 302. Следует отметить, что мгновенное значение скорости общего объекта 63 может быть не только информацией о движении общего объекта, определенной сервером 106, без отклонения от объема настоящей технологии. Как было упомянуто выше, информация о движении общего объекта может быть, например, положениями и/или ускорениями общего объекта 63. Выполнение множества функций на основе кинематического анализа и некоторые варианты его осуществления теперь будут объяснены подробнее.
[66] Например, действительное положение вторых пикселей 312 общего объекта со второго изображения 302 сдвинулось по отношению к первым пикселям 310 общего объекта с первого изображения 300 на (0;7) пикселей. Разница между второй отметкой 214 времени, которая составляет 15 секунд, и первой отметкой 212 времени, которая составляет 10 секунд, равна 5 секундам. Следовательно, сервер 106 может выполнить множество функций для вычисления того, что мгновенное значение скорости общего объекта 63 в момент времени, соответствующий второй отметке 214 времени, составляет (0;1,4) пикселей/секунда. В этом примере первая отметка 212 времени, которая составляет 10 секунд, и вторая отметка 214 времени, которая составляет 15 секунд, соответствует относительным единицам измерения времени. Однако в других вариантах осуществления настоящей технологии первая отметка 212 времени и вторая отметка 214 времени может соответствовать абсолютным единицам измерения времени, что не выходит за границы настоящей технологии.
[67] В некоторых вариантах осуществления настоящей технологии сервер 106 может быть выполнен с возможностью определения предполагаемого положения третьих пикселей 314 общего объекта в пределах третьих пикселей 236, на основе информации о движении общего объекта, третьей отметки 216 времени и третьих пикселей 236. Сервер 106 может определять предполагаемое положение третьих пикселей 314 общего объекта в пределах третьих пикселей 236 с помощью ввода информации о движении общего объекта, третьей отметки 216 времени и третьих пикселей 236 в множество функций, которые основываются на кинематическом анализе. На основе координат пикселей, относящихся к третьему изображению 304 (например, введенных третьих пикселей 236), множество функций может выводить предполагаемое положение третьих пикселей 314 общего объекта в пределах третьего изображения 304 в момент времени, соответствующий третьей отметке 216 времени.
[68] В этом случае мгновенное значение скорости общего объекта 63 в момент времени, соответствующий второй отметке 214 времени, составляет (0;1,4) пикселей/секунда. Сервер 106 может определить разность в 5 секунд между третьей отметкой 216 времени (т.е. 20 секунд) и второй отметкой 214 времени (т.е. 15 секунд). Сервер 106 может определить, что общий объект 63 мог передвинуться на (0;7) пикселя в промежуток времени, соответствующий промежутку времени между второй отметкой 214 времени и третьей отметкой 216 времени. Следовательно, сервер 106 может определить предполагаемое положение третьих пикселей 314 общего объекта в пределах третьих пикселей 236 как (2;16) (2;17) (2;18) (2;18) (3;16) (3;17) (3;18) и (3;19).
[69] Другими словами, предполагаемое положение третьих пикселей 314 общего объекта в пределах третьих пикселей 236 должно быть положением третьих пикселей 314 общего объекта в пределах третьих пикселей 236 при условии, что общий объект 63 постоянно поддерживает мгновенное значение скорости в момент второй отметки 214 времени и до момента, соответствующего третьей отметке 216 времени. В других вариантах осуществления настоящей технологии это означает, что предполагаемое положение третьих пикселей 314 общего объекта в пределах третьих пикселей 236 должно быть положением третьих пикселей 314 общего объекта в пределах третьих пикселей 236 при условии, что общий объект 63 перемещался при среднем ускорении, равном нулю, в промежуток времени, соответствующий промежутку времени между второй отметкой 214 времени и третьей отметкой 216 времени.
[70] В других вариантах осуществления настоящей технологии сервер 106 может быть выполнен с возможностью определения того, совпадает ли действительное положение третьих пикселей 314 общего объекта и предполагаемое положение третьих пикселей 314 общего объекта. Другими словами, сервер 106 может быть выполнен с возможностью проверять, передвинулся ли в действительности общий объект 63 со средним ускорением, равным нулю, в промежуток времени, соответствующий промежутку времени между второй отметкой 214 времени и третьей отметкой 216 времени.
[71] Например, сервер 106 может сравнить действительное положение третьих пикселей 314 общего объекта, составляющее (2;14) (2;15) (2;16) (2;17) (3;14) (3;15) (3;16) и (3;17) в пределах третьих пикселей 236 с предполагаемым положением третьих пикселей 314 общего объекта, составляющим (2;16) (2;17) (2;18) (2;19) (3;16) (3;17) (3;18) и (3;19).
[72] В некоторых вариантах осуществления способа в ответ на несовпадение действительного положения третьих пикселей 314 общего объекта и предполагаемого положения третьих пикселей 314 общего объекта сервер 106 может определить, что мгновенное значение скорости общего объекта 63 в момент времени, соответствующий третьей отметке 216 времени, отличается от мгновенного значения скорости общего объекта 63 в момент времени, соответствующий второй отметке 214 времени.
[73] В других вариантах осуществления способа в ответ на совпадение действительного положения третьих пикселей 314 общего объекта и предполагаемого положения третьих пикселей 314 общего объекта сервер 106 может определить, что мгновенное значение скорости общего объекта 63 в момент времени, соответствующий третьей отметке 216 времени, идентично мгновенному значению скорости общего объекта 63 в момент времени, соответствующий второй отметке 214 времени.
[74] Как уже ранее упоминалось, сервер 106 может быть выполнен с возможностью определять новую частоту съемки фотографий на основе информации об общем объекте 63. В некоторых вариантах осуществления настоящей технологии определение новой частоты съемки изображений может включать в себя возможность, с которой выполнен сервер 106, повышения частоты съемки изображений камерой 112 в ответ на то, что мгновенное значение скорости общего объекта 63 в момент времени, соответствующий второй отметке 214 времени, находится выше порога мгновенного значения скорости. В других вариантах осуществления настоящей технологии определение новой частоты съемки изображений может включать в себя возможность, с которой выполнен сервер 106, понижения частоты съемки изображений камерой 112 в ответ на то, что мгновенное значение скорости общего объекта 63 в момент времени, соответствующий второй отметке 214 времени, находится ниже порога мгновенного значения скорости. В некоторых вариантах осуществления настоящей технологии порог мгновенного значения скорости может быть порогом нормированного мгновенного значения скорости. Другими словами, порог нормированного мгновенного значения скорости может сравниваться с нормированным мгновенным значением скорости, в отличие от мгновенного значения скорости, для определения новой частоты съемки изображений.
[75] Например, в первом сценарии мгновенное значение скорости общего объекта 63 в момент времени, соответствующий второй отметке 214 времени составляет (0;1,4) пикселей/секунда. Пусть порог нормированного мгновенного значения скорости составляет 1 пиксель/секунда. В этом случае сервер 106 может повысить частоту съемки изображений камеры 112, поскольку нормированное постоянное значение скорости общего объекта 63 составляет 1,4 пикселя/секунда и, следовательно, оно превосходит порог нормированного мгновенного значения скорости. В другом примере, если порог нормированного мгновенного значения скорости составляет 2 пикселя/секунда, сервер 106 может понизить частоту съемки изображений камеры 112, поскольку нормированное постоянное значение скорости общего объекта 63 составляет 2 пикселя/секунда и, следовательно, оно находится ниже порога нормированного мгновенного значения скорости.
[76] В некоторых вариантах осуществления настоящей технологии сервер 106, выполненный с возможностью определять новую частоту съемки фотографий на основе информации об общем объекте 63, может позволить оптимизировать ресурсы памяти. В общем случае, если объекты двигаются перед камерой 112 медленно, требуется меньше изображений для съемки движений объекта и, следовательно, меньше изображений должно быть записано камерой 112 и впоследствии сохранено в базе данных 108 сервером 106.
[77] Однако, если объекты двигаются перед камерой 112 быстро, требуется больше изображений для записи движений объекта и, следовательно, больше изображений должно быть записано камерой 112. Следовательно, в других вариантах осуществления настоящей технологии сервер 106, выполненный с возможностью определять новую частоту съемки фотографий на основе информации об общем объекте 63, может обеспечить хороший баланс между записью движений объекта и ресурсами памяти записываемых изображений.
[78] В дополнительных вариантах осуществления настоящей технологии сервер 106 может быть выполнен с возможностью отправлять указание новой частоты съемки изображений камере 112 по сети 110. Камера 112 может быть выполнена с возможностью в ответ снимать новые изображения в соответствии с новой частотой съемки изображений.
[79] В дополнительных вариантах осуществления настоящей технологии сервер 106 может быть выполнен с возможностью, в ответ на несовпадение действительного положения третьих пикселей 314 общего объекта и предполагаемого положения третьих пикселей 314 общего объекта, создавать синтетическое изображение 306 на основе третьего изображения 304 и по меньшей мере либо первого изображения 300, либо второго изображения 302. Синтетическое изображение 306 может включать в себя по меньшей мере третьи пиксели 314 общего объекта и пиксели 320 коррекции. В других вариантах осуществления технологии синтетическое изображение 306 может быть панорамным изображением. Способы создания сервером 106 синтетического изображения 306 теперь будут описаны с учетом ФИГ. 4.
[80] В дополнительных вариантах осуществления настоящей технологии сервер 106 может быть выполнен с возможностью выполнять процедуру 400 создания синтетического изображения, изображенную на ФИГ. 4. Для этого сервер 106 может быть выполнен с возможностью создавать первый отрисованный вид 450 синтетического изображения 306. Для создания первого отрисованного вида 450 сервер 106 может идентифицировать координаты пикселей, относящиеся к третьему изображению 304. Другими словами, первый отрисованный вид 405 синтетического изображения 306 может включать в себя карту пустых положений пикселей для третьих пикселей 236.
[81] Сервер 106 может быть выполнен с возможностью применять первый процесс 402 назначения пикселей к первому отрисованному виду 450 для получения второго отрисованного вида 452 синтетического изображения 306. В некоторых вариантах осуществления настоящей технологии сервер 106 может быть выполнен с возможностью, в течение выполнения первого процесса 402 назначения пикселей, назначать предполагаемое положение третьих пикселей 314 общего объекта третьим пикселям 314 общего объекта в пределах синтетического изображения 306. Другими словами, сервер 106 может выбрать третьи пиксели 314 общего объекта и назначить им предполагаемое положение (2;16) (2;17) (2;18) (2;19) (3;16) (3;17) (3;18) и (3;19) в пределах первого отрисованного вида 450 для создания второго отрисованного вида 452 синтетического изображения 306.
[82] Сервер 106 может быть выполнен с возможностью применять второй процесс 404 назначения пикселей ко второму отрисованному виду 452 для получения третьего отрисованного вида 454 синтетического изображения 306. В некоторых вариантах осуществления настоящей технологии в течение выполнения второго процесса 404 назначения пикселей сервер 106 может идентифицировать положения фоновых пикселей и соответствующих фоновых пикселей в пределах третьего изображения 304. Положения фоновых пикселей - это положения всех пикселей в пределах третьего изображения 304 за исключением положений, соответствующих действительному положению третьих пикселей 314 общего объекта и предполагаемому положению третьих пикселей 314 общего объекта. В этом случае все положения фоновых пикселей - это положения всех пикселей в пределах третьего изображения 304 за исключением положений пикселей (2;16) (2;17) (2;18) (2;19) (3;16) (3;17) (3;18) (3;19) (2;14) (2;15) (3;14) и (3;15). Следовательно, фоновые пиксели - это все пиксели в пределах третьего изображения, соответствующие положениям фоновых пикселей (т.е. положения всех пикселей за исключением положений пикселей (2;16) (2;17) (2;18) (2;19) (3;16) (3;17) (3;18) (3;19) (2;14) (2;15) (3;14) и (3;15)). Сервер 106 может быть выполнен с возможностью назначения всех фоновых пикселей их соответствующим положениям фоновых пикселей в пределах второго отрисованного вида 452 для получения третьего отрисованного вида 454 синтетического изображения 306.
[83] В дополнительных вариантах осуществления настоящей технологии сервер 106 может быть выполнен с возможностью выполнять процедуру верификации коррекции с третьим отрисованным видом 454 синтетического изображения 306. Процедура верификации коррекции может дать серверу 106 возможность определить, какая область и/или секция третьего отрисованного вида 454 должна быть откорректирована для создания синтетического изображения 306. В течение процедуры верификации коррекции сервер 106 может быть выполнен с возможностью разбирать и анализировать каждое положение пикселя в третьем отрисованном виде 454 синтетического изображения 306 для определения того, каким положениям пикселей не назначены пиксели из третьего изображения 304. Положения пикселей, которым не назначено пикселей из третьего изображения 304 идентифицируются сервером 106 как положения пикселей коррекции.
[84] Положениям пикселей коррекции в пределах третьего отрисованного вида 454 синтетического изображения 306 может не быть назначено пикселей из третьего изображения 304 по разным причинам. В некоторых случаях первый процесс 402 назначений пикселей может неверно назначить третьи общие пиксели 314 предполагаемым положениям третьих пикселей 314 общего объекта в пределах первого отрисованного вида 450 синтетического изображения 306. В других случаях второй процесс 404 назначений пикселей может неверно назначить фоновые пиксели соответствующим положениям фоновых пикселей в пределах второго отрисованного вида 452 синтетического изображения 306. В дополнительных случаях положениям пикселей коррекции может не быть назначено соответствующих пикселей в пределах третьих пикселей 236, потому что соответствующие пиксели в таких случаях могут быть повреждены или потеряны и так далее. В дополнительных случаях положениям пикселей коррекции в пределах третьего отрисованного вида 454 синтетического изображения 306 может не быть назначено соответствующих пикселей из третьего изображения 304, потому что положения пикселей коррекции соответствуют действительному положению третьих пикселей 314 общего объекта в пределах третьего отрисованного состояния 454 синтетического изображения 306.
[85] Сервер 106 может быть выполнен с возможностью разбирать и анализировать каждое положение пикселя третьего отрисованного состояния 454 и определять, что положения пикселей коррекции составляют (2;14) (2;15) (3;14) и (3;15) (т.е. по меньшей мере некоторые положения пикселей среди действительных положений третьих пикселей 314 общего объекта в пределах третьего изображения 304). В некоторых вариантах осуществления настоящей технологии сервер 106 может быть выполнен с возможностью определять пиксели 320 коррекции. Сервер 106 может определять пиксели 320 коррекции на основе положений пикселей коррекции, идентифицированных в течение процедуры верификации коррекции, и по меньшей мере либо первого изображения 300, либо второго изображения 302. В других вариантах осуществления настоящей технологии сервер 106 может быть выполнен с возможностью определять пиксели 320 коррекции на основе действительного положения третьих пикселей 314 общего объекта в пределах третьего изображения 304, и по меньшей мере либо первого изображения 300, либо второго изображения 302.
[86] Сервер 106 может определять пиксели 320 коррекции с помощью идентификации пикселей в пределах первого изображения 300 и/или второго изображения 302, которые назначены положениям пикселей коррекции в пределах первого изображения 300 и/или второго изображения 302. В других вариантах осуществления настоящей технологии сервер 106 может определять пиксели 320 коррекции с помощью идентификации пикселей в пределах первого изображения 300 и/или второго изображения 302, которые назначены действительному положению третьих пикселей 314 общего объекта в пределах первого изображения 300 и/или второго изображения 302.
[87] В дополнительных вариантах осуществления настоящей технологии сервер 106 может быть выполнен с возможностью применять финальную процедуру 406 назначения к третьему отрисованному виду 454 для создания синтетического изображения 306. В течение финальной процедуры 406 назначения сервер 106 может назначать пиксели 320 коррекции положениям пикселей коррекции в пределах третьего отрисованного вида 454. Как уже было замечено ранее, в этом случае сервер 106 может назначить пиксели 320 коррекции, которые соответствуют пикселям, назначенным положениям пикселей коррекции (2;14) (2;15) (3;14) и (3;15) в пределах первого изображения 300 и/или второго изображения 302, положениям пикселей коррекции (2;14) (2;15) (3;14) и (3;15) в пределах третьего отрисованного вида 454 для создания синтетического изображения 306.
[88] Как было упомянуто ранее, камера 112 может быть установлена на транспортном средстве 502, изображенном на ФИГ. 5. В этом случае камера 112 может находиться в движении, поскольку может двигаться транспортное средство 502. На Фиг. 5 изображен первый вид 500 сверху, второй вид 550 сверху и третий вид 580 сверху, причем первый вид 500 сверху, второй вид 550 сверху и третий вид 580 сверху последовательны во времени.
[89] Положения общего объекта 63 и камеры 112 на первом виде 500 сверху отличаются от положений общего объекта 63 и камеры 112 на втором виде 550 сверху. Кроме того, положения общего объекта 63 и камеры 112 на втором виде 550 сверху отличаются от положений общего объекта 63 и камеры 112 на третьем виде 580 сверху. В таком случае общий объект 63 и камера 112 находятся в движении. Следовательно, другое первое изображение (не изображено), другое второе изображение (не изображено) и другое третье изображение (не изображено) могут быть сняты камерой 112 в движении соответственно в момент времени, соответствующий первому виду 500 сверху, второму виду 550 сверху и третьему виду 580 сверху.
[90] В некоторых вариантах осуществления настоящей технологии пакет 170 данных камеры может включать в себя информацию о движении камеры, связанную в движущейся камерой 112. В этом случае сервер 106 может получить информацию о движении камеры от камеры 112 и может определить информацию о движении объекта дополнительно на основе информации о движении камеры. Например, информация о движении камеры может быть введена в множество функций, которые выводят информацию о движении объектов.
[91] В других вариантах осуществления технологии другое первое геолокационное положение камеры 112, связанное с другим первым изображением, может отличаться от другого второго геолокационного положения камеры 112, связанного с другим вторым изображением. Кроме того, другое второе геолокационное положение камеры 112, связанное с другим вторым изображением может отличаться от другого третьего геолокационного положения камеры 112, связанного с другим третьим изображением. Сервер 106 может получить пакет 170 данных камеры, включающий в себя другое первое геолокационное положение камеры 112, связанное с другим первым изображением, другое второе геолокационное положение камеры 112, связанное с другим вторым изображением и другое третье геолокационное положение камеры 112, связанное с другим третьим изображением.
[92] В дополнительных вариантах осуществления технологии сервер 106 может быть выполнен с возможностью определять информацию о движении камеры на основе другого первого геолокационного положения камеры 112, другого второго геолокационного положения камеры 112 и другого третьего геолокационного положения камеры 112. В этом случае, сервер 106 может быть выполнен с возможностью, после определения информации о движении камеры, определить информацию о движении объекта дополнительно на основе информации о движении камеры.
Второй сценарий
[93] Во втором сценарии и с учетом ФИГ. 6, камера 112 может записывать первое изображение 300', второе изображение 302' и третье изображение 304' последовательно в определенном порядке. В других вариантах осуществления настоящей технологии камера 112 может записывать первое изображение 300', второе изображение 302' и третье изображение 304' непосредственно друг за другом.
[94] В некоторых вариантах осуществления способа сервер 106 может быть выполнен с возможностью определения действительного положения первых пикселей 310' общего объекта в пределах первых пикселей 232', действительного положения вторых пикселей 312' общего объекта в пределах вторых пикселей 234', и действительного положения третьих пикселей 314' общего объекта в пределах третьих пикселей 236'. В этом случае первые пиксели 310' общего объекта, вторые пиксели 312' общего объекта и третьи пиксели 314' общего объекта могут быть связаны с общим объектом 63' в первом изображении 300', втором изображении 302' и третьем изображении 304' соответственно, как изображено на ФИГ. 6. Для этого сервер 106 может быть выполнен с возможностью определять общий объект 63' в первом изображении 300', втором изображении 302' и третьем изображении 304'.
[95] В некоторых вариантах осуществления способа сервер 106 может быть выполнен с возможностью определения действительного положения первых пикселей 610 другого объекта в пределах первых пикселей 232', действительного положения вторых пикселей 612 другого объекта в пределах вторых пикселей 234', и действительного положения третьих пикселей 614 другого объекта в пределах третьих пикселей 236'. В этом случае первые пиксели 610 другого объекта, вторые пиксели 612 другого объекта и третьи пиксели 614 другого объекта могут быть связаны с другим объектом 69 в первом изображении 300', втором изображении 302' и третьем изображении 304' соответственно, как изображено на ФИГ. 6. Для этого сервер 106 может быть выполнен с возможностью определять другой объект 69 в первом изображении 300', втором изображении 302' и третьем изображении 304'. Следует отметить, что определение другого объекта 69 и общего объекта 63' может быть осуществлено сервером 106 с помощью множества техник распознавания объекта, аналогичных определению общего объекта 63 на ФИГ. 3.
[96] В альтернативных вариантах осуществления способа сервер 106 может быть выполнен с возможностью определения действительного положения первых пикселей 660 альтернативного объекта в пределах первых пикселей 232', действительного положения вторых пикселей 662 альтернативного объекта в пределах вторых пикселей 234', и действительного положения третьих пикселей 664 альтернативного объекта в пределах третьих пикселей 236'. В этом случае первые пиксели 660 альтернативного объекта, вторые пиксели 662 альтернативного объекта и третьи пиксели 664 альтернативного объекта могут быть связаны с альтернативным объектом 66 в первом изображении 300', втором изображении 302' и третьем изображении 304' соответственно, как изображено на ФИГ. 6. Для этого сервер 106 может быть выполнен с возможностью определять альтернативный объект 66 в первом изображении 300', втором изображении 302' и третьем изображении 304'. Следует отметить, что определение альтернативного объекта 66, другого объекта 69 и общего объекта 63' может быть осуществлено сервером 106 с помощью множества техник распознавания объекта, аналогичным определению общего объекта 63 на ФИГ. 3.
[97] В примере, приведенном на ФИГ. 6 и не ограничивающем объем настоящей технологии, сервер 106 может определить действительное положение первых пикселей 310' общего объекта в пределах первых пикселей 232' как (2;2) (2;3) (2;4) (2;5) (3;2) (3;3) (3;4) и (3;5). Сервер 106 может определить действительное положение вторых пикселей 312' общего объекта в пределах вторых пикселей 234' как (2;9) (2;10) (2;11) (2;12) (3;9) (3;10) (3;11) и (3;12). Сервер 106 может определить действительное положение третьих пикселей 314' общего объекта в пределах третьих пикселей 236' как (2;14) (2;15) (2;16) (2;17)(3;14) (3;15) (3;16) и (3;17).
[98] В примере, приведенном на ФИГ. 6 и не ограничивающем объем настоящей технологии, сервер 106 может определить действительное положение первых пикселей 610 другого объекта в пределах первых пикселей 232' как (7;19) (7;20) (7;21) и (8;21). Сервер 106 может определить действительное положение вторых пикселей 612 другого объекта в пределах вторых пикселей 234' как (7;15) (7;16) (7;17) и (8;17). Сервер 106 может определить действительное положение третьих пикселей 614 другого объекта в пределах третьих пикселей 236' как (7;5) (7;6) (7;7) и (8;7).
[99] В альтернативных вариантах осуществления настоящей технологии сервер 106 может дополнительно определить действительное положение первых пикселей 660 альтернативного объекта в пределах первых пикселей 232' как (2;24) (3;24) (4;24) и (5;24). Сервер 106 может определить действительное положение вторых пикселей 662 альтернативного объекта в пределах вторых пикселей 234' как (2;24) (3;24) (4;24) и (5;24). Сервер 106 может определить действительное положение третьих пикселей 664 альтернативного объекта в пределах третьих пикселей 236' как (2;24) (3;24) (4;24) и (5;24).
[100] С целью иллюстрации предположим, что камера 112 не была в движении при записи первого изображения 300', второго изображения 302' и третьего изображения 304'.
[101] В этом случае сервер 106 может быть выполнен с возможностью определять информацию о движении общего объекта на основе действительного положения первых пикселей 310' общего объекта, действительного положения вторых пикселей 312' общего объекта, первой отметки 212' времени и второй отметки 214' времени. Информация о движении общего объекта может представлять собой шаблон движения общего объекта 63' между положением общего объекта 63' в первом изображении 300' и положением общего объекта 63' во втором изображении 302'.
[102] А также сервер 106 может быть выполнен с возможностью определять информацию о движении другого объекта на основе действительного положения первых пикселей 610 другого объекта, действительного положения вторых пикселей 612 другого объекта, первой отметки 212' времени и второй отметки 214' времени. Информация о движении другого объекта может представлять собой шаблон движения другого объекта 69 между положением другого объекта 69 в первом изображении 300' и положением другого объекта 69 во втором изображении 302'.
[103] А также сервер 106 может быть выполнен с возможностью определять информацию о движении альтернативного объекта на основе действительного положения первых пикселей 660 альтернативного объекта, действительного положения вторых пикселей 662 альтернативного объекта, первой отметки 212' времени и второй отметки 214' времени. Информация о движении альтернативного объекта может представлять собой шаблон движения альтернативного объекта 66 между положением альтернативного объекта 66 в первом изображении 300' и положением альтернативного объекта 66 во втором изображении 302'.
[104] Для определения информации о движении общего объекта 63', информации о движении другого объекта 69 и информации о движении альтернативного объекта 66 сервер 106 может быть выполнен с возможностью выполнять множество функций на основе кинематического анализа, аналогично определению информации о движении общего объекта 63 в первом сценарии.
[105] Например, сервер 106 может выполнить множество функций для вычисления того, что мгновенное значение скорости общего объекта 63' в момент времени, соответствующий второй отметке 214' времени, составляет (0;7) пикселей/секунда. Сервер 106 может выполнить множество функций для вычисления того, что мгновенное значение скорости другого объекта 69 в момент времени, соответствующий второй отметке 214' времени, составляет (0;-4) пикселей/секунда. Сервер 106 может выполнить множество функций для вычисления того, что мгновенное значение скорости альтернативного объекта 66 в момент времени, соответствующий второй отметке 214' времени, составляет (0;0) пикселей/секунда.
[106] В некоторых вариантах осуществления настоящей технологии сервер 106 может быть выполнен с возможностью определения статус движения общего объекта 63' на основе информации о движении общего объекта 63'. Сервер 106 может определить, что статус движения общего объекта 63' является динамическим или статическим. Сервер 106 может быть выполнен с возможностью определения статус движения другого объекта 69 на основе информации о движении другого объекта 69. Сервер 106 может определить, что статус движения другого объекта 69 является динамическим или статическим. Сервер 106 может быть выполнен с возможностью определения статус движения альтернативного объекта 66 на основе информации о движении альтернативного объекта 66. Сервер 106 может определить, что статус движения альтернативного объекта 66 является динамическим или статическим.
[107] В альтернативных вариантах осуществления технологии статус движения по меньшей мере либо общего объекта 63', либо другого объекта 69, либо альтернативного объекта 66 может быть сохранен сервером 106 в базе данных 108. В других вариантах осуществления технологии статус движения по меньшей мере либо общего объекта 63', либо другого объекта 69, либо альтернативного объекта 66 может быть отправлен по сети 110 камере 112 и/или клиентскому устройству 102. Следует отметить, что определение статуса движения по меньшей мере либо общего объекта 63', либо другого объекта 69, либо альтернативного объекта 66 может понизить количество вычислительных ресурсов сервера 106, необходимых для создания синтетического изображения 306'. Как будет описано ниже, определение того, что статус движения альтернативного объекта 66 - статический, может понизить количество вычислительных ресурсов сервера 106, необходимых для создания синтетического изображения 306'.
[108] Например, сервер 106 может определить, что статус движения общего объекта 63' - динамический, поскольку мгновенное значение скорости общего объекта 63' в момент времени, соответствующий второй отметке 214' времени, не является нулевым вектором. В другом примере сервер 106 может определить, что статус движения общего объекта 63' - динамический, поскольку нормированное мгновенное значение скорости общего объекта 63' не является равным нулю в момент времени, соответствующий второй отметке 214' времени. Аналогично, сервер 106 может определить, что статус движения другого объекта 69 - динамический, поскольку мгновенное значение скорости другого объекта 69 в момент времени, соответствующий второй отметке 214' времени, не является нулевым вектором. В другом примере сервер 106 может определить, что статус движения другого объекта 69 - динамический, поскольку нормированное мгновенное значение скорости другого объекта 69 не является равным нулю в момент времени, соответствующий второй отметке 214' времени. В альтернативном примере сервер 106 может определить, что статус движения альтернативного объекта 66 - динамический, поскольку нормированное мгновенное значение скорости альтернативного объекта 69 является равным нулю в момент времени, соответствующий второй отметке 214' времени.
[109] В других вариантах осуществления настоящей технологии в ответ на то, что статус движения общего объекта 63' - динамический, сервер 106 может быть выполнен с возможностью определения предполагаемого положения третьих пикселей 314' общего объекта в пределах третьих пикселей 236', на основе информации о движении общего объекта 63', третьей отметки 216' времени и третьих пикселей 236'. А также в ответ на то, что статус движения другого объекта 69 - динамический, сервер 106 может быть выполнен с возможностью определения предполагаемого положения третьих пикселей 614 другого объекта в пределах третьих пикселей 236', на основе информации о движении другого объекта, третьей отметки 216' времени и третьих пикселей 236'.
[110] Кроме того, в ответ на то, что статус движения альтернативного объекта 66 - статический, сервер 106 может быть выполнен с возможностью не определять предполагаемое положение третьих пикселей 664 альтернативного объекта в пределах третьих пикселей 236', на основе информации о движении альтернативного объекта, третьей отметки 216' времени и третьих пикселей 236'. Например, в ответ на то, что статус движения альтернативного объекта 66 - статический, сервер 106 может быть выполнен с возможностью идентификации третьих пикселей 664 альтернативного объекта в пределах третьих пикселей 236' как части фоновых пикселей третьего изображения 304'. Идентификация третьих пикселей 664 альтернативного объекта в пределах третьих пикселей 236' как части фоновых пикселей третьего изображения 304' может привести к тому, что сервер 106 не будет определять действительное и/или предполагаемое положение третьих пикселей 664 альтернативного объекта в третьем изображении 304', и сервер 106 не будет определять положение пикселей коррекции для третьих пикселей 664 альтернативного объекта в пределах синтетического изображения 306'.
[111] Сервер 106 может определять предполагаемое положение третьих пикселей 314' общего объекта в пределах третьих пикселей 236' с помощью ввода информации о движении общего объекта 63', третьей отметки 216' времени и третьих пикселей 236' в множество функций, которые основываются на кинематическом анализе. На основе координат пикселей, относящихся к третьему изображению 304' (например, введенных третьих пикселей 236'), множество функций может выводить предполагаемое положение третьих пикселей 314' общего объекта в момент времени, соответствующий третьей отметке 216' времени. Аналогично, сервер 106 может определять предполагаемое положение третьих пикселей 614 другого объекта в пределах третьих пикселей 236' с помощью ввода информации о движении другого объекта, третьей отметки 216' времени и третьих пикселей 236' в множество функций.
[112] В этом сценарии сервер 106 может определить предполагаемое положение третьих пикселей 314' общего объекта в пределах третьих пикселей 236' как (2;16) (2;17) (2;18) (2;18) (3;16) (3;17) (3;18) и (3;19). Кроме того, сервер 106 может определить предполагаемое положение третьих пикселей 614 другого объекта в пределах третьих пикселей 236' как (7;11) (7;12) (7;13) и (8;13).
[113] Другими словами, предполагаемое положение третьих пикселей 314' общего объекта в пределах третьих пикселей 236' должно быть положением третьих пикселей 314' общего объекта в пределах третьих пикселей 236' при условии, что общий объект 63' постоянно поддерживает мгновенное значение скорости в момент второй отметки 214' времени и до момента, соответствующего третьей отметке 216' времени. В других вариантах осуществления настоящей технологии это означает, что предполагаемое положение третьих пикселей 314' общего объекта в пределах третьих пикселей 236' должно быть положением третьих пикселей 314' общего объекта в пределах третьих пикселей 236' при условии, что общий объект 63' перемещался при среднем ускорении, равном нулю, в промежуток времени, соответствующий промежутку времени между второй отметкой 214' времени и третьей отметкой 216' времени.
[114] Аналогично, предполагаемое положение третьих пикселей 614 другого объекта в пределах третьих пикселей 236' должно быть положением третьих пикселей 614 другого объекта в пределах третьих пикселей 236' при условии, что другой объект 69 постоянно поддерживает мгновенное значение скорости в момент второй отметки 214' времени и до момента, соответствующего третьей отметке 216' времени. В других вариантах осуществления настоящей технологии это означает, что предполагаемое положение третьих пикселей 614 другого объекта в пределах третьих пикселей 236' должно быть положением третьих пикселей 614 другого объекта в пределах третьих пикселей 236' при условии, что другой объект 69 перемещался при среднем ускорении, равном нулю, в промежуток времени, соответствующий промежутку времени между второй отметкой 214' времени и третьей отметкой 216' времени.
[115] В других вариантах осуществления настоящей технологии сервер 106 может быть выполнен с возможностью определения того, совпадает ли действительное положение третьих пикселей 314' общего объекта и предполагаемое положение третьих пикселей 314' общего объекта. Сервер 106 может быть выполнен с возможностью определения того, совпадает ли действительное положение третьих пикселей 614 другого объекта и предполагаемое положение третьих пикселей 614 другого объекта.
[116] В дополнительных вариантах осуществления настоящей технологии сервер 106 может быть выполнен с возможностью, в ответ на несовпадение действительного положения третьих пикселей 314' общего объекта и предполагаемого положения третьих пикселей 314' общего объекта, создавать синтетическое изображение 306' на основе третьего изображения 304' и по меньшей мере либо первого изображения 300', либо второго изображения 302'.
[117] В другом варианте осуществления настоящей технологии сервер 106 может быть выполнен с возможностью, в ответ на несовпадение действительного положения третьих пикселей 314' общего объекта и предполагаемого положения третьих пикселей 314' общего объекта, и несовпадение действительного положения третьих пикселей 614 другого объекта и предполагаемого положения третьих пикселей 614 другого объекта создавать синтетическое изображение 306' на основе третьего изображения 304' и по меньшей мере либо первого изображения 300', либо второго изображения 302'.
[118] Следует отметить, что в некоторых вариантах осуществления настоящей технологии, когда статус движения альтернативного объекта 66 - статический, третьи пиксели 664 альтернативного объекта в пределах третьих пикселей 236' могут быть идентифицированы сервером 106 как часть фоновых пикселей третьего изображения 304'. В общем случае, идентификация третьих пикселей 664 альтернативного объекта в пределах третьих пикселей 236' как части фоновых пикселей третьего изображения 304' может привести к тому, что сервер 106 не будет обладать третьими пикселями 664 альтернативного объекта для определения предполагаемого положения третьих пикселей 664 альтернативного объекта в третьем изображении 304'. В итоге серверу 106 может не требоваться определение положений пикселей коррекции для альтернативного объекта 66, поскольку статус движения альтернативного объекта 66 определен как статический. Следовательно, определение того, что статус движения альтернативного объекта 66 - статический, может понизить количество вычислительных ресурсов сервера 106 для создания синтетического изображения 306', поскольку альтернативный объект 66 будет считаться частью фона третьего изображения 304'.
[119] Синтезированное изображение 306' может включать в себя по меньшей мере третьи пиксели 314' общего объекта, пиксели 320' коррекции, трети пиксели 614 другого объекта и другие пиксели 620 коррекции. В некоторых вариантах осуществления настоящей технологии сервер 106 может быть выполнен с возможностью создавать синтетическое изображение 306' аналогично тому, как может быть создано синтетическое изображение в соответствии с процедурой 400 создания синтетического изображения, изображенной на ФИГ. 4.
[120] В других вариантах осуществления настоящей технологии сервер 106 может быть выполнен с возможностью назначения третьих пикселей 314' общего объекта предполагаемому положению третьих пикселей 314' общего объекта в пределах синтетического изображения 306'. Сервер 106 также может быть выполнен с возможностью назначения третьих пикселей 614 другого объекта предполагаемому положению третьих пикселей 614 другого объекта в пределах синтетического изображения 306'.
[121] В дополнительных вариантах осуществления настоящей технологии, аналогично тому, как сервер 106 может определять положения пикселей коррекции для синтетического изображения 306 и пиксели 320 коррекции в течение процедуры 400 создания синтетического изображения, сервер 106 может быть выполнен с возможностью определять положения пикселей 320' коррекции и пиксели 320' коррекции на основе действительного положения третьих пикселей 314' общего объекта, третьего изображения 304' и по меньшей мере либо первого изображения 300' и второго изображения 302'. А также аналогично тому, как сервер 106 может определять положения пикселей коррекции для синтетического изображения 306 и пиксели 320 коррекции в течение процедуры 400 создания синтетического изображения, сервер 106 может быть выполнен с возможностью определять положения других пикселей 620 коррекции и другие пиксели 620 коррекции на основе действительного положения третьих пикселей 614 другого объекта, третьего изображения 304' и по меньшей мере либо первого изображения 300' и второго изображения 302'.
[122] В дополнительных вариантах осуществления настоящей технологии сервер 106 может быть выполнен с возможностью назначения пикселей 320' коррекции действительному положению третьих пикселей 314' общего объекта в пределах синтетического изображения 306'. Сервер 106 также может быть выполнен с возможностью назначения других пикселей коррекции действительному положению третьих пикселей 614 другого объекта в пределах синтетического изображения 306'.
[123] В некоторых вариантах осуществления настоящей технологии сервер 106 может сохранять первое изображение 300, второе изображение 302 и по меньшей мере либо третье изображение 304, либо синтетическое изображение 306 в базе данных 108. Сервер 106 может аналогично сохранять первое изображение 300', второе изображение 302' и по меньшей мере либо третье изображение 304', либо синтетические изображения 306' в базе данных 108.
[124] Как уже было отмечено, в ответ на получение запроса 150 от клиентского устройства 102 сервер 106 может быть выполнен с возможностью создавать и отправлять пакет 160 клиентских данных клиентскому устройству 102. Пакет 160 клиентских данных может включать в себя первое изображение 300, второе изображение 302 и синтетическое изображение 306. В других вариантах осуществления настоящей технологии пакет клиентских данных может включать в себя первое изображение 300', второе изображение 302' и синтетическое изображение 306'.
[125] Клиентское устройство 102 может быть выполнено с возможностью, в ответ на получение пакета 160 клиентских данных по сети 110, отображать по меньшей мере либо первое изображение 300, либо второе изображение 302, либо синтетическое изображение 306 пользователю 104 с помощью браузерного приложения. В других вариантах осуществления настоящей технологии клиентское устройство 102 может быть выполнено с возможностью отображать по меньшей мере либо первое изображение 300', либо второе изображение 302', либо синтетическое изображение 306' пользователю 104 с помощью браузерного приложения.
[126] В некоторых вариантах осуществления настоящей технологии создание синтетического изображения 306 и/или 306' может дать возможность извлечения важной и ценной информации об объектах в движении, которые были сняты на камеру 112. В других вариантах осуществления настоящей технологии сохранение синтетического изображения 306 вместо третьего изображения 304 может дать возможность улучшить качество изображений с движущимися объектами без повышения требований по их сохранению.
[127] В некоторых вариантах осуществления настоящего технического решения сервер 106 выполнен с возможностью выполнять способ 700 создания синтетического изображения 306, изображенный на ФИГ. 7. Способ 700 будет подробно описан ниже.
[128] ЭТАП 702
[129] Способ 700 начинается на этапе 702, на котором сервер 106 получает первые данные 210, связанные с первым изображением 300, и вторые данные 220, связанные со вторым изображением 302, как показано на ФИГ. 3.
[130] С учетом ФИГ. 2, первые данные 210 могут включать в себя первые пиксели 232 и первую отметку времени 212, а вторые данные 220 могут включать в себя вторые пиксели 234 и вторую отметку 214 времени. В некоторых вариантах осуществления настоящей технологии первые данные 210 могут дополнительно включать в себя первое геолокационное положение 222, а вторые данные могут дополнительно включать в себя второе геолокационное положение 224. Первое изображение 300 и второе изображение 302 могут изображать общий объект 63.
[131] ЭТАП 704
[132] Способ 700 продолжается далее на этапе определения сервером 106 действительного положения первых пикселей 310 общего объекта в пределах первых пикселей 323 и действительного положения вторых пикселей 312 общего объекта в пределах вторых пикселей 234.
[133] Определение сервером 106 действительного положения первых пикселей 310 общего объекта и действительного положения вторых пикселей 312 общего объекта может включать в себя выполнение техники распознавания объекта. Следует отметить, что первые пиксели 310 общего объекта и вторые пиксели 312 общего объекта связаны с общим объектом 63 в первом изображении 300 и втором изображении 302 соответственно.
[134] ЭТАП 706
[135] Способ 700 продолжается на этапе 706, на котором сервер 106 определяет информацию о движении общего объекта 63 на основе действительного положения первых пикселей 310 общего объекта, действительного положения вторых пикселей 312 общего объекта, первой отметки 212 времени и второй отметки 214 времени.
[136] В некоторых вариантах осуществления настоящей технологии сервер 106 может определять информацию общего объекта 63 с помощью множества функций, которые основываются на кинематическом анализе. Информация о движении общего объекта может представлять собой шаблон движения общего объекта 63 между положением общего объекта 63 в первом изображении 300 и положением общего объекта 63 во втором изображении 302.
[137] Следует отметить, что мгновенное значение скорости общего объекта 63 может быть не только информацией о движении общего объекта, определенной сервером 106 без отклонения от объекта настоящей технологии. Как было упомянуто выше, информация о движении общего объекта может быть, например, положениями и/или ускорениями общего объекта 63.
[138] ЭТАП 708
[139] Способ 700 продолжается на этапе 708, на котором сервер 106 получает третьи данные, связанные с третьим изображением 304. Третьи данные 230 могут включать в себя третьи пиксели 236 и третью отметку времени 216. В некоторых вариантах осуществления настоящей технологии третьи данные 230 могут также включать в себя третье геолокационное положение 226, как изображено на ФИГ. 2 Третье изображение 304 изображает общий объект 63.
[140] В некоторых вариантах осуществления настоящей технологии сервер 106 может выполнить этап 708 параллельно с этапом 702. Например, сервер 106 может получить по сети 110 пакет 170 данных камеры от камеры 112. Пакет 170 данных камеры может включать в себя множество кластеров 200 данных, которые включают в себя первый кластер 202 данных, второй кластер 204 данных и третий кластер 206 данных. Первый кластер 200 данных может включать в себя первые данные 210, второй кластер 204 данных может включать в себя вторые данные 220, в третий кластер 206 может включать в себя третьи данные 230.
[141] В других вариантах осуществления настоящей технологии сервер 106 может выполнить этап 708 после этапа 706. Например, пакет 170 данных камеры может быть множеством отдельных пакетов данных камеры, полученных отдельно во времени сервером 106. В таком случае каждый отдельный пакет данных камеры в пределах множества отдельных пакетов данных камеры может включать в себя соответствующий кластер данных в пределах множества кластеров 200 данных для предоставления серверу 106 возможности выполнения этапов 702 и 708 последовательно, а не параллельно.
[142] ЭТАП 710
[143] Способ 700 продолжается на этапе 710, на котором сервер 106 определяет действительное положение третьих пикселей 314 общего объекта в пределах третьих пикселей 236. Третьи пиксели 314 общего объекта связаны с общим объектом 63 в третьем изображении 304.
[144] Определение сервером 106 действительного положения третьих пикселей 314 общего объекта может включать в себя выполнение техники распознавания объекта. Например, техника распознавания может быть любой техникой распознавания из множества техник распознавания объекта. Множество техник распознавания объекта может включать в себя сравнение границ, распознавание по частям, способы распознавания на основе внешнего вида и способы на основе характеристик.
[145] ЭТАП 712
[146] Способ 700 продолжается на этапе 712, на котором сервер 106 определяет предполагаемое положение третьих пикселей 314 общего объекта в пределах третьих пикселей 236, на основе информации о движении общего объекта, третьей отметки 216 времени и третьих пикселей 236.
[147] В некоторых вариантах осуществления настоящей технологии сервер 106 может определять предполагаемое положение третьих пикселей 314 общего объекта в пределах третьих пикселей 236 с помощью множества функций, которые основываются на кинематическом анализе. Предполагаемое положение третьих пикселей 314 общего объекта в пределах третьих пикселей 236 должно быть положением третьих пикселей 314 общего объекта в пределах третьих пикселей 236 при условии, что общий объект 63 перемещался при среднем ускорении, равном нулю, в промежуток времени, соответствующий промежутку времени между второй отметкой 214 времени и третьей отметкой 216 времени.
[148] ЭТАП 714
[149] Способ 700 продолжается на этапе 714, на котором сервер 106 определяет, совпадает ли действительное положение третьих пикселей 314 общего объекта и предполагаемое положение третьих пикселей 314 общего объекта.
[150] В других вариантах осуществления способа в ответ на совпадение действительного положения третьих пикселей 314 общего объекта и предполагаемого положения третьих пикселей 314 общего объекта сервер 106 может определить, что мгновенное значение скорости общего объекта 63 в момент времени, соответствующий третьей отметке 216 времени, идентично мгновенному значению скорости общего объекта 63 в момент времени, соответствующий второй отметке 214 времени.
[151] В дополнительных вариантах осуществления настоящей технологии сервер 106 может быть выполнен с возможностью определять новую частоту съемки фотографий на основе информации об общем объекте 63. В некоторых вариантах осуществления настоящей технологии определение новой частоты съемки изображений может включать в себя возможность, с которой выполнен сервер 106, повышения частоты съемки изображений камерой 112 в ответ на то, что мгновенное значение скорости общего объекта 63 в момент времени, соответствующий второй отметке 214 времени, находится выше порога мгновенного значения скорости. В других вариантах осуществления настоящей технологии определение новой частоты съемки изображений может включать в себя возможность, с которой выполнен сервер 106, понижения частоты съемки изображений камерой 112 в ответ на то, что мгновенное значение скорости общего объекта 63 в момент времени, соответствующий второй отметке 214 времени, находится ниже порога мгновенного значения скорости.
[152] В альтернативных вариантах осуществления настоящей технологии сервер 106 может отправлять указание новой частоты съемки изображений камере 112 по сети 110. В ответ камера 112 может начать снимать и записывать новые изображения в соответствии с новой частотой съемки изображений.
[153] ЭТАП 716
[154] Способ 700 оканчивается на этапе 716, на котором сервер 106, в ответ на несовпадение действительного положения третьих пикселей 314 общего объекта и предполагаемого положения третьих пикселей 314 общего объекта, создает синтетическое изображение 306 на основе третьего изображения 304 и по меньшей мере либо первого изображения 300, либо второго изображения 302.
[155] В некоторых вариантах осуществления настоящей технологии синтетическое изображение 306 может включать в себя по меньшей мере третьи пиксели 314 общего объекта и пиксели 320 коррекции. Создание синтетического изображения 306 может включать в себя выполнение сервером 106 процедуры 400 создания синтетического изображения, как изображено на ФИГ. 4. Например, сервер 106 может создавать первый отрисованный вид 450, второй отрисованный вид 452 и третий отрисованный вид 454 синтетического изображения 306 для создания синтетического изображения 306.
[156] В других вариантах осуществления настоящей технологии сервер 106 может выполнить процедуру верификации коррекции для третьего отрисованного вида 454 синтетического изображения для определения положений пикселей коррекции 320.
[157] В дополнительных вариантах осуществления способа по меньшей мере некоторые из положений пикселей коррекции 320 могут быть по меньшей мере положениями некоторых пикселей в пределах действительного положения третьих пикселей 314 общего объекта в пределах третьего изображения 304, как изображено на ФИГ. 3.
[158] В альтернативных вариантах осуществления настоящей технологии создание синтетического изображения 306 сервером 106 может включать в себя назначение третьих пикселей 314 общего объекта предполагаемому положению третьих пикселей 314 общего объекта в пределах синтетического изображения 306.
[159] В другом варианте осуществления настоящей технологии создание сервером 106 синтетического изображения 306 может включать в себя определение сервером положений пикселей коррекции и пикселей 320 коррекции на основе действительного положения третьих пикселей 314 общего объекта и по меньшей мере либо первого изображения 300, либо второго изображения 302.
[160] В других вариантах осуществления настоящей технологии создание синтетического изображения 306 сервером 106 может включать в себя назначение пикселей 320 коррекции положениям пикселей 320 коррекции в пределах синтетического изображения 306.
[161] Важно иметь в виду, что не все упомянутые здесь технические результаты могут проявляться в каждом из вариантов осуществления настоящего технического решения. Например, варианты осуществления настоящего технического решения могут быть реализованы без проявления некоторых технических результатов, а другие варианты могут быть реализованы с проявлением других технических результатов или вовсе без них.
[162] Специалисты в данной области техники поймут, что в настоящем описании выражение «получение данных» от пользователя подразумевает получение электронным устройством данных от пользователя в виде электронного (или другого) сигнала. Кроме того, специалисты в данной области техники поймут, что отображение данных пользователю через графический интерфейс пользователя (например, экран компьютерного устройства и тому подобное) может включать в себя передачу сигнала графическому интерфейсу пользователя, этот сигнал включает в себя данные, которые могут быть обработаны, и по меньшей мере часть этих данных может отображаться пользователю через графический интерфейс пользователя.
[163] Некоторые из этих этапов, а также передача-получение сигнала хорошо известны в данной области техники и поэтому для упрощения были опущены в конкретных частях данного описания. Сигналы могут быть переданы-получены с помощью оптических средств (например, оптоволоконного соединения), электронных средств (например, проводного или беспроводного соединения) и механических средств (например, на основе давления, температуры или другого подходящего параметра).
[164] Модификации и улучшения вышеописанных вариантов осуществления настоящего технического решения будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не несет никаких ограничений. Таким образом, объем настоящего технического решения ограничен только объемом прилагаемой формулы изобретения.
[165] Таким образом, с одной точки зрения, варианты осуществления настоящей технологии, описанные выше, можно изложить следующим образом, структурировано, пронумерованными пунктами.
[166] ПУНКТ 1. Способ (700) создания синтетического изображения (306), способ выполняется на сервере (106) и включает в себя:
получение (702) сервером (106) первых данных (210), связанных с первым изображением (300), и вторых данных (220), связанных со вторым изображением (302), причем первые данные (210) могут включать в себя первые пиксели (232) и первую отметку времени (212), а вторые данные (220) могут включать в себя вторые пиксели (234) и вторую отметку (214) времени, а также первое изображение (300) и второе изображение (302) изображают общий объект (63);
определение (704) сервером (106) действительного положения первых пикселей (310) общего объекта в пределах первых пикселей (232), и действительного положения вторых пикселей (312) общего объекта в пределах вторых пикселей (234), причем первые пиксели (310) общего объекта и вторые пиксели (312) общего объекта связаны с общим объектом (63) в первом изображении (300) и втором изображении (302), соответственно;
определение (706) сервером (106) информации о движении общего объекта на основе действительного положения первых пикселей (310) общего объекта и действительного положения вторых пикселей (312) общего объекта, первой отметки (212) времени и второй отметки (214) времени, причем информация о движении общего объекта (63) представляет собой шаблон движения общего объекта (63) между положением общего объекта (63) на первом изображении (300) и положением общего объекта (63) на втором изображении (302);
получение (708) сервером (106) третьих данных (230), связанных с третьим изображением (304), причем третьи данные (230) включают в себя третьи пиксели (236) и третью отметку (216) времени, а третье изображение (304) изображает общий объект (63);
определение (710) сервером (106) действительного положения третьих пикселей (314) общего объекта в пределах третьих пикселей (236), причем третьи пиксели (314) общего объекта связаны с общим объектом (63) на третьем изображении (304);
определение (712) сервером (106) предполагаемого положения третьих пикселей (314) общего объекта в пределах третьих пикселей (236), на основе информации о движении общего объекта, третьей отметки (216) времени и третьих пикселей (236);
определение (714) сервером (106) того, совпадает ли действительное положение третьих пикселей (314) общего объекта и предполагаемое положение третьих пикселей (314) общего объекта; и
в ответ на несовпадение действительного положения третьих пикселей (314) общего объекта и предполагаемого положения третьих пикселей (314) общего объекта, создание (716) сервером (106) синтетического изображения (306) на основе третьего изображения (304) и по меньшей мере либо первого изображения (300), либо второго изображения (302), причем это синтетическое изображение включает в себя по меньшей мере третьи пиксели (314) общего объекта и пиксели (320) коррекции, причем создание (716) включает в себя:
назначение сервером (106) третьих пикселей (314) общего объекта предполагаемому положению третьих пикселей (314) общего объекта в пределах синтетического изображения (306);
определение сервером (106) положений пикселей (320) коррекции и пикселей (320) коррекции на основе действительного положения третьих пикселей (314) общего объекта и по меньшей мере либо первого изображения (300), либо второго изображения (302); и
назначение сервером (106) пикселей (320) коррекции положению пикселей (320) коррекции в пределах синтетического изображения (306).
[167] ПУНКТ 2. Способ (700) по п. 1, в котором по меньшей мере некоторые из положений пикселей (320) коррекции являются по меньшей мере положениями некоторых пикселей в пределах действительного положения третьих пикселей (314) общего объекта в пределах третьего изображения (304).
[168] ПУНКТ 3. Способ (700) по любому из пп. 1 и 2, в котором первое изображение (300), второе изображение (302) и третье изображение (304) сняты двигающейся камерой (112), в котором первые данные (210), вторые данные (220) и третьи данные (230) получены сервером (106) от камеры (112), и в котором способ дополнительно включает в себя:
- получение сервером (106) информации о движении камеры, причем эта информация связана с двигающейся камерой (112); и
информация о движении общего объекта также основана на информации о движении камеры.
[169] ПУНКТ 4. Способ (700) по любому из пп. 1-3, в котором либо первое изображение (300), либо второе изображение (302), либо третье изображение (304), либо синтетическое изображение являются панорамными изображениями.
[170] ПУНКТ 5. Способ (700) по любому из пп. 1 и 4, в котором способ (700) дополнительно включает в себя:
- в ответ на несовпадение действительного положения третьих пикселей (314) общего объекта и предполагаемого положения третьих пикселей (314) общего объекта определение сервером (106) того, что мгновенное значение скорости общего объекта (63) в момент времени, соответствующий третьей отметке (216) времени, отличается от мгновенного значения скорости общего объекта (63) в момент времени, соответствующий второй отметке (214) времени; и
- сохранение сервером (106) мгновенного значения скорости общего объекта (63) в момент времени, соответствующий третьей отметке (216) времени, и мгновенного значения скорости общего объекта в момент времени, соответствующий второй отметке (214) времени.
[171] ПУНКТ 6. Способ (700) по п. 3, в котором первое изображение (300') и второе изображение (302') дополнительно изображают, в дополнение к общему объекту (63'), другой объект (69), способ (700) включает в себя:
- определение сервером (106) действительного положения первых пикселей (310') общего объекта в пределах первых пикселей (232'), и действительного положения вторых пикселей (312') общего объекта в пределах вторых пикселей (234'), причем первые пиксели (310') общего объекта и вторые пиксели (312') общего объекта связаны с общим объектом (63') в первом изображении (300') и втором изображении (302'), соответственно;
- определение сервером (106) действительного положения первых пикселей (610) другого объекта в пределах первых пикселей (232'), и действительного положения вторых пикселей (612) другого объекта в пределах вторых пикселей (234'), причем первые пиксели (610) другого объекта и вторые пиксели (612) другого объекта связаны с общим объектом (69) в первом изображении (300') и втором изображении (302'), соответственно;
- определение сервером (106) информации о движении общего объекта на основе действительного положения первых пикселей (310') общего объекта, действительного положения вторых пикселей (312') общего объекта, первой отметки (212') времени и второй отметки (214') времени;
- определение сервером (106) информации о движении другого объекта на основе действительного положения первых пикселей (610) другого объекта, действительного положения вторых пикселей (612) другого объекта, первой отметки (212') времени и второй отметки (214') времени;
- определение сервером (106) статуса движения общего объекта (63') на основе информации о движении общего объекта; и
- определение сервером (106) статуса движения другого объекта (69) на основе информации о движении другого объекта.
[172] ПУНКТ 7. Способ (700) по п. 6, в котором в ответ на то, что статус движения общего объекта (63') динамический, способ (700) дополнительно включает в себя:
определение сервером (106) предполагаемого положения третьих пикселей (314') общего объекта в пределах третьих пикселей (236'), на основе информации о движении общего объекта, третьей отметки (216') времени и третьих пикселей (236');
определение сервером (106) того, совпадает ли действительное положение третьих пикселей (314') общего объекта и предполагаемое положение третьих пикселей (314') общего объекта; и
в ответ на несовпадение действительного положения третьих пикселей (314') общего объекта и предполагаемого положения третьих пикселей (314') общего объекта, создание сервером (106) синтетического изображения (306') на основе третьего изображения (304') и по меньшей мере либо первого изображения (300'), либо второго изображения (302'), причем это синтетическое изображение включает в себя по меньшей мере третьи пиксели (314') общего объекта и пиксели (320') коррекции, причем создание включает в себя:
назначение сервером (106) третьих пикселей (314') общего объекта предполагаемому положению третьих пикселей (314') общего объекта в пределах синтетического изображения (306');
определение сервером (106) положений пикселей (320') коррекции и пикселей (320') коррекции на основе действительного положения третьих пикселей (314') общего объекта и по меньшей мере либо первого изображения (300'), либо второго изображения (302'); и
назначение сервером (106) пикселей (320') коррекции положению пикселей (320') коррекции в пределах синтетического изображения (306').
и в ответ на то, что статус движения другого объекта (69) динамический, способ (700) дополнительно включает в себя:
определение сервером (106) предполагаемого положения третьих пикселей (614) другого объекта в пределах третьих пикселей (236'), на основе информации о движении другого объекта, третьей отметки (216') времени и третьих пикселей (236');
определение сервером (106) того, совпадает ли действительное положение третьих пикселей (614) другого объекта и предполагаемое положение третьих пикселей (614) другого объекта; и
в ответ на несовпадение действительного положения третьих пикселей (614) другого объекта и предполагаемого положения третьих пикселей (614) другого объекта, создание сервером (106) синтетического изображения (306') на основе третьего изображения (304') и по меньшей мере либо первого изображения (300'), либо второго изображения (302'), причем это синтетическое изображение включает в себя по меньшей мере третьи пиксели (614) другого объекта и другие пиксели (620) коррекции, причем создание включает в себя:
назначение сервером (106) третьих пикселей (614) другого объекта предполагаемому положению третьих пикселей (614) другого объекта в пределах синтетического изображения (306');
определение сервером (106) положений других пикселей (620) коррекции и других пикселей коррекции (620) на основе действительного положения третьих пикселей (614) другого объекта и по меньшей мере либо первого изображения (300'), либо второго изображения (302'); и
назначение сервером (106) других пикселей (620) коррекции положению других пикселей (620) коррекции в пределах синтетического изображения (306').
[173] ПУНКТ 8. Способ (700) по п. 5, способ (700) дополнительно включает в себя:
- определение сервером (106) новой частоты съемки изображений на основе информации о движении общего объекта;
- отправка сервером (106) указания новой частоты съемки изображений камере (112); и
- съемка камерой (112) новых изображений в соответствии с новой частотой съемки изображений.
[174] ПУНКТ 9. Способ (700) по п. 8, в котором определение новой частоты съемки изображений включает в себя:
- повышение частоты съемки изображений в ответ на то, что мгновенное значение скорости общего объекта (63) в момент времени, соответствующий второй отметке (214) времени, превышает порог мгновенного значения скорости; и
- Понижение частоты съемки изображений в ответ на то, что мгновенное значение скорости общего объекта (63) в момент времени, соответствующий второй отметке (214) времени, находится ниже порога мгновенного значения скорости.
[175] ПУНКТ 10. Способ (700) по любому из пп. 1-7, в котором создание (716) синтетического изображения (306, 306') включает в себя выполнение сервером (106) процедуры (400) создания синтетического изображения, причем процедура (400) создания синтетического изображения включает в себя создание сервером (106) первого (450), второго (452) и третьего (454) отрисованных видов синтетического изображения (306).
[176] ПУНКТ 11. Способ (700) по п. 10, в котором выполнение процедуры (400) создания синтетического изображения включает в себя выполнение сервером (106) процедуры верификации коррекции.
[177] ПУНКТ 12. Способ (700) по любому из пп. 1-6, в котором определение (704, 710) действительного положения первых пикселей общего объекта, действительного положения вторых пикселей общего объекта и действительного положения третьих пикселей общего объекта может включать в себя выполнение сервером (106) техники распознавания объекта.
[178] ПУНКТ 13. Система (100) для создания синтетического изображения (306), система (100) включает в себя камеру (112), клиентское устройство (102) и сервер (106), система (100) выполнена с возможностью выполнять способ (700) по пп. 1-12, и система выполнена с возможностью отправлять с помощью сервера (106) на клиентское устройство (102) по меньшей мере либо первое изображение (300), либо второе изображение (302), либо синтетическое изображение (306) для отображения по меньшей мере либо первого изображения (300), либо второго изображения (302), либо синтетического изображения (306) пользователю (104) клиентского устройства (102).
[179] ПУНКТ 14. Сервер (106) для создания синтетического изображения (306), сервер (106) включает в себя процессор для выполнения машиночитаемых инструкций, процессор выполнен с возможностью выполнять способ (700) по любому из пп. 1-12.