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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000005192 partition Methods 0.000 claims description 64
- 239000013598 vector Substances 0.000 claims description 58
- 238000012545 processing Methods 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 3
- 230000004075 alteration Effects 0.000 claims 4
- 230000008030 elimination Effects 0.000 claims 2
- 238000003379 elimination reaction Methods 0.000 claims 2
- 239000000284 extract Substances 0.000 abstract description 2
- 241000023320 Luma <angiosperm> Species 0.000 description 8
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 238000010276 construction Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 241000950314 Figura Species 0.000 description 2
- 241001134453 Lista Species 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02M—SUPPLYING COMBUSTION ENGINES IN GENERAL WITH COMBUSTIBLE MIXTURES OR CONSTITUENTS THEREOF
- F02M35/00—Combustion-air cleaners, air intakes, intake silencers, or induction systems specially adapted for, or arranged on, internal-combustion engines
- F02M35/10—Air intakes; Induction systems
- F02M35/10091—Air intakes; Induction systems characterised by details of intake ducts: shapes; connections; arrangements
- F02M35/10144—Connections of intake ducts to each other or to another device
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02M—SUPPLYING COMBUSTION ENGINES IN GENERAL WITH COMBUSTIBLE MIXTURES OR CONSTITUENTS THEREOF
- F02M35/00—Combustion-air cleaners, air intakes, intake silencers, or induction systems specially adapted for, or arranged on, internal-combustion engines
- F02M35/10—Air intakes; Induction systems
- F02M35/10209—Fluid connections to the air intake system; their arrangement of pipes, valves or the like
- F02M35/10236—Overpressure or vacuum relief means; Burst protection
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02M—SUPPLYING COMBUSTION ENGINES IN GENERAL WITH COMBUSTIBLE MIXTURES OR CONSTITUENTS THEREOF
- F02M35/00—Combustion-air cleaners, air intakes, intake silencers, or induction systems specially adapted for, or arranged on, internal-combustion engines
- F02M35/10—Air intakes; Induction systems
- F02M35/10242—Devices or means connected to or integrated into air intakes; Air intakes combined with other engine or vehicle parts
- F02M35/10288—Air 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
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02M—SUPPLYING COMBUSTION ENGINES IN GENERAL WITH COMBUSTIBLE MIXTURES OR CONSTITUENTS THEREOF
- F02M35/00—Combustion-air cleaners, air intakes, intake silencers, or induction systems specially adapted for, or arranged on, internal-combustion engines
- F02M35/10—Air intakes; Induction systems
- F02M35/10314—Materials for intake systems
- F02M35/10321—Plastics; Composites; Rubbers
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02M—SUPPLYING COMBUSTION ENGINES IN GENERAL WITH COMBUSTIBLE MIXTURES OR CONSTITUENTS THEREOF
- F02M35/00—Combustion-air cleaners, air intakes, intake silencers, or induction systems specially adapted for, or arranged on, internal-combustion engines
- F02M35/10—Air intakes; Induction systems
- F02M35/10314—Materials for intake systems
- F02M35/10327—Metals; Alloys
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02M—SUPPLYING COMBUSTION ENGINES IN GENERAL WITH COMBUSTIBLE MIXTURES OR CONSTITUENTS THEREOF
- F02M35/00—Combustion-air cleaners, air intakes, intake silencers, or induction systems specially adapted for, or arranged on, internal-combustion engines
- F02M35/10—Air intakes; Induction systems
- F02M35/1034—Manufacturing and assembling intake systems
- F02M35/10347—Moulding, casting or the like
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02M—SUPPLYING COMBUSTION ENGINES IN GENERAL WITH COMBUSTIBLE MIXTURES OR CONSTITUENTS THEREOF
- F02M35/00—Combustion-air cleaners, air intakes, intake silencers, or induction systems specially adapted for, or arranged on, internal-combustion engines
- F02M35/10—Air intakes; Induction systems
- F02M35/1034—Manufacturing and assembling intake systems
- F02M35/10354—Joining multiple sections together
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02M—SUPPLYING COMBUSTION ENGINES IN GENERAL WITH COMBUSTIBLE MIXTURES OR CONSTITUENTS THEREOF
- F02M35/00—Combustion-air cleaners, air intakes, intake silencers, or induction systems specially adapted for, or arranged on, internal-combustion engines
- F02M35/10—Air intakes; Induction systems
- F02M35/104—Intake manifolds
-
- 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/0085—Time domain based watermarking, e.g. watermarks spread over several images
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/174—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/467—Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/48—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- 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/0202—Image 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)
- Signal Processing (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (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
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.
A presente invenção diz respeito a um processo para gerar e usar mapas de propagação em marca d’água de AVC.
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.
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.
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.
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.
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.
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.
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.
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}.
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.
{
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)
- 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. - 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. - 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. - 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. - 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. - 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. - 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.
- 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.
- 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. - 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. - 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. - 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. - 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. - 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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101611375B1 (ko) * | 2008-08-19 | 2016-04-11 | 톰슨 라이센싱 | 압축된 비디오에서 구문 요소의 cabac/avc 준수 워터마킹 |
WO2010021691A1 (en) * | 2008-08-19 | 2010-02-25 | Thomson Licensing | Luminance evaluation |
WO2010021700A1 (en) | 2008-08-19 | 2010-02-25 | Thomson Licensing | A propagation map |
CN102187583B (zh) | 2008-08-19 | 2013-09-11 | 汤姆森特许公司 | 基于上下文的自适应二进制算术编码(cabac)的视频流兼容性 |
US8824727B2 (en) * | 2008-08-20 | 2014-09-02 | 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 |
ES2713173T3 (es) * | 2010-03-31 | 2019-05-20 | Orange | Procedimientos y dispositivos de codificación y de decodificación de una secuencia de imágenes que implementan una predicción por compensación de movimiento anticipado, y programa de ordenador correspondiente |
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 |
CN108540810B (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 |
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 |
US10747243B2 (en) | 2011-12-14 | 2020-08-18 | Ademco Inc. | HVAC controller with HVAC system failure detection |
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 |
US9915742B2 (en) * | 2012-12-20 | 2018-03-13 | 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视频水印嵌入及提取方法 |
US9584119B2 (en) | 2013-04-23 | 2017-02-28 | Honeywell International Inc. | Triac or bypass circuit and MOSFET power steal combination |
US9806705B2 (en) | 2013-04-23 | 2017-10-31 | Honeywell International Inc. | Active triac triggering circuit |
US9983244B2 (en) | 2013-06-28 | 2018-05-29 | Honeywell International Inc. | Power transformation system with characterization |
US11054448B2 (en) | 2013-06-28 | 2021-07-06 | Ademco Inc. | Power transformation self characterization mode |
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 |
JP7322020B2 (ja) * | 2018-06-27 | 2023-08-07 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
KR20240050597A (ko) | 2022-10-12 | 2024-04-19 | 주식회사 케이티 | 공간 모델을 생성하는 장치, 방법 및 컴퓨터 프로그램 |
Family Cites Families (68)
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 |
AU700251B2 (en) * | 1995-06-06 | 1998-12-24 | Globalstar L.P. | Satellite repeater diversity resource management system |
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 | 三洋電機株式会社 | 電子透かし埋め込み方法およびその方法を利用可能な符号化装置と復号装置 |
US7386049B2 (en) * | 2002-05-29 | 2008-06-10 | Innovation Management Sciences, Llc | Predictive interpolation 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 |
CN100553339C (zh) * | 2002-07-15 | 2009-10-21 | 株式会社日立制作所 | 动态图像解码方法 |
WO2004043074A1 (en) * | 2002-11-04 | 2004-05-21 | 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 | 三洋電機株式会社 | 電子透かし埋め込み方法およびその方法を利用可能な符号化装置と復号装置 |
CN100354890C (zh) | 2003-01-23 | 2007-12-12 | 皇家飞利浦电子股份有限公司 | 嵌入多重水印 |
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 |
EP1636995B1 (en) | 2003-06-25 | 2010-06-02 | Thomson Licensing | Encoding method and apparatus for insertion of watermarks in a compressed video bitstream |
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 |
CN102176754B (zh) | 2005-07-22 | 2013-02-06 | 三菱电机株式会社 | 图像编码装置和方法、以及图像解码装置和方法 |
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 |
WO2007067168A1 (en) * | 2005-12-05 | 2007-06-14 | Thomson Licensing | Watermarking encoded content |
JP4580898B2 (ja) | 2006-06-05 | 2010-11-17 | 株式会社東芝 | 電子透かし埋め込み装置 |
WO2007143876A1 (en) * | 2006-06-09 | 2007-12-21 | Thomson Licensing | Method and apparatus for adaptively determining a bit budget for encoding video pictures |
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 |
WO2008118146A1 (en) | 2007-03-23 | 2008-10-02 | 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 |
CA2689634C (en) | 2007-06-14 | 2016-08-23 | Thomson Licensing | Modifying a coded bitstream |
US8229159B2 (en) | 2007-09-28 | 2012-07-24 | Dolby Laboratories Licensing Corporation | Multimedia coding and decoding with additional information capability |
KR100969412B1 (ko) * | 2008-03-18 | 2010-07-14 | 삼성전기주식회사 | 다층 인쇄회로기판 및 그 제조방법 |
WO2010003152A1 (en) * | 2008-07-03 | 2010-01-07 | Verimatrix, Inc. | Efficient watermarking approaches of compressed media |
WO2010021700A1 (en) | 2008-08-19 | 2010-02-25 | Thomson Licensing | A propagation map |
WO2010021691A1 (en) * | 2008-08-19 | 2010-02-25 | Thomson Licensing | Luminance evaluation |
US8824727B2 (en) | 2008-08-20 | 2014-09-02 | 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 |
-
2009
- 2009-08-19 WO PCT/US2009/004715 patent/WO2010021700A1/en active Application Filing
- 2009-08-19 BR BRPI0916944-0A patent/BRPI0916944B1/pt not_active IP Right Cessation
- 2009-08-19 CN CN200980132406.2A patent/CN102132247B/zh active Active
- 2009-08-19 KR KR1020117003513A patent/KR101612729B1/ko active IP Right Grant
- 2009-08-19 JP JP2011523809A patent/JP5536064B2/ja active Active
- 2009-08-19 US US12/737,564 patent/US9042455B2/en active Active
- 2009-08-19 EP EP09808502.0A patent/EP2318919B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP2318919A4 (en) | 2012-01-25 |
JP5536064B2 (ja) | 2014-07-02 |
EP2318919A1 (en) | 2011-05-11 |
EP2318919B1 (en) | 2018-10-24 |
BRPI0916944A2 (pt) | 2015-11-24 |
KR101612729B1 (ko) | 2016-04-15 |
US20110176610A1 (en) | 2011-07-21 |
CN102132247B (zh) | 2014-09-10 |
WO2010021700A1 (en) | 2010-02-25 |
US9042455B2 (en) | 2015-05-26 |
KR20110048044A (ko) | 2011-05-09 |
CN102132247A (zh) | 2011-07-20 |
JP2012500569A (ja) | 2012-01-05 |
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) | 信号処理方法及び装置 | |
BRPI0917202B1 (pt) | Blocagem e fidelidade em marca d'água | |
KR101633443B1 (ko) | 휘도 평가 | |
US10715811B2 (en) | Method and apparatus for determining merge mode | |
BR112013014367B1 (pt) | Método e aparelho para avaliar a qualidade de uma sequência de sinal de vídeo transmitida no lado de receptor | |
CN111083485B (zh) | 仿射模式的运动信息的利用 | |
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 | Patent application procedure suspended [chapter 6.1 patent gazette] | ||
B09A | Decision: intention to grant [chapter 9.1 patent gazette] | ||
B16A | Patent or certificate of addition of invention granted [chapter 16.1 patent gazette] |
Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 21/07/2020, OBSERVADAS AS CONDICOES LEGAIS. |
|
B21F | Lapse acc. art. 78, item iv - on non-payment of the annual fees in time |
Free format text: REFERENTE A 15A ANUIDADE. |
|
B24J | Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12) |
Free format text: EM VIRTUDE DA EXTINCAO PUBLICADA NA RPI 2788 DE 11-06-2024 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDA A EXTINCAO DA PATENTE E SEUS CERTIFICADOS, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013. |