Способ и электронное устройство для обработки изображения

Иллюстрации

Показать все

Изобретение относится к способам обработки изображения. Технический результат заключается в повышении скорости формирования изображения. Способ включает в себя получение изображения, которое необходимо отрисовать для отображения на электронном устройстве, разделение изображения по меньшей мере на два фрагмента, каждый из которых является пригодным для отрисовки с использованием графических элементов, получение соответствующим дочерним потоком обработки указания на соответствующий фрагмент из этих по меньшей мере двух фрагментов и набор требуемых графических элементов, причем каждый дочерний поток обработки получает единственный экземпляр соответствующего фрагмента для обработки в данный момент, выделение новой области в памяти электронного устройства для каждого соответствующего дочернего потока обработки, отрисовку соответствующим дочерним потоком обработки соответствующих изображений каждого соответствующего фрагмента в соответствующей выделенной области, сохранение каждого отрисованного изображения в виде байтового массива, передачу байтового массива соответствующим дочерним потоком обработки главному потоку обработки, отрисовку финального изображения главным потоком обработки на экране электронного устройства с использованием набора байтовых массивов. 2 н. и 18 з.п. ф-лы, 6 ил.

Реферат

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

Настоящая технология относится к способам обработки изображения и, более конкретно, к способу и электронному устройству для обработки изображения.

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

Типичный пользователь электронного устройства может получить доступ к огромному количеству информации (например, к информации, доступной на различных ресурсах в Интернете и так далее). Иногда такая информация содержит мультимедиа - например, изображения, видео, аудиофайлы и так далее. Некоторые изображения, доступные на этих веб-сайтах, могут быть довольно объемными и могут требовать значительных вычислительных ресурсов электронного устройства для отрисовки изображения на экране электронного устройства. Один пример такого изображения, которое требует значительных вычислительных ресурсов, - географическая карта для отображения на электронном устройстве.

Множество веб-сайтов и приложений для электронных устройств отображают географические карты. Некоторые приложения посвящены исключительно отображению географических карт. Кроме отображения географических карт, эти веб-сайты и приложения часто отображают объекты с перекрытием карты, чтобы отобразить такие объекты, как достопримечательности, указатели, обозначения, значки, графики движения по маршруту и тому подобные. Во многих случаях эти карты интерактивны. Например, для карты, отображенной в веб-браузере, движение курсора мыши по объекту на карте может вызвать отображение описания объекта, такого как адрес или название пункта. В этом же примере, щелчок мышью по объекту может отобразить облачко, содержащее дополнительную информацию, связанную с пунктом, который представлен объектом, например, название пункта, адрес, номер телефона, ссылка на веб-сайт и в случае бизнес сервисов, таких как рестораны и отели, рейтинги, ссылки для бронирования или на отзывы клиентов.

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

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

В патенте США №7734412, опубл 08.06.2010 описано устройство и способ для отрисовки картографических изображений. В одном из примеров устройство (например, картографический сервер) включает в себя алгоритм для инициации передачи данных о фрагментированном векторном изображении в ответ на запрос карты, в котором векторные данные связаны с сохраненными картографическими данными, подразделенными на множество фрагментов. Данные о фрагментированном векторном изображении передаются на удаленное устройство (например, клиентское устройство) для формирования картографического изображения. Кроме того, данные о векторном изображении могут содержать один или несколько связанных с ними атрибутов, настраиваемых принимающим устройством. Например, картографическое изображение может быть сформировано (например, настроено) на основе одного или нескольких локальных атрибутов с разнообразием языков, цветов, типа отображения элементов карты и других характеристик изображения на картографическом изображении.

Раскрытие изобретения

Задачей предлагаемой технологии является устранение по меньшей мере некоторых недостатков, присущих известному уровню техники.

