КЛАССИФИКАЦИЯ ИЗОБРАЖЕНИЙ ДОКУМЕНТОВ НА ОСНОВЕ ПАРАМЕТРОВ ЦВЕТОВЫХ СЛОЕВ
CLASSIFICATION OF DOCUMENT IMAGES BASED ON PARAMETERS OF COLOUR LAYERS

ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее изобретение в целом относится к вычислительным системам, в частности к системам и способам обработки электронных документов.
УРОВЕНЬ ТЕХНИКИ
[0002] Электронный документ можно получить путем сканирования или создания иным способом изображения бумажного документа и выполнения оптического распознавания символов (OCR) для получения текста, относящегося к документу.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0003] Настоящее изобретение иллюстрируется с помощью примеров, а не способом ограничения, и может быть лучше понято при рассмотрении приведенного ниже описания предпочтительных вариантов реализации в сочетании с чертежами, на которых:
[0004] на Фиг. 1 приведена блок-схема одного из вариантов реализации вычислительной системы, работающей в соответствии с одним или более аспектами настоящего изобретения;
[0005] на Фиг. 2 схематически показано изображение бумажного документа, которое может быть классифицировано в соответствии с одним или более аспектами настоящего изобретения;
[0006] на Фиг. 3 приведена блок-схема иллюстративного примера способа обработки образцов изображений с известной классификацией для обучения классификатора в соответствии с одним или более аспектами настоящего изобретения;
[0007] на Фиг. 4 приведена блок-схема иллюстративного примера способа классификации изображения документа в соответствии с одним или более аспектами настоящего изобретения, и
[0008] на Фиг. 5 приведена более подробная схема иллюстративного примера вычислительной системы, в которой реализованы способы настоящего изобретения.
ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ РЕАЛИЗАЦИИ
[0009] В настоящем документе описываются способы и системы классификации изображений документов на основе параметров цветовых слоев.
[00010] В этом документе термин «электронный документ» относится к файлу, содержащему один или более элементов цифрового содержимого, которые могут быть переданы визуально для создания визуального представления электронного документа (например, на дисплее или на печатном носителе). Электронный документ можно получить путем сканирования или создания иным способом изображения бумажного документа. В различных иллюстративных примерах электронные документы могут быть представлены в виде файлов определенного формата, например PDF, PDF/A, JPEG, JPEG 2000, JBIG2, BMP, DjVu, EPub, DOC, ODT и т.д.
[00011] В настоящем документе термин «вычислительная система» означает устройство обработки данных, оснащенное универсальным процессором, памятью и, по меньшей мере, одним интерфейсом связи. Примерами вычислительных систем, которые могут использовать описанные в этом документе способы, являются, в частности, настольные компьютеры, ноутбуки, планшетные компьютеры и смартфоны.
[00012] Система оптического распознавания символов (OCR) может получить изображение бумажного документа и преобразовать это изображение в машиночитаемый формат, допускающий поиск и содержащий текстовую информацию, извлеченную из изображения бумажного документа. В различных иллюстративных примерах исходный бумажный документ может содержать одну или более страниц, таким образом, изображение документа может содержать изображения одной или более страниц документа. В последующем описании «изображение документа» означает изображение, по меньшей мере, части исходного документа (например, страницы документа).
[00013] В различных иллюстративных примерах бумажные документы могут быть разнообразных типов, например книги, журнальные статьи, письменные договоры, рукописные или печатные письма на фирменных или личных бланках, документы, удостоверяющие личность (например, водительские права), и т.д. Бумажный документ может иметь смешанное содержимое, в том числе рукописный или печатный текстовый материал (например, отдельные буквы, группы букв, слова, колонки текста, целые страницы или части страниц или фрагменты текста, например выноски с текстом, относящиеся к графическому материалу), который может быть распознан с использованием, например, системы оптического распознавания символов (OCR), а также графический материал (например, иллюстрации, фотографии или иные графические элементы, например логотипы).
[00014] Некоторые процессы производственной деятельности могут включать классификацию различных бумажных документов по нескольким заранее заданным категориям. В иллюстративном примере в процессе страхового андеррайтинга могут рассматриваться соответствие клиента требованиям и некоторые характеристики страхуемого имущества. Процесс может включать извлечение определенной информации из множества бумажных документов различных типов, включая договоры, фотографии, кассовые квитанции, письма и т.д. Некоторые из этих документов могут иметь заданные особенности, например печати определенного цвета, которые могут содержать определенный текст, определенные логотипы, элементы бланка и (или) иные визуальные элементы, которые могут быть выполнены в различных цветах даже в черно-белых документах. В иллюстративном примере письмо может содержать черно-белый текст, напечатанный на цветном бланке. В другом иллюстративном примере договор может содержать черно-белый текст и цветной оттиск печати с определенной текстовой строкой. Процесс андеррайтинга может включать классификацию входящих документов по определенным категориям, которые могут быть установлены на основе определенных особенностей документа. Особенности документов могут быть представлены значениями определенных параметров изображений документов.
[00015] Вычислительная система, реализующая способы настоящего изобретения, может получать изображение документа и определять значения различных заданных параметров изображения. В некоторых вариантах реализации значения одного или более параметров изображения могут быть определены при извлечении одного или более цветовых слоев из представления цветовой карты изображения (например, в цветовом пространстве HSV или цветовом пространстве YCbCr). Примеры таких параметров: наличие одного или более определенных цветов в изображении; отношение количества пикселей одного или более определенных цветов к общему количеству пикселей изображения; отношение площади изображения, занятой определенным цветовым слоем, к общей площади изображения; наличие текста в определенном цветовом слое и (или) наличие определенного текста в определенном цветовом слое. Цветовой слой в настоящем документе означает графический слой, содержащий один или более цветов. Слой может быть извлечен из изображения документа одним их известных способов, например представлением изображения в цветовом пространстве (например, YCbCr, HSV и т.п.) и применением цветового фильтра.
[00016] Расчетные параметры могут быть бинарного типа или типа диапазона. Бинарные параметры указывают на наличие или отсутствие определенного параметра в изображении документа (например, в виде «ДА»/«НЕТ» или «0»/«1»). Примеры бинарных параметров: наличие одного или более из заданных цветов в изображении, наличие текста в определенном цветовом слое, наличие заданного текста в определенном цветовом слое и т.д. Наличие одного или более цветов может быть установлено по тому, были ли они извлечены из изображения документа. Наличие текста в слое может быть установлено с использованием, например, анализа компоновки документа. Для определения того, включает ли цветовой слой определенный текст, в одном варианте реализации может использоваться способ распознавания символов (например, OCR). В другом варианте реализации могут применяться любые иные способы определения того, является ли рассматриваемый текст определенным текстом. В случае параметров типа диапазон пользователем, системой и т.д. могут быть заданы различные пороговые значения заданных параметров. Например, пороговые значения для параметра «отношение площади изображения, занятой определенным цветовым слоем, к общей площади изображения» могут быть заданы как диапазоны: 0…1 и свыше 1. Специалистам в данной области техники будет понятно, что диапазоны могут различаться в зависимости от параметра и его функции.
[00017] На основе значений параметров вычислительная система, реализующая методы настоящего изобретения, может отнести изображение документа к определенной категории из множества категорий. В некоторых вариантах реализации входящие изображения документов могут быть отнесены к определенной категории на основе наличия в изображении документа одного или более заданных объектов с определенными цветами. В различных иллюстративных примерах такие объекты могут представлять собой оттиск определенной печати, текст, определенный текст или определенный графический элемент (например, элемент бланка, визуальный разделитель, логотип, водяной знак и т.п.). В определенных вариантах реализации после отнесения изображения документа к определенной категории из множества категорий может осуществляться категоризация исходного документа. Если изображение документа является страницей исходного одностраничного документа, документ может быть автоматически категоризован на основе категории его изображения. Если изображение документа является страницей исходного многостраничного документа, документ может быть отнесен к определенной категории на основе одной или более категорий изображений его страниц.
[00018] В определенных вариантах реализации вычислительная система, реализующая способы, описанные в настоящем документе, может использовать функцию классификации для определения категории, к которой относится изображение документа. Значение этой функции может отражать степень соответствия изображения документа определенной категории из множества категорий (например, вероятность отнесения изображения документа к определенной категории). Вычислительная система может определить значение выбранной функции для каждой категории из множества категорий и затем отнести изображение документа к категории, соответствующей оптимальному значению функции классификации.
[00019] В определенных вариантах реализации при определении степени соответствия изображения документа определенной категории из множества категорий функция классификации может учитывать набор известных данных, являющихся свидетельствами соответствия параметров изображений документов категориям изображений документов. В иллюстративном примере вычислительная система, реализующая методы настоящего изобретения, может создавать и (или) обновлять массив известных данных путем обработки множества образцов изображений с известной классификацией. Для каждого образца изображения вычислительная система может определить значения параметров изображения и сохранить установленные значения вместе с идентификатором категории, к которой отнесен образец изображения. В качестве альтернативы вычислительная система, реализующая методы настоящего изобретения, может получить набор известных данных из внешнего источника (например, из другой вычислительной системы).
[00020] Различные аспекты упомянутых выше способов и систем подробно описаны ниже в этом документе с помощью примеров, а не способом ограничения.
[00021] На Фиг. 1 приведена блок-схема одного из вариантов реализации вычислительной системы 100, работающей в соответствии с одним или более аспектами настоящего изобретения. В иллюстративных примерах вычислительная система 100 может представлять собой разнообразные вычислительные устройства, включая планшетный компьютер, смартфон, ноутбук или настольный компьютер.
[00022] Вычислительная система 100 может содержать процессор 110, подключенный к системной шине 120. Другие устройства, подключенные к системной шине 120, могут включать в себя память 130, дисплей 140, клавиатуру 150, оптическое устройство ввода 160 и один или несколько интерфейсов связи 170. Термин «подключенный» в настоящем документе означает электрическое соединение и (или) обмен данными через одно или более интерфейсных устройств, адаптеров и т.п.
[00023] В различных иллюстративных примерах процессор 110 может быть представлен одним или более устройствами обработки, такими как универсальные и (или) специализированные процессоры. Память 130 может представлять собой одно или более энергозависимых устройств памяти (например, микросхемы ОЗУ), одно или более энергонезависимых устройств памяти (например, микросхемы ПЗУ или ЭППЗУ) и (или) одно или более запоминающих устройств (например, оптические или магнитные диски). Оптическое устройство ввода 160 может представлять собой сканер или фотокамеру, предназначенную для улавливания света, отраженного от объектов, расположенных в ее поле зрения. Пример вычислительного устройства, в котором реализованы аспекты настоящего изобретения, будет рассмотрен более подробно ниже в описании Фиг. 5.
[00024] Память 130 может содержать инструкции приложения 190 для классификации изображений документов с использованием информации о цветовых слоях. В иллюстративном примере приложение 190 может быть реализовано как функция, которая вызывается через пользовательский интерфейс другого приложения. В качестве альтернативы приложение 190 может быть реализовано в виде автономного приложения.
[00025] В соответствии с одним или более аспектами настоящего изобретения вычислительная система 100 может получать изображение документа и извлекать один или более цветовых слоев из представления цветовой карты полученного изображения. На Фиг. 2 схематически показано изображение бумажного документа, которое может быть классифицировано в соответствии с одним или более аспектами настоящего изобретения. Изображение документа 200 может иметь белый фон и содержать красный логотип 203, черный фрагмент текста 205 и синий оттиск печати 207. Логотип 203 и оттиск печати 207 могут содержать определенные визуальные разделители и определенный текст. Красный цветовой слой 200А изображения документа 200 содержит изображение логотипа 203, а синий цветовой слой 200 В изображения документа 200 содержит изображение оттиска печати 207.
B
R
[00026] В иллюстративном примере после получения изображения документа вычислительная система 100 может создать представление цветовой карты изображения в цветовом пространстве «тон-насыщенность-значение» (HSV). Цветовое пространство HSV получается преобразованием значений цветового пространства RGB в цилиндрические координаты. Угол относительно центральной вертикальной оси соответствует «тону», а расстояние от оси соответствует «насыщенности». Высота соответствует значению, которое отражает воспринимаемую яркость по отношению к насыщенности [https://en.wikipedia.org/wiki/HSL_and_HSV]. В другом иллюстративном примере после получения изображения документа вычислительная система 100 создает представление цветовой карты изображения в цветовом пространстве YCC, где Y - компонента яркости, а Cb и Cr - синяя и красная цветоразностные компоненты.
[00027] Используя представление цветовой карты, вычислительная система 100 может затем извлечь из него один или более цветовых слоев. В иллюстративном примере на Фиг. 2 вычислительная система 100 может извлечь из представления цветовой карты изображения документа 200 красный цветовой слой 200А и синий цветовой слой 200 В. Красный цветовой слой 200А изображения документа 200 может содержать изображение логотипа 203, а синий цветовой слой 200 В изображения документа 200 - изображение оттиска печати 207.
[00028] Вычислительная система 100 может использовать представление цветовых слоев для определения значений набора заданных параметров изображения. Примеры таких параметров: наличие одного или более определенных цветов в изображении; отношение количества пикселей одного или более определенных цветов к общему количеству пикселей изображения; отношение площади изображения, занятой определенным цветовым слоем, к общей площади изображения; наличие текста в определенном цветовом слое и (или) наличие определенного текста в определенном цветовом слое.
[00029] В различных иллюстративных примерах вычислительная система 100 также может определять значения других заданных параметров изображения, включая, например, относительные или абсолютные позиции колонок текста и (или) разделителей текста, наличие или частоту определенных лексем, наличие определенных штрих-кодов и иных графических носителей кодированной информации и т.д.
[00030] На основе полученных значений параметров вычислительная система 100 может отнести изображение документа к определенной категории из множества категорий. Классификация может использовать одну или несколько категорий, отражающих наличие в изображении документа одного или более заданных объектов с определенными цветами. В различных иллюстративных примерах такие объекты могут представлять собой оттиск определенной печати в определенном цветовом слое, определенный текст в определенном цветовом слое или определенный графический элемент (например, элемент бланка, визуальный разделитель, логотип, водяной знак и т.п.) в определенном цветовом слое.
[00031] В определенных вариантах реализации вычислительная система 100 может использовать функцию классификации для определения категории, к которой относится изображение документа. Значения функции классификации могут отражать степень соответствия изображения документа определенной категории из множества категорий (например, вероятность отнесения изображения документа к определенной категории). Вычислительная система может определять значение выбранной функции классификации для каждой категории из множества категорий, а затем относить изображение документа к категории, соответствующей оптимальному (например, минимальному или максимальному) значению функции классификации. Хотя в иллюстративном примере, подробно описанном ниже, функция классификации представлена наивным байесовским классификатором, способы, описанные в настоящем документе, могут использовать другие вероятностные или детерминированные функции.
[00032] В иллюстративном примере функция классификации может быть представлена наивным байесовским классификатором:
k
1
n
1
n
k
[00033] где p(C|F, …, F) - это условная вероятность того, что объект, имеющий значения параметров F, …, F, относится к категории C;
k
k
P(C) - априорная вероятность того, что объект относится к категории C;
Z - нормализующая константа и
i
k
i
k
P(F|C) - вероятность того, что объект, имеющий значение параметра F, относится к категории C.
[00034] В определенных вариантах реализации вычислительная система 100 для каждой категории из множества категорий классификации изображений документов может вычислять значение выбранной функции классификации (например, наивного байесовского классификатора), отражающее вероятность того, что изображение документа относится к соответствующей категории. Вычислительная система 100 затем может выбрать оптимальное (например, максимальное) значение среди вычисленных значений и отнести изображение документа к категории, соответствующей выбранному оптимальному значению функции классификации.
k
i
k
[00035] В некоторых вариантах реализации вычисление функции классификации может основываться на наборе известных данных по соотнесению параметров изображений документов и категорий изображений документов. В иллюстративном примере значения Р(C) и P(F|C) вычислены на основе массива известных данных.
[00036] Вычислительная система 100 может создать и (или) обновить набор известных данных на этапе обучения классификатора путем обработки множества образцов изображений с известной классификацией. Для каждого образца изображения вычислительная система может определить значения параметров изображения и сохранить установленные значения вместе с идентификатором категории, к которой отнесен образец изображения. В качестве альтернативы вычислительная система, реализующая методы настоящего изобретения, может получить набор известных данных из внешнего источника (например, из другой вычислительной системы).
[00037] На Фиг. 3 приведена блок-схема одного иллюстративного примера способа 300 обработки образцов изображений с известной классификацией для обучения классификатора в соответствии с одним или более аспектами настоящего изобретения. Способ 300 и (или) каждая из его отдельных функций, стандартных программ, подпрограмм или операций может выполняться с помощью одного или более процессоров вычислительной системы (например, устройства обработки 100 на Фиг. 1), реализующей способ. В некоторых вариантах реализации способ 300 может выполняться в одном потоке обработки. В качестве альтернативы способ 300 может выполняться с использованием двух и более потоков обработки, при этом каждый поток выполняет одну или более отдельных функций, стандартных программ, подпрограмм или операций способа. В иллюстративном примере потоки обработки, реализующие способ 300, могут быть синхронизированы (например, с помощью семафоров, критических секций и (или) других механизмов синхронизации потоков). В качестве альтернативы потоки обработки, реализующие способ 300, могут выполняться асинхронно по отношению друг к другу.
[00038] В блоке 310 устройство обработки, реализующее способ, получает изображение документа. В иллюстративном примере изображение может быть получено с помощью оптического устройства ввода 160 модельного устройства обработки 100, показанного на Фиг. 1.
[00039] В блоке 320 устройство обработки определяет значения набора заданных параметров образца изображения документа. Как указано выше в настоящем документе, значения одного или более параметров изображения могут быть определены при извлечении одного или более цветовых слоев из представления цветовой карты изображения (например, в цветовом пространстве HSV или цветовом пространстве YCbCr). Примеры таких параметров: наличие одного или более определенных цветов в изображении; отношение количества пикселей одного или более определенных цветов к общему количеству пикселей изображения; отношение площади изображения, занятой определенным цветовым слоем, к общей площади изображения; наличие текста в определенном цветовом слое и (или) наличие определенного текста в определенном цветовом слое. Примеры других определяемых параметров образца изображения документа: относительные или абсолютные позиции колонок текста и (или) разделителей текста, наличие или частота определенных лексем, наличие определенных штрих-кодов и иных графических носителей кодированной информации и т.д.
[00040] В блоке 330 устройство обработки сохраняет значения параметров вместе с идентификатором категории изображения в памяти, например в файле или базе данных.
[00041] После определения в блоке 340 необходимости обработки другого образца изображения документа происходит переход в начало цикла для получения образца изображения документа в блоке 310, в противном случае цикл останавливается.
[00042] На Фиг. 4 приведена блок-схема иллюстративного примера способа 400 классификации изображения документа в соответствии с одним или более аспектами настоящего изобретения. Способ 400 и (или) каждая из его отдельных функций, стандартных программ, подпрограмм или операций может выполняться с помощью одного или более процессоров вычислительной системы (например, устройства обработки 100 на Фиг. 1), реализующей способ. В некоторых вариантах реализации способ 400 может выполняться в одном потоке обработки. В качестве альтернативы способ 400 может выполняться с использованием двух и более потоков обработки, при этом каждый поток выполняет одну или более отдельных функций, стандартных программ, подпрограмм или операций способа. В иллюстративном примере потоки обработки, реализующие способ 400, могут быть синхронизированы (например, с помощью семафоров, критических секций и (или) других механизмов синхронизации потоков). В качестве альтернативы потоки обработки, реализующие способ 400, могут выполняться асинхронно по отношению друг к другу.
[00043] В блоке 410 устройство обработки, реализующее способ, получает изображение документа. В иллюстративном примере изображение может быть получено с помощью оптического устройства ввода 160 модельного устройства обработки 100, показанного на Фиг. 1.
[00044] В блоке 420 устройство обработки определяет значения набора заданных параметров изображения документа. Как указано выше в настоящем документе, значения одного или более параметров изображения могут быть определены при извлечении одного или более цветовых слоев из представления цветовой карты изображения (например, в цветовом пространстве HSV или цветовом пространстве YCbCr). Примеры таких параметров: наличие одного или более определенных цветов в изображении; отношение количества пикселей одного или более определенных цветов к общему количеству пикселей изображения; отношение площади изображения, занятой определенным цветовым слоем, к общей площади изображения; наличие текста в определенном цветовом слое и (или) наличие определенного текста в определенном цветовом слое. Примеры других определяемых параметров изображения документа: относительные или абсолютные позиции колонок текста и (или) разделителей текста, наличие или частота определенных лексем, наличие определенных штрих-кодов и иных графических носителей кодированной информации и т.д.
[00045] В блоке 430 устройство обработки определяет набор значений выбранной функции классификации. Каждое значение функции классификации может отражать вероятность того, что изображение документа относится к определенной категории из множества категорий. В определенных вариантах реализации функция классификации может быть представлена наивным байесовским классификатором, подробно описанным выше в настоящем документе.
[00046] В блоке 440 устройство обработки выбирает оптимальное значение функции классификации из набора установленных значений.
[00047] В блоке 450 устройство обработки относит изображение документа к категории, соответствующей выбранному оптимальному значению функции классификации.
[00048] После определения в блоке 460 необходимости обработки другого изображения документа происходит переход в начало цикла для получения изображения документа в блоке 410, в противном случае цикл останавливается.
[00049] На Фиг. 5 представлена более подробная схема примера вычислительной системы 1000, внутри которой исполняется набор команд, которые вызывают выполнение вычислительной системой любого из способов или нескольких способов настоящего изобретения. Вычислительная система 1000 может включать те же компоненты, что и вычислительная система 100 на Фиг. 1, а также некоторые дополнительные или другие компоненты, некоторые из которых могут быть опциональными и необязательными для реализации аспектов настоящего изобретения. Вычислительная система может быть соединена с другой вычислительной системой по локальной сети, корпоративной сети, сети экстранет или сети Интернет. Вычислительная система может работать в качестве сервера или клиента в сетевой среде «клиент/сервер», или в качестве однорангового вычислительного устройства в одноранговой (или распределенной) сетевой среде. Вычислительная система может быть представлена персональным компьютером (ПК), планшетным ПК, телевизионной приставкой (STB), карманным ПК (PDA), сотовым телефоном или любой вычислительной системой, способной выполнять набор команд (последовательно или иным образом), определяющих операции, которые должны быть выполнены этой вычислительной системой. Кроме того (хотя показана только одна вычислительная система), термин «вычислительная система» также может включать любую совокупность вычислительных систем, которые отдельно или совместно выполняют набор (или несколько наборов) команд для выполнения одной или более методик, обсуждаемых в настоящем документе.
[00050] Пример вычислительной системы 1000 включает процессор 502, основную память 504 (например, постоянное запоминающее устройство (ПЗУ) или динамическую оперативную память (DRAM)) и устройство хранения данных 518, которые взаимодействуют друг с другом по шине 530.
[00051] Процессор 502 может быть представлен одним или более универсальными устройствами обработки данных, например микропроцессором, центральным процессором и т.п. В частности, процессор 502 может представлять собой микропроцессор с полным набором команд (CISC), микропроцессор с сокращенным набором команд (RISC), микропроцессор с командными словами сверхбольшой длины (VLIW) или процессор, реализующий другой набор команд, или процессоры, реализующие комбинацию наборов команд. Процессор 502 также может представлять собой одно или более устройств обработки специального назначения, например заказную интегральную микросхему (ASIC), программируемую пользователем вентильную матрицу (FPGA), процессор цифровых сигналов (DSP), сетевой процессор и т.п. Процессор 502 настроен на выполнение команд 526 для осуществления рассмотренных в настоящем документе операций и функций.
[00052] Вычислительная система 1000 может дополнительно включать устройство сетевого интерфейса 522, устройство визуального отображения 510, устройство ввода символов 512 (например, клавиатуру) и устройство ввода в виде сенсорного экрана 514.
[00053] Устройство хранения данных 518 может содержать машиночитаемый носитель данных 524, в котором хранится один или более набор команд 526 и в котором реализована одна или более методик или функций, рассмотренных в настоящем документе. Команды 526 также могут находиться полностью или, по меньшей мере, частично в основной памяти 504 и (или) в процессоре 502 во время выполнения их в вычислительной системе 1000, при этом оперативная память 504 и процессор 502 также представляют собой машиночитаемый носитель данных. Команды 526 также могут передаваться или приниматься по сети 516 через устройство сетевого интерфейса 522.
[00054] В некоторых вариантах реализации команды 526 могут включать в себя команды приложения 190 для классификации изображений документов с использованием информации о цветовых слоях и могут выполняться приложением 190 на Фиг. 1. Хотя машиночитаемый носитель данных 524, показанный в примере на Фиг. 5, является единым носителем, термин «машиночитаемый носитель» может включать один носитель или несколько носителей (например, централизованную или распределенную базу данных и (или) соответствующие кэши и серверы), в которых хранится один или несколько наборов команд. Термин «машиночитаемый носитель данных» также может включать любой носитель, который может хранить, кодировать или содержать набор команд для выполнения машиной и который обеспечивает выполнение машиной любой одной или более методик настоящего изобретения. Соответственно, термин «машиночитаемый носитель данных» также включает, в частности, устройства твердотельной памяти, оптические и магнитные носители.
[00055] Описанные в документе способы, компоненты и функции могут быть реализованы дискретными компонентами оборудования, либо они могут быть интегрированы в функции других аппаратных компонентов, таких как ASICS, FPGA, DSP или подобных устройств. Кроме того, способы, компоненты и функции могут быть реализованы с помощью модулей встроенного программного обеспечения или функциональных схем аппаратного обеспечения. Способы, компоненты и функции также могут быть реализованы с помощью любой комбинации аппаратного обеспечения и программных компонентов, либо исключительно с помощью программного обеспечения.
[00056] В приведенном выше описании изложены многочисленные детали. Однако любому специалисту в этой области техники, ознакомившемуся с этим описанием, очевидно, что настоящее изобретение может быть осуществлено на практике без этих конкретных деталей. В некоторых случаях хорошо известные структуры и устройства показаны в виде блок-схем, а не подробно, чтобы не усложнять описание настоящего изобретения.
[00057] Некоторые части описания предпочтительных вариантов реализации представлены в виде алгоритмов и символического представления операций с битами данных в памяти компьютера. Такие описания и представления алгоритмов представляют собой средства, используемые специалистами в области обработки данных, чтобы наиболее эффективно передавать сущность своей работы другим специалистам в данной области. Здесь и в целом алгоритмом называется логически непротиворечивая последовательность операций, приводящих к требуемому результату. Операции требуют физических манипуляций с физическими величинами. Обычно (хотя и не обязательно) эти величины принимают форму электрических или магнитных сигналов, которые можно хранить, передавать, комбинировать, сравнивать и подвергать другим манипуляциям. Иногда удобно, прежде всего, для обычного использования, описывать эти сигналы в виде битов, значений, элементов, символов, терминов, цифр и т.п.
[00058] Однако следует иметь в виду, что все эти и подобные термины должны быть связаны с соответствующими физическими величинами, и что они являются лишь удобными обозначениями, применяемыми к этим величинам. Если не указано иное, принимается, что в последующем описании термины «определение», «вычисление», «расчет», «получение», «установление», «изменение» и т.п. относятся к действиям и процессам вычислительной системы или аналогичной электронной вычислительной системы, которая использует и преобразует данные, представленные в виде физических (например, электронных) величин в реестрах и устройствах памяти вычислительной системы, в другие данные, аналогично представленные в виде физических величин в устройствах памяти или реестрах вычислительной системы или иных устройствах хранения, передачи или отображения такой информации.
[00059] Настоящее изобретение также относится к устройству для выполнения операций, описанных в настоящем документе. Такое устройство может быть специально сконструировано для требуемых целей, или оно может содержать универсальный компьютер, который избирательно активируется или реконфигурируется с помощью компьютерной программы, хранящейся на компьютере. Такая компьютерная программа может храниться на машиночитаемом носителе данных, например, в частности, на диске любого типа, включая дискеты, оптические диски, CD-ROM и магнитно-оптические диски, постоянные запоминающие устройства (ПЗУ), оперативные запоминающие устройства (ОЗУ), СППЗУ, ЭППЗУ, магнитные или оптические карты и носитель любого типа, подходящий для хранения электронной информации.
[00060] Следует понимать, что вышеприведенное описание носит иллюстративный, а не ограничительный характер. Различные другие варианты реализации станут очевидными специалистам в данной области техники после прочтения и понимания приведенного выше описания. Область применения изобретения поэтому должна определяться с учетом прилагаемой формулы изобретения, а также всех областей применения эквивалентных способов, которые покрывает формула изобретения.