BRPI0916944B1 - Método e aparelho para inserir marca dágua em vídeo codificado - Google Patents

Método e aparelho para inserir marca dágua em vídeo codificado Download PDF

Info

Publication number
BRPI0916944B1
BRPI0916944B1 BRPI0916944-0A BRPI0916944A BRPI0916944B1 BR PI0916944 B1 BRPI0916944 B1 BR PI0916944B1 BR PI0916944 A BRPI0916944 A BR PI0916944A BR PI0916944 B1 BRPI0916944 B1 BR PI0916944B1
Authority
BR
Brazil
Prior art keywords
propagation
block
partition
changes
possible changes
Prior art date
Application number
BRPI0916944-0A
Other languages
English (en)
Inventor
Shan He
Jeffrey Adam Bloom
Dekun Zou
Original Assignee
Contentarmor
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=41707386&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=BRPI0916944(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Contentarmor filed Critical Contentarmor
Publication of BRPI0916944A2 publication Critical patent/BRPI0916944A2/pt
Publication of BRPI0916944B1 publication Critical patent/BRPI0916944B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02MSUPPLYING COMBUSTION ENGINES IN GENERAL WITH COMBUSTIBLE MIXTURES OR CONSTITUENTS THEREOF
    • F02M35/00Combustion-air cleaners, air intakes, intake silencers, or induction systems specially adapted for, or arranged on, internal-combustion engines
    • F02M35/10Air intakes; Induction systems
    • F02M35/10091Air intakes; Induction systems characterised by details of intake ducts: shapes; connections; arrangements
    • F02M35/10144Connections of intake ducts to each other or to another device
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02MSUPPLYING COMBUSTION ENGINES IN GENERAL WITH COMBUSTIBLE MIXTURES OR CONSTITUENTS THEREOF
    • F02M35/00Combustion-air cleaners, air intakes, intake silencers, or induction systems specially adapted for, or arranged on, internal-combustion engines
    • F02M35/10Air intakes; Induction systems
    • F02M35/10209Fluid connections to the air intake system; their arrangement of pipes, valves or the like
    • F02M35/10236Overpressure or vacuum relief means; Burst protection
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02MSUPPLYING COMBUSTION ENGINES IN GENERAL WITH COMBUSTIBLE MIXTURES OR CONSTITUENTS THEREOF
    • F02M35/00Combustion-air cleaners, air intakes, intake silencers, or induction systems specially adapted for, or arranged on, internal-combustion engines
    • F02M35/10Air intakes; Induction systems
    • F02M35/10242Devices or means connected to or integrated into air intakes; Air intakes combined with other engine or vehicle parts
    • F02M35/10288Air intakes combined with another engine part, e.g. cylinder head cover or being cast in one piece with the exhaust manifold, cylinder head or engine block
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02MSUPPLYING COMBUSTION ENGINES IN GENERAL WITH COMBUSTIBLE MIXTURES OR CONSTITUENTS THEREOF
    • F02M35/00Combustion-air cleaners, air intakes, intake silencers, or induction systems specially adapted for, or arranged on, internal-combustion engines
    • F02M35/10Air intakes; Induction systems
    • F02M35/10314Materials for intake systems
    • F02M35/10321Plastics; Composites; Rubbers
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02MSUPPLYING COMBUSTION ENGINES IN GENERAL WITH COMBUSTIBLE MIXTURES OR CONSTITUENTS THEREOF
    • F02M35/00Combustion-air cleaners, air intakes, intake silencers, or induction systems specially adapted for, or arranged on, internal-combustion engines
    • F02M35/10Air intakes; Induction systems
    • F02M35/10314Materials for intake systems
    • F02M35/10327Metals; Alloys
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02MSUPPLYING COMBUSTION ENGINES IN GENERAL WITH COMBUSTIBLE MIXTURES OR CONSTITUENTS THEREOF
    • F02M35/00Combustion-air cleaners, air intakes, intake silencers, or induction systems specially adapted for, or arranged on, internal-combustion engines
    • F02M35/10Air intakes; Induction systems
    • F02M35/1034Manufacturing and assembling intake systems
    • F02M35/10347Moulding, casting or the like
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02MSUPPLYING COMBUSTION ENGINES IN GENERAL WITH COMBUSTIBLE MIXTURES OR CONSTITUENTS THEREOF
    • F02M35/00Combustion-air cleaners, air intakes, intake silencers, or induction systems specially adapted for, or arranged on, internal-combustion engines
    • F02M35/10Air intakes; Induction systems
    • F02M35/1034Manufacturing and assembling intake systems
    • F02M35/10354Joining multiple sections together
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02MSUPPLYING COMBUSTION ENGINES IN GENERAL WITH COMBUSTIBLE MIXTURES OR CONSTITUENTS THEREOF
    • F02M35/00Combustion-air cleaners, air intakes, intake silencers, or induction systems specially adapted for, or arranged on, internal-combustion engines
    • F02M35/10Air intakes; Induction systems
    • F02M35/104Intake manifolds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/0028Adaptive watermarking, e.g. Human Visual System [HVS]-based watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/0085Time domain based watermarking, e.g. watermarks spread over several images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0202Image watermarking whereby the quality of watermarked images is measured; Measuring quality or performance of watermarking methods; Balancing between quality and robustness

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

MÉTODO E APARELHO PARA INSERIR MARCA DÁGUA EM VÍDEO CODIFICADO Um método compreende receber fluxo de vídeo codificado original como uma entrada, acessar os dados codificados divididos em fatias que são ainda divididas em blocos, receber a lista das possíveis alterações ou marcas dágua como outra entrada, acessar pelo menos um bloco, decodificar cada fatia, posicionar cada fatia, extrair da lista aquelas alterações que se aplicam a pelo menos um bloco, e construir mapas de propagação de interpredição ou intrapredição usando as alterações para o pelo menos um bloco. O método pode adicionalmente compreender decodificar os dados de luminância usando os mapas de propagação, comparar os dados de luminância a um limiar de fidelidade, e aplicar possíveis alterações ou marcas dágua àqueles que não excedem o limiar de fidelidade.

Description

MÉTODO E APARELHO PARA INSERIR MARCA DÁGUA EM VÍDEO CODIFICADO Referência Cruzada
Este pedido de patente reivindica o benefício de prioridade para o Pedido de Patente Provisório US 61/189.370, depositado em 19 de agosto de 2008, e titulado “UM MAPA DE PROPAGAÇÃO”. O pedido provisório é expressamente aqui incorporado por referência em sua totalidade para todos os propósitos.
Campo da Invenção
A presente invenção diz respeito a um processo para gerar e usar mapas de propagação em marca d’água de AVC.
Antecedentes da Invenção
Uma imagem de vídeo é codificada em uma ou mais fatias não-sobrepostas e cada fatia contém um número inteiro de macroblocos. Há cinco tipos de fatias codificadas em H.264 (vide Tabela 6.1 de lain E. G. Richardson, H.264 e MPEG-4 Video Compression: Video Coding for Next-generation Multimedia, John Wiley and Sons, 2003). Ainda, há algumas aplicações de processamento de vídeo que modificam um vídeo codificado em H.264 / AVC. Marca d’água digital é uma tal aplicação. Infelizmente, a aplicação de marca d’água digital pode causar artefatos contestáveis em exibir imagens de vídeo. Por conseguinte, uma necessidade existe para prever, caracterizar e impedir artefatos contestáveis associados à marca d’água digital.
Sumário da Invenção
Um método compreende acessar os dados codificados que podem ser divididos em blocos, acessar uma lista de possíveis alterações aos dados codificados, construir mapas de propagação das alterações resultantes aos dados codificados que serão causadas implementando pelo menos uma das possíveis alterações, e aplicar uma das possíveis alterações com base nos mapas de propagação. Os dados codificados podem ser dados de vídeo em que os quadros são divididos em fatias que são ainda divididas em blocos, e as alterações podem representar marca d’águas potenciais. O método pode ainda incluir construir os mapas de propagação que refletem a propagação devido à interpredição, em que as alterações resultantes incluem um bloco direto e pelo menos um bloco vizinho. A interpredição pode ser temporalmente interprevista, em que as alterações resultantes podem incluir um bloco direto e pelo menos um bloco vizinho. O método pode ainda incorporar intrapredição para construir os mapas de propagação, em que as alterações resultantes podem incluir um bloco direto e pelo menos um bloco vizinho. Os mapas de propagação resultantes podem ser depois usados, por exemplo, para determinar o impacto na fidelidade que seria causado pelas possíveis alterações, assim fornecendo um meio de eliminar possíveis alterações em relação aos limiares de fidelidade.
Breve Descrição dos Desenhos
A invenção será agora descrita por via de exemplo com referência aos desenhos em anexo.
Fig. 1 mostra exemplos de partições de macrobloco e partições de submacrobloco.
Fig. 2 representa vetores de movimento vizinhos em um quadro.
Fig. 3 representa predição de segmentação direcional.
Fig. 4 representa blocos vizinhos envolvidos na intrapredição
Fig. 5 é uma ilustração de um mapa de propagação.
Fig. 6 é um diagrama de blocos que ilustra a construção de um mapa de propagação.
Figura 7 é uma ilustração da lista vinculada para o algoritmo.
Figura 8 ilustra uma construção do mapa de propagação com base em decodifica-dor de AVC.
Figura 9 ilustra uma inicialização do mapa de propagação.
Figura 10 ilustra as etapas para produzir uma lista final do mapa de propagação.
Figura 11 ilustra um processo de atualização de propagação.
Figura 12 ilustra uma atualização do mapa de propagação para intrapredição.
Figura 13 ilustra uma atualização do mapa de propagação otimizada para in-ter/intrapredição.
Descrição da Invenção
Modalidades da invenção serão agora descritas tratando o problema de geração de artefato associada à aplicação de marca d’água digital onde o processo de marca d’água modifica os vetores de movimento no fluxo comprimido. Estes artefatos introduzidos por modificações do vetor de movimento (mv) não só alteram os pixels reconstruídos do bloco atual, isto é, o bloco ao qual o vetor de movimento pertence, mas pode também causar alterações de luminância ou crominância em outros blocos, porque o mv reconstruído ou os pixels reconstruídos do bloco atual podem servir como uma referência para os outros blocos na predição do vetor de movimento ou predição de bloco. Estas alterações em outros blocos podem ainda propagar-se.
Em particular, a invenção cria um mapa de propagação que indica como uma única alteração propagar-se-á através de uma imagem. Uma representação de um mapa de propagação e um algoritmo para construir um mapa de propagação para rastrear os blocos afetados e suas alterações são apresentadas no texto seguinte. A invenção contempla a incorporação da construção do mapa de propagação em um decodificador de H.264. Um tal mapa de propagação é útil em muitos aspectos. O mapa de propagação pode ser usado para (1) examinar a distorção visual resultante de uma alteração, (2) examinar as alterações que resultam nos mapas de propagação de sobreposição, (3) examinar as alterações que caem na trajetória de propagação de uma alteração anterior, (4) identificar as múltiplas alterações que combinam de modo que um terceiro bloco é afetado, para melhorar a região de detecção quando estas alterações forem empregadas para marca d’água, e (5) às vezes evitar alterações. Uma trajetória de propagação é como uma única alteração em um bloco propaga-se para outros blocos.
A invenção reconhece que há algumas aplicações de processamento de vídeo que modificam um vídeo codificado em H.264 / AVC tal como marca d’água digital e que um previsor de alteração de fidelidade poderia ser um parâmetro para assegurar que uma marca d’água selecionada não estaria diminuindo a qualidade de vídeo. A invenção ainda provê um meio para caracterizar alterações de fidelidade associadas à decodificação de áreas em que a alteração foi feita diretamente, mas ainda captura algumas alterações que podem propagar-se para outras áreas da imagem. Como tal, um mapa de acordo com a invenção indica as áreas às quais uma alteração propagar-se-á e pode aplicar a avaliação de fidelidade a todas daquelas áreas. Além disso, é contemplado que em aplicações de marca d’água aquelas múltiplas alterações podem ser feitas em uma fatia. Pensando nisto, a invenção foi inventada para aplicar-se em marca d’água quando houver uma necessidade para saber que efeito terá uma alteração na imagem decodificada em que uma fatia dada poderia sofrer uma pluralidade de alterações e há um meio para expressar a alteração composta na versão sem marca do conteúdo. Porém, se uma alteração anterior já se propagou para a região atual e outra alteração é feita, a imagem decodificada resultante pode incluir os efeitos de ambas as alterações. Se a primeira alteração for conhecida, então o resultado pode ser previsto, mas possivelmente sem conhecimento a priori de se ou não a primeira alteração será empregada. Se uma alteração puder ser mapeada indicando todas as áreas às quais uma alteração se propagará, então fazer outras alterações dentro daquela trajetória de propagação pode ser evitado. Uma combinação destes problemas pode também ocorrer. Se uma região de uma imagem for modificada indiretamente, porque uma alteração em uma região diferente propagou-se para a região atual, então a região atual em uma avaliação do impacto de fidelidade daquela alteração pode ser examinada ou determinada. Porém, é possível que haja alterações múltiplas, todas destas podem se propagar para a região atual. Se as trajetórias de propagação de todas as alterações forem mapeadas, estas regiões de propagação de sobreposição podem ser identificadas e todas as combinações dos impactos podem ser consideradas.
As invenções podem ser utilizadas em Padrão H.264 para predição de alteração de bloco. Macroblocos de interpredição são codificados como a soma de uma predição de um quadro/imagem de referência e um resíduo. O vetor de movimento define o bloco de pixels no quadro de referência a ser usado como a predição. Adicionalmente, no Padrão H.264, as imagens/quadros são divididos em fatias. Uma fatia é uma sequência de macroblocos, em que os macroblocos podem ser endereçados/numerados em ordem de varredura de quadri-culação dentro de um quadro. Cada macrobloco é compreendido de um arranjo luma de 16x16 e pode ser dividido em um de quatro modos: um macrobloco 16x16, duas partições de macrobloco 8x16, duas partições de macrobloco 16x8, ou quatro partições de macrobloco 8x8. Se o modo 8x8 for escolhido, cada uma destas quatro partições de macrobloco 8x8 pode ser ainda dividida em uma de quatro partições de submacrobloco: uma 8x8, duas 4x8, duas 8x4, ou quatro 4x4. Os arranjos podem ser associados aos dados de croma também. As partições de macrobloco e partições de submacrobloco são indexadas como mostrado na Figura 1. Na Figura 1, quatro partições de macrobloco exemplares são mostradas nos exemplos a-d, em que exemplo a é 1 partição de macrobloco de amostras luma 16x16, exemplo b são 2 partições de macrobloco de amostras luma 16x8, exemplo c são 2 partições de macrobloco de amostras luma 8 x 16, e exemplo d são 4 partições de macrobloco de amostras luma 8x8. Exemplo e representa 1 partição de submacrobloco de amostras luma 8x8, exemplo f representa 2 partições de submacrobloco de amostras luma 8x4, exemplo g representa partições de submacrobloco de amostras luma 4 x 8, e exemplo h representa 4 partições de submacrobloco de amostras luma 4x4. Como resultado, cada partição de macrobloco e partição de submacrobloco pode ser exclusivamente referenciada pela combinação de (quadro#, macrobloco#, índice de partição de macrobloco, (índice de submacrobloco)). As amostras de croma associadas são divididas de um modo similar e os tamanhos atuais de bloco e sub-bloco são determinados pelo formato de vídeo a ser codificado.
O vetor de movimento de uma partição (mv) é codificado como a soma de uma predição do vetor de movimento (MVp) e um diferencial do vetor de movimento (mvd). A predição é com base nos vetores de movimento das partições vizinhas no mesmo qua-dro/imagem: A, B, C, e D como mostrado na Figura 2. A predição de mv pode ser executada de acordo com as regras conhecidas na Seção 8.4.1.3 da norma de Recomendação ITU-T H.264 | Padrão Internacional ISO/IEC 14496-10 com Emenda 1. As regras assumem a disponibilidade dos vizinhos A, B, e C e usa os vetores de movimento correspondentes, mvA, mvB, e mvC. Porém, na prática, alguns ou todos estes blocos podem estar indisponíveis. Quando o vizinho A estiver indisponível, mvA=0 pode ser assumido. Quando o vizinho B estiver indisponível, mvB=0 pode ser assumido. Quando o vizinho C estiver indisponível, mvC=mvD pode ser assumido se o vizinho D estiver disponível, do contrário mvC=0 pode ser assumido. Regras para gerar a predição de MVp podem ser como segue:
  • a. Para partições 16x8, a MVp para a partição 16x8 superior é prevista do vizinho B e a MVp para a 16x8 inferior é prevista do vizinho A na Figura 3.
  • b. Para partições 8x16, a MVp para a partição 8x16 esquerda é prevista do vizinho A e a MVp para a partição 8x16 direita é prevista do vizinho C na Figura 3.
  • c. Para partições transmitidas diferentes dos tamanhos de partição 16x8 e 8x16, as fatias B podem ser previstas de uma de vários quadros de referência diferentes armazenados em uma lista. Cada partição tem um índice de referência indicando que quadro de referência na lista deveria ser usado. Se o índice de referência da partição atual corresponder a um e somente um do índice de referência dos vizinhos A, B, ou C, então o vetor de movimento daquele vizinho é usado como MVp. Do contrário, MVp é ajustada para a média dos vetores de movimento para as partições vizinhas A, B, e C.
  • i. Se houver mais que uma partição imediatamente acima do bloco atual, então o mais à esquerda é usado como vizinho B; se houver mais que um imediatamente à esquerda do bloco atual, então o mais alto é usado como vizinho A.
  • ii. Se ambos os vizinhos B e C não estiverem disponíveis e A estiver disponível, então ao invés de tirar a média de (0, 0, mvA), que seria 0, estabelece MVp = mvA.
Se um bloco for codificado com modo de predição direta, não haverá nenhum vetor de movimento transmitido para o bloco. Do contrário, seu vetor de movimento será calculado com base nos blocos previamente decodificados. Há dois modos de predição direta: modo direto espacial e modo direto temporal.
No modo direto espacial, o primeiro quadro de referência em uma lista 1 é primeiro considerado, que armazena vários quadros de referência diferentes para uma predição de direção em um modo de bipredição. O bloco colocalizado naquele quadro pode ser identificado e seus vetores de movimento examinados ou avaliados. Se os vetores de movimento estiverem dentro da faixa [-1, 1] e seu índice de referência for 0 (junto com algumas outras condições), significa que o movimento é estacionário e pequeno, e seu vetor de movimento é ajustado em 0. Do contrário, o movimento é significativo, e o vetor de movimento é previsto da mesma maneira como descrito acima na predição dos vetores de movimento dos vizinhos.
No modo direto temporal, o vetor de movimento do bloco atual pode ser derivado diretamente dos vetores de movimento do bloco colocalizado na primeira referência de lista 1. Uma vez que este modo não envolve vetores de movimento de bloco vizinho, não será uma fonte de propagação em fatias B.
Com relação à intrapredição, macroblocos intraprevistos são codificados como a soma de uma predição dentro do quadro/imagem atual e um resíduo. Se um ou mais dos blocos de referência estiverem no mapa de propagação de uma alteração, então a predição pode ser afetada por aquela alteração, em cujo caso o bloco atual estaria também no mapa de propagação. Pode haver três tipos de intrapredição: intra_4x4, intra_8x8, e intra_16x16. No modo Intra_4x4, o macrobloco é previsto para cada um dos 16 blocos 4x4. Há um total de 8 modos (pela tabela 8-2 da norma de Recomendação ITU-T H.264 | Padrão Internacional ISO/IEC 14496-10 com Emenda 1) envolvendo todos os 4 dos blocos vizinhos, A, B, C, e D mostrados na Figura 4. Os 8 modos estão listados na Tabela 1 abaixo junto com o(s) blo-co(s) vizinho(s) envolvido(s) (adaptado da Tabela 8-2 da norma de Recomendação ITU-T H.264 | Padrão Internacional ISO/IEC 14496-10 com Emenda 1). Na tabela, diferente da Tabela 8-2 do padrão, é possível distinguir os três casos diferentes para o modo ln-tra_4x4_DC: modo 2 - usa tanto A como B; modo 9 - usa apenas A; modo 10 - usa apenas B. O quarto caso do modo 4x4_DC é para não usar nem A nem B, que não afeta o mapa de propagação e desse modo pode ser ignorado.
Figure img0001
No modo Intra_8x8, o macrobloco é previsto para cada um dos quatro blocos 8x8. Há 8 modos (pela tabela 8-3 da norma de Recomendação ITU-T H.264 | Padrão Internacional ISO/IEC 14496-10 com Emenda 1) envolvendo todos os 4 dos blocos vizinhos, A, B, C, e D como mostrado na Figura 4. Os 8 modos estão listados na Tabela 2 abaixo junto com o(s) bloco(s) vizinho(s) envolvido(s) (adaptado da Tabela 8-3 da norma de Recomendação ITU-T H.264 | Padrão Internacional ISO/IEC 14496-10 com Emenda 1). Similar ao caso de intra-predição 4x4, é também possível distinguir entre os três casos diferentes para o modo ln-tra_8x8_DC. Note que devido a uma operação de filtração antes da predição, os vizinhos envolvidos para cada modo são diferentes da predição 4x4.
Figure img0002
Figure img0003
No modo Intra_16x16, o macrobloco é previsto como um todo. Há 4 modos (pela tabela 8-4 da norma de Recomendação ITU-T H.264 | Padrão Internacional ISO/IEC 1449610 com Emenda 1) envolvendo 3 blocos vizinhos, A, B, e D como mostrado na Figura 4. Tabela 3 lista os modos de predição. Para manter-se consistente com as predições 4x4 e 8x8, os modos 2, 9 e 10 são ainda usados para indicar os três casos da predição DC.
Figure img0004
Especificamente, os componentes de referência são a coluna mais à direita do vizinho A, a última linha do vizinho B, a última linha do vizinho C, e o último pixel do vizinho D (direita embaixo) como mostrado na Fig. 4. Se C não estiver disponível, os pixels de referência em C são substituídos pelo pixel da última linha mais à direita de B com repetição.
Em um sistema de marca d’água H.264/AVC, uma etapa anterior criou uma lista de modificações potenciais. Cada modificação potencial consiste em um identificador de bloco, uma indicação daquele vetor de movimento pode ser modificada, e o valor alternativo para aquele vetor de movimento. Note que, neste momento, pode haver várias modificações potenciais para um bloco simples. Em uma etapa posterior, a lista de modificações potenciais será cortada de forma que nenhum bloco tem mais de uma modificação. Cada entrada na lista representa uma alteração em um vetor de movimento associado a um macrobloco in-terprevisto de fatia B. Alterando o vetor de movimento de um bloco interprevisto terá o efeito de reconstruir o bloco com uma referência diferente da que foi intencionada durante a codificação, desse modo provavelmente alterará os valores de pixel decodificados. Esta alteração pode propagar-se de 2 modos: (1) se um segundo bloco for codificado usando interpredição e prever seu vetor de movimento da atual, então aquele segundo bloco também usará uma referência diferente da que foi intencionada; e (2) se um segundo bloco for codificado usando intrapredição e prever seus valores de pixel da atual, então os pixels reconstruídos daquele segundo bloco serão diferentes dos que foram intencionados. O primeiro tipo de propagação, propagação para um vetor de movimento vizinho, pode propagar-se novamente para o próximo conjunto de vizinhos da mesma maneira. O segundo tipo de propagação, propagação diretamente para os valores de pixel, pode apenas propagar-se também para os blocos vizinhos que também usam intrapredição.
No sistema de marca d’água H.264/AVC, as alterações potenciais podem ser avaliadas de uma vez. Para cada entrada, pode-se assumir que a alteração potencial seja feita e depois rastrear como aquela alteração se propagará para outros blocos na quadro/imagem. O mapa de propagação é a ferramenta usada para representar esta informação. Depois, ao avaliar o impacto de fidelidade de uma alteração potencial, há apenas uma necessidade de considerar os blocos na trajetória de propagação da alteração potencial, porque nenhum outro bloco será afetado. Similarmente, é possível rapidamente determinar se uma alteração potencial está na trajetória de propagação de qualquer alteração previamente selecionada ou se o mapa de propagação de uma alteração potencial sobrepõe com o de qualquer alteração previamente selecionada.
Figura 5(a) ilustra um exemplo de um mapa de propagação. Este mapa de propagação 500 é uma fatia B associada ao bloco 510 cujo vetor de movimento foi diretamente alterado. Os outros blocos 520 na figura são blocos que serão indiretamente alterados devido à propagação. Quando um bloco altera, ou devido a uma modificação direta ou porque cai na trajetória de propagação de outra alteração, esta alteração tem o potencial para ainda propagar-se para seus vizinhos. Figura 5(b) ilustra outro exemplo de um mapa de propagação em que os quatro vizinhos 540 cujos valores de luminância podem ser modificados devido a esta propagação, quando apenas um bloco 530 foi alterado diretamente. O mapa de propagação, P, de um bloco alterado representa uma coletânea dos blocos, p, cujos valores de luminância são também alterados devido à propagação. Cada bloco no mapa de propagação é representado com uma estrutura de dados indicando a alteração inicial, o modo de predição do bloco atual, e alteração no bloco atual, e é denotado como:
p = {head_node_info, mode, cur_node_info}.
O “head_node” exclusivamente identifica o bloco alterado em termos de posição e um valor alternativo do vetor de movimento que iniciou as alterações. Todos os nós no mapa de propagação P terão o mesmo “head_node”. O elemento “mode” indica o modo de predição do bloco atual que pode ser intrapredição ou intrapredição. O elemento “cur_node” registra a informação acerca do bloco atual. Ele contém os vetores de movimento originais e novos para os blocos interprevistos, e o modo de intrapredição e blocos de referência para os blocos de intrapredição.
Figura 6 mostra um método para construir o mapa de propagação. O mapa de propagação, P, é inicializado com o bloco alterado, p, em 610. Na caixa de avaliação 620, uma determinação é feita para avaliar se o bloco p está vazio. Se o bloco p não estiver vazio, cada um de seus quatro vizinhos α1 i = 1, ..., 4 (como definido na Figura 5b) é examinado na caixa 630. A meta de cada um destes exames é determinar se a alteração para o bloco p propagará para o vizinho α1. Para fazer isso, um processador, ou outros, pode comparar a decodificação usando os valores originais p associados a p como também os valores alterados. Se o bloco α1 for um bloco interprevisto, então na via de interpredição 640, o vetor de movimento previsto usando o vetor de movimento novo de p e aqueles dos outros blocos vizinhos podem ser examinados ou determinados. Se for diferente do vetor de movimento original, então a alteração propagará para este vizinho e o bloco α1 é vinculado ao mapa de propagação P na caixa de propagação 660. Se α1 for intraprevisto na via de intrapredição 650 e o bloco p for usado como a referência na predição, então a alteração propagará para este vizinho e o bloco cm é vinculado ao mapa de propagação P na caixa de propagação 660. No fim de tudo, os quatro vizinhos foram examinados, o próximo elemento em P é considerado. Este processo repete-se até não houver nenhum elemento novo em P para chegar na caixa de fim 670.
A integração da construção do mapa de propagação em um decodificador H.264 será agora descrita. Esta integração é apresentada no contexto de um sistema de marca d’água H.264/AVC similarmente como descrito antes.
O mapa de propagação P é representado como uma lista vinculada que, como um todo, identificará os macroblocos/partições afetados pela modificação potencial. À medida que o decodificador processa os macroblocos da fatia B em ordem de varredura de quadri-culação, adicionar macroblocos/partições afetados às listas vinculadas correspondentes pode ser continuado. O algoritmo integrado detalhado será descrito com referência à Figura 7 ilustrando a lista vinculada.
Dada uma lista de modificações potenciais em uma fatia B, contendo entradas /, cada correspondendo a um vetor de movimento modificável com uma alternativa, as listas vinculadas a / (710) podem ser construídas e cada lista pode ser inicializada para conter pelo menos um nó (720), que pode ser a própria modificação potencial. A estrutura de dados do nó p é mostrada na Tabela 4, que contém a informação de localização do macroblo-co/partição, informação de vetor de movimento original e nova. Uma vez que o processo de construir mapa de propagação é construído no decodificador AVC, a maioria desta informação pode ser obtida diretamente do decodificador. Outra informação pode ser adicionada com base na aplicação do mapa de propagação.
Tabela 4: Estrutura de dados da lista vinculada para cada mapa de propagação struct propagation map_node
{
next;// aponta para o próximo nó
/ informação do macrobloco/partição do bloco atual */
mbAddr;// o endereço do macrobloco w.r.t. o começo do quadro medido na ordem de varredura de
// quadriculação
mbPartldx;// o índice de partição
subMbPartldx; // o índice de partição do submacrobloco
/* informação relacionada ao movimento correspondendo ao vetor de movimento modificado */
M Vorg_x;// componente x do vetor de movimento original do bloco atual
MVorg_y;// componente y do vetor de movimento original do bloco atual
MVnew_x;// componente x do vetor de movimento modificado do bloco atual
MVnew_y;// componente y do vetor de movimento modificado do bloco atual
refFrmNum;// o número do quadro do quadro de referência usado para a compensação de movimento
list-id;// 0 ou 1, indica a lista cujo vetor de movimento foi modificado
ref-idx;// o índice do quadro de referência na lista list-id
MVWeight;// o peso da predição compensada por movimento
/* bloco intraprevisto 7
Modo intrapredição;// -1 para interpredição, >= 0 para for intrapredição (vide Tabela 1-Tabela 3)
Vizinhos envolvidos;// registrar os blocos vizinhos envolvidos na predição para outra análise
/* outra informação */
...
}
Figura 8 mostra uma visão geral da construção do mapa de propagação com base em decodificador AVC em um decodificador 810. Note que a predição do vetor de movimento e a intrapredição são executadas dentro de uma fatia. Desse modo, a propagação de uma alteração de vetor de movimento não pode propagar-se fora da fatia atual. Portanto, o mapa de propagação pode ser construído fatia-por-fatia. O decodificador de padrão H.264/AVC itera através das três etapas: (1) inicialização da fatia 830, (2) decodificador da fatia 840, e (3) posicionamento da fatia 850 para cada fatia na sequência de imagem. A construção do mapa de propagação acontece neste contexto de processar uma fatia por vez.
Construção do mapa de propagação obtém o fluxo de vídeo codificado original como uma entrada. A outra entrada é a lista de todas as modificações potenciais. O processo pode ser descrito como uma série de três etapas na Fig. 8: (1) inicialização do mapa de propagação 835, construtor do mapa de propagação 845, e (3) saída do mapa de propagação 855, em que as saídas finalizadas são usadas para decodificar YUV para avaliação de lumi-nância. Um processo de avaliar as alterações causadas modificando um valor do vetor de movimento durante o embutimento das marcas d’água é aqui referido como LumEval. Lu-mEval mede a quantidade de alteração de luminância para cada bloco que pode ser usada para avaliar as alterações, tais como avaliação de fidelidade em uma aplicação de marca d’água.
Inicialização do mapa de propagação 835 é ilustrada na Figura 9 e é integrada ao processo de inicialização da fatia do decodificador H.264/AVC 830. Esta inicialização extrai da lista de modificações potenciais aquelas que se aplicam aos blocos na fatia B atual na caixa 930. Esta depois lê nas entradas da coletânea de blocos mutáveis na caixa 940 e constrói um mapa de propagação para cada modificação potencial na caixa 950.
O construtor do mapa de propagação na Figura 10, que é integrado no decodificador de fatia 840, acrescenta os blocos aos mapas de propagação de modificações potenciais à medida que o decodificador processa cada macrobloco. Cada macrobloco considerado em uma fatia é representado pela caixa 1001. Ao decodificar um bloco, uma determinação sobre qual de vários casos de codificação diferentes foi usado. Os casos são interpredi-ção, interpredição com modo direto espacial, e intrapredição na caixa 1020 para os tipos de intrapredição 1021. Fig. 10 mostram uma trajetória de interpredição 1005 na qual uma determinação é feita na caixa de decisão direto/pular 1006 se os blocos são interprevistos no modo direto. Se os blocos interprevistos não forem interprevistos no modo direto, então o mapa de propagação é atualizado de acordo com um processo de atualização de propagação 1008. Ainda, se os blocos interprevistos não forem espacialmente previstos na caixa de determinação 1007, então os blocos interprevistos não serão afetados pelas alterações nos blocos vizinhos e não farão parte de qualquer mapa de propagação. Todos os outros são examinados para determinar se eles serão afetados pelas alterações anteriores. Blocos interprevistos que não usam o modo direto como mostrado na caixa de decisão direto/pular 1006 são examinados pelo processo de atualização de propagação 1008 e este processo é descrito na Figura 11.
Na Fig. 11, os blocos vizinhos são identificados primeiro na caixa 1101. Esta identificação é com base nas predições do vetor de movimento MVp como descrito mais cedo e a disponibilidade dos vizinhos como mostrado na Fig. 2. De importância e preocupação aqui são vizinhos que podem afetar a determinação do MVp atual e tais vizinhos são referidos como vizinhos identificados. Amostragem 1102 através de todas as listas do mapa de propagação e examinação da caixa de vizinho 1103 determinam quais destes blocos de vizinho identificado estão em quaisquer dos mapas de propagação. Se um vizinho identificado cair em um mapa de propagação, isso implica que o vizinho foi afetado pela modificação potencial na cabeça daquele mapa. Aquela alteração, portanto, tem o potencial para propagar-se para o bloco atual. Se nenhum vizinho cair em um mapa de propagação na caixa 1103, o próximo mapa é amostrado na caixa 1102. Para cada circunstância de um vizinho identificado que cai em um mapa de propagação existente, uma recuperação 1104 dos vetores de movimento armazenados na lista do mapa de propagação é executada. Com os vetores de movimento vizinhos modificados, é executado um recálculo 1105 do bloco atual. Esta predição do vetor de movimento para o bloco atual é comparada com o vetor de movimento original na caixa 1106. Se eles forem diferentes, então a alteração na cabeça do mapa de propagação afetará o bloco atual e o bloco atual é acrescentado ao mapa de propagação correspondente na caixa 1107.
Para atualizar um mapa de propagação de acordo com apenas intrapredição, todos os blocos de intrapredição com quaisquer dos três modos/tipos 1021 (isto é, 4x4, 8x8 ou 16x16) são examinados pelo processo de atualização do mapa de propagação 1022 descrito na Figura 12. Similar ao exame de blocos interprevistos, primeiro, uma identificação dos blocos vizinhos do bloco atual é feita. Esta identificação é com base no modo de intrapredição como descrito acima. Aqui, a preocupação é com vizinhos que podem afetar a predição do pixel da partição atual e tais vizinhos são referidos como vizinhos identificados na caixa 1201. Todo mapa de propagação na lista é amostrado na caixa 1202 e examinado na caixa 1204. Se qualquer bloco de vizinho identificado sobrepor um mapa de propagação, o nó atual é adicionado àquele mapa de propagação na caixa 1206.
A etapa final mostrada na Figura 8 é posicionamento da fatia 850. Esta pode ser uma etapa padrão do decodificador AVC 810 uma vez a fatia foi decodificada. A etapa final da construção do mapa de propagação é a saída do mapa de propagação. Esta etapa é integrada ao posicionamento de fatia 850. Um arquivo yuv decodificado opcional contendo os valores de pixel pode também ser produzido para outra análise.
É importante notar que no algoritmo acima pode-se prever uma necessidade para passar por meio de todos os nós dos mapas de propagação / para cada partição de macro-bloco. Isto pode incorrer um custo computacional alto. Para acelerar o processo, um algoritmo melhorado é formulado com base em duas observações. A primeira é que os pais da partição atual (vizinhos identificados) podem apenas residir dentro da mesma linha de ma-croblocos ou na linha acima; como tal, os nós da lista i que são mais de uma linha longe do bloco atual podem ser excluídos durante uma pesquisa parental. A segunda é que se a lista i não foi atualizada para uma linha inteira dos macroblocos, o efeito de modificação no bloco mutável não poderá propagar-se para os blocos restantes na fatia. Desse modo, o mapa de propagação i está completo e há nenhuma necessidade de verificar isto para os blocos futuros dentro da fatia atual. O algoritmo modificado é apresentado na Figura 13, que reflete o processo de atualização de propagação 1008 e 1022.
Para atualizar um mapa de propagação de acordo com intrapredição e interpredi-ção, Fig. 13 começa com primeiro identificando os vizinhos na caixa 1301 que pode afetar a predição do pixel da partição atual. Tais vizinhos são referidos como vizinhos identificados. O mapa de propagação na lista é depois amostrado na caixa 1302. Se não houver nenhuma atualização na última linha do macrobloco na caixa de decisão 1303, o próximo mapa de propagação é amostrado. Se houver uma atualização, então um exame é executado na caixa 1304. Se qualquer bloco de vizinho identificado sobrepor ou parear com blocos nas linhas atuais e últimas no mapa de propagação correntemente amostrado i, o processo é avançado para uma etapa de comparação na caixa 1305. Se o vetor de movimento original e um vetor de movimento modificado diferirem, então o nó atual com o vetor de movimento modificado é acrescentado ao mapa de propagação na caixa 1306 junto com as atualizações da intrapredição.
Várias das implementações e características descritas neste pedido de patente podem ser usadas no contexto do padrão H.264/MPEG-4 AVC (AVC). Porém, estas implementações e características podem ser usadas no contexto de outro padrão (existente ou futuro), ou em um contexto que não envolva um padrão. Porém, características e aspectos das implementações descritas podem também ser adaptados a outras implementações.
As implementações descritas aqui podem ser implementadas, por exemplo, em um método ou processo, um aparelho, um programa de software, um fluxo de dados, ou um sinal. Até mesmo se apenas debatido no contexto de uma forma simples de implementação (por exemplo, debatido apenas como um método), a implementação ou características debatidas podem também ser implementadas em outras formas (por exemplo, um aparelho ou programa). Um aparelho pode ser implementado, por exemplo, em hardware, software, e firmware apropriados. Os métodos podem ser implementados, por exemplo, em um aparelho tal como um computador ou outro dispositivo de processamento. Adicionalmente, os métodos podem ser implementados por instruções que são executadas por um dispositivo de processamento ou outro aparelho, e tais instruções podem ser armazenadas em um meio legível por computador tal como um CD, ou outro dispositivo de armazenamento legível por computador, ou um circuito integrado. Ainda, um meio legível por computador pode armazenar aqueles valores de dados produzidos por uma implementação.
Como deveria ser evidente a alguém de habilidade na técnica, as implementações podem também produzir um sinal formatado para carregar informação que pode ser, por exemplo, armazenada ou transmitida. A informação pode incluir, por exemplo, instruções para executar um método, ou dados produzidos por uma das implementações descritas. Por exemplo, um sinal pode ser formatado para carregar um fluxo marcado com marca d’água, um fluxo não marcado com marca d’água, ou informação de marca d’água.
Adicionalmente, muitas modalidades podem ser implementadas em um ou mais de um codificador, um decodificador, um pós-processador processando saída de um decodifi-cador, ou um pré-processador fornecendo entrada a um codificador. Ainda, outras implementações são contempladas por esta revelação. Por exemplo, implementações adicionais podem ser criadas combinando, deletando, modificando, ou suplementando várias características das implementações reveladas.

Claims (14)

  1. Método para inserir marca d’água em vídeo codificado que compreende:
    acessar dados de vídeo codificados que são divididos em fatias;
    compilar uma lista de possíveis alterações a vetores de movimento dos dados de vídeo codificados, em que as alterações são marcas d’água de vídeo;
    CARACTERIZADO pelo fato de que adicionalmente compreende as etapas de:
    construir mapas de propagação de alterações resultantes para dados de vídeo codificados que serão causadas pela implementação de pelo menos uma dentre as possíveis alterações, em que um mapa de propagação é criado após uma alteração ser feita e indica uma coleção de blocos cujos valores de luminância são modificados devido à propagação nos dados de vídeo codificados;
    determinar o impacto na fidelidade de possíveis alterações com base nos mapas de propagação, por medição da quantidade de modificações de valores de luminância para cada bloco dos mapas de propagação;
    eliminar algumas possíveis alterações com base em um limiar de fidelidade; e
    aplicar uma dentre as possíveis alterações com base na dita determinação e eliminação.
  2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a etapa de compilação compreende um dentre:
    gerar a lista das possíveis alterações;
    acessar as possíveis alterações de uma lista existente; ou
    gerar algumas das possíveis alterações e acessar outras das possíveis alterações da lista existente.
  3. Método, de acordo com a reivindicação 2, CARACTERIZADO pelo fato de que as fatias compreendem blocos e em que o método adicionalmente compreende a etapa de:
    determinar, em resposta a pelo menos uma alteração resultante, se construir os mapas de propagação usando interpredição quando a alteração resultante afeta ou inclui um bloco direto e pelo menos um bloco vizinho em uma fatia.
  4. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que adicionalmente compreende:
    determinar, em resposta aos mapas de propagação, uma extensão para qualquer distorção visível causada por uma dentre as possíveis alterações; e
    eliminar a uma dentre as possíveis alterações com base na extensão de distorção visível.
  5. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que adicionalmente compreende as etapas de:
    determinar, em resposta aos mapas de propagação, uma extensão à qual uma dentre as possíveis alterações pode cair em uma trajetória de propagação de uma alteração anterior; e
    eliminar a uma possível alteração com base na extensão de sobreposição das trajetórias.
  6. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que adicionalmente compreende:
    determinar, em resposta aos mapas de propagação, uma região para detecção para cada uma dentre as possíveis alterações; e
    selecionar uma dentre as possíveis alterações com base na região de detecção.
  7. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que adicionalmente compreende a etapa de determinar, em resposta a pelo menos uma alteração resultante, se construir os mapas de propagação usando intrapredição quando a alteração resultante inclui ou afeta um bloco direto e pelo menos um bloco vizinho, em que uma respectiva fatia compreende o bloco direto e o pelo menos um bloco vizinho.
  8. Método, de acordo com a reivindicação 3, CARACTERIZADO pelo fato de que adicionalmente compreende a etapa de determinar, em resposta aos mapas de propagação, se construir os mapas de propagação usando intrapredição quando a alteração resultante inclui ou afeta o bloco direto e o pelo menos um bloco vizinho.
  9. Método, de acordo com a reivindicação 6, CARACTERIZADO pelo fato de que adicionalmente compreende:
    identificar fatias selecionadas e alterações do vetor de movimento associadas às mesmas para construir os mapas de propagação, em que as fatias selecionadas são fatias B; e
    empregar os mapas de propagação em um decodificador.
  10. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que as fatias compreendem blocos e em que o método adicionalmente compreende as etapas de:
    determinar com base nos mapas de propagação uma extensão às quais trajetórias de propagação de uma das possíveis alterações se sobrepõe com a de uma alteração anterior para levar algum bloco a cair nas trajetórias de propagação da alteração anterior e uma das possíveis alterações, e
    eliminar uma possível alteração com base em uma alteração a algum bloco.
  11. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que adicionalmente compreende:
    inicializar (610) um mapa de propagação (P) para as possíveis alterações;
    determinar (620) em uma partição por base de partição se uma partição individual está vazia, vazia sendo nenhuma alteração na partição individual;
    determinar (620) em uma partição de macrobloco ou de sub-bloco por base de partição de macrobloco ou de sub-bloco se uma partição individual de macrobloco ou de sub-bloco está vazia, vazia sendo nenhuma alteração na partição individual de macrobloco ou de sub-bloco;
    determinar (630) se a partição vizinha de macrobloco ou de sub-bloco (α) da partição individual de macrobloco ou de sub-bloco é modificada, se a partição individual de macrobloco ou de sub-bloco não estiver vazia;
    adicionar (660) uma partição vizinha individual de macrobloco ou de sub-bloco (αi) ao mapa de propagação (P), se a partição vizinha individual de macrobloco ou de sub-bloco (αi) é modificada; e
    atualizar (670) o mapa de propagação adicionando as partições vizinhas individuais de macrobloco ou de sub-bloco que são modificadas até que as próximas partições individuais de macrobloco ou de sub-bloco estejam vazias.
  12. Método, de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que compreende:
    determinar (640) se a partição vizinha individual de macrobloco ou de sub-bloco (αi) é modificada com base em informações do vetor de movimento da partição individual de macrobloco ou de sub-bloco e seus vizinhos.
  13. Método, de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que compreende:
    determinar (650) se a partição vizinha individual de macrobloco ou de sub-bloco (αi) é modificada com base em intrapredição usando a partição individual de macrobloco ou de sub-bloco (p) como uma referência.
  14. Aparelho para inserir marca d’água em vídeo codificado compreendendo um dispositivo de processamento adaptado e configurado para:
    acessar dados de vídeo codificados que são divididos em fatias;
    compilar uma lista de possíveis alterações a vetores de movimento dos dados de vídeo codificados, em que as alterações são marcas d’água de vídeo; e
    CARACTERIZADO por:
    construir mapas de propagação de alterações resultantes a dados de vídeo codificados que serão causadas pela implementação de pelo menos uma das possíveis alterações, em que um mapa de propagação é criado após uma alteração ser feita e indica uma coleção de blocos cujos valores de luminância são modificados devido à propagação nos dados de vídeo codificados;
    determinar o impacto em fidelidade de possíveis alterações com base nos mapas de propagação, por medição da quantidade de modificações de valores de luminância para cada bloco dos mapas de propagação;
    eliminar algumas possíveis alterações com base em um limiar de fidelidade; e
    aplicar uma das possíveis alterações com base nas ditas determinação e eliminação.
BRPI0916944-0A 2008-08-19 2009-08-19 Método e aparelho para inserir marca dágua em vídeo codificado BRPI0916944B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US18937008P 2008-08-19 2008-08-19
US61/189.370 2008-08-19
PCT/US2009/004715 WO2010021700A1 (en) 2008-08-19 2009-08-19 A propagation map

Publications (2)

Publication Number Publication Date
BRPI0916944A2 BRPI0916944A2 (pt) 2015-11-24
BRPI0916944B1 true BRPI0916944B1 (pt) 2020-07-21

Family

ID=41707386

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0916944-0A BRPI0916944B1 (pt) 2008-08-19 2009-08-19 Método e aparelho para inserir marca dágua em vídeo codificado

Country Status (7)

Country Link
US (1) US9042455B2 (pt)
EP (1) EP2318919B1 (pt)
JP (1) JP5536064B2 (pt)
KR (1) KR101612729B1 (pt)
CN (1) CN102132247B (pt)
BR (1) BRPI0916944B1 (pt)
WO (1) WO2010021700A1 (pt)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010021700A1 (en) 2008-08-19 2010-02-25 Thomson Licensing A propagation map
JP5373909B2 (ja) * 2008-08-19 2013-12-18 トムソン ライセンシング 圧縮ビデオにおける構文要素のcabac/avc準拠の透かし入れ
CN102187673B (zh) * 2008-08-19 2014-07-30 汤姆森特许公司 亮度评估
BRPI0917456B1 (pt) 2008-08-19 2020-09-15 Contentarmor Método para atendimento a fluxo de vídeo de codificação aritmética binária adaptativa com base em contexto (cabac)
EP2314073B1 (en) * 2008-08-20 2014-04-30 Thomson Licensing Selection of watermarks for the watermarking of compressed video
TW201121331A (en) * 2009-12-10 2011-06-16 Novatek Microelectronics Corp Picture decoder
BR112012019745B1 (pt) 2010-02-09 2020-11-10 Contentarmor Método de detecção de marca dágua utilizando um mapa de propagação
EP2553927B1 (fr) * 2010-03-31 2018-11-28 Orange Procedes et dispositifs de codage et de decodage d'une sequence d'images mettant en oeuvre une prediction par compensation de mouvement avant, et programme d'ordinateur correspondant
EP2564591A4 (en) 2010-04-29 2014-06-11 Thomson Licensing PROCESS FOR PROCESSING AN IMAGE
KR20120016991A (ko) * 2010-08-17 2012-02-27 오수미 인터 프리딕션 방법
US9049455B2 (en) 2010-12-28 2015-06-02 Panasonic Intellectual Property Corporation Of America Image coding method of coding a current picture with prediction using one or both of a first reference picture list including a first current reference picture for a current block and a second reference picture list including a second current reference picture for the current block
US10171813B2 (en) 2011-02-24 2019-01-01 Qualcomm Incorporated Hierarchy of motion prediction video blocks
CN108259920B (zh) 2011-03-06 2021-01-08 Lg 电子株式会社 使用亮度采样的色度块的内部预测方法以及使用其的装置
US9366448B2 (en) 2011-06-20 2016-06-14 Honeywell International Inc. Method and apparatus for configuring a filter change notification of an HVAC controller
US8892223B2 (en) 2011-09-07 2014-11-18 Honeywell International Inc. HVAC controller including user interaction log
US9002523B2 (en) 2011-12-14 2015-04-07 Honeywell International Inc. HVAC controller with diagnostic alerts
US10747243B2 (en) 2011-12-14 2020-08-18 Ademco Inc. HVAC controller with HVAC system failure detection
US8902071B2 (en) 2011-12-14 2014-12-02 Honeywell International Inc. HVAC controller with HVAC system fault detection
US10533761B2 (en) 2011-12-14 2020-01-14 Ademco Inc. HVAC controller with fault sensitivity
US9206993B2 (en) 2011-12-14 2015-12-08 Honeywell International Inc. HVAC controller with utility saver switch diagnostic feature
US20130158720A1 (en) 2011-12-15 2013-06-20 Honeywell International Inc. Hvac controller with performance log
US10139843B2 (en) 2012-02-22 2018-11-27 Honeywell International Inc. Wireless thermostatic controlled electric heating system
US9442500B2 (en) 2012-03-08 2016-09-13 Honeywell International Inc. Systems and methods for associating wireless devices of an HVAC system
US10452084B2 (en) 2012-03-14 2019-10-22 Ademco Inc. Operation of building control via remote device
US9488994B2 (en) 2012-03-29 2016-11-08 Honeywell International Inc. Method and system for configuring wireless sensors in an HVAC system
US9477239B2 (en) 2012-07-26 2016-10-25 Honeywell International Inc. HVAC controller with wireless network based occupancy detection and control
US9594384B2 (en) 2012-07-26 2017-03-14 Honeywell International Inc. Method of associating an HVAC controller with an external web service
WO2014099202A1 (en) * 2012-12-20 2014-06-26 Exxonmobil Upstream Research Company Method and system for geophysical modeling of subsurface volumes based on label propagation
US10094585B2 (en) 2013-01-25 2018-10-09 Honeywell International Inc. Auto test for delta T diagnostics in an HVAC system
CN103152578B (zh) * 2013-03-25 2016-05-18 中国传媒大学 基于混合编解码的h.264视频水印嵌入及提取方法
US9806705B2 (en) 2013-04-23 2017-10-31 Honeywell International Inc. Active triac triggering circuit
US9584119B2 (en) 2013-04-23 2017-02-28 Honeywell International Inc. Triac or bypass circuit and MOSFET power steal combination
US11054448B2 (en) 2013-06-28 2021-07-06 Ademco Inc. Power transformation self characterization mode
US9983244B2 (en) 2013-06-28 2018-05-29 Honeywell International Inc. Power transformation system with characterization
US10811892B2 (en) 2013-06-28 2020-10-20 Ademco Inc. Source management for a power transformation system
US9673811B2 (en) 2013-11-22 2017-06-06 Honeywell International Inc. Low power consumption AC load switches
US9857091B2 (en) 2013-11-22 2018-01-02 Honeywell International Inc. Thermostat circuitry to control power usage
US20150159895A1 (en) 2013-12-11 2015-06-11 Honeywell International Inc. Building automation system with user defined lifestyle macros
US9628074B2 (en) 2014-06-19 2017-04-18 Honeywell International Inc. Bypass switch for in-line power steal
EP2960854A1 (en) * 2014-06-27 2015-12-30 Thomson Licensing Method and device for determining a set of modifiable elements in a group of pictures
US9683749B2 (en) 2014-07-11 2017-06-20 Honeywell International Inc. Multiple heatsink cooling system for a line voltage thermostat
KR102273670B1 (ko) * 2014-11-28 2021-07-05 삼성전자주식회사 움직임 보상 정보를 수정하는 데이터 처리 시스템과 데이터 처리 방법
US10488062B2 (en) 2016-07-22 2019-11-26 Ademco Inc. Geofence plus schedule for a building controller
KR20210020924A (ko) * 2018-06-27 2021-02-24 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치, 및 삼차원 데이터 복호 장치
KR20240050597A (ko) 2022-10-12 2024-04-19 주식회사 케이티 공간 모델을 생성하는 장치, 방법 및 컴퓨터 프로그램

Family Cites Families (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US637960A (en) * 1899-05-20 1899-11-28 Market Street Railway Company Electrically-operated switch mechanism.
US6850252B1 (en) 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
US5659631A (en) 1995-02-21 1997-08-19 Ricoh Company, Ltd. Data compression for indexed color image data
RU2153226C2 (ru) * 1995-06-06 2000-07-20 Глоубалстар Л.П. Система управления средствами разнесенной передачи сигналов через спутниковые ретрансляторы
GB2308042B (en) * 1995-12-05 2000-02-16 Motorola Ltd Radio communication system
US6009176A (en) 1997-02-13 1999-12-28 International Business Machines Corporation How to sign digital streams
JP3696723B2 (ja) 1997-09-02 2005-09-21 ソニー株式会社 画像データ処理装置及び方法
US6373960B1 (en) 1998-01-06 2002-04-16 Pixel Tools Corporation Embedding watermarks into compressed video data
JPH11331822A (ja) 1998-05-15 1999-11-30 Matsushita Electric Ind Co Ltd 監視カメラ装置
US6553127B1 (en) 1998-05-20 2003-04-22 Macrovision Corporation Method and apparatus for selective block processing
JPH11341450A (ja) 1998-05-26 1999-12-10 Nippon Hoso Kyokai <Nhk> 電子透かし埋め込み装置および電子透かし抽出装置
JP3156667B2 (ja) 1998-06-01 2001-04-16 日本電気株式会社 電子透かし挿入システム、電子透かし特性表作成装置
JP2001119557A (ja) 1999-10-19 2001-04-27 Nippon Hoso Kyokai <Nhk> 電子透かし埋め込み装置および方法
JP2001275115A (ja) 2000-03-23 2001-10-05 Nec Corp 電子すかしデータ挿入装置および検出装置
US6687384B1 (en) 2000-03-27 2004-02-03 Sarnoff Corporation Method and apparatus for embedding data in encoded digital bitstreams
US7346776B2 (en) 2000-09-11 2008-03-18 Digimarc Corporation Authenticating media signals by adjusting frequency characteristics to reference values
JP3431593B2 (ja) 2000-10-31 2003-07-28 株式会社東芝 コンテンツ生成装置、電子透かし検出装置、コンテンツ生成方法、電子透かし検出方法及び記録媒体
US7113612B2 (en) * 2001-03-22 2006-09-26 Victor Company Of Japan, Ltd. Apparatus for embedding and reproducing watermark into and from contents data
US20030070075A1 (en) 2001-10-04 2003-04-10 Frederic Deguillaume Secure hybrid robust watermarking resistant against tampering and copy-attack
JP4276395B2 (ja) 2001-10-19 2009-06-10 セイコーエプソン株式会社 画像処理装置および画像処理プログラム
JP4079620B2 (ja) 2001-10-30 2008-04-23 ソニー株式会社 電子透かし埋め込み処理装置、および電子透かし埋め込み処理方法、並びにコンピュータ・プログラム
JP3854502B2 (ja) 2001-12-12 2006-12-06 興和株式会社 電子透かしの埋め込み方法および抽出方法
JP4107851B2 (ja) 2002-02-13 2008-06-25 三洋電機株式会社 電子透かし埋め込み方法およびその方法を利用可能な符号化装置と復号装置
WO2003102868A2 (en) * 2002-05-29 2003-12-11 Pixonics, Inc. Classifying image areas of a video signal
US7003131B2 (en) * 2002-07-09 2006-02-21 Kaleidescape, Inc. Watermarking and fingerprinting digital content using alternative blocks to embed information
CN101039427B (zh) 2002-07-15 2010-06-16 株式会社日立制作所 动态图像的解码方法
AU2003276786A1 (en) * 2002-11-04 2004-06-07 Tandberg Telecom As Inter-network and inter-protocol video conference privacy method, apparatus and computer program product
JP4024153B2 (ja) 2003-01-10 2007-12-19 三洋電機株式会社 電子透かし埋め込み方法およびその方法を利用可能な符号化装置と復号装置
WO2004066206A1 (en) 2003-01-23 2004-08-05 Koninklijke Philips Electronics N.V. Embedding multiple watermarks
FR2853792A1 (fr) 2003-04-11 2004-10-15 France Telecom Procede de tatouage d'une sequence video a selection adaptative de la zone d'insertion du tatouage, procede de detection, dispositifs, support de donnees et programmes d'ordinateur correspondants
MXPA05013572A (es) 2003-06-25 2006-08-18 Thomson Licensing Metodo de decodificacion y aparato para la insercion de marca de aguas en una corriente de bits de video comprimido.
US6900748B2 (en) * 2003-07-17 2005-05-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method and apparatus for binarization and arithmetic coding of a data value
US6894628B2 (en) * 2003-07-17 2005-05-17 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Apparatus and methods for entropy-encoding or entropy-decoding using an initialization of context variables
US7188254B2 (en) 2003-08-20 2007-03-06 Microsoft Corporation Peer-to-peer authorization method
EP1515506A1 (en) 2003-09-09 2005-03-16 Alcatel A method of establishing a data packet communication session between a terminal arrangements of a data packet network and an exchange therefore
US7646881B2 (en) 2003-09-29 2010-01-12 Alcatel-Lucent Usa Inc. Watermarking scheme for digital video
US7286710B2 (en) * 2003-10-01 2007-10-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Coding of a syntax element contained in a pre-coded video signal
US7379608B2 (en) * 2003-12-04 2008-05-27 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. Arithmetic coding for transforming video and picture data units
US7693330B2 (en) 2004-03-15 2010-04-06 Vincent So Anti-piracy image display methods and systems with sub-frame intensity compensation
KR100647948B1 (ko) 2004-03-22 2006-11-17 엘지전자 주식회사 적응적 인트라 매크로 블록 리프레쉬 방법
US7706663B2 (en) 2004-10-12 2010-04-27 Cyberlink Corp. Apparatus and method for embedding content information in a video bit stream
US7159501B1 (en) * 2004-11-08 2007-01-09 The United States Of America As Represented By The Secretary Of The Navy Stackable in-line surface missile launch system for a modular payload bay
GB2421134A (en) 2004-12-09 2006-06-14 Sony Uk Ltd Detection of payload data from a watermarked image by calculation of payload probability values
JP2006287364A (ja) 2005-03-31 2006-10-19 Toshiba Corp 信号出力装置及び信号出力方法
JP4498970B2 (ja) 2005-04-15 2010-07-07 三菱電機株式会社 符号化データの変更装置、変更方法及び変更プログラム
US7630512B2 (en) 2005-05-26 2009-12-08 Alcatel-Lucent Usa Inc. Method for performing recoverable video and image watermarking which survives block-based video and image compression
CN101815224A (zh) 2005-07-22 2010-08-25 三菱电机株式会社 图像编码装置和方法、以及图像解码装置和方法
US20080165849A1 (en) 2005-07-22 2008-07-10 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
JP4360363B2 (ja) 2005-08-19 2009-11-11 日本電信電話株式会社 電子透かし埋め込み方法及び装置及びプログラム
US7778261B2 (en) 2005-11-15 2010-08-17 ArcSoft (Shanghai) Technology Using PSTN to communicate IP address for point-to-point text, voice, video, or data communication
CN101326806B (zh) 2005-12-05 2011-10-19 汤姆逊许可证公司 用于在编码内容中插入水印的方法和系统
JP4580898B2 (ja) 2006-06-05 2010-11-17 株式会社東芝 電子透かし埋め込み装置
EP2027727A4 (en) * 2006-06-09 2012-12-05 Thomson Licensing METHOD AND DEVICE FOR ADAPTIVE DETERMINATION OF A NUMBER OF BITS FOR ENCODING VIDEO IMAGES
US8401535B2 (en) 2006-06-19 2013-03-19 Samsung Electronics Co., Ltd. System, a method, and an apparatus for sharing an updated content with peers
EP2091257B1 (en) 2006-11-30 2017-12-27 Panasonic Corporation Coder
CA2681402C (en) 2007-03-23 2016-02-16 Thomson Licensing Modifying a coded bitstream
US8824567B2 (en) 2007-04-04 2014-09-02 Ittiam Systems (P) Ltd. Method and device for tracking error propagation and refreshing a video stream
CN101681499B (zh) 2007-06-14 2013-04-24 汤姆逊许可证公司 修改经编码的比特流
JP5306358B2 (ja) 2007-09-28 2013-10-02 ドルビー ラボラトリーズ ライセンシング コーポレイション 追加情報能力を持つマルチメディア符号化及び復号
KR100969412B1 (ko) * 2008-03-18 2010-07-14 삼성전기주식회사 다층 인쇄회로기판 및 그 제조방법
WO2010003152A1 (en) 2008-07-03 2010-01-07 Verimatrix, Inc. Efficient watermarking approaches of compressed media
CN102187673B (zh) * 2008-08-19 2014-07-30 汤姆森特许公司 亮度评估
WO2010021700A1 (en) 2008-08-19 2010-02-25 Thomson Licensing A propagation map
EP2314073B1 (en) 2008-08-20 2014-04-30 Thomson Licensing Selection of watermarks for the watermarking of compressed video
DE102009004827B4 (de) * 2009-01-13 2017-02-02 Benteler Automobiltechnik Gmbh Stoßfänger
ES2586946T3 (es) 2010-07-30 2016-10-19 Deutsche Telekom Ag Método y aparato para evaluar la calidad de una secuencia de vídeo mediante la sincronización temporal del flujo de bits encriptado de un codificador de vídeo con la secuencia de vídeo procesada obtenida por un descodificador de vídeo exterior
GB2495467B (en) 2011-09-02 2017-12-13 Skype Video coding
GB2495469B (en) 2011-09-02 2017-12-13 Skype Video coding

Also Published As

Publication number Publication date
EP2318919A1 (en) 2011-05-11
CN102132247A (zh) 2011-07-20
US9042455B2 (en) 2015-05-26
US20110176610A1 (en) 2011-07-21
EP2318919A4 (en) 2012-01-25
KR101612729B1 (ko) 2016-04-15
WO2010021700A1 (en) 2010-02-25
EP2318919B1 (en) 2018-10-24
JP5536064B2 (ja) 2014-07-02
BRPI0916944A2 (pt) 2015-11-24
JP2012500569A (ja) 2012-01-05
CN102132247B (zh) 2014-09-10
KR20110048044A (ko) 2011-05-09

Similar Documents

Publication Publication Date Title
BRPI0916944B1 (pt) Método e aparelho para inserir marca dágua em vídeo codificado
RU2688252C1 (ru) Кодирование и декодирование видео с повышенной устойчивостью к ошибкам
TWI792167B (zh) 解碼器、編碼器、及相關聯方法和電腦程式
JP5021739B2 (ja) 信号処理方法及び装置
JP2020039167A (ja) 計算装置及び方法
BRPI0917202B1 (pt) Blocagem e fidelidade em marca d&#39;água
KR101633443B1 (ko) 휘도 평가
BR112016015998B1 (pt) Sinalização de resolução de vetor de movimento adaptativa para codificação de vídeo
BR112013014367B1 (pt) Método e aparelho para avaliar a qualidade de uma sequência de sinal de vídeo transmitida no lado de receptor
BR112014008734B1 (pt) Método para detectar uma mudança de cena em um vídeo transmitido em fluxo contínuo, meio legível por computador não transitório e aparelho relacionados
BR112021001384A2 (pt) método e dispositivo para codificação/decodificação de imagens, e mídia de gravação que armazena fluxo de bits
JP5911563B2 (ja) ビットストリームレベルで動画品質を推定する方法及び装置

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: CONTENTARMOR (FR)

B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06T Formal requirements before examination [chapter 6.20 patent gazette]
B06A Notification to applicant to reply to the report for non-patentability or inadequacy of the application [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 21/07/2020, OBSERVADAS AS CONDICOES LEGAIS.