Авторы разработали несколько вариантов осуществления настоящей технологии, принимая во внимание по меньшей мере один недостаток известного уровня техники. Большинство современных веб-ресурсов, доступных в Интернете, созданы с полным или частичным использованием JavaScript. Как известно специалистам в данной области, JavaScript позволяет создавать относительно сложные веб-ресурсы, а также исполнять часть кода на электронном устройстве, которое используется для доступа к веб-ресурсу. Браузер, исполняющий код JavaScript (или более конкретно, ядро операционной системы, на которой исполняется браузер) создает главный поток обработки для обработки кода JavaScript. Главный поток обработки исполняет блоки JavaScript последовательно. Рабочие потоки (также называемые "потоки-исполнители" или "дочерние потоки обработки") позволяют исполнять параллельные процессы JavaScript с ограничением: рабочие потоки могут исполнять только процессы, которые не требуют взаимодействия с пользовательским интерфейсом электронного устройства, исполняющего браузер, который, в свою очередь, исполняет JavaScript.

Главный поток обработки и рабочие потоки обмениваются данными. Данные, которыми обмениваются главный поток обработки и рабочие потоки, включают в себя: задачи, которые должны быть исполнены рабочими потоками и результаты исполнения задач рабочими потоками. Главный поток обработки затем использует результаты исполнения задач рабочими потоками, чтобы вывести их (или их часть) в пользовательский интерфейс электронного устройства.

Авторы обнаружили, что ограничения того, как JavaScript взаимодействует с главным потоком обработки и рабочими потоками, приводят к следующему недостатку: отрисовка больших изображений не может быть выполнена с помощью параллельных процессов. Другими словами, отрисовка изображения на экране может быть выполнена только главным потоком обработки. Это создает все увеличивающуюся перегрузку главного потока обработки и увеличивает время, которое требуется главному потоку обработки, чтобы сформировать изображение, например, картографическое изображение, которое показано как 100 на Фиг. 1. На Фиг. 1 представлено типичное картографическое изображение.

Первым объектом настоящей технологии является способ обработки изображения, выполняемый на электронном устройстве, имеющем приложение, исполняемое электронным устройством с помощью главного потока обработки и по меньшей мере одного дочернего потока обработки, который зависит от главного потока обработки, способ содержит: получение изображения, которое необходимо отрисовать для отображения на электронном устройстве; разделение изображения по меньшей мере на два фрагмента, каждый из которых является пригодным для отрисовки с использованием графических элементов; получение соответствующим дочерним потоком обработки указания на соответствующий фрагмент из этих по меньшей мере двух фрагментов и набор требуемых графических элементов, причем каждый дочерний поток обработки получает единственный экземпляр соответствующего фрагмента для обработки в данный момент; выделение новой области в памяти электронного устройства для каждого соответствующего дочернего потока обработки; отрисовку соответствующим дочерним потоком обработки соответствующего изображения каждого соответствующего фрагмента в соответствующей выделенной области памяти; сохранение каждого отрисованного изображения в виде байтового массива; передачу байтового массива соответствующим дочерним потоком обработки главному потоку обработки; отрисовку финального изображения главным потоком обработки на экране электронного устройства с использованием набора байтовых массивов.

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

Возможен вариант осуществления способа, в котором набор требуемых графических элементов - это подгруппа всех возможных графических элементов; а в способе дополнительно выполняют выбор главным потоком обработки набора требуемых графических элементов для каждого из по меньшей мере двух фрагментов.

Возможен вариант осуществления способа, в котором при получении соответствующим дочерним потоком обработки набора требуемых графических элементов выполняют: получение из главного потока обработки всех возможных графических элементов; выбор соответствующими дочерними потоками обработки из всех возможных графических элементов подгруппы графических элементов, которая является требуемой для обработки связанного одного из не менее двух фрагментов. Возможен вариант осуществления способа, в котором главный поток обработки и по меньшей мере один дочерний поток обработки являются компонентами архитектуры JavaScript.

Возможен вариант осуществления способа, в котором дополнительно выбирают по меньшей мере один дочерний поток обработки.

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

Возможен вариант осуществления способа, в котором приложение является браузерным приложением.

Возможен вариант осуществления способа, в котором изображение содержит часть карты.

Возможен вариант осуществления способа, в котором дополнительно получают запрос на просмотр картографического изображения, причем картографическое изображение включает в себя часть карты.

