РЕДАКТИРОВАНИЕ ТЕКСТА НА ИЗОБРАЖЕНИИ ДОКУМЕНТА
EDIT TEXT ON THE DOCUMENT IMAGE

ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение в целом относится к вычислительным системам, а точнее - к системам и способам редактирования текста в электронном документе.
КРАТКОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Одним из вариантов реализации изобретения является способ редактирования текста, включающий: получение выбранной области пикселей исходного электронного документа, включающей фрагмент исходного фона; отображение пользователю редактируемой области, которая соответствует выбранной области, без изменения фрагмента фона; получение от пользователя отклика относительно изменения текста, производимого в редактируемой области, и выполнение модификаций для получения измененного редактируемого текста, так, чтобы редактируемая область с измененным редактируемым текстом превратилась в измененную редактируемую область, причем фрагмент фона остался неизмененным; растрирование (растеризование) измененной редактируемой области для получения растеризованной измененной области, содержащей а) измененный фрагмент текста; и b) фрагмент фона, оставшийся неизменным по сравнению с фрагментом фона выбранной области пикселей; и вставку растеризованной измененной области в электронный документ для получения измененного электронного документа.
Другим вариантом реализации изобретения является вычислительная система, включающая: память; и процессор, функционально связанный с этой памятью, причем этот процессор выполнен с возможностью: получения выбранной области пикселей исходного электронного документа, включающей фрагмент исходного фона; отображения пользователю редактируемой области, которая соответствует выбранной области, без изменения фрагмента фона; получения от пользователя отклика относительно изменения текста, производимого в редактируемой области, и выполнение модификаций для получения измененного редактируемого текста, так, чтобы редактируемая область с измененным редактируемым текстом превратилась в измененную редактируемую область, причем фрагмент фона остался неизмененным; растрирование измененной редактируемой области для получения растеризованной измененной области, содержащей а) измененный фрагмент текста; и b) фрагмент фона, оставшийся неизменным по сравнению с фрагментом фона выбранной области пикселей; и вставку растеризованной измененной области в электронный документ для получения измененного электронного документа.
Еще одним из вариантов осуществления изобретения является энергонезависимый машиночитаемый накопитель данных, содержащий команды, которые при выполнении их процессором приводят к выполнению процессором операций, включая следующие: получение выбранной области пикселей исходного электронного документа, включающей фрагмент исходного фона; отображение пользователю редактируемой области, которая соответствует выбранной области, без изменения фрагмента фона; получение от пользователя отклика относительно изменения текста, производимого в редактируемой области и выполнение модификаций для получения измененного редактируемого текста, так, чтобы редактируемая область с измененным редактируемым текстом превратилась в измененную редактируемую область, причем фрагмент фона остался неизмененным; растрирование измененной редактируемой области для получения растеризованной измененной области, содержащей а) измененный фрагмент текста и b) фрагмент фона, оставшийся неизменным по сравнению с фрагментом фона выбранной области пикселей; и вставку растеризованной измененной области в электронный документ для получения измененного электронного документа.
ИЛЛЮСТРАЦИИ
Фиг. 1 представляет собой блок-схему варианта реализации вычислительного устройства, которое может использоваться для реализации способов настоящего изобретения.
На Фиг. 2 схематично представлен один неограничивающий вариант реализации способа настоящего изобретения.
На Фиг. 3A-D показан электронный документ на последовательных этапах редактирования. Хотя на этих иллюстрациях для наглядности показано, что пользователю отображается часть документа, можно отображать документ целиком, так, чтобы пользователь мог видеть область, выбранную для редактирования, которая на разных стадиях редактирования может называться выбранной областью пикселей, редактируемой областью, измененной редактируемой областью или растеризованной измененной областью. Например, можно отображать пользователю только выбранную область, не отображая другие части документа.
На Фиг. 4A-D схематично показана вставка растеризованной измененной области (редактируемой области) в исходный электронный документ.
На Фиг. 5 представлена более подробная схема иллюстративного примера вычислительной системы, которая может использоваться для реализации способов, раскрываемых в настоящем изобретении.
На Фиг. 6 показана область электронного документа, которая включает фрагмент текста 620 и фрагмент фона 630.
ПОДРОБНОЕ ОПИСАНИЕ
Слова, употребленные в единственном числе, обозначают один или более объектов, если не указано другое.
В настоящем описании представлены способы и системы редактирования текстовой информации в электронных документах.
Для понимания настоящего изобретения может быть полезна заявка на патент США №2016/0217117, которая полностью включена в настоящий документ посредством ссылки.
Термин «электронный документ» относится к файлу, содержащему один или более элементов цифрового содержимого, которые могут быть переданы для создания визуального представления электронного документа (например, на дисплее или на печатном носителе). Электронный документ можно получить путем сканирования или получения изображения физического, например бумажного, документа иным образом, а также выполнения OCR для получения текстового слоя, связанного с документом. В различных иллюстративных примерах электронные документы могут соответствовать определенным форматам файлов, таким как PDF, ODT, PDF/A, DjVu, EPub, JPEG, JPEG 2000, JBIG2, BMP и др. Электронный документ может иметь формат растрового изображения, который представляет изображение в виде массива пикселей, например JPEG, JPEG 2000, TIFF и др., или в сложном формате, например PDF и DjVu, который может содержать как растровые, так и растровые и векторные изображения. Электронный документ может содержать множество пикселей.
Термин «вычислительное устройство» может означать устройство обработки данных, оснащенное универсальным процессором, памятью и по меньшей мере одним интерфейсом связи. К примерам вычислительного устройства, которое может использоваться в способе настоящего изобретения, относятся, помимо прочего, настольные компьютеры, портативные компьютеры, планшетные компьютеры и смартфоны.
Термин «подключенный» может означать электрическое соединение и/или обмен данными через одно или более интерфейсных устройств, адаптеров и т.п.
Термин «текст» может означать один символ или строку символов. Примеры текста могут содержать буквы, символы или цифры на одном или нескольких языках.
Термин «текстовый слой» может означать набор кодированных текстовых символов. Одним из наиболее часто используемых стандартов для кодирования текстовых символов является стандарт «Юникод». В стандарте «Юникод» обычно применяются 8-битные байты для кодирования символов, входящих в кодировочную таблицу American Standard Code for Information Exchange (ASCII) и 16-битные машинные слова для кодирования символов множества языков. Возможно также использование других стандартов кодировки. Электронный документ может изначально содержать текстовый слой. Или же текстовый слой может быть сформирован путем OCR.
Термин «текстовый фрагмент» может означать область электронного документа (другими словами, набор пикселей электронного документа или изображения), занимаемую текстовыми символами, представленными в изображении документа.
Термин «информация» может означать совокупность пикселей в рассматриваемой области. Пиксели могут отличаться по цвету от смежных пикселей рассматриваемой области. Информация может включать любой объект (например, текст, изображения и т.д.). Информация может содержать пиксели, которые не относятся к фрагменту текста. Информация может содержать только фрагмент фона или включать фрагмент текста вместе с фрагментом фона.
Термин «удаление информации» может означать изменение цвета пикселей информации в рассматриваемой области, например в фрагменте текста в рассматриваемой области.
Термин «фоновый пиксель» в этом документе может означать любой пиксель, который не относится к фрагменту текста.
Электронные документы используются в различных областях деятельности.
Иногда возникает необходимость редактировать фрагмент текста электронного документа непосредственно в изображении документа. Например, может потребоваться исправить типографскую ошибку в текстовом фрагменте электронного документа.
Способ настоящего изобретения позволяет изменять/редактировать фрагмент текста электронного документа непосредственно в изображении документа.
Изменение/редактирование текстового фрагмента электронного документа может выполняться в выбранной области пикселей электронного документа. В некоторых вариантах реализации изобретения выбранная область пикселей может быть областью, выбираемой пользователем, то есть областью электронного документа, которая выбрана путем получения отклика от пользователя об изменении/редактировании этого фрагмента текста после открытия документа. При этом в некоторых вариантах реализации изобретения выбранная область пикселей может быть областью, выбираемой по умолчанию, то есть областью электронного документа, которая выбрана по умолчанию для изменения/редактирования этого фрагмента текста, без получения отклика после открытия документа. Например, область, выбираемая по умолчанию, может включать отдельную строку или несколько строк документа, например первую строку, вторую строку, последнюю строку и т.д., отдельный абзац или отдельную страницу. В некоторых вариантах реализации изобретения одна и та же выбранная область может использоваться для нескольких, например двух или более, документов.
Выбранная область может содержать как минимум фрагмент фона. В некоторых вариантах реализации изобретения выбранная область может изначально не содержать фрагмент текста, это может означать, что выбранная область не содержит символов, таких как буквы или цифры. В таких случаях изменение/редактирование фрагмента текста может означать добавление в выбранную область текста, содержащего как минимум один символ. В таком сценарии шаг стирания фрагмента текста в выбранной области может не потребоваться.
В некоторых вариантах реализации изобретения выбранная область пикселей может содержать фрагмент фона и фрагмент текста. Фрагмент текста в выбранной области может содержать как минимум один символ, например букву или цифру, или как минимум два символа, или как минимум пять символов, или как минимум десять символов, или как минимум двадцать символов. Фрагмент текста в выбранной области может содержать одну или более последовательностей символов, например слов. Фрагмент текста в выбранной области может содержать более одной последовательности символов. Выбранная область может содержать строку или более одной строки, предложение или более одного предложения, абзац или более одного абзаца, страницу или более одной страницы. В некоторых вариантах реализации изобретения выбранная область может быть только частью электронного документа. Кроме того, в некоторых вариантах реализации изобретения выбранная область пикселей может включать весь электронный документ.
Пользователь может выбрать область пикселей, например, выделив выбранную область.
С точки зрения вычислительной системы, выбор выбираемой пользователем области может означать получение через графический интерфейс пользователя (GUI) информации об изначально выбранной пользователем области пикселей электронного документа.
Различные аспекты упомянутых выше способов и систем подробно описаны ниже в этом документе с помощью примеров, а не способом ограничения.
На Фиг. 1 показана блок-схема одного иллюстративного примера вычислительного устройства 100, которое может использоваться для реализации способа или способов настоящего изобретения. Вычислительное устройство 100 может быть, например, планшетным компьютером, смартфоном, портативным компьютером или настольным компьютером. Пример вычислительного устройства, которое может использоваться для реализации способов настоящего изобретения, более подробно рассматривается ниже, со ссылкой на Фиг. 5.
Вычислительное устройство 100 может содержать процессор 110, подключенный к системной шине 120. Другие устройства, подключенные к системной шине 120, могут включать один или более блоков памяти 130, дисплей 140, клавиатуру 150, оптическое устройство ввода 160, сенсорный экран (не показан) и один или более интерфейсов связи 170.
В различных иллюстративных примерах процессор 110 может быть представлен одним или более устройствами обработки, такими как универсальные и/или специализированные процессоры. Память 130 может представлять собой одно или более энергозависимое устройство памяти (например, микросхемы ОЗУ), одно или более энергонезависимое устройство памяти (например, микросхемы ПЗУ или ЭППЗУ) и/или одно или более запоминающее устройство (например, оптические или магнитные диски).
Оптическое устройство ввода 160 может представлять собой сканер или фотокамеру, предназначенную для улавливания света, отраженного от объектов, расположенных в ее поле зрения. В некоторых вариантах реализации изобретения оптическое устройство ввода 160 может являться внешним устройством по отношению к вычислительному устройству 100 и может быть подключено к вычислительному устройству 100 через электронный проводной или беспроводной канал связи.
Память 130 может содержать инструкции для приложения редактирования 190 для редактирования текстового фрагмента электронного документа. Приложение редактирования 190 может быть реализовано как функция или инструмент, который будет вызываться через пользовательский интерфейс другого приложения. В качестве альтернативы, приложение 190 может быть реализовано в виде автономного приложения.
В качестве иллюстративного примера вычислительное устройство 100 может получить электронный документ (например, изображение документа). Пользователь может открыть или создать электронный документ с помощью приложения редактирования 190. Вычислительное устройство 100 может получать выбранную область электронного документа от пользователя или из информации по умолчанию, содержащейся в его памяти. Выбранная область может иметь различную форму, в том числе прямоугольника, круга, многоугольника. Вычислительное устройство 100 может определить, содержит ли выбранная область фрагмент текста. Как уже упоминалось, текстовому фрагменту изображения может соответствовать текстовый слой. Другими словами, приложение редактирования определяет, содержит ли выбранная область текстовый слой. Текстовый слой может присутствовать в исходном документе, например, в виде слоя скрытого текста в документе или может быть получен в результате OCR. Дополнительные подробности и операции приложения редактирования 190 описываются совместно с Фиг. 2-4.
На Фиг. 2 представлена блок-схема одного иллюстративного примера способа 200 редактирования электронного документа. Способ и (или) каждая из его отдельных функций, процедур, подпрограмм или операций может выполняться одним или более процессорами компьютерной системы, выполняющей этот способ. В некоторых вариантах реализации способ 200 может выполняться в одном потоке обработки. Кроме того, способ 200 может выполняться, используя два или более потоков обработки, причем каждый поток выполняет одну или более отдельных функций, процедур, подпрограмм или операций способа. В качестве иллюстративного примера потоки обработки, реализующие способ 200, могут быть синхронизированы (например, с использованием семафоров, критических секций и (или) других механизмов синхронизации потоков). В качестве альтернативы реализующие способ 200 потоки обработки могут выполняться асинхронно по отношению друг к другу. Таким образом, несмотря на то, что Фиг. 2 и соответствующее описание содержат список операций для способа 200 в определенном порядке, в различных вариантах реализации способа как минимум некоторые из описанных операций могут выполняться параллельно и (или) в случайно выбранном порядке.
Шаг 210 может включать открытие пользователем электронного документа. В результате пользователь может увидеть изображение электронного документа, например, на мониторе или дисплее компьютерной системы. Например, на Фиг. 3А показано изображение открытого электронного документа, который может быть, например, результатом сканирования документа, фотографией документа или PDF-файлом документа. Электронный документ может содержать фрагмент текста и фрагмент фона. И фрагмент текста, и фрагмент фона электронного документа могут быть представлены соответствующими пикселями.
В некоторых вариантах реализации изобретения способ может включать необязательный шаг 220 OCR открытого электронного документа или одной или более его частей, которые пользователь может выбирать или не выбирать. В результате OCR может быть сформирован соответствующий текстовый слой. В некоторых вариантах реализации изобретения для многостраничных документов может быть сформирован отдельный текстовый слой для каждой распознанной страницы документа. Кроме того, в некоторых вариантах реализации изобретения для многостраничных документов может быть сформирован объединенный текстовый слой для двух или более страниц документа. В некоторых вариантах реализации изобретения этот объединенный текстовый слой может создаваться для всех страниц документа.
Текстовый слой может содержать метаданные текстового слоя, которые могут содержать информацию о положении, например, координаты текстового слоя при визуальном отображении, то есть в изображении электронного документа. Метаданные текстового слоя также могут содержать информацию о прозрачности или видимости текстового слоя. Текстовые слои многих электронных документов могут быть прозрачными, а значит, скрытыми/невидимыми для пользователя.
В некоторых вариантах реализации изобретения пользователь может выбрать часть или область, в которой выполняется OCR. В отдельных вариантах реализации изобретения OCR может выполняться в фоновом режиме, то есть не влияя на работу пользователя с вычислительной системой.
В некоторых вариантах реализации изобретения открываемый электронный документ может уже иметь заранее созданный текстовый слой. В таком случае OCR может не выполняться, а в дальнейших операциях, например на шаге 250, может использоваться существующий текстовый слой.
В некоторых вариантах реализации изобретения выводимый на экран электронный документ может иметь один или более дефектов, например искажение угла наклона, искажение перспективы, зашумленность, блики или размытости. В этом случае перед выполнением OCR изображение открытого электронного документа может быть подвергнуто предварительной обработке для повышения качества OCR. Предварительная обработка может включать, например, одно или более действий из следующего списка: выравнивание изображения, устранение шума, бликов и/или размытости на изображении, корректировка искаженной перспективы на изображении.
Несмотря на возможность предварительной обработки открытого электронного документа для повышения качества изображения перед OCR, изображение по-прежнему может быть представлено пользователю в его исходном виде (до предварительной обработки), то есть в форме, содержащей исходные дефекты изображения, которые были исправлены при предварительной обработке. Например, если изображение электронного документа имеет искажение угла наклона, изображение можно выровнять/повернуть для повышения качества OCR документа, при этом изображение по-прежнему будет отображаться пользователю для редактирования в исходном искаженном виде. Это позволяет сформировать слой качественного текста, то есть текстовый слой с меньшим количеством дефектов для OCR, при этом пользователь, выполняя редактирование, может видеть изображение в оригинальном виде (до предварительной обработки).
Шаг 230 может включать получение вычислительной системой информации от пользователя или из памяти, относящейся к области (выбранной области) открытого электронного документа, который пользователь собирается отредактировать. Выбранная область может быть выбираемой пользователем областью, если ее выбирает пользователь, или областью, выбираемой по умолчанию, если информация о выбираемой области получается из памяти вычислительной системы без участия пользователя. В некоторых вариантах реализации изобретения, если документ не имеет соответствующего текстового слоя, OCR может выполняться для создания текстового слоя, который соответствует текстовому фрагменту выбранной области. OCR также можно выполнять, если качество ранее созданного текстового слоя неудовлетворительно. Верификация качества ранее созданного текстового слоя может включать, например, выполнение автоматической проверки орфографии на базе словаря, проверку орфографии и автоматическую валидацию кодировки ранее созданного текстового слоя.
Если выбранная область не содержит текста (не содержит фрагмента текста), создание текстового слоя для выбранной области может быть необязательным.
Шаг 240 может включать удаление фрагмента текста из выбранной области. Одним из хорошо известных в настоящее время стандартных способов удаления текста с изображения является наложение на стираемый текст прямоугольника унифицированного цвета, например белого. При использовании этого способа границу редактируемой области, то есть области, в которой стирается текст, можно заметить, потому что цвет редактируемой области не совпадает с цветом фона фрагментов документа, окружающих редактируемую область. В результате качество редактируемого документа по сравнению с исходным документом ухудшается. Это может быть особенно заметно, если документ имеет неунифицированный цвет фона. Поэтому наложение на стираемый текст унифицированных цветов может быть неприемлемо.
Удаление фрагментов текста может производиться путем воздействия исключительно на пиксели текста, то есть пиксели, соответствующие фрагменту текста в выбранной области, без воздействия на пиксели фона, то есть пиксели, соответствующие фрагменту фона в выбранной области.
В некоторых вариантах реализации изобретения удаление фрагмента текста может выполняться путем стирания пикселей текста без воздействия на пиксели фона.
Кроме того, в некоторых вариантах реализации изобретения удаление фрагмента текста на шаге 240 может выполняться с использованием способа «умный ластик», описанного в заявке на патент США №2016/0217117, которая полностью включена в настоящий документ посредством ссылки. Подобное удаление не изменяет фрагмент фона для выбранной области, то есть не удаляет пиксели фона в выбранной области, которые соответствуют фрагменту фона для данной области. Способ «умный ластик» влияет только на пиксели текста выбранной области, которые соответствуют фрагменту текста для выбранной области. Точнее говоря, «умный ластик» заменяет пиксели текста размытыми/усредненными пикселями фрагмента фона выбранной области, используя некоторые операции математического усреднения. После применения «умного ластика» выбранная область может содержать только фоновые пиксели.
Если выбранная область не содержит фрагмента текста, шаг 240 может быть необязательным.
Шаг 245 может включать определение наличия соответствующего текстового слоя у выбранной области. Этот шаг необязателен. Другими словами, если на шаге 220, сразу после открытия документа, не было выполнено OCR для всего документа, можно предположить, что OCR выполняется только для выбранной области. В этом случае может использоваться следующая последовательность: а) пользователь вычислительной системы определяет область для редактирования («выбранная область») в открытом документе; b) выполняется OCR только для выбранной области, в результате создается текстовый слой, соответствующий выбранной области (другими словами, текстовому фрагменту выбранной области); с) фрагмент текста удаляется без воздействия на фрагмент фона (пиксели фона).
На шаге 250 выбранная область без фрагмента текста может быть отображена пользователю в качестве области редактирования. Для выбранной области без исходного фрагмента текста область редактирования может включать неизменный фрагмент фона, с предоставлением возможности добавления текста. Для выбранной области, которая содержала исходный фрагмент текста, область редактирования также может включать неизменный фрагмент фона. Кроме того, эта область редактирования может включать также текст, отображающий текстовый слой (который соответствует фрагменту текста в выбранной области), который отображается в виде редактируемого текста, то есть текста, который можно редактировать (включая изменение существующего текста, удаление существующего текста и добавление нового текста), выделять и/или копировать. Редактируемый текст, представляющий текстовый слой, может иметь такой же шрифт, как у фрагмента текста в выбранной области. Для выбранной области, которая изначально содержала фрагмент текста, редактируемая область может отображаться после того, как будет определено, что выбранная область имеет соответствующий текстовый слой приемлемого качества, и после удаления фрагмента текста в выбранной области.
На Фиг. 3В представлен тот же документ, что и на Фиг. 3А, на стадии редактирования, где отмечены следующие детали выбранная область 310: «For generations English-speaking people have been pulling to pieces», исходный документ 320, область редактирования, с отображенным для редактирования текстовым слоем 330, курсор 340.
Выделенная область может быть отображена пользователю в виде области редактирования, которая содержит редактируемый текст из текстового слоя, соответствующий фрагменту текста в выбранной области. Фрагмент фона в выбранной области остается без изменений. Редактируемый текст имеет такой же шрифт, как и фрагмент текста в выбранной области. Таким образом, способ настоящего изобретения разрешает редактирование текста без изменения вида, структуры и/или содержимого документа. В некоторых вариантах реализации изобретения пользователю может быть отображен весь документ. Также в некоторых вариантах реализации изобретения пользователю может быть отображена только часть документа, чтобы он мог лучше рассмотреть редактируемую область. Например, можно показывать пользователю только редактируемую область, не показывая другие части документа.
Рассмотренный выше шаг вывода выбранной области в виде редактируемой области обладает новизной. Альтернативные способы редактирования изображения могут допускать редактирование документа только после конвертации изображения в формат редактируемого документа, например MS Word. Такая конвертация может изменить вид, структуру и/или содержимое документа.
Другой альтернативный способ редактирования текста в изображении позволяет перекрывать исходное изображение текста растровым изображением текстового блока. Такой текстовый блок включает фрагмент текста и фрагмент фона. В этом способе OCR в тексте исходного изображения не выполняется. Это означает, что перекрывающий текстовый блок может иметь шрифт, отличный от шрифта текста исходного изображения, поскольку текст исходного изображения не анализируется. Этот способ также может предполагать, что пользователь вводит весь текст в текстовый блок вручную. Например, если редактирование включает изменение только первых и последних слов текстового блока, пользователь будет вводить не только первое и последнее слово, но и все слова в промежутке между ними.
Шаг 260 может включать редактирование (изменение) редактируемого текста в области редактирования. С точки зрения вычислительной системы, этот шаг может включать получение отклика от пользователя, например, через графический интерфейс пользователя, об изменениях, вносимых в редактируемый текст, и применении этих изменений для создания измененного текста. Редактируемая область с измененным текстом становится измененной областью редактирования. Фрагмент фона в области редактирования остается без изменений. Эти изменения могут включать или не включать удаление одного или более определенных символов, например букв или цифр, или одной или более последовательностей символов, например слов, или даже всего фрагмента текста; добавление одного или более определенных символов, например букв или цифр, или одной или более последовательностей символов, например слов; замену одного или более символов на один или более других символов, замену одной или более последовательностей символов, например слов, на одну или более других последовательностей символов. Если выбранная область не содержала фрагмента текста, изменения могут включать добавление фрагмента текста в выбранную область путем добавления одного или более символов, например букв или цифр, или одной или более последовательностей символов, таких как слова.
На Фиг. 3С показан тот же документ, что и на Фиг. 3В, в область редактирования которого были внесены изменения для получения измененной области редактирования. Изменение представляет собой замену слова English на слово Russian. В результате измененная область редактирования выглядит следующим образом: «For generations Russian-speaking people have been pulling to pieces». Редактирование в имеющемся контексте может включать или не включать удаление всего редактируемого текста.
После завершения редактирования пользователь может просигнализировать о том, что редактирование завершено. Это можно сделать, например, путем указания/щелчка на части открытого документа, отличной от выбранной области. С точки зрения вычислительной системы, эта операция может соответствовать получению отклика пользователя об окончании редактирования.
На шаге 270 измененная область редактирования может быть растеризована для получения растеризованной измененной области. Растеризация, то есть конвертация в пиксели, выполняется и с измененным (отредактированным) текстом, и с фоновым фрагментом.
На шаге 280 растеризованная измененная область может быть вставлена в исходный документ (изображение документа) с заменой выбранной области исходного документа. На Фиг. 3D показан итоговый отредактированный электронный документ.
В некоторых вариантах реализации изобретения исходный электронный документ может содержать только одно растровое изображение, это может означать, что исходный электронный документ имеет формат растрового изображения или что исходный электронный документ имеет сложный формат, например PDF, и включает только одно растровое изображение. На Фиг. 4А схематично показан документ с одним растровым изображением. Вставка растеризованной измененной области в исходный документ с одиночным растровым изображением может быть относительно простой. Растеризованная измененная область может вставляться в такой документ, исходя из координат выбранной области в исходном документе. А именно, каждый пиксель выбранной области исходного документа может быть заменен на соответствующий пиксель растеризованной измененной области.
В некоторых вариантах реализации изобретения исходный электронный документ может представлять собой сложный файл, например файл PDF, который содержит несколько, то есть более одного, растровых изображений. Положение отдельного растрового изображения относительно других растровых изображений документа может изменяться. Например, отдельное растровое изображение может перекрывать или не перекрывать другие растровые изображения документа. На Фиг. 4В, 4С и 4D схематично показаны некоторые возможные конфигурации растровых изображений в сложном файле. На Фиг. 4С ни одно из четырех растровых изображений не перекрывается другими растровыми изображениями. На Фиг. 4В два из пяти растровых изображений перекрываются между собой, а оставшиеся три растровых изображения не перекрываются с другими растровыми изображениями. На Фиг. 4D одно из трех растровых изображений перекрывается с остальными двумя растровыми изображениями, которые не перекрываются между собой.
Вставку растровой измененной области в исходный документ с несколькими растровыми изображениями можно произвести, например, одним из следующих способов.
В некоторых вариантах реализации изобретения растеризованная измененная область может быть вставлена в исходный документ с несколькими растровыми изображениями так, чтобы фрагменты растеризованной измененной области перекрывались с фрагментами нескольких (более одного) растровых изображений, которые не накладываются друг на друга. Например, Фиг. 4С иллюстрирует ситуацию, когда растеризованная измененная область («область после редактирования») вставляется в исходный документ с несколькими растровыми изображениями так, чтобы его фрагменты перекрывались с фрагментами трех растровых изображений, которые не перекрываются между собой. В этом случае в одном варианте осуществления изобретения вставка растеризованной измененной области в исходный документ с несколькими растровыми изображениями может включать замену каждого пикселя в перекрывающемся фрагменте растрового изображения документа (т.е. фрагменте растрового изображения, который перекрывается с растеризованной измененной областью) на соответствующий пиксель растеризованной измененной области для каждого растрового изображения, с которым перекрывается растеризованная измененная область, исходя из координат выбранной области в исходном документе. В этом случае структура сложного файла, такого как файл PDF, для исходного документа с несколькими растровыми изображениями может быть сохранена в итоговом документе. В еще одном варианте реализации изобретения вставка растеризованной измененной области в исходный документ с несколькими растровыми изображениями может включать добавление растеризованной измененной области в виде дополнительного растрового изображения поверх исходного растрового изображения, документа, исходя из координат выбранной области в исходном документе. В этом случае структура сложного файла, такого как файл PDF, с итоговым отредактированным документом будет отличаться от структуры сложного файла исходного документа из-за добавления дополнительного растрового изображения.
В некоторых вариантах реализации изобретения растеризованная измененная область может перекрываться с перекрывающимися фрагментами двух или более растровых изображений исходного документа с несколькими растровыми изображениями. Например, на Фиг. 4D показан случай, когда растеризованная измененная область («отредактированная область») вставляется в исходный документ с несколькими растровыми изображениями так, что она накладывается на перекрывающиеся фрагменты двух перекрывающихся растровых изображений, входящих в документ. В таком случае в одном из вариантов реализации изобретения растеризованная измененная область может быть вставлена в исходный документ с несколькими растровыми изображениями путем замены в каждом растровом изображении из числа перекрывающихся растровых изображений документа каждого пикселя в фрагменте растрового изображения, которое перекрывается с растеризованноя измененной областью, на соответствующий пиксель растеризованной измененной области, исходя из координат выбранной области. В этом случае структура сложного файла, такого как файл PDF, для исходного документа с несколькими растровыми изображениями может быть сохранена в итоговом документе. В еще одном варианте реализации изобретения вставка растеризованной измененной области в исходный документ с несколькими растровыми изображениями может включать добавление растеризованной измененной области в виде дополнительного растрового изображения поверх перекрывающейся области исходного растрового изображения документа, исходя из координат выбранной области в исходном документе. В этом случае структура сложного файла, такого как файл PDF, с итоговым отредактированным документом будет отличаться от структуры сложного файла исходного документа из-за добавления дополнительного растрового изображения.
В некоторых вариантах реализации изобретения множественные растровые изображения в исходном документе с несколькими растровыми изображениями могут быть конвертированы в единое растровое изображение для формирования документа с одним растровым изображением. В этом случае растеризованная измененная область может быть вставлена в конвертированный документ с одним растровым изображением в соответствии с координатами выбранной области в исходном электронном документе.
В некоторых вариантах реализации изобретения электронный документ может иметь сложный формат, например PDF, который, кроме одного или более растровых изображений, может содержать одно или более векторных изображений. В подобном случае для вставки в документ растеризованной измененной области каждое векторное изображение можно преобразовать в растровое изображение, а затем воспользоваться одним из описанных выше способов вставки.
Вставка растеризованной измененной области может привести к созданию отредактированного итогового документа, который будет иметь такой же общий вид, включая цвет фона и тот же шрифт текста, что и исходный документ.
В основном способы настоящего изобретения лучше подходят для выполнения относительно небольшого объема редактирования, когда количество символов в выбранной области исходного документа незначительно отличается от количества символов в соответствующей измененной области итогового документа.
Если количество символов в выбранной области исходного документа значительно больше количества символов в соответствующей измененной области итогового документа, возможно, что итоговый документ будет содержать слишком много пробелов, что может изменить общий вид итогового документа по сравнению с исходным.
Если количество символов в выбранной области исходного документа значительно меньше количества символов в соответствующей измененной области итогового документа, измененная область может превысить размер выбранной области.
Чтобы избежать этого, необходимо увеличить размер выбранной области.
В некоторых вариантах осуществления изобретения, если количество символов в выбранной области исходного документа значительно больше количества символов в соответствующей измененной области итогового документа, размер выбранной области можно увеличить.
Кроме того, в некоторых вариантах осуществления изобретения, если количество символов в выбранной области исходного документа значительно меньше количества символов в соответствующей измененной области итогового документа, размер выбранной области можно увеличить. Например, если оригинальная выбранная область представляет собой строку, расширенная выбранная область может быть абзацем или страницей.
Как правило, способы настоящего изобретения могут использоваться для выполнения значительных объемов редактирования. Например, в некоторых вариантах реализации изобретения в качестве выбранной области можно взять весь документ. Таким образом, отдельные шаги способа, такие как удаление фрагмента текста, вывод области редактирования и растеризация измененной (отредактированной) области, могут применяться ко всему документу. Хотя такое применение способов настоящего изобретения возможно, итоговый отредактированный документ в этом случае может иметь сильно отличающийся от исходного документа общий вид.
На Фиг. 5 представлена более подробная схема примера вычислительного устройства 500, которое содержит набор команд, которые вызывают выполнение вычислительным устройством одного или более способов настоящего изобретения. Вычислительное устройство 500 может включать те же компоненты, что и вычислительное устройство 100 на Фиг. 1, а также некоторые дополнительные или другие компоненты, некоторые из которых могут быть опциональными и необязательными для реализации аспектов настоящего изобретения. Вычислительное устройство может подключаться к другому вычислительному устройству по локальной сети, корпоративной сети, сети экстранет или сети Интернет. Вычислительное устройство может работать в качестве сервера или клиента в сетевой среде «клиент/сервер», или в качестве однорангового вычислительного устройства в одноранговой (или распределенной) сетевой среде. Вычислительное устройство может быть представлено персональным компьютером (ПК), планшетным ПК, телевизионной приставкой (STB), карманным ПК (PDA), сотовым телефоном или любым вычислительным устройством, способным выполнять набор команд (последовательно или иным образом), определяющих операции, которые должны быть выполнены этим вычислительным устройством. Кроме того, в то время как представлено только одно вычислительное устройство, следует принять, что термин «вычислительное устройство» также может включать любую совокупность вычислительных устройств, которые отдельно или совместно выполняют набор (или несколько наборов) команд для выполнения одного или более способов, рассмотренных в настоящем документе.
Пример вычислительного устройства 500 включает процессор 502, основную память 504 (например, постоянное запоминающее устройство (ПЗУ) или динамическую оперативную память (DRAM)) и устройство хранения данных 516, которые взаимодействуют друг с другом по шине 508.
Процессор 502 может быть представлен одним или более универсальными устройствами обработки данных, например микропроцессором, центральным процессором и т.д. В частности, процессор 502 может представлять собой микропроцессор с полным набором команд (CISC), микропроцессор с сокращенным набором команд (RISC), микропроцессор с командными словами сверхбольшой длины (VLIW) или процессор, реализующий другой набор команд, или процессоры, реализующие комбинацию наборов команд. Процессор 502 также может представлять собой одно или более устройств обработки специального назначения, например заказную интегральную микросхему (ASIC), программируемую пользователем вентильную матрицу (FPGA), процессор цифровых сигналов (DSP), сетевой процессор и т.п. Процессор 502 реализован с возможностью выполнения команд 526 для осуществления рассмотренных в настоящем документе операций и функций. Вычислительное устройство 500 может дополнительно включать устройство сетевого интерфейса 522, устройство отображения 510, устройство ввода символов 512 (например, клавиатуру), а также устройство ввода - сенсорный экран и устройство управления курсором 514.
Устройство хранения данных 516 может содержать машиночитаемый носитель данных 524, в котором хранится один или более наборов команд 526, и в котором реализован один или более из способов или функций настоящего изобретения. Команды 526 также могут находиться полностью или по меньшей мере частично в основной памяти 504 и/или в процессоре 502 во время выполнения их в вычислительном устройстве 500, при этом оперативная память 504 и процессор 502 также составляют машиночитаемый носитель данных. Команды 526 дополнительно могут передаваться или приниматься по сети 518 через устройство сетевого интерфейса 522.
В некоторых реализациях изобретения команды 526 могут включать в себя команды способа 400 для выборочного стирания фрагментов электронного документа, и могут выполняться через приложение 190 на Фиг. 1. В то время как машиночитаемый носитель данных 524, показанный на примере на Фиг. 5, является единым носителем, термин «машиночитаемый носитель» должен включать один носитель или несколько носителей (например, централизованную или распределенную базу данных, и/или соответствующие кэши и серверы), в которых хранится один или более наборов команд. Термин «машиночитаемый носитель данных» также следует рассматривать как термин, включающий любой носитель, который способен хранить, кодировать или переносить набор команд для выполнения машиной, который заставляет эту машину выполнять любой один или более способов, описанных в настоящем раскрытии изобретения. Соответственно, термин «машиночитаемый носитель данных» также включает, в частности, устройства твердотельной памяти, оптические и магнитные носители.
Описанные в документе способы, компоненты и функции могут быть реализованы дискретными компонентами оборудования, либо они могут быть интегрированы в функции других аппаратных компонентов, таких как ASICS, FPGA, DSP или подобных устройств. Кроме того, способы, компоненты и функции могут быть реализованы с помощью модулей встроенного программного обеспечения или функциональных схем аппаратного обеспечения. Способы, компоненты и функции также могут быть реализованы с помощью любой комбинации аппаратного обеспечения и программных компонентов либо исключительно с помощью программного обеспечения. В приведенном выше описании изложены многочисленные детали. Однако любому специалисту в этой области техники, ознакомившемуся с этим описанием, очевидно, что настоящее изобретение может быть осуществлено на практике без этих конкретных деталей. В некоторых случаях хорошо известные структуры и устройства показаны в виде блок-схем, а не подробно, чтобы не усложнять описание настоящего изобретения.
Некоторые части описания предпочтительных вариантов реализации представлены в виде алгоритмов и символического представления операций с битами данных в памяти компьютера. Такие описания и представления алгоритмов представляют собой средства, используемые специалистами в области обработки данных, чтобы наиболее эффективно передать сущность своей работы другим специалистам в данной области. Здесь и в целом алгоритмом называется логически непротиворечивая последовательность операций, приводящих к требуемому результату. Операции требуют физических манипуляций с физическими величинами. Обычно, хотя и не обязательно, эти величины принимают форму электрических или магнитных сигналов, которые можно хранить, передавать, комбинировать, сравнивать и выполнять другие манипуляции. Иногда удобно, прежде всего для обычного использования, описывать эти сигналы в виде битов, значений, элементов, символов, терминов, цифр и т.д. Однако следует иметь в виду, что все эти и подобные термины должны быть связаны с соответствующими физическими величинами, и что они представляют собой просто удобные метки, применяемые к этим величинам. Из приведенного ниже изложения очевидно, что если не указано иное, то следует понимать, что в описании такие термины, как «определение», «вычисление», «расчет», «получение», «идентификация», «изменение» и т.п. относятся к действиям и процессам вычислительного устройства или аналогичного электронного вычислительного устройства, которое манипулирует данными и преобразует данные, представленные в виде физических (например, электронных) величин в регистрах вычислительного устройства и памяти в другие данные, аналогичным образом представленные в виде физических величин в памяти или регистрах вычислительного устройства или других таких устройств хранения, передачи или отображения информации.
Настоящее изобретение также относится к устройству для выполнения операций, описанных в настоящем документе. Такое устройство может быть специально сконструировано для требуемых целей, или оно может содержать универсальный компьютер, который избирательно активируется или дополнительно настраивается с помощью компьютерной программы, хранящейся в компьютере. Такая компьютерная программа может храниться на машиночитаемом носителе данных, например, в частности, на диске любого типа, включая дискеты, оптические диски, CD-ROM и магнитно-оптические диски, постоянные запоминающие устройства (ПЗУ), оперативные запоминающие устройства (ОЗУ), СППЗУ, ЭППЗУ, магнитные или оптические карты и носитель любого типа, подходящий для хранения электронной информации.
Следует понимать, что вышеприведенное описание носит иллюстративный, а не ограничительный характер. Различные другие варианты реализации станут очевидными специалистам в данной области техники после прочтения и понимания приведенного выше описания. Область применения изобретения поэтому должна определяться с учетом прилагаемой формулы изобретения, а также всех областей применения эквивалентных способов, которые покрывает формула изобретения.