BR102018072097A2 - Método de inserção e extração de marca d`água para proteção de documentos e mídia não transitória - Google Patents
Método de inserção e extração de marca d`água para proteção de documentos e mídia não transitória Download PDFInfo
- Publication number
- BR102018072097A2 BR102018072097A2 BR102018072097-0A BR102018072097A BR102018072097A2 BR 102018072097 A2 BR102018072097 A2 BR 102018072097A2 BR 102018072097 A BR102018072097 A BR 102018072097A BR 102018072097 A2 BR102018072097 A2 BR 102018072097A2
- Authority
- BR
- Brazil
- Prior art keywords
- words
- spaces
- document
- message
- watermark
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000003780 insertion Methods 0.000 title claims description 9
- 230000037431 insertion Effects 0.000 title claims description 9
- 238000000605 extraction Methods 0.000 title description 15
- 238000005457 optimization Methods 0.000 claims abstract description 6
- 238000013507 mapping Methods 0.000 claims description 8
- 239000013598 vector Substances 0.000 claims description 8
- 230000011218 segmentation Effects 0.000 claims description 6
- 238000012015 optical character recognition Methods 0.000 claims description 5
- 238000012937 correction Methods 0.000 claims description 4
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 3
- 238000012986 modification Methods 0.000 claims description 3
- 230000009467 reduction Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 10
- 238000012966 insertion method Methods 0.000 description 8
- 238000007639 printing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 241000282414 Homo sapiens Species 0.000 description 4
- 238000007689 inspection Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000976 ink Substances 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/16—Program or content traceability, e.g. by watermarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
- G06T1/0028—Adaptive watermarking, e.g. Human Visual System [HVS]-based watermarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
- G06T1/005—Robust watermarking, e.g. average attack or collusion attack resistant
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/106—Enforcing content protection by specific content processing
- G06F21/1066—Hiding content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0051—Embedding of the watermark in the spatial domain
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0062—Embedding of the watermark in text images, e.g. watermarking text documents using letter skew, letter distance or row distance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0065—Extraction of an embedded watermark; Reliable detection
Abstract
um método para inserção de marca d?água em documentos caracterizado por compreender: - a identificação e a localização de espaços em um documento original recebido (10) por um módulo de análise de localização (110) que distingue entre espaços dentro de palavras e espaços entre palavras. - minimização de uma probabilidade de erro da interferência entre espaços dentro de palavras e espaços entre palavras no documento com marca d?água (20) por meio de um módulo de otimização (111); - codificação (113) da mensagem (30) em palavras código e codificação (114) das palavras código em marca d?água; - inserção da marca d?água para gerar (115) o documento com marca d?água (20) por meio da modificação de espaços dentro de palavras e espaços entre palavras do documento original (10).
Description
Relatório Descritivo da Patente de Invenção: “MÉTODO DE INSERÇÃO E EXTRAÇÃO DE MARCA D ÁGUA PARA PROTEÇÃO DE DOCUMENTOS E MÍDIA NÃO TRANSITÓRIA”
Campo da invenção [001] A presente invenção tem aplicação no setor de telecomunicações, dentro do campo de segurança de informações digitais e processamento de conteúdo digital, e tem relação com a tecnologia de marca d’água digital.
[002] Mais especificamente, a presente invenção se refere a um método de inserção de marca d’água digital em um documento, que pode ser em formato digital ou digitalizado, incluindo textos, e um método de extração de marca d’água do documento com marca d’água aplicada mesmo em caso de distorção no documento.
Antecedentes da invenção [003] A inclusão de informações ocultas em um arquivo de texto é um recurso desejado em muitos campos para muitas aplicações diferentes. Por um lado, as informações ocultas inseridas em um documento de texto podem ser decodificadas por máquinas para permitir a classificação automática de documentos. Ao mesmo tempo, estas informações podem permitir a validação automática da autenticidade, integridade e propriedade de um documento. Além disso, essas informações incluídas em documentos confidenciais - podem permitir seu rastreamento, dissuadir vazamento de informações ou ajudar na identificação do responsável em caso de vazamento.
[004] As informações incluídas em documentos com esse objetivo em geral têm a intenção de ser imperceptíveis a seres humanos, mas apreciáveis por sistemas de computadores, que podem ler e decodificá-las. Essa inclusão de informações costuma ser referida como marca d’água. Uma marca d’água é uma alteração de um documento que pode incluir uma imagem ou padrão de identificação, como um espaçamento de caractere ou uma deformação de caractere no caso de texto, ou modificação de pixels na frequência ou espaço no caso de imagens. A marca d’água pode representar um código ou um sinal/assinatura único. A marca d’água pode ser
Petição 870180144946, de 26/10/2018, pág. 7/32
2/14 replicada em diferentes partes/seções do próprio documento, permitindo que seja extraída também de uma parte do documento original (no caso de documentos danificados/sujos/amassados). Finalmente, a marca d’água não pode ser apreciada por inspeção humana, mas pode ser identificada em uma inspeção digital, com a recuperação do código representado.
[005] Muitos métodos diferentes existem para incluir marcas d’água em dados multimídia, a saber, áudio, vídeo e imagens, daí a existência de uma ampla literatura científica que descreve métodos de inserção e extração. A inclusão e extração de marcas d’água de dados multimídia, no entanto, em geral implica técnicas não aplicáveis a documentos de texto.
[006] Diferentes métodos são usados para incluir informações em documentos de texto, em geral implicando a adição ou alteração da aparência de um documento. Os métodos mais fáceis incluem marcas visíveis no documento, como códigos de barra. Entretanto, a adição de marcas visíveis no documento pode não ser aceitável para várias aplicações, seja por motivos estéticos ou porque a marca d’água não deve ser notada pelo usuário. Como tal, marcas d’água imperceptíveis são de grande interesse para documentos de texto, onde em geral há poucas áreas onde encobrir uma marca em comparação a dados multimídia.
[007] Em relação a marcas d’água imperceptíveis em documentos de texto, diferentes técnicas estão disponíveis e são geralmente baseadas em uma das três seguintes metodologias de codificação: (i) elementos especiais podem ser envolvidos para aplicar a marca d’água, que não fazem parte do processo de impressão padrão (ex.: tintas ou papéis especiais), (ii) as informações podem ser codificadas na parte do texto do documento, por meio de regras semânticas ou sintáticas, ou seja, alterando o conteúdo do texto com o uso de sinônimos ou grupos de letras maiúsculas/minúsculas diferentes, etc., ou (iii) as informações podem ser codificadas em modificação da aparência do documento, incluindo variações de cor, transposições de parte do conteúdo, etc.
[008] Algumas das técnicas disponíveis para integrar marcas d’água em
Petição 870180144946, de 26/10/2018, pág. 8/32
3/14 documentos são válidas para documentos em papel, outras para documentos digitais (um documento digital é um documento original criado em um formato digital, geralmente PDF), algumas para ambos os formatos, mas todas elas apresentam limitações, incluindo dependência de processos de impressão e escaneamento, ou não resistência a impressão, distorção ou quantidade limitada de informações que podem ser inseridas no documento.
[009] Portanto, é altamente desejável desenvolver um método para inserir marcas d’água em documentos de texto em papel e documentos digitais que acabam sendo resistentes a distorções do documento, sem precisar do documento original para extração de marca d’água e sem exigir nenhum equipamento especial para imprimir ou escanear o documento.
Sumário da invenção [010] A presente invenção resolve os problemas acima mencionados e supera as limitações do trabalho do estado da arte explicado anteriormente oferecendo um método para inserir/extrair marcas d’água digitais para proteger documentos. Mais especificamente, um método para inserir uma marca d’água digital que codifica uma mensagem em um documento original é fornecido. O documento original pode ser um documento digital ou digitalizado (um documento digitalizado é um scan/imagem de um documento digital anteriormente impresso em papel, ou a conversão para um formato digital diferente de um documento digital), incluindo documentos de texto, tanto em formato vetorial e objetos de mapeamento de pixels. Ademais, o método contrário, ou seja, o método para extrair a mensagem da marca d’água inserida em um documento, sem requerer o documento original, é fornecido.
[011] Um aspecto da presente invenção se refere a um método para inserir marcas d’água em documentos, que recebe como dados um documento original e uma mensagem para obter como resultado um documento com marca d’água que tem uma marca d’água inserida, a marca d’água com a codificação da mensagem recebida. O método de marca d’água compreende os seguintes passos:
- a identificação e a localização de espaços em um documento original por
Petição 870180144946, de 26/10/2018, pág. 9/32
4/14 um módulo de análise de localização que distingue entre espaços dentro de palavras e espaços entre palavras;
- a minimização de uma probabilidade de erro da interferência entre espaços dentro de palavras e espaços entre palavras no documento com marca d’água por meio de um módulo de otimização;
- a codificação da mensagem em palavras código e codificação das palavras código em marca d’água;
- a inserção da marca d’água para gerar o documento com marca d’água por meio da modificação de espaços dentro de palavras e espaços entre palavras do documento original.
[012] Outro aspecto da presente invenção se refere a um método para extrair marcas d’água de documentos, o método recebendo como dados um documento recebido que resulta de possíveis deformações de um documento com marca d’água e o método compreende os seguintes passos:
- a identificação e a localização de espaços em um documento recebido por um módulo de análise de localização que distingue entre espaços dentro de palavras e espaços entre palavras e obtém um vetor S’bw que corresponde aos espaços entre palavras do documento com marca d’água;
- o mapeamento dos espaços entre palavras do vetor S’bw em símbolos de acordo com um alfabeto de palavras código w = { wi}, i= 1,2,...Q; Q sendo o número de símbolos da mensagem codificada pela marca d’água do documento com marca d’água e os símbolos sendo mapeados univocamente às palavras código w;
- desempacotamento de símbolos mapeados para obter blocos de sincronização e blocos payload de símbolos;
- descodificação do canal dos blocos payload para extrair a mensagem que foi codificada pela marca d’água, a marca d’água inserida no documento com marca d’água.
[013] Outro aspecto adicionais da presente invenção se refere a um programa de computador e uma mídia não transitória que pode ser lida por computador, que contém
Petição 870180144946, de 26/10/2018, pág. 10/32
5/14 instruções ou código de computador (armazenados na mídia não transitória que pode ser lida por computador) para realizar os passos dos métodos de inserção e/ou extração das marcas d’água descritos antes.
[014] A presente invenção tem diversas vantagens em relação ao estado da técnica, que podem ser resumidas a seguir:
- recuperação às cegas da marca d’água inserida, ou seja, a recuperação da mensagem inserida não requer a presença da mensagem original;
- capacidade de recuperação de uma distorção do documento, como uma ruptura parcial, distorções de impressão/escaneamento, alteração de cor em processo de impressão/escaneamento, etc;
- independência do método da marca d’água do formato do documento (digital, digitalizado ou impresso);
- independência do método de marca d’água de tecnologia de impressão e escaneamento, sem requerer qualquer dispositivo ou tecnologia específica;
- a solução resultante não pode ser apreciada por inspeção humana, mas identificável para inspeção digital;
- nenhuma edição textual é exigida.
[015] Esta e outras vantagens serão aparentes à luz da descrição detalhada da invenção.
Breve descrição dos desenhos [016] Com o propósito de ajudar a entender as características da invenção, de acordo com uma modalidade prática preferencial da mesma, e a fim de complementar esta descrição, as Figuras a seguir são anexadas como sua parte integral, com um caráter ilustrativo e não limitante:
A Figura 1 mostra um diagrama em bloco genérico do método de inserção de marca d’água;
A Figura 2 mostra um diagrama em bloco genérico do método contrário, para extração de marca d’água;
A Figura 3 mostra um diagrama em bloco detalhado do método de inserção
Petição 870180144946, de 26/10/2018, pág. 11/32
6/14 de marca d’água, de acordo com uma modalidade preferencial da invenção;
A Figura 4 mostra um diagrama em bloco do módulo de análise de localização incluído no método de inserção de marca d’água, mostrado na Figura 3 anterior, de acordo com uma modalidade possível da invenção;
A Figura 5 mostra um empacotamento de mensagens para o método de inserção de marca d’água da Figura 3, de acordo com uma modalidade possível da invenção;
A Figura 6 mostra um diagrama em bloco detalhado do método de extração de marca d’água, de acordo com outra modalidade possível da invenção.
Modalidade preferida da invenção [017] As questões definidas nesta descrição detalhada são fornecidas para ajudar no entendimento abrangente da invenção. De modo conforme, os peritos na técnica irão reconhecer que as alterações de variação das modalidades descritas aqui podem ser realizadas sem se afastar do escopo θ do espírito da invenção. Ademais, a descrição de funções e elementos bem conhecidos é omitida para clareza e concisão.
[018] Naturalmente, as modalidades da invenção podem ser implementadas em uma variedade de plataformas arquitetônicas, sistemas operacionais e de servidores, dispositivos, sistemas ou aplicativos. Qualquer layout ou implementação arquitetônica presente aqui é fornecida para propósitos de ilustração e compreensão somente, sem a intenção de limitar aspectos da invenção.
[019] A Figura 1 mostra o método de inserção de marca d’água (11) proposto aqui, que toma como dado um documento original (10) e uma mensagem (30) a ser codificada na marca d’água. O documento original (10) pode ser um documento digital ou um documento digitalizado, incluindo, por exemplo, um documento escaneado de um papel impresso. O método de inserção da marca d’água (11) retorna como resultado uma nova versão do documento, o documento com marca d’água (20), que não pode ser distinguido por observação humana do documento original (10) inclusive a marca d’água que codifica a mensagem de entrada (30).
Petição 870180144946, de 26/10/2018, pág. 12/32
7/14 [020] O método de extração de marca d’água (12), mostrado na Figura 2, é o processo contrário do método de inserção de marca d’água mencionado anteriormente (11) e toma como dado de entrada uma cópia de um documento recebido (60), que pode ser em um formato digital ou digitalizado, no final incluindo distorção, e extrai a mensagem inserida (30). O elemento de entrada no método de extração (12) geralmente não é o documento com marca d’água (20), pois o documento recebido (60) pode ser diferente daquele enviado devido a distorção, ruído, etc.
[021] O método de inserção da marca d’água (11) é dividido em subprocessos mais detalhados na Figura 3. O documento original (10) é o primeiro submetido a uma análise de localização (110), que tem a intenção de encontrar e analisar os espaços presentes no texto do documento original (10). Depois que os espaços são localizados e analisados, o documento original (10) é submetido a um módulo de otimização (111) para minimizar a probabilidade de erros em um futuro processo de extração de marca d’água levando em consideração as restrições de distorção determinadas (112). Em paralelo, a mensagem (30) a ser inserida no documento deve ser codificada (113) em palavras código e as palavras código codificadas (114) em uma marca d’água. Finalmente, a marca d’água é inserida em um documento para gerar (115) um documento com marca d’água (20).
[022] A análise da localização (110) consiste em diferentes passos mostradas em maior detalhe na Figura 4. Primeiro de tudo, é verificado (401) se o documento original de entrada (10) é fornecido em um formato bitmap ou não. Se o documento original (10) é fornecido em um formato não bitmap, ele é convertido (402) em um formato bitmap para ter uma referência comum para o posicionamento do espaço no documento, em pixels, independentemente do documento original (10). Como segundo passo, uma segmentação baseada em imagens (403) é realizada a fim de encontrar espaços no texto do documento. A segmentação baseada em imagens (403) pode ser realizada com o uso de diferentes técnicas, incluindo projeção e agrupamento. Projeções representam um método mais fácil, já o agrupamento ou
Petição 870180144946, de 26/10/2018, pág. 13/32
8/14
Reconhecimento Óptico de Caracteres, OCR, podem representar soluções válidas em caso de fundo de texto não homogêneo. Presumindo uma distribuição horizontal padrão do texto em um documento com fundo homogêneo, as primeiras projeções horizontais do texto são realizadas a fim de se detectar as linhas do texto.
[023] Ao binarizar o documento em formato bitmap e somar os pixels em direção horizontal, a projeção horizontal Ph(r) é obtida como:
Ph(r) = Xd(r,c) onde r é a fileira r®, c é a coluna c-, e l(r,c) é a imagem do documento binarizada.
[024] Ao definir um valor limite adequado, o documento em formato bitmap pode ser segmentado em linhas de texto, encontrando limites de binarização otimizada no histograma da imagem. Uma vez que as projeções são computadas, e as linhas de textos identificadas, cada linha de texto é segmentada. Para cada linha, sua projeção vertical Pvi(c) corresponde a:
Pvi(c) = Xrli(r,c) onde, li(r,c) é a imagem do documento binarizada cortada para a linha i-.
[025] Aplicando a mesma técnica usada para isolar linhas de textos usando a projeção horizontal Ph(r), os espaços em cada linha podem ser identificados e medidos com a aplicação de um limite adequado até a projeção vertical Pvi(c).
[026] O resultado (404) da segmentação (403) é um grupo de comprimentos de espaços e um grupo de suas correspondentes localizações no documento, denominados grupo S e grupo L, respectivamente. Os espaços identificados são então classificados (405) em espaços dentro de palavras e espaços entre palavras. Como o processo está lidando com um documento em bitmap, essa classificação de espaços (405) pode ser baseada em técnicas de OCR - Reconhecimento Óptico de Caracteres - ou em um algoritmo de agrupamento por meio da análise do histograma dos comprimentos dos espaços, S. Como resultado dessa classificação (405), os grupos de comprimentos originais de espaços S e localizações L são divididos respectivamente em grupos (406), Ss e Sb, e Lse Lb, sendo os grupos de comprimento
Petição 870180144946, de 26/10/2018, pág. 14/32
9/14 e localização dos espaços dentro de palavras e dos espaços entre palavras, respectivamente.
[027] Como passo seguinte, os grupos de resultados (406) da classificação de espaços (405) são alimentados em um processo de otimização, com a intenção de reduzir a probabilidade de erro do futuro processo de extração da marca d’água. Em particular, para minimizar a possível interferência entre os espaços entre palavras e os espaços dentro de palavras no processo de extração da marca d’água (ex.: interpretando um espaço de um tipo por um de outro tipo), a distância entre os comprimentos dos dois tipos de espaços pode ser aumentada. Esta operação é chamada de “rejeição do host”. Esta operação introduz distorção no documento (10), referida como Dr, que é regulada por um parâmetro adequado de restrição recebido como dado de entrada, referido como Dr_max. Em particular, uma solução possível para minimizar a probabilidade de erro mantendo a distorção abaixo Dr_max consiste em tomar um espaço dentro de palavras modificado S*sí, para a linha i-, igual a:
μ(ϊ) + £ se Ssí > μ(ϊ) + ε
Ssí ou outro onde μ(ι) é o valor médio do comprimento dos espaços dentro de palavras Ssí na linha i-, e ε é o parâmetro host-rejeição, a ser ajustado para se obter Dr = Drmax.
Dró um valor indicativo da alteração nos comprimentos dos espaços dentro de palavras para todas as linhas do documento (10), ou seja, Dr = £í |S*sí - Ssi|
Desse modo, Dr = £í (Ssí - (μ(ϊ) + ε)) para Ssí > μ(ϊ) + ε
Como Ssí e μ(ι) são desconhecidos, o valor do host-rejeição ε é extraído e usado para determinar Dr = Dr_max.
[028] O efeito da aplicação acima de rejeição do host é reduzir os maiores espaços dentro de palavras em cada linha, tendo como resultado então maiores espaços entre palavras. Em geral, a meta é manter o comprimento total de cada linha inalterado. Como tal, a seguinte condição deve ser satisfeita:
2kS‘si(k) + XkS*Bi(k) = XkSsi(k) + XkSBi(k)
Petição 870180144946, de 26/10/2018, pág. 15/32
10/14 sendo Ssi(k) o comprimento do k2 espaço dentro de palavras da linha iâ, S*si(k) o comprimento modificado do mesmo espaço e, de modo correspondente, SBi(k) e S*Bi(k) o comprimento original e modificado do k2 espaço entre palavras da ilinha.
[029] Sendo Nb(i) o número de espaços entre palavras na iâ linha, a equação acima pode ser resolvida com o uso de espaços modificados iguais a:
S‘Bi(k) = SBi(k) + (ZkSsi(k)- XkS*si(k))/Nb(i) resultando em uma redistribuição homogênea do espaço extra entre os espaços entre palavras, que por sua vez resulta da redução dos espaços dentro de palavras.
[030] A mensagem (30) a ser codificada na marca d’água é uma sequência de bits de comprimento K. A mensagem (30) é codificada por um módulo de codificação (113). Como primeiro passo, o módulo de codificação (113) adiciona uma codificação de canal à mensagem (30) para torná-la robusta para erros de descodificação. Isso é conseguido por meio de códigos de correção de encaminhamento padrão, resultando em uma mensagem modificada (m’) de comprimento L > K, mostrada na Figura 5. Como um segundo passo, a mensagem modificada (m’) é dividida como uma sequência de símbolos (500, 500’) em blocos payload (510, 510’) de comprimento N. Além disso, antes de cada bloco payload (510, 510’), um bloco de sincronização (520, 520’) de comprimento T é adicionado para permitir que o decodificador de marca d’água recupere-se de erros de sincronização resultantes de má interpretação de espaços dentro de palavras e espaços entre palavras, que resultam de distorções de documentos. A sequência resultante (m”) tem um comprimento de L(1 +T/N).
[031] Uma vez que a mensagem codificada tenha sido gerada, o documento com marca d’água (20) é gerado (115) por meio de um processo de dois passos:
1. Um módulo de codificação de marca d’água codifica cada símbolo da mensagem codificada em uma sequência de comprimentos de espaços. Como resultado, os espaços entre palavras do documento Sb* são modificados para os espaços entre palavras com marca d’água Sbw.
Petição 870180144946, de 26/10/2018, pág. 16/32
11/14
2. O documento com marca d’água final (20) é gerado com a modificação dos espaços no documento anterior, de acordo com os vetores do espaço dentro das palavras Ss* e do espaço entre palavras Sbw.
[032] A inserção da marca d’água é realizada considerando o pacote de acordo com uma chave secreta, resultando em uma sequência de palavras código (wi, ... wq}, sendo wí = [wí(1 ),... wí(P)], i= 1,2,...Q, e Wi(k) = ±1. Sendo o número de palavras código Q igual ao número de diferentes símbolos na mensagem codificada e empacotada, cada símbolo pode ser mapeado univocamente a uma palavra código. Assim, para cada símbolo no pacote p(i), as seguintes operações são realizadas:
1. Selecionar um subgrupo de elementos P em Sb* de comprimento N-L, mapeado para S’b por meio de uma chave secreta. O subgrupo pode incluir elementos que pertencem a diferentes linhas de texto.
2. Inserir a palavra código selecionada wt no subgrupo selecionado usando a seguinte fórmula:
SWfk) = S‘B(k) + wtíkJ-ctíkJ-Styk) = Styk) (1 + wt(k)-ct(k)) onde ct(k) é um fator de ponderação. Dependendo do sinal da palavra código selecionada wt(k), para o ka espaço entre palavras na tâ linha, o espaço entre palavras SlBw(k) do documento com marca d’água (20) pode ser maior ou menor que o espaço original S^k).
[033] O papel do fator de ponderação ct(k) é garantir que a primeira e última letras de cada linha permaneçam na mesma posição (o que é muito importante, por exemplo, em textos justificados e para evitar modificações de layout no documento resultante). O fator de ponderação ct(k) é necessário quando o número de espaços entre palavras grandes e pequenos em uma dada linha não é igual. Em geral, isso é verdade quando:
£k S‘Bw(k) = £k SlB(k) ou, de modo equivalente, £k Wi(k)-Ci(k)-SBi(k) = 0 sendo Ci(k) e wi(k) o fator de ponderação e o componente da palavra código respectivamente para o ks espaço entre palavras na iâ linha, de acordo com o
Petição 870180144946, de 26/10/2018, pág. 17/32
12/14 mapeamento definido acima.
[034] Como tal, a condição acima pode ser reescrita como:
£ka wi(k) = 1 Ci(k)'SBi(k) = £ka wi(k) = -1 Ci(k) 'SBi(k) sendo o primeiro termo a soma dos espaços para a qual a soma dos elementos é +1, ponderada com o correspondente fator de ponderação, já o segundo termo é a soma dos espaços para a qual os elementos de codificação é -1, ponderada com o correspondente fator de ponderação. Isso é equivalente a:
Cl/C-1 = £ka wi(k) = -1 SBi(k) / Xka wi(k) = 1 SBi(k) [035] Ademais, se os espaços entre palavras em cada linha são uniformes, o que costuma ser o caso, então SBi(k) = Sb e a condição se torna: C1/C-1 = N-1/N1, sendo N1 0 número de ‘-Γ elementos de codificação e N1 0 número de T elementos de codificação, em wi(k) para a iã linha.
[036] A geração do documento com marca d’água (20) é concluída assim, com a modificação de espaços do documento de acordo com os grupos Ss* e Sbw.
[037] O modo contrário (12) de extração da mensagem inserida do documento com marca d’água (20) é mostrado na Figura 6. Uma vez que 0 documento é recebido (60), certas operações devem ser realizadas para recuperar a marcação d’água inserida. O documento recebido (60) pode estar passando por uma série de transformações desde sua criação como um documento com marca d’água (20), incluindo impressão e/ou escaneamento, acabando por introduzir distorções nele, o que deve ser levado em consideração no processo de decodificação. Desse modo, 0 primeiro passo do método de extração de marca d’água (12) consiste em redução de ruído (610) e correção geométrica (620), por ex., rotação, escalamento e transformação de perspectiva. As distorções gerais incluem poeira, borrões e sombreamento não uniforme, que podem ser removidos com a aplicação de métodos de binarização e operações morfológicas sobre 0 documento recebido (60). O objetivo principal do processo de redução de ruído (610) é limpar os espaços entre palavras e letras. Por outro lado, 0 objetivo principal do processo de correção geométrica (620) é aplicar a rotação adequada ao documento recebido para que as linhas resultem
Petição 870180144946, de 26/10/2018, pág. 18/32
13/14 aproximadamente horizontais para permitir a detecção de linhas e espaços. Os métodos de desinclinação padrão podem ser aplicados para o alcance deste objetivo, em geral baseado na detecção de cantos ou em transformações para detectar as linhas no documento e computar o ângulo de rotação a ser aplicado. O passo a seguir no método de extração de marca d’água (12) consiste em uma análise de localização (630) similar à análise de localização (110) descrita na Figura 3 para o método de marcação d’água (11), para detectar a localização e o tamanho dos espaços no documento, onde a marca d’água foi inserida. Os espaços devem ser classificados em espaços dentro de palavras e espaços entre palavras. Se métodos de agrupamento forem usados para essa classificação, deve ser levado em consideração que os espaços entre palavras no documento recebido (60) apresentam dois comprimentos diferentes, ao contrário do documento original (10), devido à inserção de marca d’água. Finalmente, como os espaços dentro de palavras não contêm informações sobre marca d’água, não são relevantes como resultado desse processo de classificação, já os espaços entre palavras são registrados no vetor S’bw correspondente. Como passo adicional, os espaços em S bw tem que ser mapeados (640) em símbolos de acordo com o alfabeto w definido anteriormente e como a seguir:
- Como um primeiro passo do mapeamento de símbolos (640), os espaços são agrupados em subgrupos de tamanho P. O te subgrupo de espaços S‘bw irão, desse modo, codificar um símbolo wi, com i e {1,..., Qj. A estimativa do símbolo mais provável pode ser expressa como:
c = arg maxc e {i.....qj ffSWIwc) sendo f^ewlwc) a função de densidade de probabilidade de condições S1bw em wc. Na prática, uma estimativa estatística é dificilmente aplicável pois implica o conhecimento da distribuição estatística de S’bw e seus parâmetros, que varia amplamente dependendo do tipo de documento e fonte, e exige um grande P para ter uma amostra estatisticamente significativa. Como tal, o mapeamento (640) de espaços em símbolos é realizado confiando-se somente nas médias da amostra observada. Na verdade, após inserir a palavra código wc em S’b, a média da amostra
Petição 870180144946, de 26/10/2018, pág. 19/32
14/14
S’bw tem a forma pk(1+Awc(k)), sendo μκ a média de Styk). Desse modo, os espaços de marca d’água são distribuídos ao redor de centroides, portanto o símbolo inserido pode ser estimado por técnicas de quantização de vetores, baseado em diversos métodos existentes para tal operação, incluindo de maneira escalar. É preciso observar que, se um método de agrupamento tiver sido usado na análise de localização (630), essa classificação pode naturalmente ser fornecida como um resultado secundário de tal processo.
- Como um próximo passo, o mapeamento entre S’BWi(k) e wi(k) é realizado com a designação a w(k) dos valores de +1 ou -1 dependendo da classificação correspondente do espaço como grande ou pequeno, respectivamente. Os w,(k) estimados são organizados de acordo com o subgrupo definido na fase de inserção e as sequências resultantes são comparadas com as palavras código no alfabeto. Se we é a palavra código mais similar, o símbolo c e {1.....Q) é selecionado.
[038] Os símbolos estimados resultantes do mapeamento (640) são finalmente dados como resultado para um passo de desempacotamento (650), que busca os símbolos de sincronização e extrai os símbolos payload. Finalmente, a decodificação do canal (650) é aplicada nos símbolos payload para extrair a mensagem original (30) que foi inserida no documento com marca d’água recebido (60).
[039] É preciso observar que nesse texto, o termo “compreende” e suas derivações (como “compreendendo”, etc.) não devem ser entendidos em um sentido excludente, ou seja, esses termos não devem ser interpretados como excludentes da possibilidade de que o que está sendo descrito e definido pode incluir elementos, etapas adicionais, etc.
Claims (13)
- REIVINDICAÇÕES1. Método (11) para inserir marca d’água em documentos, receber um documento original (10) e uma mensagem (30) para se obter um documento com marca d’água (20) que insere uma marca d’água que codifica a mensagem recebida (30), o método caracterizado por compreender:- a identificação e a localização de espaços no documento original (10) por um módulo de análise de localização (110), a análise de localização (110) distinguindo entre espaços dentro de palavras e espaços entre palavras;- minimização de uma probabilidade de erro da interferência entre espaços dentro de palavras e espaços entre palavras no documento com marca d’água (20) por meio de um módulo de otimização (111);- codificação (113) da mensagem (30) em palavras código e codificação (114) das palavras código em marca d’água;- inserção da marca d’água para gerar (115) o documento com marca d’água (20) por meio da modificação de espaços dentro de palavras e espaços entre palavras do documento original (10).
- 2. Método de acordo com a reivindicação 1, caracterizado por a análise de localização (110) compreender:- a verificação (401) se o documento original recebido (10) é um documento em formato bitmap e se o documento original (10) está em formato não bitmap, convertendo (402) o documento original (10) em um documento em formato bitmap;- aplicação de uma segmentação baseada em imagem (403) no documento em formato bitmap para obter um grupo de comprimentos e um grupo de localizações dos espaços no documento em formato bitmap;- classificação (405) dos espaços identificados e localizados em espaços dentro de palavras e espaços entre palavras para obter grupos (406) de comprimentos dos espaços dentro de palavras e espaços entre palavras, Ss e Sb respectivamente, e grupos de localizações dos espaços dentro de palavras e espaços entre palavras,Petição 870180144946, de 26/10/2018, pág. 21/322/4Ls e Lb, do documento original (10).
- 3. Método de acordo com a reivindicação 2, caracterizado por a segmentação baseada em imagem (403) aplicar agrupamento ou reconhecimento óptico de caracteres se o documento original recebido (10) tem um fundo com texto não homogêneo.
- 4. Método de acordo com a reivindicação 2, caracterizado por a segmentação baseada em imagem (403) aplicar projeções se o documento original recebido (10) tem um fundo com texto homogêneo.
- 5. Método de acordo com qualquer uma das reivindicações 2 a 4, caracterizado por o módulo de otimização (111) minimizar a probabilidade de erro da interferência entre espaços dentro de palavras e espaços entre palavras ao:- obter um grupo modificado de espaços dentro de palavras, S*s = { S*sí } onde i denota um número de linhas do documento original (10) e S*sí é igual a:μ(ϊ) + £ se Ssí > μ(ϊ) + 8, onde 8 é um parâmetro host-rejeição, eSsí ou outro;- obter um grupo modificado de espaços entre palavras, S‘b = { S‘bí } onde i denota um número de linhas do documento original (10), ondeS*bí = { S*bí (k)}, S*Bi(k) é o comprimento modificado do ke espaço entre palavras da iâ linha e Sei(k) é o comprimento original do ke espaço entre palavras da iã linha do documento original (10),S‘s = { S‘sí (k)}, S*si(k) é o comprimento modificado do k5 espaço dentro de palavras da i- linha e Ssi(k) é o comprimento original do kQ espaço dentro de palavras da iã linha do documento original (10), eS*Bi(k) = SBi(k) + (ZkSsi(k)- XkS*si(k))/Nb(i)Sendo Nb(i) o número de espaços entre palavras na iã linha do documento original (10).
- 6. Método de acordo com a reivindicação 5, caracterizado por gerar (115) o documento com marca d’água (20) que compreende:- a seleção de um subgrupo do grupo de espaços entre palavras, S*b,Petição 870180144946, de 26/10/2018, pág. 22/323/4 mapeados no grupo de espaços entre palavras na iã linha, S1b, por uma chave secreta;- a seleção de uma palavra código wt da mensagem codificada (30)- a inserção da palavra código wt no subgrupo selecionado dos espaços entre palavras ao calcular um espaço entre palavras Sbw do documento com marca d’água (20) usando a expressão:S’Bw(k) = S‘B(k) + wtíkJ-ctfkJ-Styk) = S’B(k) (1 + wt(k)-ct(k)) onde wt(k) é a palavra código selecionada, para o ks espaço entre palavras na t- linha; SlB(k) é o kQ espaço entre palavras na t- linha do espaço entre palavras Sb do documento original (10), S’Bw(k) é o kQ espaço entre palavras na t- linha do espaço entre palavras Sbw do documento com marca d’água (20) e ct(k) é um fator de ponderação;- a modificação dos espaços dentro de palavras e espaços entre palavras do documento original (10) substituindo o espaço dentro de palavras, Ss, e o espaço entre palavras, Sb, respectivamente pelo grupo modificado de espaços dentro de palavras, S‘s, e o espaços entre palavras modificado, Sbw, no documento com marca d’água (20).
- 7. Método de acordo com qualquer uma das reivindicações 1 a 6, caracterizado por a codificação (113) da mensagem (30) de comprimento K compreender a adição de uma codificação de canal à mensagem (30) para obter uma mensagem codificada (m’) de comprimento L > K, dividindo a mensagem modificada (m’) em blocos payload (510, 510’) de comprimento N e adicionando um bloco de sincronização (520, 520’) de comprimento T antes de cada bloco payload (510, 510’) respectivamente para obter uma sequência de símbolos (m”) de comprimento L-(1+T/N).
- 8. Método de acordo com qualquer uma das reivindicações 1 a 7, caracterizado por o documento original (10) ser selecionado de um documento digital e um documento digitalizado.
- 9. Método (12) para a extração de marcas d’água de um documento recebido (60) resultante de um documento com marca d’água (20) que tem uma marcaPetição 870180144946, de 26/10/2018, pág. 23/324/4 d’água inserida com a codificação de uma mensagem (30) de um número Q de símbolos, o método caracterizado por compreender:- a identificação e a localização de espaços em um documento recebido (60) por um módulo de análise de localização (630) que distingue entre espaços dentro de palavras e espaços entre palavras e obtém um vetor S’bw que corresponde aos espaços entre palavras do documento com marca d’água (20);- o mapeamento (640) dos espaços entre palavras do vetor S’bw em símbolos de acordo com um alfabeto de palavras código w = { w }, i= 1, 2....Q; Q sendo o número de símbolos da mensagem (30) e os símbolos sendo mapeados univocamente às palavras código w;- desempacotamento (650) de símbolos mapeados para obter blocos de sincronização e blocos payload de símbolos;- descodificação do canal (660) dos blocos payload para extrair a mensagem (30).
- 10. Método de acordo com a reivindicação 9, caracterizado por o documento recebido (60) ser uma cópia distorcida do documento com marca d’água (20).
- 11. Método de acordo com qualquer uma das reivindicações 9 a 10, caracterizado por compreender, adicionalmente, redução de ruído (610) e correção geométrica (620) ao documento recebido (60) antes da análise da localização (630).
- 12. Mídia não transitória que pode ser lida por computador caracterizada por conter instruções armazenadas nela para fazer com que um processador de computador realize o método de acordo com qualquer uma das reivindicações 1 a 8.
- 13. Mídia não transitória que pode ser lida por computador caracterizada por conter instruções armazenadas nela para fazer com que um processador de computador realize o método de acordo com qualquer uma das reivindicações 9 a 11.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17382720.5A EP3477578B1 (en) | 2017-10-27 | 2017-10-27 | Watermark embedding and extracting method for protecting documents |
EP17382720.5 | 2017-10-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
BR102018072097A2 true BR102018072097A2 (pt) | 2019-06-04 |
Family
ID=60268326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR102018072097-0A BR102018072097A2 (pt) | 2017-10-27 | 2018-10-26 | Método de inserção e extração de marca d`água para proteção de documentos e mídia não transitória |
Country Status (4)
Country | Link |
---|---|
US (2) | US10949509B2 (pt) |
EP (1) | EP3477578B1 (pt) |
BR (1) | BR102018072097A2 (pt) |
ES (1) | ES2829269T3 (pt) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110472384A (zh) * | 2019-08-13 | 2019-11-19 | 中科天御(苏州)科技有限公司 | 一种基于人工智能的大数据水印方法及装置 |
CN111651736B (zh) * | 2020-06-16 | 2021-08-13 | 杭州美创科技有限公司 | 一种身份证数据脱敏的水印溯源方法 |
US11361055B1 (en) * | 2020-12-04 | 2022-06-14 | International Business Machines Corporation | Protection of a content repository using dynamic watermarking |
EP4261714A1 (en) | 2020-12-09 | 2023-10-18 | Telefonica Cibersecurity Tech, S.L.U. | Method and system for encoding and decoding information in texts |
EP4099215B1 (en) | 2021-06-03 | 2024-01-10 | Telefonica Cibersecurity & Cloud Tech S.L.U. | Computer vision method for detecting document regions that will be excluded from an embedding process and computer programs thereof |
US11816756B1 (en) | 2023-04-13 | 2023-11-14 | Equity Shift, Inc. | Anti-leak digital document marking system and method using distributed ledger |
CN116776301B (zh) * | 2023-08-18 | 2023-10-20 | 北京点聚信息技术有限公司 | 一种电子印章快速溯源管理方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8014557B2 (en) * | 2003-06-23 | 2011-09-06 | Digimarc Corporation | Watermarking electronic text documents |
US8861922B2 (en) * | 2003-09-29 | 2014-10-14 | Alcatel Lucent | Watermarking scheme for digital video |
CN1897522B (zh) * | 2005-07-15 | 2010-05-05 | 国际商业机器公司 | 水印嵌入和/或检测的方法、装置及系统 |
SG155790A1 (en) * | 2008-03-18 | 2009-10-29 | Radiantrust Pte Ltd | Method for embedding covert data in a text document using space encoding |
US8014035B2 (en) * | 2008-09-10 | 2011-09-06 | Xerox Corporation | Decoding message data embedded in an image print via halftone dot orientation |
US8750630B2 (en) * | 2012-07-13 | 2014-06-10 | International Business Machines Corporation | Hierarchical and index based watermarks represented as trees |
US20150228045A1 (en) * | 2013-09-23 | 2015-08-13 | Infosys Limited | Methods for embedding and extracting a watermark in a text document and devices thereof |
-
2017
- 2017-10-27 EP EP17382720.5A patent/EP3477578B1/en active Active
- 2017-10-27 ES ES17382720T patent/ES2829269T3/es active Active
-
2018
- 2018-10-25 US US16/171,025 patent/US10949509B2/en active Active
- 2018-10-26 BR BR102018072097-0A patent/BR102018072097A2/pt unknown
-
2021
- 2021-02-11 US US17/173,969 patent/US20210165860A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20210165860A1 (en) | 2021-06-03 |
ES2829269T3 (es) | 2021-05-31 |
US20190130080A1 (en) | 2019-05-02 |
EP3477578A1 (en) | 2019-05-01 |
EP3477578B1 (en) | 2020-09-09 |
US10949509B2 (en) | 2021-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BR102018072097A2 (pt) | Método de inserção e extração de marca d`água para proteção de documentos e mídia não transitória | |
US8189863B1 (en) | Watermarking digital documents | |
US20130028466A1 (en) | Embedding and Detecting Hidden Information | |
US20110052094A1 (en) | Skew Correction for Scanned Japanese/English Document Images | |
US8275168B2 (en) | Orientation free watermarking message decoding from document scans | |
CN108805787B (zh) | 一种纸质文档篡改鉴真的方法和装置 | |
CN109902710B (zh) | 一种文本图像的快速匹配方法和装置 | |
CN101119429A (zh) | 一种数字水印嵌入与提取的方法及装置 | |
JP5669957B2 (ja) | 西洋語の透かし処理をするための透かし画像の分割方法と装置 | |
CN111738898A (zh) | 文本数字水印嵌入\提取方法及装置 | |
CN105761197A (zh) | 一种基于特征不变量的遥感影像水印方法 | |
Kozachok et al. | Text marking approach for data leakage prevention | |
Stojanov et al. | A new property coding in text steganography of Microsoft Word documents | |
Alkhafaji et al. | Payload capacity scheme for quran text watermarking based on vowels with kashida | |
Chotikakamthorn | Document image data hiding technique using character spacing width sequence coding | |
Chotikakamthorn | Electronic document data hiding technique using inter-character space | |
US20110194725A1 (en) | Novel Bit Pattern Design For Visible Watermarking | |
CN111382398B (zh) | 信息处理、隐藏信息解析和嵌入的方法、装置及设备 | |
Varna et al. | Data hiding in hard-copy text documents robust to print, scan and photocopy operations | |
CN112990178B (zh) | 一种基于字符切分的文本数字信息嵌入、提取方法及系统 | |
CN110909323B (zh) | 一种基于xml多标签水印的遥感影像流转追溯方法 | |
Kozachok et al. | Estimation of Watermark Embedding Capacity with Line Space Shifting | |
CN110472384A (zh) | 一种基于人工智能的大数据水印方法及装置 | |
CN110378829A (zh) | 信息提供和水印提取的方法、装置及设备 | |
Liu et al. | Researches on text image watermarking scheme based on the structure of character glyph |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
B03A | Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette] | ||
B25C | Requirement related to requested transfer of rights |
Owner name: TELEFONICA DIGITAL ESPANA, S.L.U. (ES) Free format text: A FIM DE ATENDER A TRANSFERENCIA REQUERIDA ATRAVES DA PETICAO 870210065929 DE 20/07/2021, E NECESSARIO LEGALIZACAO CONSULAR OU APOSTILA. |
|
B25A | Requested transfer of rights approved |
Owner name: TELEFONICA CYBERSECURITY AND CLOUD TECH S.L.U. (ES) |
|
B25K | Entry of change of name and/or headquarter and transfer of application, patent and certificate of addition of invention: republication |
Owner name: TELEFONICA CYBERSECURITY AND CLOUD TECH S.L.U. (ES) Free format text: RETIFICACAO DO DESPACHO (25.1) ? TRANSFERENCIA DE TITULAR PUBLICADO NA RPI NO 2659, DE 21/12/2021, QUANTO A PETICAO.ONDE SE LE: 870210065929 DE 20/07/2021LEIA-SE: 870210111382 DE 01/12/2021 |