Возможен вариант осуществления способа, в котором по меньшей мере два фрагмента содержат в себе множество фрагментов; а каждый соответствующий дочерний поток обработки получает следующее множество фрагментов после завершения обработки предыдущего множества фрагментов.

Еще одним объектом настоящей технологии является электронное устройство, содержащее: интерфейс пользовательского ввода и интерфейс пользовательского вывода; процессор, выполненный с возможностью выполнения приложения с использованием главного потока обработки и по меньшей мере одного дочернего потока обработки, который зависит от главного потока обработки, также процессор выполнен с возможностью: получения изображения, которое необходимо сформировать для отображения на электронном устройстве; разделения изображения по меньшей мере на два фрагмента, каждый из которых является пригодным для отрисовки с использованием графических элементов; инициирования получения соответствующими дочерними потоками обработки указания на соответствующий фрагмент из этих по меньшей мере двух фрагментов и набор требуемых графических элементов; выделения новой области в памяти электронного устройства для каждого соответствующего дочернего потока обработки; инициирования отрисовки соответствующими дочерними потоками обработки соответствующих изображений каждого соответствующего фрагмента в соответствующей выделенной области; сохранения каждого отрисованного изображение в виде байтового массива; инициирования передачи байтового массива соответствующими дочерними потоками обработки главному потоку обработки; инициирования отрисовки главным потоком обработки финального изображения на экране электронного устройства с использованием набора байтовых массивов.

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

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

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

Возможен вариант осуществления электронного устройства, в котором главный поток обработки и по меньшей мере один дочерний поток обработки являются компонентами архитектуры JavaScript.

Возможен вариант осуществления электронного устройства, в котором процессор дополнительно выполнен с возможностью выбора по меньшей мере одного дочернего потока обработки.

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

Возможен вариант осуществления электронного устройства, в котором приложение является браузерным приложением.

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

