НАСТРОЙКА ДЕСКРИПТОРА КАЖДОГО ПРИЗНАКА В РЕЖИМЕ ОНЛАЙН
ONLINE PER-FEATURE DESCRIPTOR CUSTOMIZATION

Уровень техники
[0001] Дескрипторы признаков, генерируемые последовательностью сравнений интенсивности двух пикселей, способны представлять признаки изображения кратко и быстро. Эти бинарные дескрипторы или булевы дескрипторы строк, которые хранят исход сравнения в одном бите, требуют небольшого количества памяти для каждого признака, уменьшая объем требуемой памяти и ширину полосы передачи по сети. Вычисление и сопоставление этих дескрипторов требует меньшего времени выполнения, чем альтернативы, подобные алгоритму масштабно-инвариантного преобразования признаков (SIFT) и алгоритму ускоренного поиска устойчивых признаков (SURF), со сравнимой точностью сопоставления.
[0002] Способ BRIEF (бинарных устойчивых независимых элементарных признаков) является примечательным из-за его способности достижения улучшений времени выполнения посредством использования векторных инструкций. Уменьшение использования памяти и времени выполнения подходит для нужд визуальных приложений реального времени с высокой частотой кадров в секунду.
Сущность изобретения
Аспект, описанный ниже основан на системе обработки изображений, содержащей устройство обработки, имеющее устройство памяти для хранения исполняемых компьютером инструкций, причем устройство обработки запрограммировано с возможностью определения первого дескриптора в первом изображении, генерации маски из первого изображения, определения второго дескриптора во втором изображении, сравнения первого дескриптора со вторым дескриптором для определения первого вектора ошибки, определения второго вектора ошибки путем применения маски и определения ошибки между первым дескриптором и вторым дескриптором с использованием второго вектора ошибки.
В одном из вариантов осуществления предложена система обработки изображений, в которой устройство обработки запрограммировано с возможностью размытия первого изображения до определения первого дескриптора и размытия второго изображения до определения второго дескриптора.
В одном из вариантов осуществления предложена система обработки изображений, в которой первый дескриптор вычисляется с использованием множества первых точек испытания, и в которой второй дескриптор включает в себя множество вторых точек испытания.
В одном из вариантов осуществления предложена система обработки изображений, в которой маска обеспечивает поднабор множества первых точек испытания.
В одном из вариантов осуществления предложена система обработки изображений, в которой маска включает в себя значение бита для каждого из поднабора множества первых точек испытания.
В одном из вариантов осуществления предложена система обработки изображений, в которой генерация маски включает в себя испытание множества первых точек испытания на устойчивость к изменению точки обзора и устранение неустойчивых точек испытания из множества первых точек испытания.
В одном из вариантов осуществления предложена система обработки изображений, в которой сравнение первого дескриптора со вторым дескриптором включает в себя применение операции исключительного ИЛИ (XOR) к первому дескриптору и второму дескриптору.
В одном из вариантов осуществления предложена система обработки изображений, в которой определение второго вектора ошибки включает в себя применение операции И (AND) к маске и первому вектору ошибки.
В одном из вариантов осуществления предложена система обработки изображений, в которой применение операции И (AND) устраняет ошибки в первом векторе ошибки.
В одном из вариантов осуществления предложена система обработки изображений, в которой сравнение первого дескриптора со вторым дескриптором включает в себя применение операции подсчета единичных битов (POPCNT) ко второму вектору ошибки.
В одном из вариантов осуществления предложена система обработки изображений, дополнительно содержащая камеру, выполненную с возможностью захвата первого изображения и второго изображения, причем второе изображение представляет изменение точки обзора камеры относительно первого изображения.
В одном из вариантов осуществления предложена система обработки изображений, в которой первое изображение используется для генерации множества дескрипторов и масок, а второе изображение используется для генерации множества дескрипторов, и в которой дескрипторы и маски, сгенерированные из первого изображения, сравниваются с дескрипторами, определенными из множества последовательных изображений.
В одном из вариантов осуществления предложен способ, содержащий этапы, на которых определяют первый дескриптор в первом изображении, генерируют маску из первого дескриптора;, определяют второй дескриптор во втором изображении, сравнивают первый дескриптор со вторым дескриптором для определения первого вектора ошибки, определяют второй вектор ошибки путем применения маски и определяют ошибку между первым дескриптором и вторым дескриптором из второго вектора ошибки.
В одном из вариантов осуществления предложен способ, дополнительно содержащий этапы, на которых размывают первое изображение до определения первого дескриптора и размывают второе изображение до определения второго дескриптора.
В одном из вариантов осуществления предложен способ, в котором первый дескриптор включает в себя множество первых точек испытания, и в котором второй дескриптор включает в себя множество вторых точек испытания.
В одном из вариантов осуществления предложен способ, в котором маска обеспечивает поднабор множества первых точек испытания.
В одном из вариантов осуществления предложен способ, в котором генерация маски включает в себя этапы, на которых испытывают множество первых точек испытания на устойчивость к изменению точки обзора и отфильтровывают неустойчивые точки испытания из множества первых точек испытания.
В одном из вариантов осуществления предложен способ, в котором сравнение первого дескриптора со вторым дескриптором включает в себя этап, на котором применяют операцию исключительного ИЛИ (XOR) к первому дескриптору и второму дескриптору.
В одном из вариантов осуществления предложен способ, в котором определение второго вектора ошибки включает в себя этап, на котором применяют операцию И (AND) к маске и первому вектору ошибки для устранения ошибок в первом векторе ошибки.
В одном из вариантов осуществления предложен способ, в котором сравнение первого дескриптора со вторым дескриптором включает в себя этап, на котором применяют операцию подсчета единичных битов (POPCNT) ко второму вектору ошибки.
Краткое описание чертежей
[0003] Фиг.1 представляет собой блок-схему примерной системы обработки изображений для сравнения изменений точки обзора на изображениях.
[0004] Фиг.2А иллюстрирует примерное изображение, обработанное системой обработки на Фиг.1.
[0005] Фиг.2B иллюстрирует примерный первый дескриптор, имеющий множество первых точек испытания, связанных с примерным изображением на Фиг.2A после размытия.
[0006] Фиг.2С иллюстрирует примерный маскированный дескриптор, включающий в себя поднабор первых точек испытания, причем маска сгенерирована на основе первого дескриптора, показанного на примерном изображении на Фиг.2B после размытия.
[0007] Фиг.2D иллюстрирует примерный второй дескриптор, имеющий множество вторых точек испытания, связанных с примерным изображением на Фиг.2A с другой точки обзора после размытия.
[0008] Фиг.3 представляет собой схему последовательности операций примерного процесса, который может исполняться системой обработки изображений.
Подробное описание
[0009] Сравнения BRIEF являются неизменными и не адаптируются к содержанию отдельных признаков изображения. Вследствие этого, некоторые испытания будут чувствительными к изменению точки обзора, так как смещение значений интенсивности при неизменном составе выборки может вызывать изменения исхода испытания. Это может приводить к увеличенному коэффициенту ложного совпадения, так как некоторые результаты испытания не будут устойчивыми.
[0010] Изучение уникальной структуры дескриптора для каждого признака на изображении во время выполнения может учитывать воздействия изменения точки обзора. Это включает в себя подстройку обработки изображений для булевых дескрипторов строк, что делает этот подход подходящим для систем реального времени. Примерная система обработки изображений, которая может учитывать изменения точки обзора, включает в себя устройство обработки, имеющее устройство памяти для хранения исполняемых компьютером инструкций. Устройство обработки запрограммировано с возможностью определения первого дескриптора на первом изображении, генерации маски из первого изображения и определения второго дескриптора во втором изображении. Устройство обработки дополнительно запрограммировано с возможностью сравнения первого дескриптора со вторым дескриптором для определения первого вектора ошибки, применения маски к первому вектору ошибки для определения второго вектора ошибки и подсчета ненулевых элементов во втором векторе ошибки для определения ошибки между первым дескриптором и вторым дескриптором.
[0011] Предложенная система использует асимметричное разделение выполнения рабочих операций между ссылочными (опорными) признаками и признаками запроса. Ссылочный признак может содержаться в ключевом кадре или карте, при этом признак запроса может извлекаться из изображений в реальном времени. В дополнение, может использоваться асимметричное представление дескриптора для ссылочных признаков и признаков запроса.
[0012] Несмотря на эту асимметрию, время выполнения для сопоставления с предложенной системой может быть сходным с улучшениями в точности и восстановлении. Имитация воздействия изменения точки обзора на дескрипторы ссылочных признаков и определение соответствующего весового вектора для устранения ненадежных испытаний интенсивности достигает улучшений в точности и восстановлении.
[0013] Предложенная система осуществляет процесс вычисления весовых векторов дескриптора посредством синтетических наблюдений фрагмента изображения и обеспечивает эффективную функцию расстояния для взвешенных дескрипторов. Таким образом, предложенная система включает в себя расширение для BRIEF, которое позволяет настройке каждого признака устойчиво описывать признак. Эта система, называемая здесь TailoredBRIEF, фокусируется на аспектах дескриптора и сопоставления и работает в режиме онлайн при обнаружении новых признаков.
[0014] Дескриптор BRIEF обобщает локальный внешний вид посредством испытаний интенсивности между парами пикселей, окружающих признак изображения. Булевы выходы испытаний эффективно хранятся в памяти по одному биту каждый. Хранимые таким образом инструкции исключающего ИЛИ (XOR) и инструкции подсчета единичных битов (POPCNT) могут использоваться для эффективного вычисления числа битовых ошибок между двумя дескрипторами, также известного как расстояние Хэмминга. Этот краткий дескриптор может сопоставляться относительно быстро, особенно по сравнению с системами, такими как SURF.
[0015] До вычисления дескриптора BRIEF может быть определен набор точек испытания с использованием, например, распределения Гаусса или другого параметризованного случайного распределения. После определения одни и те же точки испытания могут использоваться повторно. Масштабная инвариантность может быть достигнута путем изменения размеров положений точек испытания согласно масштабу признака.
[0016] Для определения дескриптора для заданного признака в соответствии с BRIEF для каждой пары масштабированных точек испытания отыскиваются обе интенсивности изображения относительно положения признака. Если вторая интенсивность больше, устанавливается соответствующий бит в дескрипторе. При вычислении ошибки между двумя дескрипторами вектор ошибки создается путем дифференциации дескрипторов с помощью инструкции XOR и подсчета ошибок с помощью инструкции POPCNT для определения расстояния Хэмминга.
[0017] Сопоставление признаков может быть достигнуто посредством вычисления ближайших соседей вектора признака в пространстве дескрипторов, но ему могут мешать изменения внешнего вида признака изображения из-за множества воздействий, таких как шум датчика, изменения освещения и изменения точки обзора. Для дескрипторов, состоящих из сравнений интенсивности двух точек, эти изменения точки обзора могут смещать точки испытания по всему фрагменту изображения и могут приводить к другому исходу для особого сравнения интенсивности. Это может увеличивать ошибку сопоставления для истинного соответствия, что может увеличивать коэффициент ложных совпадений.
[0018] Воздействие изменения точки обзора на дескриптор может имитироваться путем преобразования положений испытания и извлечения дескриптора на исходном изображении. Это соответствует применению обратного преобразования к изображению до извлечения дескриптора, но является более простым, так как может быть кэширован полный набор преобразованных положений испытания. Дескрипторы, вычисленные при имитируемом изменении точки обзора, могут далее сравниваться с исходным дескриптором.
[0019] Посредством изучения в режиме онлайн точность сопоставления признаков на основе дескрипторов может быть улучшена. Это может быть достигнуто главным образом путем учета воздействия изменений внешнего вида на постоянство дескриптора отдельного признака. Это может включать в себя имитацию исхода этих изменений внешнего вида для генерации данных обучения, которые могут в свою очередь использоваться для генерации булева весового вектора, называемого маской дескриптора. Эта маска может использоваться повторно во внутреннем контуре процесса сопоставления при вычислении ошибки сопоставления для конкретной пары признаков.
[0020] Испытания интенсивности не являются одинаково надежными. Даже для оптимизированных положений точек испытания существует некоторый фрагмент изображения для заданной пары точек испытания, который будет производить различные результаты при маленьком отклонении. Если испытания изучались для отдельных примеров фрагмента изображения, это воздействие может быть минимизировано.
i
[0021] Уникальные наборы точек испытания для каждого ссылочного признака могут использоваться для извлечения множества дескрипторов для каждого признака запроса. Однако это будет увеличивать время вычислений. Альтернатива включает в себя извлечение одного дескриптора для каждого признака изображения и изучение веса для каждого испытания. При условии, что испытания являются независимыми и производят ошибки согласно распределению Бернулли, вероятность p может быть оценена для каждого испытания i путем отбора параметров изменения точки обзора и деформации фрагмента изображения или точек испытания соответственно. Вероятность истинного совпадения может быть вычислена как функция от ошибок испытания и вероятностей Бернулли. Однако это может нейтрализовать ключевое свойство BRIEF, так как оно будет увеличивать число операций, требуемых для вычисления ошибки между двумя дескрипторами. Альтернатива может включать в себя изучение булева весового вектора и применение операции И (AND) его с вектором ошибки для устранения шумных испытаний. Таким образом, может быть выбран поднабор испытаний, которые являются надежными для особого фрагмента изображения. Этот булев весовой вектор может эффективно применяться во время сопоставления. Булевы веса могут храниться побитно упакованными, как в дескрипторе BRIEF.
[0022] Маски могут изучаться для обоих наборов признаков вместо одного. Однако для многих систем это может быть необязательным. Для систем, подобных визуальной одометрии и Visual SLAM, ссылочные признаки могут добавляться только периодически. Пользуясь преимуществом этой асимметрии, выполнение дополнительной обработки ссылочных признаков может не влиять на время извлечения дескриптора для признаков запроса. Дополнительно, использование памяти может увеличиваться только для ссылочных признаков, которые требуют в два раза больше памяти, при этом память для признаков запроса может оставаться неизменной.
[0023] Данные обучения, на основе которых должна вычисляться маска дескриптора, могут собираться путем отбора изменений точек обзора из равномерного распределения в масштабе и трехосевом вращении. Полное преобразование показано в уравнении 1, где R представляет трехмерную матрицу вращения, сгенерированную на основе условий вращения в плоскости и вне плоскости, выбранных из распределений с нулевым средним значением. Координаты x и y исходной точки испытания в диапазоне 0,5, 0,5] вращаются. Результат может быть спроецирован словно на единичном расстоянии от камеры с фокусной длиной s, где s выбрана из распределения со средним значением 1.
Несмотря на то, что выбрано только маленькое число параметров изменения точки обзора, другие условия, такие как аддитивный шум, могут быть легко интегрированы в уравнение (1). Могут использоваться другие определения параметров изменения точки обзора.
p
i
i
[0024] Преобразованные координаты x точек испытания могут вычисляться один раз и храниться. Изучение масок дескрипторов может включать в себя: 1) вычисление всех преобразованных дескрипторов; 2) сравнение исходного дескриптора с каждым из преобразованных дескрипторов и вычисление числа ошибок для каждого испытания i; 3) оценку вероятности p(ошибки) выборки для каждого испытания; и 4) если p(ошибки) больше порогового значения, отклонение испытания i путем установки его веса равным нулю.
[0025] Размытие изображения до изучения маски дескриптора может оказывать заметное влияние на повторяемость испытаний. Изображение может быть размыто с использованием, например, фильтра усреднения. Размытие изображения не устраняет всю чувствительность к изменению точки обзора и то, что преимущества размытия и изучения маски дескриптора не являются исключительными.
[0026] Показанные элементы могут принимать много различных форм и включать в себя множественные и/или альтернативные компоненты и средства. Проиллюстрированные примерные компоненты не предназначены быть ограничивающими. Более того, могут использоваться дополнительные или альтернативные компоненты и/или варианты осуществления.
[0027] Фиг.1 представляет собой блок-схему примерной системы 100 обработки изображений для сравнения изменений точек обзора на изображениях. Как показано, система 100 обработки изображений включает в себя устройство 105 обработки и устройство 110 памяти. Устройство 110 памяти может включать в себя электронное устройство с энергозависимыми или энергонезависимыми средами для хранения исполняемых компьютером инструкций. Устройство 105 обработки может включать в себя любое электронное устройство, выполненное и запрограммированное с возможностью доступа и исполнения исполняемых компьютером инструкций, хранящихся в устройстве 110 памяти. Инструкции могут включать в себя инструкции, связанные с обработкой изображений, захваченных камерой 115, которая может быть или может не быть включена в систему 100 обработки изображений. Камера 115 может включать в себя любое устройство захвата изображения, выполненное с возможностью захвата различных (например, последовательных) изображений с, например, различных точек обзора относительно ссылочного изображения. Различные точки обзора могут включать в себя обзор объекта на ссылочном изображении, но с другого расстояния или угла. Таким образом, объект может масштабироваться или вращаться относительно этого же объекта, изображенного на ссылочном изображении. Как рассмотрено выше, другие точки обзора могут быть определены согласно шагу, необработанным данным и т.д. относительно ссылочного изображения.
[0028] В соответствии с описанием системы 100 обработки изображений TailoredBRIEF, устройство 105 обработки может быть запрограммировано с возможностью приема первого изображения, захваченного камерой 115. Примерное «первое изображение» или «ссылочное изображение» показано и описано ниже со ссылкой на Фиг.2A. Как рассмотрено выше, устройство 105 обработки может быть запрограммировано с возможностью размытия первого изображения. Размытие первого изображения может включать в себя, например, применение технологии фильтра усреднения к первому изображению. Устройство 105 обработки может быть запрограммировано с возможностью определения первого дескриптора из размытой или исходной версии первого изображения. Первый дескриптор может включать в себя множество первых точек испытания, которые показаны и описаны со ссылкой на Фиг.2B ниже.
[0029] С помощью первого дескриптора устройство 105 обработки может быть запрограммировано с возможностью генерации маски, которая ранее описана. Маска может обеспечивать поднабор множества первых точек испытания. Поднабор может включать в себя, например, те точки испытания, которые вероятнее всего являются устойчивыми. Таким образом, устройство 105 обработки может быть запрограммировано с возможностью испытания множества первых точек испытания на устойчивость и генерации маски для устранения неустойчивых точек испытания. Маска может включать в себя значение бита для каждой из точек испытания. Значение бита точек испытания для обеспечения с помощью маски может включать в себя, например, значение бита, равное 1.
[0030] Устройство 105 обработки может дополнительно быть запрограммировано с возможностью приема второго изображения. Как рассмотрено выше, второе изображение может представлять изменение точки обзора камеры 115 относительно объекта, представленного на первом изображении. Как и с первым изображением, устройство 105 обработки может быть запрограммировано с возможностью размытия второго изображения и определения второго дескриптора на основе размытой версии второго изображения. Размытие второго изображения может включать в себя, например, применение технологии фильтра усреднения ко второму изображению. Устройство 105 обработки может быть запрограммировано с возможностью определения второго дескриптора из размытой или исходной версии второго изображения. Второй дескриптор может включать в себя множество вторых точек испытания.
[0031] Устройство 105 обработки может далее определять первый вектор ошибки. Определение первого вектора ошибки может включать в себя сравнение первого дескриптора со вторым дескриптором. Например, устройство 105 обработки может быть запрограммировано с возможностью применения операции исключительного ИЛИ (XOR) к первому дескриптору и второму дескриптору. Для определения второго вектора ошибки, который, например, устраняет ошибки в первом векторе ошибки, устройство 105 обработки может быть запрограммировано с возможностью применения операции И (AND) к маске и первому вектору ошибки. Устройство 105 обработки может быть дополнительно запрограммировано с возможностью идентификации ошибки между первым дескриптором и вторым дескриптором. Один путь вычисления этой ошибки может включать в себя, например, применение операции подсчета единичных битов (POPCNT) ко второму вектору ошибки.
[0032] Фиг.2A-2D показывают примерные отношения между первым и вторым дескрипторами, которые могут быть определены устройством 105 обработки. Фиг.2A иллюстрирует примерное изображение 200, которое может обрабатываться системой 100 обработки изображений, описанной со ссылкой на Фиг.1. Теперь со ссылкой на Фиг.2B, изображение 200 может быть размыто, и первый дескриптор, представленный линиями 205, может быть определен с использованием технологий, описанных ранее. В целях простоты только некоторые из линий 205, представляющих первый дескриптор, обозначены на Фиг.2B. Фиг.2С иллюстрирует маскированный дескриптор 210, который может генерироваться из первого дескриптора 205, показанного со ссылкой на Фиг.2B. В целях простоты только некоторые из линий 210, представляющих маскированный дескриптор, обозначены на Фиг.2C. Фиг.2D иллюстрирует примерный второй дескриптор, показанный линиями 215, связанный с примерным изображением на Фиг.2A, словно вычисленный с другой точки обзора. В целях простоты только некоторые из линий 215, представляющих второй дескриптор, обозначены на Фиг.2D. Как ранее объяснено, устройство 105 обработки может определять первый и второй векторы ошибки из первого дескриптора, второго дескриптора и маски, проиллюстрированных на Фиг.2B-2D.
[0033] Фиг.3 представляет собой схему последовательности операций примерного процесса 300, который может исполняться системой 100 обработки изображений. Например, процесс 300 может исполняться устройством 105 обработки для, например, оценки изображений, захваченных камерой 115. Изображения могут представлять общий объект, но с различных точек обзора.
[0034] На этапе 305 система 100 обработки изображений может принимать первое изображение. Первое изображение может включать в себя, например, изображение объекта, захваченное камерой 115. Первое изображение также может называться «ссылочное изображение». Первое изображение могут принимать с помощью, например, устройства 105 обработки.
[0035] На этапе 310 система 100 обработки изображений может размывать первое изображение. Устройство 105 обработки может, например, размывать первое изображение путем применения технологии фильтра усреднения к первому изображению.
[0036] На этапе 315 система 100 обработки изображений может определять первый дескриптор, связанный с первым изображением. В одном возможном подходе устройство 105 обработки может определять первый дескриптор из размытой или исходной версии первого изображения. Первый дескриптор может включать в себя множество первых точек испытания.
[0037] На этапе 320 система 100 обработки изображений может генерировать маску. В одном возможном варианте осуществления устройство 105 обработки может генерировать маску для обеспечения, например, поднабора точек испытания в первом дескрипторе. Устройство 105 обработки может генерировать маску для включения тех точек испытания, которые вероятнее всего являются наиболее устойчивыми. Например, устройство 105 обработки может испытывать первые точки испытания на устойчивость к изменению точки обзора и фильтровать ненадежные точки испытания (т.е. точки испытания с коэффициентом ошибок выше заданного порогового значения). Любые оставшиеся точки испытания (т.е. наиболее надежные точки испытания) могут представлять собой точки испытания, используемые для генерации маски. Маска может включать в себя значение бита для каждой из точек испытания. Значение бита точек испытания для обеспечения с помощью маски может включать в себя, например, значение бита, равное 1.
[0038] На этапе 325 система 100 обработки изображений может принимать второе изображение. Например, устройство 105 обработки может принимать второе изображение от камеры 115. Второе изображение может представлять изменение точки обзора камеры 115 относительно содержания, представленного на первом изображении.
[0039] На этапе 330 система 100 обработки изображений может размывать второе изображение. Устройство 105 обработки может, в одном возможном подходе, размывать второе изображение путем применения технологии фильтра усреднения ко второму изображению.
[0040] На этапе 335 система 100 обработки изображений может определять второй дескриптор на основе размытой или исходной версии второго изображения. Второй дескриптор могут определять с помощью устройства 105 обработки согласно множеству вторых точек испытания.
[0041] На этапе 340 система 100 обработки изображений может определять первый вектор ошибки из первого и второго дескрипторов. Определение первого вектора ошибки может включать в себя этап, на котором устройство 105 обработки сравнивает первый дескриптор со вторым дескриптором. Например, устройство 105 обработки может применять операцию исключительного ИЛИ (XOR) к первой дескрипции и второй дескрипции.
[0042] На этапе 345 система 100 обработки изображений может определять второй вектор ошибки (т.е. вектор ошибки маски), который, например, устраняет ошибки в первом векторе ошибки. Для определения второго вектора ошибки устройство 105 обработки может применять операцию И (AND) к маске и первому вектору ошибки.
[0043] На этапе 350 система 100 обработки изображений может идентифицировать значение ошибки из второго вектора ошибки для, например, идентификации ошибки между первым и вторым дескрипторами. Например, устройство 105 обработки может применять операцию (POPCNT) подсчета единичных битов ко второму вектору ошибки.
[0044] В общем, описанные вычислительные системы и/или устройства могут применять любые из нескольких операционных систем компьютера, включающих в себя, но никоим образом не ограниченных ими, версии и/или разновидности операционной системы Ford Sync, операционной системы Microsoft Windows, операционной системы Unix (например, операционной системы Solaris, распространяемой Oracle Corporation, Redwood Shores, California), операционной системы AIX UNIX, распространяемой International Business Machines, Armonk, New York), операционной системы Linux, операционных систем Mac OSX и iOS, распространяемых Apple Inc., Cupertino, California, операционной системы BlackBerry, распространяемой Blackberry, Ltd., Waterloo, Canada, и операционной системы Android, разрабатываемой Google, Inc. и Open Handset Alliance. Примеры вычислительных устройств включают в себя, без ограничения, бортовой компьютер транспортного средства, компьютерную рабочую станцию, сервер, настольный компьютер, ноутбук, переносной компьютер или карманный компьютер или некоторую другую вычислительную систему и/или устройство.
[0045] Вычислительные устройства в общем включают в себя исполняемые компьютером инструкции, причем инструкции могут быть исполняемыми одним или более вычислительными устройствами, такими как устройства, перечисленные выше. Исполняемые компьютером инструкции могут компилироваться или интерпретироваться из компьютерных программ, создаваемых с использованием множества языков и/или технологий программирования, включающих в себя, без ограничения, и либо по отдельности, либо в совокупности, Java™, C, C++, Visual Basic, Java Script, Perl и т.д. В общем, процессор (например, микропроцессор) принимает инструкции, например, из памяти, считываемой компьютером среды и т.д., и исполняет эти инструкции, тем самым выполняя один или более процессов, включающих в себя один или более из процессов, описанных здесь. Такие инструкции и другие данные могут храниться и передаваться с использованием множества считываемых компьютером сред.
[0046] Считываемая компьютером среда (также называемая считываемой процессором средой) включает в себя любую не временную (например, материальную) среду, которая участвует в обеспечении данных (например, инструкций), которые могут считываться компьютером (например, процессором компьютера). Такая среда может принимать много форм, включающих в себя, но не ограниченных ими, энергонезависимые среды и энергозависимые среды. Энергонезависимые среды могут включать в себя, например, оптические или магнитные диски и другую постоянную память. Энергозависимые среды могут включать в себя, например, динамическую память с произвольным доступом (DRAM), которая обычно образует основную память. Такие инструкции могут передаваться одной или более средами передачи, включающими в себя коаксиальные кабели, медный провод и волоконную оптику, включающую в себя провода, которые содержат системную шину, соединенную с процессором компьютера. Общие формы считываемых компьютером сред включают в себя, например, флоппи-диск, гибкий диск, жесткий диск, магнитную ленту, любую другую магнитную среду, CD-ROM, DVD, любую другую оптическую среду, перфокарты, бумажную ленту, любую другую физическую среду со схемами отверстий, RAM, PROM, EPROM, FLASH-EEPROM, любую другую микросхему или картридж памяти или любую другую среду, с которой компьютер может считывать.
[0047] Базы данных, репозитории данных или другие хранилища данных, описанные здесь, могут включать в себя различные виды механизмов хранения, доступа и извлечения различных видов данных, включая иерархическую базу данных, набор файлов в файловой системе, базу данных приложения в закрытом формате, систему управления реляционными базами данных (RDBMS) и т.д. Каждое такое хранилище данных в общем включено в вычислительное устройство, применяющее операционную систему компьютера, такую как одна из операционных систем, отмеченных выше, и является доступным по сети любым одним или более из множества образов. Файловая система может быть доступной из операционной системы компьютера и может включать в себя файлы, хранящиеся в различных форматах. RDBMS в общем применяет язык структурированных запросов (SQL) в дополнение к языку для создания, хранения, редактирования и исполнения хранящихся процедур, такому как язык PL/SQL, отмеченный выше.
[0048] В некоторых примерах элементы системы могут быть осуществлены в виде считываемых компьютером инструкций (например, программного обеспечения) на одном или более вычислительных устройств (например, серверах, персональных компьютерах и т.д.), хранящихся в считываемых компьютером средах, связанных с ними (например, дисках, устройствах памяти и т.д.). Компьютерный программный продукт может содержать такие инструкции, хранящиеся в считываемых компьютером средах, для выполнения функций, описанных здесь.
[0049] В отношении процессов, систем, способов, эвристических правил и т.д., описанных здесь, следует понимать, что, несмотря на то, что этапы таких процессов и т.д. были описаны как происходящие согласно определенной упорядоченной последовательности, такие процессы могут быть осуществлены на практике с описанными этапами, выполняемыми в порядке, отличном от порядка, описанного здесь. Дополнительно следует понимать, что определенные этапы могут выполняться одновременно, что могут быть добавлены другие этапы, или что определенные этапы, описанные здесь, могут быть исключены. Другими словами, описания процессов здесь обеспечены с целью иллюстрации определенных вариантов выполнения, и никоим образом не должны истолковываться так, чтобы ограничивать формулу изобретения.
[0050] Соответственно, следует понимать, что вышеприведенное описание предназначено быть иллюстративным, а не ограничительным. Много вариантов выполнения и применений, отличных от обеспеченных примеров, будут ясны при прочтении вышеуказанного описания. Объем охраны следует определять не со ссылкой на вышеуказанное описание, но вместо этого следует определять со ссылкой на приложенную формулу изобретения вместе с полным объемом эквивалентов, на которые такая формула изобретения имеет право. Предполагается и имеется в виду, что последующие разработки будут возникать в технологиях, рассмотренных здесь, и что раскрытые системы и способы будут включены в такие последующие варианты выполнения. В общем, следует понимать, что применение способно к преобразованию и изменению.
[0051] Все термины, используемые в формуле изобретения, предназначены иметь их обычные значения, которые понятны специалисту в области техники, описанной здесь, если здесь не выполнено явное указание на обратное. В частности, использование термина «указанный» следует понимать перечисляющим один или более из указанных элементов, если пункт формулы изобретения не излагает явное ограничение на обратное.
[0052] Реферат обеспечен, чтобы позволять читателю быстро выявлять характер технического раскрытия. Он представлен с пониманием того, что он не будет использоваться для интерпретации или ограничения объема охраны или значения формулы изобретения. В дополнение, в вышеупомянутом подробном описании видно, что различные признаки сгруппированы вместе в различных вариантах выполнения с целью упрощения раскрытия. Этот способ раскрытия не следует интерпретировать как отражающий намерение того, что заявленные варианты выполнения требуют больше признаков, чем явно изложено в каждом пункте формулы изобретения. Наоборот, как отражает следующая далее формула изобретения, объект изобретения заключается не во всех признаках одного раскрытого варианта выполнения. Таким образом, следующая далее формула изобретения тем самым включена в подробное описание, причем каждый пункт является самостоятельным как отдельно заявленный объект изобретения.