ВЫЯВЛЕНИЕ СНИМКОВ ЭКРАНА НА ИЗОБРАЖЕНИЯХ ДОКУМЕНТОВ
DETECTION OF IMAGES OF SCREEN ON IMAGES OF DOCUMENTS

ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее описание в целом относится к вычислительным устройствам, а точнее - к системам обработки электронных документов и способам обработки электронных документов.
УРОВЕНЬ ТЕХНИКИ
[0002] Электронные документы могут создаваться путем сканирования либо получения изображения бумажного документа иным образом и оптического распознавания символов для получения текста, связанного с документом. Такой документ может содержать не только текст. Он также может содержать таблицы, изображения и снимки экрана, которые, в отличие от изображений, содержат неравномерно распределенный текст. В процессе распознавания выявление снимков экрана может быть затруднительным. Снимок экрана может быть легко принят за таблицу или же ошибочно разделен на несколько отдельных частей (например, на несколько текстовых блоков, содержащих текст снимка экрана; блок изображения, содержащий название окна, и т.д.).
[0003] Настоящее изобретение позволяет отличать снимки экрана от других типов структур на изображении документа. В результате система не будет производить оптическое распознавание символов в части изображения документа, соответствующей выявленному снимку экрана, и эта часть будет сохранена в виде изображения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0004] Настоящее изобретение иллюстрируется с помощью примеров, а не методом ограничения. Более полное понимание обеспечивается при рассмотрении приведенного ниже описания предпочтительных вариантов осуществления в сочетании с чертежами, на которых:
[0005] На фиг. 1 представлена блок-схема одного из вариантов реализации вычислительного устройства, работающего в соответствии с одним или несколькими аспектами настоящего изобретения.
[0006] На фиг. 2 приведен пример изображения документа, которое может обрабатываться с помощью приложения оптического распознавания символов (OCR) в соответствии с одним или несколькими аспектами настоящего изобретения.
[0007] На фиг. 3 схематически приведены различные примеры гипотез, которые может выдвинуть приложение OCR в отношении элементов документа, содержащихся в колонке текста, в соответствии с одним или несколькими аспектами настоящего изобретения.
[0008] На фиг. 4 приведен пример логической структуры документа, которая может быть получена с помощью приложения OCR в соответствии с одним или несколькими аспектами настоящего изобретения.
[0009] На фиг. 5 и 6 схематически приведены различные примеры изображений документов, которые могут быть обработаны с помощью приложения оптического распознавания символов (OCR) в соответствии с одним или несколькими аспектами настоящего изобретения.
[00010] На фиг. 7 приведена блок-схема одного иллюстративного примера способа обработки электронных документов в соответствии с одним или несколькими аспектами настоящего изобретения.
[00011] На фиг. 8 приведена блок-схема одного иллюстративного примера способа выявления снимков экрана на изображениях документов в соответствии с одним или несколькими аспектами настоящего изобретения;
[00012] На фиг. 9 приведена более подробная схема иллюстративного примера вычислительного устройства, в котором реализованы методы настоящего изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[00013] В настоящем документе приведено описание способов и систем для выявления снимков экрана на изображениях документов. Технический результат от внедрения изобретения состоит в способности выявлять на изображении документа многоугольный объект, относящийся к снимку экрана, т.е. в способности отличать снимок экрана от других типов структур документа (например, от текста, таблицы, картинки), что позволяет в ходе OCR не производить оптическое распознавание символов в части изображения документа, соответствующей выявленному снимку экрана, и сохранить эту часть изображения документа в виде изображения.
[00014] В данном документе термин «электронный документ» относится к файлу, содержащему один или несколько элементов цифрового содержимого, которые могут быть переданы визуально для создания визуального представления электронного документа (например, на дисплее или на печатном носителе). Электронные документы могут создаваться путем сканирования либо получения изображения бумажного документа иным образом и оптического распознавания символов для получения текста, связанного с документом. В различных иллюстративных примерах электронные документы могут иметь определенный формат файла, например PDF, DOC, ODT и т.д.
[00015] В этом документе «вычислительное устройство» означает устройство обработки данных, в котором имеется универсальный процессор, память и по меньшей мере один интерфейс связи. Примерами вычислительных устройств, в которых могут использоваться описанные в этом документе методы, являются, без ограничения, настольные компьютеры, портативные компьютеры, планшетные компьютеры и смартфоны.
[00016] Система оптического распознавания символов (OCR) может получать изображение бумажного документа и преобразовывать изображение в машиночитаемый формат с возможностью поиска, содержащий текстовую информацию, извлеченную из изображения бумажного документа. В различных иллюстративных примерах исходный бумажный документ может содержать одну или несколько страниц, таким образом, изображение документа может содержать изображения одной или нескольких страниц документа. В приведенном ниже описании термин «изображение документа» относится к изображению по меньшей мере части исходного документа (например, страницы документа).
[00017] В некоторых реализациях изобретения при получении и, при необходимости, при предварительной обработке изображения документа система OCR может анализировать изображение, чтобы определить физическую структуру документа, которая может содержать части различных типов (например, текстовые блоки, блоки изображения или блоки таблиц). Затем система распознавания может выполнить распознавание символов в соответствии с физической структурой документа и создать редактируемый электронный документ, соответствующий исходному бумажному документу.
[00018] В некоторых реализациях изобретения система OCR может выявить на изображении документа несколько примитивных объектов, в том числе вертикальные и горизонтальные черные разделители, вертикальные и горизонтальные пунктирные разделители, вертикальные и горизонтальные градиентные разделители, инвертированные зоны, фрагменты слов и белые разделители. Система OCR может выдвинуть некоторые гипотезы относительно физической структуры документа на основе типов, состава и/или взаимного расположения обнаруженных примитивных объектов, используя одну или несколько эталонных структур документов. Такие гипотезы могут включать в себя одну или несколько гипотез в отношении классификации и/или атрибутов частей изображения документа (например, прямоугольных объектов). Например, по отношению к конкретному прямоугольному объекту, расположенному внутри изображения, система OCR может выдвинуть и проверить следующие гипотезы: объект содержит текст, объект содержит изображение, объект содержит таблицу, объект содержит схему и объект содержит изображение снимка экрана. Затем система OCR может выбрать лучшую гипотезу для того, чтобы отнести прямоугольной объект к одному из известных типов объектов (например, текстовому блоку, блоку изображения или блокам таблицы).
[00019] В качестве иллюстративного примера система OCR может выявить на изображении документа многоугольный объект, имеющий визуально четкую границу, образованную сторонами одного или нескольких пересекающихся прямоугольников. Система OCR может выдвинуть одну или несколько гипотез в отношении классификации части изображения документа, включающей в себя выявленный многоугольный объект, в том числе гипотезу о том, что выявленный многоугольный объект содержит изображение снимка экрана. Затем система OCR может проверить выдвинутые гипотезы путем оценки одного или нескольких условий, связанных с одним или несколькими атрибутами выявленного многоугольного объекта, как подробно описано далее.
[00020] Различные аспекты упомянутых выше методов и систем подробно описаны далее в этом документе с использованием примеров, а не способом ограничения.
[00021] На фиг. 1 приведена блок-схема одного иллюстративного примера вычислительного устройства 100, работающего в соответствии с одним или несколькими аспектами настоящего изобретения. В иллюстративных примерах вычислительное устройство 100 может представлять собой разнообразные вычислительные устройства, включая планшетный компьютер, смартфон, ноутбук или настольный компьютер.
[00022] Вычислительное устройство 100 может содержать процессор 110, подключенный к системной шине 120. Также к системной шине 120 могут подключаться память 130, дисплей 140, клавиатура 150, оптическое устройство ввода 160 и один или несколько интерфейсов связи 170. Термин «подключенный» в этом документе означает электрическое соединение и/или обмен данными через одно или несколько интерфейсных устройств, адаптеров и т.п.
[00023] В различных иллюстративных примерах процессор 110 может представлять собой одно или несколько устройств обработки данных: в частности, универсальные и/или специализированные процессоры. Память 130 может представлять собой одно или несколько энергозависимых запоминающих устройств (например, микросхемы ОЗУ), одно или несколько энергонезависимых запоминающих устройств (например, микросхемы ПЗУ или электрически стираемые программируемые ПЗУ), и/или один или несколько носителей для долговременного хранения информации (например, оптические или магнитные диски). Оптическое устройство ввода 160 может представлять собой сканер или фотокамеру, которая фиксирует свет, отражающийся от объектов, попадающих в ее объектив. Пример вычислительного устройства, в котором реализованы аспекты настоящего изобретения, будет рассмотрен более подробно ниже в описании фиг. 9.
[00024] В памяти 130 могут храниться команды приложения 190 для оптического распознавания символов. В некоторых реализациях изобретения приложение 190 может осуществлять методы выявления снимков экрана на изображениях документов в соответствии с одним или несколькими аспектами настоящего изобретения. В качестве иллюстративного примера приложение 190 может быть реализовано как функция, которая будет вызываться через пользовательский интерфейс другого приложения. Также приложение 190 может быть реализовано в виде автономного приложения.
[00025] В одном из иллюстративных примеров вычислительное устройство 100 может получать изображение документа. На фиг. 2 представлен пример изображения документа 200, которое может быть обработано приложением 190, работающем в вычислительном устройстве 100 в соответствии с одним или несколькими аспектами настоящего изобретения. Разметка документа может содержать текстовые блоки 210А-210Е (в том числе верхний колонтитул 210А, номер страницы 210В, подписи к рисункам 210C и 210D, а также колонку текста 210Е) и изображения снимков экрана 220А-220В. Изображенные элементы разметки документа были отобраны только для иллюстративных целей, и область применения настоящего изобретения ими не ограничивается.
[00026] Приложение 190 может проанализировать полученное изображение документа 200 для обнаружения на изображении документа множества примитивных объектов, в том числе вертикальных и горизонтальных черных разделителей, вертикальных и горизонтальных пунктирных разделителей, вертикальных и горизонтальных градиентных разделителей, инвертированных зон, фрагментов слов и белых разделителей. Приложение 190 может выдвинуть некоторые гипотезы относительно физической структуры документа на основе типов, состава и/или взаимного расположения обнаруженных примитивных объектов, используя одну или несколько эталонных структур документов.
[00027] Такие гипотезы могут включать в себя одну или несколько гипотез в отношении классификации и/или атрибутов частей изображения документа (например, прямоугольных или других многоугольных объектов). Например, по отношению к конкретному прямоугольному объекту, расположенному внутри документа, приложение 190 может выдвинуть и проверить следующие гипотезы: объект содержит текст, объект содержит изображение, объект содержит таблицу, объект содержит схему и объект содержит изображение снимка экрана. Затем приложение 190 может выбрать лучшую гипотезу для того, чтобы отнести прямоугольной объект к одному из известных типов объектов (например, текстовому блоку, блоку изображения или блокам таблицы).
[00028] В некоторых реализациях изобретения гипотезы о структуре документа могут быть получены на основе одной или нескольких эталонных моделей возможных структур документа. В различных иллюстративных примерах эталонные модели возможных структур могут включать в себя модели, представляющие научно-исследовательскую статью, патент, заявку на патент, деловое письмо, договор и т.д. Каждая эталонная модель структуры может описывать одну или более обязательную и/или одну или несколько необязательных частей структуры, а также взаимное расположение частей в документе. В качестве иллюстративного примера модель научно-исследовательской статьи может содержать текст в двух колонках, нижний колонтитул и/или верхний колонтитул страницы, заголовок, подзаголовок, одну или несколько вставок, одну или несколько таблиц, изображений, диаграмм, блок-схем, изображений снимков экрана, концевые сноски, сноски и/или другие дополнительные части.
[00029] В некоторых реализациях изобретения гипотезы о структуре документа могут генерироваться в порядке убывания их вероятности, при этом более вероятная гипотеза о структуре документа генерируется раньше менее вероятной гипотезы о структуре документа.
[00030] Приложение 190 может применять определенный набор правил для выявления одного или нескольких объектов (например, прямоугольных объектов), в отношении которых можно выдвинуть одну или несколько гипотез, касающиеся их классификации и/или атрибутов. В одном из иллюстративных примеров может выдвигаться одна или несколько гипотез для классификации одного или нескольких объектов, содержащихся в колонке текста, что схематически показано на фиг. 3.
[00031] На фиг. 3 схематически иллюстрируются различные примеры гипотез, которые приложение 190 может выдвинуть в отношении объектов, содержащихся в колонке текста 310. Множество примеров гипотез может включать в себя текст 312, изображение 314, таблицу 316, схему 318 и/или изображение снимка экрана 320. В некоторых реализациях изобретения выдвинутые гипотезы могут проверяться как конкурирующие гипотезы, при этом процесс проверки должен давать на выходе одну наилучшую гипотезу. На основе наилучшей выбранной гипотезы относительно классификации объектов приложение 190 может выполнить дальнейшую обработку соответствующих участков изображения документа (например, применить метод OCR для получения текста, связанного с соответствующими частями изображения страницы).
[00032] На фиг. 4 представлен пример логической структуры документа, которая может быть получена с помощью приложения 190 в соответствии с одним или несколькими аспектами настоящего раскрытия изобретения. Согласно фиг. 4 логическая структура документа 400 может включать в себя несколько блоков, в том числе верхний колонтитул 410, нижний колонтитул 412, номер страницы 414, колонки 416, авторов 418, заголовок 420, подзаголовок 422, резюме 424, оглавление 426 и тело документа 430. В иллюстративном примере на фиг. 4 тело документа 430 может дополнительно содержать несколько глав 432, в свою очередь каждая глава 432 может содержать один или несколько параграфов 434. В различных иллюстративных примерах логическая структура документа 400 может дополнительно содержать вставки 440, таблицы 450, изображения снимков экрана 460, изображения 470, сноски 480, концевые сноски 490 и/или библиографию 495, что схематически показано на фиг. 4.
[00033] Как схематически показано на фиг. 2, оригинал документа может содержать одно или несколько изображений снимков экрана 220. В соответствии с одним или несколькими аспектами настоящего изобретения приложение 190 может быть настроено на выявление таких изображений на изображении документа и определения их как изображений снимка экрана (например, элемент 460, который схематически показан на фиг. 4). Отнесение определенных блоков к изображениям снимков экрана и, в частности, дифференциация изображений снимков экрана от блоков таблиц и/или текстовых блоков могут быть особенно полезны для определения дальнейших операций обработки соответствующих частей изображения документа (например, следует ли пытаться производить оптическое распознавание символов для части изображения документа, в соответствии с выделенными структурными блоками).
[00034] В качестве иллюстративного примера приложение 190 может выявить на изображении документа многоугольный объект-кандидат, имеющий визуально различимую границу, образованную сторонами одного или нескольких пересекающихся прямоугольников. В ответ на выявление объекта-кандидата приложение 190 может выдвинуть гипотезу, что этот объект содержит изображение снимка экрана. В некоторых реализациях изобретения выявление объекта-кандидата в изображении документа может предполагать определение трех или более сторон многоугольной (например, прямоугольной) границы объекта.
[00035] В некоторых реализациях изобретения один или несколько графических примитивов, составляющих границы объекта, могут быть обеспечены с помощью визуальных разделителей (например, прямой линией, или прямоугольным элементом), цвет которого визуально отличается от цвета любого соседнего элемента. На фиг. 5 схематически показан пример изображения документа 500, содержащий объект со снимком экрана 501, который, в свою очередь, содержит различные разделители. В одном из иллюстративных примеров визуальный разделитель 502 может иметь в основном сплошную заливку, содержащую один цвет (например, черный). В другом иллюстративном примере визуальный разделитель 504 может быть представлен в виде линии, которая разделяет фон, при этом цвет фона по одну сторону от разделительной линии отличается от цвета фона по другую сторону от разделительной линии. В еще одном иллюстративном примере визуальный разделитель может иметь градиент заливки, включающий один или несколько цветов (например, заливка постепенно меняется от первой интенсивности основного цвета ко второй интенсивности основного цвета или от первого сплошного тона ко второму сплошному тону). В еще одном иллюстративном примере визуальный разделитель 506 может быть представлен прямоугольным элементом с инвертированным фоном, содержащим текст (например, заголовком окна), в котором цвет фона прямоугольного элемента визуально отличается от цвета фона соседних объектов изображения документа, а цвет текста совпадает с цветом фона соседних объектов изображения документа.
[00036] В ответ на выявление объекта-кандидата и выдвижение гипотезы о том, что объект содержит изображение снимка экрана, приложение 190 может проверить выдвинутую гипотезу, оценивая одно или несколько условий, связанных с одним или несколькими атрибутами выявленного объекта-кандидата. В качестве иллюстративного примера условие проверки гипотезы может требовать, чтобы приложение 190 выявило элемент заголовка окна в объекте-кандидате изображения документа при допущении, что изображение снимка экрана будет содержать одно или несколько окон с соответствующими заголовками (по аналогии с заголовком окна 507).
[00037] В еще одном иллюстративном примере условие проверки гипотезы может потребовать, чтобы приложение 190 определило одно или несколько изображений кнопок 508, представленных относительно небольшими (по отношению к размеру изображения снимка экрана) объектами, содержащими визуально различимую прямоугольную границу и текстовую строку.
[00038] В еще одном иллюстративном примере условие проверки гипотез может потребовать, чтобы приложение 190 выявило в объекте-кандидате изображения документа, цвет фона и/или текстуру, которые отличаются от цвета фона и/или текстуры соседних объектов изображения документа, при допущении, что соседние объекты документа содержат текст, имеющий в основном белый фон, в то время как изображение снимка экрана, как правило, имеет видимую текстуру в пределах фона (например, серый фон черно-белого снимка экрана).
[00039] В еще одном иллюстративном примере условие проверки гипотезы может потребовать, чтобы приложение 190 проверило то, что отношение высоты к ширине выявленной прямоугольной границы объекта-кандидата находится в пределах заранее определенного интервала, причем этот интервал включает значения отношения высоты к ширине, которые являются типичными для дисплеев, используемых в различных вычислительных устройствах при допущении, что снимок экрана, как правило, масштабируется пропорционально, то есть с сохранением отношения высоты экрана к ширине.
[00040] В еще одном иллюстративном примере условие проверки гипотезы может потребовать, чтобы приложение 190 выявляло один или несколько графических элементов-выносок, которые визуально связанны с объектом-кандидатом. В настоящем документе термин «выноска» означает графический элемент, который содержит текст, связанный с другим элементом изображения снимка экрана (например, поле комментария, которое связано с одной или несколькими кнопками в пределах изображения снимка экрана). На фиг. 6 схематически показан пример изображения документа 600, содержащего объект снимок экрана 601, который визуально связан с выносками 602.
[00041] В еще одном иллюстративном примере условие проверки гипотезы может потребовать, чтобы приложение 190 определяло в области-кандидате множество полутоновых элементов, поскольку изображение снимка экрана, предположительно, может содержать несколько строк текста, которые могут размыться при уменьшении изображения снимка экрана.
[00042] В еще одном иллюстративном примере условие проверки гипотезы может потребовать, чтобы приложение 190 выявляло один или нескольких текстовых объектов, имеющих размер шрифта меньше размера шрифта одного или нескольких текстовых объектов, которые находятся за пределами объекта-кандидата, поскольку снимок экрана, предположительно, мог быть уменьшен до вставки в исходный документ.
[00043] В еще одном иллюстративном примере условие проверки гипотезы может потребовать, чтобы приложение 190 выявило один или несколько элементов управления окном (например, элемент закрытия окна 510, схематически показанный на фиг. 5, или элементы сворачивания/разворачивания окна), расположенные в левом верхнем углу и/или верхнем правом углу изображения снимка экрана, поскольку изображение снимка экрана, предположительно, содержит один или несколько стандартных элементов управления окном.
[00044] В еще одном иллюстративном примере условие проверки гипотезы может потребовать, чтобы приложение 190 выявило одну или несколько текстурированных зон, которые после бинаризации изображения (т.е. преобразования в его черно-белые тона) станут набором случайно расположенных и относительно небольших (по отношению к размеру изображения снимка экрана) черных и белых точек. В монохромном изображении фоновая часть снимка экрана (например, фон 512 снимка экрана 501, как схематически показано на фиг. 5) может быть представлена в виде текстурированной зоны.
[00045] В еще одном иллюстративном примере условие проверки гипотезы может потребовать, чтобы приложение 190 выявляло различные текстовые строки, которые не могут быть структурированы в абзацы, с относительно большим (по отношению к общему количеству строк в объекте снимка экрана) числом пустых текстовых строк.
[00046] После определения того, что выполнено одно или несколько условий, применяемых к объекту-кандидату, приложение 190 может классифицировать объект-кандидат как содержащий изображение снимка экрана. Затем приложение 190 может произвести оптическое распознавание символов изображения документа, используя выявленную структуру документа. В частности, оптическое распознавание символов может выполняться для участков изображения, соответствующих определенным фрагментам текста и блокам таблиц, при этом пропуская части изображения, соответствующие выявленным блокам изображения и изображениям снимков экрана. В результате процесса распознавания символов получается редактируемый электронный документ, имеющий структуру, в основном аналогичную структуре исходного бумажного документа. В некоторых реализациях изобретения система оптического распознавания символов 190 может быть предназначена для получения электронных документов, имеющих определенный выбираемый пользователем формат (например, PDF, DOC, ODT и т.д.).
[00047] На фиг. 7 приведена блок-схема одного иллюстративного примера способа 700 обработки электронных документов в соответствии с одним или несколькими аспектами настоящего изобретения. Способ 700 и/или каждая из его отдельных функций, стандартных программ, подпрограмм или операций может выполняться с помощью одного или нескольких процессоров компьютерного устройства (например, вычислительного устройства 100 на фиг. 1), в котором реализован этот способ. В некоторых вариантах реализации способ 700 может выполняться в одном потоке обработки. Как вариант, способ 700 может быть реализован с помощью двух или более потоков обработки, при этом каждый поток выполняет одну или несколько отдельных функций, стандартных программ, подпрограмм или операций этого способа. В качестве иллюстративного примера потоки обработки способа 700 можно синхронизировать (например, с использованием семафоров, критических секций и/или других механизмов синхронизации потоков). Как вариант, потоки обработки, реализующие способ 700, могут выполняться асинхронно по отношению друг к другу.
[00048] В блоке 710 вычислительное устройство, осуществляющее этот способ, может получить изображение по меньшей мере части документа (например, страницу документа). В качестве иллюстративного примера изображение может быть получено с помощью оптического устройства ввода 180, например, из вычислительного устройства 100, показанного на фиг. 1.
[00049] В блоке 720 вычислительное устройство может выявить один или несколько примитивных объектов (например, разделители и фрагменты слов), которые должны быть обработаны внутри изображения.
[00050] В блоке 730 вычислительное устройство может выдвинуть одну или несколько гипотез в отношении физической структуры документа. Такие гипотезы могут включать в себя одну или несколько гипотез в отношении классификации и/или атрибутов частей изображения документа (например, прямоугольных объектов). В различных иллюстративных примерах в отношении конкретного прямоугольного объекта, расположенного внутри изображения, вычислительное устройство может выдвигать и проверять следующие гипотезы: объект включает текст, объект включает изображение, объект включает таблицу, объект включает схему, объект включает изображение снимка экрана, как описано более подробно выше в этом документе.
[00051] В блоке 740 вычислительное устройство может проверить выдвинутые гипотезы, чтобы выбрать одну или несколько наилучших гипотез, как описано более подробно выше в этом документе.
[00052] В блоке 750 вычислительное устройство может сформировать физическую структуру по меньшей мере части документа (например, страницы документа) на основе наилучшей выбранной гипотезы или нескольких гипотез, как описано более подробно выше в этом документе. После завершения операций, описанных выше в этом документе для блока 750, выполнение этого способа может завершиться.
[00053] На фиг. 8 приведена блок-схема одного иллюстративного примера способа 800 для выявления снимков экрана на изображениях документов в соответствии с одним или несколькими аспектами настоящего изобретения. Способ 800 и/или каждая из его отдельных функций, стандартных программ, подпрограмм или операций может выполняться с помощью одного или нескольких процессоров компьютерного устройства (например, вычислительного устройства 100 на фиг. 1), в котором реализован этот способ. В некоторых вариантах реализации способ 800 может выполняться в одном потоке обработки. Как вариант, способ 800 может быть реализован с помощью двух или более потоков обработки, при этом каждый поток выполняет одну или несколько отдельных функций, стандартных программ, подпрограмм или операций этого способа. В качестве иллюстративного примера потоки обработки способа 800 можно синхронизировать (например, с использованием семафоров, критических секций и/или других механизмов синхронизации потоков). Как вариант, потоки обработки, реализующие способ 800, могут выполняться асинхронно по отношению друг к другу.
[00054] В блоке 810 вычислительное устройство, осуществляющее этот способ, может получить изображение по меньшей мере части документа (например, страницу документа). В качестве иллюстративного примера изображение может быть получено с помощью оптического устройства ввода 180, например, из вычислительного устройства 100, показанного на фиг. 1.
[00055] В блоке 820 вычислительное устройство может выявить на изображении документа один или несколько вероятных многоугольных объектов, имеющих визуально различимую границу, образованную сторонами одного или нескольких пересекающихся прямоугольников. Выявление объекта-кандидата в изображении документа может включать в себя выявление трех или более сторон многоугольной (например, прямоугольной) границы объекта. В некоторых реализациях изобретения один или несколько графических примитивов, составляющих границы объекта могут представлять собой визуальный разделитель (например, прямую линию, или прямоугольный элемент), цвет которого визуально отличается от цвета любого соседнего элемента. В иллюстративном примере визуальный разделитель может иметь по существу сплошную заливку, содержащую один цвет. В другом иллюстративном примере визуальный разделитель может быть представлен в виде линии, которая разделяет фон, при этом цвет фона по одну сторону от разделительной линии отличается от цвета фона по другую сторону от разделительной линии. В еще одном иллюстративном примере визуальный разделитель может иметь градиент заливки, включающий один или несколько цветов (например, заливка постепенно меняется от первой интенсивности основного цвета ко второй интенсивности основного цвета или от первого сплошного тона ко второму сплошному тону). В еще одном иллюстративном примере визуальный разделитель может быть представлен прямоугольным элементом с инвертированным фоном, содержащим текст (например, заголовком окна), в котором цвет фона прямоугольного элемента визуально отличается от цвета фона соседних объектов в изображении документа, а цвет текста совпадает с цветом фона соседних объектов изображения документа, как описано выше.
[00056] В блоке 830 вычислительное устройство для каждого выявленного объекта может выдвинуть одну или несколько гипотез в отношении классификации и/или атрибутов части изображения страницы, входящей в выявленный объект. В иллюстративном примере в отношении выявленного многоугольного объекта вычислительное устройство может выдвинуть гипотезу о том, что этот объект является изображением снимка экрана, что описано более подробно выше в этом документе.
[00057] В блоке 840 вычислительное устройство может проверить выдвинутую гипотезу путем оценки одного или нескольких условий, связанных с одним или несколькими атрибутами выявленного объекта-кандидата, что описано более подробно выше в этом документе. В ответ на определение того, что одно или несколько условий проверки были оценены как Истина, обработка может продолжаться в блоке 850. В противном случае выполнение способа может прекратиться (или может быть выдвинута и проверена другая гипотеза относительно выявленного объекта).
[00058] В блоке 850 вычислительное устройство может классифицировать объект как изображение снимка экрана.
[00059] В блоке 860 вычислительное устройство может сохранить информацию о физической структуре по меньшей мере части документа, содержащей изображение снимка экрана. После завершения операций, описанных выше в настоящем документе для блока 860, выполнение этого способа может завершиться.
[00060] На фиг. 9 представлена более подробная схема примера вычислительного устройства 900, внутри которого исполняется набор команд, которые могут вызвать выполнение вычислительным устройством любого из способов или нескольких способов, описанных в данном документе. Вычислительное устройство 900 может включать те же компоненты, что и вычислительное устройство 100 на фиг. 1, а также некоторые дополнительные или другие компоненты, некоторые из которых могут быть опциональными и необязательными для реализации аспектов настоящего изобретения. Вычислительное устройство может быть подключено к другому вычислительному устройству по локальной сети, корпоративной сети, сети экстранет или сети Интернет. Вычислительное устройство может работать в качестве сервера или клиента в сетевой среде "клиент/сервер", или в качестве однорангового вычислительного устройства в одноранговой (или распределенной) сетевой среде. Вычислительное устройство может быть представлено персональным компьютером (ПК), планшетным ПК, телевизионной приставкой (STB), карманным ПК (PDA), сотовым телефоном или любым вычислительным устройством, способным выполнять набор команд (последовательно или иным образом), определяющих операции которые должны быть выполнены этим вычислительным устройством. Кроме того, в то время как показано только одно вычислительное устройство, следует принять, что термин «вычислительное устройство» также может включать любую совокупность вычислительных устройств, которые отдельно или совместно выполняют набор (или несколько наборов) команд для выполнения одной или нескольких методик, обсуждаемых в настоящем документе.
[00061] Пример вычислительного устройства 900 включает процессор 902, основную память 904 (например, постоянное запоминающее устройство (ПЗУ) или динамическую оперативную память (DRAM)) и устройство хранения данных 918, которые взаимодействуют друг с другом через шину 930.
[00062] Процессор 902 может быть представлен одним или несколькими универсальными устройствами обработки данных, например, микропроцессором, центральным процессором и т.д. В частности, процессор 902 может представлять собой микропроцессор с полным набором команд (CISC), микропроцессор с сокращенным набором команд (RISC), микропроцессор с командными словами сверхбольшой длины (VLIW), процессор, реализующий другой набор команд или процессоры, реализующие комбинацию наборов команд. Процессор (902) также может представлять собой одно или несколько устройств обработки специального назначения, например, заказную интегральную микросхему (ASIC), программируемую пользователем вентильную матрицу (FPGA), процессор цифровых сигналов (DSP), сетевой процессор и т.п. Процессор 902 настроен на выполнение команд 926 для осуществления рассмотренных в настоящем документе операций и функций.
[00063] Вычислительное устройство 900 может дополнительно включать устройство сетевого интерфейса 922, устройство визуального отображения 910, устройство ввода символов 912 (например, клавиатуру) и устройство ввода - сенсорный экран 914.
[00064] Устройство хранения данных 918 может содержать машиночитаемый носитель данных 924, в котором хранится один или несколько наборов команд 926, и в котором реализован один или несколько из методов или функций настоящего изобретения. Команды 926 также могут находиться полностью или по меньшей мере частично в основной памяти 904 и/или в процессоре 902 во время выполнения их в вычислительном устройстве 900, при этом основная память 904 и процессор 902 также составляют машиночитаемый носитель данных. Команды 926 дополнительно могут передаваться или приниматься по сети 916 через устройство сетевого интерфейса 922.
[00065] В некоторых реализациях изобретения команды 926 могут включать в себя команды способа 800 для выявления снимков экрана на изображениях документов, и могут выполняться через приложение 190 на фиг. 1. Несмотря на то, что машиночитаемый носитель 924 показан в примере на фиг. 4 как один носитель, термин «машиночитаемый носитель» следует рассматривать как термин, включающий один носитель данных или несколько носителей данных (например, централизованную или распределенную базу данных, и/или относящиеся к ней кэши и серверы), в которых хранится один набор команд или несколько наборов команд. Термин «машиночитаемый носитель информации» также следует рассматривать как термин, означающий любой носитель для хранения, кодирования и переноса множества команд для выполнения машиной, который обеспечивает выполнение этой машиной одной или нескольких методик настоящего изобретения. Термин «машиночитаемый носитель информации» также означает, помимо прочего, твердотельную память, оптический носитель и магнитный носитель.
[00066] Описанные в документе способы, компоненты и функции могут быть реализованы отдельными аппаратными компонентами, либо они могут быть интегрированы в функциональность других аппаратных компонентов, таких как ASICS, FPGA, DSP или подобных устройств. Кроме того, способы, компоненты и функции могут быть реализованы с помощью модулей встроенного программного обеспечения или функциональных схем аппаратных устройств. Далее способы, компоненты и функции могут быть реализованы с помощью любой комбинации аппаратных устройств и программных компонентов, либо исключительно с помощью программного обеспечения.
[00067] В приведенном выше описании изложены многочисленные детали. Однако любому специалисту в данной области техники из данного описания очевидно, что настоящее изобретение может применяться на практике без этих конкретных деталей. В некоторых случаях хорошо известные структуры и устройства показаны в виде блок-схемы, а не детально, чтобы не усложнять описание настоящего изобретения.
[00068] Некоторые части описания предпочтительных вариантов осуществления представлены в виде алгоритмов и символического представления операций с битами данных в памяти компьютера. Такие описания и представления алгоритмов представляют собой средства, используемые специалистами в области обработки данных, чтобы наиболее эффективно передавать сущность своей работы другим специалистам в данной области. В настоящем документе и в целом алгоритмом называется согласованная последовательность операций, приводящих к требуемому результату. В операциях требуются физические манипуляции с физическими величинами. Обычно, хотя и не обязательно, эти величины принимают форму электрических или магнитных сигналов, которые можно хранить, передавать, комбинировать, сравнивать и подвергать другим манипуляциям. Оказалось, что прежде всего для обычного использования удобно описывать эти сигналы в виде битов, значений, элементов, символов, членов, цифр и т.д.
[00069] Однако следует иметь в виду, что все эти и подобные термины должны быть связаны с соответствующими физическими величинами, и что они представляют собой лишь принятые названия упомянутых величин. Из приведенного ниже описания очевидно, что если особо не указано иное, то следует понимать, что в описании такие термины, как «определение», «вычисление», «расчет», «получение», «выявление», «изменение» и т.п. относятся к действиям и процессам вычислительного устройства или аналогичного электронного вычислительного устройства, которое манипулирует данными и преобразует данные, представленные в виде физических (например, электронных) величин в регистрах вычислительного устройства и памяти в другие данные, аналогичным образом представленные в виде физических величин в памяти или регистрах вычислительного устройства или других таких устройств хранения, передачи или отображения информации.
[00070] Настоящее изобретение также относится к устройству для выполнения операций, описанных в этом документе. Такое устройство может быть специально сконструировано для требуемых целей или оно может содержать универсальный компьютер, который избирательно активируется или реконфигурируется с помощью компьютерной программы, хранящейся в компьютере. Такая компьютерная программа может храниться на машиночитаемом носителе данных, например (помимо прочего): диск любого типа, в том числе гибкий диск, оптические диски, CD-ROM и магнитно-оптические диски, постоянные запоминающие устройства (ПЗУ), оперативные запоминающие устройства (ОЗУ), программируемые ПЗУ (EPROM), электрически стираемые ППЗУ (EEPROM), магнитные или оптические карты или любой тип носителя, пригодный для хранения электронных команд.
[00071] Следует иметь в виду, что приведенное выше описание предназначено для иллюстрации, и что оно не носит ограничительный характер. Различные другие реализации станут очевидны специалистам в данной области техники после прочтения и понимания приведенного выше описания. Поэтому объем раскрытия должен определяться со ссылкой на прилагаемую формулу изобретения наряду с полным объемом эквивалентов, на которые такие требования предоставляют право.