В контексте настоящего описания, если конкретно не указано иное, «сервер» подразумевает под собой компьютерную программу, работающую на соответствующем оборудовании, которая способна получать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или инициировать выполнение этих запросов. Оборудование может представлять собой один физический компьютер или одну физическую компьютерную систему, но ни то, ни другое не является обязательным для данной технологии. В контексте настоящей технологии использование выражения «сервер» не означает, что каждая задача (например, полученные команды или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же сервером (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами, оба варианта включены в выражение «по меньшей мере один сервер».

В контексте настоящего описания, если конкретно не указано иное, "клиентское устройство" подразумевает под собой аппаратное устройство, способное работать с программным обеспечением, подходящим для решения соответствующей задачи. Примерами клиентских устройств, среди прочего, являются персональные компьютеры (настольные компьютеры, ноутбуки и т.д.), смартфоны и планшеты. Следует иметь в виду, что устройство, ведущее себя как клиентское устройство в настоящем контексте, может вести себя как сервер по отношению к другим клиентским устройствам. Использование выражения «клиентское устройство» не исключает возможности использования множества клиентских устройств для получения/отправки, выполнения или инициирования выполнения любой задачи или запроса, или же последствий любой задачи или запроса, или же этапов любого вышеописанного способа.

В контексте настоящего описания, если конкретно не указано иное, термин «база данных» подразумевает под собой любой структурированный набор данных, не зависящий от конкретной структуры, программного обеспечения по управлению базой данных, аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом оказываются доступны для использования. База данных может находиться на том же оборудовании, выполняющем процесс, который сохраняет или использует информацию, хранящуюся в базе данных, или же она может находиться на отдельном оборудовании, например, выделенном сервере или множестве серверов.

В контексте настоящего описания, если конкретно не указано иное, термин «компонент» подразумевает под собой программное обеспечение (соответствующее конкретному аппаратному контексту), которое является необходимым и достаточным для выполнения конкретной(ых) указанной(ых) функции(й).

В контексте настоящего описания, если конкретно не указано иное, термин «используемый компьютером носитель компьютерной информации» подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д. В контексте настоящего описания, если конкретно не указано иное, термин «интерктивный» подразумевает под собой, что нечто (или не менее чем его часть) может реагировать на пользовательский ввод.

Каждый вариант осуществления настоящей технологии преследует по меньшей мере одну из вышеупомянутых целей и/или объектов. Следует иметь в виду, что некоторые объекты данной технологии, полученные в результате попыток достичь вышеупомянутой цели, могут удовлетворять и другим целям, отдельно не указанным здесь.

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

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

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

На Фиг. 1 представлен снимок экрана, изображающий типичное картографическое изображение; это изображение является примером изображения, которое может быть обработано с применением вариантов осуществления настоящей технологии.

На Фиг. 2 представлена принципиальная схема системы, которую можно реализовать как не ограничивающий вариант осуществления настоящей технологии.

На Фиг. 3 представлена блок-схема клиентского устройства системы, изображенной на Фиг. 2.

На Фиг. 4 представлена блок-схема способа, выполненного в соответствии с не ограничивающими вариантами осуществления настоящей технологии, способ выполняется с помощью клиентского устройства, изображенного на Фиг. 2.

На Фиг. 5 представлен фрагмент карты, обрабатываемый в соответствии с вариантами осуществления настоящей технологии.

На Фиг. 6 представлена схема главного потока обработки, первого дочернего потока обработки, второго дочернего потока обработки и N-го дочернего потока обработки, созданных в соответствии с не ограниченными вариантами осуществления настоящей технологии.

Осуществление изобретения

На Фиг. 2 представлена принципиальная схема системы 200, которую можно реализовать как не ограничивающий вариант осуществления настоящей технологии. Важно иметь в виду, что нижеследующее описание системы 200 представляет собой иллюстративный вариант осуществления настоящей технологии. Таким образом, все последующее описание представлено только как описание примера осуществления настоящей технологии. Это описание не предназначено для определения объема или установления границ настоящей технологии. Некоторые полезные примеры модификаций системы 200 также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании, а не определение объема и границ настоящей технологии. Эти модификации не представляют собой исчерпывающий список, и специалистам в данной области техники будет понятно, что возможны и другие модификации. Кроме того, это не должно интерпретироваться так, что там, где это еще не было сделано, т.е. там, где не были изложены примеры модификаций, никакие модификации невозможны, и/или что то, что описано, является единственным вариантом осуществления этого элемента настоящей технологии. Как будет понятно специалисту в данной области техники, это, скорее всего, не так. Кроме того, следует иметь в виду, что система 200 представляет собой в некоторых конкретных проявлениях достаточно простой вариант осуществления настоящей технологии, и в подобных случаях он представлен здесь с целью облегчения понимания. Как будет понятно специалисту в данной области техники, многие варианты осуществления настоящей технологии будут обладать гораздо большей сложностью.

Система 200 включает в себя электронное устройство 202. Электронное устройство 202 обычно связано с пользователем 204 и, таким образом, иногда может упоминаться как клиентское устройство 202. Следует отметить, что тот факт, что клиентское устройство 202 связано с пользователем, не подразумевает какого-либо конкретного режима работы, равно как и необходимости входа в систему, регистрации, или чего-либо подобного.

Варианты клиентского устройства 202 конкретно не ограничены, но, например, в качестве клиентского устройства 202 могут использоваться персональные компьютеры (настольные компьютеры (изображен), ноутбуки, нетбуки и т.п.), устройства беспроводной связи (мобильные телефоны, смартфоны, планшеты и т.п.). Клиентское устройство 202 включает в себя аппаратное обеспечение, программное обеспечение и/или встроенные программы (или сочетание перечисленного) для выполнения приложения (например, браузерного приложения, картографического приложения и т.п.), причем приложение среди прочего отображает пользовательский интерфейс, например, интерфейс браузерного приложения, который может быть использован для доступа к изображению карты с помощью картографического приложения или браузерного приложения. Картографическое приложение, среди прочего, может быть специализированным картографическим приложением, например, приложением Яндекс.Карты для мобильных устройств, веб-браузером или любым другим приложением, при условии, что они включают в себя область отображения карты. В конкретном варианте осуществления настоящей технологии пользовательский интерфейс может быть реализован на веб-странице, которая не является картографически специализированной (например, на веб-сайте общего характера, таком как веб-сайт банка, ресторана и т.п.).

В конкретных вариантах осуществления с краткой ссылкой на Фиг. 3 будет описана принципиальная схема клиентского устройства 202. Клиентское устройство 202 может содержать процессор 303. В конкретных вариантах осуществления настоящей технологии процессор 303 может состоять из одного или нескольких процессоров и/или одного или нескольких микроконтроллеров, реализованных с возможностью выполнять команды и операции, связанные с операциями клиентского устройства 202. В разнообразных вариантах осуществления настоящей технологии процессор 303 может быть реализован как однокристальный, многокристальный и/или содержащий другие электротехнические детали, включая одну или несколько интегральных схем и печатных плат. Процессор 303 может опционально содержать кэш-память (не изображена) для временного локального хранения команд, данных или электронных адресов. В качестве примера, процессор 303 состоять из одного или нескольких процессоров и/или одного или нескольких контроллеров, предназначенных для определенных задач обработки клиентского устройства 202 или одного многофункционального процессора или контроллера.

Процессор 303 функционально связан с модулем 304 памяти. Модуль 304 памяти может включать один или несколько носителей и в общем случае предоставлять место для хранения машинного кода (например, программного обеспечения и/или встроенных программ). В качестве примера модуль 304 памяти может включать разнообразные материальные машиночитаемые носители, включая постоянное запоминающее устройство ПЗУ (ROM) и/или оперативное запоминающее устройство ОЗУ (RAM). Как широко известно в данной области техники, ПЗУ передает данные и команды однонаправленно процессору 303, а ОЗУ обычно используется для передачи данных и команд двунаправленно. Модуль 304 памяти может также включать одно или несколько стационарных запоминающих устройств, в виде, среди прочих подходящих форм памяти, например, жестких дисков (HDD), твердотельных накопителей (SSD), карт флэш-памяти (например, безопасные цифровые карты или SD-карты, встроенные мультимедийные карты или еММС карты), соединенных двунаправленно с процессором 303. Информация может также находиться на одном или нескольких съемных носителях, поставленных или установленных в клиентское устройство 202. В качестве примера любое количество подходящих карт памяти (например, SD-карт) может быть установлено в клиентское устройство 202 на временной или постоянной основе.

Модуль 304 памяти может хранить в числе прочего серии машиночитаемых команд, выполнение которых позволяет процессору 303 (а также другим компонентам клиентского устройства 202) выполнять различные описанные здесь операции. Клиентское устройство 202 также содержит модуль 306 ввода-вывода. Модуль 306 ввода-вывода может содержать одно или несколько устройств ввода-вывода, функционально связанных с процессором 303. Например, модуль 306 ввода-вывода может содержать клавиатуру, мышь, одну или несколько кнопок, колесико и/или дисплей (например, жидкокристаллический дисплей (LCD), светодиодный дисплей (LED), дисплей на основе интерферометрической модуляции (IMOD) или дисплей на основе любой другой подходящей технологии). В общем случае, устройства ввода выполнены с возможностью передавать данные, команды и ответы из внешнего мира в клиентское устройство 202. Дисплей в общем случае выполнен с возможностью отображать графический интерфейс пользователя (GUI), который предоставляет простой в использовании графический интерфейс между пользователем клиентского устройства 202 и операционной системой или приложением(и), установленными на клиентском устройстве 202. В общем случае графический интерфейс пользователя (GUI) представляет программы, файлы и операционные опции с помощью графических изображений. Во время проведения операции пользователь может выбрать и активировать разнообразные графические изображения, отображенные на дисплее, для инициации функций и задач, связанных с ними. Модуль 306 ввода-вывода может также включать сенсорные устройства, такие как сенсорная панель и сенсорный экран. Сенсорная панель является устройством ввода, включающим поверхность, которая определяет ввод на основе касаний пользователя. Аналогично, сенсорный экран является экраном, который определяет наличие и местоположение касаний пользователя. Модуль 306 ввода-вывода может также включать экран или панель мультисенсорной или дуальной сенсорной модели, которые могут определять наличие, местоположение и движение более чем одного сенсорного ввода, как, например, касания двумя или тремя пальцами.

В конкретном варианте осуществления настоящей технологии клиентское устройство 202 является смартфоном, а модуль 306 ввода-вывода может являться сенсорным экраном.

В конкретном варианте осуществления настоящей технологии клиентское устройство 202 может дополнительно содержать аудиомодуль 308, видеомодуль 310, модуль 312 беспроводной передачи данных, сенсорный модуль 314, и/или модуль 316 проводной передачи данных, при этом все они функционально соединены с процессором 303 для обеспечения разнообразных функций клиентского устройства 202.

Например, видеомодуль 310, включая оптический сенсор (например, прибор с зарядовой связью (CCD) или комплементарный метал-оксидный полупроводниковый (CMOS) видеосенсор), может быть использован для обеспечения фото- и видеофункций, таких как фото- и видеосъемка. Например, модуль 316 проводной передачи данных, может включать в себя порт USB (универсальной последовательной шины) для передачи файлов, или порт Ethernet для связи с LAN (локальной вычислительной сетью). Дополнительно, клиентское устройство 202 может питаться от модуля 318 источника питания, который может быть реализован как аккумулятор и т.п.

В некоторых вариантах осуществления настоящей технологии модуль 312 беспроводной передачи данных может быть выполнен для управления одной или несколькими беспроводными сетями, например, персональной беспроводной сетью (WPAN) (такой как, например, BLUETOOTH WPAN или инфракрасная персональная сеть (PAN)), сетью WI-FI (такой как, например, сеть 802.11a/b/g/n WI-FI, многосвязная сеть 802.11s), сетью с широкополосным доступом в микроволновом диапазоне WI-MAX, сотовой сетью (такой как, например, сеть глобальной системы мобильной передачи данных (GSM), сеть с развитием стандарта GSM с увеличенной скоростью передачи данных (EDGE), сеть универсальной мобильной телекоммуникационной системы (UMTS) и/или сеть стандарта долговременного развития (LTE)). Дополнительно, модуль 312 беспроводной передачи данных может включать протоколы хранения, вследствие чего клиентское устройство 202 может быть выполнено с возможностью быть центральной станцией для других устройств беспроводной передачи данных.

Сенсорный модуль 314 может включать одно или несколько сенсорных устройств для обеспечения дополнительного ввода и многофункциональности клиентского устройства 202.

В конкретных вариантах осуществления настоящей технологии, разнообразные компоненты клиентского устройства 202 могут быть функционально соединены с одной или несколькими шинами (включая программное и/или аппаратное обеспечение). В качестве неограничивающего примера, одна или несколько шин могут включать в себя: ускоренный графический порт (AGP) или другую шину передачи графических данных, шину усовершенствованной стандартной промышленной архитектуры (EISA), внешнюю шину (FSB), высокопроизводительную шину типа HyperTransport (HYPERTRANSPORT (HT)), шину стандартной промышленной архитектуры (ISA), высокоскоростную коммутируемую последовательную шину INFINIBAND, шину малого числа контактов (LPC), шину запоминающего устройства, шину стандарта микроканальной архитектуры (МСА), локальную шину соединения периферийных устройств (PCI), локальную шину соединения периферийных устройств Express (PCI-X), шину для организации доступа к жестким дискам в портативных компьютерах (SATA), локальную шину стандарта VESA (VLB), универсальный асинхронный интерфейс (UART), шину межсоединений интегральных схем (I2C), шину последовательного периферийного интерфейса (SPI), интерфейс SD-памяти, интерфейс ММС-памяти, интерфейс флеш-карты памяти, интерфейс защищенного цифрового ввода-вывода (SDIO), шину многоканального буферизированного последовательного порта (McBSP), универсальную последовательную шину (USB), шину стандартного запоминающего устройства (GPMC), шину контроллера SDRAM (SDRC), шину стандартного ввода-вывода (GPIO), шину двухкомпонентного видео-сигнала (S-Video), шину последовательного интерфейса дисплея (DSI), шину расширенной шинной архитектуры для микроконтроллеров (АМВА), или иную подходящую шину или сочетание двух или нескольких шин.

Возвращаясь к описанию Фиг. 2, клиентское устройство 202 соединено с сетью 206 передачи данных через линию 208 связи. В некоторых вариантах осуществления настоящей технологии, не ограничивающих ее объем, сеть 206 передачи данных может представлять собой Интернет. В других вариантах осуществления настоящей технологии сеть 206 передачи данных может быть реализована иначе - в виде глобальной сети передачи данных, локальной сети передачи данных, частной сети передачи данных и т.п.

Реализация линии 208 передачи данных не ограничена и будет зависеть от того, какое клиентское устройство 202 используется. В качестве примера, но не ограничения, в данных вариантах осуществления настоящей технологии в случаях, когда клиентское устройство 202 представляет собой беспроводное устройство связи (например, смартфон), линия 208 передачи данных представляет собой беспроводную сеть передачи данных (например, среди прочего, линия передачи данных 3G, линия передачи данных 4G, беспроводной интернет Wireless Fidelity или коротко WiFi®, Bluetooth® и т.п.). В тех примерах, где клиентское устройство 202 представляет собой портативный компьютер, линия передачи данных может быть как беспроводной (беспроводной интернет WiFi®, Bluetooth® и т.п) так и проводной (соединение на основе сети Ethernet).

Важно иметь в виду, что варианты реализации клиентского устройства 202, линии 208 передачи данных и сети 206 передачи данных даны исключительно для наглядности. Таким образом, специалисты в данной области техники смогут понять подробности других конкретных вариантов осуществления клиентского устройства 202, линии 208 передачи данных и сети 206 передачи данных. То есть, представленные здесь примеры не ограничивают объем настоящей технологии.

К сети передачи данных также присоединены картографический сервер 210 и сервер 212 приложения. Серверы 210, 212 могут представлять собой обычные компьютерные серверы. В примере варианта осуществления настоящей технологии каждый из серверов 210, 212 контента может представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Microsoft™ Windows Server™. Предполагается, что серверы 210, 212 могут быть реализованы на любом подходящем аппаратном и/или прикладном программном, и/или системном программном обеспечении или их комбинации. Разумеется, картографический сервер 210 может быть реализован иначе, чем сервер 212 приложения.

В представленном варианте осуществления настоящей технологии, не ограничивающем ее объем, каждый из серверов 210, 212 является одиночным сервером. В других вариантах осуществления настоящей технологии, не ограничивающих ее объем, функциональность каждого из серверов 210, 212 может быть разделена, и может выполняться с помощью нескольких серверов. В других вариантах осуществления настоящей технологии, не ограничивающих ее объем, функциональность серверов 210, 212 может быть представлена на одном сервере. Варианты осуществления серверов 210, 212 широко известны среди специалистов в данной области техники. Тем не менее, для краткой справки: серверы 210, 212 содержат интерфейс передачи данных (не показан), который настроен и выполнен с возможностью обмениваться данными с различными элементам (например, клиентским устройством 208, или друг с другом) через сеть 206 передачи данных. Каждый из серверов 210, 212 дополнительно включает в себя один или несколько пунктов из следующего: компьютерный процессор (не показан), функционально соединенный с интерфейсом связи, настроенный и выполненный с возможностью выполнять различные процессы, описанные здесь.

Картографический сервер 210 соединен с сетью 206 передачи данных через линию 214 передачи данных. Сервер 212 приложения соединен с сетью 206 передачи данных через линию 216 передачи данных. Реализация линий 214, 216 передачи данных не ограничена и будет зависеть от того, как реализованы серверы 210, 212. Предполагается, что примеры вариантов осуществления линии 208 передачи данных, предоставленные выше, могут быть применены к линиям 214, 216 передачи данных. Как будет описано ниже, картографический сервер 210 настроен на получение от клиентского устройства 202 запроса на фрагмент карты через сеть 206 передачи данных и линии 214, 216 передачи данных, извлекать за